CN109840156A - 一种数据缓存方法及其设备、存储介质、终端 - Google Patents
一种数据缓存方法及其设备、存储介质、终端 Download PDFInfo
- Publication number
- CN109840156A CN109840156A CN201711230813.XA CN201711230813A CN109840156A CN 109840156 A CN109840156 A CN 109840156A CN 201711230813 A CN201711230813 A CN 201711230813A CN 109840156 A CN109840156 A CN 109840156A
- Authority
- CN
- China
- Prior art keywords
- target service
- business
- data
- business datum
- kernel
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开一种数据缓存方法及其设备、存储介质、终端,其中方法包括如下步骤:基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,再基于所述业务标识生成与所述业务数据相对应的内核目录列表,然后根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。采用本发明,通过将目标业务数据提前存储至内核缓存中,可以降低后续打开目标业务标识对应的目标业务时获取目标业务数据的耗时,进而可以提升终端应用的首屏性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据缓存方法及其设备、存储介质、终端。
背景技术
随着计算机技术的快速发展,智能手机、平板电脑等终端设备中安装的各类终端应用(例如,社交应用、购物应用、借贷类应用、地图导航应用等)的使用也越来越广泛,在打开终端应用相关应用业务的过程中通常会基于该相关业务(例如,社交应用的个性装扮业务)的离线资源包来完成快速打开应用业务的操作。
现有技术中,通常使用终端设备的内核回调接口(例如,X5内核的shouldInterceptRequest接口)调用离线资源包打开终端应用的相关应用业务。然而,使用内核回调接口调用离线资源包的过程中,需要先将相关业务对应的离线资源包放入内核中,再基于内核读取数据,增加了获取离线资源包的时长,进而影响了终端应用的首屏性能。
发明内容
本发明实施例提供一种数据缓存方法及其设备、存储介质、终端,通过提前将终端应用相关业务的离线资源放入内核缓存中,可以减少获取离线资源的时长,进而可以提高终端应用的首屏性能。
本发明实施例第一方面提供了一种数据缓存方法,可包括:
基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
基于所述业务标识生成与所述业务数据相对应的内核目录列表;
根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。
本发明实施例第二方面提供了一种数据缓存设备,可包括:
标识遍历单元,用于基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
目录生成单元,用于基于所述业务标识生成与所述业务数据相对应的内核目录列表;
数据缓存单元,用于根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。
本发明实施例第三方面提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
基于所述业务标识生成与所述业务数据相对应的内核目录列表;
根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。
本发明实施例第四方面提供了一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
基于所述业务标识生成与所述业务数据相对应的内核目录列表;
根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。
在本发明实施例中,通过基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,再基于业务标识生成与业务数据相对应的内核目录列表,然后根据目标业务类型的业务线程加载内核目录列表所指示的目标业务标识,基于目标业务标识获取业务数据集合中的目标业务数据,并将目标业务数据存储至内核缓存中。通过将目标业务数据提前存储至内核缓存中,降低了后续打开目标业务标识对应的目标业务时获取目标业务数据的耗时,进而提升了终端应用的首屏性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据缓存方法的流程示意图;
图2是本发明实施例提供的另一种数据缓存方法的流程示意图;
图3是本发明实施例提供的一种业务触发操作的显示效果示意图;
图4是本发明实施例提供的另一种数据缓存方法的流程示意图;
图5是本发明实施例提供的一种数据缓存设备的结构示意图;
图6是本发明实施例提供的另一种数据缓存设备的结构示意图;
图7是本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据缓存方法可以应用于通过调用离线资源实现终端应用中相关业务快速打开的场景中,例如:数据缓存设备基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,再基于所述业务标识生成与所述业务数据相对应的内核目录列表,然后根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。通过将目标业务数据提前存储至内核缓存中,降低了后续打开目标业务标识对应的目标业务时获取目标业务数据的耗时,进而提升了终端应用的首屏性能。
本发明实施例涉及的数据缓存设备可以是平板电脑、智能手机、掌上电脑以及移动互联网设备(MID)等终端设备。
下面将结合附图1-附图4,对本发明实施例提供的数据缓存方法进行详细介绍。
请参见图1,为本发明实施例提供了一种数据缓存方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
具体的,数据缓存设备可以基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,所述内核接口可以是用户空间和内核空间进行交互的接口,例如X5内核的shouldInterceptRequest回调接口。可以理解的是,所述终端应用可以提供多种业务类型,例如,社交应用A可以提供装扮业务、会员业务、生日提醒业务等。所述目标业务类型可以是用户在使用所述终端应用时当前选择的应用业务对应的业务类型,例如,可以是社交应用A中的装扮业务。所述业务数据集合可以是所述目标业务类型对应的应用业务被打开时需要获取的业务数据的集合,例如,社交应用A的装扮业务被打开时,需要获取的业务数据可以包括过用户在社交应用A的注册数据、曾经使用过的历史装扮数据、当前装扮显示数据等。所述业务标识可以是某一应用业务区唯一别于其他应用业务的身份标识,例如,装扮业务标识对应社交应用A的装扮业务、会员业务标识对应会员业务等。
需要说明的是,所述目标业务类型可以根据用户首次打开的终端应用的目标应用业务所确定,例如,针对社交应用A,用户首次打开其中的装扮业务时,所述数据缓存设备会自动下载关于该业务的相关业务数据,当用户第二次打开社交应用A时,所述数据缓存设备可以确定所述目标业务类型为装扮业务。
在可选实施例中,所述目标业务类型也可以根据应用开发人员的自身开发经验或者用户使用调查报告进行预选确定,例如,关于社交应用A,开发人员预先设定了装扮业务为目标应用业务,则用户第一次打开社交应用A时,所述数据缓存设备就可以确定目标业务类型为装扮业务。可以理解的是,所述目标业务类型可以包括一个或多个,当所述目标业务类型为多个时,所述业务数据集合中的业务数据的类型为多种。
S102,基于所述业务标识生成与所述业务数据相对应的内核目录列表;
具体的,所述数据缓存设备可以基于所述业务标识生成与所述业务数据相对应的内核目录列表,可以理解的是,所述内核目标列表可以指示业务数据与业务数据的业务标识之间的对应关系,例如,社交应用A的装扮业务数据与装扮业务标识或会员业务数据与会员业务标识之间的对应关系可以通过所述内核目录列表反映。
S103,根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中;
具体的,所述数据缓存设备可以根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,可以理解的是,所述业务线程可以是执行所述目标业务类型对应的应用业务的最小单元,一个业务线程可以对应一种应用业务的执行过程。所述目标业务标识可以是所述目标业务类型当前执行的业务线程对应的应用业务的业务标识。
进一步的,所述数据缓存设备可以基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中,可以理解的是,所述目标业务标识对应的目标应用业务是唯一的,基于所述目标业务标识所述数据缓存设备可以获取唯一的目标业务数据。所述内核缓存可以是缓存所述目标业务数据的存储装置,例如可以是X5内核的特殊存储器cachestorage。
可以理解的是,当所述目标业务类型的目标业务数据存储至内核缓存后,在执行离线打开所述目标业务类型对应的应用业务时,所述数据缓存设备可以直接从内核缓存中获取目标业务数据,无需通过内核的回调接口将终端应用的应用数组作为获取业务数据的中间环节,进而可以降低获取业务数据时的时长。
在本发明实施例中,通过基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,再基于业务标识生成与业务数据相对应的内核目录列表,然后根据目标业务类型的业务线程加载内核目录列表所指示的目标业务标识,基于目标业务标识获取业务数据集合中的目标业务数据,并将目标业务数据存储至内核缓存中。通过将目标业务数据提前存储至内核缓存中,降低了后续打开目标业务标识对应的目标业务时获取目标业务数据的耗时,进而提升了终端应用的首屏性能。
请参见图2,为本发明实施例提供了另一种数据缓存方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S206。
S201,获取针对终端应用所输入的业务选择操作,并获取所述业务选择操作对应的目标业务类型;
可以理解的是,所述终端应用可以提供多种业务类型,例如,社交应用A可以提供装扮业务、会员业务、生日提醒业务等。在打开某一终端应用时,用户可以针对终端应用提供的不同业务类型选择所要打开的目标应用业务,具体的,数据缓存设备可以获取针对终端应用所输入的业务选择操作,所述业务选择操作可以是在打开的终端应用的当前显示页面中针对某一应用业务的触发操作(例如图3所示的点击应用业务-装扮业务的业务标签)。
进一步的,所述数据缓存设备在接收到所述业务选择操作后,可以获取所述业务选择操作对应的目标业务类型,例如,图3中通过获取针对社交应用A的装扮业务的触发操作后,所述数据缓存设备可以确定此次操作针对的目标业务类型为装扮业务。
S202,基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
具体的,所述数据缓存设备可以基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,所述内核接口可以是用户空间和内核空间进行交互的接口,例如X5内核的shouldInterceptRequest回调接口。可以理解的是,所述目标业务类型可以是用户在使用所述终端应用时当前选择的应用业务对应的业务类型,例如,可以是社交应用A中的装扮业务。所述业务数据集合可以是所述目标业务类型对应的应用业务被打开时需要获取的业务数据的集合,例如,社交应用A的装扮业务被打开时,需要获取的业务数据可以包括过用户在社交应用A的注册数据、曾经使用过的历史装扮数据、当前装扮显示数据等。所述业务标识可以是某一应用业务区唯一别于其他应用业务的身份标识,例如,装扮业务标识对应社交应用A的装扮业务、会员业务标识对应会员业务等。
需要说明的是,所述目标业务类型可以根据用户首次打开的终端应用的目标应用业务所确定,例如,针对社交应用A,用户首次打开其中的装扮业务时,所述数据缓存设备会自动下载关于该业务的相关业务数据,当用户第二次打开社交应用A时,所述数据缓存设备可以确定所述目标业务类型为装扮业务。
在可选实施例中,所述目标业务类型也可以根据应用开发人员的自身开发经验或者用户使用调查报告进行预选确定,例如,关于社交应用A,开发人员预先设定了装扮业务为目标应用业务,则用户第一次打开社交应用A时,所述数据缓存设备就可以确定目标业务类型为装扮业务。可以理解的是,所述目标业务类型可以包括一个或多个,当所述目标业务类型为多个时,所述业务数据集合中的业务数据的类型为多种。
S203,基于所述业务标识生成与所述业务数据相对应的内核目录列表;
具体的,所述数据缓存设备可以基于所述业务标识生成与所述业务数据相对应的内核目录列表,可以理解的是,所述内核目标列表可以指示业务数据与业务数据的业务标识之间的对应关系,例如,社交应用A的装扮业务数据与装扮业务标识或会员业务数据与会员业务标识之间的对应关系可以通过所述内核目录列表反映。
S204,根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中;
具体的,所述数据缓存设备可以根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,可以理解的是,所述业务线程可以是执行所述目标业务类型对应的应用业务的最小单元,一个业务线程可以对应一种应用业务的执行过程。所述目标业务标识可以是所述目标业务类型当前执行的业务线程对应的应用业务的业务标识。
进一步的,所述数据缓存设备可以基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中,可以理解的是,所述目标业务标识对应的目标应用业务是唯一的,基于所述目标业务标识所述数据缓存设备可以获取唯一的目标业务数据。所述内核缓存可以是缓存所述目标业务数据的存储装置,例如可以是X5内核的特殊存储器cachestorage。
可以理解的是,当所述目标业务类型的目标业务数据存储至内核缓存后,在执行离线打开所述目标业务类型对应的应用业务时,所述数据缓存设备可以直接从内核缓存中获取目标业务数据,无需通过内核的回调接口将终端应用的应用数组作为获取业务数据的中间环节,进而可以降低获取业务数据时的时长。
S205,获取业务数据获取请求携带的目标业务标识,基于所述目标业务标识获取所述内核缓存中的目标业务数据;
可以理解的是,所述目标业务数据存储至内核缓存后,所述数据缓存设备可以获取业务数据获取请求携带的目标业务标识,并可以基于所述目标业务标识获取所述内核缓存中的目标业务数据,可以理解的是,所述业务数据获取请求可以是获取相关终端应用(例如,可以是已进行离线场景加载优化即已将业务数据缓存至内核中的终端应用)的目标业务数据的请求。
S206,输出所述目标业务数据对应的业务内容;
可以理解的是,所述内核缓存中的目标业务数据可能与所述目标业务标识相匹配,也可能不匹配,例如,上述目标业务类型为社交应用A的会员业务时,最后存储至内核缓存中的目标业务数据为会员业务数据。当所述数据获取请求携带的目标业务标识为会员业务标识时,所述内核缓存中存在与该目标业务标识相匹配的目标业务数据,当所述数据获取请求携带的目标业务标识为装扮业务标识时,所述内核缓存中不存在与该目标业务标识相匹配的目标业务数据。
具体的,当所述内核缓存中存在与所述目标业务标识相匹配的目标业务数据时,所述数据缓存设备可以输出所述目标业务数据对应的业务内容,所述业务内容可以是所述目标业务数据对应的应用业务的显示内容,例如,可以是社交应用A的装扮显示页面的页面内容。
S207,当所述内核缓存中不存在与所述目标业务标识相匹配的目标业务数据时,将所述业务数据获取请求发送至应用服务器,并获取所述应用服务器返回的有效业务数据;
可以理解的是,当所述内核缓存中不存在与所述目标业务标识相匹配的目标业务数据时,所述数据缓存设备可以将所述业务数据获取请求发送至应用服务器,并获取所述应用服务器返回的有效业务数据,所述有效业务数据可以是所述数据缓存设备从网络中加载的与所述目标业务标识相匹配的业务数据。
在本发明实施例一种具体实现方式中,所述目标业务数据存储至内核缓存后,所述数据缓存设备还可以执行以下操作过程,如图4所示:
S301,当获取到所述目标业务类型对应的更新业务数据时,获取所述更新业务数据的更新业务标识;
可以理解的是,研发人员在维护终端应用的应用业务时,通常会对一些应用业务进行升级或者优化,同时相关的目标业务数据将存在对应的更新业务数据,所述更新业务数据可以是对所述目标业务数据进行全部替换的数据,也可以是对所述目标业务数据中发生变化的数据进行替换的数据。
具体的,当获取到所述目标业务类型对应的更新业务数据时,所述数据缓存设备可以获取所述更新业务数据的更新业务标识,所述更新业务标识可以是所述目标业务标识也可以与所述目标业务标识不同。
S302,将所述内核缓存中与所述更新业务标识相匹配的业务数据替换为所述更新业务数据;
可以理解的是,当所述更新业务标识与所述目标业务标识相同时,所述数据缓存设备可以将所述内核缓存中与所述更新业务标识相匹配的业务数据(即所述目标业务标识对应的目标业务数据)替换为所述更新业务数据。例如,所述数据缓存设备针对社交应用A的装扮业务进行了离线场景优化,将装扮业务的业务数据存储至了内核缓存中,当所述数据缓存设备检测装扮业务存在业务升级时,可以将业务升级时对应的装扮业务更新数据代替之前的装扮业务数据存储至内核缓存中。
在本发明实施例中,通过对内核缓存中的目标业务数据进行更新,避免了由于应用业务升级或优化造成离线场景加载失败的情况发生。
在本发明实施例中,通过基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,再基于业务标识生成与业务数据相对应的内核目录列表,然后根据目标业务类型的业务线程加载内核目录列表所指示的目标业务标识,基于目标业务标识获取业务数据集合中的目标业务数据,并将目标业务数据存储至内核缓存中。通过将目标业务数据提前存储至内核缓存中,降低了后续打开目标业务标识对应的目标业务时获取目标业务数据的耗时,进而提升了终端应用的首屏性能;通过对内核缓存中的目标业务数据进行更新,避免了由于应用业务升级或优化造成离线场景加载失败的情况发生。
下面将结合附图5和附图6,对本发明实施例提供的数据缓存设备进行详细介绍。需要说明的是,附图5和附图6所示的设备,用于执行本发明图1-图4所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1-图4所示的实施例。
请参见图5,为本发明实施例提供了一种数据缓存设备的结构示意图。如图5所示,本发明实施例的所述数据缓存设备1可以包括:标识遍历单元11、目录生成单元12和数据缓存单元13。
标识遍历单元11,用于基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
具体实现中,标识遍历单元11可以基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,所述内核接口可以是用户空间和内核空间进行交互的接口,例如X5内核的shouldInterceptRequest回调接口。可以理解的是,所述终端应用可以提供多种业务类型,例如,社交应用A可以提供装扮业务、会员业务、生日提醒业务等。所述目标业务类型可以是用户在使用所述终端应用时当前选择的应用业务对应的业务类型,例如,可以是社交应用A中的装扮业务。所述业务数据集合可以是所述目标业务类型对应的应用业务被打开时需要获取的业务数据的集合,例如,社交应用A的装扮业务被打开时,需要获取的业务数据可以包括过用户在社交应用A的注册数据、曾经使用过的历史装扮数据、当前装扮显示数据等。所述业务标识可以是某一应用业务区唯一别于其他应用业务的身份标识,例如,装扮业务标识对应社交应用A的装扮业务、会员业务标识对应会员业务等。
需要说明的是,所述目标业务类型可以根据用户首次打开的终端应用的目标应用业务所确定,例如,针对社交应用A,用户首次打开其中的装扮业务时,所述数据缓存设备1会自动下载关于该业务的相关业务数据,当用户第二次打开社交应用A时,所述数据缓存设备1可以确定所述目标业务类型为装扮业务。
在可选实施例中,所述目标业务类型也可以根据应用开发人员的自身开发经验或者用户使用调查报告进行预选确定,例如,关于社交应用A,开发人员预先设定了装扮业务为目标应用业务,则用户第一次打开社交应用A时,所述数据缓存设备1就可以确定目标业务类型为装扮业务。可以理解的是,所述目标业务类型可以包括一个或多个,当所述目标业务类型为多个时,所述业务数据集合中的业务数据的类型为多种。
目录生成单元12,用于基于所述业务标识生成与所述业务数据相对应的内核目录列表;
具体实现中,目录生成单元12可以基于所述业务标识生成与所述业务数据相对应的内核目录列表,可以理解的是,所述内核目标列表可以指示业务数据与业务数据的业务标识之间的对应关系,例如,社交应用A的装扮业务数据与装扮业务标识或会员业务数据与会员业务标识之间的对应关系可以通过所述内核目录列表反映。
数据缓存单元13,用于根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中;
具体实现中,数据缓存单元13可以根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,可以理解的是,所述业务线程可以是执行所述目标业务类型对应的应用业务的最小单元,一个业务线程可以对应一种应用业务的执行过程。所述目标业务标识可以是所述目标业务类型当前执行的业务线程对应的应用业务的业务标识。
进一步的,所述数据缓存单元13可以基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中,可以理解的是,所述目标业务标识对应的目标应用业务是唯一的,基于所述目标业务标识所述数据缓存单元13可以获取唯一的目标业务数据。所述内核缓存可以是缓存所述目标业务数据的存储装置,例如可以是X5内核的特殊存储器cachestorage。
可以理解的是,当所述目标业务类型的目标业务数据存储至内核缓存后,在执行离线打开所述目标业务类型对应的应用业务时,所述数据缓存设备1可以直接从内核缓存中获取目标业务数据,无需通过内核的回调接口将终端应用的应用数组作为获取业务数据的中间环节,进而可以降低获取业务数据时的时长。
在本发明实施例中,通过基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,再基于业务标识生成与业务数据相对应的内核目录列表,然后根据目标业务类型的业务线程加载内核目录列表所指示的目标业务标识,基于目标业务标识获取业务数据集合中的目标业务数据,并将目标业务数据存储至内核缓存中。通过将目标业务数据提前存储至内核缓存中,降低了后续打开目标业务标识对应的目标业务时获取目标业务数据的耗时,进而提升了终端应用的首屏性能。
请参见图6,为本发明实施例提供了另一种数据缓存设备的结构示意图。如图6所示,本发明实施例的所述数据缓存设备1可以包括:标识遍历单元11、目录生成单元12、数据缓存单元13、业务类型获取单元14、更新标识获取单元15、数据更新单元16、数据获取单元17、内容输出单元18和数据下载单元19。
业务类型获取单元14,用于获取针对终端应用所输入的业务选择操作,并获取所述业务选择操作对应的目标业务类型;
可以理解的是,所述终端应用可以提供多种业务类型,例如,社交应用A可以提供装扮业务、会员业务、生日提醒业务等。在打开某一终端应用时,用户可以针对终端应用提供的不同业务类型选择所要打开的目标应用业务,具体实现中,业务类型获取单元14可以获取针对终端应用所输入的业务选择操作,所述业务选择操作可以是在打开的终端应用的当前显示页面中针对某一应用业务的触发操作(例如图3所示的点击应用业务-装扮业务的业务标签)。
进一步的,所述业务类型获取单元14在接收到所述业务选择操作后,可以获取所述业务选择操作对应的目标业务类型,例如,图3中通过获取针对社交应用A的装扮业务的触发操作后,所述业务类型获取单元14可以确定此次操作针对的目标业务类型为装扮业务。
标识遍历单元11,用于基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
具体实现中,标识遍历单元11可以基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,所述内核接口可以是用户空间和内核空间进行交互的接口,例如X5内核的shouldInterceptRequest回调接口。可以理解的是,所述目标业务类型可以是用户在使用所述终端应用时当前选择的应用业务对应的业务类型,例如,可以是社交应用A中的装扮业务。所述业务数据集合可以是所述目标业务类型对应的应用业务被打开时需要获取的业务数据的集合,例如,社交应用A的装扮业务被打开时,需要获取的业务数据可以包括过用户在社交应用A的注册数据、曾经使用过的历史装扮数据、当前装扮显示数据等。所述业务标识可以是某一应用业务区唯一别于其他应用业务的身份标识,例如,装扮业务标识对应社交应用A的装扮业务、会员业务标识对应会员业务等。
需要说明的是,所述目标业务类型可以根据用户首次打开的终端应用的目标应用业务所确定,例如,针对社交应用A,用户首次打开其中的装扮业务时,所述数据缓存设备1会自动下载关于该业务的相关业务数据,当用户第二次打开社交应用A时,所述数据缓存设备1可以确定所述目标业务类型为装扮业务。
在可选实施例中,所述目标业务类型也可以根据应用开发人员的自身开发经验或者用户使用调查报告进行预选确定,例如,关于社交应用A,开发人员预先设定了装扮业务为目标应用业务,则用户第一次打开社交应用A时,所述数据缓存设备1就可以确定目标业务类型为装扮业务。可以理解的是,所述目标业务类型可以包括一个或多个,当所述目标业务类型为多个时,所述业务数据集合中的业务数据的类型为多种。
目录生成单元12,用于基于所述业务标识生成与所述业务数据相对应的内核目录列表;
具体实现中,目录生成单元12可以基于所述业务标识生成与所述业务数据相对应的内核目录列表,可以理解的是,所述内核目标列表可以指示业务数据与业务数据的业务标识之间的对应关系,例如,社交应用A的装扮业务数据与装扮业务标识或会员业务数据与会员业务标识之间的对应关系可以通过所述内核目录列表反映。
数据缓存单元13,用于根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中;
具体实现中,数据缓存单元13可以根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,可以理解的是,所述业务线程可以是执行所述目标业务类型对应的应用业务的最小单元,一个业务线程可以对应一种应用业务的执行过程。所述目标业务标识可以是所述目标业务类型当前执行的业务线程对应的应用业务的业务标识。
进一步的,所述数据缓存单元13可以基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中,可以理解的是,所述目标业务标识对应的目标应用业务是唯一的,基于所述目标业务标识所述数据缓存设备1可以获取唯一的目标业务数据。所述内核缓存可以是缓存所述目标业务数据的存储装置,例如可以是X5内核的特殊存储器cachestorage。
可以理解的是,当所述目标业务类型的目标业务数据存储至内核缓存后,在执行离线打开所述目标业务类型对应的应用业务时,所述数据缓存设备1可以直接从内核缓存中获取目标业务数据,无需通过内核的回调接口将终端应用的应用数组作为获取业务数据的中间环节,进而可以降低获取业务数据时的时长。
数据获取单元17,用于获取业务数据获取请求携带的目标业务标识,基于所述目标业务标识获取所述内核缓存中的目标业务数据;
可以理解的是,所述目标业务数据存储至内核缓存后,数据获取单元17可以获取业务数据获取请求携带的目标业务标识,并可以基于所述目标业务标识获取所述内核缓存中的目标业务数据,可以理解的是,所述业务数据获取请求可以是获取相关终端应用(例如,可以是已进行离线场景加载优化即已将业务数据缓存至内核中的终端应用)的目标业务数据的请求。
内容输出单元18,用于输出所述目标业务数据对应的业务内容;
可以理解的是,所述内核缓存中的目标业务数据可能与所述目标业务标识相匹配,也可能不匹配,例如,上述目标业务类型为社交应用A的会员业务时,最后存储至内核缓存中的目标业务数据为会员业务数据。当所述数据获取请求携带的目标业务标识为会员业务标识时,所述内核缓存中存在与该目标业务标识相匹配的目标业务数据,当所述数据获取请求携带的目标业务标识为装扮业务标识时,所述内核缓存中不存在与该目标业务标识相匹配的目标业务数据。
具体实现中,当所述内核缓存中存在与所述目标业务标识相匹配的目标业务数据时,内容输出单元18可以输出所述目标业务数据对应的业务内容,所述业务内容可以是所述目标业务数据对应的应用业务的显示内容,例如,可以是社交应用A的装扮显示页面的页面内容。
数据下载单元19,用于当所述内核缓存中不存在与所述目标业务标识相匹配的目标业务数据时,将所述业务数据获取请求发送至应用服务器,并获取所述应用服务器返回的有效业务数据;
可以理解的是,当所述内核缓存中不存在与所述目标业务标识相匹配的目标业务数据时,数据下载单元19可以将所述业务数据获取请求发送至应用服务器,并获取所述应用服务器返回的有效业务数据,所述有效业务数据可以是所述数据缓存设备从网络中加载的与所述目标业务标识相匹配的业务数据。
在本发明实施例一种具体实现方式中,所述目标业务数据存储至内核缓存后,所述数据缓存设备1还可以执行图6所示的更新标识获取单元15和数据更新单元16,具体的实现过程如下:
更新标识获取单元15,用于当获取到所述目标业务类型对应的更新业务数据时,获取所述更新业务数据的更新业务标识;
可以理解的是,研发人员在维护终端应用的应用业务时,通常会对一些应用业务进行升级或者优化,同时相关的目标业务数据将存在对应的更新业务数据,所述更新业务数据可以是对所述目标业务数据进行全部替换的数据,也可以是对所述目标业务数据中发生变化的数据进行替换的数据。
具体实现中,当获取到所述目标业务类型对应的更新业务数据时,更新标识获取单元15可以获取所述更新业务数据的更新业务标识,所述更新业务标识可以是所述目标业务标识也可以与所述目标业务标识不同。
数据更新单元16,用于将所述内核缓存中与所述更新业务标识相匹配的业务数据替换为所述更新业务数据;
可以理解的是,当所述更新业务标识与所述目标业务标识相同时,数据更新单元16可以将所述内核缓存中与所述更新业务标识相匹配的业务数据(即所述目标业务标识对应的目标业务数据)替换为所述更新业务数据。例如,所述数据缓存设备1针对社交应用A的装扮业务进行了离线场景优化,将装扮业务的业务数据存储至了内核缓存中,当所述数据缓存设备1检测装扮业务存在业务升级时,数据更新单元16可以将业务升级时对应的装扮业务更新数据代替之前的装扮业务数据存储至内核缓存中。
在本发明实施例中,通过对内核缓存中的目标业务数据进行更新,避免了由于应用业务升级或优化造成离线场景加载失败的情况发生。
在本发明实施例中,通过基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,再基于业务标识生成与业务数据相对应的内核目录列表,然后根据目标业务类型的业务线程加载内核目录列表所指示的目标业务标识,基于目标业务标识获取业务数据集合中的目标业务数据,并将目标业务数据存储至内核缓存中。通过将目标业务数据提前存储至内核缓存中,降低了后续打开目标业务标识对应的目标业务时获取目标业务数据的耗时,进而提升了终端应用的首屏性能;通过对内核缓存中的目标业务数据进行更新,避免了由于应用业务升级或优化造成离线场景加载失败的情况发生。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图4所示实施例的方法步骤,具体执行过程可以参见图1-图4所示实施例的具体说明,在此不进行赘述。
请参见图7,为本发明实施例提供了一种终端的结构示意图。如图7所示,所述终端1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据缓存应用程序。
在图7所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;网络接口1004用于与用户终端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据缓存应用程序,并具体执行以下操作:
基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
基于所述业务标识生成与所述业务数据相对应的内核目录列表;
根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。
在一个实施例中,所述处理器1001在执行基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识之前,还执行以下操作:
获取针对终端应用所输入的业务选择操作,并获取所述业务选择操作对应的目标业务类型。
在一个实施例中,所述处理器1001,还用于执行以下操作:
当获取到所述目标业务类型对应的更新业务数据时,获取所述更新业务数据的更新业务标识;
将所述内核缓存中与所述更新业务标识相匹配的业务数据替换为所述更新业务数据。
在一个实施例中,所述处理器1001在执行将所述目标业务数据存储至内核缓存中之后,还执行以下操作:
获取业务数据获取请求携带的目标业务标识,基于所述目标业务标识获取所述内核缓存中的目标业务数据;
输出所述目标业务数据对应的业务内容。
在一个实施例中,所述处理器1001,还用于执行以下操作:
当所述内核缓存中不存在与所述目标业务标识相匹配的目标业务数据时,将所述业务数据获取请求发送至应用服务器,并获取所述应用服务器返回的有效业务数据。
在本发明实施例中,通过基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识,再基于业务标识生成与业务数据相对应的内核目录列表,然后根据目标业务类型的业务线程加载内核目录列表所指示的目标业务标识,基于目标业务标识获取业务数据集合中的目标业务数据,并将目标业务数据存储至内核缓存中。通过将目标业务数据提前存储至内核缓存中,降低了后续打开目标业务标识对应的目标业务时获取目标业务数据的耗时,进而提升了终端应用的首屏性能;通过对内核缓存中的目标业务数据进行更新,避免了由于应用业务升级或优化造成离线场景加载失败的情况发生。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种数据缓存方法,其特征在于,包括:
基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
基于所述业务标识生成与所述业务数据相对应的内核目录列表;
根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。
2.如权利要求1所述的方法,其特征在于,所述基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识之前,还包括:
获取针对终端应用所输入的业务选择操作,并获取所述业务选择操作对应的目标业务类型。
3.如权利要求1所述的方法,其特征在于,还包括:
当获取到所述目标业务类型对应的更新业务数据时,获取所述更新业务数据的更新业务标识;
将所述内核缓存中与所述更新业务标识相匹配的业务数据替换为所述更新业务数据。
4.如权利要求1所述的方法,其特征在于,所述将所述目标业务数据存储至内核缓存中之后,还包括:
获取业务数据获取请求携带的目标业务标识,基于所述目标业务标识获取所述内核缓存中的目标业务数据;
输出所述目标业务数据对应的业务内容。
5.如权利要求4所述的方法,其特征在于,还包括:
当所述内核缓存中不存在与所述目标业务标识相匹配的目标业务数据时,将所述业务数据获取请求发送至应用服务器,并获取所述应用服务器返回的有效业务数据。
6.一种数据缓存设备,其特征在于,包括:
标识遍历单元,用于基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
目录生成单元,用于基于所述业务标识生成与所述业务数据相对应的内核目录列表;
数据缓存单元,用于根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。
7.如权利要求6所述的设备,其特征在于,还包括:
业务类型获取单元,用于获取针对终端应用所输入的业务选择操作,并获取所述业务选择操作对应的目标业务类型。
8.如权利要求6所述的设备,其特征在于,还包括:
更新标识获取单元,用于当获取到所述目标业务类型对应的更新业务数据时,获取所述更新业务数据的更新业务标识;
数据更新单元,用于将所述内核缓存中与所述更新业务标识相匹配的业务数据替换为所述更新业务数据。
9.如权利要求6所述的设备,其特征在于,还包括:
数据获取单元,用于获取业务数据获取请求携带的目标业务标识,基于所述目标业务标识获取所述内核缓存中的目标业务数据;
内容输出单元,用于输出所述目标业务数据对应的业务内容。
10.如权利要求9所述的设备,其特征在于,还包括:
数据下载单元,用于当所述内核缓存中不存在与所述目标业务标识相匹配的目标业务数据时,将所述业务数据获取请求发送至应用服务器,并获取所述应用服务器返回的有效业务数据。
11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~5任意一项的方法步骤。
12.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
基于内核接口遍历终端应用的目标业务类型对应的业务数据集合中业务数据的业务标识;
基于所述业务标识生成与所述业务数据相对应的内核目录列表;
根据所述目标业务类型的业务线程加载所述内核目录列表所指示的目标业务标识,基于所述目标业务标识获取所述业务数据集合中的目标业务数据,并将所述目标业务数据存储至内核缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711230813.XA CN109840156B (zh) | 2017-11-29 | 2017-11-29 | 一种数据缓存方法及其设备、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711230813.XA CN109840156B (zh) | 2017-11-29 | 2017-11-29 | 一种数据缓存方法及其设备、存储介质、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840156A true CN109840156A (zh) | 2019-06-04 |
CN109840156B CN109840156B (zh) | 2023-04-25 |
Family
ID=66882608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711230813.XA Active CN109840156B (zh) | 2017-11-29 | 2017-11-29 | 一种数据缓存方法及其设备、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109840156B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296646A (zh) * | 2021-12-24 | 2022-04-08 | 天翼云科技有限公司 | 基于io业务的缓存方法、装置、服务器和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221008A1 (en) * | 2003-05-01 | 2004-11-04 | Oracle International Corporation | System and method for caching type information for un-typed web service requests |
CN103514207A (zh) * | 2012-06-26 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 一种业务对象推送的方法以及装置 |
US20150095403A1 (en) * | 2013-09-27 | 2015-04-02 | Rolan Abdukalykov | Business object attachments and expiring urls |
CN107066591A (zh) * | 2017-04-18 | 2017-08-18 | 北京思特奇信息技术股份有限公司 | 一种对业务进行处理的方法及装置 |
CN107368560A (zh) * | 2017-07-07 | 2017-11-21 | 腾讯科技(深圳)有限公司 | 移动应用的页面实现方法和装置、计算机可读存储介质 |
-
2017
- 2017-11-29 CN CN201711230813.XA patent/CN109840156B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221008A1 (en) * | 2003-05-01 | 2004-11-04 | Oracle International Corporation | System and method for caching type information for un-typed web service requests |
CN103514207A (zh) * | 2012-06-26 | 2014-01-15 | 阿里巴巴集团控股有限公司 | 一种业务对象推送的方法以及装置 |
US20150095403A1 (en) * | 2013-09-27 | 2015-04-02 | Rolan Abdukalykov | Business object attachments and expiring urls |
CN107066591A (zh) * | 2017-04-18 | 2017-08-18 | 北京思特奇信息技术股份有限公司 | 一种对业务进行处理的方法及装置 |
CN107368560A (zh) * | 2017-07-07 | 2017-11-21 | 腾讯科技(深圳)有限公司 | 移动应用的页面实现方法和装置、计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
IAN PIUMARTA ET AL.: "Position Summary: Applying the VVM Kernel to Flexible Web Caches" * |
段虎才等 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296646A (zh) * | 2021-12-24 | 2022-04-08 | 天翼云科技有限公司 | 基于io业务的缓存方法、装置、服务器和存储介质 |
CN114296646B (zh) * | 2021-12-24 | 2023-06-23 | 天翼云科技有限公司 | 基于io业务的缓存方法、装置、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109840156B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118565B (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
US10713034B2 (en) | Updating web resources | |
CN110221872A (zh) | 页面跳转方法、装置、电子设备和存储介质 | |
CN102955694B (zh) | 基于WebKit 浏览器的客户端实现方法以及客户端 | |
US9258775B1 (en) | Location-based software updates | |
CN106569783B (zh) | 一种执行任务脚本的方法和装置 | |
CN103729425B (zh) | 操作响应方法、客户端、浏览器及系统 | |
CN109446570B (zh) | 业务流程展示方法、装置、计算机设备以及存储介质 | |
CN105630488A (zh) | 一种基于docker容器技术的持续集成实现方法 | |
CN108804188A (zh) | 界面换肤方法及装置 | |
CN103379476A (zh) | 终端和联系人信息更新方法 | |
CN106357791A (zh) | 业务处理方法、装置及系统 | |
CN110069264A (zh) | 构建资源包的方法、装置、计算机设备和存储介质 | |
CN111258680B (zh) | 资源加载方法和装置、存储介质及电子装置 | |
CN110489138A (zh) | 一种应用更新方法、装置和存储介质 | |
CN108228206A (zh) | 一种应用程序管理方法及装置 | |
CN111427665A (zh) | 一种量子应用云平台及量子计算任务的处理方法 | |
CN110231936A (zh) | 一种移动端流程引擎框架及移动端流程引擎的使用方法 | |
CN114745146B (zh) | 跳转拦截方法、装置、可读存储介质及设备 | |
CN104461893B (zh) | 数据处理方法与数据处理装置 | |
CN109829821A (zh) | 一种数字资产地址转移异常的处理方法、装置及系统 | |
CN109840156A (zh) | 一种数据缓存方法及其设备、存储介质、终端 | |
CN106527979B (zh) | 数据迁移方法及装置 | |
CN113449031A (zh) | 数据同步的管理方法、装置及服务器 | |
CN108173898A (zh) | 用于资源访问服务的方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |