一种基于HDFS的LOB数据处理方法及装置制造方法及图纸

技术编号:21547767 阅读:23 留言:0更新日期:2019-07-06 21:22
本发明专利技术实施例提供一种基于HDFS的LOB数据处理方法及装置,根据终端发送的数据存储请求获取多个待存储LOB数据,将所有待存储LOB数据依次写入至少一个数据存储单元,对于任意一个已存储LOB数据,获取已存储LOB数据在所在数据存储单元中的存储位置,作为已存储LOB数据对应的第一索引信息,将已存储LOB数据对应的第一索引信息写入预设索引文件;获取已存储LOB数据对应的第一索引信息在预设索引文件中的存储位置,作为已存储LOB数据对应的第二索引信息,将已存储LOB数据对应的第二索引信息返回给终端。该方法及装置能够将部分待存储LOB数据统一写入一个数据存储单元,以使得每个数据存储单元存储空间的利用率实现最大化,一定程度上有效节省了LOB数据的整体存储空间。

A LOB Data Processing Method and Device Based on HDFS

【技术实现步骤摘要】
一种基于HDFS的LOB数据处理方法及装置
本专利技术实施例涉及计算机
,更具体地,涉及一种基于HDFS的LOB数据处理方法及装置。
技术介绍
LOB数据是一种用于存储大对象的数据类型,如医学记录(如X-射线)、视频、图像等。目前,LOB数据一般采用HDFS分布式文件系统进行存储,HDFS分布式文件系统中的一个存储单元为一个block,在采用HDFS分布式文件系统进行LOB数据存储时,一个block往往只能存储一个LOB数据。然而,一个block的大小固定为128MB,一个LOB数据的大小范围是0-2GB,有些LOB数据的大小往往不足128MB,有些LOB数据的大小甚至不足10MB,这些LOB数据可以称为小型LOB数据。若需对大量小型LOB数据进行存储,则需针对每个小型LOB数据分配一个block,而每个小型LOB数据的大小于远远小于一个block的大小,从而导致每个block中将存在大量存储空间被浪费。有鉴于此,亟需提供一种基于HDFS的LOB数据处理方法及装置,以解决现有LOB数据存储方式所存在的大量存储空间被浪费的问题。
技术实现思路
本专利技术实施例为了解决现有LOB数据存储方式所存在的大量存储空间被浪费的问题,提供一种基于HDFS的LOB数据处理方法及装置。第一方面,本专利技术实施例提供一种基于HDFS的LOB数据处理方法,包括:根据终端发送的数据存储请求获取多个待存储LOB数据,将所有待存储LOB数据依次写入至少一个数据存储单元,其中,每个数据存储单元能够存储多个待存储LOB数据;对于任意一个已存储LOB数据,获取所述已存储LOB数据在所在数据存储单元中的存储位置,作为所述已存储LOB数据对应的第一索引信息,将所述已存储LOB数据对应的第一索引信息写入索引管理文件;获取所述已存储LOB数据对应的第一索引信息在所述索引管理文件中的存储位置,作为所述已存储LOB数据对应的第二索引信息,将所述已存储LOB数据对应的第二索引信息返回给终端。第二方面,本专利技术实施例提供一种基于HDFS的LOB数据处理装置,包括:数据存储模块,用于根据终端发送的数据存储请求获取多个待存储LOB数据,将所有待存储LOB数据依次写入至少一个数据存储单元,其中,每个数据存储单元能够存储多个待存储LOB数据;第一索引模块,用于对于任意一个已存储LOB数据,获取所述已存储LOB数据在所在数据存储单元中的存储位置,作为所述已存储LOB数据对应的第一索引信息,将所述已存储LOB数据对应的第一索引信息写入索引管理文件;第二索引模块,用于获取所述已存储LOB数据对应的第一索引信息在所述索引管理文件中的存储位置,作为所述已存储LOB数据对应的第二索引信息,将所述已存储LOB数据对应的第二索引信息返回给终端。第三方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。本专利技术实施例提供的基于HDFS的LOB数据处理方法及装置,通过数据存储单元对待存储LOB数据进行存储,且一个数据存储单元能够同时存储不止一个待存储LOB数据,从而能够将部分待存储LOB数据统一写入一个数据存储单元,以使得每个数据存储单元存储空间的利用率实现最大化,一定程度上有效节省了LOB数据的整体存储空间;同时,将已存储LOB数据对应的第二索引信息返回给终端有利于终端根据已存储LOB数据对应的第二索引信息获取已存储LOB数据的具体存储位置,便于终端对已存储LOB数据进行后续处理。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的基于HDFS的LOB数据处理方法的流程示意图;图2为本专利技术实施例提供的基于HDFS的LOB数据处理装置的结构示意图;图3为本专利技术实施例提供的电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例提供的基于HDFS的LOB数据处理方法的流程示意图,如图1所示,本专利技术实施例提供一种基于HDFS的LOB数据处理方法,包括:S1,根据终端发送的数据存储请求获取多个待存储LOB数据,将所有待存储LOB数据依次写入至少一个数据存储单元,其中,每个数据存储单元能够存储多个待存储LOB数据;具体地,当终端需要对多个LOB数据进行存储时,终端发起数据存储请求,数据存储请求中携带了多个待存储LOB数据。在此基础上,根据终端发送的数据存储请求获取多个待存储LOB数据,将所有待存储LOB数据依次写入至少一个数据存储单元。可以理解的是,若所有待存储LOB数据的大小总和不大于一个数据存储单元的大小,则可将所有待存储LOB数据统一写入一个数据存储单元中;若所有待存储LOB数据的大小总和大于一个数据存储单元的大小,则需要至少两个数据存储单元才能够容纳所有待存储LOB数据。需要说明的是,本专利技术实施例中,数据存储单元用于存储LOB数据的数据内容,一个数据存储单元的大小为1TB,由于一个待存储LOB数据的大小不大于2GB,因此一个数据存储单元至少可以存储512个待存储LOB数据。即,每个数据存储单元能够存储多个待存储LOB数据。在其他实施例中,一个数据存储单元的大小可以根据实际需求进行设置,此处不做具体限定。S2,对于任意一个已存储LOB数据,获取已存储LOB数据在所在数据存储单元中的存储位置,作为已存储LOB数据对应的第一索引信息,将已存储LOB数据对应的第一索引信息写入索引管理文件;在所有待存储LOB数据均存储完成之后,即可获得多个已存储LOB数据。对于任意一个已存储LOB数据,获取已存储LOB数据在所在数据存储单元中的存储位置,作为已存储LOB数据对应的第一索引信息。例如,若已存储LOB数据A被存储在第i个数据存储单元中,且其在第i个数据存储单元中的存储位置为第L位,则已存储LOB数据A对应的第一索引信息为第i个数据存储单元中的第L位。最终,将已存储LOB数据对应的第一索引信息写入索引管理文件,其中,索引管理文件是预先创建的文件,其用于存储每个已存储LOB数据对应的第一索引信息。S3,获取已存储LOB数据对应的第一索引信息在预设索引文件中的存储位置,作为已存储LOB数据对应的第二索引信息,将已存储LOB数据对应的第二索引信息返回给终端。具体地,在将已存储LOB数据对应的第一索引信息写入索引管理文件之后,获取已存储LOB数据对应的第一索引信息在索引管理文件中的存储位置,作为已存储LOB数据对应的第二索引信息。例如本文档来自技高网...

