CN112422457B - 报文处理方法、装置和计算机存储介质 - Google Patents
报文处理方法、装置和计算机存储介质 Download PDFInfo
- Publication number
- CN112422457B CN112422457B CN201910785349.3A CN201910785349A CN112422457B CN 112422457 B CN112422457 B CN 112422457B CN 201910785349 A CN201910785349 A CN 201910785349A CN 112422457 B CN112422457 B CN 112422457B
- Authority
- CN
- China
- Prior art keywords
- message
- rudp
- memory
- module
- user mode
- 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.)
- Active
Links
Images
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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种报文处理方法、装置和计算机存储介质。所述方法,应用于基站,包括:获取可靠用户数据报协议RUDP报文,其中所述RUDP报文包括用户设备UE的接入请求信息;将所述RUDP报文存储在用户态的内存中;对存储的RUDP报文进行处理。
Description
技术领域
本申请涉及信息处理领域,尤指一种报文处理方法、装置和计算机存储介质。
背景技术
基站在进行UE(user equipment,用户设备)接入或脱离小区时,利用内核协议栈把RUDP(Reliable UDP,可靠用户数据报协议)报文接收,通过socket把报文转发给处理模块。但是,在大容量UE频繁接入的情况下,网口收发包的中断过多,极大的增大CPU的工作负担。
发明内容
为了解决上述技术问题,本申请提供了一种报文处理方法、装置和计算机存储介质,能够降低报文处理负担。
为了达到本申请目的,本申请提供了一种报文处理方法,应用于基站,包括:
获取可靠用户数据报协议RUDP报文,其中所述RUDP报文包括用户设备UE的接入请求信息;
将所述RUDP报文存储在用户态的内存中;
对存储的RUDP报文进行处理。
在一个示例性实施例中,所述获取RUDP报文,包括:
获取基带处理模块发送的报文;
利用交换芯片内的访问控制列表ACL模块,对获取到的报文进行RUDP报文的识别,得到RUDP报文。
在一个示例性实施例中,所述利用所述控制模块中交换芯片内的ACL模块,对获取到的报文进行识别,得到RUDP报文,包括:
对获取到的报文进行哈希计算,得到所述报文的哈希值;
利用所述ACL模块中三态内容寻址存储器TCAM中预先存储的哈希数值信息,对接收到的报文的哈希值执行匹配操作;
如果匹配结果为所述报文的哈希值与所述TCAM中存储的哈希值一致,则确定接收的报文为RUDP报文。
在一个示例性实施例中,所述将所述RUDP报文存储在用户态的内存中,包括:
将所述RUDP报文发送至数据平面开发工具包DPDK模块;
利用所述DPDK模块将所述RUDP报文存储在用户态的内存中。
在一个示例性实施例中,所述将所述RUDP报文发送至数据平面开发工具包DPDK模块,包括:
将所述RUDP报文的目的端口重定向至预先获取的DPDK的端口;
将目的端口重定向后的RUDP报文发送出去。
在一个示例性实施例中,所述利用所述DPDK模块将所述RUDP报文存储在用户态的内存中,包括:
对DPDK端口接收的报文进行轮询匹配,获取RUDP报文;
将所述RUDP报文在用户态内存空间中预先设置的队列中保存。
在一个示例性实施例中,所述将所述RUDP报文在用户态内存空间中预先设置的队列中保存,包括:
按照预先存储的存储顺序,将所述RUDP报文存储到预先设置的队列中;
所述将所述RUDP报文在用户态内存空间中预先设置的队列中保存之后,所述方法还包括:
按照预先设置的队列和处理模块的对应关系,控制每个处理模块分别响应各自对应的队列中的RUDP报文。
在一个示例性实施例中,所述对存储的RUDP报文进行处理,包括:
在得到RUDP报文对应的响应信息后,从所述DPDK模块获取所述响应信息所需的用户态内存;
利用获取的用户态内存以及所述响应信息,得到所述RUDP报文对应的响应消息;
利用所述交换芯片发送所述响应消息。
在一个示例性实施例中,所述将所述RUDP报文存储在用户态的内存中之前,所述方法还包括:
获取所述UE在预先设置的时长内的接入和/或脱离小区的次数信息;
当所述UE的接入和/或脱离小区的次数信息符合预先设置的频繁接入的判断条件时,将所述UE对应的RUDP报文存储在用户态的内存中。
一种报文处理装置,包括处理器和存储器,其中所述存储器存储有计算机程序,所述处理器调用所述存储器中的计算机程序以实现上文任一所述的方法。
一种计算机存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上文任一所述的方法。
本申请提供的实施例,获取可靠用户数据报协议RUDP报文,将所述RUDP报文存储在用户态的内存中,并对存储的RUDP报文进行处理,通过将RUDP报文直接存储到用户态的内存,则无需执行内存的拷贝,实现了内存零拷贝的目的,达到降低处理器的负担的效果。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请提供的报文处理方法的流程图;
图2为本申请实施例提供的报文处理方法的交互示意图;
图3为图2所示各模块间的交互示意图;
图4为本申请实施例提供的RUDP报文的处理方法的流程图;
图5为本申请提供的报文处理装置的结构图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本申请提供的报文处理方法的流程图。图1所示方法,应用于基站,包括:
步骤101、获取RUDP报文,其中所述RUDP报文包括UE的接入请求信息;
当UE在接入或脱离基站时,基带处理单元会发送RUDP报文至控制模块;在实际应用中,由于控制模块接收的报文类型不仅限于RUDP报文,还要接收其他类型的报文,这就需要控制模块对接收的报文进行识别。
在一个示例性实施例中,所述获取RUDP报文,包括:
获取基带处理模块发送的报文;
利用交换芯片内的ACL(Access Control List,访问控制列表)模块,对获取到的报文进行RUDP报文的识别,得到RUDP报文。
在本示例性实施例中,对报文的识别时采用交换芯片内置的ACL功能来实现的,与相关技术中采用MAC(Media Access Control Address,介质访问控制)地址匹配相比,提供了一种新的报文匹配识别方法,且由于利用的是交换芯片内置的功能,硬件成本较低。
步骤102、将所述RUDP报文存储在用户态的内存中;
在对相关技术中CPU负担过重的问题分析过程中,发明人发现,采用内核态协议栈接收RUDP报文,极大的增大cpu的工作负担的原因在于,RUDP报文会发生内核到用户态的内存拷贝,特别是大容量UE频繁接入的情况下,由于网口收发包的中断过多,进一步加重了CPU的负担。
基于发明人分析得到原因,发明人提出在本申请实施例提供的方案中,将RUDP报文直接存储到用户态的内存,则无需执行内存的拷贝,实现了内存零拷贝的目的,达到降低CPU的负担的效果。
步骤103、对存储的RUDP报文进行处理。
在一个示例性实施例中,可以根据RUDP报文的内容,进行UE接入的资源分配和隧道建立。
本申请提供的方法实施例,获取可靠用户数据报协议RUDP报文,将所述RUDP报文存储在用户态的内存中,并对存储的RUDP报文进行处理,通过将RUDP报文直接存储到用户态的内存,则无需执行内存的拷贝,实现了内存零拷贝的目的,达到降低处理器的负担的效果。
下面对本申请提供的方法作进一步说明:
在一个示例性实施例中,所述利用交换芯片内的ACL模块,对获取到报文进行识别,得到RUDP报文,包括:
对获取到的报文进行哈希计算,得到所述报文的哈希值;
利用所述ACL模块中TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)中预先存储的哈希数值信息,对接收到的报文的哈希值执行匹配操作;
如果匹配结果为所述报文的哈希值与所述TCAM中存储的哈希值一致,则确定接收的报文为RUDP报文。
在本示例性实施例中,ACL利用底层TCAM的哈希值进行规则的命中和匹配操作,无需其他外部软件参与,速度快,准确度高。如果TCAM表中设置至少两条规则时,可以实现将一个报文与至少两条规则进行并行匹配,提高处理效率。
在一个示例性实施例中,所述将所述RUDP报文存储在用户态的内存中,包括:
将所述RUDP报文发送至DPDK(Data Plan Development Kit,数据平面开发工具包)模块;
利用所述DPDK模块将所述RUDP报文存储在用户态的内存中。
在本示例性实施例中,将RUDP报文存储在用户态的内存是利用DPDK模块实现的;利用DPDK模块的开源特性,对DPDK进行软件配置,无需增加硬件开发成本,完成将RUDP报文存储到用户态的内存的目的。
在一个示例性实施例中,所述将所述RUDP报文发送至数据平面开发工具包DPDK模块,包括:
将所述RUDP报文的目的端口重定向至预先获取的DPDK的端口;
将目的端口重定向后的RUDP报文发送出去。
在本示例性实施例中,在ACL模块确定RUDP报文后,通过将报文的目的端口进行重定向,可以将RUDP报文发送至DPDK的端口,以便DPDK模块进行处理。利用目的端口的重定向,可以实现RUDP报文在控制模块内部路由到DPDK模块的目的,无需对基带处理模块发送的报文的目的端口进行更改,在不破坏原有通信协议的传输机制的前提下,完成将RUDP报文存储到用户态的内存中的目的。
在一个示例性实施例中,所述利用所述DPDK模块将所述RUDP报文存储在用户态的内存中,包括:
对DPDK端口接收的报文进行轮询匹配,获取RUDP报文;
将所述RUDP报文在用户态内存空间中预先设置的队列中保存。
在本示例性实施例中,可以利用RUDP报文的报文格式特征信息,对DPDK端口接收的报文进行轮询匹配,得到RUDP报文,再利用该端口的队列存储该RUDP报文。由于DPDK采用UIO(Userspace I/O,用户控件的I/O)技术、大页面技术,报文可以直接存储在用户态内存中,实现了数据直接存储在用户态的内存的目标,实现了零拷贝的目标。
在一个示例性实施例中,所述将所述RUDP报文在用户态内存空间中预先设置的队列中保存,包括:
按照预先存储的存储顺序,将所述RUDP报文存储到预先设置的队列中;
所述将所述RUDP报文在用户态内存空间中预先设置的队列中保存之后,所述方法还包括:
按照预先设置的队列和处理模块的对应关系,控制每个处理模块分别响应各自对应的队列中的RUDP报文。
在本示例性实施例中,RUDP报文可以利用至少两个队列进行存储,其中接收的RUDP报文具体存储在哪个队列中,可以按照预先设置的策略进行确定,例如,可以随机选择一个队列,或者,根据RUDP报文的接收序号按照预先设置的计算表达式确定对应的队列。
由于每个队列具有对应的处理模块,每个处理模块均处理各自对应队列中的RUDP报文;其中,可以按照先进先出的对队列中的RUDP报文进行处理。通过多个处理模块并行处理RUDP报文,可以有效提高报文的处理效率。
在一个示例性实施例中,所述对存储的RUDP报文进行处理,包括:
在得到RUDP报文对应的响应信息后,从所述DPDK模块获取所述响应信息所需的用户态内存;
利用获取的用户态内存以及所述响应信息,得到所述RUDP报文对应的响应消息;
利用所述交换芯片发送所述响应消息。
在本示例性实施例中,在得到RUDP报文对应的响应信息后,通过向DPDK模块申请用户态内存,进行报文填写,然后直接发出,不存在中断和内存拷贝,极大的简洁了处理流程,提高了响应效率。
在一个示例性实施例中,所述将所述RUDP报文存储在用户态的内存中之前,所述方法还包括:
获取所述UE在预先设置的时长内的接入和/或脱离小区的次数信息;
当所述UE的接入和/或脱离小区的次数信息符合预先设置的频繁接入的判断条件时,将所述UE对应的RUDP报文存储在用户态的内存中。
在本示例性实施例中,通过对UE是否频繁接入基站的判断,可以有效地在原有报文处理方法和本申请的报文处理方法间进行切换,提高方法应用的灵活性。
下面对本申请实施例提供的方法进一步说明:
基站进行大容量UE频繁接入的情况下,可以通过ACL进行RUDP报文的识别,并利用DPDK进行报文的收发和处理,避免中断,并实现零拷贝来提高传输性能,提升用户体验,赢得客户口碑。
图2为本申请实施例提供的报文处理方法的交互示意图。如图2所示,用户设备接入基站后,经过射频处理单元的处理,基带处理单元可以输出RUDP报文。本申请的控制模块会利用内置的交换(switch)芯片和CPU对RUDP报文进行处理,并在处理完成后发送给核心网。
图3为图2所示各模块间的交互示意图。图3所示模块的处理方式包括:
在接收RUDP报文的数据传输方向上,基带处理模块在UE接入后触发发送RUDP至ACL模块;ACL模块利用预先存储的RUDP报文进行匹配,如果报文匹配失败,则将报文发送至其他网络驱动模块;如果报文匹配成功,则将报文发送至DPDK模块;DPDK模块在接收到报文后,将报文放在用户态可见的内存中,并利用报文处理模块对用户态的内存中的报文进行处理。
在发送RUDP报文的数据传输方向上,报文处理模块在从用户态的内存中申请内存,完成报文的填充,利用DPDK模块将RUDP报文发送至交换芯片,再由交换芯片发送至基带处理模块。
在图3所示的交互图中,在接收方向,在交换芯片被识别出RUDP报文后,将从DPDK端口直接存储到用户态内存里,发送给报文处理模块;在发送方向,OSS申请网口内存,进行报文填写,然后直接发出。在上述传输过程中,不存在中断和内存拷贝的操作,极大的简洁了处理流程,提高了响应效率,对基站的多项指标,有质的提升。
图4为本申请实施例提供的RUDP报文的处理方法的流程图。图4所示方法包括:
步骤401、射频单元检测用户终端是否接入小区;
步骤402、射频单元检测用户终端接入小区后,通知基带处理模块发送RUDP报文至控制模块。
步骤403、在RUDP报文经过物理链路传输到控制模块后,控制模块中的switch芯片对接收到RUDP报文进行ACL规则匹配。
在对RUDP报文的识别时,相关技术采用报文类型和端口号等位域进行逐个识别筛选。而当报文量大的时候,采用相关技术中的方法,会极大的增加了CPU的负荷。为了克服上述问题,本申请实施例提出在交换芯片层面采用acl功能,利用tcam表对报文进行高速识别标记转发,极大的提高了识别效率,并且不增加CPU额外的消耗。
如果匹配成功,则执行步骤404;否则,对报文进行正常转发。
步骤404、控制模块中的switch芯片将RUDP报文进行目的端口重定向至DPDK网口。
在ACL识别RUDP报文并转发到DPDK网口后,此时DPDK通过轮询,把报文放在一个用户态可见的mempool中,并可直接投递给处理模块,进行报文的处理。
步骤405、控制模块中的CPU将目的端口重定向后的RUDP报文发送出去。
步骤406、DPDK模块的收发包线程执行轮询接收操作,并执行报文匹配;
如果接收的报文为RUDP报文,则执行步骤407,否则,对报文都进行丢弃操作。
步骤407、将RUDP报文以队列的形式存储在用户态内存空间(mempool),其中DPDK收发包线程与CPU内的处理模块有绑定关系,为每个处理模块分配对应的收发包队列。
步骤408、轮询线程对RUDP报文进行轮询,投递到处理模块进行处理。
步骤409、处理模块根据报文内容,进行UE接入的资源分配和隧道建立。
从步骤405至步骤409可以看出,在接收到DPDK网口的报文后,报文就会被用户态轮询接收,然后投递给处理模块,中间无需产生中断,无需用户态对报文识别,无需发生报文从内核态到用户态的拷贝,极大的节省了系统资源和性能。
本申请实施例提供的方法,不需要修改硬件设计,利用开源的DPDK和交换芯片自带的ACL功能即可完成对报文处理的优化,提高处理效率。另外,与原来的转发处理方法相比,借助DPDK采用大页表存储RUDP报文实现零拷贝目的,将队列与处理模块绑定,提高报文的处理效率;另外,通过轮询线程避免任务调度和中断频发的问题,极大的节省了CPU资源,并提高了处理性能,能够更好的保证用户终端设备的使用和体验。
图5为本申请提供的报文处理装置的结构图。图5所示装置包括处理器501和存储器502,其中所述存储器502存储有计算机程序,所述处理器501调用所述存储器502中的计算机程序以实现如下操作,包括:
获取RUDP报文,其中所述RUDP报文包括用户设备UE的接入请求信息;
将所述RUDP报文存储在用户态的内存中;
对存储的RUDP报文进行处理。
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述获取RUDP报文的操作,包括:
获取基带处理模块发送的报文;
利用所述控制模块中交换芯片内的访问控制列表ACL模块,对获取到的报文进行RUDP报文的识别,得到RUDP报文。
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述利用所述控制模块中交换芯片内的ACL模块,对获取到的报文进行识别,得到RUDP报文的操作,包括:
对接收获取到的报文进行哈希计算,得到所述报文的哈希值;
利用所述ACL模块中三态内容寻址存储器502TCAM中预先存储的哈希数值信息,对接收到的报文的哈希值执行匹配操作;
如果匹配结果为所述报文的哈希值与所述TCAM中存储的哈希值一致,则确定接收的报文为RUDP报文。
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述将所述RUDP报文存储在用户态的内存中的操作,包括:
将所述RUDP报文发送至数据平面开发工具包DPDK模块;
利用所述DPDK模块将所述RUDP报文存储在用户态的内存中。
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述将所述RUDP报文发送至数据平面开发工具包DPDK模块的操作,包括:
将所述RUDP报文的目的端口重定向至预先获取的DPDK的端口;
将目的端口重定向后的RUDP报文发送出去。
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述利用所述DPDK模块将所述RUDP报文存储在用户态的内存中的操作,包括:
对DPDK端口接收的报文进行轮询匹配,获取RUDP报文;
将所述RUDP报文在用户态内存空间中预先设置的队列中保存。
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述将所述RUDP报文在用户态内存空间中预先设置的队列中保存的操作,包括:
按照预先存储的存储顺序,将所述RUDP报文存储到预先设置的队列中;
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述将所述RUDP报文在用户态内存空间中预先设置的队列中保存的操作之后,所述处理器501调用所述存储器502中的计算机程序还实现如下操作,包括:
按照预先设置的队列和处理模块的对应关系,控制每个处理模块分别响应各自对应的队列中的RUDP报文。
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述对存储的RUDP报文进行处理的操作,包括:
在得到RUDP报文对应的响应信息后,从所述DPDK模块获取所述响应信息所需的用户态内存;
利用获取的用户态内存以及所述响应信息,得到所述RUDP报文对应的响应消息;
利用所述交换芯片发送所述响应消息。
在一个示例性实施例中,所述处理器501调用所述存储器502中的计算机程序以实现所述将所述RUDP报文存储在用户态的内存中的操作之前,所述处理器501调用所述存储器502中的计算机程序还实现如下操作,包括:
获取所述UE在预先设置的时长内的接入和/或脱离小区的次数信息;
当所述UE的接入和/或脱离小区的次数信息符合预先设置的频繁接入的判断条件时,将所述UE对应的RUDP报文存储在用户态的内存中。
本申请提供的装置实施例,获取可靠用户数据报协议RUDP报文,将所述RUDP报文存储在用户态的内存中,并对存储的RUDP报文进行处理,通过将RUDP报文直接存储到用户态的内存,则无需执行内存的拷贝,实现了内存零拷贝的目的,达到降低处理器的负担的效果。
本申请提供的计算机存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上文任一所述的方法。
本申请提供的计算机存储介质实施例,获取可靠用户数据报协议RUDP报文,将所述RUDP报文存储在用户态的内存中,并对存储的RUDP报文进行处理,通过将RUDP报文直接存储到用户态的内存,则无需执行内存的拷贝,实现了内存零拷贝的目的,达到降低处理器的负担的效果。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种报文处理方法,应用于基站,包括:
获取可靠用户数据报协议RUDP报文,其中所述RUDP报文包括用户设备UE的接入请求信息;
将所述RUDP报文存储在用户态的内存中;
对存储的RUDP报文进行处理;
所述对存储的RUDP报文进行处理,包括:
在得到RUDP报文对应的响应信息后,获取所述响应信息所需的用户态内存;
利用获取的用户态内存以及所述响应信息,得到所述RUDP报文对应的响应消息;
利用交换芯片发送所述响应消息。
2.根据权利要求1所述的方法,其特征在于,所述获取RUDP报文,包括:
获取基带处理模块发送的报文;
利用交换芯片内的访问控制列表ACL模块,对获取到的报文进行RUDP报文的识别,得到RUDP报文。
3.根据权利要求2所述的方法,其特征在于,所述利用交换芯片内的ACL模块,对获取到的报文进行识别,得到RUDP报文,包括:
对获取到的报文进行哈希计算,得到所述报文的哈希值;
利用所述ACL模块中三态内容寻址存储器TCAM中预先存储的哈希数值信息,对接收到的报文的哈希值执行匹配操作;
如果匹配结果为所述报文的哈希值与所述TCAM中存储的哈希值一致,则确定接收的报文为RUDP报文。
4.根据权利要求1所述的方法,其特征在于,所述将所述RUDP报文存储在用户态的内存中,包括:
将所述RUDP报文发送至数据平面开发工具包DPDK模块;
利用所述DPDK模块将所述RUDP报文存储在用户态的内存中。
5.根据权利要求4述的方法,其特征在于,所述将所述RUDP报文发送至数据平面开发工具包DPDK模块,包括:
将所述RUDP报文的目的端口重定向至预先获取的DPDK的端口;
将目的端口重定向后的RUDP报文发送出去。
6.根据权利要求4所述的方法,其特征在于,所述利用所述DPDK模块将所述RUDP报文存储在用户态的内存中,包括:
对DPDK端口接收的报文进行轮询匹配,获取RUDP报文;
将所述RUDP报文在用户态内存空间中预先设置的队列中保存。
7.根据权利要求6所述的方法,其特征在于:
所述将所述RUDP报文在用户态内存空间中预先设置的队列中保存,包括:
按照预先存储的存储顺序,将所述RUDP报文存储到预先设置的队列中;
所述将所述RUDP报文在用户态内存空间中预先设置的队列中保存之后,所述方法还包括:
按照预先设置的队列和处理模块的对应关系,控制每个处理模块分别响应各自对应的队列中的RUDP报文。
8.根据权利要求1所述的方法,其特征在于,所述将所述RUDP报文存储在用户态的内存中之前,所述方法还包括:
获取所述UE在预先设置的时长内的接入和/或脱离小区的次数信息;
当所述UE的接入和/或脱离小区的次数信息符合预先设置的频繁接入的判断条件时,将所述UE对应的RUDP报文存储在用户态的内存中。
9.一种报文处理装置,包括处理器和存储器,其中所述存储器存储有计算机程序,所述处理器调用所述存储器中的计算机程序以实现如权利要求1至8任一所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至8任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910785349.3A CN112422457B (zh) | 2019-08-23 | 2019-08-23 | 报文处理方法、装置和计算机存储介质 |
EP20858807.9A EP3992770A4 (en) | 2019-08-23 | 2020-08-14 | METHOD AND APPARATUS FOR PROCESSING MESSAGES, AND COMPUTER STORAGE MEDIA |
PCT/CN2020/109085 WO2021036812A1 (zh) | 2019-08-23 | 2020-08-14 | 报文处理方法、装置和计算机存储介质 |
JP2022511037A JP7366240B2 (ja) | 2019-08-23 | 2020-08-14 | メッセージ処理方法、装置およびコンピュータ記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910785349.3A CN112422457B (zh) | 2019-08-23 | 2019-08-23 | 报文处理方法、装置和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112422457A CN112422457A (zh) | 2021-02-26 |
CN112422457B true CN112422457B (zh) | 2023-04-07 |
Family
ID=74685065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910785349.3A Active CN112422457B (zh) | 2019-08-23 | 2019-08-23 | 报文处理方法、装置和计算机存储介质 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3992770A4 (zh) |
JP (1) | JP7366240B2 (zh) |
CN (1) | CN112422457B (zh) |
WO (1) | WO2021036812A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434287A (zh) * | 2021-06-03 | 2021-09-24 | 中国联合网络通信集团有限公司 | 任务数据传输方法、系统、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104705A (zh) * | 2013-04-11 | 2014-10-15 | 阿里巴巴集团控股有限公司 | 分布式存储系统的接入方法和设备 |
CN104601468A (zh) * | 2015-01-13 | 2015-05-06 | 杭州华三通信技术有限公司 | 报文转发方法和设备 |
CN106657126A (zh) * | 2017-01-05 | 2017-05-10 | 盛科网络(苏州)有限公司 | 检测及防御DDoS攻击的装置及方法 |
CN108628684A (zh) * | 2017-03-20 | 2018-10-09 | 华为技术有限公司 | 一种基于dpdk的报文处理方法及计算机设备 |
CN109688058A (zh) * | 2018-12-19 | 2019-04-26 | 迈普通信技术股份有限公司 | 报文处理方法、装置及网络设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035060A (zh) * | 2006-03-08 | 2007-09-12 | 中兴通讯股份有限公司 | 一种三重内容可寻址存储器报文分类的统一处理方法 |
WO2008034000A1 (en) * | 2006-09-13 | 2008-03-20 | Asankya Networks, Inc. | Systems and methods of improving performance of transport protocols in a multi-path environment |
US20080268881A1 (en) * | 2007-04-30 | 2008-10-30 | Motorola, Inc. | Method and apparatus for silently fetching information |
US8259659B2 (en) * | 2008-07-03 | 2012-09-04 | Apple Inc. | Apparatus and methods for managing access and update requests in a wireless network |
US9331963B2 (en) * | 2010-09-24 | 2016-05-03 | Oracle International Corporation | Wireless host I/O using virtualized I/O controllers |
CN102546398B (zh) * | 2011-12-16 | 2015-02-25 | 华为技术有限公司 | 一种报文匹配方法及装置 |
US9264357B2 (en) * | 2013-04-30 | 2016-02-16 | Xpliant, Inc. | Apparatus and method for table search with centralized memory pool in a network switch |
KR102319838B1 (ko) * | 2017-03-08 | 2021-11-01 | 삼성전자 주식회사 | 대규모 접속을 고려한 랜덤 액세스를 위한 장치 및 방법 |
US11093284B2 (en) * | 2017-05-12 | 2021-08-17 | Xilinx, Inc. | Data processing system |
CN108037898A (zh) * | 2017-12-15 | 2018-05-15 | 郑州云海信息技术有限公司 | 一种基于Ceph的dpdk通讯的方法、系统及装置 |
CN109309626B (zh) * | 2018-09-10 | 2022-03-25 | 南京知常容信息技术有限公司 | 一种基于dpdk的高速网络数据包捕获分流及缓存方法 |
-
2019
- 2019-08-23 CN CN201910785349.3A patent/CN112422457B/zh active Active
-
2020
- 2020-08-14 WO PCT/CN2020/109085 patent/WO2021036812A1/zh unknown
- 2020-08-14 JP JP2022511037A patent/JP7366240B2/ja active Active
- 2020-08-14 EP EP20858807.9A patent/EP3992770A4/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104705A (zh) * | 2013-04-11 | 2014-10-15 | 阿里巴巴集团控股有限公司 | 分布式存储系统的接入方法和设备 |
CN104601468A (zh) * | 2015-01-13 | 2015-05-06 | 杭州华三通信技术有限公司 | 报文转发方法和设备 |
CN106657126A (zh) * | 2017-01-05 | 2017-05-10 | 盛科网络(苏州)有限公司 | 检测及防御DDoS攻击的装置及方法 |
CN108628684A (zh) * | 2017-03-20 | 2018-10-09 | 华为技术有限公司 | 一种基于dpdk的报文处理方法及计算机设备 |
CN109688058A (zh) * | 2018-12-19 | 2019-04-26 | 迈普通信技术股份有限公司 | 报文处理方法、装置及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3992770A4 (en) | 2022-07-27 |
CN112422457A (zh) | 2021-02-26 |
EP3992770A1 (en) | 2022-05-04 |
WO2021036812A1 (zh) | 2021-03-04 |
JP2022545453A (ja) | 2022-10-27 |
JP7366240B2 (ja) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113326228B (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
CN110391999B (zh) | 一种数据通信方法及系统 | |
EP1782602A1 (en) | Apparatus and method for supporting connection establishment in an offload of network protocol processing | |
US11048535B2 (en) | Method and apparatus for transmitting data packet based on virtual machine | |
CN106664290A (zh) | 一种光电混合网络的数据传输方法及装置 | |
EP3771169B1 (en) | Message processing method and related device | |
CN112261094B (zh) | 一种报文处理方法及代理服务器 | |
CN112152940B (zh) | 报文处理方法、装置以及系统 | |
US20070130367A1 (en) | Inbound connection prioritization | |
CN111698167B (zh) | 一种报文处理方法及装置 | |
US8539089B2 (en) | System and method for vertical perimeter protection | |
US9621633B2 (en) | Flow director-based low latency networking | |
CN113891396B (zh) | 数据包的处理方法、装置、计算机设备和存储介质 | |
CN113726636B (zh) | 软件转发设备的数据转发方法、系统及电子设备 | |
CN103888364A (zh) | 报文分流方法及设备 | |
US10348651B2 (en) | Apparatus and method for virtual switching | |
CN112422457B (zh) | 报文处理方法、装置和计算机存储介质 | |
CN110737530B (zh) | 一种提升handle标识解析系统收包能力的方法 | |
WO2018057165A1 (en) | Technologies for dynamically transitioning network traffic host buffer queues | |
CN116260887A (zh) | 数据传输方法、数据发送装置、数据接收装置和存储介质 | |
CN113535370A (zh) | 一种实现负载均衡的多rdma网卡虚拟化的方法、设备 | |
WO2023226730A1 (zh) | 数据传输方法及其装置、存储介质、程序产品 | |
CN111371723B (zh) | 一种在dpdk框架下实现pptp vpn网络隔离的方法和装置 | |
US10187330B2 (en) | High-speed packet processing system and control method thereof | |
CN116610530A (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 |