分布式系统业务调用链的时长统计方法和装置制造方法及图纸

技术编号:15691007 阅读:73 留言:0更新日期:2017-06-24 03:51
本发明专利技术公开了一种分布式系统业务调用链的时长统计方法和装置。该分布式系统业务调用链的时长统计方法包括:针对一个业务调用链中的多个调用中的每一调用执行以下操作:从该调用的日志数据中采集该调用的时间段的起始时间和结束时间;和基于起始时间和结束时间,通过并集计算将该时间段合并至时间轴;以及计算时间轴上的所有时间段的时长之和。通过对分布式系统的业务调用链中的各调用的处理时间段进行并集计算,实现了以业务调用链为单位,对多个分布式节点上的多个应用模块的调用时长的精确汇总统计。

Time length statistics method and device for service call chain of distributed system

The invention discloses a time length statistic method and device for a distributed system service calling chain. Including the distributed system service call chain length statistics method: according to the following every call more than one call to a business in the call chain in the initial time period: the call from the log data collected in the call and end time; and the starting time and ending time based on the union the time of calculation will be merged into the time axis; and calculating the time axis of all time and the length of time. The processing time of each call to the distributed system service in the call chain segment of union calculation, in order to realize the business call chain as a unit, a plurality of application modules of multiple distributed nodes on the call time accurate statistics.

【技术实现步骤摘要】
分布式系统业务调用链的时长统计方法和装置
本专利技术涉及分布式系统
,尤其涉及一种分布式系统业务调用链的时长统计方法和装置。
技术介绍
业务支撑系统是许多个应用、中间件、数据库集群组成的非常复杂的分布式系统。业务支撑系统中的业务调用链是从用户发出请求开始到完成用户请求结束的过程中,所涉及的多个业务应用模块的组合,该过程所涉及的页面、服务和函数都属于一个业务调用链。各应用之间一般采用远程过程调用(RPC)调用和异步消息通讯两种手段,如RPC调用会产生一层调一层的嵌套,一个消息发布出来会被多个应用消费。另外,应用还会访问数据库、缓存、存储等后端系统,以及调用其他外部系统等。
技术实现思路
本专利技术实施例提供一种分布式系统业务调用链的时长统计方法,该方法包括:针对一个业务调用链中的多个调用中的每一调用执行以下操作:从该调用的日志数据中采集该调用的时间段的起始时间和结束时间;和基于起始时间和结束时间,通过并集计算将时间段合并至时间轴;以及计算时间轴上的所有时间段的时长之和。本专利技术实施例提供了一种分布式系统业务调用链的时长统计装置,该装置包括:采集模块,该采集模块被配置为针对一个业务调用链中的多个调用中的每一调用,从该调用的日志数据中采集该调用的时间段的起始时间和结束时间;合并模块,该合并模块被配置为基于起始时间和结束时间,通过并集计算将该时间段合并至时间轴;以及计算模块,该计算模块被配置为计算时间轴上的所有时间段的时长之和。本申请通过对分布式系统的业务调用链中的各调用的处理时间段进行并集计算,实现了以业务调用链为单位,对多个分布式节点上的多个应用模块的调用时长的精确汇总统计。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面通过参考附图会更加清楚地理解本公开实施例的特征和优点,并且附图仅是示意性的,不应理解为对本公开进行任何限制,在附图中:图1A是示出根据本专利技术实施例的分布式系统业务调用链的时长统计系统的结构示意图;图1B是示出根据本专利技术实施例的分布式系统业务调用链的时长统计方法的流程图;图2是表1所示的实例的并集统计的原理图;图3是示出偶偶相等情形下的实例的示意图;图4是示出偶偶不等情形下的实例的示意图;图5是示出奇奇相等情形下的实例的示意图;图6是示出奇奇不等情形下的实例的示意图;图7是示出奇偶情形下的实例的示意图;图8是示出偶奇情形下的实例的示意图;图9示出电商抢购业务调用链的实例的流程图。图10是示出根据本专利技术实施例的分布式系统业务调用链的时长统计装置的框图。图11是示出能够实现根据本专利技术实施例的分布式系统业务调用链的时长统计方法和装置的计算设备的示例性硬件架构的结构图。具体实施方式下面将详细描述本专利技术的各个方面的特征和示例性实施例,为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本专利技术,并不被配置为限定本专利技术。对于本领域技术人员来说,本专利技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本专利技术的示例来提供对本专利技术更好的理解。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。在分布式系统,例如业务支撑系统中,某一业务调用链中的多个业务应用模块之间的衔接调用有同步或异步的。在现有的业务支撑系统中,对业务调用链的处理的时长统计方法主要是基于单个应用模块,这些方法只能统计单个应用模块的时长但无法统计业务调用链的整体处理时长,因为现有的业务支撑系统只能统计应用同步调用时长,无法统计应用异步调用时长,并且不支持调用链时长的合并,因而无法精确汇总多个分布节点上的多个应用模块的调用时长。本申请提出一种新颖的分布式系统业务调用链的时长统计方法和装置,通过对分布式系统的业务调用链中的各调用的处理时间段进行并集计算,实现了以业务调用链为单位,对多个分布式节点上的多个应用模块的调用时长的精确汇总统计。下面结合附图,详细描述根据本专利技术实施例的分布式系统业务调用链的时长统计方法和装置。图1A示出根据本专利技术实施例的分布式系统业务调用链的时长统计系统的结构示意图。如图1A所示,分布式应用系统包括多级应用模块,例如,三级,该多级应用模块执行分布式调用过程,各应用模块之间的衔接调用可以是同步或异步调用。各调用的日志数据被缓存在缓存器(例如,执行单步日志缓存)中,业务调用链统计进程利用根据本专利技术实施例的分布式系统业务调用的时长统计方法从缓冲器中采集调用的日志数据进行统计处理,统计结果数据以及各调用的日志数据经由日志写入进程被写入数据库中,从而相关技术人员可以从数据库中调取相关数据以进行相应的数据分析,例如,通过数据分析对分布式调用过程进行还原。图1B是根据本专利技术实施例的分布式系统业务调用链的时长统计方法的流程图。如图1B所示,该分布式系统业务调用链的时长统计方法包括:针对一个业务调用链中的多个调用中的每一调用执行以下操作:步骤S101,从调用的日志数据中采集调用的时间段的起始时间和结束时间;步骤S102,基于起始时间和结束时间,通过并集计算将时间段合并至时间轴;以及步骤S103,计算时间轴上的所有时间段的时长之和。一般而言,业务数据链中各调用的时间段的并集处理通过数据库难以进行批量的计算和存储。根据一种实施例,可以逐条日志进行处理。例如,可以通过Cohenrence做缓存,存放时间轴对象,每当有新的日志传入时,基于并集计算将日志中的时间段数据合并至时间轴,以对时间轴进行更新。当输出数据时,只需计算时间轴上的所有时间段的时长之和。表1示出了在一个实例中,对分布式系统的一个业务调用链的多个调用的日志数据进行的并集处理。表1业务链时长并集处理流程表在表1的示例中,流水号为A的业务调用链包括三个时长各为30分钟的调用。从这三个调用的日志数据中可以采集到它们各自的单步处理时长的起始时间和结束时间,进而通过并集计算可以对三个调用的单步处理时长进行合并,从而可以得到该业务调用链的总的系统处理时长。图2是示出了表1所示的实例的并集统计原理图。如图2所示,第一调用的调用时间9:00-9:30与第二调用的调用时间9:15-9:45具有交叉部分,对这两个时间段进行并集处理之后,可以得到这两个调用的整体处理时长是45分钟,再加上不存在交叉的第三调用的单步处理时长,可以得到该业务调用链的整体处理时长为75分钟。在一个示例性实施例中,步骤S102可以包括:当调用的时间段早于或晚于时间轴上的所有时间段时,将调用的时间段插入时间轴。例如,如果时间轴上包括两个时间段9:06-9:09和9:10-9:18,并且准备进行合并的时间段为9:00-9:05,那么直本文档来自技高网...
分布式系统业务调用链的时长统计方法和装置

【技术保护点】
一种分布式系统业务调用链的时长统计方法,其特征在于,包括:针对一个业务调用链中的多个调用中的每一调用执行以下操作:从所述调用的日志数据中采集所述调用的时间段的起始时间和结束时间;和基于所述起始时间和结束时间,通过并集计算将所述时间段合并至时间轴;以及计算所述时间轴上的所有时间段的时长之和。

【技术特征摘要】
1.一种分布式系统业务调用链的时长统计方法,其特征在于,包括:针对一个业务调用链中的多个调用中的每一调用执行以下操作:从所述调用的日志数据中采集所述调用的时间段的起始时间和结束时间;和基于所述起始时间和结束时间,通过并集计算将所述时间段合并至时间轴;以及计算所述时间轴上的所有时间段的时长之和。2.根据权利要求1所述的分布式系统业务调用链的时长统计方法,其特征在于,所述合并步骤包括:当所述调用的时间段早于或晚于所述时间轴上的所有时间段时,将所述调用的时间段插入所述时间轴;当所述调用的时间段位于所述时间轴中的两个相邻时间段之间时,将所述调用的时间段插入所述两个相邻的时间段之间;当所述调用的时间段中包含所述时间轴中的一个或多个时间段时,从所述时间轴删除所述被包含的一个或多个时间段,并且将所述调用的时间段插入所述时间轴中;当所述调用的时间段位于所述时间轴中的一个时间段内时,保持所述时间轴不变;当所述调用的时间段的起始时间位于所述时间轴中的第一时间段内并且所述调用的时间段的结束时间位于所述时间轴中晚于所述第一时间段的第二时间段内时,从所述时间轴删除所述第一时间段和所述第二时间段以及所述第一时间段和所述第二时间段之间的所有时间段,并且以所述第一时间段的起始时间和所述第二时间段的结束时间生成新的时间段插入到所述时间轴中;当所述调用的起始时间位于所述时间轴中的第一时间段内并且所述调用的时间段的结束时间位于依次晚于所述第一时间段的第二时间段和第三时间段之间时,从所述时间轴删除所述第一时间段和所述第二时间段以及所述第一时间段和所述第二时间段之间的所有时间段,并且以所述第一时间段的起始时间和所述调用的时间段的结束时间生成新的时间段插入到所述时间轴中,所述第三时间段保持不变;以及当所述调用的时间段的起始时间位于第一时间段和晚于所述第一时间段的第二时间段之间并且所述调用的时间段的结束时间位于晚于所述第二时间段的第三时间段内时,从所述时间轴删除所述第二时间段和所述第三时间段以及所述第二时间段和所述第三时间段之间的所有时间段,并且以所述调用的时间段的起始时间和所述第三时间段的结束时间生成新的时间段插入到所述时间轴中,所述第一时间段保持不变。3.根据权利要求1所述的分布式系统业务调用链的时长统计方法,其特征在于,所述时间轴被存储在动态数组中,所述动态数组的各个元素用于记录经排序的时间点,其中,所述动态数组的奇数位元素存储调用的时间段的起始时间,所述动态数组的偶数位元素存储调用的时间段的结束时间。4.根据权利要求3所述的分布式系统业务调用链的时长统计方法,其特征在于,所述合并步骤包括:分别基于所述调用的时间段的起始时间和结束时间遍历所述动态数组以获取所述动态数组中的第一元素和第二元素,所述第一元素是不晚于且最接近所述调用的时间段的起始时间的元素,所述第二元素是不晚于且最接近所述结束时间的元素,其中,当所述第一元素和所述第二元素都在偶数位且位数相同时,将所述调用的时间段的起始时间和结束时间按时间顺序插入所述动态数组中;当所述第一元素和所述第二元素都在偶数位但位数不相同时,从所述动态数组中删除所述第一元素和所述第二元素之间的所有元素以及所述第二元素,并且将所述调用的时间段的起始时间和结束时间按时间顺序插入所述动态数组中;当所述第一元素和所述第二元素都在奇数位且位数相同时,所述动态数组保持不变;当所述第一元素和所述第二元素都在奇数位但位数不相同时,从所述动态数组中删除所述第一元素和所述第二元素之间的所有元素以及第二元素;当所述第一元素在奇数位而所述第二元素在偶数位时,从所述动态数组中删除所述第一元素和所述第二元素之间的所有元素以及所述第二元素,并且将所述调用的结束时间按时间顺序插入所述动态数组中;以及当所述第一元素在偶数位而所述第二元素在奇数位时,从所述动态数组中删除所述第一元素和所述第二元素之间的所有元素以及所述第二元素,并且将所述调用的起始时间按时间顺序插入到所述动态数组中。5.根据权利要求4所述的分布式系统业务调用链的时长统计方法,其特征在于,所述遍历是倒序遍历。6.根据权利要求3-5中的任一项所述的分布式系统业务调用链的时长统计方法,其特征在于,所述动态数组是ArraVList数组。7.一种分布式系统业务调用链的时长统计装置,其特...

【专利技术属性】
技术研发人员:郑建兵王鑫邵森胡炜
申请(专利权)人:中国移动通信集团江苏有限公司中国移动通信集团公司
类型:发明
国别省市:江苏,32

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

1