CN106202503B - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN106202503B
CN106202503B CN201610574191.1A CN201610574191A CN106202503B CN 106202503 B CN106202503 B CN 106202503B CN 201610574191 A CN201610574191 A CN 201610574191A CN 106202503 B CN106202503 B CN 106202503B
Authority
CN
China
Prior art keywords
bolt
data
network data
reqdirect
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610574191.1A
Other languages
English (en)
Other versions
CN106202503A (zh
Inventor
苏萌
苏海波
向延超
汤金源
戚伟杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Percent Technology Group Co ltd
Original Assignee
Beijing Baifendian Information Science & Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baifendian Information Science & Technology Co Ltd filed Critical Beijing Baifendian Information Science & Technology Co Ltd
Priority to CN201610574191.1A priority Critical patent/CN106202503B/zh
Publication of CN106202503A publication Critical patent/CN106202503A/zh
Application granted granted Critical
Publication of CN106202503B publication Critical patent/CN106202503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种数据处理方法及装置,涉及计算机技术领域。其中,所述方法包括:当监听到有新的网络数据时,将所述新的网络数据存储至数据源;采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理,得到数据拓扑;将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果;将所述处理结果存入存储介质中。本发明实施例提供的技术方案实现了数据处理的实时性。

Description

数据处理方法及装置
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据处理方法及装置。
背景技术
随着网络媒体、阅读和购物的普及,在网络上通过推荐栏获取信息已经变成很重要和自然的渠道。然而面对上亿级别的用户,上千万级别的商品,和每天10亿级别的pv((page view,页面浏览量),服务端系统如何针对用户的行为实时的计算并更新推荐结果,是目前互联网中比较热门的技术。
对于电商来说,推荐引擎服务的是成千上万家客户,数据量巨大,热门物品的行为聚集,相似度的计算十分耗时;物品上下架也比较频繁,推荐结果需要快速更新。目前,比较较为常用的是数据集群的处理方式,其中,数据处理主要以MapReduce(编程模型)为主,通过调用MAP函数和Reduce函数对数据进行处理。然而,MapReduce对数据进行处理时的实时性较差。因此,急需提出一种能够对大数据量进行实时处理的方法。
发明内容
本发明实施例提供一种数据处理方法及装置,用以解决现有技术中无法对大数据量进行实时处理的问题。
本发明实施例提供一种数据处理方法,包括:
当监听到有新的网络数据时,将所述新的网络数据存储至数据源;
采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理,得到数据拓扑;
将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果;
将所述处理结果存入存储介质中。
可选的,上述方法中,所述将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果,得到处理结果,包括:
根据预设的节点管理策略,从所有的bolt中选出主bolt,剩余bolt作为客体bolt;
按照算法路径选择器,在所述客体bolt中选出与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt;
获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据;
将获取到的所有网络数据按照所述算法需求指定的算法进行归并处理,得到处理结果。
可选的,上述方法中,所述获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据,包括:
若所述主bolt与客体bolt在一个单足跳行hop算法路径上,则所述主bolt向所述客体bolt发送直接请求reqDirect,并接收所述客体bolt反馈的携带有网络数据的反馈信息retDirect;
若所述主bolt与客体bolt在一个跳跃jump算法路径上,则所述主bolt向所述jump算法路径中的中间客体bolt发送直接请求reqDirect,并接收所述客体bolt在接收到所述中间客体bolt发送的所述间接请求reInDirect之后反馈的携带有网络数据的反馈信息retDirect。
可选的,上述方法中,所述将获取到的所有网络数据按照所述算法需求指定的算法进行归并处理,得到处理结果,包括:
若所述算法需求指定的算法为协同过滤算法CF,则采用如下计算公式将获取到的所有网络数据进行归并处理,得到处理结果:
其中,为第一数据向量、为第二数据向量,所述第一数据向量是由获取到的所有网络数据中具有相同的第一特征属性的一组数据构成,所述第二数据向量是由获取到的所有网络数据中具有相同的第二特征属性的一组数据构成,为所述处理结果;
若所述算法需求指定的算法为广义线性分类算法LR,则采用如下计算方法将获取到的所有网络数据进行归并处理,得到处理结果:
其中,(X(i),Y(i))为获取到的网络数据,θex为参数对象,θ为所述处理结果,α为第一预设系数,δ为第二预设系数,n为第三预设系数。
可选的,上述方法,还包括:
将所述数据拓扑中所有主bolt的待发送直接请求reqDirect的任务置于第一流量控制窗内;
从所述第一流量控制窗内选取预设固定数量的任务置于所述第二流量控制窗内,并同时将所述第二流量控制窗内的所有待发送直接请求reqDirect发出;
若在预设的阻塞时长内接收到所有直接请求reqDirect对应的反馈信息retDirect,则再从所述第一流量控制窗内选取预设固定数量的任务,直至所述第一流量控制窗内无待选取的任务;
若在预设的阻塞时长内未接收到所有直接请求reqDirect对应的反馈信息retDirect或接收到部分直接请求reqDirect对应的反馈信息retDirect,则将未接收到反馈信息retDirect的直接请求reqDirect重新发出。
可选的,上述方法中,所述网络数据中包含有能够唯一标识数据的标识信息;相应的,所述方法还包括:
将所述网络数据中的标识信息进行转换;
相应的,所述将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果,具体为:
将所述数据拓扑中的各转换后的网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果。
可选的,上述的方法中,所述将所述数据存入存储介质中,包括:
将所述数据存入分布式存储数据库HBase和/或Redis。
本发明还提供了一种数据处理装置,包括:
第一存储模块,用于当监听到有新的网络数据时,将所述新的网络数据存储至数据源;
第一处理模块,用于采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理,得到数据拓扑;
第二处理模块,用于将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果;
第二存储模块,用于将所述处理结果存入存储介质中。
可选的,上述的装置中,所述第二处理模块,包括:
第一选择单元,用于根据预设的节点管理策略,从所有的bolt中选出主bolt,剩余bolt作为客体bolt;
第二选择单元,用于按照算法路径选择器,在所述客体bolt中选出与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt;
获取单元,用于获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据;
归并单元,用于将获取到的所有网络数据按照所述算法需求指定的算法进行归并处理,得到处理结果。
可选的,上述的装置中,所述获取单元,具体用于:
若所述主bolt与客体bolt在一个单足跳行hop算法路径上,则所述主bolt向所述客体bolt发送直接请求reqDirect,并接收所述客体bolt反馈的携带有网络数据的反馈信息retDirect;
若所述主bolt与客体bolt在一个跳跃jump算法路径上,则所述主bolt向所述jump算法路径中的中间客体bolt发送直接请求reqDirect,并接收所述客体bolt在接收到所述中间客体bolt发送的所述间接请求reInDirect之后反馈的携带有网络数据的反馈信息retDirect。
可选的,上述的装置中,所述的归并单元,具体用于:
若所述算法需求指定的算法为协同过滤算法CF,则采用如下计算公式将获取到的所有网络数据进行归并处理,得到处理结果:
其中,为第一数据向量、为第二数据向量,所述第一数据向量是由获取到的所有网络数据中具有相同的第一特征属性的一组数据构成,所述第二数据向量是由获取到的所有网络数据中具有相同的第二特征属性的一组数据构成,为所述处理结果;
若所述算法需求指定的算法为广义线性分类算法LR,则采用如下计算方法将获取到的所有网络数据进行归并处理,得到处理结果:
其中,(X(i),Y(i))为获取到的网络数据,θex为参数对象,θ为所述处理结果,α为第一预设系数,δ为第二预设系数,n为第三预设系数。
可选的,上述的装置,还包括:
置入模块,用于将所述数据拓扑中所有主bolt的待发送直接请求reqDirect的任务置于第一流量控制窗内;
第一选取模块,用于从所述第一流量控制窗内选取预设固定数量的任务置于所述第二流量控制窗内,并同时将所述第二流量控制窗内的所有待发送直接请求reqDirect发出;
第二选取模块,用于当在预设的阻塞时长内接收到所有直接请求reqDirect对应的反馈信息retDirect时,再从所述第一流量控制窗内选取预设固定数量的任务,直至所述第一流量控制窗内无待选取的任务;
重发模块,用于当在预设的阻塞时长内未接收到所有直接请求reqDirect对应的反馈信息retDirect或接收到部分直接请求reqDirect对应的反馈信息retDirect时,将未接收到反馈信息retDirect的直接请求reqDirect重新发出。
可选的,上述的装置中,所述网络数据中包含有能够唯一标识数据的标识信息;相应的,所述装置还包括:
转换模块,用于将所述网络数据中的标识信息进行转换;
相应的,所述第二处理结果,具体为:
将所述数据拓扑中的各转换后的网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果。
可选的,上述的装置中,所述第二存储模块具体用于:将所述数据存入分布式存储数据库HBase和/或Redis。
本发明实施例提供的数据处理方法及装置,通过实时监听新的网络数据,并在监听到新的网络数据后将其存储至数据源,以实时的将新的网络数据进行存储;采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理得到数据拓扑,以将加入了新网络数据的数据拓扑发射至storm中对应的数据操作节点bolt中进行处理,进而实现了数据处理的实时性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例一提供的数据处理方法的流程示意图;
图2示出了本发明实施例提供的获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据的信息流示意图;
图3示出了本发明实施例提供的流量控制方法示意图;
图4示出了本发明实施例二提供的数据处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中涉及到的一些专业术语及解释如下表1所示:
表1为本发明实施例中涉及到的专业术语及解释
图1示出了本发明实施例一提供的数据处理方法的流程示意图。如图1所示,本发明实施例一提供的所述方法包括:
步骤101、当监听到有新的网络数据时,将所述新的网络数据存储至数据源。
在具体实施时,从异步非阻塞式消息队列系统kafka消费数据,例如用户在电商网站的行为数据;可使用zookeeper解决分布式算法中配置信息的一致性,控制算法平台运行状态。
步骤102、采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理,得到数据拓扑。
在具体实施时,数据拓扑是由节点和节点之间的关系串联起来。在传统的商品推荐服务中,所有的商品和用户构成一个个的节点;在新媒体领域,文章和读者、视频和观众等构成一个个节点;再更深的层次,一个个商品的类目,文章,视频的分类也可以构成一个个的节点。
为了统一的实现编码,需对这些各个领域内独立的个体或者概念以及他们之间的关系进行抽象和定义:
对象obj:对象就是所有能在某个领域的某个类型下能用自己的标识id唯一标识自己的节点的集合。
关系rel:两个对象通过某种行为或者逻辑关联起来,例如一个用户对象浏览/购买一个商品对象;一个商品对象归属于一个类目对象。可以具体定义为:<主体,关系,客体>,例如:
<用户,浏览/购买,商品>,<商品,归属,类目>。
属性信息:对象和关系除了自己的唯一标识信息需要存储外,可能还有其他的额外信息需要存储,例如过期时间。
例如,推荐系统的经典模型中有两种元素:用户(User)和物品(Item)。用户包含一些相关的元数据,包括年龄,性别,种族和其他一些人口统计相关信息。物品也有一些相关元数据,例如描述,价格,重量等。另外用户和物品之间还会有关联(或交易),例如userA下载或购买了movieB,userX给productY评5分等。
步骤103、将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果。
在具体实施时,本步骤可采用如下方法实现:
步骤1031、根据预设的节点管理策略,从所有的bolt中选出主bolt,剩余bolt作为客体bolt。
具体的,bolt中有各自的节点管理器VertexSuperviser进行管理节点,VertexSuperviser可按照节点评分来选择主节点。
步骤1032、按照算法路径选择器,在所述客体bolt中选出与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt。
步骤1033、获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据。
若所述主bolt与客体bolt在一个单足跳行hop算法路径上,则所述主bolt向所述客体bolt发送直接请求reqDirect,并接收所述客体bolt反馈的携带有网络数据的反馈信息retDirect;
若所述主bolt与客体bolt在一个跳跃jump算法路径上,则所述主bolt向所述jump算法路径中的中间客体bolt发送直接请求reqDirect,并接收所述客体bolt在接收到所述中间客体bolt发送的所述间接请求reInDirect之后反馈的携带有网络数据的反馈信息retDirect。
具体的,图2示出了本发明实施例提供的获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据的信息流示意图。
这里需要说明的是:实时算法平台Proxima运行于storm实时流式处理组件之上;使用bolt和bolt之间通信来模拟对象与对象之间的请求行为;在bolt中完成算法的计算。由于算法实际上是交换数据,然后计算,如此循环往复。数据可以单向流动也可以形成闭环,这里涉及到数据流动的路径和计算。数据的流动路径由Path,Hop,Jump来定义;数据的计算由Selector和Merger来定义。
路径Path:两个有直接联系的对象可以直接交换信息,没有直接联系但有间接联系的对象之间,可以通过某条路径,经过其它对象间多次直接交换信息而达到间接交换信息。不管直接交换还是间接交换,都会存在对象->关系类型->对象这样一条简单路径或多条简单路径构成的复杂路径,统称为路径。例如:对象1和对象3之间通过对象2,并经过两种关系构成了一条复杂路径(后面称之为Jump):
<对象1,关系1,对象2,关系2,对象3>
Hop:路径上的基本单位-一个邻居关系组成的path,我们称作为hop,意为单足跳行,可以理解为一跳,意为短路径。例如对象1和对象2通过关系1构成了一个Hop。
Jump:跟hop的单足跳行相比,jump-跳跃我们定义为有左/右子路径的长路径,可以包含两个hop或者一个hop+一个jump或者两个jump的长路径。从定义上我们知道,jump属于递归定义。
选择器selector:根据不同的算法,我们可以为hop实现不同的选择器逻辑,以用来选出不同算法需求的邻居。Selector在hop的起始对象中计算。
归并器merger:根据不同算法,我们为jump实现不同的归并结果的逻辑,用来根据不同算法需求合并左右子路径的结果。同样,merger也是在路径的起始对象中计算。
步骤1034、将获取到的所有网络数据按照所述算法需求指定的算法进行归并处理,得到处理结果。
若所述算法需求指定的算法为协同过滤算法CF,则采用如下计算公式将获取到的所有网络数据进行归并处理,得到处理结果:
其中,为第一数据向量、为第二数据向量,所述第一数据向量是由获取到的所有网络数据中具有相同的第一特征属性的一组数据构成,所述第二数据向量是由获取到的所有网络数据中具有相同的第二特征属性的一组数据构成,为所述处理结果;
若所述算法需求指定的算法为广义线性分类算法LR,则采用如下计算方法将获取到的所有网络数据进行归并处理,得到处理结果:
其中,(X(i),Y(i))为获取到的网络数据,θex为参数对象,θ为所述处理结果,α为第一预设系数,δ为第二预设系数,n为第三预设系数。
这里需要补充的是:
对于非参数类模型,例如CF、Probability graphical model,可以很方便通过计算的分布和信息的交换来达成计算目的。对于参数类模型,典型的,例如LR算法,可以把参数本身当成一个对象,参数的更新同样可以通过计算的分布和信息的交换来达成。而且,由于天然的分布式,可以很高效的实现基于SGD的参数优化方法。以下是两种典型模型在本平台上的实现逻辑。
下面对CF算法和LR算法在本发明实施例提供的技术方案中的实现逻辑进行说明:
首先,对所述CF算法的实现逻辑进行说明。
将CF算法的公式进行拆解得到:
上述算式中是商品A(Item A)对象可以本地计算得到的数据;是商品B(Item B)对象可以本地计算得到的数据。具体的,A的评分向量的长度可在Item A对象本地计算完成,B的评分向量的长度可在Item B对象本地计算完成。计算商品A与商品B的相似度,需包含有交换的过程,交换的过程是通过商品A和商品B的共同评分用户:
商品A的节点向所述共同评分用户的节点发送获取商品B的数据请求;
商品B的节点接收到所述数据请求后,将商品B的数据发送至所述共同评分用户的节点,由所述共同评分用户的节点将所述商品B的数据转发至所述商品A的节点;
商品A的节点根据本地计算的商品A的数据和接收到的商品B的数据,计算所述商品A和所述商品B的相似度。
然后,对所述LR算法的实现逻辑进行说明。
1、分布式存储参数对象θ和样本(X,Y);
2、每个样本对象(X(i),Y(i))在通过通信获取到参数对象θ后,计算(logit(θTX(i))-Y(i))X(i),并把结构返回给参数对象θ;
3、当参数对象θ收到样本对象的返回值后,更新θ本身的属性值,完成一次更新。
步骤104、将所述处理结果存入存储介质中。
将所述数据存入分布式存储数据库HBase和/或Redis。算法运算中有大量的中间结果,进行Hbase缓存有利于二次使用和热启动算法平台,减少重新计算等待时间;平台计算的最终结果保存在Redis中。
如上计算过程无论是完成一个Hop还是一个Jump,当有输出结果配置,会将结果实时输出到Redis进行缓存;节点信息和节点的算法路径结果在满足条件下,缓存到Hbase中进行备份。
本发明实施例提供的技术方案,通过实时监听新的网络数据,并在监听到新的网络数据后将其存储至数据源,以实时的将新的网络数据进行存储;采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理得到数据拓扑,以将加入了新网络数据的数据拓扑发射至storm中对应的数据操作节点bolt中进行处理,进而实现了数据处理的实时性。
进一步的,本实施例提供的所述方法,还可包括:
将所述数据拓扑中所有主bolt的待发送直接请求reqDirect的任务置于第一流量控制窗内;
从所述第一流量控制窗内选取预设固定数量的任务置于所述第二流量控制窗内,并同时将所述第二流量控制窗内的所有待发送直接请求reqDirect发出;
若在预设的阻塞时长内接收到所有直接请求reqDirect对应的反馈信息retDirect,则再从所述第一流量控制窗内选取预设固定数量的任务,直至所述第一流量控制窗内无待选取的任务;
若在预设的阻塞时长内未接收到所有直接请求reqDirect对应的反馈信息retDirect或接收到部分直接请求reqDirect对应的反馈信息retDirect,则将未接收到反馈信息retDirect的直接请求reqDirect重新发出。
通俗的来讲:当数据大量输入时,系统物理性能瓶颈会出现通信阻塞,设计模拟tcp滑动窗口通信,流程:如图3所示,选择一批主节点作为大窗口,在大窗口选定固定数量消息,放入小窗口中并同时发送到网络,当结果返回从小窗口中移除,如果超过阻塞时间未返回再次发送小窗中剩余消息,否则就滑动到下个小窗口直至大窗口所有消息发送完成,最后重新选择一批主节点开始整个流程;流程中小窗口重发可以避免数据全部堵塞在网络中,每秒进行检查小窗口情况,网络良好的状况下,可以按照最快的速度发送,在网络差的状况又能可以在低速情况进行发送。
进一步的,所述网络数据中包含有能够唯一标识数据的标识信息;相应的,所述方法还包括:
将所述网络数据中的标识信息进行转换;
相应的,所述将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果,具体为:
将所述数据拓扑中的各转换后的网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果。
在现实中商品的id和用户id等信息的字符多样,数据涨到上亿级别时候,随之算法平台存储长id,将长id在网络中通信就会变成负担;而在分布系统中维护全局的唯一性转换id非常困难,恰好可以使用MR的id分发的特性,在bolt维护Id唯一和自增长,在输出的时候在进行统一转换。
本发明的具体实施过程包括两个过程,一个为实时算法平台运行环境storm集群,一个为实时算法平台的实施,以下分别对两个实施过程进行详细描述。
storm集群的实施步骤为:
第一步,在3台或者以上机器上面部署storm的环境和程序;
第二步,启动每台机器上面的storm程序,保证可以运行Topology作业运行;
实时算法平台的实施步骤为:
第一步,上传配置文件和实时平台的jar包程序到storm的一台机器中;
第二步,基本参数配置Kafka数据源、Hbase缓存配置、结果输出的Redis的对应IP配置;实时算法平台的在集群中并行接入数据源个数和并行算法计算个数,数据流按字段切分方式设置;数据流抽取对象Objs和关系Rels字段和生命周期;
第三步,配置算法模块:选择器Selector的行为分值对应的实现接口的类、归并器Merger的实现接口的类;算法计算的路径Paths和路径使用到对应的Selector和Merger、路径通信的衰减比例;
第四步,对应推荐系统需要配置Recommendation包括推荐使用的算法路径、输出的规则等;
第五步,实时平台jar以配置文件为输入的Topology作业提交到storm中运行。
需要说明的是:对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
图4示出了本发明实施例二提供的数据处理装置的结构示意图。如图4所示,本实施例提供的所述装置,包括:
第一存储模块10用于当监听到有新的网络数据时,将所述新的网络数据存储至数据源;
第一处理模块20用于采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理,得到数据拓扑;
第二处理模块30用于将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果;
第二存储模块40用于将所述处理结果存入存储介质中。
本发明实施例提供的技术方案,通过实时监听新的网络数据,并在监听到新的网络数据后将其存储至数据源,以实时的将新的网络数据进行存储;采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理得到数据拓扑,以将加入了新网络数据的数据拓扑发射至storm中对应的数据操作节点bolt中进行处理,进而实现了数据处理的实时性。
这里需要说明的是:本实施例提供的所述数据处理装置可是实现上述方法实施例提供的数据处理方法,具体的实现过程可参见上述实施例中的相应内容,此处不再赘述。
进一步的,本实施例提供的所述第二处理模块,包括:
第一选择单元,用于根据预设的节点管理策略,从所有的bolt中选出主bolt,剩余bolt作为客体bolt;
第二选择单元,用于按照算法路径选择器,在所述客体bolt中选出与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt;
获取单元,用于获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据;
归并单元,用于将获取到的所有网络数据按照所述算法需求指定的算法进行归并处理,得到处理结果。
进一步的,上述的获取单元,具体用于:
若所述主bolt与客体bolt在一个单足跳行hop算法路径上,则所述主bolt向所述客体bolt发送直接请求reqDirect,并接收所述客体bolt反馈的携带有网络数据的反馈信息retDirect;
若所述主bolt与客体bolt在一个跳跃jump算法路径上,则所述主bolt向所述jump算法路径中的中间客体bolt发送直接请求reqDirect,并接收所述客体bolt在接收到所述中间客体bolt发送的所述间接请求reInDirect之后反馈的携带有网络数据的反馈信息retDirect。
进一步的,上述的装置中,所述的归并单元,具体用于:
若所述算法需求指定的算法为协同过滤算法CF,则采用如下计算公式将获取到的所有网络数据进行归并处理,得到处理结果:
其中,为第一数据向量、为第二数据向量,所述第一数据向量是由获取到的所有网络数据中具有相同的第一特征属性的一组数据构成,所述第二数据向量是由获取到的所有网络数据中具有相同的第二特征属性的一组数据构成,为所述处理结果;
若所述算法需求指定的算法为广义线性分类算法LR,则采用如下计算方法将获取到的所有网络数据进行归并处理,得到处理结果:
其中,(X(i),Y(i))为获取到的网络数据,θex为参数对象,θ为所述处理结果,α为第一预设系数,δ为第二预设系数,n为第三预设系数。
进一步的,上述的装置,还可包括:
置入模块,用于将所述数据拓扑中所有主bolt的待发送直接请求reqDirect的任务置于第一流量控制窗内;
第一选取模块,用于从所述第一流量控制窗内选取预设固定数量的任务置于所述第二流量控制窗内,并同时将所述第二流量控制窗内的所有待发送直接请求reqDirect发出;
第二选取模块,用于当在预设的阻塞时长内接收到所有直接请求reqDirect对应的反馈信息retDirect时,再从所述第一流量控制窗内选取预设固定数量的任务,直至所述第一流量控制窗内无待选取的任务;
重发模块,用于当在预设的阻塞时长内未接收到所有直接请求reqDirect对应的反馈信息retDirect或接收到部分直接请求reqDirect对应的反馈信息retDirect时,将未接收到反馈信息retDirect的直接请求reqDirect重新发出。
进一步的,上述的装置中,所述网络数据中包含有能够唯一标识数据的标识信息;相应的,所述装置还包括:
转换模块,用于将所述网络数据中的标识信息进行转换;
相应的,所述第二处理结果,具体为:
将所述数据拓扑中的各转换后的网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果。
进一步的,上述的装置中,所述第二存储模块具体用于:将所述数据存入分布式存储数据库HBase和/或Redis。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种数据处理方法,其特征在于,包括:
当监听到有新的网络数据时,将所述新的网络数据存储至数据源;
采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理,得到数据拓扑;
将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果;
将所述处理结果存入存储介质中;
其中,
所述将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果,包括:
根据预设的节点管理策略,从所有的bolt中选出主bolt,剩余bolt作为客体bolt;
按照算法路径选择器,在所述客体bolt中选出与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt;
获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据;
将获取到的所有网络数据按照所述算法需求指定的算法进行归并处理,得到处理结果。
2.根据权利要求1所述的方法,其特征在于,
所述获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据,包括:
若所述主bolt与客体bolt在一个单足跳行hop算法路径上,则所述主bolt向所述客体bolt发送直接请求reqDirect,并接收所述客体bolt反馈的携带有网络数据的反馈信息retDirect;
若所述主bolt与客体bolt在一个跳跃jump算法路径上,则所述主bolt向所述jump算法路径中的中间客体bolt发送直接请求reqDirect,并接收所述客体bolt在接收到所述中间客体bolt发送的间接请求reInDirect之后反馈的携带有网络数据的反馈信息retDirect。
3.根据权利要求2所述的方法,其特征在于,还包括:
将所述数据拓扑中所有主bolt的待发送直接请求reqDirect的任务置于第一流量控制窗内;
从所述第一流量控制窗内选取预设固定数量的任务置于第二流量控制窗内,并同时将所述第二流量控制窗内的所有待发送直接请求reqDirect发出;
若在预设的阻塞时长内接收到所有直接请求reqDirect对应的反馈信息retDirect,则再从所述第一流量控制窗内选取预设固定数量的任务,直至所述第一流量控制窗内无待选取的任务;
若在预设的阻塞时长内未接收到所有直接请求reqDirect对应的反馈信息retDirect或接收到部分直接请求reqDirect对应的反馈信息retDirect,则将未接收到反馈信息retDirect的直接请求reqDirect重新发出。
4.根据权利要求1-3中任一项所述的方法,其特征在于,
所述网络数据中包含有能够唯一标识数据的标识信息;相应的,所述方法还包括:
将所述网络数据中的标识信息进行转换;
相应的,所述将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果,具体为:
将所述数据拓扑中的各转换后的网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果。
5.一种数据处理装置,其特征在于,包括:
第一存储模块,用于当监听到有新的网络数据时,将所述新的网络数据存储至数据源;
第一处理模块,用于采用流式计算框架storm将所述数据源中的网络数据进行拓扑处理,得到数据拓扑;
第二处理模块,用于将所述数据拓扑中的各网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果;
第二存储模块,用于将所述处理结果存入存储介质中;
其中,
所述第二处理模块,包括:
第一选择单元,用于根据预设的节点管理策略,从所有的bolt中选出主bolt,剩余bolt作为客体bolt;
第二选择单元,用于按照算法路径选择器,在所述客体bolt中选出与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt;
获取单元,用于获取所有与所述主bolt在同一算法路径,且具有相同算法需求的客体bolt的网络数据;
归并单元,用于将获取到的所有网络数据按照所述算法需求指定的算法进行归并处理,得到处理结果。
6.根据权利要求5所述的装置,其特征在于,
所述获取单元,具体用于:
若所述主bolt与客体bolt在一个单足跳行hop算法路径上,则所述主bolt向所述客体bolt发送直接请求reqDirect,并接收所述客体bolt反馈的携带有网络数据的反馈信息retDirect;
若所述主bolt与客体bolt在一个跳跃jump算法路径上,则所述主bolt向所述jump算法路径中的中间客体bolt发送直接请求reqDirect,并接收所述客体bolt在接收到所述中间客体bolt发送的间接请求reInDirect之后反馈的携带有网络数据的反馈信息retDirect。
7.根据权利要求6所述的装置,还包括:
置入模块,用于将所述数据拓扑中所有主bolt的待发送直接请求reqDirect的任务置于第一流量控制窗内;
第一选取模块,用于从所述第一流量控制窗内选取预设固定数量的任务置于第二流量控制窗内,并同时将所述第二流量控制窗内的所有待发送直接请求reqDirect发出;
第二选取模块,用于当在预设的阻塞时长内接收到所有直接请求reqDirect对应的反馈信息retDirect时,再从所述第一流量控制窗内选取预设固定数量的任务,直至所述第一流量控制窗内无待选取的任务;
重发模块,用于当在预设的阻塞时长内未接收到所有直接请求reqDirect对应的反馈信息retDirect或接收到部分直接请求reqDirect对应的反馈信息retDirect时,将未接收到反馈信息retDirect的直接请求reqDirect重新发出。
8.根据权利要求5-7中任一项所述的装置,其特征在于,
所述网络数据中包含有能够唯一标识数据的标识信息;相应的,所述装置还包括:
转换模块,用于将所述网络数据中的标识信息进行转换;
相应的,所述第二处理结果,具体为:
将所述数据拓扑中的各转换后的网络数据发射至storm中对应的数据操作节点bolt中进行处理,得到处理结果。
CN201610574191.1A 2016-07-19 2016-07-19 数据处理方法及装置 Active CN106202503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610574191.1A CN106202503B (zh) 2016-07-19 2016-07-19 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610574191.1A CN106202503B (zh) 2016-07-19 2016-07-19 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN106202503A CN106202503A (zh) 2016-12-07
CN106202503B true CN106202503B (zh) 2019-08-16

Family

ID=57493761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610574191.1A Active CN106202503B (zh) 2016-07-19 2016-07-19 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN106202503B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781238B (zh) * 2019-10-08 2022-09-13 中国建设银行股份有限公司 基于Redis、Hbase结合的客户视图缓存方法和装置
CN112256948A (zh) * 2020-10-13 2021-01-22 北京字跳网络技术有限公司 数据处理方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581123A (zh) * 2012-07-20 2014-02-12 中兴通讯股份有限公司 网络数据的处理方法及装置、网络数据的发布方法及系统
CN105468626A (zh) * 2014-09-04 2016-04-06 腾讯科技(北京)有限公司 数据处理方法及系统
CN105574082A (zh) * 2015-12-08 2016-05-11 曙光信息产业(北京)有限公司 基于Storm的流处理方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581123A (zh) * 2012-07-20 2014-02-12 中兴通讯股份有限公司 网络数据的处理方法及装置、网络数据的发布方法及系统
CN105468626A (zh) * 2014-09-04 2016-04-06 腾讯科技(北京)有限公司 数据处理方法及系统
CN105574082A (zh) * 2015-12-08 2016-05-11 曙光信息产业(北京)有限公司 基于Storm的流处理方法及系统

Also Published As

Publication number Publication date
CN106202503A (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
US10430464B1 (en) Scalable graph propagation for knowledge expansion
TW201717071A (zh) 推薦方法及裝置
Nishimura et al. Restreaming graph partitioning: simple versatile algorithms for advanced balancing
Mahadik et al. Fast distributed bandits for online recommendation systems
CN103329151B (zh) 基于话题聚类的推荐
CN105354202B (zh) 数据推送方法及装置
WO2009002549A1 (en) Economic optimization for product search relevancy
CN109360057A (zh) 信息推送方法、装置、计算机设备及存储介质
CN110266745A (zh) 基于深度网络的信息流推荐方法、装置、设备及存储介质
CN112380453B (zh) 物品推荐方法、装置、存储介质及设备
CN110175895A (zh) 一种物品推荐方法及装置
CN104992348B (zh) 一种信息展示的方法和装置
CN109388697A (zh) 处理问答语料的方法、装置及电子终端
CN103246991A (zh) 一种基于数据挖掘的客户关系管理方法和系统
CN109961080A (zh) 终端识别方法及装置
CN107480227A (zh) 一种基于大数据的信息推送方法
Wang et al. Enhanced ant colony algorithm for cost-aware data-intensive service provision
Long et al. Fedsiam: Towards adaptive federated semi-supervised learning
CN106202503B (zh) 数据处理方法及装置
CN112116426A (zh) 一种推送物品信息的方法和装置
CN106384292A (zh) 社交网络用户关系采集系统及方法
CN110941771B (zh) 一种电商平台中的商品并行动态推送方法
Yang et al. Trust-based scheduling strategy for cloud workflow applications
CN107391912A (zh) 云数据中心系统中应用的大小流分类的医院临床操作数据选择方法
Mitheran et al. Improved representation learning for session-based recommendation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100080 No.101, 1st floor, building 14, No.27, Jiancai Chengzhong Road, Haidian District, Beijing

Patentee after: Beijing PERCENT Technology Group Co.,Ltd.

Address before: 100080 15 / F, block a, China Technology Trading Building, 66 North Fourth Ring Road West, Haidian District, Beijing

Patentee before: BEIJING BAIFENDIAN INFORMATION SCIENCE & TECHNOLOGY Co.,Ltd.