CN106446182A - 一种数据库引擎 - Google Patents

一种数据库引擎 Download PDF

Info

Publication number
CN106446182A
CN106446182A CN201610860097.2A CN201610860097A CN106446182A CN 106446182 A CN106446182 A CN 106446182A CN 201610860097 A CN201610860097 A CN 201610860097A CN 106446182 A CN106446182 A CN 106446182A
Authority
CN
China
Prior art keywords
data
database
data source
database engine
thread
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
Application number
CN201610860097.2A
Other languages
English (en)
Inventor
黄仕忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Media Education Technology Co Ltd
Original Assignee
Guizhou Media Education Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guizhou Media Education Technology Co Ltd filed Critical Guizhou Media Education Technology Co Ltd
Priority to CN201610860097.2A priority Critical patent/CN106446182A/zh
Publication of CN106446182A publication Critical patent/CN106446182A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种数据库引擎,其包括负载均衡取数据器、数据库实体bean,其特征在于;通过数据源配置文件,建立多个能与不同类型的数据库相连接的数据源池,以数据源名称从数据源池中获取数据连接,将数据连接放入线程数据连接池,所述的数据源池与数据连接池依次与基础sql执行层、持久化对象sql转换层、外部操作接口层相连,本发明能达到更高的SQL执行效率、可减少不必要的重复数据库连接和jdbc处理相关操作,为开发人员赢得时间和效率。

Description

一种数据库引擎
技术领域
本发明涉及一种数据库引擎,属于数据库技术领域。
背景技术
企业项目开发中,为了提高开发效率,降低开发成本,可从数据库处理方面切入,当前常用的数据库处理方案有两种:一是采用开源ORM,如Hibernate,此方案依赖包太多,而且上手难度大,效率也不太高;二是采用纯JDBC操作,虽然此方案执行效率最高,但是在处理复杂数据表的时候开发人员要记住字段名称或者序号,很容易出错,错误后很难排查,而且,当前的数据处理方案,大多存在着大量的重复数据库连接和jdbc操作的问题,为此,应结合实际需求,开发一套数据库操作引擎,减少不必要的重复数据库连接和jdbc处理相关操作,为开发人员赢得时间和效率。
发明内容
本实用型要解决的技术问题是提供一种数据库引擎,可达到更高的SQL执行效率、可减少不必要的重复数据库连接和jdbc处理相关操作,为开发人员赢得时间和效率,克服现有技术的不足。
本发明的技术方案是:一种数据库引擎,其包括负载均衡取数据器、数据库实体bean,通过数据源配置文件,建立多个能与不同类型的数据库相连接的数据源池,以数据源名称从数据源池中获取数据连接,将数据连接放入线程数据连接池,所述的数据源池与数据连接池依次与基础sql执行层、持久化对象sql转换层、外部操作接口层相连。
上述线程数据连接池的同一个线程中只存在同一个连接。
上述的实体bean中,以反射机制解析出数据库表名和表字段。
上数据源池所创建的数据库通过负载均衡取数据器连回数据源池。
现有技术比较,本发明的数据库引擎,通过数据源配置文件,建立多个能与不同类型的数据库相连接的数据源池,以数据源名称从数据源池中获取数据连接,将数据连接放入线程数据连接池,这样能建立一个轻量化的底层数据库操作框架,达到更高的SQL执行效率,减少不必要的重复数据库连接和jdbc处理相关操作,更重要的是,引擎在同一应用中提供多数据源操作,为数据库集群、读写分离、数据库负载均衡等高可用、高负载的数据库解决方案提供程序应用级别的支持,为开发人员赢得时间和效率。
所述的数据源池与数据连接池依次与基础sql执行层、持久化对象sql转换层、外部操作接口层相连,这样在自动创建数据库表过程中:通过数据源名称从数据源池中获取数据连接,并放入线程数据连接池,在同一个线程中只存在同一个连接,以此来保证同一个线程请求的事务提交,组织查询数据表信息的sql语句,调用外部操作接口层的接口查询出数据库中的所有表结构信息,加载数据库实体bean,通过反射机制解析出实体bean的数据库表名和表字段,判断数据库中是否存在解析出的实体beanr的数据库表名,不存在则执行创建操作,根据解析出的数据库表名和字段,组装创建数据库表的sql语句,调用外部操作接口层的接口,通过取线程连接池中的连接执行sql语句,完成数据库表创建;在保存数据过程中:将需要保存的内容放入实体bean中,通过反射机制解析出实体bean的表结构和填充内容,组将成数据库表的***sql语句,通过数据源名称取得线程池中的数据连接,通过取得的数据连接执行数据库表的***sql语句,完成数据保存入库;在查询数据过程中:组装查询sql语句,通过数据源名称取得线程池中的数据连接,通过取得的数据连接执行数据库表的查询sql语句,将查询结果组装成对应的实体列表。
上述线程数据连接池的同一个线程中只存在同一个连接,这样能在同一个线程过来获取连接的时候,确保取到的是同一连接,以此来保证同一个线程请求的事务提交。
上述的实体bean中,以反射机制解析出数据库表名和表字段,这样能很容易反响生成数据库表以及字段的相关信息,最主要的是字段注解也一并生成。
上数据源池所创建的数据库通过负载均衡取数据器连接回数据源池,这样可以不断的保留与扩充数据库,同时,负载均衡取数据器的使用能实现多条网络链路分担数据流量。
附图说明
图1是本发明的连接结构示意图;
具体实施方式
实施例1. 如图1所示,一种数据库引擎,其包括负载均衡取数据器、数据库实体bean,其特征在于;通过数据源配置文件,建立多个能与不同类型的数据库相连接的数据源池,以数据源名称从数据源池中获取数据连接,将数据连接放入线程数据连接池,所述的数据源池与数据连接池依次与基础sql执行层、持久化对象sql转换层、外部操作接口层相连,线程数据连接池的同一个线程中只存在同一个连接,在实体bean中,以反射机制解析出数据库表名和表字段,数据源池所创建的数据库通过负载均衡取数据器连接回数据源池。
其运转过程
1.自动创建数据库表过程:
①建立数据库实体bean,并在实体中加入自定义的表名和字段注解。
②通过数据源配置文件,建立多数据源池,在同一个应用中可使用不同类型的数据库。
③通过数据源名称从数据源池中获取数据连接,并放入线程数据连接池,在同一个线程中只存在同一个连接,以此来保证同一个线程请求的事务提交。
④组织查询数据表信息的sql语句,调用外部操作接口层的接口查询出数据库中的所有表结构信息。
⑤加载数据库实体bean,通过反射机制解析出实体bean的数据库表名和表字段。
⑥判断数据库中是否存在解析出的实体beanr的数据库表名。不存在则执行创建操作。
⑦根据解析出的数据库表名和字段,组装创建数据库表的sql语句。
⑧调用外部操作接口层的接口,通过取线程连接池中的连接执行sql语句,完成数据库表创建。
2.保存数据过程:
①建立实体bean。
②将需要保存的内容放入实体bean中。
③通过反射机制解析出实体bean的表结构和填充内容。
④组将成数据库表的***sql语句。
⑤通过数据源名称取得线程池中的数据连接。
⑥通过取得的数据连接执行数据库表的***sql语句。
⑦完成数据保存入库。
3. 查询数据过程:
①组装查询sql语句。
②通过数据源名称取得线程池中的数据连接。
③通过取得的数据连接执行数据库表的查询sql语句。
④将查询结果组装成对应的实体列表。

Claims (4)

1.一种数据库引擎,其包括负载均衡取数据器、数据库实体bean,其特征在于;通过数据源配置文件,建立多个能与不同类型的数据库相连接的数据源池,以数据源名称从数据源池中获取数据连接,将数据连接放入线程数据连接池,所述的数据源池与数据连接池依次与基础sql(sql)执行层、持久化对象sql转换层、外部操作接口层相连。
2.根据权利1要求所述的数据库引擎,其特征在于:所述线程数据连接池的同一个线程中只存在同一个连接。
3.根据权利1要求所述的数据库引擎,其特征在于:在所述的实体bean中,以反射机制解析出数据库表名和表字段。
4.根据权利3要求所述的数据库引擎,其特征在于:数据源池所创建的数据库(数据库连接)通过负载均衡器取数据连接回数据源池。
CN201610860097.2A 2016-09-29 2016-09-29 一种数据库引擎 Pending CN106446182A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610860097.2A CN106446182A (zh) 2016-09-29 2016-09-29 一种数据库引擎

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610860097.2A CN106446182A (zh) 2016-09-29 2016-09-29 一种数据库引擎

Publications (1)

Publication Number Publication Date
CN106446182A true CN106446182A (zh) 2017-02-22

Family

ID=58171084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610860097.2A Pending CN106446182A (zh) 2016-09-29 2016-09-29 一种数据库引擎

Country Status (1)

