一种个性化数据容灾方法及装置与流程

文档序号:19902031发布日期:2020-02-11 13:59阅读:147来源:国知局
一种个性化数据容灾方法及装置与流程

本申请涉及信息技术领域,特别是涉及一种个性化数据容灾方法及装置。



背景技术:

在无线应用的大规模应用的背景下,个性化数据服务(gps,globalpersonalizationservice)广泛应用于无线应用的各个业务场景中,为用户提供个性化推荐以及该个性化推荐对应的详情内容,为了保障gps的稳定性,通常需要对gps进行数据容灾,以在gps出现故障时,通过容灾数据为用户提供正常服务。

在目前,常用的数据容灾方式是:将gps所需要的重要数据同步到独立的内容分发网络上(cdn,contentdeliverynetwork),cdn系统能够将用户的请求重新导向离用户最近的备份数据节点上,当服务不可用的时候,gps可以从cdn上获取容灾的数据,这种方式需要:在数据上线提供服务之前,便将数据同步到cdn上,确保当服务不可用的时候有容灾数据的存在;另外,数据的每个使用方(如,网页页面、应用客户端等),需要先从服务接口获取数据,并在gps服务不可用时从cdn获取数据。

但是,发明人在研究过程中发现,目前方案中,当gps服务不可用时,数据的每个使用方都需要进行访问独立的cdn以获取容灾数据的操作,导致容灾处理过程较为繁琐。



技术实现要素:

鉴于上述问题,本申请实施例提供一种个性化数据容灾方法,通过接收包括了用户关联信息的用户请求;并根据用户请求,对个性化数据服务进行调用,在对个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的关联信息,更新到本地的第一存储中;在当对个性化数据服务的调用失败时,根据关联信息,在第一存储中获取与所述关联信息匹配的个性化数据。本申请利用了服务器的本地存储资源做数据容灾,使得服务器可以快速的访问本地存储获取容灾数据,提高了访问效率、简化了容灾处理过程,解决现有技术中服务器每次数据容灾都需要访问第三方容灾系统,导致容灾处理过程较为繁琐的问题。

相应的,本申请实施例还提供了一种个性化数据容灾装置,用以保证上述方法的实现及应用。

为了解决上述问题,本申请实施例公开了一种个性化数据容灾方法,包括:

接收用户请求,所述用户请求包括用户的关联信息;

根据所述用户请求,对个性化数据服务进行调用;

在对所述个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的所述关联信息,更新到本地的第一存储中;

在对所述个性化数据服务的调用失败的情况下,根据所述用户的关联信息,在所述第一存储中获取与所述关联信息匹配的个性化数据。

相应的,本申请实施例还公开了一种个性化数据容灾装置,包括:

接收模块,用于接收用户请求,所述用户请求包括对应用户的关联信息;

调用模块,用于根据所述用户请求,对个性化数据服务进行调用;

存储模块,用于在对所述个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的所述关联信息,更新到本地的第一存储中;

第一容灾模块,用于在对所述个性化数据服务的调用失败的情况下,根据所述用户的关联信息,在所述第一存储中获取与所述关联信息匹配的个性化数据。

相应的,本申请实施例还公开了一种装置,包括:

一个或多个处理器;和

其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行一种个性化数据容灾方法。

相应的,本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行一种个性化数据容灾方法。

本申请实施例包括以下优点:

本申请实施例包括:接收包括了用户关联信息的用户请求;并根据用户请求,对个性化数据服务进行调用,在对个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的关联信息,更新到本地的第一存储中;在当对个性化数据服务的调用失败时,根据关联信息,在第一存储中获取与所述关联信息匹配的个性化数据。本申请利用了服务器的本地存储资源做数据容灾,使得服务器可以快速的访问本地存储获取容灾数据,避免服务器每次数据容灾都需要访问第三方容灾系统,提高了访问效率、简化了容灾过程。

附图说明

图1是本申请一实施例提供的一种个性化数据容灾方法的系统架构图;

图2是本申请一实施例提供的系统级的一种个性化数据容灾方法的步骤流程图;

图3是本申请一实施例提供的系统级的一种个性化数据容灾方法的具体步骤流程图;

图4是本申请一实施例提供的一种远程容灾服务的构建示意图;

图5是本申请一实施例提供的一种个性化数据容灾装置的结构图;

图6是本申请一实施例提供的一种个性化数据容灾装置的具体结构图;

图7是本申请另一实施例提供的一种装置的结构示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

参照图1,其示出了本申请实施例的一种系统架构,其至少可以包括:

客户端、业务服务器、个性化数据服务器和远程容灾服务器。

其中,个性化数据服务器和远程容灾服务器可以分别独立于业务服务器进行架设,相应的,在个性化数据服务器中可以部署个性化数据服务,在远程容灾服务器中可以部署远程容灾服务,服务的含义是指:通过提供各项服务的服务器进行相关业务的开展,其中部署在服务器中的服务的具体实现方式可以有多种,如,以计算机进程的方式实现、以软件程序的方式实现等,但无论以何种方式实现,都需要将服务部署在对应的服务器中。

个性化数据服务器中部署的个性化数据服务(gps,globalpersonalizationservice)可以包括个性化标识子服务和数据详情子服务,个性化标识子服务是一种根据个性化算法向不同的用户展示不同推荐内容的技术,可以提供个性化标识信息,提供个性化子服务的系统可以称之为推荐系统,个性化标识信息也可以称为推荐系统的推荐结果;另外,数据详情子服务是一种根据推荐内容中的数据标识,获取其对应的详情数据的服务,可以提供个性化详情信息,如,推荐的某种商品的商品标题、营销价格、帖子图文等。

需要说明的是,个性化标识子服务和数据详情子服务既可以共同部署在个性化数据服务器中,也可以取消个性化数据服务器,将个性化标识子服务和数据详情子服务分别部署在相互独立个性化标识子服务器和数据详情子服务器,具体部署方式可以根据实际需求进行选择,本申请对此不做限定。

业务服务器用于调用个性化数据服务为用户客户端提供相应的个性化数据,业务服务器中可以设置有本地的第一存储,第一存储可以包括:内存缓存和本地缓存。业务服务器可以通过将获取的个性化数据存储在第一存储中,构成一种容灾方案。

远程容灾服务是一种独立的服务,部署在独立的远程容灾服务器中,远程容灾服务器采用了多种方式来存储个性化缓存数据,并可以在个性化数据服务不可用,且业务服务器第一存储中未存储有个性化数据时,为业务服务器提供相应的个性化数据,以使业务服务器可以将个性化数据反馈给客户端,进一步提高了容灾方案的保障性。

个性化数据服务广泛应用于各个业务场景中,业务服务器可以通过调用个性化数据服务为用户客户端提供相应的个性化数据,在目前,业务服务器所依赖的个性化数据服务,并不能保证100%的可用性,例如,个性化服务包括的个性化标识子服务和数据详情子服务,若任意一个子服务出现线程崩溃或宕机的情况,都会导致业务服务器无法获取到相应的个性化标识信息或个性化详情信息,历史上出现过多次由于个性化标识子服务或数据详情子服务不可用,导致应用的个性化服务出现故障的情况,因此需要建立一套可靠的数据容灾方案,来提升个性化数据服务的稳定性。

