CN110149803A - 数据存储方法、系统及终端设备 - Google Patents
数据存储方法、系统及终端设备 Download PDFInfo
- Publication number
- CN110149803A CN110149803A CN201880001157.2A CN201880001157A CN110149803A CN 110149803 A CN110149803 A CN 110149803A CN 201880001157 A CN201880001157 A CN 201880001157A CN 110149803 A CN110149803 A CN 110149803A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- concordance list
- file
- data block
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于计算机技术领域,公开了一种数据存储方法、系统及终端设备,包括:读取数据块索引表,根据数据块索引表查找空闲数据块,并更新空闲数据块对应的数据块索引节点;为空闲数据块中的块内索引表分配缓存;循环读取每个通道的数据缓存区中的数据;若目标通道的数据缓存区中的数据的时间长度大于或等于预设时间长度,则读取目标通道的数据缓存区中的预设时间长度的数据,将预设时间长度的数据写入空闲数据块,并更新空闲数据块对应的数据块索引节点和缓存中的块内索引表;若空闲数据块写满,则将缓存中的块内索引表写入空闲数据块的尾部,并继续执行根据数据块索引表查找空闲数据块的步骤。本发明能减少写入位置,提高磁盘写入速度。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种数据存储方法、系统及终端设备。
背景技术
随着监控数据的高清化及监控通道数的增多,监控需要存储的数据量也越来越大。硬盘作为一种经济高效的存储介质,广泛应用到了各行各业,但磁盘密度受到物理定律的限制,目前硬盘使用的垂直磁记录技术即将达到极限,由此叠瓦式磁记录(ShingledMagnetic Recording,SMR)盘应运而生。对于SMR盘,通常会设置一个写速度比较高的缓存,数据先写入缓存,等到SMR盘空闲时,再将数据从缓存写入叠瓦式磁道,这样可以提高写入效率。但是,由于缓存空间有限,当写入位置过多时,缓存空间不足,导致写入速度会大大降低。
目前,通常将一个通道的数据作为一个文件,由于所有通道都会同时产生数据,所以会有多个文件同时写入SMR盘,这样会增加写位置,导致写速度下降。
发明内容
有鉴于此,本发明实施例提供了一种数据存储方法、系统及终端设备,以解决现有技术中对于多通道的数据写入SMR盘时,写速度下降的问题。
本发明实施例的第一方面提供了一种数据存储方法,包括:
读取数据块索引表,根据数据块索引表查找空闲数据块,并更新空闲数据块对应的数据块索引节点,数据块索引表包括多个数据块索引节点;
为空闲数据块中的块内索引表分配缓存;
循环读取每个通道的数据缓存区中的数据;
若目标通道的数据缓存区中的数据的时间长度大于或等于预设时间长度,则读取目标通道的数据缓存区中的预设时间长度的数据,将预设时间长度的数据写入空闲数据块,并更新空闲数据块对应的数据块索引节点和缓存中的块内索引表,目标通道为所有通道中的任一个;
若空闲数据块写满,则将缓存中的块内索引表写入空闲数据块的尾部,并继续执行根据数据块索引表查找空闲数据块的步骤。
本发明实施例的第二方面提供了一种数据存储系统,包括:
空闲数据块查找模块,用于读取数据块索引表,根据数据块索引表查找空闲数据块,并更新空闲数据块对应的数据块索引节点,数据块索引表包括多个数据块索引节点;
缓存分配模块,用于为空闲数据块中的块内索引表分配缓存;
循环读取模块,用于循环读取每个通道的数据缓存区中的数据;
数据写入模块,用于若目标通道的数据缓存区中的数据的时间长度大于或等于预设时间长度,则读取目标通道的数据缓存区中的预设时间长度的数据,将预设时间长度的数据写入空闲数据块,并更新空闲数据块对应的数据块索引节点和缓存中的块内索引表,目标通道为所有通道中的任一个;
索引表写入模块,用于若空闲数据块写满,则将缓存中的块内索引表写入空闲数据块的尾部,并继续执行根据数据块索引表查找空闲数据块的步骤。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上所述数据存储方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现如上所述数据存储方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例首先读取数据块索引表,根据数据块索引表查找空闲数据块,并更新空闲数据块对应的数据块索引节点,为空闲数据块中的块内索引表分配缓存,然后循环读取每个通道的数据缓存区中的数据,若目标通道的数据缓存区中的数据的时间长度大于或等于预设时间长度,则读取目标通道的数据缓存区中的预设时间长度的数据,将预设时间长度的数据写入空闲数据块,并更新空闲数据块对应的数据块索引节点和缓存中的块内索引表,目标通道为所有通道中的任一个,最后若空闲数据块写满,则将缓存中的块内索引表写入空闲数据块的尾部,并继续执行根据数据块索引表查找空闲数据块的步骤。本发明实施例通过循环读取每个通道的数据缓存区中的数据,并判断每个通道的数据缓存区中的数据的时间长度是否大于或等于预设时间长度,若是,则将预设时间长度的数据写入空闲数据块,能够将多通道的数据合并成一路数据进行写入操作,减少写入位置,提高磁盘写入速度;还通过数据块索引表和数据块中的块内索引表构建两级索引,可以加快检索和读取速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的数据存储方法的实现流程示意图;
图2是本发明一实施例提供的数据块索引表的示意图;
图3是本发明一实施例提供的数据块中的块内索引表的示意图;
图4是本发明又一实施例提供的数据存储方法的实现流程示意图;
图5是本发明又一实施例提供的数据存储方法的实现流程示意图;
图6是本发明一实施例提供的数据存储系统的示意框图;
图7是本发明一实施例提供的终端设备的示意框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明一实施例提供的数据存储方法的实现流程示意图,为了便于说明,仅示出了与本发明实施例相关的部分。本发明实施例的执行主体可以是终端设备。如图1所示,该方法可以包括以下步骤:
步骤S101:读取数据块索引表,根据数据块索引表查找空闲数据块,并更新空闲数据块对应的数据块索引节点,数据块索引表包括多个数据块索引节点。
在本发明实施例中,将SMR盘的存储空间按照预设大小划分成多个数据块,可以为每个数据块进行编号,编号可以从0开始,依次递增。其中,预设大小可以是256兆(MByte,MB)。例如,一个4T的硬盘,按照256MB进行划分,可以得到16384个数据块,为这16384个数据块依次进行编号,编号为0到16383。
将划分的所有的数据块通过数据块索引表进行存储。如图2所示,数据块索引表包括多个数据块索引节点,每个数据块索引节点对应一个数据块。数据块索引节点包括文件归属戳、文件内部编号、文件开始时间、文件结束时间、通道信息、数据块类型、保留字段和校验位,其定义如下:
其中,owner_stamp为文件归属戳,文件归属戳也可以称为文件标识,不同的文件对应的文件归属戳不同,通过文件归属戳可以查找同一个文件分别存储在哪几个数据块中。本发明实施例中的文件是具有时间属性的文件,例如视频文件、音频文件等等。由于监控通道为多个通道,所以,所有的通道均会同时产生数据。一个文件是由时间连续的所有通道的数据组成的。
inner_num为文件内部编号,用来表示文件存储的顺序,同一个文件的文件内部编号可以是从1开始的连续自然数。一个文件往往存储在多个数据块中,假设某个文件存储在数据块1、3和5中,数据块1对应的文件内部编号为3,数据块2对应的文件内部编号为2,数据块5对应的文件内部编号为1,那么该文件存储时的顺序是先存储在数据块5中,数据块5存储满了之后,再存储在数据块3中,数据块3存储满了之后,又存储在数据块1中。
start_time为文件开始时间,表示该数据块内文件的开始时间。
end_time为文件结束时间,表示该数据块内文件的结束时间。即该数据块内存储的数据为该文件从文件开始时间到文件结束时间这段时间内的数据。
chn_info为通道信息,表示该数据块存储有哪些通道的数据。使用比特(bit)位表示是否存储有对应通道的数据。例如,若第0位为1,则表示存储有通道0的数据,若第0位为0,则表示没有存储通道0的数据,其它通道类似,不再赘述。
block_type为数据块类型,用于区分数据块的类型。可以用0表示空闲数据块,即没有存储数据的数据块;用1表示存储有数据块索引表的数据块;用2表示存储有数据的数据块。
reserve[7]为保留字段。
check_num为校验位,通过校验位判断数据是否合法。
一个数据块索引节点为32个字节,若一个4T的硬盘总共有16384个数据块,那么该硬盘对应的数据块索引表的大小为16384*32=524288字节。
为了能够快速获取到数据块索引表,将数据块索引表固定存储在编号为0的数据块中,编号为0的数据块中只存储数据块索引表,因此,编号为0的数据块对应的数据块类型为1,其它的数据块用来存储各个通道的数据。
每个数据块都分为数据区和索引区两部分,如图2所示。数据区存储各个通道的数据,索引区存储有块内索引表,块内索引表是以每个通道的预设时间长度的数据进行构建的,预设时间长度可以为1秒。如图3所示,块内索引表包括多个块内索引节点,每个块内索引节点存储有一秒数据的相关信息。通过块内索引表可以准确定位到某个通道某一秒的数据。为了避免数据区写入数据的同时索引区也写入信息的情况发生,即为了避免写入位置增加的情况发生,先将索引区(块内索引表)缓存到内存中,当数据区写完了之后,再将内存中的块内索引表写入索引区,相当于数据块的写入操作为顺序写入。
块内索引表记录了每一秒数据的相关信息,块内索引节点的定义如下:
其中,chn为通道号,表示该块内索引节点对应的数据属于该通道号。
hour、minute和second分别为时、分和秒,表示该块内索引节点对应的数据为该时、分、秒的数据。
offset为数据偏移量,表示该块内索引节点对应的数据在数据块内的偏移量。
length为数据大小,表示该块内索引节点对应的数据的大小。
flag为索引标识,若为0表示空闲,若为1表示占用。
reserve[3]为保留字段。
由块内索引节点的定义可知,一个块内索引节点为16个字节。
对于256MB的数据块,为索引区分配256KB的空间,那么索引区可以存储256*1024/16=16384个块内索引节点,即16384个块内索引节点用来索引256MB的数据,平均每个块内索引节点索引的数据大小为256*1024/16384=16KB,也就是说,平均每秒的数据为16KB,由于视频数据或音频数据的码率均大于16bps,所以256KB的索引区对于256MB的数据块完全够用。另外,256KB的索引区占用256MB的数据块的1/1024,即空间利用率可以达到99.9%。
在本发明实施例中,当需要写入数据时,首先读取数据块索引表,根据数据块索引表查找空闲数据块,查找到空闲数据块后,将该空闲数据块对应的数据块索引节点中的数据块类型由0更新为2,并更新文件内部编号。
步骤S102:为空闲数据块中的块内索引表分配缓存。
在本发明实施例中,在向空闲数据块中写入数据之前,首先为空闲数据块中的块内索引表分配缓存,将该块内索引表保存在缓存中,在之后的数据写入的同时,更新缓存中的块内索引表。
步骤S103:循环读取每个通道的数据缓存区中的数据。
其中,每个通道都有一个对应的数据缓存区,数据缓存区中保存有对应通道的监控数据。
循环读取每个通道的数据缓存区中的数据,并判断每个通道的数据缓存区中的数据的时间长度是否大于或等于预设时间长度。
假设有4个通道,分别为通道0、1、2和3,那么循环读取每个通道的数据缓存区中的数据,可以是首先读取通道0的数据缓存区中的数据,再读取通道1的数据缓存区中的数据,然后读取通道2的数据缓存区中的数据,接着读取通道3的数据缓存区中的数据,接着再次读取通道0的数据缓存区中的数据,如此循环读取每个通道的数据缓存区中的数据。
步骤S104:若目标通道的数据缓存区中的数据的时间长度大于或等于预设时间长度,则读取目标通道的数据缓存区中的预设时间长度的数据,将预设时间长度的数据写入空闲数据块,并更新空闲数据块对应的数据块索引节点和缓存中的块内索引表,目标通道为所有通道中的任一个。
其中,预设时间长度可以为1秒。
在本发明实施例中,若目标通道的数据缓存区中的数据的时间长度大于或等于1秒,则读取该目标通道的数据缓存区中的时间长度为1秒的数据,将这1秒的数据写入空闲数据块的数据区,并更新空闲数据块对应的数据块索引节点和缓存中的块内索引表。
更新空闲数据块对应的数据块索引节点可以是更新该数据块索引节点的文件开始时间、文件结束时间、通道信息等内容。
更新缓存中的块内索引表可以是查找该块内索引表中空闲的块内索引节点,即索引标识为0的块内索引节点,根据目标通道的通道号更新所述空闲的块内索引节点的通道号,根据这1秒的数据的时间更新所述空闲的块内索引节点的时、分和秒,根据这1秒的数据在空闲数据块中写入的位置更新所述空闲的块内索引节点的数据偏移量,根据这1秒的数据的大小更新所述空闲的块内索引节点的数据大小,将索引标识更新为1。
步骤S105:若空闲数据块写满,则将缓存中的块内索引表写入空闲数据块的尾部,并继续执行根据数据块索引表查找空闲数据块的步骤。
在本发明实施例中,若空闲数据块写满,也就是说空闲数据块的数据区写满,则将缓存中的块内索引表写入空闲数据块的尾部,即写入空闲数据块的索引区,并重新查找新的数据块,即返回步骤S101中的根据数据块索引表查找空闲数据块的步骤进行循环。
由上述描述可知,本发明实施例通过循环读取每个通道的数据缓存区中的数据,并判断每个通道的数据缓存区中的数据的时间长度是否大于或等于预设时间长度,若是,则将预设时间长度的数据写入空闲数据块,能够将多通道的数据合并成一路数据进行顺序写入操作,大大降低硬盘的寻址时间,减少写入位置,提高SMR盘的写入速度,能最大限速地避免SMR盘的写放大;通过数据块索引表和数据块中的块内索引表构建两级索引,由于索引结构较小,可以在较小的内存开销下,完成高效的数据检索和对指定数据的读取;通过在写入数据前,为空闲数据块中的块内索引表分配缓存,在写入数据的同时,更新缓存中的块内索引表,在数据写满后,将缓存中的块内索引表写入空闲数据块,实现了数据块内的数据区和索引区的顺序写入,减少了写入位置,进一步提高了写入速度。
作为本发明又一实施例,数据块索引节点包括文件归属戳和数据块类型;
在读取数据块索引表之后,还包括:
将数据块索引表缓存到内存中。
根据数据块索引表查找空闲数据块,并更新空闲数据块对应的数据块索引节点,包括:
遍历内存中的数据块索引表,得到最大的文件归属戳,并根据最大的文件归属戳确定待存储文件的文件归属戳。
根据数据块类型查找空闲数据块,并根据待存储文件的文件归属戳更新空闲数据块对应的数据块索引节点。
在本发明实施例中,读取数据块索引表之后,将数据块索引表缓存到内存中,在之后的步骤中,需要读取数据块索引表的时候,可以直接在内存中读取,相比于在硬盘中读取数据块索引表,读取速度更快。
通过比较数据块索引表中所有的数据块索引节点的文件归属戳,得到所有的数据块索引节点的文件归属戳中最大的文件归属戳,最大的文件归属戳加1得到待存储文件的文件归属戳。
空闲数据块即为数据块类型为0的数据块索引节点对应的数据块。查找到空闲数据块后,将空闲数据块对应的数据块索引节点的文件归属戳更新为所述待存储文件的文件归属戳,将空闲数据块对应的数据块索引节点的数据块类型更新为2,并更新空闲数据块对应的数据块索引节点的文件内部编号,该文件内部编号更新为待存储文件在上一个存储的数据块对应的数据块索引节点的文件内部编号加1,若不存在上一个存储的数据块,则该文件内部编号从头开始编号,可以更新为1。
作为本发明又一实施例,在循环读取每个通道的数据缓存区中的数据之后,还包括:
若目标通道的数据缓存区中的数据的时间长度小于预设时间长度,则继续判断下一个通道的数据缓存区中的数据的时间长度是否大于或等于预设时间长度。
在更新空闲数据块对应的数据块索引节点和缓存中的块内索引表之后,还包括:
若空闲数据块未写满,则继续执行循环读取每个通道的数据缓存区中的数据的步骤。
在本发明实施例中,若目标通道的数据缓存区中的数据的时间长度小于1秒,则继续读取下一个通道的数据缓存区中的数据,并判断下一个通道的数据缓存区中的数据的时间长度是否大于或等于1秒。
若空闲数据块未写满,即空闲数据块的数据区未写满,则返回步骤S103循环执行。
图4是本发明又一实施例提供的数据存储方法的实现流程示意图。如图4所示,在上述实施例的基础上,数据存储方法还可以包括以下步骤:
步骤S401:获取待查询信息。
其中,待查询信息包括待查询开始时间、待查询结束时间和待查询通道号,用于查询待查询开始时间和待查询结束时间之间的这段时间内,所述待查询通道号的数据所属的文件信息列表。
步骤S402:遍历数据块索引表,将所有文件归属戳相同的数据块索引节点合并为一项文件描述信息。
其中,文件描述信息包括文件归属戳、文件开始时间、文件结束时间和文件包含的通道信息,其定义如下:
其中,owner_stamp为文件归属戳。
start_time为文件开始时间,该文件开始时间为该文件归属戳对应的所有数据块中的第一个数据块的文件开始时间。
end_time为文件结束时间,该文件结束时间为该文件归属戳对应的所有数据块中的最后一个数据块的文件结束时间。
chn_info为文件包含的通道信息,该文件包含的通道信息为文件归属戳对应的所有数据块的通道信息的并集。
在本发明实施例中,将所有文件归属戳相同的数据块索引节点合并为一项文件描述信息,即一个文件对应一项文件描述信息。
步骤S403:根据文件描述信息确定待查询信息对应的查询结果。
查找文件描述信息中的文件开始时间和文件结束时间之间的这段时间包含待查询开始时间和待查询结束时间之间的这段时间,且在文件包含的通道信息中,待查询通道号对应的比特位为1的文件信息列表。其中,文件信息列表可以包括文件归属戳、文件开始时间、文件结束时间和文件包含的通道信息等内容。
作为本发明又一实施例,待查询信息包括待查询开始时间、待查询结束时间和待查询通道号,文件描述信息包括文件归属戳、文件开始时间、文件结束时间和文件包含的通道信息;
根据文件描述信息确定待查询信息对应的查询结果,包括:
根据文件开始时间、文件结束时间和文件包含的通道信息,确定待查询开始时间、待查询结束时间和待查询通道号对应的文件信息列表。
由上述描述可知,本发明实施例可以根据待查询开始时间、待查询结束时间和待查询通道号查询得到符合要求的文件信息列表。
图5是本发明又一实施例提供的数据存储方法的实现流程示意图。如图5所示,在上述实施例的基础上,数据存储方法还可以包括以下步骤:
步骤S501:获取定位时间和待读取通道号。
在本发明实施例中,读取定位时间之后的所述待读取通道号的数据。
步骤S502:遍历数据块索引表,得到定位时间所属的定位数据块。
其中,将定位时间所属的数据块称为定位数据块。
在本发明实施例中,遍历数据块索引表,根据文件开始时间和文件结束时间得到定位时间所属的定位数据块,即定位数据块对应的文件开始时间和文件结束时间之间的这段时间包含所述定位时间。
步骤S503:读取定位数据块中的定位块内索引表,并将定位块内索引表缓存到内存中。
在本发明实施例中,将定位数据块中的块内索引表称为定位块内索引表。读取定位块内索引表,并将定位块内索引表缓存到内存中。
步骤S504:遍历内存中的定位块内索引表,确定定位时间和待读取通道号所在的定位块内索引节点,并根据定位块内索引节点中的数据偏移量,确定待读取数据的位置。
在本发明实施例中,将定位时间和待读取通道号所在的块内索引节点称为定位块内索引节点。即定位块内索引节点的时分秒为所述定位时间,且定位块内索引节点的通道号为待读取通道号。
获取定位块内索引节点中的数据偏移量,并根据该数据偏移量确定定位数据块中待读取数据的位置。
步骤S505:根据待读取数据的位置读取待读取数据。
在待读取数据的位置读取大小为定位块内索引节点的数据大小的待读取数据。
步骤S506:在定位块内索引表中的定位块内索引节点之后的块内索引节点中,查找是否存在包含待读取通道号的目标块内索引节点。
在本发明实施例中,将在定位块内索引表中的定位块内索引节点之后的块内索引节点中,通道号为待读取通道号的块内索引节点称为目标块内索引节点。
步骤S507:若存在目标块内索引节点,则将目标块内索引节点作为新的定位块内索引节点,并继续执行根据定位块内索引节点中的数据偏移量,确定待读取数据的位置的步骤。
若存在目标块内索引节点,则将目标块内索引节点作为新的定位块内索引节点,并返回步骤S504的根据定位块内索引节点中的数据偏移量,确定待读取数据的位置的步骤进行循环。
步骤S508:若不存在目标块内索引节点,则在数据块索引表中,查找是否存在文件归属戳与定位数据块对应的文件归属戳相同,且文件内部编号为定位数据块对应的文件内部编号加一的目标数据块索引节点。
其中,将文件归属戳与定位数据块对应的文件归属戳相同,且文件内部编号为定位数据块对应的文件内部编号加一的数据块索引节点作为目标数据块索引节点。
若不存在目标块内索引节点,则在数据块索引表中,查找是否存在目标数据块索引节点。
步骤S509:若存在目标数据块索引节点,则将目标数据块索引节点对应的数据块作为新的定位数据块,读取新的定位数据块中的新的定位块内索引表,并将新的定位块内索引表缓存到内存中。
其中,将新的定位数据块中的块内索引表作为新的定位块内索引表。
步骤S510:遍历内存中的新的定位块内索引表,确定待读取通道号所在的新的定位块内索引节点,并继续执行根据定位块内索引节点中的数据偏移量,确定待读取数据的位置的步骤。
在本发明实施例中,将在新的定位块内索引表中,通道号与待读取通道号相同的块内索引节点作为新的定位块内索引节点,用新的定位块内索引节点替代之前的定位块内索引节点,返回步骤S504中的根据定位块内索引节点中的数据偏移量,确定待读取数据的位置的步骤进行循环执行。
步骤S511:若不存在目标数据块索引节点,则数据读取结束。
由上述描述可知,本发明实施例可以读取某一通道中的某一时间节点之后的数据,首先根据数据块索引表定位数据块,然后通过块内索引表进行精准定位,能够高效地定位到所需数据。
作为本发明又一实施例,数据块索引节点包括文件开始时间和文件结束时间;
遍历数据块索引表,得到定位时间所属的定位数据块,包括:
遍历数据块索引表,根据文件开始时间和文件结束时间得到定位时间所属的定位数据块。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6是本发明一实施例提供的数据存储系统的示意框图,为了便于说明,仅示出与本发明实施例相关的部分。
在本发明实施例中,数据存储系统6包括:
空闲数据块查找模块61,用于读取数据块索引表,根据数据块索引表查找空闲数据块,并更新空闲数据块对应的数据块索引节点,数据块索引表包括多个数据块索引节点;
缓存分配模块62,用于为空闲数据块中的块内索引表分配缓存;
循环读取模块63,用于循环读取每个通道的数据缓存区中的数据;
数据写入模块64,用于若目标通道的数据缓存区中的数据的时间长度大于或等于预设时间长度,则读取目标通道的数据缓存区中的预设时间长度的数据,将预设时间长度的数据写入空闲数据块,并更新空闲数据块对应的数据块索引节点和缓存中的块内索引表,目标通道为所有通道中的任一个;
索引表写入模块65,用于若空闲数据块写满,则将缓存中的块内索引表写入空闲数据块的尾部,并继续执行根据数据块索引表查找空闲数据块的步骤。
可选地,空闲数据块查找模块61,还用于将数据块索引表缓存到内存中;
空闲数据块查找模块61还包括:
文件归属戳获取单元,用于遍历内存中的数据块索引表,得到最大的文件归属戳,并根据最大的文件归属戳确定待存储文件的文件归属戳;
空闲数据块查找单元,用于根据数据块类型查找空闲数据块,并根据待存储文件的文件归属戳更新空闲数据块对应的数据块索引节点。
可选地,数据存储系统6还包括:
判断模块,用于若目标通道的数据缓存区中的数据的时间长度小于预设时间长度,则继续判断下一个通道的数据缓存区中的数据的时间长度是否大于或等于预设时间长度;
第一循环模块,用于若空闲数据块未写满,则继续执行循环读取每个通道的数据缓存区中的数据的步骤。
可选地,数据块索引节点包括文件归属戳;
数据存储系统6还包括:
第一获取模块,用于获取待查询信息;
合并模块,用于遍历数据块索引表,将所有文件归属戳相同的数据块索引节点合并为一项文件描述信息;
查询结果获取模块,用于根据文件描述信息确定待查询信息对应的查询结果。
可选地,待查询信息包括待查询开始时间、待查询结束时间和待查询通道号,文件描述信息包括文件归属戳、文件开始时间、文件结束时间和文件包含的通道信息;
查询结果获取模块,具体用于根据文件开始时间、文件结束时间和文件包含的通道信息,确定待查询开始时间、待查询结束时间和待查询通道号对应的文件信息列表。
可选地,数据存储系统6还包括:
第二获取模块,用于获取定位时间和待读取通道号;
定位数据块确定模块,用于遍历数据块索引表,得到定位时间所属的定位数据块;
索引表读取模块,用于读取定位数据块中的定位块内索引表,并将定位块内索引表缓存到内存中;
读取位置确定模块,用于遍历内存中的定位块内索引表,确定定位时间和待读取通道号所在的定位块内索引节点,并根据定位块内索引节点中的数据偏移量,确定待读取数据的位置;
数据读取模块,用于根据待读取数据的位置读取待读取数据;
索引节点查找模块,用于在定位块内索引表中的定位块内索引节点之后的块内索引节点中,查找是否存在包含待读取通道号的目标块内索引节点;
第一处理模块,用于若存在目标块内索引节点,则将目标块内索引节点作为新的定位块内索引节点,并继续执行根据定位块内索引节点中的数据偏移量,确定待读取数据的位置的步骤;
第二处理模块,用于若不存在目标块内索引节点,则在数据块索引表中,查找是否存在文件归属戳与定位数据块对应的文件归属戳相同,且文件内部编号为定位数据块对应的文件内部编号加一的目标数据块索引节点;
第三处理模块,用于若存在目标数据块索引节点,则将目标数据块索引节点对应的数据块作为新的定位数据块,读取新的定位数据块中的新的定位块内索引表,并将新的定位块内索引表缓存到内存中;
第二循环模块,用于遍历内存中的新的定位块内索引表,确定待读取通道号所在的定位块内索引节点,并继续执行根据定位块内索引节点中的数据偏移量,确定待读取数据的位置的步骤;
第四处理模块,用于若不存在目标数据块索引节点,则数据读取结束。
可选地,数据块索引节点包括文件开始时间和文件结束时间;
定位数据块确定模块,具体用于遍历数据块索引表,根据文件开始时间和文件结束时间得到定位时间所属的定位数据块。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述数据存储系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图7是本发明一实施例提供的终端设备的示意框图。如图7所示,该实施例的终端设备7包括:一个或多个处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个数据存储方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述数据存储系统实施例中各模块/单元的功能,例如图6所示模块61至65的功能。
示例性地,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成空闲数据块查找模块、缓存分配模块、循环读取模块、数据写入模块和索引表写入模块,各模块具体功能如下:
空闲数据块查找模块,用于读取数据块索引表,根据数据块索引表查找空闲数据块,并更新空闲数据块对应的数据块索引节点,数据块索引表包括多个数据块索引节点;
缓存分配模块,用于为空闲数据块中的块内索引表分配缓存;
循环读取模块,用于循环读取每个通道的数据缓存区中的数据;
数据写入模块,用于若目标通道的数据缓存区中的数据的时间长度大于或等于预设时间长度,则读取目标通道的数据缓存区中的预设时间长度的数据,将预设时间长度的数据写入空闲数据块,并更新空闲数据块对应的数据块索引节点和缓存中的块内索引表,目标通道为所有通道中的任一个;
索引表写入模块,用于若空闲数据块写满,则将缓存中的块内索引表写入空闲数据块的尾部,并继续执行根据数据块索引表查找空闲数据块的步骤。
其它模块或者单元可参照图6所示的实施例中的描述,在此不再赘述。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备7包括但不仅限于处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备的一个示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备7还可以包括输入设备、输出设备、网络接入设备、总线等。
所述处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备的内部存储单元,例如终端设备的硬盘或内存。所述存储器71也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括终端设备的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序72以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的数据存储系统和方法,可以通过其它的方式实现。例如,以上所描述的数据存储系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
读取数据块索引表,根据所述数据块索引表查找空闲数据块,并更新所述空闲数据块对应的数据块索引节点,所述数据块索引表包括多个数据块索引节点;
为所述空闲数据块中的块内索引表分配缓存;
循环读取每个通道的数据缓存区中的数据;
若目标通道的数据缓存区中的数据的时间长度大于或等于所述预设时间长度,则读取所述目标通道的数据缓存区中的预设时间长度的数据,将所述预设时间长度的数据写入所述空闲数据块,并更新所述空闲数据块对应的数据块索引节点和所述缓存中的块内索引表,所述目标通道为所有通道中的任一个;
若所述空闲数据块写满,则将所述缓存中的块内索引表写入所述空闲数据块的尾部,并继续执行所述根据所述数据块索引表查找空闲数据块的步骤。
2.根据权利要求1所述的数据存储方法,其特征在于,所述数据块索引节点包括文件归属戳和数据块类型;
在所述读取数据块索引表之后,还包括:
将所述数据块索引表缓存到内存中;
所述根据所述数据块索引表查找空闲数据块,并更新所述空闲数据块对应的数据块索引节点,包括:
遍历内存中的所述数据块索引表,得到最大的文件归属戳,并根据所述最大的文件归属戳确定待存储文件的文件归属戳;
根据所述数据块类型查找空闲数据块,并根据所述待存储文件的文件归属戳更新所述空闲数据块对应的数据块索引节点。
3.根据权利要求1所述的数据存储方法,其特征在于,在所述循环读取每个通道的数据缓存区中的数据之后,还包括:
若所述目标通道的数据缓存区中的数据的时间长度小于所述预设时间长度,则继续判断下一个通道的数据缓存区中的数据的时间长度是否大于或等于所述预设时间长度;
在所述更新所述空闲数据块对应的数据块索引节点和所述缓存中的块内索引表之后,还包括:
若所述空闲数据块未写满,则继续执行所述循环读取每个通道的数据缓存区中的数据的步骤。
4.根据权利要求1所述的数据存储方法,其特征在于,所述数据块索引节点包括文件归属戳;
所述数据存储方法还包括:
获取待查询信息;
遍历所述数据块索引表,将所有文件归属戳相同的数据块索引节点合并为一项文件描述信息;
根据所述文件描述信息确定所述待查询信息对应的查询结果。
5.根据权利要求4所述的数据存储方法,其特征在于,所述待查询信息包括待查询开始时间、待查询结束时间和待查询通道号,所述文件描述信息包括文件归属戳、文件开始时间、文件结束时间和文件包含的通道信息;
所述根据所述文件描述信息确定所述待查询信息对应的查询结果,包括:
根据所述文件开始时间、所述文件结束时间和所述文件包含的通道信息,确定所述待查询开始时间、所述待查询结束时间和所述待查询通道号对应的文件信息列表。
6.根据权利要求1所述的数据存储方法,其特征在于,还包括:
获取定位时间和待读取通道号;
遍历所述数据块索引表,得到所述定位时间所属的定位数据块;
读取所述定位数据块中的定位块内索引表,并将所述定位块内索引表缓存到内存中;
遍历内存中的所述定位块内索引表,确定所述定位时间和所述待读取通道号所在的定位块内索引节点,并根据所述定位块内索引节点中的数据偏移量,确定待读取数据的位置;
根据所述待读取数据的位置读取所述待读取数据;
在所述定位块内索引表中的所述定位块内索引节点之后的块内索引节点中,查找是否存在包含所述待读取通道号的目标块内索引节点;
若存在所述目标块内索引节点,则将所述目标块内索引节点作为新的定位块内索引节点,并继续执行所述根据所述定位块内索引节点中的数据偏移量,确定待读取数据的位置的步骤;
若不存在所述目标块内索引节点,则在所述数据块索引表中,查找是否存在文件归属戳与所述定位数据块对应的文件归属戳相同,且文件内部编号为所述定位数据块对应的文件内部编号加一的目标数据块索引节点;
若存在所述目标数据块索引节点,则将所述目标数据块索引节点对应的数据块作为新的定位数据块,读取所述新的定位数据块中的新的定位块内索引表,并将所述新的定位块内索引表缓存到内存中;
遍历内存中的所述新的定位块内索引表,确定所述待读取通道号所在的定位块内索引节点,并继续执行所述根据所述定位块内索引节点中的数据偏移量,确定待读取数据的位置的步骤;
若不存在所述目标数据块索引节点,则数据读取结束。
7.根据权利要求6所述的数据存储方法,其特征在于,所述数据块索引节点包括文件开始时间和文件结束时间;
所述遍历所述数据块索引表,得到所述定位时间所属的定位数据块,包括:
遍历所述数据块索引表,根据所述文件开始时间和所述文件结束时间得到所述定位时间所属的定位数据块。
8.一种数据存储系统,其特征在于,包括:
空闲数据块查找模块,用于读取数据块索引表,根据所述数据块索引表查找空闲数据块,并更新所述空闲数据块对应的数据块索引节点,所述数据块索引表包括多个数据块索引节点;
缓存分配模块,用于为所述空闲数据块中的块内索引表分配缓存;
循环读取模块,用于循环读取每个通道的数据缓存区中的数据;
数据写入模块,用于若目标通道的数据缓存区中的数据的时间长度大于或等于所述预设时间长度,则读取所述目标通道的数据缓存区中的预设时间长度的数据,将所述预设时间长度的数据写入所述空闲数据块,并更新所述空闲数据块对应的数据块索引节点和所述缓存中的块内索引表,所述目标通道为所有通道中的任一个;
索引表写入模块,用于若所述空闲数据块写满,则将所述缓存中的块内索引表写入所述空闲数据块的尾部,并继续执行所述根据所述数据块索引表查找空闲数据块的步骤。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述数据存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现如权利要求1至7任一项所述数据存储方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/102490 WO2020041928A1 (zh) | 2018-08-27 | 2018-08-27 | 数据存储方法、系统及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110149803A true CN110149803A (zh) | 2019-08-20 |
CN110149803B CN110149803B (zh) | 2023-06-09 |
Family
ID=67588283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880001157.2A Active CN110149803B (zh) | 2018-08-27 | 2018-08-27 | 数据存储方法、系统及终端设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110149803B (zh) |
WO (1) | WO2020041928A1 (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111025068A (zh) * | 2019-12-24 | 2020-04-17 | 宁波三星医疗电气股份有限公司 | 电表负荷曲线数据抄读方法、装置和电子设备 |
CN111124313A (zh) * | 2019-12-24 | 2020-05-08 | 宁波三星医疗电气股份有限公司 | 电力采集终端数据读写方法、装置和电子设备 |
CN111190869A (zh) * | 2019-12-27 | 2020-05-22 | 深圳市恒扬数据股份有限公司 | 文件存储方法及终端 |
CN111241090A (zh) * | 2019-12-23 | 2020-06-05 | 华为技术有限公司 | 存储系统中管理数据索引的方法和装置 |
CN111274295A (zh) * | 2020-01-12 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种数据库快速加载数据的方法、装置、设备和介质 |
CN111309678A (zh) * | 2020-02-22 | 2020-06-19 | 呼和浩特市奥祥电力自动化有限公司 | 一种数据循环存储方法及网络报文记录分析装置 |
CN111399762A (zh) * | 2019-11-27 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据存储方法、装置及存储系统 |
CN111651127A (zh) * | 2020-06-10 | 2020-09-11 | 杭州海康威视数字技术股份有限公司 | 一种基于叠瓦式磁记录盘的监控数据存储方法及装置 |
CN111782656A (zh) * | 2020-06-30 | 2020-10-16 | 北京海益同展信息科技有限公司 | 数据读写方法及装置 |
CN113064860A (zh) * | 2020-12-08 | 2021-07-02 | 上海金融期货信息技术有限公司 | 一种动态数据缓存系统和方法 |
CN113568868A (zh) * | 2021-07-28 | 2021-10-29 | 重庆紫光华山智安科技有限公司 | 文件系统管理方法、系统、电子设备及介质 |
CN114116795A (zh) * | 2021-11-01 | 2022-03-01 | 北京力控元通科技有限公司 | 一种数据存储和查询方法、装置、存储介质及电子设备 |
CN114153394A (zh) * | 2021-11-30 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种数据存储管理方法、装置及设备 |
CN114816277A (zh) * | 2022-06-30 | 2022-07-29 | 广东睿江云计算股份有限公司 | 文件数据块顺序性保障的控制方法及控制系统 |
WO2022252862A1 (zh) * | 2021-06-02 | 2022-12-08 | 北京字节跳动网络技术有限公司 | 计算存储分离系统及其数据访问方法、介质和电子设备 |
CN115905219A (zh) * | 2022-11-04 | 2023-04-04 | 上海威固信息技术股份有限公司 | 多通道数据存云库用的数据存储驱动系统及其传输方法 |
CN116112456A (zh) * | 2023-02-01 | 2023-05-12 | 镁佳(北京)科技有限公司 | 一种基于bap协议的数据缓存方法、装置、设备及介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651407A (zh) * | 2020-04-16 | 2020-09-11 | 广州南方卫星导航仪器有限公司 | 原始观测数据记录方法、电子设备、存储介质及系统 |
CN111723056B (zh) * | 2020-06-09 | 2024-04-30 | 北京青云科技股份有限公司 | 小文件的处理方法、装置、设备和存储介质 |
CN111859033B (zh) * | 2020-07-22 | 2023-10-27 | 北京金山云网络技术有限公司 | Ip库查询方法、装置及ip库压缩方法、装置 |
CN114371810B (zh) * | 2020-10-15 | 2023-10-27 | 中国移动通信集团设计院有限公司 | Hdfs的数据存储方法及装置 |
CN113076458B (zh) * | 2021-04-13 | 2024-02-06 | 鹏城实验室 | 一种网内缓存控制方法、系统、存储介质及终端设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6252789B1 (en) * | 2000-06-14 | 2001-06-26 | Netlogic Microsystems, Inc. | Inter-row configurability of content addressable memory |
US20100174846A1 (en) * | 2009-01-05 | 2010-07-08 | Alexander Paley | Nonvolatile Memory With Write Cache Having Flush/Eviction Methods |
WO2011020360A1 (zh) * | 2009-08-19 | 2011-02-24 | 北京书生国际信息技术有限公司 | 一种文档的存储方法 |
US8060481B1 (en) * | 2005-06-30 | 2011-11-15 | Symantec Operating Corporation | Time indexed file system |
US20130117520A1 (en) * | 2011-04-27 | 2013-05-09 | Seagate Technology Llc | Method and apparatus for relocating data |
CN103310008A (zh) * | 2013-06-28 | 2013-09-18 | 安科智慧城市技术(中国)有限公司 | 一种云控制服务器及其文件索引方法 |
US8706971B1 (en) * | 2012-03-14 | 2014-04-22 | Netapp, Inc. | Caching and deduplication of data blocks in cache memory |
CN106302604A (zh) * | 2015-06-05 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
WO2017198070A1 (zh) * | 2016-05-16 | 2017-11-23 | 深圳市中兴微电子技术有限公司 | 一种多通道数据存储器及其存取方法及装置、存储介质 |
CN108255408A (zh) * | 2016-12-28 | 2018-07-06 | 中国电信股份有限公司 | 数据存储方法以及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316334A (zh) * | 2008-07-07 | 2008-12-03 | 中兴通讯股份有限公司 | 一种处理电视媒体数据的方法及电视手机 |
CN102332030A (zh) * | 2011-10-17 | 2012-01-25 | 中国科学院计算技术研究所 | 用于分布式键-值存储系统的数据存储、管理和查询方法及系统 |
CN104393962A (zh) * | 2014-12-12 | 2015-03-04 | 成都朗锐芯科技发展有限公司 | 一种多路e1解帧系统 |
-
2018
- 2018-08-27 WO PCT/CN2018/102490 patent/WO2020041928A1/zh active Application Filing
- 2018-08-27 CN CN201880001157.2A patent/CN110149803B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6252789B1 (en) * | 2000-06-14 | 2001-06-26 | Netlogic Microsystems, Inc. | Inter-row configurability of content addressable memory |
US8060481B1 (en) * | 2005-06-30 | 2011-11-15 | Symantec Operating Corporation | Time indexed file system |
US20100174846A1 (en) * | 2009-01-05 | 2010-07-08 | Alexander Paley | Nonvolatile Memory With Write Cache Having Flush/Eviction Methods |
WO2011020360A1 (zh) * | 2009-08-19 | 2011-02-24 | 北京书生国际信息技术有限公司 | 一种文档的存储方法 |
US20130117520A1 (en) * | 2011-04-27 | 2013-05-09 | Seagate Technology Llc | Method and apparatus for relocating data |
US8706971B1 (en) * | 2012-03-14 | 2014-04-22 | Netapp, Inc. | Caching and deduplication of data blocks in cache memory |
CN103310008A (zh) * | 2013-06-28 | 2013-09-18 | 安科智慧城市技术(中国)有限公司 | 一种云控制服务器及其文件索引方法 |
CN106302604A (zh) * | 2015-06-05 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
WO2017198070A1 (zh) * | 2016-05-16 | 2017-11-23 | 深圳市中兴微电子技术有限公司 | 一种多通道数据存储器及其存取方法及装置、存储介质 |
CN108255408A (zh) * | 2016-12-28 | 2018-07-06 | 中国电信股份有限公司 | 数据存储方法以及系统 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399762B (zh) * | 2019-11-27 | 2021-06-18 | 杭州海康威视系统技术有限公司 | 数据存储方法、装置及存储系统 |
CN111399762A (zh) * | 2019-11-27 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据存储方法、装置及存储系统 |
US11853549B2 (en) | 2019-11-27 | 2023-12-26 | Hangzhou Hikvision System Technology Co., Ltd. | Index storage in shingled magnetic recording (SMR) storage system with non-shingled region |
CN111241090A (zh) * | 2019-12-23 | 2020-06-05 | 华为技术有限公司 | 存储系统中管理数据索引的方法和装置 |
CN111241090B (zh) * | 2019-12-23 | 2023-11-10 | 华为技术有限公司 | 存储系统中管理数据索引的方法和装置 |
CN111124313A (zh) * | 2019-12-24 | 2020-05-08 | 宁波三星医疗电气股份有限公司 | 电力采集终端数据读写方法、装置和电子设备 |
CN111025068A (zh) * | 2019-12-24 | 2020-04-17 | 宁波三星医疗电气股份有限公司 | 电表负荷曲线数据抄读方法、装置和电子设备 |
CN111025068B (zh) * | 2019-12-24 | 2022-05-20 | 宁波三星医疗电气股份有限公司 | 电表负荷曲线数据抄读方法、装置和电子设备 |
CN111190869A (zh) * | 2019-12-27 | 2020-05-22 | 深圳市恒扬数据股份有限公司 | 文件存储方法及终端 |
CN111274295A (zh) * | 2020-01-12 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种数据库快速加载数据的方法、装置、设备和介质 |
CN111274295B (zh) * | 2020-01-12 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种数据库快速加载数据的方法、装置、设备和介质 |
CN111309678A (zh) * | 2020-02-22 | 2020-06-19 | 呼和浩特市奥祥电力自动化有限公司 | 一种数据循环存储方法及网络报文记录分析装置 |
CN111309678B (zh) * | 2020-02-22 | 2023-01-03 | 呼和浩特市奥祥电力自动化有限公司 | 一种数据循环存储方法及网络报文记录分析装置 |
CN111651127A (zh) * | 2020-06-10 | 2020-09-11 | 杭州海康威视数字技术股份有限公司 | 一种基于叠瓦式磁记录盘的监控数据存储方法及装置 |
CN111782656B (zh) * | 2020-06-30 | 2024-04-12 | 京东科技信息技术有限公司 | 数据读写方法及装置 |
CN111782656A (zh) * | 2020-06-30 | 2020-10-16 | 北京海益同展信息科技有限公司 | 数据读写方法及装置 |
CN113064860A (zh) * | 2020-12-08 | 2021-07-02 | 上海金融期货信息技术有限公司 | 一种动态数据缓存系统和方法 |
WO2022252862A1 (zh) * | 2021-06-02 | 2022-12-08 | 北京字节跳动网络技术有限公司 | 计算存储分离系统及其数据访问方法、介质和电子设备 |
CN113568868A (zh) * | 2021-07-28 | 2021-10-29 | 重庆紫光华山智安科技有限公司 | 文件系统管理方法、系统、电子设备及介质 |
CN113568868B (zh) * | 2021-07-28 | 2024-02-06 | 重庆紫光华山智安科技有限公司 | 文件系统管理方法、系统、电子设备及介质 |
CN114116795A (zh) * | 2021-11-01 | 2022-03-01 | 北京力控元通科技有限公司 | 一种数据存储和查询方法、装置、存储介质及电子设备 |
CN114116795B (zh) * | 2021-11-01 | 2022-12-20 | 北京力控元通科技有限公司 | 一种数据存储和查询方法、装置、存储介质及电子设备 |
CN114153394A (zh) * | 2021-11-30 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种数据存储管理方法、装置及设备 |
CN114816277B (zh) * | 2022-06-30 | 2022-11-11 | 广东睿江云计算股份有限公司 | 文件数据块顺序性保障的控制方法及控制系统 |
CN114816277A (zh) * | 2022-06-30 | 2022-07-29 | 广东睿江云计算股份有限公司 | 文件数据块顺序性保障的控制方法及控制系统 |
CN115905219B (zh) * | 2022-11-04 | 2023-09-19 | 上海威固信息技术股份有限公司 | 多通道数据存云库用的数据存储驱动系统及其传输方法 |
CN115905219A (zh) * | 2022-11-04 | 2023-04-04 | 上海威固信息技术股份有限公司 | 多通道数据存云库用的数据存储驱动系统及其传输方法 |
CN116112456A (zh) * | 2023-02-01 | 2023-05-12 | 镁佳(北京)科技有限公司 | 一种基于bap协议的数据缓存方法、装置、设备及介质 |
CN116112456B (zh) * | 2023-02-01 | 2024-02-13 | 镁佳(北京)科技有限公司 | 一种基于bap协议的数据缓存方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110149803B (zh) | 2023-06-09 |
WO2020041928A1 (zh) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149803A (zh) | 数据存储方法、系统及终端设备 | |
TWI702503B (zh) | 實施用於維護操作之合併樹修改之系統、方法及電腦可讀媒體 | |
TWI702506B (zh) | 用於合併樹廢棄項目指標之系統、機器可讀媒體及機器實施之方法 | |
CN109522243B (zh) | 一种全闪存储中元数据缓存管理方法、装置及存储介质 | |
CN103106158B (zh) | 包括键-值存储的存储器系统 | |
CN107918612B (zh) | 键值存储系统数据结构的实现方法和装置 | |
CN112287182B (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
US7873596B2 (en) | Extending cluster allocations in an extensible file system | |
CN110018983A (zh) | 一种元数据查询方法及装置 | |
CN105320775A (zh) | 数据的存取方法和装置 | |
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
CN106156070B (zh) | 一种查询方法、文件合并方法与相关装置 | |
CN106503008B (zh) | 文件存储方法和装置及文件查询方法和装置 | |
CN106383666B (zh) | 一种数据存储方法及装置 | |
CN111190904A (zh) | 一种图-关系数据库混合存储的方法和装置 | |
CN111459885B (zh) | 一种数据的处理方法、装置、计算机设备和存储介质 | |
CN107122130A (zh) | 一种数据重删方法及装置 | |
CN101271429A (zh) | 一种数据存储方法及装置 | |
CN108304259A (zh) | 内存管理方法及系统 | |
CN104598652B (zh) | 一种数据库查询方法及装置 | |
CN117271531B (zh) | 一种数据存储方法、系统、设备及介质 | |
US7484068B2 (en) | Storage space management methods and systems | |
CN110008030A (zh) | 一种元数据访问的方法、系统及设备 | |
US8935508B1 (en) | Implementing pseudo content access memory | |
US20130332465A1 (en) | Database management device and database management method |
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 |