[發明專利]狀態切換方法、裝置、設備和存儲介質有效
| 申請號: | 202010064587.8 | 申請日: | 2020-01-20 |
| 公開(公告)號: | CN111273969B | 公開(公告)日: | 2021-08-10 |
| 發明(設計)人: | 池起協;沈海峰;孫良夫 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448;G06F9/48 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 祝亞男 |
| 地址: | 518057 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 狀態 切換 方法 裝置 設備 存儲 介質 | ||
本申請提供了一種狀態切換方法、裝置、設備和存儲介質,涉及計算機技術領域。所述方法包括:獲取目標對象的第一狀態;響應于第一狀態對應的觸發事件中包含的第一事件發生,獲取第一事件對應的事件處理邏輯;執行第一事件對應的事件處理邏輯,將目標對象從第一狀態切換為第二狀態。相比于相關技術中,對于狀態機中一個狀態的狀態切換,需要多次重復編寫。本申請實施例提供的技術方案,通過狀態集合將目標對象的多種狀態和各個狀態對應的觸發事件進行整合,使得狀態機的設計更加直觀和簡潔,進一步有利于狀態機的維護。
技術領域
本申請實施例涉及計算機技術領域,特別涉及一種狀態切換方法、裝置、設備和存儲介質。
背景技術
狀態機定義了多個狀態以及狀態之間的轉換。狀態機通過響應一系列事件而運行,當事件滿足某些觸發條件時,將導致狀態機從當前的狀態轉換到下一個狀態。
相關技術中,假設狀態機的對象包括四種狀態,如狀態A、狀態B、狀態C和狀態D,該狀態機的對象當前所處的狀態為狀態A,在不同的事件的觸發下,可以切換到狀態B、狀態C或者狀態D。則該狀態機可以表示為:狀態A,發生事件1,狀態A切換為狀態B;狀態A,發生事件2,狀態A切換為狀態C;狀態A,發生事件3,狀態A切換為狀態D。
在上述相關技術中,狀態機的設計比較繁瑣,不利于狀態機的維護。
發明內容
本申請實施例提供了一種狀態切換方法、裝置、設備和存儲介質,可用于簡化狀態機的設計。所述技術方案如下:
一方面,本申請實施例提供了一種狀態切換方法,所述方法包括:
獲取目標對象的第一狀態,所述目標對象的狀態集合中包括n種狀態以及所述n種狀態分別對應的觸發事件,其中,所述n種狀態中的第i種狀態對應的觸發事件,是指觸發所述目標對象在所述第i種狀態下進行狀態切換的事件,所述n為正整數,所述i為小于或等于所述n的正整數;
響應于所述第一狀態對應的觸發事件中包含的第一事件發生,獲取所述第一事件對應的事件處理邏輯;
執行所述第一事件對應的事件處理邏輯,將所述目標對象從所述第一狀態切換為第二狀態。
另一方面,本申請實施例提供了一種狀態切換裝置,所述裝置包括:
狀態獲取模塊,用于獲取目標對象的第一狀態,所述目標對象的狀態集合中包括n種狀態以及所述n種狀態分別對應的觸發事件,其中,所述n種狀態中的第i種狀態對應的觸發事件,是指觸發所述目標對象在所述第i種狀態下進行狀態切換的事件,所述n為正整數,所述i為小于或等于所述n的正整數;
邏輯獲取模塊,用于響應于所述第一狀態對應的觸發事件中包含的第一事件發生,獲取所述第一事件對應的事件處理邏輯;
狀態切換模塊,用于執行所述第一事件對應的事件處理邏輯,將所述目標對象從所述第一狀態切換為第二狀態。
再一方面,本申請實施例提供了一種計算機設備,所述計算機設備包括處理器和存儲器,所述存儲器中存儲有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由所述處理器加載并執行以實現如上述方面所述的狀態切換方法。
再一方面,本申請實施例提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由處理器加載并執行以實現如上述方面所述的狀態切換方法。
還一方面,本申請實施例提供了一種計算機程序產品,所述計算機程序產品被處理器執行時,用于實現上述狀態切換方法。
本申請實施例提供的技術方案可以包括如下有益效果:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010064587.8/2.html,轉載請聲明來源鉆瓜專利網。





