[发明专利]一种基于模板的协议代码生成方法有效
申请号: | 201611038095.1 | 申请日: | 2016-11-21 |
公开(公告)号: | CN106850531B | 公开(公告)日: | 2020-01-14 |
发明(设计)人: | 孙琪;周杰;孔福;薛超;李林;张金涛 | 申请(专利权)人: | 中国航天科工集团第四研究院第四总体设计部 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 11024 中国航天科工集团公司专利中心 | 代理人: | 葛鹏 |
地址: | 100854 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于模板的协议代码生成方法,将大量协议内容固化到独立于代码外的协议配置文件中,通过构建协议代码框架的模板,令模板读取该协议配置文件进而生成协议代码的方法。本发明简化了开发人员手工编写协议代码的工作,将工作重心真正转移到业务逻辑、页面设计等其它方面的设计与实现上。 | ||
搜索关键词: | 一种 基于 模板 协议 代码 生成 方法 | ||
【主权项】:
1.一种基于模板的协议代码生成方法,其特征在于具体步骤为:/n第一步 搭建基于模板的协议代码生成系统/n基于模板的协议代码生成系统,包括:配置文件构建模块、模板生成模块和代码生成模块;所述/n配置文件构建模块的功能为:构建协议配置文件;/n模板生成模块的功能为:构建协议代码生成模板;/n代码生成模块的功能为:生成协议代码;/n第二步 配置文件构建模块构建协议配置文件/n通常实现协议中数据包的封装和解析需要构造三种类:数据包基类、包头类和数据包派生类;数据包基类负责提供对外统一的解析数据包接口,包头类负责封装和实现协议中包头相关字段,数据包派生类负责封装和实现具体的协议;配置文件构建模块负责数据包基类、包头类和数据包派生类三种类的配置文件构建,具体方式为:/n包头类协议配置文件构建:将协议中包头相关的字段定义及说明逐行记录到一个文本文件中,这里称为包头类协议配置文件;/n数据包派生类协议配置文件构建:将协议中除包头以外的数据内容字段定义及说明逐行记录到一个文本文件中,这里称为数据包派生类协议配置文件;/n第三步 模板生成模块构建协议代码生成模板/n数据包基类、包头类和数据包派生类的三种类,每个类的不同实现取决于报文内容字段的不同组织方式,因此,只要把报文内容字段单独拎出来定义即可实现不同子类代码的编写;/n模板生成模块负责构建数据包基类、包头类和数据包派生类的协议代码生成模板,具体方式为:/n数据包基类代码生成模板构建:用C#语言编写数据包基类协议代码框架,并将协议中的英文名称作为配置参数,形成数据包基类代码生成模板,/n包头类代码生成模板构建:用C#语言编写包头类协议代码框架,并将协议中的英文名称、数据包长度最大值、数据包长度最小值作为配置参数;编写用于包头类字段定义、字段接口、属性设置/获取的函数;至此生成包头类代码生成模板;/n数据包派生类代码生成模板构建:用C#语言编写数据包派生类模板文件,并将协议中的英文名称、协议总线中英文名称、数据包长度最大值、数据包长度最小值作为配置参数;编写用于数据包类字段定义、字段接口、属性设置/获取的函数;至此生成数据包派生类代码生成模板;/n第四步 代码生成模块生成协议代码/n代码生成模板通过读取协议配置文件自动生成协议代码;/n代码生成模块读取数据包基类模板,生成数据包基类C++代码;/n代码生成模块读取包头类模板,生成数据包头类C++代码,读取过程中若遇到包含包头类协议配置文件的函数信息,则读取包头类协议配置文件,通过函数转换为C++代码;/n代码生成模块读取数据包派生类模板,生成数据包派生类C++代码,读取过程中若遇到包含数据包派生类协议配置文件的函数信息,则读取数据包派生类协议配置文件,通过函数转换为C++代码;/n通常协议中的数据包是递归定义的,即数据包=包头+内容,内容=子包头+子内容,以此类推;对于递归数据包,只需要更改配置参数和协议配置文件即可重新生成代码;当协议内容更改时,通过更改配置参数和协议配置文件也可以重新生成代码;/n至此,完成基于模板的协议代码的生成。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天科工集团第四研究院第四总体设计部,未经中国航天科工集团第四研究院第四总体设计部许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611038095.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种像素补偿电路及显示装置
- 下一篇:连接管理方法、控制器和服务器机柜