欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法與裝置的制作方法

文檔序號(hào):6384666閱讀:304來源:國知局
專利名稱:計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法與裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法與裝置。
背景技術(shù)
開機(jī)啟動(dòng)項(xiàng)也即系統(tǒng)啟動(dòng)項(xiàng),就是開機(jī)的時(shí)候系統(tǒng)會(huì)在前臺(tái)或者后臺(tái)運(yùn)行的程序。目前的系統(tǒng)啟動(dòng)服務(wù)包括SERVICE_FILE_SYSTEM_DRIVER、SERVICE_KERNEL_DRIVER、SERVICE_WIN32_0WN_PR0CESS 和 SERVICE_WIN32_SHARE_PR0CESS 四種,通過注冊(cè)表項(xiàng) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\XXXX 下的 Type 值標(biāo)識(shí)可以識(shí)別服務(wù)的服務(wù)類型,其中,表項(xiàng)中的XXXX表示服務(wù)名稱。上述系統(tǒng)啟動(dòng)服務(wù)中,SERVICE_FILE_SYSTEM_DRIVER服務(wù)為文件系統(tǒng)驅(qū)動(dòng)服務(wù),負(fù)責(zé)系統(tǒng)所有的文件IO操作;SERVICE_KERNEL_DRIVER服務(wù)為設(shè)備驅(qū)動(dòng)服務(wù),負(fù)責(zé)控制系統(tǒng)所有設(shè)備;SERVICE_WIN32_0WN_PR0CESS服務(wù)為普通軟件服務(wù),常駐系統(tǒng)實(shí)現(xiàn)用戶功能,在一個(gè)進(jìn)程實(shí)例中,只能運(yùn)行一個(gè)服務(wù);SERVICE_WIN32_SHARE_PR0CESS服務(wù)為普通軟件服務(wù),常駐系統(tǒng)實(shí)現(xiàn)用戶功能,在一個(gè)進(jìn)程實(shí)例中,可以運(yùn)行多個(gè)服務(wù)。目前,當(dāng)系統(tǒng)開機(jī)啟動(dòng)這些服務(wù)時(shí),是串行的,例如在開機(jī)上電后,計(jì)算機(jī)會(huì)先檢測(cè)并初始化硬件設(shè)備成功后啟動(dòng)加載操作系統(tǒng),一個(gè)一個(gè)應(yīng)用程序依次啟動(dòng)。也即,功能愈多,即意味著計(jì)算機(jī)內(nèi)的操作系統(tǒng)需花費(fèi)更多時(shí)間加載各種軟件及程序。在使用者使用計(jì)算機(jī)之前,即已花費(fèi)了許多時(shí)間在等待上,特別是開機(jī)所需耗費(fèi)的時(shí)間更長,會(huì)令使用者感到不方便與繁瑣。并且系統(tǒng)開機(jī)啟動(dòng)后,會(huì)根據(jù)一些條件,進(jìn)行等待。只有當(dāng)服務(wù)運(yùn)行到狀態(tài)正常,才啟動(dòng)下一個(gè)服務(wù)。但是,當(dāng)服務(wù)中有漏洞,或者由于系統(tǒng)其他原因?qū)е路?wù)出現(xiàn)異常,則系統(tǒng)啟動(dòng)將會(huì)無限延遲,直至服務(wù)克服漏洞或異常運(yùn)行正常,或者用戶重啟系統(tǒng)。不管哪種情況,都會(huì)拖慢系統(tǒng)啟動(dòng)過程,耗費(fèi)不必要的系統(tǒng)開機(jī)等待時(shí)間,使用戶體驗(yàn)變差。

發(fā)明內(nèi)容
鑒于上述現(xiàn)有的系統(tǒng)啟動(dòng)方法在系統(tǒng)啟動(dòng)服務(wù)中有漏洞,或者由于系統(tǒng)其他原因?qū)е孪到y(tǒng)啟動(dòng)服務(wù)出現(xiàn)異常時(shí),會(huì)拖慢系統(tǒng)啟動(dòng)過程,使用戶體驗(yàn)變差的問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法
與裝置。依據(jù)本發(fā)明的一個(gè)方面,提供了一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法,包括獲取計(jì)算機(jī)系統(tǒng)的系統(tǒng)故障日志;從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息,日志信息包括系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源、和系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí);判斷系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源是否為系統(tǒng)服務(wù)管理器,以及判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí);若是,則獲取系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài);若系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止,則將系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型修改為已禁用。
可選地,判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí)的步驟包括判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為以下標(biāo)識(shí)中的至少一種等待服務(wù)的連接超時(shí)的標(biāo)識(shí)、等待來自服務(wù)的事務(wù)處理響應(yīng)超時(shí)的標(biāo)識(shí)、服務(wù)在啟動(dòng)時(shí)暫停的標(biāo)識(shí)??蛇x地,獲取所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài)的步驟包括當(dāng)獲取系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),向系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息,請(qǐng)求查詢判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;接收系統(tǒng)服務(wù)管理器對(duì)第一查詢消息的返回消息,根據(jù)返回消息獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;當(dāng)獲取系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),向系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息,請(qǐng)求查詢判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài);接收系統(tǒng)服務(wù)管理器對(duì)第二查詢消息的返回消息,根據(jù)返回消息獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)。可選地,當(dāng)獲取系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),通過QueryServiceConfig接口向系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息;以及,通過QueryServiceConfig接口接收系統(tǒng)服務(wù)管理器對(duì)第一查詢消息的返回消息;當(dāng)獲取系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),通過QueryServiceStatus接口向系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息;以及,通過QueryServiceStatus接口接收系統(tǒng)服務(wù)管理器對(duì)第二查詢消息的返回消息??蛇x地,從所述系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息的步驟包括以日志生成時(shí)間為倒序的順序,從系統(tǒng)故障日志中獲取設(shè)定時(shí)間范圍內(nèi)的、系統(tǒng)啟動(dòng)服務(wù)的日
息根據(jù)本發(fā)明的另一方面,提供了一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理裝置,包括第一獲取模塊,用于獲取計(jì)算機(jī)系統(tǒng)的系統(tǒng)故障日志;從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息,日志信息包括系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源、和系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí);判斷模塊,用于判斷系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源是否為系統(tǒng)服務(wù)管理器,以及判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí);第二獲取模塊,用于若判斷模塊的判斷結(jié)果為是,則獲取系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài);修改模塊,用于若系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止,則將系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型修改為已禁用。可選地,判斷模塊在判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí)時(shí),判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為以下標(biāo)識(shí)中的至少一種等待服務(wù)的連接超時(shí)的標(biāo)識(shí)、等待來自服務(wù)的事務(wù)處理響應(yīng)超時(shí)的標(biāo)識(shí)、服務(wù)在啟動(dòng)時(shí)暫停的標(biāo)識(shí)。可選地,第二獲取模塊在獲取系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),向系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息,請(qǐng)求查詢判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;接收系統(tǒng)服務(wù)管理器對(duì)第一查詢消息的返回消息,根據(jù)返回消息獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;在獲取系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),向系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息,請(qǐng)求查詢判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài);接收系統(tǒng)服務(wù)管理器對(duì)第二查詢消息的返回消息,根據(jù)返回消息獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)。可選地,當(dāng)?shù)诙@取模塊獲取系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),通過QueryServiceConfig接口向系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息;以及,通過QueryServiceConfig接口接收系統(tǒng)服務(wù)管理器對(duì)第一查詢消息的返回消息;當(dāng)?shù)诙@取模塊獲取系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),通過QueryServiceStatus接口向系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息;以及,通過QueryServiceStatus接口接收系統(tǒng)服務(wù)管理器對(duì)第二查詢消息的返回消息??蛇x地,第一獲取模塊在從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息時(shí),以日志生成時(shí)間為倒序的順序,從系統(tǒng)故障日志中獲取設(shè)定時(shí)間范圍內(nèi)的、系統(tǒng)啟動(dòng)服務(wù)的日志信息。本發(fā)明針對(duì)現(xiàn)有的系統(tǒng)啟動(dòng)方法在系統(tǒng)啟動(dòng)服務(wù)中有漏洞,或者由于系統(tǒng)其他原因?qū)е孪到y(tǒng)啟動(dòng)服務(wù)出現(xiàn)異常時(shí),會(huì)拖慢系統(tǒng)啟動(dòng)過程,使用戶體驗(yàn)變差的問題,在系統(tǒng)啟動(dòng)超過一定時(shí)間(即設(shè)定閾值)時(shí),從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的信息,進(jìn)而根據(jù)獲取的信息判斷出現(xiàn)漏洞或異常的系統(tǒng)啟動(dòng)服務(wù),進(jìn)而將該系統(tǒng)啟動(dòng)服務(wù)修改為禁用,在系統(tǒng)再次啟動(dòng)時(shí)使用修改后的系統(tǒng)啟動(dòng)服務(wù)啟動(dòng)系統(tǒng)。當(dāng)禁用出現(xiàn)漏洞或異常的系統(tǒng)啟動(dòng)服務(wù)時(shí),系統(tǒng)啟動(dòng)時(shí)將跳過這些服務(wù),從而避免了系統(tǒng)啟動(dòng)過程慢,用戶使用體驗(yàn)差的問題,達(dá)到了提高系統(tǒng)啟動(dòng)過程,提升用戶使用體驗(yàn)的效果。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式



通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖1是根據(jù)本發(fā)明實(shí)施例一的一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法的步驟流程圖;圖2是根據(jù)本發(fā)明實(shí)施例二的一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法的步驟流程圖;圖3是根據(jù)本發(fā)明實(shí)施例三的一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法的步驟流程圖;圖4是根據(jù)本發(fā)明實(shí)施例四的一種計(jì)算機(jī)系統(tǒng)開機(jī)啟動(dòng)加速方法的步驟流程圖;圖5是根據(jù)本發(fā)明實(shí)施例五的一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理裝置的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明實(shí)施例六的一種計(jì)算機(jī)系統(tǒng)開機(jī)啟動(dòng)加速裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。系統(tǒng)啟動(dòng)過程是不斷加載開機(jī)啟動(dòng)項(xiàng)目的過程,這些開機(jī)啟動(dòng)項(xiàng)目不僅包括加載系統(tǒng)文件、啟動(dòng)核心服務(wù),顯示歡迎界面、等待用戶輸入賬號(hào)密碼、根據(jù)個(gè)人配置加載非關(guān)鍵服務(wù)等一些后臺(tái)開機(jī)啟動(dòng)項(xiàng)目,還包括輸入法、殺毒軟件等一些前臺(tái)開機(jī)啟動(dòng)項(xiàng)目。實(shí)施例一參照?qǐng)D1,示出了根據(jù)本發(fā)明實(shí)施例一的一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法的步驟流程圖。本實(shí)施例的計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法包括以下步驟
步驟S102 :獲取計(jì)算機(jī)系統(tǒng)的系統(tǒng)故障日志。系統(tǒng)故障日志中通常記錄有系統(tǒng)的故障信息,當(dāng)系統(tǒng)啟動(dòng)出現(xiàn)了異常時(shí),在系統(tǒng)故障日志中應(yīng)當(dāng)記錄有這部分異常的信息。步驟S104 :從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息。其中,系統(tǒng)啟動(dòng)服務(wù)的日志信息包括系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源、和系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)。系統(tǒng)啟動(dòng)服務(wù)包括但不限于SERVICE_FILE_SYSTEM_DRIVER服務(wù)、SERVICE,KERNEL_DRIVER 服務(wù)、SERVICE_WIN32_0WN_PR0CESS 服務(wù)和 SERVICE_WIN32_SHARE_PR0CESS服務(wù)。步驟S106 :判斷系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源是否為系統(tǒng)服務(wù)管理器,以及判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí),如果均為是,則執(zhí)行步驟S108 ;否則,返回步驟S104,讀取下一條日志繼續(xù)分析。步驟S108 :若判斷結(jié)果為是,則獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài)。步驟SllO :判斷系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型是否為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)是否為正在啟動(dòng)或已經(jīng)停止,若均為是,則執(zhí)行步驟S112;否則,返回步驟S104,讀取下一條日志繼續(xù)分析。系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型包括但不限于SERVICE_AUTO_START類型,即被服務(wù)管理器啟動(dòng)的自啟動(dòng)服務(wù);SERVICE_B00T_START類型,即被系統(tǒng)內(nèi)核啟動(dòng)的自啟動(dòng)驅(qū)動(dòng);SERVICE_DEMAND_START類型,即被服務(wù)管理器啟動(dòng)的手動(dòng)啟動(dòng)服務(wù);SERVICE_DISABLED類型,即已禁用服務(wù);SERVICE_SYSTEM_START,即被系統(tǒng)內(nèi)核啟動(dòng)的自啟動(dòng)驅(qū)動(dòng)。當(dāng)系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止時(shí),則進(jìn)行后續(xù)的啟動(dòng)類型修改操作。步驟S112 :將系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型修改為已禁用。修改后的系統(tǒng)啟動(dòng)服務(wù)將在下次系統(tǒng)啟動(dòng)時(shí)生效。通過本實(shí)施例,針對(duì)現(xiàn)有的系統(tǒng)啟動(dòng)方法在系統(tǒng)啟動(dòng)服務(wù)中有漏洞(漏洞),或者由于系統(tǒng)其他原因?qū)е孪到y(tǒng)啟動(dòng)服務(wù)出現(xiàn)異常時(shí),會(huì)拖慢系統(tǒng)啟動(dòng)過程,使用戶體驗(yàn)變差的問題,在系統(tǒng)啟動(dòng)超過一定時(shí)間(即設(shè)定閾值)時(shí),從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的信息,進(jìn)而根據(jù)獲取的信息判斷出現(xiàn)漏洞或異常的系統(tǒng)啟動(dòng)服務(wù),進(jìn)而將該系統(tǒng)啟動(dòng)服務(wù)修改為禁用,在系統(tǒng)再次啟動(dòng)時(shí)使用修改后的系統(tǒng)啟動(dòng)服務(wù)啟動(dòng)系統(tǒng)。當(dāng)禁用出現(xiàn)漏洞或異常的系統(tǒng)啟動(dòng)服務(wù)時(shí),系統(tǒng)啟動(dòng)時(shí)將跳過這些服務(wù),從而避免了系統(tǒng)啟動(dòng)過程慢,用戶使用體驗(yàn)差的問題,達(dá)到了提高系統(tǒng)啟動(dòng)過程的速度,提升用戶使用體驗(yàn)的效果。實(shí)施例二參照?qǐng)D2,示出了根據(jù)本發(fā)明實(shí)施例二的一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法的步驟流程圖。本實(shí)施例的計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法包括以下步驟步驟S202 :當(dāng)系統(tǒng)啟動(dòng)時(shí)間超過設(shè)定閾值時(shí),獲取計(jì)算機(jī)系統(tǒng)的系統(tǒng)故障日志。其中,設(shè)定閾值可以根據(jù)對(duì)系統(tǒng)啟動(dòng)時(shí)間的統(tǒng)計(jì)分析結(jié)果適當(dāng)設(shè)定,或者根據(jù)經(jīng)驗(yàn)設(shè)定,或者采用其它設(shè)定方式,本發(fā)明對(duì)此不作限制。例如,系統(tǒng)服務(wù)管理程序啟動(dòng)服務(wù)時(shí),會(huì)檢測(cè)正在啟動(dòng)的服務(wù)狀態(tài),檢測(cè)該服務(wù)是否超過預(yù)設(shè)時(shí)間沒有正常響應(yīng),其中,該預(yù)設(shè)時(shí)間為80秒,因此可以將80秒作為本實(shí)施例中的設(shè)定閾值;再例如,系統(tǒng)服務(wù)管理程序啟動(dòng)服務(wù)時(shí),會(huì)檢測(cè)服務(wù)所在進(jìn)程運(yùn)行的時(shí)間是否超過了 30秒,因此,也可以將30秒作為本實(shí)施例中的設(shè)定閾值。當(dāng)然,不限于此,如上所述,任意適當(dāng)?shù)脑O(shè)定方式均可適用。步驟S204 :從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息。其中,系統(tǒng)啟動(dòng)服務(wù)的日志信息包括系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源、和系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)。系統(tǒng)故障日志中的每條日志都有生成時(shí)間,因此,優(yōu)選地,可以以日志生成時(shí)間為倒序的順序,從系統(tǒng)故障日志中獲取設(shè)定時(shí)間范圍內(nèi)的、系統(tǒng)啟動(dòng)服務(wù)的日志信息。其中,設(shè)定時(shí)間范圍可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況適當(dāng)設(shè)置,如為當(dāng)天的日志信息,或者為設(shè)定的幾個(gè)小時(shí)內(nèi)的日志信息,當(dāng)然也可以為其它情況,為設(shè)定日期內(nèi)的等等。以倒序順序讀取日志信息可以優(yōu)先處理最新生成的日志信息,提高處理速度和效率。步驟S206 :判斷系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源是否為系統(tǒng)服務(wù)管理器,以及判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為等待服務(wù)的連接超時(shí)的標(biāo)識(shí)、等待來自服務(wù)的事務(wù)處理響應(yīng)超時(shí)的標(biāo)識(shí)、服務(wù)在啟動(dòng)時(shí)暫停的標(biāo)識(shí)中的至少一種。需要說明的是,在實(shí)際應(yīng)用中,設(shè)定標(biāo)識(shí)不限于上述等待服務(wù)的連接超時(shí)的標(biāo)識(shí)、等待來自服務(wù)的事務(wù)處理響應(yīng)超時(shí)的標(biāo)識(shí)、服務(wù)在啟動(dòng)時(shí)暫停的標(biāo)識(shí),本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際情況適當(dāng)選擇服務(wù)標(biāo)識(shí),以能夠判斷系統(tǒng)啟動(dòng)服務(wù)是否超時(shí)或停止為原則。步驟S208 :若判斷結(jié)果為是,則獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài)。其中,系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型可以通過向系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息,請(qǐng)求查詢判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;接收系統(tǒng)服務(wù)管理器對(duì)第一查詢消息的返回消息,根據(jù)返回消息獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)可以通過向系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息,請(qǐng)求查詢判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài);接收系統(tǒng)服務(wù)管理器對(duì)第二查詢消息的返回消息,根據(jù)返回消息獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)。其中,啟動(dòng)類型和當(dāng)前狀態(tài)的獲取可以不分先后順序。優(yōu)選地,當(dāng)獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),通過QueryServiceConfig接口向系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息;以及,通過QueryServiceConfig接口接收系統(tǒng)服務(wù)管理器對(duì)第一查詢消息的返回消息;當(dāng)獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),通過QueryServiceStatus接口向系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息;以及,通過QueryServiceStatus接口接收系統(tǒng)服務(wù)管理器對(duì)第二查詢消息的返回消息。QueryServiceConfig接口和QueryServiceStatus接口均為操作系統(tǒng)提供的接口,使用這兩個(gè)接口獲取相應(yīng)的信息,實(shí)現(xiàn)簡單,節(jié)約了實(shí)現(xiàn)成本。步驟S210 :若系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止,則將系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型修改為已禁用。若系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止,則表明該系統(tǒng)啟動(dòng)服務(wù)出現(xiàn)了異常,影響了系統(tǒng)的啟動(dòng)過程,則將其的啟動(dòng)類型修改為已禁用,從而禁止系統(tǒng)再啟動(dòng)該服務(wù)。
步驟S212 :根據(jù)修改后的系統(tǒng)啟動(dòng)服務(wù)重新啟動(dòng)系統(tǒng)。通過本實(shí)施例,避免了系統(tǒng)啟動(dòng)過程慢,用戶使用體驗(yàn)差的問題,達(dá)到了提高系統(tǒng)啟動(dòng)過程,提升用戶使用體驗(yàn)的效果。實(shí)施例三參照?qǐng)D3,示出了根據(jù)本發(fā)明實(shí)施例三的一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法的步驟流程圖。本實(shí)施例中,在系統(tǒng)中設(shè)置掛起服務(wù)檢測(cè)模塊,使用該掛起服務(wù)檢測(cè)模塊執(zhí)行本實(shí)施例的計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法。本實(shí)施例的計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法包括以下步驟步驟S302 :當(dāng)系統(tǒng)啟動(dòng)時(shí)間超過設(shè)定閾值時(shí),掛起服務(wù)檢測(cè)模塊獲取計(jì)算機(jī)系統(tǒng)的eventlog日志。本實(shí)施例中,eventlog日志中記錄有系統(tǒng)故障/異常信息,對(duì)于系統(tǒng)eventlog中的每一條日志,其包含有數(shù)據(jù)來源,ID (標(biāo)識(shí)),數(shù)據(jù)內(nèi)容,以及時(shí)間等字段和信息。步驟S304 :掛起服務(wù)檢測(cè)模塊通過系統(tǒng)接口 ReadEventLog讀取至少一條日志,獲取該條日志的數(shù)據(jù)來源和服務(wù)ID等信息。本實(shí)施例中,每條日志都有生成時(shí)間,讀取日志的時(shí)候,可以先判斷讀取的該條日志的生成時(shí)間是否在設(shè)定時(shí)間范圍內(nèi),本實(shí)施例中,設(shè)定時(shí)間范圍可以以當(dāng)天為例,讀取日志的時(shí)候,采用倒序讀取,即先讀取最新生成的日志,后讀取老日志。如果日志是當(dāng)天生成的,則繼續(xù)判斷服務(wù)來源和ID是否匹配,否則,則認(rèn)為當(dāng)天的日志已經(jīng)處理完成,可以退出當(dāng)前流程。為讀取的日志設(shè)置設(shè)定時(shí)間范圍,是因?yàn)槔系娜罩究赡苁且郧坝袉栴}但已被解決的日志,如果讀取這部分日志將會(huì)影響本發(fā)明方案的最終檢測(cè)判斷結(jié)果。此外,讀取日志時(shí)不限于倒序讀取,本領(lǐng)域技術(shù)人員可以采用其他的自定義的順序進(jìn)行讀取。步驟S306 :掛起服務(wù)檢測(cè)模塊匹配讀取的日志的數(shù)據(jù)來源是否是“ServiceControl Manager ”,即系統(tǒng)服務(wù)管理器SCM,且ID是否是7009、7011、7022中的一項(xiàng)或多項(xiàng),如果匹配成功,則說明讀取的日志是啟動(dòng)服務(wù)的日志,則執(zhí)行步驟S308 ;否則,不做處理,返回步驟S304。其中,各ID的含義如下7009,等待服務(wù)的連接超時(shí);7011,等待來自服務(wù)的事務(wù)處理響應(yīng)超時(shí);7022,服務(wù)在啟動(dòng)時(shí)暫停。通過分析和驗(yàn)證,發(fā)現(xiàn)當(dāng)SCM遇到如上描述的3中ID時(shí),會(huì)導(dǎo)致系統(tǒng)啟動(dòng)變慢,或登錄到系統(tǒng)后較長時(shí)間沒響應(yīng)。步驟S308 :當(dāng)匹配eventlog日志中條件成功時(shí),掛起服務(wù)檢測(cè)模塊通過接口QueryServiceConfig判斷系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型是否是自啟動(dòng)或手動(dòng)啟動(dòng),如果是,則執(zhí)行步驟S310 ;如果否,則不進(jìn)行處理,返回步驟S304。因?yàn)橄到y(tǒng)啟動(dòng)服務(wù)之間會(huì)有相互依賴關(guān)系,如果一個(gè)自啟動(dòng)服務(wù)依賴手動(dòng)啟動(dòng)服務(wù),那么系統(tǒng)會(huì)先把手動(dòng)啟動(dòng)的服務(wù)調(diào)用起來之后,再啟動(dòng)那個(gè)有依賴的自啟動(dòng)服務(wù)。因此,對(duì)于系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng)的服務(wù)都需要進(jìn)行判斷檢測(cè)。步驟S310 :如果系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型是自啟動(dòng)或手動(dòng)啟動(dòng),掛起服務(wù)檢測(cè)模塊再通過接口 QueryServiceStatus查詢系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài),如果當(dāng)前狀態(tài)是正在啟動(dòng)或已經(jīng)停止,則將啟動(dòng)類型修改為已禁用,執(zhí)行步驟S312;如果當(dāng)前狀態(tài)不是正在啟動(dòng)或已經(jīng)停止,則不進(jìn)行處理,返回步驟S304。如果當(dāng)前狀態(tài)是正在啟動(dòng)或已經(jīng)停止,則認(rèn)為此系統(tǒng)啟動(dòng)服務(wù)確實(shí)是影響系統(tǒng)啟動(dòng)速度的服務(wù),把該服務(wù)的啟動(dòng)類型修改為已禁用。修改為已禁用后,該服務(wù)以后不能再次啟動(dòng)。在實(shí)現(xiàn)時(shí),可以通過直接將注冊(cè)表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\XXXX 下的 Start 鍵值修改為 4 實(shí)現(xiàn),即,Start 鍵值為 4 表示已禁用。需要說明的是,在實(shí)際執(zhí)行中,步驟S308和步驟S310的執(zhí)行可以不分先后順序,即啟動(dòng)類型和當(dāng)前狀態(tài)的獲取可以不分先后順序。步驟S312 :掛起服務(wù)檢測(cè)模塊根據(jù)修改后的系統(tǒng)啟動(dòng)服務(wù)重新啟動(dòng)系統(tǒng)。本實(shí)施例通過匹配eventlog日志,查詢服務(wù)的啟動(dòng)類型,查詢服務(wù)的當(dāng)前狀態(tài)實(shí)現(xiàn)了異常系統(tǒng)啟動(dòng)服務(wù)的禁用,加快了系統(tǒng)啟動(dòng)速度,減少了系統(tǒng)啟動(dòng)過程中所耗費(fèi)的時(shí)間,提升了用戶使用體驗(yàn)的效果。其中,本實(shí)施中,匹配eventlog日志必須先執(zhí)行,查詢服務(wù)的啟動(dòng)類型和查詢服務(wù)的當(dāng)前狀態(tài)的執(zhí)行可以不分先后順序,不會(huì)影響檢測(cè)結(jié)果。實(shí)施例四參照?qǐng)D4,示出了根據(jù)本發(fā)明實(shí)施例四的一種計(jì)算機(jī)系統(tǒng)開機(jī)啟動(dòng)加速方法的步驟流程圖。本實(shí)施例的計(jì)算 機(jī)系統(tǒng)開機(jī)啟動(dòng)加速方法包括以下步驟步驟SlO :系統(tǒng)檢 測(cè)到開機(jī)事件后,加載SCM (系統(tǒng)服務(wù)管理器)。步驟S20 :SCM根據(jù)預(yù)先設(shè)置的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型啟動(dòng)系統(tǒng)服務(wù)。其中,預(yù)先設(shè)置的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型可以通過實(shí)施例一至三中任一個(gè)計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法實(shí)施例中對(duì)系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型檢測(cè)和修改實(shí)現(xiàn)預(yù)先設(shè)置。計(jì)算機(jī)系統(tǒng)開機(jī)速度的所需要的時(shí)間涉及到services, exe(即SCM)和explorer,exe (即explorer), services, exe是Windows操作系統(tǒng)的一部分,用于管理啟動(dòng)和停止服務(wù)。該進(jìn)程也會(huì)處理在計(jì)算機(jī)啟動(dòng)和關(guān)機(jī)時(shí)運(yùn)行的服務(wù)。explorer, exe進(jìn)程為用戶提供了圖形用戶界面(也成為圖形殼),簡單的說就是用來顯示系統(tǒng)的桌面環(huán)境的,包括開始菜單、桌面下方的任務(wù)欄、桌面圖標(biāo)和文件管理。在計(jì)算機(jī)系統(tǒng)啟動(dòng)過程中,SCM負(fù)責(zé)啟動(dòng)系統(tǒng)啟動(dòng)服務(wù),explorer負(fù)責(zé)用戶桌面環(huán)境。在系統(tǒng)啟動(dòng)過程中,SCM先被創(chuàng)建并運(yùn)彳丁,啟動(dòng)系統(tǒng)啟動(dòng)服務(wù)。稍后,explorer啟動(dòng)并初始化,加載用戶桌面環(huán)境。當(dāng)explorer中用到了和系統(tǒng)啟動(dòng)服務(wù)有關(guān)的組件時(shí),需要和SCM交互,但因?yàn)镾CM在啟動(dòng)服務(wù)過程中,占用了一個(gè)鎖,在這個(gè)過程中,系統(tǒng)的其他進(jìn)程如果想啟動(dòng)一個(gè)服務(wù),那么在訪問這個(gè)鎖的時(shí)候會(huì)被阻塞住,從而影響系統(tǒng)的開機(jī)速度。以WINDOWS XP系統(tǒng)為例,explorer啟動(dòng)時(shí),會(huì)創(chuàng)建一個(gè)C0M,其CLSID是{DD522ACC-F821-461A-A407-50B198B896DC},這個(gè) COM 對(duì)應(yīng)于系統(tǒng)的 ShellHWDetection 服務(wù)。在創(chuàng)建這個(gè)COM時(shí),如果這個(gè)服務(wù)還沒有啟動(dòng),那么需要先啟動(dòng)該服務(wù),而該服務(wù)的啟動(dòng)需要由SCM來執(zhí)行。如果SCM啟動(dòng)的服務(wù)中有掛起服務(wù),即SCM啟動(dòng)系統(tǒng)服務(wù)的過程被拖延了,那么explorer通知SCM啟動(dòng)這個(gè)服務(wù)時(shí),就會(huì)由于不能占用之前提到的那個(gè)鎖而被卡住,直到SCM完成了服務(wù)啟動(dòng)過程,explorer的請(qǐng)求才能被滿足,繼而繼續(xù)后邊的操作,這就造成開機(jī)速度慢。而通過實(shí)施例一至三中的計(jì)算機(jī)系統(tǒng)啟動(dòng)處理,在檢測(cè)到并將掛起服務(wù)的啟動(dòng)類型修改為已禁用后,在SCM啟動(dòng)過程中,將不再啟動(dòng)已禁用的系統(tǒng)啟動(dòng)服務(wù)(即該部分掛起服務(wù)),從而使得開機(jī)過程會(huì)比較流暢地完成,explorer啟動(dòng)COM的過程不會(huì)因SCM啟動(dòng)系統(tǒng)啟動(dòng)服務(wù)而拖延或卡住,由于explorer啟動(dòng)COM的過程所需要的時(shí)間被減少,所以本實(shí)施例提高了系統(tǒng)的開機(jī)速度。實(shí)施例五參照?qǐng)D5,示出了根據(jù)本發(fā)明實(shí)施例五的一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理裝置的結(jié)構(gòu)框圖。本實(shí)施例的計(jì)算機(jī)系統(tǒng)啟動(dòng)處理裝置包括第一獲取模塊402,用于獲取計(jì)算機(jī)系統(tǒng)的系統(tǒng)故障日志;從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息,該日志信息包括系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源、和系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí);判斷模塊404,用于判斷系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源是否為系統(tǒng)服務(wù)管理器,以及判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí);第二獲取模塊406,用于若判斷模塊404的判斷結(jié)果為是,則獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài);修改模塊408,用于若系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止,則將系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型修改為已禁用。優(yōu)選地,判斷模塊404在判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí)時(shí),判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為以下標(biāo)識(shí)中的至少一種等待服務(wù)的連接超時(shí)的標(biāo)識(shí)、等待來自服務(wù)的事務(wù)處理響應(yīng)超時(shí)的標(biāo)識(shí)、服務(wù)在啟動(dòng)時(shí)暫停的標(biāo)識(shí)。優(yōu)選地,第二獲取模塊406在獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),向系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息,請(qǐng)求查詢判斷結(jié)果為是的述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;接收系統(tǒng)服務(wù)管理器對(duì)第一查詢消息的返回消息,根據(jù)返回消息獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;在獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),向系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息,請(qǐng)求查詢判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài);接收系統(tǒng)服務(wù)管理器對(duì)第二查詢消息的返回消息,根據(jù)返回消息獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)。其中,啟動(dòng)類型和當(dāng)前狀態(tài)的獲取不分先后順序。優(yōu)選地,當(dāng)?shù)诙@取模塊406獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),通過QueryServiceConfig接口向系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息;以及,通過QueryServiceConfig接口接收系統(tǒng)服務(wù)管理器對(duì)第一查詢消息的返回消息;當(dāng)?shù)诙@取模塊406獲取判斷結(jié)果為是的系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),通過QueryServiceStatus接口向系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息;以及,通過QueryServiceStatus接口接收系統(tǒng)服務(wù)管理器對(duì)第二查詢消息的返回消息。優(yōu)選地,第一獲取模塊402在從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息時(shí),以倒序的順序,從系統(tǒng)故障日志中獲取生成時(shí)間在設(shè)定時(shí)間范圍內(nèi)的、系統(tǒng)啟動(dòng)服務(wù)的
日志信息。本實(shí)施例的系統(tǒng)啟動(dòng)裝置用于實(shí)現(xiàn)前述多個(gè)方法實(shí)施例中相應(yīng)的系統(tǒng)啟動(dòng)方法,并具有相應(yīng)的方法實(shí)施例的有益效果,在此不再贅述。實(shí)施例六
參照?qǐng)D6,示出了根據(jù)本發(fā)明實(shí)施例六的一種計(jì)算機(jī)系統(tǒng)開機(jī)啟動(dòng)加速裝置的結(jié)構(gòu)框圖。本實(shí)施例的計(jì)算機(jī)系統(tǒng)開機(jī)啟動(dòng)加速裝置包括啟動(dòng)加速模塊602和實(shí)施例五中的計(jì)算機(jī)系統(tǒng)啟動(dòng)處理裝置。啟動(dòng)加速模塊602,用于在系統(tǒng)檢測(cè)到開機(jī)事件后,加載系統(tǒng)服務(wù)管理器,使系統(tǒng)服務(wù)管理器根據(jù)預(yù)先設(shè)置的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型啟動(dòng)系統(tǒng)啟動(dòng)服務(wù);其中,預(yù)先設(shè)置的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型通過計(jì)算機(jī)系統(tǒng)啟動(dòng)處理裝置預(yù)先設(shè)置。例如,系統(tǒng)開機(jī)啟動(dòng)過程中,需要運(yùn)行services, exe (即SCM)和explorer, exe (即explorer).系統(tǒng)在檢測(cè)到開機(jī)事件后,使用啟動(dòng)加速模塊602加載SCM,通過SCM啟動(dòng)系統(tǒng)啟動(dòng)服務(wù)。稍后,explorer啟動(dòng)并初始化,加載用戶桌面環(huán)境。在explorer運(yùn)行過程中需要使用和系統(tǒng)啟動(dòng)服務(wù)有關(guān)的組件時(shí),則需要和SCM交互,由SCM啟動(dòng)相關(guān)服務(wù)成功后,explorer才能進(jìn)行后續(xù)流程。本實(shí)施例中,系統(tǒng)服務(wù)管理器根據(jù)預(yù)先設(shè)置的系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型啟動(dòng)系統(tǒng)啟動(dòng)服務(wù),因那些造成SCM無法順利運(yùn)行的掛起服務(wù)已經(jīng)由計(jì)算機(jī)系統(tǒng)啟動(dòng)處理裝置禁用,SCM能夠順利完成流程,因此,explorer不會(huì)因SCM而拖延或卡住,由于explorer啟動(dòng)COM的過程所需要的時(shí)間被減少,所以本實(shí)施例從而加快了系統(tǒng)開機(jī)速度。在此提供的系統(tǒng)啟動(dòng)方案不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造具有本發(fā)明方案的系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式
的權(quán)利要求書由此明確地并入該具體實(shí)施方式
,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的系統(tǒng)啟動(dòng)方案中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法,包括 獲取計(jì)算機(jī)系統(tǒng)的系統(tǒng)故障日志; 從所述系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息,所述日志信息包括所述系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源、和所述系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí); 判斷所述系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源是否為系統(tǒng)服務(wù)管理器,以及判斷所述系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí); 若是,則獲取所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài); 若所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止,則將所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型修改為已禁用。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述判斷所述系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí)的步驟包括 判斷所述系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為以下標(biāo)識(shí)中的至少一種等待服務(wù)的連接超時(shí)的標(biāo)識(shí)、等待來自服務(wù)的事務(wù)處理響應(yīng)超時(shí)的標(biāo)識(shí)、服務(wù)在啟動(dòng)時(shí)暫停的標(biāo)識(shí)。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述獲取所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài)的步驟包括 當(dāng)獲取所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),向所述系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息,請(qǐng)求查詢所述判斷結(jié)果為是的所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;接收所述系統(tǒng)服務(wù)管理器對(duì)所述第一查詢消息的返回消息,根據(jù)所述返回消息獲取所述判斷結(jié)果為是的所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型; 當(dāng)獲取所述系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),向所述系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息,請(qǐng)求查詢所述判斷結(jié)果為是的所述系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài);接收所述系統(tǒng)服務(wù)管理器對(duì)所述第二查詢消息的返回消息,根據(jù)所述返回消息獲取所述判斷結(jié)果為是的所述系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)。
4.根據(jù)權(quán)利要求3所述的方法,其中, 當(dāng)獲取所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),通過QueryServiceCong接口向所述系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息;以及,通過所述QueryServiceCong接口接收所述系統(tǒng)服務(wù)管理器對(duì)所述第一查詢消息的返回消息; 當(dāng)獲取所述系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),通過QueryServiceStatus接口向所述系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息;以及,通過所述QueryServiceStatus接口接收所述系統(tǒng)服務(wù)管理器對(duì)所述第二查詢消息的返回消息。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述從所述系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息的步驟包括 以日志生成時(shí)間為倒序的順序,從所述系統(tǒng)故障日志中獲取設(shè)定時(shí)間范圍內(nèi)的、所述系統(tǒng)啟動(dòng)服務(wù)的日志信息。
6.一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理裝置,包括 第一獲取模塊,用于獲取計(jì)算機(jī)系統(tǒng)的系統(tǒng)故障日志;從所述系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息,所述日志信息包括所述系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源、和所述系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí); 判斷模塊,用于判斷所述系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源是否為系統(tǒng)服務(wù)管理器,以及判斷所述系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí); 第二獲取模塊,用于若所述判斷模塊的判斷結(jié)果為是,則獲取所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài); 修改模塊,用于若所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止,則將所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型修改為已禁用。
7.根據(jù)權(quán)利要求6所述的裝置,其中,所述判斷模塊在判斷所述系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí)時(shí),判斷所述系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為以下標(biāo)識(shí)中的至少一種等待服務(wù)的連接超時(shí)的標(biāo)識(shí)、等待來自服務(wù)的事務(wù)處理響應(yīng)超時(shí)的標(biāo)識(shí)、服務(wù)在啟動(dòng)時(shí)暫停的標(biāo)識(shí)。
8.根據(jù)權(quán)利要求6所述的裝置,其中,所述第二獲取模塊在獲取所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),向所述系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息,請(qǐng)求查詢所述判斷結(jié)果為是的所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;接收所述系統(tǒng)服務(wù)管理器對(duì)所述第一查詢消息的返回消息,根據(jù)所述返回消息獲取所述判斷結(jié)果為是的所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型;在獲取所述系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),向所述系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息,請(qǐng)求查詢所述判斷結(jié)果為是的所述系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài);接收所述系統(tǒng)服務(wù)管理器對(duì)所述第二查詢消息的返回消息,根據(jù)所述返回消息獲取所述判斷結(jié)果為是的所述系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)。
9.根據(jù)權(quán)利要求8所述的裝置,其中, 當(dāng)?shù)诙@取模塊獲取所述系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型時(shí),通過QueryServiceConfig接口向所述系統(tǒng)服務(wù)管理器發(fā)送第一查詢消息;以及,通過所述QueryServiceConfig接口接收所述系統(tǒng)服務(wù)管理器對(duì)所述第一查詢消息的返回消息; 當(dāng)?shù)诙@取模塊獲取所述系統(tǒng)啟動(dòng)服務(wù)的當(dāng)前狀態(tài)時(shí),通過QueryServiceStatus接口向所述系統(tǒng)服務(wù)管理器發(fā)送第二查詢消息;以及,通過所述QueryServiceStatus接口接收所述系統(tǒng)服務(wù)管理器對(duì)所述第二查詢消息的返回消息。
10.根據(jù)權(quán)利要求6所述的裝置,其中,所述第一獲取模塊在從所述系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息時(shí),以日志生成時(shí)間為倒序的順序,從所述系統(tǒng)故障日志中獲取設(shè)定時(shí)間范圍內(nèi)的、所述系統(tǒng)啟動(dòng)服務(wù)的日志信息。
全文摘要
本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法與裝置,其中,計(jì)算機(jī)系統(tǒng)啟動(dòng)處理方法包括獲取計(jì)算機(jī)系統(tǒng)的系統(tǒng)故障日志;從系統(tǒng)故障日志中獲取系統(tǒng)啟動(dòng)服務(wù)的日志信息,日志信息包括系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源、和系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí);判斷系統(tǒng)啟動(dòng)服務(wù)的日志信息的數(shù)據(jù)來源是否為系統(tǒng)服務(wù)管理器,以及判斷系統(tǒng)啟動(dòng)服務(wù)的服務(wù)標(biāo)識(shí)是否為設(shè)定標(biāo)識(shí);若是,則獲取系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型和當(dāng)前狀態(tài);若系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型為自啟動(dòng)或手動(dòng)啟動(dòng),且當(dāng)前狀態(tài)為正在啟動(dòng)或已經(jīng)停止,則將系統(tǒng)啟動(dòng)服務(wù)的啟動(dòng)類型修改為已禁用。通過本發(fā)明實(shí)施例,達(dá)提高了系統(tǒng)開機(jī)啟動(dòng)的速度,減少了系統(tǒng)開機(jī)啟動(dòng)過程中不必要的等待。
文檔編號(hào)G06F9/445GK103064705SQ20121055374
公開日2013年4月24日 申請(qǐng)日期2012年12月18日 優(yōu)先權(quán)日2012年12月18日
發(fā)明者陳希 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乐都县| 广河县| 沂源县| 京山县| 齐河县| 嫩江县| 丹棱县| 广南县| 古浪县| 车险| 内丘县| 河北区| 南华县| 依安县| 芜湖县| 平潭县| 吴桥县| 南京市| 论坛| 日照市| 同心县| 建平县| 桑植县| 莎车县| 勐海县| 麻栗坡县| 都江堰市| 道真| 大安市| 沛县| 天等县| 广安市| 淮南市| 金阳县| 沅陵县| 天等县| 澄迈县| 田林县| 华池县| 榆林市| 双江|