CN113778755B - 一种数据同步方法、装置、设备及计算机可读存储介质 - Google Patents

一种数据同步方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113778755B
CN113778755B CN202111087069.9A CN202111087069A CN113778755B CN 113778755 B CN113778755 B CN 113778755B CN 202111087069 A CN202111087069 A CN 202111087069A CN 113778755 B CN113778755 B CN 113778755B
Authority
CN
China
Prior art keywords
log
data synchronization
source node
module
application process
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
Application number
CN202111087069.9A
Other languages
English (en)
Other versions
CN113778755A (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.)
Inspur Power Commercial Systems Co Ltd
Original Assignee
Inspur Power Commercial Systems 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 Inspur Power Commercial Systems Co Ltd filed Critical Inspur Power Commercial Systems Co Ltd
Priority to CN202111087069.9A priority Critical patent/CN113778755B/zh
Publication of CN113778755A publication Critical patent/CN113778755A/zh
Application granted granted Critical
Publication of CN113778755B publication Critical patent/CN113778755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/1461Backup scheduling policy
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种数据同步方法,应用于目标节点,该方法包括以下步骤:接收源节点发送的日志项;将日志项分块缓存至预创建的各用户空间;调用各派发进程从各用户空间中读取缓存的日志块,并将各日志块发送至应用进程;其中,预先划分有各派发进程与各用户空间之间的对应关系;利用应用进程根据各日志块进行数据同步操作。应用本发明所提供的数据同步方法,较大地降低了对源节点CPU资源的占用,降低了对源节点业务的影响,提升了数据同步效率。本发明还公开了一种数据同步装置、设备及存储介质,具有相应技术效果。

Description

一种数据同步方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种数据同步方法、装置、设备及计算机可读存储介质。
背景技术
为保障节点数据的安全性,通常需要对节点数据进行同步复制操作,从而当生成数据的源节点发生异常时,能够从同步有源节点生成的数据的目标节点中获得完整的数据。
现有的数据同步方案为存储复制方案,即利用存储设备的同步复制功能或者异步复制功能实现存储级别的数据同步。存储复制方案当需要同步的数据量较大时,占用大量的源节点CPU资源,影响源节点业务的正常运行,数据同步效率低。
综上所述,如何有效地解决存储复制方案占用大量的源节点CPU资源,影响源节点业务的正常运行,数据同步效率低等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种数据同步方法,该方法较大地降低了对源节点CPU资源的占用,降低了对源节点业务的影响,提升了数据同步效率;本发明的另一目的是提供一种数据同步装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种数据同步方法,应用于目标节点,包括:
接收源节点发送的日志项;
将所述日志项分块缓存至预创建的各用户空间;
调用各派发进程从各所述用户空间中读取缓存的日志块,并将各所述日志块发送至应用进程;其中,预先划分有各所述派发进程与各所述用户空间之间的对应关系;
利用所述应用进程根据各所述日志块进行数据同步操作。
在本发明的一种具体实施方式中,利用所述应用进程根据各所述日志块进行数据同步操作,包括:
获取各所述日志块分别对应的日志序列号;
对各所述日志序列号进行先后排序,得到排序结果;
利用所述应用进程按照所述排序结果对应的各所述日志块进行数据同步操作。
在本发明的一种具体实施方式中,利用所述应用进程根据各所述日志块进行数据同步操作,包括:
获取预设的对象同步列表;
按照所述对象同步列表从各所述日志块中筛选目标日志内容;
利用所述应用进程根据所述目标日志内容进行数据同步操作。
在本发明的一种具体实施方式中,利用所述应用进程根据各所述日志块进行数据同步操作,包括:
获取预设的对象同步级别;其中,所述对象同步级别包括数据级别和定义范围级别;
利用所述应用进程按照所述对象同步级别根据各所述日志块进行数据同步操作。
在本发明的一种具体实施方式中,在调用各派发进程从各所述用户空间中读取缓存的日志块之后,还包括:
对各所述用户空间进行删除操作。
在本发明的一种具体实施方式中,接收源节点发送的日志项,包括:
接收所述源节点通过远程日志服务发送的日志项。
在本发明的一种具体实施方式中,在利用所述应用进程根据各所述日志块进行数据同步操作之后,还包括:
当所述源节点发生异常时,接替所述源节点进行业务处理。
一种数据同步装置,应用于目标节点,包括:
日志项接收模块,用于接收源节点发送的日志项;
日志项缓存模块,用于将所述日志项分块缓存至预创建的各用户空间;
日志块读取及发送模块,用于调用各派发进程从各所述用户空间中读取缓存的日志块,并将各所述日志块发送至应用进程;其中,预先划分有各所述派发进程与各所述用户空间之间的对应关系;
数据同步模块,用于利用所述应用进程根据各所述日志块进行数据同步操作。
一种数据同步设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述数据同步方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述数据同步方法的步骤。
本发明所提供的数据同步方法,应用于目标节点,包括:接收源节点发送的日志项;将日志项分块缓存至预创建的各用户空间;调用各派发进程从各用户空间中读取缓存的日志块,并将各日志块发送至应用进程;其中,预先划分有各派发进程与各用户空间之间的对应关系;利用应用进程根据各日志块进行数据同步操作。通过根据日志项对源节点中的数据进行同步的逻辑同步方案,在数据同步时仅需要将在源节点记录的日志项发送至目标节点,相较于现有的存储复制方案,本发明较大地降低了数据传输量,降低了对源节点CPU资源的占用,降低了对源节点业务的影响,提升了数据同步效率。
相应的,本发明还提供了与上述数据同步方法相对应的数据同步装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中数据同步方法的一种实施流程图;
图2为本发明实施例中一种本地数据同步系统的结构框图;
图3为本发明实施例中一种远程数据同步系统的结构框图;
图4为本发明实施例中一种数据同步装置的结构框图;
图5为本发明实施例中一种数据同步设备的结构框图;
图6为本实施例提供的一种数据同步设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例中数据同步方法的一种实施流程图,应用于目标节点,该方法可以包括以下步骤:
S101:接收源节点发送的日志项。
参见图2和图3,图2为本发明实施例中一种本地数据同步系统的结构框图,图3为本发明实施例中一种远程数据同步系统的结构框图。源节点当对自身存在的数据进行任何操作时,均会记录在日志中。当需要将源节点生成的数据同步给目标节点时,应用程序通过偏移量找到日志项(Journal entry)的起始位置,通过记录字节长度读取完整的日志项内容,向目标节点发送日志项,如图2所示,在本地数据同步过程中,源节点通过Socket程序将日志项发送至目标节点,如图3所示,在远程数据同步过程中,源节点通过远程日志服务将日志项发送至目标节点。目标节点接收源节点发送的日志项。日志项中记录所有的对象操作和数据操作。
支持记录到日志的操作包括对数据队列、数据域、数据库表、流文件等对象进行的插入新记录、修改旧记录、删除旧记录、生成新的数据库表、生成新的数据库索引、删除已有的数据库表、删除已有的数据库索引、启动事务、停止事务、提交事务、回滚事务、数据库表重整等操作。
插入操作有两种选择,一种是直接插入到文件尾,也就是采用添加的形式进行插入操作,对应的插入函数为_Rwrite();另一种是插入到文件中间,覆盖所谓的已删除记录,对应的插入函数为_Rwrited()。
对更新和删除操作的处理是通过RRN(Relative Record Number,相对记录号),使用_Rlocate()函数进行记录定位,使用_Rupdate()函数或者_Rdelete()函数进行更新或者记录的删除操作。
对重整操作的处理可以通过RGZPFM命令的重整表命令,释放已删除记录占用的空间,RGZPFM会在日志记录FRZ记录,在目标端读取到该日志项,重复该动作对目标端的表也进行RGZPFM动作。
对文件对象的生成,删除,重命名,移动位置都会在数据库日志记录相应日志项,在目标节点读取到该日志项,根据日志项的标记在目标节点进行对应的文件对象处理。
通常使用事务进行操作的封装,但在高可用方案中,由于对事务的使用并没有急迫的要求,由此可以设计两种不同的算法,即在备机也是用相同的事务封装,当读到提交(commit)或者回滚(rollback)的时候在备机进行提交或回滚。在备机不适用事务封装,通过程序逻辑实现事务动作的提交或回滚。
支持单一实例或者多实例的场景,对独立存储池的支持需要体现在对象的隶属关系需要注意其所属实例,也就是对应的独立存储池。程序运行环境必须扩展数据库命名空间拓展到该独立存储池,通常使用进程描述标识当前进程需要访问的独立存储池名称。在逻辑复制解决方案定义复制列表的时候必须明确使用的独立存储池名称,以便在目标端准确的把数据库变更提交到正确的对象。
源节点与目标节点之间设计了元数据数据的同步机制,逻辑复制的关键步骤都会记录数据到元数据数据库中,理论上只有发生该动作的节点能访问到该关键数据。为了便于在源节点和目标节点都能有效地管理同步复制的过程和监控同步复制的过程,设计了socket程序以便在两个节点之间同步元数据数据,同步采用异步模式,可以设置每10秒做一次同步处理,同步采用增量方式,只传送发生的新的变更,以便快速进行数据的更新。
S102:将日志项分块缓存至预创建的各用户空间。
在目标节点预先创建多个用户空间(user space),目标节点在接收到源节点发送的日志项之后,由于每个用户空间的存储容量有限,因此将日志项分块缓存至预创建的各用户空间。
如图2和图3所示,读取(Reader)进程通过读取日志项,把数据缓存到用户空间。读取日志的方式主要包括三种,分别为使用RTVJRNE命令诸条读取日志、使用API(Application Programming Interface,应用程序编程接口)逐条读取日志、使用RCVJRNE命令配合断点程序按块读取一组日志、考虑到读取日志的效率,在负载低效率要求不高的场景使用RTVJRNE命令逐条读取日志可以满足中低负载的要求,而在企业级负载场景需要使用RCVJRNE命令进行日志的读取。
用户空间一般最大为16MB,数据以连续字符串的形式保存在用户空间中。预先创建多个用户空间作为备用,一个用户空间写满以后,切换下一个用户空间中。用户空间命令采用两段命名,前五位固定为字符串标识,例如USSPC,后五位为数字,比如12345,每次产生新的用户空间都会在数字部分进行加1的操作。
S103:调用各派发进程从各用户空间中读取缓存的日志块,并将各日志块发送至应用进程。
其中,预先划分有各派发进程与各用户空间之间的对应关系。
目标节点中设置有多个派发(Dispatch)进程,在将日志项分块缓存至预创建的各用户空间之后,各用户空间分别存储有划分到的日志块,调用各派发进程从各用户空间中读取缓存的日志块,并将各日志块发送至应用进程。
S104:利用应用进程根据各日志块进行数据同步操作。
目标节点中设置有应用进程,在调用各派发进程将各日志块发送至应用进程之后,利用应用进程根据各日志块进行数据同步操作。
需要说明的是,应用进程的数量可以根据当前日志负载量的大小进行设定和调整,本发明实施例对此不做限定,如可以设置为应用进程与派发进程一一对应,派发进程和应用进程之间通过数据队列(data queue)进行数据的传送,派发进程通过读取日志项负责把日志项发送到不同的队列,再将各队列中的日志内容发送至应用进程。
本发明通过根据日志项对源节点中的数据进行同步的逻辑同步方案,在数据同步时仅需要将在源节点记录的日志项发送至目标节点,如源节点把日志项通过异步方式将日志项发送至目标节点,通过异步传递方式,避免了对源节点业务处理的影响。通过处理日志项在目标节点重复源节点发生的动作以达到复制源节点生产动作的目的,相较于现有的存储复制方案,本发明较大地降低了数据传输量,降低了对源节点CPU资源的占用,降低了对源节点业务的影响,提升了数据同步效率。
本发明所提供的数据同步方法,应用于目标节点,包括:接收源节点发送的日志项;将日志项分块缓存至预创建的各用户空间;调用各派发进程从各用户空间中读取缓存的日志块,并将各日志块发送至应用进程;其中,预先划分有各派发进程与各用户空间之间的对应关系;利用应用进程根据各日志块进行数据同步操作。通过根据日志项对源节点中的数据进行同步的逻辑同步方案,在数据同步时仅需要将在源节点记录的日志项发送至目标节点,相较于现有的存储复制方案,本发明较大地降低了数据传输量,降低了对源节点CPU资源的占用,降低了对源节点业务的影响,提升了数据同步效率。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
在本发明的一种具体实施方式中,步骤S104可以包括以下步骤:
步骤一:获取各日志块分别对应的日志序列号;
步骤二:对各日志序列号进行先后排序,得到排序结果;
步骤三:利用应用进程按照排序结果对应的各日志块进行数据同步操作。
为方便描述,可以将上述三个步骤结合起来进行说明。
对日志项分块得到的各日志块分别包含自身对应的日志序列号,获取各日志块分别对应的日志序列号,对各日志序列号进行先后排序,得到排序结果,利用应用进程按照排序结果对应的各日志块进行数据同步操作。通过将日志序列号作为主键对日志块进行排序,辨别不同日志块的前后次序,保证了在目标节点同步得到的数据与源节点数据的一致性。
除此之外,各日志块还包含对象,标识日志作用的对象和所在位置;还包含相对记录号,对每条记录提供相对记录号,对于允许重复键值的表,使用相对记录号也可以作为主键标识每一条记录的位置;还包含日志代码,每个对象都有自己唯一的日志代码;还包含事务代码,事务标识符,每个完整的事务对应的所有日志项都会标识相同的事务代码,隶属于同一个事务的操作理论上需要一起提交或者一起回滚;还包含时间戳,每个日志在源节点被记录时候的系统时间戳。
除此之外,本发明实施例还可以提供监控界面实时监控数据库复制过程中的监控数据,源节点数据库日志的最新数据,数据同步各个关键进程的状态,读取,派发,应用进程的关键处理数据,刷新对象的状态,有多少对象已经停止正常同步,停止的原因和最后处理的日志序列号。当前各个步骤的处理速度,备份机滞后生产机的数据,包括滞后的日志项量以及滞后的时间等。通过提供对数据同步过程的监控功能,使得在出现同步异常时能够及时发现,提升了数据同步的可靠性。
在本发明的一种具体实施方式中,步骤S104可以包括以下步骤:
步骤一:获取预设的对象同步列表;
步骤二:按照对象同步列表从各日志块中筛选目标日志内容;
步骤三:利用应用进程根据目标日志内容进行数据同步操作。
为方便描述,可以将上述三个步骤结合起来进行说明。
预先设置对象同步列表,对象同步列表中包含需要进行数据同步的对象通过包含和忽略对复制对象范围进行限制,通过通配符和*ALL等关键字泛指特定一组对象名称,如需要对哪个数据库中的数据进行同步。目标节点获取预设的对象同步列表,按照对象同步列表从各日志块中筛选目标日志内容,利用应用进程根据目标日志内容进行数据同步操作,从而实现了对指定范围内的对象进行相应的数据同步。
在本发明的一种具体实施方式中,步骤S104可以包括以下步骤:
步骤一:获取预设的对象同步级别;其中,对象同步级别包括数据级别和定义范围级别;
步骤二:利用应用进程按照对象同步级别根据各日志块进行数据同步操作。
为方便描述,可以将上述两个步骤结合起来进行说明。
预先设置对象同步级别,对象同步级别包括数据级别和定义范围级别,利用应用进程按照对象同步级别根据各日志块进行数据同步操作。通过定义设置实现数据级别的复制还是仅定义范围的复制,如果要求定义范围复制,则不会对记录进行赋值操作,对象的生成,删除,重命名,移动等动作会在目标节点进行重现。通过设置数据级别和定义范围级别两个对象同步级别选项,实现了根据实际应用场景对数据同步范围的自由选取。
在本发明的一种具体实施方式中,在调用各派发进程从各用户空间中读取缓存的日志块之后,该方法还可以包括以下步骤:
对各用户空间进行删除操作。
由于大量的用户空间占用较多的服务器资源,因此,在调用各派发进程从各用户空间中读取缓存的日志块之后,对各用户空间进行删除操作。
生成和删除用户空间是一个高负载的动作,可以设计采用异步模式进行用户空间的维护,定时运行用户空间维护程序,数据已经处理完毕的用户空间被删除。
在本发明的一种具体实施方式中,步骤S101可以包括以下步骤:
接收源节点通过远程日志服务发送的日志项。
如图3所示,源节点可以通过远程日志服务向目标节点发送日志项,通过远程日志服务进行日志同步的方式,数据同步的可靠性高,远程日志服务本身采用块操作,复制的速度快。
在本发明的一种具体实施方式中,在步骤S104之后,该方法还可以包括以下步骤:
当源节点发生异常时,接替源节点进行业务处理。
在将源节点中的数据同步至目标节点之后,当源节点发生异常时,如在源节点发生计划维护和异常宕机场景时,接替源节点进行业务处理,从而保证了业务的正常进行。可以是通过源节点与目标节点进行角色切换的方式实现目标节点接替源节点进行业务处理,通过切换角色提供调整同步的方向。
相应于上面的方法实施例,本发明还提供了一种数据同步装置,应用于目标节点,下文描述的数据同步装置与上文描述的数据同步方法可相互对应参照。
参见图4,图4为本发明实施例中一种数据同步装置的结构框图,该装置可以包括:
日志项接收模块41,用于接收源节点发送的日志项;
日志项缓存模块42,用于将日志项分块缓存至预创建的各用户空间;
日志块读取及发送模块43,用于调用各派发进程从各用户空间中读取缓存的日志块,并将各日志块发送至应用进程;其中,预先划分有各派发进程与各用户空间之间的对应关系;
数据同步模块44,用于利用应用进程根据各日志块进行数据同步操作。
本发明所提供的数据同步装置,应用于目标节点,包括:接收源节点发送的日志项;将日志项分块缓存至预创建的各用户空间;调用各派发进程从各用户空间中读取缓存的日志块,并将各日志块发送至应用进程;其中,预先划分有各派发进程与各用户空间之间的对应关系;利用应用进程根据各日志块进行数据同步操作。通过根据日志项对源节点中的数据进行同步的逻辑同步方案,在数据同步时仅需要将在源节点记录的日志项发送至目标节点,相较于现有的存储复制方案,本发明较大地降低了数据传输量,降低了对源节点CPU资源的占用,降低了对源节点业务的影响,提升了数据同步效率。
在本发明的一种具体实施方式中,数据同步模块44包括:
日志序列号获取子模块,用于获取各日志块分别对应的日志序列号;
序列号排序子模块,用于对各日志序列号进行先后排序,得到排序结果;
第一数据同步子模块,用于利用应用进程按照排序结果对应的各日志块进行数据同步操作。
在本发明的一种具体实施方式中,数据同步模块44包括:
列表获取子模块,用于获取预设的对象同步列表;
日志内容筛选子模块,用于按照对象同步列表从各日志块中筛选目标日志内容;
第二数据同步子模块,用于利用应用进程根据目标日志内容进行数据同步操作。
在本发明的一种具体实施方式中,数据同步模块44包括:
同步级别获取子模块,用于获取预设的对象同步级别;其中,对象同步级别包括数据级别和定义范围级别;
第三数据同步子模块,用于利用应用进程按照对象同步级别根据各日志块进行数据同步操作。
在本发明的一种具体实施方式中,该装置还可以包括:
用户空间删除模块,用于在调用各派发进程从各用户空间中读取缓存的日志块之后,对各用户空间进行删除操作。
在本发明的一种具体实施方式中,日志项接收模块41具体为接收源节点通过远程日志服务发送的日志项的模块。
在本发明的一种具体实施方式中,该装置还可以包括:
业务接替模块,用于在利用应用进程根据各日志块进行数据同步操作之后,当源节点发生异常时,接替源节点进行业务处理。
相应于上面的方法实施例,参见图5,图5为本发明所提供的数据同步设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的数据同步方法的步骤。
具体的,请参考图6,图6为本实施例提供的一种数据同步设备的具体结构示意图,该数据同步设备可因配置或性能不同而产生比较大的差异,可以包括处理器(centralprocessing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在数据同步设备301上执行存储器332中的一系列指令操作。
数据同步设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的数据同步方法中的步骤可以由数据同步设备的结构实现。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
接收源节点发送的日志项;将日志项分块缓存至预创建的各用户空间;调用各派发进程从各用户空间中读取缓存的日志块,并将各日志块发送至应用进程;其中,预先划分有各派发进程与各用户空间之间的对应关系;利用应用进程根据各日志块进行数据同步操作。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (9)

1.一种数据同步方法,其特征在于,应用于目标节点,包括:
接收源节点发送的日志项;
将所述日志项分块缓存至预创建的各用户空间;
调用各派发进程从各所述用户空间中读取缓存的日志块,并将各所述日志块发送至应用进程;其中,预先划分有各所述派发进程与各所述用户空间之间的对应关系;
获取预设的对象同步列表;
按照所述对象同步列表从各所述日志块中筛选目标日志内容;
利用所述应用进程根据所述目标日志内容进行数据同步操作。
2.根据权利要求1所述的数据同步方法,其特征在于,利用所述应用进程根据各所述日志块进行数据同步操作,包括:
获取各所述日志块分别对应的日志序列号;
对各所述日志序列号进行先后排序,得到排序结果;
利用所述应用进程按照所述排序结果对应的各所述日志块进行数据同步操作。
3.根据权利要求1所述的数据同步方法,其特征在于,利用所述应用进程根据各所述日志块进行数据同步操作,包括:
获取预设的对象同步级别;其中,所述对象同步级别包括数据级别和定义范围级别;
利用所述应用进程按照所述对象同步级别根据各所述日志块进行数据同步操作。
4.根据权利要求1所述的数据同步方法,其特征在于,在调用各派发进程从各所述用户空间中读取缓存的日志块之后,还包括:
对各所述用户空间进行删除操作。
5.根据权利要求1所述的数据同步方法,其特征在于,接收源节点发送的日志项,包括:
接收所述源节点通过远程日志服务发送的日志项。
6.根据权利要求1至5任一项所述的数据同步方法,其特征在于,在利用所述应用进程根据各所述日志块进行数据同步操作之后,还包括:
当所述源节点发生异常时,接替所述源节点进行业务处理。
7.一种数据同步装置,其特征在于,应用于目标节点,包括:
日志项接收模块,用于接收源节点发送的日志项;
日志项缓存模块,用于将所述日志项分块缓存至预创建的各用户空间;
日志块读取及发送模块,用于调用各派发进程从各所述用户空间中读取缓存的日志块,并将各所述日志块发送至应用进程;其中,预先划分有各所述派发进程与各所述用户空间之间的对应关系;
数据同步模块,所述数据同步模块包括列表获取子模块、日志内容筛选子模块及第二数据同步子模块,所述列表获取子模块用于获取预设的对象同步列表;所述日志内容筛选子模块用于按照所述对象同步列表从各所述日志块中筛选目标日志内容;所述第二数据同步子模块用于利用所述应用进程根据所述目标日志内容进行数据同步操作。
8.一种数据同步设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述数据同步方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据同步方法的步骤。
CN202111087069.9A 2021-09-16 2021-09-16 一种数据同步方法、装置、设备及计算机可读存储介质 Active CN113778755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111087069.9A CN113778755B (zh) 2021-09-16 2021-09-16 一种数据同步方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111087069.9A CN113778755B (zh) 2021-09-16 2021-09-16 一种数据同步方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113778755A CN113778755A (zh) 2021-12-10
CN113778755B true CN113778755B (zh) 2023-07-14

Family

ID=78851414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111087069.9A Active CN113778755B (zh) 2021-09-16 2021-09-16 一种数据同步方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113778755B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110554834B (zh) * 2018-06-01 2022-12-02 阿里巴巴集团控股有限公司 文件系统数据访问方法和文件系统
CN108846070A (zh) * 2018-06-07 2018-11-20 北京京东尚科信息技术有限公司 分布式系统的日志处理方法、系统、电子设备和存储介质
CN113297156A (zh) * 2020-02-21 2021-08-24 北京国双科技有限公司 一种数据同步方法、装置、设备及介质
CN112597251B (zh) * 2020-12-29 2023-01-24 天津南大通用数据技术股份有限公司 数据库集群日志同步方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN113778755A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
USRE47106E1 (en) High-performance log-based processing
US8285689B2 (en) Distributed file system and data block consistency managing method thereof
US20120054158A1 (en) Reduced Disk Space Standby
CN102968486B (zh) 一种基于变化日志的高可靠文件同步方法
CN111078667B (zh) 一种数据迁移的方法以及相关装置
JP2006202337A (ja) データ処理の方法及び装置
CN102033889A (zh) 分布式数据库并行处理系统
CN109840166A (zh) 一种跨集群对象存储异步备份方法、装置和系统
CN102750322B (zh) 一种机群文件系统分布式元数据一致性保证方法和系统
US20220035786A1 (en) Distributed database management system with dynamically split b-tree indexes
CN113987064A (zh) 数据处理方法、系统及设备
CN111177159B (zh) 一种数据处理的系统、方法和数据更新设备
CN113377868A (zh) 一种基于分布式kv数据库的离线存储系统
US10452304B2 (en) Efficient repository migration and storage
US7069270B1 (en) Automated method and mechanism for converting a single instance application to a multiple instance application
CN113778755B (zh) 一种数据同步方法、装置、设备及计算机可读存储介质
CN116303789A (zh) 多分片多副本数据库并行同步方法、装置及可读介质
CN110928839B (zh) 国际运价数据的存储方法和系统
Xu et al. The research of distributed shared memory technology in power system
CN117539841B (zh) 一种分布式文件系统元数据管理系统及其操作方法
CN111400279B (zh) 数据操作方法、装置和计算机可读存储介质
CN102970350A (zh) 在存储系统中维护副本一致性的方法
CN115604290B (zh) Kafka消息执行方法、装置、设备及存储介质
WO2021189315A1 (en) Proxy server crash recovery in object storage system using enhanced meta structure
CN116910153A (zh) 一种云平台下的Redis异地容灾系统实现方法

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