队列消息处理方法及终端设备技术

技术编号:17406502 阅读:40 留言:0更新日期:2018-03-07 04:31
本发明专利技术适用于数据处理技术领域,提供了队列消息处理方法及终端设备。该方法包括:设置运行队列和等待队列;获取运行队列中的未处理消息,根据运行队列中的未处理消息计算运行队列的当前负载度;根据运行队列的当前负载度判断运行队列中的未处理消息是否超过运行队列的当前限度;在运行队列中的未处理消息未超过运行队列的当前限度时,将等待入列的队列消息存储至运行队列中;在运行队列中未处理消息超过运行队列的当前限度时,将等待入列的队列消息存储至等待队列中。上述队列消息处理方法及终端设备,能够提高消息的实时性,淘汰时间较久的数据,提高消息传输的效率。

Queue message processing method and terminal equipment

The invention is applicable to the field of data processing technology, and provides a queue message processing method and terminal equipment. The method includes: setting the run queue and waiting queue; get unhandled messages in the run queue, according to the operation in the queue without processing the message queue to calculate the running current load; according to the run queue the current load of untreated current limits of news is more than the run queue of judgment in the run queue; untreated current limits of news no more than the run queue in the operation in the queue, the queue messages stored to the run queue will wait for arrivals; current limits of news not handled in the run queue over run queue, the queue will wait for the column into the message storage to the waiting queue. The queuing message processing method and terminal equipment can improve the real-time of the message, eliminate the longer time data and improve the efficiency of message transmission.

【技术实现步骤摘要】
队列消息处理方法及终端设备
本专利技术属于数据处理
,尤其涉及队列消息处理方法及终端设备。
技术介绍
消息队列用于在消息的传输过程中保存消息,传统的消息队列采用“先进先出”或“后进先出”的方式实现消息的入列和出列。而对于大量的消息需要传输处理时,传统的消息队列由于需要周期性等待查询队列的状态,因此导致效率较低,消息转发的实时性较差。
技术实现思路
有鉴于此,本专利技术实施例提供了队列消息处理方法及终端设备,以解决现有技术中由于需要周期性等待查询队列的状态导致效率较低、实时性较差的问题。本专利技术实施例的第一方面提供了一种队列消息处理方法,包括:设置运行队列和等待队列,所述运行队列基于分布式文档存储数据库的固定集合构建,所述等待队列基于分布式文档存储数据库的无界集合构建;获取运行队列中的未处理消息,根据所述运行队列中的未处理消息计算所述运行队列的当前负载度,所述运行队列基于分布式文档存储数据库的固定集合构建;根据所述运行队列的当前负载度判断所述运行队列中的未处理消息是否超过所述运行队列的当前限度;在所述运行队列中的未处理消息未超过所述运行队列的当前限度时,将等待入列的队列消息存储至所述运行队列中;其中,将等待入列的队列消息存储至所述运行队列中后,所述运行队列的当前负载度增加;在所述运行队列中未处理消息超过所述运行队列的当前限度时,将等待入列的队列消息存储至等待队列中;所述等待队列基于分布式文档存储数据库的无界集合构建。可选的,所述根据所述运行队列中的未处理消息计算运行队列的当前负载度为:根据预设负载和所述未处理消息占用的负载,计算所述运行队列的当前负载度。可选的,所述根据所述队列的当前负载度判断所述运行队列中的未处理消息是否超过所述运行队列的当前限度为:计算其中A为所述运行队列可容纳的消息容量,B为预设的平均消息大小,C为预设的负载度比例阀值在大于所述运行队列的当前负载度时,判定所述运行队列中的未处理消息超过所述运行队列的当前限度;在小于等于所述运行队列的当前负载度时,判定所述运行队列中的未处理消息未超过所述运行队列的当前限度。可选的,所述队列消息处理方法还包括:在所述运行队列中未处理消息未超过所述运行队列的当前限度且所述等待队列中存在队列消息时,将所述等待队列中的队列消息存储至所述运行队列中。可选的,所述队列消息处理方法还包括:监测所述队列消息在所述运行队列中的时间、所述队列消息的入队耗时信息、所述队列消息的出队耗时信息和所述队列消息的大小,并生成日志文件进行存储。本专利技术实施例的第二方面提供了一种队列消息处理终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:设置运行队列和等待队列,所述运行队列基于分布式文档存储数据库的固定集合构建,所述等待队列基于分布式文档存储数据库的无界集合构建;获取运行队列中的未处理消息,根据所述运行队列中的未处理消息计算所述运行队列的当前负载度,所述运行队列基于分布式文档存储数据库的固定集合构建;根据所述运行队列的当前负载度判断所述运行队列中的未处理消息是否超过所述运行队列的当前限度;在所述运行队列中的未处理消息未超过所述运行队列的当前限度时,将等待入列的队列消息存储至所述运行队列中;其中,将等待入列的队列消息存储至所述运行队列中后,所述运行队列的当前负载度增加;在所述运行队列中未处理消息超过所述运行队列的当前限度时,将等待入列的队列消息存储至等待队列中;所述等待队列基于分布式文档存储数据库的无界集合构建。可选的,所述根据所述运行队列中的未处理消息计算运行队列的当前负载度为:根据预设负载和所述未处理消息占用的负载,计算所述运行队列的当前负载度。可选的,所述根据所述队列的当前负载度判断所述运行队列中的未处理消息是否超过所述运行队列的当前限度为:计算其中A为所述运行队列可容纳的消息容量,B为预设的平均消息大小,C为预设的负载度比例阀值在大于所述运行队列的当前负载度时,判定所述运行队列中的未处理消息超过所述运行队列的当前限度;在小于等于所述运行队列的当前负载度时,判定所述运行队列中的未处理消息未超过所述运行队列的当前限度。可选的,所述处理器执行所述计算机程序时还实现如下步骤:在所述运行队列中未处理消息未超过所述运行队列的当前限度且所述等待队列中存在队列消息时,将所述等待队列中的队列消息存储至所述运行队列中。可选的,所述处理器执行所述计算机程序时还实现如下步骤:监测所述队列消息在所述运行队列中的时间、所述队列消息的入队耗时信息、所述队列消息的出队耗时信息和所述队列消息的大小,并生成日志文件进行存储。本专利技术实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述队列消息处理方法的步骤。本专利技术实施例与现有技术相比存在的有益效果是:本专利技术实施例,获取运行队列中的未处理消息,根据所述运行队列中的未处理消息计算所述运行队列的当前负载度,在所述运行队列中的未处理消息未超过所述运行队列的当前限度时,将等待入列的队列消息存储至所述运行队列中,在所述运行队列中未处理消息超过所述运行队列的当前限度时,将等待入列的队列消息存储至等待队列中,通过设置运行队列和等待队列引入“生产者-消费者”模型,当队列消息无法入列时,先暂存至等待队列,而运行队列基于分布式文档存储数据库的固定集合构建,能够实现高效的查询、更新,从而能够提高消息的实时性,淘汰时间最久的数据,提高消息传输的效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的队列消息处理方法的实现流程图;图2是本专利技术实施例提供的运行队列的结构示意图;图3是图1中步骤S103的实现流程图;图4是本专利技术实施例提供的队列消息处理程序的运行环境示意图;图5是本专利技术实施例提供的队列消息处理程序的功能模块图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一图1示出了本专利技术实施例一提供的队列消息处理方法的实现流程,详述如下:步骤S101,设置运行队列和等待队列,所述运行队列基于分布式文档存储数据库的固定集合构建,所述等待队列基于分布式文档存储数据库的无界集合构建。本实施例中,通过MONGODB(分布式文档存储数据库)的固定集合构建运行队列。如图2所示,所述运行队列为环形队列,当环形队列的空间用完后,再插入的队列消息就会覆盖最初始的队列消息。图2中,所述运行队列的第一个队列消息对应的数值为5,第二个队列消息对应的数值为-3,第三个队列消息对应的数值为17,第四个队列消息对应的数值为-9,第本文档来自技高网...
队列消息处理方法及终端设备

【技术保护点】
一种队列消息处理方法,其特征在于,包括:设置运行队列和等待队列,所述运行队列基于分布式文档存储数据库的固定集合构建,所述等待队列基于分布式文档存储数据库的无界集合构建;获取运行队列中的未处理消息,根据所述运行队列中的未处理消息计算所述运行队列的当前负载度;根据所述运行队列的当前负载度判断所述运行队列中的未处理消息是否超过所述运行队列的当前限度;在所述运行队列中的未处理消息未超过所述运行队列的当前限度时,将等待入列的队列消息存储至所述运行队列中;其中,将等待入列的队列消息存储至所述运行队列中后,所述运行队列的当前负载度增加;在所述运行队列中未处理消息超过所述运行队列的当前限度时,将等待入列的队列消息存储至等待队列中。

【技术特征摘要】
1.一种队列消息处理方法,其特征在于,包括:设置运行队列和等待队列,所述运行队列基于分布式文档存储数据库的固定集合构建,所述等待队列基于分布式文档存储数据库的无界集合构建;获取运行队列中的未处理消息,根据所述运行队列中的未处理消息计算所述运行队列的当前负载度;根据所述运行队列的当前负载度判断所述运行队列中的未处理消息是否超过所述运行队列的当前限度;在所述运行队列中的未处理消息未超过所述运行队列的当前限度时,将等待入列的队列消息存储至所述运行队列中;其中,将等待入列的队列消息存储至所述运行队列中后,所述运行队列的当前负载度增加;在所述运行队列中未处理消息超过所述运行队列的当前限度时,将等待入列的队列消息存储至等待队列中。2.如权利要求1所述的队列消息处理方法,其特征在于,所述根据所述运行队列中的未处理消息计算运行队列的当前负载度为:根据预设负载和所述未处理消息占用的负载,计算所述运行队列的当前负载度。3.如权利要求1所述的队列消息处理方法,其特征在于,所述根据所述队列的当前负载度判断所述运行队列中的未处理消息是否超过所述运行队列的当前限度为:计算所述运行队列的当前限度:其中A为所述运行队列可容纳的消息容量,B为预设的平均消息大小,C为预设的负载度比例阀值;在大于所述运行队列的当前负载度时,判定所述运行队列中的未处理消息超过所述运行队列的当前限度;在小于等于所述运行队列的当前负载度时,判定所述运行队列中的未处理消息未超过所述运行队列的当前限度。4.如权利要求1所述的队列消息处理方法,其特征在于,还包括:在所述运行队列中未处理消息未超过所述运行队列的当前限度且所述等待队列中存在队列消息时,将所述等待队列中的队列消息存储至所述运行队列中。5.如权利要求1至4任一项所述的队列消息处理方法,其特征在于,还包括:监测所述队列消息在所述运行队列中的时间、所述队列消息的入队耗时信息、所述队列消息的出队耗时信息和所述队列消息的大小,并生成日志文件进行存储。6.一种队列消息处理终端设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器...

【专利技术属性】
技术研发人员:李斌丁明珠
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1