1

时序数据采集存储系统研发

我要开发同款
Boboboo2023年03月16日
128阅读
所属分类Hbase、大数据、数据采集、网络编程

作品详情

开发环境:Ubuntu 16.04,JDK 1.8,Hbase 2.2.4,Redis 5.0.4,Flume 1.9.0,Hadoop 2.9.2使用技术:Socket、Maven、多线程、分布式、数据缓存项目介绍:省部级横向课题。该项目分为数据采集和数据存储两部分,数据采集部分主要工作为将多种通信协议(TCP/IP、OPC-DA/UA、Modbus-TCP/RTU、ODBC、COM口(RS-232、RS-485))进行集成,应用环境中将单个节点采集到的数据在自定义Flume中统一格式,并通过TCP协议将数据发送到分布式数据采集服务器,服务器将采集到的数据进行存储并使用Redis做一级数据缓存;数据存储部分基于开源OpenTSDB进行改进,对数据写入和压缩做优化,具体改动包括在数据写入中加入第二级缓存并对数据进行批量写入,减少频繁调用写入接口造成的大量磁盘索引消耗,引入Gorilla时序数据压缩算法对写入数据进行压缩,优化Telnet put方式的数据写入方法,删除基于Netty服务的HTTP put方法减少资源占用,定制化API接口和Web管理端,Shell脚本一键化安装和部署,分布式安装和分布式列扩展。技术难点主要在于数据的并发多线程写入,使用了synchronized锁并建立了数据缓存区,缓存区满或在时间阈值之内没有执行写入时将会自动进行写入;数据压缩过程中采用Gorilla算法将原始put数据转换为对应格式的字节码,并在字节码头部加入8位验证位,以及在数据查询过程中进行逆向解压;将Redis一级缓存和二级缓存区阈值大小设置相同确保数据完整性。发表论文一篇,申请软著一项。个人职责:主要参与人,负责项目的搭建和开发及论文软著撰写,参与了数据采集系统的全部开发工作和数据存储优化的大部分工作,及后期性能测评和验收。
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论