CN106445529A - 持续集成服务器的配置信息的备份方法及*** - Google Patents

持续集成服务器的配置信息的备份方法及*** Download PDF

Info

Publication number
CN106445529A
CN106445529A CN201610855422.6A CN201610855422A CN106445529A CN 106445529 A CN106445529 A CN 106445529A CN 201610855422 A CN201610855422 A CN 201610855422A CN 106445529 A CN106445529 A CN 106445529A
Authority
CN
China
Prior art keywords
configuration information
information
current
edition
history
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.)
Pending
Application number
CN201610855422.6A
Other languages
English (en)
Inventor
李华强
喻满意
景韵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leshi Zhixin Electronic Technology Tianjin Co Ltd
LeTV Holding Beijing Co Ltd
Original Assignee
Leshi Zhixin Electronic Technology Tianjin Co Ltd
LeTV Holding Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Leshi Zhixin Electronic Technology Tianjin Co Ltd, LeTV Holding Beijing Co Ltd filed Critical Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority to CN201610855422.6A priority Critical patent/CN106445529A/zh
Publication of CN106445529A publication Critical patent/CN106445529A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种持续集成服务器的配置信息的备份方法,包括:获取持续集成应用环境的当前配置信息相关的当前校验信息;将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较;当所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。本发明实施例还提供了相应的***。本发明实施例由于只在本地仓库存储发生了变更的配置信息,减少了本地仓库中的存储内容,降低了冗余备份的可能性,避免了冗余备份对CPU、内存、存储空间等资源过高的消耗。

Description