Country Link
CN (1) CN106446182A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061801A (zh) * 2019-12-25 2020-04-24 天津南大通用数据技术股份有限公司 一种事务型数据库读写分离实现方法
CN113535149A (zh) * 2021-07-27 2021-10-22 在线途游(北京)科技有限公司 一种基于自定义bean的多数据源配置与解析方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567301A (zh) * 2003-06-23 2005-01-19 华为技术有限公司 访问数据库的方法及装置
CN101339559A (zh) * 2008-07-18 2009-01-07 北京航空航天大学 一种数据持久化实现方法
CN102214092A (zh) * 2010-10-11 2011-10-12 新太科技股份有限公司 一种软件开发辅助工具包
CN104598840A (zh) * 2015-02-04 2015-05-06 新余兴邦信息产业有限公司 基于Http协议的多数据源的数据处理方法及***
CN104991824A (zh) * 2015-08-03 2015-10-21 上海斐讯数据通信技术有限公司 一种动态切换应用程序数据源的方法及***
CN105549982A (zh) * 2016-01-14 2016-05-04 国网山东省电力公司物资公司 一种基于模型配置的自动化开发平台
CN105677323A (zh) * 2015-12-31 2016-06-15 合肥大多数信息科技有限公司 一种自动生成数据库操作层代码的方法
CN105677324A (zh) * 2015-12-31 2016-06-15 合肥大多数信息科技有限公司 一种自动生成实体类代码的方法
CN105808776A (zh) * 2016-03-29 2016-07-27 中国建设银行股份有限公司 一种分布式数据库的数据管理***及方法
CN106446127A (zh) * 2016-09-19 2017-02-22 济南浪潮高新科技投资发展有限公司 一种在数据库中利用二维矩阵表保护数据一致性的方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567301A (zh) * 2003-06-23 2005-01-19 华为技术有限公司 访问数据库的方法及装置
CN101339559A (zh) * 2008-07-18 2009-01-07 北京航空航天大学 一种数据持久化实现方法
CN102214092A (zh) * 2010-10-11 2011-10-12 新太科技股份有限公司 一种软件开发辅助工具包
CN104598840A (zh) * 2015-02-04 2015-05-06 新余兴邦信息产业有限公司 基于Http协议的多数据源的数据处理方法及***
CN104991824A (zh) * 2015-08-03 2015-10-21 上海斐讯数据通信技术有限公司 一种动态切换应用程序数据源的方法及***
CN105677323A (zh) * 2015-12-31 2016-06-15 合肥大多数信息科技有限公司 一种自动生成数据库操作层代码的方法
CN105677324A (zh) * 2015-12-31 2016-06-15 合肥大多数信息科技有限公司 一种自动生成实体类代码的方法
CN105549982A (zh) * 2016-01-14 2016-05-04 国网山东省电力公司物资公司 一种基于模型配置的自动化开发平台
CN105808776A (zh) * 2016-03-29 2016-07-27 中国建设银行股份有限公司 一种分布式数据库的数据管理***及方法
CN106446127A (zh) * 2016-09-19 2017-02-22 济南浪潮高新科技投资发展有限公司 一种在数据库中利用二维矩阵表保护数据一致性的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061801A (zh) * 2019-12-25 2020-04-24 天津南大通用数据技术股份有限公司 一种事务型数据库读写分离实现方法
CN113535149A (zh) * 2021-07-27 2021-10-22 在线途游(北京)科技有限公司 一种基于自定义bean的多数据源配置与解析方法及装置

Similar Documents

Publication Publication Date Title
CN104123374B (zh) 分布式数据库中聚合查询的方法及装置
US10585887B2 (en) Multi-system query execution plan
Bajda-Pawlikowski et al. Efficient processing of data warehousing queries in a split execution environment
US8719312B2 (en) Input/output efficiency for online analysis processing in a relational database
US9754010B2 (en) Generation of cube metadata and query statement based on an enhanced star schema
CN109446279A (zh) 基于neo4j大数据血缘关系管理方法、***、设备及存储介质
US20140280030A1 (en) Method of converting query plans to native code
US9195456B2 (en) Managing a catalog of scripts
JP2013503381A5 (zh)
CN107784026A (zh) 一种etl数据处理方法及装置
CN107818181A (zh) 基于Plcient交互式引擎的索引方法及其***
CN106446182A (zh) 一种数据库引擎
US8886659B2 (en) Data framework to enable rich processing of data from any arbitrary data source
Guntupally et al. Automated indexing of structured scientific metadata using apache solr
US9275103B2 (en) Optimization of JOIN queries for related data
Zhang et al. Unified SQL query middleware for heterogeneous databases
CN109753533A (zh) 一种多源关系型数据库客户端开发方法及装置
CN109376154A (zh) 数据读取、写入方法及数据读取、写入***
US11636113B2 (en) Method for performing multi-caching on data sources of same type and different types by using cluster-based processing system and device using the same
CN108073584B (zh) 一种数据处理方法及服务器
Gao et al. Exploiting sharing join opportunities in big data multiquery optimization with Flink
Xu et al. A unified computation engine for big data analytics
CN111079391B (zh) 一种报表的生成方法及装置
US11977582B2 (en) Global index with repartitioning operator
CN114416784B (zh) 处理数据库查询语句的方法、装置及原生分布式数据库

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170222