`

Hessian学习(一)——Hessian原理分析

 
阅读更多

一、远程通讯协议的基本原理:

        网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现。

        其中传输协议比较出名的有 http 、tcp 、udp 等等, http 、tcp 、udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协议。

        网络IO主要有 bio 、nio 、aio 三种方式,所有的分布式应用通讯都基于这个原理而实现,只是为了应用的易用,各种语言通常都会提供一些更为贴近应用易用的应用层协议。

 

二、应用级协议 Binary-RPC:

       Binary-RPC 是一种和 RMI 类似的远程调用的协议,它和 RMI 的不同之处在于它以标准的二进制格式来定义请求的信息 ( 请求的对象、方法、参数等 ) 。这样的好处是在跨语言通讯的时候也可以使用。

 Binary -RPC 协议的一次远程通信过程:

        1 、客户端发起请求,按照 Binary -RPC 协议将请求信息进行填充;

        2 、填充完毕后将二进制格式文件转化为流,通过传输协议进行传输;

        3 、接收到在接收到流后转换为二进制格式文件,按照 Binary -RPC 协议获取请求的信息并进行处理;

        4 、处理完毕后将结果按照 Binary -RPC 协议写入二进制格式文件中并返回。

 Binary-RPC相关问题总结:

        1 、传输的标准格式是?

           ——— 标准格式的二进制文件。

        2 、怎么样将请求转化为传输的流?

           ———    将二进制格式文件转化为流。

        3 、怎么接收和处理流?

           ———通过监听的端口获取到请求的流,转化为二进制文件,根据协议获取请求的信息,进行处理并将结果写入 XML 中返回。

        4 、传输协议是?

          ———Http 。

 

三、Hessian ——一种实现远程通讯的 library

Hessian 是由 caucho 提供的一个基于 binary-RPC 实现的远程通讯 library 。

1 、是基于什么协议实现的?

       ——基于 Binary-RPC 协议实现。

2 、怎么发起请求?

      ——需通过 Hessian 本身提供的 API 来发起请求。

3 、怎么将请求转化为符合协议的格式的?

      ——Hessian 通过其自定义的串行化机制将请求信息进行序列化,产生二进制流。

4 、使用什么传输协议传输?

      ——Hessian 基于 Http 协议进行传输。

5 、响应端基于什么机制来接收请求?

      ——响应端根据 Hessian 提供的 API 来接收请求。

6 、怎么将流还原为传输格式的?

      ——Hessian 根据其私有的串行化机制来将请求信息进行反序列化,传递给使用者时已是相应的请求信息对象了。

7 、处理完毕后怎么回应?

      —— 处理完毕后直接返回, hessian 将结果对象进行序列化,传输至调用端。

 

 

 

分享到:
评论

相关推荐

    hessian-4.0.7.jar + src

    一、Hessian 4.0.7.jar——核心库 `hessian-4.0.7.jar`是Hessian的核心库文件,它包含了Hessian协议的各种实现,包括序列化和反序列化的类和接口。开发者可以将这个jar包添加到项目类路径中,以便在Java应用程序中...

    Hessian矩阵与牛顿法.pdf

    本文将深入探讨Hessian矩阵的概念以及牛顿法的工作原理,并分析这两种方法之间的差异。 #### 二、Hessian矩阵简介 **定义**:Hessian矩阵是多元函数二次导数的矩阵表示形式。对于一个具有两个变量\( x_1 \)和\( x_...

    Hessian笔记

    【描述】:虽然描述部分为空,但根据提供的博文链接——,我们可以推测这篇笔记可能深入解析了Hessian的工作原理、优势、实现方式以及在实际项目中的应用案例。博客作者可能分享了如何集成Hessian到项目中,如何利用...

    opencv2.4.9源码分析——SURF

    在OpenCV 2.4.9版本中,对SURF算法的实现进行了源码级别的分析,这有助于开发者更好地理解算法的内部工作原理。OpenCV是开源的计算机视觉和机器学习软件库,提供众多视觉处理和图像处理的功能。在OpenCV中,使用SURF...

    BFGS+DFP+SUMT——matlab源程序一例

    MATLAB源程序“BFGS+DFP+SUMT——matlab源程序一例”很可能包含这些算法的实现,这为用户提供了学习和理解这些方法的实践机会。通常,这样的源代码会包括以下几个部分: 1. 初始化:设置初始点、优化参数和算法控制...

    泛锐化的空间Hessian特征指导变分模型

    本文提出了一种新的泛锐化方法——泛锐化的空间Hessian特征指导变分模型,通过综合考虑图像的光谱特性和结构信息,有效提高了泛锐化图像的质量。实验结果表明,该方法不仅在定量评价指标上表现出色,在视觉效果方面...

    provider——consumer 程序源码.zip

    【标题】"provider——consumer 程序源码"指的是一个使用Java开发的分布式服务框架Dubbo中的核心组件——提供者(Provider)和消费者(Consumer)的源代码。Dubbo是阿里巴巴开源的一个高性能、轻量级的服务治理框架...

    迭代算法_迭代法——Matlab中实现_

    迭代算法在计算机科学和数学中占据着核心地位,特别是在数值分析和优化问题中。迭代法是一种通过反复应用某个过程来逼近解的方法,通常用于解决非线性方程组或优化问题。在Matlab中,迭代算法可以方便地实现,因为其...

    优化方法——454102862@qq.com

    在IT领域,优化方法是解决复杂问题的关键技术之一,特别是在工程设计、数据分析和机器学习等应用中。"SQP"(Sequential Quadratic Programming)是一种有效的数值优化算法,它结合了二次规划的局部搜索特性与灵敏度...

    流形学习算法MATLAB代码

    MATLAB是一种广泛应用于科学计算、算法开发和数据分析的强大工具,特别适合处理数学和工程问题,因此是实现流形学习算法的理想平台。 #### 描述解析:“流形学习的MATLAB代码,初学者看看,有益无害” 描述简短...

    dubbo——rpc简介1

    RPC(Remote Procedure Call)是一种计算机通信技术,使得一个程序可以在其执行环境中调用另一个环境中的程序功能,而无需了解底层网络交互的复杂性。Dubbo作为一款著名的Java RPC框架,广泛应用在分布式系统中,...

    minFunc_2012_minFunc_minFunclbfgs_拟牛顿法_quasinewton_牛顿法_源码.zip

    本文将详细探讨minFunc中的minFunc、minFunclbfgs以及它们所基于的拟牛顿法和牛顿法,并结合源码分析其工作原理。 一、minFunc简介 minFunc是一个C++编写的开源优化库,主要为科学计算和工程应用提供高效、灵活的...

    机器学习中的矩阵和求导.zip_机器学习程序_矩阵求导_矩阵论

    掌握这些知识将有助于你更深入地理解机器学习模型的工作原理,并能有效地解决优化和泛化问题。在实际编程中,熟悉Numpy、Pandas等Python库的矩阵操作也会非常有用。通过阅读这份资料,你将能够提升自己的理论水平和...

    matlab-lbfgs-master_places4s_拟牛顿法_拟牛顿_lbfgs-_L-BFGSmatlab_源码.rar

    本篇将深入探讨L-BFGS算法的原理以及其在MATLAB环境中的实现,结合提供的"matlab-lbfgs-master_places4s_拟牛顿法_拟牛顿_lbfgs-_L-BFGSmatlab_源码",我们将全面理解这一优化工具。 拟牛顿法是一种迭代优化方法,...

    dfp变度量法优化程序

    通过对程序的分析,我们不仅了解了DFP方法的基本思想,还学习了如何在实际编程中应用这一方法。此外,该程序还展示了如何处理数值计算中的关键步骤,如搜索方向计算、Hessian矩阵更新等。对于想要深入了解无约束优化...

    java面试——Dubbo面试专题.zip

    Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,它提供了服务治理、负载均衡、容错处理等关键功能,是企业级开发中广泛采用的技术之一。以下是对Dubbo面试中可能会遇到的知识点的详细解析: 1. **Dubbo...

    题目与分析1

    在本题目中,我们主要探讨了两种数值优化方法——牛顿法和高斯-牛顿法,以及它们在解决最小二乘问题中的应用。最小二乘法是一种常用于拟合数据点的数学方法,旨在找到一组参数使得预测值与实际观测值之间的残差平方...

    Moravec算子和Forstner算子提取图像特征点

    在图像处理领域,特征点检测是一项关键任务,它有助于识别和匹配图像中的特定点,广泛应用于计算机视觉、图像分析和机器学习系统。本篇将详细探讨两种常用的特征点检测算子——Moravec算子和Forstner算子,并结合...

    Page1-75_机器视觉_图像处理_

    总结来说,《数字图像处理与机器视觉——Visual C++与Matlab实现》这份资料将带你深入理解图像处理的基本原理和实践方法,并通过两个流行的开发工具,让你具备开发机器视觉应用的能力。通过学习和掌握这些知识,你将...

    中科大图像处理文件包

    【标题】"中科大图像处理文件包"是一个专门针对图像处理技术的资源集合,由中国的知名高等学府——中国科学技术大学提供。这个文件包包含了丰富的代码示例和可能的项目素材,旨在帮助开发者和学生更好地理解和实践...

Global site tag (gtag.js) - Google Analytics