一种数据包的传输方法、装置以及通信设备与流程

文档序号:29922670发布日期:2022-05-07 09:41阅读:146来源:国知局
一种数据包的传输方法、装置以及通信设备与流程

1.本技术涉及通信领域,具体涉及一种数据包的传输方法、装置以及通信设备。


背景技术:

2.物联网发展的长期愿景是为用户提供一个开放的、与internet兼容并支持互操作的网络环境。为了实现这一目标,物联网技术首先需要在通信协议方面与现有的tcp/ip协议栈兼容;其次,由于物联网是一个资源受限的网络环境,使其具备低速率、低功耗以及泛在连接的特点。因此,物联网技术与internet融合时,需要在数据传输效率方面做出针对性的优化。
3.针对以上两点需求,国际互联网工程任务组(the internet engineering task force,ietf)专门成立了低功率广域网络(low-power wide-area network,lpwan)工作组,致力于研究和完善lpwan的协议栈,使其具备更好的适应性,并在此基础上提出了静态上下文报头压缩(static context header compression,schc)机制,这种机制旨在解决协议栈长报头的压缩和报文分段传输问题,比如ipv6的报头长达40字节,对于物联网消息而言过于冗长,需要采用报头压缩的方法来提高传输效率。
4.schc机制利用了lpwan的特点:1)星型拓扑结构,网关处于中心位置,可同时连接多个终端,终端和网关之间的传输仅需一跳。2)终端和网关之间的大部分流量可提前预知,因为根据通信协议,彼此之间交换的报头内容在网络建设之初便可确定,即网关和终端间长期保持静态的上下文关系。
5.schc机制能够利用这种静态的上下文环境实现数据报头的压缩和解压缩,其主要实现思想是,首先数据交互双方共同维护一套报头字段与标识符的映射关系表,发送方使用一些标识符来取代原始报头(压缩),然后根据双方都已知的映射关系,待接收方收到被压缩的数据后,根据这些标识符来查询映射关系表中匹配的报头字段,然后恢复出原始报头(解压缩)。
6.然而在现有的相关技术的研究过程中,发明人发现,lpwan在与internet融合后,lpwan终端可能随时被任意一个internet上的用户访问,因此下行流量将不再是可提前预知的,也就无法始终保持静态的上下文关系,一些预先设定的压缩规则将会失效,报头和标识符之间不能进行正常转换,从而降低了schc机制的使用效率,产生大量不可压缩的消息。


技术实现要素:

7.本技术提供了一种数据包的传输方法、装置以及通信设备,用于为克服schc机制存在一些情况下报头和标识符之间不能正常转换的问题,引入一种基于动态上下文映射机制的报头转换机制,保障终端设备和网关设备之间进行数据传输时可正常地实现报头及其标识符之间的正常转换,进而可稳定地精简化通信链路中的数据包大小,保障网络传输效率。
8.第一方面,本技术提供了一种数据包的传输方法,方法包括:
9.第一通信设备接收第二通信设备传输过来的初始数据包,其中,在第一通信设备以及第二通信设备中,一方为终端设备,另一方为网关设备;
10.第一通信设备提取随初始数据包传输过来的目标动态虚拟映射(dynamic virtual mapping,dvm)索引值;
11.第一通信设备从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头,其中,dvm单元集合存储有不同dvm索引值与不同报头之间的匹配关系,dvm单元集合中每一个dvm单元存储一个对应的匹配关系,每一个dvm单元由第一通信设备或者第二通信设备进行构建并在可用状态方面保持同步,目标索引值是由第二通信设备根据本地存储的dvm单元集合压缩初始数据包对应的目标报头得到的;
12.第一通信设备基于目标报头,将初始数据包还原成目标数据包。
13.结合本技术第一方面,在本技术第一方面第一种可能的实现方式中,dvm单元集合存储的匹配关系中涉及的不同报头,具体为判定为schc机制中不能查找到对应匹配关系的报头。
14.结合本技术第一方面第一种可能的实现方式,在本技术第一方面第二种可能的实现方式中,dvm单元集合定义于schc机制对应schc规则库中的匹配运算规则项中,并存储于schc机制对应schc规则库中的目标值规则项中。
15.结合本技术第一方面,在本技术第一方面第三种可能的实现方式中,dvm单元集合存储的匹配关系是由第一通信设备或者第二通信设备判断存在预设时间段内使用的报头时,构建预设时间内使用的报头匹配的索引值得到的。
16.结合本技术第一方面,在本技术第一方面第四种可能的实现方式中,dvm单元还携带单元生存时长,单元生存时长指示对应dvm单元的有效使用时长;
17.在第一通信设备从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头的过程中,若目标dvm索引值、目标报头对应的目标单元生存时长已过期或者清零,则舍弃目标报头;
18.若第一通信设备基于目标报头,将初始数据包还原成目标数据包,且第一通信设备为终端设备,则方法还包括:
19.第一通信设备更新目标dvm索引值、目标报头对应的目标单元生存时长。
20.结合本技术第一方面,在本技术第一方面第五种可能的实现方式中,方法还包括:
21.第一通信设备获取待发送数据包并提取待发送数据包的报头;
22.第一通信设备判断待发送数据包的报头是否在dvm单元集合中存在匹配关系;
23.若存在,则第一通信设备根据待发送数据包的报头在dvm单元集合中存在的匹配关系,将待发送数据包的报头匹配的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备;
24.若不存在,则第一通信设备在dvm单元集合中查找空闲dvm单元,在空闲dvm单元中写入待发送数据包的报头与确定的待发送数据包的dvm索引值的匹配关系,将待发送数据包对应的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备。
25.结合本技术第一方面第五种可能的实现方式,在本技术第一方面第六种可能的实现方式中,dvm单元还携带单元生存时长,单元生存时长指示对应dvm单元的有效使用时长;
26.若待发送数据包的报头在dvm单元集合中存在的匹配关系所对应的单元生存时长若已过期或者清零,则第一通信设备放弃将待发送数据包对应的dvm索引值代替待发送数据包的报头;
27.若空闲dvm单元携带的单元生存时长若已过期或者清零,则第一通信设备放弃在空闲dvm单元中写入待发送数据包的报头与确定的待发送数据包的dvm索引值的匹配关系;
28.若第一通信设备将待发送数据包对应的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备,则方法还包括:
29.第一通信设备更新待发送数据包的报头在dvm单元集合中存在的匹配关系所对应的单元生存时长。
30.第二方面,本技术提供了一种数据包的传输装置,装置应用于第一通信设备,装置包括:
31.接收单元,用于接收第二通信设备传输过来的初始数据包,其中,在第一通信设备以及第二通信设备中,一方为终端设备,另一方为网关设备;
32.提取单元,用于提取随初始数据包传输过来的目标dvm索引值;
33.查找单元,用于从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头,其中,dvm单元集合存储有不同dvm索引值与不同报头之间的匹配关系,dvm单元集合中每一个dvm单元存储一个对应的匹配关系,dvm单元集合中每一个dvm单元由第一通信设备或者第二通信设备进行构建并在可用状态方面保持同步,目标索引值是由第二通信设备根据本地存储的dvm单元集合压缩初始数据包对应的目标报头得到的;
34.还原单元,用于基于目标报头,将初始数据包还原成目标数据包。
35.结合本技术第二方面,在本技术第二方面第一种可能的实现方式中,dvm单元集合存储的匹配关系中涉及的不同报头,具体为判定为schc机制中不能查找到对应匹配关系的报头。
36.结合本技术第二方面第一种可能的实现方式,在本技术第二方面第二种可能的实现方式中,dvm单元集合定义于schc机制对应schc规则库中的匹配运算规则项中,并存储于schc机制对应schc规则库中的目标值规则项中。
37.结合本技术第二方面,在本技术第二方面第三种可能的实现方式中,dvm单元集合存储的匹配关系是由第一通信设备或者第二通信设备判断存在预设时间段内使用的报头时,构建预设时间内使用的报头匹配的索引值得到的。
38.结合本技术第二方面,在本技术第二方面第四种可能的实现方式中,dvm单元还携带单元生存时长,单元生存时长指示对应dvm单元的有效使用时长;
39.查找单元在第一通信设备从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头的过程中,若目标dvm索引值、目标报头对应的目标单元生存时长已过期或者清零,则舍弃目标报头;
40.装置还包括:
41.更新单元,用于若还原单元基于目标报头,将初始数据包还原成目标数据包,且第一通信设备为终端设备,则更新目标dvm索引值、目标报头对应的目标单元生存时长。
42.结合本技术第二方面,在本技术第二方面第五种可能的实现方式中,装置还包括压缩单元,用于:
43.获取待发送数据包并提取待发送数据包的报头;
44.判断待发送数据包的报头是否在dvm单元集合中存在匹配关系;
45.若存在,则根据待发送数据包的报头在dvm单元集合中存在的匹配关系,将待发送数据包的报头匹配的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备;
46.若不存在,则在dvm单元集合中查找空闲dvm单元,在空闲dvm单元中写入待发送数据包的报头与确定的待发送数据包的dvm索引值的匹配关系,将待发送数据包对应的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备。
47.结合本技术第二方面第五种可能的实现方式,在本技术第二方面第六种可能的实现方式中,dvm单元还携带单元生存时长,单元生存时长指示对应dvm单元的有效使用时长;
48.若待发送数据包的报头在dvm单元集合中存在的匹配关系所对应的单元生存时长若已过期或者清零,则放弃将待发送数据包对应的dvm索引值代替待发送数据包的报头;
49.若空闲dvm单元携带的单元生存时长若已过期或者清零,则在空闲dvm单元中写入待发送数据包的报头与确定的待发送数据包的dvm索引值的匹配关系;
50.装置还包括:
51.更新单元,用于若压缩单元将待发送数据包对应的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备,则更新待发送数据包的报头在dvm单元集合中存在的匹配关系所对应的单元生存时长。
52.第三方面,本技术提供了一种通信设备,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本技术第一方面或者本技术第一方面任一种可能的实现方式提供的方法。
53.第四方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本技术第一方面或者本技术第一方面任一种可能的实现方式提供的方法。
54.从以上内容可得出,本技术具有以下的有益效果:
55.针对于schc机制存在一些情况下报头和标识符之间不能正常转换的问题,本技术引入一种基于动态上下文映射机制的报头转换机制,通过在终端设备以及网关设备两边实时共享一dvm单元集合,该dvm单元集合存储有不同dvm索引值与不同报头之间的匹配关系,dvm单元集合中每一个dvm单元存储一个对应的匹配关系,每一个dvm单元由第一通信设备或者第二通信设备进行构建,通过该dvm单元在终端设备和网关设备之间在可用状态方面保持同步报头和dvm索引值(标识符)的匹配关系,因此在数据包的传输过程中,报头可以压缩为dvm索引值,数据包的接收方则可在dvm单元集合中查找到dvm索引值相匹配的报头,完成报头的解压,如此完成数据包的还原,进而相比于现有的schc机制可稳定地精简化通信链路中的数据包大小,保障网络传输效率。
附图说明
56.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。
57.图1为本技术数据包的传输方法的一种流程示意图;
58.图2为本技术网关设备压缩报头的一种场景示意图;
59.图3为本技术终端设备压缩报头的一种场景示意图;
60.图4为本技术网关设备解压报头的一种场景示意图;
61.图5为本技术终端设备解压报头的一种场景示意图;
62.图6为本技术数据包的传输方法的一种场景示意图;
63.图7为本技术数据包的传输装置的一种结构示意图;
64.图8为本技术通信设备的一种结构示意图。
具体实施方式
65.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
66.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本技术中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
67.本技术中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本技术中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本技术方案的目的。
68.在介绍本技术提供的数据包的传输方法之前,首先介绍本技术所涉及的背景内容。
69.本技术提供的数据包的传输方法、装置以及计算机可读存储介质,应用于通信设备上,通信设备具体可以为终端设备或者网关设备,用于为克服schc机制存在一些情况下报头和标识符之间不能正常转换的问题,引入一种基于动态上下文映射机制的报头转换机制,保障终端设备和网关设备之间进行数据传输时可正常地实现报头及其标识符之间的正常转换,进而可稳定地精简化通信链路中的数据包大小,保障网络传输效率。
70.本技术提及的数据包的传输方法,其执行主体可以为数据包的传输装置,或者集
成了该数据包的传输装置的网关设备或者终端设备。
71.其中,数据包的传输装置可以采用硬件或者软件的方式实现,网关设备为网络架构中提供网关服务、在网络层以上实现网络互连功能的通信设备,而终端设备则为网络架构中处于末端位置的服务器、物理主机或者用户设备(user equipment,ue)等不同类型的通信设备,其中,ue具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(personal digital assistant,pda)等终端设备,通信设备还可以通过设备集群的方式设置。
72.进一步的,回到物联网应用场景,典型的,终端设备具体可以为物联网架构、物联网网络中用于在末端位置作为数据采集节点或者执行机构的处理设备,而其涉及的数据传输工作,则涉及到终端设备和网关设备之间的交互过程,数据传输工作,以数据包的形式进行,在终端设备和网关设备之间传输数据包时,则可引入本技术所提供的数据包的传输方法,实现其基于动态上下文映射机制的报头转换机制,可稳定地精简化通信链路中的数据包大小,保障网络传输效率。
73.下面,开始介绍本技术提供的数据包的传输方法。
74.首先,参阅图1,图1示出了本技术数据包的传输方法的一种流程示意图,本技术提供的数据包的传输方法,具体可包括如下步骤s101至步骤s104:
75.步骤s101,第一通信设备接收第二通信设备传输过来的初始数据包,其中,在第一通信设备以及第二通信设备中,一方为终端设备,另一方为网关设备;
76.可以看出的是,图1所示实施例并未具体限定执行方是终端设备还是网关设备,考虑到数据包的处理在终端设备侧和网关设备侧可以认为具有对称的特性,基于简要说明的特点,本技术所提供的数据包的传输方法,是以概括性的方式,从数据接收方的角度来进行说明的。
77.在实际应用中,若第一通信设备为终端设备,则第二通信设备则为网关设备;若第一通信设备为网关设备,则第二通信设备则为终端设备。
78.步骤s102,第一通信设备提取随初始数据包传输过来的目标dvm索引值;
79.可以理解的是,第一通信设备从第二通信设备处接收到的初始数据包,其数据包的报头已经被第二通信数据包压缩过了,压缩结果就是此处提及的目标dv们所引致,而该部分内容则可参阅下面步骤s103即将介绍的本技术的基于动态上下文映射机制的报头转换机制。
80.在接收初始数据包的同时,随初始数据包传输过来的还有其原本数据包的报头对应的目标dvm索引值,该目标dvm索引值可以理解为初始数据包其原本数据包的报头的标识符。
81.其中,dvm索引值具体可以携带在初始数据包的报头位置,用于代替原来数据包的报头;或者,dvm索引值也可携带在初始数据包中原来报头位置以外的位置;甚至的,dvm索引值还可以与初始数据包相互独立,从另一信令消息的形式传输到第一通信设备,可以标识好初始数据包和目标dvm索引值之间的匹配关系即可。
82.步骤s103,第一通信设备从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头,其中,dvm单元集合存储有不同dvm索引值与不同报头之间的匹配关系,dvm单元集合中每一个dvm单元存储一个对应的匹配关系,每一个dvm单元由第一通信设备或者第
二通信设备进行构建并在可用状态方面保持同步,目标索引值是由第二通信设备根据本地存储的dvm单元集合压缩初始数据包对应的目标报头得到的;
83.对于本技术构建的基于动态上下文映射机制的报头转换机制,其可以理解为,在终端设备和网关设备与报头相关的压缩器或者解压缩器中,分别建立并维护一组dvm映射单元(dvm单元集合),并为每个dvm单元分别配置dvm索引值,每个dvm单元中存储了dvm索引值与其报头之间的匹配关系,该匹配关系,也可以称为映射关系。
84.在前期构建阶段,终端设备和网关设备在设备初始化之前,双方可提前建立(约定好)一组长度确定的dvm单元(dvm单元集合),具体需要多少dvm单元可在设备初始化时进行配置。
85.在正常使用阶段,涉及到对dvm单元集合的在可用状态方面保持同步(维护),包括:
86.1)双方初始建立的dvm单元需要在单元长度、数量、索引编号等基础参数上保持一致;
87.2)如果要更新dvm单元的参数,包括存储的匹配关系,双方都需要同步更新,保持一致。
88.在dvm单元的应用阶段,以网关设备为数据发送方为例,网关设备将待发送的数据包的报头(可以记为待压缩的报头字段)先映射到一个dvm单元中,读取其dvm索引值,然后进行压缩,再将dvm索引值随压缩后的初始数据包一起发送给终端设备。
89.终端设备收到这个初始数据包后,按照解压流程执行操作重建报头,依据随初始数据包发送过来的dvm索引值,查找到相应dvm单元并从该dvm单元中提取出真实报头(即为上一段提及的待压缩的报头字段),如此可还原出最初网关设备侧的待发送的数据包,完成一次数据交换。
90.步骤s104,第一通信设备基于目标报头,将初始数据包还原成目标数据包。
91.正如上面步骤s103的说明,在dvm单元集合中得到本次初始数据包相匹配的目标报头后,则可基于该目标报头,将初始数据包还原成目标数据包,该目标数据包,即为第二通信设备侧最初想要发给第一通信设备的数据包。
92.从上面内容中可以看出,针对于schc机制存在一些情况下报头和标识符之间不能正常转换的问题,本技术引入一种基于动态上下文映射机制的报头转换机制,通过在终端设备以及网关设备两边实时共享一dvm单元集合,该dvm单元集合存储有不同dvm索引值与不同报头之间的匹配关系,dvm单元集合中每一个dvm单元存储一个对应的匹配关系,每一个dvm单元由第一通信设备或者第二通信设备进行构建,通过该dvm单元在终端设备和网关设备之间在可用状态方面保持同步报头和dvm索引值(标识符)的匹配关系,因此在数据包的传输过程中,报头可以压缩为dvm索引值,数据包的接收方则可在dvm单元集合中查找到dvm索引值相匹配的报头,完成报头的解压,如此完成数据包的还原,进而相比于现有的schc机制可稳定地精简化通信链路中的数据包大小,保障网络传输效率。
93.继续对上述图1所示实施例的各个步骤及其在实际应用中可能的实现方式进行详细阐述。
94.可以理解的是,本技术是基于schc机制提出的,在实际应用中,除了在物联网网络中代替原来的schc机制,还可在现有的schc机制的基础上引入本技术所提供的基于动态上
下文映射机制的报头转换机制,如此在保留原来的schc机制、可实现大部分通用类型的报文和标识符的转换处理的情况下,由本技术基于动态上下文映射机制的报头转换机制来解决schc机制难以完成或者无法完成的报文和标识符的转换处理,如此既可解决现有网络架构中schc机制不能保障所有报文都可得到正常转换的问题,又可便捷、平滑地应用于现有网络架构中,起到一个柔和地移植进具体应用场景的特点。
95.举例而言,dvm单元集合存储的匹配关系中涉及的不同报头,具体可以为判定为schc机制中不能查找到对应匹配关系的报头,例如在历史时间段内schc机制运行时反馈转换异常的报头,又例如人工配置的、认为不适用于schc机制的报头等。
96.此外,本技术所提供的基于动态上下文映射机制的报头转换机制,在一些细节方面,可以参考现有的schc机制的设置。
97.举例而言,本技术基于动态上下文映射机制的报头转换机制中,对于数据发送方对于报头的压缩(将报头字段转换为dvm索引标识)所涉及的数据处理,可以采用schc压缩方式(主要是在流程上类似)进行;类似的,在数据接收方对于报头的解压(将dvm索引值转换为报头字段)所涉及的数据处理,可以采用schc解压方式(主要是在流程上类似)进行。
98.此外,本技术基于动态上下文映射机制的报头转换机制,还可在schc机制的基础上改造得到,作为又一种适于实用的实现方式,dvm单元集合定义于schc机制对应schc规则库中的匹配运算(matching operator,mo)规则项中,并存储于schc机制对应schc规则库中的目标值(target value)规则项中,如此更好地融合进存在schc机制的具体应用场景中。
99.进一步的,作为又一种适于实用的实现方式,dvm单元集合存储的匹配关系,除了可以是基于schc机制不能正常转换的报头构建得到的,在实际应用中,还可以是由第一通信设备或者第二通信设备判断存在预设时间段内使用的报头时,构建预设时间内使用的报头匹配的索引值得到的。
100.容易理解,schc机制针对的是具有通用特点,或者说高频使用特点的报头,而对于一些较为特殊、使用频次较少的报头,则可通过本技术基于动态上下文映射机制的报头转换机制来满足其报头转换需求,这些报头,则可以具体为判定为预设时间段内使用的报头,即,短期使用的报头,如此,使得本技术基于动态上下文映射机制的报头转换机制在实际应用中的细节方面得到更为细腻的延伸,应用范围更广。
101.并且,从此处针对预设时间段内使用的报头构建其dvm单元中的匹配关系可以看出,本技术基于动态上下文映射机制的报头转换机制所涉及的报头,本身可以具有时间属性,既可以是其本身在实际应用中使用需求所涉及的时间属性,在又一种适于实用的实现方式中,还可以是本技术基于动态上下文映射机制的报头转换机制对涉及的报头进行约束的时间属性,也就是说,除了可以针对短期使用(一种时间属性)的报头构建其报头转换关系,还可以针对构建的报头转换关系设置有效使用时间(另一种时间属性)。
102.即,每个dvm单元,除了可以存储基础的报头与dvm索引值之间的匹配关系,还可以携带单元生存时长,该单元生存时长用来指示对应dvm单元的有效使用时长,若dvm失效,显然,其中存储的报头与dvm索引值之间的匹配关系则过期或者清零,不能继续使用。
103.如此设置下,在实际应用中,还可以促进系统自动对dvm单元集合中存储的不同匹配关系进行动态更新,自动清除过期的匹配关系,达到优化、精简化存储空间的效果。
104.此外,在该设置下,dvm单元具有一个生存时间,并且在生存时间到期后还可以重
复使用。因此,dvm单元建立了一种类似动态上下文关系的机制,能够减少网关设备和终端设备之间的上下文同步次数、上下文同步数量,从而也可进一步降低网络资源的消耗。
105.对应的,回到具体的数据包的传输场景,在第一通信设备从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头的过程中,若目标dvm索引值、目标报头对应的目标单元生存时长已过期或者清零,则可舍弃该目标报头。
106.例如,在检索到目标报头或者提取到目标报头时,可舍弃该目标报头;或者,在查找目标报头时,可中断查找;或者,在查找目标报头之前,可直接放弃查找。
107.而若目标报头对应的目标单元生存时长未过期或者清零,则第一通信设备可正常执行基于目标报头,将初始数据包还原成目标数据包。而在该基础上,还存在一种特别的设置,若本技术对于dvm单元的单元生存时长,其在实际应用中具体以倒计时的方式来指示其剩余的有效使用次数,则在使用过程中还可涉及到对该剩余的有效使用次数的倒计时处理,如此进一步精确、简便地约束了dvm单元的使用时长以及存储空间的占用。
108.在对于dvm单元的单元生存时长中剩余的有效使用次数的倒计时处理中,本技术认为,仅当数据接收方,即第一通信设备为终端设备时,可进行执行,即第一通信设备更新目标dvm索引值、目标报头对应的目标单元生存时长。而对于数据接收方为网关设备时,本技术认为,在终端设备和网关设备之间的数据传输过程中,则仅可涉及到dvm单元的释放,并不需要对dvm单元的单元生存时长进行剩余的有效使用次数的倒计时处理。
109.可以理解,对于上述内容,主要是以数据传输过程中的数据接收方角度进行介绍的,在数据接收方,主要涉及到对报头的解压处理(以dvm索引值来还原报头),而对于整个的数据传输过程,还可包括数据发送方侧的压缩处理(以dvm索引值来压缩报头)。
110.为便于说明,仍是以第一通信设备为压缩处理的执行对象进行说明,可以理解的是,此处第一通信设备执行压缩处理所涉及的数据包,和上述第二通信设备发送到第一通信设备的数据包,并不是同一个数据包,不同数据传输过程中涉及的数据包之间的关系,可以随具体应用场景所涉及的业务规则变化,在此不做具体限定。
111.作为又一种适于实用的实现方式,第一通信设备所做的压缩处理,可以包括以下内容:
112.第一通信设备获取待发送数据包并提取待发送数据包的报头;
113.第一通信设备判断待发送数据包的报头是否在dvm单元集合中存在匹配关系;
114.若存在,则第一通信设备根据待发送数据包的报头在dvm单元集合中存在的匹配关系,将待发送数据包的报头匹配的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备;
115.若不存在,则第一通信设备在dvm单元集合中查找空闲dvm单元,在空闲dvm单元中写入待发送数据包的报头与确定的待发送数据包的dvm索引值的匹配关系,将待发送数据包对应的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备。
116.可以看出,在压缩过程中,首先是要查找dvm单元中是否已经存在可以使用的匹配关系了,若不存在则还可涉及到寻找空闲单元来构建新的匹配关系,其中,还可以理解的是,一般dvm单元集合中的dvm单元数量在预先设置中是可以满足较大数量的使用需求的,而若还是出现了使用完毕、未存在空闲dvm单元的情况,则还可继续新建出dvm单元作为新
的空闲dvm单元进行使用。
117.此外,进一步结合上述提及的示例性实施例,dvm单元还可携带其单元生存时长,来指示对应dvm单元的有效使用时长,在该情况下,在压缩过程中,还可涉及到该单元生存时长的更新,具体的:
118.若待发送数据包的报头在dvm单元集合中存在的匹配关系所对应的单元生存时长若已过期或者清零,则第一通信设备放弃将待发送数据包对应的dvm索引值代替待发送数据包的报头;
119.若空闲dvm单元携带的单元生存时长若已过期或者清零,则第一通信设备放弃在空闲dvm单元中写入待发送数据包的报头与确定的待发送数据包的dvm索引值的匹配关系;
120.若第一通信设备将待发送数据包对应的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备,则方法还包括:
121.第一通信设备更新待发送数据包的报头在dvm单元集合中存在的匹配关系所对应的单元生存时长。
122.从上面内容可以再一次看出,本技术考虑实际应用,在报头的压缩过程中所引入的单元生存时长机制,可进一步精确、简便地约束了dvm单元的使用时长以及存储空间的占用,实现本技术基于动态上下文映射机制的报头转换机制的精简化应用。
123.为方便理解上述内容所涉及的四个方面,即网关设备压缩报头、终端设备压缩报头、网关设备解压报头、终端设备解压报头,还可结合图2至图5从示例性实例出发,分别示出的这四个方面的场景示意图进行理解。
124.作为实际应用之前的配置处理,可包括:
125.在schc规则库中,匹配运算规则项中重新定义一种新的匹配运算符,命名为本技术所涉及的dvm。
126.在schc规则库中,目标值规则项中重新定义一组可用的dvm单元列表,比如[(dvm1),(dvm2),
……
],列表中的dvm单元数量可以为为2的整数次幂。
[0127]
dvm单元包含三个部分:1)dvm索引值。2)实际值。3)生存时间。其中,dvm索引值可预先设定一个初始值(比如0);实际值用于存储网关侧待压缩报头字段的真实值,即报头;生存时间为一个初始值可设置的倒计时定时器,最小值为0,即单元生存时长。注意此时这个值在终端侧是空的,dvm索引值和实际值对于要处理的报头字段而言必须是相同的类型和大小,否则操作会出错。
[0128]
在实际应用,可包括上述提及的四个方面:
[0129]
一、网关设备压缩报头(对应图2)
[0130]
(1)根据压缩发起侧的位置来确定数据流向,配置流向标识符di=down和匹配运算符mo=dvm-mapping;
[0131]
发起侧指的是本次dvm压缩是由终端设备发起还是由网关设备发起。如果是终端设备

网关设备则定义为上行流量,反之网关

终端,定义为下行流量,不同流向决定了规则库中指示指标(direction index,di)字段的配置,比如下行流量在做压缩规则匹配时,di=down。
[0132]
可以理解,数据流向的设置是在实际应用中可以涉及的场景确定以及场景还原使用。
[0133]
(2)判断报头字段是否已经与dvm单元建立了映射关系;
[0134]
判断过程可以由软件轮询处理,如果待压缩的报头找到了可用的dvm单元,则能够获取对应的索引值,否则继续寻找下一个,直到dvm单元列表中所有的单元都不可用,则提示无法建立映射关系,dvm操作不可用。
[0135]
(3)如果映射关系存在,则执行对应的压缩操作,如果映射关系不存在则继续判断是否存在可用的dvm单元;
[0136]
(4)如果判断发现存在可用的dvm单元则将报头字段写入该单元,然后执行对应的压缩操作并更新该单元的生存时间;如果发现不存在可用的dvm单元,则继续判断是否存在已经过期(由于生存时间到期而被释放)的dvm单元;
[0137]
(5)如果判断发现存在已经过期的dvm单元,则用报头值写入该dvm单元,然后执行对应的压缩操作并更新单元的生存时间;如果不存在已经过期的dvm单元则返回“本次dvm操作不可用”的提示。
[0138]
二、终端设备压缩报头(对应图3)
[0139]
(1)根据压缩发起侧的位置来确定数据流向,配置流向标识符di=up和匹配运算符mo=dvm-mapping;
[0140]
(2)判断报头字段是否已经与dvm单元建立了映射关系;
[0141]
(3)如果映射关系存在,则执行对应的压缩操作,如果映射关系不存在则继续判断是否存在可用的dvm单元;
[0142]
(4)如果判断发现存在可用的dvm单元则将报头字段写入该单元,然后执行对应的压缩操作并更新该单元的生存时间;如果发现不存在可用的dvm单元,则继续判断是否存在已经过期(由于生存时间到期而被释放)的dvm单元;
[0143]
(5)如果判断发现存在已经过期的dvm单元,则用报头值写入该dvm单元,然后执行对应的压缩操作并更新单元的生存时间;如果不存在已经过期的dvm单元则返回“本次dvm操作不可用”的提示。
[0144]
三、网关设备解压报头(对应图4)
[0145]
(1)根据压缩发起侧的位置来确定数据流向,配置流向标识符di=up和匹配运算符mo=dvm-mapping;
[0146]
(2)执行对应的解压缩操作,用dvm索引值对应dvm单元中保存的实际值来还原报头。
[0147]
四、终端设备解压报头(对应图5)
[0148]
(1)根据压缩发起侧的位置来确定数据流向,配置流向标识符di=down和匹配运算符mo=dvm-mapping;
[0149]
(2)执行对应的解压缩操作,用dvm索引值对应dvm单元中保存的实际值来还原报头,并根据压缩/解压缩(compress/decompress,c/d)操作中的生存时间值(time to live,ttl)值来更新dvm单元的生存时间。
[0150]
参阅图6示出的本技术数据包的传输方法的一种场景示意图,继续用一个实例进行上述内容的示例性说明。
[0151]
假设一台lpwan终端使用受限应用协议(constrained application protocol,coap)服务向internet上一台ipv6应用服务器发起post请求,然后接收来自服务器的应答
消息,以此类比为一类典型的外部coap/http客户端向lpwan终端发送不定期消息的场景。
[0152]
本场景中使用的压缩规则库如下表1所示。
[0153]
表1-规则库
[0154][0155]
对于这个应用示例,终端的全局ipv6前缀(ipv6devprefix)是alpha::/64,设备id部分(ipv6deviid)可以依据其mac地址而定。终端中coap运行在udp5678端口,且目标源路径是/r。coap类型在上下行方面上一致,指令码分别是(0.02)以及ack(0.00)。此外,udplength和udpchksum的取值都可忽略,因为解压缩器可以依据低层(传输层中的某些字段的值可以通过传输层以下的协议来计算得到)的协议来重新计算这些值。因此,所有已知的报头字段仍被保存在规则库中,针对这些字段,压缩器不发送任何内容,但解压缩器需要使用这些保存的值来重建报头。
[0156]
本场景下的dvm方法主要用于对用户ipv6地址的前缀部分(ipv6appprefix)和id部分(ipv6appid)、udp报头中的端口号(udpappport)以及coap报头中的消息id段(coapmid)进行压缩/解压缩操作。因为这些字段的值,不同的数据流之间均不相同,所以现有的schc方法不可压缩,但是本技术所涉及的dvm方法可以处理。
[0157]
如上表1中的规则库所示,本技术定义两个dvm单元来参与压缩/解压缩,对上述schc无法压缩的字段利用dvm单元,按照本技术提出的数据处理来进行处理,终端和网关之间的数据流量仍然可以按照压缩后的状态进行传输,从而稳定地降低通信开销。
[0158]
以上是本技术提供数据包的传输方法的介绍,为便于更好的实施本技术提供的数据包的传输方法,本技术还从功能模块角度提供了一种数据包的传输装置。
[0159]
参阅图7,图7为本技术数据包的传输装置的一种结构示意图,在本技术中,数据包的传输装置700具体可包括如下结构:
[0160]
接收单元701,用于接收第二通信设备传输过来的初始数据包,其中,在第一通信设备以及第二通信设备中,一方为终端设备,另一方为网关设备;
[0161]
提取单元702,用于提取随初始数据包传输过来的目标dvm索引值;
[0162]
查找单元703,用于从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头,dvm单元集合存储有不同dvm索引值与不同报头之间的匹配关系,dvm单元集合中每一个dvm单元存储一个对应的匹配关系,dvm单元集合中每一个dvm单元由第一通信设备或者第二通信设备进行构建并在可用状态方面保持同步,目标索引值是由第二通信设备根据本地存储的dvm单元集合压缩初始数据包对应的目标报头得到的;
[0163]
还原单元704,用于基于目标报头,将初始数据包还原成目标数据包。
[0164]
在一种示例性的实现方式中,dvm单元集合存储的匹配关系中涉及的不同报头,具体为判定为schc机制中不能查找到对应匹配关系的报头。
[0165]
在又一种示例性的实现方式中,dvm单元集合定义于schc机制对应schc规则库中的匹配运算规则项中,并存储于schc机制对应schc规则库中的目标值规则项中。
[0166]
在又一种示例性的实现方式中,dvm单元集合存储的匹配关系是由第一通信设备或者第二通信设备判断存在预设时间段内使用的报头时,构建预设时间内使用的报头匹配的索引值得到的。
[0167]
在又一种示例性的实现方式中,dvm单元还携带单元生存时长,单元生存时长指示对应dvm单元的有效使用时长;
[0168]
查找单元在第一通信设备从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头的过程中,若目标dvm索引值、目标报头对应的目标单元生存时长已过期或者清零,则舍弃目标报头;
[0169]
装置还包括:
[0170]
更新单元705,用于若还原单元基于目标报头,将初始数据包还原成目标数据包,且第一通信设备为终端设备,则更新目标dvm索引值、目标报头对应的目标单元生存时长。
[0171]
在又一种示例性的实现方式中,装置还包括压缩单元706,用于:
[0172]
获取待发送数据包并提取待发送数据包的报头;
[0173]
判断待发送数据包的报头是否在dvm单元集合中存在匹配关系;
[0174]
若存在,则根据待发送数据包的报头在dvm单元集合中存在的匹配关系,将待发送数据包的报头匹配的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备;
[0175]
若不存在,则在dvm单元集合中查找空闲dvm单元,在空闲dvm单元中写入待发送数据包的报头与确定的待发送数据包的dvm索引值的匹配关系,将待发送数据包对应的dvm索
引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备。
[0176]
在又一种示例性的实现方式中,dvm单元还携带单元生存时长,单元生存时长指示对应dvm单元的有效使用时长;
[0177]
若待发送数据包的报头在dvm单元集合中存在的匹配关系所对应的单元生存时长若已过期或者清零,则放弃将待发送数据包对应的dvm索引值代替待发送数据包的报头;
[0178]
若空闲dvm单元携带的单元生存时长若已过期或者清零,则在空闲dvm单元中写入待发送数据包的报头与确定的待发送数据包的dvm索引值的匹配关系;
[0179]
装置还包括:
[0180]
更新单元705,用于若压缩单元将待发送数据包对应的dvm索引值代替待发送数据包的报头,并将更新得到的数据包传输至第二通信设备,则更新待发送数据包的报头在dvm单元集合中存在的匹配关系所对应的单元生存时长。
[0181]
本技术还从硬件结构角度提供了一种通信设备,参阅图8,图8示出了本技术通信设备的一种结构示意图,本技术通信设备可以为终端设备或者网关设备,具体的,本技术通信设备可包括处理器801、存储器802以及输入输出设备803,处理器801用于执行存储器802中存储的计算机程序时实现如图1对应实施例中数据包的传输方法的各步骤;或者,处理器801用于执行存储器802中存储的计算机程序时实现如图7对应实施例中各单元的功能,存储器802用于存储处理器801执行上述图1对应实施例中数据包的传输方法所需的计算机程序。
[0182]
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器802中,并由处理器801执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
[0183]
通信设备可包括,但不仅限于处理器801、存储器802、输入输出设备803。本领域技术人员可以理解,示意仅仅是通信设备的示例,并不构成对通信设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如通信设备还可以包括网络接入设备、总线等,处理器801、存储器802、输入输出设备803等通过总线相连。
[0184]
处理器801可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是通信设备的控制中心,利用各种接口和线路连接整个设备的各个部分。
[0185]
存储器802可用于存储计算机程序和/或模块,处理器801通过运行或执行存储在存储器802内的计算机程序和/或模块,以及调用存储在存储器802内的数据,实现计算机装置的各种功能。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据通信设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固
态存储器件。
[0186]
处理器801用于执行存储器802中存储的计算机程序时,具体可实现以下功能:
[0187]
接收第二通信设备传输过来的初始数据包,其中,在第一通信设备以及第二通信设备中,一方为终端设备,另一方为网关设备;
[0188]
提取随初始数据包传输过来的目标dvm索引值;
[0189]
从本地存储的dvm单元集合中查找目标dvm索引值相匹配的目标报头,其中,dvm单元集合存储有不同dvm索引值与不同报头之间的匹配关系,dvm单元集合中每一个dvm单元存储一个对应的匹配关系,每一个dvm单元由第一通信设备或者第二通信设备进行构建并在可用状态方面保持同步,目标索引值是由第二通信设备根据本地存储的dvm单元集合压缩初始数据包对应的目标报头得到的;
[0190]
基于目标报头,将初始数据包还原成目标数据包。
[0191]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据包的传输装置、通信设备及其相应单元的具体工作过程,可以参考如图1对应实施例中数据包的传输方法的说明,具体在此不再赘述。
[0192]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0193]
为此,本技术提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术如图1对应实施例中数据包的传输方法的步骤,具体操作可参考如图1对应实施例中数据包的传输方法的说明,在此不再赘述。
[0194]
其中,该计算机可读存储介质可以包括:只读存储器(read only memory,rom)、随机存取记忆体(random access memory,ram)、磁盘或光盘等。
[0195]
由于该计算机可读存储介质中所存储的指令,可以执行本技术如图1对应实施例中数据包的传输方法的步骤,因此,可以实现本技术如图1对应实施例中数据包的传输方法所能实现的有益效果,详见前面的说明,在此不再赘述。
[0196]
以上对本技术提供的数据包的传输方法、装置、通信设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1