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

一种调节消息优先级的方法、装置、电子设备及存储介质与流程

2022-05-06 10:32:41 来源:中国专利 TAG:


1.本技术涉及通信技术领域,具体而言,涉及一种调节消息优先级的方法、装置、电子设备及存储介质。


背景技术:

2.agv(automatic guided vehicle)运输车、机器人或者机械臂等自动化设备在工厂、仓库等方面的应用越来越普及,这些自动化设备只要正常运行,就会产生大量的数据(消息),根据自动化设备的大小、成本等限制因素,一般这些自动化设备产生的数据(消息)都需要发送至控制系统的服务器,利用服务器强大的计算能力获得进一步的操作指令。
3.通常预先在控制系统中设置消息的优先级,使自动化设备根据消息的优先级的大小,逐一执行,由于消息的优先级是预先设定好在系统的,一般不会改变,但是在实际应用中,由于某些消息发送的主体在进行关键作业,或者在路上的关键位置,可能这个主体发送的消息就需要被优先处理,比如正在执行焊接任务的机械臂,在执行任务期间发送的消息应该被优先处理,携带运输货物的agv通过坑洼不平的路面、上坡路段、道路交叉口时发送的消息应该被重点关注,但目前的消息的优先级设定机制并未将此种情况进行考虑,容易发生紧急消息响应不及时,从而影响生产调度。


技术实现要素:

4.本技术的目的在于提供一种调节消息优先级的方法、装置、电子设备及存储介质,使紧急的消息得到及时响应,提高消息处理效率。
5.第一方面,本技术提供了一种调节消息优先级的方法,所述调节消息优先级的方法包括步骤:a1.获取消息主体发送的消息和工作信息;a2.获取所述消息的预设优先级;a3.根据所述工作信息获取工作状态系数;a4.把所述消息放入第一个消息队列;a5.通过所述第一个消息队列的第一消费者,根据所述消息的预设优先级和所述工作状态系数计算所述消息的优先值;a6.通过所述第一个消息队列的第一消费者,根据所述优先值把所述消息放入第二个消息队列的对应的第二主题类型中;a7.通过所述对应的第二主题类型的第二消费者对所述消息进行消费。
6.本技术提供的调节消息优先级的方法,通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值,由第一消费者根据优先值对消息的优先级重新进行调整,避免有一些消息主体在进行关键作业时发送的消息需要被优先处理却得不到及时处理,从而,使紧急的消息得到及时响应;通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中,通过对应的第二主
题类型的第二消费者对消息进行消费,对于不同的第二主题类型,分别由不同的第二消费者对第二主题类型中的消息进行消费,不同第二主题类型中的消息的消费过程互不影响,高优先值的消息和低优先值的消息会被放入不同的第二主题类型中,从而低优先值的消息的处理过程不会影响高优先值的消息的处理过程,而高优先值的消息的处理过程也不会影响低优先值的消息的处理过程,从而保证紧急的消息得到及时响应的同时,也能够避免非紧急消息等待时间过长,提高消息处理的效率。
7.优选地,步骤a2包括:确定所述消息的类型;根据所述消息的类型获取对应的预设优先级。
8.优选地,所述工作信息包括位置信息和状态信息;步骤a3包括:根据所述位置信息获取第一状态系数;根据所述状态信息获取第二状态系数;根据所述第一状态系数和所述第二状态系数计算所述工作状态系数。
9.本技术通过根据消息主体所处的位置及状态,综合计算得到该消息主体当前的工作状态系数,利用该工作状态系数对消息的优先级进行调整,能够比较合理地调整优先级,进一步使需要被优先处理的信息得到及时响应。
10.优选地,步骤a5包括:由所述第一个消息队列的第一消费者,计算所述消息的预设优先级和所述工作状态系数的乘积,得到所述优先值。
11.本技术通过计算消息的预设优先级和工作状态系数的乘积,得到优先值,消息的优先级重新按优先值的大小进行调整。
12.优选地,步骤a4包括:根据所述预设优先级把所述消息放入所述第一个消息队列的对应的第一主题类型中;步骤a5包括:通过所述对应的第一主题类型的第一消费者,根据所述消息的预设优先级和所述工作状态系数计算所述消息的优先值;步骤a6包括:通过所述对应的第一主题类型的第一消费者,根据所述优先值把所述消息放入所述第二个消息队列的所述对应的第二主题类型中。
13.本技术通过根据预设优先级把消息放入第一个消息队列的对应的第一主题类型中,对于不同的第一主题类型,分别由不同的第一消费者对第一主题类型中的消息进行消费,不同第一主题类型中的消息的消费过程互不影响,预设优先级高的消息和预设优先级低的消息会被放入不同的第一主题类型中,从而预设优先级低的消息的处理过程不会影响预设优先级高的消息的处理过程,而预设优先级高的消息的处理过程也不会影响预设优先级低的消息的处理过程,使预设优先级高的消息可以得到及时处理,一般地,预设优先级高的消息调整后的优先值比预设优先级低的消息调整后的优先值高的概率较大,因此,通过把不同预设优先级的消息放入不同的第一主题类型中进行并行处理,更有利于使需要被优
先处理的消息得到及时处理。
14.优选地,所述第二个消息队列包括多个不同的第二主题类型,各所述第二主题类型对应不同的优先值范围;步骤a6包括:通过所述第一个消息队列的第一消费者,根据所述优先值所处的范围,把所述消息放入第二个消息队列的对应的第二主题类型中。
15.优选地,步骤a7包括:通过所述对应的第二主题类型的多个所述第二消费者之一对所述消息进行消费。
16.第二方面,本技术提供了一种调节消息优先级的装置,包括:第一获取模块,用于获取消息主体发送的消息和工作信息;第二获取模块,用于获取所述消息的预设优先级;第三获取模块,用于根据所述工作信息获取工作状态系数;第一处理模块,用于把所述消息放入第一个消息队列;计算模块,用于通过所述第一个消息队列的第一消费者,根据所述消息的预设优先级和所述工作状态系数计算所述消息的优先值;第二处理模块,用于通过所述第一个消息队列的第一消费者,根据所述优先值把所述消息放入第二个消息队列的对应的第二主题类型中;执行模块,用于通过所述对应的第二主题类型的第二消费者对所述消息进行消费。
17.本技术提供的调节消息优先级的装置,通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值,由第一消费者根据优先值对消息的优先级重新进行调整,避免有一些消息主体在进行关键作业时发送的消息需要被优先处理却得不到及时处理,从而,使紧急的消息得到及时响应;通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中,通过对应的第二主题类型的第二消费者对消息进行消费,对于不同的第二主题类型,分别由不同的第二消费者对第二主题类型中的消息进行消费,不同第二主题类型中的消息的消费过程互不影响,高优先值的消息和低优先值的消息会被放入不同的第二主题类型中,从而低优先值的消息的处理过程不会影响高优先值的消息的处理过程,而高优先值的消息的处理过程也不会影响低优先值的消息的处理过程,从而保证紧急的消息得到及时响应的同时,也能够避免非紧急消息等待时间过长,提高消息处理的效率。
18.第三方面,本技术提供了一种电子设备,包括处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时,运行如前文所述调节消息优先级的方法中的步骤。
19.第四方面,本技术提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如前文所述调节消息优先级的方法中的步骤。
20.有益效果:本技术提供的调节消息优先级的方法、装置、电子设备及存储介质,通过获取消息主体发送的消息和工作信息;获取所述消息的预设优先级;根据所述工作信息获取工作状态系数;把所述消息放入第一个消息队列;通过所述第一个消息队列的第一消费者,根据所
述消息的预设优先级和所述工作状态系数计算所述消息的优先值;通过所述第一个消息队列的第一消费者,根据所述优先值把所述消息放入第二个消息队列的对应的第二主题类型中;通过所述对应的第二主题类型的第二消费者对所述消息进行消费;使紧急的消息得到及时响应,提高消息处理效率。
21.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术了解。
附图说明
22.图1为本技术提供的调节消息优先级的方法的流程图。
23.图2为本技术提供的调节消息优先级的装置的结构示意图。
24.图3为本技术提供的电子设备的结构示意图。
25.标号说明:1、第一获取模块;2、第二获取模块;3、第三获取模块;4、第一处理模块;5、计算模块;6、第二处理模块;7、执行模块;301、处理器;302、存储器;303、通信总线。
具体实施方式
26.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
28.由于消息的优先级是预先设定好在控制系统的,一般不会改变,但是在实际应用中,有一些消息主体在进行关键作业时发送的消息需要被优先处理的时候反而得不到及时处理。
29.请参照图1,图1是本技术提供了一种调节消息优先级的方法,调节消息优先级的方法包括步骤:a1.获取消息主体发送的消息和工作信息;a2.获取消息的预设优先级;a3.根据工作信息获取工作状态系数;a4.把消息放入第一个消息队列;a5.通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值;a6.通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中;a7.通过对应的第二主题类型的第二消费者对消息进行消费。
30.本技术提供的调节消息优先级的方法,通过第一个消息队列的第一消费者,根据
消息的预设优先级和工作状态系数计算消息的优先值,由第一消费者根据优先值对消息的优先级重新进行调整,避免有一些消息主体在进行关键作业时发送的消息需要被优先处理却得不到及时处理,从而,使紧急的消息得到及时响应;通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中,通过对应的第二主题类型的第二消费者对消息进行消费,对于不同的第二主题类型,分别由不同的第二消费者对第二主题类型中的消息进行消费,不同第二主题类型中的消息的消费过程互不影响,高优先值的消息和低优先值的消息会被放入不同的第二主题类型中,从而低优先值的消息的处理过程不会影响高优先值的消息的处理过程,而高优先值的消息的处理过程也不会影响低优先值的消息的处理过程,从而保证紧急的消息得到及时响应的同时,也能够避免非紧急消息等待时间过长,提高消息处理的效率。
31.具体地,消息主体是发送消息的设备,可以是agv运输车、机械臂、机器人等自动化设备。
32.具体地,可根据消息主体的类型和消息本身的类型,或仅根据消息本身的类型,预先为不同的消息设置预设优先级,具体设置规则可根据实际需要设置,此处不做限定。预设优先级可以代表该消息的处理等级或者紧急程度,预设优先级可以采用阿拉伯数字、字母或者其它符号表示,在本实施例中预设优先级优选采用阿拉伯数字表示,方便计算,其中,预设优先级越高,则对应的阿拉伯数字越大;例如机械臂的报警消息的预设优先级较高,设置为10,而机械臂启动消息的优先级较低,设置为1等,具体消息的预设优先级可根据消息的紧急程度设置对应的优先级数值,具体不限于此。
33.在实际应用中,一般消息的优先级都是事先设置好,在使用过程中根据事先设置好的优先级对消息进行处理,但是这样没有考虑到消息主体所处的环境,当消息主体处于关键的位置或者关键的状态的时候,该消息主体所发送的消息需要被优先处理,这样就会导致需要被优先处理的消息未能得到及时处理,因此,在本实例中考虑到消息主体的工作信息,例如工作的状态信息、位置信息等,根据该消息主体所处的工作状态及工作位置,设置相应的工作状态系数,由消息的预设优先级及工作状态系数,进一步确定其发送消息的优先值,避免处于关键状态下发送的紧急消息未得到及时处理。
34.具体地,把消息放入第一个消息队列,通过第一个消息队列的第一消费者,根据消息的优先级和工作状态系数计算消息的优先值,由第一消费者根据优先值对消息的优先级重新进行调整,并将消息放入第二个消息队列的对应的第二主题类型中,由对应的第二主题类型的第二消费者对消息进行消费,从而,及时响应优先级比较高的消息。
35.应当理解的是,第一消费者和第二消费者均是消息的消费方,是消息的出口(可参考kafka消息系统中的consumer),第一主题类型和第二主题类型是发布记录的类别或订阅源名称(可参考kafka消息系统中的topic)。
36.在一些实施例中,步骤a2包括:确定消息的类型;根据消息的类型获取对应的预设优先级。
37.具体地,消息的类型可以包括启动消息、报警消息、待机消息或者停机消息等,具体不限于此。
38.具体地,可预先为不同类型的消息设置对应的类型码,消息主体在发送消息时,把
相应的类型码包含在消息中,从而,通过提取该类型码即可确定消息的类型。
39.在实际应用中,可根据不同类型码和对应的预设优先级的映射关系,形成预设优先级查询表,从而,根据类型获取对应的预设优先级的步骤包括:根据消息的类型码在预设优先级查询表中查询得到对应的预设优先级。
40.在另一些实施例中,可根据不同消息主体的身份信息(如ip信息),为不同的消息主体设置对应的预设优先级查询表,从而,根据类型获取对应的预设优先级的步骤包括:根据消息主体的身份信息提取对应的预设优先级查询表,并根据消息的类型码在该预设优先级查询表中查询得到对应的预设优先级。
41.在一些实施例中,工作信息包括位置信息和状态信息;步骤a3包括:根据位置信息获取第一状态系数;根据状态信息获取第二状态系数;根据第一状态系数和第二状态系数计算工作状态系数。
42.在实际应用中,工作信息可以包括位置信息和状态信息,或者其它与工作有关的信息,具体不限于此,位置信息可以是消息主体所处的位置的位置类型信息,例如坑洼不平的路面、上坡路段、道路交叉口、平直路段等,可以预先为不同位置类型分配对应的第一状态系数,例如平直路段的第一状态系数可以设为1,上坡路段的第一状态系数可以设为6,道路交叉口的第一状态系数可以设为8等,可根据实际需要设置。状态信息可以是紧急状态信息或非紧急状态信息,紧急状态和非紧急状态可以根据实际需要划分,可以把紧急状态信息对应的第二状态系数设为大于或等于1的数值;而非紧急状态信息对应的第二状态系数设为大于0小于1的数值,具体不限于此。
43.具体地,若第一状态系数为8,第二状态系数为2,则可根据第一状态系数和第二状态系数计算乘积,得到工作状态系数,即是8*2=16;也可以根据第一状态系数和第二状态系数计算之和,得到工作状态系数,即是8 2=10,本实施例优选根据第一状态系数和第二状态系数计算乘积,得到工作状态系数,具体不限于此。
44.在一些实施例中,步骤a5包括:由第一个消息队列的第一消费者,计算消息的预设优先级和工作状态系数的乘积,得到优先值。
45.具体地,获取到工作状态系数之后,根据消息的预设优先级,综合计算消息的最新优先级,可以采用预设优先级和工作状态系数的乘积或者之和,本实施例优选乘积作为优先值,由第一消费者根据优先值的大小对消息的优先级进行重新调整,使需要优先处理的消息得到及时处理。
46.其中,可以按照消息发送的时序,依次把消息放入第一个消息队列中进行排队,由第一个消息队列的第一消费者根据排队次序的先后依次对各消息进行处理。
47.在一些优选实施方式中,步骤a4包括:根据预设优先级把消息放入第一个消息队列的对应的第一主题类型中;步骤a5包括:通过对应的第一主题类型的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值;
步骤a6包括:通过对应的第一主题类型的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中。
48.在实际应用中,通过根据预设优先级把消息放入第一个消息队列的对应的第一主题类型中,对于不同的第一主题类型,分别由不同的第一消费者对第一主题类型中的消息进行消费,不同第一主题类型中的消息的消费过程互不影响,预设优先级高的消息和预设优先级低的消息会被放入不同的第一主题类型中,从而预设优先级低的消息的处理过程不会影响预设优先级高的消息的处理过程,而预设优先级高的消息的处理过程也不会影响预设优先级低的消息的处理过程,使预设优先级高的消息可以得到及时处理,一般地,预设优先级高的消息调整后的优先值比预设优先级低的消息调整后的优先值高的概率较大,因此,通过把不同预设优先级的消息放入不同的第一主题类型中进行并行处理,更有利于使需要被优先处理的消息得到及时处理。
49.应当理解的是,可以根据消息的紧急程度,放入对应的第一主题类型中,进行并行处理,使紧急消息与非紧急消息之间相互不影响。其中,各第一主题类型对应不同的预设优先级范围,从而,根据预设优先级把消息放入第一个消息队列的对应的第一主题类型中的步骤包括:根据预设优先级所处的范围,把消息放入第一个消息队列的对应的第一主题类型中。
50.优选地,在第一个消息队列中,每个第一主题类型对应设置有多个第一消费者,该多个消费者用于并行地对同一第一主题类型中的多个消息进行处理,以提高处理效率。从而,通过对应的第一主题类型的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值的步骤包括:通过对应的第一主题类型的多个第一消费者之一,根据消息的预设优先级和工作状态系数计算消息的优先值。
51.在一些实施方式中,第二个消息队列包括多个不同的第二主题类型,各第二主题类型对应不同的优先值范围;步骤a6包括:通过第一个消息队列的第一消费者,根据优先值所处的范围,把消息放入第二个消息队列的对应的第二主题类型中。
52.具体地,第二个消息队列包括多个不同的第二主题类型,各个第二主题类型对应不同的优先值范围,例如第一消费者将优先值范围为8-10(不包括8,包括10,可根据实际需要设置,此处不做限定)的消息放在第一个第二主题类型中,将优先值范围为6-8(不包括6,包括8,可根据实际需要设置,此处不做限定)的消息放在第二个第二主题类型中,这样可以使紧急程度相近的消息在同一个主题类型中被第二消费者进行消费,从而提高消息的处理效率。
53.应当理解的是,根据消息的紧急程度的具体范围,放入对应的第二主题类型中,进行并行处理,使紧急消息与非紧急消息之间相互不影响。
54.优选地,在第二个消息队列中,每个第二主题类型对应设置有多个第二消费者,该多个消费者用于并行地对同一第二主题类型中的多个消息进行处理,以提高处理效率。从而,步骤a7包括:通过对应的第二主题类型的多个第二消费者之一对消息进行消费。
55.具体地,通过对应的第二主题类型的多个第二消费者之一对消息进行消费,由于增加动态计算优先值的步骤,可能会影响处理速度,因此增加多个第二消费者用于并行地对同一第二主题类型中的多个消息进行处理,进一步提高处理速度。
56.由上可知,本技术提供的调节消息优先级的方法,通过获取消息主体发送的消息和工作信息;获取消息的预设优先级;根据工作信息获取工作状态系数;把消息放入第一个消息队列;通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值;通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中;通过对应的第二主题类型的第二消费者对消息进行消费;使紧急的消息得到及时响应,提高消息处理效率。
57.请参考图2,本技术提供了一种调节消息优先级的装置,包括:第一获取模块1,用于获取消息主体发送的消息和工作信息;第二获取模块2,用于获取消息的预设优先级;第三获取模块3,用于根据工作信息获取工作状态系数;第一处理模块4,用于把消息放入第一个消息队列;计算模块5,用于通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值;第二处理模块6,用于通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中;执行模块7,用于通过对应的第二主题类型的第二消费者对消息进行消费。
58.本技术提供的调节消息优先级的装置,通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值,由第一消费者根据优先值对消息的优先级重新进行调整,避免有一些消息主体在进行关键作业时发送的消息需要被优先处理却得不到及时处理,从而,使紧急的消息得到及时响应;通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中,通过对应的第二主题类型的第二消费者对消息进行消费,对于不同的第二主题类型,分别由不同的第二消费者对第二主题类型中的消息进行消费,不同第二主题类型中的消息的消费过程互不影响,高优先值的消息和低优先值的消息会被放入不同的第二主题类型中,从而低优先值的消息的处理过程不会影响高优先值的消息的处理过程,而高优先值的消息的处理过程也不会影响低优先值的消息的处理过程,从而保证紧急的消息得到及时响应的同时,也能够避免非紧急消息等待时间过长,提高消息处理的效率。
59.具体地,消息主体是发送消息的设备,可以是agv运输车、机械臂、机器人等自动化设备。
60.具体地,可根据消息主体的类型和消息本身的类型,或仅根据消息本身的类型,预先为不同的消息设置预设优先级,具体设置规则可根据实际需要设置,此处不做限定。预设优先级可以代表该消息的处理等级或者紧急程度,预设优先级可以采用阿拉伯数字、字母或者其它符号表示,在本实施例中预设优先级优选采用阿拉伯数字表示,方便计算,其中,预设优先级越高,则对应的阿拉伯数字越大;例如机械臂的报警消息的预设优先级较高,设置为10,而机械臂启动消息的优先级较低,设置为1等,具体消息的预设优先级可根据消息的紧急程度设置对应的优先级数值,具体不限于此。
61.在实际应用中,一般消息的优先级都是事先设置好,在使用过程中根据事先设置好的优先级对消息进行处理,但是这样没有考虑到消息主体所处的环境,当消息主体处于关键的位置或者关键的状态的时候,该消息主体所发送的消息需要被优先处理,这样就会导致需要被优先处理的消息未能得到及时处理,因此,在本实例中考虑到消息主体的工作信息,例如工作的状态信息、位置信息等,根据该消息主体所处的工作状态及工作位置,设置相应的工作状态系数,由消息的预设优先级及工作状态系数,进一步确定其发送消息的优先值,避免处于关键状态下发送的紧急消息未得到及时处理。
62.具体地,把消息放入第一个消息队列,通过第一个消息队列的第一消费者,根据消息的优先级和工作状态系数计算消息的优先值,由第一消费者根据优先值对消息的优先级重新进行调整,并将消息放入第二个消息队列的对应的第二主题类型中,由对应的第二主题类型的第二消费者对消息进行消费,从而,及时响应优先级比较高的消息。
63.应当理解的是,第一消费者和第二消费者均是消息的消费方,是消息的出口(可参考kafka消息系统中的consumer),第一主题类型和第二主题类型是发布记录的类别或订阅源名称(可参考kafka消息系统中的topic)。
64.在一些实施例中,第二获取模块2在获取消息的预设优先级的时候,具体执行:确定消息的类型;根据消息的类型获取对应的预设优先级。
65.具体地,消息的类型包括启动消息、报警消息、待机消息或者停机消息等,具体不限于此。
66.具体地,可预先为不同类型的消息设置对应的类型码,消息主体在发送消息时,把相应的类型码包含在消息中,从而,通过提取该类型码即可确定消息的类型。
67.在实际应用中,可根据不同类型码和对应的预设优先级的映射关系,形成预设优先级查询表,从而,第二获取模块2在根据类型获取对应的预设优先级的时候,具体执行:根据消息的类型码在预设优先级查询表中查询得到对应的预设优先级。
68.在另一些实施例中,可根据不同消息主体的身份信息(如ip信息),为不同的消息主体设置对应的预设优先级查询表,从而,第二获取模块2在根据类型获取对应的预设优先级的时候,具体执行:根据消息主体的身份信息提取对应的预设优先级查询表,并根据消息的类型码在该预设优先级查询表中查询得到对应的预设优先级。
69.在一些实施例中,工作信息包括位置信息和状态信息;第三获取模块3在根据工作信息获取工作状态系数的时候,具体执行:根据位置信息获取第一状态系数;根据状态信息获取第二状态系数;根据第一状态系数和第二状态系数计算工作状态系数。
70.在实际应用中,工作信息可以包括位置信息和状态信息,或者其它与工作有关的信息,具体不限于此,位置信息可以是消息主体所处的位置的位置类型信息,例如坑洼不平的路面、上坡路段、道路交叉口、平直路段等,可以预先为不同位置类型分配对应的第一状态系数,例如平直路段的第一状态系数可以设为1,上坡路段的第一状态系数可以设为6,道路交叉口的第一状态系数可以设为8等,可根据实际需要设置。状态信息可以是紧急状态信息或非紧急状态信息,紧急状态和非紧急状态可以根据实际需要划分,可以把紧急状态信
息对应的第二状态系数设为大于或等于1的数值;而非紧急状态信息对应的第二状态系数设为大于0小于1的数值,具体不限于此。
71.具体地,若第一状态系数为8,第二状态系数为2,则可根据第一状态系数和第二状态系数计算乘积,得到工作状态系数,即是8*2=16;也可以根据第一状态系数和第二状态系数计算之和,得到工作状态系数,即是8 2=10,本实施例优选根据第一状态系数和第二状态系数计算乘积,得到工作状态系数,具体不限于此。
72.在一些实施例中,计算模块5在通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值的时候,具体执行:由第一个消息队列的第一消费者,计算消息的预设优先级和工作状态系数的乘积,得到优先值。
73.具体地,获取到工作状态系数之后,根据消息的预设优先级,综合计算消息的最新优先级,可以采用预设优先级和工作状态系数的乘积或者之和,本实施例优选乘积作为优先值,由第一消费者根据优先值的大小对消息的优先级进行重新调整,使需要优先处理的消息得到及时处理。
74.其中,可以按照消息发送的时序,依次把消息放入第一个消息队列中进行排队,由第一个消息队列的第一消费者根据排队次序的先后依次对各消息进行处理。
75.在一些优选实施方式中,第一处理模块4在把消息放入第一个消息队列的时候,具体执行:根据预设优先级把消息放入第一个消息队列的对应的第一主题类型中;计算模块5在通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值的时候,具体执行:通过对应的第一主题类型的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值;第二处理模块6在通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中的时候,具体执行:通过对应的第一主题类型的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中。
76.在实际应用中,通过根据预设优先级把消息放入第一个消息队列的对应的第一主题类型中,对于不同的第一主题类型,分别由不同的第一消费者对第一主题类型中的消息进行消费,不同第一主题类型中的消息的消费过程互不影响,预设优先级高的消息和预设优先级低的消息会被放入不同的第一主题类型中,从而预设优先级低的消息的处理过程不会影响预设优先级高的消息的处理过程,而预设优先级高的消息的处理过程也不会影响预设优先级低的消息的处理过程,使预设优先级高的消息可以得到及时处理,一般地,预设优先级高的消息调整后的优先值比预设优先级低的消息调整后的优先值高的概率较大,因此,通过把不同预设优先级的消息放入不同的第一主题类型中进行并行处理,更有利于使需要被优先处理的消息得到及时处理。
77.应当理解的是,可以根据消息的紧急程度,放入对应的第一主题类型中,进行并行处理,使紧急消息与非紧急消息之间相互不影响。其中,各第一主题类型对应不同的预设优先级范围,从而,第一处理模块4在根据预设优先级把消息放入第一个消息队列的对应的第
一主题类型中的时候,具体执行:根据预设优先级所处的范围,把消息放入第一个消息队列的对应的第一主题类型中。
78.优选地,在第一个消息队列中,每个第一主题类型对应设置有多个第一消费者,该多个消费者用于并行地对同一第一主题类型中的多个消息进行处理,以提高处理效率。从而,计算模块5在通过对应的第一主题类型的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值的时候,具体执行:通过对应的第一主题类型的多个第一消费者之一,根据消息的预设优先级和工作状态系数计算消息的优先值。
79.在一些实施方式中,第二个消息队列包括多个不同的第二主题类型,各第二主题类型对应不同的优先值范围;第二处理模块6在通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中的时候,具体执行:通过第一个消息队列的第一消费者,根据优先值所处的范围,把消息放入第二个消息队列的对应的第二主题类型中。
80.具体地,第二个消息队列包括多个不同的第二主题类型,各个第二主题类型对应不同的优先值范围,例如第一消费者将优先值范围为8-10(不包括8,包括10,可根据实际需要设置,此处不做限定)的消息放在第一个第二主题类型中,将优先值范围为6-8(不包括6,包括8,可根据实际需要设置,此处不做限定)的消息放在第二个第二主题类型中,这样可以使紧急程度相近的消息在同一个主题类型中被第二消费者进行消费,从而提高消息的处理效率。
81.应当理解的是,根据消息的紧急程度的具体范围,放入对应的第二主题类型中,进行并行处理,使紧急消息与非紧急消息之间相互不影响。
82.优选地,在第二个消息队列中,每个第二主题类型对应设置有多个第二消费者,该多个消费者用于并行地对同一第二主题类型中的多个消息进行处理,以提高处理效率。从而,执行模块7在通过对应的第二主题类型的第二消费者对消息进行消费的时候,具体执行:通过对应的第二主题类型的多个第二消费者之一对消息进行消费。
83.具体地,通过对应的第二主题类型的多个第二消费者之一对消息进行消费,由于增加动态计算优先值的步骤,可能会影响处理速度,因此增加多个第二消费者用于并行地对同一第二主题类型中的多个消息进行处理,进一步提高处理速度。
84.由上可知,本技术提供的调节消息优先级的装置,通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值,由第一消费者根据优先值对消息的优先级重新进行调整,避免一些消息主体在进行关键作业时发送的消息需要被优先处理却得不到处理,从而,使紧急的消息得到及时响应;通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中,通过对应的第二主题类型的第二消费者对消息进行消费,从而提高消息处理的效率。
85.请参照图3,图3为本技术实施例提供的一种电子设备的结构示意图,本技术提供一种电子设备,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当电子设备运行时,处理器301执行该计算机程序,以执行上述实施例的任一可
选的实现方式中的调节消息优先级的方法,以实现以下功能:获取消息主体发送的消息和工作信息;获取消息的预设优先级;根据工作信息获取工作状态系数;把消息放入第一个消息队列;通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值;通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中,通过对应的第二主题类型的第二消费者对消息进行消费。
86.本技术实施例提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的调节消息优先级的方法,以实现以下功能:获取消息主体发送的消息和工作信息;获取消息的预设优先级;根据工作信息获取工作状态系数;把消息放入第一个消息队列;通过第一个消息队列的第一消费者,根据消息的预设优先级和工作状态系数计算消息的优先值;通过第一个消息队列的第一消费者,根据优先值把消息放入第二个消息队列的对应的第二主题类型中,通过对应的第二主题类型的第二消费者对消息进行消费。其中,计算机存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory, 简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory, 简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory, 简称eprom),可编程只读存储器(programmable red-only memory, 简称prom),只读存储器(read-only memory, 简称rom),磁存储器,快闪存储器,磁盘或光盘。
87.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
88.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
89.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
90.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
91.以上仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献