云端线上即时多维度分析系统与方法.pdf

上传人:54 文档编号:4266213 上传时间:2018-09-12 格式:PDF 页数:15 大小:1.38MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210325232.5

申请日:

2012.09.05

公开号:

CN102819616A

公开日:

2012.12.12

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 17/30申请日:20120905授权公告日:20150916终止日期:20160905|||授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20120905|||公开

IPC分类号:

G06F17/30; G06F19/00(2011.01)I; H04L29/08

主分类号:

G06F17/30

申请人:

中华电信股份有限公司

发明人:

林志鸿; 杨德邵

地址:

中国台湾桃园县杨梅市新荣里民族路5段551巷12号

优先权:

2011.12.28 TW 100149085

专利代理机构:

广州华进联合专利商标代理有限公司 44224

代理人:

郑彤;万志香

PDF下载: PDF下载
内容摘要

一种应用于云端线上分析作业资料处理阶段的自动化技术,通过指令产生器依据中继资料生成多层次汇总的指令及程序,自动完成预先汇总作业,无须专业人员介入。本发明亦揭露一种于云端线上分析作业中实作枢纽分析表的方法,提供直观、视觉化、所见即所得、即时互动的操作方式。本发明所有作业皆在云端平台内,利用现有云端运算技术来处理,将线上分析作业与云端技术结合,将使系统具有线上动态增减资源的扩充性,通过平行计算而大幅缩短处理时间,并能达成传统技术所无法做到的超大维度分析,或非结构性的资料分析。

权利要求书

1.一种云端线上即时多维度分析系统,包含:
云端平行计算平台,其包含云端储存及计算模组、云端快速存取模组、指令
产生器、中继资料以及即时多维度分析模组;
原始维度表及原始事实表,是通过上载传输介面上载至该云端平行计算平台
后储存于该云端储存及计算模组;以及
枢纽分析介面,该枢纽分析介面通过传输介面与该即时多维度分析模组连接,
且该即时多维度分析模组通过传输介面与该云端快速存取模组连接以即时取
得该分析结果及该相关资料;
该中继资料具有该上载储存资料的内容及关联资讯;该指令产生器依据该中
继资料产生指令,驱动该云端储存及计算模组预先分析该上载储存资料,计
算多维度汇总后,将分析结果及相关资料转换储存于该云端快速存取模组以
供即时呈现;该多维度汇总及该资料转换所需的指令是自动产生,并提供使
用者透过该枢纽分析介面即时互动操作浏览枢纽分析结果。
2.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述云端
平行计算平台是包含:Hadoop、Amazon EC2以及中华电信HiCloud。
3.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述云端
储存及计算模组提供高阶查询语言与执行介面,并支援该多维度汇总所需的
运算者。
4.如权利要求3所述的云端线上即时多维度分析系统,其特征在于,高阶查询
语言所支援的所需运算包含:关联、群组、计数、相异计数、加总、最大值、
最小值、平均。
5.如权利要求4所述的云端线上即时多维度分析系统,其特征在于,所述云端
储存及计算模组为:Hive或Pig。
6.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述云端
快速存取模组为下列之一者:BigTable、HBase或Cassandra。
7.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述该上
载传输介面为下列之一者:FTP、SFTP、HTTP、HTTPS、odbc或jdbc。
8.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述中继
资料包含下列之一项或一项以上者:各维度表储存位置、各维度显示名称、
各维度项目显示名称、各事实表储存位置、各事实表可分析维度、各事实表
可汇总量值、各量值显示名称、各量值汇总方法。
9.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述枢纽
分析介面操作方式包含下列之一项或一项以上者:动态改变维度或量值之安
排呈现方式、向下钻研、向上小计、切片、切块、跨越钻研、穿透分析。
10.一种云端线上即时多维度分析方法,包含以下步骤:
(1)上载该原始维度表及该原始事实表至该云端储存及计算模组;
(2)设定该中继资料;
(3)预先计算该多维度分析结果储存于该云端快速存取模组、转换维度及该
中继资料至该云端快速存取模组、即时呈现线上枢纽分析结果。
11.如权利要求10所述的云端线上即时多维度分析方法,其特征在于,所述原
始维度表及该原始事实表原本即储存在该云端平行计算平台,而省略该上载
原始维度表及原始事实表至云端储存及计算模组的步骤者。
12.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所
述预先计算多维度分析结果步骤,是由一到多个指令产生器依据该中继资料
产生指令自动执行者。
13.如权利要求12所述的云端线上即时多维度分析方法,其特征在于,所述指
令产生器依据该中继资料产生指令时,是以二进位列举来产生所有可能分析
面向的排列组合者。
14.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所
述预先计算多维度分析结果储存于云端快速存取模组步骤,是将汇总结果依
键-值关系索引储存,且以维度代码组合为列索引键,维度值之组合加上量值
顺序为行索引键者。
15.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所
述转换维度至云端快速存取模组步骤,是将维度表依键-值关系索引储存于该
云端快速存取模组,且以维度代码为列索引键,一特定关键字用以索引第一
个维度值,以各维度值配合另一特定关键字索引下一个维度值,并以各维度
值配合又另一特定关键字索引该维度值之显示名称者。

说明书

云端线上即时多维度分析系统与方法

技术领域

本发明属于云端运算(Cloud Computing)领域,特别涉及云端线上即时多维
度分析系统与方法。

背景技术

线上分析作业(Online Analytical Process,OLAP)技术,主要与线上交易
作业(Online Transaction Process,OLTP)作区别。线上交易处理即为一般的
资料新增删除修改查询作业,而线上分析作业则着重于查询与分析,主要态样
为提供资料的各面向及多维度即时分析,近年来已是商业智慧技术基础且重要
的一环。

随着云端运算技术的蓬勃发展,云端服务或系统对资料处理能力及储存容量
几乎可无限制动态扩充,伴随而来的是待分析的资料动辄为规模在数百Tera
bytes以上的海量等级,远远超过传统OLAP伺服器所能处理的范围,如何将商
业智慧技术推展应用于云端运算平台成为一大课题。将线上分析作业与云端技
术结合,将使系统具有线上动态增减资源的扩充性,通过平行计算而大幅缩短
处理时间,并能达成传统技术所无法做到的超大维度分析,或非结构性的资料
分析。目前在云端运算平台所发展出的线上分析技术较成熟的有Pig OLAP 
sketch和Zohmg等。

Pig OLAP sketch的作法是将资料汇整处理,使资料量大幅减低至传统OLAP
伺服器能处理的范围,然后汇出至云端平台外部,由外部的传统OLAP伺服器来
提供即时分析显示的功效。此作法固然可以达到对云内资料作线上分析的目的,
但平添了将资料汇出至云外并汇入传统OLAP伺服器的动作,增加作业复杂度。
此外,将资料汇出至云外后将无法利用云端架构之可扩充性与平行计算等优点,
能处理的资料量会受限于该OLAP伺服器的计算能力与储存空间,亦无法达成超
大维度与非结构化资料的分析。

而Zohmg则是所有作业皆在云端平台内,利用现有云端运算技术来处理,
为与本发明最接近的先前技术,故本章节的探讨主要以此先前技术作为比较对
象。

传统线上分析作业为提高查询阶段的效率而采用一种预先处理的技巧,将资
料依各层面分析的汇总值预先计算好,储存成多维结构(MOLAP)或关连结构
(ROLAP)或混合结构(HOLAP)的方块(Cube),在查询阶段因只需依索引取得预先
汇总结果而缩短反应时间,满足线上分析即时性的需求。多维结构多半储存为
档案,通过索引档案位移量直接存取来加快速度,关联结构则储存于关联式资
料库,利用其索引的能力来快速取值。然而在云端运算架构中皆无这些技巧可
用,因而须另寻其它的方法来取代。

