一种数据处理的方法及系统转让专利

申请号 : CN202111658103.3

文献号 : CN114327284B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邓全才

申请人 : 河北建筑工程学院

摘要 :

本申请公开了一种数据的处理方法及系统,其中数据的处理方法具体包括以下步骤:获取源数据;对源数据进行数据分配;响应于进行数据分配后,判断是否能进行数据恢复;若能进行数据恢复,设置预读机制,进行源数据的预读;判断源数据预读是否异常,若异常则进行预读优化;响应于完成预读优化,结束预读,根据用户请求进行源数据的读出。本申请能够对海量数据进行处理,即在对数据进行存储后,利用数据接收节点对数据进行恢复,对恢复数据有了良好的判断的同时,也为后续数据的读出做了充足的准备。

权利要求 :

1.一种数据的处理方法,其特征在于,具体包括以下步骤:获取源数据;

对源数据进行数据分配;

响应于进行数据分配后,判断是否能进行数据恢复;

若能进行数据恢复,设置预读机制,进行源数据的预读;

判断源数据预读是否异常,若异常则进行预读优化;

响应于完成预读优化,结束预读,根据用户请求进行源数据的读出;

其中对源数据进行数据分配具体包括以下步骤:

将源数据分配至数据存储节点,确定数据存储节点是否满足存储空间限制;

分配到各数据存储节点的数据量表示为xi,m表示数据存储节点的个数,T为数据存储节点的存储空间限制,若 则确定数据存储节点的失效概率;失效概率需满足其中Si表示现存储系统中,现有数据存储节点加上所有复制i节点的数据存储节点组成的集合,qi表示现存储系统中的数据存储节点在指定时间内的失效概率,Pred表示前存储系统的整体失效概率;根据失效概率,设置网络中数据信息交换量;

其中判断是否能进行数据恢复中,假设一个或多个数据接收节点恢复源数据需要访问r个数据存储节点,组成r子集,使用|r|表示r子集中的元素个数,即数据存储节点个数,则成功恢复数据的概率S具体表示为:其中当xi≥1时,即数据接收节点访问的数据量大于等于1时, 反之m表示数据存储节点的数量,M\r表示一个r子集关于M的补集,xi表示将源数据分配至各数据存储节点的数据量,pi表示数据存储节点i能够正常接收数据的概率,pj表示数据存储节点j能够正常接收数据的概率;

若成功恢复数据的概率S大于指定阈值,则说明能进行数据恢复。

2.如权利要求1所述的数据的处理方法,其特征在于,判断源数据预读正常,则结束预读,根据用户请求进行源数据的读出。

3.如权利要求1所述的数据的处理方法,其特征在于,设置三道获取防线,具备编码条件的第一道防线负责从外部获取源数据并进行编码操作,并将编码操作后的源数据传输至具备编码条件的第二道防线,具备译码条件的第三道防线负责接收编码后的源数据,并根据编码操作后的数据获取源数据。

4.如权利要求1所述的数据的处理方法,其特征在于,判断是否能够进行数据恢复包括,预先设置的多个数据接收节点从数据存储节点中恢复源数据,判断数据接收节点能否进行源数据的恢复。

5.如权利要求4所述的数据的处理方法,其特征在于,数据接收节点与数据存储节点为一对一、一对多或多对一的关系。

6.如权利要求5所述的数据的处理方法,其特征在于,数据接收节点从对应的数据存储节点进行数据恢复,二者的对应关系为一对一;一个数据接收节点能够从多个分块存储同一源数据的数据存储节点中恢复数据,二者的对应关系为一对多;存储在一个数据存储节点的数据量过大,多个数据接收节点分块对源数据进行恢复,二者的对应关系为多对一。

7.一种数据处理系统,其特征在于,具体包括:获取单元、分配单元、判断单元、预读单元、优化单元以及读出单元;

获取单元,用于获取源数据;

分配单元,用于对源数据进行数据分配;

判断单元,用于判断在数据分配后,能否进行数据恢复;

预读单元,用于若能进行数据恢复,设置预读机制,进行源数据的预读;

优化单元,用于进行数据预读过程中的优化;

读出单元,用于根据用户的访问请求读出源数据;

分配单元对源数据进行数据分配具体包括以下步骤:

将源数据分配至数据存储节点,确定数据存储节点是否满足存储空间限制;

分配到各数据存储节点的数据量表示为xi,m表示数据存储节点的个数,T为数据存储节点的存储空间限制,若 则确定数据存储节点的失效概率;失效概率需满足其中Si表示现存储系统中,现有数据存储节点加上所有复制i节点的数据存储节点组成的集合,qi表示现存储系统中的数据存储节点在指定时间内的失效概率,Pred表示前存储系统的整体失效概率;根据失效概率,设置网络中数据信息交换量;

判断单元判断是否能进行数据恢复中,假设一个或多个数据接收节点恢复源数据需要访问r个数据存储节点,组成r子集,使用|r|表示r子集中的元素个数,即数据存储节点个数,则成功恢复数据的概率S具体表示为:其中当xi≥1时,即数据接收节点访问的数据量大于等于1时, 反之m表示数据存储节点的数量,M\r表示一个r子集关于M的补集,xi表示将源数据分配至各数据存储节点的数据量,pi表示数据存储节点i能够正常接收数据的概率,pj表示数据存储节点j能够正常接收数据的概率;

若成功恢复数据的概率S大于指定阈值,则说明能进行数据恢复。

说明书 :

一种数据处理的方法及系统

技术领域

[0001] 本申请涉及数据处理领域,具体地,涉及一种数据的处理方法及系统。

背景技术

[0002] 随着信息科学技术的不断发展,在计算机上存储和处理的数据越来越多,对这些海量的数据进行处理是一件非常耗时且时时可能存在安全隐患的事情,对于数据处理存在的安全隐患问题,常见的解决方式是对数据在传输过程中进行加密,但是仅仅加密并不能保证数据的安全读入和读出,在数据的读入和读出过程依然存在数据泄露或其他的风险。
[0003] 因此,如何提供一种数据处理的方法能够使数据的读入和读出更为安全,是本领域技术人员急需解决的问题。

发明内容

[0004] 本申请提供了一种数据的处理方法,具体包括以下步骤:获取源数据;对源数据进行数据分配;响应于进行数据分配后,判断是否能进行数据恢复;若能进行数据恢复,设置预读机制,进行源数据的预读;判断源数据预读是否异常,若异常则进行预读优化;响应于完成预读优化,结束预读,根据用户请求进行源数据的读出。
[0005] 如上的,其中,判断源数据预读正常,则结束预读,根据用户请求进行源数据的读出。
[0006] 如上的,其中,设置三道获取防线,具备编码条件的第一道防线负责从外部获取源数据并进行编码操作,并将编码操作后的源数据传输至具备编码条件的第二道防线,具备译码条件的第三道防线负责接收编码后的源数据,并根据编码操作后的数据获取源数据。
[0007] 如上的,其中,对源数据进行数据分配具体包括以下子步骤:将数据分配至数据存储节点,确定数据存储节点是否满足存储空间限制;若数据存储节点满足存储空间限制,确定数据存储节点的失效概率;若失效概率满足指定条件,根据失效概率,设置网络中数据信息交换量。
[0008] 如上的,其中,将源数据分配至各个数据存储节点,分配到个数据存储节点的数据量表示为xi,m表示数据存储节点的个数,T为数据存储节点的存储空间限制,若 则确定数据存储节点的失效概率。
[0009] 如上的,其中,失效概率需满足: 其中Si表示现存储系统中,现有数据存储节点加上所有复制i节点的数据存储节点组成的集合,qi表示现存储系统中的数据存储节点在指定时间内的失效概率,Pred表示前存储系统的整体失效概率。
[0010] 如上的,其中,判断是否能够进行数据恢复包括,预先设置的多个数据接收节点从数据存储节点中恢复源数据,判断数据接收节点能否进行源数据的恢复。
[0011] 如上的,其中,数据接收节点与数据存储节点为一对一、一对多或多对一的关系。
[0012] 如上的,其中,数据接收节点从对应的数据存储节点进行数据恢复,二者的对应关系为一对一;一个数据接收节点能够从多个分块存储同一源数据的数据存储节点中恢复数据,二者的对应关系为一对多;存储在一个数据存储节点的数据量过大,多个数据接收节点分块对源数据进行恢复,二者的对应关系为多对一。
[0013] 一种数据处理系统,具体包括:获取单元、分配单元、判断单元、预读单元、优化单元以及读出单元;获取单元,用于获取源数据;分配单元,用于对源数据进行数据分配;判断单元,用于判断在数据分配后,能否进行数据恢复;预读单元,用于若能进行数据恢复,设置预读机制,进行源数据的预读;优化单元,用于进行数据预读过程中的优化;读出单元,用于根据用户的访问请求读出源数据。
[0014] 本申请具有以下有益效果:
[0015] 本申请能够对海量数据进行处理,即在对数据进行存储后,利用数据接收节点对数据进行恢复,对恢复数据有了良好的判断的同时,也为后续数据的读出做了充足的准备。同时本申请设置预读机制,能够提前模拟用户读出数据的场景,并尽可能在降低用户访问开销的同时也能保证用户顺利进行数据的读出。

附图说明

[0016] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0017] 图1是根据本申请实施例提供的数据处理的方法的流程图;
[0018] 图2是根据本申请实施例提供的数据处理系统的内部结构图。

具体实施方式

[0019] 下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0020] 本申请涉及一种数据处理的方法及系统。根据本申请,能够对海量数据进行处理,从而使数据在存储过程以及用户访问存储数据时更为安全。
[0021] 实施例一
[0022] 如图1所示,是本申请提供的一种数据处理方法及系统,具体包括以下步骤:
[0023] 步骤S110:获取源数据。
[0024] 其中,本申请获取数据集的方式为二次获取,具体在分布式系统中设置三道获取防线,具备编码条件的第一道防线负责从外部获取源数据并进行编码操作,并将编码操作后的源数据传输至具备编码条件的第二道防线,具备译码条件的第三道防线负责接收编码后的源数据,并根据编码操作后的数据获取源数据。
[0025] 其中第一至三道防线可以以网络节点,网络链路等形式存在。
[0026] 以下是将网络节点作为第一至三道防线的具体说明。
[0027] 具体地,第一数据节点获取源数据,使用编码信息a对其进行编码操作。
[0028] 进一步地,第一数据节点将编码结果(a+b)和编码信息a发送到第二数据节点,第二数据节点将接收到的信息发送给第三数据节点。第三数据节点接收到编码结果(a+b)和编码信息a后,通过译码操作,计算(a+b‑a)得到了源数据b。
[0029] 通过上述方式,具备编码条件的数据节点对接收到的源数据信息按照一定方式编码处理然后传输给依然具备编码条件的数据节点,该数据节点按照同样的方式对收到的数据进行传输,直至所有经过编码处理后的源数据都汇聚到数据节点,数据节点通过译码操作,即可获取源数据。
[0030] 本实施例对数据进行了编码操作,具有更好的网络吞吐量,能够均衡网络负载和提升网络带宽利用率。通过将网络编码与分布式存储系统相结合,能够提升分布式存储系统的性能。在获取源数据后,主动对源数据进行加密解密操作,保证了在获取源数据时的安全性。
[0031] 步骤S120:对源数据进行数据分配。
[0032] 其中通过步骤S110获取到数据后,对数据进行数据分配。
[0033] 其中对数据进行数据分配具体包括以下子步骤:
[0034] 步骤S1201:将数据分配至数据存储节点,确定数据存储节点是否满足存储空间限制。
[0035] 其中,将源数据分配至各个数据存储节点,分配到各数据存储节点的数据量表示为xi,m表示数据存储节点的个数,T为数据存储节点的存储空间限制,若 则说明将源数据分配至各数据存储节点后存储空间依然有余量。执行步骤S1202,否则说明存储空间内存不足,流程退出。
[0036] 步骤S1202:确定数据存储节点的失效概率。
[0037] 其中数据存储节点是分布式存储系统中设立的多个节点,用于进行数据的暂时存储处理。
[0038] 在建立数据存储节点的过程中,由于需要存储的数据的数据量过大,需要进行节点的增加,在增加的过程中,可能出现复制数据存储节点从而使数据存储节点的数量增加,例如复制数据存储节点i为数据存储节点j,从而使整个存储系统内的节点增加,其中数据存储节点j即为数据存储节点i的副本。
[0039] 在增加节点后,很可能存在一个或多个数据存储节点失效的问题,数据存储节点的失效直接导致后续的数据恢复,以及影响整个系统的性能,因此在本实施例中需要确定数据存储节点的失效概率以保证整个系统的正常运行。
[0040] 其中将复制数据存储节点前的全部数据存储节点定义为前存储系统,将复制数据存储节点后的全部数据存储节点定义为现存储系统,其中数据存储节点失效概率需满足:
[0041]
[0042] 其中Si表示现存储系统中,现有数据存储节点加上所有复制i节点的数据存储节点组成的集合,qi表示现存储系统中的数据存储节点在指定时间内的失效概率,Pred表示前存储系统的整体失效概率。
[0043] 其中数据存储节点在指定时间内的失效概率,可根据历史时间中数据存储节点的表现以及数据存储节点的性能进行确定,若选取的历史时间中数据存储节点均能成功存储数据,且一定时间内数据存储节点的性能依然良好,则该数据存储节点的失效概率是极小的,反之则失效概率较大,其中数值可在0.1‑1之间取值。
[0044] 参照上述方式,前存储系统的整体失效概率为前存储系统中全部数据存储节点的失效概率之和。
[0045] 其中数据存储节点失效概率满足上述公式,则执行步骤S1203,否则流程退出。
[0046] 步骤S1203:根据失效概率,设置网络中数据信息交换量。
[0047] 其中由于存在复制节点的情况,其中定义数据存储节点i类的节点为非复制数据存储节点,数据存储节点j类的节点为复制数据存储节点。
[0048] 假设复制后的节点直接信息传递数量最小,使用二进制数0,1来表示某一非复制存储数据节点是否被复制,假设共有N各数据存储节点,因此用N*N的矩阵X来表示数据存储节点的复制情况:
[0049]
[0050] 由于假设复制后的节点直接信息传递数量最小,因此根据矩阵Xij设置网络中信息交换的数量,网络中信息交换的数量即设置非复制数据存储节点到数据存储节点的通信开销D,具体表示为:
[0051]
[0052] 其中dij表示节点i到节点j的跳数,Xij表示数据存储节点的复制情况矩阵。
[0053] 其中跳数表示节点i到节点j要经过几个节点的转发,几个节点就是几跳。
[0054] 步骤S130:响应于进行数据分配后,判断是否能进行数据恢复。
[0055] 响应于进行数据分配后,当用户需要访问数据时,系统中预先设置的多个数据接收节点首先需要从数据存储节点中恢复源数据。
[0056] 优选地,可以使用一个或多个数据接收节点进行数据恢复。
[0057] 数据接收节点与数据存储节点为一对一或一对多或多对一的关系。以下分别对对应关系进行说明。
[0058] 其中对应关系为一对一的,即数据接收节点从对应的数据存储节点进行数据恢复;对应关系为一对多的,即一个数据接收节点能够从多个数据存储节点中恢复数据,值得注意的是,此时多个数据存储节点为分块存储同一源数据的节点。对应关系为多对一的,即存储在一个数据存储节点的数据量过大,需要多个数据接收节点分块对源数据进行恢复。
[0059] 其中一个或多个数据接收节点能够成功恢复出源数据,其访问的数据存储节点获得的数据量不小于源数据,源数据为单位大小,即一个或多个数据接收节点访问的数据量不小于1。
[0060] 其中假设一个或多个数据接收节点恢复源数据需要访问r个数据存储节点,组成r子集,使用|r|表示r子集中的元素个数,即数据存储节点个数,本实施例采用了数据接收节点访问2个数据存储节点的情况来计算成功恢复数据的概率,其中成功恢复数据的概率S具体表示为:
[0061]
[0062] 其中当xi≥1时,即数据接收节点访问的数据量大于等于1时, 反之其中m表示数据存储节点的数量,M\r表示一个r子集关于M的补集,xi表示将
源数据分配至各数据存储节点的数据量,pi表示数据存储节点i能够正常接收数据的概率,pj表示数据存储节点j能够正常接收数据的概率。
[0063] 其中数据存储节点i能够正常接收数据的概率和数据存储节点j能够正常接收数据的概率通过预先根据数据存储节点的历史数据记录得出,例如若数据存储节点i未存在或较少的存在异常接收数据的情况,则该数据节点能够正常接收数据的概率较大,反之则较小。
[0064] 每个数据存储节点都会由工作人员提前输入到数据存储节点自身,当计算成功恢复数据的概率S需要用到的数据存储节点时,会自动调取到该数据存储节点正常接收数据的概率。
[0065] 其中若成功恢复数据的概率S大于指定阈值,则认为当用户需要访问数据时,一个或多个数据接收节点能够从数据存储节点中恢复源数据,进行源数据的恢复并执行步骤S140。反之则认为一个或多个数据接收节点不能从数据存储节点中恢复源数据,流程退出。
[0066] 本实施例采用了计算成功恢复数据的概率S值的方式,能够对是否能恢复源数据有了一个大概的了解,也为后续源数据的预读做了充分的准备。
[0067] 步骤S140:设置预读机制,进行源数据的预读。
[0068] 响应于数据接收节点能够进行数据的恢复,则执行数据的预读。
[0069] 其中预读机制为,响应于接收到用户访问数据的请求后,不立即执行数据的读出,而是在系统中提前模拟数据的读出,即将真实的用户访问数据的位置输入至系统中,根据用户位置进行数据的预读。
[0070] 此时一个或多个数据接收节点已经进行了数据的恢复处理,获取了源数据。若用户需要访问源数据,则该一个或多个数据接收节点作为数据读出点,用户从数据接收节点进行源数据的读出。
[0071] 进一步地,其中确定用户的位置到每个数据接收节点所需的跳数为H(k),用户到每个数据接收节点的所需跳数可能都不相同,其中用户访问每个数据接收节点最好都能精准的保证该数据节点能正常读出源数据,因此本实施例为了确保读出源数据的正常性,在读出源数据时,进行数据接收节点预读性能的考量,
[0072] 其中预读性能A具体表示为:
[0073]
[0074] 其中,Wk表示作为数据读出点的数据接收节点组成的集合,uk表示作为数据读出点的数据接收节点k在指定时间内的失效概率,Wg表示系统预先设置的多个数据接收节点的集合,其中包括作为数据读出点的数据接收点,ug表示在全部的数据接收节点中数据接收节点g在指定时间的失效概率,H(k)表示用户的位置到每个数据接收节点所需的跳数。
[0075] 其中数据接收节点在指定时间内的失效概率,可根据历史时间中数据接收节点真实读出源数据的表现进行确定,比数据存储节点更为严格的是,只有选取的历史时间中数据接收节点均能成功存储数据,才能认为该数据存储节点的失效概率是极小的,反之则失效概率较大,其中数值可在0.1‑1之间取值。
[0076] 其中预读性能越大则表示越能成功进行源数据的读出,当预读性能低于指定阈值,则认为该用户访问该数据接收节点进行源数据的预读异常,执行步骤S150。反之执行步骤S160。
[0077] 步骤S150:进行预读优化。
[0078] 具体来说,预读优化即,将用户访问开销过大的数据接收节点中存储的数据转移至除该存储节点外的其他数据接收节点中。
[0079] 作为举例,若用户需要访问存有数据的数据接收节点A、B、C、D,其中根据上述公式计算得出用户访问上述数据接收节点时,数据接收节点的预读性能过低,则将数据接收节点A、B、C、D中的数据转移至例如数据接收节点E、F、G、H中,并根据公式5重新计算预读性能,若预读性能过低则依然进行预读优化,直至预读性能大于指定阈值,执行步骤S160。
[0080] 步骤S160:预读结束,根据用户请求进行源数据的读出。
[0081] 预读结束,立即执行用户的访问请求,从对应的数据接收节点中读出用户所需源数据。
[0082] 实施例二
[0083] 如图2所示,本申请提供一种数据处理系统,具体包括:获取单元210、分配单元220、判断单元230、预读单元240、优化单元250、读出单元260。
[0084] 获取单元210用于获取源数据。
[0085] 其中获取单元中包括多个数据节点,用于进行源数据的编码解码。
[0086] 分配单元220与获取210连接,用于对源数据进行数据分配。
[0087] 分配单元220将源数据分配至系统中的多个数据存储节点中。
[0088] 判断单元230与分配单元220连接,用于判断在数据分配后,能否进行数据恢复。
[0089] 其中具体使用数据接收节点从数据存储节点中恢复源数据。
[0090] 预读单元240与判断单元230连接,用于若能进行数据恢复,设置预读机制,进行源数据的预读。
[0091] 优化单元250与预读单元240连接,用于进行数据预读过程中的优化。
[0092] 读出单元260分别与预读单元240和优化单元250连接,用于响应于用户的访问请求读出源数据。
[0093] 本申请具有以下有益效果:
[0094] 本申请能够对海量数据进行处理,即在对数据进行存储后,利用数据接收节点对数据进行恢复,对恢复数据有了良好的判断的同时,也为后续数据的读出做了充足的准备。同时本申请设置预读机制,能够提前模拟用户读出数据的场景,并尽可能在降低用户访问开销的同时也能保证用户顺利进行数据的读出。
[0095] 虽然当前申请参考的示例被描述,其只是为了解释的目的而不是对本申请的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本申请的范围。
[0096] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。