CN110245043B - 一种分布式系统间调用关系的跟踪系统 - Google Patents

一种分布式系统间调用关系的跟踪系统 Download PDF

Info

Publication number
CN110245043B
CN110245043B CN201810186316.2A CN201810186316A CN110245043B CN 110245043 B CN110245043 B CN 110245043B CN 201810186316 A CN201810186316 A CN 201810186316A CN 110245043 B CN110245043 B CN 110245043B
Authority
CN
China
Prior art keywords
data
tracking
module
service
call
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
Application number
CN201810186316.2A
Other languages
English (en)
Other versions
CN110245043A (zh
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.)
Shenzhen Xiaoying Information Technology Co ltd
Original Assignee
Shenzhen Xiaoying Information Technology 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 Shenzhen Xiaoying Information Technology Co ltd filed Critical Shenzhen Xiaoying Information Technology Co ltd
Priority to CN201810186316.2A priority Critical patent/CN110245043B/zh
Publication of CN110245043A publication Critical patent/CN110245043A/zh
Application granted granted Critical
Publication of CN110245043B publication Critical patent/CN110245043B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式系统间调用关系的跟踪系统,包括数据上报模块、数据传输模块、数据处理模块、数据存储模块、数据查询模块,多个数据上报模块嵌入服务框架中封装跟踪数据,数据上报模块通过代理模块连接数据传输模块,数据传输模块将封装后的跟踪数据发送到数据处理模块,所述数据处理模块负责对跟踪数据进行过滤、合并、建立索引,连接并调用数据存储模块,数据查询模块连接数据存储模块。通过在已有服务框架中嵌入少量代码,封装通用的跟踪数据包,依据业务需要提供定制化的异步请求跟踪接口,实现分布式跟踪系统与已有服务框架、组件的完美结合。使业务系统在无感,或只需要做少量工作的情况下,即可接入分布式跟踪系统进行监控。

Description

