浅谈移动通讯渠道管理系统的实现
2015-07-04代颖
代颖
【摘 要】本文以.NET为软件开发平台,以ASP.NET为软件开发框架,以ORACLE为数据库服务器,以windows 自带的Internet Explorer浏览器作为客户端讲述移动通讯渠道管理系统的设计。
【关键词】移动通讯;渠道管理;.NET;数据库
一、渠道管理系统功能需求
(一)功能需求
(二)系统功能流程
由上述系统拟实行的目标和详细需求分析,得到系统的功能流程图如图1所示。
系统功能流程图
二、渠道管理系统的系统设计
(一)系统架构设计
利用目前流行的三层架构。三层结构是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序结构划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其结构如图2所示[2]。
(二)系统详细设计
本文以渠道业务发展分析为例讲述系统详细设计
(1)渠道业务发展分析子系统功能设计
该子系统主要包括四个模块:渠道业务发展分析、渠道放号质量分析、渠道业务指标定制和渠道业务指标查询。
根据上述需求的到该子系统的功能结构图如图所示。
(2)数据同步设计
为保证系统安全,這里我们不能直接访问企业的主流业务系统,要实行实时数据的读取,需要从主流业务系统中导出数据,然后导入到我们的渠道管理系统中。
这里又出现一个问题,主流业务系统的数据库管理系统不是oracle,这里又涉及到异构数据库转换的问题。这里采用的方式是有企业技术人员从主流业务数据库中编写脚本提取数据保存为文本形式;然后使用oracle的sqlloader[1]技术将这些文本文件载入到本系统的数据库中,这里需要编写sqlloader控制脚本来实现;
由于系统每天都需要转换数据,我们不可能要求企业技术人员每天执行这些繁琐的操作,因此我们把这些操作封装成一个批处理,然后把该批处理设置成windows的定时任务,每天晚上闲时执行一次,从而达到本系统和主流业务系统数据同步的目的。
(3)选项卡效果设计
(4)组合查询设计
该系统的角色分为四个层次,市级、县级、区域级和渠道网点级,当我们进行查询时,每个层级所能查询的结果是不一样的,这里涉及到两个问题,一个是查询条件设置问题,每个层级查询条件不一样,比如市级工号可以查询所有,县级可以查询该县所辖范围,这里使用MultiView控件来实现各个层级的可视范围;另一个问题是在每个层级的查询中都有多个查询条件可供选择,这些查询条件都是任意组合的,我们如果使用传统的排列组合算法,将使选择的分支多到不可控制,所以这里本系统采用拼装sql的方式来实现组合查询条件的选择,即sql语句是有查询条件动态组成的。
(5)Excel读写设计
本子系统中多个模块需要使用到下载报表的功能,即需要提供Excel报表下载。当前主流的操作Excel的方式为调用office的com组件来实现Excel文件的读写,这里业务指标定制模块的上传任务文件的Excel数据导入就是使用这种方式来实现的。但是当进行Excel报表下载时,需要通过查询提取大量结果集,再把这些结果集写入到Excel文件中需要占用大量的系统资源,同时当结果集的记录达到一定的数量级可能导致com组件的调用崩溃,因此在业务发展分析模块、折扣产品和促销产品的报表下载中我们采用的另外一种方式,即将这些记录作为文本格式保存下来,最后以csv格式提供下载从而实现了Excel报表下载功能,这样不仅提高了系统的处理速度,同时不需要生成大量的临时Excel文件,而是直接输出到客户端供用户进行下载,节省了系统空间。
三、结束语
应用asp.net软件框架和oracle数据库构建的移动通讯渠道管理系统,作为移动通讯企业主流业务平台的一个扩展系统,完成了许多主流业务平台没有关注的功能,其实是一个ERP系统,其快速的响应速度和全面的数据分析功能帮助移动通讯企业快速的掌握市场动态,提高了企业的管理效率和市场竞争力。同时应用asp.net和oracle构建的系统扩充和维护方便,为以后的系统维护、扩充、技术升级做了一个良好的开端和铺垫。
参考文献:
[1] 霍特卡著,马振晗译.《 Oracle SQL Developer编程手册.》[M]清华大学出版社.2008年9月[2] 宫生文,肖建,《Oracle PL/SQL完全自学手册》[M]中国铁道出版社,2010年7月