提高计算装置中文件服务器请求的效率的制作方法

文档序号:6568519阅读:104来源:国知局
专利名称:提高计算装置中文件服务器请求的效率的制作方法
技术领域
本发明公开了一种操作计算装置的方法,特别地,公开了一种 通过将在装置中执行文件服务器请求所需的时间最小化来提高计 算装置操作过程中的效率的方法。
背景技术
术语"计算装置"包括但不限于台式计算机、便携式计算机、
PDA、移动电话、智能手机、数字照相机以及数字音乐播放器。该 "计算装置"还包括结合了一种或多种上述装置的功能的集成装 置,以及i午多其他工业与家用电子i殳备。
所有这些计算装置都需要某种永久数据存储设备。现代计算机 系统中存储凄t据的标准方法借助于向物理存储介质传输数据的文 件系统,无论实际所用的是哪种硬件,该物理存储介质通常都被称 为磁盘。磁盘中的数据通常保存于一系列文件中;文件可定义成作 为单个单元储存的位流或位序列(参见 http:〃en.wikipedia.org/wiki/Computer—file )。 if算装置才喿^t系纟充的总 体功能这方面非常重要,以至于Microsoft将其第一个孩i型计算机 操作系统称为DOS ,其中,DOS代表》兹盘操作系统。
对保存在文件系统中的凄t据的访问是4喿作系统中被不同地称 为文件管理器或文件服务器的那部分的责任,此部分传统上为将命名文件定位在;兹盘上纟是供目录服务并允许对命名文件进行诸如打 开、关闭、写入、读取、重命名和删除的普通操作。计算装置上的文件服务器可以看作是软件应用程序与硬件部 件之间的绝缘层,其中数据实际上存储在该硬件部件上。应用软件并不需知道任何关于用于存储的硬件类型的信息;所有存储介质类 型可经由相同的应用禾呈序4妄口 (API)进4亍it问。对存4诸石更件本身 的访问则通常经由某类装置驱动器进行处理。装置驱动器是插入文 件服务器的典型部件,而这使得不同类型的物理存储介质以对装置 的用户透明的形式来1"吏用。现代操作系统中的现行实践是为使文件月l务器将从其客户端 应用程序接收的文件系统调用经装置驱动器传输至物理存储设备, 并将从文件服务器接收回的任何返回的值或数据传输至进行始发 调用(original call )的客户端应用程序。无论使用装置驱动器(device driver )或硬件,文件服务器及其客户端之间的接口通常都是一致的。在多任务处理计算机系统中,对于文件月良务器及其装置驱动器 以及从文件服务器及其装置驱动器到适当驱动硬件进行的调用通 常是异步的;这些调用不等待所请求的纟喿作完成就立即返回,而文 件服务器在稍后某一时间通过回叫或其他某种通知才几制被告知该 操作结果。如果调用是同步的,且被阻隔直到请求操作完成,整个 文件服务器就会在等待每个操作完成的同时避免服务于其他请求, 还可能避免包括其他介质类型及其他装置驱动器。当进行异步调用 时,需要硬件访问的文件服务器操作通常会由装置驱动器传输至一 个不同的执行线程,此执行线程由于这个目的而被特别设置,这里 称为驱动线程。由于对多数计算装置起作用的数据存储与检索的集中性,装置 性能的关键决定因素之一通常是其文件系统的效率。现行的文件服务器设计相对效率低下,因为,如上所述,文件 服务器通常会从其客户端经由装置驱动器将调用异步传输到物理 装置上。然而,管理异步请求显然比管理同步请求更加复杂。像管 理通知以及回叫那样,对不同线程操作的传输控制在计算上是昂贵 的。这些操作的同步形式则更易于管理且具有更小的计算开销。当然,对于冗长的文件系统调用,进行异步调用的代价是值得 的,因为阻隔文件服务器使得效率十分低。然而,每个对文件服务 器的调用和由文件服务器发出的调用耗费4艮长时间才完成的情况并不经常发生;当"t喿作;f及快速地完成时,运用同步方法更有效率,远胜于进4于异步调用而导致不必要的开销。在很多情况下,进行涉及独立驱动线程的异步调用的开销需要 比直接执行操作所需的计算资源更多的计算资源。这样效率很低,减慢了计算装置的速度,并浪费了电能;这最后一个缺陷对于移动 电池供电的计算装置(例如,移动电话)来i兌是个特别严重的问题, 此类装置具有有限的计算能力并且通常是电池供电的。发明内容因此,本发明i殳法l是出 一种通过将占用相对长时间完成且需要 硬件访问的文件服务器与相对快速完成且不需石更件访问的文件服 务器区分,来将执行文件服务器请求所需的时间最小化的方法。根据本发明的第 一 方面提供了根据本发明的第二方面提供了根据本发明的第三方面提供了


下面将4又通过其它实例参照附图描述本发明的实施例,其中
图1示出了同步文件服务器操作的实例;
图2示出了异步文件服务器操作的实例;以及
图3示出了访问才艮据本发明的介质存^f渚系统的过程,
具体实施例方式
才艮据本发明,尽可能多的文件服务器请求-陂配置成以主文件服 务器线程进行处理,而不访问计算装置的介质凌t据存储;这些涉及 所有同步操作和所有关于同步驱动所执行的操作。术语"同步"这 里是指将近实时。举例来说,在本发明的上下文中,传输至驱动线
当作同步。
图1和图2通过使用从Symbian OS所用的文件服务器中提出 的对象和类,分别示出了同步和异步才乘作的运4亍,其中,该Symbian OS是Symbian Software Ltd of London, UK研发的用于移动电话的 操作系统。从图1示出的同步4喿作中可以看出,主文件服务器线程 在通知请求客户端所i青求的调用已完成前完成。文件服务器因此与 来自其他客户端的服务请求阻隔,直到已产生请求完成的通知。相
反地,对于如图2所示的异步操作,主要文件服务器线程产生单个
独立的驱动线程,该驱动线程执行请求操作并在请求:燥作完成时告 知该i青求客户端。因此,文件月l务器在来自当前客户端的i青求已完 成之前对于来自其他客户端的服务请求是空闲的,但以不得不产生
单个线考呈及其资源蕴含才喿作(resource implication )为^R/f介。图3示出了本发明的操作。对于本发明,如上述传统模型,主 文件服务器线程首先处理所有客户端请求。然而,文件服务器的装
置驱动器^L配置成服务于同步请求本身;这包括不需任何对介质装 置本身进行访问的所有请求以及在完成并向客户端返回结果之前 不会阻隔线程的请求。
文件服务器被配置成只向驱动线程传输包括了对硬件文件系 统的调用或可能阻隔文件服务器的调用的请求。这样就避免在向单 个驱动线程传输请求而产生的固定开销,无"i仑这种开销是否产生。
一些驱动类型(例如,在只读存储器(ROM)硬件中执行的类 型,以及使用随机存取存储器(RAM)的内部驱动的类型)从不执 行运行时间长的操作;它们非常快速而不会阻隔驱动线程。因此, 这些驱动^皮称作同步驱动,而所有来自客户端应用程序的对于这些 驱动的所有请求是在主文件服务器线程中处理的。因此,对于本发 明,同步驱动不会通过使用单个驱动线程而得到服务。
即使对于较慢的(异步)驱动,某些请求仍可在不访问存储介 质装置本身的情况下被处理——例如,对于设置或检索保存于文件 服务器的信息的请求。在本发明中,这些类型的操作被分类为"同 步操作,,并且主文件服务器线程也经常处理这些^喿作。
本发明的优选实施例针对用于任何特定硬件装置的装置驱动 器旨在确定该装置是否为同步装置;而针对用于异步驱动的装置驱 动器旨在区分同步调用和非同步调用。由此,用于这种计算系统的 装置驱动器可以进行如此才喿作当装置驱动器涉及对异步介质装置 作出的异步操作时,它们就只传输分隔驱动线程的文件服务器请 求。因此,可以理解,本发明使得计算装置更快更灵每文。本发明还 使得该装置更有效率,因为可以减少计算资源的4吏用以及减少硬件 访问。故对于普通文件操作,在能量消耗方面会有所节省。
因此,本发明提供了一种实施文件系统的计算装置,该系统不 会阻隔其客户端且会将对请求进行快速响应的同步装置和不会对 请求进行快速响应的异步装置进4亍区分。对于异步装置,该系统也 会将快速完成的同步操作和需耗时完成的异步操作进行区分。当装 置驱动器涉及异步装置作出的异步操作时,用于这种计算系统的装 置驱动器只传输分隔驱动线程的文件服务请求。
虽然已参照特定的实施例对本发明进4亍了描述,^旦应理解,在 由所附权利要求限定的本发明的范围内,任何修改都会是有效的。
权利要求
1.一种访问计算装置的存储系统的方法,所述计算装置具有文件服务器,所述文件服务器被配置成,代表在所述装置上运行的应用程序来使用用于处理对存储系统的访问的执行线程,所述方法包括a.将以同步方式响应于来自所述应用程序的访问请求的那些存储系统(同步系统)与以异步方式响应于来自所述应用程序的访问请求的那些存储系统(异步系统)进行区分;以及b.将所述文件服务器装置配置成不向除所述执行线程外的任何执行线程传输对于异步系统的访问请求。
2. 根据权利要求1所述的方法,其中,在所述计算装置上线程间 通信所花费的时间用于将所述同步系统和所述异步系统进行 区分。
3. 根据权利要求1或2所述的方法,还包括对于异步系统,区分 同步操作和异步操作,并且配置成不向除所述执行线程外的任何执行线程传输对于异步系统上同步操作的访问请求。
4. 根据权利要求3所述的方法,其中,在所述计算装置上线程间 通信所花费的时间用于将所述同步操作和所述异步操作进行 区分。
5. 根据上述权利要求中任一项所述的方法,其中,所述文件服务 器被配置成加载一个或多个装置驱动器,所述装置驱动器负责 将系统以及系统上的才喿作分类成同步的和异步的。
6. 根据权利要求5所述的方法,其中,将所述装置驱动器配置成 传输对于异步系统上的异步操作的调用以分隔才丸行线程。
7. —种计算装置,所述计算装置被配置成根据权利要求1至6 中任一项所述的方法进行才喿作。
8. —种操作系统,使计算装置根据权利要求1至6中任一项所述 的方法进行操作。
全文摘要
一种计算系统,以下述方式操作该计算系统的文件服务器被配置成不阻隔客户端应用程序且将对请求进行快速响应的同步装置和不会对请求进行快速响应的异步装置进行区分。对于异步装置,该系统还会将快速完成的同步操作和需耗时完成的异步操作进行区分。当装置驱动器涉及对异步装置作出的异步操作时,用于这种计算系统的装置驱动器只传输分隔驱动线程的文件服务请求。
文档编号G06F9/46GK101300547SQ200680029341
公开日2008年11月5日 申请日期2006年8月8日 优先权日2005年8月10日
发明者彼得·斯科比 申请人:西姆毕恩软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1