本发明专利技术公开了一种基于对象协议映射的编码解码方法及系统,所述方法包括:根据协议的应用数据域创建实体对象;建立并存储OPM数据表;编码时,将接收到的实体对象按其属性顺序编码为协议子字符串,并将多个所述协议子字符串串联成所述协议数据域的协议字符串;解码时,将接收到的协议数据域的协议字符串解码为实体对象,读取所述OPM数据表,由所述实体对象的属性反射得到所述协议的应用数据域中数据项信息并解析出所述协议。本发明专利技术将协议与面向对象的语言相结合,程序框架简单、代码复用率高,具有低代码、短开发周期、高效率、及扩展性强的优点。
【技术实现步骤摘要】
基于对象协议映射的编码解码方法及系统
本专利技术涉及通信
,特别涉及一种基于对象协议映射的编码解码方法及系统。
技术介绍
在通信
,各种具有通信功能的设备和电脑系统或各移动终端系统之间进行数据通信时,往往以各种形式的通信协议为载体。由于自然语言世界事物都具有各种属性,因此,如何在纷繁复杂的应用层用户数据的解码和编码对于通信协议的处理是重要且困难的,例如一个简单的串口配置,用自然语言描述则包括串口名、波特率、校验位、数据位、结束位等多个属性。 现有的通常一个通信协议所要承载的应用数据信息通常都以千计,对其进行编码解码是很大一个工作量,因此,该方法的软件开发周期较长,成本较高、工作效率低下且扩展性不强。
技术实现思路
本专利技术提出一种基于对象协议映射的编码解码方法及系统,能解除通信协议编码解码中繁杂的工作量,且将协议与面向对象的语言相结合,程序框架简单、代码复用率高,具有低代码、短开发周期、高效率、及扩展性强的优点。 为实现上述专利技术目的,本专利技术采用如下技术方案: 一种基于对象协议映射的编码解码方法,其包括: 根据协议的应用数据域创建实体对象,所述协议的应用数据域中每一数据项的信息与该实体对象的每一属性对应; 建立并存储0ΡΜ数据表,所述0ΡΜ数据表描述所述协议的应用数据域中数据项的信息与该实体对象的属性映射对应关系; 编码时,将接收到的实体对象按其属性顺序编码为协议子字符串,并将多个所述协议子字符串串联成所述协议数据域的协议字符串; 解码时,将接收到的协议数据域的协议字符串解码为实体对象,读取所述0ΡΜ数据表,由所述实体对象的属性反射得到所述协议的应用数据域中数据项信息并解析出所述协议。 [0011 ] 进一步地,在上述的基于对象协议映射的编码解码方法中,所述方法还包括: 根据协议的链路层框架验证所述协议的合法性信息,并剥离出所述协议的应用层数据域。 进一步地,在上述的基于对象协议映射的编码解码方法中,所述根据协议的应用数据域创建实体对象步骤具体包括: 在创建的实体对象的每一个属性上面增加一个元数据特性,该元数据特性描述了此属性对应数据项的信息。 进一步地,在上述的基于对象协议映射的编码解码方法中,所述数据项的信息包括:该数据项在协议中的顺序号、解析用的数据类型、数据长度、计量单位及描述信息。 进一步地,在上述的基于对象协议映射的编码解码方法中,所述存储OPM数据表的步骤具体为: 将所述OPM数据表存储于可持久化的介质中。 进一步地,在上述的基于对象协议映射的编码解码方法中,所述可持久化的介质为关系数据库,所述OPM数据表为一个通用的表字段,其至少包括实体对象名、每一属性在该实体对象中的序号、每一属性对应的数据项的数据类型、数据长度、计量单位及数据项的描述。 进一步地,在上述的基于对象协议映射的编码解码方法中,所述可持久化的介质为Xml文件,所述OPM数据表至少包括一个实体对象的集合,每个实体对象的子元素至少包括每一属性在该实体对象中的序号、每一属性对应的数据项的数据类型、数据长度、计量单位及数据项的描述。 本专利技术还提供一种基于对象协议映射的编码解码系统,包括: 对象创建模块、用于根据协议的应用数据域创建实体对象,所述协议的应用数据域中每一数据项的信息与该实体对象的每一属性对应; 数据表建立模块、用于建立并存储OPM数据表,所述OPM数据表描述所述协议的应用数据域中数据项的信息与该实体对象的属性映射对应关系; 数据表存储模块、用于存储OPM数据表于可持久化的介质中; 协议字符串编码模块、用于将接收到的实体对象按其属性顺序编码为协议子字符串,并将多个所述协议子字符串串联成所述协议数据域的协议字符串; 协议字符串解码模块,用于将接收到的协议数据域的协议字符串解码为实体对象; 及反射解析模块、用于读取所述OPM数据表,由所述实体对象的属性反射得到所述协议的应用数据域中数据项信息并解析出所述协议。 进一步地,在上述的基于对象协议映射的编码解码系统中,所述可持久化的介质为关系数据库或Xml文件。 本专利技术基于对象协议映射的编码解码方法及系统避免了通信协议编码解码中繁杂的工作量,将协议与面向对象的语言相结合,程序框架简单、代码复用率高,具有低代码、短开发周期、高效率、及扩展性强的优点。 【附图说明】 图1为本专利技术基于对象协议映射的编码解码方法一实施例的流程示意图; 图2为帧结构的示意图; 图3为OPM数据表的示意图; 图4为某一实体的数据关系映射数据图; 图5为本专利技术基于对象协议映射的编码解码的结构示意图。 【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 本专利技术实施例中,根据协议的应用数据域创建实体对象,所述协议的应用数据域中每一数据项的信息与该实体对象的每一属性对应;建立并存储0ΡΜ数据表,所述0ΡΜ数据表描述所述协议的应用数据域中数据项的信息与该实体对象的属性映射对应关系;编码时,将接收到的实体对象按其属性顺序编码为协议子字符串,并将多个所述协议子字符串串联成所述协议数据域的协议字符串;解码时,将接收到的协议数据域的协议字符串解码为实体对象,读取所述0ΡΜ数据表,由所述实体对象的属性反射得到所述协议的应用数据域中数据项信息并解析出所述协议。这样就通过通信协议与面向对象的语言相结合,使得程序框架简单、代码复用率高,具有低代码、短开发周期、高效率、及扩展性强的优点。 下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行详细描述。 请参阅图1,图1为本专利技术基于对象协议映射的编码解码方法一实施例的流程示意图。所述方法包括以下步骤: 步骤S101:根据协议的链路层框架验证所述协议的合法性信息,并剥离出所述协议的应用层数据域; 其中,所述协议的合法性信息包括协议的帧头帧尾、帧传输校验。 本专利技术所述协议为通信协议。 如图2所示,对链路层数据,判断第1和第8字节是否为0x68,帧尾字节是否为0x16 ;同时根据校验码的定义,判断校验是否正确。当链路层数据正确验证完成后,根据数据长度L可得到应用数据域数据。 帧是传送信息的基本单元,每帧由帧起始符标志域、控制域、数据长度域、数据域、中贞信息纵向校验域及巾贞结束域等6个域组成。每个域由若干字节组成。 校验码CS:从帧起始符开始到校验码之前的所有各字节的和模256的余。即各字节二进制算术和,不计超过256的溢出值。 发送方按照公式计算校验码; 接收方按照公式验证校验码,如校验码不匹配,则数据帧已经被破坏,应视为无效帧处理;通过此种格式、验证帧数据就可以分离出应用数据域; 步骤S102:根据协议的应用数据域创建实体对象,所述协议的应用数据域中每一数据项的信息与该实体对象的每一属性对应; 在具体实现时,根据协议的链路层控制码或应用层功能码,可唯一确定一个与所述协议的应用数据域中数据项对应的实体对象。在创建的实体对象的每一个属性上面增加一个元数据特性,该元数据特性描述了此属性对应数据项的信息,所述本文档来自技高网...
【技术保护点】
一种基于对象协议映射的编码解码方法,其特征在于,其包括:根据协议的应用数据域创建实体对象,所述协议的应用数据域中每一数据项的信息与该实体对象的每一属性对应;建立并存储OPM数据表,所述OPM数据表描述所述协议的应用数据域中数据项的信息与该实体对象的属性映射对应关系;编码时,将接收到的实体对象按其属性顺序编码为协议子字符串,并将多个所述协议子字符串串联成所述协议数据域的协议字符串;解码时,将接收到的协议数据域的协议字符串解码为实体对象,读取所述OPM数据表,由所述实体对象的属性反射得到所述协议的应用数据域中数据项信息并解析出所述协议。
【技术特征摘要】
1.一种基于对象协议映射的编码解码方法,其特征在于,其包括: 根据协议的应用数据域创建实体对象,所述协议的应用数据域中每一数据项的信息与该实体对象的每一属性对应; 建立并存储OPM数据表,所述OPM数据表描述所述协议的应用数据域中数据项的信息与该实体对象的属性映射对应关系; 编码时,将接收到的实体对象按其属性顺序编码为协议子字符串,并将多个所述协议子字符串串联成所述协议数据域的协议字符串; 解码时,将接收到的协议数据域的协议字符串解码为实体对象,读取所述OPM数据表,由所述实体对象的属性反射得到所述协议的应用数据域中数据项信息并解析出所述协议。2.根据权利要求1所述的基于对象协议映射的编码解码方法,其特征在于,所述方法还包括: 根据协议的链路层框架验证所述协议的合法性信息,并剥离出所述协议的应用层数据域。3.根据权利要求2所述的基于对象协议映射的编码解码方法,其特征在于,所述根据协议的应用数据域创建实体对象步骤具体包括: 在创建的实体对象的每一个属性上面增加一个元数据特性,该元数据特性描述了此属性对应数据项的信息。4.根据权利要求3所述的基于对象协议映射的编码解码方法,其特征在于,所述数据项的信息包括:该数据项在协议中的顺序号、解析用的数据类型、数据长度、计量单位及描述信息。5.根据权利要求1所述的基于对象协议映射的编码解码方法,其特征在于,所述存储OPM数据表的步骤具体为: 将所述OPM数据表存储于可持久化的介质中。6.根据权利要求6所述的基于对象协议映射的编...
【专利技术属性】
技术研发人员:李洪,朱奎,刘剑,张建成,
申请(专利权)人:深圳市金正方科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。