CN110138662A - 多核系统中的会话表项处理方法、装置及多核系统 - Google Patents
多核系统中的会话表项处理方法、装置及多核系统 Download PDFInfo
- Publication number
- CN110138662A CN110138662A CN201910380533.XA CN201910380533A CN110138662A CN 110138662 A CN110138662 A CN 110138662A CN 201910380533 A CN201910380533 A CN 201910380533A CN 110138662 A CN110138662 A CN 110138662A
- Authority
- CN
- China
- Prior art keywords
- deleted
- session entry
- core
- task
- linked list
- 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.)
- Granted
Links
Classifications
-
- 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/02—Topology update or discovery
-
- 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
Abstract
本申请公开一种多核系统中的会话表项处理方法、装置及设备,多核系统包括转发核和处理核,所述方法包括:转发核将符合第一预设条件的待删除会话表项加入预设的链表数组中;链表数组为每核资源;处理核从链表数组中读取待删除会话表项,执行待删除会话表项的相关信息删除任务;转发核将完成相关信息删除任务的待删除会话表项从会话表中删除。本申请选择将一部分需要挂载到定时器上的会话表项,加入到链表数组中,由处理核执行其相关信息删除任务,使得定时器上挂载的会话表项数量大幅减少,避免因定时器处理超时会话表项的时间过长导致的报文处理不及时的丢包问题。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种多核系统中的会话表项处理方法、装置及多核系统。
背景技术
目前,用于实现转发功能的多核系统中,转发核不仅需要从各个网卡中收包,还需要从其他转发核和处理核接收报文并进行处理。
以防火墙转发系统为例,转发核在接收到报文后,查询会话表并进行报文转发,如果不存在相应的会话表,则根据策略构建会话表,最终实现报文转发。由于会话表的个数过多也会造成系统负担,因此需要关注会话表的超时机制,及时删除超时的会话表项,降低系统负担。
目前的转发核不仅需要轮询处理报文转发,还需要轮询处理超时会话表项,而他们是共享时间片的,也就是说,如果基于轮询机制的定时器处理超时会话表项的时间过长,则必然会导致转发核处理报文不及时,从而导致丢包。
发明内容
有鉴于此,本申请提供了一种多核系统中的会话表项处理方法,能够避免因定时器处理超时会话表项的时间过长导致的报文处理不及时的丢包问题,同时能够提高转发核的转发性能。
第一方面,为实现上述发明目的,本申请提供了一种多核系统中的会话表项处理方法,所述多核系统包括转发核和处理核,所述方法包括:
所述转发核将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源;
所述处理核从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务;
所述转发核将完成所述相关信息删除任务的待删除会话表项从会话表中删除。
一种可选的实施方式中,所述转发核将完成所述相关信息删除任务的待删除会话表项从会话表中删除,包括:
所述转发核将完成所述相关信息删除任务的待删除会话表项从所述链表数组中摘除,并挂载到预设的内存回收链表中;其中,所述内存回收链表为每核资源;
所述转发核在存在内存资源需求时,将所述内存回收链表中的待删除会话表项放回内存池,以实现将所述待删除会话表项从会话表中删除。
一种可选的实施方式中,所述转发核将完成所述相关信息删除任务的待删除会话表项从所述链表数组中摘除,并挂载到预设的内存回收链表中,包括:
所述转发核在确定所述链表数组中的各个待删除会话表项均完成所述相关信息删除任务时,将所述链表数组整表挂载到所述内存回收链表中。
一种可选的实施方式中,所述链表数组包括多个链表,所述链表包括具有时间标识的表项,所述转发核将符合第一预设条件的待删除会话表项加入预设的链表数组中,包括:
所述转发核基于所述时间标识,将符合第一预设条件的待删除会话表项分别加入所述链表的对应表项中。
一种可选的实施方式中,所述处理核包括主处理核和从处理核,所述处理核从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务,包括:
所述主处理核确定各个转发核的链表数组中具有同一时间标识的表项中包括的待删除会话表项的总个数,根据所述总个数确定所述从处理核的个数,并为各个从处理核分配待删除会话表项;
所述从处理核读取被分配的待删除会话表项,并执行所述待删除会话表项的相关信息删除任务。
一种可选的实施方式中,所述待删除会话表项的相关信息删除任务包括:通知处理核同步删除所述待删除会话表项的相关内容、通知备机同步删除所述待删除会话表项的相关内容、通知日志模块记录所述待删除会话表项的删除行为信息,和\或,将所述待删除会话表项所属的会话表从全局哈希表中删除。
一种可选的实施方式中,所述转发核和所述处理核对所述链表数组的操作均为无锁操作。
第二方面,本申请提供了一种多核系统中的会话表项处理装置,所述多核系统包括转发核和处理核,所述转发核包括加入模块和第一删除模块,所述处理核包括第二删除模块;
所述加入模块,用于将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源;
所述第二删除模块,用于从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务;
所述第一删除模块,用于将完成所述相关信息删除任务的待删除会话表项从会话表中删除。
一种可选的实施方式中,所述第一删除模块,包括:
摘除子模块,用于将完成所述相关信息删除任务的待删除会话表项从所述链表数组中摘除,并挂载到预设的内存回收链表中;其中,所述内存回收链表为每核资源;
放回子模块,用于在存在内存资源需求时,将所述内存回收链表中的待删除会话表项放回内存池,以实现将所述待删除会话表项从会话表中删除。
第三方面,本申请提供了一种多核系统,所述多核系统包括多个转发核和至少一个处理核;
所述转发核,用于将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源;
所述处理核,用于从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务;
所述转发核,还用于将完成所述相关信息删除任务的待删除会话表项从会话表中删除。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述任一项所述的多核系统中的会话表项处理方法。
第五方面,本申请提供了一种多核系统中的会话表项超时处理设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述任一项所述的多核系统中的会话表项处理方法。
本申请提供的多核系统中的会话表项处理方法中,将符合第一预设条件的待删除会话表项加入预设的链表数组中,由处理核从各个链表数组中读取待删除会话表项,并执行待删除会话表项的相关信息删除任务,最终由转发核将待删除会话表项从链表数组中删除。本申请选择将一部分需要挂载到定时器上的会话表项,加入到预设的链表数组中,由处理核执行其相关信息删除任务,这种处理方式使得定时器上挂载的会话表项数量大幅减少,避免了因定时器处理超时会话表项的时间过长导致的报文处理不及时的丢包问题。同时,将待删除会话表项的相关信息删除任务分给处理核承担,也能够节省转发核的资源开销,从而提高转发核的转发性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种多核系统中的会话表项处理方法的流程图;
图2为本申请实施例提供的一种多核系统中的会话表项处理装置的结构图示意图;
图3为本申请实施例提供的一种多核系统的架构图;
图4为本申请实施例提供的一种多核系统中的会话表项处理设备的结构示意图。
具体实施方式
多核系统中的转发核不仅需要轮询处理来自网卡和其他核的报文,还需要轮询处理定时器上挂载的超时事件,而他们同时分享共有的时间片,也就是说,如果用于处理超时事件的时间过长,则必然导致用于处理报文的时间不足,反之亦然。这种处理方式的弊端在每秒新建会话数量较多的情况下尤其明显,例如,防火墙系统每秒新建性能为70w/s,超时事件也要求每秒处理70w/s的情况下,如果定时器上挂载的超时事件项目过多,导致转发核对于超时事件的处理时间过长,来不及处理来自网卡和其他核的报文,从而造成大量丢包现象的发生。
为了避免因转发核处理超时事件的时间过长而导致的大量丢包现象的发生,本申请实施例提供了一种多核系统中的会话表项处理方法,将一部分需要挂载到定时器上的会话表项,加入到预设的链表数组中,由处理核执行其相关信息删除任务,这种处理方式使得定时器上挂载的会话表项数量大幅减少,避免了因定时器处理超时会话表项的时间过长导致的报文处理不及时的丢包问题。同时,将待删除会话表项的相关信息删除任务分给处理核承担,也能够节省转发核的资源开销,从而提高转发核的转发性能。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例
参考图1,为本申请实施例提供的一种多核系统中的会话表项处理方法的流程图,所述多核系统包括转发核和处理核,该方法包括:
S101:转发核将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源。
本申请实施例中,转发核用于对来自网卡、其他转发核和其他处理核的报文进行处理,多核系统通常包括多个转发核。
待删除会话表项是指因为会话结束而要被删除的表项,包括正常通过四次挥手结束会话的表项和由于状态机错误导致结束会话的表项等,但不局限于这两种表项。
由于将待删除会话表项均挂载到定时器上会使得定时器处理会话表项的时间过长,从而导致转发核处理报文不及时造成大量丢包现象。因此,本申请实施例将一部分待删除会话表项加入预设的链表数组中,减少定时器上挂载的会话表项的数量,从而使得转发核有足够的时间处理报文转发。其中,为了避免资源竞争,链表数组设计为每核资源。
实际应用中,可以通过设置第一预设条件的方式控制加入链表数组的待删除会话表项的类型。例如,第一预设条件可以为正常通过四次挥手结束会话的表项,或者也可以为由于状态机错误导致结束会话的表项,或者也可以为预设时间段内结束会话的表项等等,在此对第一预设条件的具体设定不做限制,只要能够实现将原来需要挂载到定时器上的一部分会话表项加入到链表数组中即可。
一种可选的实施方式中,链表数组可以由多个链表组成,每个链表包括具有时间标识的表项,具体的,基于时间标识,转发核将符合第一预设条件的待删除会话表项分别加入到链表的对应表项中。例如,链表的表项可以是以秒为单位的表项,也就是说,链表的每个表项中加入的待删除会话表项属于同一秒内结束会话的会话表项。具体的,例如转发核可以将启动后第1秒内正常通过四次挥手结束会话的会话表项加入链表数组的具有第1秒标识的表项中,依次类推,利用链表数组实现对待删除会话表项的存储。
S102:处理核从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务。
由于待删除会话表项的相关信息删除任务的执行会占用转发核的大量资源,所以本申请实施例将待删除会话表项的相关信息删除任务分配给其他CPU即处理核执行,能够节省转发核本身的资源开销,提高转发核的转发性能。具体的,处理核负责从各个转发核的链表数组中读取待删除会话表项,执行各个会话表项的相关信息删除任务。
其中,待删除会话表项的相关信息删除任务可以包括:通知处理核同步删除所述待删除会话表项的相关内容、通知备机同步删除所述待删除会话表项的相关内容、通知日志模块记录所述待删除会话表项的删除行为信息、将所述待删除会话表项所属的会话表从全局哈希表中删除中的一项或多项,但不限于上述任务。
另外,由于各个转发核的链表数组中的待删除会话表项的数量较大,因此为了提高待删除会话表项的相关信息删除任务的处理效率,本申请实施例还可以利用多个处理核共同执行待删除会话表项的相关信息删除任务。
一种可选的实施方式中,处理核包括主处理核和从处理核,由主处理核根据各个转发核的链表数组中的待删除会话表项的数量,计算所需的从处理核的数量,然后由主处理核和从处理核共同执行待删除会话表项的相关信息删除任务。
另一种可选的实施方式中,处理核包括主处理核和从处理核,链表数组包括多个链表,所述链表包括具有时间标识的表项,针对每个表项,主处理核确定各个转发核的链表数组中具有同一时间标识的表项中包括的待删除会话表项的总个数,并根据该总个数确定执行上述删除会话表项所需从处理核的个数。在确定从处理核的个数后,主处理核为各个从处理核分配待删除会话表项,并由从处理核读取被分配的待删除会话表项,执行相关信息删除任务。可选的,主处理核也负责执行待删除会话表项的相关信息删除任务。
另一种可选的实施方式中,主处理核可以在确定各个转发核的链表数组中具有同一时间标识的表项中包括的待删除会话表项的总个数后,确定该总个数是否大于预设个数阈值,如果大于,则为每个转发核分配一个从处理核,并由该从处理核负责执行对应转发核的待删除会话表项的相关信息删除任务;如果不大于,则可以仅由该主处理核负责执行各个转发核的待删除会话表项的相关信息删除任务。
S103:转发核将完成所述相关信息删除任务的待删除会话表项从会话表中删除,所述会话表为每核资源。
在各个链表数组中的待删除会话表项的相关信息删除任务完成后,由各个转发核负责将其从会话表中删除,完成待删除会话表项最后的删除任务。其中,会话表为每核资源,申请和删除均使用内存池mempool机制。为了提升性能,将会话表设计为仅转发核本身可以对其进行新建(get)和删除(put)操作。对于处理核,只执行删除会话表项步骤中除仅转发核有权限做的操作以外的其他操作,包括通知处理核同步删除所述会话表项的相关内容、通知备机同步删除所述会话表项的相关内容、通知日志模块记录所述会话表项的删除行为信息、将所述会话表项所属的会话表从全局哈希表中删除等。
一种可选的实施方式中,转发核可以将完成相关信息删除任务的待删除会话表项从链表数组中摘除,并挂载到预设的内存回收链表中,在该转发核存在内存资源需求时,使用内存池mempool put操作将其放回内存池,从而实现将待删除会话表项从会话表中删除的目的。其中,内存回收链表为每核资源,且内存回收链表可以设计为双向链表。
由于本申请实施例仅需简单的指针操作即可完成对各个待删除会话表项的初步回收,很大程度上能够提升会话表项的回收性能。另外,本申请实施例通过一次性将完成相关信息删除任务的待删除会话表项从链表数组中批量摘除,并批量挂载到内存回收链表中,进一步的提升了会话表项的回收性能。
一种可选的实施方式中,转发核可以在确定满足第二预设条件时,将完成相关信息删除任务的待删除会话表项从链表数组中摘除,并挂载到内存回收链表中;其中,第二预设条件可以包括预设时间间隔、预设会话表项数量阈值或该转发核空间不足等。具体的,转发核可以每隔预设时间间隔执行一次将完成相关信息删除任务的待删除会话表项从链表数组中摘除,并挂载到内存回收链表中的操作;另外,转发核还可以在向链表数组中加入待删除会话表项时,确定链表数组中完成相关信息删除任务的会话表项的数量是否达到预设会话表项数量阈值,如果是,则可以执行一次将完成相关信息删除任务的待删除会话表项从链表数组中摘除,并挂载到内存回收链表中的操作;另外,当转发核空间不足时,还可以执行一次将完成相关信息删除任务的待删除会话表项从链表数组中摘除,并挂载到内存回收链表中的操作;另外,为了尽快完成待删除会话表项的删除任务,处理核也可以在链表数组不为空时实时执行将完成相关信息删除任务的待删除会话表项从链表数组中摘除,并挂载到内存回收链表中的操作
另一种可选的实施方式中,转发核可以在确定链表数组中的各个待删除会话表项均完成相关信息删除任务时,将该链表数组整表挂载到内存回收链表中。另外,转发核还需要初始化一个新的链表数组,作为自身新的链表数组,用于后续的待删除会话表项的存储。本申请实施例通过整表回收的方式进一步的提升了会话表项的回收性能。
本申请实施例提供的多核系统中的会话表项处理方法中,将符合第一预设条件的待删除会话表项加入预设的链表数组中,由处理核从各个链表数组中读取待删除会话表项,并执行待删除会话表项的相关信息删除任务,最终由转发核将待删除会话表项从链表数组中删除。本申请实施例选择将一部分需要挂载到定时器上的会话表项,加入到预设的链表数组中,由处理核执行其相关信息删除任务,这种处理方式使得定时器上挂载的会话表项数量大幅减少,避免了因定时器处理超时会话表项的时间过长导致的报文处理不及时的丢包问题。同时,将待删除会话表项的相关信息删除任务分给处理核承担,也能够节省转发核的资源开销,从而提高转发核的转发性能。
为了避免多核系统中出现资源竞争问题,本申请实施例中转发核和处理核对链表数组的操作均为无锁操作。具体的,每个转发核的链表数组仅该转发核和处理核可以访问,且仅该转发核可以对该链表数组进行增加、删除操作,而处理核只能对该链表数组进行读操作。
一种可选的实现方式中,链表数组可以具有ready指针和replace指针。其中,ready指针用于指向链表数组中最新加入会话表项的链表表项,replace指针用于指向链表数组中正在或即将执行相关信息删除任务的链表表项。另外,对于完成相关信息删除任务的链表表项可以打上标志,如before标志,也就是说,被打上before标志的链表表项中的待删除会话表项均完成相关信息删除任务。另外,为了避免因某个表项中的相关信息删除任务处理时间过长导致的ready指针和replace指针相遇,使得ready指针无处挂载的问题,本申请实施例可以确保在预设时间内完成各个表项内的待删除会话表项的相关信息删除任务,以避免因某个表项中的相关信息删除任务处理时间过长导致的ready指针和replace指针相遇。例如,链表数组的链表包括的某个表项用于存储转发核在最近1秒内结束会话的符合第一预设条件的待删除会话表项,则本申请实施例可以尽量保证该表项中的待删除会话表项的相关信息删除任务能够在一秒内完成,从而避免因某个表项中的相关信息删除任务处理时间过长导致的ready指针和replace指针相遇,使得ready指针无处挂载的问题。
本申请实施例将多核系统中的链表数组设计为每核资源,转发核和处理核对链表数组的操作均无需加锁,避免了多核系统中出现资源竞争问题,且多核系统的并发性能可以做到随着cpu个数增长而线性增长。
装置实施例
参考图2,为本申请实施例提供的一种多核系统中的会话表项处理装置的结构示意图,其中,所述多核系统包括转发核201和处理核202,所述转发核201包括加入模块2011和第一删除模块2012,所述处理核202包括第二删除模块2021;
所述加入模块2011,用于将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源;
所述第二删除模块2012,用于从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务;
所述第一删除模块2021,用于将完成所述相关信息删除任务的待删除会话表项从会话表中删除。
其中,所述第一删除模块2021,包括:
摘除子模块,用于将完成所述相关信息删除任务的待删除会话表项从所述链表数组中摘除,并挂载到预设的内存回收链表中;其中,所述内存回收链表为每核资源;
放回子模块,用于在存在内存资源需求时,将所述内存回收链表中的待删除会话表项放回内存池,以实现将所述待删除会话表项从会话表中删除。
所述摘除子模块,包括:
挂载子模块,用于在确定所述链表数组中的各个待删除会话表项均完成所述相关信息删除任务时,将所述链表数组整表挂载到所述内存回收链表中。
所述链表数组包括多个链表,所述链表包括具有时间标识的表项,所述加入模块,具体用于基于所述时间标识,将符合第一预设条件的待删除会话表项分别加入所述链表的对应表项中。
所述摘除子模块,具体用于:确定各个转发核的链表数组中具有同一时间标识的表项中包括的待删除会话表项的总个数,根据所述总个数确定所述从处理核的个数,并为各个从处理核分配待删除会话表项;以及,读取被分配的待删除会话表项,并执行所述待删除会话表项的相关信息删除任务。
所述待删除会话表项的相关信息删除任务包括:通知处理核同步删除所述待删除会话表项的相关内容、通知备机同步删除所述待删除会话表项的相关内容、通知日志模块记录所述待删除会话表项的删除行为信息,和\或,将所述待删除会话表项所属的会话表从全局哈希表中删除。
本申请实施例提供的多核系统中的会话表项处理装置中,将符合第一预设条件的待删除会话表项加入预设的链表数组中,由处理核从各个链表数组中读取待删除会话表项,并执行待删除会话表项的相关信息删除任务,最终由转发核将待删除会话表项从链表数组中删除。本申请实施例选择将一部分需要挂载到定时器上的会话表项,加入到预设的链表数组中,由处理核执行其相关信息删除任务,这种处理方式使得定时器上挂载的会话表项数量大幅减少,避免了因定时器处理超时会话表项的时间过长导致的报文处理不及时的丢包问题。同时,将待删除会话表项的相关信息删除任务分给处理核承担,也能够节省转发核的资源开销,从而提高转发核的转发性能。
系统实施例
参考图3,为本申请实施例提供的一种多核系统的架构图,所述多核系统300包括多个转发核310和至少一个处理核320;
所述转发核310,用于将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源;
所述处理核320,用于从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务;
所述转发核310,还用于将完成所述相关信息删除任务的待删除会话表项从会话表中删除。
本申请实施例选择将一部分需要挂载到定时器上的会话表项,加入到预设的链表数组中,由处理核执行其相关信息删除任务,这种处理方式使得定时器上挂载的会话表项数量大幅减少,避免了因定时器处理超时会话表项的时间过长导致的报文处理不及时的丢包问题。同时,将待删除会话表项的相关信息删除任务分给处理核承担,也能够节省转发核的资源开销,从而提高转发核的转发性能。
另外,本申请实施例还提供了一种多核系统中的会话表项处理设备,参见图4所示,可以包括:
处理器401、存储器402、输入装置403和输出装置404。多核系统中的会话表项处理设备中的处理器401的数量可以一个或多个,图4中以一个处理器为例。在本发明的一些实施例中,处理器401、存储器402、输入装置403和输出装置404可通过总线或其它方式连接,其中,图4中以通过总线连接为例。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行多核系统中的会话表项处理设备的各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置403可用于接收输入的数字或字符信息,以及产生与多核系统中的会话表项处理设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现上述多核系统中的会话表项处理方法中的各种功能。
另外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的多核系统中的会话表项处理方法。
可以理解的是,对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种多核系统中的会话表项处理方法、装置及多核系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种多核系统中的会话表项处理方法,其特征在于,所述多核系统包括转发核和处理核,所述方法包括:
所述转发核将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源;
所述处理核从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务;
所述转发核将完成所述相关信息删除任务的待删除会话表项从会话表中删除。
2.根据权利要求1所述的方法,其特征在于,所述转发核将完成所述相关信息删除任务的待删除会话表项从会话表中删除,包括:
所述转发核将完成所述相关信息删除任务的待删除会话表项从所述链表数组中摘除,并挂载到预设的内存回收链表中;其中,所述内存回收链表为每核资源;
所述转发核在存在内存资源需求时,将所述内存回收链表中的待删除会话表项放回内存池,以实现将所述待删除会话表项从会话表中删除。
3.根据权利要求2所述的方法,其特征在于,所述转发核将完成所述相关信息删除任务的待删除会话表项从所述链表数组中摘除,并挂载到预设的内存回收链表中,包括:
所述转发核在确定所述链表数组中的各个待删除会话表项均完成所述相关信息删除任务时,将所述链表数组整表挂载到所述内存回收链表中。
4.根据权利要求1所述的方法,其特征在于,所述链表数组包括多个链表,所述链表包括具有时间标识的表项,所述转发核将符合第一预设条件的待删除会话表项加入预设的链表数组中,包括:
所述转发核基于所述时间标识,将符合第一预设条件的待删除会话表项分别加入所述链表的对应表项中。
5.根据权利要求4所述的方法,其特征在于,所述处理核包括主处理核和从处理核,所述处理核从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务,包括:
所述主处理核确定各个转发核的链表数组中具有同一时间标识的表项中包括的待删除会话表项的总个数,根据所述总个数确定所述从处理核的个数,并为各个从处理核分配待删除会话表项;
所述从处理核读取被分配的待删除会话表项,并执行所述待删除会话表项的相关信息删除任务。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述待删除会话表项的相关信息删除任务包括:通知处理核同步删除所述待删除会话表项的相关内容、通知备机同步删除所述待删除会话表项的相关内容、通知日志模块记录所述待删除会话表项的删除行为信息,和\或,将所述待删除会话表项所属的会话表从全局哈希表中删除。
7.一种多核系统中的会话表项处理装置,其特征在于,所述多核系统包括转发核和处理核,所述转发核包括加入模块和第一删除模块,所述处理核包括第二删除模块;
所述加入模块,用于将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源;
所述第二删除模块,用于从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务;
所述第一删除模块,用于将完成所述相关信息删除任务的待删除会话表项从会话表中删除。
8.一种多核系统,其特征在于,所述多核系统包括多个转发核和至少一个处理核;
所述转发核,用于将符合第一预设条件的待删除会话表项加入预设的链表数组中;其中,所述链表数组为每核资源;
所述处理核,用于从所述链表数组中读取所述待删除会话表项,并执行所述待删除会话表项的相关信息删除任务;
所述转发核,还用于将完成所述相关信息删除任务的待删除会话表项从会话表中删除。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-6任一项所述的多核系统中的会话表项处理方法。
10.一种多核系统中的会话表项超时处理设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-6任一项所述的多核系统中的会话表项处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910380533.XA CN110138662B (zh) | 2019-05-08 | 2019-05-08 | 多核系统中的会话表项处理方法、装置及多核系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910380533.XA CN110138662B (zh) | 2019-05-08 | 2019-05-08 | 多核系统中的会话表项处理方法、装置及多核系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110138662A true CN110138662A (zh) | 2019-08-16 |
CN110138662B CN110138662B (zh) | 2021-09-14 |
Family
ID=67576640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910380533.XA Active CN110138662B (zh) | 2019-05-08 | 2019-05-08 | 多核系统中的会话表项处理方法、装置及多核系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110138662B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447145A (zh) * | 2020-03-25 | 2020-07-24 | 联想(北京)有限公司 | 一种多核系统的流表管理方法、装置、系统及存储介质 |
CN111736982A (zh) * | 2020-05-12 | 2020-10-02 | 深圳震有科技股份有限公司 | 一种5g数据转发平面的数据转发处理方法和服务器 |
CN114301825A (zh) * | 2021-12-15 | 2022-04-08 | 山石网科通信技术股份有限公司 | 路由更新方法及更新装置、电子设备及存储介质 |
CN116436855A (zh) * | 2023-06-12 | 2023-07-14 | 建信金融科技有限责任公司 | 数据信息处理方法、装置、电子设备和介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013382A (zh) * | 2007-02-12 | 2007-08-08 | 杭州华为三康技术有限公司 | 会话表管理方法及装置 |
US20120036178A1 (en) * | 2010-08-05 | 2012-02-09 | Anil Kumar Gavini | Systems and methods for cookie proxy jar management across cores in a multi-core system |
CN102932199A (zh) * | 2012-09-19 | 2013-02-13 | 邦讯技术股份有限公司 | 一种多核系统检测p2p流的方法和系统 |
CN104618152A (zh) * | 2015-01-19 | 2015-05-13 | 迈普通信技术股份有限公司 | 一种会话表老化方法及系统 |
CN105634958A (zh) * | 2015-12-24 | 2016-06-01 | 东软集团股份有限公司 | 基于多核系统的报文转发方法和装置 |
CN106534287A (zh) * | 2016-10-27 | 2017-03-22 | 杭州迪普科技股份有限公司 | 一种会话表项的管理方法和装置 |
CN106789617A (zh) * | 2016-12-22 | 2017-05-31 | 东软集团股份有限公司 | 一种报文转发方法及装置 |
CN106850568A (zh) * | 2016-12-29 | 2017-06-13 | 杭州迪普科技股份有限公司 | 多通道协议的会话老化方法及装置 |
CN107979535A (zh) * | 2017-10-31 | 2018-05-01 | 新华三技术有限公司 | 报文转发方法及装置 |
CN107977269A (zh) * | 2017-11-06 | 2018-05-01 | 东软集团股份有限公司 | 一种报文转发系统中的超时事件处理方法、装置及设备 |
CN108366024A (zh) * | 2018-02-07 | 2018-08-03 | 迈普通信技术股份有限公司 | 报文转发方法及装置 |
CN108667730A (zh) * | 2018-04-17 | 2018-10-16 | 东软集团股份有限公司 | 基于负载均衡的报文转发方法、装置、存储介质和设备 |
CN108777662A (zh) * | 2018-06-20 | 2018-11-09 | 迈普通信技术股份有限公司 | 表项管理方法及装置 |
-
2019
- 2019-05-08 CN CN201910380533.XA patent/CN110138662B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013382A (zh) * | 2007-02-12 | 2007-08-08 | 杭州华为三康技术有限公司 | 会话表管理方法及装置 |
US20120036178A1 (en) * | 2010-08-05 | 2012-02-09 | Anil Kumar Gavini | Systems and methods for cookie proxy jar management across cores in a multi-core system |
CN102932199A (zh) * | 2012-09-19 | 2013-02-13 | 邦讯技术股份有限公司 | 一种多核系统检测p2p流的方法和系统 |
CN104618152A (zh) * | 2015-01-19 | 2015-05-13 | 迈普通信技术股份有限公司 | 一种会话表老化方法及系统 |
CN105634958A (zh) * | 2015-12-24 | 2016-06-01 | 东软集团股份有限公司 | 基于多核系统的报文转发方法和装置 |
CN106534287A (zh) * | 2016-10-27 | 2017-03-22 | 杭州迪普科技股份有限公司 | 一种会话表项的管理方法和装置 |
CN106789617A (zh) * | 2016-12-22 | 2017-05-31 | 东软集团股份有限公司 | 一种报文转发方法及装置 |
CN106850568A (zh) * | 2016-12-29 | 2017-06-13 | 杭州迪普科技股份有限公司 | 多通道协议的会话老化方法及装置 |
CN107979535A (zh) * | 2017-10-31 | 2018-05-01 | 新华三技术有限公司 | 报文转发方法及装置 |
CN107977269A (zh) * | 2017-11-06 | 2018-05-01 | 东软集团股份有限公司 | 一种报文转发系统中的超时事件处理方法、装置及设备 |
CN108366024A (zh) * | 2018-02-07 | 2018-08-03 | 迈普通信技术股份有限公司 | 报文转发方法及装置 |
CN108667730A (zh) * | 2018-04-17 | 2018-10-16 | 东软集团股份有限公司 | 基于负载均衡的报文转发方法、装置、存储介质和设备 |
CN108777662A (zh) * | 2018-06-20 | 2018-11-09 | 迈普通信技术股份有限公司 | 表项管理方法及装置 |
Non-Patent Citations (2)
Title |
---|
MITAL DEEPAK等: ""Task Queuing in a Multi-Flow Network Processor Architecture"", 《FREEPATENTSONLINE》 * |
吴和生等: ""一种多核环境中无锁的多进程负载均衡会话保持方案"", 《电子与信息学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447145A (zh) * | 2020-03-25 | 2020-07-24 | 联想(北京)有限公司 | 一种多核系统的流表管理方法、装置、系统及存储介质 |
CN111736982A (zh) * | 2020-05-12 | 2020-10-02 | 深圳震有科技股份有限公司 | 一种5g数据转发平面的数据转发处理方法和服务器 |
CN111736982B (zh) * | 2020-05-12 | 2023-12-08 | 深圳震有科技股份有限公司 | 一种5g数据转发平面的数据转发处理方法和服务器 |
CN114301825A (zh) * | 2021-12-15 | 2022-04-08 | 山石网科通信技术股份有限公司 | 路由更新方法及更新装置、电子设备及存储介质 |
CN114301825B (zh) * | 2021-12-15 | 2024-02-06 | 山石网科通信技术股份有限公司 | 路由更新方法及更新装置、电子设备及存储介质 |
CN116436855A (zh) * | 2023-06-12 | 2023-07-14 | 建信金融科技有限责任公司 | 数据信息处理方法、装置、电子设备和介质 |
CN116436855B (zh) * | 2023-06-12 | 2023-09-12 | 建信金融科技有限责任公司 | 数据信息处理方法、装置、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110138662B (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110138662A (zh) | 多核系统中的会话表项处理方法、装置及多核系统 | |
CN101208671B (zh) | 管理消息队列 | |
CN113641457B (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
CN101790721A (zh) | 执行顺序决定装置、执行顺序决定程序、执行顺序决定电路及信息处理装置 | |
CN105263128B (zh) | 一种批量发送短信的方法和装置 | |
CN107077390A (zh) | 一种任务处理方法以及网卡 | |
CN105045632A (zh) | 一种多核环境下实现免锁队列的方法和设备 | |
CN110019112A (zh) | 数据事务处理方法、装置以及电子设备 | |
CN109298951A (zh) | Celery任务的执行方法及终端设备 | |
CN107797848A (zh) | 进程调度方法、装置和主机设备 | |
WO2008101756A1 (en) | Method and system for concurrent message processing | |
CN114168271B (zh) | 一种任务调度方法、电子设备及存储介质 | |
CN105302489B (zh) | 一种异构多核远程嵌入式存储器系统与方法 | |
CN111158939A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN105224541B (zh) | 数据的唯一性控制方法、信息存储方法及装置 | |
US20170331912A1 (en) | Multi-account login and communication | |
CN110134537A (zh) | 多核系统中的会话表项超时处理方法、装置及多核系统 | |
CN104683486A (zh) | 分布式系统中处理同步消息的方法、装置、分布式系统 | |
US8433830B2 (en) | Systems and methods for using a shared buffer construct in performance of concurrent data-driven tasks | |
CN111049913B (zh) | 数据文件的传输方法及装置、存储介质、电子设备 | |
CN107682389A (zh) | 一种执行网络请求的方法、终端及计算机可读存储介质 | |
CN108241616A (zh) | 消息推送方法和装置 | |
CN104750547B (zh) | 虚拟机的输入输出io请求处理方法及装置 | |
CN108830724A (zh) | 一种资源数据包处理方法及终端设备 | |
CN101505282B (zh) | 一种删除vlan信息的方法和设备 |
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 |