CN111435350A - 海量数据的实时监控方法、系统、设备及存储介质 - Google Patents
海量数据的实时监控方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN111435350A CN111435350A CN201910033426.XA CN201910033426A CN111435350A CN 111435350 A CN111435350 A CN 111435350A CN 201910033426 A CN201910033426 A CN 201910033426A CN 111435350 A CN111435350 A CN 111435350A
- Authority
- CN
- China
- Prior art keywords
- real
- time
- calculation
- field
- configuration
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种海量数据的实时监控方法、系统、设备及存储介质,方法包括以下步骤:配置接入业务的字段池,所述字段池包括若干个按所述业务划分的字段;对用户从所述字段池中选择的若干个所述字段按照业务需求进行组合,以生成对应的一条配置;响应用户的启动指令,按照每条所述配置中的所述字段的组合使用实时计算框架对原始数据进行分组计算,以得到对应的计算结果,将所述计算结果存储至数据库;根据所述用户的需求输出所述计算结果。本发明针对高并发大流量的海量数据的实时计算的场景,对于用户的新的需求无需重复开发,仅通过简单拖拽字段增加配置就能够快速的产生新的分组计算业务,快速适应业务需求的变化,避免了人力资源的浪费。
Description
技术领域
本发明涉及大数据处理技术领域,特别涉及一种海量数据的实时监控方法、系统、设备及存储介质。
背景技术
随着大数据的飞速发展,针对高并发大流量的海量数据的实时计算与监控的需求越来越多,目前主要实现方式是,每当用户如业务方提出一个监控需求,例如要看每分钟客户端与相应版本分组计算的调用量,首先在系统中埋点,然后上报数据到一个消息队列,然后使用实时计算框架编写拓补程序,上传到实时计算框架集群开始进行实时计算存储,然后再开发一个界面展示。现有的实现方式的问题在于,当业务方再次提出一个新的监控需求,例如要看每秒钟机房分组计算的调用量,此时就需要重复开发前述的整个过程,当业务方需求不断增加或者变化时,就会产生巨大的高重复度工作,造成人力资源浪费。
发明内容
本发明要解决的技术问题是为了克服现有技术中针对高并发大流量的海量数据的实时计算的场景,用户需求不断变化的情况下,出现的高重复度工作造成的人力资源浪费的缺陷,提供一种无需重复开发只需简单操作即可实现用户不同监控需求的海量数据的实时监控方法、系统、设备及存储介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明实施例提供了一种海量数据的实时监控方法,包括以下步骤:
配置接入业务的字段池,所述字段池包括若干个按所述业务划分的字段;
对用户从所述字段池中选择的若干个所述字段按照业务需求进行组合,以生成对应的一条配置;
响应用户的启动指令,按照每条所述配置中的所述字段的组合使用实时计算框架对原始数据进行分组计算,以得到对应的计算结果,将所述计算结果存储至数据库;
根据所述用户的需求输出所述计算结果。
较佳地,所述字段的类型包括时间类型、有限种类的枚举型和用于计算的数值型;
每条所述配置的第一个字段为所述时间类型的字段;
当所述用户的需求为统计平均值或统计数据和时每条所述配置的最后一个字段为所述数值型的字段;
每条所述配置的其它字段为所述枚举型的字段。
较佳地,所述实时监控方法还包括以下步骤:
按照所述字段池中的字段逐条上报业务数据至消息队列,以得到对应的每条所述原始数据;
每条所述业务数据带有对应的时间戳;
每条所述原始数据包括根据所述时间戳生成的所述时间类型的字段。
较佳地,所述按照每条所述配置中的所述字段的组合使用实时计算框架对原始数据进行分组计算,以得到对应的计算结果,将所述计算结果存储至数据库,包括以下步骤:
获取若干条所述配置并逐条按顺序存入第一变量数组;为每条所述配置生成对应的sql(结构化查询语言)插入语句并逐条按顺序存入第二变量数组;
创建所述实时计算框架中的Stream(流)的执行环境;设置事件时间为所述业务数据中的时间戳字段;设置所述消息队列为所述Stream的数据源;
遍历所述第一变量数组,其中每条所述配置形成一个分支流Stream,执行一次分组计算操作,将得到的对应的计算结果及对应的分组字段存储至所述第二变量数组中。
较佳地,所述对用户从所述字段池中选择的若干个所述字段按照业务需求进行组合,包括:
对所述用户以拖拽方式从所述字段池中选择的若干个所述字段按照业务需求进行组合。
较佳地,所述根据所述用户的需求输出所述计算结果,包括:
根据所述用户的需求触发页面生成相应菜单;
响应所述用户点击所述菜单,从所述数据库中查询对应的所述计算结果生成折线图。
较佳地,所述实时监控方法还包括以下步骤:
响应用户针对每条所述配置的预览指令,输出针对所述配置所对应的分组计算的示例结果。
较佳地,所述时间类型的字段包括秒和/或分钟;
所述有限种类的枚举型的字段包括接口、客户端、异常码、域名、版本、运营商、机房及省份中的至少一种;
所述用于计算的数值型的字段包括入流量、耗时及出流量中的至少一种。
较佳地,所述实时计算框架为Flink(一个可伸缩的开源批处理和流处理平台);所述消息队列为Kafka(一种高吞吐量的分布式发布订阅消息队列系统)。
本发明另一实施例提供了一种海量数据的实时监控系统,包括:
字段池模块,用于配置接入业务的字段池,所述字段池包括若干个按所述业务划分的字段;
分组计算配置模块,用于对用户从所述字段池中选择的若干个所述字段按照业务需求进行组合,以生成对应的一条配置;
分组实时计算模块,用于响应用户的启动指令,按照每条所述配置中的所述字段的组合使用实时计算框架对原始数据进行分组计算,以得到对应的计算结果,将所述计算结果存储至数据库;
分组计算展示模块,用于根据所述用户的需求输出所述计算结果。
较佳地,所述字段的类型包括时间类型、有限种类的枚举型和用于计算的数值型;
每条所述配置的第一个字段为所述时间类型的字段;
当所述用户的需求为统计平均值或统计数据和时每条所述配置的最后一个字段为所述数值型的字段;
每条所述配置的其它字段为所述枚举型的字段。
较佳地,所述实时监控系统还包括:
原始数据获取模块,用于按照所述字段池中的字段逐条上报业务数据至消息队列,以得到对应的每条所述原始数据;
每条所述业务数据带有对应的时间戳;
每条所述原始数据包括根据所述时间戳生成的所述时间类型的字段。
较佳地,所述分组实时计算模块包括:
初始化配置单元,用于获取若干条所述配置并逐条按顺序存入第一变量数组,为每条所述配置生成对应的sql插入语句并逐条按顺序存入第二变量数组;
初始化拓扑单元,用于创建所述实时计算框架中的Stream的执行环境,设置事件时间为所述业务数据中的时间戳字段,设置所述消息队列为所述Stream的数据源;
循环分组计算存储单元,用于遍历所述第一变量数组,其中每条所述配置形成一个分支流Stream,执行一次分组计算操作,将得到的对应的计算结果及对应的分组字段存储至所述第二变量数组中。
较佳地,所述分组计算配置模块用于对所述用户以拖拽方式从所述字段池中选择的若干个所述字段按照业务需求进行组合。
较佳地,所述分组计算展示模块包括:
菜单生成单元,用于根据所述用户的需求触发页面生成相应菜单;
结果展示单元,用于响应所述用户点击所述菜单,从所述数据库中查询对应的所述计算结果生成折线图。
较佳地,所述实时监控系统还包括:
预览模块,用于响应用户针对每条所述配置的预览指令,输出针对所述配置所对应的分组计算的示例结果。
本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述实施例提供的海量数据的实时监控方法。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述实施例提供的海量数据的实时监控方法的步骤。
本发明的积极进步效果在于:本发明提供的海量数据的实时监控方法、系统、设备及存储介质通过设置字段池,用户可以通过从字段池中选择字段组合形成不同的字段组合,每组字段组合对应一种配置,不同配置满足用户不同的监控需求,生成的新配置能够根据用户指令自动触发实时计算并存储,输出计算结果。针对高并发大流量的海量数据的实时计算的场景,对于用户的新的需求无需重复开发,仅通过简单拖拽字段增加配置就能够快速的产生新的分组计算业务,快速适应业务需求的变化,避免了人力资源的浪费。
附图说明
图1为本发明实施例1的一种海量数据的实时监控方法的流程图。
图2为实施例1中图1的步骤104的流程图。
图3为实施例1中基于配置“分钟|客户端|版本”生成的QPM(每分钟请求数)表的示意图。
图4为实施例1中基于配置“秒|机房”生成的QPS(每秒钟请求数)表的示意图。
图5为实施例1中基于图3中的表选中android(安卓)客户端生成的趋势图。
图6为实施例1中在图5基础上再选择版本2.0.0生成的趋势图。
图7为本发明实施例2的一种海量数据的实时监控系统的模块示意图。
图8为图7中分组实时计算模块的结构示意图。
图9为图7中分组计算展示模块的结构示意图。
图10为本发明实施例3的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
如图1所示,本实施例提供了一种海量数据的实时监控方法,包括以下步骤:
步骤101、配置接入业务的字段池,所述字段池包括若干个按所述业务划分的字段。
本实施例中,字段池的配置工作由用户按业务进行划分,业务所能上报的字段越多的场景越适合,说明需求变化更多,越能节约大量的重复工作。
其中,每个字段就像一个积木,分三种类型,包括时间类型、有限种类的枚举型和用于计算的数值型。时间类型针对于用户上传的业务数据中带有的时间戳,根据该时间戳生成时间类型的字段,具体生成秒和分钟两个字段,分别用于计算QPS和QPM。所述有限种类的枚举型的字段包括接口、客户端、异常码、域名、版本、运营商、机房及省份中的至少一种,比如客户端包括android、apple(苹果)、m(浏览器)等,为有限个数的字段。所述用于计算的数值型的字段包括入流量、耗时及出流量中的至少一种,比如‘耗时’字段,它的范围可以是1到无穷,这种字段可以用来做avg(统计平均值)操作,求出平均耗时,sum(统计数据和)操作可以求出总耗时。
步骤102、按照所述字段池中的字段逐条实时上报业务数据至消息队列Kafka,以得到对应的每条所述原始数据。
其中,每条所述业务数据带有对应的时间戳;每条所述原始数据包括根据所述时间戳生成的所述时间类型的字段。
步骤103、对用户以拖拽方式从所述字段池中选择的若干个所述字段按照业务需求进行组合,以生成对应的一条配置。
其中,字段均是从配置好的字段池中拖拽下来进行组合的,可同时形成多个组合,对应多条配置,每个组合可以是多个字段。每条所述配置的第一个字段为所述时间类型的字段;当所述用户的需求为统计平均值avg或统计数据和sum时每条所述配置的最后一个字段为所述数值型的字段;每条所述配置的其它字段为所述枚举型的字段。
具体实施时,组合逻辑限制如下:
第1个字段:为时间类型的字段,分钟用来计算QPM,秒用来计算QPS;
最后一个字段:如果是sum,avg操作,则需要选一个数值型的字段,如果是count(统计数据数量)操作则可以不配置该字段;
其它字段:为有限枚举型的字段,不能选连续值的字段。
步骤104、响应用户的启动指令,按照每条所述配置中的所述字段的组合使用实时计算框架Flink对原始数据进行分组计算,以得到对应的计算结果,将所述计算结果存储至数据库。
步骤105、根据所述用户的需求输出所述计算结果。
具体为,根据所述用户的需求触发页面生成相应菜单,每个菜单对应一条配置;响应所述用户点击所述菜单,从所述数据库中查询对应的所述计算结果生成折线图。具体实施时用户可以在拖拽组合完成后,点击启动按钮,本实施例会响应用户的启动指令,具体会触发一个拓补守护程序也就是守护进程去启动一个或多个通用拓补程序,每个通用拓扑程序按配置好的字段组合进行分组计算,同时将计算结果存储到数据库中;同时还可以触发页面生成相应菜单,此时点击菜单即可以折线图的方式看到计算结果。
如图2所示,本实施例中步骤104具体包括以下步骤:
步骤1041、响应用户的启动指令,执行步骤1042。
具体实施过程中,后续步骤可以由通用拓补程序实现。
步骤1042、获取若干条所述配置并逐条按顺序存入第一变量数组;为每条所述配置生成对应的sql插入语句并逐条按顺序存入第二变量数组。
具体实施时,本步骤对应为通用拓扑程序启动时进行的初始化配置操作,具体为,读取每条配置的所有字段组合,然后将所有分组配置按顺序存入第一变量数组,例如configs,同时为每一条配置生成一条sql插入语句存入第二变量数组,例如sqls。
其中,生成一条sql插入语句举例如下:
对于一条配置为“分钟|客户端|版本”的情况,生成的sql插入语句可以为:
replace into minute_client_version(minute,client,version,num)values(?,?,?,?)
而对于一条配置为“秒|机房”的情况,生成的sql插入语句可以为:
replace into second_idc(second idc,num)values(?,?,?)
这些sql插入语句在通用拓补程序后续处理步骤中会用到,每个组合计算结果都会插入到各自的表中。
步骤1043、创建所述实时计算框架中的Stream的执行环境;设置事件时间为所述业务数据中的时间戳字段;设置所述消息队列为所述Stream的数据源。
具体实施时,本步骤对应为通用拓扑程序启动时进行的初始化拓扑操作,具体为,先创建Stream执行环境,设置事件时间为消息队列中的消息的时间戳,然后将Kafka设置为Stream的数据源。其中,所述业务数据中的时间戳字段可能是秒也可能是分,这取决于步骤102中实时上报的业务数据中的时间戳的表现形式,此为本领域公知常识,在次不再赘述。
步骤1044、遍历所述第一变量数组,其中每条所述配置形成一个分支流Stream,执行一次分组计算操作,将得到的对应的计算结果及对应的分组字段存储至所述第二变量数组中。
具体实施时,本步骤对应为通用拓扑程序的循环分组计算存储操作,具体为,遍历变量数组configs,其中存储在configs[i]中的每一项组合形成一个分支流Stream,做一次group by(configs[i])count分组计算操作,然后使用sqls[i]将分组字段与计算结果存储至相应数据表,i++,再循环执行分组计算存储操作。其中i为循环变量,一个对应一条配置。
本实施例中,在一条配置生成后,能够根据用户的需求,实现预览功能,具体为响应用户针对每条所述配置的预览指令,输出针对所述配置所对应的分组计算的示例结果。
基于本实施例生成的最终存储结果可以参考图3和图4,其中图3为基于配置“分钟|客户端|版本”生成的QPM表的示意图,图4为基于配置“秒|机房”生成的QPS表的示意图。根据用户的需求,可以从图3和图4计算的结果表中,进行二次汇总查询,具体例子如下:
1)用户选择‘分钟_客户端_版本‘菜单,选中android客户端就会生成如下sql语句:
select minute,client,sum(num)from minute_client_version where client='android'group by minute,client;查询数据后以趋势图展示,结果参考图5所示。
2)用户再选择一个版本2.0.0,就会生成如下sql语句:
select minute,client,version,sum(num)from minute_client_version whereclient='android'and version='1.0.0'group by minute,client,version;查询数据后以趋势图展示如图6所示。
本实施例提供的海量数据的实时监控方法实现了用户可以自由拖拽字段组合生成多条配置,就像搭积木一样简单,并根据用户指令能够自动触发产生实时计算程序计算存储并展示结果。本发明利用Flink分支流及分组计算技术,实现通过增加配置就能够快速的产生新的分组计算业务,快速适应业务需求的变化。
实施例2
如图7所示,本实施例提供了一种海量数据的实时监控系统,包括字段池模块1、原始数据获取模块2、分组计算配置模块3、预览模块4、分组实时计算模块5和分组计算展示模块6。
字段池模块1用于配置接入业务的字段池,所述字段池包括若干个按所述业务划分的字段。
本实施例中,字段池的配置工作由用户按业务进行划分,业务所能上报的字段越多的场景越适合,说明需求变化更多,越能节约大量的重复工作。
其中,每个字段就像一个积木,分三种类型,包括时间类型、有限种类的枚举型和用于计算的数值型。时间类型针对于用户上传的业务数据中带有的时间戳,根据该时间戳生成时间类型的字段,具体生成秒和分钟两个字段,分别用于计算QPS和QPM。所述有限种类的枚举型的字段包括接口、客户端、异常码、域名、版本、运营商、机房及省份中的至少一种,比如客户端包括android、apple、m等,为有限个数的字段。所述用于计算的数值型的字段包括入流量、耗时及出流量中的至少一种,比如‘耗时’字段,它的范围可以是1到无穷,这种字段可以用来做avg操作,求出平均耗时,sum操作可以求出总耗时;如果是分组count操作,用于计算请求量。
原始数据获取模块2用于按照所述字段池中的字段逐条上报业务数据至消息队列Kafka,以得到对应的每条所述原始数据;每条所述业务数据带有对应的时间戳;每条所述原始数据包括根据所述时间戳生成的所述时间类型的字段。
分组计算配置模块3用于对用户以拖拽方式从所述字段池中选择的若干个所述字段按照业务需求进行组合,以生成对应的一条配置。
其中,字段均是从配置好的字段池中拖拽下来进行组合的,可同时形成多个组合,对应多条配置,每个组合可以是多个字段;每条所述配置的第一个字段为所述时间类型的字段;当所述用户的需求为统计平均值或统计数据和时每条所述配置的最后一个字段为所述数值型的字段;每条所述配置的其它字段为所述枚举型的字段。
预览模块4用于响应用户针对每条所述配置的预览指令,输出针对所述配置所对应的分组计算的示例结果。本实施例中,在一条配置生成后,能够根据用户的需求,由预览模块实现预览功能。
分组实时计算模块5用于响应用户的启动指令,按照每条所述配置中的所述字段的组合使用实时计算框架Flink对原始数据进行分组计算,以得到对应的计算结果,并将所述计算结果存储至数据库。
如图8所示,本实施例中,所述分组实时计算模块5包括:初始化配置单元501、初始化拓扑单元502和循环分组计算存储单元503。其中,初始化配置单元501,用于获取若干条所述配置并逐条按顺序存入第一变量数组,为每条所述配置生成对应的sql插入语句并逐条按顺序存入第二变量数组。初始化拓扑单元502用于创建所述实时计算框架中的Stream的执行环境,设置事件时间为所述业务数据中的时间戳字段,设置所述消息队列为所述Stream的数据源。循环分组计算存储单元503用于遍历所述第一变量数组,其中每条所述配置形成一个分支流Stream,执行一次分组计算操作,将得到的对应的计算结果及对应的分组字段存储至所述第二变量数组中。
分组计算展示模块6用于根据所述用户的需求输出所述计算结果。
如图9所示,本实施例中,所述分组计算展示模块6包括菜单生成单元601和结果展示单元602。菜单生成单元601用于根据所述用户的需求触发页面生成相应菜单。结果展示单元602用于响应所述用户点击所述菜单,从所述数据库中查询对应的所述计算结果生成折线图。
本实施例提供的海量数据的实时监控系统通过分组计算配置模块实现了用户可以自由拖拽字段组合生成多条配置,就像搭积木一样简单,通过分组实时计算模块实现了根据用户指令能够自动触发产生实时计算程序计算存储并通过分组计算展示模块实现了对计算结果进行展示。本发明利用Flink分支流及分组计算技术,实现通过增加配置就能够快速的产生新的分组计算业务,快速适应业务需求的变化。
实施例3
图10为本发明实施例3提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1的海量数据的实时监控方法。图3显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的海量数据的实时监控方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1所提供的海量数据的实时监控方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1所述的海量数据的实时监控方法中的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (18)
1.一种海量数据的实时监控方法,其特征在于,包括以下步骤:
配置接入业务的字段池,所述字段池包括若干个按所述业务划分的字段;
对用户从所述字段池中选择的若干个所述字段按照业务需求进行组合,以生成对应的一条配置;
响应用户的启动指令,按照每条所述配置中的所述字段的组合使用实时计算框架对原始数据进行分组计算,以得到对应的计算结果,将所述计算结果存储至数据库;
根据所述用户的需求输出所述计算结果。
2.如权利要求1所述的海量数据的实时监控方法,其特征在于,
所述字段的类型包括时间类型、有限种类的枚举型和用于计算的数值型;
每条所述配置的第一个字段为所述时间类型的字段;
当所述用户的需求为统计平均值或统计数据和时每条所述配置的最后一个字段为所述数值型的字段;
每条所述配置的其它字段为所述枚举型的字段。
3.如权利要求2所述的海量数据的实时监控方法,其特征在于,所述实时监控方法还包括以下步骤:
按照所述字段池中的字段逐条上报业务数据至消息队列,以得到对应的每条所述原始数据;
每条所述业务数据带有对应的时间戳;
每条所述原始数据包括根据所述时间戳生成的所述时间类型的字段。
4.如权利要求3所述的海量数据的实时监控方法,其特征在于,
所述按照每条所述配置中的所述字段的组合使用实时计算框架对原始数据进行分组计算,以得到对应的计算结果,将所述计算结果存储至数据库,包括以下步骤:
获取若干条所述配置并逐条按顺序存入第一变量数组;为每条所述配置生成对应的sql插入语句并逐条按顺序存入第二变量数组;
创建所述实时计算框架中的Stream的执行环境;设置事件时间为所述业务数据中的时间戳字段;设置所述消息队列为所述Stream的数据源;
遍历所述第一变量数组,其中每条所述配置形成一个分支流Stream,执行一次分组计算操作,将得到的对应的计算结果及对应的分组字段存储至所述第二变量数组中。
5.如权利要求1所述的海量数据的实时监控方法,其特征在于,
所述对用户从所述字段池中选择的若干个所述字段按照业务需求进行组合,包括:
对所述用户以拖拽方式从所述字段池中选择的若干个所述字段按照业务需求进行组合。
6.如权利要求1所述的海量数据的实时监控方法,其特征在于,
所述根据所述用户的需求输出所述计算结果,包括:
根据所述用户的需求触发页面生成相应菜单;
响应所述用户点击所述菜单,从所述数据库中查询对应的所述计算结果生成折线图。
7.如权利要求1所述的海量数据的实时监控方法,其特征在于,所述实时监控方法还包括以下步骤:
响应用户针对每条所述配置的预览指令,输出针对所述配置所对应的分组计算的示例结果。
8.如权利要求2所述的海量数据的实时监控方法,其特征在于,
所述时间类型的字段包括秒和/或分钟;
所述有限种类的枚举型的字段包括接口、客户端、异常码、域名、版本、运营商、机房及省份中的至少一种;
所述用于计算的数值型的字段包括入流量、耗时及出流量中的至少一种。
9.如权利要求4所述的海量数据的实时监控方法,其特征在于,所述实时计算框架为Flink;所述消息队列为Kafka。
10.一种海量数据的实时监控系统,其特征在于,包括:
字段池模块,用于配置接入业务的字段池,所述字段池包括若干个按所述业务划分的字段;
分组计算配置模块,用于对用户从所述字段池中选择的若干个所述字段按照业务需求进行组合,以生成对应的一条配置;
分组实时计算模块,用于响应用户的启动指令,按照每条所述配置中的所述字段的组合使用实时计算框架对原始数据进行分组计算,以得到对应的计算结果,将所述计算结果存储至数据库;
分组计算展示模块,用于根据所述用户的需求输出所述计算结果。
11.如权利要求10所述的海量数据的实时监控系统,其特征在于,
所述字段的类型包括时间类型、有限种类的枚举型和用于计算的数值型;
每条所述配置的第一个字段为所述时间类型的字段;
当所述用户的需求为统计平均值或统计数据和时每条所述配置的最后一个字段为所述数值型的字段;
每条所述配置的其它字段为所述枚举型的字段。
12.如权利要求11所述的海量数据的实时监控系统,其特征在于,所述实时监控系统还包括:
原始数据获取模块,用于按照所述字段池中的字段逐条上报业务数据至消息队列,以得到对应的每条所述原始数据;
每条所述业务数据带有对应的时间戳;
每条所述原始数据包括根据所述时间戳生成的所述时间类型的字段。
13.如权利要求12所述的海量数据的实时监控系统,其特征在于,
所述分组实时计算模块包括:
初始化配置单元,用于获取若干条所述配置并逐条按顺序存入第一变量数组,为每条所述配置生成对应的sql插入语句并逐条按顺序存入第二变量数组;
初始化拓扑单元,用于创建所述实时计算框架中的Stream的执行环境,设置事件时间为所述业务数据中的时间戳字段,设置所述消息队列为所述Stream的数据源;
循环分组计算存储单元,用于遍历所述第一变量数组,其中每条所述配置形成一个分支流Stream,执行一次分组计算操作,将得到的对应的计算结果及对应的分组字段存储至所述第二变量数组中。
14.如权利要求10所述的海量数据的实时监控系统,其特征在于,
所述分组计算配置模块用于对所述用户以拖拽方式从所述字段池中选择的若干个所述字段按照业务需求进行组合。
15.如权利要求10所述的海量数据的实时监控系统,其特征在于,
所述分组计算展示模块包括:
菜单生成单元,用于根据所述用户的需求触发页面生成相应菜单;
结果展示单元,用于响应所述用户点击所述菜单,从所述数据库中查询对应的所述计算结果生成折线图。
16.如权利要求10所述的海量数据的实时监控系统,其特征在于,所述实时监控系统还包括:
预览模块,用于响应用户针对每条所述配置的预览指令,输出针对所述配置所对应的分组计算的示例结果。
17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述的海量数据的实时监控方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9任一项所述的海量数据的实时监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910033426.XA CN111435350A (zh) | 2019-01-14 | 2019-01-14 | 海量数据的实时监控方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910033426.XA CN111435350A (zh) | 2019-01-14 | 2019-01-14 | 海量数据的实时监控方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111435350A true CN111435350A (zh) | 2020-07-21 |
Family
ID=71579941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910033426.XA Pending CN111435350A (zh) | 2019-01-14 | 2019-01-14 | 海量数据的实时监控方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111435350A (zh) |
-
2019
- 2019-01-14 CN CN201910033426.XA patent/CN111435350A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
US8612486B2 (en) | Configuration management visualization | |
US11379482B2 (en) | Methods, systems, and computer readable mediums for performing an aggregated free-form query | |
JP7254975B2 (ja) | 実行可能論理を用いて構造化データアイテムを処理するためのキーベースのロギング | |
US20220263710A1 (en) | Self-monitoring | |
WO2023246347A1 (zh) | 数字孪生处理方法及数字孪生系统 | |
US20180349455A1 (en) | Methods, systems, and computer readable mediums for performing a free-form query | |
CN110874272A (zh) | 资源配置方法及装置、计算机可读存储介质、电子设备 | |
CN113220431B (zh) | 跨云的分布式数据任务调度方法、设备及存储介质 | |
CN111078695B (zh) | 计算企业内元数据关联关系的方法及装置 | |
CN112491617B (zh) | 一种链路跟踪方法、装置、电子设备和介质 | |
CN111858608A (zh) | 一种数据管理方法、装置、服务器和存储介质 | |
WO2019075845A1 (zh) | 链路调用关系的构建方法、装置、计算机设备及存储介质 | |
CN110096521A (zh) | 日志信息处理方法及装置 | |
CN111782452A (zh) | 接口对比测试的方法、系统、设备和介质 | |
Wang | Stream processing systems benchmark: Streambench | |
CN109800124B (zh) | Cpu使用率监控方法、装置、电子设备及存储介质 | |
CN108696559B (zh) | 流处理方法及装置 | |
CN113065139A (zh) | 告警接入方法及系统、电子设备及介质 | |
JP7305641B2 (ja) | リモートデバイスからのアプリケーションアクティビティデータをトラッキングし、リモートデバイスのための修正動作データ構造を生成するための方法およびシステム | |
EP4209933A1 (en) | Data processing method and apparatus, and electronic device and storage medium | |
WO2014036073A2 (en) | Method and apparatus for browsing large data network topology trees | |
CN111435350A (zh) | 海量数据的实时监控方法、系统、设备及存储介质 | |
CN109766238B (zh) | 基于session数的运维平台性能监控方法、装置及相关设备 | |
CN109840179B (zh) | RocketMQ线程数监控方法、装置、电子设备及存储介质 |
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 |