CN115550424B - 一种数据缓存方法、装置、设备及存储介质 - Google Patents
一种数据缓存方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115550424B CN115550424B CN202211534520.1A CN202211534520A CN115550424B CN 115550424 B CN115550424 B CN 115550424B CN 202211534520 A CN202211534520 A CN 202211534520A CN 115550424 B CN115550424 B CN 115550424B
- Authority
- CN
- China
- Prior art keywords
- cache
- target
- service middleware
- configuration information
- connection channel
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请涉及数据存储技术领域,公开了一种数据缓存方法、装置、设备及存储介质,应用于缓存服务中间件,包括:获取目标应用发送的携带有目标缓存的属性参数的调用请求;根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。可见,本申请在应用和缓存之间设置缓存服务中间件,通过缓存服务中间件将应用的调用请求转发至缓存,无需应用与缓存直连,避免使用不当导致缓存不可用等问题,满足复杂业务场景多个缓存使用需求,同时能够规避因为配置连接数等设置不合理等可能造成的资源浪费。
Description
技术领域
本发明涉及数据存储技术领域,特别涉及一种数据缓存方法、装置、设备及存储介质。
背景技术
在现有公司业务中存在大量使用缓存的情况,且存在多种技术栈使用缓存,如SpringCloud、SpringBoot、Dubbo、Go等,每个服务都直连缓存数据库。一方面调用协议不同使得缓存管理工作繁琐复杂,另一方面由于使用上不规范导致安全性得不到保证。且在缓存服务不可用的情况下引发线上一系列问题,例如需要重新启动服务等问题,这会严重影响用户体验感。
因此,上述技术问题亟待本领域技术人员解决。
发明内容
有鉴于此,本发明的目的在于提供一种数据缓存方法、装置、设备及存储介质,应用于缓存服务中间件,能够满足复杂业务场景的缓存需求。其具体方案如下:
本申请的第一方面提供了一种数据缓存方法,应用于缓存服务中间件,包括:
获取目标应用发送的携带有目标缓存的属性参数的调用请求;
根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;
获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。
可选的,所述调用请求中携带有所述目标缓存的集群名称和集群类型。
可选的,所述根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求之前,还包括:
判断所述缓存服务中间件与所述目标缓存之间是否已经建立了所述连接通道,如果否,则从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道。
可选的,所述判断所述缓存服务中间件与所述目标缓存之间是否已经建立了所述连接通道,包括:
判断所述缓存服务中间件的自身缓存中是否存在连接实例,如果是,则判定建立了所述连接通道,如果否,则判定未建立所述连接通道;
相应的,所述从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道,包括:
从所述配置中心读取所述目标缓存的目标账号和目标密码;
利用所述目标账号和所述目标密码在所述缓存服务中间件和所述目标缓存之间执行连接实例化操作,以建立所述连接通道。
可选的,所述从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道之后,还包括:
当所述配置中心的所述目标配置信息被更新,则所述配置中心将更新后的所述目标配置信息同步至所述缓存服务中间件,以便所述缓存服务中间件利用更新后的所述目标配置信息对所述连接通道对应的所述连接实例进行更新。
可选的,所述从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道之后,还包括:
对所述连接通道进行实时监测,如果监测到所述连接通道存在异常,则断开所述连接通道,并对所述连接通道对应的所述连接实例执行重新连接的实例化操作。
可选的,所述断开所述连接通道,并对所述连接通道对应的所述连接实例执行重新连接的实例化操作,包括:
判断所述连接通道的异常次数是否超过限制阈值,如果是,则将所述连接通道的状态切换为不可用,并将不可用信息通过预设告警方式发送至相关用户,以便相关用户触发执行重新连接的实例化操作。
可选的,所述将不可用信息通过预设告警方式发送至相关用户,以便相关用户触发执行重新连接的实例化操作,包括:
将不可用信息显示在相关用户的人机交互界面;
获取所述人机交互界面返回的用户确认语句,并根据所述用户确认语句对所述连接通道对应的所述连接实例执行重新连接实例化操作。
可选的,所述获取目标应用发送的携带有目标缓存的属性参数的调用请求之前,还包括:
从存储有所述缓存服务中间件的配置信息的配置中心读取启动配置信息以根据所述启动配置信息启动所述缓存服务中间件,并在所述缓存服务中间件的注册中心对所述缓存服务中间件进行注册。
可选的,所述缓存服务中间件以集群的形式进行部署。
本申请的第二方面提供了一种数据缓存装置,应用于缓存服务中间件,包括:
请求获取模块,用于获取目标应用发送的携带有目标缓存的属性参数的调用请求;
请求转发模块,用于根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;
响应模块,用于获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述数据缓存方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述数据缓存方法。
本申请中,缓存服务中间件先获取目标应用发送的携带有目标缓存的属性参数的调用请求;然后根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;最后获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。可见,本申请在应用和缓存之间设置缓存服务中间件,通过缓存服务中间件将应用的调用请求转发至缓存,无需应用与缓存直连,避免使用不当导致缓存不可用等问题,在非直连的情况下支持多数据源连接,满足复杂业务场景多个缓存使用需求,同时能够规避因为配置连接数等设置不合理等可能造成的资源浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种数据缓存方法流程图;
图2为本申请提供的一种具体的数据缓存架构图;
图3为本申请提供的一种具体的数据缓存方法流程图;
图4为本申请提供的一种具体的数据缓存方法流程图;
图5为本申请提供的一种数据缓存装置结构示意图;
图6为本申请提供的一种数据缓存电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有公司业务中存在大量使用缓存的情况,且存在多种技术栈使用缓存,如SpringCloud、SpringBoot、Dubbo、Go等,每个服务都直连缓存数据库。一方面调用协议不同使得缓存管理工作繁琐复杂,另一方面由于使用上不规范导致安全性得不到保证。且在缓存服务不可用的情况下引发线上一些列问题,例如需要重新启动服务等问题,这会严重影响用户体验感。针对上述技术缺陷,本身请提供一种数据缓存方案,在应用和缓存之间设置缓存服务中间件,通过缓存服务中间件将应用的调用请求转发至缓存,无需应用与缓存直连,避免使用不当导致缓存不可用等问题,在非直连的情况下支持多数据源连接,满足复杂业务场景多个缓存使用需求,同时能够规避因为配置连接数等设置不合理等可能造成的资源浪费。
图1为本申请实施例提供的一种数据缓存方法流程图。参见图1所示,该数据缓存方法应用于缓存服务中间件,包括:
S11:获取目标应用发送的携带有目标缓存的属性参数的调用请求。
本实施例中,所述缓存服务中间件是一种集中管理、统一配置的中间件,其属于缓存微服务设计范畴。通过将缓存封装成一个中间件服务提供给使用者调用,提供SDK给使用方,支持远程过程调用RPC协议(Remote Procedure Call)、超文本传输HTTP协议(HyperText Transfer Protocol)等调用,满足各场景使用。只需提供对应版本的SDK给服务方集成调用API即可,在技术栈丰富的情况下(如有SpringCloud、Dubbo服务存在),为了兼容性,可以提供两种协议版本SDK,API与对应原生API无异,无使用学习成本,可以快速集成使用。将服务调用方法进行封装使得服务调用更安全、自适应扩容、有效监控、调用方不会因为缓存出问题导致服务不可用,增强了系统稳定性,例如,SDK中的API过滤非安全指令操作,避免误操作或者使用不当引发安全事故。
进一步的,所述缓存服务中间件可以为多个,也即所述缓存服务中间件可以集群的形式进行部署。实现了集群部署,节约了资源,部署消费者服务无感知,平滑迁移。例如,可以采用分布式集群的设置方式来增强系统稳定性,实现服务压力过大的情况下实现自动水平扩展。
本实施例中,应用会生成调用请求,所述缓存服务中间件先获取目标应用发送的携带有目标缓存的属性参数的调用请求。其中,所述调用请求中携带有所述目标缓存的集群名称和集群类型,所述目标缓存为所述目标应用想要调用的缓存,缓存以集群形式存在,缓存有多种类型,本实施例为Redis缓存。所述目标应用对应的所述调用请求即携带目标Redis集群名称和目标Redis集群类型的请求参数。若所述缓存服务中间件接收到来自某一应用的所述调用请求,则根据请求参数确定目标Redis集群。可以理解,Redis类型/Redis部署方式可以为单机模式、主从模式、哨兵模式及Cluster(集群)模式。
本实施例中,在执行步骤S11之前,还需要从存储有所述缓存服务中间件的配置信息的配置中心读取启动配置信息以根据所述启动配置信息启动所述缓存服务中间件,并在注册中心对所述缓存服务中间件进行注册。也就是启动服务时,所述缓存服务中间件会先从配置中心拉取配置,同时向注册中心注册服务。所述配置中心和所述注册中心是为所述缓存服务中间件而单独设计的,当所述缓存服务中间件以集群的形式进行部署时,不管是单集群还是多集群,所述配置中心和所述注册中心均是共享的,整体架构如图2所示,图2中仅设置一个所述配置中心和一个所述注册中心。
S12:根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应。
本实施例中,所述缓存服务中间件获取到所述调用请求之后,会根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应。所述缓存服务中间件与所述目标缓存之间存在连接通道,所述缓存服务中间件会将所述调用请求经由所述连接通道转发至所述目标缓存。可以理解的是,所述连接通道可以理解为所述缓存服务中间件与所述目标缓存之间的连接实例。
S13:获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。
本实施例中,所述目标缓存对所述调用请求进行响应时会生成相应的响应信息,所述目标缓存会将所述响应信息先发送至所述缓存服务中间件,所述缓存服务中间件获取所述目标缓存的响应信息,然后将所述响应信息发送至所述目标应用。以Redis集群为例,也即所述缓存服务中间件通过所述连接通道与目标Redis集群连接,再发送所述服务调用请求至目标Redis集群,这样也就相当于所述目标应用于目标Redis集群之间建立了连接。
可见,本申请实施例中的缓存服务中间件先获取目标应用发送的携带有目标缓存的属性参数的调用请求;然后根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;最后获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。本申请实施例在应用和缓存之间设置缓存服务中间件,通过缓存服务中间件将应用的调用请求转发至缓存,无需应用与缓存直连,避免使用不当导致缓存不可用等问题,在非直连的情况下支持多数据源连接,满足复杂业务场景多个缓存使用需求,同时能够规避因为配置连接数等设置不合理等可能造成的资源浪费。
图3为本申请实施例提供的一种具体的数据缓存方法流程图。参见图3所示,该数据缓存方法应用于缓存服务中间件,包括:
S21:获取目标应用发送的携带有目标缓存的属性参数的调用请求。
本实施例中,关于上述步骤S21的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
S22:判断所述缓存服务中间件与所述目标缓存之间是否已经建立了连接通道,如果否,则从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道。
本实施例中,所述缓存服务中间件与所述目标缓存之间可能已经建立连接关系但也可能未连通,因此在进行请求转发之前,还需要判断所述连接通道是否建立,即判断所述缓存服务中间件与所述目标缓存之间是否已经建立了连接通道,如果否,则从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道。所述配置中心的设置实现了缓存随时上下线,例如,对于新部署Redis服务,在所述配置中心添加配置即可,随加随用,支持修改配置实时生效无需重新启动服务;服务剔除时,可手动下线、降级,无需重启服务。
如前文所述,所述连接通道可以理解为所述缓存服务中间件与所述目标缓存之间的连接实例。因此,判断是否建立所述连接通道的过程即为判断所述缓存服务中间件的自身缓存中是否存在连接实例的过程,如果不存在相应的连接实例,则判定未建立连接通道。在此基础上,进一步从所述配置中心读取所述目标缓存的目标账号和目标密码,并利用所述目标账号和所述目标密码在所述缓存服务中间件和所述目标缓存之间执行连接实例化操作,以建立所述连接通道。所述配置中心的设置实现了资源的统一管理,避免资源浪费,同时保障了账号配置安全性,如隐蔽账号、密码统一管理、统一采用“缓存名称+ 部署方式”的调用方式。也即本实施例能够统一管理账号、密码、连接数等,将所有redis集群的账号、密码、连接数等信息统一在中间件服务对应的配置中心进行存储,维护一份即可。
具体地,在调用方发起请求时,所述缓存服务中间件通过所述调用请求中携带的请求参数缓存名称与请求参数部署方式(缓存类型)在缓存中获取对应的连接实例,如果不存在该连接实例,则通过去配置中心获取账号和密码等配置后进行实例化并缓存连接实例。读取到连接实例后进行对应的数据传输和响应过程。以Redis集群为例,即先判断所述缓存服务中间件是否与目标Redis集群连接,若该缓存服务中间件已与目标Redis连接,则获取连接实例并发送服务调用请求至目标Redis,否则,先从在配置中心读取目标Redis集群的配置信息进行实例化(相当于创建了一个连接,实例化后就是通过这个连接通道去执行命令),实现该缓存服务中间件与目标Redis集群连接,再发送服务调用请求至目标Redis集群。
S23:根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应。
S24:获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。
本实施例中,关于上述步骤S23和步骤S24的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
S25:当所述配置中心的所述目标配置信息被更新,则所述配置中心将更新后的所述目标配置信息同步至所述缓存服务中间件,以便所述缓存服务中间件利用更新后的所述目标配置信息对所述连接通道对应的连接实例进行更新。
本实施例中,当所述配置中心的所述目标配置信息被更新,则所述配置中心将更新后的所述目标配置信息同步至所述缓存服务中间件,以便所述缓存服务中间件利用更新后的所述目标配置信息对所述连接通道对应的连接实例进行更新。上述过程为动态实例化的过程,可以实时读取所述配置中心的所述目标配置信息,支持强制更新实例化,配置信息发生变更随时强制重新实例化。
S26:对所述连接通道进行实时监测,如果监测到所述连接通道存在异常,则断开所述连接通道,并对所述连接通道对应的连接实例执行重新连接的实例化操作。
本实施例中,除了支持强制更新实例化,还支持异常重新实例化,根据异常信息自动剔除坏连接重新实例化。具体的,对所述连接通道进行实时监测,如果监测到所述连接通道存在异常,则断开所述连接通道,并对所述连接通道对应的连接实例执行重新连接的实例化操作。具体包括如下步骤(图4):
S261:如果监测到所述连接通道存在异常,则判断所述连接通道的异常次数是否超过限制阈值。
S262:如果是,则将所述连接通道的状态切换为不可用,并将不可用信息通过预设告警方式发送至相关用户,以便相关用户触发执行重新连接的实例化操作。
S263:将不可用信息显示在相关用户的人机交互界面。
S264:获取所述人机交互界面返回的用户确认语句,并根据所述用户确认语句对所述连接通道对应的所述连接实例执行重新连接实例化操作。
本实施例中,如果监测到所述连接通道存在异常,则判断所述连接通道的异常次数是否超过限制阈值。如果是,则将所述连接通道的状态切换为不可用,并将不可用信息通过预设告警方式发送至相关用户,以便相关用户触发执行重新连接的实例化操作。具体可以将不可用信息显示在相关用户的人机交互界面。然后获取所述人机交互界面返回的用户确认语句,并根据所述用户确认语句对所述连接通道对应的所述连接实例执行重新连接实例化操作。上述过程支持连接异常告警、网络异常自动重连、服务降级等。一方面支持异常连接实例超过限制次数降级,需人工确认重新实例化;另一方面支持异常信息告警并交互处理,如支持企业微信的告警方式。
除此之外,本实施例还提供监控管理页面,近实时统计连接、使用情况(例如使用率、连接数、慢查询等实时监控及报警,随时随地了解实例动态),基于监控管理页面的可视化呈现结果可以进行水平扩容,自动新增节点,避免高并发导致服务不可用。
综上,本实施例的所述缓存服务中间件支持动态实例化、多数据源连接、异常告警、配置安全、避免资源浪费、无需重启业务服务、服务调用更安全,自适应扩容、有效监控等优点,调用方不会因为Redis挂了,导致服务不可用,增强了系统稳定性。目前大部分业务系统都采用了此集成方案,已实现多平台的大规模使用。服务表现达到 QPS 峰值10W+,实例化连接10+(Redis集群个数)。
参见图5所示,本申请实施例还相应公开了一种数据缓存装置,应用于缓存服务中间件,包括:
请求获取模块11,用于获取目标应用发送的携带有目标缓存的属性参数的调用请求;
请求转发模块12,用于根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;
响应模块13,用于获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。
可见,本申请实施例中的缓存服务中间件先获取目标应用发送的携带有目标缓存的属性参数的调用请求;然后根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;最后获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用。本申请实施例在应用和缓存之间设置缓存服务中间件,通过缓存服务中间件将应用的调用请求转发至缓存,无需应用与缓存直连,避免使用不当导致缓存不可用等问题,在非直连的情况下支持多数据源连接,满足复杂业务场景多个缓存使用需求,同时能够规避因为配置连接数等设置不合理等可能造成的资源浪费。
在一些具体实施例中,所述数据缓存装置还包括:
判断模块,用于判断所述缓存服务中间件与所述目标缓存之间是否已经建立了所述连接通道;
通道建立模块,用于如果否,则从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道。
在一些具体实施例中,所述判断模块,具体用于判断所述缓存服务中间件的自身缓存中是否存在连接实例,如果是,则判定建立了所述连接通道,如果否,则判定未建立所述连接通道;
启动及注册模块,用于从存储有所述缓存服务中间件的配置信息的配置中心读取启动配置信息以根据所述启动配置信息启动所述缓存服务中间件,并在所述缓存服务中间件的注册中心对所述缓存服务中间件进行注册。
在一些具体实施例中,所述通道建立模块,具体包括:
读取单元,用于从所述配置中心读取所述目标缓存的目标账号和目标密码;
实例化单元,用于利用所述目标账号和所述目标密码在所述缓存服务中间件和所述目标缓存之间执行连接实例化操作,以建立所述连接通道。
在一些具体实施例中,所述数据缓存装置还包括:
实例更新模块,用于当所述配置中心的所述目标配置信息被更新,则所述配置中心将更新后的所述目标配置信息同步至所述缓存服务中间件,以便所述缓存服务中间件利用更新后的所述目标配置信息对所述连接通道对应的所述连接实例进行更新;
异常监测模块,用于对所述连接通道进行实时监测,如果监测到所述连接通道存在异常,则断开所述连接通道,并对所述连接通道对应的所述连接实例执行重新连接的实例化操作。
在一些具体实施例中,所述异常监测模块,具体包括:
阈值判断单元,用于判断所述连接通道的异常次数是否超过限制阈值;
状态切换单元,用于如果是,则将所述连接通道的状态切换为不可用;
告警单元,用于将不可用信息通过预设告警方式发送至相关用户,以便相关用户触发执行重新连接的实例化操作。
在一些具体实施例中,所述告警单元具体用于将不可用信息显示在相关用户的人机交互界面;获取所述人机交互界面返回的用户确认语句,并根据所述用户确认语句对所述连接通道对应的所述连接实例执行重新连接实例化操作。
进一步的,本申请实施例还提供了一种电子设备。图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的数据缓存方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据缓存方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的调用请求。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的数据缓存方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的数据缓存方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种数据缓存方法,其特征在于,应用于缓存服务中间件,所述缓存服务中间件为集中管理、统一配置的中间件,包括:
获取目标应用发送的携带有目标缓存的属性参数的调用请求;
判断所述缓存服务中间件与所述目标缓存之间是否已经建立了连接通道,如果否,则从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道;
根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;
获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用;
所述从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道,包括:
从所述配置中心读取所述目标缓存的目标账号和目标密码;
利用所述目标账号和所述目标密码在所述缓存服务中间件和所述目标缓存之间执行连接实例化操作,以建立所述连接通道。
2.根据权利要求1所述的数据缓存方法,其特征在于,所述判断所述缓存服务中间件与所述目标缓存之间是否已经建立了所述连接通道,包括:
判断所述缓存服务中间件的自身缓存中是否存在连接实例,如果是,则判定建立了所述连接通道,如果否,则判定未建立所述连接通道。
3.根据权利要求2所述的数据缓存方法,其特征在于,所述从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道之后,还包括:
当所述配置中心的所述目标配置信息被更新,则所述配置中心将更新后的所述目标配置信息同步至所述缓存服务中间件,以便所述缓存服务中间件利用更新后的所述目标配置信息对所述连接通道对应的所述连接实例进行更新。
4.根据权利要求2所述的数据缓存方法,其特征在于,所述从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道之后,还包括:
对所述连接通道进行实时监测,如果监测到所述连接通道存在异常,则断开所述连接通道,并对所述连接通道对应的所述连接实例执行重新连接的实例化操作。
5.根据权利要求4所述的数据缓存方法,其特征在于,所述断开所述连接通道,并对所述连接通道对应的所述连接实例执行重新连接的实例化操作,包括:
判断所述连接通道的异常次数是否超过限制阈值,如果是,则将所述连接通道的状态切换为不可用,并将不可用信息通过预设告警方式发送至相关用户,以便相关用户触发执行重新连接的实例化操作。
6.根据权利要求5所述的数据缓存方法,其特征在于,所述将不可用信息通过预设告警方式发送至相关用户,以便相关用户触发执行重新连接的实例化操作,包括:
将不可用信息显示在相关用户的人机交互界面;
获取所述人机交互界面返回的用户确认语句,并根据所述用户确认语句对所述连接通道对应的所述连接实例执行重新连接实例化操作。
7.根据权利要求1所述的数据缓存方法,其特征在于,所述获取目标应用发送的携带有目标缓存的属性参数的调用请求之前,还包括:
从存储有所述缓存服务中间件的配置信息的配置中心读取启动配置信息以根据所述启动配置信息启动所述缓存服务中间件,并在注册中心对所述缓存服务中间件进行注册。
8.根据权利要求1至7任一项所述的数据缓存方法,其特征在于,所述缓存服务中间件以集群的形式进行部署。
9.一种数据缓存装置,其特征在于,应用于缓存服务中间件,所述缓存服务中间件为集中管理、统一配置的中间件,包括:
请求获取模块,用于获取目标应用发送的携带有目标缓存的属性参数的调用请求;
请求转发模块,用于根据所述调用请求通过所述缓存服务中间件与所述目标缓存之间的连接通道向所述目标缓存发送所述调用请求,以便所述目标缓存对所述调用请求进行响应;
响应模块,用于获取所述目标缓存的响应信息并将所述响应信息发送至所述目标应用;
所述数据缓存装置,还用于:
判断所述缓存服务中间件与所述目标缓存之间是否已经建立了连接通道,如果否,则从存储有所述缓存服务中间件的配置信息的配置中心读取所述缓存服务中间件的目标配置信息并利用所述目标配置信息建立所述连接通道;
从所述配置中心读取所述目标缓存的目标账号和目标密码;
利用所述目标账号和所述目标密码在所述缓存服务中间件和所述目标缓存之间执行连接实例化操作,以建立所述连接通道。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至8任一项所述的数据缓存方法。
11.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至8任一项所述的数据缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211534520.1A CN115550424B (zh) | 2022-12-02 | 2022-12-02 | 一种数据缓存方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211534520.1A CN115550424B (zh) | 2022-12-02 | 2022-12-02 | 一种数据缓存方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115550424A CN115550424A (zh) | 2022-12-30 |
CN115550424B true CN115550424B (zh) | 2023-03-14 |
Family
ID=84722198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211534520.1A Active CN115550424B (zh) | 2022-12-02 | 2022-12-02 | 一种数据缓存方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115550424B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933407A (zh) * | 2016-04-20 | 2016-09-07 | 中国银联股份有限公司 | 一种实现Redis集群高可用的方法及系统 |
CN113343088A (zh) * | 2021-06-09 | 2021-09-03 | 北京奇艺世纪科技有限公司 | 数据处理方法、系统、装置、设备及存储介质 |
CN113515530A (zh) * | 2021-03-30 | 2021-10-19 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
CN114629883A (zh) * | 2022-03-01 | 2022-06-14 | 北京奇艺世纪科技有限公司 | 服务请求的处理方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070192324A1 (en) * | 2006-01-31 | 2007-08-16 | Opera Software Asa | Method and device for advanced cache management in a user agent |
CN109271139A (zh) * | 2018-09-11 | 2019-01-25 | 北京北信源软件股份有限公司 | 一种基于缓存中间件的规范化处理方法及装置 |
CN113032431B (zh) * | 2021-04-23 | 2022-02-18 | 焦点科技股份有限公司 | 一种基于数据库中间件集群的高可用客户端负载均衡方法 |
CN114553960A (zh) * | 2022-04-22 | 2022-05-27 | 四川万网鑫成信息科技有限公司 | 一种数据缓存方法、装置、设备及存储介质 |
-
2022
- 2022-12-02 CN CN202211534520.1A patent/CN115550424B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933407A (zh) * | 2016-04-20 | 2016-09-07 | 中国银联股份有限公司 | 一种实现Redis集群高可用的方法及系统 |
CN113515530A (zh) * | 2021-03-30 | 2021-10-19 | 贵州白山云科技股份有限公司 | 一种缓存对象更新方法、装置、设备及存储介质 |
CN113343088A (zh) * | 2021-06-09 | 2021-09-03 | 北京奇艺世纪科技有限公司 | 数据处理方法、系统、装置、设备及存储介质 |
CN114629883A (zh) * | 2022-03-01 | 2022-06-14 | 北京奇艺世纪科技有限公司 | 服务请求的处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115550424A (zh) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7076691B1 (en) | Robust indication processing failure mode handling | |
CN113742031B (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
CN111045745A (zh) | 管理配置信息的方法和系统 | |
CN112003728B (zh) | 一种基于Kubernetes集群的应用主备实现方法及装置 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN110445697B (zh) | 视频大数据云平台设备接入服务方法 | |
CN116996369B (zh) | 容器化管理服务器及其主备管理方法、装置和存储介质 | |
CN110109772A (zh) | 一种cpu的重启方法、通信设备及可读存储介质 | |
CN113946408A (zh) | 云原生边缘容器控制方法、系统及存储介质 | |
CN113766004A (zh) | 一种基于多云平台的灾备系统、方法及存储介质 | |
CN115550424B (zh) | 一种数据缓存方法、装置、设备及存储介质 | |
CN117041284A (zh) | 一种基于接口云的外部接口管理方法、系统、设备及介质 | |
CN114860782B (zh) | 数据查询方法、装置、设备及介质 | |
CN115629909A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN116155978A (zh) | 多注册中心适配方法、装置、电子设备及存储介质 | |
CN114598711B (zh) | 一种数据迁移方法、装置、设备及介质 | |
CN115543793A (zh) | 一种目标服务器的系统部署方法、装置和运维中台 | |
US11579896B2 (en) | Autonomously re-initializing applications based on detecting periodic changes in device state | |
CN109327529B (zh) | 分布式扫描方法及系统 | |
CN113297516A (zh) | 客户交互界面生成方法、装置和电子设备 | |
CN110768855B (zh) | 链路化性能测试的方法和装置 | |
CN112787868A (zh) | 一种信息同步的方法和装置 | |
CN112714035A (zh) | 监控方法及系统 | |
CN115277375B (zh) | 一种主备服务器的切换方法、系统、设备及存储介质 | |
CN112532524B (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 |