CN1968281A - 实现终端间单词库数据同步的方法及终端 - Google Patents
实现终端间单词库数据同步的方法及终端 Download PDFInfo
- Publication number
- CN1968281A CN1968281A CN 200610145773 CN200610145773A CN1968281A CN 1968281 A CN1968281 A CN 1968281A CN 200610145773 CN200610145773 CN 200610145773 CN 200610145773 A CN200610145773 A CN 200610145773A CN 1968281 A CN1968281 A CN 1968281A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- terminal
- word library
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现终端间单词库数据同步的终端,包括单词库应用模块以及数据同步应用模块,单词库应用模块包括:用户界面模块,持久存储操作模块,数据库模块,数据同步应用模块包括数据同步代理模块,单词库应用模块还包括修改日志模块,与持久存储操作模块连接;持久存储操作模块还与数据同步代理模块连接,用于数据同步代理模块通过持久存储操作模块读取数据库模块中存储的单词库数据、读取修改日志模块中存储的修改日志信息、以及修改数据库模块中存储的单词库数据。本发明还公开了一种终端间单词库数据同步的方法。本发明能够实现各种终端之间的单词库数据同步,方便操作,具有广泛的应用范围。
Description
技术领域
本发明涉及数据同步的方法,特别涉及一种实现终端间单词库数据同步的方法及终端,属于通信领域。
背景技术
在现代信息社会中,用户可以随时随地进行使用手持设备中的应用程序,也可以随时随地进行信息的接收和发送,而这种数据交互和执行应用程序的结果需要存储到手持设备中,也需要与其它数据设备中的这种类型的数据保持一致。例如,在手机和个人数字助理(Personal Digital Assistant,简称PDA)中都存储有通讯录,在办公室和家里的PC机或者笔记本中也都存有相同的通讯录,用户希望这些设备中的信息能保持一致,当其中一个设备中的信息变化时,可以操作其它设备中的数据作相应的改变,这就是数据同步技术。
现有的各种个人终端如PDA、电脑、手机等中均可设置背单词软件并保存有单词库,各种终端使用各自私有的单词数据格式以及单词库,提供类似的单词库服务功能,使用户能够进行单词的背诵、记忆、保存等操作。其中用户自定义的单词库只能保存在创建该单词库的终端中,而不能被其它接入方式访问。例如,用户在电脑中自定义一个单词库,包括一些单词及其解释,则用户只能通过该电脑使用该单词库,而不能通过其它电脑或手机等方式使用该单词库。同样地,用户在手机上创建的单词库,也仅能在该手机上使用,在用户更换手机时也无法保留该单词库。
参见图1,为现有技术中终端内单词库应用的相关功能模块示意图,现有终端中的单词库应用模块10主要包括:用户界面模块11,用于向用户提供阅读、增加、删除、修改单词本的界面;持久存储操作模块12:用于向用户界面模块11提供访问单词库的数据库模块13的接口;数据库模块13,用于向持久存储操作模块12提供标准数据库接口以存储单词库数据。现有终端中的数据同步应用模块16主要包括数据同步代理模块14,用于与远程数据同步服务器进行通信,创建和解析数据同步消息。现有技术的终端中,单词本应用模块10不存储对单词本条目修改的日志,并且单词本应用模块10和数据同步应用模块16之间没有交互。
由上述可知,现有技术的不足之处在于:未实现终端之间的单词库的数据同步,因而不能满足用户随时随地通过不同方式访问和使用单词库的需求。
发明内容
本发明的目的是为克服现有技术中未实现终端之间的单词库的数据同步的缺陷,提供一种实现终端间单词库数据同步的方法及终端,能够实现各种终端之间的单词库数据同步,使得用户能够通过灵活多样的接入方式随时随地获取和使用单词库,极大地方便了用户的操作,具有广泛的应用范围。
为实现上述发明目的,本发明提供了一种实现终端间单词库数据同步的终端,包括用于实现单词库应用的单词库应用模块以及用于实现数据同步应用的数据同步应用模块,所述单词库应用模块包括:用户界面模块,用于向用户提供阅读、增加、删除、修改单词本的界面;持久存储操作模块,用于向用户界面模块提供访问单词库的数据库模块的接口;数据库模块,用于向持久存储操作模块提供标准数据库接口以存储或修改单词库数据,所述数据同步应用模块包括数据同步代理模块,用于与远程数据同步服务器进行通信,创建和解析数据同步消息,所述单词库应用模块还包括修改日志模块,与所述持久存储操作模块连接,用于所述持久存储操作模块向所述修改日志模块存储或读取单词库数据的修改日志信息;所述持久存储操作模块还与所述数据同步代理模块连接,用于所述数据同步代理模块通过所述持久存储操作模块读取数据库模块中存储的单词库数据、读取修改日志模块中存储的修改日志信息、以及修改数据库模块中存储的单词库数据。
在上述技术方案中,通过在现有终端中增设用于保存修改日志信息的修改日志模块,并通过增设数据同步代理模块与持久存储操作模块的连接关系,实现根据修改日志模块保存的修改日志信息更新服务器端的相应单词库数据,以及根据服务器端更新的单词库数据修改终端中的单词库数据,因此,基于上述技术方案所提供的终端,能够有效地实现终端间单词本数据的同步,从而大大方便用户的操作。
优选地,为了增强通用性,扩大应用范围,所述数据同步应用模块可为基于同步标记语言(SyncML)协议的数据同步应用模块,用于通过SyncML协议与服务器端同步数据,从而能够利用SyncML协议的通用性,使得基于该协议的终端之间能够方便地同步单词库数据。
优选地,为了进一步增强通用性,所述数据同步应用模块还可包括消息处理模块,与数据同步代理模块连接,用于将数据同步代理模块所读取的单词库数据条目转换为预先定义的可扩展标记语言(XML语言)的格式后发送给服务器端,以及接收服务器端发送的可扩展标记语言数据格式的单词库数据条目,并将该条目转化为预设格式后经由数据同步代理模块传送给数据库模块保存,从而能够有效地利用XML语言的灵活性和通用性,使得使用该语言格式的单词表数据能够有效地被各种终端识别,因此进一步扩大了应用范围,增强了通用性。
为实现上述发明目的,本发明还提供了一种实现终端间单词库数据同步的方法,包括:第一终端读取预先保存的单词库数据的修改日志信息,根据该修改日志信息向服务器端发送单词库修改信息;服务器端根据该单词库修改信息更新本地保存的单词库数据,并在收到第二终端发送的用于请求获得单词表数据的数据包后,向第二终端发送更新后的单词库数据;第二终端根据收到的单词库数据对数据库模块中的数据进行更新。
在上述技术方案中,通过第一终端根据预先保存的修改日志信息向服务器端发送单词库修改信息,服务器端根据该单词库修改信息更新本地保存的单词库数据,从而使得第二终端能够根据服务器端更新的单词库数据,对数据库模块中保存的单词库数据进行同步更新,因此使得不同的终端之间能够同步更新单词库数据,大大方便了用户操作。
优选地,为了进一步增强通用性,扩大应用范围,所述第一终端与服务器端之间、以及服务器端与所述第二终端之间可通过SyncML协议进行数据交互,从而能够利用SyncML协议的通用性,进一步扩大应用范围。
具体而言,在所述第一终端读取预先保存的单词库数据的修改日志信息之前可包括:第一终端通过SyncML协议向服务器端发送同步初始化数据包,用于发起客户端单向同步;服务器端通过SyncML协议向第一终端发送响应同步初始化数据包。所述第一终端读取预先保存的单词库数据的修改日志信息,根据该修改日志信息向服务器端发送单词库修改信息可具体包括:第一终端的数据同步代理模块向持久存储操作模块请求查询修改日志信息;持久存储操作模块读取修改日志模块预先保存的修改日志信息,并传送给数据同步代理模块;数据同步代理模块根据该修改日志信息通过SyncML协议向服务器端发送单词库修改信息。所述服务器端根据该单词库修改信息更新本地保存的单词库数据可具体包括:服务器按照所述单词库修改信息修改本地预先保存的单词库中对应的条目,并通过SyncML协议向第一终端返回执行成功状态消息。在所述服务器端根据该单词库修改信息更新本地保存的单词库数据之后,在所述第二终端向服务器端发送用于请求获得单词表数据的数据包之前,可执行以下操作:第二终端通过SyncML协议向服务器端发送同步初始化数据包,用于发起服务器刷新同步;服务器端通过SyncML协议向第二终端发送响应同步初始化数据包。所述向第二终端发送更新后的单词库数据可具体包括:服务器端通过SyncML协议,按照预设的可扩展标记语言数据格式向第二终端发送更新后的单词库数据以及对应的增加/删除/修改操作。在所述将收到的单词库数据保存在数据库模块中之后还包括以下操作:第二终端的数据同步应用模块通过SyncML协议,向服务器端发送用于反馈同步成功状态信息以及标识映射信息的数据包;服务器端通过SyncML协议向第二终端返回确认消息。
优选地,为了进一步增强通用性,扩大应用范围,在终端与服务器端进行数据交互时可采用XML语言格式,从而可以利用XML语言的灵活性和通用性。具体而言,所述持久存储操作模块读取日志模块预先保存的修改日志信息可具体包括:所述持久存储操作模块读取日志模块预先保存的用于指示增加/删除/修改的数据库条目的修改日志信息。所述数据同步代理模块根据该修改日志信息向服务器端发送单词库修改信息可具体包括:所述数据同步代理模块根据该修改日志信息向持久存储操作模块发送读取对应的所增加/删除/修改的数据库条目的请求;持久存储操作模块读取数据库模块中对应的条目并传送给数据同步代理模块;数据同步代理模块将该条目及对应的增加/删除/修改指令转换为预设的可扩展标记语言(XML语言)数据格式的单词库修改信息后通过SyncML协议发送给服务器端。所述预设的可扩展标记语言数据格式可包括单词的元信息以及单词信息,所述单词的元信息包括单词语种、解释语种、以及创建者,所述单词信息包括创建时间、单词、以及解释。所述预设的可扩展标记语言数据格式还可包括用户信息,所述用户信息包括用户对单词的陌生度信息以及用于指示该单词是否为用户上次最后浏览的单词的信息。
综上所述,本发明通过在现有终端中预先保存修改日志信息,并根据修改日志信息向服务器端上报对应的单词库数据,从而使得服务器端能够及时更新本地保存的单词库数据,并通过服务器端向请求数据同步的其它终端发送更新后的单词库数据,从而能够达到实现不同终端间单词库数据的同步、大大方便用户操作、以及具有广泛的应用范围的有益技术效果。
附图说明
图1为现有终端的结构示意图;
图2为本发明实现终端间单词库数据同步的终端的实施例一的结构示意图;
图3为SyncML协议同步过程的流程示意图;
图4为SyncML服务器与SyncML终端中数据列表及标识ID映射表的示意图;
图5为本发明实现终端间单词库数据同步的终端的实施例二的结构示意图;
图6为本发明实现终端间单词库数据同步的方法的实施例一的流程示意图;
图7为本发明实现终端间单词库数据同步的方法的实施例二的流程示意图;
图8为本发明实现终端间单词库数据同步的方法的实施例三的流程示意图;
图9为本发明实现终端间单词库数据同步的方法的实施例四的流程示意图。
具体实施方式
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明的基本构思为:针对现有技术中未实现终端间单词库数据同步的缺陷,通过在终端中增设用于保存修改日志信息的修改日志模块,并增设持久存储操作模块与数据同步代理模块间的连接关系,从而使得终端能够根据预先保存的修改日志信息获取数据库模块中对应的单词库数据,并经由数据同步代理模块发送给服务器端,服务器端根据收到的单词库数据更新本地保存的单词库数据后,其它终端能够通过数据同步代理模块从服务器端获取更新后的单词库数据并根据该数据对本地保存的单词库数据进行同步更新,从而实现不同终端间单词库数据的同步,大大方便了用户操作,具有广泛的应用范围。
进一步地,通过终端与服务器端之间基于通用的SyncML协议进行数据交互,以及通过终端与服务器之间交互的单词库数据采用通用的XML语言格式,从而进一步提高通用性,能够适用于各种终端间的单词本数据同步,具有广泛的应用范围。
基于上述发明构思,本发明提供了一种实现终端单词库数据同步的终端,参见图2所示的实施例一的结构示意图,该终端包括单词库应用模块10和数据同步应用模块16,单词库应用模块10包括:用户界面模块11,用于向用户提供阅读、增加、删除、修改单词本的界面;持久存储操作模块12:用于向用户界面模块11提供访问单词库的数据库模块13的接口;数据库模块13,用于向持久存储操作模块12提供标准数据库接口以存储单词库数据;修改日志模块15,与持久存储操作模块12连接,用于持久存储操作模块12向修改日志模块15存储或读取单词库数据的修改日志信息,数据同步应用模块16包括数据同步代理模块14,用于与远程数据同步服务器进行通信,创建和解析数据同步消息,持久存储操作模块12还与数据同步代理模块16连接,用于数据同步代理模块16通过持久存储操作模块12读取或修改数据库模块13中存储的单词库数据、以及读取修改日志模块15中存储的修改日志信息。
在本实施例一中,通过在现有终端中增设用于保存修改日志信息的修改日志模块,并通过增设数据同步代理模块与持久存储操作模块的连接关系,实现根据修改日志模块保存的修改日志信息更新服务器端的相应单词库数据,以及根据服务器端更新的单词库数据修改终端中的单词库数据,因此本实施例一提供的终端能够有效地实现终端间单词本数据的同步,从而大大方便用户的操作。
进一步地,为了增强通用性,扩大应用范围,数据同步应用模块16可为基于同步标记语言(SyncML)协议的数据同步应用模块,用于通过SyncML协议与服务器端同步数据,从而能够利用SyncML协议的通用性,使得基于该协议的终端之间能够方便地同步单词库数据。下面对SyncML协议作简要说明,以有助于理解本发明的技术方案。
通用同步协议的目标是普遍适用,同步两端可以是在任一种网络上面的任何一种类型的网络设备,同步操作的数据可以是任何一种网络数据。其中所述的任一种移动设备包括掌上电脑、PDA、移动电话、自动计算机和桌面计算机。同时一个用户可以通过不同的设备访问、操作同样的数据集合。同步标记语言(Synchronization Markup Language,简称SyncML)就是为了实现这个目标而应运而生的一个新的通用标准,它由IBM、Lotus、Motorola、Nokia、Palm Inc等商家组织发起成立数据同步论坛组织——SyncML发起组制定的,该协议将会发展成为一个可以被用户广泛接受的业界通用的同步协议。自2000年12月SyncML 1.0发布以来,已经有近700家的全球的公司宣布支持该协议。
SyncML同步协议是一套协议集,它主要包括4个部分:SyncML数据同步协议的框架结构、SyncML同步协议、SyncML表示协议、SyncML的传输方式。SyncML同步协议主要定义数据同步操作的会话过程中的数据流程,同步双方的握手过程,数据同步操作的类型等等;SyncML表示协议主要涉及同步所支持的数据类型、命令格式,能够在各种网络传输的SyncML消息格式;SyncML消息可以在任何一种有线和无线的网络连接上传输,在SyncML协议的传输绑定中定义了可以在基于HTTP(Hyper-Text Transfer Protocol,超文本传输协议),WSP(Wireless Session Portocol,无线会话协议),OBEX(Object ExchangeProtocol,对象交换协议)三种协议的网络连接上传输SyncML包和消息,这三种传输协议基本上含盖了所有的远程和短程连接。
在SyncML同步协议中定义了在SyncML客户端和SyncML服务器之间消息的交互过程,同时定义的数据同步类型包括双向同步,客户端发起单向同步,服务器端发起单向同步及慢同步、服务器通告同步等。图3为SyncML客户端和服务器同步时的消息交互示意图,SyncML客户端发送包含客户数据修改信息的SyncML消息给SyncML服务器,服务器根据SyncML消息中的数据同步服务器中存储的数据,把修改结果信息回应给SyncML客户端。其中,SyncML客户端是指包含了同步客户代理并首先把其修改信息发给服务器的设备,而且客户端必须能接收来自SyncML服务器端的应答消息。尽管总是SyncML客户端先发送修改信息,但在某种情况下,服务器端也要能发起同步过程。SyncML客户端通常可以是手机、PC或PDA设备。SyncML服务器是指包含了同步服务代理和同步引攀的设备,通常要等待SyncML客户端发起同步过程并把客户修改信息发送到服务器。服务器负责接收客户端的修改信息并进行同步分析。如果在传输层支持服务器端的命令,SyncML服务器也可以主动发起同步过程。一般服务器设备或PC都可以成为SyncML服务器。
如图3所示,一次SyncML同步过程通常需要六个数据包(Package,简称PKG)来完成,即从PKG1到PKG6,无论某次同步过程由哪方发起,客户端都会首先向服务器发送同步初始化包(PKG1),在PKG1中主要包含客户端鉴权信息、设备能力等。服务器收到PKG1后,会验证客户端帐号信息,同时把验证结果返回给客户端(PKG2)。通过分析PKG2中指定的同步类型,客户端会把本地数据库中自上次同步完成之后发生过变更的所有数据(包括增加、删除、修改的数据)封装到PKG3中发送给服务器(在本地数据库的操作日志中通常通过日志ID来标识出上次同步完成后日志所处的位置,通常采用”anchor”术语来表示该位置,这样下次进行同步时需要同步给服务器的数据就是anchor之后的日志中所记载的信息)。服务器收到PKG3后,执行其中的各种操作指令将数据更新到对应数据库中。在将指令执行状态返回给客户端的同时,服务器也会把本身数据库中自上次同步完成之后发生过变更的所有数据(包括增加、删除、修改的数据)封装到PKG4中返回给客户端。客户端接受到PKG4后,执行其中的各种操作指令将数据更新到本地数据库中。在将指令执行状态返回给服务器的同时,如果PKG4中包含向本地数据库中增加数据条目的指令,则客户端在成功向本地添加新的数据后,还需要生成相应的标识(ID)映射信息通过PKG5通知服务器(由于服务器的数据库容量很大,因而其中某条数据对应的唯一标识(ID)和客户端数据库中某条数据对应的唯一标识是不一样的。为了能够将双方要操作的同一数据条目对应起来,在服务器端还会维护一个ID映射表,如图4所示,其中GUID为服务器数据库中某条数据对应的唯一标识ID,LUID为终端的数据库中某条数据对应的唯一标识ID。服务器在将PKG5中包含的ID映射信息维护到映射表之后,会返回PKG6告知客户端维护指令的执行状态;客户端收到PKG6后,如果其中状态码全部正常,则此次同步成功结束。
参见图5所示的本发明实现终端间单词库数据同步的方法的实施例二的结构示意图,为了进一步增强通用性,数据同步应用模块16还可包括消息处理模块17,与数据同步代理模块14连接,用于将数据同步代理模块14所读取的单词库数据条目转换为预先定义的可扩展标记语言(XML语言)的格式后发送给服务器端,以及接收服务器端发送的可扩展标记语言数据格式的单词库数据条目,并将该条目转化为预设格式后经由数据同步代理模块14传送给数据库模块13保存,从而能够有效地利用XML语言的灵活性和通用性,使得使用该语言格式的单词表数据能够有效地被各种终端识别,因此进一步扩大了应用范围,增强了通用性。
下面对XML语言作简要说明,以有助于理解本发明的技术方案。
可扩展标记语言(Extensible Markup Language,简称XML)是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。XML语言不只是像超文本标记语言(Hypertext MarkupLanguage,简称HTML)或是格式化的程序,后者定义了一套固定的标记,用来描述一定数目的元素,如果标记语言中没有所需的标记就无法处理,只能等待标记语言的新版本中能够包括所需的标记,但这样就依赖于软件开发商的选择。而XML语言则是一种元标记语言。用户可以定义自己需要的标记。这些标记必须根据某些通用的原理来创建,但是在标记的意义上具有相当的灵活性。例如,假如用户正在处理与家谱有关的事情,需要描述人的出生、死亡、埋葬地、家庭、结婚、离婚等,这就必须创建用于每项的标记。新创建的标记可在文档类型定义(Document Type Definition,简称为DTD)中加以描述。DTD为文档结构制定了一套规则,一项文档类型定义应规定元素清单、属性、标记、文档中的实体及其相互关系。DTD可以包括在包含它描述的文档的文件中,或者与外部的URL相链接。这些外部DTD可以被不同文档和网站所共享。DTD为应用程序、组织和兴趣组提供了共同遵循的方法,同时也以文档形式阐述了标记标准并强制遵守此标准。DTD有助于不同的人们和程序互相阅读文件。例如,如果化学家们通过专业机构(如美国化学协会)为中介同意将单一的DTD用于基本的化学记号,那么他们就能够阅读和理解他们当中任何人的文章。DTD精确地定义了什么允许或不允许在文档中出现。DTD还为查看和编辑软件必须支持的元素建立了标准。由上述可知,由于XML语言的灵活性和通用性,使得终端间采用XML语言格式传送的单词库数据能够为各种类型的终端所识别和使用,从而具有广泛的应用范围。
基于上述发明构思,本发明还提供了一种实现终端间单词库数据同步的方法,参见图6所示的实施例一的流程示意图,在步骤101中,第一终端读取预先保存的单词库数据的修改日志信息,根据该修改日志信息向服务器端发送单词库修改信息;然后在步骤102中,服务器端根据该单词库修改信息更新本地保存的单词库数据,并在收到第二终端发送的用于请求获得单词表数据的数据包后,向第二终端发送更新后的单词库数据;继而在步骤103中,第二终端根据收到的单词库数据对数据库模块中的数据进行更新。
在本实施例一中,通过第一终端根据预先保存的修改日志信息向服务器端发送单词库修改信息,服务器端根据该单词库修改信息更新本地保存的单词库数据,从而使得第二终端能够根据服务器端更新的单词库数据,对数据库模块中保存的单词库数据进行同步更新,因此使得不同的终端之间能够同步更新单词库数据,大大方便了用户操作。
为了进一步增强通用性,扩大应用范围,所述第一终端与服务器端之间、以及服务器端与所述第二终端之间可通过SyncML协议进行数据交互,从而能够利用SyncML协议的通用性而获得广泛的应用范围。
例如,参见图7,在本发明实现终端间单词库数据同步的方法的实施例二中,与上述实施例一的区别在于:在步骤101之前可基于SyncML协议执行以下步骤:在步骤100a中,第一终端通过SyncML协议向服务器端发送同步初始化数据包(PKG1),用于发起客户端单向同步;然后在步骤100b中,服务器端通过SyncML协议向第一终端发送响应同步初始化数据包(PKG2)。此外,本实施例二进一步提供了终端内部的操作流程,即步骤101可具体包括以下步骤:在步骤101a中,第一终端的数据同步代理模块向持久存储操作模块请求查询修改日志信息;然后在步骤101b中,持久存储操作模块读取修改日志模块预先保存的修改日志信息,并传送给数据同步代理模块;继而在步骤101c中,数据同步代理模块根据该修改日志信息通过SyncML协议向服务器端发送单词库修改信息。
此外,在终端与服务器端进行数据交互时可采用XML语言格式,从而可以利用XML语言的灵活性和通用性,使得使用该语言格式的单词表数据能够有效地被各种终端识别,因此进一步扩大了应用范围,增强了通用性。
例如,参见图8,在本发明实现终端间单词库数据同步的方法的实施例三中,与上述实施例二的区别在于:步骤101b具体包括步骤101b′:持久存储操作模块读取日志模块预先保存的用于指示增加/删除/修改的数据库条目的修改日志信息;步骤101c具体包括以下步骤:在步骤101c1中,数据同步代理模块根据该修改日志信息向持久存储操作模块发送读取对应的所增加/删除/修改的数据库条目的请求;在步骤101c2中,持久存储操作模块读取数据库模块中对应的条目并传送给数据同步代理模块;然后在步骤101c3中,数据同步代理模块将该条目及对应的增加/删除/修改指令转换为预设的可扩展标记语言数据格式的单词库修改信息后通过SyncML协议发送给服务器端。
例如,终端与服务器端进行数据交互时采用的XML语言格式可通过向IETF组织(The Internet Engineering Task Force)申请注册一种内容格式(Contenttype),作为在网络传输时的标识,发送方使用该标识说明发送内容的数据格式,接收方根据该标识识别出接收内容的数据格式,并进行相应的处理。该单词库数据格式的特征可包括:
1)采用文本方式在网络上传输,使用XML语言作为表示语言;
2)该数据格式包括以下内容:
单词的元信息:包括单词语种、解释语种、创建者等;
单词信息:包括创建时间、单词、解释等;
与用户相关的信息:包括用户对该单词的陌生度、该单词是否是用户上次最后浏览的单词等。
下面使用通用的XML描述方式DTD(Document Type Definition)对本发明制定的单词数据格式作举例说明:
<?xml version="1.0"encoding="UTF-8"?>
<!-根元素-->
<!ELEMENT Word(s-lang?,t-lang?,creator?,created?,worditem,explanation,s-level?,last?)>
<!-:描述单词的语种.-->
<!ELEMENT s-lang(#PCDATA)>
<!-:描述单词解释的语种.-->
<!ELEMENT t-lang(#PCDATA)>
<!-:描述单词的创建者.-->
<!ELEMENT creator(#PCDATA)>
<!-:描述单词的创建时间.-->
<!ELEMENT created(#PCDATA)>
<!-:描述需要翻译的单词.-->
<!ELEMENT worditem(#PCDATA)>
<!-:描述单词的解释.-->
<!ELEMENT explanation(#PCDATA)>
<!-:描述用户对该单词的陌生度.-->
<!ELEMENT s-level(#PCDATA)>
<!-:描述该单词是否是用户上次最后浏览的单词.-->
<!ELEMENT last EMPTY>
在本发明实现终端间单词库数据同步的方法的实施例四中,充分利用了SyncML协议以及XML语言格式,并充分提供了终端内部的操作流程。参见图9,首先在步骤100a中,第一终端通过SyncML协议向服务器端发送同步初始化数据包(PKG1),用于发起客户端单向同步;然后在步骤100b中,服务器端通过SyncML协议向第一终端发送响应同步初始化数据包(PKG2);继而在步骤101a中,第一终端的数据同步代理模块向持久存储操作模块请求查询修改日志信息;然后在步骤101b′中,持久存储操作模块读取日志模块预先保存的用于指示增加/删除/修改的数据库条目的修改日志信息;随后在步骤101c1中,数据同步代理模块根据该修改日志信息向持久存储操作模块发送读取对应的所增加/删除/修改的数据库条目的请求;在步骤101c2中,持久存储操作模块读取数据库模块中对应的条目并传送给数据同步代理模块;然后在步骤101c3中,数据同步代理模块将该条目及对应的增加/删除/修改指令转换为预设的可扩展标记语言数据格式的单词库修改信息后通过SyncML协议发送给服务器端;随后在步骤102中,服务器按照所述单词库修改信息修改本地预先保存的单词库中对应的条目,并通过SyncML协议向第一终端返回执行成功状态消息;然后在步骤103a中,服务器端通过SyncML协议,按照预设的可扩展标记语言数据格式向第二终端发送更新后的单词库数据以及对应的增加/删除/修改操作;继而在步骤103b中,第二终端的数据同步代理模块向持久存储操作模块转送服务器端发送的增加/删除/修改命令,持久存储操作模块收到命令后对接收到的单词库数据分条目地执行对应的增加/删除/修改操作,并为每个增加的条目生成本地标识;随后在步骤104中,第二终端的数据同步应用模块通过SyncML协议,向服务器端发送用于反馈同步成功状态信息以及标识映射信息的数据包;最后在步骤105中,服务器端通过SyncML协议向第二终端返回确认消息。
以上实施例仅用以说明本发明的技术方案,而非对本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和范围。
Claims (13)
1、一种实现终端间单词库数据同步的终端,包括单词库应用模块以及数据同步应用模块,所述单词库应用模块包括用户界面模块、持久存储操作模块、以及数据库模块,所述数据同步应用模块包括数据同步代理模块,其特征在于:
所述单词库应用模块还包括修改日志模块,与所述持久存储操作模块连接,用于所述持久存储操作模块向所述修改日志模块存储或读取单词库数据的修改日志信息;
所述持久存储操作模块还与所述数据同步代理模块连接,用于所述数据同步代理模块通过所述持久存储操作模块读取或修改数据库模块中存储的单词库数据、以及读取修改日志模块中存储的修改日志信息。
2、根据权利要求1所述的终端,其特征在于:所述数据同步应用模块为基于SyncML协议的数据同步应用模块,用于通过SyncML协议与服务器端同步数据。
3、根据权利要求1或2所述的终端,其特征在于:所述数据同步应用模块还包括消息处理模块,与数据同步代理模块连接,用于将数据同步代理模块所读取的单词库数据条目转换为预先定义的可扩展标记语言的格式后发送给服务器端,以及接收服务器端发送的可扩展标记语言数据格式的单词库数据条目,并将该条目转化为预设格式后经由数据同步代理模块传送给数据库模块保存。
4、一种实现终端间单词库数据同步的方法,其特征在于,包括:
第一终端读取预先保存的单词库数据的修改日志信息,根据该修改日志信息向服务器端发送单词库修改信息;
服务器端根据该单词库修改信息更新本地保存的单词库数据,并在收到第二终端发送的用于请求获得单词表数据的数据包后,向第二终端发送更新后的单词库数据;
第二终端根据收到的单词库数据对数据库模块中的数据进行更新。
5、根据权利要求4所述的方法,其特征在于,在所述第一终端读取预先保存的单词库数据的修改日志信息之前包括:
第一终端通过SyncML协议向服务器端发送同步初始化数据包,用于发起客户端单向同步;
服务器端通过SyncML协议向第一终端发送响应同步初始化数据包。
6、根据权利要求5所述的方法,其特征在于,所述第一终端读取预先保存的单词库数据的修改日志信息,根据该修改日志信息向服务器端发送单词库修改信息具体包括:
第一终端的数据同步代理模块向持久存储操作模块请求查询修改日志信息;
持久存储操作模块读取修改日志模块预先保存的修改日志信息,并传送给数据同步代理模块;
数据同步代理模块根据该修改日志信息通过SyncML协议向服务器端发送单词库修改信息。
7、根据权利要求6所述的方法,其特征在于:
所述持久存储操作模块读取日志模块预先保存的修改日志信息具体包括:所述持久存储操作模块读取日志模块预先保存的用于指示增加/删除/修改的数据库条目的修改日志信息;
所述数据同步代理模块根据该修改日志信息向服务器端发送单词库修改信息具体包括:所述数据同步代理模块根据该修改日志信息向持久存储操作模块发送读取对应的所增加/删除/修改的数据库条目的请求;持久存储操作模块读取数据库模块中对应的条目并传送给数据同步代理模块;数据同步代理模块将该条目及对应的增加/删除/修改指令转换为预设的可扩展标记语言数据格式的单词库修改信息后通过SyncML协议发送给服务器端。
8、根据权利要求7所述的方法,其特征在于:所述预设的可扩展标记语言数据格式包括单词的元信息以及单词信息,所述单词的元信息包括单词语种、解释语种、以及创建者,所述单词信息包括创建时间、单词、以及解释。
9、根据权利要求8所述的方法,其特征在于:所述预设的可扩展标记语言数据格式还包括用户信息,所述用户信息包括用户对单词的陌生度信息以及用于指示该单词是否为用户上次最后浏览的单词的信息。
10、根据权利要求4-9任一所述的方法,其特征在于,所述服务器端根据该单词库修改信息更新本地保存的单词库数据具体包括:服务器按照所述单词库修改信息修改本地预先保存的单词库中对应的条目,并通过SyncML协议向第一终端返回执行成功状态消息。
11、根据权利要求10所述的方法,其特征在于,在所述服务器端根据该单词库修改信息更新本地保存的单词库数据之后,在所述第二终端向服务器端发送用于请求获得单词表数据的数据包之前,执行以下操作:
第二终端通过SyncML协议向服务器端发送同步初始化数据包,用于发起服务器刷新同步;
服务器端通过SyncML协议向第二终端发送响应同步初始化数据包。
12、根据权利要求11所述的方法,其特征在于:
所述向第二终端发送更新后的单词库数据具体包括:服务器端通过SyncML协议,按照预设的可扩展标记语言数据格式向第二终端发送更新后的单词库数据以及对应的增加/删除/修改操作;
所述根据收到的单词库数据对数据库模块中的数据进行更新具体包括:第二终端的数据同步代理模块向持久存储操作模块转送服务器端发送的增加/删除/修改命令,持久存储操作模块收到命令后对接收到的单词库数据分条目地执行对应的增加/删除/修改操作,并为每个增加的条目生成本地标识。
13、根据权利要求12所述的方法,其特征在于,在所述将收到的单词库数据保存在数据库模块中之后还包括以下操作:
第二终端的数据同步应用模块通过SyncML协议,向服务器端发送用于反馈同步成功状态信息以及标识映射信息的数据包;
服务器端通过SyncML协议向第二终端返回确认消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610145773 CN1968281A (zh) | 2006-11-21 | 2006-11-21 | 实现终端间单词库数据同步的方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610145773 CN1968281A (zh) | 2006-11-21 | 2006-11-21 | 实现终端间单词库数据同步的方法及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1968281A true CN1968281A (zh) | 2007-05-23 |
Family
ID=38076816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610145773 Pending CN1968281A (zh) | 2006-11-21 | 2006-11-21 | 实现终端间单词库数据同步的方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1968281A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010028529A1 (zh) * | 2008-09-09 | 2010-03-18 | 中兴通讯股份有限公司 | 数据同步中的修改日志维护方法和装置 |
CN101789991A (zh) * | 2009-12-30 | 2010-07-28 | 中兴通讯股份有限公司 | 获取变更数据信息的方法、装置及移动终端 |
CN103825918A (zh) * | 2012-11-16 | 2014-05-28 | 腾讯科技(深圳)有限公司 | 数据同步方法、终端设备、服务器和系统 |
CN104239476A (zh) * | 2014-09-04 | 2014-12-24 | 上海天脉聚源文化传媒有限公司 | 一种数据库同步的方法、装置及系统 |
CN104376017A (zh) * | 2013-08-15 | 2015-02-25 | 阿里巴巴集团控股有限公司 | 在数据库之间进行数据同步的方法及系统 |
CN104885071A (zh) * | 2012-10-17 | 2015-09-02 | 纽昂斯通信有限公司 | 多设备智能语言模型同步 |
CN104967658A (zh) * | 2015-05-08 | 2015-10-07 | 成都品果科技有限公司 | 一种多终端设备上的数据同步方法 |
CN111506741A (zh) * | 2020-04-14 | 2020-08-07 | 天津洪恩完美未来教育科技有限公司 | 单词信息的关联方法及装置、系统、存储介质、电子装置 |
-
2006
- 2006-11-21 CN CN 200610145773 patent/CN1968281A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010028529A1 (zh) * | 2008-09-09 | 2010-03-18 | 中兴通讯股份有限公司 | 数据同步中的修改日志维护方法和装置 |
CN101789991A (zh) * | 2009-12-30 | 2010-07-28 | 中兴通讯股份有限公司 | 获取变更数据信息的方法、装置及移动终端 |
WO2011079575A1 (zh) * | 2009-12-30 | 2011-07-07 | 中兴通讯股份有限公司 | 一种获取变更数据信息的方法、装置及移动终端 |
CN104885071A (zh) * | 2012-10-17 | 2015-09-02 | 纽昂斯通信有限公司 | 多设备智能语言模型同步 |
CN104885071B (zh) * | 2012-10-17 | 2019-05-28 | 纽昂斯通信有限公司 | 多设备智能语言模型同步 |
CN103825918A (zh) * | 2012-11-16 | 2014-05-28 | 腾讯科技(深圳)有限公司 | 数据同步方法、终端设备、服务器和系统 |
CN103825918B (zh) * | 2012-11-16 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 数据同步方法、终端设备、服务器和系统 |
CN104376017A (zh) * | 2013-08-15 | 2015-02-25 | 阿里巴巴集团控股有限公司 | 在数据库之间进行数据同步的方法及系统 |
CN104376017B (zh) * | 2013-08-15 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 在数据库之间进行数据同步的方法及系统 |
CN104239476A (zh) * | 2014-09-04 | 2014-12-24 | 上海天脉聚源文化传媒有限公司 | 一种数据库同步的方法、装置及系统 |
CN104967658A (zh) * | 2015-05-08 | 2015-10-07 | 成都品果科技有限公司 | 一种多终端设备上的数据同步方法 |
CN111506741A (zh) * | 2020-04-14 | 2020-08-07 | 天津洪恩完美未来教育科技有限公司 | 单词信息的关联方法及装置、系统、存储介质、电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4405812B2 (ja) | 第1データ記憶部と第2データ記憶部との間で同期を取るための方法および装置 | |
CN1968281A (zh) | 实现终端间单词库数据同步的方法及终端 | |
CA2368089C (en) | Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients | |
CN100589400C (zh) | 用于管理树状数据交换的方法和设备 | |
FI114750B (fi) | Datan synkronoiminen | |
US20020032775A1 (en) | System and method for transmitting and retrieving data via a distributed persistence framework | |
US20040128616A1 (en) | System and method for providing a runtime environment for active web based document resources | |
EP2151093A1 (en) | Method and system for transcoding web pages | |
US20040054652A1 (en) | Data filtering for adapting data delivery to diverse client devices | |
TW200521748A (en) | Transport and administration model for offline browsing | |
JP2001522074A (ja) | 通信システム及び方法 | |
CN1152515C (zh) | 基于策略的网络管理系统 | |
CN101277472A (zh) | 博客内容的同步方法、设备和系统 | |
CN1852160A (zh) | 一种数据慢同步的实现方法及系统 | |
US20050091340A1 (en) | Processing interactive content offline | |
JP2013229042A (ja) | 装置へのコンテンツの分配を管理するシステムと方法 | |
CN1211746C (zh) | 嵌入式系统与外部数据库进行数据交换的方法 | |
CN101072240A (zh) | 基于wap浏览器的用户操作实现方法、系统和服务器 | |
CN101567899B (zh) | 一种管理终端本地化网络服务的方法、装置及系统 | |
Coyle | Mobile computing, web services and the semantic web: opportunities for m-commerce | |
JP2002024078A (ja) | イメージファイル管理サーバ | |
JP2005148823A (ja) | Webサービス検索システム | |
Tanaka et al. | Meme Media Technologies for the ad hoc Federation of Intellectual Resources over the Web | |
WO2004079485A2 (en) | Improvements in internet site architecture | |
Qi et al. | Product Data Sharing and Integration Technology in Network Supported Collaborative Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070523 |