CN117354323A - 数据的同步方法及装置、存储介质、电子装置 - Google Patents

数据的同步方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
CN117354323A
CN117354323A CN202311285437.XA CN202311285437A CN117354323A CN 117354323 A CN117354323 A CN 117354323A CN 202311285437 A CN202311285437 A CN 202311285437A CN 117354323 A CN117354323 A CN 117354323A
Authority
CN
China
Prior art keywords
nas device
write
instruction
read
old
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.)
Pending
Application number
CN202311285437.XA
Other languages
English (en)
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202311285437.XA priority Critical patent/CN117354323A/zh
Publication of CN117354323A publication Critical patent/CN117354323A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据的同步方法及装置、存储介质、电子装置,其中,上述方法包括:在目标客户端识别到新NAS设备的情况下,向与目标客户端连接的旧NAS设备发送第一指令,其中,第一指令用于解除旧NAS设备与目标客户端之间存在的读写关系;确定第一指令的执行结果,并根据执行结果启动目标终端对应的写差异日志功能,其中,写差异日志功能用于根据读写关系记录旧NAS设备的读写数据生成日志;获取写差异日志功能对应生成的读写日志,使用读写日志进行新NAS设备与旧NAS设备的数据同步。

Description

数据的同步方法及装置、存储介质、电子装置
技术领域
本发明涉及信息技术领域,具体而言,涉及一种数据的同步方法及装置、存储介质、电子装置。
背景技术
对于大规模数据中心,几乎每年都有NAS设备质保到期,需要从生产环境中更换下线,然后退库。目前NAS更换下线的基本操作流程为:1、停止读写NAS的服务进程,具体的,停止读写NAS的服务进程涉及到所有挂载该NAS的机器,这往往意味着停机,这对于很多7*24的系统(7天*24小时)是难以接受的;2、新老NAS同步数据;3、卸载老NAS,使用原mount路径挂载新NAS;4、启动步骤1关停的服务。
相关技术中,主要是在NAS设备质保到期的情况下,先停止旧的NAS设备的读写,再将旧的NAS设备上的数据迁移到新的NAS设备上去,而在停止读写这一操作过程中,往往会对运行在NAS设备上的运行的系统造成较大影响,从而造成损失。
针对相关技术中,无法避免NSA设备的数据转换对系统运行影响的问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据的同步方法及装置、存储介质、电子装置,以至少解决相关技术中,无法避免NSA设备的数据转换对系统运行影响的问题。
根据本发明实施例的一个方面,提供了一种数据的同步方法,包括:在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。
在一个示例性实施例中,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能之前,所述方法还包括:获取与所述目标终端关联的新NAS设备的状态信息,其中,所述状态信息用于指示所述新NAS设备是否投入使用;在所述状态信息指示新NAS设备未投入使用的情况下,通过启动指令激活所述旧NAS设备的写差异日志功能。
在一个示例性实施例中,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能之后,所述方法还包括:向所述旧NAS设备发起扫描指令,其中,所述扫描指令用于获取所述旧NAS设备中不同文件对应的文件描述符;根据所述扫描指令对应的扫描结果确定所述旧NAS设备对应的读写数据。
在一个示例性实施例中,根据所述扫描指令对应的扫描结果确定所述旧NAS设备对应的读写数据之后,所述方法还包括:在所述扫描结果中存在目标文件描述符的情况下,确定向所述旧NAS设备发起第一同步指令,其中,所述第一同步指令用于将与文件描述符存在映射关系的读写数据同步到所述新NAS设备,所述目标文件描述符用于指示终止文件扫描的描述符;在确定所述第一同步指令已执行完毕的情况下,确定所述新NAS设备发出完成同步信息的时间戳;根据所述时间戳确定所述新NAS设备的上线时间。
在一个示例性实施例中,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步,包括:创建所述读写日志对应的增量同步线程,并通过所述增量同步线程监控所述读写日志中的标志位是否为空;在所述目标标志位不为空的情况下,确定所述旧NAS设备中的数据未全部同步至所述新NAS设备;在所述标志位为空的情况下,确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备。
在一个示例性实施例中,确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备之后,所述方法还包括:向所述旧NAS设备发送第二指令,其中,所述第二指令用于从所述目标客户端对应的目标终端中移除所述旧NAS设备;获取所述旧NAS设备对应的目标状态信息,以根据所述目标状态信息确定所述旧NAS设备是否解除使用。
在一个示例性实施例中,向所述旧NAS设备发送第二指令之后,所述方法还包括:确定所述旧NAS设备最后一次操作对应的第一时间点以及所述新NAS设备投入使用的第二时间点;在所述第一时间点大于所述第二时间点的情况下,确定允许将所述旧NAS设备从所述目标客户端对应的目标终端中进行移除。
根据本发明实施例的另一个方面,还提供了一种数据的同步装置,包括:识别模块,用于在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;确定模块,用于确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;获取模块,用于获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。
根据本发明实施例的另一方面,还提供了一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时运行上述数据的同步方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器通过所述计算机程序运行上述数据的同步方法。
通过上述实施例,在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。也就是说,在分配了新的NAS设备之后,目标终端开始记录差异日志,根据差异日志实现数据同步。解决了相关技术中,无法避免NSA设备的数据转换对系统运行影响的问题,达到了避免NSA设备的数据转换对系统运行影响的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据的同步方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的一种可选的数据的同步方法的流程图;
图3是根据本发明实施例的一种可选的数据的同步方法的时序图;
图4是根据本发明实施例的一种数据的同步装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例所提供的方法实施例可以在计算机终端中运行。以运行在计算机终端上为例,图1是本发明实施例的一种数据的同步方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理系统)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据的同步方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而运行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储系统、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至安全文本。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括摄像设备的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。
以下对本发明实施例采用的技术术语作出解释:
1)NAS设备:Network Attached Storage,是一种用于存储和共享数据的网络存储设备。它通常是一个独立的硬件设备,通过网络连接到计算机或其他设备,提供集中式的文件存储和访问服务。NAS设备通常具有自己的操作系统和管理界面,可以通过网络进行配置和管理。它可以提供文件共享、数据备份、多媒体服务器、远程访问等功能,是企业和家庭用户进行数据存储和共享的重要设备之一;
2)全量更新:全量更新是指每次更新都需要重新获取所有数据;
3)增量更新:增量更新是指只更新发生变化的部分数据,而不重新获取全部数据。
4)IO操作:计算机与外部交互的操作。
5)文件描述符:文件描述符是一个整数,用于标识一个打开的文件。在操作系统中,每个打开的文件都会被分配一个文件描述符。文件描述符可以用于对文件进行读取、写入、关闭等操作。文件描述符是操作系统内部维护的一个映射表的索引,通过文件描述符可以唯一确定一个打开的文件。在Unix-like系统中,文件描述符的取值范围通常从0开始,其中0、1、2分别表示标准输入、标准输出和标准错误输出。其他的文件描述符则通过系统调用(如open())或文件描述符的复制(如dup())来创建和获取。在Windows系统中,文件描述符通常是一个指向文件的句柄。
6)标志位:标志位是一个用于表示某个状态或条件的变量或标记。它通常用于控制程序流程或表示某种状态的转换。标志位可以是布尔型变量,当它的值为真时表示某个条件成立,当值为假时表示条件不成立。在编程中,标志位常用于循环控制、条件判断、错误处理等场景。
7)解耦:解耦是指将系统中的各个部分或模块之间的依赖关系降低到最低程度,使得各个部分之间可以独立发展和修改,而不会因为一个部分的改动而影响到其他部分。解耦的目的是提高系统的灵活性、可维护性和可扩展性。
在本实施例中提供了一种数据的同步方法,包括但不限于应用于上述计算机终端,图2是根据本发明实施例的一种可选的数据的同步方法的流程图,该流程包括如下步骤:
步骤S202,在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;
需要说明的是,所述第一指令可以是解耦指令,所述解耦指令可以是发送给目标终端的,由目标终端对旧NAS设备与所述目标客户端之间存在的读写关系进行解耦。
步骤S204,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;
步骤S206,获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。
在一个可选实施例中,所述写差异日志功能产生的读写日志如下表1所示:
表1
可选地,上述步骤的执行主体可以是数据的同步系统。
虽然,当前Oracle ASM(自动存储管理)已经实现在线更换SAN(存储区域网络,网络存储架构,一种存储技术,依托光纤通道为服务器和存储器提供更高的吞吐能力),其大致步骤为:识别新SAN,把新SAN加入到目标磁盘组,目标磁盘组rebalance以后删除老SAN。ASM实现在线更换SAN的核心在于:1,ASM解耦了OS和SAN之间的数据读写关系;2,ASM本质上实现了SAN读写的集中式管理。
但是由于ASM数据块状存储,冗余数据块的物理结构完全相同,便于复制和删除。而NAS作为网络文件存储设备,天然具有分布式的特征,难以实现IO的集中式管理。
通过上述步骤,在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。解决了相关技术中,在NAS设备质保到期的情况下,先停止旧的NAS设备的读写,再将旧的NAS设备上的数据迁移到新的NAS设备上去,而在停止读写这一操作过程中,往往会对运行在NAS设备上的运行的系统造成较大影响,从而造成损失的问题。
在一个示例性实施例中,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能之前,所述方法还包括:获取与所述目标终端关联的新NAS设备的状态信息,其中,所述状态信息用于指示所述新NAS设备是否投入使用;在所述状态信息指示新NAS设备未投入使用的情况下,通过启动指令激活所述旧NAS设备的写差异日志功能。
需要说明的是,所述目标终端可以是预设的工具包,本发明以下简称为NASGROUP,其对应的路径简称为nasg1,旧nas设备对应的路径简称为nas1、新NAS设备对应的路径简称为nas2:
当NASGROUP仅有一个成员时,不存在写差异问题;当NASGROUP组成员均在线时,不产生写差异日志。仅当NASGROUP组成员有不在线状态时,可以生效写差异日志。
假设此时nasg1组有nas1、nas2两个成员,nas1在线,nas2离线,
启动nasg1写差异日志后,效果如下:
echo‘aa’>>/home/ap/nasg1/nas1/ap1f1.txt;
文件描述符产生或存在时,产生一行记录:/nas1/ap1f1.txt 1;
文件描述符结束时,更新该行记录为:/nas1/ap1f1.txt 0;
需要说明的是,同一个文件多次更新,只维护一条记录;
echo‘bb’>>/home/ap/nasg1/nas1/ap1f1.txt;
文件描述符产生或存在时,且已有记录时,更新记录:/nas1/ap1f1.txt 1;
文件描述符结束时,更新该行记录为:/nas1/ap1f1.txt 0;
rm/home/ap/nasg1/nas1/ap1f1.txt;
同上,先更新记录(/nas1/ap1f1.txt 1),再更新记录(/nas1/ap1f1.txt 0);
FILE*fp=fopen(‘/home/ap/nasg1/nas1/ap1f1.dat’,‘rw’);
产生一行记录:/nas1/ap1f1.dat 1;
fclose(fp);
更新记录:/nas1/ap1f1.dat 1→/nas1/ap1f1.dat 0;
在一个示例性实施例中,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能之后,所述方法还包括:向所述旧NAS设备发起扫描指令,其中,所述扫描指令用于获取所述旧NAS设备中不同文件对应的文件描述符;根据所述扫描指令对应的扫描结果确定所述旧NAS设备对应的读写数据。
需要说明的是,所述文件描述符是用于标识一个打开的文件。在操作系统中,每个打开的文件都会被分配一个文件描述符。文件描述符可以用于对文件进行读取、写入、关闭等操作。文件描述符是操作系统内部维护的一个映射表的索引,通过文件描述符可以唯一确定一个打开的文件。因此根据所述扫描指令对应的扫描结果确定所述旧NAS设备对应的读写数据。
需要说明的是,由于目标终端解耦了旧NAS设备和客户端之间的读写关系,因此,目标终端可以直接获取所述旧NAS设备对应的文件描述符。
需要说明的是,客户端运行于操作系统中,因此也相当于解耦了旧NAS设备和操作系统之间的读写关系。
在一个示例性实施例中,根据所述扫描指令对应的扫描结果确定所述旧NAS设备对应的读写数据之后,所述方法还包括:在所述扫描结果中存在目标文件描述符的情况下,确定向所述旧NAS设备发起第一同步指令,其中,所述第一同步指令用于将与文件描述符存在映射关系的读写数据同步到所述新NAS设备,所述目标文件描述符用于指示终止文件扫描的描述符;在确定所述第一同步指令已执行完毕的情况下,确定所述新NAS设备发出完成同步信息的时间戳;根据所述时间戳确定所述新NAS设备的上线时间。
其中,所述目标文件描述符可以是标志位为空的文件描述符。
也就是说,在扫描结果中存在用于指示终止文件扫描的描述符的情况下,说明新NAS设备完成同步,根据所述新NAS设备完成同步的时间确定新NAS设备的上线时间。
在一个示例性实施例中,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步,包括:创建所述读写日志对应的增量同步线程,并通过所述增量同步线程监控所述读写日志中的标志位是否为空;在所述目标标志位不为空的情况下,确定所述旧NAS设备中的数据未全部同步至所述新NAS设备;在所述标志位为空的情况下,确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备。
可选地,如果从写差异日志表中取出一条已完成标志位为0的记录不为空:
rsync同步该记录中的文件;
删除该行记录;
结束循环;
如果写文件描述符早于nas2开始上线时间,则该文件描述符结束时rsync同步目标文件;
删除写差异日志;
新的NASGROUP写操作:
如果目标文件在写差异日志表中;
rsync同步该记录中的文件;
删除该行记录。
若新的NASGROUP写操作同时操作新老NAS,不记录写差异日志。
在一个示例性实施例中,确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备之后,所述方法还包括:向所述旧NAS设备发送第二指令,其中,所述第二指令用于从所述目标客户端对应的目标终端中移除所述旧NAS设备;获取所述旧NAS设备对应的目标状态信息,以根据所述目标状态信息确定所述旧NAS设备是否解除使用。
也就是说,确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备之后就可以将旧NAS设备从目标终端移除。将所述旧NAS设备移除后,确定所述旧NAS的状态信息,例如旧NAS是否已经不再进行使用,若旧NAS是否已经不再进行使用,确定所述旧NAS设备解除使用。其中,所述状态信息还可以是旧NAS是否在线,或是否联网等。
在一个示例性实施例中,向所述旧NAS设备发送第二指令之后,所述方法还包括:确定所述旧NAS设备最后一次操作对应的第一时间点以及所述新NAS设备投入使用的第二时间点;在所述第一时间点大于所述第二时间点的情况下,确定允许将所述旧NAS设备从所述目标客户端对应的目标终端中进行移除。
即,检查操作nasg1的文件描述符,如果创建时间均晚于nas2开始上线时间,则将nas2的状态修改为online(在线)。也就是可以将旧NAS设备从所述目标客户端对应的目标终端中进行移除。
图3是根据本发明实施例的一种可选的数据的同步方法的时序图,包括:
在一个可选实施例中,使用NAS的客户端(以下简称AP)已经实施了云管理:
步骤S301:后端分配新NAS,各AP识别新NAS;
针对上述步骤S301:各AP,挂载新NAS,后端完成新NAS分配并做好访问授权,例如:各AP挂载新NAS:/home/ap/nasg1/nas2。
步骤S302:各AP将新NAS加入NASGROUP(也就是本发明中的目标终端);
针对上述步骤S302,可选地:
root@ap>ngadd nasg1 nas2--把nas2加入nasg1组;
root@ap>ngls nasg1--展示nasg1信息;
nas1 online--nas1在线工作;
nas2 offline--nas1离线,不参与读写。
步骤S303:各AP启动NASGROUP,写差异日志;
针对上述步骤S303,可选地:
root@ap>nglog nasg1 enable--启动nasg1组的写差异日志;
扫描所有已存在的访问nasg1的文件描述符,每个文件描述符产生一行记录(类似于/nas1/dir1/f1.log 1);
所有新生成的访问nasg1的文件描述符,也产生一行记录(类似于/nas1/dir1/f1.log 1);
所有访问nasg1的文件描述符结束时,更新记录(类似于/nas1/dir1/f1.log 0);
root@ap>nglogls-s nasg1--展示nasg1的写差异日志的概要信息;
nasg1 deltalog enabled,5 rows;
root@ap>nglogls-l nasg1--展示nasg1的写差异日志的详细信息;
/nasg1/nas1/dir1/f1.log 0;
/nasg1/nas1/dir1/f1.dat 1;
……;
/nasg1/nas1/dir2/f3.log 0;
步骤S304:任意AP:rsync全量同步新老NAS;
可选地,root@ap1>rsync;
/home/ap/nasg1/nas1/home/ap/nasg1/nas1;
步骤S305:各AP新NAS上线;
可选地,各AP,新NAS增量同步并上线;
root@ap>ngonline nasg1 nas2--nas2增量同步并上线;
记录全局变量:nas2开始上线时间;
创建增量同步线程:
循环:如果从写差异日志表中取出一条已完成标志位为0的记录不为空;
rsync同步该记录中的文件;
删除该行记录;
结束循环;
如果写文件描述符早于nas2开始上线时间,则该文件描述符结束时;
rsync同步目标文件;
删除写差异日志;
新的NASGROUP写操作:
如果目标文件在写差异日志表中;
rsync同步该记录中的文件;
删除该行记录;
新的NASGROUP写操作同时操作新老NAS,不记录写差异日志;
检查操作nasg1的文件描述符,如果创建时间均晚于nas2开始上线时间,则将nas2的状态修改为online;
需要说明的是,使用rsync工具完成新老NAS之间的数据同步,是因为rsync工具自动实现增量数据同步(单个文件也是增量同步),也可以使用别的方式完成文件同步,本发明对此不作限制。
步骤S306:各AP,汇报新NAS上线情况。
可选地,本机写差异日志表有内容,同步尚未完成;本机写差异日志表已空,新NAS已上线。
步骤S307:各AP,关闭NASGROP写差异日志功能。
可选地,各AP,关闭NASGROP写差异日志功能;
确认各AP写差异日志均为空后,关闭差异日志功能。
在上述步骤S307之后,各AP,下线老NAS,即将所述老NAS移出NASGROUP,即确定新的IO操作只针对新NAS,检查确认已经没有IO操作老NAS,才将老NAS移出NASGORUP。
在另一个可选实施例中,某生产环境一NAS设备到期,需要更换:
该生产系统各AP挂载老NAS的路径为/home/ap/nasg1/nas1;
将使用新NAS更换老NAS,新NAS挂载路径/home/ap/nasg1/nas2;
说明:
正常情况下应使用组方式访问文件/home/ap/nasg1/dir1/f1.dat;
该nasg1组只有nas1时,访问效果等同于/home/ap/nasg1/nas1/dir1/f1.dat;
新nas2加入nasg1组并online上线后,就可以把nas1 offline下线;
此时访问效果就等同于/home/ap/nasg1/nas2/dir1/f1.dat;
使用组方式访问文件可以保持NAS更换前后文件路径的一致性;
通过上述步骤,使用NASGROUP(即,本申请中的NASGROUP)解耦OS和NAS之间文件读写关系,同时保持更换NAS前后文件路径名称的一致性。NAS更换期间IO操作基本不受影响,无须关停服务。使用应用层的方法完成数据同步,新老NAS可以异构,甚至NFS的挂载协议都可以不同。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)运行本发明各个实施例的方法。
在本实施例中还提供了一种数据的同步装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的一种数据的同步装置的结构框图;如图4所示,包括:
识别模块42,用于在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;
确定模块44,用于确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;
获取模块46,用于获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。
通过本发明上述装置,在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。解决了相关技术中,在NAS设备质保到期的情况下,先停止旧的NAS设备的读写,再将旧的NAS设备上的数据迁移到新的NAS设备上去,而在停止读写这一操作过程中,往往会对运行在NAS设备上的运行的系统造成较大影响,从而造成损失的问题。
在一个示例性实施例中,所述确定模块44还用于,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能之前,获取与所述目标终端关联的新NAS设备的状态信息,其中,所述状态信息用于指示所述新NAS设备是否投入使用;在所述状态信息指示新NAS设备未投入使用的情况下,通过启动指令激活所述旧NAS设备的写差异日志功能。
在一个示例性实施例中,所述确定模块44还用于,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能之后,向所述旧NAS设备发起扫描指令,其中,所述扫描指令用于获取所述旧NAS设备中不同文件对应的文件描述符;根据所述扫描指令对应的扫描结果确定所述旧NAS设备对应的读写数据。
在一个示例性实施例中,所述获取模块46还用于,在所述扫描结果中存在目标文件描述符的情况下,确定向所述旧NAS设备发起第一同步指令,其中,所述第一同步指令用于将与文件描述符存在映射关系的读写数据同步到所述新NAS设备,所述目标文件描述符用于指示终止文件扫描的描述符;在确定所述第一同步指令已执行完毕的情况下,确定所述新NAS设备发出完成同步信息的时间戳;根据所述时间戳确定所述新NAS设备的上线时间。
在一个示例性实施例中,所述获取模块46还用于,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步,包括:创建所述读写日志对应的增量同步线程,并通过所述增量同步线程监控所述读写日志中的标志位是否为空;在所述目标标志位不为空的情况下,确定所述旧NAS设备中的数据未全部同步至所述新NAS设备;在所述标志位为空的情况下,确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备。
在一个示例性实施例中,所述获取模块46还用于,在确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备之后,向所述旧NAS设备发送第二指令,其中,所述第二指令用于从所述目标客户端对应的目标终端中移除所述旧NAS设备;获取所述旧NAS设备对应的目标状态信息,以根据所述目标状态信息确定所述旧NAS设备是否解除使用。
在一个示例性实施例中,所述获取模块46还用于,在确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备之后,下线所述旧NAS设备,包括:确定所述旧NAS设备最后一次操作对应的第一时间点以及所述新NAS设备投入使用的第二时间点;在所述第一时间点大于所述第二时间点的情况下,确定允许将所述旧NAS设备从所述目标客户端对应的目标终端中进行移除。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时运行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于运行以下步骤的程序代码:
S1,在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;
S2,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;
S3,获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以运行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序运行以下步骤:
S1,在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;
S2,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;
S3,获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可运行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来运行,并且在某些情况下,可以以不同于此处的顺序运行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据的同步方法,其特征在于,包括:
在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;
确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;
获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。
2.根据权利要求1所述的数据的同步方法,其特征在于,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能之前,所述方法还包括:
获取与所述目标终端关联的新NAS设备的状态信息,其中,所述状态信息用于指示所述新NAS设备是否投入使用;
在所述状态信息指示新NAS设备未投入使用的情况下,通过启动指令激活所述旧NAS设备的写差异日志功能。
3.根据权利要求1所述的数据的同步方法,其特征在于,确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能之后,所述方法还包括:
向所述旧NAS设备发起扫描指令,其中,所述扫描指令用于获取所述旧NAS设备中不同文件对应的文件描述符;
根据所述扫描指令对应的扫描结果确定所述旧NAS设备对应的读写数据。
4.根据权利要求3所述的数据的同步方法,其特征在于,根据所述扫描指令对应的扫描结果确定所述旧NAS设备对应的读写数据之后,所述方法还包括:
在所述扫描结果中存在目标文件描述符的情况下,确定向所述旧NAS设备发起第一同步指令,其中,所述第一同步指令用于将与文件描述符存在映射关系的读写数据同步到所述新NAS设备,所述目标文件描述符用于指示终止文件扫描的描述符;
在确定所述第一同步指令已执行完毕的情况下,确定所述新NAS设备发出完成同步信息的时间戳;
根据所述时间戳确定所述新NAS设备的上线时间。
5.根据权利要求1所述的数据的同步方法,其特征在于,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步,包括:
创建所述读写日志对应的增量同步线程,并通过所述增量同步线程监控所述读写日志中的标志位是否为空;
在所述目标标志位不为空的情况下,确定所述旧NAS设备中的数据未全部同步至所述新NAS设备;
在所述标志位为空的情况下,确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备。
6.根据权利要求5所述的数据的同步方法,其特征在于,确定所述旧NAS设备中的数据已经全部同步至所述新NAS设备之后,所述方法还包括:
向所述旧NAS设备发送第二指令,其中,所述第二指令用于从所述目标客户端对应的目标终端中移除所述旧NAS设备;获取所述旧NAS设备对应的目标状态信息,以根据所述目标状态信息确定所述旧NAS设备是否解除使用。
7.根据权利要求6所述的数据的同步方法,其特征在于,向所述旧NAS设备发送第二指令之后,所述方法还包括:
确定所述旧NAS设备最后一次操作对应的第一时间点以及所述新NAS设备投入使用的第二时间点;
在所述第一时间点大于所述第二时间点的情况下,确定允许将所述旧NAS设备从所述目标客户端对应的目标终端中进行移除。
8.一种数据的同步装置,其特征在于,包括:
识别模块,用于在目标客户端识别到新NAS设备的情况下,向与所述目标客户端连接的旧NAS设备发送第一指令,其中,所述第一指令用于解除所述旧NAS设备与所述目标客户端之间存在的读写关系;
确定模块,用于确定所述第一指令的执行结果,并根据所述执行结果启动目标终端对应的写差异日志功能,其中,所述写差异日志功能用于根据所述读写关系记录所述旧NAS设备的读写数据生成日志;
获取模块,用于获取所述写差异日志功能对应生成的读写日志,使用所述读写日志进行所述新NAS设备与所述旧NAS设备的数据同步。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时运行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序运行所述权利要求1至7任一项中所述的方法。
CN202311285437.XA 2023-09-28 2023-09-28 数据的同步方法及装置、存储介质、电子装置 Pending CN117354323A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311285437.XA CN117354323A (zh) 2023-09-28 2023-09-28 数据的同步方法及装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311285437.XA CN117354323A (zh) 2023-09-28 2023-09-28 数据的同步方法及装置、存储介质、电子装置