持续集成服务器的配置信息的备份方法及***
技术领域
本发明涉及计算机领域,具体涉及一种持续集成服务器的配置信息的备份方法及***。
背景技术
随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile)在软件工程领域越来越红火,如何能在不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。持续集成(Continuous integration)正是针对这一类问题的一种软件开发实践。持续集成是一种软件项目管理方法,依据资产库(源码,类库等)的变更自动完成编译、测试、部署和反馈,为软件产品提供了一个可以构建编译测试等任务的自动化集成环境。通俗地讲,持续集成指的是,频繁地将代码集成到主干。程序员在向版本库中提交代码后,CI持续集成服务器自动发现或者定时发现变更,依据这些源码,重新构建产品的编译、测试、审查、部署和反馈过程。其核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。每完成一点更新,就集成到主干,可以快速发现错误和定位错误。还可以防止分支大幅偏离主干。因此,持续集成可以帮助研发人员快速地集成代码改动,帮助测试人员进行自动化软件质量测试,从而可以持续集成产品的代码变动,缩短产品研发周期,使得产品可以快速迭代的同时还能保持高质量,在软件产品的生产环境发挥着至关重要的作用。
用于持续集成的工具需要搭建在特定的服务器上,该特定的服务器称之为持续集成服务器。其中,对持续集成服务器上持续集成环境配置信息(持续集成工具应用的配置信息,软件编译测试构建任务的配置信息等)的备份,对于软件产品的生产环境的迁移以及灾难恢复都有着重大的意义。由于集成环境构建任务等配置信息随着用户的使用会有所改变,因此持续集成服务器配置信息需要定期备份。而备份周期间隔越短,备份内容也就越接近真实环境。
目前对持续集成服务器配置信息的备份多使用插件备份和远程备份的方法。前者利用持续集成工具的内置插件对限定的配置信息实现备份;后者使用同步工具(例如Rsync)把配置信息同步到远程服务器。两种方法每次备份都需要对配置信息单独归档,然后存放或者同步至备份服务器上。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:无论是利用插件实现备份还是远程备份的方法,由于备份时都需要对配置信息进行归档,例如每次将代码提交到持续集成服务器上导致配置信息发生改变时,均需要同步配置信息的存储目录(每提交一次代码就备份一次),导致备份的内容中有很多配置信息是大量重复的,因此会造成冗余备份和冗余存储的问题。此外,每次归档的备份需要同步到远程备份服务器上,而冗余存储和远程同步则会导致资源(CPU、内存、存储空间等)消耗过大,增加了***负担。
发明内容
本发明实施例提供一种持续集成服务器的配置信息的备份方法及***,用以至少解决上述阐述的现有技术中对持续集成服务器配置信息的备份存在冗余备份的问题。
第一方面,本发明实施例提供了一种持续集成服务器的配置信息的备份方法,包括:
获取持续集成应用环境的当前配置信息相关的当前校验信息;
将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较;
当所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;
基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。
第二方面,本发明实施例提供了一种持续集成服务器的配置信息的备份***,包括:
校验信息获取模块,用于获取持续集成应用环境的当前配置信息相关的当前校验信息;
校验信息对比模块,用于将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较;
配置信息更新模块,用于在所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;
元数据存储模块,用于基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。
第三方面,本发明实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本发明上述任一项持续集成服务器的配置信息的备份方法。
第四方面,本发明实施例还提供了一种电子设备,包括:至少一个处理器;以及存储器;其中,所述存储器存储有可被所述至少一个处理器执行的程序,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项持续集成服务器的配置信息的备份方法。
第五方面,本发明实施例还提供了一种计算机程序产品,包括至少一个非易失性计算机存储介质,所述非易失性计算机存储介质具有存储在其中的计算机可执行程序代码指令,所述计算机可执行程序代码指令能够执行上述任一项所述的持续集成服务器的配置信息的备份方法。
本发明实施例提供的持续集成服务器的配置信息的备份方法及***,通过将持续集成应用环境的当前配置信息与本地仓库中最新版本的历史配置信息进行校验信息的比较,可以确定持续集成应用环境生成的当前配置信息是否和历史配置信息相同,即当前配置信息与历史配置信息相比是否发生了变化;当二者的校验信息不同时,用当前版本的当前配置信息更新最新版本的历史配置信息,由于只存储发生了变更(当前版本)的配置信息,可以减少本地仓库中的存储内容,降低冗余备份的可能性,避免冗余备份对CPU、内存、存储空间等资源过高的消耗;在生成当前版本的元数据后将当前版本的元数据存储在本地仓库中,可以通过存储的各版本的元数据及当前版本的当前配置信息进行相应的数据处理(例如数据回滚)得到所有版本的配置信息,使得本地仓库减少冗余备份的同时,能够继续对配置信息的各个版本进行控制,提高了***性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例的持续集成服务器的配置信息的备份方法的流程图;
图2是本发明另一实施例的持续集成服务器的配置信息的备份方法的流程图;
图3是本发明又一实施例的持续集成服务器的配置信息的备份方法的流程图;
图4是本发明再一实施例的持续集成服务器的配置信息的备份方法的流程图;
图5是本发明一实施例的持续集成服务器的配置信息的备份***的结构示意图;
图6是本发明一实施例提供的实施持续集成服务器的配置信息的备份方法的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施方式及实施方式中的特征可以相互组合。
本发明可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1是本发明一实施例的持续集成服务器的配置信息的备份方法的流程图。如图1所示,该方法包括:
S11:获取持续集成应用环境的当前配置信息相关的当前校验信息;
S12:;将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较
S13:当所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;
S14:基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。
持续集成应用环境中,持续集成服务器(下文简称为服务器)在构建项目的编译、测试等任务时,会在该项目的相应目录下生成相应的配置信息。当构建的任务有变化时,其生成的配置信息也会有变化。例如,构建的任务与上一次相比数量增多了,则服务器在该项目的配置信息存储目录下生成的配置信息的数量(包括配置信息存储目录下的子目录数量)也相应增加。每次发生变化的构建任务生成的配置信息可以存为一个版本。当构建的任务发生错误从而想回退到未构建本次任务的状态时,可以通过本地仓库中的数据(包括源代码、配置信息、日志链接等)回退到任意版本。其中,在进行数据回退时,数据(包括配置信息)的元数据必不可少。元数据至少包括但不限于构建任务的提交者、构建任务的时间戳(即提交时间)、数据的存储目录、指向上一版本的元数据的索引。因此,本发明实施例中用第二版本的当前配置信息更新第一版本的历史配置信息,可以基于第二版本的当前配置信息和各个版本的元数据来得到各个版本的配置信息。
本发明实施例提供的持续集成服务器的配置信息的备份方法,通过将持续集成应用环境的当前配置信息与本地仓库中第一版本(最新)的历史配置信息进行校验信息的比较,由于二者的校验信息相同表明当前配置信息与历史配置信息相比未发生变化,因此可以通过校验信息的比较确定是否要将持续集成应用环境生成的当前配置信息进行备份;当二者的校验信息不同时,用第二版本(当前版本)的当前配置信息更新第一版本的历史配置信息,由于服务器中只存储发生变更(第二版本)的配置信息,可以减少本地仓库中的存储内容,降低冗余备份的可能性;在生成第二版本的元数据后将第二版本的元数据存储在本地仓库中,可以通过对本地仓库存储的各版本的元数据及当前版本的当前配置信息进行相应的数据处理(例如数据回滚)得到所有版本的配置信息,使得本地仓库减少冗余备份的同时,能够继续对配置信息的各个版本进行回退等控制,提高了持续集成***的性能。
应当理解的是,本发明实施例也可以将当前配置信息相关的当前校验信息与本地仓库中所有历史版本的配置信息的校验信息进行比较,从而保证服务器中配置信息的每一个版本均不相同,使得服务器冗余存储的可能性更小。
图2是本发明另一实施例的持续集成服务器的配置信息的备份方法的流程图。如图2所示,该方法除了包括图1所示步骤外,还包括:
S15:当所述当前校验信息和所述历史校验信息不同时,确定所述当前配置信息中与所述历史配置信息相比的增量配置信息;
S16:至少将所述增量配置信息和所述第二版本的元数据发送至与所述本地仓库关联的远程仓库。
图1所示方法在服务器出现故障,而此时碰巧没有备份或者备份不及时,可能存在丢失数据的风险。因此,通过将配置信息备份至与本地仓库关联的远程仓库,可以降低数据丢失的可能性。
本实施例在当前校验信息和历史校验信息不同,即当前配置信息与历史配置信息不完全相同的情况下,将当前配置信息与所述历史配置信息相比的增量配置信息(包括增加的、变更的配置信息)及第二版本的当前配置信息的元数据发送至远程仓库,与现有技术中将每个版本的配置信息均备份至远程仓库相比,在能得到配置信息的各个版本的同时,又大大减少了远程仓库需要备份的配置信息的数量和大小,降低了对远程仓库的空间大小的需求,从另一方面再次减少了***的冗余备份,提高了***性能。
应当说明的是,本实施例不受所描述的动作顺序的限制,例如上述实施例中步骤14和步骤15可以采用其他顺序或者同时进行。
图3是本发明又一实施例的持续集成服务器的配置信息的备份方法的流程图。如图3所示,该方法在图2所示S15当所述当前校验信息和所述历史校验信息不同时,确定所述当前配置信息中与所述历史配置信息相比的增量配置信息之后,包括:
S151:为所述增量配置信息及所述第二版本的元数据添加索引标签信息;
S16至少将所述增量配置信息和所述第二版本的元数据发送至与所述本地仓库关联的远程仓库包括:
S161:将所述增量配置信息、所述第二版本的元数据连同所述索引标签信息发送至所述远程仓库。
本实施例中,索引标签信息用于响应数据恢复请求或数据回滚请求时对第二版本的当前配置信息的查找。例如可以为第二版本和第一版本的增量配置信息以及第二版本的元数据赋予“公测版”“稳定版”等标签,也可以添加便于理解本次构建任务的标签,使得以后在查找配置信息的第二版本时,可以通过添加的标签快捷方便地获取到。本实施例提供的方法在需要对配置信息进行数据恢复或数据回滚而配置信息的版本号或唯一标识符字数太长或太复杂时尤为有利。
作为上述实施例的进一步说明,本发明实施例中至少通过计算配置信息的存储目录的哈希值确定与配置信息相关的校验信息。本实施例通过对配置信息的存储目录(包括目录结构)进行哈希计算得到哈希值(例如MD5值、SHA1值等),可以使配置信息(包括当前配置信息和历史配置信息)相关的校验信息唯一被确定,从而能够更精确地判断当前配置信息与历史配置信息相比是否发生了变化,进一步减少***冗余备份的可能性。
图4是本发明再一实施例的持续集成服务器的配置信息的备份方法的流程图。如图4所示,在图1、图2或图3所示步骤11获取持续集成应用环境的当前配置信息相关的当前校验信息之前,包括:
S10:提取符合过滤规则的持续集成应用环境的当前配置信息。
其中,过滤规则根据本地仓库中设定的待备份配置信息类型确定。例如构建任务在编译过程中产生的中间文件就无需对其进行备份。
本实施例中,通过过滤规则对持续集成应用环境的配置信息进行过滤,提取需要存储至本地仓库中的配置信息,可以灵活配置需要备份的内容,减小了服务器将配置信息备份至本地仓库的任务量,从而降低了冗余备份的可能性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图5是本发明一实施例的持续集成服务器的配置信息的备份***的结构示意图。本发明所述的持续集成服务器的配置信息的备份方法可以基于本实施例中的持续集成服务器的配置信息的备份***实施。如图5所示,该***包括校验信息获取模块51、校验信息对比模块52、配置信息更新模块53和元数据存储模块54。
校验信息获取模块51用于获取持续集成应用环境的当前配置信息相关的当前校验信息;
校验信息对比模块52用于将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较;
配置信息更新模块53用于在所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;
元数据存储模块54用于基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。
本发明实施例提供的持续集成服务器的配置信息的备份***,在校验信息获取模块获取持续集成应用环境的当前配置信息相关的当前校验信息后,通过校验信息对比模块将当前配置信息与本地仓库中第一版本(最新)的历史配置信息进行校验信息的比较;当二者的校验信息不同时,通过配置信息更新模块来将第一版本的历史配置信息更新为第二版本(当前版本)的配置信息,由于服务器中只存储发生了变更(第二版本)的配置信息,可以减少本地仓库中的存储内容,降低冗余备份的可能性;元数据存储模块生成第二版本的元数据并将第二版本的元数据存储在本地仓库中,可以通过对本地仓库存储的各版本的元数据及当前版本的当前配置信息进行相应的数据处理(例如数据回滚)得到所有版本的配置信息,使得本地仓库减少冗余备份的同时,能够继续对配置信息的各个版本进行回退等控制,提高了持续集成***的性能。
本发明另一实施例的持续集成服务器的配置信息的备份***中,该***还包括:
增量配置信息确定模块,用于在所述当前校验信息和所述历史校验信息不同时,确定所述当前配置信息中与所述历史配置信息相比的增量配置信息;
远程备份模块,用于至少将所述增量配置信息和所述第二版本的元数据发送至与所述本地仓库关联的远程仓库。
本发明又一实施例的持续集成服务器的配置信息的备份***中,该***还包括标签添加模块,用于为所述增量配置信息及所述第二版本的元数据添加索引标签信息;
所述远程备份模块用于将所述增量配置信息、所述第二版本的元数据连同所述索引标签信息发送至所述远程仓库。
作为上述实施例的进一步说明,本发明实施例中至少通过计算配置信息的存储目录的哈希值确定配置信息相关的校验信息。
本发明再一实施例的持续集成服务器的配置信息的备份***中,所述***还包括配置信息过滤模块,用于提取符合过滤规则的持续集成应用环境的当前配置信息,其中,过滤规则根据所述本地仓库中设定的待备份配置信息类型确定。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的持续集成服务器的配置信息的备份方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,所述计算机可执行指令设置为:
获取持续集成应用环境的当前配置信息相关的当前校验信息;
将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较;
当所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;
基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的持续集成服务器的配置信息的备份方法对应的程序指令/模块(例如,附图5所示的校验信息获取模块51、校验信息对比模块52、配置信息更新模块53和元数据存储模块54)。所述一个或者多个模块存储在所述非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的持续集成服务器的配置信息的备份方法。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据持续集成服务器的配置信息的备份装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至持续集成服务器的配置信息的备份装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
特别地,本发明还提供了一种计算机程序产品,包括至少一个非易失性计算机存储介质,所述非易失性计算机存储介质具有存储在其中的计算机可执行程序代码指令,所述计算机可执行程序代码指令能够执行上述任意方法实施例中的持续集成服务器的配置信息的备份方法。
本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
图6是本发明一实施例提供的实施持续集成服务器的配置信息的备份方法的电子设备即持续集成服务器的结构示意图。如图6所示,该设备包括:
一个或多个处理器610以及存储器620,图6中以一个处理器610为例。
持续集成服务器还可以包括:输入装置630和输出装置640。
处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器620为上述的非易失性计算机可读存储介质。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例所示持续集成服务器的配置信息的备份方法。
输入装置630可接收输入的数字或字符信息,以及产生与持续集成服务器的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
作为一种实施方式,上述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取持续集成应用环境的当前配置信息相关的当前校验信息;
将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较;
当所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;
基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(4)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种持续集成服务器的配置信息的备份方法,包括:
获取持续集成应用环境的当前配置信息相关的当前校验信息;
将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较;
当所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;
基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。
2.根据权利要求1所述的方法,其中,所述方法还包括:
当所述当前校验信息和所述历史校验信息不同时,确定所述当前配置信息中与所述历史配置信息相比的增量配置信息;
至少将所述增量配置信息和所述第二版本的元数据发送至与所述本地仓库关联的远程仓库。
3.根据权利要求2所述的方法,其中,在确定所述当前配置信息中与所述历史配置信息相比的增量配置信息之后,包括:为所述增量配置信息及所述第二版本的元数据添加索引标签信息;
所述至少将所述增量配置信息和所述第二版本的元数据发送至与所述本地仓库关联的远程仓库包括:将所述增量配置信息、所述第二版本的元数据连同所述索引标签信息发送至所述远程仓库。
4.根据权利要求1所述的方法,其中,至少通过计算配置信息的存储目录的哈希值确定校验信息。
5.根据权利要求1-4中任一项所述的方法,其中,在所述获取持续集成应用环境的当前配置信息相关的当前校验信息之前,包括:
提取符合过滤规则的持续集成应用环境的当前配置信息,所述过滤规则根据所述本地仓库中设定的待备份配置信息类型确定。
6.一种持续集成服务器的配置信息的备份***,包括:
校验信息获取模块,用于获取持续集成应用环境的当前配置信息相关的当前校验信息;
校验信息对比模块,用于将所述当前校验信息与本地仓库中的最新的第一版本的历史配置信息相关的历史校验信息进行比较;
配置信息更新模块,用于在所述当前校验信息和所述历史校验信息不同时,将所述第一版本的历史配置信息更新为第二版本的所述当前配置信息;
元数据存储模块,用于基于所述第二版本的当前配置信息生成第二版本的元数据,将所述第二版本的元数据存储至所述本地仓库。
7.根据权利要求6所述的***,其中,所述***还包括:
增量配置信息确定模块,用于在所述当前校验信息和所述历史校验信息不同时,确定所述当前配置信息中与所述历史配置信息相比的增量配置信息;
远程备份模块,用于至少将所述增量配置信息和所述第二版本的元数据发送至与所述本地仓库关联的远程仓库。
8.根据权利要求7所述的***,其中,所述***还包括标签添加模块,用于为所述增量配置信息及所述第二版本的元数据添加索引标签信息;
所述远程备份模块用于将所述增量配置信息、所述第二版本的元数据连同所述索引标签信息发送至所述远程仓库。
9.根据权利要求6所述的***,其中,至少通过计算配置信息的存储目录的哈希值确定校验信息。
10.根据权利要求6-9中任一项所述的***,其中,所述***还包括配置信息过滤模块,用于提取符合过滤规则的持续集成应用环境的当前配置信息,所述过滤规则根据所述本地仓库中设定的待备份配置信息类型确定。
CN201610855422.6A 2016-09-27 2016-09-27 持续集成服务器的配置信息的备份方法及*** Pending CN106445529A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610855422.6A CN106445529A (zh) 2016-09-27 2016-09-27 持续集成服务器的配置信息的备份方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610855422.6A CN106445529A (zh) 2016-09-27 2016-09-27 持续集成服务器的配置信息的备份方法及***

