数据库接入层中间件的自动调度方法和装置与流程

文档序号:22929253发布日期:2020-11-13 16:26阅读:180来源:国知局
数据库接入层中间件的自动调度方法和装置与流程

本发明涉及数据库架构体系与服务技术领域,特别涉及一种数据库接入层中间件的自动调度方法和装置。



背景技术:

数据库接入层中间件是位于应用程序和数据库之间的一个软件层,它向各种数据库提供服务,使不同的进程能在屏蔽掉平台差异的情况下,通过网络互相通信。在实际使用中,把一组中间件集成在一起构成一个平台(包括开发平台和运行平台),其中必须要有一个通信中间件完成中间件之间的通信。从这个意义上讲,中间件应包括平台和通信两个部分。

数据库接入层中间件其实并不复杂,假设我们有n个数据库,m个应用程序,为了使所有的数据库在所有的应用程序上都能工作,就可能需要n×m个接口;而且每引入一个新的应用程序,就要重新改写n个数据库的源代码;每开发一个新的数据库,就要考虑实现m个不同的版本,以工作于m个应用程序之上。中间件使这一切变得简单,开发数据库时不必再关心底层应用程序的类型,而在理想状况下只需专心于数据库的逻辑处理;中间件的引入使原来的网状接口类型变成了沙漏状接口类型,接口数目从n×m降到了n+m;当n和m都很小的情况下,这种差异并不明显,但随着n和m不断地增大,这种差异将极大地增加开发数据库的困难,并降低应用程序运行的效率和性能。因此,中间件的出现是分布式系统发展的产物,是软件构架演进的必然。

申请号202010112926.5的专利申请文件,公开了一种数据库接入层中间件的自动调度方法和装置,其方法包括:接收调度请求,其中,所述调度请求包括配置信息,所述配置信息的待存储对象为第一同步节点;将所述配置信息存储到所述第一同步节点;利用所述第一同步节点,将数据库资源可用区中除去所述第一同步节点的剩余同步节点,进行所述配置信息的同步更新;根据所述配置信息,在所述数据库资源可用区生成或修改数据库接入层中间件;根据所述配置信息,采用pacemaker对所述数据库接入层中间件进行调度。其装置包括接收模块、存储模块、同步更新模块、中间件配置模块和中间件调度模块。该发明可用于在跨地域、跨机房的分布式架构下数据库接入层中间件的自动调度。

现有的数据库接入层中间件的自动调度技术,处理每一个调度请求的过程,都需要对数据库进行全面扫描,数据库工作负担大、效率低及响应慢,当存在巨量的调度请求较为集中时无法及时处理。



技术实现要素:

为了解决上述技术问题,本发明提供了一种数据库接入层中间件的自动调度方法,包括以下步骤:

s100接收包含配置信息的调度请求,根据配置信息区分调度请求涉及对数据库的操作类型,所述操作类型包括数据获取和数据存储;

s200识别数据库中的占用区和空闲区;

s300针对数据获取操作类型的调度请求,根据配置信息,在数据库中的占用区生成或者修改数据库接入层中间件并进行调度;

s400针对数据存储操作类型的调度请求,根据配置信息,在数据库中的空闲区生成或者修改数据库接入层中间件并进行调度。

可选的,在s100步骤,定义所述配置信息的属性,计算所述配置信息的熵,并计算属性对应的熵;

基于属性的熵以及配置信息的熵,确定属性的信息增益,基于所述属性的信息增益对所述属性进行排序,得到排序后的属性;对配置信息进行测评;

选取信息增益最大的属性作为根节点,依次按照所述属性的排序,将其他属性作为不同分支路径中不同类别对应的节点,将测评结果作为每一条分支路径的叶子节点,得到调度请求测评模型;其中,所述调度请求测评模型中包括:由属性以及类别构成的分支路径,以及由测评结果构成的每一条分支路径的叶子节点;

基于所述调度请求测评模型,对调度请求进行测评,得到针对所述调度请求的测评结果;根据所述调度请求的测评结果对数据库接入层中间件进行调度。

可选的,根据调度请求的测评结果,选取符合预设条件的数据库目标区域,其中,若调度请求为数据获取操作类型,所述预设条件表征目标区域在数据库中的占用区,若调度请求为数据存储操作类型,所述预设条件表征目标区域在数据库中的空闲区,进行数据库接入层中间件调度。

可选的,所述属性或者配置信息的熵采用以下公式计算:

上式中,表示属性或者配置信息的熵;表示属性或者配置的取值数量;表示第i个属性或者配置的对应概率;

所述熵越大,所述属性的信息增益越大,并以信息增益作为属性排序的依据。

可选的,建立日志数据库,通过对所述数据库接入层中间件的调度进行跟踪,生成调度日志信息,并保存到日志数据库。

可选的,对于数据获取操作类型的调度请求,通过哈希元数据对象属性来识别数据库中的占用区,调度数据接入层中间件,进行数据查询,具体如下:

所述数据库的占用区存储多个数据信息,以及与该多个数据信息相关联的多个原始元数据和多个备份元数据;数据库的占用区包含第一处理器的第一节点以及多个第二节点,每个第二节点包括第一存储区域和第二存储区域,所述第一存储区域用于保存所述多个原始元数据的一个或多个原始元数据,所述第二存储区域用于保存所述多个备份元数据的一个或多个备份元数据,每个第二节点包含第二处理器,所述第二处理器用于对所述第一存储区域和所述第二存储区域进行管理,

所述第一节点接收到第一查询时,若第一查询满足设定规则的数据信息和/或元数据的列表,所述第一处理器向所述多个第二节点发布第二查询,所述第二查询满足所述设定规则的数据信息和/或元数据的列表;

在所述多个第二节点接收到所述第二查询时,所述多个第二节点的所述第二处理器对与所述设定规则相关的数据信息和/或元数据,从第一存储区域和第二存储区域中仅搜索出第一存储区域,并将所述第二查询的结果提供给所述第一节点,所述第一节点的所述第一处理器对所述多个第二节点发送的结果进行聚集,得到查询数据。

可选的,所述数据库包括多个节点,每个节点的资源为一个d维向量,对数据库的节点资源进行监控,在数据库接入层中间件的调度时,采用以下预设算法对数据库节点的资源进行均衡性优化:

上式中,表示数据库接入层中间件调度的均衡负载方差;表示节点资源的总维数;表示数据库的节点数;表示节点k的第j维性能特征;表示所有节点第j维性能特征的平均值;

若监控发现节点资源的数据存储超负载时,则通过网络搜索可用节点资源纳入数据库。

本发明还提供了一种数据库接入层中间件的自动调度装置,所述装置包括接收模块、分类模块、识别模块、配置模块和调度模块;所述接收模块用于接收调度请求,所述调度请求包含配置信息;所述分类模块根据配置信息区分调度请求涉及对数据库的操作类型,所述操作类型包括数据获取和数据存储;所述识别模块用于对数据库中的占用区和空闲区进行识别;所述配置模块用于根据配置信息,在与操作类型对应的数据库占用区或者空闲区生成或修改数据库接入层中间件;所述调度模块用于根据所述配置信息,对数据库接入层中间件进行调度。

可选的,所述装置还包括日志模块和日志数据库,所述日志模块用于对据库接入层中间件的调度进行跟踪,生成调度日志信息并保存到日志数据库内。

可选的,所述装置还包括监控模块,所述监控模块与调度模块连接,所述监控模块用于对数据库接入层中间件的调度及数据库的节点资源进行监控。

本发明的方法和装置通过对调度请求的类型进行区分,对数据库的占用区和空闲区进行预先识别,针对不同类型的调度请求,只在对应的数据库区域内进行数据库接入层中间件的调度处理,每次处理后把数据库出现变化的区域重新识别区分,更新占用区和空闲区的范围,后续只需要在对应区域的数据库区域进行扫描与处理,减少了数据库扫描工作量;采用本发明可以提高调度请求处理的效率低,加快响应时间,可适应对存在巨量较为集中的调度请求的处理。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中一种数据库接入层中间件的自动调度方法流程图;

图2为本发明的数据库接入层中间件的自动调度设置实施例示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

如图1所示,本发明实施例提供了一种数据库接入层中间件的自动调度方法,包括以下步骤:

s100接收包含配置信息的调度请求,根据配置信息区分调度请求涉及对数据库的操作类型,所述操作类型包括数据获取和数据存储;

s200识别数据库中的占用区和空闲区;

s300针对数据获取操作类型的调度请求,根据配置信息,在数据库中的占用区生成或者修改数据库接入层中间件并进行调度;

s400针对数据存储操作类型的调度请求,根据配置信息,在数据库中的空闲区生成或者修改数据库接入层中间件并进行调度。

上述技术方案的工作原理和有益效果为:该方法通过对调度请求的类型进行区分,对数据库的占用区和空闲区进行预先识别,针对不同类型的调度请求,只在对应的数据库区域内进行数据库接入层中间件的调度处理,每次处理后把数据库出现变化的区域重新识别区分,更新占用区和空闲区的范围,后续只需要在对应区域的数据库区域进行扫描与处理,减少了数据库扫描工作量;采用本发明可以提高调度请求处理的效率低,加快响应时间,可适应对存在巨量较为集中的调度请求的处理。

在一个实施例中,在s100步骤,定义配置信息的属性,计算所述配置信息的熵,并计算属性对应的熵;对配置信息进行测评;

基于属性的熵以及配置信息的熵,确定属性的信息增益,基于所述属性的信息增益对所述属性进行排序,得到排序后的属性;

选取信息增益最大的属性作为根节点,依次按照所述属性的排序,将其他属性作为不同分支路径中不同类别对应的节点,将测评结果作为每一条分支路径的叶子节点,得到调度请求测评模型;其中,所述调度请求测评模型中包括:由属性以及类别构成的分支路径,以及由测评结果构成的每一条分支路径的叶子节点;

基于所述调度请求测评模型,对调度请求进行测评,得到针对所述调度请求的测评结果;根据所述调度请求的测评结果对数据库接入层中间件进行调度。

上述技术方案的工作原理和有益效果为:通过定义配置信息的属性,同时对配置信息本身和其属性进行熵值计算,以熵值确定属性的信息增益,然后以此进行排序,按照排序顺序确定分支路径;对配置信息进行测评,根据测评确定叶子节点,得到调度请求测评模型;通过调度请求测评模型对调度请求的测评结果对数据库接入层中间件进行调度。本方案通过排序方法和调度请求的测评,可以对调度请求进行顺序管理和处理,避免数据库接入层中间件的调度过程出现冲突和混乱,进一步提高处理效率。

在一个实施例中,根据调度请求的测评结果,选取符合预设条件的数据库目标区域,其中,若调度请求为数据获取操作类型,所述预设条件表征目标区域在数据库中的占用区,若调度请求为数据存储操作类型,所述预设条件表征目标区域在数据库中的空闲区,进行数据库接入层中间件调度。

上述技术方案的工作原理和有益效果为:本方案通过预设条件,进一步缩小对数据库的扫描范围,加快数据库内部定位,提高命中率和处理效率,避免重复扫描。

在一个实施例中,所述属性或者配置信息的熵采用以下公式计算:

上式中,表示属性或者配置信息的熵;表示属性或者配置的取值数量;表示第i个属性或者配置的对应概率;

所述熵越大,所述属性的信息增益越大,并以信息增益作为属性排序的依据。

上述技术方案的工作原理和有益效果为:本方案公开了一种对属性或者配置信息的熵值计算可以采用的公式,该公式计算量小,可以快速高效地得到熵值计算结果,为确定信息增益和排序提供基础。

在一个实施例中,建立日志数据库,通过对所述数据库接入层中间件的调度进行跟踪,生成调度日志信息,并保存到日志数据库。

上述技术方案的工作原理和有益效果为:通过建立日志数据库,进行数据库接入层中间件的调度的信息记录与提取,生成日志并保存,可以为数据库接入层中间件的调度过程分析提供基础,可以有效发现数据库接入层中间件的调度过程中发生的问题与故障,以便采取有效措施进行弥补。

在一个实施例中,对于数据获取操作类型的调度请求,通过哈希元数据对象属性来识别数据库中的占用区,调度数据接入层中间件,进行数据查询,具体如下:

所述数据库的占用区存储多个数据信息,以及与该多个数据信息相关联的多个原始元数据和多个备份元数据;数据库的占用区包含第一处理器的第一节点以及多个第二节点,每个第二节点包括第一存储区域和第二存储区域,所述第一存储区域用于保存所述多个原始元数据的一个或多个原始元数据,所述第二存储区域用于保存所述多个备份元数据的一个或多个备份元数据,每个第二节点包含第二处理器,所述第二处理器用于对所述第一存储区域和所述第二存储区域进行管理,

