- 相關推薦
基于耦合度的分布問題研究
【摘要】
本文主要討論分布式應用系統(tǒng)中基于耦合度的用戶分布、功能分布和數(shù)據(jù)分布問題!娟P鍵詞】用戶分布,功能分布,數(shù)據(jù)分布,耦合度,領域知識,自動構造
隨著client/server結構應用系統(tǒng)復雜和擴大,其數(shù)據(jù)、功能和用戶的分布問題變得日益突出。合理有效地設計mis系統(tǒng)模型是mis系統(tǒng)能否有效發(fā)揮效率的關鍵。通常處理這些問題都是軟件開發(fā)人員根據(jù)其以往的開發(fā)經驗,設計的好壞受人為因素影響很大,且方案因人而異。本文提出了基于耦合度的分布過程解決方案,并在此基礎上實現(xiàn)了一個分布的自動生成工具。一、
分布問題當我們根據(jù)系統(tǒng)的需求信息來設計基于三層client/server模型的mis系統(tǒng)的時候,一個很重要的工作就是需要確定mis系統(tǒng)由多少個客戶端、應用程序服務器和數(shù)據(jù)庫服務器組成,用戶、功能和數(shù)據(jù)是如何分布在客戶端、應用程序服務器和數(shù)據(jù)庫服務器上的。對于一個mis系統(tǒng)來說,我們都可以將它抽象分解為用戶集
u={u1,u2,..,ul}、功能集f={f1,f2,..,fm}和數(shù)據(jù)集t={t1,t2,..,tn}。用戶通過調用功能集中的一些功能模塊,來存取數(shù)據(jù)集中的數(shù)據(jù)表。我們可以用圖1說明它們之間的關系:本文所要討論的分布問題包括用戶分布(user
distribution)、功能分布(function
distribution)和數(shù)據(jù)分布(data
distribution)。用戶分布指的是根據(jù)系統(tǒng)的需求,決定如何在客戶端各個平臺上分配用戶,即每個客戶端允許哪些用戶使用。功能分布也稱處理(process)分布、事務(business)分布、邏輯(logic)分布,指的是如何在應用程序服務器各個平臺上分配功能,即決定哪些功能適合在哪些平臺上完成。數(shù)據(jù)分布的粒度大小可以是數(shù)據(jù)庫、數(shù)據(jù)表、行、列等,我們這里討論的數(shù)據(jù)分布邏輯單元是數(shù)據(jù)表(以下簡稱數(shù)據(jù)),數(shù)據(jù)分布指的是如何在數(shù)據(jù)庫服務器各個平臺上分配數(shù)據(jù),即如何在服務器上組織這些數(shù)據(jù)。二、耦合度的計算在分布式mis系統(tǒng)中,之所以有不同的客戶端、應用程序服務器和數(shù)據(jù)庫服務器,是因為用戶之間、功能之間和數(shù)據(jù)之間也存在著一種類似的不同“吸引力”。我們將這種“吸引力”取名為耦合度(coupling
degree)。我們將兩個用戶分在同一個客戶端的可能性稱之為用戶耦合度,兩個功能分在同一個應用程序服務器的可能性稱之為功能耦合度,兩個數(shù)據(jù)分在同一個數(shù)據(jù)庫服務器的可能性稱之為數(shù)據(jù)表耦合度。這里討論耦合度,是因為耦合度是分布式mis系統(tǒng)網絡節(jié)點劃分的依據(jù)。耦合度是不同種因素的函數(shù)。耦合度=f(因素1,因素2,…,因素n)用戶耦合度
用戶之間所屬關系、距離和特殊要求等因素都可能影響用戶耦合度大小。企業(yè)的部門和職務之間的所屬關系構成一棵部門職務關系樹或森林,葉結點為用戶。直接同屬一個部門的兩個用戶肯定比間接同屬一個部門的兩個用戶分在同一個客戶端的可能性要大。我們將兩個用戶到它們最近共同祖先的最大距離定義為兩個用戶之間的疏遠度,當兩個用戶分屬于兩棵關系樹時,它們的疏遠度為¥
。如圖2所示的部門職務關系樹中,用戶u1(職務1)和u4(職務3)之間的疏遠度為2,用戶u1和u3(部門6)之間的疏遠度為3
。疏遠度越大其耦合度越小,我們給不同的疏遠度以不同的權值,這樣就可以折算為耦合度值。兩個用戶相距400米以內肯定比兩個用戶相距1公里以上分在同一個客戶端可能性要大。兩個用戶相距越近,其耦合度越大,用戶相距遠近給予不同的權值,以折算為耦合度值。針對企業(yè)的一些特殊要求,我們用程度詞來說明兩個用戶分在同一個客戶端的可能性,常見的程度詞如必須、盡可能、不可能、不能等等,我們給不同的程度詞以不同的權值,以折算為耦合度值。功能耦合度
很明顯,調用功能1的所有用戶和調用功能2的所有用戶之間的關系越緊密,這兩個功能分在同一應用程序服務器的可能性就越大。這種用戶調用功能的關系對功能耦合度影響較大,但其它因素也影響功能耦合度大小。數(shù)據(jù)耦合度
功能存取數(shù)據(jù)的關系對數(shù)據(jù)耦合度影響較大。其它影響數(shù)據(jù)耦合度大小的因素包括數(shù)據(jù)庫系統(tǒng)的特殊要求、mis系統(tǒng)要求等。三、
分布過程用戶、功能和數(shù)據(jù)分布主要是確立client/server系統(tǒng)結構。我們這里主要討論基于耦合度的用戶、功能和數(shù)據(jù)劃分過程,用戶、功能和數(shù)據(jù)耦合度是我們進行網絡節(jié)點劃分的依據(jù)。用戶、功能、數(shù)據(jù)分布需要解決兩個問題:1)mis系統(tǒng)由多少個網絡節(jié)點組成。2)用戶、功能、數(shù)據(jù)是如何在這些網絡節(jié)點上分配的。這兩個問題的解決又是統(tǒng)一的,即如何進行網絡節(jié)點的劃分。下面我們以用戶分布為例,來說明分布過程的具體步驟。設企業(yè)的用戶集合u={u1,u2,…um},lu為客戶端分組劃分的用戶耦合度下限。我們的目標是找出一個最小個數(shù)客戶端集合c={c1,
c2,
c3,…,
ck},客戶端c1,
c2,
c3,…,
ckí
u,滿足(1)
c1,+c2+
c3+…+ck
=u。(2)任意ci∈
c,cj∈c,i≠j
有ci∩cj=φ。(3)若rf(ui,uj)>=lu,則用戶ui,uj
就在同一客戶端。具體步驟如下:第一步,計算用戶之間耦合度。這里rfd
(ui,uj)
、rfc
(ui,uj)
、rfs
(ui,uj)分別表示用戶ui和uj之間由于距離、所屬關系、特殊要求等因素影響的耦合度。rf(ui,uj)=
rfd
(ui,uj)
+rfc
(ui,uj)
+rfs
(ui,uj)+…第二步,求用戶二元關系ru。ru={
|
"
ui,
uj
?
u
且
rf(ui,
uj)3
lu
}第三步,求ru的等價關系ru挕?ru?
t(ru)第四步,客戶端劃分c。c=u/
ru?/p>分布是一個權衡的過程,不存在唯一正確的方案。必須兼顧目標與限制,綜合考慮所有方面的因素。四、分布的自動生成工具我們設計和實現(xiàn)了一個mis系統(tǒng)輔助開發(fā)環(huán)境ndtool(node
distributed
tool),這是一個基于耦合度和領域知識的用戶、功能和數(shù)據(jù)分布的自動生成工具。該系統(tǒng)設計過程貫穿了我們所提出的思想和方法。ecsl(enterprise
concept
structure
description
language)是一個企業(yè)概念結構描述語言,主要用于獲取最終用戶所提供的企業(yè)的需求信息。采用中文的類自然語言形式,面向最終用戶。dkdl(domain
knowledgedescription
language)是一個領域知識描述語言,主要用于獲取領域專家在mis系統(tǒng)開發(fā)上所積累的經驗,并將所得到的領域知識存放于領域知識庫中。該語言面向領域軟件專家。領域知識庫用于存放領域知識。由dkdl獲取的領域專家的開發(fā)經驗,經過分析、組織,所得到的結果保存在領域知識庫中。我們提供一組領域知識庫的操作接口,用于領域知識庫的存取和維護工作。madl(mis
system
architecture
description
language)是一個分布式mis系統(tǒng)體系結構描述語言,主要用于描述mis系統(tǒng)中的用戶、數(shù)據(jù)和功能的分布情況。它是ndtool系統(tǒng)最后生成的結果。該語言面向軟件開發(fā)人員。ndtool系統(tǒng)的工作流程。首先,將領域軟件專家所掌握的領域知識,描述成dkdl文本,經過dkdl編譯器的編譯,并調用領域知識庫的接口將所分析的結果存入領域知識庫中。當需要開發(fā)mis系統(tǒng)時,企業(yè)最終用戶將他的需求信息用ecsl語言描述出來。通過ecsl編譯器進行編譯,參考領域知識庫的有關領域知識,計算用戶、功能和數(shù)據(jù)耦合度,再根據(jù)耦合度進行網絡節(jié)點的劃分,最后將結果用madl語言描述出來。提供給開發(fā)人員進行數(shù)據(jù)模型和模塊設計。五、
結束語本文圍繞基于耦合度的client/server結構應用程序的分布過程及其自動生成工具的實現(xiàn)進行了討論。分布問題具有一個不確定性的特點,同時分布將耗費開發(fā)者大量的精力。如何合理地設計分布構造方法以及設計分布的自動生成工具是client/server系統(tǒng)開發(fā)過程中一個重要問題。參考文獻:[1]
陸汝鈐,金芝,萬榮林,夏幼明
基于領域知識的需求信息獲取軟件學報,vol.7,no.
3,1996[2]
趙洪彪,周立柱
client/server結構系統(tǒng)中的處理分布計算機科學,vol.
24,no.5,1997[3]
張左梁
c/s應用系統(tǒng)設計的新概念和新技術計算機科學,vol.24,no.1,1997
【基于耦合度的分布問題研究】相關文章:
基于概率分布的風險評估方法研究04-30
基于遙感分析的艾比湖流域植被分布研究04-30
基于次大值標桿的秘書問題研究04-29
基于分布式層次模型的診斷技術研究與應用04-30
基于R樹的分布式并行空間索引機制研究04-26