一种更新数据流状态信息的方法、系统及设备的制作方法

文档序号:7759867阅读:140来源:国知局
专利名称:一种更新数据流状态信息的方法、系统及设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种更新数据流状态信息的方法、系统及设备。
背景技术
在网络通信业务中,网络处理器从网络端口处依次接收报文,并转发报文。被接收 并转发的多个报文之间具有一定的关联性,因此,业界将具有相同属性的多个报文定义为 一个数据流。例如,用户访问网站产生的所有报文都有相同的源IP地址和目的IP地址,因 此,该用户访问网站时产生的所有报文可看作是一个数据流。再例如,一个TCP连接时产生 的报文具有相同的源IP地址、源TCP端口、目的IP地址、目的TCP端口和协议号,因此,建 立TCP连接时产生的报文形成一个数据流。在网络通信业务的执行过程中,需要根据数据流的状态来确定网络通信业务的执 行状态。例如设定的状态信息为报文的最小字节数和最大字节数,数据流中总共传输了 10个报文,每个报文的字节数为700、800、100、500、800、200、600、120、400、340,则该数据 流的最小报文字节数为100,最大报文字节数为800。通过确定的最小报文字节数和最大报 文字节数,可以分析出网络通信业务中是否有超长帧超短帧。由于在业务执行过程中产生的数据的状态会发生变化,因此,需要对数据流的状 态信息进行实时维护。数据流的状态信息维护过程如图1所示,仍以实时维护数据流的最 小报文字节数为例,数据流的状态维护包括以下步骤步骤101 网络处理器读取当前接收到的报文的字节数,假设字节数为200。步骤102 网络处理器从数据库中读取当前已记录的最小报文字节数,假设当前 已记录的最小报文字节数为300。步骤103 网络处理器比较当前接收到的报文的字节数以及当前已记录的最小报 文字节数(200小于300),确定数据流的最小报文字节数这一状态信息需要更新。步骤104 网络处理器将当前接收到的报文的字节数200更新为数据流的最小报 文字节数,此时,完成数据流状态信息的更新过程。图1所示的数据流状态信息更新过程是单一网络处理器针对数据流状态的维护 操作,而在多网络处理器的并发系统中,如果多个网络处理器分别按照他1所示的方式并 行对数据流状态进行维护,则可能会导致数据流状态维护不正确的问题。例如,并发系统中 有3个网络处理器同时接收并处理3个报文,假设这3个报文的长度分别为300、200、500, 当前已记录的数据流最小报文字节数为800,则3个网络处理器的并行维护过程如下首先,每个网络处理器分别确定自身接收到的报文的字节数。然后,每个网络处理器分别将自身接收到的报文的字节数与当前已记录的数据流 最小报文字节数进行比较,根据比较结果都确定需要进行最小报文字节数的更新。最后,3个网络处理器依次将更新后的最小报文字节数写入数据流的状态信息存 储空间中。此时,由于只开辟了一个存储空间来存储最小报文字节数,因此,后写入的最小 报文字节数将会覆盖先写入的最小报文字节数。若3个网络处理器中最后写入的最小报文字节数不是200,则最终更新后的数据流的状态信息有误。为了解决并发系统中数据流的状态信息维护有误的问题,目前提出了 3种改进的 状态信息更新方案,下面分别进行说明第1种方案网络处理器进行数据流的状态信息更新时,采用锁的形式来进行,即 同时只能有一个网络处理器能够占用锁,占用锁的网络处理器利用图1所示的方式进行状 态信息更新时,其他网络处理器必须等待,只有在当前占用锁的网络处理器更新完毕且释 放锁后,下一个网络处理器才能够占用锁进行更新操作。通过第1种方案可以简单地在并发系统中实现多网络处理器对状态信息的更新 操作,但是,当一个网络处理器占用锁资源时,其他网络处理器只能挂起等待,降低了网络 处理器的业务处理性能,且当一个网络处理器出现死锁而无法释放锁资源时,就会导致整 个系统死锁。第2种方案每一个网络处理器各自维护自身的存储空间,且只对自身的存储空 间内存储的数据流状态进行更新,最终由协处理器对各网络处理器的存储空间内的数据流 状态信息进行统一处理,以得到最新的数据流状态信息。通过第2种方案避免了各网络处理器在同一存储空间内写入的信息被覆盖从而 导致更新有误的问题,但是,该方案下需要为每一个网络处理器开辟存储空间,额外地占用 了有限的内存空间,且每个网络处理器只知道自身维护的存储空间内数据流的状态信息, 而不知道全局状态,影响网络处理器对报文的正确处理。第3种方案在并发系统中增加协处理器,当网络处理器根据当前接收并处理的 报文确定需要对数据流的状态信息进行更新时,不是由网络处理器直接进行更新操作,而 是通知协处理器,由协处理器配合进行数据流的状态信息更新操作。在第3种方案下,需要额外增加用于进行数据流状态信息更新操作的协处理器, 导致状态信息更新操作过于复杂。综上所述,目前在并发系统中的多网络处理器并行对报文进行操作的情况下,对 数据流的状态信息更新操作存在效率低下、占用内存空间较多以及额外增加用于信息更新 操作的处理器导致操作过于复杂的问题。

发明内容
本发明实施例提供一种更新数据流状态信息的方法、系统及设备,用以解决现有 技术中存在的在并发系统中的多网络处理器并行对报文进行操作的情况下,对数据流的状 态信息更新操作存在效率低下、占用内存空间较多以及额外增加用于信息更新操作的处理 器导致操作过于复杂的问题。一种更新数据流状态信息的方法,所述方法包括接收至少一个网络处理器发送更新消息,所述更新消息是网络处理器根据接收到 的报文确定数据流状态信息需要更新时发送的;将接收到的更新消息发送给处于空闲状态的网络处理器,其中,相邻两次发送更 新消息的时间间隔不小于处于空闲状态的网络处理器对数据流的状态信息更新所占用的 时长;指示所述处于空闲状态的网络处理器根据接收到的更新消息中的报文信息更新
5数据流状态信息。一种更新数据流状态信息的系统,所述系统包括速率控制模块和至少一个网络处 理器,其中网络处理器,用于根据接收到的报文确定数据流状态信息需要更新时向速率控制 模块发送更新消息,以及在处于空闲状态时,根据速率控制模块发送的更新消息中的报文 信息更新数据流状态信息;速率控制模块,用于接收各网络处理器发送的更新消息,并将接收到的更新消息 发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于 空闲状态的网络处理器对数据流的状态信息更新所占用的时长。一种网络处理器,包括第一更新消息发出模块,用于根据接收到的报文确定数据流状态信息需要更新时 发出更新消息;第一更新消息接收模块,用于在处于空闲状态时,接收包含报文信息的更新消 息;更新模块,用于根据接收到的更新消息中的报文信息更新数据流状态信息。一种速率控制器,包括第二更新消息接收模块,用于接收各网络处理器发送的更新消息;第二更新消息发送模块,用于将接收到的更新消息发送给处于空闲状态的网络处 理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据 流的状态信息更新所占用的时长。本发明实施例中的网络处理器根据接收到的报文确定数据流的状态信息需要更 新时,并不立即执行信息更新操作,而通过更新消息通知速率控制模块,由速率控制模块将 接收到的更新消息发送给处于空闲状态的网络处理器,要求接收到更新消息的网络处理器 执行状态信息更新操作,为了避免更新有误的情况,速率控制模块发送更新消息的间隔时 长不小于网络处理器执行状态信息更新操作占用的时长,以便于在状态信息实时、准确更 新的基础上,网络处理器的并行运行互不影响,克服了现有技术存在了并行系统的效率低 下的问题,且不需要额外开辟存储空间以及额外增加处理器。


