通用应用协议处理引擎_第1页
通用应用协议处理引擎_第2页
通用应用协议处理引擎_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通用应用协议处理引擎【摘要】 在信息系统建设过程中, 数据交互是必不可少的一环。其中与异构系统进行网络数据交互,并进一步进行业务处理是最为频繁的。在一般的处理过程,数据的集合和散列往往和业务处理耦合在一起,这样的话就会有很多重复开发。本文提出了一个通用的数据解析和组合引擎,根据配置的策略,对接收的数据包进行解析,对要发送的数据进行组合。【关键词】数据处理引擎网络协议处理在传统的应用网络协议开发过程中,往往要根据协议规范去进行设计编码。应用协议多种多样,信息系统建设人员对每一个应用协议都会进行重新的设计开发。要提高开发的效率,首先就要将网络数据的接收解码、编码发送从业务的逻辑处理中解耦出来。一、

2、引擎总体架构根据协议规范,数据包可划分为若干域,每个域都可以抽象为某一种域类型。数据包中的这些域,有各种各样的用途,但总体来说可以分为两类:数据域和控制域。整个系统应该包括策略配置模块,引擎模块,域对象模块。其中配置模块负责在初始化阶段读取配置文件,获得处理策略,引擎模块根据这些策略进行数据处理。二、域对象模块数据包中的域根据功能划分,可以分为数据域和控制域。数据域主要是一些业务数据,不影响数据包中其他域的行为。控制域,可以对数据包的一些行为进行控制。对于一些通用的域类型, 系统已经提供对应的类。而对于外部系统的一些个性化的域,可以扩展到域对象模块中。所有的域类都应该实现公共接口。该域应接口该

3、如下定义:Class FieldPuhlic,:Parse(char%uf);,/解析Marshal(char*bllD ;/,组包Verification (char *buf )Exception0;Bool IsControlField ;/区分是控制域还是数据域Int size,处理引擎提供若干常用的域类型,每个域类型都继承这个基类。并可以扩展更多域类型。控制域类型也是继承于 Field 类,但是有更多的操作。定义如下Class CtrIField:puhlic FieldPublic.:Parse(char *buf )Marshal(char *buf)Char*RcvCtrl (

4、char *huf ,int fd ); Char * SendCtrl (char *buf,int fd ); int ParseCtrl(char *buf ,int index); int MarhalCtrl (char *bufint index );其中 Rcv Ctrl 和 SendCtrl 在接收和发送阶段对数据进行控制处理,而 ParseCtrl和 MarshalCtrl 在解析和组合数据包过程中进行控制处理。所有的控制域都继承该类。三、引擎模块引擎模块作为系统的核心部分,从配置模块获得对应数据包类型的策略,根据策略对接收或者发送的数据包进行处理。处理策略其实就是根据配置的

5、包的域顺序,构造的链表,引擎根据该链表,顺序的取出每个域,并调用该域的方法。整个策略引擎分为数据的接收和发送过程。Class PacketMap parse(char*buffer );Char * marshal (Map map);Send(char *huffer);Rcv(char *buffer)List list :,/策略链表Preproc(char* buffer);/预处理mProc,(char* buffer );/中处理Afterproc (Map map);/后处理List list ;/数据包策略模板将应用协议中某一方的每一个过程都定义为一个状态,这样就会得到一个协议

6、状态机,处理引擎通过该状态机来实现对网络协议的处理。该状态机决定了通用数据包处理引擎外部系统的协议流程。状态机可以定义一些超时状态以及异常状态,当出现超时或者异常条件,就会跳转到相应的状态。四、配置模块为了实现通用的数据处理引擎,必须有灵活的配置功能,满足引擎对域、策略、回调函数、状态机的描述。采用 XML 作为配置文件的格式。配置分为对状态机的配置以及对数据包模板的配置。对状态机的配置,实现了协议的整个流程。引擎通过读取该状态机配置,实现状态的跳转,完成整个协议规范。而数据包模板的配置,实际就是在配置文件中描述每一类数据包的结构,由哪些类型的域构成。五、结论信息技术日新月异,应用网络协议层的实现,是现今信息系统建设必不可少的一环。通过本文提出的通用数据包处理引擎,可以快速完成对网络协议规范的实现,在引擎

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论