【摘要】本文介绍了江苏有线“云媒体电视”供电营业厅的设计开发,该系统是构建在广电网络基础之上的应用,采用B/S架构,通过数字电视互动机顶盒,在电视上实现了家庭自助供电营业厅,提供家庭用电查询和在线支付服务。本系统还通过对广电业务数据以及供电业务数据的深入挖掘,实现了用户信息的自动绑定、用电行为分析和建议以及通知信息的定向推送和实时提醒功能,提升用户使用体验,取得了很好的社会效应。 【关键词】三网融合;云媒体电视;B/S;J2EE;用户体验
0引言 2010年国务院常务会议决定,加快推进电信网、广播电视网和互联网的三网融合,自此拉开大幕的三网融合是大势所趋,符合国家政策和群众利益需要,是一项利国惠民的重要国家工程。由江苏有线自主研发的“云媒体电视”首次将视频、通讯及互联网服务融合于电视屏幕,实现了从“看电视”到“用电视”的转变,是三网融合的具体实践,达到了业界先进水平。“云媒体电视”供电营业厅正是建立在这套多媒体综合信息服务平台之上,通过与供电公司进行合作,在电视上实现了电子化、网络化的供电营业服务。通过在电视上为用户提供24小时不间断业务服务,方便了普通用户的操作,大大降低了供电实体营业厅的负荷。 1系统架构与软件设计 供电系统通过数据光纤专线使用MQ接口与广电外联区域进行互联,采用防火墙将内外网隔离保障广电内网安全,供电营业厅后台与支付系统、广电本地库互联,通过负载均衡提供Portal服务器访问服务,最终用户互动机顶盒通过广电承载网进行业务访问。软件设计采用B/S架构,整个供电营业厅前端页面开发基于同洲中间件,页面效果由中间件内置的JS脚本API接口提供。后台是基于Oracle数据库和J2EE开发架构的分层式设计,为以后项目的扩展和跨平台移植提供软件开发基础。 1.1系统架构
图1. 系统架构图 lMQ接口外联:供电与广电分属于两个异构系统,通过光纤数据专线采用IBM WebSphere MQ接口进行通信。MQ负责在两个系统之间进行消息队列传递,这两个系统可以是异构的,处于不同硬件、不同操作系统、用不同语言编写。应用程序开发不必考虑底层系统和网络的复杂性,通过调用MQ的API,就可以互相通讯。程序 A 准备好一条消息,并将其放入队列,然后程序 B 从该队列中获取消息,并对其进行处理。任何一个程序都无需了解对方的存在,并且两个程序可采用异步方式执行。用户的用电信息数据都是通过MQ接口进行传递。 l数据本地化节点:为了提高系统的可靠性,通过Oracle数据库采用数据本地化节点。用户访问数据时先进行广电本地库查询,如果没有数据将通过MQ接口从供电获取并进行本地化存储,这样确保专线线路出现故障时,用户仍然可以进行操作。另外供电同步过来的数据与广电BOSS用户基础信息数据进行了相应的融合。 l利用广电支付平台:系统通过调用广电云媒体支付平台实现用户电费缴纳。支付平台集成了数字电视专网和金融专网的服务型综合平台,依托此平台,可以支撑诸多的第三方增值业务和便民服务的发展,所有与支付相关的操作全部由支付平台负责处理,有效的解决了业务发展的瓶颈。 l负载均衡控制访问并发:采用F5负载均衡对Portal服务器进行控制,保障云媒体用户的并发处理。对于所有的对外提供Portal服务的服务器,均在F5的BIG-IP上配置虚拟IP地址实现负载均衡,同时BIG-IP可持续检查服务器的健康状态,一旦发现故障服务器,则将其从负载均衡组中摘除。虚拟IP地址为用户的一个或多个目标服务器提供服务,因此它能够为大量的基于TCP/IP的网络应用提供服务器负载均衡服务。当用户通过虚拟IP请求目标服务器服务时BIG-IP根椐目标服务器之间性能和网络健康情况,选择性能最佳的服务器响应用户的请求。 1.2软件前端设计 供电营业厅前端是基于江苏有线双向互动机顶盒中间件系统进行开发的,为JSP动态页面,对后台最新数据信息能及时在前台页面上呈现出来,无需手动更新。数字电视中间件,是位于数字电视机顶盒内部实时操作系统与应用程序之间的软件部分,用于屏蔽各硬件平台、操作系统及数据库等之间的差异。它以应用程序接口API的形式存在。 
图2. 中间件分层架构 项目采用的是B/S软件开发架构,中间件中集成的Browser是以Webkit为内核。支持互联网浏览的Web引擎,实现了Web2.0的所有主要技术,包括HTML4.01、ECMA262、DOM1&2,CSS1&2,XML/XSL,AJAX,SSL等。 l支持基于DSMCC-OC轮播下发的HTML网页浏览; l支持通过页面内设置实时切换浏览器的窗口分辨率,支持720×576、1280×720、1920×1080(和平台相关)分辨率模式; l支持不同的浏览器应用默认以不同的分辨率启动; l在访问互联网站时,自动忽略浏览器不支持的特性,有一定的容错机制; l可手动切换页面编码,支持GB2312、GBK与UTF-8编码转换; l支持通过object标签嵌入CLDC/MIDP应用; l支持通过javascript脚本调用CA加密的音视频广播节目,节目相关参数由脚本函数的参数定义; l支持基于3D openGL ES1.1的JS 3D特效。 1.3软件后台设计 l组件化设计方法(SOA) 采用组件化设计方法,实现系统的开放性、可扩充性和可维护性。本系统在多方面为应用集成提供了保证,如支持系统多层架构设计、支持XML数据交换规范、提供底层数据各种平台开发接口、提供模块组件、支持二次开发、开放底层数据存储格式等。 l基于多层架构设计 MVC是一种非常经典的多层架构设计模式,M是指数据模型model,V是指用户界面view,C则是控制器controller,它目的是将M和V的实现代码分离,C则是确保M和V的同步,一旦M改变,V应该同步更新,从而使同一个程序可以使用不同的表现形式。云媒体供电营业厅采用MVC多层架构设计,使用SSH(struts+spring+hibernate,MVC设计模式中的一种)框架搭建,实现界面视图与业务逻辑的分离,更改视图层代码而不用重新编译模型和控制器代码,耦合性低,对该系统后台业务今后的维护与升级提供了很好的保障与极大的便利。  图3. MVC框架 l采用Web Service技术 在供电与广电间采用MQ接口消息队列传递,在此基础之上封装成Web Service接口供应用程序调用。Web Service技术是独立于平台、组建模型和编程语言的应用程序通信标准,通过Web Service客户端和服务器能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么,提高了系统的稳定与健壮性。 l基于J2EE平台构建技术框架 云媒体供电营业厅采用J2EE(Java 2 Enterprise Edition)技术, J2EE技术的基础便是Java 2平台,不但有J2SE(J2SE是Java2的标准版本)平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持,具有安全性能高,结构健壮等优点,其最终目标是成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署和管理等复杂问题。另外Java语言不像C++等语言存在指针和释放内存等功能性操作,避免了非法内存操作,提高系统的安全性能,确保电视播出的安全性。 2页面设计和数据处理 随着互联网的发展,产品的用户体验越来越受到关注,用户体验的极致,最终将迎来用户的口碑。对于江苏有线“云媒体电视”产品,是三网融合的重要成果,面向的是每一个普通大众,为用户提供更好的体验和服务是遵循的重要理念。产品的用户体验涵盖了UI交互设计、开发等阶段,本文讨论了页面设计以及利用广电和供电业务数据进行数据处理分析,开发出提升用户使用体验的功能,保障了供电营业厅的易用性和可用性。 2.1 页面功能策划 系统完成了用户用电欠费信息查询、欠费信息推送提醒、电费账单查询、用户准实时电量查询、电子化费用支付、分时业务办理申请、停维通知发布、营业网点查询、充值卡充值等功能。在页面设计时针对电视屏的特点,采用了色彩简单、块状图形以及轻量级交互操作的设计方法。下图为页面功能图: 
图4. 页面功能图 2.2用户信息绑定 有线电视是用遥控器进行操作,过多的输入操作必将导致用户体验降低。机顶盒中的智能卡ID是广电用户的基础数据,通过用户输入的用电卡号,系统自动将其与ID进行匹配,从而形成用户与机顶盒的绑定,避免用户多次输入,提高了用户的使用体验。 点击电视供电营业厅应用,系统将用户登陆的供电账号、智能卡号数据与用户电费欠费信息封装后保存到本地Oracle数据库中,用户在进入电视供电营业厅时,系统会到数据库中查询获取通过该智能卡号登陆过的所有供电账号,并在界面上依次展示出来,用户点击需要登陆的供电账号,系统将供电账号传输到后台服务器,对供电账号信息做相应数据校验成功后在界面上展示登陆成功。具体Oracle数据库中字段如下: 字段名 | 类型 | 长度 | 含义 | 1 | BOXSEQ | VACHAR2 | 25 | 广电智能卡号 | 2 | CRTTIME | Date | 日期型 | 首次登陆时间 | 3 | LASTMODTIME | Date | 日期型 | 最后一次登陆时间 | 4 | STATE | NUMBER | 10 | 账号是否为正常状态 | 5 | ZHH | VACHAR2 | 10 | 用户供电账号 |
表1. 数据库表BIND_REL(保存登陆用户登陆的账号信息) 2.3用电行为分析及推荐 用户通过营业厅可以进行在线用电查询,在此基础之上通过对用户历史用电数据进行分析,从而对用户的用电行为进行合理的推荐,达到节电省钱的效果,无疑是对用户体验的贴心服务。后台定时对用户的电费账单数据更新,数据库表结构如下图: 字段名 | 类型 | 长度 | 含义 | 1 | Dfny | NUMBER | 18,4 | 电费年月 | 2 | ZDL | NUMBER | 18,4 | 总电量 | 3 | ZDF | NUMBER | 18,4 | 总电费 | 4 | FDL | NUMBER | 18,4 | 峰电量 | 5 | FDF | NUMBER | 18,4 | 峰电费 | 6 | GDL | NUMBER | 18,4 | 谷电量 | 7 | GDF | NUMBER | 18,4 | 谷电费 | 8 | BYDF | NUMBER | 18,4 | 本月电费 | 9 | YDJS | NUMBER | 18,4 | 一档基数 | 10 | YDYY | NUMBER | 18,4 | 一档已用 | 11 | EDJS | NUMBER | 18,4 | 二档基数 | 12 | EDYY | NUMBER | 18,4 | 二档已用 | 13 | pdl2 | NUMBER | 18,4 | 阶梯2电量 | 14 | pdj2 | NUMBER | 18,4 | 阶梯2电价 | 15 | pdf2 | NUMBER | 18,4 | 阶梯2金额 | 16 | pdl3 | NUMBER | 18,4 | 阶梯3电量 | 17 | pdj3 | NUMBER | 18,4 | 阶梯3电价 | 18 | pdf3 | NUMBER | 18,4 | 阶梯3金额 | 20 | JJDL | NUMBER | 18,4 | 加减电量(jj1) | 21 | Wyj | NUMBER | 18,4 | 违约金 | 22 | SQZR | NUMBER | 18,4 | 上期转入 | 23 | ZRXQ | NUMBER | 18,4 | 转入下期 |
表2. 数据库表POWER_FARE_INFO(保存电力用户电费账单信息) 针对每个用户的具体实际用电数据和时段,系统自动进行计算分析, 实时计算和展示计算结果并向用户推荐最佳的用电方案,南京供电公司两种用电方案具体如下: l用户不办理按峰谷分时收费业务时每月电费计算方式为:电费单价v*总用电量l; l用户办理按峰谷分时收费业务后每月电费计算方式为:峰电费单价fv*峰电量fl+谷电费单价gv*谷电量gl。 相关部分代码逻辑流程图如右上:  图5. 用电行为分析基本代码逻辑 系统比较用户按照这两种方式收费金额,并以直方图的形式形象的向用户推荐引导使用其中一个费用较少的用电业务方式。在电视界面上展示如下: 
图6. 用电量统计图 
图7. 用电推荐图 2.4用电欠费信息推送 当用户用电欠费时,如果用户不进行营业厅登录或去实体营业厅,正常情况下用户是无法知晓欠费信息的。基于广电用户的基础数据结合欠费信息,系统将在有线电视界面自动推送用电欠费提醒,避免了用户不良记录。 后台系统每日定时将欠费用户相关欠费数据、用户电力号(ZHH)、智能卡号(BOXSEQ)从数据库表ARREARS_INFO中取出存入excel文档,通过江苏有线云媒体平台推送系统,以excel中不同的智能卡号为区分对应,在各个智能卡云媒体终端显示屏首页上,以滚动的消息的方式提醒用户及时补充电费,数据库中的表ARREARS_INFO结构信息: 字段名 | 类型 | 长度 | 含义 | 1 | ZHH | VARCHAR2 | 10 | 用户电力账号 | 2 | DUETOTAL | NUMBER | 18,4 | 欠费总额 | 2 | OVERDUETOTAL | NUMBER | 18,4 | 滞纳金 | 4 | RENEWFEE | NUMBER | 18,4 | 复电费 | 5 | STATE | NUMBER | 10 | 账号状态 | 6 | UPTODATE | Date | 日期型 | 截止时间 | 7 | BOXSEQ | VARCHAR2 | 255 | 智能卡号 |
表3. 数据库表ARREARS_INFO(保存电力用户欠费信息) 3小结 项目2013年通过验收,得到了各大媒体报道,取得了良好的社会效应。该项目为南京市区60多万互动电视用户提供了便捷、畅通的用电信息查询及交费新途径。其中通过将用户的用电卡号与电视机顶盒的智能卡号进行绑定,“点对点”进行电费提醒与催交,相比上门张贴催费单,更好地保护了用户隐私。今后,南京市民只要打开电视,动动手指,就能知道当日自家用了多少度电,并根据用电分析科学合理地调整用电方式和时间,达到节电省钱的目的。通过此项目,为通过电视平台建立智慧民生服务打下了良好基础,也极大地促进信息产业、文化产业和社会事业的发展。 (文/邓萌 臧圣国 余杰) 参考文献 [1]《江苏有线南京分公司中间件平台系统技术规范》 2011 [2]《J2EE Web核心技术:Web组件与框架开发技术》 杨少波 清华大学出版社 2011
|