CN112328435B - 目标数据备份和恢复的方法、装置、设备及存储介质 - Google Patents
目标数据备份和恢复的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112328435B CN112328435B CN202011418479.2A CN202011418479A CN112328435B CN 112328435 B CN112328435 B CN 112328435B CN 202011418479 A CN202011418479 A CN 202011418479A CN 112328435 B CN112328435 B CN 112328435B
- Authority
- CN
- China
- Prior art keywords
- data
- index
- target data
- hash table
- backup
- 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
Classifications
-
- 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/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种目标数据的备份和恢复的方法、装置、设备及存储介质,包括:创建索引Hash表,为所述索引Hash表分配共享内存空间,将所述索引HASH表映射到所述共享内存空间;获取所述目标数据,确定所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置;当转发程序出现故障重启后,创建用于存储所述目标数据的存储Hash表,根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中。本申请降低了成本,降低转发程序异常重启对业务的影响,提升数据恢复的效率。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种目标数据备份和恢复的方法、装置、计算机设备及存储介质。
背景技术
现在越来越多的网络设备厂商选用通用X86服务器来做报文转发平台,通用X86平台一般不具备内容可寻址存储器CAM,我们知道数组便于元素的查找,链表便于元素的插入和删除,而HASH表同时具有数组和链表的优点,查找复杂度为常量级O(1),所以项目中报文转发表的实现,很多时候都会用到HASH表来实现转发表。
转发表条目收敛和稳定是需要时间的, 软件表条目指导报文转发,转发表条目缺失会导致本应转发出去的报文丢失,对业务造成影响。为了让转发程序能够稳定地提供转发业务,一方面让转发程序尽可能稳健地运行,另一方面当发生转发程序异常重启这类小概率事件时,将转发程序异常重启的影响降到最低;为达成业务稳定的传统方案有双机热备技术,其主要思想是主机处于工作状态,从机处于监视状态,一旦从机发现主机异常,从机在很短的时间之内替代主机完全实现主机的功能。
发明内容
本申请提供一种目标数据备份和恢复的方法、装置、计算机设备及存储介质,本申请降低了数据恢复的成本同时,降低转发程序因为异常重启导致业务受影响的程度,提升了数据恢复的效率。
根据本申请的一个方面,提供了一种目标数据备份和恢复的方法,所述方法包括:
创建索引Hash表,为所述索引Hash表分配共享内存空间,将所述索引HASH表映射到所述共享内存空间;
获取所述目标数据,确定所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份;
当转发程序出现故障重启后,创建用于存储所述目标数据的存储Hash表,读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,其中,所述存储Hash表初始状态下条目为空。
根据本申请的一个方面,提供了一种目标数据备份和恢复装置,所述装置包括:
创建模块,用于创建索引Hash表,为所述索引Hash表分配共享内存空间,将所述索引HASH表映射到所述共享内存空间;
备份模块,用于获取所述目标数据,确定所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份;
恢复模块,用于当转发程序出现故障重启后,创建用于存储所述目标数据的存储Hash表,读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,其中,所述存储Hash表初始状态下条目为空。
根据本申请的一个方面,提供了一种目标数据备份和恢复的设备,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行如上所述的任一方法的操作。
根据本申请的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行如上所述的任一方法的操作。本申请中在不额外增加硬件设备,不额外部署热备软件和配置的前提下,基于Hash表实现的转发程序发生异常重启情况时,降低了数据恢复的成本同时,降低转发程序因为异常重启导致业务受影响的程度,提升了数据恢复的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本申请实施例中提供的一种目标数据备份和恢复方法的实施例流程示意图;
图2示出本申请实施例中提供的恢复数据的一个实施例流程示意图;
图3示出本申请实施例中提供的一种目标数据备份和恢复装置的功能模块;
图4示出可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
需要说明的是,本申请实施例方法由于是在计算设备中执行,各计算设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便电子设备进行处理,具体此处不作赘述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器 (Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc ,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如Android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
通用的双机热备需要两台硬件设备,硬件成本翻倍,而且双机热备方案还需要额外的软件部署和配置,这也增加了一定的软件部署和维护成本。为了避免双机热备技术高硬件成本和额外软件部署及维护成本,单机场景下,当转发程序异常启动的情况下,本申请提供了一种目标数据的备份和恢复的方法,该方法应用于服务器,通过将目标数据以文件的形式进行存储,每个文件划分为多个连续的数据块,每个数据块存储的是Hash节点中的数据;当然在一些情形下,如果考虑性能,且系统重启后不考虑数据的恢复,备份数据文件可以考虑放在内存文件系统中。如果考虑设备重启也需要快速恢复HASH表中的数据,可以考虑将备份数据文件放在磁盘文件系统中,确保系统重启后,程序启动可以从备份数据文件恢复数据。
对应的目标数据的备份和恢复装置可以设置于计算机设备,本申请实施例中计算机设备主要用于目标数据的备份和恢复。
本申请实施例中,该计算机设备可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的计算机设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
图1示出根据本申请一个方面的一种目标数据的备份和恢复方法,该方法应用于服务器,具体包括步骤S101、步骤S102以及步骤S103。在步骤S101中,创建索引Hash表,为所述索引Hash表分配共享内存空间,将所述索引Hash表映射到所述共享内存空间;在步骤S102中,获取所述目标数据,确定所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份;在步骤S103中,当转发程序出现故障重启后,创建用于存储所述目标数据的存储Hash表,读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,其中,所述存储Hash表初始状态下条目为空。
具体而言,在步骤S101中,为所述索引Hash表分配共享内存空间,将所述索引Hash表映射到所述共享内存空间。例如,为了方便程序启动时从备份数据文件恢复数据到索引Hash表,在索引Hash表数据变更时,将索引Hash表数据实时备份到数据文件中。创建所述目标数据对应的索引Hash表,其中,Hash表包括根据关键码值(Key value)而直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。根据目标数据的数据大小可以确定对应共享内存空间的大小,并将所述共享内存空间与所述索引Hash表建立映射关系等。
在一些实施方式中,所述目标数据被划分为多个连续的数据块,每个数据块对应存储的是Hash节点中的数据等,如在步骤S101中,创建对应索引表,基于所述索引Hash表建立各Hash节点的索引标识;建立所述索引Hash表中每个Hash表项节点的索引标识与所述目标数据的各数据块的数据索引的映射表;根据所述目标数据包含的数据块的大小和数量,计算所述索引Hash表分配映射到的所述共享内存空间总大小,根据mmap方法将所述目标数据映射到所述共享内存空间;将所述索引Hash表映射到所述共享内存空间。例如,mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。mmap在用户空间映射调用系统中作用很大。mmap操作提供了一种机制,让用户程序直接访问设备内存,这种机制,相比较在用户空间和内核空间互相拷贝数据,效率更高。在要求高性能的应用中比较常用。mmap映射内存必须是页面大小的整数倍。所述目标数据以文件的形式进行存储并被划分为多个数据库,并通过mmap方法将目标数据映射到所述共享内存空间,该过程被称为文件初始化,具体文件初始化步骤如下:
A.创建好内存文件系统;
B.在内存文件系统根目录下创建要保存备份数据文件的目录;
C.确定好目标数据中每个数据块的大小( data block size )和数据块的个数(Data block num);
D.根据数据块大小和数据块的最大数量,计算要映射的共享内存总大小: mmap_size;具体计算关系如下:
每个数据的大小:data _block_ size ;
数据块的个数:Data_ block_ num ;
数据总大小:data_ size=8子节幻数+(data_ block_ size *data_ block num;
内存页大小:page_size=sysconf(_SC_PAGE_SIZE);
需要多少个内存页:page_num=data_size / page_size + 1;
需要映射的共享内存总大小:mmap_size = page_size * page_num;
在一些情形下,还要检测备份数据是否已存在或者是否合法等;如:
E. 在内存文件系统目录下查看备份数据文件是否存在,标记文件状态:data_file_exist;
F. 如果数据文件存在,则判断数据文件是否合法:
如果 ((file_size != mmap_size) || (expect_magic != actual_magic)),表示文件不合法;
如果 ((file_size == mmap_size) && (expect_magic == actual_magic)),表示文件合法;
G.如果数据文件存在,但是不合法,则删除数据文件;如果文件不存在,则创建初始文件,初始文件大小为mmap_size,文件所有字节初始化为0;如果数据文件存在,而且合法,则什么也不做,后续直接读取数据文件即可。
H. 用mmap将所述目标数据对应的文件映射到共享内存空间,映射的内存大小为mmap_size,并设置MAP_SHARED状态,让这段内存在多个进程之间共享,这段不会因为程序重启而自动销毁。
当Hash表数据要更新到备份数据文件中或者从备份数据删除时,需要根据Hash表数据的key值分配新的索引或者查找其在备份数据文件中的索引位置,而备份数据文件是一片连续的数据块,那么每个Hash表项的数据要更新到备份数据文件中,则每个Hash表项都会有一个对应到备份文件数据块的索引,所以需要创建这样1个索引表。索引表就是1个数组,每个元素的下标就是1个索引,这个索引标识1个Hash节点数据在备份数据文件中文件块的索引。每个元素都有一个状态标识,主要有2种状态:free,表示这个索引没有被用,那么这个索引对应的备份数据文件块的内容是无效数据;used,表示这个索引有用,那么这个索引对应的备份数据文件块的内容是有效数据。每个Hash表项节点的索引标识与备份数据文件数据块的数据索引idx相当于一个映射表,为了在将Hash表项插入/删除时,能快速查询Hash节点对应的索引标识IDx,我们这里采用Hash表来进行存储。
在步骤S102中,解析所述目标数据,获取所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的位置,以完成对所述目标数据的备份。例如,所述索引Hash表中的索引标识包括每个Hash表项对应的一个备份文件数据块的索引的唯一标识,如序列号或者一个数组表达等,具体用于标识每个Hash节点数据在备份数据文件中文件块的索引等。通过获取目标数据与索引Hash表的映射关系,并基于目标数据与索引标识对应位置,将该目标数据对应数据块存储至对应位置完成对目标数据的备份。该过程具体包括:Hash表节点操作事件队列初始化、Hash表节点增删事件队列处理线程初始化、以及后续根据事件出队执行数据备份等。
在一些实施方式中,在步骤S102中,当所述目标数据为更新数据时,将所述更新数据封装为异步事件入队对应异步事件队列;创建单独线程,将所述异步事件队列循环从所述索引Hash表中出队,并基于所述异步事件对所述索引Hash表进行处理;根据所述映射表将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份。例如,为了防止Hash表插入/删除表项过慢而阻塞主要的业务流程,采用异步方式来处理备份数据的更新,Hash表数据有更新时,将要增加和删除的数据封装为事件入队到Hash表节点增删事件队列。因为Hash表项在进行插入和删除操作后,没有同步对备份数据文件进行对应的更新操作,而是将Hash表项数据封装为插入/删除时间入队,那么Hash表节点操作事件队列还需要一个单独的线程来进行出队并对事件进行处理,所以这里需要创建1个这样的线程,该线程用于遍历Hash表节点增删事件队列读取Hash表节点增/删事件,从而将Hash表数据新增到备份数据或者删除,从而达到Hash表数据实时备份到文件的目的。每个Hash表项节点的索引标识与备份数据文件数据块的数据索引idx相当于要有一个映射表,为了在将Hash表项插入/删除时,能快速查询Hash节点对应的索引标识IDx,我们这里采用Hash表来进行存储。虽然备份数据放在内存中, 备份效率已经很高, 避免因要备份的数据量很大导致主业务线程受影响, 可以考虑再额外开启一个备份线程专门备份数据, 主业务线程和备份线程之间通过队列通信, 主业务线程只需要将要增加/删除的数据(数据key)发送给备份线程来处理。
在一些实施方式中,所述更新数据包括用于指示所述索引Hash表插入表项成功的数据,所述将所述更新数据封装为异步事件入队对应异步事件队列,包括:将Hash节点的key值和对应插入数据封装为add事件入队对应异步事件队列;其中,所述更新数据还包括用于指示所述索引Hash表删除表项成功的数据,所述将所述更新数据封装为异步事件入队对应异步事件队列,包括:将Hash节点的key值和对应删除数据封装为del事件入队对应异步事件队列。例如,更新数据包括插入或者删除数据,对应更新数据包括索引Hash表插入表项成功,更新数据还包括所述索引Hash表删除表项成功。当所述更新数据包括插入数据时,将Hash节点的key值和对应插入数据(块)封装为add事件入队所述异步事件队列;当所述更新数据包括删除数据时,将Hash节点的key值和对应删除数据(块)封装为del事件入队异步事件队列。随后,对应单独线程循环从Hash表项异步事件队列出队并进行处理。
如在一些实施方式中,所述根据所述映射表将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份,包括:若所述异步事件为add事件,根据key值在所述索引Hash表中查找节点;若存在匹配的节点,将所述插入数据更新至该节点对应文件块;若不存在,从所述索引表中获取状态为free的索引标识,将所述索引标识和所述插入数据按照key值插入所述索引Hash表中,并将所述插入数据对应数据块的有效标志设置为True。例如,当Hash表节点对应事件为add事件{key, data, add}时,根据key值,在索引Hash表中查找是否存在匹配的节点,如是否存在与数据块的数据索引idx相对应的索引标识IDx对应的节点。如果存在,表示这个数据已经在备份数据文件中存在,则直接根据找到的索引标识IDx,将数据内容data更新至索引标识为IDx的文件块中。如果不存在,表示这个数据在备份数据文件中不存在,从索引表中获取状态为free的IDx索引标识,将索引标识IDx和数据data按key值插入索引Hash表中,将数据索引为idx的备份文件块的有效标志is_valid置为TRUE,并将data数据更新到这个数据块中,将索引表中数据索引为idx的元素的状态由free更新为used状态。在一些实施方式中,所述根据所述映射表将所述目标数据存储在服务器内存文件系统中所述目标索引对应的备份位置,以完成对所述目标数据的备份,还包括:若所述异步事件为del事件,根据key值在所述索引Hash表中查找节点;若存在匹配的节点,将该节点对应的所述目标数据的数据块删除,并将删除的数据块的有效标志设置为False。例如,所述异步事件为节点del事件{key, data, del}时,根据key,在索引Hash表中查找节点,如是否存在与数据块的数据索引idx相对应的索引标识IDx对应的节点。如果存在,表示这个数据已经在备份数据文件中存在,根据查找到的索引标识为IDx的备份数据块内容清零,并将这个数据块的有效标志is_valid置为False;将索引表中下表为IDx的元素的状态更新为free状态,并根据key将idx索引Hash表中的Hash节点删除。
在步骤S103中,当转发程序出现故障重启后,创建用于存储所述目标数据的存储Hash表,读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,其中,所述存储Hash表初始状态下条目为空。例如,转发程序出现故障重启后,创建用于存储恢复目标数据的存储Hash表,根据对应数据块的key值进行匹配,若未匹配到对应的Hash表节点,根据key值将数据索引idx和对应数据data插入存储Hash表中;若存在,则基于Hash节点更新对应数据。具体过程如图2所示,在一些实施方式中,所述读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,还包括:遍历所述目标数据的备份数据文件中每一个有效标识为True的数据库;从数据块中根据对应索引标识读取数据内容,从所述数据内容组装key值。在一些实施方式中,所述根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,还包括:若是,且所述存储Hash表中Hash节点的索引标识与数据块的数据标识匹配,则更新该Hash节点所存的数据;若是,且所述存储Hash表中Hash节点的索引标识与数据块的数据标识不匹配,则更新该Hash节点所存的数据、索引标识。例如,从0到data_block_size遍历备份数据文件的每一个有效标志is_valid为True的数据块,从数据块中根据数据索引idx读取到数据块内容{key,data},从数据data中组装key值,并根据key值在索引Hash表中进行查找,具体查找结果如下:
A.如果没有查找到:
根据key值将数据索引idx和数据data插入到索引Hash表中;
将索引表中索引标识为IDx的元素状态由free修改为used;
B.如果查找到:
1)HASH节点对应索引标识的IDx与数据块的数据索引idx匹配:
i.则根据数据内容data更新hash节点所存数据,hash_node->data = data;
2)HASH节点对应索引标识的IDx与数据块的数据索引idx匹配不匹配:
i.根据数据内容data更新hash节点所存数据,hash_node->data = data;
ii. 根据数据索引idx更新更新hash节点所存索引,hash_node->IDx = idx;
iii.将索引表中索引标识为hash_node->IDx的元素状态修改为free;
iv. 将索引表中数据索引为idx的元素状态修改为used。
在一些实施方式中,所述目标数据在备份存储时标记对应的文件标识,所述文件标识包括但不限于文件名称、文件类型、文件重要等级等。在进行数据恢复时,可以根据用户选中的文件标识(如用户输入的名称、类型或者重要等级等)进行选中或者查找所述备份文件,进而从备份文件数据中将选中的数据恢复至存储Hash表,实现选择性恢复或者有限恢复等。
本申请从备份文件恢复的数据重启后可能会根据环境变化重建的数据, 而且可能在程序重启期间会发生变化而程序无法感知,可以考虑为这些数据增加老化机制,比如:由备份文件恢复的数据状态为0(表示是上一次的数据,不是真实重建的数据),如果程序运行过程中,此条数据被真实重建了,则状态改为1(表示这条数据是真实数据);当老化时间到,删除状态为0的数据,这样就保持了数据的真实性,避免重启前的数据与真实环境的数据不匹配,给业务运行做出错误的指导。
上文主要对本申请提供的一种目标数据的备份和恢复方法的各实施例进行介绍,此外,本申请还提供了能够实施上述各实施例的目标数据的备份和恢复装置,下面结合图3进行介绍。
图3示出根据本申请一个方面的一种目标数据的备份和恢复的装置,具体包括创建模块101、备份模块102以及恢复模块103。创建模块101,用于创建索引Hash表,为所述索引Hash表分配共享内存空间,将所述索引HASH表映射到所述共享内存空间;备份模块102,用于获取所述目标数据,确定所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份;恢复模块103,用于当转发程序出现故障重启后,创建用于存储所述目标数据的存储Hash表,读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,其中,所述存储Hash表初始状态下条目为空。
在一些实施方式中,创建模块101,用于创建对应索引表,基于所述索引Hash表建立各Hash节点的索引标识;建立所述索引Hash表中每个Hash表项节点的索引标识与所述目标数据的各数据块的数据索引的映射表;根据所述目标数据包含的数据块的大小和数量,计算所述索引Hash表分配映射到的所述共享内存空间总大小,根据mmap方法将所述目标数据映射到所述共享内存空间;将所述索引HASH表映射到所述共享内存空间。
在一些实施方式中,备份模块102,用于当所述目标数据为更新数据时,将所述更新数据封装为异步事件入队对应异步事件队列;创建单独线程,将所述异步事件队列循环从所述索引Hash表中出队,并基于所述异步事件对所述索引Hash表进行处理;创建对应索引表,基于所述索引Hash表建立各Hash节点的索引标识;建立所述索引Hash表中每个Hash表项节点的索引标识与所述目标数据的各数据块的数据索引的映射表;根据所述映射表将所述目标数据存储在服务器内存文件系统中所述索引标识对应的位置,以完成对所述目标数据的备份。
在一些实施方式中,所述更新数据包括用于指示所述索引Hash表插入表项成功的数据,所述将所述更新数据封装为异步事件入队对应异步事件队列,包括:将Hash节点的key值和对应插入数据封装为add事件入队对应异步事件队列;其中,所述更新数据还包括用于指示所述索引Hash表删除表项成功的数据,所述将所述更新数据封装为异步事件入队对应异步事件队列,包括:将Hash节点的key值和对应删除数据封装为del事件入队对应异步事件队列。如在一些实施方式中,所述根据所述映射表将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份,包括:若所述异步事件为add事件,根据key值在所述索引Hash表中查找节点;若存在匹配的节点,将所述插入数据更新至该节点对应文件块;若不存在,从所述索引表中获取状态为free的索引标识,将所述索引标识和所述插入数据按照key值插入所述索引Hash表中,并将所述插入数据对应数据块的有效标志设置为True。在一些实施方式中,所述根据所述映射表将所述目标数据存储在服务器内存文件系统中所述目标索引对应的备份位置,以完成对所述目标数据的备份,还包括:若所述异步事件为del事件,根据key值在所述索引Hash表中查找节点;若存在匹配的节点,将该节点对应的所述目标数据的数据块删除,并将删除的数据块的有效标志设置为False。
在一些实施方式中,所述取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,还包括:遍历所述目标数据的备份数据文件中每一个有效标识为True的数据库;从数据块中根据对应索引标识读取数据内容,从所述数据内容组装key值。
在一些实施方式中,所述根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,还包括:若是,且所述存储Hash表中Hash节点的索引标识与数据块的数据标识匹配,则更新该Hash节点所存的数据;若是,且所述存储Hash表中Hash节点的索引标识与数据块的数据标识不匹配,则更新该Hash节点所存的数据、索引标识。
在此,所述图3示出的创建模块101、备份模块102以及恢复模块103对应的具体实施方式与前述图1示出的步骤S101、步骤S102以及步骤S103对应实施例相同或相似,因而不再赘述,以引用的方式包含于此。
除上述各实施例介绍的方法和装置外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图4示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图4所示在一些实施例中,系统400能够作为各所述实施例中的任意一个上述设备。在一些实施例中,系统400可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或非易失性存储(NonVolatile Memory)VNM/存储设备420)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器405)。
对于一个实施例,系统控制模块410可包括任意适当的接口控制器,以向(一个或多个)处理器405中的至少一个和/或与系统控制模块410通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块410可包括存储器控制器模块430,以向系统存储器415提供接口。存储器控制器模块430可以是硬件模块、软件模块和/或固件模块。
系统存储器415可被用于例如为系统400加载和存储数据和/或指令。对于一个实施例,系统存储器415可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器415可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块410可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备420及(一个或多个)通信接口425提供接口。
例如,NVM/存储设备420可被用于存储数据和/或指令。NVM/存储设备420可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(Hard Disk Drive,HDD)、一个或多个光盘(compactdisc,CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备420可包括在物理上作为系统400被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备420可通过网络经由(一个或多个)通信接口425进行访问。
(一个或多个)通信接口425可为系统400提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统400可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器405中的至少一个可与系统控制模块410的一个或多个控制器(例如,存储器控制器模块430)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器405中的至少一个可与系统控制模块410的一个或多个控制器的逻辑封装在一起以形成系统级封装(System in a Package,SiP)。对于一个实施例,(一个或多个)处理器405中的至少一个可与系统控制模块410的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器405中的至少一个可与系统控制模块410的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(System on Chip,SoC)。
在各个实施例中,系统400可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统400可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统400包括一个或多个摄像机、键盘、液晶显示器(Liquid Crystal Display,LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(Application SpecificIntegrated Circuit,ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM, DRAM, SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM, EPROM, EEPROM)、磁性和铁磁(Magnetoresistive Random Access Memory,MRAM)/铁电存储器 Ferroelectric RAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。
以上对本申请实施例所提供的一种目标数据的备份和恢复方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种目标数据备份和恢复方法,其特征在于,应用于服务器,所述方法包括:
创建索引Hash表,为所述索引Hash表分配共享内存空间,将所述索引HASH表映射到所述共享内存空间;
获取所述目标数据,确定所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份;
当转发程序出现故障重启后,创建用于存储所述目标数据的存储Hash表,读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,其中,所述存储Hash表初始状态下条目为空;若是,将所述key值对应的目标数据对所述存储Hash表中对应的目标数据进行更新;
其中,为所述索引Hash表分配共享内存空间,将所述索引HASH表映射到所述共享内存空间,包括:
创建对应索引表,基于所述索引Hash表建立各Hash节点的索引标识;
建立所述索引Hash表中每个Hash表项节点的索引标识与所述目标数据的各数据块的数据索引的映射表;
根据所述目标数据包含的数据块的大小和数量,计算所述索引Hash表分配映射到的所述共享内存空间总大小;
检测目标数据是否合法;
若不合法,删除所述目标数据;
若合法,根据mmap方法将所述目标数据映射到所述共享内存空间;
将所述索引HASH表映射到所述共享内存空间。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标数据,确定所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份,包括:
当所述目标数据为更新数据时,将所述更新数据封装为异步事件入队对应异步事件队列;
创建单独线程,将所述异步事件队列循环从所述索引Hash表中出队,并基于所述异步事件对所述索引Hash表进行处理;
根据所述映射表将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份。
3.根据权利要求2所述的方法,其特征在于,所述更新数据包括用于指示所述索引Hash表插入表项成功的数据,所述将所述更新数据封装为异步事件入队对应异步事件队列,包括:
将Hash节点的key值和对应插入数据封装为add事件入队对应异步事件队列;
其中,所述更新数据还包括用于指示所述索引Hash表删除表项成功的数据,所述将所述更新数据封装为异步事件入队对应异步事件队列,包括:
将Hash节点的key值和对应删除数据封装为del事件入队对应异步事件队列。
4.根据权利要求3所述的方法,其特征在于,所述根据所述映射表将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份,包括:
若所述异步事件为add事件,根据key值在所述索引Hash表中查找节点;若存在匹配的节点,将所述插入数据更新至该节点对应文件块;若不存在,从所述索引表中获取状态为free的索引标识,将所述索引标识和所述插入数据按照key值插入所述索引Hash表中,并将所述插入数据对应数据块的有效标志设置为1。
5.根据权利要求3所述的方法,其特征在于,所述根据所述映射表将所述目标数据存储在服务器内存文件系统中所述目标索引对应的备份位置,以完成对所述目标数据的备份,还包括:
若所述异步事件为del事件,根据key值在所述索引Hash表中查找节点;若存在匹配的节点,将该节点对应的所述目标数据的数据块删除,并将删除的数据块的有效标志设置为0。
6.根据权利要求4或5所述的方法,其特征在于,所述读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,还包括:
遍历所述目标数据的备份数据文件中每一个有效标识为1的数据库;
从数据块中根据对应索引标识读取数据内容,从所述数据内容组装key值。
7.根据权利要求6所述的方法,其特征在于,所述根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,还包括:
若是,且所述存储Hash表中Hash节点的索引标识与数据块的数据标识匹配,则更新该Hash节点所存的数据;
若是,且所述存储Hash表中Hash节点的索引标识与数据块的数据标识不匹配,则更新该Hash节点所存的数据、索引标识。
8.一种目标数据备份和恢复装置,其特征在于,所述装置包括:
创建模块,用于创建索引Hash表,为所述索引Hash表分配共享内存空间,将所述索引HASH表映射到所述共享内存空间;
备份模块,用于获取所述目标数据,确定所述目标数据在所述索引Hash表中的索引标识,将所述目标数据存储在服务器内存文件系统中所述索引标识对应的备份位置,以完成对所述目标数据的备份;具体的,创建对应索引表,基于所述索引Hash表建立各Hash节点的索引标识;建立所述索引Hash表中每个Hash表项节点的索引标识与所述目标数据的各数据块的数据索引的映射表;根据所述目标数据包含的数据块的大小和数量,计算所述索引Hash表分配映射到的所述共享内存空间总大小;检测目标数据是否合法;若不合法,删除所述目标数据;若合法,根据mmap方法将所述目标数据映射到所述共享内存空间;将所述索引HASH表映射到所述共享内存空间;
恢复模块,用于当转发程序出现故障重启后,创建用于存储所述目标数据的存储Hash表,读取备份在所述服务器内存文件系统中的所述目标数据的数据块的key值,根据所述key值查找所述存储Hash表,判断是否能够查找得到所述目标数据;若否,则根据所述key值将所述目标数据内容插入到所述存储Hash表中,其中,所述存储Hash表初始状态下条目为空;若是,将所述key值对应的目标数据对所述存储Hash表中对应的目标数据进行更新。
9.一种目标数据备份和恢复的计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行如权利要求1至7中任一项所述方法的操作。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行如权利要求1至7中任一项所述方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011418479.2A CN112328435B (zh) | 2020-12-07 | 2020-12-07 | 目标数据备份和恢复的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011418479.2A CN112328435B (zh) | 2020-12-07 | 2020-12-07 | 目标数据备份和恢复的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328435A CN112328435A (zh) | 2021-02-05 |
CN112328435B true CN112328435B (zh) | 2023-09-12 |
Family
ID=74301652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011418479.2A Active CN112328435B (zh) | 2020-12-07 | 2020-12-07 | 目标数据备份和恢复的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328435B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225375B (zh) * | 2021-03-29 | 2022-01-21 | 北京城建智控科技股份有限公司 | 一种基于分布式的中心车站一体城轨云架构系统 |
CN112988473B (zh) * | 2021-05-10 | 2021-11-23 | 南京云信达科技有限公司 | 一种备份数据实时恢复方法及系统 |
CN113239114A (zh) * | 2021-05-13 | 2021-08-10 | 中国邮政储蓄银行股份有限公司 | 数据存储方法、装置、存储介质及电子装置 |
CN113590212A (zh) * | 2021-06-24 | 2021-11-02 | 阿里巴巴新加坡控股有限公司 | 数据库实例的启动方法、装置及设备 |
CN113704240A (zh) * | 2021-09-23 | 2021-11-26 | 世纪龙信息网络有限责任公司 | 一种数据去重的方法 |
CN113961399B (zh) * | 2021-11-13 | 2024-01-09 | 苏州浪潮智能科技有限公司 | 数据备份测试方法、装置、计算机设备及存储介质 |
CN114489505B (zh) * | 2022-01-21 | 2024-02-27 | 北京安天网络安全技术有限公司 | 数据报文的存储方法、装置、计算机设备 |
CN114328134B (zh) * | 2022-03-16 | 2022-05-31 | 深圳超盈智能科技有限公司 | 计算机内存动态测试系统 |
CN114676000A (zh) * | 2022-04-15 | 2022-06-28 | 中兴通讯股份有限公司 | 数据处理方法及其装置、存储介质、计算机程序产品 |
CN117009133A (zh) * | 2022-04-28 | 2023-11-07 | 成都华为技术有限公司 | 一种数据恢复方法以及相关装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814045A (zh) * | 2010-04-22 | 2010-08-25 | 华中科技大学 | 一种用于备份服务的数据组织方法 |
KR20110004605A (ko) * | 2009-07-08 | 2011-01-14 | 매크로임팩트 주식회사 | Lru 기반 색인 분할을 이용하여 데이터 중복감지를 수행하는 시스템 및 방법 |
CN103631672A (zh) * | 2012-08-20 | 2014-03-12 | 国基电子(上海)有限公司 | 具有数据备份和数据恢复功能的移动装置及方法 |
CN104765652A (zh) * | 2014-01-08 | 2015-07-08 | 中国移动通信集团浙江有限公司 | 一种数据备份和数据恢复方法及装置 |
US9436558B1 (en) * | 2010-12-21 | 2016-09-06 | Acronis International Gmbh | System and method for fast backup and restoring using sorted hashes |
CN106528340A (zh) * | 2016-11-08 | 2017-03-22 | 深圳市任子行科技开发有限公司 | 移动网用户信令数据快速处理方法和系统 |
CN106603635A (zh) * | 2016-11-29 | 2017-04-26 | 北京科技大学 | 一种平台数据异地备份方法 |
CN106685821A (zh) * | 2017-02-20 | 2017-05-17 | 华为技术有限公司 | 一种多路径选择方法及设备 |
CN106681842A (zh) * | 2017-01-18 | 2017-05-17 | 迈普通信技术股份有限公司 | 一种多进程系统中共享内存的管理方法及装置 |
CN110287044A (zh) * | 2019-07-02 | 2019-09-27 | 广州虎牙科技有限公司 | 无锁共享内存处理方法、装置、电子设备及可读存储介质 |
CN110362590A (zh) * | 2018-04-02 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 数据管理方法、装置、系统、电子设备及计算机可读介质 |
CN110941514A (zh) * | 2019-11-25 | 2020-03-31 | 湖北工业大学 | 一种数据备份方法、恢复方法、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8984478B2 (en) * | 2011-10-03 | 2015-03-17 | Cisco Technology, Inc. | Reorganization of virtualized computer programs |
-
2020
- 2020-12-07 CN CN202011418479.2A patent/CN112328435B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110004605A (ko) * | 2009-07-08 | 2011-01-14 | 매크로임팩트 주식회사 | Lru 기반 색인 분할을 이용하여 데이터 중복감지를 수행하는 시스템 및 방법 |
CN101814045A (zh) * | 2010-04-22 | 2010-08-25 | 华中科技大学 | 一种用于备份服务的数据组织方法 |
US9436558B1 (en) * | 2010-12-21 | 2016-09-06 | Acronis International Gmbh | System and method for fast backup and restoring using sorted hashes |
CN103631672A (zh) * | 2012-08-20 | 2014-03-12 | 国基电子(上海)有限公司 | 具有数据备份和数据恢复功能的移动装置及方法 |
CN104765652A (zh) * | 2014-01-08 | 2015-07-08 | 中国移动通信集团浙江有限公司 | 一种数据备份和数据恢复方法及装置 |
CN106528340A (zh) * | 2016-11-08 | 2017-03-22 | 深圳市任子行科技开发有限公司 | 移动网用户信令数据快速处理方法和系统 |
CN106603635A (zh) * | 2016-11-29 | 2017-04-26 | 北京科技大学 | 一种平台数据异地备份方法 |
CN106681842A (zh) * | 2017-01-18 | 2017-05-17 | 迈普通信技术股份有限公司 | 一种多进程系统中共享内存的管理方法及装置 |
CN106685821A (zh) * | 2017-02-20 | 2017-05-17 | 华为技术有限公司 | 一种多路径选择方法及设备 |
CN110362590A (zh) * | 2018-04-02 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 数据管理方法、装置、系统、电子设备及计算机可读介质 |
CN110287044A (zh) * | 2019-07-02 | 2019-09-27 | 广州虎牙科技有限公司 | 无锁共享内存处理方法、装置、电子设备及可读存储介质 |
CN110941514A (zh) * | 2019-11-25 | 2020-03-31 | 湖北工业大学 | 一种数据备份方法、恢复方法、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于差异数据的块级数据库备份系统;李自尊 等;四川大学学报(自然科学版);第49卷(第04期);第783-789页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112328435A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112328435B (zh) | 目标数据备份和恢复的方法、装置、设备及存储介质 | |
CN108287669B (zh) | 数据存储方法、装置及存储介质 | |
US10871960B2 (en) | Upgrading a storage controller operating system without rebooting a storage system | |
CN110058873B (zh) | 应用页面更新方法、装置、设备和存储介质 | |
CN108733311B (zh) | 用于管理存储系统的方法和设备 | |
CN109710317B (zh) | 系统启动方法、装置、电子设备及存储介质 | |
CN111930473B (zh) | 在容器云上部署图像识别服务的方法与设备 | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN111177143B (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
CN109445902B (zh) | 一种数据操作方法和系统 | |
US20190199794A1 (en) | Efficient replication of changes to a byte-addressable persistent memory over a network | |
CN107665095B (zh) | 存储器空间管理的设备、方法及可读存储介质 | |
WO2011095074A1 (zh) | 一种终端设备系统升级方法及终端设备 | |
CN110554911A (zh) | 内存访问与分配方法、存储控制器及系统 | |
US20220107752A1 (en) | Data access method and apparatus | |
CN109088914B (zh) | 区块的生成方法、区块链生态系统及计算机可读存储介质 | |
CN113077260A (zh) | 基于区块链的数据访问方法、装置及电子设备 | |
US11467906B2 (en) | Storage system resource rebuild based on input-output operation indicator | |
CN112346771A (zh) | 升级文件生成方法及装置 | |
CN114840307A (zh) | 容器的加载方法、装置、设备和存储介质 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
CN114296651A (zh) | 一种用于存储自定义数据信息的方法与设备 | |
TW201721403A (zh) | 記憶體系統協定中提供檔案資訊之系統及方法 | |
CN110554934B (zh) | 一种嵌入式设备及其系统分区和升级方法 | |
US11687416B2 (en) | Data backup optimization |
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 |