一种数据库映射方法及装置的制造方法

文档序号:9288406阅读:213来源:国知局
一种数据库映射方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据业务处理技术,尤其涉及一种数据库映射方法及装置。
【背景技术】
[0002]目前,数据库通常分为关系型数据库和非关系型数据库。一般,关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法处理数据库中的数据、以表的形式存储格式化的数据结构;其中,表有固定的表结构;关系型数据库产品支持通用的、功能极强的关系型数据库结构化查询语言(Structured Query Language, SQL),具有数据库事务一致性强、读写数据能力强大、支持复杂的SQL,尤其是多表关联查询等特性。
[0003]非关系型数据库也可以称为NoSQL (Not Only SQL)数据库,非关系型数据库存储数据时,不需要固定的表结构,也不存在连接操作,具有支持数据库高并发读写、海量数据的高效率存储和访问、数据库的高可扩展性和高可用性等特性,强调Key-Value存储,在大数据存取上具备关系型数据库无法比拟的性能优势。
[0004]但是,目前关系型数据库和非关系型数据库分别以独立的产品形式存在、互不兼容;对于大数据的应用场景,要求数据库产品既能提供高并发、快速读写的在线操作能力,又具有后台负载的SQL查询的离线统计操作功能,非关系型数据库产品已经无法满足市场需求。

【发明内容】

[0005]有鉴于此,本发明实施例期望提供一种数据库映射方法及装置,能实现关系型数据库和非关系型数据库之间的映射,使非关系型数据库同时支持复杂的SQL查询统计功倉泛。
[0006]本发明实施例的技术方案是这样实现的:
[0007]本发明实施例提供一种数据库映射方法,包括:在关系型数据库的解析层和非关系型数据库的存储层之间构建映射驱动层,并建立映射驱动层与关系型数据库的解析层和非关系型数据库的存储层之间的连接;所述方法还包括:
[0008]关系型数据库的解析层向映射驱动层发送查询指令;映射驱动层根据所述查询指令获取数据字典,并从非关系型数据库的存储层获取Key-Value键值对后,解析所述Key-Value键值对;映射驱动层根据所述数据字典将关系型数据结构映射到解析后的Key-Value键值对数值上,对映射后的关系型数据进行处理。
[0009]优选地,所述数据字典为:关系型数据库与非关系型数据库的映射关系。
[0010]优选地,所述映射驱动层从非关系型数据库的存储层获取Key-Value键值对,包括:映射驱动层向非关系型数据库的存储层发送指令,请求获取Key-Value键值对,非关系型数据库的存储层向映射驱动层发送Key-Value键值对。
[0011]优选地,所述映射驱动层解析所述Key-Value键值对,包括:映射驱动层接收到Key-Value键值对后,按预先设置的规则解析所述Key-Value键值对,得到用于关系型数据库解析的执行计划;
[0012]其中,所述预先设置的规则为:根据Key-Value键值对中的Key值,创建新的有序数列,或者非关系型数据库的加载纵表。
[0013]优选地,所述映射驱动层根据所述数据字典将关系型数据结构映射到解析后的Key-Value键值对数值上,包括:映射驱动层获取所述执行计划后,将关系型数据库执行计划转换为非关系型数据的读写代码,根据所述读写代码获取非关系型数据库的Key-Value键值对。
[0014]本发明实施例还提供一种数据库映射装置,所述装置包括:关系型数据库解析器、映射驱动器、以及非关系型数据库存储器;其中,
[0015]关系型数据库解析器,用于向映射驱动器发送查询指令;
[0016]映射驱动器,用于根据关系型数据库解析器发送的查询指令,获取数据字典,并从非关系型数据库存储器获取Key-Value键值对后,解析所述Key-Value键值对;
[0017]非关系型数据库存储器,用于向映射驱动器返回Key-Value键值对;
[0018]映射驱动器,还用于根据所述数据字典将关系型数据结构映射到解析后的Key-Value键值对数值上,对映射后的关系型数据结构进行处理。
[0019]优选地,所述数据字典为:关系型数据库与非关系型数据库的映射关系。
[0020]优选地,所述映射驱动器从非关系型数据库存储器获取Key-Value键值对,包括:映射驱动器向非关系型数据库存储器发送指令,请求获取Key-Value键值对,非关系型数据库存储器向映射驱动层发送Key-Value键值对。
[0021]优选地,所述映射驱动器解析所述Key-Value键值对,包括:映射驱动器层接收到Key-Value键值对后,按预先设置的规则解析所述Key-Value键值对,得到用于关系型数据库解析的执行计划;
[0022]其中,所述预先设置的规则为:根据Key-Value键值对中的Key值,创建新的有序数列,或者非关系型数据库的加载纵表。
[0023]优选地,所述映射驱动器根据所述数据字典将关系型数据结构映射到解析后的Key-Value键值对数值上,包括:
[0024]映射驱动层获取所述执行计划后,将关系型数据库执行计划转换为非关系型数据的读写代码,根据所述读写代码获取非关系型数据库的Key-Value键值对。
[0025]本发明实施例所提供的数据库映射方法及装置,在关系型数据库的解析层和非关系型数据库非关系型的存储层之间构建映射驱动层,并建立映射驱动层与关系型数据库的解析层和非关系型数据库的存储层之间的连接;关系型数据库的解析层向映射驱动层发送查询指令后,映射驱动层根据所述查询指令获取数据字典,并从非关系型数据库的存储层获取Key-Value键值对;映射驱动层根据所述数据字典将关系型数据结构映射到解析后的Key-Value键值对数值上,并对映射后的关系型数据进行处理。如此,可实现关系型数据库直接查询非关系型数据库,在兼顾具有Key-Value存储模式的非关系型数据库的优势同时,能实现关系型数据库和非关系型数据库之间的映射,使非关系型数据库同时支持复杂的SQL查询统计功能。
【附图说明】
[0026]图1为本发明实施例数据库映射方法的基本处理流程示意图;
[0027]图2为本发明实施例数据库映射方法的详细处理流程示意图;
[0028]图3为本发明实施例数据库映射装置结构示意图。
【具体实施方式】
[0029]在本发明实施例中,在关系型数据库的解析层和非关系型数据库的存储层之间构建映射驱动层,并建立映射驱动层与关系型数据库的解析层和非关系型数据库的存储层之间的连接;关系型数据库的解析层向映射驱动层发送查询指令,映射驱动层根据查询指令获取数据字典,并从非关系型数据库的存储层获取Key-Value键值对;映射驱动层根据所述数据字典将关系型数据结构映射到解析后的Key-Value键值对数值上。
[0030]具体的,所述映射驱动层从非关系型数据库的存储层获取Key-Value键值对包括:映射驱动层向非关系型数据库的存储层发送请求指令,请求获取Key-Value键值对,非关系型数据库的存储层向映射驱动层发送Key-Value键值对。
[0031]进一步的,映射驱动层收到Key-Value键值对后,按预先设置的规则解析所述Key-Value键值对,得到用于关系型数据库解析的执行计划。
[0032]本发明实施例数据库映射方法的基本处理流程如图1所示,包括以下步骤:
[0033]步骤101,在关系型数据库的解析层和非关系型数据库的存储层之间构建映射驱动层,并建立映射驱动层与关系型数据库的解析层和非关系型数据库的存储层之间的连接;
[0034]这里,所建立的解析层与映射驱动层的连接、映射驱动层与存储层的连接,使映射驱动层能分别与解析层、存储层交互传输信令和数据。
[0035]步骤102,关系型数据库的解析层向映射驱动层发送查询指令;
[0036]其中,所述查询指令为关系型数据库的解析层解析后的查询指令。
[0037]步骤103,映射驱动层根据所述查询指令获取数据字典,并从非关系型数据库的存储层获取Key-Value键值对后,解析所述Key-Value键值对;
[0038]其中,所述数据字典包括:数据库管理系统对关系型数据库自动更新后的数据集合;映射驱动层将数据字典获取Key-Value键值对的取值顺序;
[0039]具体的,所述映射驱动层从非关系型数据库的存储层获取Key-Value键值对,包括:映射驱动层向非关系型数据库的存储层发送请求指令,请求获取Key-Value键值对,非关系型数据库的存储层向映射驱动层发送Key-Value键值对;
[0040]进一步的,映射驱动层接收到Key-Value键值对后,按预先设置的规则解析所述Key-Value键值对,即:将Key-Value键值对解析为非关系型数据库的临时性总表,得到用于关系型数据库解析的执行计划。
[0041]其中,所述预先设置的规则为:根据Key-Value键值对中的Key值,创建新的有序数列,或者非关系型数据库的加载纵表。
[0042]步骤104,映射驱动层根据所述数据字典将关系型数据结构映射到解析后的Key-Value键值对数值上,对映射后的关系型数据进行处理;
[0043]具体的,映射驱动层获取所述执行计划后,将关系型数据库执行计划转换为非关系型数据的读写代码,根据所述读写代码获取非关系型数据库的Key-Value键值对。
[0044]映射驱动层对映射后的关系型数据进行处理包括:对映射后的关系型数据进行数据转换、核对、统计,以关系型数据形式返回查询结果。
[0045]下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
[0046]本发明实施例数据
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1