摘要:
概述
报表是人们归纳性地观察世界的最常用的一种手段。报表资源其实是办公资源重要组成部分,也是各级领导经营决策的有力保障。作为大型的企业单位,实际上是各种管理、经济信息的聚合点,各种决策都是应该是基于大量数据采集、分析的基础上所做出的科学判定。对于财务人员,他们要对财务数据进行统计分析从而做出更为有效的财务决策;对于市场与销售人员,他们要分析促销,销售预测,并且通过跟踪客户行为来满足客户需求;对于企业运营人员,他们要利用快速,信息丰富的报表来提高运营效率。不同的人员对着报表有着不同的需求。如何加快数据的流转,提高数据分析的有效性是每个单位都面临的重大课题。IT部门在时间和资源都有限的条件下,被要求做出更多的自定义报表。在多种报表,多种数据源,不同的用户需求这种种压力之下,IT资源成为报表应用的瓶颈。因此,我们采用 SQL Server 报表服务制定了本方案,解决了以上问题,使得全公司的所有人员都可以充分享受商业智能带来的快速、更好地做出商业决策的便利。
目标
在本方案中,我们要面对的环境是:Oracle 和 SQL Server 并存的数据源,5TB以上的原始数据;30多个地区,120多个部门,1000多个用户,每天集中在9点到10点、2点到3点的并发高峰访问;18个系列,200多张报表,并且随时会增加的报表需求;慢速的网络环境;有限的软硬件投资。
系统架构
我们采用一台报表服务器访问后台 Oracle 和 SQL Server 业务数据库,在各地放置多台前端Web服务器,通过 Web Service 穿越防火墙访问报表服务器,最终用户通过浏览器、邮件、Word、Excel 和 Acrobat访问报表。管理服务器也通过Web Service穿越防火墙访问报表服务器,报表管理员通过浏览器管理报表权限、设置报表执行计划和设置数据库连接参数。报表开发人员使用 Visual Studio .NET 2003 设计报表,通过浏览器上传报表。
软硬件设计
本方案采用的软硬件有(不含业务系统数据库和网络设备):l 服务器软件1. Microsoft Windows Server 2003 Standard Edition2. Microsoft SQL Server 2000 Enterprise Edition3. Microsoft SQL Server 2000 Reporting Services Enterprise Edition4. Microsoft Internet Information Servicesl 客户端软件1. Microsoft Windows 98/ 2000/ XP2. Microsoft Internet Explorer 5.0/ 6.03. Microsoft Office 2000/ XP/ 20034. Adobe Acrobat Reader 5.0/ 6.0l 报表开发软件1. Microsoft Visual Studio .NET 2003l 服务器硬件1. HP ProLiant DL560 2*Xeon MP 2.8GHz 1G内存 (报表服务器)2. Dell PowerEdge 400SC 奔腾 4 2.4GHz 512M内存(前端Web服务器和管理服务器)
优化方法
为了在有限的硬件投资情况下满足各部门的需求,我们在系统架构和程序上做了一些优化工作。
缓存和快照
为了减轻报表运行对后台业务系统数据库的压力,同时也为了提高报表访问的速度。我们设置大部分报表以缓存方式运行。报表服务器会自动保留一份已处理报表的副本一段时间,并在用户打开报表时返回该副本。对于部分时间敏感度特别高的报表,可以设置为按需运行报表,即每次用户打开报表时,报表都查询数据源,这样报表将包含最新的数据。对于部分时间周期可以预测的报表,如日报、周报等,可以设置为快照方式运行。即报表在特定的时间生成,如凌晨1时。生成快照时,数据和报表一起存储在报表服务器数据库中。使用这种运行方法时,获取数据的查询进程独立于以某种显示格式呈现报表的进程。当用户请求该报表时,才进行最终处理。
报表订阅和传递
为了方便最终用户在移动办公的环境下可以离线访问报表,同时也为了减轻高峰时期对报表服务器和网络带宽的压力,我们设置了部分报表的订阅。报表订阅可以由用户自行创建和管理订阅,也可以由报表管理员创建和管理。报表就会在指定的时间以指定的格式发送到用户的电子信箱中。对于部分安全敏感度低而且访问频繁的报表,我们设置了报表的传递。即通过文件共享方式的订阅。报表在指定的时间发送到各前端Web服务器的共享目录中。用户在浏览这些报表时就无需访问报表服务器。
自定义呈现程序
为了减轻数据传递对网络带宽的压力,同时也为了提供更美观的呈现样式,我们开发了自定义的呈现程序。对于部分以图表形式呈现的报表,让前端Web服务器以Web Service的方式向报表服务器去获取以XML格式呈现的数据,然后在前端结合自定义的图表展现工具显示。
总结
SQL Server 报表服务的良好设计,使得我们可以大幅节省网络和硬件方面的投资。而SQL Server 报表服务的非常方面的二次开发接口和友好的文档,使得我们能够快速的开发出应用程序。同时SQL Server 报表服务自带的报表管理器,也很方便我们在项目前期使用。...[
阅读全文]