CN111400110B - 数据库访问管理*** - Google Patents

数据库访问管理*** Download PDF

Info

Publication number
CN111400110B
CN111400110B CN202010164911.3A CN202010164911A CN111400110B CN 111400110 B CN111400110 B CN 111400110B CN 202010164911 A CN202010164911 A CN 202010164911A CN 111400110 B CN111400110 B CN 111400110B
Authority
CN
China
Prior art keywords
database
router
external service
library
service application
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
Application number
CN202010164911.3A
Other languages
English (en)
Other versions
CN111400110A (zh
Inventor
熊涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202010164911.3A priority Critical patent/CN111400110B/zh
Publication of CN111400110A publication Critical patent/CN111400110A/zh
Application granted granted Critical
Publication of CN111400110B publication Critical patent/CN111400110B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种数据库访问管理***。该***包括:数据库路由管理层和部署在云端的数据库,数据库路由管理层,包括设定数量的路由器,其中,设定数量与云端所部署数据库的个数相同;各路由器一一对应管理云端的一个数据库,且各数据库记为相应路由器内的主库,各路由器还一一对应管理一个备用库,备用库为部署在云端且不同于所属路由器内主库的数据库;路由器,用于在接收到外部业务应用的数据库访问请求时,如果监听到所管理的主库处于宕机状态时,控制所管理的备用库响应数据库访问请求,以实现外部业务应用到备用库的数据写入访问。本发明实施例的技术方案,使得外部业务应用的实现不受数据库宕机影响,提升了***的稳定性。

Description

数据库访问管理***
技术领域
本发明实施例涉及数据库应用技术领域,尤其涉及一种数据库访问管理***。
背景技术
Oracle RAC(Real Application Clusters,实时应用集群)是Oracle新版数据库中采用的一项技术,是高可用性的一种,也是Oracle数据库支持网络计算环境的核心技术。
现阶段Oracle RAC提供了集群软件和存储管理软件,为用户降低了应用成本,当应用规模需要扩展时,只需按需扩展***即可保证***的性能,而其高可用性都是基于硬件设置的,即基于物理机的硬件设施设置的,多个节点的负载均衡,在其中一个RAC宕机时,能够及时发现问题并排除故障。
而当Oracle RAC被部署至云端虚拟机上时,由于虚拟机的硬件设施是虚拟的,Oracle RAC的高可用变得不可预知,当RAC宕机时,调用RAC的外部业务应用也会受到影响,降低了***的可用性和稳定性。
发明内容
本发明提供一种数据库访问管理***,以实现数据库的高可用性,提高了***的稳定性。
本发明实施例提供了一种数据库访问管理***,包括:数据库路由管理层和部署在云端的数据库,
数据库路由管理层,包括设定数量的路由器,其中,设定数量与云端所部署数据库的个数相同;
各路由器一一对应管理云端的一个数据库,且各数据库记为相应路由器内的主库,各路由器还一一对应管理一个备用库,备用库为部署在云端且不同于所属路由器内主库的数据库;
路由器,用于在接收到外部业务应用的数据库访问请求时,如果监听到所管理的主库处于宕机状态时,控制所管理的备用库响应数据库访问请求,以实现外部业务应用到备用库的数据写入访问。
进一步地,数据库访问管理***,还包括:路由配置层,
路由配置层,分别与外部业务应用以及数据库路由管理层连接,用于分析外部业务应用发送的数据库访问请求,确定外部业务应用在数据库路由管理层对应的目标路由器,并将数据库访问请求转发给目标路由器。
进一步地,路由配置层,包括:
信息分析模块,用于分析外部业务应用发送的数据库访问请求,获取外部业务应用的数据库访问对象信息;
目标确定模块,用于根据数据库访问对象信息确定与外部业务应用对应的目标路由器;
请求转发模块,用于将数据库访问请求转发给目标路由器。
进一步地,目标确定模块,具体包括:
第一确定单元,用于当数据库访问对象信息对应的外部业务应用与其他外部业务应用共用同一表名的数据表时,根据特殊路由配置规则确定目标路由器,其中,数据库包含多个数据表;
第二确定单元,用于当数据库访问对象信息对应的外部业务应用与其他外部业务应用不共用同一表名的数据表,且数据库访问对象信息中包含有效命名空间时,根据命名空间路由配置规则确定目标路由器;
第三确定单元,用于当数据库访问对象信息对应的外部业务应用与其他外部业务应用不共用同一表名的数据表,且数据库访问对象信息中不包含有效命名空间时,根据默认路由配置规则确定目标路由器。
进一步地,第一确定单元,具体用于:
根据数据库访问对象信息对应的外部业务应用确定具有标识字段的第一数据表;
确定第一数据表所在的目标数据库,并将以目标数据库作为主库的路由器确定为目标路由器。
进一步地,第二确定单元,具体用于:
根据数据库访问对象信息中包含的有效命名空间确定与数据库访问对象信息对应的第二数据表;
确定第二数据表所在的目标数据库,并将以目标数据库作为主库的路由器确定为目标路由器。
进一步地,第三确定单元,具体用于:
根据随机原则选择一个云端所部署数据库作为目标数据库,并将以目标数据库作为主库的路由器确定为目标路由器。
进一步地,部署在云端的数据库,用于在作为一个路由器中的备用库被外部业务应用访问时,在结束与外部业务应用的交互后,将对应外部业务应用存储的业务数据同步到所属路由器内作为主库的数据库中,并清除业务数据。
进一步地,路由器,还用于在控制所管理的备用库响应数据库访问请求后,如果监听到主库当前处于正常工作状态或者由宕机恢复至正常工作状态,则控制主库响应数据库访问请求。
本发明实施例通过提供一种数据库访问管理***,包括:数据库路由管理层和部署在云端的数据库,数据库路由管理层,包括设定数量的路由器,其中,设定数量与云端所部署数据库的个数相同;各路由器一一对应管理云端的一个数据库,且各数据库记为相应路由器内的主库,各路由器还一一对应管理一个备用库,备用库为部署在云端且不同于路由器内所属主库的数据库;路由器,用于在接收到外部业务应用的数据库访问请求时,如果监听到所管理的主库处于宕机状态时,控制所管理的备用库响应数据库访问请求,以实现外部业务应用到备用库的数据写入访问。通过采用上述技术方案,在各路由器中配置与云端部署数据库一一对应的主库与备用库,当主库处于宕机状态时控制备用库完成对数据库访问请求的响应以及对外部业务应用数据的写入访问,可以解决当数据库被部署至云端虚拟机上时无法预知高可用性的问题,当一个数据库宕机时及时启动另一个数据库,使得外部业务应用的实现不受数据库宕机影响,提升了***的稳定性。
附图说明
图1为本发明实施例一中的一种数据库访问管理***的结构示意图;
图2是本发明实施例二中的一种数据库访问管理***的结构示意图;
图3是本发明实施例二中的一种路由配置层的结构示意图;
图4是本发明实施例二中的一种数据库访问管理***的结构示例图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
图1为本发明实施例一提供的一种数据库访问管理***的结构示意图,该数据库访问管理***组成包括:数据库路由管理层10和部署在云端的数据库11。
所述数据库路由管理层10,包括设定数量的路由器12,其中,所述设定数量与云端所部署数据库11的个数相同。
各所述路由器12一一对应管理所述云端的一个数据库11,且各所述数据库11即为相应路由器12内的主库,各路由器12还一一对应管理一个备用库,所述备用库为部署在所述云端且不同于所属路由器12内主库的数据库11.
所述路由器12,用于在接收到外部业务应用13的数据库访问请求时,如果监听到所管理的主库处于宕机状态时,控制所管理的备用库响应所述数据库访问请求,以实现所述外部业务应用13到所述备用库的数据写入访问。
其中,数据库路由管理层10可理解为由设定数量个路由器12组成的,用于管理多个不同路由器12的数据对象。
其中,路由器12可理解为用于连接两个或多个网络的硬件设备,此处可理解为用于管理两个或多个部署于云端的数据库11的硬件设备。路由器12个数与云端部署的数据库11个数相同并一一对应管理一个数据库11作为主库,同时还一一对应管理一个不同于主库的数据库11作为备用库,可选的,一个路由器12中的主库在另一个与之匹配的路由器12中为备用库,而相对的,另一个与之匹配的路由器12中的主库为本路由器12中的备用库。
其中,数据库11可理解为按照数据结构来组织、存储和管理数据的仓库,是一种以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。示例性的,在Oracle数据库构架中,一个实时应用集群(Real ApplicationClusters,RAC)可理解为一个数据库。
具体的,在云端部署多个数据库11,相应的,在数据库路由管理层10中部署与云端数据库个数相同的路由器12。各路由器12与云端的数据库11间形成一一对应的管理关系,且对应管理的数据库11为相应路由器12中的主库,各路由器12在云端除主库外的数据库11中还管理一个数据库11作为备用库,其中,两个数据库11在一对路由器12中互为主库与备用库,即一个路由器12中的主库为另一路由器12中的备用库,而一个路由器12中的备用库为对应另一路由器12中的主库。路由器12在接收到来自外部业务应用13的数据库访问请求时,若监听到其所管理的主库处于宕机状态时,则控制其所管理的备用库响应数据库访问请求,以对外部业务应用13进行响应,实现外部业务应用13的数据写入访问。
其中,外部业务应用13可理解为经数据访问层(Data Access Object,DAO)输入***对数据库内容进行改写调用的外部应用程序。
进一步地,部署在云端的数据库11,用于在作为一个路由器12中的备用库被外部业务应用13访问时,在结束与外部业务应用13的交互后,将对应外部业务应用13存储的业务数据同步到所属路由器12内作为主库的数据库11中,并清除业务数据。
其中,外部业务应用13存储的业务数据可通过数据表的形式写入数据库。
具体的,当路由器12收到外部业务应用13访问时主库处于宕机状态,则访问路由器12中的备用库,此时可完成外部业务应用13向备用库的数据写入访问以及对已存储在备用库中数据的读取访问,当备用库结束与外部业务应用13的交互后,备份库将外部业务应用13写入至库中的业务数据同步至其所属的路由器12中作为主库的数据库11中,并清除备用库中的业务数据。
进一步地,路由器12还用于在控制所管理的备用库响应数据库访问请求后,如果监听到主库当前处于正常状态或由宕机状态恢复至正常工作状态,则控制主库响应数据库访问请求。
具体的,路由器12通过一心跳程序监听主库工作状态,当主库为正常工作状态时,将主库作为当前使用库以响应数据库访问请求。当主库为宕机状态时,将备用库作为当前使用库以响应数据库访问请求,同时继续监听主库工作状态,当主库工作状态恢复正常,则重新将主库作为当前使用库以响应数据库访问请求。可选的,在主库恢复正常工作状态后,将宕机阶段外部业务应用13存储的业务数据从备用库同步至主库,同时删除备用库中存储的业务数据。
本发明实施例通过提供一种数据库访问管理***,包括:数据库路由管理层和部署在云端的数据库,数据库路由管理层,包括设定数量的路由器,其中,设定数量与云端所部署数据库的个数相同;各路由器一一对应管理云端的一个数据库,且各数据库记为相应路由器内的主库,各路由器还一一对应管理一个备用库,备用库为部署在云端且不同于路由器内所属主库的数据库;路由器,用于在接收到外部业务应用的数据库访问请求时,如果监听到所管理的主库处于宕机状态时,控制所管理的备用库响应数据库访问请求,以实现外部业务应用到备用库的数据写入访问。通过采用上述技术方案,在各路由器中配置与云端部署数据库一一对应的主库与备用库,当主库处于宕机状态时控制备用库完成对数据库访问请求的响应以及对外部业务应用数据的写入访问,可以解决当数据库被部署至云端虚拟机上时无法预知高可用性的问题,当一个数据库宕机时及时启动另一个数据库,使得外部业务应用的实现不受数据库宕机影响,提升了***的稳定性。
实施例二
图2位本发明实施例二提供的一种数据库访问管理***的结构示意图,本实施例的技术方案在上述技术方案的基础上进一步细化,该数据库访问管理***组成包括:数据库路由管理层10和部署在云端的数据库11。
所述数据库路由管理层10,包括设定数量的路由器12,其中,所述设定数量与云端所部署数据库11的个数相同。
各所述路由器12一一对应管理所述云端的一个数据库11,且各所述数据库11即为相应路由器12内的主库,各路由器12还一一对应管理一个备用库,所述备用库为部署在所述云端且不同于所属路由器12内主库的数据库11.
所述路由器12,用于在接收到外部业务应用13的数据库访问请求时,如果监听到所管理的主库处于宕机状态时,控制所管理的备用库响应所述数据库访问请求,以实现所述外部业务应用13到所述备用库的数据写入访问。
该数据库访问管理***还包括路由配置层14,所述路由配置层14,分别与外部业务应用13以及所述数据库路由管理层10连接,用于分析外部业务应用13发送的数据库访问请求,确定所述外部业务应用13在上述数据库路由管理层10对应的目标路由器,并将所述数据库访问请求转发给所述目标路由器。
其中,路由配置层14可理解为用于根据外部业务应用13的数据库访问请求确定目标数据库并将存在目标数据库的路由器12作为目标路由器分配给外部业务应用13进行访问响应的数据管理层。
具体的,外部业务应用13通过DAO层发送数据库访问请求,路由配置层14接收数据库访问请求确定外部业务应用13所需访问的数据库11,并根据确定的数据库11确定将该数据库11作为主库的路由器12作为目标路由器,确定该目标路由器在数据库路由管理层10的位置并将数据库访问请求转发给目标路由器,目标路由器监听其中主库的工作状态,并根据主库工作状态完成外部业务应用13的数据写入访问。
进一步地,图3为本发明实施例二提供的一种路由配置层的结构示意图,所述路由配置层14具体包括:信息分析模块21,目标确定模块22,和请求转发模块23。
其中,信息分析模块21,用于分析所述外部业务应用13发送的数据库访问请求,获取所述外部业务应用13的数据库访问对象信息。目标确定模块22,用于根据所述数据库访问对象信息确定与所述外部业务应用对应13的目标路由器。请求转发模块23,用于将所述数据库访问请求转发给所述目标路由器。
进一步地,目标确定模块22包括:
第一确定单元,用于若当所述数据库访问对象信息对应的所述外部业务应用13与其他外部业务应用13共用同一表名的数据表时,根据特殊路由配置规则确定所述目标路由器,其中,所述数据库包含多个数据表;
第二确定单元,用于若当所述数据库访问对象信息对应的所述外部业务应用13与其他外部业务应用13不共用同一表名的数据表,且所述数据库访问对象信息中包含有效命名空间时,根据命名空间路由配置规则确定所述目标路由器;
第三确定单元,用于当若所述数据库访问对象信息对应的所述外部业务应用13与其他外部业务应用13不共用同一表名的数据表,且所述数据库访问对象信息中不包含有效命名空间时,根据默认路由配置规则确定所述目标路由器。
其中,数据库访问对象信息对应的所述外部业务应用13与其他外部业务应用13共用同一表名的数据表可理解为两个外部业务应用13对应同一表名的数据表,该数据表存在于两个不同的数据库11中且两数据表中存储数据不同,外部业务应用13通过标识字段对对应数据表进行识别。
其中,特殊路由配置规则可理解为根据线程局部变量(ThreadLocal)对路由器进行映射,通过对业务层代码对ThreadLocal变量进行设置以完成对同表名不同标识字段的数据表及其所属数据库和路由器进行映射。
其中,命名空间可理解为用于组织和利用代码的,如名字一样的代号,用于表示对象映射框架中iBatis数据库管理框架下的数据表表名。
其中,命名空间路由配置规则可理解为根据数据库访问对象信息中获取的命名空间,根据配置的命名空间映射,确定对应的数据库与路由器。
其中,默认路由配置规则可理解为未经配置的,随机在云端部署的数据库11中选取一个对将该数据库11作为主库的路由器12进行访问的配置规则。
其中,三种路由配置规则的优先顺序为先根据特殊路由配置规则配置,在无特殊路由配置情况下,进行命名空间路由配置,若二者皆不存在,则根据默认路由配置规则确定目标路由器。
进一步地,第一确定单元,具体用于:
当数据库访问对象信息对应的所述外部业务应用13与其他外部业务应用13共用同一表名的数据表时,根据数据库访问对象信息对应的外部业务应用13确定具有标识字段的第一数据表;确定第一数据表所在的数据库11为目标数据库,并将以目标数据库作为主库的路由器12确定为目标路由器。
具体的,当数据库访问对象信息对应的外部业务应用13为一与其他外部业务应用13公用同一表名数据表的应用时,路由配置层14从数据库访问对象信息中获取发出该数据库访问对象信息的外部业务应用13与其他外部业务应用13不同的标识字段,根据标识字段确定第一数据表及包含第一数据表的数据库11,将该数据库11作为目标数据库并在数据库路由管理层10中找到将该目标数据库作为主库的路由器12确定为目标路由器。
进一步地,第二确定单元,具体用于:
当数据库访问对象信息对应的外部业务应用13与其他外部业务应用13不共用同一表名的数据表,且数据库访问对象信息中包含有效命名空间时,根据数据库访问对象信息中包含的有效命名空间确定与数据库访问对象信息对应的第二数据表;确定第二数据表所在的目标数据库,并将以目标数据库作为主库的路由器12确定为目标路由器。
具体的,当数据库访问对象信息对应的外部业务应用13与其他外部业务应用13不共用同一表名的数据表时,根据函数获取iBatis框架下数据库访问对象信息对应的命名空间,根据配置的命名空间映射判断数据库访问对象信息对应的命名空间是否为有效命名空间,若为有效命名空间,则根据该有效命名空间确定与之对应的第二数据表,并确定包含第二数据表的数据库11,将该数据库11作为目标数据库并在数据库路由管理层10中找到将该目标数据库作为主库的路由器12确定为目标路由器。
进一步地,第三确定单元,具体用于:
当数据库访问对象信息对应的外部业务应用13与其他外部业务应用13不共用同一表名的数据表,且数据库访问对象信息中不包含有效命名空间时,根据随机原则选择一个云端所部署数据库11作为目标数据,并将以目标数据库为主库的路由器12确定为目标路由器。
示例性的,图4为本发明实施例二提供的一种数据库访问管理***的结构示例图,具体的,外部业务应用访问DAO层并向其发送数据库访问请求,确定数据库访问对象与数据库访问对象信息,并将数据库访问请求发送至路由配置层,路由配置层根据预设的路由配置规则确定该外部业务应用应访问的分库分表路由,各分库分表路由下均包括两个数据库,分别为主库和备用库。以两数据库分别为RAC1和RAC2为例,分库分表路由1中将RAC1作为主库且为优先使用库,将RAC2作为备用库,而分库分表路由2中将RAC2作为主库而将RAC1作为备用库,故分库分表路由1和2为一对管理着一对互为主库与备用库的数据库的路由器。当其中一个分库分表路由接收到路由配置层传递的数据库访问请求信息时,该分库分表路由从主库监听程序中获取路由中主库的工作状态。其中,该监听包括两种情况,当主库未宕机时监听主库是否宕机,当主库处于宕机状态时监听主库是否恢复。当监听主库工作状态正常时,将主库作为当前使用库,响应外部业务应用的数据库访问请求;当监听主库宕机时,将备用库作为当前使用库,响应外部业务应用的数据库访问请求,其中,仅能响应数据库访问请求中的数据写入请求,以及对备份库中已有数据的读取请求。当监听主库工作状态恢复正常时,可自动或手动将主库宕机阶段备用库接收到的数据同步至主库并删除备用库中的数据。进一步地,若主库与备用库皆处于宕机状态,外部业务应用访问失败,返回错误信息并提醒后台进行人工处理。
本实施例的技术方案,根据外部业务应用发送的数据库访问请求确定对应访问的数据表,根据数据表确定对应的目标数据库以及本剧目标数据库确定的目标路由器,不同路由器中的数据库互为主库与备份库,解决了当路由器中主库未宕机时作为备用库的数据库的利用率低,资源浪费的问题,提升了数据库的利用率,同时当主库宕机时及时切换至备用库,保证了外部业务应用的响应,提升了***的稳定性与可用性。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种数据库访问管理***,其特征在于,包括:数据库路由管理层和部署在云端的数据库,
所述数据库路由管理层,包括设定数量的路由器,其中,所述设定数量与云端所部署数据库的个数相同;
各所述路由器一一对应管理所述云端的一个数据库,且各所述数据库记为相应路由器内的主库,各所述路由器还一一对应管理一个备用库,所述备用库为部署在所述云端且不同于所属路由器内主库的数据库;
所述路由器,用于在接收到外部业务应用的数据库访问请求时,如果监听到所管理的主库处于宕机状态时,控制所管理的备用库响应所述数据库访问请求,以实现所述外部业务应用到所述备用库的数据写入访问;
其中,针对所述数据库路由管理层中的一对路由器,其中一个路由器中的主库为另一路由器中的备用库,一个路由器中的备用库为另一路由器中的主库;
其中,所述路由器通过主库监听程序对所述主库的工作状态进行监听,当监听所述主库处于宕机状态时,控制所述备用库响应所述数据库访问请求中的数据写入请求,和对所述备用库中已有数据的读取请求。
2.根据权利要求1所述的***,其特征在于,还包括:路由配置层,
所述路由配置层,分别与外部业务应用以及所述数据库路由管理层连接,用于分析外部业务应用发送的数据库访问请求,确定所述外部业务应用在所述数据库路由管理层对应的目标路由器,并将所述数据库访问请求转发给所述目标路由器。
3.根据权利要求2所述的***,所述路由配置层,包括:
信息分析模块,用于分析所述外部业务应用发送的数据库访问请求,获取所述外部业务应用的数据库访问对象信息;
目标确定模块,用于根据所述数据库访问对象信息确定与所述外部业务应用对应的目标路由器;
请求转发模块,用于将所述数据库访问请求转发给所述目标路由器。
4.根据权利要求3所述的***,所述目标确定模块,具体包括:
第一确定单元,用于当所述数据库访问对象信息对应的所述外部业务应用与其他外部业务应用共用同一表名的数据表时,根据特殊路由配置规则确定所述目标路由器,其中,所述数据库包含多个数据表;
第二确定单元,用于当所述数据库访问对象信息对应的所述外部业务应用与其他外部业务应用不共用同一表名的数据表,且所述数据库访问对象信息中包含有效命名空间时,根据命名空间路由配置规则确定所述目标路由器;
第三确定单元,用于当所述数据库访问对象信息对应的所述外部业务应用与其他外部业务应用不共用同一表名的数据表,且所述数据库访问对象信息中不包含有效命名空间时,根据默认路由配置规则确定所述目标路由器。
5.根据权利要求4所述的***,其特征在于,所述第一确定单元,具体用于:
根据所述数据库访问对象信息对应的所述外部业务应用确定具有标识字段的第一数据表;
确定所述第一数据表所在的目标数据库,并将以所述目标数据库作为主库的路由器确定为所述目标路由器。
6.根据权利要求4所述的***,其特征在于,所述第二确定单元,具体用于:
根据所述数据库访问对象信息中包含的所述有效命名空间确定与所述数据库访问对象信息对应的第二数据表;
确定所述第二数据表所在的目标数据库,并将以所述目标数据库作为主库的路由器确定为所述目标路由器。
7.根据权利要求4所述的***,其特征在于,所述第三确定单元,具体用于:
根据随机原则选择一个所述云端所部署数据库作为目标数据库,并将以所述目标数据库作为主库的路由器确定为目标路由器。
8.根据权利要求1所述的***,其特征在于,所述部署在云端的数据库,用于在作为一个路由器中的备用库被外部业务应用访问时,在结束与所述外部业务应用的交互后,将对应所述外部业务应用存储的业务数据同步到所属路由器内作为主库的数据库中,并清除所述业务数据。
9.根据权利要求1所述的***,其特征在于,所述路由器,还用于在控制所管理的备用库响应所述数据库访问请求后,如果监听到所述主库当前处于正常工作状态或者由宕机状态恢复至正常工作状态,则控制所述主库响应所述数据库访问请求。
CN202010164911.3A 2020-03-11 2020-03-11 数据库访问管理*** Active CN111400110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010164911.3A CN111400110B (zh) 2020-03-11 2020-03-11 数据库访问管理***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010164911.3A CN111400110B (zh) 2020-03-11 2020-03-11 数据库访问管理***

Publications (2)

Publication Number Publication Date
CN111400110A CN111400110A (zh) 2020-07-10
CN111400110B true CN111400110B (zh) 2023-12-19

Family

ID=71430804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010164911.3A Active CN111400110B (zh) 2020-03-11 2020-03-11 数据库访问管理***

Country Status (1)

Country Link
CN (1) CN111400110B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114238521B (zh) * 2022-02-25 2022-06-24 梅州客商银行股份有限公司 银行核心***数据库的高可用部署方法、装置和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999978A (en) * 1997-10-31 1999-12-07 Sun Microsystems, Inc. Distributed system and method for controlling access to network resources and event notifications
CN104408174A (zh) * 2014-12-12 2015-03-11 用友软件股份有限公司 数据库路由装置和方法
CN105095317A (zh) * 2014-05-23 2015-11-25 ***股份有限公司 分布式数据库服务管理***
CN106294565A (zh) * 2016-07-27 2017-01-04 中国农业银行股份有限公司 一种数据库访问方法及***
CN106503163A (zh) * 2016-10-31 2017-03-15 用友网络科技股份有限公司 基于SaaS应用的全局配置多租户动态数据源***
CN107085570A (zh) * 2016-02-14 2017-08-22 华为技术有限公司 数据处理方法、应用服务器和路由器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740353B2 (en) * 2010-12-23 2020-08-11 Mongodb, Inc. Systems and methods for managing distributed database deployments
US9514160B2 (en) * 2013-03-11 2016-12-06 Oracle International Corporation Automatic recovery of a failed standby database in a cluster
US10592528B2 (en) * 2017-02-27 2020-03-17 Sap Se Workload capture and replay for replicated database systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999978A (en) * 1997-10-31 1999-12-07 Sun Microsystems, Inc. Distributed system and method for controlling access to network resources and event notifications
CN105095317A (zh) * 2014-05-23 2015-11-25 ***股份有限公司 分布式数据库服务管理***
CN104408174A (zh) * 2014-12-12 2015-03-11 用友软件股份有限公司 数据库路由装置和方法
CN107085570A (zh) * 2016-02-14 2017-08-22 华为技术有限公司 数据处理方法、应用服务器和路由器
CN106294565A (zh) * 2016-07-27 2017-01-04 中国农业银行股份有限公司 一种数据库访问方法及***
CN106503163A (zh) * 2016-10-31 2017-03-15 用友网络科技股份有限公司 基于SaaS应用的全局配置多租户动态数据源***

Also Published As

Publication number Publication date
CN111400110A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
US11360854B2 (en) Storage cluster configuration change method, storage cluster, and computer system
CN109040212B (zh) 设备接入服务器集群方法、***、设备及存储介质
US10805406B2 (en) Zone redundant computing services using multiple local services in distributed computing systems
CN104486445B (zh) 一种基于云平台的分布式可扩展资源监控***
US9454444B1 (en) Using location tracking of cluster nodes to avoid single points of failure
JP5047165B2 (ja) 仮想化ネットワークストレージシステム、ネットワークストレージ装置及びその仮想化方法
US7237027B1 (en) Scalable storage system
JP6190389B2 (ja) 分散型計算環境において計算を実行する方法およびシステム
US8676951B2 (en) Traffic reduction method for distributed key-value store
US7225356B2 (en) System for managing operational failure occurrences in processing devices
JP4515314B2 (ja) 計算機システムの構成再現方法
JP4727714B2 (ja) サーバのフェイルオーバの制御方法及び装置、並びに計算機システム群
US20090216986A1 (en) Apparatus and method for managing logical volume in distributed storage systems
CN105095317A (zh) 分布式数据库服务管理***
US20170097941A1 (en) Highly available network filer super cluster
CN111966482B (zh) 边缘计算***
CN109391487A (zh) 一种配置更新方法和***
CN108462756A (zh) 一种数据写入方法和装置
CN111400110B (zh) 数据库访问管理***
CN107180034A (zh) MySQL数据库的集群***
JP2020191100A (ja) システム及びその制御方法並びにプログラム
CN111274004A (zh) 进程实例管理方法、装置及计算机存储介质
CN112860480B (zh) 一种双活存储***及其处理数据的方法
CN115562849A (zh) 一种基于高可用的缓存数据方法及***
JP2024514467A (ja) 地理的に分散されたハイブリッドクラウドクラスタ

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220914

Address after: 25 Financial Street, Xicheng District, Beijing 100033

Applicant after: CHINA CONSTRUCTION BANK Corp.

Address before: 25 Financial Street, Xicheng District, Beijing 100033

Applicant before: CHINA CONSTRUCTION BANK Corp.

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant