CN111404838A - 消息处理方法、装置及设备 - Google Patents
消息处理方法、装置及设备 Download PDFInfo
- Publication number
- CN111404838A CN111404838A CN202010186608.3A CN202010186608A CN111404838A CN 111404838 A CN111404838 A CN 111404838A CN 202010186608 A CN202010186608 A CN 202010186608A CN 111404838 A CN111404838 A CN 111404838A
- Authority
- CN
- China
- Prior art keywords
- message
- processing
- message queue
- sub
- service
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 32
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供了一种消息处理方法、装置及设备,所述方法包括获取待处理业务中各子业务的处理优先级,并根据各子业务的处理优先级确定优先级个数;根据优先级个数对应建立消息队列,其中,每个消息队列中携带与各子业务的处理优先级对应的等级标识;根据等级标识将各子业务的对应的消息分别存储至对应的消息队列中;从存储消息后的消息队列中获取各子业务对应的消息,并发送至消息处理系统进行处理,实现各子业务对应的功能。提高了消息队列中消息的处理效率,进而保证了业务的正常使用。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种消息处理方法、装置及设备。
背景技术
随着互联网技术的普及,大量线下业务都转移到了线上。用户可以直接在线上触发业务,进而实现业务对应的功能。例如,可以直接触发线上购物业务,实现对应物品的购买,而无需再去线下购买。
由于线上业务的种类繁多,为了保证业务之间的隔离性,通常会为每个线上业务分配一个消息队列。在进行消息传输时,需要通过消息队列先将业务对应的消息进行分类,然后再按优先级将消息传输至消息处理系统进行处理。
然而,随着线上业务的增多,需要处理的消息也越来越多,消息队列既要对消息按优先级进行分类,还要对消息进行传输处理,影响了消息队列中消息的处理效率,还可能造成消息队列的崩溃,进而影响业务的正常使用。
发明内容
本发明实施例提供了一种消息处理方法、装置及设备,以提高消息队列中消息的处理效率。
第一方面,本发明实施例提供一种消息处理方法,包括:获取待处理业务中各子业务的处理优先级,并根据所述各子业务的处理优先级确定优先级个数;根据所述优先级个数对应建立消息队列,其中,每个所述消息队列中携带与所述各子业务的处理优先级对应的等级标识;根据所述等级标识将所述各子业务的对应的消息分别存储至对应的消息队列中;从存储消息后的消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
可选的,在所述从存储消息后的消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能之后,还包括:获取每个所述消息队列中的消息剩余个数;根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力;根据每个所述消息队列的消息处理能力更新每个所述消息队列的等级标识;根据更新后的每个消息队列的等级标识依次从所述消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
可选的,在所述根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力之后,还包括:根据每个所述消息队列中的消息剩余个数和消息处理能力确定每个所述消息队列对应的消息处理时长;若任一目标消息队列的消息处理时长大于预设的延迟时长,则根据所述目标消息队列的消息剩余个数、消息处理能力和所述延迟时长确定待分配系统资源;根据所述待分配系统资源为所述目标消息队列分配系统资源。
可选的,所述根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力,包括:
根据表达式:确定每个所述消息队列的消息处理能力;其中,Lqi为第i个消息队列的消息处理能力,Wqi为第i个消息队列中存储的消息的处理优先级,λ是消息处理能力步长,pi为队列权重相对量(pi>0),Sqi为第i个消息队列中的消息剩余个数,n为消息队列的个数。
可选的,所述根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力,包括:
根据表达式:确定每个所述消息队列的消息处理能力;其中,Lqi为第i个消息队列的消息处理能力,Wqi为第i个消息队列中存储的消息的处理优先级,Sqi为第i个消息队列中的消息剩余个数,n为消息队列的个数。
可选的,所述方法还包括:若任一消息队列的消息处理时长均不大于所述延迟时长,则继续从消息队列中获取未处理的子业务对应的消息,并发送至消息处理系统进行处理,实现未处理的子业务对应的功能。
第二方面,本发明实施例提供一种消息处理装置,包括:触控模块,获取待处理业务中各子业务的处理优先级,并根据所述各子业务的处理优先级确定优先级个数;处理模块,用于根据所述优先级个数对应建立消息队列,其中,每个所述消息队列中携带与所述各子业务的处理优先级对应的等级标识;所述处理模块,还用于根据所述等级标识将所述各子业务的对应的消息分别存储至对应的消息队列中;所述处理模块,还用于从存储消息后的消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
可选的,所述处理模块,还用于:获取每个所述消息队列中的消息剩余个数;根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力;根据每个所述消息队列的消息处理能力更新每个所述消息队列的等级标识;根据更新后的每个消息队列的等级标识依次从所述消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
第三方面,本发明实施例提供一种消息处理设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的消息处理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的消息处理方法。
本发明实施例提供了一种消息处理方法、装置及设备,能根据待处理业务中各子业务的处理优先级对应建立消息队列,然后将该优先级对应的子业务的消息存储至对应的消息队列中,再根据各子业务的处理优先级依次从消息队列中获取子业务对应的消息进行处理,无需在处理消息前,先对消息进行排序,然后再处理排序后的消息,提高了消息队列中消息的处理效率,进而保证了业务的正常使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的消息处理方法的应用示意图;
图2为本发明实施例提供的消息处理方法的流程示意图,;
图3为本发明另一实施例提供的消息处理方法的流程示意图;
图4为本发明实施例提供的确定消息处理能力的函数应用示意图;
图5为本发明另一实施例提供的确定消息处理能力的函数应用示意图;
图6为本发明实施例提供的消息处理装置的结构示意图;
图7为本发明实施例提供的消息处理设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着互联网的普及,大量线下业务都转移到了线上,用户无需再去现场或是面对面来实现相应的业务。例如,在早期实现购物业务时,用户需要去销售对应商品的店铺去购买,既浪费时间效率又低。而现在只需在线上下单即可购买对应的商品,为用户提供了方便。
随着线上业务的增多,在同一时刻,多个用户可能会同时触发众多业务,即需要同时调用众多业务对应的消息。好比出行的时候存在早高峰和晚高峰的问题,为了解决这个问题,就有了错峰限行的措施。而在本领域,消息队列是实现流量削峰的重要工具。
为了保证业务之间的隔离性,通常会为每个线上业务分配一个消息队列。即一个线上业务对应一个消息队列,将一个线上业务对应的所有消息均通过该消息队列进行传输。而其他线上业务的消息则通过其他消息队列进行传输。但在业务处理过程中,不同的业务是有不同的时效性的,即是有处理优先级的。例如,一个线上下单业务,有下单,结算、开票、物流等子业务。下单和结算两个子业务对实时性要求很高,几乎是秒级的,否则订单很容易流失。而开票和物流实时性要求相对没有那么高,客户结算完后可以当日晚点发货,货物签收后再开票。随着线上业务量的增多,需要处理的子业务对应的消息也越来越多,消息中间件既要对消息进行排序,还要对消息进行传输,影响了消息队列中消息的处理效率,还可能造成消息队列的崩溃,进而影响业务的正常使用。
且随着线上业务量的增多,存在多个业务队列消息积压或拥堵时,可能会导致服务器资源处理优先级低的拥堵队列消息,而忽略优先级高的拥堵队列消息,导致优先级高的业务无法及时开展,进而影响业后续务正常使用。
而本发明的技术方案,旨在解决现有技术的如上问题,并提出如下解决思路:在通过消息队列传输业务对应的消息至消息处理系统进行处理之前,可先根据待处理业务中各子业务的处理优先级进行分类,然后根据优先级对应建立多个消息队列,独立分配消息处理能力,避免优先级较高的业务消息处理延迟,影响用户体验或业务的正常使用。
图1为本发明实施例提供的消息处理方法的应用示意图,如图1所示,包括:数据库101、消息队列102和消息处理系统103。数据库101中存储有待处理业务E,待处理业务E有若干子业务,不同的子业务对应着不同的处理优先级,且不同的子业务对应着若干消息。根据不同的处理优先级对应建立n个消息队列,每个消息队列中存储有处理优先级相同的子业务对应的消息。消息处理系统103根据业务需求,按照优先级分别从消息队列中获取子业务对应的消息进行处理,实现了高效分级处理,提高了业务体验,减少了业务流失。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本发明实施例提供的消息处理方法的流程示意图,本实施例的方法可以由操作系统执行。如图2所示,本实施例的方法,可以包括:
S201:获取待处理业务中各子业务的处理优先级,并根据所述各子业务的处理优先级确定优先级个数。
具体的,每个待处理业务可以对应若干子业务,且每个子业务对应的处理优先级是不同的。例如,一个线上下单业务可以对应有下单,结算、开票、物流等子业务。下单和结算两个子业务对实时性要求很高,几乎是秒级的,处理优先级较高。而开票和物流实时性要求相对没有那么高,客户结算完后可以当日晚点发货,处理优先级较低。处理优先级可以代表子业务对应的消息执行的顺序。例如,待处理业务对应有A、B、C和D四个子业务,每个子业务对应若干消息。且该四个子业务的处理优先级分别为第一优先级,第二优先级,第三优先级和第四优先级,第一优先级的级别最高,即优先级的个数为四个。当待处理业务只对应一个子业务时,即该子业务的优先级就默认为第一优先级,即优先级的个数为一个。
此外,还可能存在几个子业务的优先级相同的情况。例如,继续延续上例,待处理业务对应有A、B、C和D四个子业务,A和B的优先级均为第一优先级,B的优先级为第二优先级,C的优先级为第三优先级。即优先级的个数为三个。
S202:根据所述优先级个数对应建立消息队列,其中,每个所述消息队列中携带与所述各子业务的处理优先级对应的等级标识。
具体的,在确定好处理优先级个数之后,根据处理优先级个数对应建立消息队列。其中,消息队列可以是Kafka、SQS、ActiveMQ等消息中间件。此外,每个优先级可以对应建立一个消息队列,也可以对应建立多个消息队列。例如,待处理业务有A、B、C和D四个子业务,且对应着第一优先级、第二优先级、第三优先级和第四优先级共四个优先级,则分别为每个优先级对应建立一个消息队列,或者为每个优先级对应建立多个消息队列。此外,还可以根据每个优先级对应的子业务的消息数量的多少来确定建立的消息队列的个数。例如,若某个优先级的对应的子业务的消息个数超过预设阈值,则比其他未超过阈值的消息对应的消息队列的个数加一。且本实施例只是列举了几个可以实现的方式,其他可以实现的消息队列的建立方式也在本申请的保护范围内。
此外,在建立好消息队列之后,为了将消息队列与相同等级的消息对应起来,可以为每个消息队列分配一个与子业务的处理优先级对应的等级标识。例如,可以为第一优先级对应的消息队列分配等级标识001,为第二优先级对应的消息队列分配等级标识002,为第三优先级对应的消息队列分配等级标识003,为第四优先级对应的消息队列分配等级标识004。还可以为第一优先级对应的消息队列分配等级标识a,为第二优先级对应的消息队列分配等级标识b,为第三优先级对应的消息队列分配等级标识c,为第四优先级对应的消息队列分配等级标识d。当然,其他等级标识的表示方式也在本申请方案的保护范围内。
S203:根据所述等级标识将所述各子业务的对应的消息分别存储至对应的消息队列中。
具体的,在为消息队列分配完等级标识之后,可以根据等级标识将子业务的消息分别对应存储至对应的消息对应中。例如,可以将第一优先级的子业务对应的消息存储至等级标识为001的消息队列中。
S204:从存储消息后的消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
具体的,在将消息存储至消息队列中之后,可以根据待处理业务的实际需求分别从消息队列中获取消息进行处理,进而实现待处理业务对应的功能。
此外,在获取消息时,一般先从第一优先级对应的等级标识的消息队列中进行获取,优先级高的消息队列中消息处理完成之后,再从第二优先级对应的等级标识的消息队列中获取消息。若有特殊情况,需要兼容处理处理优先级高的子业务和处理优先级低的子业务,可以根据系统资源和实际需求分配处理。例如,可以分配10份系统资源处理优先级高的子业务,分配2份系统资源处理优先级低的子业务。还可以根据分配处理时长。例如可以为处理优先级高的子业务分配10分钟的处理时长,再为处理优先级低的子业务分配2分钟的处理时长,并如此循环进行时长的分配等。
采用上述方案后,能根据待处理业务中各子业务的处理优先级对应建立消息队列,然后将该优先级对应的子业务的消息存储至对应的消息队列中,再根据各子业务的处理优先级依次从消息队列中获取子业务对应的消息进行处理,无需在处理消息前,先对消息进行分类,然后再处理分类后的消息,提高了消息队列中消息的处理效率,进而保证了业务的正常使用。
基于图2的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
在一个具体实施方式中,如图3所示,为本发明另一实施例提供的消息处理方法的流程示意图,在所述从存储消息后的消息队列中获取所述各子业务,并发送至消息处理系统进行处理,实现所述各子业务对应的功能之后,还可以包括:
S301:获取每个所述消息队列中的消息剩余个数。
S302:根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力。
具体的,消息处理能力可以表现在最终CPU每秒占有时间或时间比率,也可以是每隔预设时长内消费的消息个数。影响消息处理能力的因子除了业务自身定义的优先级外,当前队列消息的积压量、消费此队列的线程数、机器硬件资源等等,甚至包括积压消息数量的豁免值。
例如,Wq1…Wqn分别为队列q1…qn的原始静态权重,队列消息剩余个数S。Wq1…Wqn的值大小代表各自队列的消费优先级,W越大表示消费优先级越高,为了便于计算,建议为正整数,并且优先级数建议不超过10。
以队列消息剩余个数S为例:
Sq1…Sqn分别为队列q1…qn的当前时刻队列中的消息剩余个数,消息队列qn的时间跨度Lqn作为调度后的消息处理能力。
S303:根据每个所述消息队列的消息处理能力更新每个所述消息队列的等级标识。
S304:根据更新后的每个消息队列的等级标识依次从所述消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
具体的,在确定了更新后的消息处理能力Lqn之后,可以根据消息处理能力调整队列的处理顺序。例如,可以先处理消息处理能力低的消息队列预设时长,避免造成消息队列中消息的积压。还可以每处理一段时长之后,重新更新消息队列的消息处理能力,然后再根据更新之后的消息处理能力调整消息队列的中消息的处理顺序。
在一个具体实施方式中,在所述根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力之后,还可以包括:
根据每个所述消息队列中的消息剩余个数和消息处理能力确定每个所述消息队列对应的消息处理时长。
若任一目标消息队列的消息处理时长大于预设的延迟时长,则根据所述目标消息队列的消息剩余个数、消息处理能力和所述延迟时长确定待分配系统资源。
根据所述待分配系统资源为所述目标消息队列分配系统资源。
具体的,在确定了消息队列中消息的剩余个数和消息处理能力之后,可以根据表达式tqn=Sqn/Lqn确定每个消息队列对应的消息处理时长。然后判断是否有消息队列的消息处理时长大于预设的延迟时长Tqn。在没其他影响因子作用下,可以计算出当前计算资源投入下,我们需要花费的时间tqn=Sqn/Lqn,当tqn>Tqn时,代表消息积压可能会导致处理延迟,需要投入更多的外部计算资源。在此情况下,需要确定多投入的待分配系统资源。其中,可以根据表达式Rqn=Sqn/(Tqn*Lqn)-1来确定多投入的待分配系统资源。且当前投入的计算资源为单位1。通过此动态计算,可以实现待分配系统资源的量化伸缩,合理优化系统资源分配。
在一个具体实施方式中,所述根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力,可以包括:
其中,Lqi为第i个消息队列的消息处理能力,Wqi为第i个消息队列中存储的消息的处理优先级,λ是消息处理能力步长,pi为队列权重相对量(pi>0),Sqi为第i个消息队列中的消息剩余个数,n为消息队列的个数。
具体的,如图4所示,为本发明实施例提供的确定消息处理能力的函数应用示意图,在该实施例中,确定消息处理能力的函数为幂函数,Y=aXn,在a>0,n>=1x>0时,X越大,Y越大,n越大,Y亦越大。其中,λ是消息处理能力步长,越大表示单位跨度越大。pi为队列权重相对量(pi>0),其值越大权重越高。由幂函数的特性,队列权重大,其相关影响因子的微小波动会被放大,进而表现在队列调整后的消息处理能力上。
在一个具体实施方式中,所述根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力,可以包括:
其中,Lqi为第i个消息队列的消息处理能力,Wqi为第i个消息队列中存储的消息的处理优先级,Sqi为第i个消息队列中的消息剩余个数,n为消息队列的个数。
具体的,如图5所示,为本发明另一实施例提供的确定消息处理能力的函数应用示意图,在该实施例中,确定消息处理能力的函数为对数函数,为了保持和幂函数理解一致,即优先级越大,消息处理能力越大,若为1,则跳跃为0。当为0时,则跳跃为1。此外,由对数函数的特性可知,队列权重大,其相关影响因子的波动亦可以表现在队列调整后的消息处理能力上。
在一个具体实施方式中,所述方法还可以包括:若任一消息队列的消息处理时长均不大于所述延迟时长,则继续从消息队列中获取未处理的子业务对应的消息,并发送至消息处理系统进行处理,实现未处理的子业务对应的功能。
此外,在一个具体实施方式中,所述方法还可以包括:在实际应用中,消息积压量、消息处理能力等众多因子都是动态变化的,并且实际环境的权限和获取能力也影响着因子的变化,如需要精密计算,需要引入时间维度t,以指数模型来进一步得到如下表达式:
其中,n表示消息队列的个数,Pqit表示t时刻的qi容器流入量(速率),Cqi初始的容器流出速率(大于0),Wqit表示t时刻的情绪(惩罚)因子,Lqi表示消息处理能力,当容器累积量超过正常SLA(Service Level Agreement,服务等级协议)规定的响应时效,即现在时刻t队列里的积压消息量Sqi在Lqi的处理速率下,没法在SLA规定的响应时效下完成处理任务
用户情绪可能会随时间推移而急剧变化。对于此拥堵现象,以指数级的增长反映在迫切需要提高此容器的消费速率上,当所有情绪因子都非初始值的时候,表明当前所有容器均超过了用户的正常忍受范围内,现有的资源情况下无法通过内部调整消费速率达到整体业务平衡,可以通过扩容保证所有业务正常运行。
本方案可以在业务最大容忍时效性下,利用优先级策略合理分配服务器资源,充分利用现有服务器资源进行流量削峰;在云原生环境下,可以量化弹性伸缩规模,保证业务可靠性和稳定性。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置,如图6所示,为本发明实施例提供的消息处理装置的结构示意图,可以包括:触控模块601,获取待处理业务中各子业务的处理优先级,并根据所述各子业务的处理优先级确定优先级个数。
处理模块602,用于用于根据所述优先级个数对应建立消息队列,其中,每个所述消息队列中携带与所述各子业务的处理优先级对应的等级标识。
所述处理模块602,还用于根据所述等级标识将所述各子业务的对应的消息分别存储至对应的消息队列中。
所述处理模块602,还用于从存储消息后的消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
在一个具体实施方式中,所述处理模块,还可以用于:
获取每个所述消息队列中的消息剩余个数。
根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力。
根据每个所述消息队列的消息处理能力更新每个所述消息队列的等级标识。
根据更新后的每个消息队列的等级标识依次从所述消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
在一个具体实施方式中,所述处理模块,还可以用于:
根据每个所述消息队列中的消息剩余个数和消息处理能力确定每个所述消息队列对应的消息处理时长。
若任一目标消息队列的消息处理时长大于预设的延迟时长,则根据所述目标消息队列的消息剩余个数、消息处理能力和所述延迟时长确定待分配系统资源。
根据所述待分配系统资源为所述目标消息队列分配系统资源。
在一个具体实施方式中,所述处理模块,还可以用于:
其中,Lqi为第i个消息队列的消息处理能力,Wqi为第i个消息队列中存储的消息的处理优先级,λ是消息处理能力步长,pi为队列权重相对量(pi>0),Sqi为第i个消息队列中的消息剩余个数,n为消息队列的个数。
在一个具体实施方式中,所述处理模块,还可以用于:
其中,Lqi为第i个消息队列的消息处理能力,Wqi为第i个消息队列中存储的消息的处理优先级,Sqi为第i个消息队列中的消息剩余个数,n为消息队列的个数。
在一个具体实施方式中,所述处理模块,还可以用于:若任一消息队列的消息处理时长均不大于所述延迟时长,则继续从消息队列中获取未处理的子业务对应的消息,并发送至消息处理系统进行处理,实现未处理的子业务对应的功能。
本发明实施例提供的装置,可以实现上述如图2所示的实施例的方法,其实现原理和技术效果类似,此处不再赘述。
图7为本发明实施例提供的消息处理设备的硬件结构示意图。如图7所示,本实施例提供的设备700包括:至少一个处理器701和存储器702。其中,处理器701、存储器702通过总线703连接。
在具体实现过程中,至少一个处理器701执行所述存储器702存储的计算机执行指令,使得至少一个处理器701执行上述方法实施例中的方法。
处理器701的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例的消息处理方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种消息处理方法,其特征在于,包括:
获取待处理业务中各子业务的处理优先级,并根据所述各子业务的处理优先级确定优先级个数;
根据所述优先级个数对应建立消息队列,其中,每个所述消息队列中携带与所述各子业务的处理优先级对应的等级标识;
根据所述等级标识将所述各子业务的对应的消息分别存储至对应的消息队列中;
从存储消息后的消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
2.根据权利要求1所述的方法,其特征在于,在所述从存储消息后的消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能之后,还包括:
获取每个所述消息队列中的消息剩余个数;
根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力;
根据每个所述消息队列的消息处理能力更新每个所述消息队列的等级标识;
根据更新后的每个消息队列的等级标识依次从所述消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
3.根据权利要求2所述的方法,其特征在于,在所述根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力之后,还包括:
根据每个所述消息队列中的消息剩余个数和消息处理能力确定每个所述消息队列对应的消息处理时长;
若任一目标消息队列的消息处理时长大于预设的延迟时长,则根据所述目标消息队列的消息剩余个数、消息处理能力和所述延迟时长确定待分配系统资源;
根据所述待分配系统资源为所述目标消息队列分配系统资源。
6.根据权利要求3所述的方法,其特征在于,还包括:
若任一消息队列的消息处理时长均不大于所述延迟时长,则继续从消息队列中获取未处理的子业务对应的消息,并发送至消息处理系统进行处理,实现未处理的子业务对应的功能。
7.一种消息处理装置,其特征在于,包括:
触控模块,获取待处理业务中各子业务的处理优先级,并根据所述各子业务的处理优先级确定优先级个数;
处理模块,用于根据所述优先级个数对应建立消息队列,其中,每个所述消息队列中携带与所述各子业务的处理优先级对应的等级标识;
所述处理模块,还用于根据所述等级标识将所述各子业务的对应的消息分别存储至对应的消息队列中;
所述处理模块,还用于从存储消息后的消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
8.根据权利要求7所述的装置,其特征在于,所述处理模块,还用于:
获取每个所述消息队列中的消息剩余个数;
根据每个所述消息队列中的消息剩余个数和所述消息队列的等级标识确定每个所述消息队列的消息处理能力;
根据每个所述消息队列的消息处理能力更新每个所述消息队列的等级标识;
根据更新后的每个消息队列的等级标识依次从所述消息队列中获取所述各子业务对应的消息,并发送至消息处理系统进行处理,实现所述各子业务对应的功能。
9.一种消息处理设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至6任一项所述的消息处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至6任一项所述的消息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186608.3A CN111404838A (zh) | 2020-03-17 | 2020-03-17 | 消息处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010186608.3A CN111404838A (zh) | 2020-03-17 | 2020-03-17 | 消息处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111404838A true CN111404838A (zh) | 2020-07-10 |
Family
ID=71436339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010186608.3A Pending CN111404838A (zh) | 2020-03-17 | 2020-03-17 | 消息处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111404838A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099975A (zh) * | 2020-09-25 | 2020-12-18 | Oppo广东移动通信有限公司 | 一种消息处理方法及系统、存储介质 |
CN112363853A (zh) * | 2020-11-10 | 2021-02-12 | 平安普惠企业管理有限公司 | 基于Kafka系统的消息发布方法、装置、设备及介质 |
CN112396411A (zh) * | 2020-10-16 | 2021-02-23 | 深圳市科漫达智能管理科技有限公司 | 一种多个支付渠道的处理方法及相关装置 |
CN113162990A (zh) * | 2021-03-30 | 2021-07-23 | 杭州趣链科技有限公司 | 消息发送方法、装置、设备和存储介质 |
CN113365105A (zh) * | 2021-06-30 | 2021-09-07 | 北京奇艺世纪科技有限公司 | 一种内容生产控制方法、装置、设备及存储介质 |
CN115002224A (zh) * | 2022-05-26 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 消息处理方法、装置、系统、电子设备和存储介质 |
CN115348231A (zh) * | 2022-08-17 | 2022-11-15 | 北京蔚领时代科技有限公司 | 一种消息处理方法、装置、服务端及存储介质 |
CN116390167A (zh) * | 2023-04-24 | 2023-07-04 | 零束科技有限公司 | 车联网消息处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915254A (zh) * | 2011-08-02 | 2013-02-06 | 中兴通讯股份有限公司 | 任务管理方法及装置 |
CN106708607A (zh) * | 2015-11-12 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 消息队列的拥塞控制方法和装置 |
US20180324277A1 (en) * | 2017-05-03 | 2018-11-08 | International Business Machines Corporation | System and method for message queue configuration in a network |
CN110808922A (zh) * | 2019-10-29 | 2020-02-18 | 北京大米科技有限公司 | 一种消息处理方法、装置、存储介质及电子设备 |
-
2020
- 2020-03-17 CN CN202010186608.3A patent/CN111404838A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915254A (zh) * | 2011-08-02 | 2013-02-06 | 中兴通讯股份有限公司 | 任务管理方法及装置 |
CN106708607A (zh) * | 2015-11-12 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 消息队列的拥塞控制方法和装置 |
US20180324277A1 (en) * | 2017-05-03 | 2018-11-08 | International Business Machines Corporation | System and method for message queue configuration in a network |
CN110808922A (zh) * | 2019-10-29 | 2020-02-18 | 北京大米科技有限公司 | 一种消息处理方法、装置、存储介质及电子设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099975A (zh) * | 2020-09-25 | 2020-12-18 | Oppo广东移动通信有限公司 | 一种消息处理方法及系统、存储介质 |
CN112099975B (zh) * | 2020-09-25 | 2024-03-26 | Oppo广东移动通信有限公司 | 一种消息处理方法及系统、存储介质 |
CN112396411A (zh) * | 2020-10-16 | 2021-02-23 | 深圳市科漫达智能管理科技有限公司 | 一种多个支付渠道的处理方法及相关装置 |
CN112363853A (zh) * | 2020-11-10 | 2021-02-12 | 平安普惠企业管理有限公司 | 基于Kafka系统的消息发布方法、装置、设备及介质 |
CN113162990A (zh) * | 2021-03-30 | 2021-07-23 | 杭州趣链科技有限公司 | 消息发送方法、装置、设备和存储介质 |
CN113365105A (zh) * | 2021-06-30 | 2021-09-07 | 北京奇艺世纪科技有限公司 | 一种内容生产控制方法、装置、设备及存储介质 |
CN113365105B (zh) * | 2021-06-30 | 2022-12-06 | 北京奇艺世纪科技有限公司 | 一种内容生产控制方法、装置、设备及存储介质 |
CN115002224A (zh) * | 2022-05-26 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 消息处理方法、装置、系统、电子设备和存储介质 |
CN115348231A (zh) * | 2022-08-17 | 2022-11-15 | 北京蔚领时代科技有限公司 | 一种消息处理方法、装置、服务端及存储介质 |
CN115348231B (zh) * | 2022-08-17 | 2023-12-12 | 北京蔚领时代科技有限公司 | 一种消息处理方法、装置、服务端及存储介质 |
CN116390167A (zh) * | 2023-04-24 | 2023-07-04 | 零束科技有限公司 | 车联网消息处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111404838A (zh) | 消息处理方法、装置及设备 | |
CN112000675B (zh) | 行情数据更新方法、装置、终端设备及存储介质 | |
US11095531B2 (en) | Service-aware serverless cloud computing system | |
CN111092814B (zh) | 业务办理请求报文分配方法及设备 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
CN113608751B (zh) | 推理服务平台的运行方法、装置、设备及存储介质 | |
CN114629960A (zh) | 资源调度方法、装置、系统、设备、介质和程序产品 | |
CN112596985A (zh) | 一种it资产探测方法、装置、设备和介质 | |
CN110599343B (zh) | 合约数据处理方法、相关设备及介质 | |
CN111597041B (zh) | 一种分布式系统的调用方法、装置、终端设备及服务器 | |
CN112565391A (zh) | 调整工业互联网平台中实例的方法、装置、设备和介质 | |
CN114979282B (zh) | 任务调度方法、装置、存储介质以及电子设备 | |
CN108279968B (zh) | 一种虚拟机资源的调度方法及装置 | |
CN106874336B (zh) | 数据撮合方法、数据查询方法及装置 | |
CN111311150B (zh) | 配送任务分组方法、平台、电子设备及存储介质 | |
CN114528109A (zh) | 资源请求方法、装置和系统 | |
CN115063010A (zh) | 配送资源的评估方法、装置、电子设备及存储介质 | |
CN113781214A (zh) | 基于PoW的提升交易TPS的打包方法、装置及设备 | |
CN114612037A (zh) | 一种仓库信息的管理方法和系统 | |
CN110516922B (zh) | 分配数据处理对象的方法及装置 | |
CN113037512A (zh) | 网络资源消耗的统计方法、装置和服务器 | |
CN112882940A (zh) | 用例任务调度方法、系统、装置、设备及存储介质 | |
CN116719632B (zh) | 任务调度方法、装置、设备以及介质 | |
CN111861612A (zh) | 一种资源分配方法、装置、设备及介质 | |
CN113196238B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221123 Address after: 200444 3F, No. 15, Lane 2999, Hutai Road, Baoshan District, Shanghai Applicant after: Shanghai Yunli Information Technology Co.,Ltd. Address before: 200444 Floor 3, No. 13, Lane 2999, Hutai Road, Baoshan District, Shanghai Applicant before: Shanghai Yunli Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200710 |