CN111737297B - 链路聚合调用信息的处理方法及装置 - Google Patents
链路聚合调用信息的处理方法及装置 Download PDFInfo
- Publication number
- CN111737297B CN111737297B CN202010540922.7A CN202010540922A CN111737297B CN 111737297 B CN111737297 B CN 111737297B CN 202010540922 A CN202010540922 A CN 202010540922A CN 111737297 B CN111737297 B CN 111737297B
- Authority
- CN
- China
- Prior art keywords
- information
- key value
- cache
- calling
- link aggregation
- 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
Classifications
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明提供了链路聚合调用信息的处理方法及装置,方法包括:获取调用信息的键值和明细信息;将调用信息的键值缓存至caffeine缓存;将调用信息的键值和明细信息缓存至redis缓存;基于时间策略确定从caffeine缓存中驱逐的键值;根据确定的驱逐的键值从所述redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理。本发明利用caffeine缓存、redis缓存提供基于多级缓存的分布式链路聚合的实现方式,从海量无序调用信息中获取单笔交易的相对完整调用信息,还可根据内存容量调整过期时间。无需对单台高配置服务器便可对海量调用日志进行并行分析,降低了链路聚合的成本和难度。
Description
技术领域
本发明涉及数据处理技术,具体的讲是一种链路聚合调用信息的处理方法及装置。
背景技术
微服务时代,业务场景按照领域模型进行了拆分,往往一个完整的业务流程需要经过多个服务间消息通信才最终闭环。
大规模分布式集群虽然承载了更大规模的并发量,但是调用链路更加错综复杂。特别是大中台的建设,服务的复用与组合构成了各式各样的业务交易。单笔交易可能流经多台服务器的多个服务,服务调用信息上报到消息中间件的时间可能不同,消息中间件的分区规则更会导致调用信息乱序。拥有完整的调用信息才可以进行链路的拓扑聚合,需要对调用信息进行处理以便更好的进行链路聚合处理。
发明内容
为了在海量无序的调用日志下,收集单笔交易过去一段时间的调用信息,提高后续链路聚合拓扑聚合的成功率,本发明实施例提供了一种链路聚合调用信息的处理方法,包括:
获取调用信息的键值和明细信息;
将所述调用信息的键值缓存至caffeine缓存;
将所述调用信息的键值和明细信息缓存至redis缓存;
基于时间策略确定从caffeine缓存中驱逐的键值;
根据确定的驱逐的键值从所述redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理。
本发明实施例中,所述的调用信息的键值包括:调用信息的交易特征值;
所述的明细信息包括:调用的节点信息、耗时信息及结果信息。
本发明实施例中,所述的获取调用信息的键值和明细信息包括:
确定调用信息的交易特征值的哈希值;
将相同哈希值的调用信息存储至同一路由节点;
从同一路由节点中获取调用信息的键值和明细信息。
本发明实施例中,所述的从同一路由节点中获取调用信息的键值和明细信息包括:
利用kafka消息传递系统从节点获取调用信息的键值和明细信息。
本发明实施例中,所述的基于时间策略确定从caffeine缓存中驱逐的键值包括:
获取caffeine缓存中的调用信息的键值中的时间戳;
根据所述时间戳确定存储时长;
确定所述存储时长不小于预设时长则将调用信息的键值从caffeine缓存中驱逐。
同时,本发明还提供一种链路聚合调用信息的处理装置,包括:
获取模块,用于获取调用信息的键值和明细信息;
caffeine缓存模块,用于将所述调用信息的键值缓存至caffeine缓存;
redis缓存模块,用于将所述调用信息的键值和明细信息缓存至redis缓存;
驱逐键值确定模块,用于基于时间策略确定从caffeine缓存中驱逐的键值;
调用模块,用于根据确定的驱逐的键值从所述redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理。
本发明实施例中,所述的装置包括:
哈希值确定模块,用于确定调用信息的交易特征值的哈希值;
调用信息存储模块,用于将相同哈希值的调用信息存储至同一路由节点;
所述的获取模块从同一路由节点中获取调用信息的键值和明细信息。
本发明实施例中,所述的获取模块从同一路由节点中获取调用信息的键值和明细信息包括:
所述获取模块利用kafka消息传递系统从节点获取调用信息的键值和明细信息。
本发明实施例中,所述的驱逐键值确定模块包括:
时间戳获取单元,用于获取caffeine缓存中的调用信息的键值中的时间戳;
时长确定单元,用于根据所述时间戳确定存储时长;
驱逐单元,用于确定所述存储时长不小于预设时长则将调用信息的键值从caffeine缓存中驱逐。
同时,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。
同时,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。
本发明提供的链路聚合调用信息的处理方法及装置,其利用caffeine缓存、redis缓存提供基于多级缓存的分布式链路聚合的实现方式及装置利用消息中间件、caffeine缓存、redis缓存的优点,从海量无序调用信息中获取单笔交易的相对完整调用信息,还可根据内存容量调整过期时间。无需对单台高配置服务器便可对海量调用日志进行并行分析,降低了链路聚合的成本和难度。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的链路聚合调用信息的处理方法的流程图;
图2为本发明实施例的示意图;
图3为链路聚合调用信息的处理装置的框图;
图4为本发明实施例提供的电子设备框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
链路聚合是指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽、实现链路传输弹性和工程冗余等方面是一项很重要的技术。
本发明主要是为了解决在海量无序的调用日志下,收集单笔交易过去一段时间的调用信息(一笔交易可能途径多个服务,这些服务的调用信息即本发明实施例中的交易信息),提高了后续链路拓扑聚合的成功率。
如图1所示,为本发明提供的一种链路聚合调用信息的处理方法,其包括:
步骤S101,获取调用信息的键值和明细信息;
步骤S102,将所述调用信息的键值缓存至caffeine缓存;
步骤S103,将所述调用信息的键值和明细信息缓存至redis缓存;
步骤S104,基于时间策略确定从caffeine缓存中驱逐的键值;
步骤S105,根据确定的驱逐的键值从所述redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理。
caffeine缓存不是独立的进程容量小,但效率较高,redis缓存是独立进程容量大,但效率较低,本发明结合两种缓存的优点,将海量无序的调用信息通过交易特征值分发到多个链路聚合节点,在链路聚合节点进行多级缓存,多级缓存是按照交易特征值归集过去一段时间的调用日志,并提醒链路聚合的java节点进行后续的处理加工。
本发明实施例中,所述调用信息的键值包括:调用信息的交易特征值,如涉及的服务的调用中的时间戳、随机数等可标识交易调用信息的数据均可作为调用信息的交易特征值;
所述的明细信息包括:调用的节点信息、耗时信息及结果信息。其中,结果信息即为调用成功或失败信息。
本发明实施例中,所述的获取调用信息的键值和明细信息包括:
确定调用信息的交易特征值的哈希值;
将相同哈希值的调用信息存储至同一路由节点;
从同一路由节点中获取调用信息的键值和明细信息。
单笔交易可能流经多台服务器的多个服务,现有技术中,服务调用信息上报到消息中间件的时间可能不同,消息中间件的分区规则更会导致调用信息乱序。本发明提供的链路聚合调用信息的处理,基于时间策略确定从caffeine缓存中驱逐的键值,然后根据确定的驱逐的键值从redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理,克服了现有技术中服务调用信息上报到消息中间件的时间可能不同,消息中间件的分区规则更会导致调用信息乱序的问题。
具体的,本发明实施例中,所述的从同一路由节点中获取调用信息的键值和明细信息包括:
利用kafka消息传递系统从节点获取调用信息的键值和明细信息。
本发明实施例中,所述的基于时间策略确定从caffeine缓存中驱逐的键值包括:
获取caffeine缓存中的调用信息的键值中的时间戳;
根据所述时间戳确定存储时长;
确定所述存储时长不小于预设时长则将调用信息的键值从caffeine缓存中驱逐。
本发明实施例中,设置caffeine的基于时间的驱逐策略,caffeine缓存对过去一段时间没有新的调用信息入库就会对相关的数据进行淘汰,确定的淘汰的交易即为认为这笔交易相关的调用日志已经存入到redis缓存了,redis监听到淘汰事件,就通知后续的java程序对相关调用日志进行拓扑处理。具体的,本发明实施例中,获取caffeine缓存中的调用信息的键值中的时间戳,本实施例中,该时间戳为每次存入该笔交易下的调用信息的时间信息,根据时间戳确定该调用信息在caffeine缓存中的调用信息入库时间,确定调用信息键值在caffeine缓存中的存储时长,存储时长不小于预设时长则将调用信息的键值从caffeine缓存中驱逐,即根据时间戳确定该笔交易在一段时间内没有被访问,即为认为这笔交易相关的调用日志已经存入到redis缓存了,redis监听到淘汰事件,就通知后续的java程序对相关调用日志进行拓扑处理。
如图2所示,为本发明一具体实施方式的示意图,为基于本发明的方案实现多级缓存的分布式链路聚合,本实施例中,通过消息中间件将调用信息采集、路由分发、链路聚合连接在一起,通过多层处理将海量无序的调用信息分发到多个链路聚合节点,实现链路聚合节点对调用信息的处理。
本实施例中,待处理的调用信息是已经发送到kafka消息传递系统。本实施例中通过提供一个采集端jar包给应用落地,利用jar包即可实现将相关调用信息发送到kafka上,本实施例中,海量无序的调用信息是通过交易特征值进行路由分发到kafka的partition上。通过kafka接收交易的链路日志获得调用信息,路由节点包含java工程,对原始调用信息进行分组分发,调用信息中有每笔交易的特征值,根据特征值进行哈希路由,分发至各路由节点,发送到消息中间件后,路由分发节点从消息中间件消费调用信息,获取调用信息中的交易特征值traceID的哈希值,交易特征值取哈希值再除以分区数(消息中间件),算出应该发到哪个分区,将相同交易特征值的调用信息发送到同一分区中,确保单笔交易内的调用信息可以发送到一台链路聚合节点上进行处理。
本实施例中,链路聚合节点包含java工程、caffeine及redis构成的多级缓存
这个步骤的作用是,将过去一段时间内的交易数据的调用日志聚合处理。从调用日志中分析出调用关系拓扑图。
一笔交易会产生途径多个服务,每途径一个服务会产生调用日志。这些日志上报到链路聚合节点的时间是乱序的、可能存在一定的延迟。本实施例中多级缓存的作用是按照交易特征值归集过去一段时间的调用日志,并提醒链路聚合的java节点进行后续的处理加工
入库缓存,设置caffeine的基于时间的驱逐策略,某个实体在一定时间没有被访问之后被caffeine淘汰。入库缓存作用是将调用信息的明细信息按照交易特征值存下来,从而避免占用java节点的jvm内存。本实施例汇总,调用信息在caffeine缓存中的存储结构是<交易特征值,调用日志明细列表>,即存储调用信息键值。
链路聚合节点可消费1到n个分区的消息,保证同一交易特征值下的信息都被单个链路聚合节点消费。消费后将调用信息中的交易特征值作为key的实体存入caffeine缓存,每次存入这笔交易下的调用信息都会刷新过期时间。再将交易特征值作为key,调用信息明细作为value的实体追加到redis的集合中。
移除监听,链路聚合节点在一段时间内没有消费到某笔交易的调用信息时,caffeine缓存会驱逐相关的交易特征值。设置caffeine的移除监听器,当有实体被驱逐时会产生一个事件,在此事件中判断驱逐原因为EXPIRED(过期)时捕获交易特征值x,从redis获取key为x的集合,将该集合交给后续模块进行聚合处理,最后从redis中删除key为x的实体。
移除监听器的作用:caffeine缓存过去一段时间没有新的调用信息入库就会对相关的数据进行淘汰,淘汰的交易我们认为这笔交易相关的调用日志已经存入到redis缓存了。监听到淘汰事件,就通知后续的java程序对相关调用日志进行拓扑处理。
本实施例提供的基于多级缓存的分布式链路聚合的实现方式,利用消息中间件、caffeine缓存、redis缓存的优点,从海量无序调用信息中获取单笔交易的相对完整调用信息,还可根据内存容量调整过期时间。无需对单台高配置服务器便可对海量调用日志进行并行分析,降低了链路聚合的成本和难度。
同时,如图3所示,本发明还提供一种链路聚合调用信息的处理装置,包括:
获取模块301,用于获取调用信息的键值和明细信息;
caffeine缓存模块302,用于将所述调用信息的键值缓存至caffeine缓存;
redis缓存模块303,用于将所述调用信息的键值和明细信息缓存至redis缓存;
驱逐键值确定模块304,用于基于时间策略确定从caffeine缓存中驱逐的键值;
调用模块305,用于根据确定的驱逐的键值从所述redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理。
本发明实施例中,所述的装置还包括:
哈希值确定模块,用于确定调用信息的交易特征值的哈希值;
调用信息存储模块,用于将相同哈希值的调用信息存储至同一路由节点;
所述的获取模块从同一路由节点中获取调用信息的键值和明细信息。
本发明实施例中,所述的获取模块从同一路由节点中获取调用信息的键值和明细信息包括:
所述获取模块利用kafka消息传递系统从节点获取调用信息的键值和明细信息。
本发明实施例中,所述的驱逐键值确定模块包括:
时间戳获取单元,用于获取caffeine缓存中的调用信息的键值中的时间戳;
时长确定单元,用于根据所述时间戳确定存储时长;
驱逐单元,用于确定所述存储时长不小于预设时长则将调用信息的键值从caffeine缓存中驱逐。
基于多级缓存的分布式链路聚合的实现方式及装置利用消息中间件、caffeine缓存、redis缓存的优点,从海量无序调用信息中获取单笔交易的相对完整调用信息,还可根据内存容量调整过期时间。无需对单台高配置服务器便可对海量调用日志进行并行分析,降低了链路聚合的成本和难度。
对本领域技术人员而言,通过前述实施例的描述可清楚获知本发明提供的一种链路聚合调用信息的处理装置的实施方式,在此不再赘述。
另外,本发明实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照前述实施例的实施,其内容被合并于此,重复之处不再赘述。
图4为本发明实施例的电子设备600的系统构成的示意框图。如图4所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,链路聚合调用信息的处理功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
获取调用信息的键值和明细信息;
将所述调用信息的键值缓存至caffeine缓存;
将所述调用信息的键值和明细信息缓存至redis缓存;
基于时间策略确定从caffeine缓存中驱逐的键值;
根据确定的驱逐的键值从所述redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理。
在另一个实施方式中,链路聚合调用信息的处理装置可以与中央处理器100分开配置,例如可以将链路聚合调用信息的处理装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现链路聚合调用信息的处理功能。
如图4所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图4中所示的所有部件;此外,电子设备600还可以包括图4中没有示出的部件,可以参考现有技术。
如图4所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读程序,其中当在电子设备中执行所述程序时,所述程序使得计算机在所述电子设备中执行如上面实施例所述的链路聚合调用信息的处理方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在电子设备中执行上面实施例所述的链路聚合调用信息的处理。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种链路聚合调用信息的处理方法,其特征在于,所述的方法包括:
获取调用信息的键值和明细信息;
将所述调用信息的键值缓存至caffeine缓存;
将所述的调用信息的键值和明细信息缓存至redis缓存;
基于时间策略确定从caffeine缓存中驱逐的键值;
根据确定的驱逐的键值从所述redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理;
所述的基于时间策略确定从caffeine缓存中驱逐的键值包括:
获取caffeine缓存中的调用信息的键值中的时间戳;
根据所述时间戳确定存储时长;
确定所述存储时长不小于预设时长则将调用信息的键值从caffeine缓存中驱逐。
2.如权利要求1所述的链路聚合调用信息的处理方法,其特征在于,所述的调用信息的键值包括:调用信息的交易特征值;
所述的明细信息包括:调用的节点信息、耗时信息及结果信息。
3.如权利要求2所述的链路聚合调用信息的处理方法,其特征在于,所述的获取调用信息的键值和明细信息包括:
确定调用信息的交易特征值的哈希值;
将相同哈希值的调用信息存储至同一路由节点;
从同一路由节点中获取调用信息的键值和明细信息。
4.如权利要求3所述的链路聚合调用信息的处理方法,其特征在于,所述的从同一路由节点中获取调用信息的键值和明细信息包括:
利用kafka消息传递系统从节点获取调用信息的键值和明细信息。
5.一种链路聚合调用信息的处理装置,其特征在于,所述的装置包括:
获取模块,用于获取调用信息的键值和明细信息;
caffeine缓存模块,用于将所述调用信息的键值缓存至caffeine缓存;
redis缓存模块,用于将所述的调用信息的键值和明细信息缓存至redis缓存;
驱逐键值确定模块,用于基于时间策略确定从caffeine缓存中驱逐的键值;
调用模块,用于根据确定的驱逐的键值从所述redis缓存中获取该键值对应的明细信息进行调用信息的链路聚合处理;
所述的驱逐键值确定模块包括:
时间戳获取单元,用于获取caffeine缓存中的调用信息的键值中的时间戳;
时长确定单元,用于根据所述时间戳确定存储时长;
驱逐单元,用于确定所述存储时长不小于预设时长则将调用信息的键值从caffeine缓存中驱逐。
6.如权利要求5所述的链路聚合调用信息的处理装置,其特征在于,所述的调用信息的键值包括:调用信息的交易特征值;
所述的明细信息包括:调用的节点信息、耗时信息及结果信息。
7.如权利要求6所述的链路聚合调用信息的处理装置,其特征在于,所述的装置包括:
哈希值确定模块,用于确定调用信息的交易特征值的哈希值;
调用信息存储模块,用于将相同哈希值的调用信息存储至同一路由节点;
所述的获取模块从同一路由节点中获取调用信息的键值和明细信息。
8.如权利要求7所述的链路聚合调用信息的处理装置,其特征在于,所述的获取模块从同一路由节点中获取调用信息的键值和明细信息包括:
所述获取模块利用kafka消息传递系统从节点获取调用信息的键值和明细信息。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010540922.7A CN111737297B (zh) | 2020-06-15 | 2020-06-15 | 链路聚合调用信息的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010540922.7A CN111737297B (zh) | 2020-06-15 | 2020-06-15 | 链路聚合调用信息的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737297A CN111737297A (zh) | 2020-10-02 |
CN111737297B true CN111737297B (zh) | 2023-08-25 |
Family
ID=72649133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010540922.7A Active CN111737297B (zh) | 2020-06-15 | 2020-06-15 | 链路聚合调用信息的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737297B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174502A (zh) * | 2022-06-30 | 2022-10-11 | 广东亿迅科技有限公司 | 一种api网关的流量控制方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902730A (zh) * | 2012-09-10 | 2013-01-30 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
CN106790718A (zh) * | 2017-03-16 | 2017-05-31 | 北京搜狐新媒体信息技术有限公司 | 服务调用链路分析方法及系统 |
CN108509540A (zh) * | 2018-03-16 | 2018-09-07 | 中国银行股份有限公司 | 基于redis集群的多键值命令处理方法及系统 |
CN110019263A (zh) * | 2017-10-18 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 信息存储方法和装置 |
CN110084699A (zh) * | 2019-04-30 | 2019-08-02 | 深圳前海微众银行股份有限公司 | 交易记录的聚合方法、装置、交易列表系统及存储介质 |
CN110380985A (zh) * | 2019-08-02 | 2019-10-25 | 中国工商银行股份有限公司 | 基于交易链路的流量控制方法、装置、设备及存储介质 |
CN110399397A (zh) * | 2018-04-19 | 2019-11-01 | 北京京东尚科信息技术有限公司 | 一种数据查询方法和系统 |
CN110457337A (zh) * | 2019-08-19 | 2019-11-15 | 中国工商银行股份有限公司 | 链路聚合方法、系统和设备 |
CN110727675A (zh) * | 2018-07-17 | 2020-01-24 | 阿里巴巴集团控股有限公司 | 一种链表的处理方法及装置 |
CN110737682A (zh) * | 2019-10-17 | 2020-01-31 | 贝壳技术有限公司 | 一种缓存操作方法、装置、存储介质和电子设备 |
-
2020
- 2020-06-15 CN CN202010540922.7A patent/CN111737297B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902730A (zh) * | 2012-09-10 | 2013-01-30 | 新浪网技术(中国)有限公司 | 基于数据缓存的读数据方法及装置 |
CN106790718A (zh) * | 2017-03-16 | 2017-05-31 | 北京搜狐新媒体信息技术有限公司 | 服务调用链路分析方法及系统 |
CN110019263A (zh) * | 2017-10-18 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 信息存储方法和装置 |
CN108509540A (zh) * | 2018-03-16 | 2018-09-07 | 中国银行股份有限公司 | 基于redis集群的多键值命令处理方法及系统 |
CN110399397A (zh) * | 2018-04-19 | 2019-11-01 | 北京京东尚科信息技术有限公司 | 一种数据查询方法和系统 |
CN110727675A (zh) * | 2018-07-17 | 2020-01-24 | 阿里巴巴集团控股有限公司 | 一种链表的处理方法及装置 |
CN110084699A (zh) * | 2019-04-30 | 2019-08-02 | 深圳前海微众银行股份有限公司 | 交易记录的聚合方法、装置、交易列表系统及存储介质 |
CN110380985A (zh) * | 2019-08-02 | 2019-10-25 | 中国工商银行股份有限公司 | 基于交易链路的流量控制方法、装置、设备及存储介质 |
CN110457337A (zh) * | 2019-08-19 | 2019-11-15 | 中国工商银行股份有限公司 | 链路聚合方法、系统和设备 |
CN110737682A (zh) * | 2019-10-17 | 2020-01-31 | 贝壳技术有限公司 | 一种缓存操作方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111737297A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111740860B (zh) | 日志数据传输链路监控方法及装置 | |
CN111277848B (zh) | 直播间互动消息的处理方法、装置、电子设备及存储介质 | |
CN111782470B (zh) | 分布式容器日志数据处理方法及装置 | |
Vigneri et al. | Storage on wheels: Offloading popular contents through a vehicular cloud | |
CN113220715B (zh) | 一种数据处理方法、系统、计算机及可读存储介质 | |
CN111796935B (zh) | 调用日志信息的消费实例分配方法及系统 | |
CN111796770B (zh) | 日志路由负载均衡实现方法及装置 | |
CN113127732A (zh) | 业务数据的获取方法、装置、计算机设备和存储介质 | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN111737297B (zh) | 链路聚合调用信息的处理方法及装置 | |
CN111796769A (zh) | 云平台日志存储系统扩容方法及装置 | |
CN111782473A (zh) | 分布式日志数据处理方法、装置及系统 | |
CN113395671B (zh) | 消息推送速率的调节方法、装置和服务器 | |
CN113285884B (zh) | 流量控制方法及系统 | |
CN113190516B (zh) | 数据同步监控方法及装置 | |
CN112995317B (zh) | 区块链共识方法及区块链节点 | |
CN112035066A (zh) | 日志保留时长的计算方法及装置 | |
CN111090818B (zh) | 资源管理方法、资源管理系统、服务器及计算机存储介质 | |
CN112860720B (zh) | 一种存储容量的更新方法以及装置 | |
CN114237896A (zh) | 分布式节点资源动态调度方法及装置 | |
CN115756875B (zh) | 面向流式数据的机器学习模型在线服务部署方法及系统 | |
CN113626221A (zh) | 一种消息入队方法及装置 | |
CN111506469A (zh) | 基于通信xdr的重点区域监控方法、系统和存储介质 | |
CN103856359A (zh) | 获取信息的方法和系统 | |
CN111104575A (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 |