HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    ecs提供的兩大主流計算框架(ecs架構(gòu)是未來主流)

    發(fā)布時間:2023-04-13 16:35:46     稿源: 創(chuàng)意嶺    閱讀: 100        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于ecs提供的兩大主流計算框架的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    ecs提供的兩大主流計算框架(ecs架構(gòu)是未來主流)

    一、云服務(wù)器ECS是什么?

    云服務(wù)器ECS(ElasticComputeService)是阿里云提供的性能卓越、穩(wěn)定可靠、彈性擴(kuò)展的IaaS(InfrastructureasaService)級別云計算服務(wù)。

    云服務(wù)器ECS免去了您采購IT硬件的前期準(zhǔn)備,讓您像使用水、電、天然氣等公共資源一樣便捷、高效地使用服務(wù)器,實現(xiàn)計算資源的即開即用和彈性伸縮。

    阿里云ECS持續(xù)提供創(chuàng)新型服務(wù)器,解決多種業(yè)務(wù)需求,助力您的業(yè)務(wù)發(fā)展。

    云服務(wù)器(ECS)是一種基礎(chǔ)云計算服務(wù)。它能幫助您快速的構(gòu)建更穩(wěn)定、安全的應(yīng)用,提高運維效率,降低IT成本,使您更專注于核心業(yè)務(wù)創(chuàng)新。

    二、阿里云云服務(wù)器ecs的優(yōu)勢

    彈性靈活。

    阿里云支持全球多地域部署以及多中心架構(gòu)選擇,有充足的資源保障,可以隨時隨地彈性創(chuàng)建資源。在阿里云的平臺上可以實現(xiàn)分鐘級擴(kuò)容上千臺實例,快速滿足業(yè)務(wù)高峰時的資源需求,同時當(dāng)業(yè)務(wù)高峰消失時,您可以將多余的資源釋放掉,以減少業(yè)務(wù)成本。

    操作便捷。

    提供基于Web的用戶界面,頁面簡單清晰,內(nèi)置各種功能模塊,您可以像操作實體機(jī)器一樣,對云服務(wù)器ECS實例進(jìn)行啟停、配置變更等操作。

    靈活的計費方式。

    云服務(wù)器ECS提供包年包月、按量付費、搶占式實例三種計費方式,滿足不同應(yīng)用場景需求。

    三、基于ECS模型的卡牌戰(zhàn)斗框架4

    卡牌類游戲如果僅僅是單人游戲,那便也沒什么技術(shù)含量了。從拉用戶的角度,如果沒有實時多人游戲玩法便也失去了游戲一大塊吸引力。

    通過這些年對卡牌類游戲的積淀,幀同步是這類游戲最常用的多人游戲同步方案。如果是回合類型游戲,那么狀態(tài)同步便大概率是首選項了,但它的實現(xiàn)復(fù)雜度在這類游戲中卻又不及幀同步技術(shù)了。所以這一章,就記錄我所開發(fā)的幾個項目所設(shè)計的幀同步方案與細(xì)節(jié)。

    我們將項目中所有的浮點數(shù)類型全都統(tǒng)一成了定點數(shù),這樣就確保我們的邏輯運算不會因平臺的不同而導(dǎo)致計算結(jié)果的差異。之所以不同平臺對浮點數(shù)的運算有差異,則是因為各廠商底層硬件對浮點數(shù)的運算不一致導(dǎo)致。雖然大家計算結(jié)果都差不多,但是到了小數(shù)點最后幾位總會有所不同。如果采用double進(jìn)行計算,雖然double精度更高,但依舊免不了會在最后幾位出現(xiàn)不一致的情況,只是這時已經(jīng)是小數(shù)點后二三十位的事情了。

    正是基于這個原因,我們最開始先使用double作為浮點數(shù)據(jù)類型,后又使用定點數(shù)進(jìn)行替換。因為我的定點數(shù)實現(xiàn)的有效精度只能到小數(shù)點后5位,所以即便底層硬件會對浮點數(shù)運算產(chǎn)生誤差,卻依舊會被定點數(shù)強(qiáng)制統(tǒng)一而不必?fù)?dān)心更小精度運算不一致所導(dǎo)致的問題。

    定點數(shù)方案在網(wǎng)上可以找到一大堆,而且也對定點數(shù)方案的利弊進(jìn)行過多方分析,此處不作贅述,只是網(wǎng)上多用10000作為定點數(shù)的放大倍數(shù),這是我的定點數(shù)實現(xiàn)與網(wǎng)上所不同的地方。

    在我實現(xiàn)的定點數(shù)中,采取了一個特殊的放大倍數(shù),即 2^16 。這樣一個放大倍數(shù),最大的好處就是定點數(shù)之間的大多數(shù)運算,都可以采用位運算的形式進(jìn)行放大縮小,于性能上更合適一些。此外,2的16次方作為放大倍數(shù),可以使小數(shù)的有效位保持到小數(shù)點后5位,從計算精度的角度考慮,這樣一個范圍也是滿足我們項目開發(fā)需求的。至于不同項目的放大倍數(shù),可以根據(jù)需要可以調(diào)整為其他的2的n此冪均可。

    采用2的整數(shù)次冪,會在定點數(shù)的乘、除、開方、比較大小運算中提高計算性能,遠(yuǎn)比乘除10000效率來得高。特別說明的是,這里我們的開方直接調(diào)用了C#數(shù)學(xué)庫中的開方操作,不同的是在開方前我們就需要對待開方的數(shù)左移16位,這樣開方得到的結(jié)果才是滿足定點數(shù)放大倍數(shù)的值。

    基于以上幾點,我們才會使用long作為定點數(shù)內(nèi)部的數(shù)據(jù)存儲類型,而定點數(shù)所表示數(shù)字的范圍,與int類型一致。如果使用定點數(shù)存儲了一個大于int最大值的數(shù),那么很可能就會在后續(xù)的計算中因移位而產(chǎn)生計算錯誤。

    當(dāng)實現(xiàn)了自己的定點數(shù)方案之后,就需要根據(jù)它的精度去生成 三角函數(shù)查詢表 。這里我僅生成了sin查詢表,而計算其他三角函數(shù)時根據(jù)sin值就可求得具體值。

    在實現(xiàn)定點數(shù)的過程中,還有很多值得參考的內(nèi)容:

    采用幀同步方案后,網(wǎng)絡(luò)方案就是一個需要關(guān)注的議題。

    幀同步方案下,客戶端和服務(wù)器之間無論每幀都同步信息,還是有數(shù)據(jù)變動時再同步信息,都需要頻繁地使用網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互。傳統(tǒng)TCP方案下,TCP本身發(fā)送機(jī)制有延時,所以就需要使用KCP來實現(xiàn)高實時性,但是代價(按照官方說法)就是額外消耗10%-20%的帶寬。

    但是需要說明的是,在丟包率上升的情況下,KCP因其底層數(shù)據(jù)包的組織與發(fā)送形式,會導(dǎo)致流量變大,這種情形下反而不如使用TCP的綜合效率。這是選用KCP方案的一個缺陷。

    我的項目中,最終設(shè)計了兩套網(wǎng)絡(luò)結(jié)構(gòu),KCP與TCP。這里就需要客戶端采集與服務(wù)器的網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)(ping值)。當(dāng)丟包率與延遲不嚴(yán)重時(可根據(jù)項目實際情況設(shè)定閾值),網(wǎng)絡(luò)采用KCP;一旦網(wǎng)絡(luò)狀態(tài)超過閾值,則將底層網(wǎng)絡(luò)方案切換為TCP。這種方案的設(shè)計目的,主要就是為了解決丟包率上升時KCP流量過大的問題,但是具體情況需要根據(jù)項目類型與具體需求而定。

    戰(zhàn)斗邏輯處,我們已經(jīng)講過定幀的概念了,但是那里的定幀主要針對的是邏輯的定幀執(zhí)行。

    幀同步也需要定幀的概念。只有當(dāng)所有客戶端與服務(wù)器幀率統(tǒng)一時,大家的行為才能被約束一致。因此,我們就需要將幀同步的定幀與邏輯的定幀加以區(qū)分,下面我就用“邏輯幀”指代邏輯的幀,而使用”服務(wù)幀“指代幀同步的幀。

    最簡易的方案,就是設(shè)計之初就令邏輯幀與服務(wù)幀的幀率統(tǒng)一。這樣做的好處,就是免去了兩個幀速率不一所導(dǎo)致的匹配問題,服務(wù)器每驅(qū)動一幀,邏輯幀就運行一幀,實現(xiàn)起來簡單方便。

    但是,服務(wù)幀的設(shè)計一般是要從通訊性能出發(fā)的,天生幀率會比較低,而邏輯幀因項目需求不同而不穩(wěn)定,大概率是比較高的幀率。所以,服務(wù)幀與邏輯幀的幀率不匹配是常態(tài),這就需要用到一些轉(zhuǎn)接件來實現(xiàn)我們的需求了。

    還記得 第一章 我曾提到的接口 ILogicMgr 嗎,它的派生類的作用之一,就是提供一個“幀率差速器”,以使得游戲邏輯能夠在服務(wù)幀與邏輯幀不同的幀率下平穩(wěn)運行。幀率差速器以幀率最快的一方的速率為基礎(chǔ)速率進(jìn)行心跳,每次心跳時返回本次心跳結(jié)果。幀率差速器的心跳結(jié)果分為三種:

    因為我們的項目是鎖幀方案,服務(wù)幀先行,所以差速器心跳流程圖如下:

    差速器是鎖幀模式下的一個重點,因為它的存在,才能夠讓邏輯幀與服務(wù)幀按照順序執(zhí)行。也因為差速器內(nèi)部有時間管理,所以才能夠?qū)崿F(xiàn)服務(wù)幀的鎖幀功能。這部分內(nèi)容依靠的就是服務(wù)器同步的 當(dāng)前最大幀號 數(shù)據(jù),以最大幀號作為限制。如果網(wǎng)絡(luò)出現(xiàn)波動,那么客戶端邏輯就會卡在最大幀號對應(yīng)的時間點,直到收到了服務(wù)器最新的最大幀號數(shù)據(jù)。

    追幀 也是在此處完成,即如果客戶端發(fā)現(xiàn)落后服務(wù)器幀數(shù)比較多,就需要在此處設(shè)計算法加速邏輯的運行,使得一次心跳執(zhí)行更多的邏輯幀。但是需要注意不要一次把所有邏輯幀都跑完,這樣會造成客戶端顯示效果上的撕裂感。

    上文在講 幀率差速器 時,已說明了服務(wù)幀與邏輯幀的概念,而且我們也明確了差速器是需要用在接口 ILogicMgr 的派生類中的,所以邏輯部分自然也是集成在這里的。

    當(dāng)差速器每次心跳結(jié)果是邏輯幀時,就是我們調(diào)用邏輯的心跳的時機(jī)。以此便完成了幀同步方案下邏輯的集成。也因為邏輯的心跳是在 ILogicMgr 中被驅(qū)動的,所以無論追幀或是心跳時間控制,都可以在此處根據(jù)需求進(jìn)行開發(fā)。

    我在項目中采用的幀同步方案已在上文進(jìn)行了較為詳細(xì)的說明。

    需要指出的是,在服務(wù)幀概念下,我們的方案是以 服務(wù)器領(lǐng)先客戶端 實現(xiàn)鎖幀效果的。這種實現(xiàn)方案最為簡單也最為有效。當(dāng)我們面對的項目是一個對實時性要求不高的項目時,這種鎖幀方案可以簡單有效地實現(xiàn)我們的需求,也不會對玩家造成太多的感受上的負(fù)面影響。

    如果項目實時性要求高怎么辦?

    類似ACT或MOBA類游戲,玩家需要能夠及時獲得技能釋放的反饋,否則延遲的技能釋放會撕裂快節(jié)奏的游戲體驗。這種情況下就需要我們設(shè)計全新的思路。而在此之前,我們需要明確快照的概念。

    快照,即當(dāng)前數(shù)據(jù)的拷貝。我們之所以需要快照,是因為我們后續(xù)會需要在某個時間點保存所有的數(shù)據(jù),然后在另一個時間點通過保存的數(shù)據(jù)還原戰(zhàn)場的數(shù)據(jù)。

    基于戰(zhàn)斗框架,快照我們其實只需要邏輯的數(shù)據(jù)快照即可,這樣即便邏輯通過快照進(jìn)行了數(shù)據(jù)回滾,也可以將數(shù)據(jù)同步給顯示層進(jìn)行還原。ECS架構(gòu)本身因為對數(shù)據(jù)與邏輯進(jìn)行了完整的分離,所以快照與數(shù)據(jù)回滾的實現(xiàn)方案可以參考 第二章 內(nèi)容,此處不作贅述。

    下文我們將介紹一個可以改進(jìn)的幀同步策略,就需要用到數(shù)據(jù)快照與回滾。

    還有一種幀同步策略,即在服務(wù)幀概念下,客戶端時間領(lǐng)先于服務(wù)器時間。這種情況下,客戶端所有的邏輯可以看做是一種預(yù)演,而服務(wù)器下發(fā)的則是過去某幀的信息。

    假設(shè)客戶端是第 n+2 幀,服務(wù)器下發(fā)的是第 n 幀。

    以上就是客戶端優(yōu)先的幀同步策略,但是這里也需要考慮幾個實現(xiàn)的問題:

    以上就是我對幀同步相關(guān)的記錄與思考, 下一篇 便聚焦開發(fā)工具進(jìn)行說明。

    四、什么是ecs bms

    ECS是易邁云提供的一種基礎(chǔ)云計算服務(wù),BMS是電動汽車電池的精準(zhǔn)“調(diào)音師”電池管理系統(tǒng)(BatteryManagementSystem,即BMS)是針對電動汽車鋰電池的管理系統(tǒng)。

    以上就是關(guān)于ecs提供的兩大主流計算框架相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    putative翻譯(put into perspective翻譯)

    project諧音記憶

    微信wechat版怎么弄

    廣西某產(chǎn)品營銷策劃書(產(chǎn)品營銷策劃書案例)

    湖南現(xiàn)代景觀設(shè)計風(fēng)格(湖南現(xiàn)代景觀設(shè)計風(fēng)格分析)