CN117555933B - 一种解决高并发数据访问的方法及系统 - Google Patents
一种解决高并发数据访问的方法及系统 Download PDFInfo
- Publication number
- CN117555933B CN117555933B CN202410047668.5A CN202410047668A CN117555933B CN 117555933 B CN117555933 B CN 117555933B CN 202410047668 A CN202410047668 A CN 202410047668A CN 117555933 B CN117555933 B CN 117555933B
- Authority
- CN
- China
- Prior art keywords
- data
- sparrow
- access
- data type
- cache
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000005457 optimization Methods 0.000 claims abstract description 13
- 241000287127 Passeridae Species 0.000 claims description 163
- 238000012549 training Methods 0.000 claims description 55
- 238000004088 simulation Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 11
- 230000001537 neural effect Effects 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 9
- 238000010845 search algorithm Methods 0.000 claims description 8
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 13
- 230000008859 change Effects 0.000 abstract description 5
- 230000015556 catabolic process Effects 0.000 abstract description 4
- 238000006731 degradation reaction Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据传输领域,更具体的说,它涉及一种解决高并发数据访问的方法及系统。一种解决高并发数据访问的系统,包括:时间判断模块、数据访问请求获取模块、缓存服务器匹配模块、数据库匹配模块、排序权重计算模块、更新缓存数据集合构建模块和缓存服务器更新模块等。本发明通过改进后的缓存优化策略计算出的排序权重能够在兼顾数据的访问频率和数据大小占比的前提下,还考虑到服务端职能对应不同数据访问请求的时序性变化规律,从而提升数据访问时的缓存命中率,减少数据访问请求处理的时间,即提升数据访问请求处理的效率,进而避免高并发数据访问情况下导致的数据库性能下降。
Description
技术领域
本发明涉及数据传输领域,更具体的说,它涉及一种解决高并发数据访问的方法及系统。
背景技术
在当今的信息技术领域,高并发数据访问已成为一项普遍面临的挑战,尤其是在大数据、云计算和网络服务等领域。随着用户数量的增加和数据量的膨胀,传统的数据存储和访问方法已经难以满足现代应用程序对性能和响应速度的要求。在这种背景下,缓存优化作为提高数据访问效率的重要策略之一,受到了广泛关注。目前缓存优化策略一般只是基于数据的访问频率执行,在实际运行中,缓存命中率并不高,导致缓存优化的效果不佳。
发明内容
本发明通过改进后的缓存优化策略计算出的排序权重能够在兼顾数据的访问频率和数据大小占比的前提下,还考虑到服务端职能对应不同数据访问请求的时序性变化规律,从而提升数据访问时的缓存命中率,减少数据访问请求处理的时间,即提升数据访问请求处理的效率,进而避免高并发数据访问情况下导致的数据库性能下降。
一种解决高并发数据访问的方法,包括:
在访问周期Ti内,i为访问周期对应的周期编号,且i=1,2,3……I,I为访问周期的总数量,执行如下内容:
获取来自于客户端的数据访问请求;
基于数据访问请求从缓存服务器中进行数据匹配,若是匹配成功,输出匹配成功的数据Dn,n为数据对应的数据编号,n=1,2,3……N,N为数据的总量,将匹配成功的数据Dn返回客户端,并且将数据Dn对应的访问权重Wn执行增一赋值操作,且每一个数据Dn对应的访问权重Wn初始都为0,每进入下一个访问周期Ti+1将所有数据Dn对应的访问权重Wn都重置为0;若是匹配不成功,则通过负载均衡的方式将数据访问请求发送至不同数据库中进行匹配,并且输出匹配成功的数据Dn,将匹配成功的数据Dn返回客户端,并且将数据Dn对应的访问权重Wn执行增一赋值操作,再将匹配成功的数据Dn存入待选数据集合H中,待选数据集合H初始为空;
在缓存服务器更新时刻ti时,执行如下内容:
将当前所处访问周期Ti的缓存服务器中的所有数据Dn存入待选数据集合H中,并获取待选数据集合H中所有数据Dn对应的数据大小Qn和数据类型Fm,m为数据类型Fm对应的数据类型编号,且m=1,2,3……M,M为数据类型的总数量,将待选数据集合H中所有数据Dn按照数据类型Fm划分为不同的数据类型集合Gm,即每一个数据类型集合Gm中都存储着待选数据集合H中数据类型Fm对应的所有数据Dn,计算选数据集合H中所有数据类型Fm对应的数据类型访问频率fm,,选择最高的数据类型访问频率fm对应的数据类型Fm按照时间顺序存入数据类型时序集合,数据类型时序集合初始为空,在待选数据集合H中所有数据Dn对应的访问权重Wn、数据大小Qn和数据类型Fm的基础上,通过改进后的缓存优化策略对缓存服务器中的所有数据Dn进行更新,具体为通过如下公式计算待选数据集合H中所有数据Dn对应的排序权重μn,/>,其中α1、α2和α3分别为访问权重系数、数据大小系数和数据类型系数,α1+α2+α3=1,且α1、α2和α3通过麻雀搜索算法模拟计算的方式获得;Qz为缓存服务器空间大小;βn为数据Dn对应的数据类型Fm与下一个访问周期Ti+1对应的预测数据类型Fm_exp之间的数据类型相似度,且下一个访问周期Ti+1对应的预测数据类型Fm_exp基于数据类型时序集合和数据类型预测模型获得;将待选数据集合H中所有数据Dn按照对应的排序权重μn构建更新缓存数据集合,并将待选数据集合进行清空,再将更新缓存数据集合替换当前所处访问周期Ti的缓存服务器内的所有数据Dn,对缓存服务器进行更新。
作为本发明的一个方面,基于数据类型时序集合和数据类型预测模型获得下一个访问周期Ti+1对应的预测数据类型Fm_exp具体包括如下步骤:
获取数据类型时序集合中的后X个数据类型Fm组成待预测数据集;再将待预测数据集中的X个数据类型Fm逐个送入训练好的数据类型预测模型进行计算,输出对应的预测数据类型Fm_exp;
数据类型预测模型基于LSTM模型建立,包括LSTM块,BP神经网络块和softmax分类层,其中LSTM块用于提取待预测数据集中数据类型Fm之间的时序性特征;BP神经网络块基于BP神经网络进行建立,包括一个输入层、三个隐藏层和一个输出层,其中输入层的神经节点个数都是X,输出层的神经节点个数为M,隐藏层的神经节点个数为,其中ε为2-10之间的随机整数;softmax分类层用于输出一个长度为M的概率向量,并选择概率向量中最大概率值对应的数据类型Fm作为预测数据类型Fm_exp进行输出。
作为本发明的一个方面,针对数据类型预测模型的训练,具体包括如下步骤:
获取历史记录的训练数据集,训练数据集中存储按照时间顺序排列好的数据类型Fm,并且第一训练数据集中储存都是历史记录中每个访问周期内数据类型访问频率fm最高对应的数据类型Fm;通过长度为X的滑动窗口从训练数据集中选择依次相邻的X个数据类型Fm组成训练前置样本,将滑动窗口后一个数据类型Fm作为目标样本,再将训练前置样本和目标样本组成训练样本对,每当滑动窗口进行一次选择便可形成一个训练样本对,最后将所有训练样本对组成训练样本集;将训练样本集送入参数初始化的数据类型预测模型中进行训练,训练期间,将训练样本对中的训练前置样本从LSTM块输入,再基于softmax分类层输出的预测数据类型Fm_exp与训练样本对中的目标样本计算损失值,判断损失值是否位于预设范围内,若是损失值位于预设范围内,输出训练好的数据类型预测模型;否则,继续迭代训练。
作为本发明的一个方面,通过麻雀搜索算法模拟计算的方式获得α1、α2和α3,具体包括如下步骤:
S1:初始化麻雀种群,设置麻雀种群中的麻雀总数量为E,设置最大迭代次数Iter_max,随机初始化麻雀种群中的麻雀位置Re,麻雀位置Re的存储形式为{αek},k=1,2,3,其中αek为麻雀位置Re中第k个模拟参数;
S2:计算麻雀种群内的所有麻雀位置Re对应的适应度δe,再将麻雀种群内的所有麻雀位置Re按照适应度δe从大到小的顺序进行排序,并将适应度δe最大的麻雀位置Re记为麻雀位置Rbest,将适应度δe最小的麻雀位置Re记为麻雀位置Rworst;再根据划分比例对排列好的所有麻雀位置Re进行划分;将划分后的前者记为发现者集合,划分后的后者记为跟随者集合;
S3:针对发现者集合中的所有麻雀位置Re进行更新,更新公式如下:
其中为更新后的麻雀位置Re中第k个模拟参数,j为发现者集合中的所有麻雀位置Re按照适应度δe从大到小的顺序排列之后对应的序号值;Y为位于区间(0,1)的随机数,u1为位于区间(0,1)的预警值,ST为安全值;Z为服从正态分布的随机数;L为1×3的矩阵,且矩阵内每个元素均为1;
S4:计算更新后发现者集合中的所有麻雀位置Re的适应度δe,将发现者集合中的适应度值δe最大的麻雀位置Re记为麻雀位置Rcon;针对跟随者集合的所有麻雀位置Re进行更新,更新公式如下:
其中αworstk为麻雀位置Rworst中第k项模拟参数,b为跟随者集合中的所有麻雀位置Re按照适应度δe从大到小的顺序排列之后对应的序号值,B为跟随者集合中的所有麻雀位置Re的总数;αconk为麻雀位置Rcon中第k项模拟参数,A+=AT(AAT)-1,其中A为1×3的矩阵,且矩阵内每个元素均为1或者-1;
S5:从麻雀种群中逐个选择麻雀位置Re,针对选择的麻雀位置Re,执行如下内容,通过随机函数生成一个0至1之间的随机数η,判断“η>Pc”是否成立,Pc为变换阈值,若是“η>Pc”不成立,无操作;否则将选择的麻雀位置Re对应的麻雀视为加入者,通过如下公式对选择的麻雀位置Re进行更新:
其中αbestk为麻雀位置Rbest中第k项模拟参数,ζ为步长调整系数,具体为一个正态分布随机数,且均值为0,方差为1,λ为区间[-1,1]内的均匀随机数,δbest为麻雀位置Rbest对应的适应度值,δworst为麻雀位置Rworst对应的适应度值;为一个小常数;
S6:重新计算麻雀种群内的所有麻雀位置Re对应的适应度δe,将种群集合内的所有麻雀位置Re按照适应度δe从大到小的顺序排列,并将适应度δe最大的麻雀位置Re记为麻雀位置Rbest,将适应度δe最小的麻雀位置Re记为麻雀位置Rworst;将麻雀位置Rbest记录在暂存寄存器中,再重新将麻雀种群内的所有麻雀位置Re划分为发现者集合和跟随者集合;
S7:判断是否达到最大迭代次数Iter_max,若是达到最大迭代次数Iter_max,将暂存寄存器中适应度δe最大的麻雀位置Re作为α1、α2和α3进行输出;若是未达到最大迭代次数Iter_max,回到步骤S3继续迭代模拟。
作为本发明的一个方面,随机初始化麻雀种群中的麻雀位置Re,具体包括如下步骤:针对任一麻雀位置Re,选择区间(0,1)之间的随机数对αe1进行赋值,再选择区间(0,1-αe1)之间的随机数对αe2进行赋值,最后将1-αe1-αe2对αe3进行赋值。
作为本发明的一个方面,计算麻雀种群内的所有麻雀位置Re对应的适应度δe,具体包括如下步骤:将麻雀位置Re作为α1、α2和α3执行改进后的缓存优化策略,并通过脚本或者服务端测试的方式模拟进行数据访问,计算缓存命中率,即缓存服务器中匹配成功的次数占所有数据访问请求总数量的比值,以缓存命中率作为麻雀位置Re对应的适应度δe。
作为本发明的一个方面,将待选数据集合H中所有数据Dn按照对应的排序权重μn构建更新缓存数据集合,具体包括如下步骤:
构建一个空的更新缓存数据集合,将待选数据集合H中所有数据Dn按照对应的排序权重μn从大到小进行排列,再从待选数据集合H逐个选择数据Dn,针对选择的数据Dn,判断“Qn<Qrem”是否成立,其中Qrem为缓存服务器剩余空间大小,缓存服务器剩余空间大小Qrem为缓存服务器空间大小Qz减去当前更新缓存数据集合中所有数据Dn对应的数据大小Qn计算所得,若是“Qn<Qrem”成立,将选择的数据Dn添加至更新缓存数据集合中;若是“Qn<Qrem”不成立,则从待选数据集合H选择下一个数据Dn;直至待选数据集合H中所有的数据Dn被选择完毕,输出更新缓存数据集合。
一种解决高并发数据访问的系统,包括:
时间判断模块,用于判断当前时间是处于访问周期内还是处于缓存服务器更新时刻;
数据访问请求获取模块,用于获取来自于客户端的数据访问请求;
缓存服务器匹配模块,用于基于数据访问请求从缓存服务器中进行数据匹配,若是匹配成功,输出匹配成功的数据,将匹配成功的数据返回客户端;
负载均衡模块,用于当缓存服务器匹配模块匹配失败时,通过负载均衡的方式将数据访问请求发送至不同数据库中;
数据库匹配模块,用于基于数据访问请求从数据库中进行匹配,并且输出匹配成功的数据,将匹配成功的数据返回客户端;
访问权重更新模块,用于将缓存服务器匹配模块匹配成功的数据或者数据库匹配模块匹配成功的数据对应的访问权重进行更新,且当访问周期变化时,将所有数据对应的访问权重都重置为0;
待选数据集合构建模块,用于将数据库匹配模块匹配成功的数据和当前所处访问周期的缓存服务器中的所有数据构建待选数据集合;
数据大小获取模块,用于获取待选数据集合中所有数据对应的数据大小;
数据类型获取模块,用于获取待选数据集合中所有数据对应的数据类型;
数据类型访问频率计算模块,用于根据待选数据集合中数据对应的数据类型和访问权重计算数据对应的数据类型访问频率;
数据类型时序集合构建模块,用于将每个访问周期内最高的数据类型访问频率对应的数据类型按照时间顺序存入数据类型时序集合;
系数模拟计算模块,用于通过麻雀搜索算法模拟计算访问权重系数、数据大小系数和数据类型系数;
预测数据类型输出模块,用于基于数据类型时序集合和数据类型预测模型获得下一个访问周期对应的预测数据类型;
数据类型相似度计算模块,用于计算数据对应的数据类型与下一个访问周期对应的预测数据类型之间的数据类型相似度;
排序权重计算模块,用于基于权重系数、数据大小系数、数据类型系数、访问权重、数据大小、缓存服务器空间大小、数据类型访问频率和数据类型相似度计算数据对应的排序权重;
更新缓存数据集合构建模块,用于将待选数据集合中所有数据按照对应的排序权重构建更新缓存数据集合;
缓存服务器更新模块,用于将更新缓存数据集合替换当前所处访问周期的缓存服务器内的所有数据,对缓存服务器进行更新。
本发明具有以下优点:
1、本发明通过改进后的缓存优化策略计算出的排序权重能够在兼顾数据的访问频率和数据大小占比的前提下,还考虑到服务端职能对应不同数据访问请求的时序性变化规律,从而提升数据访问时的缓存命中率,减少数据访问请求处理的时间,即提升数据访问请求处理的效率,进而避免高并发数据访问情况下导致的数据库性能下降。
2、本发明通过麻雀搜索算法对访问权重系数、数据大小系数和数据类型系数进行模拟计算,使得基于排序权重对缓存服务器的更新能够达到更高的缓存命中率,进一步提升数据访问请求处理的效率。
附图说明
图1为本发明实施例采用的解决高并发数据访问的系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例1
一种解决高并发数据访问的方法,包括:
在访问周期Ti内,i为访问周期对应的周期编号,且i=1,2,3……I,I为访问周期的总数量,需要说明的,访问周期是人为根据服务端的功能进行划定的,例如在一天中对于服务端的数据访问会发生规律变化,则以一天内的时间进行访问周期划分,例如00:00-01:00,01:00-02:00……为了进一步提升数据访问处理的效率,还可以进一步缩短访问周期的时间长度,而若是一个月内每一天对于服务端的数据访问会发生规律变化,则以天来进行访问周期划分,执行如下内容:
获取来自于客户端的数据访问请求,当用户在客户端执行例如点击链接等操作时,视为对应客户端发出数据访问请求;
基于数据访问请求从缓存服务器中进行数据匹配,若是匹配成功,即当前所处访问周期Ti的缓存服务器中存储着数据访问请求所对应的数据,输出匹配成功的数据Dn,n为数据对应的数据编号,n=1,2,3……N,N为数据的总量,需要说明的是,此处指的数据的总量是指服务端所有数据库中数据的总量,将匹配成功的数据Dn返回客户端,并且将数据Dn对应的访问权重Wn执行增一赋值操作,即将Wn+1赋值给Wn,且每一个数据Dn对应的访问权重Wn初始都为0,每进入下一个访问周期Ti+1将所有数据Dn对应的访问权重Wn都重置为0,通过直接从缓存服务器中获取数据可以显著减少对于数据访问请求的处理时间;若是匹配不成功,说明当前所处访问周期Ti的缓存服务器中不存在数据访问请求对应的数据,则通过负载均衡的方式将数据访问请求发送至不同数据库中进行匹配,并且输出匹配成功的数据Dn,将匹配成功的数据Dn返回客户端,并且将数据Dn对应的访问权重Wn执行增一赋值操作,再将匹配成功的数据Dn存入待选数据集合H中,待选数据集合H初始为空;
在缓存服务器更新时刻ti时,需要说明的是,缓存服务器更新时刻ti指的是相邻两个访问周期Ti之间分割的时刻,例如访问周期00:00-01:00和访问周期01:00-02:00之间的缓存服务器更新时刻为01:00,执行如下内容:
将当前所处访问周期Ti的缓存服务器中的所有数据Dn存入待选数据集合H中,并获取待选数据集合H中所有数据Dn对应的数据大小Qn和数据类型Fm,m为数据类型Fm对应的数据类型编号,且m=1,2,3……M,M为数据类型的总数量,数据类型指的是数据所属的类型,例如购物服务端处的美食类型,家具类型等,且数据Qn与数据类型Fm是多对一的形式,即每一个数据类型Fm对应多个数据Qn,将待选数据集合H中所有数据Dn按照数据类型Fm划分为不同的数据类型集合Gm,即每一个数据类型集合Gm中都存储着待选数据集合H中数据类型Fm对应的所有数据Dn,计算选数据集合H中所有数据类型Fm对应的数据类型访问频率fm,,选择最高的数据类型访问频率fm对应的数据类型Fm按照时间顺序存入数据类型时序集合,数据类型时序集合初始为空,在待选数据集合H中所有数据Dn对应的访问权重Wn、数据大小Qn和数据类型Fm的基础上,通过改进后的缓存优化策略对缓存服务器中的所有数据Dn进行更新,具体为通过如下公式计算待选数据集合H中所有数据Dn对应的排序权重μn,/>,其中α1、α2和α3分别为访问权重系数、数据大小系数和数据类型系数,α1+α2+α3=1,且α1、α2和α3通过麻雀搜索算法模拟计算的方式获得;Qz为缓存服务器空间大小;βn为数据Dn对应的数据类型Fm与下一个访问周期Ti+1对应的预测数据类型Fm_exp之间的数据类型相似度,计算方式可以采用余弦相似度算法,预测数据类型Fm_exp与数据类型Fm具备一致的形式,即预测数据类型Fm_exp也是M个数据类型中的任意一个,且下一个访问周期Ti+1对应的预测数据类型Fm_exp基于数据类型时序集合和数据类型预测模型获得;将待选数据集合H中所有数据Dn按照对应的排序权重μn构建更新缓存数据集合,并将待选数据集合进行清空,再将更新缓存数据集合替换当前所处访问周期Ti的缓存服务器内的所有数据Dn,对缓存服务器进行更新。
本申请通过改进后的缓存优化策略计算出的排序权重能够在兼顾数据的访问频率和数据大小占比的前提下,还考虑到服务端职能对应不同数据访问请求的时序性变化规律,从而提升数据访问时的缓存命中率,减少数据访问请求处理的时间,即提升数据访问请求处理的效率,进而避免高并发数据访问情况下导致的数据库性能下降。
基于数据类型时序集合和数据类型预测模型获得下一个访问周期Ti+1对应的预测数据类型Fm_exp具体包括如下步骤:
获取数据类型时序集合中的后X个数据类型Fm组成待预测数据集,需要说明的是,数据类型Fm实际为行向量数据,可以由用户直接标注设定,也可以通过神经网络模型映射的低维数据表示;再将待预测数据集中的X个数据类型Fm逐个送入训练好的数据类型预测模型进行计算,输出对应的预测数据类型Fm_exp;
数据类型预测模型基于LSTM模型建立,即长短时记忆网络,包括LSTM块,BP神经网络块和softmax分类层,其中LSTM块用于提取待预测数据集中数据类型Fm之间的时序性特征,具体设置参考传统的LSTM模型进行设置;BP神经网络块基于BP神经网络进行建立,包括一个输入层、三个隐藏层和一个输出层,其中输入层的神经节点个数都是X,输出层的神经节点个数为M,隐藏层的神经节点个数为,其中ε为2-10之间的随机整数,即训练过程中的超参数;softmax分类层用于输出一个长度为M的概率向量,并选择概率向量中最大概率值对应的数据类型Fm作为预测数据类型Fm_exp进行输出,需要说明的是,在LSTM块的处理过程中,待预测数据集中的每一个数据类型Fm都会对应输出一个对应的第一特征向量,在BP神经网络块的处理过程,X个第一特征向量逐个输入至输入层的X个神经节点,最后由输出层输出一个长度为M的第二特征向量。
针对数据类型预测模型的训练,具体包括如下步骤:
获取历史记录的训练数据集,训练数据集中存储按照时间顺序排列好的数据类型Fm,并且第一训练数据集中储存都是历史记录中每个访问周期内数据类型访问频率fm最高对应的数据类型Fm,在获取第一训练数据集的过程中,可以通过工作人员手动建表进行统计,可以设置对应的数据类型检测脚本进行统计;通过长度为X的滑动窗口从训练数据集中选择依次相邻的X个数据类型Fm组成训练前置样本,将滑动窗口后一个数据类型Fm作为目标样本,再将训练前置样本和目标样本组成训练样本对,每当滑动窗口进行一次选择便可形成一个训练样本对,最后将所有训练样本对组成训练样本集;将训练样本集送入参数初始化的数据类型预测模型中进行训练,需要说明的是,此处指的参数为LSTM块中记忆门、遗忘门等的权重参数,BP神经网络块中不同层之间的连接权重等,训练期间,将训练样本对中的训练前置样本从LSTM块输入,再基于softmax分类层输出的预测数据类型Fm_exp与训练样本对中的目标样本计算损失值,判断损失值是否位于预设范围内,预设范围由操作人员设定,若是损失值位于预设范围内,输出训练好的数据类型预测模型;否则,继续迭代训练。
通过麻雀搜索算法模拟计算的方式获得α1、α2和α3,具体包括如下步骤:
S1:初始化麻雀种群,设置麻雀种群中的麻雀总数量为E,设置最大迭代次数Iter_max,随机初始化麻雀种群中的麻雀位置Re,麻雀位置Re的存储形式为{αek},k=1,2,3,其中αek为麻雀位置Re中第k个模拟参数;
随机初始化麻雀种群中的麻雀位置Re,具体包括如下步骤:针对任一麻雀位置Re,选择区间(0,1)之间的随机数对αe1进行赋值,再选择区间(0,1-αe1)之间的随机数对αe2进行赋值,最后将1-αe1-αe2对αe3进行赋值。
S2:计算麻雀种群内的所有麻雀位置Re对应的适应度δe,再将麻雀种群内的所有麻雀位置Re按照适应度δe从大到小的顺序进行排序,并将适应度δe最大的麻雀位置Re记为麻雀位置Rbest,将适应度δe最小的麻雀位置Re记为麻雀位置Rworst;再根据划分比例对排列好的所有麻雀位置Re进行划分,划分比例人为设定,一般为2:8;将划分后的前者记为发现者集合,划分后的后者记为跟随者集合;
计算麻雀种群内的所有麻雀位置Re对应的适应度δe,具体包括如下步骤:将麻雀位置Re作为α1、α2和α3执行改进后的缓存优化策略,并通过脚本或者服务端测试的方式模拟进行数据访问,计算缓存命中率,即缓存服务器中匹配成功的次数占所有数据访问请求总数量的比值,以缓存命中率作为麻雀位置Re对应的适应度δe。
S3:针对发现者集合中的所有麻雀位置Re进行更新,更新公式如下:
其中为更新后的麻雀位置Re中第k个模拟参数,j为发现者集合中的所有麻雀位置Re按照适应度δe从大到小的顺序排列之后对应的序号值;Y为位于区间(0,1)的随机数,可以通过随机函数进行获取,u1为位于区间(0,1)的预警值,也可以通过随机函数进行获取,ST为安全值;Z为服从正态分布的随机数;L为1×3的矩阵,且矩阵内每个元素均为1;
S4:计算更新后发现者集合中的所有麻雀位置Re的适应度δe,将发现者集合中的适应度值δe最大的麻雀位置Re记为麻雀位置Rcon;针对跟随者集合的所有麻雀位置Re进行更新,更新公式如下:
其中αworstk为麻雀位置Rworst中第k项模拟参数,b为跟随者集合中的所有麻雀位置Re按照适应度δe从大到小的顺序排列之后对应的序号值,B为跟随者集合中的所有麻雀位置Re的总数;αconk为麻雀位置Rcon中第k项模拟参数,A+=AT(AAT)-1,其中A为1×3的矩阵,且矩阵内每个元素均为1或者-1;
S5:从麻雀种群中逐个选择麻雀位置Re,针对选择的麻雀位置Re,执行如下内容,通过随机函数生成一个0至1之间的随机数η,判断“η>Pc”是否成立,Pc为变换阈值,由操作人员设定,若是“η>Pc”不成立,无操作;否则将选择的麻雀位置Re对应的麻雀视为加入者,通过如下公式对选择的麻雀位置Re进行更新:
其中αbestk为麻雀位置Rbest中第k项模拟参数,ζ为步长调整系数,具体为一个正态分布随机数,且均值为0,方差为1,λ为区间[-1,1]内的均匀随机数,δbest为麻雀位置Rbest对应的适应度值,δworst为麻雀位置Rworst对应的适应度值;为一个小常数;
S6:重新计算麻雀种群内的所有麻雀位置Re对应的适应度δe,将种群集合内的所有麻雀位置Re按照适应度δe从大到小的顺序排列,并将适应度δe最大的麻雀位置Re记为麻雀位置Rbest,将适应度δe最小的麻雀位置Re记为麻雀位置Rworst;将麻雀位置Rbest记录在暂存寄存器中,再重新将麻雀种群内的所有麻雀位置Re划分为发现者集合和跟随者集合;
S7:判断是否达到最大迭代次数Iter_max,若是达到最大迭代次数Iter_max,将暂存寄存器中适应度δe最大的麻雀位置Re作为α1、α2和α3进行输出;若是未达到最大迭代次数Iter_max,回到步骤S3继续迭代模拟。
本申请通过麻雀搜索算法对访问权重系数、数据大小系数和数据类型系数进行模拟计算,使得基于排序权重对缓存服务器的更新能够达到更高的缓存命中率,进一步提升数据访问请求处理的效率。
将待选数据集合H中所有数据Dn按照对应的排序权重μn构建更新缓存数据集合,具体包括如下步骤:
构建一个空的更新缓存数据集合,将待选数据集合H中所有数据Dn按照对应的排序权重μn从大到小进行排列,再从待选数据集合H逐个选择数据Dn,针对选择的数据Dn,判断“Qn<Qrem”是否成立,其中Qrem为缓存服务器剩余空间大小,缓存服务器剩余空间大小Qrem为缓存服务器空间大小Qz减去当前更新缓存数据集合中所有数据Dn对应的数据大小Qn计算所得,若是“Qn<Qrem”成立,说明选择的数据Dn还能够添加至缓存服务器中,将选择的数据Dn添加至更新缓存数据集合中;若是“Qn<Qrem”不成立,说明选择的数据Dn不能够添加至缓存服务器中,则从待选数据集合H选择下一个数据Dn;直至待选数据集合H中所有的数据Dn被选择完毕,输出更新缓存数据集合。
实施例2
一种解决高并发数据访问的系统,参见图1,包括:
时间判断模块,用于判断当前时间是处于访问周期内还是处于缓存服务器更新时刻;
数据访问请求获取模块,用于获取来自于客户端的数据访问请求;
缓存服务器匹配模块,用于基于数据访问请求从缓存服务器中进行数据匹配,若是匹配成功,输出匹配成功的数据,将匹配成功的数据返回客户端;
负载均衡模块,用于当缓存服务器匹配模块匹配失败时,通过负载均衡的方式将数据访问请求发送至不同数据库中;
数据库匹配模块,用于基于数据访问请求从数据库中进行匹配,并且输出匹配成功的数据,将匹配成功的数据返回客户端;
访问权重更新模块,用于将缓存服务器匹配模块匹配成功的数据或者数据库匹配模块匹配成功的数据对应的访问权重进行更新,且当访问周期变化时,将所有数据对应的访问权重都重置为0;
待选数据集合构建模块,用于将数据库匹配模块匹配成功的数据和当前所处访问周期的缓存服务器中的所有数据构建待选数据集合;
数据大小获取模块,用于获取待选数据集合中所有数据对应的数据大小;
数据类型获取模块,用于获取待选数据集合中所有数据对应的数据类型;
数据类型访问频率计算模块,用于根据待选数据集合中数据对应的数据类型和访问权重计算数据对应的数据类型访问频率;
数据类型时序集合构建模块,用于将每个访问周期内最高的数据类型访问频率对应的数据类型按照时间顺序存入数据类型时序集合;
系数模拟计算模块,用于通过麻雀搜索算法模拟计算访问权重系数、数据大小系数和数据类型系数;
预测数据类型输出模块,用于基于数据类型时序集合和数据类型预测模型获得下一个访问周期对应的预测数据类型;
数据类型相似度计算模块,用于计算数据对应的数据类型与下一个访问周期对应的预测数据类型之间的数据类型相似度;
排序权重计算模块,用于基于权重系数、数据大小系数、数据类型系数、访问权重、数据大小、缓存服务器空间大小、数据类型访问频率和数据类型相似度计算数据对应的排序权重;
更新缓存数据集合构建模块,用于将待选数据集合中所有数据按照对应的排序权重构建更新缓存数据集合;
缓存服务器更新模块,用于将更新缓存数据集合替换当前所处访问周期的缓存服务器内的所有数据,对缓存服务器进行更新。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。本说明书中未作详细描述的部分属于本领域专业技术人员公知的现有技术。
Claims (7)
1.一种解决高并发数据访问的方法,其特征在于,包括:
在访问周期Ti内,i为访问周期对应的周期编号,且i=1,2,3……I,I为访问周期的总数量,执行如下内容:
获取来自于客户端的数据访问请求;
基于数据访问请求从缓存服务器中进行数据匹配,若是匹配成功,输出匹配成功的数据Dn,n为数据对应的数据编号,n=1,2,3……N,N为数据的总量,将匹配成功的数据Dn返回客户端,并且将数据Dn对应的访问权重Wn执行增一赋值操作,且每一个数据Dn对应的访问权重Wn初始都为0,每进入下一个访问周期Ti+1将所有数据Dn对应的访问权重Wn都重置为0;若是匹配不成功,则通过负载均衡的方式将数据访问请求发送至不同数据库中进行匹配,并且输出匹配成功的数据Dn,将匹配成功的数据Dn返回客户端,并且将数据Dn对应的访问权重Wn执行增一赋值操作,再将匹配成功的数据Dn存入待选数据集合H中,待选数据集合H初始为空;
在缓存服务器更新时刻ti时,执行如下内容:
将当前所处访问周期Ti的缓存服务器中的所有数据Dn存入待选数据集合H中,并获取待选数据集合H中所有数据Dn对应的数据大小Qn和数据类型Fm,m为数据类型Fm对应的数据类型编号,且m=1,2,3……M,M为数据类型的总数量,将待选数据集合H中所有数据Dn按照数据类型Fm划分为不同的数据类型集合Gm,即每一个数据类型集合Gm中都存储着待选数据集合H中数据类型Fm对应的所有数据Dn,计算选数据集合H中所有数据类型Fm对应的数据类型访问频率fm,,选择最高的数据类型访问频率fm对应的数据类型Fm按照时间顺序存入数据类型时序集合,数据类型时序集合初始为空,在待选数据集合H中所有数据Dn对应的访问权重Wn、数据大小Qn和数据类型Fm的基础上,通过改进后的缓存优化策略对缓存服务器中的所有数据Dn进行更新,具体为通过如下公式计算待选数据集合H中所有数据Dn对应的排序权重μn,/>,其中α1、α2和α3分别为访问权重系数、数据大小系数和数据类型系数,α1+α2+α3=1,且α1、α2和α3通过麻雀搜索算法模拟计算的方式获得;Qz为缓存服务器空间大小;βn为数据Dn对应的数据类型Fm与下一个访问周期Ti+1对应的预测数据类型Fm_exp之间的数据类型相似度,且下一个访问周期Ti+1对应的预测数据类型Fm_exp基于数据类型时序集合和数据类型预测模型获得;将待选数据集合H中所有数据Dn按照对应的排序权重μn构建更新缓存数据集合,并将待选数据集合进行清空,再将更新缓存数据集合替换当前所处访问周期Ti的缓存服务器内的所有数据Dn,对缓存服务器进行更新;
通过麻雀搜索算法模拟计算的方式获得α1、α2和α3,具体包括如下步骤:
S1:初始化麻雀种群,设置麻雀种群中的麻雀总数量为E,设置最大迭代次数Iter_max,随机初始化麻雀种群中的麻雀位置Re,麻雀位置Re的存储形式为{αek},k=1,2,3,其中αek为麻雀位置Re中第k个模拟参数;
S2:计算麻雀种群内的所有麻雀位置Re对应的适应度δe,再将麻雀种群内的所有麻雀位置Re按照适应度δe从大到小的顺序进行排序,并将适应度δe最大的麻雀位置Re记为麻雀位置Rbest,将适应度δe最小的麻雀位置Re记为麻雀位置Rworst;再根据划分比例对排列好的所有麻雀位置Re进行划分;将划分后的前者记为发现者集合,划分后的后者记为跟随者集合;
S3:针对发现者集合中的所有麻雀位置Re进行更新,更新公式如下:
其中为更新后的麻雀位置Re中第k个模拟参数,j为发现者集合中的所有麻雀位置Re按照适应度δe从大到小的顺序排列之后对应的序号值;Y为位于区间(0,1)的随机数,u1为位于区间(0,1)的预警值,ST为安全值;Z为服从正态分布的随机数;L为1×3的矩阵,且矩阵内每个元素均为1;
S4:计算更新后发现者集合中的所有麻雀位置Re的适应度δe,将发现者集合中的适应度值δe最大的麻雀位置Re记为麻雀位置Rcon;针对跟随者集合的所有麻雀位置Re进行更新,更新公式如下:
其中αworstk为麻雀位置Rworst中第k项模拟参数,b为跟随者集合中的所有麻雀位置Re按照适应度δe从大到小的顺序排列之后对应的序号值,B为跟随者集合中的所有麻雀位置Re的总数;αconk为麻雀位置Rcon中第k项模拟参数,A+=AT(AAT)-1,其中A为1×3的矩阵,且矩阵内每个元素均为1或者-1;
S5:从麻雀种群中逐个选择麻雀位置Re,针对选择的麻雀位置Re,执行如下内容,通过随机函数生成一个0至1之间的随机数η,判断“η>Pc”是否成立,Pc为变换阈值,若是“η>Pc”不成立,无操作;否则将选择的麻雀位置Re对应的麻雀视为加入者,通过如下公式对选择的麻雀位置Re进行更新:
其中αbestk为麻雀位置Rbest中第k项模拟参数,ζ为步长调整系数,具体为一个正态分布随机数,且均值为0,方差为1,λ为区间[-1,1]内的均匀随机数,δbest为麻雀位置Rbest对应的适应度值,δworst为麻雀位置Rworst对应的适应度值;为一个小常数;
S6:重新计算麻雀种群内的所有麻雀位置Re对应的适应度δe,将种群集合内的所有麻雀位置Re按照适应度δe从大到小的顺序排列,并将适应度δe最大的麻雀位置Re记为麻雀位置Rbest,将适应度δe最小的麻雀位置Re记为麻雀位置Rworst;将麻雀位置Rbest记录在暂存寄存器中,再重新将麻雀种群内的所有麻雀位置Re划分为发现者集合和跟随者集合;
S7:判断是否达到最大迭代次数Iter_max,若是达到最大迭代次数Iter_max,将暂存寄存器中适应度δe最大的麻雀位置Re作为α1、α2和α3进行输出;若是未达到最大迭代次数Iter_max,回到步骤S3继续迭代模拟。
2.根据权利要求1所述的一种解决高并发数据访问的方法,其特征在于,基于数据类型时序集合和数据类型预测模型获得下一个访问周期Ti+1对应的预测数据类型Fm_exp具体包括如下步骤:
获取数据类型时序集合中的后X个数据类型Fm组成待预测数据集;再将待预测数据集中的X个数据类型Fm逐个送入训练好的数据类型预测模型进行计算,输出对应的预测数据类型Fm_exp;
数据类型预测模型基于LSTM模型建立,包括LSTM块,BP神经网络块和softmax分类层,其中LSTM块用于提取待预测数据集中数据类型Fm之间的时序性特征;BP神经网络块基于BP神经网络进行建立,包括一个输入层、三个隐藏层和一个输出层,其中输入层的神经节点个数都是X,输出层的神经节点个数为M,隐藏层的神经节点个数为,其中ε为2-10之间的随机整数;softmax分类层用于输出一个长度为M的概率向量,并选择概率向量中最大概率值对应的数据类型Fm作为预测数据类型Fm_exp进行输出。
3.根据权利要求2所述的一种解决高并发数据访问的方法,其特征在于,针对数据类型预测模型的训练,具体包括如下步骤:
获取历史记录的训练数据集,训练数据集中存储按照时间顺序排列好的数据类型Fm,并且第一训练数据集中储存都是历史记录中每个访问周期内数据类型访问频率fm最高对应的数据类型Fm;通过长度为X的滑动窗口从训练数据集中选择依次相邻的X个数据类型Fm组成训练前置样本,将滑动窗口后一个数据类型Fm作为目标样本,再将训练前置样本和目标样本组成训练样本对,每当滑动窗口进行一次选择便可形成一个训练样本对,最后将所有训练样本对组成训练样本集;将训练样本集送入参数初始化的数据类型预测模型中进行训练,训练期间,将训练样本对中的训练前置样本从LSTM块输入,再基于softmax分类层输出的预测数据类型Fm_exp与训练样本对中的目标样本计算损失值,判断损失值是否位于预设范围内,若是损失值位于预设范围内,输出训练好的数据类型预测模型;否则,继续迭代训练。
4.根据权利要求3所述的一种解决高并发数据访问的方法,其特征在于,随机初始化麻雀种群中的麻雀位置Re,具体包括如下步骤:针对任一麻雀位置Re,选择区间(0,1)之间的随机数对αe1进行赋值,再选择区间(0,1-αe1)之间的随机数对αe2进行赋值,最后将1-αe1-αe2对αe3进行赋值。
5.根据权利要求4所述的一种解决高并发数据访问的方法,其特征在于,计算麻雀种群内的所有麻雀位置Re对应的适应度δe,具体包括如下步骤:将麻雀位置Re作为α1、α2和α3执行改进后的缓存优化策略,并通过脚本或者服务端测试的方式模拟进行数据访问,计算缓存命中率,即缓存服务器中匹配成功的次数占所有数据访问请求总数量的比值,以缓存命中率作为麻雀位置Re对应的适应度δe。
6.根据权利要求1所述的一种解决高并发数据访问的方法,其特征在于,将待选数据集合H中所有数据Dn按照对应的排序权重μn构建更新缓存数据集合,具体包括如下步骤:
构建一个空的更新缓存数据集合,将待选数据集合H中所有数据Dn按照对应的排序权重μn从大到小进行排列,再从待选数据集合H逐个选择数据Dn,针对选择的数据Dn,判断“Qn<Qrem”是否成立,其中Qrem为缓存服务器剩余空间大小,缓存服务器剩余空间大小Qrem为缓存服务器空间大小Qz减去当前更新缓存数据集合中所有数据Dn对应的数据大小Qn计算所得,若是“Qn<Qrem”成立,将选择的数据Dn添加至更新缓存数据集合中;若是“Qn<Qrem”不成立,则从待选数据集合H选择下一个数据Dn;直至待选数据集合H中所有的数据Dn被选择完毕,输出更新缓存数据集合。
7.一种解决高并发数据访问的系统,其特征在于,所述系统应用上述权利要求1-6任一项所述的一种解决高并发数据访问的方法,包括:
时间判断模块,用于判断当前时间是处于访问周期内还是处于缓存服务器更新时刻;
数据访问请求获取模块,用于获取来自于客户端的数据访问请求;
缓存服务器匹配模块,用于基于数据访问请求从缓存服务器中进行数据匹配,若是匹配成功,输出匹配成功的数据,将匹配成功的数据返回客户端;
负载均衡模块,用于当缓存服务器匹配模块匹配失败时,通过负载均衡的方式将数据访问请求发送至不同数据库中;
数据库匹配模块,用于基于数据访问请求从数据库中进行匹配,并且输出匹配成功的数据,将匹配成功的数据返回客户端;
访问权重更新模块,用于将缓存服务器匹配模块匹配成功的数据或者数据库匹配模块匹配成功的数据对应的访问权重进行更新,且当访问周期变化时,将所有数据对应的访问权重都重置为0;
待选数据集合构建模块,用于将数据库匹配模块匹配成功的数据和当前所处访问周期的缓存服务器中的所有数据构建待选数据集合;
数据大小获取模块,用于获取待选数据集合中所有数据对应的数据大小;
数据类型获取模块,用于获取待选数据集合中所有数据对应的数据类型;
数据类型访问频率计算模块,用于根据待选数据集合中数据对应的数据类型和访问权重计算数据对应的数据类型访问频率;
数据类型时序集合构建模块,用于将每个访问周期内最高的数据类型访问频率对应的数据类型按照时间顺序存入数据类型时序集合;
系数模拟计算模块,用于通过麻雀搜索算法模拟计算访问权重系数、数据大小系数和数据类型系数;
预测数据类型输出模块,用于基于数据类型时序集合和数据类型预测模型获得下一个访问周期对应的预测数据类型;
数据类型相似度计算模块,用于计算数据对应的数据类型与下一个访问周期对应的预测数据类型之间的数据类型相似度;
排序权重计算模块,用于基于权重系数、数据大小系数、数据类型系数、访问权重、数据大小、缓存服务器空间大小、数据类型访问频率和数据类型相似度计算数据对应的排序权重;
更新缓存数据集合构建模块,用于将待选数据集合中所有数据按照对应的排序权重构建更新缓存数据集合;
缓存服务器更新模块,用于将更新缓存数据集合替换当前所处访问周期的缓存服务器内的所有数据,对缓存服务器进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410047668.5A CN117555933B (zh) | 2024-01-12 | 2024-01-12 | 一种解决高并发数据访问的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410047668.5A CN117555933B (zh) | 2024-01-12 | 2024-01-12 | 一种解决高并发数据访问的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117555933A CN117555933A (zh) | 2024-02-13 |
CN117555933B true CN117555933B (zh) | 2024-03-22 |
Family
ID=89817150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410047668.5A Active CN117555933B (zh) | 2024-01-12 | 2024-01-12 | 一种解决高并发数据访问的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555933B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118337870B (zh) * | 2024-06-13 | 2024-08-16 | 安徽南瑞中天电力电子有限公司 | 一种大规模数字化设备数据采集调度方法、系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110012098A (zh) * | 2019-04-04 | 2019-07-12 | 浙江工业大学 | 一种web高并发访问处理系统及方法 |
CN111177090A (zh) * | 2020-01-14 | 2020-05-19 | 江苏鸿程大数据技术与应用研究院有限公司 | 一种基于子模优化算法的客户端缓存方法及系统 |
CN113311994A (zh) * | 2021-04-09 | 2021-08-27 | 中企云链(北京)金融信息服务有限公司 | 一种基于高并发的数据缓存方法 |
CN113419976A (zh) * | 2021-06-29 | 2021-09-21 | 华中科技大学 | 一种基于分类预测的自适应分段缓存方法及系统 |
CN116127222A (zh) * | 2023-02-14 | 2023-05-16 | 深圳市酷开网络科技股份有限公司 | 基于不同缓存策略的缓存优化方法、装置、智能终端 |
CN117370058A (zh) * | 2023-10-16 | 2024-01-09 | 中国建设银行股份有限公司 | 一种业务处理方法、装置、电子设备及计算机可读介质 |
-
2024
- 2024-01-12 CN CN202410047668.5A patent/CN117555933B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110012098A (zh) * | 2019-04-04 | 2019-07-12 | 浙江工业大学 | 一种web高并发访问处理系统及方法 |
CN111177090A (zh) * | 2020-01-14 | 2020-05-19 | 江苏鸿程大数据技术与应用研究院有限公司 | 一种基于子模优化算法的客户端缓存方法及系统 |
CN113311994A (zh) * | 2021-04-09 | 2021-08-27 | 中企云链(北京)金融信息服务有限公司 | 一种基于高并发的数据缓存方法 |
CN113419976A (zh) * | 2021-06-29 | 2021-09-21 | 华中科技大学 | 一种基于分类预测的自适应分段缓存方法及系统 |
CN116127222A (zh) * | 2023-02-14 | 2023-05-16 | 深圳市酷开网络科技股份有限公司 | 基于不同缓存策略的缓存优化方法、装置、智能终端 |
CN117370058A (zh) * | 2023-10-16 | 2024-01-09 | 中国建设银行股份有限公司 | 一种业务处理方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117555933A (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11334819B2 (en) | Method and system for distributed machine learning | |
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
CN117555933B (zh) | 一种解决高并发数据访问的方法及系统 | |
CN112487805B (zh) | 一种基于元学习框架的小样本Web服务分类方法 | |
CN113312505B (zh) | 一种基于离散在线哈希学习的跨模态检索方法及系统 | |
WO2022056841A1 (en) | Neural architecture search via similarity-based operator ranking | |
CN112612948B (zh) | 一种基于深度强化学习的推荐系统构建方法 | |
CN110413878A (zh) | 基于自适应弹性网络的用户-商品偏好的预测装置和方法 | |
CN114925270B (zh) | 一种会话推荐方法和模型 | |
CN116112563A (zh) | 一种基于流行度预测的双策略自适应缓存替换方法 | |
CN107026755B (zh) | 一种基于排序学习的服务推荐方法 | |
CN114566277A (zh) | 一种基于联邦元学习的罕见疾病分类方法 | |
CN106897388A (zh) | 预测微博事件热度的方法及装置 | |
CN112651499A (zh) | 一种基于蚁群优化算法和层间信息的结构化模型剪枝方法 | |
CN114025017B (zh) | 基于深度循环强化学习的网络边缘缓存方法、装置及设备 | |
CN110941767A (zh) | 一种基于多相似度集成的网络社团检测对抗增强方法 | |
CN113132482B (zh) | 一种基于强化学习的分布式消息系统参数自适应优化方法 | |
CN115730139A (zh) | 基于异质多兴趣建模的短视频推荐方法及装置 | |
CN109634953A (zh) | 一种面向高维大数据集的加权量化哈希检索方法 | |
CN114880490A (zh) | 一种基于图注意力网络的知识图谱补全方法 | |
CN108805221A (zh) | 手写数字识别方法及装置 | |
JP6993250B2 (ja) | コンテンツ特徴量抽出装置、方法、及びプログラム | |
CN116737607B (zh) | 样本数据缓存方法、系统、计算机设备和存储介质 | |
CN112819075B (zh) | 一种基于转导式推理的均衡小样本任务分类方法 | |
CN118193581B (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 |