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

文档序号:6376379阅读:227来源:国知局
专利名称:云端线上即时多维度分析系统与方法
技术领域
本发明属于云端运算(Cloud Computing)领域,特别涉及云端线上即时多维度分析系统与方法。
背景技术
线上分析作业(Online Analytical Process, 0LAP)技术,主要与线上交易作业(Online Transaction Process,0LTP)作区别。线上交易处理即为一般的资料新增删除修改查询作业,而线上分析作业则着重于查询与分析,主要态样为提供资料的各面向及多维度即时分析,近年来已是商业智慧技术基础且重要的一环。随着云端运算技术的蓬勃发展,云端服务或系统对资料处理能力及储存容量几乎可无限制动态扩充,伴随而来的是待分析的资料动辄为规模在数百Terabytes以上的海量等级,远远超过传统OLAP伺服器所能处理的范围,如何将商业智慧技术推展应用于云端运算平台成为一大课题。将线上分析作业与云端技术结合,将使系统具有线上动态增减资源的扩充性,通过平行计算而大幅缩短处理时间,并能达成传统技术所无法做到的超大维度分析,或非结构性的资料分析。目前在云端运算平台所发展出的线上分析技术较成熟的有Pig OLAP sketch 和 Zohmg 等。Pig OLAP sketch的作法是将资料汇整处理,使资料量大幅减低至传统OLAP伺服器能处理的范围,然后汇出至云端平台外部,由外部的传统OLAP伺服器来提供即时分析显示的功效。此作法固然可以达到对云内资料作线上分析的目的,但平添了将资料汇出至云外并汇入传统OLAP伺服器的动作,增加作业复杂度。此外,将资料汇出至云外后将无法利用云端架构之可扩充性与平行计算等优点,能处理的资料量会受限于该OLAP伺服器的计算能力与储存空间,亦无法达成超大维度与非结构化资料的分析。而Zohmg则是所有作业皆在云端平台内,利用现有云端运算技术来处理,为与本发明最接近的先前技术,故本章节的探讨主要以此先前技术作为比较对象。传统线上分析作业为提高查询阶段的效率而采用一种预先处理的技巧,将资料依各层面分析的汇总值预先计算好,储存成多维结构(MOLAP)或关连结构(ROLAP)或混合结构(HOLAP)的方块(Cube),在查询阶段因只需依索引取得预先汇总结果而缩短反应时间,满足线上分析即时性的需求。多维结构多半储存为档案,通过索引档案位移量直接存取来加快速度,关联结构则储存于关联式资料库,利用其索引的能力来快速取值。然而在云端运算架构中皆无这些技巧可用,因而须另寻其它的方法来取代。为提供云端即时线上分析,先前技术是在Hadoop (Apache软件基金会所研发的开放源码并行运算编程工具和分布式档案系统)此一云端运算平台下,利用HBase此一云端快速索引储存机制,储存预先汇总结果来达成。熟悉该项技艺者受限于现有较成熟的可用技术之下,一般也会推导得出这种设计,然而,完整线上分析作业功能在云端实作时尚有许多困难须突破,并非可轻易达成者。目前云端运算平台的限制在于快速索引储存机制单纯只有索引存取资料的功能,预先汇总所需之关联(JOIN)、群组(GROUP BY)、计数(COUNT)、相异计数(DISTINCTCOUNT)、加总(SUM)、最大值(MAX)、最小值(MIN)、平均(AVG)等运算须另搭配云端计算作业,例如具有MapReduce逻辑的平行处理过程,才能完成。先前技术的作法是在资料处理阶段产生一套程式专案,由程式设计师修改撰写其中部分MapReduce程式码后,交由系统执行预先汇总作业。此方式使得资料处理过程中须有程式专业人员介入才能达成,使用上困难繁杂,亦容易出错。此外,先前技术在线上分析作业中,是发展出一套http API介面指令,由专业人员下达指令查询,取得回传的JSON(JavaScript ObjectNotation, JavaScript物件表示法)格式资料,解析其中的数值。此方式同样须倚赖专业人员,并非适合一般使用者操作的介面。综上所述,先前技术需仰赖专业人员为每个资料处理工作撰写平行计算程式码,并为每次查询下达指令分析回传结果,既困难繁杂又容易出错,实非一良善之设计,而亟待加以改良。

