CN104702703B - 一种数据更新方法及装置 - Google Patents
一种数据更新方法及装置 Download PDFInfo
- Publication number
- CN104702703B CN104702703B CN201510146282.0A CN201510146282A CN104702703B CN 104702703 B CN104702703 B CN 104702703B CN 201510146282 A CN201510146282 A CN 201510146282A CN 104702703 B CN104702703 B CN 104702703B
- Authority
- CN
- China
- Prior art keywords
- data
- full dose
- request
- dose data
- renewal time
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种数据更新方法及装置。该方法包括:服务器获得客户端设备发送的针对于目标对象的数据请求;确定目标对象的当前全量数据所对应的第二更新时间;判断第二更新时间是否不同于数据请求所携带的第一更新时间,如果是,获得当前全量数据相对于第一更新时间所对应历史全量数据发生更新的目标部分数据、目标部分数据在历史全量数据中的目标路径位和目标部分数据所对应的目标操作位,并构成请求结果反馈给客户端设备,以使得客户端设备在本地存储的历史全量数据中的目标路径位所指示的路径中对目标部分数据执行目标操作位所指示的操作,以将历史全量数据更新为服务器所存储的当前全量数据。可见,通过本方案可以提高数据更新速率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据更新方法及装置。
背景技术
客户端软件所对应的服务器存储有某些对象(例如客户端软件的页面)的全量数据,以向客户端设备提供全量数据来进一步完成对象的展示。其中,对于一个对象而言,由于其可以为逻辑上不可分割的一个整体,因此,该对象可以对应存在一份全量数据;而由于可以逻辑上分割为多个子部分,因此,该对象可以存在多份全量数据,其中,子部分与全量数据具有唯一对应性。
当服务器所存储的对象的全量数据中的部分数据发生更新时,客户端设备需要将自身所存储的该对象的该全量数据进行更新处理,具体的更新过程:
客户端设备在接收到用户发出的关于目标对象的全量数据的请求后,构建针对于该目标对象的数据请求;其中,该数据请求携带有该目标对象的历史全量数据所对应的第一更新时间,该历史全量数据为存储于本地的、上一次更新处理所生成的全量数据,该第一更新时间为存储于本地的、该目标对象所对应服务器向该客户端设备反馈的该历史全量数据在该服务器内发生更新的时间;向该服务器发送所述数据请求;相应的,该服务器接收到该数据请求后,如果判断出自身所存储的该目标对象的当前全量数据的第二更新时间不同于该第一更新时间(即当前全量数据相对于历史全量数据发生更新),无论发生更新内容的多少(全部或部分),均获得该当前全量数据作为请求结果反馈给该客户端设备,以使得客户端设备利用所接收到的当前全量数据来替换历史全量数据。
可见,现有的数据更新方法中,无论发生更新内容的多少均反馈完整的全量数据的方式,导致传输的数据量较大,无疑使得整个数据更新过程较慢。
发明内容
本发明实施例的目的在于提供一种数据更新方法及装置,以实现提高数据更新速率。具体技术方案如下:
第一方面,本发明实施例提供了一种数据更新方法,应用于服务器,所述方法包括:
获得客户端设备发送的针对于目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于所述客户端设备本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于所述客户端设备本地的、所述服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
确定自身所存储的所述目标对象的当前全量数据所对应的第二更新时间;
判断所述第二更新时间是否不同于所述第一更新时间,如果是,获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位;
将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备,以使得所述客户端设备在接收到所述请求结果后,在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
可选的,所述请求结果还包括:
第二更新时间;
相应的,所述客户端设备保存所述第二更新时间和所更新生成的所述当前全量数据。
可选的,所述目标操作位所指示的操作,包括:删除操作、增加操作或更改操作。
第二方面,本发明实施例提供了一种数据更新方法,应用于客户端设备,所述方法包括:
在接收到用户发出的关于目标对象的全量数据的请求后,构建针对于所述目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于本地的、所述目标对象所对应服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
向所述服务器发送所述数据请求,以使得所述服务器接收到所述数据请求后,如果判断出自身所存储的所述目标对象的当前全量数据的第二更新时间不同于所述第一更新时间,则获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位,并将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备;
接收所述服务器反馈的包含所述目标部分数据、所述目标路径位和所述目标操作位的请求结果;
在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
可选的,所述服务器反馈的请求结果还包括:第二更新时间;
相应的,所述方法还包括:
保存所述第二更新时间和所更新生成的当前全量数据。
第三方面,本发明实施例提供了一种数据更新装置,应用于服务器,所述装置包括:
数据请求获得模块,用于获得客户端设备发送的针对于目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于所述客户端设备本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于所述客户端设备本地的、所述服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
第二更新时间确定模块,用于确定自身所存储的所述目标对象的当前全量数据所对应的第二更新时间;
时间判断模块,用于判断所述第二更新时间是否不同于所述第一更新时间,如果是,相关更新信息获得模块;
所述相关更新信息获得模块,用于获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位;
请求结果反馈模块,用于将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备,以使得所述客户端设备在接收到所述请求结果后,在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
可选的,所述请求结果反馈模块所反馈的所述请求结果还包括:
第二更新时间;
相应的,所述客户端设备保存所述第二更新时间和所更新生成的所述当前全量数据。
可选的,所述目标操作位所指示的操作,包括:删除操作、增加操作或更改操作。
第四方面,本发明实施例还提供了一种数据更新装置,应用于客户端设备,所述装置包括:
数据请求构建模块,用于在接收到用户发出的关于目标对象的全量数据的请求后,构建针对于所述目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于本地的、所述目标对象所对应服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
数据请求发送模块,用于向所述服务器发送所述数据请求,以使得所述服务器接收到所述数据请求后,如果判断出自身所存储的所述目标对象的当前全量数据的第二更新时间不同于所述第一更新时间,则获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位,并将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备;
请求结果接收模块,用于接收所述服务器反馈的包含所述目标部分数据、所述目标路径位和所述目标操作位的请求结果;
数据更新模块,用于在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
可选的,所述服务器反馈的请求结果还包括:第二更新时间;
相应的,所述装置还包括:
数据保存模块,用于保存所述第二更新时间和所更新生成的当前全量数据。
本方案中,当服务器所存储的关于目标对象的当前全量数据的第二更新时间不同于客户端设备所存储的历史全量数据所对应的第一更新时间时,则获得当前全量数据相对于第一更新时间所对应历史全量数据发生更新的目标部分数据、目标部分数据在历史全量数据中的目标路径位和目标部分数据所对应的目标操作位,并反馈给客户端设备;相应的,客户端设备在本地存储的历史全量数据中的目标路径位所指示的路径中对目标部分数据执行所述目标操作位所指示的操作,以将历史全量数据更新为服务器所存储的当前全量数据。可见,与现有技术相比,本方案仅仅更新相对于历史全量数据所发生更新的部分数据,更新数据量较小,因此,能够提高数据更新速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例从客户端设备角度所提供的一种数据更新方法的流程图;
图2为本发明实施例从服务器角度所提供的一种数据更新方法的流程图;
图3为本发明实施例从客户端设备角度所提供的一种数据更新装置的结构示意图;
图4为本发明实施例从服务器角度所提供的一种数据更新装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高数据更新速率,本发明实施例提供了一种数据更新方法及装置。
下面首先介绍本发明实施例所提供的一种数据更新方法。
为了清楚起见,首先从客户端设备的角度介绍本发明实施例所提供的一种数据更新方法。其中,在实际应用中,本实施例中的该客户端设备可以为:智能手机、笔记本电脑、平板电脑等。
并且,本实施例的执行主体可以为位于客户端设备内的数据更新装置;可以理解的是,位于客户端设备内的数据更新装置可以为用于展示对象的客户端软件。举例而言:该客户端软件可以为浏览器软件,多媒体类客户端软件、工具型客户端软件等等,这都是合理的。
如图1所示,一种数据更新方法,应用于客户端设备,所述方法包括:
S101,在接收到用户发出的关于目标对象的全量数据的请求后,构建针对于该目标对象的数据请求;
客户端设备在接收到用户发出的关于目标对象的全量数据的请求后,表明目标对象的全量数据的更新过程被触发,此时,可以构建针对于目标对象的数据请求,以向该目标对象所对应服务器请求关于该目标对象的待更新数据。具体的,该数据请求携带有该目标对象的历史全量数据所对应的第一更新时间,该历史全量数据为存储于本地的、上一次更新处理所生成的全量数据,该第一更新时间为存储于本地的、该目标对象所对应服务器向该客户端设备反馈的该历史全量数据在该服务器内发生更新的时间。
需要说明的是,该目标对象为客户端软件需要输出给用户的数据内容的载体,例如:该目标对象可以为客户端软件的页面,当然并不局限于此;并且,对于一个对象而言,由于其可以为逻辑上不可分割的一个整体,因此,该对象可以对应存在一份全量数据;而由于可以逻辑上分割为多个子部分,因此,该对象可以存在多份全量数据,其中,子部分与全量数据具有唯一对应性。
可以理解的是,对于一个对象而言,该对象展示时所需的所有数据可以作为一份全量数据,例如,爱奇艺视频客户端中的某一页面由二十组视频信息组成的,那么该页面的全量数据可以是该二十组视频信息的集合,每组视频信息具体可以包括每个视频的图片地址、视频名、视频的描述等等一切信息;而部分数据组成全量数据的某一部分,可能是是几组视频信息,可能是一组视频信息,还可能是某组视频信息中的某些元素,如图片地址或视频描述等等。当然,一个对象也可以对应多份全量数据,例如,打开爱奇艺视频客户端,首页中的视频列表区域所需的所有数据可以作为一份全量数据,首页中的功能区域所需的所有数据可以作为一份全量数据,等等。
S102,向该服务器发送该数据请求;
其中,在构建关于目标对象的数据请求后,可以向该目标对象所对应的服务器发送该数据请求。相应的,该服务器接收到该数据请求后,如果判断出自身所存储的该目标对象的当前全量数据的第二更新时间不同于该第一更新时间,表明服务器所存储的当前全量数据相对于客户端设备所存储的历史全量数据已经发生更新了,因此,可以获得该当前全量数据相对于该第一更新时间所对应历史全量数据发生更新的目标部分数据、该目标部分数据在该历史全量数据中的目标路径位和该目标部分数据所对应的目标操作位,并将包含该目标部分数据、该目标路径位、该目标操作位的请求结果反馈给该客户端设备。需要说明的是,该目标部分数据为能够通过目标路径位指示的数据内容,其中,如果发生更改的数据的粒度小到无法通过路径位指示,此时,向客户端设备反馈的目标部分数据为:包含所述发生更改的数据的、能够通过路径位指示的部分数据。
其中,在实际应用中,该目标操作位所指示的操作,可以包括:删除操作、增加操作或更改操作;并且,目标操作位的展示形式可以根据实际情况进行设定,例如通过数字形式、字母形式、数字与字母结合形式,这都是合理的。并且,所确定出的发生更新的目标部分数据为能够对应有唯一路径位的数据,其可以等同于实际发生更新的数据,也可以为包含有实际发生更新的数据。
需要强调的是,服务器和客户端设备预先约定有操作位所指示的具体含义,并且约定有各个路径位所指代的全量数据中的具体位置。并且,第一次请求数据时,由于客户端本地未缓存有目标对象的任何数据,第一更新时间通常为初始时间(例如:0),服务器此时确定出的目标部分数据为当前全量数据。
举例而言:对于上述对象的全量数据由二十组视频信息组成的情况而言,全量数据所对应的路径位可以为Root;二十组视频信息中的第三组(下标从0开始)视频信息所对应的路径位可以为Root->Array(2);第三组视频信息中的标题所对应的路径位可以为Root->Array(2)->Title,等等。
需要强调的是,上述所列举的路径位的具体形式仅仅作为示例,路径位并不是固定的内容或形式,其可以依据对象的全量数据的内容动态变化,例如:如果对象为包含好友列表的个人信息页,指代用户名的路径位的形态可以为Root->Username,或者,指代用户好友列表中的第一个好友的路径位的形态可以为:Root->Friends->Array(0)。也就是,路径位与具体的页面以及业务逻辑相关联,客户端设备会按照服务器发来的路径位对已有的数据缓存进行部分更新,如果路径位对不上,则不会进行更新。
并且,与现有技术相比,服务器和客户端设备传输数据时所采集用的数据结构可以转换为类树形结构,该类树形结构可以为数组形式或者key=>value对象组成的集合的形式,具体的,对于客户端设备安装有iOS系统(iOS是由苹果公司为iPhone开发的操作系统)的情况,该数据结构可以为字典(NSDictionary)形式,对于客户端设备安装有安卓系统的情况,该数据结构可以为哈希表(HashMap)形式。
S103,接收该服务器反馈的包含该目标部分数据、该目标路径位和该目标操作位的请求结果;
S104,在本地存储的该历史全量数据中的该目标路径位所指示的路径中对该目标部分数据执行该目标操作位所指示的操作,以将该历史全量数据更新为该服务器所存储的当前全量数据。
在获得服务器反馈的请求结果后,由于预先与服务器约定各类操作位所指示的操作以及路径位所指示内容在全量数据中的位置,因此,客户端设备在本地存储的该历史全量数据中的该目标路径位所指示的路径中对该目标部分数据执行该目标操作位所指示的操作,以将该历史全量数据更新为该服务器所存储的当前全量数据,从而通过在本地对服务器内所更新数据的更新来实现对关于目标对象的全量数据的更新,保证了客户端设备与服务器内所存储的关于目标对象的全量数据的数据内容相同。
更进一步的,为了保证下次全量数据的有效更新,该服务器反馈的请求结果还可以包括:第二更新时间;
相应的,从客户端设备的角度,所述数据更新方法还可以包括:
保存该第二更新时间和所更新生成的当前全量数据。
其中,该第二更新时间为下一次更新过程中作为第一更新时间的时间,而当前全量数据未下一次更新过程中作为历史全量数据的数据。
可以理解的是,如果服务器判断出该自身所存储的该目标对象的当前全量数据的第二更新时间与该第一更新时间相同,表明该当前全量数据相对于历史全量数据未发生更新,则可以采用现有技术的方式处理,例如:反馈表明全量数据未发生更新的请求结果。
本实施例中,在接收到用户发出的关于目标对象的全量数据的请求后,构建并向服务器发送针对于该目标对象的数据请求;接收该服务器反馈的包含该目标部分数据、该目标路径位和该目标操作位的请求结果;在本地存储的该历史全量数据中的该目标路径位所指示的路径中对该目标部分数据执行该目标操作位所指示的操作,以将该历史全量数据更新为该服务器所存储的当前全量数据。可见,与现有技术相比,本方案仅仅更新相对于历史全量数据所发生更新的部分数据,更新数据量较小,因此,能够提高数据更新速率。
基于上述从客户端设备的角度所提供的一种数据更新方法,本发明实施例从服务器的角度还提供了一种数据更新方法。下面从服务器的角度,介绍本发明实施例所提供的另一种数据更新方法。其中,本实施例所提供的数据更新方法的执行主体为服务器内的一种数据更新装置。
如图2所示,本实施例所提供的一种数据更新方法,可以包括如下步骤:
S201,获得客户端设备发送的针对于目标对象的数据请求;
其中,该数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,该历史全量数据为存储于所述客户端设备本地的、上一次更新处理所生成的全量数据,该第一更新时间为存储于所述客户端设备本地的、该服务器向该客户端设备反馈的该历史全量数据在该服务器内发生更新的时间。
S202,确定自身所存储的该目标对象的当前全量数据所对应的第二更新时间;
在获得客户端设备发送的针对于目标对象的数据请求后,可以确定自身所存储的该目标对象的当前全量数据所对应的第二更新时间,进而利用所确定出的第二更新时间执行后续的操作。
S203,判断该第二更新时间是否不同于该第一更新时间;
S204,当判断出该第二更新时间不同于该第一更新时间时,获得该当前全量数据相对于该第一更新时间所对应历史全量数据发生更新的目标部分数据、该目标部分数据在该历史全量数据中的目标路径位和该目标部分数据所对应的目标操作位;
其中,在获得该第二更新时间后,可以判断该第二更新时间是否不同于第一更新时间,根据不同的判断结果执行不同的操作,也就是,判断当前全量数据相对于该历史全量数据是否发生更新。其中,当判断出该第二更新时间不同于该第一更新时间时,则可以获得该当前全量数据相对于该第一更新时间所对应历史全量数据发生更新的目标部分数据、该目标部分数据在该历史全量数据中的目标路径位和该目标部分数据所对应的目标操作位。具体的,该目标操作位所指示的操作,可以包括:删除操作、增加操作或更改操作;并且,目标操作位的展示形式可以根据实际情况进行设定。
需要强调的是,服务器和客户端设备预先约定有操作位所指示的具体含义,并且约定有各个路径位所指代的全量数据中的具体位置。并且,第一次请求数据时,由于客户端本地未缓存有目标对象的任何数据,第一更新时间通常为初始时间(例如:0),服务器此时确定出的目标部分数据为当前全量数据。
S205,将包含该目标部分数据、该目标路径位、该目标操作位的请求结果反馈给该客户端设备。
在确定出目标部分数据、该目标路径位和该目标操作位后,可以将包含该目标部分数据、该目标路径位、该目标操作位的请求结果反馈给该客户端设备。相应的,由于预先与服务器约定各类操作位所指示的操作以及路径位所指示内容在全量数据中的位置,该客户端设备在接收到该请求结果后,在本地存储的该历史全量数据中的该目标路径位所指示的路径中对该目标部分数据执行该目标操作位所指示的操作,以将该历史全量数据更新为该服务器所存储的当前全量数据。
更进一步的,为了保证下次全量数据的有效更新,所述请求结果还可以包括:
第二更新时间;
相应的,该客户端设备保存该第二更新时间和所更新生成的该当前全量数据。
可以理解的是,如果服务器判断出该自身所存储的该目标对象的当前全量数据的第二更新时间与该第一更新时间相同,表明该当前全量数据相对于历史全量数据未发生更新,则可以采用现有技术的方式处理,例如:反馈表明全量数据未发生更新的请求结果。
本方案中,当服务器所存储的关于目标对象的当前全量数据的第二更新时间不同于客户端所存储的历史全量数据所对应的第一更新时间时,则获得当前全量数据相对于第一更新时间所对应历史全量数据发生更新的目标部分数据、目标部分数据在历史全量数据中的目标路径位和目标部分数据所对应的目标操作位,并反馈给客户端设备;相应的,客户端设备在本地存储的历史全量数据中的目标路径位所指示的路径中对目标部分数据执行所述目标操作位所指示的操作,以将历史全量数据更新为服务器所存储的当前全量数据。可见,与现有技术相比,本方案仅仅更新相对于历史全量数据所发生更新的部分数据,更新数据量较小,因此,能够提高数据更新速率。
相应于上述从客户端设备所提供的一种数据更新方法,本发明实施例还提供了一种数据更新装置,该装置应用于客户端设备,如图3所示,该装置可以包括:
数据请求构建模块310,用于在接收到用户发出的关于目标对象的全量数据的请求后,构建针对于所述目标对象的携带有所述目标对象的历史全量数据所对应第一更新时间的数据请求;其中,所述历史全量数据为存储于本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于本地的、所述目标对象所对应服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
数据请求发送模块320,用于向所述服务器发送所述数据请求,以使得所述服务器接收到所述数据请求后,如果判断出自身所存储的所述目标对象的当前全量数据的第二更新时间不同于所述第一更新时间,则获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位,并将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备;
请求结果接收模块330,用于接收所述服务器反馈的包含所述目标部分数据、所述目标路径位和所述目标操作位的请求结果;
数据更新模块340,用于在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
本实施例中,在接收到用户发出的关于目标对象的全量数据的请求后,构建并向服务器发送针对于该目标对象的数据请求;接收该服务器反馈的包含该目标部分数据、该目标路径位和该目标操作位的请求结果;在本地存储的该历史全量数据中的该目标路径位所指示的路径中对该目标部分数据执行该目标操作位所指示的操作,以将该历史全量数据更新为该服务器所存储的当前全量数据。可见,与现有技术相比,本方案仅仅更新相对于历史全量数据所发生更新的部分数据,更新数据量较小,因此,能够提高数据更新速率。
具体的,所述服务器反馈的请求结果还包括:第二更新时间;
相应的,所述装置还可以包括:
数据保存模块,用于保存所述第二更新时间和所更新生成的当前全量数据。
相应于从服务器角度所提供的数据更新方法,本发明实施例还提供了一种数据更新装置,该装置应用于服务器,如图4所示,该装置可以包括:
数据请求获得模块410,用于获得客户端设备发送的针对于目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于所述客户端设备本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于所述客户端设备本地的、所述服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
第二更新时间确定模块420,用于确定自身所存储的所述目标对象的当前全量数据所对应的第二更新时间;
时间判断模块430,用于判断所述第二更新时间是否不同于所述第一更新时间,如果是,相关更新信息获得模块440;
所述相关更新信息获得模块440,用于获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位;
请求结果反馈模块450,用于将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备,以使得所述客户端设备在接收到所述请求结果后,在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
本方案中,当服务器所存储的关于目标对象的当前全量数据的第二更新时间不同于客户端设备所存储的历史全量数据所对应的第一更新时间时,则获得当前全量数据相对于第一更新时间所对应历史全量数据发生更新的目标部分数据、目标部分数据在历史全量数据中的目标路径位和目标部分数据所对应的目标操作位,并反馈给客户端设备;相应的,客户端设备在本地存储的历史全量数据中的目标路径位所指示的路径中对目标部分数据执行所述目标操作位所指示的操作,以将历史全量数据更新为服务器所存储的当前全量数据。可见,与现有技术相比,本方案仅仅更新相对于历史全量数据所发生更新的部分数据,更新数据量较小,因此,能够提高数据更新速率。
更进一步的,所述请求结果反馈模块450所反馈的所述请求结果还包括:
第二更新时间;
相应的,所述客户端设备保存所述第二更新时间和所更新生成的所述当前全量数据。
具体的,所述相关更新信息获得模块获得的所述目标操作位所指示的操作,包括:删除操作、增加操作或更改操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据更新方法,其特征在于,应用于服务器,所述方法包括:
获得客户端设备发送的针对于目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于所述客户端设备本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于所述客户端设备本地的、所述服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
确定自身所存储的所述目标对象的当前全量数据所对应的第二更新时间;
判断所述第二更新时间是否不同于所述第一更新时间,如果是,获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位,所述目标部分数据为:包含所述发生更改的数据的、能够通过路径位指示的部分数据;
将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备,以使得所述客户端设备在接收到所述请求结果后,在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
2.根据权利要求1所述的方法,其特征在于,所述请求结果还包括:
第二更新时间;
相应的,所述客户端设备保存所述第二更新时间和所更新生成的所述当前全量数据。
3.根据权利要求1或2所述的方法,其特征在于,所述目标操作位所指示的操作,包括:删除操作、增加操作或更改操作。
4.一种数据更新方法,其特征在于,应用于客户端设备,所述方法包括:
在接收到用户发出的关于目标对象的全量数据的请求后,构建针对于所述目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于本地的、所述目标对象所对应服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
向所述服务器发送所述数据请求,以使得所述服务器接收到所述数据请求后,如果判断出自身所存储的所述目标对象的当前全量数据的第二更新时间不同于所述第一更新时间,则获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位,并将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备,所述目标部分数据为:包含所述发生更改的数据的、能够通过路径位指示的部分数据;
接收所述服务器反馈的包含所述目标部分数据、所述目标路径位和所述目标操作位的请求结果;
在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
5.根据权利要求4所述的方法,其特征在于,所述服务器反馈的请求结果还包括:第二更新时间;
相应的,所述方法还包括:
保存所述第二更新时间和所更新生成的当前全量数据。
6.一种数据更新装置,其特征在于,应用于服务器,所述装置包括:
数据请求获得模块,用于获得客户端设备发送的针对于目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于所述客户端设备本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于所述客户端设备本地的、所述服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
第二更新时间确定模块,用于确定自身所存储的所述目标对象的当前全量数据所对应的第二更新时间;
时间判断模块,用于判断所述第二更新时间是否不同于所述第一更新时间,如果是,相关更新信息获得模块;
所述相关更新信息获得模块,用于获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位,所述目标部分数据为:包含所述发生更改的数据的、能够通过路径位指示的部分数据;
请求结果反馈模块,用于将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备,以使得所述客户端设备在接收到所述请求结果后,在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
7.根据权利要求6所述的装置,其特征在于,所述请求结果反馈模块所反馈的所述请求结果还包括:
第二更新时间;
相应的,所述客户端设备保存所述第二更新时间和所更新生成的所述当前全量数据。
8.根据权利要求6或7所述的装置,其特征在于,所述目标操作位所指示的操作,包括:删除操作、增加操作或更改操作。
9.一种数据更新装置,其特征在于,应用于客户端设备,所述装置包括:
数据请求构建模块,用于在接收到用户发出的关于目标对象的全量数据的请求后,构建针对于所述目标对象的数据请求;其中,所述数据请求携带有所述目标对象的历史全量数据所对应的第一更新时间,所述历史全量数据为存储于本地的、上一次更新处理所生成的全量数据,所述第一更新时间为存储于本地的、所述目标对象所对应服务器向所述客户端设备反馈的所述历史全量数据在所述服务器内发生更新的时间;
数据请求发送模块,用于向所述服务器发送所述数据请求,以使得所述服务器接收到所述数据请求后,如果判断出自身所存储的所述目标对象的当前全量数据的第二更新时间不同于所述第一更新时间,则获得所述当前全量数据相对于所述第一更新时间所对应历史全量数据发生更新的目标部分数据、所述目标部分数据在所述历史全量数据中的目标路径位和所述目标部分数据所对应的目标操作位,并将包含所述目标部分数据、所述目标路径位、所述目标操作位的请求结果反馈给所述客户端设备,所述目标部分数据为:包含所述发生更改的数据的、能够通过路径位指示的部分数据;
请求结果接收模块,用于接收所述服务器反馈的包含所述目标部分数据、所述目标路径位和所述目标操作位的请求结果;
数据更新模块,用于在本地存储的所述历史全量数据中的所述目标路径位所指示的路径中对所述目标部分数据执行所述目标操作位所指示的操作,以将所述历史全量数据更新为所述服务器所存储的当前全量数据。
10.根据权利要求9所述的装置,其特征在于,所述服务器反馈的请求结果还包括:第二更新时间;
相应的,所述装置还包括:
数据保存模块,用于保存所述第二更新时间和所更新生成的当前全量数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510146282.0A CN104702703B (zh) | 2015-03-30 | 2015-03-30 | 一种数据更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510146282.0A CN104702703B (zh) | 2015-03-30 | 2015-03-30 | 一种数据更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702703A CN104702703A (zh) | 2015-06-10 |
CN104702703B true CN104702703B (zh) | 2019-03-15 |
Family
ID=53349461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510146282.0A Active CN104702703B (zh) | 2015-03-30 | 2015-03-30 | 一种数据更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702703B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634801A (zh) * | 2015-12-25 | 2016-06-01 | 北京奇虎科技有限公司 | 更新数据的方法及装置 |
CN106445588B (zh) * | 2016-09-08 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 属性信息的更新方法及装置 |
CN107423059A (zh) * | 2017-07-07 | 2017-12-01 | 北京小米移动软件有限公司 | 页面的显示方法、装置及终端 |
CN108512948B (zh) * | 2018-03-21 | 2022-05-17 | 平安普惠企业管理有限公司 | 通讯录更新方法、装置、计算机设备和存储介质 |
CN109634971B (zh) * | 2018-11-07 | 2024-01-23 | 平安科技(深圳)有限公司 | 数据更新方法、装置、设备及计算机可读存储介质 |
CN115834697B (zh) * | 2022-11-16 | 2024-09-06 | 北京奇艺世纪科技有限公司 | 一种文件存储方法、系统、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741830A (zh) * | 2009-11-09 | 2010-06-16 | 深圳市同洲电子股份有限公司 | 实现多客户端数据同步的方法、系统、客户端及服务器 |
CN103595808A (zh) * | 2013-11-20 | 2014-02-19 | 珠海金山办公软件有限公司 | 一种文件更新信息推送方法及装置 |
CN103812849A (zh) * | 2012-11-15 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种本地缓存更新方法、系统、客户端及服务器 |
CN103905441A (zh) * | 2014-03-28 | 2014-07-02 | 广州华多网络科技有限公司 | 数据获取方法及装置 |
CN103916373A (zh) * | 2013-01-07 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 数据更新的方法、服务器、客户端以及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873451B (zh) * | 2012-12-17 | 2017-03-29 | 中国移动通信集团公司 | 一种数据同步的方法、设备和系统 |
-
2015
- 2015-03-30 CN CN201510146282.0A patent/CN104702703B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741830A (zh) * | 2009-11-09 | 2010-06-16 | 深圳市同洲电子股份有限公司 | 实现多客户端数据同步的方法、系统、客户端及服务器 |
CN103812849A (zh) * | 2012-11-15 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种本地缓存更新方法、系统、客户端及服务器 |
CN103916373A (zh) * | 2013-01-07 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 数据更新的方法、服务器、客户端以及系统 |
CN103595808A (zh) * | 2013-11-20 | 2014-02-19 | 珠海金山办公软件有限公司 | 一种文件更新信息推送方法及装置 |
CN103905441A (zh) * | 2014-03-28 | 2014-07-02 | 广州华多网络科技有限公司 | 数据获取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104702703A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104702703B (zh) | 一种数据更新方法及装置 | |
US11171903B2 (en) | Techniques for intelligent messaging for message syncing | |
US11157134B2 (en) | Interfaces for a messaging inbox | |
CN110609957B (zh) | 一种进行全局搜索的方法、终端和服务器 | |
US11048406B2 (en) | Methods and systems for defining and transmitting a drawing stroke | |
EP2939200B1 (en) | Method and apparatus for secure advertising | |
CN104268154A (zh) | 一种用于提供推荐信息的方法和装置 | |
CN107786631B (zh) | 一种内容发布方法、装置及电子设备 | |
CN105100349A (zh) | 同步通讯录联系人信息的方法、设备以及系统 | |
CN103986773A (zh) | 一种数据请求响应方法及装置 | |
CN104463631A (zh) | 一种基于二维码的广告展示方法、系统及移动终端 | |
WO2017105808A1 (en) | Providing relevance based dynamic hashtag navigation | |
CN107196980A (zh) | 页面展现流的控制方法、系统及其装置 | |
CN105554290A (zh) | 一种壁纸的分享方法及装置 | |
CN103365892A (zh) | 一种用于对多个联系对象进行处理的方法与设备 | |
US20140258358A1 (en) | Method of combining network data and mobile device using the same | |
CN105677699A (zh) | 一种为用户生成新闻页面的方法和装置 | |
CN112286616A (zh) | 动态壁纸设置方法、装置及电子设备 | |
CN107038078A (zh) | 一种信息分享方法及电子设备 | |
EP3357018A1 (en) | Sorting parsed attachments from communications | |
US20220078250A1 (en) | Method and apparatus of presenting information, electronic device and storage medium | |
US20230367747A1 (en) | Methods and systems for associating content with conversation tuples | |
US10606912B2 (en) | Information processing system, information processing method, and information processing program | |
US10785602B2 (en) | Information processing method and apparatus | |
CN105653584A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |