Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2019001021) DATA PROCESSING METHOD, APPARATUS AND SYSTEM, SERVER, AND COMPUTER STORAGE MEDIUM
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32  

附图

1   2   3   4   5   6  

说明书

发明名称 : 数据处理方法、装置、系统、服务器及计算机存储介质

[0001]
相关申请的交叉参考
[0002]
本申请要求于2017年6月30日提交中国专利局、申请号为201710555162.5、名称为“数据处理方法、装置、系统、服务器及计算机存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0003]
本公开涉及计算机技术领域,具体涉及一种数据处理方法、装置、系统、服务器及计算机存储介质。

背景技术

[0004]
随着信息技术的不断发展,分布式数据存储系统随之出现,分布式存储系统满足了大规模数据存储的需求。分布式存储系统通常包含不同节点,其中,节点可以为同一机房不同机柜中的节点,机房可以为不同地点的机房。在实际应用中,当节点的磁盘失效或者损坏时,存储在节点中的数据会丢失。为了保证数据的安全性,在分布式存储系统中,需要对数据进行备份。
[0005]
对于包含一个主节点和多个子节点的分布式数据存储系统,例如,Greenplum数据存储系统,一般只支持将数据备份到节点本地,由各个子节点将数据备份至子节点本地,或者通过主节点进行数据备份。
[0006]
由各个子节点将数据备份至子节点本地会出现以下问题:数据是离散存储在各个子节点本地的,如果有一个子节点宕机,数据就不完整了;如果将离散的数据拷出,集中存储,一旦需要恢复全部数据时,要将数据按照相对应的路径拷到本地的目录下面,流程复杂。
[0007]
而通过主节点进行数据备份时会出现数据备份速度慢,性能差等问题。
[0008]
发明内容
[0009]
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分 地解决上述问题的数据处理方法、数据处理装置、数据处理系统、服务器及计算机存储介质。
[0010]
根据本公开的一个方面,提供了一种数据处理方法,应用于包括一个主节点和多个子节点的数据存储系统,方法由各个子节点并行执行,包括:
[0011]
根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径;
[0012]
读取分布式存储于子节点中的数据,根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[0013]
根据本公开的另一方面,提供了一种数据处理装置,应用于包括一个主节点和多个子节点的数据存储系统,各个子节点中的数据处理装置并行运行,装置包括:
[0014]
数据备份服务启动模块,适于根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径;
[0015]
第一读取模块,适于读取分布式存储于子节点中的数据;
[0016]
备份模块,适于根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[0017]
根据本公开的另一方面,提供了一种数据处理系统,包括上述数据处理装置和中间存储系统;
[0018]
中间存储系统,适于以数据文件的形式存储数据处理装置通过所述数据备份服务进行备份的数据。
[0019]
根据本公开的又一方面,提供了一种服务器,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
[0020]
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述数据处理方法对应的操作。
[0021]
根据本公开的又一方面,提供了一种计算机程序,包括:
[0022]
计算机可读代码,当计算机可读代码在计算设备上运行时,导致计算设备执行上述数据处理方法对应的操作。
[0023]
根据本公开的再一方面,提供了一种非易失性计算机可读存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述数据处理方法对应的操作。
[0024]
根据本公开提供的方案,根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径;读取分布式存储于子节点中的数据,根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。基于本公开实施例的方案,由于采用了并行方式将存储于子节点的数据备份至中间存储系统中,因此,提高了数据备份效率,节省时间;另外,数据备份至中间存储系统中,而不是离散地备份至子节点本地,方便集中管理,且提高了安全性,同时还避免了子节点宕机而导致的数据不完整的缺陷。
[0025]
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
[0026]
附图概述
[0027]
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0028]
图1示出了根据本公开实施例一的一种数据处理方法的流程示意图;
[0029]
图2示出了根据本公开实施例二的一种数据处理方法的流程示意图;
[0030]
图3示出了根据本公开实施例三的一种数据处理装置的结构示意图;
[0031]
图4示出了根据本公开实施例四的一种数据处理装置的结构示意图;
[0032]
图5示出了根据本公开实施例五的一种数据处理系统的结构示意图;
[0033]
图6示出了根据本公开实施例七的一种服务器的结构示意图。
[0034]
本公开的较佳实施方式
[0035]
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0036]
实施例一
[0037]
图1示出了根据本公开实施例一的一种数据处理方法的流程示意图。该方法应用于包括一个主节点和多个子节点的数据存储系统,且该方法由各个子节点并行执行,如图1所示,该方法包括以下步骤:
[0038]
步骤S100,根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务。
[0039]
其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径。
[0040]
其中,中间存储系统用于存储各个子节点备份的数据,是独立于数据存储系统的存储系统,中间存储系统是一种分布式文件系统,具有带宽大,容量大,I/O吞吐量大等优点,因此,能够支持数据存储系统的各个子节点并行地将数据备份至中间存储系统中。
[0041]
在接收到数据备份请求后,每个子节点根据数据备份请求,启动用于连接该子节点与中间存储系统的数据备份服务,其中,启动的数据备份服务的数量与子节点的数量相同,且每个子节点对应一个数据备份服务,例如,数据存储系统有10个子节点,则需要启动10个数据备份服务,每个子节点通过启动的数据备份服务将数据备份至中间存储系统。
[0042]
针对该数据备份服务预先设置有配置文件,数据备份服务通过读取该配置文件,可以获取到用于将数据备份至中间存储系统中的指定路径,其中,该指定路径指明了数据在中间存储系统中的存储路径。
[0043]
步骤S101,读取分布式存储于子节点中的数据,根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[0044]
选择性地,子节点中的数据可以以数据表形式分布式存储于子节点中。
[0045]
在本公开的实施例中,针对一个数据表,每个子节点仅存储该数据表的部分数据,一个数据表的数据分布式存储于各个子节点中,举例说明,数据存储系统包括一个主节点和10个子节点,数据表A的数据分布式存储于10个子节点中,表示为A1、A2……A10,每个子节点可以存储有大量的数据表的数据,例如,节点1可以存储有数据表A、B、C、D的部分数据,例如,A1、B1、C1、D1,子节点可以读取一个数据表或多个数据表的数据,例如,读取数据A1、B1、C1,然后,根据指定路径,通过启动的数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[0046]
根据本公开上述实施例提供的方法,根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径;读取分布式存储于子节点中的数据,根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。基于本公开实施例的方案,由于采用了并行方式将存储于子节点的数据备份至中间存储系统中,因此,提高了数据备份效率,节省时间;另外,数据备份至中间存储系统中,而不是离散地备份至子节点本地,方便集中管理,且提高了安全性,同时还避免了子节点宕机而导致的数据不完整的缺陷。
[0047]
实施例二
[0048]
图2示出了根据本公开实施例二的一种数据处理方法的流程示意图。该方法应用于包括一个主节点和多个子节点的数据存储系统,方法由各个子节点并行执行,如图2所示,该方法包括以下步骤:
[0049]
步骤S200,根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务。
[0050]
其中,中间存储系统包括:HDFS系统,HDFS系统具有带宽大,容量大,I/O吞吐量大等优点,因此,能够支持数据存储系统的各个子节点并行地将数据备份至HDFS系统中。
[0051]
下面将以HDFS系统为例进行详细介绍。
[0052]
在接收到数据备份请求后,每个子节点根据数据备份请求,启动用于连 接该子节点与HDFS系统的数据备份服务,其中,启动的数据备份服务的数量与子节点的数量相同,且每个子节点对应一个数据备份服务,例如,数据存储系统有10个子节点,则需要启动10个数据备份服务,每个子节点通过启动的数据备份服务将数据备份至HDFS系统。
[0053]
针对该数据备份服务预先设置有配置文件,数据备份服务通过读取该配置文件,可以获取到用于将数据备份至HDFS系统中的指定路径,其中,该指定路径指明了数据在HDFS系统中的存储路径。
[0054]
步骤S201,读取以数据表形式分布式存储于子节点中的数据。
[0055]
在本公开实施例中,针对一个数据表,每个子节点仅存储该数据表的部分数据,一个数据表的数据分布式存储于各个子节点中,举例说明,数据存储系统包括一个主节点和10个子节点,数据表A的数据分布式存储于10个子节点中,表示为A1、A2……A10,每个子节点可以存储有大量的数据表的数据,例如,节点1可以存储有数据表A、B、C、D的部分数据,例如,A1、B1、C1、D1,子节点可以读取一个数据表或多个数据表的数据,例如,读取数据A1、B1、C1。
[0056]
步骤S202,针对不同的数据表,在指定路径下自动创建数据表存储目录,数据表存储目录的目录名至少包含数据表标识。
[0057]
一般情况下,每个子节点都会存储大量数据表的数据,为了能够有效地区分不同数据表的数据,且有序地存储数据,在将数据备份至HDFS系统中前,还需要针对不同的数据表,在指定路径下自动创建数从而可据表存储目录,其中,该数据表存储目录的目录名至少包含数据表标识,例如,数据表名称,以根据数据表标识快速识别出各个数据表的数据,举例说明,针对数据表A、B、C、D,在指定路径下自动创建目录名为A、B、C、D的数据表存储目录。
[0058]
步骤S203,根据数据表存储目录,通过数据备份服务将数据以数据文件的形式备份至HDFS系统中。
[0059]
在步骤S201中介绍了针对一个数据表,每个子节点仅存储该数据表的部分数据,因此,针对每一个数据表,根据该数据表存储目录,通过数据备 份服务将子节点存储的该数据表的部分数据以一个单独的数据文件的形式备份至HDFS系统中,举例说明,数据表A的数据分布式存储于10个子节点中,表示为A1、A2……A10,因此,可以将部分数据A1、A2……A10分别以一个单独的数据文件的形式存储于目录名为A的数据存储目录下,即在目录名为A的数据存储目录下,存储有10个数据文件,为了能够准确地获知数据的备份情况,这里将以数据表标识、子节点标识对HDFS系统中的数据文件进行命名,并携带有备份时间信息,例如时间戳,本次数据备份的时间信息,例如,本次备份时间为2017-6-29。
[0060]
另外,HDFS系统中存储的数据文件的数量与数据表数量和子节点数量相关,例如,数据表数量为10个,子节点数量为10个,那么HDFS系统中存储的数据文件的数量为10*10,即100个,这里仅是举例说明,不具有任何限定作用。
[0061]
步骤S204,多个子节点中的至少一个子节点根据指定路径,通过数据备份服务将数据表的数据表结构以表文件形式备份至HDFS系统中。
[0062]
其中,数据表的数据表结构定义了数据表的字段、类型、主键、外键、索引等信息,在进行数据恢复时,需要依据数据表结构将备份的数据存储至各个子节点。
[0063]
在进行数据存储时,数据存储系统中的各个子节点均会存储各个数据表的数据表结构,因此,多个子节点中的至少一个子节点可以根据指定路径,通过数据备份服务将数据表的数据表结构以表文件形式备份至HDFS系统中,表文件以数据表标识命名,将数据表结构与数据均备份至HDFS系统中,不仅方便集中管理,而且待进行数据恢复时,也能够快速获取到在HDFS系统中存储的相应的表文件和数据文件,节省时间,另外,将数据备份至HDFS系统中,提升了备份安全性。
[0064]
步骤S205,在数据备份完成后,注销用于连接子节点与HDFS系统的数据备份服务。
[0065]
数据备份服务是服务于数据备份的,在数据备份完成后,该数据备份服务所起的作用已完成,为了节省资源,可以注销用于连接子节点与HDFS系统的数据备份服务。
[0066]
步骤S206,HDFS系统对指定路径下的各数据文件进行压缩处理,得到压缩处理后的数据文件。
[0067]
为了节省用于存储数据所需的存储空间,HDFS系统可以对指定路径下的各数据文件进行压缩处理,存储压缩处理后的数据文件。
[0068]
步骤S207,根据数据恢复请求,启动用于连接子节点与HDFS系统的数据恢复服务。
[0069]
在接收到数据恢复请求后,每个子节点根据数据恢复请求,启动用于连接该子节点与HDFS系统的数据恢复服务,其中,启动的数据恢复服务的数量与子节点的数量相同,且每个子节点对应一个数据恢复服务,例如,数据存储系统有10个子节点,则需要启动10个数据恢复服务,每个子节点通过启动的数据恢复服务将数据恢复至HDFS系统。
[0070]
针对该数据恢复服务预先设置有配置文件,数据恢复服务通过读取该配置文件,可以获取到用于读取HDFS系统中数据的指定路径,其中,该指定路径指明了数据在HDFS系统中的存储路径。
[0071]
数据可以恢复到任意一个集群系统,集群系统所包含的子节点的数量不受限制,可以与备份前用于存储数据的数据存储系统所包含的子节点数量相同,也可以不同,例如,大于或者小于数据存储系统所包含的子节点数量。当然,如果备份前用于存储数据的数据存储系统中的数据出现丢失等问题时,也可以根据HDFS系统中的数据进行恢复。
[0072]
步骤S208,根据指定路径,通过数据恢复服务读取HDFS系统中的表文件以及数据文件。
[0073]
其中,数据恢复服务预先配置有用于读取HDFS系统中数据的指定路径,因此,各个子节点可以根据指定路径,通过数据恢复服务读取HDFS系统中的表文件以及数据文件。这里,各个子节点可以并行的读取数据文件,而且还可以并行读取多个数据表的数据文件,从而提高了数据恢复的效率,节省数据恢复所需时间。
[0074]
步骤S209,对读取的数据文件进行解压缩处理。
[0075]
各个子节点读取的数据文件是经过压缩处理的,因此需要先进行解压缩 处理,得到解压缩后的数据文件。
[0076]
步骤S210,按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据,若是,则执行步骤S211;若否,则执行步骤S212。
[0077]
具体地,在进行数据备份时,每个数据文件存储了若干个数据分片,因此,各个子节点读取到数据文件之后,还需要判断该数据文件中的数据是否属于该子节点需要存储的数据,具体地,可以按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据,若判断出数据分片不属于该子节点待存储的数据,则需要将数据分片分发给相应的节点进行存储;若判断出数据分片数据该子节点待存储的数据,则该子节点将存储对应的数据分片。
[0078]
在本公开的优选实施例中,可以采用以下方法具体判断数据文件中的各个数据分片是否属于该子节点待存储的数据:确定数据分片中属于预设分布列的数据;对属于预设分布列的数据进行哈希处理,得到哈希值;依据哈希值判断数据文件中的各个数据分片是否属于该子节点待存储的数据。
[0079]
在确定出数据分片中数据预设分布列的数据后,对属于预设分布列的数据进行哈希处理,得到哈希值,例如,可以采用MD5算法或SHA-1算法对属于预设分布列的数据进行哈希处理,这里仅是举例说明,不具有任何限定作用;然后,依据哈希值判断数据文件中的各个数据分片是否属于该子节点待存储的数据。
[0080]
步骤S211,由该子节点存储对应的数据分片。
[0081]
步骤S212,将数据分片分发给对应的子节点进行存储。
[0082]
具体地,若依据哈希值判断数据文件中的各个数据分片不属于该子节点待存储的数据的情况下,还可以根据哈希值将数据重分发至对应的子节点进行存储。
[0083]
步骤S213,在数据恢复完成后,注销用于连接子节点与HDFS系统的数据恢复服务。
[0084]
数据恢复服务是服务于数据恢复的,在数据恢复完成后,该数据恢复服 务所起的作用已完成,为了节省资源,可以注销用于连接子节点与HDFS系统的数据恢复服务。
[0085]
根据本公开上述实施例提供的方法,根据数据备份请求,通过用于连接子节点与中间存储系统的数据备份服务,实现将数据以数据文件的形式备份至中间存储系统中,根据数据恢复请求,通过用于连接各个子节点与中间存储系统的数据恢复服务读取中间存储系统中的表文件以及数据文件,实现数据恢复。基于本公开实施例的方案,由于采用了并行方式将存储于子节点的数据备份至中间存储系统中,因此,提高了数据备份效率,节省时间;另外,数据备份至中间存储系统中,而不是离散地备份至子节点本地,方便集中管理,且提高了安全性,同时还避免了子节点宕机而导致的数据不完整的缺陷,各个子节点可以并行的读取数据文件,而且还可以并行读取多个数据表的数据文件,从而提高了数据恢复的效率,节省数据恢复所需时间,另外,数据可以恢复到任意的集群,应用范围广。
[0086]
实施例三
[0087]
图3示出了根据本公开实施例三的一种数据处理装置的结构示意图。该装置应用于包括一个主节点和多个子节点的数据存储系统,各个子节点中的数据处理装置并行运行,如图3所示,该装置包括:数据备份服务启动模块300、第一读取模块301和备份模块302。
[0088]
数据备份服务启动模块300,适于根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径。
[0089]
第一读取模块301,适于读取分布式存储于子节点中的数据。选择性地,子节点中的数据可以以数据表形式分布式存储于子节点中。
[0090]
备份模块302,适于根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[0091]
根据本公开上述实施例提供的装置,根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径;读取分布式存储于子节点中的 数据,根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。基于本公开实施例的方案,由于采用了并行方式将存储于子节点的数据备份至中间存储系统中,因此,提高了数据备份效率,节省时间;另外,数据备份至中间存储系统中,而不是离散地备份至子节点本地,方便集中管理,且提高了安全性,同时还避免了子节点宕机而导致的数据不完整的缺陷。
[0092]
实施例四
[0093]
图4示出了根据本公开实施例四的一种数据处理装置的结构示意图。该装置应用于包括一个主节点和多个子节点的数据存储系统,各个子节点中的数据处理装置并行运行,如图4所示,该装置包括:数据备份服务启动模块400、第一读取模块401、备份模块402、数据备份服务注销模块403、数据恢复服务启动模块404、第二读取模块405、解压缩处理模块406、判断模块407、存储模块408、分发模块409和数据恢复服务注销模块410。
[0094]
数据备份服务启动模块400,适于根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径。
[0095]
第一读取模块401,适于读取以数据表形式分布式存储于子节点中的数据。
[0096]
备份模块402进一步包括:创建单元4021,适于针对不同的数据表,在指定路径下自动创建数据表存储目录,数据表存储目录的目录名至少包含数据表标识;
[0097]
备份单元4202,适于根据数据表存储目录,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[0098]
其中,针对一个数据表,每个子节点存储该数据表的部分数据;因此,备份模块进一步适于:针对每一个数据表,通过数据备份服务将子节点存储的该数据表的部分数据以一个单独的数据文件的形式备份至中间存储系统中。
[0099]
多个子节点中的至少一个子节点中的备份模块402还适于:根据指定路 径,通过数据备份服务将数据表的数据表结构以表文件形式备份至中间存储系统中。
[0100]
数据备份服务注销模块403,适于在数据备份完成后,注销用于连接子节点与中间存储系统的数据备份服务。
[0101]
数据恢复服务启动模块404,适于根据数据恢复请求,启动用于连接子节点与中间存储系统的数据恢复服务,其中,数据恢复服务预先配置有用于读取中间存储系统中数据的指定路径。
[0102]
第二读取模块405,适于根据指定路径,通过数据恢复服务读取中间存储系统中的数据文件。
[0103]
解压缩处理模块406,适于对读取的数据文件进行解压缩处理。
[0104]
判断模块407,适于按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据。
[0105]
存储模块408,适于若数据文件中的各个数据分片属于该子节点待存储的数据,则由该子节点存储对应的数据分片;
[0106]
分发模块409,适于若数据文件中的各个数据分片不属于该子节点待存储的数据,则将数据分片分发给对应的子节点进行存储。
[0107]
在本公开优选实施例中,判断模块407进一步适于:确定数据分片中属于预设分布列的数据;对属于预设分布列的数据进行哈希处理,得到哈希值;依据哈希值判断数据文件中的各个数据分片是否属于该子节点待存储的数据。
[0108]
分发模块409进一步适于:若数据文件中的各个数据分片不属于该子节点待存储的数据,则根据哈希值将数据分发至对应的子节点进行存储。
[0109]
数据恢复服务注销模块410,适于在数据恢复完成后,注销用于连接子节点与中间存储系统的数据恢复服务。
[0110]
根据本公开上述实施例提供的装置,根据数据备份请求,通过用于连接子节点与中间存储系统的数据备份服务,实现将数据以数据文件的形式备份至中间存储系统中,根据数据恢复请求,通过用于连接各个子节点与中间存储系统的数据恢复服务读取中间存储系统中的表文件以及数据文件,实现数 据恢复。基于本公开实施例的方案,由于采用了并行方式将存储于子节点的数据备份至中间存储系统中,因此,提高了数据备份效率,节省时间;另外,数据备份至中间存储系统中,而不是离散地备份至子节点本地,方便集中管理,且提高了安全性,同时还避免了子节点宕机而导致的数据不完整的缺陷,各个子节点可以并行的读取数据文件,而且还可以并行读取多个数据表的数据文件,从而提高了数据恢复的效率,节省数据恢复所需时间,另外,数据可以恢复到任意的集群,应用范围广。
[0111]
实施例五
[0112]
图5示出了根据本公开实施例五的一种数据处理系统的结构示意图。如图5所示,该系统包括:数据处理装置510和中间存储系统520;其中,数据处理装置510为图4所示的数据处理装置;中间存储系统520,适于以数据文件的形式存储数据处理装置通过数据备份服务进行备份的数据。
[0113]
其中,中间存储系统包括:HDFS系统,中间存储系统中数据文件以数据表标识、子节点标识命名,并携带有备份时间信息;中间存储系统中存储的数据文件的数量与数据表数量和子节点数量相关。
[0114]
进一步地,中间存储系统,适于对指定路径下的各数据文件进行压缩处理,得到压缩处理后的数据文件。
[0115]
根据本公开上述实施例提供的系统,根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径;读取分布式存储于子节点中的数据,根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。基于本公开实施例的方案,由于采用了并行方式将存储于子节点的数据备份至中间存储系统中,因此,提高了数据备份效率,节省时间;另外,数据备份至中间存储系统中,而不是离散地备份至子节点本地,方便集中管理,且提高了安全性,同时还避免了子节点宕机而导致的数据不完整的缺陷。
[0116]
实施例六
[0117]
本申请实施例六提供了一种非易失性计算机存储介质,所述计算机存储 介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据处理方法。
[0118]
实施例七
[0119]
图6示出了根据本公开实施例六的一种服务器的结构示意图,本公开具体实施例并不对服务器的具体实现做限定。
[0120]
如图6所示,该服务器可以包括:处理器(processor)602、通信接口(Communications Interface)604、存储器(memory)606、以及通信总线608。
[0121]
其中:
[0122]
处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。
[0123]
通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。
[0124]
处理器602,用于执行程序610,具体可以执行上述数据处理方法实施例中的相关步骤。
[0125]
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
[0126]
处理器602可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本公开实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
[0127]
存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0128]
程序610具体可以用于使得处理器602执行以下操作:根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径;
[0129]
读取分布式存储于子节点中的数据,根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。选择性地,子节点中的数据可以以数据表形式分布式存储于子节点中。
[0130]
在一种可选的实施方式中,程序610还用于使得处理器602执行以下操作:在数据备份完成后,注销用于连接子节点与中间存储系统的数据备份服务。
[0131]
在一种可选的实施方式中,程序610还用于使得处理器602在根据指定路径,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中时:
[0132]
针对不同的数据表,在指定路径下自动创建数据表存储目录,数据表存储目录的目录名至少包含数据表标识;
[0133]
根据数据表存储目录,通过数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[0134]
在一种可选的实施方式中,针对一个数据表,每个子节点存储该数据表的部分数据;
[0135]
程序610还用于使得处理器602在通过数据备份服务将数据以数据文件的形式备份至中间存储系统中时:
[0136]
针对每一个数据表,通过数据备份服务将子节点存储的该数据表的部分数据以一个单独的数据文件的形式备份至中间存储系统中。
[0137]
在一种可选的实施方式中,程序610还用于使得处理器602执行以下操作:对指定路径下的各数据文件进行压缩处理,得到压缩处理后的数据文件。
[0138]
在一种可选的实施方式中,程序610还用于使得处理器602执行以下操作:根据指定路径,通过数据备份服务将数据表的数据表结构以表文件形式备份至中间存储系统中。
[0139]
在一种可选的实施方式中,程序610还用于使得处理器602执行以下操作:
[0140]
根据数据恢复请求,启动用于连接各个子节点与中间存储系统的数据恢复服务,其中,数据恢复服务预先配置有用于读取中间存储系统中数据的指定路径;
[0141]
根据指定路径,通过数据恢复服务读取中间存储系统中的表文件以及数据文件;
[0142]
按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据;
[0143]
若是,则由该子节点存储对应的数据分片;
[0144]
若否,则将数据分片分发给对应的子节点进行存储。
[0145]
在一种可选的实施方式中,程序610还用于使得处理器602在按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据时:
[0146]
确定数据分片中属于预设分布列的数据;
[0147]
对属于预设分布列的数据进行哈希处理,得到哈希值;
[0148]
依据哈希值判断数据文件中的各个数据分片是否属于该子节点待存储的数据;
[0149]
将数据分片分发给对应的子节点进行存储进一步包括:
[0150]
根据哈希值将数据分发至对应的子节点进行存储。
[0151]
在一种可选的实施方式中,程序610还用于使得处理器602执行以下操作:对读取的数据文件进行解压缩处理。
[0152]
在一种可选的实施方式中,程序610还用于使得处理器602执行以下操作:在数据恢复完成后,注销用于连接子节点与中间存储系统的数据恢复服务。
[0153]
在一种可选的实施方式中,中间存储系统中数据文件以数据表标识、子节点标识命名,并携带有备份时间信息。
[0154]
在一种可选的实施方式中,中间存储系统中存储的数据文件的数量与数据表数量和子节点数量相关。
[0155]
在一种可选的实施方式中,中间存储系统包括:HDFS系统。
[0156]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的内容, 并且上面对特定语言所做的描述是为了披露本公开的最佳实施方式。
[0157]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0158]
类似地,应当理解,为了精简本公开并帮助理解各个公开方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0159]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0160]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0161]
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据 本发明实施例的数据处理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0162]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

权利要求书

[权利要求 1]
一种数据处理方法,应用于包括一个主节点和多个子节点的数据存储系统,所述方法由各个子节点并行执行,包括:根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,所述数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径;读取分布式存储于所述子节点中的数据,根据所述指定路径,通过所述数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[权利要求 2]
根据权利要求1所述的方法,其中,所述子节点中的数据以数据表形式分布式存储于所述子节点中。
[权利要求 3]
根据权利要求2所述的方法,其中,所述方法还包括:在数据备份完成后,注销用于连接子节点与中间存储系统的数据备份服务。
[权利要求 4]
根据权利要求2或3所述的方法,其中,所述根据指定路径,通过所述数据备份服务将数据以数据文件的形式备份至中间存储系统中进一步包括: 针对不同的数据表,在所述指定路径下自动创建数据表存储目录,所述数据表存储目录的目录名至少包含数据表标识; 根据所述数据表存储目录,通过所述数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[权利要求 5]
根据权利要求2-4任一项所述的方法,其中,针对一个数据表,每个子节点存储该数据表的部分数据; 所述通过数据备份服务将数据以数据文件的形式备份至中间存储系统中进一步包括: 针对每一个数据表,通过数据备份服务将子节点存储的该数据表的部分数据以一个单独的数据文件的形式备份至中间存储系统中。
[权利要求 6]
根据权利要求2-5任一项所述的方法,其中,所述方法还包括: 所述中间存储系统对指定路径下的各数据文件进行压缩处理,得到压缩处理后的数据文件。
[权利要求 7]
根据权利要求2-6任一项所述的方法,其中,所述多个子节点中的至 少一个子节点根据所述指定路径,通过所述数据备份服务将数据表的数据表结构以表文件形式备份至中间存储系统中。
[权利要求 8]
根据权利要求7所述的方法,其中,所述方法还包括: 根据数据恢复请求,启动用于连接各个子节点与中间存储系统的数据恢复服务,其中,所述数据恢复服务预先配置有用于读取中间存储系统中数据的指定路径; 根据所述指定路径,通过所述数据恢复服务读取所述中间存储系统中的表文件以及数据文件; 按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据; 若是,则由该子节点存储对应的数据分片; 若否,则将数据分片分发给对应的子节点进行存储。
[权利要求 9]
根据权利要求8所述的方法,其中,所述按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据进一步包括: 确定数据分片中属于预设分布列的数据; 对属于预设分布列的数据进行哈希处理,得到哈希值; 依据所述哈希值判断数据文件中的各个数据分片是否属于该子节点待存储的数据; 所述将数据分片分发给对应的子节点进行存储进一步包括: 根据所述哈希值将数据分发至对应的子节点进行存储。
[权利要求 10]
根据权利要求8或9所述的方法,其中,在所述按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据之前,所述方法还包括: 对读取的数据文件进行解压缩处理。
[权利要求 11]
根据权利要求8-10任一项所述的方法,其中,所述方法还包括:在数据恢复完成后,注销用于连接子节点与中间存储系统的数据恢复服务。
[权利要求 12]
根据权利要求2-11任一项所述的方法,其中,所述中间存储系统中数据文件以数据表标识、子节点标识命名,并携带有备份时间信息。
[权利要求 13]
根据权利要求2-12任一项所述的方法,其中,所述中间存储系统中存储的数据文件的数量与数据表数量和子节点数量相关。
[权利要求 14]
根据权利要求2-13任一项所述的方法,其中,所述中间存储系统包括:HDFS系统。
[权利要求 15]
一种数据处理装置,应用于包括一个主节点和多个子节点的数据存储系统,所述各个子节点中的数据处理装置并行运行,所述装置包括: 数据备份服务启动模块,适于根据数据备份请求,启动用于连接子节点与中间存储系统的数据备份服务,其中,所述数据备份服务预先配置有用于将数据备份至中间存储系统中的指定路径; 第一读取模块,适于读取分布式存储于所述子节点中的数据; 备份模块,适于根据所述指定路径,通过所述数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[权利要求 16]
根据权利要求15所述的装置,其中,所述子节点中的数据以数据表形式分布式存储于所述子节点中。
[权利要求 17]
根据权利要求16所述的装置,其中,所述装置还包括:数据备份服务注销模块,适于在数据备份完成后,注销用于连接子节点与中间存储系统的数据备份服务。
[权利要求 18]
根据权利要求16或17所述的装置,其中,所述备份模块进一步包括: 创建单元,适于针对不同的数据表,在所述指定路径下自动创建数据表存储目录,所述数据表存储目录的目录名至少包含数据表标识; 备份单元,适于根据所述数据表存储目录,通过所述数据备份服务将数据以数据文件的形式备份至中间存储系统中。
[权利要求 19]
根据权利要求16-18任一项所述的装置,其中,针对一个数据表,每个子节点存储该数据表的部分数据; 所述备份模块进一步适于:针对每一个数据表,通过数据备份服务将子节点存储的该数据表的部分数据以一个单独的数据文件的形式备份至中间存储系统中。
[权利要求 20]
根据权利要求16-19任一项所述的装置,其中,所述多个子节点中的至少一个子节点中的备份模块还适于:根据所述指定路径,通过所述数据备份服务将数据表的数据表结构以表文件形式备份至中间存储系统中。
[权利要求 21]
根据权利要求20所述的装置,其中,所述装置还包括: 数据恢复服务启动模块,适于根据数据恢复请求,启动用于连接子节点与中间存储系统的数据恢复服务,其中,所述数据恢复服务预先配置有用于读取中间存储系统中数据的指定路径; 第二读取模块,适于根据所述指定路径,通过所述数据恢复服务读取中间存储系统中的数据文件; 判断模块,适于按照数据重分发策略依次判断数据文件中的各个数据分片是否属于该子节点待存储的数据; 存储模块,适于若数据文件中的各个数据分片属于该子节点待存储的数据,则由该子节点存储对应的数据分片; 分发模块,适于若数据文件中的各个数据分片不属于该子节点待存储的数据,则将数据分片分发给对应的子节点进行存储。
[权利要求 22]
根据权利要求21所述的装置,其中,所述判断模块进一步适于:确定数据分片中属于预设分布列的数据; 对属于预设分布列的数据进行哈希处理,得到哈希值; 依据所述哈希值判断数据文件中的各个数据分片是否属于该子节点待存储的数据; 所述分发模块进一步适于:若数据文件中的各个数据分片不属于该子节点待存储的数据,则根据所述哈希值将数据分发至对应的子节点进行存储。
[权利要求 23]
根据权利要求21或22所述的装置,其中,所述装置还包括: 解压缩处理模块,适于对读取的数据文件进行解压缩处理。
[权利要求 24]
根据权利要求21-23任一项所述的装置,其中,所述装置还包括:数据恢复服务注销模块,适于在数据恢复完成后,注销用于连接子节点与中间存储系统的数据恢复服务。
[权利要求 25]
一种数据处理系统,包括权利要求16-24任一项所述的数据处理装置和中间存储系统; 中间存储系统,适于以数据文件的形式存储数据处理装置通过所述数据备份服务进行备份的数据。
[权利要求 26]
根据权利要求25所述的系统,其中,所述中间存储系统,适于对指定路径下的各数据文件进行压缩处理,得到压缩处理后的数据文件。
[权利要求 27]
根据权利要求25或26所述的装置,其中,所述中间存储系统中数据文件以数据表标识、子节点标识命名,并携带有备份时间信息。
[权利要求 28]
根据权利要求25-27任一项所述的装置,其中,所述中间存储系统中存储的数据文件的数量与数据表数量和子节点数量相关。
[权利要求 29]
根据权利要求25-28任一项所述的系统,其中,所述中间存储系统包括:HDFS系统。
[权利要求 30]
一种服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信; 所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-14中任一项所述的数据处理方法对应的操作。
[权利要求 31]
一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算设备上运行时,导致所述计算设备执行根据权利要求1-14中的任一项所述的数据处理方法对应的操作。
[权利要求 32]
一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-14中任一项所述的数据处理方法对应的操作。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]