[发明专利]一种多节点数据交互的实现方法有效
申请号: | 201510034019.2 | 申请日: | 2015-01-22 |
公开(公告)号: | CN104615489B | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 朱伟;高明 | 申请(专利权)人: | 江苏大烨智能电气股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;H04L29/08 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙)32249 | 代理人: | 杨晓玲 |
地址: | 211102 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 节点 数据 交互 实现 方法 | ||
技术领域
本发明涉及多节点之间的业务处理,特别涉及一种节点数据交互的实现方法。
背景技术
随着计算机以及网络的高速发展,分布式处理系统被大规模应用。分布式系统中某个节点为了访问其他机器节点的数据与资源,一般会通过自定义报文格式的方式进行数据交互或业务处理。这种方式的通信效率非常低而且维护开发工作量较大。当增加或修改某个功能时有可能需要增加新的报文格式或对已有的报文格式进行修改,因此系统中模块之间的耦合程度较高,独立性比较差。如果机器节点之间通过过程调用的方式来访问其他机器节点的数据与资源,就可以大大降低进程实现的复杂度,从而降低进程之间的耦合性,让系统设计变得更加简单。从某种意义上来讲,远程过程调用可看作是把分割的程序通过网络进行重组的过程。通过远程过程调用,当要访问其他机器系统上数据的时候就不需每次拷贝整个数据库或它的大部分程序到用户系统,远程机器节点只需要处理来自客户端的处理请求,甚至只执行一些数据计算,把执行的结果再发送给调用者。当数据存放在某个机器节点时,其他机器节点可以很方便的通过远程过程访问其数据,因此极大提高了分布式系统中计算机资源的利用率。
过程调用一般是指将控制从调用者传递到被调用者,被调用者在执行结束后将控制交还给调用者。目前大多数调用者和被调用者是在同一台机器上,它们是在生成可执行程序时由编译器链接起来的,这种过程调用一般称为本地过程调用。远程过程调用指的是由本地机器系统上的某个进程激活远程机器系统上的另外一个进程,远程系统调用对调用者表现为本地过程调用,但实际上是调用了远程系统上的过程。
处理远程过程调用的进程由本地客户端进程和其他机器节点进程共同作用。远程过程调用对于本地客户端表现为由调用进程在执行某个控制时首先将过程调用需要的参数以及需要调用的过程生成对应的消息,并通过网络发往其他机器节点其他机器节点接到消息后调用相应过程,调用结束后将执行结果通过网络发送至调用者。
传统的过程调用是由开发人员在本地编译完成,并只能运行在本地机器上,这种结构已经无法适应分布式系统应用的实际需求。传统过程调用没有办法充分利用网络上其他机器节点的系统资源,也没有办法提高代码在实体间的共享程度,使得分布式系统机器资源没有得到充分的利用。而远程过程调用很好地解决了传统过程调用,通过远程调用可以充分利用非共享内存的多处理器环境并应用分布在多台机器节点上,应用程序就像在一个多处理器的计算机上运行一样,可以方便的实现过程代码共享,提高系统资源的利用率。远程过程调用和通过定义报文传递处理消息相比,前者语义更加清楚、使用更加简单、通用性以及可扩展性更强,而且有着更高的通信效率。
当在系统或节点之间采用远程过程调用(Remote Procedure Call,RPC)之后,原先节点之间的数据及操作处理由图1变成图2的模式,进程在处理其他节点或进程的数据就变得和在自己本进程内处理一样简单,程序代码更加简单,减小了系统设计的复杂性。
发明内容
发明目的:针对上述现有技术,提出一种多节点数据交互的实现方法,通过远程过程调用实现数据交互,简化业务数据处理流程。
技术方案:一种多节点数据交互的实现方法,在每个节点上设置数据服务模块,任一节点上的数据服务模块用于实现该节点自身进程之间的数据交互,同时不同节点上的数据服务模块实现不同节点进程之间的数据交互;所述数据服务模块通过远程过程调用协议实现进程间的数据交互,所述远程过程调用协议的底层通过Qt元对象系统实现。
进一步的,所述远程过程调用协议的底层通过Qt元对象系统实现时,Qt元对象系统中QObject子类的Slot函数所对应的输入参数作为过程调用的输入,Slot函数的返回值作为过程调用的输出结果。
进一步的,所述远程过程调用中,当客户端任一进程需要获得其他机器节点的变化数据的时候,不同节点之间变化数据的通知包括如下步骤:首先在客户端的数据服务模块上对所述数据或该数据对象类型进行注册;当其它机器节点的数据变化后,将变化数据发送给客户端的数据服务模块;然后由客户端的服务模块通过进程间过程调用通知所述注册数据或数据对象类型所对应的进程,在所述对应进程的进程空间内执行相应的回调函数。
进一步的,所述远程过程调用包括如下具体步骤:
e.机器节点按照功能分类,从QObject子类继承得到若干个对象,节点之间的远程过程调用通过所述若干个对象所对应的Slot函数实现,并将所述QObject子类实例化为实例对象后加入到服务对象列表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏大烨智能电气股份有限公司,未经江苏大烨智能电气股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510034019.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多核并行离散事件仿真的内存管理方法
- 下一篇:并行任务优化系统和方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置