案例自主开发客流监测平台打造大数据运营拳头产品.docx

上传人:b****5 文档编号:6075106 上传时间:2023-01-03 格式:DOCX 页数:26 大小:1.72MB
下载 相关 举报
案例自主开发客流监测平台打造大数据运营拳头产品.docx_第1页
第1页 / 共26页
案例自主开发客流监测平台打造大数据运营拳头产品.docx_第2页
第2页 / 共26页
案例自主开发客流监测平台打造大数据运营拳头产品.docx_第3页
第3页 / 共26页
案例自主开发客流监测平台打造大数据运营拳头产品.docx_第4页
第4页 / 共26页
案例自主开发客流监测平台打造大数据运营拳头产品.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

案例自主开发客流监测平台打造大数据运营拳头产品.docx

《案例自主开发客流监测平台打造大数据运营拳头产品.docx》由会员分享,可在线阅读,更多相关《案例自主开发客流监测平台打造大数据运营拳头产品.docx(26页珍藏版)》请在冰豆网上搜索。

案例自主开发客流监测平台打造大数据运营拳头产品.docx

案例自主开发客流监测平台打造大数据运营拳头产品

 

自主开发客流监测平台,打造大数据

运营拳头产品

 

摘要

本课题融合2/3/4G无线话单、位置注册信令、家庭WIFI/AWIFI、VLR省内漫游等海量数据,通过位置挖掘算法,描绘用户轨迹。

通过建立的大数据海量特征库,将用户分类,为用户打上特征标签。

充分挖掘电信运维数据价值,对内支撑智慧运维,对外支撑精准营销。

客流大数据监测平台,前台采用Html5、ECharts等可视化技术,后台采用Hadoop、SQL等数据处理技术。

自主开发春节返乡客流监测平台,对内:

提供来源分布、用户统计、天趋势、时趋势、热力地图指导无线网络资源调配、扩容疏忙,提供年龄、性别、职业、爱好、终端类型、套餐类型、友商策反等用户标签,支持地市、行政区、支局、CSS网格四级位置钻取,直接输出营销清单,支撑一线;对外:

将春节返乡数据脱敏,进行数据统计维度分析,支撑公司与淮安各级政府达成合作协议,直接产品化输出大数据监测平台+分析报告,支撑前端创收30万,成为年度全省第一笔大数据收入。

相关产品在节后返城、马拉松、中秋节、商铺选址等客流监测场景下,迭代开发,快速复制,产生较好的经济效益与社会效益。

大数据客流监测系列产品,100%自主开发,从算法设计、数据挖掘、界面开发直至产品化包装,均由江苏电信“智慧无线”精英团队完成,全面提升无线团队自主开发能力,助力企业战略转型。

关键字:

大数据、无线、客流监测、可视化、自主开发

 

一、项目背景

“十三五”时期,我国将大力实施网络强国战略、国家大数据战略、“互联网+”行动计划,促进互联网和经济社会融合发展。

国务院正式印发《促进大数据发展行动纲要》,意味着大数据发展正式成为国家战略,国家将大数据上升到国家战略,高度重视大数据产业发展,制定了一系列大数据相关政策。

工业和信息化部正式印发《大数据产业发展规划(2016-2020年)》,全面部署“十三五”时期大数据产业发展工作,加快建设数据强国,为实现制造强国和网络强国提供强大的产业支撑。

为顺应“智能化”这一时代潮流和产业方向,中国电信提出了适应智能化时代、通过智能牵引转型升级的3.0战略,着重推进网络智能化、业务生态化、运营智慧化,做领先的综合智能信息服务运营商。

中国电信拥有海量的数据资源与处理能力,我们应充分利用优势,深度挖掘数据价值。

本项目立足无线,充分利用自身优势,融合2/3/4G无线话单、位置注册信令、家庭WIFI/AWIFI、VLR省内漫游等海量数据,通过位置挖掘算法,描绘用户轨迹,通过建立的大数据海量特征库和企信用户套餐数据,将用户分类,为用户打上特征标签。

深度挖掘电信运维数据价值,对内支撑智慧运维,对外支撑精准营销。

大数据客流监测系列产品,100%自主开发,从算法设计、数据挖掘、界面开发直至产品化包装,均由江苏电信“智慧无线”精英团队完成,产品化输出监测平台+分析报告。

相关技术在春节返乡、节后返城、马拉松、开学季、商铺选址等客流监测场景下,快速复制,迭代开发,产生较好的经济效益与社会效益。

全面提升无线团队自主开发能力,助力企业战略转型。

二、主要创新点

本项目立足无线专业,融合海量电信内部大数据源,自主开发,深挖数据价值,对内提供智慧运维支撑,对外提供精准营销支撑,拥有众多创新点:

创新点一:

基于2/3/4G无线话单数据,融合注册信令、家庭WIFI/AWIFI、VLR省内漫游等电信大数据,通过位置挖掘算法,精准描绘用户轨迹;

创新点二:

通过江苏电信用户标签库,融合企信数据,对目标用户进行精确画像与分类,输出用户标签和个性化营销策略;

创新点三:

基于MyEclipse开发环境,采用Java、Html5、ECharts等开源技术进行前台开发,界面友好,功能丰富,数据可视化呈现;

创新点四:

采用Hadoop+sqlserver进行后台数据处理,基于江苏电信自建集群强大处理能力,提取、分析、挖掘海量无线话单,创新进行经纬度纠偏;

创新点五:

100%自主开发,可视化平台+分析报告,产品化交付,开源能力提升,开源人才队伍建设,助力企业转型;

创新点六:

春节、端午、中秋、国庆、马拉松、开学季等各类客流监测场景下快速复制、迭代开发,一点响应,支撑发展。

三、技术方案

本章节从前台和算法两个部分,以春节返乡客流监测大数据平台为例,对客流监测类大数据平台进行介绍。

3.1前台部分

春节返乡客流监测大数据平台前台使用MyEclipse开发环境,基于Java、Html5、ECharts等Web开源技术进行前台界面开发,界面友好,功能丰富,将电信大数据可视化呈现,充分发挥数据价值。

3.1.1开发环境

本项目前台开发环境采用MyEclipse工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse),利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。

课题使用MyEclipse10.0软件版本,是一个十分优秀的用于开发Java、J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持。

MyEclipse可以支持JavaServlet、AJAX、JSP、JSF,Struts、Spring、Hibernate、EJB3、JDBC数据库链接工具等多项功能。

图3-1MyEclipse开发环境

ECharts,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器。

底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

ECharts3.0中更是加入了更多丰富的交互功能以及更多的可视化效果,并且对移动端做了深度的优化。

ECharts提供了常规的折线图,柱状图,散点图,饼图,K线图,用于统计的盒形图,用于地理数据可视化的地图,热力图,线图,用于关系数据可视化的关系图,treemap,多维数据可视化的平行坐标,还有用于BI的漏斗图,仪表盘,并且支持图与图之间的混搭。

本课题客流监测大数据平台界面主要通过ECharts图表对相关数据指标进行可视化呈现。

图3-2ECharts图表

3.1.2总体框架

平台界面整体布局分上、中、下三个部分,上部呈现标题、用户信息、区域选择,中部呈现具体功能模块,下部呈现滚动字幕信息。

其中,中间部分又分为左、中、右三个部分,每个部分又分割成上、下两个部分,页面布局通过

语句将页面进行分区(division),通过属性参数设置窗口大小、颜色、位置等。

平台通过中心矢量地图选择控制,支持地市、县区、乡镇、网格四级数据查询。

平台具备人数统计、来源分布、用户热力图、天趋势、时趋势、用户属性标签等功能,平台总体框架,如图3-3所示。

图3-3平台总体界面

3.1.3登录页面

平台设置用户登录,通过严格的账号权限,指定用户仅可查询分配区域春节返乡客流大数据。

为了提升浏览效果与兼容性,平台设置手机适配,同时支持密码修改,登录界面与流程图,如图3-4所示。

图3-4登录页面与流程图

登录页面,关键代码如下:

1)判断用户设备类型,提升移动设备兼容性:

2)用户名/密码合法性校验:

if(username!

=null){

if(SafeUtils.isSQLInjection(username)||SafeUtils.isSQLInjection(pwd)){

errMsg="请勿输入非法字段";

}

session.setAttribute("username",username);

ArrayList>list_luyu=SQLServerUtils.GetList("select*FROM[返乡平台].[dbo].[账号]whereusername='"+username+"'andpwd='"+pwd+"'");

if(list_luyu.size()>0){

session.setMaxInactiveInterval(-1);

session.setAttribute("username",list_luyu.get(0).get("username"));

session.setAttribute("username_ch",list_luyu.get(0).get("姓名"));

session.setAttribute("dishi",list_luyu.get(0).get("地市"));

session.setAttribute("zhiju",list_luyu.get(0).get("支局"));

session.setAttribute("power",list_luyu.get(0).get("power"));

session.setAttribute("column_option1",list_luyu.get(0).get("column_option1"));

session.setAttribute("column_option2",list_luyu.get(0).get("column_option2"));

Stringpower=list_luyu.get(0).get("power");

SQLServerUtils.Update("insertinto用户动作values('"+username+"','"+list_luyu.get(0).get("姓名")+"','登陆系统,IP"+ip+"',getdate())");

response.sendRedirect("page_main.jsp");

return;

}

else{

errMsg="账号密码错误";

}

}

else{

errMsg="请输入账号密码";

}

3)密码修改:

if(old_pwd!

=null&&new_pwd!

=null&&new_pwd_confirm!

=null&&old_pwd.trim().length()>0&&new_pwd.trim().length()>0&&new_pwd_confirm.trim().length()>0){

if(SafeUtils.isSQLInjection(new_pwd_confirm)||SafeUtils.isSQLInjection(new_pwd)){

errMsg="请勿输入';,等非法字符";

}

else{

ArrayList>list_luyu=SQLServerUtils.GetList("select*FROM账号whereusername='"+username+"'andpwd='"+old_pwd+"'");

if(list_luyu.size()>0){

if(new_pwd.equals(new_pwd_confirm)){

SQLServerUtils.Update("update账号setpwd='"+new_pwd+"'whereusername='"+username+"'");

errMsg="修改成功";

}

else{

errMsg="两次新密码输入不一致";

}

}

else{

errMsg="旧密码错误";

}

}

}

else{

errMsg="请输入旧密码、新密码";

}

3.1.4春返人数统计

该模块能够实现对所选区域春返人数进行统计排名,春返人数为12月1日至今累加值,环比为与前1天数据比较,TO值为平台上线前(11月30日)数据。

可实现地市、县区、支局、CSS网格四级钻取,支局、CSS网格春返人员统计排名页面如图3-5所示。

图3-5春返人员统计模块(地市/县区/支局/CSS网格)

3.1.5区域点选功能

该模块可以实现对地市、县区以及下属支局、CSS网格进行多层级点选控制,可以查看对应区域返乡人数,用不同色标对人数进行区分,为前端部门重点营销提供依据,如图3-6所示,数据为12月1日至今累加值。

图3-6区域选择功能

3.1.6春返客流趋势

该模块能够显示所选区域春返人数变化趋势,活跃忙时为所选区域人数返乡最集中的时间段。

如图3-7所示,数据为12月1日至今累加值。

图3-7春返客流趋势

客流趋势关键代码如下:

1)天趋势

functionloadTianQushiLineChart(zongshu,xAxis,data1)

{

varvalidData=[];

for(vari=0;i

validData.push(data1[i]);

}

vartitle="已经开始";

if(validData[validData.length-1]>zongshu*alertRate){

title="已经开始";

}

varoption={

tooltip:

{

trigger:

'axis'

},

title:

{text:

'春返大潮'+title,

textStyle:

{

color:

'#FF0000',

fontSize:

16},x:

'center'},

grid:

{

borderWidth:

0,

x:

60,

y:

30,

x2:

20,

y2:

30,

},

calculable:

true,

xAxis:

[

{

type:

'category',

boundaryGap:

false,

axisLabel:

{textStyle:

{color:

'#6E4455'}},

data:

xAxis

}

],

yAxis:

[

{

type:

'value',

splitNumber:

3,

axisLabel:

{textStyle:

{color:

'#6E4455'},

formatter:

function(data){

if(data>=10000){

return(data/10000)+"万";

}

elsereturndata;

}

},

splitLine:

{show:

false,lineStyle:

{width:

0,color:

'#A5B7BB'}},

splitArea:

{show:

true,areaStyle:

{color:

['#eeeeee','#f7f7f7']}},

}

],

series:

[

{

name:

'春返用户数',

type:

'line',

itemStyle:

{normal:

{color:

'#C33A37',lineStyle:

{color:

'#C23531',width:

1},areaStyle:

{type:

'default'}}},

data:

validData

}

]

};

tianQushiLineChart.setOption(option,true);

}

