亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種關系數(shù)據(jù)的服務封裝系統(tǒng)和方法

文檔序號:6426731閱讀:186來源:國知局
專利名稱:一種關系數(shù)據(jù)的服務封裝系統(tǒng)和方法
技術領域
本發(fā)明涉及數(shù)據(jù)庫技術領域、分布式計算和互聯(lián)網(wǎng)計算技術領域,具體地說,本發(fā)明涉及ー種關系數(shù)據(jù)的服務封裝系統(tǒng)和方法。
背景技術
面向服務的架構(SOA)的典型特征包括松耦合、高重用性、服務封裝、位置透明,以及由此帶來的較高的互操作能力等,它以服務為最基本的可重用単元,服務已成為企業(yè)應用集成、信息集成的主流方式之一。將企業(yè)內的各種數(shù)據(jù)資源封裝為服務是利用服務進行信息集成的關鍵步驟,一般地,將這類從數(shù)據(jù)源獲取數(shù)據(jù)的服務稱為數(shù)據(jù)服務,也稱為數(shù)據(jù)提供服務,數(shù)據(jù)服務所提供的數(shù)據(jù)是符合特定邏輯的,它們有可能是對數(shù)據(jù)源的查詢結果,也可能是對數(shù)據(jù)源進行過濾、變換等處理后的數(shù)據(jù)等。將數(shù)據(jù)封裝為服務一方面是數(shù)據(jù)服務提供者提供特定邏輯的 數(shù)據(jù)獲取服務時必須進行的工作,另ー方面在公共數(shù)據(jù)平臺上,平臺運行維護者提供大量數(shù)據(jù),數(shù)據(jù)使用者也可將所需數(shù)據(jù)進行封裝以獲得滿足自身需求的數(shù)據(jù)服務。當前主要的服務實現(xiàn)技術包括SOAP Web服務和Restful Web服務等,前者利用WSDL標準來描述服務、利用SOAP作為消息傳輸協(xié)議,同時包括UDDI、WS-Addressing等協(xié)議棧,是企業(yè)級面向服務架構的基本實現(xiàn)方案,后者是輕量級服務的代表,它將網(wǎng)絡上的所有事物抽象為資源,通過URL地址來描述資源,通過標準的HTTP方法來操作資源。服務封裝的目標是將各種資源或業(yè)務邏輯發(fā)布為基于這些具體技術的Web服務?,F(xiàn)有的關系數(shù)據(jù)服務封裝的方法大多將復雜的SQL查詢語句封裝為服務,將SQL語句的參數(shù)和投影結果抽取出來作為服務的輸入輸出參數(shù)。其缺陷是用戶需要瀏覽多個表以了解表之間的關聯(lián)關系,且需要編寫復雜的SQL語句,運行調試以保證語法正確,再在此基礎上進行服務封裝,用戶的體驗較差。另ー種方法是將各個表的數(shù)據(jù)單獨封裝為服務,用戶在這些數(shù)據(jù)服務的基礎上進行組合操作以實現(xiàn)復雜邏輯。其缺陷是未考慮關系表之間的關系,無法反映特定的數(shù)據(jù)獲取邏輯(此處的數(shù)據(jù)獲取邏輯指類似于SQL的數(shù)據(jù)查詢邏輯),用戶需要在獲得所有表的數(shù)據(jù)后才能通過組合操作表達復雜邏輯,因此這種方法與直接在服務中封裝數(shù)據(jù)獲取邏輯相比,其效率明顯降低。并且,利用上述兩種方法封裝的服務所獲得的數(shù)據(jù)均為扁平結構,即缺乏數(shù)據(jù)之間的內在邏輯層次。因此,當前迫切需要一種關系數(shù)據(jù)的服務封裝系統(tǒng)和方法,該服務封裝系統(tǒng)和方法能夠直觀地呈現(xiàn)關系數(shù)據(jù)模式和關聯(lián)關系,能使用戶以直觀的方式表達數(shù)據(jù)獲取邏輯,并能夠將用戶所表達的數(shù)據(jù)獲取邏輯映射至對關系數(shù)據(jù)的查詢上。

發(fā)明內容
本發(fā)明的目的是提供一種能夠直觀地呈現(xiàn)關系數(shù)據(jù)模式和關聯(lián)關系,能使用戶以直觀的方式表達數(shù)據(jù)獲取邏輯,井能夠將用戶所表達的數(shù)據(jù)獲取邏輯自動映射至對關系數(shù)據(jù)的查詢,同時將查詢過程自動封裝為程序接ロ并發(fā)布為可訪問服務的關系數(shù)據(jù)的服務封裝系統(tǒng)和方法。為實現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種關系數(shù)據(jù)的服務封裝系統(tǒng),包括數(shù)據(jù)對象生成裝置,用于根據(jù)關系表生成數(shù)據(jù)對象;可視化數(shù)據(jù)對象配置裝置,用于將所述數(shù)據(jù)對象以對象樹的形式呈現(xiàn)給用戶,并接受用戶的配置操作以形成帶有配置操作信息的對象樹;以及數(shù)據(jù)服務生成和發(fā)布裝置,用于為每ー個數(shù)據(jù)對象生成一個服務實現(xiàn)接ロ ;從所述的帶有配置操作信息的對象樹中抽取出參數(shù),并將其設為服務實現(xiàn)接ロ的輸入?yún)?shù);根據(jù)所述的帶有配置操作信息的對象樹生成返回數(shù)據(jù)類型,并將服務實現(xiàn)接ロ的返回類型設為該數(shù)據(jù)類型;根據(jù)所述的帶有配置操作信息的對象樹生成該服務實現(xiàn)接ロ的內部邏輯;將生成的服務實現(xiàn)接ロ發(fā)布到某一地址上。

其中,所述帶有配置操作信息的對象樹包括約束樹和結果樹;所述數(shù)據(jù)服務生成和發(fā)布裝置,還用于從所述約束樹的節(jié)點中抽取出參數(shù),并將其設為服務實現(xiàn)接ロ的輸入?yún)?shù);根據(jù)所述結果樹生成返回數(shù)據(jù)類型,并將服務實現(xiàn)接ロ的返回類型設為該數(shù)據(jù)類型;根據(jù)所述約束樹生成該服務實現(xiàn)接ロ的內部邏輯。其中,所述數(shù)據(jù)對象生成裝置,還用于對于ー個需要生成相應數(shù)據(jù)對象的關系表,其中的非外鍵字段構成所述數(shù)據(jù)對象的簡單屬性,其中的外鍵字段所關聯(lián)的關系表的結構構成所述數(shù)據(jù)對象的復合屬性,對于通過外鍵關聯(lián)到所述需要生成相應數(shù)據(jù)對象的關系表的關系表,當關聯(lián)關系聲明為唯一時,所述通過外鍵關聯(lián)到所述需要生成相應數(shù)據(jù)對象的關系表的關系表的結構構成所述數(shù)據(jù)對象的復合屬性,當關聯(lián)關系沒有聲明為唯一時,所述通過外鍵關聯(lián)到所述需要生成相應數(shù)據(jù)對象的關系表的關系表的列表構成所述數(shù)據(jù)對象的列表屬性。其中,所述可視化數(shù)據(jù)對象配置裝置用于接受用戶的下列配置操作中的一種或多種選擇操作、增加約束操作、聚集操作、排序操作。其中,所述可視化數(shù)據(jù)對象配置裝置還用于接受用戶的隱藏數(shù)據(jù)節(jié)點操作和/或重命名操作。其中,所述可視化數(shù)據(jù)對象配置裝置還用于接受用戶的展開操作和/或切換數(shù)據(jù)對象視圖。其中,所述可視化數(shù)據(jù)對象配置裝置還用于對用戶的配置操作進行有效性驗證。本發(fā)明還提供了相應的關系數(shù)據(jù)的服務封裝方法,包括下列步驟I)將關系表轉化為數(shù)據(jù)對象;2)將數(shù)據(jù)對象呈現(xiàn)為數(shù)據(jù)對象樹;3)用戶根據(jù)實際需要在數(shù)據(jù)對象樹視圖上進行配置操作;4)根據(jù)所述配置操作更新對象樹得到帶有配置操作信息的對象樹;5)從所述的帶有配置操作信息的對象樹抽取出服務實現(xiàn)接ロ的參數(shù)、根據(jù)所述的帶有配置操作信息的對象樹生成服務實現(xiàn)接ロ的返回數(shù)據(jù)類型、生成該服務實現(xiàn)接ロ的內部邏輯,從而生成服務實現(xiàn)接ロ ;6)將所生成的服務實現(xiàn)接ロ發(fā)布至某一地址。其中,所述帶有配置操作信息的對象樹包括約束樹和結果樹;所述步驟5)中,從約束樹的節(jié)點中抽取出參數(shù),并將其設為服務實現(xiàn)接ロ的輸入?yún)?shù);根據(jù)結果樹生成返回數(shù)據(jù)類型,并將服務實現(xiàn)接ロ的返回類型設為該數(shù)據(jù)類型;根據(jù)約束樹生成該服務實現(xiàn)接ロ的內部邏輯。其中,所述步驟3)中,還包括對用戶的配置操作進行有效性驗證,只有通過有效性驗證,才能繼續(xù)執(zhí)行步驟4)。其中,所述步驟3)中,用戶的配置操作包括展開操作、選擇操作、增加約束操作、刪除約束操作、聚集操作、隱藏數(shù)據(jù)節(jié)點操作、重命名操作、排序操作中的ー種或多種。相對于現(xiàn)有技術,本發(fā)明具有下列技術效果I、能夠直觀地呈現(xiàn)關系數(shù)據(jù)模式和關聯(lián)關系,并且能使用戶以直觀的方式表達數(shù)據(jù)獲取邏輯,井能夠將用戶所表達的數(shù)據(jù)獲取邏輯映射至對關系數(shù)據(jù)的查詢上。
2、通過對象樹呈現(xiàn)關系數(shù)據(jù)模式,覆蓋了關系數(shù)據(jù)中最常見的基于外鍵引用的數(shù)據(jù)庫表連接,同時表達了引用和被引用關系,且這種關系是可在視圖上逐層擴展和深入的,并且可基于此關聯(lián)關系即時轉換視圖焦點,即當前主要描述的數(shù)據(jù)對象。3、用戶對數(shù)據(jù)對象的操作覆蓋了基本的數(shù)據(jù)庫查詢操作,同數(shù)據(jù)對象本身包涵的引用和被引用關系一起能夠覆蓋絕大多數(shù)的數(shù)據(jù)庫查詢需求。4、能夠自動化地將用戶以可視化操作的方式表達的數(shù)據(jù)獲取邏輯轉化為用程序設計語言和數(shù)據(jù)庫操作語言實現(xiàn)的程序過程,并且發(fā)布為可通過網(wǎng)絡訪問的Web服務。服務的接ロ保留了符合用戶需求的數(shù)據(jù)層次結構。


圖I示出了本發(fā)明ー個實施例的關系數(shù)據(jù)可視化服務封裝系統(tǒng)的結構示意圖;圖2示出了本發(fā)明ー個實施例的關系數(shù)據(jù)可視化服務封裝方法的流程圖;圖3示出了本發(fā)明ー個實施例的將關系數(shù)據(jù)對象化的方法流程圖;圖4示出了本發(fā)明一個實施例的中利用數(shù)據(jù)服務生成和發(fā)布裝置生成服務接ロ并發(fā)布的流程圖;圖5示出了本發(fā)明ー個實施例中將約束樹劃分為子樹片段的示例;圖6示出了本發(fā)明ー個實施例中基于子樹片段構造SQL語句及返回該SQL語句的結果列表的遞歸過程;圖7-01示出了一個關系數(shù)據(jù)模式的示例;圖7-02示出了一個將圖7-01中的示例對象化過程后生成的初始對象視圖的示例;圖7-03示出了ー個append操作的示例;圖7-04示出了圖7-03的append操作后的對象視圖示例;圖7-05示出了一個select操作的示例;圖7-06示出了圖7-05的select操作形成的結果樹示例;圖7-07示出了在一個節(jié)點上進行addConstraint操作的示例;圖7-08示出了在另ー個節(jié)點上進行addConstraint操作的示例;圖7-09示出了圖7-07、7-08的addConstraint操作后所得的約束樹示例;圖7-10示出了ー個aggregate操作的示例;圖7-11示出了圖7-10的aggregate操作后的約束樹的示例;
圖7-12示出了圖7-10的aggregate操作后的結果樹的示例;圖7-13示出了ー個sort操作的示例;圖7-14示出了圖7-13的sort操作后的約束樹的示例;圖7-15示出了將操作后的對象樹發(fā)布為服務的過程中用戶輸入服務名稱及服務操作名稱的示例。
具體實施例方式下面結合附圖和實施例對本發(fā)明做進ー步地描述。根據(jù)本發(fā)明的一個實施例,提供了一種關系數(shù)據(jù)的服務封裝系統(tǒng),該服務封裝系統(tǒng)是ー個基于對象的關系數(shù)據(jù)可視化服務封裝系統(tǒng)。如圖I所示,所述基于對象的關系數(shù) 據(jù)可視化服務封裝系統(tǒng)100包括ー個數(shù)據(jù)對象生成裝置101,一個可視化數(shù)據(jù)對象配置裝置102和ー個數(shù)據(jù)服務生成和發(fā)布裝置105。數(shù)據(jù)對象生成裝置101將數(shù)據(jù)庫中的相互關聯(lián)的各個關系表轉化為數(shù)據(jù)對象;可視化數(shù)據(jù)對象配置裝置102包含對象樹展示模塊103和配置操作驗證和處理模塊104,前者負責數(shù)據(jù)對象的呈現(xiàn),后者負責處理在數(shù)據(jù)對象上的配置操作,保證操作的有效性;數(shù)據(jù)服務生成和發(fā)布裝置105包含服務實現(xiàn)接口和參數(shù)類型生成模塊106和服務發(fā)布模塊107,前者將用戶對數(shù)據(jù)對象的配置操作轉化為對關系數(shù)據(jù)的查詢及相關處理邏輯,生成參數(shù)類型以及服務實施代碼和接ロ,后者利用Axis等服務發(fā)布工具將接ロ發(fā)布為可訪問的服務。下面分別介紹數(shù)據(jù)對象生成裝置101、可視化數(shù)據(jù)對象配置裝置102、數(shù)據(jù)服務生成和發(fā)布裝置105。一、數(shù)據(jù)對象生成裝置數(shù)據(jù)對象由根據(jù)關系表及其關聯(lián)關系而得出的屬性構成,這些屬性包括簡單屬性、復合屬性、列表屬性。在一個優(yōu)選實施例中,數(shù)據(jù)對象生成裝置為每個關系表生成ー個數(shù)據(jù)對象,關系表中的非外鍵字段構成數(shù)據(jù)對象的簡單屬性;關系表中的外鍵字段所關聯(lián)的表的結構構成了該數(shù)據(jù)對象的復合屬性,對于通過外鍵關聯(lián)到該關系表的關系表,其結構或其列表構成了該數(shù)據(jù)對象的復合或列表屬性,這取決于該關聯(lián)關系(即引用關系)定義時是否聲明為唯一(unique),若是,表明該關聯(lián)為ー對ー關聯(lián),該屬性為復合屬性,否則該屬性為列表屬性。為了更易于理解,下面舉例說明復合屬性和列表屬性。復合屬性構成的根源為引用關系,例如表A的結構為A(£i,c2,c3),表B的結構為B(c4, c5, c6),下劃線表示主鍵,其中表A中的c3字段引用了表B的c4字段,則表A對應的
數(shù)據(jù)對象結構為
權利要求
1.一種關系數(shù)據(jù)的服務封裝系統(tǒng),包括 數(shù)據(jù)對象生成裝置,用于根據(jù)關系表生成數(shù)據(jù)對象; 可視化數(shù)據(jù)對象配置裝置,用于將所述數(shù)據(jù)對象以對象樹的形式呈現(xiàn)給用戶,并接受用戶的配置操作以形成帶有配置操作信息的對象樹;以及 數(shù)據(jù)服務生成裝置,用于為每ー個數(shù)據(jù)對象生成一個服務實現(xiàn)接ロ ;從所述的帶有配置操作信息的對象樹中抽取出參數(shù),并將其設為服務實現(xiàn)接ロ的輸入?yún)?shù);根據(jù)所述的帶有配置操作信息的對象樹生成返回數(shù)據(jù)類型,并將服務實現(xiàn)接ロ的返回類型設為該數(shù)據(jù)類型;根據(jù)所述的帶有配置操作信息的對象樹生成該服務實現(xiàn)接ロ的內部邏輯。
2.根據(jù)權利要求I所述的關系數(shù)據(jù)的服務封裝系統(tǒng),其特征在于,所述帶有配置操作信息的對象樹包括約束樹和結果樹;所述數(shù)據(jù)服務生成裝置還用于從所述約束樹的節(jié)點中抽取出參數(shù),并將其設為服務實現(xiàn)接ロ的輸入?yún)?shù);根據(jù)所述結果樹生成返回數(shù)據(jù)類型,并將服務實現(xiàn)接ロ的返回類型設為該數(shù)據(jù)類型;根據(jù)所述約束樹生成該服務實現(xiàn)接ロ的內部邏輯。
3.根據(jù)權利要求I所述的關系數(shù)據(jù)的服務封裝系統(tǒng),其特征在于,所述數(shù)據(jù)對象生成裝置還用于對于ー個需要生成相應數(shù)據(jù)對象的關系表,其中的非外鍵字段構成所述數(shù)據(jù)對象的簡單屬性,其中的外鍵字段所關聯(lián)的關系表的結構構成所述數(shù)據(jù)對象的復合屬性,對于通過外鍵關聯(lián)到所述需要生成相應數(shù)據(jù)對象的關系表的關系表,當關聯(lián)關系聲明為唯一時,所述通過外鍵關聯(lián)到所述需要生成相應數(shù)據(jù)對象的關系表的關系表的結構構成所述數(shù)據(jù)對象的復合屬性,當關聯(lián)關系沒有聲明為唯一時,所述通過外鍵關聯(lián)到所述需要生成相應數(shù)據(jù)對象的關系表的關系表的列表構成所述數(shù)據(jù)對象的列表屬性。
4.根據(jù)權利要求I所述的關系數(shù)據(jù)的服務封裝系統(tǒng),其特征在于,所述可視化數(shù)據(jù)對象配置裝置用于接受用戶的下列配置操作中的ー種或多種選擇操作、增加約束操作、聚集操作、排序操作。
5.根據(jù)權利要求4所述的關系數(shù)據(jù)的服務封裝系統(tǒng),其特征在干,所述可視化數(shù)據(jù)對象配置裝置還用于接受用戶的隱藏數(shù)據(jù)節(jié)點操作和/或重命名操作。
6.根據(jù)權利要求5所述的關系數(shù)據(jù)的服務封裝系統(tǒng),其特征在于,所述可視化數(shù)據(jù)對象配置裝置還用于接受用戶的展開操作和/或切換數(shù)據(jù)對象視圖。
7.根據(jù)權利要求I所述的關系數(shù)據(jù)的服務封裝系統(tǒng),其特征在于,所述可視化數(shù)據(jù)對象配置裝置還用于對用戶的配置操作進行有效性驗證。
8.一種關系數(shù)據(jù)的服務封裝方法,包括下列步驟 1)將關系表轉化為數(shù)據(jù)對象; 2)將數(shù)據(jù)對象呈現(xiàn)為數(shù)據(jù)對象樹; 3)用戶根據(jù)實際需要在數(shù)據(jù)對象樹視圖上進行配置操作; 4)根據(jù)所述配置操作更新對象樹得到帶有配置操作信息的對象樹; 5)從所述的帶有配置操作信息的對象樹抽取出服務實現(xiàn)接ロ的參數(shù)、根據(jù)所述的帶有配置操作信息的對象樹生成服務實現(xiàn)接ロ的返回數(shù)據(jù)類型、生成該服務實現(xiàn)接ロ的內部邏輯,從而生成服務實現(xiàn)接ロ。
9.根據(jù)權利要求8所述的關系數(shù)據(jù)的服務封裝方法,其特征在于,所述帶有配置操作信息的對象樹包括約束樹和結果樹;所述步驟5)中,從約束樹的節(jié)點中抽取出參數(shù),并將其設為服務實現(xiàn)接ロ的輸入?yún)?shù);根據(jù)結果樹生成返回數(shù)據(jù)類型,并將服務實現(xiàn)接ロ的返回類型設為該數(shù)據(jù)類型;根據(jù)約束樹生成該服務實現(xiàn)接ロ的內部邏輯。
10.根據(jù)權利要求8所述的關系數(shù)據(jù)的服務封裝方法,其特征在于,所述步驟3)中,還包括對用戶的配置操作進行有效性驗證,只有通過有效性驗證,才能繼續(xù)執(zhí)行步驟4)。
11.根據(jù)權利要求8所述的關系數(shù)據(jù)的服務封裝方法,其特征在于,所述步驟3)中,用戶的配置操作包括展開操作、選擇操作、增加約束操作、刪除約束操作、聚集操作、隱藏數(shù)據(jù)節(jié)點操作、重命名操作、排序操作中的ー種或多種。
全文摘要
本發(fā)明提供一種關系數(shù)據(jù)的服務封裝系統(tǒng),包括數(shù)據(jù)對象生成裝置,用于根據(jù)關系表生成數(shù)據(jù)對象;可視化數(shù)據(jù)對象配置裝置,用于將所述數(shù)據(jù)對象以對象樹的形式呈現(xiàn)給用戶,并接受用戶的配置操作以形成帶有配置操作信息的對象樹;以及數(shù)據(jù)服務生成裝置,用于根據(jù)所述帶有配置操作信息的對象樹為每一個數(shù)據(jù)對象生成一個服務實現(xiàn)接口。本發(fā)明還提供了相應的關系數(shù)據(jù)的服務封裝方法。本發(fā)明能夠直觀地呈現(xiàn)關系數(shù)據(jù)模式和關聯(lián)關系,并且能使用戶以直觀的方式表達數(shù)據(jù)獲取邏輯,并能夠將用戶所表達的數(shù)據(jù)獲取邏輯映射至對關系數(shù)據(jù)的查詢上。
文檔編號G06F17/30GK102841892SQ20111016762
公開日2012年12月26日 申請日期2011年6月21日 優(yōu)先權日2011年6月21日
發(fā)明者溫彥, 房俊, 韓燕波 申請人:中國科學院計算技術研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1