FineBI白皮书V2.0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FineBI技术白皮书
CopyRight©2013
帆软软件有限公司.保留所有权利.
目录
一、产品简介 (4)
1.1 FineBI产品定位 (4)
1.2系统架构 (5)
1.3 产品环境支撑 (6)
1.3.1 软件环境 (6)
1.3.2 硬件环境 (7)
二、核心优势 (8)
2.1 数据处理不用写sql,大数据量的处理性能优于sql (8)
2.2非IT人员可以进行即时分析 (8)
2.3采用自主创新的ExcelView选取字段的功能,提升业务人员的操作体验 (9)
2.4 实施周期短,后期维护简单 (9)
三、功能介绍 (10)
3.1 FineBI功能模块 (10)
3.2 数据处理 (10)
3.2.1 数据源 (10)
3.2.2 创建业务数据包 (11)
3.2.3 ETL数据转化处理 (14)
3.2.3 多维数据库Cube (16)
3.3智能即席查询 (17)
3.3.1 维度指标分析 (17)
3.3.2 ExcelView选取字段 (18)
3.3.3分析组件 (19)
3.3.4过滤控件 (21)
3.3.5数据预警 (23)
3.4 多维OLAP分析 (23)
3.4.1 任意多维度分析 (23)
3.4.2 多层钻取 (24)
3.4.3 排序 (25)
3.5 FineBI的dashbord (25)
3.5.1 dashboard的布局 (26)
3.5.2 多个组件之间的联动钻取 (26)
3.5.3 dashboard的保存与分享 (26)
3.5.4 发布至FineBI平台 (28)
四、技术特性 (29)
4.1 FineBI主要性能特点 (29)
4.1.1FineBI数据仓库 (29)
4.1.2FineBI智能模块 (30)
五、应用与部署 (32)
5.1 服务器部署 (32)
5.2 web集成 (33)
5.2权限 (35)
5.2.1权限控制的层次 (35)
5.2.2 权限的粒度 (35)
六、结束语 (37)
6.1产品价值 (37)
6.1.1零编码设计 (37)
6.1.2辅助决策共赢未来 (37)
6.2服务宗旨和承诺 (37)
一、产品简介
1.1 FineBI产品定位
FineBI是帆软软件有限公司推出的一款商业智能(Business Intelligence)产品。
FineBI 的本质是通过最终业务用户自主分析企业已有的信息化数据,帮助企业发现并解决存在的问题,预测模拟企业将来的发展,协助企业及时调整策略做出更好的决策,增强企业的可持续竞争性。
FineBI着手于降低实际业务和实施间的沟通成本,以人为本,更注重服务于最终的业务人员,提供更智能、更灵活、更直接的分析模式。
传统的BI,根据业务需求实施完成后,使用者只能够按照数据模型中固定的那些维度或者指标来进行分析,如果想要分析其他的维度,传统的BI并没有很好的解决方案能够即时响应,仍旧需要和技术支持人员进行沟通补充,FineBI特有的指标影响因素智能分析模块将提供更人性和智能的方式来帮助客户解决此类问题。
1.2系统架构
软件的框架图如下图所示:
FineBI架构分为四部分:
数据处理:数据处理服务,用来对原始数据进行抽取,转换,加载。
为分析服务生成数据仓库FineCube。
即时分析:可以选择数据快速创建表格或者图表以使数据可视化、添加过滤条件筛选数据,即时排序,使数据分析更快捷。
多维度分析:OLAP分析实现,提供各种分析挖掘功能和预警功能,例如任意维度切换,添加,多层钻取,排序,自定义分组,智能关联等等。
Dashboard:提供各种样式的表格和多种图表服务,配合各种业务需求展现数据。
包括列表、分组、交叉表格,图表类型包括柱形图、条形图、饼图、面积图、组合图、仪表盘和地图。
1.3 产品环境支撑
FineBI采用纯Java开发,FineBI支持所有可部署JDK的操作系统,比如支持Windows 与Unix/Linux/Aix等。
支持所有的有JDBC接口的数据库,比如Oracle、SqlSever、Mysql、Sybase、DB2、Postgre、Derby等主流关系型数据库。
1.3.1 软件环境
具体软件环境要求如下表所示:
操作系统:Windows、Linux、Unix、Solaris 、Aix、IRIX等;
数据库:Oracle、SqlSever、Mysql、Sybase、DB2、Postgre、Derby等主流关系型数据库;
应用服务器:Tomcat、Jboss、Weblogic、Websphere、Tongweb、resin等web 应用服务器;
浏览器:IE(IE8及以上版本可以获得更好的使用效果)、FireFox、Chrome等主流浏览器。
1.3.2 硬件环境
具体硬件环境要求如下表所示:
二、核心优势
2.1 数据处理不用写sql,大数据量的处理性能优于sql
FineBI的数据处理,采用表间自动关联以及手动建立关联来实现数据之间的关系,使得数据根据业务关系有着完整的数据结构。
理解业务的用户,只需要根据业务选择相应的数据,即可以进行分析数据。
FineBI采用Cube预处理以及并行计算的先进数据处理模式,使用NIO内存映射文件存储模式,同时采用高效的智能位图索引,以及智能避免重复计算的缓存机制,使得在前端页面展示数据时,运行速度高效快速。
FineBI对于分组汇总表的计算,亿万条数据,汇总计算均在10s内完成。
对于明细表的展示,均在1s内即可完成。
2.2 非IT人员可以进行即时分析
FineBI始终抱着以用户为本,以求让最终用户更快速入手,更方便的使用,省去传统BI实施、设计过程的繁杂之处。
传统BI的繁杂之处主要体现在两个方面:
第一:技术人员需要花费大量时间准备数据
用于分析的底层数据分布在不同的地方,如果要让这些数据百分百地满足业务需求,那么就需要对数据进行额外的处理,根据传统BI提供的工具建立符合其工具的数据模型,而这个过程根据业务的复杂程度所需的时间在几个月不等。
第二:业务人员基于数据偶得的一些分析需求实现过程复杂
传统BI的模式都是预先了解领导和业务人员的所有业务需求,然后基于这些需求准备
数据设计以报表形式展现数据的分析过程,当领导或者业务人员在分析过程中有些额外的想法时,基于传统的设计模式,她们还需要和技术人员进行沟通,准备新的数据或者设计新的分析过程,然后才能得到自己想要的分析,这个过程还包括了让技术人员理解自己的需求,所以综上看来整个过程是相当复杂的。
FineBI的Data Service模块,特有的分析设计模式和指标影响因素智能分析模块,能够帮助用户解决以上问题,让技术人员准备数据时无需任何代码和复杂的设置过程,让非IT 人员能够轻松自在得进行分析。
2.3采用自主创新的ExcelView选取字段的功能,提升业务人员的操作体验
FineBI采用自主创新的ExcelView选取字段方式,让业务人员可以根据自己熟悉的Excel表样去选取想要的数据,不用去理解数据库中的字段结构,以及字段名称。
这样贴身为业务人员打造的分析模式,让分析变成人人可以玩转的事情。
2.4 实施周期短,后期维护简单
由于FineBI特有的数据准备模块,除去原始需求沟通时间,技术人员在实施时无需花费过多的时间来进行数据处理,而FineBI特有的分析模式和指标因素在基于固定数据的基础上能够极大的减少需求多变导致的数据准备和沟通交流时间,真正做到了实施周期短,后期也无需投入过多的人力和时间来维护系统,解决需求上的变动。
三、功能介绍
3.1 FineBI功能模块
FineBI功能模块可以分为数据处理、即时分析、多维度分析和Dashboard。
下面介绍具体的功能模块以及权限控制。
3.2 数据处理
3.2.1 数据源
1、支持支持Oracle,DB2,SQLServer,MySQL,SqlServer,Informix等数据源。
支持ODBC 数据源,支持JNDI数据源,支持共享应用服务器数据源。
2、程序接口支持javaApi,Hibernate数据源,支持WebService、SOA等标准的数据。
3、支持文本数据,支持将Excel,txt文件,XML文件等文件型的数据直接作为数据源;
也支持内置数据集。
3.2.2 创建业务数据包
支持按照业务增量需求建立数据业务包。
FineBI的数据业务包,是用于即时分析的数据基础。
数据业务包由数据管理员创建,其中包含着能够提供给分析人员的所有业务数据库表。
BI数据业务包的源数据可以来自多个表或者多个数据库的多个表;
3.2.2.1数据转义
可以对数据业务包中的表名以及字段名进行转义,成为能够让业务人员理解的数据,转义的信息可以直接集成数据库中的注释,也可以直接手动编辑。
3.2.2.2数据关联
数据之间的关联是通过给当前数据库表建立添加主键表的方式来建立的,多个表间可以直接
继承数据库已设的外键关系,也可以手动建立表间关系。
3.2.3 ETL数据转化处理
3.2.3.1添加新增列
通过自定义数据列来实现数据转换和数据计算。
包括根据现有的数据新增列,构建自循环列,根据公式构建自定义数据列。
更方便地用于后面的分析。
根据现有的数据新增列:在现有的数据列的基础上,通过自定义分组形成新的列。
主要用于建立公用的自定义分组的方式,提供给所有的分析人员使用。
构建自循环列:可以根据一列(数据库中只有一列组织ID)或者两列(数据库中有组织ID 和父ID)数据分层,将组织机构的层级关系分层展示。
主要用于组织树展示。
新增公式列:公式引擎支持数据类型转化,常用函数、数学和三角函数、文本函数、日期和时间函数、逻辑函数、数组函数、报表函数以及其他自定义函数。
3.2.3.2字段行列转换
通过字段行列转换,将数据库中某一列的字段值与其他指标字段结合成新的字段。
3.2.3 多维数据库Cube
3.2.3.1定时全量/增量更新cube
所有的数据业务包建立的时候,FineBI会在后台自动生成对应的cube。
FineBI的Cube采用MOLAP的形式,所以在处理大数据量的问题上具有优良的支撑。
Cube中的数据可以设置定时全量/增量更新。
3.2.3.2分布式部署
FineBI分布式集成即可提升Cube的生成速度和即时分析取数的查询速度,简单来说,就是在服务器端配备多台服务器,其中一台为主服务器,其他为分布式服务器,FineBI工程发布在主服务器上,主服务器主要工作就是均衡调配,负责调配将Cube生成在分布式服务器上,每台分布式服务器上均会生成一个Cube,所有分布式服务器的Cube组合起来,则为整个数据库的数据,即时分析查询取数时也是主服务器收到取数查询请求,根据查询的表负责将取数操作分配到各分布式服务器上,最后汇总结果,返回给客户端。
3.3智能即席查询
3.3.1 维度指标分析
3.3.1.1维度和指标数据自由分析
在数据决策系统中,用户可以选择业务包中任意指标、维度进行自主地拖拽分析。
由于数据业务包中的数据已经关联在了一起,这就决定了FineBI即时分析的自由度。
在分析某个指标的影响因素时,可以选择任意的维度,去分析他们之间的关系。
从而确定某个因素对指标的影响大小。
3.3.2 ExcelView选取字段
通过将字段一一绑定到上传的Excel单元格中,使用者采用从Excel的单元格中选择相应的字段,让业务人员清楚地拿到自己目标指标和维度进行分析。
3.3.3分析组件
组件支持各种样式的表格,配合各种业务需求展现数据。
包括列表、分组、交叉表格。
组件支持多种图表,图表类型包括柱形图、条形图、饼图、面积图、组合图、仪表盘和地图。
页面上生成表格,转换图表、添加钻取、过滤筛选、添加控件等一系列交互设置,操作简单。
通过拖拽指标和维度生成的表格,可以一键切换至图表。
FineBI支持多种图表且类型可以随意切换,支持的图标类型有:
柱形图、柱形堆积图、折线图、堆积面积图、组合图、条形图、堆积条形图、饼图、仪表盘、地图。
3.3.3.1汇总数据统计方式多样
指标支持求和,平均,最大值、最小值等等一系列统计方式提供选择.
3.3.3.2支持多种计算指标的方式
指标可以来自于字段,同时也可以是通过公式计算得来。
在计算同比、环比、排名的时候,只需配置一下界面,即可得到想要的结果。
无需通过复杂的公式。
3.3.4过滤控件
控件拖出来之后直接绑定字段即可对整个页面的数据进行过滤。
整个交互设置具有极强的人
性化,简单自然。
支持文本类控件,包含文本框、下拉框、下拉复选框和下拉树。
3.3.
4.2时间类控件
支持时间类控件,包含时间段控件、年份列表、月份列表和季度列表。
支持数值类控件,可以按数值区间进行和数据筛选。
3.3.5数据预警
支持数据预警功能,对于在某个数据区间的数据可以进行红绿灯预警或者数据前景预警。
3.4 多维OLAP分析
FineBI提供了各种常见的OLAP分析操作,可以进行任意多维度的分析,钻取分析、排序、过滤等等分析功能。
3.4.1 任意多维度分析
FineBI提供任意维度的数据分析,针对要分析的数据,我们可以任意添加需要分析的维度。
图表设置过程类似,需要注意的是绝大多数的图表无需刻意添加分析。
支持任意维度切换,可以对已有的表样切换维度来进行自由分析。
3.4.2 多层钻取
由于维度数据的关系在建立数据cube的时候已经建立好,则可以对维度直接通过分组以及层级设置进行多层钻取。
设置了数据关联的数据之间,可以进行多层钻取设置,通过多层钻取查看数据的详细值。
3.4.3 排序
基于查询出来的结果的排序,根据维度自身进行排序,根据汇总指标的大小对维度进行排序展示,根据公式值进行排序。
可以进行升序、降序和自定义排序。
选择了排序方式,数据会根据所选排序方式自动排序。
3.5 FineBI的dashbord
dashboard做为FineBI的主要前端展现形式,具有丰富的组件展示模型以及控件类型。
其
中组件的模型包含有表格以及多种图表类型。
数据分析者,可以使用FineBI的即时分析模块制作满足自己业务需求的dashbord的结果,可以在编辑、查看。
dashbord具有极强的交互性,企业中高层对于分析人员制作好的dashbord结果,可以进行查看、交互。
3.5.1 dashboard的布局
组件和控件支持自由布局。
FineBI的分析页面由控件和组件组成,控件和组件的数量是可以添加至任意多个,同时控件和组件的大小以及位置都是可以调整的,可以满足用户自由定义的风格需求。
3.5.2 多个组件之间的联动钻取
在指标属性界面添加钻取属性以及任意过滤筛选条件
3.5.3 dashboard的保存与分享
3.5.2.1dashboard的保存
支持页面的保存,在”我创建的”列表中进行编辑和查看。
在设计分析界面直接点击保存按钮即可保存当前设计的分析结果,保存下来的分析结果都会展现在BI设计模块中的我创建的节点中。
点击分析页面的保存按钮即可保存分析,保存的结果位于上面提到的BI模块中的我创建的。
在分析页面中保存的分析结果,点击编辑按钮,既可对保存的结果文件进行再次编辑。
点击结果名称,即可查看保存过的分析结果。
3.5.2.2dashboard的分享
另外,分析结果还可以分享给其他人,在分析页面点击分享或者在我创建的分析结果中点击分享,选择分享人员的名称,供其他人查看、分析。
点击分享按钮,如图:
当被分享的用户登录后在分享给我的界面中即可查看分享的分析。
需要注意当创建分析对象的用户删除保存的分析时,被分享的用户也会同步删除此分析结果。
3.5.4 发布至FineBI平台
管理员将“我创建的”的dashboard发布至FineBI平台,提供给所有用户查看。
在报表管理中将保存的分析结果发布至各分析目录结构下,点击平台管理>报表管理,如图所示,管理员对目录结构进行设置。
四、技术特性
4.1 FineBI主要性能特点
软件成品除了功能外,用户应该都比较关心稳定性、并发数、数据量等性能是不是优秀,FineBI的性能这一块也有很大的优势。
4.1.1FineBI数据仓库
4.1.1.1FineBI数据仓库技术要点
1、动态生成的位图索引技术处理字符串等类型
2、NIO内存映射文件技术,快速读取处理数字类型
3、支持离线使用的cube数据存储,支持cube数据定时全量以及增量更新
4、动态的内存数据立方体技术,并行计算的先进数据处理模式
5、基于位图索引的快速分组,过滤,钻取,支持多线程运算,互不干扰
6、高效的智能位图索引压缩技术
7、智能避免重复计算的缓存机制
4.1.1.2FineBI数据建模及数据应用流程
数据库生成Cube文件,该cube文件会根据原始数据建立一定的数据模型。
访问设计报表时,预先加载需要使用的字段的位图索引到内存(使用半成品的位图,索引(在几十毫秒内)动态生成需要字段的位图索引)
处理分组时,使用该位图索引,对数据进行处理,经过转换生成需要的结果,再使用多线程分组,多线程与内存映射文件生成汇总结果,轻松应对千万级以上的数据汇总
并将结果建立一定的数据立方体模型,在下次取数,和部分取数(比如之前用了3个字段,后面又用了3个中的2个字段,则不需要重复计算)时避免重复计算
处理列表则是根据计算好位图索引的值的取制定行数据,列表性能无上限,取多大的数据量都会很快
4.1.1.3FineBI数据仓库优势
优势:分组速度快,各个分组,汇总之间互不干扰,利于多线程计算以及分布式部署优化,单机性能也比较好
支持部分计算,分组汇总不需要计算所有的值。
列表速度不受限于数据量
4.1.2FineBI智能模块
FineBI的智能体现在两个方面:
1.分析数据智能关联
当最终用户在分析数据时,很可能需要将数据建模时没有建立关联关系的数据关联起来做为整体查看分析,而在处理此类问题时就往往需要技术人员的支持,需要额外的
数据建模工作,FineBI根据用户的语义,提供关联设置,并将数据关联,只要明白语义即可得到所需数据。
2.指标影响因素智能分析
某个指标或者汇总数据往往会受到很多因素的影响,例如销售额会受到产品质量,销售地区,时间,销售人员,代理商,销售策略,同类竞争产品价格等等因素的影响,而当最终客户进行分析时需要对全盘的影响因素都有了解。
以往的BI工具是提前将这些分析维度加入最终展现层让领导或者业务人员去选择,这样的问题有二:沟通成本高,需要让技术人员清晰明了业务需求;修改影响因素复杂,添加删除因素需要通知技术人员。
FineBI的智能因素分析直接面向最终分析人员,通过优化的算法提供所有影响因素,并且智能判断重点因素。
五、应用与部署
FineBI属于纯java开发,支持windows、linux、unix等主流操作系统,可进行跨平台操作,兼容firefox、IE等主流浏览器,并支持双机热备和自动备份。
5.1 服务器部署
FineBI是一个Servlet应用。
大家知道,Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。
它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet是位于Web 服务器内部的服务器端的Java应用程序,由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
因此FineBI必须部署在Web应用服务器如Tomcat、Weblogic、Websphere等下面,启动Web应用服务器时就会加载FineBI这个Servlet,从而交互式地浏览和修改数据,整个过程如下:
5.2 web集成
应用集成分为两个部分:Web页面集成和自定义页面。
web页面集成主要是通过url集成到用户的系统中。
包括新建分析的页面,我创建的页面,分享给我的页面,以及业务配置页面(需要权限才能访问)。
具体方式如下:
新建分析的页面:
${servletURL}i?op=fr_bi_dezi&cmd=init_dezi_pane
我创建的页面
${servletURL}?op=fr_bi_dezi&cmd=my_bi_saved
分享给我的页面
${servletURL}?op=fr_bi_dezi&cmd=my_bi_shared
业务配置页面(需要权限才能访问)
${servletURL}?op=fr_bi_configure&cmd=init_configure_pane
获取我创建的列表
$.ajax({
url:${servletURL}?op=fr_bi_dezi&cmd=get_my_report_list,
complete : function(res, status){
var list = FR.jsonDecode(res.responseText);
}
})
按照最后编辑的时间排序
其中list为一个数组,其中每一个对象的数据结构为:
{
id:保存的BI报表ID,
buildurl:打开BI报表的链接,使用方法:${servletURL} + buildurl,编辑状态为${servletURL}+buildurl+ "&edit=_bi_edit_" ,
lastModify:最后的修改时间,
text:BI报表名字
}
获取分享给我的列表
将上面的url的值改成
${servletURL}?op=fr_bi_dezi&cmd=get_share_2_me_report_list
5.1.1.1 应用服务器部署集成
为了信息交流的方便,企事业单位大部分会使用基于B/S架构的系统,这就涉及到一
个页面展示的问题。
现今的页面解析主流的是通过一些应用服务器如tomcat、jboss、Weblogic、Websphere、resin、Tongweb等web服务器的html解析技术,展示存储的文件。
FineBI制作后的BI分析模板和相应数据直接存储于Web文件夹中,可以利用上述Web应用服务器的解析能力进行相应的展示,实际使用时只需按照相应的步骤将FineBI工程部署上去即可,高效易用。
5.2权限
现今,为了保密和业务的需要,各种应用系统都有权限方面的控制,FineBI也不例外,其具体实现过程如下:
1:配置各个用户相应的BI访问权限;
2:用户第一次访问受保护的资源(BI中的某个分析模板)时,会发出访问请求,服务器接收到请求后会验证用户权限,如果没有通过验证则返回登录页面;如果通过验证用户获取一个唯一标识自身的令牌(ticket),并将携带这个令牌进行BI的访问操作。
5.2.1权限控制的层次
主要分为三个层次:
业务包的权限:支持不同用户对于数据业务包的数据权限仅限于自己权限范围内。
Dashboard的访问权限:支持不同的用户可以访问权限范围内的报表。
数据的明细权限:支持不同的用户对于同一张报表,只能够访问权限范围内的数据。
5.2.2 权限的粒度
很多系统的权限认证只是限制模块的使用,使得合法用户能够行使自己的权利。
FineBI
在满足这种整体权限认证的同时,权限的控制力度可以达到同一张BI的内容在不同权限下展示的效果不一样,这样就免除了制作大量的BI来实现同样效果,尤其是在企业内部业务繁杂,审批麻烦时,一张BI就可以解决所有问题。
FineBI通过对业务包的权限控制,从数据包层面控制了不同的用户对于数据的权限,以达到数据的细粒度控制。
六、结束语
6.1产品价值
产品设计都是用来满足客户需求的,因此最重要的是其对于客户的使用价值,FineBI 的产品价值主要有以下几点:
6.1.1零编码设计
传统BI在数据建模过程中往往需要对数据进行繁杂的处理,例如复杂的查询语句规范、专门的数据仓库构建工具,这些往往是需要专门的技术人员花费大量时间去熟悉掌握的。
FienBI提供了基于界面的数据操作模块,只需简单的设置即可满足绝大多数的数据处理需求,而这些过程是不需要任何编码过程的。
而针对小部分根据特殊业务需求需要特别处理过程的数据我们有专门的实施方案来解决此问题。
6.1.2辅助决策共赢未来
FineBI支持各种上钻、下钻、切片等olap分析方法,可以进行各种业务数据分析,并结合图表进行直观的展现,这些专业的分析方式对于企业高层指定公司的发展方向和道路起着至关重要的作用。
6.2服务宗旨和承诺
帆软软件总部位于南京,在北京,上海,广州,成都,长沙,西安均设有办事处。
这样就保证无论在国内的任意一个城市开发项目,FineBI的支持保障人员都会选择尽可能相近的支持人员保障项目的正常运行。
另外,FineBI提供了全程的保姆式服务体系,如图6.1-图6.2所示:
图6.1 初步接触到购买服务
图6.2合作客户得到的服务
该体系可总结为以下几点:
1、客户在软件试用或者正式试用过程中,及时提供FINEBI使用和客户业务需求实现
的相关咨询。
2、提供专门的解决方案。
3、对于客户的特殊需求进行判断,如经认定该需求为通用需求,则提供定制开发。
4、对于无法远程解决的问题,派出资深BI工程师现场支援。
FineBI承诺:客户的满意是我们最大的动力。