CN106776783B - 非结构化数据存储管理方法和系统 - Google Patents
非结构化数据存储管理方法和系统 Download PDFInfo
- Publication number
- CN106776783B CN106776783B CN201611043089.5A CN201611043089A CN106776783B CN 106776783 B CN106776783 B CN 106776783B CN 201611043089 A CN201611043089 A CN 201611043089A CN 106776783 B CN106776783 B CN 106776783B
- Authority
- CN
- China
- Prior art keywords
- metadata
- server
- data
- unstructured data
- unstructured
- 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
- 238000013523 data management Methods 0.000 claims abstract description 65
- 238000003860 storage Methods 0.000 claims abstract description 57
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000013500 data storage Methods 0.000 claims description 28
- 230000008859 change Effects 0.000 claims description 15
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000007792 addition Methods 0.000 claims description 5
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000000547 structure data Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 206010052428 Wound Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文提供一种非结构化数据存储管理方法和系统,解决现有技术中非结构化存储管理系统无法支撑大量的小文件及其元数据的存储和快速访问的问题。其特别涉及非结构化数据的存储管理;其方法包括步骤:非结构化数据具有与其对应的第二元数据;第二元数据存储于内存中,以哈希表的结构存储,第二元数据包括非结构化数据对应的部分描述数据和第一键值;第一键值对应第二元数据映射在哈希表中的关键字;接收非结构化数据管理指令;若非结构化数据管理指令的参数为第一键值,则在内存中执行该非结构化数据管理指令。本文提供的方案优化了非结构化数据的元数据的访问速度。
Description
技术领域
本发明涉及数据存储管理,特别涉及非结构化数据的存储管理。
背景技术
在企业中,非结构化数据的主要来源是各种业务应用系统(如办公系统、ERP系统、图档系统,等)。随着非结构化数据的量不断增加,为了减小各专业应用系统在非结构化数据存储管理方面的负担,逐渐形成了专门用于非结构化数据存储、管理、加工处理的“非结构化数据存储管理系统”(也有称之为“云存储系统”、“海量存储系统”、“非结构化数据库”等)。
在功能方面,非结构化数据存储管理系统主要负责统一存储、管理、加工处理各类企业应用系统产生的非结构化数据,即非结构化数据存储管理软件的管理对象是非结构化数据及其元数据。
在性能方面,非结构化数据存储管理系统管理的数据至少在TB级别以上,大型企业更可能达到PB或更高级别,文件个数在“亿”级别。所以,系统一般采用集群的方式部署,PB级别的系统集群规模一般超过10台服务器。
而目前的非结构化存储管理系统,将非结构化数据的所有属性放入内存中,以方便根据关键值获取非结构化数据的属性,但其无法支撑大量的小文件及其元数据的存储和访问。
例如HDFS,根据X86服务器的体系架构,服务器的内存是有上限的,例如高性能的4路服务器最多只能配置128GB的内存。那么,服务器的内存大小就限制了HDFS的集群的规模。例如:假设非结构化数据的平均文件大小是100KB,假设系统设置的元数据信息为1KB,那么128GB内存最多可以存储的元数据条目数=128GB/1KB=1.28亿,对应的集群文件规模最大=1.28亿*100KB=12.8TB。这远远不能满足大数据存储的需求。
另外,该服务器只提供了三种操作:根据ID进行Get(获取)、Set(设置)、Delete(删除)操作。因此无法满足多种任务场景需求,例如需要通过查询甲方为XX公司的合同。
发明内容
以下给出对一个或更多个方面的简化概述以力图提供对此类方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或更多个方面的一些概念以作为稍后给出的更加具体的说明之序。
本文提供一种非结构化数据存储管理方法、服务器和系统,解决现有技术中非结构化存储管理系统无法支撑大量的小文件及其元数据的存储和快速访问的问题。
为实现上述目的,发明人提供了非结构化数据存储管理方法、服务器和系统,其中方法用于存储和管理非结构化数据,该方法包括:
非结构化数据具有与其对应的第二元数据;
第二元数据存储于内存中,以哈希表的结构存储,
第二元数据包括非结构化数据对应的部分描述数据和第一键值;
第一键值对应第二元数据映射在哈希表中的关键字;
接收非结构化数据管理指令;
若非结构化数据管理指令的参数为第一键值,
则在内存中执行该非结构化数据管理指令。
相对于为了满足业务处理需求而只能采用数据库方式存储第一元数据信息的现有方式,本文的方法在处理部分数据访问请求时能在内存中快速返回所请求的数据,从而提高系统整体的效率。
为能达成前述及相关目的,这一个或更多个方面包括在下文中充分描述并在所附权利要求中特别指出的特征。以下描述和附图详细阐述了这一个或更多个方面的某些说明性特征。但是,这些特征仅仅是指示了可采用各种方面的原理的各种方式中的若干种,并且本描述旨在涵盖所有此类方面及其等效方面。
附图说明
以下将结合附图来描述所公开的方面,提供附图是为了说明而非限定所公开的方面,附图中相似的标号标示相似要素,并且在其中:
图1元数据与非结构化数据共同保存的结构示意图;
图2本发明提供的系统架构图;
图3本发明系统中上传非结构化数据流程示意图;
图4本发明系统中下载非结构化数据流程示意图。
附图标记说明:
101:非结构化数据;
102:元数据;
201:客户端;
202:服务端;
2021:非结构化数据存储服务模块;
2022:元数据存储管理模块;
2023:数据库模块;
2024:分布式消息模块;
2027:硬件驱动模块;
301:客户端;
311:元数据存储管理模块;
312:离线计算模块;
313:分布式消息模块;
321:数据库模块;
3223、3222、3221:非结构化数据存储服务模块;
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。在以下描述中,出于解释目的阐述了众多的具体细节以提供对一个或更多个方面的透彻理解。但是显而易见的是,没有这些具体细节也可实践此类方面。
本文中元数据(Metadata)是描述其它数据的数据(data about other data),或者说是用于提供某种资源的有关信息的结构数据(structured data)。元数据是描述信息资源或数据等对象的数据,其使用目的在于:识别资源;评价资源;追踪资源在使用过程中的变化;实现简单高效地管理大量网络化数据;实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。
元数据的最为重要的特征和功能是为数字化信息资源建立一种机器可理解框架。非结构化数据的属性通常包括四类:基本属性(如文件名、创建时间,等)、语义特征(和具体业务相关的信息,如一份“合同”,其元数据包括甲方、乙方、合同额,等)、底层特征(如视频文件的帧数、图像文件的颜色空间,等)和管理属性(如非结构化数据的权限归属、存储路径,等)。这四类都可作为元数据。
可以理解的是,在不同的系统中,根据系统所存储和处理的非结构化数据不同、数据业务流程的不同等,所选取的非结构化数据的属性也是不同的,即元数据可以是预先设定,或根据神经网络计算生成的用于描述非结构化数据的数据集合。例如有些系统中的元数据包括文件名、文件编号、授权信息等属性;而另一些系统中,元数据包括甲方、乙方、查看权限、文件名、合同文本等;
本文提供一种非结构化数据存储管理方法、服务器和系统,用于提供一种支撑大量的小文件及其元数据的存储和快速访问、以及支持对非结构化数据属性的直接查询的存储管理系统。该系统特别适合作为数据至少在TB级别以上,甚至达到PB或更高级别、文件个数在“亿”级别的非结构化数据存储管理的解决方案。
本文提供非结构化数据存储管理方法,用于存储和管理非结构化数据,该方法如下:
非结构化数据具有与其对应的第二元数据;
第二元数据存储于内存中,以哈希表的结构存储,
第二元数据包括非结构化数据对应的部分描述数据和第一键值;
第一键值对应第二元数据映射在哈希表中的关键字;
接收非结构化数据管理指令;
若非结构化数据管理指令的参数为第一键值,
则在内存中执行该非结构化数据管理指令。
为了便于描述,非结构化数据管理指令也简称数据管理指令或指令。
本文中第一元数据为非结构化数据存储管理系统中所有业务处理过程中,需要用到的非结构化数据的所有原始的描述数据的集合;本文中第二元数据为非结构化数据的部分原始的描述数据的集合;例如,在某一系统中:某一业务处理过程中需要用到文件名、目录、访问权限;另一业务处理过程中需要用到案件编号、摘要、摘要附图;因此在该系统中,第一元数据包括关键字、文件名、目录、访问权限、文件编号、摘要、摘要附图,这些数据可以是以表的形式存储于数据库中;可以理解的是,根据开发或应用场景的不同,这些数据是否作为原始描述数据,是由非结构化存储管理系统开发时决定的;例如在一个管理合同的非结构化数据存储管理系统中,合同的签署日期是合同这种非结构化数据的一个原始描述数据,但有些系统在设计时,将合同的生效时长作为原始描述数据,而另一些情况中,合同的生效时长不作为原始描述数据,因为合同的生效时长可以通过合同的签署日期计算出;第二元数据仅包含关键字、文件名、文件编号;第二元数据为系统中业务处理过程中频繁用到的数据,可以理解的是这里的频繁指的是相对于该系统中的其他数据;例如在一个系统中,需要文件名和文件编号的业务处理流程较多,或者用户日常需要通过根据关键字获取文件名和文件编号,而不需要每天根据关键字获取摘要、摘要附图等信息,则相对于摘要、摘要附图,第二元数据优先包括文件名和文件编号。第二元数据的数据量小于第一元数据,在大多数情况下,第二元数据是第一元数据的真子集。
第一元数据存储于数据库中,该存储方式支持用户的对非结构化数据的各种数据管理指令,数据管理指令包括数据库命令。例如用户的数据管理指令为查询在2016年间产生的劳动合同数据,或查询2016年间企业的技术人员的平均工资,等等。
第二元数据存储于内存中,优选的仅支持三种操作,即根据第一键值进行Get(获取)、Set(设置)、Delete(删除)操作,即内存中支持的数据管理指令为Get(获取)、Set(设置)、Delete(删除)操作,操作的参数为第一键值。
可以理解的是上述非结构化数据管理指令的执行只涉及内存中的数据,因此执行过程是很快的,因此本文所介绍的非结构化数据存储管理系统可以支持大量的并发访问;同时对于同一批非结构化数据,第二元数据的数据量小于第一元数据的数据量,因此在服务器内存大小一定时,所以本文的方法所支持的非结构化数据的管理规模会大于现有技术。
在另一些优选的实施方式中上述方法为:
非结构化数据具有与其对应的第一元数据;
第一元数据存储于存储设备中,以数据库的形式存储,
第一元数据包括非结构化数据对应的全部描述数据和第一键值;
第二元数据存储于内存中,以哈希表的结构存储,
第二元数据包括非结构化数据对应的部分描述数据和第一键值;
第一键值对应第二元数据映射在哈希表中的关键字;
接收非结构化数据管理指令;
若非结构化数据管理指令的参数为第一键值,
则在内存中执行该非结构化数据管理指令。
若所接收的非结构化数据管理指令的参数不为第一键值,或所接收的非结构化数据管理指令的调用方式为慢速接口调用,
则在数据库中执行该非结构化数据管理指令即在复杂的数据管理请求时,通过数据库的方式处理该数据管理指令;
相对于为了满足业务处理需求而只能采用数据库方式存储第一元数据信息的现有方式,本文的方法在处理部分数据访问请求时能在内存中快速返回所请求的数据,从而提高系统整体的效率。
优选的实施方式中,第一元数据与对应的非结构化数据组合后存储于存储设备中。
例如参见图1,在一种实施方式中,在保存非结构化数据时,同时将元数据及其长度信息作为非结构化数据流的头部,进行一并保存,如图1所示,原始非结构化数据为100KB字节(L11所指示长度),元数据为2KB字节(L13所指示长度),元数据的长度预先保留8个字节进行保存,从而,最终保存的数据长度为104104字节(L12所指示长度);在进行非结构化数据及其元数据下载时,首先读取文件流的头8字节,获得元数据长度为2014字节;接着读2048字节,并识别为元数据信息;最后,剩下的数据就是原始非结构化数据。
该方式使其可以同时读取元数据和非结构化数据,同时通过长度信息区分元数据和非结构化数据。上述方式加快一部分数据处理的过程,该数据处理指的是:需要同时获取元数据和非结构化数据。
上述方法还可应用在分布式数据存储管理系统中,
第一服务器用于存储非结构化数据,和用于管理第一元数据的数据库;
第二服务器的内存中存储有第二元数据;
第二服务器接收非结构化数据管理指令;
若所接收的非结构化数据管理指令的参数为第一键值,
则在第二服务器的内存中执行非结构化数据管理指令;
若所接收的非结构化数据管理指令的参数不为第一键值,或所接收的非结构化数据管理指令的调用方式为慢速接口调用,
则通过数据库执行该非结构化数据管理指令。
本文还提供一种非结构化数据存储管理系统,用于实现上述方法,该系统包括第一服务器;第二服务器;
第二服务器用于存储第二元数据;第二元数据存储于第二服务器的内存中,以哈希表的结构存储,第二元数据包括非结构化数据对应的部分描述数据和第一键值;第一键值对应第二元数据映射在哈希表中的关键字;用于接收非结构化数据管理指令;若非结构化数据管理指令的参数为第一键值,则在内存中执行该非结构化数据管理指令;用于在非结构化数据管理指令的参数不为第一键值或所接收的非结构化数据管理指令的调用方式为慢速接口调用时,将该非结构化数据管理指令发送至第一服务器执行;慢速接口为调用数据库方式执行的接口。慢速接口调用即指的是调用的接口为慢速接口。
第一服务器用于存储第一元数据,第一元数据存储于存储设备中,以数据库的形式存储,第一元数据包括非结构化数据对应的全部描述数据和第一键值。
优选的方案中,第一服务器或第二服务器的存储设备中存储有第一元数据与对应的非结构化数据的组合。
在优选的方案中,本文提供的非结构化数据存储管理系统,包括客户端,第一服务器、第二服务器;客户端根据客户的数据处理事务,发送对应的指令或调取对应的访问接口,从而分布式架构的第一服务器和第二服务器。
客户端用于在非结构化数据管理指令的参数为第一键值时,发送至第二服务器的执行该非结构化数据管理指令;若所发送到第二服务器的非结构化数据管理指令添加、修改或删除第二元数据,则在第二服务器返回第一描述数据后,将第一描述数据发送至第一服务器;
客户端用于在非结构化数据管理指令的参数不为第一键值,将该非结构化数据管理指令发送至第第一服务器的执行;
第二服务器用于存储第二元数据;第二元数据存储于内存中,以哈希表的结构存储,第二元数据包括与非结构化数据对应的部分描述数据和第一键值;第一键值对应第二元数据映射在哈希表中的关键字;用于接收和执行非结构化数据管理指令,该非结构化数据管理指令的参数为第一键值;若所执行的非结构化数据管理指令添加、修改或删除第二元数据,则还向客户端返回第一描述数据。
第一服务器用于存储第一元数据,第一元数据存储于存储设备中,以数据库的形式存储,第一元数据包括与非结构化数据对应的全部描述数据和第一键值;用于接收客户端发送的非结构化数据管理指令,并使用该管理指令访问数据库;还用于接收第一描述数据,并对应的操作数据库中的数据和存储设备中的非结构化数据。
优选的,第一服务器中的数据库的更新是异步的,即第一服务器的数据库根据第二服务器的更新而更新,并且该更新是批量和滞后于第二服务器的更新的。第二服务器用于每隔一段设定的时间查询第二服务器中的第二元数据是否有改变,若有改变则根据发生改变的数据从第一服务器中读取对应的第一元数据,并根据读取的第一元数据对应的修改第一服务器的数据库,所读取的第一元数据为第一服务器中根据第二服务器中的第二元数据的改变而应发生改变的非结构化数据所对应的第一元数据。
例如上述系统的一种实现可以是这样的:
第二元数据包括非结构化数据所存储的DataNode的编号、在DataNode中的存储路径、数据权限;
第一元数据还包括其他用于描述非结构化数据的其他描述数据,例如对于合同类的非结构化数据,其第一元数据可以是包括签订日期、甲方、乙方、条款正文等。
参见图2,整体系统架构分类两部分:
1.客户端201:客户端触发各业务系统访问非结构化数据及其元数据。另外客户端也承担关键字生成、元数据的逻辑校验等工作。
2.服务端202:主要有四个组件构成:非结构化数据存储服务模块2021、元数据存储管理模块2022、分布式消息模块2024、离线计算模块2025、硬件驱动模块2027;
其中元数据存储管理模块、分布式消息模块、离线计算模块位于第二服务器中;非结构化数据存储服务模块和非结构化数据存储服务模块位于第一服务器中;
1)非结构化数据存储服务模块,即DataNode。用以非结构化数据的存储,并提供相关的网络接口服务。DataNode组件可以是访问多台第一服务器中的数据库,该数据库中存储有第一元数据。在一些优选的实施例中,还存储有第一元数据,第一元数据与对应的非结构化数据集组合后存储。
2)元数据存储管理模块,即NameNode。NameNode运行于第二服务器中,本方案中用于存储和管理第二元数据,并将相关的服务以网络接口的形式提供。该网络接口分为访问内存中第二元数据的接口,以及访问存储于存储设备中的数据库的接口。
3)分布式消息模块。例如该模块可以采用开源的消息中间件Kafka,为整体系统提供分布式消息服务,其与离线计算模块配合,完成各部分数据的同步。
4)离线计算模块。执行系统中各类离线计算任务。在本发明中,主要与分布式消息模块配合,实现在数据操作增加、删除、更新等指令下达时,实现第二元数据存储管理模块与关系数据库模块异步执行逻辑。
5)数据库模块。采用开源的关系数据库MySQL,用以存储可查询的第一元数据。
以下,通过非结构化数据的上传、下载流程的一个实施例,进一步阐明本发明的元数据存储管理方法和系统:
参见图3的数据上传流程,其主要包括以下几个步骤:
S101:客户端调用NameNode提供的Set接口,发起上传数据请求,并传输关键字、数据权限等信息至NameNode;可以理解的是,这里的上传数据请求指的是发起上传非结构化数据的请求。
S102:NameNode根据DataNode的资源情况,为该数据分配具体的DataNode和存储目录(即存储路径),并将存储路径和其他相关信息添加到第二元数据中,将第二元数据存储于NameNode中将第二元数据和其他描述数据结合,构成第一元数据。其他描述数据为:该非结构化数据区别于第二元数据中的描述数据的其他描述数据。
S103:NameNode将第一元数据发往离线消息系统模块,以供后续离线计算模块异步调用。
S104:NameNode将上述信息返回给客户端后,客户端调用DataNode的数据传输接口,将非结构化数据、第一元数据发送至DataNode。而后由DataNode保存非结构化数据及第一元数据。
为了确保流程(S201-S203)不会影响主流程(S101-S104)的执行效率、降低性能,步骤S201-S203设计为和主流程是异步并行开展的。
流程S201-S203具体为:
S201:离线计算模块每隔一段时间(如3秒钟)会向消息系统查询是否有新增的非结构化数据。如果有,则读取对应的第一元数据(其包括关键字和存储路径)。
S202:离线计算模块根据第一元数据中的存储路径,从DataNode中读取“整合到非结构化数据头部”的第一元数据。
S203:经过一定规则的解析和格式整理后,离线计算模块调用关系数据库命令,执行SQL脚本,将第一元数据插入到关系数据库中。供后续其他数据业务使用。
数据下载流程,有以下两种不同的类型:只下载一个非结构化数据、下载涉及多个非结构化数据。
参见图4,只下载一个非结构化数据的下载流程包括:
S301:客户端调用NameNode的Get接口,查询某关键字对应第二元数据中记载的数据存储路径和权限。
S302:客户端根据NameNode返回的存储路径、数据权限信息,首先检查发起该操作的帐号是否有权限,如有权限则继续解析存储路径信息,调用对应的DataNode的数据下载接口(该接口为慢速接口),获得非结构化数据及全量元数据的信息,将元数据从头部剥离后,即获得非结构化数据文件,以及对应的元数据。
参见图4,下载涉及多个非结构化数据的下载流程,有以下两个步骤:
S401:客户端发起涉及多个非结构化数据的数据下载指令(该指令的调用接口为慢速接口),该指令转换为数据库查询指令,用于在数据库发起SQL查询,获得符合条件的所有相关数据的关键字(如查询类型为“合同”的所有数据,则执行结果为返回所有合同数据的关键字)和存储路径。
S402:客户端根据获得的所有非结构化数据对应的关键字、存储路径,逐个调用对应DataNode的数据下载接口,获得非结构化数据及全量元数据的信息,进一步解析后获得非结构化数据文件及对应的元数据。
上述方法和系统在充分分析大型企业中非结构化数据元数据访问场景、特点的基础上,将元数据的访问需求进行分类,并在存储和访问的方式上予以区分对待,从而能够有效兼顾、平衡企业非结构化数据存储管理中对元数据存储管理的功能、性能需求,同步达到最优化。
与现有技术相比,上述方法在第二服务器内存一定时,扩大该系统所支持的分布式非结构化数据管理的规模。通过异步并行写入技术,避免其对主流程进行影响,提高对主流程负责的频发的数据处理指令的执行速度;在实现元数据存储管理的整体高性能的同时,兼顾企业应用在元数据查询等方面的相关需求。非结构化数据存储管理系统需要统一为企业内部的各类业务系统提供非结构化数据存、取、管理的相关服务。在上述各系统中,用户发起的针对非结构化数据的所有请求(如查看一张图片,或上传下载一个文件),都会转化为对非结构化数据存储管理软件的访问请求,而大型企业中各系统的大量并发操作将转换为对非结构化数据存储管理系统的操作,本文提供的非结构化数据存储管理系统将元数据的访问需求进行分类,并在存储和访问的方式上予以区分对待,从而能够有效兼顾、平衡企业非结构化数据存储管理中对元数据存储管理的功能、性能需求,同步达到最优化,从而可以承载很大的并发访问。
本文提供一种用于实现非结构化数据存储管理方法的数据服务器,其相当于第二服务器,包括元数据存储模块、元数据管理模块;元数据存储管理模块包括元数据存储模块和元数据存储管理模块;
非结构化数据具有与其对应的第二元数据;
元数据存储模块用于在内存中存储第二元数据,第二元数据以哈希表的结构存储,第二元数据包括非结构化数据对应的部分描述数据、第一键值;第一键值对应第二元数据映射在哈希表中的关键字;
元数据管理模块用于接收非结构化数据管理指令;若判断非结构化数据管理指令的参数为第一键值,则在内存中执行非结构化数据管理指令。
本文还提供一种用于实现上述方法的非结构化数据存储管理系统,包括第一服务器;第二服务器;
第二服务器用于存储第二元数据;第二元数据存储于内存中,以哈希表的结构存储,第二元数据包括非结构化数据对应的部分描述数据、第一键值;第一键值对应第二元数据映射在哈希表中的关键字;用于接收非结构化数据管理指令;若判断非结构化数据管理指令的参数为第一键值,则在内存中执行非结构化数据管理指令;
第一服务器用于存储第一元数据,第一元数据存储于存储设备中,以数据库的形式存储,第一元数据包括非结构化数据对应的全部描述数据、第一键值;
若判断非结构化数据管理指令的参数不为第一键值,则使用该管理指令访问数据库。
可以理解的是,第一服务器不具有第二服务器管理第二元数据的计算逻辑;但第二服务器可以具有第一服务器存储和管理第一元数据和非结构化数据的计算逻辑和硬件设施(例如硬盘)。
优选的,第一服务器或第二服务器的存储设备中存储有第一元数据与对应的非结构化数据的组合。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (4)
1.非结构化数据存储管理系统,其特征在于,包括客户端,第一服务器、第二服务器;
客户端用于在非结构化数据管理指令的参数为第一键值时,将该非结构化数据管理指令发送至第二服务器执行;若发送到第二服务器的非结构化数据管理指令添加、修改或删除第二元数据,则在第二服务器返回第一描述数据后,将第一描述数据发送至第一服务器;
客户端用于在所接收的非结构化数据管理指令的调用方式为慢速接口调用时,将该非结构化数据管理指令发送至第一服务器执行;
第二服务器用于存储第二元数据;第二元数据存储于内存中,以哈希表的结构存储,第二元数据包括与非结构化数据对应的部分描述数据和第一键值;第一键值对应第二元数据映射在哈希表中的关键字;第二服务器用于接收和执行非结构化数据管理指令,该非结构化数据管理指令的参数为第一键值;若所执行的非结构化数据管理指令添加、修改或删除第二元数据,则还向客户端返回第一描述数据;
第一服务器用于存储第一元数据,第一元数据存储于存储设备中,以数据库的形式存储,第一元数据包括与非结构化数据对应的全部描述数据和第一键值;第一服务器用于接收客户端发送的非结构化数据管理指令,并使用该管理指令访问数据库;还用于接收第一描述数据,并对应的操作数据库中的数据和存储设备中的非结构化数据。
2.根据权利要求1所述的系统,其特征在于,第二服务器用于每隔一段设定的时间查询第二服务器中的第二元数据是否有改变,若有改变则根据发生改变的数据从第一服务器中读取对应的第一元数据,并根据读取的第一元数据对应的修改第一服务器的数据库,所读取的第一元数据为第一服务器中根据第二服务器中的第二元数据的改变而应发生改变的非结构化数据所对应的第一元数据。
3.非结构化数据存储管理方法,其特征在于,运行于包括客户端,第一服务器、第二服务器的非结构化数据存储管理系统中;
包括如下步骤,
客户端在非结构化数据管理指令的参数为第一键值时,将该非结构化数据管理指令发送至第二服务器执行;若发送到第二服务器的非结构化数据管理指令添加、修改或删除第二元数据,则在第二服务器返回第一描述数据后,将第一描述数据发送至第一服务器;
客户端在所接收的非结构化数据管理指令的调用方式为慢速接口调用时,将该非结构化数据管理指令发送至第二服务器执行;
第二服务器用于存储第二元数据;第二元数据存储于内存中,以哈希表的结构存储,第二元数据包括与非结构化数据对应的部分描述数据和第一键值;第一键值对应第二元数据映射在哈希表中的关键字;第二服务器接收和执行非结构化数据管理指令,该非结构化数据管理指令的参数为第一键值;若所执行的非结构化数据管理指令添加、修改或删除第二元数据,则还向客户端返回第一描述数据;
第一服务器用于存储第一元数据,第一元数据存储于存储设备中,以数据库的形式存储,第一元数据包括与非结构化数据对应的全部描述数据和第一键值;第一服务器接收客户端发送的非结构化数据管理指令,并使用该管理指令访问数据库;还用于接收第一描述数据,并对应的操作数据库中的数据和存储设备中的非结构化数据。
4.根据权利要求3所述的方法,其特征在于,第二服务器用于每隔一段设定的时间查询第二服务器中的第二元数据是否有改变,若有改变则根据发生改变的数据从第一服务器中读取对应的第一元数据,并根据读取的第一元数据对应的修改第一服务器的数据库,所读取的第一元数据为第一服务器中根据第二服务器中的第二元数据的改变而应发生改变的非结构化数据所对应的第一元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611043089.5A CN106776783B (zh) | 2016-11-24 | 2016-11-24 | 非结构化数据存储管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611043089.5A CN106776783B (zh) | 2016-11-24 | 2016-11-24 | 非结构化数据存储管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106776783A CN106776783A (zh) | 2017-05-31 |
CN106776783B true CN106776783B (zh) | 2019-10-01 |
Family
ID=58974773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611043089.5A Active CN106776783B (zh) | 2016-11-24 | 2016-11-24 | 非结构化数据存储管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776783B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659626B (zh) * | 2017-09-11 | 2020-09-15 | 上海交通大学 | 面向临时元数据的分离存储方法 |
CN107798062A (zh) * | 2017-09-20 | 2018-03-13 | 中国电力科学研究院 | 一种变电站历史数据统一存储方法和系统 |
CN107844546A (zh) * | 2017-10-27 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种文件系统元数据管理系统及方法 |
US20190179948A1 (en) * | 2017-12-12 | 2019-06-13 | International Business Machines Corporation | Storing unstructured data in a structured framework |
FR3091110B1 (fr) * | 2018-12-21 | 2020-12-04 | Seb Sa | Procede de traitement de contenus non structures par un appareil culinaire |
CN112529499A (zh) * | 2020-12-09 | 2021-03-19 | 杭州趣链科技有限公司 | 基于区块链的航空货物溯源方法、装置及相关设备 |
CN114969039B (zh) * | 2022-05-27 | 2024-01-23 | 中德高路咨询(云南)有限公司 | 一种计算机大数据分类存储系统及方法 |
CN117272399B (zh) * | 2023-11-23 | 2024-02-23 | 深圳九有数据库有限公司 | 一种数据库融合管理方法、装置及存储介质 |
CN117349401B (zh) * | 2023-12-06 | 2024-03-15 | 之江实验室 | 一种非结构化数据的元数据存储方法、装置、介质及设备 |
CN117807619B (zh) * | 2024-03-01 | 2024-05-14 | 中国人民解放军国防科技大学 | 一种非结构化数据与结构化数据的统一权限控制方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852318A (zh) * | 2006-04-19 | 2006-10-25 | 华中科技大学 | 适用于对象网络存储的分布式多级缓存系统 |
CN101963982A (zh) * | 2010-09-27 | 2011-02-02 | 清华大学 | 基于位置敏感哈希的删冗存储系统元数据管理方法 |
CN103019960A (zh) * | 2012-12-03 | 2013-04-03 | 华为技术有限公司 | 分布式缓存方法及系统 |
CN103078936A (zh) * | 2012-12-31 | 2013-05-01 | 网宿科技股份有限公司 | 基于gfs的分布式文件系统的元数据分级存储方法和系统 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN103442036A (zh) * | 2013-08-09 | 2013-12-11 | 苏州蓝海彤翔系统科技有限公司 | 一种基于云平台的设计开发、后期制作及数据存储一体化系统 |
CN104376108A (zh) * | 2014-11-26 | 2015-02-25 | 克拉玛依红有软件有限责任公司 | 一种基于6w语义标识的非结构化自然语言信息抽取方法 |
CN105630688A (zh) * | 2014-10-30 | 2016-06-01 | 国际商业机器公司 | 聚集文件的存储方法和系统以及聚集文件压缩方法和系统 |
CN106331286A (zh) * | 2015-06-19 | 2017-01-11 | 拓维信息系统股份有限公司 | 一种手机动漫运营服务系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7032096B2 (en) * | 2003-04-22 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | Memory management system and method using a hash table |
US9569400B2 (en) * | 2012-11-21 | 2017-02-14 | International Business Machines Corporation | RDMA-optimized high-performance distributed cache |
-
2016
- 2016-11-24 CN CN201611043089.5A patent/CN106776783B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852318A (zh) * | 2006-04-19 | 2006-10-25 | 华中科技大学 | 适用于对象网络存储的分布式多级缓存系统 |
CN101963982A (zh) * | 2010-09-27 | 2011-02-02 | 清华大学 | 基于位置敏感哈希的删冗存储系统元数据管理方法 |
CN103019960A (zh) * | 2012-12-03 | 2013-04-03 | 华为技术有限公司 | 分布式缓存方法及系统 |
CN103078936A (zh) * | 2012-12-31 | 2013-05-01 | 网宿科技股份有限公司 | 基于gfs的分布式文件系统的元数据分级存储方法和系统 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN103442036A (zh) * | 2013-08-09 | 2013-12-11 | 苏州蓝海彤翔系统科技有限公司 | 一种基于云平台的设计开发、后期制作及数据存储一体化系统 |
CN105630688A (zh) * | 2014-10-30 | 2016-06-01 | 国际商业机器公司 | 聚集文件的存储方法和系统以及聚集文件压缩方法和系统 |
CN104376108A (zh) * | 2014-11-26 | 2015-02-25 | 克拉玛依红有软件有限责任公司 | 一种基于6w语义标识的非结构化自然语言信息抽取方法 |
CN106331286A (zh) * | 2015-06-19 | 2017-01-11 | 拓维信息系统股份有限公司 | 一种手机动漫运营服务系统 |
Non-Patent Citations (1)
Title |
---|
海量数据组织中的索引机制研究与实现;程彬;《万方学位数据库》;20091231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106776783A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776783B (zh) | 非结构化数据存储管理方法和系统 | |
CN108629029B (zh) | 一种应用于数据仓库的数据处理方法和装置 | |
US8452821B2 (en) | Efficient updates for distributed file systems | |
CN104102710A (zh) | 一种海量数据查询方法 | |
CN104765840B (zh) | 一种大数据分布式存储的方法和装置 | |
CN103853727A (zh) | 提高大数据量查询性能的方法及系统 | |
CN104679898A (zh) | 一种大数据访问方法 | |
CN104778270A (zh) | 一种用于多文件的存储方法 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
CN104794190B (zh) | 一种大数据有效存储的方法和装置 | |
CN109669925B (zh) | 非结构化数据的管理方法及装置 | |
CN105956123A (zh) | 基于局部更新软件的数据处理方法及装置 | |
US20130132439A1 (en) | Organizing versioning according to permissions | |
US20110295929A1 (en) | Optimistic Concurrency Utilizing Distributed Constraint Enforcement | |
CN111177159B (zh) | 一种数据处理的系统、方法和数据更新设备 | |
CN112148689A (zh) | 一种用于城市级数据中台的数据共享交换系统 | |
CN105608126A (zh) | 一种建立海量数据库二级索引的方法和装置 | |
CN111858760A (zh) | 一种异构数据库的数据处理方法及装置 | |
CN105320676A (zh) | 一种客户数据查询服务方法及装置 | |
CN103365987A (zh) | 一种基于共享磁盘架构的集群数据库系统及数据处理方法 | |
US11210212B2 (en) | Conflict resolution and garbage collection in distributed databases | |
CN116775712A (zh) | 联表查询方法、装置、电子设备、分布式系统和存储介质 | |
CN109684331A (zh) | 一种基于Kudu的对象存储元数据管理装置及方法 | |
CN103809915A (zh) | 一种磁盘文件的读写方法和装置 | |
CN112115206A (zh) | 一种处理对象存储元数据的方法和装置 |
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 |