图1为背景技术中数据流的状态信息维护过程示意图;图2为本发明实施例一中更新数据流状态信息的方法示意图;图3为本发明实施例三中更新数据流状态信息的系统结构示意图;图4为本发明实施例四中网络处理器结构示意图;图5为本发明实施例五中速率控制器结构示意图。
具体实施例方式为了实现本发明目的,本发明实施例的方案中,当网络处理器根据接收到的报文 确定数据流的状态信息需要更新时,并不立即执行信息更新操作,而是将包含用于信息更 新的报文或报文信息的更新消息通知速率控制模块,由速率控制模块将接收到的更新消息
6发送给处于空闲状态的网络处理器,要求接收到更新消息的网络处理器执行状态信息更新 操作,为了避免更新有误的情况,速率控制模块发送更新消息的间隔时长要不小于网络处 理器执行状态信息更新操作占用的时长,且每一网络处理器执行状态信息更新操作时使用 的状态信息都是上一个网络处理器更新完毕的状态信息,在状态信息实时、准确更新的基 础上,各网络处理器并行运行互不影响,克服了现有技术存在了并行系统的效率低下的问 题,且不需要额外开辟存储空间以及额外增加处理器,因此,也同时克服了现有技术存在的 占用内存空间较多以及操作复杂的问题。本发明各实施例的方案应用于针对多个网络处理器并行进行报文处理的并发系 统的状态维护过程,其中,网络处理器可以是通信网络中的路由器,也可以是通信网元中的 CPU。速率控制模块具有全局唯一性,与并行系统中的各网络处理器能够进行信息交互传 输,各网络处理器发送给速率控制模块的更新消息在转给给其他处于空闲状态的网络处理 器之前,都在该速率控制模块内缓存。状态信息进行更新操作的数据流是网络处理器接收 到的报文所属的数据流。下面结合说明书附图对本发明实施例进行详细说明。实施例一如图2所示,为本发明实施例一中更新数据流状态信息的方法示意图,所述方法 包括以下步骤步骤101 网络处理器根据接收到的报文确定数据流状态信息需要更新。在本步骤中,并发系统中的多个网络处理器分别并行从网络端口处接收报文,根 据该报文中的7元组信息查找出该报文所属的数据流,在Tl时刻读取当前并发系统中存储 的数据流的状态信息,根据报文中表示数据流状态的信息判断Tl时刻读取的状态信息是 否需要更新,若需要更新,则执行步骤102 ;否则,直接转发报文,并对再次接收到的报文执 行本步骤。由于网络处理器在确定接收到的报文所属的数据流后立即读取该数据流的状态 信息,因此,所述Tl时刻可以是网络处理器根据所述7元组信息确定接收到的报文所属的 数据流的时刻。本步骤中不限于从报文中提取7元组信息(包括源端口、源IP地址、目的IP地 址、四层源端口、四层目的端口、IP T0S, IP协议号)来确定接收到的报文所属的IPFIX数 据流,本步骤也可以从报文中提取其他能够唯一标识该报文所属数据流的标识来确定报文 所属的数据流。步骤102 网络处理器将更新消息发送给速率控制模块。可能存在多个网络处理器在步骤101中都确定需要对数据流的状态信息进行更 新的情况,因此,在本步骤中,每个网络处理器在确定需要进行数据流的状态信息更新时, 就向速率控制模块发送更新消息。网络处理器发送的更新消息中可以直接包含用于对数据流的状态信息进行更新 的报文信息,或是在更新消息中直接包含报文,后续网络处理器可以从报文的设定字段中 读取所述报文信息。报文信息中包含了用于查询报文所属的数据流的标识以及能够表示数 据流状态的信息。例如查询报文所属的数据流的标识可以为7元组信息,表示数据流状态 的信息包括但不限于最小报文生存时间(Time To Live,TTL)、最小报文字节数、最大报文字节数中的一种或多种组合。步骤103 速率控制模块按照接收更新消息的顺序,对接收到的更新消息进行排
序、缓存。在本步骤中,速率控制模块对接收到的更新消息在自身内进行缓存时,可以按照 接收顺序将缓存的更新消息进行排队,以便于在步骤104中按照排队顺序依次向处于空闲 状态的网络处理器发送更新消息;本实施例也不限于由速率控制模块缓存接收到的更新消 息但不排序的方案,在步骤104中速率控制模块将缓存的更新消息随机地发送给处于空闲 状态的网络处理器,或是将缓存的更新消息按照其他方式发送给处于空闲状态的网络处理 器。所述其他方式包括但不限于更新消息对应报文的大小、重要程度等。步骤104 速率控制模块依次将缓存的更新消息发送给处于空闲状态的网络处理
ο在本步骤中,速率控制模块并不是同时并行向处于空闲状态的网络处理器发送更 新消息的,而是串行向处于空闲状态的网络处理器发送更新消息。任意相邻两次发送更新 消息的间隔可以相等也可以不等,但相邻两次发送更新消息的时间间隔须不小于网络处理 器对数据流的状态信息进行更新操作所占用的时长。限定发送更新消息的时间间隔的目的 是确保每次只有一个网络处理器对数据流的状态信息进行更新,避免多个网络处理器同 时对数据流的状态信息进行更新所造成的更新有误的问题。网络处理器对数据流的状态信息进行更新所占用的时长具体为网络处理器从接收到的更新消息中的报文或报文信息确定报文所属的数据流起, 至更新完毕确定的数据流的状态信息所占用的时长。步骤105 处于空闲状态的网络处理器根据接收到的更新消息的指示,对数据流 状态信息进行更新。在本步骤中,网络处理器读取并判断T2时刻的数据流状态信息是否需要更新,具 体的判断方式为将T2时刻的数据流状态信息与更新消息中报文的字段中的表示数据流状态的信 息进行比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新 数据流状态信息,所述T2时刻是网络处理器根据7元组信息确定报文所属的数据流的时 刻。在不需要对T2时刻的数据流状态信息进行更新时,该处于空闲状态的网络处理器的更 新流程结束。这样做的原因是在Tl时刻与T2时刻之间,数据流的状态信息可能已由其他网 络处理器作了更新,因此,在本步骤中,还需要对T2时刻是否需要进行状态信息更新进行 判断。若需要进行更新,则在本步骤中网络处理器根据更新消息的指示对数据流的状态信 息进行更新,否则,认为当前的数据流的状态信息表示的是数据流的实际状态,无需进行更新。循环执行上述步骤101 步骤105的方案,可以在并行系统中实时更新数据流的 状态信息,由于各网络处理器可以并行判断是否需要进行更新操作,且每次只有一个网络 处理器对数据流的状态信息的更新操作,确保了并行条件下的正确更新,且本方案与现有 的3种改进的状态信息更新方案相比,网络处理器的运行不受其他网络处理器的影响,且 无需额外设定内存空间以及协处理器,克服了现有技术存在的占用内存空间较多以及操作
8复杂的问题。实施例二 本发明实施例二通过一个具体的实例对实施例一的方案进行说明。假设本实施例二的方案中,并行系统内有16个能够并行处理报文的网络处理器, IPFIX数据流中的最小报文TTL作为需要实时更新的状态信息,报文信息中用于查询报文 所属的数据流的信息是7元组信息,能够表示数据流状态的信息是最小报文TTL。本实施例二的方案如下第一步假设网络处理器1和网络处理器2分别从网络端口接收报文1和报文2。第二步针对每一接收报文的网络处理器,从报文的设定字段中读取7元组信息。第三步每一网络处理器根据读取的7元组信息确定该报文所属的IPFIX数据流。第四步每一网络处理器从并行系统中为数据流存储状态信息的存储空间中读取 确定的IPFIX数据流的最小报文TTL。假设本步骤在Tl时刻读取的最小报文TTL为10。第五步网络处理器1接收到的报文1中的最小报文TTL是6,网络处理器1接收 到的报文2中的最小报文TTL是8。第六步网络处理器1将Tl时刻的最小报文TTL与报文1的最小报文TTL进行比 较,网络处理器2执行与网络处理器1相同的操作,网络处理器1和网络处理器2分别确定 需要对Tl时刻存储的数据流的最小报文TTL进行更新。第七步网络处理器1和网络处理器2分别向速率控制模块发送更新消息1和更 新消息2,其中,更新消息1中携带报文1,更新消息2中携带报文2,假设更新消息1先于更 新消息2到达速率控制模块。第八步速率控制模块按照接收顺序对更新消息1和更新消息2进行排序和缓存。第九步速率控制模块将更新消息1发送给当前处于空闲状态的网络处理器3。本步骤中的网络处理器3可以是并发系统中的任一处于空闲状态的网络处理器。第十步网络处理器3从接收到的更新消息1中的报文中读取7元组信息,确定该 报文属于IPFIX数据流。第十一步网络处理器3从并行系统中为数据流存储状态信息的存储空间中读取 该IPFIX数据流的最小报文TTL。假设Tl时刻至T2时刻,IPFIX数据流的最小报文TTL未 发生更新,因此,本步骤的T2时刻读取的最小报文TTL为10。第十二步网络处理器3将报文1中的最小报文TTL与T2时刻读取的最小报文 TTL进行比较,由于数据流需要实时获得所有的报文中使用的最小报文TTL,因此,网络处 理器3将存储空间中存储的最小报文TTL有10更新为6。第十三步速率控制模块将更新消息2发送给当前处于空闲状态的网络处理器4。所述网络处理器4可以是并发系统中的任一处于空闲状态的网络处理器。需要说明的是,速率控制模块相邻两次发送更新消息的间隔不小于网络处理器执 行更新操作的时长,因此,速率控制模块可以通过以下两种方式来确定发送更新消息的间 隔第一种方式速率控制模块中预先设定一个不小于网络处理器执行更新操作的时 长的间隔时长,在每发出一次更新消息时启动计时器,当所述间隔时长到达后,表示可以再次发出更新消息。第二种方式速率控制模块每发出一次更新消息后,等待接收该更新消息的网络 处理器返回更新完毕响应消息,在接收到该更新完毕响应消息时,表示速率控制模块可以 再次发出更新消息。第十四步网络处理器4从并行系统中为数据流存储状态信息的存储空间中读取 该IPFIX数据流的最小报文TTL,由于之前网络处理器3已更新过最小报文TTL,因此,本步 骤的T2'时刻读取的最小报文TTL为6。第十五步网络处理器4将报文2中的最小报文TTL与Τ2'时刻读取的最小报文 TTL进行比较,发现Τ2 ’时刻读取的最小报文TTL小于报文2中的最小报文TTL,因此,不需 要更新最小报文TTL。以上第一步 第十五步是以2个网络处理器并行对报文进行处理为例来说明的, 本发明实施例二也不限于大于2个网络处理器同时接收并处理报文,进而分别确定是否需 要对数据流的状态信息进行更新,以及速率控制模块控制处于空闲状态的网络处理器的串 行更新操作。另外,本实施例二中的更新消息通过携带报文来指示处于空闲状态的网络处理器 进行状态信息更新操作,本实施例二也不限于在更新消息中携带报文信息来指示处于空闲 状态的网络处理器进行状态信息更新操作,所述报文信息包含7元组信息以及最小报文 TTL。实施例三本发明实施例三还提供一种更新数据流状态信息的系统,如图3所示,所述系统 包括速率控制模块11和至少一个网络处理器12,其中网络处理器12用于根据接收到的 报文确定数据流状态信息需要更新时向速率控制模块11发送更新消息,以及在处于空闲 状态时,根据速率控制模块11发送的更新消息中的报文信息更新数据流状态信息;速率控 制模块11用于接收各网络处理器12发送的更新消息,并将接收到的更新消息发送给处于 空闲状态的网络处理器12,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态 的网络处理器对数据流的状态信息更新所占用的时长。网络处理器12确定需要向速率控制模块11发送更新消息的过程为网络处理器 12具体用于将在Tl时刻的数据流状态信息与接收到的报文的报文信息中能够表示数据流 状态的信息进行比较,根据比较结果确定数据流状态信息需要更新,所述Tl时刻是网络处 理器根据报文信息中的报文所属数据流的标识确定接收到的报文所属的数据流的时刻。根据网络处理器12接收到的更新消息中携带的内容不同,网络处理器12根据接 收到的更新消息进行状态信息更新操作的过程也不同,下面分别加以说明网络处理器12具体用于在接收到的更新消息中携带报文时,从所述报文中的设 定字段中读取该报文的报文信息,所述报文信息包括该报文所属数据流的标识以及表示数 据流状态的信息,并根据所述数据流的标识确定对应的数据流,将确定的数据流在Τ2时刻 的状态信息与所述表示数据流状态的信息进行比较,在需要对数据流状态信息进行更新 时,利用所述表示数据流状态的信息更新Τ2时刻的数据流状态信息,所述Τ2时刻是接收到 更新消息后确定报文所属的数据流的时刻。网络处理器12具体用于在所述更新消息中携带包括报文所属数据流的标识以及表示数据流状态的信息的报文信息时,根据所述数据流的标识确定对应的数据流,以及将 确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行比较,在需要对数 据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻的数据流状态信 息,所述T2时刻是接收到更新消息后确定报文所属的数据流的时刻。实施例四本发明实施例四还提供一种网络处理器,应用于更新数据流状态信息的业务中, 如图4所示,所述网络处理器包括第一更新消息发出模块21、第一更新消息接收模块22 和更新模块23,其中第一更新消息发出模块21用于根据接收到的报文确定数据流状态信 息需要更新时发出更新消息;第一更新消息接收模块22用于在处于空闲状态时,接收包含 报文信息的更新消息;更新模块23用于根据接收到的更新消息中的报文信息更新数据流 状态信息。本实施例四中的网络处理器的各模块还可以进一步实现实施例三中网络处理器 的相应功能。第一更新消息发出模块21和第一更新消息接收模块22是与实施例一至实施 例三中的速率控制模块进行交互。实施例五本发明实施例五还提供一种速率控制器,应用于更新数据流状态信息的业务中, 如图5所示,包括第二更新消息接收模块31和第二更新消息发送模块32,其中第二更新 消息接收模块31用于接收各网络处理器发送的更新消息;第二更新消息发送模块32用于 将接收到的更新消息发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的 时间间隔不小于处于空闲状态的网络处理器对数据流的状态信息更新所占用的时长。本实施例五中的速率控制器也就是实施例一至实施例四中涉及的速率控制模块, 该速率控制器也不限于具有能够实现实施例一至实施例四中涉及的速率控制模块各项功 能的逻辑部件,例如速率控制器还可以包括缓存模块33,用于按照接收更新消息的顺序, 将接收到的更新消息排序、缓存,并在第二更新消息发送模块32发送更新消息时,指示第 二更新消息发送模块32按照缓存模块33缓存的更新消息的顺序依次发送。通过本发明实施例提供的方法、系统及设备,在并发系统中对数据流的状态信息 进行实时更新时,各网络处理器将可用于进行更新操作的报文(或报文信息)通过更新消 息在速率控制模块内缓存,由速率控制模块按照不小于网络处理器执行状态信息更新操作 占用的时长的间隔,指示处于空闲状态下的网络处理器进行状态信息更新操作,确保了并 发系统的状态信息实时、正确的更新,并且由于网络处理器并没有采用锁方式进行信息更 新,因此,通过本实施例的方案不影响多网络处理器之间的并行工作,且不需要额外开辟存 储空间以及额外增加处理器。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序 产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算 机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理 器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生 用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能 的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种更新数据流状态信息的方法,其特征在于,所述方法包括接收至少一个网络处理器发送更新消息,所述更新消息是网络处理器根据接收到的报文确定数据流状态信息需要更新时发送的;将接收到的更新消息发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据流的状态信息更新所占用的时长;指示所述处于空闲状态的网络处理器根据接收到的更新消息中的报文信息更新数据流状态信息。
2.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的报文确定数据流 状态信息需要更新,具体包括网络处理器将在Tl时刻的数据流状态信息与接收到的报文的报文信息中能够表示数 据流状态的信息进行比较,根据比较结果确定数据流状态信息需要更新,所述Tl时刻是网 络处理器根据报文信息中的报文所属数据流的标识确定接收到的报文所属的数据流的时 刻。
3.如权利要求1所述的方法,其特征在于,所述处于空闲状态的网络处理器对数据流 的状态信息进行更新所占用的时长为所述处于空闲状态的网络处理器从接收到的更新消息中的报文信息确定报文所属的 数据流起,至更新完毕确定的数据流的状态信息所占用的时长。
4.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的更新消息中的报 文信息更新数据流状态信息,具体包括在所述更新消息中携带报文时,网络处理器从所述报文中的设定字段中读取该报文的 报文信息,所述报文信息包括该报文所属数据流的标识以及表示数据流状态的信息;网络处理器根据所述数据流的标识确定对应的数据流;网络处理器将确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行 比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻 的数据流状态信息,所述T2时刻是网络处理器在接收到更新消息后确定报文所属的数据 流的时刻。
5.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的更新消息中的报 文信息更新数据流状态信息,具体包括在所述更新消息中携带包括报文所属数据流的标识以及表示数据流状态的信息的报 文信息时,网络处理器根据所述数据流的标识确定对应的数据流;网络处理器将确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行 比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻 的数据流状态信息,所述T2时刻是网络处理器接收到更新消息后确定报文所属的数据流 的时刻。
6.一种更新数据流状态信息的系统,其特征在于,所述系统包括速率控制模块和至少 一个网络处理器,其中网络处理器,用于根据接收到的报文确定数据流状态信息需要更新时向速率控制模块 发送更新消息,以及在处于空闲状态时,根据速率控制模块发送的更新消息中的报文信息更新数据流状态信息;速率控制模块,用于接收各网络处理器发送的更新消息,并将接收到的更新消息发送 给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲 状态的网络处理器对数据流的状态信息更新所占用的时长。
7.如权利要求6所述的系统,其特征在于,网络处理器,具体用于将在Tl时刻的数据流状态信息与接收到的报文的报文信息中 能够表示数据流状态的信息进行比较,根据比较结果确定数据流状态信息需要更新,所述 Tl时刻是网络处理器根据报文信息中的报文所属数据流的标识确定接收到的报文所属的 数据流的时刻。
8.如权利要求6所述的系统,其特征在于,网络处理器,具体用于在接收到的更新消息中携带报文时,从所述报文中的设定字段 中读取该报文的报文信息,所述报文信息包括该报文所属数据流的标识以及表示数据流状 态的信息,并根据所述数据流的标识确定对应的数据流,将确定的数据流在T2时刻的状态 信息与所述表示数据流状态的信息进行比较,在需要对数据流状态信息进行更新时,利用 所述表示数据流状态的信息更新T2时刻的数据流状态信息,所述T2时刻是接收到更新消 息后确定报文所属的数据流的时刻。
9.如权利要求6所述的系统,其特征在于,网络处理器,具体用于在所述更新消息中携带包括报文所属数据流的标识以及表示数 据流状态的信息的报文信息时,根据所述数据流的标识确定对应的数据流,以及将确定的 数据流在T2时刻的状态信息与所述表示数据流状态的信息进行比较,在需要对数据流状 态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻的数据流状态信息,所述 T2时刻是接收到更新消息后确定报文所属的数据流的时刻。
10.一种网络处理器,其特征在于,包括第一更新消息发出模块,用于根据接收到的报文确定数据流状态信息需要更新时发出 更新消息;第一更新消息接收模块,用于在处于空闲状态时,接收包含报文信息的更新消息;更新模块,用于根据接收到的更新消息中的报文信息更新数据流状态信息。
11.一种速率控制器,其特征在于,包括第二更新消息接收模块,用于接收各网络处理器发送的更新消息;第二更新消息发送模块,用于将接收到的更新消息发送给处于空闲状态的网络处理 器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据流 的状态信息更新所占用的时长。
全文摘要
本发明公开了一种更新数据流状态信息的方法、系统及设备,主要内容包括网络处理器根据接收到的报文确定数据流的状态信息需要更新时,并不立即执行信息更新操作,而通过更新消息通知速率控制模块,由速率控制模块将接收到的更新消息发送给处于空闲状态的网络处理器,要求接收到更新消息的网络处理器执行状态信息更新操作,为了避免更新有误的情况,速率控制模块发送更新消息的间隔时长不小于网络处理器执行状态信息更新操作占用的时长,以便于在状态信息实时、准确更新的基础上,网络处理器的并行运行互不影响,克服了现有技术存在了并行系统的效率低下的问题,且不需要额外开辟存储空间以及额外增加处理器。
文档编号H04L12/56GK101945045SQ20101028273
公开日2011年1月12日 申请日期2010年9月14日 优先权日2010年9月14日
发明者刘忠东, 刘茗, 王龙顺, 陈宏涛 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1