CN1681248A - 服务器与客户端间传送用于数据同步的数据的方法与*** - Google Patents
服务器与客户端间传送用于数据同步的数据的方法与*** Download PDFInfo
- Publication number
- CN1681248A CN1681248A CNA2005100516162A CN200510051616A CN1681248A CN 1681248 A CN1681248 A CN 1681248A CN A2005100516162 A CNA2005100516162 A CN A2005100516162A CN 200510051616 A CN200510051616 A CN 200510051616A CN 1681248 A CN1681248 A CN 1681248A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- server
- item
- synchronization
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06C—LADDERS
- E06C9/00—Ladders characterised by being permanently attached to fixed structures, e.g. fire escapes
- E06C9/02—Ladders characterised by being permanently attached to fixed structures, e.g. fire escapes rigidly mounted
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06C—LADDERS
- E06C7/00—Component parts, supporting parts, or accessories
- E06C7/08—Special construction of longitudinal members, or rungs or other treads
- E06C7/081—Rungs or other treads comprising anti-slip features
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F21—LIGHTING
- F21V—FUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
- F21V33/00—Structural combinations of lighting devices with other articles, not otherwise provided for
- F21V33/006—General building constructions or finishing work for buildings, e.g. roofs, gutters, stairs or floors; Garden equipment; Sunshades or parasols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B3/00—Ohmic-resistance heating
- H05B3/40—Heating elements having the shape of rods or tubes
- H05B3/54—Heating elements having the shape of rods or tubes flexible
- H05B3/56—Heating cables
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06C—LADDERS
- E06C7/00—Component parts, supporting parts, or accessories
- E06C7/003—Indicating devices, e.g. user warnings or inclinators
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Mechanical Engineering (AREA)
- Civil Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Structural Engineering (AREA)
- Architecture (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
Abstract
公开了一种用于服务器与客户端之间数据同步的传送数据的方法。如果在网络中数据同步会话被非正常终止,则客户端存储待传送的数据的状态信息,该信息指示在非正常终止时的数据的状态。数据的状态信息使之可以从在非正常终止时正在传送的数据项开始继续数据传送。因为服务器与客户端之一只传送服务器与客户端中另一个还未收到的数据,所以就可能减少完成数据同步所需的时间以及减少当进行大量数据同步时的浪费的不必要处理。
Description
技术领域
本发明涉及一种在服务器与客户端之间同步数据的方法,更具体地讲,涉及一种在服务器与客户端之间同步数据的方法,其中如果由于内部或外部因素而非正常终止在服务器与客户端之间待同步的数据传送,则可以从在非正常终止时正在传送的数据项开始继续数据传送。
背景技术
移动终端的用户一般在其移动终端中存储并使用各种个人信息,例如地址薄与日程安排。此类信息存储在移动终端中,并且还在分离的数据存储服务器中存储与管理,以使在以后当由于丢失或替换原来终端用户使用新的移动终端时允许终端用户在新的移动终端中存储并使用相同的信息。为了使在移动终端中存储的信息与在数据存储服务器中存储的数据同步,当在服务器或终端中存储的数据改变时必须进行终端与服务器之间的数据同步。
移动终端与数据存储服务器之间的数据同步一般应移动终端用户的请求启动。将参照图1描述如何进行移动终端与数据存储服务器之间的数据同步。图1为显示服务器110与客户端100之间同步数据的现有方法处理流程图。在图1中,服务器110为存储上述数据的SyncML(同步标记语言)服务器,而客户端100为作为SyncML客户端的移动终端。
通过以下方式进行现有的数据同步,如图1所示。首先,客户端100请求来自服务器110的同步,由此启动同步会话。响应于该请求,服务器110执行验证处理以确定是否允许客户端100访问服务器110。如果完成验证,在步骤120客户端100向服务器110发送SyncML消息(即客户端修改的数据),其包含客户端100中待同步的同步目标数据(即前次同步之后修改的数据)。在SyncML消息中也包含并承载了待传送的数据项总数的信息。
在收到SyncML消息之后,服务器110分析待确定的对客户端100中数据进行了哪些修改并且需要在服务器110中的数据中更新的数据,并且进行数据同步以在其间同步数据。例如,根据数据同步的需求,服务器110对数据进行修改、更新、或者删除。在数据同步之后,在步骤130服务器110返回给客户端100 SyncML响应消息(即服务器修改的数据),其包含有关在服务器中修改的数据的信息。与修改的数据一道,服务器中修改的数据项总数也被传送给客户端100。根据需要,客户端100向服务器110传送Map(映射)操作,以将服务器ID映射到客户端ID。如果服务器110收到Map操作,则其向客户端100传送其处理结果。
虽然上面描述了数据同步的正常操作步骤120与130,但是由于无线网络中的业务流量或者其他外部因素,同步会话可能非正常终止。以下将参照图2描述在同步会话非正常终止之后的现有的数据同步方法。图2为显示当服务器与客户端之间同步会话非正常终止时的现有数据同步方法的处理流程图。
首先,响应于来自客户端100的同步请求,在步骤200,服务器110执行验证处理以确定是否允许客户端100访问服务器110。然后,在步骤210,服务器110请求客户端100传送在客户端100中存储的所有数据,即使先前同步会话非正常终止也一样。
响应于该请求,在步骤220,客户端100向服务器110传送数据(所有数据或者修改的数据)。传送给服务器110的数据包含已经传送的数据,未传送的数据,以及已经同步的数据。响应于从客户端100收到的客户端修改的数据,在步骤230,服务器110向客户端100返回对所接收的客户端修改的数据以及服务器修改的数据的处理结果,其包含在服务器100中修改的数据的信息。
现有的同步方法一般称为“慢同步”,其中在客户端100中存储的所有数据都被传送给服务器110,以进行客户端100与服务器110之间的同步。由于不同原因而进行慢同步,例如服务器110或客户端100中变化日志丢失或者网络过载。具体地,按照以下方式进行慢同步。当客户端100向服务器110传送其所有数据时,服务器110逐字段地比较其数据与从客户端100收到的数据,并且将服务器110中数据修改的信息传送回客户端100。根据从服务器110收到的信息,客户端100与服务器110同步数据。
如上所述,在现有同步方法中,如果在服务器110与客户端100之间的数据同步处理的过程中同步会话非正常终止,则必须通过在其间交换所有数据,完整地再次执行慢同步。
由于当同步会话非正常终止时需要再次传送所有数据,所以慢同步具有缓慢的处理速度。另外,如果经常发生慢同步,则其会造成服务器与客户端之间的同步延迟。
即使由于外部因素(例如网络过载)而非正常终止只传送修改数据以及所有数据的同步会话,也必须在以后进一步的同步处理中再次传送所有数据,该数据包含已经在先前同步处理中在客户端与服务器之间同步的数据。这延长了服务器与客户端之间的同步时间,并且还要求不必要的处理,从而引起额外的网络过载。
发明内容
因此,本发明在于解决至少上述问题,并且本发明的目的在于提供一种服务器与客户端同步的方法,其中,如果同步会话被非正常终止,则在进一步同步处理中,只传送还未在服务器与客户端之间同步的数据。
根据本发明的一个方面,以上以及其他目的可以通过以下实现:提供一种当数据同步被非正常终止时继续服务器与客户端之间数据同步的方法,该方法包含以下步骤:如果当客户端正在向服务器传送数据时数据同步被非正常终止,则在客户端中存储指示在数据同步被非正常终止时的数据的状态的、数据的状态信息之后,由客户端终止数据同步会话;当在数据同步会话被终止之后客户端试图重新执行数据同步时,由客户端通知服务器所继续的同步会话;通过使用数据的状态信息,从在非正常终止时正在向服务器传送的数据项开始,继续来自客户端的数据的传送;以及使用从客户端收到的数据,更新先前存储在服务器中的数据。
根据本发明的一个方面,提供了一种当数据同步被非正常终止时继续服务器与客户端之间数据同步的***,该***包含:客户端,用来:如果数据同步被非正常终止,则在存储数据的状态信息之后终止数据同步会话,所述数据的状态信息指示在数据同步被非正常终止时的数据的状态,并且当在数据同步会话被终止之后客户端试图重新执行数据同步时,通知服务器所继续的同步会话;服务器,用来:当客户端试图重新执行数据同步时,向客户端发送以及从容户端接收有关于同步数据的信息,其中根据数据的状态信息,客户端确定待传送的数据,并且从在非正常终止时正在传送的数据项开始,继续向服务器发送数据。
附图说明
本发明的以上以及其他目的、特征与其他优点将通过以下参照附图的详细描述中变得更加明显,其中:
图1为显示服务器与客户端之间同步数据的现有方法处理流程图;
图2为显示当服务器与客户端之间同步会话非正常终止时的现有数据同步方法的处理流程图;
图3为显示根据本发明实施方式的、当用于同步的先前的数据传送失败时继续接收用于客户端与服务器之间同步的数据的方法的信号流程图;
图4A为显示根据本发明一种实施方式的、从客户端至服务器的数据传送非正常终止的例子的信号流程图;
图4B为显示在图4A的例子中用于继续数据接收的程序的信号流程图;
图5A为显示根据本发明另一实施方式的、响应于来自客户端的数据传送的、从服务器到客户端传送响应消息的非正常终止的信号流程图;
图5B为显示在图5A的例子中用于继续数据接收的程序的信号流程图。
具体实施方式
现在将参照附图描述本发明的优选实施方式。在附图中,即使在不同的图中相同的部件也具有相同标号。在以下描述中,当可能使本发明主题不清晰时省略对其公知功能与结构的详细描述。
本发明提供了一种在无线网络中,当在用户信息同步处理过程中同步会话非正常终止时在服务器与客户端之间同步数据的方法与***。本发明的优选实施方式使用SyncML作为同步的标准协议。在本发明中,在同步会话非正常终止之后,从发生非正常终止的点开始继续同步处理,而不必从开始处重新开始该处理。换而言之,根据本发明,在服务器与客户端之间同步过程中的数据传送非正常终止之后,通过只继续传送数据剩余数据项而非已经在其间同步的数据项,来进行同步。
虽然未显示,但是根据本发明的提供用户数据同步服务的***包含SyncML服务器与客户端,例如蜂窝式电话或者PDA,其使用网络接口通过无线网络连接到服务器。根据本发明的另一实施方式,该***包含SyncML服务器与客户端,例如个人计算机(PC)或者手持式PC,其使用网络接口通过有线网络连接到服务器。即,允许客户端有线或无线地访问SyncML服务器(“服务器”)。
服务器向客户端提供待与客户端共享的信息以及同步服务两者。待与客户端共享的信息的一些例子包括可以在客户端中修改的各种信息,例如文件、笔记、电子邮件、vCalendar与vCard。通过在服务器中反映客户端用户所做的对所提供信息的任意修改和/或删除,进行同步。
现在参照图3描述根据本发明实施例的用于客户端与服务器之间数据同步的传送数据方法。图3为显示根据本发明实施方式的、当用于同步的先前的数据传送失败时用于继续客户端与服务器之间数据同步的方法的信号流程图。
首先描述用户通过客户端200生成与修改的信息如何被传送给服务器210以用于它们之间的数据同步。首先,在步骤S300,客户端200维护待与服务器210共享的数据,该数据由用户生成并修改,并且在步骤S305开始向服务器210传送数据。为了开始数据传送,必须首先在客户端200与服务器210之间进行验证处理。
具体地,如果新近生成/修改的数据被输入客户端200,并且客户端200请求来自服务器210的数据同步,则在步骤S310,响应于该同步请求,服务器210更新/注册共享数据。当新近生成/修改的数据被输入客户端200时,客户端200将修改的数据转换为具有可由客户端200与服务器210两者识别预定格式的同步数据。
然后,客户端200向服务器210传送包含修改的数据的同步数据,并且服务器210根据预定的格式读取从客户端200收到的同步数据,以从同步数据中提取修改的数据。例如,通过在先前存储的数据之外存储所提取的数据,服务器210用所提取的数据更新先前存储的数据,然后存储更新的数据。
如果用户向客户端200输入待与服务器210共享的数据并且输入请求客户端200与服务器210同步的指令,则客户端200使用SyncML协议执行与服务器210的同步。换而言之,如果当客户端请求来自服务器210的同步时开始SyncML会话,则客户端200进行与服务器210的同步。当同步的数据项的数目等于服务器210已经从客户端200与来自客户端200的同步请求一道接收的总数据项数目时,同步完成。
如果如上所述,在步骤S315,由于内部或者外部环境因素(例如,网络线路切断或者交错或者***故障)而使正在进行的用于同步的数据传送失败,则服务器210在其内部存储空间中存储至发生传送中止时刻其已经收到的任何数据项以及关于该已接收的数据项的信息,在服务器210未接收将被接收的全部数据项的条件下,关于所接收的数据项的信息包括当至发生传送中止时刻已被同步的数据项数和将要进一步接收的数据项的数目,其在用于同步的重新连接过程中使用。然后,在步骤S320,在存储了指示数据传送已经被非正常终止的信息之后,客户端200中止同步会话。
此后,如果在重新连接到服务器210之后客户端200收到请求与服务器210同步的指令,则客户端200执行与服务器210同步。为了执行与服务器210同步,在步骤S325,客户端200通过向服务器210传送包含指示所继续的同步的消息的同步数据,请求来自服务器210的同步。服务器210读取从客户端200收到的同步数据,并且响应于同步请求,在步骤S330向客户端200传送请求继续数据传送的消息。响应于从服务器210收到的传送继续请求,在步骤S335,客户端200从传送继续请求中读取待传送的数据的位置信息,并且确定将已经在先前同步会话中传送的数据项排除在外的那些待传送的数据项。
如果客户端200确定要继续传送数据,则在步骤S340,客户端200继续传送同步数据。然后,在步骤S345,服务器210读取从客户端200收到的同步数据,以从同步数据中提取修改的数据。然后,例如通过在先前存储的数据之外存储所提取的数据,服务器210用所提取的数据更新先前存储的数据,然后存储更新的数据。
现在描述根据本发明的实施方式的、当服务器与客户端之间的数据同步非正常终止时如何继续数据接收。
将参照两种类型的数据同步非正常终止描述本发明的实施方式。一种类型是当客户端正在向服务器传送数据时的数据同步非正常终止,另一种类型是当服务器响应于从客户端收到的数据正在向客户端传送响应消息时的非正常终止。
根据本发明的实施方式,预先确定某些变量用于继续被非正常终止的数据传送。例如,为了请求来自服务器的同步,客户端在向同步请求添加了有关于待与服务器共享的数据的特定信息之后向服务器传送同步请求。在向服务器传送的同步请求内的特定信息包含(例如)待传送的数据项总数。此后,客户端向服务器传送待与服务器共享的、包含其状态信息的数据。数据传送非正常终止之后传送的数据的状态信息包含有关于已经传送的数据项的数目的信息,以及待从其开始继续数据传送的数据项的信息。
数据的状态信息不仅包含待传送的数据的大小,而且包含顺序分配的预定比特数据项的序数,其中依次将数据按照该预定比特分割为预定比特的数据项。这使客户端能够在非正常终止之后从接着已完全传送给服务器的数据项的数据项开始继续数据传送,并且还使服务器能够知道待接收的下一个数据项的序数。该状态信息使之可能监控数据的传送状态。
根据本发明的实施方式,先前定义一些变量来监控数据的传送状态以及如果用于同步的数据传送非正常终止则继续传送数据。具体地讲,定义同步日志(syngLog)、连续日志(continueLog)、以及变化日志(changeLog)来辅助继续传送数据。
在每个客户端与服务器中定义同步日志,以存储在客户端与服务器之间完全同步的数据项的数目。如果清除客户端的变化日志,或者如果客户端的变化日志中数据项的数目等于服务器修改的数据的数据项数目,则清除客户端的同步日志。在另一方面,如果清除服务器的变化日志,或者如果服务器的变化日志中数据项的数目等于客户端修改的数据的数据项数目,则重置服务器的同步日志。
客户端与服务器之一的连续日志存储已经传送给客户端与服务器中另一个的、并且前者还未从后者收到对该数据项的响应消息的数据项的序数。在每个客户端与服务器中提供连续日志。在从客户端与服务器中的一个从另一个收到响应消息之后,清除前者中的连续日志。
变化日志为根据SyncML协议定义的模型,其存储服务器修改的数据与客户端修改数据。如果收到对于数据项传送的响应消息,则从变化日志中去除该数据项。
现在参照图4A与4B描述根据本发明实施方式的、当数据传送非正常终止时用于客户端与服务器之间的数据同步的、使用上述变量的数据传送方法。图4A为显示根据本发明实施方式的、从客户端至服务器的数据传送非正常终止的例子的信号流程图。图4B为显示在图4A的例子中用于继续数据接收的程序的信号流程图。
图4A为客户端200向服务器210传送由用户输入的、客户端修改的数据(例如10个数据项)的例子,但是客户端修改的数据的传送被非正常终止。为了解释的方便,此处将这10个客户端修改的数据项称为项1至项10。为了依次传送客户端修改的数据项,这些数据项包含标识其序数(在该例子中为1至10)的信息。此处,这10个数据被分为待传送的三个部分(例如分为4、4、2个数据项),这是因为由于有限的传送能力,不容易一次传送所有的10个项。
首先,如果客户端200向服务器210发送同步请求,则服务器210进行客户端200的验证处理,以确定是否允许客户端200访问服务器210。如果完成验证,则客户端200向服务器210传送待与服务器210共享的数据(即客户端修改的数据),该数据由用户生成与修改。在步骤300,客户端200将标识待传送的数据项的总数的信息与客户端修改的数据一道向服务器210传送。
例如,在步骤304,客户端200向服务器210传送待传送的所有客户端修改的数据项(项1至项10)的头4个数据项(项1至项4),如图4A所示。此处,客户端200的变化日志仍然指示10个数据项(项1至项10),如图4A中标号“302”所示,这是因为客户端200还未从服务器210收到对于数据传送的响应。客户端200的连续日志指示客户端200已经传送给服务器210的、并且客户端200还未从服务器210收到对其响应的头4个数据项(项1至项4)的序数1、2、3、4。客户端200中的同步日志具有值0,这是因为还没有同步数据项。
服务器210接收从客户端2 00传送来的这4个数据项(项1至项4),并且在步骤306用所接收的数据项更新先前存储的数据,由此在客户端200与服务器210之间同步这4个数据项。此时,服务器210的同步日志的值为4,这是因为已同步的数据项(项1至项4)的数目为4,如标号“308”所示。然后,在步骤310,服务器210向客户端200传送对于收到的数据项(项1至项4)的响应消息。当客户端210收到对于数据项(项1至项4)传送的响应消息时,从客户端200的变化日志中去除数据项(项1至项4),由此数据项(项5至项10)保留在变化日志中。当客户端210收到对于数据项(项1至项4)的响应消息时,还从客户端200的连续日志中清除数据项(项1至项4)的序数(1至4)。另外,客户端200的同步日志的值为4,这是因为完成了数据项(项1至项4)的同步。
然后,在步骤315,客户端200传送下面的数据项(项5至项8)。在该传送过程中,由于内部或外部因素,在服务器210完全收到数据项(项5至项8)之前,可能发生非正常事件。如果发生非正常事件,则在存储了指示已经非正常终止同步会话的信息之后,客户端200终止同步会话。如标号“314”所示,数据项(项5至项8)仍然存储在客户端200的变化日志中,已传送给服务器210的数据项(项5至项8)的序数(5至8)存储在连续日志中,并且同步日志的值仍为4,这是因为已同步的数据项(项1至项4)的数目为4。
接着,参照图4B描述根据本发明实施方式的用于继续数据同步的数据传送过程。
当在数据同步非正常终止之后客户端200再次试图进行数据同步时,在步骤318,客户端200通知服务器210所继续的同步会话。此处,客户端200与该通知一道向服务器210发送其中存储的同步日志的值。客户端200具有标号“316”表示的日志值,与图4A中“314”表示的日志值相同。服务器210还具有标号“320”表示的同步日志值,与图4A中“308”表示的同步日志值相同。然后,服务器210将其同步日志值发送给客户端200。
然后,在步骤324,客户端200比较其同步日志值与从服务器210收到的同步日志值,以根据同步日志值进行判定。因为所比较的结果为两个同步日志值都等于4,所以客户端200认为服务器210只收到了4个数据项(项1至项4)。相应地,在步骤328,客户端200发送当非正常终止时正在向服务器200发送的数据项(项5至项8)。然后,如标号“326”所示,与在非正常终止之前传送并同步的数据项不同的剩余的数据项(项5至项10)仍然存储在客户端2 00的变化日志中,已传送给服务器210的数据项(项5至项8)的序数(5至8)存储在连续日志中,并且同步日志的值仍为4,这是因为已同步的数据项(项1至项4)的数目为4。
当收到从客户端200传送来的这4个数据项(项5至项8)时,在步骤330,服务器210用收到的数据项更新先前存储的数据(例如通过在先前存储的数据项之外存储收到的数据项),由此在客户端200与服务器210之间同步这4个数据项(项5至项8)。此时,服务器210的同步日志的值为8,这是因为已同步的数据项(项1至项8)的数目为8,如标号“332”所示。然后,在步骤334,服务器210向客户端200传送对于收到的数据项(项5至项8)的响应消息。当客户端210收到对于数据项(项5至项8)传送的响应消息时,从客户端200的变化日志中去除数据项(项5至项8),并且从客户端200的连续日志中去除其序数(5至8)。相应地,客户端200的变化日志具有两个数据项(项9与项10),连续日志被清除,并且同步日志值为8,如标号“336”所示。
然后,在步骤340,客户端200传送下面的数据项(项9与项10),并且将所提取的数据项传送给服务器210。当收到数据项(项9与项10)时,在步骤342,服务器210用收到的数据项更新先前存储的数据(例如通过随后在先前存储的数据项之外存储收到的数据项),由此在客户端200与服务器210之间同步数据项(项9与项10)。此时,服务器210的同步日志的值为10,这是因为已同步的数据项(项1至项10)的数目为10。此时,服务器210比较同步日志值与客户端修改的数据的总的数据项数目,该总数目先前从容户端200接收,并且如果它们相同,则重置同步日志值。然后,在步骤346,服务器210将对于收到的数据项(项9与项10)的响应消息传送给客户端200。
当客户端210收到对于数据项(项9与项10)传送的响应消息时,从客户端200的变化日志中去除数据项(项9与项10),并且从客户端200的连续日志中去除其序数(9与10)。相应地,如标号“348”所示,清除客户端200的变化日志与连续日志,并且同步日志值为10,这是因为已同步的数据项(项1至项10)数目为10。由此,因为客户端200的变化日志被清除,所以重置其同步日志。
现在参照图5A与5B描述根据本发明另一实施方式的、当响应于所接收的数据的、从服务器到客户端的响应消息的传送非正常终止时用于客户端与服务器之间的数据同步的数据传送方法。图5A为显示根据本发明实施方式的、响应于所接收的数据的、从服务器到客户端的响应消息的传送非正常终止的信号流程图。图5B为显示在图5A的例子中用于继续数据接收的程序的信号流程图。
图5A为在客户端200向服务器210传送由用户输入的、客户端修改的数据(例如10个数据项)之后、响应于修改的数据的、从服务器210到客户端200的响应消息的传送非正常终止的例子。在该例子中,从客户端200向服务器210传送与图4A中相同的数据项。
首先,在验证处理中,客户端200将待传送的数据项的总数的信息与同步请求一道向服务器210发送。在验证过程完成之后,在步骤404,客户端200向服务器210发送数据项项1至项4。图5A的步骤402至414与图4A的步骤302至314相同。
然后,在步骤416,客户端200向服务器210传送下面的数据项(项5至项8)。服务器210收到从客户端200传送来的数据项(项5至项8),并且在步骤418,用收到的数据项更新先前存储的数据(例如通过随后在先前存储的数据项之外存储收到的数据项),由此在客户端200与服务器210之间同步收到的数据项。此时,服务器210的同步日志的值为8,这是因为已同步的数据项(项1至项8)的数目为8,如标号“420”所示。然后,在步骤422,服务器210向客户端200传送对于数据项(项5至项8)的响应消息。在该传送过程中,由于内部或外部因素,在客户端200完全收到对于数据项(项5至项8)的响应消息之前,可能发生非正常事件。如果发生非正常事件,则在存储了指示已经非正常终止同步会话的信息之后,客户端200终止同步会话。
接着,参照图5B描述根据本发明实施方式的用于继续数据同步的数据传送过程。
当在数据同步非正常终止之后客户端200再次试图进行数据同步时,在步骤426,客户端200通知服务器210所继续的同步会话。此处,客户端200与该通知一道向服务器210发送其同步日志的值。响应于该通知,在步骤430,服务器210还向客户端200传送在其中存储同步日志的值。如果客户端200与服务器210的同步日志值不同,则服务器210接收与客户端200连续日志中序数相同的数据项,并且以与上面参照图4B描述的相同的方式执行图5B的步骤432至444。如果客户端200的同步日志具有非零值而服务器210的同步日志被重置,则其指示服务器210已经收到并且处理了所有来自客户端200的客户修改的数据项。
当以这种方式完成了客户修改的数据项的传送时,以上述方式执行服务器修改的数据项的传送,并且根据需要服务器210传送Map操作,例如,当在服务器210中添加数据时。
以上可以看出,本发明提供了一种用于客户端与服务器之间同步的传送数据的方法,其至少具有以下特征与优点。如果在无线网络中由于低带宽或者来自外部环境的较严重影响而使数据同步会话非正常终止,则从在非正常终止时正在传送的数据项开始继续数据传送。这提高了服务器与客户端之间数据传送的效率与简便性。因为服务器与客户端之一只传送另一个还未收到的数据,所以就可能减少完成数据同步所需的时间以及减少当进行大量数据同步时的浪费的不必要处理。
虽然为了说明目的而本发明优选实施方式,但是本领域技术人员应该理解在不脱离权利要求公开的本发明的范围与精神的前提下可以进行各种修改、添加以及替换。
Claims (10)
1.一种当同步被非正常终止时继续用于服务器与客户端之间数据同步的数据的方法,该方法包含以下步骤:
如果当客户端正在向服务器传送数据时数据同步被非正常终止,则在客户端中存储指示当数据同步被非正常终止时的数据的状态的数据的状态信息之后,由客户端终止数据同步会话;
当在数据同步会话被终止之后客户端试图重新执行数据同步时,由客户端通知服务器所继续的同步会话;
通过使用数据的状态信息,从在非正常终止时正在向服务器传送的数据项开始,继续来自客户端的数据的传送;以及
使用从客户端收到的数据,更新先前存储在服务器中的数据。
2.如权利要求1所述的方法,还包含以下步骤:
如果当服务器响应于从客户端收到的数据来向客户端传送响应消息时数据同步被非正常终止,则在客户端中存储指示当数据同步被非正常终止时的数据的状态的数据的状态信息之后,由客户端终止数据同步会话;
当在数据同步会话被终止之后客户端试图重新执行数据同步时,由客户端通知服务器要继续的同步会话,从客户端向服务器传送有关于已同步的数据的信息,并且从服务器向客户端传送有关于同步数据的信息;
由客户端根据客户端还未收到对其的响应消息的数据项的信息并且还根据从服务器收到的所述已同步的数据的信息来判定待传送的数据,所述数据项的信息以及所述已同步的数据的信息包含于数据的状态信息中;以及
根据所述对待传送的数据的判定,从在非正常终止时正在传送的数据项开始,继续向服务器的数据传送。
3.如权利要求1所述的方法,其中所述数据的状态信息包含同步日志、连续日志、以及变化日志。
4.如权利要求3所述的方法,其中所述同步日志表示已在客户端与服务器之间同步的数据项的数目,并且在客户端与服务器两者中都定义同步日志。
5.如权利要求3所述的方法,其中在客户端与服务器之一中的连续日志表示已经传送给客户端与服务器中另一个的、并且客户端与服务器所述之一还未从客户端与服务器中所述另一个收到对其的响应消息的数据项的序数。
6.如权利要求3所述的方法,其中所述变化日志表示服务器修改的数据与客户端修改的数据。
7.如权利要求3所述的方法,其中:如果清除客户端中的变化日志,或者如果客户端中变化日志中的数据项的数目等于包含于服务器修改的数据中的数据项的数目,则重置客户端中的同步日志;然而如果清除服务器中的变化日志,或者如果服务器中变化日志中的数据项的数目等于包含于客户端修改的数据中的数据项的数目,则重置服务器中的同步日志,
其中如果客户端与服务器之一收到来自客户端与服务器中另一个的、响应于传送给所述另一个的数据项的响应消息,则从客户端与服务器所述之一中的连续日志中去除该数据项的序数,以及
其中如果响应于所述数据项的传送收到响应消息,则从变化日志中去除该数据项。
8.如权利要求7所述的方法,还包含以下步骤:
当客户端请求数据同步时,从客户端向服务器与客户端修改的数据一道传送待传送的数据项的总数的信息;
当客户端向服务器传送一部分客户端修改的数据时,在客户端中计算并存储变化日志、连续日志、以及同步日志;
使用从容户端收到的数据,更新在服务器中存储的数据,在服务器中计算并存储同步日志,并且响应于从客户端收到的数据,向客户端传送响应消息;
根据对从服务器收到的响应消息的分析,在客户端中比较客户端中的同步日志与服务器中的同步日志,并且根据该比较结果确定待传送的数据;以及
从客户端向服务器传送所确定的数据。
9.如权利要求8所述的方法,还包含以下步骤:
当在正在传送数据时数据同步会话被终止之后客户端试图重新执行数据同步时,向服务器传送客户端中的同步日志,并且向客户端传送服务器中的同步日志;以及
根据从服务器收到的同步日志、并且根据先前存储在客户端中的同步日志、变化日志、以及连续日志,由客户端确定随后要传送的数据,并且在从非正常终止时正在传送的数据项开始,从客户端向服务器传送数据。
10.一种当数据同步被非正常终止时继续服务器与客户端之间数据同步的***,该***包含:
客户端,用来:如果数据同步被非正常终止,则在存储数据的状态信息之后终止数据同步会话,所述数据的状态信息指示当数据同步被非正常终止时的数据的状态,并且当在数据同步会话被终止之后客户端试图重新执行数据同步时,通知服务器所继续的同步会话;
服务器,用来:当客户端试图重新执行数据同步时,向从客户端发送以及接收有关于同步数据的信息,
其中根据数据的状态信息,客户端确定待传送的数据,并且从在非正常终止时正在传送的数据项开始,继续向服务器发送数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR23348/2004 | 2004-04-06 | ||
KR1020040023348A KR100557192B1 (ko) | 2004-04-06 | 2004-04-06 | 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템. |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1681248A true CN1681248A (zh) | 2005-10-12 |
Family
ID=34933601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005100516162A Pending CN1681248A (zh) | 2004-04-06 | 2005-02-08 | 服务器与客户端间传送用于数据同步的数据的方法与*** |
Country Status (4)
Country | Link |
---|---|
US (1) | US20050235019A1 (zh) |
EP (1) | EP1592184A3 (zh) |
KR (1) | KR100557192B1 (zh) |
CN (1) | CN1681248A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132395B (zh) * | 2006-08-22 | 2010-09-08 | 阿里巴巴集团控股有限公司 | 一种实现服务器之间的数据同步的方法及*** |
CN101401073B (zh) * | 2006-04-06 | 2010-11-10 | 国际商业机器公司 | 跨存储子***的一致更新 |
CN103338144A (zh) * | 2013-05-30 | 2013-10-02 | 华为软件技术有限公司 | 一种会话数据同步方法和装置 |
CN108846045A (zh) * | 2018-05-30 | 2018-11-20 | 四川斐讯信息技术有限公司 | 一种智能水杯饮水数据的存储方法及*** |
CN110888790A (zh) * | 2019-11-29 | 2020-03-17 | 杭州迪普科技股份有限公司 | 日志管理方法及装置、电子设备、存储介质 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6772338B1 (en) * | 1999-10-26 | 2004-08-03 | Ricoh Co., Ltd. | Device for transfering data between an unconscious capture device and another device |
US7756825B2 (en) * | 2003-07-31 | 2010-07-13 | Microsoft Corporation | Synchronization peer participant model |
US7440985B2 (en) * | 2003-07-31 | 2008-10-21 | Microsoft Corporation | Filtered replication of data stores |
US8086569B2 (en) * | 2005-03-30 | 2011-12-27 | Emc Corporation | Asynchronous detection of local event based point-in-time state of local-copy in the remote-copy in a delta-set asynchronous remote replication |
CN1852309A (zh) * | 2005-11-16 | 2006-10-25 | 华为技术有限公司 | 数据同步处理方法及其客户端 |
CN101047707A (zh) | 2006-03-30 | 2007-10-03 | 华为技术有限公司 | 发起设备能力信息协商的方法及*** |
US7890646B2 (en) * | 2006-04-27 | 2011-02-15 | Microsoft Corporation | Synchronization orchestration |
US7792792B2 (en) * | 2006-05-22 | 2010-09-07 | Microsoft Corporation | Synchronizing structured web site contents |
US8484167B2 (en) * | 2006-08-31 | 2013-07-09 | Sap Ag | Data verification systems and methods based on messaging data |
US8315988B2 (en) * | 2006-08-31 | 2012-11-20 | Sap Ag | Systems and methods for verifying a data communication process |
US20080133775A1 (en) * | 2006-11-30 | 2008-06-05 | Intellisync Corporation | Method, Apparatus and Computer Program Product for Providing Intelligent Synchronization |
US7827192B2 (en) * | 2006-12-29 | 2010-11-02 | Network Appliance, Inc. | Method and system for caching metadata of a storage system |
CN101374144B (zh) * | 2007-08-21 | 2012-04-25 | 华为技术有限公司 | 控制会话的数据同步的方法、装置和*** |
KR100922002B1 (ko) * | 2007-09-14 | 2009-10-14 | 주식회사 케이티 | 비구조형 부가서비스 데이터 프로토콜을 이용한 대화형서비스 제공 방법, 이를 구현하는 이동통신 단말기 및대화형 서비스 제공 장치 |
JP5063280B2 (ja) * | 2007-09-28 | 2012-10-31 | 株式会社日立製作所 | ファイル転送システム、クライアント、サーバ |
US8392591B2 (en) * | 2007-12-28 | 2013-03-05 | Cellspinsoft Inc. | Automatic multimedia upload for publishing data and multimedia content |
CN101227379B (zh) * | 2008-01-25 | 2012-07-04 | 中兴通讯股份有限公司 | 一种实现数据同步的***和方法 |
KR101146307B1 (ko) * | 2008-12-04 | 2012-05-21 | 한국전자통신연구원 | 데이터 동기화 시스템 및 그 방법 |
US20100268784A1 (en) * | 2009-04-17 | 2010-10-21 | Marc Henness | Data synchronization system and method |
CN103649863B (zh) | 2011-07-12 | 2016-03-23 | 贝尔直升机泰克斯特龙公司 | 一种旋翼飞机及用于该飞机的飞行控制***和方法 |
US9106584B2 (en) * | 2011-09-26 | 2015-08-11 | At&T Intellectual Property I, L.P. | Cloud infrastructure services |
US9131370B2 (en) | 2011-12-29 | 2015-09-08 | Mcafee, Inc. | Simplified mobile communication device |
US8819445B2 (en) | 2012-04-09 | 2014-08-26 | Mcafee, Inc. | Wireless token authentication |
US9262592B2 (en) * | 2012-04-09 | 2016-02-16 | Mcafee, Inc. | Wireless storage device |
US20130268687A1 (en) | 2012-04-09 | 2013-10-10 | Mcafee, Inc. | Wireless token device |
US9547761B2 (en) | 2012-04-09 | 2017-01-17 | Mcafee, Inc. | Wireless token device |
US9614918B2 (en) * | 2013-03-14 | 2017-04-04 | International Business Machines Corporation | Migration of network connection under mobility |
CN103347005B (zh) * | 2013-06-19 | 2016-08-10 | 北京奇虎科技有限公司 | 一种控制数据上报的方法以及客户端设备和服务器设备 |
KR101460554B1 (ko) | 2013-06-24 | 2014-11-11 | 청주대학교 산학협력단 | 닷넷리모팅 기술을 적용한 클라우드db 동기화방법 및 클라우드기반 pos시스템 |
US9992258B2 (en) * | 2015-01-13 | 2018-06-05 | Whatsapp Inc. | Techniques for managing a remote web client from an application on a mobile device |
US10977273B2 (en) * | 2016-08-02 | 2021-04-13 | Blackberry Limited | Electronic device and method of managing data transfer |
US11341100B2 (en) * | 2016-12-12 | 2022-05-24 | Egnyte, Inc. | System and method for eliminating full rescan synchronizations on service restarts |
US10521344B1 (en) * | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US11860897B2 (en) | 2019-06-07 | 2024-01-02 | Samsung Electronics Co., Ltd. | Method for using catch-up logging to time-synchronize object stores during maintenance or recovery operations |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2861851B2 (ja) * | 1995-02-07 | 1999-02-24 | 日本電信電話株式会社 | データ通信再送方法 |
US6731625B1 (en) * | 1997-02-10 | 2004-05-04 | Mci Communications Corporation | System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony |
US6963923B1 (en) * | 1997-02-10 | 2005-11-08 | International Business Machines Corporation | Method for file transfer restarts using standard internet protocol |
US6049892C1 (en) * | 1997-02-24 | 2002-06-04 | Ethos Software Corp | Process and apparatus for downloading data from a server computer to a client computer |
US6526447B1 (en) * | 1999-12-14 | 2003-02-25 | International Business Machines Corporation | Apparatus for restarting interrupted data transfer and method therefor |
US6795868B1 (en) * | 2000-08-31 | 2004-09-21 | Data Junction Corp. | System and method for event-driven data transformation |
KR100780155B1 (ko) * | 2001-12-20 | 2007-11-27 | 엘지노텔 주식회사 | 제어국과 기지국간 전달 채널에 대한 동기 유지 방법 |
TW580812B (en) * | 2002-06-24 | 2004-03-21 | Culture Com Technology Macao L | File-downloading system and method |
US7117386B2 (en) * | 2002-08-21 | 2006-10-03 | Emc Corporation | SAR restart and going home procedures |
US20040044799A1 (en) * | 2002-09-03 | 2004-03-04 | Nokia Corporation | Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process |
-
2004
- 2004-04-06 KR KR1020040023348A patent/KR100557192B1/ko not_active IP Right Cessation
- 2004-12-08 US US11/007,497 patent/US20050235019A1/en not_active Abandoned
-
2005
- 2005-02-04 EP EP05002427A patent/EP1592184A3/en not_active Withdrawn
- 2005-02-08 CN CNA2005100516162A patent/CN1681248A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401073B (zh) * | 2006-04-06 | 2010-11-10 | 国际商业机器公司 | 跨存储子***的一致更新 |
CN101132395B (zh) * | 2006-08-22 | 2010-09-08 | 阿里巴巴集团控股有限公司 | 一种实现服务器之间的数据同步的方法及*** |
CN103338144A (zh) * | 2013-05-30 | 2013-10-02 | 华为软件技术有限公司 | 一种会话数据同步方法和装置 |
CN103338144B (zh) * | 2013-05-30 | 2016-06-22 | 华为软件技术有限公司 | 一种会话数据同步方法和装置 |
CN108846045A (zh) * | 2018-05-30 | 2018-11-20 | 四川斐讯信息技术有限公司 | 一种智能水杯饮水数据的存储方法及*** |
CN108846045B (zh) * | 2018-05-30 | 2022-10-18 | 杭州吉吉知识产权运营有限公司 | 一种智能水杯饮水数据的存储方法及*** |
CN110888790A (zh) * | 2019-11-29 | 2020-03-17 | 杭州迪普科技股份有限公司 | 日志管理方法及装置、电子设备、存储介质 |
CN110888790B (zh) * | 2019-11-29 | 2024-02-27 | 杭州迪普科技股份有限公司 | 日志管理方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20050098342A (ko) | 2005-10-12 |
KR100557192B1 (ko) | 2006-03-03 |
EP1592184A3 (en) | 2012-11-28 |
US20050235019A1 (en) | 2005-10-20 |
EP1592184A2 (en) | 2005-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1681248A (zh) | 服务器与客户端间传送用于数据同步的数据的方法与*** | |
CN1167237C (zh) | 差分通信方法 | |
CN1260937C (zh) | 减少应用程序之间数据传输的方法 | |
CN1148927C (zh) | 增加网浏览器的性能并和网服务器通信的方法和设备 | |
CN1210656C (zh) | 用于客户和自适应同步和转换服务器的方法、装置 | |
CN1221898C (zh) | 刷新网络代理高速缓存服务器对象的***和方法 | |
JP4198053B2 (ja) | コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置 | |
US7979509B1 (en) | Clustered network acceleration devices having shared cache | |
CN1114869C (zh) | 维持复制一致性的计算机、数据共享***和方法 | |
US7676554B1 (en) | Network acceleration device having persistent in-memory cache | |
US7644108B1 (en) | Network acceleration device cache supporting multiple historical versions of content | |
CN1201539C (zh) | 消息传送代理*** | |
JP5744717B2 (ja) | ディレクトリへのアクセスのための方法及びデバイス | |
CN1909485A (zh) | 与多个客户端进行数据处理用***服务器及数据处理方法 | |
CN1184540A (zh) | 时间相干超高缓存*** | |
US9100447B2 (en) | Content delivery system | |
CN1605072A (zh) | 利用代理下载数据的***和方法 | |
CN1729468A (zh) | 数据同步 | |
CN1655122A (zh) | 版本更新方法 | |
WO2006074064A2 (en) | Method and apparatus for managing data object size in a multi-user environment | |
RU2567381C2 (ru) | Система и способ для передачи изображений в режиме реального времени | |
CN102546612A (zh) | 用户态下基于rdma协议的远程过程调用实现方法 | |
CN1791105A (zh) | 控制到客户机的数据传送及更新数据的执行的方法 | |
CN1852160A (zh) | 一种数据慢同步的实现方法及*** | |
CN1324844C (zh) | 网管***向网元同步配置数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20051012 |