一种定时器实现方法和装置制造方法及图纸

技术编号:4934024 阅读:198 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种定时器实现方法和装置。方法包括:第一数据平面CPU在目标数据平面CPU的定时器空闲链表中获取一个新的定时器数据结构,设置所述定时器数据结构中的定时器参数;其中所述第一数据平面CPU设置的定时器参数包括目标数据平面CPU的标识;第一数据平面CPU向控制平面CPU发送定时器创建消息;该定时器创建消息中携带与所述定时器数据结构对应的定时器标识;控制平面CPU收到定时器创建消息后,根据其中的定时器标识,找到所述定时器数据结构,将该定时器数据结构加入目标数据平面CPU的定时器运行链表中。本发明专利技术的技术方案为非对称多核处理系统中的数据平面提供了一种高效、可靠的定时器机制。

【技术实现步骤摘要】

本专利技术涉及多核处理系统
,尤指多核处理系统中的一种定时器 实现方法和装置。
技术介绍
目前,在多核网络通信设备中,通常采用数据平面和控制平面分离的一种非对称处理结构。即控制平面运行在一个或多个CPU上,并且运行一个完整的嵌入式操作系统,有完整的多任务管理、中断管理、时间管理和定时器管理等等;数据平面运行在其他的CPU上,没有操作系统或者是提供了 很简单的资源管理,通常只是做简单的数据流处理和转发工作,无法提供协 议软件中常需要使用的软件定时器机制。随着处理业务复杂度的增加,数据平面在处理流程中不可避免要出现创 建和删除定时的操作。如何提供一种可靠的、高效的、对数据平面的处理流 程影响较小的数据平面的定时器机制,是改善多核网络通信设备性能的 一个 必须考虑的问题。但是,现有技术中并没有一种在非对称多核处理系统中给 数据平面提供一种高效、可靠的定时器机制的方案。
技术实现思路
本专利技术提供了一种定时器实现方法,该方法为非对称多核处理系统中的 数据平面提供了一种高效、可靠的定时器机制。本专利技术还提供了 一种定时器实现装置,该装置为非对称多核处理系统中 的数据平面提供了一种高效、可靠的定时器机制。为达到上述目的,本专利技术的技术方案具体是这样实现的本专利技术公开了一种定时器实现方法,该方法包括第 一数据平面CPU在目标数据平面CPU的定时器空闲链表中获取一个新的定时器数据结构,设置所述定时器数据结构中的定时器参数;其中所述 第一数据平面CPU设置的定时器参数包括目标数据平面CPU的标识;第一数据平面CPU向控制平面CPU发送定时器创建消息;该定时器创 建消息中携带与所述定时器数据结构对应的定时器标识;控制平面CPU收到定时器创建消息后,根据其中的定时器标识,找到 所述定时器数据结构,根据其中的目标数据平面CPU的标识,将该定时器 数据结构加入目标数据平面CPU的定时器运行链表中;其中,所述第 一数据平面CPU与所述目标数据平面CPU是同 一个CPU, 或者是不同的CPU。本专利技术还公开一种定时器实现装置,该装置包括属于数据平面CPU 的数据平面模块和属于控制平面CPU的控制平面模块,其中,数据平面模块,用于在目标数据平面CPU的定时器空闲链表中获取一 个新的定时器数据结构,设置所述定时器数据结构中的定时器参数;其中所 述设置的定时器参数包括目标数据平面CPU的标识;用于向控制平面模块 发送定时器创建消息;该定时器创建消息中携带与所述定时器数据结构对应 的定时器标识;控制平面模块,用于在收到定时器创建消息后,根据其中的定时器标识, 找到所述定时器数据结构,根据其中的目标数据平面CPU的标识,将该定 时器数据结构加入目标数据平面CPU的定时器运行链表中。由上述技术方案可见,本专利技术这种第一数据平面CPU在目标数据平面 CPU的定时器空闲链表中获取一个新的定时器数据结构,设置所述定时器数 据结构中的定时器参数;其中所述第一数据平面CPU设置的定时器参数包 括目标数据平面CPU的标识;第一数据平面CPU向控制平面CPU发送定 时器创建消息;该定时器创建消息中携带与所述定时器数据结构对应的定时 器标识;控制平面CPU收到定时器创建消息后,根据其中的定时器标识, 找到所述定时器数据结构,将该定时器数据结构加入目标数据平面CPU的定时器运行链表中的技术方案,为非对称多核处理系统中的数据平面提供了 一种高效、可靠的定时器机制。附图说明图1是本专利技术实施例一种定时器实现方法的流程图2是本专利技术实施例中创建定时器时的数据平面处理流程图3是本专利技术实施例中创建定时器时的控制平面处理流程图4是本专利技术实施例中定时器的超时检测和超时消息处理流程图5是本专利技术实施例中修改定时器的属性时数据平面的处理流程图6是本专利技术实施例中修改定时器的属性时控制平面的处理流程图7是本专利技术实施例一种定时器实现装置的结构框图。具体实施例方式图1是本专利技术实施例一种定时器实现方法的流程图。如图l所示,该方 法包括以下步骤步骤101, 任意第一数据平面CPU在目标数据平面CPU的定时器空 闲链表中获取一个新的定时器数据结构,设置所述定时器数据结构中的定时 器参数;其中所述第一数据平面CPU设置的定时器参数包括目标数据平面 CPU的标识。本步骤中,所述第一数据平面CPU与目标数据平面CPU可以是同一个 CPU,也可以是不同的CPU。这是因为,在业务流程上,各种业务的处理可 能在不同的核上处理, 一个报文的不同阶段也可能在不同的核上进行,因此, 有需要由不同的数据平面CPU来处理同一个业务流。例如,数据平面CPU A 对接收到报文进行流分类处理,将属于某一会话的报文发送给数据平面CPU B,并希望CPU B在一段时间后对该会话执行某项操作,则CPU A会创建 属于CPUB的会话定时器。步骤102,第一数据平面CPU向控制平面CPU发送定时器创建消息;该定时器创建消息中携带与所述定时器数据结构对应的定时器标识。步骤103,控制平面CPU收到定时器创建消息后,根据其中的定时器 标识,找到所述定时器数据结构,根据其中的目标数据平面CPU的标识, 将该定时器数据结构加入目标数据平面CPU的定时器运行链表中。为使本专利技术的目的、技术方案及优点更加清楚明白,以下对本专利技术进一 步详细说明。在本专利技术中,每个数据平面CPU都有单独的定时器数据的存储结构,包括定时器空闲链表和定时器运行链表。链表由多个节点组成,每个节点都 是一个定时器数据的存储结构,本文中称之为定时器的数据结构。空闲链表 是未创建实际的定时器时的数据结构集合,而运行链表则是已创建的定时器 的数据结构结合。本专利技术中,用定时器标识(ID)来唯一标识一个定时器存储结构,或者 也可以说标识一个定时器。定时器标识可以是无符号整型数。在本专利技术的一个实施例中,定时器标识由控制平面CPU统一分配维护。 具体为,由控制平面CPU为每个数据平面CPU的空闲链表中每个定时器数 据结构分配一个唯一的定时器标识。在本专利技术实施例中定义的定时器数据结构包括以下参数成员前、后链 表指针;定时器的读写锁;定时器所属的CPU的ID;定时器的状态;定时 器的超时处理函数;定时器的超时时间;定时器新的超时时间;定时器的类 型。其中,前后链表指针标识表示该定时器数据结构在链表中的位置;定时 器所属的CPU是指执行定时器超时处理函数的数据平面CPU;定时器的超 时处理函数是该定时器超时时需要执行的操作的函数;定时器的超时时间是 创建定时器时设置的超时时间;定时器新的超时时间是修改定时器的定时时 间时设置的超时时间;定时器的状态包括创建状态;运行状态;参数修改 状态;删除状态;无效状态;定时器的类型包括循环定时器和非循环定时器。对于一个定时器机制的实现,主要涉及以下方面定时器的创建,定时器的超时检测和超时消息的处理,定时器的删除和定时器的属性(定时器超 时时间)修改。下面逐一进行描述。 一、定时器的创建在本专利技术的实施例中,任何数据平面CPU都可以创建定时器,创建定 时器时需要指定处理此定时器的数据平面CPU,即该要创建的定时器所属的 数据平面CPU。要创建的定时器所属的数据平面CPU既可以是除创建该定 时器的CPU以外的任何数据平面CPU,也可以是创建该定时器的CPU本身。 本文档来自技高网...

【技术保护点】
一种定时器实现方法,其特征在于,该方法包括: 第一数据平面CPU在目标数据平面CPU的定时器空闲链表中获取一个新的定时器数据结构,设置所述定时器数据结构中的定时器参数;其中所述第一数据平面CPU设置的定时器参数包括目标数据平面CPU的标识; 第一数据平面CPU向控制平面CPU发送定时器创建消息;该定时器创建消息中携带与所述定时器数据结构对应的定时器标识; 控制平面CPU收到定时器创建消息后,根据其中的定时器标识,找到所述定时器数据结构,根据其中的目标数据平面CPU的标识,将该定时器数据结构加入目标数据平面CPU的定时器运行链表中; 其中,所述第一数据平面CPU与所述目标数据平面CPU是同一个CPU,或者是不同的CPU。

【技术特征摘要】
1、一种定时器实现方法,其特征在于,该方法包括第一数据平面CPU在目标数据平面CPU的定时器空闲链表中获取一个新的定时器数据结构,设置所述定时器数据结构中的定时器参数;其中所述第一数据平面CPU设置的定时器参数包括目标数据平面CPU的标识;第一数据平面CPU向控制平面CPU发送定时器创建消息;该定时器创建消息中携带与所述定时器数据结构对应的定时器标识;控制平面CPU收到定时器创建消息后,根据其中的定时器标识,找到所述定时器数据结构,根据其中的目标数据平面CPU的标识,将该定时器数据结构加入目标数据平面CPU的定时器运行链表中;其中,所述第一数据平面CPU与所述目标数据平面CPU是同一个CPU,或者是不同的CPU。2、 如权利要求l所述的方法,其特征在于,所述第一数据平面CPU设 置的定时器参数还包括超时时间和超时处理函数;该方法还包括控制平面CPU根据所述定时器数据结构中的超时时间检测定时器是否 超时,是则根据所述定时器数据结构中的目标数据平面CPU的标识向目标 数据平面CPU发送定时器超时消息;该定时器超时消息中携带所述定时器 数据结构中的超时处理函数;目标数据平面CPU接收到定时器超时消息时,根据其中的超时处理函 数执行相应的处理。3、 如权利要求2所述的方法,其特征在于,所述控制平面CPU根据所控制平面CPU在时间中断或者在高优先级的系统任务中检测定时器是 否超时。4、 如权利要求2所述的方法,其特征在于,所述定时器参数还包括状态参数,该方法进一步包括所述第 一数据平面CPU执行设置所述定时器数据结构中的定时器参数 时,将状态参数设置为创建状态。5、 如权利要求4所述的方法,其特征在于,该方法进一步包括 第二数据平面CPU根据所述定时器标识,找到所述定时器数据结构,将其中的状态参数设置为删除状态,将该定时器数据结构从所述目标数据平 面CPU的定时器运4亍链表中摘除,并插入到该目标数据平面CPU的空闲链 表中;其中,所述第二数据平面CPU与所述第 一数据平面CPU是同 一个CPU, 或者,所述第二数据平面CPU与所述目标数据平面CPU是同一个CPU,或 者,所述第二数据平面CPU是与所述第一数据平面CPU和目标数据平面 CPU不同的CPU。6、 如权利要求5所述的方法,其特征在于,该方法在控制平面CPU根据定时器创建消息中的定时器标识,找到所述定时器数据结构之后,在根据其中的目标数据平面CPU的标识,将该定时器数据结构加入目标数据平面 CPU的定时器运行链表中之前进一步包括控制平面CPU判断所迷定时器数据结构中的状态参数是否为删除状 态,是则结束。7、 如权利要求4所述的方法,其特征在于,该方法进一步包括 第三数据平面CPU根据所述定时器标识,找到所述定时器数据结构,在其中设置新的超时时间,将其中的状态参数设置为修改状态,将该定时器 数据结构从所述目标数据平面CPU的运行链表中摘除,向控制平面CPU发 送定时器修改消,;该定时器修改消息中携带所述定时器标识;控制平面CPU接收到定时器修改消息后,根据其中的定时器标识,找 到所述定时器数据结构,用其中的新的超时时间更新原有的超时时间后,将 该定时器数据结构加入目标数据平面CPU的定时器运行链表中;其中,所述第三数据平面CPU与所述第一数据平面CPU是同一个CPU,或者,所述第三数据平面CPU与所述目标数据平面CPU是同一个CPU,或 者,所述第三数据平面CPU与所述第二数据平面...

【专利技术属性】
技术研发人员:柏林
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1