[发明专利]一种基于状态机的消息驱动方法和装置有效
申请号: | 201110453245.6 | 申请日: | 2011-12-30 |
公开(公告)号: | CN102541644A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 熊磊 | 申请(专利权)人: | 深圳市万兴软件有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 深圳汇智容达专利商标事务所(普通合伙) 44238 | 代理人: | 潘中毅 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 状态机 消息 驱动 方法 装置 | ||
1.一种基于状态机的消息驱动方法,其特征在于,包括:
状态机接收挂接在本机上的程序模块发送的注册请求;所述注册请求中包括该程序模块在运行过程中会发送、接收的消息和系统控制指令;
状态机根据挂接在本机上的程序模块发送的注册请求进行初始化,并生成注册消息表;
状态机根据所述注册消息表,将接收的消息转发至对应的程序模块。
2.如权利要求1所述的基于状态机的消息驱动方法,其特征在于,所述状态机至少包括三层结构,从上往下依次为:用户界面层状态机、逻辑状态层状态机、功能支撑层状态机。
3.如权利要求2所述的基于状态机的消息驱动方法,其特征在于,所述用户界面层状态机接收位于用户界面层的程序模块发送的注册请求,生成用户界面层注册消息表;
逻辑状态层状态机接收位于逻辑状态层的程序模块发送的注册请求,生成逻辑状态层注册消息表;
功能支撑层状态机接收位于功能支撑层的程序模块发送的注册请求,生成功能支撑层注册消息表。
4.如权利要求2所述的基于状态机的消息驱动方法,其特征在于,所述状态机根据所述注册消息表,将接收的消息转发至对应的程序模块包括:
状态机接收到消息后,在自身的注册消息表中查找本层是否有接收所述消息的程序模块;若有,则将所述消息转发给对应的程序模块;若没有,则状态机将所述消息转发给其它层的状态机。
5.如权利要求4所述的基于状态机的消息驱动方法,其特征在于,所述状态机将所述消息转发给其它层的状态机包括:
用户界面层状态机和功能支撑层状态机判断消息来源,若消息来自状态机自身所在层的程序模块,则用户界面层状态机和功能支撑层状态机向逻辑状态层状态机转发消息;若消息来自逻辑状态层状态机,则用户界面层状态机和功能支撑层状态机向逻辑状态层状态机丢弃该消息;
逻辑状态层状态机判断消息来源,若消息来自本层的程序模块,则向用户界面层状态机和功能支撑层状态机转发该消息;若消息来自用户界面层状态机,则向功能支撑层状态机转发该消息;若消息来自功能支撑层状态机,则向用户界面层状态机转发该消息。
6.如权利要求1至5中任一项所述的基于状态机的消息驱动方法,其特征在于,所述状态机在转发消息的过程中,不对消息进行任何处理。
7.一种基于状态机的消息驱动装置,其特征在于,该装置由多个状态机组成,且每一个的状态机都包括:
注册请求接收模块,用于接收挂接在本机上的程序模块发送的注册请求;所述注册请求中包括该程序模块在运行过程中会发送、接收的消息和系统控制指令;
消息表创建模块,用于根据所述注册请求接收模块所接收的挂接在本机上的程序模块发送的注册请求进行初始化,并生成注册消息表;
消息转发模块,用于根据所述消息表创建模块所生成的注册消息表,将接收的消息转发至对应的程序模块。
8.如权利要求7所述的基于状态机的消息驱动装置,其特征在于,该装置包括三个状态机,从上往下依次为:用户界面层状态机、逻辑状态层状态机、功能支撑层状态机;
用户界面层状态机接收位于用户界面层的程序模块发送的注册请求,生成用户界面层注册消息表;逻辑状态层状态机接收位于逻辑状态层的程序模块发送的注册请求,生成逻辑状态层注册消息表;功能支撑层状态机接收位于功能支撑层的程序模块发送的注册请求,生成功能支撑层注册消息表。
9.如权利要求7所述的基于状态机的消息驱动装置,其特征在于,所述消息转发模块包括:
查询单元,用于在状态机接收到消息后,在消息表创建模块生成的注册消息表中查找本层是否有接收所述消息的程序模块;
转发单元,用于在查询单元判定本层有接收所述消息的程序模块时,将所述消息转发给对应的程序模块;在查询单元判定本层没有接收所述消息的程序模块时,将所述消息转发给其它层的状态机。
10.如权利要求9所述的基于状态机的消息驱动装置,其特征在于,所述转发单元在查询单元判定本层没有接收所述消息的程序模块时,将所述消息转发给其它层的状态机,包括:
用户界面层状态机和功能支撑层状态机的转发单元判断消息来源,若消息来自状态机自身所在层的程序模块,则用户界面层状态机和功能支撑层状态机的转发单元向逻辑状态层状态机转发消息;若消息来自逻辑状态层状态机,则用户界面层状态机和功能支撑层状态机向逻辑状态层状态机的转发单元丢弃该消息;
逻辑状态层状态机的转发单元判断消息来源,若消息来自逻辑状态层的程序模块,则转发单元向用户界面层状态机和功能支撑层状态机转发该消息;若消息来自用户界面层状态机,则转发单元向功能支撑层状态机转发该消息;若消息来自功能支撑层状态机,则转发单元向用户界面层状态机转发该消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市万兴软件有限公司,未经深圳市万兴软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110453245.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种灯壳结构
- 下一篇:一种锁附件、背光模组和液晶显示装置