数据分库存储方法及装置制造方法及图纸

技术编号:15724795 阅读:108 留言:0更新日期:2017-06-29 11:12
本发明专利技术提供一种数据分库存储方法,首先获取待分库存储的目标数据;然后采用预设的分类算法确定所述目标数据对应的类;最后将所述目标数据存储到所述类对应的数据库中,完成对该目标数据的分库存储。相较于现有技术,本申请只需要计算确定目标数据的类,即可将目标数据存储到所述类对应的数据库中。方法简单,而且在分库过程中可以不引入新的id等辅助分类项,从而在不增加原目标数据存储大小或不需要额外的存储空间的情况下实现分库存储,相较于现有技术存储空间占用较少,另外,本申请采用类与数据库进行关联的方式实现分库,因此在数据库扩容或数据迁移时,只需要增加相应的类或改变类与数据库的关联即可简单实现,便于扩展扩容。

【技术实现步骤摘要】
数据分库存储方法及装置
本专利技术涉及数据库
,具体涉及一种数据分库存储方法及装置。
技术介绍
随着信息化的普及,信息系统承载的业务越来越多,需要储存的数据也越来越多。由于单台服务器的资源(CPU、磁盘、内存、IO、带宽)是有限的,在数据的储存和使用上很容易达到瓶颈。用更多的服务器组合来完成更多数据的储存和使用是当前有效的一种解决办法,数据库的分库分表技术应运而生。现有技术中常见的分库策略有两种:一种是基于自增的int策略,其优点是:数据存储位数少、作为数据库主键性能表现好、分库策略容易;缺点是:需要单独的idserver、系统复杂度高、存在性能瓶颈、数据分拆迁移存在风险。另一种是基于UUID策略,其优点是:id不会重复、数据拆库容易;缺点是:数据存储位数多、较占储存空间、插入性能表现不好、分库策略不好处理。因此,需要提供一种实现简单、数据存储空间占用少、便于扩展的数据分库存储方法。
技术实现思路
针对现有技术中的缺陷,本专利技术提供一种数据分库存储方法及装置,以解决现有技术中的上述缺陷。第一方面,本专利技术提供的一种数据分库存储方法,包括:获取待分库存储的目标数据;采用预设的分类算法确定所述目标数据对应的类;将所述目标数据存储到所述类对应的数据库中,完成对该目标数据的分库存储。可选的,所述采用预设的分类算法确定所述目标数据对应的类,包括:获取所述目标数据的标识码;根据数据库的数量采用取模算法对所述标识码进行取模,根据计算获得的模确定所述目标数据对应的类。可选的,所述标识码为N进制数字,N为大于1的整数;所述根据数据库的数量采用取模算法对所述标识码进行取模,包括:将N进制的所述标识码转换为十进制的标识码;采用数据库的数量对所述十进制的标识码进行取模。可选的,所述目标数据具有标识码,所述标识码为N进制数字,N为大于1的整数;在获取待分库存储的目标数据的步骤前,还包括:设置N的因数个或倍数个数据库。可选的,所述数据分库存储方法,还包括:在需要对数据库进行扩容时,根据扩容后的数据库的数量对所述分类算法进行调整;采用调整后的分类算法重新确定所述目标数据对应的新类;将所述目标数据转存到所述新类对应的数据库中。可选的,所述采用调整后的分类算法重新确定所述目标数据对应的新类,包括:采用扩容后的数据库的数量对所述目标数据的标识码进行取模,根据计算获得的模确定所述目标数据对应的新类。第二方面,本专利技术提供一种数据分库存储系统,包括:目标数据获取模块,用于获取待分库存储的目标数据;分类模块,用于采用预设的分类算法确定所述目标数据对应的类;存储模块,用于将所述目标数据存储到所述类对应的数据库中,完成对该目标数据的分库存储。可选的,所述分类模块,包括:标识码获取单元,用于获取所述目标数据的标识码;取模计算单元,用于根据数据库的数量采用取模算法对所述标识码进行取模,根据计算获得的模确定所述目标数据对应的类。可选的,所述标识码为N进制数字,N为大于1的整数;所述取模计算单元,包括:进制转换子单元,用于将N进制的所述标识码转换为十进制的标识码;十进制取模子单元,用于采用数据库的数量对所述十进制的标识码进行取模。可选的,所述目标数据具有标识码,所述标识码为N进制数字,N为大于1的整数;所述数据分库存储装置,还包括:数据库设置模块,用于设置N的因数个或倍数个数据库。可选的,所述数据分库存储装置,还包括:算法调整模块,用于在需要对数据库进行扩容时,根据扩容后的数据库的数量对所述分类算法进行调整;新类计算模块,用于采用调整后的分类算法重新确定所述目标数据对应的新类;新类存储模块,用于将所述目标数据转存到所述新类对应的数据库中。可选的,所述新类计算模块,包括:新类取模单元,用于采用扩容后的数据库的数量对所述目标数据的标识码进行取模,根据计算获得的模确定所述目标数据对应的新类。由上述技术方案可知,本专利技术提供的一种数据分库存储方法,首先获取待分库存储的目标数据;然后采用预设的分类算法确定所述目标数据对应的类;最后将所述目标数据存储到所述类对应的数据库中,完成对该目标数据的分库存储。相较于现有技术,本申请只需要计算确定目标数据的类,即可将目标数据存储到所述类对应的数据库中。方法简单,而且在分库过程中可以不引入新的id等辅助分类项,从而在不增加原目标数据存储大小或不需要额外的存储空间的情况下实现分库存储,相较于现有技术存储空间占用较少,另外,本申请采用类与数据库进行关联的方式实现分库,因此在数据库扩容或数据迁移时,只需要增加相应的类或改变类与数据库的关联即可简单实现,便于扩展扩容。本专利技术提供的一种数据分库存储装置,与上述数据分库存储方法出于相同的专利技术构思,具有相同的有益效果。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。图1示出了本专利技术第一实施例所提供的一种数据分库存储方法的流程图;图2示出了本专利技术第二实施例所提供的一种数据分库存储装置的示意图。具体实施方式下面将结合附图对本专利技术技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,因此只是作为示例,而不能以此来限制本专利技术的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本专利技术所属领域技术人员所理解的通常意义。本专利技术提供一种数据分库存储方法和装置。下面结合附图对本专利技术的实施例进行说明。图1示出了本专利技术第一实施例所提供的一种数据分库存储方法的流程图。如图1所示,本专利技术第一实施例提供的一种数据分库存储方法包括以下步骤:步骤S101:获取待分库存储的目标数据。本专利技术第一实施例中,所述待分库存储的目标数据,可以是从客户端获取的新的待存储的数据,也可以是既有的数据库中存储的待分库存储的数据,上述两种应用场景均适用。本专利技术第一实施例的分库存储方法属于水平分库方法,即将数据库表中的数据元素作为操作对象,将各个数据元素分库存储到各个数据库中。步骤S102:采用预设的分类算法确定所述目标数据对应的类。对于数据元素而言,有多种分类方法(也称分类算法),举例来说:一种分类方法是可以根据实际需求将所述数据元素的任一个数据项作为分类依据进行分类,比如某一个数据项的属性值为数字,那么可以将该数据项分为几个区间,每个区间代表一个类,那么在获取到目标数据后,即可根据相应的属性值属于哪个区间而快速、简单的判断该目标数据属于哪个类;又如,某一个数据项的属性值为归属地,那么可以根据归属地的不同设置相应的数据库并设置相应的类,那么在获取到目标数据后,即可根据归属地的属性值而快速、简单的判断该目标数据属于哪个类。另一种分类方法是可以采用机器学习算法预先训练分类模型,则本步骤在执行时只需要将目标数据输入该分类模型,即可输出相应的分类结果。此外,在数据元素中含有标识码(例如用户ID、数据对象ID、自增序列号等)的情况下,还可以采用取模算法对标识码取模,根据计算确定的模进行分类。在本申请提供的一个实施例中,所述采用预设的分类算法确定所述目标数据对应的类,包括:获取所述目标数据的标识码;根据数据库的数量采用取模算法对所述标识码进行取模,根据计算获得的模确定所述目标数据对应的类。例如在目标数据有自增序列号(由计本文档来自技高网...
数据分库存储方法及装置

【技术保护点】
一种数据分库存储方法,其特征在于,包括:获取待分库存储的目标数据;采用预设的分类算法确定所述目标数据对应的类;将所述目标数据存储到所述类对应的数据库中,完成对该目标数据的分库存储。

【技术特征摘要】
1.一种数据分库存储方法,其特征在于,包括:获取待分库存储的目标数据;采用预设的分类算法确定所述目标数据对应的类;将所述目标数据存储到所述类对应的数据库中,完成对该目标数据的分库存储。2.根据权利要求1所述的数据分库存储方法,其特征在于,所述采用预设的分类算法确定所述目标数据对应的类,包括:获取所述目标数据的标识码;根据数据库的数量采用取模算法对所述标识码进行取模,根据计算获得的模确定所述目标数据对应的类。3.根据权利要求2所述的数据分库存储方法,其特征在于,所述标识码为N进制数字,N为大于1的整数;所述根据数据库的数量采用取模算法对所述标识码进行取模,包括:将N进制的所述标识码转换为十进制的标识码;采用数据库的数量对所述十进制的标识码进行取模。4.根据权利要求1所述的数据分库存储方法,其特征在于,所述目标数据具有标识码,所述标识码为N进制数字,N为大于1的整数;在获取待分库存储的目标数据的步骤前,还包括:设置N的因数个或倍数个数据库。5.根据权利要求1所述的数据分库存储方法,其特征在于,还包括:在需要对数据库进行扩容时,根据扩容后的数据库的数量对所述分类算法进行调整;采用调整后的分类算法重新确定所述目标数据对应的新类;将所述目标数据转存到所述新类对应的数据库中。6.根据权利要求5所述的数据分库存储方法,其特征在于,所述采用调整后...

【专利技术属性】
技术研发人员:黄奎王国伟
申请(专利权)人:北京致远互联软件股份有限公司
类型:发明
国别省市:北京,11

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

1