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

船舶軸系試驗臺架文件型監測數據備份方法

2021-08-04 08:11:00王金璐周建輝
中國修船 2021年3期
關鍵詞:程序

羅 恒,王金璐,孫 鋒,周建輝,劉 杰

(1.中國艦船研究設計中心,湖北 武漢 430064;2.武漢理工大學能源與動力工程學院,湖北 武漢 430063)

在船舶軸系試驗臺架的試驗過程中,會產生大量的臺架監測數據,這些數據主要以數據庫存儲及文本存儲2種主要形態進行保存[1-2]。對振動、視頻圖像等監測類型數據,用文件進行保存的形式具有優勢,在實際項目中大多采用這一方式。為提高數據的安全性,防止意外災害等情況下導致的數據丟失,一般都需要采用數據備份的處理方法,其中又以異地雙機熱備份的方式最為常見[3-4]。當前類似的軟件程序如FreeFileSync等,在進行文件備份時主要是設置一定的時間間隔對監視的文件夾進行迭代式掃描,判斷出發生改變的文件后對其進行文件備份[5]。此方式設計簡單,但是需要使用定時器對文件夾進行全掃描,耗費計算機資源較多,運行效率低[1];對文件進行異地計算機備份操作時,需要通過網上鄰居來指定備份路徑,需要用戶手動操作較多,體驗較差[6]。

1 文件型監測數據備份的特征分析

船舶軸系試驗臺架監測數據的存儲方式有文件存儲和數據庫存儲2種主要方式。數據庫系統以記錄和字段為單位進行數據存儲,可以實現整體數據的結構化、減少數據冗余、提高數據的讀取速度;這種方式比較適合對溫度、壓力等單次監測數據量小的測試數據的存儲。文件存儲通過以文件為單位來組織數據存儲,將一批數據組織成一個相對獨立的數據文件;這種方式特別適合軸系試驗臺架的振動監測等數據的存儲。對振動監測數據,因為采樣頻率很高,一次測試即使只持續采集幾秒鐘,也會產生上萬行到幾十萬行的子數據,這種數據如果用數據庫表直接存儲,記錄量太大,對數據庫形成比較大的負載壓力,而該類數據具有嚴格的時間序列特征,不需要進行排序、查找等典型的數據庫操作;因此,將一次測試的數據用文件保存,而將該文件的路徑信息保存到數據庫,以實現文件的索引,這種方式具有更好的處理效率。

本文設計一種新的船舶軸系試驗臺架監測數據備份軟件,其在進行本地存儲時,使用配置文件來減少人為操作步驟并提高運行效率和計算機資源利用率;在進行異計算機備份數據操作時,使用網絡通信TCP/IP協議傳送文件數據進行雙機遠程備份,能夠降低對操作系統依賴度,同時也能減少人為操作步驟和操作難度,提高人機交互能力。

2 方案設計

2.1 整體設計

針對文件型監測數據的備份,主要有本地備份和異地備份2種需求,本地備份是在文件所在的計算機上設定一個備份目錄,將源文件備份到該備份目錄;異地備份則是在另外一臺計算機上創建備份目錄。在設計備份處理程序時,將源文件復制到本機備份目錄或者通過網絡傳輸到異地的備份目錄都有比較成熟的解決方案。問題的難點在于如何發現來源文件目錄的文件變動事件。如新增加了一個文件、文件的修改、文件的刪除等。采用定時器對文件目錄進行掃描,再比較2次掃描之間的差異,從而獲取到文件的變動,這種處理方式的效率太低。在Windows操作系統中,提供了一個文件系統監視器(FileSystemWatcher)組件,通過該組件,設定需要監控的文件夾目錄及其子目錄,監控目錄下的任何文件事件都會發出一個消息,并被該組件所在的程序獲取到。通過該組件就能很容易獲取到特定目錄下的文件變動事件,高效簡單地實現獲取來源文件的目的。圖1所示為軸系試驗數據備份軟件處理流程。

圖1 軸系試驗數據備份軟件處理流程

2.2 文件系統監視器

文件系統監視器(File SystemWatcher)是本文用到的主要工具之一,該工具為微軟公司從Visual Studio 2008版本之后提供的一個組件,其主要功能是監控指定目錄(可以包括其下的子目錄)中的文件創建、刪除、改動、重命名等事件,并發出相應的事件[3],開發的程序通過處理這些事件以實現特定的效果。該組件可以動態地定義需要監控的文件類型及文件屬性改動的類型,以提供更精確的文件事件消息。

文件系統監視器可以通過屬性來設定和配置相關的行為,最主要的幾個屬性如下。

①監測路徑(Path)屬性:用于設定需要獲取文件夾相關文件系統事件的目錄路徑;②是否包括子目錄(IncludeSubdirectories)屬性:設置是否關聯監視指定路徑中的子目錄;③文件類型過濾(Filter)屬性:設置篩選字符串,用于確定在目錄中監視的文件類型;④文件事件類型過濾(NotifyFilter)屬性:設置目錄下的哪些文件事件會被監測和觸發監視事件,當同時監視多個文件屬性的變動時要用“或”組合;⑤啟用事件監聽(Enable-Raising Events)屬性:設置程序是否開始監聽,默認為“非(False)”,所以需要在程序的初始化時就設置此屬性值為“是(True)”。

文件系統監視器本身是一個多線程的控件,每實例化一個對象都會自動創建一個線程。由于開發的備份軟件只需要在后臺運行,只用記錄備份信息,不需要界面展示,所以不需要進行跨線程的數據訪問。如果需要同時監控多個文件目錄,只需要創建其類型數組,每個文件目錄使用一個對象進行監控即可。

2.3 網絡通信TCP/IP協議

網絡通信是本文實現異地雙擊備份用到的文件傳輸方法,其利用相關接口和協議通過網絡線路傳輸數據信息到網絡計算機上,從而實現2臺計算機的遠程信息交互[4]。本文使用最廣泛的就是TCP/IP協議來完成數據交互。TCP/IP協議通常可以概括為4層:應用層、傳輸層、網絡層和網絡接口層。TCP/IP協議[5]按照層次由上到下,層層包裝。最上面的是應用層,這里面有http等我們熟悉的協議。第二層是傳輸層,其中的TCP和UDP協議就在這個層次。第三層是網絡層,IP協議就在這里,它負責對數據加上IP地址和其他的數據以確定傳輸的目標。第四層是網絡接口層,也就是物理層,通信信息最后都會通過物理媒介進行傳輸。本文直接使用網絡開發中封裝好的Socket編程接口來進行網絡數據傳輸。

2.4 程序實現流程

本地備份是指數據接收處理后,直接在本地進行實驗數據備份,備份速度快。本地備份處理流程圖如圖2所示。

圖2 本地備份處理流程圖

在本地備份任務中,直接使用.net提供的IO數據流讀取數據,然后在硬盤指定位置寫數據即可。根據網絡通信TCP/IP協議的特點,異地雙機備份的程序分為服務端和客戶端,本文設計異地備份目的計算機為服務端,本地數據產生計算機為客戶端。此設計的優點是只有在有需要備份的文件時才進行2臺計算機的連接和數據通信,可以節省本地計算機的計算資源,更好的為數據采集和處理服務。異地雙機備份處理流程圖如圖3所示。

圖3 異地雙機備份處理流程圖

當本地計算機產生需要備份的文件時,客戶端軟件中的文件系統監視器會丟出相應事件,促使客戶端向服務端發送連接請求。客戶端同服務端連接成功后,發送備份數據到服務端。然后服務端接收并保存數據,同時反饋備份信息。客戶端通過反饋信息判斷備份是否成功,成功則關閉與服務器的連接,失敗則再次發送備份數據。

程序設計為可以保存用戶設置的配置信息,以便能夠自動完成備份任務。設計使用ini文件保存配置信息,其不僅可以使程序快速讀取和保存配置信息,用戶還可以手動按照ini格式自己修改配置信息。保存的配置信息主要包括遠程計算機的IP地址、程序端口號、監視和保存的備份文件全路徑及程序關閉密碼。使用程序關閉密碼是為了保證程序的安全穩定運行,防止人為操作失誤導致的程序關閉。

2.5 數據發送格式

異地備份機制中使用網絡通信TCP/IP協議時,設計以字節格式發送數據[6]。字節第一位表示文件更改類型,有4種類型——1表示新建(Created)類型,2表示刪除(Deleted)類型,4表示修改(Changed)類型,8表示重命名(Renamed)類型。字節第二位表示文件或文件夾,0為文件,1為文件夾。字節后面的內容按照更改類型的不同而有所不同,Created類型和Deleted類型在后面只需要添加文件或文件夾的路徑即可,Renamed類型需要在后面添加更改前和更改后的文件或文件夾名,Changed類型則需要在后面添加文件或文件夾路徑和文件內容。文件或文件夾的路徑名和文件內容都是以字符串的形式保存的,所以需要將字符串類型轉換成字節類型。

將備份文件按照設計的方式以字節形式整合完畢后,通過網絡通訊協議發送字節數據到服務端,對數據進行分析備份。服務端接收到字節數據后,通過解析字節數據來獲得備份信息和備份文件,完成備份任務。

3 異常處理方式

數據備份程序由多個環節組成,異地備份任務中也需要2臺計算機進行網絡通信,因此在實際運行過程中可能發生異常,需要對相關異常進行處理,以提高程序的容錯能力。主要可能發生的異常情景如下。

1)連接服務端時出現錯誤。不能連接到指定的異地備份服務端,有可能是服務端沒啟動或者服務端的IP地址或端口號錯誤,應檢查服務端狀態,保證運行正常,還要確定請求的服務端IP地址和端口號正確。

2)本地客戶端因某些原因,程序掛掉后,仍有文件更改。本地客戶端應在配置文件中保存一個最近的備份任務完成時間。當程序啟動時,進行一個初始化操作,在監控文件夾下找出晚于最近備份任務完成時間的備份文件,加入到備份任務中進行備份,解決在程序異常期間產生的需備份文件沒有完成備份的問題。

3)異地服務端因某些原因,程序停止運行,但本地客戶端仍有文件需要備份。在異地服務器未響應期間,本地客戶端應將監視文件中的所有更改文件信息全部放入備份任務中,并保存所有操作記錄,待服務器響應后,再進行所有的文件更改備份操作。

4 結束語

為了解決現有文件性監測數據備份解決方案中所存在的操作復雜和不能進行網絡傳輸的缺點,設計了一種基于文件系統監視器的自動備份軟件的解決方案,并在實際的項目中成功運用。該方案只需要根據用戶自己設定的配置信息就能完成船舶軸系試驗臺架監測數據的自動備份任務,通過修改配置信息來達到修改備份程序設置的目的,極大的降低了人為操作的失誤,提高了軸系試驗數據備份效率,經在實際工程試驗臺架系統中的應用驗證,完全符合實際要求,可以推廣應用到類似的應用場景,具有一定的工程實用價值。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 亚洲国产日韩欧美在线| 国内精品九九久久久精品 | 色男人的天堂久久综合| 欧美日韩一区二区三区在线视频| 国产精品成人久久| 国产精品女同一区三区五区| 日本91在线| 国产午夜一级毛片| 国产激情无码一区二区APP | 国产精品伦视频观看免费| 久久精品丝袜| 2019年国产精品自拍不卡| 色婷婷综合在线| 久久香蕉国产线看观| 2022国产无码在线| 精品少妇人妻av无码久久| 国产香蕉97碰碰视频VA碰碰看| 久热re国产手机在线观看| 永久在线精品免费视频观看| 成人小视频网| 亚洲色精品国产一区二区三区| 国产主播喷水| 日韩天堂网| 国产呦精品一区二区三区网站| 无码一区中文字幕| 一区二区三区高清视频国产女人| AV网站中文| 国产三级a| 激情综合五月网| 日本AⅤ精品一区二区三区日| 久久夜色撩人精品国产| 国产黄在线观看| 国产无人区一区二区三区| 亚洲精品免费网站| 午夜精品一区二区蜜桃| 国产精品视频白浆免费视频| 国产午夜福利在线小视频| 国产无码制服丝袜| lhav亚洲精品| 精品伊人久久久久7777人| 伊在人亚洲香蕉精品播放| 午夜激情婷婷| 五月天天天色| 久久精品视频一| 色亚洲成人| 米奇精品一区二区三区| 毛片网站观看| 国产人在线成免费视频| 亚洲无码熟妇人妻AV在线| 国产成人一二三| 最新精品国偷自产在线| 久久综合成人| 香蕉伊思人视频| 欧美日韩免费观看| 真实国产精品vr专区| 92精品国产自产在线观看| 18禁色诱爆乳网站| 亚洲精品国产自在现线最新| 亚洲综合中文字幕国产精品欧美| 露脸一二三区国语对白| 91精品国产91久久久久久三级| 久久精品无码国产一区二区三区| 国产幂在线无码精品| 亚洲人成在线免费观看| 国产成人久视频免费 | 中文字幕免费视频| 欧美亚洲第一页| 欧美一级黄色影院| 在线亚洲天堂| 亚洲永久色| 92午夜福利影院一区二区三区| 亚洲一本大道在线| 一级毛片在线免费视频| 欧美日韩专区| 制服丝袜亚洲| 欧美不卡二区| 内射人妻无码色AV天堂| 色综合网址| 呦女精品网站| 2021国产精品自产拍在线| 国产内射一区亚洲| 亚洲天堂免费在线视频|