一种面向复杂系统的通用应用层网络通信协议应用方法

文档序号:7796279阅读:270来源:国知局
一种面向复杂系统的通用应用层网络通信协议应用方法
【专利摘要】本发明涉及一种面向复杂系统的通用应用层网络通信协议应用方法。该应用方法包括如下步骤:1)构建实现该方法的系统;2)读取协议描述文件;3)协议描述文件预处理;4)协议基本信息解析;5)通信信息解析;6)报文定义解析;7)报文匹配;8)报文解析。应用本方法,可以很好地解决网络通信协议描述与软件程序设计分离的问题,能够有效提高软件的通用性,实现应用层网络通信协议设计与软件程序设计独立工作,从而有效地提高工作效率和节约成本,甚至缩短研制周期。
【专利说明】一种面向复杂系统的通用应用层网络通信协议应用方法
【技术领域】
[0001]本发明涉及一种通信协议应用方法,特别是一种面向复杂系统的通用应用层网络通信协议应用方法。
【背景技术】
[0002]应用层网络通信协议应用方法可以分为两大类,一类是程序内嵌报文结构,另一类是采用配置文件来说明报文结构。程序内嵌报文结构是指对报文结构的描述信息内嵌在程序代码中,在程序编译之后报文结构固化,常见方式有直接软件编码、基于结构的应用方法和基于类的应用方法;采用配置文件来说明报文结构是指报文结构不在程序内直接说明,而是采用配置文件进行说明,在程序运行的时候需要预先读取该配置文件才能确定如何解析报文,在程序运行前允许用户对配置进行更改,常见方式是基于简单配置文件的应用方法。
[0003]a)直接软件编码
[0004]直接软件编码方式一般将报文加载在一个数据缓存之中,然后通过游标变量来访问具体的数据。
[0005]b)基于结构的应用方法
[0006]基于结构的应用方法比直接软件编码方式稍微复杂一点,一般先定义一个结构变量,然后再应用直接软件编码方式将报文分解到结构体里面,以后使用数据的时候就直接使用该结构体了。
[0007]c)基于类的应用方法
[0008]基于类的应用方法与机遇结构的方法类似,不同之处是先定义一个类,然后实例化,再应用直接软件编码方式将报文分解到类实例里面,以后使用数据的时候就直接使用该类实例了。
[0009]d)基于简单配置文件的应用方法
[0010]基于简单配置文件的应用方法需要在程序之外创建一个配置文件,在程序运行到需要提取报文数据的时候,首先从配置文件中获取提取。
[0011]程序内嵌报文结构的应用层网络通信协议应用方法由于报文结构的描述信息内嵌在程序代码中,每次修改报文结构都会导致程序的修改,需要重新编译程序。对于复杂系统的研制过程来说,协议的变更是经常发生的事件,采用这种方法来描述应用层网络通信协议必然导致程序的经常性变更,不仅增加大量的编码和测试工作,而且经常引发系统设计方与软件开发方各种矛盾,导致成本增加和进度拖延。
[0012]采用配置文件来说明报文结构的情况要好一些,程序完成之后允许用户通过修改配置文件来适应报文结构的变化。但是常见的基于简单配置文件的应用方法也有其局限性:首先是专用性太强,配置文件都是针对某个软件或应用专门开发的,配置文件只适用于本软件;其次是缺少开发和校验工具,对于报文结构的描述一般由程序人员手工修改,一旦配置出现问题,如果程序不报错的话很难检验错误所在;三是配置文件的语法难于标准化,通常只掌握在少数人手里,如程序人员,导致在复杂系统的试验过程中,软件开发方需要派人伴随保障。

【发明内容】

[0013]本发明的目的在于提供一种面向复杂系统的通用应用层网络通信协议应用方法。本发基于一种面向复杂系统的通用应用层网络通信协议解决了协议描述文件预处理、采集解析、数据采集、报文头解析、报文匹配和报文分解等技术问题。在软件(或程序)中应用本方法,可以很好地解决网络通信协议描述与软件程序设计分离的问题,能够有效提高软件的通用性,实现应用层网络通信协议设计与软件程序设计独立工作,从而有效地提高工作效率和节约成本,甚至缩短研制周期。
[0014]本发明的目的通过以下技术方案来实现:
[0015]一种面向复杂系统的通用应用层网络通信协议应用方法包括如下步骤:
[0016]I)构建实现该方法的系统;
[0017]2 )读取协议描述文件模块;
[0018]3 )协议描述文件预处理模块;
[0019]4)协议基本信息解析模块;
[0020]5)通信信息解析模块;
[0021 ] 6 )报文定义解析模块;
[0022]7)报文匹配模块;
[0023]8)报文解析模块。
[0024]本发明的优点在于:
[0025]本发明公开了一种面向复杂系统的通用应用层网络通信协议应用方法,解决了应用层网络通信协议描述与软件程序设计分离的问题。
[0026]应用本方法,应用软件的开发和通信协议的设计两项工作能够分别独立进行,不再互相干扰,从而适应复杂系统研制过程中网络协议经常变更的状况,同时也不再需要程序员伴随到试验现场进行软件保驾,从而节省了成本。
[0027]应用本方法开发的软件,其通用性得到极大提高,往往能够在多个型号中应用,不仅节约开发成本,加快应用进度,通过反复应用和改进,还能有效提高软件质量。
[0028]应用本方法可以开发通用的应用层网络通信协议编辑和检验工具,使得协议描述文件的正确性得到保障。
[0029]本方法提供了快速描述报文的机制,对于一些大报文来说,这种机制还能够防止描述出错,从而提高了协议描述文件的质量。
【专利附图】

