用于文件掃描的方法和系統(tǒng)的制作方法
【專利摘要】為了文件掃描,劃分模塊將文件劃分為多個(gè)子文件。訪問模塊維護(hù)每個(gè)子文件的狀態(tài)并且用單獨(dú)的服務(wù)器掃描每個(gè)子文件。
【專利說明】用于文件掃描的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]此處描述的主題涉及文件掃描,并且更具體地涉及反病毒文件掃描。
【背景技術(shù)】
[0002]相關(guān)技術(shù)的描述
[0003]通常針對(duì)病毒和其它惡意軟件掃描文件。不幸的是,掃描非常大的文件可能花費(fèi)過分長的時(shí)間。
【發(fā)明內(nèi)容】
[0004]公開了用于文件掃描的裝置。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)可由處理器執(zhí)行的計(jì)算機(jī)可讀程序代碼。計(jì)算機(jī)可讀程序代碼包括劃分模塊和訪問模塊。劃分模塊將文件劃分成多個(gè)子文件。訪問模塊維護(hù)每個(gè)子文件的狀態(tài)并且用單獨(dú)服務(wù)器掃描每個(gè)子文件。方法和計(jì)算機(jī)程序產(chǎn)品還實(shí)現(xiàn)裝置的功能。
【專利附圖】
【附圖說明】
[0005]為了易于理解本發(fā)明的實(shí)施例的優(yōu)點(diǎn),將通過參考在附加的附圖中圖示的特定實(shí)施例,對(duì)上面簡要描述的實(shí)施例進(jìn)行更加詳細(xì)的描述??梢岳斫?,這些附圖僅描述了一些實(shí)施例,并且因此不被認(rèn)為是對(duì)范圍的限定,將通過使用附圖用附加特征和細(xì)節(jié)來描述和說明實(shí)施例。
[0006]圖1示出了說明數(shù)據(jù)處理系統(tǒng)的一個(gè)實(shí)施例的示意性框圖;
[0007]圖2示出了說明文件的一個(gè)實(shí)施例的示意性框圖;
[0008]圖3示出了說明反病毒控制文件的一個(gè)實(shí)施例的示意性框圖;
[0009]圖4示出了說明計(jì)算機(jī)的一個(gè)實(shí)施例的示意性框圖;
[0010]圖5示出了說明掃描裝置的一個(gè)實(shí)施例的示意性框圖;
[0011]圖6示出了說明文件掃描方法的一個(gè)實(shí)施例的示意性流程圖;以及
[0012]圖7示出了說明訪問方法的一個(gè)實(shí)施例的示意性流程圖。
【具體實(shí)施方式】
[0013]貫穿本說明書提到“一個(gè)實(shí)施例”(“one embodiment”)、“實(shí)施例” (“anembodiment”)或者類似的語言是指結(jié)合實(shí)施例描述的具體特征、結(jié)構(gòu)或特性包括在至少一個(gè)實(shí)施例中。貫穿該說明書的短語“在一個(gè)實(shí)施例中”、“在實(shí)施例中”以及類似語言可以,但并不必須全指同一實(shí)施例,而是指“一個(gè)或多個(gè)(但不是所有)實(shí)施例”,除非另外明確指出。術(shù)語“包括”、“包含”、“具有”和它們的變體是指“包括但不限于”,除非另外明確指出。除非另外明確指出,否則所列舉的項(xiàng)目列表并不意味著任何或全部項(xiàng)目是互相排斥的和/或互相包含的。除非另外明確指出,術(shù)語“一個(gè)”(“a”、“an”)和“該”是指“一個(gè)或多個(gè)”。
[0014]此外,可以以任何適當(dāng)?shù)姆绞浇Y(jié)合實(shí)施例所描述的特征、優(yōu)勢(shì)和特性。相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到,實(shí)施例可以在沒有特定實(shí)施例的一個(gè)或多個(gè)具體特征或優(yōu)點(diǎn)的情況下實(shí)施。在其他情況下,在某些實(shí)施例中認(rèn)識(shí)到的附加特征和優(yōu)點(diǎn)不必存在于所有的實(shí)施例中。
[0015]通過下面的描述和所附的權(quán)利要求,實(shí)施例的這些特征和優(yōu)點(diǎn)將變得顯而易見,或者如下面所描述的,也可以通過實(shí)施例的實(shí)施來了解。本領(lǐng)域的技術(shù)人員將會(huì)理解,本發(fā)明的各方面可以實(shí)現(xiàn)為系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。因此,實(shí)施例的方面可以采用全部硬件實(shí)施例、全部軟件實(shí)施例(包括固件、駐留軟件、微代碼等)或者組合軟件和硬件方面的實(shí)施例的形式,它們?nèi)吭诖丝梢员灰话愕胤Q作“電路”、“模塊”或者“系統(tǒng)”。此外,實(shí)施例的方面可以采用體現(xiàn)在一個(gè)或者多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,所述計(jì)算機(jī)可讀介質(zhì)具有體現(xiàn)在其中的計(jì)算機(jī)可讀程序代碼。
[0016]為了更加突出地強(qiáng)調(diào)功能單元的實(shí)施獨(dú)立性,本說明書中描述的許多功能單元已標(biāo)注為模塊。例如,可以將模塊實(shí)現(xiàn)為硬件電路,該硬件電路包括定制VLSI電路或門陣列,諸如邏輯芯片的現(xiàn)成半導(dǎo)體、晶體管或其他分立元件。模塊也可以在可編程硬件設(shè)備(例如現(xiàn)場(chǎng)可編程門陣列、可編程陣列邏輯、可編程邏輯設(shè)備等)中實(shí)現(xiàn)。
[0017]模塊也可以在由各種類型的處理器執(zhí)行的軟件中實(shí)現(xiàn)。計(jì)算機(jī)可讀程序代碼的識(shí)別模塊例如可以包括計(jì)算機(jī)指令的一個(gè)或多個(gè)物理或邏輯塊,其可以例如組織為對(duì)象、程序或函數(shù)。然而,識(shí)別模塊的可執(zhí)行程序不需要物理上位于一起,而是可以包括存儲(chǔ)在不同位置的完全不同的指令,當(dāng)這些指令邏輯上結(jié)合到一起時(shí),組成該模塊并實(shí)現(xiàn)該模塊規(guī)定的目的。
[0018]實(shí)際上,計(jì)算機(jī)可讀程序代碼模塊可以是單個(gè)指令或者許多指令,并甚至可以在幾個(gè)不同的代碼段上、在不同的程序中并跨越幾個(gè)存儲(chǔ)器設(shè)備分布。類似地,在本文中,操作數(shù)據(jù)可以在模塊中被標(biāo)識(shí)和示出,也可以以任何適當(dāng)?shù)男问襟w現(xiàn)并在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)中進(jìn)行組織。操作數(shù)據(jù)可以作為單獨(dú)的數(shù)據(jù)集來收集,或者分布在不同的位置上,包括在不同的存儲(chǔ)位置上,也可以至少部分地僅作為系統(tǒng)或網(wǎng)絡(luò)上的電子信號(hào)而存在。在模塊或模塊的各部分在軟件中實(shí)現(xiàn)時(shí),該計(jì)算機(jī)可讀程序代碼可以在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中存儲(chǔ)和/或傳播。
[0019]計(jì)算機(jī)可讀介質(zhì)可以是存儲(chǔ)計(jì)算機(jī)可讀程序代碼的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于一電、磁、光、電磁、紅外線、全息、微機(jī)械或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。
[0020]計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子可以包括但不限于:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、便攜式緊湊盤只讀存儲(chǔ)器(⑶-ROM)、數(shù)字通用光盤(DVD)、光存儲(chǔ)器件、磁存儲(chǔ)器件、全息存儲(chǔ)介質(zhì)、微機(jī)械存儲(chǔ)介質(zhì)或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含和/或存儲(chǔ)計(jì)算機(jī)可讀程序代碼的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用和/或與其結(jié)合使用。
[0021]計(jì)算機(jī)可讀介質(zhì)也可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)。計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電、電磁信號(hào)、磁、光信號(hào)或者上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的計(jì)算機(jī)可讀程序代碼。計(jì)算機(jī)可讀介質(zhì)上包含的計(jì)算機(jī)可讀程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、射頻等等,或者上述的任意合適的組合。
[0022]在一個(gè)實(shí)施例中,計(jì)算機(jī)可讀介質(zhì)可以包括一個(gè)或者多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和一個(gè)或者多個(gè)計(jì)算機(jī)可讀信號(hào)介質(zhì)的組合。例如,計(jì)算機(jī)可讀程序代碼可以作為電磁信號(hào)通過光纖電纜傳播用于由處理器執(zhí)行并且存儲(chǔ)在RAM存儲(chǔ)設(shè)備中用于由處理器執(zhí)行。
[0023]可以以一種或多種程序設(shè)計(jì)語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言-諸如Java、Smalltalk、C++、PHP等,還包括常規(guī)的過程式程序設(shè)計(jì)語言-諸如“C”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0024]計(jì)算機(jī)程序產(chǎn)品可以被共享,按照靈活、自動(dòng)的方式同時(shí)為多個(gè)用戶提供服務(wù)。計(jì)算機(jī)程序產(chǎn)品可以是標(biāo)準(zhǔn)化的,幾乎無需定制并且是可伸縮的,以按需付費(fèi)模式來按需提供能力。
[0025]計(jì)算機(jī)程序產(chǎn)品可以存儲(chǔ)在可從一個(gè)或多個(gè)服務(wù)器訪問的共享文件系統(tǒng)上??梢酝ㄟ^包含數(shù)據(jù)和使用被訪問服務(wù)器上的中央處理單元(CPU)單位的服務(wù)器處理請(qǐng)求的事務(wù)來執(zhí)行計(jì)算機(jī)程序產(chǎn)品。CPU單位是諸如服務(wù)器的中央處理器上的分鐘、秒、小時(shí)之類的時(shí)間單位。此外,被訪問的服務(wù)器可以對(duì)其他服務(wù)器提出需要CPU單位的請(qǐng)求。CPU單位只是表示使用度量的一個(gè)實(shí)例。其他使用度量包括但不限于網(wǎng)絡(luò)帶寬、存儲(chǔ)使用率、存儲(chǔ)設(shè)備利用率、分組傳輸、完成事務(wù)等。
[0026]當(dāng)多個(gè)用戶通過共享執(zhí)行使用相同的計(jì)算機(jī)程序產(chǎn)品時(shí),通過標(biāo)識(shí)唯一客戶和該客戶的服務(wù)類型的事務(wù)中所包括的參數(shù)來區(qū)分事務(wù)。將記錄用于每個(gè)客戶的服務(wù)的所有CPU單位和其他使用度量。當(dāng)任意服務(wù)器的事務(wù)數(shù)達(dá)到開始影響該服務(wù)器的性能的數(shù)量時(shí),將訪問其他服務(wù)器以增加能力并分擔(dān)工作負(fù)荷。同樣,當(dāng)諸如網(wǎng)絡(luò)帶寬、存儲(chǔ)器使用率、存儲(chǔ)設(shè)備使用率之類的其他使用度量能力接近以至于影響性能時(shí),將添加額外的網(wǎng)絡(luò)帶寬、存儲(chǔ)器、存儲(chǔ)裝置等來分擔(dān)工作負(fù)荷。
[0027]用于每個(gè)服務(wù)和客戶的使用度量被發(fā)送到收集服務(wù)器,所述收集服務(wù)器匯總在服務(wù)器網(wǎng)絡(luò)(提供計(jì)算機(jī)程序產(chǎn)品的共享執(zhí)行)中的任意位置處的每個(gè)服務(wù)的每個(gè)客戶的使用度量。所匯總的使用度量單位被定期乘以單位費(fèi)用并且所得到的總計(jì)算機(jī)程序產(chǎn)品服務(wù)費(fèi)用被可選地發(fā)送給客戶,或者在客戶所訪問的網(wǎng)站上列出,客戶然后將款項(xiàng)支付給服務(wù)提供商。
[0028]在一個(gè)實(shí)施例中,服務(wù)提供商直接從銀行或金融機(jī)構(gòu)處的客戶賬戶請(qǐng)求支付。如果服務(wù)提供商也是使用計(jì)算機(jī)程序產(chǎn)品的客戶,則將欠所述服務(wù)提供商的款項(xiàng)與所述服務(wù)提供商所欠的款項(xiàng)沖抵,從而盡量減少款項(xiàng)的轉(zhuǎn)移。
[0029]通過使計(jì)算機(jī)程序產(chǎn)品與應(yīng)用、操作系統(tǒng)和網(wǎng)絡(luò)操作系統(tǒng)軟件共存,然后在計(jì)算機(jī)程序產(chǎn)品可以執(zhí)行功能的環(huán)境中的客戶端和服務(wù)器上安裝計(jì)算機(jī)程序產(chǎn)品,可以將所述計(jì)算機(jī)程序產(chǎn)品集成在客戶端、服務(wù)器和網(wǎng)絡(luò)環(huán)境中。
[0030]在一個(gè)實(shí)施例中,確定客戶端和服務(wù)器(包括將部署計(jì)算機(jī)程序產(chǎn)品的網(wǎng)絡(luò)操作系統(tǒng))上的計(jì)算機(jī)程序產(chǎn)品所需的軟件和與計(jì)算機(jī)程序產(chǎn)品一起工作的軟件。這包括網(wǎng)絡(luò)操作系統(tǒng),其是通過添加網(wǎng)絡(luò)功能來增強(qiáng)基本操作系統(tǒng)的軟件。
[0031]在一個(gè)實(shí)施例中,標(biāo)識(shí)軟件應(yīng)用和版本號(hào)并與已被測(cè)試可與計(jì)算機(jī)程序產(chǎn)品一起工作的軟件應(yīng)用和版本號(hào)的列表相比較。將使用正確的版本號(hào)來升級(jí)那些版本號(hào)丟失或與正確版本不匹配的軟件應(yīng)用。檢查將參數(shù)從計(jì)算機(jī)程序產(chǎn)品傳遞到軟件應(yīng)用的程序指令以確保參數(shù)列表與計(jì)算機(jī)程序產(chǎn)品所需的參數(shù)列表相匹配。相反地,將檢查由軟件應(yīng)用傳遞到計(jì)算機(jī)程序產(chǎn)品的參數(shù)以確保參數(shù)與計(jì)算機(jī)程序產(chǎn)品所需的參數(shù)相匹配。標(biāo)識(shí)包括網(wǎng)絡(luò)操作系統(tǒng)的客戶端和服務(wù)器的操作系統(tǒng),并將其與已測(cè)試為可與計(jì)算機(jī)程序產(chǎn)品一起工作的操作系統(tǒng)、版本號(hào)和網(wǎng)絡(luò)軟件的列表進(jìn)行比較。將在客戶端和服務(wù)器上那些與已測(cè)試的操作系統(tǒng)和版本號(hào)的列表不匹配的操作系統(tǒng)、版本號(hào)和網(wǎng)絡(luò)軟件升級(jí)到所需的級(jí)別。
[0032]響應(yīng)于確定軟件(將在該處部署計(jì)算機(jī)程序產(chǎn)品)處于已測(cè)試為可與計(jì)算機(jī)程序產(chǎn)品一起工作的正確版本級(jí)別之后,通過在客戶端和服務(wù)器上安裝計(jì)算機(jī)程序產(chǎn)品而完成集成。
[0033]進(jìn)一步地,所描述的實(shí)施例的特征、結(jié)構(gòu)或特性可以以任意合適的方式進(jìn)行組合。在下面的描述中,提供了許多具體細(xì)節(jié)以提供對(duì)實(shí)施例的更加透徹的理解,諸如編程實(shí)例、軟件模塊、用戶選擇、網(wǎng)絡(luò)處理、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等。然而,相關(guān)領(lǐng)域的技術(shù)人員將意識(shí)到,實(shí)施例可在沒有一個(gè)或多個(gè)具體細(xì)節(jié)的情況下實(shí)施,或借助其他方法、組件、材料等實(shí)施。在其他實(shí)例中,未示出或詳細(xì)描述公知的結(jié)構(gòu)、材料或操作以避免混淆實(shí)施例的方面。
[0034]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述實(shí)施例。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序代碼實(shí)現(xiàn)。這些計(jì)算機(jī)可讀程序代碼可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0035]也可以把這些計(jì)算機(jī)可讀程序代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或者其它設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品.[0036]也可以將計(jì)算機(jī)可讀程序代碼加載至計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或者其它設(shè)備上以使得在計(jì)算機(jī)、其它可編程裝置或者其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)過程,從而在計(jì)算機(jī)或者其它可編程裝置上執(zhí)行的程序代碼提供用于實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或者多個(gè)方框中規(guī)定的功能/動(dòng)作的過程。
[0037]附圖中的流程圖和框圖說明了根據(jù)本發(fā)明的各種實(shí)施例,裝置、系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能的實(shí)施結(jié)構(gòu)、功能和操作。在這一點(diǎn)上,流程圖或框圖中的各框可表示模塊、代碼段或部分,它包含用于實(shí)現(xiàn)指定邏輯功能的一個(gè)或多個(gè)可執(zhí)行指令。[0038]還應(yīng)注意在一些可選實(shí)施例中,在框中標(biāo)注的功能可以不按附圖中標(biāo)出的順序發(fā)生。例如,實(shí)際上可基本同時(shí)地執(zhí)行連續(xù)示出的兩個(gè)框,或者這些框有時(shí)可能以相反的順序執(zhí)行,這取決于所包含的功能。可構(gòu)想出與所述附圖的功能、邏輯或影響一個(gè)或多個(gè)框或其一部分等同的其他步驟和方法。
[0039]盡管可以在流程圖和/或框圖中使用多種箭頭類型和線類型,它們不能被理解為限制相應(yīng)實(shí)施例的范圍。實(shí)際上,一些箭頭或者其他連接符可以用于僅僅指示所描述實(shí)施例的邏輯流程。例如,箭頭可以指示在所描述實(shí)施例的列舉步驟之間的未指定持續(xù)時(shí)間的等待或監(jiān)控周期。還應(yīng)注意,可以通過執(zhí)行指定功能或者動(dòng)作的專用基于硬件的系統(tǒng)或者專用硬件和計(jì)算機(jī)可讀程序代碼的組合來實(shí)現(xiàn)框圖和/或流程圖的每個(gè)框以及流程圖和/或框圖中框的組合。
[0040]在每個(gè)附圖中對(duì)元件的描述可以參考以下圖中的元件。在所有附圖中相同的標(biāo)號(hào)指代相同的元件,包括相同元件的可選實(shí)施方式。
[0041]圖1示出了說明數(shù)據(jù)處理系統(tǒng)100的一個(gè)實(shí)施例的示意性框圖。系統(tǒng)100包括可以掃描文件的多個(gè)服務(wù)器110。另外,系統(tǒng)100包括網(wǎng)絡(luò)120和存儲(chǔ)系統(tǒng)180。網(wǎng)絡(luò)120可以是因特網(wǎng)、路由器、廣域網(wǎng)、局域網(wǎng)等。存儲(chǔ)系統(tǒng)180包括第一總線125、第二總線150、一個(gè)或者多個(gè)存儲(chǔ)服務(wù)器130和一個(gè)或者多個(gè)存儲(chǔ)子系統(tǒng)140。在一個(gè)實(shí)施例中,在存儲(chǔ)系統(tǒng)180中包括一個(gè)或者多個(gè)服務(wù)器110。
[0042]每個(gè)存儲(chǔ)子系統(tǒng)140可以包括控制一個(gè)或者多個(gè)存儲(chǔ)設(shè)備170的一個(gè)或者多個(gè)控制器160。存儲(chǔ)設(shè)備170可以是硬盤驅(qū)動(dòng)器、光存儲(chǔ)設(shè)備、微機(jī)械存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備等。存儲(chǔ)服務(wù)器130可以管理和控制存儲(chǔ)系統(tǒng)180。存儲(chǔ)服務(wù)器130可以分別通過第一總線125和第二總線150與網(wǎng)絡(luò)120和存儲(chǔ)子系統(tǒng)140進(jìn)行通信。
[0043]存儲(chǔ)設(shè)備170可以存儲(chǔ)文件、目錄信息、元數(shù)據(jù)等,下文稱為文件。服務(wù)器110可以掃描文件以檢測(cè)和減輕可能存儲(chǔ)在文件中的任何病毒或者其它惡意軟件。服務(wù)器110可以在存儲(chǔ)系統(tǒng)18的外部和/或內(nèi)部。
[0044]存儲(chǔ)系統(tǒng)180中的文件可以增長至各種大??;可以存在非常小至非常大的文件大小。用單個(gè)服務(wù)器110掃描這種大文件可能需要過長的時(shí)間。另外,在長掃描時(shí)間期間,正在掃描的大文件可能是不可訪問的。使文件這么長的時(shí)間周期不可訪問對(duì)重要文件來說是不實(shí)際的。如將在下文描述的,此處描述的實(shí)施例將文件劃分成子文件以加速文件的掃描并且允許持續(xù)使用。
[0045]圖2示出了說明文件200的一個(gè)實(shí)施例的示意性框圖。文件200可以存儲(chǔ)在圖1的存儲(chǔ)系統(tǒng)180中。在一個(gè)實(shí)施例中,文件200具有超過I太字節(jié)(TB)的大小。文件200被劃分成多個(gè)子文件205。在一個(gè)實(shí)施例中,每個(gè)子文件205不大于指定大小。指定大小可以在例如I兆字節(jié)(MB)至I千兆字節(jié)(GB)的范圍內(nèi)變化。例如,可以劃分文件200以使得每個(gè)子文件250不大于IOGB的指定大小??梢远啻伟l(fā)起該細(xì)分處理直到完成整個(gè)文件的掃描。
[0046]在一個(gè)實(shí)施例中,每個(gè)子文件205的大小與掃描子文件205的服務(wù)器110的容量成比例。例如,可以將子文件205的起始地址分配給服務(wù)器110??梢詷?biāo)識(shí)服務(wù)器110的容量。可以選擇子文件205的結(jié)束地址,使得子文件205的大小與掃描子文件205的服務(wù)器110的容量成比例。可以多次發(fā)起該細(xì)分處理直到每個(gè)子文件205完成掃描。[0047]在特定實(shí)施例中,為每個(gè)服務(wù)器110確定容量??梢允褂梅匠淌絀計(jì)算針對(duì)每個(gè)服務(wù)器Iio創(chuàng)建的子文件205的大小,其中S是子文件大小,C是服務(wù)器110的容量,以及k是常數(shù)。常數(shù) k 可以在每 10000SPEC SFS2008 (如由 Standard Performance EvaluationCorporation of Gainsville, Virginia 定義的)2 至 10GB 的范圍內(nèi)。
[0048]s=kc 方程式 I
[0049]可選擇地,每個(gè)子文件205的大小與掃描子文件205的服務(wù)器110的通信帶寬成比例。例如,可以為每個(gè)服務(wù)器Iio確定通信帶寬??梢允褂梅匠淌?計(jì)算針對(duì)每個(gè)服務(wù)器110創(chuàng)建的子文件205的大小,其中s是子文件大小,b是服務(wù)器110的通信帶寬,以及m是常數(shù)。常數(shù)m可以在每I兆字節(jié)每秒吞吐量2至10GB的范圍內(nèi)。
[0050]s=mb 方程式 2
[0051]可選擇地,每個(gè)子文件250包括相關(guān)數(shù)據(jù),例如標(biāo)識(shí)的頭之間的數(shù)據(jù)和/或標(biāo)識(shí)的分支指令之間的數(shù)據(jù)。例如,第一子文件250a可以包括數(shù)據(jù)庫中的表頭之間的數(shù)據(jù)。
[0052]圖3示出了說明反病毒控制文件320的一個(gè)實(shí)施例的示意性框圖。反病毒控制文件320包括針對(duì)每個(gè)子文件205的條目220。在一個(gè)實(shí)施例中,每個(gè)條目220包括狀態(tài)230、服務(wù)器標(biāo)識(shí)符235和子文件地址240。
[0053]可以從由隊(duì)列中、隔離和干凈狀態(tài)組成的組中選擇狀態(tài)230。隊(duì)列中狀態(tài)可以指示子文件205計(jì)劃由服務(wù)器110掃描,但是尚未發(fā)現(xiàn)清除病毒或者惡意軟件。在一個(gè)實(shí)施例中,可以訪問處于隊(duì)列中狀態(tài)的子文件205。可選擇地,可以不訪問處于隊(duì)列中狀態(tài)的子文件205。如此處使用的,訪問指的是正在讀取和/或?qū)懭氲淖游募?05購買應(yīng)用、操作系統(tǒng)
坐寸ο
[0054]隔離狀態(tài)可以指示已經(jīng)在子文件205中發(fā)現(xiàn)病毒或者其它惡意軟件。在一個(gè)實(shí)施例中,不可以訪問具有隔離狀態(tài)的子文件205。具有隔離狀態(tài)的子文件205可以被安排用于緩和。緩和可以包括從子文件205刪除病毒和/或惡意軟件、用備份拷貝覆寫子文件205和使用糾錯(cuò)代碼和/或冗余數(shù)據(jù)等重建子文件205。
[0055]干凈狀態(tài)可以指示子文件205已經(jīng)被掃描并且沒有發(fā)現(xiàn)病毒或者其它惡意軟件。在一個(gè)實(shí)施例中,可以訪問具有干凈狀態(tài)的子文件205。例如,如果大數(shù)據(jù)庫文件200的第一子文件205a已經(jīng)被掃描并且具有干凈狀態(tài),那么第一子文件205a可以被訪問。
[0056]服務(wù)器標(biāo)識(shí)符235可以標(biāo)識(shí)被分配用以掃描子文件205的服務(wù)器110。在一個(gè)實(shí)施例中,服務(wù)器標(biāo)識(shí)符235是網(wǎng)絡(luò)地址??蛇x擇地,服務(wù)器標(biāo)識(shí)符235可以是邏輯名稱。
[0057]子文件地址240可以包括針對(duì)子文件250的起始地址和結(jié)束地址。在一個(gè)實(shí)施例中,子文件地址240包括針對(duì)組成子文件的多個(gè)段的起始地址和結(jié)束地址。
[0058]圖4示出了說明計(jì)算機(jī)300的一個(gè)實(shí)施例的示意性框圖。計(jì)算機(jī)300可以是服務(wù)器110??蛇x擇地,計(jì)算機(jī)300可以是存儲(chǔ)服務(wù)器130、控制器160等。計(jì)算機(jī)300可以包括處理器305、存儲(chǔ)器310和通信硬件315。存儲(chǔ)器310可以是半導(dǎo)體存儲(chǔ)設(shè)備、硬盤驅(qū)動(dòng)器或者它們的組合。存儲(chǔ)器310可以存儲(chǔ)計(jì)算機(jī)可讀程序代碼。處理器305可以執(zhí)行計(jì)算機(jī)可讀程序代碼。計(jì)算機(jī)300可以通過通信硬件315與外部設(shè)備進(jìn)行通信。
[0059]圖5示出了說明掃描裝置350的一個(gè)實(shí)施例的示意性框圖。掃描裝置350可以在計(jì)算機(jī)300中實(shí)現(xiàn)。裝置350包括反病毒控制文件320、劃分模塊325和訪問模塊330。反病毒控制文件320是圖3的反病毒控制文件320。[0060]反病毒控制文件320、劃分模塊325和訪問模塊330可以在存儲(chǔ)計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中實(shí)現(xiàn)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是存儲(chǔ)器310。處理器305可以執(zhí)行計(jì)算機(jī)可讀程序代碼以實(shí)現(xiàn)反病毒控制文件320、劃分模塊325和訪問模塊330的功倉泛。
[0061]劃分模塊325可以將文件200劃分為多個(gè)子文件205。訪問模塊230可以維護(hù)每個(gè)子文件205的狀態(tài)。另外,如將在下文描述的,訪問模塊230可以用單獨(dú)服務(wù)器110掃描每個(gè)子文件205。
[0062]圖6示出了說明文件掃描方法500的一個(gè)實(shí)施例的示意性流程圖。文件掃描方法500可以實(shí)現(xiàn)掃描裝置350的功能。另外,文件掃描方法500可以由存儲(chǔ)計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)來實(shí)現(xiàn)。
[0063]文件掃描方法500開始,并且在一個(gè)實(shí)施例中,劃分模塊325將文件200劃分505成多個(gè)子文件205。每個(gè)子文件205的大小可以與掃描子文件205的服務(wù)器110的容量成比例??蛇x擇地,每個(gè)子文件205的大小可以與掃描子文件205的服務(wù)器110的通信帶寬成比例。劃分模塊325可以通過將子文件地址240寫入至反病毒控制文件320來劃分505子文件。
[0064]劃分模塊325可以進(jìn)一步將單獨(dú)的服務(wù)器110分配510至每個(gè)子文件205。在一個(gè)實(shí)施例中,劃分模塊325在反病毒控制文件320中記錄分配的服務(wù)器110的服務(wù)器標(biāo)識(shí)符235。另外,劃分模塊325可以將針對(duì)子文件205的子文件地址240和/或條目220傳遞至分配的服務(wù)器110。可選擇地,子文件地址240和條目220可以被包括在針對(duì)分配的服務(wù)器110的請(qǐng)求中用以掃描子文件205。
[0065]在一個(gè)實(shí)施例中,劃分模塊325將服務(wù)器110分配510至子文件205以最小化對(duì)存儲(chǔ)設(shè)備170的訪問。例如,可以僅分配一個(gè)服務(wù)器110用以掃描存儲(chǔ)在指定存儲(chǔ)設(shè)備170上的子文件205。
[0066]訪問模塊330可以維護(hù)515每個(gè)子文件205的狀態(tài)230??梢詮挠稍陉?duì)列中、隔離和干凈組成的組中選擇每個(gè)子文件205的狀態(tài)230。在一個(gè)實(shí)施例中,訪問模塊330最初將每個(gè)狀態(tài)230設(shè)置為在隊(duì)列中的狀態(tài)。
[0067]在一個(gè)實(shí)施例中,當(dāng)被分配用以掃描子文件205的服務(wù)器110完成掃描子文件205時(shí),訪問模塊330改變子文件205的狀態(tài)230。例如,如果服務(wù)器110沒有在子文件205中發(fā)現(xiàn)病毒或者惡意軟件,那么訪問模塊330可以將子文件205的狀態(tài)230改變?yōu)楦蓛魻顟B(tài)??蛇x擇地,如果服務(wù)器110在子文件205中發(fā)現(xiàn)病毒或者惡意軟件,那么訪問模塊330可以將子文件的狀態(tài)230改變成隔離。
[0068]訪問模塊330可以掃描520子文件205。在一個(gè)實(shí)施例中,訪問模塊330使用分配的服務(wù)器110掃描520子文件205。各服務(wù)器110可以同時(shí)掃描子文件205。每個(gè)服務(wù)器110可以每次掃描一個(gè)子文件205。可選擇地,每個(gè)服務(wù)器110可以同時(shí)掃描多個(gè)子文件205。在特定實(shí)施例中,每個(gè)服務(wù)器110執(zhí)行多個(gè)虛擬機(jī)。每個(gè)虛擬機(jī)可以同時(shí)掃描一個(gè)或者多個(gè)子文件205。
[0069]在一個(gè)實(shí)施例中,直到服務(wù)器110準(zhǔn)備好掃描520子文件205時(shí),子文件205才被分配給服務(wù)器110??蛇x擇地,在服務(wù)器110開始掃描520子文件205之前,可以將子文件205的一部分分配給服務(wù)器110。[0070]在一個(gè)實(shí)施例中,訪問模塊330確定525是否已經(jīng)掃描了所有子文件205。如果已經(jīng)掃描了所有子文件205,那么方法500結(jié)束。如果仍有子文件205要被掃描,那么方法500循環(huán)以維護(hù)子文件205的狀態(tài)505。
[0071]方法500將文件200 (特別是大文件200)劃分505成多個(gè)子文件205。然后子文件205可以由各單獨(dú)的服務(wù)器110掃描520。劃分文件200允許文件200更快速地被掃描。
[0072]圖7示出了說明訪問方法550的一個(gè)實(shí)施例的示意性流程圖。方法550可以實(shí)現(xiàn)裝置350的功能。另外,方法550可以由存儲(chǔ)計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)來實(shí)現(xiàn)。
[0073]方法550開始,并且在一個(gè)實(shí)施例中,訪問模塊330接收555訪問請(qǐng)求以訪問文件200中的地址范圍和/或地址??梢詮牟僮飨到y(tǒng)、應(yīng)用程序等接收550訪問請(qǐng)求。
[0074]訪問模塊330標(biāo)識(shí)560對(duì)應(yīng)于地址范圍和/或地址的子文件205和/或多個(gè)子文件205。在一個(gè)實(shí)施例中,訪問模塊330使用反病毒控制文件320標(biāo)識(shí)560子文件205。
[0075]訪問模塊330確定565請(qǐng)求的子文件205是否可訪問。在一個(gè)實(shí)施例中,如果子文件205的狀態(tài)230是干凈的,那么請(qǐng)求的子文件205是可訪問的。在特定實(shí)施例中,如果子文件205的狀態(tài)230是在隊(duì)列中,那么請(qǐng)求的子文件205也是可訪問的。如果請(qǐng)求的子文件205是可訪問的,那么允許提出請(qǐng)求的應(yīng)用程序或者操作系統(tǒng)訪問570子文件205。
[0076]如果訪問模塊330確定565請(qǐng)求的子文件205是不可訪問的,例如如果子文件205的狀態(tài)230是隔離,那么訪問模塊330可以不允許575訪問請(qǐng)求的子文件205。在一個(gè)實(shí)施例中,當(dāng)子文件205的狀態(tài)230改變?yōu)楦蓛舻臅r(shí),存儲(chǔ)并且準(zhǔn)許訪問子文件205的請(qǐng)求。
[0077]實(shí)施例可以以其它特定形式來實(shí)踐。所描述的具體實(shí)施例在所有方面僅是示意性的而非限制性的。因此,本發(fā)明的范圍是由權(quán)利要求書而不是以上的說明所制定。在權(quán)利要求書的等同的涵義和范圍內(nèi)的所有變化均包含在其范圍內(nèi)。
【權(quán)利要求】
1.一種裝置,包括: 存儲(chǔ)能夠由處理器執(zhí)行的計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀程序代碼包括: 將文件劃分為多個(gè)子文件的劃分模塊;以及 維護(hù)每個(gè)子文件的狀態(tài)并且用單獨(dú)的服務(wù)器掃描每個(gè)子文件的訪問模塊。
2.根據(jù)權(quán)利要求1所述的裝置,其中每個(gè)子文件的大小與掃描所述子文件的所述服務(wù)器的容量成比例。
3.根據(jù)權(quán)利要求1所述的裝置,其中每個(gè)子文件的大小與掃描所述子文件的所述服務(wù)器的通信帶寬成比例。
4.根據(jù)權(quán)利要求1所述的裝置,其中從由在隊(duì)列中、隔離和干凈組成的組中選擇每個(gè)子文件的狀態(tài)。
5.根據(jù)權(quán)利要求4所述的裝置,其中在掃描期間,允許訪問干凈的子文件。
6.根據(jù)權(quán)利要求4所述的裝置,其中在掃描期間,允許訪問在隊(duì)列中的子文件。
7.一種用于文件掃描的方法,包括: 將文件劃分為多個(gè)子文件; 維護(hù)每個(gè)子文件的狀態(tài);以及 用單獨(dú)的服務(wù)器掃描每個(gè)子文件。
8.根據(jù)權(quán)利要求7所述的方法,其中每個(gè)子文件的大小與掃描所述子文件的所述服務(wù)器的容量成比例。
9.根據(jù)權(quán)利要求7所述的方法,其中每個(gè)子文件的大小與掃描所述子文件的所述服務(wù)器的通信帶寬成比例。
10.根據(jù)權(quán)利要求7所述的方法,其中從由在隊(duì)列中、隔離和干凈組成的組中選擇每個(gè)子文件的狀態(tài)。
11.根據(jù)權(quán)利要求10所述的方法,其中在掃描期間,允許訪問干凈的子文件。
12.根據(jù)權(quán)利要求10所述的方法,其中在掃描期間,允許訪問在隊(duì)列中的子文件。
13.根據(jù)權(quán)利要求7所述的方法,所述狀態(tài)進(jìn)一步包括服務(wù)器標(biāo)識(shí)符。
【文檔編號(hào)】G06F21/56GK103632092SQ201310368143
【公開日】2014年3月12日 申請(qǐng)日期:2013年8月22日 優(yōu)先權(quán)日:2012年8月22日
【發(fā)明者】J·A·克羅納多, S·M·克羅納多, C·A·拉羅, L·R·馬丁納斯 申請(qǐng)人:國際商業(yè)機(jī)器公司