[發(fā)明專利]一種基于狀態(tài)機的消息驅動方法和裝置有效
| 申請?zhí)枺?/td> | 201110453245.6 | 申請日: | 2011-12-30 |
| 公開(公告)號: | CN102541644A | 公開(公告)日: | 2012-07-04 |
| 發(fā)明(設計)人: | 熊磊 | 申請(專利權)人: | 深圳市萬興軟件有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 深圳匯智容達專利商標事務所(普通合伙) 44238 | 代理人: | 潘中毅 |
| 地址: | 518057 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 狀態(tài)機 消息 驅動 方法 裝置 | ||
技術領域
本發(fā)明涉及計算機領域,尤其涉及一種基于狀態(tài)機的消息驅動方法和裝置。
背景技術
在現(xiàn)有的娛樂軟件平臺搭建過程中,一般會將平臺設計為用戶界面層、邏輯狀態(tài)層、功能支撐層的三層結構,其目的在于盡量使平臺層與層之間的功能分明,利于開發(fā)設計和后續(xù)的升級。
在現(xiàn)有的平臺搭建過程中,雖然在設計時盡量按照三層結構去搭建,但是因為其中涉及諸多各層之間,特別是同一層之間的程序模塊相互調(diào)用,使得雖然平臺分為用戶界面層、邏輯狀態(tài)層、功能支撐層,但各層之間,以及同層之間的程序模塊的聯(lián)系仍然比較緊密,開發(fā)設計和后續(xù)的升級過程中,需要兼顧各個層程序模塊的功能實現(xiàn),不利于平臺的開發(fā)設計和后續(xù)升級。
發(fā)明內(nèi)容
本發(fā)明實施例所要解決的技術問題在于,提供一種基于狀態(tài)機的消息驅動方法和裝置,可降低軟件架構層與層之間、以及同層的各程序模塊之間的耦合性,使程序模塊的實現(xiàn)方式更加靈活,且可以根據(jù)需求實時加載或卸載程序模塊,充分利用系統(tǒng)資源。
為了解決上述技術問題,本發(fā)明實施例提供了一種基于狀態(tài)機的消息驅動方法,包括:
狀態(tài)機接收掛接在本機上的程序模塊發(fā)送的注冊請求;所述注冊請求中包括該程序模塊在運行過程中會發(fā)送、接收的消息和系統(tǒng)控制指令;
狀態(tài)機根據(jù)掛接在本機上的程序模塊發(fā)送的注冊請求進行初始化,并生成注冊消息表;
狀態(tài)機根據(jù)所述注冊消息表,將接收的消息轉發(fā)至對應的程序模塊。
其中,所述狀態(tài)機包括三層結構,從上往下依次為:用戶界面層狀態(tài)機、邏輯狀態(tài)層狀態(tài)機、功能支撐層狀態(tài)機。
其中,所述用戶界面層狀態(tài)機接收位于用戶界面層的程序模塊發(fā)送的注冊請求,生成用戶界面層注冊消息表;
邏輯狀態(tài)層狀態(tài)機接收位于邏輯狀態(tài)層的程序模塊發(fā)送的注冊請求,生成邏輯狀態(tài)層注冊消息表;
功能支撐層狀態(tài)機接收位于功能支撐層的程序模塊發(fā)送的注冊請求,生成功能支撐層注冊消息表。
其中,所述狀態(tài)機根據(jù)所述注冊消息表,將接收的消息轉發(fā)至對應的程序模塊包括:
狀態(tài)機接收到消息后,在自身的注冊消息表中查找本層是否有接收所述消息的程序模塊;若有,則將所述消息轉發(fā)給對應的程序模塊;若沒有,則狀態(tài)機將所述消息轉發(fā)給其它層的狀態(tài)機。
其中,所述狀態(tài)機將所述消息轉發(fā)給其它層的狀態(tài)機包括:
用戶界面層狀態(tài)機和功能支撐層狀態(tài)機判斷消息來源,若消息來自狀態(tài)機自身所在層的程序模塊,則用戶界面層狀態(tài)機和功能支撐層狀態(tài)機向邏輯狀態(tài)層狀態(tài)機轉發(fā)消息;若消息來自邏輯狀態(tài)層狀態(tài)機,則用戶界面層狀態(tài)機和功能支撐層狀態(tài)機向邏輯狀態(tài)層狀態(tài)機丟棄該消息;
邏輯狀態(tài)層狀態(tài)機判斷消息來源,若消息來自本層的程序模塊,則向用戶界面層狀態(tài)機和功能支撐層狀態(tài)機轉發(fā)該消息;若消息來自用戶界面層狀態(tài)機,則向功能支撐層狀態(tài)機轉發(fā)該消息;若消息來自功能支撐層狀態(tài)機,則向用戶界面層狀態(tài)機轉發(fā)該消息。
其中,所述狀態(tài)機在轉發(fā)消息的過程中,不對消息進行任何處理。
相應的,本發(fā)明實施例還提供一種基于狀態(tài)機的消息驅動裝置,該裝置由多個狀態(tài)機組成,且每一個的狀態(tài)機都包括:
注冊請求接收模塊,用于接收掛接在本機上的程序模塊發(fā)送的注冊請求;所述注冊請求中包括該程序模塊在運行過程中會發(fā)送、接收的消息和系統(tǒng)控制指令;
消息表創(chuàng)建模塊,用于根據(jù)所述注冊請求接收模塊所接收的掛接在本機上的程序模塊發(fā)送的注冊請求進行初始化,并生成注冊消息表;
消息轉發(fā)模塊,用于根據(jù)所述消息表創(chuàng)建模塊所生成的注冊消息表,將接收的消息轉發(fā)至對應的程序模塊。
其中,該裝置包括三個狀態(tài)機,從上往下依次為:用戶界面層狀態(tài)機、邏輯狀態(tài)層狀態(tài)機、功能支撐層狀態(tài)機;
用戶界面層狀態(tài)機接收位于用戶界面層的程序模塊發(fā)送的注冊請求,生成用戶界面層注冊消息表;邏輯狀態(tài)層狀態(tài)機接收位于邏輯狀態(tài)層的程序模塊發(fā)送的注冊請求,生成邏輯狀態(tài)層注冊消息表;功能支撐層狀態(tài)機接收位于功能支撐層的程序模塊發(fā)送的注冊請求,生成功能支撐層注冊消息表。
其中,所述消息轉發(fā)模塊包括:
查詢單元,用于在狀態(tài)機接收到消息后,在消息表創(chuàng)建模塊生成的注冊消息表中查找本層是否有接收所述消息的程序模塊;
轉發(fā)單元,用于在查詢單元判定本層有接收所述消息的程序模塊時,將所述消息轉發(fā)給對應的程序模塊;在查詢單元判定本層沒有接收所述消息的程序模塊時,將所述消息轉發(fā)給其它層的狀態(tài)機。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市萬興軟件有限公司,未經(jīng)深圳市萬興軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110453245.6/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種燈殼結構
- 下一篇:一種鎖附件、背光模組和液晶顯示裝置





