一种用于流计算的数据处理方法与设备的制造方法_5

文档序号:9921959阅读:来源:国知局
判断正确;若是不存在,则要到所述内存对应的辅助存储中进一步进行验证,若是在所述辅助存储中寻找到所述目标消息匹配的中间数据结果则同样证明所述布隆过滤器的判断正确;若是在所述辅助存储中找不到匹配的目标消息对应的中间数据结果,则可以推定,所述目标消息不曾到达过内存,所述布隆过滤器判断失误。在此,所述流计算判断目标消息的存在是为了读取与之相对应的中间数据结果而进行对应的当前指标运算,所以只要在内存中或对应的辅助存储中找到匹配的中间数据结果,所花费的时间都是为了避免流计算中内存溢出的必要开销,同时,最后在所述辅助存储进行查询后依然没找到所述中间数据结果的目标消息,其对应的内存查询和所述辅助存储查询所消耗的时间是不必要的,也是应该优化的。
[0077]例如,假设待处理的目标消息量为N,全部目标消息中新成员的比例是k(0<k^ I),布隆过滤器的误判率为f (0〈k< I)做一次布隆过滤器查找的时间是t,做一次辅助存储查找的时间是T,则所述不必要的开销时间S = Nt+kNfT,由此可知,所述过滤器的误判率越小,所述不必要的开销时间越小,对于实时计算的延迟越短,流计算的效果也就越好,而所述布隆过滤器的误判率可以通过设置布隆过滤器的工作参数来改变和优化。所述布隆过滤器的工作参数包括但不限于所述布隆过滤器中用来存储所述目标消息映射的总位数、所述布隆过滤器为所述目标消息设置的哈希映射的个数、利用所述布隆过滤器进行判断的目标消息的个数等等,这些工作参数可以影响到所述布隆过滤器的误判率的大小,例如,在其他条件不变的情况下,所布隆过滤器用来存储所述目标消息映射的总位数越多,利用所述布隆过滤器进行判断的目标消息的个数越少,布隆过滤器的误判率就越低,带来的实时计算的延迟就越短,流计算的效果就越好。
[0078]更优选地,在步骤S205(未示出)中,根据所述流计算信息所对应的应用相关信息设置布隆过滤器的工作参数。
[0079]具体地,所述应用相关信息可以包括所述流计算对应的应用延迟指标信息、消息池数据容量等和具体流计算相关的各方面信息。在此,所述流计算信息所对应的应用相关信息可以基于每一个流计算的具体应用场景和应用需要而有所差异,如,流计算A所允许的应用延迟时间为tl,所可能接受的目标消息总量约Ql ;而流计算B所允许的应用延迟时间为t2,所可能接受的目标消息总量约Q2。基于不同流计算的应用相关信息可以设置布隆过滤器的不同工作参数,从而得到适用于不同计算场景的不同的布隆过滤器的误判率,进而,对最终流计算的耗时和最终计算效果产生直接影响。同时,在计算进程过程中,也可以修改原有的布隆过滤器的工作参数来适用实时的计算要求,例如,若是在计算进程中,希望保存布隆过滤器的误判率不变,则当映射保存进入布隆过滤器的目标消息增加时,所述布隆过滤器中用来存储所述目标消息映射的总位数也需要按照一定的幅度同时增加。
[0080]对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此夕卜,显然“包括” 一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
【主权项】
1.一种用于流计算的数据处理方法,其中,所述方法包括: 获取流计算信息中的目标消息; 通过布隆过滤器判断对应存储是否包括所述目标消息所对应的中间数据结果; 当判断所述对应存储包括所述中间数据结果时,检验所述中间数据结果是否已存在; 基于检验所得信息,对所述目标消息执行相应的数据计算。2.根据权利要求1所述的方法,其中,检验所述中间数据结果是否已存在包括: 检验所述中间数据结果是否存在于对应内存; 其中,所述基于检验所得信息,对所述目标消息执行相应的数据计算包括: 若所述检验所得信息包括所述中间数据结果存在于所述对应内存,根据所述中间数据结果对所述目标消息执行相应的数据计算。3.根据权利要求2所述的方法,其中,检验所述中间数据结果是否已存在还包括: 若经检验所述中间数据结果不存在于所述对应内存,检验所述中间数据结果是否存在于对应辅助存储; 其中,所述基于检验所得信息,对所述目标消息执行相应的数据计算还包括: 若所述检验所得信息包括所述中间数据结果存在于所述对应辅助存储,将所述中间数据结果读入所述对应内存,并根据所述中间数据结果对所述目标消息执行相应的数据计笪并ο4.根据权利要求3所述的方法,其中,所述基于检验所得信息,对所述目标消息执行相应的数据计算还包括: 若所述检验所得信息包括所述中间数据结果不存在于所述对应辅助存储,对所述目标消息执行初始指标计算;并将初始指标计算中的中间数据结果存储于所述对应内存。5.根据权利要求2或3所述的方法,其中,所述基于检验所得信息,对所述目标消息执行相应的数据计算还包括: 根据所述数据计算的结果更新对应存储中的所述中间数据结果。6.根据权利要求1至5中任一项所述的方法,其中,所述基于检验所得信息,对所述目标消息执行相应的数据计算还包括: 当判断所述对应存储不包括所述中间数据结果时,对所述目标消息执行初始指标计算,并将初始指标计算中的中间数据结果存储于所述对应存储。7.根据权利要求1至6中任一项所述的方法,其中,所述通过布隆过滤器判断对应存储是否包括所述目标消息所对应的中间数据结果包括: 通过布隆过滤器检测所述目标消息是否已存在; 若所述目标消息已存在,判断对应存储包括所述目标消息所对应的中间数据结果。8.根据权利要求7所述的方法,其中,该方法还包括: 设置布隆过滤器的工作参数; 其中,所述通过布隆过滤器检测所述目标消息是否已存在包括: 通过所述布隆过滤器及所述工作参数检测所述目标消息是否已存在。9.根据权利要求8所述的方法,其中,所述设置布隆过滤器的工作参数包括: 根据所述流计算信息所对应的应用相关信息设置布隆过滤器的工作参数。10.一种用于流计算的数据处理设备,其中,所述设备包括: 第一装置,用于获取流计算信息中的目标消息; 第二装置,用于通过布隆过滤器判断对应存储是否包括所述目标消息所对应的中间数据结果; 第三装置,用于当判断所述对应存储包括所述中间数据结果时,检验所述中间数据结果是否已存在; 第四装置,用于基于检验所得信息,对所述目标消息执行相应的数据计算。11.根据权利要求10所述的设备,其中,检验所述中间数据结果是否已存在包括: 检验所述中间数据结果是否存在于对应内存; 其中,所述第四装置用于: 若所述检验所得信息包括所述中间数据结果存在于所述对应内存,根据所述中间数据结果对所述目标消息执行相应的数据计算。12.根据权利要求11所述的设备,其中,检验所述中间数据结果是否已存在还包括: 若经检验所述中间数据结果不存在于所述对应内存,检验所述中间数据结果是否存在于对应辅助存储; 其中,所述第四装置还用于: 若所述检验所得信息包括所述中间数据结果存在于所述对应辅助存储,将所述中间数据结果读入所述对应内存,并根据所述中间数据结果对所述目标消息执行相应的数据计笪并ο13.根据权利要求12所述的设备,其中,所述第四装置还用于: 若所述检验所得信息包括所述中间数据结果不存在于所述对应辅助存储,对所述目标消息执行初始指标计算;并将初始指标计算中的中间数据结果存储于所述对应内存。14.根据权利要求11或12所述的设备,其中,所述第四装置还用于: 根据所述数据计算的结果更新对应存储中的所述中间数据结果。15.根据权利要求10至14中任一项所述的设备,其中,所述第四装置还用于: 当判断所述对应存储不包括所述中间数据结果时,对所述目标消息执行初始指标计算,并将初始指标计算中的中间数据结果存储于所述对应存储。16.根据权利要求10至15中任一项所述的设备,其中,所述第二装置包括: 第一单元,用于通过布隆过滤器检测所述目标消息是否已存在; 第二单元,用于若所述目标消息已存在,判断对应存储包括所述目标消息所对应的中间数据结果。17.根据权利要求16所述的设备,其中,该设备还包括: 第五装置,用于设置布隆过滤器的工作参数; 其中,所述第一单元用于: 通过所述布隆过滤器及所述工作参数检测所述目标消息是否已存在。18.根据权利要求17所述的设备,其中,所述第五装置用于: 根据所述流计算信息所对应的应用相关信息设置布隆过滤器的工作参数。
【专利摘要】本申请的目的是提供一种用于流计算的数据处理方法与设备;获取流计算信息中的目标消息;通过布隆过滤器判断对应存储是否包括所述目标消息所对应的中间数据结果;当判断所述对应存储包括所述中间数据结果时,检验所述中间数据结果是否已存在;基于检验所得信息,对所述目标消息执行相应的数据计算。与现有技术相比,本申请通过布隆过滤器检测目标消息对应的中间结果信息是否已存在,以及对被判断为已存在的中间结果信息的进一步检测,实现对目标消息的流计算;由于布隆过滤器具有非常好的空间和时间效率,本申请显著减少了内存查询时间,在保障不影响内存工作的前提下有效地提高了流计算的实时性,减少了响应延迟,改善了用户的使用体验。
【IPC分类】G06F12/02
【公开号】CN105701018
【申请号】
【发明人】刘健男, 黄晓锋
【申请人】阿里巴巴集团控股有限公司
【公开日】2016年6月22日
【申请日】2014年11月24日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1