计算机光盘软件与应用 2012年第7期 Computer CD Software and Applications 软件开发设计 基于电子邮件的电力营销缴费提醒系统设计与实现 12郭浩,周国亮 (1,河北电信设计咨询有限公司,河北保定 071000;2保定电力职业技术学院信息工程与管理系,河北保定 071051) 摘要:随着国家电网公司智能电网建设的推进,用电信息采集系统得到迅速普及。虽然智能电表进入了千家万户,但普通家庭用户没有从智能电表的使用中获益。电力营销是智能电网的重要组成部分,是沟通电网和用户的桥梁。电力营销系统的人性化设计是其目标之一,本文探讨了基于电子邮件的电力营销缴费提醒系统,通过此系统用户可以通过订阅电子邮件的方式,获取自己的剩余电量,并提供剩余电量的使用时间预测,从而帮助用户及时缴费,避免突然断电为用户带来不便和损失,提高电力公司的人性化服务水平。 关键词:云计算;智能电网;短期负荷预测;群体智慧 中图分类号: 文献标识码:A 文章编号:1007-9599 (2012) 07-0192-02 一、概述 缴费表 随着智能电网建设的不断推进,很多小区安装了预付费智用户购剩余电子邮件 手机号码 … 能电表。这种电表极大的方便了电力公司电费收缴工作,减轻编号 电电量了工作量,减少了欠费。但由于这种电表当用户购电量小于一定额度时会自动断电,这给普通用户带来了很大的不便,极端量 情况下,突然断电会中断用户正在进行的工作,给用户带来损0001 500124 abc@ 138******** 失。虽然在一些省市电力公司中,采取通过短信方式提醒用户及时缴费[1,2]。但在更多的电力公司,还没有实现此项功能,0002 20054 def@ 136******** 或者此项功能不够人性化,不能有效的提醒用户剩余电量及可流水表记录每隔15分钟或更多时间用户的用电数据,一用时间。经常发生的情况是,在晚上8、9点钟的时候,突然般是通过定时采集用户智能电表的数据,是一个历史记录表;断电,使用户正在进行的工作由于断电而终止,这不仅会给用缴费表记录用户的剩余电量及购买电量信息。两表之间通过用户带来很大的损失,而且严重影响了电力公司的企业形象,因户编号进行关联。 此迫切需要一种方便而有效的方式告知用户的剩余电量并估(二)剩余电量使用时间预测 算剩余电量的预计使用时间,从而方便用户合理安排缴费时电网短期负荷预测是保证电网安全稳定经济运行的一项间,也彰显电力公司的人性化服务。 重要的基础性工作,是合理安排电网开机方式、电力电量平电子邮件是现代社会中人与人之间进行联系的一种快捷衡的重要依据。同时,有效的电力短期负荷预测也是实现实时方式,很多人都有每天收取一次以上电子邮件的习惯。Oracle电价的基础。 数据库在电力系统中有着广泛的应用,基于Oracle定时执行电力短期负荷预测通常是指1小时或24小时的日负荷预任务和PL/SQL支持发送电子邮件的特征,利用系统空闲时间测或168小时的周负荷预测,本文主要预测的是时或日平均负为用户自动发送剩余电量及预测使用时间,可以有效地提醒用荷,对于短期负荷预测,一般要求具有较高的准确性和能够实户及时缴费,避免出现断电的情况;同时,系统完全在数据库时预测。 服务器端完成,无需重新开发和部署新的应用系统。综上所述,为了帮助用户合理安排缴费时间,系统需要告知用户剩余基于数据库服务器的用户剩余电量提醒及使用时间预测系统电量的预计使用时间,这里需要使用电力负荷预测技术。基于是一种可行和方便实施的方案。 用户的历史数据,为用户提供三个层次的用电量预测:剩余电二、系统设计 量是否够下一个月使用;是否够未来五天使用;是否够未来一(一)数据结构 天使用。 为了尽量减少系统改造工作,同时考虑开发一个新系统的电力负荷预测技术有多种[3],这里为了提高系统的执行工作量及维护难度,我们提出了基于数据库服务器端编程实现效率,采用历史数据取平均值的预测方法。具体方法如下: 的技术方案,无需修改现有应用系统,通过在数据库服务器端假设某月或某天的历史用电量为:P1, P2, …, Pn,则当创建一系列自动执行的任务自动完成此功能,无需或只需很少月或当天的用电量可以估计为,历史上同期用电量的平均值: 的维护工作。 Pn+1 = ( P1+P2+…+Pn)/n (1) 在一般用电信息采集系统中,至少包括用户用电信息的两其中,P1, P2, …, Pn为历史同期用电量,Pn+1为预测用电个关系表,一个是流水记录表,另一个是用户的缴费表,表的量,n为历史数据的个数。实践证明,当历史数据量较大时,结构大概如下: 预测方式较为准确。 流水表 三、系统实现 用户编号 采集时间 用电量 … … (一)自动执行任务实现 在电力系统中,普遍采用高性能的Oracle数据库作为数据存储介质。Oracle数据库拥有丰富的编程功能,可以完成0001 2011-12-31 复杂的业务逻辑,所以我们通过自定义任务来完成。 10:30:01 判断剩余电量是否满足下一个月使用的程序每月第一天0002 2011-12-31 运行一次,实例的代码如下: 10:30:03 Select sum(用电量) into 总用电量from流水表 where to_char(采集时0001 2011-12-31 间,’mm’)=to_char(sysdate,’mm’); 10:30:01 Select 总用电量0002 2011-12-31 /(to_number(to_char(sysdate,’yyyy’))-to_number(to_c10:30:03 har(min(采集时间),’yyyy’))) into 本月预测电量from — 192 —
计算机光盘软件与应用 软件设计开发 Computer CD Software and Applications 2012年第7期 流水表; what in archar2, If 本月预测电量>剩余电量 then next_date in date, 发送电子邮件; interval in varchar2, End if; no_parse in boolean) 判断用户剩余电量是否满足未来一天或5天的代码每天其中: 运行一次,为了不影响系统的日常业务处理,程序在每天晚上●job:输出变量,是此任务在任务队列中的编号; 12点运行或安排在系统空闲时间运行。 ●what:执行的任务的名称及其输入参数; ---获取历史上本天用电量合计数据 ●next_date:任务执行的时间; Select sum(用电量) into 总用电量from流水表 ●interval:任务执行的时间间隔。 where to_char(采集时在Oracle8i以后的数据库中引入了UTL_SMTP包(SMTP间,’mm’)=to_char(sysdate,’mm’) 代表Simple Mail Transfer Protocol简单邮件传送协议,使and to_char(采集时用TCP端口25在客户机和服务器之间建立通信联络),使开发间,’dd’)=to_char(sysdate,’dd’); 者能够从数据库发送电子邮件。 select count(distinct to_char(采集时 发送电子邮件的示例格式如下: 间,’yyyy-mm’)) into 总天数from 流水表; 尊敬的用户,您好: if 总用电量/总天数>剩余电量then 您家的剩余电量预计不能满足您下一个月(XXXX年XX月) 发送电子邮件 的用电需求,请您方便的时候续交电费,谢谢! Else 您的剩余电量为XXX千瓦/时,您XX月份的历史平均用电 Select sum(用电量) into 总用电量2 from流水表 量为XX千瓦/时。 Where( to_char(采集时 XXXXX间,’mm’)=to_char(sysdate+1,’mm’) 供电公司 and to_char(采集时 间,’dd’)=to_char(sysdate+1,’dd’)) XXXX-XX-XX or ( to_char(采集时(二)系统优化 间,’mm’)=to_char(sysdate+2,’mm’) 在流水表中存储的数据量很大,基于这样的大表进行统计and to_char(采集时计算,效率较低,为了提高统计计算的效率,见两个统计表,间,’dd’)=to_char(sysdate+2,’dd’)) 一个是月度统计表,一个是天统计表,分表记录用户每月的历or ( to_char(采集时史用电量和每天历史用电量,这样在预测用户下一阶段电力需间,’mm’)=to_char(sysdate+3,’mm’) 求的时候可以通过统计表获取。 and to_char(采集时四、结论 间,’dd’)=to_char(sysdate+3,’dd’)) 本文探讨了在智能电网建设中,随着智能电表的普及,通or ( to_char(采集时过数据库服务器的定时任务执行功能,为用户提供多层次的剩间,’mm’)=to_char(sysdate+4,’mm’) 余电量使用时间预测功能,帮助用户及时了解自己的剩余电量and to_char(采集时及预计使用时间,从而方便用户及时缴费,避免出现突然断电间,’dd’)=to_char(sysdate+4,’dd’)); 的情况,也体现了供电公司的社会责任。 if (总用电量2+总用电量)/(总天数) >剩余电量 then 参考文献: 发送电子邮件 [1]孙新跃,郑晨泉.电力营销短信催费系统的研究设计[J].end if; 供用电,2008(4):77-79 End if; [2]安鑫.基于移动网络的手机缴纳电费系统的设计与研究.通过调用Oracle的dbms_job包中的存储过程,将任务加电子科技[J].2010 23(3):104-106 入到任务队列中,存储过程的声明如下: [3]吴熳红,杨继旺.几种电力负荷预测方法及其比较.广东( job out binary_integer, 电力[J].2004(01) (上接第196页) 本管理系统共有9个模块组成,分别是课题申请模块、课四、结论 题审批模块、选题模块、相关报表模块、网上答疑模块、论文通过本次课题的研究,可以看出毕业论文的管理这一系统上传和查看模块、网上评阅模块、答辩管理和后台管理模块。对高校管理论文十分的重要。减少了以前造成论文的不易管理总体结构图如下: 主要原因是这一部分工作是由人工来完成的。人工操作工作量繁多、资料易丢失、更新和修改很不方便、老师与学生之间的沟通和信息传达不及时等等。该设计不仅解决了以前人工操作的不便性,而且使工作效率大大的提高方便用户操作,也降低以前由人工操作的大部分成本。 参考文献: [1]黄丽娟.远程教育毕业论文管理系统的构架研究[J].中国高新技术企业,2011,27 [2]王进.B/S模式下的三层架构模式[J].软件导刊,2011,3 — 193 —