一种分布式系统间调用关系的跟踪系统
技术领域
本发明涉及云计算技术领域,具体的来说涉及一种分布式系统间调用关系的跟踪系统。
背景技术
市场上现有的分布式追踪系统,通常模式为:收集格式化日志;计算处理平台处理日志数据;处理后的数据持久化存储。
但是现有的系统适应性差,如进行适配改造,需花费大量精力,成本消耗极大。所以需要设计一种新的分布式系统间调用关系的跟踪系统,以克服该问题。
发明内容
本发明所要解决的技术问题在于,克服现有技术中存在的问题,提供一种分布式系统间调用关系的跟踪系统,通过在已有服务框架中嵌入少量代码,封装通用的跟踪数据包,依据业务需要提供定制化的异步请求跟踪接口,实现了分布式跟踪系统与已有服务框架、组件的完美结合。使业务系统在无感,或只需要做少量工作的情况下,即可接入分布式跟踪系统进行监控。
为了解决上述问题本发明的技术方案是这样的:
一种分布式系统间调用关系的跟踪系统,包括数据上报模块、数据传输模块、数据处理模块、数据存储模块、数据查询模块,多个数据上报模块嵌入服务框架中封装跟踪数据,数据上报模块通过代理模块连接数据传输模块,数据传输模块将封装后的跟踪数据发送到数据处理模块,所述数据处理模块负责对跟踪数据进行过滤、合并、建立索引,连接并调用数据存储模块,数据查询模块连接数据存储模块。
所述数据查询模块,连接web页面和MySQL模块。
所述数据存储模块,使用Hbase作为底层存储,将跟踪数据持久化保存。
所述数据传输模块,通过内存数据库实现跟踪数据的高效传输。
所述数据上报模块,采用异步交互跟踪方式,将同步请求与异步通知视为一个同步请求处理;具体如下:
1)在处理需要异步回调的请求时,存储业务系统的跟踪上下文;
2)忽略业务请求的同步响应;
3)收到回调通知时,将通知作为业务请求的同步响应,恢复之前存储的跟踪上下文;
4)忽略回调通知的同步响应。
所述异步交互跟踪方式,默认使用内存数据库存储跟踪上下文,并设置超时时间与上下文生命周期。
所述异步交互跟踪方式,除默认存储方式外,支持其他存储方式。
所述数据处理模块,根据Hbase数据存储特点,建立多级索引模型;索引模型可满足海量数据场景下的查询性能要求,所构建的索引模型便于扩展,可依据业务需要定制条件查询接口。
数据查询模块,提供以业务主键、或接口名称为条件查询跟踪数据的接口,并将跟踪数据展示为对用户友好的调用链;所述数据查询接口,依据跟踪数据特征,使用瀑布流方式返回跟踪数据。
所述数据上报模块,封装了一个通用的跟踪数据包,包含全局唯一的链路标识,并使用特定格式的字符串标识调用间关系。
所述数据上报模块,可跟踪的调用包括:服务间的RPC请求、访问MySQL数据库请求,以及异步任务。
所述数据上报模块,对于MySQL数据库请求,区分普通请求与事务,并将一次事务中的多次请求作为一次请求上报。
有益效果,本发明通过在已有服务框架中嵌入少量代码,封装通用的跟踪数据包,依据业务需要提供定制化的异步请求跟踪接口,实现了分布式跟踪系统与已有服务框架、组件的完美结合。使业务系统在无感,或只需要做少量工作的情况下,即可接入分布式跟踪系统进行监控。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1为本发明所述的分布式系统间调用关系的跟踪系统结构框图。
图2为本发明所述的交互跟踪方式演进示意图。
图3为本发明所述的多级索引模型示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
缩略语和关键术语定义:
XTracing规范:根据OpenTracing规范,制定的内部的平台无关的链路跟踪系统接口规范。
Hbase:分布式的,面向列的开源数据库。
Rowkey:Hbase存储数据行健,唯一标识一行数据。
参看图1,一种分布式系统间调用关系的跟踪方法,包括数据上报模块、数据传输模块、数据处理模块、数据存储模块以及数据查询服务。
所述数据上报模块嵌入到服务框架中,高效率地封装跟踪数据,所述数据传输模块将封装后的跟踪数据发送到数据处理模块,所述数据处理模块负责对跟踪数据进行过滤、合并、建立索引,并调用数据存储模块,所述数据存储模块将跟踪数据持久化保存。
所述数据查询服务包括web页面和数据查询接口,所述web页面为一个友好的跟踪数据展示页面,所述数据查询接口负责处理web页面的查询请求,从数据存储模块中调用数据。
1)数据上报模块,提供同步请求跟踪接口和异步请求跟踪接口。同步请求跟踪接口嵌入到服务框架中,做到同步请求跟踪业务无感。异步请求跟踪接口默认使用内存数据库存储异步请求上下文,并兼容其他存储方式。数据上报模块接口符合XTracing规范。
2)数据传输模块,通过内存数据库实现跟踪数据的高效传输。
3)数据处理模块,结构化跟踪数据,并根据业务主键和接口名称为跟踪数据建立索引。
4)数据存储模块,使用Hbase作为底层存储。
5)数据查询服务,提供以业务主键、或接口名称为条件查询跟踪数据的接口,并将跟踪数据展示为对用户友好的调用链。
参看图2,所述数据上报模块,提供了独有的异步交互跟踪方式,将同步请求与异步通知视为一个同步请求处理;
1)在处理需要异步回调的请求时,存储业务系统的跟踪上下文;
2)忽略业务请求的同步响应;
3)收到回调通知时,将通知作为业务请求的同步响应,恢复之前存储的跟踪上下文;
4)忽略回调通知的同步响应。
所述异步交互跟踪方式,默认使用内存数据库存储跟踪上下文,并设置超时时间与上下文生命周期,除保证了对业务性能无影响外,兼容了业务请求重试的场景;
所述异步交互跟踪方式,除默认存储方式外,支持业务使用其他存储方式,接口具有良好的扩展性;
所述数据处理模块,参看图3,根据Hbase数据存储特点,建立多级索引模型,满足海量数据场景下的查询性能要求,同时所构建的索引模型便于扩展,可依据业务需要定制条件查询接口:
1)使用不同列族分别存储跟踪数据与索引数据,避免了索引查询与数据查询跨存储文件的情况,提升查询效率;
2)使用不同前缀标识不同索引数据,保证同类型索引数据存储位置相对集中,提高数据读取效率;
3)通过只建立索引数据到跟踪数据根节点的映射关系,避免索引数据过大;
4)相同跟踪链的数据拥有统一的RowKey前缀,保证了相同跟踪链数据存储在相同文件,便于建立索引。
所述数据处理模块,实现了足够散列的Hbase Rowkey,避免了存储文件的频繁切割影响数据读写效率,避免了Hbase热点问题。
所述数据查询接口,依据跟踪数据特征,使用瀑布流方式返回跟踪数据,保证海量数据场景下的查询效率。
所述数据上报模块,其接口遵循XTracing规范。
所述数据上报模块,封装了一个通用的跟踪数据包,包含全局唯一的链路标识,并使用特定格式的字符串标识调用间关系。
所述数据上报模块,可跟踪的调用包括:服务间的RPC(远程过程调用)请求、访问MySQL数据库请求,以及异步任务。
所述数据上报模块,对于MySQL数据库请求,区分普通请求与事务,并将一次事务中的多次请求作为一次请求上报。
所述数据传输模块,使用内存数据库,保证数据传输效率,避免影响业务系统性能。
所述数据处理模块,基于内部服务框架,可方便地进行横向扩容。
所述数据查询服务,基于内部服务框架,可方便地进行横向扩容。
本技术可用于跟踪分布式系统间的网络调用,包括远程过程调用、数据库访问、消息队列请求,这些网络请求可能跨越多个服务及数据中心。本技术的跟踪数据,为问题定位、性能优化、数据分析提供了基本的数据支持。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明专利要求保护的范围由所附的权利要求书及其等同物界定。

Claims (10)

1.一种分布式系统间调用关系的跟踪系统,其特征在于,包括数据上报模块、数据传输模块、数据处理模块、数据存储模块、数据查询模块,多个数据上报模块嵌入服务框架中封装跟踪数据,数据上报模块通过代理模块连接数据传输模块,数据传输模块将封装后的跟踪数据发送到数据处理模块,所述数据处理模块负责对跟踪数据进行过滤、合并、建立索引,连接并调用数据存储模块,数据查询模块连接数据存储模块
所述数据上报模块,采用异步交互跟踪方式,将同步请求与异步通知视为一个同步请求处理;具体如下:
1)在处理需要异步回调的请求时,存储业务系统的跟踪上下文;
2)忽略业务请求的同步响应;
3)收到回调通知时,将通知作为业务请求的同步响应,恢复之前存储的跟踪上下文;
4)忽略回调通知的同步响应;
所述数据处理模块,根据Hbase数据存储特点,建立多级索引模型,满足海量数据场景下的查询性能要求,同时所构建的索引模型便于扩展,可依据业务需要定制条件查询接口:
1)使用不同列族分别存储跟踪数据与索引数据;
2)使用不同前缀标识不同索引数据;
3)通过只建立索引数据到跟踪数据根节点的映射关系;
4)相同跟踪链的数据拥有统一的RowKey前缀。
2.根据权利要求1所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述数据查询模块,连接web页面和MySQL模块。
3.根据权利要求1所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述数据存储模块,使用Hbase作为底层存储,将跟踪数据持久化保存。
4.根据权利要求1所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述数据传输模块,通过内存数据库实现跟踪数据的高效传输。
5.根据权利要求1所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述异步交互跟踪方式,默认使用内存数据库存储跟踪上下文,并设置超时时间与上下文生命周期。
6.根据权利要求1所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述异步交互跟踪方式,除默认存储方式外,其他存储方式。
7.根据权利要求1所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述数据查询模块,提供以业务主键、或接口名称为条件查询跟踪数据的接口,并将跟踪数据展示为对用户友好的调用链;所述接口,依据跟踪数据特征,使用瀑布流方式返回跟踪数据。
8.根据权利要求1所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述数据上报模块,封装了一个通用的跟踪数据包,包含全局唯一的链路标识,并使用特定格式的字符串标识调用间关系。
9.根据权利要求8所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述数据上报模块,可跟踪的调用包括:服务间的RPC请求、访问MySQL数据库请求,以及异步任务。
10.根据权利要求8所述的一种分布式系统间调用关系的跟踪系统,其特征在于,所述数据上报模块,对于MySQL数据库请求,区分普通请求与事务,并将一次事务中的多次请求作为一次请求上报。
CN201810186316.2A 2018-03-07 2018-03-07 一种分布式系统间调用关系的跟踪系统 Active CN110245043B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810186316.2A CN110245043B (zh) 2018-03-07 2018-03-07 一种分布式系统间调用关系的跟踪系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810186316.2A CN110245043B (zh) 2018-03-07 2018-03-07 一种分布式系统间调用关系的跟踪系统

Publications (2)

Publication Number Publication Date
CN110245043A CN110245043A (zh) 2019-09-17
CN110245043B true CN110245043B (zh) 2023-03-24

Family

ID=67882490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810186316.2A Active CN110245043B (zh) 2018-03-07 2018-03-07 一种分布式系统间调用关系的跟踪系统

Country Status (1)

Country Link
CN (1) CN110245043B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311811B (zh) * 2020-11-16 2022-10-18 深圳市欢太科技有限公司 全链路跟踪方法、装置、存储介质以及服务器
CN117009112A (zh) * 2023-08-31 2023-11-07 深圳市小赢信息技术有限责任公司 业务处理方法、装置、智能设备和存储介质
CN117494117A (zh) * 2023-11-17 2024-02-02 北京天融信网络安全技术有限公司 一种远程过程调用的跟踪系统及跟踪方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103390038A (zh) * 2013-07-16 2013-11-13 西安交通大学 一种基于HBase的构建和检索增量索引的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017084B2 (en) * 2001-09-07 2006-03-21 Network Appliance Inc. Tracing method and apparatus for distributed environments
US20090320021A1 (en) * 2008-06-19 2009-12-24 Microsoft Corporation Diagnosis of application performance problems via analysis of thread dependencies
CN105224445B (zh) * 2015-10-28 2017-02-15 北京汇商融通信息技术有限公司 分布式跟踪系统
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN107580018A (zh) * 2017-07-28 2018-01-12 北京北信源软件股份有限公司 一种分布式系统的跟踪方法与装置
CN107766205B (zh) * 2017-10-10 2019-11-22 武汉大学 一种面向微服务调用过程跟踪的监控系统及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103390038A (zh) * 2013-07-16 2013-11-13 西安交通大学 一种基于HBase的构建和检索增量索引的方法

Also Published As

Publication number Publication date
CN110245043A (zh) 2019-09-17

Similar Documents

Publication Publication Date Title
US11354314B2 (en) Method for connecting a relational data store's meta data with hadoop
CN110245043B (zh) 一种分布式系统间调用关系的跟踪系统
US8874600B2 (en) System and method for building a cloud aware massive data analytics solution background
CN102081611B (zh) 一种主、备网管系统数据库同步的实现方法及装置
CN102479223A (zh) 数据查询方法及系统
CN105164674A (zh) 涉及多个数据库和执行引擎的查询
CN105468492A (zh) 一种基于搜索引擎的数据监控方法和系统
CN105786913A (zh) 一种面向云制造平台的erp集成数据库服务接口封装系统及方法
CN106951552A (zh) 一种基于Hadoop的用户行为数据处理方法
CN112380180A (zh) 数据同步处理方法、装置、设备及存储介质
CN111708589B (zh) 信息的处理系统、方法、设备及可读存储介质
CN111078702A (zh) 一种sql语句分类管理及统一查询方法和装置
CN104462161A (zh) 基于分布式数据库的结构化数据查询方法
US10545957B1 (en) Method and system for implementing a batch stored procedure testing tool
CN103455335A (zh) 一种多级分类的Web实现方法
CN102779138A (zh) 实时数据的硬盘存取方法
CN111625520B (zh) 一种通用的异构数据库字段类型的映射方法及系统
CN101556587B (zh) 一种异构数据库的操作代理装置
CN105843955A (zh) 一种数据迁移系统
CN100498780C (zh) 数据查询系统及数据查询方法
CN111782703A (zh) 灌区对象数据间关联关系自动管理和展示的方法及系统
CN105095224A (zh) 一种在移动通信网络中进行olap分析的方法、装置和系统
CN110647575B (zh) 基于分布式的异构处理框架构建方法及系统
EP3082050A1 (en) Mass data fusion storage method and system
CN116150236A (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