<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)系 :: 聚合  :: 管理
        術(shù)語

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

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

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

        背景

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

        需求問題

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

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

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

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

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

        本地對(duì)象的遷移和委托

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

        一般情況下,我們通過建立信息對(duì)象的引用來處理這兩種情況。在對(duì)象遷移時(shí),我們把信息對(duì)象存儲(chǔ)到新的節(jié)點(diǎn)上,并在原節(jié)點(diǎn)建立到新節(jié)點(diǎn)該對(duì)象的引用。在委托 時(shí),正好相反,我們?cè)谛碌墓?jié)點(diǎn)建立對(duì)原對(duì)象的引用。同時(shí),系統(tǒng)也應(yīng)該建立處理信息對(duì)象引用的機(jī)制。

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

        全局對(duì)象

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

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

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

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

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

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

        工具

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

        總結(jié)

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

    評(píng)論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    你又鉆牛角尖了。

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

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

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

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

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

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

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

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

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

    這是能夠接觸到分布式系統(tǒng)。商業(yè)環(huán)境中沒用過:(
    主站蜘蛛池模板: 亚洲AV人人澡人人爽人人夜夜 | 久久精品成人免费国产片小草| 成人毛片18岁女人毛片免费看| 久久久久亚洲AV成人片| 国产成人精品免费大全| mm1313亚洲精品国产| 美女黄色免费网站| 亚洲福利精品一区二区三区| 美女又黄又免费的视频| 国产伦一区二区三区免费| 国产精品亚洲色婷婷99久久精品| 四虎免费在线观看| 色九月亚洲综合网| 亚洲精品综合久久| aa级女人大片喷水视频免费| 综合亚洲伊人午夜网| 国产午夜成人免费看片无遮挡 | 亚洲成在人天堂在线| 免费无码VA一区二区三区| 亚洲美女自拍视频| 无码国产精品久久一区免费| 亚洲色偷偷色噜噜狠狠99网| 日产乱码一卡二卡三免费| 水蜜桃视频在线观看免费| 中文字幕亚洲一区二区va在线| 久久久精品免费视频| 亚洲欧洲久久精品| 超pen个人视频国产免费观看| 美女黄频a美女大全免费皮| 久久亚洲国产精品一区二区| 91在线手机精品免费观看| 亚美影视免费在线观看| 一进一出60分钟免费视频| 亚洲成AV人影片在线观看| 国产精品亚洲精品日韩动图 | 亚洲成人精品久久| 怡红院免费全部视频在线视频| 午夜成人无码福利免费视频| 国产成人精品免费视频大全| 日韩免费在线观看视频| 99视频在线免费观看|