CN106445839A - 一种高性能文件存储系统及其实现方法 - Google Patents
一种高性能文件存储系统及其实现方法 Download PDFInfo
- Publication number
- CN106445839A CN106445839A CN201610885938.5A CN201610885938A CN106445839A CN 106445839 A CN106445839 A CN 106445839A CN 201610885938 A CN201610885938 A CN 201610885938A CN 106445839 A CN106445839 A CN 106445839A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- perdurable
- module
- write
- 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.)
- Pending
Links
Classifications
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及文件存储领域,是一种高性能文件存储系统及其实现方法。本发明的系统包括数据应用层、数据缓冲层和数据持久层;数据应用层主要包括数据查找器;数据缓冲层主要包括数据缓冲器和数据加载器;数据持久层主要包括数据读写器、数据排序器和持久化数据模块;通过数据缓冲器把访问率高的数据加载到内存,提高访问速度,同时对缓冲器的数据访问次数按一定的算法进行了计算并把访问率低的数据从数据缓冲器中置换出来,写入外存,并且排序器对数据按照访问次数进行顺序排序,以方便数据的遍历。
Description
技术领域
本发明涉及计算机应用技术领域,具体涉及一种高性能文件存储系统及其实现方法。
背景技术
随着互联网和计算机应用技术的不断发展,各种应用系统的普及,非结构化数据的增长量激增,为应用系统提供高性能的文件存储与访问成为了关键。
发明内容
本发明解决的技术问题在于提供一种高性能文件存储系统及其实现方法,为有需要此业务场景的系统提供应用,简化业务流程,提高效率。
本发明解决上述技术问题的技术方案是:
所述系统包括数据应用层、数据缓冲层和数据持久层;
所述的数据应用层主要包括数据查找器;数据查找器对数据缓冲器进行查询,如果查询不到则将查询的请求发送给数据读写器;
所述的数据缓冲层主要包括数据缓冲器和数据加载器;数据缓冲器用于缓冲数据;数据加载器将数据从持久化数据模块读取到数据缓冲器,并且通知数据读写器将置换的数据写入持久化数据模块;
所述的数据持久层主要包括数据读写器、数据排序器和持久化数据模块;数据读写器负责数据的查询请求和写入请求;持久化数据模块按照设计的数据结构存储最终的数据;数据排序器对写入持久化数据模块的数据按照访问频率进行排序。
所述的实现方法按照以下步骤进行:
(1)、数据查找器监听数据读取请求;
(2)、当数据查找器接收到查找数据的指令时,首先到数据缓冲器请求数据,并返回查找的数据;如果无法在数据缓冲器查找到数据,则向读写器请求数据,并等待数据返回;
(3)、数据读写器等待数据查找器的数据读取请求和数据缓冲器的数据写入请求;当接收到数据读取或者数据写入请求时,向持久化数据模块读取或写入数据;如果是读取请求,数据读写器同步给数据加载器发送加载命令;
(4)、数据加载器接收到数据读写器的数据加载命令后,从持久化数据模块中加载数据到数据缓冲器,并把访问频率最低的数据置换出来,通过数据读写器把置换出来的数据写入持久化数据模块里;
(5)、数据排序器对持久化数据模块进行监视,每当持久化数据模块中有数据的写入时,都需要对数据按照访问频率进行排序一次。
所述数据查找器多线程并行执行查询操作;数据读写器可以多线程读写操作。
所述的数据缓冲器存储访问频率高的数据文件,减少对硬盘数据的访问操作。
所述的持久化数据模块存储结构以哈希map的方式存储,并且每块数据连接形成一条数据链。
持久化数据模块的数据持久化构成如下:
采用java语言的currentMap实现数据存储在哈希Map里;减少查询时间;
采用java语言的LinkList实现辅助数据存储,方便对数据进行遍历操作。
数据缓冲器也采用同样的数据结构。
本发明通过数据缓冲器把访问率高的数据加载到内存,提高访问速度,同时对缓冲器的数据访问次数按一定的算法进行了计算并把访问率低的数据从数据缓冲器中置换出来,写入外存,并且排序器对数据按照访问次数进行顺序排序,以方便数据的遍历。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明的系统架构图;
图2是本发明的总体流程图;
图3是本发明的数据持久化结构图。
具体实施方式
见图1所示,本发明由数据查找器、数据缓冲器、数据读写器、数据加载器和数据排序器组成。通过数据缓冲器把访问率高的数据加载到内存,提高访问速度,同时对缓冲器的数据访问次数按一定的算法进行了计算并把访问率低的数据从数据缓冲器中置换出来,写入外存,并且排序器对数据按照访问次数进行顺序排序,以方便数据的遍历。
所述系统主要由数据查找器、数据缓冲器、数据读写器、数据加载器和排序器组成。数据查找器首先对数据缓冲器进行查询,如果查询不到再把查询的请求发送给数据读写器。数据读写器负责数据的查询请求和写入请求。持久化数据按照本方法设计的数据结构存储着最终的数据。数据排序器对写入持久化的数据进行排序,排序是按照访问频率进行排序的。加载器是把数据从持久化数据文件读取到数据缓冲器,并且通知数据读写器把置换的数据写入持久化数据文件。
如图2所示,整个工作详细流程如下:
1、数据查找器监听数据读取请求;
2、当数据查找器接收到查找数据的指令时,首先到数据缓冲器请求数据,并返回查找的数据,如果无法在数据缓冲器查找到数据,则向读写器请求数据,并等待数据返回;
3、数据读写器等待数据查找器的数据读取请求和数据缓冲器的数据写入请求。当接收到数据读取或者数据写入请求时,向持久化数据读取或写入数据。如果是读取请求,读写器还要给加载器发送加载命令;
4、加载器接收到读写器的数据加载命令后,从持久化数据中加载数据到数据缓冲器,并把访问频率最低的数据置换出来,通过读写器把置换出来的数据写入持久化数据里;
5、排序器对持久化数据进行监视,每当持久化数据中有数据的写入时,都需要对数据按照访问频率进行排序一次。
见图3所示,数据持久化构成如下:
1、数据存储在HashMap里,这能有效地减少查询时间,同理,数据缓冲器也采用同样的数据结构。具体到java实现语言,应该采用currentMap来实现;
2、采用List结构来辅助存储数据,方便对数据进行遍历操作。具体到java实现语言,应该采用LinkList来实现,方便修改操作。
缓冲器访问算法如下:
设n为最近一分钟的访问次数,m为最近两分钟访问次数,q为最近五分钟访问次数,则访问权重s=0.6*(n/1)+0.3*(m/2)+0.1*(q/5),权重越大,留在缓冲器的优先等级越高。
Claims (8)
1.一种高性能文件存储系统,其特征在于:所述系统包括数据应用层、数据缓冲层和数据持久层;
所述的数据应用层主要包括数据查找器;数据查找器对数据缓冲器进行查询,如果查询不到则将查询的请求发送给数据读写器;
所述的数据缓冲层主要包括数据缓冲器和数据加载器;数据缓冲器用于缓冲数据;数据加载器将数据从持久化数据模块读取到数据缓冲器,并且通知数据读写器将置换的数据写入持久化数据模块;
所述的数据持久层主要包括数据读写器、数据排序器和持久化数据模块;数据读写器负责数据的查询请求和写入请求;持久化数据模块按照设计的数据结构存储最终的数据;数据排序器对写入持久化数据模块的数据按照访问频率进行排序。
2.一种权利要求1所述的高性能文件存储系统的实现方法;其特征在于:所述的实现方法按照以下步骤进行:
(1)、数据查找器监听数据读取请求;
(2)、当数据查找器接收到查找数据的指令时,首先到数据缓冲器请求数据,并返回查找的数据;如果无法在数据缓冲器查找到数据,则向读写器请求数据,并等待数据返回;
(3)、数据读写器等待数据查找器的数据读取请求和数据缓冲器的数据写入请求;当接收到数据读取或者数据写入请求时,向持久化数据模块读取或写入数据;如果是读取请求,数据读写器同步给数据加载器发送加载命令;
(4)、数据加载器接收到数据读写器的数据加载命令后,从持久化数据模块中加载数据到数据缓冲器,并把访问频率最低的数据置换出来,通过数据读写器把置换出来的数据写入持久化数据模块里;
(5)、数据排序器对持久化数据模块进行监视,每当持久化数据模块中有数据的写入时,都需要对数据按照访问频率进行排序一次。
3.根据权利要求2所述的实现方法,其特征在于:所述数据查找器多线程并行执行查询操作;数据读写器可以多线程读写操作。
4.根据权利要求2所述的实现方法,其特征在于:所述的数据缓冲器存储访问频率高的数据文件,减少对硬盘数据的访问操作。
5.根据权利要求3所述的实现方法,其特征在于:所述的数据缓冲器存储访问频率高的数据文件,减少对硬盘数据的访问操作。
6.根据权利要求2至5任一项所述的实现方法,其特征在于:所述的持久化数据模块存储结构以哈希map的方式存储,并且每块数据连接形成一条数据链。
7.根据权利要求6所述的实现方法,其特征在于:持久化数据模块的数据持久化构成如下:
采用java语言的currentMap实现数据存储在哈希Map里;减少查询时间;
采用java语言的LinkList实现辅助数据存储,方便对数据进行遍历操作。
8.根据权利要求7所述的实现方法,其特征在于:数据缓冲器也采用同样的数据结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610885938.5A CN106445839A (zh) | 2016-10-09 | 2016-10-09 | 一种高性能文件存储系统及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610885938.5A CN106445839A (zh) | 2016-10-09 | 2016-10-09 | 一种高性能文件存储系统及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106445839A true CN106445839A (zh) | 2017-02-22 |
Family
ID=58173336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610885938.5A Pending CN106445839A (zh) | 2016-10-09 | 2016-10-09 | 一种高性能文件存储系统及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445839A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928935A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 数据的访问命令处理方法、装置和系统 |
WO2020082454A1 (zh) * | 2018-10-24 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种闪存存储设备中闪存块状态管理表有效存取的方法 |
WO2020082449A1 (zh) * | 2018-10-24 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种闪存存储中管理主机端逻辑位置对应映射表的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459599A (zh) * | 2008-10-30 | 2009-06-17 | 北京闪联互动网络科技有限责任公司 | 一种实现缓存数据访问与加载并发进行的方法及系统 |
CN104866434A (zh) * | 2015-06-01 | 2015-08-26 | 北京圆通慧达管理软件开发有限公司 | 面向多应用的数据存储系统和数据存储、调用方法 |
CN105718561A (zh) * | 2016-01-20 | 2016-06-29 | 中国科学院计算技术研究所 | 一种特定分布式数据存储文件结构去冗余构造方法及系统 |
-
2016
- 2016-10-09 CN CN201610885938.5A patent/CN106445839A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101459599A (zh) * | 2008-10-30 | 2009-06-17 | 北京闪联互动网络科技有限责任公司 | 一种实现缓存数据访问与加载并发进行的方法及系统 |
CN104866434A (zh) * | 2015-06-01 | 2015-08-26 | 北京圆通慧达管理软件开发有限公司 | 面向多应用的数据存储系统和数据存储、调用方法 |
CN105718561A (zh) * | 2016-01-20 | 2016-06-29 | 中国科学院计算技术研究所 | 一种特定分布式数据存储文件结构去冗余构造方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110928935A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 数据的访问命令处理方法、装置和系统 |
CN110928935B (zh) * | 2018-09-19 | 2023-11-14 | 阿里巴巴集团控股有限公司 | 数据的访问命令处理方法、装置和系统 |
WO2020082454A1 (zh) * | 2018-10-24 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种闪存存储设备中闪存块状态管理表有效存取的方法 |
WO2020082449A1 (zh) * | 2018-10-24 | 2020-04-30 | 江苏华存电子科技有限公司 | 一种闪存存储中管理主机端逻辑位置对应映射表的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452612B2 (en) | Efficient data caching management in scalable multi-stage data processing systems | |
US10289315B2 (en) | Managing I/O operations of large data objects in a cache memory device by dividing into chunks | |
CN107391653B (zh) | 一种分布式NewSQL数据库系统及图片数据储存方法 | |
JP6639420B2 (ja) | フラッシュ最適化データ・レイアウトのための方法、フラッシュ最適化記憶のための装置、およびコンピュータ・プログラム | |
US7886124B2 (en) | Method and mechanism for implementing dynamic space management for large objects | |
US20150142819A1 (en) | Large string access and storage | |
US9712646B2 (en) | Automated client/server operation partitioning | |
CN110825748A (zh) | 利用差异化索引机制的高性能和易扩展的键值存储方法 | |
US9977801B2 (en) | Paged column dictionary | |
US20180300330A1 (en) | Proactive spilling of probe records in hybrid hash join | |
CN102955792A (zh) | 一种实时全文搜索引擎事务处理的实现方法 | |
CN106445839A (zh) | 一种高性能文件存储系统及其实现方法 | |
Li et al. | ASLM: Adaptive single layer model for learned index | |
US8880553B2 (en) | Redistribute native XML index key shipping | |
KR102195839B1 (ko) | 데이터베이스 관리 시스템에서의 로그 레코드 관리를 위한 기법 | |
Balasubramanian et al. | cDLRM: Look ahead caching for scalable training of recommendation models | |
CN116186085A (zh) | 一种基于缓存梯度冷热数据分层机制的键值存储系统及方法 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
US11099960B2 (en) | Dynamically adjusting statistics collection time in a database management system | |
US20180011897A1 (en) | Data processing method having structure of cache index specified to transaction in mobile environment dbms | |
US10114878B2 (en) | Index utilization in ETL tools | |
Tulkinbekov et al. | CLeveldb: Coalesced leveldb for small data | |
JPS59220853A (ja) | デイスクキヤツシユシステム | |
CN110032664A (zh) | 一种快速建立比特币区块链全节点地址索引的方法 | |
US8589633B2 (en) | Control apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |
|
RJ01 | Rejection of invention patent application after publication |