CN101945045A - 一种更新数据流状态信息的方法、系统及设备 - Google Patents

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

Info

Publication number
CN101945045A
CN101945045A CN2010102827364A CN201010282736A CN101945045A CN 101945045 A CN101945045 A CN 101945045A CN 2010102827364 A CN2010102827364 A CN 2010102827364A CN 201010282736 A CN201010282736 A CN 201010282736A CN 101945045 A CN101945045 A CN 101945045A
Authority
CN
China
Prior art keywords
message
data flow
processing unit
network processing
information
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
Application number
CN2010102827364A
Other languages
English (en)
Other versions
CN101945045B (zh
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.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks 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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN2010102827364A priority Critical patent/CN101945045B/zh
Publication of CN101945045A publication Critical patent/CN101945045A/zh
Application granted granted Critical
Publication of CN101945045B publication Critical patent/CN101945045B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

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

Description

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

Claims (11)

1.一种更新数据流状态信息的方法,其特征在于,所述方法包括:
接收至少一个网络处理器发送更新消息,所述更新消息是网络处理器根据接收到的报文确定数据流状态信息需要更新时发送的;
将接收到的更新消息发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据流的状态信息更新所占用的时长;
指示所述处于空闲状态的网络处理器根据接收到的更新消息中的报文信息更新数据流状态信息。
2.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的报文确定数据流状态信息需要更新,具体包括:
网络处理器将在T1时刻的数据流状态信息与接收到的报文的报文信息中能够表示数据流状态的信息进行比较,根据比较结果确定数据流状态信息需要更新,所述T1时刻是网络处理器根据报文信息中的报文所属数据流的标识确定接收到的报文所属的数据流的时刻。
3.如权利要求1所述的方法,其特征在于,所述处于空闲状态的网络处理器对数据流的状态信息进行更新所占用的时长为:
所述处于空闲状态的网络处理器从接收到的更新消息中的报文信息确定报文所属的数据流起,至更新完毕确定的数据流的状态信息所占用的时长。
4.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的更新消息中的报文信息更新数据流状态信息,具体包括:
在所述更新消息中携带报文时,网络处理器从所述报文中的设定字段中读取该报文的报文信息,所述报文信息包括该报文所属数据流的标识以及表示数据流状态的信息;
网络处理器根据所述数据流的标识确定对应的数据流;
网络处理器将确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻的数据流状态信息,所述T2时刻是网络处理器在接收到更新消息后确定报文所属的数据流的时刻。
5.如权利要求1所述的方法,其特征在于,网络处理器根据接收到的更新消息中的报文信息更新数据流状态信息,具体包括:
在所述更新消息中携带包括报文所属数据流的标识以及表示数据流状态的信息的报文信息时,网络处理器根据所述数据流的标识确定对应的数据流;
网络处理器将确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻的数据流状态信息,所述T2时刻是网络处理器接收到更新消息后确定报文所属的数据流的时刻。
6.一种更新数据流状态信息的系统,其特征在于,所述系统包括速率控制模块和至少一个网络处理器,其中:
网络处理器,用于根据接收到的报文确定数据流状态信息需要更新时向速率控制模块发送更新消息,以及在处于空闲状态时,根据速率控制模块发送的更新消息中的报文信息更新数据流状态信息;
速率控制模块,用于接收各网络处理器发送的更新消息,并将接收到的更新消息发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据流的状态信息更新所占用的时长。
7.如权利要求6所述的系统,其特征在于,
网络处理器,具体用于将在T1时刻的数据流状态信息与接收到的报文的报文信息中能够表示数据流状态的信息进行比较,根据比较结果确定数据流状态信息需要更新,所述T1时刻是网络处理器根据报文信息中的报文所属数据流的标识确定接收到的报文所属的数据流的时刻。
8.如权利要求6所述的系统,其特征在于,
网络处理器,具体用于在接收到的更新消息中携带报文时,从所述报文中的设定字段中读取该报文的报文信息,所述报文信息包括该报文所属数据流的标识以及表示数据流状态的信息,并根据所述数据流的标识确定对应的数据流,将确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻的数据流状态信息,所述T2时刻是接收到更新消息后确定报文所属的数据流的时刻。
9.如权利要求6所述的系统,其特征在于,
网络处理器,具体用于在所述更新消息中携带包括报文所属数据流的标识以及表示数据流状态的信息的报文信息时,根据所述数据流的标识确定对应的数据流,以及将确定的数据流在T2时刻的状态信息与所述表示数据流状态的信息进行比较,在需要对数据流状态信息进行更新时,利用所述表示数据流状态的信息更新T2时刻的数据流状态信息,所述T2时刻是接收到更新消息后确定报文所属的数据流的时刻。
10.一种网络处理器,其特征在于,包括:
第一更新消息发出模块,用于根据接收到的报文确定数据流状态信息需要更新时发出更新消息;
第一更新消息接收模块,用于在处于空闲状态时,接收包含报文信息的更新消息;
更新模块,用于根据接收到的更新消息中的报文信息更新数据流状态信息。
11.一种速率控制器,其特征在于,包括:
第二更新消息接收模块,用于接收各网络处理器发送的更新消息;
第二更新消息发送模块,用于将接收到的更新消息发送给处于空闲状态的网络处理器,其中,相邻两次发送更新消息的时间间隔不小于处于空闲状态的网络处理器对数据流的状态信息更新所占用的时长。
CN2010102827364A 2010-09-14 2010-09-14 一种更新数据流状态信息的方法、系统及设备 Expired - Fee Related CN101945045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102827364A CN101945045B (zh) 2010-09-14 2010-09-14 一种更新数据流状态信息的方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102827364A CN101945045B (zh) 2010-09-14 2010-09-14 一种更新数据流状态信息的方法、系统及设备

Publications (2)

Publication Number Publication Date
CN101945045A true CN101945045A (zh) 2011-01-12
CN101945045B CN101945045B (zh) 2013-01-02

Family

ID=43436827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102827364A Expired - Fee Related CN101945045B (zh) 2010-09-14 2010-09-14 一种更新数据流状态信息的方法、系统及设备

Country Status (1)

Country Link
CN (1) CN101945045B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905327A (zh) * 2012-12-25 2014-07-02 中国科学院声学研究所 一种基于流状态信息的内容中心网络拥塞控制方法及系统
CN110781373A (zh) * 2019-10-29 2020-02-11 北京字节跳动网络技术有限公司 榜单更新方法、装置、可读介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229710A1 (en) * 2002-06-11 2003-12-11 Netrake Corporation Method for matching complex patterns in IP data streams
CN101030215A (zh) * 2006-02-28 2007-09-05 国际商业机器公司 利用流预取历史来改进数据预取性能的方法和系统
US20080212600A1 (en) * 2007-03-02 2008-09-04 Tae-Joon Yoo Router and queue processing method thereof
CN101321088A (zh) * 2008-07-18 2008-12-10 北京星网锐捷网络技术有限公司 一种统计ip数据流信息的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229710A1 (en) * 2002-06-11 2003-12-11 Netrake Corporation Method for matching complex patterns in IP data streams
CN101030215A (zh) * 2006-02-28 2007-09-05 国际商业机器公司 利用流预取历史来改进数据预取性能的方法和系统
US20080212600A1 (en) * 2007-03-02 2008-09-04 Tae-Joon Yoo Router and queue processing method thereof
CN101321088A (zh) * 2008-07-18 2008-12-10 北京星网锐捷网络技术有限公司 一种统计ip数据流信息的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905327A (zh) * 2012-12-25 2014-07-02 中国科学院声学研究所 一种基于流状态信息的内容中心网络拥塞控制方法及系统
CN103905327B (zh) * 2012-12-25 2017-05-17 中国科学院声学研究所 一种基于流状态信息的内容中心网络拥塞控制方法及系统
CN110781373A (zh) * 2019-10-29 2020-02-11 北京字节跳动网络技术有限公司 榜单更新方法、装置、可读介质和电子设备

Also Published As

Publication number Publication date
CN101945045B (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
JP4740897B2 (ja) 仮想ネットワーク構成方法及びネットワークシステム
US8270299B2 (en) Communicator-based token/buffer management for eager protocol support in collective communication operations
CN1285046C (zh) 根据共享属性而由压缩的队列对来建立多重虚拟队列对的安排
CN101452404B (zh) 一种嵌入式操作系统的任务调度装置及方法
US20170070567A1 (en) Load balancing apparatus and load balancing method
US10977070B2 (en) Control system for microkernel architecture of industrial server and industrial server comprising the same
CN100517221C (zh) 高效多处理器系统及其方法
CN103942178A (zh) 多核处理器上实时操作系统与非实时操作系统之间的通信方法
CN101097514A (zh) 启用同时多线程(smt)的系统及其管理方法
CN112416969B (zh) 分布式数据库中的并行任务调度系统
US10033546B2 (en) Method and system for reprogramming
CN103793275A (zh) 实现负载均衡的系统及处理方法
CN107924330A (zh) 用于集成的线程调度的技术
US20230037783A1 (en) Resource scheduling method and related apparatus
CN101561767A (zh) 一种基于操作系统的任务执行方法和装置
CN101945045B (zh) 一种更新数据流状态信息的方法、系统及设备
CN111404818A (zh) 一种面向通用多核网络处理器的路由协议优化方法
CN110321145B (zh) 多联机群系统机组升级系统、方法和装置
CN101635639B (zh) 一种网络连接跟踪方法及其系统
KR101419558B1 (ko) Plc 시스템의 모니터링 시스템 및 그를 이용한 모니터링 방법
CN111459871A (zh) 一种基于fpga异构计算的区块链加速系统及方法
CN107632890B (zh) 一种数据流体系结构中动态节点分配方法和系统
CN117331655A (zh) 多线程调度方法及装置
CN111314408B (zh) 一种基于通信层多数据项缓存任务的本地边缘计算和物联管理方法
CN103377034A (zh) 指令预送方法及装置、指令管理系统、运算核心

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130102

Termination date: 20150914

EXPY Termination of patent right or utility model