基于分布式数据库的自定义数据分片方法、装置及设备制造方法及图纸

技术编号:23604695 阅读:35 留言:0更新日期:2020-03-28 05:47
本发明专利技术提供了基于分布式数据库的自定义数据分片方法、装置及设备,其中,方法包括:获取待处理列表中至少一列的待分片数据;确定分片规则;根据所述分片规则配置分片函数;将所述分片函数与所述待处理列表的对应关系存储到系统表中;根据所述系统表和所述待分片数据确定存放所述待分片数据所在行数据节点;将所述待分片数据所在行数据存储到对应所述数据节点中。本发明专利技术提高了分片处理效率以及增加分片算法的适用性,使得具有特殊规则的分片需求得到满足。

Method, device and equipment of user defined data partition based on Distributed Database

【技术实现步骤摘要】
基于分布式数据库的自定义数据分片方法、装置及设备
本专利技术涉及数据库
,具体涉及一种基于分布式数据库的自定义数据分片方法、装置及设备。
技术介绍
分片是指将一个表里面的行或列,分成多个不同的表的做法。数据库分片一方面可以帮助促进水平扩展,也称为向外扩展。水平扩展是将更多的机器添加到现有堆栈中,以分散负载,允许更多的流量和更快的处理;另一方面,可以加速查询响应的时间。相关技术中,数据库的分片算法有两种方式:第一,通过配置文件对数据进行分片;第二,通过哈希、轮询、取模等内置分片算法对数据进行分片。在系统中存在大量表的情况下,通过配置文件进行分片处理效率极低而且容易出现人为配置错误的问题,由于哈希、轮询、取模等内置分片算法处理范围比较固定,适用性不高,不能满足有特殊规则的数据分片需求。
技术实现思路
因此,本专利技术要解决的技术问题在于克服现有技术中的分片处理效率低而且不能满足有特殊规则的数据分片需求缺陷,从而提供一种基于分布式数据库的自定义数据分片方法、装置及设备。根据第一方面,本专利技术实施例提供一种基于分布式数据库的自定义数据分片方法,包括如下步骤:获取待处理列表中至少一列的待分片数据;确定分片规则;根据所述分片规则配置分片函数;将所述分片函数与所述待处理列表的对应关系存储到系统表中;根据所述系统表和所述待分片数据确定存放所述待分片数据所在行数据的数据节点;将所述待分片数据所在行数据存储到对应所述数据节点中。结合第一方面,在第一方面第一实施方式中,包括:数据更新时,判断更新数据是否包含所述待处理的列;当所述更新数据包含所述待处理的列时,则返回错误信息,并告知分片键不能更新。结合第一方面第一实施方式,在第一方面第二实施方式中,还包括:当所述更新数据不包含所述待处理的列时,则执行更新操作。结合第一方面,在第一方面第三实施方式中,包括:当接收到查询信号时,根据所述系统表,查询所述数据节点;发送查询请求至所述数据节点;返回所述数据节点内的数据。根据第二方面,本专利技术实施例提供一种基于分布式数据库的自定义数据分片装置,包括:获取模块,用于获取待处理列表中至少一列的待分片数据;第一确定模块,用于确定分片规则;配置模块,用于根据所述分片规则配置分片函数;第一存储模块,用于将所述分片函数与所述待处理列表的对应关系存储到系统表中;第二确定模块,用于根据所述系统表和所述待分片数据确定存放所述待分片数据所在行数据的数据节点;第二存储模块,用于将所述待分片数据所在行数据存储到对应所述数据节点中。结合第二方面,在第二方面第一实施方式中,第一存储模块,包括:判断模块,用于数据更新时,判断更新数据是否包含所述待处理的列;信息反馈模块,用于当所述更新数据包含所述待处理的列时,则返回错误信息,并告知分片键不能更新。结合第二方面第一实施方式,在第二方面第二实施方式中,还包括:更新模块,用于当所述更新数据不包含所述待处理的列时,则执行更新操作。结合第二方面,在第二方面第三实施方式中,包括:查询模块,用于查当接收到查询信号时,根据所述系统表,查询所述数据节点;查询请求发送模块,用于发送查询请求至所述数据节点;查询数据返回模块,用于返回所述数据节点内的数据。根据第三方面,本专利技术实施例提供一种基于分布式数据库的自定义数据分片设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面及第一方面任意实施方式所述的基于分布式数据库的自定义数据分片方法的步骤。根据第四方面,本专利技术实施例提供一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面及第一方面任意实施方式所述的基于分布式数据库的自定义数据分片方法的步骤。本专利技术技术方案,具有如下优点:1.本专利技术提供的一种基于分布式数据库的自定义数据分片方法,根据不同的业务场景以及特殊的业务规则对数据设置不同的分片函数,通过分片函数与系统表的关联,对数据进行分片存储,相比于按照配置文件进行分片时,需要将数据进行重启集群而言,提高了分片处理的效率,相比于内置分片算法,提高了分片的灵活性。2.本专利技术提供的一种基于分布式数据库的自定义数据分片方法,根据分片规则配置分片函数,该分片函数不仅包含自定义分片函数,也包含能够满足特殊需求的内置分片算法,当数据需要重新分布时,可以通过修改分片函数直接进行数据的重新分片,不再需要重启集群,提高了分片效率。3.本专利技术提供的一种基于分布式数据库的自定义数据分片方法,当数据更新时,检查更新数据是否包含分片键数据,如果包含分片键数据则反馈错误信息,不包含分片键数据则更新数据,使得用户对数据是否更新更加清晰有条理,也可以防止数据分片混乱。4.本专利技术提供的一种基于分布式数据库的自定义数据分片方法,当接收到查询信号时,按照系统表的信息,查询数据所在的数据节点,返回需要查询的数据,通过该方式提高了数据查询的效率,减轻了数据查询负担。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中基于分布式数据库的自定义数据分片方法的一个具体示例的流程图;图2为本专利技术实施例中基于分布式数据库的自定义数据分片方法的一个具体示例的流程图;图3为本专利技术实施例中基于分布式数据库的自定义数据分片装置的一个具体示例的原理框图;图4为本专利技术实施例中基于分布式数据库的自定义数据分片装置的一个具体示例的原理框图;图5为本专利技术实施例中基于分布式数据库的自定义数据分片设备的一个具体示例的原理框图;具体实施方式下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技本文档来自技高网...

