<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    潛魚在淵

    Concentrating on Architectures.

    posts - 77, comments - 309, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    分布式系統(tǒng)中的信息對象

    Posted on 2005-12-21 22:58 非魚 閱讀(2829) 評論(5)  編輯  收藏 所屬分類: 面向?qū)ο笤O(shè)計
        術(shù)語

        信息對象 - 表示會被持久化的實體對象,一般在信息視圖中描述。下文也把信息對象簡稱為對象。這些對象本身不是分布式對象,但它們可能會被不同的節(jié)點訪問。

        節(jié)點 - 分布式系統(tǒng)中的組成部分。由應用服務(wù)器和數(shù)據(jù)庫及其他服務(wù)端組件組成。

        復制 - 指持久化的對象的復制,如數(shù)據(jù)庫記錄的復制。

        背景

        在MIS、ERP、CRM等分布式系統(tǒng)中,可能存在多個節(jié)點,每個節(jié)點都有自己的應用服務(wù)器和數(shù)據(jù)庫系統(tǒng)。這些節(jié)點產(chǎn)生的信息對象可能被本地節(jié)點或異地節(jié)點所訪問;在整個分布式系統(tǒng)中,也存在一些全局的信息對象,它們被分布式系統(tǒng)中的所有節(jié)點訪問。

        需求問題

        從用戶的角度,他們不關(guān)心具體的實現(xiàn),但他們會要求某些信息對象可以在每個分布式節(jié)點都能被訪問到。從需求一開始被提出時,他們可能并沒有意識到這一點。需求分析人員要在這里做更多的工作,避免遺漏:

    1. 信息對象是在哪些節(jié)點產(chǎn)生的?
    2. 這些信息對象會被其他節(jié)點使用嗎?
    3. 網(wǎng)絡(luò)狀況如何?
    4. 這些信息對象會從一個節(jié)點復制到另一個節(jié)點嗎?
    5. 這些對象會從一個節(jié)點遷移到另一個節(jié)點嗎?
        對象在本地節(jié)點產(chǎn)生,被異地節(jié)點訪問

        如果一個信息對象會被其他節(jié)點使用,一般來說是要持久化的,在持久化時,必須保存其節(jié)點信息。持久化的方式有兩種:獨立存放(放在單獨的字段中)或者把節(jié) 點信息存放在對象的識別域(一般是主鍵)中。獨立存放節(jié)點信息比較靈活;把節(jié)點信息存放在識別域中可以獲得有限的位置透明特性,但帶來節(jié)點信息和其他識別 信息的混雜,且不利于信息對象的遷移。另外,用戶方面可能原本定義了對象識別方法,并且這個方法可能和我們即將采取的行動沖突。

        當一個信息對象被其他節(jié)點使用時,一般存在兩種方式:遠程訪問和本地副本。遠程訪問直接通過網(wǎng)絡(luò)調(diào)用遠程節(jié)點上的過程并返回其關(guān)心的信息對象。本地副本則 在本地保存其他節(jié)點的信息對象,在使用時直接在本地加載。遠程訪問適用于網(wǎng)絡(luò)狀況良好、需要事務(wù)控制的場合;本地副本一般在對信息實時性要求不高、或者網(wǎng) 絡(luò)條件差,傳輸?shù)貌坏奖WC的環(huán)境下。但在實際應用過程中,這兩種方法經(jīng)常聯(lián)合使用。

        遠程訪問的優(yōu)點和缺點:
    1. 獲得的信息是最新的、實時的。
    2. 方便事務(wù)控制。
    3. 實現(xiàn)簡單,整潔。
    4. 可管理性、可維護性好。
    5. 依賴于網(wǎng)絡(luò)狀況。
    6. 可靠性和可用性不夠好。
        本地副本的優(yōu)點和缺點:
    1. 高性能。
    2. 不受網(wǎng)絡(luò)限制。
    3. 可靠性和可用性高。
    4. 不能實現(xiàn)全局事務(wù)。
    5. 一般需要額外的成本實現(xiàn)信息對象的復制。
    6. 在信息對象大量復制的情況下不易管理和維護。
        結(jié)合上述兩種方式,并權(quán)衡系統(tǒng)的非功能需求和質(zhì)量要求,可以設(shè)計出適合不同應用的方案。

        本地對象的遷移和委托

        本地對象的遷移指在本地節(jié)點產(chǎn)生的信息對象,因為某種原因需要遷移到另外一個節(jié)點。本地對象的委托指本地節(jié)點產(chǎn)生的信息對象委托另外的節(jié)點來管理,即主要 的操作在異地節(jié)點完成,本地只有少量操作甚至沒有任何操作。這是兩個相反的情況。

        一般情況下,我們通過建立信息對象的引用來處理這兩種情況。在對象遷移時,我們把信息對象存儲到新的節(jié)點上,并在原節(jié)點建立到新節(jié)點該對象的引用。在委托 時,正好相反,我們在新的節(jié)點建立對原對象的引用。同時,系統(tǒng)也應該建立處理信息對象引用的機制。

        值得注意的是,對象的遷移和委托可能會和異地節(jié)點訪問信息對象的設(shè)計相沖突,這主要是指上文提到的本地副本的使用。可以考慮不使用本地副本機制或遷移、委托對象特別處理的方式解決這個問題。

        全局對象

        除了本地信息對象之外,分布式系統(tǒng)中往往也存在一些全局信息對象。這些全局信息對象在整個系統(tǒng)中的所有節(jié)點使用。

        部分全局信息對象在系統(tǒng)安裝、初始化時刻就產(chǎn)生了;部分全局對象是在系統(tǒng)運行過程中產(chǎn)生的。保證全局信息對象的一致性,是設(shè)計過程中需要特別注意的。比如,應該極力避免全局信息對象的復雜存儲設(shè)計。

        一般來說,可以考慮對全局信息對象進行集中存儲和分布存儲加集中/分布復制兩種方案。這兩種方案的優(yōu)缺點和我們上文講到的本地對象異地訪問類似。但由于全局對象的往往訪問頻繁,一般采用第二種方式實現(xiàn)。

        數(shù)據(jù)中心

        對于一個一般性的全局查詢,不可能通過遍歷分布式系統(tǒng)中的所有節(jié)點來完成。所以,在分布式系統(tǒng)中建立一個全局集中的數(shù)據(jù)中心是必要的。數(shù)據(jù)中心可以滿足大部分查詢需求,并可以在其基礎(chǔ)上建立高級應用,如數(shù)據(jù)分析、決策支持等等。

        在數(shù)據(jù)中心的問題上,應該盡量避免分布式系統(tǒng)本身對數(shù)據(jù)中心的依賴。數(shù)據(jù)中心是對分布式系統(tǒng)的有益補充,但它的主要目的并不是分布式系統(tǒng)本身。所以我們應該利用但盡可能不依賴它。

        工具

        一般信息對象的復制可以使用現(xiàn)成的產(chǎn)品,如Sybase Replication Server。當然對于一些特殊要求,可能需要自己實現(xiàn)。這不是做廣告,算是對本文的一個補充吧。

        總結(jié)

        在大型分布式系統(tǒng)中,上述問題是基本的也是簡單的。但這樣說的前提是你考慮到了這個問題。如果你正在進行類似的工作,希望本文能夠?qū)δ阌兴鶈l(fā)。

    評論

    # re: 分布式系統(tǒng)中的信息對象  回復  更多評論   

    2005-12-22 11:54 by weide
    Sybase Replication Server能夠復制的信息對象有哪些?

    象電驢、BT這種算是大型分布式系統(tǒng)嗎?

    能否試舉一例?比如銀聯(lián),這個是否算是大型分布式了?

    # re: 分布式系統(tǒng)中的信息對象  回復  更多評論   

    2005-12-22 12:26 by 非魚
    @weide
    Sybase Replication Server是用來復制數(shù)據(jù)庫記錄的。它可以把數(shù)據(jù)庫記錄從一個數(shù)據(jù)庫復制到另一個數(shù)據(jù)庫。可以用在Sybase, Oracle, DB2, SQL Server上,支持異種數(shù)據(jù)庫之間的復制。

    我說的分布式系統(tǒng)主要是指應用軟件,如MIS,ERP,CRM等。銀聯(lián)是一個大型分布式系統(tǒng),而且是關(guān)鍵任務(wù)型的。我寫的這些對于銀聯(lián)的應用,可以有些參考作用吧(沒有做過,僅猜測)。

    EMULE、BT是個人使用的互聯(lián)網(wǎng)應用軟件。它不會因為P2P就成為“分布式系統(tǒng)”了,就象IE,F(xiàn)F,它們是分布式系統(tǒng)嗎?

    # re: 分布式系統(tǒng)中的信息對象  回復  更多評論   

    2005-12-22 14:29 by weide
    @非魚

    IE、FF不是:按照分布式系統(tǒng)“每個節(jié)點都有自己的應用服務(wù)器和數(shù)據(jù)庫系統(tǒng)”,它們沒有提供服務(wù)的功能

    eMule和BT則不同,每個節(jié)點都有自己的應用服務(wù)器和數(shù)據(jù)庫系統(tǒng)(雖然簡單了點,確實提供了服務(wù);數(shù)據(jù)庫系統(tǒng)可以認為他們使用的是文件型數(shù)據(jù)庫);

    分布式系統(tǒng)未嘗不可以采用emule和bt協(xié)議來進行信息的訪問和復制吧?分布式系統(tǒng)是P2P的一種,或者P2P也是一種分布式系統(tǒng)?

    # re: 分布式系統(tǒng)中的信息對象  回復  更多評論   

    2005-12-22 20:25 by 非魚
    @weide

    你又鉆牛角尖了。

    首先我這篇文章不是講“什么是分布式系統(tǒng)”,所以我也沒有給出一個定義。其主要內(nèi)容是講在某些分布式系統(tǒng)下的信息對象,開始沒有界定清楚,現(xiàn)已更改。

    eMule或BT本身不是分布式系統(tǒng)。eMule(BT)(>=2)+eMule(BT) Server才組成一個分布式系統(tǒng)。這是一個部分與整體的關(guān)系。下面是一個類比:

    IE(FF) -> JavaAppServer ->DBMS
    EMule(BT) -> Server ->Any Persistence System

    我說的是上面的一種情況,且只關(guān)注多App Server:[AppSvr1, AppSvr2,...AppSvrn]這種特例。

    在eMule(BT) Server Side, 同樣由多服務(wù)器組成Matrix。它也有這個信息對象問題。即Resource(name, size, etc...)在一個eMule(BT) Server上,當你連接到Matrix中任一服務(wù)器時,你可以Search到其他服務(wù)器上的一個Resource。基于Internet的特性,和人們對P2P資源的要求,這個Matrix允許部分失效。這不會影響到客戶端使用者(eMule(BT))。在其服務(wù)器之間的交互上,可能是采用非位置透明的方法,如管理員維護其他服務(wù)器列表。也可能使用位置透明的方法,這讓我想到Jini的技術(shù)。

    上述關(guān)于P2P系統(tǒng),純屬猜測,請勿認真。

    # re: 分布式系統(tǒng)中的信息對象  回復  更多評論   

    2005-12-23 17:23 by weide
    我說電驢和BT的時候,其實就是指的整個的系統(tǒng)而不是BT客戶端。BT也算是一種網(wǎng)絡(luò)傳輸協(xié)議了吧?

    Bitcomet的DHT網(wǎng)絡(luò)的引入應該降低了對數(shù)據(jù)中心的依賴;最新的exeem,則干脆不需要數(shù)據(jù)中心了,只是因此速度很慢,所以不再用了。

    這是能夠接觸到分布式系統(tǒng)。商業(yè)環(huán)境中沒用過:(
    主站蜘蛛池模板: 亚洲香蕉免费有线视频| 四虎影视永久免费视频观看| 国产精品亚洲综合五月天| 国产成人在线免费观看| a毛片全部播放免费视频完整18| 亚洲国产品综合人成综合网站 | 啊v在线免费观看| 丁香花在线观看免费观看图片| 亚洲欧洲日韩国产| 亚洲精品黄色视频在线观看免费资源| 久久青草免费91观看| 亚洲中文字幕久久久一区| 亚洲人成伊人成综合网久久久| 无人影院手机版在线观看免费 | 四虎成人免费网站在线| 大地影院MV在线观看视频免费| 中文日韩亚洲欧美制服| 亚洲爆乳无码专区| 亚洲AV永久无码精品一区二区国产| 亚洲电影免费在线观看| 免费福利资源站在线视频| 亚洲免费电影网站| 亚洲av无码片在线播放| 亚洲国产一区明星换脸| 成人免费毛片观看| 在线看片免费人成视久网| eeuss影院免费直达入口| 亚洲色偷偷综合亚洲AV伊人蜜桃 | 亚洲JIZZJIZZ妇女| 久久亚洲AV成人出白浆无码国产| 亚洲AV无码乱码在线观看| 性xxxxx免费视频播放| 精品亚洲永久免费精品| 中美日韩在线网免费毛片视频| 亚洲欧美中文日韩视频| 亚洲精品成人网站在线播放| 久久夜色精品国产亚洲| 亚洲国产成人精品女人久久久 | 亚洲视频在线免费看| 久久亚洲免费视频| 热久久这里是精品6免费观看|