CN111897707A - 业务***的优化方法和装置、计算机***和存储介质 - Google Patents
业务***的优化方法和装置、计算机***和存储介质 Download PDFInfo
- Publication number
- CN111897707A CN111897707A CN202010689223.9A CN202010689223A CN111897707A CN 111897707 A CN111897707 A CN 111897707A CN 202010689223 A CN202010689223 A CN 202010689223A CN 111897707 A CN111897707 A CN 111897707A
- Authority
- CN
- China
- Prior art keywords
- job
- performance index
- target operation
- target
- model
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000003860 storage Methods 0.000 title claims abstract description 26
- 238000013515 script Methods 0.000 claims abstract description 52
- 238000005457 optimization Methods 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims abstract description 25
- 230000003993 interaction Effects 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 10
- 238000004140 cleaning Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 description 23
- 238000011161 development Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008676 import Effects 0.000 description 6
- 238000013508 migration Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 6
- 238000013075 data extraction Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/875—Monitoring of systems including the internet
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种业务***的优化方法,包括:根据业务***中目标作业的业务逻辑、用于实现业务逻辑的脚本代码以及在实现业务逻辑的过程中需要交互的集群信息,获取目标作业的多个维度的性能指标,其中,每个维度的性能指标包括多个特征变量;将目标作业的多个维度的性能指标输入到预先构建的模型中,以通过模型输出与目标作业对应的性能指数和多个特征变量的贡献度排名;以及根据与目标作业对应的性能指数和多个特征变量的贡献度排名,调整目标作业,以优化业务***。本公开提供了一种业务***的优化装置、计算机***和存储介质。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种业务***的优化方法和装置、计算机***和存储介质。
背景技术
随着计算机和互联网的快速发展,各行业的业务场景越来越复杂。用于实现各种业务场景功能的业务***的数据量也不断增长。为了保证业务***的可靠运行,可以根据业务***在运行过程中出现的性能问题对业务***进行整改,以提高业务***可靠性。
目前,一般可以搭建独立的性能预警平台,利用该性能预警平台对业务***中的业务数据进行测试,以期发现***运行过程中可能出现的性能隐患。
在实现本公开构思的过程中,发明人发现利用独立的性能预警平台往往是对已经运行的***进行性能测试。针对业务***在生产环境中部署的早期阶段,尤其是业务***的开发阶段,无法进行性能测试,不能及早发现业务***可能存在的性能隐患,导致***的可靠性降低。
发明内容
有鉴于此,本公开提供了一种业务***的优化方法和装置、计算机***和存储介质。
本公开的一个方面提供了一种业务***的优化方法,包括:根据业务***中目标作业的业务逻辑、用于实现所述业务逻辑的脚本代码以及在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的多个维度的性能指标,其中,每个维度的性能指标包括多个特征变量;将所述目标作业的多个维度的性能指标输入到预先构建的模型中,以通过所述模型输出与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名;以及根据与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名,调整所述目标作业,以优化所述业务***。
根据本公开的实施例,根据业务***中目标作业的业务逻辑、用于实现所述业务逻辑的脚本代码以及在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的多个维度的性能指标包括:根据所述目标作业的业务逻辑,获取所述目标作业的第一维度的性能指标,其中,所述第一维度的性能指标包括所述目标作业所属于的逻辑层、所述目标作业加载数据的算法类型、同一时刻与所述目标作业同时运行的作业数量以及所述目标作业所属于的目标作业组的编号;根据用于实现所述业务逻辑的脚本代码,获取所述目标作业的第二维度的性能指标,其中,所述第二维度的性能指标包括所述脚本代码中的关键字的出现次数以及生成的临时表的数量,所述关键字包括用于实现选择操作的脚本、用于表征选择条件的脚本、用于实现分组操作的脚本、用于实现统计信息收集操作的脚本以及用于实现表关联操作的脚本;以及根据在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的第三维度的性能指标,其中,所述第三维度的性能指标包括用于为所述业务***提供数据来源的源表的大小、所述目标作业生成的落地表是否为索引表、所述落地表是否为日志表、所述落地表中主键的数量、所述落地表是否包括触发器、所述落地表是否允许迁移、所述集群中节点的个数、所述集群中节点间的通信带宽、所述落地表分布式存储于所述集群的哈希方式以及相同落地表对应的文件在所述集群中的存储份数。
根据本公开的实施例,将所述目标作业的多个维度的性能指标输入到预先构建的模型中,以通过所述模型输出与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名包括:对每个维度的性能指标包括的多个特征变量进行数据清洗,得到规范化的特征变量;对所述规范化的特征变量进行编码,得到编码后的特征变量;将所述编码后的特征变量输入到所述模型中,以通过所述模型输出与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名。
根据本公开的实施例,所述性能指数包括运行时长;根据与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名,调整所述目标作业,以优化所述业务***包括:确定与所述目标作业对应的运行时长是否大于预设阈值;在确定与所述目标作业对应的运行时长大于所述预设阈值的情况下,根据与所述目标作业对应的多个所述特征变量的贡献度排名,调整所述目标作业,以优化所述业务***。
根据本公开的实施例,该方法还包括预先训练得到所述模型,其中,训练过程包括:确定多个已经运行的作业;针对每个已经运行的作业,获取所述作业的多个维度的性能指标以及所述作业在预设时间段内的历史运行时长;根据所述作业的多个维度的性能指标以及所述作业在预设时间段内的历史运行时长,训练初始模型,以得到所述模型。
根据本公开的实施例,根据所述作业的多个维度的性能指标以及所述作业在预设时间段内的历史运行时长,训练初始模型包括:为与每个所述特征变量关联的模型参数设置初始值,其中,所述模型参数的值用于表征所述特征变量的贡献度;以及以所述多个特征变量为样本,以每个作业在预设时间段内的历史运行时长为标签,训练所述初始模型,得到所述模型。
本公开的另一个方面提供了一种业务***的优化装置,包括:第一获取模块,用于根据业务***中目标作业的业务逻辑、用于实现所述业务逻辑的脚本代码以及在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的多个维度的性能指标,其中,每个维度的性能指标包括多个特征变量;输出模块,用于将所述目标作业的多个维度的性能指标输入到预先构建的模型中,以通过所述模型输出与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名;以及优化模块,用于根据与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名,调整所述目标作业,以优化所述业务***。
根据本公开的实施例,所述第一获取模块包括:第一获取单元,用于根据所述目标作业的业务逻辑,获取所述目标作业的第一维度的性能指标,其中,所述第一维度的性能指标包括所述目标作业所属于的逻辑层、所述目标作业加载数据的算法类型、同一时刻与所述目标作业并发的作业数量以及所述目标作业所属于的目标作业组的编号;第二获取单元,用于根据用于实现所述业务逻辑的脚本代码,获取所述目标作业的第二维度的性能指标,其中,所述第二维度的性能指标包括所述脚本代码中的关键字的出现次数以及生成的临时表的数量,所述关键字包括用于实现选择操作的脚本、用于表征选择条件的脚本、用于实现分组操作的脚本、用于实现统计信息收集操作的脚本以及用于实现数据表关联操作的脚本;以及第三获取单元,用于根据在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的第三维度的性能指标,其中,所述第三维度的性能指标包括用于为所述业务***提供数据来源的源表的大小、所述目标作业生成的落地表是否为索引表、所述落地表是否为日志表、所述落地表中主键的数量、所述落地表是否包括触发器、所述落地表是否允许迁移、所述集群中节点个数、所述集群中节点间的通信带宽、所述落地表分布式存储于所述集群的哈希方式以及相同落地表对应的文件在所述集群中的存储份数。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机***,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
根据本公开的实施例,采用了根据业务***中目标作业的业务逻辑、用于实现业务逻辑的脚本代码以及在实现业务逻辑的过程中需要交互的集群信息,获取目标作业的多个维度的性能指标,将每个维度的性能指标中的多个特征向量输入到模型中,使模型输出与该目标作业对应的性能指数和特征变量的贡献度排名,以根据性能指数和特征变量的贡献度排名调整该作业,从而优化业务***的技术手段。由于上述指标均可以在开发阶段获取,将这些指标输入到模型,根据模型输出作业的性能指数,能够在开发阶段实现作业的性能预警,所以至少部分地克服了相关技术中在测试阶段对已经运行的***进行性能预警造成的不能及早发现性能隐患最终导致***可靠性低的技术问题,进而达到了提高***可靠性的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了可以应用本公开实施例的业务***的优化方法和装置的示例性***架构;
图2示意性示出了根据本公开实施例的业务***的优化方法的流程图;
图3示意性示出了根据本公开实施例的根据与目标作业对应的性能指数和多个特征变量的贡献度排名调整目标作业的方法的流程图;
图4示意性示出了根据本公开实施例的获取目标作业的多个维度的性能指标的方法的流程图;
图5示意性示出了根据本公开实施例的通过模型输出与目标作业对应的性能指数和多个特征变量的贡献度排名的方法的流程图;
图6示意性示出了根据本公开实施例的预先训练得到模型的方法的流程图;
图7示意性示出了根据本公开实施例的训练初始模型的方法的流程图;
图8示意性示出了根据本公开的实施例的业务***的优化装置的框图;以及
图9示意性示出了根据本公开实施例的计算机***的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
本公开的实施例提供了一种业务***的优化方法,包括:根据业务***中目标作业的业务逻辑、用于实现业务逻辑的脚本代码以及在实现业务逻辑的过程中需要交互的集群信息,获取目标作业的多个维度的性能指标,其中,每个维度的性能指标包括多个特征变量;将目标作业的多个维度的性能指标输入到预先构建的模型中,以通过模型输出与目标作业对应的性能指数和多个特征变量的贡献度排名;以及根据与目标作业对应的性能指数和多个特征变量的贡献度排名,调整目标作业,以优化业务***。
图1示意性示出了可以应用本公开实施例的业务***的优化方法和装置的示例性***架构100。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
如图1所示,根据该实施例的***架构100可以包括电子设备101、服务器102和数据库集群103。
电子设备101可以运行多个业务***,多个业务***例如可以是个人客户关系业务***、对公业务***、财务会计业务***等等。每个业务***可以包括多个作业组,每个作业组可以包括多个作业。例如,业务***可以是个人客户关系***,业务***可以包括客户画像的作业组、个人星级管理的作业组等。其中,客户画像的作业组例如可以包括加载个人客户信息的作业、统计个人客户资产的作业等。个人星级管理的作业组可以包括更新个人客户星级的作业、下传个人客户星级的作业等,每一个作业都可以包含一段完整的业务逻辑。
每一个作业在运行时,都可以与服务器102和数据库集群103进行交互。其中,数据库集群103可以是承载业务数据的大数据集群,可以用于存储各种复杂业务场景下的业务数据,大数据应用场景下,海量数据的流转和存储一般可以通过ETL(Extract-Transform-Load,抽取-转换-加载)作业的方式在不同业务***间进行流转。
服务器102可以用于调度业务***所需要的数据资源。例如,业务***中作业的运行需要获取源表中的信息,服务器102可以从数据库集群103获取到源表,通过数据提取、信息收集等操作从源表中获取到业务相关的信息,然后可以将获取到的信息发送给电子设备101。电子设备101可以利用服务器102发送过来信息进行业务数据处理,电子设备101在进行业务数据处理的过程中,还可以生成与运行的业务作业所对应的落地表,该落地表保存的是与作业相关的数据,可以是实体表、日志表等。电子设备101还可以将生成的落地表发送到服务器102,服务器102可以将电子设备101发送与作业相关的落地表发送给数据库集群103中的多个节点,使得在多个集群节点分布式存储作业的业务数据。
需要说明的是,本公开实施例所提供的业务***的优化方法一般可以由服务器102执行。相应地,本公开实施例所提供的业务***的优化装置一般可以设置于服务器102中。本公开实施例所提供的业务***的优化方法也可以由不同于服务器102且能够与电子设备101和/或服务器102通信的服务器或服务器集群执行。相应地,本公开实施例所提供的业务***的优化装置也可以设置于不同于服务器102且能够与电子设备101和/或服务器102通信的服务器或服务器集群中。或者,本公开实施例所提供的业务***的优化方法也可以由电子设备101执行,或者也可以由不同于电子设备101的其他电子设备执行。相应地,本公开实施例所提供的业务***的优化装置也可以设置于电子设备101中,或设置于不同于电子设备101的其他电子设备中。
应该理解,图1中的电子设备、服务器、数据库集群以及数据库集群中节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的电子设备、服务器、数据库集群以及集群节点。
图2示意性示出了根据本公开实施例的业务***的优化方法的流程图。
如图2所示,该方法包括操作S201~S203。
在操作S201,根据业务***中目标作业的业务逻辑、用于实现业务逻辑的脚本代码以及在实现业务逻辑的过程中需要交互的集群信息,获取目标作业的多个维度的性能指标,其中,每个维度的性能指标包括多个特征变量。
根据本公开实施例,业务***的每个作业可以包含一条业务逻辑,例如,加载个人客户信息的作业需要导入客户信息表,统计个人客户资产的作业需要对导入的客户信息表按照存款主题打散,提取出客户存款字段的信息等等。每条业务逻辑可以用代码实现,在执行该代码以实现业务逻辑的过程中,需要与数据库集群进行交互。
根据本公开实施例,可以从作业的业务逻辑、实现业务逻辑的代码以及实现代码过程中交互到的数据库集群的信息这三个维度获取作业的性能指标,每个维度的性能指标还可以包括多个特征变量。
例如,从作业的业务逻辑这一维度获取到的性能指标可以包括作业所属于的作业组的编号、各作业组之间的先后处理次序等。从实现业务逻辑的代码这一维度获取到的性能指标可以包括代码中出现选择操作的次数、出现关联操作的次数等。从集群维度获取到的性能指标可以包括集群中节点个数、集群中节点间的通信带宽等等。
根据本公开实施例,上述性能指标均可以在业务研发阶段获取,也可以在测试阶段获取,因此本公开实施例可以应用于开发阶段的性能预警,能够及早发现业务***可能存在的性能风险。
在操作S202,将目标作业的多个维度的性能指标输入到预先构建的模型中,以通过模型输出与目标作业对应的性能指数和多个特征变量的贡献度排名。
根据本公开实施例,在作业的运行时长超过一定阈值时,该作业可能存在性能问题,因此,性能指数可以是运行时长。
根据本公开实施例,预先构建的模型可以是利用已经运行作业的历史运行数据训练得到的模型。该模型的输入可以是已经运行的作业的各个维度的性能指标,输出可以是该作业的运行时长。
根据本公开实施例,每个维度的性能指标可以包括多个特征变量,在将作业的多个特征变量作为输入时,可以对不同的特征变量设置不同权重,每个特征变量可以用于表征该特征变量的贡献度。因此,可以利用训练好的模型输出每个特征变量的贡献度,或者多个特征变量的贡献度排名。
根据本公开实施例,针对当前新开发出来的业务***中的作业,或者需要进行测试的作业,可以将该作业的多个维度的性能指标所包括的特征变量输入到训练好的模型中,使该模型输出该作业的运行时长,以及该作业的多个特征变量的贡献度排名。
在操作S203,根据与目标作业对应的性能指数和多个特征变量的贡献度排名,调整目标作业,以优化业务***。
图3示意性示出了根据本公开实施例的根据与目标作业对应的性能指数和多个特征变量的贡献度排名调整目标作业的方法的流程图。
如图3所示,操作S203包括包括操作S301~S302。
在操作S301,确定与目标作业对应的运行时长是否大于预设阈值。
在操作S302,在确定与目标作业对应的运行时长大于预设阈值的情况下,根据与目标作业对应的多个特征变量的贡献度排名,调整目标作业,以优化业务***。
根据本公开实施例,作业的运行时长阈值可以根据实际生产运行情况确定。例如,统计个人客户资产作业的运行时长阈值可以设置为2.5个小时,如果模型输出的统计个人客户资产作业的运行时长为3个小时,说明该作业可能存在性能问题。使得开发人员能够及早进行处理,避免作业投产后带来的业务风险,提高***可靠性。
根据本公开实施例,可以根据该作业的特征变量的贡献度排名,对该作业进行调整,例如,该作业的特征变量的贡献度排名中,代码相关指标中的连接操作次数的特征变量排名第一,可以建议开发人员关注脚本代码中关联操作的次数,以便开发人员更有针对性的进行修改,提高业务***优化效率。
根据本公开实施例,根据业务***中目标作业的业务逻辑、用于实现业务逻辑的脚本代码以及在实现业务逻辑的过程中需要交互的集群信息,获取目标作业的多个维度的性能指标,将每个维度的性能指标中的多个特征向量输入到模型中,使模型输出与该目标作业对应的性能指数和特征变量的贡献度排名,以根据性能指数和特征变量的贡献度排名调整该作业,从而优化业务***。由于上述指标可以在开发阶段获取,通过模型输出作业的性能指数,能够在开发阶段实现作业的性能预警,降低业务生产带来的风险。并且能够根据特征变量的贡献度排名给出整改建议,以便开发人员有针对性的进行修改,提高业务***优化效率。
图4示意性示出了根据本公开实施例的获取目标作业的多个维度的性能指标的方法的流程图。
如图4所示,操作S201包括操作S401~S403。
在操作S401,根据目标作业的业务逻辑,获取目标作业的第一维度的性能指标。
其中,第一维度的性能指标包括目标作业所属于的逻辑层、目标作业加载数据的算法类型、同一时刻与目标作业同时运行的作业数量、目标作业所属于的目标作业组的编号以及目标作业组与其他作业组之间的先后处理次序。
根据本公开实施例,目标作业的第一维度的性能指标可以从作业所在的逻辑层获取。其中,大数据ETL场景下,可以包括多个逻辑层,例如,文件导入层、数据提取层、记录汇总层、文件导出层、集市作业层等,其中文件导入层可以实现数据表的加载、导入。数据提取层可以按照协议主题、存款主题等将数据表打撒,提取出各主题的数据。记录汇总层可以将业务逻辑相关的信息进行收集,形成该作业业务相关的数据表。文件导出层可以将数据表导出,下传至用户设备等。集市作业层根据业务逻辑可以包括文件导入层、数据提取层、记录汇总层、文件导出层中的至少两种。
根据本公开实施例,不同逻辑层的作业均可能存在性能风险。例如:大文件在文件导入层可能存在性问题,复杂逻辑的集市作业层同样可能存在性能问题。作业所在逻辑层可以作为第一维度性能指标中的一个特征向量,该特征向量可以记为ETL_LAYER。
根据本公开实施例,作业加载数据的算法类型可以包括追加算法、覆盖算法、更新算法和历史拉链算法。其中,追加算法例如可以追加数据表,覆盖算法例如可以使用新的数据表覆盖原数据表,更新算法例如可以更新数据表,历史拉链算法例如可以保存数据表的历史状态信息,例如可以保存存款变动的历史状态。不同加载算法同样都可能存在性能风险,如追加算法常用于明细类的业务逻辑存储,极有可能出现大表,存在性能隐患。作业加载数据的算法类型作为第一维度性能指标的一个特征变量,可以记为ALGORITHM。
根据本公开实施例,业务***架构设计时,在同一时刻的作业并发量可以影响作业的性能。同一时刻与目标作业并发的作业数量作为第一维度性能指标的一个特征变量,可以记为CTRL_VALUE。
根据本公开实施例,业务***可以包括多个作业组,可以为每个作业组分配不同的编号,不同的作业组编号可以用于表征不同作业组之间存在的依赖关系或者先后顺序。目标作业所属于的目标作业组的编号作为第一维度性能指标的一个特征变量,可以记为JOBSSIONID。
根据本公开实施例,目标作业的第一维度的性能指标所包括的特征变量可以用如下表1表示。
表1
ETL_LAYER | ALGORITHM | CTRL_VALUE | JOBSSIONID | … |
文件导入层 | 追加算法 | 1 | 222 | … |
数据提取层 | 覆盖算法 | 2 | 333 | … |
记录汇总层 | 更新算法 | 3 | 111 | … |
集市作业层 | 历史拉链算法 | 4 | 444 | … |
文件导出层 | … | 5 | … | … |
… | … |
在操作S402,根据用于实现业务逻辑的脚本代码,获取目标作业的第二维度的性能指标。
其中,第二维度的性能指标包括脚本代码中的关键字的出现次数以及生成的临时表的数量,关键字包括用于实现选择操作的脚本、用于表征选择条件的脚本、用于实现分组操作的脚本、用于实现统计信息收集操作的脚本以及用于实现数据表关联操作的脚本。
根据本公开实施例,用于实现选择操作的脚本例如可以是SELECT,代码中SELECT的次数的多少可以影响作业性能。用于表征选择条件的脚本例如可以是WHERE,WHERE次数可以影响集群的执行任务。用于实现分组操作操作的脚本例如可以是GROUP BY,GROUP BY表示分组统计,可以影响集群的任务执行。用于实现统计信息收集操作的脚本可以是ANALYZE,ANALYZE可以统计、搜集信息,良好的ANALYZE习惯可以降低性能风险。用于实现数据表关联操作的脚本例如可以是JOIN,JOIN的次数可以影响生成的临时表TMP_TABLE,例如每一次JOIN操作可以生成一张临时表,在复杂逻辑时,临时表可降低性能风险,但是在大数据量时,临时表可能增加性能风险。
根据本公开实施例,第二维度的性能指标可以包括:SELECT次数、WHERE次数、GROUP BY次数、ANALYZE次数、JOIN次数、TMP_TABLE数量。
在操作S403,根据在实现业务逻辑的过程中需要交互的集群信息,获取目标作业的第三维度的性能指标。
其中,第三维度的性能指标包括用于为业务***提供数据来源的源表的大小、所述目标作业生成的落地表是否为索引表、落地表是否为日志表、落地表中主键的数量、落地表是否包括触发器、落地表是否允许迁移、集群中节点的个数、集群中节点间的通信带宽、落地表分布式存储于集群的哈希方式以及相同落地表对应的文件在集群中的存储份数。
根据本公开实施例,如果源表很大可能引发性能风险,该特征变量可以用SOURCE_TABLE_SIZE表示。索引表可以降低性能风险,落地表是否为索引表的特征变量可以用Relhasindex表示。日志表相较业务表更可能引起性能风险,落地表是否为日志表的特征变量可以用Relpersistence表示。落地表主键个数可以影响业务性能,落地表主键个数的特征变量可以用Relhaspkey表示。落地表中有触发器可以增加触发开销,落地表是否包括触发器的特征变量可以用Relhastriggers表示。落地表是否允许迁移也可以影响业务性能,落地表是否允许迁移的特征变量可以用Relrowmovement表示。集群中节点的数量可以用NODE_NUM表示。集群中节点间的通信带宽可以用BAND_WITH表示。分布式存储的哈希方式可以用HASH_TYPE表示。相同文件在分布式***中的存储份数可以用STORE_BUM表示。
根据本公开实施例,通过引入以上三个维度的性能指标,可以全面覆盖可能出现性能隐患的所有特征变量。
图5示意性示出了根据本公开实施例的通过模型输出与目标作业对应的性能指数和多个特征变量的贡献度排名的方法的流程图。
如图5所示,操作S202包括操作S501~S503。
在操作S501,对每个维度的性能指标包括的多个特征变量进行数据清洗,得到规范化的特征变量。
在操作S502,对规范化的特征变量进行编码,得到编码后的特征变量。
根据本公开实施例,可以通过对数据进行空值填充、数据格式转换、去除异常值、归一化等方法完成数据清洗过程。可以将连续性的特征变量变量变换为离散型的特征变量,还可以通过分箱算法将离散型的特征变量划分为不同区间的数据,然后可以通过独热编码实现每个特征变量的一位有效编码,以得到可以用于模型输入的入模数据。
在操作S503,将编码后的特征变量输入到模型中,以通过模型输出与目标作业对应的性能指数和多个特征变量的贡献度排名。
根据本公开实施例,将以将入模数据输入到预先训练好的模型中,模型可以输出与作业对应的运行时长以及入模的多个特征变量的贡献度排名。
图6示意性示出了根据本公开实施例的预先训练得到模型的方法的流程图。
如图6所示,包括操作S601~S603。
在操作S601,确定多个已经运行的作业。
在操作S602,针对每个已经运行的作业,获取作业的多个维度的性能指标以及作业在预设时间段内的历史运行时长。
在操作S603,根据作业的多个维度的性能指标以及作业在预设时间段内的历史运行时长,训练初始模型,以得到最终的模型。
根据本公开实施例,因场景为回归类场景,因此可以采用boosting的思想,选择对应的模型进行模型比较。例如,可以选择Adaboost、GBDT、XGboost模型进行训练,根据模型评价指标ACC、Recall、F1-score选择最优的模型,最优的模型例如可以是XGboost模型。
根据本公开实施例,可以通过交叉验证(五折)、训练集与验证集比例(7∶3)、修改对应参数(树深、叶子数量、梯度下降率等)完成模型训练。
根据本公开实施例,可以利用已经运行作业的历史运行数据进行模型训练。针对每个已经运行的作业,可以获取该作业各个维度的性能指标和历史运行时长进行模型训练。
图7示意性示出了根据本公开实施例的训练初始模型的方法的流程图。
如图7所示,操作S603包括操作S701~S702。
在操作S701,为与每个所述特征变量关联的模型参数设置初始值,其中,所述模型参数的值用于表征所述特征变量的贡献度。
在操作S702,以多个特征变量为样本,以每个作业在预设时间段内的历史运行时长为标签,训练初始模型,得到最终的模型。
根据本公开实施例,在将作业的多个特征变量作为输入时,可以对与每个特征变量关联的模型参数设置初始值,与每个特征变量关联的模型参数的值可以用于表征该特征变量的贡献度。因此,可以利用训练好的模型输出每个特征变量的贡献度,或者多个特征变量的贡献度排名。
根据本公开实施例,可以将该模型部署在开发环境或测试环境中,以开发环境为例,部署在开发环境作业性能检测平台中,可以将模型封装为一个性能检测的接口。
根据本公开实施例,开发、测试人员在作业开发完成后,调用本公开实施例在性能检测平台的接口,直接输入作业名称,通过调用特征工程脚本获取对应的特征变量,特征变量入模之后完成性能检验,并相应给出特征变量的贡献度排名。如果性能指出超过生产阈值,则建议其进行修改,通过特征贡献度排名,针对性地对引发作业性能的相关维的业务逻辑进行修改和调优。能够从作业生命周期的初始阶段,消除性能风险。
图8示意性示出了根据本公开的实施例的业务***的优化装置的框图。
如图8所示,业务***的优化装置800包括第一获取模块801、输出模块802和优化模块803。
第一获取模块801用于根据业务***中目标作业的业务逻辑、用于实现业务逻辑的脚本代码以及在实现业务逻辑的过程中需要交互的集群信息,获取目标作业的多个维度的性能指标,其中,每个维度的性能指标包括多个特征变量。
输出模块802用于将目标作业的多个维度的性能指标输入到预先构建的模型中,以通过模型输出与目标作业对应的性能指数和多个特征变量的贡献度排名。
优化模块803用于根据与目标作业对应的性能指数和多个特征变量的贡献度排名,调整目标作业,以优化业务***。
根据本公开实施例,第一获取模块801包括第一获取单元、第二获取单元和第三获取单元。
第一获取单元用于根据目标作业的业务逻辑,获取目标作业的第一维度的性能指标,其中,第一维度的性能指标包括目标作业所属于的逻辑层、目标作业加载数据的算法类型、同一时刻与目标作业并发的作业数量以及目标作业所属于的目标作业组的编号。
第二获取单元用于根据用于实现业务逻辑的脚本代码,获取目标作业的第二维度的性能指标,其中,第二维度的性能指标包括脚本代码中的关键字的出现次数以及生成的临时表的数量,关键字包括用于实现选择操作的脚本、用于表征选择条件的脚本、用于实现分组操作的脚本、用于实现统计信息收集操作的脚本以及用于实现数据表关联操作的脚本。
第三获取单元用于根据在实现业务逻辑的过程中需要交互的集群信息,获取目标作业的第三维度的性能指标,其中,第三维度的性能指标包括用于为业务***提供数据来源的源表的大小、目标作业生成的落地表是否为索引表、落地表是否为日志表、落地表中主键的数量、落地表是否包括触发器、落地表是否允许迁移、集群中节点个数、集群中节点间的通信带宽、落地表分布式存储于集群的哈希方式以及相同落地表对应的文件在集群中的存储份数。
根据本公开实施例,输出模块802包括第一处理单元、第二处理单元和输出单元。
第一处理单元用于对每个维度的性能指标包括的多个特征变量进行数据清洗,得到规范化的特征变量。
第二处理单元用于对规范化的特征变量进行编码,得到编码后的特征变量。
输出单元用于将编码后的特征变量输入到模型中,以通过模型输出与目标作业对应的性能指数和多个特征变量的贡献度排名。
根据本公开实施例,性能指数包括运行时长。
根据本公开实施例,优化模块803包括确定单元和优化单元。
确定单元用于确定与目标作业对应的运行时长是否大于预设阈值。
优化单元用于在确定与目标作业对应的运行时长大于预设阈值的情况下,根据与目标作业对应的多个特征变量的贡献度排名,调整目标作业,以优化业务***。
根据本公开实施例,业务***的优化装置800还包括确定模块、第二获取模块和训练模块。
确定模块用于确定多个已经运行的作业。
第二获取模块用于针对每个已经运行的作业,获取作业的多个维度的性能指标以及作业在预设时间段内的历史运行时长。
训练模块用于根据作业的多个维度的性能指标以及作业在预设时间段内的历史运行时长,训练初始模型,以得到最终的模型。
根据本公开实施例,训练模块包括设置单元和训练单元。
设置单元用于为与每个所述特征变量关联的模型参数设置初始值,其中,所述模型参数的值用于表征所述特征变量的贡献度。
训练单元用于以多个特征变量为样本,以每个作业在预设时间段内的历史运行时长为标签,训练初始模型,得到最终的模型。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块801、输出模块802和优化模块803中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一获取模块801、输出模块802和优化模块803中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块801、输出模块802和优化模块803中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中业务***的优化装置部分与本公开的实施例中业务***的优化方法部分是相对应的,业务***的优化装置部分的描述具体参考业务***的优化方法部分,在此不再赘述。
图9示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机***的框图。图9示出的计算机***仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,根据本公开实施例的计算机***900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有***900操作所需的各种程序和数据。处理器901、ROM 902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,***900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。***900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种业务***的优化方法,包括:
根据业务***中目标作业的业务逻辑、用于实现所述业务逻辑的脚本代码以及在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的多个维度的性能指标,其中,每个维度的性能指标包括多个特征变量;
将所述目标作业的多个维度的性能指标输入到预先构建的模型中,以通过所述模型输出与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名;以及
根据与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名,调整所述目标作业,以优化所述业务***。
2.根据权利要求1所述的方法,其中,根据业务***中目标作业的业务逻辑、用于实现所述业务逻辑的脚本代码以及在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的多个维度的性能指标包括:
根据所述目标作业的业务逻辑,获取所述目标作业的第一维度的性能指标,其中,所述第一维度的性能指标包括所述目标作业所属于的逻辑层的信息;
根据用于实现所述业务逻辑的脚本代码,获取所述目标作业的第二维度的性能指标,其中,所述第二维度的性能指标包括所述脚本代码中的关键字的出现次数以及生成的临时表的数量;以及
根据在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的第三维度的性能指标。
3.根据权利要求1或2所述的方法,其中,将所述目标作业的多个维度的性能指标输入到预先构建的模型中,以通过所述模型输出与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名包括:
对每个维度的性能指标包括的多个特征变量进行数据清洗,得到规范化的特征变量;
对所述规范化的特征变量进行编码,得到编码后的特征变量;以及
将所述编码后的特征变量输入到所述模型中,以通过所述模型输出与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名。
4.根据权利要求1或2所述的方法,其中,所述性能指数包括运行时长;
根据与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名,调整所述目标作业,以优化所述业务***包括:
确定与所述目标作业对应的运行时长是否大于预设阈值;以及
在确定与所述目标作业对应的运行时长大于所述预设阈值的情况下,根据与所述目标作业对应的多个所述特征变量的贡献度排名,调整所述目标作业,以优化所述业务***。
5.根据权利要求1或2所述的方法,还包括:
预先训练得到所述模型,其中,训练过程包括:
确定多个已经运行的作业;
针对每个已经运行的作业,获取所述作业的多个维度的性能指标以及所述作业在预设时间段内的历史运行时长;以及
根据所述作业的多个维度的性能指标以及所述作业在预设时间段内的历史运行时长,训练初始模型,以得到所述模型。
6.根据权利要求5所述的方法,其中,根据所述作业的多个维度的性能指标以及所述作业在预设时间段内的历史运行时长,训练初始模型包括:
为与每个所述特征变量关联的模型参数设置初始值,其中,所述模型参数的值用于表征所述特征变量的贡献度;以及
以所述多个特征变量为样本,以每个作业在预设时间段内的历史运行时长为标签,训练所述初始模型,得到所述模型。
7.一种业务***的优化装置,包括:
第一获取模块,用于根据业务***中目标作业的业务逻辑、用于实现所述业务逻辑的脚本代码以及在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的多个维度的性能指标,其中,每个维度的性能指标包括多个特征变量;
输出模块,用于将所述目标作业的多个维度的性能指标输入到预先构建的模型中,以通过所述模型输出与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名;以及
优化模块,用于根据与所述目标作业对应的性能指数和多个所述特征变量的贡献度排名,调整所述目标作业,以优化所述业务***。
8.根据权利要求1所述的装置,其中,所述第一获取模块包括:
第一获取单元,用于根据所述目标作业的业务逻辑,获取所述目标作业的第一维度的性能指标,其中,所述第一维度的性能指标包括所述目标作业所属于的逻辑层的信息;
第二获取单元,用于根据用于实现所述业务逻辑的脚本代码,获取所述目标作业的第二维度的性能指标,其中,所述第二维度的性能指标包括所述脚本代码中的关键字的出现次数以及生成的临时表的数量;以及
第三获取单元,用于根据在实现所述业务逻辑的过程中需要交互的集群信息,获取所述目标作业的第三维度的性能指标。
9.一种计算机***,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010689223.9A CN111897707B (zh) | 2020-07-16 | 2020-07-16 | 业务***的优化方法和装置、计算机***和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010689223.9A CN111897707B (zh) | 2020-07-16 | 2020-07-16 | 业务***的优化方法和装置、计算机***和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111897707A true CN111897707A (zh) | 2020-11-06 |
CN111897707B CN111897707B (zh) | 2024-01-05 |
Family
ID=73191025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010689223.9A Active CN111897707B (zh) | 2020-07-16 | 2020-07-16 | 业务***的优化方法和装置、计算机***和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897707B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722198A (zh) * | 2021-09-02 | 2021-11-30 | 中国建设银行股份有限公司 | 脚本作业提交控制方法及装置、存储介质及电子设备 |
CN114546525A (zh) * | 2022-02-17 | 2022-05-27 | 阳光保险集团股份有限公司 | 一种分析数据的***、方法、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080015916A1 (en) * | 2002-05-22 | 2008-01-17 | International Business Machines Corporation | Using configurable programmatic rules for automatically changing a trust status of candidates contained in a private business registry |
CN103973496A (zh) * | 2014-05-21 | 2014-08-06 | 华为技术有限公司 | 故障诊断方法及装置 |
CN110033123A (zh) * | 2019-03-12 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 用于业务评估的方法和装置 |
CN110178123A (zh) * | 2017-07-12 | 2019-08-27 | 华为技术有限公司 | 性能指标评估方法及装置 |
KR20190130212A (ko) * | 2018-04-24 | 2019-11-22 | 주식회사 피도텍 | 엔지니어링 빅데이터 기반의 설계 전문가 시스템 및 그 설계 방법 |
CN110944048A (zh) * | 2019-11-29 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 业务逻辑配置方法及装置 |
CN111401788A (zh) * | 2020-04-10 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 业务时序指标的归因方法以及装置 |
-
2020
- 2020-07-16 CN CN202010689223.9A patent/CN111897707B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080015916A1 (en) * | 2002-05-22 | 2008-01-17 | International Business Machines Corporation | Using configurable programmatic rules for automatically changing a trust status of candidates contained in a private business registry |
CN103973496A (zh) * | 2014-05-21 | 2014-08-06 | 华为技术有限公司 | 故障诊断方法及装置 |
CN110178123A (zh) * | 2017-07-12 | 2019-08-27 | 华为技术有限公司 | 性能指标评估方法及装置 |
KR20190130212A (ko) * | 2018-04-24 | 2019-11-22 | 주식회사 피도텍 | 엔지니어링 빅데이터 기반의 설계 전문가 시스템 및 그 설계 방법 |
CN110033123A (zh) * | 2019-03-12 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 用于业务评估的方法和装置 |
CN110944048A (zh) * | 2019-11-29 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 业务逻辑配置方法及装置 |
CN111401788A (zh) * | 2020-04-10 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 业务时序指标的归因方法以及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722198A (zh) * | 2021-09-02 | 2021-11-30 | 中国建设银行股份有限公司 | 脚本作业提交控制方法及装置、存储介质及电子设备 |
CN114546525A (zh) * | 2022-02-17 | 2022-05-27 | 阳光保险集团股份有限公司 | 一种分析数据的***、方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111897707B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698742B2 (en) | Operation efficiency management with respect to application compile-time | |
Eismann et al. | Predicting the costs of serverless workflows | |
US8996452B2 (en) | Generating a predictive model from multiple data sources | |
US11182691B1 (en) | Category-based sampling of machine learning data | |
US10102480B2 (en) | Machine learning service | |
US20150379423A1 (en) | Feature processing recipes for machine learning | |
US10606450B2 (en) | Method and system for visual requirements and component reuse driven rapid application composition | |
US11720825B2 (en) | Framework for multi-tenant data science experiments at-scale | |
CN106980623A (zh) | 一种数据模型的确定方法及装置 | |
US11620683B2 (en) | Utilizing machine-learning models to create target audiences with customized auto-tunable reach and accuracy | |
US10706102B2 (en) | Operation efficiency management with respect to application run-time | |
CN114490375B (zh) | 应用程序的性能测试方法、装置、设备及存储介质 | |
CN111897707B (zh) | 业务***的优化方法和装置、计算机***和存储介质 | |
US11507434B2 (en) | Recommendation and deployment engine and method for machine learning based processes in hybrid cloud environments | |
US20220269505A1 (en) | Client-side enrichment and transformation via dynamic logic for analytics | |
US11182833B2 (en) | Estimating annual cost reduction when pricing information technology (IT) service deals | |
US11809375B2 (en) | Multi-dimensional data labeling | |
US10025838B2 (en) | Extract transform load input suggestion | |
US11074508B2 (en) | Constraint tracking and inference generation | |
US11023226B2 (en) | Dynamic data ingestion | |
US20230010147A1 (en) | Automated determination of accurate data schema | |
US20230229735A1 (en) | Training and implementing machine-learning models utilizing model container workflows | |
US20230325871A1 (en) | Subgroup analysis in a/b testing | |
US11593511B2 (en) | Dynamically identifying and redacting data from diagnostic operations via runtime monitoring of data sources | |
US10755324B2 (en) | Selecting peer deals for information technology (IT) service deals |
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 |