CN110569126A - 目标应用的数据包处理方法、装置及电子设备 - Google Patents

目标应用的数据包处理方法、装置及电子设备 Download PDF

Info

Publication number
CN110569126A
CN110569126A CN201910847154.7A CN201910847154A CN110569126A CN 110569126 A CN110569126 A CN 110569126A CN 201910847154 A CN201910847154 A CN 201910847154A CN 110569126 A CN110569126 A CN 110569126A
Authority
CN
China
Prior art keywords
data packet
target
memory
target application
processing
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.)
Pending
Application number
CN201910847154.7A
Other languages
English (en)
Inventor
陈闯
潘飚
王鹤
王能洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Zhongfu Information Technology Co Ltd
Original Assignee
Nanjing Zhongfu Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Zhongfu Information Technology Co Ltd filed Critical Nanjing Zhongfu Information Technology Co Ltd
Priority to CN201910847154.7A priority Critical patent/CN110569126A/zh
Publication of CN110569126A publication Critical patent/CN110569126A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种目标应用的数据包处理方法、装置及电子设备,涉及计算机技术领域,该方法包括:通过目标应用的主进程检测目标应用占用的内存池中是否存在目标数据包;目标数据包是由目标应用的次进程对数据包进行处理操作后得到的;如果是,通过主进程释放目标数据包所占用的内存。本发明提升了目标应用的数据包处理稳定性。

Description

目标应用的数据包处理方法、装置及电子设备
技术领域
本发明涉及计算机技术领域,尤其是涉及一种目标应用的数据包处理方法、装置及电子设备。
背景技术
现有的多进程部署计算机软件在运行时,在服务器上部署一个主进程,其他进程为次进程。然而,现有的多进程部署计算机软件在处理网卡发送的数据包时,采用次进程释放完成处理操作的数据包,当次进程异常退出时,会影响软件对数据包的正常处理。因此,现有的数据包处理技术的稳定性还有待提升。
发明内容
本发明实施例的目的在于提供一种目标应用的数据包处理方法、装置及电子设备,较好地提升了数据包处理的稳定性。
第一方面,本发明实施例提供一种目标应用的数据包处理方法,所述方法包括:通过所述目标应用的主进程检测所述目标应用占用的内存池中是否存在目标数据包;所述目标数据包是由所述目标应用的次进程对数据包进行处理操作后得到的;如果是,通过所述主进程释放所述目标数据包所占用的内存。
在可选的实施方式中,所述检测所述目标应用占用的内存池中是否存在目标数据包的步骤,包括:检测所述内存池中是否存在引用计数为0的数据包;如果是,将所述引用计数为0的数据包确定为目标数据包。
在可选的实施方式中,所述释放所述目标数据包所占用的内存的步骤,包括:将所述目标数据包所占用内存的地址确定为目标内存地址,并将所述目标内存地址发送至内存管理队列,以使所述内存池基于所述内存管理队列中的所述目标内存地址接收网卡发送的新的数据包。
在可选的实施方式中,所述方法还包括:从所述内存池中获取未经处理的数据包;从所述目标应用的多个次进程中查找用于处理所述未经处理的数据包的次进程,将查找到的所述次进程作为目标次进程;将所述未经处理的数据包的内存地址通过ring队列发送至所述目标次进程,以使所述目标次进程对所述未经处理的数据包进行处理操作。
在可选的实施方式中,所述处理操作包括:按照预设方式处理数据包且将经处理后的所述数据包的引用计数减1。
第二方面,本发明实施例提供一种目标应用的数据包处理装置,所述装置包括:检测模块,用于通过所述目标应用的主进程检测所述目标应用占用的内存池中是否存在目标数据包;所述目标数据包是由所述目标应用的次进程对数据包进行处理操作后得到的;释放模块,用于在所述内存池中存在目标数据包时,通过所述主进程释放所述目标数据包所占用的内存。
在可选的实施方式中,所述检测模块,进一步用于检测所述内存池中是否存在引用计数为0的数据包;如果存在引用计数为0的数据包,将所述引用计数为0的数据包确定为目标数据包。
在可选的实施方式中,所述释放模块,进一步用于将所述目标数据包所占用内存的地址确定为目标内存地址,并将所述目标内存地址发送至内存管理队列,以使所述内存池基于所述内存管理队列中的所述目标内存地址接收网卡发送的新的数据包s。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式任一项所述的方法。
第四方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现前述实施方式任一项所述的方法。
本发明实施例提供了一种目标应用的数据包处理方法、装置及电子设备,在该方法中,首先通过目标应用的主进程检测目标应用占用的内存池中是否存在目标数据包(目标数据包是由目标应用的次进程对数据包进行处理操作后得到的);如果目标应用占用的内存池中存在目标数据包,再通过主进程释放目标数据包所占用的内存。该方法在次进程对数据包完成处理操作后,通过主进程释放目标数据包内存,以便对目标数据包进行实质性释放,缓解了现有技术中次进程异常退出时目标应用无法正常处理数据包的问题,因此,本发明实施例提升了目标应用的数据包处理稳定性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据包处理方法流程图;
图2为本发明实施例提供的一种目标应用的数据包处理方法流程图;
图3为本发明实施例提供的一种次进程数据包处理方法流程图;
图4为本发明实施例提供的一种数据包处理方法流程图;
图5为本发明实施例提供的一种目标应用的数据包处理装置结构示意图;
图6为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
现有的数据包处理技术,参见如图1所示的数据包处理方法流程图,图1中的内存池是通过主进程预先申请得到的,内存池包括多块内存和内存池的管理队列(管理队列用于存放内存池中被分为多块内存的内存地址)。网卡接收数据包后,从内存池的管理队列中获取可以存放数据包的内存地址,并将接收到的数据包放置在对应的内存地址中。主进程将网卡接收的数据包A的内存地址传递给次进程,次进程根据数据包A的内存地址,从内存池中获取数据包A,对数据包A处理完成后,将数据包A的内存地址释放回内存池。然而,现有的数据包处理技术,采用次进程释放完成处理操作的数据包,当次进程异常退出时,会影响到对数据包的正常处理。因此,现有的数据包处理技术的稳定性还有待提升。基于此,本发明实施例提供了一种目标应用的数据包处理方法、装置及电子设备,该方法可以应用于提升数据包处理的稳定性。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种目标应用的数据包处理方法进行详细介绍。
参见如图2所示的目标应用的数据包处理方法流程图,该方法可以由运行上述主进程的处理器执行,该方法包括以下步骤:
步骤S202:通过目标应用的主进程检测目标应用占用的内存池中是否存在目标数据包;目标数据包是由目标应用的次进程对数据包进行处理操作后得到的。
上述目标应用为具有多进程部署的计算机软件,该目标应用在运行时在服务器上部署一个主进程,其他进程为次进程(包括多个次进程),例如,该目标应用可以是数据平面开发套件(DPDK,Data Plane Development Kit),该DPDK软件为多进程部署软件,主进程负责内存的初始化及内存池的申请,次进程与内存池连接以获取内存池中的数据包。上述目标应用还可以是其他与上述DPDK相类似的多进程部署软件。上述内存池为目标应用开始运行时主进程申请得到的,该内存池包括多个内存块,内存块用于存放数据包。通过目标应用的主进程遍历内存池中的各内存块,检测各内存块中是否存在经过次进程处理完成的数据包,并将经过次进程处理完成的数据包作为目标数据包。
步骤S204:如果是,通过主进程释放目标数据包所占用的内存。
当目标应用的内存池中存在目标数据包时,即内存池中存在经过次进程处理完成的数据包,通过目标应用的主进程将目标数据包所占用的内存进行释放。
本发明实施例提供的上述目标应用的数据包处理方法,在次进程对数据包完成处理操作后,通过主进程释放目标数据包内存,以便对目标数据包进行实质性释放,缓解了现有技术中次进程异常退出时目标应用无法正常处理数据包的问题,因此,该方法提升了目标应用的数据包处理稳定性。
为了快速准确地检测出内存池中是否存在目标数据包,本实施例提供了检测目标应用占用的内存池中是否存在目标数据包的具体实施方式:检测内存池中是否存在引用计数为0的数据包;如果是,将引用计数为0的数据包确定为目标数据包。上述引用计数为0的数据包即为经次进程处理完成的数据包,通过检测内存池存放的数据包中是否存在引用计数为0的数据包,可以快速确定目标数据包及目标数据包所占用内存的内存地址。
为了完全释放目标数据包所占用的内存,本实施例提供了释放目标数据包所占用内存的具体实施方式:将目标数据包所占用内存的地址确定为目标内存地址,并将目标内存地址发送至内存管理队列,以使内存池基于内存管理队列中的目标内存地址接收网卡发送的新的数据包。上述内存管理队列为内存池的内存管理队列,内存管理队列中存储了内存池中各内存块的地址,包括未经次进程处理的数据包占用的内存地址及目标数据包占用的内存地址。由于目标数据包为通过次进程完成处理操作的数据包(目标数据包的引用计数为0),因此,目标数据包所占用的内存块可以接收新的数据包,将目标数据包所占用内存的地址发送至内存管理队列,内存管理队列将目标内存地址标记为可以接收新数据包的内存地址,以使内存池基于内存管理队列中的目标内存地址接收网卡发送的新的数据包,即网卡接收到新的数据包后,将新的数据包放置在目标内存地址中,该目标内存地址为内存池内存管理队列中记录的可以接收新数据包的内存地址。上述放置的新的数据包即为未经次进程处理的数据包,内存池中的目标内存地址放置新的数据包后,内存管理队列将目标内存地址更新为未经次进程处理的数据包占用的内存地址。
在一种具体的实施方式中,本实施例提供的目标应用的数据包处理还包括对未经处理的数据包进行处理的步骤,具体可参照如下步骤(1)~步骤(3)执行:
步骤(1):从内存池中获取未经处理的数据包。根据内存池的内存管理队列中记录的未经次进程处理的数据包占用的内存地址,从内存池中未经次进程处理的数据包占用的内存地址上获取未经处理的数据包。
步骤(2):从目标应用的多个次进程中查找用于处理未经处理的数据包的次进程,将查找到的次进程作为目标次进程。由于上述目标应用包括多个次进程,网卡接收到的数据包可能需要多个次进程对其进行处理,根据未经处理的数据包信息,将目标应用中用于处理该未经处理的数据包的次进程确定为目标次进程。
步骤(3)将未经处理的数据包的内存地址通过ring队列发送至目标次进程,以使目标次进程对未经处理的数据包进行处理操作。上述ring队列的个数与上述次进程的个数相匹配,即ring队列与次进程为一一对应的关系,主进程通过目标次进程的ring队列,将未经处理的数据包的内存地址分别发送至各目标次进程,以使目标次进程从内存池的未经处理的数据包的内存地址上,获取未经处理的数据包进行处理操作。
在一种实施方式中,上述处理操作包括:按照预设方式处理数据包且将经处理后的数据包的引用计数减1。上述目标次进程按照预设方式(可以是常用的数据包处理方式)处理数据包,并将处理后的数据包的引用计数减1。例如,未经处理的数据包B,数据包B的初始引用计数为n,主进程将数据包B的内存地址分别发送至目标次进程后,目标次进程从内存池中获取数据包B后按照预设方式进行处理,每个目标次进程处理后将数据包B的引用计数减1,当n个目标次进程都对数据包B执行处理操作后,即目标应用的次进程完成了处理操作,数据包B的引用计数变为0,数据包B变为目标数据包。
在一种实施方式中,本实施例提供了次进程对数据包的执行处理操作的具体实施方式,参见如图3所示的次进程数据包处理方法流程图,该方法由次进程上的处理器执行,具体可参照如下步骤S302~步骤S308执行:
步骤S302:初始化大页内存。通过初始化大页内存,获取目标应用的主进程用于接收数据包所创建的内存池地址,并使用初始化大页内存生产的内存空间,保证网卡接收数据包的地址空间相同。
步骤S304:查找ring队列,并读取ring队列中的数据包地址。
步骤S306:根据读取到的数据包地址,按照预设方式对数据包进行处理。
步骤S308:对数据包处理后,将处理后的数据包的引用计数减1。
当所有的目标次进程都完成上述步骤S302~步骤S308后,目标应用的次进程完成对数据包的处理操作。
在实际应用中,参见如图4所示的数据包处理方法流程图,可以采用以下方式实现对数据包的处理,该方法由目标应用的主进程上的处理器执行,具体可参照如下步骤S402~步骤S410执行:
步骤S402:初始化大页内存,并在大页内存中创建内存池。该内存池包括多个内存块和内存管理队列。主进程在获取数据包(该数据包为多个网卡接收到的数据包)之前,需要初始化大页内存,以便为创建的内存池提供存放地址空间。
步骤S404:启动网卡,并设置网卡队列。设置网卡队列的个数和网卡队列的长度,启动网卡后,网卡开始接收数据包。
步骤S406:创建与次进程相匹配的ring队列。ring队列用于将数据包从主进程发送至次进程,ring队列的个数与次进程的个数相同,且为一一对应的关系。
步骤S408:重复从内存池中获取网卡接收到的数据包,并将数据包通过ring队列发送至此进程,以使次进程对数据包进行处理操作。
步骤S410:循环遍历内存池中的数据包,将引用计数为0的数据包的内存地址放入内存管理队列。以使内存池根据内存管理队列接收新的数据包,即将新的数据包放置在计数为0的数据包的内存地址上。
本发明实施例提供的上述目标应用的数据包处理方法,主进程可以快速确定目标数据包及目标数据包所占用内存的内存地址,且由主进程完成将目标数据包的内存地址放回内存管理队列的操作,次进程对数据包进行处理后只对数据包的引用计数进行减一操作,提升了数据包处理的可靠性。
现有的数据包处理技术采用次进程释放数据包,次进程将处理完成的数据包的内存地址放入内存管理队列时,次进程需要对内存管理队列生产者的头尾进行修改,当次进程调整生产者的头时,次进程异常退出。此时,次进程还未调整生产者的尾,导致内存管理队列无法正常运行,处于阻塞状态,当内存管理队列满时,网卡无法从内存管理队列获取存放数据包的内存地址,最终导致无法接收网卡数据包。基于上述问题,本发明实施例提供了一种目标应用的数据包处理方法,由主进程完成将次进程处理完成的数据包内存地址放回内存管理队列的操作,次进程对数据包进行处理后只对数据包的引用计数进行减一操作,不会发生内存管理队列的生产者头尾不一致而导致管理队列阻塞的问题,从而避免了次进程异常退出导致的内存管理队列阻塞问题,提升了数据包处理的可靠性。
对应于前述目标应用的数据包处理方法,本发明实施例提供了一种目标应用的数据包处理装置,参见如图5所示的目标应用的数据包处理装置结构示意图,该装置包括:
检测模块51,用于通过目标应用的主进程检测目标应用占用的内存池中是否存在目标数据包;目标数据包是由目标应用的次进程对数据包进行处理操作后得到的。
释放模块52,用于在内存池中存在目标数据包时,通过主进程释放目标数据包所占用的内存。
本发明实施例提供的上述目标应用的数据包处理装置,在次进程对数据包完成处理操作后,通过主进程释放目标数据包内存,以便对目标数据包进行实质性释放,缓解了现有技术中次进程异常退出时目标应用无法正常处理数据包的问题,因此,该装置提升了目标应用的数据包处理稳定性。
在一种实施方式中,上述检测模块51,进一步用于检测内存池中是否存在引用计数为0的数据包;如果存在引用计数为0的数据包,将引用计数为0的数据包确定为目标数据包。
在一种实施方式中,上述释放模块52,进一步用于将目标数据包所占用内存的地址确定为目标内存地址,并将目标内存地址发送至内存管理队列,以使内存池基于内存管理队列中的目标内存地址接收网卡发送的新的数据包。
在一种实施方式中,上述装置还包括:
数据包处理模块,用于从内存池中获取未经处理的数据包;从目标应用的多个次进程中查找用于处理未经处理的数据包的次进程,将查找到的次进程作为目标次进程;将未经处理的数据包的内存地址通过ring队列发送至目标次进程,以使目标次进程对未经处理的数据包进行处理操作。
在一种实施方式中,上述处理操作包括:按照预设方式处理数据包且将经处理后的数据包的引用计数减1。
本发明实施例提供的上述目标应用的数据包处理装置,主进程可以快速确定目标数据包及目标数据包所占用内存的内存地址,且由主进程完成将目标数据包的内存地址放回内存管理队列的操作,次进程对数据包进行处理后只对数据包的引用计数进行减一操作,提升了数据包处理的可靠性。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种电子设备,如图6所示的电子设备结构示意图,电子设备包括处理器61、存储器62,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的目标应用的数据包处理方法的步骤。
参见图6,电子设备还包括:总线64和通信接口63,处理器61、通信接口63和存储器62通过总线64连接。处理器61用于执行存储器62中存储的可执行模块,例如计算机程序。
其中,存储器62可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线64可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器62用于存储程序,所述处理器61在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器61中,或者由处理器61实现。
处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等。还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器62,处理器61读取存储器62中的信息,结合其硬件完成上述方法的步骤。
本发明实施例提供了一种计算机可读介质,其中,所述计算机可读介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现上述实施例所述的目标应用的数据包处理方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种目标应用的数据包处理方法,其特征在于,所述方法包括:
通过所述目标应用的主进程检测所述目标应用占用的内存池中是否存在目标数据包;所述目标数据包是由所述目标应用的次进程对数据包进行处理操作后得到的;
如果是,通过所述主进程释放所述目标数据包所占用的内存。
2.根据权利要求1所述的方法,其特征在于,所述检测所述目标应用占用的内存池中是否存在目标数据包的步骤,包括:
检测所述内存池中是否存在引用计数为0的数据包;
如果是,将所述引用计数为0的数据包确定为目标数据包。
3.根据权利要求1所述的方法,其特征在于,所述释放所述目标数据包所占用的内存的步骤,包括:
将所述目标数据包所占用内存的地址确定为目标内存地址,并将所述目标内存地址发送至内存管理队列,以使所述内存池基于所述内存管理队列中的所述目标内存地址接收网卡发送的新的数据包。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
从所述内存池中获取未经处理的数据包;
从所述目标应用的多个次进程中查找用于处理所述未经处理的数据包的次进程,将查找到的所述次进程作为目标次进程;
将所述未经处理的数据包的内存地址通过ring队列发送至所述目标次进程,以使所述目标次进程对所述未经处理的数据包进行处理操作。
5.根据权利要求4所述的方法,其特征在于,所述处理操作包括:按照预设方式处理数据包且将经处理后的所述数据包的引用计数减1。
6.一种目标应用的数据包处理装置,其特征在于,所述装置包括:
检测模块,用于通过所述目标应用的主进程检测所述目标应用占用的内存池中是否存在目标数据包;所述目标数据包是由所述目标应用的次进程对数据包进行处理操作后得到的;
释放模块,用于在所述内存池中存在目标数据包时,通过所述主进程释放所述目标数据包所占用的内存。
7.根据权利要求6所述的装置,其特征在于,所述检测模块,进一步用于检测所述内存池中是否存在引用计数为0的数据包;如果存在引用计数为0的数据包,将所述引用计数为0的数据包确定为目标数据包。
8.根据权利要求7所述的装置,其特征在于,所述释放模块,进一步用于将所述目标数据包所占用内存的地址确定为目标内存地址,并将所述目标内存地址发送至内存管理队列,以使所述内存池基于所述内存管理队列中的所述目标内存地址接收网卡发送的新的数据包。
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-5任一项所述的方法。
10.一种计算机可读介质,其特征在于,所述计算机可读介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1-5任一项所述的方法。
CN201910847154.7A 2019-09-09 2019-09-09 目标应用的数据包处理方法、装置及电子设备 Pending CN110569126A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910847154.7A CN110569126A (zh) 2019-09-09 2019-09-09 目标应用的数据包处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910847154.7A CN110569126A (zh) 2019-09-09 2019-09-09 目标应用的数据包处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN110569126A true CN110569126A (zh) 2019-12-13

