CN102323888B - 一种无盘计算机启动加速方法 - Google Patents

一种无盘计算机启动加速方法 Download PDF

Info

Publication number
CN102323888B
CN102323888B CN201110230248.3A CN201110230248A CN102323888B CN 102323888 B CN102323888 B CN 102323888B CN 201110230248 A CN201110230248 A CN 201110230248A CN 102323888 B CN102323888 B CN 102323888B
Authority
CN
China
Prior art keywords
diskless computer
starting
response packet
server
diskless
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.)
Active
Application number
CN201110230248.3A
Other languages
English (en)
Other versions
CN102323888A (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.)
HANGZHOU ICAFE TECHNOLOGY Co Ltd
Original Assignee
HANGZHOU ICAFE TECHNOLOGY Co Ltd
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 HANGZHOU ICAFE TECHNOLOGY Co Ltd filed Critical HANGZHOU ICAFE TECHNOLOGY Co Ltd
Priority to CN201110230248.3A priority Critical patent/CN102323888B/zh
Publication of CN102323888A publication Critical patent/CN102323888A/zh
Application granted granted Critical
Publication of CN102323888B publication Critical patent/CN102323888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种无盘计算机启动加速方法,包括:(1)无盘计算机向服务器发送启动请求数据包;(2)服务器缓存、预读启动响应数据包并发送给无盘计算机;(3)无盘计算机缓存启动响应数据包并执行响应启动。本发明的无盘计算机启动加速方法,通过服务器接收请求阶段的缓存和预读技术,以及无盘计算机接收响应阶段的缓存技术,大大加快了无盘计算机的启动速度,能很好的解决无盘计算机启动阶段速度缓慢的问题,改善了用户的操作体验,可广泛应用于如网吧、学校等局域网环境。

Description

