許永宏
(中鐵第四勘察設計院集團有限公司信息中心,武漢 430063)
差量傳輸在鐵路設計過程管理中的應用研究
許永宏
(中鐵第四勘察設計院集團有限公司信息中心,武漢430063)
【摘要】文章對鐵路設計過程管理系統(tǒng)中文件的集中管理問題進行了分析,針對鐵路設計過程管理中圖形文件頻繁傳輸影響效率的困難,提出了一種根據(jù)鐵路設計圖紙文件動態(tài)比較、自動存儲文件差異、差量傳輸?shù)募泄芾矸桨?,探討了其技術(shù)實現(xiàn)方法,經(jīng)實踐證明該方案是可行與有效的。
【關(guān)鍵詞】鐵路勘測設計;過程管理;差量傳輸
【DOI】 10.16670/j.cnki.cn11-5823/tu.2016.03.21
1引言
鐵路設計的成果是各個設計文檔及電子文件,鐵路設計過程管理的一個重要任務是管理設計過程中文檔及其不同版本,以電子化方式在各組織人員之間流轉(zhuǎn)。對設計企業(yè)來說,這些中間成果及最終成果的文件極為重要。長期以來,鐵路設計院對這些文件的集中管理存在著一些困難:(1)數(shù)據(jù)量很大。鐵路設計的專業(yè)多、圖紙多,一個項目電子文件總量很大。(2)上傳時間較長。由于不少單個電子文件較大,導致上傳服務器時間較長。(3)頻繁上傳下載。作為設計文件,在整個設計流程中,由于外部因素經(jīng)常出現(xiàn)變化,經(jīng)過各級審查,經(jīng)常出現(xiàn)反復修改,導致反復上傳下載的情況。
本文提出了在鐵路設計過程管理系統(tǒng)中針對鐵路設計圖形文件特點,應用差量傳輸電子文件的方案,以解決上述存在的問題。
2差量傳輸?shù)募軜?gòu)和技術(shù)方法
2.1整體方案與架構(gòu)
由于鐵路設計過程中經(jīng)常性的文件修改,不少文件還附帶地圖數(shù)據(jù),如果每次都整個文件上傳,存儲空間需求大,時間消耗非常多。差量傳輸是指每次上傳僅傳輸上一次上傳之后發(fā)生改變的數(shù)據(jù)。這樣傳輸?shù)臄?shù)據(jù)量明顯減少,所需時間短,對計算機以及集中存儲的存儲設備資源消耗也相對較小。對于解決提高鐵路設計過程中的電子文件上傳、流轉(zhuǎn)和歸檔的效率有著很大的價值。
在鐵路過程管理中應用差量傳輸?shù)姆桨讣軜?gòu)如圖1。
圖1 差量傳輸應用方案架構(gòu)
整個方案主要由鐵路設計CAD端程序、傳輸管理器程序、服務器程序組成。當鐵路設計軟件CAD端發(fā)起保存至服務器的請求后,將請求和相應的文件信息發(fā)給本地的傳輸管理器程序,本地的傳輸管理器程序?qū)⑿畔⒈4嬖诒镜財?shù)據(jù)庫中,根據(jù)文件信息和歷史信息將文件劃分成塊之后,計算文件差異,將差異數(shù)據(jù)提交給服務器,并保存相關(guān)信息。傳輸管理器程序啟動時會檢查本地數(shù)據(jù)庫,將未完成的任務放入任務隊列,繼續(xù)執(zhí)行完文件的差量傳輸。
鐵路設計軟件CAD端和WEB端均可能請求下載文件的最新或指定版本。鐵路設計CAD端的請求將發(fā)給傳輸管理器程序,計算文件的差異后,將獲取的完整文件塊合并傳輸成文件放置在本地。WEB端則根據(jù)服務器端的信息,在服務器下載文件流的過程中直接合并傳輸完整文件塊,下載到客戶端。
2.2動態(tài)計算文件差異的方法
差量傳輸?shù)暮诵氖怯嬎阄募薷闹笈c原文件之間的差異,比較數(shù)據(jù)增量的算法可以用完全文件檢測技術(shù)、RSYNC算法、CDC算法、定長分塊算法[1,2],傳統(tǒng)的RSYNC[3]算法是Linux 下端對端的單向增量同步算法,但是其單向同步的算法在雙工的傳輸環(huán)境下,并不能夠完全適用[4]。RSYNC算法或CDC算法多用于數(shù)據(jù)備份,主要用于計算備份文件與原版本的差異,算法較復雜,分塊大小是變化的,但可以找出尤其是中間插入少數(shù)數(shù)據(jù)的最小變化量,采用滑動窗口的方式,按照單字節(jié)或固定長字節(jié),反復計算校驗值或RAbin指紋,查找相同部分。但是兩個算法也有缺點,對于變化差異很大的文件,RSYNC算法效率很低。對于CDC算法,數(shù)據(jù)塊大小的確定比較困難,粒度太細則開銷太大,粒度過粗則效果不佳。
與備份文件不同,在鐵路設計過程管理系統(tǒng)中,作為生產(chǎn)的設計人員,把客戶端文件保存到服務器上,或是恢復、獲取指定版本的設計文件,雙向傳輸頻繁,且很快就要看成果,為避免影響生產(chǎn)效率,算法的性能更加重要。鐵路設計人員常用的CAD軟件,經(jīng)測試,與文本型文檔不同,修改變動的部分多在文件后部,而且目前服務器端的存儲系統(tǒng)可以自動數(shù)據(jù)去重。而且,有時還需要很多擴展應用如對每個分塊加密,考慮到效率的重要性,因而在鐵路過程管理系統(tǒng)的方案中采用了簡單、性能高的定長分塊算法,以提高客戶端快速響應的用戶體驗。如圖2。
圖2 定長分塊方法
定長分塊只是針對每個文件按照固定的大小對文件劃分,最后一個文件塊大小也并不等于固定值,而且每個文件的固定大小值也并非相等。因而是根據(jù)文件類型和初始大小,動態(tài)確定一個分割文件塊大小,將文件按照該大小將文件分成許多文件塊,每個文件塊可生成校驗碼。每次計算文件差異時比較各文件塊校驗碼即可快速比較出發(fā)生變化的文件塊。
鐵路設計院常規(guī)的設計文件并不很大,但也有文件很大的情況,如果文件塊大小比較小,在通常傳輸?shù)囊粋€緩沖區(qū)大小內(nèi),建議直接上傳該文件塊即可。如果確定的文件塊仍然很大,可將新變化的文件塊與歷史文件塊做異或操作,相同部分為“0”,相同部分較多,會產(chǎn)生大量的“0”,通過簡單地編碼壓縮“0”后生成這類較大文件塊的文件差異,上傳該文件塊差異。針對整個文件設計一個索引表,描述該文件最新版本的所有文件塊信息,便于快速存取文件。
2.3差量傳輸?shù)募夹g(shù)實現(xiàn)要點
差量傳輸方案針對的是鐵路設計過程中頻繁存取的文件,減少傳輸量,提高系統(tǒng)性能,其主要功能是通過動態(tài)比較、文件差異,動態(tài)合并等技術(shù),完成文件上傳和文件下載。
(1)文件差量上傳
圖3 差量上傳方法
如上圖左邊是一個大小為8,875,712 字節(jié)(8.46M),占用空間為8,876,032 字節(jié)的TEST.DWG文件的二進制字節(jié)流圖例。在設計人員修改以后,可能變成了中間的模樣,傳輸管理器將其中存在的差異取出來以后,將新的差異文件(圖中右邊)上傳到服務器進行保存,并將其對應關(guān)系存儲到服務器數(shù)據(jù)庫中。
(2)文件下載的差量合并處理。
如圖4在需要下載時,首先獲取該文件的各個字節(jié)流具體位置信息,然后根據(jù)文件信息取得對應文件的具體位置對應長度的字節(jié)流數(shù)據(jù),拼接到新的文件字節(jié)流中,然后將該字節(jié)流寫到本地新建DWG文件中。
圖4 差量合并下載方法
3結(jié)束語
如圖5,該研究成果已應用于中鐵第四勘察設計院集團有限公司生產(chǎn)設計過程管理系統(tǒng)中,在鐵路設計過程管理系統(tǒng)中實現(xiàn)設計文件的差量傳輸,帶來了一些程序上的復雜性,服務器上存儲的文件不再完整,需要較繁瑣的分拆、合并算法,應對各種文件應用的處理,但對于鐵路大型設計院設計過程中大量的文件處理,通過傳輸量的減小,提高處理速度,節(jié)省存儲空間,差異傳輸?shù)男Ч敲黠@的。
圖5 鐵路過程管理系統(tǒng)傳輸管理界面
參考文獻
[1]呂瀛,劉杰,馬志柔,葉丹.一種云存儲服務客戶端增量同步算法.計算機系統(tǒng)應用,2014,23(10):152-157.
[2]敖莉,舒繼武,李明強.重復數(shù)據(jù)刪除技術(shù).軟件學報,2010,21(5):916-929.
[3]Tridgell A,Mackerras P.The Rsync algorithm.Tech.Rep.TR-CS-96-05,Australian National University,1997.
[4]Rasch D,Burns RC.In-place Rsync:File synchronization for mobile and wireless devices.USENIX Annual Technical Conference,F(xiàn)REENIX Track.2003.91-100.
Research and Application of Differential Archiving in Design Process Management System of Railway
Xu Yonghong
(InformationCenteroftheChinaRailwaySiyuanSurveyandDesignGroupCo.,Ltd.,Wuhan430063,China)
Abstract:This article analyzes the problems of centralized management of the design process files in the design process management system of railway.To avoid the influences of frequent graphic files transmission on efficiency in the management process of railway design,this article provides a solution for the centralized management of railway design drawings by dynamic comparison,automatic differential archiving and transmission.It explores the implementation method,which is proven feasible by practices.
Key Words:Design of Railway Exploration;Process Management;Differential Archive Transmission
【作者簡介】許永宏(1970-),男,碩士,高級工程師。研究方向為管理信息系統(tǒng)、計算機輔助設計。
【中圖分類號】
【文獻標識碼】A
【文章編號】1674-7461(2016)03-0113-03