集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法
【專利摘要】本發(fā)明公開了一種用于構(gòu)建集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法,主要內(nèi)容包括,制定數(shù)據(jù)傳輸接口格式、動態(tài)配置屬性參數(shù)、構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫、構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)元祖模型、構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)對象模型、構(gòu)建維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫和構(gòu)建可擴展融合型復(fù)雜結(jié)構(gòu)關(guān)系的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫。本發(fā)明適合存儲、分析和管理企業(yè)的大中小規(guī)模的復(fù)雜數(shù)據(jù),為面向用戶的企業(yè)級大數(shù)據(jù)集成平臺提供有效和有質(zhì)量保障的數(shù)據(jù),并提供可擴展和可用的數(shù)據(jù)存儲和訪問技術(shù),解決了半結(jié)構(gòu)化、結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)、小數(shù)據(jù)和大數(shù)據(jù)、實時數(shù)據(jù)和歷史數(shù)據(jù)的入庫和查詢性能問題。
【專利說明】
集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于企業(yè)級Web應(yīng)用平臺開發(fā)技術(shù)領(lǐng)域,特別涉及一種集中式可擴展融合 型多維復(fù)雜結(jié)構(gòu)關(guān)系的數(shù)據(jù)存儲方法。
【背景技術(shù)】
[0002] 數(shù)據(jù)存儲不僅是企業(yè)級Web數(shù)據(jù)集成的基礎(chǔ),也是所有應(yīng)用平臺的重要構(gòu)成部分。 數(shù)據(jù)存儲方式?jīng)Q定了應(yīng)用平臺對數(shù)據(jù)的訪問和處理方式。不同的數(shù)據(jù)特點和用戶對數(shù)據(jù)處 理方式的不同需求,決定了數(shù)據(jù)存儲模型的不同。合理的數(shù)據(jù)存儲技術(shù)會從數(shù)據(jù)處理流的 源頭上保障企業(yè)級Web數(shù)據(jù)集成的可用性和擴展性。
[0003] 傳統(tǒng)的關(guān)系數(shù)據(jù)庫存儲技術(shù)經(jīng)過了近40年的發(fā)展,早已成為了一種成熟的主流數(shù) 據(jù)管理和分析技術(shù),迄今為止,仍在不斷地演進。關(guān)系數(shù)據(jù)庫存儲技術(shù)的主流應(yīng)用包括聯(lián)機 分析處理(0LAP)應(yīng)用、聯(lián)機事物處理(0LTP)應(yīng)用以及面向主題的數(shù)據(jù)倉庫等。由于SQL語言 的標準化,在訪問關(guān)系數(shù)據(jù)庫數(shù)據(jù)時,將其作為關(guān)系數(shù)據(jù)庫的主要存取語言,且經(jīng)過不斷擴 充和應(yīng)用,其功能和表達能力已不斷地增強。
[0004] 但是在勝任大數(shù)據(jù)分析任務(wù)方面,關(guān)系數(shù)據(jù)庫存儲技術(shù)在擴展性和可用性方面遇 到了很大的障礙。Tony Bain在2009年的論文中就探討過關(guān)系數(shù)據(jù)庫的末日是否己經(jīng)來臨 的問題(T.BAIN,ls the relational database doomed,2009.http:// www.readwriteweb.com/enterPrise/2009/02/is-the-relational-database-doomed.PhP.)。該文獻指出關(guān)系數(shù)據(jù)庫在伸縮性上會遇到一些挑戰(zhàn),尤其是在高負荷環(huán)境 中,如Web Services發(fā)布應(yīng)用程序時,應(yīng)用程序?qū)?shù)據(jù)庫的伸縮性需求會十分明顯。而且, 現(xiàn)有關(guān)系數(shù)據(jù)庫要在實際的系統(tǒng)中應(yīng)用,才能表述出真正的邏輯關(guān)系內(nèi)涵。否則,如果關(guān)系 數(shù)據(jù)庫脫離了系統(tǒng)應(yīng)用,就數(shù)據(jù)庫而言,沒有任何價值。
[0005] web技術(shù)的發(fā)展以及XML語言的出現(xiàn),導(dǎo)致關(guān)系模型擴展、對象模型及相關(guān)技術(shù)融 合關(guān)系數(shù)據(jù)庫、多維關(guān)系數(shù)據(jù)庫等第三代數(shù)據(jù)庫技術(shù)應(yīng)運而生。為了更加適合用戶和開發(fā) 者的真實需求,其中,多維關(guān)系數(shù)據(jù)庫中的多維數(shù)據(jù)模型可以使數(shù)據(jù)的建模更加簡單,且極 大地縮短了執(zhí)行復(fù)雜關(guān)系數(shù)據(jù)處理的時間,可將關(guān)系數(shù)據(jù)庫中需要建立的許多表格的數(shù)據(jù) 看做是存放在一個"立方體"中,這個"立方體"有很多"面",這些"面"將數(shù)據(jù)進行分類和相 互映射,可以快速獲取數(shù)據(jù),并且清除了冗余的數(shù)據(jù)。關(guān)系模型擴展是指在關(guān)系數(shù)據(jù)庫基礎(chǔ) 上,以二維關(guān)系來表示數(shù)據(jù)的多維概念的模型。面向?qū)ο竽P陀捎谄淠K化和強大的內(nèi)部 操作能力,簡化了應(yīng)用程序的維護和升級,可以有效地提高開發(fā)人員的生產(chǎn)率。第三次變革 的數(shù)據(jù)庫技術(shù)代表,如1997年出現(xiàn)的InterSystems公司的Cache,它利用多維數(shù)據(jù)模型來描 述數(shù)據(jù)之間的關(guān)系,是傳統(tǒng)的關(guān)系數(shù)據(jù)庫的擴展,突破了傳統(tǒng)關(guān)系數(shù)據(jù)庫的局限,適合 Client/Server環(huán)境下的突發(fā)大負載的情況。
[0006] 但是,第三代數(shù)據(jù)庫,如面向?qū)ο蟮年P(guān)系數(shù)據(jù)庫,雖然其理論完美,但其系統(tǒng)的市 場發(fā)展并不理想,主要原因在于,第三代數(shù)據(jù)庫產(chǎn)品的設(shè)計思想是想用新型數(shù)據(jù)庫系統(tǒng)來 取代現(xiàn)有的數(shù)據(jù)庫系統(tǒng),這對多年來一直運用傳統(tǒng)數(shù)據(jù)庫并積累了大量數(shù)據(jù)的用戶而言, 無法承受由于新舊數(shù)據(jù)間的轉(zhuǎn)換而導(dǎo)致的巨大工作量及費用。
[0007] 新一代數(shù)據(jù)庫技術(shù)是在大數(shù)據(jù)的環(huán)境下,為滿足面向用戶和面向應(yīng)用領(lǐng)域開發(fā)的 需求而出現(xiàn)的,是數(shù)據(jù)庫系統(tǒng)發(fā)展的第四次大的變革。它是SQL( Structured Query Language)和NoSQL技術(shù)融合的產(chǎn)物,而不僅只是NoSQL數(shù)據(jù)庫或代表關(guān)系數(shù)據(jù)庫的SQL數(shù)據(jù) 庫,是將NoSQL技術(shù)的優(yōu)點融入到關(guān)系數(shù)據(jù)庫中,形成了稱之為NewSQL的數(shù)據(jù)庫。NoSQL數(shù)據(jù) 模型的思想:關(guān)系數(shù)據(jù)模型主要分析數(shù)據(jù)間的結(jié)構(gòu)和關(guān)系,其設(shè)計理念是"面向答案"; NoSQL數(shù)據(jù)模型是對數(shù)據(jù)的存取方式著手,其設(shè)計理念是"面向問題"。NoSQL數(shù)據(jù)模型在設(shè) 計時,對比關(guān)系數(shù)據(jù)模型,需要對數(shù)據(jù)結(jié)構(gòu)和算法有更深的理解。將二者相互融合為NewSQL 模型,可以適應(yīng)新的數(shù)據(jù)環(huán)境和用戶需求,可以解決大數(shù)據(jù)的結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化 的復(fù)雜數(shù)據(jù)結(jié)構(gòu)關(guān)系問題。NewSQL存儲管理技術(shù)中的NoSQL和關(guān)系數(shù)據(jù)庫管理技術(shù)是相互 補充的關(guān)系,NewSQL既實現(xiàn)了NoSQL的核心特性,也實現(xiàn)了關(guān)系數(shù)據(jù)庫的支持SQL或ACID (Atomicity,Consistency,Isolation,Durability)特性,且具有可配置的持久化機制。
[0008] 當前,NewSQL數(shù)據(jù)庫的代表如Facebook、MapReduce與RDBMS(關(guān)系數(shù)據(jù)庫管理系 統(tǒng))的融合及Hive(基于Hadoop的一個數(shù)據(jù)倉庫工具)Jacebook(-個社交網(wǎng)絡(luò)服務(wù)網(wǎng)站) 數(shù)據(jù)分析系統(tǒng)就是一個典型的NewSQL數(shù)據(jù)庫范例,海量的數(shù)據(jù)迫使Facebook使用新的數(shù)據(jù) 處理架構(gòu)。在Facebook系統(tǒng)中,關(guān)系數(shù)據(jù)庫系統(tǒng)負責0LTP類的事務(wù)處理,Hive系統(tǒng)進行重要 的分析處理。經(jīng)過Hive系統(tǒng)的分析和聚集的數(shù)據(jù)結(jié)果,可以重新注入關(guān)系數(shù)據(jù)庫系統(tǒng)中。 MapReduce (-種用于大規(guī)模數(shù)據(jù)集并行運算的編程模型)與RDBMS的融合是對MapReduce與 RDBMS的混合技術(shù)研究,由于關(guān)系數(shù)據(jù)庫和MapReduce技術(shù)各有優(yōu)缺點,如何融合關(guān)系數(shù)據(jù) 庫和MapReduce技術(shù),設(shè)計同時具備兩者優(yōu)點的技術(shù)架構(gòu),既有MapReduce的高度擴展性和 容錯性,又有RDBMS的高性能,也是大數(shù)據(jù)分析技術(shù)的研究趨勢。
[0009] 在企業(yè)級Web應(yīng)用平臺開發(fā)技術(shù)領(lǐng)域,企業(yè)級Web應(yīng)用平臺系統(tǒng)的數(shù)據(jù)處理流程技 術(shù)和企業(yè)對數(shù)據(jù)存儲、分析和管理的實際需求,是影響企業(yè)級Web數(shù)據(jù)存儲技術(shù)模型設(shè)計和 構(gòu)建的兩個主要因素。首先,企業(yè)級Web應(yīng)用平臺系統(tǒng)的數(shù)據(jù)處理是對S0A( Service Oriented Architecture)架構(gòu)下的結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化混合大中小型數(shù)據(jù)進行處 理,其面向服務(wù)的數(shù)據(jù)處理流程技術(shù)與傳統(tǒng)的數(shù)據(jù)處理流程技術(shù)有較大的差異;其次,當企 業(yè)數(shù)據(jù)的來源不斷增加,復(fù)雜的數(shù)據(jù)來源,會導(dǎo)致數(shù)據(jù)類型持續(xù)增多,產(chǎn)生復(fù)雜的"結(jié)構(gòu) 化"、"半結(jié)構(gòu)化"和"非結(jié)構(gòu)化"混合式大中小型多維度數(shù)據(jù)類型。因而,傳統(tǒng)的小規(guī)模數(shù)據(jù) 存儲技術(shù)已經(jīng)不能適應(yīng)當前企業(yè)級數(shù)據(jù)的研究和應(yīng)用。再者,對復(fù)雜結(jié)構(gòu)的多維大數(shù)據(jù)的 有效數(shù)據(jù)存儲模式的研究也一直是當前國內(nèi)外研究的熱點和重要課題之一。
[0010] 綜觀當前國內(nèi)外研究的進展與成果,在企業(yè)級Web應(yīng)用平臺開發(fā)技術(shù)領(lǐng)域的數(shù)據(jù) 存儲技術(shù)部分,復(fù)雜結(jié)構(gòu)的多維大中小型關(guān)系數(shù)據(jù)的存儲技術(shù)研究中還存在著以下明顯的 問題及亟待解決的技術(shù)難點:
[0011] (1)中小數(shù)據(jù)的實時在線處理,大數(shù)據(jù)的歷史查詢和分析處理。
[0012] (2)結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的處理。
[0013] (3)可變化的層次結(jié)構(gòu)多維度處理。
[0014] (4)可自定義面向用戶和面向主題的歷史數(shù)據(jù)查詢。
[0015] (5)面向用戶的可動態(tài)新增、刪除和變更維度和主題的處理;可擴展性維度及維度 在B/S(Browser/Server)結(jié)構(gòu)下能層次樹狀顯示。這既是企業(yè)用戶的迫切需求,也一直是企 業(yè)級多維應(yīng)用軟件擴展性的瓶頸之一。
[0016] (6)僅使用傳統(tǒng)的數(shù)據(jù)存儲管理模式一一關(guān)系數(shù)據(jù)模式已經(jīng)不能勝任對高度稀疏 和高維度復(fù)雜數(shù)據(jù)的分析工作,而企業(yè)大數(shù)據(jù)通常是高度稀疏和高維度的。
[0017] 為了適應(yīng)新環(huán)境的發(fā)展,需要研究新的數(shù)據(jù)存儲與處理方法,開發(fā)新的數(shù)據(jù)存儲 與處理技術(shù)。
【發(fā)明內(nèi)容】
[0018] 針對現(xiàn)有企業(yè)級Web應(yīng)用平臺開發(fā)技術(shù)領(lǐng)域中數(shù)據(jù)存儲技術(shù)所存在的問題,本發(fā) 明的目的旨在提供一種集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法,以滿足對 企業(yè)中高度稀疏和高維度的復(fù)雜大數(shù)據(jù)進行分析工作的迫切需求。
[0019] 本發(fā)明的方法是利用數(shù)據(jù)庫技術(shù)和Web技術(shù)相結(jié)合來構(gòu)建企業(yè)級Web數(shù)據(jù)集成的 數(shù)據(jù)存儲中心,基本內(nèi)容概括起來主要包括五個方面,一是多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫構(gòu)建方 法;二是NoSQL思想和技術(shù);三是關(guān)系數(shù)據(jù)對象模型的構(gòu)建方法;四是維度的可擴展性設(shè)計 方法;五是建立原型系統(tǒng)框架。
[0020] 本發(fā)明的目的可通過采用由以下技術(shù)措施構(gòu)成的技術(shù)方案來實現(xiàn)。本發(fā)明提出的 集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法,運行實施于計算機運行的企業(yè)級 Web應(yīng)用平臺軟件系統(tǒng)的客戶端、服務(wù)器和數(shù)據(jù)庫的三層結(jié)構(gòu)中,其方案主要包括以下步 驟:
[0021] (1)制定數(shù)據(jù)傳輸接口格式:制定所需集成的異構(gòu)數(shù)據(jù)庫數(shù)據(jù)、本系統(tǒng)結(jié)構(gòu)的實時 數(shù)據(jù)和歷史數(shù)據(jù)進入多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫的接口格式,制定多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫與企 業(yè)級Web應(yīng)用平臺原型軟件系統(tǒng)客戶端界面之間數(shù)據(jù)的存儲與訪問的格式;
[0022] (2)動態(tài)配置屬性參數(shù):在由計算機運行的企業(yè)級Web應(yīng)用平臺原型軟件系統(tǒng)的交 互界面,動態(tài)配置多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫所需的屬性參數(shù);
[0023] (3)構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫:為了在由計算機運行的企業(yè)級Web應(yīng)用平臺軟件 系統(tǒng)客戶端,以層次化結(jié)構(gòu)展現(xiàn)多維數(shù)據(jù),如η維,對系統(tǒng)數(shù)據(jù)庫的設(shè)計。即采用關(guān)系數(shù)據(jù)庫 技術(shù),結(jié)合多維數(shù)據(jù)集技術(shù),以"基礎(chǔ)數(shù)據(jù)表"為中心,采用維度表關(guān)聯(lián)"基礎(chǔ)數(shù)據(jù)表"的雪花 型結(jié)構(gòu),構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫;
[0024] (4)構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)元祖模型:在多維數(shù)據(jù)集關(guān)系數(shù)據(jù) 庫中,將來源于客戶端計算機的已經(jīng)清洗過的結(jié)構(gòu)化元數(shù)據(jù),按照數(shù)據(jù)庫規(guī)范化理論設(shè)計 后,得到完整的實體數(shù)據(jù),再將這些實體數(shù)據(jù)存儲到維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫 中多個表的元組中去,這些表是面向存儲的元組級別的關(guān)系數(shù)據(jù)模式表,如此組成多維數(shù) 據(jù)集關(guān)系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)元祖模型;
[0025] (5)構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)對象模型:在多維數(shù)據(jù)集關(guān)系數(shù)據(jù) 庫中,針對來源于客戶端計算機已經(jīng)清洗過的半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),經(jīng)過客戶端、服務(wù) 器和數(shù)據(jù)庫的訪問和處理,用關(guān)系數(shù)據(jù)對象模型的構(gòu)建方法,生成多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫 中的關(guān)系數(shù)據(jù)對象模型;
[0026] (6)構(gòu)建維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫:在多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中,設(shè)計 邏輯上的由"維度"、"維度成員"和"維度連接中間表"三部分組成的維度管理模塊,以維度 可擴展性方法,構(gòu)建維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫;
[0027] (7)構(gòu)建可擴展融合型復(fù)雜結(jié)構(gòu)關(guān)系的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫:在維度可擴展的 多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫的關(guān)系數(shù)據(jù)元組模型中,對結(jié)構(gòu)化數(shù)據(jù)的處理,采用SQL技術(shù),用SQL 語言編寫代碼;對半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的處理,采用NoSQL思想,用SQL語言編寫"嵌套 集合"算法代碼,實現(xiàn)NoSQL的通用數(shù)據(jù)建模技術(shù)。利用SQL和NoSQL技術(shù),經(jīng)過客戶端、服務(wù) 器和數(shù)據(jù)庫的訪問和處理,生成可擴展融合型復(fù)雜結(jié)構(gòu)關(guān)系的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫;
[0028] (8)充實和完善關(guān)系數(shù)據(jù)存儲系統(tǒng):反復(fù)進行(1)至(7)的步驟,不斷充實和完善企 業(yè)級Web應(yīng)用平臺軟件系統(tǒng)中所建立的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)存儲系 統(tǒng),至達到企業(yè)對數(shù)據(jù)的完整性要求、面向用戶和主題的數(shù)據(jù)存儲和查詢、半結(jié)構(gòu)化和非結(jié) 構(gòu)化數(shù)據(jù)的客戶端的層次結(jié)構(gòu)展現(xiàn)和動態(tài)修改維度和主題等的目的。
[0029] 本發(fā)明進一步的技術(shù)方案,構(gòu)建好的可擴展融合型復(fù)雜結(jié)構(gòu)關(guān)系的多維數(shù)據(jù)集關(guān) 系數(shù)據(jù)庫,最好通過計算機運行的企業(yè)級Web應(yīng)用平臺軟件系統(tǒng)的用戶應(yīng)用界面,使用至少 包括錄入、查詢、審核、主題或指標動態(tài)配置的功能,對在計算機運行的企業(yè)級Web應(yīng)用平臺 軟件系統(tǒng)中的所建立的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)存儲系統(tǒng)管理中心進 行應(yīng)用驗證。
[0030] 在本發(fā)明的上述技術(shù)方案中,步驟(4)中所述來源于客戶端計算機的結(jié)構(gòu)化元數(shù) 據(jù)最好是已經(jīng)清洗過的結(jié)構(gòu)化元數(shù)據(jù),以減少數(shù)據(jù)的冗余。
[0031] 在本發(fā)明的上述技術(shù)方案中,在步驟(5)中優(yōu)先采用下述方法對客戶端、服務(wù)器和 數(shù)據(jù)庫進行訪問和處理:在服務(wù)器中,通過嵌套集合算法,生成對象圖,將對象圖保存到計 算機運行的企業(yè)級Web應(yīng)用平臺軟件系統(tǒng)的維度可擴展多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫表中;在客 戶端運行的計算機,經(jīng)服務(wù)器端對數(shù)據(jù)庫進行訪問,取出數(shù)據(jù)庫中的相關(guān)模型數(shù)據(jù)后至服 務(wù)器中,用堆棧方法將數(shù)據(jù)生成對象圖,再將此對象圖經(jīng)過轉(zhuǎn)換為JS0N格式保存,再傳送至 客戶端;最后運行的客戶端計算機,通過解析接收的JS0N格式文件,裝載到界面顯示出樹狀 層次數(shù)據(jù)。
[0032]在本發(fā)明的上述技術(shù)方案中,在步驟(6)中優(yōu)先采用將Web應(yīng)用系統(tǒng)中所有維度以 表的行記錄方式保存到多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫的維度管理模塊中,并利用"嵌套集合"模型 算法來實現(xiàn)維度管理模塊的維度信息的層次結(jié)構(gòu)存儲和訪問,形成維度的可擴展性方法, 構(gòu)建維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫。
[0033]本發(fā)明提供的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法,基于 NoSQL與面向?qū)ο蟮慕<夹g(shù)所構(gòu)建的關(guān)系數(shù)據(jù)對象模型及其結(jié)果,構(gòu)成了多維關(guān)系數(shù)據(jù) 庫中的層次對象模型,以關(guān)系數(shù)據(jù)元組模型為主,以關(guān)系數(shù)據(jù)對象模型為補充,共同構(gòu)建本 發(fā)明模型,彌補了傳統(tǒng)關(guān)系數(shù)據(jù)模型的缺陷,使得本發(fā)明更加適合用來構(gòu)建S0A架構(gòu)下的數(shù) 據(jù)存儲及管理中心。本發(fā)明所具有的優(yōu)點和技術(shù)效果主要體現(xiàn)在以下方面:
[0034] (1)是個集中式多維數(shù)據(jù)存儲模型,適合企業(yè)的大中小規(guī)模的數(shù)據(jù)存儲、分析和管 理。
[0035] (2)發(fā)明方法的核心思想是采用多維數(shù)據(jù)集關(guān)系數(shù)據(jù)模型、數(shù)據(jù)倉庫模型和NoSQL 思想及技術(shù)三者結(jié)合共同創(chuàng)建可擴展的融合型多維數(shù)據(jù)存儲管理中心。"集中式可擴展融 合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法"是企業(yè)級Web大數(shù)據(jù)集成的數(shù)據(jù)存儲管理中心構(gòu) 建的關(guān)鍵模型方法,據(jù)"集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法"建立的數(shù) 據(jù)存儲及管理中心,實現(xiàn)了面向用戶,而不僅是面向存儲的需求。
[0036] (3)多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫與數(shù)據(jù)倉庫的融合技術(shù)。該融合技術(shù)將企業(yè)中的實時 在線數(shù)據(jù)集成到多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫,用"一致性"原則滿足企業(yè)數(shù)據(jù)的唯一性要求;將 歷史數(shù)據(jù)集成到數(shù)據(jù)倉庫中,便于海量數(shù)據(jù)的統(tǒng)計、計算和查詢,提升了海量數(shù)據(jù)的查詢效 率。
[0037] (4)多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫設(shè)計方法。發(fā)明中涉及的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)模型在 邏輯上組合應(yīng)用關(guān)系數(shù)據(jù)元組模型和關(guān)系數(shù)據(jù)對象模型,用于解決企業(yè)中結(jié)構(gòu)化、半結(jié)構(gòu) 化和非結(jié)構(gòu)化數(shù)據(jù)的存儲和可變的層次結(jié)構(gòu)展現(xiàn)問題。
[0038] (5)將NoSQL技術(shù)的嵌套集合算法改進后設(shè)計和實現(xiàn)維度的可擴展性方案。在嵌套 集合算法中增加"成員路徑"參數(shù),記錄各節(jié)點所在樹中的位置,查找和插入節(jié)點時能避免 循環(huán)嵌套,可以將時間復(fù)雜度從原來的〇(n)降到0(1),極大地提高了查詢效率。
[0039] (6)設(shè)計關(guān)系數(shù)據(jù)對象模型的構(gòu)建方法和技術(shù),并給出了其算法實現(xiàn)。
【附圖說明】
[0040] 圖1是多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫設(shè)計框圖。
[0041 ]圖2是多維數(shù)據(jù)集關(guān)系數(shù)據(jù)模型圖。
[0042] 圖3是關(guān)系數(shù)據(jù)對象模型的研究框架圖。
[0043] 圖4是可擴展融合型數(shù)據(jù)存儲模型框圖。
[0044] 圖5是改進型雪花型結(jié)構(gòu)模型例圖。
[0045] 圖6是基于EJB(Enterprise Java Beans)融合型架構(gòu)下的數(shù)據(jù)存儲管理中心圖。 [0046]圖7是層次結(jié)構(gòu)的集合關(guān)系及其樹形結(jié)構(gòu)圖。
[0047]圖8是原型系統(tǒng)功能模塊圖。
[0048] 圖9是原型系統(tǒng)界面指標錄入圖。
[0049] 圖10是原型系統(tǒng)界面指標審核圖。
[0050] 圖11是原型系統(tǒng)指標查詢數(shù)據(jù)圖。
[0051] 圖12是原型系統(tǒng)指標查詢圖表圖。
[0052] 圖13是原型系統(tǒng)指標動態(tài)配置圖。
[0053]圖14是原型系統(tǒng)新增"數(shù)量維度"的維度成員"數(shù)值維度測試000"例圖。
[0054]圖15是JS0N格式文件圖
【具體實施方式】
[0055] 為了更清楚的理解本發(fā)明,以下對發(fā)明的詳細內(nèi)容、并結(jié)合附圖和發(fā)明人依本發(fā) 明的技術(shù)方案完成的實例對本發(fā)明作進一步的詳細論述。
[0056] 1、構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫
[0057]針對企業(yè)級Web數(shù)據(jù)存儲管理中實際需求,既能存儲中小型多維實時數(shù)據(jù),又能多 維鉆取、查詢和分析海量歷史數(shù)據(jù),還要面向主題的多維度查詢的問題,本發(fā)明提出構(gòu)建多 維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫來解決該需求。本發(fā)明通過利用現(xiàn)有的關(guān)系數(shù)據(jù)庫來設(shè)計多維數(shù)據(jù)集 和維度,采用關(guān)系數(shù)據(jù)庫技術(shù)結(jié)合多維數(shù)據(jù)集技術(shù),構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫,可以實現(xiàn) "一對多"和"多對多"關(guān)系,來清晰地表達多維概念。將關(guān)系數(shù)據(jù)庫作為基礎(chǔ),在關(guān)系數(shù)據(jù)庫 中設(shè)計多維數(shù)據(jù)模型,并將維度和"基礎(chǔ)數(shù)據(jù)表"的數(shù)據(jù)以行記錄形式存放在關(guān)系數(shù)據(jù)庫中 的二維表中,構(gòu)建以"基礎(chǔ)數(shù)據(jù)表"為中心,維度表關(guān)聯(lián)"基礎(chǔ)數(shù)據(jù)表"的雪花型結(jié)構(gòu)。本發(fā)明 采用雪花型結(jié)構(gòu)來去除數(shù)據(jù)的冗余。數(shù)據(jù)雖然存放于二維關(guān)系表結(jié)構(gòu)中,但是維度表與"基 礎(chǔ)數(shù)據(jù)表"間的雪花型結(jié)構(gòu)使數(shù)據(jù)邏輯上的關(guān)系是η維立體的,即用雪花結(jié)構(gòu)將η維的數(shù)據(jù) 降維平鋪在一個平面上,數(shù)據(jù)在被訪問讀出時,又將平面上的雪花結(jié)構(gòu)關(guān)聯(lián)數(shù)據(jù)抽象出來, 升維還原為η維數(shù)據(jù),送到服務(wù)器中待被處理。處理η維數(shù)據(jù)的工作在服務(wù)器端完成,通過構(gòu) 建η維數(shù)組來保存η維數(shù)據(jù),再用JSON(基于JavaScript語言的輕量級的數(shù)據(jù)交換格式)格式 文件記錄和封裝η維數(shù)組及其數(shù)據(jù),傳送至客戶端,解析JSON格式文件,就可以將η維數(shù)據(jù)以 層次化結(jié)構(gòu)展現(xiàn)出來。如此,本發(fā)明設(shè)計了多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫的構(gòu)建方法。
[0058]多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫設(shè)計框圖如圖1。
[0059] 所述多維數(shù)據(jù)集關(guān)系數(shù)據(jù)模型應(yīng)滿足如下要求:
[0060] (1)主要存儲和管理實時數(shù)據(jù),"基礎(chǔ)數(shù)據(jù)表"用"一致性"原則保證數(shù)據(jù)的唯一性, 滿足企業(yè)對實時數(shù)據(jù)的完整性需求。
[0061] (2)能處理主流的結(jié)構(gòu)化數(shù)據(jù)和非主流的層次結(jié)構(gòu)數(shù)據(jù)。
[0062] (3)能管理數(shù)據(jù)倉庫的數(shù)據(jù)。
[0063] (4)采用多維數(shù)據(jù)集技術(shù)和關(guān)系數(shù)據(jù)管理技術(shù),基礎(chǔ)數(shù)據(jù)表與維度表之間的結(jié)構(gòu) 以雪花型結(jié)構(gòu)實現(xiàn)。
[0064] (5)通過邏輯上的維度管理模塊,在客戶端就可以實現(xiàn)面向用戶的維度新增、變更 和刪除功能操作,而不必更改源代碼和數(shù)據(jù)庫表結(jié)構(gòu)。
[0065] 多維數(shù)據(jù)集關(guān)系數(shù)據(jù)模型如圖2所示。
[0066] 2、構(gòu)建關(guān)系數(shù)據(jù)元組和對象模型
[0067] 針對企業(yè)級Web應(yīng)用平臺軟件系統(tǒng)面向用戶而不僅是面向存儲、層次結(jié)構(gòu)數(shù)據(jù)的 存儲和樹形展現(xiàn)的需求,在維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中,在數(shù)據(jù)庫的關(guān)系數(shù)據(jù) 元組模型基礎(chǔ)上,從面向用戶角度來研究關(guān)系數(shù)據(jù)模式,以對象的觀點來研究關(guān)系數(shù)據(jù)和 構(gòu)建關(guān)系數(shù)據(jù)模型,設(shè)計關(guān)系數(shù)據(jù)對象模型的構(gòu)建方法。在關(guān)系數(shù)據(jù)庫上增加對象級別的 關(guān)系數(shù)據(jù)建模,以作為關(guān)系數(shù)據(jù)庫上元組級別的關(guān)系數(shù)據(jù)建模的補充。
[0068] 本發(fā)明的關(guān)系數(shù)據(jù)對象模型分兩步構(gòu)成。首先,保存層次結(jié)構(gòu)數(shù)據(jù)到數(shù)據(jù)庫。將來 源于客戶端的已經(jīng)清洗過的元數(shù)據(jù),在服務(wù)器中,按照嵌套集合算法,進行預(yù)排序處理,生 成節(jié)點左右界加權(quán)的對象圖,接著創(chuàng)建對象索引,最后將關(guān)系數(shù)據(jù)對象集合保存到數(shù)據(jù)庫 表中。其次,由客戶端的查詢或裝載事件觸發(fā)請求,經(jīng)服務(wù)器端對數(shù)據(jù)庫進行訪問;取出數(shù) 據(jù)庫中的相關(guān)模型數(shù)據(jù)后,在服務(wù)器中,將數(shù)據(jù)用堆棧方法生成對象圖,再將對象圖封裝, 轉(zhuǎn)換為JS0N格式,其目的是保存具有多維數(shù)組的對象圖,然后將封裝好的數(shù)據(jù)傳送至客戶 端;在客戶端,接收JS0N格式的數(shù)據(jù)對象圖后,解析接收的JS0N格式文件,還原成一棵樹狀 層次數(shù)據(jù),裝載到界面顯示出來,或者供用戶按照先序遍歷算法進行搜索,查詢節(jié)點。
[0069] 關(guān)系數(shù)據(jù)對象模型的研究框架圖如圖3所示。
[0070] 3、維度的可擴展性設(shè)計方法
[0071] 針對企業(yè)級Web應(yīng)用平臺軟件系統(tǒng)的面向用戶的多維度擴展性需求問題,發(fā)明維 度可擴展性設(shè)計方法。在多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫構(gòu)建的基礎(chǔ)上,該方法是一改進型雪花結(jié) 構(gòu)模型的構(gòu)建方法。即通過設(shè)計邏輯上的維度管理模塊,由"維度"、"維度成員"和"維度連 接中間表"三部分組成。首先,將Web應(yīng)用系統(tǒng)中所有維度都放到維度管理模塊中,改變每個 具體的維度在數(shù)據(jù)庫表中以列字段枚舉方式存在,而是以表的行記錄方式保存。這樣,我們 可以隨時增加和刪除表的行記錄來增添和刪減維度,而不會影響表的結(jié)構(gòu)更改。其次,用關(guān) 系數(shù)據(jù)對象模型來設(shè)計和構(gòu)建維度管理模塊,利用改進的NoSQL的通用數(shù)據(jù)建模技術(shù)一一 "嵌套集合"模型算法來實現(xiàn)維度管理模塊的維度信息的層次結(jié)構(gòu)存儲和訪問。
[0072] 設(shè)計的可擴展性維度的方案,可以實現(xiàn)兩種功能。一是可以在客戶端由用戶直接 進行增添和刪除維度功能,而不必修改數(shù)據(jù)庫和程序代碼;二是維度在B/S結(jié)構(gòu)下能層次樹 狀顯示,以便于下拉選擇維度成員節(jié)點和查詢分析時快速查找節(jié)點。用關(guān)系數(shù)據(jù)對象模型 來設(shè)計和構(gòu)建維度管理模塊,本文用改進的NoSQL的通用數(shù)據(jù)建模技術(shù)一一"嵌套集合"模 型算法來實現(xiàn)維度管理模塊的維度信息的層次結(jié)構(gòu)存儲和訪問。嵌套集合模型特別適合層 次結(jié)構(gòu)中節(jié)點類型經(jīng)常變化的系統(tǒng)。
[0073] 可擴展融合型數(shù)據(jù)存儲模型如圖4所示。
[0074] 改進型雪花型結(jié)構(gòu)模型如圖5所示。
[0075] 4、集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)存儲系統(tǒng)的應(yīng)用型框架
[0076]在上述原理、方法研究的基礎(chǔ)上,本發(fā)明基于EJB融合型架構(gòu)下,設(shè)計和構(gòu)建了可 擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)存儲系統(tǒng)的一個集中式應(yīng)用型框架,組成了企業(yè)級Web 應(yīng)用平臺原型軟件系統(tǒng)的存儲管理中心部分,實現(xiàn)可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)存 儲方法的結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的存儲和可變的層次結(jié)構(gòu)展現(xiàn)、維度可擴展、面 向用戶和主題的歷史數(shù)據(jù)查詢等功能。
[0077]基于EJB融合型架構(gòu)下的數(shù)據(jù)存儲管理中心,如圖6所示。
[0078] 實施例
[0079]發(fā)明人基于相關(guān)的系統(tǒng)架構(gòu)設(shè)計、其他關(guān)鍵技術(shù)、本發(fā)明上述所論述的理論、方 法、算法和編程技術(shù),開發(fā)了一個企業(yè)級Web應(yīng)用平臺原型軟件系統(tǒng)一一"經(jīng)濟金融信息決 策管理系統(tǒng)",該原型軟件系統(tǒng)的數(shù)據(jù)存儲模塊部分的功能實現(xiàn)是以本發(fā)明所論述的理論、 方法和算法來實現(xiàn)的。
[0080]以經(jīng)濟指標為例,關(guān)心的經(jīng)濟指標大致如下:
[0081 ] 表經(jīng)濟指標 [0082]
[0084] 主題的設(shè)定:
[0085] 由用戶自己定義,通過配置主題下所涉及的相關(guān)指標,便可成功得到所需主題數(shù) 據(jù)。
[0086] 在以上16個指標中,對⑶P(Gross Domestic Product)指標而言,它是由16個門類 構(gòu)成(其中16個門類又由98個大類組成),所以,本系統(tǒng)可以將⑶P也作為"GDP主題"來查詢; 將其16個門類或90多個大類指標再加上GDP(現(xiàn)價)增速累計指標作為該主題涉及的相關(guān)內(nèi) 容。
[0087]再例如,想自定義一個"四川企業(yè)壓力主題",其中包含的指標大致有:GDP(第二產(chǎn) 業(yè))、工業(yè)增加值、工業(yè)對⑶P的貢獻率等,通過配置界面配置后,立刻就會得到"企業(yè)壓力主 題"包含內(nèi)容的所有信息,還可給出同比、環(huán)比、占比、增速等數(shù)據(jù),并輔以圖表展示,直觀、 有效。
[0088] 原型系統(tǒng)數(shù)據(jù)存儲模塊設(shè)計如下面步驟:
[0089] (1)原型系統(tǒng)數(shù)據(jù)存儲模塊中數(shù)據(jù)獲取和傳輸交互界面設(shè)計
[0090] 原型系統(tǒng)數(shù)據(jù)存儲模塊中數(shù)據(jù)獲取和傳輸交互界面如圖9所示。主要包含功能菜 單區(qū)、窗體數(shù)據(jù)顯示區(qū)、窗體數(shù)據(jù)顯示區(qū)的操作控件如輸入框、按鈕等功能數(shù)據(jù)區(qū)。其中功 能菜單區(qū)提供各種功能的樹形層次結(jié)構(gòu)展示;功能數(shù)據(jù)區(qū)的按鈕為用戶提供了各類確定性 功能操作如查詢、刪除、保存數(shù)據(jù)等,其他控件如錄入框、GRID(網(wǎng)格)等控件則為數(shù)據(jù)的獲 取、緩存和傳輸提供了界面交互接口,并通過上述控件來動態(tài)配置原型系統(tǒng)所需的屬性參 數(shù)。
[0091] (2)構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫
[0092]在關(guān)系數(shù)據(jù)庫基礎(chǔ)上實現(xiàn)了多維數(shù)據(jù)模型,且將關(guān)系數(shù)據(jù)庫的數(shù)據(jù)清洗轉(zhuǎn)化為數(shù) 據(jù)倉庫中的數(shù)據(jù),并通過多維數(shù)據(jù)關(guān)系數(shù)據(jù)庫管理數(shù)據(jù)倉庫。
[0093] 多維數(shù)據(jù)模型(雪花型結(jié)構(gòu))關(guān)系數(shù)據(jù)庫設(shè)計的特色在于:
[0094] 特點一是既可以實現(xiàn)和滿足用戶的復(fù)雜需求一一將各部門獨立的、縱向的經(jīng)濟金 融數(shù)據(jù)橫向地綜合匯集,便于使用者分析決策時對多部門數(shù)據(jù)同時選取、統(tǒng)計和對比;而 且,該行業(yè)數(shù)據(jù)量大,且維度(地區(qū)、機構(gòu)等)和指標(GDP、匯率等)是可變化的,需要新增或 更改。
[0095] 特點二是又可以在關(guān)系數(shù)據(jù)庫基礎(chǔ)上,通過清洗關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)進入數(shù)據(jù)倉 庫的事實表中,便于利用Cognos(在商業(yè)智能核心平臺上,以服務(wù)為導(dǎo)向進行架構(gòu)的一種數(shù) 據(jù)模型)平臺的數(shù)據(jù)分析手段,提供不同維度,不同度量的數(shù)據(jù)分析展示,也可以實現(xiàn)按任 意維度進行所需數(shù)據(jù)的鉆取功能。
[0096] (3)構(gòu)建關(guān)系數(shù)據(jù)元組模型
[0097] 對不需要分層的結(jié)構(gòu)數(shù)據(jù),如GDP、匯率等,經(jīng)過數(shù)據(jù)庫規(guī)范化理論設(shè)計,得到完整 的實體數(shù)據(jù),將這些數(shù)據(jù)存儲到關(guān)系數(shù)據(jù)庫元組級別關(guān)系數(shù)據(jù)模式中多個表的多個元組中 去,組成關(guān)系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)元祖模型。
[0098] (4)構(gòu)建關(guān)系數(shù)據(jù)對象模型
[0099] 對要以樹形結(jié)構(gòu)分層的非結(jié)構(gòu)和半結(jié)化數(shù)據(jù),如指標主題、維度及成員,的存儲采 用關(guān)系數(shù)據(jù)對象模型構(gòu)建方法一嵌套集合模型。對指標主題、維度及成員等要分層的樹形 結(jié)構(gòu)數(shù)據(jù)的存儲采用嵌套集合模型,其優(yōu)點為:
[0100] (A)使系統(tǒng)趨于形成在關(guān)系模型中融合面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)。
[0101] (B)DB2(美國IBM公司開發(fā)的一套關(guān)系型數(shù)據(jù)庫系統(tǒng))數(shù)據(jù)庫使用SQL語言,SQL本 身就是一種面向集合的語言。
[0102] (C)便于更好和高效率地檢索整個分類表。
[0103] 對比鄰接表模型,搜索整個樹形時鄰接表模型需要為每層添加一個自連接,隨著 層的增加,自連接變得越來越復(fù)雜,檢索性能自然下降,而嵌套集合模型,不再是線與點了, 是集合,可以不用多個自連接就可以檢索出所需路徑,而且,檢索所有葉子節(jié)點,其方法比 鄰接表模型的left join(左連接)方法簡便多了,當然檢索效率被大大地提高了。再者,實 際需求是樹的層次深度可能很大,數(shù)據(jù)信息量龐大。綜合以上優(yōu)點和實際需求,數(shù)據(jù)庫系統(tǒng) 設(shè)計對指標主題、維度及成員等要分層的樹形結(jié)構(gòu)數(shù)據(jù)的存儲采用嵌套集合模型。
[0104] 層次結(jié)構(gòu)的集合關(guān)系和層次結(jié)構(gòu)的樹形結(jié)構(gòu),如圖7所示。
[0105] (5)維度的可擴展性設(shè)計
[0106] 為了解決用戶實際需求一維度和指標是可變化的,需要新增或更改設(shè)計。采用本 發(fā)明的維度可擴展性設(shè)計方法,將指標、維度的存儲設(shè)計從常規(guī)字段模式變?yōu)樾碌挠涗涥P(guān) 聯(lián)模式來適應(yīng)面向用戶的實際需求。數(shù)據(jù)庫關(guān)系表的這一功能設(shè)計,使得系統(tǒng)在數(shù)據(jù)庫層 就具備可以開發(fā)動態(tài)新增或更改指標維度的基礎(chǔ)。用戶在原型系統(tǒng)的交互界面就可以自定 義主題,自主選擇"主題"下包含的指標,實現(xiàn)"主題"的動態(tài)構(gòu)成。
[0107] 經(jīng)過步驟(1)至(5),就完成了集中型可擴展融合型復(fù)雜結(jié)構(gòu)關(guān)系的多維數(shù)據(jù)集關(guān) 系數(shù)據(jù)庫的構(gòu)建工作。
[0108] (6)功能模塊設(shè)計
[0109] 運行的原型系統(tǒng)的用戶應(yīng)用界面,使用其錄入、查詢、審核、主題或指標動態(tài)配置 等功能,可以體現(xiàn)原型系統(tǒng)中據(jù)本發(fā)明所論述的理論、方法和算法研發(fā)的數(shù)據(jù)存儲模塊部 分的功能實現(xiàn)。原型系統(tǒng)界面功能分別如下圖所示。其中,原型系統(tǒng)功能模塊如圖8所示,原 型系統(tǒng)界面指標錄入如圖9所示,原型系統(tǒng)界面指標審核如圖10所示,原型系統(tǒng)指標查詢數(shù) 據(jù)如圖11所不,原型系統(tǒng)指標查詢圖表如圖12所不,原型系統(tǒng)指標動態(tài)配置如圖13所不,原 型系統(tǒng)新增"數(shù)量維度"的維度成員"數(shù)值維度測試〇〇〇"如圖14所示。
【主權(quán)項】
1. 一種集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法,其特征在于包括以下 步驟: (1) 制定數(shù)據(jù)傳輸接口格式:制定所需集成的異構(gòu)數(shù)據(jù)庫數(shù)據(jù)、本系統(tǒng)結(jié)構(gòu)的實時數(shù)據(jù) 和歷史數(shù)據(jù)進入多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫的接口格式,制定多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫與企業(yè)級 Web應(yīng)用平臺原型軟件系統(tǒng)客戶端界面之間數(shù)據(jù)的存儲與訪問的格式; (2) 動態(tài)配置屬性參數(shù):在由計算機運行的企業(yè)級Web應(yīng)用平臺原型軟件系統(tǒng)的交互界 面,動態(tài)配置多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫所需的屬性參數(shù); (3) 構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫:采用關(guān)系數(shù)據(jù)庫技術(shù),結(jié)合多維數(shù)據(jù)集技術(shù),以"基礎(chǔ) 數(shù)據(jù)表"為中心,采用維度表關(guān)聯(lián)"基礎(chǔ)數(shù)據(jù)表"的雪花型結(jié)構(gòu),構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù) 庫; (4) 構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)元祖模型:在多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中, 將來源于客戶端計算機的已經(jīng)清洗過的結(jié)構(gòu)化元數(shù)據(jù),按照數(shù)據(jù)庫規(guī)范化理論設(shè)計后,得 到完整的實體數(shù)據(jù),再將這些實體數(shù)據(jù)存儲到維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中多個 表的元組中去,這些表是面向存儲的元組級別的關(guān)系數(shù)據(jù)模式表,如此組成多維數(shù)據(jù)集關(guān) 系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)元祖模型; (5) 構(gòu)建多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中的關(guān)系數(shù)據(jù)對象模型:在多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中, 針對來源于客戶端計算機已經(jīng)清洗過的半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),經(jīng)過客戶端、服務(wù)器和 數(shù)據(jù)庫的訪問和處理,用關(guān)系數(shù)據(jù)對象模型的構(gòu)建方法,生成多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中的 關(guān)系數(shù)據(jù)對象模型; (6) 構(gòu)建維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫:在多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫中,設(shè)計邏輯 上的由"維度"、"維度成員"和"維度連接中間表"三部分組成的維度管理模塊,以維度可擴 展性方法,構(gòu)建維度可擴展的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫; (7) 構(gòu)建可擴展融合型復(fù)雜結(jié)構(gòu)關(guān)系的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫:在維度可擴展的多維 數(shù)據(jù)集關(guān)系數(shù)據(jù)庫的關(guān)系數(shù)據(jù)元組模型中,對結(jié)構(gòu)化數(shù)據(jù)的處理,采用SQL技術(shù),用SQL語言 編寫代碼;對半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的處理,采用NoSQL思想,用SQL語言編寫"嵌套集合" 算法代碼,實現(xiàn)NoSQL的通用數(shù)據(jù)建模技術(shù);利用SQL和NoSQL技術(shù),經(jīng)過客戶端、服務(wù)器和數(shù) 據(jù)庫的訪問和處理,生成可擴展融合型復(fù)雜結(jié)構(gòu)關(guān)系的多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫; (8) 充實和完善關(guān)系數(shù)據(jù)存儲系統(tǒng):反復(fù)進行(1)至(7)的步驟,不斷充實和完善企業(yè)級 Web應(yīng)用平臺軟件系統(tǒng)中所建立的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)存儲系統(tǒng), 至達到企業(yè)對數(shù)據(jù)的完整性要求、面向用戶和主題的數(shù)據(jù)存儲和查詢、半結(jié)構(gòu)化和非結(jié)構(gòu) 化數(shù)據(jù)的客戶端的層次結(jié)構(gòu)展現(xiàn)和動態(tài)修改維度和主題的目的。2. 根據(jù)權(quán)利要求1所述的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法,其 特征在于,通過計算機運行的企業(yè)級Web應(yīng)用平臺軟件系統(tǒng)的用戶應(yīng)用界面,使用至少包括 錄入、查詢、審核、主題或指標動態(tài)配置的功能,對在計算機運行的企業(yè)級Web應(yīng)用平臺軟件 系統(tǒng)中的所建立的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)存儲系統(tǒng)管理中心進行應(yīng) 用驗證。3. 根據(jù)權(quán)利要求1或2所述的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法, 其特征在于,在步驟(5)中,經(jīng)過下述方法對客戶端、服務(wù)器和數(shù)據(jù)庫進行訪問和處理:在服 務(wù)器中,通過嵌套集合算法,生成對象圖,將對象圖保存到計算機運行的企業(yè)級Web應(yīng)用平 臺軟件系統(tǒng)的維度可擴展多維數(shù)據(jù)集關(guān)系數(shù)據(jù)庫表中;在客戶端運行的計算機,經(jīng)服務(wù)器 端對數(shù)據(jù)庫進行訪問,取出數(shù)據(jù)庫中的相關(guān)模型數(shù)據(jù)后至服務(wù)器中,用堆棧方法將數(shù)據(jù)生 成對象圖,再將此對象圖經(jīng)過轉(zhuǎn)換為JSON格式保存,再傳送至客戶端;最后運行的客戶端計 算機,通過解析接收的JSON格式文件,裝載到界面顯示出樹狀層次數(shù)據(jù)。4. 根據(jù)權(quán)利要求1或2所述的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法, 其特征在于,在步驟(6)中,采用將Web應(yīng)用系統(tǒng)中所有維度以表的行記錄方式保存到多維 數(shù)據(jù)集關(guān)系數(shù)據(jù)庫的維度管理模塊中,并利用"嵌套集合"模型算法來實現(xiàn)維度管理模塊的 維度信息的層次結(jié)構(gòu)存儲和訪問,形成維度的可擴展性方法,構(gòu)建維度可擴展的多維數(shù)據(jù) 集關(guān)系數(shù)據(jù)庫。5. 根據(jù)權(quán)利要求3所述的集中式可擴展融合型多維復(fù)雜結(jié)構(gòu)關(guān)系數(shù)據(jù)的存儲方法,其 特征在于,在步驟(6)中,采用將Web應(yīng)用系統(tǒng)中所有維度以表的行記錄方式保存到多維數(shù) 據(jù)集關(guān)系數(shù)據(jù)庫的維度管理模塊中,并利用"嵌套集合"模型算法來實現(xiàn)維度管理模塊的維 度信息的層次結(jié)構(gòu)存儲和訪問,形成維度的可擴展性方法,構(gòu)建維度可擴展的多維數(shù)據(jù)集 關(guān)系數(shù)據(jù)庫。
【文檔編號】G06F17/30GK106095862SQ201610390831
【公開日】2016年11月9日
【申請日】2016年6月2日 公開號201610390831.3, CN 106095862 A, CN 106095862A, CN 201610390831, CN-A-106095862, CN106095862 A, CN106095862A, CN201610390831, CN201610390831.3
【發(fā)明人】夏翔, 范軼翔, 黃寧, 王鵬
【申請人】四川大學(xué)