一种缓存更新方法、装置、设备及存储介质与流程

文档序号:30760602发布日期:2022-07-15 20:46阅读:54来源:国知局
一种缓存更新方法、装置、设备及存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及一种缓存更新方法、装置、设备及存储介质。


背景技术:

2.随着互联网技术的发展,用户可以通过应用(例如独立安装的应用或者依赖其他应用开启的小程序)随时随地访问互联网,给人们的生活、工作及学习带来了极大便利。
3.为了提高访问效率,以更好的为用户提供服务,应用提供了缓存机制,即在缓存区域缓存业务数据,当接收到访问请求后首先在缓存区域中查找,如果缓存区域中有请求的业务数据,那么直接从缓存区域中拉取业务数据进行渲染,如果缓存区域没有请求的业务数据,那么从后台拉取业务数据,并向应用返回该业务数据。
4.目前,业务数据从后台获取过来,缓存在本地数据库(storage)里,通常采用缓存过期时间来控制本地缓存的更新。
5.然而在这种方式中,如果后台有业务数据更新,没办法实时的通知应用更新缓存中的业务数据,只有通过固定的过期时间才能更新缓存,导致缓存的更新时间不可控、无法及时发现后台业务数据的更新并及时更新缓存。


技术实现要素:

6.为了解决上述技术问题,本技术提供了一种缓存更新方法、装置、设备及存储介质,通过缓存咨询请求主动获取服务器中目标业务数据的更新情况,从而在确定需要缓存的业务对象的目标业务数据发生更新后,及时对目标应用中缓存业务数据进行更新,而非在固定的过期时间才能更新缓存,缓存业务数据的更新更加可控、灵活。
7.本技术实施例公开了如下技术方案:
8.第一方面,本技术实施例提供一种缓存更新方法,所述方法包括:
9.向服务器发送缓存咨询请求,所述缓存咨询请求中包括目标业务对象;
10.获取服务器中所述目标业务对象对应的目标业务数据的第一缓存标记,所述第一缓存标记表示服务器中目标业务数据的更新情况;
11.将所述第一缓存标记与第二缓存标记进行匹配,所述第二缓存标记为所述目标业务对象在本地数据库中的缓存业务数据的缓存标记,所述第二缓存标记表示所述本地数据库中缓存业务数据的更新情况;
12.若匹配结果表示所述第一缓存标记与所述第二缓存标记不一致,从所述服务器获取所述目标业务数据对所述本地数据库中的所述缓存业务数据进行更新。
13.第二方面,本技术实施例提供一种缓存更新方法,所述方法包括:
14.接收终端设备发送的缓存咨询请求,所述缓存咨询请求中包括目标业务对象;
15.获取所述目标业务对象对应的目标业务数据的第一缓存标记;
16.向所述终端设备返回所述第一缓存标记。
17.第三方面,本技术实施例提供一种缓存更新装置,所述装置包括发送单元、获取单元、匹配单元和更新单元:
18.所述发送单元,用于向服务器发送缓存咨询请求,所述缓存咨询请求中包括目标业务对象;
19.所述获取单元,用于获取服务器中所述目标业务对象对应的目标业务数据的第一缓存标记,所述第一缓存标记表示服务器中目标业务数据的更新情况;
20.所述匹配单元,用于将所述第一缓存标记与第二缓存标记进行匹配,所述第二缓存标记为所述目标业务对象在本地数据库中的缓存业务数据的缓存标记,所述第二缓存标记表示所述本地数据库中缓存业务数据的更新情况;
21.所述更新单元,用于若匹配结果表示所述第一缓存标记与所述第二缓存标记不一致,从所述服务器获取所述目标业务数据对所述本地数据库中的所述缓存业务数据进行更新。
22.第四方面,本技术实施例提供一种缓存更新装置,所述装置包括接收单元、获取单元和返回单元:
23.所述接收单元,用于接收终端设备发送的缓存咨询请求,所述缓存咨询请求中包括目标业务对象;
24.所述获取单元,用于获取所述目标业务对象对应的目标业务数据的第一缓存标记;
25.所述返回单元,用于向所述终端设备返回所述第一缓存标记。
26.第五方面,本技术实施例提供一种用于缓存更新的设备,所述设备包括处理器以及存储器:
27.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
28.所述处理器用于根据所述程序代码中的指令执行第一方面或第二方面所述的方法。
29.第六方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面或第二方面所述的方法。
30.由上述技术方案可以看出,本技术将需要缓存的业务数据(即缓存业务数据)存储到本地数据库中,并存储缓存业务数据对应的缓存标记例如第二缓存标记,第二缓存标记表示本地数据库中缓存业务数据的更新情况。在目标应用使用过程中,可以向服务器发送包括目标业务对象的缓存咨询请求,从而从服务器获取目标业务对象对应的目标业务数据的第一缓存标记,第一缓存标记表示服务器中目标业务数据的更新情况。将第一缓存标记与第二缓存标记进行匹配,若匹配结果表示第一缓存标记与第二缓存标记不一致,则说明服务器中的目标业务数据与本地数据库中缓存业务数据的更新情况不一致,通常情况下是服务器中的目标业务数据相对于缓存业务数据已经发生了更新,本地数据库中的缓存业务数据缓存过期,故可以从服务器中获取目标业务数据对本地数据库中的缓存业务数据进行更新。该方法可以通过缓存咨询请求主动获取服务器中目标业务数据的更新情况,从而在确定需要缓存的业务对象的目标业务数据发生更新后,及时对目标应用中缓存业务数据进行更新,而非在固定的过期时间才能更新缓存,缓存业务数据的更新更加可控、灵活。
technologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。
47.本技术实施例所提供的方法例如涉及云存储领域,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
48.目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(id,id entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
49.存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(raid,redundant array of independent disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
50.接下来,将对缓存更新方法的系统架构进行介绍。参见图1,图1为本技术实施例提供的缓存更新方法的系统架构示意图。该系统架构中包括终端设备101、服务器102和管理端103,终端设备101上可以运行目标应用,该目标应用例如可以是独立下载安装的应用,也可以是依赖于其他应用开启的小程序。终端设备101上还可以包括目标应用例如小程序的本地数据库,为了提高访问效率,可以将业务数据缓存在本地数据库中,本地数据库中缓存的业务数据即缓存业务数据。本地数据库中存储缓存业务数据以及对应的缓存标记例如第二缓存标记,第二缓存标记表示本地数据库中缓存业务数据的更新情况。
51.服务器102为终端设备101上运行目标应用对应的服务器,服务器102上存储目标应用运行所需的业务数据例如目标业务数据和对应的缓存标记例如第一缓存标记,以便为该目标应用提供对应的服务。其中,第一缓存标记表示服务器中目标业务数据的更新情况。
52.管理端103可以是目标应用的开发人员所对应的终端设备,可以通过管理端103对服务器102中存储的目标业务数据进行更新。
53.服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备101和管理端103可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备101以及服务器102、管理端103以及服务器102可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
54.在目标应用使用过程中,终端设备101可以向服务器102发送包括目标业务对象的缓存咨询请求,从而从服务器102获取目标业务对象对应的目标业务数据的第一缓存标记,第一缓存标记表示服务器中目标业务数据的更新情况。其中,缓存咨询请求是用于从服务器获取业务对象的第一缓存标记的请求。
55.业务对象可以是目标应用运行所需要使用的对象,例如可以是指云函数和云函数动作,云函数可以简单理解为一个响应目标应用请求的后台服务;云函数动作可以简单理解为一个响应目标应用请求的后台服务里的一个接口,一个云函数可以对应至少一个云函数动作。
56.业务数据为业务对象所对应的数据,例如可以指调用云函数以及云函数动作以实现某个业务所使用的数据。目标业务数据则是指服务器102中存储的业务数据。
57.终端设备101获取到第一缓存标记后,将第一缓存标记与第二缓存标记进行匹配,若匹配结果表示第一缓存标记与第二缓存标记不一致,则说明服务器102中的目标业务数据与本地数据库中缓存业务数据的更新情况不一致,通常情况下是服务器102中的目标业务数据相对于缓存业务数据已经发生了更新,本地数据库中的缓存业务数据缓存过期,故终端设备101可以从服务器102中获取最新的目标业务数据对本地数据库中的缓存业务数据进行更新。
58.接下来,将从服务器与终端设备进行交互的角度,结合附图对本技术实施例提供的缓存更新方法进行详细介绍。
59.参见图2,图2示出了一种缓存更新方法的信令交互图,所述方法包括:
60.s201、终端设备向服务器发送缓存咨询请求。
61.服务器上存储目标应用运行所需的业务数据例如目标业务数据和对应的缓存标记例如第一缓存标记,以便为该目标应用提供对应的服务。其中,第一缓存标记表示服务器中目标业务数据的更新情况。
62.为了提高访问效率,终端设备可以将目标应用运行所需的一些业务数据缓存在本地数据库中,本地数据库中缓存的业务数据即缓存业务数据。本地数据库中存储缓存业务数据以及对应的缓存标记例如第二缓存标记,第二缓存标记表示本地数据库中缓存业务数据的更新情况。其中,缓存标记例如第一缓存标记和第二缓存标记可以用毫秒时间戳表示。
63.在本实施例中,缓存业务数据可以以键值(key value,kv)存储形式进行存储,以业务对象是云函数和云函数动作为例,则可以以[云函数名.云函数动作名]为键,以缓存业务数据和第二缓存标记为值进行缓存。
[0064]
需要说明的是,在本实施例中,缓存到本地数据库中的业务数据通常是更新频率较低的业务数据,可以是根据实际业务需求确定的,例如可以是目标应用的开发人员、管理员等根据实际业务需求选择的。因此,在一种可能的实现方式中,可以预先对需要缓存的业务对象进行配置,即终端设备可以响应于对业务对象的选择操作,针对选择的业务对象生成缓存配置信息。缓存配置信息表示需要在本地数据库中缓存业务数据的业务对象的相关信息。
[0065]
在一种可能的实现方式中,缓存配置信息可以表示为cache:[{“getservices.index”:”/page/index/index”}],只有在缓存配置信息中找到了相应的配置,才会触发缓存(cache)。getservices代表是哪个云函数,index代表是该云函数的哪个云函数动作,/page/index/index代表该云函数在哪个页面会触发执行,/page/index/index如果为应用程序(application,app),则代表是全局。
[0066]
终端设备在运行目标应用时,目标应用的业务层可能会发起包括待请求业务对象的业务请求。例如,目标应用是**机场小程序,若用户开启**机场小程序,或者通过**机场
小程序进行“在线值机”操作,可能会触发业务请求,其中,待请求业务对象可以是**机场小程序为响应用户操作以为用户提供服务而需要的业务对象,例如待请求业务对象为需要调用的云函数。若终端设备确定待请求业务对象是位于缓存配置信息中的业务对象,则说明待请求业务对象对应的业务数据是需要缓存在本地数据库中的,此时进一步确定本地数据库中是否存在该待请求业务对象对应的缓存业务数据,若存在,从本地数据库中获取待请求业务对象对应的缓存业务数据进行页面渲染。若不存在,终端设备向服务器发送该业务请求,以从服务器获取该业务请求对应的目标业务数据,并将业务请求对应的目标业务数据缓存到本地数据库。
[0067]
为了保证从本地数据库获取的缓存业务数据是最新的数据,可以确定是否需要更新本地数据库中的缓存业务数据。由于通常情况下本地数据库中的缓存业务数据与服务器上的目标业务数据应该是相同的,即二者更新情况相同,第一缓存标记与第二缓存标记应该相等。若服务器中的目标业务数据发生更新,那么,用于表示目标业务数据更新情况的第一缓存标记也会发生更新,即服务器可以对目标业务数据以及所述第一缓存标记进行更新,从而使得第一缓存标记与第二缓存标记不一致。基于此原理,为了确定是否需要更新本地数据库中的缓存业务数据,终端设备可以向服务器发送缓存咨询请求,以获取服务器中目标业务数据对应的第一缓存标记。
[0068]
可以理解的是,服务器可以对目标业务数据以及所述第一缓存标记进行更新可以包括多种情况,一种情况是自动更新,另一种情况是手动更新。自动更新可以是指通过接口来更新目标业务数据;手动更新可以是指管理员手动更新某个业务对象例如某个云函数动作的对应的目标业务数据。
[0069]
其中,手动更新的用户界面图可以参见图3所示。在图3中包括多种云函数,例如云函数:getservices.index;云函数:getservices.getlco;
……
云函数:getflightlfo.getallfollowedlist。管理员可以通过“请选择”按钮从多种云函数中选择需要更新的云函数,例如管理员选择图3中灰色矩形所标识的云函数,然后管理员点击“刷新缓存”则可以对该云函数对应的目标业务数据进行更新。
[0070]
s202、服务器获取所述目标业务对象对应的目标业务数据的第一缓存标记。
[0071]
s203、服务器向所述终端设备返回所述第一缓存标记。
[0072]
服务器在接收到缓存咨询请求后,可以获取目标业务数据的第一缓存标记,并向终端设备返回第一缓存标记。其中,若业务对象为云函数和云函数动作,则服务器返回第一缓存标记可以采用如下数据结构:[{“云函数名.云函数动作名”:第一缓存标记的值}]。
[0073]
例如,返回的数据结构为[{“getservices.index”:”1603282033126”},其中“getservices”为云函数名,“index”为云函数动作名,“1603282033126”为第一缓存标记的值。
[0074]
s204、终端设备将所述第一缓存标记与第二缓存标记进行匹配。
[0075]
s205、若匹配结果表示所述第一缓存标记与所述第二缓存标记不一致,从所述服务器获取所述目标业务数据对所述本地数据库中的所述缓存业务数据进行更新。
[0076]
终端设备在获取到第一缓存标记后,可以将第一缓存标记与第二缓存标记进行匹配。若匹配结果表示第一缓存标记与第二缓存标记不一致,则说明服务器中的目标业务数据与本地数据库中缓存业务数据的更新情况不一致,通常情况下是服务器中的目标业务数
据相对于缓存业务数据已经发生了更新,本地数据库中的缓存业务数据缓存过期,故可以从服务器中获取目标业务数据对本地数据库中的缓存业务数据进行更新。
[0077]
由上述技术方案可以看出,本技术将需要缓存的业务数据(即缓存业务数据)存储到本地数据库中,并存储缓存业务数据对应的缓存标记例如第二缓存标记,第二缓存标记表示本地数据库中缓存业务数据的更新情况。在目标应用使用过程中,可以向服务器发送包括目标业务对象的缓存咨询请求,从而从服务器获取目标业务对象对应的目标业务数据的第一缓存标记,第一缓存标记表示服务器中目标业务数据的更新情况。将第一缓存标记与第二缓存标记进行匹配,若匹配结果表示第一缓存标记与第二缓存标记不一致,则说明服务器中的目标业务数据与本地数据库中缓存业务数据的更新情况不一致,通常情况下是服务器中的目标业务数据相对于缓存业务数据已经发生了更新,本地数据库中的缓存业务数据缓存过期,故可以从服务器中获取目标业务数据对本地数据库中的缓存业务数据进行更新。该方法可以通过缓存咨询请求主动获取服务器中目标业务数据的更新情况,从而在确定需要缓存的业务对象的目标业务数据发生更新后,及时对目标应用中缓存业务数据进行更新,而非在固定的过期时间才能更新缓存,缓存业务数据的更新更加可控、灵活。
[0078]
另外,由于并非在达到过期时间就更新缓存,而是在确定需要缓存的业务对象的目标业务数据发生更新后才进行缓存业务数据的更新,减少不必要的缓存更新次数,节省用户流量,减少服务器负担。
[0079]
例如,相关技术中将过期时间设置为1天,则到达1天需要从服务器获取一次目标业务数据来对缓存业务数据进行更新,然而,此时服务器中的目标业务数据实际上并未发生更新,从而发生不必要的缓存更新次数。而本技术提供的方法不需要设置过期时间,而是在根据缓存标记确定服务器中目标业务数据的确发生更新后,才会对本地数据库中的缓存业务数据进行更新,从而减少不必要的缓存更新次数,节省用户流量,减少服务器负担。
[0080]
需要说明的是,在本实施例中,终端设备向服务器发送缓存咨询请求的时机可以包括多种。在一种可能的实现方式中,可以是在终端设备从本地数据库中获取待请求业务对象对应的缓存业务数据进行页面渲染之前发送缓存咨询请求,此时目标业务对象为位于所缓存配置信息的待请求业务对象,即仅判断本次业务请求中包括的待请求对象对应的缓存业务数据是否需要更新。在这种情况下,从服务器获取目标业务数据对本地数据库中的缓存业务数据进行更新之后,从本地数据库中获取待请求业务对象对应的缓存业务数据进行页面渲染的实现方式可以是从本地数据库中获取更新后的待请求业务对象的缓存业务数据进行页面渲染。从而实现在进行业务请求时,直接利用最新的缓存业务数据进行页面渲染。
[0081]
在另一种可能的实现方式中,由于缓存业务数据通常是更新频率较低的业务数据,因此终端设备可以在开启目标应用时发送缓存咨询请求,此时目标业务对象可以为缓存配置信息中包括的所有业务对象,即可以一次性判断所有业务对象对应的缓存业务数据是否需要更新,从而避免多次判断,节约计算资源。
[0082]
其中,开启目标应用包括目标应用的冷启动和热启动,冷启动是指指用户首次打开目标应用,或目标应用销毁后被用户再次打开,此时目标应用需要重新加载启动。热启动是指如果用户已经打开过目标应用,然后在一定时间内再次打开该目标应用,此时目标应用并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。并且在热启动过程
中,会触发生命周期onshow的执行,即也可以在生命周期onshow时发送缓存咨询请求。
[0083]
在这种情况下,若终端设备已经根据业务请求从本地数据库中获取待请求业务对象对应的缓存业务数据进行页面渲染,在从服务器获取业务数据对所述本地数据库中的业务数据进行更新之后,若确定渲染后的页面中包括更新后的缓存业务数据,还可以调用缓存用户界面(user interface,ui)更新接口利用更新后的缓存业务数据重新进行页面渲染。其中,缓存ui更新接口是指每个在缓存配置信息中配置了需要缓存的业务对象,如果需要在用户界面上展示,则页面(page)需要实现一个接口,用于将该业务对象更新后的缓存业务数据更新到该页面,主要用于在确定有缓存业务数据更新时调用该接口实现页面更新。
[0084]
在确定缓存业务数据更新后,通过调用缓存ui更新接口实现页面更新,可以将缓存业务数据在后台层面的更新实时体现在用户界面上。
[0085]
接下来,将结合实际应用场景对本技术实施例提供的缓存更新方法进行介绍。服务器上存储目标应用运行所需的业务数据例如目标业务数据和对应的缓存标记例如第一缓存标记,以便为该目标应用提供对应的服务。其中,第一缓存标记表示服务器中目标业务数据的更新情况。为了提高访问效率,终端设备可以将目标应用运行所需的一些业务数据缓存在本地数据库中,本地数据库中缓存的业务数据即缓存业务数据。本地数据库中存储缓存业务数据以及对应的缓存标记例如第二缓存标记。然而服务器中的目标业务数据可能发生更新,基于此,为了保证终端设备在运行目标应用例如小程序时可以利用最新的业务数据为用户提供服务,本技术实施例提供一种缓存更新方法,参见图4,所述方法包括:
[0086]
s401、管理端执行自动更新或者基于用户更新操作执行手动更新。
[0087]
管理端可以响应于用户更新操作手动更新服务器上存储的目标业务数据和对应的第一缓存标记,当然也可以自动更新服务器上存储的目标业务数据和对应的第一缓存标记。
[0088]
s402、终端设备上的小程序冷启动进行初始化。
[0089]
s403、终端设备上的小程序向服务器发送缓存咨询请求。
[0090]
s404、终端设备从服务器获取所有第一缓存标记。
[0091]
s405、终端设备根据第一缓存标记和本地数据库中的第二缓存标记确定是否更新本地数据库中的缓存业务数据。
[0092]
s406、终端设备根据获取的业务请求确定待请求业务对象是位于缓存配置信息中的业务对象。
[0093]
s407、终端设备确定本地数据库中是否存在待请求业务对象对应的缓存业务数据。若是,执行s408,若否,执行s412。
[0094]
s408、从所述本地数据库中获取所述待请求业务对象对应的缓存业务数据进行页面渲染。
[0095]
s409、在小程序生命周期onshow时发送缓存咨询请求。
[0096]
s410、获取所有第一缓存标记。
[0097]
s411、若第一缓存标记与第二缓存标记不一致,从服务器获取目标业务数据对本地数据库中的所述缓存业务数据进行更新。
[0098]
s412、向所述服务器发送所述业务请求。
[0099]
s413、获取服务器下发的所述业务请求对应的目标业务数据。
[0100]
s414、将业务请求对应的目标业务数据缓存到本地数据库,并将对应的第一缓存标记作为第二缓存标记缓存到本地数据库。
[0101]
基于图2对应实施例提供的缓存更新方法,本技术实施例还提供一种缓存更新装置,参见图5,所述装置包括发送单元501、获取单元502、匹配单元503和更新单元504:
[0102]
所述发送单元501,用于向服务器发送缓存咨询请求,所述缓存咨询请求中包括目标业务对象;
[0103]
所述获取单元502,用于获取服务器中所述目标业务对象对应的目标业务数据的第一缓存标记,所述第一缓存标记表示服务器中目标业务数据的更新情况;
[0104]
所述匹配单元503,用于将所述第一缓存标记与第二缓存标记进行匹配,所述第二缓存标记为所述目标业务对象在本地数据库中的缓存业务数据的缓存标记,所述第二缓存标记表示所述本地数据库中缓存业务数据的更新情况;
[0105]
所述更新单元504,用于若匹配结果表示所述第一缓存标记与所述第二缓存标记不一致,从所述服务器获取所述目标业务数据对所述本地数据库中的所述缓存业务数据进行更新。
[0106]
在一种可能的实现方式中,所述获取单元502还用于:
[0107]
获取业务请求,所述业务请求中包括待请求业务对象;
[0108]
所述装置还包括确定单元和渲染单元:
[0109]
所述确定单元,用于若确定所述待请求业务对象是位于缓存配置信息中的业务对象,确定所述本地数据库中是否存在所述待请求业务对象对应的缓存业务数据;
[0110]
所述渲染单元,用于若所述确定单元确定所述本地数据库中存在所述待请求业务对象对应的缓存业务数据,从所述本地数据库中获取所述待请求业务对象对应的缓存业务数据进行页面渲染。
[0111]
在一种可能的实现方式中,所述发送单元501,还用于:
[0112]
若所述确定单元确定所述本地数据库中不存在所述待请求业务对象对应的缓存业务数据,向所述服务器发送所述业务请求;
[0113]
所述获取单元,还用于获取所述服务器下发的所述业务请求对应的目标业务数据;
[0114]
所述装置还包括缓存单元:
[0115]
所述缓存单元,用于将所述业务请求对应的目标业务数据缓存到所述本地数据库。
[0116]
在一种可能的实现方式中,所述目标业务对象为位于所述缓存配置信息的所述待请求业务对象;
[0117]
所述更新单元504从所述服务器获取所述目标业务数据对所述本地数据库中的所述缓存业务数据进行更新之后,所述渲染单元用于:
[0118]
从所述本地数据库中获取更新后的所述待请求业务对象的缓存业务数据进行页面渲染。
[0119]
在一种可能的实现方式中,所述目标业务对象为所述缓存配置信息中包括的所有业务对象。
[0120]
在一种可能的实现方式中,所述更新单元504从所述服务器获取所述业务数据对所述本地数据库中的业务数据进行更新之后,若渲染后的页面中包括更新后的缓存业务数据,所述更新单元504还用于调用缓存用户界面更新接口利用所述更新后的缓存业务数据重新进行页面渲染。
[0121]
在一种可能的实现方式中,所述装置还包括生成单元:
[0122]
所述生成单元,用于响应于对业务对象的选择操作,生成缓存配置信息。
[0123]
本技术实施例还提供一种缓存更新装置,参见图6,所述装置包括接收单元601、获取单元602和返回单元603:
[0124]
所述接收单元601,用于接收终端设备发送的缓存咨询请求,所述缓存咨询请求中包括目标业务对象;
[0125]
所述获取单元602,用于获取所述目标业务对象对应的目标业务数据的第一缓存标记;
[0126]
所述返回单元603,用于向所述终端设备返回所述第一缓存标记。
[0127]
在一种可能的实现方式中,所述装置还包括更新单元:
[0128]
所述更新单元,用于对所述目标业务数据以及所述第一缓存标记进行更新。
[0129]
本技术实施例还提供了一种用于缓存更新的设备,该设备可以是数据处理设备,用于执行缓存更新方法,该设备可以是终端设备,以终端设备为智能手机为例:
[0130]
图7示出的是与本技术实施例提供的终端设备相关的智能手机的部分结构的框图。参考图7,智能手机包括:射频(英文全称:radio frequency,英文缩写:rf)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(英文全称:wireless fidelity,英文缩写:wifi)模块770、处理器780、以及电源790等部件。输入单元730可包括触控面板731以及其他输入设备732,显示单元740可包括显示面板741,音频电路760可以包括扬声器761和传声器762。本领域技术人员可以理解,图7中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0131]
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0132]
处理器780是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;优选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
[0133]
在本实施例中,所述终端设备700中的处理器780可以执行以下步骤;
[0134]
向服务器发送缓存咨询请求,所述缓存咨询请求中包括目标业务对象;
[0135]
获取服务器中所述目标业务对象对应的目标业务数据的第一缓存标记,所述第一缓存标记表示服务器中目标业务数据的更新情况;
[0136]
将所述第一缓存标记与第二缓存标记进行匹配,所述第二缓存标记为所述目标业务对象在本地数据库中的缓存业务数据的缓存标记,所述第二缓存标记表示所述本地数据库中缓存业务数据的更新情况;
[0137]
若匹配结果表示所述第一缓存标记与所述第二缓存标记不一致,从所述服务器获取所述目标业务数据对所述本地数据库中的所述缓存业务数据进行更新。
[0138]
该设备还可以包括服务器,本技术实施例还提供服务器,请参见图8所示,图8为本技术实施例提供的服务器800的结构图,服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,简称cpu)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在服务器800上执行存储介质830中的一系列指令操作。
[0139]
服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0140]
在本实施例中,所述服务器800中的中央处理器822可以执行以下步骤;
[0141]
接收终端设备发送的缓存咨询请求,所述缓存咨询请求中包括目标业务对象;
[0142]
获取所述目标业务对象对应的目标业务数据的第一缓存标记;
[0143]
向所述终端设备返回所述第一缓存标记。
[0144]
根据本技术的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的缓存更新方法。
[0145]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
[0146]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0147]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0148]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0149]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0150]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0151]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1