CN111142849B - 流程处理方法、装置、存储介质及处理器 - Google Patents
流程处理方法、装置、存储介质及处理器 Download PDFInfo
- Publication number
- CN111142849B CN111142849B CN201911259797.6A CN201911259797A CN111142849B CN 111142849 B CN111142849 B CN 111142849B CN 201911259797 A CN201911259797 A CN 201911259797A CN 111142849 B CN111142849 B CN 111142849B
- Authority
- CN
- China
- Prior art keywords
- execution
- component
- dag
- node
- executable
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种流程处理方法、装置、存储介质及处理器,属于计算机技术领域。所述流程处理方法包括:将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点,其中每一执行组件节点对应表示一个执行组件;在所述可视化工具中,生成描述各个执行组件节点之间的执行关系的有向无环图DAG,其中所述执行关系包括执行顺序和执行条件;将所述DAG转化成多个可执行链,其中每一可执行链对应表示所述DAG从开始节点到结束节点的一条路径;以及执行所述可执行链。本发明实施例的方案将流程的各个已注册组件的执行关系以DAG图的形式描述,然后将DAG图转为可执行链的方式,简化了处理复杂度,提高了执行效率。
Description
技术领域
本发明涉及计算机技术领域,具体地涉及一种流程处理方法、装置、存储介质及处理器。
背景技术
软件开发过程中需要将业务流程(或数据流)整理完毕后编写代码以实现流程的具体逻辑,但这其中涉及的各流程节点间的组合、变动等,仍然存在大量工作量。对此,目前的解决方案主要是采用基于BPMN(Business Process Modeling Notation,业务流程建模符号)的流程管理工具来管理业务流程,但该流程管理工具主要针对的是流程图的编辑,实际执行仍然需要人或者程序去触发节点信息,代码工作量较大,而且功能较为重复,不能满足性能要求比较高的场景。
发明内容
本发明实施例的目的是提供一种流程处理方法、装置、存储介质及处理器,用于解决现有流程管理方案不能满足性能要求比较高的场景的问题。
为了实现上述目的,本发明实施例提供一种流程处理方法,包括:将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点,其中每一执行组件节点对应表示一个执行组件;在所述可视化工具中,生成描述各个执行组件节点之间的执行关系的DAG(Directed Acylic Graph,有向无环图),其中所述执行关系包括执行顺序和执行条件;将所述DAG转化成多个可执行链,其中每一可执行链对应表示所述DAG从开始节点到结束节点的一条路径;以及执行所述可执行链。
可选的,所述将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点包括:将所述多个执行组件按预设的注册规则信息注册到所述可视化工具中,以在所述可视化工具中形成对应的多个执行组件节点;其中,所述注册规则信息用于规定处理所述流程时的条件约束范围、请求传参、返回数据格式和/或数据传输协议。
可选的,所述生成描述各个执行组件节点之间的执行关系的有向无环图DAG包括:生成DAG模板;以及响应于用户操作,将各个执行组件节点添加至所述DAG模板中,并标注所述执行顺序和所述执行条件,以得到最终的DAG。
可选的,所述标注所述执行顺序和所述执行条件包括通过配置有向边来标注各个执行组件节点之间的执行顺序,以及通过以下任意一者来标注所述执行条件:在两个执行组件节点存在执行条件的情况下,在该两个执行组件节点的有向边处标注相应的执行条件;以及将所述执行条件注册为所述可视化工具中的条件组件节点,并根据所述条件组件节点与所述执行组件节点之间的执行顺序将所述条件组件节点描述至所述DAG图中。
可选的,所述将所述DAG转化成多个可执行链包括:从所述开始节点开始,遍历所述DAG,获取其从所述开始节点至所述结束节点的每一路径,并将所获取的每一路径记录为一个可执行链,其中每一可执行链具有不同的执行条件的组合。
可选的,所述执行所述可执行链包括:响应于用户请求查询需执行的可执行链;查询所述需执行的可执行链中的组件节点的组件信息,其中所述组件信息包括组件执行方式;基于所查询的组件信息执行相应组件节点;以及向用户返回执行所述相应组件节点的结果。
另一方面,本发明实施例提供一种流程处理装置,包括:注册模块,用于将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点,其中每一执行组件节点对应表示一个执行组件;生成模块,用于在所述可视化工具中,生成描述各个执行组件节点之间的执行关系的有向无环图DAG,其中所述执行关系包括执行顺序和执行条件;转化模块,用于将所述DAG转化成多个可执行链,其中每一可执行链对应表示所述DAG从开始节点到结束节点的一条路径;以及执行模块,用于执行所述可执行链。
可选的,所述注册模块用于将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点包括:将所述多个执行组件按预设的注册规则信息注册到所述可视化工具中,以在所述可视化工具中形成对应的多个执行组件节点;其中,所述注册规则信息用于规定处理所述流程时的条件约束范围、请求传参、返回数据格式和/或数据传输协议。
可选的,所述生成模块包括:模板生成子模块,用于生成DAG模板;以及编辑子模块,用于响应于用户操作,将各个执行组件节点添加至所述DAG模板中,并标注所述执行顺序和所述执行条件,以得到最终的DAG。
可选的,所述编辑子模块用于标注所述执行顺序和所述执行条件包括通过配置有向边来标注各个执行组件节点之间的执行顺序,以及通过以下任意一者来标注所述执行条件:在两个执行组件节点存在执行条件的情况下,在该两个执行组件节点的有向边处标注相应的执行条件;以及将所述执行条件注册为所述可视化工具中的条件组件节点,并根据所述条件组件节点与所述执行组件节点之间的执行顺序将所述条件组件节点描述至所述DAG图中。
可选的,所述转化模块用于将所述DAG转化成多个可执行链包括:从所述开始节点开始,遍历所述DAG,获取其从所述开始节点至所述结束节点的每一路径,并将所获取的每一路径记录为一个可执行链,其中每一可执行链具有不同的执行条件的组合。
可选的,所述执行模块包括:第一查询子模块,用于响应于用户请求查询需执行的可执行链;第二查询子模块,用于查询所述需执行的可执行链中的组件节点的组件信息,其中所述组件信息包括组件执行方式;执行子模块,基于所查询的组件信息执行相应组件节点;以及结果返回子模块,向用户返回执行所述相应组件节点的结果。
本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述的流程处理方法。
本发明实施例还提供一种处理器,用于运行程序,其中,所述程序被运行时用于执行上述的流程处理方法。
通过上述技术方案,本发明实施例的方案将流程的各个已注册组件的执行关系以DAG图的形式描述,然后将DAG图转为可执行链的方式,简化了处理复杂度,提高了执行效率。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明实施例的流程处理方法的执行过程示意图;
图2(a)和图2(b)是本发明实施例中生成DAG的示意图;
图3(a)-图3(d)是本发明实施例中由图2(b)的DAG图所转化成的可执行链的示意图;
图4是本发明实施例中执行所述可执行链的流程示意图;以及
图5是本发明实施例的流程处理装置的结构示意图
附图标记说明
510、注册模块;520、生成模块;530、转化模块;540、执行模块;521、模板生成子模块;522、编辑子模块;541、第一查询子模块;542、第二查询子模块;543、执行子模块;544、结果返回子模块。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
图1是本发明实施例的流程处理方法的执行过程示意图,其中所述流程包括业务流程、数据流等,且该流程处理方法由客户端、服务器等终端执行。如图1所示,该流程处理方法可以包括以下步骤:
步骤S110,将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点,其中每一执行组件节点对应表示一个执行组件。
在此,以组件表示流程的一个执行环节(或执行节点),则每一流程(特别是逻辑性强的流程)可由多个执行组件构成。以关于房源推送的业务流程为例,其可包括获取用户信息、分析用户需求、匹配房源、推送房源等多个执行环节,而每一执行环节可被视为一个执行组件。在优选的实施例中,可在执行步骤S110之前,先将所述流程拆分为多个执行组件,再进行执行组件的注册。
进一步地,所述可视化工具需要能够支持可视化功能,以使得能够在可视化工具中看到已注册的执行组件节点。另外,所述可视化工具还需要支持动态流程图绘制功能。符合条件的可视化工具例如为gojs、D3.js、jointjs、mxgraph等。将组件注册至可视化工具中,即是利用可视化工具,使组件变成可用于形成动态流程图中的节点模块,以供绘制动态流程图时进行调用。举例而言,对于上述房源推送的业务流程,可将关于获取用户信息、分析用户需求、匹配房源、推送房源的执行组件分别注册成在gojs工具中示出的四个节点模块。
更进一步地,在可视化工具中注册完成的执行组件节点只需经过一次注册,就可以被反复多次使用。举例而言,上述关于“匹配房源”的执行组件节点不仅适用于房源推送的业务流程,对于房源搜索的业务流程也同样适用。因此,组件可一次注册而多次使用,有利于减少开发工作量。
另外,在优选的实施例中,该步骤S110可以包括:将所述多个执行组件按预设的注册规则信息注册到所述可视化工具中,以在所述可视化工具中形成对应的多个执行组件节点。
其中,所述注册规则信息用于规定处理所述流程时的条件约束范围、请求传参、返回数据格式和/或数据传输协议。其中,所述请求传参可包括请求地址、传参方式及请求协议等,且所述请求协议包括但不限于sql、http、tcp、hession等协议。举例而言,以sql的形式注册一个房源查询请求的节点(例如查询某城市(city)的房源,对应的程式为“SELECT tas response FROM sub_unit where city=#{request.city}”),根据约定流程处理时的请求传参,获取返回的房源参数;也可以通过代码形式对http等约定流程处理时的数据传输协议的接口进行调用,获取返回的房源参数;其中,通过预设的注册规则信息,可规定返回的房源参数的数据格式以及条件约束范围,例如条件约束范围是规定用户合作的概率在30%以上。
在优选的实施例中,可以先对同一流程的组件提供统一的注册规则信息,相应组件实现与可视化工具的协议后,可自行向可视化工具提供该注册规则信息。另外,各组件可将注册规则信息以接口形式实现,并将该接口一并注册至所述可视化工具中。
步骤S120,在所述可视化工具中,生成描述各个执行组件节点之间的执行关系的DAG(Directed Acylic Graph,有向无环图),其中所述执行关系包括执行顺序和执行条件。
如上所述,可视化工具具备动态流程图绘制功能,本发明实施例在该基础上,进一步利用可视化工具生成DAG。DAG是计算机领域的一种常用数据结构,因为独特的拓扑结构所带来的优异特性,可用于处理动态规划、导航中寻求最短路径、房源搜索中寻求最优房源、数据压缩等多种算法场景中。
在优选的实施例中,该步骤S120可以包括:
步骤S121,生成DAG模板。
该DAG模板可例如仅包括开始(Start)节点和结束(End)节点。
步骤S122,响应于用户操作,将各个执行组件节点添加至所述DAG模板中,并标注所述执行顺序和所述执行条件,以得到最终的DAG。
图2(a)和图2(b)是本发明实施例中生成DAG的示意图。参考图2(a)和图2(b),步骤S122中的用户操作例如是在可视化工具的UI(User Interface,用户界面)中进行组件节点的拖拽,以选择需要的执行组件节点。
在更为优选的实施例中,对于步骤S122,标注所述执行顺序可以通过配置有向边来实现,即通过有向边示出各个执行组件节点之间的执行顺序。参考图2(a)和图2(b),可用有向边连接两个执行组件节点,而有向边的箭头用以示出两个执行组件节点间的执行顺序。
在更为优选的实施例中,对于步骤S122,通过以下两种方案中的任意一者来标注所述执行条件。
1)依靠有向边进行执行条件标注。
图2(a)是本发明实施例中依靠有向边进行执行条件标注的示意图。如图2(a)所示,对于涉及执行条件的节点,在有向边的相应位置上直接标注执行条件,如图中的条件1、条件2、条件3和条件4。
2)通过配置条件组件节点进行执行条件标注。
图2(b)是本发明实施例中通过配置条件组件节点进行执行条件标注的示意图,对应的执行条件标注方法可包括:将所述执行条件注册为所述可视化工具中的条件组件节点,并根据所述条件组件节点与所述执行组件节点之间的执行顺序将所述条件组件节点描述至所述DAG图中。
参考图2(b),采用该方案后,在可视化工具中注册的组件除了执行组件节点(即在图中的用方框表示的节点1至节点8等),还包括条件组件节点,即在图中用菱形框表示的条件1、条件2和条件3。据此,执行条件以组件节点的形式描述在了DAG图中。另外,条件组件需要指定条件判断的传参以及条件约束范围,以供在DAG图中选择和编辑条件组件节点,例如:在条件1为房源是否进行商业交易时,设置True(真)和False(假)两个条件约束范围,相应的传参可例如为函数request.commerce;在条件2为房源所在城市时,划分不同的城市区域作为条件约束范围,并配置相应传参;在条件3为用户合作概率时,分配概率为0.3和0.7的两个条件约束范围,并配置相应传参。
对比图2(a)和图2(b),可知依靠有向边进行执行条件标注的方案相对于通过配置条件组件节点进行执行条件标注的方案,可减少配置条件组件节点的过程,但其条件标注的难度较大,且不易体现出条件约束范围,适用于逻辑关系较为简单、执行条件较少的流程处理,而通过配置条件组件节点进行执行条件标注的方案适用于逻辑关系相对复杂且执行条件相对较少的流程处理。
进一步地,参考图2(a)和图2(b),为了便于后续更好地实现将DAG图转化成可执行链,在优选的实施例中,对DAG图有以下限制:
1)要保证所有边为有向边,且图中不能有环。
2)开始(Start)节点为开始执行的节点,不允许有入边指向开始节点;结束(End)节点为终结的节点,不允许有任何出边。
3)开始(Start)节点出发不可达的节点视为无效节点,从节点自身出发无法到达结束(End)节点的也视为无效节点。
4)执行组件节点只允许有一条出边,而条件组件节点可以有多个出边,若条件组件节点未指定条件范围,则设置默认边,且仅允许一个默认边,其他边的选择结果需保持互斥。
据此,该步骤S120采用可视化、可交互的方式管理各执行组件间的前后关系(即执行顺序)和执行条件,并根据相关规则约束成一个DAG以用于下一步骤。
步骤S130,将所述DAG转化成多个可执行链。
其中,每一可执行链对应表示所述DAG从开始节点到结束节点的一条路径。
在优选的实施例中,该步骤S130可以包括:从所述开始节点开始,遍历所述DAG,获取其从所述开始节点至所述结束节点的每一路径,并将所获取的每一路径记录为一个可执行链,其中每一可执行链具有不同的执行条件的组合。其中,从所述开始节点至所述结束节点之所以会有多条路径就是因为存在多个执行条件,因而每一可执行链具有不同的执行条件的组合。
举例而言,可从开始节点开始,采用栈的方式进行深度优先遍历,遍历所有开始节点到结束节点间的路径,每遇到一个无出边的节点(一般为结束节点),将当栈中的所有节点记录为一个可执行链,连接这些节点的所有边的执行条件为该链的执行条件,从而一个DAG转化为多个可执行链,每个可执行链的执行条件各不相同。据此,该步骤S130将DAG的数据结构简化为了多个可执行链的数据结构,并且每个链都有自己的执行条件,可以根据请求传参对应的执行条件要求来确定需要执行哪个链。
图3(a)-图3(d)是本发明实施例中由图2(b)的DAG图所转化成的可执行链的示意图,其中图3(a)和图3(b)对应于条件1、条件2和条件3的组合,但例如在条件1、条件2相同而条件3示出的用户合作概率包括0.3和0.7的两个范围时,图3(a)针对条件3满足0.3的场景,图3(b)针对条件3满足0.7的场景,图3(c)对应于条件1和条件2的组合,但相对于图3(a)和图3(b),例如条件2为房源所在城市时所针对的城市范围不同,图3(d)则针对默认场景。
通过步骤S130,较为复杂的DAG转化成了多个简单的可执行链。
步骤S140,执行所述可执行链。
图4是本发明实施例中执行所述可执行链的流程示意图。参考图4,该步骤S140可进一步包括以下步骤:
步骤S141,响应于用户请求查询需执行的可执行链。
举例而言,针对用户想要找房的场景,响应于用户通过终端发送的请求查询关于房源查找的可执行链。其中,用户请求可通过在注册组件时的请求传参来传输至所述可视化工具。
步骤S142,查询所述需执行的可执行链中的组件节点的组件信息。
其中,所述组件信息是组件本身的属性信息,其可在所述步骤S110中进行组件注册时获得,并可包括组件执行方式等。
步骤S143,基于所查询的组件信息执行相应组件节点。
其中,所述组件信息规定了组件执行方式,调用相应方式则可执行组件。
步骤S144,向用户返回执行所述相应组件节点的结果。
举例而言,执行关于“房源推送”的组件节点的结果是获得了房源信息,可向请求执行所述可执行链的终端返回获得的房源信息。
据此,实现了基于简化的可执行链的流程处理,在一个实例中,若直接基于步骤S120得到的DAG进行广度优先遍历来完成流程处理,时间复杂度为O(n),而若是提前将DAG图转为多个可执行链,则时间复杂度为O(h),其中h指为可执行链的最大长度,只有在最糟糕的情况下这两个复杂度才会相等,而大多数情况O(h)的复杂较小,具有执行时间上的优势。
综上所述,本发明实施例的流程处理方法将各个已注册组件的执行关系以DAG图的形式描述,然后将DAG图转为可执行链的方式,简化了处理复杂度,提高了执行效率。
图5是本发明实施例的流程处理装置的结构示意图,该流程处理装置与上述关于流程处理方法的实施例具有相同的发明思路。如图5所示,所述流程处理装置可以包括:注册模块510,用于将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点,其中每一执行组件节点对应表示一个执行组件;生成模块520,用于在所述可视化工具中,生成描述各个执行组件节点之间的执行关系的有向无环图DAG,其中所述执行关系包括执行顺序和执行条件;转化模块530,用于将所述DAG转化成多个可执行链,其中每一可执行链对应表示所述DAG从开始节点到结束节点的一条路径;以及执行模块540,用于执行所述可执行链。
在优选的实施例中,所述注册模块510用于将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点包括:将所述多个执行组件按预设的注册规则信息注册到所述可视化工具中,以在所述可视化工具中形成对应的多个执行组件节点;其中,所述注册规则信息用于规定处理所述流程时的条件约束范围、请求传参、返回数据格式和/或数据传输协议。
在优选的实施例中,所述生成模块520包括:模板生成子模块521,用于生成DAG模板;以及编辑子模块522,用于响应于用户操作,将各个执行组件节点添加至所述DAG模板中,并标注所述执行顺序和所述执行条件,以得到最终的DAG。
在优选的实施例中,所述编辑子模块522用于标注所述执行顺序和所述执行条件包括通过配置有向边来标注各个执行组件节点之间的执行顺序,以及通过以下任意一者来标注所述执行条件:
1)在两个执行组件节点存在执行条件的情况下,在该两个执行组件节点的有向边处标注相应的执行条件。
2)将所述执行条件注册为所述可视化工具中的条件组件节点,并根据所述条件组件节点与所述执行组件节点之间的执行顺序将所述条件组件节点描述至所述DAG图中。
在优选的实施例中,所述转化模块530用于将所述DAG转化成多个可执行链包括:从所述开始节点开始,遍历所述DAG,获取其从所述开始节点至所述结束节点的每一路径,并将所获取的每一路径记录为一个可执行链,其中每一可执行链具有不同的执行条件的组合。
在优选的实施例中,所述执行模块540包括:第一查询子模块541,用于响应于用户请求查询需执行的可执行链;第二查询子模块542,用于查询所述需执行的可执行链中的组件节点的组件信息,其中所述组件信息包括组件执行方式;执行子模块543,基于所查询的组件信息执行相应组件节点;以及结果返回子模块544,向用户返回执行所述相应组件节点的结果。
本发明实施例的流程处理装置的其他实施细节及效果可参考关于流程处理方法的实施例,在此不再进行赘述。
所述流程处理装置包括处理器和存储器,上述注册模块510、生成模块520、转化模块530、执行模块540及它们的子模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现本发明实施例的流程处理方法。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行上述实施例的流程处理方法。
本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述实施例的流程处理方法。
本发明实施例还提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例的流程处理方法。本发明实施例中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有上述实施例的流程处理方法的步骤的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种流程处理方法,其特征在于,所述流程处理方法包括:
将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点,其中每一执行组件节点对应表示一个执行组件;
在所述可视化工具中,生成描述各个执行组件节点之间的执行关系的有向无环图DAG,其中所述执行关系包括执行顺序和执行条件;
将所述DAG转化成多个可执行链,其中每一可执行链对应表示所述DAG从开始节点到结束节点的一条路径;以及
响应于用户请求查询需执行的可执行链,执行该可执行链。
2.根据权利要求1所述的流程处理方法,其特征在于,所述将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点包括:
将所述多个执行组件按预设的注册规则信息注册到所述可视化工具中,以在所述可视化工具中形成对应的多个执行组件节点;
其中,所述注册规则信息用于规定处理所述流程时的条件约束范围、请求传参、返回数据格式和/或数据传输协议。
3.根据权利要求1所述的流程处理方法,其特征在于,所述生成描述各个执行组件节点之间的执行关系的有向无环图DAG包括:
生成DAG模板;以及
响应于用户操作,将各个执行组件节点添加至所述DAG模板中,并标注所述执行顺序和所述执行条件,以得到最终的DAG。
4.根据权利要求3所述的流程处理方法,其特征在于,所述标注所述执行顺序和所述执行条件包括:
通过配置有向边来标注各个执行组件节点之间的执行顺序;以及
通过以下任意一者来标注所述执行条件:
在两个执行组件节点存在执行条件的情况下,在该两个执行组件节点的有向边处标注相应的执行条件;以及
将所述执行条件注册为所述可视化工具中的条件组件节点,并根据所述条件组件节点与所述执行组件节点之间的执行顺序将所述条件组件节点描述至所述DAG图中。
5.根据权利要求1所述的流程处理方法,其特征在于,所述将所述DAG转化成多个可执行链包括:
从所述开始节点开始,遍历所述DAG,获取其从所述开始节点至所述结束节点的每一路径,并将所获取的每一路径记录为一个可执行链,其中每一可执行链具有不同的执行条件的组合。
6.根据权利要求1所述的流程处理方法,其特征在于,执行可执行链包括:
查询所述需执行的可执行链中的组件节点的组件信息,其中所述组件信息包括组件执行方式;
基于所查询的组件信息执行相应组件节点;以及
向用户返回执行所述相应组件节点的结果。
7.一种流程处理装置,其特征在于,所述流程处理装置包括:
注册模块,用于将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点,其中每一执行组件节点对应表示一个执行组件;
生成模块,用于在所述可视化工具中,生成描述各个执行组件节点之间的执行关系的有向无环图DAG,其中所述执行关系包括执行顺序和执行条件;
转化模块,用于将所述DAG转化成多个可执行链,其中每一可执行链对应表示所述DAG从开始节点到结束节点的一条路径;以及
执行模块,用于响应于用户请求查询需执行的可执行链,执行该可执行链。
8.根据权利要求7所述的流程处理装置,其特征在于,所述注册模块用于将构成所述流程的多个执行组件注册为可视化工具中的执行组件节点包括:
将所述多个执行组件按预设的注册规则信息注册到所述可视化工具中,以在所述可视化工具中形成对应的多个执行组件节点;
其中,所述注册规则信息用于规定处理所述流程时的条件约束范围、请求传参、返回数据格式和/或数据传输协议。
9.根据权利要求7所述的流程处理装置,其特征在于,所述生成模块包括:
模板生成子模块,用于生成DAG模板;以及
编辑子模块,用于响应于用户操作,将各个执行组件节点添加至所述DAG模板中,并标注所述执行顺序和所述执行条件,以得到最终的DAG。
10.根据权利要求9所述的流程处理装置,其特征在于,所述编辑子模块用于标注所述执行顺序和所述执行条件包括:
通过配置有向边来标注各个执行组件节点之间的执行顺序;以及
通过以下任意一者来标注所述执行条件:
在两个执行组件节点存在执行条件的情况下,在该两个执行组件节点的有向边处标注相应的执行条件;以及
将所述执行条件注册为所述可视化工具中的条件组件节点,并根据所述条件组件节点与所述执行组件节点之间的执行顺序将所述条件组件节点描述至所述DAG图中。
11.根据权利要求7所述的流程处理装置,其特征在于,所述转化模块用于将所述DAG转化成多个可执行链包括:
从所述开始节点开始,遍历所述DAG,获取其从所述开始节点至所述结束节点的每一路径,并将所获取的每一路径记录为一个可执行链,其中每一可执行链具有不同的执行条件的组合。
12.根据权利要求7所述的流程处理装置,其特征在于,所述执行模块包括:
第一查询子模块,用于响应于用户请求查询需执行的可执行链;
第二查询子模块,用于查询所述需执行的可执行链中的组件节点的组件信息,其中所述组件信息包括组件执行方式;
执行子模块,基于所查询的组件信息执行相应组件节点;以及
结果返回子模块,向用户返回执行所述相应组件节点的结果。
13.一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行权利要求1至6中任意一项所述的流程处理方法。
14.一种处理器,其特征在于,用于运行程序,其中,所述程序被运行时用于执行:如权利要求1至6中任意一项所述的流程处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911259797.6A CN111142849B (zh) | 2019-12-10 | 2019-12-10 | 流程处理方法、装置、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911259797.6A CN111142849B (zh) | 2019-12-10 | 2019-12-10 | 流程处理方法、装置、存储介质及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142849A CN111142849A (zh) | 2020-05-12 |
CN111142849B true CN111142849B (zh) | 2023-07-14 |
Family
ID=70517856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911259797.6A Active CN111142849B (zh) | 2019-12-10 | 2019-12-10 | 流程处理方法、装置、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142849B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698878A (zh) * | 2020-12-18 | 2021-04-23 | 浙江中控技术股份有限公司 | 基于算法微服务的计算方法及系统 |
CN113408955A (zh) * | 2021-07-19 | 2021-09-17 | 浙江孚临科技有限公司 | 一种bpmn前端工作流操作方法 |
CN113946562A (zh) * | 2021-10-14 | 2022-01-18 | 国云科技股份有限公司 | 一种数据协同链可视化设计平台 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336720A (zh) * | 2013-06-17 | 2013-10-02 | 湖南大学 | 一种基于slurm的具有数据依赖关系的作业执行方法 |
WO2019185558A1 (en) * | 2018-03-26 | 2019-10-03 | Uvue Ltd | Data processing system using directed acyclic graph and method of use thereof |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510751B2 (en) * | 2010-03-18 | 2013-08-13 | International Business Machines Corporation | Optimizing workflow engines |
US10692254B2 (en) * | 2018-03-02 | 2020-06-23 | International Business Machines Corporation | Systems and methods for constructing clinical pathways within a GUI |
WO2019217669A1 (en) * | 2018-05-10 | 2019-11-14 | Cornell University | Metastable byzantine agreement |
CN110096342A (zh) * | 2019-05-08 | 2019-08-06 | 深圳乐信软件技术有限公司 | 任务处理方法、装置、服务器和存储介质 |
CN110321210A (zh) * | 2019-06-28 | 2019-10-11 | 京东数字科技控股有限公司 | 数据处理方法、装置、计算机可读介质及电子设备 |
-
2019
- 2019-12-10 CN CN201911259797.6A patent/CN111142849B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336720A (zh) * | 2013-06-17 | 2013-10-02 | 湖南大学 | 一种基于slurm的具有数据依赖关系的作业执行方法 |
WO2019185558A1 (en) * | 2018-03-26 | 2019-10-03 | Uvue Ltd | Data processing system using directed acyclic graph and method of use thereof |
Also Published As
Publication number | Publication date |
---|---|
CN111142849A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142849B (zh) | 流程处理方法、装置、存储介质及处理器 | |
US10904316B2 (en) | Data processing method and apparatus in service-oriented architecture system, and the service-oriented architecture system | |
WO2020052548A1 (zh) | 一种异构api适配处理方法、装置、设备及介质 | |
CN101405761B (zh) | 供服务接收和处理数据的方法和系统 | |
JP2012234536A (ja) | セマンティックモデルおよびルールからコードを生成するための方法 | |
CN113079198B (zh) | 一种云平台接口协议转换的方法及装置 | |
CN110020353B (zh) | 网页表单的构建方法及装置 | |
CN114490641B (zh) | 一种工业互联网数据的共享方法、设备及介质 | |
CN110727482B (zh) | 一种界面的更新方法和装置 | |
US20190102465A1 (en) | Api query extension | |
CN107423037B (zh) | 应用程序接口定位方法及设备 | |
US20170032052A1 (en) | Graph data processing system that supports automatic data model conversion from resource description framework to property graph | |
US20170339252A1 (en) | Generating a response to a client device in an internet of things domain | |
CN110958278B (zh) | 基于api网关实现的数据处理方法、系统和api网关 | |
CN115599764A (zh) | 一种表格数据的迁移方法、设备及介质 | |
CN109062906A (zh) | 程序语言资源的翻译方法及装置 | |
CN113590652B (zh) | 数据存储系统、数据处理方法、设备及存储介质 | |
CN114025027A (zh) | 数据传输脚本的运行方法、装置、存储介质和电子装置 | |
CN110866052A (zh) | 一种数据分析方法、装置及设备 | |
CN110633162B (zh) | 远程调用实现方法、装置、计算机设备及存储介质 | |
CN112199577A (zh) | 一种数据查询方法、装置及电子设备 | |
CN110928896A (zh) | 一种数据查询方法及装置 | |
CN111125207B (zh) | 一种数据获取方法、装置、连接器及presto引擎 | |
CN113553047A (zh) | 一种将dsl转换为可视化页面的方法及装置 | |
CN111368146A (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 |