CN1453710A - 光盘镜像服务器/客户机的两级Cache系统 - Google Patents

光盘镜像服务器/客户机的两级Cache系统 Download PDF

Info

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
Application number
CN03128024A
Other languages
English (en)
Other versions
CN1212570C (zh
Inventor
谢长生
谭志虎
易法令
万继光
鲁修卓
任劲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CNB031280242A priority Critical patent/CN1212570C/zh
Publication of CN1453710A publication Critical patent/CN1453710A/zh
Application granted granted Critical
Publication of CN1212570C publication Critical patent/CN1212570C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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系统
技术领域
本发明涉及网络存储领域,具体是指光盘镜像服务器/客户机的两级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中查询该请求是否命中;如果命中,通过网络返回请求数据;否则,从磁盘中取包含预取数据在内的相应请求的数据,然后通过网络返回请求数据。
CNB031280242A 2003-05-23 2003-05-23 光盘镜像服务器/客户机的两级Cache系统的实现方法 Expired - Fee Related CN1212570C (zh)

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)

* Cited by examiner, † Cited by third party
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需求录制与压力模拟验证的方法

Cited By (9)

* Cited by examiner, † Cited by third party
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