一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于数据切片技术的数据冗余存储方法与流程

2022-02-21 08:14:04 来源:中国专利 TAG:
1.本发明涉及数据切片
技术领域
:,具体地说,是一种基于数据切片技术的数据冗余存储方法,采用数据存储切片技术实现分布式数据数据存储功能,用于提供灵活的数据版本管理功能,同时提供多版本数据存储模式下主版本的轮转分布功能和副本随机分布的策略功能,能够将数据均匀分布到整个数据库集群节点中,从而保证存储的高可用,能够用最少的数据迁移量,达到扩充数据库容量和增加机器节点的目的。
背景技术
::2.随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的pv无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用中读取数据的速度和并发量。目前国内的大型互联网应用中,大量的采用了这样的数据切分方案,以实现方式和实现的层次来划分,但使用这样的数据切分方案,难点在于分库后,路由规则的制定和选择以及如何扩大后期的扩展性,如何做到用最少的数据迁移量,达到扩充数据库容量(增加机器节点)的目的。3.即使在足以支撑海量数据的存储与查询成熟稳定的数据库中,仍然需要数据切片,因为高昂的使用费用和高端的硬件支撑不是每一个公司能支付的起的。试想一下一年几千万的使用费用和动辄上千万元的小型机作为硬件支撑,这是一般公司能支付的起的吗,即使就是能支付的起,假如有更好的方案,有更廉价且水平扩展性能更好的方案,我们为什么不选择呢。所以数据分片是完全出于性价比的考虑,既以最小的代价,来换取最大的经济效益。4.为了解决以上难点,亟需一种技术方案,采用数据存储切片技术实现分布式数据数据存储功能,用于提供灵活的数据版本管理功能,同时提供多版本数据存储模式下主版本的轮转分布功能和副本随机分布的策略功能,能够将数据均匀分布到整个数据库集群节点中,从而保证存储的高可用,能够用最少的数据迁移量,达到扩充数据库容量(增加机器节点)的目的,同时解决数据冗余存储的问题。技术实现要素:5.本发明的目的在于提供一种基于数据切片技术的数据冗余存储方法,采用数据存储切片技术实现分布式数据数据存储功能,用于提供灵活的数据版本管理功能,同时提供多版本数据存储模式下主版本的轮转分布功能和副本随机分布的策略功能,能够将数据均匀分布到整个数据库集群节点中,从而保证存储的高可用,能够用最少的数据迁移量,达到扩充数据库容量和增加机器节点的目的。6.本发明通过下述技术方案实现:一种基于数据切片技术的数据冗余存储方法,包括以下步骤:步骤s1.获取数据库中列表、元组和字符串中的数据,并将所述数据进行备份;步骤s2.根据所述数据预设数据切片方案;步骤s3.根据所述数据切片方案选择切片方式;步骤s4.根据所述切片方式进行切片,切片后连接数据库并通过服务器发布存储服务。7.在本技术方案中,随着业务的扩大,数据量呈指数级增长。关系型数据库难以满足快速查询和插入数据的需求。这就需要做数据库集群,将一个数据库中的数据分散到不同的数据库存储,这种分散数据库负载的技术是数据库分片,本技术方案采用数据存储切片技术实现分布式数据数据存储功能,用于提供灵活的数据版本管理功能,同时提供多版本数据存储模式下主版本的轮转分布功能和副本随机分布的策略功能,能够将数据均匀分布到整个数据库集群节点中,从而保证存储的高可用,能够用最少的数据迁移量,达到扩充数据库容量和增加机器节点的目的。8.为了更好地实现本发明,进一步地,步骤s2中的数据切片方案包括:步骤s2.1.确定数据切片方案的坐标系;步骤s2.2.在数据库中创建三个数据库节点,分别为数据库节点1、数据库节点2和数据库节点3,并将数据库拆分成数据库d1、数据库d2和数据库d3;步骤s2.3.将拆分的数据库依次安装在数据库节点上,并在拆分的数据库中配置符合格式规则的xml文件;步骤s2.4.对所述拆分的数据库重启,并对所述拆分的数据库中的数据进行测试,获取测试数据id的长度;步骤s2.5.根据所述测试数据id的长度将所述拆分的数据库中的数据根据分配规则分配至预先创建的数据库节点中,直至数据库d1、数据库d2和数据库d3中的数据都分配至预先创建的数据库节点中。9.在本技术方案中,创建三个数据库节点,分别创建数据库d1、数据库d2和数据库d3,将数据库d1安装到节点1上。配置数据库d1的conf中的schema.xml文件,在配置文件中,schema用于定义数据库d1实例中的逻辑库;table定义了数据库d1中的逻辑表;datanode定义了数据库d1中的数据节点,也就是数据分片;datahost在数据库d1逻辑库中也是作为最底层的标签,指定定义了具体的数据库实例、读写分离配置和心跳语句。10.为了更好地实现本发明,进一步地,步骤s2.3中配置符合格式规则的xml文件包括:在xml文件中指定坐标系,判断指定坐标系和步骤s2.1中的坐标系是否相同,如果是,进入步骤s2.4,如果否,重复配置xml文件,直至xml文件中的指定坐标系和步骤s2.1中的坐标系相同。11.在本技术方案中的xml文件主要是用来记录数据的切片标准,一般来说xml文件会需要指定一个坐标系,要把这个坐标系设定成和原始数据一样的坐标系,如果不,发布服务可能会出错。12.为了更好地实现本发明,进一步地,步骤s2.3还包括:同时配置所有节点数据库的远程访问授权。13.在本技术方案中,无法连接到数据库的原因很有可能是节点数据库没有配置远程访问授权,必须设置一下才可以连接数据库并通过服务器发布存储服务。14.为了更好地实现本发明,进一步地,步骤s2.4包括:对所述数据库d1重启并对数据库d1中的数据进行测试,获取测试id的长度l1;根据所述测试id的长度l1将数据库d1中的数据分配至预先创建的数据库节点中;将数据库d1安装到节点1上,并在数据库d1中配置符合格式规则的xml文件。15.在本技术方案中,xml文件会连接数据库的文件,当数据库的文件更新了,xml文件也会自动和新的数据库的数据连接。16.为了更好地实现本发明,进一步地,步骤s2.4还包括:对所述数据库d2重启并对数据库d2中的数据进行测试,获取测试id的长度l2;根据所述测试id的长度l2将数据库d2中的数据分配至预先创建的数据库节点中;将数据库d2安装到节点2上,并在数据库d2中配置符合格式规则的xml文件。17.为了更好地实现本发明,进一步地,步骤s2.4还包括:对所述数据库d3重启并对数据库d3中的数据进行测试,获取测试id的长度l3;根据所述测试id的长度l3将数据库d3中的数据分配至预先创建的数据库节点中;将数据库d3安装到节点3上,并在数据库d3中配置符合格式规则的xml文件。18.为了更好地实现本发明,进一步地,步骤s2.5中根据所述测试数据id的长度将所述拆分的数据库中的数据根据分配规则分配至预先创建的数据库节点,包括:获取测试id的长度l1、l2和l3;预设数据id阈值a和id阈值b;当所述测试id的长度小于或等于id阈值a时,将所述数据放在所述数据库d1中;当所述测试id的长度大于id阈值a且小于或等于id阈值b时,将所述数据放在所述数据库d2中;当所述测试id的长度大于id阈值b时,将所述数据放在所述数据库d3中。19.在本技术方案中,进入数据库d1,创建schema中定义的表,插入一定量的数据。数据库d1中根据id的长度的规则,预设数据id阈值500万和id阈值1000万,每个数据库放500万条数据,当id的值在500万以及以内时放在数据库d1中,500万以上以及1000万及以内时放在数据库d2中,1000万以上放在数据库d3中。20.为了更好地实现本发明,进一步地,步骤s3中的切片方式包括手动切片方式和自动切片方式。21.在本技术方案中,自动切片:先切片,切片完成后,将切片数据与镶嵌数据集一起发布到站点上。手动切片:先将镶嵌数据集发布到站点上,此时这个发布的数据自带了xml文件设置好的切片方案。可以在发布后手动开始切片。22.为了更好地实现本发明,进一步地,步骤s4包括:选择手动切片方式时先将步骤s2.5中所述分配好数据发送至服务器上,所述数据中包括xml文件和切片方案,在发送所述分配好数据后再切片;选择自动切片方式时先切片再将切片数据和所述分配好数据一起发送至服务器上。23.本发明与现有技术相比,具有以下优点及有益效果:(1)提供灵活的数据版本管理功能;(2)提供多版本数据存储模式下主版本的轮转分布功能和副本随机分布的策略功能;(3)能够将数据均匀分布到整个数据库集群节点中,从而保证存储的高可用;(4)能够用最少的数据迁移量达到扩充数据库容量和增加机器节点的目的。附图说明24.本发明结合下面附图和实施例做进一步说明,本发明所有构思创新应视为所公开内容和本发明保护范围。25.图1为本发明提供的一种基于数据切片技术的数据冗余存储方法的流程图。具体实施方式26.实施例1:本实施例的一种基于数据切片技术的数据冗余存储方法,如图1所示,随着业务的扩大,数据量呈指数级增长。关系型数据库难以满足快速查询和插入数据的需求。这就需要做数据库集群,将一个数据库中的数据分散到不同的数据库存储,这种分散数据库负载的技术是数据库分片,本实施例采用数据存储切片技术实现分布式数据数据存储功能,用于提供灵活的数据版本管理功能,同时提供多版本数据存储模式下主版本的轮转分布功能和副本随机分布的策略功能,能够将数据均匀分布到整个数据库集群节点中,从而保证存储的高可用,能够用最少的数据迁移量,达到扩充数据库容量和增加机器节点的目的。27.实施例2:本实施例在实施例1的基础上做进一步优化,创建三个数据库节点,分别创建数据库d1、数据库d2和数据库d3,将数据库d1安装到节点1上。配置数据库d1的conf中的schema.xml文件,在配置文件中,schema用于定义数据库d1实例中的逻辑库;table定义了数据库d1中的逻辑表;datanode定义了数据库d1中的数据节点,也就是数据分片;datahost在数据库d1逻辑库中也是作为最底层的标签,指定定义了具体的数据库实例、读写分离配置和心跳语句。28.本实施例的其他部分与实施例1相同,故不再赘述。29.实施例3:本实施例在上述实施例2的基础上做进一步优化,本实施例中的xml文件主要是用来记录数据的切片标准,一般来说xml文件会需要指定一个坐标系,要把这个坐标系设定成和原始数据一样的坐标系,如果不,发布服务可能会出错。30.本实施例的其他部分与上述实施例2相同,故不再赘述。31.实施例4:本实施例在上述实施例1-3任一项的基础上做进一步优化,本实施例无法连接到数据库的原因很有可能是节点数据库没有配置远程访问授权,必须设置一下才可以连接数据库并通过服务器发布存储服务。32.本实施例的其他部分与上述实施例1-3任一项相同,故不再赘述。33.实施例5:本实施例在上述实施例1-4任一项基础上做进一步优化,本实施例中的xml文件会连接数据库的文件,当数据库的文件更新了,xml文件也会自动和新的数据库的数据连接。34.本实施例的其他部分与上述实施例1-4任一项相同,故不再赘述。35.实施例6:本实施例在上述实施例1-5任一项基础上做进一步优化,本实施例的其他部分与上述实施例1-5任一项相同,故不再赘述。36.实施例7:本实施例在上述实施例1-6任一项基础上做进一步优化,本实施例的其他部分与上述实施例1-6任一项相同,故不再赘述。37.实施例8:本实施例在上述实施例1-7任一项基础上做进一步优化,进入数据库d1,创建schema中定义的表,插入一定量的数据。数据库d1中根据id的长度的规则,预设数据id阈值500万和id阈值1000万,每个数据库放500万条数据,当id的值在500万以及以内时放在数据库d1中,500万以上以及1000万及以内时放在数据库d2中,1000万以上放在数据库d3中。38.本实施例的其他部分与上述实施例1-7任一项相同,故不再赘述。39.实施例9:本实施例在上述实施例1-8任一项基础上做进一步优化,自动切片:先切片,切片完成后,将切片数据与镶嵌数据集一起发布到站点上。手动切片:先将镶嵌数据集发布到站点上,此时这个发布的数据自带了xml文件设置好的切片方案。可以在发布后手动开始切片。40.本实施例的其他部分与上述实施例1-8任一项相同,故不再赘述。41.实施例10:本实施例在上述实施例1-9任一项基础上做进一步优化,本实施例的其他部分与上述实施例1-9任一项相同,故不再赘述。42.以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化,均落入本发明的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献