Publications (1)

Publication Number Publication Date
CN106445529A true CN106445529A (zh) 2017-02-22

Family

ID=58169447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610855422.6A Pending CN106445529A (zh) 2016-09-27 2016-09-27 持续集成服务器的配置信息的备份方法及***

Country Status (1)

Country Link
CN (1) CN106445529A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418720A (zh) * 2018-04-24 2018-08-17 深圳市菲菱科思通信技术股份有限公司 一种路由设备配置信息的恢复方法、装置以及路由设备
CN108984342A (zh) * 2018-07-06 2018-12-11 无锡华云数据技术服务有限公司 改进的基于虚拟磁盘文件的流式增量备份方法及装置
CN109088929A (zh) * 2018-08-09 2018-12-25 北京百度网讯科技有限公司 用于发送信息的方法及装置
CN109189398A (zh) * 2018-08-21 2019-01-11 郑州云海信息技术有限公司 一种jenkins编译构建空间的优化***、方法及装置
CN109358898A (zh) * 2018-10-24 2019-02-19 网易(杭州)网络有限公司 一种信息处理方法、装置、电子设备和存储介质
CN111078257A (zh) * 2019-12-19 2020-04-28 杭州安恒信息技术股份有限公司 一种h5应用包的加载方法及相关装置
CN111683382A (zh) * 2020-05-20 2020-09-18 新华三技术有限公司 一种配置信息同步方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179158A (zh) * 2011-12-22 2013-06-26 ***股份有限公司 一种参数批量同步方法和***
CN103218276A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 多节点增量备份的方法及***
CN104298588A (zh) * 2013-07-16 2015-01-21 阿里巴巴集团控股有限公司 一种持续集成的实现方法及装置
CN105373452A (zh) * 2015-12-11 2016-03-02 上海爱数信息技术股份有限公司 一种数据备份方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179158A (zh) * 2011-12-22 2013-06-26 ***股份有限公司 一种参数批量同步方法和***
CN103218276A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 多节点增量备份的方法及***
CN104298588A (zh) * 2013-07-16 2015-01-21 阿里巴巴集团控股有限公司 一种持续集成的实现方法及装置
CN105373452A (zh) * 2015-12-11 2016-03-02 上海爱数信息技术股份有限公司 一种数据备份方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418720A (zh) * 2018-04-24 2018-08-17 深圳市菲菱科思通信技术股份有限公司 一种路由设备配置信息的恢复方法、装置以及路由设备
CN108984342A (zh) * 2018-07-06 2018-12-11 无锡华云数据技术服务有限公司 改进的基于虚拟磁盘文件的流式增量备份方法及装置
CN109088929A (zh) * 2018-08-09 2018-12-25 北京百度网讯科技有限公司 用于发送信息的方法及装置
CN109088929B (zh) * 2018-08-09 2021-07-30 北京百度网讯科技有限公司 用于发送信息的方法及装置
CN109189398A (zh) * 2018-08-21 2019-01-11 郑州云海信息技术有限公司 一种jenkins编译构建空间的优化***、方法及装置
CN109358898A (zh) * 2018-10-24 2019-02-19 网易(杭州)网络有限公司 一种信息处理方法、装置、电子设备和存储介质
CN109358898B (zh) * 2018-10-24 2022-09-13 网易(杭州)网络有限公司 一种信息处理方法、装置、电子设备和存储介质
CN111078257A (zh) * 2019-12-19 2020-04-28 杭州安恒信息技术股份有限公司 一种h5应用包的加载方法及相关装置
CN111078257B (zh) * 2019-12-19 2023-09-08 杭州安恒信息技术股份有限公司 一种h5应用包的加载方法及相关装置
CN111683382A (zh) * 2020-05-20 2020-09-18 新华三技术有限公司 一种配置信息同步方法及装置
CN111683382B (zh) * 2020-05-20 2023-10-27 新华三技术有限公司 一种配置信息同步方法及装置

