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等),并且由于将单节点入口扩展为多单节点入口,增加了系统的复杂性,对于每次请求的处理需要消耗更多的资源,影响性能。申请内容本申请的一个目的是提供一种用于版本管理系统的数据同步方法及设备,用以解决现有技术中同步数据的存储量大、处理复杂性高的问题。为实现上述目的,本申请提供了一种在主节点设备端用于版本 ...
【技术保护点】
一种在主节点设备端用于版本管理系统的数据同步方法,其中,该方法包括:在接收到写操作请求时,根据所述写操作请求更新所述主节点设备对应的版本管理系统的数据内容,并向存储设备写入所述写操作请求对应的操作记录;向所述存储设备中写入存储点,其中,所述存储点包括写入存储点时所述版本管理系统的当前数据内容,以及指向该当前数据内容的下一条操作记录的记录指针。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。