CN112667247A - 服务管理方法、系统、终端及存储介质 - Google Patents
服务管理方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN112667247A CN112667247A CN202011441757.6A CN202011441757A CN112667247A CN 112667247 A CN112667247 A CN 112667247A CN 202011441757 A CN202011441757 A CN 202011441757A CN 112667247 A CN112667247 A CN 112667247A
- Authority
- CN
- China
- Prior art keywords
- service
- instance
- target
- template
- request
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供了一种服务管理方法、系统、终端及存储介质,涉及信息处理技术领域,能够使得对服务实例和服务模板的管理更有序,并大大提升信息处理的效率。该服务管理方法包括:若服务调度单元获取到第一服务请求,则通过所述服务调度单元,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息;通过所述服务调度单元,将所述部署指示信息发送至事件处理单元;通过所述事件处理单元将接收到的所述部署指示信息发送至服务仓库;通过所述服务仓库,根据接收到的所述部署指示信息生成第一目标服务实例并运行。
Description
技术领域
本申请属于信息处理技术领域,尤其涉及一种服务管理方法、系统、终端及存储介质。
背景技术
软件中可以通过包含服务注册单元的服务架构来提供特定的服务。目前,在实际场景中,通常是服务注册单元通过主动查询或轮询的模式来完成服务的注册与发现。但目前的应用中,服务注册单元中某一服务既是指该服务的模板,也是指该服务的实例,使得在具体应用中,服务注册单元针对服务的模板和服务的实例的管理较为混乱,导致处理效率较差。
发明内容
本申请实施例提供了服务管理方法、装置、终端及存储介质,以解决目前,在软件的服务管理过程中,针对服务的模板和该服务的实例管理混乱,处理效率较差的问题。
第一方面,本申请实施例提供了一种服务管理方法,包括:
若服务调度单元获取到第一服务请求,则通过所述服务调度单元,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息;
通过所述服务调度单元,将所述部署指示信息发送至事件处理单元;
通过所述事件处理单元将接收到的所述部署指示信息发送至服务仓库;
通过所述服务仓库,根据接收到的所述部署指示信息生成第一目标服务实例并运行。
采用本申请提供的服务管理方法,通过服务调度单元实时地确定是否存在第一服务请求,若确定存在第一服务请求,则根据所述第一服务请求,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息,并通过所述服务调度单元将所述部署指示信息发送至事件处理单元,并由该事件处理单元基于该部署指示信息确定用于处理待部署指示消息的下一个对象,即通过所述事件处理单元根据所确认的结果将接收到的所述部署指示信息发送至服务仓库。进一步地,在所述服务仓库中,根据接收到的所述部署指示信息生成第一目标服务实例并运行。基于本申请的方案,通过服务调度单元存在的服务需求,并通过只对服务模板所对应的服务实例的信息进行处理,从而可以快速地由所述服务仓库根据服务实例的信息完成相应的目标服务实例的部署,且获取服务请求并根据服务请求查询关联的服务模板的操作与生成服务实例的操作进行了分离,管理更有序,处理的效率大大提升。
第二方面,本申请实施例提供了一种服务管理系统,包括:服务调度单元、服务仓库和服务注册单元;
所述服务调度单元,用于若获取到第一服务请求,则通过所述服务调度单元,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息;
所述服务调度单元,还用于将所述部署指示信息发送至事件处理单元;
所述事件处理单元,用于将接收到的所述部署指示信息发送至服务仓库;
所述服务仓库,用于根据接收到的所述部署指示信息生成目标服务实例并运行。
第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的服务管理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的服务管理方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的服务管理方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的服务管理方法的流程示意图。
图2是本申请另一实施例提供的服务管理方法的流程示意图。
图3是本申请另一实施例提供的服务管理方法的流程示意图。
图4是本申请另一实施例提供的服务管理方法的流程示意图。
图5是本申请另一实施例提供的服务管理方法的流程示意图。
图6是本申请一实施例提供的服务管理系统的结构示意图。
图7是本申请另一实施例提供的终端的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
请参见图1,图1是本申请实施例提供的一种服务管理方法的实现流程图。在本实施例中,服务管理方法用于针对服务的模板和该服务的实例管理进行管理,以使得针对服务的模板和该服务的实例管理更有序,且大大提升相应的信息处理效率。
如图1所示的服务管理方法包括以下步骤:
S11:若服务调度单元获取到第一服务请求,则通过所述服务调度单元,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息。
在步骤S11中,服务调度单元为通过计算机语言编译得到,以实现服务实例的查找与编排功能的软件组件。其中,软件组件是应用程序架构中可复用的功能模块,且可通过计算机语言编译的文件来实现。
第一服务请求用于描述请求通过第一目标服务模板部署服务实例,以完成逻辑运行任务的需求。该第一服务请求中记录至少一个工作任务。可以理解的是,为了完成一个第一服务请求中记录的工作任务,可能会需要多个服务模板分别部署各自所对应的服务实例,以配合完成第一服务请求中所记录的工作任务。
第一服务模板为静态的服务描述文件集合。例如,服务模板中包括服务规范、服务接口文件、服务代码、服务部署包、容器文件、部署策略文件、服务描述文件等中的至少一种信息。
部署指示信息用于指示服务仓库针对第一目标服务模板部署所对应的服务实例,以通过该部署的服务实例完成第一服务请求所对应的工作任务。
在本实施例中,通过服务调度单元获取到第一服务请求,并根据第一服务确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息,考虑的是以将对服务模板的操作与后续服务仓库根据接收到的所述部署指示信息生成第一目标服务实例的操作相分离,即针对每一类型的操作分开操作,以使得对各类操作进行管理时更有序,从而解决目前在软件的服务管理过程中,将服务的模板和该服务的实例混合,导致服务的模板和该服务的实例管理混乱的技术问题。
S12:通过所述服务调度单元,将所述部署指示信息发送至事件处理单元。
在步骤S12中,事件处理单元为通过计算机语言编译得到,以实现事件响应和消息转发功能的软件组件。可以理解的是,当事件处理单元接收到一个消息时,可以通过事件处理单元基于该消息确定用于对该消息进行处理的下一个对象,再由事件处理单元将该消息发送至该锁确定的下一个对象。
本实施例中,通过所述服务调度单元,将所述部署指示信息发送至事件处理单元,其目的在于,通过事件处理单元发现存在的部署服务实例的需求,同时通过事件处理单元根据该部署指示消息确定信息的响应者,即通过事件处理单元根据该部署指示消息确定是需要根据所述第一服务请求和所述第一目标服务模板,部署服务实例,以基于所部署的服务实例完成第一服务请求所对应的任务,即通过时间处理单元确定是需要服务仓库为该部署指示消息的下一个响应者,即通过事件链条的方式,将部署指示消息传递至服务仓库。
S13:通过所述事件处理单元将接收到的所述部署指示信息发送至服务仓库。
在步骤S13中,服务仓库为通过计算机语言编译得到,以实现服务模板的管理和发布,和服务模板所对应的服务实例的部署功能的软件组件。
在本实施例中,通过事件处理单元确定部署指示信息的消息下一个响应者为服务仓库后,将接收到的所述部署指示信息发送至服务仓库,目的是便于服务仓库根据部署指示消息完成第一服务请求和所述第一目标服务模板,部署用于完成第一服务请求所包括的各个任务的服务实例。
S14:通过所述服务仓库,根据接收到的所述部署指示信息生成第一目标服务实例并运行。
在步骤S14中,第一目标服务实例为按照预设规则运行第一目标服务模板中记录的文件,以完成第一服务请求所对应的任务的程序代码。具体地,第一目标服务模板是静态的程序代码,第一目标服务实例是运行状态下的程序代码,区别在于,第一目标服务模板不会占据终端的运行内存,不会进行具体的逻辑运算过程,以完成第一服务请求所对应的工作任务中的预设操作,而第一目标服务实例会占据终端的运行内存,以利用终端的计算资源进行一定的逻辑运算,以完成第一服务请求所对应的工作任务中的预设操作。
在本实施例中,所述服务仓库根据接收到的所述部署指示信息,确定部署指示信息中所涉及的至少一个第一目标服务模板,并根据所确定的至少一个第一目标服务模板,建立用于容纳该至少一个第一目标服务模板所分别对应的服务实例运行的容器,该容器中部署有用于完成第一服务请求所对应的任务的各个服务实例。其中,容器为通过计算机语言编译得到,以实现容纳多个服务实例的软件组件。
可以理解的是,当服务仓库根据部署指示信息完成容器的建立和将第一目标服务实例部署于该容器中之后,激活该容器时,部署于该容器中的第一目标服务实例也随之运行,以进行一定的逻辑运算,从而完成第一服务请求所对应的任务。
参见图2,作为本实施例的一种可能实现方式,所述通过所述服务仓库,根据接收到的所述部署指示信息生成第一目标服务实例并运行之后,还包括:
S21:通过所述服务仓库生成所述第一目标服务实例的标识,并根据所述标识和所述第一目标服务实例生成实例运行消息。
S22:通过所述服务仓库将所述实例运行消息发送至服务注册单元。
S23:通过所述服务注册单元根据接收的所述实例运行消息,将所述标识与所述第一目标服务模板关联。
在本实施例中,第一目标服务实例的标识为唯一标识该服务实例,以使得该服务实例与其它服务实例区分开来的信息。该标识由数字、字母或其它字符中的至少一种组成。例如,第一目标服务实例A的标识为13D,而第一目标服务实例B的标识为13C,对于第一目标服务实例A和第一目标服务实例B,即可以通过其各自对应的标识来进行区分。
实例运行消息用于描述处于运行状态的服务实例。该实例运行消息可以包括服务实例的标识、服务实例所对应的服务模板信息和服务实例所对应的容器信息中的至少一种。可以理解的是,各个处于运行状态中的服务实例所对应的实例运行消息不同。
服务注册单元为通过计算机语言编译得到,以实现对服务的模板和该服务的实例的管理的软件组件。
在一实施例中,通过所述服务仓库将所述实例运行消息发送至事件处理单元,由事件处理单元将该实例运行消息发送至服务注册单元。其中,通过事件处理单元根据该实例运行消息,确定服务注册单元为该实例运行消息的下一个事件响应者,故由事件处理单元将接收的该实例运行消息发送至服务注册单元。
在一实施例中,为了确保服务注册单元中所记录的各个服务实例的信息的正确性,通过所述服务注册单元根据接收的所述实例运行消息,确定所述实例运行消息所对应的服务实例的运行状态是否满足预设运行状态条件,若服务实例的运行状态满足预设运行状态条件,即表示实例运行消息所对应的服务实例处于稳定运行状态,进一步地将所述标识与所述第一目标服务模板关联。其中,预设运行状态条件用于描述判定服务实例是否处于正常处理任务的状态的信息。
在一实施例中,服务注册单元中利用注册表项进行服务模板与服务实例的关联。其中,在注册表项中,服务模板与服务实例的关系可以为一对一的关系,也可以是一对多的关系,即表示基于一个服务模板可能产生一个服务实例,也可能基于一个服务模板可能产生多个服务实例。
参见图3,在一些实施例中,该服务管理方法包括:
S31:若服务注册单元接收到服务实例注销请求,则通过所述服务注册单元根据所述服务实例注销请求,生成检查指示消息,并将所述检查指示消息发送至所述服务调度单元;
S32:通过所述服务调度单元根据接收的所述检查指示消息,确认运行中的至少一个第一目标服务实例中是否存在第二目标服务实例,并生成确认结果,并将所述确认结果发送至所述服务注册单元;
S33:若所述确认结果指示至少一个所述第一目标服务实例中不存在第二目标服务实例,则通过所述服务注册单元根据接收的所述确认结果,注销所述第二目标服务实例。
在本实施例中,服务实例注销请求用于描述用户停止服务实例的需求,即请求注销用户选定的服务实例的需求。在一个服务实例注销请求中,可能包括注销多个服务实例的需求,即包括所需要注销的服务实例的消息。
检查指示消息用于指示服务调度单元运行中的至少一个第一目标服务实例中是否存在第二目标服务实例,并生成确认结果。具体地,通过服务调度单元对所存储的服务实例运行队列进行检查,以确认该运行队列中是否包括所需要注销的服务实例消息,并根据检查情况形成确认结果。
确认结果用于描述服务调度单元对运行中的至少一个第一目标服务实例进行确认,得到的指示至少一个所述第一目标服务实例中存在第二目标服务实例,或不存在第二目标服务实例的信息。
可以理解的是,当服务注册单元接收的所述确认结果后,若根据确认结果确定至少一个所述第一目标服务实例中不存在第二目标服务实例,则注销第二目标服务实例,反之,则将第二目标服务实例的信息从服务注册单元所记录的各个服务实例的信息中删除。在一种具体的实现方式中,将第二目标服务实例的信息从服务注册单元中存储的服务实例注册列表中删除,从而便于用户对服务实例所对应的服务模板的配置信息进行修改。
在一实施例中,若服务注册单元接收到服务实例注销请求,则通过所述服务注册单元根据所述服务实例注销请求,生成检查指示消息,并将所述检查指示消息发送至事件处理单元,以由事件处理单元将该检查指示消息发送至所述服务调度单元。服务调度单元将确认结果发送至事件处理单元,再由事件处理单元将该确认结果发送至服务注册单元。
参见图4,在一些实施例中,该服务管理方法包括:
S41:若通过所述服务调度单元接收到第二服务请求,则通过所述服务调度单元根据所述第二服务请求,确定所述第二服务请求所关联的第二目标服务模板的数量。
在步骤S41中,所述第二服务请求用于请求调用与所述第二目标服务模板相关联的服务实例,以执行预设操作。
第二目标服务模板为描述静态的服务描述文件集合。例如,服务模板中包括服务规范、服务接口文件、服务代码、服务部署包、容器文件、部署策略文件、服务描述文件等中的至少一种信息。可以理解的是,可通过该第二目标服务模板产生对应的服务实例,并利用该服务实例来完成第二服务请求所对应的工作任务所对应的预设操作。
在一些实施例中,第二服务请求为记录在服务调度单元的预设服务列表之外的服务请求。其中,预设服务列表用于描述服务调度单元的预定服务内容范围。例如,服务调度单元的预设服务列表中记录的服务内容包括A、B,而第二服务请求中所记录的服务内容包括C,则该第二服务请求为记录在服务调度单元的预设服务列表之外的服务请求。
在本实施例中,当服务调度单元接收到第二服务请求时,则对该第二服务请求进行分析,以确定第二服务请求的任务中所涉及的第二目标服务模板,从而确定所述第二服务请求所关联的第二目标服务模板的数量,即确定用于完成第二服务请求的任务所需要的第二目标服务模板所对应的服务实例的个数。
可以理解的是,当第二服务请求所涉及的任务的数量越多,所确定的第二服务请求所关联的第二目标服务模板可能越多。故此,为了便于更好地完成第二服务请求所对应的任务,进行服务的模板和该服务的实例的管理,预先的确定第二服务请求所关联的第二目标服务模板的数量。
S42:若通过所述服务调度单元确定所述数量小于预设数量,则根据所述第二服务请求生成第一选择消息,并将所述第一选择消息发送至服务注册单元。
在步骤S42中,预设数量用于描述需要对第二服务请求所关联的第二目标服务模板的调用次序进行编排时,最低的第二目标服务模板数量。例如,当第二服务请求所关联的第二目标服务模板的数量为2个时,则需要对该2个第二目标服务模板的调用次序进行编排,反之,表示该第二服务请求所关联的第二目标服务模板只有1个,即通过该1个第二目标服务模板的实例,即可完成第二服务请求所对应的任务。
所述第一选择消息用于指示根据所述第二服务请求,从所述第二目标服务模板所对应的运行中的至少一个服务实例中,选取出满足预设条件的服务实例。
预设条件为所述第二目标服务模板相关联的服务实例中可用于执行预设操作的服务实例所对应的最低限定条件。
在一实施例中,通过所述服务调度单元将所述第一选择消息发送至事件处理单元,由事件处理单元将该第一选择消息发送至所述服务注册单元。
S43:通过所述服务注册单元根据接收的所述第一选择消息,从运行中的至少一个服务实例中选取出用于完成所述第二服务请求的任务的第三目标服务实例,并根据所述第三目标服务实例生成实例选择消息,其中,所述第三目标服务实例满足所述预设条件。
在步骤S43中,第一选择消息用于指示通过服务注册单元根据从所述第二目标服务模板所对应的运行中的至少一个服务实例的信息,选取出满足预设条件的第三目标服务实例。
实例选择消息用于描述所确认的第三目标服务实例。实例选择消息中至少包括第三目标服务实例的标识、第三目标服务实例所对应的服务模板信息和第三目标服务实例所部署的容器信息中的至少一种。
可以理解的是,服务注册单元接收到来自服务调度单元发送的第一选择消息,即可了解服务调度单元存在需要确定用于执行第二服务请求的任务的服务实例的需求,进而地通过所述服务注册单元根据接收的所述第一选择消息,从运行中的至少一个服务实例中选取出用于完成所述第二服务请求的任务的第三目标服务实例,并根据所述第三目标服务实例生成实例选择消息。
S44:通过所述服务注册单元将所述实例选择消息发送至所述服务调度单元。
在步骤S44中,通过服务注册单元将所述实例选择消息发送至所述服务调度单元,其目的在于,将服务注册单元所确定的用于执行第二服务请求的任务的第三目标服务实例的信息反馈回服务调度单元,以便于服务调度单元根据该示例选择消息调用相应的服务实例来执行第二服务请求的任务。
在一实施例中,通过所述服务注册单元将所述实例选择消息发送至事件处理单元,由事件处理单元将该实例选择消息发送至所述服务调度单元。
S45:通过所述服务调度单元根据接收的所述实例选择消息,生成服务调用消息,并将所述服务调用消息发送至所述事件处理单元。
在步骤S45中,服务调用消息用于描述待被调用的服务实例和相应的待执行的第二服务请求所对应的工作任务的预设操作。
可以理解的是,通过该服务调用消息可以了解将要执行第二服务请求的任务的服务实例。被调用的服务实例为处于运行状态的服务实例。
S46:通过所述事件处理单元将接收的所述服务调用消息发送至所述第三目标服务实例,以指示所述第三目标服务实例根据所述服务调用消息执行所述预设操作。
在一实施例中,通过第三目标服务实例根据所述服务调用消息执行所述第二服务请求所相应的操作后,得到执行结果,并根据该执行结果生成执行结果消息。通过第三目标服务实例将该执行结果消息发送至事件处理单元,由事件处理单元将该执行结果消息发送至服务调度单元,以便于服务调度单元根据该执行结果消息确认第二服务请求的任务的执行情况。
在本实施例中,执行结果用于描述第三目标服务实例执行所述第二服务请求所相应的任务的情况。
作为本实施例的一种可能的实现方式,所述通过所述服务注册单元根据接收的所述第一选择消息,从运行中的至少一个服务实例中选取出用于完成所述第二服务请求所对应的任务的第三目标服务实例,包括:
通过所述服务注册单元根据所述第一选择消息,获取所述服务注册单元中记录的至少一个服务实例的运行负载信息,其中,所述服务注册单元中记录的至少一个服务实例为基于所述第二目标服务模板而生成的处于运行状态的服务实例;
通过所述服务注册单元根据所述至少一个服务实例的运行负载信息,确定运行负载最小的服务实例为所述第三目标服务实例。
在本实施例中,运行负载信息用于描述服务实例所承担的任务数量,执行任务所需要的时间长度。
可以理解的是,通过所述服务注册单元根据所述至少一个服务实例的运行负载信息,确定运行负载最小的服务实例为所述第三目标服务实例,考虑的是通过运行负载最小的服务实例根据所述服务调用消息执行所述第二服务请求相应的操作,缩短完成第二服务请求的任务所花费的时间。在本实施例的在一种可能的实现方式中,若通过所述服务调度单元确定所述数量大于预设数量,则通过所述服务调度单元根据所述第二服务请求,确定所述第二服务请求所关联的第二目标服务模板所对应的调用顺序;
通过所述服务调度单元根据所述调用顺序,顺序生成第二选择消息,并将所述第二选择消息发送至所述服务注册单元;
通过所述服务注册单元根据接收的所述第二选择消息,则确定用于完成所述第二服务请求的第三目标服务实例。
在本实施例中,调用顺序为利用第二目标服务模板所对应的服务实例来完成第二服务请求的任务的顺序。可以理解的是,第二服务请求中的任务存在一定的执行流程,针对该执行流程中的每一个阶段,可能由不同的服务实例来完成,故此根据所述第二服务请求,确定所述第二服务请求所关联的第二目标服务模板所对应的调用顺序,以便于根据该调用顺序,顺序调用各个运行中的服务实例来执行第二服务请求的任务。
第二选择消息用于指示通过服务注册单元根据从所述第二目标服务模板所对应的运行中的至少一个服务实例的信息,选取出满足预设条件的第三目标服务实例。
参见图5,在一些实施例中,该服务管理方法包括:
S51:若通过所述服务仓库接收到至少一个新增的服务模板,则针对每一个新增的服务模板,生成所述新增的服务模板所对应的模板新增信息;
S52:通过所述服务调度单元将所述模板新增信息发送至所述事件处理单元;
S53:通过所述事件处理单元将接收的所述模板新增信息发送至服务注册单元;
S54:若通过所述服务注册单元接收到所述模板新增信息,则通过所述服务注册单元记录所述模板新增信息。
在本实施例中,新增的服务模板为服务开发者新开发的静态的服务描述文件集合。例如,该新增的服务模板中包括服务规范、服务接口文件、服务代码、服务部署包、容器文件、部署策略文件、服务描述文件等中的至少一种信息。
模板新增信息用于描述所对应的新增的服务模板。该模板新增信息包括服务模板的信息和新增的时间点等信息中的至少一种。
可以理解的是,通过所述服务调度单元将所述模板新增信息发送至所述事件处理单元,目的在于通过事件处理单元确认模板新增信息的下一个响应单元,以便于由该响应单元对该模板新增信息进行处理,即通过所述服务注册单元接收到所述模板新增信息,则通过所述服务注册单元记录所述模板新增信息,将该新增的服务模板记录于服务注册单元中,完成新增的服务模板的注册,且当后续存在该新增的服务模板所对应的服务实例时,则将该服务实例与该新增的服务模板进行关联。
采用本申请提供的服务管理方法,通过服务调度单元实时地确定是否存在第一服务请求,若确定存在第一服务请求,则根据所述第一服务请求,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息,并通过所述服务调度单元,将所述部署指示信息发送至事件处理单元,并由该事件处理单元基于该部署指示信息确定用于处理待部署指示消息的对象,进而地通过所述事件处理单元将接收到的所述部署指示信息发送至服务仓库。进一步地,在所述服务仓库中,根据接收到的所述部署指示信息生成第一目标服务实例并运行。基于本申请的方案,通过服务调度单元存在的服务需求,并通过只对服务模板所对应的服务实例的信息进行处理,从而可以快速地由所述服务仓库根据服务实例的信息完成相应的目标服务实例的部署,且获取服务请求并根据服务请求查询关联的服务模板的操作与生成服务实例的操作进行了分离,管理更有序,处理的效率大大提升。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的服务管理方法,图6示出了本申请实施例提供的服务管理系统的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该系统包括:包括:服务调度单元101、服务仓库103和服务注册单元;
所述服务调度单元101,用于若获取到第一服务请求,则通过所述服务调度单元101,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息;
所述服务调度单元101,还用于将所述部署指示信息发送至事件处理单元102;
所述事件处理单元102,用于将接收到的所述部署指示信息发送至服务仓库103;
所述服务仓库103,用于根据接收到的所述部署指示信息生成第一目标服务实例并运行。
在一实施例中,该系统还包括:服务注册单元。
所述服务仓库103,还用于生成所述第一目标服务实例的标识,并根据所述标识和所述第一目标服务实例生成实例运行消息;
所述服务仓库103,还用于将所述实例运行消息发送至服务注册单元;
所述服务注册单元,用于根据接收的所述实例运行消息,将所述标识与所述第一目标服务模板关联。
在一实施例中,该系统还包括:服务注册单元。
服务注册单元,还用于若接收到服务实例注销请求,则通过所述服务注册单元根据所述服务实例注销请求,生成检查指示消息,并将所述检查指示消息发送至所述服务调度单元101;
所述服务调度单元101,还用于根据接收的所述检查指示消息,确认运行中的至少一个第一目标服务实例中是否存在第一目标服务实例,并生成确认结果,并将所述确认结果发送至所述服务注册单元;
所述服务注册单元,还用于若所述确认结果指示至少一个所述第一目标服务实例中存在第二目标服务实例,则根据接收的所述确认结果,注销所述第二目标服务实例。
在一实施例中,该系统还包括:服务注册单元。
所述服务调度单元101,还用于若接收到第二服务请求,则通过所述服务调度单元101根据所述第二服务请求,确定所述第二服务请求所关联的第二目标服务模板的数量,所述第二服务请求用于请求调用与所述第二目标服务模板相关联的服务实例,以执行预设操作;
所述服务调度单元101,还用于若确定所述数量小于预设数量,则根据所述第二服务请求生成第一选择消息,并将所述第一选择消息发送至服务注册单元,所述第一选择消息用于指示根据所述第二服务请求,从所述第二目标服务模板所对应的运行中的至少一个服务实例中,选取出满足预设条件的服务实例,其中,所述第三目标服务实例满足所述预设条件;
所述服务注册单元,还用于根据接收的所述第一选择消息,从运行中的至少一个服务实例中选取出用于完成所述第二服务请求的第三目标服务实例,并根据所述第三目标服务实例生成实例选择消息;
所述服务注册单元,还用于将所述实例选择消息发送至所述服务调度单元101;
所述服务调度单元101,还用于根据接收的所述实例选择消息,生成服务调用消息,并将所述服务调用消息发送至所述事件处理单元102;
所述事件处理单元102,还用于将接收的所述服务调用消息发送至所述第三目标服务实例,以指示所述第三目标服务实例根据所述服务调用消息执行预设操作。
在一实施例中,所述服务注册单元,还用于根据所述第一选择消息,获取所述服务注册单元中记录的至少一个服务实例的运行负载信息,其中,所述服务注册单元中记录的至少一个服务实例为基于所述第二目标服务模板而生成的处于运行状态的服务实例;
所述服务注册单元,还用于根据所述至少一个服务实例的运行负载信息,确定运行负载最小的服务实例为所述第三目标服务实例。
在一实施例中,所述服务调度单元101,还用于若确定所述数量大于预设数量,则通过所述服务调度单元101根据所述第二服务请求,确定所述第二服务请求所关联的第二目标服务模板所对应的调用顺序;
所述服务调度单元101,还用于根据所述调用顺序,顺序生成第二选择消息,并将所述第二选择消息发送至所述服务注册单元;
所述服务注册单元,还用于根据接收的所述第二选择消息,则确定用于完成所述第二服务请求的第三目标服务实例。
在一实施例中,通过所述服务仓库103,还用于若接收到至少一个新增的服务模板,则针对每一个新增的服务模板,生成所述新增的服务模板所对应的模板新增信息;
所述服务调度单元101,还用于将所述模板新增信息发送至所述事件处理单元102;
所述事件处理单元102,还用于将接收的所述模板新增信息发送至服务注册单元;
所述服务注册单元,还用于若接收到所述模板新增信息,则通过所述服务注册单元记录所述模板新增信息。
图7为本申请一实施例提供的终端的结构示意图。如图7所示,该实施例的终端7包括:至少一个处理器70(图7中仅示出一个处理器)、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个服务管理方法实施例中的步骤。
所述终端7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端7的举例,并不构成对终端7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所述处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述终端7的内部存储单元,例如终端7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述终端7的外部存储设备,例如所述终端7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端上运行时,使得终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口、装置或单元的间接耦合或通讯连接,可以是电性、机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种服务管理方法,其特征在于,包括:
若服务调度单元获取到第一服务请求,则通过所述服务调度单元,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息;
通过所述服务调度单元,将所述部署指示信息发送至事件处理单元;
通过所述事件处理单元将接收到的所述部署指示信息发送至服务仓库;
通过所述服务仓库,根据接收到的所述部署指示信息生成第一目标服务实例并运行。
2.如权利要求1所述的服务管理方法,其特征在于,所述通过所述服务仓库,根据接收到的所述部署指示信息生成第一目标服务实例并运行之后,还包括:
通过所述服务仓库生成所述第一目标服务实例的标识,并根据所述标识和所述第一目标服务实例生成实例运行消息;
通过所述服务仓库将所述实例运行消息发送至服务注册单元;
通过所述服务注册单元根据接收的所述实例运行消息,将所述标识与所述第一目标服务模板关联。
3.如权利要求1所述的服务管理方法,其特征在于,所述服务管理方法还包括:
若服务注册单元接收到服务实例注销请求,则通过所述服务注册单元根据所述服务实例注销请求,生成检查指示消息,并将所述检查指示消息发送至所述服务调度单元;
通过所述服务调度单元根据接收的所述检查指示消息,确认运行中的至少一个第一目标服务实例中是否存在第二目标服务实例,并生成确认结果,并将所述确认结果发送至所述服务注册单元;
若所述确认结果指示至少一个所述第一目标服务实例中不存在第二目标服务实例,则通过所述服务注册单元根据接收的所述确认结果,注销所述第一目标服务实例。
4.如权利要求1所述的服务管理方法,其特征在于,所述服务管理方法还包括:
若通过所述服务调度单元接收到第二服务请求,则通过所述服务调度单元根据所述第二服务请求,确定所述第二服务请求所关联的第二目标服务模板的数量,其中,所述第二服务请求用于请求调用与所述第二目标服务模板相关联的服务实例,以执行预设操作;
若通过所述服务调度单元确定所述数量小于预设数量,则根据所述第二服务请求生成第一选择消息,并将所述第一选择消息发送至服务注册单元,所述第一选择消息用于指示根据所述第二服务请求,从所述第二目标服务模板所对应的运行中的至少一个服务实例中,选取出满足预设条件的服务实例;
通过所述服务注册单元根据接收的所述第一选择消息,从运行中的至少一个服务实例中选取出第三目标服务实例,并根据所述第三目标服务实例生成实例选择消息,其中,所述第二目标服务实例满足所述预设条件;
通过所述服务注册单元将所述实例选择消息发送至所述服务调度单元;
通过所述服务调度单元根据接收的所述实例选择消息,生成服务调用消息,并将所述服务调用消息发送至所述事件处理单元;
通过所述事件处理单元将接收的所述服务调用消息发送至所述第三目标服务实例,以指示所述第三目标服务实例根据所述服务调用消息执行所述预设操作。
5.如权利要求4所述的服务管理方法,其特征在于,所述通过所述服务注册单元根据接收的所述第一选择消息,从运行中的至少一个服务实例中选取出第三目标服务实例,包括:
通过所述服务注册单元根据所述第一选择消息,获取所述服务注册单元中记录的至少一个服务实例的运行负载信息,其中,所述服务注册单元中记录的至少一个服务实例为基于所述第二目标服务模板而生成且处于运行状态的服务实例;
通过所述服务注册单元根据所述至少一个服务实例的运行负载信息,确定运行负载最小的服务实例为所述第三目标服务实例。
6.如权利要求4所述的服务管理方法,其特征在于,所述服务管理方法,还包括:
若通过所述服务调度单元确定所述数量大于预设数量,则通过所述服务调度单元根据所述第二服务请求,确定所述第二服务请求所关联的第二目标服务模板所对应的调用顺序;
通过所述服务调度单元根据所述调用顺序,顺序生成第二选择消息,并将所述第二选择消息发送至所述服务注册单元,其中,第一选择消息用于指示通过服务注册单元根据从所述第二目标服务模板所对应的运行中的至少一个服务实例的信息,选取出满足预设条件的第三目标服务实例;
通过所述服务注册单元根据接收的所述第二选择消息,则确定用于完成所述第二服务请求的第三目标服务实例。
7.如权利要求1-6任一项所述的服务管理方法,其特征在于,所述服务管理方法还包括:
若通过所述服务仓库接收到至少一个新增的服务模板,则针对每一个新增的服务模板,生成所述新增的服务模板所对应的模板新增信息;
通过所述服务调度单元将所述模板新增信息发送至所述事件处理单元;
通过所述事件处理单元将接收的所述模板新增信息发送至服务注册单元;
若通过所述服务注册单元接收到所述模板新增信息,则通过所述服务注册单元记录所述模板新增信息。
8.一种服务管理系统,其特征在于,包括:服务调度单元、服务仓库和服务注册单元;
所述服务调度单元,用于若获取到第一服务请求,则通过所述服务调度单元,确定所述第一服务请求所关联的第一目标服务模板,并根据所述第一服务请求和所述第一目标服务模板生成部署指示信息;
所述服务调度单元,还用于将所述部署指示信息发送至事件处理单元;
所述事件处理单元,用于将接收到的所述部署指示信息发送至服务仓库;
所述服务仓库,用于根据接收到的所述部署指示信息生成第一目标服务实例并运行。
9.一种终端,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的服务管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的服务管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011441757.6A CN112667247A (zh) | 2020-12-11 | 2020-12-11 | 服务管理方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011441757.6A CN112667247A (zh) | 2020-12-11 | 2020-12-11 | 服务管理方法、系统、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112667247A true CN112667247A (zh) | 2021-04-16 |
Family
ID=75402098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011441757.6A Pending CN112667247A (zh) | 2020-12-11 | 2020-12-11 | 服务管理方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667247A (zh) |
-
2020
- 2020-12-11 CN CN202011441757.6A patent/CN112667247A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111163129B (zh) | 一种基于跨链网络的资源处理方法及装置 | |
US10146599B2 (en) | System and method for a generic actor system container application | |
CN107015853B (zh) | 多阶段任务的实现方法和装置 | |
US10891357B2 (en) | Managing the display of hidden proprietary software code to authorized licensed users | |
CN110780870A (zh) | 一种业务执行方法、装置、设备及存储介质 | |
CN112787999B (zh) | 跨链调用方法、装置、系统与计算机可读存储介质 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN110609755A (zh) | 跨区块链节点的消息处理方法及装置、设备、介质 | |
CN109828830B (zh) | 用于管理容器的方法和装置 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN111988429A (zh) | 算法调度方法以及系统 | |
CN109558222B (zh) | 批量业务进程监控方法、装置、计算机及可读存储介质 | |
CN112667247A (zh) | 服务管理方法、系统、终端及存储介质 | |
CN113535439B (zh) | 业务请求处理方法、装置、设备及存储介质 | |
CN113468446B (zh) | 一种支持识别第三方二维码数据的方法、系统及设备 | |
CN115514632A (zh) | 云服务的资源模板编排方法、装置、设备及存储介质 | |
CN113064583B (zh) | 多级页面路由跳转方法、装置、计算机设备及存储介质 | |
CN111061576B (zh) | 一种实体对象的创建方法及系统 | |
CN114116509A (zh) | 程序分析方法、装置、电子设备和存储介质 | |
CN112905273A (zh) | 一种服务调用方法和装置 | |
CN112738181A (zh) | 集群外部ip接入的方法、装置及服务器 | |
KR20120041148A (ko) | 소프트웨어 및 어플리케이션 제어 관리 객체에서의 단계 실행 결과를 처리하는 방법 | |
CN117472617B (zh) | 一种消息处理方法、装置、电子设备及可读存储介质 | |
CN114168347A (zh) | 信息处理方法、装置、服务器及存储介质 | |
CN114579283A (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 |