一种数据缓存和更新的方法和系统的制作方法

文档序号:9929598阅读:518来源:国知局
一种数据缓存和更新的方法和系统的制作方法
【技术领域】
[0001]本发明涉及数据处理技术领域,特别涉及一种数据缓存和更新的方法和系统。
【背景技术】
[0002]随着快速消费品行业SFA(企业销售能力自动化)的普及,业务员利用APP进行日常工作信息分享、查看等操作越来越频繁。为了提高用户体验,需缓存分享的工作信息,一是在无网络的情况下可以显示之前的数据,二是尽量实现加载过的数据无需再次请求即可以查看(无论是有无网络的情况下)。
[0003]现有的数据缓存更新的方法,应用较多的是基于时间戳的方法。该方法在本地保存一个时间戳,更新完数据后把时间戳置为最新,下次更新时就只需更新修改时间大于本地时间戳的数据即可,但每次更新都需要把所有待更新的数据更新完才能修改时间戳,不然会出现数据缺口或数据重复更新。该方法不适合前文所述的场景,业务员查看分享信息时,只需显示最新的一段数据,然后按需更新数据,并不一定会查看全部数据。如果采用时间戳的方法浪费了用户的流量。

【发明内容】

[0004]本发明提出种数据缓存和更新的方法和系统,能够按需更新数据,并能够节省用户的流量。
[0005]具体方案如下:
[0006]—种数据缓存和更新的方法,包括更新最新数据、向上更新数据以及向下更新数据中的一种或多种方式,步骤如下:
[0007]S1:根据更新方式分别按照不同的协议请求更新数据;
[0008]S2:根据更新方式返回对应符合协议要求的数据;
[0009]S3:将返回的数据写入内容存储单元;
[0010]S4:更新连续内容ID存储单元。
[0011 ]其中,所述的更新最新数据的具体步骤是:
[0012]SlOl:按照第一请求协议请求到内容提供者请求最新数据,第一请求协议包括本地内容缓存所属的设备的ID、内容存储单元里最大的内容ID、更新最新数据标识、更新数据的数量limit;
[0013]S102:内容提供者查找并返回内容ID大于本地内容缓存内容存储单元里最大的内容ID,且设备ID等于本地内容缓存所属的设备ID的内容,如果查找的内容大于limit条,则只返回内容ID最大的前I imi t条,由内容ID的递增性保证返回的内容的连续性;
[0014]S103:将返回的内容写进内容存储单元;
[0015]S104:更新连续内容ID存储单元:
[0016]若更新条数小于第一协议中更新数据的数量,且连续内容ID存储单元有记录,则查找连续内容的最大内容ID的一条记录,将连续内容的最大内容ID更新为返回内容中的最大内容ID,若更新条数小于第一协议中更新数据的数量,且连续内容ID存储单元没有记录,则插入一条记录,连续内容的最大内容ID为返回内容中的最大内容ID,连续内容的最大内容ID为请求应答中的最小内容ID;
[0017 ]若更新条数等于第一协议中更新数据的数量,直接在连续内容ID存储单元插入一条记录,连续内容的最大内容ID为返回内容中的最大内容ID,连续内容的最大内容ID为请求应答中的最小内容ID。
[0018]其中,向上更新数据的具体步骤是:
[0019]S201:按照第二请求协议请求到内容提供者请求最新数据,第二请求协议包括本地内容缓存所属的设备的ID、内容存储单元里最大的内容ID、向上更新数据标识、更新数据的数量limit;
[0020]S202:内容提供者查找并返回内容ID大于本地内容缓存内容存储单元里最大的内容ID,且设备ID等于本地内容缓存所属的设备ID的内容,如果查找的内容大于limit条,则只返回内容ID最小的前I imi t条,由内容ID的递增性保证返回的内容的连续性;
[0021]S203:将返回的内容写进内容存储单元;
[0022]S204:更新连续内容ID存储单元:
[0023]若连续内容ID存储单元有记录,则查找连续内容的最大内容ID的一条记录,将连续内容的最大内容ID更新为返回内容中的最大内容ID;
[0024]若连续内容ID存储单元没有记录,则插入一条记录,连续内容的最大内容ID为返回内容中的最大内容ID,连续内容的最大内容ID为请求应答中的最小内容ID。
[0025]其中,向下更数据的具体步骤是:
[0026]S301:判断当前所在内容的内容ID与连续内容ID存储单元当中连续内容的最小内容ID是否相等,所述的连续内容的最小内容ID为连续内容的最大内容ID最大记录所对应,如果两者不相等,则直接加载内容存储单元中内容ID在两者之间的内容,如果两者相等,则按照第三请求协议请求到内容提供者请求最新数据,第三请求协议包括本地内容缓存所属的设备的ID、当前所在的内容的ID、向下更新数据标识、连续内容ID存储单元里小于当前所在的内容的ID的最大连续内容的最大内容ID minContentld、更新数据的数量limit;
[0027]S303:内容提供者查找并返回内容ID大于minContentld,且小于当前所在的内容的ID且设备ID等于本地内容缓存所属的设备ID的内容,如果查找的内容大于I imi t条,则只返回内容ID最大的前I imi t条,由内容ID的递增性保证返回的内容的连续性;
[0028]S304:将返回的内容写进内容存储单元;
[0029]S305:更新连续内容ID存储单元:
[0030]若更新条数小于第三协议中更新数据的数量,则合并连续内容ID存储单元里连续内容的最大内容ID最大的两条记录,如果连续内容ID存储单元里只有一条记录,则更新记录的连续内容的最小内容ID为返回内容中最小的内容ID;
[0031]若更新条数等于第三协议中更新数据的数量,则更新连续内容ID存储单元中连续内容的最大内容ID最大的记录的连续内容的最小内容ID为返回内容中的最小的内容ID。
[0032]其中,本地内容缓存所属的设备的ID具有唯一性。
[0033]—种数据缓存和更新的系统,包括:内容提供者存储单元、本地内容缓存模块,所述的内容提供者存储单元存储内容提供者提供的内容,并由ID能唯一识别出内容,且ID依次递增,并标识该内容所属的设备ID,
[0034]所述的本地内容缓存模块包括内容存储单元、连续内容ID存储单元、控制模块,所述的内容存储单元存储与所述的内容提供者存储单元中对应的内容,并与内容提供者存储单元中的内容ID对应,
[0035]所述的连续内容ID存储单元存储连续内容的最大内容ID及连续内容的最小内容ID,
[0036]所述的控制模块按照不同的请求协议请求数据,将返回的内容写进内容存储单元,并更新连续内容ID存储单元。
[0037]与现有技术相比,本发明所采用的数据缓存更新方法,能够减少数据的重复更新,并且当共享的信息很多时,能按需更新信息,减少不必要信息的更新。
【附图说明】
[0038]图1为实施例内容提供者的存储单元的数据结构;
[0039]图2为实施例内容存储单元的数据结构;
[0040]图3为实施例连续内容ID存储单元的数据结构;
[0041 ]图4为实施例请求更新协议字段说明图;
[0042]图5为实施例返回请求应答协议的字段说明图;
[0043]图6为实施例数据缓存更新方法大致流程图。
【具体实施方式】
[0044]为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。现结合附图和【具体实施方式】对本发明进一步说明。
[0045]本实施例的数据缓存更新系统包括:内容提供者存储单元、本地内容缓存模块。
[0046]结合图1,示出了内容提供者的存储单元的数据结构,包括content Id、deviceld、content三个字段,分别对应内容IcU设备IcU内容,其中内容由contentld唯一识别,并且content Id是递增的,并标识该内容所属的deviceld content Id、deviceld均为整型,content为字符串类型。
[0047]本地内容缓存模块包括内容存储单元、连续内容ID存储单元、控制模块,
[0048]结合图2,示出了内容存储单元的数据结构,包括contentId、content字段,分别对应内容Id、内容,其中内容由contentld唯一识别,并且contentld是递增的,与内容提供者的存储单元中的content Id、content字段具有对应的关系。content Id为整型。
[0049]结合图3,示出了连续内容ID存储单元的数据结构,包括maxContentld、minContentld字段,分别连续内容的最大内容Id、连续内容的最小内容Id,maxContent Id、minContentld均为整型,连续内容ID存储单元中的每一字段所对应的数据会随着整体数据的更新而发生变化。
[0050]控制模块按照不同的请求协议请求数据,将返回的内容写进内容存储单元,并更新连续内容ID存储单元。
[0051]本领域的技术人员应该知道,上述的系统中各数据结构的字段命名并不作限定,但不能脱离该字段所代表的意义,而对应的数据类型也可根据实际适当进行改变。
[0052]基于上述的数据缓存更新系统,本实施例的数据缓存更新方法如下:该实施例中采用的本地内容缓存到内容提供者的请求更新的协议大致如下:
[0053]{
[0054]deviceld:1,contentld:O,direct1n:O,minContentld:O, limit:O
[0055]}
[0056]结合图4,示出了各字段表述的含义,其中deviceld为本地内容缓存所属的设备的1(1,代€6代1106(]01^6111:1(1为参照内容10,(1;[代(31:;[011为数据更新的方向,以值为O时对应最新的数据,值为I时对应向上更新数据,值为2时对应向下更新数据,minContent I d为更新时的结束Id,该字段尽在向下更新数据时有效,limit为更新数据的数量。
[0057]内容提供者返回给本地内容缓存的请求应答的协议大致如下:
[0058][{contentld:1,content:HeIΙο},{contentld:2,content:World}]
[0059]结合图5,示出了返回请求应答协议的各字段说明。
[0060]本领域的技术人员应该知道,协议中字段的的字段命名并不作限定,但不脱离该字段所代表的意义,而对数据更新方向的标识值在保证各标识互不相同的情况下也可做适当的改变。
[0061]本实施例的数据缓存更新方法包括更新最新数据、向上更新数据以及向下更新数据的方式,结合图6
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1