• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種高效文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

      2014-04-29 06:20:15王琦韓安賈政王毓輝
      電子世界 2014年15期
      關(guān)鍵詞:校驗(yàn)碼事件

      王琦 韓安 賈政 王毓輝

      【摘要】本文就企業(yè)集約化管理的需求,信息化集成平臺(tái)的應(yīng)用推廣,使用集成平臺(tái)處理業(yè)務(wù)、數(shù)據(jù)、信息已經(jīng)滲透到企業(yè)安全、生產(chǎn)各個(gè)環(huán)節(jié)。數(shù)據(jù)、文件之間共享被越來越多的集成應(yīng)用系統(tǒng)所使用,如實(shí)時(shí)監(jiān)測數(shù)據(jù)文本、圖文圖紙、資料文件等。在企業(yè)信息化集成平臺(tái)的使用過程中,文件傳輸?shù)男势鹬兄陵P(guān)重要的作用。系統(tǒng)的實(shí)現(xiàn),為公司綜合調(diào)度數(shù)據(jù)集成、企業(yè)信息化文件共享提供了有效的基礎(chǔ)支撐。

      【關(guān)鍵詞】傳輸系統(tǒng);集成信息化;校驗(yàn)碼;事件;監(jiān)聽機(jī)制

      引言

      目前,隨著企業(yè)集約化管理的需求,使用集成平臺(tái)處理業(yè)務(wù)、數(shù)據(jù)、信息已經(jīng)滲透到企業(yè)安全、生產(chǎn)各個(gè)環(huán)節(jié)。數(shù)據(jù)、文件之間共享被越來越多的集成應(yīng)用系統(tǒng)所使用,如實(shí)時(shí)監(jiān)測數(shù)據(jù)文本、圖文圖紙、資料文件等,需要構(gòu)建一套企業(yè)集成類信息化平臺(tái),對(duì)作業(yè)現(xiàn)場各子系統(tǒng)數(shù)據(jù)進(jìn)行集成與應(yīng)用,達(dá)到實(shí)時(shí)監(jiān)視與集中調(diào)度的目標(biāo)。在某些應(yīng)用場景下,數(shù)據(jù)在傳輸過程中需要考慮上傳的及時(shí)性與數(shù)據(jù)的連續(xù)性,以保證對(duì)現(xiàn)場環(huán)境的實(shí)時(shí)監(jiān)視,以保證對(duì)預(yù)警和故障的及時(shí)處理;同時(shí)在應(yīng)用分析過程中,需要對(duì)現(xiàn)場數(shù)據(jù)的連續(xù)性分析,以保證數(shù)據(jù)的完整性和數(shù)據(jù)分析結(jié)果的準(zhǔn)確性。

      常規(guī)的文件傳輸系統(tǒng)更適應(yīng)于下行多于上行傳輸?shù)膱鼍?。而在企業(yè)的信息化集成平臺(tái)上,客戶端對(duì)上傳文件的需求更為強(qiáng)烈??蛻舳舜嬖谟写罅康奈募枰蟼髦练?wù)器,以實(shí)現(xiàn)數(shù)據(jù)處理、解析與存儲(chǔ)備份及文件歸檔存儲(chǔ)與備份等。常規(guī)的文件傳輸系統(tǒng)有以下缺點(diǎn):一、上行與下行不對(duì)等,更注重下行傳輸;二、傳輸權(quán)限不易控制,權(quán)限認(rèn)證手段種類繁多,步驟繁瑣,例如FTP模式;三、對(duì)于大量小文件和頻繁傳輸?shù)膱鼍?,文件傳輸效率低下,多?shù)情況下需要驗(yàn)證請求再傳輸。

      1.實(shí)現(xiàn)目標(biāo)

      本文針對(duì)現(xiàn)有企業(yè)生產(chǎn)過程實(shí)時(shí)監(jiān)測與應(yīng)用平臺(tái)中,基層單位小文件,多客戶端,安全高效頻繁傳輸?shù)膽?yīng)用需求,設(shè)計(jì)一種基于TCP協(xié)議的遠(yuǎn)程高效文件傳輸系統(tǒng),達(dá)到數(shù)據(jù)及時(shí)、高效、穩(wěn)定傳輸,主要實(shí)現(xiàn)基于文件夾、文件創(chuàng)建事件的監(jiān)聽觸發(fā)上傳機(jī)制;一次握手,終身傳輸機(jī)制;自定義分發(fā)機(jī)制,滿足多種業(yè)務(wù)應(yīng)用;分塊多線程傳輸機(jī)制提高傳輸效率;分級(jí)故障診斷等系統(tǒng)功能,同時(shí)該系統(tǒng)的核心技術(shù)亦可作為企業(yè)網(wǎng)盤的核心技術(shù)。

      2.設(shè)計(jì)實(shí)現(xiàn)

      系統(tǒng)基于TCP/IP技術(shù),采用Socket方式進(jìn)行設(shè)計(jì),面向SOA的架構(gòu)思路,利用windows服務(wù)實(shí)現(xiàn)在服務(wù)端提供服務(wù),定義好數(shù)據(jù)傳輸方式,傳輸協(xié)議,數(shù)據(jù)格式,同時(shí)通過ip地址和端口進(jìn)行服務(wù)訪問??蛻舳送ㄟ^連接服務(wù)器指定的端口進(jìn)行消息交互。程序拓?fù)浣Y(jié)構(gòu)如圖1所示。

      圖1 系統(tǒng)架構(gòu)圖

      系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)主要利用.Net Remoting技術(shù),在windows 服務(wù)中注冊文件傳輸服務(wù),客戶端利用Windows應(yīng)用程序?qū)崿F(xiàn),在實(shí)現(xiàn)中利用分布式的設(shè)計(jì)思想,便于程序與系統(tǒng)功能擴(kuò)展。

      .NET遠(yuǎn)程處理(.NET Remoting)是微軟 .NET Framework 中的一種網(wǎng)絡(luò)通信技術(shù),提供了一種允許對(duì)象通過應(yīng)用程序域與另一對(duì)象進(jìn)行交互的框架??梢允褂?SOAP 以外的協(xié)議來通信,而在服務(wù)端和客戶端之間所操作的方法近乎相同,客戶端可以不必考慮使用的協(xié)議,即可訪問服務(wù)端所開放的對(duì)象。

      在Remoting中是通過通道(channel)來實(shí)現(xiàn)兩個(gè)應(yīng)用程序域之間對(duì)象的通信的。

      客戶端通過Remoting訪問通道以獲得服務(wù)端對(duì)象,再通過代理解析為客戶端對(duì)象,遠(yuǎn)程對(duì)象代碼運(yùn)行在服務(wù)器上,然后客戶端再通過Remoting連接服務(wù)器,獲得該服務(wù)對(duì)象并通過序列化在客戶端運(yùn)行。

      3.研究內(nèi)容

      3.1 統(tǒng)一權(quán)限認(rèn)證體系的設(shè)計(jì)與實(shí)現(xiàn)

      建立統(tǒng)一的權(quán)限認(rèn)證體系,以控制文件傳輸權(quán)限,權(quán)限認(rèn)證主要通過客戶端調(diào)用服務(wù)器接口進(jìn)行權(quán)限認(rèn)證,如果正常登陸,則進(jìn)行文件同步及創(chuàng)建監(jiān)聽事件。

      3.2 大文件分塊傳輸與算法設(shè)計(jì)

      針對(duì)大文件傳輸特殊性要求,需要考慮對(duì)文件進(jìn)行分塊多線程進(jìn)行傳輸,因此需要設(shè)定文件塊大小的閾值,如512kb,小于等于512K時(shí)為小文件,反之為大文件;大文件分為多塊之后,在傳輸之前每塊均提取自身校驗(yàn)碼;同時(shí)向服務(wù)器發(fā)送對(duì)應(yīng)的文件基本信息及分塊信息,校驗(yàn)碼與文件均進(jìn)行傳輸;同時(shí)系統(tǒng)根據(jù)文件分塊個(gè)數(shù)分配多個(gè)線程的傳輸;單塊數(shù)據(jù)傳輸后,仍使用同樣的算法提取校驗(yàn)碼,與原始校驗(yàn)碼對(duì)比驗(yàn)證以確定當(dāng)前數(shù)據(jù)塊是否正確接收。各分塊傳輸完成后,根據(jù)文件塊索引,實(shí)現(xiàn)文件合并。

      圖2 文件分塊傳輸邏輯圖

      3.3 文件轉(zhuǎn)換庫的設(shè)計(jì)

      在某些特殊情況下,需要考慮規(guī)定接收文件的格式,比如圖片類僅支持bmp、jpg、png和gif;客戶端能夠獲取格式規(guī)定,并對(duì)本地的相關(guān)文件實(shí)現(xiàn)文件轉(zhuǎn)換算法,例如傳輸圖片文件時(shí),客戶端生成tiff格式的文件,則必須將該文件轉(zhuǎn)換為bmp、jpg、png或gif中的一種才可以上傳。對(duì)于客戶端本身操作的文件,不符合格式的文件都可以通過算法轉(zhuǎn)換為標(biāo)準(zhǔn)格式的文件。

      因此在文件版?zhèn)鬏敯姹具^程中,需要考慮文件轉(zhuǎn)換庫的設(shè)計(jì),即記錄客戶端文件名稱、文件特征碼、文件擴(kuò)展名、服務(wù)端文件名稱、轉(zhuǎn)換后文件特征碼、文件擴(kuò)展名,服務(wù)器在啟動(dòng)過程中,掃描服務(wù)器某目錄下的文件列表名稱及校驗(yàn)碼,與客戶端對(duì)應(yīng)目錄文件校驗(yàn)碼進(jìn)行第一次比對(duì),對(duì)服務(wù)器端不存在或不一致的文件名及校驗(yàn)碼進(jìn)行同步上傳,文件信息比對(duì)主要用在客戶端啟動(dòng)時(shí),其他時(shí)間主要通過文件夾或文件事件進(jìn)行同步更新。

      3.4 敏捷傳輸機(jī)制的設(shè)計(jì)

      在傳統(tǒng)的傳輸設(shè)計(jì)過程中,主要通過時(shí)間輪詢的方式判斷某目錄下文件是否發(fā)生了變化,同時(shí)對(duì)于某些文件處于變化狀態(tài)中,然后進(jìn)行對(duì)應(yīng)的事件,在這種情況下既不利于文件的及時(shí)傳輸與數(shù)據(jù)的更新,也不利于程序的設(shè)計(jì)實(shí)現(xiàn),變化中的狀態(tài)文件需要加鎖進(jìn)行處理,否則會(huì)造成文件半個(gè)的傳輸或者傳輸異常。

      系統(tǒng)在設(shè)計(jì)過程中采用C#中的FileSystem Watcher組件,實(shí)現(xiàn)對(duì)文件系統(tǒng)的監(jiān)視,當(dāng)目錄或者文件發(fā)生增加、修改、刪除等事件完成時(shí),進(jìn)行相關(guān)的事件驅(qū)動(dòng),快速地啟動(dòng)業(yè)務(wù)處理。系統(tǒng)主要針對(duì)FileSystemWatcher的Changed,Created,Deleted,Renamed等FileSystemEventArgs事件,實(shí)現(xiàn)當(dāng)客戶端創(chuàng)建目錄或文件時(shí),通過文件夾或文件創(chuàng)建成功事件,激發(fā)客戶端通過服務(wù)器端接口創(chuàng)建對(duì)應(yīng)目錄或文件;當(dāng)客戶端更改目錄時(shí),通過文件夾更改成功事件,激發(fā)客戶端通過服務(wù)器端接口更改對(duì)應(yīng)目錄;當(dāng)客戶端刪除目錄時(shí),通過文件夾刪除成功事件,激發(fā)客戶端通過服務(wù)器端接口刪除對(duì)應(yīng)目錄及目錄中文件;

      3.5 故障處理及重傳方法的設(shè)計(jì)

      系統(tǒng)基于網(wǎng)絡(luò)傳輸,在傳輸過程中,難免因?yàn)榫W(wǎng)絡(luò)故障而導(dǎo)致的傳輸網(wǎng)絡(luò)中斷,在公司集成化信息平臺(tái)中,需要考慮不間斷運(yùn)行,因此需要及時(shí)對(duì)網(wǎng)絡(luò)傳輸進(jìn)行診斷,并提供一定的定位功能,可通過提示窗、控制臺(tái)輸出、日志記錄等多種功能提供故障定位信息,例如網(wǎng)絡(luò)中斷異常、文件轉(zhuǎn)換失敗等故障均有記錄可查,可輔助解決故障,同時(shí)根據(jù)故障狀態(tài)或故障類型將故障劃分類別,根據(jù)持續(xù)時(shí)間進(jìn)行分級(jí)報(bào)警,進(jìn)行窗體閃爍或語音報(bào)警提醒。

      在傳輸過程中,網(wǎng)絡(luò)中斷,在傳輸中間過程會(huì)導(dǎo)致部分文件的中斷或不完整,在服務(wù)器端通過文件校驗(yàn)對(duì)文件塊進(jìn)行檢查,當(dāng)發(fā)現(xiàn)文件塊出現(xiàn)傳輸錯(cuò)誤則向客戶端發(fā)出錯(cuò)誤回執(zhí),進(jìn)行重發(fā)。

      3.6 斷點(diǎn)續(xù)傳的設(shè)計(jì)

      由于實(shí)時(shí)監(jiān)測平臺(tái)數(shù)據(jù)完整性要求,需要對(duì)傳輸?shù)臄?shù)據(jù)保持完整性,因此需要考慮文件時(shí)間戳標(biāo)識(shí)對(duì)文件進(jìn)行本地化存儲(chǔ),當(dāng)發(fā)生網(wǎng)絡(luò)中斷時(shí),文件暫存到本地,網(wǎng)絡(luò)通斷時(shí),根據(jù)文件列表,依據(jù)文件的創(chuàng)建時(shí)間進(jìn)行順序上傳,以保證數(shù)據(jù)有序性。

      4.功能測試

      測試環(huán)境采用局域網(wǎng)內(nèi)的三臺(tái)機(jī)器,一臺(tái)作為服務(wù)器,兩臺(tái)作為客戶端,分別實(shí)現(xiàn)對(duì)服務(wù)端與客戶端程序部署。

      4.1 測試準(zhǔn)備

      (1)建立客戶端信息目錄庫:客戶端目錄庫存儲(chǔ)服務(wù)器地址、登錄賬號(hào)、密碼、共享路徑、是否自定驗(yàn)證登陸。如在客戶端程序配置文件中服務(wù)器地址(192.168.1.1)、登陸賬戶(ABC)、密碼(加密源碼:123456)、共享路徑為D:\F1;D:\F2。

      (2)服務(wù)器初始化:設(shè)定好存放路徑,如:G:\Data。在服務(wù)器上創(chuàng)建好實(shí)際路徑,并將路徑名稱保存在配置文件中,加載轉(zhuǎn)換對(duì)應(yīng)的校驗(yàn)碼庫列表(主要與客戶端轉(zhuǎn)換后文件對(duì)比分析)。

      (3)客戶端初始化:監(jiān)聽共享路徑為D:\F1;D:\F2下文件或者目錄操作事件,同時(shí)在啟動(dòng)過程中,通過輸入用戶名、密碼完成權(quán)限認(rèn)證后,實(shí)現(xiàn)本地目錄下文件監(jiān)聽。

      4.2 過程測試

      (1)初始自動(dòng)同步:客戶端登陸驗(yàn)證完成后,進(jìn)行對(duì)應(yīng)(舉例D:\F1;D:\F2下)目錄對(duì)應(yīng)的服務(wù)器目錄進(jìn)行文件校驗(yàn)碼的獲取,如服務(wù)器對(duì)應(yīng)G:\Data\ABC\F1目錄下有一個(gè)文件D1.DOC,對(duì)應(yīng)的文件校驗(yàn)碼為AFCD1238,文件大小為1.32M,一個(gè)文件D2.DOC,對(duì)應(yīng)的文件校驗(yàn)碼為ABCD1238,文件大小為500K,F(xiàn)2目錄不存在,則根據(jù)事件創(chuàng)建F2目錄,則服務(wù)器上G:\Data\ABC\F2目錄;客戶端D:\F1下有文件D1.DOC,對(duì)應(yīng)的文件校驗(yàn)碼為AFFF1238,文件大小為1.32M,一個(gè)文件D2.DOC,對(duì)應(yīng)的文件校驗(yàn)碼為ABCD1238,文件大小為500K。D:\F2有一個(gè)P1.TIFF文件,根據(jù)對(duì)應(yīng)的文件名和校驗(yàn)碼進(jìn)行判斷,本次上傳F1下的D1.DOC和F2下的P1.TIFF文件;

      (2)文件傳輸:對(duì)于F1下的D1.DOC文件:根據(jù)前文示例,將512kb作為劃分文件大小的標(biāo)準(zhǔn),大于512kb的文件,按照每塊512kb大小將整個(gè)文件分割成三個(gè)文件塊之后再傳輸,傳輸完成后合成,進(jìn)行保存,同時(shí)可根據(jù)服務(wù)器線程管理,啟動(dòng)線程資源分配,如服務(wù)器共有1000個(gè)接收線程,有空閑上傳線程2個(gè),則分配2個(gè)線程進(jìn)行并行上傳,服務(wù)器空閑線程為0,如先傳遞先兩個(gè)512KB文件,文件傳輸完畢,則通知服務(wù)器線程回收,服務(wù)器空閑線程大于2,則單獨(dú)分配1個(gè)空閑線程進(jìn)行剩余數(shù)據(jù)塊的傳輸,傳輸完成后,回收線程,所有塊均傳輸完成后,合并所有塊,完成大文件傳輸。對(duì)于F2下的P1.TIFF文件進(jìn)行上傳轉(zhuǎn)換,采用SaveAs方式進(jìn)行文件另存,同時(shí)將文件校驗(yàn)碼記錄到對(duì)應(yīng)庫中,以便于重傳判別。

      (3)故障處理及重傳:傳輸過程中,通過停止網(wǎng)卡工作或斷開網(wǎng)線方式進(jìn)行,系統(tǒng)進(jìn)行網(wǎng)絡(luò)傳輸中斷提醒,當(dāng)中斷故障持續(xù)5分鐘,進(jìn)行使用日志提醒或提示窗;故障持續(xù)時(shí)間超過10分鐘則報(bào)警升級(jí),通過語音報(bào)警箱進(jìn)行提醒;同時(shí)對(duì)某一個(gè)特殊類型文件進(jìn)行轉(zhuǎn)換上傳時(shí),當(dāng)文件轉(zhuǎn)換失敗進(jìn)行記錄可查。

      (4)其他測試:網(wǎng)絡(luò)中斷以后,文件本地化暫存的斷點(diǎn)續(xù)傳測試,文件進(jìn)行本地化暫存,當(dāng)網(wǎng)絡(luò)通以后,進(jìn)行文件順序上傳??蛻舳藢?duì)應(yīng)目錄下的文件、目錄創(chuàng)建、刪除、更新事件,服務(wù)端相關(guān)事件的響應(yīng)。

      (5)退出:當(dāng)客戶程序退出時(shí),與服務(wù)端消息交互,服務(wù)端進(jìn)行對(duì)應(yīng)退出信息的記錄,以防止客戶端用戶在文件數(shù)據(jù)傳輸過程中非法操作的追蹤。

      4.3 測試結(jié)果

      通過測試,該文件傳輸系統(tǒng)高效的進(jìn)行了文件的傳輸,解決了傳統(tǒng)傳輸模式效率、穩(wěn)定性及可控性問題,該系統(tǒng)更適合大量小文件頻繁傳輸,有利于在企業(yè)集約化監(jiān)測監(jiān)管信息化平臺(tái)中的數(shù)據(jù)共享集成。同時(shí),服務(wù)端文件傳輸塊的設(shè)計(jì)根據(jù)程序運(yùn)行過程進(jìn)行實(shí)時(shí)調(diào)整,以保證大文件所占比率在整個(gè)文件傳輸系統(tǒng)中的5%以下,從而避免過多的文件切塊傳輸與合并另存,提高文件傳輸效率。

      5.總結(jié)

      本文就一種高效文件傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)展開論述,系統(tǒng)就企業(yè)集約化監(jiān)測監(jiān)管信息化平臺(tái)中的數(shù)據(jù)、文件之間共享建立了穩(wěn)定高效的傳輸通道,在項(xiàng)目應(yīng)用起著有至關(guān)重要的作用。在后期系統(tǒng)完善中尚需要考慮服務(wù)器端的可靠性,同時(shí)實(shí)現(xiàn)基于SOAP的多種協(xié)議的傳輸以滿足越過代理服務(wù)器,實(shí)現(xiàn)SOCKET等被屏蔽的功能,以及建立統(tǒng)一的管理平臺(tái),支持多語言及遠(yuǎn)程管理功能。

      參考文獻(xiàn)

      [1]高珍珍.跨庫集成檢索系統(tǒng)中數(shù)據(jù)源連接器的半自動(dòng)生成[D].北京師范大學(xué).

      [2]趙文濤,魏紅格.礦業(yè)信息異構(gòu)數(shù)據(jù)庫集成模型的研究[J].工礦自動(dòng)化,2008(06).

      [3]林懷恭,聶瑞華,等.基于ESB的共享數(shù)據(jù)中心的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2010,5.

      [4]韓建國,楊漢宏,等.神華集團(tuán)數(shù)字礦山建設(shè)研究[J].工礦自動(dòng)化,2013(03).

      [5]王淵,韓安,晁曉菲.煤炭集團(tuán)公司生產(chǎn)安全調(diào)度指揮管理平臺(tái)的建設(shè)構(gòu)思[J].工礦自動(dòng)化,2012(03).

      作者簡介:王琦(1971—),碩士,高級(jí)工程師,同煤集團(tuán)機(jī)電副總工程師,主要從事礦山機(jī)電、信息化研究與應(yīng)用工作。

      猜你喜歡
      校驗(yàn)碼事件
      Basic UDI校驗(yàn)碼算法
      身份證號(hào)碼中的數(shù)學(xué)知識(shí)
      Contiki系統(tǒng)進(jìn)程與事件剖析
      網(wǎng)絡(luò)輿情反轉(zhuǎn)現(xiàn)象中的“參照點(diǎn)效應(yīng)”
      新聞界(2016年7期)2016-12-23 14:56:11
      保羅·利科的“話語事件”思想
      授之以魚,不如授之以漁
      考試周刊(2016年92期)2016-12-08 00:10:56
      熱點(diǎn)事件中的“輿論搭車”現(xiàn)象探析
      新聞前哨(2016年11期)2016-12-07 11:25:41
      嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
      基于Excel實(shí)現(xiàn)書號(hào)校驗(yàn)碼的驗(yàn)證
      基于FPGA的循環(huán)冗余校驗(yàn)碼設(shè)計(jì)
      電子世界(2015年14期)2015-11-07 05:32:29
      淅川县| 洛阳市| 彩票| 时尚| 民勤县| 延庆县| 淮安市| 小金县| 修文县| 莫力| 宁都县| 松滋市| 灯塔市| 会理县| 紫云| 洛隆县| 友谊县| 腾冲县| 宣恩县| 石家庄市| 万源市| 福清市| 阿合奇县| 长宁区| 宣威市| 彩票| 政和县| 华亭县| 赞皇县| 伊宁市| 奉化市| 丹阳市| 平果县| 鹤壁市| 金乡县| 贡山| 金溪县| 句容市| 台安县| 都江堰市| 宜阳县|