一种对系统功能的管控方法和装置与流程

文档序号:12198800阅读:336来源:国知局
一种对系统功能的管控方法和装置与流程

本发明涉及计算机应用技术领域,特别涉及一种对系统功能的管控方法和装置。



背景技术:

通常操作系统会面临企业用户的一些特殊的定制需求,这些定制需求大多体现为对系统功能的管控,比如在某种场景下需要关闭时间修改的功能等。针对企业用户对系统功能的管控需求,目前主要存在以下两种实现方式:

第一种方式:针对各企业用户分别提供不同的OS(操作系统)定制包,然而这种方式随着企业数量的增加,开发维护的难度成指数级增长。

第二种方式:在OS中集成一系列功能开关的配置文件,针对各企业分别配置一套管控的开关文件,然而这种开关文件需要在发布OS时预先订制,开发维护依旧比较复杂,灵活性差。



技术实现要素:

有鉴于此,本发明提供了一种对系统功能的管控方法和装置,以便于降低开发维护的难度,提高灵活性。

具体技术方案如下:

本发明提供了一种对系统功能的管控方法,该方法包括:

操作系统对用户级应用公开系统功能的管控接口;

根据用户级应用在运行时对管控接口的调用,设置被调用管控接口对应的系统功能。

根据本发明一优选实施方式,所述操作系统对用户级应用公开系统功能的管控接口包括:

将针对所述操作系统中的管控服务生成的软件开发工具包SDK提供给用户级应用,所述SDK中公开了管控接口,所述管控服务维护有管控接口与系统功能的绑定关系。

根据本发明一优选实施方式,所述根据用户级应用在运行时对管控接口的调用,设置被调用管控接口对应的系统功能包括:

根据用户级应用在运行时对管控接口的调用,设置被调用管控接口对应的系统功能的属性值;

依据所述系统功能的属性值变化,设置对应的系统功能。

根据本发明一优选实施方式,所述根据用户级应用在运行时对管控接口的调用,设置被调用管控接口对应的系统功能包括:

根据用户级应用在运行时对管控接口的调用,驱动对应的系统功能模块依据所述调用设置系统功能。

根据本发明一优选实施方式,在所述设置被调用管控接口对应的系统功能之前,还包括:

对所述用户级应用在运行时对管控接口的调用进行安全检查,如果通过安全检查,则继续执行所述设置被调用管控接口对应的系统功能;否则,拒绝设置被调用管控接口对应的系统功能。

根据本发明一优选实施方式,对所述用户级应用在运行时对管控接口的调用进行安全检查包括:

判断所述用户级应用在对管控接口进行调用时携带的授权码是否正确,如果是,则通过安全检查,否则未通过安全检查;或者,

判断所述用户级应用在对管控接口进行调用时携带的应用签名与预置于操作系统的应用签名是否一致,如果是,则通过安全检查,否则未通过安全检查。

本发明还提供了一种对系统功能的管控装置,该装置包括:

管控服务模块,用于根据用户级应用在运行时对系统功能的管控接口的调用,设置被调用管控接口对应的系统功能;其中所述系统功能的管控接口预先对用户级应用公开。

根据本发明一优选实施方式,所述系统功能的管控接口包含在提供给用户级应用的SDK中;

所述管控服务模块,还用于维护管控接口与系统功能的绑定关系。

根据本发明一优选实施方式,该装置还包括:管控属性模块和系统功能模块;

所述管控服务模块,还用于根据用户级应用在运行时对管控接口的调用,驱动所述管控属性模块;

所述管控属性模块,用于在所述管控服务模块的驱动下,设置被调用管控接口对应的系统功能的属性值;

所述系统功能模块,用于依据所述系统功能的属性值的变化,设置对应的系统功能。

根据本发明一优选实施方式,所述管控服务模块,具体用于根据用户级应用在运行时对管控接口的调用,驱动对应的系统功能模块依据所述调用设置系统功能。

根据本发明一优选实施方式,该装置还包括:

安全检查模块,用于对所述用户级应用在运行时对管控接口的调用进行安全检查,如果通过安全检查,则允许所述管控服务模块执行所述设置被调用管控接口对应的系统功能的操作;否则,禁止所述管控服务模块执行所述设置被调用管控接口对应的系统功能的操作。

根据本发明一优选实施方式,所述安全检查模块在进行所述安全检查时,具体执行:

判断所述用户级应用在对管控接口进行调用时携带的授权码是否正确,如果是,则确定通过安全检查,否则确定未通过安全检查;或者,

判断所述用户级应用在对管控接口进行调用时携带的应用签名与预置于操作系统的应用签名是否一致,如果是,则确定通过安全检查,否则确定未通过安全检查。

由以上技术方案可以看出,通过本发明提供的方式,操作系统的开发者 仅需要预先收集用户对系统功能的管控需求,向用户级应用公开管控接口,用户级应用通过对管控接口的调用即可设置对应的系统功能,这样仅需要维护统一的基线版本即可,无需针对具体用户进行定制,大大降低了开发维护的难度,提高了灵活性。

【附图说明】

图1为本发明实施例提供的一种方法流程图;

图2为本发明实施例提供的系统架构图;

图3为本发明实施例提供的对系统功能的管控装置示意图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

本发明的核心思想在于,操作系统对用户级应用公开系统功能的管控接口,根据用户级应用在运行时对管控接口的调用,设置被调用管控接口对应的系统功能。下面结合实施例对本发明提供的方法进行详细描述。

图1为本发明实施例提供的一种方法流程图,如图1中所示,该方法可以包括以下步骤:

在101中,针对操作系统中的管控服务生成SDK(Software Development Kit,软件开发工具包),该SDK中公开了管控接口,将该SDK提供给用户级应用。

所谓管控服务指的是对操作系统级别的系统功能进行管理和控制的服务。例如,对蓝牙、wifi、声音、GPS定位、屏幕亮度显示、横竖屏切换、字体等的状态控制。再例如,是否允许静默安装卸载、远程关机等功能的管理。

管控接口指的是对外提供的调用对应管控服务的方法,管控接口与管控服务相对应。

SDK是指软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,广义上指辅助开发某一类软件的相关文档、范例和工具的集合。在本发明实施例中生成SDK时,可以将公开给用户的管控接口的功能声明、调用方式等包含在SDK的libs目录中。

在本发明实施例中所涉及的用户通常是企业级用户,也可以是其他对系统功能具有管控需求的用户。操作系统的开发者可以预先收集各企业级用户的管控需求(即企业级用户所需要的具体管控服务),各管控需求分别对应各系统功能的设置,将对应的管控接口提供给用户级应用,这样只要维护好一个基线版本就可以对接任意用户。

上述操作系统中的管控服务主要负责对系统功能进行管理,在管控服务中维护有管控接口与系统功能的绑定关系。该管控服务可以是一个系统级的服务,以Android操作系统为例,在操作系统内部可以通过AIDL(Android Interface Definition Language,安卓接口定义语言)调用管控服务的接口。对外采用提供SDK的方式公开管控接口,即针对管控服务生成SDK,将SDK提供给用户级应用。对应的组成架构可以如图2中所示。

在通常情况下,用户级应用与系统级模块即管控服务进行交互的前提是,两者之间建立连接然后进行调用,在本发明中为了保证操作系统的安全,以及降低企业级用户理解和使用管控接口的难度,可以仅在SDK中公开管控接口,隐藏起对管控服务的连接和调用,当用户级应用调用管控接口时,由操作系统底层(即设置模块和具体的系统功能模块)实现用户级应用与管控服务的连接以及对管控服务的调用,具体将在下述步骤中描述。

在102中,如果用户级应用在运行时调用管控接口,则对该调用进行安全检查,如果通过安全检查,则执行103;否则,执行105。

在本发明实施例中,为了保证系统功能的安全性,需要对管控接口的调用进行安全检查,只有通过安全检查的调用才能够实施。其中进行的安全性检查可以采用但不限于以下两种方式:

第一种方式:操作系统提供给各用户授权码,用户级应用在对管控接口 进行调用时需要携带该授权码。因此本步骤可以判断用户级应用在对管控接口进行调用时携带的授权码是否正确,如果是,则通过安全检查;如果携带的授权码不正确或者未携带授权码,则未通过安全检查。

第二种方式:用户级应用预先将应用签名提供给操作系统做预置,用户级应用在对管控接口进行调用时需要携带应用签名。因此本步骤可以判断用户级应用在对管控接口进行调用时携带的用户签名与预置于操作系统的应用签名是否一致,如果是,则通过安全检查;如果不一致或者未携带应用签名,则未通过安全检查。

在103中,根据用户级应用在运行时对管控接口的调用,设置被调用管控接口对应的系统功能的属性值。

在本发明实施例中,可以通过设置系统功能的属性值来对系统功能进行控制,管控接口与系统功能的属性值一一对应。当某管控接口被调用时,除了携带上述的授权码或应用签名等安全验证参数之外,还可以携带被调用管控接口的类型信息。在本步骤中,可以依据该被调用管控接口的类型信息,设置对应系统功能的属性值。例如,可以预先定义一个系统功能的属性为“ro.yunos.hide_wifi”,该属性对应的系统功能是“隐藏wifi设置”。当企业用户希望通过SDK来隐藏设备操作系统中的wifi设置时,该企业用户的应用在运行过程中会调用该系统功能的管控接口。当操作系统获取到该管控接口的调用信息时,将属性“ro.yunos.hide_wifi”的属性值设置为true(假设默认设置为false)。

由于各系统功能的属性值与各系统功能的设置相对应(在步骤104中涉及),因此,本步骤中,对对应系统功能的属性值进行设置实际上就是依据被调用管控接口的类型信息,实现对管控服务任务的分发过程。

在104中,根据系统功能的属性值变化,设置对应的系统功能,结束当前管控流程。

接续上例,操作系统的相关功能模块,例如设置模块(Settings)能够根据上述的“ro.yunos.hide_wifi”的属性值的变化,设置对应的系统功能,即 隐藏设备操作系统中的wifi设置的入口。由于对管控接口的调用目的是对系统功能进行管控,因此,管控接口被调用时,也可以携带系统功能的管控参数,例如路径、管控操作类型等,相关功能单元可以解析出该管控参数,然后依据该管控参数,设置对应的系统功能。

在105中,拒绝本次对管控接口的调用。

需要说明的是,对于一些简单的系统功能的管控,例如打开wifi,则也可以不采用上述步骤103和104所示的方式通过对属性值的设置来实现,而直接由管控服务驱动对应的功能模块实现,例如管控服务驱动Settings打开设备wifi。

举一个具体实例,通过对企业级用户的管控需求进行收集,假设收集到的管控需求包括:隐藏wifi设置、允许静默安装、允许远程关机等管控服务。那么可以在提供给企业级用户的SDK的libs目录中包含上述管控服务的管控接口进行功能声明和调用方式。

对于企业级用户而言,当其开发的用户级应用需求某管控服务时,例如某用户级应用需要隐藏wifi设置,那么用户级应用在运行过程中会按照SDK中包含的隐藏wifi设置的接口调用方式,对隐藏wifi设置的管控接口进行调用。其他处理用户级应用无需关心,只要调用对应管控接口即可。

对于操作系统而言,当监听到隐藏wifi设置的管控接口被调用时,将隐藏wifi设置这一系统功能的属性“ro.yunos.hide_wifi”的属性值设置为true。设置模块根据上述属性值,设置对应的系统功能,即隐藏操作系统中wifi设置的入口。

图3为本发明实施例提供的对系统功能的管控装置示意图,该管控装置设置于操作系统中,如图3所示,该装置可以包括管控服务模块01,还可以包括管控属性模块02、系统功能模块03和安全检查模块04。各组成单元的主要功能如下:

管控服务模块01负责根据用户级应用在运行时对管控接口的调用,设置调用管控接口对应的系统功能;其中系统功能的管控接口预先对用户级应用公开。

上述系统功能的管控接口可以包含在针对管控服务模块01生成的SDK中,将该SDK提供给用户级应用。管控服务模块01维护管控接口与系统功能的绑定关系。

装置中的管控属性模块02和系统功能模块03可以在管控服务模块01的驱动下实现对系统功能的设置。可以采用但不限于以下两种方式:

第一种方式:通过设置系统功能的属性值来对系统功能进行设置。

具体地,管控服务模块01根据用户级应用在运行时对管控接口的调用,驱动管控属性模块02。管控属性模块02在管控服务模块的驱动下,设置被调用管控接口对应的系统功能的属性值。系统功能模块03再依据系统功能的属性值的变化,设置对应的系统功能。

第二种方式:管控服务模块01根据用户级应用在运行时对管控接口的调用,驱动对应的系统功能模块依据调用设置系统功能。这种方式适用于一些简单的系统功能的管控。

为了保证对管控接口调用的安全性,安全检查模块04可以对用户级应用在运行时对管控接口的调用进行安全检查,如果通过安全检查,则允许管控服务模块01执行设置被调用管控接口对应的系统功能的操作;否则,禁止管控服务模块01执行设置被调用管控接口对应的系统功能的操作。

具体地,安全检查模块04在进行安全检查时,可以采用以下两种方式:

第一种方式:操作系统预先提供给各用户授权码,安全检查模块04在进行安全检查时,判断用户级应用在对管控接口进行调用时携带的授权码是否正确,如果是,则确定通过安全检查,否则确定未通过安全检查。

第二种方式:用户级应用预先将应用签名提供给操作系统做预置,安全检查模块04在进行安全检查时,判断用户级应用在对管控接口进行调用时携带的应用签名与预置于操作系统的应用签名是否一致,如果是,则确定通过安全检查,否则确定未通过安全检查。

需要说明的是,本发明实施例中所涉及的操作系统可以适用于诸如Android、云OS等各种操作系统。本发明实施例中所涉及的对系统功能的管 控可以包括但不限于:显示/隐藏某系统功能、启动/关闭某系统功能等。本发明实施例中所涉及的系统功能可以是wifi、蓝牙、移动网络等连接方式,声音模式,通知模式,诸如电源等设备管理,短信、拨打电话等通讯方式,等等。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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