CN104518987A - 并行多线程报文处理的方法和装置 - Google Patents

并行多线程报文处理的方法和装置 Download PDF

Info

Publication number
CN104518987A
CN104518987A CN201310465494.6A CN201310465494A CN104518987A CN 104518987 A CN104518987 A CN 104518987A CN 201310465494 A CN201310465494 A CN 201310465494A CN 104518987 A CN104518987 A CN 104518987A
Authority
CN
China
Prior art keywords
token
amount
bucket
thread
token bucket
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.)
Pending
Application number
CN201310465494.6A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310465494.6A priority Critical patent/CN104518987A/zh
Priority to PCT/CN2014/087733 priority patent/WO2015043528A1/zh
Publication of CN104518987A publication Critical patent/CN104518987A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种并行多线程报文处理方法和装置。本发明实施例提供的并行多线程处理方法,通过获取每个线程分别需要从令牌桶中请求提取的第一令牌量,该线程为令牌桶在当前时刻接收的线程,第一令牌数为一个或多个令牌,接着,确定令牌桶在当前时刻的可使用令牌量,然后,将可使用令牌量分别与每个线程请求提取的第一令牌数进行比较,确定可使用令牌量是否大于或等于第一令牌量;若是,则从令牌桶中提取第一令牌量的令牌,并分配给该线程;若否,则对线程不进行令牌分配操作。实现了令牌桶同时接收到多个线程时,对多个线程的并行处理,从而提高了系统的性能。

Description

并行多线程报文处理的方法和装置
技术领域
本发明涉及通信技术,尤其涉及一种并行多线程报文处理的方法和装置。
背景技术
在现代通信中,人们通过令牌桶算法对网络上的数据流量进行控制,也就是说,通过从令牌桶取出令牌发送数据的方式对网络中数据的流量进行限制。
在现有技术中,当一个需要m个字节的数据包到达时,若令牌桶中当前的令牌数大于或等于m个令牌时,则从令牌桶中取出m个令牌用于该数据包的发送,若令牌桶中当前的令牌数少于m个令牌时,则将数据包丢弃。
然而,在多线程同时访问同一个令牌桶的情况下,可以通过令牌桶锁定方式来避免因数据竞争而导致数据错误,例如,当某个线程使用该令牌桶时,将该令牌桶锁定,此时仅此线程能访问该令牌桶,其他线程若访问令牌桶必须暂时挂起,直到该线程对令牌桶访问结束并解除对令牌桶的锁定,但这会使得原本并行计算的数据被串行处理,大大降低了系统的性能。
发明内容
本发明提供一种并行多线程报文处理的方法和装置,用以提高系统性能。
第一方面,本发明实施例提供一种并行多线程处理方法,包括:
获取每个线程分别需要从所述令牌桶请求提取的第一令牌量,所述线程为所述令牌桶在当前时刻接收的线程;
确定所述令牌桶在所述当前时刻的可使用令牌量;
将所述可使用令牌量分别与每个所述线程请求提取的所述第一令牌量进行比较,确定所述可使用令牌量是否大于或等于所述第一令牌量;
若是,则从所述令牌桶中提取所述第一令牌量的令牌,并分配给所述线程。
在第一种可能的实现方式中,所述确定所述令牌桶在所述当前时刻的可使用令牌量,包括:
将所述令牌桶的累计令牌量与所述当前时刻的令牌消耗量进行比较,获得所述令牌桶在所述当前时刻的所述可使用令牌量,所述令牌消耗量为所有所述线程从初始时刻至所述当前时刻的第一时长内对所述令牌桶的令牌消耗量,所述累计令牌量为所述令牌桶在所述第一时长内接收的增加令牌量与所述令牌桶的初始值相加的结果。
结合第一个方面或是第一个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取每个线程分别需要从所述令牌桶中请求提取的第一令牌量之前,还包括:
对所述线程设置一个计数器,所述计数器用于记录所述第一时长内所述线程消耗所述令牌桶中令牌的数量。
结合第一个方面至第一个方面的第二种可能的实现方式中的任意一种实现方式,在第三种可能的实现方式中,所述从所述令牌桶中取出所述第一令牌量的令牌之后,还包括:
将所述第一令牌量增加在所述计数器记录的所述令牌消耗量中。
结合第一个方面至第一个方面的第三种可能的实现方式中的任意一种实现方式,在第四种可能的实现方式中,所述获取每个线程分别需要从所述令牌桶中请求提取的第一令牌量之后,或所述获取每个线程分别需要从所述令牌桶中请求提取的第一令牌量之前,还包括:
将准备向所述令牌桶发放的增加令牌量与所述可使用令牌量进行相加,获得第一和数;
确定所述第一和数是否大于或等于所述令牌桶深度;
若大于,则将所述令牌桶深度与所述可使用令牌量的差值增加在所述令牌桶;
若小于,则将所述增加令牌量增加在所述令牌桶中。
第二方面,本发明实施例提供一种并行多线程处理装置,包括:
获取模块,用于获取每个线程分别需要从所述令牌桶请求提取的第一令牌量,所述线程为所述令牌桶在当前时刻接收的线程;
确定模块,用于确定所述令牌桶在所述当前时刻的可使用令牌量;
比较模块,用于将所述可使用令牌量分别与每个所述线程请求提取的所述第一令牌量进行比较,确定所述可使用令牌量是否大于或等于所述第一令牌量;
分配模块,用于在所述比较模块确定为是之后,从所述令牌桶中提取所述第一令牌量的令牌,并分配给所述线程。
在第一种可能的实现方式中,所述比较模块,具体用于将所述令牌桶的累计令牌量与所述当前时刻的令牌消耗量进行比较,获得所述令牌桶在所述当前时刻的所述可使用令牌量,所述令牌消耗量为所有所述线程从初始时刻至所述当前时刻的第一时长内对所述令牌桶的令牌消耗量,所述累计令牌量为所述令牌桶在所述第一时长内接收的增加令牌量与所述令牌桶的初始值相加的结果。
结合第二个方面或是第二个方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:记录模块;
所述记录模块,用于记录所述第一时长内所述线程消耗所述令牌桶中令牌的数量。
结合第二个方面至第二个方面的第二种可能的实现方式中的任意一种实现方式,在第三种可能的实现方式中,所述记录模块;还用于将所述第一令牌量增加在所述计数器记录的所述令牌消耗量中。
结合第二个方面至第二个方面的第三种可能的实现方式中的任意一种实现方式,在第四种可能的实现方式中,所述确定模块,还用于将准备向所述令牌桶发放的增加令牌量与所述可使用令牌量进行相加,获得第一和数;确定所述第一和数是否大于或等于所述令牌桶深度;若大于,则将所述令牌桶深度与所述可使用令牌量的差值增加在所述令牌桶;若小于,则将所述增加令牌量增加在所述令牌桶中。
本发明实施例提供的并行多线程报文处理的方法和装置,通过获取每个线程分别需要从令牌桶中请求提取的第一令牌量,该线程为令牌桶在当前时刻接收的线程,第一令牌数为一个或多个令牌,接着,确定令牌桶在当前时刻的可使用令牌量,然后,将可使用令牌量分别与每个线程请求提取的第一令牌数进行比较,确定可使用令牌量是否大于或等于第一令牌量;若是,则从令牌桶中提取第一令牌量的令牌,并分配给该线程。实现了令牌桶同时接收到多个线程时,对多个线程的并行处理,从而提高了系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的并行多线程处理方法的流程图;
图2为本发明另一实施例提供的并行多线程处理方法的流程图;
图3为本发明一实施例提供的并行多线程处理方法的仿真结果示意图;
图4为本发明另一实施例提供的并行多线程处理方法的仿真结果示意图;
图5为本发明一实施例提供的并行多线程处理装置的结构示意图;
图6为本发明另一实施例提供的并行多线程处理装置的结构示意图;
图7为本发明一实施例提供的并行多线程处理设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的并行多线程处理方法具体可以应用于在令牌桶同时接收到多个线程的访问时,对不同线程分配令牌的过程。本实施例提供的并行多线程处理方法具体可以通过并行多线程处理装置来执行,该并行多线程处理装置可以集成在交换机或是路由器等,需要控制发送到网络上数据的数目的网元中,该并行多线程处理装置可以采用软件和/或硬件的方式来实现。以下对本实施例提供的并行多线程处理方法及装置进行详细地说明。
图1为本发明一实施例提供的并行多线程处理方法的流程图;如图1所示,本实施例的方法包括:
步骤101、获取每个线程分别需要从令牌桶中请求提取的第一令牌量,其中,线程为令牌桶在当前时刻接收的线程。
具体的,多核多线程环境下,在当前时刻,当多个线程同时访问令牌桶时,并行多线程处理装置可以确定令牌桶当前时刻接收到至少一个线程。
需要说明的是,本实施例中的每个线程对应一个核心,即中央处理器(Central Processing Unit,以下简称CPU)。
步骤102、确定该令牌桶在当前时刻的可使用令牌量。
在本实施例中,并行多线程处理装置获取该令牌桶在当前时刻的可使用令牌量至少包括以下两种实现方式:
第一种实现方式,并行多线程处理装置可以通过该令牌桶自身的计数装置,获得该令牌桶自身的可使用令牌量。
第二种实现方式,并行多线程处理装置可以通过将令牌桶的累计令牌量与当前时刻的令牌消耗量进行比较,获得令牌桶当前时刻的可使用令牌量,其中,令牌消耗量为所有线程从初始时刻至当前时刻的第一时长内对令牌桶的令牌消耗量,累计令牌量为该令牌桶在第一时长内接收的增加令牌量与令牌桶的初始值相加的结果,其中,增加令牌量为第一时长与发放令牌速率的乘积。
步骤103、将可使用令牌量分别与每个线程请求提取的第一令牌量进行比较,确定可使用令牌量是否大于或等于第一令牌量。
具体的,在令牌桶同时接收到多个线程的访问时,可以同时分别对每个线程需要从令牌桶中提取的第一令牌量进行比较,确定可使用令牌量是否大于或等于第一令牌量,若是,则执行步骤104,如否,则执行步骤105。
举例来讲,令牌桶同时接收到2个线程的访问,其中,第一线程需要从令牌桶提取的第一令牌量为N,第二线程需要从令牌桶提取的第一令牌量为N+1,接着,将可使用令牌量分别与每个线程需要从令牌桶中提取的第一令牌量进行比较,即,令牌桶当前时刻的可使用令牌量2N大于第一线程需要从令牌桶提取的第一令牌量为N时,则从令牌桶中取出N个令牌,并分配给第一线程;同时,令牌桶当前时刻的可使用令牌量2N大于第二线程需要从令牌桶提取的第一令牌量为N+1时,则从令牌桶中取出N+1个令牌,并分配给第二线程。
需要说明的是,在当前时刻令牌桶将2N+1个令牌分配给2个线程之后,令牌桶中已经没有令牌,同时还将预借上的一个令牌分配给了线程,因此,令牌桶需要等待自身的可使用令牌数达到下一时刻的令牌量,再进行下一次的分配。
步骤104、从令牌桶中提取所述第一令牌量的令牌,并分配给该线程。
在本实施例中,将令牌桶中取出的第一令牌数的令牌分配给该线程,用以发送该线程中的数据包。
步骤105、对该线程不进行令牌分配操作。
在本实施例中,若令牌桶当前时刻的可使用令牌量小于第一令牌量时,可以首先对该线程不进行令牌分配操作,即可以认为该线程的操作在允许的流量限制之外,从而对该线程不分配令牌。进一步的,可以对该数据包进行丢弃、或者排放在队列中以便当令牌桶中累积了足够多的令牌时再传输、或者继续发送但做特殊标记,一旦网络过载的时候将这些特殊标记的数据包丢弃。
本发明实施例提供的并行多线程处理方法,通过获取每个线程分别需要从令牌桶中请求提取的第一令牌量,该线程为令牌桶在当前时刻接收的线程,第一令牌数为一个或多个令牌,接着,确定令牌桶在当前时刻的可使用令牌量,然后,将可使用令牌量分别与每个线程请求提取的第一令牌数进行比较,确定可使用令牌量是否大于或等于第一令牌量;若是,则从令牌桶中提取第一令牌量的令牌,并分配给该线程。实现了令牌桶同时接收到多个线程时,对多个线程的并行处理,从而提高了系统的性能。
需要说明的是,在步骤101之前,还可以包括:
对每个线程设置一个计数器,该计数器用以累积记录第一时长内每个线程的令牌消耗量。
进一步的,在上述实施例的基础上,在步骤104之后,还可以包括:
将第一令牌量增加在计数器记录的令牌消耗量中,其中,该计数器用于记录第一时长内该线程消耗令牌桶中令牌的数量。
图2为本发明另一实施例提供的并行多线程处理方法的流程图;如图2所示,在上述实施例的步骤101之前,或是步骤101之后,本实施例的方法还可以包括:
步骤201、将准备向令牌桶发放的增加令牌量与可使用令牌量进行相加,获得的第一和数。
本实施例中的增加令牌量可以通过程序定时向令牌桶发放上述的增加令牌量。
步骤202、确定第一和数是否大于或等于令牌桶深度。
本实施例中的令牌桶深度为令牌桶最大可存储的令牌数量。
具体的,在并行多线程处理装置确定第一和数是否大于或等于令牌桶深度,若是,则执行步骤203,若否,则执行步骤204。
步骤203、将令牌桶深度与可使用令牌量的差值增加在令牌桶。
步骤204、将增加令牌量增加在令牌桶中。
本发明实施例提供的并行多线程处理方法,通过将准备在令牌桶中增加的增加令牌量与可使用令牌量进行相加,获得的第一和数;接着,确定第一和数是否大于或等于令牌桶深度;若大于,则将令牌桶深度与可使用令牌量的差值增加在令牌桶;若小于,则将增加令牌量增加在令牌桶中。实现了在没有加锁的令牌桶中进行增加令牌的操作。
图3为本发明一实施例提供的并行多线程处理方法的仿真结果示意图;如图3所示,在上述实施例所提供的并行多线程处理方法的基础上,对并行多线程进行模拟仿真,具体为,将计数器处理数据的上限设置为7Kpps,同时打7条流,即仿真对7个并行线程同时进行数据处理,并且,每条流的速率为1Kpps,根据图3的仿真结果可知,根据上述实施例的方法,在多线程同时处理的情况下,可以对数据包进行有效的限流。
图4为本发明另一实施例提供的并行多线程处理方法的仿真结果示意图;如图4所示,在上述实施例所提供的并行多线程处理方法的基础上,对并行多线程处理进行模拟仿真,具体为,将计数器处理数据的上限设置为7Kpps,同时打7条流,即仿真对7个并行线程同时进行数据处理,并且,每条流的速率为2Kpps,也就是说,同时对7个并行线程进行数据处理时需要14Kpps,根据图4的仿真结果可知,根据本发明实施例的方法,在多线程同时处理的情况下,可以在较短时间内对数据包进行流量整形的控制,并可以对数据进行有效的限流。
图5为本发明一实施例提供的并行多线程处理装置的结构示意图;如图5所示,该并行多线程处理装置,包括:获取模块51、确定模块52、比较模块53和分配模块54。其中,
获取模块51,用于获取每个线程分别需要从令牌桶请求提取的第一令牌量,线程为令牌桶在当前时刻接收的线程;
确定模块52,用于确定令牌桶在当前时刻的可使用令牌量;
比较模块53,用于将可使用令牌量分别与每个线程请求提取的第一令牌量进行比较,确定可使用令牌量是否大于或等于第一令牌量;
分配模块54,用于在比较模块确定为是之后,从令牌桶中提取第一令牌量的令牌,并分配给线程。
本发明实施例提供的并行多线程处理方法,通过获取每个线程分别需要从令牌桶中请求提取的第一令牌量,该线程为令牌桶在当前时刻接收的线程,第一令牌数为一个或多个令牌,接着,确定令牌桶在当前时刻的可使用令牌量,然后,将可使用令牌量分别与每个线程请求提取的第一令牌数进行比较,确定可使用令牌量是否大于或等于第一令牌量;若是,则从令牌桶中提取第一令牌量的令牌,并分配给该线程。实现了令牌桶同时接收到多个线程时,对多个线程的并行处理,从而提高了系统的性能。
在上述实施例的基础上,比较模块53,具体用于将令牌桶的累计令牌量与当前时刻的令牌消耗量进行比较,获得令牌桶在当前时刻的可使用令牌量,令牌消耗量为所有线程从初始时刻至当前时刻的第一时长内对令牌桶的令牌消耗量,累计令牌量为令牌桶在第一时长内接收的增加令牌量与令牌桶的初始值相加的结果。
图6为本发明另一实施例提供的并行多线程处理装置的结构示意图;如图6所示,在上述实施例的基础上,该并行多线程处理装置,还可以包括:记录模块55;其中,记录模块55,用于记录第一时长内线程消耗令牌桶中令牌的数量。
进一步的,在上述实施例的基础上,记录模块55;还用于将第一令牌量增加在计数器记录的令牌消耗量中。
在上述实施例的基础上,确定模块52,还用于将准备向令牌桶发放的增加令牌量与可使用令牌量进行相加,获得第一和数;确定第一和数是否大于或等于令牌桶深度;若大于,则将令牌桶深度与可使用令牌量的差值增加在令牌桶;若小于,则将增加令牌量增加在令牌桶中。
图7为本发明一实施例提供的并行多线程处理设备的结构示意图;如图7所示,该并行多线程处理设备,包括:获取器71和处理器72。其中,
获取器71,用于获取每个线程分别需要从令牌桶请求提取的第一令牌量,线程为令牌桶在当前时刻接收的线程;
处理器72,用于确定令牌桶在当前时刻的可使用令牌量;并将可使用令牌量分别与每个线程请求提取的第一令牌量进行比较,确定可使用令牌量是否大于或等于第一令牌量;若是,则从令牌桶中提取第一令牌量的令牌,并分配给线程。
本发明实施例提供的并行多线程处理方法,通过获取每个线程分别需要从令牌桶中请求提取的第一令牌量,该线程为令牌桶在当前时刻接收的线程,第一令牌数为一个或多个令牌,接着,确定令牌桶在当前时刻的可使用令牌量,然后,将可使用令牌量分别与每个线程请求提取的第一令牌数进行比较,确定可使用令牌量是否大于或等于第一令牌量;若是,则从令牌桶中提取第一令牌量的令牌,并分配给该线程。实现了令牌桶同时接收到多个线程时,对多个线程的并行处理,从而提高了系统的性能。
在上述实施例的基础上,处理器72,具体用于将令牌桶的累计令牌量与当前时刻的令牌消耗量进行比较,获得令牌桶在当前时刻的可使用令牌量,令牌消耗量为所有线程从初始时刻至当前时刻的第一时长内对令牌桶的令牌消耗量,累计令牌量为所述令牌桶在所述第一时长内接收的增加令牌量与所述令牌桶的初始值相加的结果。
在上述实施例的基础上,处理器72,还用于记录所述第一时长内所述线程消耗所述令牌桶中令牌的数量。
进一步的,在上述实施例的基础上,处理器72;还用于将第一令牌量增加在计数器记录的令牌消耗量中。
在上述实施例的基础上,处理器72,还用于将准备向令牌桶发放的增加令牌量与可使用令牌量进行相加,获得第一和数;确定第一和数是否大于或等于令牌桶深度;若大于,则将令牌桶深度与可使用令牌量的差值增加在令牌桶;若小于,则将增加令牌量增加在令牌桶中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种并行多线程处理方法,其特征在于,包括:
获取每个线程分别需要从所述令牌桶请求提取的第一令牌量,所述线程为所述令牌桶在当前时刻接收的线程;
确定所述令牌桶在所述当前时刻的可使用令牌量;
将所述可使用令牌量分别与每个所述线程请求提取的所述第一令牌量进行比较,确定所述可使用令牌量是否大于或等于所述第一令牌量;
若是,则从所述令牌桶中提取所述第一令牌量的令牌,并分配给所述线程。
2.根据权利要求1所述的方法,其特征在于,所述确定所述令牌桶在所述当前时刻的可使用令牌量,包括:
将所述令牌桶的累计令牌量与所述当前时刻的令牌消耗量进行比较,获得所述令牌桶在所述当前时刻的所述可使用令牌量,所述令牌消耗量为所有所述线程从初始时刻至所述当前时刻的第一时长内对所述令牌桶的令牌消耗量,所述累计令牌量为所述令牌桶在所述第一时长内接收的增加令牌量与所述令牌桶的初始值相加的结果。
3.根据权利要求1或2所述的方法,其特征在于,所述获取每个线程分别需要从所述令牌桶中请求提取的第一令牌量之前,还包括:
对所述线程设置一个计数器,所述计数器用于记录所述第一时长内所述线程消耗所述令牌桶中令牌的数量。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述从所述令牌桶中取出所述第一令牌量的令牌之后,还包括:
将所述第一令牌量增加在所述计数器记录的所述令牌消耗量中。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取每个线程分别需要从所述令牌桶中请求提取的第一令牌量之后,或所述获取每个线程分别需要从所述令牌桶中请求提取的第一令牌量之前,还包括:
将准备向所述令牌桶发放的增加令牌量与所述可使用令牌量进行相加,获得第一和数;
确定所述第一和数是否大于或等于所述令牌桶深度;
若大于,则将所述令牌桶深度与所述可使用令牌量的差值增加在所述令牌桶;
若小于,则将所述增加令牌量增加在所述令牌桶中。
6.一种并行多线程处理装置,其特征在于,包括:
获取模块,用于获取每个线程分别需要从所述令牌桶请求提取的第一令牌量,所述线程为所述令牌桶在当前时刻接收的线程;
确定模块,用于确定所述令牌桶在所述当前时刻的可使用令牌量;
比较模块,用于将所述可使用令牌量分别与每个所述线程请求提取的所述第一令牌量进行比较,确定所述可使用令牌量是否大于或等于所述第一令牌量;
分配模块,用于在所述比较模块确定为是之后,从所述令牌桶中提取所述第一令牌量的令牌,并分配给所述线程。
7.根据权利要求6所述的装置,其特征在于,所述比较模块,具体用于将所述令牌桶的累计令牌量与所述当前时刻的令牌消耗量进行比较,获得所述令牌桶在所述当前时刻的所述可使用令牌量,所述令牌消耗量为所有所述线程从初始时刻至所述当前时刻的第一时长内对所述令牌桶的令牌消耗量,所述累计令牌量为所述令牌桶在所述第一时长内接收的增加令牌量与所述令牌桶的初始值相加的结果。
8.根据权利要求6或7所述的装置,其特征在于,还包括:记录模块;
所述记录模块,用于记录所述第一时长内所述线程消耗所述令牌桶中令牌的数量。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述记录模块;还用于将所述第一令牌量增加在所述计数器记录的所述令牌消耗量中。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述确定模块,还用于将准备向所述令牌桶发放的增加令牌量与所述可使用令牌量进行相加,获得第一和数;确定所述第一和数是否大于或等于所述令牌桶深度;若大于,则将所述令牌桶深度与所述可使用令牌量的差值增加在所述令牌桶;若小于,则将所述增加令牌量增加在所述令牌桶中。
CN201310465494.6A 2013-09-30 2013-09-30 并行多线程报文处理的方法和装置 Pending CN104518987A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310465494.6A CN104518987A (zh) 2013-09-30 2013-09-30 并行多线程报文处理的方法和装置
PCT/CN2014/087733 WO2015043528A1 (zh) 2013-09-30 2014-09-29 并行多线程报文处理的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310465494.6A CN104518987A (zh) 2013-09-30 2013-09-30 并行多线程报文处理的方法和装置

Publications (1)

Publication Number Publication Date
CN104518987A true CN104518987A (zh) 2015-04-15

Family

ID=52742093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310465494.6A Pending CN104518987A (zh) 2013-09-30 2013-09-30 并行多线程报文处理的方法和装置

Country Status (2)

Country Link
CN (1) CN104518987A (zh)
WO (1) WO2015043528A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939286A (zh) * 2016-03-28 2016-09-14 杭州迪普科技有限公司 令牌桶管理方法及装置
CN108647082A (zh) * 2018-04-13 2018-10-12 中国民航信息网络股份有限公司 基于令牌机制的任务处理方法、装置、设备及介质
CN110275780A (zh) * 2019-06-26 2019-09-24 北京百度网讯科技有限公司 用于限制流量的方法和装置
CN110852680A (zh) * 2019-11-12 2020-02-28 金蝶蝶金云计算有限公司 数据处理方法、erp系统及计算机存储介质
CN112367270A (zh) * 2020-10-30 2021-02-12 锐捷网络股份有限公司 一种报文发送的方法和设备
CN112463716A (zh) * 2020-11-27 2021-03-09 中船重工(武汉)凌久电子有限责任公司 基于多核多处理器并行系统的全局信号量实现方法
CN113472681A (zh) * 2020-03-30 2021-10-01 阿里巴巴集团控股有限公司 流量限速方法及装置
CN113691461A (zh) * 2021-08-23 2021-11-23 新华三信息安全技术有限公司 一种多核设备的令牌桶管理方法及装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111064676B (zh) * 2018-10-16 2023-02-28 中兴通讯股份有限公司 一种流量监管方法、设备、装置和计算机存储介质
CN113765818A (zh) * 2020-06-28 2021-12-07 北京沃东天骏信息技术有限公司 分布式限流方法、装置、设备、存储介质和系统
CN114726798B (zh) * 2022-02-28 2023-07-18 福建星云电子股份有限公司 一种锂电池测试通道限流方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039670A2 (en) * 2000-10-19 2002-05-16 The Regents Of The University Of Michigan Method and system for controlling network traffic to a network computer
CN102224722A (zh) * 2008-11-25 2011-10-19 思杰系统有限公司 用于对象速率限制的系统和方法
CN102714618A (zh) * 2009-06-22 2012-10-03 思杰系统有限公司 用于平台速率限制的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039670A2 (en) * 2000-10-19 2002-05-16 The Regents Of The University Of Michigan Method and system for controlling network traffic to a network computer
CN102224722A (zh) * 2008-11-25 2011-10-19 思杰系统有限公司 用于对象速率限制的系统和方法
CN102714618A (zh) * 2009-06-22 2012-10-03 思杰系统有限公司 用于平台速率限制的系统和方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939286A (zh) * 2016-03-28 2016-09-14 杭州迪普科技有限公司 令牌桶管理方法及装置
CN105939286B (zh) * 2016-03-28 2019-05-07 杭州迪普科技股份有限公司 令牌桶管理方法及装置
CN108647082A (zh) * 2018-04-13 2018-10-12 中国民航信息网络股份有限公司 基于令牌机制的任务处理方法、装置、设备及介质
CN110275780B (zh) * 2019-06-26 2022-08-02 北京百度网讯科技有限公司 用于限制流量的方法和装置
CN110275780A (zh) * 2019-06-26 2019-09-24 北京百度网讯科技有限公司 用于限制流量的方法和装置
CN110852680A (zh) * 2019-11-12 2020-02-28 金蝶蝶金云计算有限公司 数据处理方法、erp系统及计算机存储介质
CN113472681A (zh) * 2020-03-30 2021-10-01 阿里巴巴集团控股有限公司 流量限速方法及装置
CN112367270A (zh) * 2020-10-30 2021-02-12 锐捷网络股份有限公司 一种报文发送的方法和设备
CN112367270B (zh) * 2020-10-30 2023-01-10 锐捷网络股份有限公司 一种报文发送的方法和设备
CN112463716A (zh) * 2020-11-27 2021-03-09 中船重工(武汉)凌久电子有限责任公司 基于多核多处理器并行系统的全局信号量实现方法
CN112463716B (zh) * 2020-11-27 2024-02-13 中船重工(武汉)凌久电子有限责任公司 基于多核多处理器并行系统的全局信号量实现方法
CN113691461A (zh) * 2021-08-23 2021-11-23 新华三信息安全技术有限公司 一种多核设备的令牌桶管理方法及装置
CN113691461B (zh) * 2021-08-23 2023-03-24 新华三信息安全技术有限公司 一种多核设备的令牌桶管理方法及装置

