本申请涉及数据存储,尤其涉及数据存储方法、装置、设备及相关产品。
背景技术:
1、在对接收到的报文进行存储时,一个报文可以存放到一个存储单元中,也可以存放在多个存储单元中。然而,现有的报文存储方式存在不同报文不能共用相同存储单元的现象,以至于当使用一个存储单元用于存放一个较小数据量的报文时,将使得当前存储这个较小数据量的存储单元的存储空间的存在浪费,进而降低了存储空间的利用率。
技术实现思路
1、本申请实施例提供了一种数据存储方法、装置、设备及相关产品,能够将多个报文进行报文聚合以共享同一存储单元,有助于提升存储空间的利用率。
2、本申请实施例一方面提供了一种数据存储方法,方法包括:
3、当第一报文存储在第一报文存储单元时,获取待存储的第二报文以及第二报文的报文基础信息;第二报文的报文获取时间戳晚于第一报文的报文获取时间戳;
4、获取在存储第一报文时得到的第一报文的上下文表项,在从第二报文的报文基础信息中确定出用于进行上下文索引的报文索引信息时,在第一报文的上下文表项所对应的表项索引信息中,对报文索引信息进行上下文索引,得到上下文索引结果;
5、若上下文索引结果指示在表项索引信息中索引到与报文索引信息匹配的表项索引信息,则将与报文索引信息匹配的表项索引信息所对应的第一报文作为待进行报文聚合的目标报文;
6、获取与目标报文的上下文表项相关联的聚合规则,基于聚合规则在第一报文存储单元中将第二报文与目标报文进行报文聚合;报文聚合后的第二报文与目标报文共享第一报文存储单元中的同一存储单元。
7、本申请实施例一方面提供了一种数据存储装置,装置包括:
8、信息获取模块,用于当第一报文存储在第一报文存储单元时,获取待存储的第二报文以及第二报文的报文基础信息;第二报文的报文获取时间戳晚于第一报文的报文获取时间戳;
9、表项索引模块,用于获取在存储第一报文时得到的第一报文的上下文表项,在从第二报文的报文基础信息中确定出用于进行上下文索引的报文索引信息时,在第一报文的上下文表项所对应的表项索引信息中,对报文索引信息进行上下文索引,得到上下文索引结果;
10、表项索引模块,用于若上下文索引结果指示在表项索引信息中索引到与报文索引信息匹配的表项索引信息,则将与报文索引信息匹配的表项索引信息所对应的第一报文作为待进行报文聚合的目标报文;
11、报文聚合模块,用于获取与目标报文的上下文表项相关联的聚合规则,基于聚合规则在第一报文存储单元中将第二报文与目标报文进行报文聚合;报文聚合后的第二报文与目标报文共享第一报文存储单元中的同一存储单元。
12、本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
13、本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
14、在本申请实施例中,能够在获取到待存储的第二报文时,从第二报文的报文基础信息中确定出用于进行上下文索引的报文索引信息,并从基于第二报文的报文索引信息查找与该报文索引信息匹配的表项索引信息所对应的目标报文的上下文表项,进而基于目标报文的上下文表项关联的聚合规则在目标报文的存储单元中将第二报文与目标报文进行报文聚合,报文聚合后的第二报文与目标报文共享第一报文存储单元中的同一存储单元。由此可以基于聚合规则确定将多个报文进行报文聚合,以使得多个报文可以共享同一存储单元,避免了存储空间的浪费,有助于提升存储空间的利用率。
1.一种数据存储方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述聚合规则包括所述目标报文的上下文表项所对应的信息聚合规则;
3.根据权利要求2所述的方法,其特征在于,所述目标报文的上下文表项中包括所述目标报文的报文基础信息;所述目标报文和所述第二报文的报文基础信息包括以下一项或多项:报文的收发端口信息、报文的链接标识或者报文长度;所述信息聚合规则包括以下一项或多项:所述第二报文的收发端口信息与所述目标报文的收发端口信息保持一致的规则、所述第二报文的链接标识与所述目标报文的链接标识一致的规则、或者所述第二报文的报文长度小于或等于目标阈值的规则。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述聚合规则包括所述目标报文的上下文表项所对应的时间聚合规则和信息聚合规则;
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述第一报文包括m个报文,m为大于1的正整数;所述m个报文包括:报文mi和报文mj,j=i+1,其中,i为小于m的整数,j为小于或者等于m的整数;
8.根据权利要求1所述的方法,其特征在于,在所述第一报文的报文数量为单个时,所述第二报文为所述第一报文的下一个报文;
9.根据权利要求1所述的方法,其特征在于,所述第一报文包括m个报文,m为大于1的正整数;所述m个报文包括:报文mi和报文mj;其中,j=i+1,i为小于m的整数,j为小于或者等于m的整数;
10.根据权利要求1所述的方法,其特征在于,所述在所述第一报文的上下文表项所对应的表项索引信息中,对所述报文索引信息进行上下文索引,得到上下文索引结果,包括:
11.根据权利要求1所述的方法,其特征在于,所述基于所述聚合规则在所述第一报文存储单元中将所述第二报文与所述目标报文进行报文聚合,包括:
12.根据权利要求11所述的方法,其特征在于,所述基于所述第一聚合存储单元和由所述聚合规则所确定的报文聚合规则,将所述第二报文与所述目标报文进行报文聚合,包括:
13.根据权利要求11所述的方法,其特征在于,所述基于所述第一聚合存储单元和由所述聚合规则所确定的报文聚合规则,将所述第二报文与所述目标报文进行报文聚合,包括:
14.根据权利要求1所述的方法,其特征在于,所述基于所述聚合规则在所述第一报文存储单元中将所述第二报文与所述目标报文进行报文聚合,包括:
15.根据权利要求1所述的方法,其特征在于,所述方法还包括:
16.根据权利要求15所述的方法,其特征在于,所述在将所述第二报文与所述目标报文进行报文聚合时,确定所述第二报文对应的报文聚合处理信息,包括:
17.根据权利要求1所述的方法,其特征在于,与所述目标报文和第二报文相关联的报文存储链表为目标报文存储链表;在所述目标报文存储链表中用于存储报文的一个存储单元对应一个用于进行地址索引的地址存储指针;
18.根据权利要求17所述的方法,其特征在于,所述基于所述首个地址存储指针,在所述目标报文存储链表的各个存储单元中遍历读取所述目标报文和所述第二报文,包括:
19.一种数据存储装置,其特征在于,所述装置包括:
20.一种计算机设备,其特征在于,包括存储器和处理器;