【技术实现步骤摘要】
消息队列处理方法及装置
本专利技术涉及计算机
,具体而言,涉及一种消息队列处理方法及装置。
技术介绍
消息队列(MessageQueue,MQ)技术是一种应用于分布式应用间交换信息的技术。消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合的方法。消息队列的应用程序接口(ApplicationProgramInterface,API)被提供给新的或现存的应用中。通过消息的发送来提供各应用程序之间的信息交换功能。此外,消息队列还可以被应用于执行其他多种功能,如要求服务或异步处理等。服务器在处理消息队列时,通常为其开启一长运行处理作业来进行处理,当检测到消息队列中出现待处理消息时,对该消息进行处理。当同时有大量消息进入消息队列中时,可以通过该长运行处理作业对消息队列中的消息逐一地进行处理。但这样的处理方法会造成消息的堆积,降低处理效率。或者,也可以启动一个或多个临时运行处理作业程序,并行地处理消息队列中的消息。但临时运行处理作业本身也会占用CPU资源且消耗内存,当同时开启较多地临时运行处理作业时反而会进一步降低效率,影响长运行处理作业的效率。
技术实现思路
有 ...
【技术保护点】
一种消息队列处理方法,其特征在于,包括:启动监控处理作业,检测消息队列的消息队列深度、所述消息队列的当前所有运行处理作业的状态与数目及当前CPU的利用率;以及根据所述消息队列深度、所述当前所有运行处理作业的状态与数目及所述当前CPU的利用率,确定是否启动一新的临时运行处理作业。
【技术特征摘要】
1.一种消息队列处理方法,其特征在于,包括:启动监控处理作业,检测消息队列的消息队列深度、所述消息队列的当前所有运行处理作业的状态与数目及当前CPU的利用率;以及根据所述消息队列深度、所述当前所有运行处理作业的状态与数目及所述当前CPU的利用率,确定是否启动一新的临时运行处理作业。2.根据权利要求1所述的消息队列处理方法,其特征在于,根据所述消息队列深度、所述当前所有运行处理作业的状态与数目及所述当前CPU的利用率,确定是否启动所述新的临时运行处理作业包括:判断所述消息队列深度是否超过一预设的新作业启动阈值;如果所述消息队列深度超过所述新作业启动阈值,则判断所述当前所有运行处理作业的数目是否超过一预设的作业总数阈值;如果所述当前所有运行处理作业的数目未超过所述作业总数阈值,则判断所述当前CPU利用率是否超过一预设的CPU利用率阈值;如果所述当前CPU利用率未超过所述CPU利用率阈值,则启动所述新的临时运行处理作业。3.根据权利要求2所述的消息队列处理方法,其特征在于,在启动所述新的临时运行处理作业之后,还包括:判断所述消息队列中是否还有消息待处理;如果所述消息队列中没有消息待处理,则暂停所述监控处理作业,启动休眠计时器,进入休眠状态。4.根据权利要求2所述的消息队列处理方法,其特征在于,还包括:判断所述消息队列深度是否超过一预设的警戒深度阈值;如果所述消息队列深度超过所述警戒深度阈值,则给所述消息队列发送警告信息。5.根据权利要求2所述的消息队列处理方法,其特征在于,还包括:判断所述当前所有运行处理作业的状态是否均处于锁状态或消息等待状态;如果所述当前所有运行处理作业的状态均处于锁状态或消息等待状态,则给所述消息队列发送警告信息。6.根据权利要求1或2所述的消息队列处理方法,其特征在于,还包括:通过预设标志的设置来判断启动所述监控处理作业还是启动长运行处理作业。7.一种消息队列处理装置,其特征在于,包括:消息队列检测模块,用于检测消息队列的消息队列深度、所述消息队列的当前所有运行处理作业的状态与数目及当前CPU的利用率;以及临时作业启动确定模块,用于根据所述消息队列检测模块检测到的所述消息队列深度、所述当前所有运行处理作业的状态与数目及当前CPU的利用率...
【专利技术属性】
技术研发人员:刘世强,汤晋军,张霄栋,鲁丽,
申请(专利权)人:泰康保险集团股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。