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

技术编号:4097912 阅读:219 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种更新数据流状态信息的方法、系统及设备,主要内容包括:网络处理器根据接收到的报文确定数据流的状态信息需要更新时,并不立即执行信息更新操作,而通过更新消息通知速率控制模块,由速率控制模块将接收到的更新消息发送给处于空闲状态的网络处理器,要求接收到更新消息的网络处理器执行状态信息更新操作,为了避免更新有误的情况,速率控制模块发送更新消息的间隔时长不小于网络处理器执行状态信息更新操作占用的时长,以便于在状态信息实时、准确更新的基础上,网络处理器的并行运行互不影响,克服了现有技术存在了并行系统的效率低下的问题,且不需要额外开辟存储空间以及额外增加处理器。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种更新数据流状态信息的方法、系统及设备
技术介绍
在网络通信业务中,网络处理器从网络端口处依次接收报文,并转发报文。被接收 并转发的多个报文之间具有一定的关联性,因此,业界将具有相同属性的多个报文定义为 一个数据流。例如,用户访问网站产生的所有报文都有相同的源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数据流状态信息。一种更新数据流状态信息的系统,所述系统包括速率控制模块和至少一个网络处 理器,其中网络处理器,用于根据接收到的报文确定数据流状态信息需要更新时向速率控制 模块发送更新消息,以及在处于空闲状态时,根据速率控制模块发送的更新消息中的报文 信息更新数据流状态信息;速率控制模块,用于接收各网络处理器发送的更新消息,并将接收到的更新消息 发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于 空闲状态的网络处理器对数据流的状态信息更新所占用的时长。一种网络处理器,包括第一更新消息发出模块,用于根据接收到的报文确定数据流状态信息需要更新时 发出更新消息;第一更新消息接收模块,用于在处于空闲状态时,接收包含报文信息的更新消 息;更新模块,用于根据接收到的更新消息中的报文信息更新数据流状态信息。一种速率控制器,包括第二更新消息接收模块,用于接收各网络处理器发送的更新消息;第二更新消息发送模块,用于将接收到的更新消息发送给处于空闲状态的网络处 理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据 流的状态信息更新所占用的时长。本专利技术实施例中的网络处理器根据接收到的报文确定数据流的状态信息需要更 新时,并不立即执行信息更新操作,而通过更新消息通知速率控制模块,由速率控制模块将 接收到的更新消息发送给处于空闲状态的网络处理器,要求接收到更新消息的网络处理器 执行状态信息更新操作,为了避免本文档来自技高网
...

【技术保护点】
一种更新数据流状态信息的方法,其特征在于,所述方法包括:接收至少一个网络处理器发送更新消息,所述更新消息是网络处理器根据接收到的报文确定数据流状态信息需要更新时发送的;将接收到的更新消息发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据流的状态信息更新所占用的时长;指示所述处于空闲状态的网络处理器根据接收到的更新消息中的报文信息更新数据流状态信息。

【技术特征摘要】
一种更新数据流状态信息的方法,其特征在于,所述方法包括接收至少一个网络处理器发送更新消息,所述更新消息是网络处理器根据接收到的报文确定数据流状态信息需要更新时发送的;将接收到的更新消息发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据流的状态信息更新所占用的时长;指示所述处于空闲状态的网络处理器根据接收到的更新消息中的报文信息更新数据流状态信息。2.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的报文确定数据流 状态信息需要更新,具体包括网络处理器将在Tl时刻的数据流状态信息与接收到的报文的报文信息中能够表示数 据流状态的信息进行比较,根据比较结果确定数据流状态信息需要更新,所述Tl时刻是网 络处理器根据报文信息中的报文所属数据流的标识确定接收到的报文所属的数据流的时 刻。3.如权利要求1所述的方法,其特征在于,所述处于空闲状态的网络处理器对数据流 的状态信息进行更新所占用的时长为所述处于空闲状态的网络处理器从接收到的更新消息中的报文信息确定报文所属的 数据流起,至更新完毕确定的数据流的状态信息所占用的时长。4.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的更新消息中的报 文信息更新数据流状态信息,具体包括在所述更新消息中携带报文时,网络处理器从所述报文中的设定字段中读取该报文的 报文信息,所述报文信息包括该报文所属数据流的标识以及表示数据流状态的信息;网络处理器根据所述数据流的标识确定对应的数据流;网络处理器将确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行 比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻 的数据流状态信息,所述T2时刻是网络处理器在接收到更新消息后确定报文所属的数据 流的时刻。5.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的更新消息中的报 文信息更新数据流状态信息,具体包括在所述更新消息中携带包括报文所属数据流的标识以及表示数据流状态的信息的报 文信息时,网络处理器根据所述数据流的标识确定对应的数据流;网络处理器将确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行 比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻 的数据流状态信息,所述T2时刻是网络处理器接收到更新消息后确定报文所属的数据流 的时刻。6.一种更新数据流状态信息的系统,其特征在于,所述系统包括速率控制模块和至少 一...

【专利技术属性】
技术研发人员:刘忠东陈宏涛刘茗王龙顺
申请(专利权)人:北京星网锐捷网络技术有限公司
类型:发明
国别省市:11[中国|北京]

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

1