一种主流关系型数据库表模式对象化和虚拟化机制的制作方法

文档序号:6640283阅读:832来源:国知局
一种主流关系型数据库表模式对象化和虚拟化机制的制作方法
【专利摘要】本发明涉及计算机应用【技术领域】,特别涉及一种主流关系型数据库表模式对象化和虚拟化机制。本发明将物理差异巨大的关系型数据库表转化为统一的对象模型,也就是每个库表都简单看成一个p-v对象实例体系,且每个库表字段都转化为pojo(简单对象)实例作为p-v对象实例体系的关键属性,并持久化至云数据库元节点数据库形成虚拟表资源。从而把现在多元异构数据库复杂物理结构演变成一个逻辑性相对简单、统一的虚拟数据库平台,在逻辑要素与物理要素之间建立映射,定义逻辑层概念的操作模式并映射成对物理要素的操作模式,屏蔽底层复杂的物理细节及差异,提供一个统一基于对象模型操作的云数据库虚拟化平台。本发明解决了数据库数据无法统一管理及互联互通问题;可以用于数据库数据的互联互通。
【专利说明】一种主流关系型数据库表模式对象化和虚拟化机制

【技术领域】
[0001]本发明涉及计算机应用【技术领域】,特别涉及一种主流关系型数据库表模式对象化和虚拟化机制。

【背景技术】
[0002]数据源多元、异构、异地是现有软件应用系统存在的基本形式,由于系统业务复杂程度及应用环境不同所使用的数据库也各有差异;导致各系统之间数据无法直接互联互通,更无法进行统一管理。而现阶段各主流关系型数据库技术也不一致且不容易掌握,开发及维护人员很难兼顾所有类型关系型数据库的管理及维护工作,更无法从数据库底层物理结构层面实现数据的互联互通。这就必然导致各信息互联的软件应用系统数据信息各自为政,形成一座座互不联通的信息“孤岛”。而随着大数据时代的到来,数据共享及关联分析挖掘已经越来越重要了,不仅为上层决策能够提供重要信息,更有很多不可估量的商业价值。


【发明内容】

