CN110532026A - 冷备代码工程恢复的方法及装置 - Google Patents
冷备代码工程恢复的方法及装置 Download PDFInfo
- Publication number
- CN110532026A CN110532026A CN201910812972.3A CN201910812972A CN110532026A CN 110532026 A CN110532026 A CN 110532026A CN 201910812972 A CN201910812972 A CN 201910812972A CN 110532026 A CN110532026 A CN 110532026A
- Authority
- CN
- China
- Prior art keywords
- cold standby
- code
- restored
- version
- engineering
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种冷备代码工程恢复的方法及装置。该申请的方法包括确定待恢复的冷备代码工程;根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,所述冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。本申请解决现有冷备代码工程恢复的方式效率低的问题。
Description
技术领域
本申请涉及代码管理技术领域,具体而言,涉及一种冷备代码工程恢复的方法及装置。
背景技术
现有代码管理工具有vss、cc、svn、git等,提供了客户端拉取代码,服务端保存代码的功能。对于服务端保存的代码,分为多个由用户创建的代码工程,存放在不同群组、不同用户目录下。对于某些代码工程,由于员工离职,开发人员职位范围变化,工作交接贻误等各种原因,会造成代码库内的已有代码工程对应所有人(owner)已离职或失效,或者对应代码工程长时间未进行任何提交的情况。通常情况下对于该类代码工程会进行自动清理工作,对于上述代码工程进行冷备操作,冷备操作完成后,从当前代码库内移除。当该类冷备操作后的代码工程被删除后,若后续开发人员到岗,或者业务重新上线时,需要重新从冷备数据中恢复该类代码工程。
现有的对已经冷备的代码工程进行恢复的方式为:管理员自己手动指定对应的冷备包,如果对应代码工程在该冷备包中,则手动导入代码工程恢复代码;如果对应代码工程不从在于该冷备包中,则不可恢复对应代码工程数据,还需要继续指定其他的冷备包,直到将所有的代码工程都恢复为止。上述对已经冷备的代码工程恢复的方式,由于需要管理员手动指定冷备包,缺乏准备性,当指定失败时,需要多次解压多个冷备包操作;另外,如果一次性需要恢复多个代码工程时,需要管理员手动逐一进行代码工程进行导入,费时费力。综上,现有冷备代码工程恢复的方式效率低。
发明内容
本申请的主要目的在于提供一种冷备代码工程恢复的方法及装置,以解决现有冷备代码工程恢复的方式效率低的问题。
为了实现上述目的,根据本申请的第一方面,提供了一种冷备代码工程恢复的方法。
根据本申请的冷备代码工程恢复的方法包括:
确定待恢复的冷备代码工程;
根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,所述冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;
根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。
进一步的,所述根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本包括:
根据所有待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含待恢复的冷备代码工程的数量最多的第一目标冷备版本。
进一步的,所述方法还包括:
判断第一目标冷备版本中是否包含所有的待恢复的冷备代码工程;
若不包含所有的待恢复的冷备代码工程,则重新根据第一目标冷备版本未包含的待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找第二目标冷备版本,所述第二目标冷备版本的查找原则与第一目标冷备版本的查找原则相同;
判断第二目标冷备版本中是否包含第一目标冷备版本未包含的所有的待恢复的冷备代码工程;
若不包含,则继续自动查找第三目标冷备版本,直至所有的待恢复的冷备代码工程都查找到对应的目标冷备版本;
所述根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库包括:
根据所有的目标冷备版本对应的冷备版本代码库将所有的待恢复的冷备代码工程从冷备代码库中恢复到线上代码库。
进一步的,根据目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库,包括:
将目标冷备版本对应的冷备版本代码库解压;
判断目标冷备版本对应的冷备版本代码库的版本号与线上代码库的版本号是否相同;
若相同,则生成代码恢复请求;
并接收线上代码库根据代码恢复请求生成的代码恢复令牌token;
根据所述代码恢复token将待恢复的冷备代码工程恢复到线上代码库中。
进一步的,所述方法还包括:
若不相同,则对目标冷备版本对应的解压后的冷备版本代码库进行升级,以使冷备版本代码库的版本与线上代码库的版本相同之后生成代码恢复请求。
进一步的,所述方法还包括:
冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库通过冷备代码工程的身份标识信息ID、冷备版本的版本号进行关联存储,所述冷备版本的版本号中包括服务器时间戳、冷备版本代码库的版本号、生成冷备的时间。
为了实现上述目的,根据本申请的第二方面,提供了一种冷备代码工程恢复的装置。
根据本申请的冷备代码工程恢复的装置包括:
确定单元,用于确定待恢复的冷备代码工程;
查找单元,用于根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,所述冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;
恢复单元,用于根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。
进一步的,所述查找单元用于:
根据所有待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含待恢复的冷备代码工程的数量最多的第一目标冷备版本。
进一步的,所述装置还包括:
判断单元,用于判断第一目标冷备版本中是否包含所有的待恢复的冷备代码工程;
查找单元,还用于若不包含所有的待恢复的冷备代码工程,则重新根据第一目标冷备版本未包含的待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找第二目标冷备版本,所述第二目标冷备版本的查找原则与第一目标冷备版本的查找原则相同;
所述判断单元,还用于判断第二目标冷备版本中是否包含第一目标冷备版本未包含的所有的待恢复的冷备代码工程;
所述查找单元,还用于若不包含,则继续自动查找第三目标冷备版本,直至所有的待恢复的冷备代码工程都查找到对应的目标冷备版本;
所述恢复单元,用于根据所有的目标冷备版本对应的冷备版本代码库将所有的待恢复的冷备代码工程从冷备代码库中恢复到线上代码库。
进一步的,所述恢复单元包括:
解压模块,用于将目标冷备版本对应的冷备版本代码库解压;
判断模块,用于判断目标冷备版本对应的冷备版本代码库的版本号与线上代码库的版本号是否相同;
生成模块,用于若相同,则生成代码恢复请求;
接收模块,用于并接收线上代码库根据代码恢复请求生成的代码恢复令牌token;
恢复模块,用于根据所述代码恢复token将待恢复的冷备代码工程恢复到线上代码库中。
进一步的,所述装置还包括:
升级单元,若不相同,则对目标冷备版本对应的解压后的冷备版本代码库进行升级,以使冷备版本代码库的版本与线上代码库的版本相同之后生成代码恢复请求。
进一步的,所述装置还包括:
存储单元,用于冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库通过冷备代码工程的身份标识信息ID、冷备版本的版本号进行关联存储,所述冷备版本的版本号中包括服务器时间戳、冷备版本代码库的版本号、生成冷备的时间。
为了实现上述目的,根据本申请的第三方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述第一方面中任一项所述的冷备代码工程恢复的方法。
在本申请实施例中,冷备代码工程恢复的方法及装置能够首先确定待恢复的冷备代码工程;其次,根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;最后根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。可以看出本实施例,根据待恢复的冷备代码工程自动的从冷备代码库中查找到对应的用于恢复待恢复的冷备代码工程的冷备版本(第一目标冷备版本),然后再根据查找到的冷备版本对应的冷备版本代码库将待恢复的冷备代码工程进行恢复。相比于现有的技术,不需要人工手动的进行无准备的选择冷备包,全部都是通过脚本实现的,整体上提高了冷备代码工程恢复的效率。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种冷备代码工程恢复的方法流程图;
图2是根据本申请实施例提供的另一种冷备代码工程恢复的方法流程图;
图3是根据本申请实施例提供的一种冷备代码工程恢复的装置的组成框图;
图4是根据本申请实施例提供的另一种冷备代码工程恢复的装置的组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本申请实施例,提供了一种冷备代码工程恢复的方法,如图1所示,该方法包括如下的步骤:
S101.确定待恢复的冷备代码工程。
待恢复的冷备代码工程是用户根据恢复需求确定的,用户可以通过输入框等方式输入恢复需求,恢复需求中至少包含待恢复的冷备代码工程的工程名称或其他身份标识信息。当接收到用户输入的恢复需求后,可以根据恢复需求分析确定待恢复的冷备文件,具体的本实施例会确定待恢复的冷备代码工程以及冷备代码工程的数量等。待恢复的冷备代码工程可以为一个或多个。需要说明的是冷备代码工程是已经在冷备代码库中进行冷备的代码工程,每个代码工程包括多个文件,代码工程是单个相关联代码集合,一个代码工程可以有1-N个用户成员,对应成员可以进行文件、代码提交、删除等操作。
S102.根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本。
其中,冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储,即三者之间彼此存在对应关系,三者之间通过各自的身份标识ID进行关联。冷备代码库用于存储已经删除的代码,在实际的开发过程中,通常是当开发人员完成一部分代码或者间隔一段时间将该段时间内完成的代码提交到冷备代码库进行冷备。本实施例中对提交的需要冷备的代码进行存储时,是将一段时间内提交的代码生成一个冷备版本,不同的时间生成的冷备版本是不同的;不同冷备版本对应冷备版本代码库也是不同的。
具体的,本实施例通过对一段时间内的单个代码工程的基础数据进行拉取,然后拆分到该时间段内每次代码提交,之后自动对每次代码提交进行增量数据的生成,生成完成后每次提交生成的增量数据与对应的基础数据进行对比,将对应的数据进行合并存储。给出具体的示例进行说明,假设第一时间段提交的需要冷备的代码中包含属于两个代码工程(工程1和工程2)的代码数据,当第二时间段提交的需要冷备的代码中包含第一时间段冷备的工程1的代码数据的增量数据时,则需要将第二时间段提交的工程1的代码数据的增量数据与第一时间段提交的工程1的代码数据进行合并,即第二时间段对应的冷备版本代码库中工程1的代码数据是包含第一时间段和第二时间段提交的代码数据。需要说明的是,第一时间段和第二时间段对应不同的冷备版本,不同的冷备版本对应不同的冷备版本代码库。
第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找待恢复的冷备代码工程对应的第一目标冷备版本是:根据待恢复的冷备代码工程的身份标识ID以及冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联关系,从冷备代码库中自动查找包括全部或者部分的待恢复的冷备代码工程的冷备版本,从上述的示例中可以看到一个代码工程可能会出现多个冷备版本中,而第一目标冷备版本通常是一个冷备版本,因此当包括全部待恢复的冷备代码工程的冷备版本为多个时,通常可以选择距离当前最近的一个时段对应的冷备版本作为第一目标冷备版本。在实际的应用中,优选的第一目标冷备版本为包含全部的待恢复的冷备代码工程的冷备版本,次之为包含部分的待恢复的冷备代码工程的冷备版本。
S103.根据第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。
确定第一目标冷备版本后,针对第一目标冷备版本进行冷备代码工程的恢复。具体的,是需要将第一目标冷备版本对应的冷备版本代码库中的只属于待恢复的冷备代码工程的代码进行线上的恢复,其他的代码不进行处理。需要说明的是,第一目标冷备版本对应的冷备版本代码库中可能包括除待恢复的冷备代码工程之外的多个其他冷备代码工程。
上述所有的步骤的实现是通过脚本实现的,无需人工的干预。
从以上的描述中,可以看出,本申请实施例中冷备代码工程恢复的方法能够首先确定待恢复的冷备代码工程;其次,根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;最后根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。可以看出本实施例,根据待恢复的冷备代码工程自动的从冷备代码库中查找到对应的用于恢复待恢复的冷备代码工程的冷备版本(第一目标冷备版本),然后再根据查找到的冷备版本对应的冷备版本代码库将待恢复的冷备代码工程进行恢复。相比于现有的技术,不需要人工手动的进行无准备的选择冷备包,全部都是通过脚本实现的,整体上提高了冷备代码工程恢复的效率。
本申请实施例提供了另一种冷备代码工程恢复的方法,该方法是对上述实施例的进一步细化以及补充说明,如图2所示,该方法包括:
S201.确定待恢复的冷备代码工程。
本步骤的实现方式与图1步骤S101的实现方式相同,此处不再赘述。
S202.根据所有待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含待恢复的冷备代码工程的数量最多的第一目标冷备版本。
在实际的应用中,如果待恢复的代码工程文件较多时,可能存在一个冷备版本不包含所有的待恢复的冷备代码工程。为了提高效率,选择包含待恢复的冷备代码工程的数量最多的冷备版本作为第一目标冷备版本。
冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库通过冷备代码工程的身份标识信息ID、冷备版本的版本号进行关联存储,冷备版本的版本号中包括服务器时间戳、冷备版本代码库的版本号、生成冷备的时间。
S203.判断第一目标冷备版本中是否包含所有的待恢复的冷备代码工程。
每个冷备版本中包含的冷备代码工程可以根据每个冷备版本对应的冷备代码工程的ID确定,因此根据第一目标冷备版本对应的所有冷备代码工程的ID和所有待恢复的冷备代码工程的ID之间进行比对,可以确定第一目标冷备版本中是否包含所有的待恢复的冷备代码工程。
S204.若不包含所有的待恢复的冷备代码工程,则重新根据第一目标冷备版本未包含的待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找第二目标冷备版本。
针对步骤S203的判断结果,若第一目标冷备代码工程不包含所有的待恢复的冷备代码工程,则根据第一目标冷备版本未包含的待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找第二目标冷备版本。其中第二目标冷备版本的查找原则与第一目标冷备版本的查找原则相同的,即以第一目标冷备版本未包含的待恢复的冷备代码工程的身份标识ID为依据,按照步骤S202的方式查找第二目标冷备版本。
另外,需要说明的是,如果第一目标冷备代码工程包含所有的待恢复的冷备代码工程,则直接执行步骤S207进行待恢复的冷备代码工程的线上恢复。
S205.判断第二目标冷备版本中是否包含第一目标冷备版本未包含的所有的待恢复的冷备代码工程。
S206.若不包含,则继续自动查找第三目标冷备版本,直至所有的待恢复的冷备代码工程都查找到对应的目标冷备版本。
步骤S206所有的目标冷备版本(包括第三目标冷备版本)的查找的原则都是相同的,都与第一目标冷备版本和第二目标冷备版本的查找原则是相同的,此处不再赘述。
S207.根据所有的目标冷备版本对应的冷备版本代码库将所有的待恢复的冷备代码工程从冷备代码库中恢复到线上代码库。
具体的,恢复过程如下:
1)将目标冷备版本对应的冷备版本代码库解压;
2)判断目标冷备版本对应的冷备版本代码库的版本号与线上代码库的版本号是否相同;
由于冷备代码库中每一个冷备版本的版本号中都包含冷备版本代码库的版本号,而目标冷备版本是从了冷备代码库中查找确定冷备版本,因此目标冷备版本代码库的版本号可以根据目标冷备版本的版本号确定;线上代码库的版本号可以直接从线上代码库获取。
由于进行冷备代码库与线上代码库同步代码工程之前需要保持两个代码库的版本一致,否则存在同步对应代码工程出错的情况。因此,在将待恢复的冷备代码工程恢复到线上代码库中之前,需要判断目标冷备版本对应的冷备版本代码库的版本号与线上代码库的版本号是否相同。
3)若相同,则生成代码恢复请求;并执行步骤4)和5);若不相同则执行步骤6)之后再执行步骤4)和5);
4)接收线上代码库根据代码恢复请求生成的代码恢复令牌token;
每一次代码恢复都需要向线上代码库申请代码恢复令牌token。代码恢复令牌token是允许对线上代码库进行访问或者操作的许可。
5)根据所述代码恢复token将待恢复的冷备代码工程恢复到线上代码库中。
6)对目标冷备版本对应的解压后的冷备版本代码库进行升级,以使冷备版本代码库的版本与线上代码库的版本相同之后生成代码恢复请求。
对目标冷备版本对应的解压后的冷备版本代码库进行升级,是只对冷备代码库中对应的待恢复的冷备代码工程的代码进行升级,其他的无关的代码不需要升级。
针对图2实施例的实现流程,还提供了另外一种实现流程。另一种实现流程与图2中的实现流程的区别为:在步骤S202之后,先针对得到的第一目标冷备版本执行步骤S207,执行完S207之后,再执行步骤S203和步骤S204,然后再针对得到第二目标冷备版本再次执行步骤S207,然后再循环的执行步骤S203和步骤S204,S207,直到所有的待恢复的冷备代码工程都恢复到线上代码库为止。另一种实现流程是每确定一个目标冷备版本就对其进行恢复,然后判断是否需要查找另外的目标冷备版本,循环的进行查找目标冷备版本和恢复的过程;而图2中的实现流程是,循环进行查找目标冷备版本的过程,等到将所有的目标冷备版本都查找出后,统一进行恢复。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述图1至图2所述方法的冷备代码工程恢复的装置,如图3所示,该装置包括:
确定单元31,用于确定待恢复的冷备代码工程;
查找单元32,用于根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,所述冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;
恢复单元33,用于根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。
从以上的描述中,可以看出,本申请实施例中冷备代码工程恢复的装置能够首先确定待恢复的冷备代码工程;其次,根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;最后根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。可以看出本实施例,根据待恢复的冷备代码工程自动的从冷备代码库中查找到对应的用于恢复待恢复的冷备代码工程的冷备版本(第一目标冷备版本),然后再根据查找到的冷备版本对应的冷备版本代码库将待恢复的冷备代码工程进行恢复。相比于现有的技术,不需要人工手动的进行无准备的选择冷备包,全部都是通过脚本实现的,整体上提高了冷备代码工程恢复的效率。
进一步的,进一步的,所述查找单元32用于:
根据所有待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含待恢复的冷备代码工程的数量最多的第一目标冷备版本。
进一步的,如图4所示,所述装置还包括:
判断单元34,用于判断第一目标冷备版本中是否包含所有的待恢复的冷备代码工程;
查找单元32,还用于若不包含所有的待恢复的冷备代码工程,则重新根据第一目标冷备版本未包含的待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找第二目标冷备版本,所述第二目标冷备版本的查找原则与第一目标冷备版本的查找原则相同;
所述判断单元34,还用于判断第二目标冷备版本中是否包含第一目标冷备版本未包含的所有的待恢复的冷备代码工程;
所述查找单元32,还用于若不包含,则继续自动查找第三目标冷备版本,直至所有的待恢复的冷备代码工程都查找到对应的目标冷备版本;
所述恢复单元33,用于根据所有的目标冷备版本对应的冷备版本代码库将所有的待恢复的冷备代码工程从冷备代码库中恢复到线上代码库。
进一步的,如图4所示,所述恢复单元33包括:
解压模块331,用于将目标冷备版本对应的冷备版本代码库解压;
判断模块332,用于判断目标冷备版本对应的冷备版本代码库的版本号与线上代码库的版本号是否相同;
生成模块333,用于若相同,则生成代码恢复请求;
接收模块334,用于并接收线上代码库根据代码恢复请求生成的代码恢复令牌token;
恢复模块335,用于根据所述代码恢复token将待恢复的冷备代码工程恢复到线上代码库中。
进一步的,如图4所示,所述装置还包括:
升级单元35,若不相同,则对目标冷备版本对应的解压后的冷备版本代码库进行升级,以使冷备版本代码库的版本与线上代码库的版本相同之后生成代码恢复请求。
进一步的,如图4所示,所述装置还包括:
存储单元36,用于冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库通过冷备代码工程的身份标识信息ID、冷备版本的版本号进行关联存储,所述冷备版本的版本号中包括服务器时间戳、冷备版本代码库的版本号、生成冷备的时间。
具体的,本申请实施例的装置中各单元和模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请实施例,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行图1至图2中任一所述的冷备代码工程恢复的方法。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种冷备代码工程恢复的方法,其特征在于,所述方法包括:
确定待恢复的冷备代码工程;
根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,所述冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;
根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。
2.根据权利要求1所述的冷备代码工程恢复的方法,其特征在于,所述根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本包括:
根据所有待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含待恢复的冷备代码工程的数量最多的第一目标冷备版本。
3.根据权利要求2所述的冷备代码工程恢复的方法,其特征在于,所述方法还包括:
判断第一目标冷备版本中是否包含所有的待恢复的冷备代码工程;
若不包含所有的待恢复的冷备代码工程,则重新根据第一目标冷备版本未包含的待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找第二目标冷备版本,所述第二目标冷备版本的查找原则与第一目标冷备版本的查找原则相同;
判断第二目标冷备版本中是否包含第一目标冷备版本未包含的所有的待恢复的冷备代码工程;
若不包含,则继续自动查找第三目标冷备版本,直至所有的待恢复的冷备代码工程都查找到对应的目标冷备版本;
所述根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库包括:
根据所有的目标冷备版本对应的冷备版本代码库将所有的待恢复的冷备代码工程从冷备代码库中恢复到线上代码库。
4.根据权利要求1-3中任一所述的冷备代码工程恢复的方法,其特征在于,根据目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库,包括:
将目标冷备版本对应的冷备版本代码库解压;
判断目标冷备版本对应的冷备版本代码库的版本号与线上代码库的版本号是否相同;
若相同,则生成代码恢复请求;
并接收线上代码库根据代码恢复请求生成的代码恢复令牌token;
根据所述代码恢复token将待恢复的冷备代码工程恢复到线上代码库中。
5.根据权利要求4所述的冷备代码工程恢复的方法,其特征在于,所述方法还包括:
若不相同,则对目标冷备版本对应的解压后的冷备版本代码库进行升级,以使冷备版本代码库的版本与线上代码库的版本相同之后生成代码恢复请求。
6.根据权利要求5所述的冷备代码工程恢复的方法,其特征在于,所述方法还包括:
冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库通过冷备代码工程的身份标识信息ID、冷备版本的版本号进行关联存储,所述冷备版本的版本号中包括服务器时间戳、冷备版本代码库的版本号、生成冷备的时间。
7.一种冷备代码工程恢复的装置,其特征在于,所述装置包括:
确定单元,用于确定待恢复的冷备代码工程;
查找单元,用于根据待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含与待恢复的冷备代码工程对应的第一目标冷备版本,第一目标冷备版本包含全部或部分的待恢复的冷备代码工程,所述冷备代码库中冷备代码工程、冷备版本、冷备版本对应的冷备版本代码库三者关联存储;
恢复单元,用于根据所述第一目标冷备版本对应的冷备版本代码库将待恢复的冷备代码工程恢复到线上代码库。
8.根据权利要求7所述的冷备代码工程恢复的装置,其特征在于,所述查找单元用于:
根据所有待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找包含待恢复的冷备代码工程的数量最多的第一目标冷备版本。
9.根据权利要求8所述的冷备代码工程恢复的装置,其特征在于,所述装置还包括:
判断单元,用于判断第一目标冷备版本中是否包含所有的待恢复的冷备代码工程;
查找单元,还用于若不包含所有的待恢复的冷备代码工程,则重新根据第一目标冷备版本未包含的待恢复的冷备代码工程的身份标识ID从冷备代码库中自动查找第二目标冷备版本,所述第二目标冷备版本的查找原则与第一目标冷备版本的查找原则相同;
所述判断单元,还用于判断第二目标冷备版本中是否包含第一目标冷备版本未包含的所有的待恢复的冷备代码工程;
所述查找单元,还用于若不包含,则继续自动查找第三目标冷备版本,直至所有的待恢复的冷备代码工程都查找到对应的目标冷备版本;
所述恢复单元,用于根据所有的目标冷备版本对应的冷备版本代码库将所有的待恢复的冷备代码工程从冷备代码库中恢复到线上代码库。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行权利要求1至权利要求6中任一项所述的冷备代码工程恢复的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910812972.3A CN110532026A (zh) | 2019-08-29 | 2019-08-29 | 冷备代码工程恢复的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910812972.3A CN110532026A (zh) | 2019-08-29 | 2019-08-29 | 冷备代码工程恢复的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110532026A true CN110532026A (zh) | 2019-12-03 |
Family
ID=68665440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910812972.3A Withdrawn CN110532026A (zh) | 2019-08-29 | 2019-08-29 | 冷备代码工程恢复的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532026A (zh) |
-
2019
- 2019-08-29 CN CN201910812972.3A patent/CN110532026A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647357B (zh) | 数据查询的方法及装置 | |
CN104252481A (zh) | 主从数据库一致性的动态校验方法和装置 | |
CN101308471B (zh) | 一种恢复数据的方法及装置 | |
CN110688305B (zh) | 测试环境同步方法、装置、介质、电子设备 | |
CN103020058A (zh) | 一种多版本数据获取方法和装置 | |
CN113434482A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN114780138B (zh) | 流场模拟软件代码版本管理方法、装置和存储介质 | |
CN114721881B (zh) | 一种数据库管理方法、系统、电子设备及存储介质 | |
CN112825068B (zh) | 数据血缘生成方法及装置 | |
KR102243794B1 (ko) | 데이터 통합 장치 및 데이터 통합 방법 | |
CN109542496A (zh) | 增量代码确定方法、装置及系统 | |
CN112613792A (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
CN114138182B (zh) | 一种分布式云硬盘的跨存储在线克隆方法、系统及装置 | |
CN110532026A (zh) | 冷备代码工程恢复的方法及装置 | |
CN114221971B (zh) | 数据同步方法、装置、服务器、存储介质及产品 | |
US20210406469A1 (en) | Management of concepts and intents in conversational systems | |
CN110879871B (zh) | 页面菜单的配置方法及装置 | |
CN109558153B (zh) | 版本一致性确定方法、装置及系统 | |
CN113495723A (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN113434359B (zh) | 数据溯源系统构建方法、装置、电子设备及可读存储介质 | |
CN110046192B (zh) | 请求信息的序号生成系统和方法 | |
CN115250231B (zh) | 应用配置方法及装置 | |
CN117472651A (zh) | 分布式数据库数据恢复方法、装置、电子设备和存储介质 | |
CN118627490A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN118200402A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191203 |
|
WW01 | Invention patent application withdrawn after publication |