一种基于对象机制的分布式系统进程间通讯方法与流程

文档序号:15346704发布日期:2018-09-04 22:50阅读:376来源:国知局

本发明涉及一种基于对象机制的分布式系统进程间通讯方法,属于面向对象和信号的通讯技术领域。



背景技术:

在分布式系统中,分布在不同机器节点上的进程需要进行相互协同完成特定的功能,这就需要机器节点之间相互通讯进行数据交互。传统方式是根据系统的功能定义数据传输协议,也就是规约。在每个机器节点上部署规约模块实现节点之间的数据传输。这种方式基本上可以解决分布式系统节点之间的数据交互,但也存在一定的局限性:当分布式系统需要增加功能或数据类型时,需要定义新的功能或数据的传输格式并进行编码;程序处理基本上智能采用异步方式处理,增加了程序实现的复杂程度;采用规约的方式进行数据传输,再出现问题的时候调试麻烦,特别是在大型的分布式系统应用中表现的尤为明显。



技术实现要素:

本发明的目的是针对上述存在的问题提供一种基于对象机制的分布式系统进程间通讯方法,使用该方式作为进程间通信方式具有以下优点:服务易于裁剪扩充;调用方式简单统一;不用像以前的c/s程序通过自定义格式报文进行数据交换;灵活、通用以及易于管理。

上述的目的通过以下的技术方案实现:

一种基于对象机制的分布式系统进程间通讯方法,该方法为:分布式系统中的机器节点间进程间通信基于qtd-bus对象的方式进行功能操作和数据访问,支持发送消息并等待回应,给其它子系统发送信号,数据传输采用二进制的传输协议。

所述的基于对象机制的分布式系统进程间通讯方法,所述分布式系统中的机器节点间进程间通信基于qtd-bus对象的方式进行功能操作和数据访问的具体使用方法是:将对应的qt对象注册到qtd-bus模块,操作基于qt的元对象系统进行,通过该方式进行对象属性的存取以及方法调用。

所述的基于对象机制的分布式系统进程间通讯方法,所述分布式系统中的机器节点间进程间通信基于qtd-bus对象的方式进行功能操作和数据访问对于同一个机器节点上的进程,在进行进程间通讯时,进程直接访问本机的qtd-bus模块,对其他进程注册到qtd-bus模块的对象进行操作。

所述的基于对象机制的分布式系统进程间通讯方法,所述分布式系统中的机器节点间进程间通信基于qtd-bus对象的方式进行功能操作和数据访问对于不同机器节点,进程通过代理服务程序将请求命令发送到另一台机器节点的服务代理程序,由该节点的服务代理程序完成调用并将结果返回给调用进程所在机器节点的服务代理程序,由调用进程所在节点的服务代理程序将操作结果返回给调用者。

所述的基于对象机制的分布式系统进程间通讯方法,所述分布式系统中的机器节点间进程间通信基于qtd-bus对象的方式进行功能操作和数据访问,分布式系统中的进程采用统一封装的接口进行操作,访问不同机器节点上的qtd-bus模块只要指定机器节点的ip地址即可,接口或根据填入的ip地址判断是访问本机还是其他机器节点的qtd-bus模块来完成进程间通讯。

有益效果:

提出一种基于qtd-bus的分布式系统进程间通讯方法,使用该方式作为进程间通信方式具有以下优点:服务易于裁剪扩充;调用方式简单统一;不用像以前的c/s程序通过自定义格式报文进行数据交换;灵活、通用以及易于管理。

附图说明:

图1是不同机器节点基于qtd-bus进程间通讯方式示意图。

图2是进程间通讯函数执行过程图。

具体实施方式:

本实施例的一种基于对象机制的分布式系统进程间通讯方法,其特征在于,分布式系统中的机器节点间进程间通信基于qtd-bus,基于对象的方式进行功能操作和数据访问,支持发送消息并等待回应,可以给其它子系统发送信号。数据传输采用二进制的传输协议,可以进行实施高效的控制操作和数据访问。本发明利用qtd-bus面向对象进行通讯的特点,其中:

在使用时,需要将对应的qt对象注册到qtd-bus模块,操作都是基于qt的元对象系统(qtmetaobjectsystem)进行的,可以通过该方式进行对象属性的存取以及方法调用。qtd-bus也支持信号发送方法,当某个程序发出信号时,任何注册监听该信号的模块都可以接收到此信号并执行各自的处理过程。

对于同一个机器节点上的进程,在进行进程间通讯时,进程直接访问本机的qtd-bus模块,对其他进程注册到qtd-bus模块的对象进行操作。

对于不同机器节点,进程通过代理服务程序将请求命令发送到另一台机器节点的服务代理程序,由该节点的服务代理程序完成调用并将结果返回给调用进程所在机器节点的服务代理程序,由调用进程所在节点的服务代理程序将操作结果返回给调用者,如附图1所示。

分布式系统中的进程采用统一封装的接口进行操作,访问不同机器节点上的qtd-bus模块只要指定机器节点的ip地址即可,接口或根据填入的ip地址判断是访问本机还是其他机器节点的qtd-bus模块来完成进程间通讯。

本发明方案所公开的技术手段不仅限于上述技术手段所公开的技术手段,还包括由以上技术特征等同替换所组成的技术方案。本发明的未尽事宜,属于本领域技术人员的公知常识。



技术特征:

技术总结
本发明提供一种基于对象机制的分布式系统进程间通讯方法。本发明的方法为:分布式系统中的机器节点间进程间通信基于Qt D‑Bus对象的方式进行功能操作和数据访问,支持发送消息并等待回应,给其它子系统发送信号,数据传输采用二进制的传输协议。使用该方式作为进程间通信方式具有以下优点:服务易于裁剪扩充;调用方式简单统一;不用像以前的C/S程序通过自定义格式报文进行数据交换;灵活、通用以及易于管理。

技术研发人员:朱伟
受保护的技术使用者:南京智格电力科技有限公司
技术研发日:2018.03.15
技术公布日:2018.09.04
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1