用于確定按訪問掃描和按需掃描任務的優先順序的系統和方法
【技術領域】
[0001] 本發明總地設及計算機科學領域,具體而言,設及用于確定按訪問掃描和按需掃 描任務的優先順序的系統、方法和計算機程序產品。
【背景技術】
[0002] 現代的計算機操作系統和應用程序當與計算機系統的硬件和軟件部件交互時,變 得日益地資源密集。盡管研發人員持續地改進操作系統和計算機應用程序的操作,但是隨 著它們復雜度的增加,對系統資源的需求也增加。資源要求高的應用程序的示例是殺毒應 用程序。在系統掃描惡意軟件的過程中,例如,病毒、蠕蟲、間碟軟件和威脅計算機系統安全 的其它類型的惡意軟件,殺毒應用程序與計算機系統的軟件和硬件部件廣泛交互。
[0003] 一些計算機應用程序,包括許多殺毒應用程序,定期掃描計算機系統來監測活動 和識別惡意軟件。運種掃描會影響系統的資源利用,包括服務器、處理器、存儲器、硬盤驅動 器和網絡使用。在某些情況下,計算機資源掃描會使計算機系統和/或服務器超載,并損害 性能。因此,系統架構和處理需要有效地確定計算機系統的掃描請求的優先順序。
【發明內容】
[0004] 本發明公開用于確定掃描請求的優先順序的系統和方法。示例性的方法包括由計 算機處理器預留瘦客戶端與計算機的虛擬機之間的一個或多個連接;當所預留的一個或多 個連接未用于傳輸按訪問掃描(0A巧請求或按需掃描(0D巧請求時,分配所預留的一個或 多個連接用于在瘦客戶端與虛擬機之間傳輸0AS請求或0DS請求;并且當所有所預留的連 接用于傳輸0AS請求或0DS請求,并且至少一個所預留的連接用于傳輸0DS請求時,將用于 傳輸0DS請求的至少一個所預留的連接重新分配用于傳輸0AS請求。
[0005] 在另一個示例性的方面,瘦客戶端可W運行在計算機的另一個虛擬機上。
[0006] 在另一個示例性的方面,計算機包括服務器。
[0007] 在另一個示例性的方面,瘦客戶端可W執行瘦客戶端與虛擬機之間的連接的預 留、分配和重新分配。
[0008] 在另一個示例性的方面,重新分配已使用的所預留的一個或多個連接用于傳輸 0AS請求進一步包括:由虛擬機停止與重新分配的連接相關聯的0DS請求的處理。
[0009] 在另一個示例性的方面,0AS掃描包括利用虛擬機實時掃描計算機的至少文件系 統活動或網絡活動。
[0010] 在另一個示例性的方面,0DS掃描包括利用虛擬機掃描計算機的文件、文件夾和磁 盤分區的一個或多個。
[0011] 另一方面,用于確定掃描請求的優先順序的示例性系統包括:設置在計算機上的 虛擬機,該虛擬機被配置成:對計算機上的對象執行按訪問掃描(0A巧和按需掃描(0D巧; W及設置在計算機上的至少一個瘦客戶端,該瘦客戶端被配置成:預留瘦客戶端與虛擬機 之間的一個或多個連接;當所預留的一個或多個連接未用于傳輸OAS請求或ODS請求時,分 配所預留的一個或多個連接用于在瘦客戶端與虛擬機之間傳輸0AS請求或0DS請求;并且 當所有所預留的連接用于傳輸0AS請求或0DS請求,并且至少一個所預留的連接用于傳輸 0DS請求時,將用于傳輸0DS請求的至少一個所預留的連接重新分配用于傳輸0AS請求。
[0012] W上精簡的示例性方面的概要用于提供對本發明的基本理解。該概要不是所有預 期方面的總概括,既不是標記所有方面的關鍵或重要元素,也不是界定本發明的任何或所 有方面的范圍。其唯一目的是W簡化的方式呈現一個或多個方面,作為隨后的本發明更詳 細描述的引言。為了實現前述目的,本發明的一個或多個方面包括權利要求書中描述并特 別指出的特征。
【附圖說明】
[0013] 附圖被并入并構成本說明書的一部分,與【具體實施方式】一起圖示了本發明的一個 或多個示例性的方面,并用于解釋它們的原理和實現方式。
[0014] 圖1是示出根據本發明一個方面的系統的示例性配置的框圖,該系統用于確定按 訪問掃描任務優先于按需掃描任務。
[0015] 圖2是示出根據本發明一個方面的示例性方法的流程圖,該方法用于確定按訪問 掃描任務優先于按需掃描任務。
[0016] 圖3是示出根據本發明各方面的示例性通用計算機系統的框圖,該通用計算機系 統用于實現用于確定按訪問掃描任務優先于按需掃描任務的系統和方法。
【具體實施方式】
[0017] 運里,針對用于確定按訪問掃描任務優先于按需掃描任務的系統、方法和計算機 程序產品,描述了本發明的示例性方面。本領域普通技術人員將意識到W下描述僅僅是解 釋性的,并不意圖W任何方式進行限制。受益于本發明的本領域技術人員將很容易想到其 它方面。現在,詳細參考如附圖所示的示例性方面的實現。在全部附圖和W下描述中盡可 能使用相同的附圖標記來表示相同的物件。
[0018] 在系統和應用程序掃描過程中,有效利用計算機資源的一個方式是虛擬化。虛擬 化使得潛在計算機系統能夠在不同虛擬機之間進行多路復用,W便多個用戶能夠同時訪問 計算機系統上的資源。虛擬機(VM)是一種軟件環境,其確保工作處于另一個實際計算機的 一個物理("實際")機器(例如,計算機或服務器)內。若干個虛擬機能夠同時在一個物 理機器上操作,該物理機器也被稱為"主機",于是,形成了虛擬的計算機環境。在運種情況 下,虛擬機使用相同的主機計算資源。計算機系統將其一定量的資源分配給每個虛擬機。然 后,每個虛擬機都能使用所分配的資源執行應用程序,包括操作系統。
[0019] 圖1是根據本發明的各方面用于確定掃描請求的優先順序的虛擬機架構的示例 性配置。如所示,計算機系統100包括服務器105,上面設置有若干個虛擬機110。虛擬機 的數量可W例如是若干個(例如,1個到10個之間),甚至是上百個。大量甚至是極大量虛 擬機(VM)的存在需要相應量的計算資源。因此,虛擬機可W設置在單個服務器105或者若 干個服務器105上。在一個示例性的方面,虛擬機110之間的連接例如借助傳輸控制協議 (TC巧來建立。服務器105可W通過網絡125連接到多個用戶瘦客戶端130,例如Cltrix? ICA。用在本文中的術語"網絡"包括但不限于因特網、局域網(LAN)和無線局域網(WLAN)。
[0020] 一方面,系統瘦客戶端131可W安裝在每個虛擬機110上,而用戶瘦客戶端130可 W安裝在用戶設備145上,包括但不限于臺式計算機或膝上型計算機。另一方面,瘦客戶端 130、131是具有客戶端-服務器架構的網絡中的客戶端程序,客戶端-服務器架構會傳輸所 有或大部分信息處理任務給服務器。瘦客戶端130、131可操作地用于與運行在服務器105 上的相應虛擬機110通信。
[0021] 在一個示例性的方面,每個虛擬機110均可W提供虛擬的桌面(未示出),顯示在 用戶瘦客戶端130上,并執行服務器105提供的各種程序和應用程序,例如,文本編輯程序、 記帳程序、反惡意程序、殺毒程序W及其它類型的程序。虛擬機110也向瘦客戶端130、131 提供對數據對象的訪問,例如,對存儲在對象數據庫115或虛擬機110中的文件的訪問。對 服務器105上的對象的訪問可W使用瘦客戶端130和131的按需掃描(0D巧模塊140和按 訪問掃描(0A巧模塊150執行。在一個示例性的方面,服務器105可W執行安裝在安全虛 擬機(SVM) 120上的反惡意程序(例如,殺毒程序),在安全虛擬機(SVM) 120上,反惡意程序 可W對存儲在虛擬機110上的某些對象執行按需掃描或按訪問掃描。在另一示例性方面, 用于掃描的對象(例如,為若干個虛擬機所共有的對象)可W位于對象數據庫115中,而且 虛擬機110可W (例如,通過提供對象的校驗碼)指示哪個對象將被掃描。
[0022] 一方面,服務器105也可W設置有包括對象掃描服務模塊135的安全虛擬機120, 對象掃描服務模塊135管理多個瘦客戶端130和131對對象數據庫115的訪問。由對象掃 描服務模塊135掃描對象的結果是返回瘦客戶端130和131的掃描日志或掃描數據,在對 象被存儲于虛擬機110之外(例如,在對象數據庫115中)時,瘦客戶端130和131提供了 在虛擬機110上掃描的對象或哪個對象被掃描的指示符。用在本文中的術語"模塊"意味 著現實生活中的設備、裝置、系統、部件,或利用硬件實現(例如,由專用集成電路(ASIC)或 現場可編程口陣列(FPGA)實現)的部件的排列,或者作為硬件與軟件的組合,例如由微處 理器系統和使模塊實現特定功能的程序指令集,其中,程序命令集(在被執行時)將微處理 器系統轉換成專用設備。模塊也可W實現為二者的組合,由硬件單獨實現某些功能,而硬件 和軟件的組合實現其它功能。在某些實現中,模塊的至少一部分,在一些情況下,模塊的所 有部分在通用計算機的處理器上執行(例如,下面在圖3中更詳細描述的情況)。
[0023] 在一個示例性的方面,瘦客戶端130、131通過0DS模塊140或0AS模塊150向安全 虛擬機120發送掃描請求。對象掃描服務模塊135執行虛擬機110上或對象數據庫115和 其它服務器資