发明内容
本发明云端线上即时多维度分析系统与方法的目的,在于揭露一种应用于云端线上分析作业资料处理阶段的自动化技术,通过指令产生器依据中继资料生成多层次汇总之指令及程序,自动完成预先汇总作业,无须专业人员介入。本发明之次一目的在揭露一种于云端线上分析作业中实作枢纽分析表的方法,提供直观、视觉化、所见即所得、即时互动的操作方式。达成上述发明目的的云端线上即时多维度分析系统与方法,该系统包含一个云端平行计算平台、复数个原始维度表、一个以上的原始事实表,以及一到多个枢纽分析介面;该云端平行计算平台具有一个云端储存及计算模组、一个云端快速存取模组、一到多个指令产生器、复数个中继资料以及一个即时多维度分析模组;该原始维度表及该原始事实表通过上载传输介面上载至该云端平行计算平台后储存于该云端储存及计算模组;该中继资料具有该上载储存资料的内容及关联资讯;该指令产生器依据该中继资料产生指令,驱动该云端储存及计算模组预先分析该上载储存资料,计算多维度汇总后,将分析结果及相关资料转换储存于该云端快速存取模组以供即时呈现;该枢纽分析介面通过传输介面与该即时多维度分析模组连接,且该即时多维度分析模组通过传输介面与该云端快速存取模组连接以即时取得该分析结果及该相关资料;其特征为该指令产生器是自动产生该多维度汇总及该资料转换所需的指令,自动完成该汇总及该转换程序;以及使用者是透过该枢纽分析介面即时互动操作浏览枢纽分析结果。该方法包含上载原始维度表及原始事实表至云端储存及计算模组、设定中继资料、预先计算多维度分析结果储存于云端快速存取模组、转换维度及中继资料至云端快速存取模组、即时呈现线上枢纽分析结果等步骤。本发明所揭露的云端线上即时多维度分析系统与方法具备下列优点I.本发明将线上分析作业与云端技术结合,使系统具有线上动态增减资源的扩充性,通过平行计算而大幅缩短处理时间,并能达成传统技术所无法做到的超大维度分析,或非结构性之资料分析。2.本发明通过指令产生器依据中继资料生成多层次汇总的指令及程序,自动完成预先汇总作业,无须专业人员介入。3.本发明以云端技术实作枢纽分析表,提供使用者直观、视觉化、所见即所得、即时互动的操作方式。


