CN115185525A - 数据倾斜代码块定位方法、装置、设备、介质及程序产品 - Google Patents
数据倾斜代码块定位方法、装置、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN115185525A CN115185525A CN202210541638.0A CN202210541638A CN115185525A CN 115185525 A CN115185525 A CN 115185525A CN 202210541638 A CN202210541638 A CN 202210541638A CN 115185525 A CN115185525 A CN 115185525A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- nodes
- acquiring
- code block
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- 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/74—Reverse engineering; Extracting design information from source code
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种数据倾斜代码块定位方法、装置、设备、介质及程序产品,该方法包括:根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;根据日志文件获取有向无环图的顶点和边的信息,根据顶点和边的信息生成有向无环图,根据问题结点在有向无环图中的位置获取问题结点的来源表;将有向无环图和根据源代码解析得到的抽象语法树进行结点匹配,获取抽象语法树中与问题结点具有相同来源表的结点,根据具有相同来源表的结点的位置确定问题结点对应的代码块的位置。本发明提供的数据倾斜代码块定位方法、装置、设备、介质及程序产品,实现了在确认数据倾斜问题发生的同时数据倾斜代码块的快速定位,有利于快速优化数据倾斜问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据倾斜代码块定位方法、装置、设备、介质及程序产品。
背景技术
数据倾斜就是在计算数据的时候,数据的分散度不够,导致大量的数据集中到了一台或者几台机器上计算,这些数据的计算速度远远低于平均计算速度,导致整个计算过程过慢。
Hive是一个数据仓库工具,通过SQL处理数据,可以使用的计算引擎有MR,Spark等。SQL中的数据倾斜问题是比较常见的,比较知名的识别工具是Dr.Elephant,用于识别一个任务是否存在数据倾斜问题。但是,仅仅识别数据倾斜问题是不够的,因为从脚本中查找数据倾斜的问题代码块,是一件费力且不容易的事情,若是能够在识别问题的基础上,更进一步得到数据倾斜代码块的位置,那么优化数据倾斜问题就是一件容易的事情了。
在各种数据仓库工具及编程语言下均可能存在数据倾斜问题。但是目前仅可以识别一个任务是否存在数据倾斜问题,尚无法实现数据倾斜代码块的定位,由此不利于数据倾斜问题的优化。
发明内容
为解决现有技术中的问题,本发明提供一种数据倾斜代码块定位方法、装置、设备、介质及程序产品。
本发明提供一种数据倾斜代码块定位方法,包括:根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表;将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
根据本发明提供的一种数据倾斜代码块定位方法,所述获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,包括:遍历所述抽象语法树,获取与所述问题结点具有相同所述来源表的关联结点。
根据本发明提供的一种数据倾斜代码块定位方法,所述根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置,包括:根据所述关联结点的位置获取对应的关联条件结点的位置,以所述关联条件结点的位置作为所述问题结点对应的代码块的起始位置。
根据本发明提供的一种数据倾斜代码块定位方法,所述根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点,包括:根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点;根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点;将所述第一问题结点和所述第二问题结点的交集确定为所述发生数据倾斜问题的问题结点。
根据本发明提供的一种数据倾斜代码块定位方法,所述根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点,包括:根据运行源代码产生的日志文件获取规约结点对应的至少一个规约任务结点上处理的数据量;获取所述至少一个规约任务结点上处理的数据量的第一均值,以所述第一均值作为分割点,对所述至少一个规约任务结点上处理的数据量进行分组,得到数据量高的第一大组和数据量低的第一小组;重复执行第一分组更新操作,直至分组不再变化时,获取所述第一大组的数据量的均值与所述第一小组的数据量的均值的第一比值,若所述第一比值大于预设第一阈值,则确定所述规约结点为所述发生数据倾斜问题的第一问题结点;其中,所述第一分组更新操作包括:获取所述第一大组的数据量的均值与所述第一小组的数据量的均值的第一差值,以所述第一差值作为分割点,重新对所述至少一个规约任务结点上处理的数据量进行分组,得到更新后的数据量高的第一大组和数据量低的第一小组。
根据本发明提供的一种数据倾斜代码块定位方法,所述根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点,包括:根据运行源代码产生的日志文件获取规约结点对应的至少一个规约任务结点上的任务处理时长;获取所述至少一个规约任务结点上的任务处理时长的第二均值,以所述第二均值作为分割点,对所述至少一个规约任务结点上的任务处理时长进行分组,得到任务处理时长高的第二大组和任务处理时长低的第二小组;重复执行第二分组更新操作,直至分组不再变化时,获取所述第二大组的任务处理时长的均值与所述第二小组的任务处理时长的均值的第二比值,若所述第二比值大于预设第二阈值,则确定所述规约结点为所述发生数据倾斜问题的第二问题结点;其中,所述第二分组更新操作包括:获取所述第二大组的任务处理时长的均值与所述第二小组的任务处理时长的均值的第二差值,以所述第二差值作为分割点,重新对所述至少一个规约任务结点上的任务处理时长进行分组,得到更新后的任务处理时长高的第二大组和任务处理时长低的第二小组。
本发明还提供一种数据倾斜代码块定位装置,包括:问题结点确定模块,用于:根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;来源表确定模块,用于:根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表;定位模块,用于:将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据倾斜代码块定位方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据倾斜代码块定位方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据倾斜代码块定位方法的步骤。
本发明提供的数据倾斜代码块定位方法、装置、设备、介质及程序产品,通过根据有向无环图获取问题结点的来源表,将有向无环图和根据源代码解析得到的抽象语法树进行结点匹配,获取抽象语法树中与问题结点具有相同来源表的结点,根据具有相同来源表的结点的位置确定问题结点对应的代码块的位置,实现了在确认数据倾斜问题发生的同时数据倾斜代码块的快速定位,有利于快速优化数据倾斜问题。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据倾斜代码块定位方法的流程示意图之一;
图2是本发明提供的数据倾斜代码块定位方法的流程示意图之二;
图3是本发明提供的数据倾斜代码块定位方法中有向无环图的示意图;
图4是本发明提供的数据倾斜代码块定位方法中抽象语法图的示意图;
图5是本发明提供的数据倾斜代码块定位装置的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图6描述本发明的数据倾斜代码块定位方法、装置、设备、介质及程序产品。
图1是本发明提供的数据倾斜代码块定位方法的流程示意图之一。如图1所示,所述方法包括:
步骤101、根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点。
本发明提供的数据倾斜代码块定位方法可以适用于各种编程语言、数据仓库及计算引擎的应用场景。比如,应用于Hive SQL中数据倾斜代码块的定位。本发明提供的数据倾斜代码块定位方法需要利用有向无环图,因此要求计算引擎支持有向无环图(DirectedAcyclic Graph,DAG),比如Tez引擎。
可以利用已有的性能识别算法根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点。
步骤102、根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表。
有向无环图用来表示数据处理的工作流。有向无环图中的顶点(Vertex)代表逻辑上数据处理中的一步,比如可以是数据的过滤、转换等。顶点的类型包括Map结点和规约结点(Reducer结点)。有向无环图中的边的方向表示数据流动的方向。
日志文件包括用于生成有向无环图的顶点和边的信息。可以根据直接访问数据表的Map结点的信息获取源代码执行时访问的数据表的信息。根据日志文件获取有向无环图的顶点和边的信息生成有向无环图。来源表即所处理的数据的来源数据表。根据问题结点在有向无环图中的位置获取问题结点的来源表。
图2是本发明提供的数据倾斜代码块定位方法的流程示意图之二。如图2所示,对于TEZ日志通过性能问题识别算法识别出问题结点Reducer5。通过对TEZ日志获取顶点和边的信息,生成有向无环图,如图2中所示的有向无环图(DAG)。可以获取到问题结点Reducer5在有向无环图中的位置,并可以获取到问题结点Reducer5的来源表为table_2和table_3。
步骤103、将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
在计算机科学中,抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个结点都表示源代码中的一种结构。
由于抽象语法树是与源代码对应的,因此,可以根据源代码预先生成抽象语法树,以节约计算资源。当然,也可以在进行数据倾斜代码块定位时根据源代码生成抽象语法树。可以利用解析器生成抽象语法树。
如图2所示,通过对SQL解析器对SQL执行语句进行解析得到抽象语法树(AST)。抽象语法树中Distinct结点表示用于去重的结点,Join结点表示关联结点,其来源表至少为两个。
生成抽象语法树时可以根据设定的规则进行,这些规则比如可以包括结点的来源表的位置、不同类型结点之间的位置关系等。将有向无环图和抽象语法树进行结点匹配,获取抽象语法树中与问题结点具有相同来源表的结点。可以将抽象语法树中与问题结点具有相同来源表的结点的位置作为数据倾斜代码块的起始位置。比如,如图2所示,Reducer5作为问题结点时,在抽象语法树中数据倾斜代码块的起始位置定位到Join1结点。
根据抽象语法树可以还原源代码。比如前序遍历抽象语法树,将不具备子结点的终结点拼接起来,得到源代码。因此,可从抽象语法树中与问题结点具有相同来源表的结点开始,前序遍历与问题结点具有相同来源表的结点所在的分支,得到发生数据倾斜问题的代码块。
发生数据倾斜问题可能是由于源代码中存在空值等原因,产生数据倾斜问题的空值等可以称为倾斜键。解决数据倾斜问题可以对发生数据倾斜问题的代码块中的倾斜键使用随机数打散。
本发明提供的数据倾斜代码块定位方法,通过根据有向无环图获取问题结点的来源表,将有向无环图和根据源代码解析得到的抽象语法树进行结点匹配,获取抽象语法树中与问题结点具有相同来源表的结点,根据具有相同来源表的结点的位置确定问题结点对应的代码块的位置,实现了在确认数据倾斜问题发生的同时数据倾斜代码块的快速定位,有利于快速优化数据倾斜问题。
根据本发明提供的一种数据倾斜代码块定位方法,所述获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,包括:遍历所述抽象语法树,获取与所述问题结点具有相同所述来源表的关联结点。
由于结点的来源表只有一个时,出现问题的可能性微乎其微,因此,可以认为问题结点的来源表至少为两个。由于在将有向无环图和根据源代码解析得到的抽象语法树进行结点匹配时,获取的是抽象语法树中与问题结点具有相同来源表的结点,因此抽象语法树中与问题结点具有相同来源表的结点的来源表也至少为两个。抽象语法树中来源表至少为两个的结点称为关联结点,因此,在获取抽象语法树中与问题结点具有相同来源表的结点时,可以通过遍历抽象语法树,直接获取与问题结点具有相同来源表的关联结点。
下面再给出一个SQL中数据倾斜代码块的定位示例。
SQL语句:
SELECT
A.col_a
,B.col_b
FROM A INNER JOIN B
ON A.col_a=B.col_b;
图3是本发明提供的数据倾斜代码块定位方法中有向无环图的示意图。根据运行上述SQL语句的TEZ日志获取顶点(Vertex)和边(Edge)的信息,通过连接,生成有向无环图,如图3所示,为表A和表B关联查询得到的有向无环图。根据运行上述SQL语句的TEZ日志发现Reducer2存在数据倾斜。基于有向无环图,可以获知Reducer 2的来源表是(A,B)组合。
图4是本发明提供的数据倾斜代码块定位方法中抽象语法图的示意图。利用SQL解析器对SQL语句进行解析得到抽象语法树。SQL解析器是比较多的,主要是基于FLEX/BISON编写解析规则开发的。通过SQL解析器对上述SQL语句进行解析得到的抽象语法树如图4所示。图4所示的抽象语法树中,结点的左孩子是子结点,右孩子是兄弟结点;圆圈代表非终结点,意味着可以继续拆分出子结点(左孩子);方块代表终结点,无子结点;前序遍历抽象语法树,方块内容拼接起来,就是原始SQL语句。其中,左孩子是指从当前结点朝左下方指向的结点,右孩子是指从当前结点朝右下方指向的结点;比如,opt_inner_join结点的左孩子是INNER结点,右孩子是JOIN结点;JOIN结点的右孩子是table_factor结点,无左孩子。
遍历图4所示的抽象语法树,其中的join_table结点就是关联结点。获取关联结点的位置后,继续向下遍历,获取关联结点的来源表,若关联结点的来源表也为(A,B)组合,则表示此关联结点即与问题结点Reducer 2具有相同来源表的结点。
本发明提供的数据倾斜代码块定位方法,通过遍历抽象语法树,获取与问题结点具有相同来源表的关联结点,提高了结点匹配效率,进而提高了数据倾斜代码块定位效率。
根据本发明提供的一种数据倾斜代码块定位方法,所述根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置,包括:根据所述关联结点的位置获取对应的关联条件结点的位置,以所述关联条件结点的位置作为所述问题结点对应的代码块的起始位置。
关联条件结点用于定义不同来源表之间的关联条件,为具体出现数据倾斜问题之处。为提高数据倾斜代码块的定位的精确性,在根据具有相同来源表的结点的位置确定问题结点对应的代码块的位置时,根据关联结点的位置获取对应的关联条件结点的位置,以关联条件结点的位置作为问题结点对应的代码块的起始位置。
如图4所示,依次遍历关联结点(join_table结点)的孩子结点,可以找到左表A,右表B,以及关联条件结点(join_condition结点)下的关联条件;该join_table结点的来源表组合是(A,B),由于问题结点Reduce 2的来源表是(A,B)组合,那么只要在抽象语法树中找到有相同来源表组合的join_table结点,那么就是相匹配的一对结点。匹配到join_table结点就意味着找到了代码块的位置,只需要返回该join_table结点对应的join_condition结点的位置即可,即关联条件导致数据倾斜的具体位置。
本发明提供的数据倾斜代码块定位方法,通过根据关联结点的位置获取对应的关联条件结点的位置,以关联条件结点的位置作为问题结点对应的代码块的起始位置,提高了数据倾斜代码块定位的精确性。
根据本发明提供的一种数据倾斜代码块定位方法,在根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点时,根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点;根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点;将所述第一问题结点和所述第二问题结点的交集确定为所述发生数据倾斜问题的问题结点。
本发明给出一种确认问题结点的方式,从数据量和运行时长的角度分别判断是否存在数据倾斜问题,若从两方面判断均存在数据倾斜问题,认为相应结点为发生数据倾斜问题的问题结点,提高了数据倾斜问题结点确认的可靠性。
具体地,根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点;根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点;将第一问题结点和第二问题结点的交集确定为发生数据倾斜问题的问题结点。
本发明提供的数据倾斜代码块定位方法,通过从数据量和运行时长两方面判断是否存在数据倾斜问题,提高了数据倾斜问题结点确认的可靠性。
根据本发明提供的一种数据倾斜代码块定位方法,所述根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点,包括:根据运行源代码产生的日志文件获取规约结点对应的至少一个规约任务结点上处理的数据量;获取所述至少一个规约任务结点上处理的数据量的第一均值,以所述第一均值作为分割点,对所述至少一个规约任务结点上处理的数据量进行分组,得到数据量高的第一大组和数据量低的第一小组;重复执行第一分组更新操作,直至分组不再变化时,获取所述第一大组的数据量的均值与所述第一小组的数据量的均值的第一比值,若所述第一比值大于预设第一阈值,则确定所述规约结点为所述发生数据倾斜问题的第一问题结点;其中,所述第一分组更新操作包括:获取所述第一大组的数据量的均值与所述第一小组的数据量的均值的第一差值,以所述第一差值作为分割点,重新对所述至少一个规约任务结点上处理的数据量进行分组,得到更新后的数据量高的第一大组和数据量低的第一小组。
数据倾斜问题,其实就是一个Reducer中不同task处理的数据量不均衡,有的task处理的数据量多,有的task处理的数据量少。其中,每个task可由一个规约任务结点(reduce结点)执行。
比如一个Reduder中对应8个reduce,用于执行8个task,各个reduce处理的数据量分别是20,70,105,125,131,214,456,523。
(1)首先计算均值得到205,以此分割数组为数据量较大的大组和数据量较小的小组,得到:小组【20,70,105,125,131】,大组【214,456,523】。
(2)分别求步骤1中小组的均值为90,大组的均值为397;大组的均值减去小组的均值,就得到新的分割点307,以此重新分割数组为小组和大组,得到:小组【20,70,105,125,131,214】,大组【456,523】。
(3)分别求步骤2中小组的均值为110,大组的均值为489;大组的均值减去小组的均值,就得到新的分割点379,以此重新分割数组为小组和大组,得到小组【20,70,105,125,131,214】,大组【456,523】。
(4)分组不再变化,计算大组的均值397除以小组的均值110的比值,为3.6,若根据数据量判断数据倾斜的阈值为3,则由于3.6>3,则从数据量的角度可以判断这个规约结点发生了数据倾斜。
本发明提供的数据倾斜代码块定位方法,通过根据数据量的均值初步分组,再根据两组的均值的差值更新分组,根据最终分组的均值之比与阈值的关系确认是否存在数据倾斜问题,提高了根据数据量确认数据倾斜问题结点的可靠性。
根据本发明提供的一种数据倾斜代码块定位方法,所述根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点,包括:根据运行源代码产生的日志文件获取规约结点对应的至少一个规约任务结点上的任务处理时长;获取所述至少一个规约任务结点上的任务处理时长的第二均值,以所述第二均值作为分割点,对所述至少一个规约任务结点上的任务处理时长进行分组,得到任务处理时长高的第二大组和任务处理时长低的第二小组;重复执行第二分组更新操作,直至分组不再变化时,获取所述第二大组的任务处理时长的均值与所述第二小组的任务处理时长的均值的第二比值,若所述第二比值大于预设第二阈值,则确定所述规约结点为所述发生数据倾斜问题的第二问题结点;其中,所述第二分组更新操作包括:获取所述第二大组的任务处理时长的均值与所述第二小组的任务处理时长的均值的第二差值,以所述第二差值作为分割点,重新对所述至少一个规约任务结点上的任务处理时长进行分组,得到更新后的任务处理时长高的第二大组和任务处理时长低的第二小组。
可以利用各个reduce执行task的任务处理时长判断数据倾斜问题。
比如一个Reduder中对应6个reduce,用于执行6个task,各个reduce的任务处理时长分别是1.2,1.1,1.2,1.3,1.2,25,单位:分钟。
(1)首先计算均值得到15.5,以此分割数组为数据量较大的大组和数据量较小的小组,得到:小组【1.2,1.1,1.2,1.3,1.2】,大组【25】。
(2)分别求步骤1中小组的均值为1.2,大组的均值为25;大组的均值减去小组的均值,就得到新的分割点23.8,以此重新分割数组为小组和大组,得到:小组【1.2,1.1,1.2,1.3,1.2】,大组【25】。
(3)分组不再变化,计算大组的均值25除以小组的均值1.2的比值,为20.8,若根据数据量判断数据倾斜的阈值为5,则由于20.8>5,则从任务运行时长的角度可以判断这个规约结点发生了数据倾斜。
本发明提供的数据倾斜代码块定位方法,通过根据任务运行时长的均值初步分组,再根据两组的均值的差值更新分组,根据最终分组的均值之比与阈值的关系确认是否存在数据倾斜问题,提高了根据任务运行时长确认数据倾斜问题结点的可靠性。
本发明提供的数据倾斜代码块定位方法,在识别到一个Reducer Vertex存在数据倾斜的情况下,定位到问题代码块的设计要点如下:
1、对源代码进行解析,生成抽象语法树(AST)。
2、从日志中获取Vertex(顶点)和Edge(边)的信息,生成有向无环图(DAG)。
3、抽象语法树与有向无环图进行结点匹配,找到问题结点所在的位置,即代码块位置。
本发明提供的数据倾斜代码块定位方法,可以在识别到任务中存在数据倾斜问题时,直接定位到该数据倾斜问题所在的代码块,可以直接进行优化,不需要再花费时间检查源代码中可能存在问题的代码块。
下面对本发明提供的数据倾斜代码块定位装置进行描述,下文描述的数据倾斜代码块定位装置与上文描述的数据倾斜代码块定位方法可相互对应参照。
图5是本发明提供的数据倾斜代码块定位装置的结构示意图。如图5所示,所述装置包括问题结点确定模块10、来源表确定模块20及定位模块30,其中:问题结点确定模块10用于:根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;来源表确定模块20用于:根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表;定位模块30用于:将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
本发明提供的数据倾斜代码块定位装置,通过根据有向无环图获取问题结点的来源表,将有向无环图和根据源代码解析得到的抽象语法树进行结点匹配,获取抽象语法树中与问题结点具有相同来源表的结点,根据具有相同来源表的结点的位置确定问题结点对应的代码块的位置,实现了在确认数据倾斜问题发生的同时数据倾斜代码块的快速定位,有利于快速优化数据倾斜问题。
根据本发明提供的一种数据倾斜代码块定位装置,定位模块30在用于获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点时,具体用于:遍历所述抽象语法树,获取与所述问题结点具有相同所述来源表的关联结点。
本发明提供的数据倾斜代码块定位装置,通过遍历抽象语法树,获取与问题结点具有相同来源表的关联结点,提高了结点匹配效率,进而提高了数据倾斜代码块定位效率。
根据本发明提供的一种数据倾斜代码块定位装置,定位模块30在用于根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置时,具体用于:根据所述关联结点的位置获取对应的关联条件结点的位置,以所述关联条件结点的位置作为所述问题结点对应的代码块的起始位置。
本发明提供的数据倾斜代码块定位装置,通过根据关联结点的位置获取对应的关联条件结点的位置,以关联条件结点的位置作为问题结点对应的代码块的起始位置,提高了数据倾斜代码块定位的精确性。
根据本发明提供的一种数据倾斜代码块定位装置,问题结点确定模块10具体用于:根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点;根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点;将所述第一问题结点和所述第二问题结点的交集确定为所述发生数据倾斜问题的问题结点。
本发明提供的数据倾斜代码块定位装置,通过从数据量和运行时长两方面判断是否存在数据倾斜问题,提高了数据倾斜问题结点确认的可靠性。
根据本发明提供的一种数据倾斜代码块定位装置,问题结点确定模块10在用于根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点时,具体用于:根据运行源代码产生的日志文件获取规约结点对应的至少一个规约任务结点上处理的数据量;获取所述至少一个规约任务结点上处理的数据量的第一均值,以所述第一均值作为分割点,对所述至少一个规约任务结点上处理的数据量进行分组,得到数据量高的第一大组和数据量低的第一小组;重复执行第一分组更新操作,直至分组不再变化时,获取所述第一大组的数据量的均值与所述第一小组的数据量的均值的第一比值,若所述第一比值大于预设第一阈值,则确定所述规约结点为所述发生数据倾斜问题的第一问题结点;其中,所述第一分组更新操作包括:获取所述第一大组的数据量的均值与所述第一小组的数据量的均值的第一差值,以所述第一差值作为分割点,重新对所述至少一个规约任务结点上处理的数据量进行分组,得到更新后的数据量高的第一大组和数据量低的第一小组。
本发明提供的数据倾斜代码块定位装置,通过根据数据量的均值初步分组,再根据两组的均值的差值更新分组,根据最终分组的均值之比与阈值的关系确认是否存在数据倾斜问题,提高了根据数据量确认数据倾斜问题结点的可靠性。
根据本发明提供的一种数据倾斜代码块定位装置,问题结点确定模块10在用于根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点时,具体用于:根据运行源代码产生的日志文件获取规约结点对应的至少一个规约任务结点上的任务处理时长;获取所述至少一个规约任务结点上的任务处理时长的第二均值,以所述第二均值作为分割点,对所述至少一个规约任务结点上的任务处理时长进行分组,得到任务处理时长高的第二大组和任务处理时长低的第二小组;重复执行第二分组更新操作,直至分组不再变化时,获取所述第二大组的任务处理时长的均值与所述第二小组的任务处理时长的均值的第二比值,若所述第二比值大于预设第二阈值,则确定所述规约结点为所述发生数据倾斜问题的第二问题结点;其中,所述第二分组更新操作包括:获取所述第二大组的任务处理时长的均值与所述第二小组的任务处理时长的均值的第二差值,以所述第二差值作为分割点,重新对所述至少一个规约任务结点上的任务处理时长进行分组,得到更新后的任务处理时长高的第二大组和任务处理时长低的第二小组。
本发明提供的数据倾斜代码块定位装置,通过根据任务运行时长的均值初步分组,再根据两组的均值的差值更新分组,根据最终分组的均值之比与阈值的关系确认是否存在数据倾斜问题,提高了根据任务运行时长确认数据倾斜问题结点的可靠性。
图6是本发明提供的电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行数据倾斜代码块定位方法,该方法包括:根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表;将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据倾斜代码块定位方法,该方法包括:根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表;将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据倾斜代码块定位方法,该方法包括:根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表;将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据倾斜代码块定位方法,其特征在于,包括:
根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;
根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表;
将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
2.根据权利要求1所述的数据倾斜代码块定位方法,其特征在于,所述获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,包括:
遍历所述抽象语法树,获取与所述问题结点具有相同所述来源表的关联结点。
3.根据权利要求2所述的数据倾斜代码块定位方法,其特征在于,所述根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置,包括:
根据所述关联结点的位置获取对应的关联条件结点的位置,以所述关联条件结点的位置作为所述问题结点对应的代码块的起始位置。
4.根据权利要求1所述的数据倾斜代码块定位方法,其特征在于,所述根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点,包括:
根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点;
根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点;
将所述第一问题结点和所述第二问题结点的交集确定为所述发生数据倾斜问题的问题结点。
5.根据权利要求4所述的数据倾斜代码块定位方法,其特征在于,所述根据结点处理的数据量的均衡性获取发生数据倾斜问题的第一问题结点,包括:
根据运行源代码产生的日志文件获取规约结点对应的至少一个规约任务结点上处理的数据量;
获取所述至少一个规约任务结点上处理的数据量的第一均值,以所述第一均值作为分割点,对所述至少一个规约任务结点上处理的数据量进行分组,得到数据量高的第一大组和数据量低的第一小组;
重复执行第一分组更新操作,直至分组不再变化时,获取所述第一大组的数据量的均值与所述第一小组的数据量的均值的第一比值,若所述第一比值大于预设第一阈值,则确定所述规约结点为所述发生数据倾斜问题的第一问题结点;
其中,所述第一分组更新操作包括:获取所述第一大组的数据量的均值与所述第一小组的数据量的均值的第一差值,以所述第一差值作为分割点,重新对所述至少一个规约任务结点上处理的数据量进行分组,得到更新后的数据量高的第一大组和数据量低的第一小组。
6.根据权利要求4所述的数据倾斜代码块定位方法,其特征在于,所述根据结点运行时长的均衡性获取发生数据倾斜问题的第二问题结点,包括:
根据运行源代码产生的日志文件获取规约结点对应的至少一个规约任务结点上的任务处理时长;
获取所述至少一个规约任务结点上的任务处理时长的第二均值,以所述第二均值作为分割点,对所述至少一个规约任务结点上的任务处理时长进行分组,得到任务处理时长高的第二大组和任务处理时长低的第二小组;
重复执行第二分组更新操作,直至分组不再变化时,获取所述第二大组的任务处理时长的均值与所述第二小组的任务处理时长的均值的第二比值,若所述第二比值大于预设第二阈值,则确定所述规约结点为所述发生数据倾斜问题的第二问题结点;
其中,所述第二分组更新操作包括:获取所述第二大组的任务处理时长的均值与所述第二小组的任务处理时长的均值的第二差值,以所述第二差值作为分割点,重新对所述至少一个规约任务结点上的任务处理时长进行分组,得到更新后的任务处理时长高的第二大组和任务处理时长低的第二小组。
7.一种数据倾斜代码块定位装置,其特征在于,包括:
问题结点确定模块,用于:根据运行源代码产生的日志文件获取发生数据倾斜问题的问题结点;
来源表确定模块,用于:根据所述日志文件获取有向无环图的顶点和边的信息,根据所述顶点和边的信息生成有向无环图,根据所述问题结点在所述有向无环图中的位置获取所述问题结点的来源表;
定位模块,用于:将所述有向无环图和根据所述源代码解析得到的抽象语法树进行结点匹配,获取所述抽象语法树中与所述问题结点具有相同所述来源表的结点,根据所述具有相同所述来源表的结点的位置确定所述问题结点对应的代码块的位置。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述数据倾斜代码块定位方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据倾斜代码块定位方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据倾斜代码块定位方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210541638.0A CN115185525B (zh) | 2022-05-17 | 2022-05-17 | 数据倾斜代码块定位方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210541638.0A CN115185525B (zh) | 2022-05-17 | 2022-05-17 | 数据倾斜代码块定位方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115185525A true CN115185525A (zh) | 2022-10-14 |
CN115185525B CN115185525B (zh) | 2023-07-18 |
Family
ID=83513870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210541638.0A Active CN115185525B (zh) | 2022-05-17 | 2022-05-17 | 数据倾斜代码块定位方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115185525B (zh) |
Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2096534A1 (en) * | 2008-02-29 | 2009-09-02 | ITI Scotland Limited | System representation and handling techniques |
CN102185930A (zh) * | 2011-06-09 | 2011-09-14 | 北京理工大学 | 一种sql注入漏洞检测方法 |
US20110302583A1 (en) * | 2010-06-04 | 2011-12-08 | Yale University | Systems and methods for processing data |
CN102375826A (zh) * | 2010-08-13 | 2012-03-14 | 中国移动通信集团公司 | Sql脚本解析方法、装置及系统 |
CN102609609A (zh) * | 2010-12-09 | 2012-07-25 | 通用汽车环球科技运作有限责任公司 | 比较和合并缺陷模型的关系图匹配系统 |
US20130239111A1 (en) * | 2013-04-30 | 2013-09-12 | Splunk Inc. | Top-Down Performance Assessment of a Hypervisor |
US20130318540A1 (en) * | 2011-02-01 | 2013-11-28 | Nec Corporation | Data flow graph processing device, data flow graph processing method, and data flow graph processing program |
US20150278073A1 (en) * | 2014-03-28 | 2015-10-01 | International Business Machines Corporation | Logging code generation and distribution |
CN105930479A (zh) * | 2016-04-28 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种数据倾斜处理方法及装置 |
JP2016173686A (ja) * | 2015-03-16 | 2016-09-29 | 国立大学法人岩手大学 | 情報処理装置 |
CN107292170A (zh) * | 2016-04-05 | 2017-10-24 | 阿里巴巴集团控股有限公司 | Sql注入攻击的检测方法及装置、系统 |
US20180182165A1 (en) * | 2016-12-25 | 2018-06-28 | Facebook, Inc. | Shape prediction model compression for face alignment |
CN110164216A (zh) * | 2019-05-23 | 2019-08-23 | 福建工程学院 | 一种sql在线评测系统 |
EP3582443A1 (de) * | 2018-06-11 | 2019-12-18 | AIT Austrian Institute of Technology GmbH | Grammatikerkennung |
CN110659494A (zh) * | 2019-09-27 | 2020-01-07 | 重庆邮电大学 | 一种可扩展的智能合约漏洞检测方法 |
CN110704290A (zh) * | 2019-09-27 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 日志分析方法及装置 |
CN111399843A (zh) * | 2020-03-11 | 2020-07-10 | 中国邮政储蓄银行股份有限公司 | 将sql运行信息映射到sql文件的方法、系统及电子设备 |
US20200349161A1 (en) * | 2019-04-30 | 2020-11-05 | Microsoft Technology Licensing, Llc | Learned resource consumption model for optimizing big data queries |
CN112181704A (zh) * | 2020-09-28 | 2021-01-05 | 京东数字科技控股股份有限公司 | 一种大数据任务处理方法、装置、电子设备及存储介质 |
CN112765603A (zh) * | 2021-01-28 | 2021-05-07 | 电子科技大学 | 一种结合系统日志与起源图的异常溯源方法 |
WO2021088385A1 (zh) * | 2019-11-06 | 2021-05-14 | 国网上海市电力公司 | 一种在线日志解析方法、系统及其电子终端设备 |
US20210165788A1 (en) * | 2019-12-03 | 2021-06-03 | Embarcadero Technologies, Inc. | Systems and methods for addressing errors in sql statements |
CN112948726A (zh) * | 2021-03-29 | 2021-06-11 | 建信金融科技有限责任公司 | 一种处理异常信息的方法、装置和系统 |
US20210182031A1 (en) * | 2020-12-23 | 2021-06-17 | Intel Corporation | Methods and apparatus for automatic detection of software bugs |
CN113032642A (zh) * | 2019-12-24 | 2021-06-25 | 医渡云(北京)技术有限公司 | 针对目标对象的数据处理方法、装置、介质及电子设备 |
WO2021203260A1 (zh) * | 2020-04-08 | 2021-10-14 | 云图技术有限公司 | 一种节点匹配方法、装置、设备及系统 |
CN113596078A (zh) * | 2021-06-17 | 2021-11-02 | 微梦创科网络科技(中国)有限公司 | 业务问题定位方法及装置 |
US20220012163A1 (en) * | 2021-09-23 | 2022-01-13 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to detect code defects |
CN114047923A (zh) * | 2021-11-16 | 2022-02-15 | 北京字节跳动网络技术有限公司 | 错误代码定位方法、装置、存储介质以及电子设备 |
CN114329455A (zh) * | 2022-03-08 | 2022-04-12 | 北京大学 | 基于异构图嵌入的用户异常行为检测方法及装置 |
-
2022
- 2022-05-17 CN CN202210541638.0A patent/CN115185525B/zh active Active
Patent Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2096534A1 (en) * | 2008-02-29 | 2009-09-02 | ITI Scotland Limited | System representation and handling techniques |
US20110302583A1 (en) * | 2010-06-04 | 2011-12-08 | Yale University | Systems and methods for processing data |
CN102375826A (zh) * | 2010-08-13 | 2012-03-14 | 中国移动通信集团公司 | Sql脚本解析方法、装置及系统 |
CN102609609A (zh) * | 2010-12-09 | 2012-07-25 | 通用汽车环球科技运作有限责任公司 | 比较和合并缺陷模型的关系图匹配系统 |
US20130318540A1 (en) * | 2011-02-01 | 2013-11-28 | Nec Corporation | Data flow graph processing device, data flow graph processing method, and data flow graph processing program |
CN102185930A (zh) * | 2011-06-09 | 2011-09-14 | 北京理工大学 | 一种sql注入漏洞检测方法 |
US20130239111A1 (en) * | 2013-04-30 | 2013-09-12 | Splunk Inc. | Top-Down Performance Assessment of a Hypervisor |
US20150278073A1 (en) * | 2014-03-28 | 2015-10-01 | International Business Machines Corporation | Logging code generation and distribution |
JP2016173686A (ja) * | 2015-03-16 | 2016-09-29 | 国立大学法人岩手大学 | 情報処理装置 |
CN107292170A (zh) * | 2016-04-05 | 2017-10-24 | 阿里巴巴集团控股有限公司 | Sql注入攻击的检测方法及装置、系统 |
CN105930479A (zh) * | 2016-04-28 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种数据倾斜处理方法及装置 |
US20180182165A1 (en) * | 2016-12-25 | 2018-06-28 | Facebook, Inc. | Shape prediction model compression for face alignment |
EP3582443A1 (de) * | 2018-06-11 | 2019-12-18 | AIT Austrian Institute of Technology GmbH | Grammatikerkennung |
US20200349161A1 (en) * | 2019-04-30 | 2020-11-05 | Microsoft Technology Licensing, Llc | Learned resource consumption model for optimizing big data queries |
CN110164216A (zh) * | 2019-05-23 | 2019-08-23 | 福建工程学院 | 一种sql在线评测系统 |
CN110659494A (zh) * | 2019-09-27 | 2020-01-07 | 重庆邮电大学 | 一种可扩展的智能合约漏洞检测方法 |
CN110704290A (zh) * | 2019-09-27 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 日志分析方法及装置 |
WO2021088385A1 (zh) * | 2019-11-06 | 2021-05-14 | 国网上海市电力公司 | 一种在线日志解析方法、系统及其电子终端设备 |
US20210165788A1 (en) * | 2019-12-03 | 2021-06-03 | Embarcadero Technologies, Inc. | Systems and methods for addressing errors in sql statements |
CN113032642A (zh) * | 2019-12-24 | 2021-06-25 | 医渡云(北京)技术有限公司 | 针对目标对象的数据处理方法、装置、介质及电子设备 |
CN111399843A (zh) * | 2020-03-11 | 2020-07-10 | 中国邮政储蓄银行股份有限公司 | 将sql运行信息映射到sql文件的方法、系统及电子设备 |
WO2021203260A1 (zh) * | 2020-04-08 | 2021-10-14 | 云图技术有限公司 | 一种节点匹配方法、装置、设备及系统 |
CN112181704A (zh) * | 2020-09-28 | 2021-01-05 | 京东数字科技控股股份有限公司 | 一种大数据任务处理方法、装置、电子设备及存储介质 |
US20210182031A1 (en) * | 2020-12-23 | 2021-06-17 | Intel Corporation | Methods and apparatus for automatic detection of software bugs |
CN112765603A (zh) * | 2021-01-28 | 2021-05-07 | 电子科技大学 | 一种结合系统日志与起源图的异常溯源方法 |
CN112948726A (zh) * | 2021-03-29 | 2021-06-11 | 建信金融科技有限责任公司 | 一种处理异常信息的方法、装置和系统 |
CN113596078A (zh) * | 2021-06-17 | 2021-11-02 | 微梦创科网络科技(中国)有限公司 | 业务问题定位方法及装置 |
US20220012163A1 (en) * | 2021-09-23 | 2022-01-13 | Intel Corporation | Methods, systems, articles of manufacture and apparatus to detect code defects |
CN114047923A (zh) * | 2021-11-16 | 2022-02-15 | 北京字节跳动网络技术有限公司 | 错误代码定位方法、装置、存储介质以及电子设备 |
CN114329455A (zh) * | 2022-03-08 | 2022-04-12 | 北京大学 | 基于异构图嵌入的用户异常行为检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
周超: "面向云服务的日志处理系统关键技术研发", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑(月刊)2021 年 第05期》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115185525B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8136095B2 (en) | Relations in fuzzing data | |
CN108710662B (zh) | 语言转换方法和装置、存储介质、数据查询系统和方法 | |
KR101919771B1 (ko) | 데이터베이스 애플리케이션을 위한 최적화 기법 | |
US9563714B2 (en) | Mapping selections between a browser and the original file fetched from a web server | |
CN111143470A (zh) | 跨平台数据库数据同步比对方法及装置 | |
CN107832391B (zh) | 一种数据查询方法和系统 | |
CN111752846A (zh) | 一种接口测试方法及装置 | |
CN112860265A (zh) | 一种源代码数据库操作异常检测方法及装置 | |
CN116368494A (zh) | 一种神经网络编译优化方法和相关装置 | |
CN113901083A (zh) | 基于多解析器的异构数据源操作资源解析定位方法和设备 | |
CN111553652A (zh) | 业务处理方法及装置 | |
CN115185525B (zh) | 数据倾斜代码块定位方法、装置、设备及介质 | |
CN109947429B (zh) | 数据处理方法及装置 | |
EP4242832A1 (en) | Method and apparatus for parsing programming language, and non-volatile storage medium | |
CN116204532A (zh) | 一种基于dcg的图索引迁移方法及装置 | |
WO2000022523A1 (en) | Apparatus and method for program optimizing | |
CN110580170A (zh) | 软件性能风险的识别方法及装置 | |
US11074401B2 (en) | Merging delta object notation documents | |
CN116956299A (zh) | 源代码的漏洞检测方法、装置、电子设备和存储介质 | |
CN114661298A (zh) | 公共方法自动生成方法、系统、设备及介质 | |
US11023674B2 (en) | Generation and application of object notation deltas | |
CN114281842A (zh) | 一种数据库分表查询的方法及设备 | |
CN111680474A (zh) | 文件乱码修复方法及装置 | |
CN113158640A (zh) | 代码相似度的检测方法及装置、存储介质、电子设备 | |
CN111209295B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |