- 1、本文档共65页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
技术方案
体系架构
总体架构
采用B/S架构,为了更好的扩展性和灵活性,总体分成4层,图如下:
每一层之间有清晰的接口,每一层内部可以独立的扩展而不影响其它层。根据BI商务智能分析的特点,要求支持各种类型的数据库,支持复杂的统计分析函数,支持丰富的展现形式.
数据层
数据层分2个库,一个是元数据库,存储用户、报表、数据仓库模型等系统信息,一个是业务数据库,存储要分析的数据.两个库可以独立存储在不同的数据库中,也可以存储在同一个数据库中。同一个元数据库可以基于多个不同的业务数据库进行分析,大大降低了同一个企业机构实施多个项目的成本和周期.另外,允许元数据库和业务数据库分开存储可以提高并发访问效率。
执行引擎
流行的数据库都兼容sql99标准,但是都有各自的扩展,为了最高的执行效率,执行引擎为不同的数据库产生不同的sql,并生成一致的查询结果给分析引擎。另外,很多报表的数据来自多张业务表,需要多次查询,通过对查询的合并可以大大提高查询性能。高效的执行引擎是性能的保证.
分析引擎
为了支持复杂的统计分析--同期、上期、同比、环比、topN/top%等等,灵活的分析引擎必不可少。分析引擎是报表到查询对象的桥梁,强大的分析引擎可以让用户简单定义就查询出复杂的数据。
除了支持不同的统计分析方法,还支持从多种展现对象中提取查询信息,包括表格、统计图、多维分析、地图等。
展现引擎
报表的展现方式日新月异,从表格到统计图、地图,从个人电脑到移动设备,从浏览器方式查看到用excel、pdf、word格式查看,要能做到一张报表多种方式在多个设备上展现。
多级缓存
现在企业机关的数据量都比较大,查询一张报表可能要几分钟的时间,当不同的用户计算同一张报表时,如果每个人都要到数据库中进行查询,势必会很慢。为了在大数据量环境中仍有很快的查询性能,有必要建立多级缓存。
计算结果的缓存
报表在计算之后会生成结果表,将结果表存储起来,下次计算时直接从缓存中读取计算结果,这样可以最大限度提高查询效率.
结果的缓存要同时考虑查询条件、用户身份、权限等影响查询结果的因素,避免返回错误的缓存结果。
对于结果的缓存,还要有定时清理机制,避免过多的缓存占用大量的磁盘空间。
展现对象的缓存
当多个用户查看同一张报表时只需要生成一个展现对象。在为每张报表生成展现对象时将展现的结果缓存起来,下次查看报表时可以立即先展现结果,而不需要经过计算过程.这样可以最大限度提高查看效率。
展现对象通常都是文件,比如html文件、excel文件、paf文件,通常比较大,为了不占用过多数据库空间,它们将存储在本地文件系统中。
统计图的缓存
作为报表的重要组成部分,统计图可以让数据更直观。在浏览器或其它设备上查看报表时,统计图快速显示是非常重要的。为了加快统计图的显示速度,有必要对它生成的内容进行缓存,避免每次都取生成.
统计图缓存和报表的缓存类似,它的尺寸比较大,放在文件系统中更合适。
第三方扩展接口
产品很难做到面面俱到,为了满足不同用户的个性化需求,提供完善的扩展结果很有必要。当分析或者展现的需求不满足用户需求时,有条件的用户可以自己扩展功能,实现自己的需求。
扩展分析引擎
分析引擎产生的结果是一个通用的标准格式—-xml格式,用户可以采用通用的技术修改产生的结果。通过扩展分析引擎可以优化查询对象、统计方法。
并且,用户在扩展分析引擎时不必关心分析结果如何执行,这个由执行引擎来负责执行.
允许扩展展现层
用户对结果的显示往往是个性化的,根据不同的项目有不同的展现需求。当产品自带的展现不符合用户需求时,可以扩展展现层。
展现层包括界面布局、图表、交互,这些元素都可以扩展。客户端的展现层提供面向对象的接口,内部采用ajax技术访问服务器。访问服务器的链接地址采用最新的rest风格的链接地址,可读方便.
允许扩展新的分析函数
在报表中支持使用用户自定义的分析函数。利用产品自带的常用分析函数,用户可以实现丰富的自定义分析。
扩展的新的分析函数可以在不同的展现对象中使用,包括报表、多维分析、统计图、地图等,做到一次定义任意地方使用。
插件机制
为了方便扩展产品功能,所有的扩展都可以作为插件放到产品中来,而不用升级产品.支持通过插件支持新的数据库,比如支持达梦数据库.通过插件支持新的皮肤、通过插件支持新的语言、通过插件支持新的分析函数、通过插件支持新的展现对象-—新地图、新统计图、通过插件扩展新的控件等等.
产品对自定义插件提供了完善的支持,产品自带的一些功能本身就是以插件的形式提供的,比如地图。
当项目稳定之后再要增加新功能时,插件机制可以通过最小的改动就增加新功能。这点对长期项目尤其重要。
纯Web方式
传统的插件式商业智能工具软件是存在一些问题的,这些问题很有可能
文档评论(0)