一种数据报文处理方法、系统、智能终端及存储介质

文档序号:25742040发布日期:2021-07-06 18:52阅读:244来源:国知局
一种数据报文处理方法、系统、智能终端及存储介质
本发明涉及移动通信
技术领域
,尤其涉及的是一种数据报文处理方法、系统、智能终端及存储介质。
背景技术
:随着科学技术和移动通信技术的迅速发展,第五代移动通信(5g,5thgenerationmobilenetworks)技术受到越来越多的关注。5g网络中支持超可靠低时延通信(urllc,ultrareliableandlowlatencycommunications)技术,可以应用在自动驾驶等领域。而自动驾驶汽车移动速度快,在移动过程中可能要经过不同的基站,会经常涉及到服务区的切换。但是在跨会话管理功能(smf,sessionmanagementfunction)服务区时,会出现业务不能连续的问题,必须在新服务区重新选择smf或用户平面功能(upf,userplanefunction),并重新建立新的会话。现有技术中,通过拓扑增强技术解决上述问题。在网络架构中,增加中间会话管理功能(i-smf,intermediatesessionmanagementfunction)和中间用户平面功能(i-upf,intermediateuserplanefunction),通过动态插入i-smf、i-upf实现会话的连续性。现有的拓扑增强技术中,数据报文需要从内核层面发送到应用层进行分类,当应用层发现该数据报文是非本服务区数据时,还需要将该数据报文重新发送到内核层面进行转发。现有技术的问题在于,对数据报文进行分类时数据报文需要穿越复杂的内核协议栈,影响数据报文处理效率。因此,现有技术还有待改进和发展。技术实现要素:本发明的主要目的在于提供一种数据报文处理方法、系统、智能终端及存储介质,旨在解决现有技术中对数据报文进行分类时数据报文需要穿越复杂的内核协议栈,不利于提高数据报文处理效率的问题。为了实现上述目的,本发明第一方面提供一种数据报文处理方法,其中,上述方法包括:获取数据报文;在内核层面对上述数据报文进行分类和分流;获取数据报文转发规则;在内核层面基于上述数据报文转发规则对分流后的上述数据报文进行转发。可选的,上述在内核层面对上述数据报文进行分类和分流,包括:在内核层面中,获取上述数据报文的归属地,基于上述归属地获取本服务区数据报文和非本服务区数据报文;向应用层发送上述本服务区数据报文。可选的,上述在内核层面基于上述数据报文转发规则对分流后的上述数据报文进行转发,包括:在内核层面中,基于上述数据报文转发规则获取上述非本服务区数据报文的下一级gtp隧道信息;基于上述下一级gtp隧道信息发送上述非本服务区数据报文。可选的,上述基于上述下一级gtp隧道信息发送上述非本服务区数据报文,包括:基于上述下一级gtp隧道信息对上述非本服务区数据报文进行修改;向下一级gtp隧道发送上述非本服务区数据报文。可选的,在上述向下一级gtp隧道发送上述非本服务区数据报文之前,上述方法还包括:对上述非本服务区数据报文进行服务质量控制。可选的,上述对上述非本服务区数据报文进行服务质量控制,包括:获取上述非本服务区数据报文发送的间隔系数和服务质量优先级;基于上述间隔系数和上述服务质量优先级控制上述非本服务区数据报文发出的时间。本发明第二方面提供一种数据报文处理系统,其中,上述系统包括:控制面子系统,用于获取数据报文转发规则;数据面子系统,用于获取数据报文,对上述数据报文进行分类和分流,并基于上述数据报文转发规则对分流后的上述数据报文进行转发;上述控制面子系统设置于操作系统的用户层面,上述数据面子系统设置于操作系统的内核层面,上述控制面子系统和控制面子系统和上述数据面子系统通信连接。可选的,上述控制面子系统还用于配置上述数据报文发送的间隔系数,上述数据面子系统包括:数据报文分类模块,用于获取上述数据报文的归属地,基于上述归属地获取本服务区数据报文和非本服务区数据报文,向应用层发送上述本服务区数据报文;数据报文转发模块,用于基于上述数据报文转发规则向下一级gtp隧道发送上述非本服务区数据报文;服务质量控制模块,用于获取上述非本服务区数据报文的服务质量优先级,基于上述间隔系数和上述服务质量优先级控制上述非本服务区数据报文发出的时间。本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的数据报文处理程序,上述数据报文处理程序被上述处理器执行时实现任意一项上述数据报文处理方法的步骤。本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有数据报文处理程序,上述数据报文处理程序被处理器执行时实现任意一项上述数据报文处理方法的步骤。由上可见,本发明方案中,获取数据报文;在内核层面对上述数据报文进行分类和分流;获取数据报文转发规则;在内核层面基于上述数据报文转发规则对分流后的上述数据报文进行转发。与现有技术相比,本发明方案中直接在内核层面对数据报文进行分类和分流,分类时数据报文无需从内核层面发送到应用层,且无需穿越复杂的内核协议栈,有利于提高数据报文处理效率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。图1是本发明实施例提供的一种基于拓扑增强技术的网络架构示意图;图2是本发明实施例提供的一种用户移动终端在新服务区建立会话传输数据流量的整体流程示意图;图3是本发明实施例提供的一种gtp报文格式示意图;图4是本发明实施例提供的一种现有技术中数据报文的路径示意图;图5是本发明实施例提供的一种数据报文处理方法的流程示意图;图6是本发明实施例图5中步骤s200的具体流程示意图;图7是本发明实施例提供的一种存储的数据结构示意图;图8是本发明实施例图5中步骤s400的具体流程示意图;图9是本发明实施例图8中步骤s402的具体流程示意图;图10是本发明实施例提供的一种数据报文处理系统的结构示意图;图11是本发明实施例图10中数据面子系统520的具体结构示意图;图12是本发明实施例提供的一种数据报文处理系统及其数据路径示意图;图13是本发明实施例提供的一种智能终端的内部结构原理框图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的实施例的限制。随着科学技术的迅速发展和移动通信技术的迅速发展,5g技术受到越来越多的关注。5g网络中支持urllc技术,可以应用在自动驾驶等领域。而自动驾驶汽车移动速度快,在移动过程中可能要经过不同的基站,会经常涉及到服务区的切换。但是在跨smf服务区时,会出现业务不能连续的问题,必须在新服务区重新选择smf或upf,并重新建立新的会话。为了支持上述需求,3gppr16优化了网络架构,提出拓扑增强技术,图1是本发明实施例提供的一种现有技术中基于拓扑增强技术的网络架构示意图,如图1所示,在网络架构中,增加i-smf和i-upf,通过动态插入i-smf、i-upf实现会话的连续性。例如当自动驾驶汽车行驶到新服务区时,新服务区的i-upf支持上行链路分类功能,将数据转发给锚点用户平面功能(psaupf,pdusessionanchorupf),来保持业务的连续性。i-upf和i-smf是相对的,upf在不同场景下可以分别作为upf和i-upf,当处理本服务区数据流量时作为upf,当处理非本服务区数据流量时作为i-upf。图2是本发明实施例提供的一种用户移动终端(ue,userequipment)在新服务区建立会话传输数据流量的整体流程示意图,如图2所示,ue移动到新服务区时,会在新基站向移动管理网元(amf,accessandmobilitymanagementfunction)重新发起注册;ue携带网络切片信息、位置信息等信息,向核心网请求建立pdu会话;核心网基于拓扑增强技术完成i-smf的选择和插入;amf向i-smf发起建立会话请求;i-smf在本服务区选择upf做i-upf,执行上下行报文分类的功能;i-upf接受会话建立请求,并分配隧道终点标识符(teid,tunnelendpointidentifier),返回给i-smf,gtp协议(gprstunnelingprotocol)中规定,隧道的两端的endpoint称为tunnelendpoint,gtptunnel用来连接两端的gtptunnelendpoint,使用teid来进行标识;i-smf向基站同步信息,传输数据时携带teid;向psasmf同步i-smf/i-upf插入信息;psaupf更新包检测规则(pdr,packetdetectionrule)、包转发规则(far,forwardingactionrules)等规则;完成gtp隧道的建立,此时可以传输5g数据。在拓扑增强技术中,i-upf不仅要处理本服务区数据流量,还要为多个psaupf分发非本服务区数据报文,所以i-upf性能可能会成为瓶颈。且数据包会流经多级upf,每一级upf处理速度都会影响到下一级upf,进而影响整网效率。图3是本发明实施例提供的一种gtp报文格式示意图,图4是本发明实施例提供的一种现有技术中数据报文的路径示意图。如图4所示,ue的数据报文经基站到达i-upf后,由于是gtp报文,需要经过gtp协议解封装,解封装后的四层报文再进入操作系统的内核协议栈,经过内核协议栈的处理后最终到达upf应用层。upf通过ue的相关信息判断出是本服务区的报文还是非本服务区的报文。对于本服务区报文,发送到目的网络。对于非本服务区报文,upf应用层会再进行gtp和udp等内核协议栈的封装,通过网卡转发到对应的psaupf(如图4中的数据流2所示)。即数据报文需要从内核层面发送到应用层进行分类,当应用层发现该数据报文是非本服务区数据时,还需要将该数据报文重新发送到内核层面进行转发,处理效率较低。而真实的5g组网中会存在多个psaupf,如果i-upf处理速度慢,会对本服务区和非本服务区的服务质量造成影响,甚至成为整网瓶颈。同时,对比4g网络,5g核心网进一步改进后采用服务化架构,主要是以容器化的方式部署。4g网络中基于硬件部署可从硬件层面保证upf的转发性能,但是会带来硬件设备和核心网绑定的问题,不够灵活。而在5g拓扑增强技术中,i-upf是相对的概念,每个upf都可能成为i-upf。假设x86物理服务器上存在多个容器化i-upf,不仅会出现上述的问题,每个i-upf处理报文过程中还要增加穿越容器虚拟网络设备时延。因此,需要提高i-upf对数据报文的处理效率。为了解决现有技术的问题,本发明提供一种数据报文处理方法,在本发明实施例中,获取数据报文;在内核层面对上述数据报文进行分类和分流;获取数据报文转发规则;在内核层面基于上述数据报文转发规则对分流后的上述数据报文进行转发。与现有技术相比,本发明方案中直接在内核层面对数据报文进行分类和分流,分类时数据报文无需从内核层面发送到应用层,且无需穿越复杂的内核协议栈,有利于提高数据报文处理效率。示例性方法如图5所示,本发明实施例提供一种数据报文处理方法,具体的,上述方法包括如下步骤:步骤s100,获取数据报文。其中,上述数据报文为用户终端(ue)发送的数据报文,在5g拓扑增强的应用场景下需要对上述数据报文进行分类,判断是否属于本服务区,对于非本服务区的数据报文需要转发到下一级upf。步骤s200,在内核层面对上述数据报文进行分类和分流。其中,上述内核层面可以为系统的内核层面,进一步的,可以为系统中i-upf网元的内核层面。具体的,可以根据实际需求将上述数据报文分为本服务区数据报文和非本服务区数据报文,并对本服务区数据报文和非本服务区数据报文进行分流。其中,对于本服务区数据报文,需要发送给应用层。步骤s300,获取数据报文转发规则。可选的,上述数据报文转发规则包括对非本服务区数据报文的转发规则,具体的,可以通过路由转发表的形式存储对应的转发映射关系,还可以有其它存储形式,在此不做具体限定。具体的,可以获取用户会话的策略,从而基于上述用户会话的策略生成对应的数据报文转发规则。步骤s400,在内核层面基于上述数据报文转发规则对分流后的上述数据报文进行转发。具体的,在内核层面将需要转发的非本服务区数据报文转发到下一级gtp隧道。由上可见,本发明实施例提供的数据报文处理方法,获取数据报文;在内核层面对上述数据报文进行分类和分流;获取数据报文转发规则,在内核层面基于上述数据报文转发规则对分流后的上述数据报文进行转发。与现有技术相比,本发明方案中直接在内核层面对数据报文进行分类和分流,分类时数据报文无需从内核层面发送到应用层,且无需穿越复杂的内核协议栈,有利于提高数据报文处理效率。具体的,本实施例中,如图6所示,上述步骤s200具体包括:步骤s201,在内核层面中,获取上述数据报文的归属地,基于上述归属地获取本服务区数据报文和非本服务区数据报文。步骤s202,向应用层发送上述本服务区数据报文。在内核层面中,获取上述数据报文的归属地,基于上述归属地对上述数据报文进行分类,从而获得本服务区数据报文和非本服务区数据报文,随后将分类获得的本服务区数据报文发送值应用层,从而实现本服务区和非本服务区的数据报文的分流。具体的,可以基于5g核心网获取上述数据报文的归属地。可选的,可以通过查表的方式对本服务区和非本服务区的数据报文进行分类,从而进行分流,表1是本发明实施例提供的一种数据报文分流表。其中,上述应用层处于用户层面中。表1用户永久标识符报文头哈希结果处理方式imsi-208930000000003hash_result_1redirectimsi-208930000000013hash_result_2passimsi-208930000000019hash_result_3drop.....................其中,上述用户永久标识符由5g核心网分配,唯一标记设备终端。如表1所示,本实施例中,返回的处理方式为pass的即为本服务区数据报文,返回的处理方式为redirect的即为非本服务区数据报文。如果用户的数据报文归属于本服务区,则返回处理方式pass,即该数据报文是本服务区数据报文,需要送入内核协议栈进行进一步处理并送入应用层;如果用户的数据报文归属于非本服务区,则返回处理方式redirect,即该数据报文是非本服务区数据报文,需要进行转发。进一步的,对数据报文进行分类时,还可以获取待丢弃报文,当用户因欠费等原因,报文策略已设置成丢弃时,则该用户对应的数据报文为待丢弃报文,此时基于表1的查询结果为drop。具体的,通过内核钩子函数获取上述数据报文,可以通过xdp或者智能网卡等技术,将应用程序加载到网络驱动的最早阶段。本发明实施例中,在网卡驱动上基于xdp技术获取数据报文。当驱动收到报文之后,在协议栈处理之前就完成报文捕获,节省了分配系统资源带来的消耗。对数据报文进行解析,根据gtp-u报文协议和辅助函数bpf_xdp_adjust_head完成解封装,从xdp_buff中分别取出报文头和用户数据,并存储到本地,图7是本发明实施例提供的一种存储的数据结构示意图。具体的,用户的每个终端应用产生的报文关键字都不一样,逐一查询效率低,因此本实施例中,对报文关键字进行哈希运算,获取报文头哈希结果,通过哈希结果与表1中数据直接对比,从而进一步提高匹配速度和效率。基于表1查询匹配后,返回判决结果(即对应的处理方式),当返回的结果是pass时,该数据报文是本服务区数据报文,将其送入内核协议栈进行进一步处理并送入应用层,从而可以实现对于本服务区数据报文和非本服务区数据报文的分流。进一步的,对于非本服务区数据报文,需要进行转发。具体的,本实施例中,如图8所示,上述步骤s400包括:步骤s401,在内核层面中,基于上述数据报文转发规则获取上述非本服务区数据报文的下一级gtp隧道信息。步骤s402,基于上述下一级gtp隧道信息发送上述非本服务区数据报文。具体的,由于ran和i-upf之间、i-upf和psaupf之间都是利用gtp协议进行传输,但是分属不同的gtp隧道,所以要完成不同的gtp隧道之间的路由转发。本发明实施例中,上述数据报文转发规则以路由转发表的形式进行存储,表2是本发明实施例提供的一种路由转发表。表2基于表2可以查询获得各非本服务区数据报文的下一级gtp隧道信息,从而基于下一级gtp隧道信息发送上述非本服务区数据报文,实现非本服务数据报文的转发,无需使非本服务区数据报文穿越复杂的内核协议栈达到应用层进行分类,然后再回到内核层面进行转发,有利于提高数据报文转发效率,降低时延。具体的,本实施例中,如图9所示,上述步骤s402包括:步骤s4021,基于上述下一级gtp隧道信息对上述非本服务区数据报文进行修改。步骤s4022,向下一级gtp隧道发送上述非本服务区数据报文。本实施例中,上述下一级gtp隧道信息包括下一级gtp隧道的teid、ip地址和服务端口等隧道参数。具体的,在内核中通过修改上述非本服务区数据报文中的隧道参数,可以完成对用户的非本服务区数据报文的路由。可选的,可以对上述非本服务区数据报文中的teid的值、目的地址、源地址和服务端口等隧道参数进行修改,还可以根据实际需求确定具体需要修改的参数,在此不做具体限定。目前linux操作系统内核中路由转发功能通常会修改用户的源报文,但是5g用户数据可能是ipv4、ipv6和ethernet中任何一种,需要多种功能组合才能处理用户5g数据,带来系统复杂性。由于gtp隧道是核心网分配,报文中携带gtp隧道标识符teid,本实施例中修改报文中的teid的值、目的地址、源地址和服务端口等隧道参数来完成用户数据报文的路由,避免对用户源数据报文的入侵。具体的,本实施例中,利用xdp内核钩子函数获取非本服务区数据报文的数据结构及报文头哈希结果,查询上述路由转发表,获取下一级gtp隧道信息,修改非本服务区数据报文中的相关gtp隧道信息,将处理后的非本服务区数据报文进行转发。本实施例中,在向下一级gtp隧道发送上述非本服务区数据报文之前,上述数据报文处理方法还包括:对上述非本服务区数据报文进行服务质量控制。具体的,获取上述非本服务区数据报文发送的间隔系数和服务质量优先级;基于上述间隔系数和上述服务质量优先级控制上述非本服务区数据报文发出的时间。服务质量控制是5g网络系统中非常重要的特性,不仅embb、mmtc、urllc三大应用场景对数据传输有不同的服务质量要求,而且每个用户不同的软件应用也会有不同服务质量的要求。目前linux操作系统内核中处理qos(qualityofservice,服务质量)功能不够精细,仅能保证某个ip优先处理。本发明实施例中,提供一种面向5gpdu会话qos的控制算法,即根据会话数据流的优先级和多队列技术,设置数据报文的最早离开时间以实现流量策略控制,保证5g用户对不同服务应用不同服务质量的要求。具体的,本实施例中,基于如下所示的公式(1)设置非本服务区数据报文的最早离开时间:dt=cur_time+qfi*interval(1)其中,dt(departuretime)是配置在数据报文队列中的最早离开时间;cur_time是当前内核时间;qfi是服务质量优先级,由5g核心网分配,其取值范围为0到63,对于最高优先级的数据报文,qfi的值为0。具体的,qfi值越小则优先级越高,离开时间越早。interval是非本服务区数据报文发送的间隔系数,interval可以根据实际需求进行设置和调整,从而控制各个非本服务区数据报文的离开时间。可选的,上述数据报文处理方法还包括,获取当前网络质量,基于上述当前网络质量调整上述间隔系数。当网络出现拥塞(网络质量低)时,要优先保证低延时场景urllc的数据传输,则增大interval的值,减小低优先级报文发送速率;当网络带宽较好(网络质量高)时,可以调小interval的值;当网络带宽充裕时,interval可以设置成0。具体的,在一种实际应用场景中,提前设置公平队列排队规则(fairqueuediscipline),获取非本服务区数据报文中的qfi的值,同时获取间隔系数interval的值,基于上述qfi的值和interval的值设置该非本服务区数据报文的最早离开时间dt,将该非本服务区数据报文送入到出方向网络栈上,公平队列排队规则根据设置的最早离开时间进行调度,完成对非本服务区数据报文服务质量的管控。示例性设备如图10所示,对应于上述数据报文处理方法,本发明实施例还提供一种数据报文处理系统,上述数据报文处理系统包括:控制面子系统510,用于获取数据报文转发规则;数据面子系统520,用于获取数据报文,对上述数据报文进行分类和分流,并基于上述数据报文转发规则对分流后的上述数据报文进行转发;上述控制面子系统510设置于操作系统的用户层面,上述数据面子系统520设置于操作系统的内核层面,上述控制面子系统510和上述数据面子系统520通信连接。其中,上述数据报文为用户终端(ue)发送的数据报文,在5g拓扑增强的应用场景下需要对上述数据报文进行分类,判断是否属于本服务区,对于非本服务区的数据报文需要转发到下一级upf。其中,上述内核层面可以为系统的内核层面,进一步的,可以为系统中i-upf网元的内核层面。具体的,可以根据实际需求将上述数据报文分为本服务区数据报文和非本服务区数据报文,并对本服务区数据报文和非本服务区数据报文进行分流。其中,对于本服务区数据报文,需要发送给应用层。其中,上述应用层处于用户层面中。可选的,上述数据报文转发规则包括对非本服务区数据报文的转发规则,具体的,可以通过路由转发表的形式存储对应的转发映射关系,还可以有其它存储形式,在此不做具体限定。具体的,上述控制面子系统510可以用于获取用户会话的策略,从而基于上述用户会话的策略生成对应的数据报文转发规则。具体的,在内核层面将需要转发的非本服务区数据报文转发到下一级gtp隧道。由上可见,本发明实施例提供的数据报文处理系统,通过控制面子系统510获取数据报文转发规则;通过数据面子系统520获取数据报文,对上述数据报文进行分类和分流,并基于上述数据报文转发规则对分流后的上述数据报文进行转发;上述控制面子系统设置于操作系统的用户层面,上述数据面子系统设置于操作系统的内核层面,上述控制面子系统和上述数据面子系统通信连接。与现有技术相比,本发明方案中直接在内核层面对数据报文进行分类和分流,分类时数据报文无需从内核层面发送到应用层,且无需穿越复杂的内核协议栈,有利于提高数据报文处理效率。在一种应用场景中,对于具体的5g网络,一个数据面子系统520可以支持多个控制面子系统510。在容器化的5g核心网中,如果节点服务器存在多个容器化的i-upf,只需部署一个数据面子系统520,可以减少穿越容器虚拟网络设备带来时延。上述数据面子系统520运行在操作系统的内核层面,用于进行i-upf数据分类、upf间路由转发和非本服务区的服务质量控制。具体的,本实施例中,上述控制面子系统510还用于配置上述数据报文发送的间隔系数,如图11所示,上述数据面子系统520包括:数据报文分类模块521,用于获取上述数据报文的归属地,基于上述归属地获取本服务区数据报文和非本服务区数据报文,向应用层发送上述本服务区数据报文;数据报文转发模块522,用于基于上述数据报文转发规则向下一级gtp隧道发送上述非本服务区数据报文;服务质量控制模块523,用于获取上述非本服务区数据报文的服务质量优先级,基于上述间隔系数和上述服务质量优先级控制上述非本服务区数据报文发出的时间。具体的,在接收到数据报文后,数据报文分类模块521会立即进行处理,分析数据报文的归属地,如果是本服务区数据报文,数据报文分类模块521会将该数据报文交由操作系统内核和upf应用层进一步处理;如果是非本服务区数据报文,数据报文分类模块521会将该数据报文交由数据报文转发模块522处理。具体的,可以基于5g核心网获取上述数据报文的归属地。可选的,上述数据报文分类模块521可以通过查表的方式对本服务区和非本服务区的数据报文进行分类,从而进行分流,具体的数据报文分流表可以参照表1。如表1所示,本实施例中,返回的处理方式为pass的即为本服务区数据报文,返回的处理方式为redirect的即为非本服务区数据报文。如果用户的数据报文归属于本服务区,则返回处理方式pass,即该数据报文是本服务区数据报文,需要送入内核协议栈进行进一步处理并送入应用层;如果用户的数据报文归属于非本服务区,则返回处理方式redirect,即该数据报文是非本服务区数据报文,需要进行转发。进一步的,对数据报文进行分类时,还可以获取待丢弃报文,当用户因欠费等原因,报文策略已设置成丢弃时,则该用户对应的数据报文为待丢弃报文,此时基于表1的查询结果为drop。其中,具体的查询表1进行分类的方式可以参照方法实施例中的描述,在此不再赘述。可选的,上述数据报文转发模块522基于ebpf/xdp技术运行在内核层面。本实施例中,上述数据报文转发模块522具体用于:基于上述数据报文转发规则获取上述非本服务区数据报文的下一级gtp隧道信息;基于上述下一级gtp隧道信息发送上述非本服务区数据报文。具体的,由于ran和i-upf之间、i-upf和psaupf之间都是利用gtp协议进行传输,但是分属不同的gtp隧道,所以要完成不同的gtp隧道之间的路由转发。本发明实施例中,上述数据报文转发规则以路由转发表的形式进行存储,具体的路由转发表可以参照表2。基于表2可以查询获得各非本服务区数据报文的下一级gtp隧道信息,从而基于下一级gtp隧道信息发送上述非本服务区数据报文,实现非本服务数据报文的转发,无需使非本服务区数据报文穿越复杂的内核协议栈达到应用层进行分类,然后再回到内核层面进行转发,有利于提高数据报文转发效率,降低时延。本实施例中,上述数据报文转发模块522还具体用于:基于上述下一级gtp隧道信息对上述非本服务区数据报文进行修改;向下一级gtp隧道发送上述非本服务区数据报文。本实施例中,上述下一级gtp隧道信息包括下一级gtp隧道的teid、ip地址和服务端口等隧道参数。具体的,上述数据报文转发模块522查询路由转发表,判断出该非本服务区数据报文要经过的下一级upf,通过修改gtp报文头实现转发。可选的,可以对上述非本服务区数据报文中的teid的值、目的地址、源地址和服务端口等隧道参数进行修改,还可以根据实际需求确定具体需要修改的参数,在此不做具体限定。目前linux操作系统内核中路由转发功能通常会修改用户的源报文,但是5g用户数据可能是ipv4、ipv6和ethernet中任何一种,需要多种功能组合才能处理用户5g数据,带来系统复杂性。由于gtp隧道是核心网分配,报文中携带gtp隧道标识符teid,本实施例中修改报文中的teid的值、目的地址、源地址和服务端口等隧道参数来完成用户数据报文的路由,避免对用户源数据报文的入侵。本实施例中,上述数据报文转发模块522处理后的非本服务区数据报文并不直接发出,而是送入服务质量控制模块523进行流量控制。上述服务质量控制模块523基于ebpf技术运行在数据流的出方向上,具体用于获取上述非本服务区数据报文发送的间隔系数和服务质量优先级;基于上述间隔系数和上述服务质量优先级控制上述非本服务区数据报文发出的时间。具体的,本实施例中,基于如下所示的公式(2)设置非本服务区数据报文的最早离开时间:dt=cur_time+qfi*interval(2)其中,dt(departuretime)是配置在数据报文队列中的最早离开时间;cur_time是当前内核时间;qfi是服务质量优先级,由5g核心网分配,其取值范围为0到63,对于最高优先级的数据报文,qfi的值为0。具体的,qfi值越小则优先级越高,离开时间越早。interval是非本服务区数据报文发送的间隔系数,interval可以根据实际需求进行设置和调整,从而控制各个非本服务区数据报文的离开时间。可选的,上述服务质量控制模块523可以基于控制面子系统510获取配置的数据报文发送的间隔系数。上述控制面子系统510还具体用于:获取当前网络质量,基于上述当前网络质量调整上述间隔系数。当网络出现拥塞(网络质量低)时,要优先保证低延时场景urllc的数据传输,则增大interval的值,减小低优先级报文发送速率;当网络带宽较好(网络质量高)时,可以调小interval的值;当网络带宽充裕时,interval可以设置成0。具体的,在一种实际应用场景中,提前设置公平队列排队规则(fairqueuediscipline),获取非本服务区数据报文中的qfi的值,同时获取间隔系数interval的值(基于控制面子系统510进行设置和调整),基于上述qfi的值和interval的值设置该非本服务区数据报文的最早离开时间dt,将该非本服务区数据报文送入到出方向网络栈上,公平队列排队规则根据设置的最早离开时间进行调度,完成对非本服务区数据报文服务质量的管控。具体的,上述控制面子系统510负责订阅5g核心网中拓扑增强相关的事件变化。利用数据面子系统520提供的配置接口,对数据面子系统中数据报文分流表、路由转发表等数据进行配置,调整服务质量控制算法中的interval参数等。在5g网络中,终端设备传输数据时首先会和核心网交互,此时控制面子系统510感知核心网控制信令中内容,根据关键信息对数据报文分流表、路由转发表等数据完成预设。上述数据报文处理系统与upf是松耦合的关系,不仅可以应用在mecupf场景中,还可以灵活运行在核心网上任意的i-upf上。当用户到达新服务区基站后传输应用数据时,上述数据报文处理系统在i-upf上进行较少的操作实现高性能的upf间路由转发;当用户离开i-upf服务区后,会自动释放为该用户分配的资源。通过精准的插入/释放,而不是通过提前建立/释放会话来保证低延时传输,避免随着终端设备数量增多,带来的资源浪费,进而保证核心网的整网效率。控制面子系统510采用sidecar容器模式设计,呈现松耦合易扩展的特点。sidecar指在upf之外,启动一个辅助容器部署控制面子系统510,来完成一些独立于upf(主容器)之外的工作。主容器和辅助容器可以共享网络资源,其他物理资源又能相互隔离。所以物理服务器节点上可以启动多组控制面子系统510和upf,但是底层数据面子系统520只需部署一套,也减少穿越虚拟容器网络设备的消耗。本发明实施例还基于一种具体应用场景对上述数据报文处理系统进行进一步说明。图12是本发明实施例提供的一种具体的数据报文处理系统及其数据路径示意图,如图12所示,在i-upf网元的内核层面设置数据面子系统,用户层面设置控制面子系统。控制面子系统负责维护5g核心网中用户包检测、包转发等规则与数据报文分流表和路由转发表中的信息一致。在拓扑增强技术中插入/删除i-smf的过程中,i-smf通过n4接口通知i-upf变更用户终端ue的处理规则。n4接口是一种泛指,包含核心网控制面与转发面接口,不仅包含核心网控制面的下发请求,而且还包含核心网转发面主动上报请求。控制面子系统新增接口a1订阅i-upf上的包检测规则fdr、包转发规则far和服务质量实施规则qer的变化,分析处理,利用a2接口分别将最新状态配置到数据分流表和数据转发表。a1接口还可以获取i-upf网络负载情况,当网络拥塞时,控制面子系统通过公式(2)中interval实现用户服务质量的策略控制。具体的,a1接口用于订阅n4接口中拓扑增强相关事件。i-upf是一个相对的概念,当ue移动到i-upf服务区会涉及到pdr和far的添加,当ue离开i-upf服务区会涉及到pdr和far的删除。当完成i-upf的插入时,pdr会包含ue的信息如目的mac、源mac、目的地址、源地址、i-upf隧道teid端点值等,把这些关键信息计算出哈希值后记录在数据报文分流表和路由转发表中。当网卡收到数据报文时,数据报文的报文头中含有这些关键信息,通过哈希运算后与数据报文分流表和路由转发表中的数据进行比对,完成相应转发的动作。i-upf和psaupf之间是通过gtp-u协议通信的,far中会记录中psaupf的信息如目的地址、目的mac和psaupf隧道端点teid值等。控制面子系统将这些信息存入到数据报文分流表和路由转发表中,在发现不是本服务区报文时,数据面子系统在内核层面可以完成不同gtp隧道间路由转发给相应的psaupf。a2接口具体用于维护和更新上述数据报文分流表和路由转发表中的内容,利用linux内核提供的bpf系统调用函数,变更数据报文分流表中记录的分流信息,变更路由转发表中记录的转发信息。如图12所示,数据报文分类模块在数据报文进入网卡的最早阶段完成分类功能,避免非本服务区数据报文穿越网络协议栈带来的资源消耗和延时。数据报文转发模块实现不同gtp隧道间的路由转发。图12中n3接口和n9接口分属不同的gtp隧道,5g核心网负责建立该用户pdu会话的所有的隧道,控制面子系统通过拓扑增强相关的事件感知隧道的建立/删除,并将下一级隧道信息同步到数据报文分流表和路由转发表;数据报文分类模块依据路由转发表内容,对数据报文中gtp隧道信息进行编辑后,送入服务质量控制模块。服务质量控制模块实现对pdu会话服务质量的策略控制,控制各非本服务区数据报文的发出时间。可选的,上述数据报文分流表和路由转发表以bpfmap的方式存储在内核中,既可以被内核中的bpf程序访问,也可以被用户空间运行的程序通过文件描述符的形式进行访问和操作。在上述应用场景中,当控制面子系统发现i-upf增加了用户终端的转发信息时,会进行分析处理,并更新数据报文分流表和路由转发表。接收到数据报文后,如果属于本服务区数据报文,则如图12中数据流①所示,按照upf原有的处理方式,将报文送到内核协议栈中,进一步进行解封装等处理;如果属于非本服务区数据报文,如图12中数据流②所示,经过数据报文转发模块和服务质量控制模块,在内核中完成gtp隧道路由和服务质量控制功能,将数据报文发送给下一级psaupf。基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图13所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和数据报文处理程序。该内存储器为非易失性存储介质中的操作系统和数据报文处理程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该数据报文处理程序被处理器执行时实现上述任意一种数据报文处理方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。本领域技术人员可以理解,图13中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。在一个实施例中,提供了一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的数据报文处理程序,上述数据报文处理程序被上述处理器执行时进行以下操作指令:获取数据报文;在内核层面对上述数据报文进行分类和分流;获取数据报文转发规则;在内核层面基于上述数据报文转发规则对分流后的上述数据报文进行转发。本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有数据报文处理程序,上述数据报文处理程序被处理器执行时实现本发明实施例提供的任意一种数据报文处理方法的步骤。应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。在本发明所提供的实施例中,应该理解到,所揭露的系统/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的系统/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或系统、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1