版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于ESMTP的水文數(shù)據(jù)共享方法設(shè)計(jì)與實(shí)現(xiàn)摘要針對(duì)水利部門數(shù)據(jù)共享的高本錢、低效率現(xiàn)狀,提出一種通過(guò)eail方式進(jìn)展水文數(shù)據(jù)共享的方法。通過(guò)對(duì)ESTP和PP3協(xié)議的應(yīng)用,發(fā)送方將數(shù)據(jù)打包作為郵件的附件發(fā)送,接收方解析郵件,從而實(shí)現(xiàn)數(shù)據(jù)共享。該方法靈敏方便,運(yùn)行本錢低。本文對(duì)協(xié)議進(jìn)展了簡(jiǎn)單說(shuō)明,同時(shí)對(duì)數(shù)據(jù)交換流程和實(shí)現(xiàn)類圖進(jìn)展了詳細(xì)說(shuō)明。關(guān)鍵詞水文數(shù)據(jù)共享,ESTP,PP3當(dāng)前,水利信息化正在水利行業(yè)大力推行,其中水文數(shù)據(jù)的共享是水資源管理以及防洪抗災(zāi)等決策支持的核心。由于水利部門管轄流域分布廣,各水文管理單位地域分散,管理機(jī)制多是采用集中-分散方式。管理站采集數(shù)據(jù)后傳送給各個(gè)分中心,再由分中心
2、將信息匯總后發(fā)送給管理局或水利廳,使得管理局或水利廳能對(duì)管轄范圍的水情信息進(jìn)展整體把握,做出決策分析;此外,因?yàn)楹恿髦g的聯(lián)動(dòng)關(guān)系,各分中心、管理站之間也需要互相通信,因此水文信息的互傳及共享非常必要。目前水文信息的互傳及共享采用的方式主要有以下三種:1, ;2,公用通信信道;3,VPN或網(wǎng)站進(jìn)展數(shù)據(jù)共享。但這三種方式有其明顯的缺乏之處: 方式需要人工參與,限制了工作人員的工作范圍和處理事情的靈敏性,而且需要接收方人工錄入數(shù)據(jù),這樣效率很低且缺乏實(shí)時(shí)性。公用通信信道方式通常利用PSTN、GS、GPRS等進(jìn)展數(shù)據(jù)傳輸,這種方法傳送的數(shù)據(jù)量受限且運(yùn)行費(fèi)用較高。通過(guò)VPN或網(wǎng)站進(jìn)展數(shù)據(jù)共享,這種方式
3、相對(duì)于前兩種而言,真正實(shí)現(xiàn)了信息化,但建立VPN或網(wǎng)站都需要較高的投資和后期高昂的維護(hù)費(fèi)用,這阻礙了它的廣泛應(yīng)用及推廣。為了彌補(bǔ)上述方法的缺乏,本文提出了基于eail方式的水文數(shù)據(jù)共享的方法,通過(guò)郵件的收發(fā),網(wǎng)絡(luò)協(xié)議身份驗(yàn)證來(lái)實(shí)現(xiàn)信息的互傳,實(shí)現(xiàn)無(wú)人工參與的數(shù)據(jù)共享。該方法簡(jiǎn)單、高效,只要能上網(wǎng),不需要額外的系統(tǒng)維護(hù)本錢,對(duì)于大多經(jīng)濟(jì)還不興旺的水利單位具有實(shí)用性。1.1PP3協(xié)議PP適用于/S構(gòu)造的脫機(jī)模型的電子郵件協(xié)議,目前已開展到第三版,稱PP3。在PP3協(xié)議中有三種狀態(tài):認(rèn)可狀態(tài),處理狀態(tài),和更新狀態(tài)。當(dāng)客戶機(jī)與效勞器建立聯(lián)絡(luò)時(shí),一旦客戶機(jī)提供了自己身份并成功確認(rèn),即由認(rèn)可狀態(tài)轉(zhuǎn)入處理狀
4、態(tài),在完成相應(yīng)的操作后客戶機(jī)發(fā)出QUIT命令,那么進(jìn)入更新狀態(tài),更新之后重返認(rèn)可狀態(tài)。一般情況下,大多數(shù)現(xiàn)有的PP3客戶與效勞器執(zhí)行采用ASII明文發(fā)送用戶名和口令,在認(rèn)可狀態(tài)等待客戶連接的情況下,客戶發(fā)出連接,并由命令USER/PASS對(duì)在網(wǎng)絡(luò)上發(fā)送明文用戶名和口令給效勞器進(jìn)展身份確認(rèn)。一旦確認(rèn)成功,便轉(zhuǎn)入處理狀態(tài)。1.2ESTP協(xié)議ESTP英文全稱是“ExtendedSTP,是對(duì)STP協(xié)議的擴(kuò)展,為了防止垃圾郵件的泛濫,采用了身份驗(yàn)證機(jī)制。在登陸效勞器后需經(jīng)過(guò)身份驗(yàn)證才能發(fā)信。其他局部同STP協(xié)議根本一樣。命令A(yù)UTHLGIN表示開場(chǎng)身份驗(yàn)證,然后是用戶名和密碼的驗(yàn)證。用戶名和密碼都是使用
5、Base64編碼。1.2.1STP協(xié)議:STP稱為簡(jiǎn)單郵件傳輸協(xié)議SipleailTransferPrtl,目的是向用戶提供高效、可靠的郵件傳輸。STP的一個(gè)重要特點(diǎn)是它可以在傳送中接力傳送郵件,即郵件可以通過(guò)不同網(wǎng)絡(luò)上的主機(jī)接力式傳送。工作在兩種情況下:一是電子郵件從客戶機(jī)傳輸?shù)叫谄鳎欢菑哪骋粋€(gè)效勞器傳輸?shù)搅硪粋€(gè)效勞器。STP是個(gè)懇求/響應(yīng)協(xié)議,它監(jiān)聽25號(hào)端口,用于接收用戶的ail懇求,并與遠(yuǎn)端ail效勞器建立STP連接??蛻舳讼蛐谄靼l(fā)送懇求命令,效勞器向客戶端返回一些響應(yīng)信息。命令和響應(yīng)都是基于ASII文本,并以R和LF符完畢。響應(yīng)包括一個(gè)表示返回狀態(tài)的三位數(shù)字代碼。1.2.2Ba
6、se64編碼:由于歷史原因,Eail只被允許傳送ASII字符,即一個(gè)8位字節(jié)的低7位。因此,假如您發(fā)送了一封帶有非ASII字符即字節(jié)的最高位是1的Eail通過(guò)有“歷史問(wèn)題的網(wǎng)關(guān)時(shí)就可能會(huì)出現(xiàn)問(wèn)題。網(wǎng)關(guān)可能會(huì)把最高位置為0而產(chǎn)生錯(cuò)誤?;谝陨系囊恍┲饕虍a(chǎn)生了Base64編碼。Base64編碼的思想是采用64個(gè)根本的ASII碼字符對(duì)數(shù)據(jù)進(jìn)展重新編碼。它將需要編碼的數(shù)據(jù)拆分成字節(jié)數(shù)組。以3個(gè)字節(jié)為一組。按順序排列24位數(shù)據(jù),再把這24位數(shù)據(jù)分成4組,即每組6位。再在每組的最高位前補(bǔ)兩個(gè)0湊足一個(gè)字節(jié)。這樣就把一個(gè)3字節(jié)為一組的數(shù)據(jù)重新編碼成了4個(gè)字節(jié)。當(dāng)所要編碼的數(shù)據(jù)的字節(jié)數(shù)不是3的整倍數(shù),也就
7、是說(shuō)在分組時(shí)最后一組不夠3個(gè)字節(jié)。這時(shí)在最后一組填充1到2個(gè)0字節(jié)。并在最后編碼完成后在結(jié)尾添加1到2個(gè)“=。該系統(tǒng)通過(guò)網(wǎng)絡(luò)郵件收發(fā)協(xié)議進(jìn)展水文信息的傳送。從信息保密的角度出發(fā),發(fā)送協(xié)議我們采用具有身份驗(yàn)證機(jī)制的ESTP協(xié)議;從信息可讀性角度出發(fā),即信息編碼方式的限制,我們通過(guò)Base64編碼進(jìn)展解決;接收采用通用的PP3協(xié)議完成。2.1數(shù)據(jù)交換流程當(dāng)分中心需要將信息上報(bào)給管理處時(shí),需要先設(shè)置郵件發(fā)送端口號(hào)以及郵件效勞器,接著驗(yàn)證用戶身份,然后是發(fā)送信息的添加和發(fā)送;接收方利用PP3協(xié)議到郵件效勞器上進(jìn)展下載,其中關(guān)鍵是附件的處理,當(dāng)信息從郵件效勞器中下載到接收方,那么完成了一次信息交換。圖1
8、數(shù)據(jù)交換示意圖從上圖中可以把整個(gè)數(shù)據(jù)交換流程劃分為三個(gè)局部:郵件發(fā)送,郵件接收和郵件處理。1郵件發(fā)送:把郵件從本地發(fā)送到郵件效勞器。首先,設(shè)置郵件發(fā)送的端口號(hào)和郵件效勞器;進(jìn)展效勞器連接;其次,將用戶名和密碼經(jīng)過(guò)Base64編碼,并且發(fā)送進(jìn)展驗(yàn)證;最后,郵件發(fā)送。2郵件接收:把郵件從效勞器下載到本地并處理附件。主要應(yīng)用PP3協(xié)議將郵件從效勞器進(jìn)展郵件下載。其主要流程如圖3所示:圖2發(fā)郵件流程圖首先,設(shè)置郵件接收端口號(hào)和下載郵件效勞器;然后進(jìn)展效勞器連接;其次,用戶名和密碼檢驗(yàn);最后,郵件接收和附件處理。圖3收郵件流程圖3郵件處理:構(gòu)建和分析郵件的各個(gè)部件郵件頭,郵件體,附件等。該局部為整個(gè)系統(tǒng)
9、實(shí)現(xiàn)的重點(diǎn)也是關(guān)鍵。它主要完成郵件體的生成、附件添加、以及接收郵件后郵件的解析和附件的處理等。郵件的生成主要通過(guò)ieessage、ieBdy、ieHeader類。首先創(chuàng)立ieField類創(chuàng)立郵件項(xiàng)列表,然后ieHeader進(jìn)展郵件的頭部的生成,并存放到郵件項(xiàng)列表中;郵件體通過(guò)ieBdy進(jìn)展創(chuàng)立,加載附件,最后再調(diào)用ieessage類構(gòu)成郵件;實(shí)現(xiàn)代碼如下:ieessageail;/設(shè)置郵件各項(xiàng)的值ail.SetFr(ailAddress);ail.SetT(DestinatinAddress);ail.SetSubjet(郵件主題);ail.SetDate();ail.SetVersin();
10、ail.SetntentType(ultipart/ixed);ail.SetBundary();/創(chuàng)立郵件體ieBdy*pBp;pBp=ail.reatePart();pBp-SetText(數(shù)據(jù)見附件);pBp=ail.reatePart();/添加附件pBp-SetDesriptin(attahent);pBp-SetTransferEnding(base64);pBp-ReadFrFile(附件);圖4郵件收發(fā)類圖郵件解析主要實(shí)現(xiàn)郵件附件的處理,它通過(guò)定義中間文檔將附件拷貝到內(nèi)存當(dāng)中,然后再?gòu)膬?nèi)存中將數(shù)據(jù)讀出,然后以與郵件名同名的文件將附件存放到用戶設(shè)定的目錄下;實(shí)現(xiàn)代碼如下:Stdi
11、FileFile;File.pen(a.txt,File:dereate|File:derite);LNGsize=0,nsize=0;/承受郵件到文件hile(size=lSize)/承受郵件nsize=_sSket.ReEive(buf,10240);size=size+nsize;File.rite(buf,nsize);File.Flush();File.lse();/翻開接收到的文件File.pen(a.txt,File:deRead);/得到文件的大小LNGFileSize=File.GetLength();/建立緩沖區(qū)來(lái)存放讀取文件的內(nèi)容har*pBuff=neharFileSi
12、ze;File.Read(pBuff,size);/讀取文件到緩沖區(qū)File.lse();/關(guān)閉文件File.Reve(a.txt);ieessageail;ail.Lad(pBuff,size);ieBdy:BdyListbdies;/定義變量Intnunt=ail.GetBdyPartList(bdies);ieBdy:BdyList:nst_iteratrit;/獲得附件fr(it=bdies.begin();it!=bdies.end();it+)ieBdy*pBP=*it;if(pBP-IsAttahent()/獲得附件名stringstrNae=pBP-GetNae();/存儲(chǔ)附件
13、到當(dāng)前目錄pBP-riteTFile(FilePath+strNae._str();deletepBuff;/刪除緩沖區(qū)該系統(tǒng)采用Visual+6.0進(jìn)展開發(fā),將數(shù)據(jù)交換流程中三個(gè)主要局部封裝為標(biāo)準(zhǔn)動(dòng)態(tài)鏈接庫(kù)。該模塊具有通用性,可應(yīng)用于需要進(jìn)展數(shù)據(jù)交換和共享的系統(tǒng)。從圖4中可以看出通過(guò)ieHeader,ieBdy和ieessage主要用于郵件體的生成和解析;Stp類用于郵件發(fā)送;Pp3用于郵件接收?;贓ail方式的水文數(shù)據(jù)共享系統(tǒng)的設(shè)計(jì)和開發(fā)為目前水文數(shù)據(jù)的互傳和共享提供了一種新的方式,該方法高效、簡(jiǎn)單易行,只要開通了Internet網(wǎng)絡(luò)即可應(yīng)用,無(wú)運(yùn)行維護(hù)費(fèi)用。目前該系統(tǒng)在都江堰灌區(qū)東風(fēng)渠管理處應(yīng)用良好。1潘愛民譯.Visua
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鮮花烤奶課程設(shè)計(jì)
- 自來(lái)水收費(fèi)系統(tǒng)課程設(shè)計(jì)
- 補(bǔ)牙系統(tǒng)課程設(shè)計(jì)
- 2025年度藝術(shù)品代購(gòu)代發(fā)市場(chǎng)推廣協(xié)議4篇
- 鐵路線路課程設(shè)計(jì)
- 年度數(shù)字視頻切換臺(tái)市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 年度工藝禮品加工設(shè)備市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 2024年央行金融政策和法律法規(guī)測(cè)試題及答案匯編
- 二零二五年駕校場(chǎng)地租賃與師資力量引進(jìn)協(xié)議3篇
- 重卡汽配配件課程設(shè)計(jì)
- 微信小程序運(yùn)營(yíng)方案課件
- 抖音品牌視覺識(shí)別手冊(cè)
- 陳皮水溶性總生物堿的升血壓作用量-效關(guān)系及藥動(dòng)學(xué)研究
- 安全施工專項(xiàng)方案報(bào)審表
- 學(xué)習(xí)解讀2022年新制定的《市場(chǎng)主體登記管理?xiàng)l例實(shí)施細(xì)則》PPT匯報(bào)演示
- 好氧廢水系統(tǒng)調(diào)試、驗(yàn)收、運(yùn)行、維護(hù)手冊(cè)
- 中石化ERP系統(tǒng)操作手冊(cè)
- 五年級(jí)上冊(cè)口算+脫式計(jì)算+豎式計(jì)算+方程
- 氣體管道安全管理規(guī)程
- 《眼科學(xué)》題庫(kù)
- 交通燈控制系統(tǒng)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論