CN113094157A - 调用拓扑图的生成方法和装置、存储介质及电子装置 - Google Patents
调用拓扑图的生成方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113094157A CN113094157A CN202110212794.8A CN202110212794A CN113094157A CN 113094157 A CN113094157 A CN 113094157A CN 202110212794 A CN202110212794 A CN 202110212794A CN 113094157 A CN113094157 A CN 113094157A
- Authority
- CN
- China
- Prior art keywords
- service
- calling
- request
- link
- node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000015654 memory Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000003672 processing method Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004378 air conditioning Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了调用拓扑图的生成方法和装置、存储介质及电子装置,该方法包括:接收服务调用请求,其中,服务调用请求中携带有所要调用的服务的服务标识;响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和服务的服务标识生成调用请求对,其中,链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;基于调用请求对生成用于完成服务的调用拓扑图。本申请基于拓扑结构连接调用链路,可以有效解决现有链路追踪技术中出现的数据丢失的问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及调用拓扑图的生成方法和装置、存储介质及电子装置。
背景技术
随着互联网架构的扩张,分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、消息收发、分布式数据库、分布式缓存、分布式对象存储、跨域调用,这些组件共同构成了繁杂的分布式网络。目前拓扑图监测是检测分布式网络的一个重要方法,但是此方法的限制是在一个给定的时间窗口内要分析基于聚合和依赖的客户端和服务端的对应关系。此方法会产生数据的延迟也会使用更多的内存等硬件资源,因为客户端和服务端对应关系中的每一次请求调用都必须在分布式系统中数百万随意发生的请求中进行匹配,如果客户端和服务端之间的请求耗时比先前的时间窗口长,或者跨两个时间窗口这种匹配就会失败,就会造成数据的丢失。在现有生成调用拓扑图技术中,容易出现数据丢失、结果延迟、占用内存过多的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了调用拓扑图的生成方法、装置、存储介质及电子装置,用于解决现有技术中,生成调用拓扑图容易造成数据丢失、结果延迟的问题。
根据本发明实施例的一个方面,提供了一种调用拓扑图的生成方法,包括:接收服务调用请求,其中,上述服务调用请求中携带有所要调用的服务的服务标识;响应上述服务调用请求,根据分布式系统中各个节点中存储的链路日志和上述服务的服务标识生成调用请求对,其中,上述链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;基于上述调用请求对生成用于完成上述服务的调用拓扑图。
可选地,上述响应上述服务调用请求,根据分布式系统中各个节点中存储的链路日志和上述服务的服务标识生成调用请求对包括:将上述分布式系统中各个节点依次作为当前节点:在上述当前节点的链路日志中,获取与上述服务的服务标识对应的当前请求类型;根据上述当前请求类型确定上述当前节点在上述服务调用的过程中的调用角色信息,其中,上述调用角色信息包括:客户端角色信息和服务端角色信息,上述客户端角色信息用于指示发送操作指令,上述服务端角色信息用于指示接收上述操作指令;基于上述调用角色信息生成上述调用请求对。
可选地,上述基于上述调用请求对生成用于完成上述服务的调用拓扑图包括:确定上述调用请求对之间的拓扑链接点,及上述拓扑链接点之间的联通方向;根据上述拓扑链接点和上述联通方向,连接上述调用请求对,以生成上述调用拓扑图。
可选地,上述确定上述调用请求对之间的拓扑链接点包括:在节点名相同的情况下,确定上述调用请求对中节点名相同的上述节点为上述拓扑链接点。
可选地,上述确定上述调用请求对之间的联通方向包括:在各个上述拓扑链接点中,将服务端指向客户端的方向确定为上述拓扑连接点的联通方向。
可选地,在上述基于上述调用请求对生成用于完成上述服务的调用拓扑图之后,还包括:根据上述调用拓扑图确定上述各个节点对应的调用优先级;按照上述各个节点的调用优先级串联节点,以生成调用链路,其中,上述调用链路用于实时展示上述服务完成的情况。
根据本发明实施例的又一方面,一种调用拓扑图的生成装置,用于上述的方法,包括:接收单元,用于接收服务调用请求,其中,上述服务调用请求中携带有所要调用的服务的服务标识;处理单元,响应上述服务调用请求,根据分布式系统中各个节点中存储的链路日志和上述服务的服务标识生成调用请求对,其中,上述链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;生成单元,基于上述调用请求对生成用于完成上述服务的调用拓扑图。
根据本发明实施例的又一方面,本发明提供一种存储介质,上述存储介质中存储有计算机程序,其中,上述计算机程序被设置为运行时执行上述的方法。
根据本发明实施例的又一方面,本发明还提供一种电子装置,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行上述的方法。
在本发明实施例中,本发明公开了基于拓扑图的调用拓扑图和装置、存储介质及电子装置,该位置识别方法包括:接收服务调用请求,其中,上述服务调用请求中携带有所要调用的服务的服务标识;响应上述服务调用请求,根据分布式系统中各个节点中存储的链路日志和上述服务的服务标识生成调用请求对,其中,上述链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;基于上述调用请求对生成用于完成上述服务的调用拓扑图。
本发明基于拓扑结构连接调用链路,可以有效解决现有生成调用拓扑图技术中,容易出现数据丢失、结果延迟、占用内存过多的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的调用拓扑图的应用环境的示意图;
图2是根据本发明实施例的一种可选的调用拓扑图的流程示意图;
图3是根据本发明实施例的另一种可选的调用拓扑图的示意图;
图4是根据本发明实施例的另一种可选的调用拓扑图的流程示意图;
图5是根据本发明实施例的另一种可选的调用拓扑图的场景示意图;
图6是根据本发明实施例的一种可选的调用拓扑图的生成装置的示意图;
图7是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种数据处理方法,可选地,作为一种可选的实施方式,上述数据处理方法可以但不限于应用于如图1所示的环境中。其中,可以但不限于包括用户设备102、网络110、服务器112及目标缓存系统118,其中,该用户设备102上可以但不限于包括显示器108、处理器106及存储器104。
可选地,在本实施例中,图1可以是用户开启智能家居的应用场景,用户设备102可以是手机、遥控器等可以发送指令的客户端,网络110可以是蓝牙信号或WIFI信号,服务器112可以是空调、扫地机器人等用于执行用户设备102指令的智能家居,服务器112还包括处理指令的设备处理引擎116和存储有链路日志的114。上述仅是一种示例,本实施例中对此不作任何限定。
具体过程可如下步骤:
步骤S102:获取用户设备102在用户界面上触发的操作任务指令;
步骤S104-S106,用户设备102通过网络110将操作业务指令发送给服务器112;
步骤S108,处理引擎116定义分布式系统中各个节点的服务标识,记录服务标识对应的服务调用请求,并接收服务调用请求;
步骤S110:响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和目标服务的服务标识生成调用请求对,其中,链路日志中存储有预先写入的服务标识和历史请求类型的对应关系。
步骤S112,按照服务调用请求各个设备执行对应操作。
步骤S114-S116,服务器112通过网络110将生成的调用拓扑图存入目标缓存系统。
可选地,作为一种可选的实施方式,如图2所示,一种基于拓扑图的调用拓扑图包括:
S202:接收服务调用请求,其中,服务调用请求中携带有所要调用的服务的服务标识;
S204:响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和服务的服务标识生成调用请求对,其中,链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;
S206:基于调用请求对生成用于完成服务的调用拓扑图。
可选地,步骤S204中,响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和服务的服务标识生成调用请求对包括:将分布式系统中各个节点依次作为当前节点:在当前节点的链路日志中,获取与服务的服务标识对应的当前请求类型;根据当前请求类型确定当前节点在服务被调用的过程中的调用角色信息,其中,调用角色信息包括:客户端角色信息和服务端角色信息,客户端角色信息用于指示发送操作指令,服务端角色信息用于指示接收操作指令;基于调用角色信息生成调用请求对。
可选地,步骤S206包括:确定调用请求对之间的拓扑链接点,及拓扑链接点之间的联通方向;根据拓扑链接点和联通方向,连接调用请求对,以生成调用拓扑图。
在本实施例中,在节点名相同的情况下,确定调用请求对中节点名相同的节点为拓扑链接点。在节点同时具有客户端角色信息和服务端角色信息的情况下,确定节点为拓扑链接点。在各个拓扑链接点中,将服务端指向客户端的方向确定为拓扑连接点的联通方向。
在本实施例中,在节点名相同的情况下,确定调用请求对中节点名相同的节点为拓扑链接点。在节点同时具有相同的调用角色信息的情况下,确定节点为拓扑链接点。查找调用请求对之间的完成时间,在各个拓扑链接点中,将后完成的节点指向先完成节点的方向确定为拓扑连接点的联通方向。
可选地,在基于调用请求对生成用于完成服务的调用拓扑图之后,还包括:根据调用拓扑图确定各个节点对应的调用优先级;按照各个节点的调用优先级串联节点,以生成调用链路,其中,调用链路用于实时展示服务完成的情况。
进一步举例说明,可选的例如图3所示,分布式系统中包括分布式系统中的服务标识302、服务标识302对应的服务调用请求304、服务标识302和服务调用请求304生成的调用请求对306、调用请求对306之间生成的拓扑结构308。步骤S302:根据链路日志,将节点对应的服务标识302和服务标识对应的服务调用请求304存入目标存储系统304;步骤S304:服务标识S306和服务调用请求304生成服务调用请求对306;步骤S306:根据服务调用请求对306生成调用拓扑图;步骤S308:在目标任务完成的情况下,基于调用拓扑图生成调用链路;S310:目标存储系统304生成调用拓扑和调用链路传送到目标缓存系统306中。
在本实施例中,根据服务标识,获取服务调用请求,包括:对调用拓扑结构进行静态分析,获取服务调用请求对;根据服务调用请求对和服务调用请求对携带的服务标识,获取服务端和服务端对应的服务调用请求;服务端响应服务调用请求,完成目标服务。
可选地,在本实施例中,上述调用拓扑图可以但不限于记录分布式系统调用情况的场景,具体地接收服务调用请求,其中,服务调用请求中携带有所要调用的目标服务的服务标识;响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和目标服务的服务标识生成调用链路,其中,链路日志中存储有预先写入的服务标识;按照调用链路调用各个设备执行对应操作。同时,还可以根据该调用拓扑图,实施监控各链路完成任务的情况,由于各链路之间靠拓扑结构串联,各链路完成情况互不打扰,增大了分布式系统调用链路的抗风险能力。
可选的,在本实施例中,目标缓存系统可以但不限于为一个独立的KV(key/value)结构的缓存系统,例如redis、memcache等,以redis为例说明,redis可以但不限于提供基本的数据结构:String:字符串,Hash:散列,List:列表,Set:集合,Sorted Set:有序集合,Redis Sorted Set api支持应用程序快速的有序读取最新一条数据,根据score查询一段时间数据,删除一段时间,新增数据自动根据score排序等操作。
在现有的分布式系统采用的拓扑监控中,选取时间窗口计算,要求系统在时间窗口内,在数量巨大的链路数据中查找到对应的客户端和服务端的请求日志,再在根据请求端对应的客户端和服务端对应的应用节点在分布式系统中的位置串联起来,形成完整的调用链路和分布式系统的调用拓扑图。由于时间窗口对应的时间有限,在复杂的分布式系统中,在时间窗口的时间内,难以完成查找对应的客户端和服务端之间的请求日志;这样就容易造成数据损失,但增加时间窗口的长度,又需要更多的链路,会不可避免地造成数据的延迟。
因此在现有拓扑图调用分布式系统方法中,容易出现数据损失或数据延迟的情况,急需改进。
针对现有技术存在的缺点,上链路追踪方法的执行可选的基于图4所示场景,继续例如图4所示,以用户使用手机APP打开智能门锁并执行回家打开空调场景的为例,包括S402-S408步骤,具体地:
S402:用户使用手机APP打开智能门锁,手机APP先请求用户中心服务,校验用户的登录信息;
S404:登录校验通过后,手机APP向设备中心发起服务调用请求,查询用户正在使用的智能门锁,执行开锁操作;
S406:开锁完成后,智能门锁向场景中心发送执行场景需求,触发回家场景,场景中心根据预先场景设定,向调用设备中心发出打开空调的指令;
S408:空调接收设备中心调用指令,打开空调的预设模式。
对于链路S402-S408进程中,在步骤S402中,节点包括手机APP、设备中心;在步骤S404中,节点包括手机APP、设备中心、智能门锁;在步骤S406中,节点包括智能门锁、场景中心、设备中心;在步骤S408中,节点包括设备中心和空调。
在现有技术中,在运行步骤S402时,在时间窗口内,遍历所有的节点,找到手机APP和设备中心,建立手机APP和设备中心之间的服务调用请求;在步骤S404中,在时间窗口内,遍历所有节点,找到手机APP、设备中心和服务端三个服务点,建立三个服务点之遍历间的服务调用请求;在步骤S406中,遍历所有节点,找到智能门锁、场景中心、设备中心几个节点,建立三个服务点之间的服务调用请求;在步骤S408中,遍历所有节点,找到设备中心、空调中心,建立服务点之间的服务调用请求。根据服务调用请求,生成链路之间的链路日志,根据上述服务调用请求的建立可知,建立服务调用请求之间,需要在时间窗口内找到节点,然后查找他们之间的服务调用请求。但对于复杂的服务调用请求,难以在有限的时间窗口内找到匹配值,如果不能在有限时间窗口内找到匹配值,就会造成数据缺失;如果增大时间窗口的时间长,又会增加系统的运行负担,同时链路日志生成的时间过长,不能对链路状态实现实时展示。
可选地,在本发明的实施例中,在图4的应用场景中,应用本发明的应用场景,对于链路S402-S408进程中,首先对节点进行服务标识的定义,在步骤S402中,包括客户端APP、服务端设备中心;在步骤S404中,包括手机APP和服务端设备中心、客户端设备中心和服务端智能门锁;在步骤S406中,包括客户端智能门锁和服务端场景中心、客户端场景中心和服务端设备中心;在步骤S408中,包括客户端设备中心和服务端空调中心。
具体地,结合图5和图4说明。图5为在图4的应用场景下生成的调用拓扑图,在图5中,节点用方框表示,节点名写在方框中,线条表示节点之间的拓扑链接,线条的箭头表示链路链接方向,S502到S512表示服务调用请求,D1至D6表示根据服务调用请求生成的调用请求对,步骤S402至步骤S408用虚线隔开,步骤S402包括服务调用请求S502和服务调用请求S504;步骤S404在步骤S402上增加服务调用请求S504;步骤S406在步骤S404上增加服务调用请求S508和服务调用请求S510;步骤S408在步骤S406的基础上增加了服务调用请求S512;实现步骤S402至S408的服务调用请求,服务调用请求S502至S512,具体包括:
S502:客户端手机APP向服务端用户中心发送用户信息校验请求;
S504:在用户信息校验通过后,客户端用户APP向服务端设备中心发送查询智能锁信息;
S506:在查询到智能锁信息后,客户端设备中心向服务端智能锁发送打开智能锁的指令。
S508:在智能锁打开的情况下,客户端智能锁向服务端场景中心发送执行场景需求的指令。
S510:在场景中心响应客户中心的情况下,客户端场景中心向设备中心发送打开空调指令;
S512:在设备中心响应空调指令的情况下。
在步骤S502-步骤S510中,在步骤完成的情况下,选取当前步骤与上次步骤相同的节点,基于拓扑结构的情况,相同节点对应的调用链路串联。
具体地,在图5步骤S402中,在S502完成的情况下,手机APP和设备中心之间生成调用请求对D1;在S504完成的情况下,手机APP和设备中心生成调用请求对D2,D1和D2具有相同的节点,因此D1和D2拓扑链接点是手机APP和设备中心。
具体的,在图5步骤S404中,在步骤S506完成的情况下,智能门锁和设备中心之间生成调用请求对D3;找出D3与D1和D2节点名相同的节点即设备中心,在D1和D2中节点设备中心的调用角色为服务端,在D3中节点设备中心为客户端。因此在D1和D3的拓扑链接点是设备中心,联通方向是D1到D3;D2和D3的拓扑链接点是设备中心,联通方向是D1到D3。
具体地,在图5步骤S406中,在S508完成的情况下,生成调用请求对D4,D4和D3节点名相同的节点是智能门锁,由于在D3中节点智能门锁是服务端,在D4中节点智能门锁是客户端,所以在智能门锁的节点处,拓扑联通方向是D3的D4。在S510完成的情况下,S510生成调用请求对D5,D5和D1、D2、D3中节点名相同的节点是场景中心,D5通过场景中心与D1、D2、D3相连,由于在D1、D2和D5中场景中心表示服务端,在D3中设备中心表示客户端,根据调用关系对的优先级,联通方向是D5到D1和D2、D3。
具体地,在图5步骤S408中,在S512完成的情况下生成服务调用对D6,D6与D1、D2、D3、D5的共同节点是设备中心,由于在D1、D2和D5中场景中心表示服务端,在D3和D6中设备中心表示客户端,根据调用关系对的优先级,联通方向是D5到D1和D2、D3。
通过完成客户端与用户端调用的情况下,将相同节点之间拓扑串联,可以直观展示各个链路之间的完成情况,同时下个链路未完成的情况下,不影响上个链路的展示。
根据本发明实施例的另一个方面,还提供了一种用于实施上述链路追踪方法的链路追踪装置。如图6所示,该装置包括:
接收单元602,接收服务调用请求,其中,服务调用请求中携带有所要调用的服务的服务标识;
处理单元604,响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和服务的服务标识生成调用请求对,其中,链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;
生成单元606,基于调用请求对生成用于完成服务的调用拓扑图。
可选地,在本实施例中,上述系统调用装置可以但不限于记录分布式系统调用情况的场景,具体地接收服务调用请求,其中,服务调用请求中携带有所要调用的目标服务的服务标识;响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和目标服务的服务标识生成调用链路,其中,链路日志中存储有预先写入的服务标识;按照调用链路调用各个设备执行对应操作。同时,还可以根据该调用拓扑图,实施监控各链路完成任务的情况,由于各链路之间靠拓扑结构串联,各链路完成情况互不打扰,增大了分布式系统调用链路的抗风险能力。
在现有的分布式系统采用的拓扑监控中,选取时间窗口计算,要求系统在时间窗口内,在数量巨大的链路数据中查找到对应的客户端和服务端的请求日志,再在根据请求端对应的客户端和服务端对应的应用节点在分布式系统中的位置串联起来,形成完整的调用链路和分布式系统的调用拓扑图。由于时间窗口对应的时间有限,在复杂的分布式系统中,在时间窗口的时间内,难以完成查找对应的客户端和服务端之间的请求日志;这样就容易造成数据损失,但增加时间窗口的长度,又需要更多的链路,会不可避免地造成数据的延迟。
因此在现有拓扑图调用分布式系统方法中,容易出现数据损失或数据延迟的情况,急需改进。
具体实施例可以参考上述数据处理方法中所示示例,本示例中在此不再赘述。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据处理方法的电子装置,如图7所示,该电子装置包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1:接收服务调用请求,其中,服务调用请求中携带有所要调用的服务的服务标识;
S2:响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和服务的服务标识生成调用请求对,其中,链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;
S3:基于调用请求对生成用于完成服务的调用拓扑图。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口等),或者具有与图7所示不同的配置。
其中,存储器702可用于存储软件程序以及单元,如本发明实施例中的数据处理方法和装置对应的程序指令/单元,处理器704通过运行存储在存储器702内的软件程序以及单元,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702具体可以但不限于用于存储目标状态数据、存储状态数据以及目标上报时间戳等信息。作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述数据处理装置中的接收单元602、处理单元604、生成单元606。此外,还可以包括但不限于上述数据处理装置中的其他单元,本示例中不再赘述。
可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(Radio Frequency,RF)单元,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器708,用于显示上述目标状态数据、存储状态数据以及目标上报时间戳等信息;和连接总线710,用于连接上述电子装置中的各个单元部件。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1:接收服务调用请求,其中,服务调用请求中携带有所要调用的目标服务的服务标识;
S2:响应服务调用请求,根据分布式系统中各个节点中存储的链路日志和服务的服务标识生成调用请求对,其中,链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;
S3:基于调用请求对生成用于完成服务的调用拓扑图。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上上述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种调用拓扑图的生成方法,其特征在于,包括:
接收服务调用请求,其中,所述服务调用请求中携带有所要调用的服务的服务标识;
响应所述服务调用请求,根据分布式系统中各个节点中存储的链路日志和所述服务的服务标识生成调用请求对,其中,所述链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;
基于所述调用请求对生成用于完成所述服务的调用拓扑图。
2.根据权利要求1所述的方法,其特征在于,所述响应所述服务调用请求,根据分布式系统中各个节点中存储的链路日志和所述服务的服务标识生成调用请求对包括:
将所述分布式系统中各个节点依次作为当前节点:
在所述当前节点的链路日志中,获取与所述服务的服务标识对应的当前请求类型;
根据所述当前请求类型确定所述当前节点在所述服务调用的过程中的调用角色信息,其中,所述调用角色信息包括:客户端角色信息和服务端角色信息,所述客户端角色信息用于指示发送操作指令,所述服务端角色信息用于指示接收所述操作指令;
基于所述调用角色信息生成所述调用请求对。
3.根据权利要求1所述的方法,其特征在于,所述基于所述调用请求对生成用于完成所述服务的调用拓扑图包括:
确定所述调用请求对之间的拓扑链接点,及所述拓扑链接点之间的联通方向;
根据所述拓扑链接点和所述联通方向,连接所述调用请求对,以生成所述调用拓扑图。
4.跟据权利要求3所述的方法,其特征在于,所述确定所述调用请求对之间的拓扑链接点包括:
在节点名相同的情况下,确定所述调用请求对中节点名相同的所述节点为所述拓扑链接点。
5.根据权利要求4所述的方法,其特征在于,所述确定所述调用请求对之间的拓扑链接点还包括:
在所述节点同时具有所述客户端角色信息和所述服务端角色信息的情况下,确定所述节点为所述拓扑链接点。
6.根据权利要求3所述的方法,其特征在于,所述确定所述调用请求对之间的联通方向包括:
在各个所述拓扑链接点中,将服务端指向客户端的方向确定为所述拓扑连接点的联通方向。
7.根据权利要求1所述的方法,其特征在于,在所述基于所述调用请求对生成用于完成所述服务的调用拓扑图之后,还包括:
根据所述调用拓扑图确定所述各个节点对应的调用优先级;
按照所述各个节点的调用优先级串联节点,以生成调用链路,其中,所述调用链路用于实时展示所述服务完成的情况。
8.一种调用拓扑图的生成装置,用于执行如权利要求1至7任一项所述的方法,其特征在于,包括:
接收单元,用于接收服务调用请求,其中,所述服务调用请求中携带有所要调用的服务的服务标识;
处理单元,响应所述服务调用请求,根据分布式系统中各个节点中存储的链路日志和所述服务的服务标识生成调用请求对,其中,所述链路日志中存储有预先写入的服务标识和历史请求类型的对应关系;
生成单元,基于所述调用请求对生成用于完成所述服务的调用拓扑图。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212794.8A CN113094157A (zh) | 2021-02-25 | 2021-02-25 | 调用拓扑图的生成方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212794.8A CN113094157A (zh) | 2021-02-25 | 2021-02-25 | 调用拓扑图的生成方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113094157A true CN113094157A (zh) | 2021-07-09 |
Family
ID=76667717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110212794.8A Pending CN113094157A (zh) | 2021-02-25 | 2021-02-25 | 调用拓扑图的生成方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094157A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629768A (zh) * | 2022-02-17 | 2022-06-14 | 亚信科技(南京)有限公司 | 应用拓扑的处理方法、装置、电子设备、存储介质及产品 |
CN117742900A (zh) * | 2024-02-05 | 2024-03-22 | 北京优特捷信息技术有限公司 | 一种服务调用图的构造方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105207806A (zh) * | 2015-08-20 | 2015-12-30 | 百度在线网络技术(北京)有限公司 | 分布式服务的监控方法及装置 |
CN107729210A (zh) * | 2017-09-29 | 2018-02-23 | 百度在线网络技术(北京)有限公司 | 分布式服务集群的异常诊断方法和装置 |
US20180253350A1 (en) * | 2015-11-03 | 2018-09-06 | Alibaba Group Holding Limited | Monitoring node usage in a distributed system |
CN109271359A (zh) * | 2018-11-20 | 2019-01-25 | 北京千丁互联科技有限公司 | 日志信息处理方法、装置、电子设备及可读存储介质 |
CN110442641A (zh) * | 2019-08-06 | 2019-11-12 | 中国工商银行股份有限公司 | 一种链路拓扑图展示方法、装置、存储介质及设备 |
CN110719203A (zh) * | 2019-10-12 | 2020-01-21 | 腾讯云计算(北京)有限责任公司 | 智能家居设备的操作控制方法、装置、设备及存储介质 |
US20200162337A1 (en) * | 2018-11-16 | 2020-05-21 | Cisco Technology, Inc. | Algorithmic problem identification and resolution in fabric networks by software defined operations, administration, and maintenance |
CN111858248A (zh) * | 2020-07-20 | 2020-10-30 | 北京百度网讯科技有限公司 | 应用监控方法、装置、设备以及存储介质 |
CN112363855A (zh) * | 2020-11-13 | 2021-02-12 | 北京基调网络股份有限公司 | 调用链数据生成方法、拓扑生成方法及系统和计算机设备 |
-
2021
- 2021-02-25 CN CN202110212794.8A patent/CN113094157A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105207806A (zh) * | 2015-08-20 | 2015-12-30 | 百度在线网络技术(北京)有限公司 | 分布式服务的监控方法及装置 |
US20180253350A1 (en) * | 2015-11-03 | 2018-09-06 | Alibaba Group Holding Limited | Monitoring node usage in a distributed system |
CN107729210A (zh) * | 2017-09-29 | 2018-02-23 | 百度在线网络技术(北京)有限公司 | 分布式服务集群的异常诊断方法和装置 |
US20200162337A1 (en) * | 2018-11-16 | 2020-05-21 | Cisco Technology, Inc. | Algorithmic problem identification and resolution in fabric networks by software defined operations, administration, and maintenance |
CN109271359A (zh) * | 2018-11-20 | 2019-01-25 | 北京千丁互联科技有限公司 | 日志信息处理方法、装置、电子设备及可读存储介质 |
CN110442641A (zh) * | 2019-08-06 | 2019-11-12 | 中国工商银行股份有限公司 | 一种链路拓扑图展示方法、装置、存储介质及设备 |
CN110719203A (zh) * | 2019-10-12 | 2020-01-21 | 腾讯云计算(北京)有限责任公司 | 智能家居设备的操作控制方法、装置、设备及存储介质 |
CN111858248A (zh) * | 2020-07-20 | 2020-10-30 | 北京百度网讯科技有限公司 | 应用监控方法、装置、设备以及存储介质 |
CN112363855A (zh) * | 2020-11-13 | 2021-02-12 | 北京基调网络股份有限公司 | 调用链数据生成方法、拓扑生成方法及系统和计算机设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629768A (zh) * | 2022-02-17 | 2022-06-14 | 亚信科技(南京)有限公司 | 应用拓扑的处理方法、装置、电子设备、存储介质及产品 |
CN117742900A (zh) * | 2024-02-05 | 2024-03-22 | 北京优特捷信息技术有限公司 | 一种服务调用图的构造方法、装置、设备及存储介质 |
CN117742900B (zh) * | 2024-02-05 | 2024-05-14 | 北京优特捷信息技术有限公司 | 一种服务调用图的构造方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112738805B (zh) | 设备控制方法和装置、存储介质及电子设备 | |
US9930632B2 (en) | M2M application remote registration method, device, system and storage medium | |
US20070066280A1 (en) | Connection management system, method and program | |
CN100433645C (zh) | 网络设备的管理方法及网络管理系统 | |
CN113094157A (zh) | 调用拓扑图的生成方法和装置、存储介质及电子装置 | |
CN112737856B (zh) | 链路追踪方法和装置、存储介质及电子装置 | |
CN109284140B (zh) | 配置方法及相关设备 | |
CN112671887B (zh) | 一种资产识别方法、装置、电子设备及计算机存储介质 | |
CN107396423A (zh) | 网络接入方法和装置、存储介质及电子装置 | |
CN112711612A (zh) | 数据处理方法、装置和存储介质及电子装置 | |
CN111585786A (zh) | 一种大数据集群免密搭建方法的实现 | |
CN106453349A (zh) | 账号登录方法及装置 | |
CN105100002A (zh) | 属性的操作方法及装置 | |
CN105872059B (zh) | 一种远程执行方法及装置 | |
CN110198227B (zh) | 日志文件的处理方法、装置、存储介质及电子装置 | |
CN112738019B (zh) | 设备信息的显示方法、装置、存储介质以及电子装置 | |
CN112087327B (zh) | 信息状态获取方法和装置、存储介质和电子装置 | |
CN112035720A (zh) | 事件提醒的触发方法和装置、存储介质及电子设备 | |
CN106559259A (zh) | 设备异常行为告警方法及装置和平台信息查询方法及装置 | |
CN108390899B (zh) | 一种基于软件定义网络的二层交换机内容协同的方法 | |
CN113612735B (zh) | 安全存储系统 | |
CN110430098B (zh) | 数据处理系统 | |
CN111782435B (zh) | 一种视频监控管理平台级联异常恢复处理方法及系统 | |
CN114760318A (zh) | 一种边缘计算管理方法及系统 | |
CN109347979B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210709 |