TWI596488B - A method of object exchange used in cloud system - Google Patents
A method of object exchange used in cloud system Download PDFInfo
- Publication number
- TWI596488B TWI596488B TW105108456A TW105108456A TWI596488B TW I596488 B TWI596488 B TW I596488B TW 105108456 A TW105108456 A TW 105108456A TW 105108456 A TW105108456 A TW 105108456A TW I596488 B TWI596488 B TW I596488B
- Authority
- TW
- Taiwan
- Prior art keywords
- nodes
- node
- switching module
- switching
- synchronization
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明為一種物件交換方法,特別關於一種可應用於雲端系統的物件交換方法。
隨著網路技術的發展,單一主機已無法負荷及處理大量的檔案及資料庫,過往雖然利用不斷提升硬體規格甚或以多台主機聯結的方式來增強運算處理能力,但仍有其缺陷。請參考圖1,其繪示一種習知之中心化叢集架構,此類必須有核心主機的中心化叢集架構,其風險在於當中心資料庫發生失效(failure)時,整體架構便無法運作。雖然之後已提出利用目錄管理方式,先進行索引查詢後再進入不同主機之資料庫進行檔案的存取,但將目錄管理系統存放於核心主機,還是具有當核心主機失效時即無法進行查詢的風險。
除上述情況外,目前每個應用程式在透過網路進行物件交換或檔案傳輸時必須各自建立連線,除了在編寫時程式設計人員需分別撰寫連線部份的程式碼,增加程式架構的複雜度,在連線時使用者也必須面對電腦端及AP或路由器上設定的困擾,而成功連線後每一個應用程式也必須佔用一個連接埠及TCP連線。並且,在傳輸時會碰到如接收或傳送電子郵件時必須完整收送一封電郵才可中斷連線,否則將發生收送失敗而需重新執行收送指令的情況。
當進入雲端時代,每一系統所連結的節點及處理的資料量都將大增,因此更需要因應雲端化的多節點叢集提出一種去中心化(decentralization)並且在有限頻寬下更有效率的物件交換方法。
為解決上述問題,本發明提出一種應用於雲端系統之物件交換系統。雲端系統包括多個節點,此些節點兩兩之間具有標準協定連線。物件交換系統包括具有第一交換模組之第一節點,以及具有第二交換模組之第二節點。第一交換模組用以建立動態拓樸清單。動態拓樸清單包括由各些節點宣告的節點名稱及別名。第一交換模組將與其相連之各節點間之各標準協定連線虛擬化為虛擬通道,並利用發送通道封包維持虛擬通道之連線。第二交換模組透過虛擬通道與第一交換模組建立連線。第二交換模組處於可使用(available)狀態時,發送詢問指令到第一交換模組,藉以詢問是否有交換物件的需求。當第一交換模組具有交換物件或檔案的需求時,第一交換模組根據第二節點之節點名稱或別名,以及根據目標服務進行虛擬定址,自動態拓樸清單中找出目標位址,此目標位址對應於第二節點。第一交換模組將物件片段化為多個封包片段。第一交換模組依照目標位址,透過虛擬通道將封包片段傳送到第二交換模組。當第二交換模組接收到封包片段中之至少一者時,會回傳傳送中回簽到第一交換模組;當第二交換模組接收所有封包片段後,會回傳接收完成回簽至第一交換模組。第二交換模組重組封包為物件,並將物件傳送至目標服務。
本發明之一實施例中,虛擬通道之數量可以改變。
本發明之另一實施例中,此些節點可以具有相同別名。
本發明之再一實施例中,此些封包片段由異步傳輸方式進行傳送。
本發明又一實施例中,第一交換模組傳送檔頭及此些封包片段之清單至第二交換模組。第二交換模組依照清單預留多個儲存位置,於接收此些封包片段時放置於對應之此些儲存位置。
本發明另提出一種應用於雲端系統之物件交換方法。雲端系統包括多個節點,此些節點兩兩之間具有標準協定連線。物件交換方法包括下述步驟。由多個節點中第一節點的第一交換模組,建立動態拓樸清單,動態拓樸清單包括由各節點宣告的節點名稱及別名。由第一交換模組將第一節點與其相連之各節點間之各標準協定連線,虛擬化為虛擬通道。此些節點中之多個交換模組之間,透過虛擬通道建立連線。此些交換模組之間藉由發送通道封包維持虛擬通道之連線。當此些節點中的第二節點處於可使用狀態時,第二節點之第二交換模組發送詢問指令至第一交換模組,藉以詢問是否有交換物件之需求。當具有物件之交換需求時,第一交換模組根據第二節點之節點名稱或別名,以及根據目標服務進行虛擬定址,自該動態拓樸清單中找出目標位址,其中此目標位址對應第二節點。由第一交換模組將物件片段化為多個封包片段。由第一交換模組依照目標位址,透過虛擬通道將此些封包片段傳送到第二交換模組。當第二交換模組接收到此些封包片段中之至少一者時,會回傳傳送中回簽至第一交換模組。當第二交換模組接收所有封包片段後,會回傳接收完成回簽至第一交換模組。由第二交換模組重組封包為物件,並將物件傳送至目標服務。
本發明又提出一種應用於雲端系統之多節點同步系統。雲端
系統包括多個節點,此些節點兩兩之間具有標準協定連線。同步系統包括此些節點中之多個交換模組,用以建立動態拓樸清單。動態拓樸清單包括由各些節點宣告的節點名稱及別名。各交換模組將與其相連之各節點間之各標準協定連線虛擬化為虛擬通道,並利用發送通道封包維持虛擬通道之連線。節點中之各交換模組之間透過虛擬通道建立連線。節點中之多個可用節點之間,透過交換模組發送詢問指令至交換模組,藉以詢問是否有同步一檔案之需求。此些節點中的第一節點包含第一交換模組以及同步服務。當同步服務偵測到同步資料庫的索引目錄檔發生變動時,同步服務將索引目錄檔傳送至第一交換模組。第一交換模組根據此些節點之節點名稱或別名,以及根據同步服務進行虛擬定址,自動態拓樸清單中找出目標位址,目標位址對應於節點。第一交換模組將索引目錄檔片段化為多個封包片段。第一交換模組以廣播通知各節點,並依照目標位址,透過虛擬通道將封包片段傳送到交換模組。當交換模組接收到封包片段中之至少一者時,會回傳傳送中回簽至第一交換模組。當交換模組接收所有封包片段後,會回傳接收完成回簽至第一交換模組。交換模組重組封包為索引目錄檔,並將索引目錄檔傳送至同步服務。同步服務將索引目錄檔匯入同步資料庫。
本發明再提出一種應用於雲端系統之多節點同步方法。雲端系統包括多個節點,此些節點兩兩之間具有標準協定連線。同步方法包含下述步驟。由此些節點中之多個交換模組,建立動態拓樸清單,動態拓樸清單包括由各節點宣告的節點名稱及別名。由各交換模組將與其相連之各節點間之各標準協定連線,虛擬化為虛擬通道。此些節點中之各交換模組之間,透過虛擬通道建立連線。此些交換模組之間藉由發送通道封包維持
虛擬通道之連線。此些節點中之多個可用節點之間,透過此些交換模組發送詢問指令至此些交換模組,藉以詢問是否有同步檔案之需求。當此些節點中第一節點的同步服務偵測到同步資料庫的索引目錄檔發生變動時,同步服務將索引目錄檔傳送至第一交換模組。第一交換模組根據此些節點之此節點名稱或別名,以及根據同步服務進行虛擬定址,自動態拓樸清單中找出此些目標位址,其中此些目標位址對應此些節點。由第一交換模組將索引目錄檔片段化為多個封包片段。由第一交換模組以廣播通知各節點,並依照此些目標位址,透過虛擬通道將此些封包片段傳送到此些交換模組。當此些交換模組接收到此些封包片段中之至少一者時,會回傳傳送中回簽至第一交換模組。當此些交換模組接收所有此些封包片段後,會回傳接收完成回簽至第一交換模組。由此些交換模組重組此些封包為索引目錄檔,並將索引目錄檔傳送至同步服務。由同步服務將索引目錄檔匯入同步資料庫。
本發明利用各節點的交換模組統一處理與其他節點之間的連結,提供代理服務的API讓程式設計人員不需為各別應用程式撰寫連線部份的程式碼,不但可以精簡程式架構,使用者也不需為各別應用程式進行連線設定。當虛擬通道建立後,各交換模組之間透過傳輸通道封包保持連線,當節點處於可使用(available)狀態時,透過發送詢問指令主動詢問其他節點是否有物件或檔案交換的需求,可達到負載平衡(load balance)的效果,而當發生物件或檔案交換的需求時也可節省每次等待建立連線的時間,透過交換模組不同的應用程式之間只需共同使用一個連接埠即可進行物件或檔案的交換。
配合本發明提出的虛擬定址方法,可直接以廣播方式通知叢集中所有節點,或是將具有相同別名之節點視為同一群組進行群組發送。另外,由於傳送前交換模組已將物件或檔案片段化為數個封包片段,而利用異步的方式進行傳輸,各封包不需依時序發送,當某封包傳輸失敗時僅需重新傳送此封包而不會造成其他封包的延遲,增加物件或檔案交換的效率,加上本發明之回簽機制,可有效掌握傳輸狀況並確保各封包是否成功達到目標節點。
利用本發明所提出之方法,將索引目錄檔同時存放於各節點,當一節點之索引目錄檔因檔案存取產生變動時,透過交換模組與其他節點進行交換達到同步,即可避免因單一節點失效而影響其他節點的情況,達到去中心化(decentralization)分散風險的效果。
100、200‧‧‧本系統
110‧‧‧第一節點
111‧‧‧第一交換模組
120‧‧‧第二節點
121‧‧‧第二交換模組
122‧‧‧物件
123‧‧‧目標服務
210‧‧‧各節點
211‧‧‧各交換模組
220‧‧‧第一節點
221‧‧‧第一交換模組
230‧‧‧可用節點
141、241‧‧‧動態拓樸清單
142、242‧‧‧標準協定連線
143、243‧‧‧虛擬通道
144、244‧‧‧通道封包
145、245‧‧‧詢問指令
146、246‧‧‧封包片段
147、247‧‧‧傳送中回簽
148、248‧‧‧接收完成回簽
151、251‧‧‧節點名稱
152、252‧‧‧別名
153、253‧‧‧目標位址
154、254‧‧‧封包片段檔頭
155、255‧‧‧封包片段清單
156、256‧‧‧儲存位置
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:第1圖為習知中心化叢集架構示意圖;第2圖為本發明一實施例之物件交換系統之架構示意圖;第3圖為本發明一實施例之物件交換系統第一節點與第二節點之傳輸示意圖;第4圖為本發明一實施例之物件交換方法之流程圖;第5圖為本發明一實施例之物件交換方法群組傳輸之流程圖;第6圖為本發明一實施例之多節點同步系統之架構示意圖;
第7圖為本發明一實施例之多節點同步系統各節點之間的傳輸示意圖;第8圖為本發明一實施例之多節點同步方法之流程圖;第9圖為本發明一實施例之多節點同步方法群組傳輸之流程圖。
為充分瞭解本發明之目的、特徵及功效,藉由下述具體實施方式,並配合圖式對本發明做一說明。
請參考圖2,繪示本發明物件交換系統之架構示意圖。本發明可應用在一個包含多個節點,且這些節點兩兩之間具有標準協定連線142(例如TCP/IP連線)的雲端系統,本物件交換系統100包含具有第一交換模組111的第一節點110,以及具有第二交換模組121的第二節點120。
請參考圖3,繪示本發明物件交換系統之第一節點與第二節點之傳輸示意圖。首先請參考圖3中位於上方之(a)部分,由叢集裡的這些節點中第一節點110的第一交換模組111建立動態拓樸清單141,此動態拓樸清單141包括各節點自行宣告的節點名稱151和別名152,以及叢集中的節點數量、IP位置以及各節點之間虛擬通道143的數量。由第一交換模組111將第一節點110與其本身相連的各節點之間的標準協定連線142(例如TCP/IP連線)虛擬化為虛擬通道143,這些節點的多個交換模組彼此之間透過虛擬通道143建立連線,交換模組彼此之間藉由發送通道封包144維持此虛擬通道143的連線。
當這些節點中的第二節點120處於可使用(available)狀態
時,第二節點120的第二交換模組121將發送詢問指令145到第一交換模組111,詢問是否有交換物件122的需求。此處可使用狀態指未因節點過載或網路故障而影響運算和連線的狀態。當第一交換模組111發生物件122交換的需求時,第一交換模組111會根據第二節點120的節點名稱151或別名152,以及根據目標服務123進行虛擬定址,例如以應用程式@節點名稱、服務@節點名稱、應用程式@節點別名或服務@節點別名...等等的型式,第一交換模組111從動態拓樸清單141中找出對應第二節點120的目標位址153。
請進一步參考圖3中位於中央之(b)部分,第一交換模組111將要傳送的物件122片段化為多個封包片段146,並且依照目標位址153,透過虛擬通道143將這些封包片段146傳送到第二交換模組121。接著請進一步參考圖3中位於下方之(c)部分,當第二交換模組121接收到這些封包片段146中的其中一個時,將回傳傳送中回簽147到第一交換模組111,顯示封包正在傳送中,而當第二交換模組121接收完畢所有封包片段146後,將回傳接收完成回簽148到第一交換模組111,顯示已完整接收所有的封包片段146。最後,第二交換模組121把這些封包146重組回原來的物件122,並且將此物件122傳送到本身節點上的目標服務123。
請參考圖4,繪示本發明物件交換方法之流程圖。步驟S1101:建立動態拓樸清單。由叢集裡的這些節點中第一節點110的第一交換模組111建立動態拓樸清單141,此動態拓樸清單141包括各節點自行宣告的節點名稱151和別名152,以及叢集中的節點數量、IP位置以及各節點之間虛擬通道143的數量。步驟S1102:將標準協定連線虛擬化為虛擬通道。由
第一交換模組111將第一節點110與其本身相連的各節點之間的標準協定連線142(例如TCP/IP連線)虛擬化為虛擬通道143。步驟S1103:交換模組之間建立連線。這些節點的多個交換模組彼此之間透過虛擬通道143建立連線。步驟S1104:發送通道封包維持虛擬通道連線。這些交換模組之間藉由發送通道封包144維持此虛擬通道143的連線。
步驟S1105:發送詢問指令詢問交換需求。當這些節點中的第二節點120處於可使用(available)狀態時,第二節點120的第二交換模組121將發送詢問指令145到第一交換模組111,詢問是否有交換物件122的需求。此處可使用狀態指未因節點過載或網路故障而影響運算和連線的狀態。步驟S1106:發生物件交換需求,進行虛擬定址,自動態拓樸清單中找到對應之目標位址。當第一交換模組111發生物件122交換的需求時,第一交換模組111會根據第二節點120的節點名稱151或別名152,以及根據目標服務123進行虛擬定址,例如以應用程式@節點名稱、服務@節點名稱、應用程式@節點別名或服務@節點別名...等等的型式,第一交換模組111從動態拓樸清單141中找出對應第二節點120的目標位址153。
步驟S1107:將物件片段化為多個封包片段。第一交換模組111將要傳送的物件122片段化為多個封包片段146。步驟S1108:透過虛擬通道進行傳送。第一交換模組111依照目標位址153,透過虛擬通道143將這些封包片段146傳送到第二交換模組121。步驟S1109:接收封包片段,回傳傳送中回簽。當第二交換模組121接收到這些封包片段146中的其中一個時,將回傳傳送中回簽147到第一交換模組111,顯示封包正在傳送中。步驟S1110:接收所有封包片段,回傳接收完成回簽。當第二交換模組121接
收完畢所有封包片段146後,將回傳接收完成回簽148到第一交換模組111,顯示已完整接收所有的封包片段146。步驟S1111:重組封包為原始物件,傳送至目標服務。第二交換模組121把這些封包146重組回原來的物件122,並且將此物件122傳送到本身節點上的目標服務123。
請參考圖5,繪示本發明物件交換方法群組傳輸之流程圖。步驟S1201:建立動態拓樸清單。由叢集裡的這些節點中第一節點110的第一交換模組111建立動態拓樸清單141,此動態拓樸清單141包括各節點自行宣告的節點名稱151和別名152,以及叢集中的節點數量、IP位置以及各節點之間虛擬通道143的數量,叢集中各節點可具有相同的別名152。步驟S1202:將標準協定連線虛擬化為虛擬通道。由第一交換模組111將第一節點110與其本身相連的各節點之間的標準協定連線142(例如TCP/IP連線)虛擬化為虛擬通道143,此虛擬通道143的數量可因應傳輸量的大小而改變。步驟S1203:交換模組之間建立連線。這些節點的多個交換模組彼此之間透過虛擬通道143建立連線。步驟S1204:發送通道封包維持虛擬通道連線。這些交換模組之間藉由發送通道封包144維持此虛擬通道143的連線。
步驟S1205:發送詢問指令詢問交換需求。當這些節點中的第二節點120處於可使用(available)狀態時,第二節點120的第二交換模組121將發送詢問指令145到第一交換模組111,詢問是否有交換物件122的需求。此處可使用狀態指未因節點過載或網路故障而影響運算和連線的狀態。步驟S1206:發生物件交換需求,進行虛擬定址,自動態拓樸清單中找到對應之目標位址。當第一交換模組111發生物件122交換的需求時,第一交換模組111會根據第二節點120的節點名稱151或別名152,以及根據目標服務123
進行虛擬定址,例如以應用程式@節點名稱、服務@節點名稱、應用程式@節點別名或服務@節點別名...等等的型式,第一交換模組111從動態拓樸清單141中找出對應第二節點120的目標位址153。
步驟S1207:將物件片段化為多個封包片段。第一交換模組111將要傳送的物件122片段化為多個封包片段146。步驟S1208:預留儲存位置。傳輸前第一交換模組111先傳送封包片段的檔頭154及封包片段之清單155到第二交換模組121,第二交換模組121將依照此封包片段清單155預留儲存位置156,在接收封包片段146的時候放置在對應的儲存位置156。
步驟S1209:透過虛擬通道進行傳送。第一交換模組111依照目標位址153,透過虛擬通道143以異步的方式將這些封包片段146傳送到第二交換模組121。步驟S1210:接收封包片段,回傳傳送中回簽。當第二交換模組121接收到這些封包片段146中的其中一個時,將回傳傳送中回簽147到第一交換模組111,顯示封包正在傳送中。步驟S1211:接收所有封包片段,回傳接收完成回簽。當第二交換模組121接收完畢所有封包片段146後,將回傳接收完成回簽148到第一交換模組111,顯示已完整接收所有的封包片段146。步驟S1212:重組封包為原始物件,傳送至目標服務。第二交換模組121把這些封包146重組回原來的物件122,並且將此物件122傳送到本身節點上的目標服務123。
請參考圖6,繪示本發明多節點同步系統之架構示意圖。本發明可應用在一個包含多個節點210,且這些節點210兩兩之間具有標準協定連線242(例如TCP/IP連線)的雲端系統,本多節點同步系統200用來執行多個節點210之間的同步方法,節點210各自具有交換模組211。
請參考圖7,繪示本發明多節點同步系統各節點之間的傳輸示意圖。由叢集裡這些節點210中的多個交換模組211建立動態拓樸清單241,此動態拓樸清單241包括各節點210自行宣告的節點名稱251和別名252,以及叢集中的節點數量、IP位置以及各節點210之間虛擬通道243的數量。由個各交換模組211將與其本身相連的各節點210之間的標準協定連線242(例如TCP/IP連線)虛擬化為虛擬通道243,這些節點210的各交換模組211之間透過虛擬通道243建立連線,並且藉由發送通道封包244維持此虛擬通道243的連線。
當這些節點210中處於可使用(available)狀態的多個可用節點230,可用節點230的各交換模組211將發送詢問指令245到各節點210的交換模組211,詢問是否有交換檔案222的需求。此處可使用狀態指未因節點過載或網路故障而影響運算和連線的狀態。當這些節點210中第一節點220的同步服務223,偵測到同步資料庫224的索引目錄檔222發生變動時,同步服務223會將此索引目錄檔222傳送到第一交換模組221,第一交換模組221會根據叢集中各節點210的節點名稱251或別名252,以及根據同步服務223進行虛擬定址,例如以同步服務@節點名稱、或同步服務@節點別名...等等的型式,第一交換模組221從動態拓樸清單241中找出對應各節點210的目標位址253。
第一交換模組221將要傳送的索引目錄檔222片段化為多個封包片段246。第一交換模組221透過廣播的方式通知叢集中的各節點210,並且依照目標位址253,透過虛擬通道243將這些封包片段246傳送到各交換模組211。當這些交換模組211接收到這些封包片段246中的其中一個時,將
回傳傳送中回簽247到第一交換模組221,顯示封包正在傳送中,而當這些交換模組211接收完畢所有封包片段246後,將回傳接收完成回簽248到第一交換模組221,顯示已完整接收所有的封包片段246。這些交換模組211把這些封包246重組回原來的索引目錄檔222,並且將此索引目錄檔222傳送到本身節點210上的同步服務223。最後,同步服務223將此索引目錄檔222匯入到本身節點210上的同步資料庫224。
請參考圖8,繪示本發明多節點同步方法之流程圖。步驟S2101:建立動態拓樸清單。由叢集裡這些節點210中的多個交換模組211建立動態拓樸清單241,此動態拓樸清單241包括各節點210自行宣告的節點名稱251和別名252,以及叢集中的節點數量、IP位置以及各節點210之間虛擬通道243的數量。步驟S2102:將標準協定連線虛擬化為虛擬通道。由各個交換模組211將與其本身相連的各節點210之間的標準協定連線242(例如TCP/IP連線)虛擬化為虛擬通道243。步驟S2103:交換模組之間建立連線。這些節點210的各交換模組211之間透過虛擬通道243建立連線。步驟S2104:發送通道封包維持虛擬通道連線。這些交換模組211之間藉由發送通道封包244維持此虛擬通道243的連線。
步驟S2105:發送詢問指令詢問交換需求。這些節點210中處於可使用(available)狀態的多個可用節點230,透過發送詢問指令245到各節點210的交換模組211,詢問是否有交換檔案222的需求。此處可使用狀態指未因節點過載或網路故障而影響運算和連線的狀態。步驟S2106:索引目錄檔發生變動,進行虛擬定址,自動態拓樸清單中找到對應之目標位址。當這些節點210中第一節點220的同步服務223,偵測到同步資料庫224的索
引目錄檔222發生變動時,同步服務223會將此索引目錄檔222傳送到第一交換模組221,第一交換模組221會根據叢集中各節點210的節點名稱251或別名252,以及根據同步服務223進行虛擬定址,例如以同步服務@節點名稱、或同步服務@節點別名...等等的型式,第一交換模組221從動態拓樸清單241中找出對應各節點210的目標位址253。
步驟S2107:將物件片段化為多個封包片段。第一交換模組221將要傳送的索引目錄檔222片段化為多個封包片段246。步驟S2108:以廣播方式通知各節點,並透過虛擬通道進行傳送。第一交換模組221透過廣播的方式通知叢集中的各節點210,並且依照目標位址253,透過虛擬通道243將這些封包片段246傳送到各交換模組211。步驟S2109:接收封包片段,回傳傳送中回簽。當這些交換模組211接收到這些封包片段246中的其中一個時,將回傳傳送中回簽247到第一交換模組221,顯示封包正在傳送中。步驟S2110:接收所有封包片段,回傳接收完成回簽。當這些交換模組211接收完畢所有封包片段246後,將回傳接收完成回簽248到第一交換模組221,顯示已完整接收所有的封包片段246。步驟S2111:重組封包為原始物件,傳送至同步服務。這些交換模組211把這些封包246重組回原來的索引目錄檔222,並且將此索引目錄檔222傳送到本身節點210上的同步服務223。步驟S2112:匯入同步資料庫。同步服務223將此索引目錄檔222匯入到本身節點210上的同步資料庫224。
請參考圖9,繪示本發明多節點同步方法群組傳輸之流程圖。步驟S2201:建立動態拓樸清單。由叢集裡這些節點210中的多個交換模組211建立動態拓樸清單241,此動態拓樸清單241包括各節點210自行宣
告的節點名稱251和別名252,以及叢集中的節點數量、IP位置以及各節點210之間虛擬通道243的數量,叢集中各節點210可具有相同的別名252。步驟S2202:將標準協定連線虛擬化為虛擬通道。由各個交換模組211將與其本身相連的各節點210之間的標準協定連線242(例如TCP/IP連線)虛擬化為虛擬通道243,此虛擬通道243的數量可因應傳輸量的大小而改變。步驟S2203:交換模組之間建立連線。這些節點210的各交換模組211之間透過虛擬通道243建立連線。步驟S2204:發送通道封包維持虛擬通道連線。這些交換模組211之間藉由發送通道封包244維持此虛擬通道243的連線。
步驟S2205:發送詢問指令詢問交換需求。這些節點210中處於可使用(available)狀態的多個可用節點230,透過發送詢問指令245到各節點210的交換模組211,詢問是否有交換檔案222的需求。此處可使用狀態指未因節點過載或網路故障而影響運算和連線的狀態。步驟S2206:索引目錄檔發生變動,進行虛擬定址,自動態拓樸清單中找到對應之目標位址。當這些節點210中第一節點220的同步服務223,偵測到同步資料庫224的索引目錄檔222發生變動時,同步服務223會將此索引目錄檔222傳送到第一交換模組221,第一交換模組221會根據叢集中各節點210的節點名稱251或別名252,以及根據同步服務223進行虛擬定址,例如以同步服務@節點名稱、或同步服務@節點別名...等等的型式,第一交換模組221從動態拓樸清單241中找出對應各節點210的目標位址253。
步驟S2207:將物件片段化為多個封包片段。第一交換模組221將要傳送的索引目錄檔222片段化為多個封包片段246。步驟S2208:預留儲存位置。傳輸前第一交換模組221先傳送封包片段的檔頭254及封包片
段之清單255到各交換模組211,各交換模組211將依照此封包片段清單255預留儲存位置,在接收封包片段246的時候放置在對應的儲存位置256。
步驟S2209:以廣播方式通知各節點,並透過虛擬通道進行傳送。第一交換模組221透過廣播的方式通知叢集中的各節點210,並且依照目標位址253,透過虛擬通道243將這些封包片段246傳送到各交換模組211。步驟S2210:接收封包片段,回傳傳送中回簽。當這些交換模組211接收到這些封包片段246中的其中一個時,將回傳傳送中回簽247到第一交換模組221,顯示封包正在傳送中。步驟S2211:接收所有封包片段,回傳接收完成回簽。當這些交換模組211接收完畢所有封包片段246後,將回傳接收完成回簽248到第一交換模組221,顯示已完整接收所有的封包片段246。步驟S2212:重組封包為原始物件,傳送至同步服務。這些交換模組211把這些封包246重組回原來的索引目錄檔222,並且將此索引目錄檔222傳送到本身節點210上的同步服務223。步驟S2213:匯入同步資料庫。同步服務223將此索引目錄檔222匯入到本身節點210上的同步資料庫224。
綜上所述,本發明可用於物件或檔案之交換,或將索引目錄檔同時存放於各節點進行同步。利用各節點的交換模組統一處理與其他節點之間的連結,將標準協定連線虛擬化為多個虛擬通道並且以發送通道封包保持連線。處於可使用(available)狀態的節點會透過發送詢問指令主動詢問其他節點是否有物件或檔案交換的需求,可達到負載平衡(load balance)的效果。再者,當發生物件或檔案交換的需求時,可以節省每次等待建立連線的時間。此外,交換模組不同的應用程式之間,只需共同使用一個連接埠即可進行物件或檔案的交換。本發明實施例利用同步或異步的方式進
行傳輸,且利用回簽機制,可掌握傳輸狀況,確保各封包成功達到目標節點。雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110‧‧‧第一節點
111‧‧‧第一交換模組
120‧‧‧第二節點
121‧‧‧第二交換模組
141‧‧‧動態拓樸清單
142‧‧‧標準協定連線
143‧‧‧虛擬通道
144‧‧‧通道封包
145‧‧‧詢問指令
146‧‧‧封包片段
147‧‧‧傳送中回簽
148‧‧‧接收完成回簽
Claims (10)
- 一種應用於雲端系統之多節點同步系統,該雲端系統包括複數個節點,該些節點兩兩之間具有一標準協定連線,該同步系統包含:該些節點中之複數交換模組,用以建立一動態拓樸清單,其中該動態拓樸清單包括由各該些節點宣告之一節點名稱及一別名;其中各該交換模組將與其相連之各些該節點間之各該標準協定連線虛擬化為一虛擬通道,並利用發送一通道封包維持該虛擬通道之連線,該些節點中之各該交換模組之間透過該虛擬通道建立連線;該些節點中之複數可用(available)節點之間,透過該些交換模組發送一詢問指令至該些交換模組,藉以詢問是否有同步一檔案之需求;其中,該些節點中之一第一節點包含一第一交換模組,及一同步服務;當該同步服務偵測到一同步資料庫之一索引目錄檔發生變動時,該同步服務將該索引目錄檔傳送至該第一交換模組;該第一交換模組根據該些節點之該節點名稱或該別名,以及根據該同步服務進行虛擬定址,自該動態拓樸清單中找出該些目標位址,其中該些目標位址對應該些節點;該第一交換模組將該索引目錄檔片段化為複數個封包片段;該第一交換模組以廣播通知各該些節點,並依照該些目標位址,透過該虛擬通道將該些封包片段傳送到該些交換模組;其中,當該些交換模組接收到該些封包片段中之至少一者時,回傳一傳送中回簽至該第一交換模組;當該些交換模組接收所有該些封包片段後,回傳一接收完成回簽至該第一交換模組;該些交換模組重組該些封包 為該索引目錄檔,並將該索引目錄檔傳送至該同步服務;以及該同步服務將該索引目錄檔匯入該同步資料庫。
- 如申請專利範圍第1項所述之多節點同步系統,其中該虛擬通道之數量可改變。
- 如申請專利範圍第1項所述之多節點同步系統,其中各該些節點可具有相同別名。
- 如申請專利範圍第1項所述之多節點同步系統,其中該些封包片段由異步傳輸方式進行傳送。
- 如申請專利範圍第1-4項中任一項所述之多節點同步系統,其中該第一交換模組傳送一檔頭及該些封包片段之一清單至該些交換模組,各該些交換模組依照該清單預留複數儲存位置,於接收該些封包片段時放置於對應之該些儲存位置。
- 一種應用於雲端系統之多節點同步方法,該雲端系統包括複數個節點,該些節點兩兩之間具有一標準協定連線,該同步方法包含:由該些節點中之複數交換模組,建立一動態拓樸清單,其中該動態拓樸清單包括由各該些節點宣告之一節點名稱及一別名;由各該交換模組將與其相連之各該節點間之各該標準協定連線虛擬化為一虛擬通道;該些節點中之各該交換模組之間透過該虛擬通道建立連線;該些交換模組之間藉由發送一通道封包維持該虛擬通道之連線; 該些節點中之複數可用(available)節點之間,透過該些交換模組發送一詢問指令至該些交換模組,藉以詢問是否有同步一檔案之需求;當該些節點中之一第一節點之一同步服務偵測到一同步資料庫之一索引目錄檔發生變動時,該同步服務將該索引目錄檔傳送至該第一交換模組;該第一交換模組根據該些節點之該節點名稱或該別名,以及根據該同步服務進行虛擬定址,自該動態拓樸清單中找出該些目標位址,其中該些目標位址對應該些節點;由該第一交換模組將該索引目錄檔片段化為複數個封包片段;由該第一交換模組以廣播通知各該些節點,並依照該些目標位址,透過該虛擬通道將該些封包片段傳送到該些交換模組;當該些交換模組接收到該些封包片段中之至少一者時,回傳一傳送中回簽至該第一交換模組;當該些交換模組接收所有該些封包片段後,回傳一接收完成回簽至該第一交換模組;由該些交換模組重組該些封包為該索引目錄檔,並將該索引目錄檔傳送至該同步服務;以及由該同步服務將該索引目錄檔匯入該同步資料庫。
- 如申請專利範圍第6項所述之多節點同步方法,其中該虛擬通道之數量可改變。
- 如申請專利範圍第6項所述之多節點同步方法,其中各該些節點可具有相同別名。
- 如申請專利範圍第6項所述之多節點同步方法,其中該些封包片段由異步傳輸方式進行傳送。
- 如申請專利範圍第6-9項中任一項所述之多節點同步方法,其中該第一交換模組傳送一檔頭及該些封包片段之一清單至該些交換模組,各該些交換模組依照該清單預留複數儲存位置,於接收該些封包片段時放置於對應之該些儲存位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105108456A TWI596488B (zh) | 2016-03-18 | 2016-03-18 | A method of object exchange used in cloud system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105108456A TWI596488B (zh) | 2016-03-18 | 2016-03-18 | A method of object exchange used in cloud system |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI596488B true TWI596488B (zh) | 2017-08-21 |
TW201734826A TW201734826A (zh) | 2017-10-01 |
Family
ID=60189170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105108456A TWI596488B (zh) | 2016-03-18 | 2016-03-18 | A method of object exchange used in cloud system |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI596488B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064512A1 (en) * | 2002-09-26 | 2004-04-01 | Arora Akhil K. | Instant messaging using distributed indexes |
US7764681B2 (en) * | 2002-12-20 | 2010-07-27 | Symantec Operating Corporation | Topology and routing model for a computer network |
TWI519965B (zh) * | 2013-12-26 | 2016-02-01 | Flexible assembly system and method for cloud service service for telecommunication application |
-
2016
- 2016-03-18 TW TW105108456A patent/TWI596488B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064512A1 (en) * | 2002-09-26 | 2004-04-01 | Arora Akhil K. | Instant messaging using distributed indexes |
US7764681B2 (en) * | 2002-12-20 | 2010-07-27 | Symantec Operating Corporation | Topology and routing model for a computer network |
TWI519965B (zh) * | 2013-12-26 | 2016-02-01 | Flexible assembly system and method for cloud service service for telecommunication application |
Also Published As
Publication number | Publication date |
---|---|
TW201734826A (zh) | 2017-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470000B2 (en) | Medical device communication method | |
CN110034983B (zh) | 基于发布-订阅消息处理机制的家居设备联动方法及系统 | |
WO2017028399A1 (zh) | 通信数据传输方法及系统 | |
Laufer et al. | Climb: Enabling network function composition with click middleboxes | |
CN103636181A (zh) | 通过远程直接存储器访问的任意大小的传输操作 | |
CN110502364B (zh) | 一种OpenStack平台下大数据沙箱集群的跨云备份恢复方法 | |
CN101573940A (zh) | 用于tcp高可用性的方法和装置 | |
CN103312605A (zh) | 一种网关设备身份设置的方法及管理网关设备 | |
WO2014180407A1 (zh) | 推送方法及装置 | |
US20160216891A1 (en) | Dynamic storage fabric | |
CN102047643A (zh) | 用于在服务器故障的事件中能使客户端应用更快恢复的方法 | |
JP5034495B2 (ja) | ストレージシステムとプログラム並びに方法 | |
Tian et al. | Accelerating distributed deep learning using multi-path RDMA in data center networks | |
CN1585343A (zh) | 网管系统向网元同步配置数据的方法 | |
JP6994110B2 (ja) | データ配信方法及び配信サーバ | |
CN106897316B (zh) | 一种信令数据的处理方法和装置 | |
JP5945543B2 (ja) | ミドルウェアマシン環境を含むシステム | |
TWI596488B (zh) | A method of object exchange used in cloud system | |
CN111756780B (zh) | 一种同步连接信息的方法和负载均衡系统 | |
CN102546659A (zh) | 面向远过程调用的持久tcp连接方法 | |
CN116760504B (zh) | 会话同步方法、装置、服务节点、终端及可读存储介质 | |
Mohamed et al. | High-performance message striping over reliable transport protocols | |
CN101741706B (zh) | 因特网小型计算机系统接口iSCSI服务质量控制方法 | |
JP5081798B2 (ja) | データ転送方法、パス構成管理装置及びパス構成管理プログラム | |
CN112073162A (zh) | 用于运行冗余的自动化系统的方法 |