999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Zlib的AVEVA Marine數據異地同步方法的研究與實現

2022-03-12 10:03:12武宏剛李杰
電腦知識與技術 2022年3期

武宏剛 李杰

摘要:針對AVEVA Marine數據異地同步耗時長的問題,研究減少數據異地同步耗時的方法。該文通過分析AVEVA Marine數據的特點和結構,以化零為整、化大為小的思路,結合Zlib壓縮技術對數據進行壓縮、傳輸和解壓縮三步連續操作,代替簡單的復制文件同步方式,實現了AVEVA Marine數據高效異地同步的方法。

關鍵詞:Zlib;AVEVA Marine;數據同步

中圖分類號:TP311? ? ? 文獻標識碼:A

文章編號:1009-3044(2022)03-0021-02

開放科學(資源服務)標識碼(OSID):

1 概述

AVEVA Marine是英國AVEVA公司開發的船舶設計專業軟件系統,我司已利用該系統設計完成多個項目。這些項目中其中部分在江蘇南通建造,部分在遼寧大連建造。在大連建造的項目,設計數據需要每天夜間整體從我司所在地南通通過網絡同步到大連。經過測試,使用操作系統自帶的復制粘貼功能或者第三方軟件比如Second Copy等進行數據同步,平均每個項目耗時5~6個小時,因此并不能在夜間完成目前所有目標項目的同步。設計數據的及時性直接影響項目作業進度。雖然提升網絡專線帶寬和服務器硬件條件可以提高同步速度,但是同時也增加了額外成本。目前尚無針對AVEVA Marine數據同步的相關文獻記錄,但劉麗偉等[1]提出的文件壓縮傳輸思路值得借鑒。本文將以C#語言為開發工具,探討如何實現在不提升網絡帶寬和硬件條件的情況下滿足要求的同步方法。

2 問題分析

造成同步不能及時完成的原因很多,比如網絡帶寬、網絡穩定性、設備硬件條件、數據量及文件大小等因素都直接影響同步效率。如前文所述,網絡帶寬、網絡穩定性和設備硬件條件等的改善需要增加額外成本,因此本文從AVEVA Marine數據結構入手進行分析。

AVEVA Marine各個項目的設計數據以文件形式分別保存在以三位項目代碼命名的主文件夾中,其內部根據文件用途和類型的不同又分別設置了多個子文件夾,其文件結構如圖1所示(其中XXX為項目代碼)。經統計,我司項目平均總文件大小為100GB左右,總文件數量為190000個左右,每個文件大小為0.52MB。由此可見,需要同步的數據文件總體積較大,而且絕大部分都是體積較小的小文件。

在文件傳輸中,當傳輸的是大量的小文件時,傳輸過程中會因為文件過小,而文件數量過多,使得文件讀寫請求次數增加,造成大量的硬盤讀寫操作;同時,文件在的時候偏向于隨機寫入而不是順序寫入,因此過多的小文件會使得硬盤尋址時間變長,從而從一定程度上影響了文件存儲效率[2]。

3 解決方案

基于前文分析,減小傳輸數據大小,減少傳輸文件總數量,減少讀寫請求次數,可以提高數據同步效率。解決目前這種狀況最好的方案就是采用數據壓縮存儲技術將所有零散的文件打包為一個文件,并進行壓縮以減少文件大小[1]。

3.1 Zlib簡介

Zlib是一個免費的、開源的、無損的、跨平臺的數據壓縮開發庫[3],它使用了無損且可逆的壓縮技術,具有達到與WinZip和Winrar等商業軟件相近的壓縮率,已成功在MySQL、JAVA、3Dmax等眾多大型系統中應用[4],其源碼可在http://www.zlib.net網站中免費下載使用[5]。Zlib在.Net平臺也有對應的開發庫,并提供了接口可供程序員調用,可以實現數據的壓縮和解壓縮,對于使用C#等.Net平臺開發語言的程序員來說非常方便[6]。

Zlib在.Net平臺進行開發需要進行的準備工作如下:

1)將zlibnet.dll拷貝到程序工程目錄下;

2)在程序引用管理器里添加對zlibnet.dll的文件引用;

3)在程序文件頭部添加ZLibNet的類庫引用:using ZLibNet。

3.2 壓縮功能實現代碼

private bool zip(string directory) //directory為待壓縮文件夾路徑

{

Zipper zip = new Zipper(); //將Zipper類實例化

zip.ZipFile = directory + ".zip";//設定壓縮后文件名

zip.ItemList.Add(directory + "\\*"); //設定壓縮文件范圍,*表示所有文件

zip.PathInZip = enPathInZip.Relative;//保持文件夾下所有文件的相對路徑

zip.Recurse = true;//遞歸

zip.Zip();//開始壓縮

return true;//返回結果

}

3.3 解壓縮功能實現代碼

private bool unzip(string filepath) // filepath為待解壓縮文件路徑

{

UnZipper unzip = new UnZipper();//將UnZipper類實例化

unzip.Destination = file.Replace(".zip", "") + "\\";//文件解壓縮后保存的目標文件

unzip.IfFileExist = enIfFileExist.Overwrite;//覆蓋已存在文件

unzip.ItemList.Add("*");//設定解壓縮范圍,*表示解壓縮所有文件

unzip.Recurse = true;//遞歸

unzip.ZipFile = file;//設定待解壓縮文件路徑

unzip.UnZip();//開始解壓縮

return true;//返回結果

}

3.4 數據文件同步設計實現

此同步功能通過C/S(客戶端/服務器)結構設計,整個程序分為客戶端和服務器端兩個程序。南通運行客戶端程序,主要完成文件壓縮、文件傳輸和結果發送的功能;大連運行服務器端程序,主要完成結果接收和文件解壓縮的功能。其中結果發送和結果接收功能通過TCP協議的套接字(socket)傳輸實現。

南通客戶端程序在數據壓縮并拷貝后發送信息到大連[7],大連服務器端在監聽信息通知后開始解壓縮,各個功能環節實現無縫銜接自動運行。數據文件同步流程如圖2所示。

客戶端界面如圖3所示,設置需要同步的項目,設定開始時間使程序夜間自動運行,程序運行中會在界面窗口顯示運行日志。

服務端程序界面如圖4所示,設定開始時間,使程序夜間自動運行,收到信息通知后開始運行,并在窗口顯示運行日志。

程序開發完成后,進行夜間連續同步測試,測試結果如表1。根據測試結果推算,假設每天從夜間9:30到第二天早上7:00共9.5小時進行數據同步,大約可以同步6個項目,可以完成目前所有大連建造項目的數據同步。

4 結束語

基于Zlib的數據同步程序已經開始試用,并在試用過程中不斷持續優化,截至目前程序運行穩定,數據夜間同步可以按計劃完成,滿足使用需求。此數據同步方法可以實現在不增加額外成本的前提下實現數據完整的異地同步,可以拓展到其他數據、其他企業或者其他行業中得到應用,具有較強的通用性。

參考文獻:

[1] 劉麗偉,鄧春健.多文件壓縮傳輸及解壓縮的方法[J].武漢理工大學學報(交通科學與工程版),2009,33(6):1211-1214.

[2] 周蘭鳳,趙鵬飛,彭俊杰.基于云環境下一種小文件傳輸策略研究[J].計算機工程與科學,2016,38(1):20-27.

[3] Zlib 官方網站.Zlib Home Site[EB/OL].[2021-08-20].http://www.zlib.net.

[4] 孫萍.基于ZLib的數字文獻壓縮技術的設計與實現[J].農業圖書情報學刊,2007,19(11):5-7,13.

[5] 李鐵兵,雷滿生,雷志芳,等.基于Zlib的機車無線重聯數據分析軟件的實現[J].機車電傳動,2017(1):65-68.

[6] 陳鈞,劉愛華.基于Zlib的圖像差異壓縮算法研究與實現[J].東華理工大學學報(自然科學版),2010,33(1):92-96.

[7] 代亮,馬海武.基于Zlib的視頻監控系統[J].網絡安全技術與應用,2006(5):58-59.

【通聯編輯:謝媛媛】

主站蜘蛛池模板: 亚洲日本韩在线观看| 99久久国产精品无码| 亚洲色婷婷一区二区| 亚洲日韩国产精品综合在线观看| 亚洲综合色区在线播放2019| 91福利免费| 亚洲国产中文综合专区在| 国内精品视频区在线2021 | 无码网站免费观看| 在线观看视频99| 久草网视频在线| 国产精品流白浆在线观看| 毛片在线播放网址| 亚洲日韩第九十九页| 亚洲精品天堂自在久久77| 97成人在线视频| 日韩一级二级三级| 91精品久久久无码中文字幕vr| 中美日韩在线网免费毛片视频| 91在线播放免费不卡无毒| 99精品一区二区免费视频| 亚洲中文字幕23页在线| 国产综合日韩另类一区二区| 国产成人狂喷潮在线观看2345| 五月天综合婷婷| 制服无码网站| 欧美日本中文| 国产青榴视频在线观看网站| 中文无码精品a∨在线观看| 成年A级毛片| 人妻丝袜无码视频| 成人另类稀缺在线观看| 操操操综合网| 伊人色在线视频| 狠狠做深爱婷婷久久一区| 亚洲综合天堂网| 久久一级电影| 亚洲免费福利视频| 国产va免费精品| 亚洲成人在线免费观看| 亚洲人成网7777777国产| 丰满少妇αⅴ无码区| av无码一区二区三区在线| 国产青青草视频| 91久久精品国产| 国产一区二区视频在线| 99热这里只有精品免费国产| 亚洲va欧美ⅴa国产va影院| 玖玖精品在线| 免费毛片全部不收费的| 91亚洲精品第一| 亚洲区视频在线观看| 巨熟乳波霸若妻中文观看免费| 国产成a人片在线播放| 美女毛片在线| 青青草原国产精品啪啪视频| 无码aⅴ精品一区二区三区| 日韩小视频在线播放| 欧美午夜在线播放| 亚洲区第一页| 欧美综合激情| 91福利片| 无码精品国产dvd在线观看9久| 亚洲中文字幕在线观看| 欧美成人午夜视频| 69视频国产| 精品一区二区无码av| 国产成人精品午夜视频'| 久久国产精品夜色| yjizz国产在线视频网| 国产97视频在线观看| 成人年鲁鲁在线观看视频| 91久久偷偷做嫩草影院| 国产噜噜噜视频在线观看| 波多野结衣在线se| 久久国产精品国产自线拍| 亚洲精品无码在线播放网站| 亚洲码在线中文在线观看| 欧美日本激情| 精品欧美一区二区三区久久久| 精品一区二区三区水蜜桃| 青青草综合网|