Similar Documents

Publication Publication Date Title
CN106445529A (zh) 持续集成服务器的配置信息的备份方法及***
US20210149656A1 (en) Offline capabilities for live applications in a cloud collaboration platform
US10878064B2 (en) Clinical data management system
CN102934114B (zh) 用于文件***的检查点
US20070240154A1 (en) System and method for software integration and factory deployment
US20130117232A1 (en) Snapshots of database models
CN105144088A (zh) 元数据与源代码的关联以及基于其的应用和服务
EP2610762A1 (en) Database version management system
CN107016047A (zh) 文档查询、文档存储方法及装置
US20160259831A1 (en) Methodology supported business intelligence (BI) software and system
CN104636130A (zh) 用于生成事件树的方法和***
US9569516B2 (en) Method and device for executing an enterprise process
US7739232B2 (en) Programming system for occasionally-connected mobile business applications
US20210263911A1 (en) Smart repository based on relational metadata
CN104572439A (zh) 回归警告方法和***
US20180150294A1 (en) Backout tool for source control systems
bin Uzayr Mastering MySQL for Web: A Beginner's Guide
CN113741931B (zh) 软件升级方法、装置、电子设备及可读存储介质
Bui et al. Experience with BXGrid: a data repository and computing grid for biometrics research
Antony et al. Professional Hadoop
CN107533559A (zh) 数据结构、用于填充数据结构的模型以及使用数据结构对处理装置进行编程的方法
Mankala SAP HANA Cookbook
CN111427902A (zh) 基于轻量型数据库的元数据管理方法、装置、设备及介质
CN113190463B (zh) 一种代码测试方法,节点及***
CN113672277B (zh) 代码同步方法、***、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170222