您好, 访客   登录/注册

基于电子邮件的数据交换机制的设计与实现

来源:用户上传      作者:

  摘要:目前很多实际软件项目需求中都要求多个网络主机互相自动传输数据文件,而目前已有的解决方案均不能很好地满足此要求。该文首先分析了传统方案的若干缺陷,并针对性地提出一种全新的基于电子邮件的数据交换传输机制,并详细介绍了这种新传输机制的总体思路和过程,最后分析了这种新传输机制的优势。
  关键词:数据交换;电子邮件;邮件服务器;分组;结点
  中图分类号: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.

转载注明来源:https://www.xzbu.com/8/view-8703510.htm