The invention discloses a streaming data storage method and device, the method includes: raw data acquisition data to be stored and the value of the data length of the data, determine the file storage and management of file management; look in the file data meet the requirement of continuous length of at least one labeled as a unit storage space management ID is not occupied the original data values to store at least find a marker for at least one unit of storage space for storing files not occupied state corresponding to the identity of the management unit of storage space, and access to raw data values in the storage of the storage location; at least one unit of storage space management identification marker the unoccupied state is modified; get a new data storage file contains the identification, location and data length value, according to the original data and the new data value key, Constructing instance data in the form of data key values, and writing instance data into the database. The technical scheme saves storage space and improves the efficiency of data processing.
【技术实现步骤摘要】
流式数据存储方法及装置
本专利技术涉及互联网
,具体涉及一种流式数据存储方法及装置。
技术介绍
在互联网的很多应用场景中,例如消息推送和网络直播等,均会使用到流式数据。流式数据的特点是每时每刻都有数据产生,而且数据到达时间也不是匀速的。现有技术中,大多是利用消息队列来解决对流式数据的存储问题。在实际应用场景中,所产生的流式数据的数据量可能是海量的。然而,消息队列在面临高并发大量数据时,将无法快速地完成数据处理。因此,现有的流式数据存储方案中存在着数据处理效率较低的问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的流式数据存储方法及装置。根据本专利技术的一个方面,提供了一种流式数据存储方法,该方法包括:获取待存储的数据以及数据的原数据值的数据长度,确定用于存储原数据值的存储文件以及用于管理存储文件的管理文件;其中,管理文件存储有多个单位存储空间管理标识,每个单位存储空间管理标识用于标记存储文件的对应的单位存储空间的已占用状态或未占用状态;在管理文件中查找满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,将原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的存储文件的至少一个单位存储空间,并获取原数据值在存储文件中的存储位置;将至少一个标记为未占用状态的单位存储空间管理标识进行修改,修改后的单位存储空间管理标识被标记为已占用状态;得到包含存储文件的标识、存储位置和数据长度的新数据值,根据数据的原数据键和新数据值,构建数据键值对形式的实例数据,将实例数据写入数据 ...
【技术保护点】
一种流式数据存储方法,包括:获取待存储的数据以及所述数据的原数据值的数据长度,确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件;其中,所述管理文件存储有多个单位存储空间管理标识,每个单位存储空间管理标识用于标记所述存储文件的对应的单位存储空间的已占用状态或未占用状态;在所述管理文件中查找满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述存储文件的至少一个单位存储空间,并获取所述原数据值在所述存储文件中的存储位置;将所述至少一个标记为未占用状态的单位存储空间管理标识进行修改,修改后的单位存储空间管理标识被标记为已占用状态;得到包含所述存储文件的标识、所述存储位置和所述数据长度的新数据值,根据所述数据的原数据键和新数据值,构建数据键值对形式的实例数据,将所述实例数据写入数据库中。
【技术特征摘要】
1.一种流式数据存储方法,包括:获取待存储的数据以及所述数据的原数据值的数据长度,确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件;其中,所述管理文件存储有多个单位存储空间管理标识,每个单位存储空间管理标识用于标记所述存储文件的对应的单位存储空间的已占用状态或未占用状态;在所述管理文件中查找满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述存储文件的至少一个单位存储空间,并获取所述原数据值在所述存储文件中的存储位置;将所述至少一个标记为未占用状态的单位存储空间管理标识进行修改,修改后的单位存储空间管理标识被标记为已占用状态;得到包含所述存储文件的标识、所述存储位置和所述数据长度的新数据值,根据所述数据的原数据键和新数据值,构建数据键值对形式的实例数据,将所述实例数据写入数据库中。2.根据权利要求1所述的方法,所述确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件进一步包括:对所述数据的原数据键进行计算,得到原数据键对应的哈希值;根据计算得到的哈希值,确定用于存储所述原数据值的存储文件以及用于管理所述存储文件的管理文件。3.根据权利要求1所述的方法,在所述获取待存储的数据以及所述数据的原数据值的数据长度之前,所述方法还包括:预先创建存储文件和管理文件,并在系统内存中预先创建分别与存储文件和管理文件相映射的内存块。4.根据权利要求1所述的方法,所述存储文件包括:第一存储文件和与第一存储文件对应的第二存储文件;所述管理文件包括:第一管理文件和与第一管理文件对应的第二管理文件;其中,所述第一存储文件和与第一存储文件对应的所述第二存储文件具有相同的标识;所述第一管理文件和与第一管理文件对应的所述第二管理文件具有相同的标识;所述第一管理文件用于管理所述第一存储文件;所述第二管理文件用于管理所述第二存储文件。5.根据权利要求4所述的方法,所述在所述管理文件中查找满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述存储文件的至少一个单位存储空间,并获取所述原数据值在所述存储文件中的存储位置进一步包括:在所述第一管理文件中查找是否存在满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识;若在所述第一管理文件中查找到满足数据长度要求的连续的至少一个标记为未占用状态的单位存储空间管理标识,则将所述原数据值存储至所查找到的至少一个标记为未占用状态的单位存储空间管理标识对应的所述第一存储文件的至少...
【专利技术属性】
技术研发人员:徐锐波,
申请(专利权)人:北京奇虎科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。