专利名称::一种选择性下载电子邮件的方法
技术领域:
:本发明涉及在网络中对电子邮件的处理技术,特别涉及一种选择性下载电子邮件的方法。
背景技术:
:为了在多个平台及网络之间实现个人信息及企业的数据同步,于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日发明者娇康,田林一,郭祥洲申请人:华为技术有限公司