CN113542433B - 一种基于DevOps的制品同步方法、设备 - Google Patents
一种基于DevOps的制品同步方法、设备 Download PDFInfo
- Publication number
- CN113542433B CN113542433B CN202111077370.1A CN202111077370A CN113542433B CN 113542433 B CN113542433 B CN 113542433B CN 202111077370 A CN202111077370 A CN 202111077370A CN 113542433 B CN113542433 B CN 113542433B
- Authority
- CN
- China
- Prior art keywords
- nodes
- synchronization
- node
- product
- mode
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000001360 synchronised effect Effects 0.000 claims abstract description 54
- 238000009826 distribution Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 abstract description 6
- 238000013461 design Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/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
-
- 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/70—Software maintenance or management
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种基于DevOps的制品同步方法、设备,该方法包括:创建多个节点,多个节点中的部分节点用于同步分发任一制品;获取用户的第一操作信息,并基于第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点;多个节点包括至少一个目标节点;获取待执行的同步计划,同步计划为用于同步分发任一第一制品时的计划;执行同步计划,将任一第一制品同步分发到至少一个目标节点,获得任一第一制品对应的第一同步结果;输出第一同步结果。通过这种方式,可以实现任一制品的自动同步分发,可以解决网络分区和带宽限制等一系列问题,可以解放用户的双手,可以实现高效的制品同步分发,从而可以提高软件产品的生产力。
Description
技术领域
本申请涉及软件制品同步技术领域,特别是涉及一种基于DevOps的制品同步方法、设备。
背景技术
移动互联网时代,软件产品的迭代速度要求越来越高。制品仓库作为DevOps领域不可缺少的一环,扮演着极其重要的作用。但是,由于网络分区的存在,导致制品下载时存在请求代理超时,网络隔断导致请求中断,高峰时期占用带宽过大等问题。因此,需要将制品提前存储在本地,以便于使用时可以直接从本地下载,不需要占用其它的网络请求。若要确保可以将制品存储在本地,则需要制品的分发同步功能。
然而,目前制品的分发同步需要通过人工手动的将制品包在一个节点上拉取下来之后,再在另一个节点上传到本地。可见,目前制品的分发同步需要用户频繁的手动操作,操作较繁琐。
发明内容
基于此,本申请提供一种基于DevOps的制品同步方法、设备,用于解决现有技术中存在的制品的分发同步需要用户频繁的手动操作,操作较繁琐的问题,可以解放用户的双手,可以实现高效的制品同步分发,从而可以提高软件产品的生产力。
第一方面,本申请实施例提供一种基于DevOps的制品同步方法,包括:
创建多个节点,所述多个节点中的部分节点用于同步分发任一制品;
获取用户的第一操作信息,并基于所述第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点;所述多个节点包括所述至少一个目标节点;
获取待执行的同步计划,所述同步计划为用于同步分发所述任一第一制品时的计划;
执行所述同步计划,将所述任一第一制品同步分发到所述至少一个目标节点,获得所述任一第一制品对应的第一同步结果;
输出所述第一同步结果。
在一种可能的设计中,所述多个节点中的任一节点为边缘节点、远程节点、独立节点、中心节点中的一个节点;所述边缘节点和所述独立节点属于从节点,所述中心节点属于主节点;
创建多个节点,包括:
采用边缘节点模式或独立节点模式创建所述多个节点;其中,
当采用所述边缘节点模式创建所述多个节点时,所述多个节点中的任一对主从节点之间共享数据库,并在同步分发制品时把Blob数据分发到所述多个节点中的边缘节点;
当采用所述独立节点模式创建所述多个节点时,所述多个节点中的主节点和所述多个节点中的独立节点不共享数据库,并在同步分发制品时把metadata数据和所述blob数据给所述多个节点中的独立节点。
在一种可能的设计中,获取用户的第一操作信息之前,所述方法还包括:
测试所述多个节点中的远程节点和所述多个节点中的主节点之间的连接是否可用;
当确定所述多个节点中的远程节点和所述多个节点中的主节点之间的连接不可用时,输出提示信息,用于提示所述多个节点中的远程节点和所述多个节点中的主节点之间的连接不可用。
在一种可能的设计中,所述同步计划包括:同步分发所述任一第一制品时将采用的调度策略、同步策略和执行策略;
执行所述同步计划,将所述任一第一制品同步分发到所述至少一个目标节点,包括:
确定所述任一第一制品是否为所述多个节点中的主节点上新增的制品;
若确定所述任一第一制品是所述多个节点中的主节点上新增的制品,则基于所述执行策略,确定执行所述同步策略;基于所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点;或者,
若确定所述任一第一制品不是所述多个节点中的主节点上新增的制品,则基于所述执行策略,确定执行所述调度策略和所述调度策略;结合所述调度策略和所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点。
在一种可能的设计中,所述调度策略包括所述任一第一制品对应的同步方式,所述同步方式包括:立即同步方式、指定时间同步方式和定时同步方式中的一种;所述同步策略包括所述任一第一制品对应的数据同步方式,所述数据同步方式包括:按照仓库同步方式、按照制品同步方式和按照文件同步方式中的一种。
在一种可能的设计中,基于所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点,包括:
基于所述同步策略,确定所述任一第一制品对应的数据同步方式;
采用所述数据同步方式,将所述任一第一制品同步分发到所述至少一个目标节点;
结合所述调度策略和所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点,包括:
基于所述调度策略,确定所述任一第一制品对应的数据同步方式;
基于所述同步策略,确定所述任一第一制品对应的数据同步方式;
结合采用所述同步方式和所述数据同步方式,将所述任一第一制品同步分发到所述至少一个目标节点。
在一种可能的设计中,所述调度策略还包括:冲突处理方式、错误处理方式和执行方式中的一种或多种;
所述冲突处理方式包括:选择跳过、覆盖、快速失败中的一种;
所述错误处理方式包括:选择继续执行、快速失败中的一种;
所述执行方式包括:选择继续执行或快速失败中的一种。
在一种可能的设计中,所述第一同步结果包括成功数量、失败数量、冲突数量和所述任一第一制品的同步结果;所述成功数量为同步分发成功的第一制品对应的数量;所述失败数量为同步分发失败的第一制品对应的数量;所述成功数量为同步分发冲突的第一制品对应的数量。
第二方面,本申请实施例提供一种基于DevOps的制品同步设备,包括:
创建单元,用于创建多个节点,所述多个节点中的部分节点用于同步分发任一制品;
接收单元,用于获取用户的第一操作信息,并基于所述第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点;所述多个节点包括所述至少一个目标节点;获取待执行的同步计划,所述同步计划为用于同步分发所述任一第一制品时的计划;
处理单元,用于执行所述同步计划,将所述任一第一制品同步分发到所述至少一个目标节点,获得所述至少一个第一制品对应的第一同步结果;
输出单元,用于输出所述第一同步结果。
在一种可能的设计中,所述多个节点中的任一节点为边缘节点、远程节点、独立节点、中心节点中的一个节点;所述边缘节点和所述独立节点属于从节点,所述中心节点属于主节点;所述创建单元具体用于:
采用边缘节点模式或独立节点模式创建所述多个节点;其中,
当所述创建单元采用所述边缘节点模式创建所述多个节点时,所述多个节点中的任一对主从节点之间共享数据库,并在同步分发制品时把Blob数据分发到所述多个节点中的边缘节点;
当所述创建单元采用所述独立节点模式创建所述多个节点时,所述多个节点中的主节点和所述多个节点中的独立节点不共享数据库,并在同步分发制品时把metadata数据和所述blob数据给所述多个节点中的独立节点。
在一种可能的设计中,获取用户的第一操作信息之前,所述处理单元还用于:测试所述多个节点中的远程节点和所述多个节点中的主节点之间的连接是否可用;
所述输出单元还用于:当所述处理单元确定所述多个节点中的远程节点和所述多个节点中的主节点之间的连接不可用时,输出提示信息,用于提示所述多个节点中的远程节点和所述多个节点中的主节点之间的连接不可用。
在一种可能的设计中,所述同步计划包括:同步分发所述任一第一制品时将采用的调度策略、同步策略和执行策略;所述处理单元具体用于:
确定所述任一第一制品是否为所述多个节点中的主节点上新增的制品;
若确定所述任一第一制品是所述多个节点中的主节点上新增的制品,则基于所述执行策略,确定执行所述同步策略;基于所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点;或者,
若确定所述任一第一制品不是所述多个节点中的主节点上新增的制品,则基于所述执行策略,确定执行所述调度策略和所述调度策略;结合所述调度策略和所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点。
在一种可能的设计中,所述调度策略包括所述任一第一制品对应的同步方式,所述同步方式包括:立即同步方式、指定时间同步方式和定时同步方式中的一种;所述同步策略包括所述任一第一制品对应的数据同步方式,所述数据同步方式包括:按照仓库同步方式、按照制品同步方式和按照文件同步方式中的一种。
在一种可能的设计中,所述处理单元具体用于:
基于所述同步策略,确定所述任一第一制品对应的数据同步方式;
采用所述数据同步方式,将所述任一第一制品同步分发到所述至少一个目标节点;或,
所述处理单元具体用于:
基于所述调度策略,确定所述任一第一制品对应的数据同步方式;
基于所述同步策略,确定所述任一第一制品对应的数据同步方式;
结合采用所述同步方式和所述数据同步方式,将所述任一第一制品同步分发到所述至少一个目标节点。
在一种可能的设计中,所述调度策略还包括:冲突处理方式、错误处理方式和执行方式中的一种或多种;
所述冲突处理方式包括:选择跳过、覆盖、快速失败中的一种;
所述错误处理方式包括:选择继续执行、快速失败中的一种;
所述执行方式包括:选择继续执行或快速失败中的一种。
在一种可能的设计中,所述第一同步结果包括成功数量、失败数量、冲突数量和所述任一第一制品的同步结果;所述成功数量为同步分发成功的第一制品对应的数量;所述失败数量为同步分发失败的第一制品对应的数量;所述成功数量为同步分发冲突的第一制品对应的数量。
第三方面,本申请实施例提供一种基于DevOps的制品同步设备,所述基于DevOps的制品同步设备包括:至少一个存储器和至少一个处理器;
所述至少一个存储器用于存储一个或多个程序;
当所述一个或多个程序被所述至少一个处理器执行时,实现上述第一方面中任一种可能设计所涉及的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个程序;当所述至少一个程序被处理器执行时,实现上述第一方面中任一种可能设计所涉及的方法。
本申请的有益效果如下:
在本申请提供的技术方案中,创建多个节点,多个节点中的部分节点用于同步分发任一制品;进一步的,获取用户的第一操作信息,并基于第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点;多个节点包括至少一个目标节点;进一步的,获取待执行的同步计划,同步计划为用于同步分发任一第一制品时的计划;进一步的,执行同步计划,将任一第一制品同步分发到至少一个目标节点,获得任一第一制品对应的第一同步结果;进一步的,输出第一同步结果。通过这种方式,可以不依赖现有的制品同步分发人物的定时同步框架/工具,便可以实现任一制品的自动同步分发,可以解决网络分区和带宽限制等一系列问题,还可以解决现有技术中存在的制品的分发同步需要用户频繁的手动操作,操作较繁琐的问题,可以解放用户的双手,可以实现高效的制品同步分发,从而可以提高软件产品的生产力。
附图说明
图1为本申请实施例提供的一种基于DevOps的制品同步方法的流程示意图;
图2为本申请实施例提供的一种基于DevOps的制品同步设备的结构示意图;
图3为本申请实施例提供的一种基于DevOps的制品同步设备的结构示意图。
具体实施方式
为了便于理解本申请实施例提供的技术方案,下面结合附图详细说明本申请的技术方案。
以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。还应理解,本文中使用的术语“至少一个”包括一个或多个,“多个”包括两个及两个以上。
除非有相反的说明,本申请实施例提及“第一”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
本申请实施例所涉及的DevOps(为Development和Operations的组合词)是一组过程、方法与系统的统称,可以透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
本申请实施例所涉及的边缘节点,与主节点属于同一套集群环境不同区域,共享同一套数据库。
本申请实施例所涉及的独立节点,与主节点属于不同集群环境,不共享数据库。
下面将结合图1对本申请实施例提供的基于DevOps的制品同步方法进行具体阐述。
请参考图1所示,为本申请实施例提供的一种基于DevOps的制品同步方法的流程示意图。如图1所示,该方法流程可以包括以下步骤:
S101、创建多个节点。
在一些实施例中,多个节点中的部分节点可以用于同步分发任一制品。其中,多个节点中的任一节点可以为边缘节点、远程节点、独立节点、中心节点中的一个节点。边缘节点和独立节点可以属于从节点,中心节点可以属于主节点。
在一些实施例中,基于DevOps的制品同步设备可以采用边缘节点模式创建多个节点。其中,当采用边缘节点模式创建多个节点时,多个节点中的任一对主从节点之间可以共享数据库,并在同步分发制品时把Blob数据分发到多个节点中的边缘节点。
在另一些实施例中,基于DevOps的制品同步设备可以采用独立节点模式创建多个节点。其中,当采用边缘节点模式创建多个节点时,多个节点中的主节点和多个节点中的独立节点不共享数据库,并在同步分发制品时把metadata数据和blob数据给多个节点中的独立节点。
在具体的实现过程中,基于DevOps的制品同步设备可以提供节点创建页面。用户可以在该节点创建页面上,配置边缘节点、远程节点、独立节点、主节点和从节点等节点以及节点的创建模式(包括边缘节点模式和独立节点模式)的配置信息。之后,基于DevOps的制品同步设备可以基于该配置信息,创建多个节点。
本申请实施例中,通过采用相应的创建模式创建多个节点,可以在制品同步分发过程中,存在既需要往其它节点去分发制品,也需要其它节点拉取制品时,主动代理主节点去拉取制品,还可以支持在集群内的制品同步分发和集群之间的制品同步分发。
在一些实施例中,基于DevOps的制品同步设备在完成创建多个节点后,可以测试多个节点中的远程节点和多个节点中的主节点之间的连接是否可用。当确定多个节点中的远程节点和多个节点中的主节点之间的连接不可用时,基于DevOps的制品同步设备可以输出提示信息,用于提示多个节点中的远程节点和多个节点中的主节点之间的连接不可用,便于用户及时发现连接不可用的远程节点和主节点。
在具体的实现过程中,该提示信息可以具体提示多个节点中的远程节点和多个节点中的主节点之间的连接不可用的原因、解决该原因的措施等,本申请实施例不限定。
本申请实施例中,通过测试多个节点中的远程节点和多个节点中的主节点之间的连接是否可用,可以确保多个节点之间的通信正常。
S102、获取用户的第一操作信息,并基于第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点。
在一些实施例中,基于DevOps的制品同步设备可以提供目标节点的选择页面。用户可以在该选择页面上,进行选择需要同步的目标节点的第一操作。比如,用户可以在该选择页面上从多个节点中选择出至少一个目标节点。之后,基于DevOps的制品同步设备可以基于该第一操作,获取到第一操作信息。之后,基于DevOps的制品同步设备可以基于第一操作信息,确定任一第一制品对应的至少一个目标节点。即第一操作信息为用于确定任一第一制品对应的至少一个目标节点的信息。
本申请实施例中,通过提供目标节点的选择页面,可以满足用户对选择需要同步的目标节点的不同要求,有助于提升用户的体验。
S103、获取待执行的同步计划。
在一些实施例中,该同步计划可以为用于同步分发任一第一制品时的计划。
在一些实施例中,基于DevOps的制品同步设备可以提供制品同步分发的计划创建页面。用户可以在该计划创建页面上,进行该同步计划的基本信息的填写操作。基于DevOps的制品同步设备可以基于该填写操作,获得该同步计划。其中,该基本信息包括名称、描述、内容,以及同步分发任一第一制品时将采用的调度策略、同步策略和执行策略(将在下文具体介绍)等,本申请实施例不限定。
本申请实施例中,通过提供制品同步分发的计划创建页面,可以满足用户对不同制品的同步分发要求,有助于提升用户的体验。
S104、执行同步计划,将任一第一制品同步分发到至少一个目标节点,获得任一第一制品对应的第一同步结果。
在一些实施例中,上述执行策略可以包括但不限于:调度同步方式和实时同步方式。调度同步方式可以是根据调度策略去进行制品的同步分发的方式。实时同步方式可以是根据主节点上制品的新增,触发进行制品的同步分发的方式。
在一些实施例中,基于DevOps的制品同步设备可以确定任一第一制品是否为多个节点中的主节点上新增的制品,再基于上述执行策略,采用相应的方式将任一第一制品同步分发到至少一个目标节点。
比如,若确定任一第一制品是多个节点中的主节点新增的制品,基于DevOps的制品同步设备则可以基于该执行策略,确定执行该同步策略。比如,基于DevOps的制品同步设备则可以基于该执行策略中的实时同步方式,确定执行该同步策略。之后,基于DevOps的制品同步设备可以基于该同步策略,将任一第一制品同步分发到至少一个目标节点。
或者,若确定任一第一制品不是多个节点中的主节点新增的制品,基于DevOps的制品同步设备则可以基于该执行策略,确定执行该调度策略和该调度策略。比如,基于DevOps的制品同步设备可以基于该执行策略中的调度同步方式,确定执行该调度策略和该同步策略。之后,基于DevOps的制品同步设备可以结合该调度策略和该同步策略,将任一第一制品同步分发到至少一个目标节点。
本申请实施例中,通过确定任一第一制品是否为多个节点中的主节点新增的制品,再采用相应的方式,将任一第一制品同步分发到至少一个目标节点,可以主动地将主节点上新增的制品同步到目标节点上,无需用户手动频繁地将主节点上新增的制品同步分发到目标节点上,可以解放用户的双手,可以实现高效的制品同步分发,从而可以提高软件产品的生产力。
在一些实施例中,上述调度策略可以包括任一第一制品对应的同步方式。其中,该同步方式可以包括但不限于:立即同步方式、指定时间同步方式和定时同步方式中的一种。该立即同步方式可以是立即将制品同步分发到目标节点的方式。该指定时间同步方式可以是在指定时间将制品同步分发到目标节点的方式。该定时同步方式可以是按照经过预设时长后将制品同步分发到目标节点的方式。在具体的实现过程中,指定时间和预设时长可以根据实际需求进行设定,本申请实施例不限定。
在一些实施例中,上述同步策略可以包括:任一第一制品对应的数据同步方式,其中,该数据同步方式可以包括但不限于:按照仓库同步方式、按照制品同步方式和按照文件同步方式中的一种。该按照仓库同步方式可以是将制品仓库中的所有制品(包括任一第一制品)都同步到目标节点的方式。该按照制品同步方式可以是只将任一制品同步到目标节点的方式。该按照文件同步方式,可以是将任一第一制品对应的多个文件分别同步到目标节点的方式。
在基于DevOps的制品同步设备基于该同步策略,将任一第一制品同步分发到至少一个目标节点的过程中,基于DevOps的制品同步设备可以基于同步策略,确定任一第一制品对应的数据同步方式。之后,基于DevOps的制品同步设备可以采用该数据同步方式,将任一第一制品同步分发到至少一个目标节点。
在基于DevOps的制品同步设备结合该调度策略和该同步策略,将任一第一制品同步分发到至少一个目标节点的过程中,基于DevOps的制品同步设备可以基于该调度策略,确定任一第一制品对应的数据同步方式,以及,可以基于该同步策略,确定任一第一制品对应的数据同步方式。之后,基于DevOps的制品同步设备可以结合采用该同步方式和该数据同步方式,将任一第一制品同步分发到至少一个目标节点。
在一些实施例中,基于DevOps的制品同步设备将任一第一制品同步分发到至少一个目标节点后,可以获得任一第一制品对应的第一同步结果。
在一些实施例中,该调度策略还可以包括但不限于:冲突处理方式、错误处理方式和执行方式。
在具体的实现过程中,冲突处理方式可以包括但不限于:选择跳过、覆盖、快速失败中的一种。该选择跳过方式为在将任一第一制品同步分发到至少一个目标节点过程中,若存在相互冲突的第一制品时,选择跳过同步分发相互冲突的第一制品,继续同步分发其它不冲突的第一制品到至少一个目标节点中的方式。该覆盖方式为在将任一第一制品同步分发到至少一个目标节点过程中,若存在相互冲突的第一制品时,选择将相互冲突的第一制品中的一个第一制品覆盖其它第一制品,同步分发该第一制品和其它不冲突的第一制品到至少一个目标节点中的方式。其中,其它第一制品为相互冲突的第一制品中除去该第一制品之外的第一制品。该快速失败方式为在将任一第一制品同步分发到至少一个目标节点过程中,若存在相互冲突的第一制品时,选择将相互冲突的第一制品确定为同步分发失败的第一制品的方式。
在具体的实现过程中,错误处理方式可以包括但不限于:选择继续执行、快速失败中的一种。该选择继续执行方式为在将任一第一制品同步分发到至少一个目标节点过程中,若存在同步分发错误的第一制品时,选择继续同步分发该第一制品到至少一个目标节点中的方式。该快速失败方式为在将任一第一制品同步分发到至少一个目标节点过程中,若存在同步分发错误的第一制品时,将该第一制品确定为同步分发失败的第一制品的方式。
在具体地实现过程中,执行方式可以包括但不限于:选择继续执行或快速失败中的一种。该选择继续执行方式为在将任一第一制品同步分发到至少一个目标节点过程中,选择继续将任一第一制品同步分发到至少一个目标节点过程中的方式。该快速失败方式为在将任一第一制品同步分发到至少一个目标节点过程中,选择将正在分发和/或还未分发的第一制品确定为同步失败的第一制品的方式。
本申请实施例中,基于DevOps的制品同步设备通过在将任一第一制品同步分发到至少一个目标节点的过程中,执行冲突处理方式、错误处理方式和执行方式中的一种或多种,可以解决在将任一第一制品同步分发到至少一个目标节点的过程中出现的冲突或者错误等问题,可以实现高效的制品同步分发,从而可以提高软件产品的生产力。
在一些实施例中,基于DevOps的制品同步设备通过在将任一第一制品同步分发到至少一个目标节点的过程中,还可以对节点进行限速,比如对至少一个目标节点进行限速,可以避免出现某个第一制品为大文件时占用过大的带宽而导致网络卡顿的问题,从而可以实现高效的制品同步分发。
本申请实施例中,只需要用户简单的创建任一制品的同步计划,再由基于DevOps的制品同步设备通过执行同步计划,将任一第一制品同步分发到至少一个目标节点,可以不依赖现有的制品同步分发人物的定时同步框架/工具,便可以实现任一制品的自动同步分发,可以解决网络分区和带宽限制等一系列问题,还可以解决现有技术中存在的制品的分发同步需要用户频繁的手动操作,操作较繁琐的问题,可以解放用户的双手,可以实现高效的制品同步分发,从而可以提高软件产品的生产力。
S105、输出第一同步结果。
在一些实施例中,第一同步结果可以包括成功数量、失败数量、冲突数量和任一第一制品的同步结果。其中,成功数量可以为同步分发成功的第一制品对应的数量。失败数量可以为同步分发失败的第一制品对应的数量。成功数量可以为同步分发冲突的第一制品对应的数量。
在一些实施例中,基于DevOps的制品同步设备可以在显示页面上显示第一同步结果。
本申请实施例中,基于DevOps的制品同步设备通过输出第一同步结果,可以便于用户查看待分发的第一制品对应的成功数量、失败数量、冲突数量和任一第一制品的同步结果,以使用户可以去从节点上任一第一制品是否存在以及任一第一制品的相关信息,可以确保任一第一制品是否已经分发到相应的目标节点上。
通过以上描述内容可知,在本申请实施例提供的技术方案中,创建多个节点,多个节点中的部分节点用于同步分发任一制品;进一步的,获取用户的第一操作信息,并基于第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点;多个节点包括至少一个目标节点;进一步的,获取待执行的同步计划,同步计划为用于同步分发任一第一制品时的计划;进一步的,执行同步计划,将任一第一制品同步分发到至少一个目标节点,获得任一第一制品对应的第一同步结果;进一步的,输出第一同步结果。通过这种方式,可以不依赖现有的制品同步分发人物的定时同步框架/工具,便可以实现任一制品的自动同步分发,可以解决网络分区和带宽限制等一系列问题,还可以解决现有技术中存在的制品的分发同步需要用户频繁的手动操作,操作较繁琐的问题,可以解放用户的双手,可以实现高效的制品同步分发,从而可以提高软件产品的生产力。
基于同一发明构思,本申请实施例还提供一种基于DevOps的制品同步设备,如图2所示,基于DevOps的制品同步设备200可以包括:
创建单元201,用于创建多个节点,所述多个节点中的部分节点用于同步分发任一制品;
接收单元202,用于获取用户的第一操作信息,并基于所述第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点;所述多个节点包括所述至少一个目标节点;获取待执行的同步计划,所述同步计划为用于同步分发所述任一第一制品时的计划;
处理单元203,用于执行所述同步计划,将所述任一第一制品同步分发到所述至少一个目标节点,获得所述至少一个第一制品对应的第一同步结果;
输出单元204,用于输出所述第一同步结果。
在一种可能的设计中,所述多个节点中的任一节点为边缘节点、远程节点、独立节点、中心节点中的一个节点;所述边缘节点和所述独立节点属于从节点,所述中心节点属于主节点;所述创建单元201具体用于:
采用边缘节点模式或独立节点模式创建所述多个节点;其中,
当所述创建单元201采用所述边缘节点模式创建所述多个节点时,所述多个节点中的任一对主从节点之间共享数据库,并在同步分发制品时把Blob数据分发到所述多个节点中的边缘节点;
当所述创建单元201采用所述独立节点模式创建所述多个节点时,所述多个节点中的主节点和所述多个节点中的独立节点不共享数据库,并在同步分发制品时把metadata数据和所述blob数据给所述多个节点中的独立节点。
在一种可能的设计中,获取用户的第一操作信息之前,所述处理单元203还用于:测试所述多个节点中的远程节点和所述多个节点中的主节点之间的连接是否可用;
所述输出单元204还有用于:当所述处理单元203确定所述多个节点中的远程节点和所述多个节点中的主节点之间的连接不可用时,输出提示信息,用于提示所述多个节点中的远程节点和所述多个节点中的主节点之间的连接不可用。
在一种可能的设计中,所述同步计划包括:同步分发所述任一第一制品时将采用的调度策略、同步策略和执行策略;所述处理单元203具体用于:
确定所述任一第一制品是否为所述多个节点中的主节点上新增的制品;
若确定所述任一第一制品是所述多个节点中的主节点上新增的制品,则基于所述执行策略,确定执行所述同步策略;基于所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点;或者,
若确定所述任一第一制品不是所述多个节点中的主节点上新增的制品,则基于所述执行策略,确定执行所述调度策略和所述调度策略;结合所述调度策略和所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点。
在一种可能的设计中,所述调度策略包括所述任一第一制品对应的同步方式,所述同步方式包括:立即同步方式、指定时间同步方式和定时同步方式中的一种;所述同步策略包括所述任一第一制品对应的数据同步方式,所述数据同步方式包括:按照仓库同步方式、按照制品同步方式和按照文件同步方式中的一种。
在一种可能的设计中,所述处理单元203具体用于:
基于所述同步策略,确定所述任一第一制品对应的数据同步方式;
采用所述数据同步方式,将所述任一第一制品同步分发到所述至少一个目标节点;或,
所述处理单元203具体用于:
基于所述调度策略,确定所述任一第一制品对应的数据同步方式;
基于所述同步策略,确定所述任一第一制品对应的数据同步方式;
结合采用所述同步方式和所述数据同步方式,将所述任一第一制品同步分发到所述至少一个目标节点。
在一种可能的设计中,所述调度策略还包括:冲突处理方式、错误处理方式和执行方式中的一种或多种;
所述冲突处理方式包括:选择跳过、覆盖、快速失败中的一种;
所述错误处理方式包括:选择继续执行、快速失败中的一种;
所述执行方式包括:选择继续执行或快速失败中的一种。
在一种可能的设计中,所述第一同步结果包括成功数量、失败数量、冲突数量和所述任一第一制品的同步结果;所述成功数量为同步分发成功的第一制品对应的数量;所述失败数量为同步分发失败的第一制品对应的数量;所述成功数量为同步分发冲突的第一制品对应的数量。
本申请实施例中的基于DevOps的制品同步设备200与上述图1所示的基于DevOps的制品同步方法是基于同一构思下的发明,通过前述对基于DevOps的制品同步方法的详细描述,本领域技术人员可以清楚的了解本实施例中基于DevOps的制品同步设备200的实施过程,所以为了说明书的简洁,在此不再赘述。
基于同一发明构思,本申请实施例还提供一种基于DevOps的制品同步设备,如图3所示,基于DevOps的制品同步设备300可以包括:至少一个存储器301和至少一个处理器302。其中:
至少一个存储器301用于存储一个或多个程序。
当一个或多个程序被至少一个处理器302执行时,实现上述图1所示的基于DevOps的制品同步方法。
基于DevOps的制品同步设备300还可以可选地包括通信接口(图3中未示出),通信接口用于与外部设备进行通信和数据交互传输。
需要说明的是,存储器301可能包含高速RAM存储器,也可能还包括非易失性存储器 (nonvolatile memory),例如至少一个磁盘存储器。
在具体的实现过程中,如果存储器、处理器及通信接口集成在一块芯片上,则存储器、处理器及通信接口可以通过内部接口完成相互间的通信。如果存储器、处理器和通信接口独立实现,则存储器、处理器和通信接口可以通过总线相互连接并完成相互间的通信。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质可以存储有至少一个程序,当至少一个程序被处理器执行时,实现上述图1所示的基于DevOps的制品同步方法。
应当理解,计算机可读存储介质为可存储数据或程序的任何数据存储设备,数据或程序其后可由计算机系统读取。计算机可读存储介质的示例包括:只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带和光学数据存储设备等。
计算机可读存储介质还可分布在网络耦接的计算机系统中使得计算机可读代码以分布式方式来存储和执行。
计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等,或者上述的任意合适的组合。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。
Claims (9)
1.一种基于DevOps的制品同步方法,其特征在于,包括:
采用边缘节点模式或独立节点模式创建多个节点,所述多个节点中的部分节点用于同步分发任一制品;其中,当采用所述边缘节点模式创建所述多个节点时,所述多个节点中的任一对主从节点之间共享数据库,并在同步分发制品时把Blob数据分发到所述多个节点中的边缘节点;当采用所述独立节点模式创建所述多个节点时,所述多个节点中的主节点和所述多个节点中的独立节点不共享数据库,并在同步分发制品时把metadata数据和所述Blob数据给所述多个节点中的独立节点创建多个节点;所述多个节点中的任一节点为边缘节点、远程节点、独立节点、中心节点中的一个节点;所述边缘节点和所述独立节点属于从节点,所述中心节点属于主节点;
获取用户的第一操作信息,并基于所述第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点;所述多个节点包括所述至少一个目标节点;
获取待执行的同步计划,所述同步计划为用于同步分发所述任一第一制品时的计划;
执行所述同步计划,将所述任一第一制品同步分发到所述至少一个目标节点,获得所述任一第一制品对应的第一同步结果;
输出所述第一同步结果。
2.如权利要求1所述的方法,其特征在于,获取用户的第一操作信息之前,所述方法还包括:
测试所述多个节点中的远程节点和所述多个节点中的主节点之间的连接是否可用;
当确定所述多个节点中的远程节点和所述多个节点中的主节点之间的连接不可用时,输出提示信息,用于提示所述多个节点中的远程节点和所述多个节点中的主节点之间的连接不可用。
3.如权利要求1所述的方法,其特征在于,所述同步计划包括:同步分发所述任一第一制品时将采用的调度策略、同步策略和执行策略;
执行所述同步计划,将所述任一第一制品同步分发到所述至少一个目标节点,包括:
确定所述任一第一制品是否为所述多个节点中的主节点上新增的制品;
若确定所述任一第一制品是所述多个节点中的主节点上新增的制品,则基于所述执行策略,确定执行所述同步策略;基于所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点;或者,
若确定所述任一第一制品不是所述多个节点中的主节点上新增的制品,则基于所述执行策略,确定执行所述调度策略和所述调度策略;结合所述调度策略和所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点。
4.如权利要求3所述的方法,其特征在于,所述调度策略包括所述任一第一制品对应的同步方式,所述同步方式包括:立即同步方式、指定时间同步方式和定时同步方式中的一种;所述同步策略包括所述任一第一制品对应的数据同步方式,所述数据同步方式包括:按照仓库同步方式、按照制品同步方式和按照文件同步方式中的一种。
5.如权利要求4所述的方法,其特征在于,基于所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点,包括:
基于所述同步策略,确定所述任一第一制品对应的数据同步方式;
采用所述数据同步方式,将所述任一第一制品同步分发到所述至少一个目标节点;
结合所述调度策略和所述同步策略,将所述任一第一制品同步分发到所述至少一个目标节点,包括:
基于所述调度策略,确定所述任一第一制品对应的数据同步方式;
基于所述同步策略,确定所述任一第一制品对应的数据同步方式;
结合采用所述同步方式和所述数据同步方式,将所述任一第一制品同步分发到所述至少一个目标节点。
6.如权利要求4所述的方法,其特征在于,所述调度策略还包括:冲突处理方式、错误处理方式和执行方式中的一种或多种;
所述冲突处理方式包括:选择跳过、覆盖、快速失败中的一种;
所述错误处理方式包括:选择继续执行、快速失败中的一种;
所述执行方式包括:选择继续执行或快速失败中的一种。
7.如权利要求1-6任一项所述的方法,其特征在于,所述第一同步结果包括成功数量、失败数量、冲突数量和所述任一第一制品的同步结果;所述成功数量为同步分发成功的第一制品对应的数量;所述失败数量为同步分发失败的第一制品对应的数量;所述冲突数量为同步分发冲突的第一制品对应的数量。
8.一种基于DevOps的制品同步设备,其特征在于,包括:
创建单元,用于采用边缘节点模式或独立节点模式创建多个节点,所述多个节点中的部分节点用于同步分发任一制品;其中,当采用所述边缘节点模式创建所述多个节点时,所述多个节点中的任一对主从节点之间共享数据库,并在同步分发制品时把Blob数据分发到所述多个节点中的边缘节点;当采用所述独立节点模式创建所述多个节点时,所述多个节点中的主节点和所述多个节点中的独立节点不共享数据库,并在同步分发制品时把metadata数据和所述B lob数据给所述多个节点中的独立节点创建多个节点;所述多个节点中的任一节点为边缘节点、远程节点、独立节点、中心节点中的一个节点;所述边缘节点和所述独立节点属于从节点,所述中心节点属于主节点;
接收单元,用于获取用户的第一操作信息,并基于所述第一操作信息,确定待分发的任一第一制品对应的至少一个目标节点;所述多个节点包括所述至少一个目标节点;获取待执行的同步计划,所述同步计划为用于同步分发所述任一第一制品时的计划;
处理单元,用于执行所述同步计划,将所述任一第一制品同步分发到所述至少一个目标节点,获得所述至少一个第一制品对应的第一同步结果;
输出单元,用于输出所述第一同步结果。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个程序;当所述至少一个程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111077370.1A CN113542433B (zh) | 2021-09-15 | 2021-09-15 | 一种基于DevOps的制品同步方法、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111077370.1A CN113542433B (zh) | 2021-09-15 | 2021-09-15 | 一种基于DevOps的制品同步方法、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113542433A CN113542433A (zh) | 2021-10-22 |
CN113542433B true CN113542433B (zh) | 2021-12-21 |
Family
ID=78093224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111077370.1A Active CN113542433B (zh) | 2021-09-15 | 2021-09-15 | 一种基于DevOps的制品同步方法、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113542433B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009053072A1 (en) * | 2007-10-23 | 2009-04-30 | Koninklijke Kpn N.V. | Method and system for synchronizing a group of end-terminals |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120254555A1 (en) * | 2011-03-31 | 2012-10-04 | Hitachi, Ltd. | Computer system and data management method |
CN102546839B (zh) * | 2012-03-25 | 2014-10-22 | 沈阳通用软件有限公司 | 面向大规模网络的高效、可靠的软件分发方法 |
CN109542457B (zh) * | 2018-11-21 | 2022-02-01 | 四川长虹电器股份有限公司 | 一种边缘计算网络的分布式应用分发部署的系统及方法 |
CN112463181B (zh) * | 2021-02-02 | 2021-06-01 | 同盾控股有限公司 | 多云场景下的软件制品分发方法、装置、设备和存储介质 |
CN112860438A (zh) * | 2021-02-23 | 2021-05-28 | 浪潮云信息技术股份公司 | 一种基于云平台的分布式DevOps运行方法 |
-
2021
- 2021-09-15 CN CN202111077370.1A patent/CN113542433B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009053072A1 (en) * | 2007-10-23 | 2009-04-30 | Koninklijke Kpn N.V. | Method and system for synchronizing a group of end-terminals |
Also Published As
Publication number | Publication date |
---|---|
CN113542433A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103297456B (zh) | 一种分布式系统下共享资源的访问方法及分布式系统 | |
CN103680496B (zh) | 基于深层神经网络的声学模型训练方法、主机和系统 | |
CN102333029B (zh) | 一种服务器集群系统中的路由方法 | |
CN113742033B (zh) | 一种kubernetes集群联邦系统及其实现方法 | |
CN106502767B (zh) | 一种进程管理方法及其装置 | |
CN103176790A (zh) | 应用发布方法和系统 | |
CN110311831A (zh) | 基于容器云的系统资源监控方法及相关设备 | |
CN111399764B (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN106557366B (zh) | 任务分发方法、装置及系统 | |
CN103701913A (zh) | 数据同步方法及装置 | |
CN112333249A (zh) | 一种业务服务系统及方法 | |
CN114285695B (zh) | 通信方法、装置、设备、系统和存储介质 | |
CN110928681A (zh) | 数据的处理方法和装置、存储介质及电子装置 | |
CN113542433B (zh) | 一种基于DevOps的制品同步方法、设备 | |
CN114565502A (zh) | Gpu资源管理方法、调度方法、装置、电子设备及存储介质 | |
CN110532114B (zh) | 基于消息队列的定时任务管理系统及分配方法 | |
CN111400021B (zh) | 一种深度学习方法、装置及系统 | |
CN112463305A (zh) | 一种云端虚拟化gpu的管理方法、系统及相关装置 | |
CN110188140A (zh) | 数据拉取方法、装置、存储介质和计算机设备 | |
CN110333824A (zh) | 一种存储系统的扩容方法和装置 | |
CN113777909A (zh) | 主从通讯控制方法、装置、存储介质及主从通讯控制系统 | |
CN107678866B (zh) | 一种基于嵌入式操作系统的分区通信方法及装置 | |
WO2016067370A1 (ja) | 情報処理装置、方法およびプログラム | |
CN112055057B (zh) | 一种Web系统动态扩展的方法及系统和设备 | |
JP2006072987A (ja) | ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム |
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 |