CN110602069A - 一种网络协议压缩方法、网络协议使用方法及相关产品 - Google Patents
一种网络协议压缩方法、网络协议使用方法及相关产品 Download PDFInfo
- Publication number
- CN110602069A CN110602069A CN201910810801.7A CN201910810801A CN110602069A CN 110602069 A CN110602069 A CN 110602069A CN 201910810801 A CN201910810801 A CN 201910810801A CN 110602069 A CN110602069 A CN 110602069A
- Authority
- CN
- China
- Prior art keywords
- network protocol
- sub
- data item
- data items
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种网络协议压缩方法、网络协议使用方法及相关产品。该方法包括:获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数;生成子数据项集合,所述子数据项集合中的元素对应有标识号,所述元素来源于所述K个数据项中的同一类别的子数据项的值,且相互不同;生成所述待压缩网络协议对应的目标网络协议,所述目标网络协议包含的K个数据项各包含M类子数据项;所述目标网络协议中的子数据项的值,为所述目标网络协议中的子数据项在所述子数据项集合中的标识号。还公开了相应的装置。通过对网络协议进行压缩,可以减少网络协议占用的存储空间,提高存储空间利用率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种网络协议压缩方法、网络协议使用方法及相关产品。
背景技术
车载自动诊断系统(on-board diagnostics,OBD)、汽车盒子(telematics box,TBOX)等车载设备获取车速、转速、车门或车窗的状态等车辆数据时,需要根据不同的车型加载不同的控制器局域网络(controller area network,CAN)总线网络协议。随着市面上的汽车型号增多,由于不同车型使用的CAN总线网络协议不同,CAN总线网络协议数量也随之增多。
存放CAN总线网络协议的传统方式是将每份网络协议分别进行加密后独立存放;但是由于CAN总线网络协议数量多,导致存放CAN总线网络协议需要占用大量的存储空间,降低了存储空间利用率。
发明内容
本申请提供一种网络协议压缩方法、网络协议使用方法及相关产品,以减少网络协议占用的存储空间,提高存储空间利用率。
第一方面,提供了一种网络协议压缩方法,包括:获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数;生成子数据项集合,所述子数据项集合中的元素对应有标识号,所述元素来源于所述K个数据项中的同一类别的子数据项的值,且相互不同;生成所述待压缩网络协议对应的目标网络协议,所述目标网络协议包含的K个数据项各包含M类子数据项;所述目标网络协议中的子数据项的值,为所述目标网络协议中的子数据项在所述子数据项集合中的标识号。
在一种可能实现的方式中,所述生成子数据项集合,包括:从所述待压缩网络协议中获得属于同一类别的子数据项;若存在子数据项的值相同,则保留1个相同的值,将剩余的子数据项的值的集合作为子数据项集合。
在另一种可能实现的方式中,所述生成所述待压缩网络协议对应的目标网络协议,包括:将所述待压缩网络协议中的子数据项的值替换为所述待压缩网络协议中的子数据项在所述子数据项集合中的标识号,得到目标网络协议。
在又一种可能实现的方式中,所述方法还包括:使用加密算法对所述子数据项集合和所述目标网络协议进行加密处理。
在又一种可能实现的方式中,所述生成子数据项集合,包括:将所述待压缩网络协议中的子数据项进行分解,获得同一类别的子数据项;针对同一类别且值相同的子数据项,删除所述值相同的子数据项直至剩下一个,将剩余的同一类别且值互不相同的子数据项作为子数据项集合。
在又一种可能实现的方式中,所述生成子数据项集合,包括:从所述待压缩网络协议的子数据项中逐个读取、依次存储同一类别的子数据项;每读取一个子数据项,在判断所述子数据项的值与已存储的子数据项的值均不相同的情况下,存储所述子数据项;将存储的同一类别的子数据项作为子数据项集合。
在又一种可能实现的方式中,所述生成所述待压缩网络协议对应的目标网络协议,包括:使用所述待压缩网络协议中的子数据项检索所述子数据项集合,获得所述子数据项集合中值与所述子数据项的值相同的第一子数据项对应的标识号,将所述待压缩网络协议中的子数据项的值替换为所述标识号,获得目标网络协议。
第二方面,提供了一种网络协议使用方法,包括:获得子数据项集合,所述子数据项集合中的元素来源于待压缩网络协议所包含的数据项中的同一类别的子数据项的值,且相互不同,所述子数据项集合中的元素对应有标识号;获得目标网络协议,所述目标网络协议中的子数据项的值,为所述待压缩网络协议的子数据项在所述子数据项集合中的标识号;读取所述目标网络协议中的子数据项的值,作为第一标识号;使用所述第一标识号检索所述子数据项集合,得到所述第一标识号对应的子数据项。
第三方面,提供了一种网络协议压缩装置,包括:获取单元,用于获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数;第一生成单元,用于生成子数据项集合,所述子数据项集合中的元素对应有标识号,所述元素来源于所述K个数据项中的同一类别的子数据项的值,且相互不同;第二生成单元,用于生成所述待压缩网络协议对应的目标网络协议,所述目标网络协议包含的K个数据项各包含M类子数据项;所述目标网络协议中的子数据项的值,为所述目标网络协议中的子数据项在所述子数据项集合中的标识号。
在一种可能实现的方式中,所述第一生成单元,包括:获取子单元,用于从所述待压缩网络协议中获得属于同一类别的子数据项;保留子单元,用于若存在子数据项的值相同,则保留1个相同的值,将剩余的子数据项的值的集合作为子数据项集合。
在又一种可能实现的方式中,在生成所述待压缩网络协议对应的目标网络协议,所述第二生成单元,具体用于将所述待压缩网络协议中的子数据项的值替换为所述待压缩网络协议中的子数据项在所述子数据项集合中的标识号,得到目标网络协议。
在又一种可能实现的方式中,所述装置还包括:加密单元,用于使用加密算法对所述子数据项集合和所述目标网络协议进行加密处理。
在又一种可能实现的方式中,在所述生成子数据项集合方面,所述第一生成单元,具体用于将所述待压缩网络协议中的子数据项进行分解,获得同一类别的子数据项;针对同一类别且值相同的子数据项,删除所述值相同的子数据项直至剩下一个,将剩余的同一类别且值互不相同的子数据项作为子数据项集合。
在又一种可能实现的方式中,在所述生成子数据项集合方面,所述第一生成单元,具体用于从所述待压缩网络协议的子数据项中逐个读取、依次存储同一类别的子数据项;每读取一个子数据项,在判断所述子数据项的值与已存储的子数据项的值均不相同的情况下,存储所述子数据项;将存储的同一类别的子数据项作为子数据项集合。
在又一种可能实现的方式中,在所述生成所述待压缩网络协议对应的目标网络协议方面,所述第二生成单元,具体用于使用所述待压缩网络协议中的子数据项检索所述子数据项集合,获得所述子数据项集合中值与所述子数据项的值相同的第一子数据项对应的标识号,将所述待压缩网络协议中的子数据项的值替换为所述标识号,获得目标网络协议。
第四方面,提供了一种网络协议使用装置,包括:第一获得单元,用于获得子数据项集合,所述子数据项集合中的子数据项来源于待压缩网络协议所包含的至少两个数据项中的子数据项,且相互不同,所述子数据项集合中的子数据项具有标识号;第二获得单元,用于获得目标网络协议,所述目标网络协议的数据项中包含的标识号,为所述待压缩网络协议的子数据项在所述子数据项集合中的标识号;读取单元,用于读取所述目标网络协议的数据项中包含的标识号;检索单元,用于使用所述标识号检索所述子数据项集合,得到所述子数据项集合中所述标识号对应的子数据项。
第五方面,提供了一种电子设备,包括:处理器、输入装置、输出装置和存储器,所述处理器、输入装置、输出装置和存储器相互连接,所述存储器中存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行上述第一方面、第二方面及其任一种可能的实现方式的方法中相应的功能。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面及其任一种可能的实现方式的方法。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面及其任一种可能的实现方式的方法。
本申请通过生成待压缩网络协议对应的子数据项集合,其中,子数据项集合中的元素相互不同且对应有标识号,实现了对内容相同的子数据项的剔除,对子数据项进行了压缩;进一步地,通过生成待压缩网络协议对应的目标网络协议,其中,目标网络协议中的子数据项为子数据项集合中的元素的标识号,实现了对待压缩网络协议的重组;最后获得的子数据项集合和目标网络协议,减小了占用的存储空间,提高了存储空间利用率。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例提供的一种网络协议压缩方法的流程示意图;
图2为本申请实施例提供的另一种网络协议压缩方法的流程示意图;
图3为本申请实施例提供的一种网络协议使用方法的流程示意图;
图4为本申请实施例提供的一种网络协议压缩装置的结构示意图;
图5为本申请实施例提供的一种网络协议使用装置的结构示意图;
图6为本申请实施例提供的一种网络协议压缩装置的硬件结构示意图。
图7为本申请实施例提供的一种网络协议使用装置的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
下面结合本申请实施例中的附图对本申请实施例进行描述。
请参阅图1,图1是本申请实施例提供的一种网络协议压缩方法的流程示意图。
101、获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数。
待压缩网络协议包含K个数据项,一个数据项中包含M类子数据项,一个子数据项的值包括至少一个参数的值。以CAN总线网络协议为例,如表1和表2所示的两份CAN总线网络协议,分别称为网络协议1和网络协议2(下文将表1和表2所示的两份CAN总线网络协议分别称为网络协议1和网络协议2)。如表1所示,网络协议1包含7个数据项,数据项中包含8个参数:CAN类型、波特率、CAN标识符(identity document,ID)、CAN数据长度、数据流ID、计算起始位、计算数据长度、算法。如表2所示,网络协议2包含5个数据项,数据项中包含的参数含义与网络协议1中的参数含义相同。待压缩网络协议包括网络协议1和网络协议2时,待压缩网络协议共包含12个数据项,相应地K为12。
表1
表2
在一种可能实现的方式中,将上述8个参数按功能划分为CAN信息和数据流信息,CAN信息包含4个参数:CAN类型、波特率、CAN ID、CAN数据长度,数据流信息包含4个参数:数据流ID、计算起始位、计算数据长度、算法,相应地,数据项包含两类子数据项,即CAN信息子数据项和数据流信息子数据项,相应地M为2。如表1所示,数据项1中,CAN信息子数据项的值为“A、5、2C1H、8”,数据流信息子数据项的值为“64、16、1、M1”;数据项2中的CAN信息子数据项的值与数据项1中的CAN信息子数据项的值相同。两个CAN信息子数据项的值相同,是指两个CAN信息子数据项中的CAN类型、波特率、CAN ID、CAN数据长度共4个参数值均分别对应相同。同样地,两个数据流信息子数据项的值相同,是指两个数据流信息子数据项中的数据流ID、计算起始位、计算数据长度、算法共4个参数值均分别对应相同。
102、生成子数据项集合,所述子数据项集合中的元素对应有标识号,所述元素来源于所述K个数据项中的同一类别的子数据项的值,且相互不同。
根据待压缩网络协议中的子数据项类别,分别获得同一类别的子数据项构成的集合,相应地,子数据项的值为集合中的元素,集合中的元素对应有标识号且相互不同。
在一种可能实现的方式中,根据表1和表2所示的网络协议1和网络协议2,从这两份网络协议中生成的CAN信息子数据项集合如表3所示,表3中的CAN信息子数据项的值互不相同,且对应有标识号;从这两份网络协议中生成的数据流信息子数据项集合如表4所示,表4中的数据流信息子数据项的值互不相同,且对应有标识号。
表3
表4
如表3所示,表中的4个CAN信息子数据项的值分别为“A、5、2C1H、8”、“A、5、3B4H、8”、“A、5、4C1H、8”、“A、5、4DCH、8”,对应的标识号分别为“1”、“2”、“3”、“4”。两个子数据项包含的参数中,至少存在一个参数的值对应不相同,则认为两个子数据项的值不相同。上述4个CAN信息子数据项包含的参数中,参数CAN ID互不相同,相应地,4个CAN信息子数据项的值互不相同。
如表4所示,表中的7个数据流信息子数据项的值分别为“64、16、1、M1”、“63、48、8、M1”、“38、20、1、M1”、“54、0、16、M1”、“45、16、8、M1”、“31、39、1、M1”、“39、32、8、M1”,对应的标识号分别为“1”、“2”、“3”、“4”、“5”、“6”、“7”。上述7个数据流信息子数据项包含的参数中,参数算法对应相同,但剩余的3个参数中,至少存在一个对应不相同。相应地,7个数据流信息子数据项的值互不相同。
103、生成上述待压缩网络协议对应的目标网络协议,所述目标网络协议包含的K个数据项各包含M类子数据项;所述目标网络协议中的子数据项的值,为所述目标网络协议中的子数据项在所述子数据项集合中的标识号。
生成待压缩网络协议对应的目标网络协议,目标网络协议中的子数据项的值为子数据项集合中的标识号。在一种可能实现的方式中,网络协议1对应的目标网络协议为表5所示的目标网络协议1(下文将表5所示的网络协议称为目标网络协议1),网络协议2对应的目标网络协议为表6所示的目标网络协议2(下文将表6所示的网络协议称为目标网络协议2)。目标网络协议1和目标网络协议2中的子数据项的值,为表3、表4所示的子数据项集合中的标识号。
表5
表6
本申请实施例通过生成待压缩网络协议对应的子数据项集合,其中,子数据项集合中的元素相互不同且对应有标识号,实现了对内容相同的子数据项的剔除,对子数据项进行了压缩;进一步地,通过生成待压缩网络协议对应的目标网络协议,其中,目标网络协议中的子数据项为子数据项集合中的元素的标识号,实现了对待压缩网络协议的重组;最后获得的子数据项集合和目标网络协议,减小了占用的存储空间,提高了存储空间利用率。
本申请实施例主要举例说明待压缩网络协议的内容形式,以及根据列举的待压缩网络协议所生成的子数据项集合与目标网络协议的具体形式,在下一实施例中,本申请将对生成子数据项集合与目标网络协议采用的技术手段作进一步的说明。
请参阅图2,图2是本申请实施例提供的另一种网络协议压缩方法的流程示意图。
201、获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数。
关于待压缩网络协议的内容形式,请参考101中的说明。
202、从上述待压缩网络协议中获得属于同一类别的子数据项。
以CAN总线网络协议为例,如表1和表2所示的两份CAN总线网络协议,当对CAN总线网络协议中的数据项包含的参数按功能划分时,数据项包含两类子数据项即CAN信息子数据项、数据流信息子数据项。
在一种可能实现的方式中,对CAN总线网络协议中的数据项进行分解,则每一数据项都被分解为两个子数据项即CAN信息子数据项、数据流信息子数据项,从网络协议中分别获得CAN信息子数据项集合、数据流信息子数据项集合。如表1所示,直接从网络协议1中获取包含参数为CAN类型、波特率、CAN ID、CAN数据长度的所有CAN信息子数据项,同样地,如表2所示,从网络协议2中获取所有CAN信息子数据项,将获取到的网络协议1和网络协议2中的CAN信息子数据项进行合并,则获得属于CAN信息类别的子数据项集合。按照上述规则,获得属于数据流信息类别的子数据项集合。
在又一种可能实现的方式中,从CAN总线网络协议中依次逐个读取包含参数为CAN类型、波特率、CAN ID、CAN数据长度的CAN信息子数据项,比如,如表1所示,逐个读取网络协议1中的CAN信息子数据项并存储,如表2所示,紧接着,再逐个读取网络协议2中的CAN信息子数据项并依次存储。读取完网络协议中的CAN信息子数据项之后,按照上述规则,再依次读取并存储网络协议中的数据流信息子数据项。
203、若存在子数据项的值相同,则保留1个相同的值,将剩余的子数据项的值的集合作为子数据项集合。
在一种可能实现的方式中,通过分解、合并的方式获得的CAN信息子数据项集合、数据流信息子数据项集合中,针对值相同的子数据项只保留其中一个子数据项的值,通过删除值相同的子数据项实现“压缩”的目的。将同一类别且值互不相同的子数据项作为最终的集合。如表1和表2所示,从网络协议1和网络协议2中获取CAN信息子数据项集合,网络协议1中的来自数据项1、数据项2、数据项3、数据项4的CAN信息子数据项的值相同,且与网络协议2中的来自数据项1、数据项2、数据项3的CAN信息子数据项的值相同,针对这7个值相同的CAN信息子数据项,删除其中6个CAN信息子数据项。按照上述规则,数据流信息子数据项集合中的值相同的数据流信息子数据项也会被删除,只保留其中1个。
在另一种可能的实现方式中,通过逐个读取、依次存储的方式获得CAN信息子数据项集合、数据流信息子数据项集合时,读取并存储好子数据项集合后,查找子数据项集合中的值相同的子数据项,只保留其中1个,删除剩余的值相同的子数据项,获得最终的集合。
在又一种可能的实现方式中,通过逐个读取、依次存储的方式获得CAN信息子数据项集合、数据流信息子数据项集合时,获得CAN信息子数据项集合时,每读取一个CAN信息子数据项,先判断该CAN信息子数据项的值是否与已存储的其中一个CAN信息子数据项的值相同,若相同,则不存储该CAN信息子数据项;若不同,则存储该CAN信息子数据项。按照上述规则获得的CAN信息子数据项集合中的CAN信息子数据项的值一定互不相同,同样地,按照上述规则可获得数据流信息子数据项的值互不相同的数据流信息子数据项集合。
204、将上述待压缩网络协议中的子数据项的值替换为上述待压缩网络协议中的子数据项在上述子数据项集合中的标识号,得到目标网络协议。
如表5和表6所示,目标网络协议中的子数据项的值为标识号。使用待压缩网络协议中的子数据项检索子数据项集合,获得子数据项集合中值与该子数据项的值相同的子数据项对应的标识号,将该待压缩网络协议中的子数据项的值替换为该标识号,即可得到目标网络协议。比如,目标网络协议1中的数据项1中的CAN信息子数据项的值为“1”,是因为通过使用网络协议1中的数据项1中的值为“A、5、2C1H、8”的CAN信息子数据项,检索CAN信息子数据项集合所获得的值为“A、5、2C1H、8”的CAN信息子数据项对应的标识号为“1”。
205、使用加密算法对上述子数据项集合和上述目标网络协议进行加密处理。
采用加密算法对上述子数据项集合和上述目标网络协议进行加密处理,减小上述子数据项集合和上述目标网络协议即压缩后的网络协议文件被破解或者修改的风险。
本申请实施例通过生成待压缩网络协议对应的子数据项集合,其中,子数据项集合中的元素相互不同且对应有标识号,实现了对内容相同的子数据项的剔除,对子数据项进行了压缩;进一步地,通过生成待压缩网络协议对应的目标网络协议,其中,目标网络协议中的子数据项为子数据项集合中的元素的标识号,实现了对待压缩网络协议的重组;最后获得的子数据项集合和目标网络协议,减小了占用的存储空间,提高了存储空间利用率。此外,通过对子数据项集合和目标网络协议进行加密处理,减小了压缩后的网络协议文件被破解或者修改的风险。
本申请实施例主要阐述了生成子数据项集合与目标网络协议的过程,在下一实施例中,本申请主要介绍对子数据项集合与目标网络协议的使用。
请参阅图3,图3是本申请实施例提供的一种网络协议使用方法的流程示意图。
301、获得子数据项集合,所述子数据项集合中的元素来源于待压缩网络协议所包含的数据项中的同一类别的子数据项的值,且相互不同,所述子数据项集合中的元素对应有标识号。
以使用压缩的CAN总线网络协议为例,获得如表3和表4所示的子数据项集合。子数据项集合中的子数据项的值互不相同且对应有标识,如表3所示,表中的4个CAN信息子数据项的值分别为“A、5、2C1H、8”、“A、5、3B4H、8”、“A、5、4C1H、8”、“A、5、4DCH、8”,对应的标识号分别为“1”、“2”、“3”、“4”。两个子数据项包含的参数中,至少存在一个参数的值对应不相同,则认为两个子数据项的值不相同。如上述的4个CAN信息子数据项包含的参数中,CAN类型、波特率、CAN数据长度对应的值均相同,但CAN ID对应的值互不相同。
302、获得目标网络协议,所述目标网络协议中的子数据项的值,为所述待压缩网络协议的子数据项在所述子数据项集合中的标识号。
以使用压缩的CAN总线网络协议为例,获得如表5和表6所示的目标网络协议1和目标网络协议2,目标网络协议中的子数据项的值为标识号。
303、读取上述目标网络协议中的子数据项的值,作为第一标识号。
在一种可能实现的方式中,根据汽车型号加载相应的目标网络协议,逐个读取目标网络协议中的数据项的值,如表5所示的目标网络协议1,读取数据项1的值“1、1”,接着读取数据项2的值“1、2”,依次读完所有的数据项的值。
在又一种可能实现的方式中,根据汽车型号加载相应的目标网络协议,分类读取目标网络协议中的子数据项的值,如表5所示的目标网络协议1,先读取数据项中的CAN信息子数据项的值“1、1、1、1、2、3、4”,再读取数据项中的数据流信息子数据项的值“1、2、3、4、5、6、7”。
304、使用上述第一标识号检索上述子数据项集合,得到上述第一标识号对应的子数据项。
在一种可能实现的方式中,逐个读取目标网络协议中的数据项的值,每读取一个数据项的值,使用该值检索子数据项集合。如表5所示的目标网络协议1,读取数据项1的值“1、1”,使用该值对应的两个标识号分别检索表3和表4所示的CAN信息子数据项集合和数据流信息子数据项集合,分别获得值为“A、5、2C1H、8”的CAN信息子数据项、值为“64、16、1、M1”的数据流信息子数据项。
在又一种可能实现的方式中,分类读取目标网络协议中的子数据项的值,每读取一类子数据项的值,使用该类子数据项的值检索该类子数据项集合。如表5所示的目标网络协议1,读取数据项中的CAN信息子数据项的值“1、1、1、1、2、3、4”,使用这些值检索CAN信息子数据项集合,分别获得标识号为“1、1、1、1、2、3、4”的CAN信息子数据项;接着,再读取数据项中的数据流信息子数据项的值“1、2、3、4、5、6、7”,使用这些值检索数据流信息子数据项集合,分别获得标识号为“1、2、3、4、5、6、7”的数据流信息子数据项。
本申请实施例通过获得子数据项集合、目标网络协议,获得了占用存储空间小的网络协议文件;进一步地,通过读取上述目标网络协议中的子数据项的值,作为第一标识号,并使用上述第一标识号检索上述子数据项集合,得到上述第一标识号对应的子数据项,成功获取到原始待压缩网络协议中的数据项的值,完成了对上述网络协议文件的使用。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参阅图4,图4为本申请实施例提供的一种网络协议压缩装置的结构示意图,该装置1包括:获取单元11、第一生成单元12、第二生成单元13及加密单元14。其中:
获取单元11,用于获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数;
第一生成单元12,用于生成子数据项集合,所述子数据项集合中的元素对应有标识号,所述元素来源于所述K个数据项中的同一类别的子数据项的值,且相互不同;
第二生成单元13,用于生成所述待压缩网络协议对应的目标网络协议,所述目标网络协议包含的K个数据项各包含M类子数据项;所述目标网络协议中的子数据项的值,为所述目标网络协议中的子数据项在所述子数据项集合中的标识号;
加密单元14,用于使用加密算法对所述子数据项集合和所述目标网络协议进行加密处理。
进一步地,所述第一生成单元12,包括:获取子单元121,用于从所述待压缩网络协议中获得属于同一类别的子数据项;保留子单元122,用于若存在子数据项的值相同,则保留1个相同的值,将剩余的子数据项的值的集合作为子数据项集合。
进一步地,第二生成单元13,还用于:将所述待压缩网络协议中的子数据项的值替换为所述待压缩网络协议中的子数据项在所述子数据项集合中的标识号,得到目标网络协议。
本申请实施例通过生成待压缩网络协议对应的子数据项集合,其中,子数据项集合中的元素相互不同且对应有标识号,实现了对内容相同的子数据项的剔除,对子数据项进行了压缩;进一步地,通过生成待压缩网络协议对应的目标网络协议,其中,目标网络协议中的子数据项为子数据项集合中的元素的标识号,实现了对待压缩网络协议的重组;最后获得的子数据项集合和目标网络协议,减小了占用的存储空间,提高了存储空间利用率。
请参阅图5,图5为本申请实施例提供的一种网络协议使用装置的结构示意图,该装置2包括:第一获得单元21、第二获得单元22、读取单元23、检索单元24。其中:
第一获得单元21,用于获得子数据项集合,所述子数据项集合中的子数据项来源于待压缩网络协议所包含的至少两个数据项中的子数据项,且相互不同,所述子数据项集合中的子数据项具有标识号;
第二获得单元22,用于获得目标网络协议,所述目标网络协议的数据项中包含的标识号,为所述待压缩网络协议的子数据项在所述子数据项集合中的标识号;
读取单元23,用于读取所述目标网络协议的数据项中包含的标识号;
检索单元24,用于使用所述标识号检索所述子数据项集合,得到所述子数据项集合中所述标识号对应的子数据项。
本申请实施例通过获得子数据项集合、目标网络协议,获得了占用存储空间小的网络协议文件;进一步地,通过读取上述目标网络协议中的子数据项的值,作为第一标识号,并使用上述第一标识号检索上述子数据项集合,得到上述第一标识号对应的子数据项,成功获取到原始待压缩网络协议中的数据项的值,完成了对上述网络协议文件的使用。
图6为本申请实施例提供的一种网络协议压缩装置的硬件结构示意图。该网络协议压缩装置3包括处理器31,还可以包括输入装置32、输出装置33和存储器34。该输入装置32、输出装置33、存储器34和处理器31之间通过总线相互连接。
存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
输入装置用于输入数据和/或信号,以及输出装置用于输出数据和/或信号。输出装置和输入装置可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器用于存储网络设备的程序代码和数据。
处理器用于调用该存储器中的程序代码和数据,执行如下步骤:
在一个实现方式中,所述处理器用于执行如下步骤:获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数;生成子数据项集合,所述子数据项集合中的元素对应有标识号,所述元素来源于所述K个数据项中的同一类别的子数据项的值,且相互不同;生成所述待压缩网络协议对应的目标网络协议,所述目标网络协议包含的K个数据项各包含M类子数据项;所述目标网络协议中的子数据项的值,为所述目标网络协议中的子数据项在所述子数据项集合中的标识号。
在另一个实现方式中,所述处理器用于执行如下步骤:从所述待压缩网络协议中获得属于同一类别的子数据项;若存在子数据项的值相同,则保留1个相同的值,将剩余的子数据项的值的集合作为子数据项集合。
在又一个实现方式中,所述处理器用于执行如下步骤:将所述待压缩网络协议中的子数据项的值替换为所述待压缩网络协议中的子数据项在所述子数据项集合中的标识号,得到目标网络协议。
在又一个实现方式中,所述处理器用于执行如下步骤:使用加密算法对所述子数据项集合和所述目标网络协议进行加密处理。
可以理解的是,图6仅仅示出了一种网络协议压缩装置的简化设计。在实际应用中,网络协议压缩装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、控制器、存储器等,而所有可以实现本申请实施例的网络协议压缩装置都在本申请的保护范围之内。
图7为本申请实施例提供的一种网络协议使用装置的硬件结构示意图。该网络协议使用装置4包括处理器41,还可以包括输入装置42、输出装置43和存储器44。该输入装置42、输出装置43、存储器44和处理器41之间通过总线相互连接。
存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器用于相关指令及数据。
输入装置用于输入数据和/或信号,以及输出装置用于输出数据和/或信号。输出装置和输入装置可以是独立的器件,也可以是一个整体的器件。
处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器用于存储网络设备的程序代码和数据。
处理器用于调用该存储器中的程序代码和数据,执行如下步骤:
在一个实现方式中,所述处理器用于执行如下步骤:获得子数据项集合,所述子数据项集合中的元素来源于待压缩网络协议所包含的数据项中的同一类别的子数据项的值,且相互不同,所述子数据项集合中的元素对应有标识号;获得目标网络协议,所述目标网络协议中的子数据项的值,为所述待压缩网络协议的子数据项在所述子数据项集合中的标识号;读取所述目标网络协议中的子数据项的值,作为第一标识号;使用所述第一标识号检索所述子数据项集合,得到所述第一标识号对应的子数据项。
可以理解的是,图7仅仅示出了一种网络协议使用装置的简化设计。在实际应用中,网络协议使用装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、控制器、存储器等,而所有可以实现本申请实施例的网络协议使用装置都在本申请的保护范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriberline,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital versatiledisc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-only memory,ROM)或随机存储存储器(random access memory,RAM)、磁碟或者光盘等各种可存储程序代码的介质。
Claims (10)
1.一种网络协议压缩方法,其特征在于,包括:
获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数;
生成子数据项集合,所述子数据项集合中的元素对应有标识号,所述元素来源于所述K个数据项中的同一类别的子数据项的值,且相互不同;
生成所述待压缩网络协议对应的目标网络协议,所述目标网络协议包含的K个数据项各包含M类子数据项;所述目标网络协议中的子数据项的值,为所述目标网络协议中的子数据项在所述子数据项集合中的标识号。
2.根据权利要求1所述的方法,其特征在于,所述生成子数据项集合,包括:
从所述待压缩网络协议中获得属于同一类别的子数据项;
若存在子数据项的值相同,则保留1个相同的值,将剩余的子数据项的值的集合作为子数据项集合。
3.根据权利要求1或2中任意一项所述的方法,其特征在于,所述生成所述待压缩网络协议对应的目标网络协议,包括:
将所述待压缩网络协议中的子数据项的值替换为所述待压缩网络协议中的子数据项在所述子数据项集合中的标识号,得到目标网络协议。
4.根据权利要求1至3中任意一项所述的方法,所述方法还包括:
使用加密算法对所述子数据项集合和所述目标网络协议进行加密处理。
5.一种网络协议使用方法,其特征在于,包括:
获得子数据项集合,所述子数据项集合中的元素来源于待压缩网络协议所包含的数据项中的同一类别的子数据项的值,且相互不同,所述子数据项集合中的元素对应有标识号;
获得目标网络协议,所述目标网络协议中的子数据项的值,为所述待压缩网络协议的子数据项在所述子数据项集合中的标识号;
读取所述目标网络协议中的子数据项的值,作为第一标识号;
使用所述第一标识号检索所述子数据项集合,得到所述第一标识号对应的子数据项。
6.一种网络协议压缩装置,其特征在于,包括:
获取单元,用于获取待压缩网络协议,所述待压缩网络协议包含K个数据项,所述K个数据项各包含M类子数据项;所述K为大于1的自然数,所述M为大于或等于1的自然数;
第一生成单元,用于生成子数据项集合,所述子数据项集合中的元素对应有标识号,所述元素来源于所述K个数据项中的同一类别的子数据项的值,且相互不同;
第二生成单元,用于生成所述待压缩网络协议对应的目标网络协议,所述目标网络协议包含的K个数据项各包含M类子数据项;所述目标网络协议中的子数据项的值,为所述目标网络协议中的子数据项在所述子数据项集合中的标识号。
7.根据权利要求6所述的装置,其特征在于,所述第一生成单元,包括:
获取子单元,用于从所述待压缩网络协议中获得属于同一类别的子数据项;
保留子单元,用于若存在子数据项的值相同,则保留1个相同的值,将剩余的子数据项的值的集合作为子数据项集合。
8.一种网络协议使用装置,其特征在于,包括:
第一获得单元,用于获得子数据项集合,所述子数据项集合中的子数据项来源于待压缩网络协议所包含的至少两个数据项中的子数据项,且相互不同,所述子数据项集合中的子数据项具有标识号;
第二获得单元,用于获得目标网络协议,所述目标网络协议的数据项中包含的标识号,为所述待压缩网络协议的子数据项在所述子数据项集合中的标识号;
读取单元,用于读取所述目标网络协议的数据项中包含的标识号;
检索单元,用于使用所述标识号检索所述子数据项集合,得到所述子数据项集合中所述标识号对应的子数据项。
9.一种电子设备,其特征在于,包括:处理器、输入装置、输出装置和存储器,所述处理器、输入装置、输出装置和存储器相互连接,所述存储器中存储有程序指令;所述程序指令被所述处理器执行时,使所述处理器执行如权利要求1至5任一项权利要求所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1~5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910810801.7A CN110602069B (zh) | 2019-08-29 | 2019-08-29 | 一种网络协议压缩方法、网络协议使用方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910810801.7A CN110602069B (zh) | 2019-08-29 | 2019-08-29 | 一种网络协议压缩方法、网络协议使用方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110602069A true CN110602069A (zh) | 2019-12-20 |
CN110602069B CN110602069B (zh) | 2022-02-22 |
Family
ID=68856426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910810801.7A Active CN110602069B (zh) | 2019-08-29 | 2019-08-29 | 一种网络协议压缩方法、网络协议使用方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110602069B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259437A (zh) * | 2021-05-11 | 2021-08-13 | 中国第一汽车股份有限公司 | 车辆网络协议的确定方法、装置及存储介质 |
CN114363271A (zh) * | 2021-12-31 | 2022-04-15 | 广州小鹏汽车科技有限公司 | 报文处理方法及存储设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174929A (zh) * | 2006-11-02 | 2008-05-07 | 华为技术有限公司 | 数据压缩方法、装置及自动请求重发反馈系统 |
CN105656923A (zh) * | 2016-02-18 | 2016-06-08 | 中国工程物理研究院计算机应用研究所 | 一种基于模糊加权的二进制协议格式解析方法 |
CN105739480A (zh) * | 2016-01-26 | 2016-07-06 | 深圳市元征科技股份有限公司 | 数据压缩传输方法及装置 |
CN106376021A (zh) * | 2016-08-31 | 2017-02-01 | 邱岩 | 一种面向物联网的内容中心网络协议的优化方法 |
CN106416175A (zh) * | 2014-05-28 | 2017-02-15 | 华为技术有限公司 | 一种协议栈适配方法及装置 |
CN107038202A (zh) * | 2016-12-28 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备、可读介质 |
CN107665191A (zh) * | 2017-10-19 | 2018-02-06 | 中国人民解放军陆军工程大学 | 一种基于扩展前缀树的私有协议报文格式推断方法 |
US20180295069A1 (en) * | 2017-04-06 | 2018-10-11 | Microsoft Technology Licensing, Llc | Network protocol for switching between plain text and compressed modes |
CN109672623A (zh) * | 2018-12-28 | 2019-04-23 | 大唐软件技术股份有限公司 | 一种报文处理方法和装置 |
CN110008382A (zh) * | 2018-12-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种确定TopN数据的方法、系统及设备 |
-
2019
- 2019-08-29 CN CN201910810801.7A patent/CN110602069B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174929A (zh) * | 2006-11-02 | 2008-05-07 | 华为技术有限公司 | 数据压缩方法、装置及自动请求重发反馈系统 |
CN106416175A (zh) * | 2014-05-28 | 2017-02-15 | 华为技术有限公司 | 一种协议栈适配方法及装置 |
CN105739480A (zh) * | 2016-01-26 | 2016-07-06 | 深圳市元征科技股份有限公司 | 数据压缩传输方法及装置 |
CN105656923A (zh) * | 2016-02-18 | 2016-06-08 | 中国工程物理研究院计算机应用研究所 | 一种基于模糊加权的二进制协议格式解析方法 |
CN106376021A (zh) * | 2016-08-31 | 2017-02-01 | 邱岩 | 一种面向物联网的内容中心网络协议的优化方法 |
CN107038202A (zh) * | 2016-12-28 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备、可读介质 |
US20180295069A1 (en) * | 2017-04-06 | 2018-10-11 | Microsoft Technology Licensing, Llc | Network protocol for switching between plain text and compressed modes |
CN107665191A (zh) * | 2017-10-19 | 2018-02-06 | 中国人民解放军陆军工程大学 | 一种基于扩展前缀树的私有协议报文格式推断方法 |
CN110008382A (zh) * | 2018-12-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 一种确定TopN数据的方法、系统及设备 |
CN109672623A (zh) * | 2018-12-28 | 2019-04-23 | 大唐软件技术股份有限公司 | 一种报文处理方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259437A (zh) * | 2021-05-11 | 2021-08-13 | 中国第一汽车股份有限公司 | 车辆网络协议的确定方法、装置及存储介质 |
CN113259437B (zh) * | 2021-05-11 | 2022-11-04 | 中国第一汽车股份有限公司 | 车辆网络协议的确定方法、装置及存储介质 |
CN114363271A (zh) * | 2021-12-31 | 2022-04-15 | 广州小鹏汽车科技有限公司 | 报文处理方法及存储设备 |
CN114363271B (zh) * | 2021-12-31 | 2024-03-12 | 广州小鹏汽车科技有限公司 | 报文处理方法及存储设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110602069B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102402394B (zh) | 一种基于哈希算法的数据存储方法及装置 | |
CN110602069B (zh) | 一种网络协议压缩方法、网络协议使用方法及相关产品 | |
WO2022007434A1 (zh) | 可视化方法及相关设备 | |
CN108228799B (zh) | 对象索引信息的存储方法及装置 | |
CN107240029B (zh) | 一种数据处理方法及装置 | |
CN107438833A (zh) | 一种数据更新方法、装置、系统及服务器 | |
CN103246730A (zh) | 文件存储方法和设备、文件发送方法和设备 | |
CN112036125B (zh) | 一种文档管理方法、装置及计算机设备 | |
CN108287901A (zh) | 用于生成信息的方法和装置 | |
CN102957622A (zh) | 一种数据处理的方法、装置及系统 | |
CN105224560A (zh) | 缓存数据的查找方法和装置 | |
CN111314063A (zh) | 一种基于物联网大数据信息管理方法、系统及装置 | |
CN104956340B (zh) | 可扩展数据重复删除 | |
CN103309833A (zh) | 设备整合方法、终端装置和分布式多终端装置系统 | |
CN110929173A (zh) | 同人识别方法、装置、设备及介质 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
CN114095503A (zh) | 一种基于区块链的联邦学习参与节点选择方法 | |
CN109886300A (zh) | 一种用户聚类方法、装置及设备 | |
US20070027918A1 (en) | Mail processing server, mail processing method, and mail processing program | |
CN116360809B (zh) | 一种嵌入式智能终端固件远程升级方法、系统及介质 | |
CN109213972B (zh) | 确定文档相似度的方法、装置、设备和计算机存储介质 | |
CN113779025B (zh) | 一种区块链中分类数据检索效率的优化方法、系统及应用 | |
CN112416945A (zh) | 基于大数据平台的数据处理方法、系统和计算机设备 | |
WO2015078124A1 (zh) | 一种网络数据处理方法及装置 | |
CN114238767A (zh) | 业务推荐方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |