掌桥专利:专业的专利平台
掌桥专利
首页

一种缓存方法、装置、设备及介质

文献发布时间:2024-04-18 20:02:18


一种缓存方法、装置、设备及介质

技术领域

本申请涉及交易缓存技术领域,尤其涉及一种缓存方法、装置、设备及介质。

背景技术

应用服务器在接收到客户端发送的单交易时,需要对单交易进行缓存,也就是通过访问缓存服务器对单交易进行缓存。并且每个单交易可能需要进行多次缓存,每次都会对缓存服务器发送缓存请求,如果发送失败,还会重试,其中重试次数可配置。也就是当单交易中多次使用到缓存服务器时,会重复对缓存服务器发送缓存请求,若失败还会重试,导致交易响应耗时长等问题。

因此,亟需一种缓存方法,解决当缓存服务器不可用时,应用服务器会根据当前待缓存的单交易重复对缓存服务器发送缓存请求,增加单交易耗时的问题。

发明内容

本申请提供了一种缓存方法、装置、设备及介质,用于解决当缓存服务器不可用时,应用服务器会根据当前待缓存的单交易重复对缓存服务器发送缓存请求,增加单交易耗时的问题。

第一方面,本申请提供了一种缓存方法,所述方法包括:

接收单交易的缓存请求;

查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;

若所述状态信息标识所述缓存服务器可用,则采用所述缓存服务器对所述单交易进行缓存;若所述状态信息标识所述缓存服务器不可用,则显示所述缓存服务器异常的提示信息。

在一种可能的实施方式中,所述接收单交易的缓存请求之后,所述查询当前交换区的KEY_CACHE中保存的缓存服务器的状态之前,所述方法还包括:

判断当前交换区的KEY_CACHE是否为空;

若否,则进行后续的查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息的步骤。

在一种可能的实施方式中,若所述KEY_CACHE为空,所述方法还包括:

根据所述缓存请求中携带的缓存服务器的IP信息,生成查询命令;

将所述查询命令发送至所述IP信息的缓存服务器;若接收到所述IP信息的缓存服务器的回复信息,则确定所述缓存服务器可用;在所述KEY_CACHE中写入标识所述缓存服务器可用的状态信息。

在一种可能的实施方式中,若没有接收到所述缓存服务器的回复信息,所述方法还包括:

确定所述缓存服务器不可用;

在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述采用所述缓存服务器进行缓存包括:

确定缓存过程中是否出现异常;若是,则显示缓存服务器异常的提示信息;

在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述方法还包括:

若所述缓存过程中未出现异常,在缓存完成时显示缓存成功的提示信息。

在一种可能的实施方式中,所述方法还包括:

若接收到所述单交易完成的提示信息,删除所述KEY_CACHE中保存的缓存服务器的状态信息。

第二方面,本申请实施例还提供了一种缓存装置,所述装置包括:

接收模块,用于接收单交易的缓存请求;

缓存模块,用于查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;若所述状态信息标识所述缓存服务器可用,则采用所述缓存服务器对所述单交易进行缓存;若所述状态信息标识所述缓存服务器不可用,则显示所述缓存服务器异常的提示信息。

在一种可能的实施方式中,所述缓存模块,还用于判断当前交换区的KEY_CACHE是否为空;若否,则进行后续的查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息的步骤。

在一种可能的实施方式中,所述所述缓存模块,还用于若所述KEY_CACHE为空,根据所述缓存请求中携带的缓存服务器的IP信息,生成查询命令;将所述查询命令发送至所述IP信息的缓存服务器;若接收到所述IP信息的缓存服务器的回复信息,则确定所述缓存服务器可用;在所述KEY_CACHE中写入标识所述缓存服务器可用的状态信息。

在一种可能的实施方式中,所述缓存模块,还用于若没有接收到所述缓存服务器的回复信息,确定所述缓存服务器不可用;在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述缓存模块,具体用于确定缓存过程中是否出现异常;若是,则显示缓存服务器异常的提示信息;在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述缓存模块,还用于若所述缓存过程中未出现异常,在缓存完成时显示缓存成功的提示信息。

在一种可能的实施方式中,所述缓存模块,还用于若接收到所述单交易完成的提示信息,删除所述KEY_CACHE中保存的缓存服务器的状态信息。

第三方面,本申请实施例还提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述缓存方法的步骤。

第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述缓存方法的步骤。

第五方面,本申请还提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上述任一所述缓存方法的步骤。

在本申请实施例中,接收客户端发送的单交易的缓存请求,并查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;根据状态信息判断缓存服务器是否可用;若是,则采用缓存服务器对该单交易进行缓存;若否,则显示该缓存服务器异常的提示信息,即本申请实施例提供了一种缓存故障隔离的机制,当缓存服务器发生故障时,可探测到故障,并在接下来的单交易中避免访问缓存服务器,解决了当缓存服务器不可用时,应用服务器会重复对缓存服务器发送命令,增加单交易耗时的问题。

附图说明

为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本申请的一些实施例提供的一种缓存过程示意图;

图2为本申请的一些实施例提供的另一种单交易的缓存过程的示意图;

图3为本申请的一些实施例提供的一种缓存装置的结构示意图;

图4为本申请的一些实施例提供的一种电子设备的结构示意图。

具体实施方式

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

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。

术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

应用服务器在接收到客户端发送的单交易时,需要对单交易进行缓存,也就是通过访问缓存服务器对单交易进行缓存。并且每个单交易可能需要进行多次缓存,每次都会对缓存服务器发送缓存请求,如果发送失败,还会重试,其中重试次数可配置。也就是当单交易中多次使用到缓存服务器时,会重复对缓存服务器发送缓存请求,若失败还会重试,导致单交易耗时长等问题。

基于此,为了解决当缓存服务器不可用时,应用服务器会根据当前待缓存的单交易重复对缓存服务器发送缓存请求,增加单交易耗时的问题,本申请实施例提供了一种缓存方法、装置、设备及介质。该方法中,接收单交易的缓存请求;查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;若所述状态信息标识所述缓存服务器可用,则采用所述缓存服务器对所述单交易进行缓存;若所述状态信息标识所述缓存服务器不可用,则显示所述缓存服务器异常的提示信息。

实施例1:

图1为本申请的一些实施例提供的一种缓存过程示意图,如图1所示,该过程包括以下步骤:

S101:接收单交易的缓存请求。

本申请实施例应用于应用服务器。

为了解决当缓存服务器不可用时,应用服务器会重复对缓存服务器发送命令,增加单交易响应耗时的问题,在本申请实施例中,当应用服务器接收到单交易的缓存请求时,也就是接收到客户端发送的、需要进行缓存的单交易时,应用服务器会访问缓存服务器,以便针对该单交易进行数据缓存。

S102:查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息。

如果接收到客户端发送的单交易的缓存请求,则表示该单交易需要使用缓存服务器进行缓存,可以查询当前数据缓存的交换区的KEY_CACHE中保存的缓存服务器的状态信息。其中,该状态信息可以是标识缓存服务器是否可用的信息。因此,可以根据状态信息,判断缓存服务器是否可用。

S103:若所述状态信息标识所述缓存服务器可用,则采用所述缓存服务器对所述单交易进行缓存;若所述状态信息标识所述缓存服务器不可用,则显示所述缓存服务器异常的提示信息。

如果状态信息标识缓存服务器可用,则说明缓存服务器正常,可以采用缓存服务器对该单交易进行缓存。如果状态信息标识缓存服务器不可用,则说明缓存服务器异常,无法基于该缓存服务器进行缓存,为了减少单交易缓存耗时,可以显示该缓存服务器异常的提示信息。

在本申请实施例中,接收客户端发送的单交易的缓存请求,并查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;根据状态信息判断缓存服务器是否可用;若是,则采用缓存服务器对该单交易进行缓存;若否,则显示该缓存服务器异常的提示信息,即本申请实施例提供了一种缓存故障隔离的机制,当缓存服务器发生故障时,可探测到故障,并在接下来的单交易中避免访问缓存服务器,解决了当缓存服务器不可用时,应用服务器会重复对缓存服务器发送命令,增加单交易耗时的问题。

实施例2:

为了更准确、更快速的确定缓存服务器是否可用,在上述实施例的基础上,在本申请实施例中,所述接收单交易的缓存请求之后,所述查询当前交换区的KEY_CACHE中保存的缓存服务器的状态之前,所述方法还包括:

判断当前交换区的KEY_CACHE是否为空;

若否,则进行后续的查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息的步骤。

为了更准确、更快速的确定缓存服务器是否可用,在接收单交易的缓存请求之后,查询当前交换区的KEY_CACHE中保存的缓存服务器的状态之前,可以先判断当前交换区的KEY_CACHE是否为空。如果当前KEY_CACHE不为空,则表示当前交换区的KEY_CACHE中保存有缓存服务器的状态信息,可以进行后续的查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息的步骤。

在本申请实施例中,在接收单交易的缓存请求之后,可以先判断当前交换区的KEY_CACHE是否为空。如果当前KEY_CACHE不为空,则可以进行后续的查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息的步骤。

实施例3:

为了更准确、快速的确定缓存服务器是否可用,在上述各实施例的基础上,在本申请实施例中,若所述KEY_CACHE为空,所述方法还包括:

根据所述缓存请求中携带的缓存服务器的IP信息,生成查询命令;

将所述查询命令发送至所述IP信息的缓存服务器;若接收到所述IP信息的缓存服务器的回复信息,则确定所述缓存服务器可用;在所述KEY_CACHE中写入标识所述缓存服务器可用的状态信息。

为了更准确、快速的确定缓存服务器是否可用,如果当前交换区的KEY_CACHE为空,可以根据缓存请求中携带的缓存服务器的IP信息,生成访问该IP信息的缓存服务器的查询命令。例如,该查询命令可以是PING命令和TELNET命令等。其中,PING命令中包含有缓存服务器的IP信息,TELNET命令中包含有缓存服务器的IP信息以及端口信息。具体的,采用哪种查询命令可以根据需求自由设置,本申请对此不作限定。

可以将生成的查询命令发送至该IP信息的缓存服务器。如果接收到该IP信息的缓存服务器的回复信息,则表示该缓存服务器不存在故障,可以确定该缓存服务器可用。并在交换区的KEY_CACHE中写入标识该缓存服务器可用的状态信息。以便后续用到该缓存服务器时,可以根据交换区的KEY_CACHE中保存的标识该缓存服务器可用的状态信息,直接确定该缓存服务器可用,无需多次向缓存服务器发送查询命令,节省了缓存时间。

在一种可能的实施方式中,为了进一步节省缓存时间,可以预设一个等待时长,如果在预设的等待时长内接收到该IP信息的缓存服务器的回复信息,则表示该缓存服务器不存在故障,可以确定该缓存服务器可用,避免因为长时间等待回复信息导致单交易的缓存耗时较长。

在本申请实施例中,可以根据缓存请求中携带的缓存服务器的IP信息,生成查询命令,并将查询命令发送至该IP信息的缓存服务器;如果接收到缓存服务器的回复信息,则确定缓存服务器可用,则可以在KEY_CACHE中写入标识该缓存服务器可用的状态信息,从而能够直接根据KEY_CACHE中写入的标识该缓存服务器可用的状态信息,更快更准确的确定该缓存服务器可用,进一步节省单交易的缓存耗时。

实施例4:

为了更准确的确定缓存服务器是否可用,在上述各实施例的基础上,在本申请实施例中,若没有接收到所述缓存服务器的回复信息,所述方法还包括:

确定所述缓存服务器不可用;

在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在将生成的查询命令发送给缓存服务器之后,如果没有接收到该IP信息的缓存服务器的回复信息,则表示该缓存服务器存在故障,可以确定该缓存服务器不可用。并在交换区的KEY_CACHE中写入标识该缓存服务器不可用的状态信息。以便后续用到该缓存服务器时,可以根据交换区的KEY_CACHE中保存的标识该缓存服务器不可用的状态信息,直接确定该缓存服务器不可用,无需多次向缓存服务器发送查询命令,节省了单交易的缓存耗时。

在一种可能的实施方式中,为了进一步节省单交易的缓存耗时,可以预设一个等待时长,如果在预设的等待时长内没有接收到该IP信息的缓存服务器的回复信息,则表示该缓存服务器存在故障,可以确定该缓存服务器不可用,避免因为长时间等待回复信息导致单交易的缓存耗时较长。

在本申请实施例中,如果没有接收到缓存服务器的回复信息,则确定缓存服务器不可用,则可以在KEY_CACHE中写入标识该缓存服务器不可用的状态信息,从而能够直接根据KEY_CACHE中写入的标识该缓存服务器不可用的状态信息,更快更准确的确定该缓存服务器不可用,进一步节省单交易的缓存耗时。

实施例5:

为了进一步节省单交易的缓存耗时,在上述各实施例的基础上,在本申请实施例中,所述采用所述缓存服务器进行缓存包括:

确定缓存过程中是否出现异常;若是,则显示缓存服务器异常的提示信息;

在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

为了进一步节省单交易的缓存耗时,可以在采用缓存服务器进行缓存的过程中,确定缓存过程中是否出现异常,例如,是否接收到缓存服务器的报错信息。若是,则可以直接显示缓存服务器异常的提示信息。并在KEY_CACHE写入标识该缓存服务器不可用的状态信息。

具体的,由于已经采用该缓存服务器进行缓存,则表示当前KEY_CACHE中保存有标识该缓存服务器可用的状态信息,则可以将KEY_CACHE中标识该缓存服务器可用的状态信息删除,写入标识该缓存服务器不可用的状态信息。

在本申请实施例中,如果确定缓存过程中出现异常,则显示缓存服务器异常的提示信息,并在KEY_CACHE写入标识该缓存服务器不可用的状态信息,以便后续用到该缓存服务器时,可以根据交换区的KEY_CACHE中保存的标识该缓存服务器不可用的状态信息,直接确定该缓存服务器不可用,无需多次向缓存服务器发送查询命令,节省了单交易的缓存耗时。

实施例6:

为了进一步提高单交易的缓存效率,在上述各实施例的基础上,在本申请实施例中,所述方法还包括:

若所述缓存过程中未出现异常,在缓存完成时显示缓存成功的提示信息。

如果缓存过程中没有出现异常,则可以在缓存完成时显示缓存成功的提示信息,以便及时通知用户缓存完成,进一步提高用户的使用感。

实施例7:

为了节省交换区的存储空间,在上述各实施例的基础上,在本申请实施例中,所述方法还包括:

若接收到所述单交易完成的提示信息,删除所述KEY_CACHE中保存的缓存服务器的状态信息。

如果接收到客户端发送的该单交易完成的提示信息,则表示无需再针对该单交易进行缓存,则可以删除当前交换区的KEY_CACHE中保存的缓存服务器的状态信息,从而能够节省交换区的存储空间。

下面以一个具体的例子来对本申请实施例中的缓存全过程进行进一步说明。

图2为本申请的一些实施例提供的另一种单交易的缓存过程的示意图。如图2所示,该过程包括以下步骤:

S201:接收单交易的缓存请求。

S202:判断当前交换区的KEY_CACHE是否为空;若是,则执行S203;若否,则执行S205。

S203:根据所述缓存请求中携带的缓存服务器的IP信息,生成查询命令;将所述查询命令发送至所述IP信息的缓存服务器;若接收到所述IP信息的缓存服务器的回复信息,则执行S204a;若没有接收到所述缓存服务器的回复信息,则执行S204b。

S204a:确定所述缓存服务器可用;在所述KEY_CACHE中写入标识所述缓存服务器可用的状态信息。

S204b:确定所述缓存服务器不可用;在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

S205:查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;若所述状态信息标识所述缓存服务器可用,则执行S206;若所述状态信息标识所述缓存服务器不可用,则执行S207a。

S206:采用所述缓存服务器对所述单交易进行缓存;确定缓存过程中是否出现异常;若是,则在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息,并执行S207a;若所述缓存过程中未出现异常,则执行S207b。

S207a:显示所述缓存服务器异常的提示信息;

S207b:在缓存完成时显示该单交易缓存成功的提示信息。

如果接收到单交易完成的提示信息,可以删除当前交换区的KEY_CACHE中保存的缓存服务器的状态信息。

实施例8:

基于相同的技术构思,在上述各实施例的基础上,在本申请实施例中,还提供了一种缓存装置。图3为本申请的一些实施例提供的一种缓存装置的结构示意图。如图3所示,该装置包括:

接收模块301,用于接收单交易的缓存请求;

缓存模块302,用于查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;若所述状态信息标识所述缓存服务器可用,则采用所述缓存服务器对所述单交易进行缓存;若所述状态信息标识所述缓存服务器不可用,则显示所述缓存服务器异常的提示信息。

在一种可能的实施方式中,所述缓存模块302,还用于判断当前交换区的KEY_CACHE是否为空;若否,则进行后续的查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息的步骤。

在一种可能的实施方式中,所述缓存模块302,还用于若所述KEY_CACHE为空,根据所述缓存请求中携带的缓存服务器的IP信息,生成查询命令;将所述查询命令发送至所述IP信息的缓存服务器;若接收到所述IP信息的缓存服务器的回复信息,则确定所述缓存服务器可用;在所述KEY_CACHE中写入标识所述缓存服务器可用的状态信息。

在一种可能的实施方式中,所述缓存模块302,还用于若没有接收到所述缓存服务器的回复信息,确定所述缓存服务器不可用;在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述缓存模块302,具体用于确定缓存过程中是否出现异常;若是,则显示缓存服务器异常的提示信息;在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述缓存模块302,还用于若所述缓存过程中未出现异常,在缓存完成时显示缓存成功的提示信息。

在一种可能的实施方式中,所述缓存模块302,还用于若接收到所述单交易完成的提示信息,删除所述KEY_CACHE中保存的缓存服务器的状态信息。

本申请实施例的装置,其中各个模块执行操作的具体方式已经在有关该缓存方法的实施例中进行了详细描述,此处将不做详细阐述说明。

在本申请实施例中,接收客户端发送的单交易的缓存请求,并查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;根据状态信息判断缓存服务器是否可用;若是,则采用缓存服务器对该单交易进行缓存;若否,则显示该缓存服务器异常的提示信息,即本申请实施例提供了一种缓存故障隔离的机制,当缓存服务器发生故障时,可探测到故障,并在接下来的单交易中避免访问缓存服务器,解决了当缓存服务器不可用时,应用服务器会重复对缓存服务器发送命令,增加单交易耗时的问题。

实施例9:

基于相同的技术构思,在上述各实施例的基础上,在本申请实施例中,还提供了一种电子设备,图4为本申请的一些实施例提供的一种电子设备的结构示意图。如图4所示,电子设备包括:处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信;

所述存储器403中存储有计算机程序,当所述程序被所述处理器401执行时,使得所述处理器401执行如下步骤:

接收单交易的缓存请求;

查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;

若所述状态信息标识所述缓存服务器可用,则采用所述缓存服务器对所述单交易进行缓存;若所述状态信息标识所述缓存服务器不可用,则显示所述缓存服务器异常的提示信息。

在一种可能的实施方式中,所述处理器401,还用于:

判断当前交换区的KEY_CACHE是否为空;

若否,则进行后续的查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息的步骤。

在一种可能的实施方式中,所述处理器401,还用于:

若所述KEY_CACHE为空,根据所述缓存请求中携带的缓存服务器的IP信息,生成查询命令;

将所述查询命令发送至所述IP信息的缓存服务器;若接收到所述IP信息的缓存服务器的回复信息,则确定所述缓存服务器可用;在所述KEY_CACHE中写入标识所述缓存服务器可用的状态信息。

在一种可能的实施方式中,所述处理器401,还用于:

若没有接收到所述缓存服务器的回复信息,确定所述缓存服务器不可用;

在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述处理器401,还用于:

确定缓存过程中是否出现异常;若是,则显示缓存服务器异常的提示信息;

在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述处理器401,还用于:

若所述缓存过程中未出现异常,在缓存完成时显示缓存成功的提示信息。

在一种可能的实施方式中,所述处理器401,还用于:

若接收到所述单交易完成的提示信息,删除所述KEY_CACHE中保存的缓存服务器的状态信息。

由于上述电子设备解决问题的原理与缓存方法相似,因此上述电子设备的实施可以参见缓存方法的实施,重复之处不再赘述。

上述电子设备提到的通信总线可以是外设部件互连标准(PeripheralComponentInterconnect,PCI)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口402用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

在本申请实施例中,接收客户端发送的单交易的缓存请求,并查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;根据状态信息判断缓存服务器是否可用;若是,则采用缓存服务器对该单交易进行缓存;若否,则显示该缓存服务器异常的提示信息,即本申请实施例提供了一种缓存故障隔离的机制,当缓存服务器发生故障时,可探测到故障,并在接下来的单交易中避免访问缓存服务器,解决了当缓存服务器不可用时,应用服务器会重复对缓存服务器发送命令,增加单交易耗时的问题。

实施例10:

基于相同的技术构思,在上述各实施例的基础上,在本申请实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:

接收单交易的缓存请求;

查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;

若所述状态信息标识所述缓存服务器可用,则采用所述缓存服务器对所述单交易进行缓存;若所述状态信息标识所述缓存服务器不可用,则显示所述缓存服务器异常的提示信息。

在一种可能的实施方式中,所述接收单交易的缓存请求之后,所述查询当前交换区的KEY_CACHE中保存的缓存服务器的状态之前,所述方法还包括:

判断当前交换区的KEY_CACHE是否为空;

若否,则进行后续的查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息的步骤。

在一种可能的实施方式中,若所述KEY_CACHE为空,所述方法还包括:

根据所述缓存请求中携带的缓存服务器的IP信息,生成查询命令;

将所述查询命令发送至所述IP信息的缓存服务器;若接收到所述IP信息的缓存服务器的回复信息,则确定所述缓存服务器可用;在所述KEY_CACHE中写入标识所述缓存服务器可用的状态信息。

在一种可能的实施方式中,若没有接收到所述缓存服务器的回复信息,所述方法还包括:

确定所述缓存服务器不可用;

在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述采用所述缓存服务器进行缓存包括:

确定缓存过程中是否出现异常;若是,则显示缓存服务器异常的提示信息;

在所述KEY_CACHE写入标识所述缓存服务器不可用的状态信息。

在一种可能的实施方式中,所述方法还包括:

若所述缓存过程中未出现异常,在缓存完成时显示缓存成功的提示信息。

在一种可能的实施方式中,所述方法还包括:

若接收到所述单交易完成的提示信息,删除所述KEY_CACHE中保存的缓存服务器的状态信息。

上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。

在本申请实施例中,接收客户端发送的单交易的缓存请求,并查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;根据状态信息判断缓存服务器是否可用;若是,则采用缓存服务器对该单交易进行缓存;若否,则显示该缓存服务器异常的提示信息,即本申请实施例提供了一种缓存故障隔离的机制,当缓存服务器发生故障时,可探测到故障,并在接下来的单交易中避免访问缓存服务器,解决了当缓存服务器不可用时,应用服务器会重复对缓存服务器发送命令,增加单交易耗时的问题。

基于相同的技术构思,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行时实现上述应用于电子设备的任一缓存方法实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。

在本申请实施例中,接收客户端发送的单交易的缓存请求,并查询当前交换区的KEY_CACHE中保存的缓存服务器的状态信息;根据状态信息判断缓存服务器是否可用;若是,则采用缓存服务器对该单交易进行缓存;若否,则显示该缓存服务器异常的提示信息,即本申请实施例提供了一种缓存故障隔离的机制,当缓存服务器发生故障时,可探测到故障,并在接下来的单交易中避免访问缓存服务器,解决了当缓存服务器不可用时,应用服务器会重复对缓存服务器发送命令,增加单交易耗时的问题。

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

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

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

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

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

技术分类

06120116581640