CN114221971B - 数据同步方法、装置、服务器、存储介质及产品 - Google Patents
数据同步方法、装置、服务器、存储介质及产品 Download PDFInfo
- Publication number
- CN114221971B CN114221971B CN202111534632.2A CN202111534632A CN114221971B CN 114221971 B CN114221971 B CN 114221971B CN 202111534632 A CN202111534632 A CN 202111534632A CN 114221971 B CN114221971 B CN 114221971B
- Authority
- CN
- China
- Prior art keywords
- code data
- server
- git
- data
- synchronization
- 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 92
- 230000001360 synchronised effect Effects 0.000 claims abstract description 155
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002349 favourable effect Effects 0.000 abstract description 4
- 238000013507 mapping Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据同步方法、装置、服务器、存储介质及产品,属于计算机技术领域。该方法包括:接收第一服务器发送的待同步的代码数据,确定代码数据的数据类型;若代码数据的数据类型为SVN代码数据,采用Git工具将SVN代码数据转换为Git代码数据;确定Git代码数据对应的同步服务器地址,将Git代码数据发送至同步服务器地址对应的同步服务器;若确定该代码数据的数据类型为Git代码数据,确定Git代码数据对应的同步服务器地址,将Git代码数据发送至同步服务器地址对应的同步服务器。本申请的方法,将代码数据转换为便于开发人员使用的代码格式,有利于开发人员使用,而且同步的代码数据具有相同的格式,便于统一管理。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据同步方法、装置、服务器、存储介质及产品。
背景技术
SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。Git为分布式版本控制系统,可有有效、高效地处理项目版本管理。
随着互联网金融蓬勃发展,信息科技产品作为金融信息科技基础支撑,其安全性显得尤为重要。而代码则为构成金融信息科技产品的基础骨架,代码安全直接关系到产品安全,代码资源作为科技公司的核心资产,当出现一些重要的代码资源丢失或者其他故障时,可能会造成由该代码资源支撑的企业运营系统的瘫痪,需要对代码资源进行备份,需要对SVN代码资源或Git代码资源进行备份。
Git作为当前代码管理的主流工具,对于熟悉代码开发的开发人员来说,Git的灵活性和通用性是SVN不能比拟的,很多开发人员习惯使用Git进行代码管理,但是目前很多公司都是使用SVN作为代码管理工具,而当前Git与SVN无法实现同步代码管理,如此导致使用SVN的公司的开发人员无法使用Git来管理代码,只能分开管理,在进行代码资源备份时不能很好地对SVN代码资源以及Git代码资源进行统一管理,不便于开发人员使用代码数据。
发明内容
本申请提供一种数据同步方法、装置、服务器、存储介质及产品,用以解决现有的代码资源备份时不能很好地对SVN代码资源以及Git代码资源进行统一管理的问题。
第一方面,本申请提供一种数据同步方法,包括:
接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型;
若确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据;
确定Git代码数据对应的同步服务器地址,并将所述Git代码数据发送至所述同步服务器地址对应的同步服务器;
若确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将所述Git代码数据发送至所述同步服务器地址对应的同步服务器。
第一方面,本申请还提供一种数据同步方法,包括:
接收用户终端发送的代码数据同步指令,解析同步指令确定待同步的代码数据对应的存储地址;
获取存储地址对应的待同步的代码数据,并将待同步的代码数据发送至Git工具对应的服务器,以使所述Git工具对应的服务器进行代码数据的同步。
第三方面,本申请提供一种数据同步装置,包括:
第一接收单元,用于接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型;
确定单元,用于若确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据;
确定单元,还用于确定Git代码数据对应的同步服务器地址,并将所述Git代码数据发送至所述同步服务器地址对应的同步服务器;
确定单元,还用于若确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将所述Git代码数据发送至所述同步服务器地址对应的同步服务器。
第四方面,本申请还提供一种数据同步装置,包括:
第二接收单元,用于接收用户终端发送的代码数据同步指令,解析同步指令确定待同步的代码数据对应的存储地址;
发送单元,用于获取存储地址对应的待同步的代码数据,并将待同步的代码数据发送至Git工具对应的服务器,以使所述Git工具对应的服务器进行代码数据的同步。
第五方面,本发明提供一种服务器,包括:处理器,存储器及收发器;
处理器,存储器及收发器电路互联;
存储器存储计算机执行指令;
收发器,用于收发数据;
处理器执行存储器存储的计算机执行指令,使得处理器执行如第一方面所述的方法。
第六方面,本发明提供一种服务器,包括:处理器,存储器及收发器;
处理器,存储器及收发器电路互联;
存储器存储计算机执行指令;
收发器,用于收发数据;
处理器执行存储器存储的计算机执行指令,使得处理器执行如第二方面所述的方法。
第七方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面或第二方面所述的方法。
第八方面,本发明提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
本申请提供的一种数据同步方法、装置、服务器、存储介质及产品,通过接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型;若确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据;进一步确定Git代码数据对应的同步服务器地址,从而将Git代码数据发送至同步服务器地址对应的同步服务器;若确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器,进行代码数据备份时可以先将SVN代码数据转换为Git代码数据再进行代码数据的备份,将代码数据转换为便于开发人员使用的代码格式,有利于开发人员使用,而且同步的代码数据具有相同的格式,便于统一管理。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本发明提供的数据同步方法的网络架构示意图;
图2是本发明实施例一提供的数据同步方法的流程示意图;
图3是本发明实施例二提供的数据同步方法的流程示意图;
图4是本发明实施例三提供的数据同步方法的流程示意图;
图5是本发明实施例四提供的数据同步方法的流程示意图;
图6是本发明实施例五提供的数据同步方法的流程示意图;
图7是本发明实施例七提供的数据同步方法的流程示意图;
图8是一实施例提供的数据同步装置的结构示意图;
图9是另一实施例提供的数据同步装置的结构示意图;
图10是用来实现本发明实施例的数据同步方法的服务器框图;
图11是用来实现本发明实施例的数据同步方法的另一服务器框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
针对现有技术中代码资源备份时不能很好地对SVN代码资源以及Git代码资源进行统一管理的问题,目前,对SVN代码数据转换为Git代码数据,对Git代码数据进行同步,具体地,接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型;若确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据;确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器;若确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。进行代码数据备份时可以先将SVN代码数据转换为Git代码数据再进行代码数据的备份,将代码数据转换为便于开发人员使用的代码格式,有利于开发人员使用,而且同步的代码数据具有相同的格式,便于统一管理。
所以发明人基于上述的创造性发现,提出了本发明实施例的技术方案。下面对本发明实施例提供的数据同步方法的网络架构及应用场景进行介绍。
如图1所示,本发明实施例提供的数据同步方法对应的网络架构中包括:第一服务器1、Git工具对应的服务器2及至少一个同步服务器3,Git工具对应的服务器2分别与第一服务器1以及同步服务器3通信连接。第一服务器1接收用户终端发送的代码数据同步指令,解析同步指令确定待同步的代码数据对应的存储地址;获取存储地址对应的待同步的代码数据,并将待同步的代码数据发送至Git工具对应的服务器2。Git工具对应的服务器2接收第一服务器1发送的待同步的代码数据,并确定待同步的代码数据的数据类型;若Git工具对应的服务器2确定待同步的代码数据的数据类型为SVN代码数据,则采用Git工具将SVN代码数据转换为Git代码数据,确定Git代码数据对应的同步服务器3地址,并将Git代码数据发送至同步服务器3地址对应的同步服务器3;若Git工具对应的服务器2确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器3地址,并将Git代码数据发送至同步服务器3地址对应的同步服务器3。同步服务器3接收Git工具对应的服务器2发送的Git代码数据,对Git代码数据进行存储,从而完成代码数据的备份。进行代码数据备份时可以先将SVN代码数据转换为Git代码数据再进行代码数据的备份,将代码数据转换为便于开发人员使用的代码格式,有利于开发人员使用,而且同步的代码数据具有相同的格式,便于统一管理。
实施例一
图2是本发明实施例一提供的数据同步方法的流程示意图,如图2所示,本实施例提供的数据同步方法的执行主体为数据同步装置,该数据同步装置位于服务器中,则本实施例提供的数据同步方法包括以下步骤:
步骤101,接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型。
本实施例中,数据同步装置位于服务器,该服务器设置Git工具,Git工具用于将SVN代码数据转换为Git代码数据,Git工具所在服务器与至少第一服务器通信连接,第一服务器上存储有SVN代码数据和/或Git代码数据,第一服务器将需要进行同步的代码数据发送至Git工具对应的服务器,Git工具对应的服务器接收代待同步的代码数据,进一步确定待同步的代码数据的数据类型,数据类型为SVN代码数据或Git代码数据。
其中,SVN代码数据包括工程源码所对应的SVN元数据以及该元数据对应的用户数据,Git代码数据包括工程源码所对应的Git元数据以及该元数据对应的用户数据。
步骤102,若确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据。
本实施例中,若确定待同步的代码数据的数据类型为SVN代码数据,对于熟悉代码开发的开发人员来说,Git的灵活性和通用性是SVN不能比拟的,因此,可以在代码数据同步之前,对代码数据进行转换,采用本地Git工具将SVN代码数据进行转换,得到Git代码数据。
步骤103,确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。
本实施例中,确定Git代码数据对应的同步服务器地址,其中,同步服务器至少为一个,Git工具对应的服务器至少与一个同步服务器通信连接,进一步将Git代码数据发送至同步服务器地址对应的同步服务器。
步骤104,若确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。
本实施例中,若确定待同步的代码数据的数据类型为Git代码数据,不涉及代码数据的转换,可直接进行代码数据的备份,进一步确定Git代码数据对应的同步服务器地址,将Git代码数据发送至同步服务器地址对应的同步服务器,同步服务器在接收到Git代码数据后,对Git代码数据进行存储。
本实施例中,进行代码数据备份时可以先将SVN代码数据转换为Git代码数据再进行代码数据的备份,将代码数据转换为便于开发人员使用的代码格式,有利于开发人员使用,而且同步的代码数据具有相同的格式,便于统一管理。
实施例二
图3是本发明实施例二提供的数据同步方法的流程示意图,如图3所示,在本发明实施例一提供的数据同步方法的基础上,对步骤103的确定Git代码数据对应的同步服务器地址进行了进一步细化,具体包括以下步骤:
步骤1031,获取第一服务器对应的标识信息,将第一服务器对应的标识信息发送至第二服务器,以供第二服务器根据第一服务器标识信息反馈至少一个对应的同步服务器地址。
本实施例中,获取第一服务器对应的标识信息,其中,标识信息为标识码,各服务器有其唯一的标识码,将第一服务器对应的标识信息发送至第二服务器,其中,第二服务器设置有SQL数据库,第二服务器中存储有预设的标识信息与同步服务器地址的映射关系,第二服务器将第一服务器对应的标识信息与预设的映射关系中的标识信息进行匹配,第二服务器获取标识信息匹配的同步服务器地址,该同步服务器地址至少为一个,第二服务器将同步服务器地址发送至Git工具对应的服务器。
其中,预设的映射关系可由用户根据需要预先进行配置,通过用户终端将预设的映射关系发送至第二服务器,第二服务器将预设的映射关系进行存储。若用户对预设的映射关系进行了更新,将更新的预设的映射关系发送至第二服务器,第二服务器用更新的预设的映射关系替换存储的预设的映射关系。
步骤1032,接收对应的同步服务器地址,并将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址。
本实施例中,接收第二服务器发送的同步服务器地址,将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址,从而将Git代码数据发送至同步服务器地址对应的同步服务器。
可选地,步骤104的确定Git代码数据对应的同步服务器地址具体包括:
步骤1041,获取第一服务器对应的标识信息,将第一服务器对应的标识信息发送至第二服务器,以供第二服务器根据第一服务器标识信息反馈至少一个对应的同步服务器地址。
本实施例中,获取第一服务器对应的标识信息,其中,标识信息为标识码,各服务器有其唯一的标识码,将第一服务器对应的标识信息发送至第二服务器,其中,第二服务器设置有SQL数据库,第二服务器中存储有预设的标识信息与同步服务器地址的映射关系,第二服务器将第一服务器对应的标识信息与预设的映射关系中的标识信息进行匹配,第二服务器获取标识信息匹配的同步服务器地址,该同步服务器地址至少为一个,第二服务器将同步服务器地址发送至Git工具对应的服务器。
步骤1042,接收对应的同步服务器地址,并将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址。
本实施例中,接收第二服务器发送的同步服务器地址,将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址,从而将Git代码数据发送至同步服务器地址对应的同步服务器。
本实施例中,同步的代码数据具有相同的格式,便于统一管理。
实施例三
图4是本发明实施例三提供的数据同步方法的流程示意图,如图4所示,在本发明实施例一提供的数据同步方法的基础上,对步骤103的将Git代码数据发送至同步服务器地址对应的同步服务器进行了进一步细化,具体包括以下步骤:
步骤103a,确定对应的同步服务器的数量。
本实施例中,可根据Git代码数据对应的同步服务器地址的数量确定对应的同步服务器的数量,具体地,接收对应的同步服务器地址,根据接收到的同步服务器地址的数量确定对应的同步服务器的数量,若接收到三个同步服务器地址,则确定对应的同步服务器的数量为三个。
步骤103b,若确定对应的同步服务器的数量大于预设数量,则采用负载均衡器创建与对应的同步服务器的数量相同数量的进程,将Git代码数据分配至进程,以通过进程将Git代码数据发送至对应的同步服务器。
本实施例中,若确定对应的同步服务器的数量大于预设数量,其中,预设数量可根据实际情况设定,例如,将预设数量设置为1,若确定对应的同步服务器的数量大于预设数量,说明需要向多个同步服务器进行数据的同步,为了更好的进行数据同步,在Git工具所在的服务器上预先设置负载均衡器,采用负载均衡器创建与同步服务器的数量相同数量的进程,将Git代码数据以及同步服务器地址分配给创建的进程,每个进程负责一个数据的发送,多个进程可同时将Git代码数据发送至多个同步服务器,通过多个进程将Git代码数据发送至各自对应的同步服务器。
其中,负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡器大概可以分为三类,包括:DNS方式实现负载均衡、硬件负载均衡、软件负载均衡。DNS实现负载均衡是最基础简单的方式,一个域名通过DNS解析到多个IP,每个IP对应不同的服务器实例,这样就完成了流量的调度,虽然没有使用常规的负载均衡器,但实现了简单的负载均衡功能。硬件负载均衡是通过专门的硬件设备来实现负载均衡功能,是专用的负载均衡设备。软件负载均衡,可以在普通的服务器上运行负载均衡软件,实现负载均衡功能,目前常见的有Nginx、HAproxy、LVS。其中Nginx为七层负载均衡,同时也支持4层负载均衡。HAproxy支持七层规则。LVS运行在内核态,性能是软件负载均衡中较好。
可选地,若确定对应的同步服务器的数量等于预设数量,说明需要向一个同步服务器进行数据的同步,创建一个进程,将Git代码数据及同步服务器地址分配给创建的进程,通过进程将Git代码数据发送至对应的同步服务器。
可选地,步骤104的将Git代码数据发送至同步服务器地址对应的同步服务器具体包括:
步骤104a,确定对应的同步服务器的数量。
本实施例中,可根据Git代码数据对应的同步服务器地址的数量确定对应的同步服务器的数量,具体地,接收对应的同步服务器地址,根据接收到的同步服务器地址的数量确定对应的同步服务器的数量。
步骤104b,若确定对应的同步服务器的数量大于预设数量,则采用负载均衡器创建与对应的同步服务器的数量相同数量的进程,将Git代码数据分配至进程,以通过进程将Git代码数据发送至对应的同步服务器。
本实施例中,若确定对应的同步服务器的数量大于预设数量,其中,预设数量可根据实际情况设定,例如,将预设数量设置为1,若确定对应的同步服务器的数量大于预设数量,说明需要向多个同步服务器进行数据的同步,为了更好的进行数据同步,在Git工具所在的服务器上预先设置负载均衡器,采用负载均衡器创建与同步服务器的数量相同数量的进程,将Git代码数据以及同步服务器地址分配给创建的进程,每个进程负责一个数据的发送,多个进程可同时将Git代码数据发送至多个同步服务器,通过多个进程将Git代码数据发送至各自对应的同步服务器。
本实施例中,同时创建多个进程,通过多个进程同时进行代码数据的同步,通过负载均衡器实现服务器的负载均衡。
实施例四
图5是本发明实施例四提供的数据同步方法的流程示意图,如图5所示,本实施例提供的数据同步方法的执行主体为数据同步装置,该数据同步装置位于服务器中,则本实施例提供的数据同步方法包括以下步骤:
步骤201,接收用户终端发送的代码数据同步指令,解析同步指令确定待同步的代码数据对应的存储地址。
本实施例中,数据同步装置位于服务器中,该服务器为上述实施例中所提及的第一服务器,为了便于区分,仍称之为第一服务器,第一服务器分别与Git工具所在的服务器以及用户终端通信连接,用户通过用户终端向第一服务器发送代码数据同步指令,第一服务器接收用户终端发送的代码数据同步指令,解析代码数据同步指令确定待同步的代码数据对应的存储地址,其中,代码数据包括Git代码数据和/或SVN代码数据。
其中,SVN代码数据包括工程源码所对应的SVN元数据以及该元数据对应的用户数据,Git代码数据包括工程源码所对应的Git元数据以及该元数据对应的用户数据。
步骤202,获取存储地址对应的待同步的代码数据,并将待同步的代码数据发送至Git工具对应的服务器,以使Git工具对应的服务器进行代码数据的同步。
本实施例中,获取存储地址对应的待同步的代码数据,该代码数据包括Git代码数据和/或SVN代码数据,将待同步的代码数据发送至Git工具对应的服务器,Git工具对应的服务器接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型,若确定代码数据的数据类型为SVN代码数据,进一步将其转换为Git代码数据,确定Git代码数据对应的同步服务器地址,将Git代码数据发送至同步服务器地址对应的同步服务器,从而完成代码数据的同步。若确定代码数据的数据类型为Git代码数据,不涉及转换,直接将Git代码数据发送至同步服务器地址对应的同步服务器。
本实施例中,进行代码数据备份时可以先将SVN代码数据转换为Git代码数据再进行代码数据的备份,将代码数据转换为便于开发人员使用的代码格式,有利于开发人员使用,而且同步的代码数据具有相同的格式,便于统一管理。
实施例五
图6是本发明实施例五提供的数据同步方法的流程示意图,如图6所示,在本发明实施例四提供的数据同步方法的基础上,步骤202之后,还包括以下步骤:
步骤203,接收用户终端发送的最新代码数据,对最新代码数据进行存储。
本实施例中,在数据同步之后,接收用户终端发送的最新代码数据,说明用户提交了新的代码数据,对最新代码数据进行存储。
步骤204,将最新代码数据确定为待同步的代码数据,并将待同步的代码数据发送至Git工具对应的服务器。
本实施例中,为了保持第一服务器与同步服务器的代码数据的一致性,需要将最新的代码数据发送至Git工具对应的服务器,Git工具对应的服务器接收到最新的代码数据后对最新的代码数据进行数据同步,Git工具对应的服务器将最新的代码数据发送至对应的同步服务器。
可选地,Git工具对应的服务器确定待同步的最新的代码数据的数据类型,若确定待同步的最新的代码数据的数据类型为SVN代码数据,则采用Git工具将SVN代码数据转换为Git代码数据,进一步确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。若确定待同步的最新的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。进行代码数据备份时可以先将SVN代码数据转换为Git代码数据再进行代码数据的备份,将代码数据转换为便于开发人员使用的代码格式,有利于开发人员使用,而且同步的代码数据具有相同的格式,便于统一管理。
实施例六
在本发明实施例四提供的数据同步方法的基础上,步骤202的将待同步的代码数据发送至Git工具对应的服务器之前,还包括以下步骤:
步骤2021,获取用户终端对应的用户名及密码,对用户名及密码进行验证。
本实施例中,获取用户终端对应的用户名及密码,对用户名及密码进行验证,具体地,将用户名及密码与本地存储的用户名及密码进行匹配,若用户终端对应的用户名及密码与本地存储的用户名及密码一致,则确定用户具备同步数据的权限;若用户终端对应的用户名及密码与本地存储的用户名及密码不一致,则确定用户不具备同步数据的权限,不会将代码数据进行数据同步。
步骤2022,若确定用户名及密码通过验证,则执行将待同步的代码数据发送至Git工具对应的服务器的步骤。
本实施例中,若用户终端对应的用户名及密码与本地存储的用户名及密码一致,则确定用户名及密码通过验证,将待同步的代码数据发送至Git工具对应的服务器。
其中,若用户终端对应的用户名及密码与本地存储的用户名及密码不一致,则确定用户名及密码未通过验证,不会将代码数据进行数据同步。
实施例七
图7是本发明实施例七提供的数据同步方法的流程示意图,如图7所示,本实施例提供的数据同步方法的执行主体为数据同步系统,则本实施例提供的数据同步方法包括以下步骤:
步骤301,第一服务器接收用户终端发送的代码数据同步指令,解析同步指令确定待同步的代码数据对应的存储地址。
本实施例中,数据同步系统包括第一服务器、Git工具对应的服务器以及至少一个同步服务器,其中,第一服务器分别与用户终端通信以及Git工具对应的服务器通信连接,Git工具对应的服务器与同步服务器通信连接,用户通过用户终端触发代码数据同步指令,用户终端将代码数据同步指令发送给第一服务器,第一服务器接收用户终端发送的代码数据同步指令,解析代码数据同步指令确定待同步的代码数据对应的存储地址。
步骤302,第一服务器获取存储地址对应的待同步的代码数据,并将待同步的代码数据发送至Git工具对应的服务器。
本实施例中,第一服务器获取存储地址对应的待同步的代码数据,该代码数据为Git代码数据或SVN代码数据,将待同步的代码数据发送至Git工具对应的服务器,以供Git工具对应的服务器进行数据同步。
步骤303,Git工具对应的服务器接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型;
本实施例中,Git工具对应的服务器接收代待同步的代码数据,进一步确定待同步的代码数据的数据类型,数据类型为SVN代码数据或Git代码数据。
步骤304,若Git工具对应的服务器确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据。
本实施例中,若Git工具对应的服务器确定待同步的代码数据的数据类型为SVN代码数据,对于熟悉代码开发的开发人员来说,Git的灵活性和通用性是SVN不能比拟的,因此,可以在代码数据同步之前,对代码数据进行转换,采用本地Git工具将SVN代码数据进行转换,得到Git代码数据。
步骤305,Git工具对应的服务器确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。
本实施例中,Git工具对应的服务器确定Git代码数据对应的同步服务器地址,其中,同步服务器至少为一个,Git工具对应的服务器至少与一个同步服务器通信连接,进一步将Git代码数据发送至同步服务器地址对应的同步服务器。
步骤306,若Git工具对应的服务器确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。
本实施例中,若Git工具对应的服务器确定待同步的代码数据的数据类型为Git代码数据,不涉及代码数据的转换,可直接进行代码数据的备份,进一步确定Git代码数据对应的同步服务器地址,将Git代码数据发送至同步服务器地址对应的同步服务器。
步骤307,同步服务器接收Git工具对应的服务器发送的Git代码数据,并对Git代码数据进行存储。
本实施例中,同步服务器接收Git工具对应的服务器发送的Git代码数据,对Git代码数据进行存储,从而完成代码数据的备份。
本实施例中,数据同步系统进行代码数据备份时可以先将SVN代码数据转换为Git代码数据再进行代码数据的备份,将代码数据转换为便于开发人员使用的代码格式,有利于开发人员使用,而且同步的代码数据具有相同的格式,便于统一管理。
实施例八
在本发明实施例五提供的数据同步方法的基础上,对步骤304进行了进一步细化,具体包括以下步骤:
步骤3041,Git工具对应的服务器获取第一服务器对应的标识信息,将第一服务器对应的标识信息发送至第二服务器。
本实施例中,数据同步系统还包括第二服务器,其中,第二服务器设置SQL数据库,第二服务器与Git工具对应的服务器通信连接,Git工具对应的服务器获取第一服务器对应的标识信息,Git工具对应的服务器将该标识信息发送至第二服务器器,以供第二服务器反馈对应的同步服务器地址。
步骤3042,第二服务器根据第一服务器标识信息反馈至少一个对应的同步服务器地址。
本实施例中,第二服务器中存储有预设的标识信息与同步服务器地址的映射关系,第二服务器将第一服务器对应的标识信息与预设的映射关系中的标识信息进行匹配,第二服务器获取标识信息匹配的同步服务器地址,该同步服务器地址至少为一个,第二服务器将同步服务器地址发送至Git工具对应的服务器。
步骤3043,Git工具对应的服务器接收对应的同步服务器地址,并将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址。
本实施例中,Git工具对应的服务器接收第二服务器反馈的同步服务器地址,将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址,从而将Git代码数据发送至同步服务器地址对应的同步服务器。
图8是本发明一实施例提供的数据同步装置的结构示意图,如图8所示,本实施例提供的数据同步装置200包括第一接收单元201,确定单元202。
其中,第一接收单元201,用于接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型。确定单元202,用于用于若确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据。确定单元202,还用于确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。确定单元202,还用于若确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将Git代码数据发送至同步服务器地址对应的同步服务器。
可选地,确定单元,还用于获取第一服务器对应的标识信息,将第一服务器对应的标识信息发送至第二服务器,以供第二服务器根据第一服务器标识信息反馈至少一个对应的同步服务器地址;接收对应的同步服务器地址,并将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址。
可选地,确定单元,还用于确定对应的同步服务器的数量;若确定对应的同步服务器的数量大于预设数量,则采用负载均衡器创建与对应的同步服务器的数量相同数量的进程,将Git代码数据分配至进程,以通过进程将Git代码数据发送至对应的同步服务器。
图9是本发明另一实施例提供的数据同步装置的结构示意图,如图9所示,本实施例提供的数据同步装置300包括第二接收单元301,发送单元302。
其中,第二接收单元301,用于接收用户终端发送的代码数据同步指令,解析同步指令确定待同步的代码数据对应的存储地址。发送单元302,用于获取存储地址对应的待同步的代码数据,并将待同步的代码数据发送至Git工具对应的服务器,以使Git工具对应的服务器进行代码数据的同步。
可选地,第二接收单元,还用于接收用户终端发送的最新代码数据,对最新代码数据进行存储;将最新代码数据确定为待同步的代码数据,并将待同步的代码数据发送至Git工具对应的服务器。
可选地,发送单元,还用于获取用户终端对应的用户名及密码,对用户名及密码进行验证;若确定用户名及密码通过验证,则将待同步的代码数据发送至Git工具对应的服务器,以使Git工具对应的服务器进行代码数据的同步。
图10是用来实现本发明实施例的数据同步方法的服务器框图,如图10所示,该服务器400包括:400包括:存储器401,处理器402及收发器403。
处理器402,存储器401及收发器403电路互联;
收发器403,用于收发数据;
存储器401存储计算机执行指令;
处理器402执行存储器401存储的计算机执行指令,使得处理器执行上述实施例一至实施例三中任意一个实施例提供的方法。
图11是用来实现本发明实施例的数据同步方法的另一服务器框图,如图11所示,该服务器500包括:存储器501,处理器502及收发器503。
处理器502,存储器501及收发器503电路互联;
收发器503,用于收发数据;
存储器501存储计算机执行指令;
处理器502执行存储器501存储的计算机执行指令,使得处理器执行上述实施例四至实施例六中任意一个实施例提供的方法。
在示例性实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行上述任意一个实施例中的方法。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行上述任意一个实施例中的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (5)
1.一种数据同步方法,其特征在于,所述方法包括:
接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型;
若确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据;
确定Git代码数据对应的同步服务器地址,并将所述Git代码数据发送至所述同步服务器地址对应的同步服务器;
若确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将所述Git代码数据发送至所述同步服务器地址对应的同步服务器;
所述确定Git代码数据对应的同步服务器地址,包括:
获取第一服务器对应的标识信息,将第一服务器对应的标识信息发送至第二服务器,以供所述第二服务器根据第一服务器标识信息反馈至少一个对应的同步服务器地址;
接收对应的同步服务器地址,并将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址;
所述将所述Git代码数据发送至所述同步服务器地址对应的同步服务器,包括:
确定对应的同步服务器的数量;
若确定对应的同步服务器的数量大于预设数量,则采用负载均衡器创建与对应的同步服务器的数量相同数量的进程,将所述Git代码数据分配至所述进程,以通过所述进程将所述Git代码数据发送至对应的同步服务器。
2.一种数据同步装置,其特征在于,包括:
第一接收单元,用于接收第一服务器发送的待同步的代码数据,并确定待同步的代码数据的数据类型;
确定单元,用于若确定待同步的代码数据的数据类型为开放源代码的版本控制系统SVN代码数据,则采用分布式版本控制系统Git工具将SVN代码数据转换为Git代码数据;
确定单元,还用于确定Git代码数据对应的同步服务器地址,并将所述Git代码数据发送至所述同步服务器地址对应的同步服务器;
确定单元,还用于若确定待同步的代码数据的数据类型为Git代码数据,则确定Git代码数据对应的同步服务器地址,并将所述Git代码数据发送至所述同步服务器地址对应的同步服务器;
所述确定单元,具体用于:获取第一服务器对应的标识信息,将第一服务器对应的标识信息发送至第二服务器,以供所述第二服务器根据第一服务器标识信息反馈至少一个对应的同步服务器地址;接收对应的同步服务器地址,并将对应的同步服务器地址确定为Git代码数据对应的同步服务器地址;
所述确定单元还用于:确定对应的同步服务器的数量;若确定对应的同步服务器的数量大于预设数量,则采用负载均衡器创建与对应的同步服务器的数量相同数量的进程,将所述Git代码数据分配至所述进程,以通过所述进程将所述Git代码数据发送至对应的同步服务器。
3.一种服务器,包括:处理器,存储器及收发器;
处理器,存储器及收发器电路互联;
收发器,用于收发数据;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1所述的方法。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1所述的方法。
5.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534632.2A CN114221971B (zh) | 2021-12-15 | 2021-12-15 | 数据同步方法、装置、服务器、存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111534632.2A CN114221971B (zh) | 2021-12-15 | 2021-12-15 | 数据同步方法、装置、服务器、存储介质及产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114221971A CN114221971A (zh) | 2022-03-22 |
CN114221971B true CN114221971B (zh) | 2024-04-19 |
Family
ID=80702255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111534632.2A Active CN114221971B (zh) | 2021-12-15 | 2021-12-15 | 数据同步方法、装置、服务器、存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114221971B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925140A (zh) * | 2022-07-21 | 2022-08-19 | 中化现代农业有限公司 | 数据同步系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775714A (zh) * | 2016-12-15 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种代码同步方法及系统 |
CN110474970A (zh) * | 2019-07-31 | 2019-11-19 | 澳克多普有限公司 | 一种代码同步方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11275579B2 (en) * | 2020-05-14 | 2022-03-15 | Bank Of America Corporation | Discovery and authorization optimization of GIT based repositories |
-
2021
- 2021-12-15 CN CN202111534632.2A patent/CN114221971B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775714A (zh) * | 2016-12-15 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 一种代码同步方法及系统 |
CN110474970A (zh) * | 2019-07-31 | 2019-11-19 | 澳克多普有限公司 | 一种代码同步方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114221971A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549580B (zh) | 自动部署Kubernetes从节点的方法及终端设备 | |
KR102121159B1 (ko) | 이벤트-구동 블록체인 워크플로우 프로세싱 | |
CN111277432B (zh) | 配置信息更新方法、装置、电子设备及存储介质 | |
US8825750B2 (en) | Application server management system, application server management method, management apparatus, application server and computer program | |
US11368407B2 (en) | Failover management using availability groups | |
CN109981279B (zh) | 一种区块链系统、通信方法、装置、设备及介质 | |
US10621651B2 (en) | Automatic recharge system and method, and server | |
CN106713391B (zh) | 一种session信息的共享方法和共享系统 | |
CN110647469A (zh) | 一种微服务的测试方法、装置、计算机设备和存储介质 | |
EP2893443A1 (en) | Re-configuration in cloud computing environments | |
CN110858172A (zh) | 一种自动化测试代码生成方法和装置 | |
US10924590B1 (en) | Virtual workspace experience visualization and optimization | |
CN111158949A (zh) | 容灾架构的配置方法、切换方法及装置、设备和存储介质 | |
CN114221971B (zh) | 数据同步方法、装置、服务器、存储介质及产品 | |
CN107656796B (zh) | 一种虚拟机冷迁移方法、系统及设备 | |
US7752225B2 (en) | Replication and mapping mechanism for recreating memory durations | |
CN114996750A (zh) | 数据共享方法以及装置 | |
CN114691290A (zh) | 一种跨云平台的应用迁移系统、方法和容灾方法 | |
CN114422331A (zh) | 容灾切换方法、装置及系统 | |
US20100162264A1 (en) | Service virtualization container | |
US9537931B2 (en) | Dynamic object oriented remote instantiation | |
CN110798358A (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN106936643B (zh) | 一种设备联动方法以及终端设备 | |
CN114282210A (zh) | 沙箱自动构建方法、系统、计算机设备及可读存储介质 | |
CN113868146A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |