一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、设备、系统、存储介质及程序产品与流程

2021-11-05 21:49:00 来源:中国专利 TAG:
1.本技术涉及数据库
技术领域
:,尤其涉及一种数据处理方法、装置、设备、系统、存储介质及程序产品。
背景技术
::2.数据库系统(databasesystem),是由数据库及其管理软件组成的系统。数据库系统包括集中式数据库系统和分布式数据库系统。3.通常,可以对数据库系统运行中存在的问题进行分析、定位甚至自动修复。具体的,可以采集数据库系统运行产生的全量查询请求数据、全量写入请求数据以及全量日志数据等,在对采集到的全量数据进行清洗、分析等处理的基础上,确定出数据库系统存在的问题。然而,这种方式存在对计算资源的消耗较大的问题。技术实现要素:4.本技术实施例提供一种数据处理方法、装置、设备、系统、存储介质及程序产品,用以解决现有技术中对于数据库系统进行分析时系统对计算资源的消耗较大的问题。5.第一方面,本技术实施例提供一种数据处理方法,包括:6.针对预定义的至少一种异常问题,根据所述异常问题对应的数据类别,从数据库系统运行产生的数据中,获取分析对应异常问题所需的全部数据中的目标部分数据,作为待处理数据;所述目标部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度大的疑似对象,所述全部数据中的其他部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度小的疑似对象;7.根据所述异常问题对应的数据分析逻辑,对对应的待处理数据进行处理,以确定所述数据库系统中存在所述异常问题的疑似对象。8.第二方面,本技术实施例提供一种数据处理装置,包括:9.获取模块,用于针对预定义的至少一种异常问题,根据所述异常问题对应的数据类别,从数据库系统运行产生的数据中,获取分析对应异常问题所需的全部数据中的目标部分数据,作为待处理数据;所述目标部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度大的疑似对象,所述全部数据中的其他部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度小的疑似对象;10.处理模块,用于根据所述异常问题对应的数据分析逻辑,对对应的待处理数据进行处理,以确定所述数据库系统中存在所述异常问题的疑似对象。11.第三方面,本技术实施例提供一种数据处理装置,包括:12.采集模块,用于针对预定义的至少一种异常问题,根据所述异常问题对应的数据类别,从数据库系统运行产生的数据中,采集分析对应异常问题所需的全部数据中的目标部分数据,作为待处理数据;所述目标部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度大的疑似对象,所述全部数据中的其他部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度小的疑似对象;13.处理模块,用于根据所述异常问题对应的数据分析逻辑,对对应的待处理数据进行处理,以确定所述数据库系统中存在所述异常问题的疑似对象。14.第四方面,本技术实施例提供一种计算机设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第一方面中任一项所述的方法。15.第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现如第一方面中任一项所述的方法。16.第六方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如权利要求第一方面任一项所述的方法。17.在本技术实施例中,从数据库的客户角度,预定义了与客户侧异常对应的至少一种异常问题,异常问题存在对应的数据类别以及数据分析逻辑,计算机设备根据数据类别从数据库系统运行产生的数据中获取分析对应异常问题所需的全部数据中的目标部分数据作为待处理数据,并根据数据分析逻辑对对应的待处理数据进行处理,以确定数据库系统中存在异常问题的疑似对象,由于全部数据中的目标部分数据能够用于确定存在异常问题且对数据库系统运行的影响程度大的疑似对象,而全部数据中的其他部分数据能够用于确定存在异常问题且对数据库系统运行的影响程度小的疑似对象,因此通过获取目标部分数据作为待处理数据,能够从需要确定出对数据库系统运行影响较大的疑似对象的目的出发,使得可以仅对全部数据中的部分数据进行数据采集,实现了轻量化的数据采集,进一步的,由于只需要对目标部分数据进行处理,因此实现了轻量化的数据处理,与重量化的数据采集和重量化的数据处理相比,节省了计算资源,减少了对于计算资源的消耗。另外,由于处理结果为确定出存在异常问题的疑似对象,使得对于数据库普通客户而言,能够获知是否存在疑似某一种或多种异常问题的疑似对象,从而能指导客户进一步进行问题处理。附图说明18.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。19.图1为本技术实施例的应用场景示意图;20.图2为本技术一实施例提供的数据处理方法的流程示意图;21.图3为本技术一实施例提供针对请求热点问题的框图;22.图4为本技术一实施例提供针对流量热点问题的框图;23.图5为本技术一实施例提供针对大查询请求问题的框图;24.图6为本技术一实施例提供的数据处理装置的结构示意图;25.图7为本技术一实施例提供的计算机设备的结构示意图。具体实施方式26.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。27.在本技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。28.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。29.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。30.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。31.另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。32.为了方便本领域技术人员理解本技术实施例提供的技术方案,下面先对技术方案实现的技术环境进行说明。33.相关技术中,对于数据库系统进行分析常用的数据处理方法,主要包括采集数据库系统运行产生的全量日志数据等,在对采集到的全量数据进行清洗、分析等处理的基础上,确定出数据库系统存在的问题,全量数据采集以及针对全量数据的处理,对计算资源的消耗较大,因此相关技术中亟需一种能够减小对计算资源消耗的数据处理方式。34.基于类似于上文所述的实际技术需求,本技术提供的数据处理方法可以利用技术化的手段减小对于数据库系统进行分析时所消耗的计算资源。35.下面通过一个示例性的应用场景具体说明本技术各个实施例提供的数据处理方法。36.图1为本技术一实施例提供的数据处理方法的应用场景示意图。如图1所示,该应用场景中可以包括数据库系统11和数据处理系统12。数据库系统11中可以包括控制者(master)节点以及多个数据节点,控制者节点可以负责调度,数据节点可以负责提供对外的数据的读写请求等。在数据库系统11运行的过程中,数据库系统11可以透出其运行产生的一些数据,例如日志数据等。37.数据处理系统12位于数据库系统11之上,数据处理系统12可以包括用于采集数据库系统11运行产生的数据进行数据采集的采集模块121,以及用于对采集模块所采集到的数据进行数据处理的处理模块122,部署处理模块122的计算机设备(记为计算机设备x)可以执行本技术实施例提供的数据处理方法。38.通常,在对数据库系统进行分析时,需要从数据库系统获取数据库系统运行产生的全量日志数据、全量查询请求数据以及全量写入请求等类型的全量数据,并对获取到的全量数据进行清洗、分析等处理,以确定出数据库系统存在的问题。由于需要进行全量数据的采集以及针对全量数据的数据处理,即数据采集以及数据处理均是重量化的,因此存在对计算资源的消耗较大的问题。39.并且,由于数据采集以及数据处理均需要消耗较大的计算资源,因此用于进行数据处理的处理模块与数据库系统通常是部署在不同的计算机设备,并由此该处理模块通常是作为中心化的处理模块,对应多个数据库系统。然而,中心化的处理模块可以为部署在公有云上的数据库系统提供分析服务,但无法为部署在网络隔离的专有云上的数据库系统提供分析服务,适用的服务对象非常受限。40.另外,如果通过数据库实例中的进程来运行采集模块对应的代码,由于传统技术中采集模块需要进行重量化的数据采集,对于计算资源的消耗较大,资源规格较小的数据库实例自身的计算资源非常有限,不能支持重资源消耗的数据采集,因此只能在资源规格较大的数据库实例中运行采集模块,而不能在资源规格较小的数据库实例中运行采集模块,适用的实例也非常有限。41.此外,传统技术中,通过对采集到的全量数据进行处理,所得到的处理结果是数据库系统的系统内部指标,适合经验丰富的系统管理者进行问题排查,从数据库普通客户视角显得不足,缺少能指导客户进一步问题处理的分析结论。42.为了解决对于数据库系统进行分析时对计算资源的消耗较大的技术问题,在图1所示的应用场景中,从数据库的客户角度,预定义了与客户侧异常对应的至少一种异常问题,异常问题存在对应的数据类别以及数据分析逻辑,计算机设备x根据数据类别从数据库系统运行产生的数据中获取分析对应异常问题所需的全部数据中的目标部分数据作为待处理数据,并根据数据分析逻辑对对应的待处理数据进行处理,以确定数据库系统中存在异常问题的疑似对象,由于全部数据中的目标部分数据能够用于确定存在异常问题且对数据库系统运行的影响程度大的疑似对象,而全部数据中的其他部分数据能够用于确定存在异常问题且对数据库系统运行的影响程度小的疑似对象,因此通过获取目标部分数据作为待处理数据,能够从需要确定出对数据库系统运行影响较大的疑似对象的目的出发,使得可以仅对全部数据中的部分数据进行数据采集,实现了轻量化的数据采集,进一步的,由于只需要对目标部分数据进行处理,因此实现了轻量化的数据处理,与重量化的数据采集和重量化的数据处理相比,节省了计算资源。另外,由于处理结果为确定出存在异常问题的疑似对象,使得对于数据库普通客户而言,能够获知是否存在疑似某一种或多种异常问题的疑似对象,从而能指导客户进一步进行问题处理。43.基于上述,在图1所示的应用场景中,计算机设备x针对预定义的至少一种异常问题,根据异常问题对应的数据类别,从数据库系统运行产生的数据中,获取分析对应异常问题所需的全部数据中的目标部分数据,作为待处理数据,并根据异常问题对应的数据分析逻辑,对对应的待处理数据进行处理,以确定数据库系统中存在异常问题的疑似对象。44.由于本技术实施例中是通过轻量化的数据采集以及轻量化的数据处理来实现对数据库系统的分析,对计算资源的消耗均较小,因此一个实施例中,数据处理系统12中的采集模块121和处理模块122可以部署在同一计算机设备,即获取分析对应异常问题所需的目标部分数据具体可以包括采集分析对应异常问题所需的目标部分数据,使得数据处理系统12与数据库系统11可以位于同一网络环境中,从而使得数据处理系统12不但可以为部署在公有云上的数据库系统提供分析服务,还可以为部署在网络隔离的专有云上的数据库系统提供分析服务。45.进一步的,由于数据采集以及数据处理对于计算资源的消耗均较小,因此对于运行数据处理系统12对应代码的数据库实例的资源规格要求较低,从而使得能够在资源规格较小的数据库实例中运行,扩大的适用的实例范围,满足不同资源规格实例的需求。46.另一个实施例中,数据处理系统12中的采集模块121和处理模块122可以部署在不同的计算机设备,即获取分析对应异常问题所需的目标部分数据具体可以包括接收其他设备采集并发送的分析对应异常问题所需的目标部分数据。47.需要说明的是,以下主要以由计算机设备x进行数据采集为例进具体说明。48.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。49.图2为本技术一实施例提供的数据处理方法的流程示意图,如图2所示,本实施例的方法可以包括:50.步骤21,针对预定义的至少一种异常问题,根据所述异常问题对应的数据类别,从数据库系统运行产生的数据中,获取分析对应异常问题所需的全部数据中的目标部分数据,作为待处理数据;51.步骤22,根据所述异常问题对应的数据分析逻辑,对对应的待处理数据进行处理,以确定所述数据库系统中存在所述异常问题的疑似对象。52.本技术实施例中,所述目标部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度大的疑似对象,所述全部数据中的其他部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度小的疑似对象。即,目标部分数据能够用于确定对数据库系统运行的影响程度较大的疑似对象,其他部分数据能够用于确定对数据库系统运行的影响程度较小疑似对象。53.考虑到从客户使用数据库系统的角度,客户比较关注数据库系统的运行情况,因此本技术实施例中在对数据库系统进行分析时,分析目的可以为需要确定出对数据库系统运行影响较大的疑似对象,而不关心对数据库系统运行影响较小的疑似对象。基于此,虽然其他部分数据也能够用于确定存在异常问题的疑似对象,但是从需要确定出对数据库系统运行影响较大的疑似对象的目的出发,由于其他部分数据能够用于确定的疑似对象对数据库系统运行的影响程度较小,因此可以仅对全部数据中的目标部分数据进行数据采集,而不对其他部分数据进行数据采集,实现了轻量化的数据采集,并由此实现了轻量化的数据处理。54.所述至少一种问题可以根据需要灵活定义。本技术发明人从客户使用数据库系统的角度出发,提出了客户侧异常问题这一个概念,并提出了客户侧异常问题包括三种异常问题,分别为请求热点问题、流量异常增长问题以及大查询请求问题,这三种异常问题基本能覆盖到生产环境下,数据库系统客户异常使用的各类场景。55.其中,请求热点问题,是指由于主键设计不合理,导致数据读写存在严重倾斜,例如读或者写集中在表的某一分片(region),将数据库分布式的能力退化成单节点形态。56.流量异常增长(abnormalflow)问题,是指由于表流量的异常增长,导致超出数据库系统整体的处理能力。57.大查询请求(bigcall)问题,是指由于表查询方式不合理,导致单次查询请求扫描大量底层存储数据块,消耗大量的计算资源以及输入输出资源,影响单机的请求处理吞吐。58.一个实施例中,所述至少一种异常问题可以包括请求热点问题、流量异常增长问题或大查询请求问题中的一种或多种。59.其中,请求热点问题对应的数据类别具体是指分析请求热点问题所需的数据类别。一个实施例中,请求热点问题对应的数据类别可以包括分片流量数据类别,即可以根据分片流量数据分析请求热点问题。其中,分片(region)与表的关系为:一张表是由多个分片组成,每个分片存储表的部分记录,所有分片的记录一起共同组成表。60.本技术实施例中,可以通过获取分片流量较高的分片的流量数据的方式,即头部分片流量获取方式,实现获取分析请求热点问题所需的全部数据中的目标部分数据,以得到请求热点问题对应的待处理数据。61.示例性的,可以周期性的进行头部分片流量获取,基于此,步骤21具体可以包括:从所述数据库系统运行产生的分片流量数据中,周期性获取满足预设要求的多张表中的每张表内,流量排名靠前的多个分片的分片流量数据,作为所述请求热点问题对应的待处理数据,所述满足预设要求的多张表包括表流量排名靠前的多张表。其中,表的流量具体可以是针对表的读写请求的请求量,分片的流量具体是指针对分片的读写请求的请求量。62.需要说明的是,在由图1中的计算机设备x进行数据采集时,步骤21例如可以包括:周期性采集满足预设要求的多张表中的每张表内,流量排名靠前的多个分片的分片流量数据,作为所述请求热点问题对应的待处理数据。63.可选的,可以采用快照方式进行头部分片流量采集,即可以采用头部快照方式,采集分析请求热点问题所需的部分分片流量数据,以得到请求热点问题对应的待处理数据。64.一个实施例中,在单次快照中,可以记录流量排名前ftntable的表中流量排名前ftnregion分片的分片流量数据。以下定义ti为第i张表,ri,j为表ti的第j个分片。65.举例1,假设数据库系统中有表t1,t2,t3,t4,……,tm,ti中包含分片ri,1,ri,2,ri,3,……ri,n,tk时刻表流量关系t1>t2>t3>t4>……tm,tk时刻ti表的分片流量关系为ri,1>ri,2>ri,3>……ri,n,则可以采用头部快照方式,在tk时刻快照选择记录流量排名靠前ftntable的表中,流量排名靠前ftnregion分片的分片流量数据,其中ftntable小于m,ftnregion小于n,tk时刻进行头部快照所采集的请求热点问题对应的待处理数据可以包含:[0066][0067][0068][0069]……[0070][0071]进一步的,假设ftntable等于p,ftnregion等于q,其中p小于m,q小于n,则如图3所示,tk时刻快照中可以记录表t1至表tm中的灰色填充的t1至tp中,灰色填充的分片r1,1至r1,q的分片流量数据,灰色填充的分片r2,1至r2,q的分片流量数据,……,以及灰色填充的分片rp,1至rp,q的分片流量数据,而不记录白色填充的分片r1,q 1至r1,n的分片流量数据,白色填充的分片r2,q 1至r2,n的分片流量数据,……,以及白色填充的分片rp,q 1至rp,n的分片流量数据,也不记录白色填充的tp 1至tm中分片的分片流量数据。另外,需要说明的是,图4中的t1时刻快照、t2时刻快照、t3时刻快照,……,可以理解为tk时刻之前时刻的快照。其中,tk时刻快照例如可以采用如下表1所示的方式记录数据。[0072]表1[0073]t1r1,1的分量流量数据r1,2的分量流量数据……r1,q的分量流量数据t2r2,1的分量流量数据r2,2的分量流量数据……r2,q的分量流量数据…………………………tprp,1的分量流量数据rp,2的分量流量数据……rp,q的分量流量数据[0074]可选的,满足预设要求的多张表还可以包括所述数据库系统的每个数据节点中流量排名靠前的分片对应的表。考虑到可能存在请求流量分布不合理,导致虽然某个表的表流量没有在前ftntable中,但是该表中的某个分片访问存在严重倾斜产生分片热点,出现该分片无法被在前ftntable中被识别的情况,通过预设满足要求的多张表还包括每个数据节点中流量排名靠前的分片对应的表,能够识别表的流量未在ftntable,但是表中分片访问存在严重倾斜前的情况,有利于提高准确性。[0075]可以理解的是,数据节点中流量排名靠前的分片对应的表,与前述表流量排名靠前的表可能重复,也可能不重复,针对重复的表,其表内流量排名靠前的多个分片的分片流量数据可以只获取一份。[0076]例如,在举例1的基础上,假设对于数据库系统中的第r个存储节点hr,存在分片ra,m,rb,n,rt,p,……,ru,q,且tk时刻的分片流量关系为:ra,m>rb,n>rt,p>……ru,q,则tk时刻快照还可以选择记录节点hr中分片流量排名靠前的例如3个分片对应的表ta,tb,tt中,流量排名靠前的ftnregion个分片的分片流量数据。由此,tk时刻进行头部快照所采集的请求热点问题对应的待处理数据可以包含:[0077][0078][0079][0080]……[0081][0082]……[0083][0084][0085][0086]……[0087]可以理解的是,ta、tb、tc与t1至不重复。[0088]本技术实施例中,在从数据库系统运行产生的数据中,获取到分析请求热点问题所需的待处理数据之后,可以根据请求热点问题对应的数据分析逻辑,对请求热点问题对应的待处理数据进行处理,以确定所述数据库系统中存在请求热点问题的疑似对象。[0089]示例性的,可以通过对表内分片的流量数据进行均衡度分析的方式,实现对请求热点问题对应的待处理数据进行处理,即请求热点问题对应的数据分析逻辑具体可以为通过对表内分片的流量数据进行均衡度分析以确定疑似对象的分析逻辑。一个实施例中,步骤22具体可以包括:根据每次获取到的每张表内流量排名靠前的多个分片的分片流量数据,对每张表内的分片流量数据进行均衡度分析,确定每张表的分片流量均衡度;以及,根据每张表的分片流量均衡度,确定存在所述请求热点问题的疑似热点表及对应的疑似热点分片。需要说明的是,对于均衡度分析的具体方式,本技术不做限定。[0090]示例性的,针对每张表的分片流量均衡度,如果某张表的分片流量均衡度小于均衡度阈值,则可以将该表确定为疑似热点表,进一步的还可以将该表中分片流量热度排名靠前的至少一个分片确定为对应的疑似热点分片。[0091]例如,假设表t2的分片r2,1的分量流量数据为1000,分片r2,2的分量流量数据980,其余分片的分片流量数据为10以内,则通过对t2中分片的流量均衡度进行分析,可以确定流量集中在了r2,1和r2,2中,从而可以确定表t2为疑似热点表,t2的分片r2,1和r2,2为对应的疑似热点分片。[0092]又例如,假设表t3的分片r3,1的分量流量数据为1000,其余分片的分片流量数据为10以内,则通过对t3中分片的流量均衡度进行分析,可以确定流量集中在了r3,1中,从而可以确定表t3为疑似热点表,t3的分片r3,1为对应的疑似热点分片。[0093]通过该方法,能够确定疑似热点表以及表内疑似热点分片,同时还能有效降低数据采集复杂度以及数据的存储量,降低热点计算识别的资源开销。[0094]本技术实施例中,流量异常增长问题对应的数据类别具体是指分析流量异常增长问题所需的数据类别。一个实施例中,流量异常增长问题对应的数据类别可以包括系统负载类别 表流量数据类别,即可以根据系统负载以及表流量分析流量异常增长问题。其中,负载可以是指cpu负载。[0095]本技术实施例中,可以通过获取表流量较高的表的流量数据的方式,即头部表流量获取方式,获取分析流量异常增长问题所需的部分表流量数据,以得到流量异常增长问题对应的待处理数据。[0096]示例性的,可以周期性的进行头部表流量获取,基于此,步骤21具体可以包括:从所述数据库系统运行产生的表流量数据以及系统负载中,周期性获取所述数据库系统的系统负载以及流量排名靠前的多张表中每张表的表流量数据,作为所述流量异常增长问题对应的待处理数据。其中,表的流量具体可以是针对表的读写请求的请求量。[0097]需要说明的是,在由图1中的计算机设备x进行数据采集时,步骤21例如可以包括:从所述数据库系统运行产生的表流量数据以及系统负载中,周期性采集所述数据库系统的系统负载以及流量排名靠前的多张表中每张表的表流量数据,作为所述流量异常增长问题对应的待处理数据。[0098]可选的,可以采用快照方式进行头部表流量采集,即可以采用头部快照方式,采集分析流量异常增长问题所需的部分表流量数据,以得到流量异常增长问题对应的待处理数据。[0099]一个实施例中,在单次快照中,可以记录流量排名前多个表的表流量数据以及系统负载。以下定义ti为第i张表,lk为数据库系统在tk时刻的系统负载。举例2,假设数据库系统中有表t1、t2、t3、……、tp、……、tq……,tm,如果t1时刻表流量关系为t1>t2>t3>……>tp……>tq……>tm,则如图4所示,t1时刻快照可以记录表t1至tm中,t1、t2、t3、……、tp、……和tq的表流量数据,以及t1时刻的系统负载l1。如果t2时刻和t3时刻的表流量关系也为t1>t2>t3>……>tp……>tq……>tm,则如图4所示,t2时刻快照可以记录表t1至tm中,t1、t2、t3、……、tp、……和tq的表流量数据,以及t2时刻的系统负载l2,t3时刻快照也可以记录表t1至tm中,t1、t2、t3、……、tp、……和tq的表流量数据,以及t3时刻的系统负载l3。如果tk时刻表流量关系均为tp>t1>t2>……>tk……>tq……>tm,则如图4所示,tk时刻快照可以记录表t1至tm中,tq、t1、t2、……、tk、……和tq的表流量数据,以及tk时刻的系统负载lk。[0100]本技术实施例中,在从数据库系统运行产生的数据中,获取到分析流量异常增长问题所需的待处理数据之后,可以根据流量异常增长问题对应的数据分析逻辑,对流量异常增长问题对应的待处理数据进行处理,以确定所述数据库系统中存在流量异常增长问题的疑似对象。[0101]示例性的,可以通过系统负载的异常触发对表流量进一步分析的方式,实现对流量异常增长问题对应的待处理数据进行处理,即流量异常增长问题对应的数据分析逻辑具体可以为通过系统负载的异常触发对表流量进一步分析的分析逻辑。一个实施例中,可以定义数据库系统的安全负载(safetyloadvalue),用于描述数据库系统安全的负载水位阈值。步骤22具体可以包括:确定每次获取到的所述系统负载是否大于负载阈值,并在某次获取的所述系统负载大于所述负载阈值时,根据该次获取及之前多次获取的流量排名靠前的多张表中每张表的表流量,确定存在所述流量异常增长问题的疑似异常增长表。[0102]例如,如图4所示,假设tk时刻系统负载lk大于负载阈值,则可以根据tk时刻快照的表流量以及tk时刻之前时刻(例如t1时刻至tk‑1时刻)快照的表流量,确定疑似异常增长表。具体的,可以根据表ti(i等于1、2、3、……、p、……q)在t1时刻至tk时刻的表流量,分析表ti是否为表流量存在非预期增长的流量异常增长表。图4中,通过对(tp,1,tp,2,tp,3,…tp,n)进行分析,可以确定图4中灰色填充的表tp为存在流量异常增长问题的疑似异常增长表,其中,tp,1表示t1时刻tp的表流量,tp,2表示t2时刻tp的表流量,tp,3表示t3时刻tp的表流量,tp,n表示tn时刻tp的表流量。[0103]通过该方法,能够在较少计算的基础上,通过数据库系统的系统负载反馈触发对于表流量的进一步分析,快速确定流量异常增长的表。[0104]本技术实施例中,大查询请求问题对应的数据类别具体是指分析大查询请求问题所需的数据类别。一个实施例中,可以在日志中记录单次查询请求扫描的底层数据块数量,大查询请求问题对应的数据类别可以包括日志数据类别,即可以根据日志数据分析大查询请求问题。[0105]本技术实施例中,考虑到大查询请求问题如果存在的话,是会持续存在的,因此可以通过获取最近一段时间内扫描块数量大于数量阈值的查询记录的方式,实现获取分析大查询请求问题所需的全部数据中的目标部分数据。[0106]示例性的,可以周期性的进行最近一段时间内扫描块数量大于数量阈值的查询记录的获取,基于此,步骤21具体可以包括:从所述数据库系统运行产生的日志数据中,周期性获取最近一段时间内扫描块数量大于数量阈值的目标查询记录,作为所述大查询请求问题对应的待处理数据。[0107]需要说明的是,在由图1中的计算机设备x进行数据采集时,步骤21例如可以包括:从所述数据库系统运行产生的日志数据中,周期性采集最近一段时间内扫描块数量大于数量阈值的目标查询记录,作为所述大查询请求问题对应的待处理数据。[0108]例如,如图5所示,日志中可以记录有t1时刻至当前时刻的日志记录项(logrecorditem),图5中灰色填充表示的日志记录项表示最近一段时间内(即,tm时刻至当前时刻)的日志记录项。[0109]可以理解的是,扫描数据块数量大于数量阈值的查询请求可以认为是扫描的数据块数量较多的查询请求。从图5所示的tm至当前时刻的日志记录项中过滤出的目标查询记录例如可以为:[0110]tmbigcallwhohasreadxxxblocks,table=t1dml=select*fromt1wherexxx[0111]……[0112]tnbigcallwhohasreadxxxblocks,table=t1dml=select*fromt1wherexxx[0113]……[0114]假设图5中[t1,tn)时间段,表tx的扫描数据块数量较多的查询请求的次数为cu,扫描数据块数量较多的查询请求的速率为su,[tm,tn)时间段,表tx的扫描数据块数量较多的查询请求的次数为cv,扫描数据块数量较多的查询请求的速率为sv,则在流量稳定的场景,可以得到cu>cv,与此同时su≈sv。基于此理论分析,可以看出,随着时间的推移,扫描数据块数量较多的查询请求的累加次数会不断增加,且在流量稳定场景下扫描数据块数量较多的查询请求的速率基本不变,扫描数据块数量较多的情况是持续存在,日志数据中最近一段时间内的目标查询记录可以作为分析大查询请求问题所需的待处理数据。[0115]本技术实施例中,在从数据库系统运行产生的数据中,获取到分析大查询请求问题所需的待处理数据之后,可以根据大查询请求问题对应的数据分析逻辑,对大查询请求问题对应的待处理数据进行处理,以确定所述数据库系统中存在大查询请求问题的疑似对象。一个实施例中,步骤22具体可以包括:根据所述最近一段时间内的所述目标查询记录,确定所述数据库系统中存在所述大查询请求问题的疑似大查询请求表及对应的大查询请求语句。[0116]可选的,可以根据目标查询记录中扫描数据块数量较多的查询请求的次数以及速率,来确定存在大查询请求问题的疑似对象。一个实施例中,所述根据所述最近一段时间内的所述目标查询记录,确定所述数据库系统中存在所述大查询请求问题的疑似大查询请求表及对应的大查询请求语句,具体可以包括:计算所述最近一段时间内的所述目标查询记录所涉及的每张表的查询请求次数和查询请求速率;以及,将查询请求次数大于次数阈值且查询请求速率大于速率阈值的表,确定为存在所述大查询请求问题的疑似大查询请求表,并将所述目标查询记录中的用于查询所述疑似大查询请求表所对应的查询语句中,扫描数据块数量排名靠前的至少一个查询语句作为所述疑似大查询请求表对应的大查询请求语句。[0117]例如,可以计算图5中t1的查询请求次数和查询请求速率,并将计算得到的t1的查询请求次数和查询请求速率以及t1对应的查询语句,记录在图5中t1对应的一行;可以计算图5中t2的查询请求次数和查询请求速率,还可以将计算得到的t2的查询请求次数和查询请求速率以及t2对应的查询语句记录在图5中t2对应的一行中;……;还可以计算图5中tp的查询请求次数和查询请求速率,还可以将计算得到的tp的查询请求次数和查询请求速率以及tp对应的大查询语句记录在图5中tp对应的一行中。假设t1和t2的查询请求次数均大于次数阈值,且t1和t2的查询请求速率均大于速率阈值,则可以确定t1和t2为疑似大查询请求表,使用图5中灰色填充表示。[0118]通过该方法,使用少量的日志进行轻量化的分析,能够确定存在大查询请求问题的大查询请求表及对应的大查询请求语句,并且不依赖重量的日志采集、清洗、存储服务,达到轻量化处理的效果。[0119]本技术实施例中,在确定所述数据库系统中存在所述异常问题的疑似对象之后,进一步的还可以标注存在所述异常问题的疑似对象,以便于客户能够直观的获知所述疑似对象。[0120]本技术实施例提供的数据处理方法,通过从数据库的客户角度,预定义了与客户侧异常对应的至少一种异常问题,异常问题存在对应的数据类别以及数据分析逻辑,根据数据类别从数据库系统运行产生的数据中获取分析对应异常问题所需的目标部分数据作为待处理数据,并根据数据分析逻辑对对应的待处理数据进行处理,以确定数据库系统中存在异常问题的疑似对象,实现了轻量化的数据采集以及轻量化的数据处理,从而能够节省计算资源。[0121]图6为本技术一实施例提供的数据处理装置的结构示意图;参考附图6所示,本实施例提供了一种数据处理装置,该装置可以执行上述方法实施例所述的方法,具体的,该装置可以包括:[0122]获取模块61,用于针对预定义的至少一种异常问题,根据所述异常问题对应的数据类别,从数据库系统运行产生的数据中,获取分析对应异常问题所需的全部数据中的目标部分数据,作为待处理数据;所述目标部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度大的疑似对象,所述全部数据中的其他部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度小的疑似对象;[0123]处理模块62,用于根据所述异常问题对应的数据分析逻辑,对对应的待处理数据进行处理,以确定所述数据库系统中存在所述异常问题的疑似对象。[0124]可选的,所述至少一种异常问题包括下述中的一种或多种:请求热点问题、流量异常增长问题或大查询请求问题。[0125]可选的,所述获取模块61具体用于:从所述数据库系统运行产生的分片流量数据中,周期性获取满足预设要求的多张表中的每张表内,流量排名靠前的多个分片的分片流量数据,作为所述请求热点问题对应的待处理数据,所述满足预设要求的多张表包括表流量排名靠前的多张表。[0126]可选的,所述处理模块62具体用于:根据每次获取到的每张表内流量排名靠前的多个分片的分片流量数据,对每张表内的分片流量进行均衡度分析,确定每张表的分片流量均衡度;以及,根据每张表的分片流量均衡度,确定存在所述请求热点问题的疑似热点表及对应的疑似热点分片。[0127]可选的,所述获取模块61具体用于:从所述数据库系统运行产生的表流量数据以及系统负载中,周期性获取所述数据库系统的系统负载以及流量排名靠前的多张表中每张表的表流量数据,作为所述流量异常增长问题对应的待处理数据。[0128]可选的,所述处理模块62具体用于:确定每次获取到的所述系统负载是否大于负载阈值,并在某次获取的所述系统负载大于所述负载阈值时,根据该次获取及之前多次获取的流量排名靠前的多张表中每张表的表流量,确定存在所述流量异常增长问题的疑似异常增长表。[0129]可选的,所述获取模块61具体用于:从所述数据库系统运行产生的日志数据中,周期性获取最近一段时间内扫描块数量大于数量阈值的目标查询记录,作为所述大查询请求问题对应的待处理数据。[0130]可选的,所述处理模块62具体用于:根据所述最近一段时间内的所述目标查询记录,确定所述数据库系统中存在所述大查询请求问题的疑似大查询请求表及对应的疑似大查询请求语句。[0131]可选的,所述处理模块62用于根据所述最近一段时间内的所述目标查询记录,确定所述数据库系统中存在所述大查询请求问题的疑似大查询请求表及对应的疑似大查询请求语句,具体包括:计算所述最近一段时间内,所述目标查询记录所涉及的每张表的查询请求次数和查询请求速率;以及,将查询请求次数大于次数阈值且查询请求速率大于速率阈值的表,确定为存在所述大查询请求问题的疑似大查询请求表,并将所述目标查询记录中的用于查询所述疑似大查询请求表所对应的查询语句中,扫描数据块数量排名靠前的至少一个查询语句确定为所述疑似大查询请求表对应的大查询请求语句。[0132]可选的,所述处理模块62还用于标注存在所述异常问题的疑似对象。[0133]图6所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。[0134]在一个可能的实现中,图6所示装置的结构可实现为一计算机设备。如图7所示,该计算机设备可以包括:处理器71和存储器72。其中,存储器72用于存储支持计算机设备执行上述图2所示实施例中提供的方法的程序,处理器71被配置为用于执行存储器72中存储的程序。[0135]程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器71执行时能够实现如下步骤:[0136]针对预定义的至少一种异常问题,根据所述异常问题对应的数据类别,从数据库系统运行产生的数据中,获取分析对应异常问题所需的全部数据中的目标部分数据,作为待处理数据;所述目标部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度大的疑似对象,所述全部数据中的其他部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度小的疑似对象;[0137]根据所述异常问题对应的数据分析逻辑,对对应的待处理数据进行处理,以确定所述数据库系统中存在所述异常问题的疑似对象。[0138]可选地,处理器71还用于执行前述图2所示实施例中的全部或部分步骤。[0139]其中,计算机设备的结构中还可以包括通信接口73,用于计算机设备与其他设备或通信网络通信。[0140]本技术实施例还提供一种如图1所示的数据处理系统12,其中,采集模块121,用于针对预定义的至少一种异常问题,根据所述异常问题对应的数据类别,从数据库系统运行产生的数据中,采集分析对应异常问题所需的全部数据中的目标部分数据,作为待处理数据;所述目标部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度大的疑似对象,所述全部数据中的其他部分数据能够用于确定存在所述异常问题且对所述数据库系统运行的影响程度小的疑似对象;处理模块122,用于根据所述异常问题对应的数据分析逻辑,对对应的待处理数据进行处理,以确定所述数据库系统中存在所述异常问题的疑似对象。[0141]可选的,所述采集模块121具体用于:从所述数据库系统运行产生的分片流量数据中,周期性采集满足预设要求的多张表中的每张表内,流量排名靠前的多个分片的分片流量数据,作为所述请求热点问题对应的待处理数据,所述满足预设要求的多张表包括表流量排名靠前的多张表。[0142]可选的,所述处理模块122具体用于:根据每次采集到的每张表内流量排名靠前的多个分片的分片流量数据,对每张表内的分片流量进行均衡度分析,确定每张表的分片流量均衡度;以及,根据每张表的分片流量均衡度,确定存在所述请求热点问题的疑似热点表及对应的疑似热点分片。[0143]可选的,所述采集模块121具体用于:从所述数据库系统运行产生的表流量数据以及系统负载中,周期性采集所述数据库系统的系统负载以及流量排名靠前的多张表中每张表的表流量数据,作为所述流量异常增长问题对应的待处理数据。[0144]可选的,所述处理模块122具体用于:确定每次采集到的所述系统负载是否大于负载阈值,并在某次采集的所述系统负载大于所述负载阈值时,根据该次采集及之前多次采集的流量排名靠前的多张表中每张表的表流量,确定存在所述流量异常增长问题的疑似异常增长表。[0145]可选的,所述采集模块121具体用于:从所述数据库系统运行产生的日志数据中,周期性采集最近一段时间内扫描块数量大于数量阈值的目标查询记录,作为所述大查询请求问题对应的待处理数据。[0146]可选的,所述处理模块122具体用于:根据所述最近一段时间内的所述目标查询记录,确定所述数据库系统中存在所述大查询请求问题的疑似大查询请求表及对应的疑似大查询请求语句。[0147]可选的,所述处理模块122用于根据所述最近一段时间内的所述目标查询记录,确定所述数据库系统中存在所述大查询请求问题的疑似大查询请求表及对应的疑似大查询请求语句,具体包括:计算所述最近一段时间内,所述目标查询记录所涉及的每张表的查询请求次数和查询请求速率;以及,将查询请求次数大于次数阈值且查询请求速率大于速率阈值的表,确定为存在所述大查询请求问题的疑似大查询请求表,并将所述目标查询记录中的用于查询所述疑似大查询请求表所对应的查询语句中,扫描数据块数量排名靠前的至少一个查询语句确定为所述疑似大查询请求表对应的大查询请求语句。[0148]可选的,所述处理模块122还用于标注存在所述异常问题的疑似对象。[0149]另外,本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如图2所示方法实施例所述的方法。[0150]本技术实施例还提供一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,实现如图2所示方法实施例所述的方法。[0151]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。[0152]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd‑rom、光学存储器等)上实施的计算机程序产品的形式。[0153]本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0154]这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0155]这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0156]在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。[0157]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。[0158]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、链表、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd‑rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0159]最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献