本技术涉及存储,更具体地说,涉及一种事件处理方法、系统、设备及计算机可读存储介质。
背景技术:
1、当前,存储系统在运行时,存储节点会发送事件用于查询或修改集群状态,且存储节点在执行事件时,会分phase0和phase1两个阶段在不同副本执行。在phase0阶段,存储节点预执行事件并记录相应的校验值,待事件在phase0阶段顺利执行后,存储节点进入phase1阶段,执行事件并记录相应的校验码。当phase0阶段和phase1阶段的校验码一致时,根据事件的执行结果对集群状态进行处理。
2、由于在相近时间内存储节点会发起很多事件,为了确保所有存储节点在集群状态上的一致性,这些事件会被分为很多批次执行,被称为事件批,也即存储节点会处理多个事件,相应的需记录多个校验值,使得存储系统的存储空间消耗较大。
3、综上所述,如何节省存储系统的存储空间是目前本领域技术人员亟待解决的问题。
技术实现思路
1、本技术的目的是提供一种事件处理方法,其能在一定程度上解决如何节省存储系统的存储空间的技术问题。本技术还提供了一种事件处理系统、电子设备及计算机可读存储介质。
2、为了实现上述目的,本技术提供如下技术方案:
3、一种事件处理方法,应用于存储系统中的存储节点,包括:
4、获取待执行的目标事件批;
5、在phase0阶段,对所述目标事件批中的目标事件进行处理,得到第一初始校验码,且在所述第一初始校验码的数量大于预设值时,按照目标合并方式对所述第一初始校验码进行异或合并,得到第一目标校验码;
6、在phase1阶段,对所述目标事件批中的目标事件进行处理,得到第二初始校验码,且在所述第二初始校验码的数量大于所述预设值时,按照所述目标合并方式对所述第二初始校验码进行异或合并,得到第二目标校验码;
7、若所述第一目标校验码和所述第二目标校验码一致,则根据所述目标事件批的处理结果对所述存储系统的集群状态进行处理。
8、在一示例性实施例中,所述对所述目标事件批中的目标事件进行处理,得到第一初始校验码,且在所述第一初始校验码的数量大于预设值时,按照目标合并方式对所述第一初始校验码进行异或合并,得到第一目标校验码,包括:
9、确定所述目标事件批对应的所述第一初始校验码的总数量值;
10、判断所述总数量值是否大于所述预设值;
11、若所述总数量值大于所述预设值,则对所述目标事件批中的目标事件进行处理,得到所述第一初始校验码;
12、实时判断所述第一初始校验码的数量是否大于所述预设值;
13、若所述第一初始校验码的数量大于所述预设值,则对所述第一初始校验码进行异或合并,得到第一合并校验码;
14、实时判断所述第一初始校验码和所述第一合并校验码的数量是否大于所述预设值;
15、若所述第一初始校验码和所述第一合并校验码的数量小于等于所述预设值,则将所述第一初始校验码和所述第一合并校验码作为所述第一合并校验码;
16、若所述第一初始校验码和所述第一合并校验码的数量大于所述预设值,则对所述第一初始校验码和所述第一合并校验码进行异或合并,得到更新后的所述第一合并校验码;
17、判断所述目标事件批是否处理完成,若是,则将所述第一合并校验码作为所述第一目标校验码;若否,则对所述目标事件批中的目标事件进行处理,得到所述第一初始校验码,返回执行所述实时判断所述第一初始校验码和所述第一合并校验码的数量是否大于所述预设值的步骤。
18、在一示例性实施例中,还包括:
19、在phase0阶段,记录进行异或合并的第一次数值;
20、在phase1阶段,记录进行异或合并的第二次数值。
21、在一示例性实施例中,所述若所述第一目标校验码和所述第二目标校验码一致,则根据所述目标事件批的处理结果对所述存储系统的集群状态进行处理,包括:
22、判断所述第一次数值和所述第二次数值是否一致;
23、若所述第一次数值和所述第二次数值一致,则判断所述第一目标校验码和所述第二目标校验码是否一致;
24、若所述第一目标校验码和所述第二目标校验码一致,则根据所述目标事件批的处理结果对所述存储系统的集群状态进行处理。
25、在一示例性实施例中,所述对所述第一初始校验码进行异或合并,得到第一合并校验码之后,还包括:
26、确定进行异或合并的所述第一初始校验码的第一数量;
27、保存所述第一数量;
28、所述按照所述目标合并方式对所述第二初始校验码进行异或合并的过程中,包括:
29、待所述第二初始校验码的数量等于所述第一数量时,对所述第二初始校验码进行异或合并。
30、在一示例性实施例中,所述对所述第一初始校验码进行异或合并,包括:
31、对相邻的每两个所述第一初始校验码进行一次异或合并;
32、所述对所述第一初始校验码和所述第一合并校验码进行异或合并,包括:
33、对所述第一初始校验码和所述第一合并校验码中相邻的每两个校验码进行一次异或合并。
34、在一示例性实施例中,所述对所述目标事件批中的目标事件进行处理,得到第一初始校验码之后,还包括:
35、按照一条日志记录一个校验码的规则,通过日志记录所述第一初始校验码;
36、所述按照目标合并方式对所述第一初始校验码进行异或合并,得到第一目标校验码,包括:
37、按照所述目标合并方式对日志记录的所述第一初始校验码进行异或合并,得到日志记录的所述第一目标校验码。
38、一种事件处理系统,应用于存储系统中的存储节点,包括:
39、第一获取模块,用于获取待执行的目标事件批;
40、第一处理模块,用于在phase0阶段,对所述目标事件批中的目标事件进行处理,得到第一初始校验码,且在所述第一初始校验码的数量大于预设值时,按照目标合并方式对所述第一初始校验码进行异或合并,得到第一目标校验码;
41、第二处理模块,用于在phase1阶段,对所述目标事件批中的目标事件进行处理,得到第二初始校验码,且在所述第二初始校验码的数量大于所述预设值时,按照所述目标合并方式对所述第二初始校验码进行异或合并,得到第二目标校验码;
42、第三处理模块,用于若所述第一目标校验码和所述第二目标校验码一致,则根据所述目标事件批的处理结果对所述存储系统的集群状态进行处理。
43、一种电子设备,包括:
44、存储器,用于存储计算机程序;
45、处理器,用于执行所述计算机程序时实现如上任一所述事件处理方法的步骤。
46、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述事件处理方法的步骤。
47、本技术提供的一种事件处理方法,应用于存储系统中的存储节点,获取待执行的目标事件批;在phase0阶段,对目标事件批中的目标事件进行处理,得到第一初始校验码,且在第一初始校验码的数量大于预设值时,按照目标合并方式对第一初始校验码进行异或合并,得到第一目标校验码;在phase1阶段,对目标事件批中的目标事件进行处理,得到第二初始校验码,且在第二初始校验码的数量大于预设值时,按照目标合并方式对第二初始校验码进行异或合并,得到第二目标校验码;若第一目标校验码和第二目标校验码一致,则根据目标事件批的处理结果对存储系统的集群状态进行处理。本技术中,存储节点无论在phase0阶段还是phase1阶段,均会在目标事件批的初始校验码数量大于预设值时,对初始校验码进行异或合并,以此来降低校验码占用的存储空间,节省了存储系统的存储空间,且对初始校验码进行异或合并的方式均是目标合并方式,也即phase0阶段和phase1阶段对校验码进行异或合并的方式相同,这样,当phase0阶段和phase1阶段的初始校验码一致时,最终得到的第一目标校验码和第二目标校验码一致,后续可以准确应用第一目标校验码和第二目标校验码来对存储系统的集群状态进行管理。本技术提供的一种事件处理系统、电子设备及计算机可读存储介质也解决了相应技术问题。