图I为本发明云端线上即时多维度分析系统架构示意图。图2为本发明云端线上即时多维度分析系统的指令产生器与中继资料细部分解图。图3为本发明云端线上即时多维度分析方法的步骤图。附图标记说明 I、云端平行计算平台;11、云端储存及计算模组;12、云端快速存取模组;13、指令产生器;131、汇总指令产生器;132、维度表转换指令产生器;133、维度中继资料转换指令产生器;134、事实表中继资料转换指令产生器;14、中继资料;141、维度表中继资料;142、事实表中继资料;15、即时多维度分析模组;2、原始维度表;3、原始事实表;4、枢纽分析介面;1000、上载原始维度表及原始事实表至云端储存及计算模组;2000、设定中继资料;3000、预先计算多维度分析结果,储存于云端快速存取模组;4000、转换维度及中继资料至云端快速存取模组;5000、即时呈现线上枢纽分析结果。
具体实施例方式请参阅图I、图2及图3所示,图I为本发明云端线上即时多维度分析系统架构示意图;图2为本发明云端线上即时多维度分析系统的指令产生器与中继资料细部分解图;图3为本发明云端线上即时多维度分析方法之步骤图。其相关之实施方式说明于下图I揭露本发明云端线上即时多维度分析系统较佳实施例的架构。系统包含一个云端平行计算平台I,具有一个云端储存及计算模组11,一个云端快速存取模组12,一个到多个指令产生器13,复数个中继资料14以及一个即时多维度分析模组15 ;于该云端平行计算平台I之外,尚有复数个原始维度表2及一个以上待分析的原始事实表3,以及一到多个枢纽分析介面4。管理者将该原始维度表2及原始事实表3上载至该云端平行计算平台I时,是储存于该云端储存及计算模组11 ;且管理者设定的资料内容资讯以及资料间的关联资讯,是储存于该中继资料14中;该指令产生器13是依据该中继资料14产生指令,驱动该云端储存及计算模组11预先计算分析所储存的资料;该分析结果是储存于该云端快速存取模组12以供即时呈现;该中继资料14中,即时呈现所需的部分亦被转换储存至该云端快速存取模组12中;使用者是透过该枢纽分析介面4即时互动操作浏览枢纽分析结果;该枢纽分析介面4是与该即时多维度分析模组15连接,该即时多维度分析模组15与该云端快速存取模组12连接以即时取得并呈现多维度分析结果。该云端平行计算平台I是一个提供海量级资料分散式运算与储存的环境,具容错能力、高可用性、高效能、弹性扩充等特性,熟悉该项技艺者可用Hadoop、Amazon EC2 (亚马逊弹性云端运算)、中华电信HiCloud (提供让使用者可以租用云端电脑运行所需应用的服務)等平台达成。在该云端平台内,该云端储存及计算模组11管理所储存的海量资料,并提供类似SQL指令的查询语言与执行介面,管理者可用较高阶的语法描述所欲进行的计算,该模组会自动将其转换为MapReduce的工作交由系统执行。欲提供功能较完整的多维度分析,该高阶查询语言需能支援关联(JOIN)、群组(GROUP BY)、计数(COUNT)、相异计数(DISTINCTCOUNT)、加总(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 男 IF 女 2县市别维度 代码值显示名称展现顺序TP 台北市 INT新北市2TC 台中市3TN台南市4KS 高雄市 5OT 其它 6行业别维度代码值显示名称展现顺序A农林渔牧业IB 矿业 2C制造业3D营造业4E服务业5O 其它 6熟悉该项技艺者可透过FTP (文件传输协议)、SFTP (SSH文件传输协议)、HTTP (超文本传输协议)、HTTPS (超文本传输安全协议)、odbc (开放数据库互连)、jdbc (Java数据库联机)等传输方法将上述原始资料上载至该云端平行计算平台I的主机后,再以该云端储存及计算模组11所提供之应用程式介面(API)、指令行命令(CLI)、图形化介面(GUI)等将资料汇入该模组,凡此种种方法的组合皆应视为本步骤之等效实施。值得一提的是若上述该原始资料原本即储存在该云端平行计算平台1,则本步骤可以省略,或只需做后半部汇入的动作。接着于步骤2000中设定中继资料。此步骤主要将维度表以及事实表的资料格式、相互关系记录于中继资料中,作为后续步骤的输入,帮助自动化处理。上述范例中,该三组原始维度表2对应的中继资料内容如下维度代码显示名称维度表代码栏位名称栏位序栏位g 性别 dim_gender gender_code gender_name gender_orderc 县市别 dim_city city_code city_name city_orderi 行业别 dim_industry code name sorting
由于不同的多维度分析可能会有相同的分析面向,熟悉该项技艺者可建立共用的维度中继资料。上述范例中,该原始事实表3对应的中继资料内容如下分析报表名称客户分析事实表来源customer量值量值显示名称汇总计算方法及栏位
客户人数COUNT (DISTINCT customerID)最低年龄MIN (age)最高年龄MAX (age)平均年收入AVG (salary)维度维度栏位对应维度代码gender gcity cindustry i熟悉该项技艺者可提供图形化介面(GUI)引导使用者标示上述资料的性质,不需要具备云端专业知识的人员介入,仅需对资料格式有所了解,甚至高阶使用者本身即可胜任。然后于步骤3000中预先计算多维度分析结果,储存于该云端快速存取模组11。此步骤由该汇总指令产生器131读入该维度表中继资料141及该事实表中继资料142后,对所有可能分析面向的排列组合产生汇总指令,交由该云端储存及计算模组11执行,并将回传的汇总结果依特殊设计的索引方式储存于该云端快速存取模组11中。上述范例中,所有可能分析面向之排列组合计有依县市别、依性别、依行业别、县市别与性别交叉、性别与行业别交叉、县市别与性别与行业别交叉、以及不区分全部加总等,以维度代码分别表示为c, g, i, eg, ci, gi, cgi, ALL0熟习该项技艺者可用适当的程式语言如Python、C#、Perl、Java、C、C++等来撰写该汇总指令产生器131,其中上述排列组合可用二进位列举来产生,如本范例由三位数之二进位列举000、001、010、011、100、101、110、111,令三个位元分别代表分析面向是否包含c、g、i,位元为I代表包含对应的分析面向,则可产生ALL、i、g、gi、c、ci、eg、cgi之维度代码排列组合,熟悉该项技艺者在处理上述代码组合时可依字母顺序排序以维持一致性。该汇总指令产生器131依据该维度中继资料141及该事实表中继资料142可产生所有维度组合之汇总指令,例如依县市别与性别与行业别交叉分析之汇总指令为SELECTCONCAT (c. city_code,,,,,g. gender_code,,,,,i. code),COUNT(DISTINCT f. CustomerID),MIN (f. age),MAX (f. age),AVG (f. salary)FROMcustomer f
LEFT OUTER JOIN dim_city c ON f. city = j. codeLEFT OUTER JOIN dim_gender g ON f. gender = g. gender_codeLEFT OUTER JOIN dim_industry i ON f. indus try = i. codeGROUP BYc. city_code, g. gender_code, i. code;上述汇总指令交由该云端储存及计算模组11执行后,将所得汇总结果依键-值(key-value)关系索引储存于该云端快速存取模组12以供后续步骤快速取出,储存时以维度代码组合为列索引键,维度值之组合加上量值顺序为行索引键。举例说明,假设上例中其中一笔传回之汇总结果「TP,M,E 6573752855782596」,代表台北市男性服务业的客户人数 为657375人,年龄范围在28岁到55岁,平均年薪为782596元,其指令为put <customer_analysis>, ‘cgi,,‘m:TP, Μ, E: I,,‘657375,put <customer_analysis>, ‘cgi,,‘πκΤΡ, 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的第I个量值时,其列索引键为cgi,行索引键为m:TP,M,E:l,其余情况皆以此类推。该维度表中继资料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,,‘0T,put ‘dimensions’,‘c,,‘d:name:0T,,‘其它’其中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:l,,‘客户人数’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’显示目前交叉分析名称的方法,S卩如上所述规则,以维度代码为列索引,配合关键字dimname来索引其维度名称,将目前交叉分析之各维度名称取出以显示其组合。以上述 范例的县市别为例,维度代码为c,取得维度名称的指令为get ‘dimensions’, ‘c’, ‘d:dimname’取得维度所有项目值及名称的方法,即如上所述规则,以维度代码为列索引键,以关键字first作为行索引键索引第一个维度值,接着以维度值配合另一关键字next作为行索引键索引下一个维度值,直到整个维度表皆能索引到为止;每个维度值以又另一关键字name作为行索引键索引该维度值之显示名称。以上述范例之县市别别为例,取得维度所有项目值及名称的指令为get ^dimensions,,iC9, Mzfirst’ 取得「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,取得「0T」get ‘dimensions,,‘c,,‘d:name:0T’ 取得「其它」显示量值名称的方法,首先取得量值个数,再依序取得各量值名称。取得量值个数的方法,即如上所述规则,以关键字measures为一列索引,配合关键字count来索引共有多少个量值。上述范例中取得量值个数的指令为get ‘customer—analysis,,‘measures,,‘m: count,接着依序取得各量值名称,S卩如上所述规则,以关键字measures为列索引,并以关键字name配合量值序号来索引该量值之名称。上述范例中依序取得各量值名称的指令为get ‘customer—analysis,,‘measures,,^m: name:get ‘customer—analysis’,‘measures’,^m: name :2^
get ‘customer_analysis’,‘measures’,‘m:name:3’get ‘customer_analysis’,‘measures’,‘m:name:4’取得特定维度交叉条件下对应量值之汇总值的方法,即如上所述规则,以维度代码组合为列索引键,维度值之组合加上量值顺序为行索引键。例如在县市别、性别交叉分析下,取得台中市男性的平均年收入,其指令为get <customer_analysis>, iCgf, ‘iikTC, M:4’其中eg为县市别、性别交叉分析之索引键,TC,M为台中市男性之索引键,而4为平均年收入之索引键。该枢纽分析介面4之多维度分析操作方式,可包括向下钻研(Drill Down)、向上小计(Roll Up)、切片(Slice)、切块(Dice)、跨越钻研(Drill Across)、穿透分析(Drill Through)等,熟习该项技艺者皆可撰写程式依据上述存取方法来达成。上列详细说明乃针对本发明之一可行实施例进行具体说明,惟该实施例并非用以限制本发明之专利范围,凡未脱离本发明技艺精神所为之等效实施或变更,均应包含于本案之专利范围中。
权利要求
1.一种云端线上即时多维度分析系统,包含 云端平行计算平台,其包含云端储存及计算模组、云端快速存取模组、指令产生器、中继资料以及即时多维度分析模组; 原始维度表及原始事实表,是通过上载传输介面上载至该云端平行计算平台后储存于该云端储存及计算模组;以及 枢纽分析介面,该枢纽分析介面通过传输介面与该即时多维度分析模组连接,且该即时多维度分析模组通过传输介面与该云端快速存取模组连接以即时取得该分析结果及该相关资料; 该中继资料具有该上载储存资料的内容及关联资讯;该指令产生器依据该中继资料产生指令,驱动该云端储存及计算模组预先分析该上载储存资料,计算多维度汇总后,将分析结果及相关资料转换储存于该云端快速存取模组以供即时呈现;该多维度汇总及该资料转换所需的指令是自动产生,并提供使用者透过该枢纽分析介面即时互动操作浏览枢纽分析结果。
2.如权利要求I所述的云端线上即时多维度分析系统,其特征在于,所述云端平行计算平台是包含Hadoop、Amazon EC2以及中华电信HiCloud。
3.如权利要求I所述的云端线上即时多维度分析系统,其特征在于,所述云端储存及计算模组提供高阶查询语言与执行介面,并支援该多维度汇总所需的运算者。
4.如权利要求3所述的云端线上即时多维度分析系统,其特征在于,高阶查询语言所支援的所需运算包含关联、群组、计数、相异计数、加总、最大值、最小值、平均。
5.如权利要求4所述的云端线上即时多维度分析系统,其特征在于,所述云端储存及计算模组为Hive或Pig。
6.如权利要求I所述的云端线上即时多维度分析系统,其特征在于,所述云端快速存取模组为下列之一者BigTable、HBase或Cassandra。
7.如权利要求I所述的云端线上即时多维度分析系统,其特征在于,所述该上载传输介面为下列之一者FTP、SFTP, HTTP、HTTPS、odbc 或 jdbc。
8.如权利要求I所述的云端线上即时多维度分析系统,其特征在于,所述中继资料包含下列之一项或一项以上者各维度表储存位置、各维度显示名称、各维度项目显示名称、各事实表储存位置、各事实表可分析维度、各事实表可汇总量值、各量值显示名称、各量值汇总方法。
9.如权利要求I所述的云端线上即时多维度分析系统,其特征在于,所述枢纽分析介面操作方式包含下列之一项或一项以上者动态改变维度或量值之安排呈现方式、向下钻研、向上小计、切片、切块、跨越钻研、穿透分析。
10.一种云端线上即时多维度分析方法,包含以下步骤 (1)上载该原始维度表及该原始事实表至该云端储存及计算模组; (2)设定该中继资料; (3)预先计算该多维度分析结果储存于该云端快速存取模组、转换维度及该中继资料至该云端快速存取模组、即时呈现线上枢纽分析结果。
11.如权利要求10所述的云端线上即时多维度分析方法,其特征在于,所述原始维度表及该原始事实表原本即储存在该云端平行计算平台,而省略该上载原始维度表及原始事实表至云端储存及计算模组的步骤者。
12.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所述预先计算多维度分析结果步骤,是由一到多个指令产生器依据该中继资料产生指令自动执行者。
13.如权利要求12所述的云端线上即时多维度分析方法,其特征在于,所述指令产生器依据该中继资料产生指令时,是以二进位列举来产生所有可能分析面向的排列组合者。
14.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所述预先计算多维度分析结果储存于云端快速存取模组步骤,是将汇总结果依键-值关系索引储存,且以维度代码组合为列索引键,维度值之组合加上量值顺序为行索引键者。
15.如权利要求10或11所述的云端线上即时多维度分析方法,其特征在于,所述转换维度至云端快速存取模组步骤,是将维度表依键-值关系索引储存于该云端快速存取模组,且以维度代码为列索引键,一特定关键字用以索引第一个维度值,以各维度值配合另一特定关键字索引下一个维度值,并以各维度值配合又另一特定关键字索引该维度值之显示名称者。
全文摘要
一种应用于云端线上分析作业资料处理阶段的自动化技术,通过指令产生器依据中继资料生成多层次汇总的指令及程序,自动完成预先汇总作业,无须专业人员介入。本发明亦揭露一种于云端线上分析作业中实作枢纽分析表的方法,提供直观、视觉化、所见即所得、即时互动的操作方式。本发明所有作业皆在云端平台内,利用现有云端运算技术来处理,将线上分析作业与云端技术结合,将使系统具有线上动态增减资源的扩充性,通过平行计算而大幅缩短处理时间,并能达成传统技术所无法做到的超大维度分析,或非结构性的资料分析。
文档编号G06F17/30GK102819616SQ20121032523
公开日2012年12月12日 申请日期2012年9月5日 优先权日2011年12月28日
发明者林志鸿, 杨德邵 申请人:中华电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1