摘 要:為解決檔案信息數據在服務器、Web客戶端、移動客戶端等不同平臺之間的數據傳輸問題,設計出能夠實現高效、跨平臺數據傳輸的模型具有重要意義。從數據傳輸效率、安全、技術等方面對數據傳輸模型現狀進行研究,提出檔案信息共享平臺的數據傳輸模型需求與設計方式,采用基于WCF技術架構,使用NET技術進行跨平臺系統開發檔案信息共享平臺數據傳輸模型,使該模型運用于檔案信息共享平臺。通過對檔案信息共享平臺數據傳輸模型應用效果進行評估,實踐架構模型可滿足檔案信息共享平臺在不同平臺數據傳輸的要求,實現高效準確傳輸檔案信息數據的目的。
關鍵詞:數據傳輸;檔案信息;共享平臺;模型設計;WCF
0 引言
“檔案是有史以來最早產生的文獻之一,也是現代社會的核心信息資源的重要門類”[1],有效開發和合理利用檔案信息,不僅是社會技術進步的需要,更重要的是關系到檔案信息創新成果能否充分運用到社會生產中。伴隨著社會科技的發展,檔案信息共享平臺除了可以在傳統的Web平臺上進行信息資源共享,移動平臺的檔案信息共享也成為越來越重要的需求點,尤其是如何利用WCF技術進行不同平臺之間的信息資源傳輸與共享是當前研究的重點。本文的目的在于研究一款數據傳輸模型,使用該模型可以便捷地在服務器端、客戶端、移動終端之間進行數據交互,并實現數據傳輸的安全高效。
1 數據傳輸模型研究現狀及意義
隨著移動互聯網技術的發展,用戶除了可以通過傳統的電腦進行檔案信息的研究外,還能夠隨時隨地通過移動設備接入檔案信息共享平臺進行研究[2]。跨平臺作為檔案信息的新特點,對數據傳輸安全與數據傳輸效率的要求較高。
1.1 數據傳輸效率。提高數據傳輸的效率,主要包括兩個方面因素,一是取決于服務器端與客戶端的網絡帶寬;二是如何減少數據在傳輸過程中產生的信息。在減少數據傳輸產生的信息方面,一是控制未處理的信息包含在傳輸的數據中,二是對傳輸過程中的數據格式進行優化,即同樣的信息在被客戶端接收后能夠無損進行識別,這是數據傳輸效率提升的關鍵所在。檔案信息共享平臺的數據在傳輸過程中目前可以采用的格式有FSV格式、XML格式、JSON格式。對于這三種格式的傳輸效率國內外已有相關研究[3],其中XML已經被業界廣泛地使用,其在數據傳輸過程中采用XMLHttp方式,而JSON才剛剛開始,其作為新生代的純文本數據格式,在Ajax 數據交換中有著得天獨厚的應用優勢。對于JSON數據格式比較簡單,易于讀寫,格式都是壓縮的,占用帶寬小,且支持多種語言,包括C、C#、Java、JavaScript、Perl、PHP和Python等服務器端語言,便于服務器端的解析。
1.2 數據傳輸安全。檔案信息共享平臺的數據在傳輸過程中需要加密處理,到達目標后需要進行解密處理,這就需要采用對稱加密算法對數據進行處理,數據傳輸的安全重點需要對適用于數據傳輸過程中的加密算法進行研究。在數據傳輸過程中利用對稱密碼技術[4]構造安全的數據傳輸協議,以及復雜的密鑰分配,密鑰管理協議等[5]。在公鑰密碼算法優化方面,優化了傳統公鑰密碼算法中的模大數乘法和模大數的指數等基本數學運算,針對橢圓曲線密碼系統中的基本運算,同樣有類似的研究,采用點乘和點加的優化[6]。
1.3 數據傳輸技術。檔案信息共享平臺的數據傳輸技術可以采用.NET技術實現,其采用方式目前有以下幾種方式:Socket、.Net Remoting、WebService、WCF。如目前比較流行的騰訊QQ、銀行系統之間通訊對于Socket通訊應用比較廣泛;再如前幾年比較火的SOA以及當前比較火的云計算之類的應用在技術層面上采用的是WebService技術進行數據傳輸,對于企業內部應用.Net Remoting傳輸技術應用比較廣泛。而現行的WCF技術對.Net Remoting、 WebService等的簡化、統一,在檔案信息共享平臺數據傳輸平臺上可以通過配置來切換不同的底層實現且較好地適應外部環境的變化。
1.4 數據傳輸模型研究意義。檔案信息共享平臺的發展趨勢在于移動化、多平臺化,這就需要有一個能夠支持多平臺數據實時傳輸與信息更新的模型。這種模型研究將有利于探索支持跨平臺數據傳輸的最新技術,該技術能夠以統一的方式支持不同平臺進行數據交互,特別需要對移動平臺數據交互支持;同時有有利于探索最有效的數據傳輸方式,能夠有效地解決數據傳輸過程中的效率與安全瓶頸。
2 檔案信息共享平臺數據傳輸模型需求及其設計
通過對傳統的數據傳輸模型進行研究,其在數據傳輸的開放性及安全性方面存在不足,對于移動互聯網時代的檔案信息共享平臺數據傳輸模型需要滿足高效、安全及支持跨平臺的需求,其中高效是數據在傳輸過程中采用最少的信息,安全是確保傳輸的數據在應用程序級能夠采用適當的加密方式不被非法用戶截取并非法利用。支持跨平臺是不同平臺可以采用相同的方式調用該模型進行數據請求與數據接收。因此,檔案信息共享平臺的數據傳輸模型的需求與設計方式要做到數據傳輸高效、傳輸過程安全和支持跨平臺傳輸。
2.1 數據傳輸高效。檔案信息共享平臺是開放給社會用戶及相關科技工作者使用的,就會存在多用戶的并發操作該平臺,這樣就涉及數據傳輸性能的問題。如果數據傳輸出現瓶頸,直接導致的后果是平臺不能正常使用。對于檔案信息共享平臺首先要解決的是傳輸效率問題,使用戶在操作的過程中能夠正常使用系統,從系統開發與實踐的角度看,主要是減少平臺在數據交互中的傳輸的數據量。本數據模型在數據傳輸前會將需要傳輸的數據轉換成JSON(JavaScript Object Notation),這是一種輕量級的數據交換格式,基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集[7],到達目標后將JSON數據再次轉換成需要操作的數據類型,設計流程如圖1所示:
2.2 傳輸過程安全。檔案信息共享平臺在互聯網上是一個開放的平臺,涉及的數據包含了用戶的私人信息,這部分信息應該是不被明文傳輸,需要將原始信息進行加密處理,即需要達到即使傳輸的數據被非法獲取也不能被正常解密。為保證信息在傳輸過程中的安全,模型采用動態GUID(Globally Unique Identifier)作為密鑰進行加密的方式處理,動態GUID為全局唯一標識符。在每個用戶的賬戶通過審核后,會為其自動分配一個GUID,用戶在后繼的數據請求中,模型會自動將用戶的GUID作為密鑰進行信息傳輸,在數據達到用戶端將采用用戶自帶的GUID作為密鑰進行數據解密操作,設計流程如圖2所示:
2.3 支持跨平臺傳輸。移動互聯網的發展使得數據傳輸不局限于傳統的PC之間進行,同時需要數據傳輸能夠實時支持移動客戶端設備。這就要求平臺的數據模型需要支持不同的平臺,即實現跨平臺的需求。要實現數據在不同平臺共享,就需要一個支持跨平臺數據通信的應用程序框架,比較流行的方式有SOA的架構模式[8],檔案信息共享平臺數據傳輸模型采用微軟的WCF(Windows Communication Foundation)服務作為中間的介質,這是因為WCF技術支持多種通信協議Http/Https 、Remoting、命名管道、TCP/UDP、MSMQ、對等網、消息可達性、事務流等[9],在開發移動客戶端上具有兩個顯著優點:一是向下兼容;二是安全性高。WCF技術整合了原有的windows通訊的.net Remoting,WebService,Socket的機制,并融合有Http和Ftp的相關技術,檔案信息共享平臺所有的數據的請求經過WCF服務進行,不同平臺的信息經過WCF服務的轉換可以到達相同的平臺或者不同的平臺,通過合理的配置,使該數據傳輸模型在不同平臺之間自由進行數據傳輸與數據轉換,數據請求流程如圖3所示:
3 檔案信息共享平臺數據傳輸模型實現
檔案信息共享平臺數據傳輸模型采用基于WCF技術架構,使用.NET技術進行跨平臺系統開發,SQL Server2008作為后臺數據庫。要使數據傳輸模型達到高效、安全及支持跨平臺的要求,在WCF服務具體的相關傳輸模型上需要設計相關接口,供數據傳輸模型中具體的數據操作與訪問,為了使數據傳輸模型具有安全高效的能力,還需要設計部分通用的過程,其中包括數據轉換(JSON)、安全、通用數據操作。在此基礎上,還需要考慮模型中的文件及圖片信息的處理,最后需要在該模型具體實現上設計一個對外的WCF服務,該服務的使用需要經過身份驗證。
3.1 數據傳輸模型的核心架構。數據傳輸模型包含三個部分:數據契約、服務契約、服務接口實現。為了實現開發的可擴展性與獨立性,將這三個部分分別設為三個具體的項目,包括服務數據契約項目,該項目主要定義數據操作及數據傳輸的基本單元;服務契約項目,該項目預先定義模型相關方法的名稱及參數,使不同的平臺調用服務采用相同的定義規則;服務實現項目,該項目依賴于服務數據契約與服務契約,主要職責為實現具體傳輸的邏輯,及根據傳入的服務及參數,經過邏輯處理傳出用戶需要的數據,最終通過服務提供給外界平臺使用。數據傳輸模型采用基于WCF技術的架構,在實際的應用中根據用戶的實際需求,向三個項目中添加不同的實現,這樣也可以做到項目的分工,不同角色的人員維護不同的項目,具體的項目之間的關系如圖4所示:
3.2 數據傳輸模型中的通用方法工程。正如數據傳輸模型核心架構所示,為了更好地重用相關具體操作,對常用的功能與傳輸模型的特色部分需要封裝。這部分主要包含兩個項目:數據訪問與操作工程、通用方法工程。對于數據訪問與操作工程,為了支持未來的數據庫的可擴展,采用抽象工廠的模式,暫時實現了支持SQL Server數據庫的訪問與操作的相關方法,在實際的模型調用中將根據配置文件動態調用具體的數據庫方法;對于通用方法工程中,數據傳輸的方式與加密處理為該工程的核心,在實際的數據傳輸中,需要將需要傳輸的信息處理成JSON格式,這就包含了生成與解析JSON字符串的通用方法,涉及用戶隱私信息的部分需要進行加密傳輸,以確保數據傳輸的安全,在具體實現上在每個方法的參數上加上了一個GUID標簽,根據標簽驗證服務訪問的合法性與內容加密的證據,具體的是安全實現流程如圖5所示:
3.3 數據傳輸模型中的WCF實現方式。在數據傳輸模型中,核心代碼包含接口定義與接口實現,在實際的開發中需要對代碼的實現進行版本控制,以便于追溯代碼不同版本,本模型的開發采用了Visual Source Safe 2005作為版本控制工具,每次新功能開發開始需要從版本控制工具中將最新的代碼簽出進行開發,開發完成編譯無誤后,再將代碼加上注釋簽入到版本控制工具。
3.4 數據傳輸模型中的WCF服務發布。在傳輸模型相關功能的開發完成之后,需要將服務發布到互聯網上才能真正實現跨平臺的信息傳輸服務。檔案信息共享平臺模型的發布服務每個接口提供一個服務地址,也就是需要為每個接口實現配置*.SVC文件,在WCF服務配置中采用微軟的IIS7作為傳輸模型的核心服務器。為了便于服務的調用,還需要一個固定的IP地址作為數據模型的訪問入口,為了使傳輸模型的平臺管理服務不暴露于公共的環境,需要對服務的使用范圍在服務器層面進行限定。
4 檔案信息共享平臺數據傳輸模型應用效果評估
在檔案信息共享平臺的數據模型實現之后,通過不同的平臺進行調用并采用HttpWatch來監控數據傳輸過程中的信息,來確認本模型是否達到以下目標:不同平臺可以調用本平臺的服務、論證用戶在數據傳輸過程中是加密的JSON數據。
4.1 數據傳輸模型跨平臺應用效果評估。數據傳輸模型跨平臺應用效果評估采用傳統的服務器、移動客戶端模擬器作為介質,其中對于移動客戶端模擬器采用蘋果的IOS系統,具體的流程為在Web開發的項目與移動客戶端項目通過發布的WCF服務地址添加相同服務,并運用WCF服務實現用戶的注冊與登錄功能,在Web上注冊一個用戶賬戶,然后在IOS模擬器上使用在Web平臺上注冊的賬戶進行登錄,采用該模型可以順利實現不同平臺之間的數據傳輸。
4.2 數據傳輸模型安全及性能效果評估。數據傳輸模型的安全及性能效果評估采用HttpWatch來分析數據傳輸過程中的數據變化情況,具體的流程為執行一次獲取指定條件的檔案信息作者信息數據請求,查看在數據請求中包含了哪些信息,在數據返回給用戶是以何形式來展現,其中對于檔案信息返回結果數據的聯系方式信息部分是采用加密的方式處理,通過該方式確認該模型能夠達到傳輸需求,圖6為監控的采用該數據傳輸模型的信息交互情況:
通過圖6發現,①為數據請求的條件,兩次請求輸入的條件是一樣的,但是輸入條件的時間點不一樣,是兩次不同的登錄,由于每次登錄產生的動態GUID是會變化的,所以相同的請求會根據用戶的登錄信息產生動態的加密信息,這樣可以確保加密信息只能被合法用戶識別,將保證檔案信息數據的高效傳輸及其傳輸過程中的安全。
5 總結
檔案信息共享平臺設計了從數據請求、傳輸數據加工到數據接收處理為一體的平臺數據傳輸模型。與現有的數據傳輸模型相比,該平臺建立了一個具有跨平臺能力的數據傳輸模型,在實際的生產中具有較廣的應用。模型在具有跨平臺傳輸的能力基礎上,首先將傳輸的內容進行獨特的用戶隨機GUID方式加密,確保了信息傳輸的安全,其次將數據傳輸的格式轉換處理為JSON格式,使傳輸的數據量達到最精簡,最后將WCF技術引入到整個傳輸模型,使該模型具有了跨平臺的能力。但采用該數據傳輸模型也存在著一些缺點,主要是需要增加系統實現的開發與后期的維護成本,對于系統需求本身比較簡單的平臺不適宜采用該模型進行數據傳輸。實踐表明,該平臺模型能夠有效地滿足檔案信息共享平臺未來不斷擴展的數據傳輸需求。
參考文獻:
[1]陳兆祦,和寶榮,王英瑋.檔案管理學基礎(第三版)[J] .北京:中國人民大學,2005:10
[2]卞咸杰. 基于WCF技術的科技論文共享平臺架構研究[J].情報科學,2015(1):100~104.
[3]Ramon Lawrence.The space efficiency of XML[J].Information and Software Technology,2004,46(4):753~759.
[4]毛黎華.基于云計算用戶數據傳輸與存儲的安全策略研究[J].電子技術與軟件工程,2014(13):234.
[5]李志永.移動互聯網數據傳輸安全機制研究與設計[D].南京航空航天大學,2010:8~9.
[6]Cohen H,Miyaji A,Ono T.Efficient elliptic curve exponentiation using mixed coordinates [M].Lecture Notes in Computer Science,Heidelberg:Springer Berlin,1998:51~65.
[7]董偉,呂同斌.RFID技術和移動互聯網在考務系統中的應用與實現[J].電腦知識與技術,2014(2):281~283.
[8]王先平,張永芬.基于SOA 架構的分布式聚類算法的Web服務模型研究[J].數字技術與應用,2014(4):136~137.
[9]Kola Siva Tharun. ADVANTAGES OF WCF OVER WEB SERVICES. International Journal of Computer Science and Mobile Computing [J].2013(4):340~345.