CN101963978B - 一种分布式数据库的管理方法、装置及系统 - Google Patents
一种分布式数据库的管理方法、装置及系统 Download PDFInfo
- Publication number
- CN101963978B CN101963978B CN2010102907227A CN201010290722A CN101963978B CN 101963978 B CN101963978 B CN 101963978B CN 2010102907227 A CN2010102907227 A CN 2010102907227A CN 201010290722 A CN201010290722 A CN 201010290722A CN 101963978 B CN101963978 B CN 101963978B
- Authority
- CN
- China
- Prior art keywords
- node
- client
- existing
- new
- new node
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明实施例公开了一种分布式数据库的管理方法,包括:当接收到任一新节点的配置信息时,从现有节点队列中选取一现有节点;触发所述新节点和所述选取的现有节点进行主键项的调整;在所述新节点和所述选取的现有节点完成主键项的调整后,将所述新节点加入现有节点队列中,并触发客户端更新其自身存储的节点访问列表。相应地,本发明实施例还公开了一种分布式数据库的管理装置及管理系统。采用本发明,可对分布式数据库进行自动化管理,效率高,性能好,可动态增加节点,扩展容易。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种分布式数据库的管理方法、装置及系统。
背景技术
分布式数据库,指数据分存在计算机网络中的各台计算机上的数据库。位于不同地点的各台计算机又称作“节点”(亦称为“场地”),各节点通过通信网络相互连接,因此,分布式数据库可被看作是用通信网络连接起来的节点的集合。
一个数据库包括一个或多个数据库表,主键(Primary Key)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。在关系型数据库(建立在关系模型基础上的分布式数据库,借助于集合代数等数学概念和方法来处理数据库中的数据)中,在两个数据库表的关系中,主键用来在一个数据库表中引用来自于另一个数据库表中的特定记录。
对于分布式数据库,当数据库表的数据量过大时,一种应对方法即是对数据库表进行水平切分,常用方法是根据数据库表的主键进行切分。现有一种对分布式数据库的管理方案为:由用户或管理者手动地根据数据库表的主键进行数据库的水平切分;在完成水平切分后,原有节点中的某节点被切分为两个或多个新节点,然后需要用户或管理者手动将新节点加入到原有节点中,再手动地在客户端刷新节点列表(即轮询队列)。发明人发现,现有的分布式数据库的管理方案的缺陷在于:采用人工进行分布式数据库的管理,效率较低,性能较差,容易出错,且不利于分布式数据库的扩展。
发明内容
本发明实施例所要解决的技术问题在于,提供一种分布式数据库的管理方法、装置及系统,可对分布式数据库进行自动化管理,效率高,性能好,可动态增加节点,扩展容易。
为了解决上述技术问题,本发明实施例提供了一种分布式数据库的管理方法,包括:
当接收到任一新节点的配置信息时,从现有节点队列中选取一现有节点;
触发所述新节点和所述选取的现有节点进行主键项的调整;
在所述新节点和所述选取的现有节点完成主键项的调整后,将所述新节点加入现有节点队列中,并触发客户端更新其自身存储的节点访问列表。
其中,所述当接收到任一新节点的配置信息时,从现有节点队列中选取一现有节点包括:
当接收到任一新节点的配置信息时,比较现有节点队列中的各节点的主键项的自增步长;
从现有节点队列中选取自增步长最小的主键项所对应的节点。
其中,所述触发所述新节点和所述选取的现有节点进行主键项的调整包括:
调用所述新节点的管理接口和所述选取的现有节点的管理接口;
通过所述调用的管理接口,向所述新节点和所述选取的现有节点发送主键项调整信息,触发所述新节点和所述选取的现有节点进行主键项的调整;其中,所述新节点和所述选取的现有节点是按照等差数列的完全平均分割原则进行主键项的调整的。
其中,所述触发客户端更新其自身存储的节点访问列表包括:
调用客户端的管理接口;
通过所述调用的管理接口,向所述客户端发送更新触发信息,触发客户端更新其自身存储的节点访问列表。
其中,所述客户端更新其自身存储的节点访问列表包括:
在所述新节点和所述选取的现有节点完成主键项的调整后,客户端修改自身存储的节点访问列表中的所述选取的现有节点的属性;
客户端将所述新节点加入到自身存储的节点访问列表中。
其中,所述客户端更新其自身存储的节点访问列表包括:
客户端将所述选取的现有节点从自身存储的节点访问列表中移除;
在所述新节点和所述选取的现有节点完成主键项的调整后,客户端将调整后的所述新节点和所述选取的现有节点加入到自身存储的节点访问列表中。
其中,各节点的主键项包括:当前主键和自增步长;
客户端的节点访问列表为:客户端以轮询方式所访问的节点列表;其中,所述节点访问列表为一轮询队列。
相应地,本发明实施例还提供了一种分布式数据库的管理装置,包括:
接收选取模块,用于当接收到任一新节点的配置信息时,从现有节点队列中选取一现有节点;
节点触发模块,用于触发所述新节点和所述接收选取模块选取的现有节点进行主键项的调整;
新节点加入模块,用于在所述新节点和所述接收选取模块选取的现有节点完成主键项的调整后,将所述新节点加入现有节点队列中;
客户端触发模块,用于在所述新节点加入模块将新节点加入到现有节点队列后,触发客户端更新其自身存储的节点访问列表。
其中,所述接收选取模块包括:
接收单元,用于接收新节点的配置信息;
比较单元,用于当所述接收单元接收到任一新节点的配置信息时,比较现有节点队列中的各节点的主键项的自增步长;
选取单元,用于根据比较单元的比较结果,从现有节点队列中选取自增步长最小的主键项所对应的节点。
其中,所述节点触发模块包括:
接口调用单元,用于调用所述新节点的管理接口和所述接收选取模块选取的现有节点的管理接口;
触发单元,用于通过所述接口调用单元调用的管理接口,向所述新节点和所述选取的现有节点发送主键项调整信息,触发所述新节点和所述选取的现有节点进行主键项的调整;其中,所述新节点和所述选取的现有节点是按照等差数列的完全平均分割原则进行主键项的调整的。
其中,所述客户端触发模块包括:
接口调用单元,用于调用客户端的管理接口;
触发单元,用于通过所述接口调用单元调用的管理接口,向所述客户端发送更新触发信息,触发客户端更新其自身存储的节点访问列表;其中,所述节点访问列表为:客户端以轮询方式所访问的节点列表;其中,所述节点访问列表为一轮询队列。
相应地,本发明实施例还提供了一种分布式数据库的管理系统,包括由至少两个节点组成的现有节点队列,以及至少一个客户端,还包括:上述的分布式数据库的管理装置。
实施本发明实施例,具有如下有益效果:
1、本发明实施例当需要动态增加新节点时,用户只需要在管理装置提供的用户界面上为新节点配置相应信息,当管理装置接收到新节点的配置信息时,即可进行新节点的加入以及更新的管理过程,实现了分布式数据库的扩展,这种对分布式数据库的自动化管理,效率高,性能好。
2、本发明实施例由管理装置触发节点进行自行进行主键项的调整,并触发客户端自行进行节点访问列表的动态更新,对节点及客户端进行自动化的协调管理,有效地提高了分布式数据库的管理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的分布式数据库的管理系统的实施例的结构示意图;
图2为本发明的分布式数据库的管理装置的实施例结构示意图;
图3为本发明的接收选取模块的实施例的结构示意图;
图4为本发明的节点触发模块的实施例的结构示意图;
图5为本发明的客户端触发模块的实施例的结构示意图;
图6为本发明的分布式数据库的管理装置对分布式数据库的管理的实施例的第一效果图;
图7为本发明的分布式数据库的管理装置对分布式数据库的管理的实施例的第二效果图;
图8为本发明的分布式数据库的管理装置对分布式数据库的管理的实施例的第三效果图;
图9为本发明的分布式数据库的管理方法的第一实施例的流程图;
图10为本发明的分布式数据库的管理方法的第二实施例的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,为本发明的分布式数据库的管理系统的实施例的结构示意图;所述管理系统包括:由至少两个节点(图中表示为节点A、节点B,一直到节点N)组成的现有节点队列,以及至少一个客户端(图中表示为客户端1、客户端2,一直到客户端N)。如图1所示,所述管理系统还包括:分布式数据库的管理装置。
具体实现中,所述节点,其可以为数据库服务器,可配置多个具有惟一名称的主键项,其中,所述主键项包括当前主键和自增步长两个参数。所述节点提供业务接口,客户端可通过业务接口获取节点的当前主键和自增步长,也可通过主键项名称获取下一主键。另外,所述节点提供管理接口,所述管理装置可通过调用管理接口,对所述节点进行相应管理。
所述客户端,其可以为应用服务器,以轮询方式进行节点的访问,具体地,所述客户端自身存储了节点访问列表,其为一轮询队列。所述客户端在访问节点之前,首先进行心跳检测,以确定节点的服务是否正常。这种访问方式利于实现负载均衡,并且有利于进行故障的检测和切换。另外,所述客户端还提供管理接口,所述管理装置可通过调用该管理接口,对客户端进行相应管理。
所述管理装置,其可以为管理服务器,存储了所有节点的配置信息,以及存储了所有客户端的配置信息,其中,所述节点的配置信息包括节点的IP(Internet Protocol,网际之间互联的协议)、节点的物理地址等信息,通过查询或使用该配置信息,可以直接访问到该节点;同理,通过查询或使用所述客户端的配置信息可直接访问到该客户端。所述管理装置还提供了对节点的配置信息和客户端的配置信息进行查询和管理的用户界面。可以理解的是,所述管理装置应当包括存储装置,其用于存储所有节点的配置信息和所有客户端的配置信息,当然,其还用于管理装置其他基本信息的存储,在此不赘述。
为了更清楚的说明本发明,下面将对本发明的上述分布式数据库的管理系统中的管理装置进行详细介绍。
请参见图2,为本发明的分布式数据库的管理装置的实施例结构示意图;所述管理装置包括:
接收选取模块10,用于当接收到任一新节点的配置信息时,从现有节点队列中选取一现有节点;
具体实现中,如上述,所述管理装置提供用户界面,当需要加入新节点时,用户或管理员可首先进行新节点的硬件连接,将其加入到分布式数据库的管理系统中,并与所述管理装置相连接;之后,用户或管理员可通过所述管理装置提供的用户界面对该新节点进行配置,所述接收选取模块10,用于接收用户或管理员在用户界面上所输入的新节点的配置信息,当接收到任一新节点的配置信息时,所述接收选取模块10即从现有节点队列中选取一现有节点。可以理解的是,当需要加入多个新节点时,用户或管理员可分别对各新节点进行配置,也可一次性对多个新节点进行配置,然后交由管理装置对新节点进行后续的加入处理,此种情况可进行类似分析,在此不赘述。
节点触发模块20,用于触发所述新节点和所述接收选取模块10选取的现有节点进行主键项的调整;
具体实现中,所述新节点和所述选取的现有节点按照等差数列的完全平均分割原则进行主键项的调整。具体地,对于首项为a,公关为m的等差数列,a+n*m(n=0或者n∈N),若将其组成的数字集合均分成K个子等差数列,则可采取如下方法:取原数列的前K项(a,a+m,a+2m,a+3m,......,a+(K-1)m)作为这K个子数列的首项,将K*m作为公差,则分割后的K个子数列为:
a+n*K*m(n=0或者n∈N);
a+m+n*K*m(n=0或者n∈N);
a+2*m+n*K*m(n=0或者n∈N);
a+3*m+n*K*m(n=0或者n∈N);
……
a+(K-1)*m+n*K*m(n=0或者n∈N);
这样分割出来的子数列两两交集为空,且所有子数列的并集与原数列全等,这种分割方式即为等差数列的完全平均分割。所述节点触发模块20即触发所述新节点与所述选取的现有节点按照上述的完全平均分割原则进行主键项的调整。
新节点加入模块30,用于在所述新节点和所述接收选取模块10选取的现有节点完成主键项的调整后,将所述新节点加入现有节点队列中;
具体实现中,在所述新节点和所述接收选取模块10选取的现有节点完成主键项的调整后,所述新节点即被所述新节点加入模块30加入到了现有节点队列中。
客户端触发模块40,用于在所述新节点加入模块30将新节点加入到现有节点队列后,触发客户端更新其自身存储的节点访问列表。
具体实现中,如前述,由于节点队列中加入了新的节点,并且被选取的原节点的属性也发生了相应地变化,因此,所述客户端触发模块40,即触发客户端更新其自身存储的节点访问列表。具体地,所述客户端可采用如下两种方式进行自身存储的节点访问列表的更新,其一为:在所述新节点和所述选取的现有节点完成主键项的调整后,客户端修改自身存储的节点访问列表中的所述选取的现有节点的属性,并将所述新节点加入到自身存储的节点访问列表中。其二为:客户端将所述选取的现有节点从自身存储的节点访问列表中移除;在所述新节点和所述选取的现有节点完成主键项的调整后,将调整后的所述新节点和所述选取的现有节点加入到自身存储的节点访问列表中。
本发明实施例当需要动态增加新节点时,用户只需要在管理装置提供的用户界面上为新节点配置相应信息,当管理装置接收到新节点的配置信息时,即可进行新节点的加入以及更新的管理过程,实现了分布式数据库的扩展,这种对分布式数据库的自动化管理,效率高,性能好。
为了更清楚的说明本发明,下面将对本发明的分布式数据库的管理装置中的各模块进行详细介绍。
请参见图3,为本发明的接收选取模块的实施例的结构示意图;所述接收选取模块10包括:
接收单元101,用于接收新节点的配置信息;
具体实现中,如前述,所述管理装置提供用户界面,当需要加入新节点时,用户或管理员可首先进行新节点的硬件连接,将其加入到分布式数据库的管理系统中,并与所述管理装置相连接;之后,用户或管理员可通过所述管理装置提供的用户界面对该新节点进行配置,所述接收单元101,即用于接收用户或管理员在用户界面上所输入的新节点的配置信息。可以理解的是,当需要加入多个新节点时,用户或管理员可分别对各新节点进行配置,也可一次性对多个新节点进行配置,由管理装置的接收单元101进行接收,并交由管理装置的后续单元对新节点进行后续的加入处理,此种情况可进行类似分析,在此不赘述。
比较单元102,用于当所述接收单元101接收到任一新节点的配置信息时,比较现有节点队列中的各节点的主键项的自增步长;
具体实现中,管理装置可预先保存各节点的主键项,也可通过调用各节点的业务接口,获取各节点的主键项,当管理装置获取到各节点的主键项后,交由所述比较单元102对各节点的主键项的自增步长进行比较,确定自增步长最小的主键项所对应的节点。
选取单元103,用于根据比较单元102的比较结果,从现有节点队列中选取自增步长最小的主键项所对应的节点。
具体实现中,所述选取单元103,用于根据所述比较单元102的比较结果,从现有节点队列中选取自增步长最小的主键项所对应的节点。可以理解的是,本发明实施例的所述选取单元103,也可直接在所述接收单元101接收到任一新节点的配置信息时,从现有节点队列中选取任一现有节点;本发明的优选实施例采用选取自增步长最小的主键项所对应的节点,可更好的实现系统的负载均衡。
本发明实施例实现了分布式数据库的自动化管理,效率高,性能好。
请参见图4,为本发明的节点触发模块的实施例的结构示意图;所述节点触发模块20包括:
接口调用单元201,用于调用所述新节点的管理接口和所述接收选取模块10选取的现有节点的管理接口;
具体实现中,如前述,由于各节点均提供了管理接口,所述接口调用单元201可直接调用各节点的管理接口,具体地,调用所述新节点的管理接口和所述选取的现有节点的管理接口,交由后续触发单元202进行主键项的调整的触发。
触发单元202,用于通过所述接口调用单元201调用的管理接口,向所述新节点和所述选取的现有节点发送主键项调整信息,触发所述新节点和所述选取的现有节点进行主键项的调整。
具体实现中,所述触发单元202可通过所述接口调用单元201所调用的管理接口,分别向新节点和所述选取的现有节点发送主键项调整信息,该信息可触发所述新节点和所述选取的现有节点进行主键项的调整。如前述,所述新节点和所述选取的现有节点是按照等差数列的完全平均分割原则进行主键项的调整的,具体地该完全平均分割原则在此不赘述。
本发明实施例实现了分布式数据库的自动化管理,效率高,性能好。
在所述节点触发模块20触发所述新节点和选取的现有节点进行主键项的调整后,并在所述新节点和所述选取的现有节点完成主键项的调整后,所述新节点则被所述新节点加入模块30加入到了现有节点队列中了。
请参见图5,为本发明的客户端触发模块的实施例的结构示意图;所述客户端触发模块40包括:
接口调用单元401,用于调用客户端的管理接口;
具体实现中,如前述,由于各客户端均提供了管理接口,所述接口调用单元401可直接调用各客户端的管理接口。
触发单元402,用于通过所述接口调用单元401调用的管理接口,向所述客户端发送更新触发信息,触发客户端更新其自身存储的节点访问列表;
具体实现中,如前述,所述节点访问列表为:客户端以轮询方式所访问的节点列表;所述节点访问列表为一轮询队列。具体地,所述客户端可采用如下两种方式进行自身存储的节点访问列表的更新,其一为:在所述新节点和所述选取的现有节点完成主键项的调整后,客户端修改自身存储的节点访问列表中的所述选取的现有节点的属性,并将所述新节点加入到自身存储的节点访问列表中。其二为:客户端将所述选取的现有节点从自身存储的节点访问列表中移除;在所述新节点和所述选取的现有节点完成主键项的调整后,将调整后的所述新节点和所述选取的现有节点加入到自身存储的节点访问列表中。
本发明实施例实现了分布式数据库的自动化管理,效率高,性能好。
下面以一个具体实例来说明本发明的分布式数据库的管理装置对分布式数据库的节点扩展的具体处理过程。
具体可参见图6,为本发明的分布式数据库的管理装置对分布式数据库的管理的实施例的第一效果图;
设定现有节点队列中的各主键所组成的主键序列为一自然数列,则首项为1,公差为1。图6示出了节点扩展前的初始状态,该初始状态下有两个节点A和节点B组成现有节点队列,节点A的当前主键为1,节点B的当前主键为2;设定两个节点的自增步长均为2。
请参见图7,为本发明的分布式数据库的管理装置对分布式数据库的管理的实施例的第二效果图;
若要增加一个新节点C,用户可在管理装置提供的用户界面上为该新节点进行配置,所述管理装置的接收选取模块10接收到用户在用户界面上所配置的新节点C的配置信息时,则从现有节点队列中选取自增步长最小的节点,本实施例中,现有节点队列的两个节点A和节点B的自增步长均为2,则可任意选取其中一个节点,设定选取节点A;节点A的主键项中,当前主键为1,自增步长为2。所述管理装置的节点触发模块20触发新节点C和选取的节点A进行主键项的调整。所述新节点C和选取的节点A按照等差数列的完全平均分割原则进行调整后,节点A的当前主键调整为1,自增步长调整为2*2=4;节点C的当前主键调整为1+2=3,自增步长调整为2*2=4。
在所述新节点C和所述选取的节点A完成上述主键项的调整后,所述管理装置的新节点加入模块30将所述新节点C加入到现有节点队列中,具体如图7所示,所述新节点C加入现有节点队列中后,现有节点队列由调整后的节点A、节点B和加入的节点C构成。
最后,所述管理装置的客户端触发模块40触发客户端进行自身存储的节点访问列表的更新,所述客户端进行节点访问列表的更新后,即可以轮询方式访问调整后的节点A、节点B和新加入的节点C。
请参见图8,为本发明的分布式数据库的管理装置对分布式数据库的管理的实施例的第三效果图;
若还要增加一个新节点D,所述管理装置的接收选取模块10接收到用户在用户界面上配置的新节点D的配置信息时,则从现有节点队列中选取自增步长最小的节点,现有节点队列的三个节点A、节点B和节点C中,节点B的自增步长最小,为2,则可选取节点B,节点B的主键项中,当前主键为2,自增步长为2。所述管理装置的节点触发模块20触发新节点D和选取的节点B进行主键项的调整。所述新节点D和选取的节点B按照等差数列的完全平均分割原则进行调整后,节点B的当前主键调整为2,自增步长调整为2*2=4;节点D的当前主键调整为2+2=4,自增步长调整为2*2=4。
在所述新节点D和所述选取的节点B完成上述主键项的调整后,所述管理装置的新节点加入模块30将所述新节点D加入到现有节点队列中,具体如图8所示,所述新节点D加入现有节点队列中后,现有节点队列由节点A、调整后的节点B、节点C和新加入的节点D构成。
最后,所述管理装置的客户端触发模块40触发客户端进行自身存储的节点访问列表的更新,所述客户端进行节点访问列表的更新后,即可以轮询方式访问节点A、调整后的节点B、节点C和新加入的节点D。
可以理解的是,上述仅为举例,其他情况,比如:初始的节点数以及要增加的节点数可能发生变化,或者各节点的主键项所构成的数列可能发生变化等;再如:上述实施例体现了管理装置对增加的新节点进行逐个处理的过程,当然,管理装置还可对要增加的多个新节点进行批量处理等;上述其他情况下可进行类似分析,在此不赘述。
本发明实施例由管理装置触发节点进行自行进行主键项的调整,并触发客户端自行进行节点访问列表的动态更新,对节点及客户端进行自动化的协调管理,有效地提高了分布式数据库的管理效率。
为了更清楚的说明本发明,下面将对由本发明的上述分布式数据库的管理装置所执行的分布式数据库的管理方法进行详细介绍。
请参见图9,为本发明的分布式数据库的管理方法的第一实施例的流程图;所述方法包括:
S101,当接收到任一新节点的配置信息时,从现有节点队列中选取一现有节点;
具体实现中,如前述,所述管理装置提供用户界面,当需要加入新节点时,用户或管理员可首先进行新节点的硬件连接,将其加入到分布式数据库的管理系统中,并与所述管理装置相连接;之后,用户或管理员可通过所述管理装置提供的用户界面对该新节点进行配置,所述S101即当接收到用户或管理员在用户界面上所输入的任一新节点的配置信息时,从现有节点队列中选取一现有节点。可以理解的是,当需要加入多个新节点时,用户或管理员可分别对各新节点进行配置,也可一次性对多个新节点进行配置,然后交由管理装置对新节点进行后续的加入处理,此种情况可进行类似分析,在此不赘述。
S102,触发所述新节点和所述选取的现有节点进行主键项的调整;
具体实现中,所述新节点和所述选取的现有节点按照等差数列的完全平均分割原则进行主键项的调整。具体地,对于首项为a,公关为m的等差数列,a+n*m(n=0或者n∈N),若将其组成的数字集合均分成K个子等差数列,则可采取如下方法:取原数列的前K项(a,a+m,a+2m,a+3m,......,a+(K-1)m)作为这K个子数列的首项,将K*m作为公差,则分割后的K个子数列为:
a+n*K*m(n=0或者n∈N);
a+m+n*K*m(n=0或者n∈N);
a+2*m+n*K*m(n=0或者n∈N);
a+3*m+n*K*m(n=0或者n∈N);
……
a+(K-1)*m+n*K*m(n=0或者n∈N);
这样分割出来的子数列两两交集为空,且所有子数列的并集与原数列全等,这种分割方式即为等差数列的完全平均分割。所述S102即触发所述新节点与所述选取的现有节点按照上述的完全平均分割原则进行主键项的调整。
S103,在所述新节点和所述选取的现有节点完成主键项的调整后,将所述新节点加入现有节点队列中;
具体实现中,在所述新节点和所述选取的现有节点完成主键项的调整后,所述新节点即被所述S103加入到了现有节点队列中。
S104,触发客户端更新其自身存储的节点访问列表。
具体实现中,如前述,由于节点队列中加入了新的节点,并且被选取的原节点的属性也发生了相应地变化,因此,所述S104即触发客户端更新其自身存储的节点访问列表。具体地,所述客户端可采用如下两种方式进行自身存储的节点访问列表的更新,其一为:在所述新节点和所述选取的现有节点完成主键项的调整后,客户端修改自身存储的节点访问列表中的所述选取的现有节点的属性,并将所述新节点加入到自身存储的节点访问列表中。其二为:客户端将所述选取的现有节点从自身存储的节点访问列表中移除;在所述新节点和所述选取的现有节点完成主键项的调整后,将调整后的所述新节点和所述选取的现有节点加入到自身存储的节点访问列表中。
本发明实施例当需要动态增加新节点时,用户只需要在管理装置提供的用户界面上为新节点配置相应信息,当管理装置接收到新节点的配置信息时,即可进行新节点的加入以及更新的管理过程,实现了分布式数据库的扩展,这种对分布式数据库的自动化管理,效率高,性能好。
请参见图10,为本发明的分布式数据库的管理方法的第二实施例的流程图;所述方法包括:
S201,当接收到任一新节点的配置信息时,比较现有节点队列中的各节点的主键项的自增步长;
具体实现中,如前述,所述管理装置提供用户界面,当需要加入新节点时,用户或管理员可首先进行新节点的硬件连接,将其与管理装置相连接;之后,用户或管理员可通过所述管理装置提供的用户界面对该新节点进行配置,所述管理装置接收用户或管理员在用户界面上所输入的新节点的配置信息。可以理解的是,当需要加入多个新节点时,用户或管理员可分别对各新节点进行配置,也可一次性对多个新节点进行配置,此种情况可进行类似分析,在此不赘述。具体地,管理装置可预先保存各节点的主键项,也可通过调用各节点的业务接口,获取各节点的主键项,当管理装置获取到各节点的主键项后,执行所述S201对各节点的主键项的自增步长进行比较,确定自增步长最小的主键项所对应的节点。
S202,从现有节点队列中选取自增步长最小的主键项所对应的节点。
具体实现中,所述S202根据所述S201的比较结果,从现有节点队列中选取自增步长最小的主键项所对应的节点。可以理解的是,本发明实施例的所述S202,也可直接在所述S201接收到任一新节点的配置信息时,从现有节点队列中选取任一现有节点;本发明的优选实施例采用选取自增步长最小的主键项所对应的节点,可更好的实现系统的负载均衡。
本实施例中,所述S201-S202是上一实施例中的S101的具体细化步骤。
S203,调用所述新节点的管理接口和所述选取的现有节点的管理接口;
具体实现中,如前述,由于各节点均提供了管理接口,所述S203可直接调用各节点的管理接口,具体地,调用所述新节点的管理接口和所述选取的现有节点的管理接口,交由后续流程进行主键项的调整的触发。
S204,通过所述调用的管理接口,向所述新节点和所述选取的现有节点发送主键项调整信息,触发所述新节点和所述选取的现有节点进行主键项的调整;
具体实现中,所述S204可通过所述S203所调用的管理接口,分别向新节点和所述选取的现有节点发送主键项调整信息,该信息可触发所述新节点和所述选取的现有节点进行主键项的调整。如前述,所述新节点和所述选取的现有节点是按照等差数列的完全平均分割原则进行主键项的调整的,具体地该完全平均分割原则在此不赘述。
本实施例中,所述S203-S204是上一实施例的S102的具体细化步骤。
S205,在所述新节点和所述选取的现有节点完成主键项的调整后,将所述新节点加入现有节点队列中;
本实施例中,所述S205与上一实施例中的S103步骤相同,在此不赘述。
S206,调用客户端的管理接口;
具体实现中,如前述,由于各客户端均提供了管理接口,所述S206可直接调用各客户端的管理接口。
S207,通过所述调用的管理接口,向所述客户端发送更新触发信息,触发客户端更新其自身存储的节点访问列表。
具体实现中,如前述,所述节点访问列表为:客户端以轮询方式所访问的节点列表;所述节点访问列表为一轮询队列。具体地,所述客户端可采用如下两种方式进行自身存储的节点访问列表的更新,其一为:在所述新节点和所述选取的现有节点完成主键项的调整后,客户端修改自身存储的节点访问列表中的所述选取的现有节点的属性,并将所述新节点加入到自身存储的节点访问列表中。其二为:客户端将所述选取的现有节点从自身存储的节点访问列表中移除;在所述新节点和所述选取的现有节点完成主键项的调整后,将调整后的所述新节点和所述选取的现有节点加入到自身存储的节点访问列表中。
本实施例中的S206-S207是上一实施例中的S104的具体细化步骤。
可以理解的是,本发明实施例的分布式数据库的管理装置对分布式数据库的具体管理过程可参见图6-图8所示,在此不赘述。
本发明实施例由管理装置触发节点进行自行进行主键项的调整,并触发客户端自行进行节点访问列表的动态更新,对节点及客户端进行自动化的协调管理,有效地提高了分布式数据库的管理效率。
通过上述实施例的描述,本发明实施例当需要动态增加新节点时,用户只需要在管理装置提供的用户界面上为新节点配置相应信息,当管理装置接收到新节点的配置信息时,即可进行新节点的加入以及更新的管理过程,实现了分布式数据库的扩展,这种对分布式数据库的自动化管理,效率高,性能好;本发明实施例由管理装置触发节点进行自行进行主键项的调整,并触发客户端自行进行节点访问列表的动态更新,对节点及客户端进行自动化的协调管理,有效地提高了分布式数据库的管理效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种分布式数据库的管理方法,其特征在于,包括:
当接收到任一新节点的配置信息时,比较现有节点队列中的各节点的主键项的自增步长,从现有节点队列中选取自增步长最小的主键项所对应的节点;
触发所述新节点和所述选取的现有节点进行主键项的调整,其中,所述新节点和所述选取的现有节点是按照等差数列的完全平均分割原则进行主键项的调整的;
在所述新节点和所述选取的现有节点完成主键项的调整后,将所述新节点加入现有节点队列中,并触发客户端更新其自身存储的节点访问列表。
2.如权利要求1所述的方法,其特征在于,所述触发所述新节点和所述选取的现有节点进行主键项的调整包括:
调用所述新节点的管理接口和所述选取的现有节点的管理接口;
通过所述调用的管理接口,向所述新节点和所述选取的现有节点发送主键项调整信息,触发所述新节点和所述选取的现有节点进行主键项的调整。
3.如权利要求2所述的方法,其特征在于,所述触发客户端更新其自身存储的节点访问列表包括:
调用客户端的管理接口;
通过所述调用的管理接口,向所述客户端发送更新触发信息,触发客户端更新其自身存储的节点访问列表。
4.如权利要求3所述的方法,其特征在于,所述客户端更新其自身存储的节点访问列表包括:
在所述新节点和所述选取的现有节点完成主键项的调整后,客户端修改自身存储的节点访问列表中的所述选取的现有节点的属性;
客户端将所述新节点加入到自身存储的节点访问列表中。
5.如权利要求3所述的方法,其特征在于,所述客户端更新其自身存储的 节点访问列表包括:
客户端将所述选取的现有节点从自身存储的节点访问列表中移除;
在所述新节点和所述选取的现有节点完成主键项的调整后,客户端将调整后的所述新节点和所述选取的现有节点加入到自身存储的节点访问列表中。
6.如权利要求1-5任一项所述的方法,其特征在于:
各节点的主键项包括:当前主键和自增步长;
客户端的节点访问列表为:客户端以轮询方式所访问的节点列表;其中,所述节点访问列表为一轮询队列。
7.一种分布式数据库的管理装置,其特征在于,包括:
接收选取模块,用于当接收到任一新节点的配置信息时,从现有节点队列中选取一现有节点,所述接收选取模块进一步包括:接收单元,用于接收新节点的配置信息;比较单元,用于当所述接收单元接收到任一新节点的配置信息时,比较现有节点队列中的各节点的主键项的自增步长;选取单元,用于根据比较单元的比较结果,从现有节点队列中选取自增步长最小的主键项所对应的节点;
节点触发模块,用于触发所述新节点和所述接收选取模块选取的现有节点进行主键项的调整,其中,所述新节点和所述选取的现有节点是按照等差数列的完全平均分割原则进行主键项的调整的;
新节点加入模块,用于在所述新节点和所述接收选取模块选取的现有节点完成主键项的调整后,将所述新节点加入现有节点队列中;
客户端触发模块,用于在所述新节点加入模块将新节点加入到现有节点队列后,触发客户端更新其自身存储的节点访问列表。
8.如权利要求7所述的管理装置,其特征在于,所述节点触发模块包括:
接口调用单元,用于调用所述新节点的管理接口和所述接收选取模块选取的现有节点的管理接口;
触发单元,用于通过所述接口调用单元调用的管理接口,向所述新节点和所述选取的现有节点发送主键项调整信息,触发所述新节点和所述选取的现有 节点进行主键项的调整。
9.如权利要求8所述的管理装置,其特征在于,所述客户端触发模块包括:
接口调用单元,用于调用客户端的管理接口;
触发单元,用于通过所述接口调用单元调用的管理接口,向所述客户端发送更新触发信息,触发客户端更新其自身存储的节点访问列表;
其中,所述节点访问列表为:客户端以轮询方式所访问的节点列表;
其中,所述节点访问列表为一轮询队列。
10.一种分布式数据库的管理系统,包括由至少两个节点组成的现有节点队列,以及至少一个客户端,其特征在于,还包括:如权利要求8-9任一项所述的分布式数据库的管理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102907227A CN101963978B (zh) | 2010-09-21 | 2010-09-21 | 一种分布式数据库的管理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102907227A CN101963978B (zh) | 2010-09-21 | 2010-09-21 | 一种分布式数据库的管理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101963978A CN101963978A (zh) | 2011-02-02 |
CN101963978B true CN101963978B (zh) | 2012-07-04 |
Family
ID=43516851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102907227A Expired - Fee Related CN101963978B (zh) | 2010-09-21 | 2010-09-21 | 一种分布式数据库的管理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101963978B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402586A (zh) * | 2011-10-24 | 2012-04-04 | 深圳华强电子交易网络有限公司 | 一种分布式数据存储方法 |
CN102681781B (zh) * | 2012-04-27 | 2014-08-13 | 华为技术有限公司 | 一种集群重组的方法及装置 |
US8959119B2 (en) * | 2012-08-27 | 2015-02-17 | International Business Machines Corporation | Context-based graph-relational intersect derived database |
CN106878334A (zh) * | 2015-05-13 | 2017-06-20 | 西安三星电子研究有限公司 | 云的自动化部署系统和方法 |
CN107707402B (zh) * | 2017-09-30 | 2021-02-26 | 南京卓盛云信息科技有限公司 | 一种分布式系统中服务仲裁的管理系统及其管理方法 |
CN109743388A (zh) * | 2018-12-29 | 2019-05-10 | 税友软件集团股份有限公司 | 一种分布式数据集的子节点管理方法及相关方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0913967A3 (en) * | 1997-10-31 | 2000-06-14 | Sun Microsystems, Inc. | System and method for providing database acces control in a secure distributed network |
CN1691619A (zh) * | 2004-04-27 | 2005-11-02 | 国家数字交换系统工程技术研究中心 | 自组织网络的实现方法 |
CN1821999A (zh) * | 2000-12-19 | 2006-08-23 | 株式会社日立制作所 | 目标集成管理系统 |
CN201274500Y (zh) * | 2008-09-16 | 2009-07-15 | 王鹏 | 基于mpi的并行文件传输服务器群系统 |
-
2010
- 2010-09-21 CN CN2010102907227A patent/CN101963978B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0913967A3 (en) * | 1997-10-31 | 2000-06-14 | Sun Microsystems, Inc. | System and method for providing database acces control in a secure distributed network |
CN1821999A (zh) * | 2000-12-19 | 2006-08-23 | 株式会社日立制作所 | 目标集成管理系统 |
CN1691619A (zh) * | 2004-04-27 | 2005-11-02 | 国家数字交换系统工程技术研究中心 | 自组织网络的实现方法 |
CN201274500Y (zh) * | 2008-09-16 | 2009-07-15 | 王鹏 | 基于mpi的并行文件传输服务器群系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101963978A (zh) | 2011-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101963978B (zh) | 一种分布式数据库的管理方法、装置及系统 | |
US20160012118A1 (en) | System and methods for mapping and searching objects in multidimensional space | |
CN107169083A (zh) | 公安卡口海量车辆数据存储与检索方法及装置、电子设备 | |
JP6928677B2 (ja) | オンライン分析処理を行うためのデータ処理方法及び装置 | |
US11361027B2 (en) | Historical state management in databases | |
CN102779185A (zh) | 一种高可用分布式全文索引方法 | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN107888666A (zh) | 一种跨地域数据存储系统以及数据同步方法和装置 | |
CN110727738B (zh) | 基于数据分片的全局路由系统、电子设备及存储介质 | |
CN109857760A (zh) | 快速响应检索方法及装置、计算机装置及存储介质 | |
CN102202087A (zh) | 一种标识存储设备的方法及系统 | |
CN105528454A (zh) | 日志处理方法及分布式集群的计算设备 | |
JP6975153B2 (ja) | データ格納サービス処理方法及び装置 | |
US11461053B2 (en) | Data storage system with separate interfaces for bulk data ingestion and data access | |
CN105630419A (zh) | 一种资源池的分区视图发送方法及管理节点 | |
CN105159925A (zh) | 一种数据库集群数据分配方法及系统 | |
CN106506647A (zh) | 一种客户端具有数据备份装置的智慧社区云存储系统 | |
CN108153759A (zh) | 一种分布式数据库的数据传输方法、中间层服务器及系统 | |
CN103905512A (zh) | 一种数据处理方法和设备 | |
CN102170476B (zh) | 一种基于云节点自主学习的云计算方法和装置 | |
CN104536785A (zh) | 实时系统更新方法及装置 | |
CN104536784B (zh) | 实时系统更新方法及装置 | |
CN113127550B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN111881174A (zh) | 一种提供分布式nlp能力服务的装置及方法 | |
CN103856359A (zh) | 获取信息的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20130921 |