CN110442605B - 服务器的缓存管理方法及装置 - Google Patents
服务器的缓存管理方法及装置 Download PDFInfo
- Publication number
- CN110442605B CN110442605B CN201910626004.3A CN201910626004A CN110442605B CN 110442605 B CN110442605 B CN 110442605B CN 201910626004 A CN201910626004 A CN 201910626004A CN 110442605 B CN110442605 B CN 110442605B
- Authority
- CN
- China
- Prior art keywords
- cache
- domain
- application system
- public
- service
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种服务器的缓存管理方法及装置,所述服务器中包含至少一个根据业务维度进行划分的公共缓存域,所述方法包括:获取缓存数据,并根据业务维度将所述缓存数据缓存到对应的公共缓存域;根据应用系统支持的业务维度,加载该业务维度对应的公共缓存域的缓存数据,生成该应用系统的本地缓存域的缓存数据;当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
Description
技术领域
本说明书涉及计算机领域。
背景技术
为降低数据库或服务器访问压力,减少网络资源的消耗,本地缓存的使用已经无处不在,很多应用系统都使用基于Map<K,V>结构的本地缓存管理技术来,以对系统中用到的数据库配置表、模板、以及目标系统资源进行本地化缓存管理。
常见的本地缓存管理技术直接将服务端或者数据库中的数据缓存在本地内存,虽然实现简单,但是该方法将多个应用系统或模块耦合在一起,扩展性较差;同时,每个应用系统本地缓存需要加载所有数据,浪费存储空间,并且,缓存刷新时需要刷新所有系统本地缓存,增加了缓存加载的访问压力和网络资源的消耗。
发明内容
本说明书提供了一种服务器的缓存管理方法及装置,以减少本地缓存的存储空间,降低缓存加载的访问压力,减少网络资源的消耗,并具有更好的扩展性。
本申请公开了一种服务器的缓存管理方法,所述服务器中包含至少一个根据业务维度进行划分的公共缓存域,所述方法包括:
获取缓存数据,并根据业务维度将所述缓存数据缓存到对应的公共缓存域;
根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域。
在一个优选例中,每个所述公共缓域独立刷新。
在一个优选例中,还包括:当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
在一个优选例中,所述业务维度是业务场景。
在一个优选例中,所述根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域,还包括:根据所述应用系统支持的业务场景的参数确定扩展点,在所述应用系统启动时,注册扩展点。
在一个优选例中,所述当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新,进一步包括:根据所注册的扩展点,确定各个应用系统支持业务场景所对应的公共缓存域,当公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
在一个优选例中,所述注册扩展点,使用OSGi服务实现。
本申请还公开了一种服务器的缓存管理装置,所述服务器中包含至少一个根据业务维度进行划分的公共缓存域,所述装置包括:
获取模块,用于获取缓存数据,并根据业务维度将所述缓存数据缓存到对应的公共缓存域;
加载模块,用于根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域。
在一个优选例中,每个所述公共缓域独立刷新。
在一个优选例中,还包括:
刷新模块,用于当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
在一个优选例中,所述业务维度是业务场景。
在一个优选例中,所述加载模块还用于根据所述应用系统支持的业务场景的参数确定扩展点,在所述应用系统启动时,注册扩展点。
在一个优选例中,所述刷新模块还用于根据所注册的扩展点,确定各个应用系统支持业务场景所对应的公共缓存域,当公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
在一个优选例中,所述注册扩展点,使用OSGi服务实现。
本申请还公开了一种服务器的缓存管理设备包括:
存储器,用于存储计算机可执行指令;以及,
处理器,用于在执行所述计算机可执行指令时实现如前文描述的方法中的步骤。
本申请还公开了一种计算机可读存储介质所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
本说明书实施方式中,提供了可动态扩展的缓存管理机制,具有良好的扩展性。同时,实现了本地缓存的按需加载,减少了本地缓存的存储空间,降低了缓存加载的访问压力,减少网络资源的消耗等。
本说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本说明书上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。
附图说明
图1是根据本说明书第一实施方式的服务器的缓存管理方法的流程示意图;
图2是根据本说明书第一实施方式的服务器的缓存管理方法涉及的系统架构的示意图;
图3是根据本说明书第二实施方式的服务器的缓存管理装置的结构示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
下面将结合附图对本说明书的实施方式作进一步地详细描述。
首先解释一下本地缓存的含义。
本地缓存(LocalCache)是应用系统使用Map<K,V>数据结构将资源作为一个副本保存在本地的缓存管理技术。当有资源访问请求时,先查询本地缓存是否存在数据,存在则直接返回,不存在则查询数据库或者请求服务器更新缓存并返回,从而降低数据库、服务器压力,减少网络带宽,减少延迟,加快访问速度。
常见的本地缓存模型主要包括本地缓存管理器、缓存数据、数据库模块。
本地缓存管理器对本地缓存进行统一管理,包括缓存信息配置、系统启动时缓存的初始化、缓存刷新等操作。
本地缓存数据是应用服务器中缓存的数据,可能来自数据库,也可能来自上层的其他服务器。
本地缓存数据保存在单个应用系统的服务器中,各个应用系统的服务器之间的缓存数据相互独立。
本说明书的第一实施方式涉及一种服务器的缓存管理方法,所述服务器中包含至少一个根据业务维度进行划分的缓存域。并且,在另一个应用系统服务器中,运行一个应用系统,该应用系统支持至少一个业务维度。
本说明书的实施例中,对于缓存数据,根据指定的业务维度进行划分。
可选的,根据业务场景维度划分不同的缓存域。比如,将业务场景biz_01和biz_02的缓存数据的缓存域划分为缓存域A和缓存域B。
具体的,业务场景是指目标、参与方、操作流程和信息传递过程。例如,对于绑定银行卡的业务,直接绑定一张银行卡就是一个业务场景,可以是业务场景biz_01;在支付的过程中选择新卡支付,再去绑一张银行卡,就是另一个业务场景,可以是业务场景biz_02。又例如,对于支付的应用,不同的支付方式就是不同的业务场景,比如,网上商品(例如淘宝商品)的支付就是一个业务场景,可以是业务场景biz_03,而充值卡的充值就是另一个业务场景,可以是业务场景biz_04,等等。
可选的,还可以根据其它业务维度划分缓存域,例如,对于银行卡的缓存数据,可以按照不同的银行来进行划分,比如,将工商银行的银行卡划分为一个缓存域,而将建设银行的银行卡划分为另一个缓存域。
根据业务维度对缓存数据进行划分的具体方式可以有许多种,在此不做赘述。
根据业务维度对缓存数据进行划分,可以由服务器中的缓存管理器实现。
本实施例的服务器的缓存管理方法的流程如图1和图2所示,该方法包括以下步骤:
步骤110:获取缓存数据,并根据业务维度将所述缓存数据缓存到对应的公共缓存域;
步骤120:根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域;
步骤130:当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
下面对每个步骤进行详细的解释说明。
针对步骤110:
缓存数据可以从数据库中获取,或者从其它数据提供者处获取。对于获取到的缓存数据,根据它的业务维度,分别缓存到对应的缓存区中。
例如,将业务场景biz_01的缓存数据缓存到缓存域A,将业务场景biz_02的缓存数据缓存到缓存域B,将业务场景biz_03的缓存数据缓存到缓存域C,将业务场景biz_04的缓存数据缓存到缓存域D,由此,缓存数据被分别缓存到了对应的缓存域中。
将缓存数据按照业务维度缓存到对应的缓存域可以由服务器中的缓存管理器实现。
这里的缓存域,可以理解为本质上是服务器上的公共缓存域,按照业务维度划分为不同的缓存域,即,按域划分,并将来自数据库或其它数据提供者的缓存数据,根据业务维度,分别缓存到相应的缓存域中。这些服务器上的公共缓存域中的缓存数据,此后将被根据需要,相应地加载到各个应用系统中,生成该应用系统的本地缓存域的缓存数据,并按缓存域分别刷新,即,按域刷新,这将在下文中描述。
可选的,每个公共缓域独立刷新。
针对步骤120:
在本步骤中,基于已经按照业务维度,例如,业务场景,划分好的缓存域,根据各个应用系统支持的业务场景,为该应用系统加载相应的缓存域的缓存数据,生成该应用系统的本地缓存域的缓存数据。
比如,将业务场景biz_01的缓存数据划分为缓存域A,将业务场景biz_02的缓存数据划分为缓存域B,并且,应用系统A支持业务场景biz_01和业务场景biz_02,在这种情况下,为应用系统A加载缓存数据时,只需要加载缓存域A的缓存数据和缓存域B的缓存数据。
又比如,同样的,将业务场景biz_01的缓存数据划分为缓存域A,将业务场景biz_02的缓存数据划分为缓存域B,将业务场景biz_03的缓存数据划分为缓存域C,并且,应用系统B支持业务场景biz_03,在这种情况下,为应用系统B加载缓存数据时,只需要加载缓存域C的缓存数据,而不需要加载缓存域A的缓存数据和缓存域B的缓存数据。
由此,各个应用系统上加载了各自支持的业务维度,例如,业务场景,所对应的缓存域的缓存数据,生成各个应用系统的本地的缓存域的缓存数据。
需指出,上述各个应用系统的本地的缓存域的缓存数据,与上述服务器上的公共缓存域的缓存数据是相对的,前者是本地的,即,专属于本应用系统的,后者是公共的,可用于为各个应用系统提供所需要的加载和刷新。
针对步骤130:
换句话说,在本步骤中,上述服务器的公共缓存域的缓存数据刷新时,如果应用系统支持该需刷新的缓存域对应的业务维度,即,该应用系统中当前加载了该缓存域的缓存数据,则该应用系统对该缓存域的缓存数据进行刷新;如果该应用系统不支持该需刷新的缓存域对应的业务维度,即,该应用系统中当前未加载该缓存域的缓存数据,则该应用系统不对该缓存域的缓存数据进行刷新。
这样做的好处在于,当服务器上的公共缓存域的缓存数据更新时,并不需要所有应用系统都对该缓存域的缓存数据进行刷新。只有那些支持该缓存域对应的业务维度的应用系统,即,就有对应的本地的缓存域的应用系统,才需要对该公共缓存域的缓存数据的更新进行相应的刷新。显然,这种刷新方式能够显著减少本地缓存的存储空间,降低缓存加载的访问压力,减少网络资源的消耗。
可选的,在一个实施例中,服务器的缓存管理方法可以基于OSGi(Open ServiceGateway Initiative,开放服务网管倡议)扩展模型实现。基于OSGi扩展模型,服务器的缓存管理方法的系统架构包括缓存数据、缓存管理器、OSGi扩展模块。其中,缓存数据可以来自数据库或其它服务器。缓存管理器用于提供缓存数据的加载、缓存初始化、缓存刷新和根据业务维度划分缓存域等。由此,将缓存数据根据业务维度存储到每个支持该业务维度的应用系统的对应的缓存域中,生成每个应用系统的本地缓存域的缓存数据。
可选的,在所述根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域的步骤中,还包括:根据所述应用系统支持的业务场景的参数确定扩展点,在所述应用系统启动时,注册扩展点。相应的,在所述当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新的步骤中,进一步包括:根据所注册的扩展点,确定各个应用系统支持业务场景所对应的公共缓存域,当公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。其中,所述注册扩展点,使用OSGi服务实现。
进一步的,将业务场景参数定义为扩展点,例如:应用系统A的扩展点[biz_1,biz_2],应用系统B的扩展点[biz_3],应用系统C的扩展点[biz_4]。应用系统启动时,缓存扩展模块注册扩展点,根据注册的扩展点代表的业务场景参数,加载该业务场景对应的缓存域的缓存数据,从而生成应用系统的本地缓存数据。
换句话说,也就是根据所述应用系统支持的业务场景的参数确定扩展点,在应用系统启动时,根据所述扩展点代表的业务场景,为所述应用系统加载该业务场景对应的缓存域的缓存数据,生成该应用系统的本地缓存数据。
缓存扩展模块可动态扩展至各个应用系统。
这样做的好处是,提供了可动态扩展的缓存管理机制,具有良好的扩展性。同时,实现了本地缓存的按需加载,减少了本地缓存的存储空间,降低了缓存加载的访问压力,减少网络资源的消耗等。
在上述实施例的服务器的缓存管理方法中,根据业务维度(例如不同的业务场景)将缓存数据划分在多个缓存域中。每一个应用系统根据自己支持的业务维度,按需加载对应的缓存域的缓存数据,生成本地缓存域的缓存数据,并且,当缓存数据需要刷新时,只有哪些已有对应的本地的缓存域的缓存数据的应用系统对该缓存域的缓存数据进行刷新。这种情况下,应用系统进行缓存数据的加载和刷新的时候,只涉及每个应用系统自己需要的缓存域,大大减少了缓存加载的数据量。
本说明书的第二实施方式涉及一种服务器的缓存管理装置,所述服务器中包含至少一个根据业务维度进行划分的公共缓存域,该缓存管理装置的结构如图3所示,包括:
获取模块,用于获取缓存数据,并根据业务维度将所述缓存数据缓存到对应的公共缓存域。可选的,所述业务维度是业务场景。
加载模块,用于根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域。
刷新模块,用于当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。
需要说明的是,本领域技术人员应当理解,上述服务器的缓存管理装置的实施方式中所示的各模块的实现功能可参照前述服务器的缓存管理方法的相关描述而理解。上述服务器的缓存管理装置的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本说明书实施例上述服务器的缓存管理装置如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本说明书各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,ReadOnlyMemory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
相应地,本说明书实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书的各方法实施方式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
此外,本说明书实施方式还提供一种服务器的缓存管理设备,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。其中,该处理器可以是中央处理单元(CentralProcessingUnit,简称“CPU”),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,简称“DSP”)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称“ASIC”)等。前述的存储器可以是只读存储器(read-onlymemory,简称“ROM”)、随机存取存储器(randomaccessmemory,简称“RAM”)、快闪存储器(Flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
在本说明书提及的所有文献都被认为是整体性地包括在本说明书的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
Claims (14)
1.一种服务器的缓存管理方法,所述服务器中包含至少一个根据业务维度进行划分的公共缓存域,所述方法包括:
获取缓存数据,并根据业务维度将所述缓存数据缓存到对应的公共缓存域;
根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域;
当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
2.如权利要求1所述的方法,其中,每个所述公共缓存域独立刷新。
3.如权利要求2所述的方法,其中,所述业务维度是业务场景。
4.如权利要求3所述的方法,其中,所述根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域,还包括:根据所述应用系统支持的业务场景的参数确定扩展点,在所述应用系统启动时,注册扩展点。
5.如权利要求4所述的方法,其中,所述当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新,进一步包括:根据所注册的扩展点,确定各个应用系统支持业务场景所对应的公共缓存域,当公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
6.如权利要求4所述的方法,其中,所述注册扩展点,使用OSGi服务实现。
7.一种服务器的缓存管理装置,所述服务器中包含至少一个根据业务维度进行划分的公共缓存域,所述装置包括:
获取模块,用于获取缓存数据,并根据业务维度将所述缓存数据缓存到对应的公共缓存域;
加载模块,用于根据应用系统支持的业务维度,从该业务维度对应的公共缓存域加载缓存数据到该应用系统的本地缓存域;
刷新模块,用于当所述公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
8.如权利要求7所述的装置,其中,每个所述公共缓存域独立刷新。
9.如权利要求7所述的装置,其中,所述业务维度是业务场景。
10.如权利要求9所述的装置,其中,所述加载模块还用于根据所述应用系统支持的业务场景的参数确定扩展点,在所述应用系统启动时,注册扩展点。
11.如权利要求10所述的装置,其中,所述刷新模块还用于根据所注册的扩展点,确定各个应用系统支持业务场景所对应的公共缓存域,当公共缓存域的缓存数据更新时,对所述应用系统中与该更新的公共缓存域对应的本地缓存域的缓存数据进行刷新。
12.如权利要求10所述的装置,其中,所述注册扩展点,使用OSGi服务实现。
13.一种服务器的缓存管理设备,包括:
存储器,用于存储计算机可执行指令;以及,
处理器,用于在执行所述计算机可执行指令时实现如权利要求1至6中任意一项所述的方法中的步骤。
14.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如权利要求1至6中任意一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910626004.3A CN110442605B (zh) | 2019-07-11 | 2019-07-11 | 服务器的缓存管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910626004.3A CN110442605B (zh) | 2019-07-11 | 2019-07-11 | 服务器的缓存管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442605A CN110442605A (zh) | 2019-11-12 |
CN110442605B true CN110442605B (zh) | 2023-08-08 |
Family
ID=68430208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910626004.3A Active CN110442605B (zh) | 2019-07-11 | 2019-07-11 | 服务器的缓存管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442605B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127443A (zh) * | 2020-01-14 | 2021-07-16 | 北京京东振世信息技术有限公司 | 一种更新缓存数据的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630982A (zh) * | 2015-12-25 | 2016-06-01 | 中国民航信息网络股份有限公司 | 航班数据缓存方法及系统 |
CN105630812A (zh) * | 2014-10-30 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 集群应用缓存刷新方法及装置 |
CN107133234A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 缓存数据更新的方法、装置及系统 |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603521B2 (en) * | 2005-05-16 | 2009-10-13 | Texas Instruments Incorporated | Prioritizing caches having a common cache level |
US9703706B2 (en) * | 2011-02-28 | 2017-07-11 | Oracle International Corporation | Universal cache management system |
-
2019
- 2019-07-11 CN CN201910626004.3A patent/CN110442605B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630812A (zh) * | 2014-10-30 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 集群应用缓存刷新方法及装置 |
CN105630982A (zh) * | 2015-12-25 | 2016-06-01 | 中国民航信息网络股份有限公司 | 航班数据缓存方法及系统 |
CN107133234A (zh) * | 2016-02-29 | 2017-09-05 | 阿里巴巴集团控股有限公司 | 缓存数据更新的方法、装置及系统 |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存系统 |
Non-Patent Citations (1)
Title |
---|
基于MongoDB的分布式缓存;王胜等;《计算机系统应用》;20160415(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110442605A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10878052B2 (en) | Blockchain-based cross-chain data operation method and apparatus | |
US20210160252A1 (en) | Cross-blockchain interaction systems | |
CN111898139B (zh) | 数据读写方法及装置、电子设备 | |
CN102843426B (zh) | 基于智能父节点的Web缓存资源共享系统和方法 | |
CN109412853B (zh) | 分布式服务注册存储方法、系统、装置和存储介质 | |
US8645642B2 (en) | Tracking dynamic memory reallocation using a single storage address configuration table | |
JP6388339B2 (ja) | 分散キャッシングおよびキャッシュ分析 | |
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
CN111858676A (zh) | 一种数据处理的方法及装置 | |
CN115002228B (zh) | 服务级联调用方法、装置、电子设备及存储介质 | |
CN110442605B (zh) | 服务器的缓存管理方法及装置 | |
CN111221653B (zh) | 一种服务处理方法、装置及计算机可读存储介质 | |
CN106940712B (zh) | 序列生成方法与设备 | |
CN115033185A (zh) | 访存处理方法和装置、存储装置、芯片、板卡、电子设备 | |
CN112035524B (zh) | 列表数据查询方法、装置、计算机设备及可读存储介质 | |
CN107451203B (zh) | 数据库访问方法及装置 | |
CN110837499B (zh) | 数据访问处理方法、装置、电子设备和存储介质 | |
CN112187738A (zh) | 业务数据访问控制方法、装置及计算机可读存储介质 | |
JP2021508867A (ja) | データベースをクエリするためのシステム、方法および装置 | |
EP3945694B1 (en) | Block data access method, block data storage method, and apparatuses thereof | |
CN107102898B (zh) | 一种基于numa架构的内存管理、构建数据结构的方法及装置 | |
CN113296923B (zh) | 内存合并方法、设备以及计算机可读介质 | |
JP6553650B2 (ja) | データ処理の方法及びシステム | |
US20170364454A1 (en) | Method, apparatus, and computer program stored in computer readable medium for reading block in database system | |
CN112040023A (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 |