缓存方案的更新方法、装置、设备及存储介质与流程

文档序号:30269918发布日期:2022-06-02 07:46阅读:64来源:国知局
缓存方案的更新方法、装置、设备及存储介质与流程

1.本技术涉及软件开发技术领域,尤其涉及一种缓存方案的更新方法、装置、计算机设备及存储介质。


背景技术:

2.在项目设计中缓存方案是一个项目能否稳定的主要问题之一,缓存方案用来解决数据库的高并发访问等问题,从而提高项目访问速率。常见的缓存方案,一般使用多级缓存的方式,通过设置固定的错峰有效期来防止缓存击穿,以提高项目访问速率,但该缓存方案会占用较多的内存,且方案中的固定缓存有效期在面对系统状态处于多种业务场景时,不能及时应变,从而导致系统的稳定性下降。


技术实现要素:

3.本技术提供一种缓存方案的更新方法、装置、计算机设备及存储介质,解决了现有技术在系统状态处于多种业务场景时,缓存方案中缓存有效期不能及时应变,从而导致系统的稳定性下降的问题。
4.第一方面,本技术实施例提供了一种缓存方案的更新方法,包括:
5.查询缓存策略系统的系统状态,得到系统状态特征集合;
6.通过训练后的缓存策略更新模型中的分类算法对所述系统状态特征集合中的多个系统状态特征进行缓存策略预测,得到更新的缓存策略;
7.若所述更新的缓存策略与预存的初始缓存策略不同,则将执行中的所述初始缓存策略修改为所述更新的缓存策略;
8.若所述更新的缓存策略与预存的初始缓存策略相同,则保持执行所述初始缓存策略。
9.第二方面,本技术实施例还提供了一种缓存方案的更新装置,包括:
10.系统状态获取模块,查询缓存策略系统的系统状态,得到系统状态特征集合;
11.缓存策略预测模块,通过训练后的缓存策略更新模型中的分类算法对所述系统状态特征集合中的多个系统状态特征进行缓存策略预测,得到更新的缓存策略;
12.缓存策略执行模块,若所述更新的缓存策略与预存的初始缓存策略不同,则将执行中的所述初始缓存策略修改为所述更新的缓存策略;若所述更新的缓存策略与预存的初始缓存策略相同,则保持执行所述初始缓存策略。
13.第三方面,本技术实施例还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述缓存方案的更新方法的步骤。
14.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述缓存方案的更新方法的步骤。
dictionary server,即远程字典服务)进行说明,redis包括redis key也可以称为key,key可以添加有效期配置,有效期就是缓存数据保留在所在缓存服务器地时间,有效期配置可以避免使用频率不高的key长期存在,从而占用内存资源。redis会把每个设置了有效期配置的key存放到一个独立的字典中,并且会定时遍历这个字典来删除到期的key。
27.可以理解地,redis是一种键值型的key-value数据库,key与value一一对应,其中所支持存储的value类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set
‑‑
有序集合)和hash(哈希类型)。redis支持各种不同方式的排序,为了保证效率,通过将数据缓存在内存中作为缓存服务器,redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
28.图2示出了本技术一实施例提供的缓存方案的更新方法的实现流程图。如图2所示,提供一种缓存方案的更新方法,其技术方案主要包括以下步骤s10-s40:
29.步骤s10、查询缓存策略系统的系统状态,得到系统状态特征集合。
30.在步骤s10中,缓存策略一般用于决策当下系统的缓存系统的缓存数据的状态,缓存策略包括缓存数据的有效期配置。根据正在执行缓存策略的缓存策略系统系统,进行缓存策略系统系统的系统状态查询,得到包括多个系统状态,以用来根据系统的系统状态进行动态缓存侧拉调节,从而提高系统的稳定性和运算效率。
31.其中,通过将获取的所述系统状态的多个系统状态项目进行离散化处理,得到对应的多个系统状态特征,将多个所述系统状态特征进行组合,得到所述系统状态特征集合,将系统状态离散化以用于系统状态特征集进行缓存策略的决策预测。
32.在一实施例中,系统状态包括但不限于cpu使用状态、内存使用状态、流量状态、访问量状态等数据,通过将以上系统状态进行收集,并通过one hot编码将多个系统状态转化对应的系统状态特征,得到系统状态特征集合用于缓存方案的预测。
33.在一实施例中,通过独热(one-hot)算法将系统状态项目一一转化为对应的离散值,得到系统状态特征集合。系统状态项目转换系统状态特征的示例如下,某项系统状态项目为“磁盘占用状态”,通常学历信息包括["1%-20%","21%-40%","41%-60%","61%-80%","81%-100%"],按照n位状态寄存器来对n个状态进行编码的原理,该元素只有两个状态,所以n=5,处理后如下:(1%-20%

10000),(21%-40%

01000),(41%-60%

00100),(61%-80%

00010),(81%-100%

00001);还包括["固态硬盘","机械硬盘"],按照n位状态寄存器来对n个状态进行编码的原理,该元素只有两个状态,所以n=2,处理后如下:(固态硬盘

10),(机械硬盘

01),当“磁盘占用状态”为系统状态项目为["固态硬盘81%-100%"]的时候,完整的离散化结果的系统状态特征为:[1,0,0,0,0,0,1],其所对应的为固态硬盘(10),81%-100%(00001)合起来的编码。
[0034]
在另一实施例中,利用分词器将系统状态项目集合中的系统状态项目处理为对应的字符向量,并将字符向量作为对应的系统状态特征。其中,分词器包括但不限于ansj、word2vec、ictclas和hanlp。本实施例中,利用word2vec算法作为分词器,word2vec算法为将词语转换成词嵌入向量的算法,将项目信息文本中的每个字或者词语进行向量转换,将向量转换后的字符嵌入向量和词嵌入向量进行拼接,得到向量文本作为对应的系统状态特征。其中,向量转换包括将字符转换成字符嵌入向量和将词语转换成词嵌入向量的转换过程,所述向量文本为包括字符嵌入向量和/或词嵌入向量的向量数组。
[0035]
可以理解地,独热算法又称为one-hot编码,主要是采用n位状态寄存器来对n个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。对于每一个特征,如果它有m个可能值,那么经过one-hot编码后,就变成了m个二元特征。并且,这些特征互斥,每次只有一个激活。
[0036]
步骤s20、通过训练后的缓存策略更新模型中的分类算法对所述系统状态特征集合中的多个系统状态特征进行缓存策略预测,得到更新的缓存策略。
[0037]
在步骤s20中,基于当下的系统状态,通过将收集到的系统状态特征集合输入进行预先训练后的缓存策略更新模型进行缓存预测,从而达到基于系统状态进行缓存策略的调整,以应对不同场景下的访问压力,利用缓存策略更新模型预测出的缓存策略了提高缓存策略的准确性和及时性。其中,缓存策略更新模型利用了分类算法,缓存策略更新模型需要通过大量的缓存方案样本进行训练,通过系统状态特征集合中的多个系统状态特征进行分类预测,并将预测的结果作为缓存方案进行更新。
[0038]
在一实施例中,利用分类算法通过将所述系统状态特征匹配对应的状态特征权重;根据所述状态特征权重将所述系统状态特征输入所述分类算法中的决策树进行缓存策略预测,将缓存策略预测结果作为所述更新的缓存策略。其中,分类算法包括但不限于为决策树分类算法、神经网络分类算法、支持向量机分类算法(svm)、随机森林算法、逻辑回归算法(logistic regression,lr)和xgboost算法。在本实施例中,利用所述决策树算法将所述系统状态特征根据所述状态特征权重进行顺序输入,通过所述决策树的结点传递顺序对各所述系统状态特征进行判断,得到的叶节点;根据所述叶节点对应的分类决策得到所述初始缓存策略预测结果。
[0039]
在一实施例中,决策树算法是一种逼近离散函数值的方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后利用决策树根据系统状态特征从上往下的判断流程,根据系统状态特征的结点类别,分支成下一结点的判断与决策,如果结点不再是一个判断条件,而是一个叶节点,那么叶节点就是一个分类决策。本实施例利用较为容易理解的方式进行示例,当所保留的系统状态特征所表征的业务特征为{cpu状态、磁盘状态、内存状态、串口占用状态},根据决策树利用信息熵训练后的状态特征权重进行依次判断,所获得的状态特征权重排序如下{cpu占用状态》内存占用状态》串口占用状态》磁盘占用状态};首先通过状态特征权重较大的{cpu占用状态
[0040]
=61%-80%}作为根节点,其中结点类别包括{cpu占用状态∈"1%-20%","21%-40%","41%-60%","61%-80%","81%-100%"};其次结点为{内存占用状态=32g},其中结点类别包括{内存占用状态∈16g、32g、64g}以下结点所对应的结点类别,再次结点为{串口占用状态},结点传递顺序对各所述系统状态特征进行判断,不再一一赘述;一直到叶子节点结束,根据所述叶节点对应的分类决策得出对应的缓存策略预测结果“内存占用较多,大量访问请求量,筛选预先设定好此次情况的部分缓存数据,刷新有效期时间进行延长,以减少访问量较大的压力”,作为更新的缓存策略。
[0041]
可以理解地,决策树算法是一种逼近离散函数值的方法,它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。
[0042]
在另一实施例中,分类算法可以利用随机森林算法,随机森林是由很多决策树构
成的,不同决策树之间没有关联。当进行分类任务时,更新的输入样本进入,利用森林中的每一棵决策树,分别通过上一实施例决策树的分类方式进行判断和分类,每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。
[0043]
可以理解地,随机森林算法是一种监督学习算法,随机森林就是建立很多决策树,组成一个决策树的“森林”,通过多棵树投票来进行决策。这种方法能够有效地提高对新样本的分类准确度。随机森林在以决策树为基学习器构建bagging集成(样本的随机选取)的基础上,进一步在决策树的训练过程中引入随机属性选择。具体来说,传统决策树在选择划分属性时是在当前结点的属性集合中选择一个最优属性;而在随机森林中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含若干个属性的子集,然后在从这个子集中选择一个最优属性用于划分。
[0044]
步骤s30、若所述更新的缓存策略与预存的初始缓存策略不同,则将执行中的所述初始缓存策略修改为所述更新的缓存策略。
[0045]
在步骤s30中,根据系统更新的缓存策略与预存的初始缓存策略进行比较,若所述更新的缓存策略与预存的初始缓存策略不同,则将执行中的所述初始缓存策略修改为所述更新的缓存策略,根据系统状态将缓存策略进行及时的修改后,可更加合理的利用缓存区域中的缓存数据,从而减少系统的能耗。
[0046]
在一实施例中,将所述初始缓存策略中的多个有效期配置替换为所述更新的缓存策略中的多个有效期配置;各个所述有效期配置用于维持所对应的缓存数据的缓存期限。
[0047]
在一实施例中,缓存策略包括服务器在接收若干客户端发送的访问请求后,该服务器根据客户端访问请求进行响应,由于若干客户端向服务器发送的数据访问包括对同一个数据的访问,当该服务器在数据被首次访问后,将访问后的数据存储在该服务器的缓存服务器中,当再有访问终端向服务器进行数据的访问时,就直接从缓存区域中获取该数据。但由于区域的存储空间的有限性,该缓存区域中会按照缓存方案进行有效期配置,当该数据的有效期过期后,会将该有效期过期的数据进行清除。
[0048]
在一实施例中,本实施例通过redis服务(remote dictionary server,即远程字典服务)进行说明,由于redis服务中的有效期配置只能通过修改key值进行,而不能直接利用alter命令修改有效期配置,需要通过修改对应的key值数据,根据所述更新的缓存策略中的有效期配置替换对应所述初始缓存策略中的key值。以刷新有效期配置从而达到灵活调整缓存区域的缓存数据。
[0049]
步骤s40、若所述更新的缓存策略与预存的初始缓存策略相同,则保持执行所述初始缓存策略。
[0050]
在步骤s40中,根据系统更新的缓存策略与预存的初始缓存策略进行比较,若所述更新的缓存策略与所述初始缓存策略相同,则保持预存的初始缓存策略进行执行,不需要占用更多的进程。从而达到缓存策略的动态调整,提高系统运行的稳定性,更加合理的利用缓存区域中的缓存数据,从而减少系统的能耗。
[0051]
图3为本技术的另一实施例,在步骤s20、通过训练后的缓存策略更新模型中的分类算法对所述系统状态特征集合中的多个系统状态特征进行缓存策略预测,得到更新的缓存策略的步骤之前,还包括再一实施例步骤s51-s53,具体地:
[0052]
步骤s51、通过多个缓存方案样本对缓存策略更新模型进行训练;
[0053]
步骤s52、获取多个缓存方案样本,将所述缓存方案样本中的样本状态项目转化为样本状态特征,得到多个样本状态特征集合;
[0054]
步骤s53、将所述样本状态特征集合输入所述缓存策略更新模型,所述缓存策略更新模型利用决策树算法中的决策树,根据多个所述样本状态特征进行逐一判断,从而训练对所述样本状态特征集合进行缓存策略预测。
[0055]
在步骤s51中,通过多个缓存方案样本对缓存策略更新模型进行训练,其中缓存方案样本是根据不同的系统状态进行调整后的缓存策略,以用于缓存策略更新模型的训练。
[0056]
在步骤s52中,利用本实施例中s10步骤中的方法将获取多个缓存方案样本,中的样本状态项目转化为样本状态特征,得到多个样本状态特征集合,以用于缓存策略更新模型的学习。
[0057]
在步骤s53中,将所述样本状态特征集合输入所述缓存策略更新模型,所述缓存策略更新模型利用决策树算法中的决策树,根据多个所述样本状态特征进行逐一判断,从而训练对所述样本状态特征集合进行缓存策略预测。
[0058]
在一实施例中,通过多个缓存方案样本对缓存策略更新模型进行训练,利用决策树算法根据样本状态特征集合进行业务场景的分类学习,以保证缓存策略预测的准确性。其中,决策树算法对样本状态特征集合进行有放回的抽样,每次从原来的n个训练样本中有放回地随机抽取n个样本,得到多个样本集。从候选的特征中随机抽取m个特征,作为当前决策的备选特征,用样本状态特征集合作为训练样本构造决策树,决策树通过对多个样本状态特征集合中的样本状态特征进行测算得到各样本状态特征的权重,训练后的决策树根据输入的样本状态特征集合中的样本状态特征做出预测,进行输出。
[0059]
在另一实施例中,利用随机森林算法根据样本状态特征集合进行业务场景的分类学习,在得到所需数目的决策树后,随机森林方法对这些决策树的输出进行投票,以得票最多的类作为随机森林的决策,从而确定样本状态特征集合所对应的业务场景。
[0060]
在一实施例中,提供一种缓存方案的更新装置,该缓存方案的更新装置与上述实施例中缓存方案的更新方法一一对应。如图4所示,该缓存方案的更新装置包括系统状态获取模块11、缓存策略预测模块12和缓存策略执行模块13,各功能模块详细说明如下:
[0061]
系统状态获取模块11,查询缓存策略系统的系统状态,得到系统状态特征集合;
[0062]
缓存策略预测模块12,通过训练后的缓存策略更新模型中的分类算法对所述系统状态特征集合中的多个系统状态特征进行缓存策略预测,得到更新的缓存策略;
[0063]
缓存策略执行模块13,若所述更新的缓存策略与预存的初始缓存策略不同,则将执行中的所述初始缓存策略修改为所述更新的缓存策略;若所述更新的缓存策略与预存的初始缓存策略相同,则保持执行所述初始缓存策略。
[0064]
关于缓存方案的更新装置的具体限定可以参见上文中对于缓存方案的更新方法的限定,在此不再赘述。上述缓存方案的更新装置中的各模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各模块对应的操作。
[0065]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端或者服务
端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机程序和数据库。该内存储器为可读存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种缓存方案的更新方法。
[0066]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中缓存方案的更新方法。
[0067]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中缓存方案的更新方法。
[0068]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
[0069]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0070]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1