System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据处理方法技术_技高网

一种数据处理方法技术

技术编号:40464558 阅读:9 留言:0更新日期:2024-02-22 23:18
本申请提供一种数据处理方法,该方法可以由数据存储系统执行,该数据存储系统包括至少一个代理服务节点和至少一个存储子集群的数据存储系统;其中,任一存储子集群内的存储节点的数量少于设定阈值,且各存储子集群相互独立。该方法包括:第一代理服务节点接收客户端发送的第一数据处理请求,并根据第一数据处理请求中的第一数据键值确定第一数据处理请求对应的第一存储子集群;第一代理服务节点将第一数据处理请求发送至第一存储子集群;第一存储子集群确定第一数据键值对应的第一存储节点,并通过第一存储节点处理第一数据处理请求。本方案,采用多个存储子集群完成数据的存储功能,能够实现有效对不同存储子集群中的数据进行处理。

【技术实现步骤摘要】

本申请涉及数据处理,尤其涉及一种数据处理方法


技术介绍

1、随着科技的发展,越来越多的数据需要存储,目前采用一种大集群的方法对存储系统进行扩展,该大集群中存在多个节点。

2、但是,现有的大集群在集群规模较小时具有良好的表现,但节点数较大的情况下,存在广播风暴的问题,主要原因是每一个节点都会与集群内其他的任意节点发生元数据交换行为,数据包数量呈节点数的倍数增长,如在一个1000个节点的集群中,每增加一个节点,就会带来1000个数据包的增量,一般工程上,集群中的节点数量超过1000个时就会存在性能问题。

3、节点故障影响大,大集群中的master节点发生故障时,会导致整个集群重新选举,存在一个选举时间窗口的出现整个集群不可用状态,当节点数量达到一定程度后,集群内每一台机器发生故障都会引起整个集群存在一个不可用的时间窗口,这个时间窗口几秒到十几秒不等,当集群节点数量较大时,集群中有节点发生故障的风险越来越大,影响时长越来越长,在高可用要求极高的金融场景下这几乎是不可接受的。

4、大集群横向扩展节点时,进行数据迁移的粒度太大为slot级,单个slot中包含很多数据,整个迁移过程会持续阻塞源节点响应正常请求,需要迁移的slot中,key越多,key数据越大,阻塞越长时间,容易引起访问抖动。


技术实现思路

1、本申请提供一种数据处理方法,能够有效实现对不同存储子集群中的数据进行处理。

2、第一方面,本申请实施例提供一种数据处理方法,该方法可以由数据存储系统执行,该数据存储系统包括至少一个代理服务节点和至少一个存储子集群的数据存储系统;其中,任一存储子集群内的存储节点的数量少于设定阈值,且各存储子集群相互独立。该方法包括:第一代理服务节点接收客户端发送的第一数据处理请求,并根据第一数据处理请求中的第一数据键值确定第一数据处理请求对应的第一存储子集群;第一代理服务节点为至少一个代理服务节点中的一个;第一存储子集群为至少一个存储子集群中的一个;第一代理服务节点将第一数据处理请求发送至第一存储子集群;第一存储子集群确定第一数据键值对应的第一存储节点,并通过第一存储节点处理第一数据处理请求;第一存储节点为第一存储子集群内的一个存储节点。

3、上述方案,改变传统的存储集群只有一个大集群的情况,采用多个存储子集群完成数据的存储功能。一方面,各存储子集群相互独立,也就是说,存储子集群不会进行元数据交换,元数据交换只会存在与存储子集群内部,因此不会存在广播风暴的问题;且,任一存储子集群的节点发生故障,只会影响对应的存储子集群,而不会影响其它存储子集群,减少了不可用的时间窗口。另一方面,任一存储子集群内的存储节点的数量少于设定阈值,也就是说限制每个存储子集群内的存储节点数量,使得每个存储子集群减少出现广播风暴,以及不可用的时间窗口的可能性。

4、一种可能的实现方法中,在数据存储系统中扩容第二存储子集群时,确定数据存储系统中需进行数据迁移的第三存储子集群,并将第三存储子集群中的待迁移数据迁移至第二存储子集群;第三存储子集群为数据存储系统中已有的存储子集群,且第三存储子集群中的待迁移数据的数据键值指向第二存储子集群;或

5、在数据存储系统中缩容第二存储子集群时,确定数据存储系统中需进行数据迁移的第三存储子集群,并将第二存储子集群中的待迁移数据迁移至第三存储子集群;第三存储子集群为数据存储系统中已有的存储子集群,且第二存储子集群中的待迁移数据的数据键值指向第三存储子集群。

6、上述方案,在进行数据迁移的过程中,迁移的粒度为待迁移数据,迁移粒度较小,因而会减少阻塞时间,减少访问抖动的可能性。

7、一种可能的实现方法中,通知第三存储子集群及第二存储子集群对应的第二代理服务节点数据存储系统处于数据待迁移状态;第二代理服务节点在存储有扩缩容前的数据存储系统对应的第一哈希环及扩缩容后的数据存储系统对应的第二哈希环后,确定自身处于数据可迁移状态;任一哈希环是通过数据存储系统包括的存储子集群的个数确定的;

8、将第三存储子集群中的待迁移数据迁移至第二存储子集群之后,还包括:第二代理服务节点删除第一哈希环。

9、上述方案,根据第一哈希环和第二哈希环,能够准确确定待迁移数据对应的存储子集群,从而能够准确确定是否将待迁移数据迁移至对应的存储子集群。

10、一种可能的实现方法中,第二代理服务节点在处于数据可迁移状态时,接收第二数据处理请求;第二代理服务节点根据第二数据处理请求中的第二数据键值分别在第一哈希环和第二哈希环下对应的存储子集群,确定存储位置变化信息;根据第二数据处理请求对应的第二数据为存量增量数据以及存储位置变化信息,对第二数据处理请求进行处理。

11、上述方案,在处于数据可迁移状态时,根据存储位置变化信息,能够实现对存量数据、增量数据的有效处理。

12、一种可能的实现方法中,在存储位置变化信息指示同一存储子集且第二数据为增量数据,第二代理服务节点通过第一哈希环下对应的存储子集群完成第二数据处理请求;在存储位置变化信息指示同一存储子集且第二数据为存量数据,第二代理服务节点通过第一哈希环下对应的存储子集群完成第二数据处理请求。

13、上述方案,能够实现在存储位置不发生改变时,分别对存量数据、增量数据的有效处理。

14、一种可能的实现方法中,在存储位置变化信息指示不同存储子集且第二数据为增量数据,第二代理服务节点通过第二哈希环下对应的存储子集群完成第二数据处理请求;在存储位置变化信息指示不同存储子集且第二数据为存量数据,第二代理服务节点通过第二哈希环下对应的存储子集群完成第二数据处理请求。

15、上述方案,能够实现在存储位置发生改变时,分别对存量数据、增量数据的有效处理。

16、一种可能的实现方法中,根据第三存储子集群中每个节点的访问状态,确定每个节点对应的迁移计划;根据迁移计划,将第三存储子集群中的待迁移数据迁移至第二存储子集群。

17、上述方案,根据每个节点的访问状态确定迁移计划,能够有效地利用资源,加快迁移进程,减少访问抖动的产生。示例性地,在节点访问量最小的时间段进行数据迁移,也即在该时间段对该节点读写操作较少,因此能够快速进行数据迁移,减少访问抖动的产生。

18、一种可能的实现方法中,若待迁移数据不存在于第二存储子集群,则对待迁移数据添加锁操作,并关闭写操作功能,将待迁移数据从第三存储子集群迁移至第二存储子集群;在待迁移数据迁移至第二存储子集群后,删除第三存储子集群中的待迁移数据。

19、上述方案,若待迁移数据处于迁移过程中,对待迁移数据添加锁操作,并关闭写操作功能,避免了在迁移过程中,对该待迁移数据进行写操作,造成数据的脏读幻读现象。

20、一种可能的实现方法中,获取待迁移数据对应的第一索引;根据第一索引,确定待迁移数据在第二存储子集群中的第二索引;将待迁移数据从第三存储子集群迁移至第二存本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其特征在于,适用于包括至少一个代理服务节点和至少一个存储子集群的数据存储系统;其中,任一存储子集群内的存储节点的数量少于设定阈值,且各存储子集群相互独立;所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述方法还包括:

3.如权利要求2所述的方法,其特征在于,所述确定所述数据存储系统中需进行数据迁移的第三存储子集群之后,还包括:

4.如权利要求3所述的方法,其特征在于,所述方法还包括:

5.如权利要求4所述的方法,其特征在于,所述根据所述第二数据处理请求对应的第二数据为存量增量数据以及所述存储位置变化信息,对所述第二数据处理请求进行处理,包括:

6.如权利要求4所述的方法,其特征在于,所述根据所述第二数据处理请求对应的第二数据为存量增量数据以及所述存储位置变化信息,对所述第二数据处理请求进行处理,包括:

7.如权利要求2所述的方法,其特征在于,所述将所述第三存储子集群中的待迁移数据迁移至所述第二存储子集群,包括:

8.如权利要求7所述的方法,其特征在于,所述将所述第三存储子集群中的待迁移数据迁移至所述第二存储子集群,包括:

9.如权利要求2所述的方法,其特征在于,所述将所述待迁移数据从所述第三存储子集群迁移至所述第二存储子集群,包括:

10.如权利要求1至9中任一项所述的方法,其特征在于,所述将所述待迁移数据从所述第三存储子集群迁移至所述第二存储子集群,包括:

...

【技术特征摘要】

1.一种数据处理方法,其特征在于,适用于包括至少一个代理服务节点和至少一个存储子集群的数据存储系统;其中,任一存储子集群内的存储节点的数量少于设定阈值,且各存储子集群相互独立;所述方法包括:

2.如权利要求1所述的方法,其特征在于,所述方法还包括:

3.如权利要求2所述的方法,其特征在于,所述确定所述数据存储系统中需进行数据迁移的第三存储子集群之后,还包括:

4.如权利要求3所述的方法,其特征在于,所述方法还包括:

5.如权利要求4所述的方法,其特征在于,所述根据所述第二数据处理请求对应的第二数据为存量增量数据以及所述存储位置变化信息,对所述第二数据处理请求进行处理,包括:

6.如权利要求4...

【专利技术属性】
技术研发人员:熊梦飞
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1