[发明专利]基于脚本和模块驱动的代码级网络协议仿真验证组织方法有效
申请号: | 200810093950.8 | 申请日: | 2008-04-23 |
公开(公告)号: | CN101510870B | 公开(公告)日: | 2012-03-21 |
发明(设计)人: | 李莉蓉;陈澜;许强 | 申请(专利权)人: | 北京德瑞海普科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L12/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市海淀区北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 基于脚本和模块驱动的代码级网络协议仿真验证组织方法属于网络协议仿真验证研究领域,其特征在于依次含有以下步骤:在验证客户端注册被测协议功能或核心算法的代码并对其进行编译调试,随后根据用户命令向验证服务器端发送仿真验证请求,验证服务器根据请求查询仿真项目表并将相应的脚本返回给验证客户端,在收到脚本后验证客户端与验证服务器端各自按照仿真脚本逐步进行仿真交互,最终完成对被测代码的功能验证。本发明实现了对新开发协议功能和核心算法代码功能的快速有效验证。 | ||
搜索关键词: | 基于 脚本 模块 驱动 代码 网络 协议 仿真 验证 组织 方法 | ||
【主权项】:
一种用于脚本和模块驱动的代码级网络协议仿真验证组织方法,其特征在于该方法是通过按照仿真验证脚本描述的仿真验证内容在验证客户端和验证服务器端交互实现的,依次含有以下步骤:步骤1:验证服务器端的初始化步骤,用于向所述验证服务器端传送根据被测代码段所实现的模块功能编写的仿真验证脚本文件,初始化仿真项目表,其中包括仿真名称、仿真主ID号、仿真子ID号、仿真操作和仿真内容描述字段,其中:仿真名称存放该仿真项目的名称;仿真主ID号,存放标记该仿真的唯一标识,为10位十进制数;仿真子ID号,存放标记该仿真的仿真子项目的编号,为两位十进制数;仿真操作字段,存储具体要执行的仿真操作;仿真描述字段,存放针对该仿真行为的描述;依据所述仿真项目对协议状态机表初始化操作的步骤,其中包括协议名称、协议ID和状态机字段:协议名称,存放该仿真协议的名称;协议ID,唯一标识该仿真协议;状态机字段,存储该仿真协议的状态机;验证服务器端的用户连接表的初始化步骤,其中包括用户连接ID、仿真状态机以及连接仿真内容字段,其中:用户连接ID,唯一标记一个用户连接;仿真状态机表述此连接在验证过程中的状态机所处状态;连接仿真内容,存放仿真验证脚本位图矩阵,该位图的位区间的对应值是与仿真验证脚本中的若干个标签及对应行为相对应的;步骤2所述验证服务器端在设定端口展开监听,等待验证客户端的验证服务请求;若验证服务器端收到了所述验证服务请求,则具体执行下步骤:步骤2.1回应验证客户端的确认连接报文的步骤,为该连接请求分配一个用户连接ID,并将该用户连接ID填入用户连接表,并根据此用户连接ID唯一标识该验证客户端的会话;步骤2.2验证服务器端一旦收到仿真验证请求报文,便根据所述仿真验证请求中的仿真项目查询仿真项目表,若查询成功则得到要执行的仿真操作,其中包括验证客户端部分与验证服务器端部分;否则向验证客户端返回仿真验证请求错误报文,把已分配的用户连接表项收回,返回到步骤2;步骤2.3编码步骤,验证服务器端把验证客户端要执行的仿真验证脚本中的每一个仿真验证操作步骤编码成仿真脚本位图,组成仿真脚本位图矩阵后发送给验证客户端,并将自己需要执行的部分按照同样的方式编码后填入用户连接表中用户连接ID表项对应的连接仿真字段中;步骤3仿真验证脚本位图矩阵的执行步骤,验证服务器端开始执行用户连接表中该会话连接的仿真验证脚本位图矩阵,若该矩阵不为空,则运行第一行仿真验证脚本位图,所述验证服务器端依次执行以下操作步骤,完成仿真验证:步骤3.1若正在执行的仿真验证操作步骤是等待输入数据报文,则在设定的监听端口等待,同时按照脚本规定的时间初始化一个定时器,并且据此设置协议状态机表和用户连接表中的仿真状态机字段;若接收到验证客户端发送的报文,则根据所述协议状态机表和用户连接表中的仿真状态机字段,以及所述仿真验证脚本中定义的规则判定被测代码功能是否正确;若正确,则依据接收到的报文查询所述协议状态机表,使用查询到的结果更新本连接的仿真状态机字段内容并返回到步骤3;否则向验证客户端返回验证错误报文,清除用户连接表中该会话的连接仿真字段中该仿真子ID号下其余的仿真验证脚本位图,返回到步骤3;若未收到验证客户端发送的报文,则向验证客户端发送等待超时报文,并把分配的用户连接ID表项收回,返回步骤3;步骤3.2若正在执行的仿真验证操作步骤是向验证客户端发送数据报文,则按照要求组装一个相应的数据报文发送到验证客户端,并根据协议状态机表和用户连接表中的仿真状态机字段更新本字段内容,返回到步骤3;步骤4验证服务器端把用户连接表中该会话连接的所有仿真验证脚本位图执行完毕后,结束与验证客户端的会话,把分配的用户连接表项收回,返回步骤2;步骤5:验证客户端启动后,用户根据被测代码所完成的协议模块功能,将其注册到验证客户端所实现的协议栈中相应协议所开放的功能模块接口中,完成被测模块注册;步骤6用户把被测代码嵌入到步骤5中注册的协议功能模块接口中,验证客户端将对嵌入的代码进行编译调试,直到没有语法错误为止;步骤7一旦验证客户端接收到用户进行协议仿真验证的指令,则与验证服务器端按照以下步骤建立会话:步骤7.1验证客户端初始化一个用来存储验证客户端需执行的仿真验证脚本位图矩阵的本地仿真项目表,本地仿真项目表包括:验证服务器端ID,用来存放标记此仿真验证操作的验证服务器端的唯一标识;验证服务器端IP,存放此验证服务器端的IP地址;仿真操作字段,存储具体由该验证客户端需要执行的仿真验证脚本位图矩阵;步骤7.2验证客户端向验证服务器端发出建立连接的请求;步骤7.3验证客户端收到验证服务器端发回的连接建立确认报文后,向验证服务器端请求本次执行的仿真验证脚本位图矩阵;步骤7.4验证客户端接收验证服务器端的响应,在得到本次需执行的仿真验证脚本位图矩阵后将其存储到本地仿真项目表中;步骤8验证客户端将从第一行的仿真验证脚本位图开始并按照以下步骤执行本地仿真项目表中存放的仿真验证脚本位图矩阵:步骤8.1若正在执行的仿真验证操作步骤是验证被测代码完成的协议功能模块的数据报文接收功能,则验证客户端在建立连接的端口等待接收报文,在接收到报文后,调用由被测代码编译后实现的功能模块来处理收到的报文,返回步骤8;步骤8.2若正在执行的仿真验证操作步骤是验证被测代码完成的协议功能模块的数据报文发送功能,则按照仿真验证脚本的描述调用被测功能模块的发送功能发送数据报文到验证服务器端,返回步骤8;步骤9验证客户端本地协议解析器捕捉到会话发送和接收到的数据报文,进行协议的解析和展示;步骤10本地仿真项目表中存储的仿真验证脚本位图执行完毕,验证客户端结束与验证服务器端的会话,返回步骤5。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京德瑞海普科技有限公司,未经北京德瑞海普科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200810093950.8/,转载请声明来源钻瓜专利网。