本发明涉及存储领域,特别涉及一种服务接管方法、装置、缓存加速系统、设备及介质。
背景技术:
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、可见,本发明中的缓存节点在接收到控制节点发送的第一镜像对变更信息,并根据第一镜像对变更信息确定存在变更的变更镜像对的当前优选缓存节点被调整为自身时,并不会立刻接管读加速服务,而是可启动计时器,并检测计时器的记录时间是否到达预设时长,以及同时检测是否接收到控制节点发送的表示变更镜像对的当前优选缓存节点重新调整为变更镜像对的原优选缓存节点的第二镜像对变更信息;随后,缓存节点仅在确定记录时间到达预设时长且未接收到第二镜像对变更信息时,才确定当前已满足读加速服务接管条件,进而才会对分配至变更镜像对的主机输入输出请求进行读加速处理,以向主机设备提供变更镜像对所对应的读加速服务。即简单来讲,缓存节点仅在确定故障缓存节点不能在短时间之内恢复正常时,才会对故障缓存节点的读加速服务进行接管,从而能够避免故障缓存节点短时间内恢复会对接管缓存节点带来较多无效负担的情况。本发明还提供一种服务接管装置、缓存加速系统、电子设备及计算机可读存储介质,具有上述有益效果。