本技术涉及计算机网络领域中的数据处理技术,尤其涉及一种数据处理方法、电子设备、存储介质及程序产品。
背景技术:
1、在基于流表转发数据流的应用中,常常存在流表错误的情况。为了修复流表错误,通常基于内存纠错码(error-correcting code,ecc)进行流表修复;然而,采用内存纠错码所修复的错误通常为单一的单比特反转错误,影响了流表修复能力,进而影响了流表修复的通用性。
技术实现思路
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、本技术实施例至少具有以下有益效果:在生成流表时,通过存储流表标识与流表生成信息之间的第一对应关系,使得在响应于流表修复指令对待修复流表进行修复时,能够基于待修复流表的待修复流表标识确定所对应的目标流表生成信息,并基于该目标流表生成信息重新获得修复流表;从而,能够基于该修复流表完成待修复流表的修复;如此,能够修复存在各种错误的待修复流表,从而能够提升流表修复能力,进而能够提升流表修复的通用性。
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述修复流表,修复所述待修复流表,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述目标流表地址中的所述待修复流表,替换为所述修复流表之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,所述响应于流表修复指令之前,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述流表修复指令是由以下中的至少一种触发的:第二流转发指令、流表命中时间和全量流表检测;
8.根据权利要求1至5、7任一项所述的方法,其特征在于,当所述流表修复指令由第二流转发指令触发时,所述响应于流表修复指令之前,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述在所述当前校验信息与原始校验信息匹配失败时,确定所述目标流表为所述待修复流表之前,所述方法还包括:
10.根据权利要求1至5、7任一项所述的方法,其特征在于,当所述流表修复指令由流表命中时间触发时,所述响应于流表修复指令之前,所述方法还包括:
11.根据权利要求1至5、7任一项所述的方法,其特征在于,当所述流表修复指令由全量流表检测触发时,所述响应于流表修复指令之前,所述方法还包括:
12.根据权利要求1至5、7任一项所述的方法,其特征在于,所述响应于流表修复指令,基于流表标识与流表生成信息之间的第一对应关系,获取与待修复流表标识对应的目标流表生成信息,是由流表卸载引擎执行的,其中,所述流表卸载引擎用于将生成的所述流表下发至流转发引擎,所述流转发引擎用于基于所述流表卸载引擎所下发的所述流表转发数据流;
13.一种用于数据处理的电子设备,其特征在于,所述电子设备包括:
14.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时,实现权利要求1至12任一项所述的数据处理方法。
15.一种计算机程序产品,包括计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时,实现权利要求1至12任一项所述的数据处理方法。
