專利名稱::一種選擇性下載電子郵件的方法
技術領域:
:本發明涉及在網絡中對電子郵件的處理技術,特別涉及一種選擇性下載電子郵件的方法。
背景技術:
:為了在多個平臺及網絡之間實現個人信息及企業的數據同步,于2000年2月份創建了SyncML。創建SyncML的目的在于,使用戶、設備開發商、基礎構件開發商、數據提供商、應用軟件開發商以及服務提供商協同工作,真正實現使用任何客戶端均可隨時隨地的訪問任何網絡數據。SyncML的典型應用是移動設備和網絡服務設備之間的數據同步,除此之夕卜,還可以用于兩臺對等設備的數據同步,如在兩臺計算機之間進行數據同步。客戶端與服務器之間進行數據同步的過程為在經過同步初始化階段的設備能力信息協商以后,客戶端將自身修改的數據發送給服務器進行存儲;服務器將自身修改的數據發送給客戶端進行存儲,以保證雙方數據的同步。目前,進行數據同步的同步類型主要有表1所示的幾種。<table>tableseeoriginaldocumentpage4</column></row><table><table>tableseeoriginaldocumentpage5</column></row><table>表1<table>tableseeoriginaldocumentpage5</column></row><table>第五步、客戶端接收到同歩數據后,向服務器發送確認同歩完成消息。第六步、服務器接收到同步數據后,向客戶端發送確認同步完成消息。在上述方法中,很多步驟都使用了消息包,這是因為客戶端和服務器之間的具有相同功能的交互過程需要持續多次才能完成,而在表示時,只用了一來一回的兩種消息包。實現數據同步過程的系統包括客戶端和服務器,客戶端可以與服務器進行消息交互。其中,在客戶端側還具有客戶端數據庫,用于存儲客戶端所屬用戶需要的數據,該客戶端數據庫可以設置在客戶端中,也可以單獨設置;在服務器側還具有服務器數據庫,用于存放服務器的數據,該服務器數據庫可以設置在服務器中或者單獨設置。客戶端通常可以為計算機、移動終端或個人數字助理(PDA)等智能終端。在客戶端數據庫存儲的數據可以包括通訊錄、日程、便箋、短信和電子郵件等。這些數據均有標準規范定義其格式,客戶端可以將所存儲的數據轉換成標準格式的數據發送給服務器,服務器對接收到的數據處理后可以將處理后的數據保存在服務器數據庫中。服務器通常可以為計算機或進行數據同步網絡的網絡服務器,可以接收來自客戶端的數據同步消息或數據同步命令,也可以向客戶端發送數據同步消息或數據同步命令。圖1為存儲在客戶端數據庫數據的存儲方式示意圖每一條數據用本地唯一標識(LUID)進行標識,該LUID的值可以是針對一種類型凄史據唯一,也可以是針對客戶端唯一,其中,每一條數據項中還設置有記錄數據狀態的變更曰志(ChangLog),如圖中所示的狀態值(Status)。圖2為存儲在服務器數據庫數據的存儲方式示意圖每一條數據用進行數據同步網絡的網絡唯一標識(GUID)進行標識,并且設置同一數據的GUID與LUID之間的映射關系表。客戶端和服務器雙方進行的對數據的操作都會分別導致客戶端數據庫中的數據項的狀態和服務器數據庫中的數據項的狀態進行變更,客戶端和服務器雙方可以分別根據自身所保存的數據項的狀態變更確定接收到了什么數據同歩命令或/和數據同步消息。客戶端向服務器發送的數據同步命令或/和數據同步消息包括增加數據,客戶端將生成的數據及其對應的LUID發送給服務器,服務器對數據完成增加處理后為其生成GUID,并保存數據的LUID與GUID的映射關系;更新數據,客戶端將要更新的數據及其對應的LUID發送給服務器,服務器根據映射關系確定該LUID對應的GUID,將GU1D對應的數據進行更新并保存;刪除數據,客戶端將要刪除的數據及其對應的LUID發送給服務器,服務器根據映射關系確定該LUID對應的GUID,將GUID對應的數據進行刪除并刪除該數據的LUID與GUID的映射關系條目;移動數據,客戶端將要移動數據當前的LUID以及移動到目的LUID發送給服務器,服務器根據映射關系確定當前LUID以及目的LUID分別對應的當前GUID以及目的GUID,將當前GUID對應的數據移動到目的GUID對應的數據項中。服務器向客戶端發送的數據同步命令或/和數據同步消息包括增加數據,服務器將生成的數據及其對應的GUID發送給客戶端,客戶端對數據完成增加處理后為其生成LUID并將生成的LUID返回給服務器,服務器保存數據的LUID與GUID的映射關系;更新數據,服務器將要更新的數據及其對應的LUID發送給客戶端,客戶端將LUID對應的數據進行更新并保存;刪除數據,服務器將要刪除的數據及其對應的LUID發送給客戶端并刪除該數據的LUID與GUID的映射關系條目,客戶端將LUID對應的數據進行刪除;移動數據,服務器將要移動數據當前的LUID以及移動到目的LUID發送給客戶端,客戶端將當前LUID對應的教:據移動到目的LUID對應的凄t據項中。當同步某一LUID對應的數據時,客戶端或服務器中的一方就會將該LUID所對應數據的全部內容傳輸給客戶端或服務器中的另一方進行同步,如將LUID對應的電子郵件,包括郵件頭、郵件體和附件信息都進行傳送后同步。目前,常常把同類型數據中的一條數據中所有內容封裝起來對應一個LUID進行傳輸,如將電子郵件的郵件頭、郵件體和附件信息封裝起來對應一個LUID進行傳輸;將短消息的收發件人信息和短消息內容封裝起來對應一個LUID進行傳輸等。以下以在數據同步過程中如何同步電子郵件進行詳細iJL明。當前電子郵件包括以下幾個部分郵件頭、郵件體和附件信息。其中,郵件頭包含發信者和接收者有關信息,如發出地點和接收地點的網絡地址,計算機系統中的用戶名,電子郵件的發出時間和接收時間,以及電子郵件傳送過程中經過的路徑等;郵件體是電子郵件本身具體內容,一般用ASCII碼表達的電子郵件正文;附件信息為電子郵件所攜帶的文件描述以及文件內容。在同步電子郵件時,將電子郵件整個進行封裝,作為一條數據對應一個LUID,且對該電子郵件設置一些標記,如已讀標記、已轉發標記、已回復標記、電子郵件到達時間標記、電子郵件創建時間標記、電子郵件修改時間標記、電子郵件待刪除標記等,用于進行數據同步的目的。采用這種方式同步電子郵件,甚至同步一些包括多個內容的數據時,存在以下缺點第一,無法實現只是同步數據中的部分內容,如某封郵件比較大,客戶端只想獲取電子郵件的標題,此時不需要同步電子郵件的郵件體和附件信息而只是需要同步電子郵件的郵件頭中的標題,但是無法實現,必須將電子郵件整體都同步;第二,無法確定電子郵件中的各個內容具體信息,如無法確定電子郵件中附件信息的個數、大小和文件名等信息,從而無法選擇是否要下載這些附件,或附件中的一部分。
發明內容有鑒于此,本發明的主要目的在于提供一種選擇性下載電子郵件的方法,該方法當客戶端同步有多個內容的電子郵件時,能夠有選擇的同步該電子郵件中的部分內容。根據上述目的,本發明的技術方案是這樣實現的一種選擇性下栽電子郵件的方法,為欲下栽的電子郵件各個內容設置持征描述以及設置用于定位的索引,該方法還包括A、客戶端根據電子郵件各個內容的特征描述確定欲下載的電子郵件的內B、服務器根據客戶端發送的索引,獲取對應的自身存儲的電子郵件的內容,發送給客戶端。為欲下栽的電子郵件各個內容設置特征描述以及索引的過程為服務器將接收到的客戶端的電子郵件中的各個內容進行存儲后,設置用于定位的索引,為該電子郵件中的各個內容設置特征描述后將設置的特征描述和索引發送給客戶端;或服務器將接收到的包括電子郵件各個內容的特征描述和索引的電子郵件后,將電子郵件各個內容的特征描述和索引發送給客戶端。為電子郵件設置郵件框架信息,所述為欲下載的電子郵件各個內容設置特征描述以及設置用于定位的索引包括在郵件框架信息中,所述將電子郵件各個內容的特征描述和索引發送給客戶端是通過郵件框架信息發送的。所述將設置的特征描述和索引發送給客戶端是通過郵件通知或服務器與客戶端之間的同步過程發送的。所述通過服務器與客戶端之間的同步過程發送設置的特征描述和索引的過程為客戶端向服務器發送獲取特征描述和索引的同步請求或同步命令,服務器將設置的特征描述和索引發送給客戶端。所述同步請求攜帶有表示獲取特征描述和索引的標識。所述同步命令設置有過濾條件或獲取特征描述和索引的信息。所述同步命令是新設置的同步命令或擴展已有同步命令的同步命令。所述欲下載的電子郵件在服務器數據庫和客戶端數據庫存儲時,分別設置服務器標識和客戶端標識且相關4關;步驟A所速發送欲下栽的電子郵件的內容所對應的余引時,還發送內容所屬電子郵件的客戶端標識;步驟B所述獲取自身存儲的電子郵件的內容過程為根據接收到的郵件的客戶端標識對應的服務器標識后,根據服務器標識確定電子郵件,根據索引確定電子郵件中要同步的內容。所述欲下載的電子郵件在服務器數據庫和客戶端數據庫存儲時,設置標識;步驟A所述發送欲下載的電子郵件的內容所對應的索引時,還發送內容所屬電子郵件的標識;步驟B所述獲取自身存儲的電子郵件的內容過程為根據接收到的郵件的標識確定電子郵件,根據索引確定電子郵件中要同步的內容。步驟A所述發送欲下載的電子郵件的內容所對應的索引,及內容所屬電子郵件的標識包含在不同的元素中。件包含在同一元素中,兩者以特殊字符或標記進行分割。所述的特征描述為內容本身。從上述方案可以看出,本發明提供的方法為電子郵件中的各個內容設置了特征描述且設置了用于獲取各個內容的索引,當客戶端從服務器上進行選擇性電子郵件的下載時,服務器中可以根據所設置的特征描述確定需要下載的電子郵件中的內容,根據索^1獲取到需要下載的電子郵件中的內容發送給客戶端。因此,本發明提供的方法當下載有多個內容的電子郵件時,可以有選擇性的下載該電子郵件中的部分內容。圖1為存儲在客戶端數據庫數據的存儲方式示意圖2為存儲在服務器數據庫數據的存儲方式示意圖3為本發明郵件框架信息所指示的電子郵件中的各個部分的示意圖4為本發明電子郵件的郵件框架信息在服務器數據庫中的一種組織示意圖5為本發明客戶端從服務器獲取電子郵件的結構示意圖6為本發明客戶端從服務器上下載郵件框架信息的方法流程圖7為本發明客戶端獲取電子郵件中的部分內容的方法流程圖8為本發明服務器根據接收到的數據同步消息攜帶的要獲取電子郵件中的部分內容的信息獲得要獲取的電子郵件中的部分內容的方法流程圖;圖9為本發明電子郵件的郵件框架信息在服務器數據庫中的存儲實施例的示意圖10為本發明郵件框架信息作為電子郵件一部分的示意圖。具體實施例方式為了使本發明的目的、技術方案和優點更加清楚明白,以下舉具體實施例并參照附圖,對本發明進行進一步詳細的說明。本發明提供的方法將具有多個內容的電子郵件的多個內容進行特征描述并設置對應的索引。這樣,客戶端可以依據電子郵件各個內容的特征描述,從服務器上有選擇性的下載電子郵件中的內容客戶端將欲下載的電子郵件的內容所對應的索引發送給服務器,服務器根據電子郵件的內容所對應的索引,從而確定該電子郵件的內容存儲位置,獲取該電子郵件的內容后發送給服務器。本發明將電子郵件的各個部分用特征描述,即用郵件框架信息來描述,如圖3所示郵件框架信息所指示的電子郵件中的各個部分主要包含但不限于郵件頭部、正文部分和附件部分。其中,郵件頭部主要包含發件人、收件人、主題和時間等;正文部分主要包括正文的索引和正文描述,正文描述即為電子郵件的正文的內容類型和正文大小等;附件部分主要包括附件的索引和附件描述,附件描述即為附件的名稱、附件大小和附件類型等。在具體實現時,可以對郵件框架信息的各個部分以及各個部分包含的具體內容進行適當的增減。同時,本發明不限定郵件框架信息的內容在客盧端或服務器的組織形式和存儲方式,即,其可以作為一個獨立的特征描述對象存儲,也可以作為電子郵件的一部分存儲,或使用時根據電子郵件實時生成等。在這里,本發明將主要以郵件框架信息作為一個對應但獨立于電子郵件的特征描迷對象進行闡述。圖4為本發明電子郵件的郵件框架信息作為一個特征描述對象在服務器數據庫中的一種組織示意圖,如圖所示LUID和GUID,分別是客戶端和服務器為電子郵件的郵件框架信息分配的唯一標識;由于電子郵件中的郵件頭部所含有的信息不是很多,可以將郵件頭部的內容作為郵件頭部的特征描述設置在Header中;電子郵件中每一個部分的特征描述對應的索引可以用于找到對應的URI以確定該郵件部分的存儲位置,該索引可以但不限于是編號或其他標識形式,其至少在該郵件框架信息的范圍內唯一。URI不屬于郵件框架信息的一部分,其僅供服務器用于確定該郵件部分的存儲位置;如果索引值可以直接或間接標識郵件部分的存儲位置信息,則可以不需要URI字段。如果數據同步過程中LUID-GUID機制不再使用,而是客戶端和服務器使用相同的標識ID,那么不需要像圖4所述的對同一電子郵件在服務器數據庫中進行映射,因此,圖4所述的示意圖不應該理解為對本發明的限制。在本發明中,電子郵件的郵件框架信息可以從現有的電子郵件中解析得到,其方法為獲取From字段的信息為發件人信息;獲取To字段的信息為收件人信息;獲取Subject字段的信息為主題信息;獲取Date字段的信息為時間信息;通過郵件頭部中的boundary字段確定電子郵件中的各個部分段第一部分段為正文段,通過電子郵件正文段中的boundary字段確定正文段中的各個子段,并通過檢測各個子段的內容類型(Content-Type)確定各個子段所包含內容類型,比如text/plain為純丈本類型,text/html為超丈本類型等,將這些內容類型或/和正文段的Content-Type內容(其內容可以為multipart/alternative,multipart/mixed,multipart/related)"f乍為正文內容類型描述;同時,將各個子段的內容大小相加作為正文的大小;最終形成正文段的特征描述;正文段之后的各個部分段為附件段,通過檢測各部分段的內容描述(Content-Disposition)字段中是否包含有附加(Attachment)關鍵字來進行驗證,通過各個部分段的文件名稱(filename)字段獲取各個部分段的名稱,通過Content-Type字段得出各個部分段的類型,并根據附件內容計算各個部分段的大小,將得到的各個部分段的名稱、類型和大小作為各個部分段的描述特征。對于郵件框架信息中包含的各部分索引,需要進行設置,但要滿足以下規則正文索引和附件索引至少能夠在該郵件框架信息中唯一。以下從客戶端通過服務器獲取電子郵件對本發明進行詳細的說明。如圖5所示服務器通過郵件服務器獲取到用戶的電子郵件,即通過自身設置的電子郵件應用模塊從郵件服務器獲取用戶的電子郵件,然后對該電子郵件進行解析,獲取到該電子郵件的郵件框架信息,對應于LUID和GUID存儲到服務器數據庫中。這時,需要在服務器中設置解析電子郵件的功能。在本發明中,還可以由具有解析電子郵件功能的郵件服務器將從用戶的電子郵件解析得到的郵件框架信息發送給服務器存儲到服務器數據庫中,用于客戶端和服務器之間的數據同步。綜上所述,對郵件框架信息的處理可以分為以下兩種情況第一種情況是郵件框架信息在電子郵件中,即將郵件框架信息引入電子郵件格式中,作為電子郵件的一個部分,即新電子郵件才各式中的郵件可以包括郵件頭部、郵件框架信息和郵件體三個部分。其中,郵件頭部可以與框架信息合并,在用戶獲取郵件框架信息時,可以一并獲取。郵件框架信息是整個電子郵件或電子郵件的某些部分的描述信息。電子郵件體可包括郵件的正文數據和附件數據。其中,每封電子郵件的郵件框架信息可按照所描述的電子郵件部分分配一個標識,這些標識至少在本電子郵件中是唯一的;該標識是可以根據需要設置或不設置。每封電子郵件的郵件體的各個部分也可有標識,這些標識用以標識電子郵件體的各個內容部分,該標識也可根據需要設置或不設置。第二種情況是可以將郵件框架信息獨立于電子郵件格式,即電子郵件格式中并不提供郵件的框架信息,而是當電子郵件傳送到移動電子郵件服務器件框架信息的生成可以是實時生成,不需要保存,也可以是生成后以數據項的形式保存在數據庫中。此時在數據庫中存儲的郵件框架信息可以包括存放在郵件框架中的郵件頭部信息Header、用于指示電子郵件中的各個子部分的子索引、用于存放郵件框架信息中的正文部分和附件部分的信息的子部分、用于指示對應的各個子部分的統一資源標識符URI。對于子索引,索引信息可以但不限于是編號或者URL,其至少在該郵件框架范圍內唯一。對于URI,服務器可以通過該URI找到對應的內容數據。在本發明中,通常采用第二種情況來將設置的郵件框架信息由服務器發送給客戶端。圖6為本發明客戶端從服務器上下載郵件框架信息的方法流程圖,其具體步驟為步驟600-601、在數據同步初始化階段,客戶端和服務器協商同步類型以及同步的數據為郵件框架信息,并建立數據同步會話。其中客戶端發送的Alert命令給服務器,并在其中設置過濾條件,該過濾條件指示服務器獲取的數據為郵件框架信息,形式如下<Alert><Data>204</Data><!—服務器單向同步—><Item〉<Target〉<LocURI〉./email/Inbox</LocURI><Filter>〈Meta〉〈Type〉郵件框架信息〈/Typex/Meta〉</Filter></Target></Item〉</Alert>步驟602-605、在數據同步階段,服務器將自身數據庫中的郵件框架信息進行組織后,發送給客戶端,客戶端接收到后,向服務器發送確認數據同步完成的消息,服務器返回該消息的響應。其中,客戶端可以通過發送過濾(Filter)指示獲取所指定的一個或多個電子郵件的郵件框架信息。服務器發送郵件框架信息的方式可以但不限于以下兩種方式。第一種方式,為郵件框架信息定義一個新的同步數據對象,該同步數據對象可以采用多種方式進行定義,其可以但不限于采用以下的幾種格式XML格式<郵件框架信息〉<發件人></發件人><收件人></收件人><主題></主題><曰期></日期><正文描述><索引></索引〉<內容類型><內容/類型><內容大小></內容大小></正文描述><附件集><附件描述><索引><名稱〉<類型><大小><附件描述></附件集></郵件框架信息>采用類似于vCard和vCalendar的格式BEGIN:郵件框架信息BEGIN:郵件頭部發件人收件人主題曰期END:郵件頭部BEGIN:正文部分索引類型大小END:正文部分BEGIN:附件部分BEGIN:附件索引名稱類型</索引></名稱></類型></大小>大小END:附件END:附件部分END:郵件框架信息第二種方式,將郵件框架信息按照某種統一的形式發送,然后封裝成現有的數據同步對象,這種方式是利用現有的數據同步對象來實現郵件框架信息的數據同步。現有數據同步規范中定義的vFile格式如下<文件><文件名></文件名><內容類型></內容類型><內容></內容〉......</文件>郵件的框架信息的組織形式可以但不限于采用上述所定義的格式,然后將組織好的郵件框架信息作為vFile的"內容",并利用"內容類型"標簽標明當前的vFile封裝的是郵件框架信息,如下所示<文件><內容類型>郵件框架信息</內容類型><內容>郵件框架信息(如上所述的xml格式或類似于vCard和vCalendar的格式,或者其它組織形式)</內容></文件>本發明同樣也可以采用vEmail的格式來承載,此處不再贅述。當客戶端從服務器接收到郵件框架信息后,可以根據郵件框架信息確定并選擇其中一封電子郵件中的部分內容,其具體過程如圖7所示步驟700-701、在數據同步初始化階段,客戶端和服務器協商好數據同步類型以及數據同步的內容為電子郵件中的部分內容,并建立數據同步會話。其中協商時,客戶端發送的Alert命令的形式如下<Alert><Data>204</Data><!—服務器單向同步—〉<Item><Target><LocURI>./email/Inbox</LocURI〉<Filter>〈MetaxType〉郵件內容〈/Typex/Meta〉</Filter></Target></Item></Alert>步驟702、在數據同步階段,客戶端向服務器發起獲取電子郵件中的部分內容的數據同步消息,該消息可以攜帶要獲取電子郵件中的部分內容的信息,即指示要獲取電子郵件中的部分內容所屬的郵件框件信息的LUID以及該部分所對應的索引。在本發明中,客戶端可以同時獲取多個電子郵件中的部分內容,這時,可以攜帶多個要獲取電子郵件中的部分內容的信息,即攜帶多個索引。步驟703、服務器根據接收到數據同步消息攜帶的信息獲取客戶端要獲取的電子郵件的部分內容,將獲取到的電子郵件中的部分內容發送給客戶端。服務器可以根據接收到數據同步消息攜帶的郵件框件信息的LUID和郵件部分所對應的索引最終確定客戶端要獲取電子郵件中的部分內容所在位置,從而將獲取到的電子郵件的部分內容發送給客戶端。當客戶端要獲取多個電子郵件的部分內容時,服務器可以根據接收到數據同步消息攜帶的郵件框件信息的LUID和郵件部分所對應的索引確定每一個客戶端要獲取電子郵件中的部分內容所在位置,從而將獲取到的多個電子郵件的部分內容發送給客戶端。步驟704-705、客戶端接收到電子郵件中的部分內容后,發送確認數據同步完成消息給服務器,服務器向客戶端返回確認數據同步完成消息的響應消息。在本發明中,客戶端在Alert命令的Filter中指定所需要獲取的電子郵件中的部分內容的信息;服務器將獲取到的電子郵件中的部分內容通過Add命令發送給客戶端。在圖7的步驟703中,服務器根據接收到的數據同步消息攜帶的要獲取電子郵件中的部分內容的信息獲得要獲取的電子郵件中的部分內容過程如圖8所示步驟800、服務器根據接收到的數據同步消息攜帶的郵件框架信息的LUID找到對應的郵件框架信息。步驟801、服務器判斷接收到的數據同步消息中僅攜帶郵件框架信息的LUID,如果是,執行步驟802;否則,執行步驟803。步驟802、服務器將郵件框架信息所對應的整個電子郵件發送給客戶端。步驟803、服務器判斷接收到的數據同步消息中攜帶的索引在郵件框架信息中是否不為空,如果是,則轉入步驟804;否則,轉入步驟805。步驟804、服務器根據索引獲取到對應的內容,轉到步驟803,直到判斷完所有攜帶的索引為止。步驟805、服務器將所獲取到的所有內容發送給客戶端。在本發明中,在服務器下發時,郵件內容的組織形式可以但不限于采用vFile、vEmail或者其他組織形式。比如,正文或附件采用vFile的組織形式如下<文件><文件名>正文或附件名稱</文件名><內容類型>郵件內容/正文或附件的內容類型</內容類型〉<內容>正文或附件的內容數據</內容〉</文件>服務器采用Add命令攜帶客戶端要獲取的電子郵件的部分內容。同時需要指明該郵件部分所屬的郵件框架信息,可以但不限于以下兩種方式。第一種方式服務器在發送客戶端要獲取的電子郵件的部分內容時,用〈SourcexLocURI〉攜帶郵件框架信息的LUID和郵件部分所對應的索引。其中,郵件框架信息的LUID和郵件部分所對應的索引以特殊的字符進行分割,如"/,,。<Add><Item><Source〉<LocURI>郵件框架信息的LUID/該部分對應的索引</LocURI></Source><Data>—定組織形式的郵件部分內容〈/Data〉</Item〉</Add>第二種方式服務器在發送客戶端要獲取的電子郵件的部分內容時,用〈SourcexLocURI〉攜帶郵件部分所對應的索引,<SourceParent><LocURI>攜帶郵件框架信息的LUID。<Add>〈Item〉<Source><LocURI>該部分對應的索引</LocURI></Source><SourceParent><LocURI>郵件框架信息的LUID</LocURI〉</SourceParent><Data〉一定組織形式的郵件部分內容</0&13〉</Item></Add>其中,本發明在第二種方式中利用SourceParent的LocURI來表示客戶端要獲取電子郵件的部分內容所屬的郵件框架信息,這樣不需要對現有的數據同步規范的Add命令格式進行修改;或者可以在現有數據同步規范命令中擴展一個關聯標簽,其作用為了指示客戶端要獲取電子郵件的部分內容所屬的郵件框架信息。當電子郵件的部分內容的數據量很小時,也可以將該內容作為特征描述,設置在郵件框架信息中,如圖9所示該電子郵件的正文僅為Hello,因此將其和某種特殊符號一起或者直接將其作為郵件框架信息中的正文描述進行保存,將其對應的URI設置為指示該子部分為內容本身的特殊標識,如NA。當客戶端接收到該郵件框架信息時,可以根據特殊符號或者描述內容為與服務器非協商好的形式判斷出該子部分攜帶的不是內容描述,而是內容本身。在本發明中,客戶端可以在數據同步消息中攜帶Filter來獲取滿足特定條件的電子郵件的郵件框架信息。如果客戶端在從服務器獲取電子郵件的郵件框架信息時,沒有在數據同步消息中攜帶Filter來指示要獲取指定的郵件框架信息,則服務器將指定數據庫中的所有電子郵件的郵件框架信息都發送給客戶端。在本發明中,為電子郵件的各個內容設置的特征描述和索引發送給客戶端是通過郵件通知或服務器與客戶端之間的同步過程發送的。客戶端與服務器在協商建立同步會話,可以根據事先約定的原則,雙方默認同步的內容是郵件框架信息,例如雙方約定如果同步的是郵件數據庫,則先同步郵件的郵件框架信息。通過服務器與客戶端之間的同步過程發送設置的特征描述和索引的過程為客戶端向服務器發送獲取特征描述和索引的同步請求或同步命令,服務器將設置的特征描述和索可1發送給客戶端。在本發明中,同步請求攜帶有表示獲取特征描述和索引的標識;同步命令設置有過濾條件或獲取特征描述和索引的信息,且所述同步命令是客戶端設置的或擴展已有同步命令的同步命令。在本發明中,同步請求也可通過擴充現有的同步命令的含義來實現,例如,將現有的〈Get〉命令中定義的獲取數據類型中增加一種郵件框架信息類型,則客戶端可通過〈Get〉命令向移動電子郵件服務器請求獲取郵件框架信息,服務器可通過〈Results〉命令下發郵件框架信息。在該命令中還可以設置一些參數,用來指示獲取郵件的哪些框架信息。例如,在該命令中設置過濾條件,指示服務器僅將郵件附件的描述信息下發給客戶端。同步請求也可通過在現有的數據同步協議中新增一個同步命令來表示。例如,在現有的同步協議中增加一個元素來表示獲取郵件框架的請求,該元素可命名為〈Envelop、服務器接收到該命令后可以解析為客戶端獲取郵件框架的同步請求。在該命令中還可以設置一些參數,用來指示獲取郵件的哪些框架信息,例如,在該命令中設置過濾條件,指示服務器僅將郵件附件的描述信息下發給客戶端。同步請求還可以通過在現有的同步命令中增加一個表示獲取郵件框架信息的標識來實現,該標識可以為同步命令中新增的某個元素或同步命令中新增的某個屬性。例如可以在〈Aler^命令中新增一個表示同歩的數拔是郵件框架信息的標識字段,如〈Envolop/〉字段,該字段如果在同步命令中出現,則表明本次同步的為郵件框架信息。息和郵件標識的下發,例如,在現有的〈Results〉命令下發的數據類型中增加一種郵件框架信息類型,通過與客戶端發送的〈Get〉命令對應的〈Results〉命令來下發郵件框架信息和郵件標識,或通過〈Add〉命令來下發郵件框架信息和郵件標識。服務器下發郵件框架信息和郵件標識包含在同步命令中的一個元素中或分別放在多個元素中。舉四個例子進^f亍"i兌明。第一個例子,采用Filter獲取大小超過xx的電子郵件的郵件框架信息<Filter><Meta><Type>電子郵件</Type〉</Meta><Record〉<Item><Meta><Type>syncml:filtertype-cgi</Type></Meta><Data>SIZE&GE;xx</Data></Item></Record></Filter〉第二個例子,采用Filter獲取含有附件的電子郵件的郵件框架信息<Filter><Meta><Type>電子郵件</Type></Meta><Record><Item><Meta><Type>syncml:filtertype-cgi</Type></Meta><Data>NOATTACH&EQ;False</Data></Item></Record></Filter>第三個例子,依據含有附件的電子郵件的郵件框架信息,采用Filter獲取指定的多個附件<Filter><Meta><Type>電子郵件</Type></Meta><Record><Item><Meta><Type>syncml:filtertype-cgi</Type></Meta><Data>&1^10;郵件框架1^10{索引,索引,...}:郵件框架!^(1{索引,索引,...}:...</Data></Item></Record></Filter>當然,在采用Filter獲取指定的多個附件時,需要擴展CGI語法。圖10為本發明郵件框架信息作為電子郵件一部分的示意圖。基于此實現時,與將郵件框架信息作為一個特征描述對象進行處理相比較,不同之處在于具體的實現細節上。比如,客戶端和服務器不需要再為郵件框架信息分配LUID和GUID,直接以電子郵件的LUID和GUID標識。由于郵件框架信息作為電子郵件的一部分,因此,在協商初始化的時候可以協商為電子郵件的同步;然后,通過Filter來獲取指定電子郵件的郵件框架信息。這樣,Filter的用法也將有所不同。以下是列舉的幾個實施例。實施例一,采用Filter獲取大小超過xx的電子郵件的郵件框架信息<Filter><Meta><Type>電子由lM牛</Type></Meta><Record><Item><Meta><Type>syncml:filtertype-cgi</Type></Meta><Data>Size>xx</Data></Item></Record><Field><Item><Meta〉<Type>電子郵件</Type></Meta><Data><![CDATA[<Property>〈PropName〉郵件框架信息〈/PropName〉<MaxSize〉2048</MaxSize〉</Property〉<Property>〈PropName〉由,件體〈/PropName〉<MaxSize>0</MaxSize></Property></Data></Item></Field></Filter〉實施例二,采用Filter獲取含有附件的電子郵件的郵件框架信息,形式同上,只需將"Size>xx,,換成"NOATTACH&EQ;False,,實施例三,依據含有附件的電子郵件的郵件框架信息,采用Filter獲取指定的多個附件<Filter><Meta><Type>電子郵件〈/Type〉〈/Meta〉<Record><Item><Meta><Type>syncml:filtertype-cgi</Type></Meta〉<Data>&1^10;電子郵件LUID</Data〉</Item></Record><Field><Item〉<Meta><Type>電子郵件〈/Type〉〈/Meta〉<Data><![CDATA[<Property>〈PropName〉附件的索引</PropName>〈MaxSize〉附件的大小〈/MaxSize〉</Property〉<Property〉〈PropName〉附件的索引</PropName><MaxSize>附件的大小</MaxSize></Property〉]]></Data></Item></Field〉</Filter>以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所做的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內權利要求1、一種選擇性下載電子郵件的方法,其特征在于,為欲下載的電子郵件各個內容設置特征描述以及設置用于定位的索引,該方法還包括A、客戶端根據電子郵件各個內容的特征描述確定欲下載的電子郵件的內容后,將欲下載的電子郵件的內容所對應的索引發送給服務器;B、服務器根據客戶端發送的索引,獲取對應的自身存儲的電子郵件的內容,發送給客戶端。2、如權利要求l所述的方法,其特征在于,為欲下載的電子郵件各個內容設置特征描述以及索引的過程為服務器將接收到的客戶端的電子郵件中的各個內容進行存儲后,設置用于定位的索引,為該電子郵件中的各個內容設置特征描述后將設置的特征描述和索引發送給客戶端;或服務器將接收到的包括電子郵件各個內容的特征描述和索引的電子郵件后,將電子郵件各個內容的特征描述和索引發送給客戶端。3、如權利要求2所述的方法,其特征在于,為電子郵件設置郵件框架信息,所述為欲下載的電子郵件各個內容設置特征描述以及設置用于定位的索引包括在郵件框架信息中,所述將電子郵件各個內容的特征描述和索引發送給客戶端是通過郵件框架信息發送的。4、如權利要求2所述的方法,其特征在于,所述將設置的特征描述和索引發送給客戶端是通過郵件通知或服務器與客戶端之間的同步過程發送的。5、如權利要求4所述的方法,其特征在于,所述通過服務器與客戶端之間的同步過程發送設置的特征描述和索引的過程為客戶端向服務器發送獲取特征描述和索引的同步請求或同步命令,服務器將設置的特征描述和索引發送給客戶端。6、如權利要求5所述的方法,其特征在于,所述同步請求攜帶有表示獲取特征描述和索引的標識。7、如權利要求5所述的方法,其特征在于,所述同步命令設置有過濾條件或獲取特征描述和索引的信息。8、如權利要求5所述的方法,其特征在于,所述同步命令是新設置的同步命令或擴展已有同步命令的同步命令。9、如權利要求l所述的方法,其特征在于,所述欲下載的電子郵件在服務器數據庫和客戶端數據庫存儲時,分別設置服務器標識和客戶端標識且相關聯;步驟A所述發送欲下載的電子郵件的內容所對應的索引時,還發送內容所屬電子郵件的客戶端標識;步驟B所述獲取自身存儲的電子郵件的內容過程為根據接收到的郵件的客戶端標識對應的服務器標識后,根據服務器標識確定電子郵件,根據索引確定電子郵件中要同步的內容。10、如權利要求1所述的方法,其特征在于,所述欲下載的電子郵件在服務器數據庫和客戶端數據庫存儲時,設置標識;屬電子郵件的標識;步驟B所述獲取自身存儲的電子郵件的內容過程為根據接收到的郵件的標識確定電子郵件,根據索引確定電子郵件中要同步的內容。11、如權利要求10所述的方法,其特征在于,步驟A所述發送欲下載的電子郵件的內容所對應的索引,及內容所屬電子郵件的標識包含在不同的元素中。12、如權利要求10所述的方法,其特征在于,步驟A所述發送欲下載的電子郵件的內容所對應的索引和內容所屬電子郵件包含在同一元素中,兩者以特殊字符或標記進行分割。13、如權利要求l所述的方法,其特征在于,所述的特征描述為內容本身。全文摘要本發明公開了一種選擇性下載電子郵件的方法,為欲下載的電子郵件各個內容設置特征描述以及設置用于定位的索引,該方法還包括A.客戶端根據電子郵件各個內容的特征描述確定欲下載的電子郵件的內容后,將欲下載的電子郵件的內容所對應的索引發送給服務器;B.服務器根據客戶端發送的索引,獲取對應的自身存儲的電子郵件的內容,發送給客戶端。該方法當客戶端同步有多個內容的電子郵件時,能夠有選擇的同步該電子郵件中的部分內容。文檔編號H04L12/58GK101106537SQ20061009878公開日2008年1月16日申請日期2006年7月14日優先權日2006年7月14日發明者嬌康,田林一,郭祥洲申請人:華為技術有限公司