多进程间结构化文档通信系统技术方案

技术编号:7758948 阅读:162 留言:0更新日期:2012-09-14 00:40
本发明专利技术涉及多进程间结构化文档通信的系统,包括:结构化文档处理设备用于生成结构化文档,并对文档进行动态操作,生成通信信息的映射关系,更新结构化文档,这些功能实现的前提条件是内存及权限管理设备创建共享内存成功并且通信进程授权成功;内存及权限管理设备用于开辟并管理共享内存,管理进程的操作申请权限;通信终端用于发送本节点的通信信息并接受来自其它节点的通信信息,其实现的前提条件为结构化文档处理设备创建文档成功并且操作该文档结束后,而该通信终端的部分功能也是由结构化文档处理设备产生的事件激活的。本发明专利技术具有通用性,能保证多个进程在通信过程中能实现最重要的数据优先通信、大量数据快速通信,以及数据结构化特性。

【技术实现步骤摘要】

本专利技术涉及计算机技术及网络通信领域,特别涉及ー种多进程间通信系统。
技术介绍
在Windows应用程序开发过程中,不同系统间的多个进程或者同一个系统内部不同的多个进程间都会存在信息交換。而这些进程可能分布在网络的同一个节点上,也可能分布在多个不同的节点上。面对少量的,无特殊结构的数据,现有技术已经可以很好的解决,一旦数据量繁杂并且要求有特殊的组织结构,往往需要结束本地数据文件或者数据之类的庞大并且昂贵的资源,这无疑提高了开发成本;而当某个程序内部数据结构变化时,与可能导致其关联的其他进程的通信接ロ发生改变,使开发过程变得繁杂,可扩展性能差。目前,对于处于同一节点的多进程间通信,常见的通信方法有共享内存方式、匿名管道方式、命名管道方式、WM_C0PYDATA(Windows程序间传送的一种消息格式)、Sockets (网络上的一种节点通信方式)方式等。在上述方法中,共享内存的方法对于多个进程间大量数据的通信支持最好,且具有比较好的安全性,但现有的传统的共享内存方法访问方式都按实际的物理地址加字节访问的,不能按照数据的原有结构进行通信。对于在通信网络中不同节点间多进程的通信,常采用的是Sockets方法,但进行通信的数据格式比较单一,不能支持结构化的多格式的信息,且通信接ロ也会随其他进程数据结构的变化而变化,可扩展性能差。
技术实现思路
本专利技术所要解决的技术问题是提供一种多进程间结构化文档通信系统,以方便地在单节点以及多节点的多进程间灵活的交換大量的各种数据,在保证数据在交换过程中的完整性、正确性以及对应的逻辑关系的同时,还能保证很好的扩展性能。本专利技术解决其技术问题采用的技术方案是包括结构化文档处理设备、内存设备、权限管理设备和通信終端,其中结构化文档处理设备用于生成预定义结构的文档,并对文档进行包括检索、修改、増加、删除动态操作,根据规则或配置文件生成通信信息的映射关系,适时根据映射关系更新当前结构化文档,这些所有功能实现的前提条件是内存及权限管理设备创建共享内存成功并且通信进程授权成功;内存及权限管理设备用于获取共享内存并将共享内存分配成不同的功能区,对进程的操作申请权限进行管理;通信終端用于发送本节点的通信信息并接受来自其它节点的通信信息,其实现的前提条件为结构化文档处理设备创建文档成功并且操作该文档结束后,而该通信终端的部分功能也是由结构化文档处理设备产生的事件激活的。所述结构化文档处理设备包括生成模块、检索模块、操作模块、映射关系配置模块和映射内容更新模块,其中生成模块为其它四个功能模块提供操作的对象,检索模块为操作模块、映射关系配置模块和映射内容更新模块提供必要的操作手段。所述生成模块用于生成预定义结构的文档,当收到注册请求时,检测当前共享内、存的数据区是否存在结构化文档,如果不存在,则创建新的结构化文档;检测当前结构化文档内容信息,将其属性特征与注册进程提供的信息进行特称匹配,如果匹配成功,则以当前注册信息替换原有信息,否则添加新的信息。所述检索模块用于根据信息的特征属性快速检索出其在当前结构化文档中的位置,并返回该信息以及其所包含的所有的子信息。所述操作模块用于对结构化文档进行操作,包括响应进程的注册申请,动态的添加新的通信信息;响应进程的注销申请,动态的删除结构化文档中多余的通信信息;响应结构化文档生成模块的优化申请,动态的优化当前结构化文档中各个信息的存储路径,カロ快信息的交換速度。所述映射关系配置模块用于不同进程间通信信息的映射关系的配置;该模块可读取进程注册的所有信息,并通过配置文件、预定义的映射规则、用户自定义的映射规则等方法自动的生成映射关系,满足了任何进程间通信任何信息的要求。所述映射内容更新模块用于响应更新请求,井根据已有映射关系更新结构化文档中相关信息的具体内容。所述内存设备为权限管理模块提供存储空间,用于响应进程的共享内存申请;当收到新启动进程的共享内存申请吋,该模块检测当前节点是否存在共享内存,如果不存在,则生成开辟内存的申请,并提交给操作系统,等待直至系统将内存空间分配好;共享内存分配好后,则根据预定义的区间大小将共享内存划分为动态共享数据块、映射关系数据块、静态数据块、权限状态数据块;其中动态共享数据块存储通信信息;映射关系数据块存储该节点已有的映射关系;静态数据块存储每个数据块的标识信息以及其对应的数据块的大小;权限状态数据区存储申请权限的进程队列以及当前权限的所有权信息。所述权限管理设备用于权限的授予和收回;当该模块收到权限申请时,根据申请进程的优先级别将该权限申请插入权限等待队列,如果权限等待队列存在该申请进程,则删除已有的申请以保证信息最新;检测该存储结构化文档的共享内存的操作权限是否已分配,如未分配,则将权限分配给队列中处于队首的进程并更改权限的状态;当进程释放权限吋,修改权限状态为未分配,重新分配操作权限。所述通信系统的终端包括事件激活模块、事件匹配模块、发送模块、接收模块和通信处理模块,其中事件激活模块用于激活不同节点间进程通信事件,其功能实现是事件匹 配模块功能激活的前提;事件匹配模块用于事件产生者和执行者之间的信息匹配,其功能实现则是发送模块功能激活的前提;发送模块用于不同节点间事件的发送;接收模块和通信处理模块则与上述三个模块功能独立;接收模块用于接收不同节点间的通信事件,功其能实现是通信处理模块功能激活的前提;通信处理模块用于对通信信息的存储及更新。所述事件激活模块在用于激活不同节点间进程通信事件时,当收到网络通信申请后,根据申请的进程信息生成通信信息发送事件并给该事件分配全球唯一标志符GUID,并生成ー个与事件相关的属性做为该事件的激活指令,该属性能在自身状态值改变时利用访问器激活事件;为了杜绝事件阻塞导致某个事件不会执行的可能性,该模块设置了避免永久等待机制;当事件阻塞时间达到预定时间阈值时,強制夺取权限并执行缓冲队列中的事件,直至队列事件执行结束后解锁。所述事件匹配模块在用于事件产生者和执行者之间的信息匹配时,当事件激活模块产生事件并将对应的激活指令加入缓冲队列后,则将事件发送给事件匹配模块,该模块接收事件并将其存入指定的存储区域;然后根据网络通信申请,捜索出该事件的接收者,包括接收节点的IP和端口号。所述发送模块用于不同节点间事件的发送,在确认接收进程消息接收指令结束后,从缓冲队列中取出对首事件激活指令,发送通信配对请求;通信配对成功后,启动/重启该事件对应的线程,发送事件提供的信息直至结束。所述接收模块收到配对请求时,开始通信配对;配对成功,启动/重启相应的通信线程,开始接收信息直至结束;当一次通信結束,即收到报文结束标志,向发送端发送通信结束消息;将通信线程挂起以待再次通信时激活。所述通信处理模块在通信结束后,将接收到的所有信息存储到共享内存的动态数据区,井向结构化文档处理设备提交更新请求。 本专利技术与现有技术相比具有以下的主要优点I.在节点开辟共享内存来存储当前节点參与通信的所有进程的通信内容,然后通过动态注册的方法,这可以任意的在现有系统上增删通信进程,而不影响现有的通信,保证了大量数据快速通信;2.设置了权限管理的步骤,使用者在开发自己程序的时候可以定义进程的优先级另IJ,能保证多个进程在通信过程中能实现最重要的数本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:邓维叶理德赵菁欧燕
申请(专利权)人:中冶南方工程技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1