【技术实现步骤摘要】
一种数据存储、还原方法、装置及计算机设备
本专利技术涉及数据库
,特别是涉及一种数据存储、还原方法、装置及计算机设备。
技术介绍
针对云计算对于大规模分布式服务和分布式存储的需求,特别是在超大规模和高并发的应用场景下,使用传统的关系数据库来存储和查询用户动态数据已经暴露出很多难以克服的问题,例如需要很高的实时插入性能;需要海量的数据存储能力,同时还需要非常快的查询检索速度;需要将数据存储无缝扩展到整个群集环境下,并且能够在线扩展等等。这样的背景下,非关系型数据库NoSQL应运而生。NoSQL用于超大规模数据的存储,具有高可扩展性、分布式计算、低成本等特点。NoSQL主要可以分为列存储、文档存储和图形存储等类型。其中,列存储类型,如Cassandra、HBase、Riak等,以拥有非常灵活的数据模型和弹性集群扩展能力等优势在网络社交云计算方面得以广泛应用。列存储类型的NoSQL,通过对具有相同字段的数据聚合存储,将不同的数据分布在服务器集群中的不同服务器节点上。该类型的NoSQL的数据模型包括列、行,其中,列是数据模型中最基本的单元,每一个列包括一个名称、一个值和一个时间戳;行是具有相同字段的列的集合。每一个服务器节点上存储至少一行数据,每一行数据通过一个主键唯一标识,主键中包括用于代表数据属性的基本值和用于代表数据属性取值的扰动值,基本值具体用于确定数据存储在哪个服务器节点上。具有相同基本值的数据存储在同一个服务器节点上,并且如果大量数据的基本值相对集中,则一个服务器节点上可能存储多个基本值的数据,由于数据的属性取值很多,因此,极易导致部分服务器节点 ...
【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:获取待存储数据的基本值及扰动值;利用预设散列算法,对所述扰动值进行换算,得到所述扰动值对应的随机值;对所述随机值进行映射,得到所述随机值在预设范围内的映射结果;根据所述基本值、所述映射结果及所述预设范围,通过预设散列值运算公式,确定所述待存储数据对应的散列值;基于所述散列值所处的预设值范围,存储所述待存储数据的基本值及扰动值至所述预设值范围的任一端点预设值对应的服务器节点,其中,各服务器节点预先配置有对应的预设值。
【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:获取待存储数据的基本值及扰动值;利用预设散列算法,对所述扰动值进行换算,得到所述扰动值对应的随机值;对所述随机值进行映射,得到所述随机值在预设范围内的映射结果;根据所述基本值、所述映射结果及所述预设范围,通过预设散列值运算公式,确定所述待存储数据对应的散列值;基于所述散列值所处的预设值范围,存储所述待存储数据的基本值及扰动值至所述预设值范围的任一端点预设值对应的服务器节点,其中,各服务器节点预先配置有对应的预设值。2.根据权利要求1所述的方法,其特征在于,所述利用预设散列算法,对所述扰动值进行换算,得到所述扰动值对应的随机值,包括:利用预设散列算法,将所述扰动值换算为具有指定长度的随机值,其中,所述预设散列算法包括:哈希算法、安全哈希SHA-1算法、信息摘要MD4算法、单向散列MD5算法。3.根据权利要求1所述的方法,其特征在于,所述对所述随机值进行映射,得到所述随机值在预设范围内的映射结果,包括:根据预设范围,确定具有指定位数的映射二进制数,其中,所述映射二进制数中的每一位均为0;按照所述随机值从最高位到最低位的顺序,依次根据所述随机值的每一位的数值,通过循环方式对所述映射二进制数中与所述数值对应的位进行0-1变换,得到变换后的映射二进制数;对所述变换后的映射二进制数进行十进制变换,得到映射结果。4.根据权利要求1所述的方法,其特征在于,所述根据所述基本值、所述映射结果及所述预设范围,通过预设散列值运算公式,确定所述待存储数据对应的散列值,包括:根据所述基本值及所述映射结果,通过所述散列值运算公式,得到散列参数;对所述散列参数进行降级处理,得到所述散列参数与预设宽度的商值及余数值,其中,所述预设宽度为预设范围的两个顶点预设值间的差值;基于预设数据组装协议,对所述余数值、所述商值及所述扰动值进行组装,得到所述待存储数据对应的散列值。5.根据权利要求1所述的方法,其特征在于,在所述基于所述散列值所处的预设值范围,存储所述待存储数据的基本值及扰动值至所述预设值范围的任一端点预设值对应的服务器节点之前,所述方法还包括:获取与所述基本值对应的所述待存储数据的数据信息;将所述数据信息与所对应的所述基本值及扰动值相关联;所述基于所述散列值所处的预设值范围,存储所述待存储数据的基本值及扰动值至所述预设值范围的任一端点预设值对应的服务器节点,包括:基于所述散列值所处的预设值范围,将关联后的所述数据信息、所述基本值及所述扰动值存储至所述预设值范围的任一端点预设值对应的服务器节点。6.一种数据还原方法,其特征在于,所述方法包括:获取待还原数据对应的散列值;基于预设数据组装协议,从所述散列值中,提取多个指定数值段的数值;还原所述多个指定数值段中的第一指定数值段的数值为所述待还原数据的扰动值;利用预设散列算法,对所述扰动值进行换算,得到所述扰动值对应的随机值;在预设范围内,对所述随机值进行映射,得到映射结果,其中,所述预设范围覆盖了存储所述待还原数据的基本值及扰动值的服务器节点预先配置的预设值;根据所述多个指定数值段的数值、所述预设范围及所述映射结果,通过预设散列值运算公式,还原所述待还原数据的基本值。7.根据权利要求6所述的方法,其特征在于,所述利用预设散列算法,对所述扰动值进行换算,得到所述扰动值对应的随机值,包括:利用预设散列算法,将所述扰动值换算为具有指定长度的随机值,其中,所述预设散列算法包括:哈希算法、安全哈希SHA-1算法、信息摘要MD4算法、单向散列MD5算法。8.根据权利要求6所述的方法,其特征在于,所述在预设范围内,对所述随机值进行映射,得到映射结果,包括:根据预设范围,确定具有指定位数的映射二进制数,其中,所述映射二进制数中的每一位均为0;按照所述随机值从最高位到最低位的顺序,依次根据所述随机值的每一位的数值,通过循环方式对所述映射二进制数中与所述数值对应的位进行0-1变换,得到变换后的映射二进制数;对所述变换后的映射二进制数进行十进制变换,得到映射结果。9.根据权利要求6所述的方法,其特征在于,所述基于预设数据组装协议,从所述散列值中,提取多个指定数值段的数值,包括:从所述散列值中,提取用于表示散列参数与预设宽度的余数值的整数部分、用于表示所述待还原数据的扰动值的小数部分中的第一指定数值段、及用于表示所述散列参数与所述预设宽度的商值的小数部分中的第二指定数值段,其中,所述预设宽度为预设范围的两个顶点预设值间的差值;所述根据所述多个指定数值段的数值、所述预设范围及所述映射结果,通过预设散列值运算公式,还原所述待还原数据的基本值,包括:根据所述散列值的整数部分、所述第二指定数值段及所述预设范围,确定散列参数;根据所述散列参数及所述映射结果,通过预设散列值运算公式,还原所述待还原数据的基本值。10.一种数据存储装置,其特征在于,所述装置包括:第一获取...
【专利技术属性】
技术研发人员:周胜凯,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。