数据传输方法及客户端与流程

文档序号:12182985阅读:391来源:国知局
数据传输方法及客户端与流程

本发明涉及数据同步技术领域,特别涉及一种数据传输方法及客户端。



背景技术:

目前,客户端在将数据同步至服务器时,经常遇到超时的问题。超时可能是由于网络质量不佳,数据量大,服务器太忙等诸多原因。对于遇到超时问题的数据,现有技术一般都认为同步失败,需要下次再将该数据同步至服务器中。

但是本申请的发明人在实现本发明的过程中发现,数据同步超时并一定就意味着数据同步失败,在很多情况下,既使数据同步超时,数据也一样成功地同步至了服务器。因此,一旦数据同步超时,就认为数据同步失败,而再次将数据同步至服务器的方式可能造成数据的重复同步,降低了用户体验。



技术实现要素:

本发明实施方式的目的在于提供一种数据传输方法及客户端,可以解决同步过程中响应超时引起的数据重复同步的问题。

为解决上述技术问题,本发明的实施方式提供了一种数据传输方法,用于客户端中,包含以下步骤:对于遇到同步超时情形的数据,当再次同步该数据时,先将该数据的数据标识发送至服务器;若接收到服务器返回的该数据标识,则表明该数据之前已成功地同步至所述服务器,则控制不将该数据再次同步至服务器。

本发明的实施方式还提供了一种客户端,包含:交互模块,用于对于遇到同步超时情形的数据,当再次同步该数据时,先将该数据的数据标识发送至服务器;以及处理模块,用于在所述交互模块接收到服务器返回的该数据标识时,表明该数据之前已成功地同步至所述服务器,控制不将该数据再次同步至服务器。

本发明实施方式相对于现有技术而言,对于同步超时的数据,先将其数据标识发送至服务器,以由服务器确认该数据是否已成功同步至了服务器,若接收到服务器返回的同步标识,则表明该数据已同步至了服务器,从而无需再次同步,进而可以解决同步过程中响应超时引起的数据重复同步的问题,提升用户体验。

另外,若未接收到所述服务器返回的该数据标识,则表明该数据之前未成功同步至所述服务器,则将所述数据再次同步至所述服务器。此时,如果服务器未返回数据标识,则表明该数据之前的同步失败,需要再次同步至服务器。

另外,所述方法还包括:对于遇到同步超时情形的数据,将其数据标识记录于临时字段中;所述先将该数据的数据标识发送至服务器包括:从该临时字段中获取该数据的数据标识,并发送至所述服务器。此方式中,采用临时字段来记录同步超时的数据,从而在再次同步之前,可以方便地从临时字段中获取到所有的同步超时的数据的数据标识。

另外,所述先将该数据的数据标识发送至服务器包括:从该临时字段中获取该数据的数据标识,且该数据具有同步标记时,才将该数据的数据标识发送至所述服务器;其中,该同步标记用于指示该数据需要被上传至服务器。此方式中,增加同步标记来指示数据是否需要被上传至服务器,实际中不是所有的数据都需要同步至服务器,或者有些数据之前需要同步至数据器,但是现在不需要同步至服务器,因此通过同步标记可以对数据进行分类。

附图说明

图1是根据本发明第一实施方式的数据传输方法的流程示意图;

图2是根据本发明第二实施方式的数据传输方法的流程示意图;

图3是根据本发明第三实施方式的数据传输方法的流程示意图;

图4是根据本发明第四实施方式的客户端的结构示意图;

图5是根据本发明第五实施方式的客户端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。

本发明实施方式涉及的应用场景可以为:在数据同步的过程中,a账号的数据上传至网络,并在传输至网络后生成唯一的数据标识(ID),以关联服务器和客户端的数据。这样,借助于该数据标识,修改和删除都能操作到同一条数据。但是,当a账号新增一些数据时,a账号会向服务器发起同步,则a账号首先找到有同步标记(用于指示数据需要同步至服务器,例如用dirty表示,当dirty为1时表示该数据需要同步至服务器)的数据,生成数据标识,将数据传输至服务器。正常情况下,服务器接收到数据并操作成功(如存储成功)后,会向客户端返回成功的通知。但是在某些情形下,如网络质量不佳,或者数据量大导致服务器操作时间太久,或者服务器太忙而来不急处理时,会导致客户端等了很长时间也没有收到服务器的反馈。这时候网络框架就会提示传输超时,客户端将不会继续等下去。如此这些数据本来已成功添加到服务端,而客户端却不知道,相应地同步标记也没有被清除,数据标识也未保存在本地(因为不知道服务器是否操作成功),从而造成了服务器和本地数据不一致。并且在后续中,客户端会再次发起同步,将数据同步至服务器,这可能造成数据的重复同步。于是,本发明提供了一种数据传输方法和客户端,可以解决同步过程中由于响应超时而引起的一系列问题,如数据不一致,重复同步等。在本发明中,客户端对于有过同步超时情形的数据(一个或多个),先将其数据标识发送至服务器,服务器在收到数据标时后,查看服务器中是否已存在该数据标识对应的数据,如果存在,则表明该数据标识对应的数据无需再次同步至服务器,如果不存在,则表明该数据标识对应的数据需要同步至服务器;因此,服务器将那些不存在的数据对应的数据标识返回至客户端,由客户端依据该数据标识,将相应的数据同步至服务器中。

本发明的第一实施方式涉及一种数据传输方法,该方法的执行主体例如可以是客户端,如智能手机、平板电脑、个人数字助理等等。具体流程如图1所示。其包括如下步骤:

步骤11:对于遇到同步超时情形的数据,当再次同步该数据时,先将该数据的数据标识发送至服务器。

步骤12:若接收到服务器返回的该数据标识,则表明该数据之前已成功地同步至所述服务器,则控制不将该数据再次同步至服务器。

其中,在步骤11中,其中的数据标识可以是UUID(Universally Unique Identifier,通用唯一标识符)。其可以由客户端生成,以唯一地标识一数据;需要说明时,当客户端将数据同步至服务器时,同时将该数据标识同步至服务器(该数据标识也可以认为是数据的一部分),从而使得后续操作时,借助于该数据标识,客户端和服务器可以操作到同一条数据。

其中,当步骤11将数据标识发送至服务器之后,服务器可以验证该数据标识对应的数据是否已存在。若已存在,则将该数据标识返回给客户端,以表明该数据标识对应的数据之前已成功同步至服务器。需要说明的是,在步骤11发送至服务器的数据标识可以有多个,以分别对应多个有遇到超时情形的数据。此时,服务器分别查看该多个数据标识对应的数据是否已存在,并将那些不存在的数据对应的数据标识(上述多个数据标识中的至少一部分)返回至客户端中。

其中,在步骤12中,客户端可以控制不将已同步至服务器的数据再次同步至服务器,从而避免了数据的重复同步。

其中,在步骤12中,除了可以控制不将该数据再次同步至服务器之外,客户端还可以将该数据标识保存在本地,如将该数据标识添加至数据中。

另外,对于采用同步标记来表示数据是否需要上传到服务器的方案中,还可以清除数据对应的同步标记,以表明该数据无需再上传到服务器。其中清除同步标记可以是将该同步标记设置为无效,例如设置为0。需要说明的是,在客户端中生成一条数据记录时,可以同时为该数据分配数据标识和同步标记。

经过上述的添加数据标识至数据中以及清除数据的同步标记的操作,可以使得本地的数据与服务器端同步的数据一致。

本实施方式,对于有同步超时情形的数据,先将其数据标识发送至服务器以确定之前的同步超时是否同步成功,并在确定到之前的同步操作已成功时,不再将数据同步至服务器,从而可以解决现有的同步过程中响应超时引起的数据重复同步的问题,进而提升用户的体验,例如用户可以体验到更快速、更少占带宽、更少流量的数据同步过程。

本发明的第二实施方式也涉及一种数据传输方法。如图2的所示,其包括:

步骤21:对于遇到同步超时情形的数据,当再次同步该数据时,先将该数据的数据标识发送至服务器。

步骤22:若未接收到所述服务器返回的该数据标识,则表明该数据之前未成功同步至所述服务器,则将所述数据再次同步至所述服务器。

其中,在步骤22中,将数据再次同步至服务器即是再次执行数据同步过程。其中,本领域技术人员而言熟悉将数据同步至服务器的过程,因此出于简洁而不再重复该过程。

其中,当步骤22成功将数据同步至服务器之后,例如客户端收到了服务器返回的同步成功通知,则可以记录该数据的数据标识,例如将数据标识添加至数据内,并且同时清除数据的同步标记等。清除该数据的同步标记可以避免该同步标记触发,再次同步该数据。

本实施方式,当验证到之前同步超时情形中未成功将数据同步至服务器时,可以再次将数据同步至服务器,以完成数据同步。

本发明的第三实施方式涉及一种数据传输方法。如图3的,其包括:

步骤31:对于遇到同步超时情形的数据,将其数据标识记录于临时字段中。

步骤32:再次同步时,先从该临时字段中获取该数据的数据标识,并发送至所述服务器。

步骤33:若接收到服务器返回的该数据标识,则表明该数据之前已成功地同步至所述服务器,则控制不将该数据再次同步至服务器。

其中,在步骤31中,当遇到同步超时情形时,则将数据的数据标识存储于临时(temp)字段中。需要说明的是,同步超时涉及的数据可以有多个,临时字段可以存储该些数据的数据标识。在步骤32中,获取临时字段中所有的数据标识,并发送至服务器。另外,在步骤33中,接收到的数据标识也可以是多个。并且在步骤33中,不论接收到几个数据标识,只要接收到的数据标识对应的数据都无需再同步至服务器,而只需要将没有接收到的数据标识对应的数据再次同步至服务器。

另外,一般数据都具有一个数据标记,用于指示需要将该数据上传至服务器。那么在步骤32中,发送至服务器的数据标识除了来自于临时字段外,还需要其对应的数据具有同步标记(包含同步标记为有效的情形,如同步标记被置为1)时,才将该数据的数据标识发送至服务器。

本实施方式,同于数据同步超时的情形中,客户端并不知道数据是否成功同步至服务器。因此将同步超时数据的数据标识存储于临时字段中,以在下次同步时,先从该临时字段中获取数据标识并发送至服务器,以辨别对应的数据在之前的同步中是否已成功同步至服务器。另外,本实施方式还可以设置一临时字段标记,当临时字段被创建时(即向其中添加了数据标识时),该临时字段标记被设置为有效。那么在下次同步时,客户端可以先查看临时字段标记是否有有效,并在临时标记字段被设置为效时,才触发本实施方式的流程。否则按照正常的同步流程执行。从而可以解决同步过程中响应超时引起的数据重复同步的问题,提升用户体验。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。另外,上述各实施方式的方法步骤可以组合起来一起使用。

本发明第四实施方式涉及一种客户端4,如图4所示,其包含:交互模块41和处理模块42。

其中,交互模块41主要用于与服务器之间的交互,例如发送数据标识至服务器,从服务器接收数据标识,将数据同步至服务器,等等。

其中,处理模块42主要用于控制不将服务器中已存在的数据再次同步至服务器,清除数据的同步标记,将数据标识添加至数据中等处理操作。

具体而言,例如,交互模块41,可以用于对于遇到同步超时情形的数据,当再次同步该数据时,先将该数据的数据标识发送至服务器。处理模块42,可以用于若交互模块有接收到服务器返回的该数据标识,则表明该数据之前已成功地同步至所述服务器,则控制不将该数据再次同步至服务器。

又例如,处理模块42还用于若交互模块41未接收到所述服务器返回的该数据标识,则表明该数据之前未成功同步至所述服务器,则控制所述交互模块将所述数据再次同步至所述服务器。

又例如,处理模块42还用于对于遇到同步超时情形的数据,将其数据标识记录于临时字段中,以方便在下次同步时,可以直接从该临时字段提取数据标识;交互模块41,又可具体用于将该临时字段中的所有数据标识发送至所述服务器。

本实施方式,对于有同步超时情形的数据,先将其数据标识发送至服务器以确定之前的同步超时是否同步成功,并在确定到之前的同步操作已成功时,不再将数据同步至服务器,从而可以解决现有的同步过程中响应超时引起的数据重复同步的问题,进而提升用户的体验,例如用户可以体验到更快速、更少占带宽、更少流量的数据同步过程。

不难发现,本实施方式为与上述实施方式相对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节及技术效果在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

例如,图5是根据本发明第五实施方式的客户端4的结构示意图。图5所示的客户端4是从物理单元的角度对其结构进行划分。具体的,图5所示的客户端4可以包括:存储器51、处理器52和收发器53。

其中,存储器51用于实现客户端的存储功能,其可以包括:ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机访问存储器)、缓存、闪存、硬盘等存储设备。例如,该存储器51可以存储机器可读指令,处理器52通过执行存储器51存储的指令以执行本发明的相关功能,例如同步数据至服务器。又例如,存储器51可以存储数据,如需要同步至服务器的数据;又例如,存储器51可以缓存前述提到的临时字段等信息。其中,收发器53主要用于负责执行客户端4的收发工作,例如发送数据标识至服务器,接收来自服务器的数据标训,将数据发送至服务器以进行同步,接收服务器的返回的数据同步成功的通知。

其中,收发器53发送的数据可以由处理器52提供,处理器52可以从存储器51中提取数据发送至收发器53,或者处理器52也可以将自己产生的一些数据提供至收发器53。其中,收发器53接收到的数据也提供至处理器52,以供处理器52做相应的处理,例如,将接收到的数据标识提供给处理器52。

其中,处理器52为本发明的核心,其可以由CPU(中央处理单元)、DSP(数字信号处理器)等实现,在本发明实施方式中,处理器52可以控制收发器53将有遇到超时情形的数据对应的数据标识发送至服务器。以及根据收发器53提供的接收到的数据标识,控制不将该标识对应的数据发送至服务器,等等操作。以解决同步过程中响应超时引起的数据重复同步的问题,提升用户体验。

本实施方式,对于有同步超时情形的数据,先将其数据标识发送至服务器以确定之前的同步超时是否同步成功,并在确定到之前的同步操作已成功时,不再将数据同步至服务器,从而可以解决现有的同步过程中响应超时引起的数据重复同步的问题,进而提升用户的体验,例如用户可以体验到更快速、更少占带宽、更少流量的数据同步过程。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1