本申请提出了数据管理方法、装置、系统、计算设备及存储介质,能够提高数据存储的效率。其中,一种数据管理方法,包括:获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据;判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块;在所述通道号的块链表中存在过期数据块时,按照所述块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述过期数据块中过期数据。期数据。期数据。
【技术实现步骤摘要】
数据管理方法、装置、系统、计算设备及存储介质
[0001]本申请涉及存储
,特别涉及数据管理方法、装置、系统、计算设备及存储介质。
技术介绍
[0002]在流数据存储等场景中,业务数据可以是以时间为顺序的大量连续的数据集合。在存储数据的过程中,数据是以时间顺序进行存储的,并且会记录数据的时间索引信息。例如,存储方案可以将流数据切片并包装成对象数据。随着业务数据的不断增大,以及存储设备的容量限制,存储方案需要将旧的过期数据进行删除。目前,存储方案可以查询存储设备中过期的对象数据,然后将对象数据进行删除,以释放存储空间。
[0003]然而,删除对象数据的操作比较耗时,容易出现删除对象数据速度低于数据存储速度的问题。
[0004]有鉴于此,如何提高数据存储的效率是需要解决的技术问题。
技术实现思路
[0005]本申请提出了数据管理方法、装置、系统、计算设备及存储介质,能够提高数据存储的效率。
[0006]根据本申请一个方面,提供一种数据管理方法,包括:
[0007]获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据,所述存储设备包括多个数据块;
[0008]判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;
[0009]在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;
[0010]在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块,其中,所述过期数据块是指所存储数据过期的数据块;
[0011]在所述通道号的块链表中存在过期数据块时,按照所述块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述过期数据块中过期数据。
[0012]在一些实施例中,上述数据管理方法,进一步包括:在所述通道号的块链表中存在过期数据块时,判断所述通道号中未过期数据块的占比是否高于第一比例阈值;
[0013]在未过期数据块的占比高于第一比例阈值时,在所述通道号的块链表中插入空闲的数据块,以使得未过期数据块的占比低于第一比例阈值。在一些实施例中,上述数据管理方法,进一步包括:对于所述存储设备中任一个通道号的块链表,判断该通道号的块链表中过期数据块占比是否高于第二比例阈值;
[0014]在该通道号的块链表中过期数据块占比高于第二比例阈值时,释放该通道号的块链表中部分过期数据块,以使得该通道号的块链表中过期数据块占比不超过第二比例阈
值。
[0015]在一些实施例中,上述数据管理方法,进一步包括:
[0016]在所述存储设备中不存在所述通道号的块链表时,利用空闲的数据块,为所述通道号建立块链表;
[0017]在所述通道号的块链表中存储所述新数据。
[0018]在一些实施例中,上述数据管理方法,进一步包括:
[0019]在所述通道号的块链表中不存在过期数据块时,在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据。
[0020]在一些实施例中,所述在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据,包括:
[0021]判断所述存储设备是否存在空闲的数据块;
[0022]在所述存储设备不存在空闲的数据块时,从所述存储设备中所述通道号的块链表之外的其他块链表中释放部分过期的数据块,并将释放的数据块作为空闲的数据块;
[0023]在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据。
[0024]在一些实施例中,上述数据管理方法,进一步包括:
[0025]将所述通道号的块链表中数据过期的数据块设置为过期数据块。
[0026]在一些实施例中,上述数据管理方法,进一步包括:
[0027]在所述最后一次写入数据的数据块未写满时,在所述最后一次写入数据的数据块中写入新数据。
[0028]根据本申请一个方面,提供一种数据管理装置,包括:
[0029]空间申请单元,获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据,所述存储设备包括多个数据块;
[0030]判断单元,判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块,其中,所述过期数据块是指所存储数据过期的数据块;
[0031]存储管理单元,在所述通道号的块链表中存在过期数据块时,按照所述块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述过期数据块中过期数据。
[0032]根据本申请一个方面,提供一种数据管理系统,包括:
[0033]存储设备,包括多个数据块;
[0034]文件系统设备,用于执行根据本申请的数据管理方法。
[0035]根据本申请一个方面,提供一种存储介质,存储有程序,所述程序包括指令,其特征在于,所述指令当由计算设备执行时,使得所述计算设备执行根据本申请的数据管理方法。
[0036]根据本申请一个方面,提供一种计算设备,包括:
[0037]存储器;
[0038]处理器;
[0039]程序,存储在该存储器中并被配置为由所述处理器执行,所述程序包括用于执行
数据管理方法的指令。
[0040]综上,根据本申请实施例的数据管理方案,可以为通道号建立块链表结构,并且基于块链表中数据块的顺序,依次在过期数据块中覆盖写入新数据,实现了在块链表中循环写入数据。这样,数据管理方案可以避免每次写入新数据时需要删除过期数据并且重新分配数据块的麻烦,从而能够避免删除数据块中数据的耗时和重新分配数据块的耗时,进而提高了数据存储效率。
附图说明
[0041]图1示出了根据本申请一些实施例的应用场景的示意图;
[0042]图2示出了根据本申请一些实施例的存储设备140中数据的组织结构;
[0043]图3示出了根据本申请一些实施例的对存储设备140的初始化方法300的流程图;
[0044]图4示出了根据本申请一些实施例的数据管理方法400的流程图;
[0045]图5A示出了根据本申请一些实施例的多个通道号的块链表的示意图;
[0046]图5B示出了根据本申请一些实施例的一个块链表中未过期数据块和过期数据块的分布示意图;
[0047]图6示出了根据本申请一些实施例的数据管理方法600的流程图;
[0048]图7示出了根据本申请一些实施例的数据管理方法700的流程图;
[0049]图8示出了根据本申请一些实施例的判断是否存在通道号的块链表的方法800的流程图;
[0050]图9示出了根据本申请一些实施例的在块链表中写数据的方法900的流程图;
[0051]图10A本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据管理方法,其特征在于,包括:获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据,所述存储设备包括多个数据块;判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块,其中,所述过期数据块是指所存储数据过期的数据块;在所述通道号的块链表中存在过期数据块时,按照所述块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述过期数据块中过期数据。2.如权利要求1所述的数据管理方法,其特征在于,进一步包括:在所述通道号的块链表中存在过期数据块时,判断所述通道号中未过期数据块的占比是否高于第一比例阈值;在未过期数据块的占比高于第一比例阈值时,在所述通道号的块链表中插入空闲的数据块,以使得未过期数据块的占比低于第一比例阈值。3.如权利要求1所述的数据管理方法,其特征在于,进一步包括:对于所述存储设备中任一个通道号的块链表,判断该通道号的块链表中过期数据块占比是否高于第二比例阈值;在该通道号的块链表中过期数据块占比高于第二比例阈值时,释放该通道号的块链表中部分过期数据块,以使得该通道号的块链表中过期数据块占比不超过第二比例阈值。4.如权利要求1所述的数据管理方法,其特征在于,进一步包括:在所述存储设备中不存在所述通道号的块链表时,利用空闲的数据块,为所述通道号建立块链表;在所述通道号的块链表中存储所述新数据。5.如权利要求1所述的数据管理方法,其特征在于,进一步包括:在所述通道号的块链表中不存在过期数据块时,在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据。6.如权利要求5所述的数据管理方法,其特征在于,所述在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据,包括:判断所述存储设备是否存...
【专利技术属性】
技术研发人员:方焰,
申请(专利权)人:杭州海康威视系统技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。