CN110377577A - 数据同步方法、装置、系统和计算机可读存储介质 - Google Patents

数据同步方法、装置、系统和计算机可读存储介质 Download PDF

Info

Publication number
CN110377577A
CN110377577A CN201810322776.3A CN201810322776A CN110377577A CN 110377577 A CN110377577 A CN 110377577A CN 201810322776 A CN201810322776 A CN 201810322776A CN 110377577 A CN110377577 A CN 110377577A
Authority
CN
China
Prior art keywords
data
hadoop
host
service cluster
cluster
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.)
Granted
Application number
CN201810322776.3A
Other languages
English (en)
Other versions
CN110377577B (zh
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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201810322776.3A priority Critical patent/CN110377577B/zh
Priority to PCT/CN2019/082191 priority patent/WO2019196889A1/en
Publication of CN110377577A publication Critical patent/CN110377577A/zh
Priority to US17/067,754 priority patent/US10983872B2/en
Application granted granted Critical
Publication of CN110377577B publication Critical patent/CN110377577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Abstract

本发明提供了一种数据同步方法、装置、系统和计算机可读存储介质,其中,数据同步方法包括:响应于第二hadoop服务集群周期性发送的同步请求,解析同步请求中包含的第二hadoop服务集群中的备机操作记录;响应于同步请求确定第一hadoop服务集群的主机操作记录;确定备机操作记录与主机操作记录之间的偏移量;根据偏移量确定第一hadoop服务集群中更新的数据块和对应的映射表,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。通过本发明的技术方案,提供了一种低延迟、高吞吐量和同步性的数据同步方案,提高了数据同步的可靠性和效率,有利于在hadoop服务集群宕机时及时实现无缝快速切换。

Description

数据同步方法、装置、系统和计算机可读存储介质
技术领域
本发明涉及数据备份技术领域,具体而言,涉及一种数据同步方法、一种数据同步装置、一种数据同步系统和一种计算机可读存储介质。
背景技术
Hadoop系统中的分布式文件系统已经越来越多地被各行各业运用于生产环境来存储海量数据,相关技术中,hadoop系统的备份机制能够解决在本集群内因某台服务器宕机而造成的数据不可用问题。
进一步地,为了解决服务集群中所有服务器出现灾难性集群宕机等更严重的问题,通常是主机hadoop服务集群定期地数据复制、导出到备机hadoop服务集群,以便于在主机hadoop服务集群无法提供服务时,由备机hadoop服务集群提供数据服务。
但是,上述技术方案存在诸多技术问题:
(1)无法解决主机hadoop服务集群和备机hadoop服务集群之间的数据同步问题,导致备机hadoop服务集群会丢失主机hadoop服务集群中近期的部分数据。
(2)另外,由于备机hadoop服务集群上的数据备份通常是通过同步工具批量导入实现的,因此,在进行数据导入之前,需要耗费较长时间来计算主机hadoop服务集群与备机hadoop服务集群之间的数据差异,导致数据同步备份的效率低下。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提供一种数据同步方法。
本发明的另一个目的在于提供一种数据同步装置。
本发明的另一个目的在于提供一种数据同步系统。
本发明的另一个目的在于提供一种计算机可读存储介质。
为了实现上述目的,根据本发明的第一方面的技术方案,提供了一种数据同步方法,适用于备份控制集群,备份控制集群连通于第一hadoop服务集群与第二hadoop服务集群之间的数据备份线路,数据同步方法包括:响应于第二hadoop服务集群周期性发送的同步请求,解析同步请求中包含的第二hadoop服务集群中的备机操作记录;响应于同步请求确定第一hadoop服务集群的主机操作记录;确定备机操作记录与主机操作记录之间的偏移量;根据偏移量确定第一hadoop服务集群中更新的数据块和对应的映射表,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。
在该技术方案中,由于Hadoop分布式文件系统主要是由储存元数据的主节点(NameNode)和储存数据的数据节点(DataNode)组成,其中,NameNode负责管理文件系统名称空间和控制外部客户机的访问,管理对分布式文件系统创建、删除、移动或重命名文件等操作。
另外,NameNode上存储的数据是一个称为FsImage的文件,它存储所有关于文件系统名称空间的信息,这个文件和一个包含所有事务的记录文件EditLog(即操作记录)存储在NameNode的本地文件系统上。
每个FsImage文件都有一个编号,这个编号和EditLog文件上的编号是一一对应的,也即FsImage就是定期加载EditLog文件中的所有事务操作而生产的镜像文件,例如,加载到EditLog文件的编号是10,则对应的FsImage文件的编号就是10。
首先,通过第二hadoop服务集群周期性发送的同步请求,确定第一hadoop服务集群和第二hadoop服务集群对应的操作记录之间的偏移量(即EditLog之间的编号差值),如果发现EditLog的偏移量较小,就会读取相应缺少的EditLog文件然后通过数据流的方式传输至备机集群的NameNode,如果发现EditLog的偏移量较大,就意味着备机集群已经和主机集群不同步很长时间了,此时,就把当前主机集群上最新的FsImage文件和EditLog文件传输至备机集群的NameNode上进行同步,有利于提高数据同步备份的可靠性,其中,在检测到EditLog的偏移量较小时,不需要进行数据节点之间的数据同步备份,进而有利于提升频谱利用率和数据吞吐量。
其次,通过确定操作记录的偏移量、第一hadoop服务集群中更新的数据块和对应的映射表,提高了确定第一hadoop服务集群与第二hadoop服务集群之间数据块差异的速率,有利于快速查找出第二hadoop服务集群需要备份的数据块,减少了计算数据差异的时间,提高了数据备份的效率和可靠性。
再次,在第一hadoop服务集群进行数据存储时,NameNode会为新数据在文件FsImage中添加元数据,并在EditLog文件中添加相应的记录,此时EditLog文件内的偏移值会向前移动。因此,在对第二hadoop服务集群进行数据同步备份前,将第一hadoop服务集群和第二hadoop服务集群中的操作记录文件EditLog的编号进行比较,获取EditLog文件的偏移量,再按照偏移量和映射表,能够获取第一hadoop服务集群在文件FsImage中新写入的数据,进而将该数据同步备份至第二hadoop服务集群,进而实现第一hadoop服务集群与第二hadoop服务集群之间的快速数据同步。
最后,为了保证主机服务集群对客户端提供正常范围,采用异步通信方式进行数据备份,也有利于进一步地提高数据吞吐量。
在上述任一技术方案中,优选地,根据偏移量确定第一hadoop服务集群中更新的数据块和对应的映射表,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群,具体包括:判断偏移量是否大于或等于预设偏移量;在判定偏移量小于预设偏移量时,将第一hadoop服务集群上存储的主机操作记录同步备份至第二hadoop服务集群;在判定偏移量大于或等于预设偏移量时,将第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和映射表同步备份至第二hadoop服务集群,并将主机操作记录对应的数据块确定为更新的数据块;响应于第二hadoop服务集群发送的同步请求,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。
在该技术方案中,通过判断偏移量是否大于或等于预设偏移量,确定第二hadoop服务集群中数据是否较长时间未同步,降低了第二hadoop服务集群长时间未同步数据而导致无法提供数据服务的可能性,提高了数据同步的可靠性。
具体地,当偏移量小于预设偏移量时,第一hadoop服务集群中的EditLog文件的编号与第二hadoop服务集群中的EditLog文件之间的编号相差较小,通过将第一hadoop服务集群上存储的主机操作记录同步备份至第二hadoop服务集群,提高了数据同步的速率,降低了数据同步过程中的延迟。
当偏移量大于或等于预设偏移量时,第一hadoop服务集群中的EditLog文件的编号与第二hadoop服务集群中的EditLog文件编号相差较大,第二hadoop服务集群中的数据与第一hadoop服务集群中的数据已经较长时间不同步,此时,将第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和映射表同步备份至第二hadoop服务集群,并将主机操作记录对应的数据块确定为更新的数据块,降低了因需要同步的数据量较大导致数据同步异常的可能性,提高了数据同步过程中的准确性和可靠性。
根据本发明的第二方面的技术方案,提供了一种数据同步方法,适用于第一hadoop服务集群,数据同步方法包括:响应于客户端发送的文件数据,将文件数据分割为文件名和数据块;将全部文件名存储于一个主节点,以及将数据块分布式存储于多个数据节点;在主节点中存储文件名与数据节点之间的对应关系,并记作映射表,其中,主节点用于生成对已存储的文件数据的主机操作记录,主节点还用于存储主机操作记录对应的主机镜像记录,数据节点根据心跳机制向主节点上报更新的数据块。
在该技术方案中,通过响应于客户端发送的文件数据(或数据写操作),将文件数据分割为文件名和数据块,将全部文件名存储于一个主节点,以及将数据块分布式存储于多个数据节点,提高了数据存储过程中的准确性,提高了查找指定类型数据的效率,通过在主节点中存储文件名与数据节点之间的对应关系,并记作映射表,建立存储文件名与数据节点之间的对应关系,有利于提高根据文件名查找数据节点的准确性,进而提高了数据同步过程中查找第一hadoop服务集群中更新数据的速率和准确性,减少了计算数据差异的时间。
具体地,hadoop服务集群主要由存储元数据的主节点(NameNode)和存储数据的数据节点(DataNode)组成,而NameNode上存储有一个存储所有关于文件系统名称空间的文件FsImage和一个包含所有操作的记录文件EditLog,其中,每个FsImage文件都包含有一个编号,这个编号与EditLog文件中的编号是一一对应的,构成映射表,FsImage文件为EditLog文件的镜像文件。
DataNode和NameNode之间通过心跳机制进行通信,一方面,DataNode通过心跳机制上报存储的数据块,另一方面,NameNode通过心跳机制向DataNode下发执行命令,以便于第二hadoop服务集群向第一hadoop服务集群请求某个数据块时找到对应的DataNode。
在上述任一技术方案中,优选地,还包括:响应于客户端对指定数据块的操作请求,将操作请求转换为相应的操作指令,并根据操作指令在主机操作记录中写入偏移量;将操作指令由主节点发送至存储有指定数据块的数据节点。
在该技术方案中,通过响应于客户端对指定数据块的操作请求,将操作请求转换为相应的操作指令,并根据操作指令在主机操作记录中写入偏移量,提高了第一hadoop服务集群中存储数据的准确性,有利于提高根据偏移量查询到对应操作请求的速率。
具体地,客户端通过第一hadoop服务集群提供的客户端API接口对指定数据块发出操作请求,NameNode会在EditLog文件上添加相应的记录,使EditLog文件内的偏移值向前移动,并将该操作指令发送至指定的数据块。
例如,上述操作请求为写操作请求,由于EditLog文件存放的是Hadoop文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到EditLog文件中。
FsImage文件和EditLog文件都是经过序列化的,在NameNode启动的时候,它会将FsImage文件中的内容加载到内存中,之后再执行EditLog文件中的各项操作,使得内存中的元数据和实际数据的同步更新,存在内存中的元数据支持客户端的读操作,也即通过元数据实现客户端与数据节点之间的隔离。
其中,HDFS(即Hadoop分布式文件系统)中的更新操作会重新写到EditLog文件中,因为FsImage文件一般都很大(GB级别的很常见),如果所有的更新操作都往FsImage文件中添加,这样会导致系统运行的十分缓慢,但是如果往EditLog文件里面写就不会这样,每次执行写操作之后,且在向客户端发送成功代码之前,EditLog文件都需要同步更新。如果一个文件比较大,使得写操作需要向多台机器进行操作,只有当所有的写操作都执行完成之后,写操作才会返回成功,这样的好处是任何的操作请求都不会因为机器的故障而导致元数据的不同步。
在上述任一技术方案中,优选地,还包括:根据心跳机制向第二hadoop服务集群周期性发送主机操作记录、主机镜像记录和映射表。
在该技术方案中,通过根据心跳机制向第二hadoop服务集群周期性发送主机操作记录、主机镜像记录和映射表,以供第二hadoop服务集群根据主机操作记录、主机镜像记录和映射表来确定是否需要进行同步更新,有利于提高第二hadoop服务集群中存储数据的准确性和实时性,减少了数据同步过程中的延迟,提高了数据同步的效率和数据吞吐量。
在上述任一技术方案中,优选地,还包括:同步请求包含更新的数据块的起始存储地址和数据长度。
在该技术方案中,通过在同步请求中设置更新的数据块的起始存储地址和数据长度,提高了数据同步过程中的准确性,减少了查询更新数据的时间,提高了数据更新的效率。
其中,每个数据块的默认长度通常为64M。
根据本发明的第三方面的技术方案,提供了一种数据同步方法,适用于第二hadoop服务集群,数据同步方法包括:接收第一hadoop服务集群周期性发送的主机操作记录、主机镜像记录和映射表,将第一hadoop服务集群发送的映射表记作主机映射表;判断主机操作记录与本地存储的备机操作记录之间的偏移量参考值;根据偏移量参考值生成同步请求并反馈至第一hadoop服务集群。
在该技术方案中,通过周期性接收第一hadoop服务集群发送的主机操作记录、主机镜像记录和映射表,将第一hadoop服务集群发送的映射表记作主机映射表,提高了主机映射表的准确性与实时性,通过判断主机操作记录与本地存储的备机操作记录之间的偏移量参考值,减少了计算数据差异的时间,提高了数据同步的效率和可靠性,也提高了数据吞吐量。
根据本发明的第四方面的技术方案,提供了一种数据同步装置,适用于备份控制集群,备份控制集群连通于第一hadoop服务集群与第二hadoop服务集群之间的数据备份线路,数据同步装置包括:解析单元,用于响应于第二hadoop服务集群周期性发送的同步请求,解析同步请求中包含的第二hadoop服务集群中的备机操作记录;确定单元,用于响应于同步请求确定第一hadoop服务集群的主机操作记录;确定单元还用于:确定备机操作记录与主机操作记录之间的偏移量;数据同步装置还包括:更新单元,用于根据偏移量确定第一hadoop服务集群中更新的数据块和对应的映射表,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。
在该技术方案中,由于Hadoop分布式文件系统主要是由储存元数据的主节点(NameNode)和储存数据的数据节点(DataNode)组成,其中,NameNode负责管理文件系统名称空间和控制外部客户机的访问,管理对分布式文件系统创建、删除、移动或重命名文件等操作。
另外,NameNode上存储的数据是一个称为FsImage的文件,它存储所有关于文件系统名称空间的信息,这个文件和一个包含所有事务的记录文件EditLog(即操作记录)存储在NameNode的本地文件系统上。
每个FsImage文件都有一个编号,这个编号和EditLog文件上的编号是一一对应的,也即FsImage就是定期加载EditLog文件中的所有事务操作而生产的镜像文件,例如,加载到EditLog文件的编号是10,则对应的FsImage文件的编号就是10。
首先,通过第二hadoop服务集群周期性发送的同步请求,确定第一hadoop服务集群和第二hadoop服务集群对应的操作记录之间的偏移量(即EditLog之间的编号差值),如果发现EditLog的偏移量较小,就会读取相应缺少的EditLog文件然后通过数据流的方式传输至备机集群的NameNode,如果发现EditLog的偏移量较大,就意味着备机集群已经和主机集群不同步很长时间了,此时,就把当前主机集群上最新的FsImage文件和EditLog文件传输至备机集群的NameNode上进行同步,有利于提高数据同步备份的可靠性,其中,在检测到EditLog的偏移量较小时,不需要进行数据节点之间的数据同步备份,进而有利于提升频谱利用率和数据吞吐量。
其次,通过确定操作记录的偏移量、第一hadoop服务集群中更新的数据块和对应的映射表,提高了确定第一hadoop服务集群与第二hadoop服务集群之间数据块差异的速率,有利于快速查找出第二hadoop服务集群需要备份的数据块,减少了计算数据差异的时间,提高了数据备份的效率和可靠性。
再次,在第一hadoop服务集群进行数据存储时,NameNode会为新数据在文件FsImage中添加元数据,并在EditLog文件中添加相应的记录,此时EditLog文件内的偏移值会向前移动。因此,在对第二hadoop服务集群进行数据同步备份前,将第一hadoop服务集群和第二hadoop服务集群中的操作记录文件EditLog的编号进行比较,获取EditLog文件的偏移量,再按照偏移量和映射表,能够获取第一hadoop服务集群在文件FsImage中新写入的数据,进而将该数据同步备份至第二hadoop服务集群,进而实现第一hadoop服务集群与第二hadoop服务集群之间的快速数据同步。
最后,为了保证主机服务集群对客户端提供正常范围,采用异步通信方式进行数据备份,也有利于进一步地提高数据吞吐量。
在上述任一技术方案中,优选地,还包括:判断单元,用于判断偏移量是否大于或等于预设偏移量;备份单元,用于在判定偏移量小于预设偏移量时,将第一hadoop服务集群上存储的主机操作记录同步备份至第二hadoop服务集群;备份单元还用于:在判定偏移量大于或等于预设偏移量时,将第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和映射表同步备份至第二hadoop服务集群,并将主机操作记录对应的数据块确定为更新的数据块;数据同步装置还包括:抓取单元,用于响应于第二hadoop服务集群发送的同步请求,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。
在该技术方案中,通过判断偏移量是否大于或等于预设偏移量,确定第二hadoop服务集群中数据是否较长时间未同步,降低了第二hadoop服务集群长时间未同步数据而导致无法提供数据服务的可能性,提高了数据同步的可靠性。
具体地,当偏移量小于预设偏移量时,第一hadoop服务集群中的EditLog文件的编号与第二hadoop服务集群中的EditLog文件之间的编号相差较小,通过将第一hadoop服务集群上存储的主机操作记录同步备份至第二hadoop服务集群,提高了数据同步的速率,降低了数据同步过程中的延迟。
当偏移量大于或等于预设偏移量时,第一hadoop服务集群中的EditLog文件的编号与第二hadoop服务集群中的EditLog文件编号相差较大,第二hadoop服务集群中的数据与第一hadoop服务集群中的数据已经较长时间不同步,此时,将第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和映射表同步备份至第二hadoop服务集群,并将主机操作记录对应的数据块确定为更新的数据块,降低了因需要同步的数据量较大导致数据同步异常的可能性,提高了数据同步过程中的准确性和可靠性。
根据本发明的第五方面的技术方案,提供了一种数据同步装置,适用于第一hadoop服务集群,数据同步装置包括:分割单元,用于响应于客户端发送的文件数据,将文件数据分割为文件名和数据块;存储单元,用于将全部文件名存储于一个主节点,以及将数据块分布式存储于多个数据节点;存储单元还用于:在主节点中存储文件名与数据节点之间的对应关系,并记作映射表,其中,主节点用于生成对已存储的文件数据的主机操作记录,主节点还用于存储主机操作记录对应的主机镜像记录,数据节点根据心跳机制向主节点上报更新的数据块。
在该技术方案中,通过响应于客户端发送的文件数据(或数据写操作),将文件数据分割为文件名和数据块,将全部文件名存储于一个主节点,以及将数据块分布式存储于多个数据节点,提高了数据存储过程中的准确性,提高了查找指定类型数据的效率,通过在主节点中存储文件名与数据节点之间的对应关系,并记作映射表,建立存储文件名与数据节点之间的对应关系,有利于提高根据文件名查找数据节点的准确性,进而提高了数据同步过程中查找第一hadoop服务集群中更新数据的速率和准确性,减少了计算数据差异的时间。
具体地,hadoop服务集群主要由存储元数据的主节点(NameNode)和存储数据的数据节点(DataNode)组成,而NameNode上存储有一个存储所有关于文件系统名称空间的文件FsImage和一个包含所有操作的记录文件EditLog,其中,每个FsImage文件都包含有一个编号,这个编号与EditLog文件中的编号是一一对应的,构成映射表,FsImage文件为EditLog文件的镜像文件。
DataNode和NameNode之间通过心跳机制进行通信,一方面,DataNode通过心跳机制上报存储的数据块,另一方面,NameNode通过心跳机制向DataNode下发执行命令,以便于第二hadoop服务集群向第一hadoop服务集群请求某个数据块时找到对应的DataNode。
在上述任一技术方案中,优选地,还包括:转换单元,用于响应于客户端对指定数据块的操作请求,将操作请求转换为相应的操作指令,并根据操作指令在主机操作记录中写入偏移量;发送单元,用于将操作指令由主节点发送至存储有指定数据块的数据节点。
在该技术方案中,通过响应于客户端对指定数据块的操作请求,将操作请求转换为相应的操作指令,并根据操作指令在主机操作记录中写入偏移量,提高了第一hadoop服务集群中存储数据的准确性,有利于提高根据偏移量查询到对应操作请求的速率。
具体地,客户端通过第一hadoop服务集群提供的客户端API(应用程序界面,Application Program Interface)接口对指定数据块发出操作请求,NameNode会在EditLog文件上添加相应的记录,使EditLog文件内的偏移值向前移动,并将该操作指令发送至指定的数据块。
例如,上述操作请求为写操作请求,由于EditLog文件存放的是Hadoop文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到EditLog文件中。
FsImage文件和EditLog文件都是经过序列化的,在NameNode启动的时候,它会将FsImage文件中的内容加载到内存中,之后再执行EditLog文件中的各项操作,使得内存中的元数据和实际数据的同步更新,存在内存中的元数据支持客户端的读操作,也即通过元数据实现客户端与数据节点之间的隔离。
其中,HDFS(即Hadoop分布式文件系统)中的更新操作会重新写到EditLog文件中,因为FsImage文件一般都很大(GB级别的很常见),如果所有的更新操作都往FsImage文件中添加,这样会导致系统运行的十分缓慢,但是如果往EditLog文件里面写就不会这样,每次执行写操作之后,且在向客户端发送成功代码之前,EditLog文件都需要同步更新。如果一个文件比较大,使得写操作需要向多台机器进行操作,只有当所有的写操作都执行完成之后,写操作才会返回成功,这样的好处是任何的操作请求都不会因为机器的故障而导致元数据的不同步。
在上述任一技术方案中,优选地,发送单元还用于:根据心跳机制向第二hadoop服务集群周期性发送主机操作记录、主机镜像记录和映射表。
在该技术方案中,通过根据心跳机制向第二hadoop服务集群周期性发送主机操作记录、主机镜像记录和映射表,以供第二hadoop服务集群根据主机操作记录、主机镜像记录和映射表来确定是否需要进行同步更新,有利于提高第二hadoop服务集群中存储数据的准确性和实时性,减少了数据同步过程中的延迟,提高了数据同步的效率和数据吞吐量。
在上述任一技术方案中,优选地,还包括:同步请求包含更新的数据块的起始存储地址和数据长度。
在该技术方案中,通过在同步请求中设置更新的数据块的起始存储地址和数据长度,提高了数据同步过程中的准确性,减少了查询更新数据的时间,提高了数据更新的效率。
其中,每个数据块的默认长度通常为64M。
根据本发明的第六方面的技术方案,提供了一种数据同步装置,适用于第二hadoop服务集群,数据同步装置包括:接收单元,用于接收第一hadoop服务集群周期性发送的主机操作记录、主机镜像记录和映射表,将第一hadoop服务集群发送的映射表记作主机映射表;判断单元,用于判断主机操作记录与本地存储的备机操作记录之间的偏移量参考值;生成单元,用于根据偏移量参考值生成同步请求并反馈至第一hadoop服务集群。
在该技术方案中,通过周期性接收第一hadoop服务集群发送的主机操作记录、主机镜像记录和映射表,将第一hadoop服务集群发送的映射表记作主机映射表,提高了主机映射表的准确性与实时性,通过判断主机操作记录与本地存储的备机操作记录之间的偏移量参考值,减少了计算数据差异的时间,提高了数据同步的效率和可靠性,也提高了数据吞吐量。
根据本发明的第七方面的技术方案,提供了一种数据同步系统,包括:第一hadoop服务集群,作为主机服务集群,用于接收客户端发送的数据文件,并采用分布式原理进行存储;第二hadoop服务集群,作为备机服务集群,通过注册的备份接口连接至第一hadoop服务集群;备份控制集群,设有备份接口,连通于第一hadoop服务集群与第二hadoop服务集群之间的数据备份线路,用于控制第一hadoop服务集群中更新的数据块同步备份至第二hadoop服务集群。
根据本发明的第八方面的技术方案,提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被执行时实现如第一方面至第三方面的技术方案限定的数据同步方法。
本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的数据同步方法的示意流程图;
图2示出了根据本发明的另一个实施例的数据同步方法的示意流程图;
图3示出了根据本发明的又一个实施例的数据同步方法的示意流程图;
图4示出了根据本发明的一个实施例的数据同步装置的示意框图;
图5示出了根据本发明的另一个实施例的数据同步装置的示意框图;
图6示出了根据本发明的又一个实施例的数据同步装置的示意框图;
图7示出了根据本发明的一个实施例的数据同步系统的示意框图;
图8示出了根据本发明的一个实施例的数据同步系统的示意框图;
图9示出了根据本发明的一个实施例的数据同步方法的示意流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的数据同步方法的示意流程图。
如图1所示,根据本发明的实施例的数据同步方法,包括:步骤S102,响应于第二hadoop服务集群周期性发送的同步请求,解析同步请求中包含的第二hadoop服务集群中的备机操作记录;步骤S104,响应于同步请求确定第一hadoop服务集群的主机操作记录;步骤S106,确定备机操作记录与主机操作记录之间的偏移量;步骤S108,根据偏移量确定第一hadoop服务集群中更新的数据块和对应的映射表,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。
在该技术方案中,由于Hadoop分布式文件系统主要是由储存元数据的主节点(NameNode)和储存数据的数据节点(DataNode)组成,其中,NameNode负责管理文件系统名称空间和控制外部客户机的访问,管理对分布式文件系统创建、删除、移动或重命名文件等操作。
另外,NameNode上存储的数据是一个称为FsImage的文件,它存储所有关于文件系统名称空间的信息,这个文件和一个包含所有事务的记录文件EditLog(即操作记录)存储在NameNode的本地文件系统上。
每个FsImage文件都有一个编号,这个编号和EditLog文件上的编号是一一对应的,也即FsImage就是定期加载EditLog文件中的所有事务操作而生产的镜像文件,例如,加载到EditLog文件的编号是10,则对应的FsImage文件的编号就是10。
首先,通过第二hadoop服务集群周期性发送的同步请求,确定第一hadoop服务集群和第二hadoop服务集群对应的操作记录之间的偏移量(即EditLog之间的编号差值),如果发现EditLog的偏移量较小,就会读取相应缺少的EditLog文件然后通过数据流的方式传输至备机集群的NameNode,如果发现EditLog的偏移量较大,就意味着备机集群已经和主机集群不同步很长时间了,此时,就把当前主机集群上最新的FsImage文件和EditLog文件传输至备机集群的NameNode上进行同步,有利于提高数据同步备份的可靠性,其中,在检测到EditLog的偏移量较小时,不需要进行数据节点之间的数据同步备份,进而有利于提升频谱利用率和数据吞吐量。
其次,通过确定操作记录的偏移量、第一hadoop服务集群中更新的数据块和对应的映射表,提高了确定第一hadoop服务集群与第二hadoop服务集群之间数据块差异的速率,有利于快速查找出第二hadoop服务集群需要备份的数据块,减少了计算数据差异的时间,提高了数据备份的效率和可靠性。
再次,在第一hadoop服务集群进行数据存储时,NameNode会为新数据在文件FsImage中添加元数据,并在EditLog文件中添加相应的记录,此时EditLog文件内的偏移值会向前移动。因此,在对第二hadoop服务集群进行数据同步备份前,将第一hadoop服务集群和第二hadoop服务集群中的操作记录文件EditLog的编号进行比较,获取EditLog文件的偏移量,再按照偏移量和映射表,能够获取第一hadoop服务集群在文件FsImage中新写入的数据,进而将该数据同步备份至第二hadoop服务集群,进而实现第一hadoop服务集群与第二hadoop服务集群之间的快速数据同步。
最后,为了保证主机服务集群对客户端提供正常范围,采用异步通信方式进行数据备份,也有利于进一步地提高数据吞吐量。
在上述任一技术方案中,优选地,根据偏移量确定第一hadoop服务集群中更新的数据块和对应的映射表,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群,具体包括:判断偏移量是否大于或等于预设偏移量;在判定偏移量小于预设偏移量时,将第一hadoop服务集群上存储的主机操作记录同步备份至第二hadoop服务集群;在判定偏移量大于或等于预设偏移量时,将第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和映射表同步备份至第二hadoop服务集群,并将主机操作记录对应的数据块确定为更新的数据块;响应于第二hadoop服务集群发送的同步请求,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。
在该技术方案中,通过判断偏移量是否大于或等于预设偏移量,确定第二hadoop服务集群中数据是否较长时间未同步,降低了第二hadoop服务集群长时间未同步数据而导致无法提供数据服务的可能性,提高了数据同步的可靠性。
具体地,当偏移量小于预设偏移量时,第一hadoop服务集群中的EditLog文件的编号与第二hadoop服务集群中的EditLog文件之间的编号相差较小,通过将第一hadoop服务集群上存储的主机操作记录同步备份至第二hadoop服务集群,提高了数据同步的速率,降低了数据同步过程中的延迟。
当偏移量大于或等于预设偏移量时,第一hadoop服务集群中的EditLog文件的编号与第二hadoop服务集群中的EditLog文件编号相差较大,第二hadoop服务集群中的数据与第一hadoop服务集群中的数据已经较长时间不同步,此时,将第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和映射表同步备份至第二hadoop服务集群,并将主机操作记录对应的数据块确定为更新的数据块,降低了因需要同步的数据量较大导致数据同步异常的可能性,提高了数据同步过程中的准确性和可靠性。
图2示出了根据本发明的另一个实施例的数据同步方法的示意流程图。
如图2所示,根据本发明的实施例的数据同步方法,包括:步骤S202,响应于客户端发送的文件数据,将文件数据分割为文件名和数据块;步骤S204,将全部文件名存储于一个主节点,以及将数据块分布式存储于多个数据节点;步骤S206,在主节点中存储文件名与数据节点之间的对应关系,并记作映射表,其中,主节点用于生成对已存储的文件数据的主机操作记录,主节点还用于存储主机操作记录对应的主机镜像记录,数据节点根据心跳机制向主节点上报更新的数据块。
在该技术方案中,通过响应于客户端发送的文件数据(或数据写操作),将文件数据分割为文件名和数据块,将全部文件名存储于一个主节点,以及将数据块分布式存储于多个数据节点,提高了数据存储过程中的准确性,提高了查找指定类型数据的效率,通过在主节点中存储文件名与数据节点之间的对应关系,并记作映射表,建立存储文件名与数据节点之间的对应关系,有利于提高根据文件名查找数据节点的准确性,进而提高了数据同步过程中查找第一hadoop服务集群中更新数据的速率和准确性,减少了计算数据差异的时间。
具体地,hadoop服务集群主要由存储元数据的主节点(NameNode)和存储数据的数据节点(DataNode)组成,而NameNode上存储有一个存储所有关于文件系统名称空间的文件FsImage和一个包含所有操作的记录文件EditLog,其中,每个FsImage文件都包含有一个编号,这个编号与EditLog文件中的编号是一一对应的,构成映射表,FsImage文件为EditLog文件的镜像文件。
DataNode和NameNode之间通过心跳机制进行通信,一方面,DataNode通过心跳机制上报存储的数据块,另一方面,NameNode通过心跳机制向DataNode下发执行命令,以便于第二hadoop服务集群向第一hadoop服务集群请求某个数据块时找到对应的DataNode。
在上述任一技术方案中,优选地,还包括:响应于客户端对指定数据块的操作请求,将操作请求转换为相应的操作指令,并根据操作指令在主机操作记录中写入偏移量;将操作指令由主节点发送至存储有指定数据块的数据节点。
在该技术方案中,通过响应于客户端对指定数据块的操作请求,将操作请求转换为相应的操作指令,并根据操作指令在主机操作记录中写入偏移量,提高了第一hadoop服务集群中存储数据的准确性,有利于提高根据偏移量查询到对应操作请求的速率。
具体地,客户端通过第一hadoop服务集群提供的客户端API接口对指定数据块发出操作请求,NameNode会在EditLog文件上添加相应的记录,使EditLog文件内的偏移值向前移动,并将该操作指令发送至指定的数据块。
例如,上述操作请求为写操作请求,由于EditLog文件存放的是Hadoop文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到EditLog文件中。
FsImage文件和EditLog文件都是经过序列化的,在NameNode启动的时候,它会将FsImage文件中的内容加载到内存中,之后再执行EditLog文件中的各项操作,使得内存中的元数据和实际数据的同步更新,存在内存中的元数据支持客户端的读操作,也即通过元数据实现客户端与数据节点之间的隔离。
其中,HDFS(即Hadoop分布式文件系统)中的更新操作会重新写到EditLog文件中,因为FsImage文件一般都很大(GB级别的很常见),如果所有的更新操作都往FsImage文件中添加,这样会导致系统运行的十分缓慢,但是如果往EditLog文件里面写就不会这样,每次执行写操作之后,且在向客户端发送成功代码之前,EditLog文件都需要同步更新。如果一个文件比较大,使得写操作需要向多台机器进行操作,只有当所有的写操作都执行完成之后,写操作才会返回成功,这样的好处是任何的操作请求都不会因为机器的故障而导致元数据的不同步。
在上述任一技术方案中,优选地,还包括:根据心跳机制向第二hadoop服务集群周期性发送主机操作记录、主机镜像记录和映射表。
在该技术方案中,通过根据心跳机制向第二hadoop服务集群周期性发送主机操作记录、主机镜像记录和映射表,以供第二hadoop服务集群根据主机操作记录、主机镜像记录和映射表来确定是否需要进行同步更新,有利于提高第二hadoop服务集群中存储数据的准确性和实时性,减少了数据同步过程中的延迟,提高了数据同步的效率和数据吞吐量。
在上述任一技术方案中,优选地,还包括:同步请求包含更新的数据块的起始存储地址和数据长度。
在该技术方案中,通过在同步请求中设置更新的数据块的起始存储地址和数据长度,提高了数据同步过程中的准确性,减少了查询更新数据的时间,提高了数据更新的效率。
其中,每个数据块的默认长度通常为64M。
图3示出了根据本发明的又一个实施例的数据同步方法的示意流程图。
如图3所示,根据本发明的实施例的数据同步方法,包括:步骤S302,接收第一hadoop服务集群周期性发送的主机操作记录、主机镜像记录和映射表,将第一hadoop服务集群发送的映射表记作主机映射表;步骤S304,判断主机操作记录与本地存储的备机操作记录之间的偏移量参考值;步骤S306,根据偏移量参考值生成同步请求并反馈至第一hadoop服务集群。
在该技术方案中,通过周期性接收第一hadoop服务集群发送的主机操作记录、主机镜像记录和映射表,将第一hadoop服务集群发送的映射表记作主机映射表,提高了主机映射表的准确性与实时性,通过判断主机操作记录与本地存储的备机操作记录之间的偏移量参考值,减少了计算数据差异的时间,提高了数据同步的效率和可靠性,也提高了数据吞吐量。
图4示出了根据本发明的一个实施例的数据同步装置的示意框图。
如图4所示,根据本发明的实施例的数据同步装置400,适用于备份控制集群,备份控制集群连通于第一hadoop服务集群与第二hadoop服务集群之间的数据备份线路,数据同步装置400包括:解析单元402,用于响应于第二hadoop服务集群周期性发送的同步请求,解析同步请求中包含的第二hadoop服务集群中的备机操作记录;确定单元404,用于响应于同步请求确定第一hadoop服务集群的主机操作记录;确定单元404还用于:确定备机操作记录与主机操作记录之间的偏移量;数据同步装置400还包括:更新单元406,用于根据偏移量确定第一hadoop服务集群中更新的数据块和对应的映射表,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。
在该技术方案中,由于Hadoop分布式文件系统主要是由储存元数据的主节点(NameNode)和储存数据的数据节点(DataNode)组成,其中,NameNode负责管理文件系统名称空间和控制外部客户机的访问,管理对分布式文件系统创建、删除、移动或重命名文件等操作。
另外,NameNode上存储的数据是一个称为FsImage的文件,它存储所有关于文件系统名称空间的信息,这个文件和一个包含所有事务的记录文件EditLog(即操作记录)存储在NameNode的本地文件系统上。
每个FsImage文件都有一个编号,这个编号和EditLog文件上的编号是一一对应的,也即FsImage就是定期加载EditLog文件中的所有事务操作而生产的镜像文件,例如,加载到EditLog文件的编号是10,则对应的FsImage文件的编号就是10。
首先,通过第二hadoop服务集群周期性发送的同步请求,确定第一hadoop服务集群和第二hadoop服务集群对应的操作记录之间的偏移量(即EditLog之间的编号差值),如果发现EditLog的偏移量较小,就会读取相应缺少的EditLog文件然后通过数据流的方式传输至备机集群的NameNode,如果发现EditLog的偏移量较大,就意味着备机集群已经和主机集群不同步很长时间了,此时,就把当前主机集群上最新的FsImage文件和EditLog文件传输至备机集群的NameNode上进行同步,有利于提高数据同步备份的可靠性,其中,在检测到EditLog的偏移量较小时,不需要进行数据节点之间的数据同步备份,进而有利于提升频谱利用率和数据吞吐量。
其次,通过确定操作记录的偏移量、第一hadoop服务集群中更新的数据块和对应的映射表,提高了确定第一hadoop服务集群与第二hadoop服务集群之间数据块差异的速率,有利于快速查找出第二hadoop服务集群需要备份的数据块,减少了计算数据差异的时间,提高了数据备份的效率和可靠性。
再次,在第一hadoop服务集群进行数据存储时,NameNode会为新数据在文件FsImage中添加元数据,并在EditLog文件中添加相应的记录,此时EditLog文件内的偏移值会向前移动。因此,在对第二hadoop服务集群进行数据同步备份前,将第一hadoop服务集群和第二hadoop服务集群中的操作记录文件EditLog的编号进行比较,获取EditLog文件的偏移量,再按照偏移量和映射表,能够获取第一hadoop服务集群在文件FsImage中新写入的数据,进而将该数据同步备份至第二hadoop服务集群,进而实现第一hadoop服务集群与第二hadoop服务集群之间的快速数据同步。
最后,为了保证主机服务集群对客户端提供正常范围,采用异步通信方式进行数据备份,也有利于进一步地提高数据吞吐量。
在上述任一技术方案中,优选地,还包括:判断单元408,用于判断偏移量是否大于或等于预设偏移量;备份单元410,用于在判定偏移量小于预设偏移量时,将第一hadoop服务集群上存储的主机操作记录同步备份至第二hadoop服务集群;备份单元410还用于:在判定偏移量大于或等于预设偏移量时,将第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和映射表同步备份至第二hadoop服务集群,并将主机操作记录对应的数据块确定为更新的数据块;数据同步装置400还包括:抓取单元412,用于响应于第二hadoop服务集群发送的同步请求,根据映射表抓取更新的数据块并同步备份至第二hadoop服务集群。
在该技术方案中,通过判断偏移量是否大于或等于预设偏移量,确定第二hadoop服务集群中数据是否较长时间未同步,降低了第二hadoop服务集群长时间未同步数据而导致无法提供数据服务的可能性,提高了数据同步的可靠性。
具体地,当偏移量小于预设偏移量时,第一hadoop服务集群中的EditLog文件的编号与第二hadoop服务集群中的EditLog文件之间的编号相差较小,通过将第一hadoop服务集群上存储的主机操作记录同步备份至第二hadoop服务集群,提高了数据同步的速率,降低了数据同步过程中的延迟。
当偏移量大于或等于预设偏移量时,第一hadoop服务集群中的EditLog文件的编号与第二hadoop服务集群中的EditLog文件编号相差较大,第二hadoop服务集群中的数据与第一hadoop服务集群中的数据已经较长时间不同步,此时,将第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和映射表同步备份至第二hadoop服务集群,并将主机操作记录对应的数据块确定为更新的数据块,降低了因需要同步的数据量较大导致数据同步异常的可能性,提高了数据同步过程中的准确性和可靠性。
图5示出了根据本发明的另一个实施例的数据同步装置的示意框图。
如图5所示,根据本发明的实施例的数据同步装置500,适用于第一hadoop服务集群,数据同步装置500包括:分割单元502,用于响应于客户端发送的文件数据,将文件数据分割为文件名和数据块;存储单元504,用于将全部文件名存储于一个主节点,以及将数据块分布式存储于多个数据节点;存储单元504还用于:在主节点中存储文件名与数据节点之间的对应关系,并记作映射表,其中,主节点用于生成对已存储的文件数据的主机操作记录,主节点还用于存储主机操作记录对应的主机镜像记录,数据节点根据心跳机制向主节点上报更新的数据块。
在该技术方案中,通过响应于客户端发送的文件数据(或数据写操作),将文件数据分割为文件名和数据块,将全部文件名存储于一个主节点,以及将数据块分布式存储于多个数据节点,提高了数据存储过程中的准确性,提高了查找指定类型数据的效率,通过在主节点中存储文件名与数据节点之间的对应关系,并记作映射表,建立存储文件名与数据节点之间的对应关系,有利于提高根据文件名查找数据节点的准确性,进而提高了数据同步过程中查找第一hadoop服务集群中更新数据的速率和准确性,减少了计算数据差异的时间。
具体地,hadoop服务集群主要由存储元数据的主节点(NameNode)和存储数据的数据节点(DataNode)组成,而NameNode上存储有一个存储所有关于文件系统名称空间的文件FsImage和一个包含所有操作的记录文件EditLog,其中,每个FsImage文件都包含有一个编号,这个编号与EditLog文件中的编号是一一对应的,构成映射表,FsImage文件为EditLog文件的镜像文件。
DataNode和NameNode之间通过心跳机制进行通信,一方面,DataNode通过心跳机制上报存储的数据块,另一方面,NameNode通过心跳机制向DataNode下发执行命令,以便于第二hadoop服务集群向第一hadoop服务集群请求某个数据块时找到对应的DataNode。
在上述任一技术方案中,优选地,还包括:转换单元506,用于响应于客户端对指定数据块的操作请求,将操作请求转换为相应的操作指令,并根据操作指令在主机操作记录中写入偏移量;发送单元508,用于将操作指令由主节点发送至存储有指定数据块的数据节点。
在该技术方案中,通过响应于客户端对指定数据块的操作请求,将操作请求转换为相应的操作指令,并根据操作指令在主机操作记录中写入偏移量,提高了第一hadoop服务集群中存储数据的准确性,有利于提高根据偏移量查询到对应操作请求的速率。
具体地,客户端通过第一hadoop服务集群提供的客户端API接口对指定数据块发出操作请求,NameNode会在EditLog文件上添加相应的记录,使EditLog文件内的偏移值向前移动,并将该操作指令发送至指定的数据块。
例如,上述操作请求为写操作请求,由于EditLog文件存放的是Hadoop文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到EditLog文件中。
FsImage文件和EditLog文件都是经过序列化的,在NameNode启动的时候,它会将FsImage文件中的内容加载到内存中,之后再执行EditLog文件中的各项操作,使得内存中的元数据和实际数据的同步更新,存在内存中的元数据支持客户端的读操作,也即通过元数据实现客户端与数据节点之间的隔离。
其中,HDFS(即Hadoop分布式文件系统)中的更新操作会重新写到EditLog文件中,因为FsImage文件一般都很大(GB级别的很常见),如果所有的更新操作都往FsImage文件中添加,这样会导致系统运行的十分缓慢,但是如果往EditLog文件里面写就不会这样,每次执行写操作之后,且在向客户端发送成功代码之前,EditLog文件都需要同步更新。如果一个文件比较大,使得写操作需要向多台机器进行操作,只有当所有的写操作都执行完成之后,写操作才会返回成功,这样的好处是任何的操作请求都不会因为机器的故障而导致元数据的不同步。
在上述任一技术方案中,优选地,发送单元508还用于:根据心跳机制向第二hadoop服务集群周期性发送主机操作记录、主机镜像记录和映射表。
在该技术方案中,通过根据心跳机制向第二hadoop服务集群周期性发送主机操作记录、主机镜像记录和映射表,以供第二hadoop服务集群根据主机操作记录、主机镜像记录和映射表来确定是否需要进行同步更新,有利于提高第二hadoop服务集群中存储数据的准确性和实时性,减少了数据同步过程中的延迟,提高了数据同步的效率和数据吞吐量。
在上述任一技术方案中,优选地,还包括:同步请求包含更新的数据块的起始存储地址和数据长度。
在该技术方案中,通过在同步请求中设置更新的数据块的起始存储地址和数据长度,提高了数据同步过程中的准确性,减少了查询更新数据的时间,提高了数据更新的效率。
其中,每个数据块的默认长度通常为64M。
图6示出了根据本发明的又一个实施例的数据同步装置的示意框图。
如图6所示,根据本发明的实施例的数据同步装置600,适用于第二hadoop服务集群,数据同步装置600包括:接收单元602,用于接收第一hadoop服务集群周期性发送的主机操作记录、主机镜像记录和映射表,将第一hadoop服务集群发送的映射表记作主机映射表;判断单元604,用于判断主机操作记录与本地存储的备机操作记录之间的偏移量参考值;生成单元606,用于根据偏移量参考值生成同步请求并反馈至第一hadoop服务集群。
在该技术方案中,通过周期性接收第一hadoop服务集群发送的主机操作记录、主机镜像记录和映射表,将第一hadoop服务集群发送的映射表记作主机映射表,提高了主机映射表的准确性与实时性,通过判断主机操作记录与本地存储的备机操作记录之间的偏移量参考值,减少了计算数据差异的时间,提高了数据同步的效率和可靠性,也提高了数据吞吐量。
图7示出了根据本发明的一个实施例的数据同步系统的示意框图。
如图7所示,根据本发明的实施例的数据同步系统700,包括:第一hadoop服务集群702,作为主机服务集群,用于接收客户端发送的数据文件,并采用分布式原理进行存储;第二hadoop服务集群704,作为备机服务集群,通过注册的备份接口连接至第一hadoop服务集群702;备份控制集群706,设有备份接口,连通于第一hadoop服务集群702与第二hadoop服务集群704之间的数据备份线路,用于控制第一hadoop服务集群702中更新的数据块同步备份至第二hadoop服务集群704。
实施例一:
图8示出了根据本发明的一个实施例的数据同步系统的示意框图。
如图8所示,根据本发明的实施例的数据同步系统,包括:hadoop主集群804,与客户端802相连,用于接收客户端802写入的数据,其中,hadoop主集群804设有一个主节点8042,以及数据节点8044、数据节点8046、……、数据节点804n(n为正偶数且大于等于6),客户端802向主节点8042写入元数据,假设默认的副本因子为3,则选取数据节点8044、数据节点8046、数据节点804n用于写入存储数据。
其中,主节点8042根据写入的元数据生成EditLog/FsImage文件,数据节点8044、数据节点8046、数据节点804n中的存储数据与主节点中的元数据相对应,并在主节点8042中形成映射表;元数据传输模块806,连接于hadoop主集群804中的主节点8042,用于传输主节点8042中的EditLog/FsImage文件;心跳传输模块808,连接于hadoop主集群804中的主节点8042,用于传输主节点8042中的映射表;数据传输模块810,连接于hadoop主集群804中的数据节点804n,用于获取数据节点8044、数据节点8046、数据节点804n中的存储数据;hadoop备集群812,分别连接于元数据传输模块806的输出端、心跳传输模块808的输出端和数据传输模块810的输出端,用于对客户端802写入的数据进行备份,其中,hadoop备集群812设有主节点8122、数据节点8124、数据节点8126、数据节点8128,主节点8122分别于元数据传输模块806的输出端和心跳传输模块808的输出端相连,用于接收主节点8042中的EditLog/FsImage文件,并于自身存储的EditLog/FsImage文件进行比较,得出偏移量,还用于接收主节点8042中的映射表,根据偏移量和映射表,得出需要备份的数据(客户端802写入的数据),数据节点8124、数据节点8126、数据节点8128存储数据传输模块810传输的存储数据。
Hadoop主机群(即第一hadoop服务集群)与Hadoop备集群(即第二hadoop服务集群)之间的数据同步备份步骤如下:
第一步:通过Hadoop提供的客户端API接口对Hadoop储存系统创建新文件,这时候主节点8042会为新创建的文件在内存FsImage添加Matadata数据和在Editlog文件添加相应的记录,这时候Editlog文件内的偏移值会向前移动,然后主节点8042会在这个新创建的文件分配第一个Block和主节点8042在向其注册的DataNode列表内挑选三个DataNode(假设副本因子是3)作为接受Block数据流的机器,然后返回给客户端。
第二步:Hadoop客户端会接受从主节点8042返回的DataNode列表中挑选一台向其传输数据流,当第一个DataNode成功接受数据后,根据客户端附带的其他两台DataNode地址。
第三步:DataNode会把接受到数据流通过网络管道传输给剩余的两台DataNode,当剩余的两台DataNode都成功接受到数据后,DataNode会向客户端发送成功接受确认信号,然后等待客户端传送剩余的数据流,再重复刚才的步骤,直至客户端传送完所有数据。
第四步:所有DataNode通过心跳机制HeartBeat向主节点8042汇报其上所储存的所以Block列表,主节点8042接受到所有HeartBeat后会在内存中维护一张Block和DataNode的映射表。
第五步:主机群Master主节点8042会根据在其注册的备集群主节点8042(Mirror主节点8042)地址,通过元数据传输模块把EditLog的偏移量给Mirror主节点8042。Mirror主节点8042拿到EditLog偏移量后会和本地的EditLog进行对比,如果发现滞后了,说明数据有变化了。需要和主Hadoop集群进行数据同步了。
第六步:Mirror主节点8042通过心跳机制模块发送请求给Master主节点8042请求它上面的Block与DataNode映射表。
第七步:Mirror主节点8042在拿到主集群的Block与DataNode映射关系表,会发现有新的Block并创建了,Mirror主节点8042会从注册其上的MirrorDataNode列表中挑选三台DataNode机器向其发送远程拉取数据的命令,并把主集群目标机器的DataNode作为参数发送过去。MirrorDataNode在接受到这个命令后,从命令参数中读取目标DataNode地址,然后发送远程过程调用去获取相应Block数据。
实施例二:
图9示出了根据本发明的一个实施例的数据同步方法的示意流程图。
如图9所示,根据本发明的实施例的数据同步方法,包括:
第一步:修改两个Hadoop集群内配置文件hdfs-site.xml,为其增加主备角色配置项DFS_PRIMARY。这个配置项就是为Hadoop增加是否为主机群标志,同时增加配置项DFS_PRIMARY_ADDRESS这个是MasterNameNode(主集群主节点)的服务器地址,MirrorNameNode(备集群主节点)会向这个地址注册。然后启动两个Hadoop集群。
具体包括:步骤S902,修改hadoop配置文件hdfs-site.xml增加相关配置;步骤S904,启动hadoop主集群;步骤S916,启动hadoop备集群;步骤S918,根据配置文件获取主集群NameData服务地址,并注册备集群的NameData,其中,根据新加的RPC服务接口注册备用hadoop集群NameNode地址。
第二步:创建远程过程服务器调度接口MirrorProtocolService。这个接口会被NameNode所实现,所以两个Hadoop集群的NameNode都提供远程服务。这个接口实现两个功能:注册Register和远程复制MataData(元数据)数据replication。MirrorNameNode通过Register功能向MasterNameNode注册。
具体包括:步骤S906,监听备集群的NameNode;步骤S908,判断判断是否有备集群NameNode注册进来,若是,执行步骤S920,若否,执行步骤S910。
第三步:MasterNameNode在接受到注册请求后,会在内存中保存MirrorNameNode的地址,然后等待客户端发送的写请求数据。
具体包括:步骤S910,主NameNode等待客户端发送写数据操作,Editlog文件偏移指标改动。
第四步:当有客户端向主集群创建文件并且写入数据后,MasterNameNode会在后台通过replication功能定期异步发送Editlog文件偏移量给MirrorNameNode。MirrorNameNode在接受请求后,会对比在其上的EditLog偏移量,如果发现滞后,会向MasterNameNode发送新的心跳请求Block(数据块)与DataNode(数据节点)映射关系表。
具体包括:步骤S912,NameNode接受客户端写入请求,创建元数据并写入Editlog文件和定期合并入FsImage文件,其中,客户端发送写文件操作,在NameNode中写入元数据,在DataNode中写入存储数据;步骤S914,DataNode接受客户端正真写入的数据。
第五步:MirrorNameNode会向其内部的DataNode列表中选择其中的DataNode通过HeartBeat发送远程取数的命令。
具体包括:步骤S920,根据Editlog的偏移量,判断是否有数据被写入,若是,执行步骤S922,其中,异步同步心跳信息给备用NameNode,包括Editlog和FsImage文件信息和内存中Block(数据块)和DataNode的映射表,若否,执行步骤S918。
第六步:创建远程过程服务器调度接口MirrorDataProtocolService,这个接口会被所有DataNode实现,这个接口的主要功能是在DataNode与DataNode通过BlockId拉取数据,其实现方法是transferBlock。
第七步:MirrorDataNode在从MirrorNameNode接受到拉取命令后,通过MirrorDataProtocolService服务根据所需的BlockId,远程读取目标DataNode上所对应的BlockId数据,至此完成所有数据的传输工作,两个集群状态始终保持同步。
具体包括:步骤S922,同步DataNode上的数据,其中,根据新增的Block和从主集群中拿到的Block和DataNode的映射表选取其中的DataNode来拉取Block的数据;步骤S924,客户端发送写文件操作,在NameNode中写入元数据,在DataNode中写入存储数据。
根据本发明的实施例,还提出了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被执行时实现如第一方面至第三方面的技术方案限定的数据同步方法。
以上结合附图详细说明了本发明的技术方案,本发明提供了一种数据同步方法、装置、系统和计算机可读存储介质,通过第二hadoop服务集群周期性发送的同步请求,确定第一hadoop服务集群和第二hadoop服务集群对应的操作记录,其中,操作记录中包含编号,有利于提高查找hadoop服务集群中指定文件的速率。通过确定操作记录的偏移量、第一hadoop服务集群中更新的数据块和对应的映射表,提高了确定第一hadoop服务集群与第二hadoop服务集群之间数据块差异的速率,有利于快速查找出第二hadoop服务集群需要备份的数据块,减少了计算数据差异的时间,提高了数据备份的效率和可靠性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种数据同步方法,适用于备份控制集群,所述备份控制集群连通于第一hadoop服务集群与第二hadoop服务集群之间的数据备份线路,其特征在于,所述数据同步方法包括:
响应于所述第二hadoop服务集群周期性发送的同步请求,解析所述同步请求中包含的所述第二hadoop服务集群中的备机操作记录;
响应于所述同步请求确定所述第一hadoop服务集群的主机操作记录;
确定所述备机操作记录与所述主机操作记录之间的偏移量;
根据所述偏移量确定所述第一hadoop服务集群中更新的数据块和对应的映射表,根据所述映射表抓取所述更新的数据块并同步备份至所述第二hadoop服务集群。
2.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述偏移量确定所述第一hadoop服务集群中更新的数据块和对应的映射表,根据所述映射表抓取所述更新的数据块并同步备份至所述第二hadoop服务集群,具体包括:
判断所述偏移量是否大于或等于预设偏移量;
在判定所述偏移量小于所述预设偏移量时,将所述第一hadoop服务集群上存储的主机操作记录同步备份至所述第二hadoop服务集群;
在判定所述偏移量大于或等于所述预设偏移量时,将所述第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和所述映射表同步备份至所述第二hadoop服务集群,并将所述主机操作记录对应的数据块确定为更新的数据块;
响应于所述第二hadoop服务集群发送的同步请求,根据所述映射表抓取所述更新的数据块并同步备份至所述第二hadoop服务集群。
3.一种数据同步方法,适用于第一hadoop服务集群,其特征在于,所述数据同步方法包括:
响应于客户端发送的文件数据,将文件数据分割为文件名和数据块;
将全部所述文件名存储于一个主节点,以及将所述数据块分布式存储于多个数据节点;
在所述主节点中存储所述文件名与所述数据节点之间的对应关系,并记作映射表,
其中,所述主节点用于生成对已存储的所述文件数据的主机操作记录,所述主节点还用于存储所述主机操作记录对应的主机镜像记录,所述数据节点根据心跳机制向所述主节点上报更新的数据块。
4.根据权利要求3所述的数据同步方法,其特征在于,还包括:
响应于所述客户端对指定数据块的操作请求,将所述操作请求转换为相应的操作指令,并根据所述操作指令在所述主机操作记录中写入偏移量;
将所述操作指令由所述主节点发送至存储有所述指定数据块的数据节点。
5.根据权利要求3或4所述的数据同步方法,其特征在于,还包括:
根据心跳机制向第二hadoop服务集群周期性发送所述主机操作记录、所述主机镜像记录和所述映射表。
6.根据权利要求1或2所述的数据同步方法,其特征在于,还包括:
所述同步请求包含所述更新的数据块的起始存储地址和数据长度。
7.一种数据同步方法,适用于第二hadoop服务集群,其特征在于,所述数据同步方法包括:
接收第一hadoop服务集群周期性发送的主机操作记录、主机镜像记录和映射表,将所述第一hadoop服务集群发送的映射表记作主机映射表;
判断所述主机操作记录与本地存储的备机操作记录之间的偏移量参考值;
根据所述偏移量参考值生成所述同步请求并反馈至所述第一hadoop服务集群。
8.一种数据同步装置,适用于备份控制集群,所述备份控制集群连通于第一hadoop服务集群与第二hadoop服务集群之间的数据备份线路,其特征在于,所述数据同步装置包括:
解析单元,用于响应于所述第二hadoop服务集群周期性发送的同步请求,解析所述同步请求中包含的所述第二hadoop服务集群中的备机操作记录;
确定单元,用于响应于所述同步请求确定所述第一hadoop服务集群的主机操作记录;
所述确定单元还用于:确定所述备机操作记录与所述主机操作记录之间的偏移量;
所述数据同步装置还包括:
更新单元,用于根据所述偏移量确定所述第一hadoop服务集群中更新的数据块和对应的映射表,根据所述映射表抓取所述更新的数据块并同步备份至所述第二hadoop服务集群。
9.根据权利要求8所述的数据同步装置,其特征在于,还包括:
判断单元,用于判断所述偏移量是否大于或等于预设偏移量;
备份单元,用于在判定所述偏移量小于所述预设偏移量时,将所述第一hadoop服务集群上存储的主机操作记录同步备份至所述第二hadoop服务集群;
所述备份单元还用于:在判定所述偏移量大于或等于所述预设偏移量时,将所述第一hadoop服务集群上存储的主机操作记录、对应的主机镜像记录和所述映射表同步备份至所述第二hadoop服务集群,并将所述主机操作记录对应的数据块确定为更新的数据块;
所述数据同步装置还包括:
抓取单元,用于响应于所述第二hadoop服务集群发送的同步请求,根据所述映射表抓取所述更新的数据块并同步备份至所述第二hadoop服务集群。
10.一种数据同步装置,适用于第一hadoop服务集群,其特征在于,所述数据同步装置包括:
分割单元,用于响应于客户端发送的文件数据,将文件数据分割为文件名和数据块;
存储单元,用于将全部所述文件名存储于一个主节点,以及将所述数据块分布式存储于多个数据节点;
所述存储单元还用于:在所述主节点中存储所述文件名与所述数据节点之间的对应关系,并记作映射表,
其中,所述主节点用于生成对已存储的所述文件数据的主机操作记录,所述主节点还用于存储所述主机操作记录对应的主机镜像记录,所述数据节点根据心跳机制向所述主节点上报更新的数据块。
11.根据权利要求10所述的数据同步装置,其特征在于,还包括:
转换单元,用于响应于所述客户端对指定数据块的操作请求,将所述操作请求转换为相应的操作指令,并根据所述操作指令在所述主机操作记录中写入偏移量;
发送单元,用于将所述操作指令由所述主节点发送至存储有所述指定数据块的数据节点。
12.根据权利要求10或11所述的数据同步装置,其特征在于,
所述发送单元还用于:根据心跳机制向第二hadoop服务集群周期性发送所述主机操作记录、所述主机镜像记录和所述映射表。
13.根据权利要求8或9所述的数据同步装置,其特征在于,还包括:
所述同步请求包含所述更新的数据块的起始存储地址和数据长度。
14.一种数据同步装置,适用于第二hadoop服务集群,其特征在于,所述数据同步装置包括:
接收单元,用于接收第一hadoop服务集群周期性发送的主机操作记录、主机镜像记录和映射表,将所述第一hadoop服务集群发送的映射表记作主机映射表;
判断单元,用于判断所述主机操作记录与本地存储的备机操作记录之间的偏移量参考值;
生成单元,用于根据所述偏移量参考值生成所述同步请求并反馈至所述第一hadoop服务集群。
15.一种数据同步系统,其特征在于,包括:
第一hadoop服务集群,作为主机服务集群,用于接收客户端发送的数据文件,并采用分布式原理进行存储;
第二hadoop服务集群,作为备机服务集群,通过注册的备份接口连接至所述第一hadoop服务集群;
备份控制集群,设有所述备份接口,连通于第一hadoop服务集群与第二hadoop服务集群之间的数据备份线路,用于控制所述第一hadoop服务集群中更新的数据块同步备份至所述第二hadoop服务集群。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据同步方法。
CN201810322776.3A 2018-04-11 2018-04-11 数据同步方法、装置、系统和计算机可读存储介质 Active CN110377577B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810322776.3A CN110377577B (zh) 2018-04-11 2018-04-11 数据同步方法、装置、系统和计算机可读存储介质
PCT/CN2019/082191 WO2019196889A1 (en) 2018-04-11 2019-04-11 Systems and methods for data synchronization
US17/067,754 US10983872B2 (en) 2018-04-11 2020-10-11 Systems and methods for data synchronization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810322776.3A CN110377577B (zh) 2018-04-11 2018-04-11 数据同步方法、装置、系统和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110377577A true CN110377577A (zh) 2019-10-25
CN110377577B CN110377577B (zh) 2022-03-04

Family

ID=68163885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810322776.3A Active CN110377577B (zh) 2018-04-11 2018-04-11 数据同步方法、装置、系统和计算机可读存储介质

Country Status (3)

Country Link
US (1) US10983872B2 (zh)
CN (1) CN110377577B (zh)
WO (1) WO2019196889A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825758A (zh) * 2019-10-31 2020-02-21 中国银联股份有限公司 一种交易处理的方法及装置
CN111382137A (zh) * 2020-03-16 2020-07-07 上海英方软件股份有限公司 一种Hadoop集群文件备份系统及方法
CN112100283A (zh) * 2020-11-17 2020-12-18 江苏北弓智能科技有限公司 一种基于Linux平台的安卓虚拟机的分时复用方法
WO2021082465A1 (zh) * 2019-10-31 2021-05-06 华为技术有限公司 一种保证数据一致性的方法及相关设备
WO2023046042A1 (zh) * 2021-09-23 2023-03-30 华为技术有限公司 一种数据备份方法和数据库集群

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112714016A (zh) * 2020-12-25 2021-04-27 国网河北省电力有限公司信息通信分公司 一种电力物联网大数据边缘分析方法
CN117176743B (zh) * 2023-11-03 2024-02-06 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、可读存储介质及程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294701A (zh) * 2012-02-24 2013-09-11 联想(北京)有限公司 一种分布式文件系统以及数据处理的方法
CN103729352A (zh) * 2012-10-10 2014-04-16 腾讯科技(深圳)有限公司 分布式文件系统对多个副本数据进行处理的方法及该系统
US20150193466A1 (en) * 2014-01-06 2015-07-09 Siegfried Luft Architecture and method for cloud provider selection and projection
CN105468475A (zh) * 2015-11-16 2016-04-06 北京奇虎科技有限公司 数据库的备份方法及备份装置
CN106570007A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 用于分布式缓存系统数据同步的方法和设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5686034B2 (ja) * 2011-04-28 2015-03-18 富士通株式会社 クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム
US10311019B1 (en) * 2011-12-21 2019-06-04 EMC IP Holding Company LLC Distributed architecture model and management
WO2013096887A1 (en) * 2011-12-23 2013-06-27 Amiato, Inc. Scalable analysis platform for semi-structured data
CA3078018C (en) * 2013-03-15 2023-08-22 Amazon Technologies, Inc. Scalable analysis platform for semi-structured data
CN104283906B (zh) * 2013-07-02 2018-06-19 华为技术有限公司 分布式存储系统、集群节点及其区间管理方法
CN105187464B (zh) * 2014-06-19 2019-11-05 南京中兴软件有限责任公司 一种分布式存储系统中的数据同步方法、装置及系统
CN104202375B (zh) * 2014-08-22 2017-10-24 广州华多网络科技有限公司 同步数据的方法及系统
CN106484565B (zh) * 2016-09-22 2019-06-28 华为数字技术(成都)有限公司 多数据中心间的数据同步方法及相关设备
CN107465767B (zh) * 2017-09-29 2020-06-23 网宿科技股份有限公司 一种数据同步的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294701A (zh) * 2012-02-24 2013-09-11 联想(北京)有限公司 一种分布式文件系统以及数据处理的方法
CN103729352A (zh) * 2012-10-10 2014-04-16 腾讯科技(深圳)有限公司 分布式文件系统对多个副本数据进行处理的方法及该系统
US20150193466A1 (en) * 2014-01-06 2015-07-09 Siegfried Luft Architecture and method for cloud provider selection and projection
CN106570007A (zh) * 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 用于分布式缓存系统数据同步的方法和设备
CN105468475A (zh) * 2015-11-16 2016-04-06 北京奇虎科技有限公司 数据库的备份方法及备份装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825758A (zh) * 2019-10-31 2020-02-21 中国银联股份有限公司 一种交易处理的方法及装置
WO2021082465A1 (zh) * 2019-10-31 2021-05-06 华为技术有限公司 一种保证数据一致性的方法及相关设备
CN110825758B (zh) * 2019-10-31 2022-11-15 中国银联股份有限公司 一种交易处理的方法及装置
CN111382137A (zh) * 2020-03-16 2020-07-07 上海英方软件股份有限公司 一种Hadoop集群文件备份系统及方法
CN112100283A (zh) * 2020-11-17 2020-12-18 江苏北弓智能科技有限公司 一种基于Linux平台的安卓虚拟机的分时复用方法
WO2023046042A1 (zh) * 2021-09-23 2023-03-30 华为技术有限公司 一种数据备份方法和数据库集群

Also Published As

Publication number Publication date
CN110377577B (zh) 2022-03-04
US20210064478A1 (en) 2021-03-04
US10983872B2 (en) 2021-04-20
WO2019196889A1 (en) 2019-10-17

Similar Documents

Publication Publication Date Title
CN110377577A (zh) 数据同步方法、装置、系统和计算机可读存储介质
US10185497B2 (en) Cluster federation and trust in a cloud environment
CN107547653B (zh) 一种分布式文件存储系统
US9609060B2 (en) Distributed storage system and method
US11061924B2 (en) Multi-region, multi-master replication of database tables
US9405781B2 (en) Virtual multi-cluster clouds
EP1845688B1 (en) Method, system, client terminal and server for realizing data synchronization
US9547706B2 (en) Using colocation hints to facilitate accessing a distributed data storage system
CN111797121B (zh) 读写分离架构业务系统的强一致性查询方法、装置及系统
JP2000057032A (ja) 複数のサ―バでオブジェクトを同期させる汎用システム、2つのサ―バでオブジェクトを同期させるシステム、2つのサ―バでオブジェクトを同期させる方法、2つのサ―バに存在するオブジェクトがオブジェクトのタイプに関係なく同期される汎用同期システム、2つのサ―バでのオブジェクトの同期における競合を検出して解消する方法
CN109871367A (zh) 一种基于Redis和HBase的分布式冷热数据分离方法
CN111858097A (zh) 分布式数据库系统、数据库访问方法
CN104133882A (zh) 一种基于hdfs的小文件处理方法
CN102664914A (zh) 一种IS/DFS-Image分布式文件存储查询系统
CN104391930A (zh) 分布式文件存储装置和方法
KR20100070895A (ko) 메타데이터 서버 및 메타데이터 관리 방법
MXPA05013617A (es) Metodo y sistema para sincronizar multiples revisiones de usuario para un objeto compartido.
US20090006489A1 (en) Hierarchical synchronization of replicas
CN109344122B (zh) 一种基于文件预创策略的分布式元数据管理方法及系统
CN103067461A (zh) 一种文件的元数据管理系统以及元数据管理方法
CN112035420B (zh) 数据共享方法、共享设备和系统
CN103942259A (zh) 一种数据库同步中实现数据缓存的方法
CN113377868A (zh) 一种基于分布式kv数据库的离线存储系统
KR20100073154A (ko) 메타데이터 서버, 데이터 서버의 데이터 처리 방법 및 이를이용한 비대칭 클러스터 분산 파일 시스템
EP3061011B1 (en) Method for optimizing index, master database node and subscriber database node

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