实时流数据的处理方法、装置及服务器制造方法及图纸

技术编号:14104868 阅读:57 留言:0更新日期:2016-12-05 02:13
本发明专利技术提供了一种实时流数据的处理方法、装置及服务器。所述方法包括:对待处理数据根据键值进行哈希分片,得到记录多个分片数据的哈希表;将每个单位时间内的流数据进行哈希运算,得到每个单位时间内的流数据的键值;根据哈希表和每个单位时间内的流数据的键值,将每个单位时间内的流数据发送到对应的分片数据,进行数据连接生成数据集。所述装置包括分片模块、哈希模块和数据连接模块。本发明专利技术通过对待处理数据的分片处理,在数据连接时,能够先根据键值找到流数据对应的分片数据,再将每个单位时间内的流数据发送到对应的分片数据,进行数据连接生成数据集,每个单位时间内的流数据不再需要过多的网络传输操作,显著减小了数据连接操作的延迟。

【技术实现步骤摘要】

本专利技术涉及大数据处理
,尤其涉及实时流数据的处理方法、装置及服务器
技术介绍
随着搜索引擎,广告系统和推荐系统等技术在互联网企业中越来越广泛的应用,用户的浏览、点击等行为的实时收集和聚合计算变得越来越重要。若对用户行为进行分析,进行数据连接是大数据处理领域的重要操作,通过数据连接,可以结合多个不同的数据集发现更多的数据特征。当前大数据处理中的数据连接方法主要有两种:方法一、量级相当的两个数据集的连接。这种方式下,一般会根据连接操作使用的键值,将两个数据集中键值相同的数据项通过网络传输到同一个进程中完成连接操作。方法二、量级相差较大的两个数据集的连接。这种方式下,一般会将整个小数据集通过网络传输到大数据集每个分片所在机器上,然后计算进程根据键值将大数据集的一个分片和整个小数据集做连接。因实时流数据处理系统对数据操作的延迟有较高的要求,上述两种方式若直接应用到实时流数据处理系统中,存在如下不足:现有方式一,在数据连接过程中需要进行两次网络上的传输和三次内存中的计算,复杂的内存操作必然显著增加数据处理延迟;现有方式二,需要在网络上对小数据集进行过多的传输,会显著增加数据处理延迟。
技术实现思路
本专利技术实施例提出了一种实时流数据的处理方法、装置及服务器,能够解决数据处理延迟的问题,本专利技术能够显著减小数据连接操作的延迟。第一方面,本专利技术实施例提供了一种实时流数据的处理方法,所述方法包括:对待处理数据根据键值进行哈希分片,得到记录多个分片数据的哈希表;将每个单位时间内的流数据进行哈希运算,得到所述每个单位时间内的流数据的键值;根据所述哈希表和所述每个单位时间内的流数据的键值,将所述每个单位时间内的流数据发送到对应的分片数据所在的服务器,进行数据连接生成数据集。其中,所述根据所述哈希表和所述每个单位时间内的流数据的键值,将所述每个单位时间内的流数据发送到对应的分片数据所在的服务器,具体包括:根据所述每个单位时间内的流数据的键值,在所述哈希表中查找对应的分片数据;查找到对应的分片数据时,获取所述分片数据所在的服务器地址;根据所述服务器地址,将所述单位时间内的流数据发送到对应的服务器。其中,所述每个单位时间内的哈希算法与待处理数据进行哈希分片的哈希算法相同。所述方法适用于Spark Streaming流数据处理平台、Hadoop MapReduce平台或Storm平台。优选地,所述待处理数据的分片数据存储一个服务器或不同的服务器。第二方面,本专利技术实施例提供了一种实时流数据的处理装置,所述处理装置包括:分片模块,用于对待处理数据根据键值进行哈希分片,得到记录多个分片数据的哈希表;哈希模块,用于将每个单位时间内的流数据进行哈希运算,得到所述每个单位时间内的流数据的键值;数据连接模块,用于根据所述分片模块得到的所述哈希表和所述哈希模块得到的所述每个单位时间内的流数据的键值,将所述每个单位时间内的流数据发送到对应的分片数据所在的服务器,进行数据连接生成数据集。其中,所述数据连接模块包括:查找单元,用于根据哈希模块得到的所述每个单位时间内的流数据的键值,在所述分片模块的哈希表中查找对应的分片数据;获取单元,用于当所述查找单元查找到对应的分片数据时,获取所述分片数据所在的服务器地址;发送单元,用于根据所述服务器地址,将所述单位时间内的流数据发送到对应的服务器;连接单元,用于将所述单位时间内的流数据与所述待处理数据的分片数据进行数据连接生成数据集。其中,所述哈希模块中每个单位时间内的哈希算法与所述分片模块中待处理数据进行哈希分片的哈希算法相同。所述服务器位于Spark Streaming流数据处理平台、Hadoop MapReduce平台或Storm平台。优选地,所述分片模块得到的待处理数据的分片数据存储一个服务器或不同的服务器。第三方面,本专利技术实施例提供了一种服务器,包括分片服务器、流数据服务器和主控服务器,所述分片服务器与所述流数据服务器与所述主控服务器连接;分片服务器,用于对待处理数据根据键值进行哈希分片,得到记录多个分片数据的哈希表;流数据服务器,用于将每个单位时间内的流数据进行哈希运算,得到所述每个单位时间内的流数据的键值;主控服务器,用于根据所述分片服务器得到的所述哈希表和所述流数据服务器得到的每个单位时间内的流数据的键值,将所述每个单位时间内的流数据发送到对应的分片数据所在的分片服务器,进行数据连接生成数据集。有益效果如下:本专利技术通过首先对待处理数据进行分片处理,因而在将单位时间内的流数据连接到待处理数据时,根据单位时间内的流数据的键值和哈希表中记录的键值进行比对,找到要连接的对应的分片数据,然后才将每个单位时间内的流数据发送到对应的分片数据,进行数据连接生成数据集,每个单位时间内的流数据不再需要过多的网络传输操作,且因不需要在进程中完成连接操作,不存在复杂的内存操作,因此,本专利技术能够显著减小数据连接操作的延迟。附图说明下面将参照附图描述本专利技术的具体实施例,其中:图1示出了本专利技术实施例一中实时流数据的处理方法的流程示意图;图2示出了本专利技术实施例一中Spark Streaming数据连接操作处理流程示意图;图3示出了本专利技术实施例二中实时流数据的处理方法的流程示意图;图4示出了本专利技术实施例二中数据连接操作的示意图;图5示出了本专利技术实施例三中实时流数据的处理装置的结构示意图;图6示出了本专利技术实施例三中实时流数据的处理装置的另一结构示意图;图7示出了本专利技术实施例四中服务器的结构示意图。具体实施方式为了使本专利技术的技术方案及优点更加清楚明白,以下结合附图对本专利技术的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本专利技术的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。专利技术人在专利技术过程中注意到:实时流数据中的数据连接操作常见于一个单位时间内中的流数据和一个相对固定的大数据集合之间。大数据一般指单个机器处理不了的数据,如单个机器无法存储或无法传输处理的数据。实时流数据处理装置对数据操作的延迟有较高的要求。而当前的大数据处理领域使用的数据连接算法,要么需要过多的网络传输操作,要么需要过于复杂的内存操作,这样都会显著增加数据处理延迟。基于此,本专利技术实施例提出了实时流数据的处理方法及装置,先对待处理数据进行分片处理,因而在将单位时间内的流数据连接到待处理数据时,根据单位时间内的流数据的键值和哈希表中记录的键值进行比对,然后才将每个单位时间内的流数据发送到对应的分片数据所在服务器,进行数据连接生成数据集,每个单位时间内的流数据不再需要过多的网络传输操作,且因不需要在进程中完成连接操作,不存在复杂的内存操作,因此,能够显著减小数据连接操作的延迟。实施例一图1示出了本专利技术实施例中实时流数据的处理方法的流程示意图,如图所示,包括:步骤101、对待处理数据根据键值进行哈希分片,得到记录多个分片数据的哈希表;步骤102、将每个单位时间内的流数据进行哈希运算,得到每个单位时间内的流数据的键值;步骤103、根据哈希表和每个单位时间内的流数据的键值,将每个单位时间内的流数据发送到对应的分片数据所在的服务器,进行数据连接生成数据集。本专利技术的方案适用于Spark Streami本文档来自技高网...
实时流数据的处理方法、装置及服务器

【技术保护点】
一种实时流数据的处理方法,其特征在于,所述方法包括:对待处理数据根据键值进行哈希分片,得到记录多个分片数据的哈希表;将每个单位时间内的流数据进行哈希运算,得到所述每个单位时间内的流数据的键值;根据所述哈希表和所述每个单位时间内的流数据的键值,将所述每个单位时间内的流数据发送到对应的分片数据所在的服务器,进行数据连接生成数据集。

【技术特征摘要】
1.一种实时流数据的处理方法,其特征在于,所述方法包括:对待处理数据根据键值进行哈希分片,得到记录多个分片数据的哈希表;将每个单位时间内的流数据进行哈希运算,得到所述每个单位时间内的流数据的键值;根据所述哈希表和所述每个单位时间内的流数据的键值,将所述每个单位时间内的流数据发送到对应的分片数据所在的服务器,进行数据连接生成数据集。2.如权利要求1所述的方法,其特征在于,所述根据所述哈希表和所述每个单位时间内的流数据的键值,将所述每个单位时间内的流数据发送到对应的分片数据所在的服务器,具体包括:根据所述每个单位时间内的流数据的键值,在所述哈希表中查找对应的分片数据;查找到对应的分片数据时,获取所述分片数据所在的服务器地址;根据所述服务器地址,将所述单位时间内的流数据发送到对应的服务器。3.如权利要求1或2所述的方法,其特征在于,所述每个单位时间内的流数据的哈希算法与待处理数据进行哈希分片的哈希算法相同。4.如权利要求1或2所述的方法,其特征在于,所述待处理数据的分片数据存储在一个服务器或存储在不同的服务器。5.如权利要求1-4任一所述的方法,其特征在于,所述方法适用于Spark Streaming流数据处理平台、Hadoop MapReduce平台或Storm平台。6.一种实时流数据的处理装置,其特征在于,所述处理装置包括:分片模块,用于对待处理数据根据键值...

【专利技术属性】
技术研发人员:郑汉彬王维
申请(专利权)人:北京金山安全软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1