国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于XML的企業(yè)內(nèi)部郵件系統(tǒng)的設計與實現(xiàn)

2010-01-15 09:25:36劉長勇
湖北工程學院學報 2010年3期
關(guān)鍵詞:郵件系統(tǒng)聯(lián)系人列表

劉長勇,許 曉

(1.武夷學院動漫學院,福建武夷山 354300;2.廈門優(yōu)聯(lián)志誠網(wǎng)絡科技有限公司,福建廈門 361000)

基于XML的企業(yè)內(nèi)部郵件系統(tǒng)的設計與實現(xiàn)

劉長勇1,許 曉2

(1.武夷學院動漫學院,福建武夷山 354300;2.廈門優(yōu)聯(lián)志誠網(wǎng)絡科技有限公司,福建廈門 361000)

針對企業(yè)內(nèi)部郵件系統(tǒng)的設計目標,提出了一種基于XML的企業(yè)內(nèi)部郵件系統(tǒng)的設計與實現(xiàn),詳細分析了郵件系統(tǒng)的功能、體系結(jié)構(gòu)和郵件數(shù)據(jù)的存儲結(jié)構(gòu),并給出郵件收發(fā)流程及實現(xiàn)代碼。

XML;郵件系統(tǒng);郵件收發(fā);XCPU;XM ail

隨著中國企業(yè)上網(wǎng)工程步伐的加快和網(wǎng)上郵箱的推出,擁有自己的網(wǎng)上郵箱是每個企業(yè)的迫切希望。因此,為了實現(xiàn)郵件系統(tǒng)在企業(yè)內(nèi)部快捷、方便、可靠、高效地運行,郵件系統(tǒng)的設計目標一般有以下幾個方面的要求[1]:1)用戶操作簡單,使用方便;2)郵件收發(fā)速度快;3)郵件存儲空間利用率高,文件可共享;4)郵件傳輸高效快捷;5)能有效地對郵件進行控制和管理。為此,本文提出了一種以XML格式來存儲數(shù)據(jù)、采用基于B/S結(jié)構(gòu)的郵件系統(tǒng)設計方案,通過將應用服務單獨進行處理,從而使得用戶界面與應用服務位于不同的平臺上,方便地將整個系統(tǒng)分為不同的模塊,提高了系統(tǒng)模塊的通用性,縮短了開發(fā)周期,降低應用系統(tǒng)開發(fā)成本[2]。

1 XML技術(shù)

1.1 XML概述

可擴展標記語言(eXtensible Markup Language,XML)是由互聯(lián)網(wǎng)聯(lián)合組織(World Wide Web Consortium,W3C)在1998年制定的一種通用語言規(guī)范,它是一門新興的、面向Internet應用的標記語言,可以根據(jù)需要表現(xiàn)的文檔,通過自由定義標記來表現(xiàn)具有現(xiàn)實意義的文檔內(nèi)容。它具有以下幾方面的優(yōu)點:1)良好的可擴展性,語言簡單有效,可自行定義標記;2)內(nèi)容與形式的分離,主要刻畫數(shù)據(jù)內(nèi)容,不考慮顯示效果;3)有嚴格的語法要求,便于分析統(tǒng)一和與數(shù)據(jù)庫信息轉(zhuǎn)換;4)便于傳輸,為純文本形式,可通過 H TTP協(xié)議直接傳輸,可跨越防火墻[3-5]。

1.2 XML文件的結(jié)構(gòu)

XM L文件包括3個部分:XML聲明、處理指示(可選)、XML元素。XML文檔的一個基本要求是形式良好(well formed),一個形式良好的XML文檔要包含這3個部分。下面是一個完整的XML文檔:

<?xm l version="1.0"?>

<doc>

<assem bly>

<name>XCPU.XMail</name>

</assembly>

<members>

<member name="T:XCPU.XXM ail.Send Event A rgs">

<summary>

XM Index Event Args的摘要說明。

</summary>

</member>

<mem ber name="M:XCPU.XXM ail.Send Event A rgs.#ctor">

<summary>

郵件事件

</summary>

<param name="e">郵件索引</param>

</member>

</members>

</doc>

2 郵件系統(tǒng)的設計

2.1 功能設計

1)郵件創(chuàng)建:用戶可以通過該模塊進行創(chuàng)建新郵件。

2)郵件管理:通過收件箱、發(fā)件箱、草稿箱和垃圾箱對郵件進行分類管理。收件箱存儲著其他用戶發(fā)送給該用戶的郵件;發(fā)件箱用來存儲用戶在發(fā)送郵件時的郵件副本;草稿箱用來存儲未完成或暫未發(fā)出的郵件;垃圾箱存儲被刪除的郵件。

3)郵件傳輸:負責處理從顯示層到邏輯層的數(shù)據(jù)傳輸工作。該模塊分用戶信息傳輸和郵件信息傳輸兩大主要工作。用戶信息傳輸包括用戶登錄、注冊用戶、通過部門編號獲得指定的部門名稱、用戶信息修改。郵件信息傳輸包括發(fā)送郵件、保存郵件、刪除郵件、永久刪除郵件、獲取指定類型的索引列表、獲取用戶所在部門的所有部門郵件、讀取郵件、獲取新郵件、附件上傳、附件下載。

4)郵件發(fā)送、接收:郵件發(fā)送、接收模塊,即XCPU,是本系統(tǒng)的核心,負責了郵件系統(tǒng)的所有郵件數(shù)據(jù)運算工作。

5)郵件閱讀:用戶在查看郵件管理中的郵件列表時,通過點擊列表中的郵件主題,對郵件進行閱讀。用戶在閱讀郵件后,可以對這些郵件進行回復、刪除和永久刪除等操作。

6)用戶信息:用戶可以在此模塊中查看和修改用戶自己的信息。

7)用戶通訊錄:用戶可以利用通訊錄,存儲用戶常用的聯(lián)系人郵件地址。在通訊錄中,用戶可以對聯(lián)系人進行管理,如添加、修改和刪除聯(lián)系人。用戶可以對聯(lián)系人進行分類,并且可以自定義聯(lián)系人分類。用戶在創(chuàng)建新郵件時,可以調(diào)用通訊錄里面的聯(lián)系人信息。

2.2 體系結(jié)構(gòu)設計

企業(yè)內(nèi)部郵件系統(tǒng)是在Internet環(huán)境下實現(xiàn)的,采用瀏覽器/服務器(B/S)模式。服務器以Window s 2000 Server/2003 Server為操作系統(tǒng)平臺,以XML為數(shù)據(jù)存儲方式,客戶端通過瀏覽器訪問系統(tǒng)提供的服務。系統(tǒng)不允許匿名訪問,它要求用戶提供用戶名和密碼,通過驗證后才能進入系統(tǒng)主頁。用戶進入系統(tǒng)后,可以管理自己的郵件,編寫新郵件發(fā)送給企業(yè)內(nèi)部用戶。在發(fā)送時,可以同時發(fā)送附件,并可以定時發(fā)送郵件。用戶對收取到的郵件可以進行回復、刪除等操作。

郵件系統(tǒng)的體系結(jié)構(gòu)如圖1所示,共分為以下4層:

1)顯示層:以樹型結(jié)構(gòu)顯示郵件系統(tǒng)的用戶界面,供用戶完成各種郵件的操作。

2)數(shù)據(jù)傳輸層:采用 Web Services和 Socket的方式實現(xiàn)數(shù)據(jù)的傳輸與通信。

3)數(shù)據(jù)處理層:負責郵件系統(tǒng)的所有郵件數(shù)據(jù)運算工作。

4)數(shù)據(jù)存儲層:以XML格式存儲郵件數(shù)據(jù)。

圖1 郵件系統(tǒng)體系結(jié)構(gòu)圖

2.3 郵件數(shù)據(jù)(XMail)存儲結(jié)構(gòu)的設計

系統(tǒng)以XMail為主要數(shù)據(jù)處理對象,XMail是以RSS存儲的XML文件,其格式如下:

