CN112437157B - 镜像仓库对账方法及系统 - Google Patents
镜像仓库对账方法及系统 Download PDFInfo
- Publication number
- CN112437157B CN112437157B CN202011327638.8A CN202011327638A CN112437157B CN 112437157 B CN112437157 B CN 112437157B CN 202011327638 A CN202011327638 A CN 202011327638A CN 112437157 B CN112437157 B CN 112437157B
- Authority
- CN
- China
- Prior art keywords
- warehouse
- mirror image
- child node
- notification message
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Abstract
一种镜像仓库对账方法及系统,可用于金融领域或其他领域。方法包括:根节点仓库接收应用推送的镜像,发送至各子节点仓库,利用webhook向服务器发送通知报文;子节点仓库接收到镜像后,向服务器发送通知报文;服务器根据根节点仓库通知报文,生成镜像记录信息,根据各子节点仓库通知报文,更新记录信息;根据记录信息判断是否所有子节点仓库均收到镜像,若是,将镜像状态设置为正常;若不是,从根节点仓库或已发送通知报文的子节点仓库中拉取镜像,推送至未接收镜像的子节点仓库后,将镜像状态设置为正常。本发明通过同步镜像记录信息,及时发现丢失镜像的镜像仓库节点,高效确定缺失情况,保证镜像一致性,避免出现应用拉取镜像失败情况。
Description
技术领域
本发明涉及镜像仓库技术领域,尤指一种镜像仓库对账方法及系统。
背景技术
随着云平台技术的不断发展,云平台的应用数量也随之不断地增长,单镜像仓库的部署方式已经无法支撑云上应用拉取镜像,所以会扩展成集群的方式对外提供服务。但是,目前存在无法保证镜像仓库集群内部的每个镜像仓库镜像一致性的问题,如果有镜像仓库有镜像缺失,应用通过负载均衡去拉取镜像的时候会出现拉取不到镜像的情况。
发明内容
本发明实施例的主要目的在于提供一种镜像仓库对账方法及系统,解决镜像仓库集群内部的镜像仓库镜像缺失的问题。
为了实现上述目的,本发明实施例提供一种镜像仓库对账方法,所述方法包括:
镜像仓库集群中的根节点仓库接收应用推送的镜像,所述根节点仓库将所述镜像发送至所述镜像仓库集群中的各子节点仓库,并利用webhook向服务器发送包括所述根节点仓库地址及所述镜像名称的通知报文;
所述子节点仓库接收到所述镜像后,利用webhook向所述服务器发送包括所述子节点仓库地址及所述镜像名称的通知报文;
所述服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息;
所述服务器根据所述记录信息判断是否所有子节点仓库均收到所述镜像,若是,则将所述镜像的状态设置为正常;若不是,则从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,在将所述镜像推送至未接收所述镜像的子节点仓库后,将所述镜像的状态设置为正常。
可选的,在本发明一实施例中,所述记录信息包括所述镜像名称、所述根节点仓库地址、所述根节点仓库所在的镜像仓库集群中各子节点仓库地址以及各子节点仓库通知报文发送状态。
可选的,在本发明一实施例中,所述服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息包括:在接收到根节点仓库的通知报文后,根据预先配置在所述服务器中的镜像仓库集群中所有节点仓库的地址,确定与所述根节点仓库的地址对应的各子节点仓库的地址;根据所述镜像名称、根节点仓库地址、根节点仓库通知报文发送状态、各子节点仓库地址及各子节点仓库通知报文发送状态,生成所述镜像的记录信息,其中,子节点仓库地址与子节点仓库通知报文发送状态一一对应;在接收到子节点仓库的通知报文后,更新所述记录信息中与子节点仓库地址对应的子节点仓库通知报文发送状态。
可选的,在本发明一实施例中,所述服务器根据所述记录信息判断是否所有子节点仓库均收到所述镜像包括:在超过预设时间后,所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,判断是否所有子节点仓库均收到所述镜像。
可选的,在本发明一实施例中,所述从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,在将所述镜像推送至未接收所述镜像的子节点仓库后,将所述镜像的状态设置为正常包括:所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,确定未接收到所述镜像的子节点仓库地址;从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,将所述镜像推送至未接收所述镜像的子节点仓库,将所述镜像的状态设置为正常。
本发明实施例还提供一种镜像仓库对账系统,所述系统包括服务器及镜像仓库集群,其中:
镜像仓库集群中的根节点仓库接收应用推送的镜像,所述根节点仓库将所述镜像发送至所述镜像仓库集群中的各子节点仓库,并利用webhook向服务器发送包括所述根节点仓库地址及所述镜像名称的通知报文;
所述子节点仓库接收到所述镜像后,利用webhook向所述服务器发送包括所述子节点仓库地址及所述镜像名称的通知报文;
所述服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息;
所述服务器根据所述记录信息判断是否所有子节点仓库均收到所述镜像,若是,则将所述镜像的状态设置为正常;若不是,则从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,在将所述镜像推送至未接收所述镜像的子节点仓库后,将所述镜像的状态设置为正常。
可选的,在本发明一实施例中,所述记录信息包括所述镜像名称、所述根节点仓库地址、所述根节点仓库所在的镜像仓库集群中各子节点仓库地址以及各子节点仓库通知报文发送状态。
可选的,在本发明一实施例中,所述服务器还用于:在接收到根节点仓库的通知报文后,根据预先配置在所述服务器中的镜像仓库集群中所有节点仓库的地址,确定与所述根节点仓库的地址对应的各子节点仓库的地址;根据所述镜像名称、根节点仓库地址、根节点仓库通知报文发送状态、各子节点仓库地址及各子节点仓库通知报文发送状态,生成所述镜像的记录信息,其中,子节点仓库地址与子节点仓库通知报文发送状态一一对应;在接收到子节点仓库的通知报文后,更新所述记录信息中与子节点仓库地址对应的子节点仓库通知报文发送状态。
可选的,在本发明一实施例中,所述服务器还用于:在超过预设时间后,所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,判断是否所有子节点仓库均收到所述镜像。
可选的,在本发明一实施例中,所述服务器还用于:所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,确定未接收到所述镜像的子节点仓库地址;从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,将所述镜像推送至未接收所述镜像的子节点仓库,将所述镜像的状态设置为正常。
本发明通过webhook同步镜像的记录信息,从而使服务器能够及时发现丢失镜像的镜像仓库节点,且可高效确定镜像缺失的具体情况,保证了镜像仓库集群内部的每个镜像仓库中镜像的一致性,避免出现应用拉取镜像失败的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种镜像仓库对账方法的流程图;
图2为本发明实施例中记录信息的生成及更新流程图;
图3为本发明实施例中镜像仓库集群的镜像同步流程图;
图4为本发明实施例一种镜像仓库对账系统的结构示意图;
图5为本发明实施例一种镜像仓库对账系统的工作流程图。
具体实施方式
本发明实施例提供一种镜像仓库对账方法及系统,可用于金融领域或其他领域。需要说明的是,本发明的镜像仓库对账方法及系统可用于金融领域,也可用于除金融领域之外的任意领域,本发明的镜像仓库对账方法及系统应用领域不做限定。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明实施例一种镜像仓库对账方法的流程图,图中所示方法包括:
步骤S1,镜像仓库集群中的根节点仓库接收应用推送的镜像,根节点仓库将所述镜像发送至所述镜像仓库集群中的各子节点仓库,并利用webhook向服务器发送包括所述根节点仓库地址及所述镜像名称的通知报文。
其中,预先在镜像仓库集群中所有镜像节点仓库配置webhook,利用webhook配置服务器的ip地址,并在服务器上配置所有镜像节点仓库的地址。其中,webhook就是通过配置一个url,当有相应的事件(镜像到达该仓库的事件)发生时,就会向该url发送请求。在镜像仓库集群中的根节点仓库接收应用推送的镜像后,根据预先配置的服务器的地址,利用webhook向服务器发送包括该根节点仓库地址及镜像名称的通知报文。
步骤S2,子节点仓库接收到所述镜像后,利用webhook向所述服务器发送包括子节点仓库地址及所述镜像名称的通知报文。
其中,子节点仓库接收到镜像后,根据预先配置在子节点仓库中的服务器的地址,利用webhook向服务器发送包括子节点仓库地址及镜像名称的通知报文。
步骤S3,服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息。
其中,服务器接收到根节点仓库发送的通知报文后,记录下该镜像的名称,以及发送该镜像的根节点仓库的地址,根据预先配置在服务器中的所有镜像节点仓库的地址,确定该根节点仓库对应的所有子节点仓库地址。将镜像名称、根节点仓库地址、子节点仓库地址以及子节点仓库通知报文发送状态整合为记录信息。其中,子节点仓库通知报文发送状态与子节点仓库地址一一对应,用以表示对应的子节点仓库是否发送了通知报文。当接收到子节点仓库发送的通知报文后,将其对应的子节点仓库通知报文发送状态从未发送更新为已发送。进一步的,记录信息中还包括根节点仓库通知报文发送状态,当存在多个镜像仓库集群时,各镜像仓库集群中的根节点仓库地址对应的通知报文发送状态表示该根节点仓库是否接收到镜像推送。
步骤S4,服务器根据记录信息判断是否所有子节点仓库均收到镜像,若是,则将镜像的状态设置为正常;若不是,则从根节点仓库或已发送通知报文的子节点仓库中拉取镜像,在将镜像推送至未接收镜像的子节点仓库后,将镜像的状态设置为正常。
其中,当记录信息中各子节点仓库通知报文发送状态均为已发送时,则说明镜像仓库集群中所有子节点仓库均收到镜像,服务器将该镜像的状态设置为正常。在超过预设时间后,若子节点仓库通知报文发送状态为未发送,则说明对应的子节点仓库未收到镜像。服务器从根节点仓库或已发送通知报文的子节点仓库中拉取镜像,将镜像推送至未接收镜像的子节点仓库后,再将镜像的状态设置为正常。
作为本发明的一个实施例,记录信息包括所述镜像名称、根节点仓库地址、根节点仓库所在的镜像仓库集群中各子节点仓库地址以及各子节点仓库通知报文发送状态。
在本实施例中,如图2所示,服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息包括:
步骤S21,在接收到根节点仓库的通知报文后,根据预先配置在所述服务器中的镜像仓库集群中所有节点仓库的地址,确定与所述根节点仓库的地址对应的各子节点仓库的地址。
其中,预先在镜像仓库集群中所有镜像节点仓库配置webhook,利用webhook配置服务器的地址,并在服务器上配置所有镜像节点仓库的ip地址。根据预先配置在服务器中的所有镜像节点仓库的地址,确定该根节点仓库对应的所有子节点仓库地址。
步骤S22,根据镜像名称、根节点仓库地址、根节点仓库通知报文发送状态、各子节点仓库地址及各子节点仓库通知报文发送状态,生成所述镜像的记录信息,其中,子节点仓库地址与子节点仓库通知报文发送状态一一对应。
其中,子节点仓库通知报文发送状态与子节点仓库地址一一对应,用以表示对应的子节点仓库是否发送了通知报文。
步骤S23,在接收到子节点仓库的通知报文后,更新所述记录信息中与子节点仓库地址对应的子节点仓库通知报文发送状态。
其中,当接收到子节点仓库发送的通知报文后,将其对应的子节点仓库通知报文发送状态从未发送更新为已发送。
在本实施例中,服务器根据记录信息判断是否所有子节点仓库均收到所述镜像包括:在超过预设时间后,所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,判断是否所有子节点仓库均收到所述镜像。
在本实施例中,如图3所示,从根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,在将镜像推送至未接收所述镜像的子节点仓库后,将所述镜像的状态设置为正常包括:
步骤S31,服务器根据所述记录信息中各子节点仓库通知报文发送状态,确定未接收到所述镜像的子节点仓库地址。
其中,当记录信息中各子节点仓库通知报文发送状态均为已发送时,则说明镜像仓库集群中所有子节点仓库均收到镜像,服务器将该镜像的状态设置为正常。在超过预设时间后,若子节点仓库通知报文发送状态为未发送,则说明对应的子节点仓库未收到镜像。
步骤S32,从根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,将所述镜像推送至未接收所述镜像的子节点仓库,将所述镜像的状态设置为正常。
其中,确定了未收到镜像的子节点仓库后,服务器从根节点仓库或已发送通知报文的子节点仓库中拉取镜像,将镜像推送至未接收镜像的子节点仓库后,再将镜像的状态设置为正常。
本发明通过webhook同步镜像的记录信息,从而使服务器能够及时发现丢失镜像的镜像仓库节点,且可高效确定镜像缺失的具体情况,保证了镜像仓库集群内部的每个镜像仓库中镜像的一致性,避免出现应用拉取镜像失败的情况。
如图4所示为本发明实施例一种镜像仓库对账系统的结构示意图,图中所示系统包括:服务器及镜像仓库集群,图中所示镜像仓库集群包括三层镜像节点仓库,根节点仓库,第二层的子节点仓库11及子节点仓库12,以及第三层的子节点仓库21、子节点仓库22、子节点仓库23及子节点仓库24。图中最上层是应用将测试环境的镜像推送到生产环境的根节点仓库,图中最下层应用,即生产上应用,投产时就会向该生产环境镜像仓库集群发送拉取镜像的请求。
镜像仓库集群中的根节点仓库接收应用推送的镜像,所述根节点仓库将所述镜像发送至所述镜像仓库集群中的各子节点仓库,并利用webhook向服务器发送包括所述根节点仓库地址及所述镜像名称的通知报文;子节点仓库接收到所述镜像后,利用webhook向所述服务器发送包括所述子节点仓库地址及所述镜像名称的通知报文。
其中,预先在镜像仓库集群中所有镜像节点仓库配置webhook,利用webhook配置服务器的ip地址,并在服务器上配置所有镜像节点仓库的地址。在镜像仓库集群中的根节点仓库接收应用推送的镜像后,根据预先配置的服务器的地址,利用webhook向服务器发送包括该根节点仓库地址及镜像名称的通知报文。子节点仓库接收到镜像后,根据预先配置在子节点仓库中的服务器的地址,利用webhook向服务器发送包括子节点仓库地址及镜像名称的通知报文。
服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息。
其中,服务器接收到根节点仓库发送的通知报文后,记录下该镜像的名称,以及发送该镜像的根节点仓库的地址,根据预先配置在服务器中的所有镜像节点仓库的地址,确定该根节点仓库对应的所有子节点仓库地址。将镜像名称、根节点仓库地址、子节点仓库地址以及子节点仓库通知报文发送状态整合为记录信息。其中,子节点仓库通知报文发送状态与子节点仓库地址一一对应,用以表示对应的子节点仓库是否发送了通知报文。当接收到子节点仓库发送的通知报文后,将其对应的子节点仓库通知报文发送状态从未发送更新为已发送。进一步的,记录信息中还包括根节点仓库通知报文发送状态,当存在多个镜像仓库集群时,各镜像仓库集群中的根节点仓库地址对应的通知报文发送状态表示该根节点仓库是否接收到镜像推送。
服务器根据所述记录信息判断是否所有子节点仓库均收到所述镜像,若是,则将所述镜像的状态设置为正常;若不是,则从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,在将所述镜像推送至未接收所述镜像的子节点仓库后,将所述镜像的状态设置为正常。
其中,当记录信息中各子节点仓库通知报文发送状态均为已发送时,则说明镜像仓库集群中所有子节点仓库均收到镜像,服务器将该镜像的状态设置为正常。在超过预设时间后,若子节点仓库通知报文发送状态为未发送,则说明对应的子节点仓库未收到镜像。服务器从根节点仓库或已发送通知报文的子节点仓库中拉取镜像,将镜像推送至未接收镜像的子节点仓库后,再将镜像的状态设置为正常。
作为本发明的一个实施例,记录信息包括所述镜像名称、所述根节点仓库地址、所述根节点仓库所在的镜像仓库集群中各子节点仓库地址以及各子节点仓库通知报文发送状态。
在本实施例中,服务器还用于:在接收到根节点仓库的通知报文后,根据预先配置在所述服务器中的镜像仓库集群中所有节点仓库的地址,确定与所述根节点仓库的地址对应的各子节点仓库的地址;根据所述镜像名称、根节点仓库地址、根节点仓库通知报文发送状态、各子节点仓库地址及各子节点仓库通知报文发送状态,生成所述镜像的记录信息,其中,子节点仓库地址与子节点仓库通知报文发送状态一一对应;在接收到子节点仓库的通知报文后,更新所述记录信息中与子节点仓库地址对应的子节点仓库通知报文发送状态。
在本实施例中,服务器还用于:在超过预设时间后,所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,判断是否所有子节点仓库均收到所述镜像。
在本实施例中,服务器还用于:所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,确定未接收到所述镜像的子节点仓库地址;从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,将所述镜像推送至未接收所述镜像的子节点仓库,将所述镜像的状态设置为正常。
在本发明的一个实施例中,如图5所示为本发明镜像仓库对账系统的工作流程图。具体过程包括:在所有镜像仓库节点配置好webhook,利用webhook配置服务器的地址,在服务器上配置所有镜像节点仓库的ip;应用把镜像推送到生产环境的镜像仓库集群的根节点仓库,根节点仓库接收到镜像后会往下进行同步,同时webhook会向服务器发送一个通知报文;服务器接收到根节点仓库发来的报文后记录下该镜像;其他节点仓库接收到镜像后也会向服务器发送一个通知报文;服务器接收到其他节点仓库发来的报文后会更新记录信息;当服务器收到所有节点仓库的报文后就将镜像的状态改为正常;若一小时(可作为参数配置)之内服务器没有收到所有节点仓库发过来的该镜像的通知报文,则认为没有收到通知报文的对应的镜像节点仓库缺失该镜像;服务器从根节点仓库或已收到镜像的子节点仓库拉取该镜像推送到缺失镜像的镜像节点仓库;推送完成后将该镜像状态改为正常。
基于与上述一种镜像仓库对账方法相同的申请构思,本发明还提供了上述一种镜像仓库对账系统。由于该一种镜像仓库对账系统解决问题的原理与一种镜像仓库对账方法相似,因此该一种镜像仓库对账系统的实施可以参见一种镜像仓库对账方法的实施,重复之处不再赘述。
本发明通过webhook同步镜像的记录信息,从而使服务器能够及时发现丢失镜像的镜像仓库节点,且可高效确定镜像缺失的具体情况,保证了镜像仓库集群内部的每个镜像仓库中镜像的一致性,避免出现应用拉取镜像失败的情况。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种镜像仓库对账方法,其特征在于,所述方法包括:
镜像仓库集群中的根节点仓库接收应用推送的镜像,所述根节点仓库将所述镜像发送至所述镜像仓库集群中的各子节点仓库,并利用webhook向服务器发送包括所述根节点仓库地址及所述镜像名称的通知报文;
所述子节点仓库接收到所述镜像后,利用webhook向所述服务器发送包括所述子节点仓库地址及所述镜像名称的通知报文;
所述服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息;
所述服务器根据所述记录信息判断是否所有子节点仓库均收到所述镜像,若是,则将所述镜像的状态设置为正常;若不是,则从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,在将所述镜像推送至未接收所述镜像的子节点仓库后,将所述镜像的状态设置为正常。
2.根据权利要求1所述的方法,其特征在于,所述记录信息包括所述镜像名称、所述根节点仓库地址、所述根节点仓库所在的镜像仓库集群中各子节点仓库地址以及各子节点仓库通知报文发送状态。
3.根据权利要求2所述的方法,其特征在于,所述服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息包括:
在接收到根节点仓库的通知报文后,根据预先配置在所述服务器中的镜像仓库集群中所有节点仓库的地址,确定与所述根节点仓库的地址对应的各子节点仓库的地址;
根据所述镜像名称、根节点仓库地址、根节点仓库通知报文发送状态、各子节点仓库地址及各子节点仓库通知报文发送状态,生成所述镜像的记录信息,其中,子节点仓库地址与子节点仓库通知报文发送状态一一对应;
在接收到子节点仓库的通知报文后,更新所述记录信息中与子节点仓库地址对应的子节点仓库通知报文发送状态。
4.根据权利要求3所述的方法,其特征在于,所述服务器根据所述记录信息判断是否所有子节点仓库均收到所述镜像包括:在超过预设时间后,所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,判断是否所有子节点仓库均收到所述镜像。
5.根据权利要求4所述的方法,其特征在于,所述从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,在将所述镜像推送至未接收所述镜像的子节点仓库后,将所述镜像的状态设置为正常包括:
所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,确定未接收到所述镜像的子节点仓库地址;
从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,将所述镜像推送至未接收所述镜像的子节点仓库,将所述镜像的状态设置为正常。
6.一种镜像仓库对账系统,其特征在于,所述系统包括服务器及镜像仓库集群,其中:
镜像仓库集群中的根节点仓库接收应用推送的镜像,所述根节点仓库将所述镜像发送至所述镜像仓库集群中的各子节点仓库,并利用webhook向服务器发送包括所述根节点仓库地址及所述镜像名称的通知报文;
所述子节点仓库接收到所述镜像后,利用webhook向所述服务器发送包括所述子节点仓库地址及所述镜像名称的通知报文;
所述服务器根据接收到的所述根节点仓库的通知报文,生成所述镜像的记录信息,并根据接收到的各所述子节点仓库的通知报文,更新所述记录信息;
所述服务器根据所述记录信息判断是否所有子节点仓库均收到所述镜像,若是,则将所述镜像的状态设置为正常;若不是,则从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,在将所述镜像推送至未接收所述镜像的子节点仓库后,将所述镜像的状态设置为正常。
7.根据权利要求6所述的系统,其特征在于,所述记录信息包括所述镜像名称、所述根节点仓库地址、所述根节点仓库所在的镜像仓库集群中各子节点仓库地址以及各子节点仓库通知报文发送状态。
8.根据权利要求7所述的系统,其特征在于,所述服务器还用于:在接收到根节点仓库的通知报文后,根据预先配置在所述服务器中的镜像仓库集群中所有节点仓库的地址,确定与所述根节点仓库的地址对应的各子节点仓库的地址;根据所述镜像名称、根节点仓库地址、根节点仓库通知报文发送状态、各子节点仓库地址及各子节点仓库通知报文发送状态,生成所述镜像的记录信息,其中,子节点仓库地址与子节点仓库通知报文发送状态一一对应;在接收到子节点仓库的通知报文后,更新所述记录信息中与子节点仓库地址对应的子节点仓库通知报文发送状态。
9.根据权利要求8所述的系统,其特征在于,所述服务器还用于:在超过预设时间后,所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,判断是否所有子节点仓库均收到所述镜像。
10.根据权利要求9所述的系统,其特征在于,所述服务器还用于:所述服务器根据所述记录信息中各子节点仓库通知报文发送状态,确定未接收到所述镜像的子节点仓库地址;从所述根节点仓库或已发送通知报文的子节点仓库中拉取所述镜像,将所述镜像推送至未接收所述镜像的子节点仓库,将所述镜像的状态设置为正常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011327638.8A CN112437157B (zh) | 2020-11-24 | 2020-11-24 | 镜像仓库对账方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011327638.8A CN112437157B (zh) | 2020-11-24 | 2020-11-24 | 镜像仓库对账方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112437157A CN112437157A (zh) | 2021-03-02 |
CN112437157B true CN112437157B (zh) | 2022-10-18 |
Family
ID=74693907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011327638.8A Active CN112437157B (zh) | 2020-11-24 | 2020-11-24 | 镜像仓库对账方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112437157B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322496A (zh) * | 2017-01-17 | 2018-07-24 | 北京京东尚科信息技术有限公司 | 镜像文件分发方法及系统、计算机可读存储介质、电子设备 |
CN108667884A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 镜像分发方法、镜像获取方法及装置 |
US10244069B1 (en) * | 2015-12-24 | 2019-03-26 | EMC IP Holding Company LLC | Accelerated data storage synchronization for node fault protection in distributed storage system |
CN110647580A (zh) * | 2019-09-05 | 2020-01-03 | 南京邮电大学 | 分布式容器集群镜像管理主节点、从节点、系统及方法 |
-
2020
- 2020-11-24 CN CN202011327638.8A patent/CN112437157B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10244069B1 (en) * | 2015-12-24 | 2019-03-26 | EMC IP Holding Company LLC | Accelerated data storage synchronization for node fault protection in distributed storage system |
CN108322496A (zh) * | 2017-01-17 | 2018-07-24 | 北京京东尚科信息技术有限公司 | 镜像文件分发方法及系统、计算机可读存储介质、电子设备 |
CN108667884A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 镜像分发方法、镜像获取方法及装置 |
CN110647580A (zh) * | 2019-09-05 | 2020-01-03 | 南京邮电大学 | 分布式容器集群镜像管理主节点、从节点、系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112437157A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539726B (zh) | 区块链共识系统及方法 | |
CN107465767B (zh) | 一种数据同步的方法和系统 | |
CN104239476A (zh) | 一种数据库同步的方法、装置及系统 | |
CN102054035A (zh) | 一种基于数据范围的数据库数据同步方法 | |
US20140351419A1 (en) | Automatic data ring discovery and configuration | |
CN107404509B (zh) | 分布式服务配置系统及信息管理方法 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN111858045A (zh) | 一种多任务gpu资源调度方法、装置、设备及可读介质 | |
WO2021136233A1 (zh) | 业务升级的方法、装置和系统 | |
CN106817387B (zh) | 一种数据同步方法、装置和系统 | |
CN113783953A (zh) | 基于云边协同的工业物联网管控方法及系统 | |
CN117130730A (zh) | 面向联邦Kubernetes集群的元数据管理方法 | |
US20120324279A1 (en) | Method and Apparatus of Backing up Subversion Repository | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
EP3570169B1 (en) | Method and system for processing device failure | |
CN112437157B (zh) | 镜像仓库对账方法及系统 | |
CN113157701A (zh) | 一种oracle数据库的双活机制部署方法及装置 | |
CN113794581A (zh) | 分布式cp统一部署方法及网络设备、存储介质 | |
CN112000850A (zh) | 进行数据处理的方法、装置、系统及设备 | |
CN115756304A (zh) | 一种实现配置数据一致性的方法、装置、设备及可读介质 | |
WO2024021471A1 (zh) | 一种服务更新方法、装置、系统和存储介质 | |
CN115328931A (zh) | 数据库集群数据校验方法、装置、存储介质及电子设备 | |
CN113505180B (zh) | 一种多云平台中镜像的同步方法、装置、设备及可读介质 | |
CN114900449A (zh) | 一种资源信息管理方法、系统及装置 | |
CN114610545A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |