设备管理方法和系统与流程

文档序号:12493296阅读:273来源:国知局
设备管理方法和系统与流程

本申请涉及电数字数据处理领域,尤其涉及设备管理方法和系统。



背景技术:

随着智能设备特别是智能手机的普及,智能手机上的应用越来越多,使用的场景也越来越复杂,集成的各种设备也越来越多,如何使应用程序合理地使用系统提供的资源及响应特殊的事件,是操作系统需要考虑解决的问题。

另一方面,智能设备特别是智能手机,要求设备越来越智能,要求能够在一定的场景下,自动完成一些所期望的功能,而不需要人工手动操作。这些需求都要求操作系统能够提供一种管理机制来统一管理资源,同时还能自动处理事件,以满足智能化需求。同时又要求这种服务不能太复杂,应用程序可以方便使用。

目前常用的做法是,例如安卓系统,其针对不同类型的资源及事件定义不用类型的服务管理者,来分别处理相应的资源管理及事件。应用程序需要注册不同的管理者来得到相应资源及事件所对应的消息,然后按照自己的逻辑来处理,以期达到期望的效果。

然而,对于应用程序来说,需要了解系统架构,开发难度大。对于应用程序开发者来说,应用本身应该只关注自身的业务逻辑,应用间逻辑应该交给操作系统来处理。对于系统而言,一个规则的改变,可能需要修改数个服务端逻辑,没有一个统一的对外接口,后期的维护和扩展都十分麻烦。



技术实现要素:

本申请的目标在于提供一种设备管理方法和系统,其实现一个统一的设备管理接口,提供资源管理、冲突管理和/或事件管理,方便应用程序使用。

本申请的目标由一种设备管理方法实现,该方法包括:

提供管理系统核心,其用于定义统一的插件架构及负责逻辑运算;

提供资源管理插件,其用于处理应用程序的资源申请及反馈;

提供用于存储数据的数据库;

提供事件解析器,其与所述管理系统核心交互作用,用于将资源管理插件传来的数据写入数据库中,和/或,监视数据库中数据的变化;

提供解释器,其用于解释及处理所述管理系统核心包含的策略规则。

在本说明书中,术语“插件”是一种遵循一定规范的应用程序接口编写出来的程序。

根据本申请方法的一方面,所述方法还包括:

提供至少一个系统信息收集插件,其用于对应地收集系统的至少一个信息;

提供信号管理插件,其用于以信号的方式通知应用程序需要处理的操作;

其中所述事件解析器还用于将所述至少一个系统信息收集插件传来的数据写入数据库中,和/或及时通知所述信号管理插件发出信号通知应用程序做出响应。

根据本申请方法的一方面,所述至少一个系统信息收集插件包括下述之一或多个:按键管理插件、外设管理插件、电源管理插件、音频管理插件、传感器管理插件、振动管理插件和权限管理插件。

根据本申请方法的一方面,所述解释器为prolog类解释器。Prolog是一种逻辑编程语言,它建立在逻辑学的理论基础之上,最初被运用于自然语言等研究领域。现已广泛应用在人工智能的研究中,可以用来建造专家系统、自然语言理解、智能知识库等。它更像一种描述型的语言,用特定的方法描述一个问题,然后由程序自动找到这个问题的答案。

根据本申请方法的一方面,所述方法还包括:

所述资源管理插件响应于接收到应用程序发出的资源申请请求,通知所述事件解析器;

所述事件解析器针对所述资源申请请求在所述数据库中建立数据单元,及向所述管理系统核心发出资源申请请求;

所述管理系统核心通过所述事件解析器从所述数据库中读出当前所有的资源申请请求数据;

所述管理系统核心调用所述解释器根据所述策略规则进行运算,将系统的某个资源预分配给某个用户;

所述管理系统核心遍历处理所有的资源申请请求,最后将资源分配的结果写入所述数据库并通知所述事件解析器;

所述事件解析器检查所述数据库中的数据并根据数据变化将资源分配结果发回给应用程序。

根据本申请方法的一方面,所述方法还包括:

在所述将系统的某个资源预分配给某个用户之后,查询所述管理系统核心内的定制数据并据其确定所述预分配是否合理;

响应于所述预分配不合理,对所述预分配进行调整。

根据本申请方法的一方面,所述方法还包括:

所述至少一系统信息收集插件响应于接收到消息,设定需要修改的数据并通知所述事件解析器;

所述事件解析器将所述修改的数据写入所述数据库中并向所述管理系统核心发出请求;

所述管理系统核心通过所述事件解析器从所述数据库中读出改变的数据项,调用所述解释器根据所述策略规则进行运算得到需要执行的策略结果;

所述管理系统核心将处理后的数据和需要执行的策略结果通过所述事件解析器写入所述数据库中并通知所述事件解析器;

所述事件解析器检查所述数据库中的数据并根据数据变化调用所述信号管理插件,发出广播信号。

本申请的目标还由一种设备管理系统实现,该系统包括:

管理系统核心,用于定义统一的插件架构及负责逻辑运算;

资源管理插件,用于处理应用程序的资源申请及反馈;

用于存储数据的数据库;

事件解析器,其与所述管理系统核心交互作用,用于将资源管理插件传来的数据写入数据库中,和/或,监视数据库中数据的变化;

解释器,用于解释及处理所述管理系统核心包含的策略规则。

根据本申请系统的一方面,所述系统还包括:

至少一个系统信息收集插件,用于对应地收集系统的至少一个信息;

信号管理插件,用于以信号的方式通知应用程序需要处理的操作;

其中所述事件解析器还用于将所述至少一个系统信息收集插件传来的数据写入数据库中,和/或及时通知所述信号管理插件发出信号通知应用程序做出响应。

本发明通过实现一个统一的设备管理接口,提供资源管理、冲突管理和/或事件管理,方便应用程序使用,丰富操作系统的行为能力,方便扩展维护,降低了程序开发的复杂度,能够实时响应,方便二次再开发。另外,通过集成prolog类解释器,智能设备可以按照定义好的规则,自动处理各种冲突和事件,使得智能设备更加人性化。

附图说明

本发明将在下面参考附图并结合优选实施例进行更完全地说明。

图1为根据本发明方法的一实施例的流程图。

图2为根据本发明方法的另一实施例的流程图。

图3为本发明方法用于资源管理时的流程图。

图4为本发明方法用于耳机事件管理时的流程图。

图5为根据本发明系统的一实施例的结构示意图。

为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。

具体实施方式

通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。

图1示出了根据本发明一实施例的方法的流程图,该方法包括,在步骤S110,提供管理系统核心,其负责定义统一的插件架构,这样具体的事务和服务就可以用不同的插件来实现。管理系统核心还包括策略规则,例如使用prolog逻辑编程语言定义的规则,形式上不同于一般的计算机程序,更类似于逻辑描述,为系统提供策略规则。管理系统核心还可包括配置文件,提供给用户可配置的文件,用于定义用户一些特殊的需求和定义,方便用户定制化。在步骤S120,提供资源管理插件,其负责和应用程序打交道,处理应用程序的资源申请及反馈。在步骤S130,提供数据库,用于存储系统当前的状态数据、决策数据及其它需要存储的数据。由于存储的数据结构比较简单,因而可以采用轻量级的键值数据库来实现,以实现快速访问和存储。在步骤S140,提供事件解析器,其与所述管理系统核心交互作用,用于将资源管理插件传来的数据写入数据库中,和/或,监视数据库中数据的变化。在步骤S150,提供解释器,在此采用Prolog类解释器,用于解释及处理管理系统核心包含的策略规则。具体地,在此可封装阿姆斯特丹大学的SWI-Prolog开发工具,此工具具有可靠的稳定性和强大的功能,支持了规则的解析及处理。在其它实施例中,也可使用其它Prolog解释器,如BProlog、Ciao、ECLiPSe、GNU Prolog、Jekejeke Prolog、Poplog Prolog、tuProlog、YAP-Prolog等。同样,也可使用其它与Prolog类似的语言,如Clojure、Visual Prolog、Mercury、Oz、Erlang、Strand、KL0、KL1、Datalog、CHR、XSB等。

系统启动的时候,管理系统核心首先启动,加载所有的插件、策略规则及用户配置文件,初始化数据库,接收系统状态信息,控制事件解析器,将需要的数据写入数据库,然后等待用户请求和系统事件发生。当需要做出决策的时候,调用prolog解释器,做出决策判断。

所有对外交互的接口都采用插件的方式来实现,各模块可以独立存在,方便维护和扩展。插件基本上可分为两类。一类是负责搜集系统信息,包括电源状况、外设连接情况、音频服务使用情况等,他们接受系统信息,并传递给事件解析器。另一类负责和应用程序打交道,包括处理应用程序的资源申请及反馈,及以信号的方式通知应用程序需要处理的操作等。未来其它的需求也可以通过增加插件的方式来实现,从而提供很强的可扩展性。

本发明通过将逻辑和数据分开管理,插件负责收集系统数据,管理系统核心负责逻辑运算,简化了对外接口,方便策略规则的修改,这使得整个框架非常方便扩展和维护。此外,基于prolog实现的智能策略管理,可以很方便的使系统拥有自主解决问题的能力,提升用户体验。对于应用程序开发者来说,可以更关注自身业务逻辑,给用户带来更精彩的应用。

图2示出了根据本发明另一实施例的方法的流程图,该方法除图1所示的步骤之外,还包括步骤S260,提供至少一个系统信息收集插件,其用于对应地收集系统的至少一个信息。在特定实施例中,所述至少一个系统信息收集插件包括下述之一或多个:按键管理插件、外设管理插件、电源管理插件、音频管理插件、传感器管理插件、振动管理插件和权限管理插件。按键管理插件例如用于管理各种按键事件,包括但不限于实体物理按键以及虚拟按键、按键按下操作、按键抬起操作以及触摸屏触摸操作等操作所产生的事件。外设管理插件例如用于管理各种外设相关的事件,包括但不限于各种耳机、USB设备以及其它需要和智能设备连接的设备相关的事件,如插入事件、拨出事件等。电源管理插件例如用于管理电源相关的事件,包括但不限于关机充电事件、待机充电事件、待机省电事件、低电压省电事件等。音频管理插件例如用于管理声音相关的事件,包括但不限于播放声音事件、暂停声音事件、停止声音事件、回复声音事件等。传感器管理插件例如用于管理传感器相关的事件,这里的传感器是指智能设备上存在的传感器。常见的传感器包括但不限于:光线传感器、压力传感器、加速度传感器等。振动管理插件例如用于管理智能设备有关振动的事件,包括但不限于打开振动、停止振动等。权限管理插件例如用于管理智能设备有关用户权限的事件,包括但不限于用户身份鉴别、应用权限申请、查询、授予等事件。在步骤S270,提供信号管理插件,其用于以信号的方式通知应用程序需要处理的操作。

图3示出了图1所示方法用于资源管理的实施例的流程图。资源管理策略,体现了智能系统对系统资源分配的原则,它不但受资源本身特性的影响,比如有些资源允许被共享使用,有些资源只能被独占使用,同时也受事件管理策略的影响,比如当某些事件发生时,资源分配需要相应做出一些调整。比如在智能手机系统中,当系统电量过低这个事件发生时,需要系统进入省电模式,在这个模式下,有些资源会被限制使用,比如屏幕亮度降低等等。在步骤S310,应用程序通过资源管理插件提供的对外接口,发出资源申请请求信号,资源管理插件收到请求后,通知事件解析器。在步骤S320,事件解析器为这个请求,建立数据单元即数据库条目,记录请求者信息、请求的资源种类、编号及其它初始信息,写入数据库。数据准备好后,向管理系统核心发出资源申请请求。在步骤S330,管理系统核心收到请求后,通过事件解析器,基于数据库条目内容从数据库中读出当前所有的申请资源的用户请求数据。准备好数据后,在步骤S340,调用prolog解释器,开始执行策略运算。根据策略规则,将所申请的资源种类转换为数字形态,方便将逻辑运算转换为数学运算。当然,也可以不转换为数字形态,通过逻辑方式进行运算。这里的策略规则包括但不限于,不同的资源对应不同的数字,权限高的对应的数字小,不同的权限有不同的加权系数,后面的申请优先处理等。管理系统核心调用Prolog解释器,根据预先定义的策略规则,进行简单的数学运算如加减乘除,将系统的某个资源预分配给某个用户,这里的用户是指所建立的数据单元。每一个数据单元相对于管理系统来说就是一个用户。这里只是做标记,标记某个用户已占有某个资源。这里的策略规则包括了如何计算,资源是否能够共享,资源是否只能独占等。在步骤S350,查询管理系统核心的配置文件中的数据,判断预分配是否合理,如果不合理,则做出适当的调整。这个调整不能违反策略规则中的定义。配置文件是用于订制一些特殊的需求,用于定制化。管理系统核心中定义的策略规则是通用规则,配置文件中可以定义一些用于具体情形的特殊需求。当预分配不满足这些特殊需求时,就需要按照这些特殊需求做出调整,当然这种调整是不能违反基本规则的,也就是不能违反已定义的策略规则。例如,一般的手机只有一个麦克风,位于手机正面下方位置,在一般的录音过程中,都是使用这个麦克风资源。因此,在分配麦克风资源时,默认将位于手机正面下方位置的麦克风预分配给发出请求的用户。然而,某些特殊的手机有2个麦克风,一个位于手机正面下方位置,另一个在手机的背面上方。手机背面上方的麦克风用于一些特殊场景,比如手机录像、采访等。而这种特殊的定制即特别要求某些应用指定使用背面麦克风的特殊需求是写在配置文件中的。这样,某些指定软件在申请麦克风资源的时候,首先会预分配正面麦克风资源,读取配置文件后,系统知道应该分配背面麦克风。此时,系统会查询背面麦克风是否存在,如果存在,则调整麦克风资源的分配,给发出请求的定制软件分配背面麦克风;如果不存在,则维持原始预分配结果,使用正面麦克风。在步骤S360,管理系统核心遍历处理所有的请求,最后将资源分配的结果包括但不限于允许、拒绝、暂时丢失及丢失等状态数据写入数据库,并通知事件解析器,请求已处理。在步骤S370,事件解析器检查数据库中的数据,根据数据变化,将允许、拒绝及丢失等状态发回给应用程序。

图4为本发明方法用于耳机事件管理的实施例的流程图。事件管理策略,不同于资源管理策略,其含义是智能设备人机交互规则的具体体现。比如智能手机系统,每一个智能手机系统都有自己的人机交互规则,比如什么时候响什么声音,什么声音的优先级高,电话需要打断当前的音乐,开会模式下电话铃声转为震动等等。不同的智能手机,规则大同小异,实质上都是为了良好的用户体验。本发明中提到的事件管理策略,可以认为是交互规则的具体实现。

本发明通过相应的插件可以得到系统当前发生的各种事件,各种事件的管理流程基本类似,在此以耳机插入事件为例说明非资源申请类事件的处理流程。在步骤S410,当耳机插入时,外设管理插件会收到耳机检测到的消息,设定需要修改的数据,然后上报事件解析器。在步骤S420,事件解析器收到请求后,将修改的数据写入数据库中,数据准备好后,向管理系统核心发出请求。在步骤S430,管理系统核心收到请求后,通过事件解析器,从数据库中读出改变的数据项,调用prolog解释器,执行策略运算,确定受影响的领域。在这里,受影响的领域包括:音频通路选择、不同场景下的音量设置、电话响铃等。在步骤S440,管理系统核心遍历受影响的领域,调用Prolog解释器,根据预先定义的策略规则,分别进行策略计算,得到需要执行的策略结果。例如,需要通知硬件设备把当前的音频通路切换到预设的耳机通路上;重新计算耳机模式下各个场景时的默认音量;如果有电话响铃,需要将音频通路设成耳机和外放同时发声等。在步骤S450,管理系统核心将处理后的数据及需要改变的策略结果通过事件解析器写入数据库中,并通知事件解析器,请求已处理。在步骤S460,事件解析器检查数据库中的数据,根据数据变化,调用信号管理插件,发出广播信号,通知相关应用程序执行相关操作。

如上所述,其它事件的处理流程大致相同,应用程序只需要关注并处理本设备管理系统发出的各种信号,不需要关心了解操作系统的框架和实现,这在一定程度上,减轻了应用程序的开发难度。

图5示出了根据本发明系统的一实施例的结构示意图,该系统包括:管理系统核心510,用于定义统一的插件架构及负责逻辑运算;资源管理插件520,用于处理应用程序的资源申请及反馈;至少一个系统信息收集插件530,用于对应地收集系统的至少一个信息,所述至少一个系统信息收集插件包括下述之一或多个:按键管理插件531、外设管理插件532、电源管理插件533、音频管理插件534、传感器管理插件535、振动管理插件536和权限管理插件537;信号管理插件540,用于以信号的方式通知应用程序需要处理的操作;用于存储数据的数据库550;事件解析器560,其与所述管理系统核心交互作用,用于将资源管理插件和至少一个系统信息收集插件传来的数据写入数据库中,监视数据库中数据的变化,和/或,及时通知所述信号管理插件发出信号通知应用程序做出响应;解释器570,用于解释及处理所述管理系统核心包含的策略规则。

本发明的设备管理系统是操作系统提供的一种服务,用于管理资源,处理资源冲突,管理外设,为应用程序提供策略服务等。

本发明设备管理系统可基于C语言开发,这样可很方便地移植到各种智能设备及嵌入式系统上。在实际操作中,本设备管理系统应用于智能手机平台上,经过实测,可以做到毫秒级响应,能够达到实时响应,较好的满足了智能设备对用户体验的要求。

策略规则基于Prolog语言开发,可以很好地模拟用户感受,使智能设备能够像人一样来判断应该做什么,从而极大的提高了用户体验和认知度,使智能设备更智能。

除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。

一些优选实施例已经在前面进行了说明,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1