◆楊志博 張彥林
批量文件加密實時傳輸及存儲的方法分析
◆楊志博 張彥林
(甘肅省軍區 甘肅 730000)
針對當前復雜的文件加密傳輸與信息存儲,本文在了解傳統批量文件加密實時傳輸方案弊端的基礎上,提出了一種新型的文件加密傳輸與存儲方法,希望為進一步增強系統功能奠定基礎。
批量文件;實時傳輸;數據存儲;Storm
針對現階段頻繁發生的信息系統安全問題,對批量文件的加密成為避免信息泄漏的關鍵,在此基礎上進行有效的信息數據傳遞有助于提高信息傳遞水平,滿足社會對各類信息資源的需求。但是就目前而言,批量文件加密實時傳輸與存儲在技術設計以及功能設置上還存在諸多不足,為了能夠有效解決此類問題發生,就必須要對其中的關鍵技術進行完善,這也是本文研究的主要目的。
從技術發展現狀來看,關于批量文件加密以及數據實時傳輸已經被廣泛應用在大數據與云計算領域,就目前而言,隨著企業生產規模的不斷擴大,傳統的信息傳輸模式已經不再適用于企業發展需求,關于批量加密數據的存儲與傳輸成為影響企業可持續發展水平的重要因素。為了能夠適應未來生產需求,相關企業必須要在信息技術管理手段上進行創新,在不斷拓展信息存儲空間的基礎上,最大限度上的保證信息系統安全。但是就目前而言,在批量文件的實時傳輸與數據存儲中還存在諸多問題,主要表現為以下幾方面:(1)傳統模式下的批量文件傳出以及存儲主要選擇主備模式接口機組網,所以為了能夠實現數據的同時同步則需要部署充足的SFTP服務,這種模式會顯著增加部署的難度,并且一旦系統主機出現故障之后將會直接影響系統運行,備機所存儲的數據不能保證信息的一致性,容易引發信息失真問題。接口機在存儲信息期間通常會通過內置盤劃分raid,這種模式缺乏必要的數據保護功能,導致數據可靠性較低,尤其是在單臺服務器運行過程中會受到磁盤IO的限制[1]。(2)在接口機運行中采用了主備模式,導致在系統運行過程中可能會出現大量的閑置備機,不僅造成資源的浪費,而且也無法針對接口機的運行狀態做有效的業務分配,不滿足未來信息資源管理要求。
針對批量文件加密傳輸的性能要求,本文在框架設計中結合大數據技術,結合相關單位(或個人)針對需求的分析來完善系統的架構,通過大數據流式框架對批量文件做采集、切分、壓縮等一系列操作之后,最終將其存儲到系統服務器中。在本次框架設計階段,需要重點考慮以下幾方面問題:(1)為保障有效的信息傳遞,則需要打造專屬服務器以及相對應的傳輸協議。從現有技術發展情況來看,本文在框架設計中可以采用HTTP/TCP模式傳輸系統控制信息,使用RTP/UDP模協議傳輸加密批量文件數據,期間為確保服務器輸出的信息能夠直接傳遞到目標地址,則需要通過上述兩種協議與服務器之間構建聯系。(2)在批量文件傳輸過程中需要使用壓縮技術,在將文件壓縮成特定的格式之后再進行信息傳輸。在這個過程中,由于批量文件傳輸過程需要耗費大量的時間,在壓縮后可以減少批量文件傳輸過程中所占據的帶寬。(3)在框架內傳遞的數據是結構化的,為強化傳輸效果,可以在原有結構的基礎上增設一個序列化封裝結構,能夠實現批量文件的數據采集與分組,保證了批量文件可以實現有效的信息傳遞。
在上述功能設定后,本文設計了該系統的基本框架,框架的結構如圖1所示。
根據前文介紹的內容可知,在本文所介紹的系統結構中采用了結構化模式,所以在搭建系統中重點圍繞這一數據處理要求來妥善處理各種處理數據,通過在main函數中配置批量文件的地址以及推流地址后,將加密文件傳輸業務提交到網絡集群環境中并進行運行。在這個過程中,網絡平臺實現批量文件數據接收、分析以及壓縮、推流等工作后,實現系統集中處理;在批量文件加密處理后的數據發送至Bolt模塊做數據的壓縮與加密,這個過程每個系統處理行為均由相應的Bolt負責,因此可以有效改善任務之間的耦合度,保證數據傳輸效果。

圖1 系統結構
與傳統技術相比,Storm框架在數據傳輸中具有可靠性高、低延遲等優點,尤其滿足視頻、圖片等大容批量文件的傳輸要求,是一種可行技術,所以在本文中介紹將以Storm為基礎搭設系統環境,其硬件環境的配置方案為:選擇華為彈性云服務器,在該服務器上打造Ubuntu64位系統,該系統為本次批量文件加密傳輸的存儲庫;同時針對Storm可視化需求,在主節點上選擇雙單核處理器。
Storm的軟件開發環境為:JDK版本:JDK1.8.0_231;(2)Maven版本:Apache-maven-2.5.5;(3)Python版本:Python2.7.2。
在上述軟件開發環境中,Maven作為項目管理工具能夠用于系統項目代碼管理,管理功能包括:程序“jar”打包、充當bug調試工具等。在Storm的Supervisor節點中需部署Zookeeper分布式應用程序,該程序發揮著服務協調的作用,在整個系統中的功能包括:(1)在Supervisor與Nimbus之間無信息傳遞,所以當Nimbus接收Storm的任務拓撲后可以直接將任務信息錄入Zookeeper中,方便系統快速讀取對應節點的狀態信息并快速完成資源分配。(2)當Task執行失敗時Zookeeper能夠獲取失敗信息,確保Nimbus主節點可以按照運行信息重啟Task等。
為滿足加密狀況下的特殊信息處理需求,本文所介紹的系統在加密中主要是在JDK環境下實現的,方便監控整個Storm的狀態信息,并從中提取數據傳輸與存儲過程中的異常信息,判斷批量文件是否遭受安全威脅。在Storm框架以及對應的軟件環境開發結束后即可選擇啟動Storm,期間需先運行Zookeeper服務模式,在安裝目錄下執行操作命令查看系統的運行狀態,當Zookeeper運行成功后即可進入Storm的bin目錄下,完成系統框架啟動[2]。
系統框架啟動之后,基于Storm框架的批量文件加密傳輸執行過程為:用戶在客戶端建立Topology后,可以直接定義Bolt與Spout的初始并發度(初始Executors數量)并定義組件分流策略;之后將Topology提交到Nimbus中,由Nimbus按照系統設定內容分配批量文件傳輸任務,下載依賴包源代碼數據,分配到對應的Zookeeper上;最后子節點可以通過查詢Zookeeper的信息分配詳細,執行Tasks。
2.5.1網關關鍵業務節點以及邏輯流程
在批量文件加密實時傳輸及存儲中,網關的功能也是影響系統性能的關鍵,本文采用分布式SFTP網關方法,在該網關下的關鍵業務節點包括:網關模塊、驗證服務器、云陣對象存儲、后端DB2數據庫、大數據平臺等,網關的邏輯流程為:(1)業務系統通過批量采集數據文件,并通過加密SFTP上傳,此時系統開始記錄對應的批量文件數量(1~n);(2)業務系統上的批量文件局按照SFTP加密協議上傳到對應的網關模塊后,由SFTP網關模塊按照協議內容向存儲模塊做轉換;(3)批量文件數據在SFTP網關模塊上將接收的數據通過透傳的方法直接將文件存儲值云平臺上,該平臺上能夠完成數據保護;(4)驗證服務模塊可以直接從SFTP網關中拉取業務數據并下載到本地;(5)通過數據驗證的方法提取批量文件傳輸的日志文件。
2.5.2網關實現策略
在網關實現策略中,主要采用應用組件以及數據組件等,其中應用組件主要被部署在DMZ區,數據組件布置在內網核心區,在上述架構的基礎上,SFTP網關模塊具有負載低、性能消耗低、易拓展等優勢,其實現步驟包括:
(1)SFTP與S3的協議轉換。該功能的主要功能就是要將SFTP協議轉化為云存儲的S3協議,經外委業務系統將需要存儲的批量文件加密數據存儲在系統后,通過SFTP網關模塊實現協議轉換后,需要摒棄現行方案的協議模式,先將批量文件數據上傳至接口機內置盤,再經接口機客戶端軟件推送至云計算平臺上。在該方案中批量文件在SFTP網關下能夠實現透明傳輸,其中的數據經過協議轉換后可直接傳輸到云平臺存儲系統中。
(2)SFTP網關的多服務多活。為滿足批量文件加密傳輸需求,SFTP網關需采用多服務多活的模式,在現有的網絡架構下,該功能的實現策略為:(1)SFTP網關中的Server根據承載服務器的承載性能比例情況,可以直接在對應的服務商啟動SFTP網關服務進程,這個過程中會通過均勻分布的方法來盡可能提升整個系統結構的性能。(2)通過對后端云陣系統存儲庫做節點標識,可以提供對應的S3協議接口,簡化數據傳出過程。(3)根據底層服務器的分配方案,能夠將SFTP網關服務進程與存儲節點一一對應,并采用分散部署的方法,分別對應存儲數據庫節點與SFTP網關服務。
本文介紹的技術手段能夠有效解決批量文件加密實時傳輸以及存儲過程中存在的問題,是一種科學的技術手段,與傳統技術相比,本文采用了Storm框架結構,該結構能夠提供更穩定的批量文件傳輸支持策略,滿足不同工況下的數據傳輸需求。同時本文所使用的SFTP網關技術進一步增強了整個系統的功能,具有技術先進性,值得推廣。
[1]龍笑.無人機貨運大數據實時傳輸及管理技術研究[D].南京航空航天大學,2019.
[2]閆亞玲,李博,孟祥飛.基于DSP+ARM的音視頻同步壓縮存儲實時傳輸系統設計[J].實驗室研究與探索,2019,38(01):69-72+90.