一种数据包传输方法、装置、电子设备与存储介质与流程

文档序号:33457748发布日期:2023-03-15 02:53阅读:49来源:国知局
一种数据包传输方法、装置、电子设备与存储介质与流程

1.本发明实施例涉及通信领域,特别涉及一种数据包传输方法、装置、电子设备与存储介质。


背景技术:

2.tft(traffic flow template,业务流模板,也称为数据包过滤器组)是关联到eps(evolved packet system,演进的分组系统)承载上的一个数据包过滤器的集合,分为上行过滤模版ul tft(uplink tft)和下行过滤模版dl tft(downlink tft)。ul tft是一组上行数据包过滤器,dl tft是一组下行数据包过滤器。每一个专用承载都关联一个tft。
3.ue(user equipment,用户设备)通过ul tft把上行数据映射到tft关联的承载上传输,p-gw通过dl tft把下行的数据映射到tft关联的承载上传输。当ue请求一个pdn(public data network,公用数据网)连接时,网侧会为pdn分配承载,当pdn被分配包过滤器时,ue需要对该pdn维护一张tft表。如果该pdn被分配了较多的包过滤器,tft表也随之变大。此时如果有上行数据到达,需要按照包过滤器的优先级遍历tft中的每个包过滤器,直到找到符合规则的包过滤器。这对数据的传输速率影响很大。包过滤器数量越多,tft匹配平均耗时就越大,影响数据的传输速率,而相比nb-iot(narrow band internet of things,窄带物联网),cat1对数据的传输速率有更高的要求。


技术实现要素:

4.本发明实施方式的目的在于提供一种数据包传输方法、装置、电子设备与存储介质,使得在不违背3gpp协议的前提下,实现tft匹配的时延不随包过滤器数量的增多而增大,显著提升应用此数据包传输方法的产品竞争力。
5.为解决上述技术问题,本发明的实施方式提供了一种数据包传输方法,包括:预先定义数据结构体,所述数据结构体中至少包含一个节点,各节点均包括数据包的标识信息和对应的服务标准;在检测到待传输数据包时,遍历所述数据结构体中的节点,在所述数据结构体中查找满足预设条件的目标节点,所述预设条件包括:节点中数据包的标识信息与所述待传输数据包的标识信息相同;在查找到所述目标节点的情况下,根据所述目标节点对应的服务标准传输所述待传输数据包。
6.本发明的实施方式还提供了一种数据包传输装置,包括:定义模块,用于预先定义数据结构体,所述数据结构体中至少包含一个节点,各节点包括数据包的标识信息和对应的服务标准;查找模块,用于在检测到待传输数据包时,遍历所述数据结构体中的节点,在所述数据结构体中查找满足预设条件的目标节点,所述预设条件包括:节点中的数据包标识信息与所述待传输数据包的标识信息相同;传输模块,用于在查找到所述目标节点的情况下,根据所述目标节点对应的服务标准传输所述待传输数据包。
7.本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执
行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据包传输方法。
8.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述数据包传输方法。
9.在本发明实施方式中,数据包传输方法通过维护一个数据结构体,此数据结构体中的各节点信息包含数据包的标识信息和标识信息对应的服务标准,在传输数据包时,可以直接在数据结构体中根据数据包的标识信息遍历查找待传输数据包对应的服务标准,而无需每一次都在tft中进行匹配;本发明的这一实施方式可以更为快速地获取本次待传输数据包应该采用的服务标准。本发明的这一实施方式可以在不违背3gpp(3rd generation partnership project,第三代合作伙伴计划)协议的前提下,实现tft匹配的时延不随包过滤器数量的增多而增大,且可以保持在一个较小的范围内,显著提升应用此数据包传输方法的产品的竞争力。
10.另外,所述对应的服务标准,包括:网络侧分配的承载对应的qos;所述遍历所述数据结构体中的节点之前,统计数据包过滤器的数量;若所述数据包过滤器的数量为零,使用默认承载对应的qos传输所述待传输数据包。当数据包过滤器为零时,意味着网侧没有被分配专有承载,数据包都由默认承载对应的qos传输;此时可以通过统计包过滤器的数量,并在包过滤器的数量为零时直接使用默认承载对应的qos将待传输数据包传输出去;使得可以避免将待传输数据包进行解码这一过程以节省数据包传输时间,这一过程的作用为,将待传输数据包进行解码以获得标识信息,以将待传输数据包的标识信息与数据结构体节点中的数据包标识信息进行对比或进行tft匹配。
11.另外,在未查找到所述目标节点的情况下,通过tft为所述待传输数据包匹配对应的服务标准;根据匹配得到的所述对应的服务标准,传输所述待传输数据包;将所述待传输数据包的标识信息和所述匹配得到的所述对应的服务标准作为目标节点添加到所述数据结构体中。在数据结构体中没有当前待传输数据包的标识信息所对应的节点信息时,可以通过tft为当前的待传输数据包匹配对应的服务标准后根据匹配到的服务标准将待传输数据包传输出去,并且将当前的待传输数据包的标识信息以及匹配到的对应的服务标准作为目标节点中的信息添加到数据结构体中,以对数据结构体中的节点进行实时的更新,方便下一次传输相同标识信息的数据包时能够在数据结构体中查找到此相同标识信息对应的服务标准。
12.另外,所述将所述待传输数据包的标识信息和所述匹配得到的所述对应的服务标准作为目标节点添加到所述数据结构体中,包括:将所述待传输数据包的标识信息和所述匹配得到的所述对应的服务标准作为目标节点;将所述目标节点添加到所述数据结构体首端,并将所述数据结构体中的其他节点向后顺延;当所述数据结构体超出预设长度时,删除所述数据结构体末端的节点。将包含新信息的节点添加到数据结构体的首端,可以在下一次传输相同标识信息的数据包时更为快速地比对到包含此标识信息的节点;同时为数据结构体设置一个预设长度,可以使得遍历数据结构体的时间控制在一个较为理想的范围内,维持数据结构体中节点信息的实时性。
13.另外,所述预设长度根据实际应用场景中的业务数量进行调整。数据结构体的预设长度,也就是数据结构体中的节点数可以根据实际应用场景中业务数量的多少进行调
整;当实际应用场景中终端设备使用的业务数量通常较多时,可以将数据结构体的节点数增加,反之减少。对数据结构体中的节点数进行调节可以适应实际应用场景的变换,提升产品的适用范围。
14.另外,所述根据所述目标节点对应的服务标准传输所述待传输数据包后,还包括:将所述目标节点移动到所述数据结构体首端。在数据传输过程中,经常出现最近待传输的数据包与前几次中某一次待传输的数据包的标识信息相同的情况时,每一次数据传输时都将最近数据传输时使用过的节点移动到数据结构体的首端,可以在下一次遍历时更早地查找到对应的服务标准,节省数据传输时延。
15.另外,所述数据结构体中的各节点均还包括:时间戳;所述将所述目标节点移动或添加到所述数据结构体首端之后,更新所述数据结构体首端节点的时间戳;在所述遍历所述数据结构体中的节点的过程中,获得当前时间戳与当前遍历到的所述数据结构体中的节点时间戳的差值;若所述差值大于预设阈值,并且当前遍历到的所述节点中数据包的标识信息与所述待传输数据包的标识信息不同时,删除所述遍历到的所述数据结构体中的节点。通过在数据结构体的节点信息中添加时间戳,可以识别出数据结构体中在预设阈值时间内没有用到过的节点信息,即识别出较长时间未使用到的节点,并在识别到某一节点信息较长时间未使用后,删除这一节点,仅保留存储有近期传输的数据包的标识信息的节点,以维持数据结构体中节点信息的实时性,减少传输数据包之前在数据结构体中进行遍历查找的次数,降低数据传输延时。
附图说明
16.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
17.图1是物联网技术的发展与应用图;
18.图2是空口控制面协议栈架构图;
19.图3是本发明一实施方式的数据传输方法的流程图;
20.图4是本发明一实施方式中的默认承载上下文激活交互图;
21.图5是本发明一实施方式中的专用承载上下文激活交互图;
22.图6是本发明一实施方式中的tft信元格式图;
23.图7是本发明一实施方式中的包过滤表(packet filter list)格式图;
24.图8是本发明一实施方式中的承载与包过滤器的关系图;
25.图9是本发明另一实施方式的数据包传输装置的结构示意图;
26.图10是本发明另一实施方式的电子设备的结构示意图。
具体实施方式
27.ltecat(lteue-category,cat.x的全称;lte,long term evolution,长期演进,是指4glte网络;ue是指用户设备;category翻译成等级),ltecat就是是4glte网络中用户设备所能支持的传输速率等级,也可视为4g网络速度的技术标准。按照3gpprelease(3rd generation partnership project,第三代合作伙伴计划)定义,ue-category分为10个等
级,等级越高,用户终端设备的速率就越高。lte-cat影响的是4glte上行、下行网络速度的上限,通俗来讲就用户设备所能达到的上传、下载速度最大值。
28.4g网络的技术标准如下表所示:
29.ue category最大下载速度(mbps)最大上传速度(mbps)cat.1105cat.25025cat.310050cat.415050cat.530075cat.630050cat.7300150cat.81200600
30.cat.1基于现有的lte网络,可以完全复用现有lte资源,不需要增加额外投资。而且cat.1芯片及模组的成熟度更高,成本非常便宜,能够在短时间内形成规模效应。
31.随着2g/3g的加速退网,运营商们开始积极引导行业用户使用nb-iot和cat.1终端模组,也是目前cat.1日益火热的原因之一。它有着比nb-iot更好的网络覆盖,更快的速度,更低的延时;又有着比cat.4更低的成本,更低的功耗。
32.cat.1指向广阔的物联网市场,实现更低功耗、更低成本物联网设备连接到lte网络。支持更低category,对可穿戴设备、智慧家庭和智慧电表等物联网应用非常关键。
33.1、cat.1的发展
34.早在2009年,3gpp release 8中就定义了cat.1,而之后,cat.1的发展不温不火,坐了十年的“冷板凳”,于2020年年初“一夜走红”,cat.1迎来了发展的黄金时代。
35.随着物联网不断发展,中低速业务应用的需求被大量激活,例如穿戴设备、pos(point of sale,销售终端)业务、共享经济和物流跟踪等。这些场景对实时性、传输速率和延迟提出了更高的要求。在这样的大背景下,cat.1顺应时代发展,时隔十年,高调“二次出道”。
36.cat.1再次进入人们视野之后,能得到快速发展,离不开来自政策、网络及市场三个层面的共同加持:
37.政策层面,2020年5月,工信部办公厅发布了《关于深入推进移动物联网全面发展的通知》,明确表示,以nb-iot和cat.1协同承接2g/3g物联连接,提升频谱利用效率。在保障存量物联网终端网络服务水平的同时,引导新增物联网终端不再使用2g/3g网络,推动存量2g/3g物联网业务向nb-iot/4g(含cat.1)/5g网络迁移。
38.网络层面,一方面国内三大运营商达成共识,2g退网势在必行,另一方面lte网络与中低速物联网应用的相互促进。双重作用之下,lte(cat.1)网络发展越来越好。据了解,2021年全国移动通信基站总数达到996万个,其中4g基站就有590万个,占比接近6成。从目前的发展来看,这张lte网络已实现全面覆盖且足够成熟,且lte网络也将长期存在,这让cat.1产业推动起来很顺利,不需要再投入更多的基础建设。
39.市场层面,端侧成本持续下降。不论哪个领域、哪个产业,成本都是其绕不开的话题。以cat.1模组为例,初期主要是基于高通的芯片,成本超过百元。直至2019年,asr与紫光
展锐的芯片产品发布后,模组成本价下降到60-70元,目前cat.1模组市场价普遍在40-50元之间。未来,随着新的芯片玩家的加入,cat.1模组成本价还能进一步下探。
40.2g退网已是不可逆转的趋势,而退网之后该市场将由nb-iot与cat.1来填补。
41.nb-iot方面,主要用于低速率、低功耗且对成本要求很高的应用场景,典型的应用领域包括智能抄表、智能烟感、智能井盖及智慧停车等。
42.cat.1方面,由于其具有良好的移动性、语音通话功能以及较高的传输速率,将会拥有更广的使用面,比如pos机、定位器、儿童手表、两轮(电动)车、车载t-box(telematics box,远程信息处理器)、视频监控等。如图1所示,为物联网技术的发展与应用图。
43.总的来说,政策层面的强大推动力、lte网络的全面覆盖且能直接平移,以及顺应市场对于终端低价的需求,让cat.1产业发展直接进入快车道。
44.2、cat.1技术的主要特性
45.(1)lte cat.1网络能力
46.传输速率:在lte网络下,终端最高可达10mbps的下行峰值速率和5mbps的上行峰值速率,具体如下:
47.lte cat.1在fdd(frequency division duplexing,频分双工)模式下,终端可达到9mbps以上的下行峰值速率和4.5mbps以上的上行峰值速率。
48.lte cat.1在td-lte模式下:
49.在网络采用ul:2/dl:2,特殊子帧采用10:2:2的配置时,终端应至少达到5mbps以上的下行实测峰值速率和1.7mbps以上的上行实测峰值速率。
50.在网络采用ul:1/dl:3,特殊子帧采用10:2:2的配置时,终端应至少达到7mbps以上的下行实测峰值速率和0.8mbps以上的上行实测峰值速率。
51.(2)lte cat.1无线空口特点
52.lte cat.1支持的空口信道如下表所示:
[0053][0054]
lte cat.1支持的系统带宽如下表所示:
[0055][0056]
lte cat.1的工作频段如下表所示:
[0057][0058]
lte cat.1还支持下行ofdma(orthogonal frequency division multiple access,正交频分多址)和上行sc-fdma(single-carrier frequency-division multiple access,单载波频分多址)传输,支持15khz子载波间隔,normal cp(normal cyclic prefix,常规循环前缀),extended cp(extended cyclic prefix,扩展循环前缀)。
[0059]
(3)lte cat.1的其他优势
[0060]
覆盖面广:扩大室内以及地下或半地下地点(如地下管道、地下室或其他偏远地区的覆盖率)。
[0061]
增强的安全性与可靠性:lte-m(long term evolution-machine-to-machine,机器间的lte技术)网络安全可靠,在许可证频谱上运行,并附带运营商级安全。
[0062]
电池续航时间长:lte-m系统非常省电,在电池续航时间方面提高了10倍,无需外
部电源。
[0063]
低成本:较低的模块和调用成本使生产和扩展支持lte-m的物联网设备变得容易。
[0064]
未来发展:lte-m是3gpp设定的标准,因此具有4g网络和随后的5g的所有可靠性和连续性。
[0065]
广泛的应用支持:lte-m的延迟非常低(《100ms),支持双向通信,因此适用于静态和移动使用情况。
[0066]
3、lte空口控制面协议栈
[0067]
lte下定义了空口控制面协议栈架构,如图2所示。其中:
[0068]
(1)phy(physical,物理层):提供两个物理实体间的可靠比特率传输,适配传输媒介。无线空口中,适配的是无线环境;地面接口中,适配的则是e1,网线,光纤等传输媒介。
[0069]
(2)mac(media access control,媒介接入控制):负责处理harq(hybrid automatic repeat request,混合自动重传请求)与上下行调度。
[0070]
(3)rlc(radio link control,无线链路控制子层):在发送端,提供数据包的分段与串联、在接收端,提供透明,确认模式与非确认模式三种模式、rlc层也执行对rlc pdu(protocol data unit,协议数据单元)的重排序与重传。
[0071]
(4)pdcp(packet data convergence protocol,分组数据汇聚协议子层):rohc(robust header compression,健壮性包头压缩)、as(access stratum,接入层)的安全(包括加密与完整性检验)、包的重排序和重传。
[0072]
(5)rrc(radio resource control,无线资源控制子层):支持传输nas(non-access stratum,非接入层)信令,同时也提供对于无线资源的管理。广播系统消息,例如mib(master information block,主系统信息块),sib1(sib,system information block,系统信息块),sib2
……
;rrc连接的建立,重建立,重配置和释放;rb(radio bear,无线承载)的建立,修改与释放。
[0073]
(6)nas(非接入层):提供移动性管理和承载管理。
[0074]
4、激活承载的过程
[0075]
承载的激活属于nas子层esm(eps session management,eps会话管理)的功能。分为激活默认承载和激活专有承载。
[0076]
如图4所示,默认承载上下文激活流程是为了在ue和epc(evolved packet core,分组演进核心)之间建立一个默认eps承载上下文,该流程由网络侧发起,作为来自ue消息
‑‑‑
pdn连接请求的响应。
[0077]
该流程可以是附着流程的一部分,mme(mobility management entity,移动性管理实体)发送activate default eps bearer context request和attach accept消息给ue,如果附着流程失败,那么ue应认为默认承载激活流程也是失败的。在该流程中,默认承载上下文没有任何被分配的tft,相应地使用一个全匹配的包滤波器。网络侧可以在建立默认承载后的任意时刻分配一个tft给该默认承载,并且在后续时间里修改该默认承载的tft包滤波器。
[0078]
如图5所示,专用承载上下文激活流程是在ue和epc之间建立一个特定qos(quality of service,服务质量)和tft的eps承载上下文。该流程由网络侧发起,但可以被ue通过某些流程请求或触发,比如ue请求承载资源分配流程或ue请求承载资源修改流程。
该流程可单独出现,也可以是附着流程的一部分或伴随单独的pdn连接流程的默认eps承载上下文激活流程,如果附着失败或默认eps承载上下文激活流程失败,那么ue应当认为专用eps承载激活流程也是失败的。
[0079]
5、tft分类
[0080]
tft可以分为以下13类包过滤器:
[0081]
ipv4 remote address type(0x10):ipv4远端地址+子网掩码;
[0082]
ipv4 local address type(0x11):ipv4本地地址+子网掩码;
[0083]
ipv6 remote address type(0x20):ipv6远端地址+子网掩码;
[0084]
ipv6 remote address/prefix length type(0x21):ipv6远端地址+地址前缀长度;
[0085]
ipv6 local address/prefix length type(0x23):ipv6本地地址+地址前缀长度;
[0086]
protocol identifier/next header type(0x30):传输层协议id,例如tcp,udp;
[0087]
single local port type(0x40):本地端口;
[0088]
local port range type(0x41):本地端口范围;
[0089]
single remote port type(0x50):远端端口;
[0090]
remote port range type(0x51):远端端口范围;
[0091]
security parameter index type(0x60):spi,仅限protocol identifier/next header type为esp;
[0092]
type of service/traffic class type(0x70):tos;
[0093]
flow label type(0x80):流标签,仅限ipv6;
[0094]
每个包过滤器拥有一个唯一的优先级,优先级越高,越先匹配数据包。
[0095]
6、tft分配
[0096]
激活默认承载请求是不会分配tft的,默认承载的tft分配由修改承载请求完成。因为修改承载请求不是必需的,所以默认承载可能被分配tft,也可能没有被分配tft。对于没有被分配tft的默认承载来说,所有数据包都满足过滤条件。
[0097]
激活专有承载请求必须分配tft,专有承载的tft可以由修改承载请求完成修改。如果在修改承载请求中,对某条专有承载的tft进行了全部删除操作,那么该专有承载应该被去激活。
[0098]
其中,tft信元格式如图6所示,tft信元标识:traffic flow template iei;信元长度:length of traffic flow template ietft;tft操作码:tft operation code,包括新增,修改,替换,删除等;是否包含参数列表(parameters lists):e bit;包过滤器数量:number of packer filters;包过滤器列表:packet filter list;参数列表:parameters list。
[0099]
当tft operation code为新增,修改,替换时,可以达成分配tft的目的,此时包过滤表(packet filter list)格式如图7所示:包过滤器方向:packer filter direction;包过滤器标识:packer filter identifier;包过滤器优先级:packer filter evaluation precedence;包过滤器内容长度:length of packet filter contents;包过滤器内容:packet filter contents;备用:spare。octet表示8位(bit)。
[0100]
7、tft匹配
[0101]
当ue请求一个pdn连接时,网侧会分配一个默认承载,针对该pdn有且只有一条默认承载,同时网侧可能会分配多个专有承载。每条专有承载对应一个qos和至少一个包过滤器,每个包过滤器对应一个与其他包过滤器不同的优先级。pdn,承载,包过滤器关系如图8所示。
[0102]
当有上行数据包要发送的时候,按照每个包过滤器的优先级依次和数据包的标识信息进行匹配,当数据包的标识信息符合包过滤器内容的规则时,将此数据映射到包过滤器所属的承载对应的qos中。如果不符合,则和下一个包过滤器匹配,直到匹配成功为止。如果所有的包过滤器都匹配完还是没有找到符合规则的包过滤器,那么就将此包映射到默认承载的qos中。
[0103]
在某设备上,随机发送1000个数据包,且数据包满足其中一个包过滤器的规则。分别对包过滤器数量为6,12,18,24的情况计算tft匹配所需要的时间。统计情况如下:
[0104]
包过滤器数量tft匹配耗时60.1600us120.2401us180.3010us240.3716us
[0105]
从统计情况来看,包过滤器数量越多,tft匹配平均耗时就越大。
[0106]
由于cat1对数据的传输速率有很高的要求,本发明通过以下实施方式减少数据传输时延,实现tft匹配的时延不随包过滤器数量的增多而增大,且可以保持在一个较小的范围内,典型应用场景下时延可降低50%以上,显著提升应用此数据包传输方法的产品竞争力。
[0107]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
[0108]
本发明的第一实施方式涉及一种数据包传输方法,可以应用在数据传输设备中,如终端设备。
[0109]
在本实施方式中,提供了一种数据包传输方法,包括:预先定义数据结构体,所述数据结构体中至少包含一个节点,各节点均包括数据包的标识信息和对应的服务标准;在检测到待传输数据包时,遍历所述数据结构体中的节点,在所述数据结构体中查找满足预设条件的目标节点,所述预设条件包括:节点中数据包的标识信息与所述待传输数据包的标识信息相同;在查找到所述目标节点的情况下,根据所述目标节点对应的服务标准传输所述待传输数据包。本发明的这一实施方式可以在不违背3gpp协议的前提下,实现tft匹配的时延不随包过滤器数量的增多而增大,且可以保持在一个较小的范围内,显著提升应用此数据包传输方法的产品的竞争力。
[0110]
下面对本实施方式的数据包传输方法的实现细节进行具体的说明,以下内容仅为
方便理解提供的实现细节,并非实施本方案的必须。
[0111]
如图3所示,在步骤s101中,预先定义数据结构体,所述数据结构体中至少包含一个节点,各节点均包括数据包的标识信息和对应的服务标准。
[0112]
在一个例子中,数据传输设备需要预先定义一个数据结构体,此数据结构体中至少包含一个节点,且此数据结构体可以为数组、链表等。当此数据结构体为链表时,链表中的每一个节点的信息中包括数据包的标识信息和对应的服务标准;当此数据结构体为数组时,此数组可以为多维数组。
[0113]
在步骤s102中,在检测到待传输数据包时,遍历所述数据结构体中的节点,在所述数据结构体中查找满足预设条件的目标节点,所述预设条件包括:节点中数据包的标识信息与所述待传输数据包的标识信息相同。
[0114]
在一个例子中,数据传输设备在检测到有数据包需要传输时,提取数据包中的标识信息,并根据节点中数据包的标识信息与所述待传输数据包的标识信息相同这一预设条件,在数据结构体中对目标节点进行查找。
[0115]
进一步地,上述对应的服务标准,包括:网络侧分配的承载对应的qos。
[0116]
在一个例子中,在步骤s102之前,可以统计数据包过滤器的数量;若数据包过滤器的数量为零,则使用默认承载对应的qos将待传输数据包传输出去。
[0117]
当数据包过滤器为零时,意味着网侧没有被分配专有承载,数据包都由默认承载对应的qos传输;此时可以通过统计包过滤器的数量,并在包过滤器的数量为零时直接使用默认承载对应的qos将待传输数据包传输出去;使得可以避免将待传输数据包进行解码这一过程,这一过程的作用为,将待传输数据包进行解码以获得标识信息,以将待传输数据包的标识信息与数据结构体节点中的数据包标识信息进行对比或进行tft匹配。
[0118]
在步骤s103中,在查找到所述目标节点的情况下,根据所述目标节点对应的服务标准传输所述待传输数据包。
[0119]
在一个例子中,在数据结构体中查找到目标节点的情况下,根据目标节点中存储的与数据包的标识信息对应的服务标准将待传输数据包传输出去。
[0120]
进一步的,将目标节点移动到数据结构体首端。
[0121]
在一个例子中,数据传输过程经常出现最近待传输的数据包与前几次中某一次待传输的数据包的标识信息相同的情况,每一次数据传输时都将最近数据传输时使用过的节点移动到数据结构体的首端,可以在下一次遍历时更早地查找到对应的服务标准,节省数据传输时延。
[0122]
进一步的,在数据结构体中未查找到目标节点的情况下,通过tft根据待传输数据包的标识信息为待传输数据包匹配对应的服务标准;并根据匹配得到的对应的服务标准,将待传输数据包传输出去;并将待传输数据包的标识信息和匹配得到的对应的服务标准作为目标节点中的信息添加到数据结构体中。
[0123]
在数据结构体中没有当前待传输数据包的标识信息所对应的节点信息时,可以通过tft为当前的待传输数据包匹配对应的服务标准后根据匹配到的服务标准将待传输数据包传输出去,并且将当前的待传输数据包的标识信息以及匹配到的对应的服务标准作为目标节点中的信息添加到数据结构体中,以对数据结构体中的节点进行实时的更新,方便下一次传输相同标识信息的数据包时能够在数据结构体中查找到此相同标识信息对应的服
务标准。
[0124]
在一个例子中,将待传输数据包的标识信息和匹配得到的对应的服务标准作为目标节点添加到数据结构体首端,并将数据结构体中的其他节点向后顺延;当数据结构体超出预设长度时,删除数据结构体末端的节点。
[0125]
通过将包含新信息的节点添加到数据结构体的首端,可以在下一次传输相同标识信息的数据包时更为快速地比对到包含此标识信息的节点。同时为数据结构体设置一个预设长度,可以使得遍历数据结构体的时间控制在一个较为理想的范围内,维持数据结构体中节点信息的实时性。
[0126]
在一个例子中,数据结构体的预设长度可以根据实际应用场景中的业务数量进行调整。
[0127]
具体地说,实际应用场景中的ue的业务大部分比较单一,很少出现和使用电脑一样同时进行多种业务的场景(如,使用电脑时经常同时聊天,浏览网页,听音乐等等),此时,数据包的标识信息,如数据包ip头的ip地址、端口号、tos等值在大部分情况下也是保持不变的;这时,在数据传输的过程中,当数据结构体中只有一个节点的情况下,此节点的信息为上一次传输的数据包的标识信息与对应的服务标准;此时可以实现在每一次数据传输时,将当前传输的数据包的标识信息和上一次传输的数据包的标识信息进行对比,相同时,则直接映射到上一次传输的数据包对应的服务标准,如果不相同,再进行tft匹配。由于大部分情况下是相同的,所以大部分数据包都可以节省tft匹配的过程,取而代之只需要一次对比上一次传输的数据包标识信息的操作,时间复杂度从n降为1(n为包过滤器的数量)。
[0128]
具体地说,实际应用场景中的ue的非单一业务时,如,ue打视频电话,视频和语音的数据可能走两条业务流,此时很可能出现视频数据和语音数据穿插发送的情况。此时,可以通过修改数据结构体的预设长度来避免每一次传输的数据包标识信息都和上一次的数据包标识信息不一样时,造成的每一次数据传输都会做tft匹配。考虑到即便是非单一业务,同时进行的业务一般也不会超过5个,此时,数据结构体的预设长度可以是5,实现保存5个历次最近使用过的数据包的标识信息和对应的服务标准。实现结合应用场景设置数据结构体的预设长度,维持数据结构体中节点信息的实时性的同时,使得遍历数据结构体的时间控制在一个较为理想的范围内,达到降低数据传输时延的技术效果。
[0129]
具体地说,实际应用场景中的ue的单一业务切换时,如刚打完电话,马上又开始看视频;此时,可以通过将最近数据传输时使用过的节点移动到数据结构体的首端的方式,避免出现如下情形:因为保存的数据包标识信息和对应的服务标准是上一个业务流数据包的标识信息和对应的服务标准,在切换后,数据包的标识信息和已保存的标识信息不一样;传输新业务流的第一个数据包时,要重新做tft匹配并保存新业务流的数据包标识信息和对应的服务标准;在数据结构体中进行遍历时,后续的新业务流的非第一数据包首先和已保存的旧业务流的数据包标识信息对比,然后再和新业务流的数据包标识信息对比才能对比成功;也就是说,每一次都需要先和旧业务流的数据包标识信息进行无效对比。
[0130]
在一个例子中,数据结构体中的各节点信息均还可以包括时间戳;将目标节点移动或添加到数据结构体首端之后,更新数据结构体首端节点的时间戳为当前时间戳;在遍历数据结构体中的节点的过程中,获得当前时间戳与当前遍历到的数据结构体中的节点时间戳的差值;若差值大于预设阈值,并且当前遍历到的节点中数据包的标识信息与待传输
数据包的标识信息不同时,删除遍历到的数据结构体中的节点。
[0131]
通过在数据结构体的节点信息中添加时间戳,可以识别出数据结构体中在预设阈值时间内没有用到过的节点信息,即识别出较长时间未使用到的节点,并在识别到某一节点信息较长时间未使用后,删除这一节点,以维持数据结构体中节点信息的实时性,减少传输数据包之前在数据结构体中进行遍历查找的次数,降低数据包传输延时。
[0132]
在本实施方式中,数据包传输方法通过维护一个数据结构体,此数据结构体中的各节点信息包含数据包的标识信息和标识信息对应的服务标准,在传输数据包时,可以直接在数据结构体中根据数据包的标识信息查找到待传输数据包所应该采用的服务标准,并将最近使用的节点移动到数据结构体的首端,实现在数据包传输时将本次数据包标识信息与上一次或最近几次传输的数据包标识信息做比对,而无需在tft中进行匹配,可以更加快速地获取本次待传输数据包应该采用的服务标准。使得在不违背3gpp协议的前提下,实现tft匹配的时延不随包过滤器数量的增多而增大,且可以保持在一个较小的范围内,显著提升应用此数据包传输方法的产品的竞争力。
[0133]
上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0134]
本发明另一施方式涉及一种数据包传输装置,如图9所示,包括:
[0135]
定义模块901,用于预先定义数据结构体,数据结构体中至少包含一个节点,各节点包括数据包的标识信息和对应的服务标准;
[0136]
查找模块902,用于在检测到待传输数据包时,遍历数据结构体中的节点,在数据结构体中查找满足预设条件的目标节点,预设条件包括:节点中的数据包标识信息与待传输数据包的标识信息相同;
[0137]
传输模块903,用于在查找到目标节点的情况下,根据目标节点对应的服务标准传输待传输数据包。
[0138]
在本实施方式中,通过维护一个数据结构体,此数据结构体中的各节点信息包含数据包的标识信息和标识信息对应的服务标准,在传输数据包时,可以直接在数据结构体中根据数据包的标识信息查找到待传输数据包所应该采用的服务标准,并将最近使用的节点移动到数据结构体的首端,实现在数据包传输时将本次数据包标识信息与上一次或最近几次传输的数据包标识信息做比对,而无需在tft中进行匹配,可以更加快速地获取本次待传输数据包应该采用的服务标准。使得在不违背3gpp协议的前提下,实现tft匹配的时延不随包过滤器数量的增多而增大,且可以保持在一个较小的范围内,显著提升应用此数据包传输装置的产品的竞争力。
[0139]
不难发现,本实施方式为与上述方法实施方式相对应的装置实施例,本实施方式可与上述方法实施方式互相配合实施。上述方法实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述方法实施方式中。
[0140]
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单
元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
[0141]
本发明的另一实施方式涉及电子设备,如图10所示,包括至少一个处理器1001;以及,与至少一个处理器通信连接的存储器1002;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述的数据包传输方法。
[0142]
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和传输器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
[0143]
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
[0144]
本发明另一实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
[0145]
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0146]
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1