CN113742075A - 基于云端分布式系统的任务处理方法、装置及系统 - Google Patents
基于云端分布式系统的任务处理方法、装置及系统 Download PDFInfo
- Publication number
- CN113742075A CN113742075A CN202111045764.9A CN202111045764A CN113742075A CN 113742075 A CN113742075 A CN 113742075A CN 202111045764 A CN202111045764 A CN 202111045764A CN 113742075 A CN113742075 A CN 113742075A
- Authority
- CN
- China
- Prior art keywords
- task
- node device
- processed
- node
- task 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 214
- 238000000034 method Methods 0.000 claims abstract description 83
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 15
- 230000006855 networking Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 230000007547 defect Effects 0.000 abstract description 2
- 230000001419 dependent effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 10
- 238000012216 screening Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种基于云端分布式系统的任务处理方法、装置及系统,人工智能技术领域中的自动驾驶技术领域,云端分布式系统中包括多个节点设备,方法应用于该云端分布式系统中的任一节点设备,包括:响应于竞争得到第一待处理任务消息,获取云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息,根据各其他节点设备的属性信息确定目标节点设备,生成并输出第一推送消息,第一推送消息用于指示由目标节点设备对第一待处理任务进行处理,避免了由主节点设备进行负载均衡造成的对主节点设备依赖过强,容易引起服务宕停的弊端,提高了任务处理的可靠性和稳定,实现了云端分布式系统的去中心化化,提高了云端分布式系统的弹性扩展能力。
Description
技术领域
本公开涉及人工智能技术领域中的自动驾驶技术领域,可以应用于车辆远程控制应用场景中的云端分布式系统,尤其涉及一种基于云端分布式系统的任务处理方法、装置及系统。
背景技术
云端分布式系统,把系统按照模块拆分成多个子系统,多个子系统分布在不同的网络计算机上相互协作完成业务流程,系统之间需要进行通信。
在现有技术中,云端分布式系统中包括主节点设备和副节点设备,基于分布式的任务处理方法包括:在主节点设备有效时,控制主节点设备对第一待处理任务进行负载均衡,而在主节点设备失效时,将副节点设备切换为主节点设备,并由作为主节点设备的副节点设备对第一待处理任务进行负载均衡。该任务例如是远程控制车辆的任务。
然而,上述方法对主节点设备依赖程度偏高,容易造成任务处理的服务宕停等技术问题。
发明内容
本公开提供了一种用于提高任务处理可靠性的基于云端分布式系统的任务处理方法、装置及系统。
根据本公开的第一方面,提供了一种基于云端分布式系统的任务处理方法,所述云端分布式系统中包括多个节点设备,所述方法应用于所述云端分布式系统中的任一节点设备,所述方法包括:
响应于竞争得到第一待处理任务消息,获取所述云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息;
根据各其他节点设备的属性信息确定目标节点设备,生成并输出第一推送消息,其中,所述第一待处理任务消息中携带第一待处理任务,所述第一推送消息用于指示由所述目标节点设备对所述第一待处理任务进行处理。
根据本公开的第二方面,提供了一种基于云端分布式系统的任务处理方法,所述云端分布式系统中包括多个节点设备,所述方法应用于所述云端分布式系统中的任一节点设备,所述方法包括:
接收所述云端分布式系统中的一个节点设备发送的第一推送消息,其中,所述第一推送消息是根据所述云端分布式系统中除该一个节点设备之外的各其他节点设备的属性信息生成的,所述第一推送消息用于指示由指定节点设备执行第一待处理任务;
根据所述第一推送消息执行第一待处理任务,得到并输出任务处理结果。
根据本公开的第三方面,提供了一种基于云端分布式系统的任务处理装置,所述云端分布式系统中包括多个节点设备,所述装置应用于所述云端分布式系统中的任一节点设备,所述装置包括:
获取单元,用于响应于竞争得到第一待处理任务消息,获取所述云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息;
第一确定单元,用于根据各其他节点设备的属性信息确定目标节点设备;
生成单元,用于生成第一推送消息,其中,所述第一待处理任务消息中携带第一待处理任务,所述第一推送消息用于指示由所述目标节点设备对所述第一待处理任务进行处理;
第一输出单元,用于输出所述第一推送消息。
根据本公开的第四方面,提供了一种基于云端分布式系统的任务处理装置,所述云端分布式系统中包括多个节点设备,所述装置应用于所述云端分布式系统中的任一节点设备,所述装置包括:
接收单元,用于接收所述云端分布式系统中的一个节点设备发送的第一推送消息,其中,所述第一推送消息是根据所述云端分布式系统中除该一个节点设备之外的各其他节点设备的属性信息生成的,所述第一推送消息用于指示由指定节点设备执行第一待处理任务;
执行单元,用于根据所述第一推送消息执行第一待处理任务,任务处理结果;
第二输出单元,用于输出所述任务处理结果。
根据本公开的第五方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法,或者,以使所述至少一个处理器能够执行第二方面所述的方法。
根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面所述的方法;或者,所述计算机指令用于使所述计算机执行根据第二方面所述的方法。
根据本公开的第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面或第二方面所述的方法。
根据本公开的第八方面,提供了一种云端分布式系统,所述云端分布式系统中包括由多个节点设备组成的任务处理集群;
所述任务处理集群中的任一节点设备用于执行如第一方面所述的方法的步骤,和/或,所述云端分布式系统中的任一节点设备用于执行如第二方面所述的方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是可以实现本公开实施例的基于云端分布式系统的任务处理方法的场景图;
图2是根据本公开第一实施例的示意图;
图3是根据本公开第二实施例的示意图;
图4是根据本公开第三实施例的示意图;
图5是根据本公开第四实施例的示意图;
图6是根据本公开第五实施例的示意图;
图7是根据本公开第六实施例的示意图;
图8是根据本公开第七实施例的示意图;
图9是根据本公开第八实施例的示意图;
图10是用来实现本公开实施例的基于云端分布式系统的任务处理方法的电子设备的框图;
图11是根据本公开实施例的云端分布式系统的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
负载均衡(Load Balance)是指,将负载(即待处理任务)进行平衡、分摊到多个操作单元上进行运行,从而协同完成工作任务。
示例性的,如图1所示,在云端分布式系统中,包括多个节点设备,分别为如图1中所示的节点设备1、节点设备2、直至节点设备n(n为大于等于1的正整数)。
在相关技术中,n个节点设备中包括一个主节点设备,除主节点设备以外的其他节点设备为副节点设备。
当云端分布式系统接收到外接设备传输的待处理任务消息时,由主节点设备获取该待处理任务消息,并将待处理任务消息中携带的待处理任务,在各副节点设备中进行负载均衡,以完成对待处理任务。
如图1所示,待处理任务消息可以为车辆发起的。例如,待处理任务可以为对自动驾驶车辆的远程控制的任务等。
然而,上述相关技术中的方法对主节点设备的依赖程度较高,尤其是请求任务处理的流量较大时,很可能击溃主节点设备和副节点设备,造成服务宕停等技术问题。
为了避免上述技术问题,本公开发明人经过创造性地劳动,得到了本公开的发明构思:在某节点设备竞争得到待处理任务消息之后,基于该节点设备之外的各其他节点设备的属性信息,从各其他节点设备中确定用于执行待处理任务消息中携带的待处理任务的节点设备。
基于上述发明构思,本公开提供一种基于云端分布式系统的任务处理方法、装置及系统,涉及人工智能技术领域中的自动驾驶技术领域,可以应用于车辆远程控制应用场景中的云端分布式系统,以达到任务的去中心化处理,保障任务处理的稳定性。
图2是根据本公开第一实施例的示意图,其中,云端分布式系统中包括多个节点设备,本实施例的基于云端分布式系统的任务处理方法应用于云端分布式系统中的任一节点设备,如图2所示,该方法包括:
S201:响应于竞争得到第一待处理任务消息,获取云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息。
示例性地,本实施例的执行主体可以为云端分布式系统,云端分布式系统中包括多个节点设备,节点设备可以为服务器,也可以为计算机,也可以为终端设备,也可以为处理器,也可以为芯片等,本实施例不做限定。
当实施例的方法应用于如图1所示的应用场景时,第一待处理任务消息可以为车辆向云端分布式系统发起的,第一待处理任务消息用于请求对第一待处理任务消息中携带第一待处理任务进行处理。
在一些实施例中,第一待处理任务为远程控制任务。例如,车辆的前方存在障碍物(可以为行人,也可以为其他车辆等,阻碍车辆顺利通行的对象),为顺利通过该障碍物,车辆可以向云端分布式系统发起第一待处理任务消息,第一待处理任务消息中携带的第一待处理任务即为,用于请求云端分布式系统辅助或远程控制车辆顺利通过障碍物的任务。
在本实施例中,各节点设备可以共同竞争第一待处理任务消息,而无需设置主节点设备,以由主节点设备获取第一待处理任务消息,从而避免了对主节点设备的高强度依赖,提高了云端分布式系统的弹性扩展能力,避免了中心化,提高了对第一待处理任务处理的可靠性。
例如,结合如图1所示的应用场景,n个节点设备中的每一个节点设备均可以竞争由车辆发起的第一待处理任务消息。
若节点设备1竞争得到了第一待处理任务消息,则节点设备1获取节点设备2直至节点设备n中的每一节点设备各自对应的属性信息。
其中,节点设备的属性信息是指,与节点设备的性能、型号、类型等中的至少一种相关的信息。
S202:根据各其他节点设备的属性信息确定目标节点设备,生成并输出第一推送消息。
其中,第一待处理任务消息中携带第一待处理任务,第一推送消息用于指示由目标节点设备对第一待处理任务进行处理。
例如,结合上述实施例和图1,若节点设备1的属性信息为属性信息1,节点设备2的属性信息为属性信息2,以此类推,节点设备n的属性信息为属性信息n,则节点设备1根据属性信息2直至属性信息n,从节点设备2至节点设备n中确定目标节点设备,以便由目标节点设备执行第一待处理任务。
示例性地,若确定出的目标节点设备为节点设备n,则第一推送消息用于指示由节点设备n执行第一待处理任务。
相应地,节点设备n接收第一推送消息,并执行第一待处理任务。
基于上述分析可知,本公开实施例提供了一种基于云端分布式系统的任务处理方法,云端分布式系统中包括多个节点设备,该方法应用于该云端分布式系统中的任一节点设备,包括:响应于竞争得到第一待处理任务消息,获取云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息,根据各其他节点设备的属性信息确定目标节点设备,生成并输出第一推送消息,其中,第一待处理任务消息中携带第一待处理任务,第一推送消息用于指示由目标节点设备对第一待处理任务进行处理,在实施例中,引入了:由竞争得到第一待处理任务消息的当前节点设备,获取各其他节点设备的属性信息,并基于各其他节点设备的属性信息确定目标节点设备,以由目标节点设备执行第一待处理任务的技术特征,避免了相关技术中由主节点设备进行负载均衡造成的对主节点设备依赖过强,容易引起服务宕停的弊端,提高了任务处理的可靠性和稳定,且避免了云端分布式系统的中心化,即实现了云端分布式系统的去中心化化,提高了云端分布式系统的弹性扩展能力的技术效果。
图3是根据本公开第二实施例的示意图,其中,云端分布式系统中包括多个节点设备,本实施例的基于云端分布式系统的任务处理方法应用于云端分布式系统中的任一节点设备,如图3所示,该方法包括:
S301:响应于竞争得到第一待处理任务消息,获取云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息。
示例性地,关于S301的实现原理,可以参见第一实施例,此处不再赘述。
在一些实施例中,在各节点设备对第一待处理任务消息进行竞争,若由当前节点设备竞争得到第一待处理任务消息,则当前节点设备可以对第一待处理任务消息进行加锁处理,以使得其他节点设备无法再竞争该第一待处理任务消息。
S302:根据每一其他节点设备的属性信息,从各其他节点设备中,确定能够完成第一待处理任务的目标节点设备,生成并输出第一推送消息。
例如,结合如图1所示的应用场景,节点设备1根据属性信息2确定节点设备2是否能够完成第一待处理任务,若节点设备1根据属性信息2确定节点设备2能够完成第一待处理任务,则将节点设备2确定为目标节点设备;反之,若节点设备1根据属性信息2确定节点设备2无法完成第一待处理任务,则根据属性信息3(即节点设备3的属性信息)确定节点设备3(图中未示出)是否能够完成第一待处理任务,以此类推,直至确定出能够完成第一待处理任务的节点设备,该能够完成第一待处理任务的节点设备即为目标节点设备。
值得说明的是,在本实施例中,通过结合各其他节点设备的属性信息,确定用于能够完成第一待处理任务的目标节点设备,可以使得第一待处理任务可被完整执行,从而提高任务处理的可靠性和有效性的技术效果。
在一些实施例中,每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和/或每一节点设备的调度优先级。
其中,节点设备的任务处理空间是指,节点设备可处理的任务的堆栈空间大小。
例如,每一节点设备具有堆栈空间属性,堆栈空间属性用于表征该节点设备能够处理任务的多少。相较而言,堆栈空间越大,节点设备能够处理的任务的数量越多;反之,堆栈空间越小,节点设备能够处理的任务的数量越少。
当基于每一其他节点设备的任务处理空间确定目标节点设备时,可以充分考虑各节点设备可处理的任务的堆栈空间大小,从而使得目标节点设备的堆栈空间大小满足第一待处理任务的需求,从而提高由目标节点设备执行第一待处理任务的可靠性和有效性的技术效果。
在一些实施例中,每一其他节点设备的任务处理空间是:基于每一其他节点设备的存储空间和/或处理器CPU可用率确定的。
当然,还可以基于其他元素确定每一其他节点设备的任务处理空间,如I/O接口性能等,此处不再一一列举。
值得说明的是,通过从存储空间、处理器CPU可用率等维度确定任务处理空间,可以使得任务处理空间与节点设备的性能高度贴合,从而满足节点设备执行第一待处理任务时的需求,进而实现确定出的目标节点设备可以较为可靠地完成第一待处理任务的技术效果。
节点设备的调度优先级是指,节点设备被调度的级别。一般而言,调度优先级的级别越高,则说明该节点设备被调度时,执行任务的可靠性越强;反之,调度优先级的级别越低,则说明该节点设备被调度时,执行任务的可靠性越低。
同理,当基于每一其他节点设备的调度优先级确定目标节点设备时,可以充分考虑各节点设备可处理的第一待处理任务的优先级,从而使得目标节点设备的满足第一待处理任务的需求,从而提高由目标节点设备执行第一待处理任务的可靠性和有效性的技术效果。
在本实施例中,当前节点可以基于每一其他节点设备的任务处理空间,从各其他节点设备中确定目标节点设备;也可以基于每一其他节点设备的调度优先级,从各其他节点设备中确定目标节点设备;还可以基于每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级,从各其他节点设备中确定目标节点设备。
当从每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级两个维度确定目标节点设备时,可以实现确定目标节点设备的灵活性、多样性、及全面性,从而提高确定用于执行第一待处理任务的目标节点设备的准确性和可靠性的技术效果。
在一些实施例中,根据每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成第一待处理任务的目标节点设备,可以包括如下步骤:
第一步骤:根据每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成第一待处理任务的中间节点设备。
例如,结合上述实施例和图1,节点设备1从节点设备2至节点设备n中,根据节点设备2的调度优先级至节点设备n的调度优先级,确定能够完成第一待处理任务的中间节点设备。
第二步骤:若中间节点设备的数量为多个,则根据每一中间节点设备的任务处理空间,从各中间节点设备中,确定能够完成第一待处理任务的目标节点设备。
例如,结合上述实施例和图1,若中间节点设备的数量为2个,且中间节点设备分别为节点设备2和节点设备n,则节点设备1根据节点设备2的任务处理空间、节点设备n的任务处理空间,从节点设备2和节点设备n中确定能够完成第一待处理任务的目标节点设备。
若中间节点设备的数量为一个,则可以将该一个中间节点设备确定为目标节点设备。
值得说明的是,通过先基于各其他节点设备的调度优先级的维度,对可能是目标节点设备的各其他节点设备进行初次筛选,并基于经筛选而留下的其他节点设备的任务处理空间的维度,对经筛选而留下的其他节点设备进行再次筛选,以得到目标节点设备,可以提高确定目标节点设备的可靠性,以尽可能的满足对第一待处理任务的顺利处理和完成。
在另一些实施例中,根据每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成第一待处理任务的目标节点设备,可以包括如下步骤:
第一步骤:根据每一其他节点设备的任务处理空间,从各其他节点设备中,确定能够完成第一待处理任务的中间节点设备。
例如,结合上述实施例和图1,节点设备1从节点设备2至节点设备n中,根据节点设备2的任务处理空间至节点设备n的任务处理空间,确定能够完成第一待处理任务的中间节点设备。
第二步骤:若中间节点设备的数量为多个,则根据每一其他节点设备的调度优先级,从各中间节点设备中,确定能够完成第一待处理任务的目标节点设备。
例如,结合上述实施例和图1,若中间节点设备的数量为2个,且中间节点设备分别为节点设备2和节点设备n,则节点设备1根据节点设备2的调度优先级、节点设备n的调度优先级,从节点设备2和节点设备n中确定能够完成第一待处理任务的目标节点设备。
若中间节点设备的数量为一个,则可以将该一个中间节点设备确定为目标节点设备。
同理,在本实施例中,通过先基于各其他节点设备的任务处理空间的维度,对可能是目标节点设备的各其他节点设备进行初次筛选,并基于经筛选而留下的其他节点设备的调度优先级的维度,对经筛选而留下的其他节点设备进行再次筛选,以得到目标节点设备,可以提高确定目标节点设备的可靠性,以尽可能的满足对第一待处理任务的顺利处理和完成。
在另一些实施例中,根据每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成第一待处理任务的目标节点设备,可以包括如下步骤:
第一步骤:为每一其他节点设备的任务处理空间分配第一权重,并为每一其他节点设备的调度优先级分配第二权重。
在一些实施例中,针对每一其他节点设备,可以预先设置每一节点设备在任务处理空间维度的第一权重、以及在调度优先级维度的第二权重。
相应地,当前节点设备在需要确定目标节点时,可以获取各其他节点设备预先设置的第一权重和第二权重。
或者,节点设备的属性信息中包括第一权重和第二权重。
需要说明的是,不同的节点设备各自对应的第一权重可以相同,也可以不同,同理,不同的节点设备各自对应的第二权重可以相同,也可以不同,本实施例不做限定。
例如,节点设备2权重包括节点设备2在任务处理空间维度的第一权重,节点设备n权重包括节点设备n在任务处理空间维度的第一权重,节点设备2的第一权重与节点设备n的第一权重可以相同,也可以不同。
同理,节点设备2权重包括节点设备2在调度优先级维度的第二权重,节点设备n权重包括节点设备n在调度优先级维度的第二权重,节点设备2的第二权重与节点设备n的第二权重可以相同,也可以不同。
第二步骤:根据每一其他节点设备的任务处理空间、第一权重、每一其他节点设备的调度优先级、以及第二权重,从各其他节点设备中,确定能够完成第一待处理任务的目标节点设备。
例如,可以根据每一其他节点设备的任务处理空间、第一权重、每一其他节点设备的调度优先级、以及第二权重,确定每一其他节点设备完成第一待处理任务的置信度,并根据各置信度从各节点设备中确定目标节点设备。
其中,置信度是指,完成第一待处理任务的可能性。某节点设备的置信度越高,则说明第一待处理任务被该节点设备完成的可能性较高;反之,某节点设备的置信度越低,则说明第一待处理任务被该节点设备完成的可能性较低。
具体地,结合上述实施例和图1,节点设备1根据节点设备2的任务处理空间、第一权重、调度优先级、以及第二权重,确定节点设备2完成第一待处理任务的置信度,以此类推,直至节点设备1根据节点设备n的任务处理空间、第一权重、调度优先级、以及第二权重,确定节点设备n完成第一待处理任务的置信度,并从各置信度中确定最高置信度,并将最高置信度对应的节点设备确定为目标节点设备。
值得说明的是,在本实施例中,通过从任务处理空间、调度优先级、以及各自对应的权重的维度确定目标节点设备,可以实现从较为全面的维度确定目标节点设备,从而使得确定出的目标节点设备具有较高的准确性和可靠性的技术效果。
S303:响应于接收到第二推送消息。
其中,第二推送消息用于指示,由当前节点设备执行第二推送消息中携带的第二待处理任务。
也就是说,当前节点设备可以为确定用于执行待处理任务(如上述实施例中所述的第一待处理任务)的节点设备,也可以为用于执行待处理任务(如该步骤中所述的第二待处理任务)的节点设备。
S304:对第二待处理任务进行处理,得到并输出任务处理结果。
在一些实施例中,S304可以包括:将第二待处理任务缓存至任务队列,并基于任务队列对第二待处理任务进行处理,得到并输出任务处理结果。
其中,任务队列为用于存储各待处理任务的队列。
示例性地,当前节点设备将第二待处理任务缓存至任务队列,若任务队列中已经包括待处理任务(可以为一个,也可以为多个),则将第二待处理任务缓存至最后一个待处理任务之后,当前节点设备依次执行各待处理任务。
通过结合任务队列执行第二待处理任务,可以满足“先进先出”原则,即对在先的待处理任务进行优先处理,以实现任务处理的有序性,实现对各待处理任务有序高效的处理的技术效果。
在一些实施例中,若当前节点设备在对第二待处理任务进行处理时,当前节点设备出现宕机重启的情况,则在当前节点设备宕机重启后,继续执行第二待处理任务,以避免对第二待处理任务的丢失处理的问题,提高任务处理的可靠性的技术效果。
在一些实施例中,在当前节点设备收到第二推送消息之后,可以对当前节点设备的任务处理空间进行更新处理,且具体为对其任务处理空间进行减少处理,以使得在确定后续处理其他待处理任务时的节点设备时,具有较高的可靠性和准确性,满足后续待处理任务被有效处理的技术效果。
示例性地,也可以对当前节点设备的调度优先级进行更新处理,如进行降级处理。
相应地,在一些实施例中,在当前节点基于任务队列对第二待处理任务进行处理,得到并输出任务处理结果之后,可以从任务队列中删除第二待处理任务,并根据第二待处理任务,对当前节点设备的任务处理空间进行增加处理。
同理,通过在第二待处理任务处理完成之后,即在释放了与第二待处理任务对应的当前节点设备的任务处理空间之后,对当前节点设备的任务处理空间进行增加处理,以及时对当前节点设备的任务处理空间进行更新,满足后续的待处理任务的处理需求,提高云端分布式系统对外服务的可靠性的技术效果。
同理,也可以对当前节点设备的调度优先级进行更新处理,如进行升级处理。
应该理解的是,S301至S304可以如图3所示,作为一个整体实施例,也可以作为多个单独可实施的实施例,如将S301至S302为一个单独实施例,S303至S304为另一单独实施例,本实施例不做限定。
图4是根据本公开第三实施例的示意图,其中,云端分布式系统中包括多个节点设备,本实施例的基于云端分布式系统的任务处理方法应用于云端分布式系统中的任一节点设备,如图4所示,该方法包括:
S401:当前节点设备响应于竞争得到第一待处理任务消息,获取云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息。
示例性地,关于S401的实现原理,可以参见第一实施例,也可以参见第二实施例,此处不再赘述。
S402:当前节点设备根据各其他节点设备的属性信息确定目标节点设备,生成第一推送消息。
其中,第一待处理任务消息中携带第一待处理任务,第一推送消息用于指示由目标节点设备对第一待处理任务进行处理。
S403:当前节点设备输出第一推送消息。
同理,关于S402和S403的实现原理,可以参见第一实施例,也可以参见第二实施例,此处不再赘述。
S404:目标节点设备响应于接收到当前节点设备发送的第一推送消息,根据第一推送消息执行第一待处理任务,得到并输出任务处理结果。
例如,目标节点设备对消息进行监听,当监听到第一推送消息,且第一推送消息为指示由目标节点设备处理第一待处理任务时,目标节点设备执行第一待处理任务。
在一些实施例中,在目标节点设备接收到第一推送消息时,可以向当前节点设备发送应答消息,用于提示目标节点设备已经接收到第一推送消息。
反之,若当前节点设备在预设时间段内未收到针对第一推送消息的应答消息,则当前节点设备确定目标节点设备的状态属性,若目标节点设备的状态属性为非工作状态,则从目标节点设备之外的其他节点设备中重新确定用于执行第一待处理任务的节点设备。
其中,预设时间段可以基于需求、历史记录、以及试验等方式进行设置,本实施例不做限定。
节点设备的状态属性用于,表征节点设备是否处于存活状态,若是,则说明节点设备处于工作状态,若否,则说明节点设备处于非工作状态。
相应地,该实施例可以理解为:如果当前节点设备在预设时间段内没有收到应答消息,则确定目标节点设备是否处于存活状态,若是,则确定节点设备的状态属性为工作状态,若否,则确定节点设备的状态属性为非工作状态。
其中,当前节点可以将目标节点设备的调度优先级设置为最小优先级(如0),以便从目标节点设备之外的其他节点设备中重新确定用于执行第一待处理任务的节点设备。
在一些实施例中,当前节点设备可以通过心跳探活的方式,确定目标节点设备的状态属性。
例如,在当前节点设备向目标节点设备发送第一推送消息时(也可以为在向目标节点设备发送第一推送消息之前),向目标节点设备发送心跳请求,以确定目标节点设备的状态属性。
又如,若当前节点设备在预设时间段内未收到针对第一推送消息的应答消息,则当前节点设备向目标节点设备发送心跳请求,以确定目标节点设备的状态属性。
值得说明地是,在本实施例中,通过在目标节点设备的状态属性为非工作状态时,重新确定用于执行第一待处理任务的节点设备,可以避免第一待处理任务被漏处理,从而提高第一待处理任务被处理的可靠性的技术效果。
图5是根据本公开第四实施例的示意图,其中,云端分布式系统中包括多个节点设备,本实施例的基于云端分布式系统的任务处理方法应用于云端分布式系统中的任一节点设备,如图5所示,该方法包括:
S501:接收云端分布式系统中的一个节点设备发送的第一推送消息。
其中,第一推送消息是根据云端分布式系统中除该一个节点设备之外的各其他节点设备的属性信息生成的,第一推送消息用于指示由指定节点设备执行第一待处理任务。
S502:根据第一推送消息执行第一待处理任务,得到并输出任务处理结果。
示例性地,关于对第一待处理任务进行处理的原理,可以参见上述实施例中对第二待处理任务的实现原理。
例如,S502可以包括如下步骤:
第一步骤:将第一待处理任务缓存至任务队列。
第二步骤:基于任务队列对所述第一待处理任务进行处理,得到并输出所述任务处理结果。
相应地,若在对第一待处理任务进行处理时,指定节点设备宕机后重启,则在指定节点设备重启后继续执行第一待处理任务。
相应地,指定节点设备具有属性信息,指定节点设备的属性信息包括所述指定节点的任务处理空间,在接收到所述第一推送消息之后,指定节点设备可以根据第一待处理任务,对指定节点设备的任务处理空间进行减少处理。
相应地,在完成对第一待处理任务的处理之后,指定节点设备可以根据第一待处理任务,对指定节点设备的任务处理空间进行减少处理。
图6是根据本公开第五实施例的示意图,云端分布式系统中包括多个节点设备,基于云端分布式系统的任务处理装置应用于云端分布式系统中的任一节点设备,基于云端分布式系统的任务处理600包括:
获取单元601,用于响应于竞争得到第一待处理任务消息,获取云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息。
第一确定单元602,用于根据各其他节点设备的属性信息确定目标节点设备。
生成单元603,用于生成第一推送消息,其中,第一待处理任务消息中携带第一待处理任务,第一推送消息用于指示由目标节点设备对第一待处理任务进行处理。
第一输出单元604,用于输出第一推送消息。
图7是根据本公开第六实施例的示意图,云端分布式系统中包括多个节点设备,基于云端分布式系统的任务处理装置应用于云端分布式系统中的任一节点设备,基于云端分布式系统的任务处理700包括:
获取单元701,用于响应于竞争得到第一待处理任务消息,获取云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息。
第一确定单元702,用于根据各其他节点设备的属性信息确定目标节点设备。
在一些实施例中,第一确定单元702用于,根据每一其他节点设备的属性信息,从各其他节点设备中,确定能够完成第一待处理任务的目标节点设备。
在一些实施例中,每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和/或每一节点设备的调度优先级;第一确定单元702用于,根据每一其他节点设备的任务处理空间和/或每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
结合图7可知,在一些实施例中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;第一确定单元702,包括:
第一确定子单元7021,用于根据每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成第一待处理任务的中间节点设备。
第二确定子单元7022,用于若中间节点设备的数量为多个,则根据每一中间节点设备的任务处理空间,从各中间节点设备中,确定能够完成第一待处理任务的目标节点设备。
结合图7可知,在另一些实施例中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;第一确定单元702,包括:
第三确定子单元7023,用于根据每一其他节点设备的任务处理空间,从各其他节点设备中,确定能够完成第一待处理任务的中间节点设备。
第四确定子单元7024,用于若中间节点设备的数量为多个,则根据每一其他节点设备的调度优先级,从各中间节点设备中,确定能够完成第一待处理任务的目标节点设备。
结合图7可知,在另一些实施例中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;第一确定单元702,包括:
分配子单元7025,用于为每一其他节点设备的任务处理空间分配第一权重,并为每一其他节点设备的调度优先级分配第二权重。
第五确定子单元7026,用于根据每一其他节点设备的任务处理空间、第一权重、每一其他节点设备的调度优先级、以及第二权重,从各其他节点设备中,确定能够完成第一待处理任务的目标节点设备。
在一些实施例中,每一其他节点设备的任务处理空间是:基于每一其他节点设备的存储空间和/或处理器CPU可用率确定的。
生成单元703,用于生成第一推送消息,其中,第一待处理任务消息中携带第一待处理任务,第一推送消息用于指示由目标节点设备对第一待处理任务进行处理。
第一输出单元704,用于输出第一推送消息。
第二确定单元705,用于响应于预设时间段内未收到针对第一推送消息的应答消息,确定目标节点设备的状态属性。
第三确定单元706,用于若目标节点设备的状态属性为非工作状态,则从目标节点设备之外的其他节点设备中重新确定用于执行第一待处理任务的节点设备。
处理单元707,用于响应于接收到第二推送消息,第二推送消息用于指示,由当前节点设备执行第二推送消息中携带的第二待处理任务,对第二待处理任务进行处理,得到并输出任务处理结果。
结合图7可知,在一些实施例中,处理单元707,包括:
第一缓存子单元7071,用于将第二待处理任务缓存至任务队列。
第一处理子单元7072,用于基于任务队列对所述第二待处理任务进行处理,得到并输出任务处理结果。
在一些实施例中,处理单元707还用于,若在对第二待处理任务进行处理时,当前节点设备宕机后重启,则在当前节点设备重启后继续执行第二待处理任务。
第一减少单元708,用于根据第二待处理任务,对当前节点设备的任务处理空间进行减少处理。
其中,当前节点设备具有属性信息,当前节点设备的属性信息包括当前节点设备的任务处理空间。
第一删除单元709,用于从任务队列中删除第二待处理任务。
第一增加单元710,用于根据第二待处理任务,对当前节点设备的任务处理空间进行增加处理。
图8是根据本公开第七实施例的示意图,云端分布式系统中包括多个节点设备,基于云端分布式系统的任务处理装置应用于云端分布式系统中的任一节点设备,基于云端分布式系统的任务处理800包括:
接收单元801,用于接收云端分布式系统中的一个节点设备发送的第一推送消息,其中,第一推送消息是根据云端分布式系统中除该一个节点设备之外的各其他节点设备的属性信息生成的,第一推送消息用于指示由指定节点设备执行第一待处理任务。
执行单元802,用于根据第一推送消息执行第一待处理任务,任务处理结果。
第二输出单元803,用于输出任务处理结果。
图9是根据本公开第八实施例的示意图,云端分布式系统中包括多个节点设备,基于云端分布式系统的任务处理装置应用于云端分布式系统中的任一节点设备,基于云端分布式系统的任务处理900包括:
接收单元901,用于接收云端分布式系统中的一个节点设备发送的第一推送消息,其中,第一推送消息是根据云端分布式系统中除该一个节点设备之外的各其他节点设备的属性信息生成的,第一推送消息用于指示由指定节点设备执行第一待处理任务。
执行单元902,用于根据第一推送消息执行第一待处理任务,任务处理结果。
结合图9可知,在一些实施例中,执行单元902,包括:
第二缓存子单元9021,用于将第一待处理任务缓存至任务队列。
第二处理子单元9022,用于基于任务队列对第一待处理任务进行处理,得到并输出任务处理结果。
在一些实施例中,执行单元902还用于,若在执行第一待处理任务时,指定节点设备宕机后重启,则在指定节点设备重启后继续执行第一待处理任务。
第二输出单元903,用于输出任务处理结果。
第二减少单元904,用于根据第一待处理任务,对指定节点设备的任务处理空间进行减少处理。
其中,指定节点设备具有属性信息,指定节点设备的属性信息包括指定节点的任务处理空间。
第二删除单元905,用于从任务队列中删除待处理任务。
第二增加单元906,用于根据第一待处理任务,对指定节点设备的任务处理空间进行增加处理。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如方法XXX。例如,在一些实施例中,方法XXX可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的方法XXX的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法XXX。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为云端分布式系统的服务器,或者是结合了区块链的服务器。
根据本公开实施例的另一个方面,本公开实施例还提供了一种云端分布式系统,云端分布式系统中包括由多个节点设备组成的任务处理集群。
任务处理集群中的任一节点设备用于执行如上任一实施例所述的方法的步骤。
示例性地,图11为本公开实施例的云端分布式系统的示意图,如图11所示,云端分布式系统1100包括:消息服务集群1101、任务处理集群1102、缓存集群1103,其中,
消息服务集群1101,用于接收网联设备发起的待处理任务消息。
例如,网联设备可以建立与云端分布式系统之间的通信链路,并基于该通信链路建立与云端分布式系统之间的通信连接。
结合如图1所示的应用场景,网联设备可以为车辆,车辆向消息服务集群1101发起待处理任务消息。
其中,消息服务集群1101中包括多个节点设备,各节点设备可以接收由各网络设备发起的各自的待处理任务消息。
在一些实施例中,消息服务集群1101可以基于物联网(Internet of Things,IoT)技术实现,也可以基于消息队列(RabbitMQ,MQ)技术实现,也可以基于Kafka技术实现,等等,本实施例不做限定。
消息服务集群1101可以通过应答机制实现与消息服务集群1101通信的外接设备(包括如上所述的车辆,或者如上所述的节点设备等)之间通信连接。
例如,应答消息的类型包括两种,分别为请求(request)类型和应答(response)类型。且针对不同的应答消息,可以为不同的应答消息分配不同的标识(ID),以对不同的应答消息进行区分。
消息服务集群1101可以设置超时机制,以提高若网环境下的容错率。例如,消息服务集群1101多次(如3次)向外接设备发送消息,均未得到外接设备的响应,则确定连接失败,或者,通信失败。
任务处理集群1102中包括多个节点设备,如图11中所示的节点设备1至节点设备n。
其中,任务处理集群1102中的每一节点设备,可以将该节点设备的属性信息存储至缓存集群1103,且在当需要确定用于执行待处理任务的节点设备时,可以从缓存集群1103获取各节点设备的属性信息。
其中,缓存集群1103可以基于远程字典服务(Remote Dictionary Server,Redis)实现,也可以基于分布式的高速缓存系统(memcached)实现,本实施例不做限定。
例如,节点设备可以基于内存大小和处理器使用率等确定其属性信息,并将属性信息存储至缓存集群1103。
值得说明地是,结合上述实施例可知,节点设备在执行待处理任务时,可以对其属性信息进行更新(如减少任务处理空间),也可以在完成待处理任务的执行之后,对其属性信息进行更新(如增加任务处理空间),因此,节点设备可以基于属性信息的变化对缓存集群1103进行更新,即对缓存集群1103中存储的节点设备的属性信息进行相应的增加或减少等。
同理,也可以基于节点设备的调度优先级的更新,对缓存集群1103进行更新,此处不再赘述。
其中,节点设备具有标识,每一节点设备通过其标识与其他节点设备进行区分。
现结合图11和上述方法实施例的实现原理,对云端分布式系统的原理进行示范性地阐述:
消息服务集群1101接收由网联设备发起的待处理任务消息,并将待处理任务消息传输给任务处理集群1102。
任务处理集群1102中的各节点设备(如图11中所示的节点设备1、节点设备2、直至节点设备n)竞争该待处理任务消息,若节点设备1竞争得到该待处理任务消息,则节点设备1对该待处理任务消息进行加锁处理,以使其他节点设备(即节点设备2至节点设备n)无法在对该待处理任务消息进行处理。
节点设备1可以从缓存集群1103中,获取节点设备2至节点设备n中每一节点设备的属性信息,并基于获取到的各节点设备的属性信息,从中确定用于执行待处理任务消息中携带的待处理任务的节点设备。
若确定出的执行待处理任务的节点设备为节点设备n,则节点设备1可以生成推送消息,并将推送消息传输给任务处理集群1102。
相应地,任务处理集群1102接收由节点设备1传输的推送消息,且根据该推送消息,任务处理集群1102确定是由节点设备n处理待处理任务,则将推送消息传输给节点设备n。
例如,任务处理集群1102可以将推送消息推送至节点设备n监听的队列中。
在一些实施例中,任务处理集群1102传输待处理任务消息的通道与接收推送消息的通道为不同的通道。
节点设备n监听到待推送消息,对待处理任务进行处理,得到任务处理结果,并将任务处理结果推送给任务处理集群1102。
相应地,任务处理集群1102将任务处理结果传输给网联设备。
结合如图1所示的应用场景,若网联设备为车辆,且待处理任务为对车辆的辅助控制的任务,以辅助控制车辆顺利通过障碍物,则任务处理集群1102将任务处理结果传输给车辆,车辆接收到任务处理结果之后,可以根据任务处理结果控制车辆行驶,以顺利通过障碍物,从而提高车辆行驶的可靠性和安全性的技术效果。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (43)
1.一种基于云端分布式系统的任务处理方法,所述云端分布式系统中包括多个节点设备,所述方法应用于所述云端分布式系统中的任一节点设备,所述方法包括:
响应于竞争得到第一待处理任务消息,获取所述云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息;
根据各其他节点设备的属性信息确定目标节点设备,生成并输出第一推送消息,其中,所述第一待处理任务消息中携带第一待处理任务,所述第一推送消息用于指示由所述目标节点设备对所述第一待处理任务进行处理。
2.根据权利要求1所述的方法,其中,根据各其他节点设备的属性信息确定目标节点设备,包括:
根据每一其他节点设备的属性信息,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
3.根据权利要求2所述的方法,其中,每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和/或每一节点设备的调度优先级;根据每一其他节点设备的属性信息,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备,包括:
根据每一其他节点设备的任务处理空间和/或每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
4.根据权利要求3所述的方法,其中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;根据每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备,包括:
根据每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成所述第一待处理任务的中间节点设备;
若中间节点设备的数量为多个,则根据每一中间节点设备的任务处理空间,从各中间节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
5.根据权利要求3所述的方法,其中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;根据每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备,包括:
根据每一其他节点设备的任务处理空间,从各其他节点设备中,确定能够完成所述第一待处理任务的中间节点设备;
若中间节点设备的数量为多个,则根据每一其他节点设备的调度优先级,从各中间节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
6.根据权利要求3所述的方法,其中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;根据每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备,包括:
为每一其他节点设备的任务处理空间分配第一权重,并为每一其他节点设备的调度优先级分配第二权重;
根据每一其他节点设备的任务处理空间、第一权重、每一其他节点设备的调度优先级、以及第二权重,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
7.根据权利要求3至6中任一项所述的方法,其中,每一其他节点设备的任务处理空间是:基于每一其他节点设备的存储空间和/或处理器CPU可用率确定的。
8.根据权利要求1至7中任一项所述的方法,在生成并输出第一推送消息之后,还包括:
响应于预设时间段内未收到针对所述第一推送消息的应答消息,确定所述目标节点设备的状态属性;
若所述目标节点设备的状态属性为非工作状态,则从所述目标节点设备之外的其他节点设备中重新确定用于执行所述第一待处理任务的节点设备。
9.根据权利要求1至8中任一项所述的方法,还包括:
响应于接收到第二推送消息,所述第二推送消息用于指示,由所述当前节点设备执行所述第二推送消息中携带的第二待处理任务,对所述第二待处理任务进行处理,得到并输出任务处理结果。
10.根据权利要求9所述的方法,其中,对所述第二待处理任务进行处理,得到并输出任务处理结果,包括:
将所述第二待处理任务缓存至任务队列,并基于所述任务队列对所述第二待处理任务进行处理,得到并输出所述任务处理结果。
11.根据权利要求10所述的方法,还包括:
若在对所述第二待处理任务进行处理时,所述当前节点设备宕机后重启,则在所述当前节点设备重启后继续执行所述第二待处理任务。
12.根据权利要求10所述的方法,所述当前节点设备具有属性信息,所述当前节点设备的属性信息包括所述当前节点设备的任务处理空间;在接收到所述第二推送消息之后,还包括:
根据所述第二待处理任务,对所述当前节点设备的任务处理空间进行减少处理。
13.根据权利要求12所述的方法,在基于所述任务队列对所述第二待处理任务进行处理,得到并输出所述任务处理结果之后,还包括:
从所述任务队列中删除所述第二待处理任务,并根据所述第二待处理任务,对所述当前节点设备的任务处理空间进行增加处理。
14.一种基于云端分布式系统的任务处理方法,所述云端分布式系统中包括多个节点设备,所述方法应用于所述云端分布式系统中的任一节点设备,所述方法包括:
接收所述云端分布式系统中的一个节点设备发送的第一推送消息,其中,所述第一推送消息是根据所述云端分布式系统中除该一个节点设备之外的各其他节点设备的属性信息生成的,所述第一推送消息用于指示由指定节点设备执行第一待处理任务;
根据所述第一推送消息执行第一待处理任务,得到并输出任务处理结果。
15.根据权利要求14所述的方法,其中,根据所述第一推送消息执行第一待处理任务,得到并输出任务处理结果,包括:
将所述第一待处理任务缓存至任务队列,并基于所述任务队列对所述第一待处理任务进行处理,得到并输出所述任务处理结果。
16.根据权利要求14所述的方法,还包括:
若在执行所述第一待处理任务时,所述指定节点设备宕机后重启,则在所述指定节点设备重启后继续执行所述第一待处理任务。
17.根据权利要求14至16中任一项所述的方法,所述指定节点设备具有属性信息,所述指定节点设备的属性信息包括所述指定节点的任务处理空间;在接收到所述第一推送消息之后,还包括:
根据所述第一待处理任务,对所述指定节点设备的任务处理空间进行减少处理。
18.根据权利要求15所述的方法,在基于所述任务队列对所述第一待处理任务进行处理,得到并输出所述任务处理结果之后,还包括:
从所述任务队列中删除所述待处理任务,并根据所述第一待处理任务,对所述指定节点设备的任务处理空间进行增加处理。
19.一种基于云端分布式系统的任务处理装置,所述云端分布式系统中包括多个节点设备,所述装置应用于所述云端分布式系统中的任一节点设备,所述装置包括:
获取单元,用于响应于竞争得到第一待处理任务消息,获取所述云端分布式系统中除当前节点设备之外的各其他节点设备的属性信息;
第一确定单元,用于根据各其他节点设备的属性信息确定目标节点设备;
生成单元,用于生成第一推送消息,其中,所述第一待处理任务消息中携带第一待处理任务,所述第一推送消息用于指示由所述目标节点设备对所述第一待处理任务进行处理;
第一输出单元,用于输出所述第一推送消息。
20.根据权利要求19所述的装置,其中,根据各其他节点设备的属性信息确定目标节点设备,包括:
所述第一确定单元用于,根据每一其他节点设备的属性信息,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
21.根据权利要求20所述的装置,其中,每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和/或每一节点设备的调度优先级;所述第一确定单元用于,根据每一其他节点设备的任务处理空间和/或每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
22.根据权利要求21所述的装置,其中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;所述第一确定单元,包括:
第一确定子单元,用于根据每一其他节点设备的调度优先级,从各其他节点设备中,确定能够完成所述第一待处理任务的中间节点设备;
第二确定子单元,用于若中间节点设备的数量为多个,则根据每一中间节点设备的任务处理空间,从各中间节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
23.根据权利要求21所述的装置,其中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;所述第一确定单元,包括:
第三确定子单元,用于根据每一其他节点设备的任务处理空间,从各其他节点设备中,确定能够完成所述第一待处理任务的中间节点设备;
第四确定子单元,用于若中间节点设备的数量为多个,则根据每一其他节点设备的调度优先级,从各中间节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
24.根据权利要求21所述的装置,其中,若每一其他节点设备的属性信息包括:每一其他节点设备的任务处理空间和每一其他节点设备的调度优先级;所述第一确定单元,包括:
分配子单元,用于为每一其他节点设备的任务处理空间分配第一权重,并为每一其他节点设备的调度优先级分配第二权重;
第五确定子单元,用于根据每一其他节点设备的任务处理空间、第一权重、每一其他节点设备的调度优先级、以及第二权重,从各其他节点设备中,确定能够完成所述第一待处理任务的目标节点设备。
25.根据权利要求21至24中任一项所述的装置,其中,每一其他节点设备的任务处理空间是:基于每一其他节点设备的存储空间和/或处理器CPU可用率确定的。
26.根据权利要求19至25中任一项所述的装置,还包括:
第二确定单元,用于响应于预设时间段内未收到针对所述第一推送消息的应答消息,确定所述目标节点设备的状态属性;
第三确定单元,用于若所述目标节点设备的状态属性为非工作状态,则从所述目标节点设备之外的其他节点设备中重新确定用于执行所述第一待处理任务的节点设备。
27.根据权利要求19至26中任一项所述的装置,还包括:
处理单元,用于响应于接收到第二推送消息,所述第二推送消息用于指示,由所述当前节点设备执行所述第二推送消息中携带的第二待处理任务,对所述第二待处理任务进行处理,得到并输出任务处理结果。
28.根据权利要求27所述的装置,其中,所述处理单元,包括:
第一缓存子单元,用于将所述第二待处理任务缓存至任务队列;
第一处理子单元,用于基于所述任务队列对所述第二待处理任务进行处理,得到并输出所述任务处理结果。
29.根据权利要求28所述的装置,其中,所处处理子单元还用于,若在对所述第二待处理任务进行处理时,所述当前节点设备宕机后重启,则在所述当前节点设备重启后继续执行所述第二待处理任务。
30.根据权利要求28所述的装置,所述当前节点设备具有属性信息,所述当前节点设备的属性信息包括所述当前节点设备的任务处理空间;还包括:
第一减少单元,用于根据所述第二待处理任务,对所述当前节点设备的任务处理空间进行减少处理。
31.根据权利要求30所述的装置,还包括:
第一删除单元,用于从所述任务队列中删除所述第二待处理任务;
第一增加单元,用于根据所述第二待处理任务,对所述当前节点设备的任务处理空间进行增加处理。
32.一种基于云端分布式系统的任务处理装置,所述云端分布式系统中包括多个节点设备,所述装置应用于所述云端分布式系统中的任一节点设备,所述装置包括:
接收单元,用于接收所述云端分布式系统中的一个节点设备发送的第一推送消息,其中,所述第一推送消息是根据所述云端分布式系统中除该一个节点设备之外的各其他节点设备的属性信息生成的,所述第一推送消息用于指示由指定节点设备执行第一待处理任务;
执行单元,用于根据所述第一推送消息执行第一待处理任务,任务处理结果;
第二输出单元,用于输出所述任务处理结果。
33.根据权利要求32所述的装置,其中,所述执行单元,包括:
第二缓存子单元,用于将所述第一待处理任务缓存至任务队列;
第二处理子单元,用于基于所述任务队列对所述第一待处理任务进行处理,得到并输出所述任务处理结果。
34.根据权利要求32所述的装置,其中,所述执行单元还用于,若在执行所述第一待处理任务时,所述指定节点设备宕机后重启,则在所述指定节点设备重启后继续执行所述第一待处理任务。
35.根据权利要求32至34中任一项所述的装置,所述指定节点设备具有属性信息,所述指定节点设备的属性信息包括所述指定节点的任务处理空间;还包括:
第二减少单元,用于根据所述第一待处理任务,对所述指定节点设备的任务处理空间进行减少处理。
36.根据权利要求33所述的装置,还包括:
第二删除单元,用于从所述任务队列中删除所述待处理任务;
第二增加单元,用于根据所述第一待处理任务,对所述指定节点设备的任务处理空间进行增加处理。
37.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法,或者,以使所述至少一个处理器能够执行权利要求14-18中任一项所述的方法。
38.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的方法;或者,所述计算机指令用于使所述计算机执行根据权利要求14-18中任一项所述的方法。
39.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-13中任一项所述方法的步骤;或者,该计算机程序被处理器执行时实现权利要求14-18中任一项所述方法的步骤。
40.一种云端分布式系统,所述云端分布式系统中包括由多个节点设备组成的任务处理集群;
所述任务处理集群中的任一节点设备用于执行如权利要求1-13任一项所述的方法的步骤,和/或,所述云端分布式系统中的任一节点设备用于执行如权利要求14-18任一项所述的方法的步骤。
41.根据权利要求40所述的系统,还包括:
缓存集群,用于存储每一节点设备的属性信息。
42.根据权利要求40或41所述的系统,还包括:
消息服务集群,用于接收网联设备发起的待处理任务消息,并将所述待处理任务消息传输给所述任务处理集群,所述网联设备与所述系统通信连接。
43.根据权利要求41所述的系统,所述消息服务集群还用于,接收所述任务处理集群发送的推送消息,所述推送消息用于指示执行对待处理任务消息中携带的待处理任务的节点设备,并将所述推送消息传输给执行所述待处理任务的节点设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111045764.9A CN113742075B (zh) | 2021-09-07 | 2021-09-07 | 基于云端分布式系统的任务处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111045764.9A CN113742075B (zh) | 2021-09-07 | 2021-09-07 | 基于云端分布式系统的任务处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113742075A true CN113742075A (zh) | 2021-12-03 |
CN113742075B CN113742075B (zh) | 2024-04-09 |
Family
ID=78736818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111045764.9A Active CN113742075B (zh) | 2021-09-07 | 2021-09-07 | 基于云端分布式系统的任务处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742075B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840349A (zh) * | 2022-07-04 | 2022-08-02 | 东声(苏州)智能科技有限公司 | Ai智能相机的分布式任务调度方法及ai智能相机系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170093672A1 (en) * | 2015-09-25 | 2017-03-30 | EMC IP Holding Company LLC | Method and device for fingerprint based status detection in a distributed processing system |
CN109831507A (zh) * | 2019-02-14 | 2019-05-31 | 上海联寓智能科技有限公司 | 物联网系统、负载均衡方法和存储介质 |
CN110955523A (zh) * | 2019-11-22 | 2020-04-03 | 中国银联股份有限公司 | 一种业务处理方法及装置 |
CN112286672A (zh) * | 2020-12-30 | 2021-01-29 | 南京智闪萤科技有限公司 | 用于调度任务的方法、计算设备和计算机存储介质 |
CN112527525A (zh) * | 2020-12-11 | 2021-03-19 | 广州伊智信息科技有限公司 | 基于消息队列的分布式事件总线处理方法、终端及介质 |
CN113014634A (zh) * | 2021-02-20 | 2021-06-22 | 成都新希望金融信息有限公司 | 集群选举处理方法、装置、设备及存储介质 |
-
2021
- 2021-09-07 CN CN202111045764.9A patent/CN113742075B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170093672A1 (en) * | 2015-09-25 | 2017-03-30 | EMC IP Holding Company LLC | Method and device for fingerprint based status detection in a distributed processing system |
CN109831507A (zh) * | 2019-02-14 | 2019-05-31 | 上海联寓智能科技有限公司 | 物联网系统、负载均衡方法和存储介质 |
CN110955523A (zh) * | 2019-11-22 | 2020-04-03 | 中国银联股份有限公司 | 一种业务处理方法及装置 |
CN112527525A (zh) * | 2020-12-11 | 2021-03-19 | 广州伊智信息科技有限公司 | 基于消息队列的分布式事件总线处理方法、终端及介质 |
CN112286672A (zh) * | 2020-12-30 | 2021-01-29 | 南京智闪萤科技有限公司 | 用于调度任务的方法、计算设备和计算机存储介质 |
CN113014634A (zh) * | 2021-02-20 | 2021-06-22 | 成都新希望金融信息有限公司 | 集群选举处理方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
张岩;吕梦儒;: "构建高维度数据立方体的有向图方法", 沈阳师范大学学报(自然科学版), no. 01, pages 80 - 84 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840349A (zh) * | 2022-07-04 | 2022-08-02 | 东声(苏州)智能科技有限公司 | Ai智能相机的分布式任务调度方法及ai智能相机系统 |
CN114840349B (zh) * | 2022-07-04 | 2022-11-01 | 东声(苏州)智能科技有限公司 | Ai智能相机的分布式任务调度方法及ai智能相机系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113742075B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113377520A (zh) | 资源调度方法、装置、设备以及存储介质 | |
CN112783659B (zh) | 一种资源分配方法、装置、计算机设备及存储介质 | |
CN113849312B (zh) | 数据处理任务的分配方法、装置、电子设备及存储介质 | |
CN114356547B (zh) | 基于处理器虚拟化环境的低优阻塞方法及装置 | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
CN113986497B (zh) | 基于多租户技术的队列调度方法、装置及系统 | |
CN114840323A (zh) | 任务处理方法、装置、系统、电子设备以及存储介质 | |
US10673983B2 (en) | Processing a unit of work | |
CN113742075A (zh) | 基于云端分布式系统的任务处理方法、装置及系统 | |
CN113032093B (zh) | 分布式计算方法、装置及平台 | |
CN113590329A (zh) | 资源处理方法及装置 | |
CN113608765A (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN113419865A (zh) | 云资源处理方法、相关装置及计算机程序产品 | |
CN114327819B (zh) | 一种任务管理方法、装置、设备及存储介质 | |
CN113641688B (zh) | 节点更新方法、相关装置及计算机程序产品 | |
CN111901254B (zh) | 全节点的带宽分配方法、装置、电子设备以及存储介质 | |
CN113032092B (zh) | 分布式计算方法、装置及平台 | |
CN114265692A (zh) | 服务调度方法、装置、设备以及存储介质 | |
CN114416357A (zh) | 容器组的创建方法、装置、电子设备和介质 | |
CN113726881A (zh) | 通信连接建立方法、相关装置及计算机程序产品 | |
CN115379000B (zh) | 服务平台的扩容方法、装置、电子设备以及存储介质 | |
CN115600687B (zh) | 模型训练方法、装置、设备以及存储介质 | |
CN113285833B (zh) | 用于获取信息的方法和装置 | |
CN115061817A (zh) | 运维方法、装置、系统及计算机程序产品 | |
CN113946414A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |