一种多模型数据库系统、实现方法以及服务器技术方案

技术编号:20160339 阅读:24 留言:0更新日期:2019-01-19 00:13
本发明专利技术公开了一种多模型数据库系统、实现方法以及服务器。该多模型数据库系统分为网络前端层、命令接口层、中间件层和存储引擎层。网络前端层负责对客户端进行身份验证和权限检查;命令接口层为客户端提供多种数据模型命令接口,通过这些命令接口可以对相应模型的数据进行存储和处理,命令接口层包括关系模型命令接口、文档模型命令接口、图模型命令接口和键值模型命令接口;中间层的主要功能是根据客户端的命令和数据模型选择合适的存储引擎。存储引擎层包括关系数据库存储引擎和非关系数据库存储引擎,通过集成不同的存储引擎,为不同模型的数据选择最合适的存储格式,在网络前端层为客户端提供统一的命令接口,方便客户端的使用。

【技术实现步骤摘要】
一种多模型数据库系统、实现方法以及服务器
本专利技术涉及数据库
,尤其涉及多一种多模型数据库系统、实现方法以及服务器。
技术介绍
利用传统关系数据库来存储一些企业数据已经出现了困难。传统关系数据库不方便在集群中部署,从而不方便对数据库系统进行扩展,所以出现了各种非关系型数据库,也称为NoSQL数据库,一般来说,基于NoSQL的解决方案提供了一种强大的,可扩展的数据存储方案,现在主要有如下数据模型的NoSQL数据库:键/值数据库:数据模型被简化为一个简单的哈希表,其中包含键/值对。它通常容易分布在多个服务器上。面向列的数据库:数据存储为提供更多灵活性和简单聚合的列。文档数据库:其中数据模型由文档集合组成,其中每个单独的文档可以具有多个字段而不必具有定义的模式。图数据库:其中数据模型由通过创建丰富图结构的边相互连接的顶点组成。这些NoSQL数据库都有其自身的特点和局限性。虽然现在NoSQL得到了广泛的应用,但是因为没有关系数据库那样统一的SQL命令操作语言,也无法提供关系数据库同样的易用性,使得这些数据库的使用受到了很大的限制。现在企业一般是结合关系数据库和NoSQL数据库来存储企业数据,但是,这样企业在存储数据的时候就必须选择多种数据库,势必导致服务器资源的浪费,增加企业的服务器成本。将企业数据分散存储在不同的数据库中,也不利于对数据进行统一的管理和审计,所以亟需开发出一种能存储多种数据模型的多模型数据库。公开号为CN107025134A申请名称为数据库服务系统及兼容多种数据库的方法的专利,提供了一种数据库服务系统,解决了现有技术中数据库服务系统支持多种数据库时,需要为新增的数据库类型单独开发一套任务流和任务而导致的开发效率低下的问题,此系统以现有关系数据库为基础,没有考虑到非关系数据库的存储问题。公开号为CN104484472A一种混合多种异构数据源的数据库集群及实现方法的专利,提供了一种混合多种异构数据源的数据库集群,其主要功能是在多种异构数据源的数据库集群建交互数据,没有为上层客户端提供统一的数据命令接口。公开号为CN104063372A申请名称为混合数据库存储模型的专利,提出了一种混合数据库存储模型。其数据整合层封装关系数据存储和非关系数据存储,此存储模型整合结构型数据库的精准查询语义和非结构型数据的横向可扩展型,更适合基于云计算的大数据存储和分析,有利于提高查询效率,考虑到多模型数据存储问题,但没有为客户端提供统一的接口,没有明确说明多模型数据之间的关系。公开号为CN104573115A申请名称为支持多类型数据库操作的集成接口的实现方法及系统的专利,公开了支持多类型数据库操作的集成接口的实现方法及系统,此专利技术可以弱化应用项目和数据库的耦合性,促使项目解耦,扩展更加灵活;同时避免了对于研发人员的数据库领域知识的严苛要求,但是此专利没有说明其他模型的数据如何存储的问题。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供了一种多模型数据库系统、实现方法以及服务器,用于解决现有技术中企业必须选择多种数据库存储数据导致服务器资源的浪费,增加企业的服务器成本的问题。为实现上述专利技术目的,一方面,本专利技术提供一种多模型数据库系统,该多模型数据库能存储多种模型的数据,包括网络前端层、命令接口层、中间件层和存储引擎层;所述网络前端层,用于对客户端进行身份证验证和权限检查,检查客户端的命令类型,并选择相应模型的命令接口,同时,为客户端和多模型数据库之间的数据传送设置相应的网络参数;所述命令接口层,用于为客户端提供多种模型的命令接口,通过多种模型的命令接口对多种模型的数据进行操作;所述中间件层,用于将命令接口层中多种模型的命令接口按照预设的对应关系转化成统一的命令接口,为命令接口层提供统一的存储引擎调用接口,根据客户端的命令接口类型和数据模型选择相应的存储引擎;所述存储引擎层,用于存储不同模型的数据,根据不同模型的数据选择相应的存储引擎;具体包括用于存储非结构化数据的非关系数据库存储引擎和用于存储结构化数据的关系数据库存储引擎。第二方面,本专利技术提供一种多模型数据库系统的实现方法,包括;网络前端层接收客户端的身份验证和权限检查,检查客户端的命令类型,并选择相应模型的命令接口,同时,为客户端和多模型数据库之间的数据传送设置相应的网络参数;命令接口层为客户端提供多种模型的命令接口,通过多种模型的命令接口对多种模型的数据进行操作;中间件层将命令接口层中多种模型的命令接口按照预设的对应关系转化成统一的命令接口,为命令接口层提供统一的存储引擎调用接口,根据客户端的命令接口类型和数据模型选择相应的存储引擎;存储引擎层存储不同模型的数据,根据不同模型的数据选择相应的存储引擎;具体包括用于存储非结构化数据的非关系数据库存储引擎和用于存储结构化数据的关系数据库存储引擎。第三方面,本专利技术提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:网络前端层接收客户端的身份验证和权限检查,检查客户端的命令类型,并选择相应模型的命令接口,同时,为客户端和多模型数据库之间的数据传送设置相应的网络参数;命令接口层为客户端提供多种模型的命令接口,通过多种模型的命令接口对多种模型的数据进行操作;中间件层将命令接口层中多种模型的命令接口按照预设的对应关系转化成统一的命令接口,为命令接口层提供统一的存储引擎调用接口,根据客户端的命令接口类型和数据模型选择相应的存储引擎;存储引擎层根据不同模型的数据选择相应的存储引擎存储不同模型的数据;具体包括用于存储非结构化数据的非关系数据库存储引擎和用于存储结构化数据的关系数据库存储引擎。本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本专利技术实施例提供一种多模型数据库系统、实现方法以及服务器,该多模型数据库能存储多种模型的数据,为用户存储多种模型的数据提供一种统一的数据库,同时为客户端提供多种命令接口,能对多种模型的数据进行存储和处理,企业不再需要部署多种数据库,可以节约部署成本和维护成本,因为不同的数据库都是需要管理员,因此,解决了目前企业必须选择多种数据库存储数据导致服务器资源的浪费,增加企业的服务器成本的问题。此外,该系统的存储引擎层是一个软件封装层,底层封装了开源的关系数据库存储引擎和开源的非关系数据库存储引擎,可以根据数据模型选择合适的底层存储引擎,通过多种模型的命令接口对多种模型的数据进行操作;客户端的命令接口和数据模型通过中间件层调用底层相应的数据库存储引擎,方便客户端的使用,使得用户不需要自己选择相应的存储引擎,因此,提高了数据存储和处理的效率,解决了因为用户错误的选择而导致存储效率低下的问题。附图说明图1为本专利技术实施例一提供的多模型数据库系统结构示意图;图2为多模型数据库和客户端协议交互示意图;图3为本专利技术实施例二提供的多模型数据库系统的实现方法流程示意图;图4为本专利技术实施例三提供的服务器结构示意图。具体实施方式下面结合附图对本专利技术的具体实施方式进行描述,以便本领域的技术人员更好地理解本专利技术。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本专利技术的主要内容时,这些描述在这里将被忽略本文档来自技高网
...

【技术保护点】
1.一种多模型数据库系统,该多模型数据库能存储多种模型的数据,其特征在于,该系统包括网络前端层、命令接口层、中间件层和存储引擎层;所述网络前端层,用于对客户端进行身份证验证和权限检查,检查客户端的命令类型,并选择相应模型的命令接口,同时,为客户端和多模型数据库之间的数据传送设置相应的网络参数;所述命令接口层,用于为客户端提供多种模型的命令接口,通过多种模型的命令接口对多种模型的数据进行操作;所述中间件层,用于将命令接口层中多种模型的命令接口按照预设的对应关系转化成统一的命令接口,为命令接口层提供统一的存储引擎调用接口,根据客户端的命令接口类型和数据模型选择相应的存储引擎;所述存储引擎层,用于根据不同模型的数据选择相应的存储引擎存储不同模型的数据;具体包括用于存储非结构化数据的非关系数据库存储引擎和用于存储结构化数据的关系数据库存储引擎。

【技术特征摘要】
1.一种多模型数据库系统,该多模型数据库能存储多种模型的数据,其特征在于,该系统包括网络前端层、命令接口层、中间件层和存储引擎层;所述网络前端层,用于对客户端进行身份证验证和权限检查,检查客户端的命令类型,并选择相应模型的命令接口,同时,为客户端和多模型数据库之间的数据传送设置相应的网络参数;所述命令接口层,用于为客户端提供多种模型的命令接口,通过多种模型的命令接口对多种模型的数据进行操作;所述中间件层,用于将命令接口层中多种模型的命令接口按照预设的对应关系转化成统一的命令接口,为命令接口层提供统一的存储引擎调用接口,根据客户端的命令接口类型和数据模型选择相应的存储引擎;所述存储引擎层,用于根据不同模型的数据选择相应的存储引擎存储不同模型的数据;具体包括用于存储非结构化数据的非关系数据库存储引擎和用于存储结构化数据的关系数据库存储引擎。2.根据权利要求1所述的多模型数据库系统,其特征在于,所述命令接口层包括:关系模型命令接口:关系模型是关系数据库中使用的模型,此接口为客户端存储结构化数据提供命令接口,关系数据库中一般用SQL作为数据库和客户端之间的交互命令;档模型命令接口:在文档模型中,数据由文档集合组成,其中每个单独的文档可以具有多个字段而不必具有预先定义的模式,此命令接口可以让客户端存储和访问文档模型的数据;图模型命令接口:在图数据模型中,数据由通过创建丰富图结构的边相互连接的顶点组成,通过这个命令接口,客户端可以存储具有丰富关系的数据集合;键值模型命令接口:在键值模型中,数据被简化为一个简单的哈希表,其中包含键/值对。它通常容易分布在多个服务器上。此命令接口可以让用户存储简单的结构化数据。3.根据权利要求2所述的多模型数据库系统,其特征在于,所述中间件层将命令接口层中多种模型的命令接口按照预设的对应关系转化成关系模型接口;其中,预设的对应关系具体如下:关...

【专利技术属性】
技术研发人员:李思翰
申请(专利权)人:成都松米科技有限公司
类型:发明
国别省市:四川,51

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1