CN110929195A - 数据的缓存策略确定方法、装置以及电子设备 - Google Patents
数据的缓存策略确定方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN110929195A CN110929195A CN201911151343.7A CN201911151343A CN110929195A CN 110929195 A CN110929195 A CN 110929195A CN 201911151343 A CN201911151343 A CN 201911151343A CN 110929195 A CN110929195 A CN 110929195A
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- policy
- cache policy
- determining
- 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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种数据的缓存策略确定方法、装置以及电子设备,涉及计算机技术领域。该方法包括:获取预置的数据包,数据包中包括至少一个第一缓存策略,任一第一缓存策略具有对应的至少一个操作类型的操作函数;确定当前数据处理设备的操作环境;从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略;当接收到用户输入的数据操作请求时,基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中确定目标缓存策略;基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数。本申请实现了基于操作环境不同确定不同的缓存策略对前端数据请求进行处理。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种数据的缓存策略确定方法、装置以及电子设备。
背景技术
随着应用平台的建设与推广,为提高应用平台的用户体验,各大平台对于前端数据的持久化存储功能要求日益增加。前端持久化存储就是要将数据永久的保存在前端,让数据难以删除或者删除后能够重新恢复。
随着前端技术架构的更新,native.js等跨终端技术对的实现,应用环境逐渐多样化,目前的前端数据持久化存储方案不可避免了出现了无法兼容多个应用环境的问题,从而导致多环境下前端数据的持久化存储实现困难。
发明内容
为了解决现有技术中所存在的问题中的至少一个,本申请实施例提供了一种数据的缓存策略确定方法、装置以及电子设备,本申请实施例所提供的技术方案如下:
本申请第一方面提供了一种数据的缓存策略确定方法,包括:
获取预置的数据包,数据包中包括至少一个第一缓存策略,任一第一缓存策略具有对应的至少一个操作类型的操作函数;
确定当前数据处理设备的操作环境;
从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略;
当接收到用户输入的数据操作请求时,基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中确定目标缓存策略;
基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数。
本申请第二方面提供了一种数据的缓存策略确定装置,包括:
获取模块,用于获取预置的数据包,数据包中包括至少一个第一缓存策略,任一第一缓存策略具有对应的至少一个操作类型的操作函数;
第一确定模块,用于确定当前数据处理设备的操作环境;
第二确定模块,用于从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略;
第三确定模块,用于当接收到用户输入的数据操作请求时,基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中确定目标缓存策略;
第四确定模块,关于基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数。
可选的,第一确定模块在确定当前数据处理设备的操作环境时,具体用于:
通过闭包方式对数据包进行初始化,得到初始化参数;
基于初始化参数,确定当前数据处理设备的操作环境。
可选的,若闭包方式包括自执行函数执行方式,第一确定模块通过闭包方式对数据包进行初始化,得到初始化参数时,具体用于:
通过自执行函数执行方式对数据包进行初始化,得到自执行函数参数。
可选的,该装置还包括接收模块、判断模块、替换策略模块以及新增策略模块;
在第二确定模块从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略之后,接收模块,用于接收用户配置的第三缓存策略、第三缓存策略对应的至少一个操作类型的操作函数;
判断模块,用于判断至少一个第二缓存策略中是否存在与第三缓存策略相同的第二缓存策略;
替换策略模块,用于若至少一个第二缓存策略中存在与第三缓存策略相同的第二缓存策略,则用第三缓存策略对应的至少一个操作类型的操作函数、替换相同的第二缓存策略的至少一个操作类型的操作函数;
新增策略模块,用于若至少一个第二缓存策略中不存在与第三缓存策略相同的第二缓存策略,则将第三缓存策略加入到至少一个第二缓存策略,以便于用户调用第三缓存策略以及第三缓存策略的操作函数。
可选的,该装置还包括排序模块;
第二确定模块从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略之后,排序模块,用于将各第二缓存策略进行优先级排序;
第三确定模块在基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中确定目标缓存策略时,具体用于:
在至少一个第二缓存策略中存在缓存操作标识对应的缓存策略时,确定与缓存操作标识对应的缓存策略为目标缓存策略;
在至少一个第二缓存策略中不存在缓存操作标识对应的缓存策略时,确定最大优先级的第二缓存策略为目标缓存策略。
可选的,第一缓存策略包括以下任一项:
浏览器本地缓存策略、浏览器会话缓存策略、cookie缓存策略、JS内存缓存策略;
操作函数包括以下任一项:
数据删除函数、数据修改函数、数据清空函数、数据新增函数。
可选的,该装置还包括处理模块,在第四确定模块基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数之后,处理模块,用于基于目标缓存策略以及目标操作函数,对前端数据进行处理。
本申请第三方面,提供了一种电子设备,该电子设备包括:
电子设备包括存储器和处理器;
存储器中存储有计算机程序;
处理器,用于在运行计算机程序时执行第一方面中任一项的方法。
本申请第四方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时可以执行第一方面中任一项的方法。
本申请实施例具有以下优点:
相对于目前的前端持久化存储方案,无法兼容多个应用环境的问题,本申请可以获取预置的数据包,数据包中包括至少一个第一缓存策略,任一第一缓存策略都具有对应的至少一个操作类型的操作函数,可以从至少一个第一缓存策略确定与前端数据处理设备的操作环境相匹配的至少一个第二缓存策略,这样当接收到用户输入的数据操作请求时,就可以基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中获取目标缓存策略,同时基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数,可以确定基于不同操作环境下确定出目标缓存策略和目标操作函数来实现前端数据持久化存储,可见,本申请通过预置包含有至少一个第一缓存策略的数据包,只需要封装统一的缓存接口就可以处理不同操作环境下的数据操作请求,可以兼容多个操作环境。
附图说明
为了清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请数据的缓存策略确定方法的一种实施例示意图;
图2为本申请数据的缓存策略确定装置的结构示意图;
图3为本申请电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
目前的前端持久化存储方案,要么无法兼容多个应用环境(或者操作环境),有点方案通过封装统一的缓存接口来适用不同的应用环境,但是不可避免的对环境造成了污染,总体而言现有的前端持久化存储方案存在如下缺点:
1、没有考虑多终端多环境下缓存接口不可用的问题,从而无法兼容多个应用环境;
2、没有考虑封装统一的缓存接口对整体环境的污染;
3、没有考虑技术的拓展性,对于新技术无法实现接口拓展,不能满足用户定制化需求。
本申请提供的数据的缓存策略确定方法、装置以及电子设备,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
请参照图1,本申请提供了一种数据的缓存策略确定方法,该方法具体可以由数据处理设备执行,该数据处理设备具体可以是终端设备,本申请包括:
步骤S101、获取预置的数据包,数据包中包括至少一个第一缓存策略,任一第一缓存策略具有对应的至少一个操作类型的操作函数;
数据处理设备获取预置的数据包,预置的数据包可以是数据处理设备本地缓存的数据包,也可以是数据处理设备从服务器获取到的数据包。
预置的数据包中包括至少一个第一缓存策略,第一缓存策略是一种前端数据的操作策略,即以何种策略来操作前端数据,例如可以是一种更新前端数据的策略,第一缓存策略具有对应的至少一个操作类型的操作函数,操作类型指的是用户对前端数据所进行的是何种操作,例如用户对前端数据所进行的是更新操作,可以理解的是,任一第一缓存策略对应的至少一个操作类型的操作函数也存储于该预置的数据包中。
如上述第一缓存策略的个数为至少一个,即可以是一个或一个以上,实际应用中,为了适应不同的应用环境,更可能的情况是,第一缓存策略的个数为两个或两个以上。
本实施例中的数据包可以是JS(JavaScript)文件,数据处理设备可以通过<javascript>标签形式获取封装好的JS文件。
步骤S102、确定当前数据处理设备的操作环境;
步骤S103、从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略;
数据处理设备通过对数据包进行初始化可以确定当前数据处理设备的操作环境,在不同的操作环境下,可以使用的第一缓存策略是不同的,数据处理设备从数据包的第一缓存策略中确定与该操作环境相匹配的至少一个第二缓存策略,可以理解的是,如果数据包中包括一个第一缓存策略,则与操作环境相匹配的第二缓存策略的个数为一个,即为数据包中唯一的第一缓存策略。
步骤S104、当接收到用户输入的数据操作请求时,基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中确定目标缓存策略;
步骤S105、基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数。
数据操作请求是指用户对前端数据的操作请求,对于不用的用户,针对前端数据的操作策略一般是不同的,用户可以通过数据操作请求中携带操作策略标识来选择操作策略,数据处理设备接收到用户输入的数据操作请求后,数据处理设备可以基于缓存策略标识从至少一个第二缓存策略中确定目标缓存策略,目标缓存策略的个数可以是一个,缓存策略标识可以是密钥(key)。
同时基于前端数据的操作类型不同,数据操作请求也是不同的,例如前端数据的操作类型为更新数据,则数据操作请求为数据更新请求,数据操作请求中还携带有操作类型标识,如上述目标缓存策略对应有至少一个操作类型的操作函数,数据处理设备可以基于操作类型标识,从目标缓存策略的所有操作类型的操作函数中确定目标操作函数。
相对于目前的前端持久化存储方案,无法兼容多个应用环境的问题,本申请可以获取预置的数据包,数据包中包括至少一个第一缓存策略,任一第一缓存策略都具有对应的至少一个操作类型的操作函数,可以从至少一个第一缓存策略确定与前端数据处理设备的操作环境相匹配的至少一个第二缓存策略,这样当接收到用户输入的数据操作请求时,就可以基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中获取目标缓存策略,同时基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数,可以确定基于不同操作环境下确定出目标缓存策略和目标操作函数来实现前端数据持久化存储,可见,本申请通过预置包含有至少一个第一缓存策略的数据包,只需要封装统一的缓存接口就可以处理不同操作环境下的数据操作请求,可以兼容多个操作环境。
可选的,第一缓存策略包括以下任一项:
浏览器本地缓存策略、浏览器会话缓存策略、cookie缓存策略、JS内存缓存策略;
操作函数包括以下任一项:
数据删除函数、数据修改函数、数据清空函数、数据新增函数。
可选的,基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数之后,方法还包括:
基于目标缓存策略以及目标操作函数,对前端数据进行处理。
在本实施例中,预置的第一缓存策略可以是浏览器本地缓存(localStorage)策略、浏览器会话缓存(sessionStorage)策略、cookie缓存策略以及JS(JavaScript)内存缓存策略中任一项。
如上述前端数据的操作类型不同,数据操作请求是不同的,具体的,前端数据的类型可以是删除数据、修改数据、清空数据、新增数据中任一项,对应的数据操作请求可以是数据删除请求、数据修改请求、数据清空请求以及数据新增请求中任一项,对应的操作类型的操作函数可以是数据删除函数、数据修改函数、数据清空函数、数据新增函数中任一项。
如上述基于缓存策略标识确定目标缓存策略,基于操作类型标识确定目标操作函数后,数据处理设备可以基于目标缓存策略和目标操作函数对用户的前端数据进行处理,响应用户操作。本申请的一种可能的应用场景是:
在运行应用程序时,用户需要修改数据,一般不同的用户修改数据的缓存策略一般是不同的,用户需要确定出缓存策略从而以该缓存策略来修改数据,同时本申请还要考虑操作环境是否支持该缓存策略,数据处理设备先初始化数据包确定出当前操作环境支持的一个或多个缓存策略并向用户展示,用户可以通过调用缓存操作函数来向数据处理设备发送携带有操作策略标识以及操作类型标识的数据操作请求,则数据处理设备可以确定出目标缓存策略和目标缓存策略下的数据修改函数,从而在用户修改数据时就可以以目标缓存策略,同时调用数据修改函数来修改用户数据,这样可以以适用操作环境的缓存策略来操作前端数据。同时,还可以以用户选择的缓存策略来操作前端数据,满足了用户个性化需求。
需要说明的是,上述缓存操作函数是缓存策略的一种操作规则,数据处理设备可以将可以将数据包中的缓存策略和后面实施例中用户自定义的缓存策略设置同一缓存操作函数(或操作规则),当然用户自定义的缓存策略也可以由用户自己设置操作规则。
如上述现有的方案有些也可以通过封装统一的缓存接口来适用不同的应用环境,但是与上述本申请预置数据包来适应不同应用环境的方式有所不同,同时,现有的方案在系统运行过程中不可避免的对环境造成了污染,基于此,本申请可以以闭包方式来运行数据包,避免了对操作系统的运行环境操作的污染,具体方式如下:
可选的,确定当前数据处理设备的操作环境,包括:
通过闭包方式对数据包进行初始化,得到初始化参数;
基于初始化参数,确定当前数据处理设备的操作环境。
可选的,若闭包方式包括自执行函数执行方式,通过闭包方式对数据包进行初始化,得到初始化参数,包括:
通过自执行函数执行方式对数据包进行初始化,得到自执行函数参数。
在本实施例中,可以通过闭包方式对数据包进行初始化生成初始化参数,闭包方式运用函数缓存区,可以在不污染全局变量的情况下把特定的功能写到一个闭包里面去,对系统环境不会造成污染,初始化参数可以用于确定数据处理设备的操作环境以及函数运行逻辑。
具体的:闭包方式具体可以是自执行函数执行方式也可以是其他函数执行方式,本申请自执行函数执行方式为例,则数据处理设备通过自执行函数执行方式对数据包进行初始化,就可以得到自执行函数参数,自执行函数参数包括环境上下文、工厂函数两个参数。其中,环境上下文可以用于确定当前数据处理设备的操作环境,基于环境上下文参数,数据处理设备可以通过异常捕获方式从数据包中确定出支持当前数据处理设备的操作环境的第二缓存策略,并将第二缓存策略存储在策略收集器中,工厂函数提供函数内部运行逻辑以及每个缓存策略的操作逻辑函数封装方式,从而可以确定当前函数支持策略的新增,即可以在策略收集器中新增策略,则用户可以在策略收集器中加入自定义的缓存策略,用户自定义缓存策略的具体加入过程将在后面的实施例中进行论述。
在实施例中,通过闭包方式运行数据包,通过封装统一的缓存接口来适用不同的应用环境的同时,又避免了对操作环境造成污染。
依据上述实施例可知,以闭包方式来运行数据包,除了可以避免了对操作系统的运行环境操作的污染外,还可以实现接口的拓展,兼容用户自定义的缓存策略,具体的:
可选的,从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略之后,方法还包括:
接收用户配置的第三缓存策略、第三缓存策略对应的至少一个操作类型的操作函数;
判断至少一个第二缓存策略中是否存在与第三缓存策略相同的第二缓存策略;
若至少一个第二缓存策略中存在与第三缓存策略相同的第二缓存策略,则用第三缓存策略对应的至少一个操作类型的操作函数、替换相同的第二缓存策略的至少一个操作类型的操作函数;
若至少一个第二缓存策略中不存在与第三缓存策略相同的第二缓存策略,则将第三缓存策略加入到至少一个第二缓存策略,以便于用户调用第三缓存策略以及第三缓存策略的操作函数。
如上述工厂函数提供函数内部运行逻辑,确定当前函数支持策略的新增,在应用初始化阶段,用户可以调用策略收集器操作函数上传符合自己业务功能的第三缓存策略以及第三缓存策略对应的至少一个操作类型的操作函数,或者用户上传第三方技术提供的第三缓存策略以及第三缓存策略对应的至少一个操作类型的操作函数,数据处理设备接收用户自定义的第三缓存策略以及操作函数后,判断至少一个第二缓存策略中是否存在与第三缓存策略相同的第二缓存策略,具体判断的方式是:基于第三缓存策略的缓存策略标识(可以是key),判断第二缓存策略中是否存在相同的缓存策略标识(即相同的key),如果两缓存策略的缓存策略标识相同,则表示这两个缓存策略是同一缓存策略,但是该缓存策略对应操作函数可以相同,也可以不同,若第二缓存策略中存在与第三缓存策略相同的第二缓存策略,则用第三缓存策略对应的至少一个操作类型的操作函数、替换相同的第二缓存策略的至少一个操作类型的操作函数;若至少一个第二缓存策略中不存在与第三缓存策略相同的第二缓存策略,则直接将第三缓存策略加入到至少一个第二缓存策略。
通过上述两种方式数据处理设备均可以将第三缓存策略加入策略收集器,从而可以调用第三缓存策略以及第三缓存策略的操作函数来对前端数据进行处理。
本申请通过为用户提供拓展函数,可以实现接口拓展,从而在第二缓存策略中加入用户自定义的缓存策略,满足了用户的定制化需求,同时在前端技术更新的时候,可以兼容新技术。
进一步的,当第二缓存策略中存在缓存策略标识对应的目标缓存策略时,则确定出与缓存策略标识对应的目标缓存策略,当第二缓存策略中不存在用户想选择的目标缓存策略时,则由数据处理设备依据预置规则选择出目标缓存策略,具体的:
可选的,从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略之后,方法还包括:
将各第二缓存策略进行优先级排序;
基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中确定目标缓存策略,包括:
在至少一个第二缓存策略中存在缓存操作标识对应的缓存策略时,确定与缓存操作标识对应的缓存策略为目标缓存策略;
在至少一个第二缓存策略中不存在缓存操作标识对应的缓存策略时,确定最大优先级的第二缓存策略为目标缓存策略。
在本实施例中,可以对策略收集器中的至少一个第二缓存策略(如果加入了第三缓存策略,至少一个第二缓存策略还包括第三缓存策略)进行优先级排序,如果策略收集器中的第二缓存策略中存在缓存策略标识对应的第二缓存策略,则直接将该第二缓存策略作为目标缓存策略,如果策略收集器中的不存在缓存策略标识对应的第二缓存策略,则确定最大优先级的第二缓存策略为目标缓存策略,同时,数据处理设备会向用户发送警告信息,通知用户策略收集器中不存在用户所选择的策略,但是不会中断应用程序的执行。
在本实施例中,可以基于用户对操作策略的选择对不同用户的数据操作请求进行处理,缓存策略是用户主动选择的,满足了用户个性化需求。
综上所述,本申请具体具有如下优点:
1、通过自执行函数方式利用函数缓存区闭包方式,避免与环境中其他方法冲突,避免了对系统环境的污染;
2、通过为用户提供拓展函数,用户可以上传自定义的缓存策略,满足用户业务的特殊性要求,同时在前端技术更新的时候,可以兼容新技术。
3、通过设置策略收集器,提供多种缓存策略共存;
4、提供适配器功能,在环境初始阶段判断哪些缓存策略在该环境下可用,防止应用异常;
5、通过设置统一的缓存操作函数,可以将数据包中的缓存策略和用户自定义的缓存策略用同一操作函数(或操作规则)表达,降低工具运用复杂度,减少运维成本;
上面图1介绍了本申请提供的一种数据的缓存策略确定方法,本申请还提供了一种缓存策略确定装置,请参照图2,该装置包括:
获取模块201,用于获取预置的数据包,数据包中包括至少一个第一缓存策略,任一第一缓存策略具有对应的至少一个操作类型的操作函数;
第一确定模块202,用于确定当前数据处理设备的操作环境;
第二确定模块203,用于从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略;
第三确定模块204,用于当接收到用户输入的数据操作请求时,基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中确定目标缓存策略;
第四确定模块205,关于基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数。
可选的,第一确定模块202在确定当前数据处理设备的操作环境时,具体用于:
通过闭包方式对数据包进行初始化,得到初始化参数;
基于初始化参数,确定当前数据处理设备的操作环境。
可选的,若闭包方式包括自执行函数执行方式,第一确定模块202通过闭包方式对数据包进行初始化,得到初始化参数时,具体用于:
通过自执行函数执行方式对数据包进行初始化,得到自执行函数参数。
可选的,该装置还包括接收模块、判断模块、替换策略模块以及新增策略模块;
在第二确定模块203从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略之后,接收模块,用于接收用户配置的第三缓存策略、第三缓存策略对应的至少一个操作类型的操作函数;
判断模块,用于判断至少一个第二缓存策略中是否存在与第三缓存策略相同的第二缓存策略;
替换策略模块,用于若至少一个第二缓存策略中存在与第三缓存策略相同的第二缓存策略,则用第三缓存策略对应的至少一个操作类型的操作函数、替换相同的第二缓存策略的至少一个操作类型的操作函数;
新增策略模块,用于若至少一个第二缓存策略中不存在与第三缓存策略相同的第二缓存策略,则将第三缓存策略加入到至少一个第二缓存策略,以便于用户调用第三缓存策略以及第三缓存策略的操作函数。
可选的,该装置还包括排序模块;
第二确定模块203从数据包的第一缓存策略中确定与操作环境相匹配的至少一个第二缓存策略之后,排序模块,用于将各第二缓存策略进行优先级排序;
第三确定模块204在基于数据操作请求中的缓存策略标识,从至少一个第二缓存策略中确定目标缓存策略时,具体用于:
在至少一个第二缓存策略中存在缓存操作标识对应的缓存策略时,确定与缓存操作标识对应的缓存策略为目标缓存策略;
在至少一个第二缓存策略中不存在缓存操作标识对应的缓存策略时,确定最大优先级的第二缓存策略为目标缓存策略。
可选的,第一缓存策略包括以下任一项:
浏览器本地缓存策略、浏览器会话缓存策略、cookie缓存策略、JS内存缓存策略;
操作函数包括以下任一项:
数据删除函数、数据修改函数、数据清空函数、数据新增函数。
可选的,该装置还包括处理模块,在第四确定模块205基于数据操作请求中的操作类型标识,从目标缓存策略所对应的操作函数中确定与操作类型标识对应的目标操作函数之后,处理模块,用于基于目标缓存策略以及目标操作函数,对前端数据进行处理。
由于本申请实施例所提供的装置为可以执行本申请实施例中相应的方法的装置,故而基于本申请实施例中所提供的方法,本领域所属技术人员能够了解本申请实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的装置,都属于本申请所欲保护的范围。
基于与本申请实施例所提供的方法相同的原理,本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器;存储器中存储有计算机程序;处理器用于在运行计算机程序时执行本申请任一可选实施例中所提供的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时可以实现本申请任一可选实施例中所提供的方法。
作为一示例,图3中示出了本申请可以应用于的一种电子设备的结构示意图,该电子设备具体可以是终端设备,也可以是其他设备,该电子设备8000包括存储器8003和处理器8001,存储器8003中存储有计算机程序,处理器8001,用于在运行计算机程序时执行上述任一方法。具体的,图3只是示出了电子设备的一种可选的示意性结构。图3中所示的该电子设备8000的结构并不构成对本申请实施例的限定。
其中,处理器8001和存储器8003相连,如通过总线8002相连。可选地,电子设备8000还可以包括收发器8004。需要说明的是,实际应用中收发器8004不限于一个,收发器8004可以具体用于该电子设备8000与其他设备的通信。
处理器8001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请申请内容所描述的各种示例性的逻辑方框,模块和电路。处理器8001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线8002可包括一通路,在上述组件之间传送信息。总线8002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线8002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器8003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器8003用于存储执行本申请方案的应用程序代码,并由处理器8001来控制执行。处理器8001用于执行存储器8003中存储的应用程序代码,以实现上面任一方法实施例所示的内容。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据的缓存策略确定方法,其特征在于,包括:
获取预置的数据包,所述数据包中包括至少一个第一缓存策略,任一第一缓存策略具有对应的至少一个操作类型的操作函数;
确定当前数据处理设备的操作环境;
从所述数据包的第一缓存策略中确定与所述操作环境相匹配的至少一个第二缓存策略;
当接收到用户输入的数据操作请求时,基于所述数据操作请求中的缓存策略标识,从所述至少一个第二缓存策略中确定目标缓存策略;
基于所述数据操作请求中的操作类型标识,从所述目标缓存策略所对应的操作函数中确定与所述操作类型标识对应的目标操作函数。
2.根据权利要求1所述的方法,其特征在于,所述确定当前数据处理设备的操作环境,包括:
通过闭包方式对所述数据包进行初始化,得到初始化参数;
基于所述初始化参数,确定所述当前数据处理设备的操作环境。
3.根据权利要求2所述的方法,其特征在于,若所述闭包方式包括自执行函数执行方式,通过闭包方式对所述数据包进行初始化,得到初始化参数,包括:
通过所述自执行函数执行方式对所述数据包进行初始化,得到自执行函数参数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述从所述数据包的第一缓存策略中确定与所述操作环境相匹配的至少一个第二缓存策略之后,所述方法还包括:
接收用户配置的第三缓存策略、第三缓存策略对应的至少一个操作类型的操作函数;
判断所述至少一个第二缓存策略中是否存在与所述第三缓存策略相同的第二缓存策略;
若所述至少一个第二缓存策略中存在与所述第三缓存策略相同的第二缓存策略,则用所述第三缓存策略对应的至少一个操作类型的操作函数、替换所述相同的第二缓存策略的至少一个操作类型的操作函数;
若所述至少一个第二缓存策略中不存在与所述第三缓存策略相同的第二缓存策略,则将所述第三缓存策略加入到所述至少一个第二缓存策略,以便于所述用户调用所述第三缓存策略以及所述第三缓存策略的操作函数。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述从所述数据包的第一缓存策略中确定与所述操作环境相匹配的至少一个第二缓存策略之后,所述方法还包括:
将各第二缓存策略进行优先级排序;
所述基于所述数据操作请求中的缓存策略标识,从所述至少一个第二缓存策略中确定目标缓存策略,包括:
在至少一个第二缓存策略中存在所述缓存操作标识对应的缓存策略时,确定与所述缓存操作标识对应的缓存策略为所述目标缓存策略;
在至少一个第二缓存策略中不存在所述缓存操作标识对应的缓存策略时,确定最大优先级的第二缓存策略为所述目标缓存策略。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一缓存策略包括以下任一项:
浏览器本地缓存策略、浏览器会话缓存策略、cookie缓存策略、JS内存缓存策略;
所述操作函数包括以下任一项:
数据删除函数、数据修改函数、数据清空函数、数据新增函数。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述基于所述数据操作请求中的操作类型标识,从所述目标缓存策略所对应的操作函数中确定与所述操作类型标识对应的目标操作函数之后,所述方法还包括:
基于所述目标缓存策略以及所述目标操作函数,对前端数据进行处理。
8.一种数据的缓存策略确定装置,其特征在于,包括:
获取模块,用于获取预置的数据包,所述数据包中包括至少一个第一缓存策略,任一第一缓存策略具有对应的至少一个操作类型的操作函数;
第一确定模块,用于确定当前数据处理设备的操作环境;
第二确定模块,用于从所述数据包的第一缓存策略中确定与所述操作环境相匹配的至少一个第二缓存策略;
第三确定模块,用于当接收到用户输入的数据操作请求时,基于所述数据操作请求中的缓存策略标识,从所述至少一个第二缓存策略中确定目标缓存策略;
第四确定模块,关于基于所述数据操作请求中的操作类型标识,从所述目标缓存策略所对应的操作函数中确定与所述操作类型标识对应的目标操作函数。
9.一种电子设备,其特征在于,包括:
所述电子设备包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于在运行所述计算机程序时执行权利要求1-7中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911151343.7A CN110929195B (zh) | 2019-11-21 | 2019-11-21 | 数据的缓存策略确定方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911151343.7A CN110929195B (zh) | 2019-11-21 | 2019-11-21 | 数据的缓存策略确定方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929195A true CN110929195A (zh) | 2020-03-27 |
CN110929195B CN110929195B (zh) | 2023-03-24 |
Family
ID=69851563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911151343.7A Active CN110929195B (zh) | 2019-11-21 | 2019-11-21 | 数据的缓存策略确定方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929195B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257122A (zh) * | 2020-10-22 | 2021-01-22 | 深圳软牛科技有限公司 | 基于t2芯片的数据处理方法、装置、设备及存储介质 |
WO2022152086A1 (zh) * | 2021-01-15 | 2022-07-21 | 华为云计算技术有限公司 | 数据缓存方法、装置、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170255556A1 (en) * | 2016-03-02 | 2017-09-07 | Seagate Technology Llc | Workload detection and media cache management |
CN107451236A (zh) * | 2017-07-26 | 2017-12-08 | 上海斐讯数据通信技术有限公司 | 数据缓存方法、装置和计算机处理设备 |
CN110347545A (zh) * | 2019-05-21 | 2019-10-18 | 深圳壹账通智能科技有限公司 | 一种业务平台缓存策略的测试方法及装置 |
-
2019
- 2019-11-21 CN CN201911151343.7A patent/CN110929195B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170255556A1 (en) * | 2016-03-02 | 2017-09-07 | Seagate Technology Llc | Workload detection and media cache management |
CN107451236A (zh) * | 2017-07-26 | 2017-12-08 | 上海斐讯数据通信技术有限公司 | 数据缓存方法、装置和计算机处理设备 |
CN110347545A (zh) * | 2019-05-21 | 2019-10-18 | 深圳壹账通智能科技有限公司 | 一种业务平台缓存策略的测试方法及装置 |
Non-Patent Citations (1)
Title |
---|
米丽萍,陈旭清: "分布式和缓存技术在大并发量网站中的应用", 《计算机时代》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257122A (zh) * | 2020-10-22 | 2021-01-22 | 深圳软牛科技有限公司 | 基于t2芯片的数据处理方法、装置、设备及存储介质 |
WO2022152086A1 (zh) * | 2021-01-15 | 2022-07-21 | 华为云计算技术有限公司 | 数据缓存方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110929195B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3968702A1 (en) | Communication method and apparatus, entity and computer readable storage medium | |
CN108491450A (zh) | 数据缓存方法、装置、服务器和存储介质 | |
CN107682426B (zh) | 接口代理方法及应用服务器 | |
CN107193609B (zh) | 应用中功能模块调用方法及装置、电子设备 | |
CN114785685A (zh) | 软件差分升级方法、装置、电子设备及可读存储介质 | |
WO2016040711A1 (en) | Accounts control | |
CN110929195B (zh) | 数据的缓存策略确定方法、装置以及电子设备 | |
US20190245827A1 (en) | Method and apparatus for synchronizing contact information and medium | |
CN110324436B (zh) | 一种传输层代理的代理方法及装置 | |
CN106161075A (zh) | 业务处理方法、装置及系统 | |
CN111294888A (zh) | 一种网络选择方法及装置 | |
CN113115400B (zh) | 一种通信方法及装置 | |
CN112714420B (zh) | wifi热点提供设备的网络访问方法、装置和电子设备 | |
CN112839071B (zh) | 训练系统、训练数据访问方法及装置、电子设备、介质 | |
US11057489B2 (en) | Content deployment method and delivery controller | |
CN111200608B (zh) | 链路信息处理方法和装置 | |
US11451513B2 (en) | Notification device and notification method | |
CN112887958A (zh) | 一种数据存储方法、存储介质以及终端设备 | |
CN114553834B (zh) | 5g核心网和ims网络的交互方法及装置 | |
CN110351190B (zh) | 路由控制方法、装置以及计算机设备 | |
CN112511441A (zh) | 报文的处理方法及装置 | |
CN113422772B (zh) | 专网终端访问处理方法、装置及电子设备 | |
CN114401302B (zh) | 联动动作的执行方法、装置及存储介质 | |
CN117560285B (zh) | 一种智控物联整机ota升级方法、客户端及服务端 | |
CN116600031B (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 |