CN108089932B - 一种操作事件处理的方法、系统及相机 - Google Patents
一种操作事件处理的方法、系统及相机 Download PDFInfo
- Publication number
- CN108089932B CN108089932B CN201711274945.2A CN201711274945A CN108089932B CN 108089932 B CN108089932 B CN 108089932B CN 201711274945 A CN201711274945 A CN 201711274945A CN 108089932 B CN108089932 B CN 108089932B
- Authority
- CN
- China
- Prior art keywords
- target
- message
- state
- functional module
- state machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Abstract
本发明适用于计算机应用技术领域,公开了一种操作事件处理的方法、系统及相机,所述方法包括:获取相机的接口的目标动作信息,根据目标动作信息生成目标消息;将目标消息保存到功能模块的消息队列的尾部;若在目标消息之前的排队消息数量为零,则取出目标消息,根据预存的消息与操作条件的映射关系,获取目标消息对应的目标操作条件,并将目标操作条件保存在功能模块的操作条件队列的尾部;若在目标操作条件之前的排队操作条件数量为零,则取出目标操作条件,根据目标操作条件查询功能模块对应的状态表得到状态机决策,执行目标操作条件对应的逻辑操作和物理操作。本发明能够使相机的逻辑操作变得有序、清晰,执行效率高,且具有高稳定性。
Description
技术领域
本发明属于计算机应用技术领域,尤其涉及一种操作事件处理的方法、系统及相机。
背景技术
相机作为一种拍照和录像的工具,已经应用在人们的日常生活中。随着越来越多的人使用,人们对相机的功能要求也越来越高。
现有技术中,通常采用面向对象的方法或者模块化设计的方法来实现相机的功能以及人机交互操作。但是,这种方式对于相机复杂功能的实现比较困难,且无法达到高效性和高稳定性。
发明内容
有鉴于此,本发明实施例提供了一种操作事件处理的方法、系统及相机,以解决现有技术中相机复杂功能的实现比较困难,且无法达到高效性和高稳定性的问题。
本发明实施例的第一方面提供了一种操作事件处理的方法,应用于相机,所述方法包括:
获取相机的接口的目标动作信息,根据目标动作信息生成目标消息,目标消息包括功能模块的标记;
根据功能模块的标记将目标消息保存到功能模块的消息队列的尾部;
若在目标消息之前的排队消息数量为零,则按照预设消息取出机制取出目标消息,根据预存的消息与操作条件的映射关系,获取目标消息对应的目标操作条件,并将目标操作条件保存在功能模块的操作条件队列的尾部;
若在目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出目标操作条件,根据目标操作条件查询功能模块对应的状态表得到状态机决策,根据状态机决策执行目标操作条件对应的逻辑操作和物理操作。
本发明实施例的第二方面提供了一种操作事件处理的系统,应用于相机,所述系统包括:
目标消息生成模块,用于获取相机的接口的目标动作信息,根据目标动作信息生成目标消息,目标消息包括功能模块的标记;
目标消息存储模块,用于根据功能模块的标记将目标消息保存到功能模块的消息队列的尾部;
目标操作条件获取模块,用于若在目标消息之前的排队消息数量为零,则按照预设消息取出机制取出目标消息,根据预存的消息与操作条件的映射关系,获取目标消息对应的目标操作条件,并将目标操作条件保存在功能模块的操作条件队列的尾部;
操作执行模块,用于若在目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出目标操作条件,根据目标操作条件查询功能模块对应的状态表得到状态机决策,根据状态机决策执行目标操作条件对应的逻辑操作和物理操作。
本发明实施例的第三方面提供了一种相机,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上所述操作事件处理的方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上所述操作事件处理的方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例提供的操作事件处理的方法、系统及相机,通过获取相机的接口的目标动作信息,根据目标动作信息生成目标消息,目标消息包括功能模块的标记;根据功能模块的标记将目标消息保存到功能模块的消息队列的尾部;若在目标消息之前的排队消息数量为零,则按照预设消息取出机制取出目标消息,根据预存的消息与操作条件的映射关系,获取目标消息对应的目标操作条件,并将目标操作条件保存在功能模块的操作条件队列的尾部;若在目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出目标操作条件,根据目标操作条件查询功能模块对应的状态表得到状态机决策,根据状态机决策执行目标操作条件对应的逻辑操作和物理操作,从而可以有效解决相机复杂功能的实现比较困难,且无法达到高效性和高稳定性的问题,能够使相机的逻辑操作变得有序、清晰,执行效率高,且具有高稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的操作事件处理的方法的实现流程图;
图2是本发明实施例二提供的操作事件处理的方法的实现流程图;
图3是本发明实施例三提供的操作事件处理的系统的实现流程图;
图4是本发明实施例四提供的操作事件处理的系统的实现流程图;
图5是本发明实施例五提供的相机的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
本发明的说明书和权利要求书及上述附图中的术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含一系列步骤或单元的过程、方法或系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
参照图1,图1示出了本发明实施例一提供的操作事件处理的方法的实现流程,本实施例的流程执行主体可以是相机,其过程详述如下:
S101:获取相机的接口的目标动作信息,根据目标动作信息生成目标消息,目标消息包括功能模块的标记。
其中,相机的接口包括相机的按键接口、电源接口、存储接口、USB接口、HDMI(HighDefinition Multimedia Interface,高清晰度多媒体接口)接口和WIFI接口;相机的接口的动作信息是指相机的接口发生的物理动作信息;相机的接口的目标动作信息是指相机的接口当前发生的物理动作信息,例如,按键接口按下拍照按键。
相机可以根据相机的接口的动作信息生成消息,消息分为正常消息和异常消息;根据目标动作信息生成的消息称为目标消息,目标消息包括目标动作信息和功能模块的标记,功能模块的标记表示目标消息应该保存在功能模块的标记对应的功能模块的消息队列中。
示例性地,相机通过一个监测线程实时监测相机的接口的变化,得到相机的接口的动作信息,并根据相机的接口的动作信息生成消息。
S102:根据功能模块的标记将目标消息保存到功能模块的消息队列的尾部。
相机的功能模块包括拍照录像模块、WIFI预览模块、HDMI模块和预留扩展模块,每个功能模块都有一个消息队列,消息队列用于存储功能模块对应的消息,使消息按照时间顺序进行存储,当保存消息时,将消息保存在消息队列的尾部,当取出消息时,从消息队列的头部取出消息。
相机根据目标消息中的功能模块的标记将目标消息保存到功能模块的标记对应的功能模块的消息队列的尾部。
示例性地,相机通过消息队列数组来实现所有功能模块的消息队列,消息队列数组中的每一个数组元素表示一个功能模块的消息队列。
S103:若在目标消息之前的排队消息数量为零,则按照预设消息取出机制取出目标消息,根据预存的消息与操作条件的映射关系,获取目标消息对应的目标操作条件,并将目标操作条件保存在功能模块的操作条件队列的尾部。
其中,预设消息取出机制包括消息同步取出机制或消息异步取出机制,消息同步取出机制是指当当前消息对应的物理操作完成后才取出下一个消息,消息异步取出机制是指当获取到当前消息对应的操作条件之后就取出下一个消息。
相机从消息队列的头部取出消息,并对消息进行处理。若在目标消息之前的排队消息数量大于零,则目标消息处于等待状态;若在目标消息之前的排队消息数量为零,则按照预设消息取出机制取出目标消息。
相机中预存有消息与操作条件的映射关系,多个消息可以对应同一个操作条件,但是每一个操作条件都是唯一的。操作条件是可以引起状态机状态变迁的条件。根据消息与操作条件的映射关系,能够获取消息对应的操作条件。将目标消息对应的操作条件称为目标操作条件。
每个功能模块都有一个操作条件队列,操作条件队列用于存储功能模块对应的操作条件,使操作条件按照时间顺序进行存储,当保存操作条件时,将操作条件保存在操作条件队列的尾部,当取出操作条件时,从操作条件队列的头部取出操作条件。相机将目标操作条件保存在目标消息对应的功能模块的操作条件队列的尾部。
示例性地,相机通过操作条件队列数组来实现所有功能模块的操作条件队列,操作条件队列数组中的每一个数组元素表示一个功能模块的操作条件队列。相机通过消息处理线程来对消息进行处理,其中,对消息的处理包括取出消息,根据消息获取操作条件以及保存操作条件。
S104:若在目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出目标操作条件,根据目标操作条件查询功能模块对应的状态表得到状态机决策,根据状态机决策执行目标操作条件对应的逻辑操作和物理操作。
其中,预设操作条件取出机制包括操作条件同步取出机制或操作条件异步取出机制,操作条件同步取出机制是指当当前操作条件对应的物理操作完成后才取出下一个操作条件,操作条件异步取出机制是指当根据当前操作条件得到状态机决策后就取出下一个操作条件。
具体地,相机从操作条件队列的头部取出操作条件,并对操作条件进行处理。若在目标操作条件之前的排队操作条件数量大于零,则目标操作条件处于等待状态;若在目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出目标操作条件。
根据目标操作条件查询功能模块对应的状态表得到状态机决策,根据状态机决策执行目标操作条件对应的逻辑操作和物理操作,包括:根据目标操作条件查询状态表,获取功能模块对应的状态机的当前状态;根据目标操作条件和当前状态查询状态表,获取状态机决策;根据状态机决策执行目标操作条件对应的逻辑操作和物理操作;当逻辑操作和物理操作完成后,向状态机补发目标操作条件,根据补发的目标操作条件驱动状态机从当前状态变迁到新状态。
其中,状态表包括当前状态、操作条件、状态机决策和新状态。
具体地,相机根据目标操作条件第一次查询功能模块对应的状态表,得到功能模块对应的状态机的当前状态;相机根据目标操作条件和功能模块对应的状态机的当前状态第二次查询功能模块对应的状态表,得到状态机决策;相机根据状态机决策调用目标操作条件对应的操作函数,执行操作函数中的逻辑操作和物理操作;当操作函数中的逻辑操作和物理操作完成后,向状态机补发目标操作条件,补发的目标操作条件向状态机表示逻辑操作和物理操作都已经完成,状态机根据补发的目标操作条件从当前状态变迁到新状态。
示例性地,相机通过操作条件处理决策线程来对操作条件进行处理。对操作条件的处理包括取出操作条件,根据操作条件得到状态机决策,根据状态机决策调用操作函数,完成逻辑操作和物理操作,并驱动状态机变迁状态。
在本实施例中,通过获取相机的接口的目标动作信息,根据目标动作信息生成目标消息,目标消息包括功能模块的标记;根据功能模块的标记将目标消息保存到功能模块的消息队列的尾部;若在目标消息之前的排队消息数量为零,则按照预设消息取出机制取出目标消息,根据预存的消息与操作条件的映射关系,获取目标消息对应的目标操作条件,并将目标操作条件保存在功能模块的操作条件队列的尾部;若在目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出目标操作条件,根据目标操作条件查询功能模块对应的状态表得到状态机决策,根据状态机决策执行目标操作条件对应的逻辑操作和物理操作,从而可以有效解决相机复杂功能的实现比较困难,且无法达到高效性和高稳定性的问题,能够使相机的逻辑操作变得有序、清晰,执行效率高,且具有高稳定性。
实施例二
参照图2,图2示出了本发明实施例二提供的操作事件处理的方法的实现流程。在上述实施例的基础上,本发明实施例详述如下:
S201:获取相机的接口的动作信息集合,根据动作信息集合生成消息集合,并根据预存的消息与操作条件的映射关系,获取消息集合对应的操作条件集合。
其中,动作信息集合是指相机的按键接口、电源接口、存储接口、USB接口、HDMI接口和WIFI接口发生的所有物理动作信息的集合;动作信息集合中的每一个动作信息都能生成一个消息,动作信息集合中的所有动作信息生成的消息的集合称为消息集合;相机中预存有消息与操作条件的映射关系,根据消息与操作条件的映射关系,每一个消息可以得到一个对应的操作条件,消息集合中所有消息对应的操作条件的集合称为操作条件集合。
S202:对相机的复杂功能按照功能模块进行归类,生成功能模块对应的功能集合,并将功能模块对应的功能集合抽象为功能模块对应的状态集合。
相机的功能模块包括拍照录像模块、WIFI预览模块、HDMI模块和预留扩展模块,其中,预留扩展模块用于相机扩展新功能,因此不需要对其进行分析。
将相机的复杂功能按照功能模块进行分类,每一个功能模块对应一个功能集合,例如,拍照录像模块包括普通拍照功能、照片连拍功能、全景照片拍摄功能和录像功能等等。将功能模块对应的功能集合里的功能抽象成为状态,得到功能模块对应的状态集合,每一个功能模块对应一个状态集合。
S203:根据操作条件集合、状态集合以及操作条件集合和状态集合之间的逻辑关系,生成功能模块对应的状态机图。
根据操作条件集合、状态集合以及操作条件集合和状态集合之间的逻辑关系,采用绘图,描述出操作条件集合和状态集合之间的逻辑关系,生成状态机图。每一个功能模块对应一个状态机图。
S204:根据功能模块对应的状态机图生成功能模块对应的状态表。
根据状态机图得到状态表,每一个功能模块对应一个状态表。状态表包括当前状态、操作条件、状态机决策和新状态。
步骤S205至S208与上述S101至S104一致,具体内容请参考S101至S104的相关描述,这里不再赘述。
在本实施例中,通过获取相机的接口的动作信息集合,根据动作信息集合生成消息集合,并根据预存的消息与操作条件的映射关系,获取消息集合对应的操作条件集合;对相机的复杂功能按照功能模块进行归类,生成功能模块对应的功能集合,并将功能模块对应的功能集合抽象为功能模块对应的状态集合;根据操作条件集合、状态集合以及操作条件集合和状态集合之间的逻辑关系,生成功能模块对应的状态机图;根据功能模块对应的状态机图生成功能模块对应的状态表,能够为相机的每一个功能模块生成一个状态表,功能模块之间相互独立,提高了可扩展性,当增加新功能时,只是状态表的变化,程序代码变化较少,且不需要改变软件框架,有效解决了随着新功能的增加,程序代码越来越多,程序代码的逻辑越来越复杂,甚至需要变动软件框架,导致调试和维护比较困难的问题。
实施例三
参照图3,图3示出了本发明实施例三提供的操作事件处理的系统300的结构示意图。本实施例中的操作事件处理的系统300应用于相机,包括:目标消息生成模块310、目标消息存储模块320、目标操作条件获取模块330和操作执行模块340。
目标消息生成模块310,用于获取相机的接口的目标动作信息,根据目标动作信息生成目标消息,目标消息包括功能模块的标记。
目标消息存储模块320,用于根据功能模块的标记将目标消息保存到功能模块的消息队列的尾部。
目标操作条件获取模块330,用于若在目标消息之前的排队消息数量为零,则按照预设消息取出机制取出目标消息,根据预存的消息与操作条件的映射关系,获取目标消息对应的目标操作条件,并将目标操作条件保存在功能模块的操作条件队列的尾部。
其中,预设消息取出机制包括消息同步取出机制或消息异步取出机制。
操作执行模块340,用于若在目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出目标操作条件,根据目标操作条件查询功能模块对应的状态表得到状态机决策,根据状态机决策执行目标操作条件对应的逻辑操作和物理操作。
其中,预设操作条件取出机制包括操作条件同步取出机制或操作条件异步取出机制。状态表包括当前状态、操作条件、状态机决策和新状态。
进一步地,操作执行模块340还包括:当前状态获取单元、状态机决策获取单元、操作执行单元和状态变迁单元。
当前状态获取单元,用于根据目标操作条件查询状态表,获取功能模块对应的状态机的当前状态;
状态机决策获取单元,用于根据目标操作条件和当前状态查询状态表,获取状态机决策;
操作执行单元,用于根据状态机决策执行目标操作条件对应的逻辑操作和物理操作;
状态变迁单元,用于当逻辑操作和物理操作完成后,向状态机补发目标操作条件,根据补发的目标操作条件驱动状态机从当前状态变迁到新状态。
在本实施例中,通过目标消息生成模块获取相机的接口的目标动作信息,根据目标动作信息生成目标消息,目标消息包括功能模块的标记;通过目标消息存储模块根据功能模块的标记将目标消息保存到功能模块的消息队列的尾部;通过目标操作条件获取模块,若在目标消息之前的排队消息数量为零,则按照预设消息取出机制取出目标消息,根据预存的消息与操作条件的映射关系,获取目标消息对应的目标操作条件,并将目标操作条件保存在功能模块的操作条件队列的尾部;通过操作执行模块,若在目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出目标操作条件,根据目标操作条件查询功能模块对应的状态表得到状态机决策,根据状态机决策执行目标操作条件对应的逻辑操作和物理操作,从而可以有效解决相机复杂功能的实现比较困难,且无法达到高效性和高稳定性的问题,能够使相机的逻辑操作变得有序、清晰,执行效率高,且具有高稳定性。
实施例四
参照图4,图4示出了本发明实施例四提供的操作事件处理的系统300的结构示意图。在上述实施例的基础上,本实施例中的操作事件处理的系统300还包括:操作条件集合生成模块350、状态集合生成模块360、状态机图生成模块370和状态表生成模块380。
操作条件集合生成模块350,用于获取相机的接口的动作信息集合,根据动作信息集合生成消息集合,并根据预存的消息与操作条件的映射关系,获取消息集合对应的操作条件集合。
状态集合生成模块360,用于对相机的复杂功能按照功能模块进行归类,生成功能模块对应的功能集合,并将功能模块对应的功能集合抽象为功能模块对应的状态集合;
状态机图生成模块370,用于根据操作条件集合、状态集合以及操作条件集合和状态集合之间的逻辑关系,生成功能模块对应的状态机图;
状态表生成模块380,用于根据功能模块对应的状态机图生成功能模块对应的状态表。
在本实施例中,通过操作条件集合生成模块获取相机的接口的动作信息集合,根据动作信息集合生成消息集合,并根据预存的消息与操作条件的映射关系,获取消息集合对应的操作条件集合;通过状态集合生成模块对相机的复杂功能按照功能模块进行归类,生成功能模块对应的功能集合,并将功能模块对应的功能集合抽象为功能模块对应的状态集合;通过状态机图生成模块根据操作条件集合、状态集合以及操作条件集合和状态集合之间的逻辑关系,生成功能模块对应的状态机图;通过状态表生成模块根据功能模块对应的状态机图生成功能模块对应的状态表,能够为相机的每一个功能模块生成一个状态表,功能模块之间相互独立,提高了可扩展性,当增加新功能时,只是状态表的变化,程序代码变化较少,且不需要改变软件框架,有效解决了随着新功能的增加,程序代码越来越多,程序代码的逻辑越来越复杂,甚至需要变动软件框架,导致调试和维护比较困难的问题。
实施例五
参照图5,本发明实施例还提供了一种相机5,包括存储器51、处理器50以及存储在存储器中并可在处理器上运行的计算机程序52,所述处理器50执行所述计算机程序52时实现如上述实施例中所述的各方法实施例中的步骤,例如图1所示的步骤S101至步骤S104。或者,所述处理器50执行所述计算机程序52时实现如上述实施例中所述的各系统实施例中的各模块的功能,例如图3所示的模块310至340的功能。
所述相机可包括,但不仅限于,处理器50、存储器51。例如所述相机还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述相机的内部存储单元,例如相机的硬盘或内存。所述存储器51也可以是所述相机的外部存储设备,例如所述相机上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括相机的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序52以及所述相机所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
实施例六
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述实施例中所述的各方法实施例中的步骤,例如图1所示的步骤S101至步骤S104。或者,所述计算机程序被处理器执行时实现如上述实施例中所述的各系统实施例中的各模块的功能,例如图3所示的模块310至340的功能。
所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例系统中的模块或单元可以根据实际需要进行合并、划分和删减。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种操作事件处理的方法,其特征在于,应用于相机,所述方法包括:
获取所述相机的接口的目标动作信息,根据所述目标动作信息生成目标消息,所述目标消息包括功能模块的标记;
根据所述功能模块的标记将所述目标消息保存到所述功能模块的消息队列的尾部;
若在所述目标消息之前的排队消息数量为零,则按照预设消息取出机制取出所述目标消息,根据预存的消息与操作条件的映射关系,获取所述目标消息对应的目标操作条件,并将所述目标操作条件保存在所述功能模块的操作条件队列的尾部;
若在所述目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出所述目标操作条件,根据所述目标操作条件查询所述功能模块对应的状态表得到状态机决策,根据所述状态机决策执行所述目标操作条件对应的逻辑操作和物理操作;其中,每一个功能模块对应一个状态表,所述功能模块为所述每一个功能模块中的任意一个。
2.根据权利要求1所述的操作事件处理的方法,其特征在于,所述根据所述目标操作条件查询所述功能模块对应的状态表得到状态机决策,根据所述状态机决策执行所述目标操作条件对应的逻辑操作和物理操作,包括:
根据所述目标操作条件查询所述状态表,获取所述功能模块对应的状态机的当前状态;
根据所述目标操作条件和所述当前状态查询所述状态表,获取状态机决策;
根据所述状态机决策执行所述目标操作条件对应的逻辑操作和物理操作;
当所述逻辑操作和物理操作完成后,向所述状态机补发所述目标操作条件,根据补发的所述目标操作条件驱动所述状态机从所述当前状态变迁到新状态。
3.根据权利要求1所述的操作事件处理的方法,其特征在于,在所述获取所述相机的接口的目标动作信息之前,还包括:
获取所述相机的接口的动作信息集合,根据所述动作信息集合生成消息集合,并根据所述预存的消息与操作条件的映射关系,获取所述消息集合对应的操作条件集合;
对所述相机的复杂功能按照功能模块进行归类,生成所述功能模块对应的功能集合,并将所述功能模块对应的功能集合抽象为所述功能模块对应的状态集合;
根据所述操作条件集合、所述状态集合以及所述操作条件集合和所述状态集合之间的逻辑关系,生成所述功能模块对应的状态机图;
根据所述功能模块对应的状态机图生成所述功能模块对应的状态表。
4.根据权利要求1所述的操作事件处理的方法,其特征在于,所述预设消息取出机制包括消息同步取出机制或消息异步取出机制;所述预设操作条件取出机制包括操作条件同步取出机制或操作条件异步取出机制。
5.根据权利要求1至4任一项所述的操作事件处理的方法,其特征在于,所述状态表包括当前状态、操作条件、状态机决策和新状态。
6.一种操作事件处理的系统,其特征在于,应用于相机,所述系统包括:
目标消息生成模块,用于获取所述相机的接口的目标动作信息,根据所述目标动作信息生成目标消息,所述目标消息包括功能模块的标记;
目标消息存储模块,用于根据所述功能模块的标记将所述目标消息保存到所述功能模块的消息队列的尾部;
目标操作条件获取模块,用于若在所述目标消息之前的排队消息数量为零,则按照预设消息取出机制取出所述目标消息,根据预存的消息与操作条件的映射关系,获取所述目标消息对应的目标操作条件,并将所述目标操作条件保存在所述功能模块的操作条件队列的尾部;
操作执行模块,用于若在所述目标操作条件之前的排队操作条件数量为零,则按照预设操作条件取出机制取出所述目标操作条件,根据所述目标操作条件查询所述功能模块对应的状态表得到状态机决策,根据所述状态机决策执行所述目标操作条件对应的逻辑操作和物理操作;其中,每一个功能模块对应一个状态表,所述功能模块为所述每一个功能模块中的任意一个。
7.根据权利要求6所述的操作事件处理的系统,其特征在于,所述操作执行模块还包括:
当前状态获取单元,用于根据所述目标操作条件查询所述状态表,获取所述功能模块对应的状态机的当前状态;
状态机决策获取单元,用于根据所述目标操作条件和所述当前状态查询所述状态表,获取状态机决策;
操作执行单元,用于根据所述状态机决策执行所述目标操作条件对应的逻辑操作和物理操作;
状态变迁单元,用于当所述逻辑操作和物理操作完成后,向所述状态机补发所述目标操作条件,根据补发的所述目标操作条件驱动所述状态机从所述当前状态变迁到新状态。
8.根据权利要求6所述的操作事件处理的系统,其特征在于,还包括:
操作条件集合生成模块,用于获取所述相机的接口的动作信息集合,根据所述动作信息集合生成消息集合,并根据所述预存的消息与操作条件的映射关系,获取所述消息集合对应的操作条件集合;
状态集合生成模块,用于对所述相机的复杂功能按照功能模块进行归类,生成所述功能模块对应的功能集合,并将所述功能模块对应的功能集合抽象为所述功能模块对应的状态集合;
状态机图生成模块,用于根据所述操作条件集合、所述状态集合以及所述操作条件集合和所述状态集合之间的逻辑关系,生成所述功能模块对应的状态机图;
状态表生成模块,用于根据所述功能模块对应的状态机图生成所述功能模块对应的状态表。
9.一种相机,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述操作事件处理的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述操作事件处理的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711274945.2A CN108089932B (zh) | 2017-12-06 | 2017-12-06 | 一种操作事件处理的方法、系统及相机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711274945.2A CN108089932B (zh) | 2017-12-06 | 2017-12-06 | 一种操作事件处理的方法、系统及相机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108089932A CN108089932A (zh) | 2018-05-29 |
CN108089932B true CN108089932B (zh) | 2020-12-18 |
Family
ID=62174407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711274945.2A Active CN108089932B (zh) | 2017-12-06 | 2017-12-06 | 一种操作事件处理的方法、系统及相机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108089932B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1635781A (zh) * | 2003-12-29 | 2005-07-06 | 北京中视联数字系统有限公司 | 一种数字电视接收机中间件消息统一处理方法 |
CN104063271A (zh) * | 2013-03-20 | 2014-09-24 | 国际商业机器公司 | 具有事务能力的排队 |
CN106790696A (zh) * | 2017-02-21 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种消息传输方法和装置 |
CN107015853A (zh) * | 2016-10-10 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 多阶段任务的实现方法和装置 |
CN107357592A (zh) * | 2017-07-27 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种基于状态机机制的事件处理方法及装置 |
-
2017
- 2017-12-06 CN CN201711274945.2A patent/CN108089932B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1635781A (zh) * | 2003-12-29 | 2005-07-06 | 北京中视联数字系统有限公司 | 一种数字电视接收机中间件消息统一处理方法 |
CN104063271A (zh) * | 2013-03-20 | 2014-09-24 | 国际商业机器公司 | 具有事务能力的排队 |
CN107015853A (zh) * | 2016-10-10 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 多阶段任务的实现方法和装置 |
CN106790696A (zh) * | 2017-02-21 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种消息传输方法和装置 |
CN107357592A (zh) * | 2017-07-27 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种基于状态机机制的事件处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108089932A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI697227B (zh) | 資料處理的方法及裝置 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
CN111767143B (zh) | 交易数据处理方法、装置、设备及系统 | |
US10194389B2 (en) | Data processing device, data processing method, and program for sampling rate control of sensors | |
CN109918141A (zh) | 线程执行方法、装置、终端及存储介质 | |
CN107589990B (zh) | 一种基于线程池的数据通讯的方法及系统 | |
CN112487034A (zh) | 双队列异步图像处理方法及装置 | |
CN110825440A (zh) | 指令执行方法和装置 | |
US9753769B2 (en) | Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof | |
US10402370B2 (en) | Information processing method and electronic apparatus | |
CN108089932B (zh) | 一种操作事件处理的方法、系统及相机 | |
CN113190427A (zh) | 卡顿监控方法、装置、电子设备及存储介质 | |
CN106844036B (zh) | 物理设备的访问方法及装置 | |
CN115098254A (zh) | 子任务序列的触发执行方法、系统及电子设备 | |
CN114897532A (zh) | 操作日志处理方法、系统、装置、设备和存储介质 | |
CN116360930A (zh) | 一种任务处理的方法及装置 | |
CN114518917A (zh) | 算法模块调度方法、算法模块调度装置以及可读存储介质 | |
CN111901561B (zh) | 监控系统中的视频数据处理方法、装置、系统及存储介质 | |
CN110163155B (zh) | 人脸数据的处理方法、装置、电子设备及可读存储介质 | |
CN110874277B (zh) | 一种电子红包处理方法、电子红包处理装置及移动终端 | |
CN114546926A (zh) | 核心簇同步、控制方法、数据处理方法、核心、设备、介质 | |
CN111131707A (zh) | 一种基于树莓派的拍照方法及装置 | |
CN110955461A (zh) | 计算任务的处理方法、装置、系统、服务器和存储介质 | |
CN109614205A (zh) | 一种业务处理方法、装置、设备及系统 | |
CN115953282B (zh) | 一种视频任务的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |