本发明专利技术实施例公开了一种基于ACE的进程间通信系统,包括:自适配通信环境ACE客户端模块和ACE服务线程模块;ACE服务线程模块包括接收器单元、事件处理器单元和反应器单元,事件处理器单元由ACE服务线程模块接收到ACE客户端发送的业务请求消息后创建;接收器单元用于接收ACE客户端发送的业务请求消息;反应器单元用于对接收器单元接收的业务请求消息进行处理确定来源于不同事件源的事件,并将事件分配给事件处理器单元;在反应器单元中注册的事件处理器单元用于对分配的事件进行处理,并将根据处理结果生成的业务响应消息发送至ACE客户端。本发明专利技术实施例还提供了一种基于ACE的进程间通信方法,能够实现进程间通信,结构简单且传输高效,跨平台应用广泛。
【技术实现步骤摘要】
本专利技术涉及网络通信领域,尤其涉及一种基于ACE的进程间通信系统和方法。
技术介绍
随着网络技术的快速发展,应用程序的设计越来越复杂。在应用程序中,不同功能模块之间相互配合,也愈益需要进行大量的、频繁的、长期的数据交互。然而,在实际的业务应用中,若同一应用程序间进行进程间通信(IPC:InterProcessCommunication),在功能模块较多的情况下,由于技术人员编写程序的风格迥异,易造成程序崩溃无法执行其功能,而当需要进行数据交互的功能模块位于不同的应用程序中时,诸如语音对讲项目,由于各种客观环境的制约,导致应用程序之间无法快速有效地进行数据交互,达到进程间通信的目的,具体表现在:1、编程环境的不同造成的不兼容,如在C/S架构中,如果底层语音对讲SDK采用C++编程语言,上层网页插件采用JAVA编程语言,那么在C++模块之间常用的回调函数传递数据的方式,在JAVA环境下基本上无法再进行使用;2、操作系统造成的不兼容,如在Windows操作系统和UNIX/Linux操作系统之间进行语音数据传递,由于上述两个操作系统的网络SocketAPI和调用系统函数的不同,也将会导致数据无法进行交互。因此,如何通过应用一种跨平台的、具有自适应网络环境的网络基础中间件,并能够在此基础上实现简单高效的进程间通信,是本专业技术人员需要不断创新改进的难题。
技术实现思路
本专利技术实施例提供了一种基于ACE的进程间通信系统和方法,能够实现进程间通信,结构简单且传输高效,跨平台应用广泛。有鉴于此,本专利技术第一方面提供一种基于ACE的进程间通信系统,可包括:自适配通信环境ACE客户端模块和ACE服务线程模块;ACE服务线程模块包括接收器单元、事件处理器单元和反应器单元,事件处理器单元由ACE服务线程模块接收到ACE客户端发送的业务请求消息后创建,事件处理器单元被创建之后在反应器单元进行注册;接收器单元用于接收ACE客户端发送的业务请求消息;反应器单元用于对接收器单元接收的业务请求消息进行处理得到来源于不同事件源的事件,并将事件分配给事件处理器单元;事件处理器单元用于对反应器单元分配的事件进行处理,并根据处理结果生成业务响应消息,将业务响应消息发送至ACE客户端。本专利技术第二方面提供一种基于ACE的进程间通信方法,可包括:ACE服务线程模块的接收器单元接收ACE客户端模块发送的业务请求消息;ACE服务线程模块根据业务请求消息创建事件处理器单元;事件处理器单元在反应器单元中进行注册;在反应器单元对业务请求消息进行处理确定来源于不同事件源的事件后,事件处理器单元对反应器单元分配的事件进行处理;事件处理器单元根据处理结果生成业务响应消息,并将业务响应消息发送至ACE客户端模块。结合本专利技术实施例的第二方面,在本专利技术实施例的第二方面的第一种实施方式中,业务响应消息包括身份标识ID和/或网络之间互连的协议IP地址和/或端口。结合本专利技术实施例的第二方面或本专利技术实施例的第二方面的第一种实施方式,在本专利技术实施例的第二方面的第二种实施方式中,ACE服务线程模块根据业务请求信息创建事件处理器单元包括:ACE服务线程模块根据业务请求信息获取目标区域的目标内存空间;ACE服务线程模块将目标内存空间创建为事件处理器单元。结合本专利技术实施例的第二方面,本专利技术实施例的第二方面的第一种实施方式或第二种实施方式,在本专利技术实施例的第二方面的第三种实施方式中,事件处理器单元在反应器单元中进行注册包括:事件处理器单元对反应器单元中事件处理器的指针进行赋值。结合本专利技术实施例的第二方面,本专利技术实施例的第二方面的第一种实施方式至第三种实施方式中的任意一种,在本专利技术实施例的第二方面的第四种实施方式中,在事件处理器单元对反应器单元分配的事件进行处理之前,该方法还包括:反应器单元调用反应器框架类对业务请求消息进行解析;反应器单眼根据解析结果确定业务请求消息中来源于不同事件源的事件。结合本专利技术实施例的第二方面,本专利技术实施例的第二方面的第一种实施方式至第四种实施方式中的任意一种,在本专利技术实施例的第二方面的第五种实施方式中,事件处理器单元对反应器单元分配的事件进行处理包括:事件处理器单元通过调用目标函数对反应器单元分配的事件进行解析得到目标配置文件;事件处理器单元调用事件处理器框架类对目标配置文件进行处理。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例中,ACE服务线程模块的接收器单元接收ACE客户端模块发送的业务请求消息后,可以根据该业务请求消息创建事件处理器单元,该事件处理器单元可以在反应器单元中进行注册,当ACE服务线程模块的反应器单元根据业务请求消息进行处理得到来源于不同事件源的事件后,事件处理器单元可以对反应器单元分配的事件进行处理,并能够根据处理结果生成业务响应消息,将业务响应消息发送至ACE客户端。由于本专利技术实施例仅采取ACE客户端模块和ACE服务线程模块两个模块进行进程间通信,从而该进程间通信系统结构简单的同时避免了多个功能模块之间的数据交互,使得传输更为高效。此外,该进程间通信方法基于跨平台的、具有自适应网络环境的ACE网络技术,解决了进程间通信的跨平台应用难题,从而使该进程间通信应用更为广泛。附图说明图1为本专利技术实施例中基于ACE的进程间通信系统一个实施例示意图;图2为本专利技术实施例中基于ACE的进程间通信方法一个实施例示意图。具体实施方式本专利技术实施例提供了一种基于ACE的进程间通信系统和方法,能够实现进程间通信,结构简单且传输高效,跨平台应用广泛。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于本文档来自技高网...
【技术保护点】
一种基于ACE的进程间通信系统,其特征在于,包括:自适配通信环境ACE客户端模块和ACE服务线程模块;所述ACE服务线程模块包括接收器单元、事件处理器单元和反应器单元,所述事件处理器单元由所述ACE服务线程模块接收到所述ACE客户端发送的业务请求消息后创建,所述事件处理器单元被创建之后在所述反应器单元进行注册;所述接收器单元用于接收所述ACE客户端发送的业务请求消息;所述反应器单元用于对所述接收器单元接收的所述业务请求消息进行处理得到来源于不同事件源的事件,并将所述事件分配给所述事件处理器单元;所述事件处理器单元用于对所述反应器单元分配的所述事件进行处理,并根据处理结果生成业务响应消息,将所述业务响应消息发送至所述ACE客户端。
【技术特征摘要】
1.一种基于ACE的进程间通信系统,其特征在于,包括:
自适配通信环境ACE客户端模块和ACE服务线程模块;
所述ACE服务线程模块包括接收器单元、事件处理器单元和反应器单元,
所述事件处理器单元由所述ACE服务线程模块接收到所述ACE客户端发送
的业务请求消息后创建,所述事件处理器单元被创建之后在所述反应器单元
进行注册;
所述接收器单元用于接收所述ACE客户端发送的业务请求消息;
所述反应器单元用于对所述接收器单元接收的所述业务请求消息进行处
理得到来源于不同事件源的事件,并将所述事件分配给所述事件处理器单元;
所述事件处理器单元用于对所述反应器单元分配的所述事件进行处理,
并根据处理结果生成业务响应消息,将所述业务响应消息发送至所述ACE客
户端。
2.一种基于ACE的进程间通信方法,其特征在于,包括:
ACE服务线程模块的接收器单元接收ACE客户端模块发送的业务请求消
息;
所述ACE服务线程模块根据所述业务请求消息创建事件处理器单元;
所述事件处理器单元在反应器单元中进行注册;
在所述反应器单元对所述业务请求消息进行处理确定来源于不同事件源
的事件后,所述事件处理器单元对所述反应器单元分配的所述事件进行处理;
所述事件处理器单元根据处理结果生成业务响应消息,并将所述业务响
应消息发送至所述ACE客户端模块。
3.根据权利要求2所述的基于ACE的进程间通信方法,其特征在于,...
【专利技术属性】
技术研发人员:唐健,陈毅林,周坤承,
申请(专利权)人:深圳市科漫达智能管理科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。