一种基于分布式流计算的数据处理方法及系统与流程

文档序号:16918657发布日期:2019-02-19 19:10阅读:184来源:国知局
一种基于分布式流计算的数据处理方法及系统与流程
本说明书实施例涉及信息
技术领域
,尤其涉及一种基于分布式流计算的数据处理方法及系统。
背景技术
:在互联网行业,互联网企业通常会对业务运营中产生的业务数据进行分析处理,以便统计出有价值的信息。举例来说,电商平台可以对记录的用户行为日志进行分析处理,以便针对每个用户,统计出在指定期间内,该用户对每种推荐商品的点击次数,作为统计结果,该统计结果可以反映该用户的购物偏好。事实上,业务运营中产生的业务数据是海量的,考虑到单个设备的处理能力有限以及需要对产生的业务数据及时进行处理,一般采用分布式流计算的方式处理业务数据。具体地,以上文提及的业务场景(即统计用户对每种推荐商品的点击次数)为例,在由分布式系统对业务数据进行分析处理之前,业务方通常会先对分布式系统进行程序部署,即针对上述业务场景,编写用于统计用户对每种推荐商品的点击次数的处理程序,并将所述处理程序安装到分布式系统的每个节点上。如此,业务数据流(即按产生顺序依次排列的若干用户行为日志)可以在各节点间进行流动,各节点通过执行所述处理程序,可以协同完成对海量的用户行为日志的分析处理工作,最终统计出在指定期间内,每个用户对每种推荐商品的点击次数。然而,实践中,业务场景是多种多样的,上述的程序部署方式会给业务方带来很大的工作量。技术实现要素:针对上述技术问题,本说明书实施例提供一种基于分布式流计算的数据处理方法及系统,技术方案如下:根据本说明书实施例的第1方面,提供一种基于分布式流计算的数据处理方法,数据处理系统包括数据获取节点、特征提取节点、特征统计节点,所述方法包括:所述数据获取节点在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取业务数据流,并将所述业务数据流传递给所述特征提取节点;所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对所述业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息,以及,将得到的特征信息流传递给所述特征统计节点;所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出。根据本说明书实施例的第2方面,提供一种基于分布式流计算的数据处理系统,包括数据处理系统包括数据获取节点、特征提取节点、特征统计节点;所述数据获取节点,在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取业务数据流,并将所述业务数据流传递给所述特征提取节点;所述特征提取节点,在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对所述业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息,以及,将得到的特征信息流传递给所述特征统计节点;所述特征统计节点,在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出。根据本说明书实施例的第3方面,提供一种基于分布式流计算的数据处理方法,数据处理系统包括数据获取节点、特征提取节点、特征统计节点,所述方法包括:所述数据获取节点在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取业务数据流;将所述业务数据流传递给所述特征提取节点,以使所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对所述业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息,将得到的特征信息流传递给所述特征统计节点,进而使所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出。根据本说明书实施例的第4方面,提供一种基于分布式流计算的数据处理方法,数据处理系统包括数据获取节点、特征提取节点、特征统计节点,所述方法包括:所述特征提取节点在通过安装的特征提取程序加载业务方指定的提取规则配置信息之后,依次针对业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息;将得到的特征信息流传递给所述特征统计节点,以使所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出;其中,所述业务数据流是所述数据获取节点在通过安装的数据获取程序加载所述业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取并传递给所述特征提取节点的。根据本说明书实施例的第5方面,提供一种基于分布式流计算的数据处理方法,数据处理系统包括数据获取节点、特征提取节点、特征统计节点,所述方法包括:所述特征统计节点在通过安装的特征统计程序加载业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对特征信息流中的特征信息进行统计,得到统计结果;将所述统计结果输出;其中,所述特征信息流是所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息并传递给所述特征统计节点的;所述业务数据流是所述数据获取节点在通过安装的数据获取程序加载所述业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取并传递给所述特征提取节点的。根据本说明书实施例的第6方面,提供一种基于分布式流计算的数据处理装置,数据处理系统包括所述装置、特征提取节点、特征统计节点,所述装置包括:获取模块,在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取业务数据流;传递模块,将所述业务数据流传递给所述特征提取节点,以使所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对所述业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息,将得到的特征信息流传递给所述特征统计节点,进而使所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出。根据本说明书实施例的第7方面,提供一种基于分布式流计算的数据处理装置,数据处理系统包括所述装置、特征提取节点、特征统计节点,所述装置包括:获取模块,在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取业务数据流;传递模块,将所述业务数据流传递给所述特征提取节点,以使所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对所述业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息,将得到的特征信息流传递给所述特征统计节点,进而使所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出。根据本说明书实施例的第8方面,提供一种基于分布式流计算的数据处理装置,数据处理系统包括数据获取节点、特征提取节点、所述装置,所述装置包括:统计模块,在通过安装的特征统计程序加载业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对特征信息流中的特征信息进行统计,得到统计结果;输出模块,将所述统计结果输出;其中,所述特征信息流是所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息并传递给所述特征统计节点的;所述业务数据流是所述数据获取节点在通过安装的数据获取程序加载所述业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取并传递给所述特征提取节点的。本说明书实施例所提供的技术方案,基于各种不同的业务场景,将针对数据的分布式流计算统计流程抽象为通用的数据获取阶段、特征提取阶段和特征统计阶段,并针对每个阶段开发相应的处理程序(如数据获取程序、特征提取程序或特征统计程序)并完成程序部署。此外,针对每个阶段对应的处理程序,该处理程序需要加载业务方指定的配置信息(如数据源配置信息、提取规则配置信息或统计规则配置信息)后才能实现相应的处理功能(如数据获取功能、特征提取功能或特征统计功能)。而业务方可以采用指定配置信息的方式,对处理程序中的业务场景相关参数进行配置。通过本说明书实施例,由数据获取程序、特征提取程序与特征统计程序组成的数据统计框架可以通用于各种业务场景,而不需要针对每种业务场景都编写代码开发适配的处理程序,从而节省了很大的工作量。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本说明书实施例提供的一种基于分布式流计算的数据处理系统的结构示意图;图2是本说明书实施例提供的另一种基于分布式流计算的数据处理系统的结构示意图;图3是本说明书实施例提供的一种基于分布式流计算的数据处理方法的流程示意图;图4是本说明书实施例提供的一种基于分布式流计算的数据处理装置的结构示意图;图5是本说明书实施例提供的另一种基于分布式流计算的数据处理装置的结构示意图;图6是本说明书实施例提供的另一种基于分布式流计算的数据处理装置的结构示意图;图7是用于配置本说明书实施例方法的一种设备的结构示意图。具体实施方式在实践中,由于业务场景的多样性,不同的业务场景产生的业务数据的类型不同,想要从不同类型的业务数据中统计出的信息的类型也不同,因此,业务方(负责对业务数据进行分析处理的主体,具体可以是管理维护分布式系统的技术人员)在对分布式系统进行程序部署时,不得不针对当下的业务场景,编写适配于这种业务场景的处理程序。例如,倘若业务场景a是,从电商平台记录的用户行为日志中统计出每个用户每天对每种推荐商品的点击次数;业务场景b是,从公共言论平台记录的用户发表记录中统计出每个用户每月提及指定关键词的次数。业务方在面对业务场景a时,需要编写用于从电商平台记录的用户行为日志中统计用户对每种推荐商品的点击次数的处理程序。业务方在面对业务场景b时,又需要另行编写用于从公共言论平台记录的用户发表记录中统计出每个用户提及指定关键词的次数的处理程序。显然,当业务场景较多时,业务方的工作量是巨大的。为此,申请人对各种业务场景下针对数据的分布式流计算统计流程进行分析总结,发现可以将分布式流计算统计流程抽象为通用的数据获取阶段、特征提取阶段和特征统计阶段,也就是说,任一业务场景下的数据统计流程都需要经过上述三个阶段。倘若针对不同的阶段编写用于实现通用功能的处理程序,再结合业务方指定的程序配置信息对程序中的业务场景相关参数进行配置,就可以使得业务方仅需要进行一次程序部署,就可以将部署的处理程序复用于各种业务场景,满足对多种信息的统计需求。此处对分布式流计算加以说明。为了实现数据获取与处理的实时性,即为了在数据产生时就及时对数据进行处理,而不是先对数据进行存储,待累积到一定量之后再进行批量处理,通常将实时产生的数据以数据流(或称数据序列)的形式源源不断的输入到分布式系统,数据流在分布式系统中的各节点间流动,由各节点协同对数据流进行处理,此过程即是分布式流计算。为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。以下结合附图,详细说明本说明书各实施例提供的技术方案。图1是本说明书实施例提供的一种基于分布式流计算的数据处理系统的结构示意图,包括数据处理系统包括数据获取节点101、特征提取节点102、特征统计节点103。其中,所述数据获取节点101是负责执行数据获取功能的节点,其上安装有数据获取程序。所述特征提取节点102是负责执行特征提取功能的节点,其上安装有特征提取程序。所述特征统计节点103是负责执行特征统计功能的节点,其上安装有特征统计程序。需要说明的是,在实践中,所述数据获取节点101一般只需要安装所述数据获取程序即可,所述特征提取节点102一般只需要安装所述特征提取程序即可,所述特征统计节点103一般只需要安装所述特征统计程序即可。此外,某个节点的角色不一定是固定不变的。具体地,所述数据处理系统中的任一节点都可以安装有上述三种程序(即数据获取程序、特征提取程序与特征统计程序),当该节点选择运行数据获取程序时,即成为数据获取节点101,当该节点选择运行特征提取程序时,即成为特征提取节点102,当该节点选择运行特征统计程序时,即成为特征统计节点103。在所述数据处理系统中,所述数据获取节点101,用于在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取业务数据流,并将所述业务数据流传递给所述特征提取节点102。所述特征提取节点102,用于在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对所述业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息,以及,将得到的特征信息流传递给所述特征统计节点103;所述特征统计节点103,用于在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出。其中,上述的各种配置信息的具体形式可以是配置文件。在软件开发领域,程序的配置文件一般提供了程序运行所需的参数。在本说明书实施例中,业务方指定的各种配置信息通常包含了具体业务场景下的相关参数(本文称之为业务场景相关参数)。具体地,所述数据源配置信息中可以记载的业务场景相关参数为数据源标识。实践中,不同的业务场景中,需要处理的业务数据的来源通常不同。例如,在前文所述的业务场景a中,数据源可以是电商平台的消息系统(具体可以是kafka),而在业务场景b中,数据源可以是公共言论平台的消息系统。所述数据获取程序在加载了所述数据源配置信息后,才能明确应当从何处获取业务数据流进行处理。所述提取规则配置信息中可以记载的业务场景相关参数为如何从业务数据中提取特征信息的特征提取规则。实践中,不同的业务场景中,需要从业务数据中提取的特征信息也往往不同。例如,在前文所述的业务场景a中,需要从用户行为日志中提取的特征信息一般包括用户标识、推荐商品标识、时间信息等。在业务场景b中,需要从用户发表记录中提取的特征信息一般包括用户标识、指定关键词、时间信息等。所述特征提取程序在加载了所述提取规则配置信息后,才能明确应当提取业务数据中的哪些信息作为特征信息。所述统计规则配置信息中可以记载的业务场景相关参数为如何对特征信息流中的特征信息进行统计的统计规则。实践中,不同的业务场景中,通常需要采用不同方式对特征信息流中的特征信息进行统计(或称聚合)。例如,在前文所述的业务场景a中,需要统计出每个用户每天对每个推荐商品的点击次数,那么就需要在特征信息流中,将当天产生的特征信息聚合成一个统计结果。在业务场景b中,需要统计出每个用户每月发表的言论中,提及指定关键词的次数,那么就需要在特征信息流中,将当月产生的特征信息聚合成一个统计结果。所述特征统计程序在加载了所述统计规则配置信息后,才能明确应当将特征信息流中的哪些特征信息聚合成一个统计结果。此外,图1所示的数据处理系统还可以包括统计结果存储节点104。具体地,所述特征统计节点103可以将所述统计结果输出给所述统计结果存储节点104。所述统计结果存储节点104,可以在通过安装的统计结果存储程序加载所述业务方指定的存储格式配置信息之后,通过所述统计结果处理程序,以所述存储格式配置信息中记载的数据存储格式存储所述统计结果。所述存储格式配置信息可以记载的业务场景相关参数为数据存储格式信息,以指示所述统计结果存储程序将所述统计结果处理成何种数据存储格式进行存储。可选的数据存储格式包括但不限于hbase、kafka、mysql。所述统计结果存储节点104可以将所述统计结果存储于本地数据库或非本地数据库(如分布式数据库、云数据库等)。需要说明的是,所述统计结果存储节点104的角色也可以不是固定的。具体地,所述数据处理系统中的任一节点都可以安装有所述统计结果存储程序,该节点当选择运行所述统计结果存储程序时,即成为统计结果存储节点104。值得强调的是,当节点101~104上都安装有数据获取程序、特征提取程序、特征统计程序与统计结果存储程序时,上述的数据源配置信息、提取规则配置信息、统计规则配置信息与存储格式配置信息可以包含于同一个配置文件中,业务方将该配置文件上传至每个节点即可。当节点101仅安装有数据获取程序,节点102仅安装有特征提取程序,节点103仅安装有特征统计程序,节点104仅安装有统计结果存储程序时,上述的数据源配置信息、提取规则配置信息、统计规则配置信息与存储格式配置信息可以分别是不同的配置文件,业务方可以将数据源配置文件上传至节点101,将提取规则配置文件上传至节点102,将统计规则配置文件上传至节点103,将存储格式配置文件上传至节点104。综上,业务方在进行程序部署时,可以与具体的业务场景解耦,直接将可复用的数据统计框架,即由数据获取程序、特征提取程序、特征统计程序(还可以包括统计结果存储程序)组成的软件架构,部署于分布式系统的每个节点上。在面对具体的业务场景时,业务方可以上传适配于这种业务场景的配置信息,对上述各种程序的业务场景相关参数进行配置,以触发上述软件架构的实际运行。上述软件架构实际上是数据流的流动所形成的拓扑结构。上述软件架构在实际运行时,依托于分布式系统的硬件架构,上述软件架构与上述硬件架构共同组成所述数据处理系统。所述数据处理系统中至少存在三种角色的节点,即数据获取节点101、特征提取节点102、特征统计节点103,还可以进一步包括统计结果存储节点104。各节点的区别主要在于其运行的程序所实现的功能不同。数据获取节点101运行上述软件架构中的数据获取程序,特征提取节点102运行上述软件架构中的特征提取程序,特征统计节点103运行上述软件架构中的特征统计程序,统计结果存储节点104运行上述软件架构中的统计结果存储程序。数据以业务数据流(或称业务数据序列)的形式从数据获取节点101流入,进而进入特征提取节点102,然后以特征信息流(或称特征信息序列)的形式从特征提取节点102流出,进入特征统计节点103,特征统计节点103输出统计结果给统计结果存储节点104完成存储。需要说明的是,在所述数据处理系统中,所述数据获取节点101的数量,和/或所述特征提取节点102的数量,和/或所述特征统计节点103的数量,和/或所述统计结果存储节点104的数量,可以是不止一个。这种情况下,数据流在节点间传递的过程中可能会出现分流。例如,假设特征提取节点102的数量为3个,其他节点的数量为1个,那么数据获取节点101会将业务数据流分为段,分别传递给这三个特征提取节点102进行处理。这三个特征提取节点102随后将得到的特征信息流都传递给特征统计节点103,如图2所示。此处还需要说明,在图2中并未示出对配置信息的加载过程,但实际上,图2中的各节点会通过安装的程序加载相应的配置信息。图3是本说明书实施例提供的一种基于分布式流计算的数据处理方法的流程示意图,包括如下步骤:s300:所述数据获取节点在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取业务数据流。s302:所述数据获取节点将所述业务数据流传递给所述特征提取节点。s304:所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对所述业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息。s306:所述特征提取节点将得到的特征信息流传递给所述特征统计节点。s308:所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出。图3所示的方法基于图1所示的数据处理系统。本实施例对所述数据处理系统的数据处理过程进行详细阐述。在本说明书实施例中,可以预先定义通用数据结构。通用数据结构的作用在于,使得前文所述的分布式流计算框架在应用于各种业务场景时,能够以统一的数据结构进行数据处理,提升处理效率。如此,在步骤s304中,特征提取程序可以依次针对所述业务数据流中的每个业务数据,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取信息并组织成所述通用数据结构,然后将组织成所述通用数据结构的信息作为特征信息。下表1提供了一种可选的通用数据结构。当然,本领域技术人员也可以自行定义其他通用数据结构。表1表1所示的通用数据结构包括组标识字段、备注字段和至少一个键值对key-value字段。基于表1所示的通用数据结构,在步骤s308中,所述特征统计程序可以从所述特征信息流中,筛选出组标识字段的值为指定组标识的特征信息,根据筛选出的特征信息,确定若干备用特征信息。然后,将备注字段的值满足统计条件的备用特征信息确定为目标特征信息。接着,可以对各目标特征信息进行聚合操作,具体为针对所述各目标特征信息包含的每个key-value,将各目标特征信息的该key-value的value相加,并将得到的和与该key-value的key组成一个综合key-value,根据各综合key-value,确定统计结果。其中,所述指定组标识是所述统计规则配置信息中记载的统计规则指定的,所述统计条件是所述统计规则配置信息中记载的统计规则指定的。所述统计结果具有所述通用数据结构,所述统计结果的组标识字段的值为所述指定组标识,所述统计结果的备注字段的值为所述统计条件,所述统计结果的各key-value字段的值与各综合key-value一一对应,一般而言,所述统计结果的各key-value为各综合key-value。更具体地,当所述业务数据流是用户行为日志队列时,在步骤s302中,所述特征提取程序可以根据所述提取规则配置信息中记载的提取规则,将该用户行为日志中包含的用户标识写入所述通用数据结构的组标识字段;以及,根据所述提取规则,将该用户行为日志中包含的时间信息写入所述备注字段;以及,根据所述提取规则,从该用户行为日志中提取的若干行为内容字段,针对提取的每个行为内容字段,以该行为内容字段为key,以预设数值为value,组成key-value,并将组成的key-value写入所述通用数据结构的key-value字段。其中,行为内容字段是所述提取规则中指定的。在前文所述的业务场景a中,行为内容字段一般是包含商品标识的字段。用户行为日志中出现的商品标识,即是用户点击的推荐商品的标识。所述预设数值也是所述提取规则指定的。在业务场景a中,所述预设数值可以为1,表示用户点击了商品一次。例如,在业务场景a中,下表2示出了一个特征信息。表2如表2所示的特征信息,是从用户张三于2018年7月14日下午18点整进行的操作所产生的用户行为日志中提取的。张三分别点击了推荐商品1、2和5各一次。假设特征统计程序接收到的特征信息流中的每个特征信息都是图2所示的数据结构,那么,在步骤s308中,若所述指定组标识为“张三”,则特征统计程序可以将组标识为“张三”的特征信息从所述特征信息流(图2所示的特征信息的序列)中筛选出来。接着,特征统计程序根据筛选出的张三的特征信息,确定若干备用特征信息。此处需要说明的是,所述特征统计程序可以直接将筛选出的特征信息确定为备用特征信息。于是,所述特征统计程序可以筛选出若干类似于图2所示的特征信息。假设有3个备用特征信息,分别如表3~表5所示。表3表4表5在业务场景a中,将备注字段的值满足统计条件的备用特征信息确定为目标特征信息,具体可以是将备注字段中的时间信息落入指定时间段的备用特征信息,确定为目标特征信息。假设所述指定时间段为2018071400:00:00~2018071424:00:00,那么,表4所示的特征信息未落入所述指定时间段。因此,将表3所示的特征信息与表5所示的特征信息确定为目标特征信息。接着,特征统计程序将表3所示的特征信息与表5所示的特征信息进行聚合操作,可以得到表6所示的统计结果。表6可见,在业务场景a中,一个统计结果实际上表示用户张三在指定时间段(2018071400:00:00~2018071424:00:00)内,点击每种推荐商品的次数。此外,在步骤s308中,特征统计程序根据筛选出的特征信息,确定若干备用特征信息,具体也可以是:特征统计程序针对每个缓存周期(如一分钟),对在该缓存周期内筛选到缓存中的特征信息进行统计,得到该缓存周期对应的第一中间结果,其中,所述缓存周期小于所述指定时间段对应的时间间隔,所述第一中间结果具有所述通用数据结构。然后,将该缓存周期对应的第一中间结果写入数据库,以便确定若干备用特征信息。此处,可以直接将每个第一中间结果作为一个备用特征信息。进一步地,也可以不将每个第一中间结果作为一个备用特征信息,而针对每个写入周期,将在该写入周期内写入数据库的第一中间结果统计成第二中间结果,作为一个备用特征信息。其中,所述写入周期大于所述缓存周期,且小于所述指定时间段对应的时间间隔,所述第二中间结果具有所述通用数据结构。需要说明的是,在实际运行中,一方面,特征信息流源源不断流入所述特征统计节点,另一方面,所述特征统计节点的缓存空间有限。假设在业务场景a中,需要统计用户张三在过去24个小时内点击每种推荐商品的次数,那么,特征统计节点往往需要在缓存中累积过去24个小时内对应于张三的所有特征信息,当数据量过大,这么做是不现实的。为此,在本说明书实施例中,特征统计程序可以以1分钟为缓存周期,将每分钟筛选出的张三对应的特征信息先进行一次聚合,得到第一中间结果,然后及时将第一中间结果存入数据库(可以是面向列的数据库hbase)。接着,特征统计程序可以以1小时为写入周期,将1小时内写入数据库的第一中间结果再次聚合成第二中间结果,作为一个备用特征信息。举例说明。特征统计程序在1分钟内筛选出的张三对应的特征信息为表3和表5所示(为了描述的方便,筛选出的特征信息较少,但是在实际运行中,每1分钟筛选出的特征信息可能有很多),那么,可以对表3和表5所示的特征信息进行聚合,得到第一中间结果,如表7所示。表7如表7所示,备注字段的值为一个长度为1分钟的时间段。特征统计程序将每分钟得到的第一中间结果(记为s)写入表8所示hbase数据表。用户标识……18:00:00~19:00:0019:00:00~20:00:00……张三……s1、s2……s60s61、s62……s120……表8需要说明的是,在表8中,省略了年月日时间(20180714)。如表8所示,hbase数据表中的一列对应的时间间隔为1小时,即上述的写入周期。一个写入周期相当于连续60个缓存周期。因此,hbase数据表中的一列可以容纳60个第一中间结果。于是,特征统计程序可以将每一列的60个中间结果聚合成第二中间结果,作为一个备用特征信息。假设由60个第一中间结果聚合成的第二中间结果(备用特征信息)可以如表9所示。表9表9所示的备用特征信息,表示用户张三在一个写入周期内点击每种推荐商品的次数。因此,后续,可以将时间信息落入指定时间段(2018071400:00:00~2018071424:00:00)的所有备用特征信息(12个类似于表9的备用特征信息)最终聚合成统计结果,假设如表10所示。表10另外,在说明书实施例中,还可以实现程序对配置信息的热加载。所谓热加载,是指程序无需重新启动,可以在运行状态下加载配置信息,完成对业务场景相关参数的更新。具体方案如下:第一方面所述数据获取节点在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,以所述数据获取程序的程序标识为key,以所述数据源配置信息为value,建立key-value存入kv数据库。所述数据获取节点当监测到所述kv数据库中所述数据获取程序的程序标识对应的数据源配置信息被修改时,从所述kv数据库中获取修改后的数据源配置信息,并通过所述数据获取程序重新加载修改后的数据源配置信息。第二方面所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,以所述特征提取程序的程序标识为key,以所述提取规则配置信息为value,建立key-value存入kv数据库。所述特征提取节点当监测到所述kv数据库中所述特征提取程序的程序标识对应的提取规则配置信息被修改时,从所述kv数据库中获取修改后的提取规则配置信息,并通过所述特征提取程序重新加载修改后的提取规则配置信息。第三方面所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,以所述特征统计程序的程序标识为key,以所述统计规则配置信息为value,建立key-value存入kv数据库。所述特征统计节点当监测到所述kv数据库中所述特征统计程序的程序标识对应的统计规则配置信息被修改时,从所述kv数据库中获取修改后的统计规则配置信息,并通过所述特征统计程序重新加载修改后的统计规则配置信息。第四方面所述统计结果存储节点在通过安装的统计结果存储程序加载所述业务方指定的存储格式配置信息之后,以所述统计结果存储程序的程序标识为key,以所述存储格式配置信息为value,建立key-value存入kv数据库。所述统计结果存储节点当监测到所述kv数据库中所述统计结果存储程序的程序标识对应的存储格式配置信息被修改时,从所述kv数据库中获取修改后的存储格式配置信息,并通过所述统计结果存储程序重新加载修改后的存储格式配置信息。需要说明的是,上述四个方面中的kv数据库(具体可以是redis数据库)可以是同一数据库(上述4个节点共用的数据库),也可以是不同数据库(每个节点本地的数据库)。另外,本文中所述的四种程序,即数据获取程序、特征提取程序、特征统计程序与统计结果存储程序具体可以是基于流计算底层框架flink开发的,也可以是基于流计算底层框架storm或spark开发的。基于图3所示的基于分布式流计算的数据处理方法,本说明书实施例还对应提供了一种基于分布式流计算的数据处理装置,如图4所示,数据处理系统包括所述装置、特征提取节点、特征统计节点,所述装置包括:获取模块401,在通过安装的数据获取程序加载业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取业务数据流;传递模块402,将所述业务数据流传递给所述特征提取节点,以使所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对所述业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息,将得到的特征信息流传递给所述特征统计节点,进而使所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出。基于图3所示的基于分布式流计算的数据处理方法,本说明书实施例还对应提供了一种基于分布式流计算的数据处理装置,如图5所示,数据处理系统包括数据获取节点、所述装置、特征统计节点,所述装置包括:提取模块501,在通过安装的特征提取程序加载业务方指定的提取规则配置信息之后,依次针对业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息;传递模块502,将得到的特征信息流传递给所述特征统计节点,以使所述特征统计节点在通过安装的特征统计程序加载所述业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对所述特征信息流中的特征信息进行统计,得到统计结果,并将所述统计结果输出;其中,所述业务数据流是所述数据获取节点在通过安装的数据获取程序加载所述业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取并传递给所述特征提取节点的。基于图3所示的基于分布式流计算的数据处理方法,本说明书实施例还对应提供了一种基于分布式流计算的数据处理装置,如图6所示,数据处理系统包括数据获取节点、特征提取节点、所述装置,所述装置包括:统计模块601,在通过安装的特征统计程序加载业务方指定的统计规则配置信息之后,通过所述特征统计程序,根据所述统计规则配置信息中记载的统计规则,对特征信息流中的特征信息进行统计,得到统计结果;输出模块602,将所述统计结果输出;其中,所述特征信息流是所述特征提取节点在通过安装的特征提取程序加载所述业务方指定的提取规则配置信息之后,依次针对业务数据流中的每个业务数据,通过所述特征提取程序,根据所述提取规则配置信息中记载的提取规则,从该业务数据中提取特征信息并传递给所述特征统计节点的;所述业务数据流是所述数据获取节点在通过安装的数据获取程序加载所述业务方指定的数据源配置信息之后,通过所述数据获取程序,从所述数据源配置信息中记载的数据源获取并传递给所述特征提取节点的。本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图3所示的方法。图7示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。处理器1010可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。存储器1020可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图3所示的方法。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、通用数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1