存储业务数据的方法、装置及数据库节点的制作方法_3

文档序号:9375803阅读:来源:国知局
并向数据库节点121发送已扩容的数据库节点的数量,以使数据库节点121根据数据库集群在扩容之前的数据库节点的数量和需要扩容的数据库节点的数量确定当前数据库集群中的数据库节点的总数量。
[0116]在步骤S205中,根据需要扩容的数据库节点的数量、数据库节点的第一编号与需要存储的业务数据的第二编号确定是否需要存储业务数据。
[0117]步骤S205的描述可以参见上述步骤S102的描述,在此不再详述。
[0118]在步骤S206中,如果检测到不需要对数据库集群进行扩容,根据数据库节点的第一编号与需要存储的业务数据的第二编号确定是否需要存储业务数据。
[0119]步骤S206的描述可以参见上述步骤S104的描述,在此不再详述。
[0120]本实施例在具有上述实施例的有益技术效果的基础上,通过数据库节点的当前已存储的业务数据的存储空间是否大于第一预设阈值来确定是否需要对数据库节点所在的数据库集群进行扩容,从而可以根据数据库节点的性能瓶颈来对数据库集群进行扩容,降低数据库节点的访问压力。
[0121]图3是根据一示例性实施例二示出的存储业务数据的方法的流程图;本实施例利用本公开实施例提供的上述方法,以数据库节点当前已存储的业务数据的存储空间与总存储空间的比值大于第二预设阈值来确定为数据库集群进行扩容以及如何确定需要存储的业务数据为例进行示例性说明,本实施例结合图1B至图1E进行举例说明,如图3所示,包括如下步骤:
[0122]在步骤S301中,确定数据库节点当前已存储的业务数据的存储空间与数据库节点的总存储空间,如果当前已存储的业务数据的存储空间与总存储空间的比值大于第二预设阈值,执行步骤S302,如果当前已存储的业务数据的存储空间与总存储空间的比值小于或者等于第二预设阈值,执行步骤S307。
[0123]在步骤S302中,如果当前已存储的业务数据的存储空间与总存储空间的比值大于第二预设阈值,确定需要对数据库节点所在的数据库集群进行扩容。
[0124]在步骤S301和步骤S302中,在一实施例中,数据库节点可以通过其记录的已经存储的业务数据所占的存储空间与总存储空间的比值是否大于第二预设阈值,如果比值大于第二预设阈值,表示当前数据库节点由于存储性能不能够存储更多的业务数据,在此情形下,确定需要对数据库节点所在的数据库集群进行扩容。在一实施例中,第二预设阈值可以根据数据库节点的具体存储性能来确定,本公开对第二预设预知的大小不做限制,本领域技术人眼可以理解的是,同一数据库集群内不同的数据库节点对应的第二预设阈值可以不相同,也可以相同,本公开对此不做限制。
[0125]在步骤S303中,确定数据库集群需要扩容的数据库节点的数量。
[0126]在步骤S304中,根据需要扩容的数据库节点的数量确定数据库集群中的扩容后的数据库节点的总数量。
[0127]在步骤S305中,确定需要存储的业务数据的第二编号相对于总数量的余数。
[0128]在步骤S306中,根据余数和第一编号确定是否需要存储业务数据。
[0129]在步骤S304至步骤S306中,如图1B所示,需要扩容的数据库节点的数量为2个,则数据库集群中的数据库节点的总数量为4,数据库节点121对应的第一编号为1,需要存储的业务数据的第二编号为9,则对于数据库节点121,将9除以4得到的余数为1,由于余数I与数据库节点121对应的第一编号(id) I相同,因此将第二编号为9的业务数据存储到数据库节点121,再例如,需要存储的业务数据的第二编号为10,则对于数据库节点121,将10除以4得到的余数为2,由于余数2与数据库节点121对应的第一编号(id) I不相同,因此不能够将第二编号为10的业务数据存储到数据库节点121。本领域技术人员可以理解的是,数据库节点122、数据库节点123、数据库节点124均可以执行与数据库节点121相同的动作,从而确定来自业务层的业务数据是否存储在自身的数据库节点上。
[0130]在步骤S307中,如果检测到不需要对数据库集群进行扩容,根据数据库节点的第一编号与需要存储的业务数据的第二编号确定是否需要存储业务数据。
[0131]步骤S307的描述可以参见上述步骤S104的描述,在此不再详述。
[0132]本实施例在具有上述实施例的有益技术效果的基础上,根据需要扩容的数据库节点的数量确定数据库集群中的扩容后的数据库节点的总数量,确定需要存储的业务数据的第二编号相对于总数量的余数,根据余数和第一编号确定是否需要存储业务数据,从而可以将同一时间段的来自业务层I的业务数据分散存储到数据库集群中的不同的数据库节点上,有效地避免来自业务层11的访问操作都落在了最新的数据库节点上,从而分散了数据库节点的访问压力。
[0133]图4是根据一示例性实施例三示出的存储业务数据的方法的流程图;本实施例利用本公开实施例提供的上述方法,以如何确定扩容后的数据库集群中的数据库节点中的冗余数据为例进行示例性说明,本实施例结合图1B至图1E进行举例说明,如图4所示,包括如下步骤:
[0134]在步骤S401中,确定数据库节点相对应的拷贝的数据库节点的第三编号。
[0135]在步骤S402中,确定已存储的业务数据的第四编号相对于总数量的余数。
[0136]在步骤S403中,将余数与拷贝的数据库节点的第三编号相同的业务数据作为冗余数据。
[0137]在步骤S404中,将冗余数据删除。
[0138]作为一个示例性场景,如图1E所示,以数据库节点121为例进行示例性说明,数据库节点121在数据库集群中的第三编号为1,数据库节点121拷贝的数据库节点为数据库节点123,数据库节点123的第三编号为3,在数据库节点121中已存储的业务数据的第四编号分别为1、3、5、7,数据库集群中的数据库节点的总数量为4,已存储的业务数据的第四编号1、3、5、7相对于4的余数为1、3、1、3,将1、3、1、3分别与数据库节点123的第三编号3相比较,确定第四编号为3、7的余数与123的第三编号3相同,因此将3、7对应的业务数据作为冗余数据。
[0139]本实施例在具有上述实施例的有益技术效果的基础上,由于对数据库节点进行拷贝会导致业务数据重复存储到拷贝的数据库节点上,通过将已存储的业务数据的第四编号相对于总数量的余数与拷贝的数据库节点的第三编号相同的业务数据作为冗余数据删除,从而可以有效分散数据库节点的访问压力,提高数据库集群的访问性能。
[0140]图5是根据一示例性实施例示出的一种存储业务数据的装置的框图,应用在数据库节点上,如图5所示,存储业务数据的装置包括:
[0141]检测模块51,被配置为检测是否需要对数据库节点所在的数据库集群进行扩容;
[0142]第一确定模块52,被配置为如果检测模块51检测到需要对数据库集群进行扩容,确定数据库集群需要扩容的数据库节点的数量;
[0143]第二确定模块53,被配置为根据第一确定模块52确定的需要扩容的数据库节点的数量、数据库节点的第一编号与需要存储的业务数据的第二编号确定是否需要存储业务数据。
[0144]图6是根据一示例性实施例示出的另一种存储业务数据的装置的框图,如图6所示,在上述图5所示实施例的基础上,在一实施例中,检测模块51可包括:
[0145]第一确定子模块511,被配置为确定数据库节点当前已存储的业务数据的存储空间是否大于第一预设阈值;
[0146]第二确定子模块512,被配置为如果第一确定子模块511确定当前已存储的业务数据的存储空间大于第一预设阈值,确定需要对数据库节点所在的数据库集群进行扩容。
[0147]在一实施例中,检测模块51可包括:
[0148]第三确定子模块513,被配置为确定数据库节点当前已存储的业务数据的存储空间与数据库节点的总存储空间;
[0149]第四确定子模块514,被配置为如果第三确定子模块513确定当前已存储的业务数据的存储空间与总存储空间的比值大于第二预设阈值,确定需要对数据库节点所在的数据库集群进行扩容。
[0150]在一实施例中,第一确定模块52可包括:
[0151]发送子模块521,被配置为向数据库集群对应的服务器客户端发送对数据库集群进行扩容的提醒;
[0152]接收子模块522,被配置为接收来自服务器客户端根据发送子模块521发送的提醒返回的数据库集群需要扩容的数据库节点的数量。
[0153]在一实施例中,第二确定模块53可包括:
[0154]第五确定子模块531,被配置为根据需要扩容的数据库节点的数量确定数据库集群中的扩容后的数据库节点的总数量;
[0155]第六确定子模块532,被配置为确定需要存储的业务数据的第二编号相对于第五确定子模块531确定的总数量的余数;
[0156]第七确定子模块533,被配置为根据第六确定子模块532确定的余数和第一编号确定是否需要存储业务数据。
[0157]在一实施例中,装置还可包括:
[0158]第三确定模块54,被配置为在对数据库集群扩容后,确定数据库节点中已存储的冗余数据;
[0159]删除模块55,被配置为将第三确定模块54确定的冗余数据删除。
[0160]在一实施例中,第三确定模块54可包括:
[0161]第八确定子模块541,被配置为确定数据库节点相对应的拷贝的数据库节点的第三编号;
[0162]第九确定子模块542,被配置为确定已存储的业务数据的第四编号相对于总数量的余数;
[0163]第十确定子模块543,被配置为将第九确定子模块542确定的余数与第八确定子模块541确定的拷贝的数据库节点的第三编号相
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1