CN105610879A - 数据处理方法和装置 - Google Patents
数据处理方法和装置 Download PDFInfo
- Publication number
- CN105610879A CN105610879A CN201410606716.6A CN201410606716A CN105610879A CN 105610879 A CN105610879 A CN 105610879A CN 201410606716 A CN201410606716 A CN 201410606716A CN 105610879 A CN105610879 A CN 105610879A
- Authority
- CN
- China
- Prior art keywords
- data
- region
- node
- data processing
- memory node
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据处理方法和装置。本发明数据处理方法,包括:接收管理节点发送的数据处理任务消息,所述数据处理任务消息携带有原始数据个数和效验数据个数;根据所述原始数据个数和所述效验数据个数获取生成矩阵;同时获取管理节点对网络中各数据存储节点进行区域划分的区域划分结果;根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,所述数据处理包括生成效验数据处理和恢复原始数据处理。本发明实施例在接收到EC任务后各区域分别进行数据处理,进而实现性能较好的区域在完成一项EC任务后可以进行下一项EC任务处理,发挥分布式并行处理的优点,充分利用了网络资源和计算资源。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种数据处理方法和装置。
背景技术
云计算、大数据所带来的海量数据,对越来越庞大的数据中心带来考验,软件定义基础设施(SoftwareDefineInfrastructure,简称SDI)将是未来数据中心的发展趋势。SDI规划了利用三维环状网络(3DTours)、三维网状网络(3DMesh)等网络拓扑来提升网络的性能和应用的性能,3DTorus和3DMesh是现在用的比较多的网络拓扑结构,其在平面的基础上,向三维空间扩展,节点的连接采用GE或IB网络,节点之间的消息传递、负载均衡有专有的算法,具有多路径、简单、对称、易扩展等特点。目前使用容删码(ErasureCode,简称EC)算法实现数据容错技术也已经规划在SDI中,在3DTours、3DMesh等网络拓扑下运行分布式文件系统或分布式存储软件,利用该EC算法来编码和解码数据。
EC算法的具体原理为,将n份原始数据,增加m份校验数据,并能通过n+m份中的任意n份数据,还原为原始数据。其包含了编码(Encoding)和解码(Decoding)两个过程,将原始的n份数据变为n+m份是编码,n+m份数据可分散存放在不同的位置,如果有任意小于m份的数据失效,仍然能通过剩下的数据还原出来,还原的过程叫解码。由此可见通过EC算法,只保留原始数据和校验数据,当数据丢失时候可以通过EC算法恢复原始数据,这样在保证数据存储的可靠性的同时大大的减少了存储资源,降低了企业存储成本。典型的EC算法有XOR、Reed-Solomon、Cauchy-Reed-Solomon等算法。EC算法实际上就是利用线性代数的矩阵相乘的原理,先根据原始数据的个数和校验数据的个数得到生成矩阵,使用生成矩阵乘以原始数据得到校验数据。恢复的过程即利用生成矩阵的逆矩阵乘以现有数据来得到丢失的数据。不管生成矩阵是范德蒙矩阵还是Cauchy矩阵或是优化过的矩阵,其核心都是矩阵的乘法。
然而,在3DTours、3DMesh等网络拓扑下运行分布式文件系统过程中,利用现有EC算法进行编码和解码数据,以保证数据存储的可靠性时,仍然不能有效利用网络资源,对于网络资源消耗比较大,因此如何在3DTours、3DMesh等网络拓扑下进一步提升EC算法的性能是如今亟待解决的一技术问题。
发明内容
本发明实施例提供一种数据处理方法和装置,以解决现有EC算法不能有效利用网络资源,对于网络资源消耗比较大的问题。
第一方面,本发明实施例提供一种数据处理方法,包括:
接收管理节点发送的数据处理任务消息,所述数据处理任务消息携带有原始数据个数和效验数据个数;
根据所述原始数据个数和所述效验数据个数获取生成矩阵;同时获取所述管理节点对网络中各数据存储节点进行区域划分的区域划分结果,其中,所述区域划分结果包括区域个数和各区域内的各数据存储节点的信息;
根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,所述数据处理包括生成效验数据处理和恢复原始数据处理。
结合第一方面,在第一方面的第一种可能的实现方式中,若所述数据处理为生成效验数据处理;
所述根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,包括:
根据所述区域个数和所述生成矩阵获取多个生成子矩阵,所述生成子矩阵的个数与所述区域个数相同,且各生成子矩阵与各区域一一对应;
根据区域内的各数据存储节点中的数据和所述区域的生成子矩阵获取效验子数据,并获取其他区域的主数据存储节点生成的效验子数据;
利用各区域的效验子数据生成效验数据,并将所述效验数据存储于相应的数据存储节点中。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述获取其他区域的主数据存储节点生成的效验子数据之前,还包括:
向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的生成子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的生成子矩阵获取效验子数据。
结合第一方面,在第一方面的第三种可能的实现方式中,若所述数据处理为恢复原始数据处理;
所述根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,包括:
根据丢失数据和所述生成矩阵获取恢复矩阵;
根据所述区域个数和所述恢复矩阵获取多个恢复子矩阵,所述恢复子矩阵的个数和所述区域个数相同,且各恢复子矩阵与各区域一一对应;
根据区域内的各数据存储节点中的数据和所述区域的恢复子矩阵获取恢复子数据,并获取其他区域的主数据存储节点生成的恢复子数据;
利用各区域的恢复子数据生成原始数据,并将所述原始数据存储于各原始数据所在数据存储节点中。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述获取其他区域的主数据存储节点生成的恢复子数据之前,还包括:
向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的恢复子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的恢复子矩阵获取恢复子数据。
结合第一方面的第一种至第四种任一种可能的实现方式,在第一方面的第五种可能的实现方式中,在根据所述区域划分结果进行数据处理之前,所述方法还包括:
根据所述各区域内的各数据存储节点的信息确定其他区域的主数据存储节点。
第二方面,本发明实施例提供一种数据处理装置,包括:
接收模块,用于接收管理节点发送的数据处理任务消息,所述数据处理任务消息携带有原始数据个数和效验数据个数;
获取模块,用于根据所述原始数据个数和所述消息数据个数获取生成矩阵;同时获取所述管理节点对网络中各数据存储节点进行区域划分的区域划分结果,其中,所述区域划分结果包括区域个数和各区域内的各数据存储节点的信息;
处理模块,用于根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,所述数据处理包括生成效验数据处理和恢复原始数据处理。
结合第二方面,在第二方面的第一种可能的实现方式中,若所述数据处理为生成效验数据处理;
所述处理模块具体用于:
根据所述区域个数和所述生成矩阵获取多个生成子矩阵,所述生成子矩阵的个数与所述区域个数相同,且各生成子矩阵与各区域一一对应;
根据区域内的各数据存储节点的数据和所述区域的生成子矩阵获取效验子数据,并获取其他区域的主数据存储节点生成的效验子数据;
利用各区域的效验子数据生成效验数据,并将所述效验数据存储于相应的数据存储节点中。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述处理模块还用于:向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的生成子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的生成子矩阵获取效验子数据。
结合第二方面,在第二方面的第三种可能的实现方式中,若所述数据处理为恢复原始数据处理;
所述处理模块具体用于:
根据丢失数据和所述生成矩阵获取恢复矩阵;
根据所述区域个数和所述恢复矩阵获取多个恢复子矩阵,所述恢复子矩阵的个数和所述区域个数相同,且各恢复子矩阵与各区域一一对应;
根据区域内的各数据存储节点中的数据和所述区域的恢复子矩阵获取恢复子数据,并获取其他区域的主数据存储节点生成的恢复子数据;
利用各区域的恢复子数据生成原始数据,并将所述原始数据存储于各原始数据所在数据存储节点中。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述处理模块还用于:向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的恢复子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的恢复子矩阵获取恢复子数据。
结合第二方面的第一种至第四种任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述装置还包括:
确定模块,用于根据所述各区域内的各数据存储节点的信息确定其他区域的主数据存储节点。
本发明实施例数据处理方法和装置,通过获取区域划分结果,根据区域划分结果进行生成效验数据处理或者恢复原始数据处理,由于现有技术的EC算法中,一个数据存储节点接收到EC任务后,会从其他数据存储节点获取所有数据后进行数据处理,由于网络中各数据存储节点的处理性能不同节点之间网络带宽不同,现有技术的方法会造成资源浪费,而本实施例在接收到EC任务后根据区域划分结果各区域分别进行数据处理,进而实现性能较好的区域在完成一项EC任务后可以进行下一项EC任务处理,发挥分布式并行处理的优点,充分利用了网络资源和计算资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据处理方法实施例一的流程图;
图2为本发明数据处理方法实施例二的流程图;
图3为3DTorous组网的部分节点图;
图4为本发明数据处理装置实施例一的结构示意图;
图5为本发明数据处理装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明数据处理方法为在现有容删码(ErasureCode,简称EC)算法基础上进行改进而获取的一种优化EC算法。
图1为本发明数据处理方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
步骤101、接收管理节点发送的数据处理任务消息,所述数据处理任务消息携带有原始数据个数和效验数据个数。
步骤102、根据所述原始数据个数和所述效验数据个数获取生成矩阵;同时获取管理节点对网络中各数据存储节点进行区域划分的区域划分结果,区域划分结果包括区域个数和各区域内的各数据存储节点的信息。
其中,区域划分结果是管理节点根据网络中各数据存储节点的数据处理性能或者各数据存储节点之间的网络带宽进行区域划分后获得的,具体可以根据一些预设规则或算法对各数据存储节点进行区域划分。具体的预设规则或算法可以根据需求进行灵活设置。在进行区域划分过程中可以将数据处理性能好或者数据存储节点之间网络带宽较大的数据存储节点划分为一类,将数据处理性能低或者数据存储节点之间网络带宽小的数据存储节点划分为一类,具体划分为几类也可以根据网络情况进行灵活设置。
各区域内的各数据存储节点信息可以具体包括各数据存储节点的位置信息、节点数据处理性能或者各数据存储节点与其他数据存储节点之间的网络带宽等信息。
步骤103、根据区域划分结果和生成矩阵对网络中各数据存储节点中的数据进行数据处理,数据处理包括生成效验数据处理和恢复原始数据处理。
具体的,将n份原始数据,增加m份效验数据,能通过n+m份中的任意n份数据还原为原始数据,其中生成效验数据处理即指生成m份效验数据的处理过程,恢复原始数据处理即指利用n+m份中任意n份数据还原原始数据的处理过程。
进一步的,在步骤103中若数据处理为生成效验数据处理;则根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,具体可以为,根据区域个数和生成矩阵获取多个生成子矩阵,生成子矩阵的个数与区域个数相同,且各生成子矩阵与各区域一一对应;根据区域内各数据存储节点的数据和所述区域的生成子矩阵获取效验子数据,并获取其他区域的主数据存储节点生成的效验子数据;利用各区域的效验子数据生成效验数据,并将效验数据存储于相应的数据存储节点中。
需要说明的是,在生成效验数据处理过程中,具体是根据区域内的各数据存储节点中的原始数据和该区域的生成子矩阵获取该区域的效验子数据,而其他区域的主数据存储节点根据区域内的各数据存储节点中的原始数据和自身所在区域的生成子矩阵获取自身所在区域的效验子数据,本实施例的执行主体可以为网络中任意一个数据存储节点,数据存储节点获取各区域的效验子数据并生成效验数据。
可选的,在获取其他区域的主数据存储节点生成的效验子数据之前,还可以向其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的生成子矩阵,以使其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的生成子矩阵获取效验子数据。
可选的,在步骤103中若数据处理为恢复原始数据处理;则根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,具体可以为,根据丢失数据和生成矩阵获取恢复矩阵,根据区域个数和恢复矩阵获取多个恢复子矩阵,恢复子矩阵的个数和区域个数相同,且各恢复子矩阵与各区域一一对应,根据区域内的各数据存储节点中的数据和所述区域的恢复子矩阵获取恢复子数据,并获取其他区域的主数据存储节点生成的恢复子数据,利用各区域的恢复子数据生成原始数据,并将所述原始数据存储于各原始数据所在数据存储节点中。
需要说明的是,丢失数据即指网络中的数据存储节点中存储有原始数据和效验数据,而其中部分数据失效。利用该丢失数据和生成矩阵即可恢复出原始数据,而其中恢复矩阵的具体生成方式为,将生成矩阵中该丢失数据对应行删除,并生成删除对应行后的生成矩阵的逆矩阵,该删除对应行后的生成矩阵的逆矩阵即为恢复矩阵。
进一步的,获取其他区域的主数据存储节点生成的恢复子数据之前,还可以向其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的恢复子矩阵,以使其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的恢复子矩阵获取恢复子数据。
进一步的,在根据区域划分结果进行数据处理之前,还可以根据各区域内的各数据存储节点的信息确定其他区域的主数据存储节点。
其中,其他区域的主数据存储节点,具体为区域划分结果中除进行本实施例的数据处理方法的数据存储节点所属区域外的其他各区域,在各区域中选取一数据存储节点作为该区域的主数据存储节点。
本实施例,通过获取区域划分结果,根据区域划分结果进行生成效验数据处理或者恢复原始数据处理,由于现有技术的EC算法中,一个数据存储节点接收到EC任务后,会从其他数据存储节点获取所有数据后进行数据处理,由于网络中各数据存储节点的处理性能不同节点之间网络带宽不同,现有技术的方法会造成资源浪费,而本实施例在接收到EC任务后根据区域划分结果各区域分别进行数据处理,进而实现性能较好的区域在完成一项EC任务后可以进行下一项EC任务处理,发挥分布式并行处理的优点,充分利用了网络资源和计算资源。
下面采用几个具体的实施例,对图1所示方法实施例的技术方案进行详细说明。
图2为本发明数据处理方法实施例二的流程图,图3为3DTorous组网的部分节点图,本实施例将本发明数据处理方法具体应用于Hadoop分布式文件系统(HadoopDistributedFileSystem,简称HDFS)中,举例而言,一个文件A存储于如图3所示的3DTorous组网的部分节点中,该文件A的大小为512MB,HDFS的块大小为64MB,一共是8个块,分散的存储在1-8节点上,要求8个块生成2个效验块,一个效验块存放在9节点,一个存放在其他的节点,这里以4节点接收集群下发的EC任务做举例说明,如图2所示,本实施例的方法可以包括:
步骤201、对网络中的各节点进行区域划分。
可以通过现有一些诊断网络的方法对各节点计算能力或各节点之间的网络带宽、延迟情况进行诊断,对网络中的各节点进行区域划分,一个区域内的节点的计算能力或各节点之间的网络带宽、延迟情况相差不大,举例而言,图3中的1、2、3和4节点之间的网络带宽为1GE,而5、6、7和8节点之间的网络带宽为5GE,网络中每个节点的计算能力相同,那么通过区域划分,将1、2、3和4节点划分为一个区域R1,5、6、7和8划分为另一个区域R2。在实际应用中,划分的区域个数可根据实际情况决定,例如可以设定一个阈值,当节点之间的带宽超过另一节点之间的带宽X倍时可划分为另一个区域。
步骤202、获取生成矩阵,同时确定各区域的主节点。
具体的,由于本实施中的原始数据的个数为8,效验数据的个数为2,根据原始数据的个数和效验数据的个数获取生成矩阵H1。同时,可以根据网络中各节点的位置信息确定各区域的主节点,具体的,例如,4节点接收集群下发的EC任务,则4节点为其所属区域的主节点,即4节点为区域R1的主节点,根据位置信息分析后,可知在R2中8节点距离4节点较近,则选取8节点为区域R2中的主节点。
步骤203、根据区域划分结果进行生成效验数据处理。
具体的,由于进行区域划分后,将网络中的节点划分为两个区域,所以根据划分结果将生成矩阵H1划分为两个生成子矩阵H11和H12。
具体的,4节点从1至4节点读取固定长度(1MBBuffer)的数据利用H11做矩阵乘法运算,即 获取p′=1*d1+1*d2+1*d3+1*d4,q′=64*d1+32*d2+16*d3+8*d4。8节点从5至8节点读取固定长度(1MBBuffer)的数据利用H12做矩阵乘法运算,即 获取p″=1*d5+1*d6+1*d7+1*d8,q″=4*d5+2*d6+1*d7+1*d8。由于区域R2中各节点之间的带宽是区域R1中各节点之间的带宽的5倍,所以在8节点计算获取p″和q″时,4节点还未完成计算p′和q′,所以在8节点完成此次计算后将获取的计算结果存储于本地,等待4节点计算完成后从8节点处获取该计算结果,而与此同时,8节点完成一次计算后可以进行下一个计算,即读取A文件其余数据(或是执行其他文件的读取)进行计算,以提高计算效率。其中,可以理解的,在8节点或4节点每次完成计算后生成的计算结果都有相应的编号,以便存储和获取,比如本实施中A文件为512MB,8个数据块,依次读取8个数据块中的1MB的数据进行计算,则依顺序为每次计算结果编号,即计算结果的编号为1至64。
4节点生成计算结果后,根据生成的编号从8节点中获取相同编号的计算后的结果数据,即获取p=p′+p″和q=q′+q″。
步骤204、将计算结果写入相应节点中。
具体的,4节点将获取的p和q分别写入9节点和其它节点中。
上述步骤中所采用的编码方式为范德蒙编码,编码方式还可以使用柯西矩阵代替范德蒙行列式,从而使得生成矩阵变得更为简单,即把范德蒙矩阵转换为只有0、1元素的位矩阵,这样矩阵的乘法就变成了XOR运算,从而提高性能。
步骤205、根据区域划分结果进行恢复原始数据处理。
当网络中节点上存储的数据(原始数据和效验数据)有部分丢失时,需要进行恢复原始数据处理,具体的根据编码的生成矩阵删除对应的丢失行,根据线性代数的行列式转换得到该矩阵的逆矩阵,该逆矩阵即为恢复矩阵,对于解码恢复原始数据的过程与编码产生效验数据的过程是相通的,具体的,根据划分结果将恢复矩阵划分为恢复子矩阵,各区域的主节点(4和8节点)分别获取各区域的剩余数据(即原始数据和效验数据中除去丢失的数据),利用各区域的恢复子矩阵,获取各区域对应的恢复子数据,最后由4节点根据各区域生成的恢复子数据获取原始数据,其原理都是GF域上的加法或XOR操作。
步骤206、将恢复的原始数据存储于对应的节点上。
本实施例,通过区域划分和矩阵拆分,将一个大任务(4节点进行EC算法)拆分为多个子任务(4节点和8节点同时进行EC算法),各子任务分布式并行运行,利用本实施的方法可以有效减少数据的传输量和传输次数,进而提升EC算法的性能。
需要说明的是,在分布式存储和分布式文件系统里都可以利用本发明实施例的数据处理方法来提高系统的性能。另外,对于不是传统的走交换机的集中式组网方式,未来的3维以上的组网拓扑都可以利用本发明实施例的数据处理方法。本发明实施例的数据处理方法具有广泛的可应用性。
图4为本发明数据处理装置实施例一的结构示意图,如图4所示,本实施例的装置可以包括:接收模块11、获取模块12和处理模块13,其中,接收模块11用于接收管理节点发送的数据处理任务消息,所述数据处理任务消息携带有原始数据个数和效验数据个数,获取模块12用于获根据所述原始数据个数和所述效验数据个数获取生成矩阵;同时获取所述管理节点对网络中各数据存储节点进行区域划分的区域划分结果,其中,所述区域划分结果包括区域个数和各区域内的各数据存储节点的信息,处理模块13用于根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,所述数据处理包括生成效验数据处理和恢复原始数据处理。
可选的,若所述数据处理为生成效验数据处理;处理模块13具体用于:根据所述区域个数和所述生成矩阵获取多个生成子矩阵,所述生成子矩阵的个数与所述区域个数相同,且各生成子矩阵与各区域一一对应;根据区域内的各数据存储节点的数据和所述区域的生成子矩阵获取效验子数据,并获取其他区域的主数据存储节点生成的效验子数据;利用各区域的效验子数据生成效验数据,并将所述效验数据存储于相应的数据存储节点中。
进一步的,处理模块13还用于向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的生成子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的生成子矩阵获取效验子数据。
若所述数据处理为恢复原始数据处理;处理模块13具体用于:根据丢失数据和所述生成矩阵获取恢复矩阵;根据所述区域个数和所述恢复矩阵获取多个恢复子矩阵,所述恢复子矩阵的个数和所述区域个数相同,且各恢复子矩阵与各区域一一对应;根据区域内的各数据存储节点中的数据和所述区域的恢复子矩阵获取恢复子数据,并获取所述其他区域的主数据存储节点生成的恢复子数据;利用各区域的恢复子数据生成原始数据,并将所述原始数据存储于各原始数据所在数据存储节点中。
进一步的,处理模块13还用于:向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的恢复子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的恢复子矩阵获取恢复子数据。
本实施例的装置,可以用于执行图1和图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本发明数据处理装置实施例二的结构示意图,如图5所示,本实施例的装置在图4所示装置结构的基础上,进一步地,还可以包括:确定模块14,该确定模块14用于根据所述各区域内的各数据存储节点的信息确定其他区域的主数据存储节点。
本实施例的装置,可以用于执行图1和图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
接收管理节点发送的数据处理任务消息,所述数据处理任务消息携带有原始数据个数和效验数据个数;
根据所述原始数据个数和所述效验数据个数获取生成矩阵;同时获取所述管理节点对网络中各数据存储节点进行区域划分的区域划分结果,其中,所述区域划分结果包括区域个数和各区域内的各数据存储节点的信息;
根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,所述数据处理包括生成效验数据处理和恢复原始数据处理。
2.根据权利要求1所述的方法,其特征在于,若所述数据处理为生成效验数据处理;
所述根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,包括:
根据所述区域个数和所述生成矩阵获取多个生成子矩阵,所述生成子矩阵的个数与所述区域个数相同,且各生成子矩阵与各区域一一对应;
根据区域内的各数据存储节点中的数据和所述区域的生成子矩阵获取效验子数据,并获取其他区域的主数据存储节点生成的效验子数据;
利用各区域的效验子数据生成效验数据,并将所述效验数据存储于相应的数据存储节点中。
3.根据权利要求2所述的方法,其特征在于,所述获取其他区域的主数据存储节点生成的效验子数据之前,还包括:
向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的生成子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的生成子矩阵获取效验子数据。
4.根据权利要求1所述的方法,其特征在于,若所述数据处理为恢复原始数据处理;
所述根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,包括:
根据丢失数据和所述生成矩阵获取恢复矩阵;
根据所述区域个数和所述恢复矩阵获取多个恢复子矩阵,所述恢复子矩阵的个数和所述区域个数相同,且各恢复子矩阵与各区域一一对应;
根据区域内的各数据存储节点中的数据和所述区域的恢复子矩阵获取恢复子数据,并获取其他区域的主数据存储节点生成的恢复子数据;
利用各区域的恢复子数据生成原始数据,并将所述原始数据存储于各原始数据所在数据存储节点中。
5.根据权利要求4所述的方法,其特征在于,所述获取其他区域的主数据存储节点生成的恢复子数据之前,还包括:
向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的恢复子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的恢复子矩阵获取恢复子数据。
6.根据权利要求2至5任一项所述的方法,其特征在于,在根据所述区域划分结果进行数据处理之前,所述方法还包括:
根据所述各区域内的各数据存储节点的信息确定其他区域的主数据存储节点。
7.一种数据处理装置,其特征在于,包括:
接收模块,用于接收管理节点发送的数据处理任务消息,所述数据处理任务消息携带有原始数据个数和效验数据个数;
获取模块,用于根据所述原始数据个数和所述消息数据个数获取生成矩阵;同时获取所述管理节点对网络中各数据存储节点进行区域划分的区域划分结果,其中,所述区域划分结果包括区域个数和各区域内的各数据存储节点的信息;
处理模块,用于根据所述区域划分结果和所述生成矩阵对网络中各数据存储节点中的数据进行数据处理,所述数据处理包括生成效验数据处理和恢复原始数据处理。
8.根据权利要求7所述的装置,其特征在于,若所述数据处理为生成效验数据处理;
所述处理模块具体用于:
根据所述区域个数和所述生成矩阵获取多个生成子矩阵,所述生成子矩阵的个数与所述区域个数相同,且各生成子矩阵与各区域一一对应;
根据区域内的各数据存储节点的数据和所述区域的生成子矩阵获取效验子数据,并获取其他区域的主数据存储节点生成的效验子数据;
利用各区域的效验子数据生成效验数据,并将所述效验数据存储于相应的数据存储节点中。
9.根据权利要求8所述的装置,其特征在于,所述处理模块还用于:向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的生成子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的生成子矩阵获取效验子数据。
10.根据权利要求7所述的装置,其特征在于,若所述数据处理为恢复原始数据处理;
所述处理模块具体用于:
根据丢失数据和所述生成矩阵获取恢复矩阵;
根据所述区域个数和所述恢复矩阵获取多个恢复子矩阵,所述恢复子矩阵的个数和所述区域个数相同,且各恢复子矩阵与各区域一一对应;
根据区域内的各数据存储节点中的数据和所述区域的恢复子矩阵获取恢复子数据,并获取其他区域的主数据存储节点生成的恢复子数据;
利用各区域的恢复子数据生成原始数据,并将所述原始数据存储于各原始数据所在数据存储节点中。
11.根据权利要求10所述的装置,其特征在于,所述处理模块还用于:向所述其他区域的主数据存储节点分别发送所述其他区域的主数据存储节点所属区域的恢复子矩阵,以使所述其他区域的主数据存储节点根据自身所属区域内的各数据存储节点中的数据和自身所属区域的恢复子矩阵获取恢复子数据。
12.根据权利要求8至11任一项所述的装置,其特征在于,所述装置还包括:
确定模块,用于根据所述各区域内的各数据存储节点的信息确定其他区域的主数据存储节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410606716.6A CN105610879B (zh) | 2014-10-31 | 2014-10-31 | 数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410606716.6A CN105610879B (zh) | 2014-10-31 | 2014-10-31 | 数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105610879A true CN105610879A (zh) | 2016-05-25 |
CN105610879B CN105610879B (zh) | 2019-05-17 |
Family
ID=55990416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410606716.6A Active CN105610879B (zh) | 2014-10-31 | 2014-10-31 | 数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105610879B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201764A (zh) * | 2016-06-29 | 2016-12-07 | 北京三快在线科技有限公司 | 一种数据存储方法和装置、一种数据恢复方法和装置 |
CN111625402A (zh) * | 2020-05-28 | 2020-09-04 | 北京金山云网络技术有限公司 | 数据恢复方法、装置、电子设备及计算机可读存储介质 |
CN115964445A (zh) * | 2023-02-23 | 2023-04-14 | 合肥申威睿思信息科技有限公司 | 一种分布式数据库的多副本实现方法和装置 |
WO2023115272A1 (zh) * | 2021-12-20 | 2023-06-29 | 华为技术有限公司 | 一种芯片管理装置及相关方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114826A1 (en) * | 2008-10-24 | 2010-05-06 | Microsoft Corporation | Configuration management in distributed data systems |
CN103428288A (zh) * | 2013-08-13 | 2013-12-04 | 浙江大学 | 基于分区状态表和协调节点的副本同步方法 |
CN103810244A (zh) * | 2013-12-09 | 2014-05-21 | 北京理工大学 | 一种基于数据分布的分布式数据存储系统的扩容方法 |
-
2014
- 2014-10-31 CN CN201410606716.6A patent/CN105610879B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114826A1 (en) * | 2008-10-24 | 2010-05-06 | Microsoft Corporation | Configuration management in distributed data systems |
CN103428288A (zh) * | 2013-08-13 | 2013-12-04 | 浙江大学 | 基于分区状态表和协调节点的副本同步方法 |
CN103810244A (zh) * | 2013-12-09 | 2014-05-21 | 北京理工大学 | 一种基于数据分布的分布式数据存储系统的扩容方法 |
Non-Patent Citations (1)
Title |
---|
蒋海波: "海量数据存储系统的高可靠性关键技术研究与应用", 《中国博士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201764A (zh) * | 2016-06-29 | 2016-12-07 | 北京三快在线科技有限公司 | 一种数据存储方法和装置、一种数据恢复方法和装置 |
WO2018000788A1 (zh) * | 2016-06-29 | 2018-01-04 | 北京三快在线科技有限公司 | 一种数据存储方法和装置、一种数据恢复方法和装置 |
CN106201764B (zh) * | 2016-06-29 | 2019-03-12 | 北京三快在线科技有限公司 | 一种数据存储方法和装置、一种数据恢复方法和装置 |
US10754727B2 (en) | 2016-06-29 | 2020-08-25 | Beijing Sankuai Online Technology Co., Ltd | Method and apparatus for storing data and method and apparatus for recovering data |
CN111625402A (zh) * | 2020-05-28 | 2020-09-04 | 北京金山云网络技术有限公司 | 数据恢复方法、装置、电子设备及计算机可读存储介质 |
WO2023115272A1 (zh) * | 2021-12-20 | 2023-06-29 | 华为技术有限公司 | 一种芯片管理装置及相关方法 |
CN115964445A (zh) * | 2023-02-23 | 2023-04-14 | 合肥申威睿思信息科技有限公司 | 一种分布式数据库的多副本实现方法和装置 |
CN115964445B (zh) * | 2023-02-23 | 2024-03-05 | 合肥申威睿思信息科技有限公司 | 一种分布式数据库的多副本实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105610879B (zh) | 2019-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095364B (zh) | 一种数据同步系统和方法 | |
US9722637B2 (en) | Construction of MBR (minimum bandwidth regenerating) codes and a method to repair the storage nodes | |
Rashmi et al. | Having Your Cake and Eating It Too: Jointly Optimal Erasure Codes for {I/O}, Storage, and Network-bandwidth | |
CN102624866B (zh) | 一种存储数据的方法、装置及分布式网络存储系统 | |
RU2501072C2 (ru) | Распределенное хранение восстанавливаемых данных | |
CN110334075B (zh) | 基于消息中间件的数据迁移方法及相关设备 | |
CN104052576B (zh) | 一种云存储下基于纠错码的数据恢复方法 | |
CN103106124B (zh) | 一种基于纠删码集群存储系统的交叉重构方法 | |
US20170060700A1 (en) | Systems and methods for verification of code resiliency for data storage | |
US9864550B2 (en) | Method and apparatus of recovering and encoding for data recovery in storage system | |
CN105610879A (zh) | 数据处理方法和装置 | |
CN110597655B (zh) | 迁移和基于纠删码的重构相耦合快速预知修复方法及装置 | |
CN110089035A (zh) | 存储控制器、数据处理芯片及数据处理方法 | |
CN106201764B (zh) | 一种数据存储方法和装置、一种数据恢复方法和装置 | |
CN114153651B (zh) | 一种数据编码方法、装置、设备及介质 | |
US10761761B2 (en) | Method and device for managing storage system | |
WO2017028494A1 (zh) | 一种数据恢复的方法、存储的方法相应的装置及系统 | |
CN115657960B (zh) | 一种磁盘阵列初始化方法、装置、设备及可读存储介质 | |
CN105808170A (zh) | 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法 | |
CN104461774B (zh) | 异步复制方法、装置与系统 | |
CN109828723A (zh) | 一种分布式存储系统及其精确数据修复方法及装置 | |
CN105007286B (zh) | 解码方法和装置及云存储方法和系统 | |
CN106789446A (zh) | 一种节点对等的集群分布式测试框架和方法 | |
Olmez et al. | Constructions of fractional repetition codes from combinatorial designs | |
CN104782101A (zh) | 用于分布式网络存储的自修复码的编码、重构和恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160726 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant after: Huawei Technologies Co., Ltd. Address before: 518129 Longgang District, Guangdong, Bantian HUAWEI base B District, building 2, building No. Applicant before: Shenzhen Huawei Technologies Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |