欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)及其查詢和報(bào)表方法

文檔序號(hào):6426050閱讀:182來(lái)源:國(guó)知局
專利名稱:一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)及其查詢和報(bào)表方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)的存儲(chǔ)及處理技術(shù),特別是涉及一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)及其查詢和報(bào)表方法。
背景技術(shù)
數(shù)據(jù)庫(kù)技術(shù)已經(jīng)廣泛應(yīng)用于各種管理信息系統(tǒng),成為決策支持系統(tǒng)和專家系統(tǒng)的基礎(chǔ)。特別是關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)(RDBMS,Relation DataBase System)已日益受到重視。
關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)以數(shù)據(jù)的關(guān)系模型為基礎(chǔ),根據(jù)自定義的關(guān)系來(lái)存儲(chǔ)、處理和管理數(shù)據(jù)庫(kù)信息。通常,關(guān)系型數(shù)據(jù)庫(kù)中包含大量數(shù)據(jù)信息,但是,實(shí)際應(yīng)用中并不是需要所有的數(shù)據(jù)信息,而是需要符合某些條件的一些數(shù)據(jù)信息,此時(shí),可以通過(guò)查詢來(lái)檢索符合條件的數(shù)據(jù)信息。此外,還可以通過(guò)報(bào)表來(lái)實(shí)現(xiàn)數(shù)據(jù)的計(jì)算、歸類、匯總和排序。
近來(lái),大型企業(yè)、股票交易商、信用卡公司、保險(xiǎn)公司以及電話公司等單位均由總部和分布于各地的分公司或營(yíng)業(yè)部組成,而且各分公司的業(yè)務(wù)一般采用單獨(dú)數(shù)據(jù)庫(kù)運(yùn)行模式,獨(dú)立完成整個(gè)業(yè)務(wù)流程并存放原始數(shù)據(jù)??紤]到該模式存在資源分散、管理難度大、信息不對(duì)稱和風(fēng)險(xiǎn)控制能力差等種種問(wèn)題,業(yè)界普遍在總部建設(shè)數(shù)據(jù)中心,用于將這些位于不同數(shù)據(jù)庫(kù)的業(yè)務(wù)數(shù)據(jù)復(fù)制并集中存放,進(jìn)行綜合的應(yīng)用,同時(shí)又不影響原來(lái)的業(yè)務(wù)系統(tǒng)的功能。以證券公司為例,普遍在總部建設(shè)一個(gè)集中各營(yíng)業(yè)部交易數(shù)據(jù)的數(shù)據(jù)中心,在此基礎(chǔ)上,數(shù)據(jù)中心往往還包括了財(cái)務(wù)、法人清算、交易所、銀行對(duì)帳等各種業(yè)務(wù)數(shù)據(jù)。因此,如何更好地使用這些業(yè)務(wù)數(shù)據(jù)實(shí)現(xiàn)風(fēng)險(xiǎn)控制、決策支持等應(yīng)用,成為越來(lái)越受關(guān)注的話題。
目前,現(xiàn)有技術(shù)中,基于關(guān)系型數(shù)據(jù)庫(kù)的查詢和報(bào)表技術(shù)的實(shí)現(xiàn)主要有兩類。一類是基于數(shù)據(jù)倉(cāng)庫(kù)的技術(shù),具有代表性的有BO、Micro Strategy、MicrosoftReport Server等;另一類是基于業(yè)務(wù)的查詢和報(bào)表系統(tǒng)。
請(qǐng)參閱圖1,是一種采用Micro Strategy技術(shù)的系統(tǒng)的拓?fù)浣Y(jié)構(gòu)圖。其中,數(shù)據(jù)倉(cāng)庫(kù)810用于將來(lái)自其它系統(tǒng)的有用資料存放在一整合的儲(chǔ)存區(qū)內(nèi),其實(shí)質(zhì)就是經(jīng)過(guò)處理整合且容量特別大的關(guān)系型數(shù)據(jù)庫(kù);為了便于數(shù)據(jù)分析、數(shù)據(jù)挖掘等的應(yīng)用,數(shù)據(jù)倉(cāng)庫(kù)810存放的是經(jīng)過(guò)整理和清洗的業(yè)務(wù)數(shù)據(jù)。
所述元數(shù)據(jù)庫(kù)820用于存儲(chǔ)數(shù)據(jù)模型。所述數(shù)據(jù)模型基于數(shù)據(jù)倉(cāng)庫(kù)建立,該系統(tǒng)中通過(guò)數(shù)據(jù)模型來(lái)實(shí)現(xiàn)查詢和報(bào)表。
請(qǐng)參閱圖2,是Micro Strategy的數(shù)據(jù)模型的層次。由于該數(shù)據(jù)模型的某些層次之間可以有相互的嵌套,為了表述清楚,只給出最基本的層次及層次關(guān)系。其中,各部分的功能是表(Table)對(duì)于原始數(shù)據(jù)表的直接定義,主要是字段及其類型;事實(shí)(Fact)可計(jì)算的字段,可以是字段或表達(dá)式,主要是數(shù)量,金額等內(nèi)容;度量(Metric)加上聚合計(jì)算的Fact的表達(dá)式,如SUM(F1*F2),MIN(F1)/AVG(F1)等;緯度(Attribute)用來(lái)確定聚合程度的字段,如日期的年、月、日,地區(qū)的省、市、縣等;過(guò)濾(Filter)用于過(guò)濾數(shù)據(jù),用大小比較,包含等方式進(jìn)行數(shù)據(jù)的過(guò)濾,如[年]=2004;提示(Prompt)可以由用戶輸入條件的Filter,在執(zhí)行報(bào)表時(shí)由用戶輸入一定的條件;報(bào)表(Report)報(bào)表的定義,包括報(bào)表包含基本元素的,顯示布局、格式等。
基于該系統(tǒng)的查詢和報(bào)表的實(shí)現(xiàn)過(guò)程是專用客戶端860事先生成報(bào)表元數(shù)據(jù),存放到元數(shù)據(jù)庫(kù)820;用戶通過(guò)客戶端850發(fā)起查看報(bào)表的動(dòng)作;WEB服務(wù)器840接收請(qǐng)求,通過(guò)報(bào)表服務(wù)器830從元數(shù)據(jù)庫(kù)820取得報(bào)表?xiàng)l件定義,并生成條件頁(yè)面,返回給客戶端;用戶輸入條件,發(fā)送到WEB服務(wù)器840;WEB服務(wù)器840接收條件,并向報(bào)表服務(wù)器830發(fā)起執(zhí)行報(bào)表的命令;報(bào)表服務(wù)器830根據(jù)用戶輸入的條件和元數(shù)據(jù)生成SQL語(yǔ)句,并到數(shù)據(jù)倉(cāng)庫(kù)810上執(zhí)行;報(bào)表服務(wù)器830將執(zhí)行結(jié)果連同元數(shù)據(jù)定義生成標(biāo)準(zhǔn)的數(shù)據(jù)格式(XML),返回給WEB服務(wù)器840;WEB服務(wù)器840根據(jù)執(zhí)行結(jié)果和元數(shù)據(jù)定義生成結(jié)果頁(yè)面,返回給客戶端850。
該系統(tǒng)雖然可以實(shí)現(xiàn)查詢和報(bào)表,但是并不適用于數(shù)據(jù)中心的建設(shè)。這是因?yàn)槭紫?,該系統(tǒng)過(guò)于依賴于數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)模型,要求對(duì)數(shù)據(jù)有較好的整理和清洗,而數(shù)據(jù)中心則需要盡量保證數(shù)據(jù)的完整性,因此整理和清洗程度很小;其次,該系統(tǒng)的數(shù)據(jù)模型的結(jié)構(gòu)比較復(fù)雜,生成一個(gè)交互式報(bào)表最少也需要7個(gè)層次的模型對(duì)象;再次,該系統(tǒng)對(duì)于復(fù)雜的查詢和報(bào)表的支持比較差,由于過(guò)度依賴于數(shù)據(jù)模型,對(duì)于一些無(wú)法簡(jiǎn)單用模型描述的復(fù)雜的查詢和報(bào)表,支持就非常差,往往需要生搬硬套,還不一定能達(dá)到預(yù)期的效果;再次,此類技術(shù)常見(jiàn)國(guó)外的軟件系統(tǒng),對(duì)中國(guó)式的報(bào)表展示格式缺乏支持;此外,報(bào)表服務(wù)器采用直接連接數(shù)據(jù)庫(kù)的方式,對(duì)多層結(jié)構(gòu)支持較差,難以實(shí)現(xiàn)數(shù)據(jù)庫(kù)和報(bào)表服務(wù)器在網(wǎng)絡(luò)上的分離,安全性較差。
請(qǐng)參閱圖3,是基于業(yè)務(wù)的查詢和報(bào)表系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖。該系統(tǒng)常見(jiàn)于交易系統(tǒng)、財(cái)務(wù)系統(tǒng)、法人清算系統(tǒng)等各種業(yè)務(wù)系統(tǒng)。
該系統(tǒng)的查詢和報(bào)表的實(shí)現(xiàn)過(guò)程如下首先,用戶發(fā)起查看報(bào)表的動(dòng)作;其次,客戶端910通過(guò)代碼實(shí)現(xiàn)報(bào)表的定義,生成條件界面,接收用戶的輸入;隨后,客戶端910根據(jù)用戶輸入的條件通過(guò)代碼生成SQL語(yǔ)句,并通過(guò)應(yīng)用路由服務(wù)器920發(fā)送到中間件服務(wù)器930上執(zhí)行;中間件服務(wù)器930在數(shù)據(jù)庫(kù)940執(zhí)行SQL語(yǔ)句,將執(zhí)行結(jié)果返回給客戶端910;客戶端910通過(guò)代碼將執(zhí)行結(jié)果生成結(jié)果界面以顯示結(jié)果。
該系統(tǒng)在應(yīng)用于數(shù)據(jù)中心時(shí)存在一些缺陷首先,該系統(tǒng)最主要的特點(diǎn)在于針對(duì)某一個(gè)業(yè)務(wù)的需求而采用硬編碼的形式,通過(guò)程序代碼實(shí)現(xiàn)各種查詢和報(bào)表的需求,如報(bào)表的定義用程序代碼來(lái)實(shí)現(xiàn)(可以在程序代碼里寫(xiě)入報(bào)表的條件、結(jié)果等),因此開(kāi)發(fā)工作量大;并且擴(kuò)展性差,如需要修改報(bào)表的定義就必須通過(guò)修改程序代碼、重新編譯來(lái)實(shí)現(xiàn),只適合特定業(yè)務(wù)的實(shí)現(xiàn)。而對(duì)于數(shù)據(jù)中心這種集成各種業(yè)務(wù)數(shù)據(jù),并且可以隨時(shí)增加新的業(yè)務(wù)數(shù)據(jù)的系統(tǒng),應(yīng)用的可擴(kuò)展性是非常重要的。其次,其開(kāi)發(fā)工作量相當(dāng)于針對(duì)每套業(yè)務(wù)系統(tǒng)單獨(dú)進(jìn)行開(kāi)發(fā)的總和,工作量和整個(gè)系統(tǒng)的規(guī)模成正比,且每加入一套業(yè)務(wù)數(shù)據(jù)都會(huì)引起每個(gè)節(jié)點(diǎn)的改變。

發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問(wèn)題是提供一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)和基于關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的查詢和報(bào)表方法;其實(shí)現(xiàn)與業(yè)務(wù)無(wú)關(guān)、且可擴(kuò)展性較好。
為此,本發(fā)明解決技術(shù)問(wèn)題的技術(shù)方案是提供一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),包括數(shù)據(jù)中心,用于存儲(chǔ)原始的數(shù)據(jù)對(duì)象;
元數(shù)據(jù)庫(kù),用于存儲(chǔ)元數(shù)據(jù),所述元數(shù)據(jù)包含數(shù)據(jù)對(duì)象的描述、查詢和報(bào)表的定義;客戶端;報(bào)表服務(wù)器,連接所述客戶端;中間件服務(wù)器,連接所述數(shù)據(jù)中心、元數(shù)據(jù)庫(kù)和報(bào)表服務(wù)器;其中,所述客戶端實(shí)現(xiàn)查詢和報(bào)表請(qǐng)求的輸入,所述報(bào)表服務(wù)器根據(jù)所述查詢和報(bào)表請(qǐng)求發(fā)起查找元數(shù)據(jù)的請(qǐng)求,所述中間件服務(wù)器根據(jù)所述查找元數(shù)據(jù)的請(qǐng)求從元數(shù)據(jù)庫(kù)獲取元數(shù)據(jù);所述報(bào)表服務(wù)器將獲取的元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式發(fā)送到客戶端;所述客戶端根據(jù)前述元數(shù)據(jù)中的查詢和報(bào)表的定義實(shí)現(xiàn)查詢和報(bào)表的條件的輸入,所述報(bào)表服務(wù)器根據(jù)所述元數(shù)據(jù)中的數(shù)據(jù)對(duì)象的描述、輸入的查詢和報(bào)表的條件生成執(zhí)行命令,所述中間件服務(wù)器在數(shù)據(jù)中心執(zhí)行所述執(zhí)行命令、并將結(jié)果返回報(bào)表服務(wù)器;所述報(bào)表服務(wù)器緩存所述查詢和報(bào)表的結(jié)果,并返回客戶端;所述客戶端顯示查詢和報(bào)表的結(jié)果。
優(yōu)選地,所述報(bào)表服務(wù)器包括執(zhí)行單元、元數(shù)據(jù)載入單元;所述執(zhí)行單元用于生成執(zhí)行命令并遞交至中間件服務(wù)器,并將獲得的結(jié)果緩存;所述元數(shù)據(jù)載入單元用于向中間件服務(wù)器請(qǐng)求元數(shù)據(jù),將獲得的元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式。
優(yōu)選地,所述報(bào)表服務(wù)器還包括二次處理單元,用于對(duì)緩存的查詢和報(bào)表的結(jié)果進(jìn)行分析。
優(yōu)選地,所述報(bào)表服務(wù)器還包括界面處理單元,用于生成條件界面和結(jié)果顯示界面。
優(yōu)選地,所述客戶端包括導(dǎo)出單元和格式過(guò)濾單元;所述導(dǎo)出單元用于將緩存的查詢和報(bào)表的結(jié)果轉(zhuǎn)換為目標(biāo)格式并存儲(chǔ);所述格式過(guò)濾單元用于在顯示查詢和報(bào)表的結(jié)果時(shí)實(shí)現(xiàn)格式轉(zhuǎn)換。
優(yōu)選地,所述客戶端還包括界面輸入控件,用于實(shí)現(xiàn)前述請(qǐng)求和條件的輸入。
優(yōu)選地,還包括應(yīng)用路由服務(wù)器,連接所述報(bào)表服務(wù)器和中間件服務(wù)器,用于轉(zhuǎn)發(fā)報(bào)表服務(wù)器和中間件服務(wù)器之間的數(shù)據(jù)。
優(yōu)選地,所述數(shù)據(jù)中心存儲(chǔ)的原始的數(shù)據(jù)對(duì)象包括數(shù)據(jù)表、視圖、存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)。
本發(fā)明還提供一種基于關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的查詢和報(bào)表方法,包括步驟1)選擇數(shù)據(jù)中心的數(shù)據(jù)對(duì)象,生成對(duì)應(yīng)的元數(shù)據(jù)并存儲(chǔ),所述元數(shù)據(jù)包括所述數(shù)據(jù)對(duì)象的描述、查詢和報(bào)表的定義;2)客戶端向報(bào)表服務(wù)器請(qǐng)求執(zhí)行查詢和報(bào)表;所述報(bào)表服務(wù)器根據(jù)所述請(qǐng)求向中間件服務(wù)器請(qǐng)求元數(shù)據(jù);所述中間件服務(wù)器獲取元數(shù)據(jù)并返回報(bào)表服務(wù)器;所述報(bào)表服務(wù)器將獲取的元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式發(fā)送到客戶端;3)所述客戶端根據(jù)所述元數(shù)據(jù)實(shí)現(xiàn)查詢和報(bào)表的條件的輸入,并將該輸入的條件發(fā)送到報(bào)表服務(wù)器;所述報(bào)表服務(wù)器根據(jù)所述元數(shù)據(jù)、查詢和報(bào)表的條件生成執(zhí)行命令發(fā)送到中間件服務(wù)器;所述中間件服務(wù)器在數(shù)據(jù)中心執(zhí)行所述執(zhí)行命令、并將結(jié)果返回報(bào)表服務(wù)器;4)所述報(bào)表服務(wù)器緩存所述查詢和報(bào)表的結(jié)果,并返回客戶端;所述客戶端顯示查詢和報(bào)表的結(jié)果。
優(yōu)選地,所述步驟1)中,所述生成元數(shù)據(jù)的過(guò)程具體是選擇數(shù)據(jù)對(duì)象;生成數(shù)據(jù)對(duì)象描述;生成查詢和報(bào)表本身的定義;生成條件字段描述;生成查詢和報(bào)表的條件定義;生成結(jié)果字段描述;生成查詢和報(bào)表的結(jié)果展示定義;所述存儲(chǔ)元數(shù)據(jù)的過(guò)程具體是將元數(shù)據(jù)存放于數(shù)據(jù)庫(kù)或配置文件中。
優(yōu)選地,所述步驟2)中,實(shí)現(xiàn)查詢和報(bào)表?xiàng)l件的輸入具體是解析返回的元數(shù)據(jù),根據(jù)查詢和報(bào)表本身的定義、查詢和報(bào)表的條件定義、查詢和報(bào)表的結(jié)果展示定義生成條件輸入接口;所述步驟3)中,生成執(zhí)行命令的過(guò)程具體是根據(jù)結(jié)果字段描述和輸入的條件拼接結(jié)果字段;根據(jù)數(shù)據(jù)對(duì)象描述和輸入的條件指定數(shù)據(jù)對(duì)象;根據(jù)條件字段描述和輸入的條件拼接條件字段;將結(jié)果字段、數(shù)據(jù)對(duì)象和條件字段組合為完整的執(zhí)行命令。
優(yōu)選地,所述步驟2)中,實(shí)現(xiàn)查詢和報(bào)表?xiàng)l件的輸入具體是解析返回的元數(shù)據(jù),根據(jù)查詢和報(bào)表本身的定義、查詢和報(bào)表的條件定義、查詢和報(bào)表的結(jié)果展示定義生成條件輸入接口;所述步驟3)中,生成執(zhí)行命令的過(guò)程具體是根據(jù)條件字段描述和輸入的條件拼接條件字段;根據(jù)數(shù)據(jù)對(duì)象描述和輸入的條件指定數(shù)據(jù)對(duì)象;將數(shù)據(jù)對(duì)象和條件字段組合為完整的執(zhí)行命令。
優(yōu)選地,所述步驟4)中,在顯示查詢和報(bào)表的結(jié)果時(shí)執(zhí)行格式過(guò)濾,實(shí)現(xiàn)數(shù)據(jù)的格式轉(zhuǎn)換。
優(yōu)選地,還包括將所述緩存的查詢和報(bào)表的結(jié)果轉(zhuǎn)換為目標(biāo)格式進(jìn)行導(dǎo)出。
優(yōu)選地,還包括對(duì)所述緩存的查詢和報(bào)表的結(jié)果進(jìn)行二次處理。
優(yōu)選地,還包括應(yīng)用路由服務(wù)器轉(zhuǎn)發(fā)所述報(bào)表服務(wù)器和中間件服務(wù)器之間的數(shù)據(jù)的步驟。
相對(duì)于現(xiàn)有技術(shù),本發(fā)明的有益效果是首先,由于本發(fā)明為數(shù)據(jù)中心的數(shù)據(jù)對(duì)象配置元數(shù)據(jù),同時(shí)數(shù)據(jù)對(duì)象與元數(shù)據(jù)又都是在數(shù)據(jù)庫(kù)層,因此當(dāng)修改業(yè)務(wù)數(shù)據(jù)或增加新的業(yè)務(wù)數(shù)據(jù)時(shí),就只會(huì)引起數(shù)據(jù)中心和元數(shù)據(jù)的改變,不會(huì)較多影響其他節(jié)點(diǎn)的改變,從而充分利用現(xiàn)有資源、且可以減少開(kāi)發(fā)工作量,提高了數(shù)據(jù)庫(kù)系統(tǒng)的擴(kuò)展性。其次,由于本發(fā)明配置元數(shù)據(jù)時(shí),將業(yè)務(wù)數(shù)據(jù)作為數(shù)據(jù)對(duì)象,元數(shù)據(jù)部分只包含基礎(chǔ)的元素,減少了查詢和報(bào)表對(duì)數(shù)據(jù)模型的依賴,從而既保持應(yīng)用的靈活,又減少了元數(shù)據(jù)對(duì)數(shù)據(jù)之間關(guān)系的依賴程度,適合于未經(jīng)整理和清洗的業(yè)務(wù)數(shù)據(jù),且可以實(shí)現(xiàn)業(yè)務(wù)的無(wú)關(guān)性。再次,本發(fā)明采用中間件服務(wù)器連接數(shù)據(jù)庫(kù)和報(bào)表服務(wù)器,從而支持?jǐn)?shù)據(jù)庫(kù)服務(wù)器和辦公網(wǎng)的分離,保證數(shù)據(jù)庫(kù)服務(wù)器的安全;并且,通過(guò)中間件服務(wù)器和報(bào)表服務(wù)器的配合,還可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的類型無(wú)關(guān)性,提供統(tǒng)一的數(shù)據(jù)庫(kù)訪問(wèn)接口。
此外,本發(fā)明的優(yōu)選實(shí)施例中,數(shù)據(jù)庫(kù)系統(tǒng)的中間件服務(wù)器、報(bào)表服務(wù)器和客戶端采用各種單元實(shí)現(xiàn)相互的接口連接,更充分保障了系統(tǒng)的可擴(kuò)展性,使系統(tǒng)能更好地支持未來(lái)的新需求;系統(tǒng)擴(kuò)展非常快捷和簡(jiǎn)單,開(kāi)發(fā)工作比直接硬編碼少,可迅速增加新的功能,最重要的是能快速的支持新的業(yè)務(wù)數(shù)據(jù)的應(yīng)用,減少開(kāi)發(fā)新系統(tǒng)的投入。
此外,查詢和報(bào)表執(zhí)行采用動(dòng)態(tài)SQL查詢語(yǔ)句和動(dòng)態(tài)存儲(chǔ)過(guò)程調(diào)用技術(shù);簡(jiǎn)單的業(yè)務(wù)直接由表或視圖的結(jié)構(gòu)實(shí)現(xiàn),復(fù)雜的業(yè)務(wù)通過(guò)存儲(chǔ)過(guò)程或存儲(chǔ)函數(shù)實(shí)現(xiàn),同時(shí)通過(guò)對(duì)存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)的支持,解決了計(jì)算復(fù)雜的查詢和報(bào)表及中國(guó)式的報(bào)表的問(wèn)題,報(bào)表的形式更加靈活,而且能將異構(gòu)的業(yè)務(wù)數(shù)據(jù)合并生成查詢和報(bào)表的結(jié)果,有效組合各類業(yè)務(wù)數(shù)據(jù),和生搬硬套的建模相比,執(zhí)行的效率上也有明顯的優(yōu)點(diǎn)。
此外,通過(guò)應(yīng)用路由服務(wù)器進(jìn)行命令的轉(zhuǎn)發(fā),可以用來(lái)跨越兩個(gè)或多個(gè)網(wǎng)段,達(dá)到對(duì)多層結(jié)構(gòu)的目的,進(jìn)一步解決了數(shù)據(jù)庫(kù)安全性的問(wèn)題。
此外,可以實(shí)現(xiàn)查詢和報(bào)表的展示和數(shù)據(jù)導(dǎo)出;同時(shí)也為數(shù)據(jù)的二次處理提供了支持,用戶可以根據(jù)自己的需要,重新處理數(shù)據(jù),為數(shù)據(jù)的挖掘和分析提供了初步的支持。


圖1是一種采用數(shù)據(jù)倉(cāng)庫(kù)技術(shù)的系統(tǒng)的拓?fù)浣Y(jié)構(gòu)圖;圖2是圖1所示系統(tǒng)的數(shù)據(jù)模型的層次;圖3是基于業(yè)務(wù)的查詢和報(bào)表系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖;圖4是本發(fā)明的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的框圖;圖5是圖4所示數(shù)據(jù)庫(kù)系統(tǒng)的接口的示意圖;圖6是本發(fā)明查詢和報(bào)表方法的流程圖;圖7是本發(fā)明的實(shí)施例中元數(shù)據(jù)的結(jié)構(gòu)及連接示意圖;圖8是本發(fā)明查詢和報(bào)表方法的實(shí)施例的流程圖;圖9是本發(fā)明應(yīng)用于證券公司的實(shí)例的示意圖。
具體實(shí)施例方式
本發(fā)明充分考慮到數(shù)據(jù)中心的特點(diǎn),從而較好地實(shí)現(xiàn)了數(shù)據(jù)中心的建設(shè)以及查詢和報(bào)表的實(shí)現(xiàn)。從數(shù)據(jù)的角度講,數(shù)據(jù)中心的主要有兩個(gè)方面特點(diǎn)一是數(shù)據(jù)集中,數(shù)據(jù)來(lái)自不同的業(yè)務(wù)系統(tǒng);二是數(shù)據(jù)保持原始狀態(tài),未經(jīng)清理。因此,本發(fā)明采用數(shù)據(jù)中心存儲(chǔ)集中原始數(shù)據(jù),采用元數(shù)據(jù)庫(kù)存儲(chǔ)針對(duì)原始數(shù)據(jù)的描述,從而將業(yè)務(wù)的實(shí)現(xiàn)與查詢和報(bào)表分離,在修改或增加新的業(yè)務(wù)數(shù)據(jù)就只會(huì)引起數(shù)據(jù)中心和元數(shù)據(jù)庫(kù)的變化,不會(huì)過(guò)多影響其他節(jié)點(diǎn);此外,采用中間件服務(wù)器實(shí)現(xiàn)了數(shù)據(jù)中心和報(bào)表服務(wù)器的有效分離;本發(fā)明還對(duì)數(shù)據(jù)的描述進(jìn)行了簡(jiǎn)化,只包含基本元素,從而既保持應(yīng)用的靈活,又減少數(shù)據(jù)的描述對(duì)原始數(shù)據(jù)的依賴。
請(qǐng)參閱圖4,是本發(fā)明的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的框圖。
該關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)中心110、元數(shù)據(jù)庫(kù)120、中間件服務(wù)器130、報(bào)表服務(wù)器140和客戶端150;其中,報(bào)表服務(wù)器140連接客戶端150;中間件服務(wù)器130連接所述數(shù)據(jù)中心110、元數(shù)據(jù)庫(kù)120和報(bào)表服務(wù)器140,實(shí)現(xiàn)報(bào)表服務(wù)器140和數(shù)據(jù)中心110、元數(shù)據(jù)庫(kù)120在網(wǎng)絡(luò)上的分離。
為了進(jìn)一步增強(qiáng)系統(tǒng)的安全性,還可以在報(bào)表服務(wù)器140和中間件服務(wù)器130之間設(shè)置應(yīng)用路由服務(wù)器160;該應(yīng)用路由服務(wù)器160負(fù)責(zé)轉(zhuǎn)發(fā)報(bào)表服務(wù)器140和中間件服務(wù)器130之間交互的數(shù)據(jù),但不進(jìn)行數(shù)據(jù)的處理,主要用于跨越多個(gè)網(wǎng)段、支持多層結(jié)構(gòu)。
數(shù)據(jù)中心110中存放搜集的來(lái)自其他系統(tǒng)的數(shù)據(jù),包括數(shù)據(jù)表、視圖、存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù);其中,存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)可以采用SQL語(yǔ)句的預(yù)編譯集合,這些語(yǔ)句在一個(gè)名稱下存儲(chǔ)并作為一個(gè)單元進(jìn)行處理;類似于普通編程語(yǔ)言的過(guò)程和函數(shù),是數(shù)據(jù)庫(kù)系統(tǒng)中用來(lái)處理數(shù)據(jù)的模塊。
元數(shù)據(jù)庫(kù)120中存儲(chǔ)元數(shù)據(jù),包含數(shù)據(jù)對(duì)象的描述、查詢和報(bào)表的定義;用于實(shí)現(xiàn)查詢和報(bào)表的參數(shù)化配置。其中,數(shù)據(jù)對(duì)象的描述是指將數(shù)據(jù)中心存儲(chǔ)的數(shù)據(jù)描述為數(shù)據(jù)對(duì)象,包括數(shù)據(jù)對(duì)象描述、條件字段描述和結(jié)果字段描述,其目的是上述數(shù)據(jù)表、視圖、存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)等不同的數(shù)據(jù)庫(kù)對(duì)象以同一的形式進(jìn)行描述,方便對(duì)查詢和報(bào)表的定義;查詢和報(bào)表的定義包括查詢和報(bào)表本身的定義、查詢和報(bào)表的條件定義、查詢和報(bào)表的結(jié)果展示定義。
所述客戶端150用于接收用戶的輸入、實(shí)現(xiàn)查詢和報(bào)表結(jié)果的展示及數(shù)據(jù)導(dǎo)出。
報(bào)表服務(wù)器140用于根據(jù)用戶的輸入請(qǐng)求元數(shù)據(jù)、生成執(zhí)行命令、以及實(shí)現(xiàn)查詢和報(bào)表結(jié)果的緩存和二次處理。
中間件服務(wù)器130用于獲取元數(shù)據(jù)、根據(jù)執(zhí)行命令實(shí)現(xiàn)查詢和報(bào)表的執(zhí)行;實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的業(yè)務(wù)類型無(wú)關(guān)性。
為了更好地實(shí)現(xiàn)系統(tǒng)的可擴(kuò)展性,使系統(tǒng)能更好的支持未來(lái)的新需求,本發(fā)明的各部分之間采用接口進(jìn)行連接,并且開(kāi)放接口,支持二次開(kāi)發(fā)。
請(qǐng)參閱圖5,該數(shù)據(jù)庫(kù)系統(tǒng)中,報(bào)表服務(wù)器140包括核心處理單元141、執(zhí)行單元142和元數(shù)據(jù)載入單元143;所述核心處理單元141連接其他單元,支持?jǐn)?shù)據(jù)的流動(dòng)和處理;所述執(zhí)行單元142用于生成執(zhí)行命令并遞交至中間件服務(wù)器130,并將獲得的結(jié)果緩存;所述元數(shù)據(jù)載入單元143用于向中間件服務(wù)器130請(qǐng)求元數(shù)據(jù),將獲得的元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式。
為了對(duì)緩存的查詢和報(bào)表的結(jié)果進(jìn)行分析,所述報(bào)表服務(wù)器還可以包括二次處理單元144,用于對(duì)緩存的數(shù)據(jù)進(jìn)行排序、過(guò)濾、匯總等操作,生成新的數(shù)據(jù)緩存,用戶可以根據(jù)自己的需要,重新處理數(shù)據(jù),為數(shù)據(jù)的挖掘和分析提供初步的支持。
客戶端150包括客戶端控制單元151、導(dǎo)出單元152和格式過(guò)濾單元153;所述客戶端控制單元151連接其他單元,支持?jǐn)?shù)據(jù)的流動(dòng)和處理;所述導(dǎo)出單元152用于將緩存的查詢和報(bào)表的結(jié)果轉(zhuǎn)換為目標(biāo)格式并存儲(chǔ);所述格式過(guò)濾單元153用于在顯示查詢和報(bào)表的結(jié)果時(shí)實(shí)現(xiàn)格式轉(zhuǎn)換。
為了拓展用戶的輸入,所述客戶端150還可以包括界面輸入控件154。
所述關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的二次開(kāi)發(fā)包括通過(guò)元數(shù)據(jù)載入單元143支持更多形式的元數(shù)據(jù);通過(guò)執(zhí)行單元142支持更多形式的數(shù)據(jù)對(duì)象形式,甚至支持更多形式的數(shù)據(jù)源;通過(guò)二次處理單元144支持對(duì)數(shù)據(jù)的再處理,提高展示和分析的靈活性;通過(guò)格式過(guò)濾器單元153對(duì)數(shù)據(jù)的展示格式提供更豐富的支持;通過(guò)導(dǎo)出單元152根據(jù)需要增加對(duì)其他導(dǎo)出格式的支持。
此外,二次開(kāi)發(fā)還包括查詢和報(bào)表本身的自定義通過(guò)增加數(shù)據(jù)表、視圖、存儲(chǔ)過(guò)程和查詢函數(shù)提供新的查詢和報(bào)表對(duì)象;通過(guò)修改元數(shù)據(jù)來(lái)增加查詢和報(bào)表的功能。其中,元數(shù)據(jù)的修改和增加可以由實(shí)現(xiàn)元數(shù)據(jù)載入接口的單元來(lái)實(shí)現(xiàn)。
請(qǐng)一并參閱圖4和圖6,下面介紹本發(fā)明查詢和報(bào)表方法的流程。
首先,選擇數(shù)據(jù)中心110的數(shù)據(jù)對(duì)象,生成對(duì)應(yīng)的元數(shù)據(jù)并存儲(chǔ)于元數(shù)據(jù)庫(kù)120,所述元數(shù)據(jù)包括所述數(shù)據(jù)對(duì)象的描述、查詢和報(bào)表的定義;
其次,用戶輸入請(qǐng)求,客戶端150向報(bào)表服務(wù)器140請(qǐng)求執(zhí)行查詢和報(bào)表;所述報(bào)表服務(wù)器140根據(jù)所述請(qǐng)求向中間件服務(wù)器130請(qǐng)求元數(shù)據(jù);所述中間件服務(wù)器130從元數(shù)據(jù)庫(kù)120獲取元數(shù)據(jù)并返回報(bào)表服務(wù)器140;所述報(bào)表服務(wù)器140將獲取的元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式發(fā)送到客戶端150;再次,所述客戶端150根據(jù)所述元數(shù)據(jù)中的查詢和報(bào)表的定義生成條件界面,供用戶輸入查詢和報(bào)表的條件,并將該輸入的條件發(fā)送到報(bào)表服務(wù)器140;所述報(bào)表服務(wù)器140根據(jù)所述元數(shù)據(jù)中的數(shù)據(jù)對(duì)象的描述、輸入的查詢和報(bào)表的條件生成執(zhí)行命令發(fā)送到中間件服務(wù)器130;所述中間件服務(wù)器130在數(shù)據(jù)中心110執(zhí)行所述執(zhí)行命令、并將結(jié)果返回報(bào)表服務(wù)器140;隨后,所述報(bào)表服務(wù)器140緩存所述查詢和報(bào)表的結(jié)果,并返回客戶端150;所述客戶端150顯示查詢和報(bào)表的結(jié)果。
為了便于對(duì)本發(fā)明的理解,下面結(jié)合實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
請(qǐng)參閱圖7,是本發(fā)明的實(shí)施例中元數(shù)據(jù)的結(jié)構(gòu)及連接示意圖。
元數(shù)據(jù)包括數(shù)據(jù)對(duì)象的描述、條件字段和結(jié)果字段,用于將數(shù)據(jù)中心的數(shù)據(jù)表、視圖、存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)等不同的數(shù)據(jù)庫(kù)對(duì)象以同一的形式進(jìn)行描述,方便對(duì)查詢和報(bào)表的定義。
元數(shù)據(jù)庫(kù)還包括查詢和報(bào)表本身的定義、查詢和報(bào)表的條件定義、查詢和報(bào)表的結(jié)果展示定義,用于定義查詢和報(bào)表。
其中,數(shù)據(jù)對(duì)象的描述的內(nèi)容包括

