CN113901074A - 即席查询的异常确定方法、装置、电子设备及介质 - Google Patents

即席查询的异常确定方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN113901074A
CN113901074A CN202111132050.1A CN202111132050A CN113901074A CN 113901074 A CN113901074 A CN 113901074A CN 202111132050 A CN202111132050 A CN 202111132050A CN 113901074 A CN113901074 A CN 113901074A
Authority
CN
China
Prior art keywords
sql
query
cluster
instruction
historical
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
Application number
CN202111132050.1A
Other languages
English (en)
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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202111132050.1A priority Critical patent/CN113901074A/zh
Publication of CN113901074A publication Critical patent/CN113901074A/zh
Pending legal-status Critical Current

Links

Images

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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/244Grouping and aggregation
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种即席查询的异常确定方法、装置、电子设备及存储介质,涉及数据处理领域。该方法包括:方法独权相关内容为获取历史SQL指令及实际查询时长;基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类;然后根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数;进而基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果。本申请实施例实现了对系统的即席查询的异常情况进行自动感知,有效保障查询耗时的稳定性。

Description

即席查询的异常确定方法、装置、电子设备及介质
技术领域
本申请涉及数据处理技术领域,具体而言,本申请实施例涉及即席查询的异常确定方法、装置、电子设备及存储介质。
背景技术
当前,能够管理和运行大量数据的大数据平台为大数据的实现和发展起到积极作用。随着大数据平台的推广使用,对大数据平台的数据存储能力和分析计算能力也提出了更高的要求。然而,当下数据之间包含大量节点,海量数据的来源可能是经过数十亿次的模拟、实验设备、互联网、应用等。不只是技术者,业务分析和运营人员在这样一个快速变化的时代,也需要得到来自于数据的实时反馈。
通常来说,一般的数据分析能力就已经能够有效解决当下行业对于复杂关系数据分析的需求,然而这种对于实时性、灵活性需求极高的数据分析能力,即席查询无疑是更合适的查询手段。然而即便使用即席查询也不代表着一劳永逸,在应用即席查询的业务场景中,往往会出现各种各样的问题导致查询缓慢。现实环境经常有数据分析人员反馈为什么类似的两条SQL,一个执行很快,一个执行很慢,平台是否正常,还是哪里有问题帮忙分析一下。
现在技术方案针对大数据平台的查询操作的异常情况是无法自动分析和自主感知,需要用户主动反馈才人工介入,使得无法对大数据平台进行及时优化。
发明内容
本申请实施例的目的旨在能够解决现有技术中对于大数据平台的查询操作的异常情况是无法自动分析和自主感知的技术问题,提供一种即席查询的异常确定方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
第一方面,本申请提供一种即席查询的异常确定方法,包括以下步骤:
获取历史SQL指令及实际查询时长;
基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类;
根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数;
基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果。
在第一方面的可选实施例中,所述基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类的步骤,包括:
基于SQL指令的指令特性,获取所述SQL指令中的SQL关键字和关键函数,确定每个所述SQL指令的复杂度;
以及,
基于每个所述SQL指令确定对应的元数据,读取所述元数据对应的分区数据,获取所述分区数据的源数据量的大小;
根据所述SQL指令的复杂度和所述分区数据的源数据的大小,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类。
在第一方面的可选实施例中,所述的即席查询的异常确定方法,还包括:
获取所述SQL指令中的过滤条件的关键字,确定所述过滤条件的数量。
在第一方面的可选实施例中,所述基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类的步骤,包括:
将设定时间段内所接收的历史SQL指令的分区数据的源数据的大小相同、以及所述复杂度和所述过滤条件的数量相同的历史SQL指令分配至同一SQL聚类;
其中,每个SQL聚类包括至少两个历史SQL指令。
在第一方面的可选实施例中,所述的即席查询的异常确定方法,还包括:
当一所述历史SQL指令未能与其他历史SQL指令分配至同一SQL聚类时,将所述历史SQL指令作为离群点,并丢弃。
在第一方面的可选实施例中,所述根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数的步骤,包括:
获取所述SQL聚类的每个历史SQL指令的实际查询时长,得到对应的SQL聚类的平均查询时长和查询时长方差;
利用所述平均查询时长和查询时长方差,确定所述SQL聚类的聚类变异系数。
在第一方面的可选实施例中,所述基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果的步骤,包括:
获取设定时间段内对应的所有SQL聚类的聚类变异系数,根据每个SQL聚类所包括的历史SQL指令的数量和所有历史SQL指令的总数量,确定所述所有所述SQL聚类的聚类变异系数加权平均值;
根据所述SQL集群的聚类变异系数加权平均值,确定执行即席查询SQL指令的异常结果。
第二方面,本申请实施例提供一种即席查询的异常确定装置,包括:
信息获取模块,用于获取历史SQL指令及实际查询时长;
聚类模块,用于基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类;
变异系数确定模块,用于根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数;
异常结果确定模块,用于基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果。
第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现第一方面任一项实施例所述的即席查询的异常确定方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面任一项实施例所述的即席查询的异常确定方法的步骤。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面任一项实施例所述的即席查询的异常确定方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例所提供的即席查询的异常确定方案,能够根据已经执行完毕的查询操作的数据,对系统的即席查询的异常情况进行自动感知,确保能够实时根据获取系统的服务状态,对系统做出及时的针对措施,从而有效保障查询耗时的稳定性,有助于提高到数据平台的运维效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请公开的实施例所提供的一种即席查询的异常确定方法的流程示意图;
图2为本申请公开的实施例所提供的一种即席查询的异常确定方法的步骤S120的详细流程图;
图3为本申请公开的又一实施例所提供的即席查询的异常确定方法的流程示意图;
图4为本申请公开的实施例所提供的一即席查询的异常确定装置的结构示意图;
图5为本申请一个实施例所提供的一种直播间的数据存储的电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“A”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了提高在大数据平台的灵活性,可以使用即席查询。
即席查询,是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,SQL指令也是固定的。而即席查询是由用户自定义查询条件的,以单独灵活的SQL语句的形式执行的查询。
然而,在实际查询的业务场景中,往往会出现各种各样的问题导致查询的响应速度不尽人意,即使针对相同的SQL指令,所执行查询操作的时长也可能出现相差较大的问题产生。
面对上述问题,通常需要人工接入来确认问题所在,使得无法对大数据平台进行及时优化。
因此,针对上述大数据平台当前可能出现的SQL指令的即席查询的异常而无法自动确定的技术问题,本申请提供一种即席查询的异常确定方法。
在本方法中,对于大数据平台的即席查询的功能,该大数据平台的即席查询的功能,也可以依托大数据查询引擎来实现,如的hive,presto,spark、clickhousr等大数据查询引擎,或者依托后台的集群来实现的。而无论是大数据查询引擎还是集群,可以承担该大数据平台的全部的查询任务,也可以只承担大数据平台的部分的查询任务,具体承但的查询业务根据具体的设定,这里不做详细介绍。
而在本申请进行查询操作的载体是历史SQL指令。SQL,中文名称为结构化查询语言(英文全称为:Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
参照图1,图1为本申请公开的实施例所提供的一种即席查询的异常确定方法的流程示意图。
本申请实施例所提供的即席查询的异常确定方法,包括以下步骤:
S110、获取历史SQL指令及实际查询时长。
在本申请中,将大数据平台称为系统,而实际执行即席查询的是后台运行的集群或大数据查询引擎。在本实施例中,在集群或大数据查询引擎上已执行完毕的查询操作的数据作为当前系统的即席查询耗时稳定性的判断依据,通过已发生的查询操作对系统的即席查询耗时的异常情况进行自动感知,以便提高大数据平台的运维效率。
在本申请的实施例中,在大数据平台的查询操作中,通常使用SQL指令进行查询。该SQL指令可以是用户直接输入的SQL语句得到的,也可以是通过前端界面所获取的用户查询信息,并根据界面的功能模块的解析、转化得到的。无论是直接获取,还是通过对前端输入的查询信息解析得到的SQL指令,在本申请中的实施例中,均命名为历史SQL指令。对于每个历史SQL指令,若查询操作执行成功,包含对应的实际查询时长。而该实际查询时长,可以是包括获取查询历史SQL指令后,在数据库中执行查询,并反馈查询结果的过程耗时。
每个历史SQL指令对应一个实际查询时长,即使是查询内容相同的历史SQL指令,对应的实际查询时长也有可能相差很大。因此,该历史SQL指令是针对每一次查询操作所获取的历史SQL指令,每个历史SQL指令有对应的生成时间。
S120、基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类。
本步骤是基于步骤S110所获取的历史SQL指令,进行SQL聚类。而SQL聚类的条件是SQL指令的指令特性和SQL指令所得的数据特性。该指令特性通常可以指该历史SQL指令本身的特征,可能涉及SQL指令的关键字、函数或执行条件等,而该数据特性是与其对应的历史SQL指令所得到的数据的特性。
在本实施例中,进行SQL聚类的历史SQL指令,可以是针对设定时间段内所接收到的历史SQL指令。例如,最近一天,即从当前时间点至最近24小时之间所产生的历史SQL指令,也就是每次进行SQL聚类均包括当前所接收到的最新的历史SQL指令,每次进行SQL聚类的数据是数据集合是在最近24小时内所更新的历史SQL指令的集合。若该设定时间段为每一天,则可以以每个自然日所接收到的历史SQL指令的集合。
根据SQL指令的指令特性以及SQL指令所获取的数据特性,对设定时间段内所接收到的所有的历史SQL指令,进行聚类,得到若干个SQL聚类。
S130、根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数。
获取每个历史SQL指令的实际查询时长,根据步骤S120所得到的SQL聚类,利用每个SQL聚类中的历史SQL指令的实际查询时长,得到每个SQL聚类的聚类变异系数。
S140、基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果。
基于步骤S130所得到的每个SQL聚类的聚类变异系数,对系统内的所有SQL聚类的即席查询的历史SQL指令的执行情况进行统计,根据统计的结果,能够得到该系统的即席查询SQL指令执行的判断信息,根据该判断信息确定执行即席查询SQL指令是否为异常结果。而该异常结果用于表征系统的即席查询耗时稳定性。
本申请中所提供的即席查询的异常确定方法,能够根据已经执行完毕的查询操作的数据,对系统的即席查询的异常情况进行自动感知,确保能够实时根据获取系统的服务状态,对系统做出及时的针对措施,从而有效保障查询耗时的稳定性,有助于提高到数据平台的运维效率。
图2为本申请公开的实施例所提供的一种即席查询的异常确定方法的步骤S120的详细流程图。
在上述实施例的基础上,上述步骤S120能够进一步包括:
S121、基于SQL指令的指令特性,获取所述SQL指令中的SQL关键字和关键函数,确定每个所述SQL指令的复杂度;
以及,
S122、基于每个所述SQL指令确定对应的元数据,读取所述元数据对应的分区数据,获取所述分区数据的源数据量的大小。
在本实施例中,对于历史SQL指令进行SQL聚类需要从SQL指令的指令特性和SQL指令对应的数据特性两个维度进行评估。
在步骤S121中,该SQL指令的指令特性是体现于SQL关键字和关键函数的查询组合。该查询组合中包含的查询条件越多,对应的SQL指令的复杂度越高。该SQL指令的复杂度除了可以由关键字和关键函数的数量决定,也可以与关键字之间的关系和/或该关键函数所涉及的关键字的数量,甚至是所调用数据量的大小有关。
在本实施例中,该查询组合可以通过关键函数将若干个关键字组合起来,形成对数据进行筛选的组合条件。
该SQL指令包括关键字如下:Join、Group By、Order By和Distinct。在本实施例中,涉及表格1和表格2的数据。
其中,Join表示:将指定的表格1数据与表格2的数据进行匹配,并将匹配成功的表格1数据插入至表格2中。
Group By表示:根据“By”所指定的规则对指定的表格的数据进行分组,即将指定的表格的数据集划分为若干个数据分区,以便后续针对该若干个数据分区进行数据处理。
Order By表示:根据“By”所指定的规则对指定的表格的数据进行分组,得到若干个数据分区,并对该若干个数据分区进行排列;
Distinct表示:用于返回唯一不同的值。
在本实施例中,待处理的数据设定为表格1和表格2:
学号 姓名 班级
1 张三 1班
2 李四 2班
3 王五 3班
4 赵四 1班
5 伊一 2班
表1
学号 成绩
3 92
4 90
1 90
2 88
5 85
表2
在上述的表1和表2中,可以匹配的元素为学号,根据匹配的结果,将表1和表2合成一个表,得到表3:
学号 姓名 班级 成绩
1 张三 1班 90
2 李四 2班 88
3 王五 3班 92
4 赵四 1班 90
5 伊一 2班 85
表3
上述的表3能够表示上述几个来自不同班级的考试的成绩。若利用Group By,可以将考生按照以班级为单位进行分类。也可以进一步对同一班级的考生进行排名。若利用Distinct,可以得到如班级、成绩等元素,将返回唯一不同的值。
并且,该SQL指令的复杂度还可包括关键函数,可以将上述若干个关键词关联起来。该关键函数可以是窗口函数,如找出所有班级排名前N的考生的名单。
在本实施例中,SQL指令的复杂度为每个SQL关键字的个数和关键函数的个数的总和。
基于上述实施例的SQL指令的复杂度由SQL关键字个数确定,该SQL指令的SQL关键字个数为:
Join个数+Group By个数+Order By个数+Distinct个数+关键函数个数并且,对应不同的SQL关键字个数的范围,设定对应的复杂度:
1.SQL关键字个数小于等于3,复杂度为1。
2.SQL关键字个数小于等于6,且大于等于4,复杂度为1.5。
3.SQL关键字个数小于等于19,且大于等于7,复杂度为2。
4.SQL关键字个数大于等于20,复杂度为4。
而在步骤S122中,根据SQL指令获取对应的元数据。而该元数据作为中介数据,可是以表格、目录的形式存在,以描述数据库的源数据的属性信息。根据该属性信息可以对源数据进行分区管理,因此,可以利用该源数据达成协助数据检索的目的。服务器可以根据该元数据的属性信息,在数据库中获取符合该属性信息的源数据。
在本实施例中,根据元数据确定对应数据源数据以及其在数据库中存储的分区,该数据库中的分区存储着该元数据所对应的分区数据。该分区是根据元数据的属性信息所确定的。因此,根据该元数据的属性信息,能够获取对应分区的源数据,并获取该源数据的数据量的大小,如100M。
例如,根据所获取数据的需求,需要每条获取数据进行统计,对应元数据的属性信息为每个自然日。因此,在本实施例中的分区数据则是每个月的所生成的考生成绩的源数据。在本实施例中,该源数据是关于每个学号的考生对应的班级和成绩的原始数据。
基于上述步骤S121-S122,对关于考生成绩的原始数据从SQL指令的查询复杂度和对应的数据本身的数据量大小,作为对该SQL指令运行稳定性进行衡量,实现以较少的数据量对数据运行、处理的稳定性进行聚类和分析,以减轻设备的运行负担。
在此基础上,还包括:获取所述SQL指令中的过滤条件的关键字,确定所述过滤条件的数量。
对SQL指令的聚类元素,除了由SQL关键字个数和关键函数个数有关的SQL复杂度,还可以包括过滤条件的关键字,如where条件个数。
基于过滤条件where,可以对上述SQL关键字和/或关键函数筛选得到的数据表格进行进一步过滤,以便对数据进行进一步精简,减少后续进行聚类的数据压力。
基于上述实施例所得到的基于SQL指令的指令特性和数据特性,步骤S120能够进一步包括:将设定时间段内所接收的历史SQL指令的分区数据的源数据的大小相同、以及所述复杂度和所述过滤条件的数量相同的历史SQL指令分配至同一SQL聚类;其中,每个SQL聚类包括至少两个历史SQL指令。
将历史SQL指令进行SQL聚类,可以利用上述步骤S121和S122对所接收到的历史SQL指令,并解析得到该历史SQL指令的指令特性和数据特性,得到每个历史SQL指令的分区数据所对应的源数据量的大小、历史SQL指令的关键字和关键函数和过滤条件,统计每个历史SQL指令的关键字个数和关键函数个数,得到该历史SQL指令的复杂度,同时,根据过滤条件的关键字,确认过滤条件的数量。
将当前接收到的历史SQL指令的分区数据的源数据的大小、以及所述复杂度和所述过滤条件的数量与其他历史SQL指令的进行对比,或者,将所接收到的所有的历史SQL指令的分区数据的源数据的大小、以及所述复杂度和所述过滤条件的数量进行对比,提取上述条件对应的量相同的至少两个历史SQL指令,并将该至少两个历史SQL指令分配至同一SQL聚类。
由于该至少两个历史SQL指令至少在分区数据的源数据的大小、以及所述复杂度和所述过滤条件的数量的量是相同的,该至少两个历史SQL指令可能是相同的SQL指令,或者为查询条件相似度很高的SQL指令。因此,基于上述SQL指令的聚类的筛选条件,能够保障每个聚类中的历史SQL指令的相似度极高,以便能够确定不同业务的异常情况,确定对应的有利于后续进行精准优化。
基于上述实施例,对于未能与其他历史SQL指令分配至同一SQL聚类的历史SQL指令,将该历史SQL指令作为离群点,进行丢弃,以减少后续SQL指令的统计量。
在本申请所提供的实施例中,步骤S130,可以进一步包括:
获取所述SQL聚类的每个历史SQL指令的实际查询时长,得到对应的SQL聚类的平均查询时长和查询时长方差;
利用所述平均查询时长和查询时长方差,确定所述SQL聚类的聚类变异系数。
针对每个SQL聚类中的每个历史SQL指令,获取对应的实际查询时长,得到在该SQL聚类中的所有历史SQL指令的平均查询时长,并可以通过计算得到该SQL聚类中历史SQL指令的查询时长方差。
基于上述获取的该SQL聚类的平均查询时长和查询时长方差,确定该SQL聚类的聚类变异系数。
基于上述的设计思路,该SQL聚类的聚类变异系数的获取可参考如下过程:
该SQL聚类中的各个历史SQL指令的实际查询时长为:
Figure BDA0003280825550000131
其中,j为该设定时间段内的SQL聚类的序号,ti为该SQL聚类中的各个历史SQL指令的实际查询时长,n为SQL聚类中的历史SQL指令的总数量,n≥1的正整数。
该SQL聚类中的总体查询时长方差为:
Figure BDA0003280825550000132
该SQL聚类的聚类变异系数为:
Figure BDA0003280825550000133
若聚类变异系数越大,表明该SQL聚类的历史SQL指令的实际查询时长的离散程度越高,即该SQL聚类的历史SQL指令的实际查询时长的集中度越低。
根据该实施例,能够得到在运行该SQL聚类对应的数据处理的稳定性性如何。具体可以为体现该SQL聚类的对应类型的数据运行稳定性设定一个阈值,或者是以该SQL聚类的历史统计的聚类变异系数得到一个经验值,与该SQL聚类当前得到的聚类变异系数进行对比,得到该SQL聚类的对应的数据运行稳定性,有助于判断该SQL聚类对应类型的数据运行稳定情况。
在本申请所提供的实施例中,步骤S140,可以进一步包括:
获取设定时间段内对应的所有SQL聚类的聚类变异系数,根据每个SQL聚类所包括的历史SQL指令的数量和所有历史SQL指令的总数量,确定所述所有所述SQL聚类的聚类变异系数加权平均值;
根据所述SQL集群的聚类变异系数加权平均值,确定执行即席查询SQL指令的异常结果。
基于步骤S130得到在当前所统计的设定时间段内的所有SQL聚类的聚类变异系数,并且在该设定时间段内的所有历史SQL指令的总数量,确定所述所有所述SQL聚类的。
根据步骤S130得到在该设定时间段内所有SQL聚类的聚类变异系数,得到在该设定时间段内所有SQL聚类的聚类变异系数的聚类变异系数平均值:
Figure BDA0003280825550000141
其中,m为SQL聚类的总数量。
在该设定时间段内所有所述SQL聚类的聚类变异系数加权平均值为:
Figure BDA0003280825550000142
其中,aj表示序号为j的SQL聚类所包含SQL指令的数量,b为该设定时间段内所有历史SQL指令的总数量。
利用所述SQL集群的聚类变异系数加权平均值,确定执行即席查询SQL指令的异常结果。
在本实施例中,主要是通过SQL聚类的聚类变异系数加权平均值的大小来确定该设定时间段内对于数据运行,尤其是查询业务运行的稳定性。
根据该实施例,能够得到在运行该SQL聚类对应的数据处理的稳定性性如何。具体可以为体现该SQL聚类的对应类型的数据运行稳定性设定一个阈值,或者是以该SQL聚类的历史统计的聚类变异系数得到一个经验值,与该SQL聚类当前得到的聚类变异系数进行对比,得到该SQL聚类的对应的数据运行稳定性,有助于判断该SQL聚类对应类型的数据运行稳定情况。
上述实施例分别通过所述所有所述SQL聚类的聚类变异系数平均值和加权平均值,确定执行即席查询SQL指令的异常结果。
根据所述SQL聚类的聚类变异系数平均值,能够确定设定时间段内查询业务整体运行的稳定程度。
根据所述SQL聚类的聚类变异系数加权平均值,所确定的设定时间段内查询业务整体运行的稳定程度会更向包含较多历史SQL指令的SQL聚类的稳定性表现倾斜。若该SQL聚类所包含的历史SQL指令在所有历史SQL指令的总数量中较高,则对整体数据运行的稳定性影响较大。因此,通过该SQL聚类的聚类变异系数加权平均值,即能够确定设定时间段内查询业务整体运行的稳定程度,也能够实现对具体业务类型的聚类数据运行异常的情况。
为了对上述即席查询的异常确定方法进行更全面、清楚地说明,参考图3,图3为本申请公开的又一实施例所提供的即席查询的异常确定方法的流程示意图。该执行过程如下:
S1、获取历史SQL指令及实际查询时长;
S2、基于每个所述SQL指令确定对应的元数据,读取所述元数据对应的分区数据,获取所述分区数据的源数据量的大小;
S3、基于SQL指令的指令特性,获取所述SQL指令中的SQL关键字和关键函数;
S4、确定每个所述SQL指令的复杂度;
S5、获取所述SQL指令中的过滤条件的关键字,确定所述过滤条件的数量;
S6、将设定时间段内所接收的历史SQL指令的分区数据的源数据的大小相同、以及所述复杂度和所述过滤条件的数量相同的历史SQL指令分配至同一SQL聚类;
S7、根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数;
S8、获取设定时间段内对应的所有SQL聚类的聚类变异系数,根据每个SQL聚类所包括的历史SQL指令的数量和所有历史SQL指令的总数量,确定所述所有所述SQL聚类的聚类变异系数加权平均值;
S9、根据所述SQL集群的聚类变异系数加权平均值,确定执行即席查询SQL指令的异常结果。
基于与一即席查询的异常确定方法相同的申请构思,本申请实施例还提供了一种即席查询的异常确定装置200。参考图4,图4为本申请公开的实施例所提供的一即席查询的异常确定装置的结构示意图。
信息获取模块210,用于获取历史SQL指令及实际查询时长;
聚类模块220,用于基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类;
变异系数确定模块230,用于根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数;
异常结果确定模块240,用于基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果。
本申请中所提供的即席查询的异常确定装置200,能够根据已经执行完毕的查询操作的数据,对系统的即席查询的异常情况进行自动感知,确保能够实时根据获取系统的服务状态,对系统做出及时的针对措施,从而有效保障查询耗时的稳定性,有助于提高到数据平台的运维效率。
聚类模块220,用于基于SQL指令的指令特性,获取所述SQL指令中的SQL关键字和关键函数,确定每个所述SQL指令的复杂度;
以及,
基于每个所述SQL指令确定对应的元数据,读取所述元数据对应的分区数据,获取所述分区数据的源数据量的大小;
根据所述SQL指令的复杂度和所述分区数据的源数据的大小,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类。
聚类模块220,还用于获取所述SQL指令中的过滤条件的关键字,确定所述过滤条件的数量。
聚类模块220,还用于将设定时间段内所接收的历史SQL指令的分区数据的源数据的大小相同、以及所述复杂度和所述过滤条件的数量相同的历史SQL指令分配至同一SQL聚类;
其中,每个SQL聚类包括至少两个历史SQL指令。
聚类模块220,还用于当一所述历史SQL指令未能与其他历史SQL指令分配至同一SQL聚类时,将所述历史SQL指令作为离群点,并丢弃。
变异系数确定模块230,用于获取所述SQL聚类的每个历史SQL指令的实际查询时长,得到对应的SQL聚类的平均查询时长和查询时长方差;
利用所述平均查询时长和查询时长方差,确定所述SQL聚类的聚类变异系数。
异常结果确定模块240,用于获取设定时间段内对应的所有SQL聚类的聚类变异系数,根据每个SQL聚类所包括的历史SQL指令的数量和所有历史SQL指令的总数量,确定所述所有所述SQL聚类的聚类变异系数加权平均值;
根据所述SQL集群的聚类变异系数加权平均值,确定执行即席查询SQL指令的异常结果。
另一种装置与方法的对应说明:
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现上述即席查询的异常确定方法的步骤,与现有技术相比可实现:能够根据已经执行完毕的查询操作的数据,对系统的即席查询的异常情况进行自动感知,确保能够实时根据获取系统的服务状态,对系统做出及时的针对措施,从而有效保障查询耗时的稳定性,有助于提高到数据平台的运维效率。
在一个可选实施例中提供了一种电子设备,如图5所示,参照图5,图5为本申请一个实施例所提供的一种直播间的数据存储的电子设备的结构示意图。
电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述即席查询的异常确定方法实施例的步骤及相应内容。与现有技术相比,本申请实施例中的计算机可读存储介质能够根据已经执行完毕的查询操作的数据,对系统的即席查询的异常情况进行自动感知,确保能够实时根据获取系统的服务状态,对系统做出及时的针对措施,从而有效保障查询耗时的稳定性,有助于提高到数据平台的运维效率。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述即席查询的异常确定方法实施例的步骤及相应内容。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (11)

1.一种即席查询的异常确定方法,其特征在于,包括以下步骤:
获取历史SQL指令及实际查询时长;
基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类;
根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数;
基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果。
2.根据权利要求1所述的即席查询的异常确定方法,其特征在于,
所述基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类的步骤,包括:
基于SQL指令的指令特性,获取所述SQL指令中的SQL关键字和关键函数,确定每个所述SQL指令的复杂度;
以及,
基于每个所述SQL指令确定对应的元数据,读取所述元数据对应的分区数据,获取所述分区数据的源数据量的大小;
根据所述SQL指令的复杂度和所述分区数据的源数据的大小,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类。
3.根据权利要求2所述的即席查询的异常确定方法,其特征在于,还包括:
获取所述SQL指令中的过滤条件的关键字,确定所述过滤条件的数量。
4.根据权利要求3所述的即席查询的异常确定方法,其特征在于,
所述基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类的步骤,包括:
将设定时间段内所接收的历史SQL指令的分区数据的源数据的大小相同、以及所述复杂度和所述过滤条件的数量相同的历史SQL指令分配至同一SQL聚类;
其中,每个SQL聚类包括至少两个历史SQL指令。
5.根据权利要求4所述的即席查询的异常确定方法,其特征在于,还包括:
当一所述历史SQL指令未能与其他历史SQL指令分配至同一SQL聚类时,将所述历史SQL指令作为离群点,并丢弃。
6.根据权利要求1所述的即席查询的异常确定方法,其特征在于,
所述根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数的步骤,包括:
获取所述SQL聚类的每个历史SQL指令的实际查询时长,得到对应的SQL聚类的平均查询时长和查询时长方差;
利用所述平均查询时长和查询时长方差,确定所述SQL聚类的聚类变异系数。
7.根据权利要求1所述的即席查询的异常确定方法,其特征在于,
所述基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果的步骤,包括:
获取设定时间段内对应的所有SQL聚类的聚类变异系数,根据每个SQL聚类所包括的历史SQL指令的数量和所有历史SQL指令的总数量,确定所述所有所述SQL聚类的聚类变异系数加权平均值;
根据所述SQL集群的聚类变异系数加权平均值,确定执行即席查询SQL指令的异常结果。
8.一种即席查询的异常确定装置,其特征在于,包括:
信息获取模块,用于获取历史SQL指令及实际查询时长;
聚类模块,用于基于SQL指令的指令特性和基于SQL指令所得的数据特性,对设定时间段内接收的历史SQL指令进行聚类,得到SQL聚类;
变异系数确定模块,用于根据所述实际查询时长,确定各所述SQL聚类的聚类变异系数;
异常结果确定模块,用于基于各所述聚类变异系数,确定执行即席查询SQL指令的异常结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-7任一项所述的即席查询的异常确定方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的即席查询的异常确定方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的即席查询的异常确定方法的步骤。
CN202111132050.1A 2021-09-26 2021-09-26 即席查询的异常确定方法、装置、电子设备及介质 Pending CN113901074A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111132050.1A CN113901074A (zh) 2021-09-26 2021-09-26 即席查询的异常确定方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111132050.1A CN113901074A (zh) 2021-09-26 2021-09-26 即席查询的异常确定方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN113901074A true CN113901074A (zh) 2022-01-07

Family

ID=79029364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111132050.1A Pending CN113901074A (zh) 2021-09-26 2021-09-26 即席查询的异常确定方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN113901074A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649579A (zh) * 2016-11-17 2017-05-10 苏州航天系统工程有限公司 一种用于管网建模的时序数据清洗方法
CN107832279A (zh) * 2017-09-12 2018-03-23 北京中燕信息技术有限公司 一种生成报表的方法、设备及计算机可读存储介质
CN109033123A (zh) * 2018-05-31 2018-12-18 康键信息技术(深圳)有限公司 基于大数据的查询方法、装置、计算机设备和存储介质
CN109213664A (zh) * 2018-08-23 2019-01-15 北京小度信息科技有限公司 Sql语句的性能分析方法、装置、存储介质和电子设备
CN109388637A (zh) * 2018-09-21 2019-02-26 北京京东金融科技控股有限公司 数据仓库信息处理方法、装置、系统、介质
CN110399388A (zh) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 数据查询方法、系统和设备
CN110674014A (zh) * 2019-09-16 2020-01-10 中国银联股份有限公司 一种确定异常查询请求的方法及装置
CN110825767A (zh) * 2019-11-15 2020-02-21 江苏满运软件科技有限公司 数据查询方法、平台、设备及存储介质
CN111818011A (zh) * 2020-05-29 2020-10-23 中国平安财产保险股份有限公司 异常访问行为识别方法、装置、计算机设备和存储介质
CN112764809A (zh) * 2021-01-25 2021-05-07 广西大学 基于编码特征的sql代码抄袭检测方法及系统
CN113283502A (zh) * 2021-05-24 2021-08-20 平安国际融资租赁有限公司 基于聚类的设备状态阈值确定方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649579A (zh) * 2016-11-17 2017-05-10 苏州航天系统工程有限公司 一种用于管网建模的时序数据清洗方法
CN107832279A (zh) * 2017-09-12 2018-03-23 北京中燕信息技术有限公司 一种生成报表的方法、设备及计算机可读存储介质
CN109033123A (zh) * 2018-05-31 2018-12-18 康键信息技术(深圳)有限公司 基于大数据的查询方法、装置、计算机设备和存储介质
CN109213664A (zh) * 2018-08-23 2019-01-15 北京小度信息科技有限公司 Sql语句的性能分析方法、装置、存储介质和电子设备
CN109388637A (zh) * 2018-09-21 2019-02-26 北京京东金融科技控股有限公司 数据仓库信息处理方法、装置、系统、介质
CN110399388A (zh) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 数据查询方法、系统和设备
CN110674014A (zh) * 2019-09-16 2020-01-10 中国银联股份有限公司 一种确定异常查询请求的方法及装置
CN110825767A (zh) * 2019-11-15 2020-02-21 江苏满运软件科技有限公司 数据查询方法、平台、设备及存储介质
CN111818011A (zh) * 2020-05-29 2020-10-23 中国平安财产保险股份有限公司 异常访问行为识别方法、装置、计算机设备和存储介质
CN112764809A (zh) * 2021-01-25 2021-05-07 广西大学 基于编码特征的sql代码抄袭检测方法及系统
CN113283502A (zh) * 2021-05-24 2021-08-20 平安国际融资租赁有限公司 基于聚类的设备状态阈值确定方法和装置

Similar Documents

Publication Publication Date Title
KR102522274B1 (ko) 사용자 그룹화 방법 및 장치, 컴퓨터 장비, 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램
CN110795455A (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
US20170068748A1 (en) Hybrid data storage system and method and program for storing hybrid data
US11687546B2 (en) Executing conditions with negation operators in analytical databases
WO2017096892A1 (zh) 索引构建方法、查询方法及对应装置、设备、计算机存储介质
US20190236201A1 (en) Techniques for processing database tables using indexes
WO2021047373A1 (zh) 基于大数据的列数据处理方法、设备及介质
EP3198489A1 (en) Guided data exploration
WO2017107130A1 (zh) 数据查询方法和数据库系统
CN106874332B (zh) 数据库访问方法和装置
EP3779720B1 (en) Transaction processing method and system, and server
CN114661568A (zh) 异常操作行为检测方法、装置、设备及存储介质
CN114238389A (zh) 数据库查询优化方法、装置、电子设备、介质和程序产品
CN110874366A (zh) 数据处理、查询方法和装置
CN108932258B (zh) 数据索引处理方法及装置
CN110580255A (zh) 一种存储并检索数据的方法以及系统
CN111125158A (zh) 数据表处理方法、装置、介质及电子设备
CN113901074A (zh) 即席查询的异常确定方法、装置、电子设备及介质
CN110414813B (zh) 指标曲线的构建方法、装置及设备
CN109543079B (zh) 数据查询方法、装置、计算设备及存储介质
CN109635074B (zh) 一种基于舆情信息的实体关系分析方法及终端设备
CN110895529B (zh) 结构化查询语言的处理方法及相关装置
CN112540843A (zh) 资源的分配方法、装置、存储设备及存储介质
US20230214394A1 (en) Data search method and apparatus, electronic device and storage medium
CN113553320B (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