• 沒有找到結果。

現有的解決方法

在文檔中 中華大學 碩士論文 (頁 38-42)

第三章 各國遊戲產業發展之分析

3.3 現有的解決方法

目前遊戲廠商大都採取 Client/Server 的架構,在這個架構下會有一些先天 限制存在,在此我們可以整理出來主要共有六點架構性的問題:

i Server 的運算能力會影響遊戲效能,而 Server 本身的負擔相當大。

ii Server 上線人數的限制。

iii 沒有動態分配負擔的能力,流量會集中在某些 Servers, Loading 會有不平均的情形發生,無法發揮全部 Server 的最大效用。

iv 各個 Servers 之間的玩家彼此不能互動。

v 超過主機的負荷,則會導致系統的延遲、甚至當機的情況發生。

vi 當 Server 突然發生問題而故障時,其他 Servers 無法即時地接管發 生問題的 Server,也沒有其他 Servers 備援。

對於上述 Client/Server 的限制及缺點,目前最新的技術是採用叢集 (Cluster)的概念及架構來改善其缺點,Cluster 可以平衡負載或作為平行處理 來提昇執行效能,在某一台電腦發生問題時其他電腦能自動接手以達成錯誤容 忍。

以下我們列舉出兩家軟體業者利用 Cluster 的技術所開發出來的架構,一家 業者是台灣的艾揚科技所代理合作的 Zona 美商公司,他們所提出了一個叫做 Terazona 的架構;另一家業者是 Butterfly 公司所提出了一個叫做 Butterfly Grid 的架構。而這兩家業者所提出的架構是為了改善上述的限制及缺點所設 計,分別詳述以下:

i 艾揚科技所代理合作的 Zona 公司-Terazona 的架構:

Terazona 架構[19]如圖 三所示,它是透過一台 Dispatcher 來接收各 種 Client 端不同遊戲機的連線訊息,Client 可以是 Xbox、GameCube、

PlayStation2、PC、MAC 等等,而 Client 中間必須先透過防火牆才能來和 Dispatcher 連線。Dispatcher 的主要工作是提供 Client 登入的服務和將

_______________________________________________________________________________ 26

___________________________________________________________________________________

Client 導入到 Game Servers 的工作,Dispatcher 會每隔一段時間會去和 所有的 Game Servers 做同步化,來取得 Game Servers 最新的狀態資料,

它根據每一台 Game Servers 的連線人數負擔來判斷,然後將 Client 分配 到連線人數最少的 Game Server,如此可以達到 loading balance。

圖 三、Terazona 架構圖

此外架構中的 Sphere Server 應用了一個新技術用來減輕流量的負 擔,此一技術叫做『動態使用者球化空間』,Sphere Server 會藉由此技術 來將玩家加以群組化,每個群組分配給不同的 Game Servers 管理,當群組 的訊息及資料有所變動而需要更新時,Sphere Server 只要針對此群組來 做更新即可。所以在 Terazona 架構中,Sphere Serve 的工作主要是負責 控制遊戲狀況及分散遊戲訊息的 loading,控制所有 Game Servers 目前的 狀況及負載及更新;此外 Sphere Serve 也提供了容錯修復的機制,當某一 台 Game Servers 發生故障時,Sphere 會自動把 Client 端導回 Dispatcher,

再重新分配到另一台 Game Servers,此時業者就可以暫停已故障 Server 來進行修復或更換 Server,如此可以讓玩家不用因為 Game Servers 的故 障也還能繼續進行遊戲。

_______________________________________________________________________________ 27

___________________________________________________________________________________

ii Butterfly 公司-Butterfly Grid 的架構:

Butterfly Grid 的架構[20]如圖 四所示,在圖中可以看到玩家是透過 中間的防火牆來和 Gateway Servers 連線, Gateway Servers 負責分配玩 家到不同 Game Servers,分散 Client 人數來減輕 Game Servers 的連線流 量負擔,而多台的 Gateway Servers 串聯可以應付突然大量玩家在同一時間 連線遊戲的狀況。Game Servers 會自動根據自己所負載的情形來通知 Gateway Servers,如果此 Game Server 已經超過使用率就會告知 Gateway Servers,Gateway Servers 會將玩家重新導到其他使用率低的 Game Server,而 Game Servers 的群組甚至還可以同時容納許多不同的線上遊戲 一起執行。

在 Butterfly Grid 架構下,不同 Game Servers 所負責管理的遊戲地圖 也不同,當玩家從 Game Server A 所負責的地圖走到 Game Server B 所負責 的地圖時,會有換手的動作,也就是 Game Server A 會將資料和訊息送給 Game Server B,告知 Game Server B 有新的玩家進入所管地圖。

圖中的 Game Servers、Gateway Servers 以及 Database Servers 都是 以 cluster 技術串聯起來,在 Servers 發生故障及錯誤之時,其他 Servers 可以即時、有效地分擔故障的 Server 工作及流量,使得遊戲可以繼續進行 而不受影響,不會損害到玩家的權益,而廠商可以在這段時間內趕快進行 修復或更換 Servers。

_______________________________________________________________________________ 28

___________________________________________________________________________________

圖 四、Butterfly Grid 架構圖

上述目前最新的 cluster 技術以及許多軟體業者所提出的架構雖然都可以 有效的解決 loading 和容錯的問題,藉以提供顧客更好的遊戲品質,可是 cluster 架構的建設所要負擔的設備成本及技術轉移權利金也是相當龐大,即使對知名的 遊戲業者來說也是非常沉重,更何況是一般的或是新興的遊戲業者,在目前並沒 有國內遊戲業者應用此套架構於電玩市場上,原因也就在於不符合企業經濟效 益。

一個完整的線上遊戲包括軟體開發、機房設備、網路硬體架設及行銷策略,

種種方面都需要很大的資金投資,而為了減低營運風險、降低運作成本,能以低 成本開創線上遊戲事業,我們提出了一個混合 Client-Server 與 P2P 的架構來改 善 loading 和容錯的問題,以下並針對各種其他遊戲架構來分析。

_______________________________________________________________________________ 29

___________________________________________________________________________________

4

在文檔中 中華大學 碩士論文 (頁 38-42)