CN114531361A - 一种分布式***的服务拓扑分析方法、装置及存储介质 - Google Patents
一种分布式***的服务拓扑分析方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114531361A CN114531361A CN202210130180.XA CN202210130180A CN114531361A CN 114531361 A CN114531361 A CN 114531361A CN 202210130180 A CN202210130180 A CN 202210130180A CN 114531361 A CN114531361 A CN 114531361A
- Authority
- CN
- China
- Prior art keywords
- data
- service
- time
- real
- topology
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000004891 communication Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims description 31
- 238000007405 data analysis Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 8
- 230000003203 everyday effect Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000010223 real-time analysis Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011985 exploratory data analysis Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000002546 full scan Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5058—Service discovery by the service manager
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种分布式***的服务拓扑分析方法、装置及存储介质,所述分布式***的服务拓扑分析方法,包括:采集服务调用过程中的通信数据;所述通信数据以实时数据流的方式在各个服务间进行传递;通过实时数据流获取各个服务调用的实时数据,并采用时序数据的方式进行存储;获取所需查询时间段内所有时序数据,通过计算获得各个服务的拓扑数据。本发明可以获得最新的调用数据从而生成实时的服务拓扑图,帮助技术人员了解最新的***情况;通过使用时序数据存储调用数据,可以访问任意时间节点的调用数据,从而可以展示任意时间范围的服务拓扑图,也支持对拓扑数据做进一步筛选,从而展示更小范围的拓扑图。
Description
技术领域
本发明涉及分布式***技术领域,具体的涉及一种分布式***的服务拓扑分析方法、装置及存储介质。
背景技术
在微服务大行其道的当前下,一个公司有着成百上千个服务就是一个很常见的事情;面对这种情况,技术人员需要去了解服务间的调用和相互依赖关系,从而了解整个***的运行情况。
技术人员通过对请求进行埋点,从而拿到服务间的请求数据。服务拓扑的分析正是基于这些数据而来的。对于服务拓扑的分析,当前主要使用了以下的方式。
定时全量扫描,扫描一定时间内的全量调用数据,统计每一次请求的上下游信息,汇聚成点与点的关系,存储到数据库中。在展示时则将数据库中所有数据取出,描绘出点与点之间的关系串联起来最后形成服务拓扑图。
在调用数据量巨大的情况下,这种方式因为要扫描全量数据,所以耗时很长,一般需要定时运行,比如今天跑昨天的调用数据信息,形成昨天的服务拓补图给技术人员展示。而当技术人员需要了解线上的实时拓扑情况时,这种方案是无法支持的。并且在技术人员想要查看细粒度的拓扑数据时(小时级别或分钟级别),全量扫描的方案也无法提供很好的支持。
有鉴于此,特提出本发明专利。
发明内容
为了解决上述问题,本发明提供一种分布式***的服务拓扑分析方法、装置及存储介质,具体地,采用了如下技术方案:
一种分布式***的服务拓扑分析方法,包括:
采集服务调用过程中的通信数据;
所述通信数据以实时数据流的方式在各个服务间进行传递;
通过实时数据流获取各个服务调用的实时数据,并采用时序数据的方式进行存储;
获取所需查询时间段内所有时序数据,通过计算获得各个服务的拓扑数据。
作为本发明的可选实施方式,本发明所述的一种分布式***的服务拓扑分析方法中,所述采用时序数据的方式进行存储包括:
以时间戳为横轴,以服务Fi(i=1,2,3,...)到Fj(j=1,2,3,...)的调用次数和/或调用耗时为竖轴;
每隔设定时间间隔T选取一个时间戳坐标点,获取设定时间间隔T对应的实时数据,计算服务Fi到Fj的调用次数和/或调用耗时,并记录在Fi到Fj的坐标系上对应的坐标点上。
作为本发明的可选实施方式,本发明所述的一种分布式***的服务拓扑分析方法中,对应服务Fi到Fj的调用关系分别建立坐标系,各个坐标系的横轴和竖轴均具有相同的数据口径。
作为本发明的可选实施方式,本发明所述的一种分布式***的服务拓扑分析方法中,获取各个服务在坐标系上最新设定时间间隔T内的所有时序数据的坐标点,分别统计计算各个服务的时序数据,得到各个服务实时的拓扑数据。
作为本发明的可选实施方式,本发明所述的一种分布式***的服务拓扑分析方法中,设置需要查询的历史时间间隔,获取各个服务在坐标系上历史时间间隔内的所有时序数据的坐标点,分别统计计算各个服务的时序数据,得到各个服务历史任一时间间隔的拓扑数据。
作为本发明的可选实施方式,本发明所述的一种分布式***的服务拓扑分析方法中,各个服务的拓扑数据包括:通过计算获得各服务间调用次数,和/或每秒查询率,和/或平均耗时。
作为本发明的可选实施方式,本发明所述的一种分布式***的服务拓扑分析方法中,针对存储的每条时间序列数据编制倒排索引,通过倒排索引筛选服务展示的拓扑信息参数,按照筛选服务展示的拓扑信息参数生成拓扑图进行展示;
可选地,所述倒排索引的维度包括服务名称,业务线,服务类型。
作为本发明的可选实施方式,本发明所述的一种分布式***的服务拓扑分析方法中,所述采集服务调用过程中的通信数据包括:通过在服务中埋点的方式进行通信数据采集,所述埋点支持对http,mysq l,red i s,rpc协议的数据采集。
本发明同时提供一种分布式***的服务拓扑分析装置,包括:
数据采集模块,采集服务调用过程中的通信数据;
数据传递模块,以实时数据流的方式在各个服务间传递所述通信数据;
数据存储模块,通过实时数据流获取各个服务调用的实时数据,并采用时序数据的方式进行存储;
以及数据分析模块,获取所需查询时间段内所有时序数据,通过计算获得各个服务的拓扑数据。
本发明同时还提供一种存储介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现如所述的一种分布式***的服务拓扑分析方法。
与现有技术相比,本发明的有益效果:
本发明的一种分布式***的服务拓扑分析方法处理的实时调用数据流,可以获得最新的调用数据从而生成实时的服务拓扑图,帮助技术人员了解最新的***情况。
本发明的一种分布式***的服务拓扑分析方法通过使用时序数据存储调用数据,我们可以访问任意时间节点的调用数据,从而可以展示任意时间范围的服务拓扑图,也支持对拓扑数据做进一步筛选,从而展示更小范围的拓扑图。
附图说明:
图1本发明实施例一种分布式***的服务拓扑分析方法的流程图一;
图2本发明实施例一种分布式***的服务拓扑分析方法的服务拓扑图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
因此,以下对本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的部分实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征和技术方案可以相互组合。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,这类术语仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
参见图1所示,本实施例的一种分布式***的服务拓扑分析方法,包括:
采集服务调用过程中的通信数据;
所述通信数据以实时数据流的方式在各个服务间进行传递;
通过实时数据流获取各个服务调用的实时数据,并采用时序数据的方式进行存储;
获取所需查询时间段内所有时序数据,通过计算获得各个服务的拓扑数据。
数据流是一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。实时数据流一直保持运行状态实时的抽取数据源的数据,并在毫秒/秒级别写入存储引擎,在数据使用以及传输上达到实时效果。
时序数据是指时间序列数据。是按时间顺序记录的数据列,在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以时点数。
时序数据具有以下特点:
(1)数据是时序的,一定带有时间戳:联网的设备按照设定的周期,或受外部事件的触发,源源不断地产生数据,每个数据点是在哪个时间点产生的,这个时间对于数据的计算和分析十分重要,必须要记录。
(2)数据是结构化的:网络爬虫的数据、微博、微信的海量数据都是非结构化的,可以是文字、图片、视频等。但物联网设备产生的数据往往是结构化的,而且是数值型的,比如智能电表采集的电流、电压就可以用4字节的标准的浮点数来表示。
(3)数据极少有更新操作:联网设备产生的数据是机器日志数据,一般不容许而且也没有修改的必要。很少有场景,需要对采集的原始数据进行修改。但对于一个典型的信息化或互联网应用,记录是一定可以修改或删除的。
(4)数据源是唯一的:一个物联网设备采集的数据与另外一个设备采集的数据是完全独立的。一台设备的数据一定是这台设备产生的,不可能是人工或其他设备产生的,也就是说一台设备的数据只有一个生产者,数据源是唯一的。
(5)相对互联网应用,写多读少:对于互联网应用,一条数据记录,往往是一次写,很多次读。比如一条微博或一篇微信公众号文章,一次写,但有可能会有上百万人读。但物联网设备产生的数据不一样,对于产生的数据,一般是计算、分析程序自动读,而且计算、分析次数不多,只有分析事故等场景,人才会主动看原始数据。
(6)用户关注的是一段时间的趋势:对于一条银行记录,或者一条微博、微信,对于它的用户而言,每一条都很重要。但对于物联网数据,每个数据点与数据点的变化并不大,一般是渐变的,大家关心的更多是一段时间,比如过去5分钟,过去1小时数据变化的趋势,一般对某一特定时间点的数据值并不关注。
(7)数据是有保留期限的:采集的数据一般都有基于时长的保留策略,比如仅仅保留一天、一周、一个月、一年甚至更长时间,为节省存储空间,***最好能自动删除。
(8)数据的查询分析往往是基于时间段和某一组设备的:对于物联网数据,在做计算和分析时,一定是指定时间范围的,不会只针对一个时间点或者整个历史进行。而且往往需要根据分析的维度,对物联网设备的一个子集采集的数据进行分析,比如某个地理区域的设备,某个型号、某个批次的设备,某个厂商的设备,等等。
(9)除存储查询外,往往需要实时分析计算操作:对于大部分互联网大数据应用,更多的是离线分析,即使有实时分析,但实时分析的要求并不高。比如用户画像,可以在积累一定的用户行为数据后进行。但是对于物联网应用,对数据的实时计算要求往往很高,因为需要根据计算结果进行实时报警,以避免事故的发生。
(10)流量平稳、可预测:给定物联网数量、数据采集频次,就可以较为准确地估算出所需要的带宽和流量、每天新生成的数据大小。
(11)数据处理的特殊性:与典型的互联网相比,还有不一样的数据处理需求。比如要检查某个具体时间的设备采集的某个量,但传感器实际采集的时间不是这个时间点,这时往往需要做插值处理。还有很多场景需要基于采集量进行复杂的数学函数计算。
(12)数据量巨大:以智能电表为例,一台智能电表每隔15分钟采集一次数据,每天自动生成96条记录,全国就有接近5亿台智能电表,每天生成近500亿条记录。一台联网的汽车每隔10到15秒就采集一次数据发送到云端,一台汽车一天就很容易产生1000条记录。如果中国2亿辆车全部联网,那么每天将产生2000亿条记录。5年之内,物联网设备产生的数据将占世界数据总量的90%以上。
本实施例的一种分布式***的服务拓扑分析方法处理的实时调用数据流,可以获得最新的调用数据从而生成实时的服务拓扑图,帮助技术人员了解最新的***情况。
本实施例的一种分布式***的服务拓扑分析方法通过使用时序数据存储调用数据,我们可以访问任意时间节点的调用数据,从而可以展示任意时间范围的服务拓扑图,也支持对拓扑数据做进一步筛选,从而展示更小范围的拓扑图。
作为本实施例的可选实施方式,本实施例所述的一种分布式***的服务拓扑分析方法,所述采用时序数据的方式进行存储包括:
以时间戳为横轴,以服务Fi(i=1,2,3,...)到Fj(j=1,2,3,...)的调用次数和/或调用耗时为竖轴;
每隔设定时间间隔T选取一个时间戳坐标点,获取设定时间间隔T对应的实时数据,计算服务Fi到Fj的调用次数和/或调用耗时,并记录在Fi到Fj的坐标系上对应的坐标点上。
对于采集到的数据我们采用时序数据的方式进行存储,如图2所示,我们每隔一段时间取一个时间戳为横坐标,在竖轴上我们可以将这个时间段内的FA服务到FB服务的总调用次数记录上去。同样的我们可以再加一个点,将FA服务到FB服务的总调用耗时记录上去。如此,我们每过一段时间就打一个点,同口径的一系列数据就是一串时序数据。依次发散而来,我们就可以将FB服务调用FC服务,FC服务调用FD服务的数据按时序的形式存储下来。
进一步地,本实施例所述的一种分布式***的服务拓扑分析方法,对应服务Fi到Fj的调用关系分别建立坐标系,各个坐标系的横轴和竖轴均具有相同的数据口径。口径=一种标准/规则,如对于数据仓库来说,数据口径指的就是某些字段的取数标准,比如某个字段来源或者计算方式应该一致,那么这就是标准;对于指标来说,口径就是它这个指标的计算逻辑,即计算标准。
本实施例的分布式***的服务拓扑分析方法可以实现服务的实时拓扑数据分析,也可以实现针对服务的历时拓扑数据分析,具体实现方式如下:
本实施例所述的一种分布式***的服务拓扑分析方法,获取各个服务在坐标系上最新设定时间间隔T内的所有时序数据的坐标点,分别统计计算各个服务的时序数据,得到各个服务实时的拓扑数据。
本实施例所述的一种分布式***的服务拓扑分析方法,设置需要查询的历史时间间隔,获取各个服务在坐标系上历史时间间隔内的所有时序数据的坐标点,分别统计计算各个服务的时序数据,得到各个服务历史任一时间间隔的拓扑数据。
具体地,本实施例所述的一种分布式***的服务拓扑分析方法中,各个服务的拓扑数据包括:通过计算获得各服务间调用次数,和/或每秒查询率,和/或平均耗时。本实施例处理端会通过实时数据流来拿到实时数据,之后解析数据以获得请求发起端、请求接收端、请求的发起时间、请求耗时、请求属性等各种信息。
因此,在我们需要获取实时拓扑信息时,则获取对应时间段内的所有时序数据的点,通过计算可以获得各服务间调用次数、每秒查询率QPS、平均耗时等数据。这样我们就可以查看到实时的拓扑数据,同时也支持查看历史上任一时间的拓扑数据。
进一步地,作为本实施例的可选实施方式,本实施例所述的一种分布式***的服务拓扑分析方法,针对存储的每条时间序列数据编制倒排索引,通过倒排索引筛选服务展示的拓扑信息参数,按照筛选服务展示的拓扑信息参数生成拓扑图进行展示。
可选地,所述倒排索引的维度包括服务名称,业务线,服务类型。
针对每条时间序列数据编制倒排索引,倒排索引的维度可以是服务名称、业务线、服务类型。通过倒排索引,我们可以对拓扑数据做进一步细化地展示,例如只展示某个服务的拓补图或者某条业务线上服务的拓补图,更灵活的展示方式可以更好地满足开发人员的需求。
作为本实施例的可选实施方式,本实施例所述的一种分布式***的服务拓扑分析方法,所述采集服务调用过程中的通信数据包括:通过在服务中埋点的方式进行通信数据采集,所述埋点支持对http,mysq l,red i s,rpc协议的数据采集。
埋点,也有称打点,顾名思义就是借助埋点(写代码)来采集数据,在需要监测用户行为数据的地方加上一段代码。我们可以称之为Capture模式,通过在客户端/服务端埋下确定的点,采集相关数据到云端,最终在云端做呈现。经过数据校验后的埋点数据非常准确,稳定性高,适合监控和分析,对于非探索式分析来说是一个非常行之有效的方法;且埋点往往可以添加较多的业务属性,方便产品经理对事件进行业务属性拆解和下钻分析,能很好地从业务逻辑切入行为分析,理解行为背后的业务思路。
本实施例同时提供一种分布式***的服务拓扑分析装置,包括:
数据采集模块,采集服务调用过程中的通信数据;
数据传递模块,以实时数据流的方式在各个服务间传递所述通信数据;
数据存储模块,通过实时数据流获取各个服务调用的实时数据,并采用时序数据的方式进行存储;
以及数据分析模块,获取所需查询时间段内所有时序数据,通过计算获得各个服务的拓扑数据。
数据流是一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。实时数据流一直保持运行状态实时的抽取数据源的数据,并在毫秒/秒级别写入存储引擎,在数据使用以及传输上达到实时效果。
时序数据是指时间序列数据。是按时间顺序记录的数据列,在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以时点数。
时序数据具有以下特点:
(1)数据是时序的,一定带有时间戳:联网的设备按照设定的周期,或受外部事件的触发,源源不断地产生数据,每个数据点是在哪个时间点产生的,这个时间对于数据的计算和分析十分重要,必须要记录。
(2)数据是结构化的:网络爬虫的数据、微博、微信的海量数据都是非结构化的,可以是文字、图片、视频等。但物联网设备产生的数据往往是结构化的,而且是数值型的,比如智能电表采集的电流、电压就可以用4字节的标准的浮点数来表示。
(3)数据极少有更新操作:联网设备产生的数据是机器日志数据,一般不容许而且也没有修改的必要。很少有场景,需要对采集的原始数据进行修改。但对于一个典型的信息化或互联网应用,记录是一定可以修改或删除的。
(4)数据源是唯一的:一个物联网设备采集的数据与另外一个设备采集的数据是完全独立的。一台设备的数据一定是这台设备产生的,不可能是人工或其他设备产生的,也就是说一台设备的数据只有一个生产者,数据源是唯一的。
(5)相对互联网应用,写多读少:对于互联网应用,一条数据记录,往往是一次写,很多次读。比如一条微博或一篇微信公众号文章,一次写,但有可能会有上百万人读。但物联网设备产生的数据不一样,对于产生的数据,一般是计算、分析程序自动读,而且计算、分析次数不多,只有分析事故等场景,人才会主动看原始数据。
(6)用户关注的是一段时间的趋势:对于一条银行记录,或者一条微博、微信,对于它的用户而言,每一条都很重要。但对于物联网数据,每个数据点与数据点的变化并不大,一般是渐变的,大家关心的更多是一段时间,比如过去5分钟,过去1小时数据变化的趋势,一般对某一特定时间点的数据值并不关注。
(7)数据是有保留期限的:采集的数据一般都有基于时长的保留策略,比如仅仅保留一天、一周、一个月、一年甚至更长时间,为节省存储空间,***最好能自动删除。
(8)数据的查询分析往往是基于时间段和某一组设备的:对于物联网数据,在做计算和分析时,一定是指定时间范围的,不会只针对一个时间点或者整个历史进行。而且往往需要根据分析的维度,对物联网设备的一个子集采集的数据进行分析,比如某个地理区域的设备,某个型号、某个批次的设备,某个厂商的设备。等等。
(9)除存储查询外,往往需要实时分析计算操作:对于大部分互联网大数据应用,更多的是离线分析,即使有实时分析,但实时分析的要求并不高。比如用户画像,可以在积累一定的用户行为数据后进行。但是对于物联网应用,对数据的实时计算要求往往很高,因为需要根据计算结果进行实时报警,以避免事故的发生。
(10)流量平稳、可预测:给定物联网数量、数据采集频次,就可以较为准确地估算出所需要的带宽和流量、每天新生成的数据大小。
(11)数据处理的特殊性:与典型的互联网相比,还有不一样的数据处理需求。比如要检查某个具体时间的设备采集的某个量,但传感器实际采集的时间不是这个时间点,这时往往需要做插值处理。还有很多场景需要基于采集量进行复杂的数学函数计算。
(12)数据量巨大:以智能电表为例,一台智能电表每隔15分钟采集一次数据,每天自动生成96条记录,全国就有接近5亿台智能电表,每天生成近500亿条记录。一台联网的汽车每隔10到15秒就采集一次数据发送到云端,一台汽车一天就很容易产生1000条记录。如果中国2亿辆车全部联网,那么每天将产生2000亿条记录。5年之内,物联网设备产生的数据将占世界数据总量的90%以上。
本实施例的一种分布式***的服务拓扑分析装置处理的实时调用数据流,可以获得最新的调用数据从而生成实时的服务拓扑图,帮助技术人员了解最新的***情况。
本实施例的一种分布式***的服务拓扑分析装置通过使用时序数据存储调用数据,我们可以访问任意时间节点的调用数据,从而可以展示任意时间范围的服务拓扑图,也支持对拓扑数据做进一步筛选,从而展示更小范围的拓扑图。
作为本实施例的可选实施方式,本实施例所述的一种分布式***的服务拓扑分析装置,所述数据存储模块采用时序数据的方式进行存储包括:
以时间戳为横轴,以服务Fi(i=1,2,3,...)到Fj(j=1,2,3,...)的调用次数和/或调用耗时为竖轴;
每隔设定时间间隔T选取一个时间戳坐标点,获取设定时间间隔T对应的实时数据,计算服务Fi到Fj的调用次数和/或调用耗时,并记录在Fi到Fj的坐标系上对应的坐标点上。
对于采集到的数据,所述数据存储模块采用时序数据的方式进行存储,如图2所示,我们每隔一段时间取一个时间戳为横坐标,在竖轴上我们可以将这个时间段内的FA服务到FB服务的总调用次数记录上去。同样的我们可以再加一个点,将FA服务到FB服务的总调用耗时记录上去。如此,我们每过一段时间就打一个点,同口径的一系列数据就是一串时序数据。依次发散而来,我们就可以将FB服务调用FC服务,FC服务调用FD服务的数据按时序的形式存储下来。
进一步地,本实施例所述的一种分布式***的服务拓扑分析装置,数据存储模块对应服务Fi到Fj的调用关系分别建立坐标系,各个坐标系的横轴和竖轴均具有相同的数据口径。口径=一种标准/规则,如对于数据仓库来说,数据口径指的就是某些字段的取数标准,比如某个字段来源或者计算方式应该一致,那么这就是标准;对于指标来说,口径就是它这个指标的计算逻辑,即计算标准。
本实施例的分布式***的服务拓扑分析装置可以实现服务的实时拓扑数据分析,也可以实现针对服务的历时拓扑数据分析,具体实现方式如下:
本实施例所述的一种分布式***的服务拓扑分析装置,数据分析模块获取各个服务在坐标系上最新设定时间间隔T内的所有时序数据的坐标点,分别统计计算各个服务的时序数据,得到各个服务实时的拓扑数据。
本实施例所述的一种分布式***的服务拓扑分析装置,设置需要查询的历史时间间隔,数据分析模块获取各个服务在坐标系上历史时间间隔内的所有时序数据的坐标点,分别统计计算各个服务的时序数据,得到各个服务历史任一时间间隔的拓扑数据。
具体地,本实施例所述的一种分布式***的服务拓扑分析装置中,数据分析模块获取各个服务的拓扑数据包括:通过计算获得各服务间调用次数,和/或每秒查询率,和/或平均耗时。本实施例处理端会通过实时数据流来拿到实时数据,之后解析数据以获得请求发起端、请求接收端、请求的发起时间、请求耗时、请求属性等各种信息。
因此,在我们需要获取实时拓扑信息时,则获取对应时间段内的所有时序数据的点,通过计算可以获得各服务间调用次数、每秒查询率QPS、平均耗时等数据。这样我们就可以查看到实时的拓扑数据,同时也支持查看历史上任一时间的拓扑数据。
进一步地,作为本实施例的可选实施方式,本实施例所述的一种分布式***的服务拓扑分析装置,包括索引模块,所述索引模块针对存储的每条时间序列数据编制倒排索引,通过倒排索引筛选服务展示的拓扑信息参数,按照筛选服务展示的拓扑信息参数生成拓扑图进行展示。
可选地,所述倒排索引的维度包括服务名称,业务线,服务类型。
索引模块针对每条时间序列数据编制倒排索引,倒排索引的维度可以是服务名称、业务线、服务类型。通过倒排索引,我们可以对拓扑数据做进一步细化地展示,例如只展示某个服务的拓补图或者某条业务线上服务的拓补图,更灵活的展示方式可以更好地满足开发人员的需求。
作为本实施例的可选实施方式,本实施例所述的一种分布式***的服务拓扑分析装置,所述数据采集模块采集服务调用过程中的通信数据包括:通过在服务中埋点的方式进行通信数据采集,所述埋点支持对http,mysq l,red i s,rpc协议的数据采集。
埋点,也有称打点,顾名思义就是借助埋点(写代码)来采集数据,在需要监测用户行为数据的地方加上一段代码。我们可以称之为Capture模式,通过在客户端/服务端埋下确定的点,采集相关数据到云端,最终在云端做呈现。经过数据校验后的埋点数据非常准确,稳定性高,适合监控和分析,对于非探索式分析来说是一个非常行之有效的方法;且埋点往往可以添加较多的业务属性,方便产品经理对事件进行业务属性拆解和下钻分析,能很好地从业务逻辑切入行为分析,理解行为背后的业务思路。
本实施例还提供一种存储介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现所述的一种分布式***的服务拓扑分析方法。
本实施例所述存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
本实施例还提供了一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行所述一种分布式***的服务拓扑分析方法。
电子设备以通用计算设备的形式表现。其中处理器可以是一个,也可以是多个并且协同工作。本发明也不排除进行分布式处理,即处理器可以分散在不同的实体设备中。本发明的电子设备并不限于单一实体,也可以是多个实体设备的总和。
所述存储器存储有计算机可执行程序,通常是机器可读的代码。所述计算机可读程序可以被所述处理器执行,以使得电子设备能够执行本发明的方法,或者方法中的至少部分步骤。
所述存储器包括易失性存储器,例如随机存取存储单元(RAM)和/或高速缓存存储单元,还可以是非易失性存储器,如只读存储单元(ROM)。
应当理解,本发明的电子设备中还可以包括上述示例中未示出的元件或组件。例如,有些电子设备中还包括有显示屏等显示单元,有些电子设备还包括人机交互元件,例如按扭、键盘等。只要该电子设备能够执行存储器中的计算机可读程序以实现本发明方法或方法的至少部分步骤,均可认为是本发明所涵盖的电子设备。
通过以上对实施方式的描述,本领域的技术人员易于理解,本发明可以由能够执行特定计算机程序的硬件来实现,例如本发明的***,以及***中包含的电子处理单元、服务器、客户端、手机、控制单元、处理器等。本发明也可以由执行本发明的方法的计算机软件来实现,例如由微处理器、电子控制单元,客户端、服务器端等执行的控制软件来实现。但需要说明的是,执行本发明的方法的计算机软件并不限于由一个或特定个的硬件实体中执行,其也可以是由不特定具体硬件的以分布式的方式来实现。对于计算机软件,软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中,也可以分布式存储于网络上,只要其能使得电子设备执行根据本发明的方法。
以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但本发明不局限于上述具体实施方式,因此任何对本发明进行修改或等同替换;而一切不脱离发明的精神和范围的技术方案及其改进,其均涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种分布式***的服务拓扑分析方法,其特征在于,包括:
采集服务调用过程中的通信数据;
所述通信数据以实时数据流的方式在各个服务间进行传递;
通过实时数据流获取各个服务调用的实时数据,并采用时序数据的方式进行存储;
获取所需查询时间段内所有时序数据,通过计算获得各个服务的拓扑数据。
2.根据权利要求1所述的一种分布式***的服务拓扑分析方法,其特征在于,所述采用时序数据的方式进行存储包括:
以时间戳为横轴,以服务Fi(i=1,2,3,...)到Fj(j=1,2,3,...)的调用次数和/或调用耗时为竖轴;
每隔设定时间间隔T选取一个时间戳坐标点,获取设定时间间隔T对应的实时数据,计算服务Fi到Fj的调用次数和/或调用耗时,并记录在Fi到Fj的坐标系上对应的坐标点上。
3.根据权利要求2所述的一种分布式***的服务拓扑分析方法,其特征在于,对应服务Fi到Fj的调用关系分别建立坐标系,各个坐标系的横轴和竖轴均具有相同的数据口径。
4.根据权利要求2所述的一种分布式***的服务拓扑分析方法,其特征在于,获取各个服务在坐标系上最新设定时间间隔T内的所有时序数据的坐标点,分别统计计算各个服务的时序数据,得到各个服务实时的拓扑数据。
5.根据权利要求2所述的一种分布式***的服务拓扑分析方法,其特征在于,设置需要查询的历史时间间隔,获取各个服务在坐标系上历史时间间隔内的所有时序数据的坐标点,分别统计计算各个服务的时序数据,得到各个服务历史任一时间间隔的拓扑数据。
6.根据权利要求4或5所述的一种分布式***的服务拓扑分析方法,其特征在于,各个服务的拓扑数据包括:通过计算获得各服务间调用次数,和/或每秒查询率,和/或平均耗时。
7.根据权利要求1所述的一种分布式***的服务拓扑分析方法,其特征在于,针对存储的每条时间序列数据编制倒排索引,通过倒排索引筛选服务展示的拓扑信息参数,按照筛选服务展示的拓扑信息参数生成拓扑图进行展示;
可选地,所述倒排索引的维度包括服务名称,业务线,服务类型。
8.根据权利要求1所述的一种分布式***的服务拓扑分析方法,其特征在于,所述采集服务调用过程中的通信数据包括:通过在服务中埋点的方式进行通信数据采集,所述埋点支持对http,mysql,redis,rpc协议的数据采集。
9.一种分布式***的服务拓扑分析装置,其特征在于,包括:
数据采集模块,采集服务调用过程中的通信数据;
数据传递模块,以实时数据流的方式在各个服务间传递所述通信数据;
数据存储模块,通过实时数据流获取各个服务调用的实时数据,并采用时序数据的方式进行存储;
以及数据分析模块,获取所需查询时间段内所有时序数据,通过计算获得各个服务的拓扑数据。
10.一种存储介质,存储有计算机可执行程序,其特征在于,所述计算机可执行程序被执行时,实现如权利要求1-8任意一项所述的一种分布式***的服务拓扑分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130180.XA CN114531361A (zh) | 2022-02-11 | 2022-02-11 | 一种分布式***的服务拓扑分析方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130180.XA CN114531361A (zh) | 2022-02-11 | 2022-02-11 | 一种分布式***的服务拓扑分析方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114531361A true CN114531361A (zh) | 2022-05-24 |
Family
ID=81622017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210130180.XA Pending CN114531361A (zh) | 2022-02-11 | 2022-02-11 | 一种分布式***的服务拓扑分析方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114531361A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509869A (zh) * | 2022-08-26 | 2022-12-23 | 国科础石(重庆)软件有限公司 | 服务调用链数据可视化展示的方法、装置以及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740133A (zh) * | 2016-01-29 | 2016-07-06 | 浙江大学 | 一种基于服务调用拓扑的分布式应用性能监控方法 |
CN108322351A (zh) * | 2018-03-05 | 2018-07-24 | 北京奇艺世纪科技有限公司 | 生成拓扑图的方法和装置、故障确定方法和装置 |
CN110730246A (zh) * | 2019-10-23 | 2020-01-24 | 家乡互动(厦门)网络科技有限公司 | 一种微服务架构下的分布式链路跟踪方法 |
CN110932917A (zh) * | 2019-12-24 | 2020-03-27 | 深圳市国电科技通信有限公司 | 一种基于高频同步采集和边缘计算的台区拓扑发现方法 |
-
2022
- 2022-02-11 CN CN202210130180.XA patent/CN114531361A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740133A (zh) * | 2016-01-29 | 2016-07-06 | 浙江大学 | 一种基于服务调用拓扑的分布式应用性能监控方法 |
CN108322351A (zh) * | 2018-03-05 | 2018-07-24 | 北京奇艺世纪科技有限公司 | 生成拓扑图的方法和装置、故障确定方法和装置 |
CN110730246A (zh) * | 2019-10-23 | 2020-01-24 | 家乡互动(厦门)网络科技有限公司 | 一种微服务架构下的分布式链路跟踪方法 |
CN110932917A (zh) * | 2019-12-24 | 2020-03-27 | 深圳市国电科技通信有限公司 | 一种基于高频同步采集和边缘计算的台区拓扑发现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509869A (zh) * | 2022-08-26 | 2022-12-23 | 国科础石(重庆)软件有限公司 | 服务调用链数据可视化展示的方法、装置以及电子设备 |
CN115509869B (zh) * | 2022-08-26 | 2023-10-31 | 国科础石(重庆)软件有限公司 | 服务调用链数据可视化展示的方法、装置以及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391538B (zh) | 点击数据采集、处理和展示方法、装置、设备及存储介质 | |
CN108156006B (zh) | 一种埋点数据上报方法、装置及电子设备 | |
US10664837B2 (en) | Method and system for real-time, load-driven multidimensional and hierarchical classification of monitored transaction executions for visualization and analysis tasks like statistical anomaly detection | |
US20200183946A1 (en) | Anomaly Detection in Big Data Time Series Analysis | |
US20130262035A1 (en) | Updating rollup streams in response to time series of measurement data | |
CN112307057A (zh) | 数据的处理方法及装置、电子设备、计算机存储介质 | |
CN111581054A (zh) | 一种基于elk的日志埋点的业务分析告警***及方法 | |
CN109560989B (zh) | 一种链路监控*** | |
WO2015018226A1 (en) | Method,apparatus,and system for monitoring website | |
CN109254901B (zh) | 一种指标监测方法及*** | |
CN114785690B (zh) | 基于服务网格的监控方法及相关设备 | |
JP2021502658A (ja) | 実行可能論理を用いて構造化データアイテムを処理するためのキーベースのロギング | |
CN112800061B (zh) | 一种数据存储方法、装置、服务器及存储介质 | |
CN115408381A (zh) | 数据处理方法及相关设备 | |
CN114531361A (zh) | 一种分布式***的服务拓扑分析方法、装置及存储介质 | |
CN113641567B (zh) | 一种数据库巡检方法、装置、电子设备及存储介质 | |
CN110266555B (zh) | 用于分析网站服务请求的方法 | |
CN111339062A (zh) | 数据监控方法、装置、电子设备及存储介质 | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
CN111523921B (zh) | 漏斗分析方法、分析设备、电子设备及可读存储介质 | |
CN111459987A (zh) | 一种更新缓存的方法及装置 | |
US12034692B2 (en) | Automatic notification of data changes | |
CN116820874A (zh) | 一种企业级大数据组件及应用监控和告警的方法 | |
CN115277355A (zh) | 一种监控***状态码数据的处理方法、装置、设备及介质 | |
CN110941536A (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 |