CN116910100B - 用于低代码平台的缓存数据处理方法 - Google Patents
用于低代码平台的缓存数据处理方法 Download PDFInfo
- Publication number
- CN116910100B CN116910100B CN202311152832.0A CN202311152832A CN116910100B CN 116910100 B CN116910100 B CN 116910100B CN 202311152832 A CN202311152832 A CN 202311152832A CN 116910100 B CN116910100 B CN 116910100B
- Authority
- CN
- China
- Prior art keywords
- data
- feature vector
- matching
- current
- vectors
- 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
- 238000003672 processing method Methods 0.000 title abstract description 7
- 239000013598 vector Substances 0.000 claims abstract description 477
- 238000000034 method Methods 0.000 claims abstract description 51
- 239000011159 matrix material Substances 0.000 claims abstract description 31
- 230000014759 maintenance of location Effects 0.000 claims description 40
- 125000004122 cyclic group Chemical group 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012163 sequencing technique Methods 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
- 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/242—Query formulation
-
- 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
-
- 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)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理技术领域,提出了用于低代码平台的缓存数据处理方法,包括:实时获取当前返回数据及当前缓存数据;根据当前返回数据及当前缓存数据中每条数据的句子数量及句子的输出向量,获取当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组;通过对当前缓存数据中不同条数据的特征向量组进行匹配,得到每条数据中每个特征向量的匹配特征向量组及若干保留向量,获取若干保留特征向量组及对应的高频特征向量;根据高频特征向量及当前返回数据的特征向量组,得到匹配度及每条数据的匹配值,对当前缓存数据进行重排序及更新。本发明旨在解决缓存数据与查询过程不能够自适应调整而使得响应速度较慢的问题。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及用于低代码平台的缓存数据处理方法。
背景技术
在低代码平台中,缓存数据处理方法有助于提高应用程序的性能和响应速度,为了避免重复查询数据库,往往将查询结果缓存在内存中,但是内存有限,因此现有方法往往根据查询结果的出现频率来对数据进行排序,频率越大的数据在内存中的位置越靠前,从而在下一次查询过程中方便从内存的缓存数据中进行调用。
然而调用频率较大的数据不一定被调用的概率越大,将该数据置于缓存数据最前面的位置,会导致查询过程相应较慢,进而导致应用程序相应速度较慢;因此需要通过查询结果及缓存数据对下一次查询过程可能调用的查询结果进行预测,进而实现对于缓存数据的自适应排序,从而提高响应速度。
发明内容
本发明提供用于低代码平台的缓存数据处理方法,以解决现有的缓存数据与查询过程不能够自适应调整而使得响应速度较慢的问题,所采用的技术方案具体如下:
本发明一个实施例提供了用于低代码平台的缓存数据处理方法,该方法包括以下步骤:
对查询结果及缓存数据进行实时获取,得到当前返回数据及当前缓存数据,获取当前缓存数据中每条数据的调用频率;
根据当前返回数据及当前缓存数据中每条数据的句子数量及句子的输出向量,获取当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组;
通过对当前缓存数据中不同条数据的特征向量组进行匹配,得到每条数据中每个特征向量的匹配特征向量组及若干保留向量;根据保留向量及匹配特征向量组,获取若干保留特征向量组及对应的高频特征向量;
根据高频特征向量及当前返回数据的特征向量组,得到当前返回数据与当前缓存数据的匹配度;根据匹配度及若干保留向量,获取当前缓存数据中每条数据的匹配值并对当前缓存数据进行重排序及更新。
进一步的,所述当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组,具体的获取方法为:
根据当前返回数据及当前缓存数据中每条数据的句子数量及句子的输出向量,得到当前返回数据及当前缓存数据中每条数据中的若干输入句子及每个输入句子的输出向量;
以当前返回数据或当前缓存数据中任意一条数据为目标数据,将目标数据中所有输入句子的输出向量按照输入句子在目标数据中心的顺序,对输出向量逐行排列,一个输出向量作为矩阵的一行,得到的矩阵记为目标数据的数据矩阵;
对目标数据的数据矩阵进行SVD分解,得到若干特征向量,将目标数据的数据矩阵得到的所有特征向量,组成目标数据的特征向量组;
获取当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组。
进一步的,所述得到当前返回数据及当前缓存数据中每条数据中的若干输入句子及每个输入句子的输出向量,包括的具体方法为:
构建并训练用于将一个句子转化为一个固定长度的向量的循环神经网络,输出的向量记为句子的输出向量;
获取当前返回数据及当前缓存数据中每条数据的句子数量,将所有句子数量中的最小值记为标准句子数量,表示为a;
对于句子数量大于a的一条数据或当前返回数据,将该数据中所有句子通过训练完成的循环神经网络,输出得到每个句子的输出向量,将任意相邻两个句子的输出向量作为相邻输出向量对,获取每个相邻输出向量对中两个输出向量的余弦相似度,将所有余弦相似度中最大值对应的相邻输出向量对所对应的两个句子合并为一个句子,记为合并句子,对合并句子获取输出向量,获取合并句子与前后相邻两个句子的相邻输出向量对,并去除前后相邻两个句子与合并句子合并前两个句子对应的相邻输出向量对;
逐步对余弦相似度中最大值对应的相邻输出向量对所对应的两个句子进行合并,直到合并句子及未合并句子的数量等于a时,停止对该数据的句子合并;
对句子数量大于a的每条数据或当前返回数据的句子进行合并,使得当前返回数据及当前缓存数据中每条数据的句子数量都为a,对此时的当前返回数据及当前缓存数据中每条数据中的所有句子,记为输入句子。
进一步的,所述得到每条数据中每个特征向量的匹配特征向量组及若干保留向量,包括的具体方法为:
对当前缓存数据中任意两条数据的特征向量组进行KM匹配,得到当前缓存数据中任意两条数据的特征向量之间的匹配关系;
以任意一条数据中任意一个特征向量为目标特征向量,将目标特征向量在其他条数据中所有匹配关系对应的特征向量,组成目标特征向量的匹配特征向量组;将匹配特征向量组中与目标特征向量的余弦相似度大于相似阈值的特征向量记为目标特征向量的匹配向量,将匹配特征向量组中匹配向量的数量与特征向量的数量的比值,记为目标特征向量的相似频率;
获取每条数据中每个特征向量的相似频率,将相似频率大于频率阈值的特征向量,记为保留向量,得到若干保留向量。
进一步的,所述得到当前缓存数据中任意两条数据的特征向量之间的匹配关系,包括的具体方法为:
对于当前缓存数据中任意两条数据,将其中一条数据的特征向量组中每个特征向量作为二分图左侧的节点,另一条数据的特征向量组中每个特征向量作为二分图右侧的节点,节点之间的边值通过对应特征向量的余弦相似度来表示,对二分图进行KM匹配,得到该两条数据中特征向量之间的匹配关系;获取当前缓存数据中任意两条数据的特征向量之间的匹配关系。
进一步的,所述若干保留特征向量组及对应的高频特征向量,具体的获取方法为:
以任意一个保留向量为目标保留向量,获取目标保留向量的匹配特征向量组中保留向量的数量,将匹配特征向量组中保留向量的数量与特征向量的数量的比值记为目标保留向量的保留频率;
若保留频率大于保留阈值,将目标保留向量添加到匹配特征向量组中,添加后的匹配特征向量组记为一个保留特征向量组;
对每个保留向量的匹配特征向量组进行保留频率计算,得到若干保留特征向量组;
根据每个保留特征向量组中的特征向量,以及特征向量对应数据的调用频率,得到每个保留特征向量组的高频特征向量。
进一步的,所述得到每个保留特征向量组的高频特征向量,包括的具体方法为:
以任意一个保留特征向量组为目标保留特征向量组,将目标保留特征向量组中每个特征向量对应数据的调用频率作为每个特征向量的参考系数,对所有参考系数进行softmax归一化,得到的结果作为每个特征向量的参考权重;
对目标保留特征向量组的所有特征向量中相同位置的元素,根据特征向量的参考权重进行加权求和,对每个位置的元素都得到一个加权和值,记为每个位置的代表值,将代表值按照位置顺序排列,得到的向量记为目标保留特征向量组的高频特征向量;
获取每个保留特征向量组的高频特征向量。
进一步的,所述得到当前返回数据与当前缓存数据的匹配度,包括的具体方法为:
将所有高频特征向量作为二分图的左侧节点,将当前返回数据的特征向量作为二分图的右侧节点,节点之间的边值通过高频特征向量与特征向量之间的余弦相似度来表示,对二分图进行KM匹配,得到若干匹配对;将匹配对中高频特征向量与特征向量之间的余弦相似度小于或等于匹配阈值的匹配对进行去除,将剩余的匹配对记为相似匹配对,将相似匹配对的数量与匹配对的数量的比值记为当前返回数据与当前缓存数据的匹配度。
进一步,所述获取当前缓存数据中每条数据的匹配值并对当前缓存数据进行重排序及更新,包括的具体方法为:
对于当前缓存数据中任意一条数据,获取该数据的保留向量的数量与特征向量的数量的比值,记为该数据的保留程度;获取当前缓存数据中每条数据的保留程度,若保留程度大于保留程度阈值,将保留程度对应的特征向量组记为高频特征向量组;若保留程度小于或等于保留程度阈值,将保留程度对应的特征向量组记为局部特征向量组;
若匹配度大于或等于匹配度阈值,以任意一个特征向量组为目标特征向量组,对目标特征向量组与当前返回数据的特征向量组进行KM匹配,其中两侧节点为特征向量,边值为特征向量之间的余弦相似度,通过对二分图进行KM匹配,得到若干匹配向量对;将存在保留向量的匹配向量对记为保留向量对,将保留向量对的数量作为目标特征向量组的匹配值,获取每个特征向量组的匹配值;按照匹配值从大到小的顺序对高频特征向量组对应的数据进行排序,完成后再按照匹配值从大到小的顺序,对局部特征向量组对应的数据进行排序,完成当前缓存数据的重排序;
若匹配度小于匹配度阈值,对于任意一个特征向量组,通过与当前返回数据的特征向量组进行KM匹配后,得到若干匹配向量对,将不存在保留向量的匹配向量对记为局部向量对,将局部向量对的数量作为特征向量组的匹配值,获取每个特征向量组的匹配值;按照匹配值从大到小的顺序对局部特征向量组对应的数据进行排序,完成后再按照匹配值从大到小的顺序,对高频特征向量组对应的数据进行排序,完成当前缓存数据的重排序;
根据当前缓存数据中每条数据的特征向量组的匹配值,以及当前缓存数据,对重排序后的当前缓存数据进行更新。
进一步的,所述对重排序后的当前缓存数据进行更新,包括的具体方法为:
若当前缓存数据中所有条数据的匹配值的最大值,与当前返回数据的特征向量的数量相同,将匹配值最大值对应的数据的调用次数加1,对当前缓存数据中所有条数据的调用频率进行更新,完成当前缓存数据的更新;
若当前缓存数据中所有条数据的匹配值的最大值,不等于当前返回数据的特征向量的数量,将当前返回数据添加到当前缓存数据中,并排列在最前面的第一个位置,将重排序后的当前缓存数据中最后一个位置的一条数据踢出内存,对添加及踢出后的当前缓存数据重新获取每条数据的调用频率,完成当前缓存数据的更新。
本发明的有益效果是:本发明通过对当前返回数据及当前缓存数据中每条数据进行句子划分及合并,保证得到的数据矩阵大小一致,进而有助于后续特征向量的匹配量化及高频信息的获取;通过对不同条数据的特征向量进行匹配,结合匹配关系中特征向量之间的相似度得到保留向量及保留特征向量组,通过保留特征向量组反映高频信息,进而量化得到高频特征向量,为后续当前返回数据与当前缓存数据的高频信息还是局部信息的识别匹配提供基础,保证搜索趋向判断的准确性;通过获取匹配度及每条数据的匹配值,实现对当前缓存数据的重排序及更新,实现对于搜索趋向的预测,进而提高后续查询过程应用程序的响应速度,增大低代码平台的查询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例所提供的用于低代码平台的缓存数据处理方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明一个实施例所提供的用于低代码平台的缓存数据处理方法流程图,该方法包括以下步骤:
步骤S001、对查询结果及缓存数据进行实时获取,得到当前返回数据及当前缓存数据,获取当前缓存数据中每条数据的调用频率。
本实施例的目的是对低代码平台中的缓存数据进行实时更新,即由于内存是有限的,因此需要对缓存数据进行实时更新,使得后续的查询过程中,下一次查询对应的查询结果在更新后的缓存数据中处于较为靠前的位置,从而达到快速检索、提高应用程序的性能和响应速度的目的,因此首先需要获取低代码平台的当前缓存数据和当前返回数据。
具体的,由于对查询结果及缓存数据为实时获取,因此将实时进行的查询过程记为当前查询过程,将当前查询过程对应的查询结果作为当前返回数据;将当前查询过程进行之前低代码平台中的缓存数据作为当前缓存数据;而当前缓存数据中存在若干条数据,对当前缓存数据中每条数据的调用频率进行获取,其中数据的调用频率可以从低代码平台中直接获取,本实施例不再赘述。
至此,获取到了当前查询过程的当前返回数据与当前缓存数据。
步骤S002、根据当前返回数据及当前缓存数据中每条数据的句子数量及句子的输出向量,获取当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组。
需要说明的是,要对当前返回数据及每条数据构建数据矩阵,并根据数据矩阵得到特征向量组,则需要通过SVD分解对矩阵得到特征向量组,同时为了保证特征向量组中特征向量的数量相同且维度数相同,则需要保证数据矩阵的大小一致;则通过循环神经网络将当前返回数据及每条数据中的文本数据转化为固定长度的输出向量,通过一条数据中所有输出向量逐行排列则保证了数据矩阵的列数一致;而行数一致则需要保证每条数据及当前返回数据中拆分出的句子数量一致,则需要获取最小的句子数量,再对其他条数据中的句子进行合并,从而得到相同的句子数量,进而保证数据矩阵的大小一致。
具体的,构建一个循环神经网络用于将一串文本数据转化为固定长度的向量,循环神经网络模型采用Skip-thought Vectors模型,网络输入为一串文本数据即一个句子,输出为一个固定长度的向量,记为输出向量,本实施例固定长度采用20进行叙述,即输出向量的维度数设置为20;其中循环神经网络训练为公知技术,本实施例不再赘述,通过训练完成的循环神经网络,可以将输入的相近的文本数据,输出得到相似度较高的输出向量。
进一步的,获取当前返回数据及当前缓存数据中每条数据的句子数量,其中本实施例以句号对句子进行划分,将所有句子数量中的最小值记为标准句子数量,表示为a;对于句子数量大于a的一条数据或当前返回数据,将该数据中所有句子通过训练完成的循环神经网络,输出得到每个句子的输出向量,将任意相邻两个句子的输出向量作为相邻输出向量对,获取每个相邻输出向量对中两个输出向量的余弦相似度,将所有余弦相似度中最大值对应的相邻输出向量对所对应的两个句子合并为一个句子,记为合并句子,对合并句子获取输出向量,获取合并句子与前后相邻两个句子的相邻输出向量对,并去除前后相邻两个句子与合并句子合并前两个句子对应的相邻输出向量对,继续按照上述方法,逐步对余弦相似度中最大值对应的相邻输出向量对所对应的两个句子进行合并,直到合并句子及未合并句子的数量等于a时,停止对该数据的句子合并;需要说明的是,合并句子若对应的相邻输出向量对的余弦相似度最大,也可以再进行合并得到合并句子;按照上述方法对句子数量大于a的每条数据或当前返回数据的句子进行合并,使得当前返回数据及当前缓存数据中每条数据的句子数量都为a,对此时的当前返回数据及当前缓存数据中每条数据中的所有句子,记为输入句子,即当前返回数据及当前缓存数据中每条数据中输入句子的数量都为a。
进一步的,对于当前返回数据或当前缓存数据中任意一条数据,对该数据中所有输入句子通过循环神经网络获取输出向量,按照输入句子在该数据中的顺序,将输出向量逐行排列,一个输出向量作为矩阵的一行,得到的矩阵记为该数据的数据矩阵;对该数据的数据矩阵进行SVD分解,得到若干特征向量,将该数据的数据矩阵得到的所有特征向量,组成该数据的特征向量组;按照上述方法获取当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组;需要说明的是,当前返回数据及当前缓存数据中每条数据的数据矩阵大小均相同,则得到的特征向量的维度数相同且数量相同。
至此,获取到了当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组。
步骤S003、通过对当前缓存数据中不同条数据的特征向量组进行匹配,得到每条数据中每个特征向量的匹配特征向量组及若干保留向量;根据保留向量及匹配特征向量组,获取若干保留特征向量组及对应的高频特征向量。
需要说明的是,首先要对当前缓存数据获取高频信息,由于特征向量组中特征向量数量相同,则需要对不同条数据的特征向量组中特征向量进行KM匹配,进而根据匹配关系中特征向量之间的相似度,得到匹配特征向量组并确定反映高频信息的保留向量;再根据保留向量及对应的匹配特征向量组,得到保留特征向量组,反映当前缓存数据中整体的高频信息,进而得到高频特征向量。
具体的,对于当前缓存数据中任意两条数据,将其中一条数据的特征向量组中每个特征向量作为二分图左侧的节点,另一条数据的特征向量组中每个特征向量作为二分图右侧的节点,节点之间的边值通过对应特征向量的余弦相似度来表示,对二分图进行KM匹配,则可以得到该两条数据中特征向量之间的匹配关系,按照上述方法获取当前缓存数据中任意两条数据的特征向量之间的匹配关系。
进一步的,对于任意一条数据中任意一个特征向量,将该特征向量在其他条数据中所有匹配关系对应的特征向量,组成该特征向量的匹配特征向量组;预设一个相似阈值,本实施例相似阈值采用0.8进行叙述,将匹配特征向量组中与该特征向量的余弦相似度大于相似阈值的特征向量记为该特征向量的匹配向量,将匹配特征向量组中匹配向量的数量与特征向量的数量的比值,记为该特征向量的相似频率;按照上述方法获取每条数据中每个特征向量的相似频率,预设一个频率阈值,本实施例频率阈值采用0.75进行叙述,将相似频率大于频率阈值的特征向量,记为保留向量,则得到了当前缓存数据中若干保留向量。
进一步的,对于任意一个保留向量,获取该保留向量的匹配特征向量组中保留向量的数量,将该匹配特征向量组中保留向量的数量与特征向量的数量的比值记为该保留向量的保留频率,预设一个保留阈值,本实施例保留阈值采用0.7进行叙述,若保留频率大于保留阈值,将该保留向量添加到对应的匹配特征向量组中,添加后的匹配特征向量组记为一个保留特征向量组;按照上述方法对每个保留向量的匹配特征向量组进行保留频率计算,得到若干保留特征向量组。
进一步的,对于任意一个保留特征向量组,其中包含若干特征向量,将每个特征向量对应数据的调用频率作为每个特征向量的参考系数,对所有参考系数进行softmax归一化,得到的结果作为每个特征向量的参考权重,对该保留特征向量组的所有特征向量中相同位置的元素,根据特征向量的参考权重进行加权求和,则对每个位置的元素都得到一个加权和值,记为每个位置的代表值,将代表值按照位置顺序排列,则得到了一个向量,记为该保留特征向量组的高频特征向量;即通过对保留特征向量组的所有特征向量中相同位置的元素进行加权,从而得到高频特征向量;按照上述方法获取每个保留特征向量组的高频特征向量。
至此,通过对当前缓存数据中不同条数据的特征向量组进行匹配,最终得到反映高频信息的若干高频特征向量。
步骤S004、根据高频特征向量及当前返回数据的特征向量组,得到当前返回数据与当前缓存数据的匹配度;根据匹配度及若干保留向量,获取当前缓存数据中每条数据的匹配值并对当前缓存数据进行重排序及更新。
需要说明的是,获取到高频特征向量后,则需要对当前返回数据的特征向量与高频特征向量进行KM匹配,根据匹配结果中特征向量与高频特征向量之间的余弦相似度来确定匹配度,通过匹配度来表示搜索倾向,若匹配度较大,表明当前还在进行高频信息的查询,则可以通过保留向量来获取当前缓存数据中每条数据的匹配值并重新排序;若匹配度较小,则表明在进行局部信息的检索,则需要通过每条数据的特征向量组除保留向量之外的特征向量来获取匹配值并重新排序,进而完成当前缓存数据的更新。
具体的,将所有高频特征向量作为二分图的左侧节点,将当前返回数据的特征向量作为二分图的右侧节点,由于高频特征向量是对保留特征向量组中的特征向量加权得到,其维度数与特征向量的维度数相同,则节点之间的边值通过高频特征向量与特征向量之间的余弦相似度来表示,对二分图进行KM匹配,得到若干匹配对;由于高频特征向量的数量与当前返回数据的特征向量的数量不一定相同,则匹配结果中匹配对的数量为两个数量中的最小值;预设一个匹配阈值,本实施例匹配阈值采用0.8进行叙述,将匹配对中余弦相似度小于或等于匹配阈值的匹配对进行去除,将剩余的匹配对记为相似匹配对,将相似匹配对的数量与匹配对的数量的比值记为当前返回数据与当前缓存数据的匹配度,预设一个匹配度阈值,本实施例匹配度阈值采用0.7进行叙述。
进一步的,若匹配度大于或等于匹配度阈值,则对于当前缓存数据中任意一条数据,获取该数据的保留向量的数量与特征向量的数量的比值,记为该数据的保留程度;按照上述方法获取当前缓存数据中每条数据的保留程度,预设一个保留程度阈值,本实施例保留程度阈值采用0.65进行叙述,若保留程度大于保留程度阈值,则将保留程度对应的特征向量组记为高频特征向量组;若保留程度小于或等于保留程度阈值,将保留程度对应的特征向量组记为局部特征向量组;对于任意一个特征向量组,对该特征向量组与当前返回数据的特征向量组进行KM匹配,其中两侧节点为特征向量,边值为特征向量之间的余弦相似度,通过对二分图进行KM匹配,得到若干匹配向量对,将存在保留向量的匹配向量对记为保留向量对,将保留向量对的数量作为该特征向量组的匹配值,获取每个特征向量组的匹配值;根据匹配值对当前缓存数据中所有条数据进行排序,按照匹配值从大到小的顺序对高频特征向量组对应的数据进行排序,完成后再按照匹配值从大到小的顺序,对局部特征向量组对应的数据进行排序,则完成了匹配度较大的情况下当前缓存数据的重排序。
进一步的,若匹配度小于匹配度阈值,则对于任意一个特征向量组,通过与当前返回数据的特征向量组进行KM匹配后,得到若干匹配向量对,将不存在保留向量的匹配向量对记为局部向量对,将局部向量对的数量作为特征向量组的匹配值,获取每个特征向量组的匹配值;根据匹配值对当前缓存数据中所有条数据进行排序,按照匹配值从大到小的顺序对局部特征向量组对应的数据进行排序,完成后再按照匹配值从大到小的顺序,对高频特征向量组对应的数据进行排序,则完成了匹配度较小的情况下当前缓存数据的重排序。
进一步的,需要将当前返回数据,即当前查询过程的查询结果添加到当前缓存数据中,若当前缓存数据中所有条数据的匹配值的最大值,与当前返回数据的特征向量的数量相同,则将匹配值最大值对应的数据的调用次数加1,并对当前缓存数据中所有条数据的调用频率进行更新,完成当前缓存数据的更新;若当前缓存数据中所有条数据的匹配值的最大值,不等于当前返回数据的特征向量的数量,则将当前返回数据添加到当前缓存数据中,并排列在最前面的第一个位置,同时将重排序后的当前缓存数据中最后一个位置的一条数据踢出内存,对添加及踢出后的当前缓存数据重新获取每条数据的调用频率,则完成了当前缓存数据的更新。
至此,通过当前返回数据与当前缓存数据中每条数据的匹配关系,完成了当前缓存数据的重排序及更新,对于后续查询过程也可以按照上述方法进行缓存数据的实时更新,实现了低代码平台中对于缓存数据的实时更新处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.用于低代码平台的缓存数据处理方法,其特征在于,该方法包括以下步骤:
对查询结果及缓存数据进行实时获取,得到当前返回数据及当前缓存数据,获取当前缓存数据中每条数据的调用频率;
根据当前返回数据及当前缓存数据中每条数据的句子数量及句子的输出向量,获取当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组;
通过对当前缓存数据中不同条数据的特征向量组进行匹配,得到每条数据中每个特征向量的匹配特征向量组及若干保留向量;根据保留向量及匹配特征向量组,获取若干保留特征向量组及对应的高频特征向量;
根据高频特征向量及当前返回数据的特征向量组,得到当前返回数据与当前缓存数据的匹配度;根据匹配度及若干保留向量,获取当前缓存数据中每条数据的匹配值并对当前缓存数据进行重排序及更新;
所述得到每条数据中每个特征向量的匹配特征向量组及若干保留向量,包括的具体方法为:
对当前缓存数据中任意两条数据的特征向量组进行KM匹配,得到当前缓存数据中任意两条数据的特征向量之间的匹配关系;
以任意一条数据中任意一个特征向量为目标特征向量,将目标特征向量在其他条数据中所有匹配关系对应的特征向量,组成目标特征向量的匹配特征向量组;将匹配特征向量组中与目标特征向量的余弦相似度大于相似阈值的特征向量记为目标特征向量的匹配向量,将匹配特征向量组中匹配向量的数量与特征向量的数量的比值,记为目标特征向量的相似频率;
获取每条数据中每个特征向量的相似频率,将相似频率大于频率阈值的特征向量,记为保留向量,得到若干保留向量;
所述若干保留特征向量组及对应的高频特征向量,具体的获取方法为:
以任意一个保留向量为目标保留向量,获取目标保留向量的匹配特征向量组中保留向量的数量,将匹配特征向量组中保留向量的数量与特征向量的数量的比值记为目标保留向量的保留频率;
若保留频率大于保留阈值,将目标保留向量添加到匹配特征向量组中,添加后的匹配特征向量组记为一个保留特征向量组;
对每个保留向量的匹配特征向量组进行保留频率计算,得到若干保留特征向量组;
根据每个保留特征向量组中的特征向量,以及特征向量对应数据的调用频率,得到每个保留特征向量组的高频特征向量;
所述得到每个保留特征向量组的高频特征向量,包括的具体方法为:
以任意一个保留特征向量组为目标保留特征向量组,将目标保留特征向量组中每个特征向量对应数据的调用频率作为每个特征向量的参考系数,对所有参考系数进行softmax归一化,得到的结果作为每个特征向量的参考权重;
对目标保留特征向量组的所有特征向量中相同位置的元素,根据特征向量的参考权重进行加权求和,对每个位置的元素都得到一个加权和值,记为每个位置的代表值,将代表值按照位置顺序排列,得到的向量记为目标保留特征向量组的高频特征向量;
获取每个保留特征向量组的高频特征向量;
所述获取当前缓存数据中每条数据的匹配值并对当前缓存数据进行重排序及更新,包括的具体方法为:
对于当前缓存数据中任意一条数据,获取该数据的保留向量的数量与特征向量的数量的比值,记为该数据的保留程度;获取当前缓存数据中每条数据的保留程度,若保留程度大于保留程度阈值,将保留程度对应的特征向量组记为高频特征向量组;若保留程度小于或等于保留程度阈值,将保留程度对应的特征向量组记为局部特征向量组;
若匹配度大于或等于匹配度阈值,以任意一个特征向量组为目标特征向量组,对目标特征向量组与当前返回数据的特征向量组进行KM匹配,其中两侧节点为特征向量,边值为特征向量之间的余弦相似度,通过对二分图进行KM匹配,得到若干匹配向量对;将存在保留向量的匹配向量对记为保留向量对,将保留向量对的数量作为目标特征向量组的匹配值,获取每个特征向量组的匹配值;按照匹配值从大到小的顺序对高频特征向量组对应的数据进行排序,完成后再按照匹配值从大到小的顺序,对局部特征向量组对应的数据进行排序,完成当前缓存数据的重排序;
若匹配度小于匹配度阈值,对于任意一个特征向量组,通过与当前返回数据的特征向量组进行KM匹配后,得到若干匹配向量对,将不存在保留向量的匹配向量对记为局部向量对,将局部向量对的数量作为特征向量组的匹配值,获取每个特征向量组的匹配值;按照匹配值从大到小的顺序对局部特征向量组对应的数据进行排序,完成后再按照匹配值从大到小的顺序,对高频特征向量组对应的数据进行排序,完成当前缓存数据的重排序;
根据当前缓存数据中每条数据的特征向量组的匹配值,以及当前缓存数据,对重排序后的当前缓存数据进行更新。
2.根据权利要求1所述的用于低代码平台的缓存数据处理方法,其特征在于,所述当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组,具体的获取方法为:
根据当前返回数据及当前缓存数据中每条数据的句子数量及句子的输出向量,得到当前返回数据及当前缓存数据中每条数据中的若干输入句子及每个输入句子的输出向量;
以当前返回数据或当前缓存数据中任意一条数据为目标数据,将目标数据中所有输入句子的输出向量按照输入句子在目标数据中心的顺序,对输出向量逐行排列,一个输出向量作为矩阵的一行,得到的矩阵记为目标数据的数据矩阵;
对目标数据的数据矩阵进行SVD分解,得到若干特征向量,将目标数据的数据矩阵得到的所有特征向量,组成目标数据的特征向量组;
获取当前返回数据及当前缓存数据中每条数据的数据矩阵及特征向量组。
3.根据权利要求2所述的用于低代码平台的缓存数据处理方法,其特征在于,所述得到当前返回数据及当前缓存数据中每条数据中的若干输入句子及每个输入句子的输出向量,包括的具体方法为:
构建并训练用于将一个句子转化为一个固定长度的向量的循环神经网络,输出的向量记为句子的输出向量;
获取当前返回数据及当前缓存数据中每条数据的句子数量,将所有句子数量中的最小值记为标准句子数量,表示为a;
对于句子数量大于a的一条数据或当前返回数据,将该数据中所有句子通过训练完成的循环神经网络,输出得到每个句子的输出向量,将任意相邻两个句子的输出向量作为相邻输出向量对,获取每个相邻输出向量对中两个输出向量的余弦相似度,将所有余弦相似度中最大值对应的相邻输出向量对所对应的两个句子合并为一个句子,记为合并句子,对合并句子获取输出向量,获取合并句子与前后相邻两个句子的相邻输出向量对,并去除前后相邻两个句子与合并句子合并前两个句子对应的相邻输出向量对;
逐步对余弦相似度中最大值对应的相邻输出向量对所对应的两个句子进行合并,直到合并句子及未合并句子的数量等于a时,停止对该数据的句子合并;
对句子数量大于a的每条数据或当前返回数据的句子进行合并,使得当前返回数据及当前缓存数据中每条数据的句子数量都为a,对此时的当前返回数据及当前缓存数据中每条数据中的所有句子,记为输入句子。
4.根据权利要求1所述的用于低代码平台的缓存数据处理方法,其特征在于,所述得到当前缓存数据中任意两条数据的特征向量之间的匹配关系,包括的具体方法为:
对于当前缓存数据中任意两条数据,将其中一条数据的特征向量组中每个特征向量作为二分图左侧的节点,另一条数据的特征向量组中每个特征向量作为二分图右侧的节点,节点之间的边值通过对应特征向量的余弦相似度来表示,对二分图进行KM匹配,得到该两条数据中特征向量之间的匹配关系;获取当前缓存数据中任意两条数据的特征向量之间的匹配关系。
5.根据权利要求1所述的用于低代码平台的缓存数据处理方法,其特征在于,所述得到当前返回数据与当前缓存数据的匹配度,包括的具体方法为:
将所有高频特征向量作为二分图的左侧节点,将当前返回数据的特征向量作为二分图的右侧节点,节点之间的边值通过高频特征向量与特征向量之间的余弦相似度来表示,对二分图进行KM匹配,得到若干匹配对;将匹配对中高频特征向量与特征向量之间的余弦相似度小于或等于匹配阈值的匹配对进行去除,将剩余的匹配对记为相似匹配对,将相似匹配对的数量与匹配对的数量的比值记为当前返回数据与当前缓存数据的匹配度。
6.根据权利要求1所述的用于低代码平台的缓存数据处理方法,其特征在于,所述对重排序后的当前缓存数据进行更新,包括的具体方法为:
若当前缓存数据中所有条数据的匹配值的最大值,与当前返回数据的特征向量的数量相同,将匹配值最大值对应的数据的调用次数加1,对当前缓存数据中所有条数据的调用频率进行更新,完成当前缓存数据的更新;
若当前缓存数据中所有条数据的匹配值的最大值,不等于当前返回数据的特征向量的数量,将当前返回数据添加到当前缓存数据中,并排列在最前面的第一个位置,将重排序后的当前缓存数据中最后一个位置的一条数据踢出内存,对添加及踢出后的当前缓存数据重新获取每条数据的调用频率,完成当前缓存数据的更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311152832.0A CN116910100B (zh) | 2023-09-08 | 2023-09-08 | 用于低代码平台的缓存数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311152832.0A CN116910100B (zh) | 2023-09-08 | 2023-09-08 | 用于低代码平台的缓存数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116910100A CN116910100A (zh) | 2023-10-20 |
CN116910100B true CN116910100B (zh) | 2023-11-28 |
Family
ID=88353407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311152832.0A Active CN116910100B (zh) | 2023-09-08 | 2023-09-08 | 用于低代码平台的缓存数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910100B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166649A (zh) * | 2013-05-16 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种用于搜索引擎的缓存方法和设备 |
CN106547828A (zh) * | 2016-09-30 | 2017-03-29 | 南京途牛科技有限公司 | 一种基于神经网络的数据库缓存系统及方法 |
CN110287160A (zh) * | 2019-05-31 | 2019-09-27 | 广东睿江云计算股份有限公司 | 一种缓存空间清理方法及装置 |
CN114417060A (zh) * | 2022-01-20 | 2022-04-29 | 北京中电兴发科技有限公司 | 应用于实时流布控系统的特征向量检索方法及布控系统 |
CN114817320A (zh) * | 2022-02-24 | 2022-07-29 | 网易(杭州)网络有限公司 | 一种缓存处理方法和装置 |
WO2022179294A1 (zh) * | 2021-02-27 | 2022-09-01 | 华为技术有限公司 | 数据预取的方法、设备及系统 |
CN116628507A (zh) * | 2023-07-20 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950823B2 (en) * | 2002-12-23 | 2005-09-27 | International Business Machines Corporation | Transparent edge-of-network data cache |
CN110473540B (zh) * | 2019-08-29 | 2022-05-31 | 京东方科技集团股份有限公司 | 语音交互方法及系统、终端设备、计算机设备及介质 |
-
2023
- 2023-09-08 CN CN202311152832.0A patent/CN116910100B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166649A (zh) * | 2013-05-16 | 2014-11-26 | 阿里巴巴集团控股有限公司 | 一种用于搜索引擎的缓存方法和设备 |
CN106547828A (zh) * | 2016-09-30 | 2017-03-29 | 南京途牛科技有限公司 | 一种基于神经网络的数据库缓存系统及方法 |
CN110287160A (zh) * | 2019-05-31 | 2019-09-27 | 广东睿江云计算股份有限公司 | 一种缓存空间清理方法及装置 |
WO2022179294A1 (zh) * | 2021-02-27 | 2022-09-01 | 华为技术有限公司 | 数据预取的方法、设备及系统 |
CN114417060A (zh) * | 2022-01-20 | 2022-04-29 | 北京中电兴发科技有限公司 | 应用于实时流布控系统的特征向量检索方法及布控系统 |
CN114817320A (zh) * | 2022-02-24 | 2022-07-29 | 网易(杭州)网络有限公司 | 一种缓存处理方法和装置 |
CN116628507A (zh) * | 2023-07-20 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116910100A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783817B (zh) | 一种基于深度强化学习的文本语义相似计算模型 | |
US11256487B2 (en) | Vectorized representation method of software source code | |
CN111427995B (zh) | 基于内部对抗机制的语义匹配方法、装置及存储介质 | |
CN107085607B (zh) | 一种图像特征点匹配方法 | |
CN115170934A (zh) | 一种图像分割方法、系统、设备及存储介质 | |
CN113741858B (zh) | 存内乘加计算方法、装置、芯片和计算设备 | |
CN112686376A (zh) | 一种基于时序图神经网络的节点表示方法及增量学习方法 | |
CN113837376A (zh) | 基于动态编码卷积核融合的神经网络剪枝方法 | |
CN115860100A (zh) | 一种神经网络模型训练方法、装置及计算设备 | |
CN113011532A (zh) | 分类模型训练方法、装置、计算设备及存储介质 | |
CN114970853A (zh) | 一种跨范围量化的卷积神经网络压缩方法 | |
CN108304404B (zh) | 一种基于改进的Sketch结构的数据频率估计方法 | |
CN114140641A (zh) | 面向图像分类的多参数自适应异构并行计算方法 | |
CN116910100B (zh) | 用于低代码平台的缓存数据处理方法 | |
WO2021253938A1 (zh) | 一种神经网络的训练方法、视频识别方法及装置 | |
CN114492753A (zh) | 一种应用于片上训练的稀疏加速器 | |
CN112561038A (zh) | 一种批数据集构建方法、装置、电子设备及存储介质 | |
CN109885812B (zh) | 一种动态添加热词的方法、装置及可读存储介质 | |
CN108280209B (zh) | 一种基于烟花算法的图像检索方法和系统 | |
CN111582442A (zh) | 一种基于优化深度神经网络模型的图像识别方法 | |
CN116384471A (zh) | 模型剪枝方法、装置、计算机设备、存储介质和程序产品 | |
CN112308215B (zh) | 基于神经网络中数据稀疏特性的智能训练加速方法及系统 | |
CN109670057A (zh) | 一种渐进式的端到端深度特征量化系统及方法 | |
CN111950615B (zh) | 一种基于树种优化算法的网络故障特征选择方法 | |
CN110413956B (zh) | 一种基于bootstrapping的文本相似度计算方法 |
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 |