CN112527906A - 一种基于SpringBoot分布式数据库数据访问方法 - Google Patents
一种基于SpringBoot分布式数据库数据访问方法 Download PDFInfo
- Publication number
- CN112527906A CN112527906A CN202011502414.6A CN202011502414A CN112527906A CN 112527906 A CN112527906 A CN 112527906A CN 202011502414 A CN202011502414 A CN 202011502414A CN 112527906 A CN112527906 A CN 112527906A
- Authority
- CN
- China
- Prior art keywords
- data
- distributed database
- springboot
- thread
- data access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000011161 development Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 239000006185 dispersion Substances 0.000 abstract description 3
- 238000000605 extraction Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 6
- 230000006378 damage Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于SpringBoot分布式数据库数据访问方法,该方法结合SpringBoot轻量级框架特性,解决分布式数据库数据库数据查询访问问题,利用多线程异步、多任务并发执行特点,解决分布式数据库统计类数据因地域分散、提取复杂、网络延时造成的低效的数据存取问题,并利用传统关系型数据库容量大、字段固定、数据一致性以及高完整性特点对分布式数据库预提取的关键数据进行规范化存储,解决了互联网时代Web平台数据访问高性能、低成本、低延时的需求,大大提升客户机访问速度。
Description
技术领域
本发明涉及的是数据库领域,特别涉及一种基于SpringBoot分布式数据库数据访问方法。
背景技术
随着传统的数据库技术日趋成熟、计算机网络技术的飞速发展和应用范围的扩大,以分布式为主要特征的数据库系统的研究与开发受到人们的注意。分布式数据库是数据库技术与网络技术相结合的产物,在数据库领域已形成一个分支。由于分布式数据库数据分布在不同的机器上,每次交互都需要跨机器运行,造成了分布式数据库数据访问的复杂性,针对跨机房跨IDC情况,网络IO成为不可忽视的系统瓶颈。在此现状下,靠增加网络带宽,可以提升通道传输信息的能力,却无法从根本上解决网络延时造成的系统整体性能的降低问题,反而会大大的增加数据访问成本。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于SpringBoot分布式数据库数据访问方法。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种基于SpringBoot分布式数据库数据访问方法,包括:
S100.客户端向服务器发送请求数据时,服务器定时从分布式数据库提取统计型数据;
S200.服务器批量开启访问分布式数据库数据接口线程;
S300.服务器判断线程池中是否有可复用的线程;
S400.当线程池中有可复用的线程时,复用已有线程;
S500.查询分布式数据库数据,判断关系型数据库是否有此数据;
S600.当关系型数据库没有此数据时,将数据表中插入此数据,并将数据保存在数据库中。
进一步地,S100中,分布式数据库基于SpringBoot搭建。
进一步地,S200中,开发各类数据查询功能接口,完成分布式数据库数据微服务开发并部署,对外提供提取分布式数据库不同维度数据访问接口。
进一步地,S300中,一个线程在完成任务后并不会立即销毁,由后续的数据访问任务复用这个线程。
进一步地,S400还包括:当线程池中无可复用的线程时,由服务器新建线程。
进一步地,S500中,将多线程并发访问分布式数据库提取的关键数据,按照范式要求存储至关系型数据库指定的表中并设置唯一主键。
进一步地,S600中,当关系型数据库有此数据时,直接更新数据表数据。
本发明实施例提供的上述技术方案的有益效果至少包括:
本发明公开了一种基于SpringBoot分布式数据库数据访问方法,该方法结合SpringBoot轻量级框架特性,解决分布式数据库数据库数据查询访问问题,利用多线程异步、多任务并发执行特点,解决分布式数据库统计类数据因地域分散、提取复杂、网络延时造成的低效的数据存取问题,并利用传统关系型数据库容量大、字段固定、数据一致性以及高完整性特点对分布式数据库预提取的关键数据进行规范化存储,解决了互联网时代Web平台数据访问高性能、低成本、低延时的需求,大大提升客户机访问速度。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例1中,一种基于SpringBoot分布式数据库数据访问方法的流程图;
图2为本发明实施例1中,一种基于SpringBoot分布式数据库数据访问方法示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的问题,本发明实施例提供一种基于SpringBoot分布式数据库数据访问方法。
实施例1
本实施例公开了一种基于SpringBoot分布式数据库数据访问方法,如图1,包括:
S100.客户端向服务器发送请求数据时,服务器定时从分布式数据库提取统计型数据。
具体的,S100中,分布式数据库基于SpringBoot搭建。在本实施例中,通过为分布式数据库开发并部署基于SpringBoot的轻量级微服务,实现数据库数据基础查询功能,为分布式数据库提供数据访问接口。
S200.服务器批量开启访问分布式数据库数据接口线程;具体的,通过开发各类数据查询功能接口,完成分布式数据库数据微服务开发并部署,对外提供提取分布式数据库不同维度数据访问接口。通过开发中间件服务,充分利用多线程并发执行特点,通过定期开启数据访问多线程任务,访问分布式数据库微服务数据查询接口,提取web平台所需各维度关键数据。
S300.服务器判断线程池中是否有可复用的线程;如图2,在本实施例中,通过将各维度数据访问多线程任务分别放在与之对应的多线程池内,线程池对线程的创建和销毁进行统一维护管理,一个线程在完成任务后并不会立即销毁,而是由后续的数据访问任务复用这个线程,从而减少线程的创建和销毁,节约系统开销。
S400.当线程池中有可复用的线程时,复用已有线程;在一些优选实施例中,S400还包括:当线程池中无可复用的线程时,由服务器新建线程。本实施例中,具体操作为,为各维度数据访问分别新建线程池ExecutorService,并指定线程池维护的最大线程个数Executors.newFixedThreadPool(30)。将新开启的多线程任务放入线程池里进行统一管理exceute(thread),重复利用已有的线程,减少线程的创建,避免内存耗尽。
S500.查询分布式数据库数据,判断关系型数据库是否有此数据;在本实施例中,将多线程并发访问分布式数据库提取的关键数据,按照范式要求存储至关系型数据库指定的表中并设置唯一主键。
S600.当关系型数据库没有此数据时,将数据表中插入此数据,并将数据保存在数据库中。当关系型数据库有此数据时,直接更新数据表数据。本实施例具体操作为,将多线程并发访问分布式数据库提取的关键数据,按照范式要求存储至关系型数据库指定的表中并设置唯一主键,通过ON DUPLICATE KEY UPDATE确定是Insert还是Update,保证关系数据库关键数据与分布式数据库基础数据同步。
通过在关系型数据库中设计符合需求和规范的数据库表,存储多线程访问微服务返回的各维度数据,通过直接查询存储在关系型数据库的统一标准的分布式数据库关键数据,保证web平台页面统计型数据即时访问。
通过在关系型数据库表中设置唯一主键标识(例如:分布式数据库编号ID作为唯一主键),实现分布式数据库数据更新功能。当关系型数据库无此类数据时则Insert,否则即Update。
本实施例公开了一种基于SpringBoot分布式数据库数据访问方法,该方法结合SpringBoot轻量级框架特性,解决分布式数据库数据库数据查询访问问题,利用多线程异步、多任务并发执行特点,解决分布式数据库统计类数据因地域分散、提取复杂、网络延时造成的低效的数据存取问题,并利用传统关系型数据库容量大、字段固定、数据一致性以及高完整性特点对分布式数据库预提取的关键数据进行规范化存储,解决了互联网时代Web平台数据访问高性能、低成本、低延时的需求,大大提升客户机访问速度。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (7)
1.一种基于SpringBoot分布式数据库数据访问方法,其特征在于,包括:
S100.客户端向服务器发送请求数据时,服务器定时从分布式数据库提取统计型数据;
S200.服务器批量开启访问分布式数据库数据接口线程;
S300.服务器判断线程池中是否有可复用的线程;
S400.当线程池中有可复用的线程时,复用已有线程;
S500.查询分布式数据库数据,判断关系型数据库是否有此数据;
S600.当关系型数据库没有此数据时,将数据表中插入此数据,并将数据保存在数据库中。
2.如权利要求1的一种基于SpringBoot分布式数据库数据访问方法,其特征在于,S100中,分布式数据库基于SpringBoot搭建。
3.如权利要求1的一种基于SpringBoot分布式数据库数据访问方法,其特征在于,S200中,开发各类数据查询功能接口,完成分布式数据库数据微服务开发并部署,对外提供提取分布式数据库不同维度数据访问接口。
4.如权利要求1的一种基于SpringBoot分布式数据库数据访问方法,其特征在于,S300中,一个线程在完成任务后并不会立即销毁,由后续的数据访问任务复用这个线程。
5.如权利要求1的一种基于SpringBoot分布式数据库数据访问方法,其特征在于,S400还包括:当线程池中无可复用的线程时,由服务器新建线程。
6.如权利要求1的一种基于SpringBoot分布式数据库数据访问方法,其特征在于,S500中,将多线程并发访问分布式数据库提取的关键数据,按照要求存储至关系型数据库指定的表中并设置唯一主键。
7.如权利要求1的一种基于SpringBoot分布式数据库数据访问方法,其特征在于,S600中,当关系型数据库有此数据时,直接更新数据表数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011502414.6A CN112527906A (zh) | 2020-12-17 | 2020-12-17 | 一种基于SpringBoot分布式数据库数据访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011502414.6A CN112527906A (zh) | 2020-12-17 | 2020-12-17 | 一种基于SpringBoot分布式数据库数据访问方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527906A true CN112527906A (zh) | 2021-03-19 |
Family
ID=75001411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011502414.6A Pending CN112527906A (zh) | 2020-12-17 | 2020-12-17 | 一种基于SpringBoot分布式数据库数据访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527906A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814077A (zh) * | 2009-12-04 | 2010-08-25 | 四川川大智胜软件股份有限公司 | 一种基于oci 9的数据库访问中间件 |
CN106354801A (zh) * | 2016-08-26 | 2017-01-25 | 广州唯品会信息科技有限公司 | 分布式数据库连接方法和装置 |
CN112000670A (zh) * | 2020-08-20 | 2020-11-27 | 厦门亿联网络技术股份有限公司 | 一种多线程程序数据统一管理方法、系统及电子设备 |
-
2020
- 2020-12-17 CN CN202011502414.6A patent/CN112527906A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814077A (zh) * | 2009-12-04 | 2010-08-25 | 四川川大智胜软件股份有限公司 | 一种基于oci 9的数据库访问中间件 |
CN106354801A (zh) * | 2016-08-26 | 2017-01-25 | 广州唯品会信息科技有限公司 | 分布式数据库连接方法和装置 |
CN112000670A (zh) * | 2020-08-20 | 2020-11-27 | 厦门亿联网络技术股份有限公司 | 一种多线程程序数据统一管理方法、系统及电子设备 |
Non-Patent Citations (3)
Title |
---|
张世维等: "一种分布式异步事件处理框架的研究与实现", 《微电子学与计算机》 * |
焦景云: "关于分布式数据库存储子系统设计与实现的探讨", 《信息通信》 * |
陈学明: "《Spring+Spring MVC+MyBatis整合开发实战》", 机械工业出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108076098B (zh) | 一种业务处理方法及系统 | |
US6339771B1 (en) | Method and system for managing connections to a database management system | |
CN110096620A (zh) | 数据库表和xml报文的映射方法及其系统 | |
CN108279922A (zh) | 差分文件生成方法、基于该差分文件的升级方法及系统 | |
CN104065636A (zh) | 数据处理方法和系统 | |
CN112667600A (zh) | 一种redis与MySQL结合的库存解决方法 | |
CN111209093B (zh) | 一种分布式数据库系统中分布式事务的处理方法 | |
US8521682B2 (en) | Transfer of data from transactional data sources to partitioned databases in restartable environments | |
CN112527906A (zh) | 一种基于SpringBoot分布式数据库数据访问方法 | |
CN113553331A (zh) | 基于数据库的多服务间积分日志id生成方法 | |
CN111752961A (zh) | 一种数据处理方法及装置 | |
CN115577042A (zh) | 分布式系统递增数字id生成方法 | |
CN113032385B (zh) | 一种易扩展可配置化的数据备份系统及方法 | |
CN101751292A (zh) | Atc系统中一种实现多机关键数据一致性功能的方法 | |
CN114610351A (zh) | 一种数据库升级方法 | |
CN114328591A (zh) | 事务执行方法、装置、设备和存储介质 | |
US20050044090A1 (en) | Computer system and program | |
CN116701544B (zh) | 分布式数据库日志处理方法和装置、电子设备和存储介质 | |
CN117827979B (zh) | 一种数据批量导入方法、装置、电子设备及存储介质 | |
CN110096389A (zh) | 一种数据库的启动方法、装置、设备和存储介质 | |
CN114840219B (zh) | 分布式事件处理系统 | |
CN115952204B (zh) | 一种缓存式SQLite读取方法 | |
CN113239061B (zh) | 智慧法院数据更新方法及系统 | |
JPWO2007096963A1 (ja) | サーバ管理プログラム、サーバ管理装置およびサーバ管理方法 | |
CN116346625A (zh) | 一种实现感知redis接入机动态扩缩容的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210319 |
|
RJ01 | Rejection of invention patent application after publication |