CN117472935A - 业务风险的确定方法、装置、存储介质及电子设备 - Google Patents
业务风险的确定方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117472935A CN117472935A CN202311361815.8A CN202311361815A CN117472935A CN 117472935 A CN117472935 A CN 117472935A CN 202311361815 A CN202311361815 A CN 202311361815A CN 117472935 A CN117472935 A CN 117472935A
- Authority
- CN
- China
- Prior art keywords
- data source
- data
- statement
- determining
- task execution
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 124
- 238000004364 calculation method Methods 0.000 claims abstract description 79
- 238000010586 diagram Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000002159 abnormal effect Effects 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000005856 abnormality Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0635—Risk analysis of enterprise or organisation activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Mathematical Physics (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种业务风险的确定方法、装置、存储介质及电子设备。该方法包括:获取目标业务的数据源关系图,其中,数据源关系图由节点和有向边组成,一个节点表示目标业务所关联的一个数据源,有向边表示数据源之间的数据流关系,数据流关系由目标业务下的流计算任务确定,流计算任务用于处理数据源中的数据;在执行目标业务的过程中,在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,并依据流计算任务匹配的数据源定位目标业务的业务风险。本发明解决了相关技术中业务的流计算任务的执行出现问题时,难以定位业务风险的技术问题。
Description
技术领域
本发明涉及流数据计算领域,具体而言,涉及一种业务风险的确定方法、装置、存储介质及电子设备。
背景技术
流计算任务是一种实时处理数据的任务,它对不断产生的数据流进行实时处理和分析。在一个复杂的业务系统中,有数十个上百个流计算任务运行,这些流计算任务用于对业务系统中的业务数据进行处理,以保证业务的正常运行。目前,在相关技术中,在流计算任务的执行出现问题时,只能依赖人工定位业务风险,但这种定位方式很大程度上会受到人工专业能力的影响,从而常常难以准确定位业务风险。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种业务风险的确定方法、装置、存储介质及电子设备,以至少解决相关技术中业务的流计算任务的执行出现问题时,难以定位业务风险的技术问题。
根据本发明实施例的一个方面,提供了一种业务风险的确定方法,包括:获取目标业务的数据源关系图,其中,数据源关系图由节点和有向边组成,一个节点表示目标业务所关联的一个数据源,有向边表示数据源之间的数据流关系,数据流关系由目标业务下的流计算任务确定,流计算任务用于处理数据源中的数据;在执行目标业务的过程中,在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,并依据流计算任务匹配的数据源定位目标业务的业务风险。
进一步地,业务风险的确定方法还包括:获取多个任务执行语句,其中,不同的任务执行语句用于描述目标业务下的不同流计算任务;对于每个任务执行语句,根据任务执行语句的语句内容确定任务执行语句匹配的输入数据源和输出数据源;根据各个任务执行语句匹配的输入数据源、输出数据源以及任务执行语句匹配的流计算任务,构建数据源关系图,其中,有向边由输入数据源指向输出数据源,且有向边与流计算任务存在对应关系。
进一步地,业务风险的确定方法还包括:根据任务执行语句的语句内容确定任务执行语句匹配的至少一个数据源;对于任务执行语句匹配的每个数据源,根据任务执行语句的语句内容确定数据源的数据源种类,其中,数据源种类为输入数据源或输出数据源。
进一步地,业务风险的确定方法还包括:从任务执行语句中查找到至少一条数据源信息;对于每条数据源信息,根据数据源信息中的连接参数确定数据源信息匹配的数据源的数据源类型;依据数据源类型匹配的解析方式,对数据源信息中除连接参数以外的信息进行解析,得到数据源信息匹配的数据源的标识、存储地址;依据数据源信息匹配的数据源的标识、存储地址确定数据源信息匹配的数据源;将所有数据源信息匹配的数据源确定为任务执行语句匹配的数据源。
进一步地,业务风险的确定方法还包括:从任务执行语句中查找到至少一条数据处理信息;根据数据处理信息中的数据处理语句以及数据处理语句与数据源之间的对应关系,确定数据源的数据源种类。
进一步地,业务风险的确定方法还包括:从各个数据源信息中查找到数据源信息中记录的临时标识;根据数据处理语句与临时标识之间的对应关系、临时标识所属的数据源信息以及数据源信息与数据源之间的匹配关系,确定数据处理语句与数据源之间的对应关系。
进一步地,业务风险的确定方法还包括:若数据处理语句为查询类语句,则确定数据处理语句对应的数据源为输入数据源;若数据处理语句为插入类语句或更新类语句,则确定数据处理语句对应的数据源为输出数据源。
根据本发明实施例的另一方面,还提供了一种业务风险的确定装置,包括:第一获取模块,用于获取目标业务的数据源关系图,其中,数据源关系图由节点和有向边组成,一个节点表示目标业务所关联的一个数据源,有向边表示数据源之间的数据流关系,数据流关系由目标业务下的流计算任务确定,流计算任务用于处理数据源中的数据;处理模块,用于在执行目标业务的过程中,在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,并依据流计算任务匹配的数据源定位目标业务的业务风险。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的业务风险的确定方法。
根据本发明实施例的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的业务风险的确定方法。
在本发明实施例中,采用在流计算任务执行异常时,依据数据源之间的数据流关系定位目标业务的业务风险的方式,通过获取目标业务的数据源关系图,从而在执行目标业务的过程中,在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,并依据流计算任务匹配的数据源定位目标业务的业务风险。其中,数据源关系图由节点和有向边组成,一个节点表示目标业务所关联的一个数据源,有向边表示数据源之间的数据流关系,数据流关系由目标业务下的流计算任务确定,流计算任务用于处理数据源中的数据。
在上述过程中,通过获取目标业务的数据源关系图,实现了对目标业务下的数据源之间的数据流关系的有效确定,也即实现了对流计算任务与数据源之间的处理关系的有效确定,进一步地,在执行目标业务的过程中,通过在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,实现了对可能导致流计算任务异常的数据源以及流计算任务异常所影响到的数据源的有效确定,进而使得依据流计算任务匹配的数据源定位目标业务的业务风险时,可以实现对业务风险的准确定位。
由此可见,本申请所提供的方案达到了在流计算任务执行异常时,依据数据源之间的数据流关系定位目标业务的业务风险的目的,从而实现了准确定位业务风险的技术效果,进而解决了相关技术中业务的流计算任务的执行出现问题时,难以定位业务风险的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的业务风险的确定方法的示意图;
图2是根据本发明实施例的一种可选的数据源关系图的示意图;
图3是根据本发明实施例的一种可选的业务风险的确定装置的示意图;
图4是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
实施例1
根据本发明实施例,提供了一种业务风险的确定方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的业务风险的确定方法的示意图,如图1所示,该方法包括如下步骤:
步骤S101,获取目标业务的数据源关系图,其中,数据源关系图由节点和有向边组成,一个节点表示目标业务所关联的一个数据源,有向边表示数据源之间的数据流关系,数据流关系由目标业务下的流计算任务确定,流计算任务用于处理数据源中的数据。
可选的,可以将电子设备、应用系统、服务器等装置作为本申请的执行主体。在本实施例中,将目标处理系统作为执行主体。可选的,本实施例中的流计算任务可以是利用Flink集群处理的流计算任务,也即Flink流计算任务,Apache Flink是一个在有界数据流和无界数据流上进行有状态计算分布式处理引擎和框架,并且提供了SQL支持,可以通过编写FlinkSQL提交流计算任务。
其中,上述目标业务的数据源关系图可以是目标处理系统所预先构建的,在构建数据源关系图的过程中,目标处理系统可以对目标业务下的流计算任务进行分析,以确定各个流计算任务的输入数据源和输出数据源,从而依据各个流计算任务的输入数据源和输出数据源确定数据源之间的数据流关系,进而构建得到数据源关系图。例如,数据源关系图中存在一条由A节点指向B节点的有向边,这条有向边可以用于表征B节点对应的数据源中的数据基于A节点对应的数据源中的数据所确定,数据源可以指代数据表,也可以指代其它数据承载体。
步骤S102,在执行目标业务的过程中,在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,并依据流计算任务匹配的数据源定位目标业务的业务风险。
可选的,在执行目标业务的过程中,也即执行目标业务下的流计算任务的过程中,若存在流计算任务执行异常,则目标处理系统可以从数据源关系图中确定流计算任务匹配的数据源,例如,流计算任务匹配的数据源可以是指流计算任务所匹配的输入数据源和输出数据源。
进一步地,例如,若流计算任务匹配的数据源的数据内容为用户交易数据,则可以确定目标业务中的交易事件存在业务风险,若流计算任务匹配的数据源的数据内容为用户信息,则可以确定目标业务中的需要使用到用户信息的事件存在业务风险。由此,实现对目标业务的业务风险的准确定位。
基于上述步骤S101至步骤S102所限定的方案,可以获知,在本发明实施例中,采用在流计算任务执行异常时,依据数据源之间的数据流关系定位目标业务的业务风险的方式,通过获取目标业务的数据源关系图,从而在执行目标业务的过程中,在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,并依据流计算任务匹配的数据源定位目标业务的业务风险。其中,数据源关系图由节点和有向边组成,一个节点表示目标业务所关联的一个数据源,有向边表示数据源之间的数据流关系,数据流关系由目标业务下的流计算任务确定,流计算任务用于处理数据源中的数据。
容易注意到的是,在上述过程中,通过获取目标业务的数据源关系图,实现了对目标业务下的数据源之间的数据流关系的有效确定,也即实现了对流计算任务与数据源之间的处理关系的有效确定,进一步地,在执行目标业务的过程中,通过在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,实现了对可能导致流计算任务异常的数据源以及流计算任务异常所影响到的数据源的有效确定,进而使得依据流计算任务匹配的数据源定位目标业务的业务风险时,可以实现对业务风险的准确定位。
由此可见,本申请所提供的方案达到了在流计算任务执行异常时,依据数据源之间的数据流关系定位目标业务的业务风险的目的,从而实现了准确定位业务风险的技术效果,进而解决了相关技术中业务的流计算任务的执行出现问题时,难以定位业务风险的技术问题。
在一种可选的实施例中,目标处理系统可以通过以下方式生成数据源关系图:获取多个任务执行语句,其中,不同的任务执行语句用于描述目标业务下的不同流计算任务;对于每个任务执行语句,根据任务执行语句的语句内容确定任务执行语句匹配的输入数据源和输出数据源;根据各个任务执行语句匹配的输入数据源、输出数据源以及任务执行语句匹配的流计算任务,构建数据源关系图,其中,有向边由输入数据源指向输出数据源,且有向边与流计算任务存在对应关系。
可选的,在本实施例中,业务系统向Flink集群提交任务执行语句,然后由Flink集群依据任务执行语句执行其中所描述的流计算任务,其中,任务执行语句可以是FlinkSQL语句。
目标处理系统可以获取目标业务下的多个任务执行语句,然后对于每个任务执行语句,根据任务执行语句的语句内容确定任务执行语句匹配的输入数据源和输出数据源。其中,多个任务执行语句可以是目标业务下正在执行的任务执行语句,也可以是目标业务下的所有任务执行语句,还可以根据实际应用需求,选取目标业务下处于其它执行状态的任务执行语句作为所需要获取的任务执行语句。输入数据源可以理解为目标处理系统的数据处理对象所在的数据源,输出数据源可以理解为应当写入目标处理系统处理得到的数据的数据源。此外,一个任务执行语句可以匹配至少一个输入数据源和至少一个输出数据源,且根据应用场景的不同,在某种情况下,一个任务执行语句可以只匹配至少一个输入数据源而不匹配输出数据源,例如,该任务执行语句用于指示将处理得到的数据直接反馈给用户,此时不存在输出数据源。
进一步地,目标处理系统可以根据各个任务执行语句匹配的输入数据源、输出数据源以及任务执行语句匹配的流计算任务,构建数据源关系图。其中,在本实施例中,数据源关系图中一条由A节点指向B节点的有向边可以用于表征B节点对应的数据源中的数据基于A节点对应的数据源中的数据所确定,其中,A节点对应的数据源即为输入数据源,B节点对应的数据源即为输出数据源。且需要说明的是,输入数据源和输出数据源为相对某一具体的流计算任务而言的,即对于不同的流计算任务,某一数据源可能为输入数据源,也可能为输出数据源。此外,有向边与流计算任务一一对应,例如,若A节点对应的数据源和B节点对应的数据源分别为某一任务执行语句匹配的输入数据源和输出数据源,则A节点对应的数据源与B节点对应的数据源之间的有向边与任务执行语句匹配的流计算任务之间存在对应关系。
例如,某一任务执行语句匹配的输入数据源和输出数据源可以如表1所示:
表1
在表1中,目标业务为BIZ_A,任务执行语句匹配的流计算任务为TASK_A,1号数据源和5号数据源为任务执行语句匹配的输入数据源,3号数据源为任务执行语句匹配的输出数据源。
进一步地,目标业务下各个任务执行语句匹配的输入数据源和输出数据源可以如表2所示:
表2
在表2中,目标业务下有TASK_A、TASK_B、TASK_C三个流计算任务,也即有三个任务执行语句。
更进一步地,依据表2中所示的内容,目标处理系统可以构建得到如图2所示的数据源关系图,如图2所示,在图2中1号表(即1(kafka TOPIC_A))和5号表(即5(mysql T_MY_COUNT))经由TASK_A流计算任务指向2号表(即2(kafka TOPIC_B)),2号表经由TASK_B流计算任务指向3号表(即3(es ES_INDEX_*)),且2号表和1号表经由TASK_C流计算任务指向6号表(即6(redis REDIS_KEY_A))和7号表(即7(doris DORIS_T_A))。
由此可见,通过设置有向边由输入数据源指向输出数据源,并设置有向边与流计算任务存在对应关系,实现了对目标业务下的数据源之间的数据流关系的有效确定。
在一种可选的实施例中,在根据任务执行语句的语句内容确定任务执行语句匹配的输入数据源和输出数据源的过程中,目标处理系统可以根据任务执行语句的语句内容确定任务执行语句匹配的至少一个数据源,从而对于任务执行语句匹配的每个数据源,根据任务执行语句的语句内容确定数据源的数据源种类,其中,数据源种类为输入数据源或输出数据源。
可选的,每个任务执行语句中包括至少一条数据源信息和至少一条数据处理信息,数据处理信息用于描述对数据源中数据的处理方式。目标处理系统可以根据任务执行语句中的数据源信息确定任务执行语句匹配的至少一个数据源,根据任务执行语句中的数据处理信息确定数据源的数据源种类。
需要说明的是,通过依据任务执行语句的语句内容确定任务执行语句匹配的输入数据源和输出数据源,实现了对输入数据源和输出数据源的准确确定,且避免了对额外数据的获取,提高了处理效率。
在一种可选的实施例中,在根据任务执行语句的语句内容确定任务执行语句匹配的至少一个数据源的过程中,目标处理系统可以从任务执行语句中查找到至少一条数据源信息,然后对于每条数据源信息,根据数据源信息中的连接参数确定数据源信息匹配的数据源的数据源类型,接着依据数据源类型匹配的解析方式,对数据源信息中除连接参数以外的信息进行解析,得到数据源信息匹配的数据源的标识、存储地址,并依据数据源信息匹配的数据源的标识、存储地址确定数据源信息匹配的数据源,从而将所有数据源信息匹配的数据源确定为任务执行语句匹配的数据源。
可选的,目标处理系统可以依据任务执行语句中的关键字段查找到至少一条数据源信息,关键字段可以是CREATETABLE。进一步地,当查找到数据源信息之后,对于每条数据源信息,目标处理系统可以将CREATETABLE后的关键词确定为数据源在Flink集群中的临时标识,并根据数据源信息中的连接参数确定数据源信息匹配的数据源的数据源类型,例如,连接参数对应的字段可以是“connector”、“driver”等。更进一步地,目标处理系统内预设有各个数据源类型匹配的解析方式,目标处理系统可以依据确定的数据源类型所匹配的解析方式,对数据源信息中除连接参数以外的信息进行解析,从而依据对应的字段找到数据源信息匹配的数据源的标识、存储地址,例如,对应的字段可以是“url”、“table-nam”、“properties.bootstrap.servers”等。其中,数据源的标识是指数据源在数据库中的真实标识。
可选的,数据源类型可以是MySQL、Kafka、ES等类型。例如,当数据源类型为MySQL时,一种可选的任务执行语句可以如下所示:
CREATE TABLE MYSQL_SOURCE(
FIELD VARCHAR
)WITH(
'connector'='jdbc',
'url'='192.168.1.1:3306/database',
'table-name'='T_MY_COUNT,
'driver'='com.mysql.jdbc.Driver'
);
其中,当connector=jdbc且dirver=com.mysql.jdbc.Driver时可确定数据源的数据源类型为MySQL。之后,目标处理系统可以依据MySQL匹配的解析方式,解析得到数据源的存储地址为192.168.1.1,存储数据库库名为database,数据源的标识为T_MY_COUNT。
当数据源类型为Kafka时,一种可选的任务执行语句可以如下所示:
CREATE TABLE LOG(
log VARCHAR
)
WITH(
'properties.bootstrap.servers'='192.168.1.1:9092',
'connector'='kafka',
'topic'='TOPIC_A',
'properties.group.id'='group'
);
其中,当connector=kafka时可确定数据源的数据源类型为Kafka。之后,目标处理系统可以依据Kafka匹配的解析方式,解析得到数据源的存储地址为192.168.1.1:9092,数据源的标识为TOPIC_A,且Kafka默认定义数据库名为default。
当数据源类型为ES时,一种可选的任务执行语句可以如下所示:
当时即为
CREATE TABLE ES_SINK(
DATA VARCHAR
)
WITH(
'connector'='elasticsearch-7',
'hosts'='192.168.1.1:9200,192.168.1.2:9200',
'index'='INDEX_B_{in_date|yyyyMM}'
);
其中,当connector=elasticsearch-7时可确定数据源的数据源类型为ES。之后,目标处理系统可以依据ES匹配的解析方式,解析得到数据源的存储地址为192.168.1.1:9200,192.168.1.2:9200,数据源的标识为TOPIC_B_*,且ES默认定义数据库名为default。
进一步地,目标处理系统中存储有数据源的标识、存储地址与数据源之间的匹配关系。一种可选的匹配关系如表3所示:
表3
由表3可知,上述数据源类型为MySQL的任务执行语句所匹配的数据源为5号数据源,且其与临时标识MYSQL_SOURCE匹配。上述数据源类型为Kafka的任务执行语句所匹配的数据源为1号数据源,且其与临时标识LOG匹配。上述数据源类型为ES的任务执行语句所匹配的数据源为4号数据源,且其与临时标识ES_SINK匹配。
需要说明的是,通过依据数据源类型匹配的解析方式对数据源信息进行解析,实现了对描述不同类型的数据源的数据源信息的信息内容的有效获取,从而可以实现对任务执行语句匹配的数据源的准确确定。
在一种可选的实施例中,在根据任务执行语句的语句内容确定数据源的数据源种类的过程中,目标处理系统可以从任务执行语句中查找到至少一条数据处理信息,从而根据数据处理信息中的数据处理语句以及数据处理语句与数据源之间的对应关系,确定数据源的数据源种类。
可选的,数据处理语句包括但不限于查询类语句、插入类语句、更新类语句等,查询类语句可以是SELECT、JOIN等语句,插入类语句可以是INSERTINTO语句,更新类语句可以是UPDATE语句。目标处理系统可以根据任务执行语句确定数据处理语句与数据源之间的对应关系,然后根据数据处理语句与数据源种类之间的对应关系,确定数据源的数据源种类。
需要说明的是,通过根据数据处理语句确定数据源的数据源种类,实现了对数据源种类的准确确定,且避免了对额外数据的获取,从而还可以提高处理效率。
在一种可选的实施例中,数据处理信息中记录有数据处理语句与数据源的临时标识之间的对应关系,其中,在根据数据处理信息中的数据处理语句以及数据处理语句与数据源之间的对应关系,确定数据源的数据源种类之前,目标处理系统可以从各个数据源信息中查找到数据源信息中记录的临时标识,从而根据数据处理语句与临时标识之间的对应关系、临时标识所属的数据源信息以及数据源信息与数据源之间的匹配关系,确定数据处理语句与数据源之间的对应关系。
可选的,目标处理系统可以根据临时标识所属的数据源信息以及数据源信息与数据源之间的匹配关系,确定临时标识与数据源之间的匹配关系,例如上述的5号数据源与临时标识MYSQL_SOURCE匹配,1号数据源与临时标识LOG匹配,4号数据源与临时标识ES_SINK匹配。
进一步地,目标处理系统可以从数据处理信息中确定数据处理语句与数据源的临时标识之间的对应关系。例如,一种可选的数据处理信息如下所示:
INSERT INTO ES_SINK
SELECT
*
FROM LOG INNER JOIN MYSQL_SOURCE FOR SYSTEM_TIME AS OF LOG.time ONLOG.name=MYSQL_SOURCE.name;
在该数据处理语句中,INSERT INTO语句与临时标识ES_SINK匹配,SELECT语句与临时标识LOG匹配,INNER JOIN语句与临时标识MYSQL_SOURCE匹配。
更进一步地,目标处理系统可以根据数据处理语句与临时标识之间的对应关系、临时标识与数据源之间的匹配关系,确定数据处理语句与数据源之间的对应关系。例如,对于上述数据处理信息,INSERT INTO语句与4号数据源对应,SELECT语句与1号数据源对应,INNER JOIN语句与5号数据源对应。
需要说明的是,通过上述过程,实现了对数据处理语句与数据源之间的对应关系的准确确定。
在一种可选的实施例中,在根据数据处理信息中的数据处理语句以及数据处理语句与数据源之间的对应关系,确定数据源的数据源种类的过程中,若数据处理语句为查询类语句,则确定数据处理语句对应的数据源为输入数据源,若数据处理语句为插入类语句或更新类语句,则确定数据处理语句对应的数据源为输出数据源。
例如,若数据处理语句为SELECT、JOIN等语句,则确定该数据处理语句对应的数据源为输入数据源,若数据处理语句为INSERTINTO、UPDATE等语句,则确定该数据处理语句对应的数据源为输出数据源。
需要说明的是,通过根据数据处理语句的类型确定数据源的数据源种类,实现了对数据源种类的有效确定。
由此可见,本申请所提供的方案达到了在流计算任务执行异常时,依据数据源之间的数据流关系定位目标业务的业务风险的目的,从而实现了准确定位业务风险的技术效果,进而解决了相关技术中业务的流计算任务的执行出现问题时,难以定位业务风险的技术问题。
实施例2
根据本发明实施例,提供了一种业务风险的确定装置的实施例,其中,图3是根据本发明实施例的一种可选的业务风险的确定装置的示意图,如图3所示,该装置包括:
第一获取模块301,用于获取目标业务的数据源关系图,其中,数据源关系图由节点和有向边组成,一个节点表示目标业务所关联的一个数据源,有向边表示数据源之间的数据流关系,数据流关系由目标业务下的流计算任务确定,流计算任务用于处理数据源中的数据;
处理模块302,用于在执行目标业务的过程中,在流计算任务执行异常的情况下,从数据源关系图中确定流计算任务匹配的数据源,并依据流计算任务匹配的数据源定位目标业务的业务风险。
需要说明的是,上述第一获取模块301以及处理模块302对应于上述实施例中的步骤S101至步骤S102,二个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,业务风险的确定装置还包括:第二获取模块,用于获取多个任务执行语句,其中,不同的任务执行语句用于描述目标业务下的不同流计算任务;第一确定模块,用于对于每个任务执行语句,根据任务执行语句的语句内容确定任务执行语句匹配的输入数据源和输出数据源;构建模块,用于根据各个任务执行语句匹配的输入数据源、输出数据源以及任务执行语句匹配的流计算任务,构建数据源关系图,其中,有向边由输入数据源指向输出数据源,且有向边与流计算任务存在对应关系。
可选的,第一确定模块还包括:第一确定子模块,用于根据任务执行语句的语句内容确定任务执行语句匹配的至少一个数据源;第二确定子模块,用于对于任务执行语句匹配的每个数据源,根据任务执行语句的语句内容确定数据源的数据源种类,其中,数据源种类为输入数据源或输出数据源。
可选的,第一确定子模块还包括:第一查找单元,用于从任务执行语句中查找到至少一条数据源信息;第一确定单元,用于对于每条数据源信息,根据数据源信息中的连接参数确定数据源信息匹配的数据源的数据源类型;解析单元,用于依据数据源类型匹配的解析方式,对数据源信息中除连接参数以外的信息进行解析,得到数据源信息匹配的数据源的标识、存储地址;第二确定单元,用于依据数据源信息匹配的数据源的标识、存储地址确定数据源信息匹配的数据源;第三确定单元,用于将所有数据源信息匹配的数据源确定为任务执行语句匹配的数据源。
可选的,第二确定子模块还包括:第二查找单元,用于从任务执行语句中查找到至少一条数据处理信息;第四确定单元,用于根据数据处理信息中的数据处理语句以及数据处理语句与数据源之间的对应关系,确定数据源的数据源种类。
可选的,业务风险的确定装置还包括:查找模块,用于从各个数据源信息中查找到数据源信息中记录的临时标识;第二确定模块,用于根据数据处理语句与临时标识之间的对应关系、临时标识所属的数据源信息以及数据源信息与数据源之间的匹配关系,确定数据处理语句与数据源之间的对应关系。
可选的,第四确定单元包括:第一确定子模块,用于若数据处理语句为查询类语句,则确定数据处理语句对应的数据源为输入数据源;第二确定子模块,用于若数据处理语句为插入类语句或更新类语句,则确定数据处理语句对应的数据源为输出数据源。
实施例3
根据本发明实施例的另一方面,还提供了计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的业务风险的确定方法。
实施例4
根据本发明实施例的另一方面,还提供了一种电子设备,其中,图4是根据本发明实施例的一种可选的电子设备的示意图,如图4所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的业务风险的确定方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种业务风险的确定方法,其特征在于,包括:
获取目标业务的数据源关系图,其中,所述数据源关系图由节点和有向边组成,一个节点表示所述目标业务所关联的一个数据源,所述有向边表示所述数据源之间的数据流关系,所述数据流关系由所述目标业务下的流计算任务确定,所述流计算任务用于处理所述数据源中的数据;
在执行所述目标业务的过程中,在所述流计算任务执行异常的情况下,从所述数据源关系图中确定所述流计算任务匹配的数据源,并依据所述流计算任务匹配的数据源定位所述目标业务的业务风险。
2.根据权利要求1所述的方法,其特征在于,所述数据源关系图通过以下方式生成:
获取多个任务执行语句,其中,不同的任务执行语句用于描述所述目标业务下的不同流计算任务;
对于每个任务执行语句,根据所述任务执行语句的语句内容确定所述任务执行语句匹配的输入数据源和输出数据源;
根据各个任务执行语句匹配的输入数据源、输出数据源以及所述任务执行语句匹配的流计算任务,构建所述数据源关系图,其中,所述有向边由所述输入数据源指向所述输出数据源,且所述有向边与所述流计算任务存在对应关系。
3.根据权利要求2所述的方法,其特征在于,根据所述任务执行语句的语句内容确定所述任务执行语句匹配的输入数据源和输出数据源,包括:
根据所述任务执行语句的语句内容确定所述任务执行语句匹配的至少一个数据源;
对于所述任务执行语句匹配的每个数据源,根据所述任务执行语句的语句内容确定所述数据源的数据源种类,其中,所述数据源种类为所述输入数据源或所述输出数据源。
4.根据权利要求3所述的方法,其特征在于,根据所述任务执行语句的语句内容确定所述任务执行语句匹配的至少一个数据源,包括:
从所述任务执行语句中查找到至少一条数据源信息;
对于每条数据源信息,根据所述数据源信息中的连接参数确定所述数据源信息匹配的数据源的数据源类型;
依据所述数据源类型匹配的解析方式,对所述数据源信息中除所述连接参数以外的信息进行解析,得到所述数据源信息匹配的数据源的标识、存储地址;
依据所述数据源信息匹配的数据源的标识、存储地址确定所述数据源信息匹配的数据源;
将所有数据源信息匹配的数据源确定为所述任务执行语句匹配的数据源。
5.根据权利要求3所述的方法,其特征在于,根据所述任务执行语句的语句内容确定所述数据源的数据源种类,包括:
从所述任务执行语句中查找到至少一条数据处理信息;
根据所述数据处理信息中的数据处理语句以及所述数据处理语句与所述数据源之间的对应关系,确定所述数据源的数据源种类。
6.根据权利要求5所述的方法,其特征在于,所述数据处理信息中记录有所述数据处理语句与数据源的临时标识之间的对应关系,其中,在根据所述数据处理信息中的数据处理语句以及所述数据处理语句与所述数据源之间的对应关系,确定所述数据源的数据源种类之前,所述方法还包括:
从各个数据源信息中查找到所述数据源信息中记录的临时标识;
根据所述数据处理语句与所述临时标识之间的对应关系、所述临时标识所属的数据源信息以及所述数据源信息与所述数据源之间的匹配关系,确定所述数据处理语句与所述数据源之间的对应关系。
7.根据权利要求5所述的方法,其特征在于,根据所述数据处理信息中的数据处理语句以及所述数据处理语句与所述数据源之间的对应关系,确定所述数据源的数据源种类,包括:
若所述数据处理语句为查询类语句,则确定所述数据处理语句对应的数据源为所述输入数据源;
若所述数据处理语句为插入类语句或更新类语句,则确定所述数据处理语句对应的数据源为所述输出数据源。
8.一种业务风险的确定装置,其特征在于,包括:
第一获取模块,用于获取目标业务的数据源关系图,其中,所述数据源关系图由节点和有向边组成,一个节点表示所述目标业务所关联的一个数据源,所述有向边表示所述数据源之间的数据流关系,所述数据流关系由所述目标业务下的流计算任务确定,所述流计算任务用于处理所述数据源中的数据;
处理模块,用于在执行所述目标业务的过程中,在所述流计算任务执行异常的情况下,从所述数据源关系图中确定所述流计算任务匹配的数据源,并依据所述流计算任务匹配的数据源定位所述目标业务的业务风险。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的业务风险的确定方法。
10.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至7任一项中所述的业务风险的确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311361815.8A CN117472935A (zh) | 2023-10-19 | 2023-10-19 | 业务风险的确定方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311361815.8A CN117472935A (zh) | 2023-10-19 | 2023-10-19 | 业务风险的确定方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117472935A true CN117472935A (zh) | 2024-01-30 |
Family
ID=89628446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311361815.8A Pending CN117472935A (zh) | 2023-10-19 | 2023-10-19 | 业务风险的确定方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472935A (zh) |
-
2023
- 2023-10-19 CN CN202311361815.8A patent/CN117472935A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10984483B2 (en) | Cognitive regulatory compliance automation of blockchain transactions | |
EP2282449B1 (en) | Message descriptions | |
CN106933893B (zh) | 多维度数据的查询方法及装置 | |
GB2513472A (en) | Resolving similar entities from a database | |
Bidoit et al. | Efficient computation of polynomial explanations of why-not questions | |
US8489639B2 (en) | Information source alignment | |
US10592841B2 (en) | Automatic clustering by topic and prioritizing online feed items | |
Rozsnyai et al. | Discovering event correlation rules for semi-structured business processes | |
US11100152B2 (en) | Data portal | |
CN112035508A (zh) | 基于sql在线元数据解析的方法及系统、设备 | |
CN111914066B (zh) | 多源数据库全局搜索方法及系统 | |
Baecker | Enhancing program readability and comprehensibility with tools for program visualization | |
Arzamasova et al. | Cleaning antipatterns in an SQL query log | |
US20150317355A1 (en) | Data store query | |
CN112579578A (zh) | 基于元数据的数据质量管理方法、装置、系统及服务器 | |
US20220121709A1 (en) | Filtering of log search results based on automated analysis | |
CN117076742A (zh) | 数据血缘追踪方法、装置及电子设备 | |
CN117472935A (zh) | 业务风险的确定方法、装置、存储介质及电子设备 | |
Noughi et al. | Understanding the database manipulation behavior of programs | |
CN115292353A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN106933909B (zh) | 多维度数据的查询方法及装置 | |
CN114416489A (zh) | 系统运行状态的监控方法、装置、计算机设备及存储介质 | |
CN114090558A (zh) | 针对数据库的数据质量管理方法和装置 | |
CN113760864A (zh) | 数据模型的生成方法和装置 | |
CN110515967B (zh) | 基于spark计算框架的数据分析方法及电子设备 |
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 |