基于GIT的分布式集群的同步方法和装置制造方法及图纸

技术编号:19938293 阅读:23 留言:0更新日期:2018-12-29 06:31
本发明专利技术提供了基于GIT的分布式集群的同步方法和装置,应用于主机,包括:在主机和各个备机当前处于工作状态时;如果确定更新GIT工作区文件时;根据列表向各个备机发送更新请求信息;如果接收到各个备机发送的更新的GIT工作区文件,则让外部设备同步更新GIT仓库;如果没有接收到各个备机发送的更新的GIT工作区文件,则确定各个备机中有异常的备机,并让外部设备同步更新GIT仓库;在主机异常工作的情况下,通过虚拟路由冗余协议VRRP从各个备机中选取任一备机作为新主机。通过该方式,可以保证备机集群优先同步更新版本库,使得主机和备机群维持为同一个版本,提高了服务的稳定性与容错性。

【技术实现步骤摘要】
基于GIT的分布式集群的同步方法和装置
本专利技术涉及分布式集群同步
,尤其是涉及基于GIT的分布式集群的同步方法和装置。
技术介绍
传统模式下,服务器只有一台正常对外提供服务。此时,如果这个服务器出现任何软件还是硬件故障而导致服务停止,用户便无法访问。所以,人们便提出使用多台机器组建集群的办法,使得主机出现故障时,通过多机通信技术,将服务快速的从故障机迁移到集群的机器上,保证服务的正常供应。但是,目前备机中的版本库无法优先和主机维持同一个版本。
技术实现思路
有鉴于此,本专利技术的目的在于提供了基于GIT的分布式集群的同步方法和装置,以保证备机集群优先同步更新版本库,使得主机和备机群维持为同一个版本,提高了服务的稳定性与容错性。第一方面,本专利技术实施例提供了基于GIT的分布式集群的同步方法,应用于主机,主机包括GIT仓库,该方法包括:在主机正常工作的情况下,通过服务器状态监测软件监测备机群中各个备机的当前状态;根据各个备机的当前状态判断各个备机是否处于工作状态;如果各个备机处于工作状态,则确定是否更新GIT工作区文件;如果更新GIT工作区文件,则根据列表向各个备机发送更新请求信息,以使各个备机对GIT工作区文件进行更新,并确定是否接收到各个备机发送的更新的GIT工作区文件;如果接收到各个备机发送的更新的GIT工作区文件,则让外部设备同步更新GIT仓库;如果没有接收到各个备机发送的更新的GIT工作区文件,则确定各个备机中有异常的备机,并让外部设备同步更新GIT仓库;在主机异常工作的情况下,通过虚拟路由冗余协议VRRP从各个备机中选取任一备机作为新主机,以使新主机根据需求更新GIT仓库。进一步地,如果各个备机处于工作状态,则确定是否更新GIT工作区文件,包括:如果各个备机处于工作状态,则通过外部数据判定GIT工作区文件是否修改;如果GIT工作区文件修改,则通过请求机制向外部数据请求是否更新GIT工作区文件。进一步地,根据列表向各个备机发送更新请求信息,以使各个备机对GIT工作区文件进行更新,包括:通过iptables将各个备机的IP地址加入列表中,并锁定列表以外的IP地址;根据列表中的IP地址向各个备机发送更新信息,以使各个备机对GIT工作区文件进行更新,得到更新的GIT工作区文件。进一步地,如果接收到各个备机发送的更新的GIT工作区文件,则让外部设备同步更新GIT仓库,包括:如果接收到各个备机发送的更新的GIT工作区文件,则打开列表以外的IP地址,以使列表以外的IP地址对应的外部设备同步更新GIT仓库。进一步地,如果没有接收到各个备机发送的更新的GIT工作区文件,则确定各个备机中有异常的备机,并让外部设备同步更新GIT仓库,包括:如果没有接收到各个备机发送的更新的GIT工作区文件,则判定各个备机出现异常;打开列表以外的IP地址,以使列表以外的IP地址对应的外部设备同步更新GIT仓库,并发出告警信息。进一步地,还包括:当异常工作的主机恢复工作状态时,将异常工作的主机加入备机群,并发出告警信息。第二方面,本专利技术实施例提供的基于GIT的分布式集群的同步装置,应用于主机,主机包括GIT仓库,装置包括:监测模块,用于在主机正常工作的情况下,通过服务器状态监测软件监测备机群中各个备机的当前状态;第一判断模块,用于根据各个备机的当前状态判断各个备机是否处于工作状态;第二判断模块,用于如果各个备机处于工作状态,则确定是否更新GIT工作区文件;第一处理模块,用于如果更新GIT工作区文件,则根据列表向各个备机发送更新请求信息,以使各个备机对GIT工作区文件进行更新;第一同步模块,用于如果接收到各个备机发送的更新的GIT工作区文件,则让外部设备同步更新GIT仓库;第二同步模块,用于如果没有接收到各个备机发送的更新的GIT工作区文件,则确定各个备机中有异常的备机,并让外部设备同步更新GIT仓库;第二处理模块,用于在主机异常工作的情况下,通过虚拟路由冗余协议VRRP从各个备机中选取任一备机作为新主机,以使新主机根据需求更新GIT仓库。进一步地,第二判断模块,还用于:如果各个备机处于工作状态,则通过外部数据判定GIT工作区文件是否修改;如果GIT工作区文件修改,则通过请求机制向外部数据请求是否更新GIT工作区文件。进一步地,第一处理模块,还用于:通过iptables将各个备机的IP地址加入列表中,并锁定列表以外的IP地址;根据列表中的IP地址向各个备机发送更新信息,以使各个备机对GIT工作区文件进行更新,得到更新的GIT工作区文件。进一步地,还包括:恢复模块,用于当异常工作的主机恢复工作状态时,将异常工作的主机加入备机群,并发出告警信息。本专利技术实施例带来了以下有益效果:本专利技术实施例提供了基于GIT的分布式集群的同步方法和装置,应用于主机,主机包括GIT仓库,该方法包括:在主机正常工作的情况下,通过服务器状态监测软件监测备机群中各个备机的当前状态;根据各个备机的当前状态判断各个备机是否处于工作状态;如果各个备机处于工作状态,则确定是否更新GIT工作区文件;如果更新GIT工作区文件,则根据列表向各个备机发送更新请求信息,以使各个备机对GIT工作区文件进行更新,并确定是否接收到各个备机发送的更新的GIT工作区文件;如果接收到各个备机发送的更新的GIT工作区文件,则让外部设备同步更新GIT仓库;如果没有接收到各个备机发送的更新的GIT工作区文件,则确定各个备机中有异常的备机,并让外部设备同步更新GIT仓库;在主机异常工作的情况下,通过虚拟路由冗余协议VRRP从各个备机中选取任一备机作为新主机,以使新主机根据需求更新GIT仓库。通过该方式,可以保证备机集群优先同步更新版本库,使得主机和备机群维持为同一个版本,提高了服务的稳定性与容错性。本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的基于GIT的分布式集群的同步方法的流程图;图2为本专利技术实施例提供的另一基于GIT的分布式集群的同步方法的流程图;图3为本专利技术实施例提供的基于GIT的分布式集群的同步装置的结构示意图;图4为本专利技术实施例提供的另一基于GIT的分布式集群的同步装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。现有的集群技术,集群中多机之间除了宕机检测,几乎没有其他的通信,多机之间只是保证了服务的正常运行。但是在提供GIT服务时,单纯的保证服务会出本文档来自技高网...

【技术保护点】
1.一种基于GIT的分布式集群的同步方法,其特征在于,应用于主机,所述主机包括GIT仓库,所述方法包括:在所述主机正常工作的情况下,通过服务器状态监测软件监测备机群中各个备机的当前状态;根据所述各个备机的当前状态判断所述各个备机是否处于工作状态;如果所述各个备机处于所述工作状态,则确定是否更新GIT工作区文件;如果更新所述GIT工作区文件,则根据列表向所述各个备机发送更新请求信息,以使所述各个备机对所述GIT工作区文件进行更新,并确定是否接收到所述各个备机发送的更新的GIT工作区文件;如果接收到所述各个备机发送的更新的GIT工作区文件,则让外部设备同步更新所述GIT仓库;如果没有接收到所述各个备机发送的更新的GIT工作区文件,则确定所述各个备机中有异常的备机,并让所述外部设备同步更新所述GIT仓库;在所述主机异常工作的情况下,通过虚拟路由冗余协议VRRP从所述各个备机中选取任一备机作为新主机,以使所述新主机根据需求更新所述GIT仓库。

【技术特征摘要】
1.一种基于GIT的分布式集群的同步方法,其特征在于,应用于主机,所述主机包括GIT仓库,所述方法包括:在所述主机正常工作的情况下,通过服务器状态监测软件监测备机群中各个备机的当前状态;根据所述各个备机的当前状态判断所述各个备机是否处于工作状态;如果所述各个备机处于所述工作状态,则确定是否更新GIT工作区文件;如果更新所述GIT工作区文件,则根据列表向所述各个备机发送更新请求信息,以使所述各个备机对所述GIT工作区文件进行更新,并确定是否接收到所述各个备机发送的更新的GIT工作区文件;如果接收到所述各个备机发送的更新的GIT工作区文件,则让外部设备同步更新所述GIT仓库;如果没有接收到所述各个备机发送的更新的GIT工作区文件,则确定所述各个备机中有异常的备机,并让所述外部设备同步更新所述GIT仓库;在所述主机异常工作的情况下,通过虚拟路由冗余协议VRRP从所述各个备机中选取任一备机作为新主机,以使所述新主机根据需求更新所述GIT仓库。2.根据权利要求1所述的方法,其特征在于,所述如果所述各个备机处于所述工作状态,则确定是否更新GIT工作区文件,包括:如果所述各个备机处于工作状态,则通过外部数据确定所述GIT工作区文件是否修改;如果所述GIT工作区文件修改,则通过请求机制向所述外部数据请求是否更新所述GIT工作区文件。3.根据权利要求1所述的方法,其特征在于,所述根据列表向所述各个备机发送更新请求信息,以使所述各个备机对所述GIT工作区文件进行更新,包括:通过iptables将所述各个备机的IP地址加入所述列表中,并锁定所述列表以外的IP地址;根据所述列表中的所述IP地址向所述各个备机发送更新信息,以使所述各个备机对所述GIT工作区文件进行更新,得到所述更新的GIT工作区文件。4.根据权利要求1所述的方法,其特征在于,所述如果接收到所述各个备机发送的更新的GIT工作区文件,则让外部设备同步更新所述GIT仓库,包括:如果接收到所述各个备机发送的更新的GIT工作区文件,则打开所述列表以外的IP地址,以使所述列表以外的IP地址对应的外部设备同步更新所述GIT仓库。5.根据权利要求1所述的方法,其特征在于,所述如果没有接收到所述各个备机发送的更新的GIT工作区文件,则确定所述各个备机中有异常的备机,并让所述外部设备同步更新所述GIT仓库,包括:如果没有接...

【专利技术属性】
技术研发人员:韩爱东范渊
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1