條件字段描述的內(nèi)容包括


結(jié)果字段描述的內(nèi)容包括

查詢和報(bào)表本身的定義包括

查詢和報(bào)表的條件定義包括

查詢和報(bào)表的結(jié)果展示定義包括

本發(fā)明在配置元數(shù)據(jù)時(shí)由建模工具實(shí)現(xiàn),建模工具通過(guò)圖形界面進(jìn)行配置,完成配置后在運(yùn)行時(shí)就不再需要建模工具。由于數(shù)據(jù)中心的數(shù)據(jù)是來(lái)自其他系統(tǒng)且未經(jīng)整理和清洗的業(yè)務(wù)數(shù)據(jù),配置分兩個(gè)層次進(jìn)行數(shù)據(jù)的描述和建模;查詢和報(bào)表的定義。
首先,選擇數(shù)據(jù)中心的數(shù)據(jù)表、視圖、存儲(chǔ)過(guò)程或存儲(chǔ)函數(shù)作為數(shù)據(jù)對(duì)象。具體包括對(duì)象編號(hào),取自數(shù)據(jù)庫(kù);對(duì)象名稱,手工指定;對(duì)象屬性,自動(dòng)判斷;其次,指定查詢和報(bào)表編號(hào)、名稱,選擇查詢和報(bào)表的展示形式,如果為圖,就指定圖的類型;再次,列出數(shù)據(jù)表、視圖的所有字段,存儲(chǔ)過(guò)程或存儲(chǔ)函數(shù)的參數(shù),作為備選的條件字段;條件字段編號(hào)、字段名稱由數(shù)據(jù)中心直接獲取。手工指定哪些作為條件字段后,再指定或輸入比較方式(只針對(duì)表和視圖),默認(rèn)值。
再次,自動(dòng)生成條件編號(hào),手工指定或輸入條件字段的條件中文名稱、輸入控件名稱、輸入控件參數(shù);再次,根據(jù)條件字段的中文名稱、條件類型,生成條件布局配置界面,拖放條件進(jìn)行界面配置,完成后自動(dòng)轉(zhuǎn)換為條件的位置和大??;隨后,列出數(shù)據(jù)表、視圖的所有字段,存儲(chǔ)過(guò)程或存儲(chǔ)函數(shù)的執(zhí)行結(jié)果字段(執(zhí)行時(shí),參數(shù)取中配置的默認(rèn)值),作為備選的結(jié)果字段,結(jié)果字段編號(hào)、字段名稱直接獲取。手工指定哪些作為結(jié)果字段后,再指定或輸入計(jì)算表達(dá)式,是否可排序。
隨后,指定或輸入結(jié)果的是否顯示、表格中的位置、圖中的位置、顯示順序、重復(fù)內(nèi)容是否合并顯示、對(duì)齊方向、鏈接參數(shù)、格式過(guò)濾器、導(dǎo)出格式;選擇將改動(dòng)直接保存到元數(shù)據(jù)庫(kù)和/或生成SQL執(zhí)行腳本,結(jié)束配置。
由上述描述可知,元數(shù)據(jù)定義部分只包含最基礎(chǔ)的元素,可以盡量減少報(bào)表對(duì)數(shù)據(jù)模型的依賴,同時(shí)通過(guò)對(duì)存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)的支持,解決了計(jì)算復(fù)雜的查詢和報(bào)表及中國(guó)式的報(bào)表的問(wèn)題,報(bào)表的形式更加靈活。
可以理解,元數(shù)據(jù)由實(shí)現(xiàn)元數(shù)據(jù)載入接口的單元來(lái)實(shí)現(xiàn),因此可以通過(guò)對(duì)接口的實(shí)現(xiàn),來(lái)達(dá)到元數(shù)據(jù)存放格式的無(wú)關(guān)性,如存放在數(shù)據(jù)庫(kù)系統(tǒng)中,或者存放在配置文件中。
請(qǐng)參閱圖8,完成元數(shù)據(jù)的配置后,就可以執(zhí)行查詢和報(bào)表了,具體包括。
首先,客戶端向報(bào)表服務(wù)器請(qǐng)求執(zhí)行查詢和報(bào)表。
報(bào)表服務(wù)器中的元數(shù)據(jù)載入單元向中間件服務(wù)器請(qǐng)求元數(shù)據(jù)。
其次,中間件服務(wù)器獲取元數(shù)據(jù)并返回給元數(shù)據(jù)載入單元;元數(shù)據(jù)載入單元將元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式返回給報(bào)表服務(wù)器的核心處理單元;報(bào)表服務(wù)器將元數(shù)據(jù)返回給客戶端,由客戶端生成條件界面;用戶輸入條件,客戶端將條件遞交報(bào)表服務(wù)器。
隨后,報(bào)表服務(wù)器的執(zhí)行單元根據(jù)元數(shù)據(jù)和條件生成執(zhí)行命令并遞交中間件服務(wù)器。生成執(zhí)行命令時(shí),對(duì)于不同類型的數(shù)據(jù)對(duì)象由不同的處理流程。
1)數(shù)據(jù)表、視圖的執(zhí)行根據(jù)元數(shù)據(jù)的定義,生成動(dòng)態(tài)select語(yǔ)句,生成的select語(yǔ)句的結(jié)構(gòu)如下1select[表達(dá)式1]as[字段1],[表達(dá)式2]as[字段2]...[表達(dá)式n]as[字段n]2from[表或視圖的對(duì)象名稱]3where[條件1]and[條件2]...and[條件n]4order by[結(jié)果字段1][dese],[結(jié)果字段2][desc]...[結(jié)果字段n][desc]
執(zhí)行的步驟如下根據(jù)結(jié)果字段名稱和計(jì)算表達(dá)式,將結(jié)果字段拼接成1的部分;根據(jù)對(duì)象名稱,生成2的部分;根據(jù)條件字段名稱,條件比較方式,和用戶輸入的條件值,生成[字段][比較運(yùn)算符][值]這樣的條件,將多個(gè)條件用“and”連接起來(lái),生成3的部分;根據(jù)結(jié)果字段定義,結(jié)果字段是否可排序,和用戶輸入的排序條件,將結(jié)果字段拼接成4的部分,如果排序?yàn)槟嫘?,在字段名稱后面加上“desc”;將1-4拼成完整的語(yǔ)句。
下面是一個(gè)生成執(zhí)行命令的實(shí)例。假定為視圖vclientinfo建立如下元數(shù)據(jù)數(shù)據(jù)對(duì)象的描述

