CN117290390B - 一种基于特殊索引内存映射在大数据检索上的方法 - Google Patents
一种基于特殊索引内存映射在大数据检索上的方法 Download PDFInfo
- Publication number
- CN117290390B CN117290390B CN202311153069.3A CN202311153069A CN117290390B CN 117290390 B CN117290390 B CN 117290390B CN 202311153069 A CN202311153069 A CN 202311153069A CN 117290390 B CN117290390 B CN 117290390B
- Authority
- CN
- China
- Prior art keywords
- mapping
- file
- content
- memory
- index
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method 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/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/24553—Query execution of query operations
- G06F16/24562—Pointer or reference processing operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- 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
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于特殊索引内存映射在大数据检索上的方法,包括以下步骤:根据检索需求确认检索内容,生成固定格式内容,生成固定大小的文件;将固定格式内容与需要检索内容放在一行作为一条记录,并将固定格式内容和需检索内容通过分隔符进行分割;遍历文件,根据文件的编号和固定格式内容创建索引文件,拆分固定格式内容字符,并采用B树索引生成与内存映射相对应的树形数据结构;映射到内存:索引文件和内存进行映射,内存映射实现进程虚拟地址空间和实际物理页帧之间映射,分配物理页后,建立页表将物理页映射到进程的虚拟地址空间。不是直接映射大数据文件,而是映射特定索引信息,提高检索效率同时减少映射内存资源、减少对磁盘的读写。
Description
技术领域
本发明涉及大数据检索领域,具体涉及一种基于特殊索引内存映射在大数据检索上的方法。
背景技术
大数据量的检索一直是影响数据使用效率的瓶颈,为了提高检索性能,通常采用的方法是增加资源性能,例如采用固态硬盘、内存数据库NOSQL的redis、mysql的内存表等进行存储查询,这种查询方式成本高,维护困难,数据容易丢失。采用大数据分片直接映射到内存的处理方法进行大数据量的检索可以提高效率,但是占用资源需要投入相应数据量大小的内存资源,本发明提供一种基于特殊索引内存映射在大数据检索上的方法,非直接映射大数据文件而是映射特殊索引文件,充分利用了内存映射的高效并减少磁盘读写,同时减少资源投入、降低维护成本。
发明内容
本发明的目的在于:针对目前大数据量的检索查询存在维护困难和成本高的问题,提供了一种基于特殊索引内存映射在大数据检索上的方法,采用将大数据量数据进行分片,并建立特殊索引,再通过内存映射的处理方法,提高大数据量查询的性能和效率,同时降低资源成本的使用。
本发明的技术方案如下:
一种基于特殊索引内存映射在大数据检索上的方法,包括以下步骤:
格式化处理:根据检索需求确认检索内容,生成固定格式内容,生成固定大小的文件;将固定格式内容与需要检索内容放在一行作为一条记录,并将固定格式内容和需检索内容通过分隔符进行分割;
创建索引:遍历文件,根据文件的编号和固定格式内容创建索引文件,拆分固定格式内容字符,并采用B树索引生成与内存映射相对应的树形数据结构;
映射到内存:索引文件和内存进行映射,内存映射实现进程虚拟地址空间和实际物理页帧之间映射,分配物理页后,建立页表将物理页映射到进程的虚拟地址空间。
进一步的,所述B树索引的生成是通过需要检索内容进行创建,包括以下步骤:将需要检索内容进行拆分成数字高分位到低分位排列,将拆分后的需要检索内容后结合文件名和偏移位置形成索引目录。
进一步的,所述格式化处理和创建索引之间还包括步骤:创建并打开文件。
进一步的,所述映射到内存后还包括以下步骤:
判断是否将大数据量文件索引映射完成,若是,结束映射关闭文件;若否,进而判断映射空间是否满,若未满,返回创建索引步骤进行循环;若已满,关闭文件,创建新的映射空间,进行新的大数据量文件检索。
进一步的,所述固定格式内容为主键字段;所述固定大小的文件大小为1G-4G。
进一步的,所述映射到内存还包括进程采用指针的方式读写操作内存,系统将自动回写页面到对应的文件磁盘。
进一步的,所述需要检索内容为关键字。
与现有的技术相比本发明的有益效果是:
1、一种基于特殊索引内存映射在大数据检索上的方法,将内存映射处理方法应用到大数据量的查询检索中,并建立特殊索引,提高查询大数据量的性能和效率,减少资源投入,降低维护成本;
2、一种基于特殊索引内存映射在大数据检索上的方法,索引记录了文件偏移量和检索内容偏移量,充分了利用了磁盘的读写逻辑,将T级文件检索效率提高到毫秒级,可用普通机械硬盘存放数据文件,减少设备投入的同时大幅度提升检索效率。
附图说明
图1为一种基于特殊索引内存映射在大数据检索上的方法的流程示意图。
具体实施方式
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合实施例对本发明的特征和性能作进一步的详细描述。
请参阅图1,一种基于特殊索引内存映射在大数据检索上的方法,包括以下步骤:
格式化处理:根据检索需求确认检索内容,生成固定格式内容,生成固定大小的文件;将固定格式内容与需要检索内容放在一行作为一条记录,并将固定格式内容和需检索内容通过分隔符进行分割;例如一条记录:id^customerName^。
创建索引:遍历文件,根据文件的编号和固定格式内容创建索引文件,拆分固定格式内容字符,并采用B树索引生成与内存映射相对应的树形数据结构;
映射到内存:索引文件和内存进行映射,内存映射实现进程虚拟地址空间和实际物理页帧之间映射,分配物理页后,建立页表将物理页映射到进程的虚拟地址空间。
所述B树索引的生成是通过需要检索内容(关键字)进行创建,包括以下步骤:将需要检索内容(关键字)进行拆分成数字高分位到低分位排列,将拆分后的需要检索内容(关键字)后结合文件名和偏移位置形成索引目录。例如id为530888,以拆分成:索引目录->5->3->0->8->8->8->文件名+偏移位置。
所述格式化处理和创建索引之间还包括步骤:创建并打开文件。
所述映射到内存后还包括以下步骤:
判断是否将大数据量文件映射完成,若是,结束映射关闭文件;若否,进而判断映射空间是否满,若未满,返回创建索引步骤进行循环;若已满,关闭文件,创建新的映射空间,进行新的大数据量文件检索。
所述固定格式内容为主键字段,例如:学号530123456;所述固定大小的文件大小为1G-4G。
所述映射到内存还包括进程采用指针的方式读写操作内存,系统将自动回写页面到对应的文件磁盘。完成了对文件的操作而不必调用read,write等系统调用函数。相反,内核空间的这段区域的修改也直接反应用户空间,从而可以实现不同进程的文件共享。
经测试,使用该技术方案后,T级文件检索效率可以提升到毫秒级,可以采用普通的机械硬盘存放文件数据,内存占用只要16G以内,减少了设备投入同时大幅提升了检索效率。实际应用中300T数据检索只需80毫秒左右。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。
Claims (6)
1.一种基于特殊索引内存映射在大数据检索上的方法,其特征在于,包括以下步骤:
格式化处理:根据检索需求确认检索内容,生成固定格式内容,生成固定大小的文件;将固定格式内容与需要检索内容放在一行作为一条记录,并将固定格式内容和需检索内容通过分隔符进行分割;
创建索引:遍历文件,根据文件的编号和固定格式内容创建索引文件,拆分固定格式内容字符,并采用B树索引生成与内存映射相对应的树形数据结构;
映射到内存:索引文件和内存进行映射,内存映射实现进程虚拟地址空间和实际物理页帧之间映射,分配物理页后,建立页表将物理页映射到进程的虚拟地址空间;
所述B树索引的生成是通过需要检索内容进行创建,包括以下步骤:将需要检索内容进行拆分成数字高分位到低分位排列,将拆分后的需要检索内容后结合文件名和偏移位置形成索引目录。
2.根据权利要求1所述的一种基于特殊索引内存映射在大数据检索上的方法,其特征在于,所述格式化处理和创建索引之间还包括步骤:创建并打开文件。
3.根据权利要求1所述的一种基于特殊索引内存映射在大数据检索上的方法,其特征在于,所述映射到内存后还包括以下步骤:
判断是否将大数据量文件索引映射完成,若是,结束映射关闭文件;若否,进而判断映射空间是否满,若未满,返回创建索引步骤进行循环;若已满,关闭文件,创建新的映射空间,进行新的大数据量文件检索。
4.根据权利要求1所述的一种基于特殊索引内存映射在大数据检索上的方法,其特征在于,所述固定格式内容为主键字段;所述固定大小的文件大小为1G-4G。
5.根据权利要求1所述的一种基于特殊索引内存映射在大数据检索上的方法,其特征在于,所述映射到内存还包括进程采用指针的方式读写操作内存,系统将自动回写页面到对应的文件磁盘。
6.根据权利要求1-5任一权利要求所述的一种基于特殊索引内存映射在大数据检索上的方法,其特征在于,所述需要检索内容为关键字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153069.3A CN117290390B (zh) | 2023-09-07 | 2023-09-07 | 一种基于特殊索引内存映射在大数据检索上的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153069.3A CN117290390B (zh) | 2023-09-07 | 2023-09-07 | 一种基于特殊索引内存映射在大数据检索上的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117290390A CN117290390A (zh) | 2023-12-26 |
CN117290390B true CN117290390B (zh) | 2024-05-17 |
Family
ID=89238105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311153069.3A Active CN117290390B (zh) | 2023-09-07 | 2023-09-07 | 一种基于特殊索引内存映射在大数据检索上的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290390B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4847749A (en) * | 1986-06-13 | 1989-07-11 | International Business Machines Corporation | Job interrupt at predetermined boundary for enhanced recovery |
CN103123650A (zh) * | 2013-03-06 | 2013-05-29 | 同方知网(北京)技术有限公司 | 一种基于整数映射的xml数据库全文索引方法 |
CN103823865A (zh) * | 2014-02-25 | 2014-05-28 | 南京航空航天大学 | 一种数据库主存索引方法 |
WO2015112634A1 (en) * | 2014-01-21 | 2015-07-30 | SanDisk Technologies, Inc. | Systems, methods and interfaces for data virtualization |
WO2021050875A1 (en) * | 2019-09-13 | 2021-03-18 | Pure Storage, Inc. | Configurable data replication |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102144B2 (en) * | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10628063B2 (en) * | 2018-08-24 | 2020-04-21 | Advanced Micro Devices, Inc. | Implementing scalable memory allocation using identifiers that return a succinct pointer representation |
-
2023
- 2023-09-07 CN CN202311153069.3A patent/CN117290390B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4847749A (en) * | 1986-06-13 | 1989-07-11 | International Business Machines Corporation | Job interrupt at predetermined boundary for enhanced recovery |
CN103123650A (zh) * | 2013-03-06 | 2013-05-29 | 同方知网(北京)技术有限公司 | 一种基于整数映射的xml数据库全文索引方法 |
WO2015112634A1 (en) * | 2014-01-21 | 2015-07-30 | SanDisk Technologies, Inc. | Systems, methods and interfaces for data virtualization |
CN103823865A (zh) * | 2014-02-25 | 2014-05-28 | 南京航空航天大学 | 一种数据库主存索引方法 |
WO2021050875A1 (en) * | 2019-09-13 | 2021-03-18 | Pure Storage, Inc. | Configurable data replication |
Non-Patent Citations (2)
Title |
---|
《Exploring Architectural Implications to Boost Performance for in-NVM B+- tree》;Yanpeng Hu 等;《IEEE》;20131231;全文 * |
《基于内存的分布式行式数据引擎的设计与实现》;张博;《中国优秀硕士学位论文全文数据库》;20180215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117290390A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7689574B2 (en) | Index and method for extending and querying index | |
JP2849788B2 (ja) | データベース・キーワード・インデクシング方法 | |
CN101782922B (zh) | 一种面向海量数据检索的多级桶哈希索引方法 | |
CN101464901B (zh) | 一种对象存储设备中的对象查找方法 | |
JPH09212528A (ja) | データベースを記憶する方法、データベースからレコードを検索する方法、および、データベース記憶/検索システム | |
KR100880531B1 (ko) | 단일 데이터 검색을 위한 파일 생성 방법 및 단일 데이터파일의 검색방법 그리고 단일 파일 검색을 위한 rat파일이 저장된 기록매체 | |
CN110825748A (zh) | 利用差异化索引机制的高性能和易扩展的键值存储方法 | |
US6330567B1 (en) | Searching system for searching files stored in a hard disk of a personal computer | |
CN113821171B (zh) | 一种基于哈希表与lsm树的键值存储方法 | |
CN116257523A (zh) | 一种基于非易失存储器的列式存储索引方法及装置 | |
CN102169497B (zh) | 一种通过位图方式管理元数据的方法及装置 | |
CN114996275A (zh) | 一种基于多树转换机制的键值存储方法 | |
CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
CN117290390B (zh) | 一种基于特殊索引内存映射在大数据检索上的方法 | |
WO2023235040A1 (en) | File system improvements for zoned storage device operations | |
WO2023249753A1 (en) | File system metadata layout for append-only storage | |
CN114185934B (zh) | 一种基于天盾数据库列存储的索引及查询方法及系统 | |
CN114741382A (zh) | 一种减少读时延的缓存方法和系统 | |
CN109213760A (zh) | 非关系数据存储的高负载业务存储及检索方法 | |
CN110019221B (zh) | 一种内存映像型数据库系统 | |
CN104834664A (zh) | 面向光盘库的全文检索系统 | |
CN113377721B (zh) | 一种数据库中存储文件的文件表设计方法 | |
JP3016255B2 (ja) | データベース管理システム | |
EP0981096A1 (en) | Searching system for searching files stored in a hard disc of a personal computer | |
CN117992498A (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 |