服务部署方法、装置、电子设备及存储介质与流程

文档序号:31310721发布日期:2022-08-30 23:25阅读:36来源:国知局
服务部署方法、装置、电子设备及存储介质与流程

1.本技术属于计算机技术领域,特别是涉及一种服务部署方法、装置、电子设备及存储介质。


背景技术:

2.随着网络技术的高速发展,越来越多的网络服务提供方都在向更加高效的网络服务架构转型,实现服务的快速开发和部署,而前后端分离的开发框架由于其轻量级、高效率的特点,已成为服务系统开发的主流方向。
3.而vue作为一套用于构建用户界面的渐进式开发框架被人们广泛使用,这种开发框架不仅易于上手,而且还提供各种第三方库或者项目整合的功能,非常适合于大型网络服务系统的开发。
4.但是由于vue框架下开发的服务项目都需要先进行编译,然后再在前端进行部署,而在不同部署环境下同一服务项目中的部分变量存在差异,这就需要每次适应于不同的部署环境对同一服务项目进行重复开发,大大增加了服务部署所需的成本,降低了服务部署的效率。


技术实现要素:

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.接收对于所述网络服务容器输入的容器调整信息;
43.根据所述容器调整信息对所述网络服务容器的反向代理策略进行变更。
44.可选地,所述获取模块,还被配置为:
45.接收部署端发送的服务部署数据包,其中,所述部署端与至少两个所述前端通信连接;
46.解封装所述服务部署数据包,得到服务部署文件。
47.可选地,所述部署模块,还被配置为:
48.将变更后的环境静态变量和所述服务程序代码复制到网络服务容器的静态目录中,其中,所述网络服务容器是所述前端的部署环境生成后预先构建。
49.依据本技术第三方面,提供一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现上述第一方面所述服务部署方法。
50.依据本技术第四方面,提供一种计算机非瞬态可读存储介质,所述可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的服务部署方法。
51.针对现有技术,本技术具备如下优点:
52.本技术提供的一种服务部署方法、装置、电子设备及存储介质,本方案通过在服务部署文件中设置可变更的环境静态变量,从而在服务部署时依据所需部署环境的参数对环境静态变量进行适应性调整,以使得服务程序代码可以在该部署环境下正常运行,无需针对不同前端的部署环境开发用的服务部署文件,减少了服务部署的成本,提高了服务部署文件在不同部署环境的部署效率。
53.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
54.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
55.图1是本技术实施例提供的一种服务部署方法的步骤流程图;
56.图2是本技术实施例提供的另一种服务部署方法的步骤流程图;
57.图3是本技术实施例提供的再一种服务部署方法的步骤流程图;
58.图4是本技术实施例提供的一种服务部署方法的原理示意图;
59.图5是本技术实施例提供的一种服务部署装置的结构框图;
60.图6是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
61.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本技术,并且能够将本技术的范围完整的传达给本领域的技术人员。
62.图1是本技术实施例提供一种服务部署方法的步骤流程图,应用于前端,所述方法包括:
63.步骤101,获取服务部署文件,所述服务部署文件至少包括:环境静态变量和服务程序代码。
64.在本技术实施例中,前端是指用于响应于客户端的服务请求从后端获取服务信息提供给客户端的服务器,前后端分离的服务架构可以有效减轻服务器的负载压力。服务部署文件是指在前端部署服务所需的程序文件,其中包含有描述服务前端运行逻辑的服务程序代码。环境静态变量是指服务程序代码在运行时所需的环境配置信息。需要说明的是,现有技术中该环境配置信息是在服务部署文件编译时直接写入服务程序代码中的,因此服务部署文件适应于其所包含的部署环境信息只能在对应的前端服务器上进行服务部署,无法实现对于不同前端服务器的部署环境,必须针对不同部署环境进行专门开发调整环境信息才行。而本技术实施例通过将该环境部署信息以可配置的变量形式设置在服务部署文件中,从而可以适应于不同的部署环境实现对于环境部署信息的动态调整。
65.在实际应用中,可以通过在服务部署文件的public(公共)目录下添加静态配置文件来设置用于配置可变的部署环境变量,设置该部署环境变量的静态文件在开发时无需针对不同的部署环境进行编译设置,在服务部署文件编译完成后直接拷贝到其中作为静态部署文件即可。
66.在实际应用中,本技术实施例中的前端服务器的中部署环境可以是基于vue(一种用于构建用户界面的渐进式java script架构)、node(一种基于v8引擎的java script架构)等架构构建,因此服务部署文件也可以是基于与前端服务器中的环境构建架构相同的架构开发。
67.步骤102,适应于所述前端的部署环境参数对所述环境静态变量进行变更。
68.在本技术实施例中,部署环境参数是与部署环境相关的参数信息,例如:部署环境的类型、版本、设备型号、功能接口地址等等。前端服务器通过开发该服务部署文件,然后调取本地的部署环境参数对该环境静态变量进行适应性变更。具体的,前端服务器可以预先设置有依据部署环境参数对环境静态变量进行变更的变更策略,例如:将部署环境功能接口地址添加到环境静态变量中的响应调用函数地址中,或者是适应于部署环境的内存大小对环境静态变量中的数据传输上限值进行设备等等,具体可以根据实际需求确定,此处不做限定。
69.步骤103,将变更后的环境静态变量和所述服务程序代码添加到网络服务容器。
70.在本技术实施例中,网络服务容器(web容器)是指用于容纳和运行服务程序代码的服务程序,例如java中的tomcat容器,nginx代理服务容器等等,一个前端服务器中可以设置有多个网络服务容器,从而使得同一前端服务器可以同时提供多种网络服务器。本技术中技术方案执行的场所,可以在网络服务容器,即在网络服务容器进行参数收集和部署。
71.在环境静态变量变更完成后,可以将变更后的环境静态变量和服务程序代码直接添加到网络服务容器的静态目录下,从而完成服务部署文件在前端上的设置。
72.步骤104,启动所述网络服务容器,以在所述前端的部署环境中执行所述服务程序代码。
73.在本技术实施例中,在网络服务容器添加完服务部署文件后,即可启动该网络服
务容器,从而使得网络服务容器执行服务程序代码,在服务程序代码的运行过程中,可以直接从网络服务容器的静态文件中提取变更后的环境静态变量,由于环境静态变量是可以适应于前端的部署环境参数调整,因此服务程序代码可以在前端的部署环境中正常运行,不会存在环境静态变量不兼容当前部署环境导致服务程序代码无法正常运行的情况,从而实现了服务部署文件的一次编译多次部署,无需再适应于不同前端的部署环境开发专用的服务部署文件。需要说明的是,本技术实施例采用静态变量来在服务部署文件中进行设置环境变量,而不是采用动态变量,是因为动态变量需要前端服务器和后端服务器进行交互才能获取动态变量的真实值,而在服务在前端服务部署完成前,前端服务器并不能与后端服务器进行交互,从而在部署过程中对无法获取环境变量的值,不能达到本技术实施例需要对环境变量进行在部署过程中进行适应性调整的目的。进一步的,采用从网络服务容器的静态文件中获取变更后的环境静态变量也是如此,由于网络服务容器在服务部署完成前无法与后端服务器进行交互,因此若变更后的环境静态变量是存在与动态文件中,那么在服务部署完成前,由于网络服务容器无法与后端服务器交互,因此也无法获取到变更后的环境静态变量,从而无法达到本技术实施例需要在服务部署过程中对环境变量进行适应性调整的目的。
74.本技术实施例提供的一种服务部署方法,通过在服务部署文件中设置可变更的环境静态变量,从而在服务部署时依据所需部署环境的参数对环境静态变量进行适应性调整,以使得服务程序代码可以在该部署环境下正常运行,无需针对不同前端的部署环境开发用的服务部署文件,减少了服务部署的成本,提高了服务部署文件在不同部署环境的部署效率。
75.图2是本技术实施例提供的另一种服务部署方法的步骤流程图,应用于前端,所述方法包括:
76.步骤201,接收部署端发送的服务部署数据包,其中,所述部署端与至少两个所述前端通信连接。
77.在本技术实施例中,部署端是用于分发服务部署数据包的服务器,开发人员可以在该部署端上开发和构建服务部署数据包,也可以在服务部署数据包构建完成后,在该部署端上进行发布。每次需要进行服务部署时,可以通过部署端向所需进行服务部署的多个前端发送服务部署数据包,从而实现了服务部署数据包的大规模部署。
78.步骤202,解封装所述服务部署数据包,得到服务部署文件,所述服务部署文件至少包括:环境静态变量和服务程序代码。
79.在本技术实施例中,通过对服务部署文件封装成服务部署数据包,可以有效减少服务部署时所需的数据传输量,从而可以减少部署端在进行大规模服务部署时的数据传输压力。
80.可选地,所述部署环境参数至少包括:所述前端的网络地址和域名,所述环境静态变量至少包括:服务访问标识。
81.步骤203,根据所述网络地址和域名生成所述前端的访问标识。
82.在本技术实施例中,访问标识是用于指示客户端在需要服务信息时向前端发送服务请求的标识信息,例如url(uniform resource locator,统一资源定位系统)等具有标识功能的信息。对于网页服务,客户端在获取网页数据时通常是将网页服务的网络地址和域
名生成的网页地址,也就是本技术实施例中的访问标识,从而使得客户端可以对网页地址中的域名进行解析来获取网络地址,以向前端发送携带有访问标识的服务请求。
83.步骤204,将所述服务访问标识变更为所述前端的访问标识。
84.在本技术实施例中,服务访问标识是用于指示提供服务信息的前端服务器,可以理解该服务访问标识需要指示前端服务器,但是由于本技术实施例中的环境静态变量并不是针对某一前端服务器单独开发,因此环境静态变量中服务访问标识是localhost等服务访问标识的初始值,服务访问标识的初始值并不指示前端服务器,需要适应于服务所需部署的前端服务器的访问标识进行变更后才能正常使用。环境静态变量中可以设置有用于设置变更的服务访问标识,从而依据所需部署的前端的访问标识进行适应性变更,以使得网络服务容器在接收到服务请求时向客户端提供服务信息。
85.本技术实施例通过依据前端的网络地址和域名对环境静态变量进行变更,使得服务部署文件可以在不同网络地址和域名的前端中进行正常部署,减少了服务部署的成本,提高了服务部署的效率。
86.步骤205,将变更后的环境静态变量和所述服务程序代码复制到网络服务容器的静态目录中,其中,所述网络服务容器是所述前端的部署环境生成后预先构建。
87.在本技术实施例中,网络服务容器是前端在构建部署环境时,依据部署环境的容器构建逻辑预先生成,具体方式可以参照相关现有技术,此处不再赘述。本技术实施例通过将变更后的环境静态变量和服务程序代码直接拷贝到网络服务容器的静态目录中来实现服务部署,无需前端重新构建网络服务容器,提高了服务部署的效率。
88.步骤206,启动所述网络服务容器,以在所述前端的部署环境中执行所述服务程序代码。
89.该步骤可参照步骤104的详细描述,此处不再赘述。
90.步骤207,在接收到客户端根据所述服务访问标识发送的服务请求时,通过所述网络服务容器执行所述服务程序代码,获取服务信息。
91.步骤208,向所述客户端发送所述服务信息。
92.在本技术实施例中,前端服务器接收客户端发送的携带有服务访问标识的服务请求,网络服务容器依据该服务访问标识认领该服务请求,并开始执行服务程序代码来获取服务信息,该服务信息可以网络服务容器生成的,也可以是网络服务容器从前端服务器中提取或者从其他服务器中获取的,只要可以获取服务信息即可,具体可以根据实际需求设置,此处不做限定。
93.可选地,所述步骤206可以包括:通过所述网络服务容器执行所述服务程序代码,以使得所述网络服务容器从后端接口地址获取服务信息,所述后端接口地址是基于所述网络服务容器的反向代理策略或所述环境静态变量中得到。
94.在本技术实施例中,反向代理策略是指网络服务容器从本地以外的服务器获取服务信息的策略,例如对于客户端1发送的服务请求从后端服务器1获取服务信息,对于客户端2发送的服务请求从后端服务器2获取服务信息;还可以是与反向代理过程中的数据传输策略,例如网络服务容器在向后端服务器发送服务信息获取请求时的超时重发、回包确认等传输配置,具体的反向代理策略可以根据实际需求设置,此处不做限定。网络服务容器每次接受到服务请求后均可依据该反向代理策略来确定后端接口地址,还可以通过从环境静
态变量来提取后端接口地址,这就使得开发人员可以通过配置网络服务容器的反向代理策略或者是配置环境静态变量来对后端接口地址进行进行调整,从而可以灵活地对于服务信息的获取设备进行设置,提高了服务信息获取的灵活性。
95.可选地,参照图3,在所述步骤205之前,所述方法还包括:
96.步骤209,接收对于所述网络服务容器输入的容器调整信息。
97.步骤210,根据所述容器调整信息对所述网络服务容器的反向代理策略进行变更。
98.在本技术实施例中,容器调整信息是用于对网络服务容器进行参数配置的信息,可以是用户输入的,也可以是系统自动生成的,具体可以根据实际需求设置,此处不做限定。
99.具体的,参照图4示出本技术实施例提供的一种服务部署方法的原理示意图。
100.其中,构建服务器可以是本技术实施例中的部署端,环境1至环境n可以是本技术实施例中的前端的不同部署环境。
101.步骤s1,构建服务器首先可通过git工具获取基于vue、html、css、js等开发框架开发的应用服务程序的源代码,以及在构建服务器上使用gitpull命令获取最新代码;
102.步骤s2,构建服务器通过npm构建命令构建应用的服务程序代码;
103.步骤s3,构建服务器对所编译的服务程序代码和包含有环境静态变量的文件进行代码混淆后进行编译生成服务部署文件;
104.步骤s4,构建服务器将所生成的服务部署文件进行分包,得到服务部署数据包;
105.步骤s5,构建服务器将服务部署数据包分到前端的不同部署环境;
106.步骤s6,不同部署环境1~n中的前端通过解压服务部署数据得到服务部署文件;
107.步骤s7,前端将根据自身部署环境的参数对服务部署文件中的环境静态变量进行配置,以适应于部署环境进行个性化配置;
108.步骤s8,将配置后的服务部署文件添加到网络服务(web)容器;
109.步骤s9,启动容器,以完成服务部署。
110.在网络服务容器启动以前,可以通过容器调整信息对网络服务容器中的反向代理策略进行变更,从而使得网络服务容器适应于不同的网络服务调整反向代理策略,例如对于同一网络服务,暂时仅开发部分网络服务容器,即可通过对该反向代理策略设置为禁用来显示部分网络服务容器暂停提供服务,或者是对于同一网络服务,可以为不同的网络服务容器分配不同的后端服务器来提供数据支持等等,具体可以根据实际需求设置,此处不做限定。
111.本技术实施例通过在网络服务容器启动前对于反向代理策略进行配置,可以便捷地对于服务部署进行管理。
112.本技术实施例提供的另一种服务部署方法,通过在服务部署文件中设置可变更的环境静态变量,从而在服务部署时依据所需部署环境的参数对环境静态变量进行适应性调整,以使得服务程序代码可以在该部署环境下正常运行,无需针对不同前端的部署环境开发用的服务部署文件,减少了服务部署的成本,提高了服务部署文件在不同部署环境的部署效率。
113.图5是本技术实施例提供了一种服务部署装置30的结构框图,应用于前端,所述装置包括:
114.获取模块301,被配置为获取服务部署文件,所述服务部署文件至少包括:环境静态变量和服务程序代码;
115.更新模块302,被配置为适应于所述前端的部署环境参数对所述环境静态变量进行变更;
116.部署模块303,被配置为将变更后的环境静态变量和所述服务程序代码添加到网络服务容器;
117.启动模块304,被配置为启动所述网络服务容器,以在所述前端的部署环境中执行所述服务程序代码。
118.可选地,所述部署环境参数至少包括:所述前端的网络地址和域名,所述环境静态变量至少包括:服务访问标识;所述更新模块303,还被配置为:
119.根据所述网络地址和域名生成所述前端的访问标识;
120.将所述服务访问标识变更为所述前端的访问标识。
121.可选地,所述装置还包括:
122.服务提供模块,被配置为:
123.在接收到客户端根据所述服务访问标识发送的服务请求时,通过所述网络服务容器执行所述服务程序代码,获取服务信息;
124.向所述客户端发送所述服务信息。
125.可选地,所述服务提供模块,还被配置为:
126.通过所述网络服务容器执行所述服务程序代码,以使得所述网络服务容器从后端接口地址获取服务信息,所述后端接口地址是基于所述网络服务容器的反向代理策略或所述环境静态变量中得到。
127.可选地,所述部署模块303,还被配置为:
128.接收对于所述网络服务容器输入的容器调整信息;
129.根据所述容器调整信息对所述网络服务容器的反向代理策略进行变更。
130.可选地,所述获取模块301,还被配置为:
131.接收部署端发送的服务部署数据包,其中,所述部署端与至少两个所述前端通信连接;
132.解封装所述服务部署数据包,得到服务部署文件。
133.可选地,所述部署模块303,还被配置为:
134.将变更后的环境静态变量和所述服务程序代码复制到网络服务容器的静态目录中,其中,所述网络服务容器是所述前端的部署环境生成后预先构建。
135.本技术实施例提供的服务部署装置具备执行服务部署方法相应的功能模块,可执行本技术实施例图1至图4所提供的服务部署方法,且能达到相同的有益效果。
136.在本技术提供的又一实施例中,还提供了一种电子设备,电子设备可以包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述服务部署方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。示例的,如图6所示,该电子设备具体可以包括:处理器401、存储装置402、具有触摸功能的显示屏403、输入装置404、输出装置405以及通信装置406。该电子设备中处理器401的数量可以是一个或者多个,图6中以一个处理器401为例。该电子设备的
处理器401、存储装置402、显示屏403、输入装置404、输出装置405以及通信装置406可以通过总线或者其他方式连接。
137.在本技术提供的又一实施例中,还提供了一种计算机非瞬态可读存储介质,该可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的服务部署方法。
138.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的服务部署方法。
139.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
140.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
141.以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1