一种无盘计算机启动加速方法
技术领域
本发明属于计算机技术领域,具体涉及一种无盘计算机启动加速方法。
背景技术
随着网络技术的发展,软件功能变得越来越强大,其种类也日益丰富,这也带来了各种软件之间的竞争;作为一种竞争手段,当前越来越多的软件启用了随系统开机自动运行的功能,其中较典型的方式就是软件启动后最小化到系统任务栏。通过这种方式,一方面简化了用户操作,但另一方面也给用户带来了不利的影响,导致计算机启动速度变慢,当各种软件很多的时候,就更为明显。网吧作为一种较特殊的计算机服务场所,由于各种政策的要求,会预装很多的管理软件,如监控、文化、安全、计费等软件,同时为了简化用户操作,一般也会预装很多常用软件,并且设置为随计算机开机自动运行,所以常出现计算机启动速度缓慢的问题,对用户体验的负面影响就更为明显。
目前,随着局域网络速度极大提升,基于无盘(Diskless)技术的计算机系统也变得更为可行;无盘计算机系统,除能明显节省硬盘费用等优势外,由于采用集中管理,能够降低系统的维护成本,故已被广泛应用于如网吧、学校等局域网环境。
图1为传统无盘计算机系统的结构原理示意图,但传统无盘计算机系统的性能较大的依赖于网络传输的能力,而在计算机启动过程中,此时操作系统网络驱动及缓存等功能模块,有些还未初始化完成,会影响无盘计算机系统的网络传输性能;再加上无盘计算机开机启动时有多种软件伴随着同时启动,特别是在多台无盘计算机同时处于启动过程,更会进一步影响无盘计算机的启动速度,给用户的体验带来负面影响。
发明内容
本发明提供了一种无盘计算机启动加速方法,加快了无盘计算机的启动速度,改善了用户的操作体验。
一种无盘计算机启动加速方法,包括如下步骤:
(1)任一无盘计算机向服务器发送启动请求数据包;所述的服务器与多台无盘计算机相连;
(2)服务器接收启动请求数据包;
若所述的无盘计算机为最先向服务器发送启动请求数据包的无盘计算机,服务器根据启动请求数据包从服务器硬盘中读取对应的启动响应数据包,并将对应的启动响应数据包存储于SBUF(服务器缓冲内存)中,同时将对应的启动响应数据包发送给无盘计算机;
若所述的无盘计算机为非最先向服务器发送启动请求数据包的无盘计算机,服务器先判断启动请求数据包是否为无盘计算机发送的第一个启动请求数据包:
若是,服务器从SBUF中读取排列前N的启动响应数据包,并将这N个启动响应数据包发送给无盘计算机,N为大于1的自然数;
若否,服务器根据启动请求数据包从SBUF中查找是否存有对应的启动响应数据包:若存有,服务器直接从SBUF中读取对应的启动响应数据包并发送给无盘计算机;若不存有,服务器根据启动请求数据包从服务器硬盘中读取对应的启动响应数据包并发送给无盘计算机,此时若SBUF的存储空间未满,服务器同时将该对应的启动响应数据包存储于SBUF中;
(3)无盘计算机接收启动响应数据包;
若所述的无盘计算机为最先向服务器发送启动请求数据包的无盘计算机,无盘计算机将启动响应数据包存储于CBUF(计算机缓冲内存)中,并根据该启动响应数据包执行启动;若CBUF的存储空间已满,无盘计算机直接根据启动响应数据包执行启动;
若所述的无盘计算机为非最先向服务器发送启动请求数据包的无盘计算机,无盘计算机将最先接收到的N个启动响应数据包存储于CBUF中,并根据第一个启动请求数据包对应的启动响应数据包执行启动;对于随后接收到的启动响应数据包,无盘计算机判断CBUF的存储空间:若CBUF的存储空间未满,无盘计算机将启动响应数据包存储于CBUF中,并根据该启动响应数据包执行启动;若CBUF的存储空间已满,无盘计算机直接根据启动响应数据包执行启动;
(4)根据步骤(1)至(3),无盘计算机依次发送所有的启动请求数据包,并接收所有对应的启动响应数据包以执行启动;
其中,若所述的无盘计算机为非最先向服务器发送启动请求数据包的无盘计算机,在无盘计算机向服务器发送下一个启动请求数据包之前,无盘计算机先根据下一个启动请求数据包从CBUF中查找是否存有对应的启动响应数据包:若存有,无盘计算机直接从CBUF中读取对应的启动响应数据包并执行启动;若不存有,执行步骤(1)至(3)。
所述的SBUF中存有按存储时间顺序排列的若干个启动响应数据包,且每台无盘计算机向服务器发送的第一个启动请求数据包对应的启动响应数据包均为SBUF中排列最前的启动响应数据包。
所述的步骤(2)中,N个启动响应数据包的大小总和小于等于CBUF存储容量的大小。
优选的技术方案中,当启动阶段完成后,所述的无盘计算机保留CBUF中的启动响应数据包;以供无盘计算机后续运行的相关读取。
本发明的无盘计算机启动加速方法,通过缓存技术以及预读技术,加快了无盘计算机的启动速度,能很好的解决无盘计算机启动阶段速度缓慢的问题,改善了用户的操作体验,可广泛应用于如网吧、学校等局域网环境。
附图说明
图1为传统无盘计算机系统的原理示意图。
图2为本发明方法实施时服务器接收请求数据的原理示意图。
图3为本发明方法实施时无盘计算机接收响应数据的原理示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的无盘计算机启动加速方法进行详细说明。
本发明方法中,服务器端的功能可以用常规的支持TCP/IP网络传输的服务端程序实现,无盘计算机端的功能可以通过用支持TCP/IP网络传输的虚拟设备驱动程序实现,将本发明应用于Windows XP系统下的无盘计算机,其启动加速方法,包括如下步骤:
(1)无盘计算机向服务器发送启动请求数据包。
任一无盘计算机向服务器发送启动请求数据包;服务器与多台无盘计算机相连并构成局域网。
(2)服务器缓存、预读启动响应数据包并发送给无盘计算机。
服务器接收启动请求数据包;
若无盘计算机为最先向服务器发送启动请求数据包的无盘计算机,服务器根据启动请求数据包从服务器硬盘中读取对应的启动响应数据包,并将对应的启动响应数据包存储于SBUF中,同时将对应的启动响应数据包发送给无盘计算机;
无盘计算机A为局域网内最先启动的无盘计算机,其需要读取服务器硬盘中扇区1、扇区2、扇区3、扇区4、扇区5、扇区6的数据内容(即启动所需的所有启动响应数据包),服务器先申请一部分内存作为SBUF(128MB),后根据无盘计算机A陆续发送的各个请求包,依次读取硬盘中扇区1、扇区2、扇区3、扇区4、扇区5、扇区6的数据内容并发送给无盘计算机A,同时将扇区1、扇区2、扇区3、扇区4、扇区5、扇区6的数据内容存储到SBUF中。
若无盘计算机为非最先向服务器发送启动请求数据包的无盘计算机,服务器先判断启动请求数据包是否为无盘计算机发送的第一个启动请求数据包:
若是,服务器从SBUF中读取排列前N的启动响应数据包,并将这N个启动响应数据包发送给无盘计算机,N为大于1的自然数;
无盘计算机B为局域网内第二个启动的无盘计算机,其需要读取服务器硬盘中扇区1、扇区2、扇区3、扇区4、扇区5、扇区7的数据内容,服务器接收到无盘计算机B发送的请求包1后,读取SBUF中的扇区1、扇区2、扇区3、扇区4、扇区5、扇区6的数据内容并发送给无盘计算机B。
若否,服务器根据启动请求数据包从SBUF中查找是否存有对应的启动响应数据包:若存有,服务器直接从SBUF中读取对应的启动响应数据包并发送给无盘计算机;若不存有,服务器根据启动请求数据包从服务器硬盘中读取对应的启动响应数据包并发送给无盘计算机,此时若SBUF的存储空间未满,服务器同时将该对应的启动响应数据包存储于SBUF中;
由于无盘计算机B还需要读取服务器硬盘中扇区7的数据内容,故服务器会接收到无盘计算机B发送的请求包7,服务器根据请求包7先从SBUF中查找是否存有对应的数据内容,由于SBUF中并不存有请求包7对应的扇区7的数据内容,因此服务器会根据请求包7从服务器硬盘中读取扇区7的数据内容并发送给无盘计算机B,同时将扇区7的数据内容存储于SBUF中。
如图2所示,服务器首先申请一部分内存作为缓存SBUF,再监听预先指定好的TCP端口的链接,在接收第一台无盘计算机的自定义格式(如第一字节0表示读,第二个字节表示扇区数,第三及第四字节表示扇区地址)的读请求包时,解析该读请求包,并从系统镜像数据中读取对应扇区地址的数据,发送给无盘计算机完成响应,同时将这些数据内容存入到SBUF中;而在处理后续其他无盘计算机启动过程中的请求时,如果发现请求的扇区数据内容在SBUF中,则直接从SBUF中取出对应的响应数据,无需再从系统镜像数据中读取。
(3)无盘计算机缓存启动响应数据包并执行响应启动。
无盘计算机接收启动响应数据包;
若无盘计算机为最先向服务器发送启动请求数据包的无盘计算机,无盘计算机将启动响应数据包存储于CBUF中,并根据该启动响应数据包执行启动;若CBUF的存储空间已满,无盘计算机直接根据启动响应数据包执行启动;
无盘计算机A在启动过程中先申请一部分内存做为CBUF(128MB),然后将接收到的扇区1、扇区2、扇区3、扇区4、扇区5、扇区6的数据内容陆续存储于CBUF内并根据这些数据内容执行启动。
若无盘计算机为非最先向服务器发送启动请求数据包的无盘计算机,无盘计算机将最先接收到的N个启动响应数据包存储于CBUF中,并根据第一个启动请求数据包对应的启动响应数据包执行启动;对于随后接收到的启动响应数据包,无盘计算机判断CBUF的存储空间:若CBUF的存储空间未满,无盘计算机将启动响应数据包存储于CBUF中,并根据该启动响应数据包执行启动;若CBUF的存储空间已满,无盘计算机直接根据启动响应数据包执行启动;
其中,当无盘计算机向服务器发送下一个启动请求数据包之前,无盘计算机先根据下一个启动请求数据包从CBUF中查找是否存有对应的启动响应数据包:若存有,无盘计算机直接从CBUF中读取对应的启动响应数据包并执行启动;若不存有,无盘计算机向服务器发送下一个启动请求数据包。
无盘计算机B在启动过程中先申请一部分内存做为CBUF(128MB),然后将先接收到的扇区1、扇区2、扇区3、扇区4、扇区5、扇区6的数据内容陆续存储于CBUF内并根据扇区1的数据内容执行启动;随后准备陆续发送请求包2、请求包3、请求包4、请求包5、请求包7,其中,在无盘计算机B向服务器发送请求包2、请求包3、请求包4、请求包5、请求包7之前,无盘计算机B先根据请求包从CBUF中查找是否存有对应的启动响应数据包,其中,CBUF中存有请求包2、请求包3、请求包4、请求包5对应的扇区2、扇区3、扇区4、扇区5的数据内容,无盘计算机B不发送请求包2、请求包3、请求包4、请求包5,直接从CBUF中读取扇区2、扇区3、扇区4、扇区5的的数据内容并执行响应启动;由于CBUF中不存有请求包7对应的扇区7的数据内容,则无盘计算机B向服务器发送请求包7,继而无盘计算机B将接收到的扇区7的数据内容存储于CBUF中并执行启动。
无盘计算机的虚拟设备驱动程序,对于Windows系统可以采用C语言参考微软提供的DDK(驱动程序开发包)中SCSI(Small Computer System Interface,小型计算机系统专用接口)规范编写。如图3所示,无盘计算机在与服务器建立TCP的链接后,协商确认支持高级预读功能,则同样申请一部分内存作为CBUF,接收服务器发送过来的预读数据并缓存到CBUF中;若本机请求数据对应的响应数据在CBUF中,则直接从CBUF中取出响应数据,完成启动响应,无需再向服务器发送网络请求,若本机请求数据对应的响应数据不在CBUF中,无盘计算机则将请求数据封装为与服务器定义好的包格式(如第一字节0表示读;第二个字节表示扇区数,第三及第四字节表示扇区地址),发送至服务器,等待服务器数据响应,以此类推完成后续启动响应。
通过若干次简单的开机启动比较,可发现,传统常规的无盘计算机开机平均需要花费31秒的时间,而采用本实施方式的无盘计算机平均只需要花费19秒的时间就能完成开机启动,故本实施方式显著加快了无盘计算机的启动速度,满足了用户的操作体验。

Claims (2)

1.一种无盘计算机启动加速方法,包括如下步骤:
(1)任一无盘计算机向服务器发送启动请求数据包;所述的服务器与多台无盘计算机相连;
(2)服务器接收启动请求数据包;
若所述的无盘计算机为最先向服务器发送启动请求数据包的无盘计算机,服务器根据启动请求数据包从服务器硬盘中读取对应的启动响应数据包,并将对应的启动响应数据包存储于SBUF中,同时将对应的启动响应数据包发送给所述无盘计算机;
若所述的无盘计算机为非最先向服务器发送启动请求数据包的无盘计算机,服务器先判断启动请求数据包是否为所述无盘计算机发送的第一个启动请求数据包:
若是,服务器从SBUF中读取排列前N的启动响应数据包,并将这N个启动响应数据包发送给所述无盘计算机,N为大于1的自然数;
若否,服务器根据启动请求数据包从SBUF中查找是否存有对应的启动响应数据包:若存有,服务器直接从SBUF中读取对应的启动响应数据包并发送给所述无盘计算机;若不存有,服务器根据启动请求数据包从服务器硬盘中读取对应的启动响应数据包并发送给所述无盘计算机,此时若SBUF的存储空间未满,服务器同时将该对应的启动响应数据包存储于SBUF中;
(3)无盘计算机接收启动响应数据包;
若所述的无盘计算机为最先向服务器发送启动请求数据包的无盘计算机,所述无盘计算机将启动响应数据包存储于CBUF中,并根据该启动响应数据包执行启动;若CBUF的存储空间已满,所述无盘计算机直接根据启动响应数据包执行启动;
若所述的无盘计算机为非最先向服务器发送启动请求数据包的无盘计算机,所述无盘计算机将最先接收到的N个启动响应数据包存储于CBUF中,并根据第一个启动请求数据包对应的启动响应数据包执行启动;对于随后接收到的启动响应数据包,所述无盘计算机判断CBUF的存储空间:若CBUF的存储空间未满,所述无盘计算机将启动响应数据包存储于CBUF中,并根据该启动响应数据包执行启动;若CBUF的存储空间已满,所述无盘计算机直接根据启动响应数据包执行启动;所述的N个启动响应数据包的大小总和等于CBUF存储容量的大小;
(4)根据步骤(1)至(3),无盘计算机依次发送所有的启动请求数据包,并接收所有对应的启动响应数据包以执行启动;
其中,若所述的无盘计算机为非最先向服务器发送启动请求数据包的无盘计算机,在所述无盘计算机向服务器发送下一个启动请求数据包之前,所述无盘计算机先根据下一个启动请求数据包从CBUF中查找是否存有对应的启动响应数据包:若存有,所述无盘计算机直接从CBUF中读取对应的启动响应数据包并执行启动;若不存有,执行步骤(1)至(3);
当启动阶段完成后,所述的无盘计算机保留CBUF中的启动响应数据包。
2.根据权利要求1所述的无盘计算机启动加速方法,其特征在于:所述的SBUF中存有按存储时间顺序排列的若干个启动响应数据包,且每台无盘计算机向服务器发送的第一个启动请求数据包对应的启动响应数据包均为SBUF中排列最前的启动响应数据包。
CN201110230248.3A 2011-08-11 2011-08-11 一种无盘计算机启动加速方法 Active CN102323888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110230248.3A CN102323888B (zh) 2011-08-11 2011-08-11 一种无盘计算机启动加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110230248.3A CN102323888B (zh) 2011-08-11 2011-08-11 一种无盘计算机启动加速方法

