一种分布式数据存储方法及系统技术方案

技术编号:23763370 阅读:13 留言:0更新日期:2020-04-11 18:34
本发明专利技术公开了一种分布式数据存储方法及系统,其通过接收用户端发送的数据存储请求,依据数据存储大小和预设的分布式算法生成与数据存储标识一一对应的数据块分布策略,依据预设的密钥生成算法生成与数据块一一对应的第一标记数据,依据数据块分布策略将数据块及第一标记数据分别存储于多个存储节点的同一存储位置;接收用户端发送的数据读取请求,依据数据存储标识获取数据块分布策略,读取存储节点的数据块及第一标记数据进行数据校验;校验不成功则读取下一存储节点相同存储位置的数据块及第一标记数据重复数据校验,校验成功则发送读取的数据块给用户端;依据存储节点读取顺序遍历数据块分布策略中所有存储节点直至校验成功,否则发送用户数据损坏信息给用户端。

A distributed data storage method and system

【技术实现步骤摘要】
一种分布式数据存储方法及系统
本专利技术属于分布式数据存储领域,具体涉及一种分布式数据存储方法及系统。
技术介绍
分布式存储是一种存储系统,一般来说由多台独立的设备共同组成,设备之间通过网络连接。数据写入时通过算法将数据块均匀分布在多台独立的存储设备上,数据读取时通过算法将数据块从不同的节点读取出来给客户端,系统依据其应用场景需求要满足可靠性、可用性和可扩展性。一般来说,客户端存储数据是通过网络,经过算法寻址到具体的存储节点,然后存储数据。通常数据块大小选取64KB。客户端读取数据的时候,通过网络,经过算法寻址到具体的存储节点,读取64KB的数据块,返回给客户端,存储节点数据的完整性和一致性是通过特定的进程轮询检测并校验的,然而这种校验是有时间间隔的,64KB的数据块从存储节点到客户端没有校验的过程,当在这种间隔检测的中间出现数据块被篡改的情况,读取出来的数据块就有错误数据的概率。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种分布式数据存储方法及系统,其通过接收用户端发送的数据存储请求生成数据块分布策略,依据数据块分布策略将数据块及第一标记数据分别存储于多个存储节点的同一存储位置;接收用户端发送的数据读取请求,依据数据块分布策略读取存储节点的数据块及第一标记数据进行数据校验,校验不成功则读取下一存储节点重复数据校验,校验成功则发送读取的数据块给用户端,从而在存储节点存在数据块有错误的情况下,能够根据校验机制并轮询节点查找相同数据块,最后返回用户正确数据。为实现上述目的,按照本专利技术的一个方面,提供了一种分布式数据存储方法,包括如下步骤:S1.接收用户端发送的数据存储请求,数据存储请求包括数据存储大小和数据存储标识,依据数据存储大小和预设的分布式算法生成与数据存储标识一一对应的数据块分布策略,数据块分布策略包括数据块存储位置、存储节点信息和存储节点读取顺序;接收用户端发送的数据流,依据预设的数据块大小将数据流划分为若干数据块,依据预设的密钥生成算法生成与数据块一一对应的第一标记数据,依据数据块分布策略将数据块及第一标记数据分别存储于多个存储节点的同一存储位置;S2.接收用户端发送的数据读取请求,数据读取请求包括数据存储标识,依据数据存储标识获取数据块分布策略;依据数据块分布策略读取存储节点的数据块及第一标记数据进行数据校验;校验不成功则读取下一存储节点相同存储位置的数据块及第一标记数据重复数据校验,校验成功则发送读取的数据块给用户端;依据存储节点读取顺序遍历数据块分布策略中所有存储节点直至校验成功,否则发送用户数据损坏信息给用户端。作为本专利技术的进一步改进,预设的分布式算法包括一致性哈希、DHT和CRUSH算法。作为本专利技术的进一步改进,通过存储系统协议接收用户端发送的数据流,存储系统协议包括TCP、UDP和HTTP协议。作为本专利技术的进一步改进,预设的密钥生成算法包括MD5、SHA和HMAC算法。作为本专利技术的进一步改进,数据校验具体为:依据预设的密钥生成算法生成与读取的数据块一一对应的第二标记数据,对比校验第一标记数据和第二标记数据,相同则校验成功。为实现上述目的,按照本专利技术的另一个方面,提供了一种分布式数据存储系统,其包括交互模块及多个存储节点,交互模块用于接收用户端发送的数据存储请求,数据存储请求包括数据存储大小和数据存储标识;依据数据存储大小和预设的分布式算法生成与数据存储标识一一对应的数据块分布策略,数据块分布策略包括数据块存储位置、存储节点信息和存储节点读取顺序;接收用户端发送的数据流,依据预设的数据块大小将数据流划分为若干数据块,依据预设的密钥生成算法生成与数据块一一对应的第一标记数据,依据所述数据块分布策略将数据块及第一标记数据分别存储于多个存储节点的同一存储位置;交互模块还用于接收用户端发送的数据读取请求,数据读取请求包括数据存储标识,依据数据存储标识获取数据块分布策略;依据数据块分布策略读取存储节点的数据块及第一标记数据进行数据校验;校验不成功则读取下一存储节点相同存储位置的数据块及第一标记数据重复数据校验,校验成功则发送读取的数据块给用户端;依据存储节点读取顺序遍历数据块分布策略中所有存储节点直至校验成功,否则发送用户数据损坏信息给用户端。作为本专利技术的进一步改进,预设的分布式算法包括一致性哈希、DHT和CRUSH算法。作为本专利技术的进一步改进,通过存储系统协议接收用户端发送的数据流,所述存储系统协议包括TCP、UDP和HTTP协议。作为本专利技术的进一步改进,预设的密钥生成算法包括MD5、SHA和HMAC算法。作为本专利技术的进一步改进,数据校验具体为:依据预设的密钥生成算法生成与读取的数据块一一对应的第二标记数据,对比校验第一标记数据和第二标记数据,相同则校验成功。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有以下有益效果:本专利技术的一种分布式数据存储方法及系统,其通过接收用户端发送的数据存储请求生成数据块分布策略,依据数据块分布策略将数据块及第一标记数据分别存储于多个存储节点的同一存储位置;接收用户端发送的数据读取请求,依据数据块分布策略读取存储节点的数据块及第一标记数据进行数据校验,校验不成功则读取下一存储节点重复数据校验,校验成功则发送读取的数据块给用户端,从而在储节点存在数据块有错误的情况下,能够根据校验机制并轮询节点查找相同数据块,最后返回用户正确数据,解决解决客户端在读取基于存储系统的数据时发生这种小概率获取错误数据块的问题。本专利技术的一种分布式数据存储方法及系统,通过高性能加密算法对存储的数据块进行处理的到第一标记数据,同时通过高性能加密算法对读取的数据块进行处理的到第二标记数据,通过比对第一标记数据和第二标记数据进行数据校验,从而进一步确保数据块的读取的可靠性。附图说明图1是本专利技术实施例的一种分布式数据存储方法的流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本专利技术进一步详细说明。图1是本专利技术实施例的一种分布式数据存储方法的流程示意图。如图1所示,一种分布式数据存储方法,其包括如下步骤:S1.接收用户端发送的数据存储请求,数据存储请求包括数据存储大小和数据存储标识,依据数据存储大小和预设的分布式算法生成与数据存储标识一一对应的数据块分布策略,数据块分布策略包括数据块存储位置、存储节点信息和存储节点读取顺序;接收用户端发送的数据流,依据预设的数据块大小将数据流划分为若干数据块,依据预设的密钥生成算法生成与数据块一一对应的第一标记数据,依据数据块分布策略将数据块及第一标记数据分别存储于多个存储节点的同一存储位置;...

