一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

业务消息的处理方法、装置、存储介质及电子装置与流程

2023-08-06 12:26:18 来源:中国专利 TAG:


1.本技术涉及智慧家庭技术领域,具体而言,涉及一种业务消息的处理方法、装置、存储介质及电子装置。


背景技术:

2.目前,随着智能家电科技的不断更新,人们对智能家电的业务需求不断变大,因此,大大增加了出现智能家电的业务高峰的概率。由于在智能家电的业务高峰期间,往往会因为业务消息积压导致业务消息无法及时处理,这会降低业务消息的处理消息,并影响了用户的使用体验感。
3.因此,相关技术中,存在如何提高业务消息的处理效率的技术问题。
4.针对相关技术中,如何提高业务消息的处理效率的技术问题,尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种业务消息的处理方法、装置、存储介质及电子装置,以至少解决相关技术中,如何提高业务消息的处理效率的技术问题。
6.根据本技术实施例的一个实施例,提供了一种业务消息的处理方法,包括:响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理。
7.在一个示例性实施例中,通过以下方式得到所述多组业务消息:获取为所述订单消息预设的分组个数所对应的第一数值,并确定出所述订单消息包含的标识信息;对所述标识信息进行哈希加密,得到所述标识信息的哈希值;使用所述哈希值对所述第一数值进行取余操作,得到余值,并根据所述余值对所述订单消息进行分组,得到所述多组业务消息。
8.在一个示例性实施例中,根据所述余值对所述订单消息进行分组,得到所述多组业务消息,包括:在所述订单消息包含不同标识信息的情况下,获取所述不同标识信息的哈希值对应的多个余值;获取所述多个余值中的一组相同余值,其中,所述一组相同余值至少包括两个相同的余值;从所述订单消息中确定出与所述一组相同余值对应的一组业务消息;针对所述多个余值中的多组相同余值,得到所述多组业务消息。
9.在一个示例性实施例中,将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,包括:从所述订单消息包含的所有标识信息中获取具有相同余值的哈希值对应的同一标识信息;确定出包含所述同一标识信息的同一组业务消息,将所述同一组业务消息存储至同一消息队列中;和/或,针对分别包含不同标识信息的不同组业务消息,将所述不同组业务消息分别存储至不同的消息队列。
10.在一个示例性实施例中,在将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中之后,所述方法还包括:获取所述每一个消息队列存储的一组业务消息的子业务消息;对所述每一个消息队列中的子业务消息进行业务规则验证,其中,所述业务规则表示所述子业务消息的执行顺序的合法性,且所述子业务消息的执行顺序与所述子业务消息的生成顺序一致;在确定所述不同的消息队列中存在任一个消息队列中的子业务消息没有通过所述业务规则验证的情况下,向所述消费端发送提示消息,其中,所述提示消息用于提示所述任一个消息队列的子业务消息没有通过所述业务规则验证。
11.在一个示例性实施例中,使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理,包括:确定出所述每一个消息队列的队列长度对应的第二数值与所述每一个消息队列中的子业务消息的消息个数对应的第三数值;在确定所述第二数值不小于所述第三数值的情况下,根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的处理顺序;基于所述处理顺序使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理。
12.在一个示例性实施例中,使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理,包括:根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的出队时刻;基于所述出队时刻的先后顺序将所述每一个消息队列中的子业务消息依次取出;在所述每一个消息队列中的子业务消息被依次取出后,确定出所述每一个消息队列中的子业务消息的消息个数所对应的第四数值,以及所述每一个消息队列的队列长度对应的第五数值;在确定所述第五数值大于所述第四数值的情况下,根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的处理顺序;基于所述处理顺序使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理。
13.根据本技术实施例的另一个实施例,还提供了一种业务消息的处理装置,包括:请求响应模块,用于响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;消息存储模块,用于将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;并行处理模块,用于针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理。
14.根据本技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述业务消息的处理方法。
15.根据本技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的业务消息的处理方法。
16.在本技术实施例中,响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理;采用上述技术方案,解决了如何提高业务消息的处理效率的技术问题,进而提高了业务消息的处理效率。
附图说明
17.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
18.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1是本技术实施例的一种业务消息的处理方法的硬件环境示意图;
20.图2是根据本技术实施例的业务消息的处理方法的流程图;
21.图3是根据本技术实施例的业务消息的处理方法的示意图(一);
22.图4是根据本技术实施例的业务消息的处理方法的示意图(二);
23.图5是根据本技术实施例的消息队列的示意图;
24.图6是根据本技术实施例的业务消息的处理方法的流程示意图;
25.图7是根据本技术实施例的一种业务消息的处理装置的结构框图。
具体实施方式
26.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
27.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.根据本技术实施例的一个方面,提供了一种业务消息的处理方法。该业务消息的处理方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligence house)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述业务消息的处理方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
29.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智
能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
30.在本实施例中提供了一种业务消息的处理方法,应用于上述终端设备,图2是根据本技术实施例的业务消息的处理方法的流程图,该流程包括如下步骤:
31.步骤s202,响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;
32.步骤s204,将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;
33.步骤s206,针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理。
34.通过上述步骤,响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理,解决了相关技术中,如何提高业务消息的处理效率的技术问题,进而提高了业务消息的处理效率。
35.在一个示例性实施例中,可以通过以下方式得到所述多组业务消息:获取为所述订单消息预设的分组个数所对应的第一数值,并确定出所述订单消息包含的标识信息;对所述标识信息进行哈希加密,得到所述标识信息的哈希值;使用所述哈希值对所述第一数值进行取余操作,得到余值,并根据所述余值对所述订单消息进行分组,得到所述多组业务消息。
36.其中,需要说明的是,上述订单消息包含的标识信息为订单消息的唯一标识,例如可以理解为订单消息的订单编号。
37.对于上述使用所述哈希值对所述第一数值进行取余操作,得到余值的过程,例如第一数值为50,则使用哈希值对50进行取余操作,即hash%50,如果hash%50=0,则将余值为0的哈希值对应的订单消息确定为一组业务消息。
38.在一个示例性实施例中,进一步的,对于根据所述余值对所述订单消息进行分组,得到所述多组业务消息的过程,提出了以下实现步骤:步骤s11,在所述订单消息包含不同标识信息的情况下,获取所述不同标识信息的哈希值对应的多个余值;步骤s12,获取所述多个余值中的一组相同余值,其中,所述一组相同余值至少包括两个相同的余值;步骤s13,从所述订单消息中确定出与所述一组相同余值对应的一组业务消息;步骤s14,针对所述多个余值中的多组相同余值,得到所述多组业务消息。
39.可选的,对于同一余值,对应于同一标识信息;或者,也可以对应于不同标识信息,通过上述实施例,可以按照不同余值将上述订单消息分为多组业务消息。
40.在一个示例性实施例中,进一步的,还提供了一种将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中的实现方案,具体步骤包括:步骤s21,从所述订单消息包含的所有标识信息中获取具有相同余值的哈希值对应的同一标识信息;步骤s22,确定出包含所述同一标识信息的同一组业务消息,将所述同一组业务消息存储至同一消息队列中;步骤s23,和/或,针对分别包含不同标识信息的不同组业务消息,将所述不同
组业务消息分别存储至不同的消息队列。
41.在一个示例性实施例中,在执行上述步骤s204中将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中的技术方案之后,进一步的,还提出了如下过程:获取所述每一个消息队列存储的一组业务消息的子业务消息;对所述每一个消息队列中的子业务消息进行业务规则验证,其中,所述业务规则表示所述子业务消息的执行顺序的合法性,且所述子业务消息的执行顺序与所述子业务消息的生成顺序一致;在确定所述不同的消息队列中存在任一个消息队列中的子业务消息没有通过所述业务规则验证的情况下,向所述消费端发送提示消息,其中,所述提示消息用于提示所述任一个消息队列的子业务消息没有通过所述业务规则验证。
42.其中,在确定所述不同的消息队列中存在任一个消息队列中的子业务消息没有通过所述业务规则验证的情况下,还可以将其他消息队列中的子业务消息进行持久化存储;其中,所述其他消息队列表示所述不同的消息队列中除了所述任一个消息队列的消息队列。
43.在确定所述每一个消息队列中的业务消息均通过所述业务规则验证的情况下,将所述不同的消息队列中的业务消息进行持久化存储。
44.在一个示例性实施例中,对于上述步骤s206中使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理的过程,具体可以通过如下步骤实现:步骤s31,确定出所述每一个消息队列的队列长度对应的第二数值与所述每一个消息队列中的子业务消息的消息个数对应的第三数值;步骤s32,在确定所述第二数值不小于所述第三数值的情况下,根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的处理顺序;步骤s33,基于所述处理顺序使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理。
45.其中,所述根据所述每一个消息队列中的业务消息的入队时刻确定出所述每一个消息队列中的业务消息的处理顺序的过程,可以理解为根据所述每一个消息队列中的业务消息的入队时刻的先后顺序确定出所述每一个消息队列中的业务消息的处理顺序,例如,入队时刻越早,处理顺序越早。
46.在一个示例性实施例中,上述步骤s206使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理的技术方案还可以包括以下实现步骤:步骤s41,根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的出队时刻;步骤s42,基于所述出队时刻的先后顺序将所述每一个消息队列中的子业务消息依次取出;步骤s43,在所述每一个消息队列中的子业务消息被依次取出后,确定出所述每一个消息队列中的子业务消息的消息个数所对应的第四数值,以及所述每一个消息队列的队列长度对应的第五数值;步骤s44,在确定所述第五数值大于所述第四数值的情况下,根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的处理顺序;步骤s45,基于所述处理顺序使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理。
47.为了更好的理解上述业务消息的处理方法的过程,以下再结合可选实施例对上述业务消息的处理的实现方法流程进行说明,但不用于限定本技术实施例的技术方案。
48.在本实施例中提供了一种业务消息的处理方法,图3是根据本技术实施例的业务
消息的处理方法的示意图(一),如图3所示,在rocketmq云端部署多个消费端(即图3的consumera,consumerb,consumerc,consumerd)为一个消费组,一个消费组订阅同一个主题(topic),对于订单消息,基于订单的产生顺序“创建订单-》支付订单-》订单完成”可以得到业务消息“订单创建,订单支付,订单完成”。对于每一消费端均存在对应的服务端对业务消息进行有序消费,具体的,对于业务消息“订单创建、订单付款、订单完成”,每一消费端也需按照此顺序消费。同时对于一组消费端产生的多个订单消息,可以使用多个对应的消费端实现并行消费。
49.其中,对于rocketmq云端服务器,还存在以下概念需要说明:
50.1、消息(message):表示信息传输的物理载体。
51.2、主题(topic):是rocketmq进行消息订阅的基本单位,表示一类消息的集合,同一主题可以包含若干条消息,一个消费端只可以订阅和消费同一主题的消息。
52.3、消息队列(queue):表示消息存储的物理实体。
53.4、消息标识(key):由用户指定的业务相关的唯一标识,例如对于订单消息,消息标识可以理解为订单消息的订单编号。
54.在本实施例中提供了一种业务消息的处理方法,图4是根据本技术实施例的业务消息的处理方法的示意图(二),如图4所示,以消费端consumerc为例,对订单消息进行分组。预计分组为80组,获取订单消息的消息标识(即上述标识信息)。根据md5算法对消息标识加密,获取消息标识的哈希值,并将哈希值和80取模,得到取值范围为[0,79]的余值。如果hash%80=1,则将对应的订单消息确定为一组业务消息,存储至redis_queue_1队列。如果hash%80=0,则将对应的订单消息确定为一组业务消息,存储至redis_queue_0队列中。
[0055]
在一个实施例中,结合图5对消息队列存储的子业务消息进行说明,图5是根据本技术实施例的消息队列的示意图,如图5所示,消息队列中包含“订单1创建”、“订单1支付”、“订单1完成”等子业务消息。将接收到的业务消息按照右入左出的原则,将业务消息从消息队列的队尾存储到消息队列中,并对消息队列进行持久化。当需要从消息队列取出子业务消息时,从消息队列的队首依次取出“订单1创建”、“订单1支付”、“订单1完成”等子业务消息。
[0056]
进一步的,在取出子业务消息之后,可以使用多线程调度模块从线程池内调用多个线程,从而使用多个对子业务消息进行并行处理。例如,启动80个线程,每个线程均指定有一个消息队列,则对redis_queue_0到redis_queue_79的这80个消息队列,每个消息队列都具有指定线程按照先入先出的队列特性对子业务消息进行处理,依次执行业务逻辑。
[0057]
在本实施例中,每执行完成一个子业务消息,就将其从队列中弹出。并且对于每一消息队列,持续扫描,每有业务消息存储至消息队列,则对其进行处理。
[0058]
上述实施例通过多个线程高效处理业务消息,将业务消息消费与业务消息处理过程解耦,减少了业务消息的积压概率,提高了业务消息的处理效率。
[0059]
相比于图3提供的业务消息的处理方法,图4提供的业务消息的处理方法可以在业务执行时间较长或者业务高峰时,同时使用多个线程并行处理业务消息,提高了执行效率。
[0060]
在一个实施例中,图6是根据本技术实施例的业务消息的处理方法的流程示意图,如图6所示,在系统服务启动之后,可以同时执行步骤s601至s607,以及步骤s602至s606这两组步骤,直至系统服务停止。
[0061]
具体的,步骤s601至s607如下:
[0062]
步骤s601,启动多线程任务;
[0063]
步骤s603,使用多个线程并行处理消息队列中的子业务消息;
[0064]
步骤s605,依次从消息队列的队首弹出已处理的子业务消息;
[0065]
步骤s607,执行业务逻辑。
[0066]
步骤s602至s606如下:
[0067]
步骤s602,消费端订阅主题;
[0068]
步骤s604,消费端接收到主题对应的订单消息,将订单消息分为多组业务消息;其中,在步骤s604中,根据订单消息的消息标识和分组个数的取余结果将订单消息分为多组业务消息;
[0069]
步骤s606,将多组业务消息分别存储至多个消息队列。其中,本步骤中,在将每一组业务消息存储至消息队列时,按照先入先出原则,将业务消息从消息队列的队尾存储至消息队列,以保证队尾的子业务消息为最新存入的。
[0070]
通过上述步骤,将业务消息消费与业务消息处理解耦,减少业务消息的积压概率,通过多线程处理业务消息,提高业务消息的执行效率。
[0071]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
[0072]
图7是根据本技术实施例的一种业务消息的处理装置的结构框图,如图7所示,包括:
[0073]
请求响应模块72,用于响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;
[0074]
消息存储模块74,用于将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;
[0075]
并行处理模块76,用于针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理。
[0076]
通过上述装置,响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理,解决了相关技术中,如何提高业务消息的处理效率的技术问题,进而提高了业务消息的处理效率。
[0077]
在一个示例性实施例中,上述消息存储模块74还包括得到单元,用于通过以下方式得到所述多组业务消息:获取为所述订单消息预设的分组个数所对应的第一数值,并确定出所述订单消息包含的标识信息;对所述标识信息进行哈希加密,得到所述标识信息的哈希值;使用所述哈希值对所述第一数值进行取余操作,得到余值,并根据所述余值对所述订单消息进行分组,得到所述多组业务消息。
[0078]
其中,需要说明的是,上述订单消息包含的标识信息为订单消息的唯一标识,例如可以理解为订单消息的订单编号。
[0079]
对于上述使用所述哈希值对所述第一数值进行取余操作,得到余值的过程,例如第一数值为50,则使用哈希值对50进行取余操作,即hash%50,如果hash%50=0,则将余值为0的哈希值对应的订单消息确定为一组业务消息。
[0080]
在一个示例性实施例中,进一步的,上述得到单元还用于执行以下实现步骤:步骤s11,在所述订单消息包含不同标识信息的情况下,获取所述不同标识信息的哈希值对应的多个余值;步骤s12,获取所述多个余值中的一组相同余值,其中,所述一组相同余值至少包括两个相同的余值;步骤s13,从所述订单消息中确定出与所述一组相同余值对应的一组业务消息;步骤s14,针对所述多个余值中的多组相同余值,得到所述多组业务消息。
[0081]
可选的,对于同一余值,对应于同一标识信息;或者,也可以对应于不同标识信息,通过上述实施例,可以按照不同余值将上述订单消息分为多组业务消息。
[0082]
在一个示例性实施例中,进一步的,上述得到单元还用于执行:步骤s21,从所述订单消息包含的所有标识信息中获取具有相同余值的哈希值对应的同一标识信息;步骤s22,确定出包含所述同一标识信息的同一组业务消息,将所述同一组业务消息存储至同一消息队列中;步骤s23,和/或,针对分别包含不同标识信息的不同组业务消息,将所述不同组业务消息分别存储至不同的消息队列。
[0083]
在一个示例性实施例中,进一步的,上述业务消息的处理装置还包括发送模块,用于:获取所述每一个消息队列存储的一组业务消息的子业务消息;对所述每一个消息队列中的子业务消息进行业务规则验证,其中,所述业务规则表示所述子业务消息的执行顺序的合法性,且所述子业务消息的执行顺序与所述子业务消息的生成顺序一致;在确定所述不同的消息队列中存在任一个消息队列中的子业务消息没有通过所述业务规则验证的情况下,向所述消费端发送提示消息,其中,所述提示消息用于提示所述任一个消息队列的子业务消息没有通过所述业务规则验证。
[0084]
其中,在确定所述不同的消息队列中存在任一个消息队列中的子业务消息没有通过所述业务规则验证的情况下,还可以将其他消息队列中的子业务消息进行持久化存储;其中,所述其他消息队列表示所述不同的消息队列中除了所述任一个消息队列的消息队列。
[0085]
在确定所述每一个消息队列中的业务消息均通过所述业务规则验证的情况下,将所述不同的消息队列中的业务消息均进行持久化存储。
[0086]
在一个示例性实施例中,上述并行处理模块76还包括第一处理单元,用于执行以下步骤:步骤s31,确定出所述每一个消息队列的队列长度对应的第二数值与所述每一个消息队列中的子业务消息的消息个数对应的第三数值;步骤s32,在确定所述第二数值不小于所述第三数值的情况下,根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的处理顺序;步骤s33,基于所述处理顺序使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理。
[0087]
其中,所述根据所述每一个消息队列中的业务消息的入队时刻确定出所述每一个消息队列中的业务消息的处理顺序的过程,可以理解为根据所述每一个消息队列中的业务消息的入队时刻的先后顺序确定出所述每一个消息队列中的业务消息的处理顺序,例如,
入队时刻越早,处理顺序越早。
[0088]
在一个示例性实施例中,上述并行处理模块76还包括第二处理单元,用于执行以下实现步骤:步骤s41,根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的出队时刻;步骤s42,基于所述出队时刻的先后顺序将所述每一个消息队列中的子业务消息依次取出;步骤s43,在所述每一个消息队列中的子业务消息被依次取出后,确定出所述每一个消息队列中的子业务消息的消息个数所对应的第四数值,以及所述每一个消息队列的队列长度对应的第五数值;步骤s44,在确定所述第五数值大于所述第四数值的情况下,根据所述每一个消息队列中的子业务消息的入队时刻确定出所述每一个消息队列中的子业务消息的处理顺序;步骤s45,基于所述处理顺序使用所述多个线程对所述每一个消息队列中的子业务消息进行并行处理。
[0089]
本技术的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
[0090]
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
[0091]
s1,响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;
[0092]
s2,将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;
[0093]
s3,针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理。
[0094]
本技术的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0095]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0096]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0097]
s1,响应于消费端发起的消费请求,获取所述消费请求中携带的订单消息;
[0098]
s2,将对所述订单消息进行分组所得到的多组业务消息存储至不同的消息队列中,其中,每一个消息队列存储有一组业务消息;
[0099]
s3,针对每一个消息队列,使用从线程池内调用的多个线程对所述每一个消息队列中的子业务消息进行并行处理。
[0100]
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0101]
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0102]
显然,本领域的技术人员应该明白,上述的本技术的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示
出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术不限制于任何特定的硬件和软件结合。
[0103]
以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表