移动终端数据的转换/备份方法、设备和系统\n技术领域\n[0001] 本发明涉及数据传输技术,特别涉及移动终端设备之间的数据转换技术和移动终端设备的数据备份技术。\n背景技术\n[0002] 移动终端设备之间的数据传输主要是指一个移动终端设备当中存储的原始数据要转移到另外的一个移动终端设备当中去,传输的原始数据类型包括:电话本、日程、SMS(Short Message Service,短消息)记录,MMS(MultimeidaMessage Services,多媒体消息)记录或邮件(Email)记录等。\n[0003] 目前常用的移动终端设备通常为电话,实现数据传输的方式主要是电话到服务器(Phone To Server),或者电话到电话(Phone To Phone)的方式。PhoneTo Server的方式就是指电话通过数据链路的方式,将移动终端设备存储的信息根据服务器所规定的方式,利用特殊的传输协议发送到服务器,并在服务器上进行存储。当移动终端设备需要对这些数据进行传输的时候,也利用移动终端设备和服务器的这种通信方式完成数据的传输工作,这种方式可以方便实现电话数据文件在服务器上的备份。当然还可以通过服务器到电话(Server ToPhone)的方式将数据传输给电话,从而达到在电话之间传输数据的目的。\n[0004] Phone To Phone的方式一般是指利用移动终端设备的本地连接能力,如红外或者蓝牙将数据在不同的移动终端设备之间进行传送。一般来说,这种方式仅仅适用于同一移动终端设备厂商的移动终端设备,或者同一型号的移动终端设备之间进行数据的传输。\n[0005] 现在数据传输的实现方法主要针对电话本数据文件,电话本数据文件包括Vcard(电子商务卡片)和Vcalendar(电子商务日程),IMC(Internet MailConsortium)规定了Vcard和Vcalendar的统一数据格式用来存储用户的电话本信息和日程信息,其中包含若干数据字段,每一个数据字段都又相应的条目,例如Vcard中包含的条目有:姓名、地址、移动电话号码、固定电话号码等。\n[0006] 移动终端设备根据IMC规定的标准版本和格式,统一存储相应的Vcard和Vcalendar的相关数据,在进行数据的传输的过程当中,只需要将本机内部的Vcard和Vcalendar数据在不同的移动终端设备之间直接传输,就能够达到不同的移动终端设备对该数据进行识别的功能。\n[0007] 但是由于移动终端设备处理能力、格式转换单元硬件系统架构的不同,现有移动终端设备上的SMS、MMS、Email等消息数据的存储方式有所不同,移动终端设备之间无法利用类似电话本数据的传输方式实现SMS、MMS、Email等数据的传输。\n[0008] 综上,现有移动终端设备之间进行数据传输的前提是两个移动终端设备内部支持统一的数据格式,并将自己的数据按照这样的一种格式进行组织。在完成本地数据的组织之后,如果移动终端设备之间需要进行数据文件的传输,那么可以通过Phone To Phone、或者Phone To Server以及Server To Phone的方式来完成数据的传输过程。\n[0009] 事实上,各厂家移动终端设备的操作系统以及底层的实现都是相对封闭和独立的,各厂家对于各自的数据格式,以及数据格式的传输都有自己的规定,这样就造成了不同厂家生产的各种移动终端设备之间、甚至同一厂家生成的不同型号移动终端设备之间数据传输的困难。\n发明内容\n[0010] 本发明实施例提供一种移动终端设备的数据转换方法、设备和系统,用于实现移动终端设备之间的数据传输。\n[0011] 本发明实施例还提供了一种移动终端设备的数据备份方法、设备和系统,用于实现移动终端设备上的数据备份。\n[0012] 本发明实施例提供的一种移动终端设备数据的转换方法,包括:\n[0013] 生成符合规定格式的中间文件,所述中间文件中包含至少一个指定条目和各指定条目对应的数据字段,所述各指定条目对应的数据字段是从第一移动终端设备保存的原始数据中获取的;\n[0014] 根据所述中间文件的规定格式,从所述中间文件中获取各指定条目对应的数据字段,并按照第二移动终端设备支持的格式将各指定条目对应的数据字段保存为目标数据。\n[0015] 本发明实施例提供的一种移动终端设备数据的转换系统,包括:\n[0016] 第一格式转换单元,用于生成符合规定格式的中间文件,所述中间文件中包含指定条目和每一个指定条目对应的数据字段,所述每一个指定条目对应的数据字段是从第一移动终端设备保存的原始数据中获取的;\n[0017] 第二格式转换单元,用于根据所述第一格式转换单元生成的中间文件的规定格式,从所述中间文件中获取各指定条目对应的数据字段,并按照第二移动终端设备支持的格式将各指定条目对应的数据字段保存为目标数据。\n[0018] 本发明实施例提供的一种移动终端设备,包括:\n[0019] 传输指令接收单元,用于接收数据传输指令;\n[0020] 原始数据存储单元、第一数据存储控制单元和第一格式转换单元,所述第一格式转换单元根据传输指令接收单元接收的原始数据传输指令,通过所述第一数据存储控制单元从原始数据存储单元中获取指定条目对应的数据字段,并生成符合规定格式的中间文件,所述中间文件中包含指定条目和每一个指定条目对应的数据字段;\n[0021] 中间文件发送单元,用于将所述中间文件发送给其它移动终端设备。\n[0022] 本发明实施例提供的一种移动终端设备,包括:\n[0023] 中间文件接收单元,用于接收其它移动终端设备发送的中间文件,所述中间文件中包含指定条目和每一个指定条目对应的数据字段,所述每一个指定条目对应的数据字段是从所述其它移动终端设备保存的原始数据中获取的;\n[0024] 第二格式转换单元、第二数据存储控制单元和目标数据存储单元,所述第二格式转换单元从中间文件接收单元接收的中间文件中获取各指定条目对应的数据字段,并通过所述第二数据存储控制单元按照移动终端设备支持的格式,在所述目标数据存储单元中将各指定条目对应的数据字段保存为目标数据。\n[0025] 本发明实施例提供的一种移动终端设备数据的备份方法,包括:\n[0026] 从移动终端设备保存的原始数据中获取指定条目对应的数据字段;\n[0027] 生成符合规定格式的中间文件,所述中间文件中包含指定条目和每一个指定条目对应的数据字段;\n[0028] 将所述中间文件保存为对应所述原始数据的备份文件。\n[0029] 本发明实施例提供的一种移动终端设备的数据备份系统,包括:\n[0030] 数据存储控制单元和第一格式转换单元,所述第一格式转换单元通过所述数据存储控制单元从移动终端设备的原始数据中获取指定条目对应的数据字段,生成符合规定格式的中间文件,所述中间文件中包含指定条目和每一个指定条目对应的数据字段;\n[0031] 中间文件存储单元,用于将所述第一格式转换单元生成的中间文件对应存储为所述原始数据的备份文件。\n[0032] 本发明实施例提供的技术方案利用格式转换单元将原始数据转换为规定格式的中间文件,规定格式的中间文件中包含原始数据的指定条目和对应的数据字段,根据中间文件的规定格式,格式转换单元还可以从中间文件中读取其中的数据字段,从而生成原始数据对应的目标数据。\n附图说明\n[0033] 图1为本发明实施例所述移动终端设备之间直接传输数据时,发送端的处理流程示意图;\n[0034] 图2为本发明实施例所述移动终端设备之间直接传输数据时,接收端的处理流程示意图;\n[0035] 图3为本发明实施例提供的移动终端设备之间传输数据的转换系统结构示意图;\n[0036] 图4、图5、图6分别为本发明实施例提供的一种移动终端设备结构示意图;\n[0037] 图7为本发明实施例提供的一种利用第三方设备实现移动终端设备数据传输的系统结构示意图。\n具体实施方式\n[0038] 本发明实施例为实现各种移动终端设备之间的数据传输,提供一种移动终端设备数据的转换方法,对现有各种移动终端设备上的每一种类型的原始数据,分析其中的共有条目,将共有条目作为该类型原始数据必须传输的指定条目,并为每一种类型的原始数据设定规定格式的中间文件,中间文件是按照统一的规定格式转换而成的,其中包含的各指定条目和对应数据字段,如果中间文件发送给接收端,接收端根据对应的规定格式识别中间文件,并从中获取各指定条目对应的数据字段,按照本地支持的格式将各指定条目对应的数据字段保存为目标数据,从而利用规定格式的中间文件实现移动终端设备之间的共有数据信息的传输。中间文件如果作为原始数据的备份文件,则可以从中获取原始数据的共有字段信息。\n[0039] 下面以第一移动终端设备向第二移动终端设备之间进行数据传输为例进行详细说明。\n[0040] 如图1所示,第一移动终端设备对数据的处理包括如下步骤:\n[0041] S101、根据规定格式的中间文件中包含的指定条目,从本终端设备保存从原始数据中获取各指定条目对应的数据字段;\n[0042] S102、生成中间文件,所述中间文件符合规定格式,其中包括各指定条目和各指定条目对应的数据字段;\n[0043] S103、发送符合规定格式的中间文件。\n[0044] 如图2所示,第二移动终端设备的处理主要包括如下步骤:\n[0045] S201、接收符合规定格式的中间文件,所述中间文件中包括各指定条目和对应的数据字段;\n[0046] S202、根据规定格式中包含的各指定条目,从中间文件中获取各指定条目对应的数据字段;\n[0047] S203、生成本终端支持的目标数据,目标数据中包含各指定条目对应的数据字段。\n[0048] 由于中间文件的格式是预先规定好的,因此本发明实施例提供的技术方案中,只需要在移动终端设备上设置进行数据转换的转换装置,第一移动终端设备利用该装置设置格式转换单元可以将指定条目和对应数据转换为中间文件的,第二移动终端设备利用该转换装置从符合规定格式的中间文件中获取各指定条目对应的数据字段,并按照第二移动终端设备支持的格式将各指定条目对应的数据字段保存为目标数据。\n[0049] 第一移动终端设备和第二移动终端设备各自的转换装置还可以设置在第三方设备上,例如计算机上,第一移动终端设备和第二移动终端设备分别通过总线连接到第三方设备后,第一移动终端设备和第二移动终端设备的转换装置之间通过内部通信接口连接,第一移动终端设备的转换装置通过总线从第一移动终端设备上获取指定条目的数据并生成符合规定格式的中间文件,通过内部接口将中间文件发送给第二移动终端设备的转换装置,第二移动终端设备的转换装置生成目标数据后,将目标数据发送给第二移动装置,从而完成移动终端设备之间的数据传输。\n[0050] 事实上,由于中间文件中包含原始数据中的大部分信息,所以可以作为原始数据的备份文件进行保存,如果中间文件时在第一移动终端设备上生成的,则中间文件可以保存在第一移动终端设备上的存储区域中,如果在第三方设备上生成的,则中间文件可以保存在第三方设备的存储区域中。\n[0051] 移动终端设备上的原始数据包括各种类型,例如:消息类数据、电话本类数据或邮件类数据,消息类数据又进一步包括SMS消息类数据、IM消息类数据或MMS类数据等。因此为识别各类原始数据,还可以为每一种类型的原始数据设定对应的类型标识,不同类原始数据各自对应不同的类型标识,在中间文件中利用类型标识区别各类原始数据。\n[0052] 本发明实施例提供的技术方案中,可以灵活设定各种传输模式,用户可以通过不同的数据传输指令选择其中的一种模式,例如每次传输一条SMS消息,或者同时传输多条SMS消息,这时需要在中间文件中设置编码信息,用于区别SMS消息对应的指定条目及数据字段息;还可以同时传输不同类型的原始数据,例如将电话本类数据和消息类数据一起传输等。\n[0053] 如图3所示,本发明实施例提供一种移动终端设备数据的转换系统,包括第一移动终端设备31和第二移动终端设备32,第一移动终端设备31和第二移动终端设备32之间通过红外或蓝牙无线连接,其中:\n[0054] 如图4所示,第一移动终端设备31包括:\n[0055] 传输指令接收单元311,用于接收数据传输指令;\n[0056] 原始数据存储单元312、第一数据存储控制单元313和第一格式转换单元314,所述第一格式转换单元314根据传输指令接收单元311接收的原始数据传输指令,通过所述第一数据存储控制单元313从原始数据存储单元312中获取指定条目对应的数据字段,并生成符合规定格式的中间文件,所述中间文件中包含指定条目和每一个指定条目对应的数据字段;\n[0057] 中间文件发送单元315,用于将所述中间文件发送给第二移动终端设备32。\n[0058] 如图5所示,第二移动终端设备32包括:\n[0059] 中间文件接收单元321,用于接收第一移动终端设备31发送的中间文件;\n[0060] 第二格式转换单元322、第二数据存储控制单元323和目标数据存储单元324,所述第二格式转换单元322从中间文件接收单元321接收的中间文件中获取各指定条目对应的数据字段,并通过所述第二数据存储控制单元323按照移动终端设备支持的格式,在所述目标数据存储单元中324将各指定条目对应的数据字段保存为目标数据。\n[0061] 进一步如图6所示,如果需要将中间文件保存为原始数据的备份文件,则第一移动终端设备上还包括:\n[0062] 中间文件存储单元316,用于存储所述第一格式转换单元314生成的中间文件。\n[0063] 由于移动终端之间的数据传输通常是双向的,第一移动终端设备上也可以设置中间文件接收单元和第二转换单元,用于从第二移动终端设备接收中间文件并转换为第一移动终端设备支持的目标数据。第二移动终端设备上也可以设置传输指令接收单元、原始数据存储单元、数据存储控制单元和第一格式转换单元,用于生成中间文件并发送给第一移动终端设备。这时,位于同一移动终端设备上的第一格式转换单元和第二格式转换单元合并设置,中间文件发送单元和中间文件接收单元合并设置。\n[0064] 如图7所示,本发明实施例中,第一移动终端设备31上除其它功能单元之外,第一格式转换单元314设置在第三方设备上,第二移动终端设备32上除其它功能单元之外,第二格式转换单元322也设置在第三方设备上,第一格式转换单元314和第二格式转换单元\n322通过内部通信接口连接,第一移动终端设备31和第二移动终端设备32分别通过总线连接第三方设备,这样通过第三方设备实现第一移动终端设备31和第二移动终端设备32之间的数据传输。\n[0065] 当然,第一格式转换单元314和第二格式转换单元322也可以分别设置在不同的第三方设备上,通过一个移动存储装置在格式转换单元之间传输中间文件。\n[0066] 参阅图6所示,第一数据存储控制单元、第一格式转换单元和中间文件存储单元形成了移动终端设备的数据备份系统。即使第一格式转换单元设置到第三方设备上,仍然可以为移动终端设备进行原始数据的备份。备份功能可以通过用户指令控制,也可以定期的自动执行,本发明实施例不限定具体的触发机制。\n[0067] 可见,本发明实施例提供的技术方案不需要统一移动终端设备上的数据存储格式,就可以方便实现移动终端设备之间数据的传输与互联互通。\n[0068] 本领域技术人员应当可以理解,本发明实施例提供的格式转换单元或其它功能单元,全部或部分是通过程序指令相关的硬件来完成,该程序可以存储在可读取存储介质中,可读取存储介质例如随机存储器、磁盘、光盘等。当该程序通过计算机运行后,可以实现移动终端设备之间的数据传输和备份。\n[0069] 本发明实施例中,中间文件可以采用txt文件或XML文件,其中:XML文件的格式可以使用DTD(Document Type Difinition,文档类型定义)/文档格式Schema描述。格式转换单元生成中间文件时,需要解析对应所述原始数据类型的规定格式,确定所述规定格式中包含的各指定条目;然后根据所述规定格式中包含的各指定条目,分别从所述原始数据中获取每一个指定条目对应的数据字段。格式转换单元从中间文件中获取各指定条目对应的数据字段时,也需要解析对应所述原始数据类型的规定格式,确定所述规定格式中包含的各指定条目;然后根据所述规定格式中包含的各指定条目,从所述中间文件中获取各指定条目对应的数据字段。\n[0070] 下面以移动终端设备直接传输数据为例,详细说明本发明技术方案。\n[0071] 实施例一、移动终端设备之间传输SMS数据\n[0072] 目前,移动终端设备存储的SMS数据包括:移动终端设备从网络侧收到的SMS数据、移动终端设备发送的SMS数据、在移动终端设备上编写的SMS数据草稿以及移动终端设备所接收到的发送报告等特殊的SMS数据。这些SMS数据形成SMS数据文件,根据确定的格式(或者用户选择的格式)存储在移动终端设备上,以供本地的SMS应用,如SMS的收件箱可以读取SMS数据,并且顺利地呈现给用户。由于各移动终端设备文件系统和操作系统、应用程序以及数据的存放方式不一样,所以各移动终端设备存放的SMS的方式可能不完全相同。\n[0073] 本实施例通过在移动终端设备设置格式转换单元实现SMS数据的传输,源移动终端设备完成SMS数据在源移动终端设备本地的存储,在数据传输时,设置在源移动终端设备上的格式转换单元读取本地存储的SMS数据中指定条目,并生成为数据传输所规定的中间文件格式,发送该中间文件给目的移动终端设备,目的移动终端设备上设置的格式转换单元解析中间文件后,获取需要的数据并存储为本移动终端设备支持的原始数据,然后存储在目标移动终端设备本地。\n[0074] SMS需要保存的共有信息字段主要包括:\n[0075] 源地址字段,主要是指SMS的发送方的地址;\n[0076] 目的地址字段,主要是指SMS接收方的地址;\n[0077] 数据(Data)字段,主要是指SMS的主要内容,可能是文字,也可以是二进制内容;\n[0078] 时间信息(TimeStamp)字段,主要是指SMS的时间信息;\n[0079] 类型(Type)字段,主要是指SMS的类型,包括:接收的消息,发送的消息,草稿箱,Push消息,状态报告等内容。\n[0080] 该共有信息字段可以作为指定条目,需要包含在中间文件中。\n[0081] 生成中间文件的方式有很多,例如:\n[0082] 方式一、XML(Extensible Markup Language,可扩展标记语言)方式。其核心是用标记语言的方式来完成相应的数据转换的功能。各标记即为指定条目。由于XML方式是一个定义好规则的一种数据存储和传输的通用格式和方案,利用XML的方式,可以很轻松的实现数据传输。而且,在数据元素发生改变的情况下,只需要修改特定的DTD或Schema就可以让格式转换单元适应改变后的结果,而并不需要重新对格式转换单元进行修改,具有很大程度的适应能力。\n[0083] XML实现的过程和文本方式比较对应,所不同的在于数据的格式和规则,是根据DTD和Schema来定义的。以下是相关的一个例子:\n[0084] SMS数据中间文件的DTD的一种可能采用的形式,其中包括各指定条目,例如:\nELEMENT Orignal_Address为SMS的发送方地址等:\n[0085] <?xml version=″1.0″encoding=″UTF-8″?>\n[0086] < ! ELEMENT SMS_Bakup(Orignal_Address*,Destination_Address*,Date+,TimeStamp+,Type+)>\n[0087] <!--SMS的备份的DTD的形式-->\n[0088] <!ELEMENT Orignal_Address(#PCDATA)>\n[0089] <!--主要是指SMS的发送方地址。-->\n[0090] <!ELEMENT Destination_Address(#PCDATA)>\n[0091] <!--主要是指SMS接收方的地址。-->\n[0092] <!ELEMENT Date(#PCDATA)>\n[0093] <!--主要是指SMS的主要内容,可能是文字,也可以是二进制内容。-->[0094] <!ELEMENT TimeStamp(#PCDATA)>\n[0095] <!--主要是指SMS的时间信息。-->\n[0096] <!ELEMENT Type(MT_SMS?|MO_SMS?|Draft_SMS?|Delivery_Report?)>[0097] <!--主要是指SMS的类型,目前主要包括4类。-->\n[0098] <!ELEMENT MT_SMS(#PCDATA)>\n[0099] <!--移动终端设备接收到的SMS类型-->\n[0100] <!ELEMENT MO_SMS(#PCDATA)>\n[0101] <!--移动终端设备发出的SMS类型。-->\n[0102] <!ELEMENT Draft_SMS(#PCDATA)>\n[0103] <!--移动终端设备本地编写的草稿SMS类型。-->\n[0104] <!ELEMENT Delivery_Report(#PCDATA)>\n[0105] <!--移动终端设备接收到的关于SMS的报告类型。-->\n[0106] 上面的DTD当中,主要规定了不同移动终端设备当中SMS共有的指定条目的格式,这其中包括了:\n[0107] 发件人的地址信息,在实际当中,发件人的地址信息和收件人的地址信息只存在一个,在本例当中,发件人和收件人的地址信息可以为空,也可以是一个或者多个,具体地址信息的数据根据具体的需求而定。\n[0108] 收件人的地址信息,在实际当中,发件人的地址信息和收件人的地址信息只存在一个,在本例当中,发件人和收件人的地址信息可以为空,也可以是一个或者多个,具体地址信息的数据根据具体的需求而定。\n[0109] SMS的主要信息是SMS的主体内容,也就是SMS主要所携带的信息,可能是文字,也可能是其它形式的内容。对于长短信而言,这部分内容不在局限于140个字节,而可以是移动终端设备拼接完成后的长短信的内容;\n[0110] SMS的时间信息,在这里主要包括年月日,以及以具体的小时、分钟和秒的信息;\n[0111] SMS的类型等信息,在这里,主要根据不同用途的SMS进行分类,这些分类主要还是根据移动终端设备本地存储的SMS来区分的。比如说,从移动终端设备发出的SMS、移动终端设备接收到的SMS、移动终端设备本地存储的草稿SMS、移动终端设备存储的SMS的发送报告等,在中间文件中,可以为不同分类的SMS设定相应的标识信息。\n[0112] 移动终端设备A上SMS的原始数据以下面的逻辑形式存放在移动终端设备上的一块存储单元中:\n[0113] A_Original_Address=123456789\n[0114] A_Destination_Address=987654321\n[0115] A_Data=How Are You?\n[0116] A_TimeStamp=2007/6/19 GMT 00:00\n[0117] A_SMS_Type=Received SMS\n[0118] A_Squene=001\n[0119] A_Status=Read\n[0120] 移动终端设备A输出的包括指定条目数据字段的中间文件,采用XML的方式,形成如下一个XML的文档的形式:\n[0121] <?xml version=″1.0″encoding=″UTF-8″?>\n[0122] <!DOCTYPE SMS_Bakup xmls = ″ http://www.sample.com/DTD/SMS-Bakup.dtd″>\n[0123]
\n[0124] 123456789\n[0125] 987654321[0126] How Are You?\n[0127] 2007/6/19GMT 00:00\n[0128] Received SMS\n[0129] \n[0130] 上述的数据是一个XML的文档。其文档名可能是SMS_Bakup.xml。\n[0131] 如果传输同类型的原始数据,移动终端设备B生成的中间文件,和移动终端设备A所生成的中间文件格式完全相同,只是具体数据有差异。\n[0132] 移动终端设备B从移动终端设备A接收XML文档形式的中间文件,解析中间文件后根据各指定条目的数据字段生成以下形式的移动终端设备B支持的目标数据结构:\n[0133] B_Original_Address=123456789\n[0134] B_Destination_Address=987654321\n[0135] B_Data=How Are You?\n[0136] B_TimeStamp=2007/6/19 GMT 00:00\n[0137] B_SMS_Type=Received SMS\n[0138] B_Message_Type=SMS\n[0139] 通过上述的方式,就完成了SMS数据在不同的移动终端设备之间的传输。\n[0140] 方式二、其中,XML文档中间文件的格式还可以采用封装成二进制数据包的方式,则相应DTD如下所示,其中指定条目例如:ELEMENT Received_SMS表示短消息的类型等:\n[0141] <?xml version=″1.0″encoding=″UTF-8″?>\n[0142] <!ELEMENT SMS_Bakup_alternative(Sequence,SMS_Type,Data)>[0143] <!ELEMENT Data(#PCDATA)>\n[0144] <!ELEMENT Sequence(#PCDATA)>\n[0145] <!ELEMENT SMS_Type(Received_SMS?|Delivery_SMS?|Draft_SMS?|[0146] Delivery_Report?)>\n[0147] <!ELEMENT Received_SMS(#PCDATA)>\n[0148] <!ELEMENT Delivery_SMS(#PCDATA)>\n[0149] <!ELEMENT Draft_SMS(#PCDATA)>\n[0150] <!ELEMENT Delivery_Report(#PCDATA)>\n[0151] 基于上述的DTD的方式,移动终端设备A生成的XML文档形式的中间文件如下所示:\n[0152] <?xml version=″1.0″encoding=″UTF-8″?>\n[0153] <!DOCTYPE SMS_Bakup_alternative\n[0154] xmls=″http://www.sample.com/DTD/SMS-Bakup-Alternative.dtd″>[0155]
\n[0156] 001\n[0157] \n[0158] 1\n[0159] \n[0160] 00101011010101000001111110101010000001111111111111101010\n00000000001\n[0161] 111111111\n[0162] \n[0163] 其中:\n[0164] “00101011010101000001111110101010000001111111111111101010000000000011\n11111111”代表的内容则是本实施当中使用的一条SMS的二进制的形式,其中包含了SMS的所有信息和内容。\n[0165] 移动终端设备B接收中间文件后,解析中间文件并转化为本地存储的数据。\n[0166] 方式三:文本文件的方式。如txt等类似的文件的方式,事先规定好一定的信息组成的格式,格式转换单元根据规定的格式生成文本文件方式的文件。格式转换单元需要读取相关数据的时候,根据实现规定好的文本文件的规则进行读取和解析,并在解析完成之后提取相关的数据进行相应的存储,从而完成转化的过程。\n[0167] 文本文件的方式不仅仅局限于txt的方式,还可以采用其它的文本格式的方案,也可以采用自定义扩展名的方式。以下是一个例子:\n[0168] 存储在移动终端设备A上的SMS的原始数据可能采用下面的组织形式:\n[0169] A_Original_Address=123456789\n[0170] A_Destination_Address=987654321\n[0171] A_Data=How Are You?\n[0172] A_TimeStamp=2007/6/19 GMT 00:00\n[0173] A_SMS_Type=Received SMS\n[0174] A_Squene=001\n[0175] A_Status=Read\n[0176] 为了进行移动终端设备之间的数据传输,需要生成中间文件,本实施例中,采用事先定义好的规则来生成相应的文本文件,并在该文本文件当中保存SMS指定条目的数据以及相关条目。\n[0177] 中间文件例如:\n[0178] SMS Data Bakup Version 1.0\n[0179] Begin:\n[0180] Original Address=123456789\n[0181] Destination Address=987654321\n[0182] Data=How Are You?\n[0183] TimeStamp=2007/6/19 GMT 00:00\n[0184] SMS Type=Received SMS\n[0185] End\n[0186] 如果这个中间文件是一个txt的文档,则可以命名为SMS.txt。\n[0187] 移动终端设备B接收移动终端设备A的中间文件,解析后获取相关数据,将会读入移动终端设备的SMS相应的存储控制模块,存储为移动终端设备B支持的目标数据,从而完成一个从外部数据到内部数据转换的过程。\n[0188] 完成转换后,移动终端设备B用于存储在本地移动终端设备上的目标数据的逻辑形式可能是:\n[0189] B_Original_Address=123456789\n[0190] B_Destination_Address=987654321\n[0191] B_Data=How Are You?\n[0192] B_TimeStamp=2007/6/19 GMT 00:00\n[0193] B_SMS_Type=Received SMS\n[0194] B_Message_Type=SMS\n[0195] 至此移动终端设备A到移动终端设备B的数据传输完成,移动终端设备B到移动终端设备A的数据传输完全相同。通过上述的过程,不同的移动终端设备之间可以实现SMS数据的自由交换,从而不必考虑对移动终端设备本身进行修改来提供相应的功能。\n[0196] 综上,通过本实施例当中所采用的方式,将SMS数据通过移动终端设备格式转换单元转化后,在不同的移动终端设备格式转换单元之间进行SMS数据的传输,然后利用移动终端设备格式转换单元的功能,将SMS数据转化成为本移动终端设备能够识别的SMS数据的方法可以有效地实现SMS数据在不同的移动终端设备之间的传输,这种方式改变了传统方式对移动终端设备的巨大改造,能够极大地提高数据传输的效率降低成本。\n[0197] 实施例二、推送(Push)消息类原始数据的传输\n[0198] Push消息是为了服务器触发移动终端设备去获取服务器上相关信息,从而将部分的信息通过Push的方式下发到移动终端设备的消息。Push消息可以由很多种承载的方式,主要的消息可以分为两类,一类是SI(Services Indication,业务指示)消息,一类是SL(Services Loading,业务下载)消息。通过分析SI消息和SL消息的差异,并且比较目前移动终端设备上对SI和SL消息的存储方式,先将Push消息当中相对共有的部分进行总结。为了完整的表达Push消息的基本内容,并且完成移动终端设备之间Push消息数据的传输,至少需要通过下面的字段来完整的表达Push消息的信息。这些字段包括:\n[0199] 指示内容(Indication)字段。\n[0200] 信息内容(Infomation)字段。\n[0201] 其中,Indication字段包含的内容主要有:\n[0202] Indication字段,主要是指该Push消息如何动作,指向何处。\n[0203] Infomation字段,主要是指对该Push消息的用途描述。\n[0204] 超链接索引(href)字段,可选,主要是指该SI所指向的URI地址[0205] SI标识(si-id)字段,可选,主要是指该SI的ID消息\n[0206] 创建者(created)字段,可选,主要是指该SI消息的创建时间\n[0207] SI有效期(si-expires)字段,可选,主要是指该SI消息的失效时间[0208] 动作(action)字段,可选,主要是指该SI所采取的动作\n[0209] 其取值可以包括,signal-none,signal-low,signal-medium,signal-high,delete。默认的取值为″sighal-medium″。\n[0210] Information字段当中包括的数据主要有:\n[0211] 描述内容(item)字段,必选,主要是指该SI的描述信息。\n[0212] 分类等级(class)字段,必选,主要是指该Information的重要程度。\n[0213] class取值为NMTOKEN\n[0214] SL当中的数据字段还包括:\n[0215] 超链接索引(href)字段,必选,主要是指SL所指向的超链接地址,[0216] 动作(action)字段,必选,主要是指针对SL所采用的动作,\n[0217] Action取值为execute-low,execute-high,cache当中的一种,默认的取值为″execute-low″。\n[0218] 上面是为了完整的表达移动终端设备所存储的Push消息所提取的公共的字段信息,这些共有字段信息可以作为指定条目的数据字段,包含在中间文件中进行传输。由于不同移动终端设备对于Push消息处理的方法不同,部分的移动终端设备还可能基于实现的考虑增加了部分的辅助信息,该辅助信息并不影响本发明实施例的具体实施。\n[0219] 下面举一个Push消息的例子,简单的说明如何在两个数据不完全兼容的移动终端设备之间进行Push消息数据的传输的过程。\n[0220] 首先,假定存在两个移动终端设备,移动终端设备A和移动终端设备B。移动终端设备的作用主要提供数据在本地的存储,为了使移动终端设备之间的数据能够在A和B移动终端设备之间顺利地传输,需要利用移动终端设备格式转换单元来进行移动终端设备A和B当中数据和中间文件之间的转换工作。\n[0221] 存储在移动终端设备A上的Push消息数据可能采用下面的数据组织形式。\n[0222] A->indication->description=“You have 4 new emails”\n[0223] A->indication->href=“http://www.xyz.com/email/123/abc.wml”[0224] A->indication->created=″2001-07-31T10:13:00Z″\n[0225] A->indication->si-expires=″2001-08-07T10:13:00Z″\n[0226] 为了实现将Push消息的数据通过本发明所提出的方法,中间文件可以采用如下的几种可能的方式:\n[0227] 方式一:XML文档形式\n[0228] 例如,Push消息数据传输的DTD的一种可能采用的形式:\n[0229] <?xml version=″1.0″encoding=″UTF-8″?>\n[0230] <!ELEMENT Push_Message_Bakup(si?,sl?)>\n[0231] <!ELEMENT si(indication,info?)>\n[0232] <!ELEMENT indication(#PCDATA)>\n[0233] <!ATTLIST indication\n[0234] href%URI;#IMPLIED\n[0235] si-id CDATA#IMPLIED\n[0236] created %Datetime;#IMPLIED\n[0237] si-expires %Datetime;#IMPLIED\n[0238] action(signal-none|signal-low|signal-medium|signal-high|delete)″signal-medium″\n[0239] >\n[0240] <!ELEMENT info(item+)>\n[0241] <!ELEMENT item(#PCDATA)>\n[0242] <!ATTLIST item\n[0243] class NMTOKEN#REQUIRED\n[0244] >\n[0245] <!ELEMENT sl EMPTY>\n[0246] <!ATTLIST sl\n[0247] href%URI;#REQUIRED\n[0248] action(execute-low|execute-high|cache)″execute-low″[0249] >\n[0250] <!ENTITY% Datetime″CDATA″>\n[0251] <!ENTITY% URI″CDATA″>\n[0252] 上面的DTD当中,主要规定了不同移动终端设备当中的指定条目,其中包括:\n[0253] SI的Indication,其中包括:SI的链接地址、SI的消息ID、SI的创建日期、SI的失效日期、SI所需要移动终端设备采取的动作;\n[0254] SI的Information,其中包括:SI的信息描述、以及SI的重要程度;\n[0255] SL的属性信息,其中包括:SL的超链接地址、针对SL所需要采取的动作和行动;\n[0256] 移动终端设备格式转换单元根据A的Push消息原始数据,形成一个XML文档形式的中间文件:\n[0257] <?xml version=″1.0″encoding=″UTF-8″?>\n[0258] <!DOCTYPE Push_Message_Bakup\n[0259] xmls=″http://www.sample.com/DTD/Push-Bakup.dtd″>\n[0260]
\n[0261] \n[0262] [0265] You have 4 new emails\n[0266] \n[0267] \n[0268] \n[0269] 上述文件是一个XML的文档,其文档名可能是Push_Bakup.xml。\n[0270] 由于Push消息具有SI和SL两种。上述的例子是一个SI的实例,本实施例当中主要以SI为例,SL的例子如下所示:\n[0271] <?xml version=″1.0″encoding=″UTF-8″?>\n[0272] < ! D O C T Y P E \nPush_Message_Bakup\n[0273] xmls=″http://www.sample.com/DTD/Push-Bakup.dtd″>\n[0274]
\n[0275] [0276] \n[0277] 下面仍以SI为例,利用A所生成的Push Bakup.xml进行Push消息的数据传输,移动终端设备B解析获取的中间文件,生成移动终端设备B用于存储在本地移动终端设备上的数据,其格式可以如下所示:\n[0278] B->Push->SI->indication->description=“You have 4 new emails”[0279] B->Push->SI->indication->href =“http://www.xyz.com/email/123/abc.wml”\n[0280] B->Push->SI->indication->created=″2001-07-31T10:13:00Z″[0281] B->Push->SI->indication->si-expires=″2001-08-07T10:13:00Z″[0282] B->Push->Message_Type=Push_SI\n[0283] 通过上述的方式,就完成了Push消息的数据在不同的移动终端设备当中的传输的过程。\n[0284] 方式二、XML文档中间文件的格式还可以采用封装成二进制数据包的方式,可以参考的DTD可以参见如下的方式:\n[0285] <?xml version=″1.0″encoding=″UTF-8″?>\n[0286] <!ELEMENT Push_Message_Bakup(Message_Type,Sequence,Data)>[0287] <!--用于对Push消息进行备份的DTD-->\n[0288] <!ELEMENT Message_Type(SI?,SL?)>\n[0289] <!ELEMENT SI(#PCDATA)>\n[0290] <!--封装的在移动终端设备本地存储的SI-->\n[0291] <!ELEMENT SL(#PCDATA)>\n[0292] <!--封装的在移动终端设备本地存储的SL-->\n[0293] <!ELEMENT Sequence(#PCDATA)>\n[0294] <!--被转化的消息的序列号-->\n[0295] <!ELEMENT Data(#PCDATA)>\n[0296] <!--封装的在移动终端设备本地存储的Push消息的数据-->\n[0297] 假设Push消息在移动终端设备的存储是一个二进制的方式,则利用移动终端设备A和移动终端设备格式转换单元,将移动终端设备A所存储的数据按照用来进行数据传输的XML文档的DTD进行封装,形成了如下的中间文件:\n[0298] <?xml version=″1.0″encoding=″UTF-8″?>\n[0299] < ! D O C T Y P E \nPush_Message_Bakup\n[0300] xmls=″http://www.sample.com/DTD/Push-Bakup-Alternative.dtd″>[0301]
\n[0302] \n[0303] 1\n[0304] \n[0305] 001\n[0306] 01000011110101010000001111111101001111111111111111100001\n111111111111\n[0307] 11111111\n[0308] \n[0309] 其中:\n[0310] “01000011110101010000001111111101001111111111111111100001111111111111\n11111111”为实施例当中Push消息的SI部分在移动终端设备A当中的二进制的存储形式。\n[0311] 移动终端设备B在获取到移动终端设备A的中间文件后,通过格式转换单元可以将解析,并且形成移动终端设备B能够识别和存储的格式,其转化后的结果如下所示:\n[0312] B->Push->SI->indication->description=“You have 4 new emails”[0313] B->Push->SI->indication->href =“http://www.xyz.com/email/123/abc.wml”\n[0314] B->Push->SI->indication->created=″2001-07-31T10:13:00Z″[0315] B->Push->SI->indication->si-expires=″2001-08-07T10:13:00Z″[0316] B->Push->Message_Type=Push_SI\n[0317] 还可以采用文本文件的方式,具体实现参见实施例一所示。\n[0318] 实施例三、Email原始数据的传输\n[0319] 分析Email需要保存的共有信息字段主要包括:\n[0320] 日期(Date)字段,主要包括Email的时间信息。\n[0321] 发送者(From)字段,主要包括Email发件人的相关信息。\n[0322] 主题(Subject)字段,主要包括Email的主题信息。\n[0323] 接收者(To)字段,主要包括Email收件人的相关信息。\n[0324] 回复地址(Reply-to)字段,主要包括该Email的回复地址信息。\n[0325] 多用途互联网邮件扩展(MIME)版本(MIME-version)字段,主要包括Email的MIME的版本号。\n[0326] 回复路径(Return-Path)字段,主要是标识连接到目的服务器所采用的路由。一般只是一个发送者地址,表明邮件直接传送给目的服务器。\n[0327] 传递信息(Delivered-To)字段,主要是说明邮件被传送到那个邮箱。\n[0328] 接收信息(Received)字段,该头部分分别代表的信息包括:\n[0329] from hostname(从host得到);\n[0330] by hostname(由host收取);\n[0331] via physical-path(通过什么路径——邮件服务器);\n[0332] with protocol(使用什么协议);\n[0333] id message-id(消息ID号);\n[0334] for final destination(消息目的地址);\n[0335] time(时间标记)。\n[0336] 每一个邮件服务器都向每一条收到的消息添加一个自己新的Received字段。可以看到这封邮件有两个Received头字段。\n[0337] 抄送地址(CC字段),主要是指抄送方地址。\n[0338] 密送地址(BCC字段),主要是指暗抄地址。\n[0339] 消息标识(Message-ID)字段,主要是指消息唯一的识别ID。\n[0340] 内容传输编码方式信息(Content-Transfer-Encoding)字段,主要是指嵌入到消息中的二进制数据如何被编码成ASCII文本。\n[0341] 内容描述(Content-Description)字段,主要是指用来在邮件消息的文本中标识数据的ASCII描述。\n[0342] 内容属性(Content-Disposition)字段,主要是Content的内容归属。\n[0343] 内容标识(Content-ID)字段,主要是指用来在使用多目录内容的情况下,以一个唯一的标识代码去标识一个MIME会话。\n[0344] 内容类型(Content-type)字段,此头字段是动作开始的地方,标识了在MIME消息中封装的数据。\n[0345] 内容等级(Content-class)字段,主要是指Content的级别。\n[0346] 字符集(Charset)字段,主要是指字符的编码方式。\n[0347] 内容数据(Data)字段,主要是用来包含Content内容的具体编码。\n[0348] 附件名(Name)字段,主要是用来描述Content的名字。\n[0349] 附件文件名(Filename)字段,主要是用来描述附件的文件名。\n[0350] 将上述主要信息字段作为指定条目,需要包含在中间文件中,中间文件可以采用XML方式等。本领域技术人员可以参见实施例一或实施例二获得XML文件的DTD和XML文档,这里不再详细描述。\n[0351] 方式一、XML方式\n[0352] Email数据传输的DTD的一种可能采用的形式。\n[0353] <?xml version=″1.0″encoding=″UTF-8″?>\n[0354] <!ELEMENT Email_Bakup(Return-Path?,Delivered-To*,Received*,Date+,CC?,BCC?,\n[0355] Message-ID*,From+,Subject*,To+,Reply-to*,MIME-version+,Content+)>[0356] <!ELEMENT Content (Content-type*,charset*,Data*,Name*,Filename*,[0357] Content-Transfer-Encoding*,Content-Description*,Content-Disposition*,Content-ID*,\n[0358] Content-class*)>\n[0359] <!ELEMENT Return-Path(#PCDATA)>\n[0360] <!ELEMENT Delivered-To(#PCDATA)>\n[0361] <!ELEMENT Received(#PCDATA)>\n[0362] <!ELEMENT Date(#PCDATA)>\n[0363] <!ELEMENT CC(#PCDATA)>\n[0364] <!ELEMENT BCC(#PCDATA)>\n[0365] <!ELEMENT Message-ID(#PCDATA)>\n[0366] <!ELEMENT From(#PCDATA)>\n[0367] <!ELEMENT Subject(#PCDATA)>\n[0368] <!ELEMENT To(#PCDATA)>\n[0369] <!ELEMENT Reply-to(#PCDATA)>\n[0370] <!ELEMENT MIME-version(#PCDATA)>\n[0371] <!ELEMENT Content-Transfer-Encoding(#PCDATA)>\n[0372] <!ELEMENT Content-Description(#PCDATA)>\n[0373] <!ELEMENT Content-Disposition(#PCDATA)>\n[0374] <!ELEMENT Content-ID(#PCDATA)>\n[0375] <!ELEMENT Content-type(#PCDATA)>\n[0376] <!ELEMENT Content-class(#PCDATA)>\n[0377] <!ELEMENT charset(#PCDATA)>\n[0378] <!ELEMENT Data(#PCDATA)>\n[0379] <!ELEMENT Name(#PCDATA)>\n[0380] <!ELEMENT Filename(#PCDATA)>\n[0381] 上面的DTD当中,主要规定了不同移动终端设备当中所共有的Email相关的信息格式,这其中包括了:\n[0382] Email的时间信息;\n[0383] Email发件人的相关信息;\n[0384] Email的主题信息;\n[0385] Email收件人的相关信息;\n[0386] Email的回复地址信息;\n[0387] Email的MIME的版本号信息;\n[0388] Email被传送到哪个邮箱的信息;\n[0389] Email抄送方地址信息;\n[0390] Email暗抄地址信息;\n[0391] Email消息唯一的识别ID信息等和Email相关的信息。\n[0392] Email的原始数据在移动终端设备A上的逻辑形式可以采用下面的方式:\n[0393] A_From=Alice
\n[0394] A_To=Bob@sample.com\n[0395] A_Cc=Mike@sample.com\n[0396] A_Subject=FYI\n[0397] A_Date=Tue,26 Jun 2007 14:15:16 +0800\n[0398] A_MIME-Version=1.0\n[0399] A_Content-Type=multipart/mixed\n[0400] A_Type=Received Email\n[0401] A_Squene=001\n[0402] A_Status=Read\n[0403] A_Attachement=Yes\n[0404] A_AttacheNumber=2\n[0405] A_AttachFileName=Email/Attachment/FYI.html\n[0406] A_AttachFileName=Email/Attachment/Attachment.txt\n[0407] 除了关于Email相关的描述信息之外,还有Email相关的附件的信息。Email的附件应该是一个一个的文件,它主要存放在移动终端设备的相关的存储单元当中。\n[0408] FYI.html文件和Attachment.txt文件都放置在存储单元当中,并进行相应的存储。\n[0409] 移动终端设备A输出XML文档形式的中间文件,例如:\n[0410] <?xml version=″1.0″encoding=″UTF-8″?>\n[0411] < ! DOCTYPE Email_Bakup xmls = ″ http://www.sample.com/DTD/Email-Bakup-Final.dtd″>\n[0412] \n[0413] ″Alice″\n[0414] ″Alice@sample.com″\n[0415] ″Alice@sample.com″\n[0416] ″FYI″\n[0417] ″Tue,26 Jun 2007 14:15:16 +0800″[0418] ″1.0″\n[0419] ″multipart/mixe d″[0420] \n[0421] text/plain\n[0422] ″gb2312″\n[0423] base64\nContent-Transfer-Encoding>\n[0424] \n[0425] ″RllJDQoNCg0KDQpDaGVuIEd1b3FpYW8gs8K5+sfHICBSJkQgRW5naW5lZXINCk\n[0426] 1vYmlsZSBUZXJt\n[0427] aW5hbCBEZXAuDQpIdWF3ZWkgVGVjaG5vbG9naWVzIENvLixMdGQuDQpIdWEg[0428] V2VpIEJsZC4sTm8u\n[0429] MyBYaW54aSBSZC4sU2hhbmctRGkgSW5mb3JtYXRpb24gDQpJbmR1c3RyeSBCYX[0430] NlLEhhaS1EaWFu\n[0431] IERpc3RyaWN0IEJlaWppbmcgUC5SLkNoaW5hIA0KWklQo7oxMDAwODUgIA0KV[0432] GVsOiArODYtMTAt\n[0433] ODI4MzYzNjYNCkZBWKO6Kzg2LTEwLTgyODM2MTMzDQpFbWFpbDogY2hlbm[0434] d1b3FpYW9AaHVhd2Vp\n[0435] LmNvbQ==″\n[0436] \n[0437] \n[0438] \n[0439] text/html\n[0440] ″gb2312″\n[0441] ″ base64 ″ \nContent-Transfer-Encoding>\n[0442] \n[0443] ″PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBU[0444] cmFuc2l0aW9uYWwv\n[0445] L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGU\n[0446] gY29udGVu\n[0447] dD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQSBjb250ZW50PSJNU\n0\n[0448] hUTUwgNi4w\n[0449] MC4yODAwLjE1NjEiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPjwvU1RZTEU+DQ[0450] o8L0hFQUQ+DQo8\n[0451] Qk9EWSBiZ0NvbG9yPSNjY2U4Y2Y+DQo8RElWPjxGT05UIHNpemU9Mj5GWUk8L0Z[0452] PTlQ+PC9ESVY+\n[0453] DQo8RElWPjxGT05UIHNpemU9Mj48L0ZPTlQ+Jm5ic3A7PC9ESVY+DQo8RElWPjxGT[0454] 05UIHNpemU9\n[0455] Mj48L0ZPTlQ+Jm5ic3A7PC9ESVY+DQo8RElWPiZuYnNwOzwvRElWPg0KPERJVj48R[0456] k9OVCBzaXpl\n[0457] PTI+Q2hlbiBHdW9xaWFvILPCufrHxyZuYnNwOyBSJmFtcDtEIEVuZ2luZWVyPEJSPk1v\n[0458] YmlsZSBU\n[0459] ZXJtaW5hbCANCkRlcC48QlI+SHVhd2VpIFRlY2hub2xvZ2llcyBDby4sTHRkLjxCUj5IdW\n[0460] EgV2Vp\n[0461] IEJsZC4sTm8uMyBYaW54aSBSZC4sU2hhbmctRGkgDQpJbmZvcm1hdGlvbiA8QlI+SW5\n[0462] kdXN0cnkg\n[0463] QmFzZSxIYWktRGlhbiBEaXN0cm1jdCBCZWlqaW5nIFAuUi5DaGluYSANCjxCUj5aSVC\n[0464] jujEwMDA4\n[0465] NSZuYnNwOyA8QlI+VGVsOiArODYtMTAtODI4MzYzNjY8QlI+RkFYo7orODYtMTAtO[0466] DI4MzYxMzM8\n[0467] QlI+RW1haWw6IA0KPEEgDQpocmVmPSJtYWlsdG86Y2hlbmd1b3FpYW9AaHVhd2VpL[0468] mNvbSI+Y2hl\n[0469] bmd1b3FpYW9AaHVhd2VpLmNvbTwvQT48L0ZPTlQ+PC9ESVY+PC9CT0RZPjwvSFR[0470] NTD4NCg==″\n[0471] \n[0472] \n[0473] \n[0474] ″text/plain″\n[0475] ″attachment.txt″\n[0476] ″ 7bit ″ \nContent-Transfer-Encoding>\n[0477] attachment[0478] ″attachment.txt″\n[0479] \n[0480] ″just test.″\n[0481] \n[0482] \n[0483] \n[0484] XML文档的文档名可能是Email_Bakup.xml。\n[0485] 移动终端设备B获取的中间文件就是移动终端设备A所生成的XML的文档,例如Email_Bakup.xml。\n[0486] 移动终端设备B通过格式转换单元解析中间文件并存储在本地移动终端设备,原始数据例如:\n[0487] B->Email->To=Bob@sample.com\n[0488] B->Email->Cc=Mike@sample.com\n[0489] B->Email->Subject=FYI\n[0490] B->Email->Date=Tue,26 Jun 2007 14:15:16 +0800\n[0491] B->Email->MIME-Version=1.0\n[0492] B->Email->Content-Type=multipart/mixed\n[0493] B->Email->Type=Received Email\n[0494] B->Email->Attachement=Yes\n[0495] B->Email->AttacheNumber=2\n[0496] B->Email->AttachFile_1->Name=Email/Attachment/FYI.html[0497] B->Email->AttachFile_2->Name=Email/Attachment/Attachment.txt[0498] 通过上述的方式,就完成了Email数据在不同的移动终端设备之间的传输。\n[0499] 其中,Email的内容还可以的方式或者文本文件的形式。\n[0500] 方式二、XML采用完全封装成数据包的形式\n[0501] 可以参考的DTD可以参见如下的方式:\n[0502] <?xml version=″1.0″encoding=″UTF-8″?>\n[0503] <!ELEMENT Email_Bakup(Message_Type,Sequence,Data)>\n[0504] <!--用于对Email消息进行备份的DTD-->\n[0505] < ! ELEMENT Message_Type(Send_Email ?,Received_Email ?,Draft_Email?)>\n[0506] <!ELEMENT Send_Email(#PCDATA)>\n[0507] <!--封装的在移动终端设备本地存储的发送的Email-->\n[0508] <!ELEMENT Received_Email(#PCDATA)>\n[0509] <!--封装的在移动终端设备本地存储的接收的Email-->\n[0510] <!ELEMENT Draft_Email(#PCDATA)>\n[0511] <!--封装的在移动终端设备本地存储的草稿的Email-->\n[0512] <!ELEMENT Sequence(#PCDATA)>\n[0513] <!--被转化的消息的序列号-->\n[0514] <!ELEMENT Data(#PCDATA)>\n[0515] <!--封装的在移动终端设备本地存储的Email的数据-->\n[0516] 由移动终端设备格式转换单元转化的XML文档形式的中间文件如下所示:\n[0517] <?xml version=″1.0″encoding=″UTF-8″?>\n[0518] <!DOCTYPE Email_Bakup xmls=″http://www.sample.com/DTD/\n[0519] Email-Bakup-Alternative.dtd″>\n[0520] \n[0521] \n[0522] 1\n[0523] \n[0524] 001\n[0525] ”01000011110101010000001111111101001111111111111111100001\n11111111111\n[0526] 111111010111101010101010101111111111111111111100000111111111000101010\n101010101010\n[0527] 100101010101010101111111100001101111101011111111111111111111111111111\n1111111111111\n[0528] 111110000101010111111111111111111111111111111111111111111110000000101\n11111111111111\n[0529] 111111111111111111111111111111111111111111111111111111111111111111110\n000000000010111\n[0530] 111111111111101111111000000000000000000000000000000000000000000000000\n00000000000\n[0531] 00000000001111”\n[0532] \n[0533] 其中:\n[0534] “01000011110101010000001111111101001111111111111111100001111111111111\n11111010111101010101010101111111111111111111100000111111111000101010101010101\n01010010101010101010111111110000110111110101111111111111111111111111111111111\n11111111111110000101010111111111111111111111111111111111111111111110000000101\n11111111111111111111111111111111111111111111111111111111111111111111111111111\n11111000000000001011111111111111110111111100000000000000000000000000000000000\n00000000000000000000000000000000001111”为实施例当中Email消息在移动终端设备A当中的二进制的存储形式。\n[0535] 移动终端设备B在获取中间文件并转化后的结果如下所示:\n[0536] B->Email->To=Bob@sample.com\n[0537] B->Email->Cc=Mike@sample.com\n[0538] B->Email->Subject=FYI\n[0539] B->Email->Date=Tue,26 Jun 2007 14:15:16 +0800\n[0540] B->Email->MIME-Version=1.0\n[0541] B->Email->Content-Type=multipart/mixed\n[0542] B->Email->Type=Received Email\n[0543] B->Email->Attachement=Yes\n[0544] B->Email->AttacheNumber=2\n[0545] B->Email->AttachFile_1->Name=Email/Attachment/FYI.html[0546] B->Email->AttachFile_2->Name=Email/Attachment/Attachment.txt[0547] 通过上述的方式,就完成了Email数据在不同的移动终端设备当中的传输的过程。\n[0548] 实施例四、MMS消息原始数据的传输\n[0549] 根据MMS业务的特点,将MMS需要保存的共有信息字段主要包括:\n[0550] 消息类型(Message_Type)字段,主要是标识消息的类型,如MM1_retrieve.RES。\n[0551] 多媒体消息版本信息(MMS_Version)字段,主要是标识MMS消息的版本信息。\n[0552] 消息标识(Message_ID)字段,主要是标识MM的消息ID。\n[0553] 发送者地址(Sender_address)字段,主要是表示最近处理过MM(即,提交过或转发过MM)的移动终端设备的地址。如果始发方移动终端设备已经请求对接收方隐藏其地址,则它的地址不会提供给接收方。\n[0554] 内容类型(Content_type)字段,主要是表示MM内容的内容类型。\n[0555] 接收者地址(Recipient_address)字段,主要是表示MM接收方的地址。可能存在多个地址。\n[0556] 消息等级(Message_class)字段,主要是表示消息的类别(例如,个人服务、广告服务和信息服务)。\n[0557] 时间日期(Date_and_time)字段,主要是表示移动终端设备最近处理(即,提交或转发)MM的时间和日期。\n[0558] 优先级(Priority)字段,主要是表示消息的优先级(重要性)(如果始发方移动终端设备已指定)。\n[0559] 主题(Subject)字段,主要是表示整个多媒体消息的标题(如果MM的始发方移动终端设备已指定)。\n[0560] 消息状态(MM_State)字段,主要是表示MM状态。入局MM可能缺少该状态,持久存储的MM存在该状态。\n[0561] 内容(Content)字段,主要是表示多媒体消息的内容(由MM的始发方移动终端设备指定)。\n[0562] 共有信息字段可以作为指定条目,相对应的数据字段和条目信息需要包含中间文件中,中间文件的形式可以是XML方式等。\n[0563] 方式一\n[0564] 例如,MMS数据交换的DTD的一种可能采用的形式:\n[0565] <?xml version=″1.0″encoding=″UTF-8″?>\n[0566] <!ELEMENT MMS_Bakup(Message_Type+,MMS_Version+,Message_ID+,[0567] Sender_address*,Content_type+,Recipient_address*,Message_class*,Date_and_time+,\n[0568] Priority*,Subject*,MM_State*,Content*)>\n[0569] <!ELEMENT Message_Type(#PCDATA)>\n[0570] <!--将此消息标识为MM1_retrieve.RES。-->\n[0571] <!ELEMENT MMS_Version(#PCDATA)>\n[0572] <!--标识MMSRelay/Server所支持接口的版本。-->\n[0573] <!ELEMENT Message_ID(#PCDATA)>\n[0574] <!--MM的消息ID。-->\n[0575] <!ELEMENT Sender_address(#PCDATA)>\n[0576] <!--最近处理过MM(即,提交过或转发过MM)的移动终端设备[0577] 的地址。如果始发方移动终端设备已经请求对接收方隐藏其地[0578] 址,则它的地址不会提供给接收方。-->\n[0579] <!ELEMENT Content_type(#PCDATA)>\n[0580] <!--MM内容的内容类型。-->\n[0581] <!ELEMENT Recipient_address(#PCDATA)>\n[0582] <!--MM接收方的地址。可能存在多个地址。-->\n[0583] <!ELEMENT Message_class(#PCDATA)>\n[0584] <!--消息的类别(例如,个人服务、广告服务和信息服务)-->[0585] <!ELEMENT Date_and_time(#PCDATA)>\n[0586] <!--移动终端设备最近处理(即,提交或转发)MM的时间和日期。-->[0587] <!ELEMENT Priority(#PCDATA)>\n[0588] <!--消息的优先级(重要性)(如果始发方移动终端设备已指定)。-->[0589] <!ELEMENT Subject(#PCDATA)>\n[0590] <!--整个多媒体消息的标题(如果MM的始发方移动终端设备已指[0591] 定)。-->\n[0592] <!ELEMENT MM_State(#PCDATA)>\n[0593] <!--MM状态。入局MM可能缺少该状态,持久存储的\n[0594] MM存在该状态。-->\n[0595] < ! ELEMENT Content(charset,Content-Transfer_Encoding,Content-Location,Data)>\n[0596] <!--多媒体消息的内容(由MM的始发方移动终端设备指定)。-->[0597] <!ELEMENT charset(#PCDATA)>\n[0598] <!ELEMENT Content-Transfer-Encoding(#PCDATA)>\n[0599] <!ELEMENT Content-Location(#PCDATA)>\n[0600] <!ELEMENT Data(#PCDATA)>\n[0601] 上面的DTD当中,主要规定了不同移动终端设备当中所共有的MMS相关的信息格式,这其中包括了:\n[0602] MMS消息的类型信息;\n[0603] MMS消息的版本信息;\n[0604] MMS的消息ID信息;\n[0605] MMS发送者的地址信息;\n[0606] MMS内容的内容信息;\n[0607] MMS接收方的地址;\n[0608] MMS消息的类别信息;\n[0609] MMS的时间和日期信息;\n[0610] MMS消息的优先级(重要性)信息;\n[0611] MMS消息的标题信息;\n[0612] MMS的状态信息;\n[0613] MMS的具体内容信息等内容。\n[0614] 如前所述,MMS的信息原始数据在移动终端设备A上的逻辑形式存放在移动终端设备上的一块存储单元中:\n[0615] A_Message_Type=MM1_retrieve.RES\n[0616] A_MMS_Version=1.2\n[0617] A_Message_ID=060717544991000009318\n[0618] A_Sender_address=+8613910111111@mmsc-bj-rsv.monternet.com[0619] A_Content_type=Multipart/Related\n[0620] A_Recipient_address=Alice@sample.com\n[0621] A_Message_class=Personal\n[0622] A_Date_and_time=Wed,07 Jun 2006 17:54:49 +0800\n[0623] A_Priority=Normal\n[0624] A_Subject=Hello\n[0625] A_MM_State=Retrieved\n[0626] 除了在数据结构当中需要包含上述的内容之外,还需要将MMS所包含的数据内容同上面的MMS的消息相对应。因此,可以增加下面的内容:\n[0627] A_AttachFile=MMS/S.smil\n[0628] A_AttachFile=MMS/8712df01.asc\n[0629] S.smil数据和8712df01.asc数据,都以文件的方式存放在移动终端设备的MMS文件夹下面。\n[0630] 移动终端设备A通过格式转换单元形成XML文档形式的中间文件例如:\n[0631] <?xml version=″1.0″encoding=″UTF-8″?>\n[0632] <!DOCTYPE MMS_Bakup xmls = ″ http://www.sample.com/DTD/MMS-Bakup.dtd″>\n[0633] \n[0634] ″MM1_retrieve.RES″\n[0635] <!--必选-->\n[0636] <!--将此消息标识为MM1_retrieve.RES。-->\n[0637] ″1.2″\n[0638] <!--必选-->\n[0639] <!--标识MMSRelay/Server所支持接口的版本。-->\n[0640] ″060717544991000009318″\n[0641] <!--必选-->\n[0642] <!--MM的消息ID。-->\n[0643] ″ +8613910111111@mmsc-bj-rsv.monternet.com ″ \n[0644] <!--可选-->\n[0645] <!--最近处理过MM(即,提交过或转发过MM)的移动终端设备的地址。\n如果始\n[0646] 发方移动终端设备已经请求对接收方隐藏其地址,则它的地址不会提供给接收方。-->\n[0647] \n[0648] ″Multipart/Related″\n[0649] ″s.smil″\n[0650] ″application/smil″\n[0651] \n[0652] <!--必选-->\n[0653] <!--MM内容的内容类型。-->\n[0654] ″Alice@sample.com″[0655] <!--可选-->\n[0656] <!--MM接收方的地址。可能存在多个地址。-->\n[0657] ″Personal″\n[0658] <!--可选-->\n[0659] <!--消息的类别(例如,个人服务、广告服务和信息服务)-->[0660] ″Wed,07 Jun 2006 17:54:49 +0800″\n[0661] <!--必选-->\n[0662] <!--移动终端设备最近处理(即,提交或转发)MM的时间和日期。-->[0663] ″Normal″\n[0664] <!--可选-->\n[0665] <!--消息的优先级(重要性)(如果始发方移动终端设备已指定)。-->[0666] ″Hello″\n[0667] <!--可选-->\n[0668] <!--整个多媒体消息的标题(如果MM的始发方移动终端设备已指定)。-->\n[0669] ″Retrieve d″\n[0670] <!--可选-->\n[0671] <!--MM状态。入局MM可能缺少该状态,持久存储的MM存在该状态。-->[0672] \n[0673] <!--可选-->\n[0674] ″text/plain″\n[0675] ″utf-8″\n[0676] ″ Base64 ″ \nContent-Transfer-Encoding>\n[0677] ″8712df01.asc″[0678] ″MDblubQ25pyINuaXpeaYr+S4qjY25aSn6aG655qE5ZCJ56Wl5pel5a2Q44CC5Zyo\n[0679] 6L+Z5Liq\n[0680] 576O5aW955qE5pe25Yi777yM56Wd5oKo5bm456aP5ZCJ56Wl77yM5LqL5Lia6aG66aG65\n[0681] Yip\n[0682] 5Yip77yM55Sf5rS75byA5byA5b+D5b+D77yBAA==″[0683] \n[0684] \n[0685] \n[0686] <!--可选-->\n[0687] ″application/smil″[0688] ″utf-8″\n[0689] ″ Base64 ″ \nContent-Transfer-Encoding>\n[0690] ″s.smil″[0691] ″PHNtaWw+CjxoZWFkPgo8bGF5b3V0Pgo8cm9vdClsYXlvdXQgd2lkdGg9IjI0MC\n[0692] IgaGVpZ2h0\n[0693] PSIyNzQiLz4KPHJlZ2lvbiBpZD0iSW1hZ2UiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwM\n[0694] CUi\n[0695] IGxlZnQ9IjAlIiB0b3A9IjAlIiAvPgo8cmVnaW9uIGlkPSJUZXh0IiB3aWR0aD0iMTAwJSIg\n[0696] aGVpZ2h0PSIxMDAlIiBsZWZ0PSIwJSIgdG9wPSIwJSIgLz4KPC9sYXlvdXQ+CjwvaGVh\n[0697] ZD4K\n[0698] PGJvZHk+CjxwYXIgZHVyPSI3MDAwbXMiPgo8dGV4dCBzcmM9Ijg3MTJkZjAxLmFzY[0699] yIgcmVn\n[0700] aW9uPSJUZXh0IiBkdXI9IjcwMDBtcyIgLz4KPC9wYXI+CjwvYm9keT4KPC9zbWlsPgo=\n[0701] ″\n[0702] \n[0703] <!--多媒体消息的内容(由MM的始发方移动终端设备指定)。-->[0704] \n[0705] XML文档的文档名可能是MMS_Bakup.xml。\n[0706] 移动终端设备B解析移动终端设备A的中间文件,存储在本地移动终端设备上:\n[0707] B->MMS->Message_Type=MM1_retrieve.RES\n[0708] B->MMS->MMS_Version=1.2\n[0709] B->MMS->Message_ID=060717544991000009318\n[0710] B->MMS->Sender_address=+86139111111@mmsc-bj-rsv.monternet.com[0711] B->MMS->Content_type=Multipart/Related\n[0712] B->MMS->Recipient_address=Alice@sample.com\n[0713] B->MMS->Message_class=Personal\n[0714] B->MMS->Date_and_time=Wed,07 Jun 2006 17:54:49+0800\n[0715] B->MMS->Priority=Normal\n[0716] B->MMS->Subject=Hello\n[0717] B->MMS->MM_State=Retrieved\n[0718] B->MMS->AttachFile_1=MMS/Attachment/S.smil\n[0719] B->MMS->AttachFile_2=MMS/Attachment/8712df01.asc\n[0720] MMS所包含的数据内容需同上面的MMS的消息相对应,可以存储在移动终端设备的MMS/Attachment/文件夹下。\n[0721] 通过上述的方式,就完成了MMS数据在不同的移动终端设备当中的交换的过程。\n[0722] 当然,MMS的内容可以是采用这种DTD的方式,也可以采用将MMS数据完全封装成数据包的方式来进行存储。所以,下面的DTD是另外一种可能的方式。\n[0723] 方式二、XML封装Push消息在移动终端设备的存储内容。其可以参考的DTD可以参加如下的方式:\n[0724] <?xml version=″1.0″encoding=″UTF-8″?>\n[0725] <!ELEMENT Email_Bakup(Message_Type,Sequence,Data)>\n[0726] <!--用于对Email消息进行备份的DTD-->\n[0727] < ! ELEMENT Message_Type(Send_Email ?,Received_Email ?,Draft_Email?)>\n[0728] <!ELEMENT Send_Email(#PCDATA)>\n[0729] <!--封装的在移动终端设备本地存储的发送的Email-->\n[0730] <!ELEMENT Received_Email(#PCDATA)>\n[0731] <!--封装的在移动终端设备本地存储的接收的Email-->\n[0732] <!ELEMENT Draft_Email(#PCDATA)>\n[0733] <!--封装的在移动终端设备本地存储的草稿的Email-->\n[0734] <!ELEMENT Sequence(#PCDATA)>\n[0735] <!--被转化的消息的序列号-->\n[0736] <!ELEMENT Data(#PCDATA)>\n[0737] <!--封装的在移动终端设备本地存储的Email的数据-->\n[0738] 假设Email消息在移动终端设备的存储是一个二进制的方式。利用移动终端设备A和格式转换单元,将移动终端设备A所存储的数据按照用来进行数据交换的XML文档的DTD进行封装,格式转换单元转化的XML文档形式中间文件如下所示:\n[0739] <?xml version=″1.0″encoding=″UTF-8″?>\n[0740] <!DOCTYPE MMS_Bakup xmls=″http://www.sample.com/DTD/[0741] MMS-Bakup-Alternative.dtd″>\n[0742] \n[0743] \n[0744] 1\n[0745] \n[0746] 001\n[0747] ”1111111111000010101011111111111111111111111111111111111\n1111111110000\n[0748] 000101111111111111111111111111111111111111111111111111111111111111111\n111111111111111\n[0749] 111111100000000000101111111111111111011111110000010110000100001001000\n011100001111\n[0750] 000110000000111110000100000111000100010100010010010001010000001001111\n0100001111\n[0751] 010101000000111111110100111111111111111110010011111111111111111101011\n000000000000\n[0752] 000110101010101010111111111111111111110000011111111100010101010111101\n010101010010\n[0753] 101010101010111111110000110111110101111111111111111111111111111111111\n11”\n[0754] \n[0755] ”1111111111000010101011111111111111111111111111111111111111111111\n00000001011111\n[0756] 111111111111111111111111111111111111111111111111111111111111111111111\n11111111111111000\n[0757] 000000001011111111111111110111111100000101100001000010010000111000011\n11000110000\n[0758] 000111110000100000111000100010100010010010001010000001001111010000111\n1010101000\n[0759] 000111111110100111111111111111110010011111111111111111101011000000000\n0000001101010\n[0760] 101010101111111111111111111100000111111111000101010101111010101010100\n101010101010\n[0761] 1011111111000011011111010111111111111111111111111111111111111”[0762] 移动终端设备B在获取到该中间文件后,通过格式转换单元可以将该数据将XML当中MMS消息的二进制存储内容进行提取,并且形成移动终端设备B能够识别和存储的格式,其转化后的结果如下所示:\n[0763] B->MMS->Message_Type=MM1_retrieve.RES\n[0764] B->MMS->MMS_Version=1.2\n[0765] B->MMS->Message_ID=060717544991000009318\n[0766] B->MMS->Sender_address=+86139111111@mmsc-bj-rsv.monternet.com[0767] B->MMS->Content_type=Multipart/Related\n[0768] B->MMS->Recipient_address=Alice@sample.com\n[0769] B->MMS->Message_class=Personal\n[0770] B->MMS->Date_and_time=Wed,07 Jun 2006 17:54:49 +0800\n[0771] B->MMS->Priority=Normal\n[0772] B->MMS->Subject=Hello\n[0773] B->MMS->MM_State=Retrieved\n[0774] B->MMS->AttachFile_1=MMS/Attachment/S.smil\n[0775] B->MMS->AttachFile_2=MMS/Attachment/8712df01.asc\n[0776] 通过上述的方式,就完成了MMS数据在不同的移动终端设备当中的交换的过程。\nMMS的附件应该是一个一个的文件,它主要存放在移动终端设备的相关的存储单元当中。\n[0777] S.smil文件和8712df01.asc文件都放置在存储单元中进行相应的存储。\n[0778] 实施例五、IM数据的传输\n[0779] 分析IM数据,IM数据需要保存的共有信息字段主要包括:\n[0780] 发件人URI(通用资源标识,Universal Resource Identifier)(From)字段,主要是指IM的发送方的URI。\n[0781] 收件人URI(To)字段,主要是指IM接收方的URI。\n[0782] 数据(Data)字段,主要是指IM的主要内容,可能是文字,也可以是二进制内容。\n[0783] 发送时间(Time)字段,主要是指IM的发送时间。\n[0784] 内容类型(Content-Type)字段,主要是指IM的内容类型。\n[0785] 媒体类型(Type)字段,主要是指IM的类型。\n[0786] UA字段,主要是指IM的UserAgent的信息\n[0787] 上述共有字段可以作为指定条目,需要在中间文件中传输,中间文件的形式可以采用XML方式等。\n[0788] 方式一、XML方式\n[0789] DTD的一种可能采用的形式例如:\n[0790] <?xml version=″1.0″encoding=″UTF-8″?>\n[0791] <!ELEMENT IM_Bakup(From,To,Subject,Date,Time,Message_Type,UA)>[0792] <!ELEMENT From(#PCDATA)>\n[0793] <!ELEMENT To(#PCDATA)>\n[0794] <!ELEMENT Content-Type(#PCDATA)>\n[0795] <!ELEMENT Data(#PCDATA)>\n[0796] <!ELEMENT Time(#PCDATA)>\n[0797] <!ELEMENT Message-Type(#PCDATA)>\n[0798] <!ELEMENT UA(#PCDATA)>\n[0799] 上面的DTD当中,主要规定了不同移动终端设备当中所共有的IM相关的信息格式,这其中包括了:\n[0800] 发件人的URI;\n[0801] 收件人的URI;\n[0802] IM的主要数据内容;\n[0803] IM发送的时间;\n[0804] IM的媒体类型\n[0805] IM的类型等信息;\n[0806] IM格式转换单元的用于代理(User Agent)的信息。\n[0807] IM的原始数据在移动终端设备A上以下述逻辑形式存储在一个存储单元中:\n[0808] A_From=Alice@sample.com\n[0809] A_To=Bob@sample.com\n[0810] A_Content_Type=text/plain\n[0811] A_Data=How Are You?\n[0812] A_Time=Wed,07 Jun 2006 17:54:49 +0800\n[0813] A_Type=Received IM\n[0814] A_UA=Microsoft MSN V 7.0\n[0815] A_Squene=001\n[0816] A_Status=Read\n[0817] 形成XML文档形式的中间文件例如:\n[0818] <?xml version=″1.0″encoding=″UTF-8″?>\n[0819] < ! DOCTYPE IM_Bakup xmls = ″ http://www.sample.com/DTD/IM-Bakup.dtd″>\n[0820] \n[0821] ”Alice@sample.com”\n[0822] ”Bob@sample.com”\n[0823] ”text/plain”\n[0824] How Are You?\n[0825] \n[0826] Received IM\n[0827] ”Microsoft MSN V 7.0”\n[0828] \n[0829] 上述的文件是一个XML的文档,其文档名可能是IM_Bakup.xml。\n[0830] 移动终端设备B获取中间文件,本地格式转换单元解析其实是移动终端设备A所生成的XML的文档。\n[0831] 移动终端设备B用于存储在本地移动终端设备上的数据:\n[0832] B->IM->From=Alice@sample.com\n[0833] B->IM->To=Bob@sample.com\n[0834] B->IM->Content_Type=text/plain\n[0835] B->IM->Subject=How Are You?\n[0836] B->IM->Data=How Are You?\n[0837] B->IM->Time=Wed,07 Jun 2006 17:54:49 +0800\n[0838] B->IM->Type=Received IM\n[0839] B->IM->UerAgent=Microsoft MSN V 7.0\n[0840] B->IM->Squene=001\n[0841] B->IM->Status=Read\n[0842] 通过上述的方式,就完成了IM数据在不同的移动终端设备当中的传输。\n[0843] 其中,IM的内容可以是采用这种DTD的方式,也可以采用将IM数据完全封装成数据包的方式。\n[0844] 方式二、XML封装IM消息原始数据\n[0845] DTD可以参见如下的方式:\n[0846] <?xml version=″1.0″encoding=″UTF-8″?>\n[0847] <!ELEMENT IM_Message_Bakup(Message_Type,Sequence,Data)>[0848] <!--用于对IM消息进行备份的DTD-->\n[0849] <!ELEMENT Message_Type(Send_IM?,Received_IM?,Draft_IM?)>[0850] <!ELEMENT Send_IM(#PCDATA)>\n[0851] <!--封装的在移动终端设备本地存储的发送的IM-->\n[0852] <!ELEMENT Received_IM(#PCDATA)>\n[0853] <!--封装的在移动终端设备本地存储的接收的IM-->\n[0854] <!ELEMENT Draft_IM(#PCDATA)>\n[0855] <!--封装的在移动终端设备本地存储的草稿IM-->\n[0856] <!ELEMENT Sequence(#PCDATA)>\n[0857] <!--被转化的消息的序列号-->\n[0858] <!ELEMENT Data(#PCDATA)>\n[0859] <!--封装的在移动终端设备本地存储的Push消息的数据-->\n[0860] 由格式转换单元转化的中间文件例如:\n[0861] <?xml version=″1.0″encoding=″UTF-8″?>\n[0862] < ! D O C T Y P E \nIM_Message_Bakup\n[0863] xmls=″http://www.sample.com/DTD/IM-Bakup-Alternative.dtd″>[0864] \n[0865] \n[0866] 1\n[0867] \n[0868] 001\n[0869] 01000011110101010000001111111101001111111111111111100001\n111111111111\n[0870] 11111111\n[0871] \n[0872] 其中:\n[0873] “01000011110101010000001111111101001111111111111111100001111111111111\n11111111”为实施例当中IM消息的SI部分在移动终端设备A当中的二进制的存储形式。\n[0874] 移动终端设备B根据中间文件形成移动终端设备B能够识别和存储的格式,其转化后的结果如下所示:\n[0875] B->IM->From=Alice@sample.com\n[0876] B->IM->To=Bob@sample.com\n[0877] B->IM->Content_Type=text/plain\n[0878] B->IM->Subject=How Are You?\n[0879] B->IM->Data=How Are You?\n[0880] B->IM->Time=Wed,07 Jun 2006 17:54:49 +0800\n[0881] B->IM->Type=Received IM\n[0882] B->IM->UerAgent=Microsoft MSN V 7.0\n[0883] B->IM->Squene=001\n[0884] B->IM->Status=Read\n[0885] 实施例六\n[0886] 本实施例主要的目的是在于实现移动终端设备相关数据在移动终端设备之间的无缝的交换。在交换的过程当中,为了使整个系统尽可能的简单,可以构造一个统一的中间文件格式,实现对所有的移动终端设备数据的交换与存储。为了完成统一数据交换,需要将所有用于移动终端设备之间进行交换的数据的形式进行统一的规定。这些数据具有很大的范围,比如说,SMS、Vcard、Vcalendar、Email、MMS、Picture等数据。本实施例主要描述消息(Message)数据格式的规定方式,其它类型的数据和消息类数据的处理完全相似。在将消息类的数据进行统一处理的过程当中,需要保存的信息字段主要包括:\n[0887] Message-Type字段,原始数据类型标识,用来区分不同的消息类型,比如说,SMS、MMS、Email等。(必选)\n[0888] Status字段,主要是指Message的状态。(可选)\n[0889] Squence字段,主要指Message的序列号。\n[0890] Message字段,主要是用来存储不同的Message类型。\n[0891] 采用XML方式时,Message数据交换的DTD的一种可能采用的形式。\n[0892] <?xml version=″1.0″encoding=″UTF-8″?>\n[0893] <!ELEMENT Message_Bakup(Message_Type*,Status*,Squence*,(SMS_Bakup|\n[0894] Push_Message_Bakup|MMS_Bakup|Email_Bakup|IM_Message_Bakup))+>[0895] < ! ELEMENT SMS_Bakup(SMS_Orignal_Address*,SMS_Destination_Address*,\n[0896] SMS_Date+,SMS_TimeStamp+,SMS_Type+)>\n[0897] <!--SMS的备份的DTD的形式-->\n[0898] <!ELEMENT SMS_Orignal_Address(#PCDATA)>\n[0899] <!--主要是指SMS的发送方地址。-->\n[0900] <!ELEMENT SMS_Destination_Address(#PCDATA)>\n[0901] <!--主要是指SMS接收方的地址。-->\n[0902] <!ELEMENT SMS_Date(#PCDATA)>\n[0903] <!--主要是指SMS的主要内容,可能是文字,也可以是二进制内容。-->[0904] <!ELEMENT SMS_TimeStamp(#PCDATA)>\n[0905] <!--主要是指SMS的时间信息。-->\n[0906] <!ELEMENT SMS_Type(SMS_MT?|SMS_MO?|SMS_Draft?|\n[0907] SMS_Delivery_Report?)>\n[0908] <!--主要是指SMS的类型,目前主要包括4类。-->\n[0909] <!ELEMENT SMS_MT(#PCDATA)>\n[0910] <!--移动终端设备接收到的SMS类型-->\n[0911] <!ELEMENT SMS_MO(#PCDATA)>\n[0912] <!--移动终端设备发出的SMS类型。-->\n[0913] <!ELEMENT SMS_Draft(#PCDATA)>\n[0914] <!--移动终端设备本地编写的草稿SMS类型。-->\n[0915] <!ELEMENT SMS_Delivery_Report(#PCDATA)>\n[0916] <!--移动终端设备接收到的关于SMS的报告类型。-->\n[0917] <!ELEMENT MMS_Bakup(MMS_MessageType+,MMS_Version+,MMS_Message_ID+,\n[0918] MMS_Sender_address*,MMS_Content_type+,MMS_Recipient_address*,[0919] MMS_Message_class*,MMS_Date_and_time+,MMS_Priority*,MMS_Subject*,MMS_State*,\n[0920] MMS_Content*)>\n[0921] <!ELEMENT MMS_Message_Type(#PCDATA)>\n[0922] <!--将此消息标识为MM1_retrieve.RES。-->\n[0923] <!ELEMENT MMS_Version(#PCDATA)>\n[0924] <!--标识MMSRelay/Server所支持接口的版本。-->\n[0925] <!ELEMENT MMS_Messag_ID(#PCDATA)>\n[0926] <!--MM的消息ID。-->\n[0927] <!ELEMENT MMS_Sender_address(#PCDATA)>\n[0928] <!--最近处理过MM(即,提交过或转发过MM)的移动终端设备的地址。如果始发方\n[0929] 移动终端设备已经请求对接收方隐藏其地址,则它的地址不会提供给接收方。-->[0930] <!ELEMENT MMS_Content_type(#PCDATA)>\n[0931] <!--MM内容的内容类型。-->\n[0932] <!ELEMENT MMS_Recipient_address(#PCDATA)>\n[0933] <!--MM接收方的地址。可能存在多个地址。-->\n[0934] <!ELEMENT MMS_Message_class(#PCDATA)>\n[0935] <!--消息的类别(例如,个人服务、广告服务和信息服务)-->[0936] <!ELEMENT MMS_Date_and_time(#PPCDATA)>\n[0937] <!--移动终端设备最近处理(即,提交或转发)MM的时间和日期。-->[0938] <!ELEMENT MMS_Priority(#PCDATA)>\n[0939] <!--消息的优先级(重要性)(如果始发方移动终端设备已指定)。-->[0940] <!ELEMENT MMS_Subject(#PCDATA)>\n[0941] <!--整个多媒体消息的标题(如果MM的始发方移动终端设备已指[0942] 定)。-->\n[0943] <!ELEMENT MMS_State(#PCDATA)>\n[0944] <!--MM状态。入局MM可能缺少该状态,持久存储的\n[0945] MM存在该状态。-->\n[0946] <!ELEMENT MMS_Content(MMS_charset,MMS_Content-Transfer-Encoding,[0947] MMS_Content-Location,MMS_Data)>\n[0948] <!--多媒体消息的内容(由MM的始发方移动终端设备指定)。-->[0949] <!ELEMENT MMS_charset(#PCDATA)>\n[0950] <!ELEMENT MMS_Content-Transfer-Encoding(#PCDATA)>\n[0951] <!ELEMENT MMS_Content-Location(#PCDATA)>\n[0952] <!ELEMENT MMS_Data(#PCDATA)>\n[0953] <!ELEMENT Push_Message_Bakup(Push_si?,Push_sl?)>[0954] <!ELEMENT Push_si(Push_indication,Push_info?)>\n[0955] <!ELEMENT Push_indication(#PCDATA)>\n[0956] <!ATTLIST Push_indication\n[0957] Push_href%URI;#IMPLIED\n[0958] Push_si-id CDATA#IMPLIED\n[0959] Push_created %Datetime;#IMPLIED\n[0960] Push_si-expires %Datetime;#IMPLIED\n[0961] Push_action(Push_signal-none|Push_signal-low|Push_signal-medium|\n[0962] Push_signal-high|Push_delete)″Push_signal-medium″\n[0963] >\n[0964] <!ELEMENT Push_info(Push_item+)>\n[0965] <!ELEMENT Push_item(#PCDATA)>\n[0966] <!ATTLIST Push_item\n[0967] Push_class NMTOKEN#REQUIRED\n[0968] >\n[0969] <!ELEMENT Push_sl EMPTY>\n[0970] <!ATTLIST Push_sl\n[0971] Push_href%URI;#REQUIRED\n[0972] Push_action(Push_execute-low|Push_execute-high|Push_cache)″Push_execute-low″\n[0973] >\n[0974] <!ENTITY% Datetime″CDATA″>\n[0975] <!ENTITY% URI″CDATA″>\n[0976] <! ELEMENT Email_Bakup(Push_Return-Path ?,Push_Delivered-To*,Push_Received*,\n[0977] Push_Date+,Push_CC ?,Push_BCC ?,Push_Message-ID*,Push_From+,Push_Subject*,\n[0978] Push_To+,Push_Reply-to*,Push_MIME-version+,Push_Content+)>[0979] <!ELEMENT Push_Content(Push_Content-type*,Push_charset*,Push_Data*,\n[0980] Push_Name*,Push_Filename*,Push_Content-Transfer-Encoding*,Push_Content-Description*,\n[0981] Push_Content-Disposition*,Push_Content-ID*,Push_Content-class*)>[0982] <!ELEMENT Push_Return-Path(#PCDATA)>\n[0983] <!ELEMENT Push_Delivered-To(#PCDATA)>\n[0984] <!ELEMENT Push_Received(#PCDATA)>\n[0985] <!ELEMENT Push_Date(#PCDATA)>\n[0986] <!ELEMENT Push_CC(#PCDATA)>\n[0987] <!ELEMENT Push_BCC(#PCDATA)>\n[0988] <!ELEMENT Push_Message-ID(#PCDATA)>\n[0989] <!ELEMENT Push_From(#PCDATA)>\n[0990] <!ELEMENT Push_Subject(#PCDATA)>\n[0991] <!ELEMENT Push_To(#PCDATA)>\n[0992] <!ELEMENT Push_Reply-to(#PCDATA)>\n[0993] <!ELEMENT Push_MIME-version(#PCDATA)>\n[0994] <!ELEMENT Push_Content-Transfer-Encoding(#PCDATA)>\n[0995] <!ELEMENT Push_Content-Description(#PCDATA)>\n[0996] <!ELEMENT Push_Content-Disposition(#PCDATA)>\n[0997] <!ELEMENT Push_Content-ID(#PCDATA)>\n[0998] <!ELEMENT Push_Content-type(#PCDATA)>\n[0999] <!ELEMENT Push_Content-class(#PCDATA)>\n[1000] <!ELEMENT Push_charset(#PCDATA)>\n[1001] <!ELEMENT Push_Data(#PCDATA)>\n[1002] <!ELEMENT Push_Name(#PCDATA)>\n[1003] <!ELEMENT Push_Filename(#PCDATA)>\n[1004] <!ELEMENT IM_Message_Bakup(IM_Message_Type,IM_Sequence,IM_Data)>[1005] <!--用于对IM消息进行备份的DTD-->\n[1006] <!ELEMENT IM_Message_Type(IM_Send?,IM_Received?,IM_Draft?)>[1007] <!ELEMENT IM_Send(#PCDATA)>\n[1008] <!--封装的在移动终端设备本地存储的发送的IM-->\n[1009] <!ELEMENT IM_Received(#PCDATA)>\n[1010] <!--封装的在移动终端设备本地存储的接收的IM-->\n[1011] <!ELEMENT IM_Draft(#PCDATA)>\n[1012] <!--封装的在移动终端设备本地存储的草稿IM-->\n[1013] <!ELEMENT IM_Sequence(#PCDATA)>\n[1014] <!--被转化的消息的序列号-->\n[1015] <!ELEMENT IM_Data(#PCDATA)>\n[1016] <!--封装的在移动终端设备本地存储的Push消息的数据-->\n[1017] 上面的DTD当中,主要规定了不同移动终端设备当中所共有的IM相关的信息格式,这其中包括了:\n[1018] Message-Type字段,主要是用来区分不同的消息,比如说,SMS、MMS、Email等。\n[1019] Status字段,主要是指Message的状态。\n[1020] Squence字段,主要指Message的序列号。\n[1021] Message字段,主要是用来存储不同的Message类型。\n[1022] 本例是一个将所有的消息融合在一个XML当中的实施例。其采用的方法和前面实施例当中采用的方法比较相似,数据格式转化的方式参考上述的XML的DTD文档即可完成,具体的实现过程就不再这里累述了。\n[1023] 另外的一个方式就是将不同的Message的二进制或者封包后的文档作为Message_Bakup的一个Data部分。具体的DTD可以参考如下:\n[1024] <?xml version=″1.0″encoding=″UTF-8″?>\n[1025] <!ELEMENT Message_Bakup(Message_Type*,Status*,Squence*,Data+>[1026] <!ELEMENT Message_Type(#PCDATA)>\n[1027] <!ELEMENT Status(#PCDATA)>\n[1028] <!ELEMENT Squence(#PCDATA)>\n[1029] <!ELEMENT Data(#PCDATA)>\n[1030] 其中Data数据部分可以封装其它消息的数据。\n[1031] 具体的方式可以参考前面所述的实施例的实现方式。\n[1032] 实施例七、传输Vcard和Vcalendar的原始数据\n[1033] 其中:Vcard的指定条目包括:姓名(N)、移动电话号码(TEL;Cell)、办公电话号码(TEL;Work)、住宅电话号码(TEL;Home)、固定电话号码(TEL)、传真号码(TEL;FAX)、电子邮件(EMAIL)地址。除此之外,还可以包括家庭地址、通信地址等条目。\n[1034] Vcalendar的指定条目至少包括:起始时间(Start Time)信息、结束时间(Stop Time)信息、描述(Description)信息、循环类型(Recur Type)事件、内容(Body)、提醒方式(Notify Type)、振铃方式(Ringer Type)和持续时间(Duration)等。\n[1035] 处于目前实现的情况的考虑,利用XML对Vcard和Vcalendar进行封装的时候,主要将Vcard和Vcalendar的指定条目的所有内容作为XML的一个Data单元进行封装,从而实现用XML封装Vcard和Vcalendar的功能。XML的方式封装Vcard和Vcalendar指定条目的数据字段时,DTD的描述可以如下:\n[1036] <?xml version=″1.0″encoding=″UTF-8″?>\n[1037] <!ELEMENT Vcard_Bakup(Squence*,Data+>\n[1038] <!ELEMENT Squence(#PCDATA)>\n[1039] <!ELEMENT Data(#PCDATA)>\n[1040] Vcalendar的实现方式如下:\n[1041] <?xml version=″1.0″encoding=″UTF-8″?>\n[1042] <!ELEMENT Vcard_Bakup(Squence*,Data+>\n[1043] <!ELEMENT Squence(#PCDATA)>\n[1044] <!ELEMENT Data(#PCDATA)>\n[1045] 在上述的方案当中,每个Vcard和每个Vcalendar都是一个XML的一个元素(Element),多个的Vcard和多个的Vcalendar都可以封装在一个XML的文档当中,这样有助于大规模的数据交换,避免针对单个Vcard或者Vcalendar进行操作的时候所带来的不便。下面是对Vcard的方式进行一个简单的XML说明:\n[1046] <?xml version=″1.0″encoding=″UTF-8″?>\n[1047] < ! DOCTYPE Vcard_Bakup xmls = ″ http://www.sample.com/DTD/Vcard-Bakup.dtd″>\n[1048] \n[1049] 001\n[1050] ”BEGIN:VCARD\n[1051] VERSION:2.1\n[1052] N:Marks;Bennett\n[1053] FN:Bennett Marks\n[1054] ORG:Nokia;Standardization & Industry Relations[1055] TITLE:Senior Architect\n[1056] TEL;WORK;VOICE:+1(781)993-3932\n[1057] TEL;HOME;VOICE:+1(978)371-0970\n[1058] TEL;CELL;VOICE:+1(781)308-6556\n[1059] TEL;WORK;FAX:+1(781)993-1822\n[1060] ADR;WORK:;;5 Wayside Road;Burlingyon;MA;01803;United States of\n[1061] America\n[1062] LABEL ;WORK ;ENCODING = QUOTED-PRINTABLE:5 Wayside\n[1063] Road=0D=0ABurlington,MA01803=0D=0AUnited States of America\n[1064] ADR;HOME:;;439 Bedford Rd.;Carlisle;Mass.;01741;United States of America\n[1065] LABEL;HOME ;ENCODING = QUOTED-PRINTABLE:439 Bedford\n[1066] Rd.=0D=0ACarlisle,Mass.01741=0D=0AUnited States of America\n[1067] URL;WORK:http://www.nokia.com\n[1068] EMAIL;PREF;INTERNET:Bennett.Marks@nokia.com\n[1069] REV:20070629T071729Z\n[1070] END:VCARD”\n[1071] \n[1072] \n[1073] 下面是对Vcalendar的方式进行一个简单的XML说明:\n[1074] <?xml version=″1.0″encoding=″UTF-8″?>\n[1075] < ! D O C T Y P E \nVcalendar_Bakup\n[1076] xmls=″http://www.sample.com/DTD/Vcalendar-Bakup.dtd″>[1077] \n[1078] 001\n[1079] ”\n[1080] BEGIN:VCALENDAR\n[1081] PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN\n[1082] VERSION:1.0\n[1083] BEGIN:VEVENT\n[1084] DTSTART:20070703T000000Z\n[1085] DTEND:20070703T020000Z\n[1086] LOCATION;ENCODING=QUOTED-PRINTABLE:A110 Room[1087] UID:040000008200E00074C5B7101A82E0080000000070E833055BBDC7010\n[1088] 000000000000000100\n[1089] 000009E0D91D28D7A8E4B8C9EF47F7D8AEAA5\n[1090] DESCRIPTION;ENCODING=QUOTED-PRINTABLE:FYI=0D=0A[1091] SUMMARY;ENCODING=QUOTED-PRINTABLE:Meeting[1092] PRIORITY:3\n[1093] END:VEVENT\n[1094] END:VCALENDAR”\n[1095] \n[1096] \n[1097] 可见,本发明实施例提供的技术方案利用格式转换单元将原始数据转换为规定格式的中间文件,规定格式的中间文件中包含原始数据的指定条目和对应的数据字段,根据中间文件的规定格式,格式转换单元还可以从中间文件中读取其中的数据字段,从而生成原始数据对应的目标数据。由于规定格式的中间文件中包含的指定条目是原始数据在各种移动终端设备上存储的共有信息字段,因此中间文件可以在各移动终端设备之间传输,达到数据传输的目的。同时,中间文件还可以作为原始顺据的备份,提高原始数据的可靠性。\n本发明实施例还提供了在第三方设备上设置转换单元时的实现方式。\n[1098] 显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。