一种海量数据的收集与交换系统及方法

文档序号:9687607阅读:546来源:国知局
一种海量数据的收集与交换系统及方法
【技术领域】
[0001]本发明涉及大数据和数据收集领域,具体是一种海量数据收集与交换系统及方法。
【背景技术】
[0002]随着信息通信技术发展积累至今,各种各样的数据成爆发式发展,使得太字节(Terabyte,TB)、拍字节(PetaByte,PB)甚至艾字节(Exabyte,EB)级的数据都变为一种常态,大数据时代便在其中孕育而生;大数据虽然孕育于信息技术的日渐普遍和成熟,它对社会经济生活产生的影响绝不限于技术层面,更本质上,他是为我们看待世界提供了一种全新的方法,即决策行为将日益基于数据分析做出而不是像过去那样更多凭借经验和直觉做出。
[0003]大数据指的是无法在人可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合;在无法使用常规软件工具对大数据进行处理,代表着我们日常使用的机器是无法完成对大数据的存储和分析处理任务的;而高性能的巨型机会随着性能的提升而价格翻倍、甚至几倍的提高;如何解决这些难题?分布式集群可以很好的解决这一难题;开源项目分布式系统架构(Hadoop)正是为了解决互联网时代的海量数据存储和处理而设计、开发的;简单的讲Hadoop是一个可以更容易开发和并行处理大规模数据的分布式计算和存储系统;它有横向扩展能力强、成本低、效率高、可靠的特点;目前Hadoop的用户已经从传统的互联网公司想,扩展到电信行业、电力行业、医院、金融行业,并得到越来越广泛的应用。
[0004]虽然Hadoop系统具有如此多的特点以适用于大数据的存储和处理,但是很多原始数据存储在单机机器上,而非Hadoop集群中,如果我们不能将这些数据交换到Hadoop集群中,Hadoop的各种优点都将无法实施;如何将这些原始数据交换到Hadoop系统平台上成为了首先要解决的问题;因此我们急切的寻找一种可以快速高效、安全可靠的方式将不同数据源中的数据交换到Hadoop系统中来;目前Hadoop的项目中有一个子项目数据传输工具(Sqoop)可以将关系型数据库中的数据与Hadoop系统进行数据交换,但是它有两个不足:1、只能与关系型数据库进行数据交换;2、Sq00p的运行依赖不Hadoop的环境,不能脱离Hadoop进行数据交换。
[0005]本发明针对上述这些问题,提出一种海量数据的收集与交换系统及方法。

【发明内容】

[0006]本发明是一种海量数据收集与交换系统及方法,目的在于实现不同数据源与大数据处理平台之间的数据交换。
[0007]本发明的技术解决方案是:本发明是一种海量数据收集与交换系统,其特殊之处在于,该系统采用代理模式,该系统的代理包括数据收集器、传输通道、接收器,各个代理之间相互独立,可以对多个数据源进行并行交换,实现数据读入和写出的分离,使得系统架构更加灵活、轻量、高效。
[0008]所述数据收集器负责将数据源的数据收集,经过加工转化为事件,以事件(包括事件头信息和数据两个部分)的形式发送的传输通道上,支持多种数据接收器。
[0009]所述传输通道用来缓存数据收集器发送过来的事件,为保证传递过程中数据的可靠性,只有当事件缓存到下一传输通道或者接收器处理完该事件时,才将事件从此传输通道中删除。
[0010]所述接收器抽取传输通道中的事件,根据相应配置将文件存储到文件系统、数据库,或者提交到远程服务器或下一级的代理中。
[0011]所述数据收集器支持的数据接收器包括文件、目录和数据库。
[0012]所述传输通道包括文件和内存。
[0013]所述接收器包括分布式文件系统(Hadoop Distributed File System,HDFS)、非关系型数据库(Hadoop Database,HBase)、消息系统(Kafka)和文件。
[0014]本发明是一种海量数据收集与交换方法,其特殊之处在于,该方法包括以下步骤。
[0015]1)根据需求编写代理的配置文件。
[0016]2)依据编写好的配置文件启动代理,代理成功启动后,开始传输数据,由接收器把数据从外部数据源读入代理内部,把读入的数据封装成事件发送到传输通道中缓存,等待接收器的抽取,接收器抽取这些事件并将它们解析为原始数据,存储到最终目的地;代理启动后,数据的传输过程是自动的,还可以根据数据的变化而自动实现变换数据的收集。
[0017]上述步骤1)的具体实现步骤如下。
[0018]100)数据接收器的类型需要根据外部数据源的类型做相应的配置,若数据源为一个目录下的文件,接收器类型配置为目录文件(Spooling Directory, spooldir),还要配置数据源的位置。
[0019]101)传输通道的类型根据需要配置;传输通道还需要配置通道的容量的大小,转换能力的大小等选项。
[0020]102)接收器的类型与用户最终将数据存入的位置有关;当选用HDFS作为接收器时,要配置存储到HDFS上文件的位置,文件的大小。
[0021]上述步骤2)中所述代理的数据传输步骤如下。
[0022]200)数据收集器根据配置的地址读取外部数据源中的数据,读入后先判断数据是否为新数据,确认为新后,对数据进行预处理,将数据进行特定的格式化,并且加上头信息,封装成为一个事件。
[0023]201)数据收集器把事件发送到单个或多个传输通道中,其中可以把传输通道看作是一个缓冲区,它保存事件直到接收器抽取并处理完该事件。
[0024]202)接收器抽取传输通道中的事件,将事件解析成为原始数据,通过调用客户端接口将数据写入到目的端,或者作为下一级代理的外部数据源。
【附图说明】
[0025]图1系统的整体架构图。
[0026]图2代理内部数据流程图。
【具体实施方式】
[0027]下面参照附图对本发明进行详细说明;以下对本发明的详细说明并不是对本发明的限制;相反,本发明的范围是由所附权利要求而定的。
[0028]本发明是一种海量数据收集与交换系统,其中系统的整体架构图如图1所示;该系统采用代理模式,该系统的代理包括数据收集器、传输通道、接收器,各个代理之间相互独立,可以对多个数据源进行并行交换,实现数据读入和写出的分离,使得系统架构更加灵活、轻量、高效。
[0029]数据收集器负责将数据源的数据收集,经过加工转化为事件,以事件(包括事件头信息和数据两个部分)的形式发送的传输通道上,支持多种数据接收器,如文件、目录、数据库等。
[0030]传输通道用来缓存数据收集器发送过来的事件,为
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1