区域用户数量统计值预测方法、装置、设备及介质与流程

文档序号:14452704阅读:213来源:国知局

本发明涉及大数据处理技术领域,尤其涉及一种区域用户数量统计值预测方法、装置、设备及介质。



背景技术:

在节假日,各旅游景点、重要公共场所经常会出现大规模客流,在重大活动现场,也会出现密集人群。如果现场管理不到位,容易出现拥堵、挤压的险情,极端情况下会发生危险事件。因此,公共区域的客流管理成为公共安全管理的重要环节,一方面要准确、及时地掌握当前区域的客流信息,另一方法要能够对区域客流的变化区域做出预测,以便于提前部署各种管理、响应措施。

传统的基于用户信令数据进行区域客流预测的方法,多是基于用户出现在场景基站的客流、历史客流建模进行分析挖掘。其对输入维度和历史数据依赖较高,且未考虑天气、突发等因素,预测准确率低,可实现的场景局限较大。

综上所述,仍然需要一种精准、高效的区域客户流量预测方案。



技术实现要素:

本发明实施例提供了一种区域用户数量统计值预测方法、装置、设备及介质,结合了当前及周边网格实时、历史数据作为输入特征,并基于深度卷积神经网络进行自适应建模,实现网格客流量预测。解决了传统机器学习方式对维度和历史数据依赖高的问题,并且,对天气、突发等因素的适应性更高。

第一方面,本发明实施例提供了一种区域用户数量统计值预测方法,方法包括:

基于原始信令数据,确定用户实时位置;

基于用户实时位置,确定区域中各网格的实时用户数量统计值;

与时间相关联地保存所述实时用户数量统计值;以及

基于各网格的历史用户数量统计值和当前用户数量统计,通过深度卷积神经网络预测模型,预测各网格未来预定时间段的用户数量统计值。

第二方面,本发明实施例提供了一种区域用户数量统计值预测装置,装置包括:

实时位置确定单元,用于基于原始信令数据,确定用户实时位置;

用户数量统计单元,用于基于用户实时位置,确定区域中各网格的实时用户数量统计值;

存储单元,用于与时间相关联地保存所述实时用户数量统计值;以及

预测单元,用于基于各网格的历史用户数量统计值和当前用户数量统计,通过深度卷积神经网络预测模型,预测各网格未来预定时间段的用户数量统计值。

第三方面,本发明实施例提供了一种计算设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

本发明实施例提供的区域用户数量统计值预测方法、装置、设备及介质,结合了当前及周边网格实时、历史数据作为输入特征,并基于深度卷积神经网络进行自适应建模,更多依赖周边的流量趋势对当前网格的影响特征的挖掘,因此解决了传统机器学习方式对维度和历史数据依赖高的问题,对天气、突发等因素的适应性更高。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明一个实施例的区域用户数量统计值预测方法的流程示意图;

图2示出了根据本发明一个实施例的状态数据更新示意图;

图3示出了根据本发明一个实施例的网格划分示意图;

图4示出了卷积操作原理示意图;

图5示出了残差网络原理示意图;

图6示出了根据本发明一个实施例的预测模型训练示意图;

图7是示出了根据本发明一实施例的区域用户数量统计值预测装置的结构框图;

图8示出了本发明实施例提供的计算设备的硬件结构示意图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

信令是各交换局在完成呼叫接续中使用的一种通信语言,是控制交换机产生动作的命令。信令在传送过程中所要遵守的规约和规定,就是信令方式。它包括信令的结构形式,信令在多段路由上的传送方式及控制方式。

任何通信网,各终端设备、交换系统及传输系统之间的协调工作是在信令系统的指挥下完成的。而信令是在通信过程中,用以建立、维持、解除、通信关系的信息。

手机用户如果有触发事件时,如主叫、被叫,短信,位置区切换,开关机等行为,即会及时上报该用户所在基站小区,并在该基站小区进行位置注册,通过提取注册的基站小区的id就可以将用户定位到该基站小区信号覆盖的区域,即可采集信令数据。

现有基于信令数据进行区域客流预测的技术方案主要分以下几步:

(1)对信令位置数据进行数据清洗和预处理;

(2)分析目标区域的基站覆盖,计算目标基站下用户数量,从而实现区域历史客流计算;

(3)以该区域的历史客流作为特征输入,基于支持向量机(svm)、随机森林(rf)等机器学习算法建立经验模型,对未来时间点区域客流进行预测。

对于比较典型的应用场景,例如景区、交通场站等区域,现有的客流预测包括:首先基于原始信令数据的预处理和清洗,实现对用户实时位置进行分析和计算;然后基于该景区或场站所覆盖的基站,剔除常住及工作人口,进行用户数量的统计;最后,基于实时和历史的客流数,进行机器学习训练建模,从而基于经验模型,实现该区域的未来客流预测。

但是,现有的技术方案,多是基于用户出现在场景基站的客流、历史客流建模进行分析挖掘,其对输入维度和历史数据依赖较高,且未考虑天气、突发等因素的影响,预测准确率低,可实现的场景局限较大。

有鉴于此,本发明提出了一种区域用户数量统计值预测方法、装置、设备及介质,通过深度学习算法,结合大数据流处理技术,进行网格间客流自适应建模,实现未来时间点的网格城市客流分布预测。本发明结合了当前及周边网格实时、历史数据作为输入特征,并基于深度卷积神经网络进行自适应建模,更多依赖周边的流量趋势对当前网格的影响特征的挖掘,因此解决了传统机器学习方式对维度和历史数据依赖高的问题,对天气、突发等因素的适应性更高。

如下将结合附图及实施例详细说明本发明的区域用户数量统计值预测方案。

图1示出了根据本发明一个实施例的区域用户数量统计值预测方法的流程示意图。

参见图1,在步骤s110,基于原始信令数据,确定用户实时位置。

原始信令数据中包括用户注册的基站小区的id,通过多原始信令数据进行解析,即可确定用户的实时位置。

目前,信令分析主要有如下难点:(1)数据量大,对存储的要求以及写入效率等会有极高的要求;(2)要求具有实时性,因此对于处理的效率会产生比较严格的要求;(3)各种处理过程中的逻辑比较复杂,如果设计不好,会产生大量重复的计算,极大的加大计算量。

因此,为解决上述的问题,在一个优选实施例中,采用kafka和sparkstreaming对原始信令数据进行流处理分析,以确定用户实时位置。

kafka是一个分布式的,高吞吐量,易于扩展地基于主题发布/订阅的消息系统。sparkstreaming模块是对于sparkcore的一个扩展,目的是为了以高吞吐量,并且容错的方式处理持续性的数据流。

在本发明设计中,sparkstreaming是实时处理数据的,优选地,其以2分钟为时间粒度读取这2分钟内增加的数据,在sparkstreaming中进行数据清洗,并且添加标签(例如,来源省份、地市,基站经纬度信息)等。

在一个优选实施例中,可以按照mdn作为key,在sparkstreaming中存储一份有状态的数据,该数据存储中可以包含如下表1所示的字段。

sparkstreaming也能够实时存储当前用户所在基站的状态信息。

图2示出了根据本发明一个实施例的状态数据更新示意图。参见图2,实时数据可通过该状态获取旧的位置数据(旧的状态数据),将获取的原先旧状态删除,在sparkstreaming中进行数据更新(更新用户状态),并更新redis(内存数据库)中的状态数据。

表1sparkstreaming数据存储字段说明

由于各种数据源的位置是不标准、不统一的,基于融合数据后的位置信息,都要使用统一经纬度的方式,最后将所有的区域以网格化的方式进行输出,以便于应用系统通过网格化的数据进行统计分析及展现。

在一个优选实施例中,本发明通过geohash算法划分区域网格。

geohash将二维的经纬度转换成字符串,每一个字符串代表了某一矩形区域,也就是说,这个矩形区域内所有的点(经纬度坐标)都共享相同的geohash字符串,这样既可以保护隐私(只表示大概区域位置而不是具体的点),又比较容易做缓存。不同的编码长度,表示不同的范围区间,字符串越长,表示的范围越精确。(geohash算法网格面积约为:153m*153m)。

