CN105718295A - 数据采集及解析方法及系统 - Google Patents
数据采集及解析方法及系统 Download PDFInfo
- Publication number
- CN105718295A CN105718295A CN201610055952.2A CN201610055952A CN105718295A CN 105718295 A CN105718295 A CN 105718295A CN 201610055952 A CN201610055952 A CN 201610055952A CN 105718295 A CN105718295 A CN 105718295A
- Authority
- CN
- China
- Prior art keywords
- data
- local disk
- reported
- data acquisition
- kafka
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Abstract
本发明涉及行为数据的日常采集及解析。本发明提供一种数据采集及解析方法,终端上报数据时,系统采集上报数据,根据预设周期存储至本地磁盘;系统对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。数据采集及解析系统,包括数据采集接口、本地磁盘、数据解析模块及kafka存储节点;所述数据采集接口,用于终端上报数据时,采集上报数据,并根据预设周期将上报数据存储至本地磁盘;所述数据解析模块,用于对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。快速可靠的实现对终端上传数据的采集和解析。适用于在Java技术基础上,构建大规模数据的采集及解析。
Description
技术领域
本发明涉及终端上报的行为数据的日常采集及解析,特别涉及在Java技术基础上,构建大规模数据的采集及解析。
背景技术
随着智能家电的普及,如何分析用户终端的各项数据,挖掘用户的隐形需求,为用户提供更加丰富、友好的服务,成为各大家电厂商研究的重要方向。基于这些要求,对终端数据的采集和解析,为后续的大数据处理工作提供数据支撑,成为了一项重要的基础工作。
Java技术广泛应用于各大系统平台的软件开发,利用Java技术开发web程序进行数据采集、数据解析,可以跨平台移植,方便进行大规模部署、更新、升级。传统的数据采集、解析方法包括两种:一、数据的实时采集、解析;二、数据的延时采集、解析。实时的数据采集、解析方法由一套web程序提供采集、解析功能,即在数据上报的第一时间触发采集、解析程序,采集到的数据立刻进行解析、存储;延时的数据采集、解析方法的则由采集程序和解析程序构成,采集程序先将终端上报的数据写入到服务器的本地磁盘空间,解析程序扫描本地数据文件,读取数据进行解析处理、存储。
发明内容
本发明所要解决的技术问题,就是提供一种数据采集及解析方法及系统以实现更加快速、可靠的数据采集及解析。
本发明解决所述技术问题,采用的技术方案是,数据采集及解析方法,包括:终端上报数据时,系统采集上报数据,根据预设周期存储至本地磁盘;系统对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。
具体的,终端通过post方式上报数据。
具体的,系统采集上报数据,将其转换为String格式的字符串,并将字符串保存在列表中,根据预设周期将列表中的数据写入到本地磁盘。
具体的,系统对本地磁盘存储数据进行多线程扫描解析,每个线程中,系统将String类型的字符串数据转换为json格式的数据,获取各字段值,并对各字段值进行解析。
进一步的,所述对各字段值进行解析包括:获取"designation"字段值判断解密类型,调用解密程序进行数据解密,得到解密数据;获取"ip"字段值,调用IP解析程序对IP进行解析,得到IP地址信息及时间信息。
进一步的,系统将解密数据、IP地址信息及时间信息组合成json格式的数据存入kafka,所述kafka存储节点至少为一个。
数据采集及解析系统,包括数据采集接口、本地磁盘、数据解析模块及kafka存储节点;所述数据采集接口与本地磁盘连接,本地磁盘与数据解析模块连接,数据解析模块与kafka存储节点连接;
所述数据采集接口,用于终端上报数据时,采集上报数据,并根据预设周期将上报数据存储至本地磁盘;
所述数据解析模块,用于对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。
具体的,终端通过post方式上报数据至数据采集接口。
具体的,数据采集接口采集上报数据,将其转换为String格式的字符串,并将字符串保存在列表中,根据预设周期将列表中的数据写入到本地磁盘。
具体的,数据解析模块对本地磁盘存储的上报数据进行多线程扫描解析,每个线程中,系统将String类型的字符串数据转换为json格式的数据,获取各字段值,并对各字段值进行解析。
进一步的,所述对各字段值进行解析包括:获取"designation"字段值判断解密类型,调用解密程序进行数据解密,得到解密数据;获取"ip"字段值,调用IP解析程序对IP进行解析,得到IP地址信息及时间信息。
进一步的,系统将解密数据、IP地址信息及时间信息组合成json格式的数据存入kafka,所述kafka存储节点至少为一个。
本发明的有益效果是:由于数据解析主程序或调用的解密程序、IP解析程序的升级及维护不会影响到数据采集工作的正常进行,所以不会造成数据丢失,保证了采集数据的完整性;快速、可靠的实现对终端上传数据的采集和解析。
附图说明
图1为本发明数据采集及解析方法及系统实施例的流程图。
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
具体实施方式
下面结合附图及实施例详细描述本发明的技术方案:
本发明针对现有技术中实时数据采集、解析的服务器环境、网络条件、程序更新及程序升级容易造成的数据丢失及延时数据采集及解析的实效性太低的问题,提供一种数据采集及解析方法,包括:终端上报数据时,系统采集上报数据,根据预设周期存储至本地磁盘;系统对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。数据采集及解析系统,包括数据采集接口、本地磁盘、数据解析模块及kafka存储节点;所述数据采集接口与本地磁盘连接,本地磁盘与数据解析模块连接,数据解析模块与kafka存储节点连接;所述数据采集接口,用于终端上报数据时,采集上报数据,并根据预设周期将上报数据存储至本地磁盘;所述数据解析模块,用于对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。由于数据解析主程序或调用的解密程序、IP解析程序的升级及维护不会影响到数据采集工作的正常进行,所以不会造成数据丢失,保证了采集数据的完整性;快速、可靠的实现对终端上传数据的采集和解析。
实施例
本例结合实时数据采集解析方法和延时数据采集解析方法的优点,提供一种更加快速、可靠的数据采集及解析方法。从而解决实时数据采集解析的服务器环境、网络条件、程序更新、升级时容易造成的数据丢失问题;解决了延时数据采集解析方法的实效性太低的问题。
本例的总体构思为:在Java技术的基础上,提供跨平台(linux、windows)的数据采集及解析方法。如图1所示,首先,开发数据采集程序和数据解析程序,部署到linux(windows)服务器上。其次数据采集程序提供数据采集服务接口,终端数据通过http协议中的post方式传递json格式的数据触发采集服务接口,采集服务接口获取到json格式的上报数据,以字符串的形式逐条写入到本地磁盘,完成数据的采集工作。数据解析程序,首先开启多线程并发执行,各线程调用主程序扫描本地磁盘目录,获取数据采集程序存储的数据文件,对文件数据逐条进行读取,将读取到的字符串转换为json数据,提取其中的加密数据、加密方式、IP地址等,进行数据解密和IP解析等工作,存入到数据库,完成数据解析工作。
家电终端数据的采集和解析主要受以下两个方面影响:1,家电产品终端上报的数据内容和数据格式较为固定,故数据采集部分的后期升级、维护的可能性较低;2,数据解析受制于IP解析更新、数据库版本更迭等因素,后期升级、维护较为频繁。因此,本例将数据的采集和解析设计为两个独立的程序——数据采集程序、数据解析程序。
为了达到上述目的,本发明采用的技术方案是:数据采集程序:为保障数据的及时采集,使得整个采集、解析方法具有较高的实时性,在此将采集程序设定为实时采集程序,终端上报数据时触发采集程序,采集程序捕获的数据根据业务要求的时效性设定存储周期,按时间周期存到服务器本地磁盘。具体的,系统采集上报数据,将其转换为String格式的字符串,并将字符串保存在列表中,根据预设周期将列表中的数据写入到本地磁盘。
数据解析程序:为保证数据解析的时效性,快速、可靠的实现对数据的采集和解析,将多线程机制应用于数据解析程序,根据数据文件的数量设定并发的线程数,多个线程并发执行可以非常快速的完成对本地存储的数据文件的处理。具体的,系统对本地磁盘存储数据进行多线程扫描解析,每个线程中,系统将String类型的字符串数据转换为json格式的数据,然后获取"designation"字段值判断解密类型,调用解密程序进行数据解密,得到解密数据;获取"ip"字段值,调用IP解析程序对IP进行解析,得到IP地址信息及时间信息。
最后,系统将解密数据、IP地址信息及时间信息组合成json格式的数据存入kafka,所述kafka存储节点至少为一个。当其中一个kafka节点出现故障时自动寻找其他节点进行存储,最大程度保证了解析程序的稳定运行。同时,数据解析主程序或调用的解密程序、IP解析程序的升级、维护不会影响到数据采集工作的正常进行,所以不会造成数据丢失,保证了采集数据的完整性。至此数据的采集、解析工作完成,最终得到的数据完全可以为后续的大数据分析工作提供支撑。因此,使用本方法可以快速、可靠的实现对长虹智能家电数据的采集和解析。
实施例2
本例提供一种数据采集及解析系统,包括数据采集接口、本地磁盘、数据解析模块及kafka存储节点;所述数据采集接口与本地磁盘连接,本地磁盘与数据解析模块连接,数据解析模块与kafka存储节点连接;其中,所述数据采集接口,用于终端上报数据时,采集上报数据,并根据预设周期将上报数据存储至本地磁盘;所述数据解析模块,用于对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。
实施例3
本例以对长虹DTV数据的采集和解析工作为例。
首先,数据采集:
{"designation":"Telescope-a","data":"7D7D7D7D7D7D7D7D66046CB9220CC02F0062050F7F44E2B3B554385DAE31E7B488CF9F2B21FAC583866B0B77BAC42328DBA9EED069BA75C069D67B0CF0BD076E2ADE6B08D044B6ABABC2CCC7D323BB","designation":"Telescope-a","cid":"CTDTV","ip":"221.229.173.5","timestamp":1441966951}终端数据通过post方式将数据上报给数据采集服务接口http://ip:port/dtv/{Sversion}/log,接口将接收到的数据转换为String格式的字符串,采集服务将String格式的字符串保存在列表中,每20秒(可根据业务要求增大、减小保证时效性)将列表中的数据写入到本地磁盘,数据文件大小受每20秒内上报的数据总量限制。
数据解析:数据解析程序包括数据文件的读取、数据的解密、IP的解析等主要功能。数据解析程序的线程并发数量根据数据文件总量进行设定,在此结合DTV数据量的情况设定为5个线程并发,对数据文件进行扫描,每个线程处理一个数据文件,逐条读取文件内容,将String类型的字符串数据转换为json格式的数据,获取各字段值,通过"designation"字段值判断解密类型,调用解密程序进行数据解密,获取"ip"字段值,调用IP解析程序对IP进行解析,最后将解密得到的数据、ip解析得到的地址信息、时间等信息组合成一条新的json格式的数据存入kafka。最终存入的数据如下:
{"reportinfo":{"programID":null,"status":"online","channel":"东方卫视
","program":"笑傲江湖Ⅱ
(2)","channelID":"dragontv"},"DTVVersion":"CHD00.01_150606","reportType":"DTV_RATING","subClass":"DTV_Program","wifiLocate":{"district":"象山县","province":"浙江省","street":"S71(城西路)","city":"宁波市
"},"mac":"64:88:ff:6b:d6:7a","viewSource":"0","srcFro":"emb_dtv","ip":"221.229.173.5","_country":"中国","_prov":"浙江","_city":"宁波
","_cid":"CTDTV","timestamp":1441966951}
对于数据存储,选择建立多个kafka存储节点,当其中一个kafka节点出现故障时自动寻找其他节点进行存储,最大程度保证了解析程序的稳定运行。同时,数据解析主程序或调用的解密程序、IP解析程序的升级、维护不会影响到数据采集工作的正常进行,所以不会造成数据丢失,保证了采集数据的完整性。
至此数据的采集、解析工作完成,最终得到的数据完全可以为后续的大数据分析工作提供支撑。因此,使用本方法可以快速、可靠的实现对长虹智能家电数据的采集和解析。
Claims (12)
1.数据采集及解析方法,其特征在于,包括:终端上报数据时,系统采集上报数据,根据预设周期存储至本地磁盘;系统对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。
2.根据权利要求1所述的数据采集及解析方法,其特征在于,终端通过post方式上报数据。
3.根据权利要求1所述的数据采集及解析方法,其特征在于,系统采集上报数据,将其转换为String格式的字符串,并将字符串保存在列表中,根据预设周期将列表中的数据写入到本地磁盘。
4.根据权利要求1所述的数据采集及解析方法,其特征在于,系统对本地磁盘存储数据进行多线程扫描解析,每个线程中,系统将String类型的字符串数据转换为json格式的数据,获取各字段值,并对各字段值进行解析。
5.根据权利要求4所述的数据采集及解析方法,其特征在于,所述对各字段值进行解析包括:获取"designation"字段值判断解密类型,调用解密程序进行数据解密,得到解密数据;获取"ip"字段值,调用IP解析程序对IP进行解析,得到IP地址信息及时间信息。
6.根据权利要求5所述的数据采集及解析方法,其特征在于,系统将解密数据、IP地址信息及时间信息组合成json格式的数据存入kafka,所述kafka存储节点至少为一个。
7.数据采集及解析系统,其特征在于,包括数据采集接口、本地磁盘、数据解析模块及kafka存储节点;所述数据采集接口与本地磁盘连接,本地磁盘与数据解析模块连接,数据解析模块与kafka存储节点连接;
所述数据采集接口,用于终端上报数据时,采集上报数据,并根据预设周期将上报数据存储至本地磁盘;
所述数据解析模块,用于对本地磁盘存储的上报数据进行多线程扫描解析,并将解析数据存储至kafka。
8.根据权利要求7所述的数据采集及解析系统,其特征在于,终端通过post方式上报数据至数据采集接口。
9.根据权利要求7所述的数据采集及解析系统,其特征在于,数据采集接口采集上报数据,将其转换为String格式的字符串,并将字符串保存在列表中,根据预设周期将列表中的数据写入到本地磁盘。
10.根据权利要求7所述的数据采集及解析系统,其特征在于,数据解析模块对本地磁盘存储的上报数据进行多线程扫描解析,每个线程中,系统将String类型的字符串数据转换为json格式的数据,获取各字段值,并对各字段值进行解析。
11.根据权利要求10所述的数据采集及解析系统,其特征在于,所述对各字段值进行解析包括:获取"designation"字段值判断解密类型,调用解密程序进行数据解密,得到解密数据;获取"ip"字段值,调用IP解析程序对IP进行解析,得到IP地址信息及时间信息。
12.根据权利要求11所述的数据采集及解析系统,其特征在于,系统将解密数据、IP地址信息及时间信息组合成json格式的数据存入kafka,所述kafka存储节点至少为一个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610055952.2A CN105718295A (zh) | 2016-01-27 | 2016-01-27 | 数据采集及解析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610055952.2A CN105718295A (zh) | 2016-01-27 | 2016-01-27 | 数据采集及解析方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105718295A true CN105718295A (zh) | 2016-06-29 |
Family
ID=56154950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610055952.2A Pending CN105718295A (zh) | 2016-01-27 | 2016-01-27 | 数据采集及解析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718295A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090268A (zh) * | 2020-03-24 | 2020-05-01 | 上海飞旗网络技术股份有限公司 | 基于线程划分的数据采集方法、装置及数据采集设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777318A (zh) * | 2005-11-03 | 2006-05-24 | 重庆邮电学院 | Td-scdma接入网和核心网信令测试仪及测试方法 |
CN101727332A (zh) * | 2008-10-29 | 2010-06-09 | 胡力游 | 移动通信系统空中接口协议解析器 |
CN102664769A (zh) * | 2012-04-19 | 2012-09-12 | 清华大学 | 网络封包采集与解析系统及其实现方法 |
CN103838867A (zh) * | 2014-03-20 | 2014-06-04 | 网宿科技股份有限公司 | 日志处理方法和装置 |
CN104090891A (zh) * | 2013-12-12 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、数据处理服务器及系统 |
-
2016
- 2016-01-27 CN CN201610055952.2A patent/CN105718295A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777318A (zh) * | 2005-11-03 | 2006-05-24 | 重庆邮电学院 | Td-scdma接入网和核心网信令测试仪及测试方法 |
CN101727332A (zh) * | 2008-10-29 | 2010-06-09 | 胡力游 | 移动通信系统空中接口协议解析器 |
CN102664769A (zh) * | 2012-04-19 | 2012-09-12 | 清华大学 | 网络封包采集与解析系统及其实现方法 |
CN104090891A (zh) * | 2013-12-12 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、数据处理服务器及系统 |
CN103838867A (zh) * | 2014-03-20 | 2014-06-04 | 网宿科技股份有限公司 | 日志处理方法和装置 |
Non-Patent Citations (1)
Title |
---|
杨习伟: "《HTML5+CSS3网页开发实战精解》", 31 January 2013 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090268A (zh) * | 2020-03-24 | 2020-05-01 | 上海飞旗网络技术股份有限公司 | 基于线程划分的数据采集方法、装置及数据采集设备 |
CN111090268B (zh) * | 2020-03-24 | 2020-06-12 | 上海飞旗网络技术股份有限公司 | 基于线程划分的数据采集方法、装置及数据采集设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101738997B (zh) | 多线程电力负控系统及控制方法 | |
US10164431B2 (en) | Outage management and prediction for a power grid system | |
CN109522183B (zh) | 工作状态监控方法及系统,采集器,服务器及存储介质 | |
CN105553110A (zh) | 智能变电站便携式故障录波与报文检测装置 | |
CN102075384A (zh) | 一种性能测试系统及方法 | |
CN106961362A (zh) | 自动化测试方法及移动云测试系统 | |
CN108632111A (zh) | 一种基于日志的服务链路监控方法 | |
CN104778118B (zh) | 自动化测试技术的改进方法 | |
CN105704487A (zh) | 电视稳定性测试方法及装置 | |
CN104933174A (zh) | 基于控件自动化遍历解决手机app机型适配问题的方法 | |
CN105589782A (zh) | 基于浏览器的用户行为采集方法 | |
US9009533B2 (en) | Home/building fault analysis system using resource connection map log and method thereof | |
CN101860701A (zh) | 一种利用机顶盒寻找所需节目的方法 | |
CN101309178B (zh) | 一种自动交换光网络系统日志信息的解析方法及装置 | |
CN110376917B (zh) | 一种基于虚拟面板的智能家居控制系统及控制方法 | |
CN105187393A (zh) | 一种移动终端恶意软件网络行为重构方法及其系统 | |
CN105187390A (zh) | 主动式移动终端恶意软件网络流量数据集获取方法及系统 | |
CN105718295A (zh) | 数据采集及解析方法及系统 | |
CN105162622A (zh) | 一种存储方法和系统 | |
CN104537120A (zh) | 一种基于用户行为分析的dns数据挖掘系统及方法 | |
Sánchez et al. | On the energy savings achieved through an internet of things enabled smart city trial | |
del Campo et al. | IoT Solution for Energy Optimization in Industry 4.0: Issues of a Real-life Implementation | |
CN113036930A (zh) | 一种电网数据通讯管理系统 | |
CN103544658A (zh) | 一种基于全配网的供电范围分析方法及系统 | |
CN102752374B (zh) | 一种用电能效数据的储存访问系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160629 |
|
RJ01 | Rejection of invention patent application after publication |