2)时趋势

functionloadXiaoshiQushiLineChart(data1)

{

varxxx=[];

varddd=[];

vartop1=7;

vartop2=7;

varmax1=0;

varmax2=0;

for(vari=7;i<20;i++){

if(data1[i]>0){

if(data1[i]>max1){

max2=max1;

top2=top1;

max1=data1[i];

top1=i;

}

}

}

vartophour="("+(top2+1)+"时、"+(top1+1)+"时)";

for(vari=0;i

if(data1[i]>0){

xxx.push((i+1)+'');

ddd.push(data1[i]);

}

}

if(ddd.length==0){

xxx.push('无数据');

ddd.push('0');

}

varoption={

tooltip:

{

trigger:

'axis'

},

title:

{

text:

'摆摊时间推荐'+tophour,

textStyle:

{

color:

'#FF0000',

fontSize:

16

},

x:

'center'

},

grid:

{

borderWidth:

0,

x:

60,

y:

30,

x2:

20,

y2:

30,

},

xAxis:

[

{

type:

'category',

boundaryGap:

true,

axisLabel:

{

textStyle:

{color:

'#6E4455'}

},

data:

xxx

}

],

yAxis:

[

{

type:

'value',

splitNumber:

3,

axisLabel:

{textStyle:

{color:

'#6E4455'},

formatter:

function(data){

if(data>=10000){

return(data/10000)+"万";

}

elsereturndata;

}

},

splitLine:

{show:

false,lineStyle:

{color:

'#A5B7BB'}},

splitArea:

{show:

true,areaStyle:

{color:

['#eeeeee','#f7f7f7']}},

}

],

series:

[

{

name:

'春返用户数',

type:

'bar',

itemStyle:

{normal:

{color:

'#C33A37',lineStyle:

{width:

1},areaStyle:

{color:

'#C33A37',type:

'default'}}},

data:

ddd

}

]

};

xiaoshiQushiBarChart.setOption(option,true);

}

3.1.7返乡来源分布

该模块能够统计所选区域春节返乡客流省外、省内来源分布情况,能够显示来源省份和对应人数信息,主要ECharts工具地图实现。

如图3-8所示,数据为12月1日至今累加值。

图3-8返乡来源分布

3.1.8春返客流热力图

该模块能够显示所选区域春节返乡客流热力图分布,通过API调用XX地图实现,如图3-9所示,数据统计最近3天累加值。

图3-9热力图流程与界面

热力图关键代码如下:

functionheatmap(_map,heatData){

//计算热力图半径

console.log("热力图数量:

"+heatData.length);

varzoom=_map.getZoom();

varradius=zoom;

switch(zoom)

{

case10:

radius=10;break;

case11:

radius=10;break;

case12:

radius=10;break;

case13:

radius=20;break;

case14:

radius=20;break;

case15:

radius=50;break;

case16:

radius=80;break;

case17:

radius=100;break;

}

//radius=75;

varpadding=radius*2;

varcenter=_map.getCenter();

varlefttop=_map.pixelToPoint(newBMap.Pixel(0,0));

varlng_offset=Math.abs(lefttop.lng-center.lng)*2.5;

varlat_offset=Math.abs(lefttop.lat-center.lat)*2.5;

varbound=newBMap.Bounds(newBMap.Point(center.lng-lng_offset,center.lat-lat_offset),

newBMap.Point(center.lng+lng_offset,center.lat+lat_offset));

//转换成XX地图的点

varmax_x=0,min_x=0,max_y=0,min_y=0;

varmax_value=-1;

vardd=[];

//计算最大最小点

for(vari=0;i

//将异常数据剔除....//

varpd=heatData[i];

varpoint=newBMap.Point(pd.lng,pd.lat);

if(!

bound.containsPoint(point))continue;

varpixel=_map.pointToPixel(point);

if(i==0){

max_x=pixel.x;

min_x=pixel.x;

max_y=pixel.y;

展开阅读全文
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1