基于TCPDUMP和分布式消息队列实现的数据热度采集方法和系统技术方案

技术编号:38613180 阅读:10 留言:0更新日期:2023-08-26 23:40
本发明专利技术公开一种基于TCPDUMP和分布式消息队列实现的数据热度采集方法,属于数据库技术领域;该方法包括:创建数据源;通过TCPDUMP组件截取发送至数据源的SQL脚本并进行脚本组装,得到组装脚本;将组装脚本发送到分布式消息队列;根据分布式消息队列中的组装脚本,对数据源进行数据热度采集。本发明专利技术还公开一种基于TCPDUMP和分布式消息队列实现的数据热度采集方法。本发明专利技术保证了系统在大数据量的时候也能保持稳定运行。能保持稳定运行。能保持稳定运行。

【技术实现步骤摘要】
基于TCPDUMP和分布式消息队列实现的数据热度采集方法和系统


[0001]本专利技术涉及数据库
,具体涉及一种基于TCPDUMP和分布式消息队列实现的数据热度采集方法和系统。

技术介绍

[0002]随着企业的不断发展和壮大,企业内部的数据也在不断沉淀。管理和分析这些数据中的热点数据,是企业数据资产管理中的重要一环。目前市面上的数据库存储系统很多,每个企业从发展之初到现在都经历了不同的阶段,每个阶段可能采用的数据存储系统都不相同,而且有些企业中的应用众多,不同的应用也都往往采用不同的数据库存储系统,不同的数据库存储系统不能通用。

技术实现思路

[0003]本专利技术的目的在于提供一种基于TCPDUMP和分布式消息队列实现的数据热度采集方法及系统
[0004]为解决上述技术问题,本专利技术提供一种基于TCPDUMP和分布式消息队列实现的数据热度采集方法,包括以下步骤:
[0005]创建数据源;
[0006]通过TCPDUMP组件截取发送至数据源的SQL脚本并进行脚本组装,得到组装脚本;
[0007]将组装脚本发送到分布式消息队列;
[0008]根据分布式消息队列中的组装脚本,对数据源进行数据热度采集。
[0009]优选地,截取发送至数据源的SQL脚本并进行脚本组装,得到组装脚本,具体包括以下步骤:
[0010]服务端向客户端发送热度采集开启指令;
[0011]客户端在接收到热度采集开启指令之后,截取服务端发送至数据源的SQL脚本;r/>[0012]对截取的SQL脚本进行脚本组装,得到组装脚本。
[0013]优选地,所述热度采集开启指令包括客户端ID。
[0014]优选地,对截取的SQL脚本进行脚本组装,得到组装脚本,具体包括以下步骤:
[0015]通过MsgManager组件对截取SQL脚本和客户端ID进行封装,作为组装脚本。
[0016]优选地,根据分布式消息队列中的组装脚本,对数据源进行数据热度采集,具体包括以下步骤:
[0017]通过正则验证器验证分布式消息队列中的组装脚本,得到验证后组装脚本;
[0018]根据验证后组装脚本对数据源进行数据热度采集。
[0019]优选地,还包括以下步骤:
[0020]在客户端在接收到热度采集开启指令时,向服务端发送心跳信息;
[0021]服务端根据心跳信息判断是否推送正常。
[0022]优选地,向服务端发送心跳信息,具体包括以下步骤:
[0023]每15s就会向服务端发送心跳信息。
[0024]优选地,服务端根据心跳信息判断是否推送正常,具体包括以下步骤:
[0025]服务端检测心跳信息判断是否心跳正常;
[0026]服务器在3次检测到心跳不正常时,判断为推送正常。
[0027]本专利技术还提供一种基于TCPDUMP和分布式消息队列实现的数据热度采集系统,包括:
[0028]数据源创建模块,用于创建数据源;
[0029]信息截取模块,用于通过TCPDUMP组件截取发送至数据源的SQL脚本并进行脚本组装,得到组装脚本;
[0030]发送模块,用于将组装脚本发送到分布式消息队列;
[0031]采集模块,用于根据分布式消息队列中的组装脚本,对数据源进行数据热度采集。
[0032]与现有技术相比,本专利技术的有益效果为:
[0033]本专利技术通过TCPDUMP截获任何发送至服务器的SQL脚本,从而无需考虑具体的RDBMS实现。
[0034]本专利技术基于本地文件存储的异常恢复机制:当采集客户端和采集服务端之间出现异常情况无法正常数据传输情况下,采集客户端暂时将数据写入本地文件系统中,待异常恢复之后,将本地文件读出发送至采集客户端。
[0035]本专利技术保证了系统在大数据量的时候也能保持稳定运行,而且采集服务端以组的方式接入,在数据量大的情况也可以通过增加Consumer的数量来提高数据处理能力,以保证热度数据的近实时展示。
[0036]本专利技术支持自定义正则过滤的数据采集配置:采集客户端对热度采集的数据源可以进行采集过滤,通过设置过滤正则表达式来设置不需要采集的SQL。比如设置某个表的热度数据不需要进行采集等。
附图说明
[0037]下面结合附图对本专利技术的具体实施方式作进一步详细说明。
[0038]图1为本专利技术基于TCPDUMP和分布式消息队列实现的数据热度采集系统的整体架构图;
[0039]图2为本专利技术热度采集实现过程总体流程图;
[0040]图3为本专利技术热度采集客户端MsgManager数据推送的详细流程图。
[0041]图4为本专利技术一种基于TCPDUMP和分布式消息队列实现的数据热度采集方法的流程示意图。
具体实施方式
[0042]在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广,因此本专利技术不受下面公开的具体实施的限制。
[0043]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,
而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0044]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0045]下面结合附图对本专利技术做进一步的详细描述:
[0046]如图4所示,本专利技术提供一种基于TCPDUMP和分布式消息队列实现的数据热度采集方法,包括以下步骤:
[0047]创建数据源;
[0048]通过TCPDUMP组件截取发送至数据源的SQL脚本并进行脚本组装,得到组装脚本;
[0049]将组装脚本发送到分布式消息队列;
[0050]根据分布式消息队列中的组装脚本,对数据源进行数据热度采集。
[0051]优选地,截取发送至数据源的SQL脚本并进行脚本组装,得到组装脚本,具体包括以下步骤:
[0052]服务端向客户端发送热度采集开启指令;
[0053]客户端在接收到热度采集开启指令之后,截取服务端发送至数据源的SQL脚本;
[0054]对截取的SQL脚本进行脚本组装,得到组装脚本。
[00本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.基于TCPDUMP和分布式消息队列实现的数据热度采集方法,其特征在于,包括以下步骤:创建数据源;通过TCPDUMP组件截取发送至数据源的SQL脚本并进行脚本组装,得到组装脚本;将组装脚本发送到分布式消息队列;根据分布式消息队列中的组装脚本,对数据源进行数据热度采集。2.根据权利要求1所述的基于TCPDUMP和分布式消息队列实现的数据热度采集方法,其特征在于,截取发送至数据源的SQL脚本并进行脚本组装,得到组装脚本,具体包括以下步骤:服务端向客户端发送热度采集开启指令;客户端在接收到热度采集开启指令之后,截取服务端发送至数据源的SQL脚本;对截取的SQL脚本进行脚本组装,得到组装脚本。3.根据权利要求2所述的基于TCPDUMP和分布式消息队列实现的数据热度采集方法,其特征在于:所述热度采集开启指令包括客户端ID。4.根据权利要求3所述的基于TCPDUMP和分布式消息队列实现的数据热度采集方法,其特征在于:对截取的SQL脚本进行脚本组装,得到组装脚本,具体包括以下步骤:通过MsgManager组件对截取SQL脚本和客户端ID进行封装,作为组装脚本。5.根据权利要求1所述的基于TCPDUMP和分布式消息队列实现的数据热度采集方法,其特征在于:根据分布式消息队列中的组装脚本,对数据源进行数据热度采集,具体包括以下步骤:通过正则验证器验证分布式消息...

【专利技术属性】
技术研发人员:毛肖瑶原攀峰陈廷梁陈廷权
申请(专利权)人:浙江数新网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1