一种数据更新方法及装置的制造方法_2

文档序号:8383850阅读:来源:国知局
存储的历史全量数据中的目标路径位所指示的路径中对目标部分数据执行所述目标操作位所指示的操作,以将历史全量数据更新为服务器所存储的当前全量数据。可见,与现有技术相比,本方案仅仅更新相对于历史全量数据所发生更新的部分数据,更新数据量较小,因此,能够提高数据更新速率。
【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本发明实施例从客户端设备角度所提供的一种数据更新方法的流程图;
[0045]图2为本发明实施例从服务器角度所提供的一种数据更新方法的流程图;
[0046]图3为本发明实施例从客户端设备角度所提供的一种数据更新装置的结构示意图;
[0047]图4为本发明实施例从服务器角度所提供的一种数据更新装置的结构示意图。
【具体实施方式】
[0048]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]为了提高数据更新速率,本发明实施例提供了一种数据更新方法及装置。
[0050]下面首先介绍本发明实施例所提供的一种数据更新方法。
[0051]为了清楚起见,首先从客户端设备的角度介绍本发明实施例所提供的一种数据更新方法。其中,在实际应用中,本实施例中的该客户端设备可以为:智能手机、笔记本电脑、平板电脑等。
[0052]并且,本实施例的执行主体可以为位于客户端设备内的数据更新装置;可以理解的是,位于客户端设备内的数据更新装置可以为用于展示对象的客户端软件。举例而言:该客户端软件可以为浏览器软件,多媒体类客户端软件、工具型客户端软件等等,这都是合理的。
[0053]如图1所示,一种数据更新方法,应用于客户端设备,所述方法包括:
[0054]S101,在接收到用户发出的关于目标对象的全量数据的请求后,构建针对于该目标对象的数据请求;
[0055]客户端设备在接收到用户发出的关于目标对象的全量数据的请求后,表明目标对象的全量数据的更新过程被触发,此时,可以构建针对于目标对象的数据请求,以向该目标对象所对应服务器请求关于该目标对象的待更新数据。具体的,该数据请求携带有该目标对象的历史全量数据所对应的第一更新时间,该历史全量数据为存储于本地的、上一次更新处理所生成的全量数据,该第一更新时间为存储于本地的、该目标对象所对应服务器向该客户端设备反馈的该历史全量数据在该服务器内发生更新的时间。
[0056]需要说明的是,该目标对象为客户端软件需要输出给用户的数据内容的载体,例如:该目标对象可以为客户端软件的页面,当然并不局限于此;并且,对于一个对象而言,由于其可以为逻辑上不可分割的一个整体,因此,该对象可以对应存在一份全量数据;而由于可以逻辑上分割为多个子部分,因此,该对象可以存在多份全量数据,其中,子部分与全量数据具有唯一对应性。
[0057]可以理解的是,对于一个对象而言,该对象展示时所需的所有数据可以作为一份全量数据,例如,爱奇艺视频客户端中的某一页面由二十组视频信息组成的,那么该页面的全量数据可以是该二十组视频信息的集合,每组视频信息具体可以包括每个视频的图片地址、视频名、视频的描述等等一切信息;而部分数据组成全量数据的某一部分,可能是是几组视频信息,可能是一组视频信息,还可能是某组视频信息中的某些元素,如图片地址或视频描述等等。当然,一个对象也可以对应多份全量数据,例如,打开爱奇艺视频客户端,首页中的视频列表区域所需的所有数据可以作为一份全量数据,首页中的功能区域所需的所有数据可以作为一份全量数据,等等。
[0058]S102,向该服务器发送该数据请求;
[0059]其中,在构建关于目标对象的数据请求后,可以向该目标对象所对应的服务器发送该数据请求。相应的,该服务器接收到该数据请求后,如果判断出自身所存储的该目标对象的当前全量数据的第二更新时间不同于该第一更新时间,表明服务器所存储的当前全量数据相对于客户端设备所存储的历史全量数据已经发生更新了,因此,可以获得该当前全量数据相对于该第一更新时间所对应历史全量数据发生更新的目标部分数据、该目标部分数据在该历史全量数据中的目标路径位和该目标部分数据所对应的目标操作位,并将包含该目标部分数据、该目标路径位、该目标操作位的请求结果反馈给该客户端设备。需要说明的是,该目标部分数据为能够通过目标路径位指示的数据内容,其中,如果发生更改的数据的粒度小到无法通过路径位指示,此时,向客户端设备反馈的目标部分数据为:包含所述发生更改的数据的、能够通过路径位指示的部分数据。
[0060]其中,在实际应用中,该目标操作位所指示的操作,可以包括:删除操作、增加操作或更改操作;并且,目标操作位的展示形式可以根据实际情况进行设定,例如通过数字形式、字母形式、数字与字母结合形式,这都是合理的。并且,所确定出的发生更新的目标部分数据为能够对应有唯一路径位的数据,其可以等同于实际发生更新的数据,也可以为包含有实际发生更新的数据。
[0061]需要强调的是,服务器和客户端设备预先约定有操作位所指示的具体含义,并且约定有各个路径位所指代的全量数据中的具体位置。并且,第一次请求数据时,由于客户端本地未缓存有目标对象的任何数据,第一更新时间通常为初始时间(例如:0),服务器此时确定出的目标部分数据为当前全量数据。
[0062]举例而言:对于上述对象的全量数据由二十组视频信息组成的情况而言,全量数据所对应的路径位可以为Root ;二十组视频信息中的第三组(下标从O开始)视频信息所对应的路径位可以为RootOArray (2);第三组视频信息中的标题所对应的路径位可以为Root->Array (2) ->Title,等等。
[0063]需要强调的是,上述所列举的路径位的具体形式仅仅作为示例,路径位并不是固定的内容或形式,其可以依据对象的全量数据的内容动态变化,例如:如果对象为包含好友列表的个人信息页,指代用户名的路径位的形态可以为RootOUsername,或者,指代用户好友列表中的第一个好友的路径位的形态可以为:Root->Friends->Array (O)。也就是,路径位与具体的页面以及业务逻辑相关联,客户端设备会按照服务器发来的路径位对已有的数据缓存进行部分更新,如果路径位对不上,则不会进行更新。
[0064]并且,与现有技术相比,服务器和客户端设备传输数据时所采集用的数据结构可以转换为类树形结构,该类树形结构可以为数组形式或者key = >value对象组成的集合的形式,具体的,对于客户端设备安装有1S系统(1S是由苹果公司为iPhone开发的操作系统)的情况,该数据结构可以为字典(NSDict1nary)形式,对于客户端设备安装有安卓系统的情况,该数据结构可以为哈希表(HashMap)形式。
[0065]S103,接收该服务器反馈的包含该目标部分数据、该目标路径位和该目标操作位的请求结果;
[0066]S104,在本地存储的该历史全量数据中的该目标路径位所指示的路径中对该目标部分数据执行该目标操作位所指示的操作,以将该历史全量数据更新为该服务器所存储的当前全量数据。
[0067]在获得服务器反馈的请求结果后,由于预先与服务器约定各类操作位所指示的操作以及路径位所指示内容在全量数据中的位置,因此,客户端设备在本地存储的该历史全量数据中的该目标路径位所指示的路径中对该目标部分数据执行该目标操作位所指示的操作,以将该历史全量数据更新为该服务器所存储的当前全量数据,从而通过在本地对服务器内所更新数据的更新来实现对关于目标对象的全量数据的更新,保证了客户端设备与服务器内所存储的关于目标对象的全量数据的数据内容相同。
[0068]更进一步的,为了保证下次全量数据的有效更新,该服务器反馈的请求结果还可以包括:第二更新时间;
[0069]相应的,从客户端设备的角度,所述数据更新方法还可以包括:
[0070]保存该第二更新时间和所更新生成的当前全量数据。
[0071]其中,该第二更新时间为下一次更新过程中作为第一更新时间的时间,而当前全量数据未下一次更新过程中作为历史全量数据的数据。
[0072]可以理解的是,如果服务器判断出该自身所存储的该目标对象的当前全量数据的第二更新时间与该第一更新时间相同,表明该当前全量数据相对于历史全量数据未发生更新,则可以采用现有技术的方式处理,例如:反馈表明全量数据未发生更新的请求结果。
[0073]本实施例中,在接收到用户发出的关于目标对象的全量数据的请求后,构建并向服务器发送针对于该目标对象的数据请求;接收该服务器反馈的包含该目标部分数据、该目标路径位和该目标操作位的请求结果;在本地存储的该历史全量数据中的该目标路
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1