内存型缓存系统中键状态变化的处理方法、装置及设备与流程

摘要: 本发明涉及计算机,尤其涉及一种内存型缓存系统中键状态变化的处理方法、装置及设备。背景技术:1、在内存型缓存系统中,同一键的状态变化同时受到阻塞等待、数据复制、后...
内存型缓存系统中键状态变化的处理方法、装置及设备与流程

本发明涉及计算机,尤其涉及一种内存型缓存系统中键状态变化的处理方法、装置及设备。

背景技术:

1、在内存型缓存系统中,同一键的状态变化同时受到阻塞等待、数据复制、后台驱逐以及命名空间管理等多个异步执行机制的共同影响,对键的状态变化出现的共同影响进行处理尤为重要。

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、信息获取模块,用于获取内存型缓存系统的阻塞队列中的至少一个当前键的键状态变化信息;

48、策略确定模块,用于根据键状态变化信息存在的问题属性确定状态处理策略;其中,状态处理策略包括不同的问题属性如语义、时序和范围中至少一种对应的处理机制,不同的问题属性对应不同的处理机制;

49、信息处理模块,用于根据状态处理策略对当前键的键状态变化信息进行状态一致性处理,得到安全处理结果。

50、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一种内存型缓存系统中键状态变化的处理方法。

51、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种内存型缓存系统中键状态变化的处理方法。

52、本发明还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述任一种内存型缓存系统中键状态变化的处理方法。

53、本发明提供的一种内存型缓存系统中键状态变化的处理方法、装置及设备,通过获取内存型缓存系统的阻塞队列中的至少一个当前键的键状态变化信息;根据键状态变化信息存在的问题属性确定状态处理策略;其中,状态处理策略包括不同的问题属性如语义、时序和范围中至少一种对应的处理机制,不同的问题属性对应不同的处理机制;根据状态处理策略对当前键的键状态变化信息进行状态一致性处理,得到安全处理结果。本发明的技术方案,用以解决现有技术中对键的状态变化出现的共同影响主要采用面向单一执行路径的局部处理方式,未能对键状态变化的语义差异、时序约束和作用范围等多种不同的问题属性进行统一处理的缺陷,实现针对内存型缓存系统中当前键的键状态变化信息同时影响阻塞等待、后台驱逐、全量同步及多租户命名空间的场景,基于包括不同的问题属性如语义、时序和范围中至少一种对应的处理机制的状态处理策略对当前键的键状态变化信息进行状态一致性处理,得到安全处理结果,同步解决键状态变化信息的语义分发问题、时序安全问题和作用范围问题,从语义正确性、时序正确性到作用范围完整性的闭环处理机制,使键状态变化信息能够在阻塞等待、后台驱逐、全量同步以及多租户命名空间之间保持一致的状态传播关系。