[发明专利]带指针信元的消息的传递方法及系统有效
申请号: | 200710110918.1 | 申请日: | 2007-06-08 |
公开(公告)号: | CN101321159A | 公开(公告)日: | 2008-12-10 |
发明(设计)人: | 赵黎波;姬舒平 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/54 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 尚志峰;吴孟秋 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指针 消息 传递 方法 系统 | ||
技术领域
本发明涉及对带指针信元的消息的处理,并且具体地,涉及一种带指针信元的消息的传递方法及系统。
背景技术
由于不同计算机系统的地址空间不同,因此一个系统内部的指针信元在另一个系统上是无法识别的。这个问题困扰着ATE(Adaptive Test Equipment,自动化测试工具)的实际使用,后台系统(windows平台)构造的消息由于含有指针信元而到了前台(vxWorks平台)无法解释地址。实际上,凡是在需要跨系统传递其中含有指针的消息时,都会遇到这个问题。例如,在进行单元测试,或者集成测试需要构造测试用例(case),发送消息的机器和被测体不在同一台机器上,就会面临这种问题。
其中,图1给出了带有指针信元的消息结构。
目前,解决该问题主要是通过以下两种途径来进行,一种方法是采用ANS.1编解码方法,另一种方法是定义一种没有指针类型的数据结构。
其中,编解码方法会使得系统运行效率比较低,占用系统的缓冲区和增加CPU负荷,从而影响到整个系统的运行效率,此外,不同的消息结构使用不同的编解码程序,因此程序设计比较复杂。而定义一种没有指针的数据结构的方法适用于比较简单的消息传递,对于通信系统中带有大量的指针嵌套的复杂消息结构而言,采用该种处理方法会非常复杂。
因此,对于跨越地址空间的带指针信元的消息传递问题,需要通过一种能够便于实现且不会影响系统运行效率的方法来解决。
发明内容
考虑到上述问题而做出本发明,为此,本发明旨在提供一种带指针信元的消息的传递方案。
根据本发明的实施例,提供了一种带指针信元的消息的传递方法,包括以下处理:步骤S202,计算带指针信元的消息中的子消息数目,并构造子消息配置信息表,其中,子消息配置信息表中的配置信息包括:父消息ID、子消息ID、子消息在父消息中的地址偏移、子消息数据长度;步骤S204,将带指针信元的消息和子消息配置信息表封装在一起,并发送给接收地址空间;步骤S206,接收地址空间接收到带指针信元的消息后,申请地址空间,并记录带指针信元的消息的根节点的接收地址空间内存地址;步骤S208,接收地址空间通过计算将父消息ID和子消息ID对应的接收地址空间内存地址填入消息ID和地址空间对应表;以及步骤S210,根据子消息配置信息表中的配置信息调用翻译器完成从发送地址空间到接收地址空间的地址翻译过程。
其中,在带指针信元的消息中,指针所在的结构为父消息,指针所指的结构为子消息,并通过对带指针信元的消息中的所有父消息和子消息编号来生成父消息ID和子消息ID。
至于消息ID和地址空间对应表,其用于一一对应地存储父消息ID/子消息ID对应的接收地址空间内存地址。
在步骤S208中,接收地址空间根据根节点接收地址空间内存地址以及子消息在父消息中的地址偏移信息来进行计算。
在步骤S210中,翻译过程具体为:通过读取子消息配置信息表和消息ID和地址空间对应表,翻译器根据子消息的父消息ID得到父消息在接收地址空间的内存地址;将得到的内存地址加上子消息在父消息中的地址偏移,得到父消息中指向子消息的指针;将子消息在接收地址空间的内存地址赋给指针,从而完成地址转换。
在所述步骤S210之后,发送地址空间可以再次将带指针信元的消息和子消息配置信息表封装在一起,发送给其他接收地址空间。
根据本发明的实施例,还提供了一种带指针信元的消息的传递系统,包括:第一构造模块,位于发送地址空间侧,用于构造携带有如下配置信息的子消息配置信息表:父消息ID、子消息ID、子消息在父消息中的地址偏移、子消息数据长度;封包模块,位于发送地址空间侧,用于将带指针信元的消息和子消息配置信息表封装在一起,并发送给接收地址空间;地址空间申请模块,位于接收地址空间侧,在接收到带指针信元的消息后,申请地址空间并记录带指针信元的消息的根节点内存地址;第二构造模块,用于构造消息ID和地址空间对应表,其中,消息ID和地址空间对应表用于一一对应地存储父消息ID/子消息ID及其对应的接收地址空间内存地址;计算模块,位于接收地址空间侧,用于计算父消息ID和子消息ID对应的接收地址空间内存地址,并将计算结果填入消息ID和地址空间对应表;翻译器,位于接收地址空间侧,用于根据子消息配置信息表中的配置信息完成从发送地址空间到接收地址空间的地址翻译过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710110918.1/2.html,转载请声明来源钻瓜专利网。