[0003]本发明是针对现有的软件应用系统数据源多样、异构、异地,导致数据库数据无法统一管理及互联互通从而形成一个个信息“孤岛”的现象,而提供一种主流关系型数据库表模式对象化并虚拟化的机制。
[0004]本发明解决上述技术问题的技术方案是:
[0005]所述的机制由虚拟数据库、虚拟表、虚拟视图,以及它们与物理的应用服务器、数据库服务器、数据库、数据表之间的多对多映射实现;
[0006]所述的虚拟数据库,是网络环境中一种组织和管理的虚拟空间;其里面有相应的虚拟表(逻辑层面的虚拟资源)、可以分配虚拟表使用权限的角色、虚拟库资源使用者、虚拟视图(基于虚拟表创建的虚拟表)的等实体:及其他们生命周期内的行为联系衍生的其他网络知识和活动,虚拟数据库是一个逻辑的具有确定边界的虚拟网络空间,作为:1)由用户、虚拟资源、角色构成的特定网络内聚空间;2)虚拟空间与网络物理要素之间的界面;虚拟数据库的操作有:创建、修改、删除;虚拟数据库之间可以移动或者复制虚拟资源,不同虚拟数据库管理员可以共享虚拟资源;
[0007]所述的虚拟表,是在逻辑层面表示数据库服务器、数据库、表的抽象概念,它所属一个特定的虚拟数据库,本身也具有关系的特性,具有schema和约束;通过pr模式及vr模式实现与具体数据库物理表形成一一对应关系;虚拟表满足关系操作算子,可以通过连接、联合等操作形成新的虚拟表,即虚拟视图,这样形成具有层次结构的虚拟表之间的访问和映射关系;可以用来表示业务需要的复杂的数据模型及联系;虚拟表的操作:创建、删除、修改,以及读数据、写数据、变更数据、删除数据的接口 ;
[0008]所述的虚拟视图,是建立在虚拟表基础上的复合虚拟表,是以虚拟表字段为基础单位重新组合的逻辑视图,本身也具有关系的特性,具有schema和约束;它可以对应多个虚拟表,跟物理表没有直接对应关系,而是根据虚拟表字段间接映射到各数据库物理表字段;也就是通过上层vr模式跟下层vr模式来实现层级映射关系;通过它来实现底层各多元异构库表数据整合及sql关联操作,在不改变底层各数据库物理属性的情况下,实现在数据信息的共享与关联操作;
[0009]映射:映射关系反映了虚拟数据库、虚拟表/视图,与物理的应用服务器、数据库服务器、数据库、数据表(文件)之间的操作映射;在逻辑层面对虚拟数据库、虚拟表的操作最终映射到对应的一个或多个物理概念实体的操作;这种映射是多对多的,同时还可以是交叉约束;虚拟表可以建立到物理数据库和表(包括文件)的映射关系,这种映射关系是非一一对应的,一个虚拟表schema可以映射到网络上的一个或多个数据库服务器、数据库、表(文件);
[0010]每个库表对应一个p-v对象实例体系,及库表字段对应一个po jo实例;从而屏蔽当前软件应用系统数据库复杂的物理细节及差异。
[0011]所有异构关系型库表都借助统一的虚拟表逻辑概念来管控,也就是把每个库表简单看成一个P-V对象实例体系,并且持久化成虚拟表资源,基础虚拟表跟实际关系型数据库表建立一一映射关系,通过虚拟视图模式的自定义及虚拟表数据的操作(增删查改,join,un1n等)可以最终映射到底层库表的对应操作;在屏蔽底层异构数据库差异的情况下,用户可以通过在基础虚拟表建视图进行跨库间的一些操作。
[0012]vr模式及pr模式主要特征分别为:它们都包括对象化及持久化两层概念;对象化层面模式对应库表的MetaVr对象模型,主要由虚拟库ID,虚拟表ID,字段属性(库表字段pojo组的json字符串),创建时间,所有者ID等属性组成;pr模式对应库表的MetaPr对象模型,也主要由虚拟库ID,虚拟表ID,字段属性(库表字段pojo组的json字符串),创建时间,所有者ID等属性组成;只有虚拟表层才同时具有vr模式跟pr模式,它们通过具体字段映射来建立映射关系;而虚拟视图层只有vr模式层,通过上层vr模式层与下层vr模式层映射关系进行层层关联映射,并最终映射到虚拟表层;持久化层面模式对应云数据库基础库表metavr表的一条特定数据记录;pr模式对应云数据库基础库表metapr表的一条特定数据记录;vr模式跟pr模式,上层vr模式跟下层vr模式之间的关系都是通过代表虚拟表地址、字段映射值字段值或字段值属性值来进行关联和建立映射关系的。
[0013]所述的机制中,虚拟化主要步骤如下:
[0014]第一步,在每个节点上安装虚拟化多元异构数据整合服务平台,然后在当前节点的配置文件中配置其他应用服务器节点;
[0015]第二步,部署系统运行需要的初始环境:1)导入系统基础库,即元节点数据库。2)注册虚拟库账号并激活,系统管理员审批通过;
[0016]第三步,虚拟库管理员登陆系统,创建自己的虚拟数据库,注册虚拟表,在虚拟表基础上创建虚拟视图,再创建自己普通用户及用户角色等。虚拟库管理员可以用该功能创建其他应用需要的虚拟数据库n,创建虚拟数据库的时候,可以注册虚拟数据库需要的虚拟表或者创建虚拟视图,同样需要指定这些虚拟表映射的物理库表的存储位置,每创建一个虚拟数据库,就为该虚拟数据库分配至少一个普通用户,普通用户登录到系统后,可以使用及操作(权限以内)虚拟数据库的资源。同理,可以在该服务平台创建虚拟数据库m,每个虚拟数据库编号全局唯一,确保多个虚拟数据库能够统一的全局唯一编号;
[0017]第四步,针对任何一个虚拟数据库开发的应用程序可以用一个虚拟数据库标号.虚拟表标号(vdbid.vid)通过虚拟表的访问接口透明的访问各种资源,其中,程序开发人员未必是虚拟数据库的用户,而程序在运行时,会根据当前访问的用户身份,访问接口内部逻辑确定该用户是否有对虚拟表/视图访问的权限。
[0018]本方法的有益效果是:
[0019]通过将物理概念在逻辑层面加以总结和抽象,借助虚拟数据库、虚拟表、虚拟视图三个逻辑概念和映射,就可以表示和操作多元异构体系结构中物理存在的应用服务器、数据库服务器、数据库和表。这样设计、开发、部署、维护、管理互连网的应用和资源的大量操作都可以直接基于这两个逻辑概念完成,屏蔽了以前必须关注的物理操作的烦琐细节,确保了对互连网平台使用的方便性,以及应用的可扩展、可移植、松耦合特性。
[0020]使用本发明的方法,基于云数据库虚拟化平台可以在分布式网络环境透明的开发、部署、管理网络应用,不需要关注物理资源、运行应用服务器的具体位置,把异构关系型库表及库表转化为一系列统一的对象模型实例来管控与操作。屏蔽了资源的异构性以及物理操作细节;基于此虚拟平台开发的应用程序具有全局可访问、可部署、可移植的特点,这样确保使用云数据库平台的便捷性。

【专利附图】

【附图说明】
[0021]下面结合附图对本发明进一步说明:
[0022]图1是多元异构软件体系架构各要素及其虚拟化机制关系图;
[0023]图2是数据库库表字段对象化并持久化过程图;
[0024]图3是虚拟视虚拟表之间的层级字段映射关系图。

【具体实施方式】
[0025]图1中,包括云数据库虚拟化平台的几个基本要素,以及这几个基本要素与虚拟数据库、虚拟表之间的对应关系。一般的网络应用都由应用服务器及连接后端的数据库服务器为多个前端用户服务,而数据库服务器又有其对应数据库。各网络应用根据自身需要调用定制自己的虚拟资源也就是虚拟表,然后通过虚拟资源地址再由虚拟表与底层数据库的映射关系调用数据资源。当系统的用户规模或者数据规模扩展时,可以分别拓展应用服务器和数据库服务器,形成网络化的集群服务平台。同时,当单个数据库服务器的负载过高的时候,还可以进一步的将一个或者多个库中的多个表拆分,分别部署到不同的数据库服务器上,这样可以更细粒度的降低单台数据库服务器的负载。
[0026]图2中,关系型数据库库表属性对象化后,转成json字符串,作为MetaPr及MetaVr对象attributes属性值,最终通过java对象及库表orm技术持久化到metavr及metapr库表成为其具体数据记录值。
[0027]图3中,上层虚拟表(虚拟视图)字段会通过地址一一映射到下层虚拟视图或基础虚拟表,而每个基础虚拟表模式(图中以vr命名)会有唯一固定的pr模式与之对应,而Pr表又跟底层物理表关系对应。
[0028]本发米国内所有异构关系型库表都借助统一的虚拟表逻辑概念来管控,也就是把每个库表简单看成一个Ρ-v对象实例体系,并且持久化成虚拟表资源,基础虚拟表跟实际关系型数据库表建立一一映射关系,通过虚拟视图模式的自定义及虚拟表数据的操作(增删查改,join,un1n等)可以最终映射到底层库表的对应操作。在屏蔽底层异构数据库差异的情况下,用户可以通过在基础虚拟表建视图进行跨库间的一些操作,如join,un1n等
[0029]虚拟表它归属于特定虚拟库,在虚拟化平台它是以虚拟库统一归类管理的。实质是云数据库元节点数据库metavr表的一条数据记录及相映射关联的metapr表数据记录物化的一个东西。它跟实际数据库表类似也是以字段为基本单位,每个字段又对应一个pojo实例,也就是虚拟表或上层视图的虚拟表字段都将映射到某一实际数据库库表字段。虚拟表字段pojo除了实际物理库表的那些基础属性,如字段类型,字段名称,字段长度等属性夕卜,还有它特有的一些属性如映射,被映射,代码等。虚拟表字段也是唯一可标识的编号。除了跟实际库表类似的一些属性虚拟表也有它自己特有的一些属性,如虚拟表唯一可标识的地址,创建者,创建时间等。
[0030]用户通过虚拟化平台进行的虚拟化资源层(虚拟表)操作,实质只是改变库表逻辑概念层schema并不直接改变实际库表schema。实际数据库表(下面都以底层物理表代称),基础虚拟表,建立在基础虚拟表上的视图(虚拟表视图)之间都是通过层级映射来建立关联关系的。在基础虚拟表层每个虚拟表有其对应的vr模式,还有不可更改的pr模式,vr模式与pr模式通过字段映射关系来建立字段一一映射关系,用户操作上层vr模式都通过映射地址层层解析到最终具体Pr模式字段,而pr模式字段又是跟物理库表字段建立稳固的一一对应关系。因而上层vr模式字段都最终会映射到具体物理库表字段。
[0031]vr模式及pr模式主要特征分别为:它们都包括对象化及持久化两层概念。对象化层面模式对应库表的MetaVr对象模型,主要由虚拟库ID,虚拟表ID,字段属性(库表字段pojo组的json字符串),创建时间,所有者ID等属性组成。pr模式对应库表的MetaPr对象模型,也主要由虚拟库ID,虚拟表ID,字段属性(库表字段pojo组的json字符串),创建时间,所有者ID等属性组成。只有虚拟表层才同时具有vr模式跟pr模式,它们通过具体字段映射来建立映射关系。而虚拟视图层只有vr模式层,通过上层vr模式层与下层vr模式层映射关系进行层层关联映射,并最终映射到虚拟表层。持久化层面:vr模式对应云数据库基础库表metavr表的一条特定数据记录。pr模式对应云数据库基础库表metapr表的一条特定数据记录。vr模式跟pr模式,上层vr模式跟下层vr模式之间的关系都是通过代表虚拟表地址、字段映射值字段值或字段值属性值来进行关联和建立映射关系的。
[0032]本发明实现数据库虚拟化,主要步骤如下:
[0033]第一步,在每个节点上安装虚拟化多元异构数据整合服务平台,然后在当前节点的配置文件中配置其他应用服务器节点。
[0034]第二步,部署系统运行需要的初始环境:1)导入系统基础库,即元节点数据库。2)注册虚拟库账号并激活,系统管理员审批通过。
[0035]第三步,虚拟库管理员登陆系统,创建自己的虚拟数据库,注册虚拟表,在虚拟表基础上创建虚拟视图,再创建自己普通用户及用户角色等。虚拟库管理员可以用该功能创建其他应用需要的虚拟数据库n,创建虚拟数据库的时候,可以注册虚拟数据库需要的虚拟表或者创建虚拟视图,同样需要指定这些虚拟表映射的物理库表的存储位置,每创建一个虚拟数据库,就为该虚拟数据库分配至少一个普通用户,普通用户登录到系统后,可以使用及操作(权限以内)虚拟数据库的资源。同理,可以在该服务平台创建虚拟数据库m,每个虚拟数据库编号全局唯一,确保多个虚拟数据库能够统一的全局唯一编号。
[0036]第四步,针对任何一个虚拟数据库开发的应用程序可以用一个虚拟数据库标号.虚拟表标号(vdbid.vid)通过虚拟表的访问接口透明的访问各种资源,其中,程序开发人员未必是虚拟数据库的用户,而程序在运行时,会根据当前访问的用户身份,访问接口内部逻辑确定该用户是否有对虚拟表/视图访问的权限。
[0037]本发明提供的一种数据库虚拟化机制及方法正是由此应运而生,它将目前各主流关系型数据库虚拟化到一个统一平台,屏蔽了底层物理差异,在高度抽象的基础上,把现在多元异构结构演变成一个逻辑性的相对简单且统一的基于对象模型的体系架构。各复杂多样物理表结构,都统一以虚拟库、虚拟表等基本要素形式体现,并将库表及库表字段统一对象化操作。各应用系统多元异构数据库接入到云数据库虚拟化平台,用户便可以根据自身需要自定一套自管理、自消费数据信息服务平台。体现两方面的优点:1)模式上:用户可以自行设计和创造统一虚拟表资源;2)技术上:物理平台向逻辑平台的转化,把网络上大量物理存在的服务器及端口、数据源、资源等烦琐的开发和设计过程隐藏在内部,提升应用开发的层次。
【权利要求】
1.一种主流关系型数据库表模式对象化和虚拟化机制,其特征在于:所述的机制由虚拟数据库、虚拟表、虚拟视图,以及它们与物理的应用服务器、数据库服务器、数据库、数据表之间的多对多映射实现; 所述的虚拟数据库,是网络环境中一种组织和管理的虚拟空间;其里面有相应的虚拟表(逻辑层面的虚拟资源)、可以分配虚拟表使用权限的角色、虚拟库资源使用者、虚拟视图(基于虚拟表创建的虚拟表)的等实体:及其他们生命周期内的行为联系衍生的其他网络知识和活动,虚拟数据库是一个逻辑的具有确定边界的虚拟网络空间,作为:1)由用户、虚拟资源、角色构成的特定网络内聚空间;2)虚拟空间与网络物理要素之间的界面;虚拟数据库的操作有:创建、修改、删除;虚拟数据库之间可以移动或者复制虚拟资源,不同虚拟数据库管理员可以共享虚拟资源; 所述的虚拟表,是在逻辑层面表示数据库服务器、数据库、表的抽象概念,它所属一个特定的虚拟数据库,本身也具有关系的特性,具有schema和约束;通过pr模式及vr模式实现与具体数据库物理表形成一一对应关系;虚拟表满足关系操作算子,可以通过连接、联合等操作形成新的虚拟表,即虚拟视图,这样形成具有层次结构的虚拟表之间的访问和映射关系;可以用来表示业务需要的复杂的数据模型及联系;虚拟表的操作:创建、删除、修改,以及读数据、写数据、变更数据、删除数据的接口 ; 所述的虚拟视图,是建立在虚拟表基础上的复合虚拟表,是以虚拟表字段为基础单位重新组合的逻辑视图,本身也具有关系的特性,具有schema和约束;它可以对应多个虚拟表,跟物理表没有直接对应关系,而是根据虚拟表字段间接映射到各数据库物理表字段;也就是通过上层vr模式跟下层vr模式来实现层级映射关系;通过它来实现底层各多元异构库表数据整合及sql关联操作,在不改变底层各数据库物理属性的情况下,实现在数据信息的共孚与关联操作; 映射:映射关系反映了虚拟数据库、虚拟表/视图,与物理的应用服务器、数据库服务器、数据库、数据表(文件)之间的操作映射;在逻辑层面对虚拟数据库、虚拟表的操作最终映射到对应的一个或多个物理概念实体的操作;这种映射是多对多的,同时还可以是交叉约束;虚拟表可以建立到物理数据库和表(包括文件)的映射关系,这种映射关系是非--对应的,一个虚拟表schema可以映射到网络上的一个或多个数据库服务器、数据库、表(文件); 每个库表对应一个P-V对象实例体系,及库表字段对应一个PO jo实例;从而屏蔽当前软件应用系统数据库复杂的物理细节及差异。
2.根据权利要求1所述的数据库表模式对象化和虚拟化机制,其特征在于:所有异构关系型库表都借助统一的虚拟表逻辑概念来管控,也就是把每个库表简单看成一个P-V对象实例体系,并且持久化成虚拟表资源,基础虚拟表跟实际关系型数据库表建立一一映射关系,通过虚拟视图模式的自定义及虚拟表数据的操作(增删查改,join, un1n等)可以最终映射到底层库表的对应操作;在屏蔽底层异构数据库差异的情况下,用户可以通过在基础虚拟表建视图进行跨库间的一些操作。
3.根据权利I所述的数据库表模式对象化和虚拟化机制,其特征在于模式及pr模式主要特征分别为:它们都包括对象化及持久化两层概念;对象化层面模式对应库表的MetaVr对象模型,主要由虚拟库ID,虚拟表ID,字段属性(库表字段po jo组的json字符串),创建时间,所有者ID等属性组成;pr模式对应库表的MetaPr对象模型,也主要由虚拟库ID,虚拟表ID,字段属性(库表字段pojo组的json字符串),创建时间,所有者ID等属性组成;只有虚拟表层才同时具有vr模式跟pr模式,它们通过具体字段映射来建立映射关系;而虚拟视图层只有vr模式层,通过上层vr模式层与下层vr模式层映射关系进行层层关联映射,并最终映射到虚拟表层;持久化层面模式对应云数据库基础库表metavr表的一条特定数据记录;pr模式对应云数据库基础库表metapr表的一条特定数据记录;vr模式跟Pr模式,上层vr模式跟下层vr模式之间的关系都是通过代表虚拟表地址、字段映射值字段值或字段值属性值来进行关联和建立映射关系的。
4.根据权利2所述的数据库表模式对象化和虚拟化机制,其特征在于模式及pr模式主要特征分别为:它们都包括对象化及持久化两层概念;对象化层面模式对应库表的MetaVr对象模型,主要由虚拟库ID,虚拟表ID,字段属性(库表字段pojo组的json字符串),创建时间,所有者ID等属性组成;pr模式对应库表的MetaPr对象模型,也主要由虚拟库ID,虚拟表ID,字段属性(库表字段pojo组的json字符串),创建时间,所有者ID等属性组成;只有虚拟表层才同时具有vr模式跟pr模式,它们通过具体字段映射来建立映射关系;而虚拟视图层只有vr模式层,通过上层vr模式层与下层vr模式层映射关系进行层层关联映射,并最终映射到虚拟表层;持久化层面模式对应云数据库基础库表metavr表的一条特定数据记录;pr模式对应云数据库基础库表metapr表的一条特定数据记录;vr模式跟Pr模式,上层vr模式跟下层vr模式之间的关系都是通过代表虚拟表地址、字段映射值字段值或字段值属性值来进行关联和建立映射关系的。
5.根据权利I至4任一项所述的数据库表模式对象化和虚拟化机制,其特征在于:所述的机制中,虚拟化主要步骤如下: 第一步,在每个节点上安装虚拟化多元异构数据整合服务平台,然后在当前节点的配置文件中配置其他应用服务器节点; 第二步,部署系统运行需要的初始环境:1)导入系统基础库,即元节点数据库。2)注册虚拟库账号并激活,系统管理员审批通过; 第三步,虚拟库管理员登陆系统,创建自己的虚拟数据库,注册虚拟表,在虚拟表基础上创建虚拟视图,再创建自己普通用户及用户角色等。虚拟库管理员可以用该功能创建其他应用需要的虚拟数据库n,创建虚拟数据库的时候,可以注册虚拟数据库需要的虚拟表或者创建虚拟视图,同样需要指定这些虚拟表映射的物理库表的存储位置,每创建一个虚拟数据库,就为该虚拟数据库分配至少一个普通用户,普通用户登录到系统后,可以使用及操作(权限以内)虚拟数据库的资源。同理,可以在该服务平台创建虚拟数据库m,每个虚拟数据库编号全局唯一,确保多个虚拟数据库能够统一的全局唯一编号; 第四步,针对任何一个虚拟数据库开发的应用程序可以用一个虚拟数据库标号.虚拟表标号(vdbid.vid)通过虚拟表的访问接口透明的访问各种资源,其中,程序开发人员未必是虚拟数据库的用户,而程序在运行时,会根据当前访问的用户身份,访问接口内部逻辑确定该用户是否有对虚拟表/视图访问的权限。
【文档编号】G06F9/455GK104462559SQ201410831459
【公开日】2015年3月25日 申请日期:2014年12月25日 优先权日:2014年12月25日
【发明者】郭树盛, 唐素芳, 徐志伟 申请人:广东电子工业研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1