一种数据缓存方法、装置及系统与流程

文档序号:13534304阅读:182来源:国知局
一种数据缓存方法、装置及系统与流程

本申请涉及互联网技术领域,尤其涉及一种数据缓存方法、装置及系统。



背景技术:

随着互联网技术的发展,基于互联网的数据处理系统越来越多。数据处理系统之间存在一定的关联关系,例如一个数据处理系统的正常运行需要依赖其它数据处理系统的数据。以电子商务领域中的风险防控系统为例,为了更加准确的识别用户行为是否存在风险,可能需要从订单系统中获取用户的订单信息,从商品信息系统中获取用户购买的商品信息,以及从用户信息管理系统等中获取用户的历史行为数据等,然后从多种数据维度进行综合分析。

在现有技术中,当一个数据处理系统需要使用其它数据处理系统的数据时,直接访问其它数据处理系统,例如直接向其它数据处理系统发送数据请求,并接收其它数据处理系统根据该数据请求返回的数据。

对于一些业务并发度较高的数据处理系统,需要频繁的访问其它数据处理系统,这会增加其他数据处理系统的处理压力。当其他数据处理系统的处理压力较大时,可能无法及时处理该数据处理系统的数据请求,导致该数据处理系统获取数据超时,降低数据获取效率。



技术实现要素:

本申请的多个方面提供一种数据缓存方法、装置及系统,用以减轻数据获取过程给其它数据处理系统造成的处理负担,提高数据获取效率。

本申请实施例提供一种数据缓存方法,包括:

确定客户端需要向外部数据服务请求的目标数据;

确定所述目标数据属于预定类型数据;

指示所述客户端对所述目标数据进行缓存处理。

本申请实施例还提供一种数据缓存方法,包括:

确定客户端需要向外部数据服务请求的数据,作为目标数据;

确定所述客户端本地缓存的预定类型标识中不包含所述目标数据的标识;

向服务端发送用于指示需要向所述外部数据服务请求所述目标数据的数据请求,以触发所述服务端判断所述目标数据是否属于预定类型数据;

若接收到所述服务端在确定所述目标数据属于预定类型数据后返回的缓存指示,获取所述目标数据的标识和所述目标数据,并将所述目标数据的标识和所述目标数据分别作为预定类型标识和预定类型数据缓存在所述客户端本地。

本申请实施例还提供一种服务端设备,包括:存储器以及处理器;所述存储器,用于存储程序;所述处理器,与所述存储器耦合,用于执行所述存储器中的所述程序,以用于:确定客户端设备需要向外部数据服务请求的目标数据;确定所述目标数据属于预定类型数据;指示所述客户端设备对所述目标数据进行缓存处理。

本申请实施例还提供一种客户端设备,包括:通信组件、存储器以及处理器;所述存储器包括:缓存区和程序区;所述缓存区,用于缓存热点标识和热点数据;所述程序区,用于存储程序;所述处理器,耦合至所述程序区、所述缓存区和所述通信组件,用于执行所述程序区中的所述程序,以用于:

确定所述客户端设备需要向外部数据服务请求的数据,作为目标数据;确定所述缓存区缓存的预定类型标识中不包含所述目标数据的标识;通过所述通信组件向服务端设备发送用于指示需要向所述外部数据服务请求所述目标数据的数据请求,以触发所述服务端设备判断所述目标数据是否属于预定类型数据;以及若所述通信组件接收到所述服务端设备在确定所述目标数据属于预定类型数据后返回的缓存指示,获取所述目标数据的标识和所述目标数据,并将所述目标数据的标识和所述目标数据分别作为预定类型标识和预定类型数据存储到所述缓存区中;

所述通信组件,用于向所述服务端设备发送所述数据请求,并接收所述服务端设备返回的所述缓存指示。

本申请实施例还提供一种数据缓存装置,位于服务端中实现,所述装置包括:第一确定模块,用于确定客户端需要向外部数据服务请求的目标数据;第二确定模块,用于确定所述目标数据属于预定类型数据;缓存处理模块,用于指示所述客户端对所述目标数据进行缓存处理。

本申请实施例还提供一种数据缓存装置,位于客户端中实现,所述装置包括:第一确定模块,用于确定所述客户端需要向外部数据服务请求的数据,作为目标数据;第二确定模块,确定所述客户端本地缓存的预定类型标识中不包含所述目标数据的标识;发送模块,用于向服务端发送用于指示需要向所述外部数据服务请求所述目标数据的数据请求,以触发所述服务端判断所述目标数据是否属于预定类型数据;接收模块,用于接收所述服务端在确定所述目标数据属于预定类型数据后返回的缓存指示;缓存模块,用于在所述接收模块接收到所述缓存指示时,获取所述目标数据的标识和所述目标数据,并将所述目标数据的标识和所述目标数据分别作为预定类型标识和预定类型数据缓存在所述客户端本地。

本申请实施例还提供一种数据处理系统,包括:服务端和至少一个客户端;

每个所述客户端,用于确定所述客户端需要向外部数据服务请求的数据,作为目标数据;确定所述客户端本地缓存的预定类型标识中不包含所述目标数据的标识,向所述服务端发送用于指示需要向所述外部数据服务请求所述目标数据的数据请求,并接收所述服务端发送的缓存指示;

所述服务端,用于接收所述客户端发送的所述数据请求;确定所述目标数据属于预定类型数据,向所述客户端返回所述业务缓存指示;

所述客户端还用于,在接收到所述缓存指示时,获取所述目标数据的标识和所述目标数据,并将所述目标数据的标识和所述目标数据分别作为预定类型标识和预定类型数据缓存在所述客户端本地。

在本申请中,服务端确定客户端需要向外部数据服务请求的目标数据,确定该目标数据属于预定类型数据,指示客户端对热点数据进行缓存处理;客户端根据服务端的指示,将目标数据及其标识分别作为预定类型数据和预定类型标识缓存在本地;基于此,客户端后续需要使用目标数据时,可以直接在本地缓存中获取,无需向外部数据服务请求,可以减轻外部数据服务的处理负担,尤其是依赖目标数据的业务的并发度较高时,可以极大地减轻外部数据服务的处理负担,便于提高客户端获取所需数据的效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请一实施例提供的可应用本申请方法的数据处理系统的结构示意图;

图2为本申请另一实施例提供的数据缓存方法的流程示意图;

图3为本申请又一实施例提供的数据缓存方法的流程示意图;

图4为本申请又一实施例提供的数据缓存方法的流程示意图;

图5为本申请又一实施例提供的数据缓存装置的结构示意图;

图6为本申请又一实施例提供的服务端设备的结构示意图;

图7为本申请又一实施例提供的数据缓存装置的结构示意图;

图8为本申请又一实施例提供的客户端设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在现有技术中,当一个数据处理系统需要使用其它数据处理系统的数据时,直接访问其它数据处理系统,例如直接向其它数据处理系统发送数据请求,并接收其它数据处理系统根据该数据请求返回的数据。

对于一些业务并发度较高的数据处理系统,需要频繁的访问其它数据处理系统,这会增加其他数据处理系统的处理压力。当其他数据处理系统的处理压力较大时,可能无法及时处理该数据处理系统的数据请求,导致该数据处理系统获取数据超时,降低数据获取效率。

针对上述问题,本申请提供一种解决方案,主要原理是:服务端确定客户端需要向外部数据服务请求的目标数据,确定该目标数据属于预定类型数据,指示客户端对热点数据进行缓存处理;客户端根据服务端的指示,将目标数据及其标识分别作为预定类型数据和预定类型标识缓存在本地;这样,客户端后续需要使用目标数据时,可以直接在本地缓存中获取,无需向外部数据服务请求,可以减轻外部数据服务的处理负担,尤其是依赖目标数据的业务的并发度较高时,可以极大地减轻外部数据服务的处理负担,便于提高客户端获取所需数据的效率。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请一实施例提供的可应用本申请方法的数据处理系统的结构示意图。图1所示数据处理系统100需要完成一定业务处理逻辑。如图1所示,数据处理系统100包括:至少一个客户端101和服务端102。

其中,客户端101可以为智能手机、个人电脑、平板电脑等,服务端102可以为智能手机、个人电脑、服务器等。

客户端101主要负责完成数据处理系统100中的数据处理逻辑。根据数据处理系统100的不同,客户端101需要完成的数据处理逻辑也会有所不同。下面举例说明:

例如,数据处理系统100可以是风险防控系统,则客户端101主要用于执行风险防控处理逻辑。以电子商务领域为例,则风险防控处理逻辑包括但不限于:根据多维度数据对用户的各种操作行为进行风险识别。所述多维度数据包括但不限于:用户购买的商品信息、用户当前所处的软硬件环境、用户的历史操作行为、用户当前操作类型(如删除、修改)。所述用户的各种操作行为包括但不限于:登录、下单、支付、修改基本信息等。

例如,数据处理系统100可以是订单管理系统,则客户端101主要用于执行订单管理处理逻辑。订单管理处理逻辑包括但不限于:对订单的情况的记录、跟踪和控制;随时对订单完成情况的跟踪、控制订单的实际执行;根据实际补货情况实现追加执行订单;进行比较并显示订单执行差异,并通过业务和分析报表进行订单执行情况的反映;等等。

客户端101在执行数据处理逻辑的过程中,可能需要从外部数据服务200中请求数据。外部数据服务200可以是数据处理系统100之外任何能够为数据处理系统100提供数据的服务。根据数据处理系统100的不同,外部数据服务200的实现形式和所提供的数据内容都会有所不同,所以本实施例并不限定外部数据服务200的实现形式和所提供的数据内容。例如,外部数据服务200可以是与数据处理系统100有关联但不同于数据处理系统100的其它数据处理系统。以数据处理系统100是电子商务领域中的风险防控系统为例,则外部数据服务200可以是订单系统、商品信息管理系统和/或用户信息管理系统等。

在现有技术中,当客户端101需要向外部数据服务200请求数据时,会直接访问外部数据服务200以获取所需数据,意味着外部数据服务200需要处理客户端101的访问请求。这种方式会造成外部数据服务200的处理负担,尤其是在大量客户端101并发访问外部数据服务200的情况下,外部数据服务200甚至会无法及时处理客户端101的访问请求,导致客户端101无法及时获取所需数据,延误业务处理。

为解决上述问题,本实施例的数据处理系统100除了包括客户端101之外,还包括服务端102,该服务端102的作用是与客户端101配合,在不影响客户端101执行数据处理逻辑的情况下,针对客户端101需要从外部数据服务200中请求数据的情况,主动发现预定类型数据并指示客户端101本地缓存,进而降低客户端101对外部数据服务200的访问次数,减轻外部数据服务200的处理负担,提高客户端101获取所需数据的效率,进而提高业务执行效率。

下面重点介绍本数据处理系统100的工作原理:

当客户端101需要执行业务处理逻辑时,确定需要向外部数据服务200请求的数据。在本实施例中,为便于描述,将客户端101执行数据处理逻辑过程中所需的数据称为目标数据。

例如,以客户端101为风险防控系统为例,风险防控系统会设置风险防控策略,该风险防控策略规定了针对不同事件进行风险防控时所需的数据。当然,有些数据是风险防控系统自身不存在的,需要从外部数据服务200中获取进行数据补全,然后基于补全后的数据进行风险防控处理。基于此,可以根据风险防控策略,确定风险防控系统对当前事件进行风险防控需要补全的数据,作为需要向外部数据服务200请求的目标数据。

在实施例中,预先定义允许客户端101进行本地缓存的数据,简称为预定类型数据。客户端101会根据服务端102的指示在本地缓存预定类型数据和预定类型数据的标识(简称为预定类型标识)。基于此,客户端101判断本地缓存的预定类型标识中是否包含目标数据的标识。

值得说明的是,本实施例不对预定类型数据做限制,根据应用需求的不同,预定类型数据会有所不同。例如,预定类型数据可以是访问频率满足指定要求的数据,这种数据可称为热点数据,相应的,这种数据的标识称为热点标识。对于客户端101确定本地缓存的预定类型标识中不包含目标数据的标识的情况:

客户端101向服务端102发送用于指示需要向外部数据服务200请求目标数据的数据请求。该数据请求包括目标数据的标识。服务端102接收客户端101发送的数据请求,确定客户端101需要向外部数据服务200请求的目标数据;判断该目标数是否属于预定类型数据;若确定该目标数据属于预定类型数据,则向客户端101返回缓存指示。客户端101接收服务端102返回的缓存指示,据此确定该目标数据属于预定类型数据,于是获取目标数据的标识和目标数据,并将目标数据的标识和目标数据分别作为预定类型标识和预定类型数据缓存在客户端101本地。

可选的,上述过程中,客户端101在本地缓存目标数据的标识和目标数据之前,获取目标数据的标识和目标数据的一种实施方式如下:

服务端102在接收到客户端101发送的数据请求后,除了判断目标数是否属于预定类型数据之外,还可以确定出客户端101本地缓存中不存在目标数据,于是服务端102从外部数据服务200中获取目标数据。例如,服务端102向外部数据服务200发送访问请求,该访问请求携带目标数据的标识,以请求外部数据服务200返回目标数据。基于此,服务端102可以通过热点指示将目标数据的标识和目标数据发送给客户端101。对客户端101来说,在接收到服务端102返回的缓存指示后,可以从缓存指示中获取目标数据的标识和目标数据,进而将目标数据的标识和目标数据分别作为预定类型标识和预定类型数据缓存在本地。

可选的,上述过程中,客户端101在本地缓存目标数据的标识和目标数据之前,获取目标数据的标识和目标数据的另一种实施方式如下:

服务端102在接收到客户端101发送的数据请求后,仅判断目标数是否属于预定类型数据,并在确定该目标数据属于预定类型数据之后,向客户端101返回缓存指示,该缓存指示包括目标数据的标识。对客户端101来说,在接收到服务端102返回的缓存指示后,可以从缓存指示中获取目标数据的标识,据此确定目标数据属于预定类型数据,需要获取目标数据后缓存在本地。于是,客户端101从外部数据服务200中获取目标数据,例如客户端101向外部数据服务200发送访问请求,该访问请求携带有目标数据的标识,以请求外部数据服务200返回目标数据;客户端101接收外部数据服务200返回的目标数据。然后,客户端101将目标数据的标识和目标数据分别作为预定类型标识和预定类型数据缓存在本地。

可选的,在上述获取目标数据的标识和目标数据的另一种实施方式中,客户端101可以在根据缓存指示从外部数据服务200中获取目标数据以后,根据目标数据执行此次数据处理逻辑。

可选的,在上述获取目标数据的标识和目标数据的另一种实施方式中,客户端101可以在接收到缓存指示之前,从外部数据服务200中获取目标数据并根据目标数据执行此次数据处理逻辑。对于这种情况,由于客户端101在接收到所述缓存指示之前并不知道需要将目标数据作为预定类型数据缓存在本地,故不会缓存目标数据。另外,由于客户端101在接收到所述缓存指示之前已经完成此次数据处理逻辑,故在接收到缓存指示后,不用专门从外部数据服务200获取目标数据进行缓存,可以在再次需要向外部数据服务200请求目标数据时,再从外部数据服务200中获取目标数据,然后缓存在本地。

进一步,对于服务端102来说,除了根据客户端101发送的数据请求确定客户端101需要向外部数据服务200请求目标数据之外,还可以采用其他方式确定客户端101需要向外部数据服务200请求目标数据。例如,服务端102可以实时监控客户端101执行数据处理逻辑的过程,从而主动发现客户端101需要向外部数据服务200请求数据的情况,并将所述情况下客户端101需要向外部数据服务200请求的数据作为目标数据。具体的,客户端101可以通过数据请求队列缓存需要向外部数据服务200请求数据的数据请求;对此,服务端102可以定期轮询客户端的数据请求队列,如果数据请求队列中有尚未处理的数据请求,则可以确定客户端101需要向外部数据服务200请求数据。

可选的,以预定类型数据为访问频率满足指定要求的热点数据为例,服务端102在确定客户端需要向外部数据服务请求的目标数据之后,确定目标数据属于预定类型数据的一种实施方式如下:

服务端102维护一热点标识列表,该热点标识列表中存储有预设的热点标识,这些热点标识对应的数据属于热点数据。基于此,服务端102可以根据目标数据的标识和预设的热点标识列表,确定目标数据属于热点数据。

具体的,服务端102可以将目标数据的标识在热点标识列表中进行匹配,以判断热点标识列表中是否包含目标数据的标识;若热点标识列表中包含目标数的标识,确定目标数据属于热点数据;若热点标识列表中不包含目标数据的标识,确定目标数据不属于热点数据。这种实施方式相对简单,效率较高。

可选的,以预定类型数据为访问频率满足指定要求的热点数据为例,服务端102在确定客户端需要向外部数据服务请求的目标数据之后,确定目标数据属于预定类型数据的另一种实施方式如下:

考虑到目标数据的请求次数越多,说明目标数据的热度越高,属于热点数据的概率也就越高。因此,服务端102可以获取目标数据的请求次数,根据目标数据的请求次数,确定目标数据属于热点数据。

例如,服务端102可以根据目标数据在指定时间段内的请求次数,判断目标数据是否属于热点数据。具体的,服务端102可以将目标数据在指定时间段内的请求次数与预设的次数阈值进行比较;若目标数据在指定时间段内的请求次数大于预设的次数阈值,确定目标数据属于热点数据;若目标数据在指定时间段内的请求次数小于或等于预设的次数阈值,确定目标数据不属于热点数据。本实施例不对指定时间段进行限定,可以根据应用需求适应性设置,例如可以最近2小时,最近一天,或指定某日某时到某日某时等。

又例如,可以按照预设统计周期,周期性的统计目标数据的请求次数。基于此,服务端102可以根据目标数据在至少两个统计周期内的请求次数,判断目标数据是否属于热点数据。具体的,服务端102可以根据目标数据在至少两个统计周期内的请求次数,获取目标数据对应的请求次数均值和请求次数标准差;判断该请求次数均值和请求次数标准差是否满足指定条件;若该请求次数均值和请求次数标准差满足指定条件,确定目标数据属于热点数据;若该请求次数的均值和请求次数标准差不满足指定条件,确定目标数据不属于热点数据。

本实施例不对上述统计周期进行限定,可以根据应用需求适应性设置,例如可以是10秒,20秒,1分钟等。

进一步,上述指定条件可以是但不限于:请求次数标准差大于请求次数均值与预设系数的乘积。即,若目标数据对应的请求次数标准差大于目标数据对应的请求次数均值与预设系数的乘积,则确定目标数据属于热点数据;反之,确定目标数据不属于热点数据。其中,预设系数可以根据实际应用需求适应性设置。

进一步可选的,服务端102获取目标数据的请求次数的一种实施方式如下:

服务端102采用不同的存储区间存储不同数据对应的数据请求,并采用哈希运算,将同一数据对应的数据请求分配到同一存储区间上,从而便于统计不同数据的请求次数。针对目标数据,服务端102对目标数据的标识进行哈希处理,以确定目标数据对应的存储区间,目标数据对应的存储区间中存储有目标数据的数据请求;然后,对目标数据对应的存储区间中目标数据的数据请求进行个数统计,以获得目标数据的请求次数。其中,目标数据的数据请求是指用于请求获取目标数据的请求。

例如,服务端102可以对指定时间段内目标数据的数据请求进行个数统计,以获得目标数据在指定时间段内的请求次数。

又例如,服务端102可以按照统计周期,对每个统计周期内目标数据的数据请求进行个数统计,从而获得目标数据在每个统计周期内的请求次数。

值得说明的是,同一存储区间可能会存储多个数据的数据请求。相应的,目标数据对应的存储区间中除了存储有目标数据的数据请求之外,还存储有其他数据的数据请求。

进一步,服务端102还可以将客户端101发送的用于向外部数据服务200请求目标数据的数据请求存储到目标数据对应的存储区间中。

另外,上述存储区间除了存储数据请求之外,还可以存储数据请求对应的数据。可选的,服务端102可以根据目标数据的标识,从外部数据服务200中获取目标数据,并将目标数据存储到目标数据对应的存储区间中。

进一步,服务端102可以预先设定存储区间更新策略,并根据预设的存储区间更新策略,对存储区间进行更新。例如,可以采用近期最少使用算法(leastrecentlyused,lru),将最近最少使用的数据及其数据请求从相应存储区间中删除,以节约存储区间,提高存储区间的利用率。

对于客户端101确定本地缓存的热点标识中包含目标数据的标识的情况:

客户端101确定本地缓存的热点标识中包含目标数据的标识,说明该目标数据应该作为预定类型数据缓存在客户端101本地,但是客户端101是否已经缓存该目标数据需要进一步判断。于是,客户端101进一步判断本地缓存的预定类型数据中是否包含与目标数据的标识对应的预定类型数据。

若确定本地缓存的预定类型数据中包含与目标数据的标识对应的预定类型数据,从本地缓存的预定类型数据中获取与目标数据的标识对应的预定类型数据,作为目标数据。由于客户端101本地缓存有目标数据,因此不需要向外部数据服务200请求,可以直接从本地缓存中获取目标数据,将原来通过网络请求数据转换为本地获取数据,有利于提高数据获取效率,并且外部数据服务200无需处理客户端101的访问请求,可以降低外部数据服务200的处理负担。

若确定本地缓存的预定类型数据中不包含与目标数据的标识对应的预定类型数据,客户端101从外部数据服务200获取目标数据,例如向外部数据服务200发送访问请求,该访问请求携带目标数据的标识,以请求外部数据服务200返回目标数据,然后将目标数据作为与目标数据的标识对应的预定类型数据缓存在本地。虽然客户端101本地暂时未缓存目标数据,但只需访问一次外部数据服务200获取目标数据,之后目标数据会被客户端101缓存在本地,在后续使用目标数据时,可以直接从本地缓存中获取目标数据,将原来通过网络请求数据转换为本地获取数据,有利于提高数据获取效率,并且外部数据服务200无需处理客户端101的访问请求,可以降低外部数据服务200的处理负担。

进一步,客户端101可以预先设定缓存更新策略,并根据预设的缓存更新策略,对缓存进行更新。例如,可以采用lru,将最近最少使用的预定类型数据及其对应的预定类型标识从本地缓存中删除,以节约缓存空间,提高缓存资源的利用率。

值得说明的是,无论是哪种情况,客户端101在获取目标数据之后,还需要根据目标数据执行数据处理逻辑。

以客户端101为风险防控系统为例,风险防控系统在进行风险防控处理之前,需要从外部数据服务200获取目标数据进行数据补全,则在获取目标数据之后,风险防控系统可以根据目标数据进行数据补全处理,并根据补全后的数据对当前事件进行风险防控处理。

由上述可见,本实施例提供的数据处理系统,增加服务端,服务端与客户端相互配合,可以主动识别客户端需要向外部数据服务请求的数据中的预定类型数据,并在客户端对预定类型数据进行缓存处理;基于此,客户端后续需要使用预定类型数据时,可以直接在本地缓存中获取,无需向外部数据服务请求,可以减轻外部数据服务的处理负担,尤其是依赖目标数据的业务的并发度较高时,可以极大地减轻外部数据服务的处理负担,便于提高客户端获取所需数据的效率。

结合图1所示数据处理系统,本申请实施例还提供了数据缓存方法。下面分别从服务端和客户端的角度,对本申请实施例提供的数据缓存方法进行描述。

图2为本申请另一实施例提供的数据缓存方法的流程示意图。该方法是从服务端的角度进行的描述。如图2所示,该方法包括以下步骤:

201、确定客户端需要向外部服务请求的目标数据。

202、判断目标数据是否属于预定类型数据;若判断结果为是,即确定目标数据属于预定类型数据,则执行步骤203;若判断结果为否,即确定目标数据不属于预定类型数据,则执行步骤204。

203、指示客户端对目标数据进行缓存处理。

204、结束此次操作,或者从外部数据服务获取目标数据并返回给客户端。

在本实施例中,客户端执行一定数据处理逻辑,从而实现一定业务功能。其中,根据应用需求和应用场景的不同,客户端所执行的数据处理逻辑也会有所不同。本实施例对此不作限定,举例说明:

例如,客户端可以是风险防控系统,则主要用于执行风险防控处理逻辑。以电子商务领域为例,则风险防控处理逻辑包括但不限于:根据多维度数据对用户的各种操作行为进行风险识别。所述多维度数据包括但不限于:用户购买的商品信息、用户当前所处的软硬件环境、用户的历史操作行为、用户当前操作类型(如删除、修改)。所述用户的各种操作行为包括但不限于:登录、下单、支付、修改基本信息等。

例如,客户端可以是订单管理系统,则主要用于执行订单管理处理逻辑。订单管理处理逻辑包括但不限于:对订单的情况的记录、跟踪和控制;随时对订单完成情况的跟踪、控制订单的实际执行;根据实际补货情况实现追加执行订单;进行比较并显示订单执行差异,并通过业务和分析报表进行订单执行情况的反映;等等。

客户端在执行数据处理逻辑的过程中,可能需要从外部数据服务中请求数据。外部数据服务可以是客户端所在数据处理系统之外任何能够为客户端提供数据的服务。根据客户端的不同,外部数据服务的实现形式和所提供的数据内容都会有所不同,所以本实施例并不限定外部数据服务的实现形式和所提供的数据内容。例如,外部数据服务可以是与客户端有关联但不同于客户端所在系统的其它数据处理系统。以客户端是电子商务领域中的风险防控系统为例,则外部数据服务可以是订单系统、商品信息管理系统和/或用户信息管理系统等。

对服务端来说,首先确定客户端在执行数据处理逻辑过程中需要向外部数据服务请求的数据,并将该数据称为目标数据。

上述步骤201的一种可选实施方式:客户端需要向外部数据服务请求目标数据时,可以发送用于指示需要向外部数据服务请求目标数据的数据请求,该数据请求包括目标数据的标识。基于此,可以根据客户端发送的数据请求,确定客户端需要向外部数据服务请求的目标数据。

上述步骤201的另一种可选实施方式:还可以实时监控客户端执行数据处理逻辑的过程,从而主动发现客户端需要向外部数据服务请求数据的情况,并将所述情况下客户端需要向外部数据服务请求的数据作为目标数据。具体的,客户端可以通过数据请求队列缓存需要向外部数据服务请求数据的数据请求;对此,服务端可以定期轮询客户端的数据请求队列,如果数据请求队列中有尚未处理的数据请求,则可以确定客户端需要向外部数据服务请求数据。

在确定客户端需要向外部数据服务请求的目标数据之后,可以判断该目标数据是否属于预定类型数据。值得说明的是,根据应用需求的不同,预定类型数据也会有所不同。可选的,预定类型数据可以是访问频率满足指定要求的数据,这种数据可称为热点数据。当然,根据应用需求的不同,成为热点数据需要满足的指定要求也会有所不同。例如,所述指定要求可以是指定时间段内的访问次数大于预设的次数阈值,或者,可以是至少两个统计周期内的请求次数满足指定条件等。

以预定类型数据为热点数据为例,则上述步骤202的一种可选实施方式:可以预先维护一热点标识列表,该热点标识列表中存储有预设的热点标识,这些热点标识对应的数据属于热点数据。基于此,可以根据目标数据的标识和预设的热点标识列表,确定目标数据属于热点数据。具体的,可以将目标数据的标识在热点标识列表中进行匹配,以判断热点标识列表中是否包含目标数据的标识;若热点标识列表中包含目标数的标识,确定目标数据属于热点数据;若热点标识列表中不包含目标数据的标识,确定目标数据不属于热点数据。这种实施方式相对简单,效率较高。

以预定类型数据为热点数据为例,则上述步骤202的另一种可选实施方式:考虑到目标数据的请求次数越多,说明目标数据的热度越高,属于热点数据的概率也就越高。基于此,可以获取目标数据的请求次数,根据目标数据的请求次数,确定目标数据属于热点数。

可选的,可以根据目标数据在指定时间段内的请求次数,判断目标数据是否属于热点数据。具体的,可以将目标数据在指定时间段内的请求次数与预设的次数阈值进行比较;若目标数据在指定时间段内的请求次数大于预设的次数阈值,确定目标数据属于热点数据;若目标数据在指定时间段内的请求次数小于或等于预设的次数阈值,确定目标数据不属于热点数据。本实施例不对指定时间段进行限定,可以根据应用需求适应性设置,例如可以最近2小时,最近一天,或指定某日某时到某日某时等。

可选的,可以按照预设统计周期,周期性的统计目标数据的请求次数。基于此,可以根据目标数据在至少两个统计周期内的请求次数,判断目标数据是否属于热点数据。具体的,可以根据目标数据在至少两个统计周期内的请求次数,获取目标数据对应的请求次数均值和请求次数标准差;判断该请求次数均值和请求次数标准差是否满足指定条件;若该请求次数均值和请求次数标准差满足指定条件,确定目标数据属于热点数据;若该请求次数的均值和请求次数标准差不满足指定条件,确定目标数据不属于热点数据。

本实施例不对上述统计周期进行限定,可以根据应用需求适应性设置,例如可以是10秒,20秒,1分钟等。

进一步,上述指定条件可以是但不限于:请求次数标准差大于请求次数均值与预设系数的乘积。即,若目标数据对应的请求次数标准差大于目标数据对应的请求次数均值与预设系数的乘积,则确定目标数据属于热点数据;反之,确定目标数据不属于热点数据。其中,预设系数可以根据实际应用需求适应性设置。

更进一步,服务端可以采用不同的存储区间存储不同数据对应的数据请求,并采用哈希运算,将同一数据对应的数据请求分配到同一存储区间上,从而便于统计不同数据的请求次数。

针对目标数据,可以对目标数据的标识进行哈希处理,以确定目标数据对应的存储区间,目标数据对应的存储区间中存储有目标数据的数据请求;然后,对目标数据对应的存储区间中目标数据的数据请求进行个数统计,以获得目标数据的请求次数。其中,目标数据的数据请求是指用于请求获取目标数据的请求。

例如,可以对指定时间段内目标数据的数据请求进行个数统计,以获得目标数据在指定时间段内的请求次数。

又例如,可以按照统计周期,对每个统计周期内目标数据的数据请求进行个数统计,从而获得目标数据在每个统计周期内的请求次数。

值得说明的是,同一存储区间可能会存储多个数据的数据请求。相应的,目标数据对应的存储区间中除了存储有目标数据的数据请求之外,还存储有其他数据的数据请求。

进一步,还可以将客户端发送的用于向外部数据服务请求目标数据的数据请求存储到目标数据对应的存储区间中。

另外,上述存储区间除了存储数据请求之外,还可以存储数据请求对应的数据。可选的,还可以根据目标数据的标识,从外部数据服务中获取目标数据,并将目标数据存储到目标数据对应的存储区间中。

进一步,可以预先设定存储区间更新策略,并根据预设的存储区间更新策略,对存储区间进行更新。例如,可以采用lru,将最近最少使用的数据及其数据请求从相应存储区间中删除,以节约存储区间,提高存储区间的利用率。

上述步骤203的具体实施方式:向客户端发送缓存指示,以指示客户端将目标数据和目标数据的标识分别作为预定类型数据和预定类型标识缓存在本地。

进一步可选的,上述缓存指示包括目标数据的标识。对客户端来说,可以从缓存指示中获取目标数据的标识,确定需要将该标识所标识的数据作为预定类型数据缓存在本地,于是需要根据目标数据的标识从外部数据服务中获取目标数据,然后将目标数据和目标数据的标识分别作为预定类型数据和预定类型标识缓存在本地。例如,可以采用广播方式向客户端发送缓存指示,但不限于广播方式。

进一步可选的,若服务端从外部数据服务中获取到目标数据,则上述缓存指示可以同时包括目标数据的标识和目标数据,这样客户端可以直接从数据指示中获取目标数据的标识和目标数据,直接将目标数据和目标数据的标识分别作为预定类型数据和预定类型标识缓存在本地。

由上述可见,在本实施例中,确定客户端需要向外部数据服务请求的目标数据,确定该目标数据属于预定类型数据,指示客户端对目标数据进行缓存处理,这使得客户端在后续需要使用目标数据时,可以直接在本地缓存中获取,无需向外部数据服务请求,可以减轻外部数据服务的处理负担,尤其是依赖目标数据的业务的并发度较高时,可以极大地减轻外部数据服务的处理负担,便于提高客户端获取所需数据的效率。

图3为本申请又一实施例提供的数据缓存方法的流程示意图。该实施例是从客户端的角度进行的描述。如图3所示,该方法包括以下步骤:

301、确定客户端需要向外部数据服务请求的数据,作为目标数据。

302、确定客户端本地缓存的预定类型标识中不包含目标数据的标识,向服务端发送用于指示需要向外部数据服务请求目标数据的数据请求,以触发服务端判断目标数据是否属于预定类型数据。

303、若接收到服务端在确定目标数据属于预定类型数据后返回的缓存指示,获取目标数据的标识和目标数据,并将目标数据的标识和目标数据分别作为预定类型标识和预定类型数据缓存在客户端本地。

在本实施例中,客户端执行一定数据处理逻辑,从而实现一定业务功能。其中,根据应用需求和应用场景的不同,客户端所执行的数据处理逻辑也会有所不同。本实施例对此不作限定,举例说明:

例如,客户端可以是风险防控系统,则主要用于执行风险防控处理逻辑。以电子商务领域为例,则风险防控处理逻辑包括但不限于:根据多维度数据对用户的各种操作行为进行风险识别。所述多维度数据包括但不限于:用户购买的商品信息、用户当前所处的软硬件环境、用户的历史操作行为、用户当前操作类型(如删除、修改)。所述用户的各种操作行为包括但不限于:登录、下单、支付、修改基本信息等。

例如,客户端可以是订单管理系统,则主要用于执行订单管理处理逻辑。订单管理处理逻辑包括但不限于:对订单的情况的记录、跟踪和控制;随时对订单完成情况的跟踪、控制订单的实际执行;根据实际补货情况实现追加执行订单;进行比较并显示订单执行差异,并通过业务和分析报表进行订单执行情况的反映;等等。

客户端在执行数据处理逻辑的过程中,可能需要从外部数据服务中请求数据。外部数据服务可以是客户端所在数据处理系统之外任何能够为客户端提供数据的服务。根据客户端的不同,外部数据服务的实现形式和所提供的数据内容都会有所不同,所以本实施例并不限定外部数据服务的实现形式和所提供的数据内容。例如,外部数据服务可以是与客户端有关联但不同于客户端所在系统的其它数据处理系统。以客户端是电子商务领域中的风险防控系统为例,则外部数据服务可以是订单系统、商品信息管理系统和/或用户信息管理系统等。

客户端在执行数据处理逻辑时,确定需要向外部数据服务请求的数据。在本实施例中,为便于描述,将客户端执行数据处理逻辑过程中所需的数据称为目标数据。然后,判断本地缓存的预定类型标识中是否包含目标数据的标识。

对于确定本地缓存的预定类型标识中不包含目标数据的标识的情况:

客户端向服务端发送用于指示需要向外部数据服务请求目标数据的数据请求。该数据请求包括目标数据的标识。服务端接收客户端发送的数据请求,确定客户端需要向外部数据服务请求的目标数据;判断该目标数是否属于预定类型数据;若判断该目标数据属于预定类型数据,则向客户端返回缓存指示。客户端接收服务端返回的缓存指示,确定该目标数据属于预定类型数据,于是获取目标数据的标识和目标数据,并将目标数据的标识和目标数据分别作为预定类型标识和预定类型数据缓存在客户端本地。

可选的,上述步骤303中获取目标数据的标识和目标数据的一种实施方式如下:

服务端在接收到客户端发送的数据请求后,除了判断目标数是否属于预定类型数据之外,还可以确定出客户端本地缓存中不存在目标数据,于是服务端从外部数据服务中获取目标数据。基于此,服务端可以通过缓存指示将目标数据的标识和目标数据发送给客户端。对客户端来说,在接收到服务端返回的缓存指示后,可以从缓存指示中获取目标数据的标识和目标数据。

可选的,上述步骤303中获取目标数据的标识和目标数据的另一种实施方式如下:

服务端在接收到客户端发送的数据请求后,仅判断目标数是否属于预定类型数据,并在确定该目标数据属于预定类型数据之后,向客户端返回缓存指示,该缓存指示包括目标数据的标识。对客户端来说,在接收到服务端返回的缓存指示后,可以从缓存指示中获取目标数据的标识,据此确定目标数据属于预定类型数据,需要获取目标数据后缓存在本地。于是,客户端从外部数据服务中获取目标数据。

可选的,在上述获取目标数据的标识和目标数据的另一种实施方式中,客户端可以在根据缓存指示从外部数据服务中获取目标数据以后,根据目标数据执行此次数据处理逻辑。

可选的,在上述获取目标数据的标识和目标数据的另一种实施方式中,客户端可以在接收到缓存指示之前,从外部数据服务中获取目标数据并根据目标数据执行此次数据处理逻辑。对于这种情况,由于客户端在接收到所述缓存指示之前并不知道需要将目标数据作为预定类型数据缓存在本地,故不会缓存目标数据。另外,由于客户端在接收到所述缓存指示之前已经完成此次数据处理逻辑,故在接收到缓存指示后,不用专门从外部数据服务获取目标数据进行缓存,可以在再次需要向外部数据服务请求目标数据时,再从外部数据服务中获取目标数据,然后缓存在本地。

值得说明的是,根据应用需求的不同,预定类型数据也会有所不同。可选的,预定类型数据可以是访问频率满足指定要求的数据,这种数据可称为热点数据。当然,根据应用需求的不同,成为热点数据需要满足的指定要求也会有所不同。例如,所述指定要求可以是指定时间段内的访问次数大于预设的次数阈值,或者,可以是至少两个统计周期内的请求次数满足指定条件等。

在本实施例中,客户端与服务端配合,在服务端确定需要向外部数据服务请求的目标数据属于预定类型数据后,可以根据服务端的指示将目标数据缓存在本地,使得后续需要使用目标数据时,可以直接在本地缓存中获取,无需向外部数据服务请求,可以减轻外部数据服务的处理负担,尤其是依赖目标数据的业务的并发度较高时,可以极大地减轻外部数据服务的处理负担,便于提高客户端获取所需数据的效率。

图4为本申请又一实施例提供的数据缓存方法的流程示意图。该实施例是从客户端的角度进行的描述。如图4所示,该方法包括以下步骤:

401、确定客户端需要向外部数据服务请求的数据,作为目标数据。

402、判断客户端本地缓存的预定类型标识中是否包含目标数据的标识,若判断结果为否,即客户端本地缓存的预定类型标识中不包含目标数据的标识,则执行步骤403和404;若判断结果为是,即客户端本地缓存的预定类型标识中包含目标数据的标识,则执行步骤405-407。

403、向服务端发送用于指示需要向外部数据服务请求目标数据的数据请求,以触发服务端判断目标数据是否属于预定类型数据。

404、若接收到服务端在确定目标数据属于预定类型数据后返回的缓存指示,获取目标数据的标识和目标数据,并将目标数据的标识和目标数据分别作为预定类型标识和预定类型数据缓存在客户端本地。

405、判断客户端本地缓存的预定类型数据中是否包含与目标数据的标识对应的预定类型数据;若判断结果为是,即客户端本地缓存的预定类型数据中包含与目标数据的标识对应的预定类型数据,执行步骤406;若判断结果为否,即客户端本地缓存的预定类型数据中不包含与目标数据的标识对应的预定类型数据,执行步骤407。

406、从客户端本地缓存的预定类型数据中获取与目标数据的标识对应的预定类型数据,作为目标数据。

407、从外部数据服务获取目标数据,并将目标数据作为与目标数据的标识对应的预定类型数据缓存在客户端本地。

关于上述步骤401-404,可参见前述实施例中相应步骤301-303的描述,在此不再赘述。

对于确定客户端本地缓存的热点标识中包含目标数据的标识的情况:

客户端确定本地缓存的预定类型标识中包含目标数据的标识,说明该目标数据应该作为预定类型数据缓存在客户端本地,但是客户端是否已经缓存该目标数据需要进一步判断。于是,客户端进一步判断本地缓存的预定类型数据中是否包含与目标数据的标识对应的预定类型数据。

若确定本地缓存的预定类型数据中包含与目标数据的标识对应的预定类型数据,则从本地缓存的预定类型数据中获取与目标数据的标识对应的预定类型数据,作为目标数据。由于客户端本地缓存有目标数据,因此不需要向外部数据服务请求,可以直接从本地缓存中获取目标数据,将原来通过网络请求数据转换为本地获取数据,有利于提高数据获取效率,并且外部数据服务无需处理客户端的访问请求,可以降低外部数据服务的处理负担。

若确定本地缓存的预定类型数据中不包含与目标数据的标识对应的预定类型数据,客户端从外部数据服务获取目标数据,然后将目标数据作为与目标数据的标识对应的预定类型数据缓存在本地。虽然客户端本地暂时未缓存目标数据,但只需访问一次外部数据服务获取目标数据,之后目标数据会被客户端缓存在本地,在后续使用目标数据时,可以直接从本地缓存中获取目标数据,将原来通过网络请求数据转换为本地获取数据,有利于提高数据获取效率,并且外部数据服务无需处理客户端的访问请求,可以降低外部数据服务的处理负担。

进一步,还可以预先设定缓存更新策略,并根据预设的缓存更新策略,对缓存进行更新。例如,可以采用lru,将最近最少使用的热点数据及其对应的热点标识从本地缓存中删除,以节约缓存空间,提高缓存资源的利用率。

例如,以客户端为风险防控系统为例,风险防控系统会设置风险防控策略,该风险防控策略规定了针对不同事件进行风险防控时所需的数据。当然,有些数据是风险防控系统自身不存在的,需要从外部数据服务中获取进行数据补全,然后基于补全后的数据进行风险防控处理。基于此,可以根据风险防控策略,确定风险防控系统对当前事件进行风险防控需要补全的数据,作为需要向外部数据服务请求的目标数据。接着,执行上述步骤402-407的逻辑,获得目标数据;之后,风险防控系统可以根据目标数据进行数据补全处理,并根据补全后的数据对当前事件进行风险防控处理。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201和步骤202的执行主体可以为设备1,步骤203的执行主体可以为设备2;又比如,步骤201的执行主体可以为设备1,步骤202和步骤203的执行主体可以为设备2;等等。

图5为本申请又一实施例提供的数据缓存装置的结构示意图。该数据缓存装置位于服务端实现。如图5所示,该数据缓存装置包括:第一确定模块51、第二确定模块52和缓存处理模块53。

第一确定模块51,用于确定客户端需要向外部数据服务请求的目标数据。

第二确定模块52,用于确定目标数据属于预定类型数据。

缓存处理模块53,用于在第二确定模块52确定目标数据属于预定类型数据时,指示客户端对目标数据进行缓存处理。

值得说明的是,根据应用需求的不同,预定类型数据也会有所不同。可选的,预定类型数据可以是访问频率满足指定要求的数据,这种数据可称为热点数据。当然,根据应用需求的不同,成为热点数据需要满足的指定要求也会有所不同。例如,所述指定要求可以是指定时间段内的访问次数大于预设的次数阈值,或者,可以是至少两个统计周期内的请求次数满足指定条件等。

在一可选实施方式中,以预定类型数据为热点数据,则第二确定模块52具体用于:

根据目标数据的标识和预设的热点标识列表,确定目标数据属于热点数据:或者

根据目标数据的请求次数,确定目标数据属于热点数据。

可选的,第二确定模块52在根据目标数据的请求次数,确定目标数据属于热点数据时,具体用于:

根据目标数据在指定时间段内的请求次数,确定目标数据属于热点数据;或者

根据目标数据在至少两个统计周期内的请求次数,确定目标数据属于热点数据。

可选的,第二确定模块52在根据目标数据在指定时间段内的请求次数,确定目标数据属于热点数据时,具体用于:

将目标数据在指定时间段内的请求次数与预设的次数阈值进行比较;若目标数据在指定时间段内的请求次数大于预设的次数阈值,确定目标数据属于热点数据。

可选的,第二确定模块52在根据目标数据在至少两个统计周期内的请求次数,确定目标数据属于热点数据时,具体用于:

根据目标数据在至少两个统计周期内的请求次数,获取目标数据对应的请求次数均值和请求次数标准差;

若请求次数均值和请求次数标准差满足指定条件,确定目标数据属于热点数据。

进一步,该缓存装置还包括存储区间和存储处理模块。

存储处理模块,用于在第二确定模块52根据目标数据的请求次数,判断目标数据是否属于热点数据之前,对目标数据的标识进行哈希处理,以确定目标数据对应的存储区间,目标数据对应的存储区间中存储有目标数据的数据请求;对目标数据对应的存储区间中目标数据的数据请求进行个数统计,以获得目标数据的请求次数。

在一可选实施方式中,第一确定模块51具体用于:接收客户端发送的用于向外部数据服务请求数据的数据请求,数据请求包括目标数据的标识,根据该数据请求确定客户端需要向外部数据服务请求的目标数据。

相应的,存储处理模块还用于:将客户端发送的用于向外部数据服务请求数据的数据请求存储到目标数据对应的存储区间中。

进一步,存储处理模块还用于:根据目标数据的标识,从外部数据服务中获取目标数据,并将目标数据存储到目标数据对应的存储区间中。

进一步,存储处理模块还用于:根据预设的存储区间更新策略,对存储区间进行更新。例如,可以采用lru,将最近最少使用的数据及其数据请求从相应存储区间中删除,以节约存储区间,提高存储区间的利用率。

在一可选实施方式中,客户端为风险防控系统。基于此,第一确定模块51具体用于:根据风险防控策略,确定风险防控系统对当前事件进行风险防控需要补全的数据,作为需要向外部数据服务请求获取的目标数据。

在一可选实施方式中,缓存处理模块53具体用于:第二确定模块52确定目标数据属于预定类型数据时,向客户端发送缓存指示,以指示客户端将目标数据和目标数据的标识分别作为预定类型数据和预定类型标识缓存在本地。

本实施例提供的数据缓存装置,位于服务端实现,在确定客户端需要向外部数据服务请求的目标数据,确定该目标数据属于预定类型数据,指示客户端对目标数据进行缓存处理,这使得客户端在后续需要使用目标数据时,可以直接在本地缓存中获取,无需向外部数据服务请求,可以减轻外部数据服务的处理负担,尤其是依赖目标数据的业务的并发度较高时,可以极大地减轻外部数据服务的处理负担,便于提高客户端获取所需数据的效率。

以上描述了数据缓存装置的内部功能和结构,如图6所示,实际中,该数据缓存装置可实现为服务端设备,包括:存储器62以及处理器63。

存储器62,可被配置为存储其它各种数据以支持在服务端设备上的操作。这些数据的示例包括用于在服务端设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器62可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器63与存储器62耦合,用于执行存储器62中的程序,以用于:

确定客户端设备需要向外部数据服务请求的目标数据;

确定目标数据属于预定类型数据;

指示客户端对目标数据进行缓存处理。

值得说明的是,根据应用需求的不同,预定类型数据也会有所不同。可选的,预定类型数据可以是访问频率满足指定要求的数据,这种数据可称为热点数据。当然,根据应用需求的不同,成为热点数据需要满足的指定要求也会有所不同。例如,所述指定要求可以是指定时间段内的访问次数大于预设的次数阈值,或者,可以是至少两个统计周期内的请求次数满足指定条件等。

进一步,以预定类型数据为热点数据,则处理器63在确定目标数据属于预定类型数据时,具体用于:

根据目标数据的标识和预设的热点标识列表,确定目标数据属于热点数据;或者

根据目标数据的请求次数,确定目标数据属于热点数据。

更进一步,处理器63在根据目标数据的请求次数,确定目标数据属于热点数据时,具体用于:

根据目标数据在指定时间段内的请求次数,确定目标数据属于热点数据;或者

根据目标数据在至少两个统计周期内的请求次数,确定目标数据属于热点数据。

更进一步,处理器63在根据目标数据在指定时间段内的请求次数,确定目标数据属于热点数据时,具体用于:将目标数据在指定时间段内的请求次数与预设的次数阈值进行比较;若目标数据在指定时间段内的请求次数大于预设的次数阈值,确定目标数据属于热点数据。

更进一步,处理器63在根据目标数据在至少两个统计周期内的请求次数,确定目标数据属于热点数据时,具体用于:根据目标数据在至少两个统计周期内的请求次数,获取目标数据对应的请求次数均值和请求次数标准差;若请求次数均值和请求次数标准差满足指定条件,确定目标数据属于热点数据。

进一步,处理器63还用于:

对目标数据的标识进行哈希处理,以从存储器中确定目标数据对应的存储区间,目标数据对应的存储区间中存储有目标数据的数据请求;

对目标数据对应的存储区间中目标数据的数据请求进行个数统计,以获得目标数据的请求次数。

进一步,如图6所示,该服务端设备还包括:通信组件66。

通信组件66被配置为便于服务端设备和其他设备之间有线或无线方式的通信。服务端设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件66经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件66还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

具体的,通信组件66,用于接收客户端设备发送的用于向外部数据服务请求数据的数据请求,数据请求包括目标数据的标识。

相应的,处理器63具体用于:根据通信组件66接收的数据请求中携带的目标数据的标识,确定目标数据。

进一步,处理器63还用于:将通信组件66接收的数据请求存储到目标数据对应的存储区间中。

进一步,处理器63还用于:根据目标数据的标识,通过通信组件66从外部数据服务中获取目标数据,并将目标数据存储到目标数据对应的存储区间中。相应的,通信组件66还用于:在处理器63的控制下,从外部数据服务中获取目标数据。

进一步,处理器63在指示客户端设备对目标数据进行缓存处理时,具体用于:通过通信组件66向客户端设备发送缓存指示,以指示客户端将目标数据和目标数据的标识分别作为预定类型数据和预定类型标识缓存在本地。相应的,通信组件66还用于:在处理器63的控制下,向客户端设备发送缓存指示。

进一步,如图6所示,服务端设备还包括:显示器61、电源组件64、音频组件65等其它组件。图6中仅示意性给出部分组件,并不意味着服务端设备只包括图6所示组件。

显示器61包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

电源组件64,为服务端设备的各种组件提供电力。电源组件34可以包括电源管理系统,一个或多个电源,及其他与为服务端设备生成、管理和分配电力相关联的组件。

音频组件65被配置为输出和/或输入音频信号。例如,音频组件65包括一个麦克风(mic),当服务端设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器62或经由通信组件66发送。在一些实施例中,音频组件65还包括一个扬声器,用于输出音频信号。

图7为本申请又一实施例提供的数据缓存装置的结构示意图。该数据缓存装置位于客户端实现。如图7所示,该数据缓存装置包括:第一确定模块71、第二确定模块75、发送模块72、接收模块73和缓存模块74。

第一确定模块71,用于确定客户端需要向外部数据服务请求的数据,作为目标数据。

第二确定模块75,用于确定客户端本地缓存的预定类型标识中不包含目标数据的标识。

发送模块72,用于在第二确定模块75确定客户端本地缓存的预定类型标识中不包含目标数据的标识时,向服务端发送用于指示需要向外部数据服务请求目标数据的数据请求,以触发服务端判断目标数据是否属于预定类型数据。

接收模块73,用于接收服务端在确定目标数据属于预定类型数据后返回的缓存指示。

缓存模块74,用于在接收模块73接收到缓存指示时,获取目标数据的标识和目标数据,并将目标数据的标识和目标数据分别作为预定类型标识和预定类型数据缓存在客户端本地。

进一步,缓存模块74在获取目标数据的标识和目标数据时,具体用于:

从缓存指示中,获取目标数据的标识,并当再次需要向外部数据服务请求目标数据时,从外部数据服务中获取目标数;或者

从缓存指示中,获取目标数据的标识和目标数据。

在一可选实施方式中,该数据缓存装置还包括:判断模块和获取模块。

判断模块,用于在第二确定模块75确定客户端本地缓存的预定类型标识中包含目标数据的标识,判断客户端本地缓存的预定类型数据中是否包含与目标数据的标识对应的预定类型数据。

获取模块,用于若客户端本地缓存的预定类型数据中包含与目标数据的标识对应的预定类型数据,从客户端本地缓存的预定类型数据中获取与目标数据的标识对应的预定类型数据,作为目标数据。

进一步,获取模块还用于:若客户端本地缓存的预定类型数据中不包含与目标数据的标识对应的预定类型数据,从外部数据服务获取目标数据,并将目标数据作为与目标数据的标识对应的预定类型数据缓存在客户端本地。

在一可选实施方式中,客户端为风险防控系统。则第一确定模块71具体用于:根据风险防控策略,确定风险防控系统对当前事件进行风险防控需要补全的数据,作为目标数据。

进一步,该数据缓存装置还包括:数据处理模块。

数据处理模块,用于在获取目标数据之后,根据目标数据进行数据补全处理,并根据补全后的数据对当前事件进行风险防控。

本实施例提供的数据缓存装置,位于客户端中实现,并与服务端配合,在服务端确定需要向外部数据服务请求的目标数据属于预定类型数据后,可以根据服务端的指示将目标数据缓存在本地,使得后续需要使用目标数据时,可以直接在本地缓存中获取,无需向外部数据服务请求,可以减轻外部数据服务的处理负担,尤其是依赖目标数据的业务的并发度较高时,可以极大地减轻外部数据服务的处理负担,便于提高客户端获取所需数据的效率。

以上描述了数据缓存装置的内部功能和结构,如图8所示,实际中,该数据缓存装置可实现为客户端设备,包括:存储器82、处理器83以及通信组件86。

存储器82包括:缓存区和程序区。其中,缓存区,用于缓存热点标识和热点数据;程序区,用于存储程序。

另外,存储器82还可被配置为存储其它各种数据以支持在客户端设备上的操作。这些数据的示例包括用于在客户端设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器82可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器83,耦合至程序区、缓存区和通信组件86,用于执行程序区中的程序,以用于:

确定客户端设备需要向外部数据服务请求的数据,作为目标数据;

确定缓存区缓存的预定类型标识中不包含目标数据的标识,通过通信组件86向服务端设备发送用于指示需要向外部数据服务请求目标数据的数据请求,以触发服务端设备判断目标数据是否属于预定类型数据;以及

若通信组件86接收到服务端设备在确定目标数据属于预定类型数据后返回的缓存指示,获取目标数据的标识和目标数据,并将目标数据的标识和目标数据分别作为预定类型标识和预定类型数据存储到缓存区中。

通信组件66被配置为便于客户端设备和其他设备之间有线或无线方式的通信。客户端设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件66经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件66还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

通信组件86,用于向服务端设备发送数据请求,并接收服务端设备返回的缓存指示。

可选的,处理器83在获取目标数据的标识和目标数据时,具体用于:

从缓存指示中,获取目标数据的标识和目标数据;或者,

从缓存指示中,获取目标数据的标识,并当客户端设备再次需要向外部数据服务请求目标数据时,通过通信组件86从外部数据服务中获取目标数据。

进一步,处理器83还用于:

确定缓存区缓存的预定类型标识中包含目标数据的标识,判断缓存区缓存的预定类型数据中是否包含与目标数据的标识对应的预定类型数据;以及

若缓存区缓存的预定类型数据中包含与目标数据的标识对应的预定类型数据,从缓存区缓存的预定类型数据中获取与目标数据的标识对应的预定类型数据,作为目标数据。

进一步,处理器83还用于:

若缓存区缓存的预定类型数据中不包含与目标数据的标识对应的预定类型数据,通过通信组件从外部数据服务获取目标数据,并将目标数据作为与目标数据的标识对应的预定类型数据存储到缓存区中。

相应的,通信组件86还用于:从外部数据服务获取目标数据。

进一步,如图8所示,客户端设备还包括:显示器81、电源组件84、音频组件85等其它组件。图8中仅示意性给出部分组件,并不意味着客户端设备只包括图8所示组件。

显示器81包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

电源组件84,为客户端设备的各种组件提供电力。电源组件34可以包括电源管理系统,一个或多个电源,及其他与为客户端设备生成、管理和分配电力相关联的组件。

音频组件85被配置为输出和/或输入音频信号。例如,音频组件65包括一个麦克风(mic),当客户端设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器82或经由通信组件86发送。在一些实施例中,音频组件85还包括一个扬声器,用于输出音频信号。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1