发明内容
本发明的目的在于实现一种智能手机实时监测优化配置的方法,在智能手机端建立实时监测优化配置机制,监测智能手机上设备状态及用户使用应用特征,发送给云服务器;接收云服务器发来的优化配置规则,在优化触发条件满足时触发优化配置过程,调节应用程序运行状态和设备状态,实现智能手机终端的个性化系统定制和优化。
具体来说,本发明的方法包括下列步骤:
A.在智能手机上,建立设备监测服务,负责监测系统硬件状态,向核心调度服务发送消息传递设备状态,其实现方法为:
A1.设备监测服务向广播服务注册针对蓝牙、WiFi(无线通信设备)、电池设备的接收器,分别是蓝牙广播接收器、WiFi广播接收器、电量广播接收器,这些接收器统称为监测点;
A2.当某个硬件状态改变的时候,监测点接收到对应的广播,获取该设备的状态信息,以消息的方式发送给设备监测服务;
所述的消息内容包括:事件类型,发生事件,消息正文;
A3.设备监测服务接到消息后,获取设备状态和应用状态,分析应用状态信息,向核心调度服务发送设备状态变化消息和应用变化消息,格式化并存储设备状态和应用状态数据;
B.对于没有提供广播机制的GPS(地理定位系统)设备,设立专门的监听机制,具体实现步骤如下:
B1.向系统的位置服务注册位置服务监听器,向GPS管理器注册GPS监听器;
B2.当应用请求位置服务信息时,位置服务监听器得到GPS硬件发来的位置信息,并将位置服务消息发送给核心调度服务;GPS监听器得到GPS的状态信息,并将状态事件以消息方式发送给核心调度服务;
B3.核心调度服务在接收到位置服务监听器和GPS监听器的消息后,向设备监测服务发送GPS消息;
B4.设备监测服务接收到消息后,获取并分析应用状态,格式化并存储GPS设备状态和应用状态数据;
C.创建一个核心调度服务,负责完成各类消息的接收和转发,具体实现步骤是:
C1.所有的设备监测服务都将消息发往该核心调度服务;
C2.核心调度服务根据消息的性质,将消息发给需要的监听器;
C3.设备监测服务和各类监听器既可以是消息的发送者,也可以接收并处理核心调度发来的消息;
C4.当需要增加监测服务或增加新的监听器时,新的监测器也将消息发给核心调度服务,由核心调度服务发送消息给监听器;
D.建立用户行为监测服务,监测用户使用应用的特征,并存储监测数据,具体实施步骤如下:
D1.向广播服务注册监听用户开启屏幕事件、用户关闭屏幕事件;
D2.当用户开启屏幕的时候,开启该服务;在用户行为监测服务启动时,记下服务启动时间t[0],从任务栈读取应用标识列表,初始化每个应用的活跃周期数L为0;
D3.在处理用户开启屏幕事件过程中,检查系统记录的应用栈,获取应用的标识、活跃周期数,具体实施步骤如下:
每隔10秒钟后的t[i]时刻,读取应用列表,对比t[i-1]两次读取的应用标识,更新活跃周期数;
如果t[i-1]时刻存在的应用,在t[i]时刻仍然存在,则该应用的活跃周期数L加1;
如果t[i-1]时刻存在的应用,在t[i]时刻不存在,则该应用的活跃周期数L保持不变,保存该应用的活跃周期数据;
如果t[i-1]时刻不存在的应用,在t[i]时刻存在,则增加该应用的活跃周期数记录,初始化新纪录的活跃周期数L为1;
如果t[i-1]时刻不存在的应用,在t[i]时刻仍不存在,则该应用的活跃周期数L不变;
D4.以应用为单位,按照抓取的时间间隔计算应用的活跃周期,然后按照“起始时间”+“应用”+“活跃周期数”的格式存储;
D5.当用户关闭屏幕的时候,也关闭用户行为监测服务;
E.建立数据通信服务,负责向云服务器发送监测数据,接收优化配置规则,体实现步骤如下:
E1.数据通信服务与云服务器通过套接字建立连接;
E2.将自上次传输之后的监测数据发送给云服务器;并接收云服务器发来的优化配置规则;所述的优化配置规则是上次传输数据分析之后生成的规则;
F.在云端服务器上,建立一个主监听服务,负责监听网络端口,响应智能手机端发来的连接请求,并将优化配置规则发送给客户端,具体实现步骤如下:
F1.主监听服务监听网络端口,接收一个智能手机端发来的客户端请求;
F2.创建一个子服务线程T1,为接入的客户端提供服务,具体实现步骤如下:
F2.1.子服务线程接收客户端数据并保存;
F2.2.子服务线程创建数据分析作业对象,把该对象加入到数据分析队列;
F2.3.数据分析线程T2从数据分析队列中读取作业对象,加载相应数据进行分析;
F2.3.数据分析线程T2生成优化配置规则,并保存;
F2.4.子服务线程T1查询适合该客户端的优化配置规则,并发送给客户端;
G.核心调度服务利用消息机制驱动配置实施工具,配置实施工具利用配置实施循环机制实施优化配置的过程;具体实现方法如下:
G1.当核心调度服务接到监测点和其他监听器发来的消息后,对消息进行分类,并发给配置实施工具;
G2.在配置实施工具中建立一个配置实施机制,接收核心调度服务发来的消息,按照事件类型查找需要的操作向量;如果优化配置规则不存在于当前的运行系统中,将该配置写入数据库中,继续;否则不作为;如果该消息是某项优化配置的触发条件,则将该消息发给配置实施后台线程,并向核心调度服务返回假值;
G3.在配置实施循环机制中,利用哈希表来存储和检索消息与配置项,以消息类型为哈希表的索引键,以配置项标识作为值;
G4.在配置实施循环机制中,用操作向量来保存优化配置规则。所述的操作向量由优化触发条件(简称条件)、配置操作接口(简称操作)、以及优先级组合而成,用BNF范式表达如下:
条件操作向量::=条件,操作,优先级
条件::=条件列表,二维关系矩阵
条件列表::={条件元素(条件元素的索引值与二维关系矩阵中的标号一致)}
条件元素::=事件类型,事件状态,事件时间,有效时间范围,设备索引,应用包名
事件类型::=GPS|APN|WIFI|电池|蓝牙|应用
事件状态::=开启|关闭
二维关系矩阵::=条件之间的关系(行和列的标号是条件列表中条件元素的索引值)
条件之间的关系::=与|或|非
操作::={操作元素(排列的先后顺序即操作在执行时的先后顺序)}
操作元素::=开启应用|关闭应用|开启设备|关闭设备
所述的条件是系统中发生的,可以用逻辑值表达的事件或者事件集合,由条件列表和二维关系矩阵构成;
所述的条件列表由一个或多个条件构成;
所述的二维关系矩阵,其行和列的标号分别表示条件集合中对应的条件编号,而矩阵中的值表示条件之间的关系;
所述的关系运算包括“与”、“或”、“非”三种逻辑运算,表示参与运算的条件“同时满足”、“满足其中之一”、“不同时满足”的关系;
所述的操作指改变系统运行状态或者设备状态的可执行的控制接口,包括开启应用、关闭应用、开启设备、关闭设备;
G5.当多个条件具有同时满足关系时,按照顺序等待二维关系矩阵中所有相关条件都满足后,再实施操作序列;
G6.判断条件满足的逻辑包括:事件类型相符;事件状态相符;事件发生时间符合允许范围;事件的设备及应用标识(应用包名)相符。
本发明的优点是建立了完整的智能手机端和云服务器端的系统架构和方法,高效地监测智能手机端的设备状态和用户使用应用的特征信息,从云服务器端获取经过数据分析后生成的优化配置规则;建立新颖的机制实现优化配置的实时触发和优化配置的实施过程,从而为智能手机优化配置和个性化定制提供了机制和保障,具有良好的市场前景和应用价值。
具体实施方式
下面结合附图,通过一套在云服务器和Lenovo A580智能手机上实现的系统实施例,对本发明作进一步描述。该智能手机的配置是:
参数 |
属性值 |
硬件版本号 |
H-3-02 |
软件版本号 |
S-3-02 |
Android版本号 |
4.0.3 |
基带版本号 |
A580_1_A_3_030_0031_120725 |
系统版本号 |
LenovoMagic3.5 |
方法流程如图1所示,包括如下步骤:a)在智能手机上,建立设备监测服务,监测系统设备状态变化,向核心调度服务发送消息,传递设备状态事件;b)对于没有提供广播机制的GPS设备,设立专门的监听机制;c)创建一个核心调度服务,负责完成各类消息的接收和转发;d)建立用户行为监测服务,监测用户使用应用的特征,并存储监测数据;e)建立数据通信服务,负责向云服务器发送监测数据,接收优化配置规则;f)在云端服务器上,建立一个主监听服务,负责监听网络端口,响应智能手机端发来的连接请求,并将优化配置规则发送给客户端;g)核心调度服务利用消息机制驱动配置实施工具,配置实施工具利用配置实施循环机制,实施优化配置过程;
下面按照步骤,结合系统实例对本发明作进一步描述:
A.在智能手机上,建立设备监测服务,负责监测系统硬件状态,向核心调度服务发送消息传递设备状态事件。设备监测服务的主要属性包括检查时间、应用信息、数据库对象、后台工作线程对象、GPS监听器;主要操作包括将监测的数据记录到数据库,将监测信息通知给后台进程。事件类的主要属性包括事件产生时间、事件消息;
利用Android系统的广播机制,本别对蓝牙、WiFi、电池设备的广播接收器,如图2所示;事件监听器的主要属性包括监听者的优先级、事件过滤器;主要操作包括消息判断接口、注册事件监听器、注销事件监听器、消息处理接口;
B.对于没有提供广播机制的GPS设备,设立专门的监听机制,如图3所示。向系统的位置服务注册位置服务监听器,向GPS管理器注册GPS监听器;
C.创建一个核心调度服务,负责完成各类消息的接收和转发,如图2和图3所示,各个监听器以及设备监测服务都向核心调度服务发消息,或者接收核心调度服务的消息;消息处理循环的主要属性是消息队列、监听者队列;主要操作是消息分发、消息提交、注册消息监听者、注销消息监听者;
D.建立用户行为监测服务,监测用户使用应用的情况,如图4所示。向广播服务注册用户开启屏幕事件(ACTION_USER_PRESENT)和用户关闭屏幕事件(ACTION_SCREEN_OFF);该服务在用户开启屏幕的时候启动,每隔10秒钟抓取一次应用栈,并分析应用执行的情况;在用户关闭屏幕的时候,该服务也被关闭;
用户行为监测服务的主要属性是检查时间间隔(缺省值10秒)、屏幕关闭事件广播接收器、任务栈监测器、任务栈监听接口对象;任务栈监听接口提供的操作包括启动监测、应用结束、应用启动;
E.建立数据通信服务,负责向云服务器发送监测数据,接收优化配置规则;数据通信服务与云服务器之间的通信协议;主要属性包括:协议版本、协议头部、协议主体、协议尾部、CRC冗余校验对象、协议打印到输出流、从输入流解析协议;
F.在云端服务器上,建立一个主监听服务,负责监听网络端口,响应智能手机端发来的连接请求,并将优化配置规则发送给客户端;接收客户端数据类的主要属性包括:
数据传输协议、CRC冗余校验对象、解析接口、保存接口;
G.核心调度服务利用消息机制驱动配置实施工具,配置实施工具利用配置实施循环机制,实施优化配置的过程;
优化配置的执行实体是核心调度服务(MainMonitorService)中工作线程对象;优化配置的操作接口对象由核心调度服务为其生成并注册到优化配置工作线程中;
该执行过程依赖于现有的事件驱动模型,生成工作线程后会将该线程的事件监听接口注册到当前的事件驱动模型中;当有事件发生时:
首先按照事件类型过滤该事件,优化配置工作线程会事先将持有的操作向量中所包含的所有事件类型进行整理,用于宏观事件过滤;按事件类型查找需要的操作向量,调用事件监测接口的返回数值;如果返回数值为真,则调用操作向量的操作接口;等待下一个事件;
在配置实施循环机制中,用操作向量来保存优化配置规则。操作向量的主要属性包括:
配置的优先级(缺省值1000)、配置id、条件集、操作序列;主要操作包括、解析数据接口、格式化数据接口、序列化接口,用于数据传输、序列化接口、设置两个条件间的关系;
操作向量中定义的四个操作接口包括开启应用、关闭应用、开启设备、关闭设备;
操作向量中的主要属性包括:条件集合、关系矩阵;主要操作包括:添加条件、响应单个事件并进行判断、判断是否所有条件都满足、设置两个条件的关系、序列化接口;
管理配置数据类的主要属性包括配置文件、数据参考时间,传输时间,分析时间、配置是否可用标记;主要操作包括:监测是否有可用配置、设置是否有新配置、设置最后传输时间、设置最后优化时间、获取最后一次传输时间、获取最后一次生成优化配置的时间、设置数据参考时间、获取数据参考时间、从文件加载信息、将数据保存至文件。
实施实例结果
按照本发明的方法实现的智能手机实时优化配置系统,其各项功能实现结果如下:
1)在智能手机终端抓取的数据实例
导出到SD卡中的设备监测记录文件的部分内容如下表:
经过本方法对设备监测数据进行压缩处理,将应用的包名单独存在一张表内并编号,
然后创建一个字节数组,以应用编号作为其在字节数组中的偏移,将其格式化为字节
序列。转换后数据如下表所示,对比监测输出日志,可以得知结果正确。
1364095824585 |
battery |
0x3C03 |
1001B |
1364095944585 |
battery |
0x3B03 |
1011B |
2)用户行为监测服务输出的应用特征数据的部分内容,如下表:
1365355210585 |
com.lenovo.launcher |
220s |
1365355290585 |
com.android.contacts |
140s |
1365355461585 |
com.estrongs.android.pop |
20s |
1365355481585 |
cn.btbu.netlogin |
10s |
1365355491585 |
com.android.settings |
20s |
1365355512585 |
cn.btbu.netlogin |
10s |
1365355522585 |
com.android.settings |
200s |
1365355693585 |
com.android.settings |
10s |
1365355722585 |
cn.btbu.netlogin |
0s |
1365355431585 |
com.lenovo.launcher |
310s |
1365355431585 |
com.android.contacts |
310s |
1365355623585 |
com.youku.phone |
120s |
1365486642585 |
com.android.stk |
10s |
1365493525585 |
com.estrongs.android.pop |
930s |
1365497007585 |
cn.btbu.netlogin |
10s |
1365486642585 |
com.lenovo.launcher |
480s |
1366031749585 |
com.android.stk |
10s |
1366031759585 |
org.x.speedsoftware.sqleditor |
90s |
1366036401585 |
com.android.browser |
10s |
1366036411585 |
cn.catcap.tca |
100s |
在监测应用时,时间间隔是以10秒为单位,表中第三列对应的是应用在用户在使用手机期间的存活周期,对比输出日志中的监测内容,可以得知结果无误。
3)优化配置实施结果
通过设计一个自动查杀应用的Activity对配置进行设置,然后通过观察标记的应用是否有被查杀的记录,记录通过读取系统日志观察,“灯效设置”应用被自动查杀清除,达到了优化配置效果。