一种app版本增量更新方法

文档序号:6623330阅读:505来源:国知局
一种app版本增量更新方法
【专利摘要】本发明提供一种APP版本增量更新方法,主要针对手持设备上的通讯软件实现好友增量更新,通过服务端记录增加、删除和修改的好友资料版本号,并存入缓存数据库,客户端发送增量更新请求后从缓存中读取数据,获取增量,完成好友资料增量更新。本发明具有如下优点:当用户好友修改资料时,用户进入好友列表只需要获取好友资料的增量更新,而不用获取所有好友的信息列表,减少了客户端的流量使用,也解决了接口请求速度慢的问题,让APP运行更加的流畅。
【专利说明】一种APP版本增量更新方法

【技术领域】
[0001]本发明涉及一种增量更新方法,更具体地说,涉及一种关于应用程序版本的增量更新方法。

【背景技术】
[0002]目前,手持设备中的应用程序数据更新时,客户端每次都要向服务器请求全量获取数据以完成更新,这样不仅接口请求速度慢且客户端耗费流量多,同时对服务端也会造成很大的压力。
[0003]Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的应用程序编程接口(API)。Redis使用了两种文件格式:全量数据和增量请求。全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载;增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行r印lay得到数据。当应用程序数据更新时,客户端发送增量请求,可以从Redis缓存中读取数据。


【发明内容】

[0004]本发明要解决的技术问题,在于提供一种APP (应用程序)版本增量更新方法,主要针对手持设备上的通讯软件实现好友增量更新,通过服务端记录增加、删除和修改的好友资料版本号,并存入缓存数据库,客户端发送增量更新请求后从缓存中读取数据,获取增量,完成好友资料增量更新。这样加快了接口请求速度且减少了流量的使用。
[0005]本发明要解决的技术问题是这样实现的:一种APP版本增量更新方法,包括同一设备的增量更新方法和不同设备间的增量更新方法:
所述同一设备的增量更新方法包括:
步骤10、手持设备,即客户端上的通讯软件APP中的每一位好友对应一个成员序号和初始值为I的现有版本号,所述成员序号和现有版本号形成一份好友列表:若其中一位好友的个人资料,包括用户名称、头像、最后登录地址、最后活动时间、状态和生命值在内的六个属性修改时,该好友对应的现有版本号增加I ;
步骤11、在服务器端的数据库创建一张现有好友更新列表,表中记录好友的最新版本号和步骤10所述个人资料的六个属性所分别对应的属性版本号,所述最新版本号和属性版本号的初始值均为1,当好友个人资料的六个属性中一个或者复数个属性被更新时,好友的最新版本号增加1,并且被更新的属性所对应的属性版本号修改为所述最新版本号增加I后的值,其他没有被更新的属性版本号不变;
步骤12、用户先全量获取未更新的好友列表,然后保存在客户端,每次增量更新好友列表时,客户端将所述未更新的好友列表上传到服务器端;
步骤13、服务器端从缓存中获取更新后的好友列表,对比步骤12所述未更新的好友列表:如果服务器端存在的成员序号而客户端不存在,说明这个成员序号对应的好友是新添加的,将这个成员序号对应好友的现有版本号和个人资料的六个属性版本号都添加到增量表中;如果服务器端不存在的成员序号而客户端存在,说明这个成员序号对应的好友已经被删除了,将这个成员序号对应好友的现有版本号和成员序号添加到增量表中,并把该好友的现有版本号记为-1,表不该好友对应的成员序号已经从好友列表中删除;
步骤14、结合步骤13,根据剩余好友对应的成员序号和现有版本号,从步骤11所述现有好友更新列表中取出剩余好友中最新版本号大于现有版本号的记录,然后将该好友个人资料的六个属性版本号分别与步骤12所述未更新的好友列表中对应的属性版本号对比,如果其中有属性的属性版本号大于未更新的好友列表中对应的属性版本号,则取出该属性的属性版本号添加到增量表中;
步骤15、服务器端每次都将更新后的好友列表存入Redis缓存数据库中,当客户端请求增量更新时,客户端先从增量表中获取增量再从Redis缓存数据库中读取所述增量对应的数据,实现客户端增量更新好友列表;
所述不同设备间的增量更新方法包括:
步骤20、第一次登陆的客户端版本号记为1,之后每使用一次不同的客户端登陆,客户端版本号会依次增加1,并把最高的客户端版本号返回给服务器端版本号;
步骤21、将客户端版本号与服务器端版本号对比,若客户端版本号小于服务器端版本号,则客户端请求增量更新,客户端先从增量表中获取增量再从Redis缓存数据库中读取所述增量对应的数据,实现客户端增量更新好友列表。
[0006]进一步的,所述服务器端对修改好友备注,增加、删除和修改好友分组的操作,月艮务器端要先判断所述更新后的好友列表中是否有相应的成员序号和现有版本号:若有,则删除的好友对应的现有版本号会在增量表中记为-1,修改的好友对应的现有版本号增加I后记在增量表中,增加的好友对应的现有版本号会添加到增量表中,并将每次更新后的好友列表存入Redis缓存数据库中,方便服务器端和客户端提取数据。
[0007]本发明具有如下优点:通过APP上好友增量更新的方法实现当用户好友修改资料时,用户进入好友列表只需要获取好友资料的增量更新,而不用获取所有好友的信息列表,减少了客户端的流量使用,也解决了接口请求速度慢的问题,让APP运行更加的流畅。

