CN106547646A - 一种数据备份及恢复方法、数据备份及恢复装置 - Google Patents
一种数据备份及恢复方法、数据备份及恢复装置 Download PDFInfo
- Publication number
- CN106547646A CN106547646A CN201510612288.2A CN201510612288A CN106547646A CN 106547646 A CN106547646 A CN 106547646A CN 201510612288 A CN201510612288 A CN 201510612288A CN 106547646 A CN106547646 A CN 106547646A
- Authority
- CN
- China
- Prior art keywords
- data
- backup
- identification code
- user identification
- name
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据备份及恢复方法、数据备份及恢复装置。其中所述数据备份方法包括:获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据;以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录;存储所述备份数据记录。
Description
技术领域
本申请涉及互联网领域,尤其涉及一种数据备份及恢复方法、数据备份及恢复装置。
背景技术
在大数据时代,随着各种数据的快速积累,对数据的有效搜集、存储和利用已经成为互联网企业获取商业优势的重要环节。
对大数据的利用存在多种形式,其中一种主要的需求是将持有某一类数据的不同数据拥有者所掌握的信息搜集并存储起来,将存储的信息以实时共享的方式提供给上层应用的不同数据使用方。
例如,在物流仓储领域,随着个人消费者对快递使用越来越频繁,以及贸易种类及地域范围的扩大化,衍生了越来越多的物流公司来提供相应的物流服务。这些物流公司往往面对的用户量量级庞大,快递订单数量和种类繁多,物流线路覆盖的地理范围广,且物流线路和报价也越来越细致。因此各物流公司需要存储的物流分拨数据和仓储数据的数量非常之大,且如此多的数据通常还需要频繁的刷新。同时,在互联网高速发展的今天,对于个人消费者或其它享受物流服务的客户来说,他们通常会通过不同的互联网业务来选择或使用不同的物流公司。因此,物流仓储数据的使用者不仅包括消费者和客户,还包括各种基于互联网进行的业务。
由此,将这些物流公司所拥有的大量数据进行整合,并将整合后的数据以实时共享的方式提供给上层应用的不同数据使用方使用是非常有必要的。大量的数据通常保存在数据库集群中,这些数据分布在数据库集群里的不同的数据库和不同的表中。由不同的物流公司作为物流合作伙伴租用该数据库集群,从而提供一套开放、共享的,包含物流分拨数据及仓储数据的数据库系统。
此类数据库系统的一个重要特点是,数据量大、具有多个用户,每个用户既拥有独立的数据制定权利和独立的数据来源,同时各个用户持有的数据又需提供给相同的数据使用方,即数据库系统需要具有良好的扩展接入新用户的能力,且所提供的数据需要频繁刷新,具有一定的时效性。由此,既需要各个用户对数据能进行独立维护,又要将各用户的数据整合并分布在不同的数据库和表中,并且需要保证数据的准确性和时效性。但是,由于用户的能力千差万别,以及数据库系统具备一定的复杂性,某些用户常常把该用户的数据修改错了,这将导致该用户的数据所承载的业务受到影响,因此对于此类数据库系统而言,数据备份和恢复是非常重要的。传统的数据备份和恢复方法,只能针对某个数据库,在某个时间点进行数据库级别的恢复。这将导致因为某个用户的修改错误或配置错误,使数据库中其它用户的数据一起被恢复,继而影响其它用户的数据所承载的业务。另外,由于数据量非常大,对所有数据进行数据库级别的恢复有时需要备份数据库的相关操作日志,其所需要的存储介质成本和时间成本是不可接受的。因此,在这种基于大数据且又要保证快速备份和恢复的背景下,传统的数据备份和恢复方法,会有以下问题:
1、基于数据库级别的恢复会覆盖数据库中其它用户在被恢复时间点之后的全部更新,继而影响其它用户的数据所承载的业务,因此基于数据库级别的恢复在业务上不可接受。
2、操作复杂。基于数据库级别的恢复需要将涉及到待恢复数据的所有数据库进行恢复,涉及到的用户多,需要通知所有用户进行相应的数据核对及处理,对数据维护人员的能力要求高。
3、存储介质成本不可接受。每个用户更新数据库的频率不同,例如,若以数据库级别进行恢复,则每次更新前都需要备份数据库中的所有数据,或者是备份数据库中的相关操作日志,因此传统数据库备份和恢复方法所需要的存储介质成本是难以承受的。
4、时间成本不可接受。数据库中的信息往往具有时效性,需要快速恢复到最近时间点的正确数据。例如,一个物流分拨信息涉及多个环节,需要实时监测从打包、称重、运输、转运、配送、签收等环节,若中间涉及到收发货物双方的资金结算金额和时间,则必须确保信息的准确和及时反馈,使收发货物双方对货物进行全程透明化跟踪,从而避免因各环节的信息错误导致纠纷。而传统的数据备份和恢复方法,由于所需存储的备份数据量大,或所需存储的数据库操作日志量大,相应的也增加了备份和恢复数据过程中处理数据所需的相关物流设备资源的需求,导致备份和恢复所需的时间长,进而影响了数据的时效性,使数据库长时间不可用;同时对资源的占用还牺牲了集群的性能。
发明内容
本申请提供一种数据备份方法、恢复方法、备份装置和恢复装置,以解决现有的基于大数据背景下数据备份方法、恢复方法基于数据库级别的恢复在业务上不可接受、操作复杂、存储介质成本不可接受、时间成本不可接受的问题。
为解决上述技术问题,本申请提供的数据备份方法,包括:
获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据;
以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录;
存储所述备份数据记录。
优选的,所述将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录,具体是指将已获取的所述待备份数据的用户标识码、各所述属性名以及各所述属性值对应并生成与所述各数据库中各表的表结构无关的数据形式,由此得到所述备份数据记录。
优选的,所述将已获取的所述待备份数据的用户标识码、各所述属性名以及各所述属性值对应并生成与所述各数据库中各表的表结构无关的数据形式,由此得到所述备份数据记录,其具体步骤包括:
将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接;其中,所述属性名和其对应的所述属性值在拼接时,二者之间以特殊符号进行分隔,且该所述属性名和其对应的所述属性值拼接完成后,与下一个所述属性名或下一个所述属性值之间以另一种特殊符号进行分隔,以便进行拼接;
将拼接后的字符与所述待备份数据的用户标识码建立对应关系;
将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录。
优选的,所述将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接,是指将已获取的各所述属性名以及各所述属性值,以该些属性值所属的所述数据库中的单个表为单位,按对应关系进行字符拼接;相应的,在所述将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录的步骤中,所述拼接后的字符是指所述单个表中,由与所述用户标识码对应的各所述属性名以及各所述属性值进行拼接得到的字符,即所述单个表对应所述用户下的单条所述备份数据记录。
优选的,各所述数据备份记录与其所属的所述数据库地址信息和/或所述数据库库名建立对应关系,且与其所属的所述表的表名建立对应关系。
可选的,所述数据备份方法应用于储存有物流仓储信息的数据库系统,所述用户具体是指租用所述储存有物流仓储信息的数据库系统的物流合作伙伴;
其中,所述储存有物流仓储信息的数据库系统可以是具有单个或多个数据库的非集群系统,也可以是一个具有数据库集群的系统,该数据库系统用于将其储存的物流仓储信息以实时共享的方式提供给上层应用的不同数据使用方。
可选的,所述获取待备份数据所属用户的用户标识码,包括:
接收来自前端管理操作入口的对应特定物流合作伙伴的数据备份操作启动指令,所述数据备份操作启动指令包括对应所述物流合作伙伴的用户标识码;
从所述数据备份操作启动指令中解析出该数据备份操作启动指令对应的特定物流合作伙伴的用户标识码。
可选的,所述以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,具体是指以所述用户标识码为依据,通过可执行的数据库操作语句查询并获取与所述用户标识码对应的数据。
可选的,所述以所述用户标识码为依据,通过可执行的数据库操作语句查询并获取与所述用户标识码对应的数据,其具体步骤包括:
分别与所述待备份数据相关的各数据库建立连接;
以所述用户标识码为依据,使用所述可执行的数据库操作语句分别查询所述各数据库中的各表;
接收所述可执行的数据库操作语句的返回值,所述返回值即为与所述用户标识码对应的数据;其中,该些数据至少包括所述属性名,以及各所述属性名下对应所述用户标识码的属性值,并且该些数据以所述属性名对应所述属性值的形式返回。
相应的,本申请提供的数据恢复方法,包括:
获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据;
以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成;
将所述备份数据记录逐条解析并生成为可执行的数据库操作语句;
执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
优选的,所述预先备份的与所述用户标识码对应的备份数据,具体是通过以下步骤进行备份:
获取待备份数据所属用户的所述用户标识码;所述待备份数据即为所述待恢复数据;
以所述用户标识码为依据,从所述各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的所述备份数据记录;其中,所述数据备份记录具体是与所述各数据库中各表的表结构无关的数据形式,且每条所述数据备份记录对应所述数据库中的单个表;
存储所述备份数据记录,已存储的各所述备份数据记录即为与所述用户标识码对应的备份数据。
优选的,所述将所述备份数据记录逐条解析并生成为可执行的数据库操作语句,包括:
解析已获取的所述备份数据中的各所述备份数据记录,分别获取每个所述备份数据记录中包含的各所述属性名及所述属性名对应的属性值;
根据所述属性名及所述属性值,分别生成与各所述备份数据记录相应的可执行数据库操作语句;所述可执行数据库操作语句用于将各所述属性值按其所属的属性名插入并覆盖所述数据库中相应表的相应位置中。
可选的,所述执行所述数据库操作语句,将所述备份数据恢复至各所述数据库的所述各表中,包括:
分别与所述待恢复数据相关的各数据库建立连接;
执行所述可执行数据库操作语句,将所述备份数据中的各所述备份数据记录逐条恢复至所述各数据库的所述各表中。
可选的,所述数据恢复方法应用于储存有物流仓储信息的数据库系统,所述用户具体是指租用所述储存有物流仓储信息的数据库的物流合作伙伴;
其中,所述储存有物流仓储信息的数据库系统可以是具有单个或多个数据库的非集群系统,也可以是一个具有数据库集群的系统,该数据库系统用于将其储存的物流仓储信息以实时共享的方式提供给上层应用的不同数据使用方。
可选的,所述获取待恢复数据所属用户的用户标识码,包括:
接收来自前端管理操作入口的对应特定物流合作伙伴的数据恢复操作启动指令,所述数据恢复操作启动指令包括对应所述物流合作伙伴的用户标识码;
从所述数据恢复操作启动指令中解析出该数据恢复操作启动指令对应的特定物流合作伙伴的用户标识码。
相应的,本申请还提供一种数据备份装置,包括:
待备份数据对应用户标识码获取单元,用于获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据;
备份数据预获取单元,用于以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
备份数据获取单元,用于将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录;
备份数据存储单元,用于存储所述备份数据记录。
优选的,所述备份数据获取单元,用于将已获取的所述待备份数据的用户标识码、各所述属性名以及各所述属性值对应并生成与所述各数据库中各表的表结构无关的数据形式,由此得到所述备份数据记录。
优选的,所述备份数据获取单元包括:
字符拼接子单元,用于将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接;其中,所述属性名和其对应的所述属性值在拼接时,二者之间以特殊符号进行分隔,且该所述属性名和其对应的所述属性值拼接完成后,与下一个所述属性名或下一个所述属性值之间以另一种特殊符号进行分隔,以便进行拼接;
对应关系建立子单元,用于将拼接后的字符与所述待备份数据的用户标识码建立对应关系;
数据备份记录获取子单元,用于将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录。
优选的,所述字符拼接子单元,用于将已获取的各所述属性名以及各所述属性值,以该些属性值所属的所述数据库中的单个表为单位,按对应关系进行字符拼接;
相应的,所述数据备份记录获取子单元中的所述拼接后的字符,具体是指所述单个表中,由与所述用户标识码对应的各所述属性名以及各所述属性值进行拼接得到的字符,即所述单个表对应所述用户下的单条所述备份数据记录。
相应的,本申请还提供一种数据恢复装置,包括:
待恢复数据对应用户标识码获取单元,用于获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据;
备份数据获取单元,用于以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成;
备份数据解析处理单元,用于将所述备份数据记录逐条解析并生成为可执行的数据库操作语句;
数据恢复单元,用于执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
优选的,所述备份数据解析处理单元包括:
解析子单元,用于解析已获取的所述备份数据中的各所述备份数据记录,分别获取每个所述备份数据记录中包含的各所述属性名及所述属性名对应的属性值;
可执行数据库操作语句生成子单元,用于根据所述属性名及所述属性值,分别生成与各所述备份数据记录相应的可执行数据库操作语句;所述可执行数据库操作语句用于将各所述属性值按其所属的属性名插入并覆盖所述数据库中相应表的相应位置中。
相应的,本申请还提供一种电子设备,包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储数据备份装置和/或数据恢复装置,所述数据备份装置被所述处理器执行时,执行如下步骤:
获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据;
以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录;
存储所述备份数据记录;
所述数据恢复装置被所述处理器执行时,执行如下步骤:
获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据;
以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成;
将所述备份数据记录逐条解析并生成为可执行的数据库操作语句;
执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
本申请提供的数据备份方法,通过获取待备份数据所属用户的用户标识码,继而以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,并将已获取的所述待备份数据的用户标识码、所述用户标识码对应数据中的属性名以及属性值以预定格式生成为对应所述用户的备份数据记录,进而存储所述备份数据记录得到备份数据。相应的,本申请提供的数据恢复方法,通过获取待恢复数据所属用户的用户标识码,继而以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据,并将将所述备份数据记录逐条解析并生成为可执行的数据库操作语句,进而执行所述数据库操作语句,并将所述备份数据恢复至所述各数据库的所述各表中。所述数据备份方法和所述数据恢复方法,首先实现了以用户视角进行每个用户独立的数据的备份和恢复,使当前用户在进行数据恢复时不会影响其它用户的数据,进而不会影响其它用户的数据所承载的业务;其次,所述数据备份方法和所述数据恢复方法以备份数据记录的形式备份用户的数据,该备份数据记录采用与数据库中表的表结构解耦的数据形式,且能自动解析并生成可执行的数据库操作语句进行数据恢复,只需要获取用户的用户标识码就可以自动完成备份和恢复操作,同时只需本用户内部进行相关数据核对及处理,操作简单;再次,所述数据备份方法和所述数据恢复方法仅需要各用户在有数据刷新的时候备份各自的数据,且不需要额外存储数据库的操作日志等,降低了存储介质成本;最后,所述数据备份方法和所述数据恢复方法所需备份的数据量少,减少了对物理设备的性能要求,且利用可执行的数据库操作语句进行备份和恢复能够快速准确的完成对数据库的操作,节约了时间成本,保证了数据的时效性。
附图说明
图1是本申请第一实施例提供的数据备份方法的流程示意图。
图2是第一实施例中生成备份数据记录的具体步骤的具体实施方式的流程图。
图3是本申请第二实施例提供的数据恢复方法的流程示意图。
图4是第二实施例中将所述备份数据记录逐条解析为可执行的数据库操作语句的具体步骤的具体实施方式的流程图。
图5是本申请第三实施例提供的数据备份装置的示意图。
图6是本申请第四实施例提供的数据恢复装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,分别提供了一种数据备份方法、恢复方法、备份装置和恢复装置,在下面的实施例中逐一进行详细说明。本实施例假定用于对储存有物流仓储信息的数据库系统进行数据备份和数据恢复这一应用场景,以下说明主要结合此应用场景,同时兼顾其他应用场景的情况。
请参考图1,其为本申请第一实施例提供的数据备份方法的流程示意图。所述方法包括如下步骤:
步骤101:获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据。
在储存有物流仓储信息的数据库系统中,有许多不同的物流公司作为数据库系统的物流合作伙伴租用该数据库系统,成为该数据系统的不同用户,并将各自拥有的物流仓储信息储存到该数据库系统中。其中,所述储存有物流仓储信息的数据库系统可以是具有单个或多个数据库的非集群系统,也可以是一个具有数据库集群的系统,该数据库系统用于将其储存的物流仓储信息以实时共享的方式提供给上层应用的不同数据使用方。
在本实施例中,由于要储存的物流仓储信息数据量非常大,因此所述储存有物流仓储信息的数据库系统采用具有数据库集群的系统,该数据库系统具有多个数据库,每个数据库下设置不同的表,各个用户的数据分布在不同的数据库和不同的表中。该数据库系统为每一个用户分配一个用户标识码,该标识码是该用户唯一的数据存储代号,以数据库主键的形式存在,用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据,即由用户标识码来标识待备份数据。具体来说,在本实施例中将用户标识码在数据库中的属性名设置为CpCode,并且将CpCode的值设置为各物流公司编码,例如顺丰速运的CpCode值为SF,圆通速递的CpCode值为YTO,则由主键值SF约束的数据属于顺丰速运,由主键值YTO约束的数据属于圆通速递,由此实现由CpCode来标识特定用户下的所有数据,即由CpCode来标识待备份数据。
获取待备份数据所属用户的用户标识码的具体步骤包括:
步骤101-1:接收来自前端管理操作入口的对应特定物流合作伙伴的数据备份操作启动指令,所述数据备份操作启动指令包括对应所述物流合作伙伴的用户标识码。
步骤101-2:从所述数据备份操作启动指令中解析出该数据备份操作启动指令对应的特定物流合作伙伴的用户标识码。
在本实施例中,通过接收来自前端管理操作入口的对应特定物流合作伙伴的数据备份操作启动指令,来获取用户标识码并启动相应的数据备份。
所述数据备份操作启动指令,需包含对应所述物流合作伙伴的用户标识码以及相应的备份请求,这一数据备份操作启动指令可以针对具体的物流合作或伙伴预先设置,在需要进行数据备份时,简单的发送一个数据备份操作启动指令即可。更简便的方法,可以在前端管理操作入口设置对应特定物流合作伙伴的数据备份操作启动按钮,在特定物流合作伙伴触发该按钮时,发出相应的数据备份操作启动指令,实现一键备份。如此,对于某个物流合作伙伴来说,只需触发对应该物流合作伙伴的数据备份操作启动按钮,就能启动针对该物流合作伙伴的数据备份。上述一键备份的操作非常简单,几乎不需要专业的技能,降低了数据库维护人员的技能要求。
上述数据备份方法不仅能用于上述实施例中以不同物流合作伙伴作为数据库系统的不同用户,并以物流公司编码作为用户标识码的场景,对于相同的用户,也可以根据不同的业务或数据特征,为分属于不同业务或分属不同数据特征的数据分配唯一的标识码,从而将属于此类业务或属于此类数据特征的所有数据由相应的标识码进行标识,继而应用本申请所述的数据备份方法进行备份。
步骤102:以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值。
上述以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,具体是指以所述用户标识码为依据,通过可执行的数据库操作语句查询并获取与所述用户标识码对应的数据,具体步骤包括:
步骤102-1:分别与所述待备份数据相关的各数据库建立连接。
步骤102-2:以所述用户标识码为依据,使用所述可执行的数据库操作语句分别查询所述各数据库中的各表。
在本实施例中,可执行的数据库操作语句采用SQL语句,以所述用户标识码为查询条件,生成SQL查询语句,分别查询数据库系统中各数据库中的各表,且查询遍历所有表。该SQL查询语句应设置返回值,返回查询结果。
步骤102-3:接收所述可执行的数据库操作语句的返回值,所述返回值即为与所述用户标识码对应的数据;其中,该些数据至少包括所述属性名,以及各所述属性名下对应所述用户标识码的属性值,并且该些数据以所述属性名对应所述属性值的形式返回。
各个用户的数据可能会包含复杂的数据信息,通过建立不同的数据库和不同的表,且在每张表下设置不同的属性,以不同的属性反映不同方面的内容,将这些复杂的数据以一定规则对应各属性进行存储,并在各表间以一定规则关联各表中的数据,从而能够从数据库系统中查询到相应的完整数据。例如,在本实施例中,各个物流合作伙伴在数据库系统中存储数据的属性包括物流运单号、物流公司、物流节点信息、节点文案、操作时间、运单付款方式、运单金额等,其中物流运单号用于标识具体的快递件,该物流运单号的值由各物流合作伙伴内部根据各自的正则表达式计算出来的一串编码表示,如顺丰速运SF的正则表达式为以字母SF开头+5位数字(0~9)随机组成,那么“SF12345”就是符合顺丰速运运单生成规则的运单号,又如物流节点信息包括揽件、派件、签收等属性值。这些属性及相应的属性值分布在不同的数据库和不同的表中,各表之间由物流运单号或其他属性建立数据间的联系,且这些数据都由用户标识码来标识其所属的用户。
相应的,上述步骤中以所述用户标识码为依据,使用所述可执行的数据库操作语句分别查询所述各数据库中的各表,该查询操作应当返回该用户的所有数据,并且返回的数据应当能够体现出属性名与属性值的对应关系,以及各表数据间的联系,从而构成能体现该数据库系统所承载的具有实际意义的完整数据。在本实施例中,SQL查询语句的返回值至少应包括所述属性名,以及各所述属性名下对应所述用户标识码的属性值,并且该些数据以所述属性名对应所述属性值的形式返回。
步骤103:将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录。
上述步骤103具体是指将已获取的所述待备份数据的用户标识码、各所述属性名以及各所述属性值对应并生成与所述各数据库中各表的表结构无关的数据形式,由此得到所述备份数据记录,图2是生成备份数据记录的具体步骤的具体实施方式的流程图,该具体步骤包括:
步骤201:将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接;其中,所述属性名和其对应的所述属性值在拼接时,二者之间以特殊符号进行分隔,且该所述属性名和其对应的所述属性值拼接完成后,与下一个所述属性名或下一个所述属性值之间以另一种特殊符号进行分隔,以便进行拼接。
如步骤102所述,步骤102中的查询操作应当返回该用户的所有数据,并且返回的数据应当能够体现出属性名与属性值的对应关系,以及各表数据间的联系,从而构成能体现该数据库系统所承载的具有实际意义的完整数据,那么在所述数据备份操作中得到的备份数据也应当能够体现出上述对应关系,以及各表数据间的联系。在本实施例中,采用以表为单位生成备份数据记录的方法,具体包括:
步骤201-1:所述将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接,是指将已获取的各所述属性名以及各所述属性值,以该些属性值所属的所述数据库中的单个表为单位,按对应关系进行字符拼接;相应的,在所述将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录的步骤中,所述拼接后的字符是指所述单个表中,由与所述用户标识码对应的各所述属性名以及各所述属性值进行拼接得到的字符,即所述单个表对应所述用户下的单条所述备份数据记录。
具体来说,在查询操作中,采用以表为单位进行查询,数据库返回查询到该表中与该用户标识码对应的各条行记录信息,且该些行记录信息至少包括其所述表的属性名和属性值,并以属性名对应属性值的形式返回。相应的,在接收到返回值时,以表为单位将该查询该表的返回值中的各所述属性名以及各所述属性值,按对应关系进行拼接,拼接得到的字符以string对象的格式保存。
例如,在本实施例中,对于关于物流合作伙伴的资源数据表,属性名包括log_code、gmt_modified、lg_order_code、operator、id、content、gmt_create、is_deleted、operate_time、tms_order_code、service_code,若在该表中查找到该特定物流合作伙伴的两条行记录,则通过字符拼接得到如下字符串:
log_code```0~~~gmt_modified```2014-06-04 15:34:03.0~~~lg_order_code```LP00012008090012~~~operator```system~~~id```8~~~content```new~~~gmt_create```2014-06-04 15:34:03.0~~~is_deleted```N~~~operate_time```2014-06-0415:34:03.0~~~tms_order_code```DCPLP000120080900120000~~~service_code```DISTRIBUTOR_102002~~~log_code```0~~~gmt_modified```2014-06-08 16:34:03.0~~~lg_order_code```LP00012008090013~~~operator```system~~~id```8~~~content```new~~~gmt_create```2014-06-08 16:34:03.0~~~is_deleted```N~~~operate_time```2014-06-08 16:34:03.0~~~tms_order_code```DCPLP000120080900120000~~~service_code```DISTRIBUTOR_102002
其中,属性名和其对应的属性值在拼接时,二者之间以“```”符号进行分隔,该属性名和其对应的所述属性值拼接完成后,与下一个所述属性名或下一个所述属性值之间以“~~~”特殊符号进行分隔。
步骤201-2:各所述数据备份记录与其所属的所述数据库地址信息和/或所述数据库库名建立对应关系,且与其所属的所述表的表名建立对应关系。
由于在本实施例中采用以表为单位,将表中对应特定用户标识码的数据生成一条数据备份记录,相应的,上述对应关系可以采用多种可能的方式建立,以下提出两种可能的方法:
1)将与所述数据备份记录对应的所述数据库的地址信息和/或数据库名称信息,以及与所述数据备份记录对应的所述表的表名信息写入string对象中。
或,
2)在对string对象命名时,将所述数据库的地址信息和/或数据库名称信息,以及与所述数据备份记录对应的所述表的表名信息添加到string对象的名字中去。
步骤202:将拼接后的字符与所述待备份数据的用户标识码建立对应关系。
拼接后的字符,需与用户标识码建立对应关系,才能在数据恢复时恢复到正确的位置,而不影响其它用户。在本实施例中,采用在生成的string对象中,写入用户标识码的方法。
步骤203:将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录。
在本实施例中,生成的string对象包含上述对应关系,因此将string对象作为所述数据备份记录。
上述以表为单位生成备份数据记录,进而由各备份数据记录组成备份数据的方法,不仅实现了备份数据与数据库中具体表结构的解耦,而且对数据库的查询操作,以表为单位进行,不需要每次重复查找表的步骤,简化了操作,同时只需要简单的SQL语句就可以完成数据备份,SQL语句的处理速度较快,从而实现了快速及时的数据备份。
步骤104:存储所述备份数据记录。
将所述备份数据记录存储至文件系统中,从而得到该特定用户标识码对应的备份数据。保存成功后,返回备份成功消息。在本实施例中,文件系统采用云服务器,进一步提高数据备份的速度。
在上述的实施例中,提供了一种数据备份方法,与之相对应的,本申请还提供一种数据恢复方法。请参看图3,图3是本申请第二实施例提供的数据恢复方法的流程示意图。
步骤301:获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据。
本实施例的应用场景与本申请第一实施例的应用场景相同,在第一实施例中已详细介绍,具体描述参见第一实施例的相应部分,此处仅对用户标识码进行说明。所述用户标识码不仅用于标识第一实施例中所述的待备份数据,也用于标识本实施例中所述的待恢复数据。
获取待恢复数据所属用户的用户标识码的具体步骤包括:
步骤301-1:接收来自前端管理操作入口的对应特定物流合作伙伴的数据恢复操作启动指令,所述数据恢复操作启动指令包括对应所述物流合作伙伴的用户标识码。
步骤301-2:从所述数据恢复操作启动指令中解析出该数据恢复操作启动指令对应的特定物流合作伙伴的用户标识码。
在本实施例中,通过接收来自前端管理操作入口的对应特定物流合作伙伴的数据恢复操作启动指令,来获取用户标识码并启动相应的数据恢复。
所述数据恢复操作启动指令,需包含对应所述物流合作伙伴的用户标识码以及相应的恢复请求,具体可以在前端管理操作入口设置对应特定物流合作伙伴的数据恢复操作启动按钮,在特定物流合作伙伴触发该按钮时,发出相应的数据恢复操作启动指令,实现一键恢复。如此,对于某个物流合作伙伴来说,在遇到数据库配置错误或数据被修改错误等异常时,只需触发对应该物流合作伙伴的数据恢复操作启动按钮,就能启动针对该物流合作伙伴的数据恢复。上述一键恢复的操作非常简单,几乎不需要专业的技能,降低了数据库维护人员的技能要求。
上述数据恢复方法不仅能用于上述实施例中以不同物流合作伙伴作为数据库系统的不同用户,并以物流公司编码作为用户标识码的场景,对于相同的用户,也可以根据不同的业务或数据特征,为分属于不同业务或分属不同数据特征的数据分配唯一的标识码,从而将属于此类业务或属于此类数据特征的所有数据由相应的标识码进行标识,继而应用本申请所述的数据恢复方法进行恢复。
步骤302:以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成。
在进行数据恢复之前,需要预先备份与所述用户标识码对应的备份数据,详细的备份方法在本申请的第一实施例中已详细介绍,此处不再赘述,在本实施例中仅以其中一种优选的数据备份方法进行介绍:
步骤302-1:获取待备份数据所属用户的所述用户标识码;所述待备份数据即为所述待恢复数据。
步骤302-2:以所述用户标识码为依据,从所述各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值。
步骤302-3:将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的所述备份数据记录;其中,所述数据备份记录具体是与所述各数据库中各表的表结构无关的数据形式,且每条所述数据备份记录对应所述数据库中的单个表。
步骤302-4:存储所述备份数据记录,已存储的各所述备份数据记录即为与所述用户标识码对应的备份数据。
在本实施例中,所述备份数据记录以string对象的形式保存,数据库中的一个表对应一个string对象。
步骤303:将所述备份数据记录逐条解析为可执行的数据库操作语句。
图4为将所述备份数据记录逐条解析为可执行的数据库操作语句的具体步骤的具体实施方式的流程图,该具体步骤包括:
步骤401:解析已获取的所述备份数据中的各所述备份数据记录,分别获取每个所述备份数据记录中包含的各所述属性名及所述属性名对应的属性值;
步骤402:根据所述属性名及所述属性值,分别生成与各所述备份数据记录相应的可执行数据库操作语句;所述可执行数据库操作语句用于将各所述属性值按其所属的属性名插入并覆盖所述数据库中相应表的相应位置中。
具体来说,在本实施例中,可执行的数据库操作语句采用SQL语句,根据所述属性名及所述属性值,分别生成与各所述备份数据记录相应的SQL语句,将各所述备份数据记录中的各属性值按其所属的属性名插入并覆盖所述数据库中相应表的相应位置中。
例如,在步骤302中获取到的其中一条备份数据记录,即获取到的一个string对象的值为:
Mysql```cainiao_res@10.101.73.175:3336~~~log_code```0~~~gmt_modified```2014-06-0415:34:03.0~~~lg_order_code```LP00012008090012~~~operator```system~~~id```8~~~content```new~~~gmt_create```2014-06-0415:34:03.0~~~is_deleted```N~~~operate_time```2014-06-04 15:34:03.0~~~tms_order_code```DCPLP000120080900120000~~~service_code```DISTRIBUTOR_102002~~~log_code```0~~~gmt_modified```2014-06-08 16:34:03.0~~~lg_order_code```LP00012008090013~~~operator```system~~~id```8~~~content```new~~~gmt_create```2014-06-08 16:34:03.0~~~is_deleted```N~~~operate_time```2014-06-0816:34:03.0~~~tms_order_code```DCPLP000120080900120000~~~service_code```DISTRIBUTOR_102002
则解析上述string对象的值,并执行如下步骤生成相应的SQL语句:
步骤402-1:根据string对象中的数据库地址名字和地址信息生成数据库连接SQL语句。
例如,从上述string对象中获取数据库的核心连接信息:cainiao_res@10.101.73.175:3336,由此获得数据库ip为10.101.73.175,数据库端口为3336,数据库名称为cainiao_res,并生成数据库连接SQL语句:
New SqlConnection(“Server=10.101.73.175;database=cainiao_res”);
步骤402-2:解析成多条写数据库的SQL语句。
例如:
INSERT INTO cndcp_tms_order(
log_code,gmt_modified,lg_order_code,operator,id,content,gmt_create,is_deleted,operate_time,tms_order_code,service_code,log_code,gmt_modified,lg_order_code,operator,id,content,gmt_create,is_deleted,operate_time,tms_order_code,service_code
)
VALUES(
0,2014-06-0415:34:03.0,LP00012008090012,system,8,new,2014-06-0415:34:03.0,N,2014-06-0415:34:03.0,DCPLP000120080900120000,DISTRIBUTOR_102002,0,2014-06-0816:34:03.0,LP00012008090013,system,8,new,2014-06-0816:34:03.0,N,2014-06-0816:34:03.0,DCPLP000120080900120000,DISTRIBUTOR_102002
);
步骤304:执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
上述步骤具体包括:
步骤304-1:分别与所述待恢复数据相关的各数据库建立连接。
在本实施例中,具体是执行步骤303中的数据库连接SQL语句,并根据string对象中的数据库地址名字和地址信息判断数据库是否正确连接。
若返回与string对象中的数据库地址名字和地址信息一致的消息,则表明连接正确。若当物理数据库ip或者端口发生变化的时候,则会发生连接失败的情况,此时,返回提示数据库连接超时的消息,或返回找不到对应的ip和端口的消息,由此通知用户数据库连接异常。
例如数据库正确连接时返回如下消息:
cainiao_res@10.101.73.175:3336【mysql】
步骤304-2:执行所述可执行数据库操作语句,将所述备份数据中的各所述备份数据记录逐条恢复至所述各数据库的所述各表中。
在本实施例中,具体是执行上述写数据库的SQL语句,将所述备份数据中的各所述备份数据记录逐条恢复至所述各数据库的所述各表中。恢复完成后,返回恢复完成消息。
在上述的实施例中,提供了一种数据备份和数据恢复方法,与之相对应的,本申请还提供一种数据备份和数据恢复装置。
请参看图5,其为申请第三实施例提供的数据备份装置的示意图。由于装置实施例基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种数据备份装置,包括:待备份数据对应用户标识码获取单元5-1、备份数据预获取单元5-2、备份数据获取单元5-3、备份数据存储单元5-4。
上述待备份数据对应用户标识码获取单元5-1,用于获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据。
上述备份数据预获取单元5-2,用于以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值。
上述备份数据获取单元5-3,用于将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录。其中,将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录具体是指将已获取的所述待备份数据的用户标识码、各所述属性名以及各所述属性值对应并生成与所述各数据库中各表的表结构无关的数据形式,由此得到所述备份数据记录。
上述备份数据获取单元5-3又包括:字符拼接子单元5-3-1、对应关系建立子单元5-3-2、数据备份记录获取子单元5-3-3。
字符拼接子单元5-3-1,用于将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接;其中,所述属性名和其对应的所述属性值在拼接时,二者之间以特殊符号进行分隔,且该所述属性名和其对应的所述属性值拼接完成后,与下一个所述属性名或下一个所述属性值之间以另一种特殊符号进行分隔,以便进行拼接。
对应关系建立子单元5-3-2,用于将拼接后的字符与所述待备份数据的用户标识码建立对应关系。
数据备份记录获取子单元5-3-3,用于将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录。
优选的,在上述备份数据获取单元5-3中,所述字符拼接子单元,用于将已获取的各所述属性名以及各所述属性值,以该些属性值所属的所述数据库中的单个表为单位,按对应关系进行字符拼接;相应的,所述数据备份记录获取子单元中的所述拼接后的字符,具体是指所述单个表中,由与所述用户标识码对应的各所述属性名以及各所述属性值进行拼接得到的字符,即所述单个表对应所述用户下的单条所述备份数据记录。
上述备份数据存储单元5-4,用于存储所述备份数据记录。
请参看图6,其为申请第四实施例提供的数据恢复装置的示意图。由于装置实施例基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种数据备份装置,包括:待恢复数据对应用户标识码获取单元6-1、备份数据获取单元6-2、备份数据解析处理单元6-3、数据恢复单元6-4。
上述待恢复数据对应用户标识码获取单元6-1,用于获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据。
上述备份数据获取单元6-2,用于以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成。
上述备份数据解析处理单元6-3,用于将所述备份数据记录逐条解析并生成为可执行的数据库操作语句。
上述备份数据解析处理单元6-3又包括:解析子单元6-3-1,以及可执行数据库操作语句生成子单元6-3-2.
解析子单元6-3-1,用于解析已获取的所述备份数据中的各所述备份数据记录,分别获取每个所述备份数据记录中包含的各所述属性名及所述属性名对应的属性值;
可执行数据库操作语句生成子单元6-3-2,用于根据所述属性名及所述属性值,分别生成与各所述备份数据记录相应的可执行数据库操作语句;所述可执行数据库操作语句用于将各所述属性值按其所属的属性名插入并覆盖所述数据库中相应表的相应位置中。
上述数据恢复单元6-4,用于执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
上述分别提供了一种数据备份方法、数据恢复方法和相应装置的实施例,相应的,本申请还提供一种电子设备,该电子设备包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储数据备份装置和/或数据恢复装置,所述数据备份装置被所述处理器执行时,执行如下步骤:
获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据;
以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录;
存储所述备份数据记录;
所述数据恢复装置被所述处理器执行时,执行如下步骤:
获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据;
以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成;
将所述备份数据记录逐条解析并生成为可执行的数据库操作语句;
执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (22)
1.一种数据备份方法,其特征在于,所述数据备份方法包括:
获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据;
以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录;
存储所述备份数据记录。
2.根据权利要求1所述的备份方法,其特征在于,所述将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录,具体是指将已获取的所述待备份数据的用户标识码、各所述属性名以及各所述属性值对应并生成与所述各数据库中各表的表结构无关的数据形式,由此得到所述备份数据记录。
3.根据权利要求2所述的备份方法,其特征在于,所述将已获取的所述待备份数据的用户标识码、各所述属性名以及各所述属性值对应并生成与所述各数据库中各表的表结构无关的数据形式,由此得到所述备份数据记录,其具体步骤包括:
将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接;其中,所述属性名和其对应的所述属性值在拼接时,二者之间以特殊符号进行分隔,且该所述属性名和其对应的所述属性值拼接完成后,与下一个所述属性名或下一个所述属性值之间以另一种特殊符号进行分隔,以便进行拼接;
将拼接后的字符与所述待备份数据的用户标识码建立对应关系;
将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录。
4.根据权利要求3所述的备份方法,其特征在于,所述将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接,是指将已获取的各所述属性名以及各所述属性值,以该些属性值所属的所述数据库中的单个表为单位,按对应关系进行字符拼接;相应的,在所述将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录的步骤中,所述拼接后的字符是指所述单个表中,由与所述用户标识码对应的各所述属性名以及各所述属性值进行拼接得到的字符,即所述单个表对应所述用户下的单条所述备份数据记录。
5.根据权利要求4所述的备份方法,其特征在于,各所述数据备份记录与其所属的所述数据库地址信息和/或所述数据库库名建立对应关系,且与其所属的所述表的表名建立对应关系。
6.根据权利要求1所述的备份方法,其特征在于,所述数据备份方法应用于储存有物流仓储信息的数据库系统,所述用户具体是指租用所述储存有物流仓储信息的数据库系统的物流合作伙伴;
其中,所述储存有物流仓储信息的数据库系统可以是具有单个或多个数据库的非集群系统,也可以是一个具有数据库集群的系统,该数据库系统用于将其储存的物流仓储信息以实时共享的方式提供给上层应用的不同数据使用方。
7.根据权利要求6所述的备份方法,其特征在于,所述获取待备份数据所属用户的用户标识码,包括:
接收来自前端管理操作入口的对应特定物流合作伙伴的数据备份操作启动指令,所述数据备份操作启动指令包括对应所述物流合作伙伴的用户标识码;
从所述数据备份操作启动指令中解析出该数据备份操作启动指令对应的特定物流合作伙伴的用户标识码。
8.根据权利要求6所述的备份方法,其特征在于,所述以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,具体是指以所述用户标识码为依据,通过可执行的数据库操作语句查询并获取与所述用户标识码对应的数据。
9.根据权利要求8所述的备份方法,其特征在于,所述以所述用户标识码为依据,通过可执行的数据库操作语句查询并获取与所述用户标识码对应的数据,其具体步骤包括:
分别与所述待备份数据相关的各数据库建立连接;
以所述用户标识码为依据,使用所述可执行的数据库操作语句分别查询所述各数据库中的各表;
接收所述可执行的数据库操作语句的返回值,所述返回值即为与所述用户标识码对应的数据;其中,该些数据至少包括所述属性名,以及各所述属性名下对应所述用户标识码的属性值,并且该些数据以所述属性名对应所述属性值的形式返回。
10.一种数据恢复方法,其特征在于,所述数据恢复方法包括:
获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据;
以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成;
将所述备份数据记录逐条解析并生成为可执行的数据库操作语句;
执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
11.根据权利要求10所述的恢复方法,其特征在于,所述预先备份的与所述用户标识码对应的备份数据,具体是通过以下步骤进行备份:
获取待备份数据所属用户的所述用户标识码;所述待备份数据即为所述待恢复数据;
以所述用户标识码为依据,从所述各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的所述备份数据记录;其中,所述数据备份记录具体是与所述各数据库中各表的表结构无关的数据形式,且每条所述数据备份记录对应所述数据库中的单个表;
存储所述备份数据记录,已存储的各所述备份数据记录即为与所述用户标识码对应的备份数据。
12.根据权利要求11所述的恢复方法,其特征在于,所述将所述备份数据记录逐条解析并生成为可执行的数据库操作语句,包括:
解析已获取的所述备份数据中的各所述备份数据记录,分别获取每个所述备份数据记录中包含的各所述属性名及所述属性名对应的属性值;
根据所述属性名及所述属性值,分别生成与各所述备份数据记录相应的可执行数据库操作语句;所述可执行数据库操作语句用于将各所述属性值按其所属的属性名插入并覆盖所述数据库中相应表的相应位置中。
13.根据权利要求12所述的恢复方法,其特征在于,所述执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中,包括:
分别与所述待恢复数据相关的各数据库建立连接;
执行所述可执行数据库操作语句,将所述备份数据中的各所述备份数据记录逐条恢复至所述各数据库的所述各表中。
14.根据权利要求10所述的恢复方法,其特征在于,所述数据恢复方法应用于储存有物流仓储信息的数据库系统,所述用户具体是指租用所述储存有物流仓储信息的数据库的物流合作伙伴;
其中,所述储存有物流仓储信息的数据库系统可以是具有单个或多个数据库的非集群系统,也可以是一个具有数据库集群的系统,该数据库系统用于将其储存的物流仓储信息以实时共享的方式提供给上层应用的不同数据使用方。
15.根据权利要求14所述的恢复方法,其特征在于,所述获取待恢复数据所属用户的用户标识码,包括:
接收来自前端管理操作入口的对应特定物流合作伙伴的数据恢复操作启动指令,所述数据恢复操作启动指令包括对应所述物流合作伙伴的用户标识码;
从所述数据恢复操作启动指令中解析出该数据恢复操作启动指令对应的特定物流合作伙伴的用户标识码。
16.一种数据备份装置,其特征在于,包括:
待备份数据对应用户标识码获取单元,用于获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据;
备份数据预获取单元,用于以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
备份数据获取单元,用于将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录;
备份数据存储单元,用于存储所述备份数据记录。
17.根据权利要求16所述的备份装置,其特征在于,所述备份数据获取单元,用于将已获取的所述待备份数据的用户标识码、各所述属性名以及各所述属性值对应并生成与所述各数据库中各表的表结构无关的数据形式,由此得到所述备份数据记录。
18.根据权利要求17所述的备份装置,其特征在于,所述备份数据获取单元包括:
字符拼接子单元,用于将已获取的各所述属性名以及各所述属性值按对应关系进行字符拼接;其中,所述属性名和其对应的所述属性值在拼接时,二者之间以特殊符号进行分隔,且该所述属性名和其对应的所述属性值拼接完成后,与下一个所述属性名或下一个所述属性值之间以另一种特殊符号进行分隔,以便进行拼接;
对应关系建立子单元,用于将拼接后的字符与所述待备份数据的用户标识码建立对应关系;
数据备份记录获取子单元,用于将所述拼接后的字符,及已建立的所述对应关系作为所述数据备份记录。
19.根据权利要求18所述的备份装置,其特征在于,所述字符拼接子单元,用于将已获取的各所述属性名以及各所述属性值,以该些属性值所属的所述数据库中的单个表为单位,按对应关系进行字符拼接;
相应的,所述数据备份记录获取子单元中的所述拼接后的字符,具体是指所述单个表中,由与所述用户标识码对应的各所述属性名以及各所述属性值进行拼接得到的字符,即所述单个表对应所述用户下的单条所述备份数据记录。
20.一种数据恢复装置,其特征在于,包括:
待恢复数据对应用户标识码获取单元,用于获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据;
备份数据获取单元,用于以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成;
备份数据解析处理单元,用于将所述备份数据记录逐条解析并生成为可执行的数据库操作语句;
数据恢复单元,用于执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
21.根据权利要求20所述的恢复装置,其特征在于,所述备份数据解析处理单元包括:
解析子单元,用于解析已获取的所述备份数据中的各所述备份数据记录,分别获取每个所述备份数据记录中包含的各所述属性名及所述属性名对应的属性值;
可执行数据库操作语句生成子单元,用于根据所述属性名及所述属性值,分别生成与各所述备份数据记录相应的可执行数据库操作语句;所述可执行数据库操作语句用于将各所述属性值按其所属的属性名插入并覆盖所述数据库中相应表的相应位置中。
22.一种电子设备,其特征在于,包括:
显示器;
处理器;以及
存储器,所述存储器被配置成存储数据备份装置和/或数据恢复装置,所述数据备份装置被所述处理器执行时,执行如下步骤:
获取待备份数据所属用户的用户标识码;所述用户标识码用于在与所述待备份数据相关的各数据库中标识属于该用户的所有数据;
以所述用户标识码为依据,从所述与所述待备份数据相关的各数据库中获取与所述用户标识码对应的数据,这些数据包括属性名,以及各个属性名下对应所述用户标识码的属性值;
将已获取的所述待备份数据的用户标识码、属性名以及属性值以预定格式生成为对应所述用户的备份数据记录;
存储所述备份数据记录;
所述数据恢复装置被所述处理器执行时,执行如下步骤:
获取待恢复数据所属用户的用户标识码;所述用户标识码用于在与所述待恢复数据相关的各数据库中标识该用户下的所有数据;
以所述用户标识码为依据,获取预先备份的与所述用户标识码对应的备份数据;所述备份数据由与所述各数据库中各表的表结构无关的备份数据记录构成;
将所述备份数据记录逐条解析并生成为可执行的数据库操作语句;
执行所述数据库操作语句,将所述备份数据恢复至所述各数据库的所述各表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510612288.2A CN106547646B (zh) | 2015-09-23 | 2015-09-23 | 一种数据备份及恢复方法、数据备份及恢复装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510612288.2A CN106547646B (zh) | 2015-09-23 | 2015-09-23 | 一种数据备份及恢复方法、数据备份及恢复装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106547646A true CN106547646A (zh) | 2017-03-29 |
CN106547646B CN106547646B (zh) | 2020-06-16 |
Family
ID=58365496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510612288.2A Active CN106547646B (zh) | 2015-09-23 | 2015-09-23 | 一种数据备份及恢复方法、数据备份及恢复装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547646B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329852A (zh) * | 2017-06-09 | 2017-11-07 | 广州虎牙信息科技有限公司 | 基于Hive的数据处理的方法、系统及终端设备 |
CN109117312A (zh) * | 2018-08-23 | 2019-01-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN109902027A (zh) * | 2019-03-29 | 2019-06-18 | 梁俊杰 | 一种便于实施的tpc-ds测试方法以及系统 |
CN110888760A (zh) * | 2019-11-26 | 2020-03-17 | 中国工商银行股份有限公司 | 数据恢复方法和装置、以及数据处理方法和装置 |
CN112948181A (zh) * | 2021-03-22 | 2021-06-11 | 深圳闪回科技有限公司 | 一套数据修改备份恢复系统 |
CN113544726A (zh) * | 2019-03-11 | 2021-10-22 | 株式会社博报堂Dy控股集团 | 中介装置、系统以及计算机程序 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2852573Y (zh) * | 2005-11-30 | 2006-12-27 | 中兴通讯股份有限公司 | 具有信息备份功能的移动终端 |
CN1889742A (zh) * | 2005-06-30 | 2007-01-03 | 华为技术有限公司 | 基于设备管理的数据共享方法及其数据备份恢复方法 |
CN102063491A (zh) * | 2010-12-30 | 2011-05-18 | 浪潮集团山东通用软件有限公司 | 可实现跨不同类型数据库数据备份恢复的数据结构和实现方法 |
CN102622285A (zh) * | 2012-02-22 | 2012-08-01 | 浪潮(北京)电子信息产业有限公司 | 一种实现数据存储备份还原的系统及方法 |
EP2530618A1 (en) * | 2011-06-01 | 2012-12-05 | DSwiss AG | Sign-On system with distributed access |
CN103546435A (zh) * | 2012-07-13 | 2014-01-29 | 中兴通讯股份有限公司 | 数据的同步方法及服务器 |
CN104699718A (zh) * | 2013-12-10 | 2015-06-10 | 阿里巴巴集团控股有限公司 | 用于快速引入业务数据的方法和装置 |
-
2015
- 2015-09-23 CN CN201510612288.2A patent/CN106547646B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889742A (zh) * | 2005-06-30 | 2007-01-03 | 华为技术有限公司 | 基于设备管理的数据共享方法及其数据备份恢复方法 |
CN2852573Y (zh) * | 2005-11-30 | 2006-12-27 | 中兴通讯股份有限公司 | 具有信息备份功能的移动终端 |
CN102063491A (zh) * | 2010-12-30 | 2011-05-18 | 浪潮集团山东通用软件有限公司 | 可实现跨不同类型数据库数据备份恢复的数据结构和实现方法 |
EP2530618A1 (en) * | 2011-06-01 | 2012-12-05 | DSwiss AG | Sign-On system with distributed access |
CN102622285A (zh) * | 2012-02-22 | 2012-08-01 | 浪潮(北京)电子信息产业有限公司 | 一种实现数据存储备份还原的系统及方法 |
CN103546435A (zh) * | 2012-07-13 | 2014-01-29 | 中兴通讯股份有限公司 | 数据的同步方法及服务器 |
CN104699718A (zh) * | 2013-12-10 | 2015-06-10 | 阿里巴巴集团控股有限公司 | 用于快速引入业务数据的方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329852A (zh) * | 2017-06-09 | 2017-11-07 | 广州虎牙信息科技有限公司 | 基于Hive的数据处理的方法、系统及终端设备 |
CN109117312A (zh) * | 2018-08-23 | 2019-01-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN109117312B (zh) * | 2018-08-23 | 2022-03-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN113544726A (zh) * | 2019-03-11 | 2021-10-22 | 株式会社博报堂Dy控股集团 | 中介装置、系统以及计算机程序 |
CN109902027A (zh) * | 2019-03-29 | 2019-06-18 | 梁俊杰 | 一种便于实施的tpc-ds测试方法以及系统 |
CN109902027B (zh) * | 2019-03-29 | 2020-05-29 | 梁俊杰 | 一种便于实施的tpc-ds测试方法以及系统 |
CN110888760A (zh) * | 2019-11-26 | 2020-03-17 | 中国工商银行股份有限公司 | 数据恢复方法和装置、以及数据处理方法和装置 |
CN112948181A (zh) * | 2021-03-22 | 2021-06-11 | 深圳闪回科技有限公司 | 一套数据修改备份恢复系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106547646B (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547646A (zh) | 一种数据备份及恢复方法、数据备份及恢复装置 | |
CN109145205B (zh) | 一种基于区块链的跨链数据操作方法和装置 | |
US10877930B2 (en) | Blockchain-based cross-chain data access method and apparatus | |
US20210097508A1 (en) | System and method for creating, tracking, and transfering non-fungible tokens in the ethereum blockchain | |
CN104160381B (zh) | 多租户环境中租户特定数据集的管理方法及其系统 | |
CN103905508B (zh) | 云平台应用部署方法及装置 | |
US20130110873A1 (en) | Method and system for data storage and management | |
US10963467B1 (en) | Determining whether a user in a social network is an authority on a topic | |
CN107844539A (zh) | 隔离数据管理方法、装置、系统、计算设备及存储介质 | |
CN109003196B (zh) | 一种基于区块链的旅游防骗系统 | |
CN105808753B (zh) | 一种区域性数字资源系统 | |
CN109783076A (zh) | 基于git的代码管理方法、装置、设备和存储介质 | |
CN107122368A (zh) | 一种数据校验方法、装置及电子设备 | |
Hoberman | Data Modeling for MongoDB: Building Well-Designed and Supportable MongoDB Databases | |
CN104809510A (zh) | 一种提供票务支持的票池中间件的构建、购票及锁票方法 | |
US9026557B2 (en) | Schema mapping based on data views and database tables | |
US20230024345A1 (en) | Data processing method and apparatus, device, and readable storage medium | |
CN105869057A (zh) | 评论存储设备、评论读取、评论写入方法及装置 | |
US20090030880A1 (en) | Model-Based Analysis | |
CN111274004B (zh) | 进程实例管理方法、装置及计算机存储介质 | |
CN109255587A (zh) | 一种工作数据的协同处理方法及装置 | |
CN107276914A (zh) | 基于cmdb的自助资源分配调度的方法 | |
CN110119947B (zh) | 共享工作量证明算力生成共生区块链的方法和设备 | |
CN115481026A (zh) | 测试案例的生成方法、装置、计算机设备、存储介质 | |
CN102713910B (zh) | 辞典生成装置、辞典生成方法 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180425 Address after: Cayman Islands, Grand Cayman Island capital building, four level 847 box Applicant after: CAINIAO SMART LOGISTICS HOLDING Ltd. Address before: Cayman Islands Grand Cayman capital building a four storey No. 847 mailbox Applicant before: ALIBABA GROUP HOLDING Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |