[发明专利]一种基于脚本的业务配置实现方法有效
申请号: | 201110081017.0 | 申请日: | 2011-04-01 |
公开(公告)号: | CN102147726A | 公开(公告)日: | 2011-08-10 |
发明(设计)人: | 尹永胜;王峰;李奇;王进 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 魏殿绅;庞炳良 |
地址: | 430074 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 脚本 业务 配置 实现 方法 | ||
1.一种基于脚本的业务配置实现方法,其特征在于,包括:脚本的语法定义,脚本的解析,业务配置数据的解析,
1)脚本的语法定义,
将业务配置数据按组合层次划分为页Page,表格Table,字段Item三大类,并分别定义如下:
每个业务配置都对应一个Page定义,Page包括一个或多个Table,多个Table按顺序组合成Page;Page数据是其包括的全部Table数据的集合,全部Page数据就是完整的业务配置数据;Page脚本中定义了业务配置命令代码commandcode、Page类型pagetype和Page名称pagename;
Table包括一个或多个Item,多个Item按顺序组合成Table;Table数据是其包括的全部Item数据的集合,是业务配置数据的一部分;Table脚本中定义了Item条目数据的长度countlength、Item的最大条目数maxrow、Table类型tabletype和Table名称tablename;
Item是对业务配置项的定义,Item脚本定义了Item的数据类型datatype、数据项名称itemname、数据长度length、缺省值default和取值范围属性,所述取值范围包括最小值min和最大值max;Item数据就是业务配置项数据;
对于每个业务配置首先分析需求文档,分配固定的业务配置命令代码,再根据上述语法定义,编写描述该业务配置的脚本定义文件;
2)脚本的解析,
脚本的解析就是读取业务配置对应的脚本定义文件,将符合前述语法定义的脚本写入内存的对应对象中,如果有不符合语法定义的脚本,则报错,终止脚本的解析;
3)业务配置数据的解析,
业务配置数据的解析完成以下工作:从设备获取的是字节流数据,需要根据业务配置脚本定义将字节流数据解析成业务配置项数据,同时对业务配置项数据进行正确性验证。
2.如权利要求1所述的基于脚本的业务配置实现方法,其特征在于,所述脚本的解析包括以下步骤:
第一步:查找业务配置脚本定义;
启动业务配置时会得到预先分配的业务配置命令代码,打开已编写好的脚本定义文件,在打开的脚本中查找Page定义的commandcode属性值是否有当前命令代码一致的定义,如果查找到相同的code定义则进入第二步,否则给用户返回查找脚本定义文件失败信息,提示脚本定义文件有误终止脚本解析;
第二步:读取Page定义信息;
创建Page内存对象,读取脚本中的Page属性定义值写入Page内存对象;
第三步:读取Page内的Table信息;
在第二步Page定义脚本内部查找Table定义,如查找成功则创建Table内存对象,读取脚本中Table属性定义值写入Table对象;如查找失败则给用户返回Table查找失败信息,终止脚本解析;
第四步:读取Table内的Item信息;
在第三步Table定义的脚本内部查找Item定义,如查找成功则创建Item内存对象,读取脚本中的Item属性定义值写入Item对象;如查找失败则给用户返回Item查找失败信息,终止脚本解析;
第五步判断Table中是否还有Item定义,如有则转第四步继续解析Item;如无则完成当前Table的解析,继续下一步;
第六步判断Page中时候还有Table定义,如有则转第三步,继续解析Table;如无则完成了Page脚本的解析,整个业务配置定义脚本的解析就完成了。
3.如权利要求1所述的基于脚本的业务配置实现方法,其特征在于,所述业务配置数据的解析包括以下步骤:
第一步:获取Table对象指针;
从脚本解析过程创建的Page对象中依次获取其中的Table对象指针;
第二步:确定Table数据条目数;
Table内数据的条目数由Table.countlength属性值的定义决定:
a)如果Table.countlength属性值为0,则该Table数据条目数为1;
b)如果Table.countlength属性值不为0,则条目数为从字节流数据中读取Table.countlength个字节的值;
第三步:解析Table数据;
根据第二步获得的Table内数据的条目数逐个条目解析字节流数据:
a)将当前条目索引设为0;
b)从第一步获取的Table对象中获取第一个Item指针;
c)根据上一步获取的Item对象的Item.datatype和Item.length属性值从字节流数据中已读取数据字节后读取Item数据;
d)验证步骤c)读取的Item数据是否符合定义的范围,如符合则继续解析;如不符合则向用户返回数据验证错误信息,终止数据解析过程;
e)判断已处理的Item对象是否Table对象的中最后一个Item对象,如不是则获取下一个Item对象,返回步骤c)继续读取Item数据;
f)如是则判断当前条目索引是否小于Table条目数,如小于则将条目索引加1返回步骤b),继续解析Table数据;如不小于则完成当前Table的数据解析;
第四步判断Page对象中是否还有Table对象,如有则获取下一个Table对象指针,返回第二步继续解析Table数据;如无则完成Page数据解析,整个业务配置数据解析完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110081017.0/1.html,转载请声明来源钻瓜专利网。