CN107862090A - 数据库的水平扩展方法及装置 - Google Patents
数据库的水平扩展方法及装置 Download PDFInfo
- Publication number
- CN107862090A CN107862090A CN201711262107.3A CN201711262107A CN107862090A CN 107862090 A CN107862090 A CN 107862090A CN 201711262107 A CN201711262107 A CN 201711262107A CN 107862090 A CN107862090 A CN 107862090A
- Authority
- CN
- China
- Prior art keywords
- database
- node
- intermediate server
- data
- server
- 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.)
- Pending
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/21—Design, administration or maintenance of databases
-
- 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/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (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)
Abstract
本发明提供了一种数据库的水平扩展方法及装置,涉及数据扩展领域。数据库的水平扩展方法应用于第一中间服务器,第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,该方法包括接收用户终端的创建请求;确定数据库集群中的待扩展服务器;向待扩展服务器发送创建指令以使待扩展服务器创建数据库节点;存储数据库节点的节点对象;将节点对象广播给第二中间服务器以使第二中间服务器存储节点对象。本发明提供的数据库的水平扩展方法及装置针对多租户应用中一个租户使用一个数据库的场景下,能够随着租户数量的增加和减少完成数据库的水平扩展,使得应用对数据库访问透明化,保证数据访问的正确性。
Description
技术领域
本发明涉及数据扩展领域,具体而言,涉及一种数据库的水平扩展方法及装置。
背景技术
在多租户技术中,大多数多租户的应用***使用到的是单租户单库的隔离级别,这种隔离级别最高,数据访问与安全性最高。
然而,当前开源的数据库中间件,功能都是数据分片,这适用于多租户数据在同一数据模式中,对于单租户单数据库的使用方式需要由应用***来完成,例如,数据库的创建和访问切换等,加重了应用***开发的负担和成本。
发明内容
有鉴于此,本发明实施例的目的在于提供一种数据库的水平扩展方法及装置,以改善上述问题。
第一方面,本发明实施例提供了一种数据库的水平扩展方法,应用于第一中间服务器,所述第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,所述方法包括:
接收所述用户终端的创建请求;
依据所述创建请求确定所述数据库集群中的待扩展服务器;
向所述待扩展服务器发送创建指令以使所述待扩展服务器创建数据库节点;
存储所述数据库节点的节点对象;
将所述节点对象广播给所述第二中间服务器以使所述第二中间服务器存储所述节点对象。
优选地,所述第一中间服务器预存储有所述数据库集群对应的元数据表,所述确定所述数据库集群中的待扩展服务器的步骤包括:
依据所述元数据表查找所述数据库集群中当前配置容量满足扩展需求的所有数据库服务器;
选择其中一个当前配置容量满足扩展需求的数据库服务器作为所述待扩展服务器。
优选地,所述第一中间服务器预先建立有与所述数据库集群中的数据库节点对应的哈希映射对象,所述存储所述数据库节点的节点对象的步骤包括:
将所述节点对象添加到所述哈希映射对象中。
优选地,所述方法还包括:
当所述数据库集群中所有数据库服务器的可配置数据库节点的数量总和低于设定的预设值时,向所述用户终端发送报警信号低于设定的预设值。
第二方面,本发明实施例提供了另一种数据库的水平扩展方法,应用于第一中间服务器,所述第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,所述方法包括:
接收所述用户终端的删除请求,所述删除请求包括待删除数据库节点的节点对象;
删除所述待删除数据库节点的节点对象,并向所述待删除数据库节点所对应的数据库服务器发送删除指令以使所述数据库服务器删除所述待删除数据库节点;
将所述节点对象广播给所述第二中间服务器以使所述第二中间服务器删除所述待删除数据库节点的节点对象。
第三方面,本发明实施例提供了一种数据库的水平扩展装置,应用于第一中间服务器,所述第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,所述数据库的水平扩展装置包括:
接收模块,用于接收所述用户终端的创建请求;
确认模块,用于依据所述创建请求确定所述数据库集群中的待扩展服务器;
发送模块,用于向所述待扩展服务器发送创建指令以使所述待扩展服务器创建数据库节点;
存储模块,用于存储所述数据库节点的节点对象;
广播模块,用于将所述节点对象广播给所述第二中间服务器以使所述第二中间服务器存储所述节点对象。
优选地,所述第一中间服务器预存储有所述数据库集群对应的元数据表,所述确认模块包括:
查找子模块,用于依据所述元数据表查找所述数据库集群中当前配置容量满足扩展需求的所有数据库服务器;
选择子模块,用于选择其中一个当前配置容量满足扩展需求的数据库服务器作为所述待扩展服务器。
优选地,所述第一中间服务器预先建立有与所述数据库集群中的数据库节点对应的哈希映射对象,所述存储模块用于将所述节点对象添加到所述哈希映射对象中。
优选地,数据库的水平扩展装置还包括:
判断模块,用于判断所所述数据库集群中所有数据库服务器的可配置数据库节点的数量总和是否低于设定的预设值;
所述发送模块还用于当所述数据库集群中所有数据库服务器的可配置数据库节点的数量总和低于设定的预设值时,向所述用户终端发送报警信号低于设定的预设值。
第四方面,本发明实施例提供了另一种数据库的水平扩展装置,应用于第一中间服务器,所述第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,所述数据库的水平扩展装置包括:
接收模块,用于接收所述用户终端的删除请求,所述删除请求包括待删除数据库节点的节点对象;
删除模块,用于删除所述待删除数据库节点的节点对象;
发送模块,用于向所述待删除数据库节点所对应的数据库服务器发送删除指令以使所述数据库服务器删除所述待删除数据库节点;
广播模块,用于将所述节点对象广播给所述第二中间服务器以使所述第二中间服务器删除所述待删除数据库节点的节点对象。
对于现有技术,本发明提供的数据库的水平扩展方法及装置具有如下的有益效果:
本发明提供的数据库的水平扩展方法及装置针对多租户应用中一个租户使用一个数据库的场景下,能够随着租户数量的增加和减少完成数据库的水平扩展,使得应用对数据库访问透明化,保证数据访问的正确性,降低了应用***开发的负担和成本。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的第一中间服务器与用户终端、第二中间服务器以及数据库集群进行交互的示意图。
图2为本发明较佳实施例提供的第一中间服务器的方框示意图。
图3为本发明较佳实施例提供的数据库的水平扩展方法的流程图。
图4为本发明较佳实施例提供的另一种数据库的水平扩展方法的流程图。
图5为本发明较佳实施例提供的数据库的水平扩展装置的功能模块示意图。
图6为本发明较佳实施例提供的另一种数据库的水平扩展装置的功能模块示意图。
图标:100-第一中间服务器;110-数据库的水平扩展装置;111-接收模块;112-确认模块;113-发送模块;114-存储模块;115-广播模块;116-判断模块;117-删除模块;130-存储器;150-处理器;170-通信单元;200-用户终端;300-第二中间服务器;400-数据库集群;500-网络。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是本发明较佳实施例提供的第一中间服务器100与用户终端200、第二中间服务器300以及数据库集群400进行交互的示意图。所述第一中间服务器100通过网络500分别与一个或多个用户终端200、一个或多个第二中间服务器300以及数据库集群400通信连接,以进行数据通信或交互。
本实施例中,所述第一中间服务器100和所述第二中间服务器300为用于开源分布式数据库的中间服务器。所述用户终端200可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。所述网络500可以是,但不限于,有线网络500或无线网络500。所述用户终端200的操作***可以是,但不限于,安卓(Android)***、IOS(iPhone operating system)***、Windows phone***、Windows***等。
如图2所示,是所述第一中间服务器100的方框示意图。所述第一中间服务器100包括数据库的水平扩展装置110、存储器130、处理器150以及通信单元170。
所述存储器130、处理器150以及通信单元170各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据库的水平扩展装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器130中或固化在所述第一中间服务器100的操作***(operating system,OS)中的软件功能模块。所述处理器150用于执行所述存储器130中存储的可执行模块,例如所述数据库的水平扩展装置110所包括的软件功能模块及计算机程序等。
其中,所述存储器130可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器130用于存储程序,所述处理器150在接收到执行指令后,执行所述程序。所述通信单元170用于通过所述网络500建立所述第一中间服务器100与用户终端200之间的通信连接,并用于通过所述网络500收发数据。
请参阅图3,是本发明较佳实施例提供的应用于图2所示的数据库的水平扩展装置110的数据库的水平扩展方法的流程图,所述数据库的水平扩展方法用于数据库资源的分配,即向外扩展。下面将对图3所示的具体流程进行详细阐述。
步骤S101,接收所用户终端200的创建请求。
本发明实施例中,所述用户终端200为用于数据库租赁管理的后台管理终端设备,当租户租用数据库时,可通过用户终端200向第一中间服务器100发送创建请求以便为租户创建一独立的数据库,第一中间服务器100接收用户终端200发送的创建请求。
步骤S102,确定数据库集群400中的待扩展服务器。
数据库集群400包括多个数据库服务器,第一中间服务器100预存储有数据库集群400对应的元数据表,元数据表中包含了表征数据库集群400中每个数据库服务器当前配置容量的元数据。
当第一中间服务器100接收到用户终端200发送的创建请求后,根据元数据表查找出数据库集群400中当前配置容量满足扩展需求的所有数据库服务器,并选择其中一个当前配置容量满足扩展需求的数据库服务器作为所待扩展服务器。
本发明实施例中,第一中间服务器100预先设置了数据库集群400中每个数据库服务器可配置的数据库节点的数量,当数据库服务器中配置的数据库节点低于该对应的设定数量时,该数据库服务器还可创建数据库节点,即改数据库服务器的当前配置容量满足扩展需求。
当然,在其他的一些实施例中,当前配置容量满足扩展需求也可以是指数据库服务器的剩余存储容量大于额的阈值。当前配置容量满足扩展需求还可以是指数据库服务器的剩余存储容量大于本次扩展所需求的存储容量。
步骤S103,向待扩展服务器发送创建指令以使待扩展服务器创建数据库节点。
在确定数据库集群400中的待扩展服务器后,第一中间服务器100向待扩展服务器发送创建指令,待扩展服务器接收到该创建指令后,根据创建指令创建一相应的数据库节点。
步骤S104,存储数据库节点的节点对象。
第一中间服务器100预先建立有与所述数据库集群400中的数据库节点对应的哈希映射对象(hashmap对象),当待扩展服务器创建数据库节点后,第一中间服务器100将该创建的数据库节点的节点对象添加到其哈希映射对象中。然后,将该数据库节点的节点对象持久化存储在第一中间服务器100的元数据表中。其中,节点对象包括该创建的数据库节点的节点名称以及域名地址等。
本发明实施例中,由于创建的数据库节点的节点对象存储在第一中间服务器100的元数据表中,因此,可通过用户终端200访问第一中间服务器100的元数据表查询数据库集群400中所有的数据库节点的数据信息。
步骤S105,将节点对象广播给第二中间服务器300以使第二中间服务器300存储节点对象。
第一中间服务器100存储数据库节点的节点对象的同时,还以广播的方式将该节点对象广播给与之通信连接的其他所有第二中间服务器300,第二中间服务器300接收到该节点对象后将接收到的节点对象存储到其元数据表中。如此,实现了数据库的水平扩展,可使得各中间服务器中所存储的数据节点保持一致,使得应用对数据库访问透明化,保证数据访问的正确性,降低了应用***开发的负担和成本。
步骤S106,判断数据库集群400中所有数据库服务器的可配置数据库节点的数量总和是否低于设定的预设值,如果是,执行步骤S107。
本发明实施例中,第一中间服务器100还预先设置有用于表征数据库集群400中所有数据库服务器的可配置数据库节点的数量总和是否过低的预设值,当数据库集群400中所有数据库服务器的可配置数据库节点的数量总和低于该预设值时,执行步骤S107。
步骤S107,向用户终端200发送报警信号。
当数据库集群400中所有数据库服务器的可配置数据库节点的数量总和低于该预设值时,说明数据库集群400中所有数据库服务器的剩余容量已经不充足。此时,第一中间服务器100向用户终端200发送报警信号,以提示用户终端200的后台管理人员数据库集群400的存储空间即将被使用完。
请参阅图4,是本发明较佳实施例提供的应用于图2所示的数据库的水平扩展装置110的数据库的另一种水平扩展方法的流程图,所述数据库的水平扩展方法用于数据库资源的释放,即向外内展。下面将对图4所示的具体流程进行详细阐述。
步骤S201,接收用户终端200的删除请求,删除请求包括待删除数据库节点的节点对象。
本发明实施例中,当需要对已创建的数据库节点进行删除时,可通过用户终端200向第一中间服务器100发送删除请求,第一中间服务器100接收该删除请求。其中,该删除请求包括了待删除数据库节点的节点对象。
步骤S202,删除待删除数据库节点的节点对象,并向待删除数据库节点所对应的数据库服务器发送删除指令以使数据库服务器删除待删除数据库节点。
接收到用户终端200发送的删除请求后,第一中间服务器100在其元数据表中删除已存储的待删除数据库节点的节点对象。与此同时,第一中间服务器100向待删除数据库节点所对应的数据库服务器发送删除指令,该对应的数据库服务器接收到删除指令后,删除该待删除数据库节点。
步骤S203,将节点对象广播给所述第二中间服务器300以使第二中间服务器300删除待删除数据库节点的节点对象。
第一中间服务器100在其元数据表中删除待删除数据库节点的节点对象后,将该节点对象广播给与之通信连接的所有第二中间服务器300。如此,与第一中间服务器100通信连接的所有第二中间服务器300可在接收到第一中间服务器100广播的待删除数据库节点的节点对象后,删除其元数据表中存储的该待删除数据库节点的节点对象。如此,实现了数据库的水平扩展,可使得各中间服务器中所存储的数据节点保持一致,使得应用对数据库访问透明化,保证数据访问的正确性,降低了应用***开发的负担和成本。
请参阅图5,是本发明较佳实施例提供的数据库的水平扩展装置110的功能模块示意图。所述数据库的水平扩展装置110包括接收模块111、确认模块112、发送模块113、存储模块114、广播模块115和判断模块116。
接收模块111用于接收所述用户终端200的创建请求。
可以理解的,所述接收模块111可以用于执行上述的步骤S101。
确认模块112用于依据所述创建请求确定所述数据库集群400中的待扩展服务器。
可以理解的,所述确认模块112可以用于执行上述的步骤S102。
其中,确认模块112包括查找子模块和选择子模块。
查找子模块用于依据所述元数据表查找所述数据库集群400中当前配置容量满足扩展需求的所有数据库服务器。
选择子模块用于选择其中一个当前配置容量满足扩展需求的数据库服务器作为所述待扩展服务器。
发送模块113用于向所述待扩展服务器发送创建指令以使所述待扩展服务器创建数据库节点。
可以理解的,所述发送模块113可以用于执行上述的步骤S103。
存储模块114用于存储所述数据库节点的节点对象。
可以理解的,所述存储模块114可以用于执行上述的步骤S104。
广播模块115用于将所述节点对象广播给所述第二中间服务器300以使所述第二中间服务器300存储所述节点对象。
可以理解的,所述广播模块115可以用于执行上述的步骤S105。
判断模块116用于判断所所述数据库集群400中所有数据库服务器的可配置数据库节点的数量总和是否低于设定的预设值。
可以理解的,所述判断模块116可以用于执行上述的步骤S106。
所述发送模块113还用于当所述数据库集群400中所有数据库服务器的可配置数据库节点的数量总和低于设定的预设值时,向所述用户终端200发送报警信号低于设定的预设值。
可以理解的,所述发送模块113还可用于执行上述的步骤S107。
请参阅图6,是本发明较佳实施例提供的另一种数据库的水平扩展装置110的功能模块示意图。所述数据库的水平扩展装置110包括接收模块111、删除模块117、发送模块113和广播模块115。
接收模块111用于接收所述用户终端200的删除请求,所述删除请求包括待删除数据库节点的节点对象。
可以理解的,所述接收模块111可以用于执行上述的步骤S201。
删除模块117用于删除所述待删除数据库节点的节点对象。
可以理解的,所述删除模块117可以用于执行上述的步骤S202中删除待删除数据库节点的节点对象这一过程。
发送模块113用于向所述待删除数据库节点所对应的数据库服务器发送删除指令以使所述数据库服务器删除所述待删除数据库节点。
可以理解的,所述发送模块113可以用于执行上述的步骤S202中向待删除数据库节点所对应的数据库服务器发送删除指令这一过程。
广播模块115用于将所述节点对象广播给所述第二中间服务器300以使所述第二中间服务器300删除所述待删除数据库节点的节点对象。
可以理解的,所述广播模块115可以用于执行上述步骤S203。
综上,本发明提供的数据库的水平扩展方法及装置针对多租户应用中一个租户使用一个数据库的场景下,能够随着租户数量的增加和减少完成数据库的水平扩展,使得应用对数据库访问透明化,保证数据访问的正确性,降低了应用***开发的负担和成本。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据库的水平扩展方法,应用于第一中间服务器,所述第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,其特征在于,所述方法包括:
接收所述用户终端的创建请求;
依据所述创建请求确定所述数据库集群中的待扩展服务器;
向所述待扩展服务器发送创建指令以使所述待扩展服务器创建数据库节点;
存储所述数据库节点的节点对象;
将所述节点对象广播给所述第二中间服务器以使所述第二中间服务器存储所述节点对象。
2.根据权利要求1所述的方法,其特征在于,所述第一中间服务器预存储有所述数据库集群对应的元数据表,所述确定所述数据库集群中的待扩展服务器的步骤包括:
依据所述元数据表查找所述数据库集群中当前配置容量满足扩展需求的所有数据库服务器;
选择其中一个当前配置容量满足扩展需求的数据库服务器作为所述待扩展服务器。
3.根据权利要求1所述的方法,其特征在于,所述第一中间服务器预先建立有与所述数据库集群中的数据库节点对应的哈希映射对象,所述存储所述数据库节点的节点对象的步骤包括:
将所述节点对象添加到所述哈希映射对象中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述数据库集群中所有数据库服务器的可配置数据库节点的数量总和低于设定的预设值时,向所述用户终端发送报警信号。
5.一种数据库的水平扩展方法,应用于第一中间服务器,所述第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,其特征在于,所述方法包括:
接收所述用户终端的删除请求,所述删除请求包括待删除数据库节点的节点对象;
删除所述待删除数据库节点的节点对象,并向所述待删除数据库节点所对应的数据库服务器发送删除指令以使所述数据库服务器删除所述待删除数据库节点;
将所述节点对象广播给所述第二中间服务器以使所述第二中间服务器删除所述待删除数据库节点的节点对象。
6.一种数据库的水平扩展装置,应用于第一中间服务器,所述第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,其特征在于,所述数据库的水平扩展装置包括:
接收模块,用于接收所述用户终端的创建请求;
确认模块,用于依据所述创建请求确定所述数据库集群中的待扩展服务器;
发送模块,用于向所述待扩展服务器发送创建指令以使所述待扩展服务器创建数据库节点;
存储模块,用于存储所述数据库节点的节点对象;
广播模块,用于将所述节点对象广播给所述第二中间服务器以使所述第二中间服务器存储所述节点对象。
7.根据权利要求6所述的数据库的水平扩展装置,其特征在于,所述第一中间服务器预存储有所述数据库集群对应的元数据表,所述确认模块包括:
查找子模块,用于依据所述元数据表查找所述数据库集群中当前配置容量满足扩展需求的所有数据库服务器;
选择子模块,用于选择其中一个当前配置容量满足扩展需求的数据库服务器作为所述待扩展服务器。
8.根据权利要求6所述的数据库的水平扩展装置,其特征在于,所述第一中间服务器预先建立有与所述数据库集群中的数据库节点对应的哈希映射对象,所述存储模块用于将所述节点对象添加到所述哈希映射对象中。
9.根据权利要求6所述的数据库的水平扩展装置,其特征在于,还包括:
判断模块,用于判断所所述数据库集群中所有数据库服务器的可配置数据库节点的数量总和是否低于设定的预设值;
所述发送模块还用于当所述数据库集群中所有数据库服务器的可配置数据库节点的数量总和低于设定的预设值时,向所述用户终端发送报警信号低于设定的预设值。
10.一种数据库的水平扩展装置,应用于第一中间服务器,所述第一中间服务器分别与用户终端、第二中间服务器以及数据库集群通信连接,其特征在于,所述数据库的水平扩展装置包括:
接收模块,用于接收所述用户终端的删除请求,所述删除请求包括待删除数据库节点的节点对象;
删除模块,用于删除所述待删除数据库节点的节点对象;
发送模块,用于向所述待删除数据库节点所对应的数据库服务器发送删除指令以使所述数据库服务器删除所述待删除数据库节点;
广播模块,用于将所述节点对象广播给所述第二中间服务器以使所述第二中间服务器删除所述待删除数据库节点的节点对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711262107.3A CN107862090A (zh) | 2017-12-04 | 2017-12-04 | 数据库的水平扩展方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711262107.3A CN107862090A (zh) | 2017-12-04 | 2017-12-04 | 数据库的水平扩展方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107862090A true CN107862090A (zh) | 2018-03-30 |
Family
ID=61704558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711262107.3A Pending CN107862090A (zh) | 2017-12-04 | 2017-12-04 | 数据库的水平扩展方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107862090A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828960A (zh) * | 2018-12-14 | 2019-05-31 | 平安科技(深圳)有限公司 | 日志库扩容方法、***、计算机装置及可读存储介质 |
CN111274028A (zh) * | 2020-01-15 | 2020-06-12 | 北大方正集团有限公司 | 基于数据库中间件的分区方法、分区装置和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957861A (zh) * | 2010-10-18 | 2011-01-26 | 江苏大学 | 新型元数据服务器集群和基于调整表的元数据管理方法 |
CN103026355A (zh) * | 2010-03-18 | 2013-04-03 | 诺宝公司 | 数据库管理*** |
CN103440345A (zh) * | 2013-09-11 | 2013-12-11 | 从兴技术有限公司 | 一种基于关系型数据库的分布式数据库扩展方法及*** |
CN103631924A (zh) * | 2013-12-03 | 2014-03-12 | Tcl集团股份有限公司 | 一种分布式数据库平台的应用方法和*** |
CN104639602A (zh) * | 2013-12-10 | 2015-05-20 | 佳高科技有限公司 | 一种b2c平台的实现方法及*** |
CN106021370A (zh) * | 2016-05-11 | 2016-10-12 | 智者四海(北京)技术有限公司 | 内存数据库实例的管理方法及装置 |
CN107085570A (zh) * | 2016-02-14 | 2017-08-22 | 华为技术有限公司 | 数据处理方法、应用服务器和路由器 |
-
2017
- 2017-12-04 CN CN201711262107.3A patent/CN107862090A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026355A (zh) * | 2010-03-18 | 2013-04-03 | 诺宝公司 | 数据库管理*** |
CN101957861A (zh) * | 2010-10-18 | 2011-01-26 | 江苏大学 | 新型元数据服务器集群和基于调整表的元数据管理方法 |
CN103440345A (zh) * | 2013-09-11 | 2013-12-11 | 从兴技术有限公司 | 一种基于关系型数据库的分布式数据库扩展方法及*** |
CN103631924A (zh) * | 2013-12-03 | 2014-03-12 | Tcl集团股份有限公司 | 一种分布式数据库平台的应用方法和*** |
CN104639602A (zh) * | 2013-12-10 | 2015-05-20 | 佳高科技有限公司 | 一种b2c平台的实现方法及*** |
CN107085570A (zh) * | 2016-02-14 | 2017-08-22 | 华为技术有限公司 | 数据处理方法、应用服务器和路由器 |
CN106021370A (zh) * | 2016-05-11 | 2016-10-12 | 智者四海(北京)技术有限公司 | 内存数据库实例的管理方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828960A (zh) * | 2018-12-14 | 2019-05-31 | 平安科技(深圳)有限公司 | 日志库扩容方法、***、计算机装置及可读存储介质 |
CN109828960B (zh) * | 2018-12-14 | 2024-05-28 | 平安科技(深圳)有限公司 | 日志库扩容方法、***、计算机装置及可读存储介质 |
CN111274028A (zh) * | 2020-01-15 | 2020-06-12 | 北大方正集团有限公司 | 基于数据库中间件的分区方法、分区装置和可读存储介质 |
CN111274028B (zh) * | 2020-01-15 | 2023-09-05 | 新方正控股发展有限责任公司 | 基于数据库中间件的分区方法、分区装置和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105488050B (zh) | 一种数据库多索引方法、装置及*** | |
CN109064031B (zh) | 基于区块链的项目干系人信用评价方法、区块链及存储介质 | |
CN110738577B (zh) | 社区发现方法、装置、计算机设备和存储介质 | |
CN105608117A (zh) | 一种信息推荐方法及装置 | |
US20160277537A1 (en) | Method and device for the management of applications | |
CN107071865A (zh) | 一种无线保真快速连接的方法及装置 | |
CN105530269B (zh) | 数据交互方法和***以及服务器 | |
CN104462285A (zh) | 一种移动服务查询***的隐私保护方法 | |
CN105677328A (zh) | 一种展示信息的方法、装置及电子设备 | |
US20130268481A1 (en) | Communication device and method for displaying name cards to terminal devices | |
CN107862090A (zh) | 数据库的水平扩展方法及装置 | |
CN103813439A (zh) | 终端注册的方法和终端 | |
CN104486448B (zh) | 一种数据处理方法及装置 | |
CN113301203B (zh) | 基于通讯录对历史信息数据进行更新的方法及装置 | |
CN109088949B (zh) | 一种物联网业务的匹配方法以及mme | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
CN107294986B (zh) | 一种访问https网站的方法、装置及*** | |
CN107480240A (zh) | 一种数据库模型及其数据处理方法 | |
TW201515502A (zh) | 用於行動網路裝置之網路營運商的自動偵測 | |
CN106686141A (zh) | 资源下载方法及装置 | |
CN105144073A (zh) | 可移除存储设备身份和配置信息 | |
CN105550347B (zh) | 数据处理方法及装置 | |
CN107729579A (zh) | 数据库分离设计方法及装置 | |
CN107135258A (zh) | 消息推送的方法以及服务器 | |
CN107480210A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180330 |
|
RJ01 | Rejection of invention patent application after publication |