CN110245043B - 一种分布式系统间调用关系的跟踪系统 - Google Patents
一种分布式系统间调用关系的跟踪系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, 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数据库请求,区分普通请求与事务,并将一次事务中的多次请求作为一次请求上报。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103390038A (zh) * | 2013-07-16 | 2013-11-13 | 西安交通大学 | 一种基于HBase的构建和检索增量索引的方法 |
Family Cites Families (6)
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 | 武汉大学 | 一种面向微服务调用过程跟踪的监控系统及方法 |
-
2018
- 2018-03-07 CN CN201810186316.2A patent/CN110245043B/zh active Active
Patent Citations (1)
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 |