【技术保护点】
1.一种分布式数据存储方法,其特征在于,包括如下步骤:/nS1.接收用户端发送的数据存储请求,所述数据存储请求包括数据存储大小和数据存储标识,依据数据存储大小和预设的分布式算法生成与数据存储标识一一对应的数据块分布策略,数据块分布策略包括数据块存储位置、存储节点信息和存储节点读取顺序;接收用户端发送的数据流,依据预设的数据块大小将数据流划分为若干数据块,依据预设的密钥生成算法生成与数据块一一对应的第一标记数据,依据所述数据块分布策略将数据块及第一标记数据分别存储于多个存储节点的同一存储位置;/nS2.接收用户端发送的数据读取请求,数据读取请求包括数据存储标识,依据数据存储标识获取数据块分布策略;依据数据块分布策略读取存储节点的数据块及第一标记数据进行数据校验;校验不成功则读取下一存储节点相同存储位置的数据块及第一标记数据重复数据校验,校验成功则发送读取的数据块给用户端;依据存储节点读取顺序遍历数据块分布策略中所有存储节点直至校验成功,否则发送用户数据损坏信息给用户端。/n

【技术特征摘要】
1.一种分布式数据存储方法,其特征在于,包括如下步骤:
S1.接收用户端发送的数据存储请求,所述数据存储请求包括数据存储大小和数据存储标识,依据数据存储大小和预设的分布式算法生成与数据存储标识一一对应的数据块分布策略,数据块分布策略包括数据块存储位置、存储节点信息和存储节点读取顺序;接收用户端发送的数据流,依据预设的数据块大小将数据流划分为若干数据块,依据预设的密钥生成算法生成与数据块一一对应的第一标记数据,依据所述数据块分布策略将数据块及第一标记数据分别存储于多个存储节点的同一存储位置;
S2.接收用户端发送的数据读取请求,数据读取请求包括数据存储标识,依据数据存储标识获取数据块分布策略;依据数据块分布策略读取存储节点的数据块及第一标记数据进行数据校验;校验不成功则读取下一存储节点相同存储位置的数据块及第一标记数据重复数据校验,校验成功则发送读取的数据块给用户端;依据存储节点读取顺序遍历数据块分布策略中所有存储节点直至校验成功,否则发送用户数据损坏信息给用户端。


2.根据权利要求1所述的一种分布式数据存储方法,其特征在于,所述预设的分布式算法包括一致性哈希、DHT和CRUSH算法。


3.根据权利要求1或2所述的一种分布式数据存储方法,其特征在于,通过存储系统协议接收用户端发送的数据流,所述存储系统协议包括TCP、UDP和HTTP协议。


4.根据权利要求1或2所述的一种分布式数据存储方法,其特征在于,所述预设的密钥生成算法包括MD5、SHA和HMAC算法。


5.根据权利要求1或2所述的一种分布式数据存储方法,其特征在于,所述数据校验具体为:依据预设的密钥生成算法生成与读取的数据块一一对应的第二标记数据,对比校验第一标记数据和第二标记数据,相同则校验成功。


6.一种分...

【专利技术属性】
技术研发人员:李俊波
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1