[發明專利]一種可靈活組合拆分的分布式服務器系統無效
| 申請號: | 201010233643.2 | 申請日: | 2010-07-22 |
| 公開(公告)號: | CN102340524A | 公開(公告)日: | 2012-02-01 |
| 發明(設計)人: | 呂桂華 | 申請(專利權)人: | 盛趣信息技術(上海)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 上海浦一知識產權代理有限公司 31211 | 代理人: | 王函 |
| 地址: | 201203 上海市浦*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 靈活 組合 拆分 分布式 服務器 系統 | ||
技術領域
本發明涉及一種用于網絡游戲的分布式服務器系統,尤其涉及一種可靈活組合拆分的分布式服務器系統,以影響網絡游戲服務器端的開發模式與部署模式。
背景技術
目前的大多數網絡游戲服務器系統均包括有若干的服務器,并且隨著游戲的發展服務器的種類和數量也有逐漸增加的趨勢。相應的開發方式與運營管理方式也非常有必要進行改進以避免開發與運營成本的大幅提高。
開發方式改進的必要性在于,如果按照傳統的開發方式,環境的準備復雜度會逐漸提高,比如一個擁有8個服務器的游戲,測試其中的服務器將需要準備其余的7個服務器,因為一個業務通常都需要跨越多個服務器即需要跨越進程邊界,對業務流的跟蹤難度會相當大。
運營方式改進的必要性在于,因為每個服務器的啟動基本上是手動進行,因此服務器數目的增加通常意味著工作量的成級數增加,以及監控成本的增加。降低同一個物理服務器上同時運行的服務器程序數目將大大降低管理成本。
發明內容
本發明要解決的技術問題是提供一種可靈活組合拆分的分布式服務器系統,可大幅降低分布式服務器系統設計中逐步拆分服務器的過程帶來的開發難度、測試難度與部署管理難度,在不需要進行額外的源代碼修改的前提下,可自由組合與拆分各功能服務器。
為解決上述技術問題,本發明采用如下技術方案:
一種可靈活組合拆分的分布式服務器系統,包含:
多個服務器,該服務器以動態庫為單位,并具有統一通用的服務器業務消息處理接口;
服務器容器,包含服務器,該服務器容器提供服務器的管理與接收數據的路由功能;
網絡抽象層,與服務器容器連接進行消息的傳遞,可根據目標服務器信息自動選擇進程內通訊或網絡通訊方式;以及
獨立可通用的消息循環模塊,用于將網絡抽象層收到的消息分發給目標服務器;
在開發期,該分布式服務器系統為單一進程多動態庫;在發布期,該分布式服務器系統為多進程服務器結構。
所述網絡抽象層可將網絡發包請求重定向到進程內的另一個服務器。
所述分布式服務器系統在發布期還包括一個代碼工程生成工具,該代碼工程生成工具通過將服務器原有的業務處理(即業務消息處理)代碼直接添加消息循環代碼與網絡組件后轉化為獨立的服務器應用程序。
所述代碼工程生成工具可消除所述的服務器容器和網絡抽象層。
所述業務處理代碼與消息循環代碼相分離,且消息循環代碼為所述服務器通用。
從開發期到發布期的服務器格式轉換不需要修改代碼且能自動去除服務器容器功能,并替換網絡抽象層為實際的網絡組件。
所述分布式服務器系統在發布期的發布流程包括如下步驟:(1)創建應用程序工程模板;(2)從指定的服務器動態庫工程導入全部業務處理代碼;(3)直接添加消息循環模板代碼;(4)添加非抽象的網絡層組件模塊與代碼;(5)編譯生成發布版本的服務器應用程序。
本發明具有如下有益效果:本發明可大幅降低分布式服務器系統設計中逐步拆分服務器的過程帶來的開發難度、測試難度與部署管理難度。在不需要進行額外的源代碼修改的前提下,可自由組合與拆分各功能服務器。在開發時組合為單一的服務器,因此可大大降低開發時期的開發與調試難度;在部署時也可根據硬件與網絡環境對服務器進行靈活的組合從而最大化資源利用并最小化運營成本。
附圖說明
圖1是一般網絡游戲服務器的程序流程圖;
圖2是本發明分布式服務器系統的框架示意圖;
圖3是傳統分布式服務器系統與本發明分布式服務器系統的結構對比示意圖,其中,圖3(A)是傳統分布式服務器系統的結構示意圖;圖3(B)是本發明分布式服務器系統在游戲開發期的結構示意圖;圖3(C)是本發明分布式服務器系統在游戲運營期(發布期)的結構示意圖;
圖4是本發明分布式服務器系統中產品發布的流程圖。
具體實施方式
本發明的分布式服務器系統基于以下的基本事實進行推導:
1.所有的游戲服務器的流程圖均如圖1所示,游戲服務器的流程主要包括如下步驟:(1)服務器等待網絡數據;(2)收到網絡數據后進行數據包解析;(3)調用OnMessage函數;(4)OnMessage函數根據消息包類型調用對應的業務處理函數。
2.所有的游戲服務器都包含一個統一的網絡處理層,負責發送數據到目標服務器以及處理接收到的數據包;
3.所有的游戲服務器均包含一個消息隊列及主消息循環,收到的數據包將被投遞到消息隊列輪詢處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于盛趣信息技術(上海)有限公司,未經盛趣信息技術(上海)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010233643.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種翻不漏自動開閉裝置
- 下一篇:車輛擴展前視野的方法及構成





