一种基于注册中心的服务管理方法与流程

文档序号:28604835发布日期:2022-01-22 11:52阅读:75来源:国知局
一种基于注册中心的服务管理方法与流程

1.本发明涉及软件领域,尤其涉及一种基于注册中心的服务管理方法。


背景技术:

2.大数据处理的核心思想是将大数据处理任务分为小任务进行并行处理,这就离不开分布式微服务框架体系。在分布式微服务框架体系下,在服务版本更新时通常需要先停止服务进程,然后再进行更新,注册中心管理服务上线和下线的切换过程,会造成服务中断,导致用户使用页面出现报错,类似服务不可用和网关错误等问题,严重影响用户体验。


技术实现要素:

3.鉴于现有技术存在的缺陷,本技术提供一种基于注册中心的服务管理方法,解决新版服务更新时,注册中心服务切换时会造成服务中断情况,更好地提升客户的体验感。
4.第一方面,本技术提供一种基于注册中心的服务管理方法,所述方法包括:
5.接收总服务器发送的更新数据包和预定义更新脚本,所述预定义更新脚本包括预定义启动脚本和预定义下线脚本;
6.调用所述预定义启动脚本运行所述更新数据包以启动新版服务;
7.将所述新版服务注册在注册中心,所述注册中心包括与所述新版服务对应的旧版服务;
8.通过所述预定义启动脚本判断所述新版服务是否运行正常以及是否完成注册;
9.当所述新版服务运行正常且完成注册时,通过所述预定义下线脚本从所述注册中心中删除所述旧版服务;
10.通过所述新版服务接收业务请求,并执行所述业务请求。
11.可选的,所述将所述新版服务注册在注册中心,包括:
12.将所述新版服务的注册数据存储到注册中心的服务列表中;
13.将所述新版服务的服务状态设定为上线状态。
14.可选的,所述注册中心包括:负载均衡调度列表;
15.所述将所述新版服务注册在注册中心之后,至所述通过所述预定义下线脚本从所述注册中心中删除所述旧版服务之前,所述方法还包括:
16.将处于上线状态的所述新版服务和所述旧版服务存储在所述负载均衡调度列表中;
17.将所述业务请求随机分发给所述负载均衡调度列表中的所述新版服务或所述旧版服务;
18.通过接收到所述业务请求的所述新版服务或所述旧版服务执行所述业务请求。
19.可选的,所述通过所述新版服务接收业务请求,并执行所述业务请求之后,包括:
20.终止所述旧版服务的所有服务进程,并释放所述旧版服务对应的服务资源。
21.第二方面,本技术提供一种基于注册中心的服务管理方法,所述方法包括:
22.接收用户输入的服务版本更新请求,根据所述服务版本更新请求获取新版服务对应的新版代码;
23.将所述新版代码打包生成更新数据包,并为所述更新数据包配置对应的预定义更新脚本;
24.向目标服务器发送所述更新数据包及所述预定义更新脚本。
25.第三方面,本技术提供一种基于注册中心的服务管理装置,所述装置包括:
26.接收模块,用于接收总服务器发送的更新数据包和预定义更新脚本,所述预定义更新脚本包括预定义启动脚本和预定义下线脚本;
27.运行模块,用于调用所述预定义启动脚本运行所述更新数据包以启动新版服务;
28.注册模块,用于将所述新版服务注册在注册中心,所述注册中心包括与所述新版服务对应的旧版服务;
29.判断模块,用于通过所述预定义启动脚本判断所述新版服务是否运行正常以及是否完成注册;
30.删除模块,用于当所述新版服务运行正常且完成注册时,通过所述预定义下线脚本从所述注册中心中删除所述旧版服务;
31.执行模块,用于通过所述新版服务接收业务请求,并执行所述业务请求。
32.可选的,所述装置还包括:
33.终止模块,用于终止所述旧版服务的所有服务进程,并释放所述旧版服务对应的服务资源。
34.第四方面,本技术提供一种基于注册中心的服务管理装置,所述装置包括:
35.获取模块,用于接收用户输入的服务版本更新请求,根据所述服务版本更新请求获取新版服务对应的新版代码;
36.配置模块,用于将所述新版代码打包生成更新数据包,并为所述更新数据包配置对应的预定义更新脚本;
37.发送模块,用于向目标服务器发送所述更新数据包及所述预定义更新脚本。
38.第五方面,本技术提供一种服务器,包括:存储器和处理器,所述存储器存储有计算机程序,所述计算机程序通过所述处理器运行时执行上述任一项所述的基于注册中心的服务管理方法。
39.第六方面,本技术提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述任一项所述的基于注册中心的服务管理方法。
40.本技术提供一种基于注册中心的服务管理方法,所述方法包括:接收总服务器发送的更新数据包和预定义更新脚本,所述预定义更新脚本包括预定义启动脚本和预定义下线脚本;调用所述预定义启动脚本运行所述更新数据包以启动新版服务;将所述新版服务注册在注册中心,所述注册中心包括与所述新版服务对应的旧版服务;通过所述预定义启动脚本判断所述新版服务是否运行正常以及是否完成注册;当所述新版服务运行正常且完成注册时,通过所述预定义下线脚本从所述注册中心中删除所述旧版服务;通过所述新版服务接收业务请求,并执行所述业务请求。这样,在服务版本进行更新迭代时,调用预定义启动脚本运行新版服务,然后调用预定义脚本控制旧版服务下线,有效解决注册中心服务切换时会造成服务中断情况,保证服务运行的稳定性,提升用户的体验感。
附图说明
41.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
42.图1示出了一种基于注册中心的服务管理方法流程示意图;
43.图2示出了另一种基于注册中心的服务管理方法流程示意图;
44.图3示出了一种基于注册中心的服务管理装置模块框图;
45.图4示出了另一种基于注册中心的服务管理装置模块框图。
具体实施方式
46.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
47.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
49.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
50.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
51.实施例1
52.本技术实施例提供一种基于注册中心的服务管理方法,如图1所示,所述方法包括:
53.s101,接收总服务器发送的更新数据包和预定义更新脚本,所述预定义更新脚本包括预定义启动脚本和预定义下线脚本。
54.在本实施例中,基于大数据的微服务框架体系进行服务版本更新,微服务版本更新过程发生在客户端的目标服务器。在微服务框架中由总服务器生成更新数据包和预定义更新脚本,并将发送更新数据包和预定义更新脚本给目标服务器。其中,更新数据包中包括新版服务的服务功能以及服务逻辑等数据,更新数据包是用于更新服务的新版代码。预定义更新脚本中包含新本服务的基本信息,并描述了在服务更新过程中所要执行的更新任务,以便指导新版服务自动完成更新过程。
55.s102,调用所述预定义启动脚本运行所述更新数据包以启动新版服务。
56.具体地,由预定义启动脚本用于启动更新数据包中的最新代码,运行新版服务程序。
57.s103,将所述新版服务注册在注册中心,所述注册中心包括与所述新版服务对应的旧版服务。
58.上述s102运行新版服务完成后,则将新版服务在注册中心进行注册,注册到注册中心后,新版服务和旧版服务同时在注册中心存在,新版服务和旧版服务的状态均为上线,此时同时运行新旧两个版本的服务。注册的内容包括:新版服务的ip地址、监听端口以及健康状态等信息。
59.s104,通过所述预定义启动脚本判断所述新版服务是否运行正常以及是否完成注册。
60.其中,预定义启动脚本在启动新版服务后,会对新版服务的运行状态进行判断,如果对服务器端口能够正常监听,则代表新版服务成功运行。
61.s105,当所述新版服务运行正常且完成注册时,通过所述预定义下线脚本从所述注册中心中删除所述旧版服务。
62.当预定义启动脚本判断新版服务运行正常,并且新版服务在注册中心完成注册后启动预定义下线脚本,在s103中新版服务和旧版服务同时在注册中心存在,启动预定义下线脚本后将旧版服务从注册中心中删除,使得旧版服务停止接收请求。
63.s106,通过所述新版服务接收业务请求,并执行所述业务请求。
64.具体地,此时注册中心只存在新版服务,则由新版服务接收、执行业务请求。
65.在具体实施例中,所述将所述新版服务注册在注册中心,包括:
66.将所述新版服务的注册数据存储到注册中心的服务列表中;
67.将所述新版服务的服务状态设定为上线状态。
68.其中,注册数据的内容包括:新版服务的ip地址、监听端口以及健康状态等信息。新版服务注册后在注册中心的服务列表后,同时存在新版服务和旧版服务,并且新版服务和旧版服务的服务状态均为上线状态。
69.在具体实施例中,所述注册中心包括:负载均衡调度列表;
70.所述将所述新版服务注册在注册中心之后,至所述通过所述预定义下线脚本从所述注册中心中删除所述旧版服务之前,所述方法还包括:
71.将处于上线状态的所述新版服务和所述旧版服务存储在所述负载均衡调度列表中;
72.将所述业务请求随机分发给所述负载均衡调度列表中的所述新版服务或所述旧版服务;
73.通过接收到所述业务请求的所述新版服务或所述旧版服务执行所述业务请求。
74.具体地,当新版服务和旧版服务同时存在于注册中心的服务列表时,并且两服务的服务状态均为上线状态,此时运行的是新旧两个版本的服务,为了更好地调用,避免出错,本实施例提供了负载均衡调度列表,新版服务和旧版服务在负载均衡调度列表中的状态均为上线,即为可调用状态。当有业务访问请求时,负载均衡调度列表则根据服务状态随机负载分发至均衡调度列表中的新版服务或旧版服务,然后由新版服务和旧版服务中的一
个执行具体的服务实例。
75.在具体实施例中,所述通过所述新版服务接收业务请求,并执行所述业务请求之后,包括:
76.终止所述旧版服务的所有服务进程,并释放所述旧版服务对应的服务资源。
77.其中,在旧版服务终止服务后,目标服务器将会释放相应的服务资源,如目标服务器内存、cpu、磁盘、网络流量负载等。释放目标服务器的内存空间,从而提高系统的运行效率。
78.本实施例的一种基于注册中心的服务管理方法,通过接收总服务器发送的更新数据包和预定义更新脚本,所述预定义更新脚本包括预定义启动脚本和预定义下线脚本;调用所述预定义启动脚本运行所述更新数据包以启动新版服务;将所述新版服务注册在注册中心,所述注册中心包括与所述新版服务对应的旧版服务;通过所述预定义启动脚本判断所述新版服务是否运行正常以及是否完成注册;当所述新版服务运行正常且完成注册时,通过所述预定义下线脚本从所述注册中心中删除所述旧版服务;通过所述新版服务接收业务请求,并执行所述业务请求。这样,在服务版本进行更新迭代时,调用预定义启动脚本运行新版服务,然后调用预定义脚本控制旧版服务下线,有效解决注册中心服务切换时会造成服务中断情况,保证服务运行的稳定性,提升用户的体验感。
79.实施例2
80.本技术实施例提供一种基于注册中心的服务管理方法,如图2所示,所述一种基于注册中心的服务管理方法包括:
81.s201接收用户输入的服务版本更新请求,根据所述服务版本更新请求获取新版服务对应的新版代码;
82.s202将所述新版代码打包生成更新数据包,并为所述更新数据包配置对应的预定义更新脚本;
83.s203向目标服务器发送所述更新数据包及所述预定义更新脚本。
84.具体地,总服务器先要将新版服务升级所需的更新数据包以及预定义更新脚本配置完成,并且发给目标服务器。然后目标服务器接收更新数据包以及预定义更新脚本,进行服务版本升级。目标服务器的具体实现过程可以参阅实施例1中相关描述,为避免重复,在此不做赘述。
85.当服务版本需要进行更新迭代时,则在持续集成(continuous integration,ci)/持续交付(continuous delivery,cd)工具上发起服务版本更新请求,在ci/cd工具上运行对应的任务构建操作,任务构建操作的内容则是执行配置的自动化操作,包括:新版服务代码的打包、配置预定义脚本以及配置需要更新的目标服务器。
86.其中,新版代码打包生成更新数据包,更新数据包中包括新版服务的功能以及业务逻辑等数据。预定义更新脚本包括预定义启动脚本和预定义下线脚本,预定义启动脚本用于启动更新数据包中的最新代码,运行新版服务程序。预定义下线脚本启动后将旧版服务从注册中心中删除,使得旧版服务停止接收请求。
87.本实施例2中的总服务器生成更新数据包及预定义更新脚本,并将更新数据包发送至目标服务器,通过预定义更新脚本控制目标服务器上的服务版本进行更新,有效解决服务迭代更新时,注册中心服务注册和下线切换时的服务中断问题,加强用户体验,提升用
户满意度。
88.实施例3
89.本技术实施例提供一种基于注册中心的服务管理装置,如图3所述基于注册中心的服务管理装置300包括:
90.接收模块301,用于接收总服务器发送的更新数据包和预定义更新脚本,所述预定义更新脚本包括预定义启动脚本和预定义下线脚本;
91.运行模块302,用于调用所述预定义启动脚本运行所述更新数据包以启动新版服务;
92.注册模块303,用于将所述新版服务注册在注册中心,所述注册中心包括与所述新版服务对应的旧版服务;
93.判断模块304,用于通过所述预定义启动脚本判断所述新版服务是否运行正常以及是否完成注册;
94.删除模块305,用于当所述新版服务运行正常且完成注册时,通过所述预定义下线脚本从所述注册中心中删除所述旧版服务;
95.执行模块306,用于通过所述新版服务接收业务请求,并执行所述业务请求。
96.在本实施例中基于注册中心的服务管理装置300还包括:终止模块,用于终止所述旧版服务的所有服务进程,并释放所述旧版服务对应的服务资源。
97.在本实施例中,所述注册模块303,用于将所述新版服务的注册数据存储到注册中心的服务列表中;将所述新版服务的服务状态设定为上线状态。
98.在本实施例中,所述注册模块303,还用于将处于上线状态的所述新版服务和所述旧版服务存储在所述负载均衡调度列表中;将所述业务请求随机分发给所述负载均衡调度列表中的所述新版服务或所述旧版服务;通过接收到所述业务请求的所述新版服务或所述旧版服务执行所述业务请求。
99.本实施例3中的基于注册中心的服务管理装置通过所述预定义启动脚本判断所述新版服务是否运行正常以及是否完成注册;当所述新版服务运行正常且完成注册时,通过所述预定义下线脚本从所述注册中心中删除所述旧版服务;通过所述新版服务接收业务请求,并执行所述业务请求。在服务版本进行更新迭代时,调用预定义启动脚本运行新版服务,然后调用预定义脚本控制旧版服务下线,有效解决注册中心服务切换时会造成服务中断情况,保证服务运行的稳定性,提升用户的体验感。
100.实施例4
101.本技术实施例提供一种基于注册中心的服务管理装置,如图4所示为基于注册中心的服务管理装置400包括:
102.获取模块401,用于接收用户输入的服务版本更新请求,根据所述服务版本更新请求获取新版服务对应的新版代码;
103.配置模块402,用于将所述新版代码打包生成更新数据包,并为所述更新数据包配置对应的预定义更新脚本;
104.发送模块403,用于向目标服务器发送所述更新数据包及所述预定义更新脚本。
105.本实施例4中的基于注册中心的服务管理装置生成更新数据包及预定义更新脚本,并将更新数据包发送至目标服务器,通过预定义更新脚本控制目标服务器上的服务版
本进行更新,有效解决服务迭代更新时,注册中心服务注册和下线切换时的服务中断问题,加强用户体验,提升用户满意度。
106.实施例5
107.本技术实施例提供一种服务器,包括:存储器和处理器,所述存储器存储有计算机程序,所述计算机程序通过所述处理器运行时执行上述实施例1或实施例2所述的基于注册中心的服务管理方法。
108.具体实现步骤可参考上述实施例1或实施例2提供的基于注册中心的服务管理方法的相关描述,为避免重复,在此不做赘述。
109.实施例6
110.本技术提实施例供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例1或实施例2任一项所述的基于注册中心的服务管理方法。
111.具体实现步骤可参考上述实施例1或实施例2提供的基于注册中心的服务管理方法的相关描述,为避免重复,在此不做赘述。
112.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
113.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
114.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
115.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1