<?xm l version="1.0"encoding="gb2312"?>

<rss version="2.0">

<channel>

<title></title>

<link></link>

<descrip tion>

<XList XGroup From="test"XGroup To="test"Converge=""Pin="xuxiao"ID="20060526154157094508321"DataSource=""Department=""From="xuxiao@XMail.com"To="xuxiao@XM ail.com"Cc=""Bcc=""iDna=""XFlow=""IsRead="True"IsSended="True"IsSave="True"IsReceived="True"Subject="內(nèi)部郵件"BodyEncoding="Base64"Body Fo rmat="Text"Prio rity="No rmal"Send-Time="2006-5-26 15:41:58"Send Tim ing=""ReceiveTime="2006-5-26 15:41:59"LastRead Time="2006-5-26 15:42:30"Read-Count="1"ReadPin="xuxiao"A ttachments="20060526154103040702779_Admin.xm l|"A ttachmentsCount="1"MailSize="1331"/>

</descrip tion>

<copyright> </copyright>

<language> </language>

<item>

<title> </title>

<link></link>

<descrip tion><Body>

<![CDA TA[<P align=center> <STRONG><FON T color=#ff1493>通知</FON T></STRONG></P>]]>

</Body></descrip tion>

</item>

</channel>

</rss>

3 XCPU的實現(xiàn)

XCPU是本系統(tǒng)的數(shù)據(jù)處理中心,負責郵件系統(tǒng)的所有郵件數(shù)據(jù)運算工作,是一個W indow s服務程序,由數(shù)據(jù)接收中心、命令中心、XCPU緩存、數(shù)據(jù)處理中心和郵件發(fā)送中心等部分組成。

3.1 郵件收發(fā)流程

本郵件系統(tǒng)的郵件收發(fā)流程如圖2所示。

圖2 郵件收發(fā)流程

3.2 數(shù)據(jù)接收

接收從 Web Service通過 Socket發(fā)送到XCPU的數(shù)據(jù),并將數(shù)據(jù)傳遞給命令中心進行分析。得到分析結(jié)果后,將數(shù)據(jù)進行XM ail轉(zhuǎn)換,如果命令類型為發(fā)送 XM ail,將 XMail存儲到XCPU的一級存儲中,并將XM ail的郵件索引添加到二級緩存中,等待數(shù)據(jù)處理中心的處理。如果命令類型為XM ail的操作,直接傳遞給數(shù)據(jù)處理中心處理。其實現(xiàn)的主要代碼如下所示:

p rivate void XScoket Ser_On Recv Data(object sender,NetEventA rgs e)

{Order order=new Order(e);

//如果當前指令類型為發(fā)送郵件

//將數(shù)據(jù)添加到一級緩存中

if(order.Order Types==Order Type.Send)

{//接收事件

this.OnReceive(e.Client.Datagram);

if(this.CacheL1.Contains(order.Data)==false)

{this.CacheL 1.Add(order.Data);

timer.Enabled=true;

XScoketSer.Send(e.Client,"true");

}

else

{XScoketSer.Send(e.Client,"false");}

}

else

{//打開一個線程處理

Oper Order X M ail ooXM ail=new Oper OrderX M ail(this.XScoketSer,order);

Thread th=new Thread(new Thread Start(ooXM ail.Begin));

th.IsBackground=true;

th.Start();

}

}

3.3 郵件發(fā)送

先從 XCPU的二級緩存中獲取要處理的XMail的郵件索引 XM ail Index,再從XCPU的一級緩存中獲取對應的XMail進行發(fā)送處理。其實現(xiàn)的主要代碼如下所示:

private bool Send()

{if(this.to Send X M ail List.Count==0)

{return false;}

is Busy=true;//系統(tǒng)開始忙

foreach(object feX Mail in this.to Send X M ail List.Values)

{XM ail the X M ail=(XM ail)feX M ail;

XMail Index theXM Index = theXMail.MailIndex;

if(the XM Index==null)

{continue;}

Send Single XM ail Index(the XM Index);//處理單個XMail Index

}

Remove From To Send XM ail Indes();//刪除已發(fā)送過的郵件索引

Move Busy To Send XM ail Index();//將臨時列表中的郵件添加到處理列表中

is Busy=false;

Remove Is To Send At Busy();//從臨時列表中移除已加載到處理列表的郵件索引

return true;

}

4 結(jié)束語

本郵件系統(tǒng)按照B/S結(jié)構(gòu)模型設計,通過將應用服務單獨進行處理,從而使得用戶界面與應用服務位于不同的平臺上,利用 Web Service和Socket技術(shù),實現(xiàn)了系統(tǒng)的跨服務器運行,提高了系統(tǒng)的數(shù)據(jù)處理能力和ASP.Net的訪問負載能力。同時,由于采用XML格式進行數(shù)據(jù)存儲,使數(shù)據(jù)可以通過網(wǎng)絡無障礙地進行傳輸,簡化了數(shù)據(jù)的維護與備份,具有良好的通用性、可移植性。

[1] 劉俊,閆淵源.基于數(shù)據(jù)庫的企業(yè)內(nèi)部郵件系統(tǒng)的設計[J].信息技術(shù),2008(11):112-114.

[2] 邱林,張凌.基于B/S三層結(jié)構(gòu)的電子郵件解決方案[J].計算機工程,2003(11):158-159.

[3] 崔莉.基于XML的Web文件傳輸系統(tǒng)的實現(xiàn)[J].重慶科技學院學報,2009(4):127-129.

[4] 劉長勇,寧正元.基于XML的學習流模型的研究[J].重慶工學院學報,2009(2):176-180.

[5] 靳志強,滕桂法,孫晨霞,等.基于XML與動態(tài)數(shù)據(jù)集成模型的異構(gòu)數(shù)據(jù)訪問接口設計與實現(xiàn)[J].河北農(nóng)業(yè)大學學報,2009(3):131-135.

Design and Implementation of the XML-based Enterprise Internal Mail System

Liu Changyong1,Xu Xiao2
(1.Animation Institute,Wuyi University,Wuyishan,Fujian 354300,China;2.Xiamen Youlianzhicheng Network Technology Co.,L td,Xiamen,Fujian 361000,China)

According to the design objectives of enterprise internalmail system,the present article put forward the design and implementation of the XML-based enterprise internal mail system,discussed the functions,frame and mail datAstorage structure of it and provided the mail sending and receiving process and implementation code.

XML;mail system;mail receiving and sending;XCPU;Xmail

TP393.098

A

1671-2544(2010)03-0064-04

2009-11-02

武夷學院科技項目(XQ0920)

劉長勇(1974— ),男,福建建甌人,武夷學院動漫學院講師,碩士。

(責任編輯:陳錦華)

猜你喜歡
郵件系統(tǒng)聯(lián)系人列表
巧用列表來推理
學習運用列表法
擴列吧
MailArchiva系統(tǒng)需求
讓重要聯(lián)系人更醒目
為每個聯(lián)系人設定不同的鈴聲
電腦愛好者(2019年5期)2019-10-30 03:37:25
教你將手機聯(lián)系人導出到Excel
內(nèi)部郵件系統(tǒng)移動應用的設計與應用
廣西電力(2016年1期)2016-07-18 11:00:35
解決WP8.1手機聯(lián)系人顯示的問題
刪除EXCEL重復內(nèi)容系統(tǒng)研究
科技視界(2014年21期)2014-08-21 09:34:45
新密市| 寿光市| 噶尔县| 紫阳县| 福清市| 开原市| 钟山县| 北京市| 广德县| 定安县| 马关县| 鸡泽县| 衢州市| 达州市| 广河县| 高雄县| 通州市| 分宜县| 江西省| 威海市| 兴山县| 岱山县| 晋城| 大石桥市| 社会| 西昌市| 武鸣县| 乐平市| 英吉沙县| 宜州市| 运城市| 马山县| 博乐市| 柘荣县| 华坪县| 尼勒克县| 翁牛特旗| 贵阳市| 隆安县| 万年县| 南陵县|