为提供云端即时线上分析,先前技术是在Hadoop(Apache软件基金会所研
发的开放源码并行运算编程工具和分布式档案系统)此一云端运算平台下,利用
HBase此一云端快速索引储存机制,储存预先汇总结果来达成。熟悉该项技艺者
受限于现有较成熟的可用技术之下,一般也会推导得出这种设计,然而,完整
线上分析作业功能在云端实作时尚有许多困难须突破,并非可轻易达成者。目
前云端运算平台的限制在于快速索引储存机制单纯只有索引存取资料的功能,
预先汇总所需之关联(JOIN)、群组(GROUP BY)、计数(COUNT)、相异计数(DISTINCT
COUNT)、加总(SUM)、最大值(MAX)、最小值(MIN)、平均(AVG)等运算须另搭配
云端计算作业,例如具有MapReduce逻辑的平行处理过程,才能完成。先前技
术的作法是在资料处理阶段产生一套程式专案,由程式设计师修改撰写其中部
分MapReduce程式码后,交由系统执行预先汇总作业。此方式使得资料处理过
程中须有程式专业人员介入才能达成,使用上困难繁杂,亦容易出错。此外,
先前技术在线上分析作业中,是发展出一套http API介面指令,由专业人员下
达指令查询,取得回传的JSON(JavaScript Object Notation,JavaScript物
件表示法)格式资料,解析其中的数值。此方式同样须倚赖专业人员,并非适合
一般使用者操作的介面。

综上所述,先前技术需仰赖专业人员为每个资料处理工作撰写平行计算程
式码,并为每次查询下达指令分析回传结果,既困难繁杂又容易出错,实非一
良善之设计,而亟待加以改良。

发明内容

本发明云端线上即时多维度分析系统与方法的目的,在于揭露一种应用于
云端线上分析作业资料处理阶段的自动化技术,通过指令产生器依据中继资料
生成多层次汇总之指令及程序,自动完成预先汇总作业,无须专业人员介入。

本发明之次一目的在揭露一种于云端线上分析作业中实作枢纽分析表的方
法,提供直观、视觉化、所见即所得、即时互动的操作方式。

达成上述发明目的的云端线上即时多维度分析系统与方法,该系统包含一
个云端平行计算平台、复数个原始维度表、一个以上的原始事实表,以及一到
多个枢纽分析介面;该云端平行计算平台具有一个云端储存及计算模组、一个
云端快速存取模组、一到多个指令产生器、复数个中继资料以及一个即时多维
度分析模组;该原始维度表及该原始事实表通过上载传输介面上载至该云端平
行计算平台后储存于该云端储存及计算模组;该中继资料具有该上载储存资料
的内容及关联资讯;该指令产生器依据该中继资料产生指令,驱动该云端储存
及计算模组预先分析该上载储存资料,计算多维度汇总后,将分析结果及相关
资料转换储存于该云端快速存取模组以供即时呈现;该枢纽分析介面通过传输
介面与该即时多维度分析模组连接,且该即时多维度分析模组通过传输介面与
该云端快速存取模组连接以即时取得该分析结果及该相关资料;其特征为该指
令产生器是自动产生该多维度汇总及该资料转换所需的指令,自动完成该汇总
及该转换程序;以及使用者是透过该枢纽分析介面即时互动操作浏览枢纽分析
结果。该方法包含上载原始维度表及原始事实表至云端储存及计算模组、设定
中继资料、预先计算多维度分析结果储存于云端快速存取模组、转换维度及中
继资料至云端快速存取模组、即时呈现线上枢纽分析结果等步骤。

本发明所揭露的云端线上即时多维度分析系统与方法具备下列优点:

1.本发明将线上分析作业与云端技术结合,使系统具有线上动态增减资
源的扩充性,通过平行计算而大幅缩短处理时间,并能达成传统技术所无法做
到的超大维度分析,或非结构性之资料分析。

2.本发明通过指令产生器依据中继资料生成多层次汇总的指令及程序,
自动完成预先汇总作业,无须专业人员介入。

3.本发明以云端技术实作枢纽分析表,提供使用者直观、视觉化、所见
即所得、即时互动的操作方式。

附图说明

图1为本发明云端线上即时多维度分析系统架构示意图。

图2为本发明云端线上即时多维度分析系统的指令产生器与中继资料细部分解
图。

图3为本发明云端线上即时多维度分析方法的步骤图。

附图标记说明:

1、云端平行计算平台;11、云端储存及计算模组;12、云端快速存取模组;
13、指令产生器;131、汇总指令产生器;132、维度表转换指令产生器;133、
维度中继资料转换指令产生器;134、事实表中继资料转换指令产生器;14、中
继资料;141、维度表中继资料;142、事实表中继资料;15、即时多维度分析
模组;2、原始维度表;3、原始事实表;4、枢纽分析介面;1000、上载原始维
度表及原始事实表至云端储存及计算模组;2000、设定中继资料;3000、预先
计算多维度分析结果,储存于云端快速存取模组;4000、转换维度及中继资料
至云端快速存取模组;5000、即时呈现线上枢纽分析结果。

具体实施方式

请参阅图1、图2及图3所示,图1为本发明云端线上即时多维度分析系统
架构示意图;图2为本发明云端线上即时多维度分析系统的指令产生器与中继
资料细部分解图;图3为本发明云端线上即时多维度分析方法之步骤图。其相
关之实施方式说明于下:

图1揭露本发明云端线上即时多维度分析系统较佳实施例的架构。系统
包含一个云端平行计算平台1,具有一个云端储存及计算模组11,一个云端快
速存取模组12,一个到多个指令产生器13,复数个中继资料14以及一个即时
多维度分析模组15;于该云端平行计算平台1之外,尚有复数个原始维度表2
及一个以上待分析的原始事实表3,以及一到多个枢纽分析介面4。管理者将该
原始维度表2及原始事实表3上载至该云端平行计算平台1时,是储存于该云
端储存及计算模组11;且管理者设定的资料内容资讯以及资料间的关联资讯,
是储存于该中继资料14中;该指令产生器13是依据该中继资料14产生指令,
驱动该云端储存及计算模组11预先计算分析所储存的资料;该分析结果是储存
于该云端快速存取模组12以供即时呈现;该中继资料14中,即时呈现所需的
部分亦被转换储存至该云端快速存取模组12中;使用者是透过该枢纽分析介面
4即时互动操作浏览枢纽分析结果;该枢纽分析介面4是与该即时多维度分析模
组15连接,该即时多维度分析模组15与该云端快速存取模组12连接以即时取
得并呈现多维度分析结果。

该云端平行计算平台1是一个提供海量级资料分散式运算与储存的环境,
具容错能力、高可用性、高效能、弹性扩充等特性,熟悉该项技艺者可用Hadoop、
Amazon EC2(亚马逊弹性云端运算)、中华电信HiCloud(提供让使用者可以租用
云端电脑运行所需应用的服務)等平台达成。在该云端平台内,该云端储存及计
算模组11管理所储存的海量资料,并提供类似SQL指令的查询语言与执行介面,
管理者可用较高阶的语法描述所欲进行的计算,该模组会自动将其转换为
MapReduce的工作交由系统执行。欲提供功能较完整的多维度分析,该高阶查询
语言需能支援关联(JOIN)、群组(GROUP BY)、计数(COUNT)、相异计数(DISTINCT
COUNT)、加总(SUM)、最大值(MAX)、最小值(MIN)、平均(AVG)等计算,熟悉该
项技艺者可用Hive(数据仓库工具)、Pig(开源分布式云端数据库系统)等套件来
达成。此外,该云端快速存取模组12提供线上即时分析所需高速取得资料的能
力,资料以特殊索引方式存入后,该模组可在毫秒之内通过索引键将资料取出,
熟悉该项技艺者可采用以键-值(key-value)对应关系作为索引的BigTable(压
缩的、高效能的、高可扩展性的Google文件系统)、HBase(分布式数据库管理
系统列数据库)、Cassandra(开源分布式云端数据库系统)等套件来达成。

请参考图2本发明云端线上即时多维度分析系统飞指令产生器与中继资料
细部分解图,进一步揭露该指令产生器13及该中继资料14之细部架构。该指
令产生器13包含一到多个汇总指令产生器131、一到多个维度转换指令产生器
132、一到多个维度中继资料转换指令产生器133以及一到多个事实表中继资料
转换指令产生器134。该中继资料14包括一到多个维度表中继资料141及一到
多个事实表中继资料142。该汇总指令产生器131是读入该维度表中继资料141
及该事实表中继资料142后,据以产生所有可能分析面向的排列组合的汇总指
令,交由该云端储存及计算模组11来平行计算,并将回传的汇总结果依特殊索
引方式产生指令储存于该云端快速存取模组12。该维度表转换指令产生器132
是读入该维度表中继资料141后,据以产生维度表查询指令,向该云端储存及
计算模组11查询,并将回传的维度资料依特殊索引方式产生指令储存于该云端
快速存取模组12。该维度中继资料转换指令产生器133是读入该维度表中继资
料141后,产生指令将其依特殊索引方式转换储存于该云端快速存取模组12。
该事实表中继资料转换指令产生器134是读入该事实表中继资料142后,产生
指令将其依特殊索引方式转换储存于该云端快速存取模组12。

请参考图3本发明云端线上即时多维度分析方法的步骤图,进一步揭露在
上述架构之下如何达成本发明云端线上即时多维度分析的功能。首先在步骤
1000上载该原始维度表2及该原始事实表3至该云端储存及计算模组11。

该原始事实表3为待分析的资料,包含多笔纪录,每笔纪录具有一至多个
可汇总的栏位及一至多个用以区分的栏位,可汇总的栏位经汇总后形成多维度
分析中的量值(measure),用以区分的栏位则形成多维度分析中的维度
(dimension)。举一范例,假设该原始事实表3之一为客户基本资料,具有以下
栏位:

栏位名称栏位意义栏位型态多维度分析

customerID客户代码String  客户人数

gender性别Char(维度)

age年龄Integer最低年龄、最高年龄

city县市别String(维度)

salary年收入Integer平均年收入

industry行业别String(维度)

在多维度分析中是将其客户代码经相异计数(DISTINCT COUNT)计算汇总后
得到客户人数之量值;年龄经最小值(MIN)及最大值(MAX)计算汇总后得到最低
年龄、最高年龄之量值;年收入经平均(AVG)计算汇总后得到平均年收入之量值。
而性别、县市别、行业别则分别形成三个维度,用于不同的分析面向。熟悉该
项技艺者可任意将维度与量值排列组合来作多维度分析,例如在上例中可依不
同性别分析客户的最低年龄、最高年龄,或依不同行业别分析客户的平均年收
入,或依性别、县市别交叉分析其客户人数等。

该原始维度表2系列举各分析面向中可能出现代码值及其显示名称与展现
顺序。上述范例中有性别、县市别、行业别等三个分析面向,假设其可能出现
的值分别如下:

性别维度

代码值显示名称展现顺序

M男1

F女2

县市别维度

代码值显示名称展现顺序

TP  台北市  1

NT  新北市  2

TC  台中市  3

TN  台南市  4

KS  高雄市  5

OT  其它    6

行业别维度

代码值显示名称展现顺序

A农林渔牧业1

B矿业2

C制造业3

D营造业4

E服务业5

O其它6

熟悉该项技艺者可透过FTP(文件传输协议)、SFTP(SSH文件传输协议)、
HTTP(超文本传输协议)、HTTPS(超文本传输安全协议)、odbc(开放数据库互连)、
jdbc(Java数据库联机)等传输方法将上述原始资料上载至该云端平行计算平
台1的主机后,再以该云端储存及计算模组11所提供之应用程式介面(API)、
指令行命令(CLI)、图形化介面(GUI)等将资料汇入该模组,凡此种种方法的组
合皆应视为本步骤之等效实施。值得一提的是若上述该原始资料原本即储存在
该云端平行计算平台1,则本步骤可以省略,或只需做后半部汇入的动作。

接着于步骤2000中设定中继资料。此步骤主要将维度表以及事实表的资料
格式、相互关系记录于中继资料中,作为后续步骤的输入,帮助自动化处理。
上述范例中,该三组原始维度表2对应的中继资料内容如下:

维度代码  显示名称 维


表 代码栏位 名称栏位 序栏位

g性别dim_gender gender_code gender_name gender_order

c县市别dim_city city_code city_name city_order

i行业别dim_industry code name sorting

由于不同的多维度分析可能会有相同的分析面向,熟悉该项技艺者可建立
共用的维度中继资料。

上述范例中,该原始事实表3对应的中继资料内容如下:

分析报表名称客户分析

事实表来源customer

量值量值显示名称汇总计算方法及栏位

客户人数COUNT(DISTINCT customerID)

最低年龄MIN(age)

最高年龄MAX(age)

平均年收入AVG(salary)

维度维度栏位对应维度代码

gender  g

city  c

industry i

熟悉该项技艺者可提供图形化介面(GUI)引导使用者标示上述资料的性质,
不需要具备云端专业知识的人员介入,仅需对资料格式有所了解,甚至高阶使
用者本身即可胜任。

然后于步骤3000中预先计算多维度分析结果,储存于该云端快速存取模组
11。此步骤由该汇总指令产生器131读入该维度表中继资料141及该事实表中
继资料142后,对所有可能分析面向的排列组合产生汇总指令,交由该云端储
存及计算模组11执行,并将回传的汇总结果依特殊设计的索引方式储存于该云
端快速存取模组11中。

上述范例中,所有可能分析面向之排列组合计有:依县市别、依性别、依
行业别、县市别与性别交叉、性别与行业别交叉、县市别与性别与行业别交叉、
以及不区分全部加总等,以维度代码分别表示为c,g,i,cg,ci,gi,cgi,ALL。
熟习该项技艺者可用适当的程式语言如Python、C#、Perl、Java、C、C++等来
撰写该汇总指令产生器131,其中上述排列组合可用二进位列举来产生,如本范
例由三位数之二进位列举000、001、010、011、100、101、110、111,令三个
位元分别代表分析面向是否包含c、g、i,位元为1代表包含对应的分析面向,
则可产生ALL、i、g、gi、c、ci、cg、cgi之维度代码排列组合,熟悉该项技
艺者在处理上述代码组合时可依字母顺序排序以维持一致性。

该汇总指令产生器131依据该维度中继资料141及该事实表中继资料142
可产生所有维度组合之汇总指令,例如依县市别与性别与行业别交叉分析之汇
总指令为:

SELECT

CONCAT(c.city_code,’,’,g.gender_code,’,’,i.code),

COUNT(DISTINCT f.CustomerID),

MIN(f.age),

MAX(f.age),

AVG(f.salary)

FROM

customer f

LEFT OUTER JOIN dim_city c ON f.city=j.code

LEFT OUTER JOIN dim_gender g ON f.gender=g.gender_code

LEFT OUTER JOIN dim_industry i ON f.indus try=i.code

GROUP BY

c.city_code,g.gender_code,i.code;

上述汇总指令交由该云端储存及计算模组11执行后,将所得汇总结果依键
-值(key-value)关系索引储存于该云端快速存取模组12以供后续步骤快速取
出,储存时以维度代码组合为列索引键,维度值之组合加上量值顺序为行索引
键。举例说明,假设上例中其中一笔传回之汇总结果「TP,M,E 657375
2855782596」,代表台北市男性服务业的客户人数为657375人,年龄范围
在28岁到55岁,平均年薪为782596元,其指令为:

put ‘customer_analysis’,‘cgi’,‘m:TP,M,E:1’,‘657375’

put‘customer_analysis’,‘cgi’,‘m:TP,M,E:2’,‘28’

put‘customer_ana lysis’,‘cgi’,‘m:TP,M,E:3’,‘55’

put‘customer_analysis’,‘cgi’,‘m:TP,M,E:4’,‘782596’

其中customer_analysis为对应此事实表汇总之表格名称,可由使用者指
定或系统自动产生。产生指令的规则,即存放维度代码组合为cgi、维度值组合
为TP,M,E的第1个量值时,其列索引键为cgi,行索引键为m:TP,M,E:1,其余
情况皆以此类推。

该维度表中继资料141及该事实表中继资料具备产生上述汇总指令及储存
指令所需的完整资讯。熟悉该项技艺者据此撰写程式将中继资料套进指令中,
并处理资料的输入与输出,即可完成该汇总指令指令产生器131。

步骤4000转换维度及中继资料至云端快速存取模组可与上述步骤3000同
时进行。需转换储存的资料包括维度表、维度中继资料、及事实表中继资料等,
分别由该维度表转换指令产生器132、该维度中继资料转换指令产生器133及该
事实表中继资料转换指令产生器134完成。

上述范例中,以县市别维度为例,该维度表转换指令产生器132系依据该
维度表中继资料141产生以下维度表查询指令:

select city_code,city_name from dim_city order by city_order;

向该云端储存及计算模组11查询,并将回传之维度资料依键-值(key-value)
关系索引储存于该云端快速存取模组12以供后续步骤快速取出,储存时以维度
代码为列索引键,以特定关键字如first作为行索引键索引第一个维度值,接
着以维度值配合另一特定关键字如next作为行索引键索引下一个维度值,直到
整个维度表皆能索引到为止;每个维度值以又另一特定关键字如name作为行索
引键索引该维度值之显示名称。以上述县市别维度为例其指令为:

put ‘dimensions’,‘c’,‘d:first’,‘TP’

put ‘dimensions’,‘c’,‘d:name:TP’,‘台北市’

put ‘dimensions’,‘c’,‘d:next:TP’,‘NT’

put ‘dimensions’,‘c’,‘d:name:NT’,‘新北市’

put ‘dimensions’,‘c’,‘d:next:NT’,‘TC’

put ‘dimensions’,‘c’,‘d:name:TC’,‘台中市’

put ‘dimensions’,‘c’,‘d:next:TC’,‘TN’

put ‘dimensions’,‘c’,‘d:name:TN’,‘台南市’

put ‘dimensions’,‘c’,‘d:next:TN’,‘KS’

put ‘dimensions’,‘c’,‘d:name:KS’,‘高雄市’

put ‘dimensions’,‘c’,‘d:next:KS’,‘OT’

put ‘dimensions’,‘c’,‘d:name:OT’,‘其它’

其中dimensions为系统储存维度资讯的表格名称。产生指令的规则,即以
维度代码c为列索引键,利用关键字first索引第一个维度值,并以各维度值
及关键字next索引下一个维度值,并以各维度值及关键字name索引该维度值
之显示名称。熟悉该项技艺者据此撰写程式将中继资料套进指令中,并处理资
料的输入与输出,即可完成该维度表转换指令产生器132。

上述范例中,该维度中继资料转换指令产生器133系依据该维度表中继资
料141产生以下指令,将其依键-值(key-value)关系索引储存于该云端快速存
取模组12:

put ‘dimensions’,‘g’,‘d:dimname’,‘性别’

put ‘dimensions’,‘c’,‘d:dimname’,‘县市别’

put ‘dimensions’,‘i’,‘d:dimname’,‘行业别’

产生指令的规则,即以维度代码为列索引,配合关键字dimname来索引其
维度名称。熟悉该项技艺者据此撰写程式将中继资料套进指令中,并处理资料
的输入与输出,即可完成该维度中继资料转换指令产生器133。

上述范例中,该事实表中继资料转换指令产生器134系依据该事实表中继
资料142产生以下指令,将其依键-值(key-value)关系索引储存于该云端快速
存取模组12:

put ‘customer_analysis’,‘cube’,‘m:cubename’,‘客户分析’

put ‘customer_analysis’,‘cube’,‘m:dimensions’,‘cgi’

put ‘customer_analysis’,‘measures’,‘m:count’,‘4’

put ‘customer_analysis’,‘measures’,‘m:name:1’,‘客户人数’

put ‘customer_analysis’,‘measures’,‘m:name:2’,‘最低年龄’

put ‘customer_analysis’,‘measures’,‘m:name:3’,‘最高年龄’

put ‘customer_analysis’,‘measures’,‘m:name:4’,‘平均年收
入’

产生指令的规则,即以关键字cube为列索引,配合关键字cubename来索
引分析报表名称,及关键字dimensions来索引所有维度代码。此外并以关键字
measures为另一列索引,配合关键字count来索引共有多少个量值,及关键字
name配合量值序号来索引该量值之名称。熟悉该项技艺者据此撰写程式将中继
资料套进指令中,并处理资料之输入与输出,即可完成该事实表中继资料转换
指令产生器134。

最后在步骤5000中即时呈现线上枢纽分析结果。使用者透过该枢纽分析介
面4动态改变维度、量值来安排呈现的方式时,该枢纽分析介面4是通过该即
时多维度分析模组15向该云端快速存取模组12动态取得分析报表中对应的资
讯来即时呈现。动态枢纽分析报表中通常须显示分析报表名称,并将分析报表
所有可分析维度列出让使用者动态改变;使用者操作设定欲分析的面向并安排
其行、列位置后,动态枢纽分析表显示目前交叉分析名称,并于行、列标头各
显示指定维度所有项目名称,以及于资料区中显示量值名称,及特定维度交叉
条件下对应量值之汇总值。该即时多维度分析模组15向该云端快速存取模组12
动态取得上述资讯的方法,分别说明如下。

取得分析报表名称的方法,即如上所述规则,以关键字cube为列索引,配
合关键字cubename的索引方式取出。上述范利取得分析报表名称之指令为:

get ‘customer_analysis’,‘cube’,‘m:cubename’

取得分析报表所有可分析维度的方法,即如上所述规则,以关键字cube为
列索引,配合关键字dimensions之索引方式取出。上述范利取得分析报表所有
可分析维度之指令为:

get ‘customer_analysis’,‘cube’,‘m:dimensions’

显示目前交叉分析名称的方法,即如上所述规则,以维度代码为列索引,
配合关键字dimname来索引其维度名称,将目前交叉分析之各维度名称取出以
显示其组合。以上述范例的县市别为例,维度代码为c,取得维度名称的指令为:

get ‘dimensions’,‘c’,‘d:dimname’

取得维度所有项目值及名称的方法,即如上所述规则,以维度代码为列索
引键,以关键字first作为行索引键索引第一个维度值,接着以维度值配合另
一关键字next作为行索引键索引下一个维度值,直到整个维度表皆能索引到为
止;每个维度值以又另一关键字name作为行索引键索引该维度值之显示名称。
以上述范例之县市别别为例,取得维度所有项目值及名称的指令为:

get  ‘dimensions’,‘c’,‘d:first’取得「TP」

get  ‘dimensions’,‘c’,‘d:name:TP’取得「台北市」

get  ‘dimensions’,‘c’,‘d:next:TP’取得「NT」

get  ‘dimensions’,‘c’,‘d:name:NT’取得「新北市」

get  ‘dimensions’,‘c’,‘d:next:NT’取得「TC」

get  ‘dimensions’,‘c’,‘d:name:TC’取得「台中市」

get  ‘dimensions’,‘c’,‘d:next:TC’取得「TN」

get  ‘dimensions’,‘c’,‘d:name:TN’取得「台南市」

get  ‘dimensions’,‘c’,‘d:next:TN’取得「KS」

get  ‘dimensions’,‘c’,‘d:name:KS’取得「高雄市」

get  ‘dimensions’,‘c’,‘d:next:KS’取得「OT」

get  ‘dimensions’,‘c’,‘d:name:OT’取得「其它」

显示量值名称的方法,首先取得量值个数,再依序取得各量值名称。取得
量值个数的方法,即如上所述规则,以关键字measures为一列索引,配合关键
字count来索引共有多少个量值。上述范例中取得量值个数的指令为:

get  ‘customer_analysis’,‘measures’,‘m:count’

接着依序取得各量值名称,即如上所述规则,以关键字measures为列索引,
并以关键字name配合量值序号来索引该量值之名称。上述范例中依序取得各量
值名称的指令为:

get  ‘customer_analysis’,‘measures’,‘m:name:1’

get  ‘customer_analysis’,‘measures’,‘m:name:2’

get  ‘customer_analysis’,‘measures’,‘m:name:3’

get  ‘customer_analysis’,‘measures’,‘m:name:4’

取得特定维度交叉条件下对应量值之汇总值的方法,即如上所述规则,以
维度代码组合为列索引键,维度值之组合加上量值顺序为行索引键。例如在县
市别、性别交叉分析下,取得台中市男性的平均年收入,其指令为:

get  ‘customer_analysis’,‘cg’,‘m:TC,M:4’

其中cg为县市别、性别交叉分析之索引键,TC,M为台中市男性之索引键,
而4为平均年收入之索引键。

该枢纽分析介面4之多维度分析操作方式,可包括向下钻研(Drill Down)、
向上小计(Roll Up)、切片(Slice)、切块(Dice)、跨越钻研(Drill Across)、
穿透分析(Drill Through)等,熟习该项技艺者皆可撰写程式依据上述存取方法
来达成。

上列详细说明乃针对本发明之一可行实施例进行具体说明,惟该实施例并
非用以限制本发明之专利范围,凡未脱离本发明技艺精神所为之等效实施或变
更,均应包含于本案之专利范围中。

云端线上即时多维度分析系统与方法.pdf_第1页
第1页 / 共15页
云端线上即时多维度分析系统与方法.pdf_第2页
第2页 / 共15页
云端线上即时多维度分析系统与方法.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《云端线上即时多维度分析系统与方法.pdf》由会员分享,可在线阅读,更多相关《云端线上即时多维度分析系统与方法.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102819616 A (43)申请公布日 2012.12.12 C N 1 0 2 8 1 9 6 1 6 A *CN102819616A* (21)申请号 201210325232.5 (22)申请日 2012.09.05 100149085 2011.12.28 TW G06F 17/30(2006.01) G06F 19/00(2011.01) H04L 29/08(2006.01) (71)申请人中华电信股份有限公司 地址中国台湾桃园县杨梅市新荣里民族路 5段551巷12号 (72)发明人林志鸿 杨德邵 (74)专利代理机构广州华进联合专利商标代理 有限公司。

2、 44224 代理人郑彤 万志香 (54) 发明名称 云端线上即时多维度分析系统与方法 (57) 摘要 一种应用于云端线上分析作业资料处理阶段 的自动化技术,通过指令产生器依据中继资料生 成多层次汇总的指令及程序,自动完成预先汇总 作业,无须专业人员介入。本发明亦揭露一种于云 端线上分析作业中实作枢纽分析表的方法,提供 直观、视觉化、所见即所得、即时互动的操作方式。 本发明所有作业皆在云端平台内,利用现有云端 运算技术来处理,将线上分析作业与云端技术结 合,将使系统具有线上动态增减资源的扩充性,通 过平行计算而大幅缩短处理时间,并能达成传统 技术所无法做到的超大维度分析,或非结构性的 资料分析。

3、。 (30)优先权数据 (51)Int.Cl. 权利要求书2页 说明书10页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 10 页 附图 2 页 1/2页 2 1.一种云端线上即时多维度分析系统,包含: 云端平行计算平台,其包含云端储存及计算模组、云端快速存取模组、指令产生器、中 继资料以及即时多维度分析模组; 原始维度表及原始事实表,是通过上载传输介面上载至该云端平行计算平台后储存于 该云端储存及计算模组;以及 枢纽分析介面,该枢纽分析介面通过传输介面与该即时多维度分析模组连接,且该即 时多维度分析模组通过传输介面与该云端快速存取模组连接。

4、以即时取得该分析结果及该 相关资料; 该中继资料具有该上载储存资料的内容及关联资讯;该指令产生器依据该中继资料产 生指令,驱动该云端储存及计算模组预先分析该上载储存资料,计算多维度汇总后,将分析 结果及相关资料转换储存于该云端快速存取模组以供即时呈现;该多维度汇总及该资料转 换所需的指令是自动产生,并提供使用者透过该枢纽分析介面即时互动操作浏览枢纽分析 结果。 2.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述云端平行计 算平台是包含:Hadoop、Amazon EC2以及中华电信HiCloud。 3.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述云端储存及 计。

5、算模组提供高阶查询语言与执行介面,并支援该多维度汇总所需的运算者。 4.如权利要求3所述的云端线上即时多维度分析系统,其特征在于,高阶查询语言所 支援的所需运算包含:关联、群组、计数、相异计数、加总、最大值、最小值、平均。 5.如权利要求4所述的云端线上即时多维度分析系统,其特征在于,所述云端储存及 计算模组为:Hive或Pig。 6.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述云端快速存 取模组为下列之一者:BigTable、HBase或Cassandra。 7.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述该上载传输 介面为下列之一者:FTP、SFTP、H。

6、TTP、HTTPS、odbc或jdbc。 8.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述中继资料包 含下列之一项或一项以上者:各维度表储存位置、各维度显示名称、各维度项目显示名称、 各事实表储存位置、各事实表可分析维度、各事实表可汇总量值、各量值显示名称、各量值 汇总方法。 9.如权利要求1所述的云端线上即时多维度分析系统,其特征在于,所述枢纽分析介 面操作方式包含下列之一项或一项以上者:动态改变维度或量值之安排呈现方式、向下钻 研、向上小计、切片、切块、跨越钻研、穿透分析。 10.一种云端线上即时多维度分析方法,包含以下步骤: (1)上载该原始维度表及该原始事实表至该云端。

7、储存及计算模组; (2)设定该中继资料; (3)预先计算该多维度分析结果储存于该云端快速存取模组、转换维度及该中继资料 至该云端快速存取模组、即时呈现线上枢纽分析结果。 11.如权利要求10所述的云端线上即时多维度分析方法,其特征在于,所述原始维度 表及该原始事实表原本即储存在该云端平行计算平台,而省略该上载原始维度表及原始事 权 利 要 求 书CN 102819616 A 2/2页 3 实表至云端储存及计算模组的步骤者。 12.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所述预 先计算多维度分析结果步骤,是由一到多个指令产生器依据该中继资料产生指令自动执行 者。 13.。

8、如权利要求12所述的云端线上即时多维度分析方法,其特征在于,所述指令产生 器依据该中继资料产生指令时,是以二进位列举来产生所有可能分析面向的排列组合者。 14.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所述预 先计算多维度分析结果储存于云端快速存取模组步骤,是将汇总结果依键-值关系索引储 存,且以维度代码组合为列索引键,维度值之组合加上量值顺序为行索引键者。 15.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所述转 换维度至云端快速存取模组步骤,是将维度表依键-值关系索引储存于该云端快速存取模 组,且以维度代码为列索引键,一特定关键字用以索引第一个。

9、维度值,以各维度值配合另一 特定关键字索引下一个维度值,并以各维度值配合又另一特定关键字索引该维度值之显示 名称者。 权 利 要 求 书CN 102819616 A 1/10页 4 云端线上即时多维度分析系统与方法 技术领域 0001 本发明属于云端运算(Cloud Computing)领域,特别涉及云端线上即时多维度分 析系统与方法。 背景技术 0002 线上分析作业(Online Analytical Process,OLAP)技术,主要与线上交易作业 (Online Transaction Process,OLTP)作区别。线上交易处理即为一般的资料新增删除修 改查询作业,而线上分析作业。

10、则着重于查询与分析,主要态样为提供资料的各面向及多维 度即时分析,近年来已是商业智慧技术基础且重要的一环。 0003 随着云端运算技术的蓬勃发展,云端服务或系统对资料处理能力及储存容量几乎 可无限制动态扩充,伴随而来的是待分析的资料动辄为规模在数百Terabytes以上的海量 等级,远远超过传统OLAP伺服器所能处理的范围,如何将商业智慧技术推展应用于云端运 算平台成为一大课题。将线上分析作业与云端技术结合,将使系统具有线上动态增减资源 的扩充性,通过平行计算而大幅缩短处理时间,并能达成传统技术所无法做到的超大维度 分析,或非结构性的资料分析。目前在云端运算平台所发展出的线上分析技术较成熟的有。

11、 Pig OLAP sketch和Zohmg等。 0004 Pig OLAP sketch的作法是将资料汇整处理,使资料量大幅减低至传统OLAP伺服 器能处理的范围,然后汇出至云端平台外部,由外部的传统OLAP伺服器来提供即时分析显 示的功效。此作法固然可以达到对云内资料作线上分析的目的,但平添了将资料汇出至云 外并汇入传统OLAP伺服器的动作,增加作业复杂度。此外,将资料汇出至云外后将无法利 用云端架构之可扩充性与平行计算等优点,能处理的资料量会受限于该OLAP伺服器的计 算能力与储存空间,亦无法达成超大维度与非结构化资料的分析。 0005 而Zohmg则是所有作业皆在云端平台内,利用现有云。