Also Published As

Publication number Publication date
WO2015043528A1 (zh) 2015-04-02

Similar Documents

Publication Publication Date Title
CN104518987A (zh) 并行多线程报文处理的方法和装置
CN106339222B (zh) 一种服务实现方法及装置
CN108572876B (zh) 一种读写锁的实现方法及装置
CN108776897B (zh) 数据处理方法、装置、服务器及计算机可读存储介质
CN108173905B (zh) 一种资源配置方法、装置及电子设备
CN106775936B (zh) 一种虚拟机的管理方法及装置
CN107301093B (zh) 一种管理资源的方法和装置
CN106385377B (zh) 一种信息处理方法和系统
CN104536834A (zh) 一种授权锁权限的方法和分布式锁管理器
CN111338802B (zh) 一种优化大数据集群性能的方法、系统、设备及介质
CN107330680A (zh) 红包控制方法、装置、计算机设备及计算机可读存储介质
CN106936931A (zh) 分布式锁的实现方法、相关设备及系统
CN111970205A (zh) 网关接口流量控制方法及系统
CN104572298B (zh) 视频云平台的资源调度方法及装置
CN104461705B (zh) 一种业务访问的方法及存储控制器、集群存储系统
CN112463185A (zh) 一种分布式集群在线升级方法及相关组件
CN111464331A (zh) 一种线程创建的控制方法、系统及终端设备
CN106776032B (zh) 分布式块存储的io请求的处理方法和装置
CN116663639B (zh) 一种梯度数据同步方法、系统、装置及介质
CN104967856A (zh) 一种编码方法及相关设备
CN111124672A (zh) 基于Redis集群的数据分配的方法及相关设备
CN109934583A (zh) 一种区块链中可信随机数序列的生成方法
CN107239378A (zh) 一种超时监测方法及系统
CN116700632B (zh) 一种高可靠的金融信息数据存储方法
CN103619043A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150415