CN101996099A - 一种消息处理方法及系统 - Google Patents
一种消息处理方法及系统 Download PDFInfo
- Publication number
- CN101996099A CN101996099A CN2010105490808A CN201010549080A CN101996099A CN 101996099 A CN101996099 A CN 101996099A CN 2010105490808 A CN2010105490808 A CN 2010105490808A CN 201010549080 A CN201010549080 A CN 201010549080A CN 101996099 A CN101996099 A CN 101996099A
- Authority
- CN
- China
- Prior art keywords
- message
- priority
- queue
- user
- processing threads
- 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
Links
Images
Abstract
本发明公开了一种消息处理方法及系统。所述方法包括:接收待处理的消息;根据消息中携带的用户优先级信息,为消息设置队列优先级;其中,为消息设置的队列优先级的初始值等于该消息的用户优先级的值;按照所设置的队列优先级,将消息添加到消息队列中;为消息队列中的消息分配处理线程,并根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级。相应的本发明还公开了一种消息处理系统。利用本发明的技术方案,可达到严格按照消息的用户优先级处理消息的效果。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种消息处理方法。
背景技术
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件运行于客户机或服务器的操作系统上,管理计算机资源和网络通讯,连接两个或两个以上独立运行的应用程序或独立的系统。被连接的系统或应用程序通过中间件交换信息,协同工作。消息中间件是中间件的一种,它通过支持应用之间的消息队列、格式化信息和文件的传输来实现应用之间的连接。消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。
对于消息中间件,需要按照消息的优先级来处理得到的消息,以保证紧急的消息优先处理。一般的,消息中间件可以支持消息队列,并且以多线程的方式对队列中的消息进行处理,也就是说,消息中间件可以一次性提取队列中的多个消息,由多个处理线程分别对所提取的多个消息进行处理。
中间件根据消息的优先级提取消息,保证了优先级高的消息先被提取,但是,在多线程处理中,由于处理线程本身的运行是由操作系统调度的,具有不确定性,如果具有低优先级消息的处理线程比具有高优先级消息的处理线程先运行,将导致具有高优先级紧急消息无法及时处理。
发明内容
为解决上述技术问题,本发明实施例提供一种消息处理方法,以实现严格按照消息的用户优先级处理消息,技术方案如下:
一种消息处理方法,包括:
接收待处理的消息;
根据消息中携带的用户优先级信息,为消息设置队列优先级;其中,为消息设置的队列优先级的初始值等于该消息的用户优先级的值;
按照所设置的队列优先级,将消息添加到消息队列中;
为消息队列中的消息分配处理线程,并根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级。
其中,所述根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级,具体为:
根据预先建立的操作系统调度优先级与消息用户优先级的映射关系为相应的处理线程设置对应的操作系统调度优先级。
其中,在将消息添加到消息队列之后,还包括:
根据消息的接收时刻,对具有相同队列优先级的多个消息的队列位置进行排序;其中,将接收时刻较早的消息排在接收时刻较晚的消息之前。
其中,还包括:
为消息队列中等待时间超过预设阈值的消息提升队列优先级;
对提升队列优先级的消息的等待时间进行初始化;
根据提升后的队列优先级调整该消息的队列位置。
其中,所述为消息队列中等待时间超过预设阈值的消息提升队列优先级,包括:
为消息队列中等待时间超过预设阈值、且队列优先级不高于预设上限的消息提升队列优先级。
相应的,本发明还提供一种与方法相对应的消息处理系统,该系统包括:
接收单元,用于接收待处理的消息;
队列优先级设置单元,用于根据接收单元接收的消息中携带的用户优先级信息,为消息设置队列优先级;其中,为消息设置的队列优先级的初始值等于该消息的用户优先级的值;
第一排队单元,用于按照所述队列优先级设置单元设置的队列优先级,将消息添加到消息队列中;
消息分配单元,用于为消息队列中的消息分配处理线程,并根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级。
其中,所述消息分配单元,用于为消息队列中的消息分配处理线程,并根据预先建立的操作系统调度优先级与消息用户优先级的映射关系为相应的处理线程设置对应的操作系统调度优先级。
其中,还包括:
第二排队单元,用于根据消息的接收时刻,对具有相同队列优先级的多个消息的队列位置进行排序,其中,将接收时刻较早的消息排在接收时刻较晚的消息之前。
其中,还包括:
队列优先级提升单元,用于为消息队列中等待时间超过预设阈值的消息提升队列优先级;
等待时间初始化单元,用于对提升队列优先级的该消息的等待时间进行初始化。
其中,所述队列优先级提升单元,用于为消息队列中等待时间超过预设阈值、且队列优先级不高于预设上限的消息提升队列优先级。
由以上本发明实施例提供的技术方案可见,与现有技术相比,在多线程处理中,为消息设置用户优先级和队列优先级的同时,根据消息的用户优先级为处理线程设置对应的操作系统调度优先级。由于操作系统具有按调度优先级调度处理线程的能力,所以操作系统调用处理线程不再是不确定的,调度优先级高的处理线程优先接受操作系统的调用。这样使得分配到用户优先级较高的消息的处理线程优先运行,以此实现严格按照消息的用户优先级处理消息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的消息处理方法的流程图;
图2为本发明实施例所提供的消息处理方法的第二种流程图;
图3为本发明实施例所提供的消息处理方法的第三种流程图;
图4为本发明实施例所提供的消息处理系统的结构示意图;
图5为本发明实施例所提供的消息处理系统的第二种结构示意图;
图6为本发明实施例所提供的消息处理系统的第三种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明提供了一种消息处理方法,该方法包括:
S101:接收待处理的消息;
用户根据需要为每个需要处理的消息设置用户优先级,以此区分紧急消息与非紧急消息。消息中间件接收用户提交的每个待处理的消息。
S102:根据消息中携带的用户优先级信息,为消息设置队列优先级;其中,为消息设置的队列优先级的初始值等于该消息的用户优先级的值;
为了将待处理的消息按照优先级顺序添加到预先设置好的消息队列中,所以根据待处理的消息所携带的用户优先级为消息设置队列优先级。所述消息队列为带优先级的队列。这些待处理的消息队列优先级的初始值设置为该消息的用户优先级。同时,记录每个待处理消息进入消息中间件的进入时间。
S103:按照所设置的队列优先级,将消息添加到消息队列中;
根据待处理的消息的队列优先级将消息添加到消息队列中。按照队列优先级从高到低的顺序将待处理的消息从消息队列头排列到消息队列尾,也就是队列优先级高的消息添加到消息队列头部,队列优先级低的消息排列到消息队列尾部。
其中,在多个待处理的消息具有相同队列优先级的情况下,可以随机排列这些消息之间的顺序。
在本发明实施例的一种优选实施方式中,对于多个具有相同队列优先级的待处理的消息,根据消息进入消息中间件的时间进行排序,将进入时间较早的待处理的消息排列在进入时间较晚的待处理的消息之前,使得进入较早的待处理的消息优先于进入时间较晚的相同队列优先级的消息被提取。
S104:为消息队列中的消息分配处理线程,并根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级。
在多线程处理中,多个处理线程可以同时提取多个待处理的消息。所以为消息队列中的队列优先级较高的多个待处理的消息同时分配多个处理线程,也就是说,当为空闲的处理线程分配待处理的消息时,从消息队列头提取与空闲的处理线程个数相同的待处理的消息,以此实现将多个队列优先级较高的待处理消息分配给多个处理线程。并且处理线程按照所分配到的待处理的消息的用户优先级设置其自身的操作系统调度优先级,使具有较高用户优先级的消息的处理线程具有较高的调度优先级。操作系统具有识别调度优先级的能力,所以操作系统对处理线程的调度不再是不确定的,而是根据处理线程的所设置的操作系统调度优先级来进行调度,为处理线程分配CPU资源,这样可使用户优先级较高消息的处理线程先于用户优先级较低消息的处理线程运行,保证紧急消息的优先处理,达到了严格按照消息的用户优先级来处理消息的效果。
本发明的方法实施例中,在多线程处理中,为消息设置用户优先级和队列优先级的同时,根据消息的用户优先级为处理线程设置对应的操作系统调度优先级。由于操作系统具有按调度优先级调度处理线程的能力,所以操作系统调用处理线程不再是不确定的。调度优先级高的处理线程优先接受操作系统的调用,这样使得分配到用户优先级较高的消息的处理线程优先运行,以此实现严格按照消息的用户优先级处理消息。
需要说明的是,常用的操作系统都具有按调度优先级调度进程或线程的能力,只是操作系统定义的调度优先级可能与消息的用户优先级是两套不同的优先级规则。所以优选地,消息中间件需要预先将操作系统所能识别的调度优先级与消息的用户优先级建立一定的映射关系,较高的调度优先级与较高的用户优先级相对应,较低的调度优先级与较低的用户优先级相对应,使处理线程能够根据消息的用户优先级设置为操作系统所能识别的调度优先级,保证操作系统能够识别处理线程的调度优先级。
进一步的,当有新的消息进入消息中间件时,整个消息队列的待处理的消息会按照队列优先级重新排列。当为处理线程分配待处理的消息时,队列优先级高的消息被提取。因为时刻有新的待处理的消息被添加到消息队列中,这些新添加的消息的队列优先级如果较高,则会被优先处理,而处于等待状态的队列优先级较低的消息只能继续等待。在实际应用中,在经过一段时间后,队列优先级较低的消息会变得紧急,需要及时被处理,所以为了兼顾这些队列优先级较低的消息,如图2所示,本发明实施例所提供的消息处理方法在步骤S103之后,还可以进一步包括:
S201:判断消息队列中待处理的消息的等待时间是否超过预设的时间阈值,如果否,则该消息继续等待,不对其做操作,如果是,则进入步骤S202;
消息中间件实时检测消息队列中的待处理的消息的等待时间,所述等待时间由消息对应的特定的计时器从消息进入中间件的时间开始记录。当消息中间件检测到消息队列中待处理消息中存在等待时间超过预设时间阈值时,则执行步骤S202;若检测的结果是不存在等待时间超过预设的时间阈值的待处理的消息时,则不对消息做任何操作。
S202:为该待处理的消息提升队列优先级;
当消息中间件检测到消息队列中存在等待时间超过预设的时间阈值的待处理消息时,则会提升该待处理的消息的队列优先级。
S203:对提升队列优先级的消息的等待时间进行初始化;
提升该待处理的消息的队列优先级后,需要将该消息的等待时间进行初始化,即将该消息的进入时间修改为提升队列优先级的时间,并将该消息对应的计时器的时间初始化为零。
S204:根据提升后的队列优先级调整该消息的队列位置。
按照队列优先级的顺序调整提升后的待处理的消息在消息队列中的位置。优选地,相同队列优先级的待处理消息进入时间早的排列在进入时间较晚的待处理消息之前。
本实施例所提供的方案,为等待时间较长的待处理消息提升队列优先级,防止了用户优先级较低的消息等待时间过长。此外,为了保证更高用户优先级的待处理的消息得到优先处理,仅为那些等待时间超过预设时间阈值并且队列优先级不高于预设上限的待处理的消息提升队列优先级,而对那些队列优先级已经超过预设上限的消息将不再提升其队列优先级。这样既保证了等待时间较长的用户优先级较低的待处理消息可以被及时提取,又为用户优先级较高的待处理的消息的处理留出资源。
为了使本技术领域的人员更好地理解本发明方案,下面结合具体实施例和附图对本发明作进一步的详细说明。
消息中间件将消息的用户优先级定义为0-9级,数值越大,优先级越高。用户根据需要将消息a、消息b、消息c、消息d的用户优先级依次定义为3级、4级、5级、6级,以此区分各个消息的紧急程度。
如图3所示,本发明所述方法包括:
S301:接收用户提交的待处理消息a、消息b、消息c、消息d;
消息中间件接收用户提交的待处理的消息a、消息b、消息c、消息d。
S302:根据各个消息中携带的用户优先级信息,为各个消息设置队列优先级,队列优先级的初始值为各个消息的用户优先级;
消息中间件根据消息a的用户优先级设置消息a的队列优先级为3,类似的,依次设置消息b的队列优先级为4,消息c的队列优先级为5,消息d的队列优先级为6。同时记录各个消息进入消息中间件的时间。
S303:按照所设置的队列优先级,将各个消息添加到消息队列中合适的位置;
假设消息队列中存在的待处理的消息为消息e、消息f、消息g,消息e的队列优先级和用户优先级都为5,消息f的队列优先级和用户优先级都为7、消息g的队列优先级和用户优先级都为8。在消息a、消息b、消息c、消息d添加到消息队列时,对于相同队列优先级的消息则将进入时间较早的待处理的消息排列在进入时间较晚的待处理的消息之前,所以按照各个消息的队列优先级将所有消息进行排序,排序结果如下:
消息 队列优先级 用户优先级
g 8 8
f 7 7
d 6 6
e 5 5
c 5 5
b 4 4
a 3 3
其中,对于消息e和消息c具有相同的队列优先级,但消息e进入消息中间件的时间早于消息c,所以,优选地,将消息e排列在消息c之前。
S304:为消息队列中的各个待处理消息分配处理线程,并根据预先建立的操作系统调度优先级与消息用户优先级的映射关系为处理线程设置相对应的操作系统调度优先级。
假设操作系统存在三个空闲的处理线程可提供给消息中间件,这三个处理线程为处理线程1、处理线程2、处理线程3。消息中间件为这三个处理线程分配消息队列中的队列优先级较高的三个待处理的消息,分配结果如下:
处理线程 消息 用户优先级
1 g 8
2 f 7
3 d 6
当然各个处理线程所分配到的待处理的消息并不一定为上述所示,只要保证一个空闲处理线程分配到一个待处理的消息即可。
本实施例中,所述的操作系统为Windows操作系统,它的任务调度以线程为单位进行,线程拥有33个调度优先级,数值为0-32,其中0为最低调度优先级,32为最高调度优先级,最低调度优先级和最高调度优先级均保留给系统使用。其余的调度优先级可供用户使用。由于操作系统的调度优先级与消息的用户优先级是不同的优先级规则,所以消息中间件预先将操作系统调度优先级与消息的用户优先级建立映射关系,如下:
[0,1]、[1,4]、[2,7]、[3,10]、[4,13]、[5,16]、[6,19]、[7,22]、[8,25]、[9,28]。
其中,[x,y]中的x表示消息的用户优先级,y表示操作系统的调度优先级。处理线程根据消息的用户优先级可设置为操作系统可识别的调度优先级。这样,操作系统就可以识别出处理线程的调度优先级,并按照调度优先级来调度处理线程。
由上可知,处理线程1、处理线程2、处理线程3的调度优先级依次为25、22、19。所以,三个处理线程的分配结果以及调度优先级,表示如下:
处理线程 消息 用户优先级 调度优先级
1 g 8 25
2 f 7 22
3 d 6 19
本实施例中,操作系统按照处理线程的设置的调度优先级依次调用并运行处理线程1、处理线程2、处理线程3,这样保证了具有较高用户优先级的待处理消息g先于具有较低用户优先级的待处理的消息f和消息d运行。
当然,上述操作系统的调度优先级与消息的用户优先级的映射关系仅仅是一种方式,只要保证较高的用户优先级与较高的调度优先级相映射,还可以根据消息用户优先级的实际情况,建立其他的映射关系。例如,当用户优先级定义为0-30时,0级表示用户优先级最低,30级表示用户优先级最高。此时,建立操作系统的调度优先级与消息用户优先级的映射关系时,可以进行如下映射:
[0,1]、[1,2]、[2,3]、[3,4]、[4,5]、[6,7]......[29,30]、[30,31]。
其中,[x,y]中的x表示消息的用户优先级,y表示操作系统的调度优先级。
本发明所述的实施例中,操作系统的调度优先级与消息的用户优先级是两套不同的优先级规则,所以,需要将调度优先级与消息的用户优先级建立一定的映射关系。可以理解的是,当操作系统调度优先级与消息的用户优先级是同一套优先级规则时,则不需要建立映射关系,操作系统便可以识别处理线程的调度优先级。
可以理解的是,当处理线程运行完毕,处于空闲状态时,消息中间件可以继续提取消息队列中的待处理消息,然后将所提取的待处理的消息分配给处于空闲状态的处理线程。
消息中间件会实时检测所有待处理消息的等待时间,当等待时间超过预设的时间阈值时,则会提升超过时间阈值的待处理的消息的队列优先级。当检测到待处理的消息e的等待时间超过预设的时间阈值时,即消息e已经在消息队列中等待很久,仍然处于等待状态,未被执行,则消息中间件会为消息e提升队列优先级,将其队列优先级提升至6,改变其在消息队列中的位置,使消息e尽快分配给处理线程。并且,将消息e的进入时间修改为提升队列优先级的时间,将消息e对应的计时器初始化为零。由此可见,为等待时间过久的消息提升队列优先级,可以提高等待时间过久的用户优先级较低消息被及时提取的几率,避免用户优先级较低的待处理的消息无限制的等待。
当然,本实施例中将等待时间过久的待处理消息的队列优先级提升一级,并不代表当提升队列优先级时,只能够提升一级,可根据实际情况,为需要提升队列优先级的消息提升二级,甚至多级。
需要说明的是,为了优先处理那些用户优先级较高的消息,所以当为等待时间过久的用户优先级较低的消息提升队列优先值时有一个上限值,当待处理的消息的队列优先级达到上限值时,不再为其提升队列优先级。在本实施例中定义的优先级为0-9级,所以上限值可以设置为7级,即等待时间过久的用户优先级较低的消息的队列优先级最高提升至7级,当达到7级时,不再为其提升队列优先级。这样既兼顾了等待时间久的用户优先级较低的待处理的消息,又保证了用户优先级较高的消息得到及时处理。
相应于上面的方法实施例,本发明还提供一种消息处理系统,如图4所示,所述消息处理系统包括:
接收单元01,用于接收待处理的消息;
队列优先级设置单元02,用于根据接收单元01接收的消息中携带的用户优先级信息,为消息设置队列优先级;其中,所述队列优先级的初始值为用户优先级的值;
第一排队单元03,用于按照队列优先级设置单元02设置的队列优先级,将消息添加到消息队列中;
消息分配单元04,用于为消息队列中的消息分配处理线程,并根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级。
操作系统中的任务调度程序则会按照消息分配单元04中定义的处理线程的调度优先级来运行各个处理线程。
对于操作系统的调度优先级与消息的用户优先级为两套不同的优先级规则时,所述消息分配单元04,用于为消息队列中的消息分配处理线程,并根据预先建立的操作系统调度优先级与消息用户优先级建立的映射关系为处理线程设置对应的操作系统调度优先级。
对于处理具有相同队列优先级的消息的排序,如图5所示,本系统还包括:
第二排队单元05,用于根据消息的接收时刻,对具有相同队列优先级的多个消息的队列位置进行排序,其中,将接收时刻较早的消息排在接收时刻较晚的消息之前。
为了兼顾那些等待时间很久,用户优先级较低的待处理消息,如图6所示,本系统还包括:
队列优先级提升单元06,用于为消息队列中等待时间超过预设阈值的消息提升队列优先级;
等待时间初始化单元07,用于对提升队列优先级的该消息的等待时间进行初始化。
为了既保证用户优先级较高的待处理的消息得到及时处理,同时又兼顾等待时间很久的用户优先级较低的待处理的消息,这样队列优先级提升单元06则用于为消息队列中等待时间超过预设阈值、且队列优先级不高于预设上限的待处理消息提升队列优先级。
为了描述的方便,描述以上系统时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种消息处理方法,其特征在于,包括:
接收待处理的消息;
根据消息中携带的用户优先级信息,为消息设置队列优先级;其中,为消息设置的队列优先级的初始值等于该消息的用户优先级的值;
按照所设置的队列优先级,将消息添加到消息队列中;
为消息队列中的消息分配处理线程,并根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级。
2.根据权利要求1所述的方法,其特征在于,所述根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级,具体为:
根据预先建立的操作系统调度优先级与消息用户优先级的映射关系为相应的处理线程设置对应的操作系统调度优先级。
3.根据权利要求1所述的方法,其特征在于,在将消息添加到消息队列之后,还包括:
根据消息的接收时刻,对具有相同队列优先级的多个消息的队列位置进行排序;其中,将接收时刻较早的消息排在接收时刻较晚的消息之前。
4.根据权利要求1所述的方法,其特征在于,还包括:
为消息队列中等待时间超过预设阈值的消息提升队列优先级;
对提升队列优先级的消息的等待时间进行初始化;
根据提升后的队列优先级调整该消息的队列位置。
5.根据权利要求4所述的方法,其特征在于,
所述为消息队列中等待时间超过预设阈值的消息提升队列优先级,包括:
为消息队列中等待时间超过预设阈值、且队列优先级不高于预设上限的消息提升队列优先级。
6.一种消息处理系统,其特征在于,包括:
接收单元,用于接收待处理的消息;
队列优先级设置单元,用于根据接收单元接收的消息中携带的用户优先级信息,为消息设置队列优先级;其中,为消息设置的队列优先级的初始值等于该消息的用户优先级的值;
第一排队单元,用于按照所述队列优先级设置单元设置的队列优先级,将消息添加到消息队列中;
消息分配单元,用于为消息队列中的消息分配处理线程,并根据消息的用户优先级为相应的处理线程设置对应的操作系统调度优先级。
7.根据权利要求6所述的方法,其特征在于,
所述消息分配单元,用于为消息队列中的消息分配处理线程,并根据预先建立的操作系统调度优先级与消息用户优先级的映射关系为相应的处理线程设置对应的操作系统调度优先级。
8.根据权利要求6所述的系统,其特征在于,还包括:
第二排队单元,用于根据消息的接收时刻,对具有相同队列优先级的多个消息的队列位置进行排序,其中,将接收时刻较早的消息排在接收时刻较晚的消息之前。
9.根据权利要求6所述的系统,其特征在于,还包括:
队列优先级提升单元,用于为消息队列中等待时间超过预设阈值的消息提升队列优先级;
等待时间初始化单元,用于对提升队列优先级的该消息的等待时间进行初始化。
10.根据权利要求9所述的系统,其特征在于,
所述队列优先级提升单元,用于为消息队列中等待时间超过预设阈值、且队列优先级不高于预设上限的消息提升队列优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105490808A CN101996099A (zh) | 2010-11-17 | 2010-11-17 | 一种消息处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105490808A CN101996099A (zh) | 2010-11-17 | 2010-11-17 | 一种消息处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101996099A true CN101996099A (zh) | 2011-03-30 |
Family
ID=43786282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105490808A Pending CN101996099A (zh) | 2010-11-17 | 2010-11-17 | 一种消息处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101996099A (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591658A (zh) * | 2011-12-28 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种消息处理方法及装置 |
CN102833275A (zh) * | 2011-06-14 | 2012-12-19 | 中兴通讯股份有限公司 | 一种文件传输控制方法及装置 |
CN103139732A (zh) * | 2011-11-24 | 2013-06-05 | 方正国际软件有限公司 | 一种改进的短信发送方法及系统 |
CN103136056A (zh) * | 2013-03-04 | 2013-06-05 | 浪潮电子信息产业股份有限公司 | 一种云计算平台调度方法 |
WO2013097663A1 (zh) * | 2011-12-28 | 2013-07-04 | 北京奇虎科技有限公司 | 消息处理方法及装置 |
CN103336684A (zh) * | 2013-07-18 | 2013-10-02 | 上海寰创通信科技股份有限公司 | 一种并发处理ap消息的ac及其处理方法 |
CN103902370A (zh) * | 2014-03-14 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种消息队列的设计与实现方法 |
CN104216770A (zh) * | 2011-12-28 | 2014-12-17 | 北京奇虎科技有限公司 | 一种浏览器消息处理方法及装置 |
CN104951287A (zh) * | 2014-03-26 | 2015-09-30 | 可牛网络技术(北京)有限公司 | 一种生成网页的方法及装置 |
CN105282615A (zh) * | 2014-06-13 | 2016-01-27 | 纳格拉星有限责任公司 | 用于控制消息的处理方法及实行所述方法的安全模块 |
CN105824698A (zh) * | 2016-03-31 | 2016-08-03 | 乐视控股(北京)有限公司 | 一种任务优先级修正方法和装置 |
CN105898404A (zh) * | 2015-12-14 | 2016-08-24 | 乐视云计算有限公司 | 转码系统的优先级控制方法和装置 |
CN107391283A (zh) * | 2017-08-16 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种消息处理方法及装置 |
CN107483424A (zh) * | 2017-08-07 | 2017-12-15 | 北京金山安全管理系统技术有限公司 | 远程过程调用协议的处理方法和装置 |
CN108710466A (zh) * | 2012-06-26 | 2018-10-26 | 谷歌有限责任公司 | 通知的优先级化管理和呈现 |
CN109472577A (zh) * | 2018-09-26 | 2019-03-15 | 中国平安人寿保险股份有限公司 | 账户入账方法、装置、计算机设备和存储介质 |
CN109743186A (zh) * | 2018-07-06 | 2019-05-10 | 比亚迪股份有限公司 | 基于消息队列的设备管理系统及方法 |
CN109766200A (zh) * | 2018-12-31 | 2019-05-17 | 北京明朝万达科技股份有限公司 | 一种消息队列处理方法、装置、设备及存储介质 |
CN110008041A (zh) * | 2019-03-27 | 2019-07-12 | 北京奇艺世纪科技有限公司 | 一种消息处理方法及装置 |
CN110262905A (zh) * | 2019-05-31 | 2019-09-20 | 四川长虹电器股份有限公司 | 基于高性能可伸缩的优先级队列的消息中间件的推送方法 |
CN110648052A (zh) * | 2019-09-02 | 2020-01-03 | 浙江大搜车软件技术有限公司 | 风控决策方法、装置、计算机设备和存储介质 |
CN111192063A (zh) * | 2019-12-31 | 2020-05-22 | 中国银行股份有限公司 | 一种在线客服排队处理方法、装置及电子设备 |
CN111651272A (zh) * | 2020-05-28 | 2020-09-11 | 苏州大学 | 一种嵌入式实时操作的线程时间管理方法及装置 |
CN111813536A (zh) * | 2019-04-11 | 2020-10-23 | 华为技术有限公司 | 任务处理方法、装置、终端以及计算机可读存储介质 |
CN112735115A (zh) * | 2020-12-28 | 2021-04-30 | 新天科技股份有限公司 | 多线程业务处理方法、装置、服务器及存储介质 |
TWI775721B (zh) * | 2013-10-10 | 2022-09-01 | 美商納格拉星有限責任公司 | 用以控制訊息之處理方法及實施該方法之安全模組 |
CN115643538A (zh) * | 2022-10-27 | 2023-01-24 | 青岛意想意创技术发展有限公司 | 基于优先级信息的消息调度方法和装置 |
CN116737673A (zh) * | 2022-09-13 | 2023-09-12 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101433019A (zh) * | 2006-04-27 | 2009-05-13 | 卢森特技术有限公司 | 用于sip消息优先化的方法和设备 |
CN101599987A (zh) * | 2008-06-05 | 2009-12-09 | 中兴通讯股份有限公司 | 消息队列管理方法和装置 |
-
2010
- 2010-11-17 CN CN2010105490808A patent/CN101996099A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101433019A (zh) * | 2006-04-27 | 2009-05-13 | 卢森特技术有限公司 | 用于sip消息优先化的方法和设备 |
CN101599987A (zh) * | 2008-06-05 | 2009-12-09 | 中兴通讯股份有限公司 | 消息队列管理方法和装置 |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833275A (zh) * | 2011-06-14 | 2012-12-19 | 中兴通讯股份有限公司 | 一种文件传输控制方法及装置 |
CN103139732A (zh) * | 2011-11-24 | 2013-06-05 | 方正国际软件有限公司 | 一种改进的短信发送方法及系统 |
CN104216770A (zh) * | 2011-12-28 | 2014-12-17 | 北京奇虎科技有限公司 | 一种浏览器消息处理方法及装置 |
CN102591658A (zh) * | 2011-12-28 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种消息处理方法及装置 |
WO2013097663A1 (zh) * | 2011-12-28 | 2013-07-04 | 北京奇虎科技有限公司 | 消息处理方法及装置 |
CN102591658B (zh) * | 2011-12-28 | 2016-07-06 | 北京奇虎科技有限公司 | 一种消息处理方法及装置 |
CN108710466A (zh) * | 2012-06-26 | 2018-10-26 | 谷歌有限责任公司 | 通知的优先级化管理和呈现 |
CN108710466B (zh) * | 2012-06-26 | 2021-05-25 | 谷歌有限责任公司 | 通知的优先级化管理和呈现 |
CN103136056B (zh) * | 2013-03-04 | 2017-10-27 | 浪潮电子信息产业股份有限公司 | 一种云计算平台调度方法 |
CN103136056A (zh) * | 2013-03-04 | 2013-06-05 | 浪潮电子信息产业股份有限公司 | 一种云计算平台调度方法 |
CN103336684A (zh) * | 2013-07-18 | 2013-10-02 | 上海寰创通信科技股份有限公司 | 一种并发处理ap消息的ac及其处理方法 |
CN103336684B (zh) * | 2013-07-18 | 2016-08-10 | 上海寰创通信科技股份有限公司 | 一种并发处理ap消息的ac及其处理方法 |
TWI775721B (zh) * | 2013-10-10 | 2022-09-01 | 美商納格拉星有限責任公司 | 用以控制訊息之處理方法及實施該方法之安全模組 |
USRE49394E1 (en) | 2013-10-10 | 2023-01-24 | Nagrastar L.L.C. | Processing method for control messages and security module to carry out said method |
CN103902370A (zh) * | 2014-03-14 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种消息队列的设计与实现方法 |
CN103902370B (zh) * | 2014-03-14 | 2017-12-29 | 浪潮电子信息产业股份有限公司 | 一种消息队列的设计与实现方法 |
CN104951287B (zh) * | 2014-03-26 | 2018-09-11 | 可牛网络技术(北京)有限公司 | 一种生成网页的方法及装置 |
CN104951287A (zh) * | 2014-03-26 | 2015-09-30 | 可牛网络技术(北京)有限公司 | 一种生成网页的方法及装置 |
CN105282615A (zh) * | 2014-06-13 | 2016-01-27 | 纳格拉星有限责任公司 | 用于控制消息的处理方法及实行所述方法的安全模块 |
CN105898404A (zh) * | 2015-12-14 | 2016-08-24 | 乐视云计算有限公司 | 转码系统的优先级控制方法和装置 |
CN105824698A (zh) * | 2016-03-31 | 2016-08-03 | 乐视控股(北京)有限公司 | 一种任务优先级修正方法和装置 |
WO2017166630A1 (zh) * | 2016-03-31 | 2017-10-05 | 乐视控股(北京)有限公司 | 一种任务优先级修正方法和装置 |
CN107483424A (zh) * | 2017-08-07 | 2017-12-15 | 北京金山安全管理系统技术有限公司 | 远程过程调用协议的处理方法和装置 |
CN107483424B (zh) * | 2017-08-07 | 2020-11-10 | 北京金山安全管理系统技术有限公司 | 远程过程调用协议的处理方法和装置 |
CN107391283A (zh) * | 2017-08-16 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种消息处理方法及装置 |
CN109743186A (zh) * | 2018-07-06 | 2019-05-10 | 比亚迪股份有限公司 | 基于消息队列的设备管理系统及方法 |
CN109472577A (zh) * | 2018-09-26 | 2019-03-15 | 中国平安人寿保险股份有限公司 | 账户入账方法、装置、计算机设备和存储介质 |
CN109766200A (zh) * | 2018-12-31 | 2019-05-17 | 北京明朝万达科技股份有限公司 | 一种消息队列处理方法、装置、设备及存储介质 |
CN110008041A (zh) * | 2019-03-27 | 2019-07-12 | 北京奇艺世纪科技有限公司 | 一种消息处理方法及装置 |
CN110008041B (zh) * | 2019-03-27 | 2021-03-19 | 北京奇艺世纪科技有限公司 | 一种消息处理方法及装置 |
CN111813536A (zh) * | 2019-04-11 | 2020-10-23 | 华为技术有限公司 | 任务处理方法、装置、终端以及计算机可读存储介质 |
CN110262905A (zh) * | 2019-05-31 | 2019-09-20 | 四川长虹电器股份有限公司 | 基于高性能可伸缩的优先级队列的消息中间件的推送方法 |
CN110648052A (zh) * | 2019-09-02 | 2020-01-03 | 浙江大搜车软件技术有限公司 | 风控决策方法、装置、计算机设备和存储介质 |
CN110648052B (zh) * | 2019-09-02 | 2022-07-01 | 浙江大搜车软件技术有限公司 | 风控决策方法、装置、计算机设备和存储介质 |
CN111192063A (zh) * | 2019-12-31 | 2020-05-22 | 中国银行股份有限公司 | 一种在线客服排队处理方法、装置及电子设备 |
CN111651272A (zh) * | 2020-05-28 | 2020-09-11 | 苏州大学 | 一种嵌入式实时操作的线程时间管理方法及装置 |
CN111651272B (zh) * | 2020-05-28 | 2023-02-03 | 苏州大学 | 一种嵌入式实时操作的线程时间管理方法及装置 |
CN112735115A (zh) * | 2020-12-28 | 2021-04-30 | 新天科技股份有限公司 | 多线程业务处理方法、装置、服务器及存储介质 |
CN116737673A (zh) * | 2022-09-13 | 2023-09-12 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
CN116737673B (zh) * | 2022-09-13 | 2024-03-15 | 荣耀终端有限公司 | 嵌入式操作系统中文件系统的调度方法、设备及存储介质 |
CN115643538A (zh) * | 2022-10-27 | 2023-01-24 | 青岛意想意创技术发展有限公司 | 基于优先级信息的消息调度方法和装置 |
CN115643538B (zh) * | 2022-10-27 | 2024-01-30 | 青岛意想意创技术发展有限公司 | 基于优先级信息的消息调度方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101996099A (zh) | 一种消息处理方法及系统 | |
CN108989588B (zh) | 呼叫分配方法、呼叫中心、电子设备和存储介质 | |
CN107291547B (zh) | 一种任务调度处理方法、装置及系统 | |
CN107800546B (zh) | 一种广播消息的管理方法及装置 | |
CN101473306A (zh) | 基于资源的调度器 | |
CN106802826A (zh) | 一种基于线程池的业务处理方法及装置 | |
WO2023071172A1 (zh) | 任务调度方法、装置、设备、存储介质、计算机程序及计算机程序产品 | |
EP0362105A2 (en) | Method for processing program threads of a distributed application program by a host computer and an intelligent work station in an SNA LU 6.2 network environment | |
CN101582786B (zh) | 一种及时消息及时处理的方法及装置 | |
EP0362107A2 (en) | Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network | |
US20130290974A1 (en) | Workflow control of reservations and regular jobs using a flexible job scheduler | |
EP0366581A2 (en) | Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network | |
CN1910553A (zh) | 基于存储器要求在多处理器系统中进行任务调度的方法和设备 | |
US8122449B2 (en) | Determining whether to retain or terminate a thread based on a minimum number of threads in a thread pool and a maximum number of threads allowed waiting on the channel | |
CN103139100A (zh) | 处理业务的方法和系统 | |
CN114579285B (zh) | 一种任务运行系统、方法及计算设备 | |
CN109766172A (zh) | 一种异步任务调度方法以及装置 | |
CN112162835A (zh) | 一种异构云环境下实时任务的调度优化方法 | |
CN110764887A (zh) | 任务重调度方法、系统及相关设备、装置 | |
CN108170464A (zh) | 一种版本升级方法、服务平台及电子设备 | |
CN112247987A (zh) | 一种机器人调度方法、装置、机器人和存储介质 | |
CN107885589B (zh) | 一种作业调度方法及装置 | |
CN110347490A (zh) | 一种kubernetes中的资源可伸缩组合调度方法 | |
CN116089033A (zh) | 一种基于多级异构动态队列的任务调度方法 | |
CN107402816B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110330 |