CN115150470A - 缓存数据处理方法、装置、电子设备和存储介质 - Google Patents
缓存数据处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115150470A CN115150470A CN202211081669.9A CN202211081669A CN115150470A CN 115150470 A CN115150470 A CN 115150470A CN 202211081669 A CN202211081669 A CN 202211081669A CN 115150470 A CN115150470 A CN 115150470A
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- instance
- updated
- server
- 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.)
- Granted
Links
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开缓存数据处理方法、装置、电子设备和存储介质,方法包括创建并管理多个缓存实例;从服务端获取缓存实例的更新的缓存数据;在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,并在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据;在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。本申请有助于减少网络交互,节省带宽,从而减少用户等待时间,提高WEB应用软件的使用体验,减轻服务器端访问压力。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种缓存数据处理方法、装置、电子设备和计算机可读存储介质。
背景技术
随着互联网技术的发展,浏览器/服务器(B/S)架构被广泛应用于WEB平台。浏览器/服务器(B/S)架构能将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。用户可以借助终端的浏览器通过网络访问服务器以执行或实现基于B/S架构的应用软件的功能。相应地,B/S架构可能存在大量用户并发访问给网络连接或服务器带来过载等问题,造成用户使用体验下降。为此,向用户提供快速响应的和丰富的交互式体验变得重要。一种解决方案是在用户终端提供浏览器数据缓存。
在当前浏览器数据缓存技术中,浏览器数据缓存的获取或更新往往是通过用户侧的浏览器端的不同模块根据规定机制主动访问服务器而获取更新的缓存数据。或者,某些浏览器数据缓存技术增加了访问前的询问机制来进行更新,这变相增加了网络交互次数。例如中国专利CN101997927B提出,客户端模块在根据规定机制获取或更新缓存数据之前,将本地的数据版本信息与从服务器端获取的版本信息进行比对,并且基于版本信息比对结果来决定是否获取或更新缓存数据。
然而,在这些方案中,数据缓存的获取或更新均是在相应的浏览器模块请求下进行的,同样需要该数据缓存的其他浏览器模块无法得到更新后的缓存数据。
以上说明仅为了描述本领域的相关技术,不视作对现有技术的承认。
发明内容
因此,希望提供一种适用于B/S架构的浏览器数据缓存的处理方案,其允许在浏览器获取的最新浏览器缓存数据能全面且及时地与该缓存数据的所有数据依赖方共享。
在第一方面,提供一种应用于WEB浏览器端的缓存数据处理方法,所述缓存数据处理方法可包括:
创建并管理多个缓存实例,各缓存实例关联各自的缓存数据并记录其缓存数据的任何已有的第一数据依赖方及其缓存数据的数据状态,在创建所述多个缓存实例时将各缓存实例的数据状态设置为未使用;
从服务端获取缓存实例的更新的缓存数据;
在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,并在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据;
在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。
可选地,各缓存实例还记录与其缓存数据变更相关联的服务端接口。
可选地,所述缓存数据处理方法还包括:监听各缓存实例记录的服务端接口。
可选地,从服务端获取缓存实例的更新的缓存数据,包括:
响应于服务端接口的预定操作被触发,从服务端获取记录有被触发服务端接口的缓存实例所关联的更新的缓存数据。
可选地,所述缓存数据处理方法还可包括:
响应于第三数据依赖方访问缓存实例,确定第三数据依赖方访问的缓存实例是否记录有第一数据依赖方和/或访问的缓存实例的数据状态;
若记录的第一数据依赖方为空和/或数据状态为未使用,从服务端获取所述访问的缓存实例的更新的缓存数据。
可选地,若记录的第一数据依赖方不为空和/或数据状态为获取完成,在所述访问的缓存实例记录所述第三数据依赖方并允许所述第三数据依赖方获取所述访问的缓存实例的缓存数据。
可选地,创建并管理多个缓存实例,包括:在创建所述多个缓存实例时为各缓存实例设置缓存初始值作为初始关联的缓存数据;其中,若记录的第一数据依赖方为空和/或数据状态为未使用,立即向所述第三数据依赖方返回所述缓存初始值。
可选地,创建并管理多个缓存实例,包括:
设置缓存管理器;
由缓存管理器创建并管理所述多个缓存实例,并在所述缓存管理器中注册所述多个缓存实例各自的缓存编号,其中,数据依赖方能凭借所述缓存编号访问相应的缓存数据。
可选地,浏览器具有多个窗口或页面。
可选地,创建并管理多个缓存实例,包括:
设置多个缓存管理器,每个所述窗口或页面配设各自的一个缓存管理器,
由每个缓存管理器分别创建并管理各自的多个缓存实例。
可选地,所述缓存数据处理方法还包括:
监听所述多个窗口或页面及其缓存管理器;
当其中至少一个缓存管理器管理的缓存实例的缓存数据更新时,触发管理相同的缓存实例的其他缓存管理器执行从服务端获取所述相同的缓存实例的更新的缓存数据的步骤。
可选地,创建并管理多个缓存实例,包括:
设置多个缓存管理器,每个所述窗口或页面配设有各自的一个缓存管理器,所述多个缓存管理器包括主缓存管理器和其他的虚假缓存管理器,每个虚假缓存管理器均关联调用所述主缓存管理器;
由所述主缓存管理器创建并管理所有缓存实例,所述虚假缓存管理器不创建缓存实例。
在第二方面,提供一种应用于WEB浏览器端的缓存数据处理装置,所述缓存数据处理装置可包括:
缓存管理器,配置成创建并管理多个缓存实例,各缓存实例关联各自的缓存数据并记录其缓存数据的任何已有的第一数据依赖方及其缓存数据的数据状态,在创建所述多个缓存实例时将各缓存实例的数据状态设置为未使用;
更新单元,配置成从服务端获取缓存实例的更新的缓存数据;
锁定单元,配置成在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,并在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据;
推送单元,配置成在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。
在第三方面,提供一种电子设备,其可包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行本申请任一实施例所述的方法。
在第四方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置成被运行时执行本申请任一实施例所述的方法。
在本申请实施例的应用于WEB浏览器端的缓存数据处理方法,一方面创建并管理多个缓存实例用于关联不同的缓存数据,另一方面在这些缓存实例中记录缓存数据的已有数据依赖方;另外,在从服务端获取更新的缓存数据时,在相应的缓存实例中记录要获取其缓存数据的新的数据依赖方,并且阻止新的数据依赖方在此时获取正在更新的缓存数据;更进一步地,在从服务端获取了更新的缓存数据后,向已记录的所有数据依赖方推送更新的缓存数据。这样的方案能够允许在浏览器获取的最新浏览器缓存数据能全面且及时地与该缓存数据的所有数据依赖方共享,从而避免在在B/S架构下的浏览器端数据缓存受限于服务器端无法主动推送数据,从而无法使得浏览器的模块及时更新缓存数据,这有助于减少网络交互,节省带宽,从而减少用户等待时间,提高WEB应用软件的使用体验,减轻服务器端访问压力。
在本申请实施例的第一示例性方案中,还通过在各缓存实例还记录与其缓存数据变更相关联的服务端接口,并且监听各缓存实例记录的服务端接口,来响应式触发相关缓存数据的更新,并进而对相关的数据依赖方推送缓存数据。这样的进一步方案带来了更突出的进步。作为解释而非限制地,当前,用户在浏览器端使用WEB应用软件时,可能会因为输入、编辑、选择等操作WEB应用软件某些模块而改变了用户数据,而此时可能依赖于相关缓存数据的其他模块此时仍使用这浏览器端存储的“旧”缓存,从而可能造成用户使用体验不佳等结果。而本申请实施例的进一步方案结合了对缓存数据变更相关联的服务端接口的监听和向所有数据依赖方推送更新的缓存数据,能够使得用户即使未使用或激活这样的其他模块,仍能近乎实时体验到或在后续使用这样的其他模块时立即体验到这些模块能使用了“最新”的数据,使得浏览器缓存在WEB应用软件的相关模块中都具有良好的使用效果。
在本申请实施例的第二示例性方案中的一种实现形式中,还针对不同浏览器窗口或页面配设各自的缓存管理器来创建并管理各自的多个缓存实例,并且还通过监听多个窗口或页面及其缓存管理器来获取各浏览器管理的缓存实例的缓存数据更新情况,从而在其中至少一个缓存管理器管理的缓存数据存在更新时,触发其他管理相同的缓存数据的缓存管理器更新相同的缓存数据。这样的进一步方案带来了显著的进步。作为解释而非限制地,当前,对于某些WEB应用,用户可能基于不同原因以多个窗口或页面打开该WEB应用,虽然某些窗口或页面打开的应用可能处于非激活状态或者并非当前操作的当前窗口或页面,但这些非激活或非当前窗口或页面中打开的WEB应用的某些模块可能依赖于同样的缓存数据,由此,当前页面或主页面的某些模块获取得到更新的缓存数据时,也希望其他窗口/页面的依赖相同数据的数据依赖方也能获得“最新”的数据。对此,本申请实施例的进一步方案中的这种实现形式中,通过将向(其中至少一个缓存管理器管理的缓存数据的)所有数据依赖方推送更新的缓存数据与为每个窗口/页面配设各自的缓存管理器及各自的缓存实例并对窗口/页面进行监听相结合,能够允许在多个窗口和页面中的依赖相同的缓存数据的相关模块能够得到更新的缓存数据,从而用户能近乎实时在其他窗口或页面体验到这样的“最新”的数据,或者当用户切换到这些窗口/页面时能立即体验到这样的“最新”的数据。这极大程度地改善了用户体验,并且还可能减少网络数据交互造成的堵塞或延迟。
在本申请实施例的第二示例性方案中的另一种实现形式中,还针对配备有主缓存管理器创建和管理所有的浏览器窗口或页面的模块依赖的所有缓存数据,而对应配备其他的虚假(Dummy)缓存管理器,并且通过每个虚假缓存管理器均关联调用主缓存管理器,并结合向(主缓存管理器管理的所有缓存实例的缓存数据的)所有数据依赖方推送更新的缓存数据,同样能够允许在多个窗口和页面中的依赖相同的缓存数据的相关模块能够得到更新的缓存数据,从而用户能近乎实时在其他窗口或页面体验到这样的“最新”的数据,或者当用户切换到这些窗口/页面时能立即体验到这样的“最新”的数据。
进一步地,本申请实施例的第二示例性方案或其实现形式与本申请实施例的第一示例性方案相结合还可以得到更优选的示例性方案,进一步改进了用户体验,并减少网络数据交互造成的堵塞或延迟。
本申请实施例的其他部分特点和优势将在下文结合具体实施例进行描述。
附图说明
结合附图来详细说明本申请的实施例,所示元件不受附图所显示的比例限制,附图中相同或相似的附图标记表示相同或类似的元件,其中:
图1示出了根据本申请实施例的用于在WEB浏览器端处理缓存数据的架构示意图;
图2示出了根据本申请实施例的用于在WEB浏览器端处理缓存数据的架构示意图;
图3示出了根据本申请实施例的用于在WEB浏览器端处理缓存数据的架构示意图;
图4示出了根据本申请实施例的应用于WEB浏览器端的缓存数据处理方法流程图;
图5示出了根据本申请实施例的应用于WEB浏览器端的缓存数据处理方法流程图;
图6示出了根据本申请实施例的应用于WEB浏览器端的缓存数据处理方法流程图;
图7示出了根据本申请实施例的应用于WEB浏览器端的缓存数据处理方法流程图;
图8示出了根据本申请实施例的应用于WEB浏览器端的缓存数据处理方法流程图;
图9示出了根据本申请实施例的应用于WEB浏览器端的缓存数据处理装置的结构示意图;
图10示出了能实施根据本申请实施例的方法的电子设备的示例性硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
下面将参照附图,对本申请的具体实施例进行详细说明。
在当前的B/S架构下的浏览器数据缓存技术中,浏览器数据缓存的获取或更新往往是通过用户侧的浏览器端的不同模块根据规定机制主动访问服务器而获取更新的缓存数据。或者,某些浏览器数据缓存技术增加了访问前的询问机制来进行更新。然而,在这些方案中的数据缓存的获取或更新均是在相应的浏览器模块请求下进行的,同样需要该数据缓存的其他浏览器模块无法得到更新后的缓存数据。
对此,本申请实施例提供了一种应用于WEB浏览器端的缓存数据处理方法,包括:创建并管理多个缓存实例,各缓存实例关联各自的缓存数据并记录其缓存数据的任何已有的第一数据依赖方;从服务端获取缓存实例的更新的缓存数据;在从服务端获取所述更新的缓存数据时,在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据;在从服务端获取了更新的缓存数据后,向已记录的所有数据依赖方推送所述更新的缓存数据。
在此,本领域技术人员将明白,本申请实施例所述的缓存数据处理方法及相关的装置、电子设备、存储介质是基于浏览器/服务器(B/S)架构的。在本文中,WEB浏览器端涉及B/S架构中的浏览器(端),也可以称作前端,所述的应用于WEB浏览器端将做宽泛的解释,例如本申请实施例的方案可以适用于WEB应用软件,也可以适用于混合应用软件(HybridApp)中基于B/S架构的部分。但是,本领域技术人员将明白,所述的应用于WEB浏览器端涉及的方案不适用于客户端/服务器(C/S)架构,如不适用于原生应用软件(Native App)或混合应用软件中基于C/S架构的部分。
在一个具体实施例中,可以设计至少一个数据缓存管理者,例如缓存管理器。如图1示出了缓存管理器100,缓存管理器创建并统一管理多个数据缓存实例,如图1示出了多个缓存实例1101、1102、1103,每个缓存实例可以关联相应的缓存数据。
在本申请实施例中,缓存管理器管理的缓存实例可以是针对单个窗口或单个页面的或者是跨窗口或跨页面的。在某些实施例中,浏览器页面也可以称为标签(Tab)。
在一个具体的实施例中,每个缓存实例可以用来记录该缓存实例(缓存数据)的全部数据依赖方以及该缓存实例的缓存数据的数据状态,例如为未使用、加载中、已完成中的任一种。
在本申请实施例中,缓存数据可涵盖各种不同种类的可缓存的数据内容,例如包括图片、flash文档、js文档、css文档、xml文档、表格等,在此不作限制。
在本申请实施例中,数据依赖方可以涵盖在WEB浏览器端加载的WEB应用软件(或混合应用软件的基于B/S部分)的各种功能模块/单元或其子模块单元,具体的模块单元、子模块/单元的类型和功能在此不作限制。本领域技术人员将明白,这些(子)模块/单元可以根据需要或设定去获取WEB浏览器端中缓存的各自的缓存数据。人们将明白,在不同实施例中,数据依赖方可以是针对单个窗口或单个页面的或者是跨窗口或跨页面的。例如,当在多个浏览器窗口或多页面加载应用软件或者应用软件为多窗口或多页面形式时,一个缓存数据可能具有位于不同窗口/页面的数据依赖方,或者该缓存数据的全部数据依赖方为其中某一窗口/页面的(子)模块/单元。
相应地,如图4所示,在一个实施例中,该应用于WEB浏览器端的缓存数据处理方法可包括:
S410:创建并管理多个缓存实例。
其中,各缓存实例可关联各自的缓存数据并记录其缓存数据的任何已有的第一数据依赖方及其缓存数据的数据状态。在创建所述多个缓存实例时可将各缓存实例的数据状态设置为未使用。
S430:从服务端获取缓存实例的更新的缓存数据。
S440:在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,并在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据。
S450:在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。
在本申请的实施例中所述的缓存数据处理方法可以应用于缓存管理器管理的所有缓存实例,也可以应用于部分缓存实例。
当图4的方法实施例基于图1所示的架构实施时,针对缓存管理者统一管理的多个数据缓存实例可以用不同的缓存编号、如不同的键值(key)区分,例如Map数据结构或Hash数据结构的Key来区分。在一些具体实施例中,“相同”的缓存实例或缓存数据根据上下文可能是指具有相同缓存编号的缓存实例或缓存数据。该缓存编号、如键值(Key)可以用于在WEB浏览器端中的缓存仓库中查找缓存数据。
相应地,创建并管理多个缓存实例,可包括:设置缓存管理器;由缓存管理器创建并管理所述多个缓存实例,并在缓存管理器中注册所述多个缓存实例各自的缓存编号。
其中,数据依赖方能凭借缓存编号、如键值(Key)访问相应的缓存数据。
在一些具体实施例中,每个缓存实例还可以记录获取数据的方法。针对各不同的缓存实例的缓存数据,可以具有不同的缓存数据获取方法。在一些实施例中,不同缓存实例的不同的获取数据方法涉及不同的数据获取链接或超链接。
在一些具体实施例中,每个缓存实例还可以记录任意默认值。
在一些具体实施例中,可以预先将把应用中需要缓存的缓存编号、如数据键值(key)注册到管理其的缓存管理器中。在一些具体实施例中,在最初注册时可以提供该缓存编号、如数据键值(key)之外,还可以提供相应的缓存实例记录的内容,包括但不限于获取数据的方法、任意默认值、与其缓存数据变更相关联的所有服务端接口,此时数据状态为“未使用”。
在一个优选实施例中,每个缓存实例还可以记录可以与其缓存数据变更相关联的所有服务端接口(即可能促发源数据更新的服务端接口)。该服务端接口指WEB浏览器端中可连接服务端的接口。作为举例而非限制地,可以监听某个表格缓存数据相关的服务端接口,例如WEB浏览器端中与服务端通信以将编辑、删除等操作表格数据传输至服务端的所有接口。在一些实施例中,可以监听这些接口,并且基于监听结果触发更新操作。
相应地,如图5所示,在一个实施例中,该应用于WEB浏览器端的缓存数据处理方法可包括:
S510:创建并管理多个缓存实例。
其中,各缓存实例还记录与其缓存数据变更相关联的服务端接口。
S520:监听各缓存实例记录的服务端接口。
S530:响应于服务端接口的预定操作被触发,从服务端获取记录有被触发服务端接口的缓存实例所关联的更新的缓存数据。
S540:在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据。
S550:在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。
在此,通过对缓存数据变更相关联的服务端接口的监听,并结合向所有数据依赖方推送更新的缓存数据,能够使得用户即使未使用或激活这样的其他模块,仍能近乎实时体验到或在后续使用这样的其他模块时立即体验到这些模块能使用了“最新”的数据。
在一些实施例中,数据依赖方获取需要的缓存数据或者向数据依赖方推送需要的缓存数据可以通过缓存编号、如数据键值(key)来获取或推送,例如通过缓存管理器在注册的缓存编号、如数据键值中查找数据键值来获取或推送。
在一些实施例中,可以通过缓存管理器判断当前注册的数据状态来决定是否阻止数据依赖方的获取或是否推送数据到数据依赖方。
在一些实施例中,可以缓存管理器可以通过前述记录的缓存数据获取方法来获取缓存数据更新。
在进一步的实施例中,可以在根据缓存数据处理方法中,在数据依赖方获取数据时判断是否是被获取数据首次被获取,并且在首次被获取时才获取缓存数据的更新,而若非首次被获取数据则直接获取浏览器端已有的缓存数据,并且在更新缓存数据时接收推送的数据更新,这样进一步减少了网络交互堵塞的可能性。
相应地,如图6所示,在一个实施例中,该应用于WEB浏览器端的缓存数据处理方法可包括:
S610:创建并管理多个缓存实例。
其中,各缓存实例可关联各自的缓存数据并记录其缓存数据的任何已有的第一数据依赖方及其缓存数据的数据状态。在创建所述多个缓存实例时可将各缓存实例的数据状态设置为未使用。
S620:响应于第三数据依赖方访问缓存实例,确定第三数据依赖方访问的缓存实例是否记录有第一数据依赖方和/或访问的缓存实例的数据状态。
S630:若记录的第一数据依赖方为空和/或数据状态为未使用,从服务端获取所述访问的缓存实例的更新的缓存数据。
S640:在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据。
S650:在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。
S660:若记录的第一数据依赖方不为空和/或数据状态为获取完成,在所述访问的缓存实例记录所述第三数据依赖方并允许所述第三数据依赖方获取所述访问的缓存实例的缓存数据。
在进一步的实施例中,还可针对不同浏览器窗口或页面配设各自的缓存管理器来创建并管理各自的多个缓存实例,并且还通过监听多个窗口或页面及其缓存管理器来获取各浏览器管理的缓存实例的缓存数据更新情况,从而在其中至少一个缓存管理器管理的缓存数据存在更新时,触发其他管理相同的缓存数据的缓存管理器更新相同的缓存数据。
相应地,如图7所示,在一个实施例中,该应用于WEB浏览器端的缓存数据处理方法中,前述的创建并管理多个缓存实例,可包括:S711:设置多个缓存管理器;S712:由每个缓存管理器分别创建并管理各自的多个缓存实例。
其中,每个所述窗口或页面配设各自的一个缓存管理器。
该应用于WEB浏览器端的缓存数据处理方法,还可包括
S720:监听多个窗口或页面及其缓存管理器。
S730:从服务端获取其中至少一个缓存管理器管理的缓存实例的更新的缓存数据。
S740:在获取所述更新的缓存数据时,在所述其中至少一个缓存管理器管理的相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据。
可选地,步骤S740还可包括:将所述其中至少一个缓存管理器管理的相应的缓存实例记录的数据状态更改为正在获取。
S750:在从服务端获取了更新的缓存数据后,向所述其中至少一个缓存管理器管理的相应的缓存实例已记录的所有数据依赖方推送所述更新的缓存数据。
可选地,步骤S750还可包括:将所述其中至少一个缓存管理器管理的相应的缓存实例记录的数据状态更改为获取完成。
S760:当其中至少一个缓存管理器管理的缓存实例的缓存数据更新时,触发管理相同的缓存实例的其他缓存管理器从服务端获取所述相同的缓存实例的更新的缓存数据的步骤。
S770:在所述其他缓存管理器从服务端获取更新的缓存数据时,在所述其他缓存管理器管理的相应的缓存实例中记录要获取其缓存数据的新的第四数据依赖方且阻止所述第四数据依赖方获取正在更新的缓存数据。
可选地,步骤S770还可包括:将所述其他缓存管理器管理的相应的缓存实例记录的数据状态更改为正在获取。
S780:在所述其他缓存管理器从服务端获取了更新的缓存数据后,向所述其他缓存管理器管理的相应的缓存实例已记录的所有数据依赖方推送所述更新的缓存数据。
可选地,步骤S780还可包括:将所述其他缓存管理器管理的相应的缓存实例记录的数据状态更改为获取完成。
在图7所示的实施例中,所述的相同的缓存实例或缓存数据可以是指具有相同缓存编号的缓存实例或缓存数据。
图7所示的实施例可以结合图4、图5、图6所示的实施例得到新的实施例。
在一个具体的实施例中,图7所示实施例的缓存数据处理方法可以基于窗口/页面监听实现的或者采用了窗口/页面监听单元。
在进一步的实施例中,该窗口/页面监听可以利用浏览器的api接口BroadcastChannel来实现,或者窗口/页面监听单元包括BroadcastChannel。
在一个具体实例中,图7所示实施例的方法可以基于图2所示的架构实现。
如图2所示,针对浏览器的多个窗口240A、240B、240C,分别配设各自的一个缓存管理器200A、200B、200C。每个缓存管理器分别创建并管理各自的多个缓存实例,其与各缓存数据关联。例如缓存管理器200A可以创建并管理各自的缓存实例2101、2102、2103,缓存管理器200B可以创建并管理各自的缓存实例2104、2105、2106,缓存管理器200C可以创建并管理各自的缓存实例2107、2108、2109。
如图2进一步示出,可以借助于窗口/页面监听单元、如浏览器的api接口BroadcastChannel监听这多个窗口240A、240B、240C及其配设的缓存管理器200A、200B、200C。由此,例如当监听到其中一个窗口、如240A的缓存管理器、如200A管理的缓存实例、如2101更新缓存数据时,可以通知具有同样的缓存实例(缓存数据)、如2105的窗口240B的缓存管理器200B获取更新,并相应地推送到该同样的缓存实例(缓存数据)、如2105的所有数据依赖方,如窗口240B中的模块,在此如前所述地,所述同样的缓存实例可以通过具有相同的缓存编号、如数据键值来确定。
作为图7所示的实施例的替代实施例,还可以配备有主缓存管理器创建和管理所有的浏览器窗口或页面的模块依赖的所有缓存数据,而对应配备其他的虚假(Dummy)缓存管理器,并且通过每个虚假缓存管理器均关联调用主缓存管理器,从而也能向位于对应虚假(Dummy)缓存管理器的其他页面的数据依赖方提供更新的缓存数据。
相应地,如图8所示,在一个实施例中,该应用于WEB浏览器端的缓存数据处理方法中,前述的创建并管理多个缓存实例,可包括:S811:设置包括主缓存管理器和其他的虚假缓存管理器的多个缓存管理器;S812:由主缓存管理器创建并管理所有缓存实例,所述虚假缓存管理器不创建缓存实例。其中,每个所述窗口或页面配设有各自的一个缓存管理器,所述多个缓存管理器包括主缓存管理器和其他的虚假缓存管理器,每个虚假缓存管理器均关联调用所述主缓存管理器。
进一步地,该应用于WEB浏览器端的缓存数据处理方法还可包括:
S830:从服务端获取主缓存管理器管理的缓存实例的更新的缓存数据。
S840:在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据。
S850:在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。
图8所示的实施例可以结合图4、图5、图6所示的实施例得到新的实施例。
在一个具体的实施例中,图8所示实施例的缓存数据处理方法可以基于主缓存管理器和虚假缓存管理器实现的或者采用了主缓存管理器和虚假缓存管理器。
在一个具体实例中,图8所示实施例的方法可以基于图3所示的架构实现。
如图3所示,针对浏览器的多个窗口340A、340B、340C,分别配设各自的一个缓存管理器300、350、360,其中对应窗口340B的缓存管理器300为主缓存管理器,而对应窗口340A、340C的缓存管理器350、360为虚假缓存管理器。主缓存管理器300创建并管理所有的多个缓存实例,其与各缓存数据关联,这些缓存数据可以用于多个不同窗口的不同数据依赖方,而非仅限于窗口340B中的数据依赖方。缓存管理器300可以创建并管理所有的缓存实例3101、3102、3103、3104、3105、3106、3107、3108、3109。例如其中的缓存实例3101、3102、3103的缓存数据可以为一个或多个窗口、如340A的模块使用,而非仅为缓存管理器300对应的窗口340B中的模块使用。
如图3进一步示出,可以借助于每个虚假缓存管理器350、360均关联调用所述主缓存管理器300,实现位于其他窗口、如340A、340B的数据依赖方在相应的数据获得更新时得到主缓存管理器300的推送,或者位于其他窗口、如340A、340B的数据依赖方能够如其他实施例所述地通过主缓存管理器获取缓存数据。这些推送和获取可以通过记录的数据依赖方和缓存编号、如数据键值来实现,如前所述地。
图7和图8所示的实施例或基于图2或图3架构的实施例,能够允许用户能近乎实时在其他窗口或页面体验到这样的“最新”的数据,或者当用户切换到这些窗口/页面时能立即体验到这样的“最新”的数据。这极大程度地改善了用户体验,并且还可能减少网络数据交互造成的堵塞或延迟。
下文将以示例性地形式描述结合了图4、图5、图6和图7的实施例的具体例子。
(a)可以针对每个窗口配置一个缓存管理器。缓存管理器可包括访问监听器,用于监听对应窗口向服务器端发出的所有访问地址。缓存管理者统一管理多个数据缓存实例,用不同的数据键值(Map Key)区分 。每个缓存实例可以记录:全部数据依赖方,数据状态(未使用、加载中、已完成),获取数据的方法,与其缓存数据变更相关联的服务端接口。
(b)事先把应用中需要缓存的数据键值(key)注册到缓存管理器中,注册时可以提供数据键值(key)、获取数据的方法、与其缓存数据变更相关联的服务端接口、任意默认值,此时数据状态设为“未使用”。
(c)应用启动时通过浏览器api:BroadcastChannel监听多个浏览器窗口,确保在其中一个窗口、如窗口1中使用该应用更新数据时,能及时触发其他窗口、如窗口2的更新。
(d)(当前窗口)应用中某个模块(数据依赖方)需要某缓存数据时可根据数据键值获取。此时,缓存管理器将当前数据依赖方记录入该缓存实例中,并在之前未记录有已有数据依赖方时,通过“获取数据的方法”去服务器端访问数据,同时将数据状态更改为“加载中”,在该状态下对该缓存数据的所有获取(即通过当前数据键值的访问)都只会记录依赖方 ,不会触发额外操作,直至数据状态为“已完成” 。当从服务器端访问到数据后,数据状态改为“已完成”,并将获取到的数据推送给全部的数据依赖方。
(e)若上述(d)项中,在之前已经记录有已有数据依赖方时,由当前数据依赖方直接根据数据键值获取需要的缓存数据。
(f)当访问监听器监听到某个与其缓存数据变更相关联的服务端接口的相关操作被触发后,将当前接口会影响到的缓存实例中数据状态改为“未使用”,并触发“获取数据的方法”,此后的操作与上述(d)项所述的从服务器获取数据及之后的操作一致。
在该具体示例中,可以在有数据依赖方首次通过唯一数据键值(key)从缓存管理器中获取数据时从服务端获取数据;而非首次有数据依赖方获取时,可以通过唯一数据键值(key)从缓存管理器中获取数据,不会再次向服务器端发起访问;而当通过服务器端接口改变数据源,从服务端获取数据,并将之前记录的数据依赖方自动接收到数据更新通知,并得到最新数据。
如图9所示,本申请实施例还提供一种缓存数据处理装置900,其同样可应用于WEB浏览器端。
如图9所示,该缓存数据处理装置900可包括缓存管理器910、更新单元930、锁定单元940和推送单元950。
该缓存管理器910可配置成创建并管理多个缓存实例,各缓存实例关联各自的缓存数据并记录其缓存数据的任何已有的第一数据依赖方及可选地其缓存数据的数据状态。可选地,该缓存管理器910在创建所述多个缓存实例时将各缓存实例的数据状态设置为未使用。
该更新单元930可配置成从服务端获取缓存实例的更新的缓存数据。
该锁定单元940可配置成在从服务端获取所述更新的缓存数据时,并在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据。可选地,该锁定单元940还可配置成在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取。
该推送单元950可配置成在从服务端获取了更新的缓存数据后,向已记录的所有数据依赖方推送所述更新的缓存数据。可选地,该推送单元950还可配置成在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成。
可选地,该缓存数据处理装置900还可包括监听单元920。可选地,各缓存实例还记录与其缓存数据变更相关联的服务端接口。
该监听单元920可配置成监听各缓存实例记录的服务端接口。
相应地,该更新单元930可配置成响应于服务端接口的预定操作被触发,从服务端获取记录有被触发服务端接口的缓存实例所关联的更新的缓存数据。
尽管图9未示出,该缓存数据处理装置900可包括多个所述缓存管理器910,每个缓存管理器对应一个浏览器窗口。
尽管图9未示出,该缓存数据处理装置900还可包括窗口/页面监听单元,配制成监听窗口/页面及其对应的缓存管理器。更具体地,该窗口/页面监听单元能监听多个缓存管理器中的缓存管理器管理的缓存数据的更新操作。
尽管图9未示出,该缓存数据处理装置900还可包括窗口同步单元,其配置成当其中至少一个缓存管理器管理的缓存实例的缓存数据更新时,触发管理相同的缓存实例的其他缓存管理器执行从服务端获取所述相同的缓存实例的更新的缓存数据。
在本申请实施例所述的装置特征可以应用于方法实施例以获得新的实施例,反之亦然。
本申请实施例还涉及能够实施本申请实施例方法的电子设备。
在一些实施例中,提供了一种电子设备,其可包括处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行本申请任一实施例的方法。
图10示出了一种可以实施本申请实施例的方法的示例性电子设备1000的示意图,在一些实施例中可以包括比图示更多或更少的电子设备。在一些实施例中,可以利用单个或多个电子设备实施。在一些实施例中,可以利用云端或分布式的电子设备实施。
如图10所示,电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序和/或数据或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序和/或数据而执行各种适当的操作和处理。处理器1001可以为单核或多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1001可以包括通用的主处理器(如CPU)以及一个或多个特殊的协处理器,例如图形处理器(GPU)、神经网络处理器(NPU)、数字信号处理器(DSP)或其他通用或专用集成电路等。在RAM 1003中,还存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
上述处理器与存储器共同用于执行存储在存储器中的程序,所述程序被计算机执行时能够实现上述各实施例描述的方法的步骤或功能。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如显示器以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
图10仅示意性示出示意性的电子设备,但根据本申请实施例的电子设备可以包括比图10所示电子设备更多或更少的组件或者具有与图10所示实施例设备相同、部分相同或不相同的架构。
尽管未示出,在一些实施例中还提供一种计算机可读存储介质,存储有计算机程序,计算机程序配置成被运行时执行任一本申请实施例的方法。该计算机程序包含组成根据本申请实施例的装置的各个程序模块/单元,各个程序模块/单元构成的计算机程序被执行时能够实现与上述实施例中描述的方法中的各个步骤所对应的功能。该计算机程序还可在如本申请实施例所述的电子设备上运行。
在本申请的实施例的存储介质包括非易失性和/或易失性的可以由任何方法或技术来实现信息存储的物品。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员应明白,本说明书的实施例可以以方法、系统或计算机程序产品等多种形式实施。因此,本领域技术人员可想到,上述实施例阐明的功能模块/单元或控制器以及相关方法步骤的实现,可以用软件、硬件和软/硬件结合的方式实现。
除非明确指出,根据本申请实施例记载的方法、程序的动作或步骤并不必须按照特定的顺序来执行并且仍然可以实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本文中,针对多个实施例进行了描述,但为简明起见,各实施例的描述并不是详尽的,各个实施例之间相同或相似的特征或部分可能会被省略。在本文中,“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”意指适用于根据本申请的至少一个实施例或示例中,而非所有实施例。上述术语并不必然意味着指代相同的实施例或示例。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
已参考上述实施例具体示出并描述了本申请的示例性系统及方法,其仅为实施本系统及方法的最佳模式的示例。本领域的技术人员可以理解的是可以在实施本系统及/或方法时对这里描述的系统及方法的实施例做各种改变而不脱离界定在所附权利要求中的本发明的精神及范围。
Claims (10)
1.一种缓存数据处理方法,应用于WEB浏览器端,其特征在于,所述缓存数据处理方法包括:
创建并管理多个缓存实例,各缓存实例关联各自的缓存数据并记录其缓存数据的任何已有的第一数据依赖方及其缓存数据的数据状态,在创建所述多个缓存实例时将各缓存实例的数据状态设置为未使用;
从服务端获取缓存实例的更新的缓存数据;
在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,并在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据;
在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。
2.根据权利要求1所述的缓存数据处理方法,其特征在于,各缓存实例还记录与其缓存数据变更相关联的服务端接口;
所述缓存数据处理方法还包括:监听各缓存实例记录的服务端接口;
从服务端获取缓存实例的更新的缓存数据,包括:
响应于服务端接口的预定操作被触发,从服务端获取记录有被触发服务端接口的缓存实例所关联的更新的缓存数据。
3.根据权利要求1或2所述的缓存数据处理方法,其特征在于,还包括:
响应于第三数据依赖方访问缓存实例,确定第三数据依赖方访问的缓存实例是否记录有第一数据依赖方和/或访问的缓存实例的数据状态;
若记录的第一数据依赖方为空和/或数据状态为未使用,从服务端获取所述访问的缓存实例的更新的缓存数据,
若记录的第一数据依赖方不为空和/或数据状态为获取完成,在所述访问的缓存实例记录所述第三数据依赖方并允许所述第三数据依赖方获取所述访问的缓存实例的缓存数据。
4.根据权利要求3所述的缓存数据处理方法,其特征在于,
创建并管理多个缓存实例,包括:在创建所述多个缓存实例时为各缓存实例设置缓存初始值作为初始关联的缓存数据;其中,若记录的第一数据依赖方为空和/或数据状态为未使用,立即向所述第三数据依赖方返回所述缓存初始值。
5.根据权利要求1或2所述的缓存数据处理方法,其特征在于,创建并管理多个缓存实例,包括:
设置缓存管理器;
由缓存管理器创建并管理所述多个缓存实例,并在所述缓存管理器中注册所述多个缓存实例各自的缓存编号,其中,数据依赖方能凭借所述缓存编号访问相应的缓存数据。
6.根据权利要求1或2所述的缓存数据处理方法,其特征在于,浏览器具有多个窗口或页面;
创建并管理多个缓存实例,包括:
设置多个缓存管理器,每个所述窗口或页面配设各自的一个缓存管理器,
由每个缓存管理器分别创建并管理各自的多个缓存实例;
所述缓存数据处理方法还包括:
监听所述多个窗口或页面及其缓存管理器;
当其中至少一个缓存管理器管理的缓存实例的缓存数据更新时,触发管理相同的缓存实例的其他缓存管理器执行从服务端获取所述相同的缓存实例的更新的缓存数据的步骤。
7.根据权利要求1或2所述的缓存数据处理方法,其特征在于,浏览器具有多个窗口或页面;
创建并管理多个缓存实例,包括:
设置多个缓存管理器,每个所述窗口或页面配设有各自的一个缓存管理器,所述多个缓存管理器包括主缓存管理器和其他的虚假缓存管理器,每个虚假缓存管理器均关联调用所述主缓存管理器;
由所述主缓存管理器创建并管理所有缓存实例,所述虚假缓存管理器不创建缓存实例。
8.一种缓存数据处理装置,应用于WEB浏览器端,其特征在于,所述缓存数据处理装置包括:
缓存管理器,配置成创建并管理多个缓存实例,各缓存实例关联各自的缓存数据并记录其缓存数据的任何已有的第一数据依赖方及其缓存数据的数据状态,在创建所述多个缓存实例时将各缓存实例的数据状态设置为未使用;
更新单元,配置成从服务端获取缓存实例的更新的缓存数据;
锁定单元,配置成在从服务端获取所述更新的缓存数据时,将相应的缓存实例记录的数据状态更改为正在获取,并在相应的缓存实例中记录要获取其缓存数据的新的第二数据依赖方且阻止所述第二数据依赖方获取正在更新的缓存数据;
推送单元,配置成在从服务端获取了更新的缓存数据后,将所述相应的缓存实例记录的数据状态更改为获取完成,并向已记录的所有数据依赖方推送所述更新的缓存数据。
9.一种电子设备,其特征在于,包括:处理器和存储有计算机程序的存储器,所述处理器被配置为在运行计算机程序时执行权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置成被运行时执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211081669.9A CN115150470B (zh) | 2022-09-06 | 2022-09-06 | 缓存数据处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211081669.9A CN115150470B (zh) | 2022-09-06 | 2022-09-06 | 缓存数据处理方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115150470A true CN115150470A (zh) | 2022-10-04 |
CN115150470B CN115150470B (zh) | 2022-11-25 |
Family
ID=83416345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211081669.9A Active CN115150470B (zh) | 2022-09-06 | 2022-09-06 | 缓存数据处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150470B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133783A (zh) * | 2014-07-11 | 2014-11-05 | 北京京东尚科信息技术有限公司 | 处理分散式缓存数据的方法和装置 |
CN106209447A (zh) * | 2016-07-07 | 2016-12-07 | 深圳市创梦天地科技有限公司 | 分布式缓存的故障处理方法及装置 |
WO2019179235A1 (zh) * | 2018-03-23 | 2019-09-26 | 阿里巴巴集团控股有限公司 | 一种数据缓存方法、装置及系统 |
CN113760928A (zh) * | 2021-03-08 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种缓存数据更新系统和方法 |
CN114461952A (zh) * | 2022-03-17 | 2022-05-10 | 深圳创维-Rgb电子有限公司 | 缓存数据处理方法、客户端及存储介质 |
CN114675987A (zh) * | 2022-04-18 | 2022-06-28 | 北京高途云集教育科技有限公司 | 一种缓存数据处理方法、装置、计算机设备和存储介质 |
-
2022
- 2022-09-06 CN CN202211081669.9A patent/CN115150470B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104133783A (zh) * | 2014-07-11 | 2014-11-05 | 北京京东尚科信息技术有限公司 | 处理分散式缓存数据的方法和装置 |
CN106209447A (zh) * | 2016-07-07 | 2016-12-07 | 深圳市创梦天地科技有限公司 | 分布式缓存的故障处理方法及装置 |
WO2019179235A1 (zh) * | 2018-03-23 | 2019-09-26 | 阿里巴巴集团控股有限公司 | 一种数据缓存方法、装置及系统 |
CN113760928A (zh) * | 2021-03-08 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种缓存数据更新系统和方法 |
CN114461952A (zh) * | 2022-03-17 | 2022-05-10 | 深圳创维-Rgb电子有限公司 | 缓存数据处理方法、客户端及存储介质 |
CN114675987A (zh) * | 2022-04-18 | 2022-06-28 | 北京高途云集教育科技有限公司 | 一种缓存数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115150470B (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10061852B1 (en) | Transparent proxy tunnel caching for database access | |
JP4578160B2 (ja) | キャッシュエントリを無効化するために使用できるデータベーステーブル変更情報の登録および取り出し | |
US10242023B2 (en) | Programming model for synchronizing browser caches across devices and web services | |
US7254578B2 (en) | Concurrency classes for shared file systems | |
US6973546B2 (en) | Method, system, and program for maintaining data in distributed caches | |
US10275347B2 (en) | System, method and computer program product for managing caches | |
US8965862B2 (en) | Directory oplock | |
US8321875B2 (en) | Selectively updating web pages on a mobile client | |
US10009399B2 (en) | Asset streaming and delivery | |
KR20130107280A (ko) | 디렉토리 리싱 | |
JP3737779B2 (ja) | 翻訳サーバ、翻訳方法及びプログラム | |
CN1234086C (zh) | 用于高速缓存文件信息的系统和方法 | |
US20090254556A1 (en) | Optimistic locking in online and offline environments | |
CN103858121B (zh) | 使Web应用获取数据库变化的方法和系统 | |
US12020071B2 (en) | Resource pre-fetch using age threshold | |
US9928174B1 (en) | Consistent caching | |
US7577752B2 (en) | Reliable page flow control | |
CN115150470B (zh) | 缓存数据处理方法、装置、电子设备和存储介质 | |
US20020062354A1 (en) | Method and apparatus for dynamic shared-memory caching of scripting engine product | |
JP2008287660A (ja) | キャッシュサーバ、キャッシュ管理方法、およびキャッシュ管理プログラム | |
CN106547751A (zh) | 缓存数据的更新方法及装置 | |
CN117407100A (zh) | 语言切换方法、装置、存储介质及服务器 | |
CN115934241A (zh) | 页面展示方法、装置、存储介质及计算机设备 | |
CN114461950A (zh) | 一种全局缓存方法、装置、电子设备及存储介质 | |
CN110825986B (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 | ||
CB02 | Change of applicant information |
Address after: Floor 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing 100102 Applicant after: Bairong Zhixin (Beijing) Technology Co.,Ltd. Address before: Floor 1-3, block a, global creative Plaza, No. 10, Furong street, Chaoyang District, Beijing 100102 Applicant before: Bairong Zhixin (Beijing) credit investigation Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |