缓存数据处理方法及相关产品与流程

文档序号:32494110发布日期:2022-12-10 04:07阅读:20来源:国知局
缓存数据处理方法及相关产品与流程

1.本技术涉及电子设备技术领域,具体涉及一种缓存数据处理方法及相关产品。


背景技术:

2.在互联网技术日益普遍化的今天,越来越多的服务从线下搬到线上,随着网民热情的高涨,互联网应用也受到越来越多的高访问量冲击,高访问量会使得应用服务面临严苛的考验。例如,所有的数据都设置在缓存中,降低了缓存的有效利用率。因此,亟需一种缓存处理方法以提高缓存数据的利用率。


技术实现要素:

3.本技术实施例提供了一种缓存数据处理方法及相关产品,将缓存数据区分为高频类型和低频类型,有利于提高缓存的数据的有效利用率。
4.第一方面,本技术实施例提供一种缓存数据处理方法,应用于电子设备,所述方法包括:
5.判断目标接口是否包括缓存数据;
6.若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期;
7.判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;
8.若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期。
9.第二方面,本技术实施例提供一种缓存数据处理装置,应用于电子设备,所述装置包括:判断单元、确定单元和续期单元,其中,
10.所述判断单元,用于判断目标接口是否包括缓存数据;
11.所述确定单元,用于若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期;
12.所述判断单元,还用于判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;
13.所述续期单元,用于若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期。
14.第三方面,本技术实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本技术实施例第一方面任一方法中的步骤的指令。
15.第四方面,本技术实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。
16.第五方面,本技术实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算
机执行如本技术实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
17.可以看出,本技术实施例中,电子设备可判断目标接口是否包括缓存数据;若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期;判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期。如此,由于目标接口同时接收到多个调用请求,会增加对于存储层的访问压力,因此,电子设备可对上述目标接口的高频类型的缓存数据进行有效期续期,以延长高频类型的缓存数据的有效期,减少存储层的访问压力的同时,还有利于增加目标接口对于调用请求的响应速度,有利于提高存储数据的有效利用率。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1a是本技术实施例提供的一种缓存数据处理系统的结构示意图;
20.图1b是本技术实施例提供的一种缓存数据处理系统的结构示意图;
21.图2是本技术实施例提供的一种缓存数据处理方法的流程示意图;
22.图3是本技术实施例提供的一种缓存组件故障转移机制的流程示意图;
23.图4是本技术实施例提供的一种缓存数据处理方法的流程示意图;
24.图5是本技术实施例提供的一种缓存数据处理方法的流程示意图;
25.图6是本技术实施例提供的一种电子设备的结构示意图;
26.图7a是本技术实施例提供的一种缓存数据处理装置的功能单元组成框图;
27.图7b是本技术实施例提供的一种缓存数据处理装置的功能单元组成框图;
28.图7c是本技术实施例提供的一种缓存数据处理装置的功能单元组成框图;
29.图7d是本技术实施例提供的一种缓存数据处理装置的功能单元组成框图;
30.图7e是本技术实施例提供的一种缓存数据处理装置的功能单元组成框图。
具体实施方式
31.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的区间。
32.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
33.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
34.电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表、智能眼镜)、车载设备等。便携式电子设备的示例性实施例包括但不限于搭载ios系统、android系统、microsoft系统或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机。
35.第一部分,本技术实施例所公开的示例应用场景介绍如下。
36.图1a示出了本技术所适用的缓存数据处理系统100的结构示意图,该系统100中可包括:接口层101、应用层102和存储层103。
37.其中,接口层101可包括接口级缓存,该接口级缓存用于存储接口级的缓存数据,接口层101可对应有多个应用程序的多个应用接口,每一应用程序可对应有一个应用接口。上述应用接口的缓存用于存储上述接口级的缓存数据,该接口级的缓存数据例如可以包括以下至少一种:应用名称、访问时间、用户名等数据,在此不作限定。
38.需要说明的是,在本技术中,仅以一个应用程序和/或一个应用接口为例进行方案阐述。
39.其中,应用层102可包括应用级缓存,该应用级缓存用于存储应用级的缓存数据,该应用级的缓存数据可包括上述接口级的缓存数据,例如,上述应用级的缓存数据可包括以下至少一种:应用名称、访问时间、用户名、用户画像数据、用户使用数据等等,在此不作限定。
40.其中,存储层103可用于存储多个应用程序在运行中的所有的缓存数据,可包括上述接口级的缓存数据和应用级的缓存数据。
41.其中,在本技术中,可以为上述不同层的缓存定级,上述接口层的缓存的优先级或者级别优于应用级的缓存的优先级或者级别,应用级的缓存的优先级或者级别优先于存储层的缓存的优先级或者级别,优先级越高即表明其对应的缓存数据越可优先被访问;例如,当接口级的缓存数据无法访问时,和存储级的缓存数据相比,可优先访问应用级的缓存数据。
42.其中,如图1b所示,为本技术实施例提供的一种缓存数据处理系统的结构示意图;在图1a的基础上,上述接口层101还可包括缓存组件,该缓存组件可包括主集群11和备用集群12,该主集群11与备用集群12对应,每一应用程序对应的应用接口(包括本技术实施例中的目标接口)均对应有一组缓存组件,即可包括一个主集群和一个备用集群。
43.其中,上述缓存组件可用于为应用程序的应用接口提供接口级缓存的访问支持。
44.需要说明的是,在本技术中,上述多个可指两个或两个以上,后续不再赘述。
45.第二部分,本技术实施例所公开的权要保护区间介绍如下。
46.请参阅图2,图2是本技术实施例提供的一种缓存数据处理方法的流程示意图,应用于电子设备,如图所示,本缓存数据处理方法包括以下操作。
47.s201、判断目标接口是否包括缓存数据。
48.其中,上述目标接口可以是如图1a中所描述的多个应用程序中任意一个应用目标对应的应用接口。
49.其中,上述缓存数据可指存储于目标接口的接口级的缓存数据。
50.可选地,电子设备在处理或者加载接口级的缓存数据时,即当目标接口被调用时,可优先确定该目标接口的缓存数据是否存在;若存在该缓存数据,则可直接返回该缓存数据;如果不存在缓存数据,则可执行该目标接口的预设的程序代码,该预设的程序代码可用于在应用级的缓存数据和/或存储级的缓存数据中调用该缓存数据,并将该缓存数据写入该目标接口对应的缓存中,以形成接口级的缓存数据,该缓存数据可提供下一次的接口调用。
51.可见,本示例中,可通过接口级的缓存实现缓存数据的直接调用,有利于提高缓存数据或者缓存处理的有效利用率。
52.示例的,电子设备可为上述目标接口的缓存数据添加缓存注释,当目标接口涌入或者接收到大量的调用请求时,可将调用请求中携带的调用参数与缓存注释进行比对或者适配,以获取该调用请求适配的缓存数据。
53.其中,上述调用请求可用于获取或者调用缓存数据。
54.其中,上述缓存注释可用于指示缓存数据的名称、缓存数据的键值(key)、缓存数据的缓存条件、缓存数据的调用条件等等,在此不作限定。
55.具体实现中,可将上述调用参数与缓存注释中包括的缓存数据的名称和/或键值和/或调用条件等进行比对或者适配,以确定每一调用请求对应的缓存数据。
56.可见,本示例中,可为目标接口添加缓存注释,以通过缓存注释识别目标接口对应的缓存中的缓存数据,以防止目标接口接收到大量请求时,目标接口或者该目标接口对应的集群的访问量过大而出现故障,从而影响缓存数据的调用。
57.s202、若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期。
58.其中,上述目标接口可用于存储多个缓存数据,在本技术中,仅以其中一个缓存数据进行说明。
59.其中,每一缓存数据都对应有效期,该有效期可以是一个时间窗口,可用于指示该缓存数据的缓存在目标接口的持续时长或者缓存时长;当然,当缓存数据的有效期到期时,可释放其对应的缓存数据,即该有效期还可用于释放对应的缓存数据,以及时清理掉不需要的缓存数据,有利于避免目标接口的缓存空间的浪费。
60.其中,电子设备在预设每一缓存数据对应的有效期时,可设定该有效期为初始值+随机值,该随机值可设定为一个范围,例如,可以是5min以内,上述初始值可设定为30min,进而,可设定缓存数据a对应的有效期为30+2=32min,设定缓存数据b对应的有效期为30+5=35min;如此,有利于避免在同一时间所有的缓存数据同时到期,当多个调用请求并发时,电子设备需要去存储层或者应用层调用对应的缓存数据的高并发情况,有利于减少目标接口和/或应用层和/或存储层的访问压力。
61.s203、判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型。
62.其中,电子设备可根据缓存数据的使用频率或者调用频率为其适配缓存数据的类型,该类型可包括高频类型和低频类型,高频类型的缓存数据对应的调用频率高于低频类
型的缓存数据对应的调用频率,或者高频类型的缓存数据对应的变化周期小于低频类型的缓存数据对应的变化周期等等,具体的在此不作限定。
63.其中,不管是高频类型还是低频类型的缓存数据,电子设备均可为其配备或者预设有效期。
64.具体实现中,有效期可用于释放低频类型对应的缓存数据,以淘汰不再活跃的缓存,并且可以为不同使用类型的缓存设置长短不一的有效期,例如,针对同样的低频类型的缓存数据,越是很少变化的缓存数据(低频类型的缓存数据)的有效期时长可以设置得更长。
65.s204、若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期。
66.其中,由于上述每一缓存数据对应的有效期可不同,因此,上述不同的高频类型的缓存数据的续期时间窗口可以相同。
67.其中,当高频类型的缓存数据的有效期到期时,可通过续期时间窗口为该缓存数据续期,以使得该缓存数据仍然可以被调用或者访问;当该缓存数据的缓存时长达到了续期时间窗口时,则可从存储层重新获取该缓存数据,以实现对于该缓存数据的刷新。
68.其中,由于当目标接口中不存在缓存数据时,无论其是高频类型或者低频类型,均需要从应用层或者存储层去刷新或者调用,以实现对于该目标接口的缓存数据的缓存,如此,由于目标接口同时接收到多个调用请求,会增加对于存储层的访问压力。因此,电子设备可对上述目标接口的高频类型的缓存数据进行有效期续期,以延长高频类型的缓存数据的有效期,有利于提高缓存命中率;并且,使得目标接口中的缓存数据一致有效,当目标接口接收到针对该缓存数据的请求时,可直接返回该缓存数据,在减少存储层的访问压力的同时,还有利于增加目标接口对于调用请求的响应速度,有利于提高存储数据的有效利用率。
69.可以看出,本技术实施例所描述的缓存处理方法,判断目标接口是否包括缓存数据;若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期;判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期。如此,由于目标接口同时接收到多个调用请求,会增加对于存储层的访问压力,因此,电子设备可对上述目标接口的高频类型的缓存数据进行有效期续期,以延长高频类型的缓存数据的有效期,减少存储层的访问压力的同时,还有利于增加目标接口对于调用请求的响应速度,有利于提高存储数据的有效利用率。
70.在一个可能的示例中,上述方法还可包括如下步骤:若所述缓存数据为所述低频类型的数据,则在所述有效期到期时,释放所述缓存数据。
71.可见,本示例中,可用于释放低频类型对应的缓存数据,以淘汰不再活跃的缓存,以防止将所有的缓存数据均设置到目标接口对应的缓存中,如此,有利于提高缓存的有效利用率。
72.在一个可能的示例中,若目标接口接收到调用请求,其中,所述调用请求用于调用所述缓存数据;上述方法还可包括如下步骤:若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,则在
池化线程池中新增子任务,并通过所述子任务唤醒第一线程;通过所述第一线程从存储层获取所述缓存数据,并将所述缓存数据写入所述目标接口对应缓存中,以完成所述缓存数据的刷新。
73.其中,电子设备可设置池化线程池,该池化线程池中可包括多个线程,通常情况下,一个线程可用于支持一个子任务的实现。该池化线程池中的多个线程可处于睡眠状态,当应用程序有一个新的请求时,可唤醒池化线程池中的某一个线程,以通过该线程来处理该请求,当处理完毕时,该线程可继续处于睡眠状态。
74.其中,上述子任务可以是处理一个请求,也可以是延期某一缓存数据对应的有效期,也可以是清理有效期过期的缓存数据等等,在此不作限定。
75.其中,电子设备可控制上述池化线程池中的线程的总数,以防止高并发时,由于线程总数过多而使得池化线程池慢慢膨胀,最终爆掉或者崩溃。
76.可见,本示例中,无论是高频类型的缓存数据续期以后的有效期过期,或者低频类型的缓存数据的有效期过期,当目标接口接收到调用该缓存数据的调用请求,电子设备均可新增子任务,并通过一个线程(第一线程)异步从存储层获取该缓存数据,并写入到目标接口的缓存中,实现对于目标接口中该缓存数据的刷新。如此,有利于通过接口级的缓存实现对于缓存数据的有效利用率的增加。
77.在一个可能的示例中,若所述目标接口对应多个所述缓存数据,所述目标接口接收到多个调用请求,其中,每一所述调用请求用于调用一个所述缓存数据;上述方法还包括如下步骤:若所述目标接口包括任意一个所述缓存数据,则直接返回所述缓存数据到对应的所述调用请求对应的调用程序;若所述目标接口不包括所述多个缓存数据,则在所述池化线程池中唤醒多个第二线程,通过所述多个第二线程执行缓存数据调用操作,以从所述存储层获取所述缓存数据,其中,每一调用请求对应一个第二线程。
78.其中,上述目标接口可对应有多个缓存数据,即该目标接口可设置可用于存储多个不同的缓存数据。
79.其中,上述第二线程用于去存储层异步获取缓存数据,以完成目标接口缓存数据的刷新以及完成对于调用请求的实现。该第二线程可不同于第一线程,第二线程的触发条件与第一线程不同,第一线程可在“若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期”时触发,第二线程可在目标接口接收到多个缓存数据时触发;当然,如果目标接口接收到多个缓存数据,且每一缓存数据为低频类型的数据且有效期到期,或者缓存数据为高频类型的数据且续期以后的有效期过期,那么,该第二线程与第一线程的作用相同,均用于目标接口针对该缓存数据完成从存储层或者应用层的缓存数据的刷新。
80.其中,该第二线程也可以理解为多个子线程,该第二线程不同于主线程,在第二线程的运行过程中,主线程仍可用于从目标接口获取缓存数据。
81.具体实现中,当目标接口同时接收到访问多个缓存数据的多个调用请求时,每一调用请求可对应一个缓存数据,当然可对应有至少一个调用请求对应的缓存数据相同,但也有缓存数据不同的情况;此时,如果目标接口包括该缓存数据,可直接返回该缓存数据;如果不包括多个缓存数据中至少两个(多个)缓存数据,可通过至少两个(多个)第二线程去完成对于每一调用请求对应的缓存数据的获取。
82.可见,本示例中,通过多个第二线程可异步实现对于缓存数据的获取,与此同时,仍然保证主线程从目标接口获取缓存数据(可包括上述多个缓存数据中任意一个或者不包括上述多个缓存数据中任意一个的其他缓存数据),有利于提高接口缓存的有效利用率。
83.在一个可能的示例中,在所述目标接口不包括所述多个缓存数据时,若多个所述第二线程均用于执行同一缓存数据对应的缓存数据调用操作;上述方法还包括如下步骤:若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,则暂停所述多个第二线程的缓存数据调用操作;等待所述第一线程完成所述缓存数据的刷新以后,直接返回所述缓存数据到每一所述调用请求对应的调用程序,直接返回所述缓存数据到每一所述调用请求对应的调用程序。
84.其中,在所述目标接口不包括所述多个缓存数据时,若多个所述第二线程均用于执行同一缓存数据对应的缓存数据调用操作那么,可能是由于该缓存数据对应的有效期过期,或者续期以后的有效期过期。
85.具体实现中,若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,原本可能正在通过第一线程完成对于该缓存数据的刷新,因此,也可在暂停多个第二线程的缓存数据调用操作以后,通过上述第一线程完成刷新缓存数据到目标接口对应的缓存。
86.可见,本示例中,可在目标接口同时接收到针对同一缓存数据的多个调用请求时,如果此时原本已经有第一线程去完成对于该缓存数据的刷新,则可暂停所有的第二线程,等待第一线程完成缓存数据的刷新以后,直接在该目标接口返回该缓存数据到每一调用请求对应的调用程序。如此,无需另外唤醒其他线程,即可实现对于缓存数据的反馈以及刷新,有利于提高缓存反馈效率;同时,暂停所有的第二线程,以防止高并发情况的产生,避免在缓存数据失效时,大量并发请求同时达到存储层,影响系统稳定性,有利于提高系统稳定性。
87.可选地,若目标接口接收到针对某一缓存数据a的多个调用请求,原本是通过多个第二线程中每一第二线程执行缓存数据调用操作,以从所述存储层获取所述缓存数据a;在本示例中,如果该缓存数据a为高频类型,且续期以后的有效期到期,或者该缓存数据a为低频类型,其对应的有效期到期;并且上述第一线程未被唤醒,或未及时工作,则可不继续唤醒该第一线程,则可从多个第二线程中选取任一个第二线程作为第三线程,并暂停多个第二线程中每一线程的缓存数据调用操作,只通过一个第三线程执行上述缓存数据调用操作,以完成缓存数据a的刷新,即从存储层或者应用层获取缓存数据a,并在刷新完成以后,直接将该缓存数据a反馈给对应的调用请求对应的调用程序。
88.可见,本示例中,可在目标接口接收到针对同一缓存数据的调用请求时,如果该缓存数据过期(即若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期),并且,第一线程还未来得及被唤醒,则可暂停唤醒该第一线程,其他的第二线程处于唤醒状态,则可直接选择其中一个第二线程完成对于该缓存数据的刷新,即刷新到目标接口,并暂停其他的第二线程,以防止高并发情况的产生,避免在缓存数据失效时,大量并发请求同时达到存储层,影响系统稳定性,有利于提高系统稳定性。
89.在一个可能的示例中,所述电子设备包括缓存组件,所述缓存组件包括主集群和
备用集群,其中,所述缓存组件用于为所述目标接口提供接口级缓存的访问支持;上述方法还可包括如下步骤:若所述目标接口接收到多个调用请求,则确定所述每一调用请求的操作结果;获取失败计数值,其中,所述失败计数值用于统计所述操作结果指示请求失败的次数;若存在第i个操作结果指示请求失败,则将所述失败计数值加1;若存在第i+1个操作结果指示请求成功,则将所述失败计数值置0;若所述失败计数值大于或等于预设阈值,则确定所述主集群故障,并触发缓存组件故障转移机制,其中,所述多级缓存故障转移机制用于保证所述多个调用请求的正常访问。
90.其中,上述操作结果可包括:请求失败和请求成功等结果,i为大于或等于1的正整数,可在完成每一次调用请求以后,计数该调用请求对应的操作结果中请求失败的次数。
91.其中,第i个操作结果可以为上述多个调用请求对应的多个操作结果中任意一个,上述第i+1个操作结果为主集群接收到第i个操作结果对应调用请求的下一个调用请求对应的操作结果。
92.其中,与图1b所对应的,可以理解为每一应用程序对应的应用接口均对应有一个主集群和备用集群,该主集群和/或备用集群可用于为目标接口提供访问支持,并且,主集群和/或备用集群可包括多个节点,每一节点可对应一个调用请求。
93.其中,在主集群和备用集群的配合使用中,一般优先使用主集群,该主集群与备用集群可以对应,即该备用集群的配置信息需与主集群的配置信息一致,该备用集群用于在主集群故障时启动,以维持目标接口的正常使用。
94.其中,由于上述缓存组件很可能会因为网络故障、硬件故障等不可抗拒因素导致其不可用,这个在用户层级可能是无法感知的,因此,可通过对请求失败的次数进行计数,得到失败计数值,通过该失败计数值以确定当前使用的缓存组件(主集群和/或备用集群)是否故障;当缓存组件故障时,可触发缓存组件故障转移机制。
95.其中,上述缓存组件故障转移机制可为系统默认或者用户自行设置,在此不作限定;该缓存组件故障转移机制可用于在主集群和/或备用集群故障时启动,以保证多个调用请求的正常访问。
96.其中,上述预设阈值可为系统默认或者用户自行设置,在此不作限定;可以是100次,也可以是50次。
97.其中,本示例中,仅以缓存组件中的主集群故障的判断方式进行说明,备用集群的故障判断方式与上述方法一致,后续不再赘述;当然,主集群和备用集群分别对应的预设阈值可以不同,在此不做赘述。
98.可见,本示例中,可在失败计数值达到预设阈值,即连续失败的次数达到预设阈值时,确定主集群故障,并触发缓存组件故障转移机制,以保证多个调用请求的正常访问,有利于提高缓存的可用性。
99.在一个可能的示例中,所述触发缓存组件故障转移机制,上述方法可包括如下步骤:启动所述备用集群,并通过所述备用集群支持所述多个调用请求的访问;若所述备用集群故障,则将所述接口级缓存降级为应用级缓存;确定所述应用级缓存的最大使用空间;在所述应用级缓存的使用空间达到所述最大使用空间,则将所述应用级缓存降级为存储层级缓存,通过所述存储层支持所述多个调用请求的访问,并配置所述存储层的最大请求次数;当所述存储层的请求次数达到所述最大请求次数,则向所述调用程序返回预设数据;调用
子线程抽样部分所述调用请求到所述主集群,以探测所述主集群的健康状态;在所述主集群恢复,则执行所述确定所述每一调用请求的操作结果的步骤;当每一所述调用请求的操作结果均指示请求成功,则逐步加大所述调用请求的抽样比例,关闭所述备用集群和/或升级所述应用级缓存为所述接口级缓存和/或升级所述存储层级缓存为所述接口级缓存,即通过所述主集群支持所述多个调用请求的访问。
100.其中,上述最大使用空间可为应用级缓存能够接收的多个调用请求的最大使用空间。
101.其中,上述判断备用集群故障的方式与上述主集群的故障判断方法一致,在此不做赘述。
102.其中,上述预设数据可以为用户自行设置或者系统默认,在此不作限定;例如,该预设数据可以为空字段,或者也可以为预先设定好的访问不可达等字段,也可以是指定的缓存数据。
103.具体实现中,如图3所示,为一种缓存组件故障转移机制的流程示意图,可通过主集群支持上述多个调用请求的访问,当主集群故障或主集群不可用时,可启动备用集群,若备用集群故障,则将接口级缓存降级为应用级缓存,即通过应用层的缓存支持后续多个调用请求的访问,并在应用级缓存的使用空间达到其对应的最大使用空间,即当调用请求高并发或者大量增加以后,没有其他空间提供给后面的调用请求实现调用操作以后,可将应用级缓存降级为存储层级缓存,即可通过存储层支持后续的多个调用请求的访问。
104.进一步地,在配置所述存储层的最大请求次数时,可根据该存储层的实际情况设定。当存储层的请求次数(访问次数)达到最大请求次数以后,可向每一调用请求对应的调用程序返回上述预设数据。
105.再进一步地,在通过上述备用集群访问接口缓存和/或访问应用级缓存和/或访问存储层级缓存的过程中,可调用子线程抽取多个调用请求中的部分调用请求(例如,从多个调用请求中抽取5%的抽样比例的调用请求),并监控得到每一调用请求的操作结果(指示请求成功或者请求失败),如果抽样比例对应的每一调用请求均指示请求成功,则逐步增大调用请求对应的抽样比例,知道抽样比例达到100%为止,如果每一调用请求均指示请求成功,则表明主集群恢复,可关闭备用集群和/或升级所述应用级缓存为所述接口级缓存和/或升级所述存储层级缓存为所述接口级缓存,并通过主集群支持后续多个调用请求的访问。
106.可见,本示例中,通过设计多级缓存,以及为接口缓存设计主集群和备用集群的方式,使得当缓存组件出现故障时,能及时将请求转移到备用集群,达到灾备的效果;并在备用集群故障以后,通过降级存储,即逐步降级成应用级缓存和/或存储层级缓存,以保证多个调用请求的访问。
107.举例来说,如图4所示,为一种缓存数据处理方法的流程示意图,电子设备对应的应用程序的目标接口可接收调用请求,该调用请求可用于调用缓存数据,目标接口可通过缓存组件(主集群和/或备用集群)支持上述调用请求的访问或者接收,并判断该目标接口是否存在(包括)缓存数据,若存在该缓存数据,可直接返回给该调用请求对应的调用程序;如果该目标接口不存在(包括)上述缓存数据,则可从池化线程池中唤醒一个子线程,从存储层获取缓存数据,并返回给调用程序。同时,电子设备中的目标接口还可以确定该缓存数
据的有效期,并确定该缓存数据为高频类型或者低频类型,如果这个时候该缓存数据到期,即高频类型对应的缓存数据续期以后的有效期到期,即该续期以后的有效期达到续期时间窗口,或者低频类型对应的缓存数据的有效期到期,则可以从池化线程池中唤醒第一线程从存储层获取缓存数据,并将其反馈给调用程序,并将该缓存数据写入该目标接口对应的缓存或者集群中。如此,有利于提高集群或者接口缓存的有效利用率。并且,在本技术中,电子设备的目标接口也可随时监控缓存数据的有效期,并在高频类型的缓存数据有效期到期以后,对该高频数类型对应的缓存数据进行续期,以将高频的缓存持续保留在集群或者缓存中,有利于提高缓存命中率;并将低频类型对应的缓存数据从缓存或者集群中移除,有利于提高集群的有效利用率。
108.请参阅图5,图5是本技术实施例提供的一种缓存数据处理方法的流程示意图,应用于电子设备,如图所示,本缓存数据处理方法包括以下操作。
109.s501、若所述目标接口接收到多个调用请求,判断所述目标接口是否包括每一缓存数据,其中,每一所述调用请求用于调用一个所述缓存数据,所述目标接口对应多个所述缓存数据。
110.其中,当目标接口通过主线程接收到多个调用请求时,可判断目标接口是否包括上述任意一个缓存数据。
111.s502、若所述目标接口包括任意一个所述缓存数据,则直接返回所述缓存数据到对应的所述调用请求对应的调用程序。
112.s503、若所述目标接口不包括所述多个缓存数据,则在所述池化线程池中唤醒多个第二线程,通过所述多个第二线程执行缓存数据调用操作,以从所述存储层获取所述缓存数据,其中,每一调用请求对应一个第二线程。
113.s504、在所述目标接口不包括所述多个缓存数据时,若多个所述第二线程均用于执行同一缓存数据对应的缓存数据调用操作,确定所述缓存数据的有效期。
114.其中,这块儿可延续上述步骤s202的部分步骤,以及执行步骤s203-步骤s204,以判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期;具体的实施例的相关描述可见图2,上述步骤s202-步骤s204及其相关实施例可作为本技术实施例的基础方案。
115.s505、若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,则暂停所述多个第二线程的缓存数据调用操作。
116.s506、在池化线程池中新增子任务,并通过所述子任务唤醒第一线程。
117.s507、通过所述第一线程从存储层获取所述缓存数据,并将所述缓存数据写入所述目标接口对应缓存中,以完成所述缓存数据的刷新。
118.s508、等待所述第一线程完成所述缓存数据的刷新以后,直接返回所述缓存数据到每一所述调用请求对应的调用程序,直接返回所述缓存数据到每一所述调用请求对应的调用程序。
119.其中,上述步骤s501-s508的相关描述与图2中的步骤s201-s204的相关描述一致,在此不再赘述。
120.可以看出,本技术实施例所描述的缓存数据处理方法,若所述目标接口接收到多个调用请求,判断所述目标接口是否包括每一缓存数据,其中,每一所述调用请求用于调用一个所述缓存数据,所述目标接口对应多个所述缓存数据;若所述目标接口包括任意一个所述缓存数据,则直接返回所述缓存数据到对应的所述调用请求对应的调用程序;若所述目标接口不包括所述多个缓存数据,则在所述池化线程池中唤醒多个第二线程,通过所述多个第二线程执行缓存数据调用操作,以从所述存储层获取所述缓存数据,其中,每一调用请求对应一个第二线程;在所述目标接口不包括所述多个缓存数据时,若多个所述第二线程均用于执行同一缓存数据对应的缓存数据调用操作,确定所述缓存数据的有效期;若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,则暂停所述多个第二线程的缓存数据调用操作;在池化线程池中新增子任务,并通过所述子任务唤醒第一线程;通过所述第一线程从存储层获取所述缓存数据,并将所述缓存数据写入所述目标接口对应缓存中,以完成所述缓存数据的刷新;等待所述第一线程完成所述缓存数据的刷新以后,直接返回所述缓存数据到每一所述调用请求对应的调用程序,直接返回所述缓存数据到每一所述调用请求对应的调用程序。如此,可在目标接口接收到多个调用请求以后,可采用接口级缓存方式,确定该目标接口是否包括每一调用请求对应的缓存数据,在包括任意一个缓存数据时,可直接返回该缓存数据;不包括任意一个缓存数据时,可从池化线程池唤醒多个第二线程,即多个子线程,实现对于存储层级缓存中缓存数据的获取,以实现对于该缓存数据的返回,并保留该缓存数据到目标接口;如此,有利于提高缓存数据的有效利用率。并且,在本方案中,可设定不同类型的缓存数据的有效期,并结合有效期,实现对于缓存数据的管理(续期或者删除);当目标接口不包括缓存数据时,可能是该缓存数据过期(有效期过期或者续期以后的有效期过期),此时电子设备可能本来就唤醒了第一线程实现对于缓存数据的刷新,因此,为了防止高并发情况的发生,可暂停该多个第二线程的工作,并在第一线程返回缓存数据以后,将该缓存数据同步返回到调用请求对应的调用程序。
121.请参阅图6,图6是本技术实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,上述一个或多个程序被配置由上述处理器执行以下步骤的指令:
122.判断目标接口是否包括缓存数据;
123.若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期;
124.判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;
125.若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期。
126.可以看出,本技术实施例中所描述的电子设备,判断目标接口是否包括缓存数据;若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期;判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期。
127.在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
128.若所述缓存数据为所述低频类型的数据,则在所述有效期到期时,释放所述缓存
数据。
129.在一个可能的示例中,若目标接口接收到调用请求,其中,所述调用请求用于调用所述缓存数据;上述程序还包括用于执行以下步骤的指令:
130.若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,则在池化线程池中新增子任务,并通过所述子任务唤醒第一线程;通过所述第一线程从存储层获取所述缓存数据,并将所述缓存数据写入所述目标接口对应缓存中,以完成所述缓存数据的刷新。
131.在一个可能的示例中,若所述目标接口对应多个所述缓存数据,所述目标接口接收到多个调用请求,其中,每一所述调用请求用于调用一个所述缓存数据;上述程序还包括用于执行以下步骤的指令:
132.若所述目标接口包括任意一个所述缓存数据,则直接返回所述缓存数据到对应的所述调用请求对应的调用程序;
133.若所述目标接口不包括所述多个缓存数据,则在所述池化线程池中唤醒多个第二线程,通过所述多个第二线程执行缓存数据调用操作,以从所述存储层获取所述缓存数据,其中,每一调用请求对应一个第二线程。
134.在一个可能的示例中,在所述目标接口不包括所述多个缓存数据时,若多个所述第二线程均用于执行同一缓存数据对应的缓存数据调用操作;上述程序还包括用于执行以下步骤的指令:
135.若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,则暂停所述多个第二线程的缓存数据调用操作;
136.等待所述第一线程完成所述缓存数据的刷新以后,直接返回所述缓存数据到每一所述调用请求对应的调用程序,直接返回所述缓存数据到每一所述调用请求对应的调用程序。
137.在一个可能的示例中,所述电子设备包括缓存组件,所述缓存组件包括主集群和备用集群,其中,所述缓存组件用于为所述目标接口提供接口级缓存的访问支持。
138.在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
139.若所述目标接口接收到多个调用请求,则确定所述每一调用请求的操作结果;
140.获取失败计数值,其中,所述失败计数值用于统计所述操作结果指示请求失败的次数;
141.若存在第i个操作结果指示请求失败,则将所述失败计数值加1;
142.若存在第i+1个操作结果指示请求成功,则将所述失败计数值置0;
143.若所述失败计数值大于或等于预设阈值,则确定所述主集群故障,并触发缓存组件故障转移机制,其中,所述多级缓存故障转移机制用于保证所述多个调用请求的正常访问。
144.在一个可能的示例中,在所述触发缓存组件故障转移机制方面,上述程序包括用于执行以下步骤的指令:
145.启动所述备用集群,并通过所述备用集群支持所述多个调用请求的访问;
146.若所述备用集群故障,则将所述接口级缓存降级为应用级缓存;
147.确定所述应用级缓存的最大使用空间;
148.在所述应用级缓存的使用空间达到所述最大使用空间,则将所述应用级缓存降级为存储层级缓存,通过所述存储层支持所述多个调用请求的访问,并配置所述存储层的最大请求次数;
149.当所述存储层的请求次数达到所述最大请求次数,则向所述调用程序返回预设数据;
150.调用子线程抽样部分所述调用请求到所述主集群,以探测所述主集群的健康状态;
151.在所述主集群恢复,则执行所述确定所述每一调用请求的操作结果的步骤;
152.当每一所述调用请求的操作结果均指示请求成功,则逐步加大所述调用请求的抽样比例,关闭所述备用集群和/或升级所述应用级缓存为所述接口级缓存和/或升级所述存储层级缓存为所述接口级缓存,即通过所述主集群支持所述多个调用请求的访问。
153.上述主要从方法侧执行过程的角度对本技术实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的区间。
154.本技术实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
155.在采用对应各个功能划分各个功能模块的情况下,图7a示出了缓存数据处理装置的示意图,如图7a所示,所述装置应用于电子设备,该缓存数据处理装置700可以包括:判断单元701、确定单元702和续期单元703,其中,
156.所述判断单元701,用于判断目标接口是否包括缓存数据;
157.所述确定单元702,用于若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期;
158.所述判断单元701,还用于判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;
159.所述续期单元703,用于若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗口,续期所述有效期。
160.可以看出,本技术实施例提供的缓存数据处理装置,判断目标接口是否包括缓存数据;若所述目标接口包括所述缓存数据,则确定所述缓存数据的有效期;判断所述缓存数据的类型,其中,所述类型包括高频类型和低频类型;若所述缓存数据为所述高频类型的数据且所述有效期到期,则确定所述高频类型对应的续期时间窗口,并根据所述续期时间窗
口,续期所述有效期。
161.在一个可能的示例中,如图7b所示,图7b示出了另一种缓存数据处理装置的示意图,在图7a的基础上,上述该缓存数据处理装置700还可以包括:释放单元704,其中,
162.所述释放单元704,用于若所述缓存数据为所述低频类型的数据,则在所述有效期到期时,释放所述缓存数据。
163.在一个可能的示例中,若目标接口接收到调用请求,其中,所述调用请求用于调用所述缓存数据;如图7c所示,图7c示出了另一种缓存数据处理装置的示意图,在图7a和图7b的基础上,上述该缓存数据处理装置700还可以包括:写入单元705,其中,所述写入单元705,用于若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,则在池化线程池中新增子任务,并通过所述子任务唤醒第一线程;通过所述第一线程从存储层获取所述缓存数据,并将所述缓存数据写入所述目标接口对应缓存中,以完成所述缓存数据的刷新。
164.在一个可能的示例中,如图7d所示,图7d示出了另一种缓存数据处理装置的示意图,在图7a、图7b和图7c的基础上,上述该缓存数据处理装置700还可以包括:执行单元706,其中,若所述目标接口对应多个所述缓存数据,所述目标接口接收到多个调用请求,其中,每一所述调用请求用于调用一个所述缓存数据;所述执行单元706具体用于:
165.若所述目标接口包括任意一个所述缓存数据,则直接返回所述缓存数据到对应的所述调用请求对应的调用程序;
166.若所述目标接口不包括所述多个缓存数据,则在所述池化线程池中唤醒多个第二线程,通过所述多个第二线程执行缓存数据调用操作,以从所述存储层获取所述缓存数据,其中,每一调用请求对应一个第二线程。
167.在一个可能的示例中,在所述目标接口不包括所述多个缓存数据时,若多个所述第二线程均用于执行同一缓存数据对应的缓存数据调用操作;上述执行单元706具体还用于:
168.若所述缓存数据为所述低频类型的数据且所述有效期到期,或者所述缓存数据为所述高频类型的数据且续期以后的有效期过期,则暂停所述多个第二线程的缓存数据调用操作;
169.等待所述第一线程完成所述缓存数据的刷新以后,直接返回所述缓存数据到每一所述调用请求对应的调用程序,直接返回所述缓存数据到每一所述调用请求对应的调用程序。
170.在一个可能的示例中,所述电子设备包括缓存组件,所述缓存组件包括主集群和备用集群,其中,所述缓存组件用于为所述目标接口提供接口级缓存的访问支持。
171.在一个可能的示例中,如图7e所示,图7e示出了另一种缓存数据处理装置的示意图,在图7a、图7b、图7c和图7d的基础上,上述该缓存数据处理装置700还可以包括:触发单元707,所述触发单元707用于:
172.若所述目标接口接收到多个调用请求,则确定所述每一调用请求的操作结果;
173.获取失败计数值,其中,所述失败计数值用于统计所述操作结果指示请求失败的次数;
174.若存在第i个操作结果指示请求失败,则将所述失败计数值加1;
175.若存在第i+1个操作结果指示请求成功,则将所述失败计数值置0;
176.若所述失败计数值大于或等于预设阈值,则确定所述主集群故障,并触发缓存组件故障转移机制,其中,所述多级缓存故障转移机制用于保证所述多个调用请求的正常访问。
177.在一个可能的示例中,在所述触发缓存组件故障转移机制方面,所述触发单元707具体用于:
178.启动所述备用集群,并通过所述备用集群支持所述多个调用请求的访问;
179.若所述备用集群故障,则将所述接口级缓存降级为应用级缓存;
180.确定所述应用级缓存的最大使用空间;
181.在所述应用级缓存的使用空间达到所述最大使用空间,则将所述应用级缓存降级为存储层级缓存,通过所述存储层支持所述多个调用请求的访问,并配置所述存储层的最大请求次数;
182.当所述存储层的请求次数达到所述最大请求次数,则向所述调用程序返回预设数据;
183.调用子线程抽样部分所述调用请求到所述主集群,以探测所述主集群的健康状态;
184.在所述主集群恢复,则执行所述确定所述每一调用请求的操作结果的步骤;
185.当每一所述调用请求的操作结果均指示请求成功,则逐步加大所述调用请求的抽样比例,关闭所述备用集群和/或升级所述应用级缓存为所述接口级缓存和/或升级所述存储层级缓存为所述接口级缓存,即通过所述主集群支持所述多个调用请求的访问。
186.需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
187.本实施例提供的电子设备,用于执行上述缓存数据处理方法,因此可以达到与上述实现方法相同的效果。
188.在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理,例如,可以用于支持电子设备执行上述判断单元701、确定单元702、续期单元703、释放单元704、写入单元705、执行单元706和触发单元707执行的步骤。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
189.其中,处理模块可以是处理器或控制器。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,dsp)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、wi-fi芯片等与其他电子设备交互的设备。
190.本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
191.本技术实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方
法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
192.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
193.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
194.在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
195.上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
196.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
197.上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
198.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
199.以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用区间上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1