基于ElasticSearch和Hbase技术的网络传输数据检索系统的制作方法

文档序号:17721895发布日期:2019-05-22 02:13阅读:273来源:国知局
基于ElasticSearch和Hbase技术的网络传输数据检索系统的制作方法

本发明属于网络数据分析技术领域,涉及一种基于elasticsearch和hbase技术的网络传输数据检索系统。



背景技术:

随着物联网、社交网络、云计算等技术不断融入我们的生活以及现有的计算能力、存储空间、网络带宽的高速发展,人类积累的网络数据在互联网、通信、金融、商业、医疗等诸多领域不断地增长和累积。

然而,随着高速发展的信息技术,海量的网络数据信息使得人们难以快速准确的检索出所需要的相关信息。

但目前的数据传输系统,无法结合elasticsearch和hbase技术,使得数据传输中无法进行快速存储和元数据及二进制报文数据的快速检索,降低系统的查询检索效率。



技术实现要素:

发明所要解决的课题是:针对目前的数据传输系统无法结合elasticsearch和hbase技术,无法进行元数据及二进制报文数据的快速检索,降低系统的查询检索效率的问题。

为了解决上述课题,本发明提出一种基于elasticsearch和hbase技术的网络传输数据检索系统,包括:

数据存储模块,用于将接收的网络数据中元数据和二进制报文数据存储至elasticsearch和hbase数据库,其中hbase数据库设置若干个数据分区;和

数据查询模块,

该数据查询模块包括:元数据查询单元,用于从数据存储模块的elasticsearch存储库中获取网络数据的元数据;

二进制报文数据查询单元,用于根据输入的查询条件,运行若干个任务job分别从数据存储模块的hbase数据库的各数据分区中获取二进制报文数据,及当其中一个任务job开始运行后将其获取到的二进制报文数据存储到hbase数据库的result表中;

元数据及二进制报文数据查询单元,用于根据输入的查询条件,运行若干个任务job分别从数据存储模块的hbase数据库的各数据分区中获取二进制报文数据,及当其中一个任务job开始运行后将其获取到的二进制报文数据存储到hbase数据库的result表中;同时,从数据存储模块的elasticsearch存储库中获取网络数据的元数据,及将获取的元数据和二进制报文数据组合后返回至外部系统;和

查询任务管理单元,用于对当前进行查询的mapreduce任务进行列表显示、结束进程操作。

进一步地,作为本发明的一种优选技术方案,所述数据存储模块的存储数据量不少于10tb。

进一步地,作为本发明的一种优选技术方案,所述元数据查询单元将查询数量与设定的阈值比较,当查询数量小于等于设定的阈值时一次获取所有网络数据的元数据,否则指定一个搜索起始位置和每次的搜索数据条数,通过多次调用分批获取网络数据,直到得到所有的网络数据。

进一步地,作为本发明的一种优选技术方案,所述二进制报文数据查询单元运行任务job采用acmp算法。

进一步地,作为本发明的一种优选技术方案,所述二进制报文数据查询单元将hbase数据库的result表采用jobid返回至外部系统。

发明效果

本发明的基于elasticsearch和hbase技术的网络传输数据检索系统,可以支持局域网环境下的大规模网络数据的数据检索需求,满足元数据及二进制报文数据的快速检索,从海量网络数据中准确、快速地抽取出用户关心的相关数据。

本发明的核心思想是基于系统的elasticsearch和hbase组件协同合作,通过建立网络数据的存储和索引,包括元数据和二进制报文数据,从而快速准确的获取多条件过滤查询的网络传输数据信息。例如,通过输入查询条件,从大量网络数据中检索出需要的相关网络信息,作为后续数据分析的输入。因此,本发明可实现快速高效的网络传输数据的检索。

附图说明

图1为本发明系统的结构示意图。

图2为本发明中元数据查询单元进行查询的流程图。

图3为本发明中二进制报文数据查询单元进行查询的流程图。

图4为本发明中元数据及二进制报文数据单元进行查询的流程图。

图5为本发明中查询任务管理单元工作的流程图。

具体实施方式

以下,基于附图针对本发明进行详细地说明。

如图1所示,本发明设计了基于elasticsearch和hbase技术的网络传输数据检索系统,主要包括数据存储模块和数据查询模块,其中数据存储模块:此模块为网络数据检索系统提供数据存储支撑,是网络数据检索的基础,通过它把经过处理后的网络数据,存储到数据库。数据查询模块主要包括:元数据查询单元、二进制报文数据查询单元、元数据及二进制报文数据查询单元、查询任务管理单元,其提供查询elasticsearch和hbase数据的rest接口。可达到2亿条数据3秒内返回查询结果,此模块为数据检索提供入口,通过提供给外部系统rest接口,满足不同的条件组合的查询。同时也对查询任务进行监控和管理。

具体地,所述数据存储模块,用于将接收的网络数据中元数据和二进制报文数据存储至elasticsearch和hbase数据库,其中hbase数据库设置若干个数据分区;其实现如下:

1)存储数据量不少于10tb,存储速率可达到15000条/秒。

2)元数据和二进制报文数据都存储到elasticsearch和hbase数据库,但是由于es不能做二进制报文数据的搜索,所以搜索二进制报文数据需要通过hbase数据库。

其将元数据和二进制报文数据存到elasticsearch并建立索引。将元数据和二进制报文数据存储到hbase。rowkey的设计的具体格式为[xx][long.max_value-rectime][camerid][logtype][logid],其中前两位的xx表示预分区的编号:01、02、03......59,总共60个数据分区,实际使用过程不包含里面的[]符号,long.max_value-rectime代表的是javaapi中的一个无尽大值(固定的一个值)与当前时间的时间戳的差值,camerid为载波标识,logtype为数据类型,logid为数据id。

具体地,所述数据查询模块进行查询的过程实现如下:

1)元数据查询单元,进行元数据查询,从数据存储模块的elasticsearch存储库中获取网络数据的元数据,其过程如图2所示,具体为:

a)当只查询元数据时,从elasticsearch数据库中获取网络数据的元数据。

b)默认设置查询的阈值为10000条数据/秒,输入查询条件后,当查询数量小于等于设定的阈值10000条时,一次获取所有网络数据;否则,当查询数量大于10000条时,使用elasticsearch数据库提供的scrollapi,可以指定一个搜索起始位置和每次的搜索数据条数,通过多次调用,分批获取数据,直到拉取所有的数据。这样可以对数据进行分批获取,缓解了性能压力,避免一次获取大量数据,造成系统卡死等问题。

c)返回查询结果至外部系统。

2)二进制报文数据查询单元进行二进制报文数据查询,其过程如图3所示,具体包括:

a)当只查询二进制报文数据时,只从hbase数据库获取网络数据;

b)输入查询条件后,mapreduce同时运行60个任务job,其中每个任务job中都使用acmp算法,可以增加二进制报文数据的获取速度。

c)分别从hbase数据中的60个数据分区中获取二进制报文数据,这样可以大大节省mapreduce的查询时间。然后,当其中一个任务job开始运行后就会把此任务job获取到的二进制报文数据存储到hbase数据中的result表中。当60个任务job都运行完成后,result表就存储了该60个任务job获取的所有网络数据。

d)在这个过程中,如果外部系统可以通过jobid获取result表内容来得到查询的数据,这样在查询过程中,外部系统可以快速获取数据,而无需等到60个任务job全都运行完成。jobid为任务标识。

3)、元数据及二进制报文数据查询单元进行元数据及二进制报文数据查询,当查询元数据及二进制报文数据时,只从hbase数据库获取数据,其过程如图4所示,具体如下:

a)当只查询二进制报文数据时,只从hbase数据库获取网络数据;

b)输入查询条件后,mapreduce同时运行60个任务job,其中每个job中都使用acmp算法,可以增加二进制报文数据的获取速度。

c)分别从hbase数据库中的60个数据分区中获取二进制报文数据,这样可以大大节省mapreduce的查询时间。

d)然后,当其中一个任务job开始运行后就会把此任务job获取到的二进制报文数据存储到hbase数据库中的result表中,当60个任务job都运行完成后,result表就存储了这60个任务job获取的所有数据。

e)同理,获取元数据,从数据存储模块的elasticsearch存储库中获取网络数据的元数据。

f)最后,再将获取的元数据和二进制报文数据经过组合后,返回给外部系统。

4)查询任务管理单元进行查询任务管理,其过程如图5所示,对当前进行查询的mapreduce任务进行列表显示、结束进程操作。主要是防止用户输出条件宽泛造成海量数据的查询,造成服务器负载过重,防止服务器宕机,并合理分配服务器资源,具体如下:

a)获取mapreduce任务相关信息。

b)如果服务器负载过重,对mapreduce任务进行结束等操作。

本实施例中,硬件环境可采用cpu:intel(r)xeon(r)cpue5-2690v3@2.60ghz;并且,安装大数据运行组件:mapreduce、elasticsearch、hbase等;部署网络存储项目安装包,在配置文件中配置elasticsearch和hbase及其它组件的ip地址和端口号,并测试连接是否成功。启动应用程序,通过调用rest查询接口,增加查询条件,查询检索数据。如果能够正确的检索出相应的数据,说明项目启动成功。本发明的实现可基于航天恒星科技有限公司ds4.1大数据平台,但本发明不限于该种硬件环境。

综上,本发明的系统可以支持局域网环境下的大规模网络数据的数据检索需求,满足元数据及二进制报文数据的快速检索,从海量网络数据中准确、快速地抽取出用户关心的相关数据,可实现快速高效的网络传输数据的检索。

需要说明的是,以上说明仅是本发明的优选实施方式,应当理解,对于本领域技术人员来说,在不脱离本发明技术构思的前提下还可以做出若干改变和改进,这些都包括在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1