一种集群数据实时查询方法及系统与流程

文档序号:12364467阅读:258来源:国知局
一种集群数据实时查询方法及系统与流程

本发明涉及数据处理技术领域,具体而言,涉及一种集群数据实时查询方法及系统。



背景技术:

随着大规模互联网应用的普及,网络信息数据的海量剧增,大数据已悄然地对人们生活的各方面都产生了巨大的影响。Hadoop以其廉价、稳定、通用的特点逐渐成为各个行业进行海量数据采集、存储和分析的主要平台;HBase是利用Hadoop HDFS作为其文件存储系统的分布式的、面向列的开源数据库。

在大数据背景时代下,数据量呈现出了T级的增长,满足了人们对各种数据的需求;但另一方面,数据量的剧增导致了数据查询时间的增加,传统的数据查询方式已不能满足人们对于集群数据的实时查询需求,而且低效率的数据查询方式使平台使用者很难基于实时、有效的平台数据做出快速、及时的反应。



技术实现要素:

有鉴于此,本发明的目的在于提供一种集群数据实时查询方法及系统,能够实现集群数据的实时查询。

第一方面,本发明实施例提供了一种集群数据实时查询方法,包括以下步骤:

获取客户端的查询请求,查询请求携带查询数据的地址内容;

将查询请求发送至Hadoop集群数据平台的Hbase数据库接口并读取查询数据;

将查询数据写入暂存文件中,暂存文件位于查询服务器的缓存中;

将暂存文件发送至客户端。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,还包括数据处理步骤,具体步骤如下:

去重步骤,对暂存文件内的查询数据进行去重,去除查询数据内的重复数据;

统计步骤,将去重后的查询数据进行汇总统计;

关联步骤,将去重后的查询数据进行关联分析,挖掘查询数据的内在联系;

完整性验证步骤,将关联分析后的查询数据进行完整性验证分析,保证了数据的完整性与安全性。

结合第一方面的第一种可能的实时方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,关联步骤中,关联分析的支持度的范围为1-10,置信度的范围为0-1。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,还包括预警步骤,对查询数据的读取以及写入暂存文件的过程进行实时检测,并对写入超时进行预警,从而使管理人员及时采取相应的处置措施。

结合第一方面及其第一至三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,缓存由Java EHCache模块创建。

第二方面,本发明实施例还提供一种集群数据实时查询系统,包括客户端、查询服务器和Hadoop集群数据平台,Hadoop集群数据平台包括Hbase数据库;

客户端用于输入查询请求,查询请求携带查询数据的地址内容;

查询服务器包括接收模块、交互模块、暂存模块、缓存模块和发送模块;

接收模块用于接收查询请求;

交互模块用于将查询请求发送至Hadoop集群数据平台的Hbase数据库接口并读取查询数据;

暂存模块用于将查询数据写入暂存文件中,暂存文件位于缓存模块中;

发送模块用于将暂存文件发送至客户端。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,查询服务器还包括数据处理模块,数据处理模块包括去重单元、统计单元、关联单元和完整性验证单元:

去重单元用于对暂存文件内的查询数据进行去重;

统计单元用于对去重单元输出的查询数据进行汇总统计;

关联单元用于对去重单元输出的查询数据进行关联分析;

完整性验证单元用于对关联单元输出的查询数据进行完整性验证分析。

结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,关联单元中,关联分析的支持度的范围为1-10,置信度的范围为0-1。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,查询服务器还包括预警模块,用于对所述交互模块读取查询数据以及将查询数据写入暂存文件的过程进行实时检测,并对写入超时进行预警。

结合第二方面及其第一至第三种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,缓存模块由Java EHCache模块创建。

本发明带来了以下有益效果:

本发明中查询服务器获取客户端的查询请求;然后将查询请求发送至Hadoop集群数据平台的Hbase数据库接口并读取查询数据,并将查询数据写入查询服务器缓存的暂存文件中;最后将暂存文件发送至客户端。查询服务器缓存的设置大大提高了数据写入指定文件的速度,进而提高了服务器与Hbase数据库的数据传输速度,使查询服务器在设定的阈值时间内可以一次性读取更多的数据,避免了大数据的分次获取,提高了数据获取的效率,另一方面,缓存的设置还提高了服务器与客户端的数据传输速度,使客户可以在瞬间获取查询服务器缓存内的查询数据。因此,通过缓存的设置提高了查询数据写入暂存文件的速度以及与客户端数据传输的速度,进而使单次集群数据的查询时间不超过1分钟,实现了集群数据的实时查询,而且每天的数据处理能力达到500G以上。

进一步,对暂存文件内的数据进行去重、统计、关联与完整性验证后再发送至客户端,既提高了查询数据的有效性,又保证了查询数据的完整性与安全性。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例1所提供的一种集群数据实时查询方法的流程图;

图2示出了本发明实施例2所提供的一种集群数据实时查询系统的示意图;

图3示出了本发明实施例2所提供的一种集群数据实时查询系统中查询服务器的示意图。

1-客户端;2-查询服务器;21-接收模块;22-交互模块;23-缓存模块;24-暂存模块;25-数据处理模块;26-预警模块;27-发送模块;3-Hbase数据库。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前的集群数据查询方式无法满足人们对于集群数据实时查询的需求,基于此,本发明实施例提供的一种集群数据实时查询方法及系统,可以提高集群数据的查询效率,满足人们对于集群数据实时查询的需求。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种集群数据实时查询方法进行详细介绍。

一种集群数据实时查询方法,包括以下步骤:

S11.获取客户端的查询请求。

从客户端输入查询请求,若查询请求为上网信息,则查询请求包括IP地址和/或mac地址。

S12.将查询请求发送至Hadoop集群数据平台的Hbase数据库接口并读取查询数据。

对查询请求进行解析得到查询地址,然后将查询地址发送至Hbase数据库的Native Java API,Zookeeper服务器获取查询地址后通过Root、META与Client进行三级寻址,然后读取查询地址所指向的存储于Region内的Store所对应的HDFS内的查询数据,本实施例中的查询数据为网址信息数据。

S13.将查询数据写入查询服务器缓存内的暂存文件中。

查询服务器缓存由Java的缓存模块EHCache创建,用于暂时存放查询数据,缓存的设置大大提高了数据写入指定文件的速度,进而提高了服务器与Hbase数据库的数据传输速度,使查询服务器在设定的阈值时间内可以一次性读取更多的数据,避免了大数据的分次获取,提高了数据获取的效率,另一方面,缓存的设置还提高了服务器与客户端的数据传输速度,使客户可以在瞬间获取查询服务器缓存内的查询数据。因此,缓存的设置通过提高数据库查询数据写入暂存文件的速度以及与客户端数据传输的速度使集群数据的查询时间不超过1分钟,实现了集群数据的实时查询。

S14.预警步骤,对查询数据的读取以及写入暂存文件的过程进行实时检测,并对写入超时进行预警。

查询服务器实时监测查询数据的读取以及写入暂存文件的过程,若查询数据在阈值时间内没有完成读取与写入的操作,则查询服务器弹出预警对话框,优选地,阈值时间的上限为2-3s;更优选地,若查询数据在阈值时间内没有完成读取与写入的操作,查询服务器还发出预警声音提示信息。

S15.数据处理步骤,用于对暂存文件内的查询数据进行处理,具体步骤如下:

去重步骤,通过Bloom Filter哈希去重算法实现查询数据的去重,去除查询数据中的重合项,提高数据的有效性;

统计步骤,将去重后的查询数据进行汇总统计,统计有效数据的数量;

关联步骤,使用Aprior算法进行逐层搜索以实现关联性分析;

以去重后的网址信息数据作为候选集,然后设置支持度为2,置信度为0.7,然后不断地进行自连接和剪枝,直到得到最终的频繁集为止,终止条件是,如果自连接得到的已经不再是频繁集,那么取最后一次得到的频繁集为结果。本实施例中的频繁集为一些相关的网站网址,比如a网站、b网站、c网站、d网站等,且本实施例中关联性验证的结果为访问了a网站的就会访问b和网站c。

完整性验证步骤,使用MD5或空值法将关联分析后的查询数据进行完整性验证分析。

S16.将暂存文件发送至客户端。

将暂存文件内经过数据处理后的查询数据发送至客户端,由于暂存文件位于查询服务器内的暂存文件内,因此查询服务器可以将暂存文件高速传输至客户端。另一方面,客户可以直接基于处理后的查询数据做出相应的处置措施,提高了查询数据的利用效率。

本发明还提供了一种集群数据实时查询系统的实施例,参见图2-3所示,该实施例所提供的集群数据实时查询系统包括客户端1、查询服务器2和Hadoop集群数据平台,Hadoop集群数据平台包括Hbase数据库3;

客户端1用于输入查询请求,查询请求携带查询数据的地址内容;

查询服务器2包括接收模块21、交互模块22、暂存模块24、缓存模块23和发送模块27;

接收模块21用于接收查询请求;

交互模块22用于将查询请求发送至Hadoop集群数据平台的Hbase数据库3接口并读取查询数据;

暂存模块24用于将查询数据写入暂存文件中,暂存文件位于缓存模块23中;

发送模块27用于将暂存文件发送至客户端1。

用户通过客户端1的Tomcat Web服务器输入查询请求,使用HTML表单中的Post方式将数据提交到查询服务器2的接收模块21,交互模块22将接收模块21内的查询请求发送至Hbase数据库3的Native Java API,Zookeeper服务器获取查询地址后经三级寻址读取查询地址所指向的存储于Region内的Store所对应的HDFS内的查询数据,本实施例中的查询数据为网址信息数据。暂存模块24将查询数据写入暂存文件中,暂存文件位于查询服务器2内存的缓存模块23中,然后经由发送模块27将其发送至客户端1。

本实施例的另一种实施方式,查询服务器2还包括数据处理模块25,数据处理模块25包括去重单元、统计单元、关联单元和完整性验证单元:

去重单元通过Bloom Filter哈希去重算法实现查询数据的去重,去除查询数据中的重合项,提高数据的有效性;

统计单元将去重后的查询数据进行汇总统计,统计有效数据的数量;

关联单元使用Aprior算法进行逐层搜索以实现关联性分析,以去重后的网址信息数据作为候选集,关联分析的支持度的范围为1-10,置信度的范围为0-1,优选地,关联分析的支持度为5,置信度为0.4;然后不断地进行自连接和剪枝,直到得到最终的频繁集为止,终止条件是,如果自连接得到的已经不再是频繁集,那么取最后一次得到的频繁集为结果。本实施例中的频繁集为一些相关的网站地址,比如a网站、b网站、c网站、d网站等,且本实施例中关联性验证的结果为访问了a网站的就会访问b和网站c。

完整性验证单元使用MD5或空值法将关联分析后的查询数据进行完整性验证分析。

本实施例的另一种实施方式,查询服务器2还包括预警模块26,实时监测查询数据的读取以及写入暂存文件的过程,若查询数据在阈值时间内没有完成写入操作,则弹出预警对话框,优选地,阈值为2s;更优选地,若查询数据在阈值时间内没有完成写入操作还会发出预警声音。

此外,上述实施方式的缓存模块23由Java EHCache模块创建。

本发明实施例所提供的一种集群数据实时查询方法及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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