CN113741818A - 一种数据分离及分散存储的方法 - Google Patents
一种数据分离及分散存储的方法 Download PDFInfo
- Publication number
- CN113741818A CN113741818A CN202111056794.XA CN202111056794A CN113741818A CN 113741818 A CN113741818 A CN 113741818A CN 202111056794 A CN202111056794 A CN 202111056794A CN 113741818 A CN113741818 A CN 113741818A
- Authority
- CN
- China
- Prior art keywords
- node
- file
- data
- hash
- downloaded
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000000926 separation method Methods 0.000 title claims description 12
- 230000011218 segmentation Effects 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据分离及分散存储的方法,包括以下步骤:上传过程包括:步骤S10:在上传端上将待上传文件进行数据分割,得到多个数据块;步骤S20:将多个数据块分别传输至不同服务器内的不同节点node上,完成待上传文件的分散上传;下载过程包括:步骤S30:在请求端上对不同节点node上存储的单个数据块进行哈希校验,获取待下载文件进行数据分割后的的多个数据块;步骤S40:对多个数据块进行整合恢复,得到待下载文件。通过采用上述技术方案,有效降低了文件整体存储在单个节点下因故障无法获取的概率,提高了文件存储的速度,并且降低了单个节点的存储配置要求。
Description
技术领域
本发明涉及分布式存储领域,具体涉及一种数据分离及分散存储的方法。
背景技术
分布式存储为当今用户和企业提供了一种高效、便利的数据存储方式,相比于传统的数据存储方式,分布式存储具有更高的系统可靠性、可用性、易拓展性和存取效率,将数据存储在整个网络中,也解决了集中式存储方案的性能瓶颈。
现有的分布式存储方法在数据冗余的情况下无法保证系统的执行效率,数据处理方法不够合理高效。因此,有必要研究一种具有较高安全性和存储性能的分布式存储系统,实现用户数据的安全存储和高效存取。
发明内容
本发明的目的是提供一种数据分离及分散存储的方法,其能够有效解决现有分布式存储过程中的缺陷,具体地,一种数据分离及分散存储的方法,包括以下步骤:
上传过程包括:步骤S10:在上传端上将待上传文件进行数据分割,得到多个数据块;步骤S20:将多个数据块分别传输至不同服务器内的不同节点node上,完成待上传文件的分散上传;
下载过程包括:步骤S30:在请求端上对不同节点node上存储的单个数据块进行哈希校验,获取待下载文件进行数据分割后的的多个数据块;步骤S40:对多个数据块进行整合恢复,得到待下载文件。
根据本发明的实施例,待上传文件、待下载文件以及每个数据块均包括唯一标识文件的hash值;上传过程中,待上传文件的hash值与数据分割后的多个数据块的hash值相互对应匹配;下载过程中,待下载文件的hash值与多个数据块的hash值相互对应匹配。
根据本发明的实施例,每个节点node存储有哈希表hash table,并且还存储有节点列表node list,节点列表node list包括节点node能够连接的其他所有节点node的节点信息,节点信息包括节点ip和节点address。
根据本发明的实施例,一个节点node与另一个节点node创建连接时,发起创建连接的节点node获取另一个节点node的节点列表node list,并向获取的节点列表node list中的每个节点node创建连接。
根据本发明的实施例,步骤S10中,数据分割过程采用KAD算法将待上传文件分割为多个数据块。
根据本发明的实施例,步骤S20中,采用并行传输,将多个数据块传输至不同节点node上。
根据本发明的实施例,步骤S30中,下载过程中,请求端表示的节点node为请求节点,请求节点与自己的节点列表node list中的距离请求节点的距离最近的邻近节点node创建连接,并获取邻近节点node的哈希表hash table,并将待下载文件的hash值与哈希表hash table中的数值进行哈希校验。
根据本发明的实施例,步骤S30中,若待下载文件的hash值与邻近节点的hashtable中的数值匹配成功,则哈希校验通过,在邻近节点中下载待下载文件的一个数据块。
根据本发明的实施例,步骤S30中,若待下载文件的hash值与邻近节点的hashtable中的数值未匹配成功,则哈希校验未通过,请求节点与自己的节点列表node list中的不包括已经进行过哈希校验的邻近节点的最近的次级邻近节点创建连接,进行哈希校验;
直到哈希校验通过时,请求节点与哈希校验通过的节点node直接建立连接,并下载待下载文件的一个数据块。
根据本发明的实施例,与请求节点进行哈希校验且哈希校验未通过的节点node为中间节点,中间节点的哈希表hash table中会记录待下载文件的数据块的hash值,并缓存数据块。
通过采用上述技术方案,本发明主要有如下几点技术效果:
1.通过将待上传文件数据分割为多个数据块,分散上传至网络中的不同的节点上,可有效提高网络中的服务器的存储资源利用率;
2.通过将待上传文件数据分割为多个数据块,可有效降低单个服务器节点的存储压力,有效避免数据集中存储下因单个区域故障导致文件无法获取的情况;
3.通过对数据块进行并行上传且通过哈希校验的方式进行寻址,提高了文件存储下载的速度和可靠性。
附图说明
图1为根据本发明的实施例的一种数据分离及分散存储的方法的流程示意图。
具体实施方式
下面结合说明书附图来说明本发明的具体实施方式。
请参照图1,本发明的实施例公开了一种数据分离及分散存储的方法,通过采用本实施例中的方法,可有效提高网络存储资源的综合利用率,同时保证文件存储的安全性和高效性。
本发明公开的一种数据分离及分散存储的方法,主要包括以下四个步骤:
上传过程包括:
步骤S10:在上传端上将待上传文件进行数据分割,得到多个数据块;
步骤S20:将所述多个数据块分别传输至不同服务器内的不同节点node上,完成所述待上传文件的分散上传;
下载过程包括:
步骤S30:在请求端上对不同节点node上存储的单个数据块进行哈希校验,获取待下载文件进行数据分割后的的所述多个数据块;
步骤S40:对所述多个数据块进行整合恢复,得到所述待下载文件。
本实施例中的分散存储包括上传和下载两个过程,在上传过程中,在上传端将待上传文件分割为多个数据块,将分割后所得的多个数据块分别存储在服务器集群中的不同服务器的不同的节点上。这一过程完成对待上传文件的上传存储过程。在下载过程中,在请求端进行哈希校验过程,根据待下载文件的标识,在网络中获取被待下载文件被分割后的多个数据块,经过整合恢复,即可得到待下载文件。
在文件的上传和下载过程中涉及的所述待上传文件、所述待下载文件以及每个所述数据块均被分配有唯一标识文件的hash值,并且分割前的文件的hash值与分割后所得的数据块的hash值具有对应匹配的关系,可根据hash值进行数据寻址。具体地,所述上传过程中,所述待上传文件的所述hash值与所述数据分割后的多个所述数据块的所述hash值相互对应匹配;所述下载过程中,所述待下载文件的所述hash值与多个所述数据块的所述hash值相互对应匹配。
本实施例中,不同服务器的每个所述节点node存储有哈希表hash table,并且还存储有节点列表node list,所述节点列表node list包括所述节点node能够连接的其他所有所述节点node的节点信息,所述节点信息包括节点ip和节点address。一个节点node可以通过节点列表node list中的其他节点node的节点信息与该节点尝试创建连接。并且,本实施例中一个所述节点node与另一个所述节点node创建连接时,发起创建连接的所述节点node将获取另一个所述节点node的所述节点列表node list,并向获取的所述节点列表node list中的每个所述节点node尝试创建连接,从而实现一个节点与网络中的越来越多的节点的连接。
本实施例中,步骤S10中,将待上传文件分割为多个数据块的过程采用KAD算法。通过使用KAD算法,使用网络中对应的椭圆曲线公钥进行哈希处理,可以从节点node中获取覆盖地址。对于公共密钥派生地址来说,它允许节点node使用加密签名。在KAD算法实现过程中,使用底层网络的长期通信渠道,形成具有长久对等连接的网络。然后,所得的连接可以实现在地址空间上定义的特定拓扑。并且通过提供中继消息的策略,在网络中建立两个任意节点node仅使用的底层对等连接。
为了提高文件上传的速度,本实施例中,在所述步骤S20中,采用并行传输,将多个所述数据块传输至不同所述节点node上。
在所述步骤S30中,所述下载过程中,所述请求端表示的所述节点node为请求节点。本实施例中,请求节点首先与自己的所述节点列表node list中的距离所述请求节点的距离最近的邻近节点node创建连接,并获取所述邻近节点node的所述哈希表hash table,并将所述待下载文件的所述hash值与所述哈希表hash table中的数值进行所述哈希校验。具体地,本实施例中的哈希校验为在连接的节点node的哈希表hash table中去寻找待下载文件的hash值,如果有,即为匹配成功,哈希校验通过,进一步,表示待下载文件被分割后的多个数据块中的一个数据块即存储在该节点node上;如果没有,即为匹配失败,此次哈希校验未通过,进一步,表示待下载文件被分割后的多个数据块中的任意一个数据块均未存储在该节点node上。
所述步骤S30中,若所述待下载文件的所述hash值与所述邻近节点的所述hashtable中的数值匹配成功,则所述哈希校验通过,在所述邻近节点中下载所述待下载文件的一个所述数据块。若所述待下载文件的所述hash值与所述邻近节点的所述hash table中的数值未匹配成功,则所述哈希校验未通过,所述请求节点与自己的所述节点列表node list中的不包括已经进行过所述哈希校验的所述邻近节点的最近的次级邻近节点创建连接,进行所述哈希校验。持续与距离相对最近的不同节点node依次执行上述哈希校验,直到所述哈希校验通过时,所述请求节点即与所述哈希校验通过的所述节点node直接建立连接,并下载所述待下载文件的一个所述数据块。
步骤S30中,与所述请求节点进行过所述哈希校验且所述哈希校验未通过的节点node为中间节点。为了给下一次对相同的这一数据块的访问请求提供更快的连接从而提高下载效率,本实施例中,所述中间节点的所述哈希表hash table中会记录所述待下载文件的所述数据块的所述hash值,并缓存所述数据块。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种数据分离及分散存储的方法,其特征在于,包括以下步骤:
上传过程包括:
步骤S10:在上传端上将待上传文件进行数据分割,得到多个数据块;
步骤S20:将所述多个数据块分别传输至不同服务器内的不同节点node上,完成所述待上传文件的分散上传;
下载过程包括:
步骤S30:在请求端上对不同节点node上存储的单个数据块进行哈希校验,获取待下载文件进行数据分割后的的所述多个数据块;
步骤S40:对所述多个数据块进行整合恢复,得到所述待下载文件。
2.根据权利要求1的一种数据分离及分散存储的方法,其特征在于:
所述待上传文件、所述待下载文件以及每个所述数据块均包括唯一标识文件的hash值;
所述上传过程中,所述待上传文件的所述hash值与所述数据分割后的多个所述数据块的所述hash值相互对应匹配;
所述下载过程中,所述待下载文件的所述hash值与多个所述数据块的所述hash值相互对应匹配。
3.根据权利要求2的一种数据分离及分散存储的方法,其特征在于:
每个所述节点node存储有哈希表hash table,并且还存储有节点列表node list,所述节点列表node list包括所述节点node能够连接的其他所有所述节点node的节点信息,所述节点信息包括节点ip和节点address。
4.根据权利要求3的一种数据分离及分散存储的方法,其特征在于:
一个所述节点node与另一个所述节点node创建连接时,发起创建连接的所述节点node获取另一个所述节点node的所述节点列表node list,并尝试向获取的所述节点列表nodelist中的每个所述节点node创建连接。
5.根据权利要求4的一种数据分离及分散存储的方法,其特征在于:
所述步骤S10中,所述数据分割过程采用KAD算法将所述待上传文件分割为多个所述数据块。
6.根据权利要求5的一种数据分离及分散存储的方法,其特征在于:
所述步骤S20中,采用并行传输,将多个所述数据块传输至不同所述节点node上。
7.根据权利要求6的一种数据分离及分散存储的方法,其特征在于:
所述步骤S30中,所述下载过程中,所述请求端表示的所述节点node为请求节点,请求节点与自己的所述节点列表node list中的距离所述请求节点的距离最近的邻近节点node创建连接,并获取所述邻近节点node的所述哈希表hash table,并将所述待下载文件的所述hash值与所述哈希表hash table中的数值进行所述哈希校验。
8.根据权利要求7的一种数据分离及分散存储的方法,其特征在于:
所述步骤S30中,若所述待下载文件的所述hash值与所述邻近节点的所述hash table中的数值匹配成功,则所述哈希校验通过,在所述邻近节点中下载所述待下载文件的一个所述数据块。
9.根据权利要求8的一种数据分离及分散存储的方法,其特征在于:
所述步骤S30中,若所述待下载文件的所述hash值与所述邻近节点的所述hash table中的数值未匹配成功,则所述哈希校验未通过,所述请求节点与自己的所述节点列表nodelist中的不包括已经进行过所述哈希校验的所述邻近节点的最近的次级邻近节点创建连接,进行所述哈希校验;
直到所述哈希校验通过时,所述请求节点与所述哈希校验通过的所述节点node直接建立连接,并下载所述待下载文件的一个所述数据块。
10.根据权利要求9的一种数据分离及分散存储的方法,其特征在于:
与所述请求节点进行所述哈希校验且所述哈希校验未通过的节点node为中间节点,所述中间节点的所述哈希表hash table中会记录所述待下载文件的所述数据块的所述hash值,并缓存所述数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111056794.XA CN113741818A (zh) | 2021-09-09 | 2021-09-09 | 一种数据分离及分散存储的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111056794.XA CN113741818A (zh) | 2021-09-09 | 2021-09-09 | 一种数据分离及分散存储的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113741818A true CN113741818A (zh) | 2021-12-03 |
Family
ID=78737606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111056794.XA Pending CN113741818A (zh) | 2021-09-09 | 2021-09-09 | 一种数据分离及分散存储的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741818A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873504A (zh) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 数据分块存储至分布式服务器的系统及方法 |
CN112699094A (zh) * | 2021-03-23 | 2021-04-23 | 中国信息通信研究院 | 文件存储方法、数据检索方法、相应装置及系统 |
-
2021
- 2021-09-09 CN CN202111056794.XA patent/CN113741818A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873504A (zh) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 数据分块存储至分布式服务器的系统及方法 |
CN112699094A (zh) * | 2021-03-23 | 2021-04-23 | 中国信息通信研究院 | 文件存储方法、数据检索方法、相应装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
US7978631B1 (en) | Method and apparatus for encoding and mapping of virtual addresses for clusters | |
CN111049884A (zh) | 一种分布式大文件存储系统及文件上传和下载方法 | |
US10637794B2 (en) | Resource subscription method, resource subscription apparatus, and resource subscription system | |
WO2014056428A1 (zh) | 一种文件上传的方法及系统 | |
CN103597471A (zh) | 用于对计算机网络上的数据通信进行缓存的方法和系统 | |
CN112243047B (zh) | 基于公链的区块链网络寻址方法 | |
CN109842642B (zh) | 一种容器化集群系统的部署方法及装置、容器化集群系统 | |
WO2008034353A1 (fr) | Procédé, système et dispositif permettant d'établir une connexion entre homologues dans un réseau d'homologues | |
CN110971702A (zh) | 服务调用方法、装置、计算机设备及存储介质 | |
CN113726907B (zh) | 一种路由处理方法、网元设备、装置以及可读存储介质 | |
CN110909030B (zh) | 一种信息处理方法及服务器集群 | |
US8984100B2 (en) | Data downloading method, terminal, server, and system | |
CN113411376A (zh) | 基于区块链分片存储的传感器数据处理方法及装置 | |
CN109561004B (zh) | 报文转发方法、装置及交换机 | |
CN113886495A (zh) | 验证区块链数据的方法、装置、电子设备和存储介质 | |
CN111010444B (zh) | 一种实现Wowza流媒体引擎分布式集群的系统及方法 | |
CN113741818A (zh) | 一种数据分离及分散存储的方法 | |
CN110417636B (zh) | 一种去中心化的自组织即时通信系统及其方法 | |
US20190387054A1 (en) | Method, electronic device and computer program product for searching for node | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
CN110995413A (zh) | 一种防止伪节点攻击的联盟链共识节点管理方法 | |
CN112491935A (zh) | 一种用于区块链的水波式广播方法及系统 | |
CN102098339A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211203 |
|
RJ01 | Rejection of invention patent application after publication |