CN107577586A - 一种用于确定分布式系统中业务执行链路的方法和设备 - Google Patents
一种用于确定分布式系统中业务执行链路的方法和设备 Download PDFInfo
- Publication number
- CN107577586A CN107577586A CN201610517771.7A CN201610517771A CN107577586A CN 107577586 A CN107577586 A CN 107577586A CN 201610517771 A CN201610517771 A CN 201610517771A CN 107577586 A CN107577586 A CN 107577586A
- Authority
- CN
- China
- Prior art keywords
- workflow
- execution
- business
- next step
- information
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请的目的是提供一种用于确定分布式系统中业务执行链路的方法和设备,通过创建分布式系统中待执行的业务对应的工作流实例;在所述工作流实例的执行过程中记录对应的执行日志;根据所述执行日志确定所述业务的执行链路,实现了对分布式系统链路进行跟踪,以待基于各所述业务的执行链路统计分布式系统端到端的调用关系,以达到对分布式系统链路进行跟踪的目的,并根据执行日志中的工作流相关标识信息和调用嵌套关系信息达到确定所述业务的执行链路,从而基于业务的执行链路分析出所述分布式系统的执行路径,并统计分布式系统中端到端的调用关系。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种用于确定分布式系统中业务执行链路的技术。
背景技术
系统链路跟踪在大规模分布式环境下是一种非常有帮助的辅助问题诊断和异常定位的方法。在大规模分布式的部署环境下,端到端的系统链路建立需要涉及到多个服务调用,其中,服务调用也有可能跨越多个完全独立部署和运维的业务应用,且这些业务应用可能使用不同的编程语言;有些服务调用可能跨越了多个机房,从物理上服务调用可能跨越了很长的距离;从设计层面来看,业务服务可能是几十个甚至上百个独立的团队开发,服务与服务之间错综复杂的调用关系很难从上到下梳理清楚;而且实际的大规模环境下,每天服务调用的量都是数以千亿计,传统的关系型数据库已经无法支撑大量的数据信息,导致端到端的分布式系统链路跟踪成为当今研究的主要课题。
现有技术中,对分布式系统链路跟踪主要采用以下两种方法:1、修改所有的中间件产品,从Web容器开始,到数据库访问,到分布式消息服务,都需要做相应的修改来产生标识用户请求的唯一ID。由于当Web容器接收到用户请求时,系统产生唯一的请求ID;当Web服务将用户请求发送给其他业务服务时,Web容器需要把用户的请求带到下一个业务服务的容器中;当业务服务容器需要访问数据库时,服务容器需要将用户请求唯一ID发送给数据库访问驱动;当服务容器需要发送消息时,需要将用户请求唯一ID发送给消息中间件,故在整条分布式系统链路中都需要用户修改所有涉及的中间件服务,使得实现技术复杂;同时实现这样复杂的修改需要强大的研发团队导致研发成本也很高;2、直接修改应用代码,应用的开发人员手工在每个需要跟踪的方法打上相应的标签或是调用日志。如果是标签,应用容器会使用面向切面编程(Aspect Oriented Programming,AOP)的技术来打印日志,最后系统统一收集日志后分析系统的执行路径;由于直接修改应用代码的方法需要开发人员对于所有需要跟踪的业务方法来添加标签,这会给开发人员编辑代码带来沉重的负担;若在业务需求发生变化时,开发人员也同样需要为所有需要跟踪的代码加上标签或日志,这违背了让开发人员集中在业务逻辑上的基本软件工程原则;并且在跨系统多语言的情况下,整个开发团队需要为所有的语言和容器来定制记录标签和日志的技术服务,同时为了将traceId(跟踪标志)和spanId(嵌套标识)从一种编程语言传递到另外一种编程语言,开发团队还需要定制远程服务调用之间的通信协议,故直接修改应用代码的方案的技术复杂度较高,而且开发的成本也非常大。
因此,现有技术中对分布式系统链路进行跟踪采用修改所有的中间件产品,导致实现技术复杂度高且成本高,同时,采用直接修改应用代码需要对所有需要跟踪的方法添加标签导致代码负担重、技术复杂度高及开发成本高。
发明内容
本申请的目的是提供一种用于确定分布式系统中业务执行链路的方法与设备,以解决现有技术中采用修改所有的中间件产品对分布式系统链路进行跟踪,导致实现技术复杂度高且成本高,同时,采用直接修改应用代码需要对所有需要跟踪的方法添加标签导致代码负担重、技术复杂度高及开发成本高的问题。
根据本申请的一个方面,提供了一种用于确定分布式系统中业务执行链路的方法,包括:
创建分布式系统中待执行的业务对应的工作流实例;
在所述工作流实例的执行过程中记录对应的执行日志;
根据所述执行日志确定所述业务的执行链路。
进一步地,所述根据所述执行日志确定所述业务的执行链路包括:
从所述执行日志中提取工作流相关标识信息和调用嵌套关系信息;
基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路。
根据本申请的另一方面,还提供了一种用于确定分布式系统中业务执行链路的设备,包括:
创建装置,用于创建分布式系统中待执行的业务对应的工作流实例;
记录装置,用于在所述工作流实例的执行过程中记录对应的执行日志;
确定装置,用于根据所述执行日志确定所述业务的执行链路。
进一步地,所述确定装置包括:
提取单元,用于从所述执行日志中提取工作流相关标识信息和调用嵌套关系信息;
确定单元,用于基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路。
与现有技术相比,本申请的实施例提供了一种用于确定分布式系统中业务执行链路的方法和设备,通过创建分布式系统中待执行的业务对应的工作流实例;在所述工作流实例的执行过程中记录对应的执行日志;根据所述执行日志确定所述业务的执行链路,实现了对分布式系统链路进行跟踪,以待基于各所述业务的执行链路统计分布式系统端到端的调用关系;进一步地,所述根据所述执行日志确定所述业务的执行链路包括:从所述执行日志中提取工作流相关标识信息和调用嵌套关系信息;基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路,达到了对分布式系统链路进行跟踪的目的,并根据执行日志中的工作流相关标识信息和调用嵌套关系信息达到确定所述业务的执行链路,从而基于业务的执行链路分析出所述分布式系统的执行路径,并统计分布式系统中端到端的调用关系。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于确定分布式系统中业务执行链路的方法流程示意图;
图2示出根据本申请的实施例提供的一个优选实施例中的基于工作流对分布式系统的执行路径进行跟踪的流程示意图;
图3示出根据本申请一个方面的一种用于确定分布式系统中业务执行链路的设备的结构示意图;
图4示出根据本申请的实施例提供的一个优选实施例中的基于工作流对分布式系统的执行路径进行跟踪的设备模块示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
图1示出根据本申请一个方面的一种用于确定分布式系统中业务执行链路的方法流程示意图,该方法包括步骤S11、步骤S12和步骤S13。其中,所述步骤S11创建分布式系统中待执行的业务对应的工作流实例;所述步骤S12在所述工作流实例的执行过程中记录对应的执行日志;所述步骤S13根据所述执行日志确定所述业务的执行链路。
在本申请的实施例中,当用户设备接入工作流之后,会将分布式系统中的每一个单独的业务定义为一个独立的工作流实例,其中,每一个工作流实例会包含若干工作流活动、子流程和信号量等,并在所述工作流实例执行的过程中,工作流引擎输出对应的工作流实例对应的执行日志,并将所述执行日志写入永久性数据库中;基于各个所述工作流实例对应的执行日志构成分布式系统链路跟踪的基础,基于所述执行日志确定所述业务的执行链路,从而基于分布式系统中的各所述业务对应的执行链路分析得到所述分布式系统对应的系统执行路径,同时统计分布式系统中端到端的调用关系。
需要说明的是,所述步骤S12中的所述执行日志包括工作流相关标识信息和调用嵌套关系信息,其中,所述工作流相关标识信息包括工作流标识信息和业务标识信息,所述工作流标识信息包括工作流名称、工作流标识ID及工作流实例标签等,所述业务标识信息包括业务标识ID及业务事件标识ID等;所述调用嵌套关系信息包括业务与业务之间的调用路径及分布式系统中的端到端的调用关系等。当然,其他现有的或今后可能出现的所述执行日志中的所述工作流相关标识信息和所述调用嵌套关系信息如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
进一步地,所述步骤S12包括:在所述工作流实例的执行过程中记录对应的执行日志;具体地,所述步骤S12包括:
在所述工作流实例的执行过程中,根据所述工作流的下一步活动的类型信息执行所述下一步活动并记录对应的执行日志,直至所述业务执行完成。
在此,所述工作流的下一步活动用于表示所述工作流实例中的每一个判断步骤信息对应的类型信息,并基于工作流实例中的每一个判断步骤信息对应的判断结果执行相应的类型信息对应的工作流相关任务。
优选地,所述步骤S12中的所述活动类型信息包括以下至少任一项:
活动任务;
子流程;
等待信号量;
人工任务。
图2为采用本申请实施例提供的工作流对分布式系统的执行路径进行跟踪的流程示意图,以工作流实例为例,对确定分布式系统中业务执行链路进行了说明,具体过程如下:
步骤S201,启动工作流实例。当接收到一个工作流请求后,启动一个新的工作流实例,在启动工作流实例时,工作流引擎需要设置以下参数:工作流名称、工作流版本号、工作流ID、工作流输入、业务ID、工作流标签等;在接收到工作流请求后,工作流引擎开始在内存中创建一个工作流实例对象,并创建一个新的工作流上下文,所述工作流上下文用于保存用户输入的所有输入信息和工作流模型定义信息。同时,工作流引擎也会将工作流创建的事件信息保存在持久化数据库中,所述工作流创建事件信息包括:事件ID、工作流ID、工作流名称、工作流版本、事件类型(工作流创建、工作流启动)、创建与调度时间、事件记录时间、工作流输入、业务ID、标签等,其中,所述事件类型包括:工作流创建及工作流启动等。在启动工作流实例对应的所有操作完成后,工作流引擎会将创建的工作流实例ID和所处状态返回给用户设备,以便用户设备基于所述工作流实例ID来查询工作流实例的执行状态。
在此,所述持久化数据库可以是包括但不限于包括关系型数据库、分布式存储数据库(Key-value数据库)、及可用于存储所述工作流实例执行过程的存储设备等。当然,其他现有的或今后可能出现的所述持久化数据库如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
步骤S202,根据工作流模型定义调度工作流活动。当所述工作流实例创建后,进一步地,基于所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。在所述步骤S202中,工作流引擎根据工作流模型定义来调度所述工作流实例对应的活动以执行。其中每一个工作流活动的任务调度顺序是基于获取的工作流业务逻辑信息确定的,其中,所述工作流业务逻辑信息可以使用串行、并行或者图的方式来组织,或是通过编程或配置文件的方式来描述工作流业务逻辑信息。
接着,基于任务调度顺序,调用具体的工作流实现方法,基于工作流活动对应的工作流业务实现方法来确定工作流任务对应的工作流相关任务。同时,工作流引擎会负责管理和维护工作流实例的从启动到停止之间的工作流的具体执行状态的转换,其中,所述工作流有以下几个执行状态:初始化状态(INITED),运行状态(RUNNING),回滚执行状态(ROLLBACKING),回滚结束状态(ROLLBACKED),结束状态(TERMINATED),完成状态(COMPLETED),失败状态(FAILED),超时状态(TIMEOUT),需要说明的是,所述工作流的上述执行状态组成了所述工作流实例的生命周期,即所述工作流的执行状态的转换周期。
进一步地,所述执行所述下一步活动包括:
获取工作流业务逻辑信息,基于所述工作流业务逻辑信息确定所述下一步活动的任务调度顺序;
获取工作流业务实现方法,基于所述工作流业务实现方法确定所述下一步活动对应的工作流相关任务;
基于所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
在本申请的实施例中,在下述的步骤S203、步骤S204、步骤S205及步骤S206中,基于获取的工作流业务逻辑信息确定下一步活动的任务调度顺序,并基于获取的工作流业务实现方法确定所述下一步活动对应的工作流相关任务,基于相应的所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
需要说明的是,所述执行日志可以是包括但不限于包括:工作流实例的启动事件日志、活动任务执行日志、子流程任务执行日志、暂停/重启事件日志、人工任务执行日志、结束事件日志及所述工作流之间的嵌套关系日志等。当然,其他现有的或今后可能出现的所述执行日志如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
步骤S203,执行工作流活动。如果下一步活动是执行活动任务,工作流引擎根据所述活动任务的定义开始调用与所述活动任务对应的工作流相关任务,其中,所述活动任务可以是一段可执行代码,也可以是一个独立运行的服务。在执行所述活动任务的过程中,工作流引擎需要将工作流的输入或者上一步活动对应的计算结果一并发送给所述活动任务。在所述活动任务的开始和结束的地方,工作流引擎会记录所述活动任务的调用事件日志,其中,所述调用事件日志包括:事件ID、工作流ID、工作流名称、工作流版本、活动ID、活动名称、活动执行时间、事件类型、事件记录时间、业务ID、工作流标签等,所述时间类型包括:活动开始、活动成功、活动失败、活动回滚、活动超时等。基于对性能的考虑,执行所述活动任务的过程中记录的所述活动执行日志可以只在活动结束时记录一条事件数据,与执行所述活动任务相关的属性也可以压缩以减小对内存资源的占用。
步骤S204执行子流程。在工作流实例中,如果下一步活动是执行子流程,则工作流引擎会启动一个新的子工作流实例,其中,所述子工作流实例可以异步执行也可以同步执行。当所述子工作流实例异步执行时,即父工作流启动子工作流实例后并不会等待子工作流实例,而是继续执行;当所述子工作流实例同步执行时,父工作流启动子工作流后会等到子工作流完成后再继续执行。在子流程启动后,工作流引擎会将子流程的启动事件信息写入到持久化数据库中,其中,所述子流程的启动事件信息包括:事件ID、父工作流ID、子工作流ID、子工作流版本、事件类型、事件时间、工作流输入、业务ID、工作流标签等,所述启动事件信息中的事件类型包括:工作流启动、工作流成功、工作流失败及工作流超时等。所述子工作流实例的执行过程与普通工作流实例保持一致,所述子工作流实例可以执行对应的子活动任务,也可以启动其它的子工作流,在执行子活动任务时会产生相应的子活动任务执行日志,执行子工作流会产生子工作流对应的子工作流执行日志;其中工作流之间的调用嵌套关系信息通过父工作流ID确定。
步骤S205,执行信号量。在工作流实例中,如果下一步活动是等待信号量,则所述工作流会暂停,直到所述工作流被唤醒以继续执行。所述信号量是工作流支持异步操作的关键,因为在工作流暂停时,工作流引擎会记录一条暂停事件日志,其中,所述暂停事件日志包括:事件ID、工作流ID、工作流名称、工作流版本、事件类型(信号量开始)、信号名称、暂停时间、业务ID和工作流标签等;在接收到启动信号量时,工作流会重新启动工作流实例并执行,工作流引擎也会记录一条工作流重启事件日志,其中,所述重启事件日志包括:事件ID、工作流ID、工作流名称、工作流版本、事件类型(信号量结束)、信号名称、暂停时间、业务ID和工作流标签等。
步骤S206,执行人工任务。在工作流实例中,如果下一步活动是执行工作流的人工任务,则工作流引擎记录执行过程中的人工任务执行日志,其中,所述人工任务执行日志包括:事件ID、工作流名称、版本、人工任务名称、活动执行时间、事件类型、事件记录时间、业务ID、标签、活动输入、活动输出等,所述人工任务执行日志中的事件类型包括:人工任务开始、成功、失败、回滚、重试及超时等。
步骤S207,结束工作流实例。在工作流的所有活动任务、子流程、等待信号量及人工任务均执行完毕后,工作流引擎会最后记录一条工作流结束的结束事件日志,用于表示所述工作流实例执行完成,其中,所述结束事件日志包括:事件ID、工作流ID、工作流名称、版本号、事件类型、事件记录时间、工作流输出、业务ID、工作流标签等,所述结束事件日志中的事件类型包括:工作流成功、工作流失败及工作流超时等。
步骤S208,分析系统执行链路。在工作流实例执行完成后,工作流引擎能够基于所有记录的执行事件数据分析工作流的执行路径。该分析能够使用工作流实例ID、业务ID或是其他标签数据查询系统操作的执行路径,包括工作流所有的执行的工作流活动、工作流所有的包含的子工作流及内部的活动、工作流异步操作等。
进一步地,所述执行所述下一步活动还包括:
将所述工作流相关日志写入持久化数据库。
在本申请的上述实施例中,在所述步骤S201至所述步骤S207的执行过程中,将所述工作流相关日志写入所述持久化数据库中,以便基于所述工作流相关日志进行分布式系统的执行路径的分析与统计。
进一步地,所述步骤S13中的所述执行所述下一步活动还包括:
从所述执行日志中提取工作流相关标识信息和调用嵌套关系信息;
基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路。
优选地,所述工作流相关标识信息包括工作流标识信息和业务标识信息。
接着本申请的上述实施例,若所述执行日志对应的所述业务与其他的业务之间存在调用关系,则所述执行日志中包括调用嵌套关系信息,其中所述工作流相关标识信息包括工作流标识信息和业务标识信息,所述工作流标识信息包括工作流名称、工作流标识ID及工作流实例标签等。在所述步骤S13中基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路。
例如,在旅游工作流服务I中,包括预定机票实例0.1、预定酒店实例0.2及租车实例0.3,若预定机票实例0.1中使用的是携程服务,预定酒店实例0.2使用的是阿里服务,租车实例0.3使用的是滴滴出行服务,在机票实例0.1中的付款阶段需要调用阿里服务中的支付服务,则此时的机票支付日志中包括工作流服务ID、工作流实例ID及调用关系,即{TraceID:I;Span ID:0.1.2},若在租车实例0.3对应的滴滴出行服务的付款阶段也需要调用阿里服务中的支付服务时,则此时的租车支付日志中的信息包括{Trace ID:I;Span ID:0.3.2}。
接着本申请的上述实施例,在上述步骤S208中基于上述记录的所有的与所述工作流实例相关的执行日志分析分布式系统的执行路径,并统计分布式系统端到端的调用情况,主要基于工作流名称、工作流ID、工作流实例标签、业务ID及其他可以进行标识的标识维度进行分布式系统的执行路径的分析,其中,所述执行日志中包括工作流相关标识信息和调用嵌套关系信息,所述工作流相关标识信息包括工作流标识信息和业务标识信息等。
例如,根据用于表示工作流服务的全局唯一标识traceId和用于表示不同的调用层级之间的调用嵌套关系信息spanId,可以分析出每个业务服务对应的调用的执行链路;综合所有单个的业务服务对应的执行链路,分析整个分布式系统的执行路径。比如,在单个工作流服务调用中,业务服务A会调用业务服务B。从整体上来看,业务服务A存在一定的概率来调用业务服务B,这个概率可能是30%,也可能是100%,则需要根据多个业务服务调用路径来综合。
图3示出根据本申请一个方面的一种用于确定分布式系统中业务执行链路的设备的结构示意图,该设备1包括创建装置11、记录装置12和确定装置13。其中,所述创建装置11创建分布式系统中待执行的业务对应的工作流实例;所述记录装置12在所述工作流实例的执行过程中记录对应的执行日志;所述确定装置13根据所述执行日志确定所述业务的执行链路。
在此,所述设备1包括但不限于客户设备、网络设备以及客户设备与网络设备通过网络相集成所构成的设备。所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备1还可以是运行于所述用户设备与网络设备通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的所述设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求。
在本申请的实施例中,当用户设备接入工作流之后,会将分布式系统中的每一个单独的业务定义为一个独立的工作流实例,其中,每一个工作流实例会包含若干工作流活动、子流程和信号量等,并在所述工作流实例执行的过程中,工作流引擎输出对应的工作流实例对应的执行日志,并将所述执行日志写入永久性数据库中;基于各个所述工作流实例对应的执行日志构成分布式系统链路跟踪的基础,基于所述执行日志确定所述业务的执行链路,从而基于分布式系统中的各所述业务对应的执行链路分析得到所述分布式系统对应的系统执行路径,同时统计分布式系统中端到端的调用关系。
需要说明的是,所述记录装置12中的所述执行日志包括工作流相关标识信息和调用嵌套关系信息,其中,所述工作流相关标识信息包括工作流标识信息和业务标识信息,所述工作流标识信息包括工作流名称、工作流标识ID及工作流实例标签等,所述业务标识信息包括业务标识ID及业务事件标识ID等;所述调用嵌套关系信息包括业务与业务之间的调用路径及分布式系统中的端到端的调用关系等。当然,其他现有的或今后可能出现的所述执行日志中的所述工作流相关标识信息和所述调用嵌套关系信息如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
进一步地,所述记录装置12用于:
在所述工作流实例的执行过程中,根据所述工作流的下一步活动的类型信息执行所述下一步活动并记录对应的执行日志,直至所述业务执行完成。
在此,所述工作流的下一步活动用于表示所述工作流实例中的每一个判断步骤信息对应的类型信息,并基于工作流实例中的每一个判断步骤信息对应的判断结果执行相应的类型信息对应的工作流相关任务。
优选地,所述记录装置12中的所述活动类型信息包括以下至少任一项:
活动任务;
子流程;
等待信号量;
人工任务。
图4示出根据本申请的实施例提供的一个优选实施例中的基于工作流对分布式系统的执行路径进行跟踪的设备模块示意图,该设备模块包括工作流引擎模块41、工作流决策者模块42、活动执行者模块43和持久化数据库模块44。
所述工作流引擎模块41:用于管理和维护工作流实例的所述生命周期,记录工作流相关日志,分析分布式系统的执行路径,提供必要的查询接口等。工作流引擎会提供接口启动和结束工作流实例、启动和结束活动任务、发送工作流信号量给特定工作流实例等。每一个操作都会对应后台的日志,这些日志会保存在持久化存储中。
所述工作流决策者模块42:所述工作流决策者代表着真正的工作流业务逻辑,工作流业务逻辑可以使用串行、并行或者是图的方式来组织,用户需要以编程或是配置文件的方式描述工作流的具体流程走向,然后工作流决策服务会以此为基础决定工作流活动的调用顺序;
所述活动执行者模块43:所述活动执行者会负责调用具体的业务方法,将输入传递给业务方法实现,并收集方法的输出。活动执行者可以是以被动或是主动地方式来调用业务方法,如果是被动的方式,则工作流引擎只会生成活动任务,等待活动主动来拉取任务,如果是主动地方式,则活动执行者会主动调用业务服务。活动的实现方式可以是一段可执行代码,也可以是一个独立可部署可运行的业务服务。
持久化数据库模块44:用于保存所有的工作流运行过程中的相关执行日志信息。在工作流运行过程中,工作流引擎模块41会持续的向所述持久化数据库模块44写入数据。在工作流执行完成后,工作流引擎模块41会根据工作流相关日志的日志数据分析系统的执行路径。所述持久化数据库可以是包括但不限于包括关系型数据库、分布式存储数据库(Key-value数据库)、及可用于存储所述工作流实例执行过程的存储设备等。
在本申请的实施例中,通过所述工作流引擎模块41执行如图2所示的所述步骤S201至所述步骤S208。其中,所述步骤S201,启动工作流实例。当接收到一个工作流请求后,启动一个新的工作流实例,在启动工作流实例时,所述工作流引擎模块41需要设置以下参数:工作流名称、工作流版本号、工作流ID、工作流输入、业务ID、工作流标签等;在接收到工作流请求后,所述工作流引擎模块41开始在内存中创建一个工作流实例对象,并创建一个新的工作流上下文,所述工作流上下文用于保存用户输入的所有输入信息和工作流模型定义信息。同时,所述工作流引擎模块41也会将工作流创建的事件信息保存在持久化数据库中,所述工作流创建事件信息包括:事件ID、工作流ID、工作流名称、工作流版本、事件类型(工作流创建、工作流启动)、创建与调度时间、事件记录时间、工作流输入、业务ID、标签等,其中,所述事件类型包括:工作流创建及工作流启动等。在启动工作流实例对应的所有操作完成后,所述工作流引擎模块41会将创建的工作流实例ID和所处状态返回给用户设备,以便用户设备基于所述工作流实例ID来查询工作流实例的执行状态。
在此,所述持久化数据库可以是包括但不限于包括关系型数据库、分布式存储数据库(Key-value数据库)、及可用于存储所述工作流实例执行过程的存储设备等。当然,其他现有的或今后可能出现的所述持久化数据库如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述步骤S202,根据工作流模型定义调度工作流活动。当所述工作流实例创建后,进一步地,所述记录装置12包括:执行单元(未示出),所述执行单元(未示出)用于:基于所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
在所述步骤S202中,所述工作流引擎模块41根据工作流模型定义来调度所述工作流实例对应的活动以执行。其中每一个工作流活动的任务调度顺序是基于获取的工作流业务逻辑信息确定的,其中,所述工作流业务逻辑信息可以使用串行、并行或者图的方式来组织,或是通过编程或配置文件的方式来描述工作流业务逻辑信息。
接着,基于任务调度顺序,调用具体的工作流实现方法,基于工作流活动对应的工作流业务实现方法来确定工作流任务对应的工作流相关任务。同时,所述工作流引擎模块41会负责管理和维护工作流实例的从启动到停止之间的工作流的具体执行状态的转换,其中,所述工作流有以下几个执行状态:初始化状态(INITED),运行状态(RUNNING),回滚执行状态(ROLLBACKING),回滚结束状态(ROLLBACKED),结束状态(TERMINATED),完成状态(COMPLETED),失败状态(FAILED),超时状态(TIMEOUT),需要说明的是,所述工作流的上述执行状态组成了所述工作流实例的生命周期,即所述工作流的执行状态的转换周期。
进一步地,执行单元(未示出)包括:顺序确定子单元(未示出)、任务确定子单元(未示出)和执行子单元(未示出),其中,所述顺序确定子单元(未示出)用于:获取工作流业务逻辑信息,基于所述工作流业务逻辑信息确定所述下一步活动的任务调度顺序;所述任务确定子单元(未示出)用于:获取工作流业务实现方法,基于所述工作流业务实现方法确定所述下一步活动对应的工作流相关任务;所述执行子单元用于:基于所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
在本申请的实施例中,当所述工作流引擎模块41执行所述步骤S203至所述步骤S206时,基于获取的工作流业务逻辑信息确定下一步活动的任务调度顺序,并基于获取的工作流业务实现方法确定所述下一步活动对应的工作流相关任务,基于相应的所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
需要说明的是,所述执行日志可以是包括但不限于包括:工作流实例的启动事件日志、活动任务执行日志、子流程任务执行日志、暂停/重启事件日志、人工任务执行日志、结束事件日志及所述工作流之间的嵌套关系日志等。当然,其他现有的或今后可能出现的所述执行日志如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
所述步骤S203,执行工作流活动。如果下一步活动是执行活动任务,所述工作流引擎模块41根据所述活动任务的定义开始调用与所述活动任务对应的工作流相关任务,其中,所述活动任务可以是一段可执行代码,也可以是一个独立运行的服务。在执行所述活动任务的过程中,工作流引擎需要将工作流的输入或者上一步活动对应的计算结果一并发送给所述活动任务。在所述活动任务的开始和结束的地方,工作流引擎会记录所述活动任务的调用事件日志,其中,所述调用事件日志包括:事件ID、工作流ID、工作流名称、工作流版本、活动ID、活动名称、活动执行时间、事件类型、事件记录时间、业务ID、工作流标签等,所述时间类型包括:活动开始、活动成功、活动失败、活动回滚、活动超时等。基于对性能的考虑,执行所述活动任务的过程中记录的所述活动执行日志可以只在活动结束时记录一条事件数据,与执行所述活动任务相关的属性也可以压缩以减小对内存资源的占用。
所述工作流引擎模块41执行所述步骤S204中的子流程时,在工作流实例中,如果下一步活动是执行子流程,则所述工作流引擎模块41会启动一个新的子工作流实例,其中,所述子工作流实例可以异步执行也可以同步执行。当所述子工作流实例异步执行时,即父工作流启动子工作流实例后并不会等待子工作流实例,而是继续执行;当所述子工作流实例同步执行时,父工作流启动子工作流后会等到子工作流完成后再继续执行。在子流程启动后,所述工作流引擎模块41会将子流程的启动事件信息写入到持久化数据库中,其中,所述子流程的启动事件信息包括:事件ID、父工作流ID、子工作流ID、子工作流版本、事件类型、事件时间、工作流输入、业务ID、工作流标签等,所述启动事件信息中的事件类型包括:工作流启动、工作流成功、工作流失败及工作流超时等。所述子工作流实例的执行过程与普通工作流实例保持一致,所述子工作流实例可以执行对应的子活动任务,也可以启动其它的子工作流,在执行子活动任务时会产生相应的子活动任务执行日志,执行子工作流会产生子工作流对应的子工作流执行日志;其中工作流之间的调用嵌套关系信息通过父工作流ID确定。
所述工作流引擎模块41执行所述步骤S205中的信号量时,在工作流实例中,如果下一步活动是等待信号量,则所述工作流会暂停,直到所述工作流被唤醒以继续执行。所述信号量是工作流支持异步操作的关键,因为在工作流暂停时,所述工作流引擎模块41会记录一条暂停事件日志,其中,所述暂停事件日志包括:事件ID、工作流ID、工作流名称、工作流版本、事件类型(信号量开始)、信号名称、暂停时间、业务ID和工作流标签等;在接收到启动信号量时,工作流会重新启动工作流实例并执行,工作流引擎也会记录一条工作流重启事件日志,其中,所述重启事件日志包括:事件ID、工作流ID、工作流名称、工作流版本、事件类型(信号量结束)、信号名称、暂停时间、业务ID和工作流标签等。
所述工作流引擎模块41执行所述步骤S206中的人工任务时,在工作流实例中,如果下一步活动是执行工作流的人工任务,则所述工作流引擎模块41记录执行过程中的人工任务执行日志,其中,所述人工任务执行日志包括:事件ID、工作流名称、版本、人工任务名称、活动执行时间、事件类型、事件记录时间、业务ID、标签、活动输入、活动输出等,所述人工任务执行日志中的事件类型包括:人工任务开始、成功、失败、回滚、重试及超时等。
所述工作流引擎模块41执行结束工作流实例时,在工作流的所有活动任务、子流程、等待信号量及人工任务均执行完毕后,所述工作流引擎模块41会最后记录一条工作流结束的结束事件日志,用于表示所述工作流实例执行完成,其中,所述结束事件日志包括:事件ID、工作流ID、工作流名称、版本号、事件类型、事件记录时间、工作流输出、业务ID、工作流标签等,所述结束事件日志中的事件类型包括:工作流成功、工作流失败及工作流超时等。
所述工作流引擎模块41执行所述步骤S208中的分析系统执行链路时,在工作流实例执行完成后,所述工作流引擎模块41能够基于所有记录的执行事件数据分析工作流的执行路径。该分析能够使用工作流实例ID、业务ID或是其他标签数据查询系统操作的执行路径,包括工作流所有的执行的工作流活动、工作流所有的包含的子工作流及内部的活动、工作流异步操作等。
进一步地,所述执行单元(未示出)还包括:写入子单元(未示出),其中,所述写入子单元(未示出)用于:将所述工作流相关日志写入持久化数据库。
在本申请的上述实施例中,所述工作流引擎模块41在执行所述步骤S201至所述步骤S207的过程中,将所述工作流相关日志写入所述持久化数据库模块44中,以便基于所述工作流相关日志进行分布式系统的执行路径的分析与统计。
进一步地,所述确定装置13包括:提取单元(未示出)、确定单元(未示出),其中,所述提取单元(未示出)用于:从所述执行日志中提取工作流相关标识信息和调用嵌套关系信息;所述确定单元(未示出)用于:基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路。
优选地,所述工作流相关标识信息包括工作流标识信息和业务标识信息。
接着本申请的上述实施例,若所述执行日志对应的所述业务与其他的业务之间存在调用关系,则所述执行日志中包括调用嵌套关系信息,其中所述工作流相关标识信息包括工作流标识信息和业务标识信息,所述工作流标识信息包括工作流名称、工作流标识ID及工作流实例标签等。在所述确定装置13中基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路。
例如,在旅游工作流服务I中,包括预定机票实例0.1、预定酒店实例0.2及租车实例0.3,若预定机票实例0.1中使用的是携程服务,预定酒店实例0.2使用的是阿里服务,租车实例0.3使用的是滴滴出行服务,在机票实例0.1中的付款阶段需要调用阿里服务中的支付服务,则此时的机票支付日志中包括工作流服务ID、工作流实例ID及调用关系,即{TraceID:I;Span ID:0.1.2},若在租车实例0.3对应的滴滴出行服务的付款阶段也需要调用阿里服务中的支付服务时,则此时的租车支付日志中的信息包括{Trace ID:I;Span ID:0.3.2}。
接着本申请的上述实施例,在所述工作流引擎模块41中基于上述步骤S201至所述步骤S207中记录的所有的与所述工作流实例相关的执行日志分析分布式系统的执行路径,并统计分布式系统端到端的调用情况,主要基于工作流名称、工作流ID、工作流实例标签、业务ID及其他可以进行标识的标识维度进行分布式系统的执行路径的分析,其中,所述执行日志中包括工作流相关标识信息和调用嵌套关系信息,所述工作流相关标识信息包括工作流标识信息和业务标识信息等。
例如,根据用于表示工作流服务的全局唯一标识traceId和用于表示不同的调用层级之间的调用嵌套关系信息spanId,可以分析出每个业务服务对应的调用的执行链路;综合所有单个的业务服务对应的执行链路,分析整个分布式系统的执行路径。比如,在单个工作流服务调用中,业务服务A会调用业务服务B。从整体上来看,业务服务A存在一定的概率来调用业务服务B,这个概率可能是30%,也可能是100%,则需要根据多个业务服务调用路径来综合。
与现有技术相比,本申请的实施例提供了一种用于确定分布式系统中业务执行链路的方法和设备,通过创建分布式系统中待执行的业务对应的工作流实例;在所述工作流实例的执行过程中记录对应的执行日志;根据所述执行日志确定所述业务的执行链路,实现了对分布式系统链路进行跟踪,以待基于各所述业务的执行链路统计分布式系统端到端的调用关系;进一步地,所述根据所述执行日志确定所述业务的执行链路包括:从所述执行日志中提取工作流相关标识信息和调用嵌套关系信息;基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路,达到了对分布式系统链路进行跟踪的目的,并根据执行日志中的工作流相关标识信息和调用嵌套关系信息达到确定所述业务的执行链路,从而基于业务的执行链路分析出所述分布式系统的执行路径,并统计分布式系统中端到端的调用关系。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (16)
1.一种用于确定分布式系统中业务执行链路的方法,其中,所述方法包括:
创建分布式系统中待执行的业务对应的工作流实例;
在所述工作流实例的执行过程中记录对应的执行日志;
根据所述执行日志确定所述业务的执行链路。
2.根据权利要求1所述的方法,其中,所述在所述工作流实例的执行过程中记录对应的执行日志包括:
在所述工作流实例的执行过程中,根据所述工作流的下一步活动的类型信息执行所述下一步活动并记录对应的执行日志,直至所述业务执行完成。
3.根据权利要求2所述的方法,其中,所述活动类型信息包括以下至少任一项:
活动任务;
子流程;
等待信号量;
人工任务。
4.根据权利要求2所述的方法,其中,所述执行所述下一步活动包括:
基于所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
5.根据权利要求4所述的方法,其中,所述执行所述下一步活动包括:
获取工作流业务逻辑信息,基于所述工作流业务逻辑信息确定所述下一步活动的任务调度顺序;
获取工作流业务实现方法,基于所述工作流业务实现方法确定所述下一步活动对应的工作流相关任务;
基于所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
6.根据权利要求5所述的方法,其中,所述执行所述下一步活动还包括:
将所述工作流相关日志写入持久化数据库。
7.根据权利要求1所述的方法,其中,所述根据所述执行日志确定所述业务的执行链路包括:
从所述执行日志中提取工作流相关标识信息和调用嵌套关系信息;
基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路。
8.根据权利要求7所述的方法,其中,所述工作流相关标识信息包括工作流标识信息和业务标识信息。
9.一种用于确定分布式系统中业务执行链路的设备,其中,所述设备包括:
创建装置,用于创建分布式系统中待执行的业务对应的工作流实例;
记录装置,用于在所述工作流实例的执行过程中记录对应的执行日志;
确定装置,用于根据所述执行日志确定所述业务的执行链路。
10.根据权利要求9所述的设备,其中,所述记录装置用于:
在所述工作流实例的执行过程中,根据所述工作流的下一步活动的类型信息执行所述下一步活动并记录对应的执行日志,直至所述业务执行完成。
11.根据权利要求10所述的设备,其中,所述活动类型信息包括以下至少任一项:
活动任务;
子流程;
等待信号量;
人工任务。
12.根据权利要求10所述的设备,其中,所述记录装置包括:
执行单元,用于基于所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
13.根据权利要求12所述的设备,其中,所述执行单元包括:
顺序确定子单元,用于获取工作流业务逻辑信息,基于所述工作流业务逻辑信息确定所述下一步活动的任务调度顺序;
任务确定子单元,用于获取工作流业务实现方法,基于所述工作流业务实现方法确定所述下一步活动对应的工作流相关任务;
执行子单元,用于基于所述下一步活动的任务调度顺序,依序执行所述下一步活动对应的工作流相关任务,以获取对应的执行日志。
14.根据权利要求13所述的设备,其中,所述执行单元还包括:
写入子单元,用于将所述工作流相关日志写入持久化数据库。
15.根据权利要求9所述的设备,其中,所述确定装置包括:
提取单元,用于从所述执行日志中提取工作流相关标识信息和调用嵌套关系信息;
确定单元,用于基于所述工作流相关标识信息和所述调用嵌套关系信息,确定所述业务的执行链路。
16.根据权利要求15所述的设备,其中,所述工作流相关标识信息包括工作流标识信息和业务标识信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610517771.7A CN107577586B (zh) | 2016-07-04 | 2016-07-04 | 一种用于确定分布式系统中业务执行链路的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610517771.7A CN107577586B (zh) | 2016-07-04 | 2016-07-04 | 一种用于确定分布式系统中业务执行链路的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107577586A true CN107577586A (zh) | 2018-01-12 |
CN107577586B CN107577586B (zh) | 2021-05-28 |
Family
ID=61049145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610517771.7A Active CN107577586B (zh) | 2016-07-04 | 2016-07-04 | 一种用于确定分布式系统中业务执行链路的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577586B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345677A (zh) * | 2018-02-13 | 2018-07-31 | 销冠网络科技有限公司 | 用于业务拓展的数据处理方法及装置 |
CN108874559A (zh) * | 2018-05-31 | 2018-11-23 | 康键信息技术(深圳)有限公司 | 电子装置、分布式系统业务链路分析方法及存储介质 |
WO2019134323A1 (zh) * | 2018-05-10 | 2019-07-11 | 深圳晶泰科技有限公司 | 科学计算流程管理系统 |
CN111221659A (zh) * | 2018-11-23 | 2020-06-02 | 北京图森智途科技有限公司 | 一种多机器人操作系统环境的订阅性能追踪系统 |
CN112015656A (zh) * | 2020-09-01 | 2020-12-01 | 中国银行股份有限公司 | 一种工作流设计器的可视化调试方法及装置 |
CN112835692A (zh) * | 2021-01-12 | 2021-05-25 | 山东众阳健康科技集团有限公司 | 一种日志消息驱动任务方法、系统、存储介质及设备 |
CN114064718A (zh) * | 2021-11-05 | 2022-02-18 | 上海新炬网络技术有限公司 | 一种基于日志分析的业务调用链的网络故障定位方法 |
CN115147031A (zh) * | 2022-09-07 | 2022-10-04 | 深圳华锐分布式技术股份有限公司 | 清算工作流执行方法、装置、设备及介质 |
CN115408243A (zh) * | 2022-09-07 | 2022-11-29 | 南京安元科技有限公司 | 一种工作流引擎执行过程链路跟踪方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101371496A (zh) * | 2005-12-28 | 2009-02-18 | 意大利电信股份公司 | 电信网络中的干预的工作流模型的自动生成方法 |
CN102682245A (zh) * | 2011-01-19 | 2012-09-19 | 通用电气公司 | 用于检测与系统应用处理相关联的欺诈的系统和方法 |
CN103210405A (zh) * | 2009-02-28 | 2013-07-17 | 主数据中心公司 | 用于工作流整合的方法和系统 |
US20150310445A1 (en) * | 2014-04-28 | 2015-10-29 | Oracle International Corporation | Dynamically selecting contact center workflows based on workflow insights |
-
2016
- 2016-07-04 CN CN201610517771.7A patent/CN107577586B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101371496A (zh) * | 2005-12-28 | 2009-02-18 | 意大利电信股份公司 | 电信网络中的干预的工作流模型的自动生成方法 |
CN103210405A (zh) * | 2009-02-28 | 2013-07-17 | 主数据中心公司 | 用于工作流整合的方法和系统 |
CN102682245A (zh) * | 2011-01-19 | 2012-09-19 | 通用电气公司 | 用于检测与系统应用处理相关联的欺诈的系统和方法 |
US20150310445A1 (en) * | 2014-04-28 | 2015-10-29 | Oracle International Corporation | Dynamically selecting contact center workflows based on workflow insights |
Non-Patent Citations (1)
Title |
---|
易树平等: "基于全生命周期的云制造服务研究综述", 《计算机集成制造系统》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345677A (zh) * | 2018-02-13 | 2018-07-31 | 销冠网络科技有限公司 | 用于业务拓展的数据处理方法及装置 |
WO2019134323A1 (zh) * | 2018-05-10 | 2019-07-11 | 深圳晶泰科技有限公司 | 科学计算流程管理系统 |
US10817532B2 (en) | 2018-05-10 | 2020-10-27 | Shenzhen Jingtai Technology Co., Ltd. | Scientific computing process management system |
CN108874559A (zh) * | 2018-05-31 | 2018-11-23 | 康键信息技术(深圳)有限公司 | 电子装置、分布式系统业务链路分析方法及存储介质 |
CN111221659A (zh) * | 2018-11-23 | 2020-06-02 | 北京图森智途科技有限公司 | 一种多机器人操作系统环境的订阅性能追踪系统 |
CN111221659B (zh) * | 2018-11-23 | 2023-10-03 | 北京图森智途科技有限公司 | 一种多机器人操作系统环境的订阅性能追踪系统 |
CN112015656B (zh) * | 2020-09-01 | 2023-08-15 | 中国银行股份有限公司 | 一种工作流设计器的可视化调试方法及装置 |
CN112015656A (zh) * | 2020-09-01 | 2020-12-01 | 中国银行股份有限公司 | 一种工作流设计器的可视化调试方法及装置 |
CN112835692A (zh) * | 2021-01-12 | 2021-05-25 | 山东众阳健康科技集团有限公司 | 一种日志消息驱动任务方法、系统、存储介质及设备 |
CN112835692B (zh) * | 2021-01-12 | 2022-08-19 | 山东众阳健康科技集团有限公司 | 一种日志消息驱动任务方法、系统、存储介质及设备 |
CN114064718A (zh) * | 2021-11-05 | 2022-02-18 | 上海新炬网络技术有限公司 | 一种基于日志分析的业务调用链的网络故障定位方法 |
CN114064718B (zh) * | 2021-11-05 | 2024-09-20 | 上海新炬网络技术有限公司 | 一种基于日志分析的业务调用链的网络故障定位方法 |
CN115147031A (zh) * | 2022-09-07 | 2022-10-04 | 深圳华锐分布式技术股份有限公司 | 清算工作流执行方法、装置、设备及介质 |
CN115408243A (zh) * | 2022-09-07 | 2022-11-29 | 南京安元科技有限公司 | 一种工作流引擎执行过程链路跟踪方法及系统 |
CN115147031B (zh) * | 2022-09-07 | 2022-12-06 | 深圳华锐分布式技术股份有限公司 | 清算工作流执行方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107577586B (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577586A (zh) | 一种用于确定分布式系统中业务执行链路的方法和设备 | |
Chen et al. | Development of an agent-based system for manufacturing control and coordination with ontology and RFID technology | |
Van Der Aalst | Business process management demystified: A tutorial on models, systems and standards for workflow management | |
CN103970903B (zh) | 基于Web的大型工业系统反馈数据实时处理方法及系统 | |
US20070282470A1 (en) | Method and system for capturing and reusing intellectual capital in IT management | |
CN102073698A (zh) | 企业级数据仓库系统的样本数据获取方法及装置 | |
Bano et al. | Process-aware digital twin cockpit synthesis from event logs | |
Fareghzadeh | Service identification approach to SOA development | |
CN104392297A (zh) | 大数据环境下实现非业务流程违规行为检测的方法及系统 | |
CN106055325B (zh) | 一种支撑多系统同时运行的服务构建方法 | |
CN113448693B (zh) | 一种数字化工厂saas云平台 | |
CN107577748A (zh) | 基于大数据的建筑行业信息采集系统及其方法 | |
CN115719207A (zh) | 超自动化平台系统 | |
CN106127365A (zh) | 定量遥感产品在线交互式自主生产方法 | |
CN103150164B (zh) | 一种事务规则驱动的敏捷sowf架构方法 | |
CN107436891A (zh) | 基于sql脚本商场数据库的管理方法 | |
CN103793237A (zh) | J2ee 应用系统性能瓶颈定位方法与装置 | |
Greenspan et al. | Requirements engineering using the SOS paradigm | |
CN114971547A (zh) | 一种零部件产品级借用分析方法和系统 | |
Patricia et al. | Process-service interactions using a SOA-BPM-based methodology | |
Al Hadid | Airport enterprise service bus with self-healing architecture (aesb-sh) | |
Eramo et al. | Model-driven design-runtime interaction in safety critical system development: an experience report | |
CN108874536A (zh) | 一种云服务的调度方法、装置、云服务执行器及存储介质 | |
Schoech et al. | Optimising plant layout decisions based on emulation models–technical framework and practical insights | |
CN113793045B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230609 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |