一种处理数据只读访问请求的方法

文档序号:6436450阅读:208来源:国知局
专利名称:一种处理数据只读访问请求的方法
技术领域
本发明涉及计算机存储系统技术领域,具体来说涉及一种在可以在服务器端高速处理数据只读操作的方法。
背景技术
在存储领域中,由于客户端较多,且数据的读写请求最终通过数据服务器完成,数据服务器往往面临着较大的压力,尤其是存在热点对象时,大量请求涌入一台或几台数据服务器,这时的数据服务器性能决定了存储系统的性能。相比与提高硬件性能,在软件系统上使用合适的方法,提高软件的处理速度更为可行。

发明内容
本发明的目的在于提供一种快速的响应只读请求的方法。一种处理数据只读访问请求的方法,把服务器端数据分为页缓存数据和磁盘数据,存储系统管理页缓存,接收到只读请求后,由缓存查询线程查询请求是否完全命中缓存,如果成功且页面全部有效,立即应答客户端;否则分配不存在的页面,加入缓存中,并将请求提交至磁盘处理线程,磁盘处理线程执行磁盘IO操作,磁盘IO完成后,数据写入新分配的页面,标记页面有效,并应答客户端请求。优选的,所述磁盘处理线程在每次读取磁盘前,将取到的全部请求进行合并后提交至磁盘。优选的,所述服务器根据缓存的访问情况与缓存压力,动态的调整页面的回收时间。与传统的只读请求处理过程相比,本发明具有以下特点。1.完全命中缓存的请求可以直接应答,响应间隔短。2.相同页面仅存在一份缓存,减少了多次拷贝带来的性能损失及内存占用。3.聚合了磁盘操作,提高了磁盘的使用率。4.减少了线程数量,避免了线程切换带来的性能损失。


图1为系统的交互模型工作过程图。图2为本发明模型具体工作方式。
具体实施例方式数据服务器主动管理对象在内存中页面,接收到只读请求后,由缓存查询线程查询请求是否完全命中缓存,如果成功且页面全部有效,立即应答客户端。否则分配不存在的页面,加入缓存中,并将请求提交至磁盘处理线程,磁盘处理线程执行磁盘IO等操作,磁盘IO完成后,数据写入新分配的页面,标记页面有效,并应答客户端请求。磁盘处理线程在每次读取磁盘前,将取到的全部请求进行合并后提交至磁盘,以提高磁盘IO性能。数据服务器根据缓存的访问情况与缓存压力,动态的调整页面的回收时间,以提高缓存的命中率。
查询缓存过程全部是内存操作,少量线程即可完成此类操作。磁盘IO过程中,每一个磁盘对应一个线程,就可以使磁盘IO达到最大,也避免了多个线程对一个磁盘的竞争所带来的IO损耗。此方法使用的线程数量较少,避免了线程切换所带来的性能损耗,线程负载均勻,尽可能的使用了磁盘10。
权利要求
1.一种处理数据只读访问请求的方法,其特征在于把服务器端数据分为页缓存数据和磁盘数据,存储系统管理页缓存,接收到只读请求后,由缓存查询线程查询请求是否完全命中缓存,如果成功且页面全部有效,立即应答客户端;否则分配不存在的页面,加入缓存中,并将请求提交至磁盘处理线程,磁盘处理线程执行磁盘IO操作,磁盘IO完成后,数据写入新分配的页面,标记页面有效,并应答客户端请求。
2.如权利要求1所述的方法,其特征在于所述磁盘处理线程在每次读取磁盘前,将取到的全部请求进行合并后提交至磁盘。
3.如权利要求1所述的方法,其特征在于所述服务器根据缓存的访问情况与缓存压力,动态的调整页面的回收时间。
全文摘要
本发明提供了一种处理数据只读访问请求的方法,把服务器端数据分为页缓存数据和磁盘数据,存储系统管理页缓存,接收到只读请求后,由缓存查询线程查询请求是否完全命中缓存,如果成功且页面全部有效,立即应答客户端;否则分配不存在的页面,加入缓存中,并将请求提交至磁盘处理线程,磁盘处理线程执行磁盘IO操作,磁盘IO完成后,数据写入新分配的页面,标记页面有效,并应答客户端请求。
文档编号G06F3/06GK102495710SQ20111032830
公开日2012年6月13日 申请日期2011年10月25日 优先权日2011年10月25日
发明者付根希, 姜国梁, 彭成, 苗艳超 申请人:曙光信息产业(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1