System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及云计算,具体地涉及缓存系统扩容,更具体地涉及一种缓存系统动态扩容方法、装置、设备、介质和程序产品。
技术介绍
1、金融行业为了提升用户体验,通常把常用的数据放置于缓存系统中,缓存系统相对于文件系统和数据库系统,能快速响应服务请求。缓存系统,以redis cluster为例,目前常用的扩容方案是采用原生的扩容机制。缓存系统通常有如下几种使用场景:缓存参数类数据、缓存会话类数据以及批量写入缓存系统的各种数据,如客户类数据、商品类数据等。在金融行业应用场景下,在批量写入数据的时候有可能出现存储不够,如果采用原生的redis cluster扩容方案,会导致影响联机交易。
2、需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、鉴于上述问题,本公开提供了一种缓存系统动态扩容方法、装置、设备、存储介质和程序产品。
2、根据本公开的第一个方面,提供了一种缓存系统动态扩容方法,所述方法包括:
3、响应于上游应用的数据写入请求,设置监控线程实时获取第一目标集群剩余容量;
4、根据所述第一目标集群剩余容量和所述上游应用的待写入数据量创建部署第二目标集群;
5、在所述第二目标集群部署完成后,将所述第二目标集群的配置信息更新至路由层,其中,所述路由层用于存储集群网际协议地址以及待写入数据的转发;以及
6、启动数据同步线程将所
7、根据本公开的实施例,所述根据所述第一目标集群剩余容量和所述上游应用的待写入数据量创建部署第二目标集群包括:
8、当确定所述第一目标集群剩余容量小于第一预设阈值时,向所述上游应用发送待写入数据量查询请求;
9、根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量确定缓存系统扩容需求信息;以及
10、当确定缓存系统需要扩容时,根据所述缓存系统扩容需求信息创建部署第二目标集群。
11、根据本公开的实施例,所述根据所述第一目标集群剩余容量和所述上游应用的待写入数据量创建部署第二目标集群还包括:
12、当确定所述第一目标集群剩余容量小于第二预设阈值时,向所述上游应用发送待写入数据量查询请求;
13、根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量确定第二目标集群总容量;
14、创建部署第二目标集群并将所述第二目标集群的配置信息更新至路由层;以及
15、启动数据同步线程将所述第一目标集群的存量数据同步至所述第二目标集群。
16、根据本公开的实施例,所述根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量确定缓存系统扩容需求信息包括:
17、计算所述第一目标集群剩余容量和所述上游应用返回的待写入数据量的差值;
18、若所述差值小于等于第三预设阈值,则确定缓存系统需要扩容,其中,所述第三预设阈值与所述第一目标集群总容量相关;
19、根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量计算第二目标集群总容量;以及
20、若所述差值大于第三预设阈值,则确定缓存系统无需扩容。
21、根据本公开的实施例,在启动数据同步线程之后还包括:
22、记录第一目标集群消费消息中间件偏移位置信息;以及
23、在完成数据同步后,第二目标集群根据所述消息中间件偏移位置信息继续消费待写入数据。
24、根据本公开的实施例,在完成数据同步后还包括:
25、基于预设规则对所述第一目标集群的机器资源进行回收。
26、根据本公开的实施例,所述基于预设规则对所述第一目标集群的机器资源进行回收包括:
27、当确认第二目标集群读写状态正常且第二目标集群业务数据交易状态正常后,根据预设回收时间对所述第一目标集群的机器资源进行回收。
28、本公开的第二方面提供了一种缓存系统动态扩容装置,所述装置包括:
29、集群容量监控模块,用于响应于上游应用的数据写入请求,设置监控线程实时获取第一目标集群剩余容量;
30、容量扩容模块,用于根据所述第一目标集群剩余容量和所述上游应用的待写入数据量创建部署第二目标集群;
31、集群配置信息更新模块,用于在所述第二目标集群部署完成后,将所述第二目标集群的配置信息更新至路由层,其中,所述路由层用于存储集群网际协议地址以及待写入数据的转发;以及
32、数据同步模块,用于启动数据同步线程将所述第一目标集群的存量数据同步至所述第二目标集群。
33、根据本公开的实施例,容量扩容模块包括:第一确定子模块、第二确定子模块和目标集群第一部署子模块。
34、第一确定子模块,用于当确定所述第一目标集群剩余容量小于第一预设阈值时,向所述上游应用发送待写入数据量查询请求;
35、第二确定子模块,用于根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量确定缓存系统扩容需求信息;以及
36、目标集群第一部署子模块,用于当确定缓存系统需要扩容时,根据所述缓存系统扩容需求信息创建部署第二目标集群。
37、根据本公开的实施例,容量扩容模块还包括:第三确定子模块、第四确定子模块、目标集群第二部署子模块和数据同步子模块。
38、第三确定子模块,用于当确定所述第一目标集群剩余容量小于第二预设阈值时,向所述上游应用发送待写入数据量查询请求;
39、第四确定子模块,用于根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量确定第二目标集群总容量;
40、目标集群第二部署子模块,用于创建部署第二目标集群并将所述第二目标集群的配置信息更新至路由层;以及
41、数据同步子模块,用于启动数据同步线程将所述第一目标集群的存量数据同步至所述第二目标集群。
42、根据本公开的实施例,所述第二确定子模块包括:第一计算单元、第一确定单元、第二计算单元和第二确定单元。
43、第一计算单元,用于计算所述第一目标集群剩余容量和所述上游应用返回的待写入数据量的差值;
44、第一确定单元,用于若所述差值小于等于第三预设阈值,则确定缓存系统需要扩容,其中,所述第三预设阈值与所述第一目标集群总容量相关;
45、第二计算单元,用于根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量计算第二目标集群总容量;以及
46、第二确定单元,用于若所述差值大于第三预设阈值,则确定缓存系统无需扩容。
47、根据本公开的实施本文档来自技高网...
【技术保护点】
1.一种缓存系统动态扩容方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标集群剩余容量和所述上游应用的待写入数据量创建部署第二目标集群包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标集群剩余容量和所述上游应用的待写入数据量创建部署第二目标集群还包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量确定缓存系统扩容需求信息包括:
5.根据权利要求1至4中任一项所述的方法,其特征在于,在启动数据同步线程之后还包括:
6.根据权利要求5所述的方法,其特征在于,在完成数据同步后还包括:
7.根据权利要求6所述的方法,其特征在于,所述基于预设规则对所述第一目标集群的机器资源进行回收包括:
8.一种缓存系统动态扩容装置,其特征在于,所述装置包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执
...【技术特征摘要】
1.一种缓存系统动态扩容方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标集群剩余容量和所述上游应用的待写入数据量创建部署第二目标集群包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一目标集群剩余容量和所述上游应用的待写入数据量创建部署第二目标集群还包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述上游应用返回的待写入数据量、所述第一目标集群剩余容量和第一目标集群总容量确定缓存系统扩容需求信息包括:
5.根...
【专利技术属性】
技术研发人员:陈壮壮,李元华,钟瑞,郑重,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。