Publications (2)

Publication Number Publication Date
CN102323888A CN102323888A (zh) 2012-01-18
CN102323888B true CN102323888B (zh) 2014-06-04

Family

ID=45451633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110230248.3A Active CN102323888B (zh) 2011-08-11 2011-08-11 一种无盘计算机启动加速方法

Country Status (1)

Country Link
CN (1) CN102323888B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581297A (zh) * 2013-09-29 2014-02-12 苏州中联互通信息科技有限公司 一种无盘网络系统
CN103677900B (zh) * 2013-11-15 2017-05-31 北京奇虎科技有限公司 一种计算机设备系统启动加速的方法和装置
CN103810009B (zh) * 2014-02-20 2017-06-16 北京奇虎科技有限公司 一种计算机操作系统启动加速的方法和装置
CN104102695B (zh) * 2014-06-26 2017-11-10 晨星半导体股份有限公司 智能设备启动过程的数据处理方法及智能设备
CN104298474A (zh) * 2014-10-13 2015-01-21 张维加 一种基于服务端与外部缓存系统的外接式计算设备加速方法与实现该方法的设备
CN105045629B (zh) * 2015-07-29 2019-04-05 杭州顺网科技股份有限公司 一种无盘工作站设备启动方法及系统
CN105376074B (zh) * 2015-12-14 2016-09-07 周海斌 一种局域网内客户端计算机的启动、计时控制方法及系统
CN110795157B (zh) * 2019-10-25 2023-05-12 杭州顺网科技股份有限公司 一种使用有限缓存提升无盘工作站开机速度的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1625734A (zh) * 2002-04-18 2005-06-08 温特卡姆公司 将数据流式传输至一网络中的计算机的系统和方法
CN1852328A (zh) * 2005-08-02 2006-10-25 华为技术有限公司 一种无盘工作站启动系统和方法
CN101814038A (zh) * 2010-03-23 2010-08-25 杭州顺网科技股份有限公司 一种加快计算机启动速度的方法
CN101925876A (zh) * 2008-01-28 2010-12-22 惠普开发有限公司 启动镜像文件在无盘服务器中的部署

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4814539B2 (ja) * 2005-03-10 2011-11-16 株式会社日立製作所 ネットブート方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1625734A (zh) * 2002-04-18 2005-06-08 温特卡姆公司 将数据流式传输至一网络中的计算机的系统和方法
CN1852328A (zh) * 2005-08-02 2006-10-25 华为技术有限公司 一种无盘工作站启动系统和方法
CN101925876A (zh) * 2008-01-28 2010-12-22 惠普开发有限公司 启动镜像文件在无盘服务器中的部署
CN101814038A (zh) * 2010-03-23 2010-08-25 杭州顺网科技股份有限公司 一种加快计算机启动速度的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2006-252168A 2006.09.21

Also Published As

Publication number Publication date
CN102323888A (zh) 2012-01-18

Similar Documents

Publication Publication Date Title
CN102323888B (zh) 一种无盘计算机启动加速方法
KR101993915B1 (ko) 원격으로 액세스되는 데이터의 효율적인 라이브-이송
US10142425B2 (en) Session reliability for a redirected USB device
JP2019091494A (ja) エミュレートされたエンドポイントコンフィグレーション
US10331613B2 (en) Methods for enabling direct memory access (DMA) capable devices for remote DMA (RDMA) usage and devices therof
US20140245303A1 (en) Rdma (remote direct memory access) data transfer in a virtual environment
CN111459418B (zh) 一种基于rdma的键值存储系统传输方法
US20140013001A1 (en) Parallel probing for efficient proxy selection in networked environments
US20080126578A1 (en) Method, system, and program for managing data read operations
WO2018054170A1 (zh) 浏览器资源预拉取方法、终端及存储介质
WO2013049990A1 (en) Live logical partition migration with stateful offload connections using context extraction and insertion
WO2013049991A1 (en) Network adapter hardware state migration discovery in a stateful environment
US8671414B1 (en) Accelerating data intensive computing applications by reducing overhead associated with communication protocols
US20160028819A1 (en) Data path selection for network transfer using high speed rdma or non-rdma data paths
US7788437B2 (en) Computer system with network interface retransmit
US7404040B2 (en) Packet data placement in a processor cache
US10931601B2 (en) Method and apparatus for conditional broadcasting of network configuration data
WO2014101870A1 (en) Virtual Desktop Infrastructure (VDI) Login Acceleration
US7761587B2 (en) Apparatus and method for transmitting packet IP offload
US20120166585A1 (en) Apparatus and method for accelerating virtual desktop
US20170155741A1 (en) Server, method, and system for providing service data
CN111787036A (zh) 一种前端私有云部署的解决方法、装置、存储介质及设备
US20110258424A1 (en) Distributive Cache Accessing Device and Method for Accelerating to Boot Remote Diskless Computers
KR100936918B1 (ko) 정적 파일 전송 시스템콜 처리 toe 장치 및 방법
WO2014206229A1 (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