需要说明的是,前述个性化数据服务、远程容灾服务中的服务,可以理解为运行在相应服务器中运行的进程。

本申请在实施例中,业务服务器的硬件机器资源包括了设置在业务服务器本地的第一存储,第一存储可以包括内存缓存和本地缓存,内存缓存就是数据交换的缓冲区,当业务服务器要读取数据时,会首先从内存缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从本地缓存中找,由于内存缓存的运行速度比本地缓存快得多,故内存缓存的作用就是帮助业务服务器更快地运行业务。

因此,本申请实施例可以利用业务服务器的硬件机器资源,将个性化数据服务生效时,通过调用个性化数据服务获取到的个性化数据存储在本地的第一存储中,使得当个性化数据服务失效时,业务服务器可以利用本地内存缓存快速读取数据的优势,迅速的在第一存储中获取相应的个性化数据,达到了高效的数据容灾目的。

具体的,参照图1,基于图1示出的一种系统架构可以具有以下交互过程。

步骤s1、业务服务器接收客户端发送的用户请求,用户请求包括对应用户的关联信息。

在本申请实施例中,客户端发送的用户请求中可以包括对应用户的关联信息,关联信息可以包括个性化数据服务场景和个性化数据服务上下文,其中,个性化数据服务场景是指某个特定的个性化数据,用以向用户展示的场景,如访问页面的某个区块等;个性化数据服务上下文是指某个用户访问个性化数据服务时的系统环境,如所访问的业务的语言、国家、货币等信息。个性化数据服务的数据库中可以存储有关联信息与个性化数据的对应关系,因此,个性化数据服务可以根据用户请求中包括的关联信息,找到对应的个性化数据,该过程可以称为个性化推荐过程。

步骤s2、业务服务器根据用户请求,进行对个性化数据服务的调用,在调用成功时,获取对应的个性化数据。

在本申请实施例中,当个性化数据服务包括的各个子服务生效的情况下,个性化数据服务能够正常运行,并为用户客户端提供稳定的个性化推荐页面,个性化推荐页面具体由个性化标识信息和个性化详情信息构成,个性化数据服务的具体运行过程为,根据用户请求包括的关联信息,在个性化标识子服务中通过精确匹配或模糊匹配的方式,获取对应的个性化标识信息,再调用相应数据详情子服务的接口,获取个性化标识信息的个性化详情数据,业务服务器可以根据个性化标识信息和个性化详情信息,生成对应的推荐页面给客户端。

例如,用户在客户端访问一个网购应用促销页面中的某个区块,则客户端会生成包括了该区块的个性化数据服务场景以及个性化数据服务上下文的用户请求,业务服务器在收到该用户请求后,根据个性化数据服务场景以及个性化数据服务上下文可以执行相应的推荐操作,为用户推荐一系列的促销商品,促销商品可以对应个性化标识信息,并且,业务服务器还要提供给客户端这些促销商品的详情信息,如,价格、促销规则、产品参数等信息,这些详情信息则可以对应个性化详情信息。

需要说明的是,获取个性化标识信息和个性化详情信息的过程可以通过分别调用个性化标识子服务和数据详情子服务得到,也可以将两个子服务进行融合,通过在一个服务进程中存储个性化标识信息和个性化详情信息的对应关系,从而得到相应的个性化数据。

步骤s3、业务服务器将关联信息与对应的个性化数据更新到本地的第一存储中。

在该步骤中,在个性化数据服务正常运行的情况下,每次获得相应的个性化数据时,都可以将个性化数据更新到在本地的第一存储中,具体的,根据访问的优先性,可以将个性化数据先更新到在内存缓存中,按照每隔一定周期的方式或按照同步的方式再将内存缓存中的数据同步更新到到本地缓存中,达到利用业务服务器的本地机器资源实现数据容灾的目的,并且内存缓存的访问速度较快,大大提升了数据容灾的效率,且由于本地缓存的稳定性大于内存缓存,将个性化数据同步到本地缓存中,可以提升数据容灾的稳定性,降低数据丢失的几率。

其中,将个性化数据更新到在本地的第一存储中的具体方式可以为将个性化数据写入本地的第一存储中。

步骤s4、当对个性化数据服务的调用失败时,业务服务器根据关联信息,在第一存储中获取与关联信息匹配的个性化数据。

在本申请实施例中,个性化数据存入本地的第一存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化标识信息和个性化详情信息分别为值,这种数据结构可以方便进行数据查询,当对个性化数据服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一存储中查询获取相应的个性化标识信息和个性化详情信息的值,实现数据容灾。

在实际应用中,业务的业务服务器会有很多台,若多台业务服务器出现调用个性化数据服务失败的故障,则多台业务服务器需分别访问通过独立的第三方容灾系统获取容灾数据,这种方案会导致第三方容灾系统的负载过大,甚至无法进行访问,且数据访问量会被限流,相较于通过独立的第三方容灾系统,本申请利用了各个业务服务器的本地机器资源做数据容灾,可以快速的访问本地存储进行获取容灾数据,降低了数据容灾的成本,提高了访问效率、简化了容灾步骤。

步骤s5、当对个性化数据服务的调用失败时,业务服务器调用远程容灾服务获取对应的个性化数据。

另外,也可以提供远程容灾服务器,在个性化数据服务不可用,且业务服务器第一存储中未存储有个性化数据时,通过远程容灾服务器为业务服务器提供相应的个性化数据,以使业务服务器可以将个性化数据反馈给客户端,进一步提高了容灾方案的保障性。

因此,本申请可以接收包括了用户关联信息的用户请求;并根据用户请求,对个性化数据服务进行调用,在对个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的关联信息,更新到本地的第一存储中;在当对个性化数据服务的调用失败时,根据关联信息,在第一存储中获取与所述关联信息匹配的个性化数据。本申请利用了服务器的本地存储资源做数据容灾,使得服务器可以快速的访问本地存储获取容灾数据,避免服务器每次数据容灾都需要访问第三方容灾系统,提高了访问效率、简化了容灾过程。

参照图2,示出了本申请提供的系统级的一种个性化数据容灾方法的步骤流程图,具体可以包括如下步骤:

步骤101、接收用户请求,所述用户请求包括用户的关联信息。

在本申请实施例中,用户在客户端访问一个应用服务中的某个区块时,会相应生成包括了该区块的个性化数据服务场景以及个性化数据服务上下文的用户请求,即为对应用户的关联信息,客户端生成用户请求后,会将用户请求发送至业务服务器,业务服务器在收到该用户请求后,通过解析用户请求,可以得到对应的关联信息。

具体的,个性化数据服务场景以及个性化数据服务上下文还可以根据用户的身份画像数据得到,例如,某用户偏爱浏览网购应用中的户外板块,并大量购买过户外商品,则这些行为记录会被建立为身份画像数据,通过身份画像数据可以预测得到用户将要访问的服务场景及服务上下文,则业务服务器可以相应提供对应的户外产品的个性化推荐。

步骤102,根据所述用户请求,对个性化数据服务进行调用。

在本申请实施例中,在业务服务器接收到用户请求之后,需要根据用户请求,访问个性化数据服务器,以通过部署在个性化数据服务器中的个性化数据服务,获取相应的个性化数据。

步骤103,在对所述个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的所述关联信息,更新到本地的第一存储中。

在本申请实施例中,当个性化数据服务生效的情况下,个性化数据服务能够正常运行,并为用户客户端提供稳定的个性化推荐页面,个性化数据服务提供的个性化数据可以包括营销数据、营销投放数据、标签数据、商品详情数据等,这些数据都可以包括个性化标识信息和个性化详情信息两部分,例如,商品详情数据可以包括各个商品的标识(id,(identification),已经各个商品id对应的详情数据。

在个性化数据服务生效的情况下,每次获取到个性化数据的时候,都需要利用业务服务器的本地存储资源,可以将这些个性化数据以键值对的形式更新到本地的第一存储中,达到数据容灾的目的,因此,数据容灾的建立过程需要个性化数据服务能够正常运行,通过将个性化数据服务实时产生的个性化数据更新到第一存储中,提高了个性化数据的时效性,保证了个性化数据的新鲜程度。

需要说明的是,在业务服务器中,第一存储一般用于存储运行数据,第一存储的空间还可以用于运行线程,所以为了保证业务服务器的正常运行,避免数据容灾影响业务服务器工作,还可以对第一存储进行存储区的划分,如划分一个区域专门存储个性化数据,另外,第一存储也可以执行数据逐出机制,比如将第一存储中存活超过一定时间的数据逐出;第一存储的大小超过限制后,将最不常用的数据逐出,以提升第一存储的利用效率。

步骤104,在对所述个性化数据服务的调用失败的情况下,根据所述用户的关联信息,在所述第一存储中获取与所述关联信息匹配的个性化数据。

在该步骤中,个性化数据存入本地的第一存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化数据为值,这种数据结构可以方便进行数据查询,当对个性化数据服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一存储中查询获取相应的个性化数据的值,实现数据容灾。

在实际应用中,业务的业务服务器会有很多台,若多台业务服务器出现调用个性化数据服务失败的故障,则多台业务服务器需分别访问通过独立的第三方容灾系统获取容灾数据,这种方案会导致第三方容灾系统的负载过大,甚至无法进行访问,且数据访问量会被限流,相较于通过独立的第三方容灾系统,本申请利用了各个业务服务器的本地机器资源做数据容灾,可以快速的访问本地存储进行获取容灾数据,降低了数据容灾的成本,提高了访问效率、简化了容灾步骤。

综上所述,本申请实施例提供的一种个性化数据容灾方法,包括:接收包括了用户关联信息的用户请求;并根据用户请求,对个性化数据服务进行调用,在对个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的关联信息,更新到本地的第一存储中;在当对个性化数据服务的调用失败时,根据关联信息,在第一存储中获取与所述关联信息匹配的个性化数据。本申请利用了服务器的本地存储资源做数据容灾,使得服务器可以快速的访问本地存储获取容灾数据,避免服务器每次数据容灾都需要访问第三方容灾系统,提高了访问效率、简化了容灾过程。

参照图3,示出了本申请提供的另一种系统级的个性化数据容灾方法的交互步骤流程图,具体可以包括如下步骤:

步骤201,接收用户请求,所述用户请求包括用户的关联信息。

该步骤可以参照上述步骤101,此处不再赘述。

可选的,关联信息包括:服务场景信息和服务上下文信息;所述服务场景信息包括所述用户访问的场景的标识信息;所述服务上下文信息包括所述用户访问的业务服务器的运行环境信息。

在本申请实施例中,关联信息可以包括个性化数据的服务场景信息和个性化数据的服务上下文信息,其中,个性化数据服务场景是指某个特定的个性化数据,用以向用户展示的场景,如访问页面的某个区块等;个性化数据服务上下文是指某个用户访问个性化数据服务时的系统环境,如所访问的业务的语言、国家、货币等信息。

具体的,当用户访问一台应用的业务服务器时,根据该业务服务器的id,可以对应查询得到该业务服务器的运行环境信息,并将该信息添加在用户请求中,例如,用户访问了一台法国的业务服务器,则根据业务服务器id,得到的运行环境信息可以为“设备所在地:法国;使用语言:法语;交易货币:法郎等”,通过运行环境信息可以确定用户的市场属性,从而将用户划分到某个具体的市场中,或为用户添加某个市场的标签。

进一步的,当用户访问该运行环境中的具体场景时,会生成用户访问的场景的标识信息,并将该信息添加在用户请求中,用户访问的场景也以为某个页面或页面中的某个区块,如,在网购应用中,用户点击进入“双11大促销”页面,则会将该页面对应的标识id添加到用户请求中。个性化数据服务可以根据关联信息提供与其匹配的推荐信息给用户,完成推荐操作,也可以在数据容灾时,以关联信息为键,查找对应的个性化数据的值。

个性化数据服务的数据库中可以存储有关联信息与个性化数据的对应关系,因此,个性化数据服务可以根据用户请求中包括的关联信息,找到对应的个性化数据,该过程可以称为个性化推荐过程,关联数据的产生,既使得推荐结果的产生更加精确,更加符合用户的需求,也在使得数据容灾时,通过关联信息查找匹配的容灾数据,使得容灾数据的查找过程更加准确。

步骤202,根据所述用户请求,根据所述用户请求,对个性化数据服务进行调用。

该步骤可以参照上述步骤102,此处不再赘述。

步骤203,在对所述个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的所述关联信息,更新到本地的第一存储中。

该步骤可以参照上述步骤103,此处不再赘述。

可选的,个性化数据服务包括:个性化标识子服务和数据详情子服务,个性化数据包括:个性化标识信息和个性化详情信息,第一存储包括:内存缓存和本地缓存。所述步骤203包括子步骤:

子步骤2031,根据所述用户请求,在对所述个性化标识子服务调用成功的情况下获得的个性化标识信息与对应的所述关联信息,更新到本地的第一存储中。

在本申请实施例中,个性化数据服务可以包括个性化标识子服务,个性化标识子服务是一种根据个性化算法向不同的用户展示不同推荐内容的技术,可以提供个性化标识信息,提供个性化子服务的系统可以称之为推荐系统,个性化标识信息也可以称为推荐系统的推荐结果,如推荐的某几种商品。

具体的,根据用户请求包括的关联信息,在个性化标识子服务中通过精确匹配或模糊匹配的方式,可以获取对应的个性化标识信息,此时可以将关联信息与个性化标识信息的对应关系更新到在第一存储中,实现对个性化标识信息的数据容灾,使得当个性化标识子服务失效时,业务服务器能够在第一存储中找到相应的个性化标识信息。

可选的,子步骤2031还可以包括子步骤:

子步骤a1、根据所述用户请求,在对所述个性化标识子服务调用成功的情况下,获取对应的个性化标识信息。

该步骤的实现具体为,个性化标识子服务中存储有根据关联信息得到个性化标识信息的相关推荐算法,业务服务器根据用户请求中的关联信息,在个性化标识子服务中获取对应的个性化标识信息。

子步骤a2、将所述关联信息作为键,将所述个性化标识信息作为值,以键值对的方式更新到所述内存缓存。

在本申请实施例中,个性化标识信息更新到本地的第一存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化标识信息为值,具体可以为key=f(关联信息),value=[id1,id2,...,idx],这种数据结构可以方便进行数据查询,当对个性化标识子服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一存储中查询获取相应的个性化标识信息的值,实现数据容灾。

子步骤a3、将所述内存缓存中的所述关联信息与对应的个性化标识信息同步更新到所述本地缓存。

在该步骤中,业务服务器可以在将数据更新到内存缓存的同时,将该数据同步更新到本地缓存中,另外,业务服务器也可以在将数据更新到内存缓存之后,通过一个独立的线程,每个一定的周期,将该数据更新到本地缓存中。

进一步的,内存缓存就是业务服务器数据交换的缓冲区,当业务服务器要读取数据时,会首先从内存缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从本地缓存中找,由于内存缓存的运行速度比本地缓存快得多,故内存缓存的作用就是帮助业务服务器更快地运行业务。另外,由于本地缓存的稳定性大于内存缓存,将个性化数据同步到本地缓存中,可以提升数据容灾的稳定性,降低数据丢失的几率。

需要说明的是,内存缓存存在一个“冷启动”的问题,即一旦业务服务器系统重启,内存缓存中的数据就会消失。而本地缓存则能够兼顾缓存数据可用的同时不会太降低性能。

子步骤2032,根据所述个性化标识信息,调用所述数据详情子服务获取对应的个性化详情信息,并将所述关联信息与对应的所述个性化详情信息更新到本地的第一存储中。

在本申请实施例中,个性化数据服务可以包括数据详情子服务,数据详情子服务是一种根据推荐内容中的数据标识,获取其对应的详情数据的服务,可以提供个性化详情信息,如,推荐的某种商品的商品标题、营销价格、帖子图文等。

具体的,根据用户请求得到的个性化标识信息,在数据详情子服务中匹配得到对应的个性化详情信息,此时可以将关联信息与个性化详情信息的对应关系更新到在第一存储中,实现对个性化详情信息的数据容灾,使得当数据详情子服务失效时,业务服务器能够在第一存储中找到相应的个性化详情信息。

可选的,子步骤2032还可以包括子步骤:

子步骤b1、根据所述个性化标识信息,调用所述数据详情子服务获取对应的个性化详情信息。

该步骤的实现具体为,数据详情子服务中存储有根据个性化标识信息得到个性化详情信息的对应关系,业务服务器根据得到的个性化标识信息,在数据详情子服务中获取对应的个性化详情信息。

子步骤b2、将所述关联信息作为键,将所述个性化详情信息作为值,以键值对的方式更新到所述内存缓存。

在本申请实施例中,个性化详情信息更新到本地的第一存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化详情信息为值,具体可以为key=f(关联信息),value=[id1详情,id2详情,...,idx详情],这种数据结构可以方便进行数据查询,当对数据详情子服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一存储中查询获取相应的个性化详情信息的值,实现数据容灾。

子步骤b3、将所述内存缓存中的所述关联信息与对应的个性化详情信息同步更新到所述本地缓存。

该步骤的具体实现与上述步骤a3相似,此处不再赘述。

可选的,所述步骤203还可以包括子步骤:

子步骤2033,在所述内存缓存的剩余容量小于或等于预设容量阈值的情况下,删除所述内存缓存中活跃度小于或等于预设阈值的键值对;或,删除所述内存缓存中存储时间大于预设时间阈值的键值对。

在该步骤中,实现了一种数据逐出机制,在业务服务器中,内存缓存一般用于存储运行数据,内存缓存的空间还可以用于运行线程,所以为了保证业务服务器的正常运行,避免数据容灾影响业务服务器工作,还可以对内存缓存进行存储区的划分,如划分一个区域专门存储个性化数据,另外,内存缓存也可以执行数据逐出机制,比如将第一存储中存活超过一定时间的数据逐出;内存缓存的大小超过限制后,将最不常用的数据逐出,以提升内存缓存的利用效率。

进一步的,在具体实现中,业务服务器需要考虑第一存储能够支持多少个场景的推荐请求,然后根据关联信息包括的个性化数据服务上下文的数量,即容灾数据的存储结构公式key=f(个性化数据服务场景,个性化数据服务上下文)中的第二个参数,合理的配置缓存的容量上限。

步骤204,在对所述个性化数据服务的调用失败的情况下,根据所述用户的关联信息,在所述第一存储中获取与所述关联信息匹配的个性化数据。

该步骤可以参照上述步骤104,此处不再赘述。

可选的,个性化数据服务包括:个性化标识子服务和数据详情子服务,所述个性化数据包括:个性化标识信息和个性化详情信息,所述步骤204还可以包括子步骤:

子步骤2041,在对所述个性化标识子服务的调用失败的情况下,根据所述关联信息,在所述第一存储中获取与所述关联信息匹配的个性化标识信息。

在该步骤中,若个性化标识子服务器存在进程崩溃或宕机的故障,此时业务服务器无法进行对个性化标识子服务的调用,因此业务服务器需要从第一存储中根据用户请求得到的关联信息,匹配得到对应的个性化标识信息,以实现个性化数据业务链路的完整性。

可选的,子步骤2041可以包括子步骤:

子步骤c1、在对所述个性化标识子服务的调用失败的情况下,以所述关联信息为键,在所述内存缓存中获取与所述关联信息匹配的个性化标识信息的值。

在本申请实施例中,个性化标识信息更新到本地的第一存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化标识信息为值,具体可以为key=f(关联信息),value=[id1,id2,...,idx],这种数据结构可以方便进行数据查询,当对个性化标识子服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一存储中查询获取相应的个性化标识信息的值,实现数据容灾。

子步骤c2、若所述内存缓存中未存储有所述个性化标识信息,则以所述关联信息为键,在所述本地缓存中获取与所述关联信息匹配的个性化标识信息的值,并将所述关联信息与对应的个性化标识信息转存至所述内存缓存。

在该步骤中,当内存缓存因数据逐出机制或冷启动等原因丢失了相应的个性化标识信息时,由于本地缓存中存储有容灾数据,此时可以以关联信息为键,在本地缓存中获取与所述关联信息匹配的个性化标识信息的值,实现数据容灾。

进一步的,还可以将从本地缓存中获取到的关联信息与对应的个性化标识信息转存至所述内存缓存,以便于下一次访问请求该数据时可以直接从内存缓存中获取,提高了获取效率。

子步骤2042,在对所述数据详情子服务的调用失败的情况下,根据所述关联信息,在所述第一存储中获取与所述关联信息匹配的个性化详情信息。

可选的,子步骤2042可以包括子步骤:

子步骤d1、在对所述数据详情子服务的调用失败的情况下,以所述关联信息为键,在所述内存缓存中获取与所述关联信息匹配的个性化详情信息的值。

在该步骤中,若数据详情子服务器存在进程崩溃或宕机的故障,此时业务服务器无法进行对数据详情子服务的调用,因此业务服务器需要从第一存储中根据用户请求得到的关联信息,匹配得到对应的个性化详情信息,以实现个性化数据业务链路的完整性。

需要说明的是,若个性化标识子服务处于生效状态,数据详情子服务处于失效状态,则业务服务器通过调用个性化标识子服务可以得到个性化标识信息,但是由于数据详情子服务处于失效状态,因此在数据详情子服务中无法根据个性化标识信息去获取相应的个性化详情信息,另外也无法保证每一个个性化标识信息都在数据详情子服务的数据库中存在对应的个性化详情信息,因此,当对数据详情子服务的调用失败时,需要根据关联信息在所述第一存储中获取与关联信息匹配的个性化详情信息,因为通过关联信息总是能得到对应的个性化详情信息。

在本申请实施例中,个性化详情信息存入本地的第一存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化详情信息为值,具体可以为key=f(关联信息),value=[id1详情,id2详情,...,idx详情],这种数据结构可以方便进行数据查询,当对数据详情子服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一存储中查询获取相应的个性化详情信息的值,实现数据容灾。

子步骤d2、若所述内存缓存中未存储有所述个性化详情信息,则以所述关联信息为键,在所述本地缓存中获取与所述关联信息匹配的个性化详情信息的值,并将所述关联信息与对应的个性化详情信息转存至所述内存缓存。

在该步骤中,当内存缓存因数据逐出机制或冷启动等原因丢失了相应的个性化详情信息时,由于本地缓存中存储有容灾数据,此时可以以关联信息为键,在本地缓存中获取与所述关联信息匹配的个性化详情信息的值,实现数据容灾。

进一步的,还可以将从本地缓存中获取到的关联信息与对应的个性化详情信息转存至所述内存缓存,以便于下一次访问请求该数据时可以直接从内存缓存中获取,提高了获取效率。

步骤205,提供远程容灾服务,所述远程容灾服务包括:存储有所述个性化数据的第二存储。

在本申请实施例中,远程容灾服务器是一种独立的服务器,采用了多种方式采存储个性化缓存数据,并可以在个性化数据服务不可用,且业务服务器第一存储中未存储有个性化数据时,通过远程容灾服务为业务服务器提供相应的个性化数据,以使业务服务器可以将个性化数据反馈给客户端,进一步提高了容灾方案的保障性。

远程容灾服务器中设置有相应存储个性化数据的第二存储,为了保证个性化数据的数据量的需求和时效性的需求,远程容灾服务器的建立方式可以利用在线数据聚合和离线数据聚合结合的方式,既满足数据量的需求,又满足数据时效性的需求。

具体为,对第二存储进一步划分,分为第一子存储和第二子存储,通过开发人员圈定大量的个性化数据,并对这些个性化数据进行监控,将更新过的个性化数据在线同步在第一子存储中,将个性化数据离线同步在第二子存储中,达到了满足数据量的需求,又满足数据时效性的需求的目的。

可选的,第二存储包括:第一子存储和第二子存储,所述个性化数据包括:个性化标识信息和个性化详情信息,步骤205还可以包括:

子步骤2051,获取所述个性化标识信息,以及所述个性化标识信息对应的个性化详情信息。

在本申请实施例中,参照图4,其示出了一种远程容灾服务的构建示意图,开发人员可以圈定大量的个性化数据,具体可以为收集个性化数据服务中产出的个性化数据,在应用开发端圈定相应的开发数据,或在网页页面中圈定相应的个性化数据,这些个性化数据主要可以包括营销数据、营销投放数据、标签数据、商品详情数据,这四种数据占了个性化数据中的百分之九十以上,通过获取的个性化数据,可以进一步建立存储有个性化数据的第二存储。

子步骤2052,在监控到所述个性化标识信息更新的情况下,将更新后的所述个性化标识信息,以及更新后的所述个性化标识信息对应的个性化详情信息聚合后写入所述第一子存储。

在本中请实施例中,个性化数据的更新可以分为两种,一种即为个性化标识信息的更新,个性化标识信息的更新也可以为个性化标识信息的状态或内容的更新,在具体实现中,本申请可以通过tair存储来存储更新后的个性化数据,tair存储对应第一子存储,tair存储是一个高性能、分布式、可扩展、高可靠的key/value结构存储系统,tair存储专为实现小文件优化,并提供简单易用的接口(类似map容器)。

具体的,参照图4,远程容灾服务可以根据一个内部监控线程,在远程容灾服务的第二存储的数据库表中的数据内容变化时,该监控线程可以发出相应的更新消息,远程容灾服务可以监听和接受这些消息,并对更新后的个性化数据进行写入第一子存储中的操作,整个过程称为在线数据聚合。

可选的,子步骤2052还可以包括:

子步骤e1、在监控到所述个性化标识信息更新的情况下,获取更新后的所述个性化标识信息对应的个性化详情信息。

在本申请实施例中,远程容灾服务可以监听和接收更新消息,更新消息会告知远程容灾服务更新的是个性化标识信息的状态还是内容,发出消息和接收消息几乎是实时的,因此数据的变化可以几乎实时的更新到第一子存储。

进一步的,以一个实例进行说明,在推荐系统中,如果变更的数据是个性化标识信息的状态,且状态从活动未发布变为活动已发布,则在线数据聚合服务会根据个性化标识信息对应的商品id,找出这个活动下所有的活动商品,并调用数据详情子服务的接口,获取完整的商品的个性化详情数据,若变更的是个性化标识信息的内容,执行同样的操作得到更新后的个性化标识信息对应的个性化详情数据。

子步骤e2、将更新后的所述个性化标识信息对应的关联信息作为键,将更新后的所述个性化标识信息作为值,以键值对的方式更新到所述第一子存储。

在本申请实施例中,个性化标识信息存入本地的第一子存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化标识信息为值,具体可以为key=f(关联信息),value=[id1,id2,...,idx],这种数据结构可以方便进行数据查询,当对数据详情子服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一子存储中查询获取相应的个性化标识信息的值,实现远程容灾服务中的数据容灾。

子步骤e3、将更新后的所述个性化标识信息对应的关联信息作为键,将更新后的所述个性化标识信息对应的个性化详情信息作为值,以键值对的方式更新到所述第一子存储。

在本申请实施例中,个性化详情信息存入本地的第一子存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化详情信息为值,具体可以为key=f(关联信息),value=[id1详情,id2详情,...,idx详情],这种数据结构可以方便进行数据查询,当对数据详情子服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一子存储中查询获取相应的个性化详情信息的值,实现远程容灾服务中的数据容灾。

子步骤2053,在监控到所述个性化详情信息更新的情况下,将更新后的所述个性化详情信,以及更新后的所述个性化详情信息对应的个性化标识信息聚合后更新到所述第一子存储。

在本申请实施例中,若个性化详情信息更新,监控线程也会发出相应的消息至远程容灾服务,告知其变化的内容,例如,在一个具体实例中,如果一个商品的某次营销活动中的价格发生了变化,在线数据聚合服务会首先检查第一子存储中是否存在相应的数据。如第一子存储中是否有对应的活动id+商品id的数据,若没有,就意味该个性化详情信息的重要性不足,推荐系统不用专门针对该个性化详情信息做数据容灾,若有,则更新第一子存储中对应的个性化详情信息,则这个商品在第一子存储中对应的商品详情的字段,就会做相应的修改。

可选的,子步骤2053还可以包括:

子步骤f1、在监控到所述个性化详情信息更新的情况下,将更新后的所述个性化详情信息对应的关联信息作为键,将更新后的所述个性化详情信息对应的个性化标识信息作为值,以键值对的方式更新到所述第一子存储。

在本申请实施例中,个性化标识信息更新到本地的第一子存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化标识信息为值,具体可以为key=f(关联信息),value=[id1,id2,...,idx],这种数据结构可以方便进行数据查询,当对数据详情子服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一子存储中查询获取相应的个性化标识信息的值,实现远程容灾服务中的数据容灾。

子步骤f2、将更新后的所述个性化详情信息对应的关联信息作为键,将更新后的所述个性化详情信息作为值,以键值对的方式更新到所述第一子存储。

在本申请实施例中,个性化详情信息存入本地的第一子存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化详情信息为值,具体可以为key=f(关联信息),value=[id1详情,id2详情,...,idx详情],这种数据结构可以方便进行数据查询,当对数据详情子服务的调用失败时,业务服务器可以以用户请求包括的关联信息为键,在第一子存储中查询获取相应的个性化详情信息的值,实现远程容灾服务中的数据容灾。

子步骤2054,按照预设时间周期,将所述个性化标识信息,以及所述个性化标识信息对应的个性化详情信息聚合后更新到所述第二子存储。

在实际应用中,由于tair存储存在写入数据的限制,因此在线数据聚合服务并不能处理太大量的数据变更,此时参照图4,可以通过离线数据聚合,将海量的个性化数据离线更新到第二子存储中,保证了数据量的需求,第二子存储可以为hbase存储,hbase存储是一种构建在分布式文件系统之上的分布式、面向列的存储系统,在需要实时读写、随机访问超大规模数据集时,可以使用hbase存储,hbase存储可以轻松支持大数据存储,满足千万级查询率的随机读写。

可选的,子步骤2054还可以包括:

子步骤g1、按照所述预设时间周期,将所述个性化标识信息对应的关联信息作为键,将所述个性化标识信息作为值,以键值对的方式更新到所述第二子存储。

子步骤g2、按照所述预设时间周期,将所述个性化标识信息对应的关联信息作为键,将所述个性化标识信息对应的个性化详情信息作为值,以键值对的方式更新到所述第二子存储。

在本申请实施例中,hbase存储并不过分关注个性化数据的更新,其实现的是一种离线数据聚合的方案,具体为针对个性化数据来源,由大数据计算平台,根据用户的配置,每隔一段预设时间周期,将数据库表中的内容,同步到第二子存储中,之后大数据计算平台会建立一个数据处理任务,自动执行该任务,将所同步到第二子存储中的个性化数据,组装成远程容灾服务所能够识别的数据结构(即key-value形式),存储到大数据计算平台中的一个数据表中,借助大数据计算平台的能力,这里处理的数据量可以达到千万级别以上。进一步的,大数据计算平台还会建立另一个数据处理任务,将上一步产生的数据表中的数据,同步到第二子存储中的对应的数据表中。

可选的,步骤205还可以包括:

子步骤2055、获取所述个性化标识信息的第一优先级别和第一历史更新频率。

子步骤2056、若所述第一优先级别小于第一预设阈值,和或,所述第一历史更新频率大于第二预设阈值,则将所述个性化标识信息,以及所述个性化标识信息对应的个性化详情信息聚合后更新到所述第二子存储。

在本申请实施例中,由第一子存储存在写入数据的限制,因此在线数据聚合服务并不能处理太大量的数据变更,使得在所关注的个性化数据的选择上,会优先选择优先级别特别高、同时变更频繁程度不是很高的数据进行聚合。具体是通过获取个性化标识信息的第一优先级别和第一历史更新频率,将第一优先级别和第一历史更新频率不符合在线聚合标准的个性化标识信息及其对应的个性化详情信息聚合后更新到所述第二子存储。

可选的,步骤205还可以包括:

子步骤2057、获取所述个性化详情信息的第二优先级别和第二历史更新频率。

子步骤2058、若所述第二优先级别别小于三预设阈值,和或,所述第二历史更新频率大于四预设阈值,则将所述个性化详情信息,以及所述个性化详情信息对应的个性化标识信息聚合后更新到所述第二子存储。

具体的,通过获取个性化详情信息的第二优先级别和第二历史更新频率,将第二优先级别和第二历史更新频率不符合在线聚合标准的个性化详情信息,以及所述个性化详情信息对应的个性化标识信息聚合后更新到所述第二子存储。

步骤206,在对所述个性化数据服务的调用失败的情况下,且所述第一存储中未存储有所述个性化数据时,根据所述关联信息,在所述第二存储中获取与所述关联信息匹配的个性化数据。

在本申请实施例中,个性化数据更新到远程容灾服务本地的第二存储中的具体方式可以以key-value的键值对形式实现,例如,将关联信息为键、关联信息对应的个性化标识信息和个性化详情信息分别为值,这种数据结构可以方便进行数据查询,当对个性化数据服务的调用失败时,业务服务器可以远程访问远程容灾服务器,并以用户请求包括的关联信息为键,在第二存储中查询获取相应的个性化标识信息和个性化详情信息的值,实现数据容灾。

可选的,步骤206可以包括子步骤:

子步骤2051,在对所述个性化标识子服务的调用失败的情况下,根据所述关联信息为键,在所述第一子存储中获取与所述关联信息匹配的个性化标识信息的值。

在该步骤中,若个性化标识子服务器存在进程崩溃或宕机的故障,且业务服务器的第一存储中未存储有对应的个性化数据,此时业务服务器无法进行对个性化标识子服务的调用,因此业务服务器需要从远程容灾服务的第一子存储中根据用户请求得到的关联信息为键,匹配得到对应的个性化标识信息的值,以实现个性化数据业务链路的完整性。

可选的,子步骤2061还可以包括:

子步骤h1,若所述第一子存储中未存储有所述个性化标识信息,则以所述关联信息为键,在所述第二子存储中获取与所述关联信息匹配的个性化标识信息的值,并将所述关联信息与对应的个性化标识信息转存至所述第一子存储。

在该步骤中,第一子存储类似于计算机中的随机存取存储器(ram,randomaccessmemory)当第一子存储因数据逐出机制或冷启动等原因丢失了相应的个性化标识信息时,由于相对稳定的第二子存储中存储有容灾数据,此时可以以关联信息为键,在第二子存储中获取与所述关联信息匹配的个性化标识信息的值,实现数据容灾。

子步骤2052,在对所述数据详情子服务的调用失败的情况下,根据所述关联信息为键,在所述第一子存储中获取与所述关联信息匹配的个性化详情信息的值。

在该步骤中,若数据详情子服务器存在进程崩溃或宕机的故障,且业务服务器的第一存储中未存储有对应的个性化数据,此时业务服务器无法进行对数据详情子服务的调用,因此业务服务器需要从远程容灾服务的第一子存储中根据用户请求得到的关联信息为键,匹配得到对应的个性化详情信息的值,以实现个性化数据业务链路的完整性。

可选的,子步骤2062还可以包括:

子步骤h2,若所述第一子存储中未存储有所述个性化详情信息,则以所述关联信息为键,在所述第二子存储中获取与所述关联信息匹配的个性化详情信息的值,并将所述关联信息与对应的个性化详情信息转存至所述第一子存储。

在该步骤中,第一子存储类似于计算机中的ram,当第一子存储因数据逐出机制或冷启动等原因丢失了相应的个性化详情信息时,由于相对稳定的第二子存储中存储有容灾数据,此时可以以关联信息为键,在第二子存储中获取与所述关联信息匹配的个性化详情信息的值,实现数据容灾。

需要说明的是,参照图4,还可以在远程容灾服务中建立一个内存缓存,在进行远程容灾数据的调用时,该内存缓冲用于存储调用过程中产生的个性化数据,以使得当下次访问请求相同的数据时,可以直接从内存缓存中提取对应的数据,使得数据提取效率被大大提高。

综上所述,本申请实施例提供的一种个性化数据容灾方法,包括:接收包括了用户关联信息的用户请求;并根据用户请求,对个性化数据服务进行调用,在对个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的关联信息,更新到本地的第一存储中;在当对个性化数据服务的调用失败时,根据关联信息,在第一存储中获取与所述关联信息匹配的个性化数据。本申请利用了业务服务器的本地存储资源做数据容灾,具体可以利用第一存储中的内存缓存和本地缓存,对应存储个性化数据,使得业务服务器可以优先访问内存缓存获取容灾数据,在内存缓存中未存在个性化数据时,从本地缓存中获取相应的个性化数据,避免业务服务器每次数据容灾都需要访问第三方容灾服务器,提高了访问效率、简化了容灾过程,进一步的,当个性化数据服务的调用失败,且第一存储中未存储有所述个性化数据时,可以通过远程容灾服务进行获取个性化数据的操作,满足了数据容灾方案的稳定性,另外,远程容灾服务的建立过程采用在线数据聚合和离线数据聚合结合的方式,既可以满足对个性化数据的数据量需求,也可以满足对个性化数据的时效性需求。

参照图5,示出了本中请一个具体示例中系统级的一种个性化数据容灾装置的结构图,包括:

接收模块501,用于接收用户请求,所述用户请求包括对应用户的关联信息;

调用模块502,用于根据所述用户请求,对个性化数据服务进行调用;

存储模块503,用于在对所述个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的所述关联信息,更新到本地的第一存储中;

第一容灾模块504,用于在对所述个性化数据服务的调用失败的情况下,根据所述用户的关联信息,在所述第一存储中获取与所述关联信息匹配的个性化数据。

综上所述,本申请实施例提供的一种个性化数据容灾装置,包括接收包括了用户关联信息的用户请求;并根据用户请求,对个性化数据服务进行调用,在对个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的关联信息,更新到本地的第一存储中;在当对个性化数据服务的调用失败时,根据关联信息,在第一存储中获取与所述关联信息匹配的个性化数据。本申请利用了服务器的本地存储资源做数据容灾,使得服务器可以快速的访问本地存储获取容灾数据,避免服务器每次数据容灾都需要访问第三方容灾系统,提高了访问效率、简化了容灾过程。

参照图6,示出了本申请一个具体示例中一种个性化数据容灾装置的结构图,包括:

接收模块601,用于接收用户请求,所述用户请求包括对应用户的关联信息。

调用模块602,用于根据所述用户请求,对个性化数据服务进行调用。

存储模块603,用于在对所述个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的所述关联信息,更新到本地的第一存储中。

可选的,存储模块603可以包括:

第一存储子模块,用于根据所述用户请求,在对所述个性化标识子服务调用成功的情况下获得的个性化标识信息与对应的所述关联信息,更新到本地的第一存储中;

可选的,第一存储子模块,包括:

第一调用单元,用于根据所述用户请求,在对所述个性化标识子服务调用成功的情况下,获取对应的个性化标识信息;

第一写入单元,用于将所述关联信息作为键,将所述个性化标识信息作为值,以键值对的方式更新到所述内存缓存;

第一同步单元,用于将所述内存缓存中的所述关联信息与对应的个性化标识信息同步更新到所述本地缓存。

第二存储子模块,用于根据所述个性化标识信息,调用所述数据详情子服务获取对应的个性化详情信息,并将所述关联信息与对应的所述个性化详情信息更新到本地的第一存储中。

可选的,第二存储子模块,包括:

第二调用单元,用于根据所述个性化标识信息,调用所述数据详情子服务获取对应的个性化详情信息;

第二写入单元,用于将所述关联信息作为键,将所述个性化详情信息作为值,以键值对的方式更新到所述内存缓存;

第二同步单元,用于将所述内存缓存中的所述关联信息与对应的个性化详情信息同步更新到所述本地缓存。

数据逐出子模块,用于在所述内存缓存的剩余容量小于或等于预设容量阈值的情况下,删除所述内存缓存中活跃度小于或等于预设阈值的键值对;或,删除所述内存缓存中存储时间大于预设时间阈值的键值对。

第一容灾模块604,用于在对所述个性化数据服务的调用失败的情况下,根据所述用户的关联信息,在所述第一存储中获取与所述关联信息匹配的个性化数据。

可选的,第一容灾模块604可以包括:

第一容灾子模块,用于在对所述个性化标识子服务的调用失败的情况下,根据所述关联信息,在所述第一存储中获取与所述关联信息匹配的个性化标识信息;

第二容灾子模块,用于在对所述数据详情子服务的调用失败的情况下,根据所述关联信息,在所述第一存储中获取与所述关联信息匹配的个性化详情信息。

第三容灾子模块,用于在对所述个性化标识子服务的调用失败的情况下,以所述关联信息为键,在所述内存缓存中获取与所述关联信息匹配的个性化标识信息的值;

第四容灾子模块,用于在对所述数据详情子服务的调用失败的情况下,以所述关联信息为键,在所述内存缓存中获取与所述关联信息匹配的个性化详情信息的值。

第一本地容灾子模块,用于若所述内存缓存中未存储有所述个性化标识信息,则以所述关联信息为键,在所述本地缓存中获取与所述关联信息匹配的个性化标识信息的值,并将所述关联信息与对应的个性化标识信息转存至所述内存缓存;

第二本地容灾子模块,用于若所述内存缓存中未存储有所述个性化详情信息,则以所述关联信息为键,在所述本地缓存中获取与所述关联信息匹配的个性化详情信息的值,并将所述关联信息与对应的个性化详情信息转存至所述内存缓存。

提供模块605,用于提供远程容灾服务,所述远程容灾服务包括:存储有所述个性化数据的第二存储。

可选的,提供模块605,包括:

第一获取子模块,用于获取所述个性化标识信息,以及所述个性化标识信息对应的个性化详情信息;

第一写入子模块,用于在监控到所述个性化标识信息更新的情况下,将更新后的所述个性化标识信息,以及更新后的所述个性化标识信息对应的个性化详情信息聚合后更新到所述第一子存储;

可选的,第一写入子模块,包括:

获取单元,用于在监控到所述个性化标识信息更新的情况下,获取更新后的所述个性化标识信息对应的个性化详情信息;

第三写入单元,用于将更新后的所述个性化标识信息对应的关联信息作为键,将更新后的所述个性化标识信息作为值,以键值对的方式更新到所述第一子存储;

第四写入单元,用于将更新后的所述个性化标识信息对应的关联信息作为键,将更新后的所述个性化标识信息对应的个性化详情信息作为值,以键值对的方式更新到所述第一子存储。

第二写入子模块,用于在监控到所述个性化详情信息更新的情况下,将更新后的所述个性化详情信息,以及更新后的所述个性化详情信息对应的个性化标识信息聚合后更新到所述第一子存储;

可选的,第二写入子模块,包括:

第五写入单元,用于在监控到所述个性化详情信息更新的情况下,将更新后的所述个性化详情信息对应的关联信息作为键,将更新后的所述个性化详情信息对应的个性化标识信息作为值,以键值对的方式更新到所述第一子存储;

第六写入单元,用于将更新后的所述个性化详情信息对应的关联信息作为键,将更新后的所述个性化详情信息作为值,以键值对的方式更新到所述第一子存储。

第三写入子模块,用于按照预设时间周期,将所述个性化标识信息,以及所述个性化标识信息对应的个性化详情信息聚合后更新到所述第二子存储。

可选的,第三写入子模块,包括:

第七写入单元,用于按照所述预设时间周期,将所述个性化标识信息对应的关联信息作为键,将所述个性化标识信息作为值,以键值对的方式更新到所述第二子存储;

第八写入单元,用于按照所述预设时间周期,将所述个性化标识信息对应的关联信息作为键,将所述个性化标识信息对应的个性化详情信息作为值,以键值对的方式更新到所述第二子存储。

可选的,提供模块605,包括:

第二获取子模块,用于获取所述个性化标识信息的第一优先级别和第一历史更新频率;

第一降位写入子模块,用于若所述第一优先级别小于第一预设阈值,和或,所述第一历史更新频率大于第二预设阈值,则将所述个性化标识信息,以及所述个性化标识信息对应的个性化详情信息聚合后更新到所述第二子存储。

第三获取子模块,用于获取所述个性化详情信息的第二优先级别和第二历史更新频率;

第二降位写入子模块,用于若所述第二优先级别别小于三预设阈值,和或,所述第二历史更新频率大于四预设阈值,则将所述个性化详情信息,以及所述个性化详情信息对应的个性化标识信息聚合后更新到所述第二子存储。

第二容灾模块606,用于在对所述个性化数据服务的调用失败的情况下,且所述第一存储中未存储有所述个性化数据时,根据所述关联信息,在所述第二存储中获取与所述关联信息匹配的个性化数据。

可选的,第二容灾模块606,包括:

第五容灾子模块,用于在对所述个性化标识子服务的调用失败的情况下,根据所述关联信息为键,在所述第一子存储中获取与所述关联信息匹配的个性化标识信息的值;

第六容灾子模块,用于在对所述数据详情子服务的调用失败的情况下,根据所述关联信息为键,在所述第一子存储中获取与所述关联信息匹配的个性化详情信息的值。

第七容灾子模块,用于若所述第一子存储中未存储有所述个性化标识信息,则以所述关联信息为键,在所述第二子存储中获取与所述关联信息匹配的个性化标识信息的值,并将所述关联信息与对应的个性化标识信息转存至所述第一子存储;

第八容灾子模块,用于若所述第一子存储中未存储有所述个性化详情信息,则以所述关联信息为键,在所述第二子存储中获取与所述关联信息匹配的个性化详情信息的值,并将所述关联信息与对应的个性化详情信息转存至所述第一子存储。

综上所述,本申请实施例提供的一种个性化数据容灾装置,包括,接收包括了用户关联信息的用户请求;并根据用户请求,对个性化数据服务进行调用,在对个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的关联信息,更新到本地的第一存储中;在当对个性化数据服务的调用失败时,根据关联信息,在第一存储中获取与所述关联信息匹配的个性化数据。本申请利用了服务器的本地存储资源做数据容灾,具体可以利用第一存储中的内存缓存和本地缓存,对应存储个性化数据,使得服务器可以优先访问内存缓存获取容灾数据,在内存缓存中未存在个性化数据时,从本地缓存中获取相应的个性化数据,避免服务器每次数据容灾都需要访问第三方容灾服务器,提高了访问效率、简化了容灾过程,进一步的,当个性化数据服务的调用失败,且第一存储中未存储有所述个性化数据时,可以通过远程容灾服务器进行获取个性化数据的操作,满足了数据容灾方案的稳定性,另外,远程容灾服务的建立过程采用在线数据聚合和离线数据聚合结合的方式,既可以满足对个性化数据的数据量需求,也可以满足对个性化数据的时效性需求。。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

图7是本申请实施例提供的一种装置的结构示意图。参见图7,服务器800可以用于实施上述实施例中提供的个性化数据容灾方法。该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储的或持久存储的。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。

服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,一个或一个以上键盘756,和/或,一个或一个以上操作系统741,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。其中,中央处理器722可以在服务器700上执行以下操作的指令:

接收用户请求,所述用户请求包括用户的关联信息;

根据所述用户请求,对个性化数据服务进行调用;

在对所述个性化数据服务调用成功的情况下,则将调用成功后获得的个性化数据与对应的所述关联信息,更新到本地的第一存储中;

在对所述个性化数据服务的调用失败的情况下,根据所述用户的关联信息,在所述第一存储中获取与所述关联信息匹配的个性化数据。

当然,还可以执行其他服务器侧的指令。本申请提供一种装置,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行一种个性化数据容灾方法。

本申请还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行一种个性化数据容灾方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

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

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

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

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

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种个性化数据容灾方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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