分散數(shù)據(jù)庫、數(shù)據(jù)共享方法、用于分散數(shù)據(jù)庫的裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及分散數(shù)據(jù)庫的技術(shù)。詳細(xì)地,涉及由構(gòu)成多個(gè)節(jié)點(diǎn)的多個(gè)數(shù)據(jù)庫服務(wù)器而構(gòu)成的、點(diǎn)對點(diǎn)(peer to peer)型分散數(shù)據(jù)庫的技術(shù)。
【背景技術(shù)】
[0002]作為本發(fā)明的【背景技術(shù)】,存在利用點(diǎn)對點(diǎn)計(jì)算機(jī)環(huán)境的分散數(shù)據(jù)庫的技術(shù)。典型的點(diǎn)對點(diǎn)計(jì)算機(jī)環(huán)境,已知是分別具有各種連接能力的節(jié)點(diǎn),能夠由點(diǎn)對點(diǎn)系統(tǒng)構(gòu)成。例如,參照日本特表2013-516900號公報(bào)。
[0003]所述特表2013-516900號公報(bào)中記載的代表性分散數(shù)據(jù)庫,為了共享數(shù)據(jù),而與點(diǎn)對點(diǎn)計(jì)算機(jī)環(huán)境相連接。
[0004]用戶計(jì)算機(jī)通過成為點(diǎn)對點(diǎn)計(jì)算機(jī)環(huán)境的節(jié)點(diǎn),參加到點(diǎn)對點(diǎn)計(jì)算機(jī)環(huán)境中。用戶計(jì)算機(jī)為了經(jīng)由互聯(lián)網(wǎng)訪問其他服務(wù)器,在網(wǎng)頁瀏覽器應(yīng)用程序中輸入互聯(lián)網(wǎng)協(xié)議(IP:Internet Protocol)地址。
[0005]網(wǎng)頁瀏覽器應(yīng)用程序從用戶接收域名,最初與域名系統(tǒng)(DNS =Domain NameSystem)服務(wù)器接觸,并利用二值標(biāo)識符重定向到實(shí)際的IP地址。網(wǎng)頁瀏覽器應(yīng)用程序被用于訪問由服務(wù)器群(server farm)托管(host)的網(wǎng)頁,代替服務(wù)器農(nóng)場而參加到托管網(wǎng)頁和其他服務(wù)的點(diǎn)對點(diǎn)計(jì)算機(jī)環(huán)境中。
[0006]另一方面,在由被稱為多個(gè)節(jié)點(diǎn)的構(gòu)成分散數(shù)據(jù)庫的一個(gè)一個(gè)的數(shù)據(jù)庫服務(wù)器構(gòu)成的點(diǎn)對點(diǎn)型分散數(shù)據(jù)庫中,各個(gè)節(jié)點(diǎn)需要分別掌握全部其他節(jié)點(diǎn)的死活狀態(tài)。對動(dòng)作中的節(jié)點(diǎn)分散數(shù)據(jù)并保存,將停止中的節(jié)點(diǎn)從分散對象中排除。因此,各個(gè)節(jié)點(diǎn)需要掌握全部節(jié)點(diǎn)的死活狀態(tài)等信息。
[0007]作為節(jié)點(diǎn)間的信息共享的方法,有使用流言協(xié)議(gossip protocol)的方法。例如參見日本專利第5118059號。
[0008]此外,有的公開了以下技術(shù),在點(diǎn)對點(diǎn)型網(wǎng)絡(luò)系統(tǒng)中,組內(nèi)的多個(gè)點(diǎn)(節(jié)點(diǎn))向其他點(diǎn)詢問,將登記的點(diǎn)的成員列表(membership list)進(jìn)行存儲(chǔ),使信息共通。例如,參照日本特開2012-146312號公報(bào)。
[0009]根據(jù)上述的一般分散數(shù)據(jù)庫,由多個(gè)節(jié)點(diǎn)構(gòu)成一個(gè)組。在該組中,通過一個(gè)節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行通信,也取得通信目的地的節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行了通信時(shí)的信息。由此,能夠通過較少次數(shù)的通信而取得多數(shù)節(jié)點(diǎn)的信息。通過對此進(jìn)行重復(fù),能夠使各個(gè)節(jié)點(diǎn)取得組全體的信息。通信目的地的選擇通過隨機(jī)進(jìn)行選擇而均勻地?cái)U(kuò)展。
[0010]然而,根據(jù)上述的分散數(shù)據(jù)庫,通過隨機(jī)地選擇要連接的節(jié)點(diǎn),在節(jié)點(diǎn)數(shù)增加的情況下,可能集中地對一部分節(jié)點(diǎn)施加負(fù)荷。因此,施加了負(fù)荷的節(jié)點(diǎn)的應(yīng)答可能會(huì)變差或者停止。相反地,一部分節(jié)點(diǎn)沒有選擇,可能難以進(jìn)行信息共享。因此存在效率差的課題。
[0011]使用圖5A?圖5E、圖6A?圖6E來說明以往一般的信息詢問動(dòng)作的例子。
[0012]圖6A?圖6E與圖5A?圖5E對應(yīng)。圖5F表示標(biāo)記.、〇、□的通例。
[0013]圖6A中,設(shè)節(jié)點(diǎn)為節(jié)點(diǎn)(NI) (N2) (N3) (N4)的4個(gè)。對于從節(jié)點(diǎn)(NI)向其他節(jié)點(diǎn)(N2?N4)的信息詢問Rl、R2、R3,以隨機(jī)的順序定期地進(jìn)行。從其他節(jié)點(diǎn)(N2?N4)也同樣地執(zhí)行信息詢問。
[0014]如圖5F所示,作為通例,標(biāo)記■表示未取得或不明狀態(tài)。標(biāo)記〇表示已經(jīng)取得。標(biāo)記□表示計(jì)劃取得(請求)。標(biāo)記?表示計(jì)劃取得(被請求)。在圖5A?圖5F中,將表示各節(jié)點(diǎn)間的詢問狀態(tài)、信息取得狀態(tài)的列表10稱為節(jié)點(diǎn)狀態(tài)列表。
[0015]圖5A表示4個(gè)節(jié)點(diǎn)(NI?N4)尚未與任何節(jié)點(diǎn)共享信息的最初狀態(tài)。
[0016]圖5B、圖6B表示接下來的狀態(tài)。S卩,表示節(jié)點(diǎn)(NI)向節(jié)點(diǎn)(N2)詢問,節(jié)點(diǎn)(N2)向節(jié)點(diǎn)(N4)詢問,節(jié)點(diǎn)(N3)向節(jié)點(diǎn)(NI)詢問,節(jié)點(diǎn)(N4)向節(jié)點(diǎn)(N3)詢問的狀態(tài)。
[0017]圖5C、圖6C表示進(jìn)一步接下來的狀態(tài)。S卩,表示節(jié)點(diǎn)(NI)向節(jié)點(diǎn)(N3)詢問,節(jié)點(diǎn)(N2)向節(jié)點(diǎn)(NI)詢問,節(jié)點(diǎn)(N3)向節(jié)點(diǎn)(N4)詢問,節(jié)點(diǎn)(N4)向節(jié)點(diǎn)(N2)詢問的狀態(tài)。
[0018]圖f5D、圖6D表示進(jìn)一步接下來的狀態(tài)。即,表示節(jié)點(diǎn)(NI)向節(jié)點(diǎn)(N4)詢問,節(jié)點(diǎn)(N2)向節(jié)點(diǎn)(N3)詢問,節(jié)點(diǎn)(N3)向節(jié)點(diǎn)(N2)詢問,節(jié)點(diǎn)(N4)向節(jié)點(diǎn)(NI)詢問的狀態(tài)。
[0019]圖5E表示節(jié)點(diǎn)(NI?N4)取得全部節(jié)點(diǎn)的信息,而為穩(wěn)定狀態(tài)。
[0020]詢問目的地被隨機(jī)選擇,因此,如圖6E所示,根據(jù)選擇可能將節(jié)點(diǎn)(N2?N4)的詢問集中到節(jié)點(diǎn)(NI)。因此,考慮到向節(jié)點(diǎn)(NI)施加負(fù)荷。由于選擇是隨機(jī)的,因此可能會(huì)連續(xù)地向同一節(jié)點(diǎn)詢問,短期來看效率不高。
【發(fā)明內(nèi)容】
[0021]本發(fā)明的目的在于,提供一種由多個(gè)節(jié)點(diǎn)構(gòu)成的點(diǎn)對點(diǎn)型的分散數(shù)據(jù)庫,各個(gè)節(jié)點(diǎn)高效地取得其他節(jié)點(diǎn)的狀態(tài)并共享。
[0022]本發(fā)明提供一種分散數(shù)據(jù)庫,是由多個(gè)節(jié)點(diǎn)構(gòu)成組的點(diǎn)對點(diǎn)型分散數(shù)據(jù)庫,具有:各個(gè)節(jié)點(diǎn)詢問并取得其他節(jié)點(diǎn)的預(yù)定信息,并進(jìn)行共享的共享單元;通過決定的線路傳輸所述信息的傳輸單元;在節(jié)點(diǎn)數(shù)增加預(yù)定以上的情況下分割所述組的分割單元。
[0023]本發(fā)明提供一種由多個(gè)節(jié)點(diǎn)構(gòu)成的點(diǎn)對點(diǎn)型分散數(shù)據(jù)庫的數(shù)據(jù)共享方法,其執(zhí)行以下過程:將多個(gè)節(jié)點(diǎn)登記到組的第I過程;為了使各個(gè)節(jié)點(diǎn)取得其他節(jié)點(diǎn)的信息并在所述組中共享,而在所述組內(nèi)通過所決定的線路傳輸信息的第2過程;在節(jié)點(diǎn)數(shù)增加預(yù)定以上的情況下分割所述組的第3過程。
[0024]本發(fā)明提供一種用于共享由多個(gè)節(jié)點(diǎn)構(gòu)成的點(diǎn)對點(diǎn)型分散數(shù)據(jù)庫的信息的程序,其使節(jié)點(diǎn)[N]的計(jì)算機(jī)執(zhí)行以下過程:將多個(gè)節(jié)點(diǎn)登記在組中的登記過程;發(fā)送用于取得節(jié)點(diǎn)[N+1]的信息的請求,并將該節(jié)點(diǎn)[N]所具有表示節(jié)點(diǎn)狀態(tài)的列表也一起發(fā)送的發(fā)送過程;從節(jié)點(diǎn)[N+1]接收在從節(jié)點(diǎn)[N]取得的表示節(jié)點(diǎn)狀態(tài)的列表中追加節(jié)點(diǎn)[N+1]所具有的列表的信息的應(yīng)答的接收過程;將從節(jié)點(diǎn)[N+1]取得的信息追加到自身列表中的追加過程;根據(jù)來自節(jié)點(diǎn)[N-1]的應(yīng)答,在從節(jié)點(diǎn)[N-1]取得的列表中追加該節(jié)點(diǎn)[N]所具有的列表的信息,作為應(yīng)答而回復(fù)給節(jié)點(diǎn)[N-1]的回復(fù)過程;在節(jié)點(diǎn)數(shù)增加預(yù)定以上的情況下分割所述組的分割過程。
[0025]本發(fā)明提供一種裝置,其在由多個(gè)節(jié)點(diǎn)構(gòu)成組的點(diǎn)對點(diǎn)型分散數(shù)據(jù)庫中,具備用于執(zhí)行所述程序的計(jì)算機(jī)。這里所說的裝置是相當(dāng)于節(jié)點(diǎn)的所謂服務(wù)器。
【附圖說明】
[0026]圖1是本發(fā)明一種實(shí)施方式中的節(jié)點(diǎn)的登記動(dòng)作的流程圖。
[0027]圖2是本發(fā)明一種實(shí)施方式中的節(jié)點(diǎn)的信息共享處理(請求發(fā)送)動(dòng)作的流程圖。
[0028]圖3是本發(fā)明一種實(shí)施方式中的節(jié)點(diǎn)的信息共享處理(請求接收)的流程圖。
[0029]圖4是本發(fā)明一種實(shí)施方式中的網(wǎng)絡(luò)連接結(jié)構(gòu)的概要框圖。
[0030]圖5A是表不以往的一般節(jié)點(diǎn)狀態(tài)列表的圖。
[0031]圖5B是表不以往的一般節(jié)點(diǎn)狀態(tài)列表的圖。
[0032]圖5C是表不以往的一般節(jié)點(diǎn)狀態(tài)列表的圖。
[0033]圖f5D是表不以往的一般節(jié)點(diǎn)狀態(tài)列表的圖。
[0034]圖5E是表不以往的一般節(jié)點(diǎn)狀態(tài)列表的圖。
[0035]圖5F是表示圖5A?圖5E中的標(biāo)記的通例的圖。
[0036]圖6A是用于說明以往的一般信息詢問動(dòng)作的圖。
[0037]圖6B是用于說明以往的一般信息詢問動(dòng)作的圖。
[0038]圖6C是用于說明以往的一般信息詢問動(dòng)作的圖。
[0039]圖6D是用于說明以往的一般信息詢問動(dòng)作的圖。
[0040]圖6E是用于說明以往的一般信息詢問動(dòng)作的圖。
[0041]圖7A是表示本發(fā)明一種實(shí)施方式中的節(jié)點(diǎn)數(shù)為4的情況下的節(jié)點(diǎn)狀態(tài)列表的圖。<