[發明專利]游戲服務端虛擬時間實現方法有效
| 申請號: | 201310695034.2 | 申請日: | 2013-12-13 |
| 公開(公告)號: | CN103678919B | 公開(公告)日: | 2017-01-04 |
| 發明(設計)人: | 吳開 | 申請(專利權)人: | 廣東星輝天拓互動娛樂有限公司 |
| 主分類號: | G06F19/00 | 分類號: | G06F19/00 |
| 代理公司: | 北京聯瑞聯豐知識產權代理事務所(普通合伙)11411 | 代理人: | 黃冠華 |
| 地址: | 510000 廣東省廣州市天河區軟件園高唐新*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 游戲 服務端 虛擬 時間 實現 方法 | ||
技術領域
本發明涉及游戲服務器處理技術,具體涉及游戲服務器時間處理的方法。
背景技術
操作系統為了應對各種各樣的時間需求,其時間精度很高。操作系統的時間可以被簡單的設置,這樣可能會導致游戲服務器的時間不是單調遞增的,而引起依賴于時間的游戲邏輯錯誤。此外,對于游戲中的時間觸發的邏輯,可能會因為服務器在某一個時刻很卡,導致某一時刻的系統時間被跳過,而無法進行時間觸發。為保證時間的準確性,現有技術一般采用頻繁讀取系統時間的方式而保障時間精確度,然而游戲服務器對時間精度的需求都不高,一般100毫秒基本就夠了,如果頻繁的讀取系統時間反而會因為不必要的時間精度浪費計算機性能。
發明內容
針對上述現有技術不足,本發明要解決的技術問題是提供一種滿足游戲服務器時間需求,保證游戲服務器時間是單調遞增的,避免游戲邏輯錯誤。
為解決上述技術問題,本發明采用的技術方案為,游戲服務端虛擬時間實現方法,包括如下步驟:
S1:服務器啟動時,獲取當前現實時間進行緩存,作為虛擬時間的時間值起點;
S2:在程序運行過程中,服務器定期刷新緩存內的時間值,作為當前虛擬時間;
S3:在程序運行過程中,服務器需要獲得時間條件執行邏輯的,均通過緩存內的虛擬時間作為時間條件。
這樣的方案使服務器的時間不以操作系統為依據,而由游戲服務器本身的緩存時間進行獲取,提高性能,并保證時間是單調遞增的。
進一步的技術方案為,所述步驟S2中,服務器每間隔一個游戲最小時間單位,刷新一次緩存內的時間值。
這樣的方案保證游戲的每一個時間都會作為時間條件而被執行邏輯,不會因為服務器卡而跳過某些時間,導致某些邏輯無法執行,而令運行出現邏輯錯誤。
再進一步的技術方案為,所述步驟S2中,刷新緩存內時間值的具體步驟為:通過服務器的CPU時鐘周期及服務器標準幀率,計算一個游戲最小時間單位內執行邏輯數量的理論標準值;當累計執行的邏輯數量達到理論標準值時,對緩存內的時間值增加一個游戲最小時間單位,并重新累計一次執行的邏輯數量。
這樣的方案使虛擬時間不依賴外接時間而增加。
再進一步的技術方案為,所述步驟S2中,還包括把每次累計中執行一個理論標準值數量的邏輯的實際時間與游戲最小時間單位進行對比的步驟,當執行一個理論標準值數量的邏輯的實際時間大于游戲最小時間單位時,增大服務器的實際幀率,直到當執行一個理論標準值數量的邏輯的實際時間等于游戲最小時間單位時,把服務器的實際幀率重新調整為服務器標準幀率。
這樣的方案使服務器具有追趕時間的能力,但又不跳過每一個時間。
進一步的技術方案為,還包括步驟S4:當收到關閉服務器命令時,服務器在關閉過程中,保存一次時間記錄文件;
所述步驟S1中,還包括在服務器啟動時,讀取時間記錄文件,判斷時間合法性的步驟;若合法,則執行步驟S1,正常啟動后續步驟;若不合法,則停止執行后續步驟,退出進程。
這樣的方案使得服務器在關閉后重啟時仍能保證時間的單調遞增,避免因服務器啟動時就存在時間錯誤而引發邏輯錯誤。
再進一步的技術方案為,所述步驟S4中,保存時間記錄文件,具體為在時間記錄文件中,標記服務器狀態為關閉,并記錄關閉時的虛擬時間;
所述步驟S1中,判斷時間合法性的步驟具體為:當時間記錄文件中的服務器狀態為關閉時,若當前現實時間或虛擬時間大于關閉時的虛擬時間,則判斷為時間合法;否則,判斷為時間不合法。
更進一步的技術方案為,還包括步驟S5:在程序運行過程中,每相隔一個指定時間,更新一次時間記錄文件,把時間記錄文件中的服務器狀態標記為運行,并記錄當時的虛擬時間;
所述步驟S1,判斷時間合法性的步驟還包括:當時間記錄文件中的服務器狀態為運行時,若當前現實時間或虛擬時間減去記錄時的虛擬時間的差值大于指定時間,則判斷為時間合法;否則,判斷為時間不合法。
這樣的方案保證服務器在不正常關閉的情況下,啟動時仍能保證時間的單調遞增。
優選的技術方案為,所述指定時間為3-6分鐘。
本發明的游戲服務端虛擬時間實現方法,對比于傳統的時間處理方案,能更有效地保證時間的單調遞增性,性能更高效;并能保證在服務器關閉維護后依然能保證時間的單調遞增性;且能很容易的加速或者減速服務器的時間運行,方便特殊邏輯的調試,完善服務器對意外情況的處理能力。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東星輝天拓互動娛樂有限公司,未經廣東星輝天拓互動娛樂有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310695034.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種遙控器
- 下一篇:基于非局部均值的視頻去噪方法和裝置
- 同類專利
- 專利分類
G06F 電數字數據處理
G06F19-00 專門適用于特定應用的數字計算或數據處理的設備或方法
G06F19-10 .生物信息學,即計算分子生物學中的遺傳或蛋白質相關的數據處理方法或系統
G06F19-12 ..用于系統生物學的建模或仿真,例如:概率模型或動態模型,遺傳基因管理網絡,蛋白質交互作用網絡或新陳代謝作用網絡
G06F19-14 ..用于發展或進化的,例如:進化的保存區域決定或進化樹結構
G06F19-16 ..用于分子結構的,例如:結構排序,結構或功能關系,蛋白質折疊,結構域拓撲,用結構數據的藥靶,涉及二維或三維結構的
G06F19-18 ..用于功能性基因組學或蛋白質組學的,例如:基因型–表型關聯,不均衡連接,種群遺傳學,結合位置鑒定,變異發生,基因型或染色體組的注釋,蛋白質相互作用或蛋白質核酸的相互作用





