流式数据存储方法及装置与流程

文档序号:12720132阅读:来源:国知局

技术特征:

1.一种流式数据存储方法,包括:

获取待存储的数据以及所述数据的原数据值的数据长度,确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件;其中,所述管理文件存储有多个单位存储空间管理标识,每个单位存储空间管理标识用于标记所述存储文件的对应的单位存储空间的已占用状态或未占用状态;

在所述管理文件中查找满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述存储文件的至少一个单位存储空间,并获取所述原数据值在所述存储文件中的存储位置;

将所述至少一个标记为未占用状态的单位存储空间管理标识进行修改,修改后的单位存储空间管理标识被标记为已占用状态;

得到包含所述存储文件的标识、所述存储位置和所述数据长度的新数据值,根据所述数据的原数据键和新数据值,构建数据键值对形式的实例数据,将所述实例数据写入数据库中。

2.根据权利要求1所述的方法,所述确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件进一步包括:

对所述数据的原数据键进行计算,得到原数据键对应的哈希值;

根据计算得到的哈希值,确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件。

3.根据权利要求1所述的方法,在所述获取待存储的数据以及所述数据的原数据值的数据长度之前,所述方法还包括:

预先创建存储文件和管理文件,并在系统内存中预先创建分别与存储文件和管理文件相映射的内存块。

4.根据权利要求1所述的方法,所述存储文件包括:第一存储文件和与第一存储文件对应的第二存储文件;所述管理文件包括:第一管理文件和与第一管理文件对应的第二管理文件;

其中,所述第一存储文件和与第一存储文件对应的所述第二存储文件具有相同的标识;所述第一管理文件和与第一管理文件对应的所述第二管理文件具有相同的标识;所述第一管理文件用于管理所述第一存储文件;所述第二管理文件用于管理所述第二存储文件。

5.根据权利要求4所述的方法,所述在所述管理文件中查找满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述存储文件的至少一个单位存储空间,并获取所述原数据值在所述存储文件中的存储位置进一步包括:

在所述第一管理文件中查找是否存在满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识;

若在所述第一管理文件中查找到满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,则将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述第一存储文件的至少一个单位存储空间,并获取所述原数据值在所述第一存储文件中的存储位置;

若在所述第一管理文件中未查找到满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,则在所述第二管理文件中查找是否存在满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识;

若在所述第二管理文件中查找到满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,则将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述第二存储文件的至少一个单位存储空间,并获取所述原数据值在所述第二存储文件中的存储位置。

6.根据权利要求5所述的方法,所述新数据值还包括:用于标记所述原数据值存储至第一存储文件或第二存储文件的存储标记位。

7.根据权利要求1-6任一项所述的方法,所述将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述存储文件的至少一个单位存储空间进一步包括:

通过系统接口,以内存映射方式,将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述存储文件的至少一个单位存储空间。

8.一种流式数据存储装置,包括:

数据获取模块,适于获取待存储的数据以及所述数据的原数据值的数据长度;

确定模块,适于确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件;其中,所述管理文件存储有多个单位存储空间管理标识,每个单位存储空间管理标识用于标记所述存储文件的对应的单位存储空间的已占用状态或未占用状态;

查找模块,适于在所述管理文件中查找满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识;

存储模块,适于将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述存储文件的至少一个单位存储空间;

存储位置获取模块,适于获取所述原数据值在所述存储文件中的存储位置;

修改模块,适于将所述至少一个标记为未占用状态的单位存储空间管理标识进行修改,修改后的单位存储空间管理标识被标记为已占用状态;

生成模块,适于得到包含所述存储文件的标识、所述存储位置和所述数据长度的新数据值;

写入模块,适于根据所述数据的原数据键和新数据值,构建数据键值对形式的实例数据,将所述实例数据写入数据库中。

9.根据权利要求8所述的装置,所述确定模块进一步适于:

对所述数据的原数据键进行计算,得到原数据键对应的哈希值;

根据计算得到的哈希值,确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件。

10.根据权利要求8所述的装置,所述装置还包括:

创建模块,适于预先创建存储文件和管理文件,并在系统内存中预先创建分别与存储文件和管理文件相映射的内存块。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1