CN104408054B - 一种数据库管理系统 - Google Patents
一种数据库管理系统 Download PDFInfo
- Publication number
- CN104408054B CN104408054B CN201410591810.9A CN201410591810A CN104408054B CN 104408054 B CN104408054 B CN 104408054B CN 201410591810 A CN201410591810 A CN 201410591810A CN 104408054 B CN104408054 B CN 104408054B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- disk
- application layer
- internal storage
- 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.)
- Expired - Fee Related
Links
- 230000006870 function Effects 0.000 claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000005538 encapsulation Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000007789 sealing Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000686 essence Substances 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
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
本发明适用于数据库技术领域,提供了一种数据库管理系统,包括请求排队机、内存节点和磁盘节点;请求排队机将外部业务请求同时分发给内存节点和磁盘节点;内存节点包括内存数据应用层、内存数据访问层和内存数据库;磁盘节点包括磁盘数据应用层、磁盘数据访问层和磁盘数据库;内存数据应用层和磁盘数据应用层具有相同的业务逻辑功能对象;内存数据应用层和磁盘数据应用层同时根据外部业务请求分别调用相同的业务逻辑功能对象,实现业务逻辑处理,得到处理结果;内存数据访问层和磁盘数据访问层同时将处理结果分别写入至内存数据库和磁盘数据库中。本发明,充分发挥了两种数据库的优势,在对事务性一致性要求比较高的金融行业具有广泛的实用价值。
Description
技术领域
本发明属于数据库技术领域,尤其涉及一种数据库管理系统。
背景技术
传统的数据库管理系统把所有的数据都存储在磁盘上进行管理,访问磁盘数据库时,需要频繁地访问磁盘来进行数据的操作。由于对磁盘读写数据的操作,一方面要进行磁头的机械移动(固态硬盘除外),另一方面受到系统调用(通常通过CPU中断完成,受到CPU时钟周期的制约)时间的影响,当数据量很大,读写操作频繁且复杂时,就会暴露出性能不足的问题。
内存数据库系统是重新设计的一种数据库管理系统,通过对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使用CPU周期和内存。这种数据库技术近乎把整个数据库放进内存中,因而会产生一些根本性的变化。内存数据库系统带来的优越性能不仅仅在于对内存读写比对磁盘读写快,更重要的是,从根本上抛弃了磁盘数据库管理的许多传统方式,基于全部数据都在内存中管理进行了新的体系结构的设计,并且在数据缓存、快速算法、并行操作方面也进行了相应的改进,从而使数据处理速度一般比传统磁盘数据库的数据处理速度快很多,一般都在10倍以上,理想情况甚至可以达到1000倍。
但内存数据库的引入提升了系统处理性能的同时,也带来了内存数据难以持久存储的问题。由于数据装载在内存中,一旦主机宕机,数据将会丢失,因此,需解决内存数据的持久化存储问题。
发明内容
本发明实施例提供了一种数据库管理系统,旨在解决现有的数据库管理系统中,存在磁盘数据库的性能不足或者内存数据库的数据不能持久化存储的问题。
一方面,提供一种数据库管理系统,所述数据库管理系统包括:请求排队机、内存节点和磁盘节点;
所述请求排队机,用于接收外部业务请求,并将所述外部业务请求同时分发给所述内存节点和所述磁盘节点;
所述内存节点包括:内存数据应用层、内存数据访问层和内存数据库;
所述磁盘节点包括:磁盘数据应用层、磁盘数据访问层和磁盘数据库;
所述内存数据应用层和所述磁盘数据应用层具有相同的业务逻辑功能对象;
所述内存数据应用层和所述磁盘数据应用层,用于同时根据所述外部业务请求,分别调用相同的业务逻辑功能对象,实现业务逻辑处理,得到处理结果;
所述内存数据访问层和所述磁盘数据访问层,用于同时将所述处理结果分别写入至所述内存数据库和所述磁盘数据库中。
进一步地,所述内存数据应用层和所述磁盘数据应用层,还用于根据当前连接的数据库的类型,创建相应类型的数据库表访问对象实例。
进一步地,所述内存数据访问层包括:
内存数据表访问对象,用于对内存数据库的每张数据库表进行封装,以供所述内存数据应用层的业务逻辑功能对象调用;
内存数据库访问引擎,用于对内存数据库的访问方式进行封装。
进一步地,所述内存数据库访问引擎提供内存数据库连接管理功能、事务管理功能和监视功能。
进一步地,所述内存数据访问层还包括:
内存数据库Xa事务管理对象,用于对所述内存数据库访问引擎的事务管理功能的进行封装,完成对数据一致性的事务管理。
进一步地,所述磁盘数据访问层包括:
磁盘数据表访问对象,用于对磁盘数据库的每张数据库表进行封装,以供所述磁盘数据应用层的业务逻辑功能对象调用;
磁盘数据库访问引擎,用于对磁盘数据库的访问方式进行封装。
进一步地,所述磁盘数据库访问引擎提供磁盘数据库连接管理功能和事务管理功能。
进一步地,所述磁盘数据访问层还包括:
磁盘数据库Xa事务管理对象,用于对磁盘数据库访问引擎的事务管理功能的进行封装,完成对数据一致性的事务管理。
在本发明实施例,进入数据库管理系统的外部业务请求,同时进入磁盘数据库的逻辑处理节点‐磁盘节点和内存数据库的逻辑处理节点‐内存节点进行并行计算,计算结果同时更新至磁盘数据库和内存数据库中,从而达到两个节点的数据库中数据的一致性。数据库管理系统中采用并行计算的混合数据库,有效的解决了磁盘数据库的性能问题、也克服了内存数据库的易逝性问题,充分发挥了两种数据库的优势,在对事务性一致性要求比较高的金融行业具有广泛的实用价值。
附图说明
图1是本发明实施例一提供的数据库管理系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,数据库管理系统中同时包括磁盘节点和内存节点,内存节点包括内存数据应用层、内存数据访问层和内存数据库;磁盘节点包括磁盘数据应用层、磁盘数据访问层和磁盘数据库。请求排队机将接收的外部业务请求同时分发给磁盘节点和内存节点,磁盘节点和内存节点中的内存数据应用层和磁盘数据应用层分别根据其连接的数据库的类型,通过内存数据访问层和磁盘数据访问层与相应类型的数据库建立连接,并同时根据接收到的外部业务请求,分别通过内存数据应用层和磁盘数据应用层调用相同的业务逻辑功能对象,实现业务逻辑处理后,将处理结果同时写入内存数据库和磁盘数据库中。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的数据库管理系统的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该数据库管理系统1包括:请求排队机11、内存节点12和磁盘节点13。
其中,请求排队机11,用于接收外部业务请求,并将所述外部业务请求同时分发给内存节点12和磁盘节点13。
内存节点12包括:内存数据应用层121、内存数据访问层122和内存数据库123。
磁盘节点13包括:磁盘数据应用层131、磁盘数据访问层132和磁盘数据库133。
其中,内存数据应用层121和磁盘数据应用层131具有相同的业务逻辑功能对象。
内存数据应用层121和磁盘数据应用层131,用于同时根据所述外部业务请求,分别调用相同的业务逻辑功能对象,实现业务逻辑处理,得到处理结果。
由于内存数据应用层121和磁盘数据应用层131调用的是相同的业务逻辑功能对象,因此,对于同一套业务逻辑,可以同时运行在内存数据库和磁盘数据库之上。
内存数据访问层121和磁盘数据访问层131,用于同时将所述处理结果分别写入至内存数据库123和磁盘数据库133中。
进一步地,内存数据应用层121和磁盘数据应用层131还用于根据当前连接的数据库的类型,创建相应类型的数据库表访问对象实例,若当前连接的数据库为内存数据库,则创建的数据库表访问对象实例为内存数据库表访问对象实例;若当前连接的数据库为磁盘数据库,则创建的数据库表访问对象实例为磁盘数据库表访问对象实例。
具体的,内存数据访问层122包括内存数据表访问对象和内存数据库访问引擎。
内存数据表访问对象,用于对内存数据库的每张数据库表进行封装,以供内存数据应用层121的业务逻辑功能对象调用。
详细的,内存数据表访问对象根据每张内存数据库表的字段定义、索引定义,使用内存数据库提供的API函数,实现接口基类对外提供的功能函数,如按索引进行查询、插入、更新、删除的函数以及自定义方式的查询、插入、更新、删除函数。将这些功能函数封装成C++纯虚类,作为接口基类,提供给内存数据应用层121的业务逻辑功能对象调用。
内存数据库访问引擎,用于对内存数据库的访问方式进行封装。
详细的,内存数据库访问引擎,能够提供内存数据库连接管理功能(内存数据库创建、建立连接、关闭连接)、事务管理功能(事务开始、事务结束、事务提交、事务回滚)和监视功能(内存使用率、剩余空间大小等)。
内存数据应用层121通过内存数据访问层122的内存数据库访问引擎和内存数据表访问对象连接到内存数据库上。
具体的,磁盘数据访问层132包括磁盘数据表访问对象和磁盘数据库访问引擎。
磁盘数据表访问对象,用于对磁盘数据库的每张数据库表进行封装对磁盘数据库的每张数据库表进行封装,以供所述磁盘数据应用层的业务逻辑功能对象调用。
详细的,磁盘数据表访问对象根据每张磁盘数据库表的字段定义、索引定义,使用ODBC函数进行编程,实现接口基类对外提供的功能函数,如按索引进行查询、插入、更新、删除的函数以及自定义方式的查询、插入、更新、删除函数。将这些函数封装成C++纯虚类,作为接口基类,提供给磁盘数据应用层131的业务逻辑功能对象调用。
磁盘数据库访问引擎,用于对磁盘数据库的访问方式进行封装。
详细的,磁盘数据库访问引擎,能够提供磁盘数据库连接管理功能(磁盘数据库创建、建立连接、关闭连接)和事务管理功能(事务开始、事务结束、事务提交、事务回滚)。
磁盘数据应用层131通过磁盘数据访问层132的磁盘数据库访问引擎和磁盘数据表访问对象连接到磁盘数据库上。
优选地,内存数据访问层122还包括内存数据库Xa事务管理对象,内存数据库Xa事务管理对象用于对内存数据库访问引擎的事务管理功能的进行封装,完成对数据一致性的事务管理,比如,通知数据库事务的开始、结束以及提交、回滚等数据库事务,是对内存数据库访问引擎事务管理功能的封装。
优选地,磁盘数据访问层132还包括磁盘数据库Xa事务管理对象,磁盘数据库Xa事务管理对象用于对磁盘数据库访问引擎的事务管理功能的进行封装,完成对数据一致性的事务管理,比如,通知数据库事务的开始、结束以及提交、回滚等数据库事务,是对磁盘数据库访问引擎事务管理功能的封装。
本实施例,进入数据库管理系统的外部业务请求,同时进入磁盘数据库的逻辑处理节点-磁盘节点和内存数据库的逻辑处理节点-内存节点进行并行计算,计算结果同时更新至磁盘数据库和内存数据库中,从而达到两个节点的数据库中数据的一致性。数据库管理系统中采用并行计算的混合数据库,有效的解决了磁盘数据库的性能问题、也克服了内存数据库的易逝性问题,充分发挥了两种数据库的优势,在对事务性一致性要求比较高的金融行业具有广泛的实用价值。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种数据库管理系统,其特征在于,所述数据库管理系统包括:请求排队机、内存节点和磁盘节点;
所述请求排队机,用于接收外部业务请求,并将所述外部业务请求同时分发给所述内存节点和所述磁盘节点;
所述内存节点包括:内存数据应用层、内存数据访问层和内存数据库;
所述磁盘节点包括:磁盘数据应用层、磁盘数据访问层和磁盘数据库;
所述内存数据应用层和所述磁盘数据应用层具有相同的业务逻辑功能对象;
所述内存数据应用层和所述磁盘数据应用层,用于同时根据所述外部业务请求,分别调用相同的业务逻辑功能对象,实现业务逻辑处理,得到处理结果;
所述内存数据访问层和所述磁盘数据访问层,用于同时将所述处理结果分别写入至所述内存数据库和所述磁盘数据库中;
所述内存数据应用层和所述磁盘数据应用层,还用于根据当前连接的数据库的类型,创建相应类型的数据库表访问对象实例,若当前连接的数据库为内存数据库,则创建的数据库表访问对象实例为内存数据库表访问对象实例;若当前连接的数据库为磁盘数据库,则创建的数据库表访问对象实例为磁盘数据库表访问对象实例。
2.如权利要求1所述的数据库管理系统,其特征在于,所述内存数据访问层包括:
内存数据表访问对象,用于对内存数据库的每张数据库表进行封装,以供所述内存数据应用层的业务逻辑功能对象调用;
内存数据库访问引擎,用于对内存数据库的访问方式进行封装。
3.如权利要求2所述的数据库管理系统,其特征在于,所述内存数据库访问引擎提供内存数据库连接管理功能、事务管理功能和监视功能。
4.如权利要求2或3所述的数据库管理系统,其特征在于,所述内存数据访问层还包括:
内存数据库Xa事务管理对象,用于对所述内存数据库访问引擎的事务管理功能的进行封装,完成对数据一致性的事务管理。
5.如权利要求1所述的数据库管理系统,其特征在于,所述磁盘数据访问层包括:
磁盘数据表访问对象,用于对磁盘数据库的每张数据库表进行封装,以供所述磁盘数据应用层的业务逻辑功能对象调用;
磁盘数据库访问引擎,用于对磁盘数据库的访问方式进行封装。
6.如权利要求5所述的数据库管理系统,其特征在于,所述磁盘数据库访问引擎提供磁盘数据库连接管理功能和事务管理功能。
7.如权利要求5或6所述的数据库管理系统,其特征在于,所述磁盘数据访问层还包括:
磁盘数据库Xa事务管理对象,用于对磁盘数据库访问引擎的事务管理功能的进行封装,完成对数据一致性的事务管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410591810.9A CN104408054B (zh) | 2014-10-29 | 2014-10-29 | 一种数据库管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410591810.9A CN104408054B (zh) | 2014-10-29 | 2014-10-29 | 一种数据库管理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104408054A CN104408054A (zh) | 2015-03-11 |
CN104408054B true CN104408054B (zh) | 2017-10-31 |
Family
ID=52645686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410591810.9A Expired - Fee Related CN104408054B (zh) | 2014-10-29 | 2014-10-29 | 一种数据库管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104408054B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376214B (zh) * | 2018-08-31 | 2022-03-08 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置、系统、计算机设备及可读介质 |
JP7120439B2 (ja) * | 2019-03-11 | 2022-08-17 | 日本電信電話株式会社 | データ一般化装置、データ一般化方法、プログラム |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113953B2 (en) * | 2003-06-30 | 2006-09-26 | International Business Machines Corporation | System and method for efficiently writing data from an in-memory database to a disk database |
CN101833585A (zh) * | 2010-05-19 | 2010-09-15 | 中兴通讯股份有限公司 | 数据库服务器操作控制系统、方法及设备 |
CN101944114A (zh) * | 2010-09-16 | 2011-01-12 | 深圳天源迪科信息技术股份有限公司 | 内存数据库和物理数据库间的数据同步方法 |
CN102831223A (zh) * | 2012-08-23 | 2012-12-19 | 大唐移动通信设备有限公司 | 一种分布式数据库的管理方法和系统 |
CN102945251A (zh) * | 2012-10-12 | 2013-02-27 | 浪潮电子信息产业股份有限公司 | 一种利用内存数据库技术优化磁盘数据库性能的方法 |
CN103384206A (zh) * | 2012-05-02 | 2013-11-06 | 中国科学院计算机网络信息中心 | 一种面向海量数据的并行处理方法及系统 |
CN103970903A (zh) * | 2014-05-27 | 2014-08-06 | 重庆大学 | 基于Web的大型工业系统反馈数据实时处理方法及系统 |
-
2014
- 2014-10-29 CN CN201410591810.9A patent/CN104408054B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113953B2 (en) * | 2003-06-30 | 2006-09-26 | International Business Machines Corporation | System and method for efficiently writing data from an in-memory database to a disk database |
CN101833585A (zh) * | 2010-05-19 | 2010-09-15 | 中兴通讯股份有限公司 | 数据库服务器操作控制系统、方法及设备 |
CN101944114A (zh) * | 2010-09-16 | 2011-01-12 | 深圳天源迪科信息技术股份有限公司 | 内存数据库和物理数据库间的数据同步方法 |
CN103384206A (zh) * | 2012-05-02 | 2013-11-06 | 中国科学院计算机网络信息中心 | 一种面向海量数据的并行处理方法及系统 |
CN102831223A (zh) * | 2012-08-23 | 2012-12-19 | 大唐移动通信设备有限公司 | 一种分布式数据库的管理方法和系统 |
CN102945251A (zh) * | 2012-10-12 | 2013-02-27 | 浪潮电子信息产业股份有限公司 | 一种利用内存数据库技术优化磁盘数据库性能的方法 |
CN103970903A (zh) * | 2014-05-27 | 2014-08-06 | 重庆大学 | 基于Web的大型工业系统反馈数据实时处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104408054A (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102340533B (zh) | 多租户系统及多租户系统存取数据的方法 | |
US9250812B2 (en) | Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage | |
US20180024755A1 (en) | Simulator for enterprise-scale simulations on hybrid main memory systems | |
US9946740B2 (en) | Handling server and client operations uninterruptedly during pack and audit processes | |
JP2015512098A (ja) | 複合不揮発性記憶装置のためのデータ移行 | |
CN106570113B (zh) | 一种海量矢量切片数据云存储方法及系统 | |
CN106657356A (zh) | 一种云存储系统的数据写入方法、装置及云存储系统 | |
WO2016119597A1 (zh) | Oltp集群数据库中页面查询方法及数据处理节点 | |
CN111309289A (zh) | 一种内存池管理组件 | |
US20230058148A1 (en) | Detection and resolution of data synchronization conflicts | |
CN104408054B (zh) | 一种数据库管理系统 | |
CN109284066A (zh) | 一种数据处理方法、装置、设备及系统 | |
CN109086462A (zh) | 一种分布式文件系统中元数据的管理方法 | |
JP7082701B2 (ja) | 磁気ディスクの管理方法、磁気ディスクの管理装置、電子機器、コンピュータプログラムおよびコンピュータ可読記憶媒体 | |
JP2016500459A (ja) | 監視レコード管理方法及びデバイス | |
CN107092685A (zh) | 一种联合使用文件系统和rdbms存储事务数据的方法 | |
CN103853504B (zh) | 一种缓存系统数据存取方法 | |
WO2019047842A1 (zh) | 一种固态硬盘的逻辑分区方法及装置 | |
CN104156419A (zh) | 一种异构数据源的实体化方法及其引擎 | |
US20230376242A1 (en) | System for computational storage with hardware-assistance | |
US9087085B2 (en) | Pre-assimilation values and post-assimilation values in hardware instance identifiers | |
CN107590286B (zh) | 在集群文件系统中事务信息的管理方法和装置 | |
US20190377501A1 (en) | Data shaping to reduce memory wear in a multi-tenant database | |
CN107533512A (zh) | 目录中表项合并的方法以及设备 | |
CN103502953B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171031 |