CN107704475A - 多层分布式非结构化数据存储方法、查询方法及装置 - Google Patents
多层分布式非结构化数据存储方法、查询方法及装置 Download PDFInfo
- Publication number
- CN107704475A CN107704475A CN201610650068.3A CN201610650068A CN107704475A CN 107704475 A CN107704475 A CN 107704475A CN 201610650068 A CN201610650068 A CN 201610650068A CN 107704475 A CN107704475 A CN 107704475A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- thesaurus
- basis
- auxiliary
- 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3349—Reuse of stored results of previous queries
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)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种多层分布式非结构化数据存储方法、查询方法及装置,该数据存储方法应用于多层分布式非结构化数据存储系统:该方法包括:获取待存储数据的存储位置信息,并确定存储位置信息对应的存储空间;在存储空间所属的基础辅存储库中记录存储位置信息的子索引数据;将待存储数据存入存储位置信息对应的存储空间;可见,多层分布式非结构化数据存储系统中,下层存储库用于存储数据,上层存储库存储有下层存储库所存储数据的索引数据;因此,即使数据文件数量达到一定级别后,存储性能非常稳定,并且便于后续查询。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种多层分布式非结构化数据存储方法、查询方法及装置。
背景技术
保险公司在业务经营中,除了要保存保险业务相关的结构化数据,还需要保存承保、保全及理赔等一系列业务所生成的非结构化数据文件。
现有技术中,保险公司的非结构化数据文件(例如图像、音频、视频及其它格式的数据文件)通过通用内容管理系统进行存储管理,但通用内容管理系统采用主数据块模式(即将所有数据存储至集中数据库中)进行存储管理,当数据文件数量达到一定级别后,存储性能不稳定。
发明内容
本发明提供一种多层分布式非结构化数据存储方法、查询方法及装置,不仅存储性能非常稳定,还提高了数据存储效率及数据查询效率。
第一方面,本发明实施例提供一种多层分布式非结构化数据存储方法,所述方法应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;
所述方法包括:
获取待存储数据的存储位置信息,并确定所述存储位置信息对应的存储空间;
在所述存储空间所属的基础辅存储库中记录所述存储位置信息的子索引数据;
将所述待存储数据存入所述存储位置信息对应的存储空间;
其中,所述主索引数据对应的存储空间包含所述子索引数据对应的存储空间。
进一步地,所述方法,还包括:
获取各所述存储库的下一层存储库的数据变化信息,所述数据变化信息用于指示所述存储库的下一层存储库是否更新了所存储的数据;
在所述存储库的下一层存储库更新了所存储的数据时,更新所述存储库中的所述下一层存储库所存储数据的索引数据。
第二方面,本发明实施例提供一种多层分布式非结构化数据查询方法,所述方法应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;
所述方法包括:
接收查询请求消息;其中,所述查询请求消息中包括:待查询数据的查询关键词;
根据所述查询请求消息在所述基础主存储库中确定所述待查询数据的主索引数据;
根据所述主索引数据确定所述待查询数据的子索引数据;
根据所述待查询数据的子索引数据,确定所述待查询数据的存储位置信息,并读取所述待查询数据。
进一步地,所述方法还包括:
在所述查询请求消息包含的查询关键词为在先使用关键词,则根据所述查询关键词在在先查询数据库中获取所述查询关键词对应的存储位置信息;
其中,所述在先查询数据库中用于存储已经查询过的查询数据的查询关键词以及所述查询数据对应的存储位置信息。
第三方面,本发明实施例提供一种多层分布式非结构化数据存储装置,所述装置应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;
所述装置包括:
确定模块,用于获取待存储数据的存储位置信息,并确定所述存储位置信息对应的存储空间;
记录模块,用于在所述存储空间所属的基础辅存储库中记录所述存储位置信息的子索引数据;
存储模块,用于将所述待存储数据存入所述存储位置信息对应的存储空间;
其中,所述主索引数据对应的存储空间包含所述子索引数据对应的存储空间。
进一步地,所述装置还包括:
获取模块,用于获取各所述存储库的下一层存储库的数据变化信息,所述数据变化信息用于指示所述存储库的下一层存储库是否更新了所存储的数据;
更新模块,用于在所述存储库的下一层存储库更新了所存储的数据时,更新所述存储库中的所述下一层存储库所存储数据的索引数据。
第四方面,本发明实施例提供一种多层分布式非结构化数据查询装置,所述装置应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;
所述装置包括:
接收模块,用于接收查询请求消息;其中,所述查询请求消息中包括:待查询数据的查询关键词;
第一确定模块,用于根据所述查询请求消息在所述基础主存储库中确定所述待查询数据的主索引数据;
第二确定模块,用于根据所述主索引数据确定所述待查询数据的子索引数据;
读取模块,用于根据所述待查询数据的子索引数据,确定所述待查询数据的存储位置信息,并读取所述待查询数据。
进一步地,所述装置还包括:
获取模块,用于在所述查询请求消息包含的查询关键词为在先使用关键词,则根据所述查询关键词在在先查询数据库中获取所述查询关键词对应的存储位置信息;
其中,所述在先查询数据库中用于存储已经查询过的查询数据的查询关键词以及所述查询数据对应的存储位置信息。
本发明中,通过获取待存储数据的存储位置信息,并确定所述存储位置信息对应的存储空间;进一步地,在所述存储空间所属的基础辅存储库中记录所述存储位置信息的子索引数据以及将所述待存储数据存入所述存储位置信息对应的存储空间;可见,多层分布式非结构化数据存储系统中,下层存储库用于存储数据,上层存储库存储有下层存储库所存储数据的索引数据;因此,即使数据文件数量达到一定级别后,存储性能非常稳定,并且便于后续查询。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明多层分布式非结构化数据存储方法实施例一的流程示意图;
图1B为本发明多层分布式非结构化数据存储系统的结构示意图一;
图2A为本发明多层分布式非结构化数据存储方法实施例二的流程示意图;
图2B为本发明多层分布式非结构化数据存储系统的结构示意图二;
图3为本发明多层分布式非结构化数据查询方法实施例一的流程示意图;
图4为本发明多层分布式非结构化数据查询方法实施例二的流程示意图;
图5为本发明多层分布式非结构化数据存储装置实施例一的结构示意图;
图6为本发明多层分布式非结构化数据查询装置实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1A为本发明多层分布式非结构化数据存储方法实施例一的流程示意图,图1B为本发明多层分布式非结构化数据存储系统的结构示意图一。本实施例的执行主体可以为多层分布式非结构化数据存储装置,该装置可以通过软件和/或硬件实现。本实施例的方案可应用于多层分布式非结构化数据存储系统,如图1B所示,多层分布式非结构化数据存储系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,可选地,每层基础辅存储库包括:至少一个基础辅存储库(为了便于描述,图1B中以包含两层基础辅存储库为例以及每层基础辅存储库包括两个基础辅存储库为例进行说明),所述基础主存储库为顶层存储库,基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据,例如基础主存储库A中存储有基础辅存储库B1以及基础辅存储库B2中所存储数据的主索引数据,基础辅存储库B2中存储有自身所存储数据的存储位置信息和/或基础辅存储库C1以及基础辅存储库C2中所存储数据的子索引数据,可选地,基础辅存储库B2中所存储的关于基础辅存储库C1以及基础辅存储库C2中所存储数据的子索引数据的主键值是承接上一级索引(即基础主存储库A中所存储的关于基础辅存储库B2中所存储数据的主索引数据)的结果,即主索引数据对应的存储空间包含所述子索引数据对应的存储空间。如图1A所示,本实施例的方法可以包括:
S101、获取待存储数据的存储位置信息,并确定存储位置信息对应的存储空间。
本步骤中,当收到用户终端发送的待存储数据时,根据预设存储分布信息获取到待存储数据的存储位置信息,并确定出存储位置信息对应的存储空间,例如哪一个基础辅存储库中的哪个存储单元FS中等;可选地,预设存储分布信息可以为预设索引数据,当然,预设存储分布信息还可以为其它信息,本发明实施例中对此并不作限制。
S102、在存储空间所属的基础辅存储库中记录存储位置信息的子索引数据。
本步骤中,在确定出存储位置信息对应的存储空间后,为了便于后续查询,在该存储空间所属的基础辅存储库中记录该存储位置信息对应的子索引数据。进一步地,为了便于后续查询,更新该基础辅存储库的上一层存储库中所存储的关于该基础辅存储库中所存储数据的索引数据。
S103、将待存储数据存入该存储位置信息对应的存储空间。
本步骤中,在确定出存储位置信息对应的存储空间后,将待存储数据存入该存储位置信息对应的存储空间。
可选地,步骤S102和步骤S103的执行顺序可以不限,例如:先执行步骤S102后执行步骤S103、先执行步骤S103后执行步骤S102,或者同时执行步骤S103和步骤S102。
本实施例中,通过获取待存储数据的存储位置信息,并确定所述存储位置信息对应的存储空间;进一步地,在所述存储空间所属的基础辅存储库中记录所述存储位置信息的子索引数据以及将所述待存储数据存入所述存储位置信息对应的存储空间;可见,多层分布式非结构化数据存储系统中,下层存储库用于存储数据,上层存储库存储有下层存储库所存储数据的索引数据;因此,即使数据文件数量达到一定级别后,存储性能非常稳定,并且便于后续查询。
进一步地,为了便于后续进行数据查询,本实施例提供的多层分布式非结构化数据存储方法实施例,还包括:
获取各所述存储库的下一层存储库的数据变化信息,所述数据变化信息用于指示所述存储库的下一层存储库是否更新了所存储的数据;
在所述存储库的下一层存储库更新了所存储的数据时,更新所述存储库中的所述下一层存储库所存储数据的索引数据。
本实施例中,为了便于后续进行数据查询,多层分布式非结构化数据存储装置可每隔预设时间获取各存储库的下一层存储库的数据变化信息(数据变化信息用于指示该存储库的下一层存储库是否更新了所存储的数据),在该存储库的下一层存储库更新了所存储的数据时,更新所述存储库中的该下一层存储库所存储数据的索引数据,例如:当获取到基础辅存储库B1更新了所存储的数据时,更新基础主存储库A中的关于基础辅存储库B1所存储数据的主索引数据;或者,当获取到基础辅存储库C1更新了所存储的数据时,更新基础辅存储库B2中的关于基础辅存储库C1所存储数据的子索引数据。可选地,多层分布式非结构化数据存储装置还可通过其它方式获取各存储库的下一层存储库的数据变化信息,本发明实施例中对此并不作限制。
可见,在每个存储库的下一层存储库更新了所存储的数据时,通过更新该存储库中的下一层存储库所存储数据的索引数据,从而上层存储库中始终存储有下层存储库所存储数据的正确索引数据,以便于后续进行数据查询。
图2A为本发明多层分布式非结构化数据存储方法实施例二的流程示意图,图2B为本发明多层分布式非结构化数据存储系统的结构示意图二。在上述实施例的基础上,可选地,多层分布式非结构化数据存储装置的功能可以由多个存储层中的服务器联合实现;可选地,如图2B所示(为了便于描述,图2B中以包含两层基础辅存储库为例以及每层基础辅存储库包括两个基础辅存储库为例进行说明),基础主存储库包括:主服务器以及主非关系型数据库(用于存储下一层基础辅存储库所存储数据的主索引数据);每个基础辅存储库包括:子服务器、更新服务器以及子非关系型数据库(用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据),其中,部分基础辅存储库还包括:至少一个存储单元FS(用于存储待存储数据)。在上述实施例的基础上,如图2A和图2B所示,本实施例的方法可以包括:
S201、基础辅存储库C1的子服务器C11接收用户终端发送的待存储数据。
S202、子服务器C11向基础辅存储库B2的子服务器B21发送存储配置查询信息。
本步骤中,可选地,存储配置查询信息中包括:待存储数据的关键词,以便于子服务器B21根据待存储数据的关键词查询待存储数据的存储位置信息。
S203、子服务器21将待存储数据的存储位置信息返回给子服务器C11。
S204、子服务器C11将该存储位置信息对应的子索引数据存储至子非关系型数据库C13。
S205、子服务器C11将待存储数据存入该存储位置信息对应的FS C14。
S206、基础辅存储库C1的更新服务器C12查询子非关系型数据库C13中所存储的数据是否发生变化。
本步骤中,当查询到子非关系型数据库C13中所存储的数据(例如所存储的索引数据)发生变化时,执行步骤S207。
S207、更新服务器C12获取变化数据集。
S208、更新服务器C12将变化数据集上报给基础辅存储库B2的子服务器B21。
本步骤中,更新服务器C12获取变化数据集(例如发生变化的索引数据),并将变化数据集上报给基础辅存储库的子服务器B21,以便子服务器B21更新基础辅存储库B2的子非关系型数据库B23中关于基础辅存储库C1所存储数据的子索引数据,从而基础辅存储库B2中始终存储有基础辅存储库C1所存储数据的正确索引数据,以便于后续进行数据查询。
可选地,本实施例中以用户终端向基础辅存储库C1的子服务器C11发送待存储数据为例进行说明的,当然,用户终端可以向本申请提供的多层分布式非结构化数据存储系统中的任意基础辅存储库的子服务器发送待存储数据,其对应地多层分布式非结构化数据存储方法与上述多层分布式非结构化数据存储方法的过程类似,此处不再赘述。
综上所述,本发明多层分布式非结构化数据存储方法实施例中,通过分层进行存储(即上层存储库存储有下层存储库所存储数据的索引数据),使存储性能非常稳定;进一步地,每个基础辅存储库中的服务器都可以独立查询和/或存储,从而不仅减轻了基础主存储库中主服务器的压力,并且提高了数据存储效率。
图3为本发明多层分布式非结构化数据查询方法实施例一的流程示意图。本实施例的执行主体可以为多层分布式非结构化数据查询装置,该装置可以通过软件和/或硬件实现。本实施例的方案可应用于多层分布式非结构化数据存储系统,如图1B所示,多层分布式非结构化数据存储系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,可选地,每层基础辅存储库包括:至少一个基础辅存储库(为了便于描述,图1B中以包含两层基础辅存储库为例以及每层基础辅存储库包括两个基础辅存储库为例进行说明),所述基础主存储库为顶层存储库,基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;可选地,主索引数据对应的存储空间包含所述子索引数据对应的存储空间。如图3所示,本实施例的方法可以包括:
S301、接收查询请求消息。
本步骤中,当接收到用户终端发送的查询请求消息;其中,所述查询请求消息中包括:待查询数据的查询关键词,可选地,查询关键词可以为用户的身份证号码、保单号码等可以唯一标识该用户的信息,当然,查询关键词还可以为其它信息,本申请实施例中对此并不作限制。
S302、根据查询请求消息在基础主存储库中确定待查询数据的主索引数据。
本步骤中,根据该查询请求消息中所包括的待查询数据的查询关键词,在基础主存储库中查询该待查询数据的主索引数据。
S303、根据主索引数据确定待查询数据的子索引数据。
本步骤中,在确定出待查询数据的主索引数据后,根据主索引数据与子索引数据之间的关联关系(即基础主存储库中所存储的关于下层基础辅存储库中所存储数据的主索引数据的索引结果为:该下层基础辅存储库中所存储的子索引数据的主键值),确定出待查询数据的子索引数据。
S304、根据待查询数据的子索引数据,确定待查询数据的存储位置信息,并读取待查询数据。
本步骤中,由于每个子索引数据都会对应一个存储位置信息,根据待查询数据的子索引数据,确定出待查询数据的存储位置信息,并从该存储位置信息对应的存储空间读取待查询数据;进一步地,将待查询数据发送给用户终端。
本实施例中,通过根据查询请求消息中携带的待查询数据的查询关键词,在基础主存储库中确定待查询数据的主索引数据,并根据主索引数据确定待查询数据的子索引数据;进一步地,根据待查询数据的子索引数据,确定待查询数据的存储位置信息,并读取待查询数据;可见,多层分布式非结构化数据存储系统中,下层存储库用于存储数据,上层存储库存储有下层存储库所存储数据的索引数据;因此,即使数据文件数量达到一定级别后,存储性能非常稳定,并且通过根据索引数据进行分层查询,提高了数据查询效率。
进一步地,本实施例提供的多层分布式非结构化数据查询方法实施例,还包括:
在查询请求消息包含的查询关键词为在先使用关键词,则根据所述查询关键词在在先查询数据库中获取所述查询关键词对应的存储位置信息;其中,所述在先查询数据库中用于存储已经查询过的查询数据的查询关键词以及所述查询数据对应的存储位置信息。
本实施例中,为了便于后续用户快速查询数据,可选地,多层分布式非结构化数据查询装置在读取到每个待查询数据后,将每个待查询数据的查询关键词以及其对应的存储位置信息存储至在先查询数据库中,以便于后续快速查询,例如:当接收到用户终端发送的查询请求消息,可选地,通过判断查询请求消息所携带的待查询数据的查询关键词是否为在先使用关键词(即在先查询数据库中已存储的查询关键词),若该待查询数据的查询关键词为在先使用关键词,则直接根据待查询数据的查询关键词在在先查询数据库中获取该查询关键词对应的存储位置信息,并从存储位置信息对应的存储空间读取待查询数据,而无需依次确定出该待查询数据的主索引数据、子索引数据及存储位置信息等,从而提高了数据查询效率。
综上所述,本实施例提供的多层分布式非结构化数据查询方法实施例中,当接收到用户终端发送的查询请求消息时,通过判断查询请求消息所携带的待查询数据的查询关键词是否为在先使用关键词,若是,则直接根据查询关键词在在先查询数据库中获取该查询关键词对应的存储位置信息,并从存储位置信息对应的存储空间读取待查询数据,从而提高了数据查询效率。
图4为本发明多层分布式非结构化数据查询方法实施例二的流程示意图。在上述实施例的基础上,可选地,多层分布式非结构化数据查询装置的功能可以由多个存储层中的服务器联合实现;可选地,如图2B所示,基础主存储库包括:主服务器以及主非关系型数据库;每个基础辅存储库包括:子服务器、更新服务器以及子非关系型数据库,其中,部分基础辅存储库还包括:至少一个存储单元FS(用于存储待存储数据)。在上述实施例的基础上,如图4和图2B所示,本实施例的方法可以包括:
S401、基础主存储库A的主服务器A1接收用户终端发送的查询请求消息。可选地,查询请求消息中包:待查询数据的查询关键词。
S402、主服务器A1根据查询请求消息查询基础主存储库A的主非关系型数据库A2,并确定待查询数据的主索引数据。
S403、主服务器A1将主索引数据发送给用户终端。
可选地,假设主索引数据对应的存储空间包括基础辅存储库B1的FSB14。
S404、用户终端根据主索引数据向基础辅存储库B1的子服务器B11发送重定向查询请求消息。
S405、子服务器B11根据重定向查询请求消息查询基础辅存储库B1的子非关系型数据库B13,并确定待查询数据的子索引数据。
S406、子服务器B11根据待查询数据的子索引数据,确定待查询数据的存储位置信息,并从存储位置信息对应的FS B14读取待查询数据。
S407、子服务器B11将待查询数据发送给用户终端。
S408、子服务器B11将待查询数据的存储位置信息发送给主服务器A1。
S409、主服务器A1将待查询数据的查询关键词以及对应的存储位置信息进行保存。
本步骤中,主服务器A1将待查询数据的查询关键词以及对应的存储位置信息保存至在先查询数据库中,以便于当后续再次接收到用户终端发送的查询请求消息时,通过判断查询请求消息所携带的待查询数据的查询关键词是否为在先使用关键词,若该待查询数据的查询关键词为在先使用关键词,则直接根据待查询数据的查询关键词在在先查询数据库中获取该查询关键词对应的存储位置信息,并从存储位置信息对应的存储空间读取待查询数据,从而提高了数据查询效率。
可选地,本实施例中以用户终端根据主索引数据(假设主索引数据对应的存储空间包括基础辅存储库B1的FS B14)向基础辅存储库B1的子服务器B11发送重定向查询请求消息为例进行说明的,当然,若假设主索引数据对应的存储空间包括基础辅存储库B2的FS,则用户终端可以向基础辅存储库B2的子服务器B21发送重定向查询请求消息,其对应地多层分布式非结构化数据查询方法与上述多层分布式非结构化数据查询方法的过程类似,此处不再赘述。
综上所述,本发明多层分布式非结构化数据查询方法实施例中,通过分层进行存储(即上层存储库存储有下层存储库所存储数据的索引数据),使存储性能非常稳定;进一步地,每个基础辅存储库中的服务器都可以独立查询,从而不仅减轻了基础主存储库中主服务器的压力,并且提高了数据查询效率。
图5为本发明多层分布式非结构化数据存储装置实施例一的结构示意图。可选地,本实施例提供的多层分布式非结构化数据存储装置50应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据。如图5所示,本实施例提供的多层分布式非结构化数据存储装置50包括:
确定模块501,用于获取待存储数据的存储位置信息,并确定所述存储位置信息对应的存储空间;
记录模块502,用于在所述存储空间所属的基础辅存储库中记录所述存储位置信息的子索引数据;
存储模块503,用于将所述待存储数据存入所述存储位置信息对应的存储空间;
其中,所述主索引数据对应的存储空间包含所述子索引数据对应的存储空间。
进一步地,,多层分布式非结构化数据存储装置50还包括:
获取模块,用于获取各所述存储库的下一层存储库的数据变化信息,所述数据变化信息用于指示所述存储库的下一层存储库是否更新了所存储的数据;
更新模块,用于在所述存储库的下一层存储库更新了所存储的数据时,更新所述存储库中的所述下一层存储库所存储数据的索引数据。
可选地,多层分布式非结构化数据存储装置50的功能可以由多个存储层中的服务器联合实现。
本实施例提供的多层分布式非结构化数据存储装置,可以用于执行本发明上述多层分布式非结构化数据存储方法实施例一及实施例二的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明多层分布式非结构化数据查询装置实施例一的结构示意图。可选地,本实施例提供的多层分布式非结构化数据查询装置60应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据。如图6所示,本实施例提供的多层分布式非结构化数据查询装置60包括:
接收模块601,用于接收查询请求消息;其中,所述查询请求消息中包括:待查询数据的查询关键词;
第一确定模块602,用于根据所述查询请求消息在所述基础主存储库中确定所述待查询数据的主索引数据;
第二确定模块603,用于根据所述主索引数据确定所述待查询数据的子索引数据;
读取模块604,用于根据所述待查询数据的子索引数据,确定所述待查询数据的存储位置信息,并读取所述待查询数据。
进一步地,多层分布式非结构化数据查询装置60还包括:
获取模块,用于在所述查询请求消息包含的查询关键词为在先使用关键词,则根据所述查询关键词在在先查询数据库中获取所述查询关键词对应的存储位置信息;
其中,所述在先查询数据库中用于存储已经查询过的查询数据的查询关键词以及所述查询数据对应的存储位置信息。
可选地,多层分布式非结构化数据查询装置60的功能可以由多个存储层中的服务器联合实现。
本实施例提供的多层分布式非结构化数据查询装置,可以用于执行本发明上述多层分布式非结构化数据查询方法实施例一及实施例二的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种多层分布式非结构化数据存储方法,其特征在于,所述方法应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;
所述方法包括:
获取待存储数据的存储位置信息,并确定所述存储位置信息对应的存储空间;
在所述存储空间所属的基础辅存储库中记录所述存储位置信息的子索引数据;
将所述待存储数据存入所述存储位置信息对应的存储空间;
其中,所述主索引数据对应的存储空间包含所述子索引数据对应的存储空间。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
获取各所述存储库的下一层存储库的数据变化信息,所述数据变化信息用于指示所述存储库的下一层存储库是否更新了所存储的数据;
在所述存储库的下一层存储库更新了所存储的数据时,更新所述存储库中的所述下一层存储库所存储数据的索引数据。
3.一种多层分布式非结构化数据查询方法,其特征在于,所述方法应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;
所述方法包括:
接收查询请求消息;其中,所述查询请求消息中包括:待查询数据的查询关键词;
根据所述查询请求消息在所述基础主存储库中确定所述待查询数据的主索引数据;
根据所述主索引数据确定所述待查询数据的子索引数据;
根据所述待查询数据的子索引数据,确定所述待查询数据的存储位置信息,并读取所述待查询数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述查询请求消息包含的查询关键词为在先使用关键词,则根据所述查询关键词在在先查询数据库中获取所述查询关键词对应的存储位置信息;
其中,所述在先查询数据库中用于存储已经查询过的查询数据的查询关键词以及所述查询数据对应的存储位置信息。
5.一种多层分布式非结构化数据存储装置,其特征在于,所述装置应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;
所述装置包括:
确定模块,用于获取待存储数据的存储位置信息,并确定所述存储位置信息对应的存储空间;
记录模块,用于在所述存储空间所属的基础辅存储库中记录所述存储位置信息的子索引数据;
存储模块,用于将所述待存储数据存入所述存储位置信息对应的存储空间;
其中,所述主索引数据对应的存储空间包含所述子索引数据对应的存储空间。
6.根据权利要求5所述的装置,其特征在于,还包括:
获取模块,用于获取各所述存储库的下一层存储库的数据变化信息,所述数据变化信息用于指示所述存储库的下一层存储库是否更新了所存储的数据;
更新模块,用于在所述存储库的下一层存储库更新了所存储的数据时,更新所述存储库中的所述下一层存储库所存储数据的索引数据。
7.一种多层分布式非结构化数据查询装置,其特征在于,所述装置应用于多层分布式非结构化数据存储系统,所述系统包括:多层存储库,其中,所述多层存储库划分为一层基础主存储库以及至少一层基础辅存储库,所述基础主存储库为顶层存储库,所述基础主存储库用于存储下一层基础辅存储库所存储数据的主索引数据,每个所述基础辅存储库用于存储本存储库所存储数据的存储位置信息和/或下一层基础辅存储库所存储数据的子索引数据;
所述装置包括:
接收模块,用于接收查询请求消息;其中,所述查询请求消息中包括:待查询数据的查询关键词;
第一确定模块,用于根据所述查询请求消息在所述基础主存储库中确定所述待查询数据的主索引数据;
第二确定模块,用于根据所述主索引数据确定所述待查询数据的子索引数据;
读取模块,用于根据所述待查询数据的子索引数据,确定所述待查询数据的存储位置信息,并读取所述待查询数据。
8.根据权利要求7所述的装置,其特征在于,还包括:
获取模块,用于在所述查询请求消息包含的查询关键词为在先使用关键词,则根据所述查询关键词在在先查询数据库中获取所述查询关键词对应的存储位置信息;
其中,所述在先查询数据库中用于存储已经查询过的查询数据的查询关键词以及所述查询数据对应的存储位置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610650068.3A CN107704475B (zh) | 2016-08-10 | 2016-08-10 | 多层分布式非结构化数据存储方法、查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610650068.3A CN107704475B (zh) | 2016-08-10 | 2016-08-10 | 多层分布式非结构化数据存储方法、查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704475A true CN107704475A (zh) | 2018-02-16 |
CN107704475B CN107704475B (zh) | 2021-12-14 |
Family
ID=61169088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610650068.3A Active CN107704475B (zh) | 2016-08-10 | 2016-08-10 | 多层分布式非结构化数据存储方法、查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704475B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388253A (zh) * | 2018-11-01 | 2019-02-26 | 泰康保险集团股份有限公司 | 护理记录录入方法、装置、设备及计算机可读存储介质 |
CN111427910A (zh) * | 2020-03-20 | 2020-07-17 | 北京百度网讯科技有限公司 | 数据处理方法及装置 |
CN113792111A (zh) * | 2021-09-07 | 2021-12-14 | 曙光星云信息技术(北京)有限公司 | 一种基于分布式存储的非结构化数据管理系统及其方法 |
CN114373173A (zh) * | 2022-01-12 | 2022-04-19 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、终端设备及存储介质 |
WO2022127883A1 (zh) * | 2020-12-18 | 2022-06-23 | 南京中兴新软件有限责任公司 | 信令数据查询方法、信令数据索引库的构建方法及服务器 |
Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050195975A1 (en) * | 2003-01-21 | 2005-09-08 | Kevin Kawakita | Digital media distribution cryptography using media ticket smart cards |
CN101021857A (zh) * | 2006-10-20 | 2007-08-22 | 鲍东山 | 基于内容分析的视频搜索系统 |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
CN101599886A (zh) * | 2008-06-05 | 2009-12-09 | 华为技术有限公司 | 分布式结构化网络中的查询方法、系统和设备 |
US8195642B2 (en) * | 2008-04-22 | 2012-06-05 | International Business Machines Corporation | Partial indexes for multi-node database |
CN102567314A (zh) * | 2010-12-07 | 2012-07-11 | 中国电信股份有限公司 | 知识查询装置和方法 |
CN102693286A (zh) * | 2012-05-10 | 2012-09-26 | 华中科技大学 | 一种对文件内容与元数据进行组织管理的方法 |
CN102819600A (zh) * | 2012-08-15 | 2012-12-12 | 中国电力科学研究院 | 面向电力生产管理系统关系数据库的关键词搜索方法 |
CN102968498A (zh) * | 2012-12-05 | 2013-03-13 | 华为技术有限公司 | 数据处理方法及装置 |
CN103177116A (zh) * | 2013-04-08 | 2013-06-26 | 国电南瑞科技股份有限公司 | 一种基于两级索引的分布式日志处理和查询方法 |
CN103390015A (zh) * | 2013-01-16 | 2013-11-13 | 华北电力大学 | 基于统一索引的海量数据联合存储方法及检索方法 |
CN103440280A (zh) * | 2013-08-13 | 2013-12-11 | 江苏华大天益电力科技有限公司 | 一种应用于海量空间数据检索的索引方法及装置 |
CN103548019A (zh) * | 2011-02-21 | 2014-01-29 | 阿玛得斯两合公司 | 用于根据数据仓库提供统计信息的方法和系统 |
CN104102710A (zh) * | 2014-07-15 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种海量数据查询方法 |
CN104112013A (zh) * | 2014-07-17 | 2014-10-22 | 浪潮(北京)电子信息产业有限公司 | HBase二级索引方法及装置 |
CN104133867A (zh) * | 2014-07-18 | 2014-11-05 | 中国科学院计算技术研究所 | 分布式顺序表片内二级索引方法及系统 |
CN104794162A (zh) * | 2015-03-25 | 2015-07-22 | 中国人民大学 | 实时数据存储与查询方法 |
CN105138560A (zh) * | 2015-07-23 | 2015-12-09 | 北京天耀宏图科技有限公司 | 基于多级空间索引技术的分布式空间矢量数据管理方法 |
CN105183873A (zh) * | 2015-09-18 | 2015-12-23 | 北京博雅立方科技有限公司 | 恶意点击行为检测方法及装置 |
CN105404653A (zh) * | 2015-10-30 | 2016-03-16 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种全分布式文件索引及协作编辑机制的实现方法 |
US20160140156A1 (en) * | 2013-09-09 | 2016-05-19 | Linkedin Corporation | Distributed storage system with pluggable query processing |
CN105701096A (zh) * | 2014-11-25 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 索引生成方法、数据查询方法、装置及系统 |
US20160217186A1 (en) * | 2015-01-22 | 2016-07-28 | International Business Machines Corporation | Distributed fuzzy search and join with edit distance guarantees |
-
2016
- 2016-08-10 CN CN201610650068.3A patent/CN107704475B/zh active Active
Patent Citations (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050195975A1 (en) * | 2003-01-21 | 2005-09-08 | Kevin Kawakita | Digital media distribution cryptography using media ticket smart cards |
CN101021857A (zh) * | 2006-10-20 | 2007-08-22 | 鲍东山 | 基于内容分析的视频搜索系统 |
US8195642B2 (en) * | 2008-04-22 | 2012-06-05 | International Business Machines Corporation | Partial indexes for multi-node database |
CN101599886A (zh) * | 2008-06-05 | 2009-12-09 | 华为技术有限公司 | 分布式结构化网络中的查询方法、系统和设备 |
CN101561815A (zh) * | 2009-05-19 | 2009-10-21 | 华中科技大学 | 分布式密文全文检索系统 |
CN102567314A (zh) * | 2010-12-07 | 2012-07-11 | 中国电信股份有限公司 | 知识查询装置和方法 |
CN103548019A (zh) * | 2011-02-21 | 2014-01-29 | 阿玛得斯两合公司 | 用于根据数据仓库提供统计信息的方法和系统 |
CN102693286A (zh) * | 2012-05-10 | 2012-09-26 | 华中科技大学 | 一种对文件内容与元数据进行组织管理的方法 |
CN102819600A (zh) * | 2012-08-15 | 2012-12-12 | 中国电力科学研究院 | 面向电力生产管理系统关系数据库的关键词搜索方法 |
CN102968498A (zh) * | 2012-12-05 | 2013-03-13 | 华为技术有限公司 | 数据处理方法及装置 |
CN103390015A (zh) * | 2013-01-16 | 2013-11-13 | 华北电力大学 | 基于统一索引的海量数据联合存储方法及检索方法 |
CN103177116A (zh) * | 2013-04-08 | 2013-06-26 | 国电南瑞科技股份有限公司 | 一种基于两级索引的分布式日志处理和查询方法 |
CN103440280A (zh) * | 2013-08-13 | 2013-12-11 | 江苏华大天益电力科技有限公司 | 一种应用于海量空间数据检索的索引方法及装置 |
US20160140156A1 (en) * | 2013-09-09 | 2016-05-19 | Linkedin Corporation | Distributed storage system with pluggable query processing |
CN104102710A (zh) * | 2014-07-15 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种海量数据查询方法 |
CN104112013A (zh) * | 2014-07-17 | 2014-10-22 | 浪潮(北京)电子信息产业有限公司 | HBase二级索引方法及装置 |
CN104133867A (zh) * | 2014-07-18 | 2014-11-05 | 中国科学院计算技术研究所 | 分布式顺序表片内二级索引方法及系统 |
CN105701096A (zh) * | 2014-11-25 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 索引生成方法、数据查询方法、装置及系统 |
US20160217186A1 (en) * | 2015-01-22 | 2016-07-28 | International Business Machines Corporation | Distributed fuzzy search and join with edit distance guarantees |
CN104794162A (zh) * | 2015-03-25 | 2015-07-22 | 中国人民大学 | 实时数据存储与查询方法 |
CN105138560A (zh) * | 2015-07-23 | 2015-12-09 | 北京天耀宏图科技有限公司 | 基于多级空间索引技术的分布式空间矢量数据管理方法 |
CN105183873A (zh) * | 2015-09-18 | 2015-12-23 | 北京博雅立方科技有限公司 | 恶意点击行为检测方法及装置 |
CN105404653A (zh) * | 2015-10-30 | 2016-03-16 | 无锡清华信息科学与技术国家实验室物联网技术中心 | 一种全分布式文件索引及协作编辑机制的实现方法 |
Non-Patent Citations (1)
Title |
---|
张路等: "大规模数据集的分布式索引机制研究", 《微电子学与计算机》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388253A (zh) * | 2018-11-01 | 2019-02-26 | 泰康保险集团股份有限公司 | 护理记录录入方法、装置、设备及计算机可读存储介质 |
CN111427910A (zh) * | 2020-03-20 | 2020-07-17 | 北京百度网讯科技有限公司 | 数据处理方法及装置 |
WO2022127883A1 (zh) * | 2020-12-18 | 2022-06-23 | 南京中兴新软件有限责任公司 | 信令数据查询方法、信令数据索引库的构建方法及服务器 |
CN113792111A (zh) * | 2021-09-07 | 2021-12-14 | 曙光星云信息技术(北京)有限公司 | 一种基于分布式存储的非结构化数据管理系统及其方法 |
CN113792111B (zh) * | 2021-09-07 | 2023-10-13 | 中科星云物连科技(北京)有限公司 | 一种基于分布式存储的非结构化数据管理系统及其方法 |
CN114373173A (zh) * | 2022-01-12 | 2022-04-19 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107704475B (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704475A (zh) | 多层分布式非结构化数据存储方法、查询方法及装置 | |
CN103150394B (zh) | 面向高性能计算的分布式文件系统元数据管理方法 | |
US8676951B2 (en) | Traffic reduction method for distributed key-value store | |
CN104281701B (zh) | 分布式多尺度空间数据查询方法及系统 | |
CN104794249A (zh) | 一种数据库的实现方法和设备 | |
CN102831122B (zh) | 工作流表的数据保存方法、查询方法及装置 | |
CN106156289A (zh) | 一种读写对象存储系统中的数据的方法以及装置 | |
CN101901242A (zh) | 联合的配置数据管理 | |
CN107832392A (zh) | 一种元数据管理系统 | |
CN108733803B (zh) | 一种道路网络下多用户空间关键词查询方法 | |
CN104424219B (zh) | 一种数据文件的管理方法及装置 | |
CN102375853A (zh) | 分布式数据库系统、在其中建立索引的方法和查询方法 | |
CN105869057A (zh) | 评论存储设备、评论读取、评论写入方法及装置 | |
CN109684282A (zh) | 一种构建元数据缓存的方法及装置 | |
CN103353901B (zh) | 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统 | |
CN105930345A (zh) | 基于分布式实时数据库的层次索引方法 | |
CN106919590A (zh) | 一种多业务复用处理方法、装置、及系统 | |
EP3767486B1 (en) | Multi-record index structure for key-value stores | |
CN107026876A (zh) | 一种文件数据访问系统及方法 | |
CN102158533B (zh) | 基于QoS的分布式web服务选择方法 | |
CN108319645A (zh) | 一种异构存储环境下多版本文件视图管理方法和装置 | |
CN106960020A (zh) | 一种创建索引表的方法及设备 | |
CN103544300B (zh) | 一种云环境下可扩展存储索引结构的实现方法 | |
CN103902705B (zh) | 一种基于元数据的跨机构云端数字内容集成系统和方法 | |
CN102891872A (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 |