CN108052614A - 一种数据库系统负载的调度方法 - Google Patents

一种数据库系统负载的调度方法 Download PDF

Info

Publication number
CN108052614A
CN108052614A CN201711343745.8A CN201711343745A CN108052614A CN 108052614 A CN108052614 A CN 108052614A CN 201711343745 A CN201711343745 A CN 201711343745A CN 108052614 A CN108052614 A CN 108052614A
Authority
CN
China
Prior art keywords
inquiry
response time
combination
query
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711343745.8A
Other languages
English (en)
Other versions
CN108052614B (zh
Inventor
牛保宁
张锦文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Southern Power Grid Internet Service Co ltd
Jingchuang United Beijing Intellectual Property Service Co ltd
Original Assignee
Taiyuan University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Taiyuan University of Technology filed Critical Taiyuan University of Technology
Priority to CN201711343745.8A priority Critical patent/CN108052614B/zh
Publication of CN108052614A publication Critical patent/CN108052614A/zh
Application granted granted Critical
Publication of CN108052614B publication Critical patent/CN108052614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于数据库技术领域,具体是一种数据库系统中查询队列的调度方法。为了尽可能用最短时间执行完给定的查询队列,包括以下步骤,1)获取数据库中查询单独运行时的响应时间和两两同时运行时的响应时间;2)构造查询组合相似性预测模型;3)在查询组合相似性模型的基础上对给定的查询队列进行调度。本发明提出的调度器可以在任意一个查询结束后自动执行调度算法,是一种颗粒度更加细致的调度算法,能以更短的时间执行完给定的查询队列。

Description

一种数据库系统负载的调度方法
技术领域
本发明属于数据库技术领域,具体是一种数据库系统中查询队列的调度方法。
背景技术
在OLAP数据库系统中,不同类型的查询并行时会争用系统资源,这种现象称为“查询交互”。不同程度的查询交互会对查询的执行时间造成不同程度的影响。对于给定的一批查询队列,查询调度器可以合理安排并行的查询,尽可能降低查询交互的程度,以此来达到该队列“执行时间最少”的目的。有关查询调度器的背景技术主要有两方面的内容:1、查询性能预测模型;2、查询调度算法。查询调度算法通常以查询性能预测模型为基础。
《数据库负载响应时间预测模型训练样本的采集方法》,专利号:ZL 2015 10171679.5当前的调度算法都是批量调度,即将给定的查询队列转换成一批并行的查询(即查询组合),这些调度算法仅在查询队列开始运行前执行,忽略了查询组合在运行过程中的变化情况,例如查询组合m={q1,q2,q3}运行一段时间后q1已经结束,此时需要执行另外一个新的查询。当前的调度器没有考虑到这种变化,调度的颗粒度不够细致。
发明内容
本发明为了尽可能用最短时间执行完给定的查询队列,该调度算法以查询响应时间预测模型为基础,也就是说调度器需要在查询运行前得知它的响应时间才可以合理调度查询。提供一种数据库系统中查询队列的调度方法。
本发明采取以下技术方案:一种数据库系统负载的调度方法,包括以下步骤,
1)获取数据库中查询单独运行时的响应时间和两两同时运行时的响应时间
2)按照以下步骤构造查询组合相似性预测模型:
2.1)对每个查询qi计算其query rating向量: 其中
2.2)根据query rating向量,计算任意两个查询间的“距离”:
2.3)根据任意两个查询间的距离,计算两个包含查询q的查询组合间的距离:其中表示包含查询q的两个不同查询组合;
2.4)计算查询组合空间中任意两个查询组合间的距离,并构造一个查询组合相似度三维数组;
2.5)当需要预测查询组合中某个查询的响应时间时,可以在上述三维数组中所在平面寻找K个与my相似的查询组合,并使用这K个相似查询组合中qi的响应时间的平均值作为的响应时间预测值,即:其中表示与my相似的查询组合mx中,查询qi的响应时间;
3)在查询组合相似性模型的基础上对给定的查询队列W={<qi,wi>|i=1,2,…,N}进行调度,使得该队列总计运行时间尽可能小,其中wi表示该队列中查询qi的数量,表示查询组合ml的交互程度,其中表示根据预测模型得出查询qi在查询组合ml中的响应时间预测值。
与现有技术相比,本发明尽可能用最短时间执行完给定的查询队列。本发明提出的调度器可以在任意一个查询结束后自动执行调度算法,是一种颗粒度更加细致的调度算法,能以更短的时间执行完给定的查询队列。
附图说明
图1为查询组合相似度三维数组示意图。
具体实施方式
查询响应时间预测模型:
本发明中的预测模型是通过查询组合相似性进行预测的。通俗来讲,就是具有相似特性的查询组合会表现出相似的响应时间。该预测模型需要一个查询组合运行记录表,用来记录数据库系统已运行过的查询组合中每个查询的响应时间。相似性预测模型的具体实现步骤如下:
1)获取数据库中查询单独运行时的响应时间和两两同时运行时的响应时间
2)对每个查询qi计算其query rating向量: 其中
3)根据query rating向量,计算任意两个查询间的“距离”:
4)根据任意两个查询间的距离,计算两个包含查询q的查询组合间的距离:其中表示包含查询q的两个不同查询组合。
5)计算查询组合空间中任意两个查询组合间的距离,并构造一个类似于图1的查询组合相似度三维数组。这个三维数组可以加快对相似查询组合的查找。
6)当需要预测查询组合中某个查询的响应时间时,可以在上述三维数组中所在平面寻找K个与my相似的查询组合,并使用这K个相似查询组合中qi的响应时间的平均值作为的响应时间预测值,即:其中表示与my相似的查询组合mx中,查询qi的响应时间。
查询调度器:
查询调度器通过“查询响应时间预测模型”得知查询组合空间中每个查询的响应时间后(此时的响应时间为预测值),才能对给定的查询队列进行调度。
结合具体实例来详细描述发明内容,该实施例有如下设定:
构造查询响应时间预测模型:
1.单独运行Q中每一个查询模板,并记录单独运行时的响应时间,用表示。
2.成对运行Q的每一个查询模板,并记录成对运行时各自的响应时间,用表示查询qi和qj并性行时,查询qi的响应时间。结合本实施例可以得出以下成对运行时的响应时间表:
其中NA表示不获取同一个查询模板成对运行时的响应时间。
3.计算每个查询qi的query rating向量
以上每行都是对应查询的query rating向量。
4.根据query rating向量,计算任意两个查询间的“距离”:例如实施例中需要计算q1和q2之间的距离,计算式子如下:
由于不存在,因此上式中不包含
5.对每一个在查询模板Q中的查询q,计算包含它的全部查询组合之间的距离:
上述式子的直观含义是,包含q的两个查询组合的距离是这两个查询组合里互不相同的查询之间的平均距离。例如q=q1 中的分子部分为下列矩阵中的元素和:
中的分母部分为两个查询组合中互不相同的查询数量的积:3*3=9。
6.对查询模板Q中每一个查询都进行计算,得到图1的数据结构,方便之后快速选取相似的查询组合:
预测流程:以上6步构造了相似预测模型基础工作,在此基础上便可以进行预测。初始样本选取方法分为两种:1、按照专利《数据库负载响应时间预测模型训练样本的采集方法》获取初始样本;2、模型初始并不获取样本,直接将数据库系统运行过的任意查询组合作为样本。采样方法可以依据具体的生产需求使用。但不论使用哪种方法,之后的预测流程是一致的。
结合本实施例,设需要预测查询组合中q1的响应时间,根据图1的三维数组,找到与最相似的K个查询组合并将q1在这些查询组合中的响应时间的平均值作为对q1中响应时间的预测值。如果在集合中,有些查询组合没有被选取为样本(即当前还没有该查询组合中q1响应时间的真实值),则将此查询组合从K个相似集合中剔除,使用剩余K-1个相似的查询组合做预测。
构造查询调度器
在查询响应时间预测模型的基础上,可以构造一个查询调度器。结合本实施例,设查询队列为:W={<qi,wi>|i=1,2,…,10}。在实施调度前需要计算每一个查询组合的交互程度: 例如,之后便可依据以下算法对W进行调度,使得数据库完成W的时间尽可能少。
步骤一:构造线性优化问题:
步骤二:根据当前W中剩余待执行查询解步骤一中的优化问题。如果当前情况下没有解,使r加1后再解该优化问题,直到得出解为止。
步骤三:对所得的优化解Desiredixes,即需要运行的查询组合及其数量,按照运行数量降序排列。
步骤四:根据当前数据库系统中正在运行的查询组合RunningMix,从步骤三所得优化解中自上而下遍历,选出一个查询q,使得
步骤五:重复步骤二到步骤四,直到W中没有待执行查询。
上述优化问题[6-10]的解使用R语言中lpSolve包进行计算。

Claims (2)

1.一种数据库系统负载的调度方法,其特征在于:包括以下步骤,
1)获取数据库中查询单独运行时的响应时间和两两同时运行时的响应时间
2)按照以下步骤构造查询组合相似性预测模型:
2.1)对每个查询qi计算其query rating向量: 其中
2.2)根据query rating向量,计算任意两个查询间的“距离”:
2.3)根据任意两个查询间的距离,计算两个包含查询q的查询组合间的距离:其中表示包含查询q的两个不同查询组合;
2.4)计算查询组合空间中任意两个查询组合间的距离,并构造一个查询组合相似度三维数组;
2.5)当需要预测查询组合中某个查询的响应时间时,可以在上述三维数组中所在平面寻找K个与my相似的查询组合,并使用这K个相似查询组合中qi的响应时间的平均值作为的响应时间预测值,即:其中表示与my相似的查询组合mx中,查询qi的响应时间;
3)在查询组合相似性模型的基础上对给定的查询队列W={<qi,wi>|i=1,2,…,N}进行调度,使得该队列总计运行时间尽可能小,其中wi表示该队列中查询qi的数量,表示查询组合ml的交互程度,其中表示根据预测模型得出查询qi在查询组合ml中的响应时间预测值。
2.根据权利要求1所述的数据库系统负载的调度方法,其特征在于:
步骤3)中的调度算法如下:
步骤一:构造线性优化问题:
其中:
步骤二:根据当前W中剩余待执行查询解步骤一中的优化问题,如果当前情况下没有解,使r加1后再解该优化问题,直到得出解为止;
步骤三:对所得的优化解DesiredMixes,即需要运行的查询组合及其数量,按照运行数量降序排列;
步骤四:根据当前数据库系统中正在运行的查询组合RunningMin,从步骤三所得优化解中自上而下遍历,选出一个查询q,使得
步骤五:重复步骤二到步骤四,直到W中没有待执行查询。
CN201711343745.8A 2017-12-14 2017-12-14 一种数据库系统负载的调度方法 Active CN108052614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711343745.8A CN108052614B (zh) 2017-12-14 2017-12-14 一种数据库系统负载的调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711343745.8A CN108052614B (zh) 2017-12-14 2017-12-14 一种数据库系统负载的调度方法

Publications (2)

Publication Number Publication Date
CN108052614A true CN108052614A (zh) 2018-05-18
CN108052614B CN108052614B (zh) 2021-12-03

Family

ID=62132198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711343745.8A Active CN108052614B (zh) 2017-12-14 2017-12-14 一种数据库系统负载的调度方法

Country Status (1)

Country Link
CN (1) CN108052614B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136045A (zh) * 2011-11-24 2013-06-05 中兴通讯股份有限公司 虚拟化操作系统中的调度方法和装置
US20130173632A1 (en) * 2009-06-25 2013-07-04 University Of Tennessee Research Foundation Method and apparatus for predicting object properties and events using similarity-based information retrieval and modeling
US20130226903A1 (en) * 2012-02-27 2013-08-29 Nec Laboratories America, Inc. Predicting query execution time
CN103488673A (zh) * 2012-06-11 2014-01-01 富士通株式会社 用于执行调和处理的方法、控制器、程序及数据存储系统
CN104731973A (zh) * 2015-04-13 2015-06-24 成都汇智远景科技有限公司 一种查询数据的方法
CN104794186A (zh) * 2015-04-13 2015-07-22 太原理工大学 数据库负载响应时间预测模型训练样本的采集方法
CN105373428A (zh) * 2015-12-09 2016-03-02 北京奇虎科技有限公司 一种任务调度方法和系统
CN105740312A (zh) * 2014-12-27 2016-07-06 达索系统公司 使数据库查询形成聚类以用于运行时间预测
CN106156939A (zh) * 2015-04-27 2016-11-23 上海宝信软件股份有限公司 基于作业流的分布式调度系统及应用方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130173632A1 (en) * 2009-06-25 2013-07-04 University Of Tennessee Research Foundation Method and apparatus for predicting object properties and events using similarity-based information retrieval and modeling
CN103136045A (zh) * 2011-11-24 2013-06-05 中兴通讯股份有限公司 虚拟化操作系统中的调度方法和装置
US20130226903A1 (en) * 2012-02-27 2013-08-29 Nec Laboratories America, Inc. Predicting query execution time
CN103488673A (zh) * 2012-06-11 2014-01-01 富士通株式会社 用于执行调和处理的方法、控制器、程序及数据存储系统
CN105740312A (zh) * 2014-12-27 2016-07-06 达索系统公司 使数据库查询形成聚类以用于运行时间预测
CN104731973A (zh) * 2015-04-13 2015-06-24 成都汇智远景科技有限公司 一种查询数据的方法
CN104794186A (zh) * 2015-04-13 2015-07-22 太原理工大学 数据库负载响应时间预测模型训练样本的采集方法
CN106156939A (zh) * 2015-04-27 2016-11-23 上海宝信软件股份有限公司 基于作业流的分布式调度系统及应用方法
CN105373428A (zh) * 2015-12-09 2016-03-02 北京奇虎科技有限公司 一种任务调度方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHIGERU MASUYAMA等: ""Minimum Delay Semijoin Schedules For Local Area Dstributed Database Systems"", 《数理解析研究所講究錄》 *
罗伟良等: ""面向异构计算平台的列数据库调度方法研究与实现"", 《2012年全国高性能计算学术年会论文集》 *

Also Published As

Publication number Publication date
CN108052614B (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
US9152669B2 (en) System and method for distributed SQL join processing in shared-nothing relational database clusters using stationary tables
CN106527381B (zh) 一种面向并行批处理机动态调度的快速评估方法
CN103927346B (zh) 基于数据量的查询连接方法
CN103870507B (zh) 一种基于类目的搜索方法和装置
CN107391713A (zh) 一种解决协同过滤推荐技术中冷启动问题的方法及系统
CN105843189B (zh) 一种用于半导体生产线基于简化仿真模型的高效调度规则选择方法
CN106897374B (zh) 一种基于轨迹大数据最近邻查询的个性化推荐方法
CN108469988A (zh) 一种基于异构Hadoop集群的任务调度方法
CN105302858B (zh) 一种分布式数据库系统的跨节点查询优化方法及系统
US9442949B2 (en) System and method for compressing data in a database
CN103942375A (zh) 基于区间的高速压力机滑块尺寸稳健设计方法
CN115118602B (zh) 一种基于使用量预测的容器资源动态调度方法及系统
CN105512264A (zh) 分布式数据库中并发工作负载的性能预测方法
CN106127229A (zh) 一种基于时间序列类别的计算机数据分类方法
CN108681849A (zh) 一种货物运输自动定价的方法及装置
US7890705B2 (en) Shared-memory multiprocessor system and information processing method
CN114615304B (zh) 前分平台式工业物联网控制方法及系统
CN110059261A (zh) 内容推荐方法及装置
CN109409848A (zh) 开放式流程的节点智能推荐方法、终端设备及存储介质
CN109215097A (zh) 一种基于端到端联合学习的单个图像文本条件嵌入方法
Wijayanto et al. Implementation of multi-criteria collaborative filtering on cluster using Apache Spark
CN108829846B (zh) 一种基于用户特征的业务推荐平台数据聚类优化系统及方法
CN109086381A (zh) 模糊概念格的一种更新生成方法
CN106204094A (zh) 一种基于b2b平台的需求信息推送方法、装置
CN104573331B (zh) 一种基于MapReduce的K近邻数据预测方法

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
TR01 Transfer of patent right

Effective date of registration: 20221228

Address after: Room 02A-084, Building C (Second Floor), No. 28, Xinxi Road, Haidian District, Beijing 100085

Patentee after: Jingchuang United (Beijing) Intellectual Property Service Co.,Ltd.

Address before: 030024 No. 79 West Main Street, Taiyuan, Shanxi, Yingze

Patentee before: Taiyuan University of Technology

Effective date of registration: 20221228

Address after: Room 606-609, Compound Office Complex Building, No. 757, Dongfeng East Road, Yuexiu District, Guangzhou, Guangdong Province, 510699

Patentee after: China Southern Power Grid Internet Service Co.,Ltd.

Address before: Room 02A-084, Building C (Second Floor), No. 28, Xinxi Road, Haidian District, Beijing 100085

Patentee before: Jingchuang United (Beijing) Intellectual Property Service Co.,Ltd.

TR01 Transfer of patent right