数据处理方法、电子设备及存储介质技术

技术编号:29872500 阅读:13 留言:0更新日期:2021-08-31 23:47
本发明专利技术公开了一种数据处理方法、电子设备及存储介质,数据处理方法包括:从接收到的至少两个任务脚本中每个任务脚本的源码中,提取出每个任务脚本对应的采用结构化查询语言描述的第一文本;从提取的每个第一文本对应的抽象语法树中,确定出每个任务脚本对应的输入项和输出项;基于第一任务脚本对应的输入项与至少一个第二任务脚本中每个第二任务脚本对应的输出项之间的交集,确定出所述第一任务脚本对应的邻接关系集合;基于确定出的每个所述第一任务脚本对应的邻接关系集合,确定出所述至少两个任务脚本对应的至少一个有向边集合,并输出所述至少一个有向边集合中每个有向边集合对应的有向无环图。

【技术实现步骤摘要】
数据处理方法、电子设备及存储介质
本专利技术涉及计算机
,尤其涉及一种数据处理方法、电子设备及存储介质。
技术介绍
随着计算机技术的发展,越来越多的技术(例如,大数据等)应用在金融领域,传统金融业正在逐步向金融科技转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。金融科技领域下,在大数据平台对应的服务器处理批量任务的应用场景下,终端将任务和任务对应的配置文件发送至服务器,配置文件用于指定任务之间的依赖关系,以便服务器基于接收到的配置文件,确定出批量任务中各任务的执行顺序。然而,相关技术中,需要人工设置每个任务对应的配置文件,不仅效率低,且容易出错,可能导致服务器确定出的批量任务的执行顺序不正确。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据处理方法、电子设备及存储介质,以解决相关技术中人工设置每个任务对应的配置文件中包括的任务间的依赖关系,效率低且易出错的技术问题。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术实施例提供了一种数据处理方法,包括:从接收到的至少两个任务脚本中每个任务脚本的源码中,提取出每个任务脚本对应的采用结构化查询语言描述的第一文本;从提取的每个第一文本对应的抽象语法树中,确定出每个任务脚本对应的输入项和输出项;基于第一任务脚本对应的输入项与至少一个第二任务脚本中每个第二任务脚本对应的输出项之间的交集,确定出所述第一任务脚本对应的邻接关系集合;基于确定出的每个所述第一任务脚本对应的邻接关系集合,确定出所述至少两个任务脚本对应的至少一个有向边集合,并输出所述至少一个有向边集合中每个有向边集合对应的有向无环图;其中,所述第一任务脚本和所述第二任务脚本为所述至少两个任务脚本中不同的任务脚本;邻接关系集合中的邻接关系表征第一任务脚本的邻接依赖任务和对应的交集;所述有向边集合中的有向边表征每两个任务脚本之间的依赖关系。上述方案中,所述基于第一任务脚本对应的输入项与至少一个第二任务脚本中每个第二任务脚本对应的输出项之间的交集,确定出所述第一任务脚本对应的邻接关系集合,包括:将每个任务脚本的脚本标识、对应的输入项集合和输出项集合,关联写入第一数据表;基于所述第一数据表中第一任务脚本对应的输入项集合与第二任务脚本对应的输出项集合之间的交集,确定出所述第一任务脚本对应的邻接关系;将所述第一任务脚本的脚本标识和对应确定出的邻接关系,关联写入第二数据表;其中,所述第二数据表用于关联存储脚本标识和邻接关系集合。上述方案中,所述方法还包括以下至少之一:在接收到针对第三任务脚本的删除指令的情况下,从所述第一数据表和所述第二数据表中删除所述第三任务脚本的脚本标识对应的数据,以及删除包含所述第三任务脚本的脚本标识的邻接关系;在接收到新增的第三任务脚本的情况下,将所述第三任务脚本的脚本标识、对应的输入项集合和输出项集合,关联写入第一数据表,以及将所述第三任务脚本的脚本标识和对应的邻接关系集合,关联写入第二数据表。上述方案中,所述第一数据表还包括表征变更输入项集合的第一时间和表征变更输出项集合的第二时间;所述第二数据表还包括表征变更邻接关系的第三时间和表征变更邻接依赖任务的第四时间,所述方法还包括以下至少之一:在第一任务脚本的源码发生变更的情况下,更新所述第一数据表中第一任务脚本对应的输入项集合、输出项集合、第一时间和第二时间中的至少一组;在第一任务脚本对应的第三时间早于对应的第一时间的情况下,基于对应更新后的输入项集合和除第一任务脚本之外的任务脚本对应的输出项集合之间的交集,更新所述第二数据中第一任务脚本对应的邻接关系集合和第四时间中的至少之一;在第一任务脚本对应的第三时间早于对应的第二时间的情况下,基于对应更新后的输出项集合和第一任务脚本的邻接依赖任务对应的输入项集合之间的交集,更新所述第二数据中邻接依赖第一任务脚本的任务脚本对应的邻接关系集合和第四时间中的至少之一;将第一任务脚本对应的第三时间,更新为对应的第一时间和对应的第二时间中的最大值;其中,第四时间在对应更新后的邻接关系集合中的邻接依赖任务发生变更的情况下更新。上述方案中,所述基于确定出的每个所述第一任务脚本对应的邻接关系集合,确定出所述至少两个任务脚本对应的至少一个有向边集合,并输出所述至少一个有向边集合中每个有向边集合对应的有向无环图,包括:在第三数据表存储的脚本标识中查找所述第二数据表存储的脚本标识中的第一脚本标识;其中,所述第三数据表用于关联存储脚本标识、依赖任务集合、有向边集合和表征变更有向无环图的第五时间;在所述第三数据表中查找到第一脚本标识的情况下,检测所述第三数据表中第一脚本标识对应的第五时间是否等于或晚于对应的第四时间;在第一脚本标识对应的第五时间等于或晚于对应的第四时间的情况下,输出数据库中与第一脚本标识关联存储的有向无环图;在所述第三数据表中未查找到第一脚本标识,或第一脚本标识对应的第五时间早于对应的第四时间的情况下,基于确定出的每个所述第一任务脚本对应的邻接关系集合,更新所述三数据表中第一脚本标识对应的依赖任务集合和有向边集合,并基于第一脚本标识对应的更新后的依赖任务集合和有向边集合,输出对应的有向无环图。上述方案中,所述基于确定出的每个所述第一任务脚本对应的邻接关系集合,更新所述三数据表中第一脚本标识对应的依赖任务集合和有向边集合,包括:在所述第三数据表中关联写入第一脚本标识、对应的第一依赖任务集合和对应的第一有向边集合的情况下,将由第一脚本标识对应的邻接关系集合确定出的有向边集合,添加至对应的第一有向边集合并去重;所述第一依赖任务集合中包括第一脚本标识;判断所述第一依赖任务集合中是否存在第一脚本标识对应的邻接关系集合中的第i个脚本标识;在所述第一依赖任务集合中存在第i个脚本标识,且i小于第i个脚本标识所处的邻接关系集合中包括的脚本标识的总数的情况下,将i赋值为i+1,执行所述判断所述第一依赖任务集合中是否存在第一脚本标识对应的邻接关系集合中的第i个脚本标识;在所述第一依赖任务集合中不存在第i个脚本标识的情况下,判断所述第三数据表存储的脚本标识中是否包括第i个脚本标识;在所述第三数据表存储的脚本标识中包括第i个脚本标识的情况下,判断第i个脚本标识对应的第五时间是否等于或晚于对应的第四时间;在第i个脚本标识对应的第五时间等于或晚于对应的第四时间的情况下,将第i个脚本标识添加至所述第一依赖任务集合并去重,将第i个脚本标识在所述第三数据表中对应的有向边集合,添加至所述第一有向边集合并去重;将i赋值为i+1,执行所述判断所述第一依赖任务集合中是否存在第一脚本标识对应的邻接关系集合中的第i个脚本标识;在所述第三数据表存储的脚本标识中不包括第i个脚本标识,或者第i个脚本标识对应的第五时间早于对应的第四时间的情况下,将第i个脚本标识添加至所述第一依赖任务集合并去重,将由第本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n从接收到的至少两个任务脚本中每个任务脚本的源码中,提取出每个任务脚本对应的采用结构化查询语言描述的第一文本;/n从提取的每个第一文本对应的抽象语法树中,确定出每个任务脚本对应的输入项和输出项;/n基于第一任务脚本对应的输入项与至少一个第二任务脚本中每个第二任务脚本对应的输出项之间的交集,确定出所述第一任务脚本对应的邻接关系集合;/n基于确定出的每个所述第一任务脚本对应的邻接关系集合,确定出所述至少两个任务脚本对应的至少一个有向边集合,并输出所述至少一个有向边集合中每个有向边集合对应的有向无环图;其中,/n所述第一任务脚本和所述第二任务脚本为所述至少两个任务脚本中不同的任务脚本;邻接关系集合中的邻接关系表征第一任务脚本的邻接依赖任务和对应的交集;所述有向边集合中的有向边表征每两个任务脚本之间的依赖关系。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
从接收到的至少两个任务脚本中每个任务脚本的源码中,提取出每个任务脚本对应的采用结构化查询语言描述的第一文本;
从提取的每个第一文本对应的抽象语法树中,确定出每个任务脚本对应的输入项和输出项;
基于第一任务脚本对应的输入项与至少一个第二任务脚本中每个第二任务脚本对应的输出项之间的交集,确定出所述第一任务脚本对应的邻接关系集合;
基于确定出的每个所述第一任务脚本对应的邻接关系集合,确定出所述至少两个任务脚本对应的至少一个有向边集合,并输出所述至少一个有向边集合中每个有向边集合对应的有向无环图;其中,
所述第一任务脚本和所述第二任务脚本为所述至少两个任务脚本中不同的任务脚本;邻接关系集合中的邻接关系表征第一任务脚本的邻接依赖任务和对应的交集;所述有向边集合中的有向边表征每两个任务脚本之间的依赖关系。


2.根据权利要求1所述的方法,其特征在于,所述基于第一任务脚本对应的输入项与至少一个第二任务脚本中每个第二任务脚本对应的输出项之间的交集,确定出所述第一任务脚本对应的邻接关系集合,包括:
将每个任务脚本的脚本标识、对应的输入项集合和输出项集合,关联写入第一数据表;
基于所述第一数据表中第一任务脚本对应的输入项集合与第二任务脚本对应的输出项集合之间的交集,确定出所述第一任务脚本对应的邻接关系;
将所述第一任务脚本的脚本标识和对应确定出的邻接关系,关联写入第二数据表;其中,所述第二数据表用于关联存储脚本标识和邻接关系集合。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括以下至少之一:
在接收到针对第三任务脚本的删除指令的情况下,从所述第一数据表和所述第二数据表中删除所述第三任务脚本的脚本标识对应的数据,以及删除包含所述第三任务脚本的脚本标识的邻接关系;
在接收到新增的第三任务脚本的情况下,将所述第三任务脚本的脚本标识、对应的输入项集合和输出项集合,关联写入第一数据表,以及将所述第三任务脚本的脚本标识和对应的邻接关系集合,关联写入第二数据表。


4.根据权利要求2所述的方法,其特征在于,所述第一数据表还包括表征变更输入项集合的第一时间和表征变更输出项集合的第二时间;所述第二数据表还包括表征变更邻接关系的第三时间和表征变更邻接依赖任务的第四时间,所述方法还包括以下至少之一:
在第一任务脚本的源码发生变更的情况下,更新所述第一数据表中第一任务脚本对应的输入项集合、输出项集合、第一时间和第二时间中的至少一组;
在第一任务脚本对应的第三时间早于对应的第一时间的情况下,基于对应更新后的输入项集合和除第一任务脚本之外的任务脚本对应的输出项集合之间的交集,更新所述第二数据中第一任务脚本对应的邻接关系集合和第四时间中的至少之一;
在第一任务脚本对应的第三时间早于对应的第二时间的情况下,基于对应更新后的输出项集合和第一任务脚本的邻接依赖任务对应的输入项集合之间的交集,更新所述第二数据中邻接依赖第一任务脚本的任务脚本对应的邻接关系集合和第四时间中的至少之一;
将第一任务脚本对应的第三时间,更新为对应的第一时间和对应的第二时间中的最大值;其中,
第四时间在对应更新后的邻接关系集合中的邻接依赖任务发生变更的情况下更新。


5.根据权利要求4所述的方法,其特征在于,所述基于确定出的每个所述第一任务脚本对应的邻接关系集合,确定出所述至少两个任务脚本对应的至少一个有向边集合,并输出所述至少一个有向边集合中每个有向边集合对应的有向无环图,包括:
在第三数据表存储的脚本标识中查找所述第二数据表存储的脚本标识中的第一脚本标识;其中,所述第三数据表用于关联存储脚本标识、依赖任务集合、有向边集合和表征变更有向无环图的第五时间;
在所述第三数据表中查找到第一脚本标识的情况下,检测所述第三数据表中第一脚本标识对应的第五时间是否等于或晚于对应的第四时间;
在第一脚本标识对应的第五时间等于或晚于对应的第四时间的情况下,输出数据库中与第一脚本标识关联存储的有向无环图;
在所述第三数据表中未查找到第一脚本标识,或第一脚本标识对应的第五时间早于对应的第四时间的情况下,基于确定出的每个所述第一任务脚本对应的邻接关系集合,更新所述三数据表中第一脚本标识对应的依赖任务集合和有向边集合,...

【专利技术属性】
技术研发人员:邹宇赵学亮曾广锐
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1