CN105677751A - 关系型数据库的调度方法及*** - Google Patents
关系型数据库的调度方法及*** Download PDFInfo
- Publication number
- CN105677751A CN105677751A CN201511019687.4A CN201511019687A CN105677751A CN 105677751 A CN105677751 A CN 105677751A CN 201511019687 A CN201511019687 A CN 201511019687A CN 105677751 A CN105677751 A CN 105677751A
- Authority
- CN
- China
- Prior art keywords
- business datum
- type
- database
- storehouse
- attribute information
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/46—Indexing scheme relating to G06F9/46
- G06F2209/462—Lookup
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种关系型数据库的调度方法及***,关系型数据库***中包括多个业务数据库,在关系型数据库***中增加一调度引擎对各业务数据库进行调度,其中的方法包括:接收业务数据,并获取业务数据的属性信息;根据业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定业务数据对应的业务数据库类型及传输通道;将业务数据通过所述传输通道传输并存储在所确定的业务数据库中。采用本发明方案,可适配对各种关系型数据库的动态配置;可以解放用户,降低***开发时对后端数据库掌握度,将开发人员的精力集中在业务层面,而不用过多关心后端数据库的选型、具体的数据库语法等;可实现准确、高效完成数据的处理。
Description
技术领域
本发明涉及互联网应用技术领域,特别是涉及一种关系型数据库的调度方法及***。
背景技术
随着计算机技术不断发展,各种应用的***架构与早期***结构有着很大区别,如今越来越多的***架构面向PaaS(PlatformasaService,平台即服务)、IaaS(InfrastructureasaService,基础设施即服务)、SaaS(SoftwareasaService,软件即服务)。然而,不论何种应用***,或多或少都会与关系型数据库进行交互。关系模型是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、SQLServer、Access、MySQL、Sybase等。在构建***架构初期,会面临选择何种数据库以及使用几个数据库等问题。
当***架构确定数据库类型、数据库数量后,***后期开发与运维中就难以改变此种架构,若要改变数据库类型,则需要将历史数据导入新的数据库中,此时需要较大的人力和时间成本,但是这种情况在实际***应用中却时常出现,这种数据库类型改变并非因前期架构及技术选型不慎,而是随着时间推移,***为了满足不断变化的需求而做出的正常迭代。
参见图1-2,是现有两种***架构示意图,其中,图1示出了仅设置一个业务数据库DB;图2是处了设置多个业务数据库DB1、DB2、…、DBn。现有***架构中,业务数据会根据后端所配置的数据库类型,将数据存入该数据库中,数据到数据库是一种确定关系,而这种关系在***开发初期就已经固定,若要修改数据库则会造成大量人力成本适配新类型数据库和迁移数据,如***后端数据库使用MySQL或Oracle。一旦选型完成,***后期更换数据库就相对麻烦。
发明内容
本发明实施例提供一种关系型数据库的调度方法及***,通过增加的调度引擎,实现对数据库的动态配置。
一种关系型数据库的调度方法,关系型数据库***中包括多个业务数据库,在关系型数据库***中增加一调度引擎对各业务数据库进行调度,所述方法包括:
接收业务数据,并获取业务数据的属性信息;
根据所述业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
将所述业务数据通过所述传输通道传输并存储在所确定的业务数据库中。
优选的,上述方法还包括:
接收业务数据查询请求,并获取待查询的业务数据的属性信息;
根据所述待查询的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
从确定的业务数据库中调取所述业务数据并通过传输通道提供所述业务数据。
优选的,上述方法还包括:
接收业务数据更新请求,并获取待更新的业务数据的属性信息;
根据所述待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
通过传输通道传输所述业务数据及属性信息给所述业务数据库,并在业务数据库中更新业务数据。
优选的,上述方法还包括:
接收业务数据删除请求,并获取待删除的业务数据的属性信息;
根据所述待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
通过传输通道在确定的业务数据库中删除所述业务数据。
优选的,所述将所述业务数据通过所述传输通道传输包括:
将所述业务数据按照对应的业务数据库类型所定义的数据格式要求进行处理并传输。
优选的,所述业务数据的属性信息包括数据类型信息、属性种类信息和/或类定义信息;
所述方法还包括:预先设置所述调度引擎数据库,所述调度引擎数据库中包括多个数据模型,每个数据模型定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。
优选的,上述方法还包括:
接收调整业务数据库类型的请求,请求将待调整业务数据库从第一数据库类型更新为第二数据库类型;
根据所述调整业务数据库类型的请求,将所述将待调整业务数据库对应的数据模型从所述第一数据库类型对应的第一数据模型更新为第二数据库类型对应的第二数据模型;
将原第二数据库类型对应的数据转移到所述待调整业务数据库中,完成数据库类型调整。
一种关系型数据库的调度***,所述***中包括多个业务数据库,所述***还包括调度引擎和调度引擎数据库,所述调度引擎用于对各业务数据库进行调度,所述调度引擎具体包括:
接收单元,用于接收业务数据,并获取业务数据的属性信息;
调度控制单元,用于根据所述业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
调度执行单元,用于将所述业务数据通过所述传输通道传输并存储在所确定的业务数据库中。
优选的,
接收单元还用于,接收业务数据查询请求,并获取待查询的业务数据的属性信息;
调度控制单元还用于,根据所述待查询的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
调度执行单元还用于,从确定的业务数据库中调取所述业务数据并通过传输通道提供所述业务数据。
优选的,
接收单元还用于,接收业务数据更新请求,并获取待更新的业务数据的属性信息;
调度控制单元还用于,根据所述待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
调度执行单元还用于,通过传输通道传输所述业务数据及属性信息给所述业务数据库,并在业务数据库中更新业务数据。
优选的,
接收单元还用于,接收业务数据删除请求,并获取待删除的业务数据的属性信息;
调度控制单元还用于,根据所述待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
调度执行单元还用于,通过传输通道在确定的业务数据库中删除所述业务数据。
优选的,所述调度执行单元具体用于,将所述业务数据按照对应的业务数据库类型所定义的数据格式要求进行处理并传输。
优选的,
所述业务数据的属性信息包括数据类型信息、属性种类信息和/或类定义信息;
所述调度引擎还用于预置调度引擎数据库,所述调度引擎数据库中包括多个数据模型,每个数据模型定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。
优选的,
接收单元还用于,接收调整业务数据库类型的请求,请求将待调整业务数据库从第一数据库类型更新为第二数据库类型;
调度控制单元还用于,根据所述调整业务数据库类型的请求,将所述将待调整业务数据库对应的数据模型从所述第一数据库类型对应的第一数据模型更新为第二数据库类型对应的第二数据模型;
调度执行单元还用于,将原第二数据库类型对应的数据转移到所述待调整业务数据库中,完成数据库类型调整。
通过本发明实施例,调度引擎可依据业务数据的属性信息匹配数据模型,从而确定该业务数据对应的传输通道及业务数据库,并由调度引擎将数据存入业务数据库中,或者实现数据查询、更新、删除以及更改业务数据库类型等操作。可见,采用本发明方案,至少包括三方面优点:其一,可适配对各种关系型数据库的动态配置,同时可忽略***架构时数据库的选型时限性;其二,只要保证在调度引擎处理好适配,而前端及后端则不需要关注中间的调度引擎是如何实现数据流转的,例如,前端的用户(开发人员)无需针对各类业务数据库进行复杂的命令、语句操作,而仅需要提供业务数据的属性信息即可,业务数据的类型识别以及存储等操作的语句均由调度引擎自动完成,因此,可以解放用户,降低***开发时对后端数据库掌握度,将开发人员的精力集中在业务层面,而不用过多关心后端数据库的选型、具体的数据库语法等,同理,由于后端业务数据库类型实现配置调度,所以可以减少人力成本,将数据层面的专业人员抽离出来,无需过多精力专注于数据库管理上;其三,由于调度引擎预先配置好业务数据、业务数据库及传输通道的对应关系,可实现准确、高效完成数据的处理。
附图说明
图1是现有技术的一种关系型数据库***架构示意图;
图2是现有技术的另一种关系型数据库***架构示意图;
图3是本发明的一种关系型数据库的调度方法实施例一的流程图;
图4是本发明的一种关系型数据库的调度方法实施例二的***架构示意图;
图5是本发明的一种关系型数据库的调度方法实施例二的数据流转示意图;
图6是本发明的一种关系型数据库的调度***实施例的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的构思在于,将业务***层面与数据库类型之间的关系抽离出一个独立的不受业务控制的数据库调度引擎,此调度引擎起着前端业务数据保存到后端数据库中的桥梁作用。
参照图3,示出了本发明的一种关系型数据库的调度方法实施例一的步骤流程图,关系型数据库***中包括多个业务数据库,在关系型数据库***中增加一调度引擎对各业务数据库进行调度,该方法具体可以包括如下步骤:
S301:接收业务数据,并获取业务数据的属性信息。
本发明实施例中,应用***架构是指***架构,比如爱奇艺网站架构、爱奇艺各种***架构;应用***是指被用户使用的***;业务数据包括但不限于用户信息数据、会员信息数据等。
其中,获取业务数据的属性信息的方式,例如是,接收用户(***维护人员,例如,技术开发人员)按照***定义要求输入的业务数据的属性信息。也即,用户仅需要提取业务数据的属性信息并提供给***即可,调度引擎会根据该属性信息自动进行后续的数据分类存储到对应的数据库以及删除、修改等操作(后面会介绍),而无需如现有技术中,用户必须熟知各类业务数据库的设置规则,按照各类数据库的要求进行数据处理和写入,这部分工作均交与调度引擎自动完成即可,因此,可解放用户,并高效、准确完成。
业务数据的属性信息,是指从业务数据中提取或计算得到的用于标记业务数据的信息。业务数据的属性信息包括但不限于:数据类型信息、属性种类信息和/或类定义信息。
优选的,本发明实施例在步骤S301之前还执行如下步骤:预先设置调度引擎数据库,该调度引擎数据库中包括多个数据模型,每个数据模型定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。
如前所述,业务数据的属性信息包括但不限于数据类型信息、属性种类信息和类定义信息。其中,数据类型信息,是将要介入***的数据模型属性的数据类型抽象化成该约束种类,如:数值类型、字符类型、日期类型等;属性种类信息,是数据模型的属性池,用于数据模型的选用配置;类定义信息,即将属性串联起来定义出业务类型所需字段的信息,类定义信息可理解为定义数据类型信息的信息,即把数据模型所需要的属性进行关联。
S302:根据业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定业务数据对应的业务数据库类型及传输通道。
如前所述的,预先设置调度引擎数据库,该调度引擎数据库中包括多个数据模型,每个数据模型定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。也即,通过在调度引擎数据库中设置多个业务数据库、传输通道与业务数据的属性信息的对应关系,通过调度引擎在前端业务数据与后端业务数据库之间建立起了一一对应的传输通道。
在获取到业务数据的属性信息之后,将获取的该属性信息调度引擎数据库中的多个数据模型中进行查找,匹配出对应的数据模型,即明确该属性信息对应的业务数据库类型以及传输通道。
S303:将业务数据通过传输通道传输并存储在所确定的业务数据库中。
传输通道是指,将符合某类业务数据库的定义规则的业务数据存储到该业务数据库(或从该业务数据库提取业务数据)的通道。因此,将业务数据通过传输通道传输是指:将业务数据按照对应的业务数据库类型所定义的数据格式要求进行处理并传输。例如,以向Oracle数据库存储数据为例,如采用现有技术方式,用户需熟知Oracle数据库设置规则、数据定义要求,并采取Oracle数据库写入语言将业务数据写入Oracle数据库,而采用本发明方式之后,用户需做的仅是提取业务数据的属性信息,并提供给调度引擎,由调度引擎自动匹配预置数据模型并按照Oracle数据库要求对业务数据进行处理后,写入Oracle数据库。
以上介绍了向业务数据库写入业务数据(添加数据)的方法流程。本领域技术人员可以理解,除了写入数据,还可以进行数据查找(导出)、数据更新、数据删除以及数据库类型调整等处理。
对于数据查找,可通过以下步骤实现:
1、接收业务数据查询请求,并获取待查询的业务数据的属性信息;
2、根据待查询的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定业务数据对应的业务数据库类型及传输通道;
3、从确定的业务数据库中调取业务数据并通过传输通道提供业务数据。
对于数据更新,可通过以下步骤实现:
1、接收业务数据更新请求,并获取待更新的业务数据的属性信息;
2、根据待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定业务数据对应的业务数据库类型及传输通道;
3、通过传输通道传输业务数据及属性信息给所述业务数据库,并在业务数据库中更新业务数据。
对于数据删除,可通过以下步骤实现:
1、接收业务数据删除请求,并获取待删除的业务数据的属性信息;
2、根据待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定业务数据对应的业务数据库类型及传输通道;
3、通过传输通道在确定的业务数据库中删除业务数据。
对于数据库类型调整,可通过如下方式实现:
1、接收调整业务数据库类型的请求,请求将待调整业务数据库从第一数据库类型更新为第二数据库类型;
2、根据调整业务数据库类型的请求,将待调整业务数据库对应的数据模型从第一数据库类型对应的第一数据模型更新为第二数据库类型对应的第二数据模型,其中,第一数据模型定义了第一数据类型信息、第一属性种类信息和/或第一类定义信息与第一数据库类型及第一传输通道之间的对应关系,第二数据模型定义了第二数据类型信息、第二属性种类信息和/或第二类定义信息与第二数据库类型及第二传输通道之间的对应关系;
3、将原第二数据库类型对应的数据转移到所述待调整业务数据库中,完成数据库类型调整。
可见,通过本发明实施例提供的方法,通过调度引擎自动完成业务数据与业务数据库的匹配,可保证在一个应用***中,业务数据不会因前期架构数据库选型问题造成后期***迭代升级影响,同时解决一个***中可以将数据库类型作为一种动态可配置的方式,提供给业务满足各种需求与变化,真正做到配置化,高可用性的数据库调度。通过本方法,仅需用户提供业务数据的属性信息即可,无需用户进行各类数据库的规则设置,可以实现数据添加、更新、删除、查找以及数据库类型调整,高效、准确。
下面从***架构、数据流转等方面,介绍本发明实施例提供的关系型数据库的调度方法实施例二的具体实现。
参见图4,是本发明的一种关系型数据库的调度方法实施例二的***架构示意图。图4中,业务数据1、业务数据2等代表不同类型的业务数据;业务数据库1、业务数据库2等代表不同类型的业务数据库。与现有技术中的关系型数据库***相比,本发明实施例在前端业务数据与后端业务数据库之间,增加调度引擎以及调度引擎数据库,其中,调度引擎数据库保存用于调度引擎控制的相关内容(数据模型),调度引擎依据调度引擎数据库保存的内容对业务数据进行处理,包括存入对应类型的业务数据库、从业务数据库查找数据、删除业务数据库中的数据以及更改业务数据库类型等操作。
在设计调度引擎时,主要从以下几点出发:
(1)统一的数据类型定义、属性定义、类定义入口;
(2)动态可选的数据库类型;
(3)依据配置可准确将业务数据存入对应类型的业务数据库;
(4)业务数据库可依配置而改变类型;
(5)数据查询时,调度引擎可自动适配数据类型,反馈数据查询结果。
依据上面五个设计要点,在具体实现时,为了依据配置而实现关系型数据库的自动调度,需要为该调度引擎设计并实现这些特定功能,实现这些功能的数据被保存在调度引擎数据库中,该调度引擎数据库用来保存调度引擎实现所依赖的数据,专门供调度引擎所使用,因此可理解为整个调度引擎的核心数据库。
如之前描述的,调度引擎数据库保存多个数据模型,每个数据模型中定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。具体实现时,该调度引擎数据库可通过保存以下三个表来实现该对应关系的设置。
(1)数据类型定义表(ConstraintType):将要接入***的数据模型属性的数据类型抽象化为该约束类型,可实现重复使用;如:数值类型、字符类型、日期类型等。
(2)属性字段定义表(PropertyPool):数据模型的属性池,用于数据模型的选用配置。
(3)类定义表(ClassConfig):即将属性串联起来定义出业务类型所需字段的表。可理解为,定义业务数据类型表的表,该表是将数据模型所需的属性进行关联。
以业务数据是用户信息为例对上述上个表进行具体说明。
假设需要在业务数据库中存储用户信息,包括姓名、年龄、邮箱这三个字段,那么,上述三个表中的具体形式如下:
数据类型定义表(ConstraintType):定义字符类型、数值类型;
属性字段定义表(PropertyPool):定义姓名属性且使用字符类型约束(ConstraintType),定义邮箱属性且使用字符类型约束(ConstraintType),定义年龄属性且使用数值类型约束(ConstraintType)。
类定义表(ClassConfig):定义用户信息类,即,该用户信息类包括姓名、邮箱和年龄三个属性。
调度引擎依据上述三张表实现作为前端业务数据与后端业务数据库的桥梁,通过业务数据属性信息的匹配,将业务数据准确的保存只后端业务数据库中。
下面从调度引擎(调度引擎数据库)及后端业务数据库中的协同配合说明具体实现。
(1)如前所述,在调度引擎侧设置一个用于保存调度数据的调度引擎数据库(也可称为核心数据库,scheduleCoreDB),用于保存与调度引擎相关的数据。
(2)在后端,布置调度引擎所支持类型的各类业务数据库。如图4所示,包括DB1(例如:MySQL)、DB2(例如:Oracle)、DB3(例如:Sybase)、DB4(例如:SQLServer)等等。起初可先支持市面中比较流行的关系型数据库,后期可随着时间及业务需求变化水平扩展支持其他数据库。
(3)***要接入或实现某个业务时,按照业务需求定义完成该业务所需属性,及对应属性的数据类型,同时配置该业务所需要使用的数据库种类。即,***要接入或实现某个业务时,在调度引擎数据库中配置该业务类型的数据模型。
(4)为了配合调度引擎,需要在业务数据库中生成唯一的二维表(Table),该Table用来保存及后续查询业务数据使用,本发明中,由调度引擎按照数据模型,控制在业务数据库中生成的Table的格式。仍以用户信息为例,由于用户信息包括姓名、年龄、邮箱三个字段,那么,通过调度引擎的控制,由ClassConfig所定义的属性而生成的Table如下:Name:yarchar;Email:yarchar;Age:int。在控制业务数据库生成为其配置类型的Table之后,调度引擎就可以按照业务数据属性信息以及业务数据库类型,为该类型业务数据库生成适配的控制语句,即,建立所谓的该类型业务数据库的传输通道。例如,对于MySQL数据库,生成适配的SQL语句,该语句包含Create、Delete、Alert、SelectTable。当调度引擎需要对该MySQL数据库进行某项操作时,通过对应的语句完成。例如,调度引擎需要对该MySQL数据库进行创建数据的操作时,该MySQL数据库通过Create语句完成。
(5)调度引擎中某个业务的类定义支持修改、删除、添加属性,则当确定保存后,所配置的业务数据库所对应的Table表字段要对应支持修改、删除、添加Column功能。
(6)调度引擎中某个业务的类定义,支持修改所对应业务数据库类型功能,则当确定保存后,调度引擎需要判断,原数据库类型表中是否有数据,如果有数据则必须将所有数据copy至目标业务数据库。
参见图5,为本发明的一种关系型数据库的调度方法实施例二的***架构示意图。在***布置初期,需要在调度数据库中设置数据模型,即确定业务属性数据类型、业务关联属性及业务数据库类型的对应关系。当接收到业务数据后,通过获取的业务数据的属性信息,在调度引擎数据库中进行匹配查询,确定出该业务数据对应的业务数据库类型,然后调度引擎按照该类型业务数据库对应的传输通道,将业务数据经由该传输通道存入到对应的业务数据库中。同理,可对业务数据库的数据进行查找、更新、删除等操作,还可以实现业务数据库的类型调整。
仍以用户信息作为业务数据为例,说明业务数据的存储、查找、更新、删除,以及说明业务数据库类型变更。
第1步:业务数据对应业务数据库类型的确定。
在接收到业务数据的属性信息之后(用户提供业务数据的属性信息),查找调度引擎数据库,确定出对应的数据模型,即,根据前述介绍的ConstraintType、PropertyPool、ClassConfig信息,确定该业务数据所需要使用业务数据库类型,并确定该业务数据的传输通道。
第2步:在对应类型的业务数据库中,根据业务数据的属性信息,生成对应的二维表(Table)。
第3步:业务数据保存。
由调度引擎通过确定的传输通道,将业务数据保存在对应的业务数据库中。
第4步:业务数据查询。
由调度引擎通过确定饿传输通道,适配到对应的业务数据库,根据查询条件,从业务数据库中获取数据,并提供给用户。
第5步:业务数据更新。
业务数据结构发生变化时,仅需要修改配置信息(即修改数据模型),并根据变化的配置信息调整对应的调用规则(即调整传输通道),从而实现调度后端的业务数据库。
具体的,业务数据结构变化分为两种情况:
第一种情况是,表字段的新增或删除:此情况下,调度引擎仅需要调整后端的业务数据库中Table的相应字段的添加与删除即可。
第二种情况是,调整后端的业务数据库的类型。例如,将Oracle类型数据库调整为MySQL类型数据库。此种调整相对复杂,因为数据库类型发生变化,必须按照目标业务数据的属性信息在目标数据库中生成Table,并将原数据库中的数据迁移到目标数据库中,最后还需要将原数据库的Table及数据进行删除。
可见,通过本发明实施例,调度引擎可依据业务数据的属性信息匹配数据模型,从而确定该业务数据对应的传输通道及业务数据库,并由调度引擎将数据存入业务数据库中,或者实现数据查询、更新、删除以及更改业务数据库类型等操作。可依据数据模型将业务数据保存至后端业务数据库中,支持多类型的业务数据库,可适配各种主流关系型数据库,使用调度引擎可以方便且轻松接入任何业务***,同时可忽略***架构时数据库的选型时限性,可在调度引擎中适配各种数据库模型;只要保证在调度引擎处理好适配,而前端业务及后端业务数据库则不需要关注中间的调度引擎是如何实现数据流转的,例如,前端的用户(开发人员)无需针对各类业务数据库进行复杂的命令、语句操作,而仅需要提供业务数据的属性信息即可,业务数据的类型识别以及存储等操作的语句均由调度引擎自动完成,因此,可以解放用户,降低***开发时对后端数据库掌握度,将开发人员的精力集中在业务层面,而不用过多关心后端数据库的选型、具体的数据库语法等,同理,由于后端业务数据库类型实现配置调度,所以可以减少人力成本,将数据层面的专业人员抽离出来,无需过多精力专注于数据库管理上;并且,由于调度引擎预先配置好业务数据库及传输通道的对应关系,可实现快速、高效完成数据的处理。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图6,是本发明的一种关系型数据库的调度***实施例的示意图。
该关系型数据库的调度***包括多个业务数据库601,特别的,该***还包括调度引擎602和调度引擎数据库603,其中,调度引擎602用于对各业务数据库601进行调度,具体的,调度引擎602具体包括:
接收单元6021,用于接收业务数据,并获取业务数据的属性信息;
调度控制单元6022,用于根据业务数据的属性信息,在预置的调度引擎数据库603中进行匹配,确定业务数据对应的业务数据库类型及传输通道;
调度执行单元6023,用于将业务数据通过传输通道传输并存储在所确定的业务数据库中。
优选的,
接收单元6021还用于,接收业务数据查询请求,并获取待查询的业务数据的属性信息;
调度控制单元6022还用于,根据待查询的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定业务数据对应的业务数据库类型及传输通道;
调度执行单元6023还用于,从确定的业务数据库中调取业务数据并通过传输通道提供业务数据。
优选的,
接收单元6021还用于,接收业务数据更新请求,并获取待更新的业务数据的属性信息;
调度控制单元6022还用于,根据待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定业务数据对应的业务数据库类型及传输通道;
调度执行单元6023还用于,通过传输通道传输业务数据及属性信息给业务数据库,并在业务数据库中更新业务数据。
优选的,
接收单元6021还用于,接收业务数据删除请求,并获取待删除的业务数据的属性信息;
调度控制单元6022还用于,根据待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定业务数据对应的业务数据库类型及传输通道;
调度执行单元6023还用于,通过传输通道在确定的业务数据库中删除业务数据。
优选的,
调度执行单元6023具体用于,将业务数据按照对应的业务数据库类型所定义的数据格式要求进行处理并传输。
优选的,
业务数据的属性信息包括数据类型信息、属性种类信息和/或类定义信息;
调度引擎602还用于预置调度引擎数据库603,调度引擎数据库603中包括多个数据模型,每个数据模型定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。
优选的,
接收单元6021还用于,接收调整业务数据库类型的请求,请求将待调整业务数据库从第一数据库类型更新为第二数据库类型;
调度控制单元6022还用于,根据调整业务数据库类型的请求,将将待调整业务数据库对应的数据模型从第一数据库类型对应的第一数据模型更新为第二数据库类型对应的第二数据模型;
调度执行单元6023还用于,将原第二数据库类型对应的数据转移到待调整业务数据库中,完成数据库类型调整。
对于***实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种关系型数据库的调度方法及***,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种关系型数据库的调度方法,关系型数据库***中包括多个业务数据库,其特征在于,在关系型数据库***中增加一调度引擎对各业务数据库进行调度,所述方法包括:
接收业务数据,并获取业务数据的属性信息;
根据所述业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
将所述业务数据通过所述传输通道传输并存储在所确定的业务数据库中。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收业务数据查询请求,并获取待查询的业务数据的属性信息;
根据所述待查询的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
从确定的业务数据库中调取所述业务数据并通过传输通道提供所述业务数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收业务数据更新请求,并获取待更新的业务数据的属性信息;
根据所述待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
通过传输通道传输所述业务数据及属性信息给所述业务数据库,并在业务数据库中更新业务数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收业务数据删除请求,并获取待删除的业务数据的属性信息;
根据所述待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
通过传输通道在确定的业务数据库中删除所述业务数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述将所述业务数据通过所述传输通道传输包括:
将所述业务数据按照对应的业务数据库类型所定义的数据格式要求进行处理并传输。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述业务数据的属性信息包括数据类型信息、属性种类信息和/或类定义信息;
所述方法还包括:预先设置所述调度引擎数据库,所述调度引擎数据库中包括多个数据模型,每个数据模型定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。
7.根据权利要求6所述的方法,其特征在于,还包括:
接收调整业务数据库类型的请求,请求将待调整业务数据库从第一数据库类型更新为第二数据库类型;
根据所述调整业务数据库类型的请求,将所述将待调整业务数据库对应的数据模型从所述第一数据库类型对应的第一数据模型更新为第二数据库类型对应的第二数据模型;
将原第二数据库类型对应的数据转移到所述待调整业务数据库中,完成数据库类型调整。
8.一种关系型数据库的调度***,所述***中包括多个业务数据库,其特征在于,所述***还包括调度引擎和调度引擎数据库,所述调度引擎用于对各业务数据库进行调度,所述调度引擎具体包括:
接收单元,用于接收业务数据,并获取业务数据的属性信息;
调度控制单元,用于根据所述业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
调度执行单元,用于将所述业务数据通过所述传输通道传输并存储在所确定的业务数据库中。
9.根据权利要求1所述的***,其特征在于,
所述接收单元还用于,接收业务数据查询请求,并获取待查询的业务数据的属性信息;
所述调度控制单元还用于,根据所述待查询的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
调度执行单元还用于,从确定的业务数据库中调取所述业务数据并通过传输通道提供所述业务数据。
10.根据权利要求8所述的***,其特征在于,
所述接收单元还用于,接收业务数据更新请求,并获取待更新的业务数据的属性信息;
所述调度控制单元还用于,根据所述待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
所述调度执行单元还用于,通过传输通道传输所述业务数据及属性信息给所述业务数据库,并在业务数据库中更新业务数据。
11.根据权利要求8所述的***,其特征在于,
所述接收单元还用于,接收业务数据删除请求,并获取待删除的业务数据的属性信息;
所述调度控制单元还用于,根据所述待更新的业务数据的属性信息,在预置的调度引擎数据库中进行匹配,确定所述业务数据对应的业务数据库类型及传输通道;
所述调度执行单元还用于,通过传输通道在确定的业务数据库中删除所述业务数据。
12.根据权利要求8-11任一项所述的***,其特征在于,所述调度执行单元具体用于,将所述业务数据按照对应的业务数据库类型所定义的数据格式要求进行处理并传输。
13.根据权利要求1-4任一项所述的***,其特征在于,所述业务数据的属性信息包括数据类型信息、属性种类信息和/或类定义信息;
所述调度引擎还用于预置调度引擎数据库,所述调度引擎数据库中包括多个数据模型,每个数据模型定义了数据类型信息、属性种类信息和/或类定义信息与业务数据库类型及传输通道之间的对应关系。
14.根据权利要求13所述的***,其特征在于,
所述接收单元还用于,接收调整业务数据库类型的请求,请求将待调整业务数据库从第一数据库类型更新为第二数据库类型;
所述调度控制单元还用于,根据所述调整业务数据库类型的请求,将所述将待调整业务数据库对应的数据模型从所述第一数据库类型对应的第一数据模型更新为第二数据库类型对应的第二数据模型;
所述调度执行单元还用于,将原第二数据库类型对应的数据转移到所述待调整业务数据库中,完成数据库类型调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511019687.4A CN105677751B (zh) | 2015-12-29 | 2015-12-29 | 关系型数据库的调度方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511019687.4A CN105677751B (zh) | 2015-12-29 | 2015-12-29 | 关系型数据库的调度方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105677751A true CN105677751A (zh) | 2016-06-15 |
CN105677751B CN105677751B (zh) | 2020-11-13 |
Family
ID=56189718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511019687.4A Active CN105677751B (zh) | 2015-12-29 | 2015-12-29 | 关系型数据库的调度方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677751B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598721A (zh) * | 2016-12-27 | 2017-04-26 | Ut斯达康(深圳)技术有限公司 | 媒资数据流转方法及装置 |
CN108628862A (zh) * | 2017-03-15 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 数据库寻址方法、装置和*** |
CN108984567A (zh) * | 2017-06-02 | 2018-12-11 | 华为技术有限公司 | 一种业务数据管理***及方法 |
CN109271438A (zh) * | 2018-10-10 | 2019-01-25 | 上海艾融软件股份有限公司 | 一种数据库访问方法及其*** |
CN109558447A (zh) * | 2018-12-14 | 2019-04-02 | 万翼科技有限公司 | 数据管理方法、装置及计算机可读存储介质 |
CN111666324A (zh) * | 2020-05-18 | 2020-09-15 | 新浪网技术(中国)有限公司 | 一种关系型数据库之间的etl调度方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682038A (zh) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种数据库变更方法以及装置 |
CN102841889A (zh) * | 2011-06-20 | 2012-12-26 | 中兴通讯股份有限公司 | 一种基于orm架构的高效数据库访问的实现方法及装置 |
CN104050297A (zh) * | 2014-07-03 | 2014-09-17 | 中国工商银行股份有限公司 | 一种查询事务分配方法及装置 |
CN104503989A (zh) * | 2014-12-03 | 2015-04-08 | 中建材国际贸易有限公司 | 一种完成异构数据库归集的方法 |
CN105095327A (zh) * | 2014-05-23 | 2015-11-25 | 深圳市珍爱网信息技术有限公司 | 一种分布式etl***及调度方法 |
-
2015
- 2015-12-29 CN CN201511019687.4A patent/CN105677751B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682038A (zh) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | 一种数据库变更方法以及装置 |
CN102841889A (zh) * | 2011-06-20 | 2012-12-26 | 中兴通讯股份有限公司 | 一种基于orm架构的高效数据库访问的实现方法及装置 |
CN105095327A (zh) * | 2014-05-23 | 2015-11-25 | 深圳市珍爱网信息技术有限公司 | 一种分布式etl***及调度方法 |
CN104050297A (zh) * | 2014-07-03 | 2014-09-17 | 中国工商银行股份有限公司 | 一种查询事务分配方法及装置 |
CN104503989A (zh) * | 2014-12-03 | 2015-04-08 | 中建材国际贸易有限公司 | 一种完成异构数据库归集的方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598721A (zh) * | 2016-12-27 | 2017-04-26 | Ut斯达康(深圳)技术有限公司 | 媒资数据流转方法及装置 |
CN106598721B (zh) * | 2016-12-27 | 2020-01-03 | 优地网络有限公司 | 媒资数据流转方法及装置 |
CN108628862A (zh) * | 2017-03-15 | 2018-10-09 | 北京京东尚科信息技术有限公司 | 数据库寻址方法、装置和*** |
CN108984567A (zh) * | 2017-06-02 | 2018-12-11 | 华为技术有限公司 | 一种业务数据管理***及方法 |
CN108984567B (zh) * | 2017-06-02 | 2021-04-09 | 华为技术有限公司 | 一种业务数据管理***及方法 |
CN109271438A (zh) * | 2018-10-10 | 2019-01-25 | 上海艾融软件股份有限公司 | 一种数据库访问方法及其*** |
CN109271438B (zh) * | 2018-10-10 | 2022-01-04 | 上海艾融软件股份有限公司 | 一种数据库访问方法及其*** |
CN109558447A (zh) * | 2018-12-14 | 2019-04-02 | 万翼科技有限公司 | 数据管理方法、装置及计算机可读存储介质 |
CN111666324A (zh) * | 2020-05-18 | 2020-09-15 | 新浪网技术(中国)有限公司 | 一种关系型数据库之间的etl调度方法及装置 |
CN111666324B (zh) * | 2020-05-18 | 2023-06-27 | 新浪技术(中国)有限公司 | 一种关系型数据库之间的etl调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105677751B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677751A (zh) | 关系型数据库的调度方法及*** | |
US10878064B2 (en) | Clinical data management system | |
US8892504B2 (en) | Method and system for reconciling meta-data in a data warehouse | |
US10803079B2 (en) | Timing-based system-period temporal table in a database system | |
US10216826B2 (en) | Database query system | |
CN111666326B (zh) | Etl调度方法及装置 | |
US20160328443A1 (en) | Knowledge Graph Based Query Generation | |
US8977646B2 (en) | Leveraging graph databases in a federated database system | |
CN109446218A (zh) | Sql语句生成方法、装置及计算机可读存储介质 | |
CN104885071A (zh) | 多设备智能语言模型同步 | |
CA2666423A1 (en) | Map information management system and map information distribution system | |
NZ603057A (en) | Database management system | |
CN111367954A (zh) | 数据查询处理方法、装置及***、计算机可读存储介质 | |
CN104335206A (zh) | 用于更新数字地图的方法及*** | |
CN103914564A (zh) | 基于ArcGIS的城市管线更新入库的方法及*** | |
CN104102652A (zh) | 一种非结构化数据存储***及方法 | |
CN108520019A (zh) | 数据管理方法、装置、设备及计算机可读存储介质 | |
CN105117383A (zh) | 一种提供搜索结果的方法与装置 | |
CN102654878B (zh) | 嵌入式***中分布式数据库的数据操作方法及板卡 | |
CN113868252A (zh) | 数据库模式匹配方法及装置、sql查询语句生成方法 | |
US20230099501A1 (en) | Masking shard operations in distributed database systems | |
CN102385617A (zh) | 动态域查询及查询转换 | |
CN114185991A (zh) | 基于分布式数据库实现数据同步的方法及相关装置 | |
CN102737082A (zh) | 一种动态更新文稿数据索引的方法和*** | |
CN106557557B (zh) | 基于配置项优先级的cmdb调和方法及装置 |
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 |