CN102761832A - 一种消息分发方法以及消息分发装置 - Google Patents
一种消息分发方法以及消息分发装置 Download PDFInfo
- Publication number
- CN102761832A CN102761832A CN201110110167XA CN201110110167A CN102761832A CN 102761832 A CN102761832 A CN 102761832A CN 201110110167X A CN201110110167X A CN 201110110167XA CN 201110110167 A CN201110110167 A CN 201110110167A CN 102761832 A CN102761832 A CN 102761832A
- Authority
- CN
- China
- Prior art keywords
- message queue
- message
- weighted value
- queue
- pairing
- 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
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种消息分发方法以及消息分发装置,其中,消息分发方法包括:确定各消息队列中分别存储的消息数量;根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,所述权重值用于表示消息队列可连续接收的消息数量;根据各消息队列分别对应的权重值,向所述各消息队列分发消息。根据该技术方案,可以根据每个消息队列已存储的消息数量,确定向每个消息队列可连续分配消息的消息数量,即以消息队列实际的存储消息数量为依据确定向各个消息队列分发消息的数量,从而能够减少消息队列中大量消息的积压,提高对消息处理的及时性。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种消息分发方法以及消息分发装置。
背景技术
随着通信技术的发展,接入通信系统中实现各种通信业务的终端数量在不断增加,为了达到提高通信系统性能的目的,需要对通信系统中产生的海量业务消息进行处理,以根据处理结果对通信系统进行维护。
对通信系统中产生的业务消息进行处理时,所涉及的消息处理系统如图1所示,该消息处理系统建立在采用基于消息中间件的SOA(Service-OrientedArchitecture,面向服务的体系结构)架构之上。图1所示的消息处理系统主要包括:第一前置机101、第二前置机102、包括多个消息队列的消息中间件103以及包括多个应用服务器的应用服务器组104。具体地,图1所示系统包括的各功能实体完成的功能如下:
第一前置机101,包括处理模块以及分发模块,其中,处理模块主要用于获取BOSS(Business Operation Support System,业务运营支撑系统)事件,并对获取的事件进行过滤以及分析处理,得到业务事件;分发模块主要用于将处理模块处理得到的业务事件进行分发,即将各业务事件封装为业务事件消息分发给消息中间件103中的各消息队列;
第二前置机102的结构与第一前置机101的结构相同,包括处理模块以及分发模块,其中,处理模块用于获取信令采集系统的信令数据,并对获取的事件进行过滤以及分析处理,得到业务事件;分发模块主要用于将处理模块处理得到的业务事件进行分发,即将各业务事件封装为业务事件消息分发给消息中间件103中的各消息队列;
消息中间件103,包括多个消息队列,主要用于缓存来自各前置机的业务事件消息;
应用服务器组104,主要用于从消息中间件103包括的各消息队列中获取业务事件消息进行处理,该应用服务器组104中包括的各业务服务器中配置有与消息中间件中包括的消息队列的对应关系,根据该对应关系,应用服务器从对应的消息队列中获取业务事件消息进行处理。
实际应用中,信令采集系统会采集大量的信令数据,例如主被叫、短信收发、位置迁移、小区切换、开关机等各种信令数据,并通过Socket接口发送给第二前置机,峰值速率可以达到25000条/秒;BOSS系统也会产生大量的事件发送给第一前置机。并且,信令采集系统、BOSS系统等外部系统产生的大量实时数据又是非均衡的,例如,信令数据中的主被叫、短信收发在每天的各时间区间表现出非均衡性。因此,消息处理系统所面临的最大挑战是针对大数据量、以及非均衡的实时数据,如何使得对业务事件的处理达到高实时性的要求。
图1所示的消息处理系统中,第一前置机以及第二前置机中的分发模块在向消息中间件中的各消息队列分发业务事件消息时,采用的消息分发方式为按照消息队列的编号顺序(如图1中的1、2、3、......N)依次分发业务事件消息,该分发方式未考虑到应用服务器的实际处理能力,对于处理能力较低的应用服务器,容易导致与该处理能力较低的应用服务器对应的消息队列中未处理的业务事件消息大量积压,从而降低了对业务事件消息处理的及时性。
发明内容
有鉴于此,本发明实施例提供一种消息分发方法以及消息分发装置,采用该技术方案,能够提高对消息处理的及时性。
本发明实施例通过如下技术方案实现:
根据本发明实施例的一个方面,提供了一种消息分发方法,包括:
确定各消息队列中分别存储的消息数量;
根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,所述权重值用于表示消息队列可连续接收的消息数量;
根据各消息队列分别对应的权重值,向所述各消息队列分发消息。
根据本发明实施例的另一个方面,提供了一种消息分发装置,包括:
消息队列监控模块,用于确定各消息队列中分别存储的消息数量;
权重确定模块,用于根据所述消息队列监控模块确定的各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,所述权重值用于表示消息队列可连续接收的消息数量;
消息分发模块,用于根据所述权重确定模块确定的各消息队列分别对应的权重值,向所述各消息队列分发消息。
通过本发明实施例提供的上述至少一个技术方案,在消息分发过程中,首先确定各消息队列中分别存储的消息数量,并根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,该权重值用于表示消息队列可连续接收的消息数量,然后进一步根据各消息队列分别对应的权重值,向各消息队列分发消息。根据该技术方案,可以根据每个消息队列已存储的消息数量,确定向每个消息队列可连续分配消息的消息数量,即以消息队列实际的存储消息数量为依据确定向各个消息队列分发消息的数量,从而能够减少消息队列中大量消息的积压,提高对消息处理的及时性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有技术提供的消息处理系统的结构示意图;
图2为本发明实施例一提供的消息分发方法所对应的一个流程示意图;
图3为本发明实施例一提供的消息分发方法所对应的又一个流程示意图;
图4为本发明实施例一提供的确定各消息队列分别对应的权重值的流程示意图;
图5为本发明实施例一提供的旧闭环链表的示意图;
图6为本发明实施例一提供的闭环链表更新的一个示意图;
图7为本发明实施例一提供的闭环链表更新的又一个示意图;
图8为本发明实施例一提供的生成的新闭环链表的示意图;
图9为本发明实施例二提供的根据权重值调整应用服务器的流程示意图;
图10为本发明实施例三提供的消息处理系统的结构示意图;
图11为本发明实施例三提供的消息分发的流程示意图;
图12为本发明实施例四提供的生成的新闭环链表的一个示意图;
图13本发明实施例四提供的生成的新闭环链表的又一个示意图;
图14为本发明实施例五提供的消息分发装置的一个示意图;
图15为本发明实施例五提供的消息分发装置的又一个示意图;
图16为本发明实施例五提供的消息分发装置的又一个示意图。
具体实施方式
为了给出提高对业务事件消息处理的及时性的实现方案,本发明实施例提供了一种消息分发方法以及消息分发装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
根据本发明实施例一,提供了一种一种消息分发方法,通过该实施例一提供的消息分发方法进行消息分发,能够提高对消息处理的及时性。
图2给出了该实施例一提供的消息分发方法所对应的一个流程示意图,如图2所示,该消息分发方法,主要包括如下步骤:
步骤201、确定各消息队列中分别存储的消息数量。
步骤202、根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,该权重值用于表示消息队列可连续接收的消息数量。
步骤203、根据各消息队列分别对应的权重值,向各消息队列分发消息。
至此,消息分发流程结束。
上述步骤201至步骤203所对应的流程可以按照设定周期执行,即步骤201中,可以按照设定周期确定各消息队列中分别存储的消息数量。其中,该周期可以根据消息的分发数量确定并随着待分发消息数量的变化进行调整,例如,如果待分发消息数量较大,可以设置该周期较小,以根据各消息队列中存储的消息数量,及时对各消息队列的后续消息接收量进行调整。
图3给出了该实施例一提供的消息分发方法所对应的又一个流程示意图,如图3所示,该消息分发方法,主要包括如下步骤:
步骤301、确定各消息队列中分别存储的消息数量。
步骤302、确定各消息队列中是否存在存储的消息数量超过对应的最大阈值的消息队列,若是,执行步骤303,否则返回步骤301。
步骤303、根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,该权重值用于表示消息队列可连续接收的消息数量。
步骤304、根据各消息队列分别对应的权重值,向各消息队列分发消息。
至此,消息分发流程结束。
上述步骤301至步骤304所对应的流程可以按照设定周期执行,即步骤401中,可以按照设定周期确定各消息队列中分别存储的消息数量。
上述步骤301至步骤304所对应的流程中,在根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值之前,需要确定各消息队列中存在存储的消息数量超过对应的最大阈值的消息队列,从而能够在消息队列有消息溢出(即消息队列中存储的消息数量超过设定阈值)时,及时对各消息队列后续接收消息的数量进行调整,以进一步提高对消息分发的及时性。
本发明实施例一还提供了确定消息队列的权重值的具体过程。
如图4所示,上述步骤202以及步骤303中,根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,主要包括如下步骤:
步骤401、确定各消息队列分别对应的最大阈值是否都相等,若是,执行步骤402,若否,执行步骤403。
各消息队列分别对应的最大阈值,用于表示该消息队列可以存储的最大消息数量,具体可以根据消息队列所对应的应用服务器的处理能力进行设置,或者根据为每个消息队列分配的存储空间大小确定,实际应用中,可以灵活设置,此处不再一一列举。
步骤402、根据以消息队列中存储的消息数量为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值。
步骤403、根据以消息队列中存储的消息数量与该消息队列对应的最大阈值的比值为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值。
至此,确定各消息队列的流程结束。
本发明实施例一提供的一个优选实施方式中,上述步骤402中,根据以消息队列中存储的消息数量为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值,可以通过如下方式一或方式二实现:
方式一:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的最大阈值与存储的消息数量的差值,将各消息队列所对应的差值分别除以第一设定值得到的商值,确定为各消息队列的权重值;以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零。
其中,第一设定值为大于零的数,并且若得到的商值为非整数,则对非整数的商值取整,具体取整方式可以是向上取整,也可以是向下取整。
该方式一中,第一设定值优选地可以选取为:各消息队列所对应的差值的最大公约数。
方式二:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的可接收消息数量的相对值,将各消息队列所对应的相对值分别除以第二设定值得到的商值,确定为各消息队列的权重值;以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零。
其中,消息队列对应的可接收消息数量的相对值,根据各消息队列存储的消息数量之和与该相对值对应的消息队列存储的消息数量的差值确定。
第二设定值为大于零的数,并且若得到的商值为非整数,则对该非整数的商值取整,具体取整方式可以是向上取整,也可以是向下取整。
该方式二中,第二设定值优选地可以选取为:在满足得到的商值小于该消息队列对应的最大阈值减去存储的消息数量得到的差值时,各消息队列所对应的相对值的最大公约数。
该方式二的一个具体实例如下:
假设有四个消息队列,如表1所示,其中,最大队列深度为消息队列可以存储的消息数量的最大阈值,当前深度为消息队列存储的消息数量。
表1
编号 | 消息队列名称 | 最大队列深度 | 当前深度 |
1 | EP_REQUEST_1 | 1000000 | 200000 |
2 | EP_REQUEST_2 | 1000000 | 400000 |
3 | EP_REQUEST_3 | 1000000 | 600000 |
4 | EP_REQUEST_4 | 1000000 | 800000 |
表1中,四个消息队列的编号分别为1、2、3、4,根据上述方式二提供的确定消息队列的权重值的方法,四个消息队列的当前队列深度之和为2000000,利用求和结果2000000分别减去每一个消息队列的当前深度得到可用队列深度数组(即分别与编号1、2、3、4为消息队列对应的相对值):1800000、1600000、1400000、1200000;每一个数组成员除以该数组的最大公约数(200000)即可得到每一个消息队列的权重,即编号为1的消息队列权重为9,编号为2的消息队列权重为8,权重为3的消息队列权重为7,编号为4的消息队列权重为6,如表2所示。
表2
编号 | 消息队列名称 | 最大队列深度 | 当前深度 | 权重 |
1 | EP_REQUEST_1 | 1000000 | 200000 | 9 |
2 | EP_REQUEST_2 | 1000000 | 400000 | 8 |
3 | EP_REQUEST_3 | 1000000 | 600000 | 7 |
4 | EP_REQUEST_4 | 1000000 | 800000 | 6 |
本发明实施例一提供的一个优选实施方式中,上述步骤403中,根据以消息队列中存储的消息数量与该消息队列对应的最大阈值的比值为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值,可以通过如下方式实现:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的最大阈值与存储的消息数量的差值,将各消息队列所对应的差值分别除以所对应的最大阈值得到的商值,确定为各消息队列的权重值;以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零。
其中,若得到的商值为非整数,则对该非整数的商值取整,具体取整方式可以是向上取整,也可以是向下取整。
应当理解,上述实施例给出的步骤402以及步骤403的具体实现方式,仅为本发明实施例提供的几个优选实施方式,实际应用中,只要能够满足相应的递减函数关系的确定方式,都可以作为实现本发明实施例的实现方式,此处不再一一列举。
本发明实施例一还提供了根据确定消息队列的权重值分发消息的具体过程。
上述步骤203以及步骤304中,根据各消息队列分别对应的权重值,向所述各消息队列分发消息,包括:
根据各消息队列分别对应的权重值,向各消息队列分发根据BOSS的业务数据生成的业务事件消息或/和根据信令采集系统的信令数据生成的业务事件消息。并且,在实际应用中,可以由多个实体负责消息的分发。
上述步骤203以及步骤304中,根据各消息队列分别对应的权重值,向各消息队列分发消息,可以通过如下过程实现:
根据各消息队列分别对应的权重值,控制向各消息队列连续分发的消息数量等于所对应的权重值。
具体地,根据各消息队列分别对应的权重值,控制向各消息队列连续分发的消息数量等于所对应的权重值,可以优选地通过如下两种方式中的任意一种方式实现:
一、通过计数器实现。
通过计数器实现消息分发,主要包括计数器的设置过程,以及消息分发过程。
其中,根据各消息队列分别对应的权重值,设置计数器,具体过程如下:
设置与消息队列数目相应的计数器,例如,消息队列有3个,则设置3个计数器,每个计数器与消息队列一一对应。
设置各计数器的计数顺序,计数器的计数顺序可以根据向消息队列分发消息的顺序确定,例如,在分发消息时,先向消息队列1分发、其次是消息队列2、再次是消息队列3,则可以设置计数器的计数顺序为:与消息队列1对应的计数器、与消息队列2对应的计数器、与消息队列3对应的计数器。
根据各消息队列对应的权重值分别设置所对应的计数器的计数门限,计数门限用于表示计数器所对应的消息队列连续接收的消息的最大值。
根据设置的计数器分发消息,具体过程如下:
按照计数器的计数顺序,依次向各计数器对应的消息队列分发消息,其中,在分发一个消息到消息队列后,更新与该消息队列对应的计数器的计数值,在该计数器的计数值达到所对应的计数门限后,将该计数器置位,并向当前计数器之后的计数器所对应的消息队列分发消息。
二、通过闭环链表(也称为令牌链表)实现。
通过闭环链表实现消息分发,主要包括闭环链表的生成过程,以及消息分发过程。
其中,根据各消息队列分别对应的权重值,生成闭环链表,具体过程如下:
根据各消息队列分别对应的权重值,生成与每个消息队列分别对应的子链表,其中,与消息队列对应的子链表中的节点数目与消息队列对应的权重值相等。例如,消息队列1对应的权重值为2,消息队列2对应的权重值为4,则为消息队列1生成的子链表中包括2个节点,为消息队列2生成的子链表中包括4个节点。
将每个消息队列分别对应的子链表首尾相连生成闭环链表。
在生成闭环链表后,根据该闭环链表分发消息的过程,包括:
根据移动指针在该闭环链表中所指示的节点,将消息分发到与所述节点所在的子链表对应的消息队列,并将该移动指针移至当前所指示节点的下一节点。其中,移动指针用于指示消息的分发,即将待分发消息分发到移动指针所指示的节点所在的子链表对应的消息队列,并且每分发一个消息,该移动指针都要移动到下一个节点。
为了更好地理解上述通过闭环链表实现消息分发的过程,以下结合具体的例子详细说明该过程:
假设已经存在闭环链表(后续称为旧链表),如图5所示,其中,p_o为移动指针,n1是与消息队列1对应的节点,n2是与消息队列2对应的节点,n3是与消息队列3对应的节点,nM-N是指消息队列M对应的子链表中的第N个节点。为了根据各消息队列当前存储的消息数量确定的权重值更新该链表,可以创建一空移动指针p_n并保存该指针,该移动指针p_n指向新的闭环链表,根据每一个消息队列当前的权重循环创建每一个消息队列的子链表。
各消息队列对应的权重分别为:消息队列1的权重为2,消息队列2的权重为3,消息队列3的权重为3,新链表生成过程如下:
1、n1-1被移动到新闭环链表中,如图6所示,并将旧链表中的移动指针指向n1-2,将新链表中的移动指针p_n指向该n1-1;
2、n1-2被移动到新闭环链表中,如图7所示,并将移动指针p_n指向该n1-2;
3、n1-3被删除。
至此,与消息队列1对应的子链表更新完毕。
按照同样的方式,更新消息队列2以及消息队列3的子链表,其中,由于消息队列2在旧链表中对应的子链表只包括2个节点,而消息队列2在新链表中对应的子链表应该包括3个节点,因此需要再创建一个节点。
通过上述过程生成的新链表,如图8所示,消息队列1对应的子链表包括n1-1、n1-2;消息队列2对应的子链表包括n2-1、n2-2、n2-3;消息队列3对应的子链表包括n3-1、n3-2、n3-3。各消息队列的子链表首位连接形成闭环链表,即n1-2与n2-1相连、n2-3与n3-1相连、n3-3与n1-1相连。
实施例二
本发明实施例二提供了根据上述实施例一提供的技术方案确定出各消息队列的权重值后,根据各消息队列的权重值对应用服务器进行动态调度的具体实施例。
在图1所示的消息处理系统中,应用服务器组104,主要用于从消息中间件103包括的各消息队列中获取业务事件消息进行处理,该应用服务器组104中包括的各业务服务器中配置有与消息中间件中包括的消息队列的对应关系,根据该对应关系,应用服务器从对应的消息队列中获取业务事件消息进行处理。
本发明实施例二提供的技术方案中,利用各消息队列分别对应的权重值,对处理消息队列中存储的消息的应用服务器进行调整。具体地,在根据上述实施例一提供的技术方案确定各消息队列的权重值后,由于消息队列的权重值是根据消息当前存储的消息的数量确定,通常消息队列中当前存储的消息的数量越多(或消息队列中当前存储的消息的数量与对应的最大阈值的比值越大),确定出的该消息队列的权重值越小,也就是说,确定出的消息队列的权重值越小,则该消息队列中当前存储的消息的数量越多,相应地,与该消息队列对应的应用服务器处理消息的压力较大,因此,可以根据消息队列的权重值对应用服务器进行动态调整。
该实施例二提供的根据权重值对应用服务器进行动态调度的过程,如图9所示,主要包括如下步骤:
步骤901、确定对应的权重值低于第三设定值的消息队列。
该步骤中,第三设定值小于各消息队列所对应的最大阈值。
步骤902、确定对应的权重值不低于第三设定值的消息队列所对应的应用服务器。
步骤903、指示确定出的应用服务器对对应的权重值低于第三设定值的消息队列中存储的信息进行处理。
至此,根据权重值对应用服务器进行动态调度的流程结束。该流程可以在上述实施例一中图2对应流程的步骤202之后执行。
本发明实施例二提供的一个优选实施方式中,图9对应流程包括的步骤902中,确定对应的权重值不低于第三设定值的消息队列所对应的应用服务器的过程,还可以通过如下方式实现:
确定对应的权重值不低于第四设定值的消息队列所对应的应用服务器,其中,第四设定值大于第三设定值,且该第四设定值小于各消息队列对应的最大阈值。
为了便于理解上述根据权重值对应用服务器进行动态调度的过程,以下结合具体实例进行说明。
在动态调度前,消息队列与应用服务器的对应关系如表3所示,假设有5各消息队列,分别为消息队列1、2、3、4、5;有4个应用服务器,分别为应用服务器A、B、C、D:
表3
假设确定出消息队列1、2、3、4、5分别对应的权重值为:0、2、4、7、9;第三设定值为3,则根据本发明实施例二提供的上述处理流程,首先确定低于第三设定值的消息队列为消息队列2,则可以调度消息队列4、5所对应的应用服务器C、D处理消息队列2中存储的消息,实际应用中,若低于第三设定值的消息队列数目较小(比如小于设定数目),可以从符合条件的应用服务器中选取一个应用服务器进行处理,若低于第三设定值的消息队列数目较多(比如大于设定数目),可以从符合条件的应用服务器中选取多个应用服务器进行处理。进一步地,若还设置了第四设定值且该第四设定值为8,确定高于第四设定值的消息队列为消息队列5,则可以调度消息队列5所对应的应用服务器D处理消息队列2中存储的消息。
实施例三
本发明实施例三给出了上述实施例一在具体应用场景下实现消息分发的详细过程。
具体地,本发明实施例一提供的消息分发方法可以应用于如图1所示的消息处理系统,并在此基础上,对该系统进行改进,改进后的系统如图10所示,在图1所示系统的基础上增加了消息队列监控模块、权重确定模块,并可以复用第一前置机和第三前置机中的处理模块,对该处理模块的现有消息分发功能进行改进。其中,该消息队列监控模块、权重确定模块以及改进功能后的分发模块可以构成消息分发装置。
具体地,消息队列监控模块,主要用于对各消息队列进行监控,即确定各消息队列分别存储的消息数量,并将监控结果提供给权重确定模块。一个优选实施方式中,消息队列监控模块在监控到消息队列中有存储的消息数量超过最大阈值的消息队列后,将监控结果提供给权重确定模块。又一个优选实施方式中,消息队列监控模块在每一个监控周期到达时,轮询每一个消息队列存储的消息数量。
权重确定模块,主要用于接收消息队列监控模块提供的监控结果,根据每一个消息队列存储的消息数量,确定每一个消息队列对应的权重(该过程已在上述实施例一中详细说明,此处不再赘述),并将每一个消息队列对应的权重信息通知给分发模块。
分发模块,用于根据权重确定模块发送的每一个消息队列的权重生成并更新本地存储的闭环链表,并根据更新后的闭环链表将业务事件封装为业务事件消息发送到对应的消息队列中。此处,也可以是更新计数器,具体视采用的方式而定,该实施例中以采用链表分发消息为例进行说明。
基于图10所示的消息处理系统,对本发明实施例三提供的一个消息分发的优选实施过程进行说明,如图11所示,主要包括如下步骤:
步骤1101、消息队列监控模块轮询每一个消息队列存储的消息数量,并更新消息队列监控模块中存储的各消息队列存储的消息数量。
步骤1102、消息队列监控模块监控到至少一个消息队列存储的消息数量是否达到最大阈值时,若是,执行步骤1103,若否,执行步骤1107。
步骤1103、消息队列监控模块向权重确定模块发送告警信息,该告警信息中包括每一个消息队列存储的消息数量信息。
步骤1104、权重确定模块根据每一个消息队列存储的消息数量,确定每一个消息队列对应的权重(确定消息队列的权重的过程已在上述实施例一中详细描述,此处不再赘述)。
步骤1105、权重确定模块将每一个消息队列的权重信息分别发送给每一个分发模块。
步骤1106、每个分发模块根据每一个消息队列的权重更新闭环链表,并根据更新后的闭环链表将业务事件封装为业务事件消息发送到对应的消息队列中。
该步骤中,分发模块每发送业务事件消息之后,移动指针会从当前所指的节点移动到下一个节点。由于闭环链表是循环链表,所以完成一个循环后会重新回到开始位置的节点。
步骤1107、消息队列监控模块不进行任何处理,分发模块仍然按照上一监控周期内的链表进行业务事件的发送。
至此,流程结束。
实施例四
实施例四给出了上述实施例一的一个具体应用过程。
以表4所示的消息队列情况为例,该表4示出了四个消息队列分别对应的最大队列深度(即存储消息数量的最大阈值)以及当前深度(即当前已经存储的消息数量)的情况,其中,队列深度告警阈值可以小于等于最大队列深度,为了保证控制的及时性,通常设置的小于最大队列深度,该队列深度告警阈值,用于指示在当前深度超过队列深度告警阈值时,触发闭环链表的更新,即触发确定各消息队列的权重值以及相应的链表更新过程。
表4
如表4的四个消息队列,编号分别为1、2、3、4。在当前监控周期到达时,消息队列监控模块查询到每一个消息队列的当前深度如表4所示。基于上述查询结果,消息队列监控模块监控到消息队列1和消息队列2的当前深度达到设定的队列深度告警阈值,则生成告警信息发送给权重确定模块;权重确定模块根据每一个消息队列的当前深度,确定每一个消息队列的权重,假设确定出消息队列1的权重为0、消息队列2的权重为0、消息队列3的权重为25、消息队列4的权重为2,则分发模块根据权重生成闭环链表,如图12所示,即由于消息队列1以及消息队列2分别对应的权重为0,因此暂时不向该两个消息队列分发消息。
图12所示的闭环链表的具体生成步骤如下:
1)确定链表长度,各权重值相加的和即为总的链表长度;
2)根据权重分别生成各消息队列的子链表,如:消息队列3的子链表包括25个节点,消息队列4的子链表包括2个节点。
在下次更新链表之前,分发模块根据图12所示的闭环链表控制后续消息的分发。
假设下一个监控周期到达时,消息队列监控模块查询到每一个消息队列的当前深度如表5所示。基于上述查询结果,消息队列监控模块没有监控到当前深度达到设定的队列深度告警阈值的消息队列,则进行任何处理;分发模块仍然按照上一个监控周期生成的闭环链表分发消息。
表5
假设下一个监控周期到达时,消息队列监控模块查询到每一个消息队列的当前深度如表6所示。基于上述查询结果,消息队列监控模块监控到当前深度超过设定的队列深度告警阈值的消息队列,假设确定出编号为1的消息队列权重为11、编号为2的消息队列权重为14、权重为3的消息队列权重为16、编号为4的消息队列权重为19。
表6
则根据权重更新得到闭环链表如图13所示,即根据各消息队列的权重值,编号为1的消息队列对应的子链表中包括11个节点、编号为2的消息队列对应的子链表中包括14个节点、编号为3的消息队列对应的子链表中包括16个节点、编号为4的消息队列对应的子链表中包括19个节点。
在下次更新链表之前,分发模块根据图14所示的闭环链表控制后续消息的分发。
实施例五
相应地,与上述方法实施例一所提供的技术方案对应,本发明实施例五提供了一种消息分发装置,如图14所示,该消息分发装置,主要包括:
消息队列监控模块1401、权重确定模块1402以及消息分发模块1403;
其中:
消息队列监控模块1401,用于确定各消息队列中分别存储的消息数量;
权重确定模块1402,用于根据消息队列监控模块确定的各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,权重值用于表示消息队列可连续接收的消息数量;
消息分发模块1403,用于根据权重确定模块确定的各消息队列分别对应的权重值,向各消息队列分发消息。
本发明实施例五提供的一个优选实施方式中,图14所示的消息分发装置包括的消息队列监控模块1401,具体用于:
按照设定周期确定各消息队列中分别存储的消息数量。
本发明实施例五提供的一个优选实施方式中,图14所示的消息分发装置包括的权重确定模块1402,还用于:
在根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值之前,确定各消息队列中存在存储的消息数量超过对应的最大阈值的消息队列。
如图15所示,本发明实施例五提供的一个优选实施方式中,图14所示的消息分发装置包括的权重确定模块1402,具体包括:
第一权重确定子模块1402A,用于在各消息队列分别对应的最大阈值相等时,根据以消息队列中存储的消息数量为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值;
第二权重确定子模块1402B,用于在各消息队列分别对应的最大阈值至少存在两个不相等时,根据以消息队列中存储的消息数量与该消息队列对应的最大阈值的比值为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值。
本发明实施例五提供的一个优选实施方式中,图15所示的消息分发装置包括的第一权重确定子模块1402A,具体用于:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的最大阈值与存储的消息数量的差值,将各消息队列所对应的差值分别除以第一设定值得到的商值确定为各消息队列的权重值,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;其中,第一设定值为大于零的数,并且若得到的商值为非整数,则对非整数的商值取整;或
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的可接收消息数量的相对值,将各消息队列所对应的相对值分别除以第二设定值得到的商值确定为各消息队列的权重值,,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;其中,相对值根据各消息队列存储的消息数量之和与相对值对应的消息队列存储的消息数量的差值确定;第二设定值为大于零的数,并且若得到的商值为非整数,则对非整数的商值取整。
本发明实施例五提供的一个优选实施方式中,图14所示的消息分发装置包括的第二权重确定子模块1402B,具体用于:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的最大阈值与存储的消息数量的差值,将各消息队列所对应的差值分别除以所对应的最大阈值得到的商值确定为各消息队列的权重值,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;若得到的商值为非整数,则对非整数的商值取整。
本发明实施例五提供的一个优选实施方式中,图14或图15所示的消息分发装置包括的消息分发模块1403,具体用于:
根据各消息队列分别对应的权重值,向各消息队列分发根据业务支撑运营系统BOSS的业务数据生成的业务事件消息或/和根据信令采集系统的信令数据生成的业务事件消息。
本发明实施例五提供的一个优选实施方式中,图14或图15所示的消息分发装置包括的消息分发模块1403,具体用于:
根据各消息队列分别对应的权重值,控制向各消息队列连续分发的消息数量等于所对应的权重值。
本发明实施例五提供的一个优选实施方式中,图14或图14所示的消息分发装置包括的消息分发模块1403,具体用于:
根据各消息队列分别对应的权重值,生成与每个消息队列分别对应的子链表,其中,与消息队列对应的子链表中的节点数目与消息队列对应的权重值相等;将每个消息队列分别对应的子链表首尾相连生成闭环链表;根据移动指针在闭环链表中所指示的节点,将消息分发到与节点所在的子链表对应的消息队列,并将移动指针移至当前所指示节点的下一节点;或
设置与消息队列数目相应的计数器,并设置各计数器的计数顺序,且根据各消息队列对应的权重值分别设置所对应的计数器的计数门限;在分发一个消息到消息队列后,更新与该消息队列对应的计数器的计数值,在该计数器的计数值达到所对应的计数门限后,将该计数器置位,并向当前计数器之后的计数器所对应的消息队列分发消息。
如图16所示,本发明实施例五提供的一个优选实施方式中,图14所示的消息分发装置还可以进一步包括:
调度模块1404,用于在权重确定模块1402确定各消息队列分别对应的权重值后,确定对应的权重值低于第三设定值的消息队列,并确定对应的权重值不低于第三设定值的消息队列所对应的应用服务器,并指示确定出的应用服务器对对应的权重值低于第三设定值的消息队列中存储的信息进行处理。
本发明实施例五提供的一个优选实施方式中,图16所示的消息分发装置包括的调度模块1404,具体用于:
确定对应的权重值不低于第四设定值的消息队列所对应的应用服务器,第四设定值大于第三设定值。
应当理解,以上消息分发装置包括的模块仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的消息分发装置所实现的功能与上述实施例提供的消息分发方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
并且,本实施例五中的消息分发装置还具有能够实现实施例一至实施例四方案的功能模块,此处不再赘述。
通过本发明实施例提供的上述至少一个技术方案,在消息分发过程中,首先确定各消息队列中分别存储的消息数量,并根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,该权重值用于表示消息队列可连续接收的消息数量,然后进一步根据各消息队列分别对应的权重值,向各消息队列分发消息。根据该技术方案,可以根据每个消息队列已存储的消息数量,确定向每个消息队列可连续分配消息的消息数量,即以消息队列实际的存储消息数量为依据确定向各个消息队列分发消息的数量,从而能够减少消息队列中大量消息的积压,提高对消息处理的及时性。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (23)
1.一种消息分发方法,其特征在于,包括:
确定各消息队列中分别存储的消息数量;
根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,所述权重值用于表示消息队列可连续接收的消息数量;
根据各消息队列分别对应的权重值,向所述各消息队列分发消息。
2.如权利要求1所述的方法,其特征在于,确定各消息队列中分别存储的消息数量,包括:
按照设定周期确定各消息队列中分别存储的消息数量。
3.如权利要求1所述的方法,其特征在于,在根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值之前,还包括:
确定所述各消息队列中存在存储的消息数量超过对应的最大阈值的消息队列。
4.如权利要求1所述的方法,其特征在于,根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,包括:
在所述各消息队列分别对应的最大阈值相等时,根据以消息队列中存储的消息数量为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值;
在所述各消息队列分别对应的最大阈值至少存在两个不相等时,根据以消息队列中存储的消息数量与该消息队列对应的最大阈值的比值为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值。
5.如权利要求4所述的方法,其特征在于,根据以消息队列中存储的消息数量为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值,包括:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的最大阈值与存储的消息数量的差值,将各消息队列所对应的差值分别除以第一设定值得到的商值确定为各消息队列的权重值,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;其中,所述第一设定值为大于零的数,并且若得到的商值为非整数,则对所述非整数的商值取整;或
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的可接收消息数量的相对值,将各消息队列所对应的相对值分别除以第二设定值得到的商值确定为各消息队列的权重值,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;其中,所述相对值根据各消息队列存储的消息数量之和与所述相对值对应的消息队列存储的消息数量的差值确定;所述第二设定值为大于零的数,并且若得到的商值为非整数,则对所述非整数的商值取整。
6.如权利要求5所述的方法,其特征在于,所述第一设定值为:各消息队列所对应的差值的最大公约数;
所述第二设定值为:在满足得到的商值小于该消息队列对应的最大阈值减去存储的消息数量得到的差值时,各消息队列所对应的相对值的最大公约数。
7.如权利要求4所述的方法,其特征在于,根据以消息队列中存储的消息数量与该消息队列对应的最大阈值的比值为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值,包括:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的最大阈值与存储的消息数量的差值,将各消息队列所对应的差值分别除以所对应的最大阈值得到的商值确定为各消息队列的权重值,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;若得到的商值为非整数,则对所述非整数的商值取整。
8.如权利要求1所述的方法,其特征在于,根据各消息队列分别对应的权重值,向所述各消息队列分发消息,包括:
根据各消息队列分别对应的权重值,向所述各消息队列分发根据业务支撑运营系统BOSS的业务数据生成的业务事件消息或/和根据信令采集系统的信令数据生成的业务事件消息。
9.如权利要求1所述的方法,其特征在于,根据各消息队列分别对应的权重值,向所述各消息队列分发消息,包括:
根据各消息队列分别对应的权重值,控制向各消息队列连续分发的消息数量等于所对应的权重值。
10.如权利要求9所述的方法,其特征在于,根据各消息队列分别对应的权重值,控制向各消息队列连续分发的消息数量等于所对应的权重值,包括:
根据各消息队列分别对应的权重值,生成与每个消息队列分别对应的子链表,其中,所述与消息队列对应的子链表中的节点数目与所述消息队列对应的权重值相等;将每个消息队列分别对应的子链表首尾相连生成闭环链表;根据移动指针在所述闭环链表中所指示的节点,将消息分发到与所述节点所在的子链表对应的消息队列,并将所述移动指针移至当前所指示节点的下一节点;或
设置与所述消息队列数目相应的计数器,并设置各计数器的计数顺序,且根据各消息队列对应的权重值分别设置所对应的计数器的计数门限;在分发一个消息到消息队列后,更新与该消息队列对应的计数器的计数值,在该计数器的计数值达到所对应的计数门限后,将该计数器置位,并向当前计数器之后的计数器所对应的消息队列分发消息。
11.如权利要求1所述的方法,其特征在于,确定各消息队列分别对应的权重值后,还包括:
确定对应的权重值低于第三设定值的消息队列;
确定对应的权重值不低于所述第三设定值的消息队列所对应的应用服务器,并指示确定出的所述应用服务器对所述对应的权重值低于第三设定值的消息队列中存储的信息进行处理。
12.如权利要求11所述的方法,其特征在于,确定对应的权重值不低于所述第三设定值的消息队列所对应的应用服务器,包括:
确定对应的权重值不低于第四设定值的消息队列所对应的应用服务器,所述第四设定值大于所述第三设定值。
13.一种消息分发装置,其特征在于,包括:
消息队列监控模块,用于确定各消息队列中分别存储的消息数量;
权重确定模块,用于根据所述消息队列监控模块确定的各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值,所述权重值用于表示消息队列可连续接收的消息数量;
消息分发模块,用于根据所述权重确定模块确定的各消息队列分别对应的权重值,向所述各消息队列分发消息。
14.如权利要求13所述的装置,其特征在于,所述消息队列监控模块,具体用于:
按照设定周期确定各消息队列中分别存储的消息数量。
15.如权利要求13所述的装置,其特征在于,所述权重确定模块,还用于:
在根据各消息队列中分别存储的消息数量,确定各消息队列分别对应的权重值之前,确定所述各消息队列中存在存储的消息数量超过对应的最大阈值的消息队列。
16.如权利要求13所述的装置,其特征在于,所述权重确定模块,包括:
第一权重确定子模块,用于在所述各消息队列分别对应的最大阈值相等时,根据以消息队列中存储的消息数量为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值;
第二权重确定子模块,用于在所述各消息队列分别对应的最大阈值至少存在两个不相等时,根据以消息队列中存储的消息数量与该消息队列对应的最大阈值的比值为自变量、以消息队列对应的权重值为因变量的递减函数关系,以及各消息队列分别存储的消息数量,确定各消息队列分别对应的权重值。
17.如权利要求16所述的装置,其特征在于,所述第一权重确定子模块,具体用于:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的最大阈值与存储的消息数量的差值,将各消息队列所对应的差值分别除以第一设定值得到的商值确定为各消息队列的权重值,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;其中,所述第一设定值为大于零的数,并且若得到的商值为非整数,则对所述非整数的商值取整;或
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的可接收消息数量的相对值,将各消息队列所对应的相对值分别除以第二设定值得到的商值确定为各消息队列的权重值,,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;其中,所述相对值根据各消息队列存储的消息数量之和与所述相对值对应的消息队列存储的消息数量的差值确定;所述第二设定值为大于零的数,并且若得到的商值为非整数,则对所述非整数的商值取整。
18.如权利要求16所述的装置,其特征在于,所述第二权重确定子模块,具体用于:
确定存储的消息数量未达到所对应的最大阈值的各消息队列对应的最大阈值与存储的消息数量的差值,将各消息队列所对应的差值分别除以所对应的最大阈值得到的商值确定为各消息队列的权重值,以及,确定存储的消息数量达到所对应的最大阈值的各消息队列的权重值为零;若得到的商值为非整数,则对所述非整数的商值取整。
19.如权利要求13所述的装置,其特征在于,所述消息分发模块,具体用于:
根据各消息队列分别对应的权重值,向所述各消息队列分发根据业务支撑运营系统BOSS的业务数据生成的业务事件消息或/和根据信令采集系统的信令数据生成的业务事件消息。
20.如权利要求13所述的装置,其特征在于,所述消息分发模块,具体用于:
根据各消息队列分别对应的权重值,控制向各消息队列连续分发的消息数量等于所对应的权重值。
21.如权利要求20所述的装置,其特征在于,所述消息分发模块,具体用于:
根据各消息队列分别对应的权重值,生成与每个消息队列分别对应的子链表,其中,所述与消息队列对应的子链表中的节点数目与所述消息队列对应的权重值相等;将每个消息队列分别对应的子链表首尾相连生成闭环链表;根据移动指针在所述闭环链表中所指示的节点,将消息分发到与所述节点所在的子链表对应的消息队列,并将所述移动指针移至当前所指示节点的下一节点;或
设置与所述消息队列数目相应的计数器,并设置各计数器的计数顺序,且根据各消息队列对应的权重值分别设置所对应的计数器的计数门限;在分发一个消息到消息队列后,更新与该消息队列对应的计数器的计数值,在该计数器的计数值达到所对应的计数门限后,将该计数器置位,并向当前计数器之后的计数器所对应的消息队列分发消息。
22.如权利要求13所述的装置,其特征在于,还包括:
调度模块,用于在所述权重确定模块确定各消息队列分别对应的权重值后,确定对应的权重值低于第三设定值的消息队列,并确定对应的权重值不低于所述第三设定值的消息队列所对应的应用服务器,并指示确定出的所述应用服务器对所述对应的权重值低于第三设定值的消息队列中存储的信息进行处理。
23.如权利要求22所述的装置,其特征在于,所述调度模块,具体用于:
确定对应的权重值不低于第四设定值的消息队列所对应的应用服务器,所述第四设定值大于所述第三设定值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110110167.XA CN102761832B (zh) | 2011-04-28 | 2011-04-28 | 一种消息分发方法以及消息分发装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110110167.XA CN102761832B (zh) | 2011-04-28 | 2011-04-28 | 一种消息分发方法以及消息分发装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102761832A true CN102761832A (zh) | 2012-10-31 |
CN102761832B CN102761832B (zh) | 2015-05-27 |
Family
ID=47056122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110110167.XA Active CN102761832B (zh) | 2011-04-28 | 2011-04-28 | 一种消息分发方法以及消息分发装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102761832B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049372A (zh) * | 2015-06-18 | 2015-11-11 | 福建富士通信息软件有限公司 | 一种扩展消息中间件吞吐量的方法及系统 |
CN106412861A (zh) * | 2016-09-28 | 2017-02-15 | 海南港澳资讯产业股份有限公司 | 一种短信分发方法及系统 |
CN106851594A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 一种广播发送方法、装置及终端 |
CN108415664A (zh) * | 2017-02-09 | 2018-08-17 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN108810645A (zh) * | 2018-06-28 | 2018-11-13 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备及存储介质 |
CN110515749A (zh) * | 2019-08-30 | 2019-11-29 | 深圳乐信软件技术有限公司 | 信息发送的队列调度的方法、装置、服务器和存储介质 |
WO2020006865A1 (zh) * | 2018-07-03 | 2020-01-09 | 平安科技(深圳)有限公司 | 短信发送方法、装置、计算机设备和存储介质 |
CN110808922A (zh) * | 2019-10-29 | 2020-02-18 | 北京大米科技有限公司 | 一种消息处理方法、装置、存储介质及电子设备 |
CN111343590A (zh) * | 2019-12-31 | 2020-06-26 | 苏州易卖东西信息技术有限公司 | 一种具有高并发和高稳定性的短信发送系统 |
CN111737023A (zh) * | 2020-05-14 | 2020-10-02 | 重庆长安汽车股份有限公司 | 一种车载事件处理方法、云服务器及计算机可读存储介质 |
CN113177883A (zh) * | 2021-05-18 | 2021-07-27 | 深圳市数存科技有限公司 | 一种基于数据队列的排列传输系统 |
CN113783917A (zh) * | 2020-11-17 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 高并发流量下抢购请求的处理方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174986A (zh) * | 2007-11-07 | 2008-05-07 | 中兴通讯股份有限公司 | 动态反馈负载分发方法和装置 |
CN101741912A (zh) * | 2009-12-30 | 2010-06-16 | 中兴通讯股份有限公司 | 一种处理计算任务的方法、网络设备及分布式网络系统 |
-
2011
- 2011-04-28 CN CN201110110167.XA patent/CN102761832B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101174986A (zh) * | 2007-11-07 | 2008-05-07 | 中兴通讯股份有限公司 | 动态反馈负载分发方法和装置 |
CN101741912A (zh) * | 2009-12-30 | 2010-06-16 | 中兴通讯股份有限公司 | 一种处理计算任务的方法、网络设备及分布式网络系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049372A (zh) * | 2015-06-18 | 2015-11-11 | 福建富士通信息软件有限公司 | 一种扩展消息中间件吞吐量的方法及系统 |
CN106412861A (zh) * | 2016-09-28 | 2017-02-15 | 海南港澳资讯产业股份有限公司 | 一种短信分发方法及系统 |
CN106412861B (zh) * | 2016-09-28 | 2017-11-28 | 海南港澳资讯产业股份有限公司 | 一种短信分发方法及系统 |
CN108415664A (zh) * | 2017-02-09 | 2018-08-17 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN106851594A (zh) * | 2017-03-10 | 2017-06-13 | 广东欧珀移动通信有限公司 | 一种广播发送方法、装置及终端 |
CN108810645B (zh) * | 2018-06-28 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备及存储介质 |
CN108810645A (zh) * | 2018-06-28 | 2018-11-13 | 武汉斗鱼网络科技有限公司 | 弹幕消息分发方法、装置、设备及存储介质 |
WO2020006865A1 (zh) * | 2018-07-03 | 2020-01-09 | 平安科技(深圳)有限公司 | 短信发送方法、装置、计算机设备和存储介质 |
CN110515749A (zh) * | 2019-08-30 | 2019-11-29 | 深圳乐信软件技术有限公司 | 信息发送的队列调度的方法、装置、服务器和存储介质 |
CN110515749B (zh) * | 2019-08-30 | 2022-06-24 | 深圳乐信软件技术有限公司 | 信息发送的队列调度的方法、装置、服务器和存储介质 |
CN110808922A (zh) * | 2019-10-29 | 2020-02-18 | 北京大米科技有限公司 | 一种消息处理方法、装置、存储介质及电子设备 |
CN111343590A (zh) * | 2019-12-31 | 2020-06-26 | 苏州易卖东西信息技术有限公司 | 一种具有高并发和高稳定性的短信发送系统 |
CN111737023A (zh) * | 2020-05-14 | 2020-10-02 | 重庆长安汽车股份有限公司 | 一种车载事件处理方法、云服务器及计算机可读存储介质 |
CN111737023B (zh) * | 2020-05-14 | 2024-04-30 | 重庆长安汽车股份有限公司 | 一种车载事件处理方法、云服务器及计算机可读存储介质 |
CN113783917A (zh) * | 2020-11-17 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 高并发流量下抢购请求的处理方法、装置、设备及介质 |
CN113177883A (zh) * | 2021-05-18 | 2021-07-27 | 深圳市数存科技有限公司 | 一种基于数据队列的排列传输系统 |
CN113177883B (zh) * | 2021-05-18 | 2024-06-07 | 深圳市数存科技有限公司 | 一种基于数据队列的排列传输系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102761832B (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102761832B (zh) | 一种消息分发方法以及消息分发装置 | |
CN112165691B (zh) | 内容分发网络调度方法、装置、服务器和介质 | |
CN109032801B (zh) | 一种请求调度方法、系统及电子设备和存储介质 | |
CN111400022A (zh) | 一种资源调度方法、装置及电子设备 | |
CN109451072A (zh) | 一种基于Kafka的消息缓存系统和方法 | |
CN102301664B (zh) | 多核处理器的流分发方法及装置 | |
CN105900064A (zh) | 调度数据流任务的方法和装置 | |
CN109788315A (zh) | 视频转码方法、装置及系统 | |
CN111694646A (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN102955717A (zh) | 在分布式消息处理系统中的消息管理设备和方法 | |
CN113157409A (zh) | 基于ai的rpa任务调度方法、装置、电子设备及存储介质 | |
CN106982245B (zh) | 监管控制和数据采集系统中的客户端和服务器 | |
CN101984414B (zh) | Cpu资源的调度方法及装置 | |
CN111083058B (zh) | 内容分发网络服务限流方法及电子设备 | |
CN102981911A (zh) | 一种分布式消息处理系统及其中的设备和方法 | |
CN103235835A (zh) | 用于数据库集群的查询实现方法和装置 | |
CN102143563A (zh) | 一种短信中心集群的控制方法、设备及系统 | |
CN103199968A (zh) | 一种消息的发送方法和系统 | |
CN109597687B (zh) | 数据同步的资源分配方法、装置、存储介质和电子设备 | |
CN113285886B (zh) | 一种带宽分配的方法、装置、电子设备及可读存储介质 | |
US11206673B2 (en) | Priority control method and data processing system | |
CN111600790B (zh) | 基于区块链的消息处理方法、装置、设备和存储介质 | |
CN102789394A (zh) | 一种并行处理消息的方法、装置、节点及服务器集群 | |
CN109657005A (zh) | 一种分布式集群系统的数据缓存方法、装置及设备 | |
CN109840141A (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 |