部署方法、系统及计算机可读存储介质
文献发布时间:2023-06-19 12:18:04
技术领域
本发明涉及计算机技术领域,尤其是涉及一种部署方法、系统及计算机可读存储介质。
背景技术
众所周知,目前部署系统或者工具都选择全量部署模式,全量部署模式的部署时间较长,特别是在大规模集群部署下,全量部署会浪费大量时间,导致部署效率较低。
发明内容
本发明的目的在于提供一种部署方法、系统及计算机可读存储介质,以提高部署效率。
第一方面,本发明实施例提供了一种部署方法,应用于部署系统,所述部署系统包括一台原始机和至少一层部署机,每层部署机包括多台目标机;所述部署方法包括:
所述原始机将多个部署文件分成多组子文件,并分别发送至第一层部署机中的多台目标机;其中,所述多组子文件的数量与所述第一层部署机的目标机数量相同;
所述第一层部署机中的每台目标机在接收到至少一组子文件后,分别与所述第一层部署机中的其他目标机进行文件同步得到其他组子文件;以及当确定得到的多组子文件与所述多个部署文件一致时,基于所述得到的多组子文件进行部署操作。
进一步地,所述多组子文件中的每一组子文件分别包括至少一个二级子文件;所述当确定得到的多组子文件与所述多个部署文件一致时,基于所述得到的多组子文件进行部署操作,包括:
当得到的至少一个二级子文件中的每个二级子文件的部署信息与所对应的部署文件的部署信息均一致时,确定得到的多组子文件与所述多个部署文件一致;基于所述得到的至少一个二级子文件进行部署操作。
进一步地,所述基于所述得到的至少一个二级子文件进行部署操作,包括:
根据所述得到的至少一个二级子文件的部署信息,从所述得到的至少一个二级子文件中确定出待部署的至少一个目标文件,以及每个所述目标文件的部署方式,并根据所述部署方式进行每个所述目标文件的部署操作。
进一步地,所述部署信息包括部署文件的基础信息和创建时间,所述从所述得到的至少一个二级子文件中确定出待部署的至少一个目标文件,以及每个所述目标文件的部署方式,包括:
针对所述至少一个二级子文件中的每个二级子文件,通过遍历当前的部署位置文件列表,当不存在基础信息与该二级子文件的基础信息一致的文件时,将该二级子文件作为目标文件,且该目标文件的部署方式为新增部署;或者,
当存在基础信息与该二级子文件的基础信息一致,创建时间与该二级子文件的创建时间不一致的文件时,将该二级子文件作为目标文件,且该目标文件的部署方式为替换部署。
进一步地,所述根据所述部署方式进行每个所述目标文件的部署操作之后,所述方法还包括:
对于每个目标文件,在该目标文件的指定部署位置,查找待比对文件,所述待比对文件的基础信息与该目标文件的基础信息一致;
当查找到所述待比对文件,且该目标文件的创建时间与所述待比对文件的创建时间一致时,确定该目标文件成功完成部署操作。
进一步地,所述方法还包括:
当该目标文件未成功完成部署操作时,将该目标文件的部署次数加一;
当该目标文件的部署次数小于预设数值时,重新进行该目标文件的部署操作;
当该目标文件的部署次数大于或等于所述预设数值时,向预设的管控端发送报警提醒。
进一步地,所述方法还包括:
当各个所述目标文件均成功完成部署操作时,向预设的管控端发送状态修改请求,以使所述管控端根据所述状态修改请求,将所述第一层部署机的部署状态修改为部署成功。
第二方面,本发明实施例还提供了一种部署系统,包括一台原始机和至少一层部署机,每层部署机包括多台目标机;
所述原始机用于将多个部署文件分成多组子文件,并分别发送至第一层部署机中的多台目标机;其中,所述多组子文件的数量与所述第一层部署机的目标机数量相同;
所述第一层部署机中的每台目标机用于在接收到至少一组子文件后,分别与所述第一层部署机中的其他目标机进行文件同步得到其他组子文件;以及当确定得到的多组子文件与所述多个部署文件一致时,基于所述得到的多组子文件进行部署操作。
进一步地,所述第一层部署机中的每台目标机还用于在完成所述得到的多组子文件的部署操作之后,作为原始机向该目标机对应的第二层部署机分发所述得到的多组子文件。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面的部署方法。
本发明实施例提供的部署方法、系统及计算机可读存储介质中,该部署方法应用于部署系统,部署系统包括一台原始机和至少一层部署机,每层部署机包括多台目标机;该部署方法包括:原始机将多个部署文件分成多组子文件,并分别发送至第一层部署机中的多台目标机;其中,多组子文件的数量与第一层部署机的目标机数量相同;第一层部署机中的每台目标机在接收到至少一组子文件后,分别与第一层部署机中的其他目标机进行文件同步得到其他组子文件;以及当确定得到的多组子文件与多个部署文件一致时,基于得到的多组子文件进行部署操作。这样在大规模集群部署下,原始机根据第一层部署机中目标机的数量,对多个部署文件进行拆分,得到多组子文件。第一层部署机的每台目标机只需要从原始机获取多组子文件中的至少一组子文件,然后与同层的其他目标机分别进行文件同步,最终得到全部的多个部署文件,并进行部署操作。本发明实施例提供的部署方法、系统及计算机可读存储介质与现有技术中,目标机需要一次性从原始机获取全部的部署文件相比,节约了大量的文件传输时间,提高了部署效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种部署方法的流程示意图;
图2为本发明实施例提供的一种部署系统中部署文件的分发示意图;
图3为本发明实施例提供的另一种部署方法的流程示意图;
图4为本发明实施例提供的一种部署系统的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,部署方式包括增量部署以及全量部署,增量部署是指仅对需要进行修改的文件进行部署操作;全量部署是指无论文件是否进行修改,都要对所有文件进行的部署操作。但是,无论当部署系统或者工具进行增量部署还是全量部署,都要在确定需要上传的替换文件之后,上传所有替换文件,然后根据上传的替换文件完成相应的部署操作。
例如,有A、B、C、D、E、F五个文件时,当目标机M确定需要对A、B、C这三个文件进行增量部署时,此时需要将该三个文件都上传给目标机,当目标机接收到该三个文件后,则进行相应的部署操作。又例如,当目标机M确定需要对A、B、C、D、E、F这五个文件进行全量部署时,此时需要将该五个文件都上传给目标机,当目标机接收到该五个文件后,则进行相应的部署操作。
可见,无论是在增量部署操作还是全量部署操作中,都需要将所有要进行操作的文件上传给目标机,由于要上传所有文件则会导致部署时间较长。特别是在大规模、且多层级的集群部署系统中,上一层的原始机在完成部署操作后,会向当前层部署机中的每台目标机都发送全部的部署文件;例如上述增量部署,则发送A、B、C三个文件;或者,例如上述全量部署,则发送A、B、C、D、E、F五个文件,然后当前层部署机中的每台目标机再进行相应的部署操作;直至部署系统中所有的目标机均完成部署操作。当集群部署系统中的层级越多,且每层目标机的数量越多时,在这种方式下文件所需传输的时间将会成倍增长,浪费大量时间,导致部署效率较低。基于此,本发明实施例提供的一种部署方法、系统及计算机可读存储介质,可以通过节约文件传输时间,提高部署效率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种部署方法进行详细介绍。
本发明实施例提供了一种部署方法,该部署方法应用于部署系统,如图2所示,该部署系统包括一台原始机410和至少一层部署机(如第一层部署机420和第二层部署机430),每层部署机包括多台目标机(如第一层部署机420包括三台目标机421,第二层部署机430包括两台目标机431)。该部署方法可以但不限于应用于金融行业,特别适用于大规模集群化下的应用部署。参见图1所示的一种部署方法的流程示意图,该部署方法主要包括如下步骤S102~步骤S104:
步骤S102,原始机将多个部署文件分成多组子文件,并分别发送至第一层部署机中的多台目标机。
本实施例中,原始机在完成多个部署文件的部署操作后,不再将该多个部署文件全部下发给第一层部署机中的每台目标机,而是将该多个部署文件分成多组子文件,并向每台目标机发送其中至少一组子文件,其中多组子文件的数量可以与第一层部署机的目标机数量相同。例如,如图2所示,第一层部署机420包括目标机A、目标机B和目标机C,则原始机将该多个部署文件分成3组子文件,分别是A组子文件、B组子文件和C组子文件,并将A组子文件分发给目标机A,将B组子文件分发给目标机B,将C组子文件分发给目标机C;需要说明的是,3组子文件与3台目标机的对应关系可以根据实际需求改变,在其他实施例中,也可以将A组子文件发送个目标机B或目标机C,也可以将多组子文件发送给同一目标机,例如,将A组子文件和B组子文件发送给目标机A,将B组子文件发送给目标机B,将C组子文件发给目标机C,发送原则为每个目标机仅获取所需的部分组子文件。
对多个部署文件分成多组子文件的操作方式包括:当多个部署文件的个数为目标机个数的整数倍时,可用多个部署文件的个数除以目标机的个数,得到的商即是多组子文件的个数。例如,多个部署文件的个数为18个,目标机的个数6个,则分成6组子文件,每组包括3个子文件。
上述部署系统采用层级结构,其中包括多层部署机,具体确定哪一层部署机作为第一层部署机,可包括以下方法:
在一种可能的实现方式中,可以按照层级结构顺序将与原始机连接的最近一层部署机作为上述第一层部署机。或者,
在另一种可能的实现方式中,可以根据实际需求从所有层级中选择一目标层作为第一层部署机,例如可以根据接收到的用户操作确定出第一层部署机。或者,
在另一种可能的实现方式中,将该多个部署文件相匹配的多个目标机所形成的层级作为第一层部署机,即该多个目标机有可能来自同一层级也可能来自不同层级。与多个部署文件相匹配的多个目标机为,要使用多个部署文件中全部文件或者部分文件进行部署操作的目标机,例如,多个部署文件为:文件1、文件2、文件3、文件4、文件5、文件6,目标机m、目标机n、目标机p处于不同层级中,其中,目标机m需要全部6个文件进行部署操作,目标机n需要文件1、文件2、文件3进行部署操作,目标机p需要文件3、文件4、文件5进行部署操作,则目标机m、目标机n、目标机p为第一层部署机。可见,上述目标机的选取可以是同一层级中的目标机,也可以是不同层级中的目标机。
因此,上述第一层部署机中的多台目标机可以是同层级中的所有目标机,也可以是不同层级中的部分目标机。对于部分目标机的选择包括以下几种方式:
(1)根据该多个部署文件与目标机的匹配情况,从第一层部署机中的多台目标机中确定出所需的部分目标机。
(2)预设有默认数量,随机从第一层部署机中选择默认数量台目标机。
(3)根据目标机的负载情况,选择负载率较低或者空闲状态的目标机;可根据预设负载阈值确定出负载率较低的目标机。例如,第一层部署机中包括10台目标机,这10台目标机中有4台目标机的负载量低于预设阈值,或者处于空闲状态,则选择这4台目标机,并将多个部署文件分成4组子文件。
(4)根据接收到的选择信息,确定出所需的部分目标机。
对原始机中的多个部署文件进行分组的方法包括以下方式:
在一些可能的实施例中,多组子文件的数量与第一层部署机的目标机数量相同,如果多个部署文件中的部分部署文件之间存在依赖关系,则可以将具有依赖关系的若干个部署文件分到同一组子文件中,剩余部署文件根据目标机的相应数量进行分组。例如,第一层部署机的目标机数量为3,多个部署文件包括二级子文件1、二级子文件2、二级子文件3、···二级子文件10,其中,二级子文件1、二级子文件2和二级子文件3三者具有依赖关系,若第一层部署机的目标机数量为3,则可以将二级子文件1至二级子文件3分为一组子文件,二级子文件4至二级子文件7分为一组子文件,二级子文件8至二级子文件10分为一组子文件;若第一层部署机的目标机数量为2,则可以将二级子文件1至二级子文件5分为一组子文件,二级子文件6至二级子文件10分为一组子文件;或者将二级子文件1至二级子文件3分为一组子文件,二级子文件5至二级子文件10分为一组子文件,分组原则即将有依赖关系的子文件分到同一组,没有依赖关系的子文件根据目标机的数量进行分组。
在另一些可能的实施例中,多组子文件的数量与第一层部署机的目标机数量相同,该多个部署文件的文件数量大于或等于第一层部署机的目标机数量,可以采用均分方式将多个部署文件分成多组子文件。
在又一些可能的实施例中,多组子文件的数量与第一层部署机的目标机数量不相同,如果该多个部署文件的文件数量小于第一层部署机的目标机数量,则可以不对多个部署文件进行分组,即直接将多个部署文件中的每一个部署文件分别作为一组子文件。
步骤S104,第一层部署机中的每台目标机在接收到至少一组子文件后,分别与第一层部署机中的其他目标机进行文件同步得到其他组子文件;以及当确定得到的多组子文件与上述多个部署文件一致时,基于得到的多组子文件进行部署操作。
第一层部署机中的每台目标机接收到的至少一组子文件为上述多个部署文件中的部分文件,因此需要从其他目标机获取其他组子文件。每台目标机可以基于存储或接收到的其他目标机的目标机标识,确定要进行文件同步的其他目标机,并与其他目标机进行文件同步得到其他组子文件。第一层部署机中的每台目标机可以从所有其他目标机中获取其他组子文件,也可以是从其他目标机中的部分目标机中获取其他组子文件。
例如,多个部署文件包括二级子文件1至二级子文件10,第一层部署机包括5台目标机,则将多个部署文件分为5组,每组包括2个二级子文件。目标机1接收到的一组子文件包括二级子文件1和二级子文件2,目标机2接收到的一组子文件包括二级子文件3和二级子文件4,目标机3接收到的一组子文件包括二级子文件5和二级子文件6,目标机4接收到的一组子文件包括二级子文件7和二级子文件8,目标机5接收到的一组子文件包括二级子文件9和二级子文件10。当目标机1确定要从目标机2至目标机5中分别获取其他组子文件时,根据目标机2至目标机5的标识,从层级结构中查找到目标机2至目标机5,然后获取相应的其他组子文件。
又如,多个部署文件包括二级子文件1至二级子文件10,第一层部署机包括5台目标机,目标机1接收到的一组子文件包括二级子文件1至二级子文件4,目标机2接收到的一组子文件包括二级子文件3至二级子文件6,目标机3接收到的一组子文件包括二级子文件5至二级子文件8,目标机4接收到的一组子文件包括二级子文件7至二级子文件10,目标机5接收到的一组子文件包括二级子文件10、二级子文件1至二级子文件3,则目标机1可以从目标机3和目标机4获取其他组子文件,也可以从目标机2和目标机4获取其他组子文件;目标机2可以从目标机1和目标机4获取其他组子文件,也可以从目标机4和目标机5获取其他组子文件;目标机3可以从目标机1和目标机4获取其他组子文件,也可以从目标机2、目标机4和目标机5获取其他组子文件;目标机4可以从目标机1和目标机2获取其他组子文件,也可以从目标机1和目标机3获取其他组子文件,还可以从目标机2和目标机5获取其他组子文件;目标机5可以从目标机2和目标机4获取其他组子文件,也可以从目标机1、目标机3和目标机4获取其他组子文件。
为了便于理解上述部署方法,本发明实施例提供了一个具体的示例。参见图2所示的一种部署系统中部署文件的分发示意图,在一种可能的实现方式中,部署系统包括原始机410和第一层部署机420;第一层部署机420包括3台目标机421(即目标机A、目标机B和目标机C),原始机410将多个部署文件分成3组子文件(即A组子文件、B组子文件和C组子文件),并分别发送给第一层部署机420的3台目标机421(即将A组子文件分发给目标机A,将B组子文件分发给目标机B,将C组子文件分发给目标机C),这3台目标机421两两之间进行文件同步,从而每台目标机421均拥有所有的多个部署文件,进而可以进行部署操作等。
进一步地,如图2所示,部署系统还包括与目标机A对应的第二层部署机430,第二层部署机430包括2台目标机431(即目标机D和目标机E),目标机A在完成部署操作后作为原始机,将多个部署文件分成2组子文件(即D组子文件和E组子文件),并分别发送给第二层部署机430的2台目标机431(即将D组子文件分发给目标机D,将E组子文件分发给目标机E),这2台目标机431之间进行文件同步,从而每台目标机431均拥有所有的多个部署文件,进而可以进行部署操作等。
这样原始机只需要向每台目标机发送至少一组子文件,每台目标机即可通过文件同步方式获取到所有的多个部署文件,该部署方法可以减少文件传输数量,缩短文件传输时间,提高部署效率。为了便于理解,以各组子文件不包含相同的二级子文件为例,此时原始机传输的总文件数量=多个部署文件的文件数量;而在现有技术中,目标机一次性从原始机获取全部的部署文件的情况下,原始机传输的总文件数量=(多个部署文件的文件数量×目标机数量)。例如,多个部署文件的文件数量为10,多个部署文件分为5组子文件,每组子文件包括2个二级子文件,原始机将5组子文件分别发送至5个目标机,则本实施例中原始机传输的总文件数量为10,相应地,现有技术中原始机传输的总文件数量为50。因此与现有技术相比,该部署方法大大减少了文件传输数量,从而大大缩短了文件传输时间,提高了部署效率。
本发明实施例提供的部署方法,在大规模集群部署下,原始机根据第一层部署机中目标机的数量,对多个部署文件进行拆分,得到多组子文件。第一层部署机的每台目标机只需要从原始机获取多组子文件中的至少一组子文件,然后与同层的其他目标机分别进行文件同步,最终得到全部的多个部署文件,并进行部署操作。该部署方法与现有技术中,目标机需要一次性从原始机获取全部的部署文件相比,节约了大量的文件传输时间,提高了部署效率。
上述多组子文件中的每一组子文件分别包括至少一个二级子文件,第一层部署机中的每台目标机可以获取到多组子文件中的所有二级子文件,也可以仅获取多组子文件中的部分二级子文件。部分不同组子文件中可以包含相同的二级子文件,也包含不同的二级子文件,这样第一层部署机中的每台目标机可以仅获取多组子文件中的部分二级子文件,可以大大节约目标机的存储空间。
为了确保得到正确的多组子文件,本实施例中,当每台目标机在得到各自的多组子文件时,需要判断得到的多组子文件是否准确,具体判断方式包括:
当得到的至少一个二级子文件中的每个二级子文件的部署信息与所对应的部署文件的部署信息均一致时,确定得到的多组子文件与上述多个部署文件一致。例如,多个部署文件包括二级子文件1至二级子文件20,目标机m得到的2组子文件,共包括二级子文件1至二级子文件10,则需要确定目标机m中的二级子文件1至二级子文件10中的每一个二级子文件的部署信息,与原始机中的二级子文件1至二级子文件10的部署信息是否一致,如果分别一致则说明目标机m中的二级子文件1至二级子文件10是正确的。
其中,部署信息可以包括部署文件的基础信息和创建时间,基础信息可以包括文件名称、文件大小和指定部署位置,得到的至少一个二级子文件的部署信息可以存储在本地的需要部署文件列表内。这样在得到多组子文件(即至少一个二级子文件)后,通过与原始机中的多个部署文件进行部署信息比对,可以确保得到的多组子文件正确。
在一些可能的实施例中,第一层部署机中的每台目标机可以通过如下过程执行基于得到的至少一个二级子文件进行部署操作的步骤:根据得到的至少一个二级子文件的部署信息,从得到的至少一个二级子文件中确定出待部署的至少一个目标文件,以及每个目标文件的部署方式,并根据该部署方式进行每个目标文件的部署操作。
进一步地,在一种可能的实现方式中,确定目标文件及其部署方式时,可以先通过遍历本地的需要部署文件列表,确认至少一个二级子文件中的每个二级子文件的部署信息,该部署信息包括基础信息和创建时间;然后针对至少一个二级子文件中的每个二级子文件,通过遍历当前的部署位置文件列表,当不存在基础信息与该二级子文件的基础信息一致的文件时,将该二级子文件作为目标文件,且该目标文件的部署方式为新增部署;当存在基础信息与该二级子文件的基础信息一致,创建时间与该二级子文件的创建时间不一致的文件时,将该二级子文件作为目标文件,且该目标文件的部署方式为替换部署。例如,对于二级子文件1,当在当前的部署位置文件列表中未查找到与二级子文件1的文件名称、文件大小和指定部署位置均一致的文件时,将二级子文件1作为目标文件,且其部署方式为新增部署;又如,对于二级子文件2,当在当前的部署位置文件列表中查找到与二级子文件2的文件名称、文件大小和指定部署位置均一致,创建时间与二级子文件2的创建时间不一致的文件时,将二级子文件2作为目标文件,且其部署方式为替换部署。
需要说明的是,当存在基础信息与该二级子文件的基础信息一致,创建时间与该二级子文件的创建时间也一致的文件时,说明当前目标机已完成了该二级子文件的部署,本次不再对该二级子文件进行部署,从而可以提高部署效率。
进一步地,在一种可能的实现方式中,通过如下过程对目标文件执行部署操作:
当目标文件的部署方式为新增部署时,可以将该目标文件上传到该目标文件的指定部署位置,完成新增部署操作;
当目标文件的部署方式为替换部署时,可以将该目标文件上传到该目标文件的指定部署位置,并替换掉存储在该指定部署位置的旧文件,完成替换部署操作。该旧文件为基础信息与该二级子文件的基础信息一致,创建时间与该二级子文件的创建时间不一致的文件。
本发明实施例提供的部署方法,在大规模集群部署下,第一层部署机的每台目标机只需要从原始机获取至少一组子文件,即可通过与第一层部署机中的其他目标机进行文件同步得到全部的多个部署文件,并进行部署操作,与现有技术中,目标机需要一次性从原始机获取全部的部署文件后,再进行部署操作相比,节约了大量的文件传输时间和文件的解包时间,提高了部署效率。
进一步地,在每个目标文件部署完成后,为了确保部署正确,还可以根据文件创建时间,检查每个目标文件是否部署成功(即检查每个目标文件是否成功完成部署操作),具体方式如下:
对于每个目标文件,在该目标文件的指定部署位置,查找待比对文件,待比对文件的基础信息与该目标文件的基础信息一致;当查找到待比对文件,且该目标文件的创建时间与待比对文件的创建时间一致时,确定该目标文件成功完成部署操作;当未查找到待比对文件,或者该目标文件的创建时间与该待比对文件的创建时间不一致时,确定该目标文件未成功完成部署操作。具体地,当目标文件正确部署时,在该目标文件的指定部署位置,存在基础信息和创建时间与该目标文件的基础信息和创建时间均一致的文件,该文件即为正确部署下的待比对文件;对于新增部署,当目标文件未正确部署时,在该目标文件的指定部署位置,不存在基础信息与该目标文件的基础信息一致的文件,也即此时不存在待比对文件;对于替换部署,当目标文件未正确部署时,在该目标文件的指定部署位置,存在基础信息与该目标文件的基础信息一致,创建时间与该目标文件的创建时间不一致的文件,该文件即为未正确部署下的待比对文件,该待比对文件可以是上一次在指定部署位置部署的部署文件。
进一步,上述方法还包括:对于每个目标文件,当该目标文件未成功完成部署操作时,将该目标文件的部署次数加一;当该目标文件的部署次数小于预设数值时,重新进行该目标文件的部署操作;当该目标文件的部署次数大于或等于预设数值时,向预设的管控端发送报警提醒。其中,预设数值可以根据实际需求设置,这里不做限定。例如,若预设数值为3,则当某目标文件部署3次后,检查得到该目标文件仍未成功完成部署操作时,向预设的管控端发送报警提醒,由人工进行处理。这样工作人员可以通过管控端及时发现部署问题。
进一步,为了方便工作人员了解部署状态,上述方法还包括:当各个目标文件均成功完成部署操作时,向预设的管控端发送状态修改请求,以使管控端根据状态修改请求,将第一层部署机的部署状态修改为部署成功。这样工作人员可以通过管控端了解每层部署机的部署状态。
为了便于理解,本发明实施例还提供了另一种部署方法,如图3所示,上述基于得到的至少一个二级子文件进行部署操作的步骤可以细分为如下步骤S302~步骤S318:
步骤S302,检查本地的需要部署文件列表。通过步骤S302可以确认需要部署的至少一个二级子文件中的每个二级子文件的部署信息。
步骤S304,确定待部署的目标文件及其部署方式。当部署方式为新增部署时,执行步骤S306;当部署方式为替换部署时,执行步骤S308。
步骤S306,上传新增文件。新增完成后,转至步骤S310。
步骤S308,上传替换文件,并进行文件替换。替换完成后,转至步骤S310。
步骤S310,依据创建时间检查是否部署成功。当部署成功(即成功完成部署操作)时,执行步骤S312;当未部署成功(即未成功完成部署操作)时,执行步骤S314。
步骤S312,确认部署流程结束。
步骤S314,将部署次数加一。
步骤S316,判断部署次数是否小于预设数值。当判断结果为是时,重新执行步骤S302;当判断结果为否时,执行步骤S318。
步骤S318,向管控端发送报警提醒。
对应于上述部署方法,本发明实施例还提供了一种部署系统,参见图4所示的一种部署系统的结构示意图,该部署系统包括一台原始机410和至少一层部署机,每层部署机包括多台目标机,其中,原始机410分别与第一层部署机420中的多台目标机421连接,各台目标机421两两之间互连;
原始机410用于将多个部署文件分成多组子文件,并分别发送至第一层部署机420中的多台目标机421;
第一层部署机420中的每台目标机421在接收到至少一组子文件后,分别与第一层部署机420中的其他目标机421进行文件同步得到其他组子文件;以及当确定得到的多组子文件与多个部署文件一致时,基于得到的多组子文件进行部署操作。
可选地,上述多组子文件的数量可以与第一层部署机420的目标机数量相同。
进一步地,上述部署系统为层级结构,通过采用多中心分发技术,可以快速在庞大数量的机器上部署文件。基于此,如图4所示,第一层部署机420中的目标机421还与该目标机421对应的第二层部署机430的多台目标机431连接,该目标机421还用于在完成得到的多组子文件的部署操作之后,作为原始机向该目标机421对应的第二层部署机430分发该得到的多组子文件。需要说明的是,第一层部署机420中的目标机421作为原始机是指,该目标机421采用原始机的分发方式进行多个部署文件的分发。
需要说明的是,上述部署系统可以不只有两层部署机,前一层部署机中的每台目标机均可以作为原始机向其对应的下一层部署机分发部署文件。
本发明实施例提供的部署系统,通过上述多中心分发技术,可以达到快速在庞大数量的机器上部署文件。
本实施例所提供的部署系统,其实现原理及产生的技术效果和前述部署方法实施例相同,为简要描述,部署系统实施例部分未提及之处,可参考前述部署方法实施例中相应内容。
对应于上述部署方法,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前面方法实施例中所述的部署方法。该计算机可读存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
- 应用部署方法、应用部署系统和计算机可读存储介质
- 设备部署方法、装置、计算机系统和计算机可读存储介质