CN111966845B - 图片管理方法、装置、存储节点及存储介质 - Google Patents
图片管理方法、装置、存储节点及存储介质 Download PDFInfo
- Publication number
- CN111966845B CN111966845B CN202010900966.6A CN202010900966A CN111966845B CN 111966845 B CN111966845 B CN 111966845B CN 202010900966 A CN202010900966 A CN 202010900966A CN 111966845 B CN111966845 B CN 111966845B
- Authority
- CN
- China
- Prior art keywords
- file
- picture
- written
- main file
- main
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000013508 migration Methods 0.000 claims description 22
- 230000005012 migration Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000013524 data verification Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—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/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/71—Indexing; Data structures therefor; Storage structures
-
- 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)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及存储技术领域,提供一种图片管理方法、装置、存储节点及存储介质,所述方法包括:接收客户端发送的写请求,其中,写请求包括待写图片的数据长度;获取主文件的标识及主文件的当前待写入的第一位置;依据第一位置、主文件的标识及数据长度生成待写图片的标识;从第一位置开始将待写图片写入至主文件;当待写图片写入完成后,将待写图片的标识返回至客户端,以使客户端依据待写图片的标识从存储节点中读取写入的待写图片。本发明能够根据存储图片的文件标识、在文件中的存储位置及图片的数据长度生成图片的标识,以便于读取图片时可以根据图片的标识直接找到存储图片的位置信息,提高了图片的访问效率。
Description
技术领域
本发明涉及存储技术领域,具体而言,涉及一种图片管理方法、装置、存储节点及存储介质。
背景技术
随着大数据、云计算技术的成熟,视频监控与人脸识别在公共安全领域应用越来越广泛,由此产生的海量图片数据对存储***的性能要求更高,特别是海量的小IO图片数据,这对存储***面对峰值压力时的存储性能提出了更严峻的挑战。
现有的对于图片管理的方式由于需要根据图片的名称经过多级索引才能找到存储图片的位置,因而图片的访问效率极低。
发明内容
本发明的目的在于提供一种图片管理方法、装置、存储节点及存储介质,其通过将图片以文件为单位聚合存储,并根据存储图片的文件标识、在文件中的存储位置及图片的数据长度生成图片的标识,以便于读取图片时可以根据图片的标识直接找到存储图片的位置信息,避免了多级索引,提高了图片的访问效率。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种图片管理方法,应用于存储节点,所述存储节点与客户端通信连接,所述存储节点预先创建有用于保存图片数据的主文件,所述方法包括:接收客户端发送的写请求,其中,写请求包括待写图片的数据长度;获取主文件的标识及主文件的当前待写入的第一位置;依据第一位置、主文件的标识及数据长度生成待写图片的标识;从第一位置开始将待写图片写入至主文件;当待写图片写入完成后,将待写图片的标识返回至客户端,以使客户端依据待写图片的标识从存储节点中读取写入的待写图片。
第二方面,本发明提供一种图片管理装置,应用于存储节点,所述存储节点与客户端通信连接,所述存储节点预先创建有用于保存图片数据的主文件,所述方法装置包括接收模块和写入模块,其中,所述接收模块用于接收客户端发送的写请求,其中,写请求包括待写图片的数据长度;获取主文件的标识及主文件的当前待写入的第一位置;所述写入模块用于:依据第一位置、主文件的标识及数据长度生成待写图片的标识;从第一位置开始将待写图片写入至主文件;当待写图片写入完成后,将待写图片的标识返回至客户端,以使客户端依据待写图片的标识从存储节点中读取写入的待写图片。
第三方面,本发明提供一种存储节点,存储节点包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述的图片管理方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的图片管理方法。
相对于现有技术,本发明能够通过将图片以文件为单位聚合存储,并根据存储图片的文件标识、在文件中的存储位置及图片的数据长度生成图片的标识,以便于读取图片时可以根据图片的标识直接找到存储图片的位置信息,避免了多级索引,提高了图片的访问效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供应用场景示意图。
图2示出了本发明实施例提供的存储节点的方框示意图。
图3示出了本发明实施例提供的一种图片管理方法的流程图。
图4示出了本发明实施例提供的图片的存储结构示例图。
图5示出了本发明实施例提供的另一种图片管理方法的流程图。
图6示出了本发明实施例提供的另一种图片管理方法的流程图。
图7示出了本发明实施例提供的另一种图片管理方法的流程图。
图8示出了本发明实施例提供的确定待读位置的示例图。
图9示出了本发明实施例提供的另一种图片管理方法的流程图。
图10示出了本发明实施例提供的图片管理装置的方框示意图。
图标:10-存储节点;11-处理器;12-存储器;13-总线;14-通信接口;20-客户端;30-管理节点;100-图片管理装置;110-接收模块;120-写入模块;130-读取模块;140-迁移模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
现有的存储图片的技术中,通常会生成索引文件和图片存储文件,存储图片时需要将该图片的索引信息更新至索引文件中,而读取图片时需先查找索引文件对应图片的索引信息,然后根据索引信息去图片存储文件读取相应数据。该方法需要先通过读取索引文件然后再从索引文件里读取对应图片信息,其图片访问效率并不高。
有鉴于此,本发明实施例提供一种图片管理方法、装置、存储节点及存储介质,可以提高图片访问效率,下面将对此进行详细描述。
请参考图1,图1示出了本发明实施例提供应用场景示意图,图1中,存储***包括多个存储节点10和管理节点30,存储节点10和管理节点30通过网络通信连接,存储节点10用于存储图片,管理节点30用于存储对存储节点10中的存储介质进行管理的元数据信息。
存储节点10还通过网络与客户端20通信连接,客户端20发送读写图片的读写请求至存储节点10,以将图片存储至存储节点10或者从存储节点10中读取图片数据。
管理节点30与客户端20及存储节点10均通信连接,管理节点30接收用户通过客户端20对存储节点10的管理操作,例如删除存储节点10中的硬盘,或者增加存储节点10中的硬盘等。
管理节点30还负责监控存储***中的业务流量,并当业务流量达到预设阈值时,指示存储节点10将待写图片从写入至主文件切换至写入至目标文件。由于主文件是建立在存储性能不太高的存储介质上,例如,SAS盘、SATA盘、FC盘等HDD,而目标文件是建立在存储性能比较高的存储介质上,例如,SSD盘,因此,主文件的访问性能比目标文件的访问性能低,由此,可以在业务流量大的时候通过将图片写入至目标文件,提高图片写入效率。
存储节点10可以为用于存储数据的存储服务器,或者是多个存储服务器组成的存储服务器组。
客户端20和管理节点30均可以是一个主机或服务器等实体的计算机,也可以是多个主机组成的主机组,或者是多个服务器组成的服务器组,还可以是能够实现与实体的计算机具有相同功能的虚拟主机或者虚拟服务器、或者虚拟主机组或者虚拟服务器组。
在图1的基础上,本发明实施例提供了图1中存储节点10的方框示意图,请参照图2,图2示出了本发明实施例提供的存储节点的方框示意图。存储节点10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,存储节点10通过不同的通信接口14与客户端20和管理节点30通信连接。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如上述的应用于存储节点10的图片管理装置,图片管理装置包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现上述应用于存储节点10的图片管理方法。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是ISA总线、PCI总线或EISA总线等。图2仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
在图1和图2的基础上,本发明实施例提供一种图片管理方法,该图片管理方法可以应用于图1的存储节点10,请参照图3,图3示出了本发明实施例提供的一种图片管理方法的流程图,该方法包括以下步骤:
步骤S100,接收客户端发送的写请求,其中,写请求包括待写图片的数据长度。
在本实施例中,待写图片的数据长度为待写图片的数据的长度,例如,待写图片为10KB,则待写图片的数据长度为10KB。
步骤S110,获取主文件的标识及主文件的当前待写入的第一位置。
在本实施例中,主文件为用于存储图片的文件,每个主文件都有一个标识,该标识用于唯一确定对应的主文件,该标识可以是由字母、数据、符号或者由字母、数据、符号中的任意一种或者多种组合而成的字符串。若不存在主文件或者存在主文件但主文件已经写满,此时需要首先创建新的主文件,并为该新的主文件分配预设空间,即待写图片为新的主文件中存储的第一张图片,然后获取该新的主文件的标识及该新的主文件的当前待写入的第一位置,此时,第一位置为该新的主文件的起始位置;若已经存在主文件且主文件未写满,即待写图片不为该主文件中存储的第一张图片时,作为一种方便管理图片的实现方式,待写图片不会跨文件存储,此时会首先判断该待写图片是否可以完全写入该主文件,若是,则直接获取该主文件的标识及该主文件的当前待写入的第一位置,此时,第一位置视该主文件已经写入的数据长度而定;若否,则会创建新的主文件,并为新创建的主文件分配预设空间,然后获取该新创建的主文件的标识及该新创建的主文件的当前待写入的第一位置。
在本实施例中,第一位置为主文件当前待写入的位置,为了避免频繁地打开或者关闭主文件,通常会在主文件的文件信息结构中保存文件句柄,文件句柄为指示对应文件当前应写入的位置。例如,主文件当前已经写入10KB数据,即从主文件0KB偏移位置开始到10KB-1的位置已经写入数据了,再向该主文件写入数据时应该从10KB的位置写,此时当前待写入的位置即第一位置的地址为:10KB。
步骤S120,依据第一位置、主文件的标识及数据长度生成待写图片的标识。
在本实施例中,可以直接将第一位置、主文件的标识及数据长度进行组合,得到待写图片的标识,也可以用预设算法,将第一位置、主文件的标识及数据长度作为该预设算法的输入进行计算,将计算结果作为待写图片的标识,需要说明的是,该预设算法必须是可逆的,意思是将待写图片的标识输入该预设算法,应该可以得到该待写图片的标识对应的第一位置、主文件的标识及数据长度,待写图片的标识必须可以唯一的表征该待写图片,不同的待写图片,其标识必然不同。
步骤S130,从第一位置开始将待写图片写入至主文件。
在本实施例中,在存储待写图片时,会在实际写入待写图片的数据的位置之前添加图片头信息,图片头信息的长度是预先设置的一个固定值,例如384字节,图片头信息可以包括头部标识、图片的数据长度、图片写入时间、图片数据校验及图片名称,在图片头信息之后再写入待写图片的数据,图4示出了本发明实施例提供的图片的存储结构示例图。
在本实施例中,图片头部信息的可保证图片数据的一致性,同时在批量读取主文件中的图片信息时,可以快速定位到每一张待读取的图片在主文件中的位置。
步骤S140,当待写图片写入完成后,将待写图片的标识返回至客户端,以使客户端依据待写图片的标识从存储节点中读取写入的待写图片。
本发明实施例提供的上述图片管理方法,通过将图片以文件为单位聚合存储,并根据存储图片的文件标识、在文件中的存储位置及图片的数据长度生成图片的标识,以便于读取图片时可以根据图片的标识直接找到存储图片的位置信息,避免了多级索引,提高了图片的访问效率。
在本实施例中,为了在存储***面对峰值压力时提高图片存储的效率,本发明实施例还提供了一种写图片的实现方法,请参照图5,图5示出了本发明实施例提供的另一种图片管理方法的流程图,该方法还包括以下步骤:
步骤S200,当接收到管理节点发送的切换请求时,停止向主文件写入待写图片的数据,其中,切换请求用于当管理节点检测到当前业务流量达到预设阈值时、指示存储节点将待写图片从写入至主文件切换至写入至目标文件,目标文件的写入性能高于主文件的写入性能。
在本实施例中,对于存储***而言,业务流量为访问存储***中存储的数据的流量,可以包括数据写入流量和数据读取流量,数据写入流量可以是单位时间内数据写入量,数据读取流量可以是单位时间内数据读取量。在视频监控领域,存储的数据通常是视频或者图片,此时,业务流量为图片或视频写入流量和图片或视频读取流量。在本实施例中,管理节点可以通过流量监控工具实时监测业务流量,当业务流量达到预设阈值时向存储节点发送切换请求,其中,预设阈值可以根据实际应用场景或者存储***的硬件配置进行设置。
在本实施例中,目标文件为切换后需要写入待写图片的文件,为了使切换后写入效率更高,目标文件的写入性能高于主文件的写入性能,例如,目标文件创建在SSD盘上,主文件创建在SAS盘上,或者是目标文件创建在个数较多的多个硬盘并发的存储空间中,主文件创建在个数较少的多个硬盘并发的存储空间中。
步骤S230,将待写图片中尚未写入的数据写入至目标文件。
在本实施例中,在写入待写图片的过程中发生了切换,则将待写图片中尚未写入的数据写入至目标文件,例如待写图片的数据长度为150KB,切换时,待写图片已经在主文件中写入了100KB,则剩余未写入的50KB就写入至目标文件。在待写图片写入完成时发生了切换,则将下一个待写图片写入至目标文件。
本发明实施例提供的上述图片管理方法,在业务流量达到预设阈值时,将图片从主文件切换至比主文件写入性能高的目标文件,从而减小了业务流量大对图片写入效率的影响,改善了此时的用户体验。
在本实施例中,为了快速地确定目标文件,本发明实施例还提供一种确定目标文件的实现方式,请继续参照图5,该方法还包括以下步骤:
步骤S210,若主文件存在关联文件,则将关联文件确定为目标文件。
步骤S220,若主文件不存在关联文件,则创建关联文件,并将关联文件确定为目标文件。
在本实施例中,主文件和关联文件存在关联关系,根据主文件可以直接找到关联文件,根据关联文件也可以找到对应的主文件。作为一种具体的实现方式,创建关联文件的具体步骤可以是:
首先,获取主文件的当前待写入的第二位置。
在本实施例中,第二位置为主文件当前待写入的位置,即主文件中第二位置之前的空间都已经写入了数据。
其次,依据主文件的标识、第二位置生成关联文件的标识。
在本实施例中,作为一种具体实施方式,关联文件的标识可以是关联文件名,主文件的标识可以是主文件名,例如,主文件名为testfile,第二位置为100KB则,关联文件名为:testfile-100KB。由此,可以根据关联文件的标识得到对应的主文件的标识。
最后,建立主文件与关联文件的之间的关联关系。
在本实施例中,为了可以通过主文件找到关联文件,作为一种实现方式,主文件信息结构包括的信息如表1所示。
表1
其中,name为主文件名,offset为已写入的长度,已写入的长度会随着图片的数据的写入不断地更新,此处已写入的长度为主文件中实际已写入的长度和对应的关联文件中实际已写入的长度之和,例如,主文件中已经写入100KB,关联文件中已经写入50KB,此时,offset的值为150KB。cap为主文件容量,即主文件创建时指定的主文件的大小。attr为文件属性,表示此时图片文件应该写入主文件还是关联文件,若文件属性代表主文件,即图片应写入主文件中,此时handle为主文件的文件句柄,若文件属性代表关联文件,即图片应写入关联文件,此时handle为关联文件的文件句柄。通过文件信息结构中文件属性可以快速地判断图片位于主文件还是关联文件中,通过文件句柄可以直接定位待写图片应该写入的文件。
在本实施例中,作为一种实现方式,关联文件信息结构包括的信息如表2所示。
表1
表2中,key为文件哈希值,代表对应的主文件的标识进行哈希计算后的得到哈希值。由此,可以根据主文件的标识进行哈希计算后,根据得到的哈希值找到对应的关联文件的哈希表结构。name为关联文件名,offset为创建关联文件时主文件已写入的长度。
需要说明的是,上述的主文件信息结构和关联文件哈希表结构都可以不持久保存,即可以只保存在内存中,当存储***重新上电时可以根据主文件和关联文件在硬盘上存储的信息恢复出来存储至内存。
还需要说明的是,当创建关联文件失败时,为了使待写图片的写入可以正常进行,此时继续向主文件中写入待写图片。
还需要说明的是,当业务流量小于或等于最小阈值时,管理节点会向存储节点发送切回请求,切回请求用于当管理节点检测到当前业务流量小于或者等于最小阈值时、指示存储节点将待写图片从写入至关联文件切换至写入至主文件。
本发明实施例提供的上述图片管理方法,在业务流量大于预设阈值而需要切换图片存储的文件时,根据主文件可以快速地找到与之对应的关联文件,并将关联文件确定为目标文件,减小了切换操作对图片存储的效率的影响。
在本实施例中,为了高效读取存储的图片,本发明实施例还提供了一种图片读取方法,请参照图6,图6示出了本发明实施例提供的另一种图片管理方法的流程图,该方法还包括以下步骤:
步骤S300,接收客户端发送的读请求,其中,读请求包括待读图片的标识。
在本实施例中,待读图片的标识为上述步骤130在写入该图片时生成的标识。
步骤S310,依据待读图片的标识,得到读取待读图片的待读位置。
在本实施例中,由于待读图片可能存储在主文件中,也可能存储在关联文件中,因此,根据待读图片的标识解析出的信息的不同,确定的读取待读图片的待读位置也可能不同。
步骤S320,从待读位置读取待读图片并返回至客户端。
在本实施例中,作为一种具体实施方式,当图片的存储结构为图4所示时,即图片存在图片头信息时,首先读取图片头部信息,解析出头部信息里的头部标识、图片的数据长度、图片写入时间、图片数据校验及图片名称等信息,然后再向前偏移384字节长度并根据待读图片的标识中的长度读取图片数据,当读取的图片数据通过检验后将图片写入时间、图片名称以及图片数据返回给客户端20。
需要说明的是,也可以以文件为单位批量读取该文件中所有图片的数据,以图4所示的图片的存储结构为例,打开文件从文件0位置开始读取第一张图片的图片头信息,解析图片头信息可获得头部标识、图片的数据长度、图片写入时间、图片数据校验及图片名称等信息,然后根据图片的数据长度读取图片内容,并使用图片数据检验码对图片内容进行一致性校验;然后再偏移到下一张图片头部位置读取,偏移的长度为上一张图片长度。以此类推,直到读完最后一张图片。
本发明实施例提供的上述图片管理方法,通过待读图片的标识可以快速定位出待读图片存储的位置,从而可以快速地将待读图片读出,提高了图片读取的效率。
在图6的基础上,本发明还提供了一种确定读取待读图片的待读位置的实现方式,请参照图7,图7示出了本发明实施例提供的另一种图片管理方法的流程图,步骤S310包括以下子步骤:
步骤S310-10,解析待读图片的标识,得到存储待读图片的目标主文件的标识、在目标主文件中的偏移位置及待读图片的数据长度。
子步骤S310-11,若目标主文件不存在关联文件,则将在目标主文件中的偏移位置确定为待读位置。
在本实施例中,目标主文件不存在关联文件意味着在目标主文件写入的过程中未发生切换,或者目标主文件已写入长度达到预设长度了,或者目标主文件对应的关联文件的存储介质被删除了,这几种情况都可能使目标主文件不存在关联文件。
子步骤S310-12,若目标主文件存在关联文件,获取并解析目标主文件的关联文件的标识,得到从目标主文件切换至关联的关联文件时目标主文件的待写入的第三位置。
在本实施例中,关联文件的标识中包含了目标主文件切换至关联文件时目标主文件的待写入的位置,该位置即为第三位置,即目标主文件第三位置之间的数据存储于目标主文件,目标主文件第三位置之后的数据存储于关联文件。
子步骤S310-13,若偏移位置大于第三位置,则计算偏移位置与第三位置的差值,并将目标主文件的关联文件中与差值对应的位置作为待读位置。
子步骤S310-14,若偏移位置小于或者等于第三位置,则将在目标主文件中的偏移位置作为待读位置。
为了更清楚地说明子步骤S310-11~S310-14对应的几种情况,请参照图8,图8示出了本发明实施例提供的确定待读位置的示例图,图8(a)对应子步骤S310-11,目标主文件不存在关联文件,在目标主文件中的偏移位置为目标主文件150KB的位置,则该位置即为待读位置;图8(b)对应子步骤S310-13,偏移位置为150KB,第三位置为100KB,则偏移位置大于第三位置,即存储待读图片的数据的起始位置位于关联文件中,应该从关联文件中读取的位置可以通过计算两者之差,即:150KB-100KB=50KB,即待读位置为关联文件的50KB的位置。图8(c)对应子步骤S310-14,偏移位置为100KB,第三位置为150KB,偏移位置小于第三位置,即存储待读图片的数据的起始位置位于目标主文件中,待读位置为目标主文件的100KB位置。
本发明实施例提供的上述图片管理方法,根据目标主文件是否存在关联文件及待读图片在目标主文件的位置快速确定待读位置,从而可以快读地读取待读图片。
在本实施例中,为了将关联文件中的图片数据迁移至对应的主文件中进行统一管理和存储,本发明实施例还提供了一种迁移图片数据的实现方法,请参照图9,图9示出了本发明实施例提供的另一种图片管理方法的流程图,该方法包括以下步骤:
步骤S400,判断主文件是否满足迁移条件。
在本实施例中,一方面,关联文件的存储介质由于写入性能高,因而使用成本也高,为了使关联文件的存储介质可以及时地释放出来,以在供后续业务流量大于预设阈值时使用,也为了使图片最终统一存储在主文件中便于管理,在适当的条件下,可以将关联文件中存储的图片数据迁移至主文件中。另一方面,在关联文件的存储介质发生故障,或者需要从存储***中删除时,为了不影响关联文件中存储的图片数据的使用,可以将关联文件中存储的图片数据迁移至主文件中。
在本实施例中,作为一种具体实施方式,判断主文件是否满足迁移条件的方式可以是:
首先,当主文件存在关联文件、且主文件已写入长度达到预设长度时,判定主文件满足迁移条件。
在本实施例中,预设长度为主文件在创建时为其预先分配的空间的大小,预设长度可以根据实际场景的需要进行预先设置,例如,预设长度为1GB,创建主文件时,为该主文件预先分配1GB的存储空间,以上述表1中的主文件信息结构为例,当文件属性代表关联文件,且已写入的长度等于主文件容量时,可以判定主文件已写入长度达到预设长度,即判定主文件满足迁移条件。
其次,当用于存储主文件的关联文件的存储介质被删除时,判定主文件满足迁移条件。
在本实施例中,若关联文件的存储介质被删除,首先,需要遍历该存储介质中的所有关联文件,具体实现方式可以是通过遍历关联文件哈希表获取关联文件的标识(关联文件的标识可以是关联文件的文件名),然后,根据每一关联文件的标识解析出该关联文件对应的主文件,以及创建关联文件时主文件已写入的长度,然后从主文件的已写入的长度对应的位置开始,将关联文件中的图片数据迁移至对应的主文件。迁移完成后,删除该关联文件与对应的主文件之间的关联关系,最后,当待删除存储介质中的所有关联文件中的数据均迁移完成后,再将该待删除存储介质删除。
步骤S410,若主文件满足迁移条件,则将主文件的关联文件中的数据迁移至主文件。
本发明实施例提供的上述图片管理方法,通过将关联文件中的图片数据迁移至对应的主文件中,方便对图片进行统一管理和存储。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种图片管理装置100的实现方式。请参照图10,图10示出了本发明实施例提供的图片管理装置100的方框示意图。需要说明的是,本实施例所提供的图片管理装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
图片管理装置100包括接收模块110、写入模块120、读取模块130及迁移模块140。
接收模块110,用于接收客户端发送的写请求,其中,写请求包括待写图片的数据长度。
写入模块120,用于获取主文件的标识及主文件的当前待写入的第一位置;依据第一位置、主文件的标识及数据长度生成待写图片的标识;从第一位置开始将待写图片写入至主文件;当待写图片写入完成后,将待写图片的标识返回至客户端,以使客户端依据待写图片的标识从存储节点中读取写入的待写图片。
作为一种具体实施方式,写入模块120还用于:当接收到管理节点发送的切换请求时,停止向主文件写入待写图片的数据,其中,切换请求用于当管理节点检测到当前业务流量达到预设阈值时、指示存储节点将待写图片从写入至主文件切换至写入至目标文件,目标文件的写入性能高于主文件的写入性能;将待写图片中尚未写入的数据写入至目标文件。
作为一种具体实施方式,写入模块120在执行将待写图片中尚未写入的数据写入至目标文件的步骤之前还用于:若主文件存在关联文件,则将关联文件确定为目标文件;若主文件不存在关联文件,则创建关联文件,并将关联文件确定为目标文件。
作为一种具体实施方式,所述写入模块120在创建关联文件时具体用于:获取主文件的当前待写入的第二位置;依据主文件的标识、第二位置生成关联文件的标识;建立主文件与关联文件的之间的关联关系。
读取模块130,用于:接收客户端发送的读请求,其中,读请求包括待读图片的标识;依据待读图片的标识,得到读取待读图片的待读位置;从待读位置读取待读图片并返回至客户端。
作为一种具体实施方式,读取模块130具体用于:解析待读图片的标识,得到存储待读图片的目标主文件的标识、在目标主文件中的偏移位置及待读图片的数据长度;若目标主文件不存在关联文件,则将在目标主文件中的偏移位置确定为待读位置;若目标主文件存在关联文件,获取并解析目标主文件的关联文件的标识,得到从目标主文件切换至关联的关联文件时目标主文件的待写入的第三位置;若偏移位置大于第三位置,则计算偏移位置与第三位置的差值,并将目标主文件的关联文件中与差值对应的位置作为待读位置;若偏移位置小于或者等于第三位置,则将在目标主文件中的偏移位置作为待读位置。
迁移模块140,用于:判断主文件是否满足迁移条件;若主文件满足迁移条件,则将主文件的关联文件中的数据迁移至主文件。
作为一种具体实施方式,迁移模块140具体用于:当主文件存在关联文件、且主文件已写入长度达到预设长度时,判定主文件满足迁移条件;当用于存储主文件的关联文件的存储介质被删除时,判定主文件满足迁移条件。
本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的图片管理方法。
综上所述,本发明实施例提供了一种图片管理方法、装置、存储节点及存储介质,所述方法应用于存储节点,所述存储节点与客户端通信连接,所述存储节点预先创建有用于保存图片数据的主文件,所述方法包括:接收客户端发送的写请求,其中,写请求包括待写图片的数据长度;获取主文件的标识及主文件的当前待写入的第一位置;依据第一位置、主文件的标识及数据长度生成待写图片的标识;从第一位置开始将待写图片写入至主文件;当待写图片写入完成后,将待写图片的标识返回至客户端,以使客户端依据待写图片的标识从存储节点中读取写入的待写图片。相对于现有技术,本发明能够通过将图片以文件为单位聚合存储,并根据存储图片的文件标识、在文件中的存储位置及图片的数据长度生成图片的标识,以便于读取图片时可以根据图片的标识直接找到存储图片的位置信息,避免了多级索引,提高了图片的访问效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种图片管理方法,其特征在于,应用于存储节点,所述存储节点与客户端及管理节点均通信连接,所述存储节点预先创建有用于保存图片数据的主文件,所述方法包括:
接收所述客户端发送的写请求,其中,所述写请求包括待写图片的数据长度;
获取所述主文件的标识及所述主文件的当前待写入的第一位置;
依据所述第一位置、所述主文件的标识及所述数据长度生成所述待写图片的标识;
从所述第一位置开始将所述待写图片写入至所述主文件;
当所述待写图片写入完成后,将所述待写图片的标识返回至所述客户端,以使所述客户端依据所述待写图片的标识从所述存储节点中读取写入的所述待写图片;
所述当所述待写图片写入完成之前,所述方法还包括:
当接收到所述管理节点发送的切换请求时,停止向所述主文件写入所述待写图片的数据,其中,所述切换请求用于当所述管理节点检测到当前业务流量达到预设阈值时、指示所述存储节点将所述待写图片从写入至所述主文件切换至写入至目标文件,所述目标文件的写入性能高于所述主文件的写入性能;
将所述待写图片中尚未写入的数据写入至所述目标文件;
所述将所述待写图片中尚未写入的数据写入至所述目标文件的步骤之前还包括:
若所述主文件存在关联文件,则将所述关联文件确定为所述目标文件;
若所述主文件不存在关联文件,则创建关联文件,并将所述关联文件确定为所述目标文件;
所述创建关联文件的步骤包括:
获取所述主文件的当前待写入的第二位置;
依据所述主文件的标识、所述第二位置生成所述关联文件的标识;
建立所述主文件与所述关联文件的之间的关联关系。
2.如权利要求1所述的图片管理方法,其特征在于,所述方法还包括:
接收所述客户端发送的读请求,其中,所述读请求包括待读图片的标识;
依据所述待读图片的标识,得到读取所述待读图片的待读位置;
从所述待读位置读取所述待读图片并返回至所述客户端。
3.如权利要求2所述的图片管理方法,其特征在于,所述依据所述待读图片的标识,得到读取所述待读图片的待读位置的步骤包括:
解析所述待读图片的标识,得到存储所述待读图片的目标主文件的标识、在所述目标主文件中的偏移位置及所述待读图片的数据长度;
若所述目标主文件不存在关联文件,则将在所述目标主文件中的偏移位置确定为所述待读位置;
若所述目标主文件存在关联文件,获取并解析所述目标主文件的关联文件的标识,得到从所述目标主文件切换至关联的所述关联文件时所述目标主文件的待写入的第三位置;
若所述偏移位置大于所述第三位置,则计算所述偏移位置与所述第三位置的差值,并将所述目标主文件的关联文件中与所述差值对应的位置作为所述待读位置;
若所述偏移位置小于或者等于所述第三位置,则将在所述目标主文件中的偏移位置作为所述待读位置。
4.如权利要求1所述的图片管理方法,其特征在于,所述方法还包括:
判断所述主文件是否满足迁移条件;
若所述主文件满足所述迁移条件,则将所述主文件的关联文件中的数据迁移至所述主文件。
5.如权利要求4所述的图片管理方法,其特征在于,所述判断所述主文件是否满足迁移条件的步骤包括:
当所述主文件存在关联文件、且所述主文件已写入长度达到预设长度时,判定所述主文件满足迁移条件;
当用于存储所述主文件的关联文件的存储介质被删除时,判定所述主文件满足迁移条件。
6.一种图片管理装置,其特征在于,应用于存储节点,所述存储节点与客户端及管理节点均通信连接,所述存储节点预先创建有用于保存图片数据的主文件,所述装置包括:
接收模块,用于接收所述客户端发送的写请求,其中,所述写请求包括待写图片的数据长度;
写入模块,用于:获取所述主文件的标识及所述主文件的当前待写入的第一位置;依据所述第一位置、所述主文件的标识及所述数据长度生成所述待写图片的标识;从所述第一位置开始将所述待写图片写入至所述主文件;当所述待写图片写入完成后,将所述待写图片的标识返回至所述客户端,以使所述客户端依据所述待写图片的标识从所述存储节点中读取写入的所述待写图片;
所述写入模块,具体用于:当接收到所述管理节点发送的切换请求时,停止向所述主文件写入所述待写图片的数据,其中,所述切换请求用于当所述管理节点检测到当前业务流量达到预设阈值时、指示所述存储节点将所述待写图片从写入至所述主文件切换至写入至目标文件,所述目标文件的写入性能高于所述主文件的写入性能;将所述待写图片中尚未写入的数据写入至所述目标文件;
所述写入模块,具体还用于:若所述主文件存在关联文件,则将所述关联文件确定为所述目标文件;若所述主文件不存在关联文件,则创建关联文件,并将所述关联文件确定为所述目标文件;
所述写入模块,具体还用于:获取所述主文件的当前待写入的第二位置;依据所述主文件的标识、所述第二位置生成所述关联文件的标识;建立所述主文件与所述关联文件的之间的关联关系。
7.一种存储节点,其特征在于,所述存储节点包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的图片管理方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的图片管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010900966.6A CN111966845B (zh) | 2020-08-31 | 2020-08-31 | 图片管理方法、装置、存储节点及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010900966.6A CN111966845B (zh) | 2020-08-31 | 2020-08-31 | 图片管理方法、装置、存储节点及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966845A CN111966845A (zh) | 2020-11-20 |
CN111966845B true CN111966845B (zh) | 2023-11-17 |
Family
ID=73399527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010900966.6A Active CN111966845B (zh) | 2020-08-31 | 2020-08-31 | 图片管理方法、装置、存储节点及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966845B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360094B (zh) * | 2021-06-04 | 2022-11-01 | 重庆紫光华山智安科技有限公司 | 数据预测方法和装置、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103890724A (zh) * | 2011-08-19 | 2014-06-25 | 株式会社东芝 | 信息处理设备、用于控制信息处理设备的方法、存储控制工具的非临时记录介质、主机装置、存储性能评估工具的非临时记录介质、以及用于外部存储装置的性能评估方法 |
CN104462563A (zh) * | 2014-12-26 | 2015-03-25 | 浙江宇视科技有限公司 | 一种文件存储方法和*** |
CN104778270A (zh) * | 2015-04-24 | 2015-07-15 | 成都汇智远景科技有限公司 | 一种用于多文件的存储方法 |
CN105579950A (zh) * | 2013-07-02 | 2016-05-11 | 日立数据***工程英国有限公司 | 用于虚拟化文件***的迁移的方法和装置、用于虚拟化文件***的迁移的数据存储***以及用于在数据存储***中使用的文件服务器 |
CN105993013A (zh) * | 2014-12-27 | 2016-10-05 | 华为技术有限公司 | 一种数据处理方法装置及*** |
CN106484314A (zh) * | 2015-09-01 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种缓存数据控制方法及装置 |
CN108632541A (zh) * | 2017-03-20 | 2018-10-09 | 杭州海康威视数字技术股份有限公司 | 一种多视频片段合并方法及装置 |
CN110336871A (zh) * | 2019-07-01 | 2019-10-15 | 江苏满运软件科技有限公司 | 一种文件处理方法、装置、存储介质及电子设备 |
CN110457281A (zh) * | 2019-08-14 | 2019-11-15 | 北京博睿宏远数据科技股份有限公司 | 数据处理方法、装置、设备及介质 |
CN110716696A (zh) * | 2019-09-27 | 2020-01-21 | 新华三信息安全技术有限公司 | 对象处理方法及相关装置 |
CN110765290A (zh) * | 2019-10-25 | 2020-02-07 | 湖南省公安厅 | 图片存储方法、读取方法、装置及存取*** |
CN110879800A (zh) * | 2018-09-05 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 数据写入、压缩和读取方法、数据处理方法及装置 |
CN111190538A (zh) * | 2019-12-20 | 2020-05-22 | 北京淇瑀信息科技有限公司 | 文件存储方法、***、设备和计算机可读介质 |
CN111208941A (zh) * | 2019-12-24 | 2020-05-29 | 京信通信***(中国)有限公司 | 文件管理方法、装置、计算机设备和计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372685B2 (en) * | 2014-03-31 | 2019-08-06 | Amazon Technologies, Inc. | Scalable file storage service |
-
2020
- 2020-08-31 CN CN202010900966.6A patent/CN111966845B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103890724A (zh) * | 2011-08-19 | 2014-06-25 | 株式会社东芝 | 信息处理设备、用于控制信息处理设备的方法、存储控制工具的非临时记录介质、主机装置、存储性能评估工具的非临时记录介质、以及用于外部存储装置的性能评估方法 |
CN105579950A (zh) * | 2013-07-02 | 2016-05-11 | 日立数据***工程英国有限公司 | 用于虚拟化文件***的迁移的方法和装置、用于虚拟化文件***的迁移的数据存储***以及用于在数据存储***中使用的文件服务器 |
CN104462563A (zh) * | 2014-12-26 | 2015-03-25 | 浙江宇视科技有限公司 | 一种文件存储方法和*** |
CN105993013A (zh) * | 2014-12-27 | 2016-10-05 | 华为技术有限公司 | 一种数据处理方法装置及*** |
CN104778270A (zh) * | 2015-04-24 | 2015-07-15 | 成都汇智远景科技有限公司 | 一种用于多文件的存储方法 |
CN106484314A (zh) * | 2015-09-01 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种缓存数据控制方法及装置 |
CN108632541A (zh) * | 2017-03-20 | 2018-10-09 | 杭州海康威视数字技术股份有限公司 | 一种多视频片段合并方法及装置 |
CN110879800A (zh) * | 2018-09-05 | 2020-03-13 | 阿里巴巴集团控股有限公司 | 数据写入、压缩和读取方法、数据处理方法及装置 |
CN110336871A (zh) * | 2019-07-01 | 2019-10-15 | 江苏满运软件科技有限公司 | 一种文件处理方法、装置、存储介质及电子设备 |
CN110457281A (zh) * | 2019-08-14 | 2019-11-15 | 北京博睿宏远数据科技股份有限公司 | 数据处理方法、装置、设备及介质 |
CN110716696A (zh) * | 2019-09-27 | 2020-01-21 | 新华三信息安全技术有限公司 | 对象处理方法及相关装置 |
CN110765290A (zh) * | 2019-10-25 | 2020-02-07 | 湖南省公安厅 | 图片存储方法、读取方法、装置及存取*** |
CN111190538A (zh) * | 2019-12-20 | 2020-05-22 | 北京淇瑀信息科技有限公司 | 文件存储方法、***、设备和计算机可读介质 |
CN111208941A (zh) * | 2019-12-24 | 2020-05-29 | 京信通信***(中国)有限公司 | 文件管理方法、装置、计算机设备和计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
Urban arterial traffic status detection using cellular data without cellphone GPS information;Shen Li 等;《Transportation Research Part C: Emerging Technologies》;446-462 * |
安防行业中的大数据技术;徐陇浙;《 中国公共安全》;154-157 * |
星载高速碎片式文件存储访问***设计;杨宜禥 等;《航天器工程》;65-72 * |
Also Published As
Publication number | Publication date |
---|---|
CN111966845A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230384963A1 (en) | Efficient Creation And Management Of Snapshots | |
US11068455B2 (en) | Mapper tree with super leaf nodes | |
US9830101B2 (en) | Managing data storage in a set of storage systems using usage counters | |
WO2017049764A1 (zh) | 数据读写方法及分布式存储*** | |
US11579777B2 (en) | Data writing method, client server, and system | |
CN110765076B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
US11385823B2 (en) | Method, electronic device and computer program product for rebuilding disk array | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
US20140181332A1 (en) | Monitoring Record Management Method and Device | |
CN111966845B (zh) | 图片管理方法、装置、存储节点及存储介质 | |
JP6582721B2 (ja) | 制御装置、ストレージシステム、及び制御プログラム | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 | |
WO2023050856A1 (zh) | 数据处理方法及存储*** | |
CN109857519A (zh) | 虚拟磁盘的处理方法及相关装置 | |
CN114428764A (zh) | 文件写入方法、***、电子设备及可读存储介质 | |
CN114416676A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN109241011B (zh) | 一种虚拟机文件处理方法及装置 | |
CN111399759B (zh) | 读数据、写数据的方法、以及对象文件*** | |
CN115840662A (zh) | 一种数据备份***及装置 | |
CN111026720A (zh) | 一种文件处理方法、***及相关设备 | |
CN112988034B (zh) | 一种分布式***数据写入方法及装置 | |
WO2022083267A1 (zh) | 数据处理方法、装置、计算节点以及计算机可读存储介质 | |
US20230209089A1 (en) | Reducing file sizes for media content | |
US20210232318A1 (en) | System and method to achieve an uninterrupted file level backup using a pass-through snapshot engine |
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 |