CN111339194B - 数据库接入层中间件的自动调度方法和装置 - Google Patents
数据库接入层中间件的自动调度方法和装置 Download PDFInfo
- Publication number
- CN111339194B CN111339194B CN202010112926.5A CN202010112926A CN111339194B CN 111339194 B CN111339194 B CN 111339194B CN 202010112926 A CN202010112926 A CN 202010112926A CN 111339194 B CN111339194 B CN 111339194B
- Authority
- CN
- China
- Prior art keywords
- configuration information
- database
- access layer
- synchronization
- scheduling
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000001360 synchronised effect Effects 0.000 claims description 61
- 241000412611 Consul Species 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- RJKFOVLPORLFTN-LEKSSAKUSA-N Progesterone Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](C(=O)C)[C@@]1(C)CC2 RJKFOVLPORLFTN-LEKSSAKUSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
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)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库接入层中间件的自动调度方法、装置、计算机设备及存储介质,涉及基架运维技术领域。该数据库接入层中间件的自动调度方法包括:接收调度请求,其中,调度请求包括配置信息,配置信息的待存储对象为第一同步节点;将配置信息存储到第一同步节点;利用第一同步节点,将数据库资源可用区中除去第一同步节点的剩余同步节点,进行配置信息的同步更新;根据配置信息,在数据库资源可用区生成或修改数据库接入层中间件;根据配置信息,采用pacemaker对数据库接入层中间件进行调度。采用该方法能够在跨地域、跨机房的分布式架构下实现数据库接入层中间件的自动调度。
Description
【技术领域】
本发明涉及基架运维技术领域,尤其涉及一种数据库接入层中间件的自动调度方法和装置。
【背景技术】
数据库接入层中间件是数据库中间件的一种,作为数据库接入、代理、负载均衡存在,专注数据库接入层,实现用户到数据库的代理功能。
对于数据库来讲,自动调度是由数据库接入层中间件完成的,也就是说数据库接入层中间件都有着不错的后端数据库负载及均衡调度的能力,但是其本身却很少或不具有自动调度的能力。目前,传统的数据库接入层中间件应对的都是简单的几台或十几台的位于同一机房或数据库资源可用区的计算机设备,无法实现在跨地域、跨机房的分布式架构下数据库接入层中间件的自动调度。
【发明内容】
有鉴于此,本发明实施例提供了一种数据库接入层中间件的自动调度方法、装置、计算机设备及存储介质,用以解决目前无法在跨地域、跨机房的分布式架构下实现数据库接入层中间件的自动调度的问题。
第一方面,本发明实施例提供了一种数据库接入层中间件的自动调度方法,包括:
接收调度请求,其中,所述调度请求包括配置信息,所述配置信息的待存储对象为第一同步节点;
将所述配置信息存储到所述第一同步节点;
利用所述第一同步节点,将数据库资源可用区中除去所述第一同步节点的剩余同步节点,进行所述配置信息的同步更新;
根据所述配置信息,在所述数据库资源可用区生成或修改数据库接入层中间件;
根据所述配置信息,采用pacemaker对所述数据库接入层中间件进行调度。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述接收调度请求之前,还包括:
接收接口调用请求;
根据所述接口调用请求提供应用程序编程接口的访问调用,其中,所述应用程序编程接口用于生成所述配置信息;
启用监听模式,以监听是否有所述调度请求发起。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用所述第一同步节点,将数据库资源可用区中除去所述第一同步节点的剩余同步节点,进行所述配置信息的同步更新,包括:
采用consul对所述数据库资源可用区的所述剩余同步节点进行扫描,得到除去所述第一同步节点所述数据库资源可用区中的剩余同步节点的存储位置;
基于所述数据库资源可用区中除去所述第一同步节点的剩余同步节点的存储位置,采用consul将所述配置信息发送到所述数据库资源可用区的所述剩余同步节点,对所述数据库资源可用区中的所述剩余同步节点进行所述配置信息的同步更新。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述数据库资源可用区生成或修改数据库接入层中间件,包括:
采用consul-template的观察机制对全部同步节点进行监听,其中,所述全部同步节点包括所述第一同步节点和所述剩余同步节点;
当监听确定所述全部同步节点的历史配置信息与当前存储的所述配置信息不相同时,根据所述配置信息在所述数据库资源可用区中对所述数据可接入层中间件的配置进行修改,或者新增所述数据库接入层中间件。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述配置信息,采用pacemaker对所述数据库接入层中间件进行调度,包括:
通过字段匹配,从所述配置信息中确定资源调度信息;
根据所述资源调度信息,采用所述pacemaker对所述数据库接入层中间件进行调度。
第二方面,本发明实施例提供了一种数据库接入层中间件的自动调度装置,包括:
接收模块,用于接收调度请求,其中,所述调度请求包括配置信息,所述配置信息的待存储对象为第一同步节点;
存储模块,用于将所述配置信息存储到所述第一同步节点;
同步更新模块,用于利用所述第一同步节点,将数据库资源可用区中除去所述第一同步节点的剩余同步节点,进行所述配置信息的同步更新;
中间件配置模块,用于根据所述配置信息,在所述数据库资源可用区生成或修改数据库接入层中间件;
中间件调度模块,用于根据所述配置信息,采用pacemaker对所述数据库接入层中间件进行调度。
第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据库接入层中间件的自动调度方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,包括:计算机程序,所述计算机程序被处理器执行时实现上述数据库接入层中间件的自动调度方法的步骤。
在本发明实施例中,首先接收调度请求,其中,调度请求包括配置信息,配置信息的待存储对象为第一同步节点,能够实现通过任一同步节点接收配置信息的功能;然后将配置信息存储到第一同步节点,利用第一同步节点,将数据库资源可用区中除去第一同步节点的剩余同步节点,进行配置信息的同步更新,能够在任一同步节点接收调度请求的情况下,根据配置信息对数据库资源可用区中的剩余同步节点均进行同步更新,使得剩余同步节点能够近实时获取到最新的配置信息;接着根据配置信息,在数据库资源可用区生成或修改数据库接入层中间件,能够针对配置信息的数据库接入层中间件实现快速配置功能,对数据库接入层中间件进行修改或直接生成数据库接入层中间件;最后根据配置信息,采用pacemaker对数据库接入层中间件进行调度,能够对后台自动管理及协调资源的分配及调度,能够在跨地域、跨机房的分布式架构下实现数据库接入层中间件的自动调度。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明一实施例中数据库接入层中间件的自动调度方法的一流程图;
图2是本发明一实施例中数据库接入层中间件的自动调度装置的原理框图;
图3是本发明一实施例中计算机设备的一示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的相同的字段,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1示出本实施例中数据库接入层中间件的自动调度方法的一流程图。该数据库接入层中间件的自动调度方法可应用在自动调度系统上,能够在跨地域、跨机房的分布式架构下实现数据库接入层中间件的自动调度。该自动调度系统具体可应用在计算机设备上,其中,该计算机设备是可与用户进行人机交互的设备,包括但不限于电脑、智能手机和平板等设备。如图1所示,该数据库接入层中间件的自动调度方法包括:
S10:接收调度请求,其中,调度请求包括配置信息,配置信息的待存储对象为第一同步节点。
其中,接收调度请求的主体为调度系统,该调度系统是一个基于分布式架构实现的系统,包括一个或多个数据库资源可用区;其中,在一个数据库资源可用区中包括一个或多个同步节点。可以理解地,该调度系统是在跨地域、跨机房(对应不同的数据库资源可用区)的基础上实现的,可以通过任一同步节点(同步节点具体可以是指处于数据库资源可用区中的计算机设备)接收调度请求,并将该同步节点作为配置信息的待存储对象,该同步节点也称为第一同步节点。
在一实施例中,通过调度发起系统发起的调度请求,调度系统接收该调度请求,并将接收调度请求的同步节点作为配置信息的待存储对象,能够实现通过任一同步节点接收配置信息的功能。
进一步地,在步骤S10之前,即在接收调度请求的步骤之前,具体还包括:
S11:接收接口调用请求。
其中,接口调用请求是指要求调用应用程序编程接口的请求,该接口调用请求具体可以是调度发起系统发出的。
S12:根据接口调用请求提供应用程序编程接口的访问调用,其中,应用程序编程接口用于生成配置信息。
其中,应用程序编程接口(Application Programming Interface,简称API)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
其中,配置信息具体可以是指对数据库接入层的配置、数据库资源可用区的配置、同步节点的配置、中央处理器的配置等的相关参数信息。
可以理解地,调度系统包括对外开放的应用程序编程接口,在一实施例中用户可以通过调度发起系统直接调用这些应用程序编程接口,并采用预设的规则,如按照一定规则排列的输入顺序,写入配置的相关参数信息,生成配置信息。
可以理解地,调度系统采用对外开放的应用程序编程接口,可以提高得到配置信息的效率,节省不必要的时间,只需要关心写入配置的相关参数信息即可,此外,还可以统一输入格式、规范,进一步提高得到配置信息的效率。
S13:启用监听模式,以监听是否有调度请求发起。
在一实施例中,调度系统将对调度请求进行监听,具体地,数据库资源可用区中的同步节点都将启用监听模式,以及时根据接收到的调度请求实现数据库接入层中间件的自动调度。
在步骤S11-S13中,在接收调度请求的步骤之前调用了调度系统对外开放的应用程序编程接口,能够提高得到配置信息的效率;此外,还对全部同步节点启用了监听模式,能够在不同地域、不同机房的实际场景下实现实时接收调度请求的功能。
S20:将配置信息存储到第一同步节点。
在一实施例中,在接收调度请求后将对配置信息进行存储,具体存储的对象为第一同步节点,该第一同步节点可以是指数据库资源可用区中的任一计算机设备,能够通过任一同步节点存储配置信息,实现分布式同步更新的目的。
S30:利用第一同步节点,将数据库资源可用区中除去第一同步节点的剩余同步节点,进行配置信息的同步更新。
其中,调度系统包括一个或多个数据库资源可用区,一个数据库资源可用区包括一个或多个同步节点。
在一实施例中,当第一同步节点存储配置信息后,将对所有数据库资源可用区中除去第一同步节点剩余同步节点的配置信息进行同步更新,能够在任一同步节点接收调度请求的情况下,根据配置信息对数据库资源可用区中所有的同步节点均进行同步更新,使得各同步节点能够近实时获取到最新的配置信息。
进一步地,在步骤S30中,利用第一同步节点,将数据库资源可用区中除去第一同步节点剩余同步节点进行配置信息的同步更新,具体包括:
S31:采用consul对数据库资源可用区进行的剩余同步节点扫描,得到数据库资源可用区中除去第一同步节点的同步节点的存储位置。
其中,consul是一个服务网格(负责服务之间的网络调用、限流、熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统。它提供了一个功能齐全的控制平面,主要特点是:服务发现、健康检查、键值存储、安全服务通信、多数据中心。
可以理解地,第一同步节点在存储配置信息时,第一同步节点的存储位置是已知的,因此在采用consul对数据库资源可用区扫描时,可排除第一同步节点的存储位置后对数据库资源可用区的所述剩余同步节点进行扫描,当然,也可以扫描全部同步节点。
在一实施例中,除去第一同步节点的存储位置,通过consul扫描确定在数据库资源可用区中除第一同步节点外的剩余同步节点的存储位置,以后续实现根据第一同步节点中存储的配置信息更新除去第一同步节点的剩余同步节点的目的,使除去第一同步节点的剩余同步节点也存储有与第一同步节点相同的配置信息。
S32:基于数据库资源可用区中除去第一同步节点的剩余同步节点的存储位置,采用consul将配置信息发送到数据库资源可用区的剩余同步节点,对数据库资源可用区中的剩余同步节点进行配置信息的同步更新。
在一实施例中,第一同步节点通过采用consul进行数据的传输与剩余同步节点间的通信,将配置信息发送到数据库资源可用区的剩余同步节点,并存储在扫描确定的各对应的存储位置,其中,consul中存储有配置信息,在进行同步更新时,从consul中直接拿取配置信息即可。可以理解地,通过借助consul可以在第一同步节点得到配置信息后,近实时地对数据库资源可用区的剩余同步节点进行配置信息的同步更新,例如,上海的一处于数据库资源可用区的计算机设备(第一同步节点)接收到调度请求后,将近实时地对其他在北京、深圳的数据库资源可用区的剩余同步节点进行配置信息的更新。
在步骤S31-S32中,提供了一种利用第一同步节点将数据库资源可用区中的剩余同步节点进行配置信息的同步更新的具体实施方式,通过采用consul可以在第一同步节点得到配置信息后,近实时地对数据库资源可用区的同步节点进行配置信息的同步更新。
S40:根据配置信息,在数据库资源可用区生成或修改数据库接入层中间件。
在一实施例中,将按照配置信息进行数据库接入层中间件的实例化,当各同步节点对应的数据库资源可用区没有数据库接入层中间件时,则根据配置信息生成数据库接入层中间件,当各同步节点对应的数据库资源可用区已存在数据库接入层中间件时,则根据配置信息修改数据库接入层中间件。
进一步地,在步骤S40中,根据配置信息,在数据库资源可用区生成或修改数据库接入层中间件,具体包括:
S41:采用consul-template的观察机制对全部同步节点进行监听,其中,全部同步节点包括第一同步节点和剩余同步节点。
其中,consul-template是基于consul所提供的可扩展的工具,consul-template的观察机制能够通过监听consul中的数据变化,动态地修改一些配置文件中的模板,常用于在反向代理服务器上动态配置健康状态下的客户端反向代理信息。
在一实施例中,为了实现近实时的数据库接入层中间件生成或修改,对全部同步节点都进行了监听,以在配置信息更新时,能够按照配置信息实例化数据库接入层中间件。具体地,在本实施例中采用了consul所提供的可扩展的工具consul-template作为监听工具。
S42:当监听确定全部同步节点的历史配置信息与当前存储的配置信息不相同时,根据配置信息在数据库资源可用区中对数据可接入层中间件的配置进行修改,或者新增数据库接入层中间件。
可以理解地,当全部同步节点的历史配置信息与当前存储的配置信息不相同时,说明配置信息成功同步到全部同步节点,表明调度系统需要进行调度上的变化,此时将根据配置信息新增或生成的数据库接入层中间件,以方便后续对新增或生成的数据库接入层中间件数据库接入层中间件的自动调度。
在步骤S41-S42中,提供了一种根据配置信息,在数据库资源可用区生成或修改数据库接入层中间件的具体实施方式,通过采用consul-template的观察机制实现数据库接入层中间件的生成或修改,为后续根据生成或修改的数据库接入层中间件进行调度提供了重要基础。
S50:根据配置信息,采用pacemaker对数据库接入层中间件进行调度。
其中,pacemaker是一个集群资源管理器。它利用集群基础构件提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。
在一实施例中,采用pacemaker可根据配置信息完成资源的调度,还能够实现后台自动管理及协调资源的分配及调度,实现管理数据库接入层中间件的功能。
具体地,通过应用程序编程接口写入的配置信息具体可以如下所示:
db/nginx/nxy6m0sz:{"region":"in","network_type":"classical","listeners":[{"Instance_idx":1,"Instance_name":"nxy6m0sz_1","limit_memory":1.0,"limit_cpu":0.5,"create_time":"2019-05-09 02:21:48","hosts":{"master":"CNSZ081825","slave":"CNSZ081823"},"CIDR":"10.25.88.216","listener_port":3605}],"ng_site":"INA","db_type":"mysql","rss":[{"enable":"True","rs_instance_id":52210,"ip":"10.25.88.1","site":"INA","create_time":"2019-05-0902:21:48","rs_name":"myq8814c","port":3008},{"enable":"True","rs_instance_id":51545,"ip":"10.25.88.78","site":"INB","create_time":"2019-05-09 02:21:48","rs_name":"myq8814c","port":3008}]},从该配置信息可以看出对数据库接入层中间件(db/nginx/nxy6m0sz)的配置,其中还包括如对数据库资源可用区、机器配置,还有一些如中央处理器限制等的配置。在一实施例中,pacemaker将根据这些配置信息对数据库接入层中间件进行调度。
进一步地,在步骤S50中,根据配置信息,采用pacemaker对数据库接入层中间件进行调度,具体包括:
S51:通过字段匹配,从配置信息中确定资源调度信息。
可以理解地,配置信息中决定调度的是具体的资源调度信息,如"limit_memory":1.0,"limit_cpu":0.5表示了对存储占比的极限和中央处理器运行占比的极限,可通过字段匹配确定,而如创建时间create_time等的配置信息则不直接进行资源调度,不作为资源调度信息。
S52:根据资源调度信息,采用pacemaker对数据库接入层中间件进行调度。
在一实施例中,根据资源调度信息,采用pacemaker实现资源调度,更合理地利用数据库资源可用区,能够在跨地域、跨机房的场景下实现数据库接入层中间件的自动调度。
在步骤S51-S52中,提供了一种对数据库接入层中间件进行调度的具体实施方式,能够实现数据库接入层中间件的合理调度。
可以理解地,调度系统通过步骤S10-S50的执行,能够在跨地域、跨机房的分布式架构下实现数据库接入层中间件的自动调度。
在本发明实施例中,首先接收调度请求,其中,调度请求包括配置信息,配置信息的待存储对象为第一同步节点,能够实现通过任一同步节点接收配置信息的功能;然后将配置信息存储到第一同步节点,利用第一同步节点,将数据库资源可用区中除去第一同步节点的剩余同步节点,进行配置信息的同步更新,能够在任一同步节点接收调度请求的情况下,根据配置信息对数据库资源可用区中的剩余同步节点均进行同步更新,使得剩余同步节点能够近实时获取到最新的配置信息;接着根据配置信息,在数据库资源可用区生成或修改数据库接入层中间件,能够针对配置信息的数据库接入层中间件实现快速配置功能,对数据库接入层中间件进行修改或直接生成数据库接入层中间件;最后根据配置信息,采用pacemaker对数据库接入层中间件进行调度,能够对后台自动管理及协调资源的分配及调度,能够在跨地域、跨机房的分布式架构下实现数据库接入层中间件的自动调度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
基于实施例中所提供的数据库接入层中间件的自动调度方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
图2示出与实施例中数据库接入层中间件的自动调度方法一一对应的数据库接入层中间件的自动调度装置的原理框图。如图2所示,该数据库接入层中间件的自动调度装置包括接收模块10、存储模块20、同步更新模块30、中间件配置模块40和中间件调度模块50。其中,接收模块10、存储模块20、同步更新模块30、中间件配置模块40和中间件调度模块50的实现功能与实施例中数据库接入层中间件的自动调度方法对应的步骤一一对应,为避免赘述,本实施例不一一详述。
接收模块10,用于接收调度请求,其中,调度请求包括配置信息,配置信息的待存储对象为第一同步节点。
其中,接收调度请求的主体为调度系统,该调度系统是一个基于分布式架构实现的系统,包括一个或多个数据库资源可用区;其中,在一个数据库资源可用区中包括一个或多个同步节点。可以理解地,该调度系统是在跨地域、跨机房(对应不同的数据库资源可用区)的基础上实现的,可以通过任一同步节点(同步节点具体可以是指处于数据库资源可用区中的计算机设备)接收调度请求,并将该同步节点作为配置信息的待存储对象,该同步节点也称为第一同步节点。
在一实施例中,通过调度发起系统发起的调度请求,调度系统接收该调度请求,并将接收调度请求的同步节点作为配置信息的待存储对象,能够实现通过任一同步节点接收配置信息的功能。
存储模块20,用于将配置信息存储到第一同步节点。
在一实施例中,在接收调度请求后将对配置信息进行存储,具体存储的对象为第一同步节点,该第一同步节点可以是指数据库资源可用区中的任一计算机设备,能够通过任一同步节点存储配置信息,实现分布式同步更新的目的。
同步更新模块30,用于利用第一同步节点,将数据库资源可用区中除去第一同步节点的剩余同步节点,进行配置信息的同步更新。
在一实施例中,当第一同步节点存储配置信息后,将对所有数据库资源可用区中除去第一同步节点的剩余同步节点的配置信息进行同步更新,能够在任一同步节点接收调度请求的情况下,根据配置信息对数据库资源可用区中所有的同步节点均进行同步更新,使得各同步节点能够近实时获取到最新的配置信息。
中间件配置模块40,用于根据配置信息,在数据库资源可用区生成或修改数据库接入层中间件。
在一实施例中,将按照配置信息进行数据库接入层中间件的实例化,当各同步节点对应的数据库资源可用区没有数据库接入层中间件时,则根据配置信息生成数据库接入层中间件,当各同步节点对应的数据库资源可用区已存在数据库接入层中间件时,则根据配置信息修改数据库接入层中间件。
中间件调度模块50,用于根据配置信息,采用pacemaker对数据库接入层中间件进行调度。
其中,pacemaker是一个集群资源管理器。它利用集群基础构件提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。
在一实施例中,采用pacemaker可根据配置信息完成资源的调度,还能够实现后台自动管理及协调资源的分配及调度,实现管理数据库接入层中间件的功能。
可选地,数据库接入层中间件的自动调度装置还具有用于:
接收接口调用请求。
根据接口调用请求提供应用程序编程接口的访问调用,其中,应用程序编程接口用于生成配置信息。
启用监听模式,以监听是否有调度请求发起。
可选地,同步更新模块30还具体用于:
采用consul对数据库资源可用区的剩余同步节点进行扫描,得到数据库资源可用区中除去第一同步节点的剩余同步节点的存储位置。
基于数据库资源可用区中除去第一同步节点的剩余同步节点的存储位置,采用consul将配置信息发送到数据库资源可用区的剩余同步节点,对数据库资源可用区中的剩余同步节点进行配置信息的同步更新。
可选地,中间件配置模块40还具体用于:
采用consul-template的观察机制对全部同步节点进行监听,其中,全部同步节点包括第一同步节点和剩余同步节点。
当监听确定全部同步节点的历史配置信息与当前存储的配置信息不相同时,根据配置信息在数据库资源可用区中对数据可接入层中间件的配置进行修改,或者新增数据库接入层中间件。
可选地,中间件调度模块50还具体用于:
通过字段匹配,从配置信息中确定资源调度信息;
根据资源调度信息,采用pacemaker对数据库接入层中间件进行调度。
在本发明实施例中,首先接收调度请求,其中,调度请求包括配置信息,配置信息的待存储对象为第一同步节点,能够实现通过任一同步节点接收配置信息的功能;然后将配置信息存储到第一同步节点,利用第一同步节点,将数据库资源可用区中除去第一同步节点的剩余同步节点,进行配置信息的同步更新,能够在任一同步节点接收调度请求的情况下,根据配置信息对数据库资源可用区中剩余的同步节点均进行同步更新,使得剩余同步节点能够近实时获取到最新的配置信息;接着根据配置信息,在数据库资源可用区生成或修改数据库接入层中间件,能够针对配置信息的数据库接入层中间件实现快速配置功能,对数据库接入层中间件进行修改或直接生成数据库接入层中间件;最后根据配置信息,采用pacemaker对数据库接入层中间件进行调度,能够对后台自动管理及协调资源的分配及调度,能够在跨地域、跨机房的分布式架构下实现数据库接入层中间件的自动调度。
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例中数据库接入层中间件的自动调度方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器执行时实现实施例中数据库接入层中间件的自动调度装置中各模块/单元的功能,为避免重复,此处不一一赘述。
图3是本发明一实施例提供的计算机设备的示意图。如图3所示,该实施例的计算机设备60包括:处理器61、存储器62以及存储在存储器62中并可在处理器61上运行的计算机程序63,该计算机程序63被处理器61执行时实现实施例中数据库接入层中间件的自动调度方法。或者,该计算机程序63被处理器61执行时实现实施例中与数据库接入层中间件的自动调度方法一一对应的数据库接入层中间件的自动调度装置中各模型/单元的功能。
计算机设备60可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备60可包括,但不仅限于,处理器61、存储器62。本领域技术人员可以理解,图3仅仅是计算机设备60的示例,并不构成对计算机设备60的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器61可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器62可以是计算机设备60的内部存储单元,例如计算机设备60的硬盘或内存。存储器62也可以是计算机设备60的外部存储设备,例如计算机设备60上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器62还可以既包括计算机设备60的内部存储单元也包括外部存储设备。存储器62用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器62还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (6)
1.一种数据库接入层中间件的自动调度方法,其特征在于,所述方法包括:
接收调度请求,其中,所述调度请求包括配置信息,所述配置信息的待存储对象为第一同步节点;
将所述配置信息存储到所述第一同步节点;
利用所述第一同步节点,将数据库资源可用区中除去所述第一同步节点的剩余同步节点,进行所述配置信息的同步更新;
根据所述配置信息,在所述数据库资源可用区生成或修改数据库接入层中间件;
根据所述配置信息,采用pacemaker对所述数据库接入层中间件进行调度;
所述利用所述第一同步节点,将数据库资源可用区中除去所述第一同步节点的剩余同步节点,进行所述配置信息的同步更新,包括:
采用consul对所述数据库资源可用区的所述剩余同步节点进行扫描,得到所述数据库资源可用区中除去所述第一同步节点的剩余同步节点的存储位置;
基于所述数据库资源可用区中除去所述第一同步节点的剩余同步节点的存储位置,采用consul将所述配置信息发送到所述数据库资源可用区的所述剩余同步节点,对所述数据库资源可用区中的所述剩余同步节点进行所述配置信息的同步更新;
所述根据所述配置信息,在所述数据库资源可用区生成或修改数据库接入层中间件,包括:
采用consul-template的观察机制对全部同步节点进行监听,其中,所述全部同步节点包括所述第一同步节点和所述剩余同步节点;
当监听确定所述全部同步节点的历史配置信息与当前存储的所述配置信息不相同时,根据所述配置信息在所述数据库资源可用区中对所述数据可接入层中间件的配置进行修改,或者新增所述数据库接入层中间件。
2.根据权利要求1所述的方法,其特征在于,在所述接收调度请求之前,还包括:
接收接口调用请求;
根据所述接口调用请求提供应用程序编程接口的访问调用,其中,所述应用程序编程接口用于生成所述配置信息;
启用监听模式,以监听是否有所述调度请求发起。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述配置信息,采用pacemaker对所述数据库接入层中间件进行调度,包括:
通过字段匹配,从所述配置信息中确定资源调度信息;
根据所述资源调度信息,采用所述pacemaker对所述数据库接入层中间件进行调度。
4.一种数据库接入层中间件的自动调度装置,其特征在于,包括:
接收模块,用于接收调度请求,其中,所述调度请求包括配置信息,所述配置信息的待存储对象为第一同步节点;
存储模块,用于将所述配置信息存储到所述第一同步节点;
同步更新模块,用于利用所述第一同步节点,将数据库资源可用区中除去所述第一同步节点的剩余同步节点,进行所述配置信息的同步更新;
中间件配置模块,用于根据所述配置信息,在所述数据库资源可用区生成或修改数据库接入层中间件;
中间件调度模块,用于根据所述配置信息,采用pacemaker对所述数据库接入层中间件进行调度;
所述同步更新模块,具体用于:
采用consul对所述数据库资源可用区的所述剩余同步节点进行扫描,得到所述数据库资源可用区中除去所述第一同步节点的剩余同步节点的存储位置;
基于所述数据库资源可用区中除去所述第一同步节点的剩余同步节点的存储位置,采用consul将所述配置信息发送到所述数据库资源可用区的所述剩余同步节点,对所述数据库资源可用区中的所述剩余同步节点进行所述配置信息的同步更新;
所述中间件配置模块,具体用于:
采用consul-template的观察机制对全部同步节点进行监听,其中,所述全部同步节点包括所述第一同步节点和所述剩余同步节点;
当监听确定所述全部同步节点的历史配置信息与当前存储的所述配置信息不相同时,根据所述配置信息在所述数据库资源可用区中对所述数据可接入层中间件的配置进行修改,或者新增所述数据库接入层中间件。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述数据库接入层中间件的自动调度方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述数据库接入层中间件的自动调度方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010112926.5A CN111339194B (zh) | 2020-02-24 | 2020-02-24 | 数据库接入层中间件的自动调度方法和装置 |
PCT/CN2020/117425 WO2021169264A1 (zh) | 2020-02-24 | 2020-09-24 | 数据库接入层中间件的自动调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010112926.5A CN111339194B (zh) | 2020-02-24 | 2020-02-24 | 数据库接入层中间件的自动调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111339194A CN111339194A (zh) | 2020-06-26 |
CN111339194B true CN111339194B (zh) | 2024-07-09 |
Family
ID=71181776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010112926.5A Active CN111339194B (zh) | 2020-02-24 | 2020-02-24 | 数据库接入层中间件的自动调度方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111339194B (zh) |
WO (1) | WO2021169264A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111339194B (zh) * | 2020-02-24 | 2024-07-09 | 平安科技(深圳)有限公司 | 数据库接入层中间件的自动调度方法和装置 |
CN111930789A (zh) * | 2020-09-21 | 2020-11-13 | 北京东方通软件有限公司 | 数据库接入层中间件的自动调度方法和装置 |
CN112615912B (zh) * | 2020-12-11 | 2022-07-12 | 中国建设银行股份有限公司 | 一种节点调度处理方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798269A (zh) * | 2017-09-26 | 2018-03-13 | 广西电网有限责任公司电力科学研究院 | 基于soa架构的rfid中间件系统 |
CN108121782A (zh) * | 2017-12-18 | 2018-06-05 | 新华三云计算技术有限公司 | 查询请求的分配方法、数据库中间件系统以及电子设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195685B1 (en) * | 1998-05-22 | 2001-02-27 | International Business Machines Corporation | Flexible event sharing, batching, and state consistency mechanisms for interactive applications |
CN101727496A (zh) * | 2010-01-15 | 2010-06-09 | 山东高效能服务器和存储研究院 | 一种实现microsoft sql server数据库负载均衡集群的方法 |
US9311149B2 (en) * | 2012-12-21 | 2016-04-12 | International Business Machines Corporation | Processor provisioning by a middleware processing system |
CN106341454B (zh) * | 2016-08-23 | 2019-09-24 | 世纪龙信息网络有限责任公司 | 跨机房多活分布式数据库管理系统和方法 |
CN109542611B (zh) * | 2017-09-21 | 2021-05-14 | 中国移动通信集团重庆有限公司 | 数据库即服务系统、数据库调度方法、设备及存储介质 |
US10735509B2 (en) * | 2018-01-31 | 2020-08-04 | Ca, Inc. | Systems and methods for synchronizing microservice data stores |
CN108959616A (zh) * | 2018-07-18 | 2018-12-07 | 广州供电局有限公司 | 基于大数据技术的生产域数据质量准实时监控系统及方法 |
CN109379432B (zh) * | 2018-10-31 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、服务器及计算机可读存储介质 |
CN110362628A (zh) * | 2019-06-20 | 2019-10-22 | 视联动力信息技术股份有限公司 | 一种级联文件的同步方法及装置 |
CN110309231B (zh) * | 2019-07-12 | 2022-07-29 | 焦点科技股份有限公司 | 一种跨机房的数据同步方法及系统 |
CN111339194B (zh) * | 2020-02-24 | 2024-07-09 | 平安科技(深圳)有限公司 | 数据库接入层中间件的自动调度方法和装置 |
-
2020
- 2020-02-24 CN CN202010112926.5A patent/CN111339194B/zh active Active
- 2020-09-24 WO PCT/CN2020/117425 patent/WO2021169264A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798269A (zh) * | 2017-09-26 | 2018-03-13 | 广西电网有限责任公司电力科学研究院 | 基于soa架构的rfid中间件系统 |
CN108121782A (zh) * | 2017-12-18 | 2018-06-05 | 新华三云计算技术有限公司 | 查询请求的分配方法、数据库中间件系统以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111339194A (zh) | 2020-06-26 |
WO2021169264A1 (zh) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339194B (zh) | 数据库接入层中间件的自动调度方法和装置 | |
US10700947B2 (en) | Life cycle management method and device for network service | |
US10694389B2 (en) | Network slice management method, management unit, and system | |
US10917294B2 (en) | Network function instance management method and related device | |
JP5074516B2 (ja) | ゼロ単一障害点ロード・バランサ(azerosinglepointoffailureloadbalancer)の装置および方法 | |
US10924966B2 (en) | Management method, management unit, and system | |
WO2016037479A1 (zh) | 虚拟化网络功能vnf优化方法、装置及系统 | |
EP3244569A1 (en) | Asset information management method and device | |
EP3672314B1 (en) | Network management method, device and system | |
CN108933844B (zh) | 提供dhcp服务的方法及设备 | |
WO2016155023A1 (zh) | 一种网络管理系统、设备及方法 | |
CN116800616B (zh) | 虚拟化网络设备的管理方法及相关装置 | |
CN112073555A (zh) | Ip地址的配置方法、电子设备和计算机可读存储介质 | |
CN114979286A (zh) | 容器服务的访问控制方法、装置、设备及计算机存储介质 | |
CN114513552A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN108347341A (zh) | 一种用于调整虚拟机加速能力的加速能力调整方法及装置 | |
US10379918B2 (en) | System and method for MPI implementation in an embedded operating system | |
CN116069447A (zh) | 一种虚拟机numa拓扑生成方法、装置、设备、介质 | |
CN114070889B (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN111858079B (zh) | 分布式锁迁移方法、装置及电子设备、存储介质 | |
CN114219585A (zh) | 业务处理方法、装置、电子设备、存储介质和程序产品 | |
CN114564530A (zh) | 一种数据库访问方法、装置、设备及存储介质 | |
JP2018112898A (ja) | 制御装置および制御方法 | |
CN105187244A (zh) | 一种支持多种管理模式的数字通信设备访问管理系统 | |
CN113676502B (zh) | 应用服务访问方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |