CN111309409B - 一种api服务调用实时统计方法 - Google Patents

一种api服务调用实时统计方法 Download PDF

Info

Publication number
CN111309409B
CN111309409B CN202010118511.9A CN202010118511A CN111309409B CN 111309409 B CN111309409 B CN 111309409B CN 202010118511 A CN202010118511 A CN 202010118511A CN 111309409 B CN111309409 B CN 111309409B
Authority
CN
China
Prior art keywords
time
api service
service
data
request
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
CN202010118511.9A
Other languages
English (en)
Other versions
CN111309409A (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.)
Tianyuan Big Data Credit Management Co Ltd
Original Assignee
Tianyuan Big Data Credit Management 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 Tianyuan Big Data Credit Management Co Ltd filed Critical Tianyuan Big Data Credit Management Co Ltd
Priority to CN202010118511.9A priority Critical patent/CN111309409B/zh
Publication of CN111309409A publication Critical patent/CN111309409A/zh
Application granted granted Critical
Publication of CN111309409B publication Critical patent/CN111309409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明特别涉及一种API服务调用实时统计方法。该API服务调用实时统计方法,微服务应用系统中API服务调用数据实时采集,通过缓存系统将获取的数据实时传输给计算引擎系统,考虑使用流式有状态计算,采用窗口时间划分计算粒度,以设置延时时间触发聚合计算,计算过程状态以内存缓存。该API服务调用实时统计方法,为微服务系统下的实时API服务调用情况统计和流量监控提供了高效的处理方法,能够实现高效、高吞吐和精准一次(Exactly‑once)相结合的实时API服务流量情况统计,给出API服务调用流量的排名列表。

Description

一种API服务调用实时统计方法
技术领域
本发明涉及计算统计和存储技术领域,特别涉及一种API服务调用实时统计方法。
背景技术
通信、大数据和云计算技术的快速发展,极大地改变了网络存储、传输和计算的模式,推动了在线应用系统业务呈现几何级的增长,使得应用系统的架构也发生了颠覆性的变革。从传统的单体架构,后来的SOA架构,发展到目前主流的微服务架构,应用系统也从封闭孤立、高度耦合向开放共享、解耦等新模式转变。随着业务场景和需求的多样性和多变性增加,伴随出现系统功能重复建设和封闭隔离问题,传统单体应用架构业务交错、耦合紧密、扩容难度高、功能重复利用难度大,已经难以满足当前应用的频迭代、快扩容、高复用和高可用等要求。因此,具有快速迭代、高度解耦、弹性扩容和高扩展等优势的微服务架构成为了当前大型应用系统架构的第一选择。微服务架构图示意图如图1所示。
微服务架构的应用系统分工更加明确,责任更加清晰,微型化服务可以采用异构技术,例如基于数据仓库存储系统的数据分析服务化,为公共的统计计算需求提供了高效和便捷的服务。为了保障微服务系统的正常运行和流量预警,往往需要实时掌握服务的调用情况和流量情况,然而,随着服务拆分的越详细、跨服务越多、访问量越大,在保障正常服务的前提下,也增加了实时掌握服务调用情况和流量监控的难度。
从SOA架构方式开始,到如今的Dubbo和SpringCloud等微服务治理框架,从业务功能维度进行系统划分,组织形成以API服务为核心的分布式多业务应用成为了当今大型应用系统主流架构模式。AOP技术是基于动态代理的无侵入、低耦合的面向切面编程,是实现具体业务逻辑同对其提供支持的通用服务分离的编译期编织技术,使用AOP技术可以将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,比如权限认证、日志、事务处理等,利用截取消息的方式,对该消息进行装饰,为原有对象执行行为增加一层额外的处理逻辑。
Kafka作为一种分布式的流处理平台,通过生产者、消费者、主题、分区等组件实现高性能、高可靠性、高稳定性数据流传输和处理功能,在需要异步、解耦和削峰等处理的应用系统中,kafka可以提供有效的功能支撑。
Flink是Apache基金会下的一个分布式处理引擎,用于对无界和有界数据流进行有状态计算。与初代的磁盘级数据计算框架MapReduce,后代的DAG批处理内存计算框架Spark,Flink在支持内存级计算、DAG批处理任务的前提下,以时间语义和高度灵活的窗口操作支持实时级别的流式处理,同时,以有状态计算的Exactly-once语义实现了准确性和低延迟共存的数据处理。
Redis是一个高性能的非关系型内存数据库,可提供高效的数据缓存和高速读写功能。Reidis除了支持简单的key-value类型的数据,同时还提供string,list,set,zset,hash等数据结构的存储,为保证数据持久性,Redis可以将内存数据持久化到磁盘上,在启动时,重新加载到内存中。
然而,服务化的应用系统也增加了系统的复杂度,对应用系统的吞吐、健壮和容错能力要求也越来越高。而分析评估应用系统的吞吐、健壮和容错能力,其中一个重要数据来源就是实时统计应用系统中API服务调用流量情况。
针对API服务系统中调用流量实时监控问题,本发明提出了一种API服务调用实时统计方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的API服务调用实时统计方法。
本发明是通过如下技术方案实现的:
一种API服务调用实时统计方法,其特征在于:微服务应用系统中API服务调用数据实时采集,由于微服务应用系统中API服务调用数据采集与业务处理分离,采用异步API服务请求数据获取和采集方法,实时传输微服务应用系统中子应用服务调用数据;
微服务应用系统中API服务调用数据实时传输,微服务应用系统与计算引擎系统之间设有缓存系统,通过缓存系统将获取的数据实时传输给计算引擎系统;
微服务应用系统中API服务调用数据实时计算,考虑使用流式有状态计算,采用窗口时间划分计算粒度,以设置延时时间触发聚合计算,计算过程状态以内存缓存。
本发明API服务调用实时统计方法,基于AOP(Aspect Oriented Programming,面向切面编程)技术在微服务系统中的应用服务上编织的请求处理切面,给所有API服务请求处理配置通知方法;通过通知方法提取API服务请求信息,实时获取API服务请求信息;利用Kafka生产者客户端将获取的API服务请求信息写入Kafka消息队列API服务调用统计主题中,Flink计算引擎预设周期性滑动窗口,根据Kafka消费者客户端中消费API服务中的请求时间,筛选在周期性时间范围内的数据进行Map(映射)和Reduce(归约)计算;以窗口时间和服务名称联合作为key,计算结果作为数值(value)写入Redis数据库的列表中,供API服务调用统计持久化、实时监控展示和流量预警提醒。
本发明API服务调用实时统计方法,通过代理方式封装API服务调用接口,在代理中利用AOP技术进行API服务调用信息获取,并增加请求时间转换为API服务请求信息;所述API服务请求信息包括用户名称、请求时间、请求地址、服务地址以及服务名称。
所述Flink流式计算引擎接入Kafka消息队列消费者客户端消费API服务调用统计主题中的请求信息;同时,Flink流式计算引擎采用EventTime+Watermark模式,将窗口设定为滑动窗(sliding Window),并配置滑动窗口的滑动时间和窗口大小,利用聚合函数和状态持久化管理增量聚合API服务请求信息,根据滑动窗口时间配置进行开窗和关窗操作,并将周期性时间维度的API服务调用统计情况写入Redis数据库中,从而为给API服务调用统计展示和流量预警通知提供数据支撑。
本发明API服务调用实时统计方法,包括以下步骤:
第一步,数据采集
根据微服务应用系统分布,在提供API服务的应用系统中植入SpringAOP切面代理;以API服务接口的url映射地址作为切入点(Point Cut),并自定义前置通知(Before)器;随后在前置通知中获取当前API服务调用系统时间,系统时间时间戳作为API调用时间信息的请求时间参数值,与根据请求中获取的API服务请求信息一起封装形成API服务数据;利用前置通知器配置的获取Kafka生产者客户端方法,将API服务数据写入Kafka服务数据Topic中;
第二步,数据传输
为了使微服务应用系统资源能够集中提供给业务处理、降低因API服务统计导致的业务处理阻塞,控制API服务数据统计频繁资源申请开销,API数据传输采用异步方式,系统采用固定线程数线程池;当AOP切面代理触发了前置通知方法执行,则将请求数据的拆分、重组和传输任务提交到线程池中,从线程池中取出一个线程执行API服务数据对象的拼装,将请求中用户名称、请求地址、服务地址和服务名称参数取出,与当前系统时间放入API服务请求对象中,对象序列化写入Kafka服务统计主题,处理完成后,将线程归还线程池;
第三步,计算统计和存储
从Kafka服务统计主题消费的API服务请求对象窗口聚合,并将聚合结果写入Redis数据库中存储。
所述第一步中,微服务应用系统运行时,每当请求从前端到达系统,AOP切面代理判断请求的url映射地址与连接点是否一致;若匹配成功,则触发前置通知中分解请求参数,将API服务请求数据与系统时间进行封装,保存到Kafka集群,完成API服务调用数据的获取、封装和汇聚。
所述第三步中,在Flink计算框架中配置Kafka消费者客户端FlinkKafkaConsumer,FlinkKafkaConsumer轮询从Kafka服务统计主题中拉取二进制服务请求对象数据,采用AbstractDeserializationSchema实现将二进制数据反序列化为数据对象DataStream;序列化后的DataStream中的API服务名称作为keyBy进行分区处理,使用TimeWindow构建滑动窗口大小(窗口长度、滑动步长),滑动窗口根据windowStream中的请求时间和聚合函数AggregateFunction进行聚合处理。
所述聚合函数AggregateFunction采用自定义实现的累加规则(滑动窗口中根据不同服务名称进行累加运算)进行API服务请求数据计算,将计算结果(服务名称、窗口长度、总数)以窗口长度进行整理生成输出对象。
为了防止从Kafka中消费数据时间与其发生的时间不一致,利用Watermark+window和ProcessFunction中提供的定时器(timer)功能,根据定时器的设定延迟关闭滑动窗口;用到达数据的请求时间减去延迟时间表示Watermark,当Watermark大于等于设定的窗口长度,则定时器触发窗口关闭,默认收到了Watermark范围内的所有数据。
所述第三步中,在onTimer()中处理所有的API服务请求数据。计算结果以窗口时间和服务名称作为key,聚合统计次数为数值(value),通过Flink流式计算引擎中sink阶段的FlinkJedisPoolConfig配置Redis的地址和端口,并实例化RedisSink,通过Flink流式计算引擎的addSink的方式将计算的结果插入到Redis数据库中。
本发明的有益效果是:该API服务调用实时统计方法,为微服务系统下的实时API服务调用情况统计和流量监控提供了高效的处理方法,能够实现高效、高吞吐和精准一次(Exactly-once)相结合的实时API服务流量情况统计,给出API服务调用流量的排名列表。
附图说明
附图1为微服务架构应用系统示意图。
附图2为本发明API服务调用实时统计方法示意图。
附图3为本发明线程池处理方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该API服务调用实时统计方法,微服务应用系统中API服务调用数据实时采集,由于微服务应用系统中API服务调用数据采集与业务处理分离,采用异步API服务请求数据获取和采集方法,实时传输微服务应用系统中子应用服务调用数据;
微服务应用系统中API服务调用数据实时传输,微服务应用系统与计算引擎系统之间设有缓存系统,通过缓存系统将获取的数据实时传输给计算引擎系统;
微服务应用系统中API服务调用数据实时计算,考虑使用流式有状态计算,采用窗口时间划分计算粒度,以设置延时时间触发聚合计算,计算过程状态以内存缓存。
该API服务调用实时统计方法,基于AOP(Aspect Oriented Programming,面向切面编程)技术在微服务系统中的应用服务上编织的请求处理切面,给所有API服务请求处理配置通知方法;通过通知方法提取API服务请求信息,实时获取API服务请求信息;利用Kafka生产者客户端将获取的API服务请求信息写入Kafka消息队列API服务调用统计主题中,Flink计算引擎预设周期性滑动窗口,根据Kafka消费者客户端中消费API服务中的请求时间,筛选在周期性时间范围内的数据进行Map(映射)和Reduce(归约)计算;以窗口时间和服务名称联合作为key,计算结果作为数值(value)写入Redis数据库的列表中,供API服务调用统计持久化、实时监控展示和流量预警提醒。
该API服务调用实时统计方法,通过代理方式封装API服务调用接口,在代理中利用AOP技术进行API服务调用信息获取,并增加请求时间转换为API服务请求信息;所述API服务请求信息包括用户名称、请求时间、请求地址、服务地址以及服务名称。
所述Flink流式计算引擎接入Kafka消息队列消费者客户端消费API服务调用统计主题中的请求信息;同时,Flink流式计算引擎采用EventTime+Watermark模式,将窗口设定为滑动窗(sliding Window),并配置滑动窗口的滑动时间和窗口大小,利用聚合函数和状态持久化管理增量聚合API服务请求信息,根据滑动窗口时间配置进行开窗和关窗操作,并将周期性时间维度的API服务调用统计情况写入Redis数据库中,从而为给API服务调用统计展示和流量预警通知提供数据支撑。
该API服务调用实时统计方法,包括以下步骤:
第一步,数据采集
根据微服务应用系统分布,在提供API服务的应用系统中植入SpringAOP切面代理;以API服务接口的url映射地址作为切入点(Point Cut),并自定义前置通知(Before)器;随后在前置通知中获取当前API服务调用系统时间,系统时间时间戳作为API调用时间信息的请求时间参数值,与根据请求中获取的API服务请求信息一起封装形成API服务数据;利用前置通知器配置的获取Kafka生产者客户端方法,将API服务数据写入Kafka服务数据Topic中;
第二步,数据传输
微服务应用系统架构是为了将原先单体的服务应用拆分微型化,以集群的方式对外提供需要与后台的交互业务。因此为了确保系统7*24小时运行,服务往往是分布式部署在不同机器上,统一通过路由进行API服务转接,受调用方同时请求数量的影响,API服务的处理量也随着波动,尤其是计算密集型的API服务,受请求并发数影响更大,可能出现无法及时处理完的API服务,后续请求排队等待的情况。为了保证在这样的情况下,为了使微服务应用系统资源能够集中提供给业务处理、降低因API服务统计导致的业务处理阻塞,控制API服务数据统计频繁资源申请开销,API数据传输采用异步方式,系统采用固定线程数线程池;当AOP切面代理触发了前置通知方法执行,则将请求数据的拆分、重组和传输任务提交到线程池中,从线程池中取出一个线程执行API服务数据对象的拼装,将请求中用户名称、请求地址、服务地址和服务名称参数取出,与当前系统时间放入API服务请求对象中,对象序列化写入Kafka服务统计主题,处理完成后,将线程归还线程池;
第三步,计算统计和存储
从Kafka服务统计主题消费的API服务请求对象窗口聚合,并将聚合结果写入Redis数据库中存储。
所述第一步中,微服务应用系统运行时,每当请求从前端到达系统,AOP切面代理判断请求的url映射地址与连接点是否一致;若匹配成功,则触发前置通知中分解请求参数,将API服务请求数据与系统时间进行封装,保存到Kafka集群,完成API服务调用数据的获取、封装和汇聚。
所述第三步中,在Flink计算框架中配置Kafka消费者客户端FlinkKafkaConsumer,FlinkKafkaConsumer轮询从Kafka服务统计主题中拉取二进制服务请求对象数据,采用AbstractDeserializationSchema实现将二进制数据反序列化为数据对象DataStream;序列化后的DataStream中的API服务名称作为keyBy进行分区处理,使用TimeWindow构建滑动窗口大小(窗口长度、滑动步长),滑动窗口根据windowStream中的请求时间和聚合函数AggregateFunction进行聚合处理。
所述聚合函数AggregateFunction采用自定义实现的累加规则(滑动窗口中根据不同服务名称进行累加运算)进行API服务请求数据计算,将计算结果(服务名称、窗口长度、总数)以窗口长度进行整理生成输出对象。
为了防止从Kafka中消费数据时间与其发生的时间不一致,利用Watermark+window和ProcessFunction中提供的定时器(timer)功能,根据定时器的设定延迟关闭滑动窗口;用到达数据的请求时间减去延迟时间表示Watermark,当Watermark大于等于设定的窗口长度,则定时器触发窗口关闭,默认收到了Watermark范围内的所有数据。
所述第三步中,在onTimer()中处理所有的API服务请求数据。计算结果以窗口时间和服务名称作为key,聚合统计次数为数值(value),通过Flink流式计算引擎中sink阶段的FlinkJedisPoolConfig配置Redis的地址和端口,并实例化RedisSink,通过Flink流式计算引擎的addSink的方式将计算的结果插入到Redis数据库中。
与现有技术相比,该API服务调用实时统计方法,具有以下特点:
(1)对微服务应用系统环境下的API服务调用操作,通过增加的AOP切面代理技术,提供了一个API服务调用情况数据实时收集的方法;
(2)以线程池异步方式作业,使得服务与公共业务处理分离,基于kafka消息队列,将微服务系统实时API服务调用数据发送到流式计算框架Flink,为所有实时统计类需求提供了实时数据传输方法;
(3)采用低延迟高吞吐的Flink计算框架,结合滑动窗口和状态计算,为实时API服务监控和流量预警提供了准确的数据支撑。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (9)

1.一种API服务调用实时统计方法,其特征在于:微服务应用系统中API服务调用数据实时采集,由于微服务应用系统中API服务调用数据采集与业务处理分离,采用异步API服务请求数据获取和采集方法,实时传输微服务应用系统中子应用服务调用数据;
微服务应用系统中API服务调用数据实时传输,微服务应用系统与计算引擎系统之间设有缓存系统,通过缓存系统将获取的数据实时传输给计算引擎系统;
微服务应用系统中API服务调用数据实时计算,使用流式有状态计算,采用窗口时间划分计算粒度,以设置延时时间触发聚合计算,计算过程状态以内存缓存;
包括以下步骤:
第一步,数据采集
根据微服务应用系统分布,在提供API服务的应用系统中植入SpringAOP切面代理;以API服务接口的url映射地址作为切入点,并自定义前置通知器;随后在前置通知中获取当前API服务调用系统时间,系统时间时间戳作为API调用时间信息的请求时间参数值,与根据请求中获取的API服务请求信息一起封装形成API服务数据;利用前置通知器配置的获取Kafka生产者客户端方法,将API服务数据写入Kafka服务数据Topic中;
第二步,数据传输
为了使微服务应用系统资源能够集中提供给业务处理、降低因API服务统计导致的业务处理阻塞,控制API服务数据统计频繁资源申请开销,API数据传输采用异步方式,系统采用固定线程数线程池;当AOP切面代理触发了前置通知方法执行,则将请求数据的拆分、重组和传输任务提交到线程池中,从线程池中取出一个线程执行API服务数据对象的拼装,将请求中用户名称、请求地址、服务地址和服务名称参数取出,与当前系统时间放入API服务请求对象中,对象序列化写入Kafka服务统计主题,处理完成后,将线程归还线程池;
第三步,计算统计和存储
从Kafka服务统计主题消费的API服务请求对象窗口聚合,并将聚合结果写入Redis数据库中存储。
2.根据权利要求1所述的API服务调用实时统计方法,其特征在于:基于AOP技术在微服务系统中的应用服务上编织的请求处理切面,给所有API服务请求处理配置通知方法;通过通知方法提取API服务请求信息,实时获取API服务请求信息;利用Kafka生产者客户端将获取的API服务请求信息写入Kafka消息队列API服务调用统计主题中,Flink流式计算引擎预设周期性滑动窗口,根据Kafka消费者客户端中消费API服务中的请求时间,筛选在周期性时间范围内的数据进行Map和Reduce计算;以窗口时间和服务名称联合作为key,计算结果作为数值写入Redis数据库的列表中,供API服务调用统计持久化、实时监控展示和流量预警提醒。
3.根据权利要求2所述的API服务调用实时统计方法,其特征在于:通过代理方式封装API服务调用接口,在代理中利用AOP技术进行API服务调用信息获取,并增加请求时间转换为API服务请求信息;所述API服务请求信息包括用户名称、请求时间、请求地址、服务地址以及服务名称。
4.根据权利要求3所述的API服务调用实时统计方法,其特征在于:所述Flink流式计算引擎接入Kafka消息队列消费者客户端消费API服务调用统计主题中的请求信息;同时,Flink流式计算引擎采用EventTime+Watermark模式,将窗口设定为滑动窗,并配置滑动窗口的滑动时间和窗口大小,利用聚合函数和状态持久化管理增量聚合API服务请求信息,根据滑动窗口时间配置进行开窗和关窗操作,并将周期性时间维度的API服务调用统计情况写入Redis数据库中,从而为给API服务调用统计展示和流量预警通知提供数据支撑。
5.根据权利要求1所述的API服务调用实时统计方法,其特征在于:所述第一步中,微服务应用系统运行时,每当请求从前端到达系统,AOP切面代理判断请求的url映射地址与连接点是否一致;若匹配成功,则触发前置通知中分解请求参数,将API服务请求数据与系统时间进行封装,保存到Kafka集群,完成API服务调用数据的获取、封装和汇聚。
6.根据权利要求1所述的API服务调用实时统计方法,其特征在于:所述第三步中,在Flink计算框架中配置Kafka消费者客户端FlinkKafkaConsumer,FlinkKafkaConsumer轮询从Kafka服务统计主题中拉取二进制服务请求对象数据,采用AbstractDeserializationSchema实现将二进制数据反序列化为数据对象DataStream;序列化后的DataStream中的API服务名称作为keyBy进行分区处理,使用TimeWindow构建滑动窗口大小,滑动窗口根据windowStream中的请求时间和聚合函数AggregateFunction进行聚合处理。
7.根据权利要求6所述的API服务调用实时统计方法,其特征在于:所述聚合函数AggregateFunction采用自定义实现的累加规则,滑动窗口中根据不同服务名称进行累加运算,进行API服务请求数据计算,将计算结果以窗口长度进行整理生成输出对象。
8.根据权利要求7所述的API服务调用实时统计方法,其特征在于:为了防止从Kafka中消费数据时间与其发生的时间不一致,利用Watermark+window和ProcessFunction中提供的定时器功能,根据定时器的设定延迟关闭滑动窗口;用到达数据的请求时间减去延迟时间表示Watermark,当Watermark大于等于设定的窗口长度,则定时器触发窗口关闭,默认收到了Watermark范围内的所有数据。
9.根据权利要求8所述的API服务调用实时统计方法,其特征在于:所述第三步中,在onTimer()中处理所有的API服务请求数据,计算结果以窗口时间和服务名称作为key,聚合统计次数为数值,通过Flink流式计算引擎中sink阶段的FlinkJedisPoolConfig配置Redis的地址和端口,并实例化RedisSink,通过Flink流式计算引擎的addSink的方式将计算的结果插入到Redis数据库中。
CN202010118511.9A 2020-02-26 2020-02-26 一种api服务调用实时统计方法 Active CN111309409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010118511.9A CN111309409B (zh) 2020-02-26 2020-02-26 一种api服务调用实时统计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010118511.9A CN111309409B (zh) 2020-02-26 2020-02-26 一种api服务调用实时统计方法

Publications (2)

Publication Number Publication Date
CN111309409A CN111309409A (zh) 2020-06-19
CN111309409B true CN111309409B (zh) 2023-11-28

Family

ID=71152918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010118511.9A Active CN111309409B (zh) 2020-02-26 2020-02-26 一种api服务调用实时统计方法

Country Status (1)

Country Link
CN (1) CN111309409B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782182A (zh) * 2020-06-29 2020-10-16 联通(浙江)产业互联网有限公司 一种Java Web接口请求统计方法、计算机设备及可读存储介质
CN112084387A (zh) * 2020-08-21 2020-12-15 上海微亿智造科技有限公司 一种实时数据分类统计方法、系统、可读介质及设备
CN112199206B (zh) * 2020-08-28 2023-12-26 杭州数云信息技术有限公司 基于事件机制模板对实时流事件配置化处理方法及系统
CN112199426B (zh) * 2020-09-24 2023-06-02 建信金融科技有限责任公司 微服务架构下的接口调用管理方法、装置、服务器及介质
CN112202607B (zh) * 2020-09-28 2022-06-14 中移(杭州)信息技术有限公司 日志消息的统计计算方法、服务器及存储介质
CN112416537A (zh) * 2020-12-15 2021-02-26 东北大学 一种Gaia系统中的统一表达API调用系统及调用方法
CN112749056A (zh) * 2020-12-30 2021-05-04 广州品唯软件有限公司 应用服务指标监控方法、装置、计算机设备和存储介质
CN112528121A (zh) * 2020-12-31 2021-03-19 河钢数字技术股份有限公司 一种基于分布式存储的爬虫爬取数据统计方法及系统
CN113360189B (zh) * 2021-06-04 2022-09-30 上海天旦网络科技发展有限公司 适用于流处理的异步优化方法、系统、装置和可读介质
CN115016952B (zh) * 2022-08-10 2022-10-28 中邮消费金融有限公司 一种基于服务调用端的动态扩缩容方法及系统
CN116821176B (zh) * 2023-08-30 2023-11-21 北京中科心研科技有限公司 时序数据的处理方法、装置、电子设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103618762A (zh) * 2013-11-08 2014-03-05 中标软件有限公司 一种基于aop的企业服务总线状态预处理系统及方法
CN105959233A (zh) * 2016-04-25 2016-09-21 深圳市威宇智通科技有限公司 基于流式计算的移动终端流量分发系统及方法
CN107766205A (zh) * 2017-10-10 2018-03-06 武汉大学 一种面向微服务调用过程跟踪的监控系统及方法
CN109800129A (zh) * 2019-01-17 2019-05-24 青岛特锐德电气股份有限公司 一种处理监控大数据的实时流计算监控系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019084465A1 (en) * 2017-10-27 2019-05-02 Streamsimple, Inc. CONTINUOUS DIFFUSION MICRO-SERVICES FOR FLOW PROCESSING APPLICATIONS

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103618762A (zh) * 2013-11-08 2014-03-05 中标软件有限公司 一种基于aop的企业服务总线状态预处理系统及方法
CN105959233A (zh) * 2016-04-25 2016-09-21 深圳市威宇智通科技有限公司 基于流式计算的移动终端流量分发系统及方法
CN107766205A (zh) * 2017-10-10 2018-03-06 武汉大学 一种面向微服务调用过程跟踪的监控系统及方法
CN109800129A (zh) * 2019-01-17 2019-05-24 青岛特锐德电气股份有限公司 一种处理监控大数据的实时流计算监控系统及方法

Also Published As

Publication number Publication date
CN111309409A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111309409B (zh) 一种api服务调用实时统计方法
CN107577805B (zh) 一种面向日志大数据分析的业务服务系统
US11836533B2 (en) Automated reconfiguration of real time data stream processing
KR102082355B1 (ko) 대용량 네트워크 데이터의 처리 기법
CN107018042B (zh) 用于在线服务系统的追踪方法及追踪系统
US9378053B2 (en) Generating map task output with version information during map task execution and executing reduce tasks using the output including version information
CN101277304B (zh) 基于规则的Web服务运行环境管理系统及管理方法
CN110716744A (zh) 一种数据流处理方法、系统和计算机可读存储介质
CN112099977A (zh) 一种分布式跟踪系统的实时数据分析引擎
CN102026228B (zh) 通信网络性能数据的统计方法和设备
CN111522786A (zh) 日志处理系统及方法
CN114615096A (zh) 基于事件驱动架构的电信计费方法、系统及相关设备
CN115587118A (zh) 任务数据的维表关联处理方法及装置、电子设备
CN111949521B (zh) 软件性能测试方法及装置
CN116775420A (zh) 基于Flink流计算的信创云平台资源展示和预警方法及系统
CN111597157A (zh) 一种改进日志处理系统架构的方法
CN111049898A (zh) 一种实现计算集群资源跨域架构的方法及系统
CN108959041B (zh) 信息发送的方法、服务器及计算机可读存储介质
Suzumura et al. StreamWeb: Real-time web monitoring with stream computing
CN115221116A (zh) 一种数据写入方法、装置、设备及可读存储介质
CN111159004A (zh) 一种Hadoop集群仿真测试方法、装置及存储介质
CN117076508B (zh) 一种流数据处理系统支持批数据处理的方法
CN114448976B (zh) 网络报文的组装方法、装置、设备、介质和程序产品
CN113923212B (zh) 一种网络数据包处理方法和装置
CN110928938B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231028

Address after: 23 / F, S01 building, Langchao Science Park, 1036 Langchao Road, high tech Zone, Jinan City, Shandong Province, 250100

Applicant after: Tianyuan big data Credit Management Co.,Ltd.

Address before: Room 3110, S01 / F, Inspur building, 1036 Inspur Road, hi tech Zone, Jinan City, Shandong Province 250100

Applicant before: Shandong Aicheng Network Information Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant