CN108874559A - 电子装置、分布式系统业务链路分析方法及存储介质 - Google Patents

电子装置、分布式系统业务链路分析方法及存储介质 Download PDF

Info

Publication number
CN108874559A
CN108874559A CN201810547297.1A CN201810547297A CN108874559A CN 108874559 A CN108874559 A CN 108874559A CN 201810547297 A CN201810547297 A CN 201810547297A CN 108874559 A CN108874559 A CN 108874559A
Authority
CN
China
Prior art keywords
distributed system
event
workflow instance
execution
predetermined
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
Application number
CN201810547297.1A
Other languages
English (en)
Inventor
孙志博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kang Keyi Information Technology (shenzhen) Co Ltd
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kang Keyi Information Technology (shenzhen) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kang Keyi Information Technology (shenzhen) Co Ltd filed Critical Kang Keyi Information Technology (shenzhen) Co Ltd
Priority to CN201810547297.1A priority Critical patent/CN108874559A/zh
Publication of CN108874559A publication Critical patent/CN108874559A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种电子装置、分布式系统业务链路分析方法及存储介质,首先通过创建待执行任务在预先确定的分布式系统中的工作流实例,其次在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;然后将采集的执行日志发送至预先确定的消息队列;最后根据消息队列中的执行日志,确定分布式系统中各个业务的执行链路。能够准确地确定分布式系统的业务链路,从而能及时准确地确定分布式系统的运行性能,有效预防运行风险。

Description

电子装置、分布式系统业务链路分析方法及存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种电子装置、分布式系统业务链路分析方法及存储介质。
背景技术
随着企业业务的高速发展,企业为了满足服务系统之间愈加复杂的调用关系,通常会采用分布式系统。
而在分布式系统中,线上的每一个请求都会经过多个业务系统,并产生不同的业务流,各个业务流会经过很多个微服务的处理和传递,产生对各个业务系统访问的缓存数据以及对数据库的访问数据,导致出现大量分散的数据流。通常无法准确地根据这些分散的数据流来排查分布式系统链路问题,性能以及运行状况。导致无法及时准确地确定分布式系统的运行性能,无法预防运行风险。
发明内容
有鉴于此,本发明提出一种电子装置、分布式系统业务链路分析方法及存储介质,能够准确地确定分布式系统的业务链路,从而能及时准确地确定分布式系统的运行性能,有效预防运行风险。
首先,为实现上述目的,本发明一方面提出一种电子装置,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的分布式系统业务链路分析程序,所述分布式系统业务链路分析程序被所述处理器执行时实现如下步骤:
A10、创建待执行任务在预先确定的分布式系统中的工作流实例;
A20、在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;A30、将采集的执行日志发送至预先确定的消息队列;A40、根据所述消息队列中的执行日志,确定分布式系统中各个业务的执行链路。
优选地,所述步骤A10包括:
若有用户设备发送任务执行请求至预先确定的分布式系统后,则获取待执行任务;
自定义该待执行任务为接入预先确定的分布式系统的工作流实例。
优选地,在所述步骤A20中,所述采集各个工作流实例的执行日志的步骤,包括:
采用埋点的方法采集各个工作流实例的执行日志;其中,所述采用埋点的方法包括:
监听软件应用运行过程中的事件,当监听到有事件发生后,确定监听到的事件是否为预定义的所需事件;
若确定监听到的事件为预定义的所需事件,则捕获该事件对应的上下文信息;
将捕获的上下文信息发送至预先确定的服务器端。4.如权利要求1所述的电子装置,其特征在于,所述分布式系统业务链路分析程序被所述处理器执行时还实现如下步骤:
将确定的业务执行链路通过查询界面进行展示。
优选地,在所述步骤A20之后,还包括如下步骤:
将所述执行日志存入预先确定的数据库。
此外,为实现上述目的,本发明还提出一种分布式系统业务链路分析方法,所述方法包括如下步骤:
S10、创建待执行任务在预先确定的分布式系统中的工作流实例;
S20、在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;
S30、将采集的执行日志发送至预先确定的消息队列;
S40、根据所述消息队列中的执行日志,确定分布式系统中各个业务的执行链路。
优选地,所述步骤S10包括:
若有用户设备发送任务执行请求至预先确定的分布式系统后,则获取待执行任务;
自定义该待执行任务为接入预先确定的分布式系统的工作流实例。
优选地,在所述步骤S20中,所述采集各个工作流实例的执行日志的步骤,包括:
采用埋点的方法采集各个工作流实例的执行日志;其中,所述采用埋点的方法包括:
监听软件应用运行过程中的事件,当监听到有事件发生后,确定监听到的事件是否为预定义的所需事件;
若确定监听到的事件为预定义的所需事件,则捕获该事件对应的上下文信息;
将捕获的上下文信息发送至预先确定的服务器端。
优选地,所述方法还包括:
将确定的业务执行链路通过查询界面进行展示。
相较于现有技术,本发明所提出的电子装置、分布式系统业务链路分析方法及存储介质,首先通过创建待执行任务在预先确定的分布式系统中的工作流实例,其次在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;然后将采集的执行日志发送至预先确定的消息队列;最后根据消息队列中的执行日志,确定分布式系统中各个业务的执行链路。能够准确地确定分布式系统的业务链路,从而能及时准确地确定分布式系统的运行性能,有效预防运行风险。
附图说明
图1是本发明提出的电子装置一可选的硬件架构的示意图;
图2是本发明电子装置一实施例中分布式系统业务链路分析程序模块示意图;
图3是本发明分别式系统业务链路分析方法较佳实施例的实施流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明提出的电子装置一可选的硬件架构示意图。本实施例中,电子装置10可包括,但不仅限于,可通过通信总线14相互通信连接的存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-14的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,存储器11至少包括一种类型的计算机可读存储介质,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器11可以是电子装置10的内部存储单元,例如电子装置10的硬盘或内存。在另一些实施例中,存储器11也可以是电子装置10的外包存储设备,例如电子装置10上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器11还可以既包括电子装置10的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于电子装置10的操作系统和各类应用软件,例如分布式系统业务链路分析程序等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。处理器12通常用于控制电子装置10的总体操作。本实施例中,处理器12用于运行存储器11中存储的程序代码或者处理数据,例如运行的分布式系统业务链路分析程序等。
网络接口13可包括无线网络接口或有线网络接口,网络接口13通常用于在电子装置10与其他电子设备之间建立通信连接。
通信总线14用于实现组件11-13之间的通信连接。
图1仅示出了具有组件11-14以及分布式系统业务链路分析程序的电子装置10,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,电子装置10还可以包括用户接口(图1中未示出),用户接口可以包括显示器、输入单元比如键盘,其中,用户接口还可以包括标准的有线接口、无线接口等。
可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED触摸器等。进一步地,显示器也可称为显示屏或显示单元,用于显示在电子装置10中处理信息以及用于显示可视化的用户界面。
在一实施例中,存储器11中存储的分布式系统业务链路分析程序被处理器12执行时,实现如下操作:
A10,创建待执行任务在预先确定的分布式系统中的工作流实例;
具体地,工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。工作流主要解决的主要问题是:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
在本实施例中,若有用户设备发送任务执行请求至预先确定的分布式系统后,则认为有工作流接入该预先确定的分布式系统,进一步地,在本实施例中,预定义该分布式系统中的每一个单独业务(待执行任务)为一个工作流实例,其中,每一个工作流实例会触发一个调用路径,该调用路径包括消息路径,数据库访问路径,缓存访问路径等。
需要说明的是,预先确定的分布式系统指的是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件(middleware)负责实现这个模型。一个著名的分布式系统的例子是万维网(World Wide Web),在万维网中,所有的一切看起来就好像是一个文档(Web页面)一样。
A20,在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;
具体地,在本实施例中,采用埋点的方法采集各个工作流实例的执行日志;具体地,所谓埋点,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。
具体地,埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获,然后获取必要的上下文信息,最后将信息整理后发送至服务器端。所监听的事件,通常由操作系统、浏览器、APP框架等平台提供,也可以在基础事件之上进行触发条件的自定义(如点击某一个特定按钮)。一般情况下,埋点可以通过监测分析工具提供的SDK来进行编程实现。数据埋点,通过集成SDK到统一开发框架中,进行低侵入性的数据收集采用AOP切面方式,将收集的数据存储在本地线程变量ThreadLocal中,对应用透明数据记录TraceId、事件应用、接口、开始时间、耗时;数据采用异步线程队列的方式发送到Kafka队列中,减少对业务的影响;目前支持的中间件有:Http中间件,Mysql中间件,RabbitMQ中间件。
埋点的业务意义显而易见,即帮助定义和获取分析人员真正需要的业务数据及其附带信息。在不同场景下,业务人员关注的信息和角度可能不同。典型的应用场景有面向数字营销领域的分析,以及面向产品运营领域的分析。前者注重来源渠道和广告效果,后者更在意产品本身流程和体验的优化。两者各有侧重,也可以有一些交叉。所以,对于不同的项目和分析目的,应当设计不同的埋点方案。
进一步地,还可以通过后端配置或前端可视化圈选等方式来完成各个工作流实例的执行日志采集,这种采集方式通常应用于在监测时捕获和发送尽可能多的事件和信息的情况,而在数据处理后端进行触发条件匹配和统计计算等工作,以较好地支持关注点变更和历史数据回溯。当然,这种采集方式仍然需要部署数据采集基础SDK(又称基础代码)。具体地,通过集成SDK到统一开发框架中,进行低侵入性的数据收集采用AOP切面方式,将收集的数据存储在本地线程变量ThreadLocal中,对应用透明数据记录TraceId(任务执行的标识码,每个任务在执行过程中对应唯一的标识码)、通常在任务执行过程中,通过该TraceId将不同的系统(中间件)连接起来,实现调用链路的跟踪,路径分析等;进一步地,对应用透明数据记录执行任务的应用程序、接口、开始时间、耗时等信息。
A30,将采集的执行日志发送至预先确定的消息队列;
具体地,通过logagent将执行日志发送至预先确定的消息队列;其中,logagent是部署在分布式系统中的每台服务器上的一个deamon进程,起着日志数据的传输通道。对外提供http服务拉取日志;具体地,预先确定的消息队列为Kafka队列,其中Kafka队列不仅可以实现数据之间的解耦,还可以实现数据的延迟消费,起到削峰填谷的作用。
A40,根据所述消息队列中的执行日志,确定分布式系统中各个业务的执行链路。
具体地,执行日志包括:filter:请求过滤器,该请求过滤器负责访问源解析统计,权限认证等;container:包含了正在访问的文件句柄集合,文件句柄集合当日志滚动文件名变更发生时可以防止错误定位;handler:获取日志数据的处理器,该处理器采用偏移量随机读取的方式获取日志数据,并进行处理;storer:保存用户成功获取的文件位点信息。
进一步地,本申请提出的分布式系统业务链路分析程序被处理器12执行时,还执行如下步骤S500和S600。
A50,将所述执行日志存入预先确定的数据库;
具体地,在本实施例中,预先确定的数据库为分布式存储框架ES;进一步地,通常主要存储Span与Annotation相关的数据,同时考虑到数据量的规模,需要预定义存储的有效期,例如可预定义保存最近1个月的数据。
A60,将确定的业务执行链路通过查询界面进行展示。
具体地,在本实施例中,查询界面为可视化的Web界面。
由上述实施例可知,本发明提出的电子装置,首先通过创建待执行任务在预先确定的分布式系统中的工作流实例,其次在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;然后将采集的执行日志发送至预先确定的消息队列;最后根据消息队列中的执行日志,确定分布式系统中各个业务的执行链路。能够准确地确定分布式系统的业务链路,从而能及时准确地确定分布式系统的运行性能,有效预防运行风险。
进一步需要说明的是,本发明的分布式系统业务链路分析程序依据其各部分所实现的功能不同,可用具有相同功能的程序模块进行描述。请参阅图2所示,是本发明电子装置一实施例中分布式系统业务链路分析程序的程序模块示意图。本实施例中,分布式系统业务链路分析程序依据其各部分所实现的功能的不同,可以被分割成创建模块201、采集模块202、发送模块203、确定模块204。由上面的描述可知,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述分布式系统业务链路分析程序在电子装置10中的执行过程。所述模块201-204所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
创建模块201用于创建待执行任务在预先确定的分布式系统中的工作流实例;
采集模块202用于在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;
发送模块203用于将采集的执行日志发送至预先确定的消息队列;
确定模块204用于根据所述消息队列中的执行日志,确定分布式系统中各个业务的执行链路。
此外,本发明还提出一种分布式系统业务链路分析方法,请参阅图3所示,分布式系统业务链路分析方法包括如下步骤:
S100,创建待执行任务在预先确定的分布式系统中的工作流实例;
具体地,工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。工作流主要解决的主要问题是:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
在本实施例中,若有用户设备发送任务执行请求至预先确定的分布式系统后,则认为有工作流接入该预先确定的分布式系统,进一步地,在本实施例中,预定义该分布式系统中的每一个单独业务(待执行任务)为一个工作流实例,其中,每一个工作流实例会触发一个调用路径,该调用路径包括消息路径,数据库访问路径,缓存访问路径等。
需要说明的是,预先确定的分布式系统指的是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件(middleware)负责实现这个模型。一个著名的分布式系统的例子是万维网(World Wide Web),在万维网中,所有的一切看起来就好像是一个文档(Web页面)一样。
S200,在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;
具体地,在本实施例中,采用埋点的方法采集各个工作流实例的执行日志;具体地,所谓埋点,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。
具体地,埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获,然后获取必要的上下文信息,最后将信息整理后发送至服务器端。所监听的事件,通常由操作系统、浏览器、APP框架等平台提供,也可以在基础事件之上进行触发条件的自定义(如点击某一个特定按钮)。一般情况下,埋点可以通过监测分析工具提供的SDK来进行编程实现。数据埋点,通过集成SDK到统一开发框架中,进行低侵入性的数据收集采用AOP切面方式,将收集的数据存储在本地线程变量ThreadLocal中,对应用透明数据记录TraceId、事件应用、接口、开始时间、耗时;数据采用异步线程队列的方式发送到Kafka队列中,减少对业务的影响;目前支持的中间件有:Http中间件,Mysql中间件,RabbitMQ中间件。
埋点的业务意义显而易见,即帮助定义和获取分析人员真正需要的业务数据及其附带信息。在不同场景下,业务人员关注的信息和角度可能不同。典型的应用场景有面向数字营销领域的分析,以及面向产品运营领域的分析。前者注重来源渠道和广告效果,后者更在意产品本身流程和体验的优化。两者各有侧重,也可以有一些交叉。所以,对于不同的项目和分析目的,应当设计不同的埋点方案。
进一步地,还可以通过后端配置或前端可视化圈选等方式来完成各个工作流实例的执行日志采集,这种采集方式通常应用于在监测时捕获和发送尽可能多的事件和信息的情况,而在数据处理后端进行触发条件匹配和统计计算等工作,以较好地支持关注点变更和历史数据回溯。当然,这种采集方式仍然需要部署数据采集基础SDK(又称基础代码)。具体地,通过集成SDK到统一开发框架中,进行低侵入性的数据收集采用AOP切面方式,将收集的数据存储在本地线程变量ThreadLocal中,对应用透明数据记录TraceId(任务执行的标识码,每个任务在执行过程中对应唯一的标识码)、通常在任务执行过程中,通过该TraceId将不同的系统(中间件)连接起来,实现调用链路的跟踪,路径分析等;进一步地,对应用透明数据记录执行任务的应用程序、接口、开始时间、耗时等信息。
S300,将采集的执行日志发送至预先确定的消息队列;
具体地,通过logagent将执行日志发送至预先确定的消息队列;其中,logagent是部署在分布式系统中的每台服务器上的一个deamon进程,起着日志数据的传输通道。对外提供http服务拉取日志;具体地,预先确定的消息队列为Kafka队列,其中Kafka队列不仅可以实现数据之间的解耦,还可以实现数据的延迟消费,起到削峰填谷的作用。
S400,根据所述消息队列中的执行日志,确定分布式系统中各个业务的执行链路。
具体地,执行日志包括:filter:请求过滤器,该请求过滤器负责访问源解析统计,权限认证等;container:包含了正在访问的文件句柄集合,文件句柄集合当日志滚动文件名变更发生时可以防止错误定位;handler:获取日志数据的处理器,该处理器采用偏移量随机读取的方式获取日志数据,并进行处理;storer:保存用户成功获取的文件位点信息。
进一步地,本申请提出的分布式系统业务链路分析程序被处理器12执行时,还执行如下步骤S500和S600。
S500,将所述执行日志存入预先确定的数据库;
具体地,在本实施例中,预先确定的数据库为分布式存储框架ES;进一步地,通常主要存储Span与Annotation相关的数据,同时考虑到数据量的规模,需要预定义存储的有效期,例如可预定义保存最近1个月的数据。
S600,将确定的业务执行链路通过查询界面进行展示。
具体地,在本实施例中,查询界面为可视化的Web界面。
由上述实施例可知,本发明提出的分布式系统业务链路分析,首先通过创建待执行任务在预先确定的分布式系统中的工作流实例,其次在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;然后将采集的执行日志发送至预先确定的消息队列;最后根据消息队列中的执行日志,确定分布式系统中各个业务的执行链路。能够准确地确定分布式系统的业务链路,从而能及时准确地确定分布式系统的运行性能,有效预防运行风险。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式系统业务链路分析程序,所述分布式系统业务链路分析程序被处理器执行时实现如下操作:
创建待执行任务在预先确定的分布式系统中的工作流实例;
在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;
将采集的执行日志发送至预先确定的消息队列;
根据所述消息队列中的执行日志,确定分布式系统中各个业务的执行链路。
进一步地,所述分布式系统业务链路分析程序被处理器执行时还实现如下操作:
将所述执行日志存入预先确定的数据库。
进一步地,所述分布式系统业务链路分析程序被处理器执行时还实现如下操作:
将确定的业务执行链路通过查询界面进行展示。
有上述实施例可知,本发明提出的计算机可读存储介质,首先通过创建待执行任务在预先确定的分布式系统中的工作流实例,其次在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;然后将采集的执行日志发送至预先确定的消息队列;最后根据消息队列中的执行日志,确定分布式系统中各个业务的执行链路。能够准确地确定分布式系统的业务链路,从而能及时准确地确定分布式系统的运行性能,有效预防运行风险。
本发明计算机可读存储介质具体实施方式与上述电子装置以及大类基金资产配置策略分析方法各实施例基本相同,在此不作累述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种电子装置,其特征在于,所述电子装置包括存储器、及与所述存储器连接的处理器,所述处理器用于执行所述存储器上存储的分布式系统业务链路分析程序,所述分布式系统业务链路分析程序被所述处理器执行时实现如下步骤:
A10、创建待执行任务在预先确定的分布式系统中的工作流实例;
A20、在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;
A30、将采集的执行日志发送至预先确定的消息队列;
A40、根据所述消息队列中的执行日志,确定分布式系统中各个业务的执行链路。
2.如权利要求1所述的电子装置,其特征在于,所述步骤A10包括:
若有用户设备发送任务执行请求至预先确定的分布式系统后,则获取待执行任务;
自定义该待执行任务为接入预先确定的分布式系统的工作流实例。
3.如权利要求1所述的电子装置,其特征在于,在所述步骤A20中,所述采集各个工作流实例的执行日志的步骤,包括:
采用埋点的方法采集各个工作流实例的执行日志;其中,所述采用埋点的方法包括:
监听软件应用运行过程中的事件,当监听到有事件发生后,确定监听到的事件是否为预定义的所需事件;
若确定监听到的事件为预定义的所需事件,则捕获该事件对应的上下文信息;
将捕获的上下文信息发送至预先确定的服务器端。
4.如权利要求1所述的电子装置,其特征在于,所述分布式系统业务链路分析程序被所述处理器执行时还实现如下步骤:
将确定的业务执行链路通过查询界面进行展示。
5.如权利要求1-4任意所述的电子装置,其特征在于,在所述步骤A20之后,还包括如下步骤:
将所述执行日志存入预先确定的数据库。
6.一种分布式系统业务链路分析方法,其特征在于,所述方法包括如下步骤:
S10、创建待执行任务在预先确定的分布式系统中的工作流实例;
S20、在各个工作流实例的执行过程中,采集各个工作流实例的执行日志;
S30、将采集的执行日志发送至预先确定的消息队列;
S40、根据所述消息队列中的执行日志,确定分布式系统中各个业务的执行链路。
7.如权利要求6所述的分布式系统业务链路分析方法,其特征在于,所述步骤S10包括:
若有用户设备发送任务执行请求至预先确定的分布式系统后,则获取待执行任务;
自定义该待执行任务为接入预先确定的分布式系统的工作流实例。
8.如权利要求6所述的分布式系统业务链路分析方法,其特征在于,在所述步骤S20中,所述采集各个工作流实例的执行日志的步骤,包括:
采用埋点的方法采集各个工作流实例的执行日志;其中,所述采用埋点的方法包括:
监听软件应用运行过程中的事件,当监听到有事件发生后,确定监听到的事件是否为预定义的所需事件;
若确定监听到的事件为预定义的所需事件,则捕获该事件对应的上下文信息;
将捕获的上下文信息发送至预先确定的服务器端。
9.如权利要求6所述的分布式系统业务链路分析方法,其特征在于,所述方法还包括:
将确定的业务执行链路通过查询界面进行展示。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有分布式系统业务链路分析程序,所述分布式系统业务链路分析程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求6-9中任一项所述的分布式系统业务链路分析方法的步骤。
CN201810547297.1A 2018-05-31 2018-05-31 电子装置、分布式系统业务链路分析方法及存储介质 Pending CN108874559A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810547297.1A CN108874559A (zh) 2018-05-31 2018-05-31 电子装置、分布式系统业务链路分析方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810547297.1A CN108874559A (zh) 2018-05-31 2018-05-31 电子装置、分布式系统业务链路分析方法及存储介质

Publications (1)

Publication Number Publication Date
CN108874559A true CN108874559A (zh) 2018-11-23

Family

ID=64336069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810547297.1A Pending CN108874559A (zh) 2018-05-31 2018-05-31 电子装置、分布式系统业务链路分析方法及存储介质

Country Status (1)

Country Link
CN (1) CN108874559A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831351A (zh) * 2018-12-29 2019-05-31 深圳云天励飞技术有限公司 链路跟踪方法、装置、终端及存储介质
CN110572291A (zh) * 2019-09-16 2019-12-13 南京南瑞信息通信科技有限公司 面向分布式系统实现架构自动识别功能的系统及其方法
CN110764745A (zh) * 2019-09-16 2020-02-07 平安科技(深圳)有限公司 变量的传输和收集方法、装置及计算机可读存储介质
CN110764974A (zh) * 2019-12-25 2020-02-07 武汉慧联无限科技有限公司 一种监控方法、装置及存储介质
CN110825731A (zh) * 2019-09-18 2020-02-21 平安科技(深圳)有限公司 数据存储方法、装置、电子设备及存储介质
WO2020232871A1 (zh) * 2019-05-20 2020-11-26 平安科技(深圳)有限公司 一种微服务依赖分析方法及装置
CN112330147A (zh) * 2020-11-04 2021-02-05 北京思特奇信息技术股份有限公司 一种业务受理信息监控方法、装置及存储介质
CN112559513A (zh) * 2019-09-10 2021-03-26 网易(杭州)网络有限公司 链路数据存取方法、装置、存储介质、处理器及电子装置
CN112835692A (zh) * 2021-01-12 2021-05-25 山东众阳健康科技集团有限公司 一种日志消息驱动任务方法、系统、存储介质及设备
CN115408243A (zh) * 2022-09-07 2022-11-29 南京安元科技有限公司 一种工作流引擎执行过程链路跟踪方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119752A (zh) * 2015-09-08 2015-12-02 北京京东尚科信息技术有限公司 一种分布式日志采集方法、装置及系统
CN105224445A (zh) * 2015-10-28 2016-01-06 北京汇商融通信息技术有限公司 分布式跟踪系统
CN107229556A (zh) * 2017-06-09 2017-10-03 环球智达科技(北京)有限公司 基于elastic组件的日志分析系统
CN107273267A (zh) * 2017-06-09 2017-10-20 环球智达科技(北京)有限公司 基于elastic组件的日志分析方法
CN107577586A (zh) * 2016-07-04 2018-01-12 阿里巴巴集团控股有限公司 一种用于确定分布式系统中业务执行链路的方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105119752A (zh) * 2015-09-08 2015-12-02 北京京东尚科信息技术有限公司 一种分布式日志采集方法、装置及系统
CN105224445A (zh) * 2015-10-28 2016-01-06 北京汇商融通信息技术有限公司 分布式跟踪系统
CN107577586A (zh) * 2016-07-04 2018-01-12 阿里巴巴集团控股有限公司 一种用于确定分布式系统中业务执行链路的方法和设备
CN107229556A (zh) * 2017-06-09 2017-10-03 环球智达科技(北京)有限公司 基于elastic组件的日志分析系统
CN107273267A (zh) * 2017-06-09 2017-10-20 环球智达科技(北京)有限公司 基于elastic组件的日志分析方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109831351A (zh) * 2018-12-29 2019-05-31 深圳云天励飞技术有限公司 链路跟踪方法、装置、终端及存储介质
CN109831351B (zh) * 2018-12-29 2021-03-05 深圳云天励飞技术有限公司 链路跟踪方法、装置、终端及存储介质
WO2020232871A1 (zh) * 2019-05-20 2020-11-26 平安科技(深圳)有限公司 一种微服务依赖分析方法及装置
CN112559513A (zh) * 2019-09-10 2021-03-26 网易(杭州)网络有限公司 链路数据存取方法、装置、存储介质、处理器及电子装置
CN110572291A (zh) * 2019-09-16 2019-12-13 南京南瑞信息通信科技有限公司 面向分布式系统实现架构自动识别功能的系统及其方法
CN110764745A (zh) * 2019-09-16 2020-02-07 平安科技(深圳)有限公司 变量的传输和收集方法、装置及计算机可读存储介质
CN110764745B (zh) * 2019-09-16 2024-02-02 平安科技(深圳)有限公司 变量的传输和收集方法、装置及计算机可读存储介质
CN110825731B (zh) * 2019-09-18 2023-10-24 平安科技(深圳)有限公司 数据存储方法、装置、电子设备及存储介质
CN110825731A (zh) * 2019-09-18 2020-02-21 平安科技(深圳)有限公司 数据存储方法、装置、电子设备及存储介质
CN110764974A (zh) * 2019-12-25 2020-02-07 武汉慧联无限科技有限公司 一种监控方法、装置及存储介质
CN112330147A (zh) * 2020-11-04 2021-02-05 北京思特奇信息技术股份有限公司 一种业务受理信息监控方法、装置及存储介质
CN112835692A (zh) * 2021-01-12 2021-05-25 山东众阳健康科技集团有限公司 一种日志消息驱动任务方法、系统、存储介质及设备
CN115408243A (zh) * 2022-09-07 2022-11-29 南京安元科技有限公司 一种工作流引擎执行过程链路跟踪方法及系统

Similar Documents

Publication Publication Date Title
CN108874559A (zh) 电子装置、分布式系统业务链路分析方法及存储介质
KR102317535B1 (ko) 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템
CN105765528B (zh) 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质
WO2018228285A1 (zh) 一种数据采集、查询方法、装置、存储介质及处理器
US7996820B2 (en) Determining proportionate use of system resources by applications executing in a shared hosting environment
KR101678131B1 (ko) 의존도 데이터로부터 의존도 맵들의 발생
US10523580B2 (en) Automatic cloud provisioning based on related internet news and social network trends
US10116534B2 (en) Systems and methods for WebSphere MQ performance metrics analysis
US20070130145A1 (en) User activity based document analysis
CN101258708A (zh) 基于网络的应用的性能评估
CN104937548A (zh) 动态图的性能监视
CN112527599A (zh) 智能监控方法、装置、电子设备及可读存储介质
CN112148700A (zh) 日志数据处理方法、装置、计算机设备和存储介质
CN113760641A (zh) 业务监控方法、装置、计算机系统和计算机可读存储介质
CN112596932A (zh) 服务注册及拦截方法、装置、电子设备及可读存储介质
CN104919427A (zh) 动态组件性能监视
CN110309041A (zh) 浏览器性能实时监控方法、装置、设备及可读存储介质
JP5268589B2 (ja) 情報処理装置及び情報処理装置の運用方法
CN115168166A (zh) 业务数据变更的记录方法、装置、设备及存储介质
US9164746B2 (en) Automatic topology extraction and plotting with correlation to real time analytic data
US20190295097A1 (en) Cross-functional analytics tool for integrating web analytics data and customer relationship management data
CN112101716A (zh) 基于分层解耦的终端资产管理方法
CN110879701B (zh) 工作流可视化配置方法、服务器、系统及介质
CN113434582B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN115086047A (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