前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇存儲設備范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
移動存儲設備具有體積小、便于攜帶、使用方便等優勢,因此移動存儲設備使用較為普遍,同時也存在著隨時隨地使用、公私信息共用、加密信息與一般信息共用、隨意拷貝文件和數據,甚至出現將移動存儲設備借給他人或丟失的情況,致使重要數據泄露等問題,帶來數據風險。當設備接觸到不同環境下的計算機系統,難免會遭受到計算機病毒的侵害,一旦設備遭到病毒的攻擊,就會使設備中的重要文件遭到毀壞和泄露,使移動存儲設備成為了傳播計算機病毒的載體,給人們的工作帶來極大的不便。本文設計了一個移動存儲設備的安全保護系統,能夠很好地保護移動存儲設備。
2文件訪問控制
2.1文件訪問控制的方案設計
在本設計中,移動存儲設備歸屬于管理員,即移動存儲設備持有者。當管理員將移動存儲設備借出且被非管理員權限的人員所操作,此時會將管理員與非管理員區分開,實現不同權限的管理,以維護文件訪問的控制。管理員擁有超級權限,可以對移動存儲設備上的文件及數據進行增、刪、改、查等操作。非管理員使用時,限制其權限,使其只能對某些特定文件以讀操作進行訪問。對于用戶的區分,簡單的可以用驗證碼(密碼)實現,驗證碼正確則被認為是管理員;不正確或者未進行驗證,則被認為是非管理員,也就是普通用戶所擁有的權限。當調用系統API進行文件的增刪改操作時,我們試圖更改系統調用方向。使調用進入自定義的方法中去,完成對移動存儲設備文件操作的過濾,使對移動存儲設備的操作無效或達到我們預想的效果。通過這個過程完成對移動存儲設備文件的權限管理。文件訪問控制的流程圖如圖2所示。
2.2文件訪問控制的邏輯設計
在軟件運行之前,自定義API生成的DLL被進程加載。用GetProcAddress函數獲得進程中kernel32.dll、user32.dll等模塊的中的主要文件操作API函數的入口地址。在系統API函數入口地址位置加入一條跳轉指令,讓它先跳轉到自定義的函數中運行。跳轉指令可以用0xE9來表示(0xE9是匯編語言中jmp指令的機器碼),后面還有4個字節的自定義API函數地址,總共要修改系統API函數前5個字節,這5個字節由1個字節的跳轉指令和4個字節的地址組成。當程序調用到此函數的時候,將會跳轉到自定義API函數去執行。這4個字節的地址是偏移地址,而偏移地址=我們函數的地址-原API函數的地址-5(這條指令的長度)。要保存修改地址前的系統API地址,以防隨后調用系統API時找不到地址,無法再次完成跳轉。此過程為HOOK流程,如圖3所示。本設計是以Win7下文件基本操作的接口設計的邏輯,當文件操作調用API時會轉調此函數,所以控制策略就在此函數中。在函數中添加對當前文件的路徑判斷,來控制對移動存儲設備中文件的訪問,從而達到訪問控制的功能。本程序使用mhook庫來協助完成函數地址的跳轉。Mhook_SetHook函數的第一個參數ppSystemFunction是系統函數地址,第二個參數pHookFunction是自定義函數地址。函數要實現的功能就是將ppSystemFunction地址跳轉到pHookFunction的地址,從而完成自定義代碼的調用,完成功能。當一個sethook請求到來時,TrampolineAlloc分配一個跳板存儲域讓指針數組的元素指向這個存儲域。后續工作是將sethook是的有用數據保存在跳板buffer中,方便unhook時候,修改回系統API的地址。VirtualProtectEx函數可以改變在特定進程中內存區域的保護屬性。用來設置跳板存儲域的訪問權限為PAGE_EXECUTE_READWRITE。將系統API的地址保存在跳板存儲域的codeTrampoline當中,緊接著之后添加一個jump指令。此處是對系統API的存儲及處理。EmitJump函數功能就是實現從pdCode處添加代碼,完成跳轉到pdJumpTo。
3病毒查殺
3.1病毒查殺的方案設計
本設計主要對移動存儲設備中的文件進行病毒的查殺。在對文件查殺的過程首先對文件進行過濾,過濾出移動存儲設備中所有的PE,在對這些PE文件進行病毒掃描,然后對掃描過的文件進行處理,包括對病毒文件進行刪除和疑似文件隔離到指定的區域。病毒掃描采用的是病毒特征碼的方式,從病毒特征碼庫取出每一條特征碼來分別對文件進行匹配,若發現被匹配的文件中有該特征碼的話,直接將文件刪除。病毒特征碼是從已有的病毒文件中進行提取,并將這些特征碼進行歸類和存儲即存入到指定的病毒特征碼庫中。病毒查殺在設計的過程中可分為病毒掃描器設計和病毒文件的刪除或隔離設計。病毒掃描器的設計方案是采用多線程技術來提高效率,而病毒文件的處理部分直接調用系統的API將文件刪除和隔離,如圖4所示。
3.2病毒查殺的邏輯設計
病毒查殺是為了防止病毒文件進入移動存儲設備,并對移動存儲設備中的文件進行破壞。因此需要對剛進入移動存儲設備的文件,即新建的文件進行病毒查殺。當用戶登錄該系統后,可以點擊系統主界面上的殺毒按鈕對移動存儲設備中的所有文件進行病毒的查殺。通過病毒掃描器、病毒文件隔離,可以防止病毒對移動存儲設備中的文件進行侵害。具體的實現過程包括病毒掃描器的實現、病毒文件刪除模塊的實現以及病毒文件隔離區的實現。病毒掃描器的實現部分是采用多線程同時對多個文件進行病毒掃描,其中病毒的掃描方式是病毒特征碼匹配的方式,從病毒特征碼庫中取出每一條特征碼來對文件進行匹配,若發現那個文件是病毒文件,則對該文件進行刪除或者隔離。其中主要使用的系統API有CreateThread、WaitForSingleObject、ResumeThread、Sus-pendThread、GetExitCodeThread,這幾個是病毒掃描中與多線程相關的系統API,包括線程的創建、線程的啟動、線程的掛起、線程的喚醒和線程的退出等,控制了線程的生命周期。下面為關鍵的程序代碼的說明,主要是病毒特征碼與文件的匹配過程。病毒文件隔離區的實現部分主要是在移動存儲設備中建立一個隔離區,實際上這個隔離區就是一個目錄,用于存放病毒文件,這個目錄具有高度訪問權限控制,保證其中的病毒文件不會對其他文件造成傷害,以達到類似于隔離區的功能。具體實現就是新建一個目錄,并將目錄的訪問權限修改到最高,防止一切的危險訪問。接著就是對該區域的使用,將病毒掃描器掃描出來的病毒文件移動到該區域中,由管理員對該區域中的文件進行管理。
4文件誤刪恢復
4.1文件誤刪恢復方案設計
本設計將涉及到對誤刪文件的恢復。分析可知,為以后恢復某個已經刪除的文件,需要在某個文件被刪除的時候要對該文件進行備份,此時就需要有一個存儲這些刪除文件的空間,而且必須對備份的文件進行壓縮,這是考慮到不要占用移動存儲設備太大容量。建立這樣一個用于存儲備份文件的空間需要對它進行保護,可以考慮通過文件訪問控制來完成這種需求,從而有效保證恢復文件的安全性和準確性。還要考慮一下這樣一個存儲區的大小問題,如果太大的話,那么會占用大量的硬件存儲資,使有效的活動存儲資源減少了;如果太小的話,那么會使有些文件因控件太小而無法備份,只能選擇放棄備份或者直接刪除文件,這樣做不符合數據安全的要求。解決方案就是根據移動存儲設備總的有效存儲空間,按照該空間的百分比進行劃分,并可以在對文件進行備份的時候,非常大的文件由用戶選擇直接刪除或者存儲到其它大容量設備中,如圖5所示。
4.2文件誤刪恢復實現業務流程
以回收站的形式實現,對刪除的數據進行壓縮,管理員對數據進行恢復,實現流程與訪問控制中的HOOK流程一致。具體實現。在自定義的Deletefile函數內,進行文件過濾,如果屬于移動存儲設備的文件,則將其移動到一個特定的目錄里面,即將回收站中的文件移動到原來的位置,從而到達文件恢復的目的。
5測試結果
關鍵詞:USB存儲設備 注冊表 驅動程序 訪問權限
中圖分類號:TP333 文獻標識碼:A 文章編號:1007-9416(2013)11-0228-01
1 引言
當前,在企事業單位電腦管理中,如何有效管理USB端口的使用,尤其是防止員工私自插上U盤、移動硬盤、手機等設備隨意拷貝、復制公司的資料一直是令網管員十分頭疼的問題。同時由于U盤的便捷性,我們可能隨時需要啟用USB存儲設備。如何便捷的禁用和啟用USB存儲設備,是當前設備管理的一個重要問題。
2 常用USB存儲設備的禁用與啟用方法分析
2.1 禁用與啟用主板USB設備
進入BIOS設置,選擇“Integrated Peripherals”選項,展開后將“USB 1.1 Controller”和“USB 2.0 Contr01ler”選項的屬性設置為“Disabled”,即可禁用USB接口。如果想要啟動USB設備,則將屬性設置為“Enabled”,即可啟用USB接口。最后可以給BIOS設置上一個密碼,這樣可以防止其他人隨意進行設置。
缺點:這個方法是完全禁止了USB接口,會導致電腦的USB鼠標、USB鍵盤或USB加密狗以及其他非存儲的USB設備的使用,從而也帶來極大不便。
2.2 修改注冊表,禁用與啟用USB存儲設備
打開注冊表編輯器,找到USBSTOR項,在右側的窗格中找到名為“Start”的DWORD值,雙擊,在彈出的編輯對話框中將其數值數據修改為十六位進制數值“4”。點“確定”按鈕并關閉注冊表編輯器,重新啟動計算機,使設置生效。如果想要啟用USB存儲設備,將該鍵值修改為十六位進制數值“3”就可以了。
缺點:這種方法,只能禁用計算機已經識別USB存儲設備。當你插入新的USB存儲設備時,WINDOWS\inf中的Usbstor.pnf和usbstor.inf會為我們自動安裝驅動程序,并重新改寫注冊表,使得該方法失效。
2.3 禁止安裝USB驅動程序
在Windows資源管理器中,進入到“系統盤:\WINDOWS\inf”目錄,找到名為“Usbstor.pnf”和“usbstor.inf”的文件,右鍵點擊該文件,在彈出菜單中選擇“屬性”,然后切換到“安全”標簽頁,在“組或用戶名稱”框中選中要禁止的用戶組,接著在用戶組的權限框中,選中“完全控制”后面的“拒絕”復選框,最后點擊“確定”按鈕。
缺點:本方法使用訪問控制列表(ACL),因此系統所在分區要采用NTFS文件系統。另外對于計算機已經識別USB存儲設備,因為不需要加載驅動,所有該方法無效。
3 簡單易行的USB存儲設備的禁用與啟用方法
通過上述分析我們不難看出,方法1簡單易行但在USB普及的今天,不具備實用性。方法2只能禁用已經被系統識別的USB存儲設備,而方法3只能禁用已經不被系統識別的USB存儲設備。而且這兩種方法比較容易破解,安全性不是很好。我們可以把兩種方法結合使用來獲得比較好的效果。
首先我們來探討一下USB存儲設備的禁用問題。我們先將兩個USB存儲設備的驅動文件Usbstor.pnf和usbstor.inf(位于系統盤:\WINDOWS\inf”目錄下)拷貝到某一目錄下,然后將這兩個文件刪除,由于拷貝的過程對于用戶不可見,用戶無法找到驅動文件,所以管理的安全性比較好。這樣當插入新的USB存儲設備時系統無法安裝驅動程序,達到了禁用的目的。然后修改注冊表鍵值,將Start鍵值設為4,這樣已經安裝驅動的USB存儲設備也無法啟動運行。所有這些過程可以編寫一個批處理文件,來簡化我們的操作。
4 結語
在USB不斷普及的今天,USB端口是我們最重要的接口。如何有效的管理好這些端口對于網絡管理、機房管理、辦公管理有著重要的意義。希望通過本文,可以使讀者加深對USB設備管理的理解,更加有效的管理USB設備。
參考文獻
[1]石喜富. Windows環境下禁用USB存儲設備程序設計與實現,《中國傳媒大學學報自然科學版》2012年6月.
關鍵詞:主機防信息泄漏;移動存儲設備;信息過濾
中圖分類號:TP311 文獻標識碼:A文章編號:1009-3044(2010)04-0850-03
Filter the Sensitive Information to Prevent the Information Flowing into the Mobile Storage Device
MA Yun
(School of Information Science and Engineering, Lanzhou University, Lanzhou 730000, China)
Abstract: Following the rapid development of information construction, the resource of military information becomes the core element. The mobile storage devices such as the USB device and mobile disk are used to exchange information more and more usually because of their convenience. Those devices become one of the major ways of host information leakage. This paper researches that: basing on the AC automatic machine, presents an algorithm with multiple keywords and multiple encoding to filter the sensitive information transmission from host to the mobile storage device and prevent host sensitive information flowing into the mobile storage device.
Key words: host information leakage prevention; mobile storage device; data filtering
由于計算機的普及應用,特別是移動存儲設備的即插即用性和便攜性,大量信息通過移動存儲設備進行傳輸和交換,方便了信息共享,同時也帶來了安全隱患。如果信息中包含大量的內容,一旦泄漏到外界,將造成無法挽回的損失。
如何對移動存儲設備進行安全管理,防止主機機密和敏感信息通過移動存儲設備泄漏,已成為目前所關注的重點。本文通過對主機敏感信息過濾技術進行研究,設計敏感信息過濾算法,并通過實驗驗證算法的效率和有效性,進而實現對通過移動存儲設備傳輸的信息進行過濾,從而達到防止主機敏感信息通過移動存儲設備泄漏出去的目的。
1 信息過濾技術簡介
信息過濾是指從大量的數據信息中過濾滿足用戶特定需求信息的過程,這與信息檢索(Information Retrieval, IR)的工作方式極為相似,都是從用戶的目標出發,就用戶的特定信息需求進行搜索,不同的是信息檢索是在相對靜態的結構化數據庫中對用戶短期的特定信息需求進行的獲得式搜索,而信息過濾是在海量的動態的非結構化或半結構化數據中對用戶長期的特定信息需求進行的過濾式搜索,即信息檢索有相對固定的信息庫和千變萬化的檢索需求,而信息過濾則有著相對固定的用戶需求和動態變化的信息流。在用戶需求的表示和目標上,信息檢索是依據檢索詞的組配來選擇相關條目,而信息過濾則是依據用戶興趣模型來過濾相關的信息 [1]。
2 敏感信息過濾流程
在信息系統中,處理的數據可以是有結構的,也可以是無結構的;可以是數據庫中的具體數字,也可以是文件系統中的文檔;可以是文本,也可以是多媒體。本文中的基于內容的敏感信息過濾算法是指運用基于AC自動機的多關鍵詞多編碼匹配算法對移動存儲設備拷貝的主機信息內容進行敏感信息過濾,防止主機敏感信息傳輸至移動存儲設備。其方法是:設定一定數量的關鍵詞,在移動存儲設備預拷貝的主機信息中進行多關鍵詞匹配,根據匹配算法對移動存儲設備拷貝的主機信息進行過濾。如果匹配成功,則阻止移動存儲設備拷貝信息,反之移動存儲設備則正常拷貝信息。
基于Win32的應用程序是消息驅動的,應用程序所采取的任何動作都依賴于它所獲得的消息類型及其內容;Win32系統提供了一種機制即鉤子(hook),通過它應用程序可以監視系統中的消息傳遞并能夠在它們到達目標窗口之前對其進行處理。
敏感信息過濾利用鉤子機制對寫入移動存儲設備的信息流進行檢索,通過基于內容的模式匹配算法對可能寫入移動存儲設備的主機敏感信息進行過濾,防止主機敏感信息通過移動存儲設備泄漏。
本文選用標準Windows鉤子方式,即用鉤子函數把監視代碼嵌入到系統與目標應用程序之間,其流程如圖1所示。
1)創建并加載鉤子函數。創建一個DLL文件,該DLL中包含用于信息傳輸過濾控制的鉤子函數。將該鉤子函數加載到Explorer進程空間中,監視所有從系統消息隊列發往Explorer的消息。如果攔截到向移動存儲設備寫入文件的消息,則啟動信息過濾過程。
2)對磁盤寫緩沖中的數據流進行過濾。信息過濾過程使用AC自動機匹配算法對磁盤寫緩沖中即將寫入移動存儲設備的數據流進行敏感信息檢索。該匹配算法將在下文詳細介紹。
3)對移動存儲設備信息傳輸進行控制。如果在數據流中檢索到敏感信息,則清空磁盤寫緩沖,并通過警告對話框向用戶提示數據中含有敏感信息,不能拷貝。否則繼續數據傳輸過程。
3 基于AC自動機的多關鍵詞多編碼匹配算法
目前存在多種編碼方式,如ASCII、Unicode、等等,將不同語種的字符空間映射為編碼后的字節進行存儲。而主機信息是按比特方式傳輸至移動存儲設備,所以對傳輸信息的內容進行敏感信息過濾可以采用比特流過濾的方式,這就需要對各關鍵詞的不同編碼方式進行匹配。本文通過構建多關鍵詞多編碼二叉樹(Multiple Keywords and Encoding Model Tree, M2KE-Tree)的方式完成基于AC自動機的多關鍵詞多編碼的匹配算法。
在單模式匹配算法中,典型的有KMP算法[2]和BM算法[3]、蠻力算法(Brute-Force)[4]等。在多模式匹配算法中,Aho-Corasick自動機匹配算法是最著名的算法之一。本文將Aho-Corasick(AC)自動機匹配算法應用于移動存儲設備防信息泄漏的信息過濾中,以提高多關鍵詞敏感信息的檢測效率,同時本文利用二叉樹對AC自動機進行描述。
AC自動機的匹配算法基于一種模式樹[5]。一個模式集的模式樹指的是具備如下性質的一棵樹T:
1)T的每一條邊上都用一個字符作為標簽;
2)與同一節點相連的邊的標簽均不同;
3)對于模式集P,每一個模式p∈P都存在一個節點m,使得L(m)表示從根節點m所經過的所有邊上的標簽的拼湊;
4)每一個葉子節點m'都存在一個模式p∈P使得L(m')=p。
3.1 單編碼二叉樹
設某關鍵詞A的B編碼為1011,將它的編碼以二叉樹來表示,將這個二叉樹稱為A的B編碼二叉樹,其構建過程如2所示。
1)首先建立一個空節點,作為樹的根節點,將第一個比特作為該節點的子節點添加到樹中,設定根節點到該節點的邊的數值為這個比特的值,比特值為0的節點作為父節點的左孩子,比特值為1的節點為父節點的右孩子,如圖2a所示。
2)按照1)中的方式將第二個比特添加為上個比特對應的子節點,由于第二個比特值為0,因此作為第一個比特所對應節點的左孩子,如圖2b所示。
3)將第三個比特添加為第二個比特對應的子節點,由于第三個比特值為1,因此作為第二個比特所對應節點的右孩子,如圖2c所示。
4)將第四個比特添加為第三個比特對應的子節點,由于第四個比特值為1,因此作為第三個比特所對應節點的右孩子,最后一個節點標識為樹的終結點,如圖2d所示。
3.2 多編碼二叉樹的合成
可以根據某個關鍵詞的多種常用編碼分別構建出對應的單編碼二叉樹,然后將這些單編碼二叉樹使用“影像合成”的方法合成為該關鍵詞的多編碼二叉樹;使用同樣的方法將多關鍵詞所對應的多編碼二叉樹合成為一棵多關鍵詞多編碼二叉樹,作為匹配算法的模式樹。
下面以一個實例來描述該過程,取“信息”“保密”兩個詞作為關鍵詞,分別針對常用的Unicode、UTF8進行樹的構建,為了便于描述,用上述編碼的最后四比特來演示多關鍵詞多編碼樹的構建過程,“信息”進行Unicode編碼的最后四位是“0000”,進行UTF8編碼的最后四位是“1111”,“保密”進行Unicode編碼的最后四位是“1011”,進行UTF8編碼的最后四位是“0110”。如圖3所示,圖中a、b表示關鍵詞“信息”的Unicode、UTF8編碼所構建的單編碼二叉樹;圖中c、d表示關鍵詞“保密”的Unicode、UTF8編碼所構建的單編碼二叉樹。
將圖3的a、b按照“影像合成”的方法疊加合成為關鍵詞“信息”的Unicode、UTF8編碼所對應的多編碼二叉樹;將圖3的c、d按照“影像合成”的方法疊加合成為關鍵詞“保密”的Unicode、UTF8編碼所對應的多編碼二叉樹;將關鍵詞“信息”的多編碼二叉樹和關鍵詞“保密”的多編碼二叉樹采用“影像合成”的方法非合成為這兩個關鍵詞的多關鍵詞多編碼二叉樹(M2KE-Tree),如圖4所示。該樹將作為對關鍵詞“信息”、“保密”進行基于比特流的匹配算法的模式樹。
3.3 AC自動機匹配算法
該算法的基本思想:在預處理階段,把M2KE-Tree的各個節點作為狀態,根節點作為初始狀態,葉子節點作為終態,增加兩個功能函數DD轉向函數g和實效函數f作為轉移函數DD將M2KE-Tree擴展成一個樹型有限自動機。
由M2KE-Tree擴展所得的AC自動機M是一個六元組:
M=(Q,∑,g,f,q0,F)
1)Q是有窮狀態集(M2KE-Tree上的節點);
2)∑是有窮的輸入符號集{0,1};
3)g是轉移函數,該函數定義如下:
g(s,a):從當前狀態s開始,沿著邊上標簽為a的路徑所到達的狀態。如果(u,v)邊上的標簽為a,那么g(u,a)=v;
4)f(不匹配時自動機的狀態轉移)也是轉移函數,該函數定義如下:
f(s):當w是L(s)最長真后綴并且w是某個模式的前綴,那么f(s)就是以w為標簽的節點;
5)q0∈Q,是初始狀態(根節點,標識符為0);
6)F?哿Q,是終結狀態集(以模式為標簽的節點集)
這樣,在比特流檢索模式的過程就轉換成在M2KE-Tree中的查找過程,在檢索一個比特流T時,從M2KE-Tree的根節點開始,沿著以T中每個比特為標簽的路徑向下查找:
1)若自動機能夠抵達終態v,則說明T中存在模式L(v);
2)否則說明T中不存在模式。
以圖4為基礎,構造出來的自動機如圖5所示,其中虛線為f函數,實線為g函數,細圈為自動機各個狀態,粗圈為終態,雙圈為初始態。
整個AC自動機匹配算法的輸出是一個布爾值,如果輸出為TRUE,說明比特流中存在與模式相匹配的串,該比特流中可能包含敏感信息,應拒絕寫入移動存儲設備;如果輸出為FALSE,則說明比特流中不存在與模式相匹配的串,該比特流中不包含敏感信息,寫入移動存儲設備。
AC自動機匹配算法利用有窮自動機將二進制運算轉換成自動機的狀態轉移。當一個長度為n bit的數據T進行掃描,由于對于T中的每個比特,每次僅使用g函數和f函數中的一個,因此在模式匹配階段時間復雜度為O(n×k),其中k為整個M2KE-Tree建立的AC自動機個數。
3.4 算法實驗
本文對KMP算法、BM算法、蠻力算法、以及AC自動機算法在同等條件下分別進行單模式和多模式的測試。考慮到磁盤傳輸速度不是勻速等原因,不考慮算法的運行時間,只考慮比特流中符號的比較次數。
實驗1進行單模式測試,使用大小為512bit隨機產生的二進制比特流,對單模式字符串“1101”進行匹配,結果如表1所示。
實驗2進行多模式測試,使用大小為10192bit隨機產生的二進制比特流,對多模式字符串“1101,1011,0011,0100”進行匹配,結果如表2所示。
由實驗結果可以看出,雖然AC自動機匹配算法在單模式匹配情況下,匹配速度沒有BM算法快。但是,在多模式匹配中每一個比特平均比較次數明顯比其它三個算法小,而且模式越多,這個優點越明顯。在敏感信息過濾中,往往需要進行多模式匹配,因此,基于AC自動機匹配算法的敏感信息過濾具有較高的實用價值。
4 結束語
本文對基于內容的敏感信息過濾算法進行設計,重點對匹配算法進行了深入分析,在此基礎上提出了基于AC自動機的多關鍵詞多編碼匹配算法,并對算法進行了實驗。基于AC自動機的多關鍵詞多編碼匹配算法具有小巧、速度快等優點,實現了主機敏感信息過濾,有效防止主機敏感信息的泄漏。
參考文獻:
[1] 符敏慧.基于文本的信息過濾模型[J].圖書館理論與實踐,2006(2):43-45.
[2] 閔聯營,趙婷婷.BM算法的研究與改進[J].武漢理工大學學報:交通科學與工程版,2006,30(3):528-530.
[3] Boyer R S,Moore J S.A Fast String Searching Alogrithm[J].Communications of the ACM,1997,20(10):762-772.
對于硬盤而言,在持續高速數據存儲中,關鍵是它的持續數據傳輸速率(sustained transfer rate)能否滿足要求。目前,15000r/min的小型計算機系統接口scsi(small computer system interface)硬盤,總線數據傳輸速率為80~320mb/s,持續數據傳輸速率大于40mb/s。而pc機普遍配置的ide硬盤,雖然它的總線數據傳輸速率可以達到33~100mb/s,但持續數據傳輸速率只有15mb/s左右,性能低于scsi硬盤。
本文設計了一種專用高速硬盤存儲設備,它脫離微機平臺實時將高速數據送入scsi硬盤,持續存儲速率可達35mb/s(使用seagate公司生產的st336752lw型硬盤)。
1 scsi總線及硬盤
scsi是美國ansi9.2委員會定義的計算機和外設之間的接口標準,最初是以磁盤存儲設備為主,但由于它的靈活性、設備獨立等特點,使之不僅在磁帶設備、打印設備、光盤驅動設備等外設中得到普遍應用,也在許多i/o設備和計算機網絡、計算機工業控制等領域不斷發展。隨著外設速率的不斷提高,scsi的性能幾乎每5年提高一倍,目前ultra320 scsi總線數據傳輸速率可達320mb/s。
scsi是設備無關的輸入輸出總線,可以掛接多達8個以上的設備。對于scsi總線上的設備,如果是任務的觸發者,則稱為啟動設備;如果是任務的執行者,則稱為目標設備。通常啟動設備先選擇一個目標設備,繼而由目標設備決定繼續控制總線或釋放總線,直到完成任務。本文的專用高速硬盤存儲設備采用單啟動、單目標結構。
scsi硬盤在標識硬盤扇區時使用了線性的概念,即硬盤只有順序的第1扇區、第2扇區…第n扇區,不像ide硬盤的“柱面/磁頭/扇區”三維格式。這種線性編排方式訪問延時最小,可加快硬盤存取速率,尤其在持續大容量數據存儲時,所顯現的優勢較明顯。目前,操作系統內部也使用線性編號的扇區,其目的是加快介質存取速度,加大介質訪問容量。
綜上所述,該專用高速硬盤存儲設備使用scsi總線不僅數據傳輸速率高,而且在需要時可以增加設備中的硬盤數量來擴展存儲空量,甚至可以把硬盤替換為其它scsi存儲設備。
2 系統結構設計
為了實現scsi協議和硬盤存儲,一般需要有微處理器、dma控制器、scsi協議控制器、數據緩存器等硬件支持和相應的軟件控制模塊。
·微處理器用來控制設備中各部件的工作,實現設備本身的特定功能。該專用高速硬盤存儲設備實現數據的持續高速存儲,要求處理數據的速度高。通常這些需要傳輸和處理大量數據的設備均選用數字信號處理器DSP作為微處理器。同時,scsi協議中許多復雜的控制功能也需要這個微處理器來實現。
·傳送大量數據大多會采用直接存儲器訪問dma(direct memory access)方式,因此需要獨立的dma控制器或選用內置dma控制器的微處理器。出于簡化電路和提高速率的考慮,該設備采用復雜可編程邏輯器件cpld構造了一個獨立的dma控制器。
·要實現scsi協議需要有scsi協議控制器。dsp中通常不會集成scsi協議控制器,因此一般情況下,需要選擇通用的scsi協議控制器,輔助dsp實現scsi協議和通信。
·在設備的輸入接口部分,需要有數據緩存單元。普通的存儲器在寫入的同時不能讀取;采用雙口隨機存儲器ram雖然可以解決并發訪問的問題,但它必需的雙邊地址譯碼又是不可忽視的問題。對于單純的數據存儲設備,不需要對數據做壓縮、信號分析等預處理工作,緩存單元在結構上相當于先進先出(first in first out,fifo)隊列,先到的數據先被存儲。所以采用專用fifo芯片,可以去掉復雜的緩存器譯碼電路,大大簡化系統設計。而且,采用專用fifo芯片,整個設備從外部數據接口看來,就是一個寫不滿的fifo,也大大簡化了對設備數據接口的操作。
專用高速硬盤存儲設備的框圖如圖1所示。圖1中各方框表示一個基本模塊,括號中文字表示具體實現的器件,虛線左側部分不屬于設備模塊。
該高速硬盤存儲設備設計中向處理器選用了ti公司生產的tms320f206,scsi協議控制器選用了qlogic公司生產的fas368m,dma控制器和其它邏輯轉換電路選用了altera公司生產的cpld器件epm7064。
tms320c206是ti公司生產的cpld器件epm7064。
tms320c206是ti公司生產的tms320系列單片數字信號處理器中的一種低價格、高性能的定點dsp芯片。該芯片功耗低,處理能力強,指令周期最短為25ns,運算能力達40mips,片內具有32kb的閃爍存儲器和4.5kb的ram,是最早使用閃爍存儲器的dsp芯片之一。由于閃爍存儲器具有比rom靈活、比ram便宜的特點,因此使用tms320f206不僅降低了成本、減小了體積,同時系統升級也比較方便。
fas368m是與scsi-3標準完全兼容的scsi協議控制器,它支持啟動設備與目標設備兩種模式,同步數據傳輸速率為40mb/s。另外,fas368m支持最大50 mb/s的快速dma數據傳。由于采用分離的微處理器總線和dma總線結構,因此能以較高速率產生響應而不會造成瓶頸效應。
3 硬件電路及功能描述
tms320f206、fas368m、emp7064和idt7208之間的具體連接線路如圖2所示。
3.1 fas368m的信號及內部寄存器說明
圖2中fas368m的主要信號和控制邏輯如下:
·ack、atm、bsy、cd、io、msg、req、rst、sd0~15、sdp0~1、sel及其差分信號,都是fas368m與scsi總線的接口信號。
·cs信號是讀寫fas368m內部寄存器片選信號。
·rd、wr是fas368m內部寄存器的讀寫信號。
·fas368m的tni端對應tms
320f206的外部中斷int1,當其有效時,表明有錯誤產生(如校驗出錯)、一個事件需要服務(如fas368m作為目標設備被選中)或已結束某服務(如dma結束)。 ·dreq,fas368m使dreq有效向dma控制器(epm7064)發出dma傳輸請求。
·dack,epm7064對fas368m dma請求信號dreq的響應。
·dbwr,dma數據寫信號。當dreq和dack信號均有效時,epm7064控制該信號和緩存器idt7208的rd信號,實現數據從idt7208向fas368m的同步快速傳輸。
fas368m在tms320f206的控制下實現所有的scsi協議,包括仲裁、選擇、消息、命令、數據、狀態等各階段規定的信號電平轉化等。在設備中tms320f206對fas368m的控制是通過對其寄存器的讀寫來實現的。
·指令寄存器(command register),tms320f206通過向指令寄存器寫入相應指令,實現諸如fas368m的初始化與復位、scsi總線分配與復位、scsi總線各階段的遷移等所有針對fas358m和scsi總線的控制。
·fifo寄存器(fifo register)是一個16字的fifo寄存器,硬盤和fas368m之間的數據都要通過fifo寄存器。它有兩方面的用途:當fas368m通過scsi總線向硬盤傳送數據和命令時,可以先把要傳送的數據和命令放在fifo寄存器,等scsi總線空閑,并獲得總線控制權以后再開始傳送;另一方面,由scsi總線傳送到fas368m的數據,也可因為tms320f206或dma控制器忙而停止,數據先送到fifo寄存器空出scsi總線,等tms320f206或dma控制器空閑再從fifo寄存器讀取數據。
·傳輸計數寄存器(transfer count register)是一個減計數器,它通常用來保存一次dma命令所要傳輸數據的字節數。
·中斷寄存器(interrupt register),fas368m所有的都以中斷的方式通知tms320f206。tms320f206通過讀取中斷寄存器和其他狀態寄存儲器判斷fas368產生中斷的原因,決定下一步操作,從而實現fas368m對tms320f206的通信。
3.2 epm7064內部邏輯和作用
設備中的dma控制器由cpld器件epm7064實現,這主要有下面幾方面的考慮:
(1)設備接口緩存器采用專用fifo芯片idt7208,它的數據總線可以和fas368m的dma數據總線直接連接,不需要復雜的緩存器地址譯碼電路。因此,dma控制器不需要數據與地址總線,硬件連線可以大大減少。而配合fas368m dma數據傳輸的時序,dma控制器只需在dma傳輸請求信號dreq有效且idt7208空信號ef無效時,使dma傳輸響應信號dack有效,隨后在時鐘信號clk驅動下連續產生同步的idt7208讀信號rd和dma寫信號dbwr,實現從idt7208到fas368m的dma傳輸;反之,則使dma傳輸響應信號dack無效,隨后停止產生idt7208讀信號rd和dma寫信號dbwr,中斷從idt7208到fas368m的dma傳輸。這些時序邏輯完全可以用一片小的cpld器件實現,因此選用epm7064設計了該dma控制器。
(2)fas368m支持高達50mb/s的快速dma傳輸。一般的專用dma控制器芯片難以勝任,而且專用dma控制器與fas368m的連接需要一定的邏輯轉換電路,硬件連線也較多。同時,它還必須在tms320f206的控制下與fas368m一起協調工作才能實現dma傳輸,又增加了軟件的復雜程度。
電腦有成千上萬的數據需要記錄,我們使用的電腦都具備從高速存儲設備中讀取信息的能力。早在一九五六年,鼻祖IBM公司的RAMAC 350就已經可以實現,網絡電子信息的存儲了,雖然它的容量只有5MB,但是它的體積卻相當于兩個冰箱。它的出現是現代信息存儲技術的開端,直至今日,存儲技術已經有了半個世紀的發展。
一、現代硬件存儲設備的現狀
近年來計算機硬件技術得到了飛速的發展,而另一方面,信息和數據也在不斷的增長,為了滿足信息存儲的要求,硬件存儲設備被不斷的改良,現今指甲蓋大小的儲存卡,就有幾個G,甚至是幾十G的信息容量,這在以前是想都不敢想的。硬件存儲設備包括硬盤、光盤、U盤,移動存儲設備等等,這一類的存儲設備統稱為固態存儲設備,目前在世界的范圍內都是用固態存儲設備進行數據信息存儲的,這主要是因為其自身的低碳制作性質,再加上它是由固態電子存儲芯片通過矩陣排列制成的,具有很多傳統設備不具有的優點,所以固態存儲設備成為主流的存儲設備。固態硬盤(Solid State Drives),簡稱固盤,固態硬盤(Solid State Drive)用固態電子存儲芯片陣列而制成的硬盤,由控制單元和存儲單元(FLASH芯片、DRAM芯片)組成。被廣泛應用于軍事、車載、工控、視頻監控、網絡監控、網絡終端、電力、醫療、航空、導航設備等領域。固態硬盤和普通硬盤的接口規范、定義、功能以及使用方法都是相同的,在外型上也和普通硬盤一致;固態硬盤相比磁盤驅動,更加的抗震,而且機械故障點比較小,而且能夠承受更強的沖撞影響。其次,固態硬盤還有噪音小的優點,幾乎是無聲的,如此一來也就適合在居住環境下使用,由于固態硬盤消耗的能源較少,產生的熱量也很小,因此它不需要風扇進行散熱處理。這取決于固態硬盤的無聲運作,不同于旋轉硬盤驅動,不會產生很大的噪音。雖然固態存儲設備的造價比較昂貴,由于固態存儲設備具有更加的耐震、更加耐用,噪音更小,體積更小的特點,使其被廣泛應用到航空,軍事等諸多領域之中,隨著現代存儲技術的不發展,固態存儲設備也會逐漸的普及[1]。
二、網絡存儲的形式
最早的網絡儲存形式只有電子郵箱服務系統的存儲,該存儲只能是將較小的文件或者圖片放入郵箱之中,不能進行大文件的存儲。但是隨著網絡科學技術的迅速發展,網絡存儲的形式出現在了人們的生活之中,這種網絡存儲形式叫做網絡硬盤、網盤、又稱網絡U盤。無論何時何地,只要有互聯網覆蓋就可以使用網絡硬盤,用戶可以很方便的對網絡硬盤中存儲的數據信息進行編輯和使用,而且不用擔心數據信息丟失,非常的安全。正是由于網絡硬盤具有方便、快捷、靈活、安全等特點,所以它受到了廣大人民群眾的喜愛。現如今,很多網盤企業都想要以盈利的方式來服務人群,例如:網絡硬盤的存儲量只有1GB,如果用戶想要存儲更多的數據信息,就必須進行消費,購買更大容量的網盤。這樣做可以使網盤企業的收入有所保障,自然就可以讓用戶享受更好的服務質量,但是,一旦采取收費服務必然會失去很多用戶,網盤企業一致在免費服務和收費服務之間糾結著,始終是找不到一個很好的解決方法,這個難點在很大程度上制約了網盤技術的發展[2]。
三、網絡存儲的發展現狀
早在2006年,“云”概念及其理論就在谷歌推出的“Google101計劃”中被正式提出,云概念是基于“云計算”技術,實現各種終端設備之間的互聯互通。用戶享受的所有資源、所有應用程序全部都由一個存儲和運算能力超強的云端后臺來提供。隨后微軟、IBM等公司也宣布了各自的“云計劃”,在這之后,云存儲和云服務等相關的云概念相繼出現。隨著我國網盤技術的不斷發展,市場競爭日益激烈的情勢下,傳統的網盤技術也逐漸的顯現出一些弊端,也逐漸的滿足不了人們的方便需求。云網盤存儲是目前最為先進的網盤存儲技術,它以更高的性能逐漸取代了傳統的網盤存儲。云存儲技術是通過應用軟件將網絡中大量各種不同類型的存儲設備集合起來協同工作,共同對外提供業務訪問和數據存儲功能的一個存儲系統,該系統具有安全系數高、存儲量大、使用方便、適用人群廣等等優點,因此,云存儲系統受到人們廣泛的喜愛[3]。
四、結束語
隨著我國互聯網技術的快速發展,人們在使用信息和儲存信息的需求越來越大。現如今,各個行業領域都實現了信息化的辦公模式,需要儲存的信息也變得更多了,儲存形式的發展關乎著每個企業及個人的利益。因此,網絡儲存不但要有高速安全性,同時也要具備超大的容量。安全性,高速度,大容量是未來網絡儲存的發展方向,除此之外,網絡存儲的自我管理和數據恢復也是必須要具備的功能。但是在網絡儲存技術發展和使用的過程中是不可能一帆風順的,肯定會出現這樣那樣的難題,這就需要我們不斷完善和提高網絡存儲的安全性和可靠性,促進其發展。
參考文獻:
[1]陳川.計算機硬件儲存設備與網絡儲存的發展現狀[J].科技經濟市場,2011,11:22-23.