【技术保护点】
1.一种基于分布式数据库的自定义数据分片方法,其特征在于,包括如下步骤:/n获取待处理列表中至少一列的待分片数据;/n确定分片规则;/n根据所述分片规则配置分片函数;/n将所述分片函数与所述待处理列表的对应关系存储到系统表中;/n根据所述系统表和所述待分片数据确定存放所述待分片数据所在行数据的数据节点;/n将所述待分片数据所在行数据存储到对应所述数据节点中。/n

【技术特征摘要】
1.一种基于分布式数据库的自定义数据分片方法,其特征在于,包括如下步骤:
获取待处理列表中至少一列的待分片数据;
确定分片规则;
根据所述分片规则配置分片函数;
将所述分片函数与所述待处理列表的对应关系存储到系统表中;
根据所述系统表和所述待分片数据确定存放所述待分片数据所在行数据的数据节点;
将所述待分片数据所在行数据存储到对应所述数据节点中。


2.根据权利要求1所述的方法,其特征在于,包括:
数据更新时,判断更新数据是否包含所述待处理的列;
当所述更新数据包含所述待处理的列时,则返回错误信息,并告知分片键不能更新。


3.根据权利要求2所述的方法,其特征在于,还包括:
当所述更新数据不包含所述待处理的列时,则执行更新操作。


4.根据权利要求1所述的方法,其特征在于,包括:
当接收到查询信号时,根据所述系统表,查询所述数据节点;
发送查询请求至所述数据节点;
返回所述数据节点内的数据。


5.一种基于分布式数据库的自定义数据分片装置,其特征在于,包括:
获取模块,用于获取待处理列表中至少一列的待分片数据;
第一确定模块,用于确定分片规则;
配置模块,用于根据所述分片规则配置分片函数;
第一存储模块,用于将所述分片函数与所述待处理列表的对应关系存储到系统表中;<...

【专利技术属性】
技术研发人员:姜明俊
申请(专利权)人:湖南亚信安慧科技有限公司
类型:发明
国别省市:湖南;43

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

1