CN113434151A - 一种服务部署方法、服务器和系统 - Google Patents
一种服务部署方法、服务器和系统 Download PDFInfo
- Publication number
- CN113434151A CN113434151A CN202110646122.8A CN202110646122A CN113434151A CN 113434151 A CN113434151 A CN 113434151A CN 202110646122 A CN202110646122 A CN 202110646122A CN 113434151 A CN113434151 A CN 113434151A
- Authority
- CN
- China
- Prior art keywords
- service
- server
- executable file
- deployment
- target server
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本申请提出了一种服务部署方法、服务器和系统,涉及微服务技术领域。其中,上述服务部署方法包括:首先,由服务部署服务器获取待部署的第一服务的部署参数,部署参数包括:第一服务的代码地址和目标服务器地址。然后,服务部署服务器根据代码地址,从版本控制服务器获取第一服务的代码。服务部署服务器对第一服务的代码进行编译,得到第一服务的可执行文件。最后,服务部署服务器根据目标服务器地址,将第一服务的可执行文件传输至对应的目标服务器。从而可以提高服务部署的效率,实现铁路微服务系统架构的快速更新。
Description
【技术领域】
本申请涉及微服务技术领域,尤其涉及一种服务部署方法、服务器和系统。
【背景技术】
随着微服务发展越来越迅速,铁路互联网售票系统的各项服务逐步运用微服务系统架构部署。然而,在铁路微服务模块越来越多的情况下,多服务部署开发更需要规范化。高效地进行服务开发和部署是实现铁路微服务系统架构快速更新的关键。
目前,铁路微服务的部署方案主要是通过开发人员提交代码,部署人员拉取代码进行编译,上传至相应的服务器进行启动。然而,目前的技术方案存在以下局限性:首先,整个部署方案需要大量人员参与,耗时耗力;其次,当代码出现异常或需要更新时,需要重复执行人工拉取代码、编译、上传、启动等操作,过程繁琐。
【发明内容】
本申请实施例提供了一种服务部署方法、服务器和系统,用以提高服务部署的效率,实现铁路微服务系统架构的快速更新。
第一方面,本申请实施例提供一种服务部署方法,包括:服务部署服务器获取待部署的第一服务的部署参数;所述部署参数包括:所述第一服务的代码地址和目标服务器地址;所述服务部署服务器根据所述代码地址,从版本控制服务器获取所述第一服务的代码;所述服务部署服务器对所述第一服务的代码进行编译,得到所述第一服务的可执行文件;所述服务部署服务器根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器。
其中一种可能的实现方式中,将所述第一服务的可执行文件传输至对应的目标服务器,包括:对所述第一服务的可执行文件进行哈希计算,得到所述可执行文件对应的哈希值;将所述第一服务的可执行文件和对应的哈希值传输至对应的目标服务器。
其中一种可能的实现方式中,所述服务部署服务器根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器,包括:所述服务部署服务器将所述第一服务的可执行文件分为多个子文件;所述多个子文件具有连续编号;所述服务部署服务器根据所述目标服务器地址,将所述子文件传输至对应的目标服务器;如果在第M个所述子文件处出现传输中断,则在恢复传输时,从第M个所述子文件开始,重新将未传输的所述子文件传输至对应的目标服务器。
其中一种可能的实现方式中,将所述第一服务的可执行文件传输至对应的目标服务器之后,所述方法还包括:目标服务器根据所述多个子文件的编号,将所述多个子文件拼合为所述第一服务的可执行文件;目标服务器执行所述第一服务的可执行文件,启动服务。
其中一种可能的实现方式中,所述服务部署服务器根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器,包括:所述服务部署服务器将所述目标服务器地址和所述第一服务的可执行文件传输至前置服务器;所述前置服务器根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器。
其中一种可能的实现方式中,将所述第一服务的可执行文件传输至对应的目标服务器之后,所述方法还包括:目标服务器执行所述第一服务的可执行文件;所述目标服务器根据预设的时间间隔,将所述第一服务的当前代码版本信息发送至所述前置服务器;所述前置服务器将接收到的所述当前代码版本信息发送至所述服务部署服务器;所述服务部署服务器根据所述当前代码版本信息,将所述第一服务的最新代码版本的可执行文件通过前置服务器发送至目标服务器。
其中一种可能的实现方式中,所述服务部署服务器根据所述当前代码版本信息,将所述第一服务的最新代码版本的可执行文件通过前置服务器发送至目标服务器,包括:如果所述当前代码版本信息与所述最新代码版本信息不一致,所述服务部署服务器将所述第一服务的最新代码版本的可执行文件发送至前置服务器;所述前置服务器将所述第一服务的最新代码版本的可执行文件发送至目标服务器。
其中一种可能的实现方式中,所述服务部署服务器根据所述当前代码版本信息,将所述第一服务的最新代码版本的可执行文件通过前置服务器发送至目标服务器,包括:所述服务部署服务器将所述第一服务的最新代码版本信息和最新代码版本的可执行文件发送至前置服务器;所述前置服务器将所述第一服务的最新代码版本信息发送至目标服务器;如果所述第一服务的最新代码版本信息与当前代码版本信息不一致,所述目标服务器从所述前置服务器中获取所述第一服务的最新代码版本的可执行文件。
第二方面,本申请实施例提供一种服务部署服务器,包括:获取模块,用于获取待部署的第一服务的部署参数;所述部署参数包括:所述第一服务的代码地址和目标服务器地址;编译模块,用于根据所述代码地址,从版本控制服务器获取所述第一服务的代码;对所述第一服务的代码进行编译,得到所述第一服务的可执行文件;传输模块,用于根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器。
第三方面,本申请实施例提供一种服务部署系统,包括:版本控制服务器、服务部署服务器和目标服务器;其中,所述版本控制服务器,用于存储待部署的第一服务的代码;所述服务部署服务器,用于获取所述第一服务的部署参数;所述部署参数包括:所述第一服务的代码地址和目标服务器地址;根据所述代码地址,从所述版本控制服务器获取所述第一服务的代码;对所述第一服务的代码进行编译,得到所述第一服务的可执行文件;根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器。
其中一种可能的实现方式中,所述系统还包括:前置服务器;所述服务部署服务器还用于,将所述目标服务器地址和所述第一服务的可执行文件传输至前置服务器;前置服务器,用于接收所述服务部署服务器传输的所述目标服务器地址和所述第一服务的可执行文件;根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器;目标服务器,用于接收所述服务部署服务器传输的所述第一服务的可执行文件;执行所述第一服务的可执行文件;所述目标服务器还用于,接收所述前置服务器传输的所述第一服务的可执行文件;执行所述第一服务的可执行文件。
第四方面,本申请实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上所述的方法。
以上技术方案中,首先,由服务部署服务器获取待部署的第一服务的部署参数,部署参数包括:第一服务的代码地址和目标服务器地址。然后,服务部署服务器根据代码地址,从版本控制服务器获取第一服务的代码。服务部署服务器对第一服务的代码进行编译,得到第一服务的可执行文件。最后,服务部署服务器根据目标服务器地址,将第一服务的可执行文件传输至对应的目标服务器。从而可以提高服务部署的效率,实现铁路微服务系统架构的快速更新。
【附图说明】
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种服务部署系统的示意图;
图2为本申请实施例提供的一种服务部署方法的流程图;
图3为本申请实施例提供的另一种服务部署系统的示意图;
图4为本申请实施例提供的另一种服务部署方法的流程图;
图5为本申请实施例提供的另一种服务部署方法的流程图;
图6为本申请实施例提供的一种服务部署服务器的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
【具体实施方式】
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1为本申请实施例提供的一种服务部署系统的示意图。如图1所示,本申请实施例的服务部署系统包括版本控制服务器、服务部署服务器和目标服务器。本申请实施例的服务部署方法可基于上述服务部署系统实现。
图2为本申请实施例提供的一种服务部署方法的流程图。如图2所示,上述服务部署方法可以包括:
步骤101,服务部署服务器获取待部署的第一服务的部署参数。
需要说明的是,在代码开发过程中,开发人员需要将开发完成的代码上传至版本控制服务器进行存储。例如subversion版本控制服务器(简称svn版本控制服务器)、git版本控制服务器。需要进行服务部署时,可到上述版本控制服务器中获取需要的代码。
本申请实施例中,可由管理人员根据实际情况的需要,在服务部署服务器中输入待部署的第一服务的部署参数。可选的,部署参数可以包括:第一服务的代码地址和目标服务器地址。其中,第一服务的代码地址指的是,第一服务的代码在上述版本控制服务器中的存储位置。可以是在svn版本控制服务器中的存储位置。还可以是在git版本控制服务器中的存储位置。目标服务器地址指的是,待部署服务的服务器地址。
步骤102,服务部署服务器根据代码地址,从版本控制服务器获取第一服务的代码。
如图1所示,服务部署服务器与版本控制服务器相连。服务部署服务器可到版本控制服务器中获取第一服务的代码。
一些实施例中,服务部署服务器按照预设的时间间隔,根据代码地址,从版本控制服务器获取第一服务的代码。一方面可以实现对代码的自动获取,另一方面可以保证服务部署服务器及时获取到最新版本的代码。
另一些实施例中,由管理人员根据实际情况的需要,对服务部署服务器进行启动操作。服务部署服务器接收启动操作触发的启动信号,根据代码地址,从版本控制服务器获取第一服务的代码。减少了系统开销。
步骤103,服务部署服务器对第一服务的代码进行编译,得到第一服务的可执行文件。
需要说明的是,部署参数中还可以包括服务名称。即待部署的服务的名称。
基于此,本申请实施例中的服务部署服务器编译得到第一服务的可执行文件之后,可以根据服务名称,对该可执行文件进行命名。
步骤104,服务部署服务器根据目标服务器地址,将第一服务的可执行文件传输至对应的目标服务器。
如图1所示,服务部署服务器与目标服务器相连。服务部署服务器在生成可执行文件之后,可将第一服务的可执行文件传输至对应的目标服务器。
本申请实施例中,可由服务部署服务器对第一服务的可执行文件进行哈希计算。得到可执行文件对应的哈希值。根据目标服务器地址,将第一服务的可执行文件,以及可执行文件对应的哈希值传输至对应的目标服务器。其中,对第一服务的可执行文件进行哈希计算,例如可以是,对可执行文件中的指定字段进行哈希计算。
需要说明的是,部署参数中还可以包括目标服务器路径。即第一服务的可执行文件在目标服务器中的存储位置。基于此,在确定可执行文件在目标服务器中的存储位置时,服务部署服务器可以根据目标服务器路径,将第一服务的可执行文件,以及可执行文件对应的哈希值存储至目标服务器路径对应的存储位置上。
基于上述说明,目标服务器在接收到第一服务的可执行文件,及可执行文件对应的哈希值之后,可对可执行文件的安全性进行验证。验证方法例如可以是,再次对可执行文件中的相同字段进行哈希计算,得到验证哈希值。如果验证哈希值与接收到的可执行文件的哈希值相等,说明可执行文件未被篡改。以此保证可执行文件的安全性。
本申请实施例中,首先,由服务部署服务器获取待部署的第一服务的部署参数,部署参数包括:第一服务的代码地址和目标服务器地址。然后,服务部署服务器根据代码地址,从版本控制服务器获取第一服务的代码。服务部署服务器对第一服务的代码进行编译,得到第一服务的可执行文件。最后,服务部署服务器根据目标服务器地址,将第一服务的可执行文件传输至对应的目标服务器。从而可以提高服务部署的效率,实现铁路微服务系统架构的快速更新。
本申请另一实施例中,对上述步骤104的另一实现方式进行说明。
首先,服务部署服务器将第一服务的可执行文件分为多个子文件。
一些实施例中,如果第一服务的可执行文件的大小超过了第一阈值,可将可执行文件分为多个子文件。其中,各个子文件的大小均小于第二阈值。多个子文件具有连续编号。第一阈值和第二阈值的大小可根据实际情况的需要进行设置。第二阈值不大于第一阈值。例如第一阈值可以设置为20MB。第二阈值可以设置为5MB。
另一些实施例中,如果当前网络质量低于第三阈值,可将第一服务的可执行文件分为多个子文件。其中,各个子文件的大小均小于第四阈值。多个子文件具有连续编号。第三阈值和第四阈值的大小可根据实际情况的需要进行设置。例如第三阈值可以设置为300KB/s。第四阈值可以设置为5MB。
然后,服务部署服务器根据目标服务器地址,将子文件传输至对应的目标服务器。
服务部署服务器将子文件传输至对应的目标服务器,可以是按照子文件的编号,依次将各个子文件传输至目标服务器。还可以是按照任意顺序,逐个将各子文件传输至目标服务器。
子文件传输过程中,如果在第M个子文件处出现传输中断,则在恢复传输时,从第M个子文件开始,重新将未传输的子文件传输至对应的目标服务器。
基于上述说明,目标服务器在接收到全部子文件之后,可以读取各个子文件对应的编号。根据子文件的编号,将多个子文件重新拼合为第一服务的可执行文件。目标服务器执行拼合好的可执行文件,启动服务。
本申请实施例中,可以在可执行文件过大、或者网络质量较差的情况下,将可执行文件分为多个子文件进行传输。如果出现传输中断,可以在恢复传输时,实现断点续传,提高了可执行文件的传输效率。
本申请另一实施例中,对本申请服务部署方法上述步骤104的具体实现方式作进一步说明。
本申请实施例中,目标服务器的类型各异。对于指定类型的目标服务器,服务部署服务器无法直接与该类型的目标服务器进行通信。举例来说,当目标服务器为车站服务器时,服务部署服务器将无法直接将第一服务的可执行文件传输至车站服务器。因此,如图3所示,本申请实施例的服务部署系统还可以包括前置服务器。前置服务器可以作为服务部署服务器和目标服务器之间的中转服务器。可以通过前置服务器,实现服务部署服务器和目标服务器之间的通信。
图4为本申请实施例提供的另一种服务部署方法的流程图。如图4所示,上述步骤104可通过下述方法实现。
步骤1041,服务部署服务器将目标服务器地址和第一服务的可执行文件传输至前置服务器。
本申请实施例中,前置服务器可以有多个。服务部署服务器将目标服务器地址和第一服务的可执行文件传输至前置服务器,可以是从多个前置服务器中随机选取一个前置服务器。
步骤1042,前置服务器根据目标服务器地址,将第一服务的可执行文件传输至对应的目标服务器。
前置服务器将第一服务的可执行文件传输至对应的目标服务器的具体步骤,可参考前述实施例中,将可执行文件分为多个子文件进行传输的方法执行。此处不再赘述。
本申请实施例中,服务部署服务器可通过前置服务器,将可执行文件传输至目标服务器。从而实现了服务部署服务器对各类型的目标服务器的高效部署。
图5为本申请实施例提供的另一种服务部署方法的流程图。如图5所示,上述服务部署方法在步骤1042之后,还可以包括:
步骤105,目标服务器执行第一服务的可执行文件。
目标服务器通过执行第一服务的可执行文件,启动服务,从而完成服务部署过程。
需要说明的是,如果是第一次部署,需要在执行第一服务的可执行文件之前,由管理人员在目标服务器中编写命令解释器shell脚本。从而可使目标服务器通过shell脚本,执行第一服务的可执行文件。
步骤106,目标服务器根据预设的时间间隔,将第一服务的当前代码版本信息发送至前置服务器。
如图3所示,本申请实施例中,服务成功启动之后,目标服务器根据预设的时间间隔,向前置服务器发送心跳信号。前置服务器接收到心跳信号,可以判断服务启动成功。如果前置服务器在预设的时间间隔内未收到心跳信号,则判断服务启动失败。此时,前置服务器可将服务启动失败信号发送至服务部署服务器。服务部署服务器可重新执行本申请的服务部署方法。或者,服务部署服务器可通过界面提示、声音提示等提示方式,向管理人员发出服务启动失败的提示信息。其中,预设的时间间隔可根据实际情况的需要进行设置。本申请实施例中,例如可以设置为5min。
心跳信号中可以包含第一服务的当前代码版本信息。目标服务器将心跳信号发送至前置服务器时,当前代码版本信息可一同被发送至前置服务器。
步骤107,前置服务器将接收到的当前代码版本信息发送至服务部署服务器。
如图3所示,前置服务器接收到心跳信号之后,将心跳信号,以及心跳信号中包含的第一服务的当前代码版本信息发送至服务部署服务器。
步骤108,服务部署服务器根据当前代码版本信息,将第一服务的最新代码版本的可执行文件通过前置服务器发送至目标服务器。
本申请实施例中,如图3所示,部署服务器在接收到心跳信号之后,可根据心跳信号中的当前代码版本信息,将心跳信号回传至目标服务器。回传的心跳信号中可以包含最新的代码版本,以及最新代码版本的可执行文件。从而可以及时对目标服务器中的服务进行更新。
一些实施例中,在接收到心跳信号之后,如果服务部署服务器判断其中包含的当前代码版本信息与最新代码版本信息不一致,则将心跳信号回传至前置服务器。并将第一服务的最新代码版本的可执行文件发送至前置服务器。前置服务器将接收到的心跳信号回传至目标服务器。并将第一服务的最新代码版本的可执行文件发送至目标服务器。如果服务部署服务器判断当前代码版本信息与最新代码版本信息一致,则将心跳信号回传至前置服务器。前置服务器将接收到的心跳信号回传至目标服务器。
另一些实施例中,在接收到心跳信号之后,服务部署服务器将第一服务的最新代码版本信息和最新代码版本的可执行文件发送至前置服务器。前置服务器将第一服务的最新代码版本信息发送至目标服务器。目标服务器在接收到第一服务的最新代码版本信息之后,如果判断最新代码版本信息与当前代码版本信息不一致,则从前置服务器中获取第一服务的最新代码版本的可执行文件。
特别的,本申请实施例还可以对指定目标服务器中的代码版本进行固定。即不对指定目标服务器中的服务进行更新。可在服务部署服务器的部署参数中添加固定目标服务器地址和固定版本信息。服务部署服务器根据固定目标服务器地址和固定版本信息,对指定目标服务器的指定版本进行固定。当有最新代码版本时,服务部署服务器也不再对上述指定目标服务器进行重新部署。
本申请实施例中,服务启动之后,目标服务器会按照预设的时间间隔将心跳信号发送至前置服务器,并由前置服务器发送至服务部署服务器。其中,心跳信号中包含第一服务的当前代码版本信息。服务部署服务器可对当前代码版本信息进行判断,判断当前代码版本信息与最新代码版本信息不一致时,将最新代码版本的可执行文件发送通过前置服务器,发送至目标服务器。从而可以保证对第一服务进行及时更新。同时还可以通过设置部署参数,实现对指定目标服务器的指定代码版本的固定。
图6为本申请实施例提供的一种服务部署服务器的结构示意图。本实施例中的服务部署服务器可以作为服务部署设备实现本申请实施例提供的服务部署方法。如图6所示,上述服务部署服务器可以包括:获取模块61、编译模块62和传输模块63。
获取模块61,用于获取待部署的第一服务的部署参数。部署参数包括:第一服务的代码地址和目标服务器地址。
编译模块62,用于根据代码地址,从版本控制服务器获取第一服务的代码。对第一服务的代码进行编译,得到第一服务的可执行文件。
传输模块63,用于根据目标服务器地址,将第一服务的可执行文件传输至对应的目标服务器。
本申请实施例中,首先,由获取模块61获取待部署的第一服务的部署参数,部署参数包括:第一服务的代码地址和目标服务器地址。然后,编译模块62根据代码地址,从版本控制服务器获取第一服务的代码,对第一服务的代码进行编译,得到第一服务的可执行文件。最后,传输模块63根据目标服务器地址,将第一服务的可执行文件传输至对应的目标服务器。从而可以提高服务部署的效率,实现铁路微服务系统架构的快速更新。
图7为本申请实施例提供的一种电子设备的结构示意图。如图7所示,上述电子设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本申请实施例提供的服务部署方法。
其中,上述电子设备可以为服务部署设备,本实施例对上述电子设备的具体形态不作限定。
图7示出了适于用来实现本申请实施方式的示例性电子设备的框图。图7显示的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器410,存储器430,连接不同系统组件(包括存储器430和处理单元410)的通信总线440。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read Only Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read Only Memory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与通信总线440相连。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本申请所描述的实施例中的功能和/或方法。
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过通信接口420进行。并且,电子设备还可以通过网络适配器(图7中未示出)与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide AreaNetwork;以下简称:WAN)和/或公共网络,例如因特网)通信,上述网络适配器可以通过通信总线440与电子设备的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Drives;以下简称:RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的服务部署方法。
本申请实施例还提供一种非临时性计算机可读存储介质,上述非暂态计算机可读存储介质存储计算机指令,上述计算机指令使上述计算机执行本申请实施例提供的服务部署方法。
上述非临时性计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
需要说明的是,本申请实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种服务部署方法,其特征在于,包括:
服务部署服务器获取待部署的第一服务的部署参数;所述部署参数包括:所述第一服务的代码地址和目标服务器地址;
所述服务部署服务器根据所述代码地址,从版本控制服务器获取所述第一服务的代码;
所述服务部署服务器对所述第一服务的代码进行编译,得到所述第一服务的可执行文件;
所述服务部署服务器根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器。
2.根据权利要求1所述的方法,其特征在于,将所述第一服务的可执行文件传输至对应的目标服务器,包括:
对所述第一服务的可执行文件进行哈希计算,得到所述可执行文件对应的哈希值;
将所述第一服务的可执行文件和对应的哈希值传输至对应的目标服务器。
3.根据权利要求1所述的方法,其特征在于,所述服务部署服务器根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器,包括:
所述服务部署服务器将所述第一服务的可执行文件分为多个子文件;所述多个子文件具有连续编号;
所述服务部署服务器根据所述目标服务器地址,将所述子文件传输至对应的目标服务器;
如果在第M个所述子文件处出现传输中断,则在恢复传输时,从第M个所述子文件开始,重新将未传输的所述子文件传输至对应的目标服务器。
4.根据权利要求3所述的方法,其特征在于,将所述第一服务的可执行文件传输至对应的目标服务器之后,所述方法还包括:
目标服务器根据所述多个子文件的编号,将所述多个子文件拼合为所述第一服务的可执行文件;
目标服务器执行所述第一服务的可执行文件,启动服务。
5.根据权利要求1所述的方法,其特征在于,所述服务部署服务器根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器,包括:
所述服务部署服务器将所述目标服务器地址和所述第一服务的可执行文件传输至前置服务器;
所述前置服务器根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器。
6.根据权利要求5所述的方法,其特征在于,将所述第一服务的可执行文件传输至对应的目标服务器之后,所述方法还包括:
目标服务器执行所述第一服务的可执行文件;
所述目标服务器根据预设的时间间隔,将所述第一服务的当前代码版本信息发送至所述前置服务器;
所述前置服务器将接收到的所述当前代码版本信息发送至所述服务部署服务器;
所述服务部署服务器根据所述当前代码版本信息,将所述第一服务的最新代码版本的可执行文件通过前置服务器发送至目标服务器。
7.根据权利要求6所述的方法,其特征在于,所述服务部署服务器根据所述当前代码版本信息,将所述第一服务的最新代码版本的可执行文件通过前置服务器发送至目标服务器,包括:
所述服务部署服务器将所述第一服务的最新代码版本信息和最新代码版本的可执行文件发送至前置服务器;
所述前置服务器将所述第一服务的最新代码版本信息发送至目标服务器;
如果所述第一服务的最新代码版本信息与当前代码版本信息不一致,所述目标服务器从所述前置服务器中获取所述第一服务的最新代码版本的可执行文件。
8.一种服务部署服务器,其特征在于,包括:
获取模块,用于获取待部署的第一服务的部署参数;所述部署参数包括:所述第一服务的代码地址和目标服务器地址;
编译模块,用于根据所述代码地址,从版本控制服务器获取所述第一服务的代码;对所述第一服务的代码进行编译,得到所述第一服务的可执行文件;
传输模块,用于根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器。
9.一种服务部署系统,其特征在于,包括:版本控制服务器、服务部署服务器和目标服务器;其中,
所述版本控制服务器,用于存储待部署的第一服务的代码;
所述服务部署服务器,用于获取所述第一服务的部署参数;所述部署参数包括:所述第一服务的代码地址和目标服务器地址;根据所述代码地址,从所述版本控制服务器获取所述第一服务的代码;对所述第一服务的代码进行编译,得到所述第一服务的可执行文件;根据所述目标服务器地址,将所述第一服务的可执行文件传输至对应的目标服务器。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110646122.8A CN113434151A (zh) | 2021-06-10 | 2021-06-10 | 一种服务部署方法、服务器和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110646122.8A CN113434151A (zh) | 2021-06-10 | 2021-06-10 | 一种服务部署方法、服务器和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113434151A true CN113434151A (zh) | 2021-09-24 |
Family
ID=77755540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110646122.8A Pending CN113434151A (zh) | 2021-06-10 | 2021-06-10 | 一种服务部署方法、服务器和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434151A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114268624A (zh) * | 2022-03-02 | 2022-04-01 | 上海豪承信息技术有限公司 | 版本文件传输方法、装置及服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532189A (zh) * | 2019-07-18 | 2019-12-03 | 中国人民财产保险股份有限公司 | 一种持续集成系统、方法及装置 |
CN110795105A (zh) * | 2019-10-29 | 2020-02-14 | 许昌许继软件技术有限公司 | 一种配电自动化主站系统自动编译部署方法与系统 |
CN112181439A (zh) * | 2020-09-24 | 2021-01-05 | 中国建设银行股份有限公司 | 一种微服务部署方法、装置、电子设备及可读存储介质 |
CN112799681A (zh) * | 2021-02-02 | 2021-05-14 | 无锡车联天下信息技术有限公司 | 一种任务部署方法、系统、电子设备及存储介质 |
-
2021
- 2021-06-10 CN CN202110646122.8A patent/CN113434151A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532189A (zh) * | 2019-07-18 | 2019-12-03 | 中国人民财产保险股份有限公司 | 一种持续集成系统、方法及装置 |
CN110795105A (zh) * | 2019-10-29 | 2020-02-14 | 许昌许继软件技术有限公司 | 一种配电自动化主站系统自动编译部署方法与系统 |
CN112181439A (zh) * | 2020-09-24 | 2021-01-05 | 中国建设银行股份有限公司 | 一种微服务部署方法、装置、电子设备及可读存储介质 |
CN112799681A (zh) * | 2021-02-02 | 2021-05-14 | 无锡车联天下信息技术有限公司 | 一种任务部署方法、系统、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114268624A (zh) * | 2022-03-02 | 2022-04-01 | 上海豪承信息技术有限公司 | 版本文件传输方法、装置及服务器 |
CN114268624B (zh) * | 2022-03-02 | 2022-06-03 | 上海豪承信息技术有限公司 | 版本文件传输方法、装置及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613788B2 (en) | Data migration between cloud storage systems | |
CN110825411B (zh) | Tws耳机系统的升级方法、设备及计算机可读存储介质 | |
CN110647332A (zh) | 基于容器云的软件部署方法和装置 | |
CN108135026B (zh) | Wi-Fi连接方法、计算机设备及存储介质 | |
CN107404418B (zh) | 互联网产品测试方法、装置、设备及存储介质 | |
CN111880826A (zh) | 云业务应用升级方法、装置、电子设备和存储介质 | |
CN111290797A (zh) | 页面切换方法、客户端、服务器、电子设备和系统 | |
CN112015654A (zh) | 用于测试的方法和装置 | |
CN113972990B (zh) | 数据校验方法、装置、存储介质及电子设备 | |
CN111740948A (zh) | 数据包发布方法、动态更新方法、装置、设备及介质 | |
CN113434151A (zh) | 一种服务部署方法、服务器和系统 | |
CN112217880A (zh) | 应用程序激活的归因方法、装置、介质和电子设备 | |
CN114610446B (zh) | 一种自动注入探针的方法、装置及系统 | |
CN112181930B (zh) | 虚拟交换矩阵的文件管理方法及装置 | |
CN110727945B (zh) | 病毒扫描方法、设备以及计算机可读介质 | |
CN113656301A (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN113778527A (zh) | 用于控制流水线任务的状态的方法和装置 | |
CN112615916A (zh) | 文件部署方法、装置、电子设备以及存储介质 | |
CN112084114A (zh) | 用于测试接口的方法和装置 | |
CN112395194A (zh) | 一种接入测试平台的方法和装置 | |
CN112596824A (zh) | 信息交互方法、装置、电子设备以及存储介质 | |
CN114443525A (zh) | 一种数据处理系统、方法、电子设备及存储介质 | |
CN113821248B (zh) | 车机端软件的服务方法、车机端软件及其相关设备 | |
CN113900765A (zh) | 云应用启动方法、设备、终端及计算机可读存储介质 | |
CN113709243B (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 |