CN113032414B - 数据管理方法、装置、系统、计算设备及存储介质 - Google Patents

数据管理方法、装置、系统、计算设备及存储介质 Download PDF

Info

Publication number
CN113032414B
CN113032414B CN202110427833.6A CN202110427833A CN113032414B CN 113032414 B CN113032414 B CN 113032414B CN 202110427833 A CN202110427833 A CN 202110427833A CN 113032414 B CN113032414 B CN 113032414B
Authority
CN
China
Prior art keywords
data
block
channel number
chain table
block chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110427833.6A
Other languages
English (en)
Other versions
CN113032414A (zh
Inventor
方焰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN202110427833.6A priority Critical patent/CN113032414B/zh
Publication of CN113032414A publication Critical patent/CN113032414A/zh
Application granted granted Critical
Publication of CN113032414B publication Critical patent/CN113032414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提出了数据管理方法、装置、系统、计算设备及存储介质,能够提高数据存储的效率。其中,一种数据管理方法,包括:获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据;判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块;在所述通道号的块链表中存在过期数据块时,按照所述块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述过期数据块中过期数据。

Description

数据管理方法、装置、系统、计算设备及存储介质
技术领域
本申请涉及存储技术领域,特别涉及数据管理方法、装置、系统、计算设备及存储介质。
背景技术
在流数据存储等场景中,业务数据可以是以时间为顺序的大量连续的数据集合。在存储数据的过程中,数据是以时间顺序进行存储的,并且会记录数据的时间索引信息。例如,存储方案可以将流数据切片并包装成对象数据。随着业务数据的不断增大,以及存储设备的容量限制,存储方案需要将旧的过期数据进行删除。目前,存储方案可以查询存储设备中过期的对象数据,然后将对象数据进行删除,以释放存储空间。
然而,删除对象数据的操作比较耗时,容易出现删除对象数据速度低于数据存储速度的问题。
有鉴于此,如何提高数据存储的效率是需要解决的技术问题。
发明内容
本申请提出了数据管理方法、装置、系统、计算设备及存储介质,能够提高数据存储的效率。
根据本申请一个方面,提供一种数据管理方法,包括:
获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据,所述存储设备包括多个数据块;
判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;
在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;
在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块,其中,所述过期数据块是指所存储数据过期的数据块;
在所述通道号的块链表中存在过期数据块时,按照所述块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述过期数据块中过期数据。
在一些实施例中,上述数据管理方法,进一步包括:在所述通道号的块链表中存在过期数据块时,判断所述通道号中未过期数据块的占比是否高于第一比例阈值;
在未过期数据块的占比高于第一比例阈值时,在所述通道号的块链表中插入空闲的数据块,以使得未过期数据块的占比低于第一比例阈值。在一些实施例中,上述数据管理方法,进一步包括:对于所述存储设备中任一个通道号的块链表,判断该通道号的块链表中过期数据块占比是否高于第二比例阈值;
在该通道号的块链表中过期数据块占比高于第二比例阈值时,释放该通道号的块链表中部分过期数据块,以使得该通道号的块链表中过期数据块占比不超过第二比例阈值。
在一些实施例中,上述数据管理方法,进一步包括:
在所述存储设备中不存在所述通道号的块链表时,利用空闲的数据块,为所述通道号建立块链表;
在所述通道号的块链表中存储所述新数据。
在一些实施例中,上述数据管理方法,进一步包括:
在所述通道号的块链表中不存在过期数据块时,在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据。
在一些实施例中,所述在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据,包括:
判断所述存储设备是否存在空闲的数据块;
在所述存储设备不存在空闲的数据块时,从所述存储设备中所述通道号的块链表之外的其他块链表中释放部分过期的数据块,并将释放的数据块作为空闲的数据块;
在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据。
在一些实施例中,上述数据管理方法,进一步包括:
将所述通道号的块链表中数据过期的数据块设置为过期数据块。
在一些实施例中,上述数据管理方法,进一步包括:
在所述最后一次写入数据的数据块未写满时,在所述最后一次写入数据的数据块中写入新数据。
根据本申请一个方面,提供一种数据管理装置,包括:
空间申请单元,获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据,所述存储设备包括多个数据块;
判断单元,判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块,其中,所述过期数据块是指所存储数据过期的数据块;
存储管理单元,在所述通道号的块链表中存在过期数据块时,按照所述块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述过期数据块中过期数据。
根据本申请一个方面,提供一种数据管理系统,包括:
存储设备,包括多个数据块;
文件系统设备,用于执行根据本申请的数据管理方法。
根据本申请一个方面,提供一种存储介质,存储有程序,所述程序包括指令,其特征在于,所述指令当由计算设备执行时,使得所述计算设备执行根据本申请的数据管理方法。
根据本申请一个方面,提供一种计算设备,包括:
存储器;
处理器;
程序,存储在该存储器中并被配置为由所述处理器执行,所述程序包括用于执行数据管理方法的指令。
综上,根据本申请实施例的数据管理方案,可以为通道号建立块链表结构,并且基于块链表中数据块的顺序,依次在过期数据块中覆盖写入新数据,实现了在块链表中循环写入数据。这样,数据管理方案可以避免每次写入新数据时需要删除过期数据并且重新分配数据块的麻烦,从而能够避免删除数据块中数据的耗时和重新分配数据块的耗时,进而提高了数据存储效率。
附图说明
图1示出了根据本申请一些实施例的应用场景的示意图;
图2示出了根据本申请一些实施例的存储设备140中数据的组织结构;
图3示出了根据本申请一些实施例的对存储设备140的初始化方法300的流程图;
图4示出了根据本申请一些实施例的数据管理方法400的流程图;
图5A示出了根据本申请一些实施例的多个通道号的块链表的示意图;
图5B示出了根据本申请一些实施例的一个块链表中未过期数据块和过期数据块的分布示意图;
图6示出了根据本申请一些实施例的数据管理方法600的流程图;
图7示出了根据本申请一些实施例的数据管理方法700的流程图;
图8示出了根据本申请一些实施例的判断是否存在通道号的块链表的方法800的流程图;
图9示出了根据本申请一些实施例的在块链表中写数据的方法900的流程图;
图10A示出了根据本申请一些实施例的动态调整块链表的方法1000的流程图;
图10B示出了根据本申请一些实施例的释放数据块的示意图;
图11示出了根据本申请一些实施例的数据管理装置1100的示意图;
图12示出了根据本申请一些实施例的计算设备的示意图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。
图1示出了根据本申请一些实施例的应用场景的示意图。
如图1所示,应用场景示出了数据提供设备110、网络120、文件系统设备130和存储设备140。这里,数据提供设备110例如为摄像机、网络硬盘录像机(NVR)等设备。数据提供设备110例如可以生成流数据。一路流数据是指一组顺序、大量、连续到达的数据序列,可被视为一个随时间延续而增长的动态数据集合。数据提供设备110可以通过网络120向文件系统设备130提供一路或者多路流数据。这里,在数据提供设备110提供的流数据为视频数据时,文件系统设备130获取的流数据也可以称为视频流。
文件系统设备130可以管理存储设备140的数据组织方式和数据存取。
存储设备140可以存储数据。例如,存储设备140可以存储对象数据。换言之,存储设备140可以提供对象存储服务(Object Storage Service,缩写为OSS)。对象存储服务为基于对象的存储服务,可以为每个对象分配标识符,并允许通过标识符检索对象。
另外说明的是,存储设备140的存储空间可以划分成数据块进行管理。例如,图2示出了存储设备140中数据的组织结构。
图2示出了根据本申请一些实施例的存储设备140中数据的组织结构。
存储设备140可以虚拟出一个或多个虚拟设备进行数据存储。换言之,存储设备140的存储空间可以划分成一个或多个虚拟设备。例如,图2示出了一个虚拟设备。虚拟设备的标识例如为“OSi”。虚拟设备200可以包括启动块OSi_BOOT和数据块。例如,图2示出了数据块BLOCK_1、BLOCK_2和BLOCK_N。N为正整数。
启动块OSi_BOOT可以记录虚拟设备OSi的唯一标识、虚拟设备的存储空间、启动块的大小和数据块的大小等信息。
数据块可以包括索引对象和数据对象。索引对象可以存储数据对象的索引信息。例如,数据类型、时间、用户数据信息、数据存储位置及大小。数据对象用户存储用户数据,例如存储对象文件。
另外说明的是,为了便于管理,虚拟设备中各标识(key)的命名方式遵循一定规则。同一个虚拟设备中各标识的前缀相同。这样,相同的前缀可以表明这些标识所指对象是属于同一存虚拟备。对于一个数据块,其中的索引对象和数据对象的标识中都会记录块号,从而标识出对象是属于同一个数据块。以图2中所示的自定义key值为例,OSi是设备名,该设备中所有对象的key值都是以OSi作为前缀。OSi_BOOT为启动块key。OSi_INFO_N为数据块N中的索引对象的key。其中N为块号。OSi_DATA_N_OBJECT_M为数据块N中的第M个数据对象的key。其中,M为块中的数据对象的编号。
在存储设备140存储数据之前,文件系统设备130可以对存储设备140进行初始化处理。例如,图3示出了对存储设备140的初始化方法300的流程图。方法300例如可以在文件系统设备130中执行。
如图3所示,在步骤S301中,接收格式化请求。例如,文件系统设备130可以从用户设备接收格式化请求。格式化请求可以携带初始化参数。初始化参数例如包括虚拟设备容量、设备容量、启动块大小、数据块大小、索引对象大小、数据对象大小以及文件系统设备的关键信息等。
在步骤S302中,根据初始化参数确定虚拟设备中数据块数量、创建启动块,并初始化启动块中的数据。例如,步骤S302可以将文件系统设备的关键信息写入到启动块中。
在步骤S303中,创建数据块中索引对象,并初始化索引对象中数据。例如,步骤S303可以按块号顺序初始化每个数据块,创建索引对象,并在索引对象中写入块初始信息。块初始信息包括块号、块状态以及初始化时间等。
综上,方法300可以对存储设备140进行初始化处理,以便在存储设备140的数据块中存取数据。
对于在存储设备140中存取数据,本申请提出了一种数据管理方案,能够提高数据存储效率。下面结合图4进行说明。
图4示出了根据本申请一些实施例的数据管理方法400的流程图。方法400可以在文件系统设备130中执行,但不限于此。
如图4所示,在步骤S401中,获取要在存储设备中存储数据的通道号。每个通道号对应一路流数据。这里,一路流数据例如为一路视频流,但不限于此。存储设备包括多个数据块。
在步骤S402中,判断存储设备中是否存在通道号的块链表。块链表为以数据块为结点的链表。例如,图5A示出了多个通道号的块链表。例如,通道号x的块链表包括数据块x-1、x-2、x-3和x-M。类似地,通道号y的块链表包括数据块y-1、y-2、y-3和y-P。通道号z的块链表包括数据块z-1、z-2、z-3和z-Q。
在步骤S402确定存在通道号的块链表时,方法400可以执行步骤S403。在步骤S403中,判断通道号的最后一次写入数据的数据块是否写满。这里,最后一次写入数据的数据块也可以称为最新写入数据的数据块。
在步骤S403确定最后一次写入数据的数据块已写满时,方法400可以执行步骤S404,判断通道号的块链表中是否存在过期数据块。其中,过期数据块是指所存储数据过期的数据块。例如,数据块中数据的存储时间早于截止时间点,则该数据块为过期数据块。需要说明的是,文件系统设备130可以维护块链表中数据块的时效性,即确定数据块是未过期数据块(即数据未过期的数据块)还是过期数据块。例如,图5B示出了一个块链表中未过期数据块和过期数据块的分布示意图。需要说明的是,由于块链表中存储的数据为按照时间顺序的流数据,块链表中过期数据块为连续的数据块,未过期数据块同样为连续的数据块。例如,图5B中数据块x-1至x-2的一段链表中数据块均为过期数据块,而数据块x-3至数据块x-M的一段链表中数据块均为未过期数据块。
在步骤S404确定通道号的块链表中存在过期数据块时,方法400可以执行步骤S405,按照块链表中数据块的顺序,写入待存储的新数据,以便用新数据覆盖过期数据块中过期数据。这里,步骤S405可以在写满一个过期数据块后,直接在下一个过期数据块中写入新数据。
综上,根据本申请实施例的数据管理方法400,可以为通道号建立块链表结构,并且基于块链表中数据块的顺序,依次在过期数据块中覆盖写入新数据,实现了在块链表中循环写入数据。这样,数据管理方法400可以避免每次写入新数据时需要删除过期数据并且重新分配数据块的麻烦,从而能够避免删除数据块中数据的耗时和重新分配数据块的耗时,进而提高了数据存储效率。
图6示出了根据本申请一些实施例的数据管理方法600的流程图。方法600可以在文件系统设备130中执行,但不限于此。
如图6所示,在步骤S601中,获取要在存储设备中存储数据的通道号。每个通道号对应一路流数据。这里,一路流数据例如为一路视频流,但不限于此。存储设备包括多个数据块。
在步骤S602中,判断存储设备中是否存在通道号的块链表。块链表为以数据块为结点的链表。
在步骤S602确定存在通道号的块链表时,方法600可以执行步骤S603。在步骤S603中,判断通道号的最后一次写入数据的数据块是否写满。这里,最后一次写入数据的数据块也可以称为最新写入数据的数据块。
在步骤S603确定最后一次写入数据的数据块已写满时,方法600可以执行步骤S604,判断通道号的块链表中是否存在过期数据块。其中,过期数据块是指所存储数据过期的数据块。
在步骤S604确定通道号的块链表中存在过期数据块时,方法600可以执行步骤S605,按照块链表中数据块的顺序,写入待存储的新数据,以便用新数据覆盖过期数据块中过期数据。这里,步骤S605可以在写满一个过期数据块后,直接在下一个过期数据块中写入新数据。
另外,在步骤S604确定通道号的块链表中存在过期数据块时,方法600可以执行步骤S606,判断通道号中未过期数据块的占比是否高于第一比例阈值。这里,第一比例阈值可以根据需要设定,例如为80%。
在步骤S606确定未过期数据块的占比高于第一比例阈值时,方法600可以执行步骤S607,在通道号的块链表中插入空闲的数据块,以使得未过期数据块的占比低于第一比例阈值。需要说明的是,插入的空闲的数据块可以被认为是过期数据块,以便按照过期数据块直接存储数据。
综上,通过步骤S606和S607,方法600能够便于每个通道号的块链表保持一定比例(例如为20%)的过期数据块。在此基础上,在一个块链表的写入速度急剧增长时,方法600可以保证该块链表有充足的过期数据块,以便高效地在过期数据块中写入数据。
图7示出了根据本申请一些实施例的数据管理方法700的流程图。方法700可以在文件系统设备130中执行。
如图7所示,在步骤S701中,获取要在存储设备中存储数据的通道号。换言之,步骤S701可以确定申请存储空间的通道号。
在步骤S702中,判断存储设备中是否存在通道号的块链表。在一些实施例中,步骤S702可以实施为方法800。
如图8所示,在步骤S801中,判断通道号对应的最后一次写入数据的数据块的标识是否为有效值。在步骤S801确定标识为有效值时,方法800可以执行步骤S802,确定存在通道号的块链表。在步骤S801确定标识为无效值时,方法800可以执行步骤S803,确定通道号不存在块链表。这里,如果一个通道号已经存储过数据,则对应的最后一次写入数据的数据块的标识为有效值。反之,如果一个通道号为一个新出现的通道号,未存储过数据,则该通道号不具有块链表,则最后一次写入数据的数据块的标识为空,即标识为无效值。综上,方法800能够根据标识是否有效,确定一个通道号是否具有块链表。
在步骤S702确定不存在通道号的块链表时,方法700可以执行步骤S703,利用空闲的数据块,为通道号建立块链表。这里,空闲的数据块是指存储设备中未被任何块链表占用的数据块。例如,步骤S703可以为通道号分配一个空闲的数据块,该数据块可以作为通道号对应的块链表的首个数据块。又例如,步骤S703可以为通道号分配多个空闲的数据块,以建立包含多个数据块的块链表。
在步骤S704中,在通道号的块链表中存储新数据。即,步骤S704可以在新建立的块链表中写入数据。
在步骤S702确定存在通道号的块链表时,方法700可以执行步骤S705。在步骤S705中,判断通道号的最后一次写入数据的数据块是否写满。这里,最后一次写入数据的数据块也可以称为最新写入数据的数据块。
在步骤S705确定最后一次写入数据的数据块未写满时,方法700可以执行步骤S706,在最后一次写入数据的数据块中写入新数据。这里,在最后一次写入数据的数据块写满数据之后,文件系统设备130可以将该数据块设置为满数据块。如果该通道号还需要写入数据,方法可以继续执行步骤S705。
在步骤S705确定最后一次写入数据的数据块已写满时,方法700可以执行步骤S707,判断通道号的块链表中是否存在过期数据块。
在步骤S707确定通道号的块链表中不存在过期数据块时,方法700可以执行步骤S708,在通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储新数据。例如,步骤S708可以在最后一次写入数据的数据块之后的位置处,一次性插入一个或多个空闲的数据块。
在一些实施例中,步骤S708可以实施为方法900。
如图9所示,在步骤S901中,判断存储设备是否存在空闲的数据块。
在步骤S901确定存储设备不存在空闲的数据块时,方法900可以执行步骤S902,从存储设备中通道号的块链表之外的其他块链表中释放部分过期的数据块,并将释放的数据块作为空闲的数据块。换言之,如果在一个通道号需要空闲的数据块,并且存储设备中数据块已经全部分配给已有的块链表时,步骤S902可以从其他块链表获取数据块,并将获取的数据块设置为空闲的数据块。
在步骤S903中,在通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储新数据。另外,在步骤S901确定存储设备存在空闲的数据块时,可以直接执行步骤S903。
综上,根据本申请实施例的方法900可以在存储设备不存在空闲的数据块时,从具有过期数据块的块链表中释放一部分数据块,以使得各通道号均可以存储新数据。
在步骤S707确定通道号的块链表中存在过期数据块时,方法700可以执行步骤S709,按照块链表中数据块的顺序,写入待存储的新数据,以便用新数据覆盖过期数据块中过期数据。
另外,方法700还可以执行步骤S710,将通道号的块链表中数据过期的数据块设置为过期数据块。例如,文件系统设备130可以在每次过期时间点更新后,执行步骤S710,将数据存储时间点早于过期时间点的数据块设置为过期数据块。这里,数据块的时间点例如可以是数据块中数据的最后写入时间或者数据的采集时间,本申请对此不做限制。
综上,方法700可以为通道号建立块链表,并且可以在块链表空间不足时自动扩展块链表的存储空间,从而保证了块链表的可用性。另外,方法700通过更新过期时间点,并将数据过期的数据块设置为过期数据块,能够保证块链表能够循环写入数据,提高循环覆盖的效率,即提高数据存储效率。
另外,为了便于存储设备中各块链表均可以存储新数据,文件系统设备130还可以对多个块链表的过期数据块进行动态调整处理,以均衡各块链表的过期数据块的数量。具体而言,文件系统设备130还可以执行方法1000。在一些实施例中,本申请实施例可以在执行步骤S708时,触发方法1000的执行流程。在一些实施例中,本申请实施例可以将步骤S902实施为方法1000。在一些实施例中,本申请实施例也可以周期性执行方法1000,本申请对此不做限制。
如图10A所示,在步骤S1001中,对于存储设备中任一个通道号的块链表,判断该通道号的块链表中过期数据块占比是否高于第二比例阈值。这里,第二比例阈值例如为30%。
在步骤S1001确定该通道号的块链表中过期数据块占比高于第二比例阈值时,方法1000可以执行步骤S1002,释放该通道号的块链表中部分过期数据块,以使得该通道号的块链表中过期数据块占比不超过第二比例阈值。这里,释放的过期数据块可以作为空闲的数据块,以便需要空闲数据块的块链表使用。
。例如,在一个通道号A中过期数据块的比例超过第二比例阈值(例如为30%)。步骤S1002可以从通道号A的块链表中释放部分过期数据块,以便过期数据块的比例降低至低于第二比例阈值。另外,在该通道号A的块链表具有的过期数据块比例不超过第二比例阈值时时,步骤S1002不会从该通道号A的块链表中释放过期数据块。例如,图10B示出了根据本申请一些实施例的释放过期数据块的示意图。
综上,方法1000可以使得块链表不会占用过多的空闲数据块,以实现对数据块的均衡调整,从而能够使得各块链表的空闲资源(即过期数据块)达到均衡,从而增强存储设备中各通道的可用性。
另外说明的是,根据应用场景的需求,文件系统设备130还可以执行方法1000之外的其他数据块均衡策略,本申请对此不做限制。
图11示出了根据本申请一些实施例的数据管理装置1100的示意图。装置1100例如可以部署在文件系统设备130中。
如图11所示,数据管理装置1100可以包括:空间申请单元1101、判断单元1102和存储管理单元1103。
空间申请单元1101可以获取要在存储设备中存储数据的通道号。每个通道号对应一路流数据。存储设备包括多个数据块。
判断单元1102可以判断存储设备中是否存在通道号的块链表。块链表为以数据块为结点的链表。在存在通道号的块链表时,判断单元1102判断通道号的最后一次写入数据的数据块是否写满。在所述最后一次写入数据的数据块已写满时,判断单元1102判断通道号的块链表中是否存在过期数据块。其中,过期数据块是指所存储数据过期的数据块。
存储管理单元1103,在通道号的块链表中存在过期数据块时,按照块链表中数据块的顺序,写入待存储的新数据,以便用新数据覆盖过期数据块中过期数据。装置1100更具体的实施方式与方法700类似,这里不再赘述。
综上,根据本申请实施例的数据管理装置1100,可以为通道号建立块链表结构,并且基于块链表中数据块的顺序,依次在过期数据块中覆盖写入新数据,实现了在块链表中循环写入数据。这样,数据管理装置1100可以避免每次写入新数据时需要删除过期数据并且重新分配数据块的麻烦,从而能够避免删除数据块中数据的耗时和重新分配数据块的耗时,进而提高了数据存储效率。
在一些实施例中,在判断单元1102确定最后一次写入数据的数据块未写满时,存储管理单元1103在最后一次写入数据的数据块中写入新数据。
在一些实施例中,在通道号的块链表中存在过期数据块时,判断单元1102还可以判断通道号中未过期数据块的占比是否高于第一比例阈值。在未过期数据块的占比高于第一比例阈值时,存储管理单元1103在通道号的块链表中插入空闲的数据块,以使得未过期数据块的占比低于第一比例阈值。
在一些实施例中,对于所述存储设备中任一个通道号的块链表,判断单元1102可以判断该通道号的块链表中过期数据块占比是否高于第二比例阈值。在该通道号的块链表中过期数据块占比高于第二比例阈值时,存储管理单元1103释放该通道号的块链表中部分过期数据块,以使得该通道号的块链表中过期数据块占比不超过第二比例阈值。
在一些实施例中,在判断单元1102确定存储设备中不存在所述通道号的块链表时,存储管理单元1103利用空闲的数据块,为所述通道号建立块链表。存储管理单元1103可以在通道号的块链表中存储新数据。
在一些实施例中,在判断单元1102确定通道号的块链表中不存在过期数据块时,存储管理单元1103在通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储新数据。
在一些实施例中,存储管理单元1103可以判断存储设备是否存在空闲的数据块。在存储设备不存在空闲的数据块时,存储管理单元1103从存储设备中该通道号的块链表之外的其他块链表中释放部分过期的数据块,并将释放的数据块作为空闲的数据块。存储管理单元1103在通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储新数据。
在一些实施例中,存储管理单元1103将通道号的块链表中数据过期的数据块设置为过期数据块。
图12示出了根据本申请一些实施例的计算设备的示意图。如图12所示,该计算设备包括一个或者多个处理器(CPU)1202、通信模块1204、存储器1206、用户接口1210,以及用于互联这些组件的通信总线1208。
处理器1202可通过通信模块1204接收和发送数据以实现网络通信和/或本地通信。
用户接口1210包括输出设备1212和输入设备1214。
存储器1206可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器1206存储处理器1202可执行的指令集,包括:
操作系统1216,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用1218,包括用于实现上述数据管理方案的各种程序。这种程序能够实现上述各实例中的处理流程,比如可以包括数据管理方法。
另外,本申请的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和\或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本申请还公开了一种非易失性存储介质,其中存储有程序。该程序包括指令,所述指令当由处理器执行时,使得计算设备执行根据本申请的数据管理方法。
另外,本申请所述的方法步骤除了可以用数据处理程序来实现,还可以由硬件来实现,例如,可以由逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌微控制器等来实现。因此这种可以实现本申请所述确定对象之间关系信息的方法的硬件也可以构成本申请。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种数据管理方法,其特征在于,包括:
获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据,所述存储设备包括多个数据块;
判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;
在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;
在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块,其中,所述过期数据块是指所存储数据过期的数据块;
在所述通道号的块链表中存在过期数据块时,按照所述通道号的块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述通道号的块链表中的所述过期数据块中的过期数据;
在所述通道号的块链表中不存在过期数据块时,在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据;
在所述存储设备中不存在所述通道号的块链表时,利用空闲的数据块,为所述通道号建立块链表,以在所述通道号的块链表中存储所述新数据。
2.如权利要求1所述的数据管理方法,其特征在于,进一步包括:
在所述通道号的块链表中存在过期数据块时,判断所述通道号中未过期数据块的占比是否高于第一比例阈值;
在未过期数据块的占比高于第一比例阈值时,在所述通道号的块链表中插入空闲的数据块,以使得未过期数据块的占比低于第一比例阈值。
3.如权利要求1所述的数据管理方法,其特征在于,进一步包括:
对于所述存储设备中任一个通道号的块链表,判断该通道号的块链表中过期数据块占比是否高于第二比例阈值;
在该通道号的块链表中过期数据块占比高于第二比例阈值时,释放该通道号的块链表中部分过期数据块,以使得该通道号的块链表中过期数据块占比不超过第二比例阈值。
4.如权利要求1所述的数据管理方法,其特征在于,所述在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据,包括:
判断所述存储设备是否存在空闲的数据块;
在所述存储设备不存在空闲的数据块时,从所述存储设备中所述通道号的块链表之外的其他块链表中释放部分过期的数据块,并将释放的数据块作为空闲的数据块;
在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据。
5.如权利要求1所述的数据管理方法,其特征在于,进一步包括:
将所述通道号的块链表中数据过期的数据块设置为过期数据块。
6.如权利要求1所述的数据管理方法,其特征在于,进一步包括:
在所述最后一次写入数据的数据块未写满时,在所述最后一次写入数据的数据块中写入新数据。
7.一种数据管理装置,其特征在于,包括:
空间申请单元,获取要在存储设备中存储数据的通道号,每个通道号对应一路流数据,所述存储设备包括多个数据块;
判断单元,判断所述存储设备中是否存在所述通道号的块链表,所述块链表为以数据块为结点的链表;在存在所述通道号的块链表时,判断所述通道号的最后一次写入数据的数据块是否写满;在所述最后一次写入数据的数据块已写满时,判断所述通道号的块链表中是否存在过期数据块,其中,所述过期数据块是指所存储数据过期的数据块;
存储管理单元,在所述通道号的块链表中存在过期数据块时,按照所述通道号的块链表中数据块的顺序,写入待存储的新数据,以便用所述新数据覆盖所述通道号的块链表中的所述过期数据块中的过期数据;在所述通道号的块链表中不存在过期数据块时,在所述通道号的块链表中插入空闲的数据块,以便在插入的数据块中存储所述新数据;在所述存储设备中不存在所述通道号的块链表时,利用空闲的数据块,为所述通道号建立块链表,以在所述通道号的块链表中存储所述新数据。
8.一种数据管理系统,其特征在于,包括:
存储设备,包括多个数据块;
文件系统设备,用于执行如权利要求1-6中任一项所述的数据管理方法。
9.一种计算设备,其特征在于,包括:
存储器;
处理器;
程序,存储在该存储器中并被配置为由所述处理器执行,所述程序包括用于执行权利要求1-6中任一项所述的数据管理方法的指令。
10.一种存储介质,存储有程序,所述程序包括指令,其特征在于,所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1-6中任一项所述的数据管理方法。
CN202110427833.6A 2021-04-21 2021-04-21 数据管理方法、装置、系统、计算设备及存储介质 Active CN113032414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110427833.6A CN113032414B (zh) 2021-04-21 2021-04-21 数据管理方法、装置、系统、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110427833.6A CN113032414B (zh) 2021-04-21 2021-04-21 数据管理方法、装置、系统、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN113032414A CN113032414A (zh) 2021-06-25
CN113032414B true CN113032414B (zh) 2022-09-23

Family

ID=76457312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110427833.6A Active CN113032414B (zh) 2021-04-21 2021-04-21 数据管理方法、装置、系统、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN113032414B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115623151B (zh) * 2022-12-20 2023-03-03 苏州万店掌网络科技有限公司 一种音视频存储方法及网络录像设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562381A (zh) * 2017-08-30 2018-01-09 紫光华山信息技术有限公司 一种数据处理方法及装置
CN109189337A (zh) * 2018-08-21 2019-01-11 浪潮电子信息产业股份有限公司 一种选择数据块的方法、装置、设备及可读存储介质
CN109391647A (zh) * 2017-08-04 2019-02-26 杭州海康威视系统技术有限公司 存储资源回收方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737389B (zh) * 2018-07-19 2023-05-16 杭州海康威视系统技术有限公司 存储数据的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391647A (zh) * 2017-08-04 2019-02-26 杭州海康威视系统技术有限公司 存储资源回收方法、装置及系统
CN107562381A (zh) * 2017-08-30 2018-01-09 紫光华山信息技术有限公司 一种数据处理方法及装置
CN109189337A (zh) * 2018-08-21 2019-01-11 浪潮电子信息产业股份有限公司 一种选择数据块的方法、装置、设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
G2G数据交换平台数据管理中心子系统的设计与实现;杨平;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20180115;全文 *

Also Published As

Publication number Publication date
CN113032414A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN103064639B (zh) 数据存储方法及装置
CN110321301B (zh) 一种数据处理的方法及装置
WO2019001020A1 (zh) 基于分布式系统的存储空间整理方法、装置及系统
TW201220045A (en) Systems and methods for managing an upload of files in a shared cache storage system
CN110858162B (zh) 内存管理方法及装置、服务器
CN110704214B (zh) 进程间通信方法和装置
WO2017050064A1 (zh) 共享内存数据库的内存管理方法及装置
WO2004055675A1 (ja) ファイル管理装置、ファイル管理プログラム、ファイル管理方法およびファイルシステム
WO2020199760A1 (zh) 数据存储方法、存储器和服务器
CN109308269B (zh) 一种内存管理方法及装置
WO2021047425A1 (zh) 一种持久性内存的虚拟化方法及系统
CN100403279C (zh) 信息记录介质的数据区域管理方法、使用数据区域管理方法的信息处理装置
CN111857539B (zh) 用于管理存储系统的方法、设备和计算机可读介质
CN113032414B (zh) 数据管理方法、装置、系统、计算设备及存储介质
CN114556309A (zh) 内存空间的分配方法、装置及存储介质
CN113805816B (zh) 一种磁盘空间管理方法、装置、设备及存储介质
US20170255393A1 (en) Storage device and storage method
US10311026B2 (en) Compressed data layout for optimizing data transactions
CN113853778B (zh) 一种文件系统的克隆方法及装置
CN112597102B (zh) 一种高效的镜像文件系统实现方法
CN113391757B (zh) 一种节点扩展方法、装置及迁入节点
CN111125011B (zh) 一种文件处理方法、系统及相关设备
CN115203133A (zh) 数据处理方法、装置、归约服务器及映射服务器
CN109343928B (zh) 虚拟化集群中虚拟机的虚拟内存文件重定向方法及其系统
EP3418914A1 (en) Data management apparatuses, methods, and non-transitory tangible machine-readable media thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant