TypeSDK總體設計思路和架構

2021-07-25 16:25:44 字數 2385 閱讀 2986

引言:本文旨在提供讀者製作乙個自己的聚合sdk的思路,拋磚引玉,讓更多的讀者對聚合sdk有好的理解。

這是最好的時代,這是最壞的時代,這是智慧型的時代,這是愚蠢的時代;這是信仰的時期,這是懷疑的時期;這是光明的季節,這是黑暗的季節;這是希望之春,這是失望之冬;人們面前有著各樣事物,人們面前一無所有;人們正在直登天堂;人們正在直下地獄。——《雙城記》

雙城記的開頭,正是現在手遊行業的一種寫照,充滿著希望的行業,也伴隨著混沌的行業。隨著手遊市場的蓬勃發展,不論從研發遊戲,運營遊戲,還是到發行遊戲,維護相關的平台,整個行業都在不斷的壯大。人上一百形形色色,遊戲上一百,色色行行,渠道上一百,感嘆活久見。

眾多渠道的sdk良莠不齊,作為遊戲開發商的cp,尤其是眾多中小cp,第一次接入幾家甚至幾十家的渠道sdk已經需要花費鉅額大的時間和人力成本,而當渠道sdk更新,需要將這些sdk再次接入到自己遊戲中,又或者說,遊戲發生了更新,需要重新的將這些sdk接入到自己遊戲中時,則又要再次耗費巨大的時間和人力成本。聚合sdk正是基於這種情況下,才會被提出的概念。我們希望的,只是乙個簡單粗暴的,可以快速接入,沒啥技術經驗的人也能使用的一鍵式自動打包工具,只需要傳乙個工程檔案,就可以直接出渠道包。

那麼,我們就長話短說,我們來看看,我們要實現這套聚合的sdk,需要做哪些事情。

主要需求:

首先,我們需要明確想要做成的東西是個怎麼樣產品

1.遊戲客戶端和遊戲服務端,只需要關注遊戲本身內容,無需關注不同渠道的sdk差異性,降低渠道sdk和遊戲客戶端的耦合性

2.公司應用必須要支援多個專案的統一管理,但不能有集中式單點的風險,資料需要分離和整合不同的表現

3.公司發展後各種部門的互動流程和人員成本,讓非技術的運營人員也可以打包,並且使用流程管理來進行出包版本管控

4.該聚合sdk必須要有擴充套件性,能應對日後新增的各種其他型別sdk。

主要模組:

針對這些需求,我們將產品分割為以下幾個大模組。

1.用作客戶端接入部分的統一框架sdk_client

2.用作服務端統一的邏輯**和處理中心sdk_server

3.用作打包功能的邏輯和多執行緒的任務排程sdk_package

4.使用者視覺化操作介面和功能配置介面sdk_manager

這四大模組,是我們最終的目標,一鍵式傻瓜化打包工具的組成。讓使用者只要傳乙個遊戲專案,就能直接打出指定的渠道包。

主要的關係圖:

接下來我們來看看主要的幾個關係圖

我們看看 packager的主要工作原理

1.取得相關遊戲的配置檔案

2. 取得指定渠道的配置檔案

3.利用打包指令碼,合成渠道包

manager和package組成客戶端打包工具,manager負責管理和配置,package負責編譯,關係圖:如下

1.使用者通過manager,上傳乙個原始的遊戲

2.manager根據使用者操作,找到相應的渠道sdk,渠道引數

3.manager分配給packager組打包的任務

4.packager 組找到空閒的packager節點,將該任務指定到具體的pakcager

5.選中的packager根據接收到的任務以及引數,打出指定渠道包

sdk的client和server與遊戲客戶端和服務端的互動架構

可以看到相對的結構圖如上

1. 遊戲渠道包,包含了遊戲客戶端以及聚合sdk客戶端,渠道sdk三部分

2. 遊戲客戶端,將聚合sdk客戶端傳送過的sdk資料**給遊戲服務端

3. 遊戲服務端,將遊戲客戶端傳送的sdk資料**給聚合sdk服務端

4. 聚合sdk服務端和渠道sdk服務端進行邏輯互動,以及相關的資料有效性驗證,驗證通過後,發回給遊戲服務端正確的資料結果

5. 遊戲服務端根據聚合sdk服務端返回的資料結果,處理遊戲內的邏輯

6. 遊戲客戶端,將遊戲服務端返回的經過驗證後的sdk資料結果**給聚合sdk客戶端

以上所有,是我們對一套聚合sdk的總體架構以及構思的分析。整套我們最終目標要做成的一鍵式傻瓜化打包工具,是需要一步乙個腳印,積少成多堆積出來的。但是有了明確的思路和方向,相信眾讀者會對聚合sdk不再陌生,也能更好的使用聚合sdk。

聚合sdk的其中每乙個模組的具體實現,需要注意點,我們會在日後慢慢分析。

這個專案已開源,大家有興趣可以自己研究或者參照專案編寫自己的聚合sdk

總體設計是建模

工作都快兩年了 對軟體開發流程才開始有點認識 先談談對軟體總體設計的理解.所謂總體設計 是在對目標系統的理解 分析的基礎上 對系統進行抽象 建模的過程 這個過程是非常重要的 可以說是系統設計階段 這個模型描述了目標系統的功能的大體是如何完成的 說明了系統內部的模組是如何劃分的 以及它們又是如何聯絡在...

什麼是展覽的總體設計

展覽的總體設計,是展覽的設計與實施的主導,是根據展覽展出方案主題結合展館的情況,從總體的布局上對展出形式 展覽效果 色彩 風格和展覽的宣傳等進行總體形象的構思設計,將不同的展品進行統一的組織安排,使之成為有機聯絡的整體,同時使展出者和參觀者有著合理的工作和活動空間。總體設計的內容 總體設計包括展覽會...

FPGA總體設計的硬體考慮

fpga總體設計 硬體相關 fpga在專案開始階段需要考慮的設計主要有3大方面 乙個是硬體做板相關的fpga公升級電路的設計以及外圍io設計 乙個是與軟體配合相關的軟硬體介面設計 乙個是fpga內部的邏輯功能規劃。本文先針對硬體設計相關進行闡述 公升級電路的設計 fpga的好處就是產品發布後還能進行...