CN115767188A - 消息请求处理方法、***、设备和可读存储介质 - Google Patents
消息请求处理方法、***、设备和可读存储介质 Download PDFInfo
- Publication number
- CN115767188A CN115767188A CN202211274103.8A CN202211274103A CN115767188A CN 115767188 A CN115767188 A CN 115767188A CN 202211274103 A CN202211274103 A CN 202211274103A CN 115767188 A CN115767188 A CN 115767188A
- Authority
- CN
- China
- Prior art keywords
- message
- queue
- request
- message request
- processing
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种消息请求处理方法、***、设备和可读存储介质,该方法包括:在接收到消息请求时,确定所述消息请求的消息类型;基于所述消息类型,确定所述消息请求对应的业务流程;根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列,其中,业务阶段越后的所述消息请求加入处理优先级越高的消息队列;基于所述消息队列的处理优先级顺序执行所述消息队列中的所述消息请求。解决了相关技术中在高峰期时由于消息请求处理不及时导致机顶盒反复重启的技术问题,进而实现了保证机顶盒消息请求有序处理,缓解高峰期流量压力的技术效果。
Description
技术领域
本申请涉及机顶盒通信领域,尤其涉及一种消息请求处理方法、消息请求处理***、消息请求处理设备和计算机可读存储介质。
背景技术
随着社会的快速发展,科技的进步,机顶盒的普及率也越来越高。机顶盒是一个连接电视机与外部信号源的设备。它可以将压缩的数字信号转成电视内容,并在电视机上显示出来。信号可以来自有线电缆、卫星天线、宽带网络以及地面广播。机顶盒接收的内容除了模拟电视可以提供的图像、声音之外,更在于能够接收数字内容。
在相关技术中,机顶盒开机使用需要经过四个消息请求,只有这四个步骤都成功了才能正常开机使用。由于一个运营商遍及几千万用户,在早晚高峰期,为防止瞬时流量高峰冲垮服务器,运营商通常使用排队算法依次处理会话中的四个消息请求。
但是传统的排队算法中消息请求先进先出,很可能在即将成功开机时由于四个步骤中的最后一个消息请求无法进入队列,或者在队列中次序靠后而导致开机失败;进而出现大量用户反复重启机顶盒,导致服务器长时间拥挤。
发明内容
本申请实施例通过提供一种消息请求处理方法、消息请求处理***、消息请求处理设备和计算机可读存储介质,解决了相关技术中在高峰期时由于消息请求处理不及时导致机顶盒反复重启的技术问题,实现了保证机顶盒消息请求有序处理,缓解高峰期流量压力的技术效果。
本申请实施例提供了一种消息请求处理方法,所述消息请求处理方法包括:
在接收到消息请求时,确定所述消息请求的消息类型;
基于所述消息类型,确定所述消息请求对应的业务流程;
根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列,其中,业务阶段越后的所述消息请求加入处理优先级越高的消息队列;
基于所述消息队列的处理优先级顺序执行所述消息队列中的所述消息请求。
可选地,所述根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列的步骤包括:
若所述业务阶段为初始业务阶段时,基于预设的排队算法确定所述消息请求对应的优先级;
基于所述优先级将所述消息请求添加至对应的所述消息队列。
可选地,所述根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列的步骤还包括:
若所述业务阶段不为初始业务阶段时,确定所述业务流程对应的前序业务流程;
确定所述前序业务流程的目标优先级;
根据所述目标优先级确定所述消息请求对应的优先级;
基于所述优先级将所述消息请求添加至对应的所述消息队列。
可选地,所述基于所述优先级将所述消息请求添加至对应的所述消息队列的步骤包括:
将所述消息请求发送至添加队列接口,所述添加队列接口在接收到所述消息请求时,确定所述优先级对应的队列标识;
添加所述消息请求至所述队列标识对应的所述消息队列。
可选地,所述添加所述消息请求至所述队列标识对应的所述消息队列的步骤包括:
确定所述队列标识对应的所述消息队列的负载值;
若所述负载值大于负载阈值,确定比所述消息队列处理优先级更低的目标消息队列,并添加所述消息请求至所述目标消息队列;
否则,添加所述消息请求至所述消息队列。
可选地,所述基于消息队列的处理优先级顺序执行所述消息队列中的所述消息请求的步骤包括:
基于所述处理优先级确定所述消息队列的处理次序;
确定所述处理次序对应的第一消息队列,其中,所述第一消息队列为所述处理优先级最高的所述消息队列;
从所述第一消息队列开始按照所述处理次序遍历所有的所述消息队列;
若当前的所述消息队列中不存在所述消息请求,则确定所述消息队列对应的后序消息队列中是否存在所述消息请求;
若当前的所述消息队列存在所述消息请求,确定所述消息请求中的待处理请求;
处理所述待处理消息请求。
可选地,所述若当前的所述消息队列存在所述消息请求,确定所述消息请求中的待处理请求的步骤包括:
获取所述消息请求对应的时间信息,其中所述时间信息为所述消息请求被添加至所述消息队列的时刻;
基于所述时间信息,确定最早添加至所述当前的消息队列的所述消息请求,为所述待处理请求。
此外,本申请还提出一种消息请求处理***,所述消息请求处理***包括:接收线程,所述接收线程在接收到消息请求后,根据所述消息请求对应业务流程所处的业务阶段,将所述消息请求添加至对应的消息队列;多优先级消息队列,所述多优先级消息队列包括多个所述消息队列,不同的所述消息队列具有不用的处理优先级;处理线程,所述处理线程根据所述处理优先级确定所述消息队列的处理次序,按照处理次序从第一消息队列开始遍历所有所述消息队列;处理优先级更高的所述消息队列中的所述消息请求处理完,再处理更低处理优先级的所述消息队列。
此外,本申请还提出一种消息请求处理设备,所述消息请求处理设备包括存储器、处理器及存储在存储器上并可在处理器上运行的消息请求处理程序,所述处理器执行所述消息请求处理程序时实现如上所述的消息请求处理方法的步骤。
此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有消息请求处理程序,所述消息请求处理程序被处理器执行时实现如上所述的消息请求处理方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、由于采用了确定接收到的消息请求的消息类型,根据所述消息类型确定所述消息请求对应的业务流程,根据所述业务流程所处阶段的不同,添加所述消息请求至对应的消息队列,其中,业务阶段越后的消息加入处理优先级越高的消息队列,按照处理优先级处理所述消息队列中的所述消息请求,所以,有效解决了相关技术中在高峰期时由于消息请求处理不及时导致机顶盒反复重启的技术问题,进而实现了保证机顶盒消息请求有序处理,缓解高峰期流量压力的技术效果。
2、由于采用了当业务阶段为初始业务阶段时,按照预设的排队算法确定消息请求对应的优先级;当业务阶段不为初始业务阶段时,确定所述业务流程的前序业务流程的优先级作为目标优先级,基于所述目标优先级确定所述消息请求对应的优先级;按照所述优先级将所述消息请求添加至对应的消息队列。所以,有效解决了相关技术中在高峰期时由于消息请求处理不及时导致机顶盒反复重启的技术问题,进而实现了保证机顶盒消息请求有序处理,缓解高峰期流量压力的技术效果。
附图说明
图1为本申请消息请求处理方法实施例一的流程示意图;
图2为本申请消息请求处理方法实施例二的流程示意图;
图3为本申请消息请求处理方法实施例三的流程示意图;
图4为本申请消息请求处理设备实施例涉及的硬件结构示意图。
具体实施方式
在相关技术中,一次开机过程,要依次经过a、b、c、d四个步骤,只有四个步骤都成功了才能进入电视播放画面。在出现大量的用户重启机顶盒,导致***出现巨大的峰值压力时,时常出现由于某个步骤处理不及时导致登陆需要重来,进而出现滚雪球式的消息请求堆积。本申请实施例采用的主要技术方案是:确定接收到的消息请求的消息类型,根据所述消息类型确定所述消息请求对应的业务流程,根据所述业务流程所处阶段的不同,添加所述消息请求至对应的消息队列,其中,业务阶段越后的消息加入处理优先级越高的消息队列,按照处理优先级处理所述消息队列中的所述消息请求。从而实现了保证机顶盒消息请求有序处理,缓解高峰期流量压力的技术效果。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
实施例一
本申请实施例一公开了一种消息请求处理方法,参照图1,所述消息请求处理方法包括:
步骤S10,在接收到消息请求时,确定所述消息请求的消息类型;
在本实施例中,机顶盒在开机的四个步骤中,每个步骤都会发送一个对应的消息请求,接收线程在接收到所述消息请求时,确定所述消息请求对应的消息类型,其中,所述接收线程可以根据所述消息类型确定消息请求对应的业务流程,也即开机步骤。消息类型为消息请求的一个属性,其根据消息请求对应的开机步骤决定。
步骤S20,基于所述消息类型,确定所述消息请求对应的业务流程;
在本实施例中,接收线程在接收到消息请求时,根据所述消息类型,确定所述消息请求对应的业务流程。所述业务流程对应开机时a、b、c、d四个步骤中的一个。
作为一种可选实施方式,接收线程在接收到消息请求时,确定所述消息请求对应的MsgType(Message Type,消息类型);根据MsgType确定所述消息请求对应的业务流程。
步骤S30,根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列,其中,业务阶段越后的所述消息请求加入处理优先级越高的消息队列;
在本实施例中,所述消息队列为多优先级队列的子队列,所述多优先级队列包括多个子队列。所述优先级为处理的优先级,即优先级越高的子队列,处理线程越先处理所述子队列中的消息请求。所述业务阶段即为对应的开机的四个步骤。
作为一种可选实施方式,接收线程根据业务流程所处的业务阶段,确定所述消息请求对应的优先级,再根据所述优先级确定对应的多优先级队列中的子队列,将所述消息请求添加至所述子队列。
示例性的,接收线程首先根据消息请求的MsgType(消息类型)判断优先级为i,将i传入AddJobToQueue接口;AddJobToQueue接口判断参数i,将消息放入优先级为i的子队列中。
步骤S40,基于所述消息队列的处理优先级顺序执行所述消息队列中的所述消息请求。
在本实施例中,处理线程根据处理优先级处理对应的消息队列,所述处理优先级与消息请求的优先级对应。
作为一种可选实施方式,处理线程按照处理优先级,首先处理优先级为1的子队列,所述优先级为1的子队列中,存放着优先级为1的消息请求。在处理完优先级为1的子队列中的全部消息请求后,处理优先级为2的子队列。
示例性的,处理线程调用FetchJobFromQueue接口,优先处理高优先级的队列,当高优先级队列里的消息处理完毕以后,才会处理低优先级的队列。也就是说,最先处理Queue1里的消息;如果Queue1里没有消息,就处理Queue2里的消息;如果Queue2里没有消息,就处理Queue3里的消息;如果前面的队列都没有消息了,就处理QueueN的消息,直至所有队列遍历完。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了确定接收到的消息请求的消息类型,根据所述消息类型确定所述消息请求对应的业务流程,根据所述业务流程所处阶段的不同,添加所述消息请求至对应的消息队列,其中,业务阶段越后的消息加入处理优先级越高的消息队列,按照处理优先级处理所述消息队列中的所述消息请求,所以,有效解决了相关技术中在高峰期时由于消息请求处理不及时导致机顶盒反复重启的技术问题,进而实现了保证机顶盒消息请求有序处理,缓解高峰期流量压力的技术效果。
实施例二
基于实施例一,本申请实施例二提出一种消息请求处理方法,步骤S30包括:
S210,若所述业务阶段不为初始业务阶段时,确定所述业务流程对应的前序业务流程;
S220,确定所述前序业务流程的目标优先级;
S230,根据所述目标优先级确定所述消息请求对应的优先级;
S240,基于所述优先级将所述消息请求添加至对应的所述消息队列。
在本实施例中,初始业务阶段为开机的a步骤,即机顶盒开机的第一个步骤。所述前序业务流程为当前业务流程的前一个开机步骤。目标优先级为前序业务流程的优先级。
作为一种可选实施方式,接收线程确定消息请求对应的业务流程后,判断所述业务流程对应的业务阶段,所述业务阶段不是开机的a步骤时,确定所述业务流程的前序业务流程;根据所述前序业务流程对应的优先级,确定所述业务流程的优先级;再根据所述优先级确定对应的子队列,将所述消息请求添加至所述子队列。
示例性的,接收线程确定消息请求对应的业务流程开机的步骤c;确定所述前序业务流程对应的业务阶段为开机的步骤b;确定所述前序业务流程当前所在的子队列为Queue3,即优先级为3的子队列,确定所述前序业务流程对应的目标优先级为3,根据所述目标优先级确定所述业务流程的优先级为2,所以添加所述消息请求至Queue2。
可选的,步骤S30还包括:
S250,若所述业务阶段为初始业务阶段时,基于预设的排队算法确定所述消息请求对应的优先级;
S260,基于所述优先级将所述消息请求添加至对应的所述消息队列。
在本实施例中,所述初始业务阶段为开机的a步骤,此时所述消息请求对应的优先级最低。
作为一种可选实施方式,接收线程在接收到消息请求后,确定所述消息请求为机顶盒开机时执行a步骤发送的请求,即业务阶段为初始业务阶段;基于预设的算法,确定所述消息请求的优先级为4或者5;将所述消息请求添加至Queue4或者Queue5。
可选的,步骤S240或者步骤S260包括:
步骤S270,将所述消息请求发送至添加队列接口,所述添加队列接口在接收到所述消息请求时,确定所述优先级对应的队列标识;
步骤S280,添加所述消息请求至所述队列标识对应的所述消息队列。
在本实施例中,所述添加队列接口为AddJobToQueue接口,所述队列标识与所述优先级对应。
作为一种可选实施方式,接收线程在确定所述消息请求的优先级后,确定与所述优先级匹配的消息队列;将所述消息请求以及优先级发送至AddJobToQueue接口,AddJobToQueue接口在接收到所述消息请求后,根据所述优先级确定对应的队列标识;添加所述消息请求至与所述队列标识匹配的子队列。
可选的,步骤S280包括:
步骤S281,确定所述队列标识对应的所述消息队列的负载值;
步骤S282,若所述负载值大于负载阈值,确定比所述消息队列处理优先级更低的目标消息队列,并添加所述消息请求至所述目标消息队列;
步骤S283,否则,添加所述消息请求至所述消息队列。
在本实施例中,负载值为消息队列的负荷情况,即一个消息队列可容纳消息请求的个数存在限制,该限制可按照需求主动设定,也可以根据算法动态设定。所述负载阈值为消息队列内容纳消息请求的警戒值。
作为一种可选实施方式,AddJobToQueue接口在确定与所述队列标识匹配的子队列后,确定所述子队列的负载情况;若所述子队列的负载情况大于负载阈值,则更新队列标识为更低的优先级,重新确定将要添加的子队列;若所述负载值小于或者等于所述负载阈值,则添加所述消息请求至所述队列标识对凌的子队列。
示例性的,AddJobToQueue接口确定所述队列标识为4,确定与所述队列标识匹配的子队列为Queue4;确定所述子队列的负载值,若所述负载值大于负载阈值85%,则确定新的队列标识为5,确定与更新先后的队列标识匹配的子队列为Queue5;继续确定Queue5的负载值,若Queue5的负载值还是大于负载阈值80%,则确定新的队列标识为6;若所述Queue5的负载值小于或者等于负载阈值80%;则将所述消息队列添加至Queue5。
作为另一种可选实施方式,每个子队列的负载阈值是动态变化的,可以根据当前消息请求的数量进行调整,以使得服务器的运算负载处于最高的效率。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了当业务阶段为初始业务阶段时,按照预设的排队算法确定消息请求对应的优先级;当业务阶段不为初始业务阶段时,确定所述业务流程的前序业务流程的优先级作为目标优先级,基于所述目标优先级确定所述消息请求对应的优先级;按照所述优先级将所述消息请求添加至对应的消息队列。所以,有效解决了相关技术中在高峰期时由于消息请求处理不及时导致机顶盒反复重启的技术问题,进而实现了保证机顶盒消息请求有序处理,缓解高峰期流量压力的技术效果。
实施例三
基于实施例一,本申请实施例三公开一种消息请求处理方法,步骤S40包括:
步骤S310,基于所述处理优先级确定所述消息队列的处理次序;
步骤S320,确定所述处理次序对应的第一消息队列,其中,所述第一消息队列为所述处理优先级最高的所述消息队列;
步骤S330,从所述第一消息队列开始按照所述处理次序遍历所有的所述消息队列;
步骤S340,若当前的所述消息队列中不存在所述消息请求,则确定所述消息队列对应的后序消息队列中是否存在所述消息请求;
步骤S350,若当前的所述消息队列存在所述消息请求,确定所述消息请求中的待处理请求;
步骤S360,处理所述待处理消息请求。
在本实施例中,所述处理次序为处理线程执行消息请求时,遍历子队列的次序。所述第一消息队列为处理优先级最高的子队列,即Queue1;处理线程执行消息请求时,从Queue1开始遍历所有子队列;若Queue1中消息请求执行完毕,查询Queue2;直到所有消息队列中的消息请求处理完毕。所述后序消息队列为优先级比当前执行的子队列低的子队列。
作为一种可选实施方式,处理线程基于处理优先级确定所有消息队列的处理次序,根据所述处理次序确定要处理的第一消息队列,即Queue1;从第一消息队列开始,按照所述处理次序遍历所有的消息队列;若当前查询的消息队列中存在消息请求,则执行所述消息请求;若所述消息队列中不存在所述消息请求,则查询优先级比所述消息队列低的后序消息队列,直至当前查询的消息存在所述消息请求,执行所述消息请求。
可选的,步骤S360包括:
步骤S361,获取所述消息请求对应的时间信息,其中所述时间信息为所述消息请求被添加至所述消息队列的时刻;
步骤S362,基于所述时间信息,确定最早添加至所述当前的消息队列的所述消息请求,为所述待处理请求。
在本实施例中,所述时间信息为消息请求被添加至消息队列的时刻,作为对应消息请求的一个属性。
作为一种可选实施方式,处理线程在查询消息队列时,通常当前消息队列里不只有一个消息请求,处理线程按照先进先出的顺序,基于消息请求的时间信息,处理最早添加至当前消息队列的消息请求。
作为另一种可选实施方式,优先级体现在子队列的处理顺序上,对于同一个子队列里消息请求,处理线程在处理时按照先进先出的顺序进行执行。
示例性的,处理线程查询Queue4,查询结果显示该子队列中有步骤b对应的消息请求b,也有步骤a对应的消息请求a;此时消息请求a比消息请求b更早添加至Queue4;那么,虽然消息请求b的优先级比消息请求a更高,但是消息请求a更早添加至子队列,则处理线程优先处理消息请求a。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了基于处理优先级确定消息队列的处理次序后,确定最先处理的第一消息队列;从所述第一消息队列开始按照所述处理次序遍历所有的所述消息队列;若当前的所述消息队列中不存在所述消息请求,则查询所述消息队列对应的后序消息队列;若当前的所述消息队列存在所述消息请求,确定所述消息请求中的待处理请求;对于同一个消息队列中的消息请求,按照先进先出原则,优先处理时间信息更早的消息请求。所以,有效解决了相关技术中在高峰期时由于消息请求处理不及时导致机顶盒反复重启的技术问题,进而实现了保证机顶盒消息请求有序处理,缓解高峰期流量压力的技术效果。
本申请还提出一种消息请求处理设备,参照图4,图4为本申请实施例方案涉及的硬件运行环境的消息请求处理设备结构示意图。
如图4所示,该消息请求处理设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图4中示出的结构并不构成对消息请求处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
可选地,存储器1005与处理器1001电性连接,处理器1001可用于控制存储器1005的运行,还可以读取存储器1005中的数据以实现消息请求处理。
可选地,如图4所示,作为一种存储介质的存储器1005中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及消息请求处理程序。
可选地,在图4所示的消息请求处理设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请消息请求处理设备中的处理器1001、存储器1005可以设置在消息请求处理设备中。
如图4所示,所述消息请求处理设备通过处理器1001调用存储器1005中存储的消息请求处理程序,并执行本申请实施例提供的消息请求处理方法的相关步骤操作:
在接收到消息请求时,确定所述消息请求的消息类型;
基于所述消息类型,确定所述消息请求对应的业务流程;
根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列,其中,业务阶段越后的所述消息请求加入处理优先级越高的消息队列;
基于所述消息队列的处理优先级顺序执行所述消息队列中的所述消息请求。
可选地,处理器1001可以调用存储器1005中存储的消息请求处理程序,还执行以下操作:
若所述业务阶段不为初始业务阶段时,确定所述业务流程对应的前序业务流程;
确定所述前序业务流程的目标优先级;
根据所述目标优先级确定所述消息请求对应的优先级;
基于所述优先级将所述消息请求添加至对应的所述消息队列。
可选地,处理器1001可以调用存储器1005中存储的消息请求处理程序,还执行以下操作:
若所述业务阶段为初始业务阶段时,基于预设的排队算法确定所述消息请求对应的优先级;
基于所述优先级将所述消息请求添加至对应的所述消息队列。
可选地,处理器1001可以调用存储器1005中存储的消息请求处理程序,还执行以下操作:
将所述消息请求发送至添加队列接口,所述添加队列接口在接收到所述消息请求时,确定所述优先级对应的队列标识;
添加所述消息请求至所述队列标识对应的所述消息队列。
可选地,处理器1001可以调用存储器1005中存储的消息请求处理程序,还执行以下操作:
确定所述队列标识对应的所述消息队列的负载值;
若所述负载值大于负载阈值,确定比所述消息队列处理优先级更低的目标消息队列,并添加所述消息请求至所述目标消息队列;
否则,添加所述消息请求至所述消息队列。
可选地,处理器1001可以调用存储器1005中存储的消息请求处理程序,还执行以下操作:
基于所述处理优先级确定所述消息队列的处理次序;
确定所述处理次序对应的第一消息队列,其中,所述第一消息队列为所述处理优先级最高的所述消息队列;
从所述第一消息队列开始按照所述处理次序遍历所有的所述消息队列;
若当前的所述消息队列中不存在所述消息请求,则确定所述消息队列对应的后序消息队列中是否存在所述消息请求;
若当前的所述消息队列存在所述消息请求,确定所述消息请求中的待处理请求;
处理所述待处理消息请求。
可选地,处理器1001可以调用存储器1005中存储的消息请求处理程序,还执行以下操作:
获取所述消息请求对应的时间信息,其中所述时间信息为所述消息请求被添加至所述消息队列的时刻;
基于所述时间信息,确定最早添加至所述当前的消息队列的所述消息请求,为所述待处理请求。
此外,本申请实施例还提出一种消息请求处理***,所述消息请求处理***包括:接收线程,所述接收线程在接收到消息请求后,根据所述消息请求对应业务流程所处的业务阶段,将所述消息请求添加至对应的消息队列;多优先级消息队列,所述多优先级消息队列包括多个所述消息队列,不同的所述消息队列具有不用的处理优先级;处理线程,所述处理线程根据所述处理优先级确定所述消息队列的处理次序,按照处理次序从第一消息队列开始遍历所有所述消息队列;处理优先级更高的所述消息队列中的所述消息请求处理完,再处理更低处理优先级的所述消息队列。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有消息请求处理程序,所述消息请求处理程序被处理器执行时实现如上所述消息请求处理方法任一实施例的相关步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种消息请求处理方法,其特征在于,所述消息请求处理方法包括:
在接收到消息请求时,确定所述消息请求的消息类型;
基于所述消息类型,确定所述消息请求对应的业务流程;
根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列,其中,业务阶段越后的所述消息请求加入处理优先级越高的消息队列;
基于所述消息队列的处理优先级顺序执行所述消息队列中的所述消息请求。
2.如权利要求1所述的消息请求处理方法,其特征在于,所述根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列的步骤包括:
若所述业务阶段为初始业务阶段时,基于预设的排队算法确定所述消息请求对应的优先级;
基于所述优先级将所述消息请求添加至对应的所述消息队列。
3.如权利要求1所述的消息请求处理方法,其特征在于,所述根据所述业务流程所处的业务阶段的不同,将所述消息请求添加至对应的消息队列的步骤还包括:
若所述业务阶段不为初始业务阶段时,确定所述业务流程对应的前序业务流程;
确定所述前序业务流程的目标优先级;
根据所述目标优先级确定所述消息请求对应的优先级;
基于所述优先级将所述消息请求添加至对应的所述消息队列。
4.如权利要求2或3所述的消息请求处理方法,其特征在于,所述基于所述优先级将所述消息请求添加至对应的所述消息队列的步骤包括:
将所述消息请求发送至添加队列接口,所述添加队列接口在接收到所述消息请求时,确定所述优先级对应的队列标识;
添加所述消息请求至所述队列标识对应的所述消息队列。
5.如权利要求4所述的消息请求处理方法,其特征在于,所述添加所述消息请求至所述队列标识对应的所述消息队列的步骤包括:
确定所述队列标识对应的所述消息队列的负载值;
若所述负载值大于负载阈值,确定比所述消息队列处理优先级更低的目标消息队列,并添加所述消息请求至所述目标消息队列;
否则,添加所述消息请求至所述消息队列。
6.如权利要求1所述的消息请求处理方法,其特征在于,所述基于消息队列的处理优先级顺序执行所述消息队列中的所述消息请求的步骤包括:
基于所述处理优先级确定所述消息队列的处理次序;
确定所述处理次序对应的第一消息队列,其中,所述第一消息队列为所述处理优先级最高的所述消息队列;
从所述第一消息队列开始按照所述处理次序遍历所有的所述消息队列;
若当前的所述消息队列中不存在所述消息请求,则确定所述消息队列对应的后序消息队列中是否存在所述消息请求;
若当前的所述消息队列存在所述消息请求,确定所述消息请求中的待处理请求;
处理所述待处理消息请求。
7.如权利要求6所述的消息请求处理方法,其特征在于,所述若当前的所述消息队列存在所述消息请求,确定所述消息请求中的待处理请求的步骤包括:
获取所述消息请求对应的时间信息,其中所述时间信息为所述消息请求被添加至所述消息队列的时刻;
基于所述时间信息,确定最早添加至所述当前的消息队列的所述消息请求,为所述待处理请求。
8.一种消息请求处理***,其特征在于,所述消息请求处理***包括:
接收线程,所述接收线程在接收到消息请求后,根据所述消息请求对应业务流程所处的业务阶段,将所述消息请求添加至对应的消息队列;
多优先级消息队列,所述多优先级消息队列包括多个所述消息队列,不同的所述消息队列具有不用的处理优先级;
处理线程,所述处理线程根据所述处理优先级确定所述消息队列的处理次序,按照处理次序从第一消息队列开始遍历所有所述消息队列;处理优先级更高的所述消息队列中的所述消息请求处理完,再处理更低处理优先级的所述消息队列。
9.一种消息请求处理设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的消息请求处理程序,所述处理器执行所述消息请求处理程序时实现如权利要求1至7任一项所述的消息请求处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有消息请求处理程序,所述消息请求处理程序被处理器执行时实现如权利要求1至7任一项所述的消息请求处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211274103.8A CN115767188A (zh) | 2022-10-18 | 2022-10-18 | 消息请求处理方法、***、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211274103.8A CN115767188A (zh) | 2022-10-18 | 2022-10-18 | 消息请求处理方法、***、设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115767188A true CN115767188A (zh) | 2023-03-07 |
Family
ID=85352219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211274103.8A Pending CN115767188A (zh) | 2022-10-18 | 2022-10-18 | 消息请求处理方法、***、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115767188A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700940A (zh) * | 2023-08-08 | 2023-09-05 | 成都数智创新精益科技有限公司 | 一种基于封装类的请求处置方法及***及装置及介质 |
-
2022
- 2022-10-18 CN CN202211274103.8A patent/CN115767188A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700940A (zh) * | 2023-08-08 | 2023-09-05 | 成都数智创新精益科技有限公司 | 一种基于封装类的请求处置方法及***及装置及介质 |
CN116700940B (zh) * | 2023-08-08 | 2023-10-03 | 成都数智创新精益科技有限公司 | 一种基于封装类的请求处置方法及***及装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790549B (zh) | 一种数据更新方法及装置 | |
CN110781015A (zh) | 消息队列的分配方法、装置、设备及计算机可读存储介质 | |
CN110753129A (zh) | 消息传输方法、***、装置、设备及计算机可读存储介质 | |
CN115767188A (zh) | 消息请求处理方法、***、设备和可读存储介质 | |
CN109218817B (zh) | 一种显示虚拟礼物提示消息的方法和装置 | |
CN114489867A (zh) | 算法模块调度方法、算法模块调度装置以及可读存储介质 | |
CN114285906B (zh) | 报文处理方法、装置、电子设备及存储介质 | |
CN111026552B (zh) | 资源的调度方法、装置、电子设备和计算机可读存储介质 | |
CN110505523B (zh) | 一种视频转码优先级顺序控制方法及处理终端 | |
CN109062650B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN112073215B (zh) | 一种实现应用的方法及业务控制器 | |
CN112860431A (zh) | 微服务节点的连接方法、***、设备及存储介质 | |
CN109005465B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN116055401A (zh) | 一种消息处理方法、装置、设备及存储介质 | |
CN109144639B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN114363263A (zh) | 一种金融业务网络的带宽控制方法及相关设备 | |
CN114296897A (zh) | 一种广告请求的发送方法和装置 | |
CN111767104B (zh) | 一种语言种类切换方法、装置、计算机设备及存储介质 | |
CN114374657A (zh) | 一种数据处理方法和装置 | |
CN109933426B (zh) | 服务调用的处理方法、装置、电子设备及可读存储介质 | |
CN110535785B (zh) | 一种发送频率的控制方法、装置和分布式*** | |
CN109542601B (zh) | 策略编译方法、装置、电子设备及计算机存储介质 | |
CN109284188B (zh) | 一种缓冲数组维护方法、装置、终端及可读介质 | |
CN109168079B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN113852840B (zh) | 视频渲染方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |