CN116610531A - 一种基于代码探针采集及请求图片上传的数据埋点方法 - Google Patents
一种基于代码探针采集及请求图片上传的数据埋点方法 Download PDFInfo
- Publication number
- CN116610531A CN116610531A CN202310862930.7A CN202310862930A CN116610531A CN 116610531 A CN116610531 A CN 116610531A CN 202310862930 A CN202310862930 A CN 202310862930A CN 116610531 A CN116610531 A CN 116610531A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- log
- domain name
- index
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000000523 sample Substances 0.000 title claims abstract description 42
- 230000003068 static effect Effects 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims abstract description 17
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 238000013461 design Methods 0.000 claims abstract description 11
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 238000007405 data analysis Methods 0.000 claims description 5
- 238000013523 data management Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 claims description 5
- 238000013075 data extraction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 2
- 230000002776 aggregation Effects 0.000 claims 1
- 238000004220 aggregation Methods 0.000 claims 1
- 230000003203 everyday effect Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000006399 behavior Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 206010063385 Intellectualisation Diseases 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000010252 digital analysis Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开的基于代码探针采集及请求图片上传的数据埋点方法,包括:根据产品业务功能设计数据埋点规范和内容文档;在前端业务代码中植入探针,封装函数接受探针调用以传入指定参数,组装为设计指标参数,作为请求GIF图片静态资源的参数;配置静态资源代理服务器捕获静态资源请求,将请求信息写入埋点域名日志中;解析静态资源代理服务器读取埋点域名日志,解析得到原始上报信息,加载至数据库索引,作为元数据数仓;根据产品业务功能设计数据分析维度指标,汇总分析数据库索引中的元数据,将汇总分析结果存储至关系型数据库的数据库表。本发明解决了当前技术实现中存在的用户行为数据采集多样、加工指标效率低下、接入成本居高不下的痛点。
Description
技术领域
本发明涉及数据埋点技术领域,具体涉及一种基于代码探针采集及请求图片上传的数据埋点方法。
背景技术
随着互联网技术的深入发展和应用,各种面向C端用户和B端客户的产品层出不穷,同一场景下的产品也是五花八门,这种情况对各产品之间的功能设计、用户体验要求不断提升,从而对于用户在产品的使用旅程中,不断收集用户的行为数据作为产品优化升级的数据依据;进而可以对产品运营也可以提供源源不断地数据来源,这部分数据是用户数据本身具备增值属性,为精准刻画用户画像、用户兴趣深入挖掘,进而进一步提高产品的价值增长点。
在采集用户行为数据采集中,经常面临数据采集不全面、数据采集方法严重侵入业务逻辑、埋点数据属性缺乏统一的属性管理造成采集数据不全;在数据上报至数仓的过程中,存在多种上报方案复杂且工作量巨大、上报丢失数据、过度消耗网络带宽、无法实现异步的、准实时的传输等问题;在数据存储过程中,存在数据埋点积累量过大、埋点数据预处理复杂且过度消耗服务器性能、数据检索性能差,进而无法满足用户行为分析、产品智能化、数字化分析,达到精细化运营的实际需要,无法解决数据应用过程中的难点和痛点。
针对埋点数据采集、数据传输和数据存储的上述问题,目前的数据埋点技术应用,尚无行之有效且全流程的解决方案。
发明内容
发明目的:本发明目的在于针对现有技术的不足,提供一种基于代码探针采集及请求图片上传的数据埋点方法,解决了当前技术实现中存在的用户行为数据采集多样、加工指标效率低下、接入成本居高不下的痛。
技术方案:本发明所述基于代码探针采集及请求图片上传的数据埋点方法,包括如下步骤:
S1:根据产品业务功能设计数据埋点规范和内容文档;
S2:根据数据埋点规范和内容文档在前端业务代码中植入探针,封装函数接受探针调用以传入点击事件编号、点击事件描述、点击事件携带的变量数据,根据数据埋点内容文档,按照Key-Value格式化封装变量数据,并将封装后的变量数据进行JSON序列化后,作为1*1像素GIF图片静态资源的请求参数;
S3:配置Nginx静态资源代理服务器捕获静态资源请求,将请求信息写入埋点域名日志中,采用filebeat读取埋点域名日志并输出至Logstash,Logstash对埋点域名日志进行抽取和转换得到有效数据输出至Kafka消息队列,同时转换为JSON格式;
S4:实时消费Kafka消息队列,解析得到原始上报信息,将其解析成key=value对,存入Elasticsearch数据库索引,作为元数据数仓。
进一步完善上述技术方案,所述S1中采用4W1H指标规范设计数据埋点规范,所述数据埋点的内容文档采用事件模型描述用户的行为,事件模型包括事件和用户两个核心实体;所述数据埋点对应元数据实体类包括基础属性和业务衍生属性,所述业务衍生属性包括页面属性和事件属性,封装初始化函数,赋值基础属性字段。
进一步地,所述S2中前端植入JavaScript探针,封装函数saveRouteInto、saveRouteLeave、saveEvent接受探针调用以分别传入点击事件编号、点击事件描述、点击事件携带的变量数据并赋值业务衍生属性,将探针采集的基础属性和业务衍生属性按照Key-Value的形式格式化为JSON字符串,并采用encodeURIComponent转码,作为1*1像素GIF图片静态资源的请求参数,上报参数以queryString形式拼接在指定的url路径后,一次请求会记录一条请求日志,以此作为下一步数据抽取的基础数据。
进一步地,所述S3在Nginx配置文件中新增server配置项,监听埋点域名,若监听到埋点域名的请求,则把请求信息存放到指定路径的埋点域名日志中;在filebeat配置文件中,配置埋点域名日志所在的路径,filebeat定时地去读取埋点域名日志信息,并把读取到的日志信息作为Logstash的输入;Logstash监听filebeat的output端口,并把推送过来的日志信息通过filter过滤器,转换为有效的JSON数据,转换后的数据被推送到指定主题的kafka。
进一步地,所述Logstash通过配置文件logstash.conf指定数据处理的input来自于filebeat,在filter组件中配置grok,过滤出埋点域名日志中的数据,根据Key-Value解析、识别字段并构建结构,将半结构化数据转换为通用格式的结构化数据以得到日志参数,然后通过output指定输出到对应的Kafka消息队列business_card,同时转换为JSON格式,通过消费者程序进行消费,将结果写入Elasticsearch,使用日期每日生成一个索引。
进一步地,所述S4中实时消费Kafka消息队列business_card主题中的字段,Elasticsearch的数据治理服务将数据统一解析和处理,并根据数据埋点类型进行分类和聚合,治理完成后,Kafka通道将以队列的形式加载存储至Elasticsearch数据库索引,作为元数据数仓。
进一步地,所述消费者程序包括消息接收模块和消息处理模块,所述消息接收模块主要用于接收日志消息,所述日志消息携带有类型标识,用于区分不同主体的数据;所述消息处理模块主要用于判断所述日志消息是否为系统需要的kafka消息;若否,则丢弃该kafka消息;若是,则消费kafka消息;消费流程如下:1)校验消息完整性;2)获取消息请求头,根据请求头中的消息类型进行分类处理;3)消息入库。
进一步地,所述Elasticsearch数据库索引数仓将数据做冷备/热备进行备份,备份机制为定时执行备份命令做全量备份。
进一步地,还包括S5:根据产品业务功能设计数据分析维度指标,定时执行数据清洗任务,将元数据按照数据分析维度指标,进行联机分析处理,并将结果数据存储至关系型数据库的数据库表。
有益效果:与现有技术相比,本发明的优点在于:本发明前端采用JavaScript探针技术实现用户行为数据的采集信息,并按照指定指标加工,解决了当前技术实现中存在的用户行为数据采集多样、加工指标效率低下、接入成本居高不下的痛点;采用1*1像素GIF静态资源图片上报埋点数据并结合Nginx Log日志,解决了上报方案复杂、上报丢失数据、过度消耗网络带宽、无法实现异步的、准实时的传输等问题,进而无法满足实时指标计算、用户行为分析、产品智能化、数字化分析,达到精细化运营的实际需要;Logstash中转至Kafka,数据治理将数据统一进行解析和处理,并根据数据埋点类型进行分类和聚合,以队列形式接入存储至Elasticsearch数据库索引,解决了复杂的业务系统下,无法支撑分布式场景下的众多应用的数据埋点上报,同时适用于高流量的数据写入,进而支持横向扩展、动态扩充指标字段,支持精确和模糊匹配查询,并且存储介质成本低廉可控。
附图说明
图1是本发明基于代码探针采集及请求图片上传的数据埋点方法的架构图;
图2是本发明基于代码探针采集及请求图片上传的数据埋点方法的流程图。
具体实施方式
下面通过附图对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,本发明提供的基于代码探针采集及请求图片上传的数据埋点方法的架构,前端采用JavaScript探针技术实现用户行为数据的采集信息,并按照指定指标加工,解决了当前技术实现中存在的用户行为数据采集多样、加工指标效率低下、接入成本居高不下的痛点。使用1*1像素GIF静态资源图片上报埋点数据并结合Nginx Log日志,解决了上报方案复杂,上报丢失数据,过度消耗网络带宽,无法实现异步的、准实时的传输等问题,进而无法满足实时指标计算、用户行为分析、产品智能化、数字化分析,达到精细化运营的实际需要。Logstash中转至Kafka,数据治理将数据统一进行解析和处理,并根据数据埋点类型进行分类和聚合,以队列形式接入存储至Elasticsearch数据库索引,解决了复杂的业务系统下,无法支撑分布式场景下的众多应用的数据埋点上报,同时适用于高流量的数据写入,进而支持横向扩展、动态扩充指标字段,支持精确和模糊匹配查询,并且存储介质成本低廉可控。
为了实现上述架构,如图2所示,本发明采用了基于代码探针采集及请求图片上传的数据埋点方法,包括如下步骤:
S1、首先,根据产品业务功能设计数据埋点规范和内容文档,设计原则是:针对需要数据埋点的业务,设计独立的埋点和精确的数据参数,便于更精准的分析;指标规范使用4W1H进行表示:WHO(ID识别)、WHEN(时间戳)、WHAT(是什么)、WHERE(位置、环境、场景、终端)、HOW(维度特征);数据埋点的内容使用事件模型(Event模型)来描述用户的各种行为,事件模型包括事件(Event)和用户(User)两个核心实体,进而整个数据埋点的属性,可以分为两大类:事件属性、用户属性;其中用户属性就是用户状态与标签的记录,是由制定的事件进行赋值/更新,这部分用户属性被称为自定义属性,还有一部分是由系统定义的属性,不会跟随数据埋点内容更新,被称为固定属性;事件属性是指用户行为,在使用软件、平台过程中,用户具体操作的记录,一般会使用一个或者多个事件表示用户行为。
S2、然后,根据步骤S1提供的数据埋点规范和内容文档,前端在工程应用植入JavaScript探针,封装函数saveRouteInto、saveRouteLeave、saveEvent接受探针调用并接收指定参数,组装为设计指标参数,其中包括基础属性和衍生业务属性,将参数格式化拼接后,作为请求1*1像素GIF静态资源图片的参数;
S3、Nginx静态资源代理服务器捕获指定静态资源请求,并将请求信息存入Log日志;
S4、进入ETL过程进行数据抽取、转换、装载,通过Logstash解析Nginx静态资源代理服务器读取Log日志,同时中转至Kafka消息队列business_card,Kafka接收到消息,数据治理服务将数据统一解析和处理,并根据数据埋点类型进行分类和聚合,治理完成后,Kafka通道将以队列的形式加载存储至Elasticsearch数据库索引,作为元数据数仓;同时,为保证数据安全和数据完整,Elasticsearch数据库索引数仓将数据做冷备/热备进行备份,备份机制为定时执行备份命令做全量备份。
S5、最后,根据产品业务不同的数据分析维度指标,汇总分析Elasticsearch数据库索引中的元数据,并将汇总分析结果数据存储至关系型数据库MySQL数据库表,提升数据可视化展示性能。
上述技术方案已经较为详细的描述一种基于代码探针采集及请求图片上报的数据埋点方法的实现步骤。
实施例2:作为实施例1进一步改进方案,在步骤S2收集数据埋点的基础属性和业务衍生属性,常量属性的优化方法包括:使用代理标识表示,并以Key-Value的形式格式化为JSON字符串,进一步减少上报数据报文体积大小,提升传输效率;
步骤S2中上报数据埋点的优化方法包括:使用1*1像素GIF图片静态资源作为上报方法,将JavaScript探针采集的衍生业务属性和系统采集的基础属性使用encodeURIComponent转码,以queryString形式拼接为图片静态资源请求链接参数;每一次触发探针,将收集的埋点数据实时传递,防止数据丢失;Nginx静态资源代理服务器访问日志access.log中存储传递过来的日志信息,上报参数以queryString形式拼接在指定的url路径后,一次请求会记录一条请求日志,以此作为下一步数据抽取的基础数据。
步骤S4中数据ETL预处理(抽取、转换、加载)及元数据存储的优化方法包括:NginxLog日志数据传输到存储库Elasticsearch的过程中,Logstash筛选器能够根据Key-Value解析、识别字段并构建结构,将半结构化数据转换为通用格式的结构化数据;并实时中转至Kafka消息队列business_card;通过Java服务KafkaListener方法实时消费Kafka消息队列business_card主题中的字段,并将一条记录中的phone或者taskId字段作为oneId,存入Elasticsearch数据库索引business_card中作为元数据仓库;
从支持数据项目搜索、支持多维度筛选、过滤、吞吐效率、学习、使用、运维成本、集群稳定性和可维护性方面考虑,更倾向于Elasticsearch的原生功能,最终选择Elasticsearch数据库作为元数据数仓,供后续业务分析查询使用。Elasticsearch数据库索引business_card具备两种元数据存储方案,第一种是:根据时间切割索引business_card,例如根据日期切割索引:business_card_20230405;另一种方案是将business_card单个索引作为元数据存储空间;这两种方案根据实际应用场景选择,并无优劣之分。
本发明提供的基于代码探针采集及请求图片上报的数据埋点方法,通过自定义埋点设计文档和埋点数据事件,全面的定义了用户行为属性,使得数据埋点采集数据更精准,整个数据加工的流程更加清晰,并使得埋点数据的设计和定义更加规范化、语义化;针对埋点的元数据管理统一建设数仓,目的是构建面向分析的集成化数据环境,为联机分析处理(Online Analytical Processing、OLAP)过程提供数据源,最终生产面向业务主题的数据分析应用,为产品优化、发展方向提供决策支持,满足产品系统对本身功能优化、用户对于产品系统使用体验提升的数据支撑,最终达到产品智能化、数据产品精细化的实际需要。
实施例3:本实施例基于上述方案提供一个具体的应用方案。
S1:设计数据埋点说明文档,数据埋点的内容可以使用事件模型(Event模型)来描述用户的各种行为,事件模型包括事件(Event)和用户(User)两个核心实体,进而整个数据埋点的属性,可以分为两大类:事件属性、用户属性。分别针对App、H5、小程序端的埋点设计大同小异,只需要注意一些基本规范,例如属性要包含中文显示名、英文变量名;属性值类型和说明以微信小程序端为例,基础属性包括:设备信息(设备品牌、型号、类型),系统信息(系统名称、版本),应用信息(应用名称、版本、语言、网络类型、渠道),用户信息(用户id、openId、手机号、国家、省份、城市);业务衍生属性包括:页面属性(页面编码、名称、路径、停留时长),事件属性(事件编码、名称、类型、事件具体内容、触发的时间戳);
S2:前端依据数据埋点说明文档,封装三个公共JavaScript探针:进入页面:saveRouteInto,离开页面:saveRouteLeave,事件:saveEvent;根据业务代码并结合数据埋点说明文档,在业务代码中置入对应的探针;当探针执行后,请求1*1像素透明GIF网络地址https://point.domain.com/1.gif,同时把 encodeURIComponent 方法转码后的参数拼接在此链接;具体格式如下:https://point.jsszkd.com/1.gif?appName=链客云&appVersion=1.0.0&language=zh;
S3:Nginx配置埋点域名server,每次访问埋点域名,写入埋点域名日志中。filebeat读取该埋点域名日志,输出到Logstash。Logstash的ETL预处理过程对Log日志进行抽取和转换,使用filter过滤器中的grok插件匹配日志参数,即1*1像素透明GIF网络地址后的参数,配置output输出至Kafka主题消息队列business_card,同时转换为JSON格式;
S4:根据步骤S3中得到的基础属性和业务衍生属性,Java服务KafkaListener方法实时消费Kafka消息队列business_card;创建kafka topic,名为business_card,使用javaapi,本发明中使用的是spring-kafka,消费者程序接收到请求消息后,通过URLDecoder.decode解析,得到原始上报信息,将其解析成key=value对,作为下一步写入Elasticsearch的入参;
S5:数据存入Elasticsearch数据库索引,作为元数据数仓,创建索引business_card,使用java api,本发明中使用的是RestClient,允许java客户端通过HTTP协议与Elasticsearch服务进行通信,RestClient利用应用层HTTP调用传输层Tcp,用完便可关闭,是短链接,可降低系统开销,以提高系统性能;将步骤S4中得到的key=value对作为入参,调用RestClientApi,构建Elasticsearch对象并写入。如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上作出各种变化。
Claims (9)
1.一种基于代码探针采集及请求图片上传的数据埋点方法,其特征在于,包括如下步骤:
S1:根据产品业务功能设计数据埋点规范和内容文档;
S2:根据数据埋点规范和内容文档在前端业务代码中植入探针,封装函数接受探针调用以传入点击事件编号、点击事件描述、点击事件携带的变量数据,根据数据埋点内容文档,按照Key-Value格式化封装变量数据,并将封装后的变量数据进行JSON序列化后,作为1*1像素GIF图片静态资源的请求参数;
S3:配置Nginx静态资源代理服务器捕获静态资源请求,将请求信息写入埋点域名日志中,采用filebeat读取埋点域名日志并输出至Logstash,Logstash对埋点域名日志进行抽取和转换得到有效数据输出至Kafka消息队列,同时转换为JSON格式;
S4:实时消费Kafka消息队列,解析得到原始上报信息,将其解析成key=value对,存入Elasticsearch数据库索引,作为元数据数仓。
2.根据权利要求1所述的基于代码探针采集及请求图片上传的数据埋点方法,其特征在于:所述S1中采用4W1H指标规范设计数据埋点规范,所述数据埋点的内容文档采用事件模型描述用户的行为,事件模型包括事件和用户两个核心实体;所述数据埋点对应元数据实体类包括基础属性和业务衍生属性,所述业务衍生属性包括页面属性和事件属性,封装初始化函数,赋值基础属性字段。
3.根据权利要求2所述的基于代码探针采集及请求图片上传的数据埋点方法,其特征在于:所述S2中前端植入JavaScript探针,封装函数saveRouteInto、saveRouteLeave、saveEvent接受探针调用以分别传入点击事件编号、点击事件描述、点击事件携带的变量数据并赋值业务衍生属性,将探针采集的基础属性和业务衍生属性按照Key-Value的形式格式化为JSON字符串,并采用encodeURIComponent转码,作为1*1像素GIF图片静态资源的请求参数,上报参数以queryString形式拼接在指定的url路径后,一次请求会记录一条请求日志,以此作为下一步数据抽取的基础数据。
4.根据权利要求3所述的基于代码探针采集及请求图片上传的数据埋点方法,其特征在于:所述S3在Nginx配置文件中新增server配置项,监听埋点域名,若监听到埋点域名的请求,则把请求信息存放到指定路径的埋点域名日志中;在filebeat配置文件中,配置埋点域名日志所在的路径,filebeat定时地去读取埋点域名日志信息,并把读取到的日志信息作为Logstash的输入;Logstash监听filebeat的output端口,并把推送过来的日志信息通过filter过滤器,转换为有效的JSON数据,转换后的数据被推送到指定主题的kafka。
5.根据权利要求4所述的基于代码探针采集及请求图片上传的数据埋点方法,其特征在于:所述Logstash通过配置文件logstash.conf指定数据处理的input来自于filebeat,在filter组件中配置grok,过滤出埋点域名日志中的数据,根据Key-Value解析、识别字段并构建结构,将半结构化数据转换为通用格式的结构化数据以得到日志参数,然后通过output指定输出到对应的Kafka消息队列business_card,同时转换为JSON格式,通过消费者程序进行消费,将结果写入Elasticsearch,使用日期每日生成一个索引。
6.根据权利要求5所述的基于代码探针采集及请求图片上传的数据埋点方法,其特征在于:所述S4中实时消费Kafka消息队列business_card主题中的字段,Elasticsearch的数据治理服务将数据统一解析和处理,并根据数据埋点类型进行分类和聚合,治理完成后,Kafka通道将以队列的形式加载存储至Elasticsearch数据库索引,作为元数据数仓。
7.根据权利要求6所述的基于代码探针采集及请求图片上传的数据埋点方法,其特征在于:所述消费者程序包括消息接收模块和消息处理模块,所述消息接收模块主要用于接收日志消息,所述日志消息携带有类型标识,用于区分不同主体的数据;所述消息处理模块主要用于判断所述日志消息是否为系统需要的kafka消息;若否,则丢弃该kafka消息;若是,则消费kafka消息;消费流程如下:1)校验消息完整性;2)获取消息请求头,根据请求头中的消息类型进行分类处理;3)消息入库。
8.根据权利要求7所述的基于代码探针采集及请求图片上传的数据埋点方法,其特征在于:所述Elasticsearch数据库索引数仓将数据做冷备/热备进行备份,备份机制为定时执行备份命令做全量备份。
9.根据权利要求1所述的基于代码探针采集及请求图片上传的数据埋点方法,其特征在于,还包括S5:根据产品业务功能设计数据分析维度指标,定时执行数据清洗任务,将元数据按照数据分析维度指标,进行联机分析处理,并将结果数据存储至关系型数据库的数据库表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310862930.7A CN116610531B (zh) | 2023-07-14 | 2023-07-14 | 基于代码探针采集数据埋点及请求图片上传数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310862930.7A CN116610531B (zh) | 2023-07-14 | 2023-07-14 | 基于代码探针采集数据埋点及请求图片上传数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116610531A true CN116610531A (zh) | 2023-08-18 |
CN116610531B CN116610531B (zh) | 2023-09-29 |
Family
ID=87678486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310862930.7A Active CN116610531B (zh) | 2023-07-14 | 2023-07-14 | 基于代码探针采集数据埋点及请求图片上传数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610531B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990619A (zh) * | 2019-10-12 | 2020-04-10 | 平安银行股份有限公司 | 埋点数据查询方法、装置、系统、设备和计算机存储介质 |
CN111581054A (zh) * | 2020-04-30 | 2020-08-25 | 重庆富民银行股份有限公司 | 一种基于elk的日志埋点的业务分析告警系统及方法 |
CN112486708A (zh) * | 2020-12-16 | 2021-03-12 | 中国联合网络通信集团有限公司 | 页面操作数据的处理方法和处理系统 |
-
2023
- 2023-07-14 CN CN202310862930.7A patent/CN116610531B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990619A (zh) * | 2019-10-12 | 2020-04-10 | 平安银行股份有限公司 | 埋点数据查询方法、装置、系统、设备和计算机存储介质 |
CN111581054A (zh) * | 2020-04-30 | 2020-08-25 | 重庆富民银行股份有限公司 | 一种基于elk的日志埋点的业务分析告警系统及方法 |
CN112486708A (zh) * | 2020-12-16 | 2021-03-12 | 中国联合网络通信集团有限公司 | 页面操作数据的处理方法和处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116610531B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109151078B (zh) | 一种分布式智能邮件分析过滤方法、系统及存储介质 | |
CN112000636A (zh) | 基于Flink流式处理的用户行为统计分析方法 | |
CN107451149B (zh) | 流量数据查询任务的监控方法及其装置 | |
CN110909063A (zh) | 一种用户行为的分析方法、装置、应用服务器及存储介质 | |
CN111597257A (zh) | 数据库的同步方法、装置、存储介质及终端 | |
CN109753502B (zh) | 一种基于NiFi的数据采集方法 | |
CN102902813A (zh) | 日志收集系统 | |
CN112181960A (zh) | 一种基于AIOps的智能运维框架系统 | |
CN106407078A (zh) | 基于信息交互的客户端性能监控装置及方法 | |
CN110858192A (zh) | 一种日志查询方法和系统、日志排查系统和查询终端 | |
CN102937984B (zh) | 一种收集数据的系统、客户端和方法 | |
CN113868248A (zh) | 指标数据预聚合方法 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN116610531B (zh) | 基于代码探针采集数据埋点及请求图片上传数据的方法 | |
CN114443599A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN112328667A (zh) | 一种基于数据血缘的页岩气田地面工程数字化移交方法 | |
CN114265883B (zh) | 一种实时数据治理的方法、设备、存储介质 | |
Racka | Apache Nifi As A Tool For Stream Processing Of Measurement Data | |
CN114153938A (zh) | 一种用于非结构化数据的采集方法及其系统 | |
CN113919446A (zh) | 多媒体资源的模型训练及相似度确定方法和装置 | |
CN113111244A (zh) | 基于中医药知识规模化普及的多源异构大数据融合系统 | |
CN113760734A (zh) | 一种数据准备方法及装置、设备、存储介质 | |
JP2020154381A (ja) | 情報処理システム、情報処理装置、情報処理方法およびプログラム | |
CN113569122B (zh) | 一种地图瓦片数据爬虫的识别方法及系统 | |
CN114911862B (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 |