所述第一节点接收到第一查询时,若第一查询满足设定规则的数据信息和/或元数据的列表,所述第一处理器向所述多个第二节点发布第二查询,所述第二查询满足所述设定规则的数据信息和/或元数据的列表;

在所述多个第二节点接收到所述第二查询时,所述多个第二节点的所述第二处理器对与所述设定规则相关的数据信息和/或元数据,从第一存储区域和第二存储区域中仅搜索出第一存储区域,并将所述第二查询的结果提供给所述第一节点,所述第一节点的所述第一处理器对所述多个第二节点发送的结果进行聚集,得到查询数据。

上述技术方案的工作原理和有益效果为:本方案通过哈希元数据对象属性来识别数据库中的占用区,在对数据获取操作类型的调度请求进行数据接入层中间件的调度处理时,可快速精准对数据库中所存在的目标数据进行定位和获取,不需要多次反复定位操作,降低获取数据的操作难度,增强用户获取数据的良好体验。

在一个实施例中,所述数据库包括多个节点,每个节点的资源为一个d维向量,对数据库的节点资源进行监控,在数据库接入层中间件的调度时,采用以下预设算法对数据库节点的资源进行均衡性优化:

上式中,表示数据库接入层中间件调度的均衡负载方差;表示节点资源的总维数;表示数据库的节点数;表示节点k的第j维性能特征;表示所有节点第j维性能特征的平均值;

若监控发现节点资源的数据存储超负载时,则通过网络搜索可用节点资源纳入数据库。

上述技术方案的工作原理和有益效果为:资源涉及内存、磁盘和网盘等,第j维性能特征的平均值即等于第j维资源的剩余分配量除以j维总资源量;本方案通过预设算法进行均衡性优化,可以减少数据库接入层中间件的调度对数据库节点的占用,提高资源利用率。通过监控还能够及时反馈数据库节点资源使用情况,在节点不足时从网络上搜索可用节点,自动进行数据库节点的扩展。

本发明实施例还提供了一种数据库接入层中间件的自动调度装置,如图2所示,所述装置包括接收模块10、分类模块20、识别模块30、配置模块40和调度模块50;所述接收模块10与分类模块20连接,接收模块10用于接收调度请求,所述调度请求包含配置信息;所述分类模块20根据配置信息区分调度请求涉及对数据库的操作类型,所述操作类型包括数据获取和数据存储;所述识别模块30用于对数据库中的占用区和空闲区进行识别;所述配置模块40分别与分类模块20、识别模块30和调度模块50连接,配置模块40用于根据配置信息,在与操作类型对应的数据库占用区或者空闲区生成或修改数据库接入层中间件;所述调度模块50用于根据所述配置信息,对数据库接入层中间件进行调度。

上述技术方案的工作原理和有益效果为:该装置通过分类模块对调度请求的类型进行区分,识别模块对数据库的占用区和空闲区进行预先识别,针对不同类型的调度请求,只在对应的数据库区域内进行数据库接入层中间件的调度处理,每次处理后把数据库出现变化的区域重新识别区分,更新占用区和空闲区的范围,后续只需要在对应区域的数据库区域进行扫描与处理,减少了数据库扫描工作量;采用本发明可以提高调度请求处理的效率低,加快响应时间,可适应对存在巨量较为集中的调度请求的处理。

在一个实施例中,所述装置还包括日志模块和日志数据库,所述日志模块用于对据库接入层中间件的调度进行跟踪,生成调度日志信息并保存到日志数据库内。

上述技术方案的工作原理和有益效果为:通过建立日志数据库,并以日志模块进行数据库接入层中间件的调度的信息记录与提取,生成日志并保存,可以为数据库接入层中间件的调度过程分析提供基础,可以有效发现数据库接入层中间件的调度过程中发生的问题与故障,以便采取有效措施进行弥补。

在一个实施例中,所述装置还包括监控模块,所述监控模块与调度模块50连接,所述监控模块用于对数据库接入层中间件的调度及数据库的节点资源进行监控。

上述技术方案的工作原理和有益效果为:通过监控数据库接入层中间件的调度和数据库的节点资源,能够及时反馈数据库节点资源使用情况,以便于在节点不足时从网络上搜索可用节点,该装置可以采取措施自动进行数据库节点的扩展,以满足相关需要。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1