CN113886382A - 数据库任务处理方法、设备及存储介质 - Google Patents
数据库任务处理方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113886382A CN113886382A CN202110968775.8A CN202110968775A CN113886382A CN 113886382 A CN113886382 A CN 113886382A CN 202110968775 A CN202110968775 A CN 202110968775A CN 113886382 A CN113886382 A CN 113886382A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- task
- model
- machine learning
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000010801 machine learning Methods 0.000 claims abstract description 106
- 238000012545 processing Methods 0.000 claims abstract description 57
- 238000012549 training Methods 0.000 claims abstract description 49
- 230000002085 persistent effect Effects 0.000 claims description 132
- 238000000034 method Methods 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 32
- 230000001960 triggered effect Effects 0.000 claims description 30
- 230000009471 action Effects 0.000 claims description 29
- 230000003068 static effect Effects 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000007907 direct compression Methods 0.000 description 1
- 238000013095 identification testing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据库任务处理方法、设备及存储介质。在本申请实施例中,在数据库存储引擎中集成机器学习模型,通过感知数据库存储引擎的负载压力来动态调整机器学习模型训练涉及的数据样本和使用的资源,并通过存储引擎级别的数据采集,轻量级模型的设计,基于后台任务在线更新模型,保证了在数据库存储引擎中集成机器学习模型的有效性和可用性,提高了任务执行结果的准确率和召回率。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据库任务处理方法、设备及存储介质。
背景技术
数据库作为一个复杂的系统,从计算层到存储层都有非常多参数,这些参数背后对应着许多受规则触发的任务,基于固定规则触发任务的方式,虽然实现简单,但是任务结果的准确率和召回率较低。
例如,在一些数据库中采用日志结构合并树(Log Structured Merge-Tree,LSM-Tree)存储结构,LSM-Tree采用基于规则的冷热识别算法,例如,最近最少使用(LeastRecently Used,LRU)或最不常用(Least Frequently Used,LFU)等识别数据的冷热程度,根据数据的冷热程度对数据进行分层存储,虽然可以降低存储成本,维持数据库具有较高性能,但是,基于规则进行冷热数据的识别,识别准确率和召回率较低。
发明内容
本申请的多个方面提供一种数据库任务处理方法、设备及存储介质,用以提高了任务执行结果的准确率和召回率。
本申请实施例提供一种数据库任务处理方法,适用于数据库存储引擎,所述数据库存储引擎集成有用于处理数据库任务的机器学习模型,所述方法包括:在所述数据库任务被触发的情况下,调用所述机器学习模型执行所述数据库任务,并根据所述机器学习模型输出的任务执行结果触发后续动作;以及在所述数据库任务未被触发的情况下,若设定的模型动态更新条件被满足,则根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据所述目标资源信息和目标样本数据,启动后台任务对所述机器学习模型进行在线更新。
本申请实施例还提供一种冷热数据处理方法,适用于数据库存储引擎,所述数据库存储引擎集成有用于在数据分层应用场景中进行冷热数据识别的机器学习模型,所述数据库存储引擎在所述数据分层应用场景中包括K层持久化存储介质,所述方法包括:针对前M层持久化存储介质中的任一层持久化存储介质,监测所述持久化存储介质的使用情况;在所述持久化存储介质的使用率达到设定使用率阈值的情况下,调用所述机器学习模型对所述持久化存储介质中的数据块进行冷热数据识别,并输出冷热数据识别结果;根据所述冷热数据识别结果,将所述持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将所述持久化存储介质中的热数据预存储至所述数据库存储引擎的内存中;K是大于等于2的正整数,M是小于K的正整数。
本申请实施例还提供一种数据库存储引擎,所述数据存储引擎中集成有用于处理数据库任务的机器学习模型,所述数据存储引擎包括:模型调用模块、动作触发模块和模型更新模块;所述模型调用模块,用于在所述动作触发模块触发所述数据库任务的情况下,调用所述机器学习模型执行所述数据库任务,并根据所述机器学习模型输出的任务执行结果触发后续动作;所述模型更新模块,用于在所述动作触发模块未触发所述数据库任务的情况下,若设定的模型动态更新条件被满足,则根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据所述目标资源信息和目标样本数据,启动后台任务对所述机器学习模型进行在线更新。
本申请实施例还提供一种数据处理设备,运行有数据库存储引擎,所述数据库存储引擎集成有用于处理数据库任务的机器学习模型,所述数据处理设备包括:存储器和处理器;所述存储器,用于存储所述数据库存储引擎对应的计算机程序;所述处理器,用于执行所述数据库存储引擎对应的计算机程序,以用于:在所述数据库任务被触发的情况下,调用所述机器学习模型执行所述数据库任务,并根据所述机器学习模型输出的任务执行结果触发后续动作;以及在所述数据库任务未被触发的情况下,若设定的模型动态更新条件被满足,则根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据所述目标资源信息和目标样本数据,启动后台任务对所述机器学习模型进行在线更新。
本申请实施例还提供一种冷热数据处理设备,运行有数据库存储引擎,所述数据库存储引擎集成有用于在数据分层应用场景中进行冷热数据识别的机器学习模型,所述数据处理设备包括:第一存储器和处理器;所述第一存储器,用于存储所述数据库存储引擎对应的计算机程序;在所述数据分层应用场景中所述数据处理设备还包括:第二存储器,所述第二存储器由K层持久化存储介质构成;所述处理器,用于执行所述数据库存储引擎对应的计算机程序,以用于:针对前M层持久化存储介质中的任一层持久化存储介质,监测所述持久化存储介质的使用情况;在所述持久化存储介质的使用率达到设定使用率阈值的情况下,调用所述机器学习模型对所述持久化存储介质中的数据块进行冷热数据识别,并输出冷热数据识别结果;根据所述冷热数据识别结果,将所述持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将所述持久化存储介质中的热数据预存储至所述数据库存储引擎的内存中;K是大于等于2的正整数,M是小于K的正整数。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现本申请实施例提供的数据库任务处理方法或冷热数据处理方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器实现本申请实施例提供的数据库任务处理方法或冷热数据处理方法中的步骤。
在本申请实施例中,在数据库存储引擎中集成机器学习模型,通过感知数据库存储引擎的负载压力来动态调整机器学习模型训练涉及的数据样本和使用的资源,并通过存储引擎级别的数据采集,轻量级模型的设计,基于后台任务在线更新模型,保证了在数据库存储引擎中集成机器学习模型的有效性和可用性,提高了任务执行结果的准确率和召回率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请示例性实施例提供的一种数据库任务处理方法的流程示意图;
图2为本申请示例性实施例提供的一种冷热数据处理方法的流程示意图;
图3a为本申请示例性实施例提供的一种数据库存储引擎的分层的原理图;
图3b为本申请示例性实施例的技术方案与LRU和LFU两种传统方案在延迟性能方面的比对效果图;
图4为本申请示例性实施例提供的一种数据库存储引擎的结构示意图;
图5为本申请示例性实施例提供的一种数据处理设备的结构示意图;
图6为本申请示例性实施例提供的一种冷热数据处理设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,基于固定规则触发任务的方式,虽然实现简单,但是没有用到数据库中的历史信息,往往无法提供足够的准确率,且对于不同的负载,固定规则很难做到自适应调整,使得数据库任务执行结果的准确率和召回率较低。在本申请实施例中,在数据库存储引擎中集成机器学习模型,通过感知数据库存储引擎的负载压力来动态调整机器学习模型训练涉及的数据样本和使用的资源,并通过存储引擎级别的数据采集,轻量级模型的设计,基于后台任务在线更新模型,保证了在数据库存储引擎中集成机器学习模型的有效性和可用性,提高了任务执行结果的准确率和召回率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请示例性实施例提供的一种数据库任务处理方法的流程示意图,如图1所示,该数据库任务处理方法,适用于数据库存储引擎,数据库存储引擎集成有用于处理数据库任务的机器学习模型,数据库任务处理方法包括:
101、在数据库任务被触发的情况下,调用机器学习模型执行数据库任务,并根据机器学习模型输出的任务执行结果触发后续动作;
102、在数据库任务未被触发的情况下,若设定的模型动态更新条件被满足,则根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新。
在本实施例中,数据库存储引擎是一种数据库底层的软件组织。数据库存储引擎可实现多种数据库任务,例如,存储限制、事务安全、锁机制、索引、数据缓存、索引缓存等。在本实施例中,将机器学习模型集成在数据库存储引擎中,数据库存储引擎可基于机器学习模型处理数据库任务,例如,数据分层场景下的冷热数据识别、任务调度、索引更新、学习索引(Learned Index)或学习优化器(Learned Optimizer)等。其中,机器学习模型可以是但不限于:逻辑斯蒂回归(Logistic Regression)、决策树、支持向量机、随机森林、朴素贝叶斯、k近邻(k-nearest neighbor,kNN)算法或深度学习模型等。
在本实施例中,并不限定数据库任务的触发方式,在一可选实施例中,数据库任务由后台定时任务定期触发。在另一可选实施例中,由数据库存储引擎的维护人员手动触发数据库任务。在又一可选实施例中,数据库任务由特定事件触发,根据应用场景的不同,触发数据库任务的特定事件也不相同。例如,在数据分层应用场景中,数据库任务为冷热数据识别任务,触发冷热数据识别的特定事件是存储临时数据的存储介质的使用率达到设定的使用率阈值,则触发对该临时数据的冷热识别任务。又例如,在索引更新场景中,数据库任务为索引更新任务,触发索引更新任务的特定事件是数据库增、删、改或查的数据量达到设定的阈值,则触发索引更新任务。
在本实施例中,在数据库任务被触发的情况下,可调用机器学习模型执行数据库任务,并根据机器学习模型输出的任务执行结果触发后续动作。其中,根据应用场景的不同,机器学习模型输出的任务执行结果不相同,相应地,触发的后续动作也有所不同。例如,在数据分层应用场景中进行冷热数据识别的过程中,机器学习模型输出的任务执行结果为哪些数据块是热数据,哪些数据块是热数据,后续动作为将热数据存储在读写速度较快或价格昂贵的存储介质中,例如,固态硬盘(Solid State Disk或Solid State Drive,SSD),将冷数据存储在读写速度较慢或价格较低的存储介质中,例如,硬盘驱动器(Hard DiskDrive,HDD)。
在本实施例中,在数据库任务未被触发的情况下,若设定的模型动态更新条件被满足,则对机器学习模型进行动态更新。其中,设定的模型动态更新条件可以是触发模型更新的后台定时任务,该后台定时任务可以是每隔24小时触发模型更新、每隔一星期触发模型更新或每隔一个月触发模型更新等。除此之外,还可以由数据库存储引擎的维护人员手动触发模型的动态更新。
在本实施例中,在设定的模型动态更新条件被满足的情况下,可根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据。其中,当前负载信息可以体现数据库存储引擎的当前负载压力。可选地,当前负载信息可以用数据库存储引擎的当前资源使用状态信息来体现,换句话说,当前资源使用状态信息表征数据库存储引擎的当前负载信息。当前资源使用状态信息可以是但不限于:CPU使用状态信息、内存使用状态信息以及硬盘使用状态信息等。其中,目标资源信息表示机器学习模型在动态更新过程可以占用的资源信息,例如,CPU、内存或硬盘等资源。目标样本数量是指更新机器学习模型过程中可以使用的样本数据。若数据库存储引擎的负载压力较小,表示当前数据库存储引擎占用的资源较小,则在动态更新机器学习模型过程中,可以为模型更新过程分配较多的目标资源信息和目标样本数据;相反地,若数据库存储引擎的负载压力较大,表示当前数据库存储引擎占用的资源较大,则在动态更新机器学习模型过程中,可以为模型更新过程分配较少的目标资源信息和目标样本数据,或者可以直接跳过本次模型的更新。在确定出目标资源信息和目标样本数据之后,可根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新。其中,根据数据库存储引擎的负载压力,也即当前负载信息,动态调整模型更新需要占用的资源以及参与模型更新的样本数据,可以在不影响数据库存储引擎正常处理事务的同时尽可能地提高模型更新的复杂度,保证了在数据库存储引擎中集成机器学习模型的有效性和可用性,提高了任务结果的准确率和召回率。另外,本实施例中,在数据库存储引擎中集成可以处理数据库任务的机器学习模型,相较于将机器学习模型作为外部服务的方式,减少了数据库存储引擎对外部服务的运维成本和管控复杂度;另外在本申请实施例中,在对机器学习模型进行更新过程中无需将目标样本数据传输至外部服务,节省了传输成本。
在一可选实施例中,一种根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据的实施方式,包括:获取数据库存储引擎的当前资源使用状态信息;根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数,训练参数至少包括样本数量;根据样本数量,从与数据库任务对应的内核态数据中,采样目标样本数据。
其中,训练参数是机器学习模型更新过程中需要用到的参数。例如,训练参数包括但不限于:模型超参数、样本数量或迭代次数等,模型超参数是模型外部的配置参数,超参数的值可以手动配置,也可以使用默认参数值。模型超参数可以是但不限于:模型的学习率、训练线程的数量、深层神经网络隐藏层数或者树的深度等。数据库任务对应的内核态数据是一种数据库存储引擎工作在内核态为完成数据库任务而产生的数据。例如,内核态数据可以包含但不限于:数据库引擎处理数据库任务涉及的数据块的历史访问信息或静态属性、数据库引擎处理数据库任务涉及的吞吐量、响应时间等指标信息。数据块的静态属性可以包含但不限于数据块中数据的大小或数据所属表空间等
在本实施例中,数据库存储引擎可以预先对机器学习模型进行训练,得到训练机器学习模型的资源量与训练参数之间的对应关系。其中,若训练机器学习模型的资源量较小,则确定该较小资源量对应的训练参数,例如,训练参数可以是较少的训练线程数量、较少的迭代轮次、较少的训练样本数量或较大的学习率等;若训练机器学习模型的资源量较大,则确定该较大资源量对应的训练参数,例如,训练参数可以是较多的训练线程数量、较多的迭代轮次、较多的训练样本数量或较小的学习率等。基于此,在本申请一可选实施例中,可根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息;根据目标资源信息,结合预先训练得到的资源量与训练参数对应关系,确定本次模型更新可用的训练参数。例如,若当前资源使用状态信息指示当前数据库存储引擎的负载压力较小,则可以为本次模型更新分配较多的目标资源信息,基于该目标资源信息,确定本次模型更新可用的训练参数;若当前资源使用状态信息指示当前数据库存储引擎的负载压力较大,则可以为本次模型更新分配较少的目标资源信息,甚至跳过此次模型更新。
在一可选实施例中,在机器学习模型的训练参数包括:样本数量、线程数量、迭代次数和模型超参数的情况下,一种根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新的实施方式,包括:根据目标资源信息和线程数量,启动用于本次模型更新的线程,并根据目标样本数据、迭代次数和模型超参数,控制线程对机器学习模型进行在线更新。
在本申请一些实施例中,数据库任务可实现为数据分层应用场景中的冷热数据识别任务,在该应用场景下,本申请还提供一种冷热数据处理方法,适用于数据库存储引擎,数据库存储引擎集成有用于在数据分层应用场景中进行冷热数据识别的机器学习模型,如图2所示,该方法包括:
201、针对前M层持久化存储介质中的任一层持久化存储介质,监测持久化存储介质的使用情况;
202、在持久化存储介质的使用率达到设定使用率阈值的情况下,调用机器学习模型对持久化存储介质中的数据块进行冷热数据识别,并输出冷热数据识别结果;
203、根据冷热数据识别结果,将持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将持久化存储介质中的热数据预存储至数据库存储引擎的内存中;K是大于等于2的正整数,M是小于K的正整数。
在本实施例中,数据库存储引擎包括:K层持久化存储介质,K是大于等于2的正整数。其中,前M层用于对来自内存中的数据进行持久化存储,M是小于K的正整数。前M层持久化存储介质中的数据可以是冷数据,也可以是热数据。冷数据是指访问频次较低,效率要求慢的数据,热数据是指访问频次较高,对处理效率需求较高的数据。在图3a中,基于LSM-tree的数据库存储引擎包括3层持久化存储介质为例进行图示,但并不限于此。3层持久化存储介质分别为:L0层持久化存储介质、L1层持久化存储介质和L2层持久化存储介质。其中,L0和L1层持久化存储介质用于对来自内存中的数据进行持久化存储,L0和L1层持久化存储介质中的数据可以是冷数据,也可以是热数据。L2层持久化存储介质中的数据为冷数据。其中,无论是哪层持久化存储介质,在数据分层应用场景中,持久化存储介质中的数据以数据块为单位进行存储,数据块的大小可以是64KB、512KB或64MB等。
在本实施例中,K层持久化存储介质的使用情况是不断变化的。具体地,数据库存储引擎可以接收用户的访问请求(Request),针对用户的访问请求对持久化存储介质中的数据块进行增、删、改、查、读取或写入操作,使得持久化存储介质的使用情况发生变化。在图3a中,用户的访问请求用“Req”表示。其中,可以将持久化存储介质的热数据存储在内存中,例如图3a中的数据块高速缓存(Block Cache)中,以方便用户快速的读取数据块中的数据。在写入数据时,可以将用户写入的内存表(Memtable)中,当内存表超过一定的大小后会在内存里面冻结,变成不可变的内存表,同时为了不阻塞写操作需要新生成一个内存表继续提供写入服务,接着可以对该不可变的内存表进行持久化存储,也即将该不可变的内存表以数据块的形式落盘(flush)到持久化存储介质中。除此之外,数据库存储引擎还可以将对访问请求的处理结果反馈给用户。
在本实施例中,针对前M层持久化存储介质中的任一层持久化存储介质,可监测持久化存储介质的使用情况;在持久化存储介质的使用率达到设定使用率阈值的情况下,调用机器学习模型对持久化存储介质中的数据块进行冷热数据识别,并输出冷热数据识别结果,其中,使用率阈值可以是75%、80%或90%等;根据冷热数据识别结果,将持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将持久化存储介质中的热数据预存储至数据库存储引擎的内存中;K是大于等于2的正整数,M是小于K的正整数。其中,压缩合并的的方法可以包含但不限于:热度感知数据压缩(Temp-aware compaction)、高比率压缩(High-ratio compression)或者字典压缩(Dict-compression)等。
下面以图3a所示的数据库存储引擎为例进行说明。针对L0层和L1层持久化存储介质,检测其使用情况,当L0层或L1层持久化存储介质的使用率达到设定使用率阈值的情况下,调用机器学习模型对L0层或L1层持久化存储介质中的数据块进行冷热数据识别,并输出冷热数据识别结果,如图3a中的步骤④;若L0层持久化存储介质的使用率,超过设定的使用率阈值,则根据冷热数据识别结果,将L0层持久化存储介质中冷数据对应的数据块进行压缩后合并至L1层持久化存储介质中,并将L0层持久化存储介质中热数据对应的数据块预存储(prefetch)至数据库存储引擎的内存中;若L1层持久化存储介质的使用率,超过设定的使用率阈值,则根据冷热数据识别结果,将L1层持久化存储介质中冷数据对应的数据块进行压缩后合并至L2层持久化存储介质中,并将L1层持久化存储介质中热数据对应的数据块预存储(prefetch)至数据库存储引擎的内存中。
在一可选实施例中,在前M层持久化存储介质的使用率未达到设定使用率阈值期间,若设定的模型动态更新条件被满足,则根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新。详细内容可参见前述实施例,在此不再赘述。
如图3a所示,数据库存储引擎包括:资源监测(Resource Monitor)模块31、模型更新模块32和动作触发模块,其中,动作触发模块并未在图3a中示出。如图3a所示,资源监测模块(Resource Monitor)可以监测当前数据库存储引擎的负载压力,即记录数据库存储引擎的负载信息。在L0层或L1层持久化存储介质的使用率未达到设定使用率阈值期间,若设定的模型动态更新条件被满足,例如,模型动态更新条件是在每周一凌晨一点钟触发模型更新,在时间到达周一凌晨一点钟时,模型动态更新条件被满足,则触发模型的动态更新。在模型的动态更新过程中,模型更新模块32向资源监测模块31发送查询请求,用以查询数据库引擎当前的负载压力;资源监测模块31接收到该查询请求后,向模型更新模块32返回数据库存储引擎的当前负载信息,如图3a中的步骤②。模型更新模块32根据该当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据。具体地,可以根据本次模型更新可用的目标资源信息,确定本次模型更新的样本数量,根据样本数量对特征表中的内核态数据进行采样,得到目标样本数据,如图3a中的步骤③。接着,模型更新模块32根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新。
在一可选实施例中,数据库存储引擎可以采集数据块的访问特征,也即数据库存储引擎中的内核态数据。可选地,可以从数据块维度采集数据块的历史访问特征,例如,以数据块为粒度记录历史访问间隔,历史访问间隔反应数据块被访问的次数。在采集历史访问特征时,并不会采集全部的历史访问特征,而是每个数据块维护一个滑动窗口,针对前M层持久化存储介质中的每个数据块,以数据块对应的滑动窗口,从前M层持久化存储介质中收集数据块在滑动窗口内的访问特征,并将数据块的访问特征存储至特征表中。上述采集内核态数据的过程,对应于图3a中的步骤①,在图3a中,将采集到的数据块的内核态数据存储在特征表(Pattern Map)中为例进行图示,例如,特征表中包括:数据块A1—>访问特征B1、访问特征B2、...、Bi;数据块A2—>访问特征C1、访问特征C2、...、Ci,其中,i为滑动窗口的长度。基于上述,在本实施例中,可根据样本数量,对冷热数据识别任务对应的特征表中采样N个数据块的访问特征,N是大于等于2的正整数;从N个数据块各自的元数据中分别获取N个数据块的静态属性,将N个数据块的访问特征和静态属性作为目标样本数据。
与传统数据库存储引擎进行冷热数据识别的方案相比,采用本申请实施例提供的内部集成有机器学习算法的数据库存储引擎进行冷热数据识别能产生明显效果。为了体现本申请实施例提供的数据库存储引擎在冷热数据识别中产生的明显效果,对此进行实验验证:选定仿真用的数据库,该数据库是一种LSM-tree混合存储系统,为了节约存储资源,在LSM-tree混合存储系统上,热数据使用SSD进行存储,冷数据使用HDD进行存储,该数据库采用本申请实施例提供的数据库存储引擎,首先利用该数据库中数据访问的历史信息对访问模式进行建模,在数据库存储引擎中构建用于冷热数据识别的机器学习模型。接下来,分别采用LRU和LFU两种传统方案以及本申请实施例提供的技术方案(图3b中简称为本案),在该数据库使用的SSD中进行冷热数据识别测试,并将识别到的冷数据转存至HDD中,将热数据预存储至系统内存中。在此冷热识别过程中,对LRU、LFU和本案的延迟性能进行了统计,并得到如图3b所示的本案与LRU和LFU两种传统方案在延迟性能方面的比对效果图。由图3b可知,本申请实施例提供的基于机器学习的冷热分离方案的延迟可降低近似70%。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤102的执行主体可以为设备A;又比如,步骤101的执行主体可以为设备A,步骤102的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
基于上述数据库任务处理方法,本申请还提供一种数据库存储引擎,数据存储引擎中集成有用于处理数据库任务的机器学习模型,如图4所示,该数据库存储引擎包括:模型调用模块41、动作触发模块42和模型更新模块43。
模型调用模块41,用于在动作触发模块42触发数据库任务的情况下,调用机器学习模型执行数据库任务,并根据机器学习模型输出的任务执行结果触发后续动作;
模型更新模块43,用于在动作触发模块42未触发数据库任务的情况下,若设定的模型动态更新条件被满足,则根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新。
在一可选实施例中,模型更新模块43在根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据时,具体用于:获取数据库存储引擎的当前资源使用状态信息,当前资源使用状态信息表征数据库存储引擎的当前负载信息;根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数,训练参数至少包括样本数量;根据样本数量,从与数据库任务对应的内核态数据中,采样目标样本数据。
可选地,模型更新模块43在根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数时,具体用于:根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息;根据目标资源信息,结合预先训练得到的资源量与训练参数对应关系,确定本次模型更新可用的训练参数。
在一可选实施例中,训练参数还包括线程数量、迭代次数和模型超参数;模型更新模块43在根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新时,具体用于:根据目标资源信息和线程数量,启动用于本次模型更新的线程,并根据目标样本数据、迭代次数和模型超参数,控制线程对机器学习模型进行在线更新。
在一可选实施例中,数据库任务为数据分层应用场景中的冷热数据识别任务,数据库存储引擎在数据分层应用场景中包括K层持久化存储介质,则模型更新模块43在根据样本数量,从与数据库任务对应的内核态数据中,采样目标样本数据时,具体用于:根据样本数量,对冷热数据识别任务对应的特征表中采样N个数据块的访问特征,特征表中存储有从前M层持久化存储介质中收集到的各数据块的访问特征;从N个数据块各自的元数据中分别获取N个数据块的静态属性,将N个数据块的访问特征和静态属性作为目标样本数据;N、K是大于等于2的正整数,M是小于K的正整数。
在一可选实施例中,该数据库存储引擎还包括:收集模块和存储模块;收集模块,用于针对前M层持久化存储介质中的每个数据块,以数据块对应的滑动窗口,从前M层持久化存储介质中收集数据块在滑动窗口内的访问特征,存储模块,用于将数据块的访问特征存储至特征表中。
在一可选实施例中,该数据库存储引擎还包括:监测模块;监测模块,用于针对前M层持久化存储介质中的任一层持久化存储介质,监测持久化存储介质的使用情况;动作触发模块,用于当持久化存储介质的使用率达到设定使用率阈值的情况下,触发冷热数据识别任务;相应地,模型更新模块43在数据库任务被触发的情况下,调用机器学习模型执行数据库任务时,具体用于:调用机器学习模型对持久化存储介质中的数据块进行冷热识别,并输出冷热识别结果;相应地,模型调用模块41在根据机器学习模型输出的任务执行结果触发后续动作时,具体用于:根据冷热数据识别结果,将持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将持久化存储介质中的热数据预存储至数据库存储引擎的内存中。
图5为本申请示例性实施例提供的一种数据处理设备的结构示意图。该数据处理设备运行有数据库存储引擎,数据库存储引擎集成有用于处理数据库任务的机器学习模型,如图5所示,该数据处理设备包括:存储器54和处理器55。
存储器54,用于存储数据库存储引擎对应的计算机程序,并可被配置为存储其它各种数据以支持在数据处理设备上的操作。这些数据的示例包括用于在数据处理设备上操作的任何应用程序或方法的指令。
存储器54可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器55,与存储器54耦合,用于执行存储器54中数据库存储引擎对应的计算机程序,以用于:在数据库任务被触发的情况下,调用机器学习模型执行数据库任务,并根据机器学习模型输出的任务执行结果触发后续动作;以及在数据库任务未被触发的情况下,若设定的模型动态更新条件被满足,则根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新。
在一可选实施例中,处理器55在根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据时,具体用于:获取数据库存储引擎的当前资源使用状态信息,当前资源使用状态信息表征数据库存储引擎的当前负载信息;根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数,训练参数至少包括样本数量;根据样本数量,从与数据库任务对应的内核态数据中,采样目标样本数据。
在一可选实施例中,处理器55在根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数时,具体用于:根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息;根据目标资源信息,结合预先训练得到的资源量与训练参数对应关系,确定本次模型更新可用的训练参数。
在一可选实施例中,训练参数还包括线程数量、迭代次数和模型超参数;处理器55在根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新时,具体用于:根据目标资源信息和线程数量,启动用于本次模型更新的线程,并根据目标样本数据、迭代次数和模型超参数,控制线程对机器学习模型进行在线更新。
在一可选实施例中,数据库任务为数据分层应用场景中的冷热数据识别任务,数据库存储引擎在数据分层应用场景中包括K层持久化存储介质,处理器55在根据样本数量,从与数据库任务对应的内核态数据中,采样目标样本数据时,具体用于:根据样本数量,从冷热数据识别任务对应的特征表中采样N个数据块的访问特征,特征表中存储有从前M层持久化存储介质中收集到的各数据块的访问特征;从N个数据块各自的元数据中分别获取N个数据块的静态属性,将N个数据块的访问特征和静态属性作为目标样本数据;N、K是大于等于2的正整数,M是小于K的正整数。
在一可选实施例中,处理器55还用于:针对前M层持久化存储介质中的每个数据块,以数据块对应的滑动窗口,从前M层持久化存储介质中收集数据块在滑动窗口内的访问特征,并将数据块的访问特征存储至特征表中。
在一可选实施例中,针对前M层持久化存储介质中的任一层持久化存储介质,处理器55还用于:监测持久化存储介质的使用情况,当持久化存储介质的使用率达到设定使用率阈值的情况下,触发冷热数据识别任务;处理器55在数据库任务被触发的情况下,调用机器学习模型执行数据库任务时,具体用于:调用机器学习模型对持久化存储介质中的数据块进行冷热识别,并输出冷热识别结果;处理器55在根据机器学习模型输出的任务执行结果触发后续动作时,具体用于:根据冷热数据识别结果,将持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将持久化存储介质中的热数据预存储至数据库存储引擎的内存中。
进一步,如图5所示,该数据处理设备还包括:通信组件56、显示器57、电源组件58、音频组件59等其它组件。图5中仅示意性给出部分组件,并不意味着数据处理设备只包括图5所示组件。需要说明的是,图5中虚线框内的组件为可选组件,而非必选组件,具体可视数据处理设备的产品形态而定。
本实施例的数据处理设备可以实现为台式电脑、笔记本电脑或智能手机等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的数据处理设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图5中虚线框内的组件;若本实施例的数据处理设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图5中虚线框内的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现图1所示方法中可由数据处理设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器实现本申请实施例提供的数据库任务处理方法中的步骤。
图6为本申请示例性实施例提供的一种冷热数据处理设备的结构示意图。该冷热数据处理设备运行有数据库存储引擎,数据库存储引擎集成有用于处理数据分层应用场景中进行冷热数据识别的机器学习模型,如图6所示,该冷热数据处理设备包括:第一存储器63、第二存储器64和处理器65。
第一存储器63,用于存储数据库存储引擎对应的计算机程序,并可被配置为存储其它各种数据以支持在冷热数据处理设备上的操作。这些数据的示例包括用于在冷热数据处理设备上操作的任何应用程序或方法的指令。
第一存储器63可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
第二存储器64,用于存储数据库存储引擎中的数据块;该第二存储器64由K层持久化存储介质组成,K是大于等于2的正整数。
处理器66,与第一存储器63耦合,用于执行第一存储器63中数据库存储引擎对应的计算机程序,以用于:针对前M层持久化存储介质中的任一层持久化存储介质,监测持久化存储介质的使用情况;在持久化存储介质的使用率达到设定使用率阈值的情况下,调用机器学习模型对持久化存储介质中的数据块进行冷热数据识别,并输出冷热数据识别结果;根据冷热数据识别结果,将持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将持久化存储介质中的热数据预存储至数据库存储引擎的内存中;K是大于等于2的正整数,M是小于K的正整数。
在一可选实施例中,处理器65还用于:在持久化存储介质的使用率未达到设定使用率阈值期间,若设定的模型动态更新条件被满足,则根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据目标资源信息和目标样本数据,启动后台任务对机器学习模型进行在线更新。
在一可选实施例中,处理器65在根据数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据时,具体用于:获取数据库存储引擎的当前资源使用状态信息,当前资源使用状态信息表征数据库存储引擎的当前负载信息;根据当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数,训练参数至少包括样本数量;根据样本数量,从特征表中采样N个数据块的访问特征,特征表中存储有从前M层持久化存储介质中收集到的各数据块的访问特征;从N个数据块各自的元数据中分别获取N个数据块的静态属性,将N个数据块的访问特征和静态属性作为本次模型更新可用的目标样本数据;N是大于等于2的正整数。
进一步,如图6所示,该冷热数据处理设备还包括:通信组件66、显示器67、电源组件68、音频组件69等其它组件。图6中仅示意性给出部分组件,并不意味着冷热数据处理设备只包括图6所示组件。需要说明的是,图6中虚线框内的组件为可选组件,而非必选组件,具体可视冷热数据处理设备的产品形态而定。
本实施例的冷热数据处理设备可以实现为台式电脑、笔记本电脑或智能手机等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的冷热数据处理设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图5中虚线框内的组件;若本实施例的冷热数据处理设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图5中虚线框内的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器能够实现图2所示方法中可由冷热数据处理设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器实现本申请实施例提供的冷热数据处理方法中的步骤。
上述图5和图6中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图5和图6中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图5和图6中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图5和图6中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种数据库任务处理方法,其特征在于,适用于数据库存储引擎,所述数据库存储引擎集成有用于处理数据库任务的机器学习模型,所述方法包括:
在所述数据库任务被触发的情况下,调用所述机器学习模型执行所述数据库任务,并根据所述机器学习模型输出的任务执行结果触发后续动作;以及
在所述数据库任务未被触发的情况下,若设定的模型动态更新条件被满足,则根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据所述目标资源信息和目标样本数据,启动后台任务对所述机器学习模型进行在线更新。
2.根据权利要求1所述的方法,其特征在于,根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,包括:
获取所述数据库存储引擎的当前资源使用状态信息,所述当前资源使用状态信息表征所述数据库存储引擎的当前负载信息;
根据所述当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数,所述训练参数至少包括样本数量;
根据所述样本数量,从与所述数据库任务对应的内核态数据中,采样所述目标样本数据。
3.根据权利要求2所述的方法,其特征在于,根据所述当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数,包括:
根据所述当前资源使用状态信息,确定本次模型更新可用的目标资源信息;
根据所述目标资源信息,结合预先训练得到的资源量与训练参数对应关系,确定本次模型更新可用的训练参数。
4.根据权利要求3所述的方法,其特征在于,所述训练参数还包括线程数量、迭代次数和模型超参数;
相应地,根据所述目标资源信息和目标样本数据,启动后台任务对所述机器学习模型进行在线更新,包括:根据所述目标资源信息和线程数量,启动用于本次模型更新的线程,并根据所述目标样本数据、迭代次数和模型超参数,控制所述线程对所述机器学习模型进行在线更新。
5.根据权利要求2所述的方法,其特征在于,所述数据库任务为数据分层应用场景中的冷热数据识别任务,所述数据库存储引擎在所述数据分层应用场景中包括K层持久化存储介质,则根据所述样本数量,从与所述数据库任务对应的内核态数据中,采样所述目标样本数据,包括:
根据所述样本数量,从所述冷热数据识别任务对应的特征表中采样N个数据块的访问特征,所述特征表中存储有从前M层持久化存储介质中收集到的各数据块的访问特征;
从所述N个数据块各自的元数据中分别获取所述N个数据块的静态属性,将所述N个数据块的访问特征和静态属性作为所述目标样本数据;N、K是大于等于2的正整数,M是小于K的正整数。
6.根据权利要求5所述的方法,其特征在于,还包括:
针对所述前M层持久化存储介质中的每个数据块,以所述数据块对应的滑动窗口,从所述前M层持久化存储介质中收集所述数据块在所述滑动窗口内的访问特征,并将所述数据块的访问特征存储至所述特征表中。
7.根据权利要求5所述的方法,其特征在于,针对所述前M层持久化存储介质中的任一层持久化存储介质,还包括:
监测所述持久化存储介质的使用情况,当所述持久化存储介质的使用率达到设定使用率阈值的情况下,触发所述冷热数据识别任务;
相应地,在所述数据库任务被触发的情况下,调用所述机器学习模型执行所述数据库任务,包括:调用所述机器学习模型对所述持久化存储介质中的数据块进行冷热识别,并输出冷热识别结果;
相应地,根据所述机器学习模型输出的任务执行结果触发后续动作,包括:根据所述冷热数据识别结果,将所述持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将所述持久化存储介质中的热数据预存储至所述数据库存储引擎的内存中。
8.一种冷热数据处理方法,其特征在于,适用于数据库存储引擎,所述数据库存储引擎集成有用于在数据分层应用场景中进行冷热数据识别的机器学习模型,所述数据库存储引擎在所述数据分层应用场景中包括K层持久化存储介质,所述方法包括:
针对前M层持久化存储介质中的任一层持久化存储介质,监测所述持久化存储介质的使用情况;
在所述持久化存储介质的使用率达到设定使用率阈值的情况下,调用所述机器学习模型对所述持久化存储介质中的数据块进行冷热数据识别,并输出冷热数据识别结果;
根据所述冷热数据识别结果,将所述持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将所述持久化存储介质中的热数据预存储至所述数据库存储引擎的内存中;K是大于等于2的正整数,M是小于K的正整数。
9.根据权利要求8所述的方法,其特征在于,还包括:
在所述持久化存储介质的使用率未达到设定使用率阈值期间,若设定的模型动态更新条件被满足,则根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据所述目标资源信息和目标样本数据,启动后台任务对所述机器学习模型进行在线更新。
10.根据权利要求9所述的方法,其特征在于,根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,包括:
获取所述数据库存储引擎的当前资源使用状态信息,所述当前资源使用状态信息表征所述数据库存储引擎的当前负载信息;
根据所述当前资源使用状态信息,确定本次模型更新可用的目标资源信息和训练参数,所述训练参数至少包括样本数量;
根据所述样本数量,从特征表中采样N个数据块的访问特征,所述特征表中存储有从所述前M层持久化存储介质中收集到的各数据块的访问特征;
从所述N个数据块各自的元数据中分别获取所述N个数据块的静态属性,将所述N个数据块的访问特征和静态属性作为本次模型更新可用的目标样本数据;N是大于等于2的正整数。
11.一种数据库存储引擎,其特征在于,所述数据存储引擎中集成有用于处理数据库任务的机器学习模型,所述数据存储引擎包括:模型调用模块、动作触发模块和模型更新模块;
所述模型调用模块,用于在所述动作触发模块触发所述数据库任务的情况下,调用所述机器学习模型执行所述数据库任务,并根据所述机器学习模型输出的任务执行结果触发后续动作;
所述模型更新模块,用于在所述动作触发模块未触发所述数据库任务的情况下,若设定的模型动态更新条件被满足,则根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据所述目标资源信息和目标样本数据,启动后台任务对所述机器学习模型进行在线更新。
12.一种数据处理设备,运行有数据库存储引擎,其特征在于,所述数据库存储引擎集成有用于处理数据库任务的机器学习模型,所述数据处理设备包括:存储器和处理器;所述存储器,用于存储所述数据库存储引擎对应的计算机程序;所述处理器,用于执行所述数据库存储引擎对应的计算机程序,以用于:
在所述数据库任务被触发的情况下,调用所述机器学习模型执行所述数据库任务,并根据所述机器学习模型输出的任务执行结果触发后续动作;以及在所述数据库任务未被触发的情况下,若设定的模型动态更新条件被满足,则根据所述数据库存储引擎的当前负载信息,确定本次模型更新可用的目标资源信息和目标样本数据,并根据所述目标资源信息和目标样本数据,启动后台任务对所述机器学习模型进行在线更新。
13.一种冷热数据处理设备,运行有数据库存储引擎,其特征在于,所述数据库存储引擎集成有用于在数据分层应用场景中进行冷热数据识别的机器学习模型,所述数据处理设备包括:第一存储器和处理器;所述第一存储器,用于存储所述数据库存储引擎对应的计算机程序;在所述数据分层应用场景中所述数据处理设备还包括:第二存储器,所述第二存储器由K层持久化存储介质构成;所述处理器,用于执行所述数据库存储引擎对应的计算机程序,以用于:
针对前M层持久化存储介质中的任一层持久化存储介质,监测所述持久化存储介质的使用情况;在所述持久化存储介质的使用率达到设定使用率阈值的情况下,调用所述机器学习模型对所述持久化存储介质中的数据块进行冷热数据识别,并输出冷热数据识别结果;根据所述冷热数据识别结果,将所述持久化存储介质中的冷数据压缩后合并至下一层持久化存储介质中,并将所述持久化存储介质中的热数据预存储至所述数据库存储引擎的内存中;K是大于等于2的正整数,M是小于K的正整数。
14.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现权利要求1-10任一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110968775.8A CN113886382A (zh) | 2021-08-23 | 2021-08-23 | 数据库任务处理方法、设备及存储介质 |
PCT/CN2022/112559 WO2023024955A1 (zh) | 2021-08-23 | 2022-08-15 | 数据库任务处理方法、冷热数据处理方法、存储引擎、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110968775.8A CN113886382A (zh) | 2021-08-23 | 2021-08-23 | 数据库任务处理方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886382A true CN113886382A (zh) | 2022-01-04 |
Family
ID=79011215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110968775.8A Pending CN113886382A (zh) | 2021-08-23 | 2021-08-23 | 数据库任务处理方法、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113886382A (zh) |
WO (1) | WO2023024955A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996317A (zh) * | 2022-07-05 | 2022-09-02 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
WO2023024955A1 (zh) * | 2021-08-23 | 2023-03-02 | 阿里云计算有限公司 | 数据库任务处理方法、冷热数据处理方法、存储引擎、设备及存储介质 |
CN116185307A (zh) * | 2023-04-24 | 2023-05-30 | 之江实验室 | 一种模型数据的存储方法、装置、存储介质及电子设备 |
WO2023160534A1 (zh) * | 2022-02-23 | 2023-08-31 | 维沃移动通信有限公司 | 数据采集方法及设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076523B (zh) * | 2023-10-13 | 2024-02-09 | 华能资本服务有限公司 | 一种用于本地的数据时序存储方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222645A (zh) * | 2017-07-07 | 2017-09-29 | 北京广隆方略技术有限公司 | 一种工作流接入的实现方法和系统 |
US20180123901A1 (en) * | 2016-10-31 | 2018-05-03 | Level 3 Communication, Llc | Distributed calculation of customer bandwidth utilization models |
CN110134697A (zh) * | 2019-05-22 | 2019-08-16 | 南京大学 | 一种面向键值对存储引擎的参数自动调优方法、装置、系统 |
CN112130759A (zh) * | 2020-09-04 | 2020-12-25 | 苏州浪潮智能科技有限公司 | 一种存储系统的参数配置方法、系统及相关装置 |
CN113033824A (zh) * | 2021-04-21 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 模型超参数确定方法、模型训练方法及系统 |
CN113064930A (zh) * | 2020-12-29 | 2021-07-02 | 中国移动通信集团贵州有限公司 | 数据仓库的冷热数据识别方法、装置及电子设备 |
CN113076220A (zh) * | 2020-01-06 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机可读介质 |
CN113112259A (zh) * | 2021-04-20 | 2021-07-13 | 中国工商银行股份有限公司 | 热点交易识别方法及装置 |
CN113168577A (zh) * | 2018-09-21 | 2021-07-23 | 克莱米特公司 | 用于执行机器学习算法的方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102227121B (zh) * | 2011-06-21 | 2013-10-09 | 中国科学院软件研究所 | 基于机器学习的分布式缓存策略自适应切换方法及系统 |
US20180373722A1 (en) * | 2017-06-26 | 2018-12-27 | Acronis International Gmbh | System and method for data classification using machine learning during archiving |
CN110851079B (zh) * | 2019-10-28 | 2021-10-15 | 置富科技(深圳)股份有限公司 | 一种自适应的存储设备损耗均衡方法及系统 |
CN111176564B (zh) * | 2019-12-25 | 2024-02-27 | 三星(中国)半导体有限公司 | 确定ssd内数据摆放策略的方法及装置 |
CN113886382A (zh) * | 2021-08-23 | 2022-01-04 | 阿里云计算有限公司 | 数据库任务处理方法、设备及存储介质 |
-
2021
- 2021-08-23 CN CN202110968775.8A patent/CN113886382A/zh active Pending
-
2022
- 2022-08-15 WO PCT/CN2022/112559 patent/WO2023024955A1/zh unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180123901A1 (en) * | 2016-10-31 | 2018-05-03 | Level 3 Communication, Llc | Distributed calculation of customer bandwidth utilization models |
CN107222645A (zh) * | 2017-07-07 | 2017-09-29 | 北京广隆方略技术有限公司 | 一种工作流接入的实现方法和系统 |
CN113168577A (zh) * | 2018-09-21 | 2021-07-23 | 克莱米特公司 | 用于执行机器学习算法的方法和系统 |
CN110134697A (zh) * | 2019-05-22 | 2019-08-16 | 南京大学 | 一种面向键值对存储引擎的参数自动调优方法、装置、系统 |
CN113076220A (zh) * | 2020-01-06 | 2021-07-06 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备及计算机可读介质 |
CN112130759A (zh) * | 2020-09-04 | 2020-12-25 | 苏州浪潮智能科技有限公司 | 一种存储系统的参数配置方法、系统及相关装置 |
CN113064930A (zh) * | 2020-12-29 | 2021-07-02 | 中国移动通信集团贵州有限公司 | 数据仓库的冷热数据识别方法、装置及电子设备 |
CN113112259A (zh) * | 2021-04-20 | 2021-07-13 | 中国工商银行股份有限公司 | 热点交易识别方法及装置 |
CN113033824A (zh) * | 2021-04-21 | 2021-06-25 | 支付宝(杭州)信息技术有限公司 | 模型超参数确定方法、模型训练方法及系统 |
Non-Patent Citations (3)
Title |
---|
庄晓照 等: "一种基于新能源驱动的存储系统的能耗优化方案", 《计算机科学》, no. 07, 15 July 2018 (2018-07-15), pages 72 - 78 * |
王刘旺 等: "局部放电大数据的并行PRPD分析与模式识别", 《中国电机工程学报》, no. 05, 5 March 2016 (2016-03-05), pages 66 - 74 * |
王心宇 等: "基于深度学习的传感器故障数据分析系统设计", 《计算机测量与控制》, no. 06, 25 June 2020 (2020-06-25), pages 272 - 276 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023024955A1 (zh) * | 2021-08-23 | 2023-03-02 | 阿里云计算有限公司 | 数据库任务处理方法、冷热数据处理方法、存储引擎、设备及存储介质 |
WO2023160534A1 (zh) * | 2022-02-23 | 2023-08-31 | 维沃移动通信有限公司 | 数据采集方法及设备 |
CN114996317A (zh) * | 2022-07-05 | 2022-09-02 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
CN114996317B (zh) * | 2022-07-05 | 2024-02-23 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
CN116185307A (zh) * | 2023-04-24 | 2023-05-30 | 之江实验室 | 一种模型数据的存储方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2023024955A1 (zh) | 2023-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113886382A (zh) | 数据库任务处理方法、设备及存储介质 | |
US9367574B2 (en) | Efficient query processing in columnar databases using bloom filters | |
US9372898B2 (en) | Enabling event prediction as an on-device service for mobile interaction | |
CA2934280C (en) | Long string pattern matching of aggregated account data | |
CN107820611B (zh) | 事件处理系统调页 | |
US11449509B2 (en) | Workflow driven database partitioning | |
CN111930848B (zh) | 数据分区存储方法、装置及系统 | |
Herodotou et al. | Automating distributed tiered storage management in cluster computing | |
US20230206072A1 (en) | System and method for generating scores for predicting probabilities of task completion | |
US20130173509A1 (en) | Method and arrangement for processing data | |
US20200409955A1 (en) | System and method for improved cache utilization using an organizational memory to generate a dashboard | |
CN111737265A (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN115168338A (zh) | 数据处理方法、电子设备及存储介质 | |
CN116048817A (zh) | 数据处理控制方法、装置、计算机设备和存储介质 | |
CN114416324A (zh) | 任务触发方法、装置、计算机设备和存储介质 | |
CN117235088B (zh) | 一种存储系统的缓存更新方法、装置、设备、介质及平台 | |
AU2020101071A4 (en) | A Parallel Association Mining Algorithm for Analyzing Passenger Travel Characteristics | |
US10606835B2 (en) | Managing data obsolescence in relational databases | |
US11645283B2 (en) | Predictive query processing | |
WO2022062777A1 (zh) | 数据管理方法、数据管理装置及存储介质 | |
CN108140047B (zh) | 数据处理装置和方法以及数据容器结构 | |
CN111737266B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN114519055A (zh) | 数据存储方法及设备 | |
US11042538B2 (en) | Predicting queries using neural networks | |
Colosi et al. | Time series data management optimized for smart city policy decision |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40065674 Country of ref document: HK |