條件字段的描述

結(jié)果字段的描述

則生成的語(yǔ)句如下1select branch_no as branch_no,branch_no as branch_name,fund_accountas fund_account,client_name as client_name2from hsrun..vclientinfo3where branch_no=10014order bv fund_account desc2)存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)的執(zhí)行對(duì)于存儲(chǔ)過(guò)程的調(diào)用相對(duì)較簡(jiǎn)單,根據(jù)條件字段的定義和用戶選擇的條件設(shè)定過(guò)程參數(shù),對(duì)于忽略的參數(shù),傳遞默認(rèn)值。
然后,中間件服務(wù)器執(zhí)行命令,將結(jié)果返回執(zhí)行單元;執(zhí)行單元將數(shù)據(jù)存入報(bào)表服務(wù)器的數(shù)據(jù)緩存。緩存的實(shí)現(xiàn)具體是中間件服務(wù)器返回結(jié)果信息;報(bào)表服務(wù)器分析返回結(jié)果,向中間件服務(wù)器發(fā)送結(jié)果編號(hào),請(qǐng)求指定條數(shù)的記錄;在數(shù)據(jù)緩存中添加記錄。當(dāng)然,其中還包括執(zhí)行異常時(shí)的處理。
報(bào)表服務(wù)器將結(jié)果分頁(yè)返回給客戶端。只要數(shù)據(jù)緩存中的數(shù)據(jù)量達(dá)到數(shù)據(jù)分頁(yè)的要求,就立即返回給客戶端,用最短的時(shí)間響應(yīng)客戶端的請(qǐng)求;客戶端顯示查詢和報(bào)表的結(jié)果。查詢和報(bào)表的展示主要是對(duì)元數(shù)據(jù)的查詢和報(bào)表定義部分的解釋和執(zhí)行,展示格式分為表格和圖兩種表格的展示主要工作是生成表格,執(zhí)行格式過(guò)濾器單元,生成查詢和報(bào)表之間的跳轉(zhuǎn)鏈接等。格式過(guò)濾器單元是實(shí)現(xiàn)數(shù)據(jù)內(nèi)容轉(zhuǎn)換的單元,用來(lái)進(jìn)行日期、數(shù)字的格式化輸出,數(shù)據(jù)字典的轉(zhuǎn)換等功能。
圖的展示,主要是根據(jù)圖的坐標(biāo)定義和存中的數(shù)據(jù),直接生成圖,支持常見(jiàn)的餅圖,柱狀圖,折線圖,點(diǎn)圖等。
此外,還可以導(dǎo)出數(shù)據(jù),即將緩存中的數(shù)據(jù)轉(zhuǎn)換為目標(biāo)文件格式,如文本文件,DBF文件,Excel文件等,實(shí)現(xiàn)查詢和報(bào)表信息的保留,數(shù)據(jù)導(dǎo)出通過(guò)導(dǎo)出單元實(shí)現(xiàn)。具體是用戶發(fā)起導(dǎo)出請(qǐng)求,客戶端將請(qǐng)求發(fā)到報(bào)表服務(wù)器;報(bào)表服務(wù)器調(diào)用導(dǎo)出單元執(zhí)行客戶端的請(qǐng)求,生成導(dǎo)出文件,并返回給客戶端。
同時(shí),數(shù)據(jù)緩存也為數(shù)據(jù)的二次處理提供了支持,通過(guò)對(duì)數(shù)據(jù)緩存內(nèi)的數(shù)據(jù)進(jìn)行排序、過(guò)濾、匯總等操作,生成新的數(shù)據(jù)緩存,用戶可以根據(jù)自己的需要,重新處理數(shù)據(jù),為數(shù)據(jù)的挖掘和分析提供了初步的支持。
二次處理功能由二次處理單元實(shí)現(xiàn),可以通過(guò)插件的形式增加新的處理方式,運(yùn)行流程如下用戶發(fā)起二次處理請(qǐng)求;
報(bào)表服務(wù)器接受請(qǐng)求,根據(jù)二次處理請(qǐng)求內(nèi)容執(zhí)行對(duì)應(yīng)的二次處理單元,同時(shí)將數(shù)據(jù)緩存和二次處理請(qǐng)求內(nèi)容作為二次處理單元的執(zhí)行參數(shù);報(bào)表服務(wù)器接受處理以后的數(shù)據(jù)緩存,將處理結(jié)果返回客戶端顯示。
請(qǐng)參閱圖9,是本發(fā)明應(yīng)用于證券公司的一個(gè)實(shí)例。證券公司的內(nèi)控平臺(tái)的查詢和報(bào)表框架的具體實(shí)現(xiàn)如下內(nèi)控平臺(tái)的中心數(shù)據(jù)庫(kù)210采用MS SQL Server 2000或Oracle 9i數(shù)據(jù)庫(kù)系統(tǒng),數(shù)據(jù)中心211的業(yè)務(wù)數(shù)據(jù)和元數(shù)據(jù)庫(kù)212的元數(shù)據(jù)存放到同一個(gè)數(shù)據(jù)庫(kù)實(shí)例中,但邏輯上是分離的,通過(guò)編寫(xiě)不同的元數(shù)據(jù)載入單元可以支持文本文件、XML等其他類型的存儲(chǔ)方式。
目前內(nèi)控平臺(tái)支持的業(yè)務(wù)數(shù)據(jù)有經(jīng)紀(jì)業(yè)務(wù)數(shù)據(jù)、財(cái)務(wù)數(shù)據(jù)、法人清算數(shù)據(jù)、交易所數(shù)據(jù)、銀行對(duì)帳數(shù)據(jù)幾類,每類之中不同版本的業(yè)務(wù)系統(tǒng)還分不同結(jié)構(gòu)的數(shù)據(jù),通過(guò)查詢和報(bào)表框架將這些異構(gòu)的數(shù)據(jù)以統(tǒng)一的結(jié)果形式展現(xiàn)給用戶。
中間件服務(wù)器220采用恒生組件服務(wù)器,查詢和報(bào)表框架的業(yè)務(wù)功能通過(guò)插件icp_cxkj.dll提供,由恒生組件服務(wù)器負(fù)責(zé)數(shù)據(jù)庫(kù)連接和通訊。本方案的架構(gòu)同時(shí)也適合其他商業(yè)中間件產(chǎn)品,如各種J2EE,.NET的中間件服務(wù)器。
應(yīng)用路由服務(wù)器230也采用恒生組件服務(wù)器,負(fù)責(zé)功能請(qǐng)求和應(yīng)答的轉(zhuǎn)發(fā)。同時(shí),也適合其他商業(yè)中間件產(chǎn)品。
內(nèi)控平臺(tái)的客戶端部分采用的是B/S結(jié)構(gòu),包括WEB服務(wù)器240和瀏覽器250。
WEB服務(wù)器240采用Servlet/JSP的架構(gòu),由于B/S結(jié)構(gòu)的特殊性質(zhì),WEB服務(wù)器240必然包含界面展示的處理,因此WEB服務(wù)器240內(nèi)部分主要分為業(yè)務(wù)邏輯層241和界面層242兩部分,業(yè)務(wù)邏輯層241負(fù)責(zé)實(shí)現(xiàn)報(bào)表服務(wù)器260的功能,主要由一組Java類來(lái)實(shí)現(xiàn),對(duì)界面層開(kāi)放Servlet作為接口;界面層242由一組JSP組成,負(fù)責(zé)條件、結(jié)果等交互頁(yè)面的生成。
客戶端采用瀏覽器250,使用Java Script實(shí)現(xiàn)界面層剩余部分的交互功能,主要是一些界面控件的功能實(shí)現(xiàn)。
需要說(shuō)明的是,當(dāng)采用專用客戶端270時(shí)可以直接同報(bào)表服務(wù)器260通訊,則業(yè)務(wù)邏輯層由報(bào)表服務(wù)器260實(shí)現(xiàn),界面層完全由專用客戶端270實(shí)現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),其特征在于,包括數(shù)據(jù)中心,用于存儲(chǔ)原始的數(shù)據(jù)對(duì)象;元數(shù)據(jù)庫(kù),用于存儲(chǔ)元數(shù)據(jù),所述元數(shù)據(jù)包含數(shù)據(jù)對(duì)象的描述、查詢和報(bào)表的定義;客戶端;報(bào)表服務(wù)器,連接所述客戶端;中間件服務(wù)器,連接所述數(shù)據(jù)中心、元數(shù)據(jù)庫(kù)和報(bào)表服務(wù)器;其中,所述客戶端實(shí)現(xiàn)查詢和報(bào)表請(qǐng)求的輸入,所述報(bào)表服務(wù)器根據(jù)所述查詢和報(bào)表請(qǐng)求發(fā)起查找元數(shù)據(jù)的請(qǐng)求,所述中間件服務(wù)器根據(jù)所述查找元數(shù)據(jù)的請(qǐng)求從元數(shù)據(jù)庫(kù)獲取元數(shù)據(jù);所述報(bào)表服務(wù)器將獲取的元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式發(fā)送到客戶端;所述客戶端根據(jù)前述元數(shù)據(jù)中的查詢和報(bào)表的定義實(shí)現(xiàn)查詢和報(bào)表的條件的輸入,所述報(bào)表服務(wù)器根據(jù)所述元數(shù)據(jù)中的數(shù)據(jù)對(duì)象的描述、輸入的查詢和報(bào)表的條件生成執(zhí)行命令,所述中間件服務(wù)器在數(shù)據(jù)中心執(zhí)行所述執(zhí)行命令、并將結(jié)果返回報(bào)表服務(wù)器;所述報(bào)表服務(wù)器緩存所述查詢和報(bào)表的結(jié)果,并返回客戶端;所述客戶端顯示查詢和報(bào)表的結(jié)果。
2.根據(jù)權(quán)利要求1所述的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述報(bào)表服務(wù)器包括執(zhí)行單元、元數(shù)據(jù)載入單元;所述執(zhí)行單元用于生成執(zhí)行命令并遞交至中間件服務(wù)器,并將獲得的結(jié)果緩存;所述元數(shù)據(jù)載入單元用于向中間件服務(wù)器請(qǐng)求元數(shù)據(jù),將獲得的元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式。
3.根據(jù)權(quán)利要求2所述的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述報(bào)表服務(wù)器還包括二次處理單元,用于對(duì)緩存的查詢和報(bào)表的結(jié)果進(jìn)行分析。
4.根據(jù)權(quán)利要求2所述的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述報(bào)表服務(wù)器還包括界面處理單元,用于生成條件界面和結(jié)果顯示界面。
5.根據(jù)權(quán)利要求1所述的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述客戶端包括導(dǎo)出單元和格式過(guò)濾單元;所述導(dǎo)出單元用于將緩存的查詢和報(bào)表的結(jié)果轉(zhuǎn)換為目標(biāo)格式并存儲(chǔ);所述格式過(guò)濾單元用于在顯示查詢和報(bào)表的結(jié)果時(shí)實(shí)現(xiàn)格式轉(zhuǎn)換。
6.根據(jù)權(quán)利要求1所述的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述客戶端還包括界面輸入控件,用于實(shí)現(xiàn)前述請(qǐng)求和條件的輸入。
7.根據(jù)權(quán)利要求1至6任一項(xiàng)所述的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),其特征在于還包括應(yīng)用路由服務(wù)器,連接所述報(bào)表服務(wù)器和中間件服務(wù)器,用于轉(zhuǎn)發(fā)報(bào)表服務(wù)器和中間件服務(wù)器之間的數(shù)據(jù)。
8.根據(jù)權(quán)利要求1所述的關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),其特征在于所述數(shù)據(jù)中心存儲(chǔ)的原始的數(shù)據(jù)對(duì)象包括數(shù)據(jù)表、視圖、存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)。
9.一種基于關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的查詢和報(bào)表方法,其特征在于,包括步驟1)選擇數(shù)據(jù)中心的數(shù)據(jù)對(duì)象,生成對(duì)應(yīng)的元數(shù)據(jù)并存儲(chǔ),所述無(wú)數(shù)據(jù)包括所述數(shù)據(jù)對(duì)象的描述、查詢和報(bào)表的定義;2)客戶端向報(bào)表服務(wù)器請(qǐng)求執(zhí)行查詢和報(bào)表;所述報(bào)表服務(wù)器根據(jù)所述請(qǐng)求向中間件服務(wù)器請(qǐng)求元數(shù)據(jù);所述中間件服務(wù)器獲取元數(shù)據(jù)并返回報(bào)表服務(wù)器;所述報(bào)表服務(wù)器將獲取的元數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)格式發(fā)送到客戶端;3)所述客戶端根據(jù)所述元數(shù)據(jù)實(shí)現(xiàn)查詢和報(bào)表的條件的輸入,并將該輸入的條件發(fā)送到報(bào)表服務(wù)器;所述報(bào)表服務(wù)器根據(jù)所述元數(shù)據(jù)、查詢和報(bào)表的條件生成執(zhí)行命令發(fā)送到中間件服務(wù)器;所述中間件服務(wù)器在數(shù)據(jù)中心執(zhí)行所述執(zhí)行命令、并將結(jié)果返回報(bào)表服務(wù)器;4)所述報(bào)表服務(wù)器緩存所述查詢和報(bào)表的結(jié)果,并返回客戶端;所述客戶端顯示查詢和報(bào)表的結(jié)果。
10.根據(jù)權(quán)利要求9所述的查詢和報(bào)表方法,其特征在于,所述步驟1)中,所述生成元數(shù)據(jù)的過(guò)程具體是選擇數(shù)據(jù)對(duì)象;生成數(shù)據(jù)對(duì)象描述;生成查詢和報(bào)表本身的定義;生成條件字段描述;生成查詢和報(bào)表的條件定義;生成結(jié)果字段描述;生成查詢和報(bào)表的結(jié)果展示定義;所述存儲(chǔ)元數(shù)據(jù)的過(guò)程具體是將元數(shù)據(jù)存放于數(shù)據(jù)庫(kù)或配置文件中。
11.根據(jù)權(quán)利要求10所述的查詢和報(bào)表方法,其特征在于,所述步驟2)中,實(shí)現(xiàn)查詢和報(bào)表?xiàng)l件的輸入具體是解析返回的元數(shù)據(jù),根據(jù)查詢和報(bào)表本身的定義、查詢和報(bào)表的條件定義、查詢和報(bào)表的結(jié)果展示定義生成條件輸入接口;所述步驟3)中,生成執(zhí)行命令的過(guò)程具體是根據(jù)結(jié)果字段描述和輸入的條件拼接結(jié)果字段;根據(jù)數(shù)據(jù)對(duì)象描述和輸入的條件指定數(shù)據(jù)對(duì)象;根據(jù)條件字段描述和輸入的條件拼接條件字段;將結(jié)果字段、數(shù)據(jù)對(duì)象和條件字段組合為完整的執(zhí)行命令。
12.根據(jù)權(quán)利要求10所述的查詢和報(bào)表方法,其特征在于,所述步驟2)中,實(shí)現(xiàn)查詢和報(bào)表?xiàng)l件的輸入具體是解析返回的元數(shù)據(jù),根據(jù)查詢和報(bào)表本身的定義、查詢和報(bào)表的條件定義、查詢和報(bào)表的結(jié)果展示定義生成條件輸入接口;所述步驟3)中,生成執(zhí)行命令的過(guò)程具體是根據(jù)條件字段描述和輸入的條件拼接條件字段;根據(jù)數(shù)據(jù)對(duì)象描述和輸入的條件指定數(shù)據(jù)對(duì)象;將數(shù)據(jù)對(duì)象和條件字段組合為完整的執(zhí)行命令。
13.根據(jù)權(quán)利要求9所述的查詢和報(bào)表方法,其特征在于所述步驟4)中,在顯示查詢和報(bào)表的結(jié)果時(shí)執(zhí)行格式過(guò)濾,實(shí)現(xiàn)數(shù)據(jù)的格式轉(zhuǎn)換。
14.根據(jù)權(quán)利要求9所述的查詢和報(bào)表方法,其特征在于還包括將所述緩存的查詢和報(bào)表的結(jié)果轉(zhuǎn)換為目標(biāo)格式進(jìn)行導(dǎo)出。
15.根據(jù)權(quán)利要求9所述的查詢和報(bào)表方法,其特征在于還包括對(duì)所述緩存的查詢和報(bào)表的結(jié)果進(jìn)行二次處理。
16.根據(jù)權(quán)利要求9所述的查詢和報(bào)表方法,其特征在于還包括應(yīng)用路由服務(wù)器轉(zhuǎn)發(fā)所述報(bào)表服務(wù)器和中間件服務(wù)器之間的數(shù)據(jù)的步驟。
全文摘要
本發(fā)明公開(kāi)一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),包括數(shù)據(jù)中心,用于存儲(chǔ)數(shù)據(jù)對(duì)象;元數(shù)據(jù)庫(kù),用于存儲(chǔ)元數(shù)據(jù);客戶端;報(bào)表服務(wù)器,連接該客戶端;中間件服務(wù)器,連接該數(shù)據(jù)中心、元數(shù)據(jù)庫(kù)和報(bào)表服務(wù)器;其中,客戶端實(shí)現(xiàn)查詢和報(bào)表請(qǐng)求的輸入,報(bào)表服務(wù)器根據(jù)所述請(qǐng)求發(fā)起元數(shù)據(jù)查找請(qǐng)求,中間件服務(wù)器根據(jù)元數(shù)據(jù)查找請(qǐng)求從元數(shù)據(jù)庫(kù)獲取元數(shù)據(jù);報(bào)表服務(wù)器發(fā)送元數(shù)據(jù)到客戶端;客戶端根據(jù)元數(shù)據(jù)實(shí)現(xiàn)查詢和報(bào)表的條件的輸入,報(bào)表服務(wù)器根據(jù)元數(shù)據(jù)、輸入條件生成執(zhí)行命令,中間件服務(wù)器在數(shù)據(jù)中心執(zhí)行該執(zhí)行命令、并將結(jié)果返回報(bào)表服務(wù)器;報(bào)表服務(wù)器緩存該結(jié)果,并返回客戶端;客戶端顯示結(jié)果。本發(fā)明還公開(kāi)一種基于關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的查詢和報(bào)表方法。
文檔編號(hào)G06F17/30GK1588369SQ20041007452
公開(kāi)日2005年3月2日 申請(qǐng)日期2004年9月6日 優(yōu)先權(quán)日2004年9月6日
發(fā)明者鄭煒, 胡德海 申請(qǐng)人:杭州恒生電子股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
漯河市| 宣威市| 临朐县| 偏关县| 五华县| 沈丘县| 绩溪县| 东阿县| 凌海市| 九台市| 永平县| 娱乐| 泸州市| 邳州市| 桦甸市| 维西| 罗江县| 厦门市| 大埔区| 海晏县| 水富县| 长乐市| 桓台县| 同仁县| 如皋市| 如东县| 安达市| 齐河县| 临邑县| 上饶县| 大港区| 江达县| 章丘市| 东辽县| 冀州市| 阳信县| 彰武县| 久治县| 星子县| 通化市| 弥渡县|