Mpp架构数据库集群序列系统及序列管理方法
【技术领域】
[0001]本发明属于集群数据库领域,尤其是涉及一种MPP架构数据库集群序列系统及序列管理方法。
【背景技术】
[0002]随着信息化技术的快速发展,一个企业的用户数量、数据量均呈现爆炸式增长,在业务量提高的同时,数据库的访问量和数据量快速增长对数据库处理能力和计算强度也相应增大,使得单一节点数据库根本无法承担。在这样一个背景下,大型分布式数据库集群产生了,所谓数据库集群,是指利用两台或多台数据库服务,构成一个虚拟单一数据库逻辑映像,像单数据库那样,向客户端提供透明的数据服务。
[0003]目前,有两种主流的数据库集群架构,带中心节点的集群架构和不带中心节点的MPP架构。带中心节点的集群架构,集群元数据只有一份,由中心节点统一负责管理;不带中心节点的MPP架构,集群元数据有多份,每个集群节点一份,且完全相同,由各个集群节点自身维护。
[0004]在数据库系统中,包括数据库的表(TabI e)、索引(Index)、视图(Vi ew)等数据库对象。序列(Sequence)也是数据库对象的一种,在单机数据库中,该对象用于生成唯一序列,供业务使用,用于唯一识别某条表记录,其特点是该序列生成的序列值是单调递增(或递减)的,在数据库中由同一序列对象的实例生成的序列值唯一。而在数据库集群中,特别是在MPP架构的集群中,由于没有中心节点,所以没有全局中心负责序列的管理工作,如果同样实现像单机一样的序列对象,在技术上存在很大难度。
【发明内容】
[0005]本发明实施例提供了一种MPP架构数据库集群序列系统及序列管理方法,用以实现在MPP架构数据库集群中实现序列管理的目的。
[0006]第一方面,本发明实施例提供了一种MPP架构数据库集群序列系统,所述系统包括:
[0007]节点sequence序列模块,独立设置于所述sequence系统中的任一节点中,用于管理集群数据库中的sequence对象;
[0008]sequence序列管理接收模块,设置于所述sequence系统中的中节点中,用于接收客户端的管理sequence序列请求。
[0009]进一步的,所述节点sequence序列模块用于:
[0010]增加、修改、删除和查询Sequence对象。
[0011]第二方面,本发明实施例提供了一种MPP架构数据库集群管理方法,所述方法包括:
[0012]sequence序列管理接收模块接收客户端的管理序列sequence对象请求;
[0013]sequence序列管理接收模块将所述管理序列sequence对象发送至节点sequence序列t吴块;
[OOM]节点sequence序列模块执行所述sequence对象的管理,并将相应结果返回至客户端。
[0015]进一步的,所述节点sequence序列模块接收客户端的管理序列sequence对象请求,包括:
[0016]sequence序列管理接收模块将所述管理序列sequence对象请求发送至节点sequence序列模块所在的节点;
[0017]所述节点将所述管理序列sequence对象请求发送至点sequence序列模块。
[0018]更进一步的,所述节点sequence序列模块执行所述sequence对象的管理,并将相应结果返回至客户端,包括:
[0019]节点sequence序列模块执行所述sequence对象的管理,并将响应结果发送至所述节点;
[0020]所述节点将响应结果发送至sequence序列管理接收模块所在的节点,并通过sequence序列管理接收模块将响应结果发送至客户端。
[0021]由于采用上述技术方案,可以让MPP架构的数据库集群具有sequence序列功能,包括sequence序列对象管理,使得使用MPP架构数据库集群的sequence功能可以获得和单机数据库相同的体验;此外通过节点sequence序列模块和sequence序列管理接收模块块的配合,可以提供高性能的sequence功能。使得每个集群节点可以像单机数据库一样提供sequence功能,多个集群节点并发提供sequence功能,使得其性能远远大于单机sequence数据库。
【附图说明】
[0022]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本发明第一实施例提供的MPP架构数据库集群序列系统的结构示意图;
[0024]图2是本发明第二实施例提供的MPP架构数据库集群序列sequence管理方法的流程不意图。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]图1是本发明第一实施例提供的MPP架构数据库集群序列系统的结构示意图。参见图1,所述MPP架构数据库集群序列系统,包括:
[0027]节点sequence序列模块,独立设置于所述sequence系统中的任一节点中,用于管理集群数据库中的sequence对象;
[0028]sequence序列管理接收模块,设置于所述sequence系统中的中节点中,用于接收客户端的管理sequence序列请求。
[0029]在本实施例中,所述MPP架构数据库集群序列系统包括三个节点,其中在每个节点都分别布置有一个sequence序列管理接收模块,该模块可以通过软件或硬件方式实现,用于接收客户端的管理sequence序列请求。所述系统还包括节点sequence序列模块,该模块可以部署在数据库集群中任意一个节点中,用于管理全局序列sequence序列对象。所述管理全局sequence序列对象,包括sequence序列对象的新增、修改、删除和查
询功能。所述节点sequence序列模块和sequence序列管理接收模块块相互配合,共同实现管理全局序列sequence序列对象的功能。
[0030]本实施例所提供的技术方案,可以让MPP架构的数据库集群具有sequence序列功能,包括sequence序列对象管理,使得使用MPP架构数据库集群的sequence功能可以获得和单机数据库相同的体验;此外通过节点sequence模块和中心sequence模块的配合,可以提供高性能的sequence功能。使得每个集群节点可以像单机数据库一样提供sequence功能,多个集群节点并发提供sequence功能,使得其性能远远大于单机sequence数据库。
[0031]图2是本发明第二实施例提供的MPP架构数据库集群序列sequence管理方法的流程不意图。
[0032]参见图2,所述MPP架构数据库集群序列sequence管理方法,包括:
[0033]步骤210 ,sequence序列管理接收模块接收客户端的管理序列sequence对象请求。
[0034]用户通过客户端软件向MPP架构数据库集群中任意一个节点发送管理序列sequence对象请求,节点在收到管理序列sequence对象请求后,将所述管理序列sequence对象请求发送至sequence序列管理接收模块。
[0035]步骤220 ,sequence序列管理接收模块将所述管理序列sequence对象发送至节点sequence序列模块。
[0036]sequence序列管理接收模块将所述管理序列sequence对象请求通过网络发送至节点sequence序列模块所在的节点;该节点将所述管理序列sequence对象请求发送至节点sequence序列模块。
[0037]步骤230,节点sequence序列模块执行所述sequence对象的管理,并将相应结果返回至客户端。
[0038]节点sequence序列模块对所述sequence序列对象进行管理,具体可以使对sequence序列对象增加、修改、删除和查询。在完成相应的管理后,并将响应结果发送至所述节点;所述节点将响应结果发送至sequence序列管理接收模块所在的节点,并通过sequence序列管理接收模块将响应结果发送至客户端。
[0039]本实施例所提供的技术方案,通过节点sequence模块和中心sequence模块的配合,可以提供高性能的sequence功能;多个集群节点并发提供sequence功能,使得其性能远远大于单机sequence数据库。
[0040]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0041]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1.一种MPP架构数据库集群序列sequence系统,其特征在于,包括: 节点sequence序列模块,独立设置于所述sequence系统中的任一节点中,用于管理集群数据库中的sequence对象; sequence序列管理接收模块,设置于所述sequence系统中的中节点中,用于接收客户端的管理sequence序列请求。2.根据权利要求1所述的系统,其特征在于,所述节点sequence序列模块用于: 增加、修改、删除和查询Sequence对象。3.一种MPP架构数据库集群序列sequence管理方法,包括: sequence序列管理接收模块接收客户端的管理序列sequence对象请求;sequence序列管理接收模块将所述管理序列sequence对象发送至节点sequence序列模块; 节点sequence序列模块执行所述sequence对象的管理,并将相应结果返回至客户端。4.根据权利要求3所述的方法,其特征在于,所述sequence序列管理接收模块将所述管理序列sequence对象发送至节点sequence序列模块,包括: sequence序列管理接收模块将所述管理序列sequence对象请求发送至节点sequence序列模块所在的节点; 所述节点将所述管理序列sequence对象请求发送至节点sequence序列模块。5.根据权利要求3所述的方法,其特征在于,所述节点sequence序列模块执行所述sequence对象的管理,并将相应结果返回至客户端,包括: 节点sequence序列模块执行所述sequence对象的管理,并将响应结果发送至所述节占.V , 所述节点将响应结果发送至sequence序列管理接收模块所在的节点,并通过sequence序列管理接收模块将响应结果发送至客户端。
【专利摘要】本发明提供了一种MPP架构数据库集群序列系统及序列管理方法,所述系统包括:节点sequence序列模块,独立设置于所述sequence系统中的任一节点中,用于管理集群数据库中的sequence对象;sequence序列管理接收模块,设置于所述sequence系统中的中节点中,用于接收客户端的管理sequence序列请求。由于采用上述技术方案,可以让MPP架构的数据库集群具有sequence序列功能,包括sequence序列对象管理,使得使用MPP架构数据库集群的sequence功能可以获得和单机数据库相同的体验,此外通过节点sequence模块和中心sequence模块的配合,可以提供高性能的sequence功能。
【IPC分类】G06F17/30
【公开号】CN105488215
【申请号】CN201510932953
【发明人】赵伟, 武新, 王洪越, 杨伟伟
【申请人】天津南大通用数据技术股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月12日