Family

ID=68778424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910847154.7A Pending CN110569126A (zh) 2019-09-09 2019-09-09 目标应用的数据包处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110569126A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130294449A1 (en) * 2012-05-03 2013-11-07 Lsi Corporation Efficient application recognition in network traffic
CN105357151A (zh) * 2015-11-19 2016-02-24 成都科来软件有限公司 一种基于dpdk的抓包及镜像流量转发方法
US20180165117A1 (en) * 2016-12-08 2018-06-14 NoFutzNetworks Inc. Software Switch Hypervisor for Isolation of Cross-Port Network Traffic
CN109445944A (zh) * 2018-10-25 2019-03-08 武汉虹旭信息技术有限责任公司 一种基于dpdk的网络数据采集处理***及其方法
CN110071880A (zh) * 2018-01-24 2019-07-30 北京金山云网络技术有限公司 报文转发方法、转发装置、服务器及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130294449A1 (en) * 2012-05-03 2013-11-07 Lsi Corporation Efficient application recognition in network traffic
CN105357151A (zh) * 2015-11-19 2016-02-24 成都科来软件有限公司 一种基于dpdk的抓包及镜像流量转发方法
US20180165117A1 (en) * 2016-12-08 2018-06-14 NoFutzNetworks Inc. Software Switch Hypervisor for Isolation of Cross-Port Network Traffic
CN110071880A (zh) * 2018-01-24 2019-07-30 北京金山云网络技术有限公司 报文转发方法、转发装置、服务器及存储介质
CN109445944A (zh) * 2018-10-25 2019-03-08 武汉虹旭信息技术有限责任公司 一种基于dpdk的网络数据采集处理***及其方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PCOKK: "DPDK:进程间通信以及在内存管理的应用", 《HTTPS://BLOG.CSDN.NET/PROKK/ARTICLE/DETAILS/90138043》 *

Similar Documents

Publication Publication Date Title
CN108846749B (zh) 一种基于区块链技术的分片化的交易执行***及方法
CN109688058B (zh) 报文处理方法、装置及网络设备
WO2015103917A1 (zh) 无线路由设备管理方法和装置
CN109951534B (zh) 一种共识方法、装置和***
CN108062235B (zh) 数据处理方法及装置
CN109992511B (zh) 获取代码测试覆盖率的装置及方法
CN111369358A (zh) 一种区块链共识方法、装置和电子设备
CN110648125B (zh) 一种打包交易方法、装置、电子设备及存储介质
CN109101819B (zh) 一种漏洞检测方法及终端、存储介质
CN111882322A (zh) 一种按顺序打包交易的方法、装置及电子设备
CN110069217B (zh) 一种数据存储方法及装置
CN109753435B (zh) 一种软件测试方法和装置
US20180176781A1 (en) Method and device for managing wireless access point
CN111176696B (zh) 存储芯片的升级方法、装置、终端设备及介质
CN110569126A (zh) 目标应用的数据包处理方法、装置及电子设备
CN108073460B (zh) 分布式***中的全局锁抢占方法、装置及计算设备
CN108388982B (zh) 任务的运行方法、装置和电子设备
CN106649064B (zh) 一种应用操作监测方法及装置
CN113535578B (zh) 一种cts测试方法、装置及测试设备
CN110740062B (zh) 断点续传方法和装置
CN114390118A (zh) 一种工控资产识别方法、装置、电子设备及存储介质
CN114024879A (zh) 一种网络探针的部署方法、装置及存储介质
CN112328288A (zh) 一种服务器组件的更新方法、***、设备及存储介质
CN113849674A (zh) 识别伪装用户代理信息的方法、装置和电子设备
CN115562466B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191213

WD01 Invention patent application deemed withdrawn after publication