【技术保护点】
1.一种基于HDFS的LOB数据处理方法,其特征在于,包括:根据终端发送的数据存储请求获取多个待存储LOB数据,将所有待存储LOB数据依次写入至少一个数据存储单元,其中,每个数据存储单元能够存储多个待存储LOB数据;对于任意一个已存储LOB数据,获取所述已存储LOB数据在所在数据存储单元中的存储位置,作为所述已存储LOB数据对应的第一索引信息,将所述已存储LOB数据对应的第一索引信息写入索引管理文件;获取所述已存储LOB数据对应的第一索引信息在所述索引管理文件中的存储位置,作为所述已存储LOB数据对应的第二索引信息,将所述已存储LOB数据对应的第二索引信息返回给终端。

【技术特征摘要】
1.一种基于HDFS的LOB数据处理方法,其特征在于,包括:根据终端发送的数据存储请求获取多个待存储LOB数据,将所有待存储LOB数据依次写入至少一个数据存储单元,其中,每个数据存储单元能够存储多个待存储LOB数据;对于任意一个已存储LOB数据,获取所述已存储LOB数据在所在数据存储单元中的存储位置,作为所述已存储LOB数据对应的第一索引信息,将所述已存储LOB数据对应的第一索引信息写入索引管理文件;获取所述已存储LOB数据对应的第一索引信息在所述索引管理文件中的存储位置,作为所述已存储LOB数据对应的第二索引信息,将所述已存储LOB数据对应的第二索引信息返回给终端。2.根据权利要求1所述的方法,其特征在于,将所有待存储LOB数据依次写入至少一个数据存储单元,具体为:获取当前待存储LOB数据,若当前数据存储单元的剩余存储容量大小小于当前待存储LOB数据的大小,则新增一个数据存储单元,作为下一个数据存储单元;将剩余待存储LOB数据依次写入下一个数据存储单元,直至所有待存储LOB数据存储完成。3.根据权利要求1所述的方法,其特征在于,还包括:根据终端发送的数据删除请求获取待删除LOB数据对应的第二索引信息;将待删除LOB数据对应的第二索引信息写入删除管理文件;当所述删除管理文件中的所有待删除LOB数据的总数量满足预设条件时,将删除管理文件中的所有待删除LOB数据进行统一删除。4.根据权利要求1所述的方法,其特征在于,还包括:根据终端发送的数据读取请求获取待读取LOB数据对应的第二索引信息;根据所述待读取LOB数据对应的第二索引信息从所述索引管理文件中获取所述待读取LOB数据对应的第一索引信息;根据所述待读取LOB数据对应的第一索引信息读取所述待读取LOB数据。5.根据权利要求1所述的方法,其特征在于,还包括:根据终端发送的数据修改请求获取待修改LOB数据对应的第二索引信息和所述待修改LOB数据对应的替换LOB数据;将所述待修改LOB数据对应的第二索引信息写入删除管理文件;若当前数据存储单元的剩余存储容量大小不小于所述替换LOB数据的大小,则将所述替换LOB数据写入当前数据存储单元;获取所述替换LOB数据在当前数据存储单元中的存储位置,作为所述替换LOB数据对应的第一索引信息,将所述替换LOB数据对应的第一索引信息写入所...

【专利技术属性】
技术研发人员:宋万全董隆超周群年
申请(专利权)人:北京东方国信科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1