型信息、第二属性种类信息和/或第二类定义信息与第二数据库类型及第二传输通道之间的对应关系;
[0091]3、将原第二数据库类型对应的数据转移到所述待调整业务数据库中,完成数据库类型调整。
[0092]可见,通过本发明实施例提供的方法,通过调度引擎自动完成业务数据与业务数据库的匹配,可保证在一个应用系统中,业务数据不会因前期架构数据库选型问题造成后期系统迭代升级影响,同时解决一个系统中可以将数据库类型作为一种动态可配置的方式,提供给业务满足各种需求与变化,真正做到配置化,高可用性的数据库调度。通过本方法,仅需用户提供业务数据的属性信息即可,无需用户进行各类数据库的规则设置,可以实现数据添加、更新、删除、查找以及数据库类型调整,高效、准确。
[0093]下面从系统架构、数据流转等方面,介绍本发明实施例提供的关系型数据库的调度方法实施例二的具体实现。
[0094]参见图4,是本发明的一种关系型数据库的调度方法实施例二的系统架构示意图。图4中,业务数据1、业务数据2等代表不同类型的业务数据;业务数据库1、业务数据库2等代表不同类型的业务数据库。与现有技术中的关系型数据库系统相比,本发明实施例在前端业务数据与后端业务数据库之间,增加调度引擎以及调度引擎数据库,其中,调度引擎数据库保存用于调度引擎控制的相关内容(数据模型),调度引擎依据调度引擎数据库保存的内容对业务数据进行处理,包括存入对应类型的业务数据库、从业务数据库查找数据、删除业务数据库中的数据以及更改业务数据库类型等操作。
[0095]在设计调度引擎时,主要从以下几点出发:
[0096](I)统一的数据类型定义、属性定义、类定义入口 ;
[0097](2)动态可选的数据库类型;
[0098](3)依据配置可准确将业务数据存入对应类型的业务数据库;
[0099](4)业务数据库可依配置而改变类型;
[0100](5)数据查询时,调度引擎可自动适配数据类型,反馈数据查询结果。
[0101]依据上面五个设计要点,在具体实现时,为了依据配置而实现关系型数据库的自动调度,需要为该调度引擎设计并实现这些特定功能,实现这些功能的数据被保存在调度引擎数据库中,该调度引擎数据库用来保存调度引擎实现所依赖的数据,专门供调度引擎所使用,因此可理解为整个调度引擎的核心数据库。
[0102]如之前描述的,调度引擎数据库保存多个数据模型,每个数据模型中定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。具体实现时,该调度引擎数据库可通过保存以下三个表来实现该对应关系的设置。[Ο?Ο3] (I)数据类型定义表(ConstraintType):将要接入系统的数据模型属性的数据类型抽象化为该约束类型,可实现重复使用;如:数值类型、字符类型、日期类型等。
[0104](2)属性字段定义表(PropertyPool):数据模型的属性池,用于数据模型的选用配置。
[0105](3)类定义表(ClassConf ig):即将属性串联起来定义出业务类型所需字段的表。可理解为,定义业务数据类型表的表,该表是将数据模型所需的属性进行关联。
[0106]以业务数据是用户信息为例对上述上个表进行具体说明。
[0107]假设需要在业务数据库中存储用户信息,包括姓名、年龄、邮箱这三个字段,那么,上述三个表中的具体形式如下:
[0?08]数据类型定义表(ConstraintType):定义字符类型、数值类型;
[0109]属性字段定义表(PropertyPool):定义姓名属性且使用字符类型约束(ConstraintType),定义邮箱属性且使用字符类型约束(ConstraintType),定义年龄属性且使用数值类型约束(ConstraintType)。
[0110]类定义表(ClassConfig):定义用户信息类,S卩,该用户信息类包括姓名、邮箱和年龄三个属性。
[0111]调度引擎依据上述三张表实现作为前端业务数据与后端业务数据库的桥梁,通过业务数据属性信息的匹配,将业务数据准确的保存只后端业务数据库中。
[0112]下面从调度引擎(调度引擎数据库)及后端业务数据库中的协同配合说明具体实现。
[0113](I)如前所述,在调度引擎侧设置一个用于保存调度数据的调度引擎数据库(也可称为核心数据库,scheduleCoreDB),用于保存与调度引擎相关的数据。
[0114](2)在后端,布置调度引擎所支持类型的各类业务数据库。如图4所示,包括DBl(例如:MySQL)、DB2(例如:Oracle)、DB3(例如:Sybase)、DB4(例如:SQL Server)等等。起初可先支持市面中比较流行的关系型数据库,后期可随着时间及业务需求变化水平扩展支持其他数据库。
[0115](3)系统要接入或实现某个业务时,按照业务需求定义完成该业务所需属性,及对应属性的数据类型,同时配置该业务所需要使用的数据库种类。即,系统要接入或实现某个业务时,在调度引擎数据库中配置该业务类型的数据模型。
[0116](4)为了配合调度引擎,需要在业务数据库中生成唯一的二维表(Table),该Table用来保存及后续查询业务数据使用,本发明中,由调度引擎按照数据模型,控制在业务数据库中生成的Table的格式。仍以用户信息为例,由于用户信息包括姓名、年龄、邮箱三个字段,那么,通过调度引擎的控制,由ClassConf ig所定义的属性而生成的Table如下:Name:yarchar ;Emai1: yarchar; Age:1nt。在控制业务数据库生成为其配置类型的Table之后,调度引擎就可以按照业务数据属性信息以及业务数据库类型,为该类型业务数据库生成适配的控制语句,即,建立所谓的该类型业务数据库的传输通道。例如,对于MySQL数据库,生成适配的SQL语句,该语句包含Create、Delete、Alert、SeIect Table。当调度引擎需要对该MySQL数据库进行某项操作时,通过对应的语句完成。例如,调度引擎需要对该MySQL数据库进行创建数据的操作时,该MySQL数据库通过Create语句完成。
[0117](5)调度引擎中某个业务的类定义支持修改、删除、添加属性,则当确定保存后,所配置的业务数据库所对应的Table表字段要对应支持修改、删除、添加Column功能。
[0118](6)调度引擎中某个业务的类定义,支持修改所对应业务数据库类型功能,则当确定保存后,调度引擎需要判断,原数据库类型表中是否有数据,如果有数据则必须将所有数据copy至目标业务数据库。
[0119]参见图5,为本发明的一种关系型数据库的调度方法实施例二的系统架构示意图。在系统布置初期,需要在调度数据库中设置数据模型,即确定业务属性数据类型、业务关联属性及业务数据库类型的对应关系。当接收到业务数据后,通过获取的业务数据的属性信息,在调度引擎数据库中进行匹配查询,确定出该业务数据对应的业务数据库类型,然后调度引擎按照该类型业务数据库对应的传输通道,将业务数据经由该传输通道存入到对应的业务数据库中。同理,可对业务数据库的数据进行查找、更新、删除等操作,还可以实现业务数据库的类型调整。
[0120]仍以用户信息作为业务数据为例,说明业务数据的存储、查找、更新、删除,以及说明业务数据库类型变更。
[0121]第I步:业务数据对应业务数据库类型的确定。
[0122]在接收到业务数据的属性信息之后(用户提供业务数据的属性信息),查找调度引擎数据库,确定出对应的数据模型,即,根据前述介绍的ConstraintType、PropertyPool、ClassConfig信息,确定该业务数据所需要使用业务数据库类型,并确定该业务数据的传输通道。
[0123]第2步:在对应类型的业务数据库中,根据业务数据的属性信息,生成对应的二维表(Table)。
[01