CN1453710A - 光盘镜像服务器/客户机的两级Cache系统 - Google Patents
光盘镜像服务器/客户机的两级Cache系统 Download PDFInfo
- Publication number
- CN1453710A CN1453710A CN03128024A CN03128024A CN1453710A CN 1453710 A CN1453710 A CN 1453710A CN 03128024 A CN03128024 A CN 03128024A CN 03128024 A CN03128024 A CN 03128024A CN 1453710 A CN1453710 A CN 1453710A
- Authority
- CN
- China
- Prior art keywords
- request
- cache
- client
- data
- size
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种光盘镜像服务器/客户机的两级Cache系统,该系统采用两级Cache结构;在客户端设置一个自适应的Cache和预取线程模块,该模块通过客户端请求接口接收来自操作系统的请求,并进行相应处理;在服务器端设置一个以大块数据为单位进行组织的Cache,及相应的光盘流服务模块,该服务模块接收客户端的请求并以下处理(1)服务器端从网络中接收请求;(2)在Cache中查询该请求是否命中;如果命中,通过网络返回请求数据;否则,从磁盘中取相应请求的数据,再通过网络返回请求数据。测试表明:这种两级Cache系统的数据传输率与请求块的大小基本上没有关系,即在任何请求块大小的情况下,数据传输率都很高;并且采用本系统的数据传输率要大大高于网上邻居的数据传输率。
Description
技术领域
本发明涉及网络存储领域,具体是指光盘镜像服务器/客户机的两级Cache系统。
背景技术
数据光盘因为其价格低廉、容量大、使用方便等多种优势已成为目前重要的信息载体。但数据光盘数量急剧增加使得其在管理、使用及数据共享等方面困扰广大用户,因此光盘镜像作为一种新的技术应运而生,在很大程度上解决了这一问题。光盘镜像服务器现在已成为光盘在网络上共享的重要设备,由于它本身没有通用服务器那样复杂的操作系统和硬件连接,只完成光盘镜像服务器硬盘数据与客户机之间的数据传送,使客户机能以硬盘的访问速度来共享CD-ROM光盘上的信息资源,所以消除了CD-ROM驱动器瓶颈问题,极大地改善了光盘网络共享的性能。但是,随着数据共享程度的提高,客户端的数量增大,加上对光盘的访问一般都是大块数据,使得用户访问光盘镜像服务器的数据传输率受到很大的影响。在实践中,我们观察到影响客户端访问速率的因素主要有以下几个方面:
1、当客户端有数据请求时,由操作系统发出的数据请求块的大小一般为32K字节,而当网络以32K字节为单位进行传输时,效率较低。从图4中测试的有关数据可以说明问题。
2、在进行网络传输时,客户端发出网络请求后,操作系统一般采用查询的方式,检查请求是否返回,如果请求返回慢,势必会影响数据传输率。
3、如果客户端的访问大量增加,在服务器端取数据时也会形成瓶颈,从而影响数据的传输。
发明内容
本发明的目的在于提供一种光盘镜像服务器/客户机的两级Cache系统,该系统可提高客户端数据的传输效率,进而提高整个光盘服务器系统的效率。
本发明的光盘镜像服务器/客户机的两级Cache系统,其特征在于,该系统采用两级Cache结构;在客户端设置一个自适应的Cache和预取线程模块,该模块通过客户端请求接口接收来自操作系统的请求,并进行如下处理:
(1)接收操作系统的请求;
(2)在Cache中查询该请求是否命中;如果命中则返回请求数据给操作系统,进入(1);如果未命中则转(3);
(3)向网络发送预取数据请求,预取数据块的大小根据前面的请求的命中情况确定:如果前面的请求连续命中,假设连续命中n次,则预取数据块的大小为B*(n+1),如果预取占用的Cache超过A时,预取的数据块大小为A;如果未命中,则预取数据块的大小为B*2;其中B为操作系统请求的大小,A为客户端的Cache的大小;
(4)返回请求数据给操作系统,进入(1);
在服务器端设置一个以大块数据为单位进行组织的Cache,及相应的光盘流服务模块,该服务模块接收客户端的请求并进行以下处理:
(1)服务器端从网络中接收请求;
(2)在Cache中查询该请求是否命中;如果命中,通过网络返回请求数据;否则,从磁盘中取包含预取数据在内的相应请求的数据,然后通过网络返回请求数据。
光盘作为一种存储介质,它具有下述不同于磁盘的特性,本发明正是根据光盘的这些特性提出来的。
第一,一张光盘可以看成一个独立的存储单位,它的容量比较大,而且它所存放的文件都是顺序的,不存在磁盘碎片现象。
第二,把一张光盘作为一个文件镜像在磁盘上时,它在物理上的存放一般也是连续的,因为作为镜像服务器的磁盘肯定不是碎片很多的磁盘。
第三,用户在使用光盘时,一般都是读取连续的数据。
通过对采用两级Cache的光盘镜像服务器系统进行测试,在请求数据连续的情况下,整个系统的性能有很大的提高。我们在100M的局域网内测试了使用不同请求块大小的顺序请求的数据传输率,结果证明采用两级Cache系统的数据传输率与请求块的大小基本上没有关系,即在任何请求块大小的情况下,数据传输率都很高。同时,我们还测试了网上邻居的顺序读请求的数据传输率,结果显示,采用本发明的系统数据传输率要大大高于网上邻居的数据传输率。上述结果如图4所示。
附图说明
图1为包含有客户端和服务器端两级Cache系统的结构示意图;
图2为客户端到服务器端读数据请求的过程示意图;
图3为客户端Cache循环使用的表示图;
图4是本系统的实际效果评估图。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
如图1所示,本发明采用两级Cache结构:由主Cache(服务器端Cache)1和客户端Cache2组成。主Cache1对所有的客户端有效,是一个大的Cache,可提高服务器的数据读取速度。客户端Cache2只对本客户端有效。客户端可以在任何地方,通过Internet访问服务器端。它是一个自适应的Cache,通过预取机制增大一次网络请求的大小,以提高网络数据传输效率,其中预取由专用的线程来完成,不需要操作系统来触发。
客户端Cache2主要是为了提高网络数据传输率以及对操作系统请求的响应速率。在客户端对光盘镜像服务器的请求一般是大块且连续的,客户端Cache根据这一特点,采用了一种自适应的预取算法,即根据开始的请求和以后的命中率确定预取块的大小。因为客户端Cache只为一个用户服务,所以客户端的Cache不需要很大(一般设为2M),循环使用。客户端通过客户端程序接口接收来自操作系统的请求,然后再通过一个预取线程从服务器端读取数据,其具体步骤如下(其中操作系统请求的大小一般设为32K):
(1)接收操作系统的请求
(2)在Cache中查询该请求是否命中;如果命中则返回请求数据给操作系统,进入(1);如果未命中则转(3)
(3)向网络发预取数据请求,预取数据块的大小根据前面的请求的命中情况确定。如果前面的请求连续命中,假设连续命中n次,则预取数据块的大小为32*(n+1)K,如果预取占用的Cache超过2M时,预取的数据块大小为2M;如果未命中则预取数据块的大小为64K。
(4)返回请求数据给操作系统,进入(1)。
服务器端Cache容量较大,以大块数据为单位进行组织,通过每次从磁盘上读取大块数据加快读数据的速度;同时,请求在Cache中命中又可以加快请求响应的速度。服务器端Cache的容量根据服务器的配置和所服务的客户端的数量确定,容量越大,其效果越好;服务器端Cache的数据单位是Cache从磁盘中取数据的基本单位,根据镜像光盘的类型确定,一般取30K字节。服务器端通过光盘镜像服务器端的光盘流服务模块,接收客户端的请求并进行处理,其请求的具体处理过程如下:
(1)服务器端从网络中接收请求;
(2)在Cache中查询该请求是否命中;如果命中,通过网络返回请求数据;否则,从磁盘中取相应请求的数据(含预取数据)然后通过网络返回请求数据。
由于本发明充分利用了光盘镜像及网络传输的特点以及Cache的局部性原理,在实际应用中能够大大提高系统效率。
如图2所示,客户端的用户需要读取光盘镜像文件,首先是通过操作系统向客户端请求接口发读数据请求,这时启动客户端的预取线程。预取线程根据上面提到的四个步骤开始通过网络发送请求到服务器端。服务器端的光盘流服务模块接收客户端发送来的请求,然后进行处理。
图3中,Cache中当前命中的部分和它后面的预取部分是有效的数据;前面的请求命中的部分和还未使用的内存部分都视为空白区,可以存放后面预取的数据。当Cache占用达到Cache内存区的尾端时,又转到其始端。
我们在100M的局域网内进行了以下三个方面的数据测试:(1)Windows所提供的网上邻居的顺序读的数据传输率;(2)本系统顺序读的数据传输率;(3)本系统去掉客户端Cache后顺序读的数据传输率。测试分别采用不同的数据块大小进行。其结果如图4所示。
Claims (1)
1、光盘镜像服务器/客户机的两级Cache系统,其特征在于,该系统采用两级Cache结构;
在客户端设置一个自适应的Cache和预取线程模块,该模块通过客户端请求接口接收来自操作系统的请求,并进行如下处理:
(1)接收操作系统的请求;
(2)在Cache中查询该请求是否命中;如果命中则返回请求数据给操作系统,进入(1);如果未命中则转(3);
(3)向网络发送预取数据请求,预取数据块的大小根据前面的请求的命中情况确定:如果前面的请求连续命中,假设连续命中n次,则预取数据块的大小为B*(n+1),如果预取占用的Cache超过A时,预取的数据块大小为A;如果未命中,则预取数据块的大小为B*2;其中B为操作系统请求的大小,A为客户端的Cache的大小;
(4)返回请求数据给操作系统,进入(1);
在服务器端设置一个以大块数据为单位进行组织的Cache,及相应的光盘流服务模块,该服务模块接收客户端的请求并进行以下处理:
(1)服务器端从网络中接收请求;
(2)在Cache中查询该请求是否命中;如果命中,通过网络返回请求数据;否则,从磁盘中取包含预取数据在内的相应请求的数据,然后通过网络返回请求数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031280242A CN1212570C (zh) | 2003-05-23 | 2003-05-23 | 光盘镜像服务器/客户机的两级Cache系统的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031280242A CN1212570C (zh) | 2003-05-23 | 2003-05-23 | 光盘镜像服务器/客户机的两级Cache系统的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1453710A true CN1453710A (zh) | 2003-11-05 |
CN1212570C CN1212570C (zh) | 2005-07-27 |
Family
ID=29260359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031280242A Expired - Fee Related CN1212570C (zh) | 2003-05-23 | 2003-05-23 | 光盘镜像服务器/客户机的两级Cache系统的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1212570C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1297918C (zh) * | 2003-11-10 | 2007-01-31 | 深圳市东湖存储技术有限公司 | 虚拟光盘库系统及虚拟光盘数据流网络传输方法 |
CN100359891C (zh) * | 2004-06-30 | 2008-01-02 | 中兴通讯股份有限公司 | 一种通过缓存提高多媒体消息中心业务处理性能的方法 |
CN101388824B (zh) * | 2008-10-15 | 2011-02-16 | 中国科学院计算技术研究所 | 一种机群系统中分片存储模式下文件读取的方法及系统 |
CN101431475B (zh) * | 2008-11-20 | 2011-03-23 | 季鹏程 | 高性能的流媒体服务器的设置以及进行高性能节目读取的方法 |
CN101404649B (zh) * | 2008-11-11 | 2012-01-11 | 阿里巴巴集团控股有限公司 | 一种基于cache的数据处理系统及其方法 |
WO2013000371A1 (en) * | 2011-06-29 | 2013-01-03 | International Business Machines Corporation | Transparent cache for mobile users |
CN102915270A (zh) * | 2012-09-14 | 2013-02-06 | 福建升腾资讯有限公司 | 用于存储i/o需求录制与压力模拟验证的方法 |
-
2003
- 2003-05-23 CN CNB031280242A patent/CN1212570C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1297918C (zh) * | 2003-11-10 | 2007-01-31 | 深圳市东湖存储技术有限公司 | 虚拟光盘库系统及虚拟光盘数据流网络传输方法 |
CN100359891C (zh) * | 2004-06-30 | 2008-01-02 | 中兴通讯股份有限公司 | 一种通过缓存提高多媒体消息中心业务处理性能的方法 |
CN101388824B (zh) * | 2008-10-15 | 2011-02-16 | 中国科学院计算技术研究所 | 一种机群系统中分片存储模式下文件读取的方法及系统 |
CN101404649B (zh) * | 2008-11-11 | 2012-01-11 | 阿里巴巴集团控股有限公司 | 一种基于cache的数据处理系统及其方法 |
CN101431475B (zh) * | 2008-11-20 | 2011-03-23 | 季鹏程 | 高性能的流媒体服务器的设置以及进行高性能节目读取的方法 |
WO2013000371A1 (en) * | 2011-06-29 | 2013-01-03 | International Business Machines Corporation | Transparent cache for mobile users |
GB2510704A (en) * | 2011-06-29 | 2014-08-13 | Ibm | Transparent cache for mobile users |
CN102915270A (zh) * | 2012-09-14 | 2013-02-06 | 福建升腾资讯有限公司 | 用于存储i/o需求录制与压力模拟验证的方法 |
CN102915270B (zh) * | 2012-09-14 | 2015-04-15 | 福建升腾资讯有限公司 | 用于存储i/o需求录制与压力模拟验证的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1212570C (zh) | 2005-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9304928B2 (en) | Systems and methods for adaptive prefetching | |
EP1072004B1 (en) | High performance object cache | |
US6754800B2 (en) | Methods and apparatus for implementing host-based object storage schemes | |
CN1160631C (zh) | 改进虚拟存储器系统中存储器访问的技术 | |
US5802292A (en) | Method for predictive prefetching of information over a communications network | |
US6292880B1 (en) | Alias-free content-indexed object cache | |
US7076619B2 (en) | Storage system and method for reorganizing data to improve prefetch effectiveness and reduce seek distance | |
US8463846B2 (en) | File bundling for cache servers of content delivery networks | |
CN1650260A (zh) | 基于存储区的数据预取 | |
CN105653684B (zh) | 分布式文件系统的预读方法和装置 | |
US10061775B1 (en) | Scalable and persistent L2 adaptive replacement cache | |
CN110765086B (zh) | 一种小文件的目录读取方法、系统、电子设备及存储介质 | |
US6954752B2 (en) | Methods and apparatus for clustering and prefetching data objects | |
CN1212570C (zh) | 光盘镜像服务器/客户机的两级Cache系统的实现方法 | |
CN102147802B (zh) | 一种伪随机类nfs应用加速系统 | |
Nanopoulos et al. | Exploiting web log mining for web cache enhancement | |
CN111787062B (zh) | 面向广域网络文件系统的自适应快速增量预读方法 | |
US6513099B1 (en) | Enhanced graphics cache memory | |
Wei et al. | A self-tuning client-side metadata prefetching scheme for wide area network file systems | |
US8566521B2 (en) | Implementing cache offloading | |
CN102123318A (zh) | 一种iptv应用的io加速方法 | |
Nijim et al. | Multi-layer prefetching for hybrid storage systems: algorithms, models, and evaluations | |
Ding et al. | Remote visualization by browsing image based databases with logistical networking | |
US11237975B2 (en) | Caching assets in a multiple cache system | |
CN116069752A (zh) | 一种面向分布式文件系统的混合预取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |