[发明专利]基于消息队列和共享内存方式实现进程间数据交互的方法在审
申请号: | 202011458085.X | 申请日: | 2020-12-10 |
公开(公告)号: | CN112559207A | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 刘刚 | 申请(专利权)人: | 南京丹迪克科技开发有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 张励 |
地址: | 210049 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 队列 共享 内存 方式 实现 进程 数据 交互 方法 | ||
本发明公开了基于消息队列和共享内存方式实现进程间数据交互的方法,包括以下步骤:(一)主进程启动并创建消息队列;(二)主进程发送初始化指令;(三)服务进程接收到消息,依次与终端建立连接,创建一块共享内存块;(四)主进程发送启动消息,主进程从共享内存中读取终端数据;(五)主进程通过发送轮询数据类型消息;主进程从共享内存指定区域中读取终端数据;(六)主进程发送非轮询数据消息至消息队列;(七)主进程发送停止消息,恢复初始设置。本发明涉及数据交互技术领域。该实现进程间数据交互的方法,解决了传统的单体应用程序将所有的业务功能集成在一起,对新的业务需求很难满足,对原有的应用程序进行更改,会增加大量的工作,并且通用性不高的问题。
技术领域
本发明涉及数据交互技术领域,具体为基于消息队列和共享内存方式实现进程间数据交互的方法。
背景技术
随着业务的快速增长,应用程序定制化越来越多,但这种定制的程序通用性不高,一旦业务需求有所变更,在现有的程序架构下,修改的工作量非常之大。此时,传统的单体应用程序架构很难满足新的需求。为了改变这一现状,需要对现有的应用程序框架进行改造。改造的原则是按照业务或功能等因素将原来单体应用程序拆分成不同的服务进程。
传统的单体应用程序将所有的业务功能集成在一起,对一些新的业务需求很难满足。对原有的应用程序进行更改,会增加大量的工作,并且通用性不高,而且一次修改只能满足当前需求;若需求再增加或变更,势必造成一些没必要的重复性工作,耗费大量的人力、物力和财力。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了基于消息队列和共享内存方式实现进程间数据交互的方法,解决了传统的单体应用程序将所有的业务功能集成在一起,对一些新的业务需求很难满足,对原有的应用程序进行更改,会增加大量的工作,并且通用性不高的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:基于消息队列和共享内存方式实现进程间数据交互的方法,基于消息队列和共享内存的方式实现进程间的数据交互。
包括以下步骤:
(一)主进程启动并创建消息队列,服务进程启动,通过消息队列与主进程建立连接;
(二)主进程发送初始化指令,获取终端列表和共享内存的名称,组装消息格式,发送消息;
(三)服务进程接收到消息,根据消息中功能码的定义,解析消息中的终端列表和共享内存名称,根据终端列表,依次与终端建立连接,并根据共享内存的名称,创建一块共享内存块;
(四)主进程发送启动消息,服务进程接收到消息后,与终端进行通讯,与终端进行通讯,并将终端采集的数据写入共享内存;主进程从共享内存中读取终端数据;
(五)主进程通过发送轮询数据类型消息,服务进程接收到消息后,根据消息中需要轮询的数据类型是否使能,有选择的将终端数据写入到共享内存中指定的区域中;主进程从共享内存指定区域中读取终端数据;
(六)主进程发送非轮询数据消息至消息队列,服务进程接收到消息后,对消息进行处理,将处理的结果返回至主进程;
(七)主进程发送停止消息,服务进程接收到消息后,断开所有终端的连接,并销毁共享内存,恢复初始设置。
有益效果
本发明提供了基于消息队列和共享内存方式实现进程间数据交互的方法。具备以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京丹迪克科技开发有限公司,未经南京丹迪克科技开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011458085.X/2.html,转载请声明来源钻瓜专利网。