1.一种内存数据的持久化方法,其特征在于,包括:
获取目标时间对应的业务数据持久化方式,其中,所述业务数据持久化方式与所述目标时间对应的历史参照时间的业务数据特征匹配;
若所述业务数据持久化方式为快照文件方式,则调用分叉函数fork创建子进程,以及通过所述子进程将内存中已有的业务数据写入所述快照文件中,得到与所述目标时间对应的持久化文件;
若所述业务数据持久化方式为增量文件方式,则当有更新数据写入内存时,将所述更新数据对应的写入指令顺序添加至所述增量文件中,得到与所述目标时间对应的持久化文件;
其中,所述获取目标时间对应的业务数据持久化方式之前,所述方法还包括:
获取与所述目标时间对应的所述历史参照时间,以及与所述历史参照时间对应的所述业务数据特征,其中,所述业务数据特征存储于区块链中,所述业务数据特征包括但不限于所述历史参照时间内产生的业务数据对应的重要数据占比、读写次数以及数据集大小;
基于预设数据持久化特征规则,确定与所述业务数据特征匹配的所述业务数据持久化方式,其中,所述预设数据持久化特征规则包括与所述快照文件方式对应的第一特征规则以及与所述增量文件方式对应的第二特征规则。
2.根据权利要求1所述的方法,其特征在于,当所述业务数据特征包括所述重要数据占比时,所述获取与所述历史参照时间对应的所述业务数据特征,具体包括:分别获取所述历史参照时间内的每一条业务数据的业务类型标识,并统计所述历史参照时间内全部业务数据中预设重要业务类型的数据量,其中,所述业务类型标识包括但不限于所述每一条业务数据的key值;
基于所述预设重要业务类型的数据量,确定所述预设重要业务类型的业务数据占所述全部业务数据的比重,将所述比重作为所述重要数据占比。
3.根据权利要求1或2所述的方法,其特征在于,所述得到与所述目标时间对应的持久化文件之后,所述方法还包括:接收业务数据恢复指令,其中,所述业务数据恢复指令包括恢复时间;
获取与所述恢复时间对应的待恢复的持久化数据文件;
按照与所述待恢复的持久化数据文件对应的时间先后顺序,依次恢复所述待恢复的持久化数据文件。
4.根据权利要求1所述的方法,其特征在于,所述确定与所述业务数据特征匹配的所述持久化方式,具体包括:若所述业务数据特征与所述第一特征规则以及所述第二特征规则均不匹配,则确定所述业务数据持久化方式为混合方式;
所述获取目标时间对应的业务数据持久化方式之后,所述方法还包括:
若所述目标时间对应的所述业务数据持久化方式为所述混合方式,则当有更新数据需要写入内存时,将所述更新数据对应的写入指令顺序添加至增量文件中;
当所述增量文件的大小大于或等于预设阈值时,将所述内存中已有的数据添加至快照文件中,并清空所述增量文件。
5.一种内存数据的持久化装置,其特征在于,包括:
持久化方式获取模块,用于获取目标时间对应的业务数据持久化方式,其中,所述业务数据持久化方式与所述目标时间对应的历史参照时间的业务数据特征匹配;
第一持久化模块,用于若所述业务数据持久化方式为快照文件方式,则调用分叉函数fork创建子进程,以及通过所述子进程将内存中已有的业务数据写入所述快照文件中,得到与所述目标时间对应的持久化文件;
第二持久化模块,用于若所述业务数据持久化方式为增量文件方式,则当有更新数据写入内存时,将所述更新数据对应的写入指令顺序添加至所述增量文件中,得到与所述目标时间对应的持久化文件;
数据特征获取模块,用于所述获取目标时间对应的业务数据持久化方式之前,获取与所述目标时间对应的所述历史参照时间,以及与所述历史参照时间对应的所述业务数据特征,其中,所述业务数据特征存储于区块链中,所述业务数据特征包括但不限于所述历史参照时间内产生的业务数据对应的重要数据占比、读写次数以及数据集大小;
持久化方式确定模块,用于基于预设数据持久化特征规则,确定与所述业务数据特征匹配的所述业务数据持久化方式,其中,所述预设数据持久化特征规则包括与所述快照文件方式对应的第一特征规则以及与所述增量文件方式对应的第二特征规则。
6.根据权利要求5所述的装置,其特征在于,所述数据特征获取模块,具体包括:业务类型统计单元,用于当所述业务数据特征包括所述重要数据占比时,分别获取所述历史参照时间内的每一条业务数据的业务类型标识,并统计所述历史参照时间内全部业务数据中预设重要业务类型的数据量,其中,所述业务类型标识包括但不限于所述每一条业务数据的key值;
重要数据占比确定单元,用于基于所述预设重要业务类型的数据量,确定所述预设重要业务类型的业务数据占所述全部业务数据的比重,将所述比重作为所述重要数据占比。
7.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的内存数据的持久化方法。
8.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的内存数据的持久化方法。