CN109617943B - 数据缓存方法、装置及存储介质、计算机设备 - Google Patents

数据缓存方法、装置及存储介质、计算机设备 Download PDF

Info

Publication number
CN109617943B
CN109617943B CN201811231447.4A CN201811231447A CN109617943B CN 109617943 B CN109617943 B CN 109617943B CN 201811231447 A CN201811231447 A CN 201811231447A CN 109617943 B CN109617943 B CN 109617943B
Authority
CN
China
Prior art keywords
cache
component
data
caching
distributed system
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
Application number
CN201811231447.4A
Other languages
English (en)
Other versions
CN109617943A (zh
Inventor
左德军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811231447.4A priority Critical patent/CN109617943B/zh
Publication of CN109617943A publication Critical patent/CN109617943A/zh
Application granted granted Critical
Publication of CN109617943B publication Critical patent/CN109617943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种数据缓存方法、装置及存储介质、计算机设备,所述方法包括:获取分布式系统中每个层级组件的特性;根据所述组件的特性获取所述每个层级组件中,能够用于缓存系统数据的缓存组件;根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据。上述方法可避免数据缓存集中在某一层而有可能面临系统整体缓存数据失效的问题。

Description

数据缓存方法、装置及存储介质、计算机设备
技术领域
本发明涉及数据处理技术领域,具体而言,本发明涉及一种数据缓存方法、装置及存储介质、计算机设备。
背景技术
分布式系统,简而言之表述为一组独立的计算机整体完成用户的需求,此时该计算机组呈现给用户的是一个统一的整体,类似一个系统。分布式系统拥有多种通用的物理和逻辑资源,可动态分配任务。分散的物理和逻辑资源通过计算机网络实现信息交换。分布式实质上是将一个系统的各个组件(如MySQL、PHP、Apache)分布在同一个网络的各个主机上,并且各组件之间仅通过网络消息传递以通信并协调工作。
目前在分布式系统中,缓存的数据信息主要集中在某一个层,如应用层、数据库层等。并且,缓存数据内容单一,存在位置集中。这些因素导致目前的分布式系统的数据缓存面临缓存失效风暴、命中率低、缓存效果有限等问题。
发明内容
本发明提出一种数据缓存方法、装置及存储介质、计算机设备,以将系统数据进行分级缓存,避免数据缓存集中在某一层而有可能面临系统整体缓存数据失效的问题。
本发明提供以下方案:
一种基于分布式系统的数据缓存方法,包括:获取分布式系统中每个层级组件的特性;根据所述组件的特性获取所述每个层级组件中,能够用于缓存系统数据的缓存组件;根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据。
在其中一个实施例中,所述根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据,包括:获取每个所述缓存组件在请求优先级中的级别;控制所述缓存组件按照所述级别从高到低的顺序,并根据缓存组件的缓存属性分别缓存所述分布式系统中相应的系统数据。
在其中一个实施例中,所述控制所述缓存组件按照所述级别从高到低的顺序,并根据缓存组件的缓存属性分别缓存所述分布式系统中相应的系统数据,包括:确认当前缓存组件中所述请求对应的缓存数据已失效;获取相比所述当前缓存组件、级别在后的缓存组件中与所述请求对应的缓存数据,并将该缓存数据缓存进所述当前缓存组件。
在其中一个实施例中,所述确认当前缓存组件中所述请求对应的缓存数据已失效,包括:确认所述请求访问所述当前缓存组件;判断所述请求是否读取到该当前缓存组件中缓存的系统数据;若否,则确认所述当前缓存组件中所述请求对应的缓存数据已失效。
在其中一个实施例中,所述获获取相比所述当前缓存组件、级别在后的缓存组件中与所述请求对应的缓存数据,并将该缓存数据缓存进所述当前缓存组件,包括:确认所述请求访问所述级别在后的缓存组件;获取该级别在后的缓存组件中缓存的系统数据,并控制该系统数据通过所述当前缓存组件反馈给所述请求的发起方;确认该系统数据通过所述当前缓存组件时,将该系统数据缓存进所述当前缓存组件。
在其中一个实施例中,所述缓存组件包括接入网关;所述根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据,包括:获取所述接入网关的缓存区的缓存属性;根据所述接入网关的缓存区的缓存属性缓存所述分布式系统中响应体数据、静态资源数据或动态数据。
在其中一个实施例中,所述缓存组件包括服务器;所述根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据,包括:获取所述服务器的缓存区的缓存属性;根据所述服务器的缓存区的缓存属性缓存所述分布式系统中系统运行时的数据。
一种基于分布式系统的数据缓存装置,包括:第一获取模块,用于获取分布式系统中每个层级组件的特性;第二获取模块,用于根据所述组件的特性获取所述每个层级组件中,能够用于缓存系统数据的缓存组件;缓存模块,用于根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据。
一种存储介质,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述任一实施例所述的基于分布式系统的数据缓存方法。
一种计算机设备,其包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据上述任一实施例所述的基于分布式系统的数据缓存方法。
上述实施例提供的基于分布式系统的数据缓存方法,根据分布式系统中每个层级组件的特性获取能够用于缓存系统数据的缓存组件,并根据每个可缓存系统数据的缓存组件的缓存属性,将系统数据中与缓存属性匹配的系统数据分别缓存进每个缓存组件中。因此,可避免数据缓存集中在某一层而有可能面临系统整体缓存数据失效的问题。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一实施例提供分布式系统基础架构的结构示意图;
图2为本发明提供的一种基于分布式系统的数据缓存方法的一实施例中的方法流程图;
图3为本发明提供的步骤S300的一实施例中的方法流程图;
图4为本发明提供的步骤S320的一实施例中的方法流程图;
图5为本发明提供的一种基于分布式系统的数据缓存装置的一实施例中的结构框图;
图6为本发明提供的一种计算机设备的一实施例中的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,这里使用的“第一”、“第二”仅用于区别同一技术特征,并不对该技术特征的顺序和数量等加以限定。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明提供一种基于分布式系统的数据缓存方法,以对分布式系统的系统数据进行缓存。以下先对本发明所述的分布式系统进行先导性说明:
分布式系统包括多个层级结构,每个层级结构包括多个系统组件。系统组件包括网关、数据库等。如图1所示,分布式系统10包括层级11、层级12和层级13组成的第一层级结构,层级21、层级22和层级23组成的第二层级结构,以及层级31、层级32和层级33组成的第三层级结构。每个层级结构根据层级的级别进行通信连接。如第一层级结构,层级11的级别优先于层级12,层级12的级别优先于层级13。当外部请求进来时,按照层级11、层级12以及层级13的先后顺序进行访问。
基于上述分布式系统,本发明提供一种基于分布式系统的数据缓存方法。如图2所示,该数据缓存方法,包括以下步骤:
S100,获取分布式系统中每个层级组件的特性。
分布式系统是支持分布式处理的软件系统,是由通信网络互联的多处理机体系结构上执行任务的系统。分布式系统包括分布式操作系统、分布式程序设计语言及其编译系统、分布式文件系统分布式数据库系统等。而目前的分布式系统,系统数据主要缓存中某一层,并且缓存的数据内容比较单一,大大限制系统的缓存功能。
在本实施例中,分布式系统获取其结构中每个层级组件,并确定每个层级组件的特性。具体的层级组件包括接入网关以及持久化组件等。分布式系统中,每个层级组件由于其自身的特性,可具备缓存相关系统数据的功能,也可能不具备缓存系统数据的功能。此处,层级组件的特性为可用于识别该层级组件是否具备缓存系统数据的相关特性。例如,层级组件是否具备缓存模块的特性。
S200,根据所述组件的特性获取所述每个层级组件中,能够用于缓存系统数据的缓存组件。
在本实施例中,分布式系统的每个层级的组件在实现自身功能的同时,也有可能具备缓存系统数据的功能。每个层级的组件是否具备缓存系统数据的功能由组件自身的特性决定。分布式系统根据每个层级组件的特性可确定每个层级组件中用于缓存系统数据的缓存组件。缓存组件可位于分布式系统的各个层级,也可位于同一层级。
在一实施方式中,组件的特性为判断组件是否具备缓存模块的特性;所述步骤S200包括:根据所述组件特性判断所述分布式系统中每个层级组件是否具备缓存模块,在确认组件具备缓存模块时获取该组件作为所述用于缓存系统数据的缓存组件。
S300,根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据。
在本实施例中,每个缓存组件的缓存属性不一样,能够缓存的系统数据的类型以及存储的格式也不一样。能够缓存的数据类型包括响应体数据、静态资源数据以及动态数据、系统运行时的数据等。缓存的形式包括静态资源缓存、key-value行数据缓存、表缓存以及实例对象缓存等。具体地,能够用于缓存系统数据的缓存组件包括分布式系统中的控制层组件,业务逻辑层组件以及服务器组件等。因其各自结构不一样,能够缓存的系统数据也可能不一样。分布式系统根据系统中每个所述缓存组件的缓存属性,将系统中的系统数据缓存到相应的缓存组件中。
在一实施例中,如图3所示,步骤S300包括:
S310,获取每个所述缓存组件在请求优先级中的级别。
在该实施例中,分布式系统在接收到外部请求时,外部请求将根据特定的请求优先级分别访问系统中相应层级的组件。此处请求的优先级根据系统组件的层级特性确定。具体地,分布式系统类似一个树形结构,具备多个分层。最外层的入口为网关,外部请求从网关进入,然后根据系统层级结构由外到内逐层访问。因此,系统可获取每个缓存了系统数据的缓存组件在请求访问顺序的优先级中的等级。
S320,控制所述缓存组件按照所述级别从高到低的顺序,并根据缓存组件的缓存属性分别缓存所述分布式系统中相应的系统数据。
在该实施例中,所述级别从高到低的顺序表征所述请求访问所述系统每个层级组件的先后顺序。系统控制缓存组件根据其级别的顺序分别有序地缓存所述分布式系统中相应的系统数据。具体地,级别较高的缓存组件从所述系统数据中获取与其缓存属性匹配的数据以进行存储。当所述分布式系统确定该缓存组件缓存了相应的系统数据之后,控制级别紧跟其后的缓存组件从所述系统数据中获取与其缓存属性匹配的数据以进行存储。
例如,系统缓存组件包括组件A、组件B、组件C和组件D。根据所述请求优先级确定级别顺序为组件A>组件B>组件C>组件D。系统根据上述请求优先级的级别顺序,控制组件A根据其缓存属性优先缓存所述系统数据中相应的数据。当组件A缓存数据结束之后,控制组件B根据其缓存属性缓存所述系统数据中相应的数据。依次类推,控制组件C和组件D分别缓存系统数据。
在该实施例的一个实施方式中,如图4所示,步骤S320,包括:
S321,确认当前缓存组件中所述请求对应的缓存数据已失效。
在该实施方式中,当系统根据每个缓存组件的所述级别,控制缓存组件根据级别从高到低的顺序分别依序缓存相应的系统数据时,判断当前缓存组件根据所述请求对应的缓存数据是否失效。若所述请求在当前缓存组件中无法读取相应的系统数据,则判断当前缓存组件中所述请求对应的缓存数据已失效。具体地,步骤S321包括:确认所述请求访问所述当前缓存组件;判断所述请求是否读取到该当前缓存组件中缓存的系统数据;若否,则确认所述当前缓存组件中所述请求对应的缓存数据已失效。也即是,当请求访问到当前缓存组件时,若无法读取到相应的系统数据,则确认当前缓存组件的所述缓存数据处于失效状态。
S323,获取相比所述当前缓存组件、级别在后的缓存组件中与所述请求对应的缓存数据,并将该缓存数据缓存进所述当前缓存组件。
当当前缓存组件中所述请求对应的缓存数据已失效时,系统从缓存组件中优先级在所述当前缓存组件之后的缓存组件中获取该对应的缓存数据,并将该缓存数据缓存进当前缓存组件中。
在一具体实施方式中,步骤S323,包括:确认所述请求访问所述级别在后的缓存组件;获取该级别在后的缓存组件中缓存的系统数据,并控制该系统数据通过所述当前缓存组件反馈给所述请求的发起方;确认该系统数据通过所述当前缓存组件时,将该系统数据缓存进所述当前缓存组件。
在请求访问到优先级在当前缓存组件之后的缓存组件时,若访问到的缓存组件中存在当前缓存组件缓存的系统数据时,将该获取该系统数据,并在该系统数据通过当前缓存组件反馈到请求的发起方时,将该系统数据缓存到当前缓存组件中。具体可以是,请求根据所述级别依序分别访问级别在当前缓存组件之后的每个缓存组件,根据所述每个缓存组件的缓存属性判断其缓存的系统数据是否与当前缓存组件缓存的系统数据一样。若是,则将系统数据通过上述方式缓存进当前缓存组件中。
上述实施例提供的基于分布式系统的数据缓存方法,根据分布式系统中每个层级组件的特性获取能够用于缓存系统数据的缓存组件,并根据每个可缓存系统数据的缓存组件的缓存属性,将系统数据中与缓存属性匹配的系统数据分别缓存进每个缓存组件中。因此,可避免数据缓存集中在某一层而有可能面临系统整体缓存数据失效的问题。
在一实施中,所述缓存组件包括接入网关。步骤S300包括:获取所述接入网关的缓存区的缓存属性;根据所述接入网关的缓存区的缓存属性缓存所述分布式系统中响应体数据、静态资源数据或动态数据。
在三层IP网络中,接入网关泛指网络边缘连接用户主机的各种IP网关设备。典型的接入网关包括:宽带接入网关(BRAS)、无线接入网关(WiFi路由器)、家庭(接入)网关、各种拨号(协议)接入网关、专线接入网关、VPN接入网关、企业接入网关等。
在该实施例中,接入网关也使用了缓存模块。接入网关在处理请求时,根据业务功能决定是否缓存数据。若接入网关缓存了业务需求的数据,请求可直接访问接入网关中缓存的系统数据中业务需求的数据,从而显著提高系统性能。接入网关中可缓存的系统数据包括响应体数据、静态资源数据或动态数据。具体根据所述接入网关的缓存区的缓存属性确定其缓存响应体数据、静态资源数据或动态数据。
在一实施例中,所述缓存组件包括服务器;步骤S300,包括:获取所述服务器的缓存区的缓存属性;根据所述服务器的缓存区的缓存属性缓存所述分布式系统中系统运行时的数据。
在该实施例中,服务器拥有本地缓存模块,在整个分布式系统运行时可以缓存相关数据。根据服务器自身的结构特性,尤其是其本地缓存区的缓存属性,可以缓存系统运行时的数据。其中,服务器包括web服务器,系统根据web服务器的缓存区的缓存属性缓存系统运行时的数据。具体地,web服务器可以向浏览器等Web客户端提供文档,也可以放置网站文件,用于给用户提供浏览,还可以放置数据文件,用于给用户提供下载。因此,web服务器具备相对较为强大的存储能力。本实施例将根据web服务器的存储特性,缓存系统相应的数据,从而当请求进来,访问到web服务器时可直接从web服务器的本地存储中读取系统运行的数据,提高系统的性能。
在一实施例中,所述缓存组件包括Redis数据库;步骤S300,包括:获取所述Redis数据库的缓存属性;根据所述Redis数据库的缓存属性缓存所述分布式系统中key-value格式的系统数据。
Redis是一个开源,内存存储的数据结构服务器,可用作数据库。Redis作为数据库可高速缓存和消息队列代理,支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。Redis支持多个数据库,并且每个数据库的数据是隔离,数据不能共享。Redis属于字典结构的存储服务器,存储的数据形式为key-value格式,也即是一个键对应一个值。
本实施例将根据Redis数据库的存储特性,缓存系统key-value格式的系统数据,从而当请求进来,访问到Redis数据库时可直接从Redis数据库的本地存储中读取key-value格式的系统数据,提高系统的性能。
以下对提供一具体的实时场景,以详述上述实施例所述的基于分布式系统的数据缓存方法的使用环境:
1、分级缓存:从接入网关如Nginx/Openresty到web应用服务器,再到持久化组件,每一级系统结合其本身组件特点,缓存必要数据。当请求进来时,优先访问本级缓存,缓存不存在或者失效时,才会访问其他缓存组件的缓存的数据,从而大大提高系统吞吐量。
2、支持更多存储格式:接入网关层,可以缓存响应体、静态资源、动态数据;web服务器可以缓存系统运行时数据;Redis数据库等可以缓存大部分key-value形式数据;多级缓存支持的存储格式可以有效缓存不同数据,显著减少系统运行时压力。
3、高效缓存回溯:上级缓存组件的缓存数据失效,下级缓存组件还保存有相应的缓存数据。某一层缓存数据失效,不会影响系统整体运行压力。
4、更多丰富场景支持:支持静态资源缓存、key-value行数据缓存、表缓存、实例对象缓存,可大部分涵盖分布式架构大部分缓存场景,提高分布式架构响应性能。
本发明还提供一种基于分布式系统的数据缓存装置。在一实施例中,如图5所示,该数据缓存装置包括第一获取模块100、第二获取模块200以及缓存模块300。
第一获取模块100用于获取分布式系统中每个层级组件的特性。
分布式系统是支持分布式处理的软件系统,是由通信网络互联的多处理机体系结构上执行任务的系统。分布式系统包括分布式操作系统、分布式程序设计语言及其编译系统、分布式文件系统分布式数据库系统等。而目前的分布式系统,系统数据主要缓存中某一层,并且缓存的数据内容比较单一,大大限制系统的缓存功能。
在本实施例中,分布式系统获取其结构中每个层级组件,并确定每个层级组件的特性。具体的层级组件包括接入网关以及持久化组件等。分布式系统中,每个层级组件由于其自身的特性,可具备缓存相关系统数据的功能,也可能不具备缓存系统数据的功能。此处,层级组件的特性为可用于识别该层级组件是否具备缓存系统数据的相关特性。例如,层级组件是否具备缓存模块的特性。
第二获取模块200用于根据所述组件的特性获取所述每个层级组件中,能够用于缓存系统数据的缓存组件。
在本实施例中,分布式系统的每个层级的组件在实现自身功能的同时,也有可能具备缓存系统数据的功能。每个层级的组件是否具备缓存系统数据的功能由组件自身的特性决定。分布式系统根据每个层级组件的特性可确定每个层级组件中用于缓存系统数据的缓存组件。缓存组件可位于分布式系统的各个层级,也可位于同一层级。
缓存模块300用于根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据。
在本实施例中,每个缓存组件的缓存属性不一样,能够缓存的系统数据的类型以及存储的格式也不一样。能够缓存的数据类型包括响应体数据、静态资源数据以及动态数据、系统运行时的数据等。缓存的形式包括静态资源缓存、key-value行数据缓存、表缓存以及实例对象缓存等。具体地,能够用于缓存系统数据的缓存组件包括分布式系统中的控制层组件,业务逻辑层组件以及服务器组件等。因其各自结构不一样,能够缓存的系统数据也可能不一样。分布式系统根据系统中每个所述缓存组件的缓存属性,将系统中的系统数据缓存到相应的缓存组件中。
在其他实施例中,本发明提供的基于分布式系统的数据缓存装置中的各个模块还用于执行本发明所述的基于分布式系统的数据缓存方法中,对应各个步骤执行的操作,在此不再做详细的说明。
本发明还提供一种存储介质。该存储介质上存储有计算机程序;所述计算机程序被处理器执行时,实现上述任一实施例所述的基于分布式系统的数据缓存方法。该存储介质可以是存储器。例如,内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储介质包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
本发明还提供一种计算机设备。一种计算机设备包括:一个或多个处理器;存储器;一个或多个应用程序。其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述任一实施例所述的基于分布式系统的数据缓存方法。
图6为本发明一实施例中的计算机设备的结构示意图。本实施例所述计算机设备可以是服务器、个人计算机以及网络设备。如图6所示,设备包括处理器603、存储器605、输入单元607以及显示单元609等器件。本领域技术人员可以理解,图6示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器605可用于存储应用程序601以及各功能模块,处理器603运行存储在存储器605的应用程序601,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元607用于接收信号的输入,以及接收用户输入的关键字。输入单元607可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元609可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元609可采用液晶显示器、有机发光二极管等形式。处理器603是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器603内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一实施方式中,设备包括一个或多个处理器603,以及一个或多个存储器605,一个或多个应用程序601。其中所述一个或多个应用程序601被存储在存储器605中并被配置为由所述一个或多个处理器603执行,所述一个或多个应用程序601配置用于执行以上实施例所述的基于分布式系统的数据缓存方法。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
应该理解的是,在本发明各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于分布式系统的数据缓存方法,其特征在于,包括:
获取分布式系统中每个层级组件的特性;其中,所述组件的特性为判断组件是否具备缓存模块的特性;
根据所述组件的特性获取所述每个层级组件中用于缓存系统数据的缓存组件,包括:在根据所述组件的特性确认组件具备缓存模块时获取该组件作为用于缓存系统数据的缓存组件;
根据每个所述缓存组件的缓存属性,分级缓存所述分布式系统中相应的系统数据;
在接收到访问请求时,优先访问本级缓存,若本级缓存不存在或失效,则访问其他缓存组件的缓存的数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据,包括:
获取每个所述缓存组件在请求优先级中的级别;
控制所述缓存组件按照所述级别从高到低的顺序,并根据缓存组件的缓存属性分别缓存所述分布式系统中相应的系统数据。
3.根据权利要求2所述的方法,其特征在于,所述控制所述缓存组件按照所述级别从高到低的顺序,并根据缓存组件的缓存属性分别缓存所述分布式系统中相应的系统数据,包括:
确认当前缓存组件中所述请求对应的缓存数据已失效;
获取相比所述当前缓存组件、级别在后的缓存组件中与所述请求对应的缓存数据,并将该缓存数据缓存进所述当前缓存组件。
4.根据权利要求3所述的方法,其特征在于,所述确认当前缓存组件中所述请求对应的缓存数据已失效,包括:
确认所述请求访问所述当前缓存组件;
判断所述请求是否读取到该当前缓存组件中缓存的系统数据;
若否,则确认所述当前缓存组件中所述请求对应的缓存数据已失效。
5.根据权利要求3所述的方法,其特征在于,所述获取相比所述当前缓存组件、级别在后的缓存组件中与所述请求对应的缓存数据,并将该缓存数据缓存进所述当前缓存组件,包括:
确认所述请求访问所述级别在后的缓存组件;
获取该级别在后的缓存组件中缓存的系统数据,并控制该系统数据通过所述当前缓存组件反馈给所述请求的发起方;
确认该系统数据通过所述当前缓存组件时,将该系统数据缓存进所述当前缓存组件。
6.根据权利要求1所述的方法,其特征在于,所述缓存组件包括接入网关;所述根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据,包括:
获取所述接入网关的缓存区的缓存属性;
根据所述接入网关的缓存区的缓存属性缓存所述分布式系统中响应体数据、静态资源数据或动态数据。
7.根据权利要求1所述的方法,其特征在于,所述缓存组件包括服务器;所述根据所述缓存组件的缓存属性,缓存所述分布式系统中相应的系统数据,包括:
获取所述服务器的缓存区的缓存属性;
根据所述服务器的缓存区的缓存属性缓存所述分布式系统中系统运行时的数据。
8.一种基于分布式系统的数据缓存装置,其特征在于,包括:
第一获取模块,用于获取分布式系统中每个层级组件的特性;其中,所述组件的特性为判断组件是否具备缓存模块的特性;
第二获取模块,用于根据所述组件的特性获取所述每个层级组件中用于缓存系统数据的缓存组件,包括:在根据所述组件的特性确认组件具备缓存模块时获取该组件作为用于缓存系统数据的缓存组件;
缓存模块,用于根据每个所述缓存组件的缓存属性,分级缓存所述分布式系统中相应的系统数据;
在接收到访问请求时,优先访问本级缓存,若本级缓存不存在或失效,则访问其他缓存组件的缓存的数据。
9.一种存储介质,其特征在于,其上存储有计算机程序;所述计算机程序适于由处理器加载并执行上述权利要求1至7中任一项所述的基于分布式系统的数据缓存方法。
10.一种计算机设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据权利要求1至7任一项所述的基于分布式系统的数据缓存方法。
CN201811231447.4A 2018-10-22 2018-10-22 数据缓存方法、装置及存储介质、计算机设备 Active CN109617943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811231447.4A CN109617943B (zh) 2018-10-22 2018-10-22 数据缓存方法、装置及存储介质、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811231447.4A CN109617943B (zh) 2018-10-22 2018-10-22 数据缓存方法、装置及存储介质、计算机设备

Publications (2)

Publication Number Publication Date
CN109617943A CN109617943A (zh) 2019-04-12
CN109617943B true CN109617943B (zh) 2022-08-12

Family

ID=66001980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811231447.4A Active CN109617943B (zh) 2018-10-22 2018-10-22 数据缓存方法、装置及存储介质、计算机设备

Country Status (1)

Country Link
CN (1) CN109617943B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104753966A (zh) * 2013-12-25 2015-07-01 明博教育科技有限公司 一种基于服务器和客户端缓存的资源文件查询方法及系统
CN106210019A (zh) * 2016-07-04 2016-12-07 安徽天达网络科技有限公司 一种大型高并发web应用系统
US9582421B1 (en) * 2012-12-19 2017-02-28 Springpath, Inc. Distributed multi-level caching for storage appliances
CN107451146A (zh) * 2016-05-31 2017-12-08 北京京东尚科信息技术有限公司 利用多级缓存读取数据的方法和缓存数据的多级缓存装置
CN107704582A (zh) * 2017-10-08 2018-02-16 安徽康佳电子有限公司 一种基于服务器和网页的闭环生态反馈链系统
CN107967270A (zh) * 2016-10-19 2018-04-27 北京京东尚科信息技术有限公司 实现多功能缓存的方法和系统
CN108540556A (zh) * 2018-04-13 2018-09-14 南京新贝金服科技有限公司 一种基于高速缓存的精细化Session集群共享系统及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582421B1 (en) * 2012-12-19 2017-02-28 Springpath, Inc. Distributed multi-level caching for storage appliances
CN104753966A (zh) * 2013-12-25 2015-07-01 明博教育科技有限公司 一种基于服务器和客户端缓存的资源文件查询方法及系统
CN107451146A (zh) * 2016-05-31 2017-12-08 北京京东尚科信息技术有限公司 利用多级缓存读取数据的方法和缓存数据的多级缓存装置
CN106210019A (zh) * 2016-07-04 2016-12-07 安徽天达网络科技有限公司 一种大型高并发web应用系统
CN107967270A (zh) * 2016-10-19 2018-04-27 北京京东尚科信息技术有限公司 实现多功能缓存的方法和系统
CN107704582A (zh) * 2017-10-08 2018-02-16 安徽康佳电子有限公司 一种基于服务器和网页的闭环生态反馈链系统
CN108540556A (zh) * 2018-04-13 2018-09-14 南京新贝金服科技有限公司 一种基于高速缓存的精细化Session集群共享系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《深入分布式缓存》之"亿级请求下多级缓存那些事";半吊子全栈工匠;《CSDN博客》;20180123;第1-3页,图1 *
nginx+redis+tomcat三级缓存架构讲解;BigMan-Hui;《CSDN博客》;20171120;第1-2页 *
分布式多级缓存;风度玉门;《风度玉门》;20180710;第1-2页,图1 *
半吊子全栈工匠.《深入分布式缓存》之"亿级请求下多级缓存那些事".《CSDN博客》.2018, *

Also Published As

Publication number Publication date
CN109617943A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
EP1493105B1 (en) Key-value repository with a pluggable architecture
US9940403B2 (en) System and method for managing dedicated caches
US8595366B2 (en) Method and system for dynamically creating and servicing master-slave pairs within and across switch fabrics of a portable computing device
US20100180208A1 (en) Server side data cache system
US10853193B2 (en) Database system recovery using non-volatile system memory
US9971696B2 (en) File-based client side cache
US9369332B1 (en) In-memory distributed cache
US10013449B1 (en) Validating and non-validating secondary indexes for a table in a non-relational data store
WO2019205365A1 (zh) 加载dom节点数据的方法、装置、计算机设备及存储介质
US20170091112A1 (en) Configurable cache architecture
EP3497586A1 (en) Discovery of calling application for control of file hydration behavior
US20160342621A1 (en) System and method of providing or executing layered resources
US10019191B2 (en) System and method for protecting contents of shared layer resources
US9665283B2 (en) System and method of creating layered resources
US11281666B2 (en) Interception of database queries for delegation to an in memory data grid
US11625273B1 (en) Changing throughput capacity to sustain throughput for accessing individual items in a database
CN109617943B (zh) 数据缓存方法、装置及存储介质、计算机设备
US20220067065A1 (en) Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
US10712959B2 (en) Method, device and computer program product for storing data
KR20200078426A (ko) 복구 서버 및 컴퓨터 프로그램
US12008041B2 (en) Shared cache for multiple index services in nonrelational databases
US20230081324A1 (en) Shared cache for multiple index services in nonrelational databases
KR102449107B1 (ko) 게시판 서비스 제공 장치 및 방법
US20230342330A1 (en) Method, device, and computer program product for adaptive matching
US11468045B2 (en) Transactional support for non-relational database

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