CN112333249B - 一种业务服务系统及方法 - Google Patents
一种业务服务系统及方法 Download PDFInfo
- Publication number
- CN112333249B CN112333249B CN202011157958.3A CN202011157958A CN112333249B CN 112333249 B CN112333249 B CN 112333249B CN 202011157958 A CN202011157958 A CN 202011157958A CN 112333249 B CN112333249 B CN 112333249B
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- node
- scheduling node
- task information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种业务服务系统,涉及网络服务技术领域。该系统包括:任务信息存储设备、主调度节点和从调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;主调度节点从任务信息存储设备中获取待处理任务信息并同步到应用协调服务器;为每个调度节点分配从应用协调服务器获取的待处理任务信息;将生成的待处理任务消息存储至任务消息存储设备;从调度节点从任务信息存储设备中获取待处理任务信息并同步到应用协调服务器;将生成的待处理任务消息存储至任务消息存储设备;微服务执行节点从任务消息存储设备中获取待处理任务消息进行业务处理。与现有技术相比,应用本发明实施例提供的方案,可以提高业务服务系统的可扩展性。
Description
技术领域
本发明涉网络服务技术领域,特别是涉及一种业务服务系统及方法。
背景技术
目前,采用微服务架构的业务服务系统被广泛地应用到人们的日常生活和工作中。其中,在微服务架构中,可以存在多个子服务,为用户提供属于同一业务应用的不同类型的服务,实现用户所发出的不同类型的任务。例如,采用微服务架构的购物服务系统可以提供下单子服务、结算子服务和退单子服务等。
例如,如图1所示,一个采用微服务架构的业务应用系统可以提供服务1-3共三种不同类型的子服务,每种子服务分别对应于一调度节点,并且每种子服务所对应的调度节点与多个微服务执行节点通信连接,每个微服务执行节点用于执行属于该种子服务的各个待处理任务。其中,当用户通过客户端101发出某种待处理任务时,该业务应用系统中的网关102可以确定该待处理任务的服务类型为服务1,从而可以将该待处理任务分配服务1给对应的调度节点103,进而,该调度节点便可以将该待处理任务分配给一用于执行该服务类型所对应任务的微服务执行节点104,以使该微服务执行节点104执行该待处理任务。
然而,当前针对采用微服务架构的业务应用系统中的各个待处理任务的调度方案中,调度节点在接收到待处理任务时,会直接选取执行节点,并将该待处理任务分配给所选取的微服务执行节点,也就是说,在当前的相关技术中,调度节点与微服务执行节点耦合在一起,从而,实现二者之间的直接的通信连接。由于调度节点与微服务执行节点耦合在一起,导致上述业务服务系统的可扩展性较差。
发明内容
本发明实施例的目的在于提供一种业务服务系统及方法,以实现对调度系统和微服务执行节点的解耦,提高业务服务系统的可扩展性。具体技术方案如下:
第一方面,本发明实施例提供了一种业务服务系统,所述系统包括:任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;其中一个调度节点被配置为主调度节点,其他调度节点被配置为从调度节点;
所述任务信息存储设备,用于存储客户端请求的任务的任务信息;
所述主调度节点,用于从所述任务信息存储设备中获取待处理任务信息,并将从所述任务信息存储设备中所获取到的待处理任务信息同步到所述应用协调服务器;从所述应用协调服务器获取各个调度节点所同步的待处理任务信息,按照预设分配规则,为每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息;并对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备;
所述从调度节点,用于从所述任务信息存储设备中获取待处理任务信息,并将所获取到的待处理任务信息同步到所述应用协调服务器;获得所述主调度节点分配的待处理任务信息;并对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备;
所述微服务执行节点,用于从所述任务消息存储设备中获取预设的自身要处理的待处理任务消息进行业务处理。
可选的,一种具体实现方式中,所述应用协调服务器还用于:
接收每个调度节点发送的注册信息,并基于所接收到的注册信息生成关于所述多个调度节点的节点树;其中,所述节点树用于指示所述多个调度节点中各个正常运行的调度节点;
按照预设周期,检测每个调度节点是否正常运行;
如果检测到存在非正常运行的调度节点时,从所述节点树上删除所述非正常运行的调度节点;
所述主调度节点按照预设分配规则,为每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息包括:
所述主调度节点按照预设分配规则,基于所述节点树,为正常运行的每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息。
可选的,一种具体实现方式中,所述非正常运行的调度节点为所述主调度节点时,所述应用协调服务器还用于:
将各个从调度节点中的一正常运行的从调度节点配置为新的主调度节点,并更新所述节点树;向所配置的新的主调度节点发送关于更新后的所述节点树的信息。
可选的,一种具体实现方式中,所述主调度节点还用于:
在为每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息后,当检测到满足任务重分配条件时,为每个正常运行的调度节点分配从所述应用协调服务器所获取到的待处理任务信息;
其中,所述任务重分配条件包括所述多个调度节点中存在非正常运行的调度节点。
可选的,一种具体实现方式中,每个调度节点对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备,包括:
每个调度节点对分配给自身的待处理任务信息生成对应的待处理任务消息,并按照每个待处理任务信息对应的任务类型,将该待处理任务信息对应的待处理任务消息发送到所述任务消息存储设备中与该任务类型对应的任务主题区域中。
可选的,一种具体实现方式中,所述微服务执行节点从所述任务消息存储设备中获取预设的自身要处理的待处理任务消息进行业务处理,包括:
所述微服务执行节点监听所述任务消息存储设备中自身要处理的任务类型对应的任务主题区域;当所监听的任务主题区域中存储待处理任务消息时,获取所监听到的待处理任务消息进行业务处理。
可选的,一种具体实现方式中,所述系统还包括:与所述应用协调服务器、所述调度节点和所述微服务执行节点通信连接的系统管理服务器;
所述系统管理服务器,用于获取每个调度节点的节点信息和/或每个微服务执行节点的节点信息;显示所获取到的每个调度节点的节点信息和/或每个微服务执行节点的节点信息,并基于用户的指定操作,更改每个调度节点和/或每个微服务执行节点的配置信息。
第二方面,本发明实施例提供了一种业务服务方法,应用于业务服务系统中的调度节点;其中,所述业务服务系统包括:任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;其中一个调度节点被配置为主调度节点,其他调度节点被配置为从调度节点;
当所述调度节点为主调度节点时,所述方法包括:
从所述任务信息存储设备中获取待处理任务信息,并将从所述任务信息存储设备中所获取到的待处理任务信息同步到所述应用协调服务器;从所述应用协调服务器获取各个调度节点所同步的待处理任务信息,按照预设分配规则,为每个调度节点从所述任务信息存储设备中分配所获取到的待处理任务信息;对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备;
当所述调度节点为从调度节点时,所述方法包括:
从所述任务信息存储设备中获取待处理任务信息,并将所获取到的待处理任务信息同步到所述应用协调服务器;获得所述主调度节点分配的待处理任务信息;对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备。
第三方面,本发明实施例提供了一种业务服务方法,应用于业务服务系统中的微服务执行节点;其中,所述业务服务系统包括:任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;其中一个调度节点被配置为主调度节点,其他调度节点被配置为从调度节点;所述方法包括:
从所述任务消息存储设备中获取预设的自身要处理的待处理任务消息;
基于所获取到的待处理任务信息进行业务处理。
第四方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面或第三方面提供的一种业务服务方法的步骤。
第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面或第三方面提供的一种业务服务方法的步骤。
第六方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面或第三方面提供的一种业务服务方法的步骤。
本发明实施例有益效果:
以上可见,应用本发明实施例提供的方案,调度节点对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备,进而,微服务执行节点从任务消息存储设备中获取预设的自身要处理的待处理任务消息进行业务处理。从而,可以将业务服务系统中的任务调度环节和任务执行环节进行解耦,二者通过任务消息存储设备实现间接的通信连接。这样,由于调度节点和微服务执行节点不是直接通信连接,而是通过任务消息存储设备实现间接的通信连接,因此,可以提高业务服务系统的可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种采用微服务架构的业务应用系统的结构示意图;
图2为本发明实施例提供的一种业务服务系统的结构示意图;
图3为本发明实施例提供的一种业务服务系统的信令交互图;
图4为本发明实施例提供的另一种业务服务系统的结构示意图;
图5为本发明实施例提供的一种业务服务方法的流程示意图;
图6为本发明实施例提供的另一种业务服务方法的流程示意图;
图7为本发明实施例提供的再一种业务服务方法的流程示意图;
图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中,由于调度节点与微服务执行节点耦合而导致的业务服务系统的可扩展性较差的技术问题,本发明实施例提供了一种业务服务系统。
其中,本发明实施例提供的一种业务服务系统包括:任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;其中一个调度节点被配置为主调度节点,其他调度节点被配置为从调度节点;
所述任务信息存储设备,用于存储客户端请求的任务的任务信息;
所述主调度节点,用于从所述任务信息存储设备中获取待处理任务信息,并将从所述任务信息存储设备中所获取到的待处理任务信息同步到所述应用协调服务器;从所述应用协调服务器获取各个调度节点所同步的待处理任务信息,按照预设分配规则,为每个调度节点分配从所述任务信息存储设备中所获取到的待处理任务信息;并对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备;
所述从调度节点,用于从所述任务信息存储设备中获取待处理任务信息,并将所获取到的待处理任务信息同步到所述应用协调服务器;并获得所述主调度节点分配的待处理任务信息;并对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备;
所述微服务执行节点,用于从所述任务消息存储设备中获取预设的自身要处理的待处理任务消息进行业务处理。
其中,需要说明的是,本发明实施例提供的任务服务系统可以适用于任一提供某种业务应用的场景,例如,购物服务系统或视频服务系统等。
本发明实施例提供的业务服务系统中,任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点的硬件设备可以为服务器、PC机或其他电子设备。其中,一个电子设备可以为一个单独的调度节点或一个单独的微服务执行节点,一个电子设备中也可以同时设置有多个调度节点或多个微服务执行节点。
此外,本发明实施例提供的任务服务系统中,任务信息存储设备和任务消息存储设备可以是分布式存储系统中的设备。进一步的,应用协调服务器可以是用于提供分布式应用程序协调服务的服务器,例如,应用协调服务器可以是zookeeper服务器,并且,上述应用协调服务器可以是一个服务器也可以是多个服务器构成的服务器集群。这都是合理的。
以上可见,应用本发明实施例提供的方案,调度节点对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备,进而,微服务执行节点从任务消息存储设备中获取预设的自身要处理的待处理任务消息进行业务处理。从而,可以将业务服务系统中的任务调度环节和任务执行环节进行解耦,二者通过任务消息存储设备实现间接的通信连接。这样,由于调度节点和微服务执行节点不是直接通信连接,而是通过任务消息存储设备实现间接的通信连接,因此,可以提高业务服务系统的可扩展性。
并且,应用本发明实施例提供的方案,微服务执行节点是主动从任务消息存储设备中获取预设的自身要处理的待处理任务消息进行业务处理的,从而,微服务执行节点不需要周期性地向调度节点发送心跳信息以维持自身与调度节点的连接,以避免自身被调度节点剔除,因此,可以节省微服务执行节点的资源,降低调度节点的工作复杂度。
此外,应用本发明实施例提供的方案,利用应用协调服务器可以实现对任务的分布式调度,从而可以提高系统的高可用性和稳定性。
下面,结合附图对本发明实施例提供的一种业务服务系统进行具体说明。
图2为本发明实施例提供的一种业务服务系统的结构示意图。如图2所示,该系统包括:任务信息存储设备210、多个调度节点220、应用协调服务器230、任务消息存储设备240和多个微服务执行节点250;其中一个调度节点220被配置为主调度节点,其他调度节点220被配置为从调度节点。
其中,任务信息存储设备210,用于存储客户端请求的任务的任务信息;
主调度节点220,用于从任务信息存储设备210中获取待处理任务信息,并将所获取到的待处理任务信息同步到应用协调服务器230;并从应用协调服务器230获取各个调度节点220所同步的待处理任务信息,按照预设分配规则,为每个调度节点220分配从应用协调服务器230所获取到的待处理任务信息;并对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备240;
从调度节点220,用于从任务信息存储设备210中获取待处理任务信息,并将所获取到的待处理任务信息同步到应用协调服务器230;并获得主调度节点220分配的待处理任务信息;并对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备240;
微服务执行节点250,用于从任务消息存储设备240中获取预设的自身要处理的待处理任务消息进行业务处理。
为了便于理解上述本发明实施例提供的一种业务服务系统中的数据交互过程,如图3所示,为本发明实施例提供的一种业务服务系统的信令交互图。该数据交互过程可以包括如下步骤:
S301:客户端101向网关200发送客户端101请求的任务的任务信息;
用户可以通过客户端101发出任务请求,从而,客户端101可以生成任务请求所请求的任务的任务信息,并将该任务信息发送至用于连接客户端101与业务服务系统的网关200。其中,该任务信息中可以包括:任务标识、任务名称、任务请求时间、用于请求该任务的客户端标识、任务数据、任务处理内容等各类与该任务的请求和执行相关的信息。对此,本发明实施例不做具体限定。
在本发明实施例提供的业务服务系统中可以提供多种不同类型的子服务,则客户端101所请求的每个任务为属于一种子服务的任务,即客户端101所请求的每个任务对应于该业务服务系统中的一个子服务。
其中,上述客户端101不是一个特定的客户端,而是泛指能够接收用户发送的任务请求,并向上述网关200发送所请求的任务的任务信息的各个客户端。
S302:网关200向任务信息存储设备210发送接收到的任务信息;
S303:任务信息存储设备210接收网关200发送的任务信息,并存储所接收到的任务信息。
任务信息存储设备210在接收到网关200发送的任务信息后,可以存储所接收到的任务信息。这样,任务信息存储设备210可以存储大量的客户端请求的任务的任务信息。
S304:主调度节点220从任务信息存储设备210中获取待处理任务信息;
S305:从调度节点220从任务信息存储设备210中获取待处理任务信息;
上述业务服务系统中的各个调度节点220可以从任务信息存储设备210中获取待处理任务信息。其中,各个调度节点220可以通过多种方式从任务信息存储设备210中获取待处理任务信息,对此,本发明实施例不做具体限定。并且,当任务信息存储设备210中的某个任务信息被某个调度节点220作为待处理任务信息获取后,可以为该任务信息添加指定标识,以指示该任务信息已被获取,以避免同一任务信息被多次获取。
可选的,各个调度节点220可以按照预设周期,每隔该预设周期的周期时长,从任务信息存储设备210中获取预设数量的待处理任务信息。其中,本发明实施例不对预设周期的周期时长和预设数量进行限定。
其中,可选的,可以设置各个调度节点在获取待处理任务信息时的节点顺序,并建立各个调度节点之间的通信连接。在每次获取待处理任务信息时,节点顺序为第一位的调度节点便可以首先按照任务请求时间由早到晚的顺序,从任务信息存储设备210中获取预设数量的待处理任务信息,并在获取完成后,向排序在后一位的调度节点发送用于指示信息获取完成的信息,则该排序在后一位的调度节点在接收到上述用于指示信息获取完成的信息后,便可以继续按照任务请求时间由早到晚的顺序,从任务信息存储设备210中获取预设数量的待处理任务信息,并在获取完成后,继续向排序在后一位的调度节点发送用于指示信息获取完成的信息。依次类推,直至各个调度节点依次获取到预设数量的待处理任务信息。
可选的,可以预先设置各个调度节点220对应的任务类型,从而,各个调度节点220可以按照自身所对应的任务类型的各个任务信息的任务请求时间由早到晚排列的顺序,获取预设数量的自身所对应的任务类型的待处理任务信息。
例如,存在三个调度节点220,第一个调度节点220对应的任务类型为类型A、第二个调度节点220对应的任务类型为类型B、第三个调度节点220对应的任务类型为类型C;任务信息存储设备210存储有类型A的任务信息A1、A2和A3,类型B的任务信息B1、B2和B3,以及类型C的任务信息C1、C2和C3。并且,A1的任务请求时间早于A2的任务请求时间,A2的任务请求时间早于A3的任务请求时间;B1的任务请求时间早于B2的任务请求时间,B2的任务请求时间早于B3的任务请求时间;C1的任务请求时间早于C2的任务请求时间,C2的任务请求时间早于C3的任务请求时间;假设预设数量为2。则各个调度节点220从任务信息存储设备210获取待处理任务信息时,第一个调度节点220可以获取到任务信息A1和A2,第二个调度节点220可以获取到任务信息B1和B2,第三个调度节点220可以获取到任务信息C1和C2。
其中,需要说明的是,各个调度节点220所获取到的每个待处理任务信息中可以包括任务信息存储设备210中所存储的该待处理任务的全部任务信息,例如,待处理任务信息中可以包括:任务标识、任务名称、任务请求时间、用于请求该任务的客户端标识、任务数据、任务处理内容等各类与该任务的请求和执行相关的信息;各个调度节点所获取到的每个待处理任务信息中也可以包括任务信息存储设备210中所存储的该待处理任务的部分任务信息,例如,待处理任务信息中可以仅仅包括待处理任务的任务标识和/或任务名称。
S306:主调度节点220将所获取到的待处理任务信息同步到应用协调服务器230;
S307:从调度节点220将所获取到的待处理任务信息同步到应用协调服务器230。
各个调度节点220在从任务信息存储设备210中获取到待处理任务信息后,便可以将所获取到的待处理任务信息同步到应用协调服务器230。
可选的,一种具体实现方式中,上述应用协调服务器230还可以用于:
接收每个调度节点220发送的注册信息,并基于所接收到的注册信息生成关于多个调度节点220的节点树。
其中,节点树用于指示多个调度节点220中各个正常运行的调度节点。
在本具体实现方式中,在构建上述本发明实施例提供的一种业务服务系统时,可以为各个调度节点220配置用于向应用协调服务器230发送的注册信息的注册地址,并将各个调度节点220连接到应用协调服务器230上。这样,各个调度节点220便可以向应用协调服务器230发送注册信息。
例如,当应用协调服务器为zookeeper服务器时,可以为各个调度节点220配置zookeeper地址,将各个调度节点220连接到该zookeeper服务器,以使各个调度节点220可以向zookeeper服务器发送注册信息。
在接收到各个调度节点220发送的注册信息时,应用协调服务器230便可以从多个调度节点220中选取一调度节点配置为主调度节点220。例如,应用协调服务器230可以将第一个发送注册信息的调度节点220配置为主调度节点220。
接着,应用协调服务器230便可以基于所接收到的各个调度节点220发送的注册信息生成关于多个调度节点220的节点树。并且,应用协调服务器230可以将关于所生成的节点树的信息发送给所配置的主调度节点220。
其中,上述节点树上可以构建有任务节点,从而,主调度节点220和各个从调度节点220在将所获取到的待处理任务信息同步到应用协调服务器230时,便可以所获取到的待处理任务信息发送到任务节点。
需要说明的是,上述所构建的任务节点为持久化节点,因此,在主调度节点220和各个从调度节点220将所获取到的待处理任务信息发送到该任务节点后,当出现应用协调服务器230重启或者调度节点220宕机的情况时,已经发送到该任务节点的待处理任务信息不会丢失,从而,在应用协调服务器230重启后,或者在剔除宕机的调度节点220后,主调度节点220仍然可以从该任务节点获取到各个调度节点220所同步的待处理任务信息。
此外,该节点树还可以包括调度根节点和调度子节点。且该根节点对应于上述所配置的主调度节点220,构建有与主调度节点220对应的调度节点信息;每个子节点对应于上述所配置的每个从调度节点220,构建有与每个从调度节点220对应的调度节点信息。上述所构建的调度节点信息中可以包括主调度节点220或每个从调度节点220发送的注册信息,例如,可以包括主调度节点220或每个从调度节点220的IP地址和/或该调度节点的端口信息等。
其中,上述节点树上的调度根节点和各个调度子节点可以为非持久化的临时节点信息,当应用协调服务器230重启时,需要重新获取各个调度节点220发送的注册信息,进而,重新生成关于各个调度节点220的节点树;而当出现非正常运行的调度节点220时,应用协调服务器将剔除所生成的节点树上非正常运行的调度节点220对应的节点。
这样,利用应用协调服务器可以实现对任务的分布式调度,从而可以提高上述业务服务系统的高可用性和稳定性。
S308:主调度节点220从应用协调服务器230获取各个调度节点220所同步的待处理任务信息;
S309:主调度节点220按照预设分配规则,为每个调度节点220分配从应用协调服务器230所获取到的待处理任务信息。
在各个调度节点220将从任务信息存储设备210中获取到的待处理任务信息同步到应用协调服务器230后,主调度节点220便可以从应用协调服务器230获取到上述各个调度节点220所同步的待处理任务信息,并按照预设分配规则,为包括自身在内的各个调度节点220分配上述从应用协调服务器230所获取到的待处理任务信息。
可选的,主调度节点220可以按照平均分配规则或空闲分配规则,为包括自身在内的各个调度节点220分配从应用协调服务器230所获取到的待处理任务信息。当然,主调度节点220也可以按照其他分配规则为包括自身在内的各个调度节点220分配从应用协调服务器230所获取到的待处理任务信息,这都是合理的。
S310:主调度节点220对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备240;
S311:从调度节点220对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备240。
每个调度节点220在获得主调度节点220分配的待处理任务信息后,便可以对分配给自身的待处理任务信息生成对应的待处理任务消息,并将所生成的待处理任务消息存储至任务消息存储设备240。
其中,可选的,任务消息存储设备240可以为用于存储待处理任务消息的独立设备;
可选的,任务消息存储设备240可以为用于存储待存储任务消息的存储系统中的多个存储设备,例如,任务消息存储设备240可以为分布式存储集群中的多个存储设备。也就是说,任务消息存储设备240可以为集群化的多点设备,从而,实现对任务消息存储设备240的集群化管理。
进一步的,可选的,任务消息存储设备240可以向应用协调服务器230发送注册消息,以建立任务消息存储设备240与应用协调服务器230的通信连接,实现应用协调服务器230对任务消息存储设备240的管理。
其中,上述待处理任务消息中可以包括所对应的待处理任务信息中的全部信息,例如,待处理任务消息中可以包括:任务标识、任务名称、任务请求时间、用于请求该任务的客户端标识、任务数据、任务处理内容等各类与该任务的请求和执行相关的信息;上述待处理任务消息中也可以包括所对应的待处理任务信息中的部分信息,例如,待处理任务消息中可以仅仅包括待处理任务信息的任务标识和/或任务名称。
由于业务服务系统可以提供针对同一业务应用的多种服务,因此,客户端所请求的任务的类型可以是多种。进而,分配给每个调度节点的待处理任务信息所对应的任务类型可以为多种。
基于此,可选的,一种具体实现方式中,上述步骤S310和S311可以包括如下步骤:
每个调度节点220对分配给自身的待处理任务信息生成对应的待处理任务消息,并按照每个待处理任务信息对应的任务类型,将该待处理任务信息对应的待处理任务消息发送到任务消息存储设备240中与该任务类型对应的任务主题区域中。
在本具体实现方式中,可以在任务消息存储设备240中设置不同的任务主题区域中,从而,将对应于不同任务类型的待处理任务消息存储到不同的任务主题区域中。
例如,任务消息存储设备240可以为分布式发布订阅消息系统Kafka中的存储设备,则在Kafka上可以设置有多个不同的topic(主题),每个topic对应一消息队列,该消息队列用于存储该topic对应的任务类型的待处理任务消息。每个调度节点220在生成各个待处理任务消息后,便可以按照每个待处理任务信息对应的任务类型,将该待处理任务消息发送到与该任务类型对应的topic所对应的消息队列中。
S312:微服务执行节点250从任务消息存储设备240中获取预设的自身要处理的待处理任务消息进行业务处理。
每个调度节点220可以对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备240中,则任务消息存储设备240中便可以存储有多个待处理任务消息。这样,各个微服务执行节点250,便可以从任务消息存储设备240中获取预设的自身要处理的待处理任务消息进行业务处理。
这样,由于微服务执行节点250是主动从任务消息存储设备240中获取预设的自身要处理的待处理任务消息进行业务处理的,因此,微服务执行节点250不需要周期性地向调度节点220发送心跳信息以维持自身与调度节点的连接,以避免自身被调度节点220剔除,因此,可以节省微服务执行节点250的资源,降低调度节点220的工作复杂度。
由于调度节点220可以将对应于不同任务类型的待处理任务消息存储到不同的任务主题区域中,因此,可选的,一种具体实现方式中,上述步骤S311可以包括如下步骤:
微服务执行节点250监听任务消息存储设备240中自身要处理的任务类型对应的任务主题区域;当所监听的任务主题区域中存储待处理任务消息时,获取所监听到的待处理任务消息进行业务处理。
在本具体实现方式中,由于不同的微服务执行节点250可以具有不同的任务处理能力,因此,不同的微服务执行节点250可以处理不同任务类型的待处理任务。这样,可以预先设定每个微服务执行节点250所处理的任务的任务类型,每个微服务执行节点250便可以监听任务消息存储设备240中自身要处理的任务类型对应的任务主题区域,当所监听的任务主题区域中存储有待处理任务消息时,该微服务执行节点250便可以获取所监听到的待处理任务消息,并基于所获取到的待处理任务消息进行业务处理。
例如,任务消息存储设备240可以为分布式发布订阅消息系统Kafka中的存储设备,则在Kafka上可以设置有多个不同的topic(主题),每个topic对应一消息队列,该消息队列用于存储该topic对应的任务类型的待处理任务消息。每个微服务执行节点250便可以监听自身要处理的任务类型对应的topic所对应的消息队列,当该topic所对应的消息队列中存在待处理任务消息时,该微服务执行节点250便可以从该topic所对应的消息队列中获取所监听到的待处理任务消息,并基于所获取到的待处理任务消息进行业务处理。
其中,可选的,当待处理任务消息中包括待处理任务的与任务处理相关的全部信息时,微服务执行节点250便可以直接利用所获取到的待处理任务消息中所包括的信息进行业务处理。
可选的,当待处理任务消息中包括待处理任务的部分信息时,微服务执行节点250可以根据待处理任务消息中所包括的能够唯一确定待处理任务的信息,从任务信息存储设备210中获取该待处理任务消息对应的待处理任务的全部信息,并利用从任务信息存储设备210中获取到的信息进行业务处理。
其中,上述能够唯一确定待处理任务的信息可以为任务标识或任务名称。
此外,根据不同类型的任务的任务量,针对同一任务类型,可以设置多个用于执行该任务类型的待处理任务的微服务执行节点250。其中,该用于处理同一任务类型的待处理任务的多个微服务执行节点250可以称为一个消费组。
从而,可选的,同一消费组中的多个微服务执行节点250可以共同监听同一自身要处理的任务类型对应的任务主题区域,从而,当监听到该任务主题区域中存储有待处理任务消息时,可以按照预设的分配规则,将该待处理任务消息分配给该同一消费者中的多个微服务执行节点250。
例如,按照平均分配规则,将该待处理任务消息分配给该同一消费者中的多个微服务执行节点250等,这都是合理的。
需要说明的是,在上述业务服务系统的运行过程中,上述各个调度节点220可能出现非正常运行的情况,因此,在上述业务服务系统的运行过程中,需要对各个调度节点220的运行状态进行检测。
基于此,可选的,一种具体实现方式中,上述应用协调服务器230还可以用于:
在基于所接收到的注册信息生成关于多个调度节点220的节点树后,按照预设周期,检测每个调度节点220是否正常运行;
如果检测到存在非正常运行的调度节点220时,从节点树上删除非正常运行的调度节点220。
在本具体实现方式中,应用协调服务器230可以按照预设周期,检测每个调度节点220是否正常运行,从而,当检测到存在非正常运行的调度节点220时,应用协调服务器230便可以从节点树上删除该非正常运行的调度节点220。
其中,可选的,应用协调服务器可以按照预设周期,每个预设周期对应的周期时长,检测是否获取到各个调度节点220上报的心跳信息,以检测每个调度节点220是否正常运行。其中,针对每个调度节点220,当能够获取到该调度节点220上报的心跳信息时,便可以确定该调度节点正常运行,反之,则可以确定该调度节点非正常运行。
其中,由于节点树上所保留的调度节点220为正常运行的调度节点220,因此,节点树可以用于指示各个正常运行的调度节点220。
由于主调度节点220和从调度节点220均可能出现非正常运行的情况,因此,上述所检测到的非正常运行的调度节点220可以为主调度节点220,也可以为从调度节点220。
基于此,第一种情况下,当上述所检测到的非正常运行的调度节点220为从调度节点220时,应用协调服务器230在从节点树上删除该非正常运行的从调度节点220后,可以向主调度节点220发送关于删除该非正常运行的调度节点220后的节点树的信息。这样,当主调度节点220再次进行待处理任务分配时,便可以基于再次接收到的关于节点树的信息,确定正常运行的各个从调度节点220,以避免将待处理任务分配给非正常运行的调度节点220。
则在这种情况下,上述步骤S309中,主调度节点220按照预设分配规则,为每个调度节点220分配从应用协调服务器230所获取到的待处理任务信息便可以包括:
主调度节点220按照预设分配规则,基于节点树的树信息,为正常运行的每个调度节点220分配从应用协调服务器230所获取到的待处理任务信息。
由于应用协调服务器检测每个调度节点220是否正常运行与主调度节点220为各个调度节点分配待处理任务信息两个步骤之间可能存在时间差,因此,在上述检测到的非正常运行的调度节点220为从调度节点220的情况中,可能存在如下情况:
在某次主调度节点220为各个调度节点分配待处理任务信息时,一从调度节点220正常运行,而在该次待处理任务信息分配后,该从调度节点220由正常运行转为非正常运行,而当主调度节点220再次为各个调度节点分配待处理任务信息时,由于还未达到应用协调服务器检测每个调度节点220是否正常运行的时刻,因此,主调度节点220仍然为该从调度节点220分配待处理任务信息。然而,此时该在从调度节点220已为非正常运行的从调度节点,因此,主调度节点220误将待处理任务信息分配给了非正常运行的从调度节点220。
基于此,由于在主调度节点220为各个调度节点分配待处理任务信息时,可能发生上述待处理任务信息误分配的情况,因此,主调度节点220可以进行待处理任务信息的重分配。
可选的,一种具体实现方式中,上述主调度节点220还可以用于:
在为每个调度节点220分配从应用协调服务器230所获取到的待处理任务信息后,当检测到满足任务重分配条件时,为每个正常运行的调度节点220分配从应用协调服务器230所获取到的待处理任务信息;其中,任务重分配条件包括多个调度节点220中存在非正常运行的调度节点。
在本具体实现方式中,在为每个调度节点220分配从应用协调服务器230所获取到的待处理任务信息后,主调度节点220可以接收到应用协调服务器230发送的关于删除非正常运行的调度节点220后的节点树的信息。这样,主调度节点可以确定已分配待处理任务信息的各个从调度节点220中存在非正常运行的从调度节点220。也就是说,发生了上述待处理任务信息误分配的情况。
这样,主调度节点便可以检测到满足重分配条件,并进行待处理任务的重分配,即为每个正常运行的调度节点220分配从应用协调服务器230所获取到的待处理任务信息。
其中,可选的,主调度节点为每个正常运行的调度节点220分配所获取到的待处理任务信息可以是:将分配给非正常运行的调度节点的待处理任务信息分配给每个正常运行的调度节点220。
这样,当一从调度节点出现故障导致非正常运行时,可以避免将待处理任务信息分配至该非正常运行的从调度节点220上,以避免调度节点出现单点故障所带来的影响。
第二种情况下,当上述所检测到的非正常运行的调度节点220为主调度节点时,应用协调服务器在将从节点树上删除该非正常运行的主调度节点220之外,还需要重新配置新的主调度节点220。
则在这种情况下,应用协调服务器230还可以用于:
将各个从调度节点220中的一正常运行的从调度节点220配置为新的主调度节点220,并更新节点树;向所配置的新的主调度节点220发送关于更新后的节点树的信息。
在这种情况下,应用协调服务器230可以将各个从调度节点中的一正常运行的从调度节点配置为新的主调度节点220,并对节点树进行更新。在更新节点树后,应用协调服务器230可以向所配置的新的主调度节点220发送关于更新后的节点树的信息。这样,新的主调度节点220在接收到上述信息后,便可以确定自身为主调度节点220,并确定各个从调度节点220。
可选的,一种具体实现方式中,如图4所示,本发明实施例提供的一种业务服务系统还可以包括与应用协调服务器230、调度节点220和微服务执行节点250通信连接的系统管理服务器260。
系统管理服务器260可以获取每个调度节点220的节点信息和/或每个微服务执行节点250的节点信息。并且,系统管理服务器260可以从每个微服务执行节点250处获取该微服务执行节点的节点信息。
其中,系统管理服务器260可以从每个调度节点220处获取该调度节点的节点信息,也可以从应用协调服务器230处获取各个调度节点230的节点信息。
管理服务器260可以具有显示装置,例如,显示屏、人机交互界面等,这样,在获取到每个调度节点220的节点信息和/或每个微服务执行节点250的节点信息,便可以在该显示装置中显示所获取到的每个调度节点220的节点信息和/或每个微服务执行节点250的节点信息。
此外,用户可以对管理服务器260进行指定操作,以对每个调度节点220和/或每个微服务执行节点250的配置更改。这样,管理服务器260在接收到用户的指定操作后,便可以基于该指定操作所指示的更改内容,更改该指定操作所指示的调度节点220和/或微服务执行节点250的配置信息。
例如,更改每个调度节点220每次从任务信息存储设备210中获取到的待处理任务信息的数量,更改某个微服务执行节点250所对应的任务类型等。这都是合理的。
进一步的,可选的,上述管理服务器260也可以与任务信息存储设备210进行通信连接,从而,管理服务器260可以基于用户的指定操作,对任务信息存储设备210中存储的任务信息进行指定操作。
例如,删除任务信息存储设备210中存储的某个任务信息、更改任务信息存储设备210中存储的某个任务信息等,这都是合理的。
进一步的,可选的,应用协调服务器230可以按照预设周期,每隔预设周期所对应的周期时长,从各个微服务执行节点250处获取该微服务执行节点250进行业务处理后所得到的处理结果。
可选的,各个微服务执行节点250在进行业务处理后,可以向应用协调服务器230反馈所得到的处理结果。
在上述应用协调服务器230获取到各个微服务执行节点250进行业务处理后所得到的处理结果的情况下,上述管理服务器260可以从应用协调服务器230处获取到上述处理结果,从而,可以对业务服务系统所提供的各类微服务对应的任务的处理情况进行分析,以便于可以根据分析结果调整各个调度节点220和/或各个微服务执行节点230的配置情况,提高业务服务系统的服务性能。
其中,可选的,应用协调服务器230中还可以构建用于记录各个微服务执行节点250进行业务处理后所得到的处理结果的结果树,从而,可以将所得到的处理结果记录到该结果数的各个节点中。
相应于上述本发明实施例提供的一种业务服务系统,本发明实施例还提供了一种业务服务方法。其中,该方法应用于业务服务系统中的调度节点;业务服务系统包括:任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;其中一个调度节点被配置为主调度节点,其他调度节点被配置为从调度节点。
如图5所示,当用于执行本发明实施例提供的一种业务服务方法的调度节点为主调度节点时,该业务服务方法可以包括如下步骤:
S501:从任务信息存储设备中获取待处理任务信息,并将从任务信息存储设备中所获取到的待处理任务信息同步到应用协调服务器;
S502:从应用协调服务器获取各个调度节点所同步的待处理任务信息,按照预设分配规则,为每个调度节点分配从应用协调服务器所获取到的待处理任务信息;
S503:对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备。
相应的,如图6所示,当用于执行本发明实施例提供的一种业务服务方法的调度节点为从调度节点时,该业务服务方法可以包括如下步骤:
S601:从任务信息存储设备中获取待处理任务信息,并将所获取到的待处理任务信息同步到应用协调服务器;
S602:获得主调度节点分配的待处理任务信息;
S603:对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至任务消息存储设备。
可选的,一种具体实现方式中,上述步骤S503和步骤S603,可以包括如下步骤:
对分配给自身的待处理任务信息生成对应的待处理任务消息,并按照每个待处理任务信息对应的任务类型,将该待处理任务信息对应的待处理任务消息发送到任务消息存储设备中与该任务类型对应的任务主题区域中。
可选的,一种具体实现方式中,当用于执行本发明实施例提供的一种业务服务方法的调度节点为主调度节点时,该业务服务方法还可以包括如下步骤:
在为每个调度节点分配从应用协调服务器所获取到的待处理任务信息后,当检测到满足任务重分配条件时,为每个正常运行的调度节点分配从应用协调服务器所获取到的待处理任务信息;
其中,任务重分配条件包括多个调度节点中存在非正常运行的调度节点。
相应于上述本发明实施例提供的一种业务服务系统,本发明实施例还提供了另一种业务服务方法。其中,该方法应用于业务服务系统中的微服务执行节点;业务服务系统包括:任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;其中一个调度节点被配置为主调度节点,其他调度节点被配置为从调度节点。
如图7所示,该业务服务方法可以包括如下步骤:
S701:从任务消息存储设备中获取预设的自身要处理的待处理任务消息;
S702:基于所获取到的待处理任务信息进行业务处理。
其中,待处理任务消息是业务服务系统中的主调度节点和从调度节点,按照上述本发明实施例提供的一种业务服务系统的各个实施例中的方式生成并发送到任务消息存储设备中的。
可选的,一种具体实现方式中,上述步骤S701可以包括如下步骤:
监听任务消息存储设备中自身要处理的任务类型对应的任务主题区域;当所监听的任务主题区域中存储待处理任务消息时,获取所监听到的待处理任务消息。
相应于上述本发明实施例提供的一种业务服务系统,本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现上述本发明实施例提供的一种应用于业务服务系统的调度节点的业务服务方法或上述本发明实施例提供的一种应用于业务服务系统的微服务执行节点的业务服务方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述本发明实施例提供的一种应用于业务服务系统的调度节点的业务服务方法或上述本发明实施例提供的一种应用于业务服务系统的微服务执行节点的业务服务方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述本发明实施例提供的一种应用于业务服务系统的调度节点的业务服务方法或上述本发明实施例提供的一种应用于业务服务系统的微服务执行节点的业务服务方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例、电子设备实施例、计算机可读存储介质实施例、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种业务服务系统,其特征在于,所述系统包括:任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;其中一个调度节点被配置为主调度节点,其他调度节点被配置为从调度节点;
所述任务信息存储设备,用于存储客户端请求的任务的任务信息;
所述主调度节点,用于从所述任务信息存储设备中获取待处理任务信息,并将从所述任务信息存储设备中所获取到的待处理任务信息同步到所述应用协调服务器;从所述应用协调服务器获取各个调度节点所同步的待处理任务信息,按照预设分配规则,为每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息;并对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备;
所述从调度节点,用于从所述任务信息存储设备中获取待处理任务信息,并将所获取到的待处理任务信息同步到所述应用协调服务器;获得所述主调度节点分配的待处理任务信息;并对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备;
所述微服务执行节点,用于从所述任务消息存储设备中获取预设的自身要处理的待处理任务消息进行业务处理。
2.根据权利要求1所述的系统,其特征在于,所述应用协调服务器还用于:
接收每个调度节点发送的注册信息,并基于所接收到的注册信息生成关于所述多个调度节点的节点树;其中,所述节点树用于指示所述多个调度节点中各个正常运行的调度节点;
按照预设周期,检测每个调度节点是否正常运行;
如果检测到存在非正常运行的调度节点时,从所述节点树上删除所述非正常运行的调度节点;
所述主调度节点按照预设分配规则,为每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息包括:
所述主调度节点按照预设分配规则,基于所述节点树,为正常运行的每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息。
3.根据权利要求2所述的系统,其特征在于,所述非正常运行的调度节点为所述主调度节点时,所述应用协调服务器还用于:
将各个从调度节点中的一正常运行的从调度节点配置为新的主调度节点,并更新所述节点树;向所配置的新的主调度节点发送关于更新后的所述节点树的信息。
4.根据权利要求2所述的系统,其特征在于,所述主调度节点还用于:
在为每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息后,当检测到满足任务重分配条件时,为每个正常运行的调度节点分配从所述应用协调服务器所获取到的待处理任务信息;
其中,所述任务重分配条件包括所述多个调度节点中存在非正常运行的调度节点。
5.根据权利要求1-4任一项所述的系统,其特征在于,每个调度节点对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备,包括:
每个调度节点对分配给自身的待处理任务信息生成对应的待处理任务消息,并按照每个待处理任务信息对应的任务类型,将该待处理任务信息对应的待处理任务消息发送到所述任务消息存储设备中与该任务类型对应的任务主题区域中。
6.根据权利要求5所述的系统,其特征在于,所述微服务执行节点从所述任务消息存储设备中获取预设的自身要处理的待处理任务消息进行业务处理,包括:
所述微服务执行节点监听所述任务消息存储设备中自身要处理的任务类型对应的任务主题区域;当所监听的任务主题区域中存储待处理任务消息时,获取所监听到的待处理任务消息进行业务处理。
7.根据权利要求1所述的系统,其特征在于,所述系统还包括:与所述应用协调服务器、所述调度节点和所述微服务执行节点通信连接的系统管理服务器;
所述系统管理服务器,用于获取每个调度节点的节点信息和/或每个微服务执行节点的节点信息;显示所获取到的每个调度节点的节点信息和/或每个微服务执行节点的节点信息,并基于用户的指定操作,更改每个调度节点和/或每个微服务执行节点的配置信息。
8.一种业务服务方法,其特征在于,应用于业务服务系统中的调度节点;其中,所述业务服务系统包括:任务信息存储设备、多个调度节点、应用协调服务器、任务消息存储设备和多个微服务执行节点;其中一个调度节点被配置为主调度节点,其他调度节点被配置为从调度节点;
当所述调度节点为主调度节点时,所述方法包括:
从所述任务信息存储设备中获取待处理任务信息,并将从所述任务信息存储设备中所获取到的待处理任务信息同步到所述应用协调服务器;从所述应用协调服务器获取各个调度节点所同步的待处理任务信息,按照预设分配规则,为每个调度节点分配从所述应用协调服务器所获取到的待处理任务信息;对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备;
当所述调度节点为从调度节点时,所述方法包括:
从所述任务信息存储设备中获取待处理任务信息,并将所获取到的待处理任务信息同步到所述应用协调服务器;获得所述主调度节点分配的待处理任务信息;对分配给自身的待处理任务信息生成对应的待处理任务消息,存储至所述任务消息存储设备。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求8所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求8所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011157958.3A CN112333249B (zh) | 2020-10-26 | 2020-10-26 | 一种业务服务系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011157958.3A CN112333249B (zh) | 2020-10-26 | 2020-10-26 | 一种业务服务系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112333249A CN112333249A (zh) | 2021-02-05 |
CN112333249B true CN112333249B (zh) | 2022-07-22 |
Family
ID=74311828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011157958.3A Active CN112333249B (zh) | 2020-10-26 | 2020-10-26 | 一种业务服务系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333249B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860405B (zh) * | 2021-02-25 | 2022-11-15 | 上海浦东发展银行股份有限公司 | 一种分布式作业流任务管理和调度系统及方法 |
CN113034107B (zh) * | 2021-03-29 | 2024-07-16 | 北京沃东天骏信息技术有限公司 | 一种流程处理方法和装置 |
CN113760513B (zh) * | 2021-09-16 | 2024-06-18 | 康键信息技术(深圳)有限公司 | 一种分布式任务调度方法、装置、设备和介质 |
CN114785798A (zh) * | 2022-04-08 | 2022-07-22 | 南方电网数字电网研究院有限公司 | 节点调用方法、装置、计算机设备和存储介质 |
CN114884948B (zh) * | 2022-05-05 | 2024-06-21 | 零氪科技(北京)有限公司 | 一种数据处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226481A (zh) * | 2012-01-27 | 2013-07-31 | 辉达公司 | 自动从属任务启动 |
CN108694076A (zh) * | 2017-04-01 | 2018-10-23 | 英特尔公司 | 多节点存储操作 |
CN108874528A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 分布式任务存储系统和分布式任务存储/读取方法 |
US10348814B1 (en) * | 2013-12-19 | 2019-07-09 | Amazon Technologies, Inc. | Efficient storage reclamation for system components managing storage |
CN111427694A (zh) * | 2020-03-26 | 2020-07-17 | 北京金山云网络技术有限公司 | 任务执行方法、装置、系统和服务器 |
-
2020
- 2020-10-26 CN CN202011157958.3A patent/CN112333249B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226481A (zh) * | 2012-01-27 | 2013-07-31 | 辉达公司 | 自动从属任务启动 |
US10348814B1 (en) * | 2013-12-19 | 2019-07-09 | Amazon Technologies, Inc. | Efficient storage reclamation for system components managing storage |
CN108694076A (zh) * | 2017-04-01 | 2018-10-23 | 英特尔公司 | 多节点存储操作 |
CN108874528A (zh) * | 2017-05-09 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 分布式任务存储系统和分布式任务存储/读取方法 |
CN111427694A (zh) * | 2020-03-26 | 2020-07-17 | 北京金山云网络技术有限公司 | 任务执行方法、装置、系统和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN112333249A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112333249B (zh) | 一种业务服务系统及方法 | |
CN110290180B (zh) | 分布式任务调度方法、装置、计算机设备和存储介质 | |
CN107295080B (zh) | 应用于分布式服务器集群的数据存储方法和服务器 | |
US7225356B2 (en) | System for managing operational failure occurrences in processing devices | |
CN110365748B (zh) | 业务数据的处理方法和装置、存储介质及电子装置 | |
JP2019200580A (ja) | 分散台帳システム、分散台帳サブシステム、および、分散台帳ノード | |
CN109656690A (zh) | 调度系统、方法和存储介质 | |
US20160344582A1 (en) | Call home cluster | |
CN103581276A (zh) | 集群管理装置、系统、业务客户端及相应方法 | |
CN105959078B (zh) | 一种集群时间同步方法、集群及时间同步系统 | |
CN113055461B (zh) | 一种基于ZooKeeper的无人集群分布式协同指挥控制方法 | |
CN108322358B (zh) | 异地多活的分布式消息发送、处理、消费方法及装置 | |
CN113382077B (zh) | 微服务调度方法、装置、计算机设备和存储介质 | |
US20170031743A1 (en) | Quorum based distributed anomaly detection and repair | |
CN112486707A (zh) | 基于Redis的消息异步消费方法及装置 | |
US20050125314A1 (en) | Resource usage metering of network services | |
JP2009026221A (ja) | ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム | |
CN113542775A (zh) | 直播保活服务系统、直播保活管理方法、服务器及介质 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
CN113765690A (zh) | 集群切换方法、系统、装置、终端、服务器及存储介质 | |
CN113965538B (zh) | 设备状态消息处理方法、装置及存储介质 | |
CN115023929A (zh) | 数据同步方法、装置、系统、电子设备及存储介质 | |
CN111404978A (zh) | 一种数据存储方法及云存储系统 | |
CN115391058A (zh) | 一种基于sdn的资源事件处理方法、资源创建方法及系统 | |
CN113067869B (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 |