一种数据回档方法、装置及存储介质
技术领域
本申请涉及数据库管理领域,具体涉及一种数据回档方法、装置及存储介质。
背景技术
数据是一个企业至关重要的资产,一旦发生数据崩溃、混乱或丢失会带来巨大的损失,因此,数据的备份与回档是数据管理中极其重要的一项任务。现有的数据库数据备份方法主要分为物理备份和逻辑备份两类,其中,物理备份通过对数据库中数据本身进行备份,回档时效率较高;逻辑备份相当于对数据的操作进行了备份,回档时需要通过执行要回档的数据对应的sql语句来实现回档,执行过程中需要加载和解释语句,资源占用多且回档效率不高。
现有技术在基于数据库的全量物理备份进行数据回档时,客户端往往需要下载和导入全量物理备份文件(可能包括多个数据库中各数据表的备份文件),再以该备份文件启动一个实例再从中选取导出需要的数据来实现数据回档,会导入不必要的数据,带来不必要的资源占用,且导致回档效率低,因此,需要提供更加高效可靠的方案。
发明内容
为了解决现有技术的问题,本申请提供了一种数据回档方法、装置及存储介质。所述技术方案如下:
本申请一方面提供了一种数据回档方法,所述方法包括:
向服务器发送目标数据的回档指令,所述目标数据的回档指令携带有回档需求信息,以使所述服务器基于所述回档需求信息确定目标索引文件,所述目标索引文件包括目标备份数据包中的多个备份数据的位置信息;
接收所述服务器发送的所述目标索引文件;
从所述目标索引文件中提取所述目标数据对应的备份数据的目标位置信息;
向所述服务器发送备份数据获取指令,所述备份数据获取指令携带有所述目标位置信息,以使所述服务器基于所述目标位置信息,从所述目标备份数据包中获取所述对应的备份数据;
接收所述服务器发送的所述对应的备份数据和目标操作日志,所述目标操作日志表征所述多个备份数据在备份期间的操作信息;
基于所述目标操作日志对所述对应的备份数据进行操作回放,得到所述目标数据的回档数据。
本申请一方面提供了另一种数据回档方法,所述方法包括:
接收客户端发送的目标数据的回档指令,所述目标数据的回档指令携带有回档需求信息;
基于所述回档需求信息确定目标索引文件,所述目标索引文件包括目标备份数据包中的多个备份数据的位置信息;
向所述客户端发送所述目标索引文件,以使所述客户端从所述目标索引文件中提取所述目标数据对应的备份数据的目标位置信息;
接收所述客户端发送的备份数据获取指令,所述备份数据获取指令携带有所述目标位置信息;
基于所述目标位置信息,从所述目标备份数据包中获取所述对应的备份数据;
向所述客户端发送所述对应的备份数据和目标操作日志,所述目标操作日志表征所述多个备份数据在备份期间的操作信息;以使所述客户端基于所述目标操作日志对所述对应的备份数据进行操作回放,得到所述目标数据的回档数据。
本申请另一方面提供了一种数据回档装置,所述装置包括:
回档指令发送模块,用于向服务器发送目标数据的回档指令,所述目标数据的回档指令携带有回档需求信息,以使所述服务器基于所述回档需求信息确定目标索引文件,所述目标索引文件包括目标备份数据包中的多个备份数据的位置信息;
索引文件接收模块,用于接收所述服务器发送的所述目标索引文件;
位置信息提取模块,用于从所述目标索引文件中提取所述目标数据对应的备份数据的目标位置信息;
数据获取指令发送模块,用于向所述服务器发送备份数据获取指令,所述备份数据获取指令携带有所述目标位置信息,以使所述服务器基于所述目标位置信息,从所述目标备份数据包中获取所述对应的备份数据;
数据接收模块,用于接收所述服务器发送的所述对应的备份数据和目标操作日志,所述目标操作日志表征所述多个备份数据在备份期间的操作信息;
操作回放模块,用于基于所述目标操作日志对所述对应的备份数据进行操作回放,得到所述目标数据的回档数据。
本申请另一方面提供了另一种数据回档装置,所述装置包括:
回档指令接收模块,用于接收客户端发送的目标数据的回档指令,所述目标数据的回档指令携带有回档需求信息;
索引文件确定模块,用于基于所述回档需求信息确定目标索引文件,所述目标索引文件包括目标备份数据包中的多个备份数据的位置信息;
索引文件发送模块,用于向所述客户端发送所述目标索引文件,以使所述客户端从所述目标索引文件中提取所述目标数据对应的备份数据的目标位置信息;
数据获取指令接收模块,用于接收所述客户端发送的备份数据获取指令,所述备份数据获取指令携带有所述目标位置信息;
备份数据获取模块,用于基于所述目标位置信息,从所述目标备份数据包中获取所述对应的备份数据;
数据发送模块,用于向所述客户端发送所述对应的备份数据和目标操作日志,所述目标操作日志表征所述多个备份数据在备份期间的操作信息;以使所述客户端基于所述目标操作日志对所述对应的备份数据进行操作回放,得到所述目标数据的回档数据。
本申请另一方面提供了一种数据回档设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由上述处理器加载并执行以实现如上述的数据回档方法。
本申请另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的数据回档方法。
本申请提供的数据回档方法、装置及存储介质,具有如下技术效果:
本申请通过服务器基于回档需求信息确定目标索引文件并发送到客户端,且该目标索引文件包括目标备份数据包中的多个备份数据的位置信息;从而客户端能够从该目标索引文件中提取上述目标数据对应的备份数据的目标位置信息,进而向服务器发送备份数据获取指令,使得服务器能够从上述的目标备份数据包中获取上述对应的备份数据并发送给客户端,无需下载或导入整个备份数据包,避免不必要的数据导入和资源占用,此外,服务器还可以向客户端发送目标操作日志,该目标操作日志表征上述多个备份数据在备份期间的操作信息;最后,客户端能够基于该目标操作日志对上述对应的备份数据进行操作回放,准确得到上述目标数据的回档数据。利用本说明书实施例提供的技术方案可以快速准确地进行数据回档,减少资源占用,提升数据回档的效率和灵活性。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种数据回档方法的流程示意图;
图3是本申请实施例提供的另一种数据回档方法的流程示意图;
图4是本申请实施例提供的另一种数据回档方法的流程示意图;
图5是本申请实施例提供的另一种数据回档方法的流程示意图;
图6是本申请实施例提供的另一种数据回档方法的流程示意图;
图7是本申请实施例提供的另一种数据回档方法的流程示意图;
图8是本申请实施例提供的一种全量物理备份流程示意图;
图9是本申请实施例提供的一种数据回档装置示意图;
图10是本申请实施例提供的另一种数据回档装置示意图;
图11是本申请实施例提供的一种用于实现数据回档方法的客户端的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言,本申请提供的数据回档方法可以应用于云数据库(Cloud DataBase,CDB)的回档,作为关系型数据库回档的一种方式。
请参阅图1,图1是本申请提供的一种应用环境示意图,如图1所示,该应用环境可以包括客户端01和服务器02。
在本说明书实施例中,客户端01可以用于向服务器02发送携带有回档需求信息的目标数据的回档指令,以及接收服务器02发送的目标索引文件并从中提取目标数据对应的备份数据的目标位置信息,进而能够向服务器02发送备份数据获取指令,接收对应的备份数据和目标操作日志来对上述对应的备份数据进行操作回放,得到目标数据的回档数据;在一些实施例中,客户端01还可以用于根据目标操作日志建立哈希表及哈希桶以提升查找速度,以及基于上述目标数据的回档数据创建临时实例以将上述目标数据的回档数据导入目标实例,从而将回档数据应用到目标实例中。可选的,客户端01可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
在本说明书实施例中,服务器02可以用于存储多个备份数据包和对应的索引文件,在接收客户端01发送的目标数据的回档指令时确定出目标索引文件并发送至客户端01,以及基于客户端01发送的备份数据获取指令携带的目标位置信息,从所述目标备份数据包中获取所述对应的备份数据。可选的,服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在实际应用中,客户端01可以向服务器02发送目标数据的回档指令,该目标数据的回档指令携带有回档需求信息;服务器02基于该回档需求信息确定目标索引文件并发送给客户端01,且该目标索引文件包括目标备份数据包中的多个备份数据的位置信息;客户端01从该目标索引文件中提取上述目标数据对应的备份数据的目标位置信息并向服务器02发送备份数据获取指令,该备份数据获取指令携带有该目标位置信息;服务器02基于该目标位置信息,从上述目标备份数据包中获取上述对应的备份数据;服务器02向客户端01发送上述对应的备份数据和目标操作日志,该目标操作日志表征上述多个备份数据在备份期间的操作信息;客户端01基于该目标操作日志对上述对应的备份数据进行操作回放,得到上述目标数据的回档数据。
在本说明书实施例中,上述的客户端01以及服务器02可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
此外,需要说明的是,图1仅仅是本申请实施例提供的一种应用环境的示意图,本申请并不以此为限。
图2是本申请实施例提供的一种数据回档方法的流程图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201:客户端向服务器发送目标数据的回档指令。
在本说明书实施例中,上述的目标数据表征需要进行回档的数据,在具体的实施例中,上述的目标数据可以包括至少一个数据表(例如,数据库中的ibd文件);在实际应用中,例如,当某个数据表发生了混乱或崩溃,或误删了某些数据表,希望将其回档为过去某个时间的状态,而其他数据表维持不变,则客户端可以向服务器发送目标数据的回档指令,以针对需要回档的数据表进行数据回档。
具体地,该目标数据的回档指令可以携带有回档需求信息;该回档需求信息可以表征数据回档需求,在实际应用中,该回档需求信息可以包括但不限于时间信息、项目标识和路径信息中的至少一种;服务器可以存储有多个不同时刻的备份数据包和分别与各备份数据包对应的索引文件。在一个具体的实施例中,当该回档需求信息包括时间信息时,后续服务器可以根据该时间信息确定具有相匹配的时间标识的备份数据包和索引文件,并将上述具有相匹配的时间标识的备份数据包和索引文件分别作为目标备份数据包和目标索引文件。例如,对于一个2020年1月1日11:00生成的备份数据包,则该备份数据包的时间标识可以包括2020年1月1日11:00,若客户端发送的目标数据的回档指令所携带的回档需求信息包括2020年1月1日11:00这个时间信息,则服务器可以根据备份数据包和索引文件的时间标识,确定出时间标识为2020年1月1日11:00的备份数据包和索引文件,并将其作为目标备份数据包和目标索引文件。
在实际应用中,当需要针对少量的数据表进行数据回档时,客户端可以向服务器发送目标数据的回档指令,从而后续进行目标数据的回档,以减少非必要数据的下载导入,降低资源占用,提升数据回档的效率。
S203:服务器基于上述回档需求信息确定目标索引文件。
具体地,该目标索引文件可以包括目标备份数据包中的多个备份数据的位置信息;在本说明书实施例中,该目标索引文件可以是在生成目标备份数据包的同时或之后,根据目标备份数据包中的多个备份数据的位置信息预先生成并存储于服务器的。在一个实施例中,每个备份数据的位置信息可以包括该备份数据的偏移量,上述的偏移量可以表征该备份数据在对应的备份数据包中的地址信息;由于实际应用中在进行数据备份时,可以对每个数据表进行分块打包输出,因此一个数据表可以对应多个压缩数据块,且这多个压缩数据块可能分布在备份数据包中的多个位置,因此每个压缩数据块可以对应一个偏移量,在生成对应的索引文件时,可以获取每个数据表的全部压缩数据块的偏移量,将一个数据表的全部压缩数据块的偏移量作为该数据表对应的偏移量集合,当一个备份数据包括该数据表时,该备份数据的位置信息可以包括该数据表的偏移量集合。
S205:服务器向客户端发送该目标索引文件。
在服务器基于上述回档需求信息确定目标索引文件之后,可以向客户端发送该目标索引文件以使客户端进行信息提取,由于索引文件仅用于记录备份数据包中的多个备份数据的位置信息,文件往往较小,下载速度快,客户端无需下载或导入整个备份数据包,有利于提升数据回档的效率。
S207:客户端从该目标索引文件中提取上述目标数据对应的备份数据的目标位置信息。
由于该目标索引文件包括目标备份数据包中的多个备份数据的位置信息,客户端可以从该目标索引文件中提取上述目标数据对应的备份数据的目标位置信息,即从上述多个备份数据的位置信息中提取上述目标数据对应的备份数据的目标位置信息。
在实际应用中,客户端可以根据目标数据的数据标识,确定目标数据对应的备份数据,进而从目标索引文件中提取上述目标数据对应的备份数据的目标位置信息;例如目标数据包括数据表1,则可以从上述目标索引文件中提取数据表1的目标位置信息(在一个实施例中,该目标位置信息可以包括数据表1的偏移量集合),通过客户端从该目标索引文件中提取上述目标数据对应的备份数据的目标位置信息,有利于后续服务器从目标备份数据包中进行数据获取,提升数据回档的效率和灵活性。
S209:客户端向服务器发送备份数据获取指令。
具体地,该备份数据获取指令携带有上述的目标位置信息。
S211:服务器基于该目标位置信息,从上述目标备份数据包中获取上述对应的备份数据。
在服务器接收到携带有回档需求信息的目标数据的回档指令时,可以根据该回档需求信息从大量备份数据包中确定出目标备份数据包,此时服务器接收客户端发送的携带有该目标位置信息的备份数据获取指令,可以基于该目标位置信息,从上述目标备份数据包中获取上述对应的备份数据;在一个实施例中,当上述目标位置信息包括上述对应的备份数据的偏移量集合时,服务器基于该目标位置信息,从上述目标备份数据包中获取上述对应的备份数据可以包括:
服务器基于上述对应的备份数据的偏移量集合,从上述目标备份数据包中获取上述对应的备份数据的全部压缩数据块;
服务器对上述全部压缩数据块进行解压融合,将解压融合后的数据作为上述对应的备份数据,并将上述对应的备份数据发送到客户端。
在另一个实施例中,服务器从上述目标备份数据包中获取上述对应的备份数据的全部压缩数据块之后,也可以将这些压缩数据块作为上述对应的备份数据发送到客户端,由客户端对将这些压缩数据块进行解压融合,后续可以基于目标操作日志对解压融合后的数据进行操作回放,本申请并不以此为限。
通过服务器基于该目标位置信息,从上述目标备份数据包中获取上述对应的备份数据,进而可以将上述对应的备份数据发送到客户端,客户端无需下载或导入整个目标备份数据包(全量备份数据包),能够直接获取需要的备份数据,避免了非必要数据的导入,减少资源占用和资源浪费,有利于提升数据回档的效率和灵活性。
S213:服务器向客户端发送上述对应的备份数据和目标操作日志。
具体地,该目标操作日志表征上述目标备份数据包中的多个备份数据在备份期间的操作信息。
请参照图3,在本说明书实施例中,上述的目标索引文件还包括该目标操作日志的位置信息,在接收服务器发送的目标操作日志之前,上述方法还可以包括:
S301:客户端从上述目标索引文件中提取该目标操作日志的位置信息。
在本说明书实施例中,该目标操作日志与上述目标备份数据包中的数据表类似,也可以对应多个压缩数据块,且各压缩数据块可能分布在备份数据包中的多个位置,在生成对应的索引文件时,除了获取各数据表的偏移量之外,还可以获取操作日志的全部压缩数据块的偏移量,作为该操作日志对应的偏移量集合,该目标操作日志的位置信息可以包括该目标操作日志对应的偏移量集合。
在本说明书实施例中,客户端从上述目标索引文件中提取该目标操作日志的位置信息的具体过程与S207,客户端从该目标索引文件中提取上述目标数据对应的备份数据的目标位置信息的过程类似,可以参见S207的相关描述,在此不再赘述。
S303:客户端向服务器发送日志数据获取指令。
具体地,该日志数据获取指令携带有该目标操作日志的位置信息。在实际应用中,该日志数据获取指令可以与上述的备份数据获取指令合并发送,或分开发送,本申请并不以此为限。
S305:服务器基于该目标操作日志的位置信息,从上述目标备份数据包中获取该目标操作日志。
在本说明书实施例中,服务器基于该目标操作日志的位置信息,从上述目标备份数据包中获取该目标操作日志的具体过程与S211,服务器基于该目标位置信息,从上述目标备份数据包中获取上述对应的备份数据的过程类似,可以参见S211的相关描述,在此不再赘述。
通过客户端从上述目标索引文件中提取该目标操作日志的位置信息,客户端向服务器发送日志数据获取指令,进而使得服务器基于该目标操作日志的位置信息,从上述目标备份数据包中获取该目标操作日志,相当于服务器根据位置信息从目标备份数据包中抽取出该目标操作日志再发送给客户端,避免了非必要数据的导入,减少资源占用和资源浪费,有利于提升数据回档的效率和灵活性。
S215:客户端基于该目标操作日志对上述对应的备份数据进行操作回放,得到上述目标数据的回档数据。
在本说明书实施例中,该目标操作日志可以包括上述目标备份数据包中多个备份数据在备份期间的操作记录。
在实际应用中,操作日志可以用于记录备份期间各数据表的数据页的物理变化;由于在备份的过程中,数据库中的各数据表仍然是可操作的,在备份期间数据表仍可能发生变化(例如增加、删除和/或修改数据表中的数据),因此备份结束时这个备份数据包中的各备份数据(各数据表文件)的往往无法处于一致的时间位点;例如,一个2020年1月1日11:00生成的备份数据包,则该备份数据包的时间标识可以包括2020年1月1日11:00,但该备份数据包可以是从2020年1月1日10:00开始备份的,则这个备份数据包中的多个备份数据的某些可能在10:10备份完成,某些可能在10:30备份完成,较为散乱无序,为了得到时间位点一致的备份数据(11:00的各备份数据),可以在备份开始时(10:00)开始进行操作记录,并在备份结束时(11:00)停止进行操作记录,此时操作日志就可以记录下备份期间各数据表的操作,并在后续回档时进行操作回放,得到2020年1月1日11:00的数据表。
由于该目标操作日志可以包括大量备份数据在备份期间的操作记录,一一回放会造成时间和资源的浪费,因此有必要对该目标操作日志中的操作记录进行筛选。
请参照图4,上述的客户端基于该目标操作日志对上述对应的备份数据进行操作回放,得到上述目标数据的回档数据可以包括:
S401:客户端从上述多个备份数据在备份期间的操作记录中确定上述对应的备份数据在备份期间的操作记录。
在一个实施例中,该目标操作日志中的每条操作记录可以对应一个属性标识,当操作日志用于记录备份期间各数据表的数据页的操作时,上述的属性标识可以由数据表ID和页面号组成,例如(1,2)可以表示数据表1的页面2。
请参照图5,在一个实施例中,上述的客户端从上述多个备份数据在备份期间的操作记录中确定上述对应的备份数据在备份期间的操作记录可以包括:
S501:客户端根据上述多个备份数据在备份期间的操作记录,建立以属性标识为键,以操作记录为值的哈希表;
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,提升数据查找速度,通过建立哈希表,有利于提升记录查找筛选的速度,进而提升数据回档的效率。
S503:客户端根据该哈希表,生成与每个键对应的哈希桶;
客户端根据该哈希表,生成与每个键对应的哈希桶,即一个数据表中同一个页面的操作记录都在同一个哈希桶中,通过生成哈希桶,能够有效解决哈希冲突,提升记录查找的可靠性,同时有利于提升查找速度。
S505:客户端提取上述对应的备份数据的目标数据标识;
S507:当任一哈希桶的键与该目标数据标识相匹配时,客户端将该哈希桶中的操作记录作为上述对应的备份数据在备份期间的操作记录。
在本说明书实施例中,当上述的属性标识由数据表ID和页面号组成时,该目标数据标识可以包括数据表ID,例如此时上述对应的备份数据为数据表1,当任一哈希桶的键包括数据表1时,即该键与该目标数据标识相匹配,可以将这个哈希桶中的操作记录作为上述对应的备份数据在备份期间的操作记录,后续可以进行操作回放,直到符合条件的哈希桶中的操作记录全部回放完毕。
通过建立哈希表进行数据查找,有利于提升记录查找筛选的速度,进而提升数据回档的效率。
S403:客户端根据上述对应的备份数据在备份期间的操作记录,对上述对应的备份数据进行操作回放,得到上述目标数据的回档数据。
在客户端从上述多个备份数据在备份期间的操作记录中确定上述对应的备份数据在备份期间的操作记录之后,可以根据上述对应的备份数据在备份期间的操作记录,对上述对应的备份数据进行操作回放,并将操作回放完成后的上述对应的备份数据作为上述目标数据的回档数据;在上述实施例中,即筛选出键包括数据表1的哈希桶,并对这些哈希桶中的操作记录进行操作回放,直到符合条件的哈希桶中的操作记录全部回放完毕。例如,需要进行数据回档的表为数据表1,服务器从2020年1月1日11:00的备份数据包中获取数据表1的备份数据并发送到客户端,客户端从目标操作日志中确定数据表1的备份数据在备份期间的操作记录并对服务器发送的数据表1的备份数据进行操作回放,回放完成后即得到了数据表1的回档数据(即2020年1月1日11:00的数据表1)。
通过客户端从上述多个备份数据在备份期间的操作记录中确定上述对应的备份数据在备份期间的操作记录,进而根据上述对应的备份数据在备份期间的操作记录,仅需对上述对应的备份数据进行操作回放,得到上述目标数据的回档数据,有利于提升数据回档的效率,减少资源浪费,且能够得到时间位点一致的上述对应的回档数据,提升数据回档的可靠性。
请参照图6,在本说明书实施例中,上述方法还可以包括:
S601:客户端基于上述目标数据的回档数据创建临时实例;
S603:客户端将该临时实例中的上述目标数据的回档数据导入目标实例;
在实际应用中,客户端可以以上述目标数据的回档数据启动一个临时实例,此时目标数据的回档数据的文件名,与目标实例中的目标数据的文件名是一致的,例如需要对数据表1进行数据回档,则目标实例中的数据表1可能仍在使用,在基于上述目标数据的回档数据创建临时实例之后,可以对上述目标数据的回档数据进行重命名,例如将原本的文件名“数据表1”修改为“A数据表1”,再将其导入目标实例。
S605:客户端基于该目标实例中的上述目标数据和上述目标数据的回档数据进行回档准确性检测。
在客户端将上述目标数据的回档数据导入目标实例后,以上述的数据表1为例,此时目标实例中可以同时包括“数据表1”(未回档的表1)以及“A数据表1”(目标数据的回档数据,即2020年1月1日11:00的表1),此时可以结合这两个数据表进行回档准确性检测,例如确定回档后的数据是否为需要的数据,有利于提升数据回档的可靠性。
S607:当回档准确性检测通过时,客户端基于上述目标数据的回档数据更新该目标实例中的上述目标数据。
在一个实施例中,当回档准确性检测通过时,客户端基于上述目标数据的回档数据更新该目标实例中的上述目标数据可以包括:客户端将目标实例中的上述目标数据删除,并对上述目标数据的回档数据进行重命名,将其作为目标实例中新的目标数据,后续可以利用这个新的目标数据执行后续的操作;以上述数据表1的回档为例,此时即可将目标实例中的“数据表1”删除,并将“A数据表1”修改为“数据表1”继续使用。
请参照图7,在本说明书实施例中,上述方法还可以包括:
S701:客户端响应于数据备份指令,对待备份数据库中的多个数据进行数据备份,得到备份数据包。
在本说明书实施例中,上述的待备份数据库可以包括至少一个数据库,且每个数据库可以包括至少一个数据表,可以将一个数据表作为一个数据;在一个实施例中,上述的数据备份指令可以由客户端结合实际备份需求发出;在另一个实施例中,上述的数据备份指令还可以由客户端预置的定时器每隔预设时间自动发出,该预设时间可以结合实际应用需求进行设定,例如24小时,或48小时,本申请并不以此为限。
在一个具体的实施例中,上述的客户端响应于数据备份指令,对待备份数据库中的多个数据进行数据备份,得到备份数据包可以包括以下步骤:
1)确定上述待备份数据库中的多个数据;
2)对上述多个数据中的每个数据进行分块读取并压缩,得到多个子数据包;
在实际应用中,请参照图8,图8是本说明书实施例提供的一种全量物理备份流程示意图,可以为上述待备份数据库中的每个数据的备份建立一个备份线程,如图8所示,此时待备份数据库共包括10个数据表(数据表1~数据表10),则可以建立10个备份线程,每个备份线程对一个数据表执行备份操作,各备份线程能够互不影响地对其对应的数据表进行分块读取、压缩、缓存、流式打包及输出。
3)对上述的多个子数据包进行数据缓存,并进行流式打包输出,生成备份数据包。
在一个具体的实施例中,可以利用预设容量的缓存区进行数据缓存,例如,该预设容量可以包括1MB;在实际应用中,可以将上述的子数据包缓冲到上述的缓存区进行数据缓存,且每当缓存区达到预设容量阈值(例如,1MB)时,将其中的子数据包输出到下游继续进行流式打包输出(在实际应用中,流式打包可以每当收到的缓存数据达到10MB时打包为一个压缩数据块并输出,如图8所示,即图中输出步骤中各数据表的压缩数据块大小为10MB,例如,数据表1的压缩数据块1即10MB),通过对数据进行缓存再输出至下一步,有利于提升系统的I/O性能。
通过客户端响应于数据备份指令,对待备份数据库中的多个数据进行数据备份,得到备份数据包,有利于提升数据备份及时性,降低数据丢失的损失。
S703:客户端获取该备份数据包中的多个备份数据的位置信息。
在一个实施例中,上述的位置信息可以包括偏移量,备份数据A的偏移量可以表征备份数据A在其对应的备份数据包中的位置,有利于后续根据偏移量快速从备份数据包中找到需要的数据;从上述的备份过程可见,由于在实际应用中,一个备份数据可能对应多个压缩数据块,且在流式打包后输出时,各压缩数据块可以以随机的顺序输出,因此一个备份数据对应的多个压缩数据块可能分布在这个备份数据包的不同位置,此时每个压缩数据块对应一个偏移量,该备份数据的位置信息可以包括各压缩数据块的偏移量组成的偏移量集合;例如,数据表1共对应3个压缩数据块,其中,压缩数据块1的偏移量为200-299,压缩数据块2的偏移量为300-399,压缩数据块3的偏移量为700-799,此时这个备份数据(数据表1)的位置信息可以包括偏移量集合{200-299,300-399,700-799}。
S705:客户端基于该备份数据包中的多个备份数据的位置信息,生成与该备份数据包对应的索引文件。
在本说明书实施例中,例如该备份数据包共包括10个备份数据(数据表1~数据表10),则可以分别获取这10个备份数据的位置信息(例如10个偏移量集合),生成与该备份数据包对应的索引文件,此时该索引文件中可以包括10条索引信息,例如,数据表1的索引信息可以为“数据表1:{200-299,300-399,700-799}”。
通过在生成备份数据包时根据备份数据包中的多个备份数据的位置信息预先生成索引文件,进而后续在进行数据回档时仅需先下载该索引文件,确定需要回档的数据在备份数据包中的位置信息,从而能够准确快速地从备份数据包中获取需要的数据,无需下载整个全量备份文件,减少资源占用,提升数据回档的效率和灵活性。
S707:客户端将该备份数据包,以及与该备份数据包对应的索引文件发送到服务器。
在本说明书实施例中,客户端将该备份数据包,以及与该备份数据包对应的索引文件发送到服务器,服务器能够对该备份数据包和对应的索引文件进行存储,进而客户端可将本地的备份数据包和对应的索引文件删除,减少空间占用,提升客户端的性能。
在实际应用中,客户端在将该备份数据包,以及与该备份数据包对应的索引文件发送到服务器时,还可以同时发送该备份数据包和该索引文件的类别标签(例如,该类别标签可以包括时间标识),进而服务器可以根据该类别标签对该备份数据包和该索引文件进行标注并分类保存,有利于后续服务器接收到客户端发送的携带有回档需求信息的回档指令时,能够根据类别标签快速准确地确定需要的备份数据包和索引文件,提升数据回档的效率和准确性。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过服务器基于回档需求信息确定目标索引文件并发送到客户端,且该目标索引文件包括目标备份数据包中的多个备份数据的位置信息;从而客户端能够从该目标索引文件中提取上述目标数据对应的备份数据的目标位置信息,进而向服务器发送备份数据获取指令,使得服务器能够从上述的目标备份数据包中获取上述对应的备份数据并发送给客户端,无需下载或导入整个备份数据包,避免不必要的数据导入和资源占用,此外,服务器还可以向客户端发送目标操作日志,该目标操作日志表征上述多个备份数据在备份期间的操作信息;最后,客户端能够基于该目标操作日志对上述对应的备份数据进行操作回放,准确得到上述目标数据的回档数据,提升数据回档的效率和灵活性。通过建立哈希表和哈希桶进行数据查找,有利于提升记录查找筛选的速度,且能够有效解决哈希冲突,进而提升数据回档的效率和可靠性。通过客户端将回档数据导入目标实例时基于该目标实例中的上述目标数据和上述目标数据的回档数据进行回档准确性检测,有利于提升数据回档的可靠性。通过在生成备份数据包时根据备份数据包中的多个备份数据的位置信息预先生成索引文件,进而后续在进行数据回档时仅需先下载该索引文件,确定需要回档的数据在备份数据包中的位置信息,从而能够准确快速地从备份数据包中获取需要的数据,无需下载整个全量备份文件,减少资源占用,提升数据回档的效率和灵活性。且客户端备份结束后将备份数据发到服务器进行保存,有利于减少客户端本地空间占用,提升客户端的性能。
本申请实施例还提供了一种数据回档装置,如图9所示,所述装置可以包括:
回档指令发送模块910,用于向服务器发送目标数据的回档指令,所述目标数据的回档指令携带有回档需求信息,以使所述服务器基于所述回档需求信息确定目标索引文件,所述目标索引文件包括目标备份数据包中的多个备份数据的位置信息;
索引文件接收模块920,用于接收所述服务器发送的所述目标索引文件;
位置信息提取模块930,用于从所述目标索引文件中提取所述目标数据对应的备份数据的目标位置信息;
数据获取指令发送模块940,用于向所述服务器发送备份数据获取指令,所述备份数据获取指令携带有所述目标位置信息,以使所述服务器基于所述目标位置信息,从所述目标备份数据包中获取所述对应的备份数据;
数据接收模块950,用于接收所述服务器发送的所述对应的备份数据和目标操作日志,所述目标操作日志表征所述多个备份数据在备份期间的操作信息;
操作回放模块960,用于基于所述目标操作日志对所述对应的备份数据进行操作回放,得到所述目标数据的回档数据。
在本说明书实施例中,上述目标操作日志包括所述多个备份数据在备份期间的操作记录,操作回放模块960可以包括:
操作记录筛选单元,用于从所述多个备份数据在备份期间的操作记录中确定所述对应的备份数据在备份期间的操作记录;
操作回放单元,用于根据所述对应的备份数据在备份期间的操作记录,对所述对应的备份数据进行操作回放,得到所述目标数据的回档数据。
在一个实施例中,每条操作记录对应一个属性标识,上述的操作记录筛选单元可以包括:
哈希表建立单元,用于根据所述多个备份数据在备份期间的操作记录,建立以属性标识为键,以操作记录为值的哈希表;
哈希桶生成单元,用于根据所述哈希表,生成与每个键对应的哈希桶;
目标数据标识提取单元,用于提取所述对应的备份数据的目标数据标识;
匹配单元,用于当任一哈希桶的键与所述目标数据标识相匹配时,将键与所述目标数据标识相匹配的哈希桶中的操作记录作为所述对应的备份数据在备份期间的操作记录。
在本说明书实施例中,上述的数据回档装置还可以包括:
数据备份模块,用于响应于数据备份指令,对待备份数据库中的多个数据进行数据备份,得到备份数据包;
位置获取模块,用于获取所述备份数据包中的多个备份数据的位置信息;
索引文件生成模块,用于基于所述备份数据包中的多个备份数据的位置信息,生成与所述备份数据包对应的索引文件;
数据包发送模块,用于将所述备份数据包,以及所述与所述备份数据包对应的索引文件发送到所述服务器。
在本说明书实施例中,上述的目标索引文件还包括所述目标操作日志的位置信息,上述的数据回档装置还可以包括:
日志位置提取模块,用于在接收所述服务器发送的目标操作日志之前,从所述目标索引文件中提取所述目标操作日志的位置信息;
日志数据获取模块,用于向所述服务器发送日志数据获取指令,所述日志数据获取指令携带有所述目标操作日志的位置信息,以使所述服务器基于所述目标操作日志的位置信息,从所述目标备份数据包中获取所述目标操作日志。
在本说明书实施例中,上述的数据回档装置还可以包括:
临时实例创建模块,用于基于所述目标数据的回档数据创建临时实例;
数据导入模块,用于将所述临时实例中的所述目标数据的回档数据导入目标实例;
准确性检测模块,用于基于所述目标实例中的所述目标数据和所述目标数据的回档数据进行回档准确性检测;
数据更新模块,用于当回档准确性检测通过时,基于所述目标数据的回档数据更新所述目标实例中的所述目标数据。
本申请实施例还提供了另一种数据回档装置,如图10所示,所述装置可以包括:
回档指令接收模块1010,用于接收客户端发送的目标数据的回档指令,所述目标数据的回档指令携带有回档需求信息;
索引文件确定模块1020,用于基于所述回档需求信息确定目标索引文件,所述目标索引文件包括目标备份数据包中的多个备份数据的位置信息;
索引文件发送模块1030,用于向所述客户端发送所述目标索引文件,以使所述客户端从所述目标索引文件中提取所述目标数据对应的备份数据的目标位置信息;
数据获取指令接收模块1040,用于接收所述客户端发送的备份数据获取指令,所述备份数据获取指令携带有所述目标位置信息;
备份数据获取模块1050,用于基于所述目标位置信息,从所述目标备份数据包中获取所述对应的备份数据;
数据发送模块1060,用于向所述客户端发送所述对应的备份数据和目标操作日志,所述目标操作日志表征所述多个备份数据在备份期间的操作信息;以使所述客户端基于所述目标操作日志对所述对应的备份数据进行操作回放,得到所述目标数据的回档数据。
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的数据回档方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行,即上述计算机设备可以包括移动终端、计算机终端、服务器或者类似的运算装置。其中,上述的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。以运行在客户端上为例,图11是本申请实施例提供的一种客户端的结构示意图,如图11所示,该客户端可以用于实施上述实施例中提供的数据回档方法。具体来讲:
上述客户端可以包括RF(Radio Frequency,射频)电路1110、包括有一个或一个以上计算机可读存储介质的存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、WiFi(wireless fidelity,无线保真)模块1170、包括有一个或者一个以上处理核心的处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11中示出的客户端结构并不构成对客户端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路1110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1180处理;另外,将涉及上行的数据发送给基站。通常,RF电路1110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路1110还可以通过无线通信与网络和其他客户端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommunication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述客户端的使用所创建的数据等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1120还可以包括存储器控制器,以提供处理器1180和输入单元1130对存储器1120的访问。
输入单元1130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1130可包括触敏表面1131以及其他输入设备1132。触敏表面1131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1131上或在触敏表面1131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1131。除了触敏表面1131,输入单元1130还可以包括其他输入设备1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1140可用于显示由用户输入的信息或提供给用户的信息以及所述客户端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1140可包括显示面板1141,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1141。进一步的,触敏表面1131可覆盖显示面板1141,当触敏表面1131检测到在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180根据触摸事件的类型在显示面板1141上提供相应的视觉输出。其中,触敏表面1131与显示面板1141可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触敏表面1131与显示面板1141集成而实现输入和输出功能。
所述客户端还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。
音频电路1160、扬声器1161,传声器1162可提供用户与所述客户端之间的音频接口。
WiFi属于短距离无线传输技术,所述客户端通过WiFi模块1170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块1170,但是可以理解的是,其并不属于上述客户端的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器1180是所述客户端的控制中心,利用各种接口和线路连接整个客户端的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行所述客户端的各种功能和处理数据,从而对客户端进行整体监控。可选的,处理器1180可包括一个或多个处理核心;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
所述客户端还包括给各个部件供电的电源1190(比如电池),优选的,电源可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,上述客户端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,客户端的显示单元是触摸屏显示器,客户端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行本申请中方法实施例中的指令。
本申请的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种数据回档方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的数据回档方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
由上述本申请提供的数据回档方法、装置、设备或存储介质或计算机程序的实施例可见,本申请中通过服务器基于回档需求信息确定目标索引文件并发送到客户端,且该目标索引文件包括目标备份数据包中的多个备份数据的位置信息;从而客户端能够从该目标索引文件中提取上述目标数据对应的备份数据的目标位置信息,进而向服务器发送备份数据获取指令,使得服务器能够从上述的目标备份数据包中获取上述对应的备份数据并发送给客户端,无需下载或导入整个备份数据包,避免不必要的数据导入和资源占用,此外,服务器还可以向客户端发送目标操作日志,该目标操作日志表征上述多个备份数据在备份期间的操作信息;最后,客户端能够基于该目标操作日志对上述对应的备份数据进行操作回放,准确得到上述目标数据的回档数据,提升数据回档的效率和灵活性。通过建立哈希表和哈希桶进行数据查找,有利于提升记录查找筛选的速度,且能够有效解决哈希冲突,进而提升数据回档的效率和可靠性。通过客户端将回档数据导入目标实例时基于该目标实例中的上述目标数据和上述目标数据的回档数据进行回档准确性检测,有利于提升数据回档的可靠性。通过在生成备份数据包时根据备份数据包中的多个备份数据的位置信息预先生成索引文件,进而后续在进行数据回档时仅需先下载该索引文件,确定需要回档的数据在备份数据包中的位置信息,从而能够准确快速地从备份数据包中获取需要的数据,无需下载整个全量备份文件,减少资源占用,提升数据回档的效率和灵活性。且客户端备份结束后将备份数据发到服务器进行保存,有利于减少客户端本地空间占用,提升客户端的性能。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。