利索能及
我要发布
收藏
专利号: 2019111871371
申请人: 杭州海康威视系统技术有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-18
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种连续存储数据的修改方法,其特征在于,包括:

根据获取到的修改请求,获取第一数据块中修改数据对应的源数据的索引信息;

根据所述第一数据块中修改数据对应的源数据的索引信息,分配所述第一数据块的第一修改写入区中用于存储所述修改数据的第一存储空间;所述第一数据块还包括第一源数据区;所述第一源数据区连续存储至少两条源数据;所述至少两条源数据包括所述修改数据对应的源数据;所述第一修改写入区用于存储所述第一源数据区中源数据对应的修改数据;

在所述第一存储空间中写入所述修改数据,并更新所述第一数据块中所述修改数据对应的源数据的索引信息。

2.根据权利要求1所述的方法,其特征在于,所述根据获取到的修改请求,获取第一数据块中修改数据对应的源数据的索引信息,包括:根据所述修改请求中包括的所述修改数据的索引键值KEY,获取所述第一数据块中修改数据对应的源数据的索引信息;所述KEY包括:所述修改数据的文件名;所述索引信息包括以下至少一项:所述修改数据对应的源数据所在的存储设备的标识、所述第一数据块的标识ID、所述修改数据对应的源数据在所述第一源数据区的偏移信息以及所述修改数据对应的源数据的数据长度信息。

3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一数据块中修改数据对应的源数据的索引信息,分配所述第一数据块的第一修改写入区中用于存储所述修改数据的第一存储空间,包括:根据所述第一数据块中修改数据对应的源数据的索引信息,确定所述修改数据对应的所述第一数据块;

从所述第一数据块的第一修改写入区中分配所述第一存储空间。

4.根据权利要求3所述的方法,其特征在于,所述从所述第一数据块的第一修改写入区中分配所述第一存储空间,包括:确定所述修改数据对应的源数据是否已进行修改;

若所述修改数据对应的源数据已进行修改,则将所述第一修改写入区中所述源数据对应的存储空间作为所述第一存储空间;

若所述修改数据对应的源数据未进行修改,则从所述第一修改写入区中未写入数据的存储空间中分配所述第一存储空间。

5.根据权利要求4所述的方法,其特征在于,所述确定所述修改数据对应的源数据是否已进行修改,包括:确定已修改的KEY记录中是否存在所述修改数据的KEY;

若存在,则确定所述修改数据对应的源数据已进行修改;

若不存在,则确定所述修改数据对应的源数据未进行修改;

相应的,所述在所述第一存储空间中写入所述修改数据之后,还包括:若所述修改数据被写入成功,则将所述修改数据的KEY记录到所述已修改写的KEY记录中。

6.根据权利要求2所述的方法,其特征在于,所述更新所述第一数据块中修改数据对应的源数据的索引信息,包括:将所述第一数据块中修改数据对应源数据的索引信息中的偏移信息更新为所述修改数据在所述第一修改写入区的偏移信息,并将所述第一数据块中修改数据对应源数据的索引信息中的数据长度信息更新为所述修改数据的数据长度信息。

7.根据权利要求1-6任一项所述的方法,其特征在于,

所述第一源数据区的存储空间的大小与所述第一修改写入区的存储空间的大小按照预设比例分配。

8.根据权利要求1-6任一项所述的方法,其特征在于,还包括:

获取所述修改数据在第二数据块中对应的源数据的索引信息;

根据所述第二数据块中对应的源数据的索引信息,分配所述第二数据块的第二修改写入区中用于存储所述修改数据的第二存储空间;所述第二数据块还包括第二源数据区;所述第二源数据区存储所述修改数据在第二数据块中对应的源数据;

在所述第二存储空间中写入所述修改数据,并更新所述第二数据块中所述修改数据对应的源数据的索引信息。

9.根据权利要求1-6任一项所述的方法,其特征在于,所述在所述第一存储空间中写入所述修改数据之后,还包括:若确定满足预设的触发条件,则将所述第一数据块中第一修改写入区的已写入数据,写入到所述第一源数据区中与所述已写入数据对应的源数据所在位置,并更新所述第一数据块中所述已写入数据对应的源数据的索引信息;所述触发条件包括以下至少一项:已使用的第一修改写入区的存储空间占整个第一修改写入区的存储空间的比例达到预设阈值、所述第一数据块中存在已进行修改的源数据且所述第一数据块超过预设时长未进行修改。

10.根据权利要求9所述的方法,其特征在于,所述将所述第一数据块中第一修改写入区的已写入数据,写入到所述第一源数据区中与所述已写入数据对应的源数据所在位置之前,还包括:将第二数据块进行锁定;所述第二数据块在锁定时处于只读状态;

相应的,在写入到所述第一源数据区中与所述已写入数据对应的源数据所在位置完成之后,对所述第二数据块进行解锁。

11.根据权利要求9所述的方法,其特征在于,还包括:

若将所述第一数据块中第一修改写入区的已写入数据,写入到所述第一源数据区中失败,则将所述第一数据块对应的第二数据块的数据拷贝至新的第一数据块的存储空间中,并更新所述第一数据块中源数据的索引信息。

12.根据权利要求9所述的方法,其特征在于,所述将所述第一数据块中第一修改写入区的已写入数据,写入到所述第一源数据区中与所述已写入数据对应的源数据所在位置之前,还包括:将所述第一数据块的数据备份到第三数据块中;所述第三数据块在将所述第一数据块中第一修改写入区的已写入数据,写入到所述第一源数据区中的过程中处于只读状态;

在将所述第一数据块中第一修改写入区的已写入数据,写入到所述第一源数据区写入成功后,释放所述第三数据块的存储空间。

13.一种连续存储数据的修改装置,其特征在于,包括:

获取模块,用于根据获取到的修改请求,获取第一数据块中修改数据对应的源数据的索引信息;

分配模块,用于根据所述第一数据块中修改数据对应的源数据的索引信息,分配所述第一数据块的第一修改写入区中用于存储所述修改数据的第一存储空间;所述第一数据块还包括第一源数据区;所述第一源数据区连续存储至少两条源数据;所述至少两条源数据包括所述修改数据对应的源数据;所述第一修改写入区用于存储所述第一源数据区中源数据对应的修改数据;

处理模块,用于在所述第一存储空间中写入所述修改数据,并更新所述第一数据块中所述修改数据对应的源数据的索引信息。

14.根据权利要求13所述的装置,其特征在于,所述获取模块,用于:根据所述修改请求中包括的所述修改数据的索引键值KEY,获取所述第一数据块中修改数据对应的源数据的索引信息;所述KEY包括:所述修改数据的文件名;所述索引信息包括以下至少一项:所述修改数据对应的源数据所在的存储设备的标识、所述第一数据块的标识ID、所述修改数据对应的源数据在所述第一源数据区的偏移信息以及所述修改数据对应的源数据的数据长度信息。

15.一种集群系统,其特征在于,包括:

第一集群节点,第二集群节点;

其中,所述第一集群节点用于接收修改请求,并将所述修改请求发送给所述第二集群节点;所述修改请求包括:所述第二集群节点的标识、修改数据和修改数据的信息;

所述第二集群节点,配置为执行如权利要求1-12任一项所述的方法。