摘要:目前很多實際軟件項目需求中都要求多個網絡主機互相自動傳輸數據文件,而目前已有的解決方案均不能很好地滿足此要求。該文首先分析了傳統方案的若干缺陷,并針對性地提出一種全新的基于電子郵件的數據交換傳輸機制,并詳細介紹了這種新傳輸機制的總體思路和過程,最后分析了這種新傳輸機制的優勢。
關鍵詞:數據交換;電子郵件;郵件服務器;分組;結點
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)24-6721-02
Design and Realization of Data Exchange Mechanism Based on Email
GAO Zhen-dong
(Wuxi Professional College of Science and Technology, Wuxi 214028, China)
Abstract: At present, a lot of the actual demand for software projects require multiple network hosts automatically transfer data files with each other, and the existing solutions are not well positioned to meet this request. This article first analyzes a number of deficiencies in the traditional program, and put forward a new e-mail-based data exchange transfer mechanism, and a detailed introduction of this new delivery mechanism for the general ideas and the process of final analysis of this new the advantages of transmission mechanism.
Key words: data exchange; email; mail server
目前,在很多軟件需求中都需要實現在網絡中實現數據傳輸,例如在很多企業或者單位日常業務管理中,由于各個分支機構可能位于不同城市和地區,他們之間需要實現數據的非實時自動傳輸。或者在局域網中也需要實現不同網絡結點之間的數據非實時自動傳輸功能。但是綜觀目前相關技術,沒有一種技術機制能夠完全符合這種需求。
本文結合了在實際軟件項目中的具體需求,在網絡層次體系的最高層應用層提出一種全新的非實時網絡數據自動傳輸機制,并予以具體實現。本文提出的傳輸機制能夠借助現有的硬件平臺,從而節省了成本,具有較高的經濟效益。
1 現有數據傳輸方式的不足
目前,位于不同地區的兩個企業分支機構如果需要傳輸數據,一般可以采用以下方案:
1) 采用虛擬專用網。
此類方案由于需要專門的VPN[1]軟件支持,而此類軟件價格一般不菲,所以企業單位需要為此支付較高的成本費用。
2) 使用FTP技術。
此類方案在費用方面低于采用虛擬專用網的方案,但是FTP技術由于帳戶和密碼采用明文傳輸[2],安全性不是很高,不適合企業單位傳輸機密文件的場合。另外此方案不具備自動傳輸功能。
3) 采用電子郵件
此類方案采用電子郵件的方案一般需要人工介入發送數據,不具備自動傳輸功能。另外,對于較大文件的發送存在限制。
以上各種方案均不能較好地滿足多個網絡結點自動進行數據傳輸的要求,為了滿足軟件項目過程中的此類具體需求,必須設計新的數據文件傳輸機制。
2 新設計的傳輸機制
本文針對以上現有的解決方案的不足之處提出了一種全新的非實時網絡數據自動交換機制[3]。新設計的傳輸機制總體設計采用中央郵件服務器,參加數據交換傳輸的各個網絡結點各自使用自己的帳戶在郵件服務器上接收發送給自己的郵件并下載其中的附件文件。同時,各個網絡結點都將要交換傳輸的文件作為電子郵件附件發送到郵件服務器中的接收者的帳戶中,由接收者定時接收下載。圖1演示了傳輸機制整體拓撲圖。
新傳輸機制的主要過程如下:
1) 假設A、B、C分別是參加數據交換的各個網絡結點。
2) A、B、C各自預先設置具體目錄為發送目錄,在這個發送目錄中的所有數據文件都將被后臺程序或者服務自動發送。
3) A、B、C各自預先設置具體目錄為接收目錄,參加數據交換傳輸的各個結點接收的數據文件都被后臺程序或者服務自動存放在這個接收目錄中。
4) 后臺程序或者服務根據預先設定的間隔時間讀取發送方的發送目錄中的所有數據文件準備發送。
5) 為了減少數據傳輸大小,發送方對準備發送的數據文件進行壓縮處理。
6) 發送方以電子郵件的形式向預先設置的若干個交換方郵箱發送郵件,數據文件作為附件發送。
7) 由于郵件附件存在大小限制,所以發送數據方檢查即將發送的數據文件是否大于預先設置的最大值MAXSIZE。如果大于,則將數據文件進行分組分割成若干個分組文件,每個分組大小不超過最大值MAXSIZE。
8) 如果數據文件被分割之后傳送,則按照順序對進行分割的文件進行文件名編號,最后一個分組文件以“end”為后綴。例如原來的壓縮文件名是“培訓名單.rar”,被分割為3個文件,則這3個文件的文件名分別是“培訓名單1278367.rar1”、“培訓名單1278367.rar2”、“培訓名單1278367.rar3end”。這些分組文件均被發送方暫存,以便接收方沒有收到的時候再次重發。其中“1278367”這個數字是發送方為了防止第三方冒充發送文件給接收方而隨機產生的隨機數。
9) 接收方按照預先設置的間隔時間到預先設置的郵件服務器上接收郵件,并逐個下載每個郵件的附件到預先設置的接收目錄中。如果接收目錄中存在同名的文件,則將新接收的文件覆蓋原有文件。每一個郵件接收之后將從郵件服務器刪除。
10) 如果接收方發現硬盤空間不夠,則不予接收郵件服務器上的郵件,并且向發送方發送郵件通知發送方停止向接收方發送文件郵件。
11) 根據文件名的擴展名后綴檢查同一文件的所有分組文件是否已經全部接收到。例如收到“培訓名單1278367.rar1”、“培訓名單1278367.rar2”、“培訓名單1278367.rar3end”三個文件,則由“3end”后綴得知發送方發送了文件“培訓名單.rar”,一共為三個分組文件。接收方將文件名中的隨機數去除,恢復原來的文件名。
12) 如果接收方發現同屬于一個文件的所有分組文件中存在還沒有接收到的分組文件,那么按照預先設置的超時時間進行計時,如果超時之后還沒有在郵件服務器中接收到這個分組文件,則向發送方發送郵件,標題統一為“要求重發”,內容為要求重復的分組文件的文件名,例如“培訓名單1278367.rar2”。
以上過程為新機制的主要過程,在具體情況下可以稍微進行調整以適應更加具體的情況,從而取得更好的效果。圖2演示了正常情況下傳輸機制的工作過程。
3 新傳輸機制的優勢
綜合以上過程,本文提出的新的傳輸機制具有以下優勢[4-5]:
1) 不僅適用于互聯網這種廣域網,而且適用于局域網,只需在局域網中架設郵件服務器,相對其他方案經濟負擔小。
2) 支持在各種網絡(例如廣域網、局域網)情況下的大文件傳輸需求。
3) 由于采用電子郵件傳輸文件,各個網絡結點接收文件需要使用各自的帳戶在郵件服務器上發送和接收文件,安全性和電子郵件的安全性一樣同樣得到保障。
4) 文件傳輸過程完全是自動的,只需將要發送的文件放入預先設置的發送目錄即可。
5) 支持多個網絡結點同時進行數據傳輸和交換。
6) 支持錯誤檢測,并且能夠重發數據。
以上這些優勢將使本文提出的新傳輸機制在很多應用場合優于傳統的數據傳輸機制。
4 結束語
該文針對實際軟件項目的具體需求提出并且設計了一種全新的基于電子郵件的非實時數據自動交換傳輸機制,這種機制能夠滿足很多場合的實際數據傳輸要求,相對傳統的數據交換傳輸方法有獨到的優勢,必然具有更加廣闊的應用前景。
參考文獻:
[1] 韓旭東,湯雋,郭玉東.新一代IPSec密鑰交換規范IKEv2的研究[J].計算機工程與設計,2007,28(11):2549-2552.
[2] 楊明福.計算機網絡原理[M].北京:經濟科學出版社,2007.
[3] 陳卓,張正文.Internet密鑰交換協議IKEv2研究[J].計算機應用與軟件,2008,25(2):269-270.
[4] 謝希仁. 計算機網絡[M].5版.北京:電子工業出版社,2008.
[5] 陳妍,王志文,朱海萍,李增智.計算機網絡原理[M].3版.西安:西安交大出版社,2008.