CN113626037A - 任务依赖全景图展示方法、装置、计算机设备及存储介质 - Google Patents
任务依赖全景图展示方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113626037A CN113626037A CN202110927687.3A CN202110927687A CN113626037A CN 113626037 A CN113626037 A CN 113626037A CN 202110927687 A CN202110927687 A CN 202110927687A CN 113626037 A CN113626037 A CN 113626037A
- Authority
- CN
- China
- Prior art keywords
- task
- job
- relationship
- jobs
- dependency
- 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 55
- 230000001419 dependent effect Effects 0.000 title claims description 49
- 230000009193 crawling Effects 0.000 claims abstract description 44
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 230000000007 visual effect Effects 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 abstract description 6
- 238000004220 aggregation Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/43—Checking; Contextual analysis
- G06F8/433—Dependency analysis; Data or control flow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例属于大数据,涉及一种任务依赖全景图展示方法,包括获取目标项目,将目标项目对应的作业进行分层得到不同任务层级,并根据各个作业之间的逻辑关系以及任务层级之间的执行逻辑,建立任务层级之间的依赖关系,利用爬虫爬取依赖关系,根据依赖关系形成任务关系表,根据任务关系表确定作业之间的层级关系,根据层级关系生成每个作业对应的坐标,基于坐标生成并展示任务依赖全景图。本申请还提供一种任务依赖全景图展示装置、计算机设备及存储介质。此外,本申请还涉及区块链技术,任务关系表可存储于区块链中。本申请可以避免作业关系依赖错乱,导致数据的聚合错误,降低使用方的信赖度,同时,提高作业定位的准确度。
Description
技术领域
本申请涉及大数据的数据展示技术领域,尤其涉及一种任务依赖全景图展示方法、装置、计算机设备及存储介质。
背景技术
Azkaban是由领英(Linkedin)公司开源的一款工作流任务调度工具,集成调度、编排、失败重试、邮件告警等功能为一体。Azkaban为目前大数据数仓调度的重要调度工具,相对oozie等重型工具来说属于轻型工具。但是由于原生Azkaban简单的任务关系和自身调度单元的颗粒度小的问题,需要同时部署多套Azkaban做分级分层使用,不能满足目前大数据多业务复杂环境下的定位依赖和定位问题根源点,同时出现问题后,需要召集大量人力进行分析,导致浪费时间以及可能出现误判的问题。
发明内容
本申请实施例的目的在于提出一种任务依赖全景图展示方法、装置、计算机设备及存储介质,以解决相关技术中任务调度过程出现问题后,需要大量人力进行问题分析定位,导致定位问题效率低,且可能出现误判的技术问题。
为了解决上述技术问题,本申请实施例提供一种任务依赖全景图展示方法,采用了如下所述的技术方案:
获取目标项目,将所述目标项目对应的作业进行分层得到不同任务层级,并根据各个所述作业之间的逻辑关系以及所述任务层级之间的执行逻辑,建立所述任务层级之间的依赖关系;
利用爬虫爬取所述依赖关系,根据所述依赖关系形成任务关系表;
根据所述任务关系表确定所述作业之间的层级关系;
根据所述层级关系生成每个所述作业对应的坐标;
基于所述坐标生成并展示任务依赖全景图。
进一步的,所述根据所述任务关系表确定所述作业之间的层级关系的步骤包括:
根据所述任务关系表生成树状关系图;
基于所述树状关系图确定所述作业之间的层级关系。
进一步的,所述根据所述任务关系表生成树状关系图的步骤包括:
从所述任务关系表中获取到所述依赖关系;
根据所述依赖关系中的项目执行顺序、工作流执行顺序以及作业执行顺序生成所述树状关系图。
进一步的,所述根据所述层级关系生成每个所述作业对应的坐标的步骤包括:
根据所述层级关系确定每个所述作业所在的作业层级,并获取每个作业层级中所述作业的第一数量以及作业数量最多作业层级中所述作业的第二数量;
根据所述作业的作业开始时间对每个作业层级中的所述作业进行排序,得到作业排序序号;
根据所述作业层级、所述第一数量、所述第二数量以及所述作业排序序号计算出所述作业的坐标。
进一步的,所述根据所述作业层级、所述第一数量、所述第二数量以及所述作业排序序号计算出所述作业的坐标的步骤包括:
将所述第一数量加一得到和值,计算所述作业排序序号与所述和值的比值,得到商值;
将所述商值与所述第二数量相乘,得到所述坐标的横坐标值;
对所述作业层级取负值,得到所述坐标的纵坐标值。
进一步的,所述基于所述坐标生成并展示任务依赖全景图的步骤包括:
根据所述依赖关系确定所述作业的路径;
根据所述路径和所述坐标,利用tableau算法形成所述任务依赖全景图,并将所述任务依赖全景图在可视化界面进行展示。
进一步的,所述利用爬虫爬取所述依赖关系的步骤包括:
获取爬虫请求,根据所述爬虫请求调用爬虫程序,并通过所述爬虫程序爬取与所述爬虫请求对应的依赖关系,以获取各个所述作业之间的逻辑关系以及所述任务层级之间的执行逻辑。
为了解决上述技术问题,本申请实施例还提供一种任务依赖全景图展示装置,采用了如下所述的技术方案:
获取模块,用于获取目标项目,将所述目标项目对应的作业进行分层得到不同任务层级,并根据各个所述作业之间的逻辑关系以及所述任务层级之间的执行逻辑,建立所述任务层级之间的依赖关系;
爬取模块,用于利用爬虫爬取所述依赖关系,根据所述依赖关系形成任务关系表;
确定模块,用于根据所述任务关系表确定所述作业的层级关系;
生成模块,用于根据所述层级关系生成每个所述作业对应的坐标;
展示模块,用于基于所述坐标生成并展示任务依赖全景图。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
该计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的任务依赖全景图展示方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的任务依赖全景图展示方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请通过获取目标项目,将目标项目对应的作业进行分层得到不同任务层级,并建立所述任务层级之间的依赖关系,利用爬虫爬取依赖关系,根据依赖关系形成任务关系表,根据任务关系表确定作业之间的层级关系,根据层级关系生成每个作业对应的坐标,基于坐标生成并展示任务依赖全景图;本申请通过将目标项目对应的作业进行分层得到不同任务层级,并建立任务层级之间的依赖关系,可以避免作业关系依赖错乱,导致数据的聚合错误,降低使用方的信赖度,同时,通过任务依赖全景图能够直观展示作业调度依赖关系,提高作业定位的准确度。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的任务依赖全景图展示方法的一个实施例的流程图;
图3是根据本申请的任务依赖全景图展示装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了解决相关技术中任务调度过程出现问题后,需要大量人力进行问题分析定位,导致定位问题效率低,且可能出现误判的问题,本申请提供了一种任务依赖全景图展示方法,可以应用于如图1所示的系统架构100中,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的任务依赖全景图展示方法一般由终端设备执行,相应地,任务依赖全景图展示装置一般设置于终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的任务依赖全景图展示方法的一个实施例的流程图,包括以下步骤:
步骤S201,获取目标项目,将目标项目对应的作业进行分层得到不同任务层级,并根据各个作业之间的逻辑关系以及任务层级之间的执行逻辑,建立任务层级之间的依赖关系。
在本实施例中,使用Azkaban执行调度任务,Azkaban是一种主流的任务调度工具,可以用来对任务进行调度和监控,包括管理程序脚本、配置任务的依赖关系、检查程序是否执行正确、在程序出错时发出报警并重试等功能。应该理解的是,Azkaban并不限于在大数据领域中使用,凡是涉及到任务调度的,Azkaban都可以发挥其任务调度能力,比如说一个简单的定时发送邮件任务就可以通过在Azkaban上设置任务执行时间来定时调度执行。在Azkaban框架下是按照项目(project)、工作流(flow)、作业(job)依次来管理的。一个项目包含一个或多个工作流,一个工作流包含多个作业。job是在Azkaban中运行的一个进程,可以是简单的Linux命令,也可以是java程序,还可以是复杂的shell脚本、MapReduce程序、hive脚本或者Python脚本等。
Azkaban由Azkaban Web Server(服务端),Azkaban Executor Server(执行端),Data Base(数据库)三个组件组成,Azkaban Web Server是整个Azkaban工作流系统的主要管理者,负责项目管理、用户登录认证、定时执行工作流、跟踪工作流执行进度等;执行端主要负责任务的执行;数据库负责完成Azkaban作业流程执行过程的状态的记录工作。Azkaban的工作流运行是依靠操作进程来提交不同的命令的,它判断任务成功或失败的依据在于进程的执行状况。
通常,Azkaban执行任务调度时,是分层完成。获取到目标项目后,进一步可以得到目标项目对应的工作流以及工作流下的作业,按照任务作用或者业务关系将不同工作流分在不同任务层级。
在本实施例中,目标项目可以是一个,也可以是多个,在Azkaban框架下,将目标项目进行排序得到项目序号,将每个目标项目下的工作流进行排序得到该目标项目的工作流序号,将工作流下的作业进行排序,得到该工作流的作业序号。不同目标项目下的工作流单独排序,互不影响,不同工作流下的作业排序同理。
应当理解,不同任务层级对应着唯一层级标识信息,层级标识信息可以由当前作业所在任务层级中的作业序号、工作流序号、项目序号以及执行时间来组成。层级标识信息在每个任务层级的任务完成后生成,并反馈至下一个任务层级,用于提示下一个任务层级启动执行任务。
分层后,根据Azkaban框架下各个作业之间的逻辑关系(也称作业之间的依赖关系)以及任务层级之间的执行逻辑来建立作业之间完整的依赖关系。执行逻辑包括任务之间的执行顺序。因此,依赖关系可以打通Azkaban多层依赖,不需要单独依靠Azkaban本身的工作流依赖机制。
需要说明的是,Azkaban通过依赖(dependencies)参数定义作业之间的依赖关系,具有此种依赖关系的父作业和子作业,在父作业执行成功的情况下,子作业才能够被执行;在父作业执行失败的情况下,子作业无法被执行。
步骤S202,利用爬虫爬取依赖关系,根据依赖关系形成任务关系表。
爬虫是一种按照预定好的规则,自动地抓取信息的程序或者脚本。爬虫按照系统组成结构和技术的实现上分为通用爬虫、聚焦爬虫、增量式爬虫、深层爬虫等类型。通用爬虫的爬取目标是全互联网资源,目标数据、爬行范围都很庞大、主要应用于大型搜索引擎中。通用爬虫的工作流程是先抓取页面,通过搜索引擎将准备爬取的地址加入到通用爬虫的地址队列中,然后进行页面上内容的爬取,爬取后要对爬取的数据进行存储、保存到本地。
聚焦爬虫是有选择地按照预先定义好的主题进行页面爬取,目标数据、爬行范围相对通用爬虫比较小。和通用爬虫相比,爬取目标为与主题相关的页面,它能够从海量的信息库中选择精准有效的信息,聚焦爬虫可以很大地节省爬取所需的硬件资源和网络资源。
增量式爬虫通过爬虫程序监测某网站数据改变的情况,以便可以爬取到这个网站更新后的数据。通过增量式爬虫可以继续爬取因一些原因未完全爬完的数据,或者网站更新的数据。
页面按其存在方式可划分为深层页面和表层页面。表层页面指传统搜索引擎可以索引的页面,能通过静态链接直接获取,不需要提交表单;深层页面需提交一定的关键词之后才能获取得到的页面,它不能通过静态链接直接获取。在互联网中,表层页面比深层页面数量少的多,因此实际爬取过程中要通过深层爬虫爬取深层页面的数据。
在本实施例中,可以根据实际情况选择一种或者多种爬虫类型爬取Azkaban中的依赖关系。
需要强调的是,为进一步保证任务关系表的私密和安全性,上述任务关系表还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在本实施例的一些可选的实现方式中,利用爬虫爬取依赖关系的方法具体包括:获取爬虫请求,根据爬虫请求调用爬虫程序,并通过爬虫程序爬取与爬虫请求对应的依赖关系,以获取各个作业之间的逻辑关系以及任务层级之间的执行逻辑。
爬虫预先进行配置,配置爬取对象以及相应规则,其中,相应的规则包括爬取规则和爬取流程,爬取规则是对爬虫入口地址将每一条合法的爬取路径根据链接权重算法一行一条的放入到入口列表文件中。
爬取流程如下:根据配置文件中的提供爬虫入口网址列表进行抓取,按照配置的抓取深度进行遍历,首先取一条爬取路径进行抓取,然后读取第一层解析规则,将第一层的解析规划解析后得到的数据传递到第二层,第二层进行深度抓取的时候,采用第一层解析提取到的爬取路径进行再次抓取,并根据解析规则列表中的规则进行解析,并将解析得到的数据同第一层进行合并,传递到第三层,以此类推,直到配置的最大层数,一条深度抓取结束后,会依次向上返回获取的数据,并根据数据配置将抓取提取到的数据保存到指定的存储介质中,存储介质是磁盘空间上的自定义的数据结构文件,或者是分布式键值对形式的数据库,或者用solr(全局检索引擎)索引分词后进行索引文件存储。
在本实施例中,每一个作业可以对应一个爬取路径,接收到终端生成的爬取请求,调用对应的爬取程序,按照预先设置的爬取规则和爬取流程进行数据爬取,相应地得到作业之间的依赖关系,创建任务关系表,将依赖关系配置至任务关系表中。
需要说明的是,爬虫爬取过程中,还爬取作业的任务时间关系,并将任务时间关系配置至任务关系表中。任务时间关系包括作业开始时间、作业结束时间以及作业当前状态。任务时间关系可以用于对目标项目、工作流以及作业进行排序。
本实施例通过爬虫爬取依赖关系,可以自动且高效地获取到所需的数据。
步骤S203,根据任务关系表确定作业之间的层级关系。
在本实施例中,根据Azkaban框架下各个作业之间的逻辑关系以及任务层级之间的执行逻辑来建立作业之间完整的依赖关系,将具有此种依赖关系的作业一层一层建立起作业之间的层级关系。
在一些可选的实现方式中,根据任务关系表确定作业之间的层级关系的步骤包括:
根据任务关系表生成树状关系图;
基于树状关系图确定作业之间的层级关系。
树状关系图是数据树的图形表示形式,以父子层次结构来组织对象。任务关系表中配置作业之间的依赖关系,根据作业之间的依赖关系可以快速高效地生成树状关系图。
在本实施例中,根据任务关系表生成树状关系图的步骤具体包括:
从任务关系表中获取到依赖关系;
根据依赖关系中的项目执行顺序、工作流执行顺序以及作业执行顺序生成树状关系图。
任务关系表中的依赖关系包含有目标项目之间的项目执行顺序、工作流之间的工作流执行顺序以及作业之间的作业执行顺序,根据项目执行顺序、工作流执行顺序以及作业执行顺序生成树状关系图。
树状关系图包括目标项目之间的项目树状关系图,项目树状关系图的每个节点内包含有工作流之间的工作流树状关系图,工作流树状关系图对应的每个节点包含有作业之间的作业树状关系图。
根据树状关系图可以确定每个作业所在的作业层级。举例说明,目标项目包括project1、project2和project3,project1包含flow1,flow1下对应job1;project2包含flow2,flow2下对应job2;project3包含flow3,flow3下对应job3和job4;project4包含flow4,flow4下对应job4和job5。项目执行顺序为project1→project2→project3/project4,相应的,flow的执行顺序为flow1→flow2→flow3/flow4,因此,最顶层的父作业为job1,job1子作业为job2,job2的子作业为job3、job4、job4、job5,即job1在一层,job2在二层,job3、job4、job4和job5在三层。
需要说明的是,不同项目下的排序相同的工作流是不同的,同理,不同工作流下排序相同的作业也是不同的,不同项目不同工作流下排序相同的作业也是不同的。
本实施例通过生成的树状关系图可以更加简便快速地确定作业所在的作业层级。
步骤S204,根据层级关系生成每个作业对应的坐标。
在本实施例中,根据作业所在的作业层级可以确定每个作业对应的坐标,具体步骤如下:
根据层级关系确定每个作业所在的作业层级,并获取每个作业层级中作业的第一数量以及作业数量最多作业层级中作业的第二数量;
根据作业的作业开始时间对每个作业层级中的作业进行排序,得到作业排序序号;
根据作业层级、第一数量、第二数量以及作业排序序号计算出作业的坐标。
遍历每一个作业层级,确定每个作业所在的作业层级,并获取到每个作业层级中作业的第一数量z和作业数量最多的作业层级中作业的第二数量Z。任务关系表中配置有作业到的作业开始时间,获得每个作业层级中作业对应的作业开始时间,根据作业开始时间对当前作业层级的作业进行排序,具体地,可以将作业开始时间最早的作业排序序号为1,以此类推,得到每个作业的排序序号H,根据作业层级、第一数量、第二数量以及作业排序序号,则可以得到作业的坐标。
本实施例通过计算得到作业的坐标,可以实现作业的快速定位。
在一些可选的实现方式中,上述根据作业层级、第一数量、第二数量以及作业排序序号计算出作业的坐标的步骤具体包括:
将第一数量加一得到和值,计算作业排序序号与和值的比值,得到商值;
将商值与第二数量相乘,得到坐标的横坐标值;
对作业层级取负值,得到坐标的纵坐标值。
具体的计算公式如下:
其中,X为横坐标值,H为作业的排序序号,z为每个作业层级中作业的第一数量,Z为作业数量最多的作业层级中作业的第二数量。
在本实施例中,作业的纵坐标值为该作业所在作业层级取负值,比如,作业所在的作业层级为1,则对应纵坐标值Y为-1。
步骤S205,基于坐标生成并展示任务依赖全景图。
具体地,根据依赖关系确定作业的路径,根据路径和坐标,利用tableau算法形成任务依赖全景图,并将任务依赖全景图在可视化界面进行展示。
在本实施例中,每个作业的标识由作业的作业排序序号、作业所在的工作流排序序号以及该工作流所在的项目排序序号作业的路径组成,例如,job1在flow1中,flow1又在project1中,则job1的标识为111;project4包含flow5,flow5下对应job4和job5,则job4的标识为454,job5的标识为455。
作业路径的确定,举例说明,假设目标项目为project1,project1对应的flow1下有job1、job2、job3、job4、job5和job6,job1在一层,job2在二层,job3、job4、job5和job6在三层,则job1的路径为空,job2的路径112→111,job3的路径为113→112,job4的路径为114→112,job5的路径为115→112,job6的路径为116→112。
Tableau算法作为描述逻辑ALC的核心推理技术,该算法主要特点是能在多项式时间内判断描述逻辑ALC概念的可满足性,同时具备完备性、可终止性等特征。描述逻辑中其他推理问题如一致性、包含检测等都可以转换为可满足性问题,这意味着Tableau算法也可用来解决描述逻辑中其他推理问题。
在本实施例中,根据获得的作业的路径和坐标,使用Tableau算法进行配置,形成任务依赖全景图。通过任务依赖全景图可以看到问题节点、根源节点、任务开始节点等,提高定位问题的效率和准确性,可以高效分析问题,解决问题。
本申请通过获取目标项目,将目标项目对应的作业进行分层得到不同任务层级,并建立所述任务层级之间的依赖关系,利用爬虫爬取依赖关系,根据依赖关系形成任务关系表,根据任务关系表确定作业之间的层级关系,根据层级关系生成每个作业对应的坐标,基于坐标生成并展示任务依赖全景图;本申请通过将目标项目对应的作业进行分层得到不同任务层级,并建立任务层级之间的依赖关系,可以避免作业关系依赖错乱,导致数据的聚合错误,降低使用方的信赖度,同时,通过任务依赖全景图能够直观展示作业调度依赖关系,提高作业定位的准确度。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种任务依赖全景图展示装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的任务依赖全景图展示装置300包括:获取模块301、爬取模块302、确定模块303、生成模块304以及展示模块305。
其中:
获取模块301用于获取目标项目,将所述目标项目对应的作业进行分层得到不同任务层级,并根据各个所述作业之间的逻辑关系以及所述任务层级之间的执行逻辑,建立所述任务层级之间的依赖关系;
爬取模块302用于利用爬虫爬取所述依赖关系,根据所述依赖关系形成任务关系表;
确定模块303用于根据所述任务关系表确定所述作业的层级关系;
生成模块304用于根据所述层级关系生成每个所述作业对应的坐标;
展示模块305用于基于所述坐标生成并展示任务依赖全景图。
需要强调的是,为进一步保证任务关系表的私密和安全性,上述任务关系表还可以存储于一区块链的节点中。
上述任务依赖全景图展示装置,通过将目标项目对应的作业进行分层得到不同任务层级,并建立任务层级之间的依赖关系,可以避免作业关系依赖错乱,导致数据的聚合错误,降低使用方的信赖度,同时,通过任务依赖全景图能够直观展示作业调度依赖关系,提高作业定位的准确度。
在本实施例中,确定模块303包括生成子模块和确定子模块,生成子模块用于根据所述任务关系表生成树状关系图;确定子模块用于基于所述树状关系图确定所述作业之间的层级关系。
本实施例通过生成的树状关系图可以更加简便快速地确定作业所在的作业层级。
在本实施例的一些可选的实现方式中,生成子模块进一步用于从所述任务关系表中获取到所述依赖关系;根据所述依赖关系中的项目执行顺序、工作流执行顺序以及作业执行顺序生成所述树状关系图。
在本实施例中,生成模块304包括获取子模块、排序子模块和计算子模块,获取子模块用于根据所述层级关系确定每个所述作业所在的作业层级,并获取每个作业层级中所述作业的第一数量以及作业数量最多作业层级中所述作业的第二数量;排序子模块用于根据所述作业的作业开始时间对每个作业层级中的所述作业进行排序,得到作业排序序号;计算子模块用于根据所述作业层级、所述第一数量、所述第二数量以及所述作业排序序号计算出所述作业的坐标。
本实施例通过计算得到作业的坐标,可以实现作业的快速定位。
在本实施例中,计算子模块进一步用于:
将所述第一数量加一得到和值,计算所述作业排序序号与所述和值的比值,得到商值;
将所述商值与所述第二数量相乘,得到所述坐标的横坐标值;
对所述作业层级取负值,得到所述坐标的纵坐标值。
在本实施例的一些可选的实现方式中,展示模块305进一步用于:根据所述依赖关系确定所述作业的路径;根据所述路径和所述坐标,利用tableau算法形成所述任务依赖全景图,并将所述任务依赖全景图在可视化界面进行展示。
本实施例通过任务依赖全景图可以看到问题节点、根源节点、任务开始节点等,提高定位问题的效率和准确性,可以高效分析问题,解决问题。
在本实施例中,爬取模块302进一步用于:获取爬虫请求,根据所述爬虫请求调用爬虫程序,并通过所述爬虫程序爬取与所述爬虫请求对应的依赖关系,以获取各个所述作业之间的逻辑关系以及所述任务层级之间的执行逻辑。
本实施例通过爬虫爬取依赖关系,可以自动且高效地获取到所需的数据。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如任务依赖全景图展示方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述任务依赖全景图展示方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例通过处理器执行存储在存储器的计算机可读指令时实现如上述实施例任务依赖全景图展示方法的步骤,通过将目标项目对应的作业进行分层得到不同任务层级,并建立任务层级之间的依赖关系,可以避免作业关系依赖错乱,导致数据的聚合错误,降低使用方的信赖度,同时,通过任务依赖全景图能够直观展示作业调度依赖关系,提高作业定位的准确度。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的任务依赖全景图展示方法的步骤,通过将目标项目对应的作业进行分层得到不同任务层级,并建立任务层级之间的依赖关系,可以避免作业关系依赖错乱,导致数据的聚合错误,降低使用方的信赖度,同时,通过任务依赖全景图能够直观展示作业调度依赖关系,提高作业定位的准确度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种任务依赖全景图展示方法,其特征在于,包括下述步骤:
获取目标项目,将所述目标项目对应的作业进行分层得到不同任务层级,并根据各个所述作业之间的逻辑关系以及所述任务层级之间的执行逻辑,建立所述任务层级之间的依赖关系;
利用爬虫爬取所述依赖关系,根据所述依赖关系形成任务关系表;
根据所述任务关系表确定所述作业之间的层级关系;
根据所述层级关系生成每个所述作业对应的坐标;
基于所述坐标生成并展示任务依赖全景图。
2.根据权利要求1所述的任务依赖全景图展示方法,其特征在于,所述根据所述任务关系表确定所述作业之间的层级关系的步骤包括:
根据所述任务关系表生成树状关系图;
基于所述树状关系图确定所述作业之间的层级关系。
3.根据权利要求2所述的任务依赖全景图展示方法,其特征在于,所述根据所述任务关系表生成树状关系图的步骤包括:
从所述任务关系表中获取到所述依赖关系;
根据所述依赖关系中的项目执行顺序、工作流执行顺序以及作业执行顺序生成所述树状关系图。
4.根据权利要求1所述的任务依赖全景图展示方法,其特征在于,所述根据所述层级关系生成每个所述作业对应的坐标的步骤包括:
根据所述层级关系确定每个所述作业所在的作业层级,并获取每个作业层级中所述作业的第一数量以及作业数量最多作业层级中所述作业的第二数量;
根据所述作业的作业开始时间对每个作业层级中的所述作业进行排序,得到作业排序序号;
根据所述作业层级、所述第一数量、所述第二数量以及所述作业排序序号计算出所述作业的坐标。
5.根据权利要求4所述的任务依赖全景图展示方法,其特征在于,所述根据所述作业层级、所述第一数量、所述第二数量以及所述作业排序序号计算出所述作业的坐标的步骤包括:
将所述第一数量加一得到和值,计算所述作业排序序号与所述和值的比值,得到商值;
将所述商值与所述第二数量相乘,得到所述坐标的横坐标值;
对所述作业层级取负值,得到所述坐标的纵坐标值。
6.根据权利要求1所述的任务依赖全景图展示方法,其特征在于,所述基于所述坐标生成并展示任务依赖全景图的步骤包括:
根据所述依赖关系确定所述作业的路径;
根据所述路径和所述坐标,利用tableau算法形成所述任务依赖全景图,并将所述任务依赖全景图在可视化界面进行展示。
7.根据权利要求1至6中任一项所述的任务依赖全景图展示方法,其特征在于,所述利用爬虫爬取所述依赖关系的步骤包括:
获取爬虫请求,根据所述爬虫请求调用爬虫程序,并通过所述爬虫程序爬取与所述爬虫请求对应的依赖关系,以获取各个所述作业之间的逻辑关系以及所述任务层级之间的执行逻辑。
8.一种任务依赖全景图展示装置,其特征在于,包括:
获取模块,用于获取目标项目,将所述目标项目对应的作业进行分层得到不同任务层级,并建立所述任务层级之间的依赖关系;
爬取模块,用于利用爬虫爬取所述依赖关系,根据所述依赖关系形成任务关系表;
确定模块,用于根据所述任务关系表确定所述作业的层级关系;
生成模块,用于根据所述层级关系生成每个所述作业对应的坐标;
展示模块,用于基于所述坐标生成并展示任务依赖全景图。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的任务依赖全景图展示方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的任务依赖全景图展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110927687.3A CN113626037A (zh) | 2021-08-10 | 2021-08-10 | 任务依赖全景图展示方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110927687.3A CN113626037A (zh) | 2021-08-10 | 2021-08-10 | 任务依赖全景图展示方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113626037A true CN113626037A (zh) | 2021-11-09 |
Family
ID=78385136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110927687.3A Pending CN113626037A (zh) | 2021-08-10 | 2021-08-10 | 任务依赖全景图展示方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626037A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238055A (zh) * | 2021-12-20 | 2022-03-25 | 中国平安财产保险股份有限公司 | 任务数据处理方法、装置、电子设备及存储介质 |
CN116244365A (zh) * | 2023-02-23 | 2023-06-09 | 北京火山引擎科技有限公司 | 数据聚合的方法和装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019691A (zh) * | 2012-11-20 | 2013-04-03 | 北京思特奇信息技术股份有限公司 | 一种etl作业关系图的转化方法及其实现系统 |
US20150160974A1 (en) * | 2013-12-11 | 2015-06-11 | Dropbox, Inc. | Job-processing systems and methods with inferred dependencies between jobs |
CN109661674A (zh) * | 2016-12-22 | 2019-04-19 | 华为技术有限公司 | 可视化计算工作流的系统和方法 |
CN111126857A (zh) * | 2019-12-25 | 2020-05-08 | 北京旷视机器人技术有限公司 | 密集仓储的任务管理方法、装置及电子设备 |
CN111857984A (zh) * | 2020-06-01 | 2020-10-30 | 北京文思海辉金信软件有限公司 | 银行系统中的作业调用处理方法、装置和计算机设备 |
-
2021
- 2021-08-10 CN CN202110927687.3A patent/CN113626037A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019691A (zh) * | 2012-11-20 | 2013-04-03 | 北京思特奇信息技术股份有限公司 | 一种etl作业关系图的转化方法及其实现系统 |
US20150160974A1 (en) * | 2013-12-11 | 2015-06-11 | Dropbox, Inc. | Job-processing systems and methods with inferred dependencies between jobs |
CN109661674A (zh) * | 2016-12-22 | 2019-04-19 | 华为技术有限公司 | 可视化计算工作流的系统和方法 |
CN111126857A (zh) * | 2019-12-25 | 2020-05-08 | 北京旷视机器人技术有限公司 | 密集仓储的任务管理方法、装置及电子设备 |
CN111857984A (zh) * | 2020-06-01 | 2020-10-30 | 北京文思海辉金信软件有限公司 | 银行系统中的作业调用处理方法、装置和计算机设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238055A (zh) * | 2021-12-20 | 2022-03-25 | 中国平安财产保险股份有限公司 | 任务数据处理方法、装置、电子设备及存储介质 |
CN116244365A (zh) * | 2023-02-23 | 2023-06-09 | 北京火山引擎科技有限公司 | 数据聚合的方法和装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112491602B (zh) | 行为数据的监控方法、装置、计算机设备及介质 | |
CN109816321A (zh) | 一种服务管理方法、装置、设备和计算机可读存储介质 | |
CN110221901A (zh) | 容器资源创建方法、装置、设备及计算机可读存储介质 | |
CN108292383B (zh) | 与通信相关联的任务的自动提取 | |
KR20130126930A (ko) | 텍스트 메시지를 사용하는 스프레드시트와의 상호작용 | |
WO2021051546A1 (zh) | 一种链路异常识别方法、服务器及计算机可读存储介质 | |
CN113836131A (zh) | 一种大数据清洗方法、装置、计算机设备及存储介质 | |
CN113626037A (zh) | 任务依赖全景图展示方法、装置、计算机设备及存储介质 | |
CN110975293A (zh) | 建立资源引用关系表的方法、装置、服务器及介质 | |
CN115237857A (zh) | 日志处理方法、装置、计算机设备及存储介质 | |
CN114281552A (zh) | 一种基于有向无环图的任务调度方法、装置、设备及介质 | |
WO2023134134A1 (zh) | 一种关联查看模型的生成方法、装置、计算机设备及存储介质 | |
CN118036913A (zh) | 任务分配方法、装置、计算机设备及存储介质 | |
CN115578170A (zh) | 一种财务批量制证方法、装置、设备及存储介质 | |
CN115203304A (zh) | 一种基于定时轮询的批量数据导入方法及相关设备 | |
CN113590372A (zh) | 基于日志的链路追踪方法、装置、计算机设备及存储介质 | |
CN114528443A (zh) | 基于知识图谱的信息挖掘方法及其相关设备 | |
CN113687881A (zh) | 元数据调用方法、装置、电子设备及存储介质 | |
WO2022011947A1 (zh) | 一种交易数据的处理方法、装置、计算机设备及存储介质 | |
CN101655945B (zh) | 一种业务信息管理系统中的业务记录处理方法和装置 | |
CN114217899B (zh) | 数据持久化方法、装置、电子设备及存储介质 | |
US12197607B1 (en) | Accessing data from electronic discovery applications | |
CN109933459A (zh) | 一种多任务的执行方法和装置 | |
CN111327513B (zh) | 消息数据的推送方法、装置、计算机设备及存储介质 | |
CN115904657A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20211109 |
|
WD01 | Invention patent application deemed withdrawn after publication |