12、端运算技术来处理,为与本 发明最接近的先前技术,故本章节的探讨主要以此先前技术作为比较对象。 0006 传统线上分析作业为提高查询阶段的效率而采用一种预先处理的技巧,将资料依 各层面分析的汇总值预先计算好,储存成多维结构(MOLAP)或关连结构(ROLAP)或混合结 构(HOLAP)的方块(Cube),在查询阶段因只需依索引取得预先汇总结果而缩短反应时间, 满足线上分析即时性的需求。多维结构多半储存为档案,通过索引档案位移量直接存取来 加快速度,关联结构则储存于关联式资料库,利用其索引的能力来快速取值。然而在云端运 算架构中皆无这些技巧可用,因而须另寻其它的方法来取代。 0007 为提供云端即。

13、时线上分析,先前技术是在Hadoop(Apache软件基金会所研发的开 放源码并行运算编程工具和分布式档案系统)此一云端运算平台下,利用HBase此一云端 快速索引储存机制,储存预先汇总结果来达成。熟悉该项技艺者受限于现有较成熟的可用 技术之下,一般也会推导得出这种设计,然而,完整线上分析作业功能在云端实作时尚有许 多困难须突破,并非可轻易达成者。目前云端运算平台的限制在于快速索引储存机制单纯 只有索引存取资料的功能,预先汇总所需之关联(JOIN)、群组(GROUP BY)、计数(COUNT)、 说 明 书CN 102819616 A 2/10页 5 相异计数(DISTINCTCOUNT)、加。

14、总(SUM)、最大值(MAX)、最小值(MIN)、平均(AVG)等运算 须另搭配云端计算作业,例如具有MapReduce逻辑的平行处理过程,才能完成。先前技术 的作法是在资料处理阶段产生一套程式专案,由程式设计师修改撰写其中部分MapReduce 程式码后,交由系统执行预先汇总作业。此方式使得资料处理过程中须有程式专业人员介 入才能达成,使用上困难繁杂,亦容易出错。此外,先前技术在线上分析作业中,是发展出 一套http API介面指令,由专业人员下达指令查询,取得回传的JSON(JavaScript Object Notation,JavaScript物件表示法)格式资料,解析其中的数值。此方。

15、式同样须倚赖专业 人员,并非适合一般使用者操作的介面。 0008 综上所述,先前技术需仰赖专业人员为每个资料处理工作撰写平行计算程式码, 并为每次查询下达指令分析回传结果,既困难繁杂又容易出错,实非一良善之设计,而亟待 加以改良。 发明内容 0009 本发明云端线上即时多维度分析系统与方法的目的,在于揭露一种应用于云端线 上分析作业资料处理阶段的自动化技术,通过指令产生器依据中继资料生成多层次汇总之 指令及程序,自动完成预先汇总作业,无须专业人员介入。 0010 本发明之次一目的在揭露一种于云端线上分析作业中实作枢纽分析表的方法,提 供直观、视觉化、所见即所得、即时互动的操作方式。 0011 。

16、达成上述发明目的的云端线上即时多维度分析系统与方法,该系统包含一个云端 平行计算平台、复数个原始维度表、一个以上的原始事实表,以及一到多个枢纽分析介面; 该云端平行计算平台具有一个云端储存及计算模组、一个云端快速存取模组、一到多个指 令产生器、复数个中继资料以及一个即时多维度分析模组;该原始维度表及该原始事实表 通过上载传输介面上载至该云端平行计算平台后储存于该云端储存及计算模组;该中继资 料具有该上载储存资料的内容及关联资讯;该指令产生器依据该中继资料产生指令,驱动 该云端储存及计算模组预先分析该上载储存资料,计算多维度汇总后,将分析结果及相关 资料转换储存于该云端快速存取模组以供即时呈现;。

17、该枢纽分析介面通过传输介面与该即 时多维度分析模组连接,且该即时多维度分析模组通过传输介面与该云端快速存取模组连 接以即时取得该分析结果及该相关资料;其特征为该指令产生器是自动产生该多维度汇总 及该资料转换所需的指令,自动完成该汇总及该转换程序;以及使用者是透过该枢纽分析 介面即时互动操作浏览枢纽分析结果。该方法包含上载原始维度表及原始事实表至云端储 存及计算模组、设定中继资料、预先计算多维度分析结果储存于云端快速存取模组、转换维 度及中继资料至云端快速存取模组、即时呈现线上枢纽分析结果等步骤。 0012 本发明所揭露的云端线上即时多维度分析系统与方法具备下列优点: 0013 1.本发明将线上。

18、分析作业与云端技术结合,使系统具有线上动态增减资源的扩充 性,通过平行计算而大幅缩短处理时间,并能达成传统技术所无法做到的超大维度分析,或 非结构性之资料分析。 0014 2.本发明通过指令产生器依据中继资料生成多层次汇总的指令及程序,自动完成 预先汇总作业,无须专业人员介入。 0015 3.本发明以云端技术实作枢纽分析表,提供使用者直观、视觉化、所见即所得、即 说 明 书CN 102819616 A 3/10页 6 时互动的操作方式。 附图说明 0016 图1为本发明云端线上即时多维度分析系统架构示意图。 0017 图2为本发明云端线上即时多维度分析系统的指令产生器与中继资料细部分解 图。 。

19、0018 图3为本发明云端线上即时多维度分析方法的步骤图。 0019 附图标记说明: 0020 1、云端平行计算平台;11、云端储存及计算模组;12、云端快速存取模组;13、指令 产生器;131、汇总指令产生器;132、维度表转换指令产生器;133、维度中继资料转换指令 产生器;134、事实表中继资料转换指令产生器;14、中继资料;141、维度表中继资料;142、 事实表中继资料;15、即时多维度分析模组;2、原始维度表;3、原始事实表;4、枢纽分析 介面;1000、上载原始维度表及原始事实表至云端储存及计算模组;2000、设定中继资料; 3000、预先计算多维度分析结果,储存于云端快速存取模。

20、组;4000、转换维度及中继资料至 云端快速存取模组;5000、即时呈现线上枢纽分析结果。 具体实施方式 0021 请参阅图1、图2及图3所示,图1为本发明云端线上即时多维度分析系统架构示 意图;图2为本发明云端线上即时多维度分析系统的指令产生器与中继资料细部分解图; 图3为本发明云端线上即时多维度分析方法之步骤图。其相关之实施方式说明于下: 0022 图1揭露本发明云端线上即时多维度分析系统较佳实施例的架构。系统包含一个 云端平行计算平台1,具有一个云端储存及计算模组11,一个云端快速存取模组12,一个到 多个指令产生器13,复数个中继资料14以及一个即时多维度分析模组15;于该云端平行计 。

21、算平台1之外,尚有复数个原始维度表2及一个以上待分析的原始事实表3,以及一到多个 枢纽分析介面4。管理者将该原始维度表2及原始事实表3上载至该云端平行计算平台1 时,是储存于该云端储存及计算模组11;且管理者设定的资料内容资讯以及资料间的关联 资讯,是储存于该中继资料14中;该指令产生器13是依据该中继资料14产生指令,驱动该 云端储存及计算模组11预先计算分析所储存的资料;该分析结果是储存于该云端快速存 取模组12以供即时呈现;该中继资料14中,即时呈现所需的部分亦被转换储存至该云端快 速存取模组12中;使用者是透过该枢纽分析介面4即时互动操作浏览枢纽分析结果;该枢 纽分析介面4是与该即时多。

22、维度分析模组15连接,该即时多维度分析模组15与该云端快 速存取模组12连接以即时取得并呈现多维度分析结果。 0023 该云端平行计算平台1是一个提供海量级资料分散式运算与储存的环境,具容错 能力、高可用性、高效能、弹性扩充等特性,熟悉该项技艺者可用Hadoop、Amazon EC2(亚马 逊弹性云端运算)、中华电信HiCloud(提供让使用者可以租用云端电脑运行所需应用的 服務)等平台达成。在该云端平台内,该云端储存及计算模组11管理所储存的海量资料, 并提供类似SQL指令的查询语言与执行介面,管理者可用较高阶的语法描述所欲进行的计 算,该模组会自动将其转换为MapReduce的工作交由系统。

23、执行。欲提供功能较完整的多维 度分析,该高阶查询语言需能支援关联(JOIN)、群组(GROUP BY)、计数(COUNT)、相异计数 说 明 书CN 102819616 A 4/10页 7 (DISTINCTCOUNT)、加总(SUM)、最大值(MAX)、最小值(MIN)、平均(AVG)等计算,熟悉该项技 艺者可用Hive(数据仓库工具)、Pig(开源分布式云端数据库系统)等套件来达成。此外, 该云端快速存取模组12提供线上即时分析所需高速取得资料的能力,资料以特殊索引方 式存入后,该模组可在毫秒之内通过索引键将资料取出,熟悉该项技艺者可采用以键-值 (key-value)对应关系作为索引的B。

24、igTable(压缩的、高效能的、高可扩展性的Google文件 系统)、HBase(分布式数据库管理系统列数据库)、Cassandra(开源分布式云端数据库系 统)等套件来达成。 0024 请参考图2本发明云端线上即时多维度分析系统飞指令产生器与中继资料细部 分解图,进一步揭露该指令产生器13及该中继资料14之细部架构。该指令产生器13包含 一到多个汇总指令产生器131、一到多个维度转换指令产生器132、一到多个维度中继资料 转换指令产生器133以及一到多个事实表中继资料转换指令产生器134。该中继资料14包 括一到多个维度表中继资料141及一到多个事实表中继资料142。该汇总指令产生器131。

25、 是读入该维度表中继资料141及该事实表中继资料142后,据以产生所有可能分析面向的 排列组合的汇总指令,交由该云端储存及计算模组11来平行计算,并将回传的汇总结果依 特殊索引方式产生指令储存于该云端快速存取模组12。该维度表转换指令产生器132是读 入该维度表中继资料141后,据以产生维度表查询指令,向该云端储存及计算模组11查询, 并将回传的维度资料依特殊索引方式产生指令储存于该云端快速存取模组12。该维度中继 资料转换指令产生器133是读入该维度表中继资料141后,产生指令将其依特殊索引方式 转换储存于该云端快速存取模组12。该事实表中继资料转换指令产生器134是读入该事实 表中继资料1。

26、42后,产生指令将其依特殊索引方式转换储存于该云端快速存取模组12。 0025 请参考图3本发明云端线上即时多维度分析方法的步骤图,进一步揭露在上述架 构之下如何达成本发明云端线上即时多维度分析的功能。首先在步骤1000上载该原始维 度表2及该原始事实表3至该云端储存及计算模组11。 0026 该原始事实表3为待分析的资料,包含多笔纪录,每笔纪录具有一至多个可汇 总的栏位及一至多个用以区分的栏位,可汇总的栏位经汇总后形成多维度分析中的量值 (measure),用以区分的栏位则形成多维度分析中的维度(dimension)。举一范例,假设该原 始事实表3之一为客户基本资料,具有以下栏位: 0027。

27、 栏位名称栏位意义栏位型态多维度分析 0028 customerID客户代码String 客户人数 0029 gender性别Char(维度) 0030 age年龄Integer最低年龄、最高年龄 0031 city县市别String(维度) 0032 salary年收入Integer平均年收入 0033 industry行业别String(维度) 0034 在多维度分析中是将其客户代码经相异计数(DISTINCT COUNT)计算汇总后得到 客户人数之量值;年龄经最小值(MIN)及最大值(MAX)计算汇总后得到最低年龄、最高年龄 之量值;年收入经平均(AVG)计算汇总后得到平均年收入之量值。。

28、而性别、县市别、行业别 则分别形成三个维度,用于不同的分析面向。熟悉该项技艺者可任意将维度与量值排列组 合来作多维度分析,例如在上例中可依不同性别分析客户的最低年龄、最高年龄,或依不同 说 明 书CN 102819616 A 5/10页 8 行业别分析客户的平均年收入,或依性别、县市别交叉分析其客户人数等。 0035 该原始维度表2系列举各分析面向中可能出现代码值及其显示名称与展现顺序。 上述范例中有性别、县市别、行业别等三个分析面向,假设其可能出现的值分别如下: 0036 性别维度 0037 代码值显示名称展现顺序 0038 M男1 0039 F女2 0040 县市别维度 0041 代码值显。

29、示名称展现顺序 0042 TP 台北市 1 0043 NT 新北市 2 0044 TC 台中市 3 0045 TN 台南市 4 0046 KS 高雄市 5 0047 OT 其它 6 0048 行业别维度 0049 代码值显示名称展现顺序 0050 A农林渔牧业1 0051 B矿业2 0052 C制造业3 0053 D营造业4 0054 E服务业5 0055 O其它6 0056 熟悉该项技艺者可透过FTP(文件传输协议)、SFTP(SSH文件传输协议)、HTTP(超 文本传输协议)、HTTPS(超文本传输安全协议)、odbc(开放数据库互连)、jdbc(Java数据 库联机)等传输方法将上述原始。

30、资料上载至该云端平行计算平台1的主机后,再以该云端 储存及计算模组11所提供之应用程式介面(API)、指令行命令(CLI)、图形化介面(GUI)等 将资料汇入该模组,凡此种种方法的组合皆应视为本步骤之等效实施。值得一提的是若上 述该原始资料原本即储存在该云端平行计算平台1,则本步骤可以省略,或只需做后半部汇 入的动作。 0057 接着于步骤2000中设定中继资料。此步骤主要将维度表以及事实表的资料格式、 相互关系记录于中继资料中,作为后续步骤的输入,帮助自动化处理。上述范例中,该三组 原始维度表2对应的中继资料内容如下: 0058 维度代码 显示名称 维 0059 度 0060 表 代码栏位 。

31、名称栏位 序栏位 0061 g性别dim_gender gender_code gender_name gender_order 0062 c县市别dim_city city_code city_name city_order 0063 i行业别dim_industry code name sorting 说 明 书CN 102819616 A 6/10页 9 0064 由于不同的多维度分析可能会有相同的分析面向,熟悉该项技艺者可建立共用的 维度中继资料。 0065 上述范例中,该原始事实表3对应的中继资料内容如下: 0066 分析报表名称客户分析 0067 事实表来源customer 006。

32、8 量值量值显示名称汇总计算方法及栏位 0069 客户人数COUNT(DISTINCT customerID) 0070 最低年龄MIN(age) 0071 最高年龄MAX(age) 0072 平均年收入AVG(salary) 0073 维度维度栏位对应维度代码 0074 gender g 0075 city c 0076 industry i 0077 熟悉该项技艺者可提供图形化介面(GUI)引导使用者标示上述资料的性质,不需 要具备云端专业知识的人员介入,仅需对资料格式有所了解,甚至高阶使用者本身即可胜 任。 0078 然后于步骤3000中预先计算多维度分析结果,储存于该云端快速存取模组1。

33、1。此 步骤由该汇总指令产生器131读入该维度表中继资料141及该事实表中继资料142后,对 所有可能分析面向的排列组合产生汇总指令,交由该云端储存及计算模组11执行,并将回 传的汇总结果依特殊设计的索引方式储存于该云端快速存取模组11中。 0079 上述范例中,所有可能分析面向之排列组合计有:依县市别、依性别、依行业别、 县市别与性别交叉、性别与行业别交叉、县市别与性别与行业别交叉、以及不区分全部加总 等,以维度代码分别表示为c,g,i,cg,ci,gi,cgi,ALL。熟习该项技艺者可用适当的程式 语言如Python、C#、Perl、Java、C、C+等来撰写该汇总指令产生器131,其中上。

34、述排列组合 可用二进位列举来产生,如本范例由三位数之二进位列举000、001、010、011、100、101、110、 111,令三个位元分别代表分析面向是否包含c、g、i,位元为1代表包含对应的分析面向,则 可产生ALL、i、g、gi、c、ci、cg、cgi之维度代码排列组合,熟悉该项技艺者在处理上述代码 组合时可依字母顺序排序以维持一致性。 0080 该汇总指令产生器131依据该维度中继资料141及该事实表中继资料142可产生 所有维度组合之汇总指令,例如依县市别与性别与行业别交叉分析之汇总指令为: 0081 SELECT 0082 CONCAT(c.city_code,g.gender_。

35、code,i.code), 0083 COUNT(DISTINCT f.CustomerID), 0084 MIN(f.age), 0085 MAX(f.age), 0086 AVG(f.salary) 0087 FROM 0088 customer f 说 明 书CN 102819616 A 7/10页 10 0089 LEFT OUTER JOIN dim_city c ON f.cityj.code 0090 LEFT OUTER JOIN dim_gender g ON f.genderg.gender_code 0091 LEFT OUTER JOIN dim_industry i 。

