基于事件分发的通信系统的制作方法

文档序号:7967643阅读:145来源:国知局
专利名称:基于事件分发的通信系统的制作方法
技术领域
本发明涉及通信领域,特别是涉及基于事件分发的通信系统。
背景技术
目前电信设备产品中的进程间通讯存在的技术包括分布式的进程间通信 方式、总线式的进程间通信方式。
分布式的进程间通信方式,其基本原理是把通信实体当作有限状态机,有 限状态机之间的通信采用了邮政系统的通信路由方式。有限状态机的位置识别 釆用物理地址和名字地址的编址方式。
总线式的进程间通信方式,其基本原理是结合共享内存技术和信号灯集合 技术,在内存中开辟一共享内存区域,该区域划分为若干内存槽, 一内存槽作 为状态标志字组存放区,其余作为进程通信的数据存放区;通过内存槽来完成 进程间的通信用。
上述的进程间通信技术都存在着如下缺陷无法完成对通信消息的广播, 同时也没有实现基于事件号的通信机制,进程间通信的信息大小是有限制。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供基于事件分发 的通信系统。
本发明的目的可以通过以下技术方案来实现基于事件分发的通信系统,其 特征在于,包括业务应用层、作为分发事件中心的事件分发层、操作系统跨平 台封装层、商用或开源操作系统层,所述的业务应用层通过事件分发层完成消 息通信,所述的事件分发层采用操作系统跨平台封装层提供的用于进程间通信 的socket机制,所述的通信系统在内存中开辟一共享内存区域。
所述的系统使通信目标以五元组信息的形式来传递通信。
所述的五元组信息包括应用业务模块号、事件号、通信类型、通信缓冲、 通信长度。
所述的事件分发层包括通信接口、通信中枢中心、通信表,所述的通信中 枢中心包括应用业务模块的注册、应用业务模块的单播消息发布、应用业务模 块的广播消息发布、应用业务模块的消息定购、应用业务模块的消息取消订购, 所述的通信表设于共享内存区域,该通信表包括五元组信息,即包括应用业务 模块号、事件号、通信类型、通信缓冲、通信长度,在进行通信时,通信系统 通过事件号来获取通信的对端,并通过事件号、通信类型、通信缓冲、通信长 度来完成通信内容的传递。
所述的应用业务模块的注册为,在应用业务模块通用接口函数调用注册 时,把应用业务模块的模块号、通信描述符记入到通信表中。
所述的应用业务模块的单播消息发布为,在应用业务模块通用接口函数调 用发布单播消息时,应用业务模块把通信目的地传给通信中枢中心,通信中枢中心以该通信目的地为索引査找通信表,获取通信目的地的通信描述符,并发起socket的连接,发送消息。
所述的应用业务模块的广播消息发布为,在应用业务模块通用接口函数调 用发布广播消息时,应用业务模块把事件号传给通信中枢中心,同时把通信目 的地设为通信中枢中心,通信中枢中心在收到广播消息后,将收到的广播消息 中转到已定购事件号的业务模块,通信中枢中心通过事件号为索引查找通信 表,来获取已经定购该事件号的应用业务模块的通信描述符,并发起socket的 连接,发送消息。
所述的应用业务模块的消息定购为,在应用业务模块通用接口函数调用定 购消息时,应用业务模块将定购的事件号传给通信中枢中心,通信中枢中心给 通信表中的相应事件号置定购标志,更新通信表。
所述的应用业务模块的消息取消订购为,在应用业务模块通用接口函数调 用取消定购消息时,应用业务模块将定购的事件号传给通信中枢中心,通信中 枢中心将在通信表中的相应事件号置空,更新通信表。
与现有技术相比,本发明具有以下优点
1.支持点对点的通信模型
2. 支持一对多的通信模型
3. 支持多对一的通信模型
4. 支持同步的通信方式
5. 支持异步的通信方式
6. 支持各种软硬平台的底层环境
7. 支持无限量大小的消息传送
8. 支持定购/取消定购的消息通信


图l为本发明的结构示意图2为本发明的事件分发层的原理图。
具体实埯方式
下面结合附图对本发明作进一步说明。
如图1 图2所示,基于事件分发的通信系统,包括业务应用层、作为分发 事件中心的事件分发层、操作系统跨平台封装层、商用或开源操作系统层,所 述的业务应用层通过事件分发层完成消息通信,所述的事件分发层采用操作系 统跨平台封装层提供的用于进程间通信的socket机制,所述的通信系统在内存 中开辟一共享内存区域。
本实施例设计出一种基于事件分发的进程间通信的实现技术,即完成进程 间通信的基础是基于事件号,通过把通信目标采用五元组的形式来传递通信, 五元组是由模块号、事件号、通信类型、通信缓冲、通信长度来完成,并由于 多个进程同时可定购同一个事件,这样完成广播通信。
本实施例采用了结构化分层的设计思想,将整个通信系统划分为如图1的
结构,具体组成商用或开源操作系统层、操作系统跨平台封装层、事件分发
层、业务应用层。
业务应用层应用程序,完成相应的业务。
事件分发层完成基于事件分发的进程间通信。
操作系统跨平台封装层对操作系统提供的操作服务接口进行跨平台的封装。
商用或开源操作系统层操作系统。
本实施例中,事件分发层完成业务应用层中的消息通信,支持同步及异步 的通信机制,支持点对点、 一对多、多对一的通信模型,支持定购/取消定购的 消息通信,支持无限量大小的消息传输,同时由于存在着操作系统跨平台封装 层,不受底下软件硬件的平台限制,本通信系统完全可以工作在各种平台的环 境中。事件分发层作为分发事件的中心,内部实现机理采用了操作系统跨平台封装层提供了用于进程间通信的socket机制,这样就提高了事件通信中心的稳性性、可靠性、可扩展性,简化了业务应用层的消息通信。
本实施例中的事件分发层的技术方案如图2所示
通信表位于共享内存中的通信描述表,包含的信息有
应用业务模块号、事件号、事件类型、通信缓冲、通信长度。在进行通信 时通过模块号来获取通信的对端,并通过事件号、通信类型、通信缓冲、通信 长度来完成通信的具体内容的传递。
通信中枢中心事件分发层的核心。主要功能
完成应用业务模块的注册、发布单播消息、发布广播、消息定购消息、取 消定购消息。
通信中枢中心的实现原理
1. 完成应用业务模块的注册
在应用业务模块通用接口函数调用注册时,把应用业务模块的模块号、通 信描述符记入到位于共享内存中的通信描述表中。
2. 完成应用业务模块的发布单播消息-
在应用业务模块通用接口函数调用发布单播消息时,应用业务模块传给通 信中枢中心的通信目的地。通信中枢中心通过该通信目的地为索引查找通信 表,来获取通信目的地的通信描述符,并发起socket的连接,发送消息。
3. 完成应用业务模块的发布广播消息
在应用业务模块通用接口函数调用发布广播消息时,应用业务模块传给通 信中枢中心的通信事件号,并同时把通信目的地置为通信中枢中心。通信中枢 中心在收到广播消息后完成中转收到的广播消息到已定购事件号的业务模块。 通信中枢中心通过通信事件号为索引査找通信表,来获取已经定购该事件号的应用业务模块的通信描述符,并发起socket的连接,发送消息。
4. 完成应用业务模块的消息定购
在应用业务模块通用接口函数调用定购消息时,应用业务模块传给通信中 枢中心的定购的事件号。通信中枢中心通过该在通信表中的事件定购号置定购标志,更新通信表。
5. 完成应用业务模块的消息取消定购
在应用业务模块通用接口函数调用取消定购消息时,应用业务模块传给通 信中枢中心的定购的事件号。通信中枢中心通过该在通信表中的事件定购号置 空,更新通信表。
权利要求
1.基于事件分发的通信系统,其特征在于,包括业务应用层、作为分发事件中心的事件分发层、操作系统跨平台封装层、商用或开源操作系统层,所述的业务应用层通过事件分发层完成消息通信,所述的事件分发层采用操作系统跨平台封装层提供的用于进程间通信的socket机制,所述的通信系统在内存中开辟一共享内存区域。
2. 根据权利要求1所述的基于事件分发的通信系统,其特征在于,所述 的系统使通信目标以五元组信息的形式来传递通信。
3. 根据权利要求2所述的基于事件分发的通信系统,其特征在于,所述 的五元组信息包括应用业务模块号、事件号、通信类型、通信缓冲、通信长度。
4. 根据权利要求1所述的基于事件分发的通信系统,其特征在于,所述 的事件分发层包括通信接口、通信中枢中心、通信表,所述的通信中枢中心包 括应用业务模块的注册、应用业务模块的单播消息发布、应用业务模块的广播 消息发布、应用业务模块的消息定购、应用业务模块的消息取消订购,所述的 通信表设于共享内存区域,该通信表包括五元组信息,即包括应用业务模块号、 事件号、通信类型、通信缓冲、通信长度,在进行通信时,通信系统通过事件 号来获取通信的对端,并通过事件号、通信类型、通信缓冲、通信长度来完成 通信内容的传递。
5. 根据权利要求4所述的基于事件分发的通信系统,其特征在于,所述 的应用业务模块的注册为,在应用业务模块通用接口函数调用注册时,把应用 业务模块的模块号、通信描述符记入到通信表中。
6. 根据权利要求4所述的基于事件分发的通信系统,其特征在于,所述 的应用业务模块的单播消息发布为,在应用业务模块通用接口函数调用发布单 播消息时,应用业务模块把通信目的地传给通信中枢中心,通信中枢中心以该 通信目的地为索引査找通信表,获取通信目的地的通信描述符,并发起socket 的连接,发送消息。
7. 根据权利要求4所述的基于事件分发的通信系统,其特征在于,所述 的应用业务模块的广播消息发布为,在应用业务模块通用接口函数调用发布广播消息时,应用业务模块把事件号传给通信中枢中心,同时把通信目的地设为 通信中枢中心,通信中枢中心在收到广播消息后,将收到的广播消息中转到已 定购事件号的业务模块,通信中枢中心通过事件号为索引査找通信表,来获取已经定购该事件号的应用业务模块的通信描述符,并发起socket的连接,发送 消息。
8. 根据权利要求4所述的基于事件分发的通信系统,其特征在于,所述 的应用业务模块的消息定购为,在应用业务模块通用接口函数调用定购消息 时,应用业务模块将定购的事件号传给通信中枢中心,通信中枢中心给通信表 中的相应事件号置定购标志,更新通信表。
9. 根据权利要求4所述的基于事件分发的通信系统,其特征在于,所述 的应用业务模块的消息取消订购为,在应用业务模块通用接口函数调用取消定 购消息时,应用业务模块将定购的事件号传给通信中枢中心,通信中枢中心将 在通信表中的相应事件号置空,更新通信表。
全文摘要
本发明涉及基于事件分发的通信系统,包括业务应用层、作为分发事件中心的事件分发层、操作系统跨平台封装层、商用或开源操作系统层,所述的业务应用层通过事件分发层完成消息通信,所述的事件分发层采用操作系统跨平台封装层提供的用于进程间通信的socket机制,所述的通信系统在内存中开辟一共享内存区域。与现有技术相比,本发明可为电信设备产品提供可靠高效的进程间通信,完成电信设备产品的通讯传输平台,并且接口易用,缩短了电信设备上的应用业务的开发时间。
文档编号H04L29/02GK101202733SQ200610119508
公开日2008年6月18日 申请日期2006年12月12日 优先权日2006年12月12日
发明者梁玉林, 高义河 申请人:上海未来宽带技术及应用工程研究中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1