用于版本管理系统的数据同步方法及设备技术方案

技术编号:16755660 阅读:22 留言:0更新日期:2017-12-09 02:08
本申请的一个目的是提供一种用于版本管理系统的数据同步方法及设备。具体地,主节点设备在接收到写操作请求时,根据写操作请求更新主节点设备对应的版本管理系统的数据内容,并向存储设备写入写操作请求对应的操作记录,以及向存储设备中写入存储点;从节点设备在启动时,从存储设备读取存储点,根据记录指针从存储设备读取后续操作记录,根据当前数据内容及后续操作记录更新从节点设备对应的版本管理系统的数据内容。与现有技术相比,采用的是实时的增量数据备份,减少了数据的存储量,并且不需要对已有版本管理系统进行改造,可以适用于各类系统,并不会增加数据处理的复杂性,因此不会降低系统性能。

Data synchronization method and equipment for version management system

One of the purposes of this application is to provide a data synchronization method and device for a version management system. Specifically, the master node device to write operation request when receiving the write operation request according to the version management system updates the master node device corresponding to the content of the data, and write the write operation request corresponding to the operation records to the storage device and the storage device to write memory; from the node equipment at startup, read from memory a storage device, according to the record pointer read subsequent operation records from the storage device, according to the data update version management system from the corresponding node equipment current data content and subsequent operation records. Compared with the existing technology, using the incremental backup data in real time, reduce the amount of data storage, and does not need to transform the existing version management system, can be applied to all kinds of system, and will not increase the complexity of data processing, it will not reduce the system performance.

【技术实现步骤摘要】
用于版本管理系统的数据同步方法及设备
本申请涉及计算机领域,尤其涉及一种用于版本管理系统的数据同步方法及设备。
技术介绍
版本管理系统可以存储、追踪目录和文件的修改历史,用于存储软件开发的代码,文档等内容。当前流行的版本管理系统有csv,svn,git等。根据工作方式又可以进一步分为集中式和分布式管理系统两种。集中式版本管理依赖于一个全局的存储仓库,对数据的同步和管理更加方便,但是也造成了可用性的限制。分布式版本管理系统在本地复制一份全局的数据后,就可以不依赖全局存储,只要在必要的时候去和全局进行同步,提高了系统的工作效率。目前,分布式版本管理系统的数据同步方式主要有以下两种方案:1、通过定期的全量备份版本管理系统中的所有存储数据,当部署版本管理系统的节点设备发生故障后,用最近的一次备份进行恢复。但是由于定期的备份实时性差,当发生故障时服务会发生中断,没有来得及备份的数据也会发生丢失,而且每次进行全量备份也会导致存储量较大。2、通过对特定版本管理系统进行改造,将对外服务的入口由单节点入口扩展为多节点,并通过一个调度器进行负载调度,当有一个节点设备故障时,其他节点可以继续服务。但是,对特定版本管理系统的改造(如git),不能应用到其他版本管理系统中(如svn,cvs等),并且由于将单节点入口扩展为多单节点入口,增加了系统的复杂性,对于每次请求的处理需要消耗更多的资源,影响性能。申请内容本申请的一个目的是提供一种用于版本管理系统的数据同步方法及设备,用以解决现有技术中同步数据的存储量大、处理复杂性高的问题。为实现上述目的,本申请提供了一种在主节点设备端用于版本管理系统的数据同步方法,该方法包括:在接收到写操作请求时,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容,并向存储设备写入所述写操作请求对应的操作记录;向所述存储设备中写入存储点,其中,所述存储点包括写入存储点时所述版本管理系统的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针。本申请还提供了一种在从节点设备端用于版本管理系统的数据同步方法,该方法包括:在启动时,从存储设备读取存储点,其中所述存储点包括主节点设备对应的版本管理系统在写入所述存储点时的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针;根据所述记录指针从所述存储设备读取后续操作记录;根据所述当前数据内容及所述后续操作记录更新所述从节点设备对应的版本管理系统的数据内容。基于本申请的另一方面,还提供了一种用于版本管理系统数据同步的主节点设备,该设备包括:数据处理装置,用于在接收到写操作请求时,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容;记录管理装置,用于在接收到数据请求时,向存储设备写入所述写操作请求对应的操作记录;以及向所述存储设备中写入存储点,其中,所述存储点包括写入存储点时所述版本管理系统的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针。本申请实施例还提供了一种用于版本管理系统数据同步的从节点设备,该设备包括:记录管理装置,用于从存储设备读取存储点,根据所述记录指针从所述存储设备读取后续操作记录,其中,所述存储点包括主节点设备对应的版本管理系统在写入所述存储点时的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针;数据处理装置,用于根据所述当前数据内容及所述后续操作记录更新所述从节点设备对应的版本管理系统的数据内容。本申请还提供了一种用于版本管理系统数据同步的主节点设备,该设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:在接收到写操作请求时,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容,并向存储设备写入所述写操作请求对应的操作记录;向所述存储设备中写入存储点,其中,所述存储点包括写入存储点时所述版本管理系统的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针。本申请还提供了一种用于版本管理系统数据同步的从节点设备,该设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:在启动时,从存储设备读取存储点,其中所述存储点包括主节点设备对应的版本管理系统在写入所述存储点时的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针;根据所述记录指针从所述存储设备读取后续操作记录;根据所述当前数据内容及所述后续操作记录更新所述从节点设备对应的版本管理系统的数据内容。与现有技术相比,本申请的技术方案中主节点设备在处理写操作请求的过程中,会向存储设备中写入每次写操作请求对应的操作记录以及包含特定时刻本地数据内容的存储点,而从节点设备在启动时通过获取存储点更新本地的初始数据内容,并通过后续操作记录进行版本管理系统的数据内容同步,采用的是实时的增量数据备份,减少了数据的存储量,并且不需要对已有版本管理系统进行改造,可以适用于各类系统,并不会增加数据处理的复杂性,因此不会降低系统性能。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本申请实施例提供的一种数据同步系统的结构示意图;图2为一种在所述主节点设备端用于版本管理系统的数据同步方法中更新数据内容并写入操作记录的处理流程图;图3为存储设备中存储点以及操作记录的存储状态示意图;图4为本申请实施例提供的在从节点设备端用于版本管理系统的数据同步方法的处理流程图;图5为本申请实施例提供的一种用于版本管理系统数据同步的主节点设备;图6为本申请实施例提供的一种用于版本管理系统数据同步的从节点设备;图7为采用本申请方案的数据同步系统的示意图;图8为所述数据同步系统中存储管理器的内部结构图;图9为所述数据同步系统中主节点设备在获取请求时的处理流程图;图10为所述数据同步系统进行故障恢复的处理流程图;附图中相同或相似的附图标记代表相同或相似的部件。具体实施方式下面结合附图对本申请作进一步详细描述。在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。图本文档来自技高网...
用于版本管理系统的数据同步方法及设备

【技术保护点】
一种在主节点设备端用于版本管理系统的数据同步方法,其中,该方法包括:在接收到写操作请求时,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容,并向存储设备写入所述写操作请求对应的操作记录;向所述存储设备中写入存储点,其中,所述存储点包括写入存储点时所述版本管理系统的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针。

【技术特征摘要】
2016.03.31 CN 20161019451101.一种在主节点设备端用于版本管理系统的数据同步方法,其中,该方法包括:在接收到写操作请求时,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容,并向存储设备写入所述写操作请求对应的操作记录;向所述存储设备中写入存储点,其中,所述存储点包括写入存储点时所述版本管理系统的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针。2.根据权利要求1所述的方法,其中,该方法还包括:若所述存储设备中存储点的数量大于N个,向所述存储设备发送指令以删除最新创建的N个存储点之前的所有存储点和操作记录,其中N为正整数。3.根据权利要求1所述的方法,其中,在接收到写操作请求时,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容,并向存储设备写入所述写操作请求对应的操作记录,包括:在接收到写操作请求时,对所述写操作请求进行合法性检查;若通过合法性检查,向存储设备写入所述写操作请求对应的操作记录;在完成所述操作记录的写入后,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容。4.根据权利要求1所述的方法,其中,向存储设备写入所述写操作请求对应的操作记录,包括:通过不同线程向存储设备并行写入写操作请求对应的关于版本管理系统的不同分支数据内容的操作记录;以及通过同一线程向存储设备串行写入写操作请求对应的关于版本管理系统的同一分支数据内容的操作记录。5.根据权利要求1至4中任一项所述的方法,其中,向所述存储设备中写入存储点,包括:在符合预设条件时,向所述存储设备中写入存储点,其中,所述预设条件包括与写入最新存储点的时间间隔达到预设时长,或最新存储点之后的操作记录数量达到预设数量。6.一种在从节点设备端用于版本管理系统的数据同步方法,其中,该方法包括:在启动时,从存储设备读取存储点,其中所述存储点包括主节点设备对应的版本管理系统在写入所述存储点时的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针;根据所述记录指针从所述存储设备读取后续操作记录;根据所述当前数据内容及所述后续操作记录更新所述从节点设备对应的版本管理系统的数据内容。7.根据权利要求6所述的方法,其中,从存储设备读取存储点,包括:从所述存储设备读取最新创建的存储点。8.根据权利要求6所述的方法,其中,根据所述当前数据内容及所述后续操作记录更新所述从节点设备对应的版本管理系统的数据内容,包括:将所述当前数据内容覆盖所述从节点设备对应的版本管理系统的数据内容;基于所述当前数据内容,利用所述后续操作记录更新所述从节点设备对应的版本管理系统的数据内容。9.根据权利要求6所述的方法,其中,根据所述记录指针从存储设备读取后续操作记录,包括:通过不同线程从存储设备并行读取关于版本管理系统的不同分支数据内容的后续操作记录;以及通过同一线程从存储设备串行读取关于版本管理系统的同一分支数据内容的后续操作记录。10.根据权利要求6至9中任一项所述的方法,其中,该方法还包括:在未检测到主节点设备时,从候选的从节点设备中选举并切换新的主节点设备。11.一种用于版本管理系统数据同步的主节点设备,其中,该设备包括:数据处理装置,用于在接收到写操作请求时,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容;记录管理装置,用于在接收到数据请求时,向存储设备写入所述写操作请求对应的操作记录;以及向所述存储设备中写入存储点,其中,所述存储点包括写入存储点时所述版本管理系统的当前...

【专利技术属性】
技术研发人员:张跃李闪武萌
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1