【专利附图】

【附图说明】
[0008]下面参照附图结合实施例对本发明作进一步的说明。
[0009]图1为本发明在同一设备增量更新的方法流程图。
[0010]图2为本发明在不同设备间增量更新的方法流程图。

【具体实施方式】
[0011]参照图1所示,在同一设备的增量更新方法具体过程如下:
步骤10、手持设备,即客户端上的通讯软件中的每一位好友对应一个成员序号member ID和初始值为I的现有版本号vers1n,所述memberID和vers1n形成一份好友列表:若其中一位好友的个人资料,包括用户名称、头像、最后登录地址、最后活动时间、状态和生命值在内的六个属性修改时,该好友对应的vers1n增加I ;
步骤11、在服务器端的数据库创建一张现有好友更新列表t_member_update_log,表中记录好友的最新版本号newest-vers1n和步骤10所述个人资料的六个属性所分别对应的属性版本号,所述newest-vers1n和属性版本号的初始值均为I,当好友个人资料的六个属性中一个或者复数个属性被更新时,好友的newest-vers1n增加I,并且被更新的属性所对应的属性版本号修改为所述newest-vers1n增加I后的值,其他没有被更新的属性版本号不变;
步骤12、用户先全量获取未更新的好友列表,然后保存在客户端,每次增量更新好友列表时,客户端将所述未更新的好友列表上传到服务器端;
步骤13、服务器端从缓存中获取更新后的好友列表,对比步骤12所述未更新的好友列表:如果服务器端存在的memberID而客户端不存在,说明这个memberID对应的好友是新添加的,将这个memberID对应好友的vers1n和个人资料的六个属性版本号都添加到增量表中;如果服务器端不存在的memberID而客户端存在,说明这个memberID对应的好友已经被删除了,将这个memberID对应好友的vers1n和memberID添加到增量表中,并把该好友的vers1n记为-1,表示该好友对应的memberID已经从好友列表中删除;
步骤14、结合步骤13,根据剩余好友对应的memberID和vers1n,从步骤11所述t_member_update_log中取出剩余好友中newest-vers1n大于vers1n的记录,然后将该好友个人资料的六个属性版本号分别与步骤12所述未更新的好友列表中对应的属性版本号对比,如果其中有属性的属性版本号大于未更新的好友列表中对应的属性版本号,则取出该属性的属性版本号添加到增量表中;
步骤15、服务器端每次都将更新后的好友列表存入Redis缓存数据库中,当客户端请求增量更新时,客户端先从增量表中获取增量再从Redis缓存数据库中读取所述增量对应的数据,实现客户端增量更新好友列表。
[0012]所述不同设备间的增量更新方法包括:
步骤20、第一次登陆的客户端版本号记为1,之后每使用一次不同的客户端登陆,客户端版本号会依次增加1,并把最高的客户端版本号返回给服务器端版本号;
步骤21、将客户端版本号与服务器端版本号对比,若客户端版本号小于服务器端版本号,则客户端请求增量更新,客户端先从增量表中获取增量再从Redis缓存数据库中读取所述增量对应的数据,实现客户端增量更新好友列表。
[0013]虽然以上描述了本发明的【具体实施方式】,但是熟悉本【技术领域】的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
【权利要求】
1.一种APP版本增量更新方法,其特征在于,包括同一设备的增量更新方法和不同设备间的增量更新方法:所述同一设备的增量更新方法包括: 步骤10、手持设备,即客户端上的通讯软件中的每一位好友对应一个成员序号和现有版本号,所述现有版本号设有初始值,所述成员序号和现有版本号形成一份好友列表:若其中一位好友的个人资料,包括用户名称、头像、最后登录地址、最后活动时间、状态和生命值在内的六个属性中一个或者复数个属性更新时,该好友对应的现有版本号数值会增加;步骤11、在服务器端的数据库创建一张现有好友更新列表,表中记录好友的最新版本号和步骤10所述个人资料的六个属性所分别对应的属性版本号,所述最新版本号和属性版本号均设有初始值,当好友个人资料的六个属性中一个或者复数个属性被更新时,好友的最新版本号数值增加,并且被更新的属性所对应的属性版本号修改为所述最新版本号数值增加后的值,其他没有被更新的属性版本号不变; 步骤12、用户先全量获取未更新的好友列表,然后保存在客户端,每次增量更新好友列表时,客户端将所述未更新的好友列表上传到服务器端; 步骤13、服务器端从缓存中获取更新后的好友列表,对比步骤12所述未更新的好友列表:如果服务器端存在的成员序号而客户端不存在,说明这个成员序号对应的好友是新添加的,将这个成员序号对应好友的现有版本号和个人资料的六个属性版本号都添加到增量表中;如果服务器端不存在的成员序号而客户端存在,说明这个成员序号对应的好友已经被删除了,将这个成员序号对应好友的现有版本号和成员序号添加到增量表中,并把该好友的现有版本号记为负数,表不该好友对应的成员序号已经从好友列表中删除; 步骤14、结合步骤13,根据剩余好友对应的成员序号和现有版本号,从步骤11所述现有好友更新列表中取出剩余好友中最新版本号大于现有版本号的记录,然后将该好友个人资料的六个属性版本号分别与步骤12所述未更新的好友列表中对应的属性版本号对比,如果其中有属性的属性版本号大于未更新的好友列表中对应的属性版本号,则取出该属性的属性版本号添加到增量表中; 步骤15、服务器端每次都将更新后的好友列表存入Redis缓存数据库中,当客户端请求增量更新时,客户端先从增量表中获取增量再从Redis缓存数据库中读取所述增量对应的数据,实现客户端增量更新好友列表; 所述不同设备间的增量更新方法包括: 步骤20、第一次登陆的客户端版本号设有初始值,之后每使用一次不同的客户端登陆,客户端版本号数值会依次增加,并把最高的客户端版本号返回给服务器端版本号; 步骤21、将客户端版本号与服务器端版本号对比,若客户端版本号小于服务器端版本号,则客户端请求增量更新,客户端先从增量表中获取增量再从Redis缓存数据库中读取所述增量对应的数据,实现客户端增量更新好友列表。
2.根据权利要求1所述一种APP版本增量更新方法,其特征在于,所述服务器端对修改好友备注,增加、删除和修改好友分组的操作,服务器端要先判断所述更新后的好友列表中是否有相应的成员序号和现有版本号:若有,则删除的好友对应的现有版本号会在增量表中记为负数,修改的好友对应的现有版本号数值增加后记在增量表中,增加的好友对应的现有版本号会添加到增量表中,并将每次更新后的好友列表存入Redis缓存数据库中。
【文档编号】G06F9/445GK104182252SQ201410396636
【公开日】2014年12月3日 申请日期:2014年8月13日 优先权日:2014年8月13日
【发明者】刘雄峰, 林华枫, 萧宇翔, 郑艺伟, 蔡佳成, 王亚东, 徐剑, 陈坪太, 陈国辉 申请人:墨仕(厦门)电子商务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1