【技术实现步骤摘要】
遵循通用信息交换协议规范的智能编码方法及编码器
本专利技术属于信息传输与交换领域,具体涉及了一种遵循通用信息交换协议规范的智能编码方法及编码器。
技术介绍
在信息传输与交换领域,信息收发双方(消费者和生产者)在交换信息之前,首先需要建立信息交换协议,按照协议,信息的发方(生产者)对信息进行编码,然后通过约定的信道将信息发送到信息的收方(消费者),收方获取到信息后,按照协议进行解码。收发双方遵循交换协议,确保了收方能够正确解析发方的信息。由于信息传输与交换领域的应用范围非常广泛且各应用的信息结构各不相同,每一种应用均需要建立自己特有的信息交换协议,从而导致产生数量庞大的、类型各异的信息交换协议。针对每一种信息交换协议,信息收发双方均需要单独设计和实现编码器对需要交换的信息进行编码,也需要单独设计和实现解码器对需要交换的信息进行解码,同样导致产生数量庞大的、类型各异的编码器和解码器。一方面,各种不同类型的编码器与解码器的设计和实现存在大量的重复性工作;另一方面,人工设计和实现不同类型的编码器和解码器容易出错、难以调试。总 ...
【技术保护点】
1.一种遵循通用信息交换协议规范的智能编码方法,其特征在于,该智能编码方法包括:/n步骤B10,获取预设的通用信息交换协议规范、用户制定的信息交换协议以及待编码信息实例;/n步骤B20,基于所述通用信息交换协议规范,判断所述用户制定的信息交换协议是否符合规范,若符合,则跳转步骤B40;否则,发出协议错误提示信息;/n步骤B30,基于所述协议错误提示信息修改所述用户制定的信息交换协议,并跳转步骤B20;/n步骤B40,判断所述待编码信息实例是否符合所述用户制定的信息交换协议,若符合,则跳转步骤B60;否则,则发出实例错误提示信息;/n步骤B50,基于所述实例错误提示信息修改所 ...
【技术特征摘要】
1.一种遵循通用信息交换协议规范的智能编码方法,其特征在于,该智能编码方法包括:
步骤B10,获取预设的通用信息交换协议规范、用户制定的信息交换协议以及待编码信息实例;
步骤B20,基于所述通用信息交换协议规范,判断所述用户制定的信息交换协议是否符合规范,若符合,则跳转步骤B40;否则,发出协议错误提示信息;
步骤B30,基于所述协议错误提示信息修改所述用户制定的信息交换协议,并跳转步骤B20;
步骤B40,判断所述待编码信息实例是否符合所述用户制定的信息交换协议,若符合,则跳转步骤B60;否则,则发出实例错误提示信息;
步骤B50,基于所述实例错误提示信息修改所述待编码信息实例,并跳转步骤B40;
步骤B60,通过预设的智能编码方法对所述待编码实例进行编码,获得编码成功的二进制信息实例。
2.根据权利要求1所述的遵循通用信息交换协议规范的智能编码方法,其特征在于,所述预设的通用信息交换协议规范,其根元素包括顺序元素、循环元素、条件元素中的一个或多个。
3.根据权利要求1所述的遵循通用信息交换协议规范的智能编码方法,其特征在于,所述用户制定的信息交换协议基于所述预设的通用信息交换协议规范制定。
4.根据权利要求1所述的遵循通用信息交换协议规范的智能编码方法,其特征在于,所述预设的智能编码方法为:
步骤S10,获取符合预设的通用信息交换协议规范的用户制定的信息交换协议和待编码信息实例,并初始化要输出的字节数组binary_data的起始字节与比特位置;
步骤S20,分别解析所述用户制定的信息交换协议和待编码的信息实例的根元素r1和根元素r2,并检查r1与r2的一致性,若一致,则跳转步骤S30;否则,发出错误提示信息;
步骤S30,对所述根元素r1中的每一个子元素e1,获取其在所述根元素r2中匹配的子元素e2,判断并执行:
若e1为顺序元素,则基于e1、e2以及binary_data,通过顺序算法进行所述待编码信息实例的编码,获得编码成功的二进制信息实例;
若e1为循环元素,则基于e1、e2以及binary_data,通过循环算法进行所述待编码信息实例的编码,获得编码成功的二进制信息实例;
若e1为条件元素,则基于e1、e2以及binary_data,通过条件算法进行所述待编码信息实例的编码,获得编码成功的二进制信息实例。
5.根据权利要求4所述的遵循通用信息交换协议规范的智能编码方法,其特征在于,“基于e1、e2以及binary_data,通过顺序算法进行所述待编码信息实例的编码”,其方法为:
步骤S311,从所述用户制定的信息交换协议的协议元素e1中获取当前要编码的比特长度length以及数据类型T,并获取e1对应的实例元素e2;
步骤S312,若T为int,则从e2中获取元素值,并转换为int类型数据i;若T为float,则从e2中获取元素值,并转换为float类型数据f;T为string,则从e2中获取元素值,并转换为string类型数据s;
步骤S313,按照所述当前要编码的比特长度length,将转换后的i/f/s按照比特位从低到高顺次添加到binary_data后面。
6.根据权利要求5所述的遵循通用信息交换协议规范的智能编码方法,其特征在于,“基于e1、e2以及binary_data,通过循环算法进行所述待编码信息实例的编码”,其方法为:
步骤S321,从所述用户制定的...
【专利技术属性】
技术研发人员:廖名学,高嘉欣,
申请(专利权)人:中国科学院自动化研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。