图3示出了根据本发明一个实施例的网格划分示意图。

参见图3,通过geohash算法,将全省划分为若干网格,并进行网格编号和位置标注,以便于进行用户网格定位。将所述区域划分为多个网格,所述多个网格具有相应的网格编号及其位置标注,根据基站经纬度信息与本发明的区域网格进行网格匹配,这样,基于用户的实时位置与区域中个网格的对应关系,进而实现对用户的实时位置的确定。

之后,在步骤s120,即可实现基于用户实时位置,确定区域中各网格的实时用户数量统计值。这里的用户数量统计值是对各网格下用户人数的统计,可以包括用户总数量、网格流入用户数量、网格流出用户数量等。

对于网格内人数的计算,重点是网格内部位置的判别,如果一个人上报点在该网格内,就会记录在该网格下,也就是网格内上报的总数。

同时,网格流入和流出的人数计算,旨在提取出可以反映当前时刻与上一时刻人群移动模式的、可计算的、能够体现网格联系的特征量,从而可以正确反映人群的移动情况。举例如下:假设甲从网格a到网格b,则网格a的流出量+1,而网格b的流入量+1。

之后,在步骤s130,与时间相关联地保存所述实时用户数量统计值。

优选地,可以实时对接redis数据库进行存储,例如,在redis数据库存储每个网格的时间切片数据,该时间切片数据可以包括时间和总人数和进出人流数。

之后,即可基于预测模型和redis中存储的历史网格切片数据,预测网格未来一定时段的网格切片(总人数,进出人流)。优选地,预测的总人数=当前时刻总人数+进入人数-流出人数。

本发明的预测模型优选可以为深度卷积神经网络预测模型。在步骤s140,基于各网格的历史用户数量统计值和当前用户数量统计,通过深度卷积神经网络预测模型,预测各网格未来预定时间段的用户数量统计值。

历史用户数量统计值可以包括各网格在当前时刻之前的第一时间切片序列的用户数量统计值、当前时刻之前的第二时间切片序列的用户数量统计值和当前时刻之前的第三时间切片序列的用户数量统计值。优选地,所述第一时间切片序列、所述第二时间切片序列和所述第三时间切片序列与所述当前时刻的时间间隔依次增大。

例如,第一时间切片序列包括n个第一时间切片,所述n个第一时间切片与所述当前时刻的时间间隔为t1*i,所述t1为第一时间粒度,所述i为第一切片序号,i=1,2,…,n。第二时间切片序列包括n个第二时间切片,所述n个第二时间切片与所述当前时刻的时间间隔为t2*j,所述t2为第二时间粒度,所述j为第二切片序号,j=1,2,…,n。所述第三时间切片序列包括n个第一时间切片,所述n个第三时间切片与所述当前时刻的时间间隔为t3*k,所述t3为第一时间粒度,所述k为第三切片序号,k=1,2,…,n,其中,n、i、j、k是正整数。

在一个优选实施例中,n可以等于6,所述第一时间粒度可以为15分钟,所述第二时间粒度可以为1天,所述第三时间粒度可以为1周。

卷积神经网络(convolutionalneuralnetwork,cnn)是神经网络的一个变体,目前主要应用于图像识别领域,可以很好地利用图片的局部模式,而不是用每一个像素点进行学习,从而极大地提高了效率和训练效果。同时,cnn的应用非常广泛。

图4示出了卷积操作原理示意图。如图4所示,在进行图像处理时,对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。

本发明实施例中,我们可以把网格看做图像矩阵,把网格的用户数(用户数量统计值,包括总数和流入和流出人数)看做每个像素点的灰度值,这样就可以用处理图像的方式来处理网格的用户数。

例如,可以使用区域各网格的历史用户数量统计值对所述深度卷积神经网络预测模型进行训练,基于训练好的深度卷积神经网络预测模型和各网格的当前用户数量统计,预测各网格未来预定时间段的用户数量统计值。

具体地,可以将区域各网格的历史用户数量统计值输入到所述深度卷积神经网络预测模型的一组或多组卷积神经网络进行卷积,输出一组或多组多维数组,所述多维数组对应于目标维度和目标数组,基于所述一组或多组多维数组对所述深度卷积神经网络预测模型进行训练。

网络成熟达到一定的数据以后,网络的性能就会饱和。这时,训练数据再继续增加,网络的性能就会开始退化,但是这种退化并不是由过拟合引起的。当网络变得很深以后,深度网络就变得难以训练了,残差网络(residualnetwork,resnet)的出现,其实就是为了解决这个问题,使网络深度变深以后的性能不退化。

图5示出了残差网络原理示意图。参见图5,如果深层网络的后面那些层是恒等映射,那么模型就退化为一个浅层网络。残差结构的输出表示为f(x)+x,相比于用多个堆叠的非线性层直接去学习恒等映射f(x)=x,残差结构直接学习f(x)=0使得训练更容易些。

因此,本发明实施例中,深度卷积神经网络预测模型的一组或多组卷积神经网络层可以包括浅层卷积神经网络层和深度残差网络层,所述浅层卷积神经网络层进行目标网格及其临近网格的用户数量统计值的关联,所述深度残差网络层进行对于目标网格及其远距离网格的深度关联。

即,采用卷积神经网络算法对网格特征进行关联计算。以浅层cnn关联目标网格及其附近的网格的人数分布,对于远距离的关联,则基于残差网络resnet来进行深度关联。

在网格预测中使用残差神经网络,是为了用多层神经网络卷积到距离目标距离远的网格特征,这样我们的网络不仅可以考虑到近距离的网格人流的影响,还可以考虑到远距离的网格的影响,比如乘坐地铁,高铁以及高速公路的人流。

另外,考虑到天气、突发事件等因素对网格客流量的影响,在一个优选实施例中,还可以获取与区域中各网格相关的影响特征矩阵,将一组或多组多维数组和所述影响特征矩阵进行加和关联,得到最终特征矩阵,并基于所述最终特征矩阵训练实时预测模块的模型参数。

影响特征矩阵是关于影响特征的矩阵,影响特征可以包括但不限于是区域中各网格天气特征和/或网格突发事件特征。

具体地,可以获取与区域中各网格相关的影响特征数据,采用所述深度卷积神经网络预测模型的全连接层,将所述影响特征数据映射成与所述区域中的网格总数相同的影响特征向量,将所述影响特征向量变形为所述影响特征矩阵。优选地,影响特征矩阵与上述多维数组形状相同。

这样,预测模型对天气、突发等的适应性更高。

在一个优选实施例中,区域网格客流量的预测过程可以如下:

(1)网格数据准备:获取到历史的网格切片数据(历史用户数量统计值)和历史的额外信息数据(例如影响特征数据)。

我们可以把上述切片数据按照距离当前时刻的时间远近分成三组:近邻,时段,趋势。其中近邻数据采用当前时刻前15分钟,30分钟等一批最近邻的切片数据;时段数据采用1天前,2天前等当前时刻的数据;趋势数据则采用一周前,两周前等当前时刻的数据。

(2)网格数据清洗:对网格数据进行加和,得到每个时间切片的总人数,通过设定最低最大阈值,以及统计每天该时段的总人数,利用中位数偏离度来过滤掉异常数据。

(3)数据格式转换:利用python的numpy把文本格式的网格数据整理成矩阵数组,方便输入深度学习框架tensorflow。

(4)预测模型训练:三组切片数据采用同样深度的残差网络进行特征提取,加和形成统一的矩阵,结合额外数据形成的矩阵,最后把最终的特征矩阵放入一个针对每个网格的线性分类器中,利用随机梯度下降法来训练模型参数。该训练优选是针对所述深度卷积神经网络预测模型的实时预测模块的模型参数进行训练。

图6示出了根据本发明一个实施例的预测模型训练示意图。

参见图6,1)并列的三组网格说明:closeness代表离当前时间点最近的时间切片序列,我们采用15分钟一个时间切片,closeness采用n个15分钟的切片作为输入;period为近期的时间切片,比如采用距离当前时间天为单位的一组时间切片;trend则为趋势的时间切片,比如采用距离当前时间周为单位的一组时间切片。

2)单组网络结构:首先我们把每组网络的时间切片堆积成一个三维数组,然后利用一个高维的卷积神经网络对时间维进行压缩,使它变成一个二维数组。中间层采用多层的残差网络对远近距离的网格特征进行卷积,最后用一个卷积层把多个卷积特征卷积为和目标维度相同的多维数组。

3)其它维度特征转化:对于天气,节日等标量特征,采用全连接层把这些特征映射成和网格总数相同的向量,然后把该向量按照目标数组的形状进行变形。

4)融合:把三组网络的输出和其它维度变形后的输出进行加和,得到最终的特征矩阵。

5)回归拟合:对融合后的特征矩阵的每一个单元单独做一组线性回归,该输出的矩阵作为最终输出的矩阵。

6)损失函数和梯度下降求解:用线性回归计算的结果减去真实值矩阵,然后求其均方差,该结果作为损失函数,采用minibatch梯度下降法求损失函数最小值。

经过一段时间的训练之后,当损失函数的值趋于稳定,这个时候结束训练,把训练好的模型存储成tensorflow的模型文件。

模型训练过程例如可以用gpu来进行加速,相比cpu,能够提升30倍以上的训练速度。训练好的模型上传到实时预测模块中,可以设定每个月训练一次模型。

由此,本发明利用深度学习算法,基于redis中存储的历史网格切片数据,预测未来一定时段的网格切片(总人数,进出人流)。

本发明结合了当前及周边网格实时、历史数据作为输入特征,并基于深度卷积神经网络进行自适应建模,更多依赖周边的流量趋势对当前网格的影响特征的挖掘,因此解决了传统机器学习方式对维度和历史数据依赖高的问题,对天气、突发等因素的适应性更高。

另外,本发明的区域用户数量统计值预测方法也可以由一种区域用户数量统计值预测装置实现。图7是示出了根据本发明一实施例的区域用户数量统计值预测装置的结构框图。其中,区域用户数量统计值预测装置700(如下简称预测装置700)的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图7所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。

图7所示的区域用户数量统计值预测装置700可以用来实现图1所示的榜单生成方法,下面仅就区域用户数量统计值预测装置700可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文结合图1的描述,这里不再赘述。

参见图7,本发明的区域用户数量统计值预测装置700可以包括实时位置确定单元710、用户数量统计单元720、存储单元730和预测单元740。

实时位置确定单元710可以用于基于原始信令数据,确定用户实时位置。优选地,可以采用kafka和sparkstreaming对所述原始信令数据进行流处理分析,确定用户实时位置。

用户数量统计单元720可以用于基于用户实时位置,确定区域中各网格的实时用户数量统计值。所述用户数量统计值可以包括用户总数量、网格流入用户数量、网格流出用户数量等。优选地,可以通过geohash算法,将所述区域划分为多个网格,所述多个网格具有相应的网格编号及其位置标注,基于用户的实时位置与区域中个网格的对应关系,确定区域中各网格的实时用户数量统计值。

存储单元730可以用于与时间相关联地保存所述实时用户数量统计值。

预测单元740可以用于基于各网格的历史用户数量统计值和当前用户数量统计,通过深度卷积神经网络预测模型,预测各网格未来预定时间段的用户数量统计值。

优选地,所述历史用户数量统计值包括各网格在当前时刻之前的第一时间切片序列的用户数量统计值、当前时刻之前的第二时间切片序列的用户数量统计值和当前时刻之前的第三时间切片序列的用户数量统计值,所述第一时间切片序列、所述第二时间切片序列和所述第三时间切片序列与所述当前时刻的时间间隔依次增大。

优选地,所述第一时间切片序列包括n个第一时间切片,所述n个第一时间切片与所述当前时刻的时间间隔为t1*i,所述t1为第一时间粒度,所述i为第一切片序号,i=1,2,…,n;并且/或者所述第二时间切片序列包括n个第二时间切片,所述n个第二时间切片与所述当前时刻的时间间隔为t2*j,所述t2为第二时间粒度,所述j为第二切片序号,j=1,2,…,n;并且/或者所述第三时间切片序列包括n个第一时间切片,所述n个第三时间切片与所述当前时刻的时间间隔为t3*k,所述t3为第一时间粒度,所述k为第三切片序号,k=1,2,…,n,其中,n、i、j、k是正整数。

优选地,n等于6;所述第一时间粒度为15分钟;所述第二时间粒度为1天;所述第三时间粒度为1周。

优选地,预测单元740可以包括训练单元和预测子单元。训练单元可以使用区域各网格的历史用户数量统计值对所述深度卷积神经网络预测模型进行训练,预测子单元可以基于训练好的深度卷积神经网络预测模型和各网格的当前用户数量统计,预测各网格未来预定时间段的用户数量统计值。

优选地,训练单元可以将区域各网格的历史用户数量统计值输入到所述深度卷积神经网络预测模型的一组或多组卷积神经网络进行卷积,输出一组或多组多维数组,所述多维数组对应于目标维度和目标数组,基于所述一组或多组多维数组对所述深度卷积神经网络预测模型进行训练。

优选地,所述深度卷积神经网络预测模型的一组或多组卷积神经网络层包括浅层卷积神经网络层和深度残差网络层,所述浅层卷积神经网络层进行目标网格及其临近网格的用户数量统计值的关联,所述深度残差网络层进行对于目标网格及其远距离网格的深度关联。

优选地,预测单元740可以包括影响特征单元。训练单元还可以从影响特征单元获取与区域中各网格相关的影响特征矩阵,所述影响特征矩阵与所述多维数组形状相同,将一组或多组多维数组和所述影响特征矩阵进行加和关联,得到最终特征矩阵,基于所述最终特征矩阵训练实时预测模块的模型参数。

优选地,所述影响特征包括网格天气特征和/或网格突发事件特征,影响特征单元可以获取与区域中各网格相关的影响特征数据,采用所述深度卷积神经网络预测模型的全连接层,将所述影响特征数据映射成与所述区域中的网格总数相同的影响特征向量,将所述影响特征向量变形为所述影响特征矩阵。

综上所述,本公开在网格客流预测中应用了深度学习:

1).通过实时的加密位置信息数据对接,实现海量数据的流式传输和预处理。

2).使用kafka及sparkstreaming流处理方式,基于原始信令数据,进行实时信令数据的清洗、轨迹合并及分析,实现用户实时位置分析。

3).基于分析后用户的实时位置,进行网格粒度的人数统计,将分析结果即每个网格各时间点的总人数、进出人流数实时对接redis数据库进行存储。

4).基于网格实时及历史数据,结合周边临近网格的统计数据作为输入特征,通过深度学习算法建模,对当前网格进行流入流出流量分布的预测。

相比于传统的处理框架,kafka+sparkstreaming的架构有以下几个优点:

(1)spark框架的高效和低延迟保证了sparkstreaming操作的准实时性。

(2)利用spark框架提供的丰富api和高灵活性,可以精简地写出较为复杂的算法。

(3)编程模型的高度一致使得上手sparkstreaming相当容易,同时也可以保证业务逻辑在实时处理和批处理上的复用。

(4)kafka以时间复杂度为o(1)的方式提供消息持久化能力,即使对tb级以上数据也能保证常数时间复杂度的访问性能。

(5)kafka拥有较高的吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100k条以上消息的传输。

另外,结合图1描述的本发明实施例的区域用户数量统计值预测方法可以由计算设备来实现。图8示出了本发明实施例提供的计算设备的硬件结构示意图。

计算设备可以包括处理器801以及存储有计算机程序指令的存储器802。

具体地,上述处理器801可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在数据处理装置的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。在特定实施例中,存储器802包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现上述实施例中的任意一种区域用户数量统计值预测方法。

在一个示例中,计算设备还可包括通信接口803和总线810。其中,如图8所示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。

通信接口803,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线810包括硬件、软件或两者,将计算设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

另外,结合上述实施例中的区域用户数量统计值预测方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种区域用户数量统计值预测方法。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

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