The invention provides a method and device for extracting performance optimization of a multi condition of extraction, the method includes: judging whether the current conditions of expression contains only one condition; if so, determine the expression of current conditions in the continuous full and partial and / or continuous optimal all or part of the order of execution of will; the optimal execution order continuous full and partial and / or optimal execution order continuous full or part as a whole and use a variable to replace, the new expression contains the variables; the expression for the new return to execute the judgment process; if not, use the original expression to replace the variables, and obtain the optimal multi conditional execution order expressions; the execution order of the target extracted by the plurality of optimal conditions. The application achieves automatic determination of multiple conditional execution sequences and effectively improves target extraction performance.
【技术实现步骤摘要】
多条件提取中优化提取性能的方法及装置
本申请涉及计算机领域,尤其涉及一种多条件提取中优化提取性能的方法及装置。
技术介绍
多条件提取是从全量数据中提取出同时满足多个条件的目标提取过程。在很多场景中都存在多条件提取的过程,例如,以多个条件进行数据库查询场景、以多个条件进行可疑数据过滤场景、以多个条件调用/提取数据场景等等。目前,利用多个条件进行目标提取时,该多个条件之间的关系是固定不变的,利用该多个条件之间的固定关系以及固定的执行顺序来进行目标提取。然而,由于每个条件的执行时间均不相同,有长有短,多个条件不同的执行顺序会直接影响目标提取性能。为提高目标提取性能,目前大多采用人工干预的方式。即,人工调整各条件的执行顺序,令计算量大、较耗时的条件最后执行,以减少执行次数,提高目标提取性能。该人工干预的方式在条件较多的场景下很难快速得到最优的调整结果,且无法批量自动执行。因此,有必要提供一种多条件提取中自动确定多条件执行顺序,以达到最优的提取性能的方法。
技术实现思路
本申请解决的技术问题之一是,提供一种多条件提取中优化提取性能的方法及系统,实现自动确定多条件提取时的多条件执 ...
【技术保护点】
一种多条件提取中优化提取性能的方法,其特征在于,所述方法用于利用多个条件进行目标提取场景下,自动确定所述多个条件的执行顺序,以提高提取性能,所述方法包括:穷举所述多个条件进行目标提取时的不同执行顺序;计算每种执行顺序对应的性能参数值;选择性能参数值最大的执行顺序作为确定的所述目标提取的所述多个条件的执行顺序;以所述确定的所述多个条件的执行顺序进行所述目标提取。
【技术特征摘要】
1.一种多条件提取中优化提取性能的方法,其特征在于,所述方法用于利用多个条件进行目标提取场景下,自动确定所述多个条件的执行顺序,以提高提取性能,所述方法包括:穷举所述多个条件进行目标提取时的不同执行顺序;计算每种执行顺序对应的性能参数值;选择性能参数值最大的执行顺序作为确定的所述目标提取的所述多个条件的执行顺序;以所述确定的所述多个条件的执行顺序进行所述目标提取。2.如权利要求1所述的方法,其特征在于,所述穷举所述多个条件进行目标提取时的不同执行顺序包括:获取所述多个条件之间的关系;在保证所述多个条件之间的关系不变的情况下穷举所述多个条件进行目标提取时的不同执行顺序。3.如权利要求2所述的方法,其特征在于,所述方法还包括:将每个条件使用变量代替,根据所述多个条件之间的关系组成所述多个条件的表达式;所述在保证所述多个条件之间的关系不变的情况下穷举所述多个条件进行目标提取时的不同执行顺序包括:利用德摩根定律及结合律去掉所述表达式中的括号;利用交换律交换所述表达式中各变量的位置,实现穷举所述多个条件的不同执行顺序。4.如权利要求1所述的方法,其特征在于,所述性能参数值包括:利用所述多个条件进行目标提取所需的总体时间的倒数,则计算每种执行顺序对应的性能参数值包括:根据预先确定的每个条件的短路率确定不同执行顺序时每个条件的执行次数,所述条件的短路率为全量数据中不满足所述条件的概率;根据每个条件的执行次数及预先确定的每个条件的执行时间确定所述多个条件在不同执行顺序时进行目标提取所需的总体时间;计算所述总体时间的倒数作为所述多个条件在不同执行顺序时的性能参数值。5.一种多条件提取中优化提取性能的方法,其特征在于,所述方法用于利用多个条件进行目标提取场景,自动确定所述多个条件的执行顺序,以提高提取性能,所述方法包括:判断当前条件组成的表达式中是否只包含一个条件;若当前条件组成的表达式中不只包含一个条件,则确定当前条件组成的表达式中连续全与部分和/或连续全或部分的最优执行顺序;将所述最优执行顺序的连续全与部分和/或最优执行顺序的连续全或部分分别作为一个整体条件并分别使用一个变量代替,组成包含所述变量的新的表达式;针对所述新的表达式返回执行上述判断当前条件组成的表达式中是否只包含一个条件的步骤;若当前条件组成的表达式中只包含一个条件,则使用原表达式替换回所述变量,得到所述多个条件的最优执行顺序表达式;以所述多个条件的最优执行顺序进行所述目标提取。6.如权利要求5所述的方法,其特征在于,所述确定当前条件组成的表达式中连续全与部分和/或连续全或部分的最优执行顺序包括:分别计算连续全与部分和/或连续全或部分当前包含的条件中,令每个条件最后执行时的性能参数值;将性能参数值最大时对应的最后执行的条件作为所述连续全与部分和/或连续全或部分当前包含的条件中最后执行的条件;将所述最后执行的条件从所述连续全与部分和/或连续全或部分当前包含的条件中去除;针对去除所述最后执行的条件后的连续全与部分和/或连续全或部分当前包含的条件,重复上述操作,逐步确定出所述连续全与部分和/或连续全或部分当前包含的条件中最后执行的条件,从而确定出所述连续全与部分和/或连续全或部分包含的每个条件的执行顺序作为所述连续全与部分和/或连续全或部分的最优执行顺序。7.如权利要求6所述的方法,其特征在于,所述性能参数值包括:执行次数的倒数,在每个条件的执行时间均为常量情况下,所述分别计算连续全与部分和/或连续全或部分当前包含的条件中,令每个条件最后执行时的性能参数值包括:根据每个条件的短路率分别计算令每个条件最后执行时的执行次数;计算所述执行次数的倒数作为对应的性能参数值。8.如权利要求5所述的方法,其特征在于,判断当前条件组成的表达式中是否只包含一个条件前,所述方法还包括:根据德摩根定...
【专利技术属性】
技术研发人员:徐磊石,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。