36、ON f.indus tryi.code 0092 GROUP BY 0093 c.city_code,g.gender_code,i.code; 0094 上述汇总指令交由该云端储存及计算模组11执行后,将所得汇总结果依键-值 (key-value)关系索引储存于该云端快速存取模组12以供后续步骤快速取出,储存时以维 度代码组合为列索引键,维度值之组合加上量值顺序为行索引键。举例说明,假设上例中其 中一笔传回之汇总结果TP,M,E 6573752855782596,代表台北市男性服务业的客户人数 为657375人,年龄范围在28岁到55岁,平均年薪为782596元,其指令为: 0095 pu。

37、t customer_analysis,cgi,m:TP,M,E:1,657375 0096 putcustomer_analysis,cgi,m:TP,M,E:2,28 0097 putcustomer_ana lysis,cgi,m:TP,M,E:3,55 0098 putcustomer_analysis,cgi,m:TP,M,E:4,782596 0099 其中customer_analysis为对应此事实表汇总之表格名称,可由使用者指定或系 统自动产生。产生指令的规则,即存放维度代码组合为cgi、维度值组合为TP,M,E的第1 个量值时,其列索引键为cgi,行索引键为m:TP,M,E。

38、:1,其余情况皆以此类推。 0100 该维度表中继资料141及该事实表中继资料具备产生上述汇总指令及储存指令 所需的完整资讯。熟悉该项技艺者据此撰写程式将中继资料套进指令中,并处理资料的输 入与输出,即可完成该汇总指令指令产生器131。 0101 步骤4000转换维度及中继资料至云端快速存取模组可与上述步骤3000同时进 行。需转换储存的资料包括维度表、维度中继资料、及事实表中继资料等,分别由该维度表 转换指令产生器132、该维度中继资料转换指令产生器133及该事实表中继资料转换指令 产生器134完成。 0102 上述范例中,以县市别维度为例,该维度表转换指令产生器132系依据该维度表 中继资。

39、料141产生以下维度表查询指令: 0103 select city_code,city_name from dim_city order by city_order; 0104 向该云端储存及计算模组11查询,并将回传之维度资料依键-值(key-value)关 系索引储存于该云端快速存取模组12以供后续步骤快速取出,储存时以维度代码为列索 引键,以特定关键字如first作为行索引键索引第一个维度值,接着以维度值配合另一特 定关键字如next作为行索引键索引下一个维度值,直到整个维度表皆能索引到为止;每个 维度值以又另一特定关键字如name作为行索引键索引该维度值之显示名称。以上述县市 别维度为。

40、例其指令为: 0105 put dimensions,c,d:first,TP 0106 put dimensions,c,d:name:TP,台北市 0107 put dimensions,c,d:next:TP,NT 0108 put dimensions,c,d:name:NT,新北市 0109 put dimensions,c,d:next:NT,TC 0110 put dimensions,c,d:name:TC,台中市 说 明 书CN 102819616 A 10 8/10页 11 0111 put dimensions,c,d:next:TC,TN 0112 put dimens。

41、ions,c,d:name:TN,台南市 0113 put dimensions,c,d:next:TN,KS 0114 put dimensions,c,d:name:KS,高雄市 0115 put dimensions,c,d:next:KS,OT 0116 put dimensions,c,d:name:OT,其它 0117 其中dimensions为系统储存维度资讯的表格名称。产生指令的规则,即以维度代 码c为列索引键,利用关键字first索引第一个维度值,并以各维度值及关键字next索引 下一个维度值,并以各维度值及关键字name索引该维度值之显示名称。熟悉该项技艺者据 此撰写程式将。

42、中继资料套进指令中,并处理资料的输入与输出,即可完成该维度表转换指 令产生器132。 0118 上述范例中,该维度中继资料转换指令产生器133系依据该维度表中继资料141 产生以下指令,将其依键-值(key-value)关系索引储存于该云端快速存取模组12: 0119 put dimensions,g,d:dimname,性别 0120 put dimensions,c,d:dimname,县市别 0121 put dimensions,i,d:dimname,行业别 0122 产生指令的规则,即以维度代码为列索引,配合关键字dimname来索引其维度名 称。熟悉该项技艺者据此撰写程式将中继资。

43、料套进指令中,并处理资料的输入与输出,即可 完成该维度中继资料转换指令产生器133。 0123 上述范例中,该事实表中继资料转换指令产生器134系依据该事实表中继资料 142产生以下指令,将其依键-值(key-value)关系索引储存于该云端快速存取模组12: 0124 put customer_analysis,cube,m:cubename,客户分析 0125 put customer_analysis,cube,m:dimensions,cgi 0126 put customer_analysis,measures,m:count,4 0127 put customer_analysis。

44、,measures,m:name:1,客户人数 0128 put customer_analysis,measures,m:name:2,最低年龄 0129 put customer_analysis,measures,m:name:3,最高年龄 0130 put customer_analysis,measures,m:name:4,平均年收入 0131 产生指令的规则,即以关键字cube为列索引,配合关键字cubename来索引分析报 表名称,及关键字dimensions来索引所有维度代码。此外并以关键字measures为另一列 索引,配合关键字count来索引共有多少个量值,及关键字na。

45、me配合量值序号来索引该量 值之名称。熟悉该项技艺者据此撰写程式将中继资料套进指令中,并处理资料之输入与输 出,即可完成该事实表中继资料转换指令产生器134。 0132 最后在步骤5000中即时呈现线上枢纽分析结果。使用者透过该枢纽分析介面4 动态改变维度、量值来安排呈现的方式时,该枢纽分析介面4是通过该即时多维度分析模 组15向该云端快速存取模组12动态取得分析报表中对应的资讯来即时呈现。动态枢纽 分析报表中通常须显示分析报表名称,并将分析报表所有可分析维度列出让使用者动态改 变;使用者操作设定欲分析的面向并安排其行、列位置后,动态枢纽分析表显示目前交叉分 析名称,并于行、列标头各显示指定维。

46、度所有项目名称,以及于资料区中显示量值名称,及 说 明 书CN 102819616 A 11 9/10页 12 特定维度交叉条件下对应量值之汇总值。该即时多维度分析模组15向该云端快速存取模 组12动态取得上述资讯的方法,分别说明如下。 0133 取得分析报表名称的方法,即如上所述规则,以关键字cube为列索引,配合关键 字cubename的索引方式取出。上述范利取得分析报表名称之指令为: 0134 get customer_analysis,cube,m:cubename 0135 取得分析报表所有可分析维度的方法,即如上所述规则,以关键字cube为列索 引,配合关键字dimensions之。

47、索引方式取出。上述范利取得分析报表所有可分析维度之指 令为: 0136 get customer_analysis,cube,m:dimensions 0137 显示目前交叉分析名称的方法,即如上所述规则,以维度代码为列索引,配合关键 字dimname来索引其维度名称,将目前交叉分析之各维度名称取出以显示其组合。以上述 范例的县市别为例,维度代码为c,取得维度名称的指令为: 0138 get dimensions,c,d:dimname 0139 取得维度所有项目值及名称的方法,即如上所述规则,以维度代码为列索引键,以 关键字first作为行索引键索引第一个维度值,接着以维度值配合另一关键字n。

48、ext作为行 索引键索引下一个维度值,直到整个维度表皆能索引到为止;每个维度值以又另一关键字 name作为行索引键索引该维度值之显示名称。以上述范例之县市别别为例,取得维度所有 项目值及名称的指令为: 0140 get dimensions,c,d:first取得TP 0141 get dimensions,c,d:name:TP取得台北市 0142 get dimensions,c,d:next:TP取得NT 0143 get dimensions,c,d:name:NT取得新北市 0144 get dimensions,c,d:next:NT取得TC 0145 get dimensions,c,d:name:TC取得台中市 01。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1