本发明专利技术实施例公开了一种基于Sharding
【技术实现步骤摘要】
一种基于Sharding
‑
JDBC的数据库存储方法及系统
[0001]本专利技术涉及医疗机构数据库信息处理
,尤其涉及一种基于Sharding
‑
JDBC的数据库存储方法及系统。
技术介绍
[0002]在现有的医疗系统数据库中(例如,医院资产管理系统),常规的数据存储方式为单表加索引的形式进行数据存储,而在面对信息量非常大的设备巡检等数据库表,需要对数据进行查询和插入时,数据的更新会很慢,导致用户使用体验很差,而且该种数据存储方式使得数据维护管理起来也很不方便。
[0003]如何解决上述技术问题已经成为了业内亟待解决的技术难题。
技术实现思路
[0004]为了至少解决上述技术问题,本专利技术实施例的目的在于提供了一种基于Sharding
‑
JDBC的数据库存储方法,应用于医院资产管理系统,以解决上述技术问题。
[0005]为了达到上述目的,本专利技术实施例提供的基于Sharding
‑
JDBC的数据库存储方法,应用于医院资产管理系统,包括:在Nacos动态配置中心上配置数据库分表信息,数据库分表为处理相同业务的多个数据分表,每个数据分表具有唯一的分表名,多个数据分表的分片字段名相同;字段名所属的字段值为根据雪花算法生成的随机字符串,并将生成的随机字符串倒序;Sharding
‑
JDBC预存储有数据库分表信息,Sharding
‑
JDBC对倒序后的随机字符串进行取模算法获得分片值,Sharding
‑
JDBC根据分片值对分表进行分片;Sharding
‑
JDBC根据分片值将数据信息存储入对应的分表中;在接收到查询或者更新数据库中的数据信息时,Sharding
‑
JDBC根据数据信息对应的分片值,进入对应的分表中存储或查询。
[0006]进一步地,在Nacos动态配置中心上配置数据库分表信息的步骤,包括:在Nacos动态配置中心上配置数据库分表数量。
[0007]进一步地,字段值为倒序后的字符串的前十位数字。
[0008]进一步地,Sharding
‑
JDBC对数据库进行水平分表。
[0009]为了达到上述目的,本专利技术实施例提供的基于Sharding
‑
JDBC的数据库存储系统,应用于医院资产管理,包括:Nacos动态配置中心模块,用于配置数据库分表信息,数据库分表为处理相同业务的多个数据分表,每个数据分表具有唯一的分表名,多个数据分表的分片字段名相同;计算模块,包括雪花算法单元,用于通过雪花算法生成随机字符串,并将生成的随机字符串倒序作为字段名所属的字段值;计算模块还包括:
取模算法单元,对倒序后的随机字符串进行取模算法获得分片值;Sharding
‑
JDBC模块,预存储有数据库分表信息,Sharding
‑
JDBC模块根据分片值对分表进行分片;Sharding
‑
JDBC模块还包括:根据分片值将数据信息存储入对应的分表中;在接收到查询或者更新数据库中的数据信息时,根据数据信息对应的分片值,进入对应的分表中存储或查询。
[0010]进一步地,Nacos动态配置中心模块配置数据库分表信息的步骤,包括:在Nacos动态配置中心模块上配置数据库分表数量。
[0011]进一步地,字段值为倒序后的字符串的前十位数字。
[0012]进一步地,还包括:Sharding
‑
JDBC模块对数据库进行水平分表。
[0013]为达到上述目的,本专利技术实施例还提供一种电子设备,包括,处理器;以及被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器执行上述基于Sharding
‑
JDBC的数据库存储方法的步骤。
[0014]为达到上述目的,本专利技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储一个或多个程序,一个或多个程序当被包括多个应用程序的电子设备执行时,使得电子设备执行上述基于Sharding
‑
JDBC的数据库存储方法的步骤。
[0015]本专利技术实施例的基于Sharding
‑
JDBC的数据库存储方法,应用于医院资产管理系统,在Nacos动态配置中心上配置数据库分表信息,数据库分表为处理相同业务的多个数据分表,每个数据分表具有唯一的分表名,多个数据分表的分片字段名相同;字段名所属的字段值为根据雪花算法生成的随机字符串,并将生成的随机字符串倒序;Sharding
‑
JDBC预存储有数据库分表信息,Sharding
‑
JDBC对倒序后的随机字符串进行取模算法获得分片值,Sharding
‑
JDBC根据分片值对分表进行分片;Sharding
‑
JDBC根据分片值将数据信息存储入对应的分表中;在接收到查询或者更新数据库中的数据信息时,Sharding
‑
JDBC根据数据信息对应的分片值,进入对应的分表中存储或查询。在分表数量发生变化时,直接在Nacos动态配置中心上变更即可,不需要重新部署即可完成分表的配置;通过雪花算法和取模算法,使得数据的存储和获取可以准确的进入对应的分表中,进而使得数据的处理速度加快,提高了用户的体验感受;数据分片均匀,不易出现热点和并发访问的瓶颈现象。
附图说明
[0016]为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对一个或多个实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本专利技术实施例的基于Sharding
‑
JDBC的数据库存储方法流程示意图;图2是本专利技术实施例的基于Sharding
‑
JDBC的数据库存储系统结构示意图;图3是本专利技术实施例的计算模块结构示意图;图4是本专利技术一个实施例的电子设备的结构示意图。
具体实施方式
[0018]下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
[0019]应当理解,本申请方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
[0020]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于Sharding
‑
JDBC的数据库存储方法,应用于医院资产管理系统,其特征在于,包括:在Nacos动态配置中心上配置数据库分表信息,所述数据库分表为处理相同业务的多个数据分表,每个所述数据分表具有唯一的分表名,多个所述数据分表的分片字段名相同;所述字段名所属的字段值为根据雪花算法生成的随机字符串,并将生成的随机字符串倒序;Sharding
‑
JDBC预存储有所述数据库分表信息,所述Sharding
‑
JDBC对倒序后的随机字符串进行取模算法获得分片值,所述Sharding
‑
JDBC根据所述分片值对所述分表进行分片;所述Sharding
‑
JDBC根据所述分片值将数据信息存储入对应的分表中;在接收到查询或者更新所述数据库中的数据信息时,所述Sharding
‑
JDBC根据所述数据信息对应的分片值,进入对应的分表中存储或查询。2.根据权利要求1所述的基于Sharding
‑
JDBC的数据库存储方法,其特征在于,所述在Nacos动态配置中心上配置数据库分表信息的步骤,包括:在所述Nacos动态配置中心上配置数据库分表数量。3.根据权利要求2所述的基于Sharding
‑
JDBC的数据库存储方法,其特征在于,所述字段值为倒序后的所述字符串的前十位数字。4.根据权利要求3所述的基于Sharding
‑
JDBC的数据库存储方法,其特征在于,还包括:所述Sharding
‑
JDBC对所述数据库进行水平分表。5.一种基于Sharding
‑
JDBC的数据库存储系统,应用于医院资产管理,其特征在于,包括:Nacos动态配置中心模块,用于配置数据库分表信息,所述数据库分表为处理相同业务的多个数据分表,每个所述数据分表具有唯一的分表名,多个所述数据分表的分...
【专利技术属性】
技术研发人员:李引,孔亚涛,高强国,王玥,刘芳,
申请(专利权)人:苏州阿基米德网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。