【附图说明】
[0030]图1: 一种面向复杂系统的通用应用层网络通信协议应用方法的组成示意图。【具体实施方式】
[0031]第一步:构建实现该方法的系统
[0032]一种面向复杂系统的通用应用层网络通信协议应用方法的实现系统包括读取协议描述文件模块、协议描述文件预处理模块、协议基本信息解析模块、通信信息解析模块、报文定义解析模块、报文匹配模块和报文解析模块。其中,报文解析模块与报文匹配模块通信,报文匹配模块通信与报文定义解析模块通信。
[0033]构建系统可以米用各种程序设计语目,如C++、Pascal或JAVA等。
[0034]第二步:读取协议描述文件模块
[0035]将协议描述文件从文件系统中读入到内存中。
[0036]该协议描述文件必须符合面向复杂系统的通用应用层网络通信协议,内容一般包括协议基本信息、通信信息、报文头格式、报文尾格式、报文集、字段、字段数值、结构嵌套和循环体等。
[0037]第三步:协议描述文件预处理模块
[0038]协议描述文件预处理主要是对读入协议描述文件中的循环体进行解析,使得循环体全部展开,得到等效的协议描述文件。
[0039]该文件将用于后续的所有处理模块。
[0040]第四步:协议基本信息解析模块
[0041]协议基本信息解析模块从协议描述文件中获取协议标识、协议名称、适用型号、用途说明、版本和字段定位策略等信息。
[0042]这些信息可用于协议的管理,如构建型号协议结构树和协议版本选择等。
[0043]第五步:通信信息解析模块
[0044]通信信息解析模块从协议描述文件中获取传输层协议、通信方式、字节序、信源地址和彳目宿地址等。
[0045]这些信息可用于数据通信会话的建立,以及确定数据解析时的字节序处理。
[0046]第六步:报文定义解析模块
[0047]报文定义解析模块将协议中对报文的所有描述信息(如报文头格式、报文尾格式、字段数值、报文属性和字段)进行重新组织,使得这些信息方便程序使用。信息重组完成之后,同时形成两类结构一扁平结构和树状结构。
[0048]重组的时候,首先形成树状结构,将所有字段按层次关系进行组织,并通过计算路径形成字段的唯一标识。
[0049]基于树状结构,再快速生成扁平结构,将所有字段按先后顺序线性组织,并计算每一字段的起始位置。计算方法与报文定义时所采用的字段定位策略有关。
[0050]协议描述文件应当统一约定字段定位策略。常见的有两种:一种是按顺序填满,这种方法只需定义每个字段的长度,但是要定义一种特殊字段一“未定义”字段一来填充协议中未明确定义通途的数据域;另一种是只定义有效字段,这种方法需要定义每个字段的起始位和长度。
[0051]如果协议中存在报文头格式或报文尾格式的定义,则将它们分别与报文集中的每一个报文定义合并,形成完整的报文体。
[0052]如果协议中存在字段数值,则将该字段数值与报文体中的字段进行关联。
[0053]第七步:报文匹配模块
[0054]报文匹配模块用于确定数据在协议中所对应的报文,完成数据与协议描述之间的关系匹配。一般情况下,协议中应当定义一个报文标识字段,将该字段与报文属性中的类型进行比较,以判定是否为某一类报文;更复杂的情况可以通过字段数值来判定,当所有数值字段都一致时,判定为对应报文。
[0055]第八步:报文解析模块
[0056]报文解析模块用于从原始数据中分解出各个字段的值。报文分解可以有两种策略:一是将报文完全分解,再从中提取数据;另一种是根据起始位和长度直接从原始数据中提取数据。
[0057]应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种面向复杂系统的通用应用层网络通信协议应用方法,其特征在于,该描述方法包括如下步骤: O构建实现该方法的系统; 2)读取协议描述文件; 3)协议描述文件预处理; 4)协议基本信息解析; 5)通信信息解析; 6)报文定义解析; 7)报文匹配; 8)报文解析。
2.根据权利要求1所述的一种面向复杂系统的通用应用层网络通信协议应用方法,其特征在于,所述通信协议应用系统包括读取协议描述文件模块、协议描述文件预处理模块、协议基本信息解析模块、通信信息解析模块、报文定义解析模块、报文匹配模块和报文解析模块。
3.根据权利要求1所述的一种面向复杂系统的通用应用层网络通信协议应用方法,其特征在于,所述步骤3对协议描述文件中的循环体进行解析,使得循环体全部展开,得到等效的协议描述文件。
4.根据权利要求1所述的一种面向复杂系统的通用应用层网络通信协议应用方法,其特征在于,所述步骤4从协议描述文件中获取协议标识、协议名称、适用型号、用途说明、版本和字段定位策略等信息。
5.根据权利要求1所述的一种面向复杂系统的通用应用层网络通信协议应用方法,其特征在于,所述步骤5从协议描述文件中获取传输层协议、通信方式、字节序、信源地址和?目宿地址等。
6.根据权利要求1所述的一种面向复杂系统的通用应用层网络通信协议应用方法,其特征在于,所述步骤6将协议中对报文的所有描述信息进行重新组织,形成两类结构——扁平结构和树状结构。
【文档编号】H04L29/06GK103780624SQ201410037542
【公开日】2014年5月7日 申请日期:2014年1月26日 优先权日:2014年1月26日
【发明者】廖中华 申请人:北京仿真中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1