Publications (1)

Publication Number Publication Date
CN117354323A true CN117354323A (zh) 2024-01-05

Family

ID=89355221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311285437.XA Pending CN117354323A (zh) 2023-09-28 2023-09-28 数据的同步方法及装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN117354323A (zh)

Similar Documents

Publication Publication Date Title
CN109933632B (zh) 一种数据库的数据迁移方法、装置及设备
CN107688611B (zh) 一种基于saltstack的Redis键值管理系统及方法
CN110990432A (zh) 一种跨机房同步分布式缓存集群的装置和方法
CN103605809A (zh) 一种数据同步的方法
CN105491106A (zh) 一种石油测井主从数据库系统实时同步系统和方法
EP4162649B1 (en) Stable references for network function life cycle management automation
CN104793981B (zh) 一种虚拟机集群的在线快照管理方法及装置
CN112632019A (zh) 一种日志管理方法、装置、电子设备及存储介质
US11042454B1 (en) Restoration of a data source
CN114610567A (zh) 容器监控方法、网络设备及存储介质
CN117354323A (zh) 数据的同步方法及装置、存储介质、电子装置
CN103312623A (zh) 任务协作装置及方法
CN109587202B (zh) 文件校验和数据处理之间的协同处理方法、装置及系统
CN106354830B (zh) 一种数据库集群节点间数据同步的方法及装置
CN110119389A (zh) 虚拟机块设备的写操作方法、快照创建方法及装置
CN104809033B (zh) 一种备份方法及系统
CN113515574A (zh) 一种数据同步方法及装置
CN108874592B (zh) 一种针对Log-structured存储引擎的数据冷备方法及系统
CN118445364B (zh) 分布式资源同步方法、系统和设备
US7644306B2 (en) Method and system for synchronous operation of an application by a purality of processing units
CN116991815B (zh) 一种分布式存储系统的日志收集方法、装置、设备及介质
CN116614323B (zh) 一种基于Rclone的云存储企业网盘管理方法及系统
CN111831611B (zh) 跨境数据交换方法、装置及系统
CN112732809B (zh) 一种etl系统及基于etl系统的数据处理方法
US20210248108A1 (en) Asynchronous data synchronization and reconciliation

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