一种基于可见字符的网络协议格式及其编解码方法、系统技术方案

技术编号:13888991 阅读:68 留言:0更新日期:2016-10-24 03:21
本发明专利技术公开了一种基于可见字符的网络协议格式及其编解码方法、系统,涉及网络协议格式的编解码技术领域。该网络协议格式包括若干个数据项,相邻数据项之间通过数据项分隔符进行分割;每个数据项由键值对表示,键值对分为有键的键值对和无键的键值对;有键的键值对由键和值组成,键表示数据的名称,值表示数据的具体值,键与值之间通过键值分隔符进行分割;无键的键值对仅由值组成。本发明专利技术不但编解码效率高,利于编解码的实现;而且编码后占用大小较小,利于网络数据的传输。

【技术实现步骤摘要】

本专利技术涉及网络协议格式的编解码
,具体来讲是一种基于可见字符的网络协议格式及其编解码方法、系统
技术介绍
在通信领域中,为了达到在网络上传输数据的目的,通常需要使用到网络协议。目前,在网络协议的设计中使用的最多最广泛的网络协议格式是JSON(JavaScript Object Notation)。JSON格式是一种轻量级的数据交换格式,它基于JavaScript Programming Language(JavaScript编程语言),Standard ECMA-262 3rd Edition-December 1999标准的一个子集,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。因JSON格式是一种基于可见字符的格式,所以易于人阅读和编写,同时也易于机器解析和生成。这些特性使JSON成为目前流行的数据交换语言。但是,在实际使用过程中发现,由于JSON本身使用了较多字符进行格式控制,如:,{、

【技术保护点】
一种基于可见字符的网络协议格式,其特征在于:该网络协议格式包括若干个数据项,相邻数据项之间通过数据项分隔符进行分割;每个数据项由键值对表示,键值对分为有键的键值对和无键的键值对;有键的键值对由键和值组成,键表示数据的名称,值表示数据的具体值,键与值之间通过键值分隔符进行分割;无键的键值对仅由值组成。

【技术特征摘要】
1.一种基于可见字符的网络协议格式,其特征在于:该网络协议格式包括若干个数据项,相邻数据项之间通过数据项分隔符进行分割;每个数据项由键值对表示,键值对分为有键的键值对和无键的键值对;有键的键值对由键和值组成,键表示数据的名称,值表示数据的具体值,键与值之间通过键值分隔符进行分割;无键的键值对仅由值组成。2.如权利要求1所述的基于可见字符的网络协议格式,其特征在于:所述数据项分隔符为/;所述键值分隔符为@=。3.如权利要求1所述的基于可见字符的网络协议格式,其特征在于:所述网络协议格式中所有数据项都有键或者所有数据项都无键。4.如权利要求1所述的基于可见字符的网络协议格式,其特征在于:所述网络协议格式中数据项的值为已编码的网络协议。5.一种基于权利要求1所述网络协议格式的网络协议的编解码方法,其特征在于:该编解码方法包括编码流程和解码流程;编码流程包括:A1、添加一项键值对数据到网络协议中,判断键值对是否为无键的键值对,若是,转入A4;若否,转入A2;A2、将数据的数据名称作为键值对的键添加到网络协议中,转入A3;A3、添加键值分隔符到协议中,以区分键和值,转入A4;A4、将数据的具体值作为键值对的值添加到网络协议中,转入A5;A5、添加数据项分隔符到网络协议中以区分各数据项,转入A6;A6、判断是否还有数据需要添加到网络协议中,若是,返回A1,继续添加;若否,网络协议编码流程结束;解码流程包括:B1、标记网络协议的当前字符位置为起始位置,从起始位置开始查找分隔符,一旦查找到,则转入B2;B2、判断找到的分隔符是数据项分隔符还是键值分隔符,若为键值分隔符,转入B3;若为数据项分隔符,转入B4;B3、将起始位置到键值分隔符之间的字符作为键存储至当前数据项中,若当前数据项中已有键,则更新当前数据项的键,返回B1;B4、将起始位置到数据项分隔符之间的字符作为值存储至当前数据项中,转入B5;B5、将当前数据项的数据内容保存至存储队列中,并清除当前数据项中的内容,转入B6;B6、判断当前字符位置是否为网络协议的尾部,若是,表明网络协议已解析完,网络协议编码流程结束;否则返回B1,继续解析。6.如权利要求5所述的网络协议的编解码方法,其特征在于:所述数据项分隔符为/;所述键值分隔符为@=;步骤A2、A4中,若键中或值中包含有与分隔符产生歧义的特殊字符,则需将产生歧义的特殊字符进行转译,该转译操作具体包括:若键中或值中包含有@字符,则将所有@字符替换为@A;若键中或值中包含有/字符,则将所有/字符替换为@S。7.如权利要求5所述的网络协议的编解码方法,其特征在于:所述数据项分隔符为/;所述键值分隔符为@=;步骤B3、B4中,均包括对键或值进行反译的操作,该反译操作具体包括:若键中或值中包含有@A字符,则将所有@A字符替换为@;若键中包含有@S字
\t符,则将所有@S字符替换为/;若键中@字符后面接的不为A、S或=三者之一,则表明解析协议出错,直接报错退出。8.一种基于权利要求1所述网络协议格式的网络协议的编解码系统,其特征在于:该编解码系统包括编码模块和解码模块;所述编码模块包括键值对判断子模块、键添加子模块、键值分隔符添加...

【专利技术属性】
技术研发人员:杨俊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1