CN104408054B - 一种数据库管理系统 - Google Patents

一种数据库管理系统 Download PDF

Info

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.)
Active
Application number
CN201410591810.9A
Other languages
English (en)
Other versions
CN104408054A (zh
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.)
Jin Zheng Science And Technology Co Ltd Of Shenzhen
Original Assignee
Jin Zheng Science And Technology Co Ltd Of Shenzhen
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 Jin Zheng Science And Technology Co Ltd Of Shenzhen filed Critical Jin Zheng Science And Technology Co Ltd Of Shenzhen
Priority to CN201410591810.9A priority Critical patent/CN104408054B/zh
Publication of CN104408054A publication Critical patent/CN104408054A/zh
Application granted granted Critical
Publication of CN104408054B publication Critical patent/CN104408054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating 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事务管理对象,用于对磁盘数据库访问引擎的事务管理功能的进行封装,完成对数据一致性的事务管理。
CN201410591810.9A 2014-10-29 2014-10-29 一种数据库管理系统 Active CN104408054B (zh)

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 Active CN104408054B (zh) 2014-10-29 2014-10-29 一种数据库管理系统

Country Status (1)

Country Link
CN (1) CN104408054B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376214B (zh) * 2018-08-31 2022-03-08 阿里巴巴(中国)有限公司 数据处理方法及装置、系统、计算机设备及可读介质
EP3940572B1 (en) * 2019-03-11 2023-07-26 Nippon Telegraph And Telephone Corporation Data generalization device, data generalization method, and program

Citations (7)

* Cited by examiner, † Cited by third party
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的大型工业系统反馈数据实时处理方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
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) 多租户系统及多租户系统存取数据的方法
US10452539B2 (en) Simulator for enterprise-scale simulations on hybrid main memory systems
US9250812B2 (en) Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage
US9946740B2 (en) Handling server and client operations uninterruptedly during pack and audit processes
US20180025055A1 (en) Fault-tolerant database query execution plans using non-volatile memories
CN111309289B (zh) 一种内存池管理组件
CN106657356A (zh) 一种云存储系统的数据写入方法、装置及云存储系统
KR101400214B1 (ko) Hybrid C 인터페이스를 지원하는 장치
US20230058148A1 (en) Detection and resolution of data synchronization conflicts
CN106293522A (zh) 一种基于tgt的存储性能优化方法和装置
CN107193943A (zh) 一种rdbms在线数据迁移的方法和装置
CN104408054B (zh) 一种数据库管理系统
CN107301021B (zh) 一种利用ssd缓存对lun进行加速的方法和装置
CN103853504A (zh) 一种缓存系统数据存取方法
CN104376047A (zh) 一种基于HBase的大表join方法
CN107092685A (zh) 一种联合使用文件系统和rdbms存储事务数据的方法
CN106775450B (zh) 一种混合存储系统中的数据分布方法
WO2018176804A1 (zh) 数据的写入方法及装置
CN104156419A (zh) 一种异构数据源的实体化方法及其引擎
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) 目录中表项合并的方法以及设备
CN105516274A (zh) 基于云平台实现对san通用管理的方法及系统
US20140325271A1 (en) Terminal device, information processing method, and computer program product

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