1.一种数据存储方法,其特征在于,所述方法包括:
将流式数据中的数据切分成固定时长的数据片段;
根据所述流式数据的标识以及所述数据片段对应的时间信息进行哈希计算,获得所述数据片段对应的虚拟存储节点的标识,所述时间信息用于指示所述数据片段对应在所述流式数据中的时间,其中,所述虚拟存储节点的个数与所述哈希计算的哈希环的长度相对应,所述哈希计算的哈希环的长度是流式数据的存储周期与所述数据片段的时长的比值;
根据所述数据片段对应的虚拟存储节点的标识确定所述数据片段对应的至少一个存储设备;
将所述数据片段存储至所述数据片段对应的至少一个存储设备;
当所述虚拟存储节点的标识对应的存储设备发生改变时,获取对应的时间点的日志,获取所述日志中记录的需要修复的日志信息,根据所述需要修复的日志信息进行数据修改,其中,所述日志中保存有所述日志信息,所述日志信息是在所述存储设备上执行过的操作的记录。
2.根据权利要求1所述的方法,其特征在于,所述根据所述流式数据的标识以及所述数据片段对应的时间信息进行哈希计算,获得所述数据片段对应的虚拟存储节点的标识,包括:按照一致性哈希算法分别对所述流式数据的标识以及所述数据片段对应的时间信息进行哈希计算,获得所述流式数据的标识的哈希数值以及所述数据片段对应的时间信息的哈希数值;
根据所述流式数据的标识的哈希数值以及所述数据片段对应的时间信息的哈希数值获得所述数据片段对应的虚拟存储节点的标识。
3.根据权利要求2所述的方法,其特征在于,所述根据所述流式数据的标识的哈希数值以及所述数据片段对应的时间信息的哈希数值获得所述数据片段对应的虚拟存储节点的标识,包括:将所述流式数据的标识的哈希数值以及所述数据片段对应的时间信息的哈希数值的和,获取为所述数据片段对应的虚拟存储节点的序号。
4.根据权利要求1所述的方法,其特征在于,所述根据所述数据片段对应的虚拟存储节点的标识确定所述数据片段对应的至少一个存储设备,包括:根据所述数据片段对应的虚拟存储节点的标识,通过伪哈希算法计算确定所述数据片段对应的至少一个存储设备。
5.根据权利要求4所述的方法,其特征在于,所述根据所述数据片段对应的虚拟存储节点的标识,通过伪哈希算法计算确定所述数据片段对应的至少一个存储设备,包括:获取所述流式数据对应的冗余策略,所述冗余策略用于指示所述数据片段对应的每一组冗余数据所在的存储设备区间;
根据所述数据片段对应的虚拟存储节点的标识,通过所述伪哈希算法从所述数据片段对应的每一组冗余数据所在的存储设备区间中分别计算确定出至少一个用于存储所述数据片段的存储设备。
6.一种数据存储装置,其特征在于,所述装置包括:
切分模块,用于将流式数据中的数据切分成固定时长的数据片段;
计算模块,用于根据所述流式数据的标识以及所述数据片段对应的时间信息进行哈希计算,获得所述数据片段对应的虚拟存储节点的标识,所述时间信息用于指示所述数据片段对应在所述流式数据中的时间,其中,所述虚拟存储节点的个数与所述哈希计算的哈希环的长度相对应,所述哈希计算的哈希环的长度是流式数据的存储周期与所述数据片段的时长的比值;
设备确定模块,用于根据所述数据片段对应的虚拟存储节点的标识确定所述数据片段对应的至少一个存储设备;
存储模块,用于将所述数据片段存储至所述数据片段对应的至少一个存储设备;
当所述虚拟存储节点的标识对应的存储设备发生改变时,获取对应的时间点的日志,获取所述日志中记录的需要修复的日志信息,根据所述需要修复的日志信息进行数据修改,其中,所述日志中保存有所述日志信息,所述日志信息是在所述存储设备上执行过的操作的记录。
7.根据权利要求6所述的装置,其特征在于,所述计算模块,包括:
计算单元,用于按照一致性哈希算法分别对所述流式数据的标识以及所述数据片段对应的时间信息进行哈希计算,获得所述流式数据的标识的哈希数值以及所述数据片段对应的时间信息的哈希数值;
标识获得单元,用于根据所述流式数据的标识的哈希数值以及所述数据片段对应的时间信息的哈希数值获得所述数据片段对应的虚拟存储节点的标识。
8.根据权利要求7所述的装置,其特征在于,
所述标识获得单元,用于将所述流式数据的标识的哈希数值以及所述数据片段对应的时间信息的哈希数值的和,获取为所述数据片段对应的虚拟存储节点的序号。
9.根据权利要求6所述的装置,其特征在于,所述设备确定模块,
用于根据所述数据片段对应的虚拟存储节点的标识,通过伪哈希算法计算确定所述数据片段对应的至少一个存储设备。
10.根据权利要求9所述的装置,其特征在于,所述设备确定模块,包括:策略获取单元,用于获取所述流式数据对应的冗余策略,所述冗余策略用于指示所述数据片段对应的每一组冗余数据所在的存储设备区间;
设备确定单元,用于根据所述数据片段对应的虚拟存储节点的标识,通过所述伪哈希算法从所述数据片段对应的每一组冗余数据所在的存储设备区间中分别计算确定出至少一个用于存储所述数据片段的存储设备。