專利名稱:一種網(wǎng)絡(luò)系統(tǒng)及其管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)系統(tǒng)及其管理方法。
背景技術(shù):
多層(n-tier)層次結(jié)構(gòu)是現(xiàn)有的常用的網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu),其中應(yīng)用 服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)、數(shù)據(jù)表(或者文件)是這類體系結(jié)構(gòu)中 的幾個(gè)核心概念,這幾個(gè)概念從粗到細(xì)的描述了構(gòu)成網(wǎng)絡(luò)體系結(jié)構(gòu)的基本 要素。網(wǎng)絡(luò)應(yīng)用通過這幾個(gè)概念一層層的細(xì)分,每一層的能力再不斷拓展, 包括硬件和軟件的拓展,逐漸形成現(xiàn)在大型的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。現(xiàn)有系統(tǒng)體 現(xiàn)了兩方面特點(diǎn)1 )所有的操作都是直接針對(duì)物理實(shí)體,需要準(zhǔn)確了解 物理特性和部署的細(xì)節(jié)。假如用戶要訪問一個(gè)應(yīng)用地址,必須指明應(yīng)用服 務(wù)器統(tǒng)一資源定位符地址(URL);假如用戶要訪問數(shù)據(jù),需要明確的指 明數(shù)據(jù)庫(kù)服務(wù)器地址、端口,以及數(shù)據(jù)庫(kù)名稱和表名稱。2)系統(tǒng)層次分 得很清楚,每層都可以獨(dú)立的設(shè)計(jì)、開發(fā)、部署和維護(hù),層次的細(xì)分導(dǎo)致 開發(fā)團(tuán)隊(duì)之間的分工界限明顯,生產(chǎn)線較長(zhǎng),生產(chǎn)周期也自然較長(zhǎng)。
上述現(xiàn)有系統(tǒng)的特點(diǎn)與現(xiàn)在的網(wǎng)絡(luò)應(yīng)用相對(duì)越來越及時(shí),越來越動(dòng) 態(tài),以及開發(fā)和維護(hù)的知識(shí)門榲越來越低的需求是有矛盾的。特別是現(xiàn)在 的Web2.0的應(yīng)用模式,推出新產(chǎn)品的周期幾乎是以天來計(jì)算,長(zhǎng)一點(diǎn)也 就是以周來計(jì)算,這是現(xiàn)有系統(tǒng)的生產(chǎn)線和流程難以滿足的。
一種基本的需求趨勢(shì)就是網(wǎng)絡(luò)應(yīng)用必將代替現(xiàn)在孤立的單應(yīng)用模式 l)開發(fā)者、編輯人員、用戶、維護(hù)人員之間的邊界模糊了 ,往往一個(gè)用 戶具有多種角色。可以開發(fā)編輯自己的網(wǎng)頁(yè),例如維基百科全書(wiki); 可以自己撰寫信息,例如博客(blog);可以是瀏覽者,也可以維護(hù)和管理 其它用戶對(duì)自己的評(píng)論等等。2)孤立節(jié)點(diǎn)服務(wù)逐漸向網(wǎng)絡(luò)服務(wù)延伸,隨 之而來的就是通過相互重疊、融合,再集成等方式,相對(duì)3瓜立的網(wǎng)絡(luò)應(yīng)用
向網(wǎng)絡(luò)平臺(tái)的轉(zhuǎn)化,繼而向互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)設(shè)施的轉(zhuǎn)化;換句話說也就是 萬(wàn)維網(wǎng)(Web )轉(zhuǎn)化為網(wǎng)格(Grid ),進(jìn)而轉(zhuǎn)化為云計(jì)算(Cloud Computing )。
這種需求趨勢(shì)要求互聯(lián)網(wǎng)盡量簡(jiǎn)單化、大眾化,對(duì)每個(gè)用戶來說,互 聯(lián)網(wǎng)都應(yīng)該是一個(gè)生產(chǎn)和消費(fèi)的平臺(tái),而現(xiàn)有的互聯(lián)網(wǎng)的體系結(jié)構(gòu)和應(yīng)用 模式要求用戶對(duì)設(shè)計(jì)、開發(fā)、部署、管理、調(diào)試、維護(hù)每個(gè)環(huán)節(jié)中的物理 細(xì)節(jié)有明確的理解和掌握,需要具備相應(yīng)的專業(yè)知識(shí)。因此,體現(xiàn)物理層 面的、越來越復(fù)雜的多層體系架構(gòu)不能滿足互聯(lián)網(wǎng)作為 一個(gè)大眾性參與的 信息服務(wù)平臺(tái)的需求。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有的多層網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)物理概念較多,并且在開發(fā)、部署、 維護(hù)和擴(kuò)展的每個(gè)過程都需要把握物理細(xì)節(jié),從而導(dǎo)致網(wǎng)絡(luò)應(yīng)用越來越復(fù) 雜的現(xiàn)象,本發(fā)明提供一種網(wǎng)絡(luò)系統(tǒng)及其管理方法,把現(xiàn)在多層結(jié)構(gòu)演變 成一個(gè)邏輯性相對(duì)筒單的體系架構(gòu),在邏輯要素與物理要素之間建立映 射,定義邏輯層概念的操作并映射成對(duì)物理要素的操作,從而屏蔽底層復(fù) 雜的物理細(xì)節(jié)。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種網(wǎng)絡(luò)系統(tǒng),包 括一個(gè)或多個(gè)社區(qū),所述社區(qū)包括一個(gè)或多個(gè)虛擬表以及一個(gè)或多個(gè)用 戶,
所述社區(qū),映射應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù),由所述應(yīng)用服 務(wù)器處理針對(duì)所述虛擬表的訪問請(qǐng)求,所述社區(qū)的屬性至少包括所述社 區(qū)映射的應(yīng)用服務(wù)器列表;其中,
所述虛擬表,用于映射數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)表,所述虛擬表 屬性至少包括字段屬性集合,其中所述字段屬性集合包括所述字段的編 號(hào),所述字段屬性集合還包括字段所映射到的其它虛擬表的目標(biāo)字段的編 號(hào)或數(shù)據(jù)表的字段信息,其中,對(duì)于所述字段屬性集合包括字段所映射到 數(shù)據(jù)表的字段信息的情況,則虛擬表的屬性還包括所述數(shù)據(jù)表所在的數(shù)據(jù) 庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)的屬性信息;
所述用戶,負(fù)責(zé)創(chuàng)建、變更、注銷、合并或拆分所述社區(qū),或者增加、 刪除或維護(hù)所述虛擬表。
在上述網(wǎng)絡(luò)系統(tǒng)中,所述社區(qū)的屬性還包括默認(rèn)的數(shù)據(jù)庫(kù)服務(wù)器地址 和端口 ,以及默認(rèn)數(shù)據(jù)庫(kù)名稱、默認(rèn)數(shù)據(jù)庫(kù)用戶和密碼。
在上述網(wǎng)絡(luò)系統(tǒng)中,所述社區(qū)屬性還包括社區(qū)之間的關(guān)系屬性。
在上述網(wǎng)絡(luò)系統(tǒng)中,所述虛擬表的字段屬性集合還包括所述字段的 名稱、類型、長(zhǎng)度、屬性缺省值、可選值域、是否主鍵、是否允許空值。
在上述網(wǎng)絡(luò)系統(tǒng)中,所述虛擬表的屬性還包括關(guān)系操作連接條件、 附加的數(shù)據(jù)過濾約束條件、訪問權(quán)限、創(chuàng)建時(shí)間和最近訪問時(shí)間。
在上述網(wǎng)絡(luò)系統(tǒng)中,所述虛擬表支持關(guān)系操作算子,通過所述關(guān)系操 作算子基于已有的虛擬表構(gòu)建新的虛擬表,新虛擬表的字段屬性集合中存 儲(chǔ)所述新虛擬表所映射的虛擬表的字段編號(hào)。
信息的虛擬用戶表。
在上述網(wǎng)絡(luò)系統(tǒng)中,所述社區(qū)還包括用于存儲(chǔ)所述社區(qū)的訪問控制授 權(quán)信息的虛擬角色表。
在上述網(wǎng)絡(luò)系統(tǒng)中,所述社區(qū)的所述用戶包括系統(tǒng)管理員,所述系統(tǒng) 管理員創(chuàng)建所述網(wǎng)絡(luò)系統(tǒng)的社區(qū)。
在上述網(wǎng)絡(luò)系統(tǒng)中,對(duì)于多個(gè)社區(qū)的情況,所述社區(qū)的所述用戶包括 社區(qū)管理員,所述社區(qū)管理員負(fù)責(zé)管理所述社區(qū)。
根據(jù)本發(fā)明的第二方面,還提供了上述的社區(qū)的創(chuàng)建方法,包括下列 步驟
I )指定所述社區(qū)名稱和包含所述社區(qū)映射的一個(gè)或多個(gè)應(yīng)用服務(wù)器 的應(yīng)用服務(wù)器列表,獲得所述社區(qū)創(chuàng)建者帳號(hào)和所述社區(qū)編號(hào),并將上述 屬性存儲(chǔ)在所述應(yīng)用服務(wù)器上;
2)通過為所述社區(qū)的虛擬表的屬性賦值,構(gòu)建所述社區(qū)的虛擬表。 上述創(chuàng)建方法中,所述步驟l)還包括步驟
II )指定所述社區(qū)的默認(rèn)的數(shù)據(jù)庫(kù)服務(wù)器地址和端口 ,以及默認(rèn)數(shù)據(jù) 庫(kù)名稱、默認(rèn)數(shù)據(jù)庫(kù)用戶和密碼。
上述創(chuàng)建方法中,還包括步驟3)創(chuàng)建所述社區(qū)的虛擬用戶表。 上述創(chuàng)建方法中,還包括步驟4)創(chuàng)建所述社區(qū)的虛擬角色表。 上述創(chuàng)建方法中,還包括步驟
5) 為所述社區(qū)指定社區(qū)管理員;
6) 將步驟5)的所述社區(qū)同步復(fù)制到步驟5)所述社區(qū)所存儲(chǔ)的應(yīng)用 服務(wù)器之外的其他應(yīng)用服務(wù)器上。
根據(jù)本發(fā)明的第三方面,還提供了根據(jù)上述創(chuàng)建方法所創(chuàng)建的社區(qū)的
變更方法,包括下列步驟
1 )所述社區(qū)管理員修改待變更社區(qū)的除社區(qū)編號(hào)以外的任意屬性;
2)將步驟1)所述修改結(jié)果同步到所有應(yīng)用服務(wù)器上。
根據(jù)本發(fā)明的第四方面,還提供了根據(jù)上述創(chuàng)建方法所創(chuàng)建的社區(qū)的
注銷方法,包括下列步驟
1) 指定所述社區(qū)的社區(qū)編號(hào),刪除存儲(chǔ)所述社區(qū)的屬性的文件;
2) 刪除所述社區(qū)的用戶和虛擬表。
根據(jù)本發(fā)明的第五方面,還提供了根據(jù)上述創(chuàng)建方法所創(chuàng)建的社區(qū)的 合并方法,包括下列步驟注銷所述被合并的社區(qū),其中,所述被合并的 社區(qū)的用戶和虛擬表分別成為所述合并到的社區(qū)的用戶和虛擬表,且所述 虛擬表纟皮重新分配虛擬表編號(hào)。
根據(jù)本發(fā)明的第六方面,還提供了根據(jù)上述創(chuàng)建方法所創(chuàng)建的社區(qū)的 拆分方法,包括下列步驟創(chuàng)建新社區(qū),為所述新社區(qū)分配社區(qū)編號(hào),指 定社區(qū)名稱、社區(qū)創(chuàng)建者的賬號(hào)和所述新社區(qū)映射的應(yīng)用服務(wù)器列表,將 所述社區(qū)的用戶和虛擬表分配到所述新社區(qū),并為所述虛擬表重新分配編
弓一
根據(jù)本發(fā)明的第七方面,還提供了一種應(yīng)用上述網(wǎng)絡(luò)系統(tǒng)的查詢方 法,包括下列步驟
Al)用戶針對(duì)所述虛擬表提交一個(gè)查詢請(qǐng)求;
A2 )解析所述虛擬表所映射的其它虛擬表的目標(biāo)字段的編號(hào)或數(shù)據(jù)表 的字段信息;
A3)檢查當(dāng)前用戶是否有權(quán)限訪問該虛擬表,如果沒有,直接返回所 述用戶無(wú)訪問權(quán)限錯(cuò)誤,結(jié)束;
A4)對(duì)于所述虛擬表映射到其它虛擬表的情況,就繼續(xù)向下解析所述 其它虛擬表,重復(fù)執(zhí)行A2)、 A3)步驟,直到解析到所述其他虛擬表映射 到數(shù)據(jù)表;
A5)把查詢請(qǐng)求發(fā)送到當(dāng)前虛擬表所屬的社區(qū)映射的應(yīng)用服務(wù)器,并 通過虛擬表的映射關(guān)系,直接訪問物理數(shù)據(jù)庫(kù)、數(shù)據(jù)表,或者中間臨時(shí)的 緩存數(shù)據(jù)庫(kù)和數(shù)據(jù)表;
A6)上層的虛擬表在下層的虛擬表都執(zhí)行完后,再基于形成的中間數(shù)
據(jù)結(jié)果做匯集訪問,并將結(jié)果入緩存數(shù)據(jù)庫(kù)臨時(shí)表;
A7)判斷是否已經(jīng)執(zhí)行到頂層虛擬表了,如果否,則重復(fù)A5, A6過 程,直到執(zhí)行到頂層的虛擬表,如果是,則向所述返回最終查詢結(jié)果。
本發(fā)明通過將物理概念在邏輯層面加以總結(jié)和抽象,借助社區(qū)、虛擬 表兩個(gè)邏輯概念和映射,表示和操作多層網(wǎng)絡(luò)結(jié)構(gòu)中物理存在的應(yīng)用服務(wù) 器、數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)表。這樣設(shè)計(jì)、開發(fā)、部署、維護(hù)、管 理互聯(lián)網(wǎng)的應(yīng)用和資源的大量操作都可以直接基于這兩個(gè)邏輯概念完成, 屏蔽了以前必須關(guān)注的物理操作的煩瑣細(xì)節(jié),確保了對(duì)互聯(lián)網(wǎng)平臺(tái)使用的 方便性,以及應(yīng)用的可擴(kuò)展、可移植、松耦合特性。
圖1是物理網(wǎng)絡(luò)層次體系架構(gòu)各要素示意圖; 圖2是邏輯網(wǎng)絡(luò)系統(tǒng)和物理網(wǎng)絡(luò)應(yīng)用系統(tǒng)的映射關(guān)系示意圖; 圖3是根據(jù)本發(fā)明 一 個(gè)實(shí)施例的虛擬表形成的具有層次結(jié)構(gòu)的映射關(guān) 系示意圖4基于社區(qū)、虛擬表的網(wǎng)絡(luò)系統(tǒng)虛擬化機(jī)制的部署及訪問示意圖; 圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于邏輯網(wǎng)絡(luò)系統(tǒng)的查詢請(qǐng)求流程圖。
具體實(shí)施例方式
本發(fā)明利用虛擬化技術(shù),在高度抽象的基礎(chǔ)上,把物理網(wǎng)絡(luò)多層結(jié)構(gòu) 演變成一個(gè)邏輯性的相對(duì)簡(jiǎn)單的體系架構(gòu),定義邏輯層概念的操作并映射 成對(duì)物理要素的操作,從而屏蔽底層復(fù)雜的物理細(xì)節(jié)。為了使本發(fā)明的目 的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖,對(duì)根據(jù)本發(fā)明一個(gè)實(shí) 施例的網(wǎng)絡(luò)系統(tǒng)虛擬化方法進(jìn)一步詳細(xì)說明。
本發(fā)明是基于現(xiàn)有的物理層的多層網(wǎng)絡(luò)應(yīng)用體系架構(gòu)。圖l中示出了 一般物理網(wǎng)絡(luò)應(yīng)用系統(tǒng)架構(gòu)的基本要素。如圖l所示, 一般的網(wǎng)絡(luò)應(yīng)用由 一臺(tái)應(yīng)用服務(wù)器連接后端的數(shù)據(jù)庫(kù)服務(wù)器為多個(gè)前端用戶服務(wù)。當(dāng)系統(tǒng)的 用戶規(guī)?;蛘邤?shù)據(jù)規(guī)模擴(kuò)展時(shí),可以分別拓展應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù) 器,形成網(wǎng)絡(luò)化的集群服務(wù)系統(tǒng)。同時(shí),當(dāng)單個(gè)數(shù)據(jù)庫(kù)服務(wù)器的負(fù)載過高 的時(shí)候,還可以進(jìn)一步的將一個(gè)或者多個(gè)數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)數(shù)據(jù)表拆
分,分別部署到不同的數(shù)據(jù)庫(kù)服務(wù)器上,這樣可以更細(xì)粒度的降低單臺(tái)數(shù) 據(jù)庫(kù)服務(wù)器的負(fù)載。
如上所述,物理網(wǎng)絡(luò)應(yīng)用系統(tǒng)架構(gòu)的應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、數(shù) 據(jù)庫(kù)和數(shù)據(jù)表是該虛擬化機(jī)制的依賴的基本要素。圖2示出了邏輯網(wǎng)絡(luò)系 統(tǒng)的社區(qū)和虛擬表與物理網(wǎng)絡(luò)應(yīng)用系統(tǒng)的基本要素的映射關(guān)系。社區(qū)映射 的物理要素是應(yīng)用服務(wù)器,還可以映射數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)。其中,應(yīng) 用服務(wù)器實(shí)際處理針對(duì)該社區(qū)的虛擬表的訪問請(qǐng)求,為這個(gè)社區(qū)發(fā)出的請(qǐng)
求提供物理運(yùn)行環(huán)境;而數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)決定了社區(qū)在創(chuàng)建或者部
署虛擬表的時(shí)候,該虛擬表默認(rèn)映射的數(shù)據(jù)庫(kù)和數(shù)據(jù)表的存儲(chǔ)位置。虛擬 表映射數(shù)據(jù)庫(kù)服務(wù)器,數(shù)據(jù)庫(kù)和數(shù)據(jù)表。社區(qū)和虛擬表兩個(gè)概念映射的部 分有一定的交叉重疊部分。社區(qū)可以約束對(duì)該社區(qū)內(nèi)虛擬表的請(qǐng)求,映射 到哪個(gè)數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)中,也即定義社區(qū)內(nèi)虛擬表能夠映射到的數(shù) 據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)表的邊界。
上述映射可以是多對(duì)多的,同時(shí)還可以交叉約束。社區(qū)最終要映射到 一個(gè)或多個(gè)物理的應(yīng)用服務(wù)器上。同理,虛擬表到物理數(shù)據(jù)庫(kù)和數(shù)據(jù)表(包 括文件)的映射關(guān)系也可以是非一一對(duì)應(yīng)的, 一個(gè)虛擬表可以映射到網(wǎng)絡(luò) 上的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)或數(shù)據(jù)表(文件)。
根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,邏輯網(wǎng)絡(luò)系統(tǒng)及該系統(tǒng)內(nèi)社區(qū)的動(dòng)態(tài)
管理方法如下所述,其中動(dòng)態(tài)管理方法包括社區(qū)的構(gòu)建、變更、注銷、 合并、拆分、確定友好關(guān)系等方法。
邏輯網(wǎng)絡(luò)系統(tǒng)主要由社區(qū)構(gòu)成,通過社區(qū)組織和管理網(wǎng)絡(luò)系統(tǒng)中的虛 擬表和用戶。構(gòu)成社區(qū)的核心要素包括虛擬表和網(wǎng)絡(luò)上的用戶,其中所述 虛擬表是邏輯層面的資源,所述用戶包括系統(tǒng)管理員、社區(qū)管理員和一般 用戶。社區(qū)是邏輯層面的,且具有確定邊界,其體現(xiàn)兩個(gè)方面的含義1) 社區(qū)是由用戶、虛擬表、以及虛擬表和用戶的生命周期內(nèi)的行為活動(dòng)構(gòu)成 的特定網(wǎng)絡(luò)內(nèi)聚空間;2)社區(qū)是虛擬空間與網(wǎng)絡(luò)物理要素之間的界面。
系統(tǒng)中的每個(gè)社區(qū)是一個(gè)xml文件,其中存儲(chǔ)社區(qū)的屬性,該屬性也 即元信息,通過該文件實(shí)現(xiàn)對(duì)社區(qū)的管理。文件名稱用cid.xml表示,其 中cid表示一個(gè)唯一的固定長(zhǎng)度的社區(qū)編號(hào)。例如,如果將社區(qū)固定編號(hào) 長(zhǎng)度設(shè)定為5個(gè)數(shù)字,那么,0號(hào)社區(qū)的配置文件就是00000.xm1,根據(jù)本 實(shí)施例,0號(hào)社區(qū)也稱作系統(tǒng)社區(qū),是在系統(tǒng)初始化時(shí)創(chuàng)建的;1號(hào)社區(qū) 的配置文件是00001.xml,其它社區(qū)依次類推。除系統(tǒng)社區(qū)外,其它社區(qū)
的配置文件在創(chuàng)建或者變更后,由系統(tǒng)自動(dòng)同步到其它應(yīng)用服務(wù)器節(jié)點(diǎn) 上,刷新在每個(gè)應(yīng)用服務(wù)器節(jié)點(diǎn)上該社區(qū)的元信息。本領(lǐng)域技術(shù)人員可以
理解本實(shí)施例以xml文件來存儲(chǔ)社區(qū)的元信息,但除了 xml文件還可以用 例如數(shù)據(jù)表的記錄等其他文件來存儲(chǔ)社區(qū)的元信息。
每個(gè)社區(qū)xml文件包含描述該社區(qū)的屬性,包括
cid:社區(qū)編號(hào)。
name: 社區(qū)名稱。
Creator:社區(qū)創(chuàng)建者的帳號(hào)。
hosts:社區(qū)映射的應(yīng)用服務(wù)器列表。針對(duì)該社區(qū)的服務(wù)、虛擬表發(fā)出 的訪問請(qǐng)求,最終通過這種映射機(jī)制被分發(fā)到其中的一個(gè)或者多個(gè)應(yīng)用服 務(wù)器上執(zhí)行,分發(fā)的策略需要負(fù)載平衡機(jī)制來支持。如社區(qū)在接收到一個(gè) 請(qǐng)求時(shí),根據(jù)應(yīng)用服務(wù)器列表中所有服務(wù)器當(dāng)前的負(fù)載狀態(tài),將請(qǐng)求轉(zhuǎn)發(fā) 給負(fù)載最輕的應(yīng)用服務(wù)器節(jié)點(diǎn)執(zhí)行。
同時(shí)可以有下述可選擇的屬性,包括默認(rèn)映射的數(shù)據(jù)庫(kù)服務(wù)器地址和 端口、默認(rèn)數(shù)據(jù)庫(kù)名稱,默認(rèn)數(shù)據(jù)庫(kù)用戶和密碼,以及社區(qū)之間的關(guān)系屬 性,例如可以定義某個(gè)社區(qū)是另一個(gè)社區(qū)的子社區(qū)。
虛擬表是在邏輯層面表示數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)表的抽象概 念。網(wǎng)絡(luò)系統(tǒng)中的每個(gè)虛擬表都屬于一個(gè)特定的社區(qū),并按照社區(qū)來部署 和管理。虛擬表本身也具有關(guān)系的屬性,具有模式(schema)和約束。虛 擬表支持關(guān)系操作算子,可以通過連接(join)、聯(lián)合(union)等操作,形 成虛擬表之間具有層次結(jié)構(gòu)的訪問和映射關(guān)系,用以表示業(yè)務(wù)需要的復(fù)雜 的數(shù)據(jù)模型及聯(lián)系。針對(duì)虛擬表的操作包括創(chuàng)建、注銷、變更映射、變 更屬性、授權(quán),以及讀數(shù)據(jù)、寫數(shù)據(jù)、變更數(shù)據(jù)、刪除數(shù)據(jù)。
可以用一個(gè)xml文件來存儲(chǔ)每個(gè)虛擬表信息,也可以用一個(gè)默認(rèn)的數(shù) 據(jù)庫(kù)表來存儲(chǔ)和表示虛擬表的數(shù)據(jù)記錄。無(wú)論哪種方式,每個(gè)虛擬表都有 一固定長(zhǎng)度的編號(hào),用vid表示,此vid在虛擬表所屬社區(qū)內(nèi)是唯一的, 通過cid.vid就可以"唯一的確定一個(gè)虛擬表資源。3土區(qū)的每個(gè)用戶都可以增 加、刪除、維護(hù)屬于自己的虛擬表,同時(shí)可以把自己的虛擬表授權(quán)給其它 用戶訪問,也可以將屬于本社區(qū)的虛擬表公開共享給其它社區(qū),從而使得 其它社區(qū)的用戶也可以進(jìn)行訪問。原則上虛擬表可以映射到網(wǎng)絡(luò)上存在的 任意物理數(shù)據(jù)庫(kù)和數(shù)據(jù)表資源。如果社區(qū)的屬性還包括默認(rèn)映射的數(shù)據(jù) 庫(kù)服務(wù)器地址和端口、默認(rèn)數(shù)據(jù)庫(kù)名稱,數(shù)據(jù)庫(kù)用戶和密碼,則虛擬表可映射到社區(qū)的默認(rèn)數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)上。當(dāng)然,虛擬表也可以由用 戶自主定義映射。
每個(gè)虛擬表xml文件包含描述該虛擬表的屬性,包括 vid:虛擬表編號(hào)。 name: 虛擬表名稱。
Creator:虛擬表創(chuàng)建者的帳號(hào),虛擬表創(chuàng)建者就是虛擬表所屬的用戶。
Attributes:虛擬表的字段屬性集合。Attributes中定義了該虛擬表具有 的字段集合,集合中的一個(gè)元素表示一個(gè)字段,每個(gè)字段有編號(hào)sn,名稱, 字段類型,長(zhǎng)度,屬性缺省值,可選值域,其它約束(例如是否主鍵、是 否允許空值等)屬性項(xiàng),以及該字段映射到其它虛擬表的目標(biāo)字段的編號(hào) 或物理數(shù)據(jù)表的字段信息,由此可以確定虛擬表之間以及虛擬表與數(shù)據(jù)庫(kù) 服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)表之間的訪問和映射關(guān)系。虛擬表的所有者可以動(dòng) 態(tài)的變更上述映射關(guān)系。上述的編號(hào)sn是每個(gè)字段屬性在虛擬表內(nèi)被分 配的固定長(zhǎng)度的唯一的標(biāo)識(shí),這樣通過cid.vid.sn就可以唯一的定位到任 意一個(gè)網(wǎng)絡(luò)上虛擬表的任意一個(gè)字段屬性,可以直接用此訪問虛擬表的一 個(gè)字段屬性,為維護(hù)虛擬表的映射提供了方便。
直接映射到數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)表上的虛擬表稱為基本虛擬 表,基本虛擬表為了訪問時(shí)定位到數(shù)據(jù)表,還需要指定所述數(shù)據(jù)表所在的 數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)的屬性信息,包括
Resuri:數(shù)據(jù)庫(kù)服務(wù)器網(wǎng)絡(luò)地址。
resuriPort:凄丈據(jù)庫(kù)服務(wù)器網(wǎng)絡(luò)端口 。
Databasename: 數(shù)據(jù)庫(kù)名稱。
Databaseuser:訪問H據(jù)庫(kù)的用戶名稱。
Databasepassword:訪問凝:據(jù)庫(kù)的用戶密碼。
同時(shí),虛擬表還可以具有一系列可選擇的屬性,包括關(guān)系操作連接條 件、附加的數(shù)據(jù)過濾約束條件、訪問權(quán)限、創(chuàng)建時(shí)間和最近訪問時(shí)間等。
如圖3a所示,通過連接、聯(lián)合等關(guān)系操作,可以構(gòu)建復(fù)雜的滿足業(yè) 務(wù)數(shù)據(jù)需要的層次結(jié)構(gòu)的虛擬表訪問和映射關(guān)系。新建立的虛擬表映射到 一個(gè)其它已經(jīng)存在的虛擬表,即新虛擬表的字段屬性集合中存儲(chǔ)所述新虛 擬表所映射的虛擬表的字段編號(hào),把這種映射到其它虛擬表的虛擬表稱為 復(fù)合虛擬表,如圖3a中的虛擬表l、 2和3;而直接映射到物理數(shù)據(jù)庫(kù)、 數(shù)據(jù)表的虛擬表稱為基本虛擬表,如圖3a中的虛擬表4、 5、 6和7。對(duì)基
本虛擬表變更映射實(shí)際是需要變更指定的具體物理數(shù)據(jù)庫(kù)、表的位置信 息,而復(fù)合虛擬表是不需要的,直接基于邏輯層就可以完成各類管理操作。
如圖3a所示,虛擬表4, 5通過連接操作形成虛擬表2;虛擬表5, 6通過 聯(lián)合操作形成虛擬表3;而虛擬表2和3再通過連接操作形成虛擬表1 (根 虛擬表)。圖中標(biāo)明了虛擬表1的字段到虛擬表2和虛擬表3對(duì)應(yīng)字段之 間的——映射關(guān)系。而虛擬表3由于是通過聯(lián)合操作形成的,因此,虛擬 表3的一個(gè)字段分別映射到虛擬表5和虛擬表6的各一個(gè)字段。在解析應(yīng) 用程序提交的請(qǐng)求時(shí),解析會(huì)從頂層虛擬表(根虛擬表)開始,依據(jù)虛擬 表字段的映射關(guān)系,依次解析形成施加在下層虛擬表上的查詢請(qǐng)求,形成 如圖3b所示的查詢樹。注意到查詢樹與虛擬表訪問關(guān)系并不是一一對(duì)應(yīng) 的,例如虛擬表2對(duì)虛擬表4和5有訪問關(guān)系,當(dāng)虛擬表4和5分別映射 到同一個(gè)物理數(shù)據(jù)源中的兩個(gè)數(shù)據(jù)表時(shí),通過解析的優(yōu)化機(jī)制,查詢樹中 的查詢2直接映射到這兩個(gè)物理數(shù)據(jù)表模式上,執(zhí)行時(shí)就可以直接施加該 連接查詢請(qǐng)求到這個(gè)數(shù)據(jù)源上。
根據(jù)本發(fā)明的實(shí)施例,提供虛擬表創(chuàng)建、注銷、變更映射、變更屬性、 授權(quán),以及讀數(shù)據(jù)、寫數(shù)據(jù)、變更數(shù)據(jù)、刪除數(shù)據(jù)的接口。
圖4是具有兩個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)應(yīng)用系統(tǒng)基于虛擬化機(jī)制的部署和訪問示 意圖,其中每個(gè)節(jié)點(diǎn)包括一臺(tái)應(yīng)用服務(wù)器及兩臺(tái)數(shù)據(jù)庫(kù)服務(wù)器。虛擬化系 統(tǒng)默認(rèn)該系統(tǒng)具有一個(gè)系統(tǒng)管理員,由其完成虛擬化網(wǎng)絡(luò)系統(tǒng)的部署和初 始化過程。
在每一臺(tái)應(yīng)用服務(wù)器上創(chuàng)建該應(yīng)用服務(wù)器的系統(tǒng)社區(qū)(0號(hào)社區(qū))包 括下列步驟指定社區(qū)名稱(name )和社區(qū)服務(wù)的應(yīng)用服務(wù)器列表(hosts ), 獲得系統(tǒng)管理員的帳號(hào)(Creator),自動(dòng)獲得一個(gè)社區(qū)編號(hào)cid。系統(tǒng)管理 員還可以選擇指定默認(rèn)映射的數(shù)據(jù)庫(kù)服務(wù)器地址和端口 、默認(rèn)數(shù)據(jù)庫(kù)名 稱,數(shù)據(jù)庫(kù)用戶和密碼。將上述屬性存儲(chǔ)到在當(dāng)前創(chuàng)建社區(qū)所在的應(yīng)用服 務(wù)器上生成的cid.xml文件中。通過為該社區(qū)的虛擬表的屬性賦值,構(gòu)建 社區(qū)需要的虛擬表(圖4中未示出)。該虛擬表可以映射到默認(rèn)的物理數(shù) 據(jù)庫(kù)、數(shù)據(jù)表。
如上所述,系統(tǒng)社區(qū)是在系統(tǒng)初始化時(shí)在當(dāng)前應(yīng)用服務(wù)器上自動(dòng)創(chuàng)建 的,其hosts屬性只對(duì)應(yīng)當(dāng)前應(yīng)用服務(wù)器。0號(hào)社區(qū)的配置文件00000.xml 是不需要自動(dòng)同步到其它應(yīng)用服務(wù)器節(jié)點(diǎn)上,因此,對(duì)0號(hào)社區(qū)的訪問始 終是發(fā)生在當(dāng)前應(yīng)用服務(wù)器上,也即任何應(yīng)用服務(wù)器是不能訪問其它應(yīng)用
服務(wù)器的0號(hào)社區(qū)邏輯空間的。
系統(tǒng)管理員登錄到0號(hào)社區(qū)后,可以增加和管理社區(qū)的資源,還可以 管理在該社區(qū)注冊(cè)的用戶或者申請(qǐng)加入該社區(qū)的其他用戶。社區(qū)的用戶都 可以在當(dāng)前社區(qū)部署和管理虛擬表。因此,社區(qū)的用戶和虛擬表是在社區(qū) 運(yùn)行過程中動(dòng)態(tài)積累和管理的。
初始化的資源還包括一個(gè)存儲(chǔ)社區(qū)用戶信息的虛擬用戶表、 一個(gè)存儲(chǔ) 社區(qū)訪問控制授權(quán)信息的虛擬角色表。當(dāng)然,根據(jù)實(shí)際應(yīng)用情景的需要, 這些表是否部署是可以選擇的,也還可以增加部署其它的虛擬表。
由系統(tǒng)管理員登錄到該應(yīng)用服務(wù)器的o號(hào)社區(qū),應(yīng)用o號(hào)社區(qū)的創(chuàng)建
社區(qū)的功能創(chuàng)建其它應(yīng)用需要的社區(qū)n。與O號(hào)社區(qū)同理,創(chuàng)建社區(qū)的時(shí) 候,可以自動(dòng)部署社區(qū)需要的虛擬表,同樣需要指定這些虛擬表映射的物 理數(shù)據(jù)庫(kù)、數(shù)據(jù)表的存儲(chǔ)位置。每創(chuàng)建一個(gè)社區(qū),就為該社區(qū)指定一個(gè)社 區(qū)管理員用戶,社區(qū)管理員以后登錄到該社區(qū)后,可以增加和管理社區(qū)的 資源,還可以管理在該社區(qū)注冊(cè)的用戶或者申請(qǐng)加入該社區(qū)的其它用戶, 社區(qū)的用戶都可以在當(dāng)前社區(qū)部署和管理虛擬表。因此,社區(qū)的用戶和虛 擬表也是在社區(qū)運(yùn)行過程中動(dòng)態(tài)積累和管理的。同理,可以在節(jié)點(diǎn)2創(chuàng)建 社區(qū)m。在每個(gè)節(jié)點(diǎn)上創(chuàng)建的非系統(tǒng)社區(qū)的配置文件被動(dòng)態(tài)的同步復(fù)制到 其它節(jié)點(diǎn)上,從而確保多個(gè)節(jié)點(diǎn)的不同社區(qū)都能夠具有全局唯一編號(hào)。
社區(qū)管理員可以變更其所管理的社區(qū),除了社區(qū)編號(hào)cid屬性以外, 其它屬性信息都可以在運(yùn)行時(shí)動(dòng)態(tài)變更,變更的信息同樣同步到其它應(yīng)用 服務(wù)器上變更對(duì)應(yīng)社區(qū)xml文件存儲(chǔ)的信息。
社區(qū)管理員可以申請(qǐng)注銷其所管理的社區(qū),注銷時(shí),只需要指定被注 銷社區(qū)的cid編碼,刪除該社區(qū)xml文件,同時(shí)刪除社區(qū)的用戶和虛擬表, 以及位于其它應(yīng)用服務(wù)器上的該社區(qū)文件。
理員同意,并被系統(tǒng)管理員批準(zhǔn)后,被合并的社區(qū)用戶成為合并到的社區(qū) 的用戶,被合并社區(qū)的虛擬表成為合并到的社區(qū)的虛擬表,每個(gè)虛擬表都 被重新分配一個(gè)虛擬表編碼,申請(qǐng)被合并的社區(qū)被注銷。合并到的社區(qū)的 編碼(cid)、名稱(name)、創(chuàng)建者(creator )、應(yīng)用服務(wù)器列表(hosts) 屬性都不變。
社區(qū)管理員可以向系統(tǒng)管理員申請(qǐng)將社區(qū)拆分成幾個(gè)新社區(qū),批準(zhǔn)后 社區(qū)可以被拆分成多個(gè)社區(qū)。其中原社區(qū)保留,并創(chuàng)建新社區(qū),并自動(dòng)為
新創(chuàng)建的社區(qū)分配社區(qū)編碼(cid),指定名稱(name)、創(chuàng)建者(creator )、 和對(duì)應(yīng)的應(yīng)用服務(wù)器列表(hosts)。原社區(qū)的用戶和虛擬表部分被分配到 新產(chǎn)生的社區(qū),并為虛擬表重新分配一個(gè)虛擬表編號(hào)。
確定友好關(guān)系社區(qū)管理員可以向其它社區(qū)管理員申請(qǐng)建立友好關(guān) 系,申請(qǐng)同意后,友好關(guān)系便成立。并通過社區(qū)變更操作,變更兩個(gè)社區(qū) xml文件中社區(qū)之間關(guān)系的屬性,重新設(shè)定建立了友好關(guān)系的社區(qū)編碼 cid。
根據(jù)上述網(wǎng)絡(luò)系統(tǒng)的構(gòu)建方法,網(wǎng)絡(luò)系統(tǒng)的社區(qū)是具有生命周期的, 具體體現(xiàn)在下述方面1 )社區(qū)是在系統(tǒng)運(yùn)行過程中動(dòng)態(tài)創(chuàng)建的,不是系
統(tǒng)固有的;2)社區(qū)的運(yùn)行是獨(dú)立的,邏輯地位是平等的;3)社區(qū)有內(nèi)在 的規(guī)則約束,比如在創(chuàng)建社區(qū)或者在社區(qū)運(yùn)行過程中,社區(qū)管理員可以定 義社區(qū)內(nèi)用戶可以共享的資源,以及約束社區(qū)內(nèi)用戶和社區(qū)外用戶訪問本 社區(qū)資源的權(quán)限;4)根據(jù)需要,可以將多個(gè)社區(qū)合并成一個(gè)社區(qū),包括
一個(gè)社區(qū)也可以拆分成多個(gè)社區(qū),同時(shí)資源和用戶也分別-故分配屬于多個(gè) 社區(qū);5)雖然社區(qū)是獨(dú)立運(yùn)行的,^旦是社區(qū)之間可以定義關(guān)系和權(quán)限, 比如友好關(guān)系,可以定義社區(qū)內(nèi)的虛擬表資源的私有、公開、有條件公開 給其它社區(qū)的共享^J艮。
針對(duì)任何一個(gè)社區(qū)開發(fā)的應(yīng)用程序可以用 一個(gè)社區(qū)標(biāo)號(hào).虛擬表標(biāo)號(hào) (cid.vid),通過虛擬表的訪問接口透明的訪問各種資源,其中,程序開發(fā) 人員未必是社區(qū)的用戶,而程序在運(yùn)行時(shí),會(huì)根據(jù)當(dāng)前訪問的用戶身份, 訪問接口內(nèi)部邏輯確定該用戶是否有對(duì)該虛擬表訪問的權(quán)限。
圖5是邏輯網(wǎng)絡(luò)系統(tǒng)的一個(gè)應(yīng)用的流程圖。圖5示出了一個(gè)查詢請(qǐng)求, 其工作流程如下過程Sl表示用戶(應(yīng)用程序)針對(duì)社區(qū).虛擬表(cid.vid) 提交一個(gè)查詢請(qǐng)求;過程S2表示解析cid.vid所映射的其它虛擬表的目標(biāo) 字段的編號(hào)或數(shù)據(jù)表的字段信息;過程S3表示檢查當(dāng)前用戶是否有權(quán)限 訪問該虛擬表,如果沒有,直接返回應(yīng)用程序無(wú)訪問權(quán)限錯(cuò)誤,并結(jié)束; 過程S4表示檢查當(dāng)前要訪問的cid.vid是否是個(gè)基本虛擬表,也就是映射 到物理數(shù)據(jù)庫(kù)、數(shù)據(jù)表的虛擬表;過程S5表示如果不是基本虛擬表,而 是復(fù)合虛擬表,就需要繼續(xù)向下解析出要訪問的下層社區(qū).虛擬表,再重復(fù) 執(zhí)行S2、 S3過程,依次類推,直到要訪問的是基本虛擬表;過程S6表示 根據(jù)當(dāng)前要訪問的虛擬表的社區(qū)編號(hào),把請(qǐng)求透明的發(fā)送到社區(qū)映射的應(yīng) 用服務(wù)器節(jié)點(diǎn),并通過當(dāng)前虛擬表的映射關(guān)系,直接對(duì)對(duì)應(yīng)的物理數(shù)據(jù)庫(kù)、
數(shù)據(jù)表,或者中間臨時(shí)的緩存數(shù)據(jù)庫(kù)和數(shù)據(jù)表訪問;過程S7表示上層的 虛擬表在下層的虛擬表都執(zhí)行完后,再基于形成的中間數(shù)據(jù)結(jié)果做匯集訪 問,并將結(jié)果入緩存數(shù)據(jù)庫(kù)臨時(shí)表;過程S8表示判斷是否已經(jīng)執(zhí)行到頂 層(根)虛擬表了,如果沒有,則重復(fù)S6, S7過程,基于下層的虛擬表 的臨時(shí)表數(shù)據(jù),執(zhí)行上層虛擬表的請(qǐng)求訪問,直到執(zhí)行到頂層的虛擬表; 過程S9表示當(dāng)執(zhí)行完頂層虛擬表后,向用戶(應(yīng)用程序)返回最終結(jié)果。
根據(jù)本發(fā)明的思想,可以方便快捷的構(gòu)建一個(gè)虛擬化的網(wǎng)絡(luò)系統(tǒng),大 量的設(shè)計(jì)、開發(fā)、部署、維護(hù)等操作都可以直接基于社區(qū)和虛擬表兩個(gè)邏 輯概念實(shí)現(xiàn),從而無(wú)需關(guān)注物理資源、運(yùn)行應(yīng)用服務(wù)器的具體位置,屏蔽 資源的異構(gòu)性以及物理操作細(xì)節(jié),為普通用戶提供一個(gè)可以自管理、自消 費(fèi)的可擴(kuò)展的系統(tǒng),確保基于該系統(tǒng)開發(fā)的應(yīng)用可以全局的透明訪問、部 署、移植。
應(yīng)該注意到并理解,在不脫離后附的權(quán)利要求所要求的本發(fā)明的精神 和范圍的情況下,能夠?qū)ι鲜鲈敿?xì)描述的本發(fā)明做出各種修改和改進(jìn)。因 此,要求保護(hù)的技術(shù)方案的范圍不受所給出的任何特定示范教導(dǎo)的限制。
權(quán)利要求
1.一種網(wǎng)絡(luò)系統(tǒng),包括一個(gè)或多個(gè)社區(qū),所述社區(qū)包括一個(gè)或多個(gè)虛擬表以及一個(gè)或多個(gè)用戶,所述社區(qū),映射應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù),由所述應(yīng)用服務(wù)器處理針對(duì)所述虛擬表的訪問請(qǐng)求,所述社區(qū)的屬性至少包括所述社區(qū)映射的應(yīng)用服務(wù)器列表;其中,所述虛擬表,用于映射數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)表,所述虛擬表屬性至少包括字段屬性集合,其中所述字段屬性集合包括所述字段的編號(hào),所述字段屬性集合還包括字段所映射到的其它虛擬表的目標(biāo)字段的編號(hào)或數(shù)據(jù)表的字段信息,其中,對(duì)于所述字段屬性集合包括字段所映射到數(shù)據(jù)表的字段信息的情況,則虛擬表的屬性還包括所述數(shù)據(jù)表所在的數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)的屬性信息;所述用戶,負(fù)責(zé)創(chuàng)建、變更、注銷、合并或拆分所述社區(qū),或者增加、刪除或維護(hù)所述虛擬表。
2. 根據(jù)權(quán)利要求l所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,所述社區(qū)的屬性還 包括默認(rèn)的數(shù)據(jù)庫(kù)服務(wù)器地址和端口 ,以及默認(rèn)數(shù)據(jù)庫(kù)名稱、默認(rèn)數(shù)據(jù)庫(kù) 用戶和密碼。
3. 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,所述社區(qū)屬性還包 括社區(qū)之間的關(guān)系屬性。
4. 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,所述虛擬表的字段 屬性集合還包括所述字段的名稱、類型、長(zhǎng)度、屬性缺省值、可選值域、 是否主4建、是否允許空值。
5. 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,所述虛擬表的屬性 還包括關(guān)系操作連接條件、附加的數(shù)據(jù)過濾約束條件、訪問權(quán)限、創(chuàng)建 時(shí)間和最近訪問時(shí)間。
6. 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,所述虛擬表支持關(guān) 系操作算子,通過所述關(guān)系操作算子基于已有的虛擬表構(gòu)建新的虛擬表, 新虛擬表的字段屬性集合中存儲(chǔ)所述新虛擬表所映射的虛擬表的字段編
7. 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,所述社區(qū)還包括用 于存儲(chǔ)所述社區(qū)的所述用戶的信息的虛擬用戶表。
8. 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,所述社區(qū)還包括用 于存儲(chǔ)所述社區(qū)的訪問控制授權(quán)信息的虛擬角色表。
9. 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,所述社區(qū)的所述用 戶包括系統(tǒng)管理員,所述系統(tǒng)管理員創(chuàng)建所述網(wǎng)絡(luò)系統(tǒng)的社區(qū)。
10. 根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng),其特征在于,對(duì)于多個(gè)社區(qū)的情況,所述社區(qū)的所述用戶包括社區(qū)管理員,所述社區(qū)管理員負(fù)責(zé)管理所述社區(qū)。
11. 一種如權(quán)利要求1所述的社區(qū)的創(chuàng)建方法,包括下列步驟1 )指定所述社區(qū)名稱和包含所述社區(qū)映射的一個(gè)或多個(gè)應(yīng)用服務(wù)器 的應(yīng)用服務(wù)器列表,獲得所述社區(qū)創(chuàng)建者帳號(hào)和所述社區(qū)編號(hào),并將上述 屬性存儲(chǔ)在所述應(yīng)用服務(wù)器上;2) 通過為所述社區(qū)的虛擬表的屬性賦值,構(gòu)建所述社區(qū)的虛擬表。
12. 根據(jù)權(quán)利要求11所述的創(chuàng)建方法,其特征在于,所述步驟1)還 包括步驟11)指定所述社區(qū)的默認(rèn)的數(shù)據(jù)庫(kù)服務(wù)器地址和端口 ,以及默認(rèn)數(shù)據(jù) 庫(kù)名稱、默i人^:據(jù)庫(kù)用戶和密碼。
13. 才艮據(jù)權(quán)利要求11或12所述的創(chuàng)建方法,其特征在于,還包括步驟3) 創(chuàng)建所述社區(qū)的虛擬用戶表。
14. 根據(jù)權(quán)利要求11至13任一項(xiàng)所述的創(chuàng)建方法,其特征在于,還 包括步驟4) 創(chuàng)建所述社區(qū)的虛擬角色表。
15. 根據(jù)權(quán)利要求11所述的創(chuàng)建方法,其特征在于,還包括步驟5) 為所述社區(qū)指定社區(qū)管理員;6) 將步驟5)的所述社區(qū)同步復(fù)制到步驟5)所述社區(qū)所存儲(chǔ)的應(yīng)用 服務(wù)器之外的其他應(yīng)用服務(wù)器上。
16. —種如權(quán)利要求15所述的創(chuàng)建方法所創(chuàng)建的社區(qū)的變更方法,包 括下列步驟2)將步驟1 )所述修改結(jié)果同步到所有應(yīng)用服務(wù)器上。
17. —種如權(quán)利要求15所述的創(chuàng)建方法所創(chuàng)建的社區(qū)的注銷方法,包 括下列步驟 1) 指定所述社區(qū)的社區(qū)編號(hào),刪除存儲(chǔ)所述社區(qū)的屬性的文件;2) 刪除所述社區(qū)的用戶和虛擬表。
18. —種如權(quán)利要求15所述的創(chuàng)建方法所創(chuàng)建的社區(qū)的合并方法,包 括下列步驟注銷所述被合并的社區(qū),其中,所述一皮合并的社區(qū)的用戶和 虛擬表分別成為所述合并到的社區(qū)的用戶和虛擬表,且所述虛擬表被重新 分配虛擬表編號(hào)。
19. 一種如權(quán)利要求15所述的創(chuàng)建方法所創(chuàng)建的社區(qū)的拆分方法,包 括下列步驟創(chuàng)建新社區(qū),為所述新社區(qū)分配社區(qū)編號(hào),指定社區(qū)名稱、 社區(qū)創(chuàng)建者的賬號(hào)和所述新社區(qū)映射的應(yīng)用服務(wù)器列表,將所述社區(qū)的用 戶和虛擬表分配到所述新社區(qū),并為所述虛擬表重新分配編號(hào)。
20. —種應(yīng)用權(quán)利要求1所述的網(wǎng)絡(luò)系統(tǒng)的查詢方法,包括下列步驟 Al)用戶針對(duì)所述虛擬表提交一個(gè)查詢請(qǐng)求;A2 )解析所述虛擬表所映射的其它虛擬表的目標(biāo)字段的編號(hào)或數(shù)據(jù)表 的字段信息;A3)檢查當(dāng)前用戶是否有權(quán)限訪問該虛擬表,如果沒有,直接返回所 述用戶無(wú)訪問權(quán)限錯(cuò)誤,結(jié)束;A4.)對(duì)于所述虛擬表映射到其它虛擬表的情況,就繼續(xù)向下解析所述 其它虛擬表,重復(fù)執(zhí)行A2)、 A3)步驟,直到解析到所述其他虛擬表映射 到數(shù)據(jù)表;A5 )把查詢請(qǐng)求發(fā)送到當(dāng)前虛擬表所屬的社區(qū)映射的應(yīng)用服務(wù)器,并 通過虛擬表的映射關(guān)系,直接訪問物理數(shù)據(jù)庫(kù)、數(shù)據(jù)表,或者中間臨時(shí)的 緩存數(shù)據(jù)庫(kù)和數(shù)據(jù)表;A6)上層的虛擬表在下層的虛擬表都執(zhí)行完后,再基于形成的中間數(shù) 據(jù)結(jié)果做匯集訪問,并將結(jié)果入緩存數(shù)據(jù)庫(kù)臨時(shí)表;A7)判斷是否已經(jīng)執(zhí)行到頂層虛擬表了,如果否,則重復(fù)A5, A6過 程,直到執(zhí)行到頂層的虛擬表,如果是,則向所述用戶返回最終查詢結(jié)果。
全文摘要
本發(fā)明提供一種網(wǎng)絡(luò)系統(tǒng),包括一個(gè)或多個(gè)社區(qū),社區(qū)包括虛擬表以及用戶,所述社區(qū)映射應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù),由所述應(yīng)用服務(wù)器處理針對(duì)所述虛擬表的訪問請(qǐng)求,社區(qū)的屬性至少包括所述社區(qū)映射的應(yīng)用服務(wù)器列表;虛擬表映射數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)和數(shù)據(jù)表,虛擬表屬性至少包括字段屬性集合,其中所述字段屬性集合包括所述字段的編號(hào),所述字段屬性集合還包括字段所映射到的其它虛擬表的目標(biāo)字段的編號(hào)或數(shù)據(jù)表的字段信息;所述用戶負(fù)責(zé)管理所述社區(qū)和虛擬表。設(shè)計(jì)、維護(hù)、管理互聯(lián)網(wǎng)的應(yīng)用和資源的大量操作都可以直接基于上述概念完成,屏蔽了物理操作的煩瑣細(xì)節(jié),確保了使用互聯(lián)網(wǎng)的方便性。
文檔編號(hào)H04L29/06GK101360123SQ200810119858
公開日2009年2月4日 申請(qǐng)日期2008年9月12日 優(yōu)先權(quán)日2008年9月12日
發(fā)明者徐志偉, 李曉林, 毅 謝 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所