- 相關推薦
移動網絡適用數據增量同步實踐論文
反假貨幣宣傳系統是一套用于宣傳貨幣防偽知識、提高公眾反假貨幣水平和能力的金融設備,通過人機互動,以圖文和動畫視頻相結合的表現形式進行信息的展示。傳統的反假貨幣宣傳系統只包括工作站,工作站上大多采用Flash等技術進行軟件開發,向公眾宣傳反假貨幣法律法規和貨幣防偽知識。軟件中的頁面與數據緊耦合,且所有信息均在出廠時初始化到工作站中,一般放置于各銀行的營業廳內供公眾自由使用。工作人員只能在設備現場手動更新,是一種離線式觸摸終端。新一代的反假貨幣宣傳系統結合了數據庫和移動網絡,分為工作站和服務器兩個部分。工作站和服務器均利用數據庫有序管理各種數據,實現了數據與展示頁面的分離,為數據的靈活修改提供了可能;同時利用移動網絡進行服務器和工作站之間數據的實時同步,使服務器上的最新數據能夠盡快地同步到設備上,既能及時展示最新信息,避免過時的內容誤導公眾,又能減少工作人員現場作業的成本,是一種在線式觸摸終端。本文分析了新一代的反假貨幣宣傳系統在實際場景中采用移動網絡進行數據同步時的特點,針對性地提出了一種基于版本號進行管理的增量數據同步策略,并在dotNET平臺上利用WCF技術進行了實現。經過測試,該策略達到了最初的設計目標,并已在實際生產中使用。
1數據同步中需要解決的問題
新一代的反假貨幣宣傳系統中的工作站放置于各銀行的營業網點內,服務器放置于數據中心。各銀行的有線網均為銀行內部網絡,因此,工作站只能通過配備無線網卡,經由電信運營商提供的VPN網絡,與服務器進行連接。采用移動網絡進行通信給我們的數據同步策略帶來了兩個挑戰:(1)在移動網絡中,信號強度容易受到干擾,導致連接速度的不穩定,在一些信號較差的位置,甚至會出現大量超時丟包,出現網絡時斷時續的情況;诖,我們的策略中應提供斷點續傳的功能,最大限度保證傳輸的完整性。(2)電信運營商大多采用按流量計費的方式,出于日常維護費用方面的考慮,我們的策略中應盡量減少數據包的大小。數據庫記錄可以轉化為SQL語句,經過壓縮之后減少體積;資源文件本身難以進一步壓縮,而且并不一定需要每次都進行傳輸;诖耍芾韱T應能夠自由指定是否更新資源文件,從而避免相同資源文件的重復傳輸。在實際應用中,工作站能夠主動發起數據更新從而實現定時同步,服務器也能夠主動發起對某些指定工作站的數據更新從而實現最新數據的及時推送。為此,我們在工作站和服務器兩部分設計了不同的服務供對方調用。
2SOA及WCF介紹
面向服務的體系結構(SOA,Service-OrientedArchitec-ture)是一個組件模型,它將應用程序的不同功能單元(也稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種各樣的系統中的服務可以使用一種統一和通用的方式進行交互Windows通信開發平臺(WCF,WindowsCommuni-cationFoundation)是微軟為構建面向服務的應用提供的分布式通信編程框架,是.NETFramework3.5的重要組成部分。使用該框架,開發人員可以構建跨平臺、安全、可靠且支持事務處理的企業級互聯應用解決方案。WCF是微軟分布式應用程序開發的集大成者,它整合了Net平臺下所有的和分布式系統有關的技術,例如.NetRemoting、ASMX、WSE和MSMQ。以通信范圍而論,WCF可以跨進程、跨機器、跨子網、企業網乃至于Internet;以宿主程序而論,WCF可以以ASP.NET、EXE、WPF、WindowsForms、NTService、COM+作為宿主。WCF可以支持的協議包括TCP、HTTP、跨進程以及自定義,安全模式則包括SAML、Kerberos、X509、用戶/密碼、自定義等多種標準與模式。WCF支持大量的WebService標準,這些標準包括XML、XSD、SOAP、Xpath、WSDL等標準和規范,所以對于現有的標準,開發人員能夠方便地進行移植。同時WCF可以使用Attribute屬性進行WCF應用程序配置,提高了WCF應用的靈活性。WCF遵循客戶端/服務器模式(C/S)在應用程序之間進行通信,客戶端程序能夠通過服務器提供的EndPoint端直接訪問服務。在WCF框架下,開發基于SOA的分布式系統變得容易了,微軟將所有與此相關的技術要素都包含在內,掌握了WCF,就相當于掌握了叩開SOA大門的鑰匙。
3數據增量同步策略的設計與實現
3.1版本定義
進行增量更新的關鍵在于,如何標注服務器數據和工作站數據的當前狀態,從而進一步得知每次同步時所需傳輸的數據。在此,我們引入一個版本的概念,所謂版本是指某一時刻服務器所存儲的已確定的所有數據的集合。每一個增量更新包代表了以上一版本數據為基礎,經過一系列修改之后形成下一版本數據,在這之間的數據變化,從而每個版本數據都可以看作是以前所有版本數據的疊加和最新修改之和,即版本版本新數據。工作站所維護的版本號和服務器所維護的版本號分別代表了其所存儲數據的當前狀態,工作站在進行數據更新時,只需逐個下載增量更新包進行更新,就可以確保最終與服務器的數據達到一致。數據庫作為系統存儲數據的核心,保存了所有的文本以及對資源文件的引用,因此我們為數據庫中的每個表增加3個字段——“數據版本號”、“操作方式”和“同步更新標志”,以此記錄文本對應的版本信息,并間接記錄資源文件對應的版本信息。通過“數據版本號”,可以很容易地確定每個版本所包含的記錄(數據版本號小于等于指定版本號的記錄即為該版本中包含的記錄);通過“操作方式”,可以確定在更新時所對應的SQL語句;“同步更新標志”則表示在數據的變化過程中,資源文件是否有變化,是否需要傳輸至工作站。因為工作站在展示貨幣防偽信息時,先讀取數據庫記錄,再由記錄上的內容確定資源文件,所以我們只需要標注記錄所在版本,即可間接標注資源文件的版本。
3.2管理員變動數據
管理員對數據的變動可分為3種:新增、修改、刪除。系統通過對記錄的數據版本號、操作方式、同步更新標志進行不同標注,作為后續處理的基礎。(1)管理員新增數據時,數據庫中將新增相應的記錄,文件系統中將新增相應的資源文件。此時數據庫記錄中的數據版本號為空,操作方式為A,同步更新標志為Y。(2)管理員修改數據時,數據庫將保存修改后的數據,資源文件可能改變亦可能不改變(取決于管理員是否引入新的資源)。此時數據庫記錄中的數據版本號為空,操作方式為M,同步更新標志為Y或N。(3)管理員刪除數據時,如果記錄為納入版本,即數據版本號為空時,從數據庫直接刪除此記錄即可,無需與工作站同步;如果記錄已納入版本,即數據版本號不為空時,數據庫并不立即清除數據和資源,而是將數據庫記錄中的數據版本號置空,操作方式置D,同步更新標志不變。
3.3生成新的版本
在管理員完成一系列操作之后,即可生成新的版本。在生成新版本時,服務器遍歷每一張數據表,取出其中數據版本號為空的記錄,然后根據每條記錄中操作方式的不同,進行不同的操作。之后,系統將把保存了所有SQL語句的文本文件、待打包列表中的指定的資源文件、待刪除列表統一打包為一個壓縮文件,并保存到系統的增量更新目錄下。生成新版本的算法如下:○1查詢已有版本,生成新的12位版本號!2對數據庫中每一張表,做以下○3至○4操作:對表中每一行數據版本號為空的記錄,根據操作方式的不同,做以下○4中操作:○4-○1操作方式為A,則生成完整的插入語句并保存到SQL文件,將資源文件鏈接放入待打包列表!4-○2操作方式為M,則生成完整的修改語句并保存到SQL文件,若同步更新標志為Y,則將資源文件鏈接放入待打包列表!4-○3操作方式為D,則生成刪除語句并保存到SQL文件,將資源文件鏈接放入待刪除列表,同時刪除數據庫中記錄以及相應的資源文件。○5將SQL文件、待打包列表中的指定的資源文件、待刪除列表打包為壓縮文件,形成增量更新包,并標注版本號。
3.4增量更新流程
在新的版本生成之后,即可對工作站進行更新。工作站主動更新的過程可視作工作站從服務器下載,服務器主動推送的過程可以視作服務器發送更新信號、工作站主動更新兩部分,從而將整個更新流程的核心轉化為統一的工作站主動下載,簡化了系統所需的服務。另外,由于系統采用電信運營商基于移動網絡所提供的VPN網絡,工作站每次上網前需要進行撥號以建立與移動網絡的連接,而每次重新撥號后所得到的IP都不一樣,服務器主動推送時,又需要知道指定工作站的IP,所以我們額外設計了一系列服務,實現在服務器上維護在線工作站IP信息的功能。工作站主動更新數據時,先通過CheckVersion服務,得到服務器上的版本信息,然后將兩端的版本號進行比對,從而判斷出是否有新的數據需要同步。在確定數據需要同步后,工作站通過Download服務,逐個下載增量更新包,并在本地解壓、更新,同時在日志中記錄更新過程。在完成所有更新操作之后,工作站通過UpdateVersion回送本地的版本信息,以便在服務器確認更新操作的執行情況。服務器主動推送數據時,則由服務器通過Notify服務,通知到工作站,然后由工作站完成以上一系列操作,直至更新成功或失敗。
4總結
本文分析了實際場景中采用移動網絡進行數據同步時的特點,針對性地提出了一種基于版本號進行管理的增量數據同步策略,并在dotNET平臺上利用WCF技術進行了實現。經過測試,該策略達到了最初的設計目標,并已在反假幣宣傳系統的實際生產中使用。策略的設計并不針對特定的業務,因此本文所述的策略可應用于其它基于移動網絡進行增量數據同步的業務系統之中。
【移動網絡適用數據增量同步實踐論文】相關文章:
大數據技術在移動通信網絡優化的運用論文06-09
移動通信網絡優化大數據分析論文09-22
數據挖掘技術在移動通信網絡的應用07-05
大數據網絡教育的論文09-15
大數據時代網絡教育論文09-12
大數據時代網絡信息安全探析論文10-06
基于Oracle數據庫的邏輯數據同步技術在實踐中的應用研究09-13
陜西文學精品移動網絡論文09-10
通信網絡監控大數據分析論文10-03
網絡數據通信的隱蔽通道技術論文08-12