维普资讯 http://www.cqvip.com ・50・ Computer Era No.1 0 2008 基于数据库的新型电子邮件系统的研究与设计 潘峰’,王翰虎 (1.贵州1民族学院数学与计算机科学学院,贵州贵阳550025;2.贵州大学计算机科学与技术学院) 摘要:设计了一种基于数据库实现的新型电子邮件模型,以Servlet小程序为中间件,实现在Web环境下将电子邮件 的收发转化为对数据库的访问和操作 .新模型使用应用服务器完成业务处理,使用数据库来管理和维护邮件,采用HTTP 协议和DBMS专用协议来完成邮件的收发,实现了电子邮件服务与原理技术的完全分离。 关键词:Servlet;B/S:JDBC:数据库 0引言 浏览器取代。大量的业务处理放在应用服务器上,应用服务器 当前,电子邮件服务作为Internet提供的一种传统服务,已 即Web服务器作为应用层,数据库服务器作为数据层,这样, 成为人们传递信息的重要工具,也是人们最喜欢的Web应用 浏览器与Web服务器之间相当于终端与主机模式,而Web服 程序之一。电子邮件用户主要分为个人用户和企业用户。个人 务器与数据库服务器之问是一种C/S数据库模式。典型的B/S 用户主要以免费电子邮件为主,而这种电子邮件所提供的功能 模式三层 辑结构见图l。 并不能完全满足企业的需求。 1系统应用技术 登 廛 竖 矍卜_—_1 菔 嚣j 1.1概述 目前在企业电子邮件的应用中,企业已经意识到没有管理 图1 B/S模式结构图 的电子邮件比没有电子邮件还可怕。企业希望能够高效、安全、 1,4 JDBC数据库链接技术 稳定地应用电子邮件,为公司的管理、业务、客户服务提供很好 JDBC是Java应用与数据库管理系统进行交互的标准 的对外、对内的联系方式。其次,企业希望电子邮件有信息共享 API,通过这组API,Java应用程序能够采用统一的方式与各种 的功能,可以在企业内部很好地共享邮件信息,提高企业内部 不同的数据库管理系统进行交互。 的信息沟通效率。另外,企业还希望电子邮件具备文件管理的 为满足lntemet环境的需要,本文所述的电子邮件系统可 功能,提供员工对电子邮件文档的系统管理服务,以便提高员 采用强大的大型分布式关系数据库Oracle 9i。Oracle 9i是一个 工的工作效率。 支持面向Interact计算环境的数据库,它改变了信息管理和访 随着通信技术、汁算机技术和数据库技术的迅速发展,许 问的方式。Oracle 9i将新的特性融入到传统的Oracle服务器 多网络应用软件的体系结构正在发生重大的变化。以电子邮件 中,从而成为一个面向Web信息管理的数据库。它支持Web高 为代表的传统两层C/S结构应用程序,其结构将可以霞新设计 级应用所需要的多媒体数据,支持Web繁忙站点不断增长的 来满足更多的需求。 负载需求。Oracle 9i是惟一拥有集成式Web信息管理工具的 1.2 Servlet 数据库,对Java有很好的支持,正在推动Java成为下一代应用 Servlet是使用Java Servlet应用程序没计接tA(API)及相 标准。 关类和方法的Java程序。除了Java Servlet API,Servlet还可以 2系统总体设计 使用用以扩展和添加到API的Java类软件包。Servlet在启用 2.1问题描述与需求分析 Java的weh服务器上或应用服务器上运行并扩展了该服务器 使用电子邮件要解决的基本问题可描述为:在Internet环 的能力。例如,Servlet可完成如下功能: 境下,甲方将给乙方发送一则信息,乙方在某个时候阅读信息。 (1)创建并返回一个包含基于客户请求性质的动态内容的 凶为不是 ̄lJu,f通讯,所以乙方必须有一个专用的邮箱保存甲方 完整的HTML页面。 发送的信息,同样,甲方也需要一个专用的邮箱来保存乙方回 (2)创建可嵌 入 0现有HTML页面中的一 郅分HTML页面。 复的信息。 f3)与其它服务器资源(包括数据库和基于Java的应用程 随着系统用户的增加,用户邮箱也随着增加,组织和管理 序)进行通信。使用Servlet,可以用JDBC数据库访问技术来实 用户邮箱需要更好的机制;对个人用户和企业用户而言,邮件 现对数据库的访问,实现用户对数据库的操作。 越来越多,要能很好地进行阅读、分类、查询、筛选等操作 1.3 B/S开发模式 管理。 B/S结构是将Web技术与C/S结构技术相结合的模式,实 解决以上问题的基本思想是:以关系数据库中的表表示邮 现了开发环境与应用环境的分离。它将客户端的表示层用Web 箱,邮件则是表中的记录。 维普资讯 http://www.cqvip.com 计算机时代2008年第l0期 2.2系统功能 2.2.1系统的i要功能模块 ・51・ DNtI ̄箱,实质是创建一个表。 2.2.4实现特色功能的算法 我们为新型邮件模型设计了以下几个主要功能模块: 注册功能模块本模块中有一系列以用户名为关键字的表 (1)邮件可信受限互斥算法 /,算法描述:用户不能设置某用户同时为可信用户和受限用户 的创建,包括电子邮件地址的创建,收件箱、草稿箱的创建。用 户信息记录将被插入用户信息表。用户注册后将取得使用系统 的权限。 If(受限用户表中存在用户A) refuse( ̄户A插入可信用户表): if(可信用户表中存在用户A) refuse( ̄户A插入受限用户表): 登录功能模块用户在本模块进行登录验证,验证通过将 可以进入以下功能模块。 收邮件功能模块可在本模块进行电子邮件的浏览、阅读、 保存或删除。 发邮件功能模块实现电子邮件的发送或回复。 邮件管理功能模块实现电子邮件的归类、查询、移动、排 序和删除等。 用户自i设置模块用户可以添加通讯录,过滤邮件,如设 置可信用户、设置受限访问的用户。 系统管理员模块本模块仅由系统管理员维护,通过用户 注册表中用户的日发件总数等监控用户的异常行为,如群发垃 圾邮件等。可对违规用户发出警告,设限或注销等操作。 2.2.2新型电子邮箱地址构成 每个注册用户都获得惟一的一个电子邮箱地址。电子邮箱 实质上就是数据库系统中的一个表。用户电子邮箱由三部分组 成。比如用户SmileAngel的电子邮箱地址表示为SmileAn— gel@dbname.htname,其第一部分即SmileAngel表示以用户名 为自变量生成的一个表名的别名;第二部分即dbname为某数 据库的别名;第三部分为某主机的别名。这样,邮件用户的电子 邮箱即是某主机上某数据库中的一个表,而邮件即是表中的记 录。对于邮件用户SmileAngel而言,其垃圾箱和草稿箱对应表 名可为SmileAngelO和SmileAngell。 2.2.3新型电子邮件的工作过程 用户注册时,系统根据注册的用户名为关键字生成一系列 表,主要有收件箱表、草稿箱表、垃圾箱表、可信用户表和受限 用户表。 (1J基本功能描述 邮箱地址:邮箱是以用户注册名为关键字创建的一个表, 它由表名、数据库和主机名构成。 发送邮件:发件人将一条记录插入收件人邮箱。 阅读邮件:用户查看自己邮箱中的记录。 (2)扩展功能描述 用户注册后,系统将为用户创建三个邮箱:收件箱、草稿箱 和垃圾箱。收件箱只能够接收可信用户的邮件;草稿箱用于保存 草拟的邮件,不发给接收者;垃圾箱用于接收一般用户的邮件。 设置可信用户:被设置为可信用户的发信者邮件将进入收 信箱。 设置受限用户:被设置为受限用户的发信者邮件将被拒收, 不能进入用户的任何邮箱。 申请其他邮箱:系统以用户名为关键字给用户创建一个附 (2)邮件筛选算法 /,算法描述:发件人邮件的去向 if(收件人的受限用户表中存在发件人A) refuse(YL件人A邮件): else if(收件人的可信用户表中存在发件人A) insert(发件人A邮件到收件人收件箱): else insert(发件人A邮件到收件人垃圾箱); 2.2.5小结 新型模式的电子邮件系统采用三层分布式体系结构,与用 户交互的界面采用HTML窗体实现,使用Servlet和JavaBean 中间组件实现数据处理,采用JDBC API连接数据库。数据库 采用适合于Internet计算环境的Oracle 9i。每个注册用户有三 个邮箱,每个邮箱根据不同的情形接收不同的邮件。用户可以 申请创建附DHtI ̄箱来管理不同类别的邮件。 3系统有关功能的实施 本系统使用Bea公司的WebLogic Server应用服务器。 WebLogic中间件技术平台是运行在传统操作系统和硬件基础 顶部的一个软件环境,能够支持多种服务、内容和应用。后台数 据库采用的Oracle公司的Oracle 9i数据库管理系统。此外我 们在设计和实现过程中,充分运用了没计模式来优化本系统的 结构,提高了系统的可扩展性,可重用性和易维护性,同时,系 统还支持异构数据库环境。 4结束语 以先进的SOA架构思想为出发点,不拘于原理和技术,而 以服务为导向,力求拓展电子邮件的定义,并以数据库为基础, 设计了一种新型的电子邮件系统。 系统所具强大的数据库管理功能,使得用户对邮件信息的 管理更加高效、方便,系统还提供一种垃圾邮件过滤机制,使用 户可以自己设定不受欢迎用户,拒收他们的邮件。新邮件系统 既保持了传统电子邮件的功能,同时也扩展了用户对电子邮件 的自主管理功能,使得用户能高效地管理自己的邮件,提高了用户 的满意度。 系统突破电子邮件系统一直沿用的架构,比如说并不采用 STMP和POP协议,而用HTTP协议和DBMS专用协议来实 现电子邮件的收发。 参考文献: 【1】Jason D,Rennie M.An Application of Machine Leaming to E—mail Filtering[A].Sixth ACM SIGKDD Intemational Conference (下转第54页) 维普资讯 http://www.cqvip.com ・54・ Computer Era No.1 0 2008 表2标准事务数据库表 TID TI. n2 事务为3到4095,其中不包含单项的数字事务,即2的幂。实验 环境为:Intel(R)Celeron(R)M CPU 420@1.60 GHz,512的 项ID的列表 II I… I1,I n1‘’。 内存,操作系统为Windows XP Professional,在Visual c# 2005.NET开发平台上实现三种算法。三种算法挖掘的实验结 果如图1所示,三种算法的执行时间随最小支持度的变化如图 2所示,ALFISDMB和Armab算法的执行时间随项目长度的变 化如图3所示。实验结果证明了3.t节的分析结论。 6000 一、TI I5,k… 2.2标准关联规则转化为空间关联规则 用1节介绍的算法在2.1节构造的空间数据库中挖掘出标 准关联规则,并将其按如下步骤转换为空间关联规则: Stepl:将数字关联规则转换成二进制形式,对有“1”的位转 换成对应的I 事务项,形成可理解的关联规则。若挖掘得到的 规则为:48--+9[20%,3o%1,则转换后为{I.,I2}一{I ,I }【2O%,30%]。 5000 400O l 30∞ 2000 looo Step2:将所得事务项Ij复原为Close—to(T,Oj)的形式如: Close__to(T,O1)A Close—to(T,O2)—+Close_to(T,O3)A 24% 12% 5% 2 4C聪 l 20%0.5 0 24%0.i2% n 07 最小支持度(%) Closeto(T,06)[20%,30%】。 图2三种算法执行时间随支持度的变化 Step3:将上面的形式转化为标准的空问关联规则形式,如: isa(X,T)^Closeto(T,O1)八Closeto(T,O2)--+Close—to(T, —O3)AClose_to(T,O )【20%,30%】,T代表目标对象。此规则表 明30%靠近O 和O。的目标对象,同时也靠近O。和o ,在相应 事务数据库中有20%的数据符合这一规则。 3算法的实验结果比较 频繁项长发(个j 图3 ALFISDMB和Armab算法的执行时间随项目长度的变化 4结束语 本文提出一种基于二进制的长频繁项空间数据挖掘算法 ALFISDM,该算法是现有二进制关联规则挖掘算法的改进方 法,适合挖掘长频繁项目集和同一关系模式下不同对象之问的 空问关联。实验证明该算法明显提高了效率。 参考文献: 【1l何新责,唐常杰,李霖等.特种毅据库技术【M】.科学出版社,2000. 【2】石云,孙玉芳,左春.基于Rough Set的空间毅据分妻方法【J】.捷件学 报.2000.11:673-678 I3】吴信才,刘少雄.基于邻接关系的空间数据挖掘【J】计算机工程, 图l三种算法的挖掘结果 2002 7:89-91 I4】施颖男,李德敏,薛丹,赵丽娜.移动计算中基亏Apriori算法的空间 本文参照文献【6】中Apriori算法在移动空间数据库中提取 空间关联规则的空间环境,即同一空间关系模式(Close_to)下不 同对象之间的关联;按2.2节的方法构造空间数据库,设计如下 数据库:项目个数为m=12,项目属性为布尔量,事务个数为 4083个,不重复事务数为4083个,用二进制事务表示后的数字 ●◆◆ r◆◆,◆◆●●◆◆◆●●◆◆●◆●●●●◆◆●●关联规则提取【J】l计算机工程与应用,2003.35:55-56 【5】陈耿,朱玉全,杨鹤标.关联规则挖掘中若干关键技术的研究【J】.计 算机研究与发展,2005 42(10):1785~1789 【6】范平,梁家荣,李天志,巩建闽.基于二进制的关联规则挖掘算法【Jl1.汁 算机应用研究,2007・8:79~8 ◆◆◆◆◆◆◆◆◆◆●◆◆◆◆ ●◆ (上接第51页) on Knowledge Discovery and Data Mining[C].Boston,MA,USA, 2000.8.20. 3】费耀平等著.个人化自动过滤系统的设计【J】.计算机应用,2002.6. 4】Thomas Erl著SOA概念、技术与设计【M】机械工业出版社,2007 2】叶红等著基于LVS的高性能邮件防病毒系统的研究与实现【J】计 算机工程与科学,2005.27(8):48~62 5】周旭等著.基于贝叶斯的垃圾邮件过滤方法[J】.计算机科学, 2005 3