CN106648873A - 系统服务数据获取装置及方法 - Google Patents
系统服务数据获取装置及方法 Download PDFInfo
- Publication number
- CN106648873A CN106648873A CN201611250904.5A CN201611250904A CN106648873A CN 106648873 A CN106648873 A CN 106648873A CN 201611250904 A CN201611250904 A CN 201611250904A CN 106648873 A CN106648873 A CN 106648873A
- Authority
- CN
- China
- Prior art keywords
- jar
- data
- interface
- system service
- request instruction
- 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.)
- Granted
Links
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种系统服务数据获取装置及方法,该方法包括:当接收到收集数据的请求指令时,根据所述请求指令调用预设接口;通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数;根据所述数据调用函数调用预设应用中封装的jar包接口,通过所述jar包接口获取jar包中存储的系统服务数据。本发明实现了通过预设接口调用jar包接口,让系统服务可以使用第三方应用设计的数据统计jar包,使移动终端厂商能够通过数据统计jar包获取到系统服务的使用情况数据,为移动终端厂商优化系统提供了数据支持。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种系统服务数据获取装置及方法。
背景技术
Android系统服务,即Android中提供系统最基本、最核心的功能的模块,如设备控制、位置信息、通知设定以及消息显示等,这些服务分别存在于应用框架层ApplicationFramework与系统运行库层Libraries层,主要运行在mediaserver和systemserver系统进程中。当Android应用需要获取一些如位置信息等数据时,通过调用系统服务提供的本地API(Application Programming Interface,应用程序编程接口)即可获取相关数据。
Android应用,即在使用Android终端时可以在终端显示界面上看到的应用,如微信、微博等,一般独立运行在一个应用进程中,这些应用通过调用系统服务提供的本地API获取数据。数据统计jar方案一般是为应用开发使用的,目前还没有为终端厂商定制的用于Android服务框架的数据收集方案。另外,jar包需要链接到应用的虚拟机中,应用才能够使用这些jar包的功能。Android服务也是运作在虚拟机上的,如果将jar包直接编译到Android虚拟机中,将导致在该虚拟机上安装的所有应用都存在该jar包,如果这些应用本身集成了该jar包,由于jar包代码混淆的原因将导致这些应用使用jar包功能时出现报错。同时在系统虚拟机中都集成jar包,将使系统成本增大很多。因此将会导致数据统计jar包无法在系统服务中使用,这样终端厂商无法了解到系统服务的使用情况数据。
发明内容
本发明的主要目的在于提出一种系统服务数据获取装置及方法,旨在解决数据统计jar包无法在系统服务中使用的技术问题。
为实现上述目的,本发明提供的一种系统服务数据获取装置,所述系统服务数据获取装置包括:
第一调用模块,用于当接收到收集数据的请求指令时,根据所述请求指令调用预设接口;
绑定模块,用于通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数;
第二调用模块,用于根据所述数据调用函数调用预设应用中封装的jar包接口;
获取模块,用于通过所述jar包接口获取jar包中存储的系统服务数据。
可选地,所述获取模块还用于当获取到所述预设应用时,获取jar包接口;
所述系统服务数据获取装置还包括:
生成模块,用于生成应用程序编程接口API;
封装模块,用于通过所述API封装所述jar包接口,以在所述预设应用集成数据统计jar包。
可选地,所述第二调用模块还用于根据数据开始调用函数调用所述预设应用中封装的jar包开始接口;当调用所述jar包开始接口后,根据所述数据统计函数调用所述预设应用中jar包数据统计接口;
所述获取模块还用于通过所述jar包数据统计接口获取所述jar包中存储的系统服务数据;
所述第二调用模块还用于根据数据结束调用函数调用所述预设应用中封装的jar包结束接口,以结束从所述jar包获取数据的操作。
可选地,所述系统服务数据获取装置还包括:
设置模块,用于当接收到用于标识所述预设应用的标识符时,将所述标识符设置于所述预设应用中。
可选地,所述系统服务数据获取装置还包括:
判断模块,用于判断当前是否可以执行所述请求指令;
请求模块,用于若当前未能执行所述请求指令,则通过与所述预设接口对应的接口类请求排队处理所述请求指令;
所述绑定模块还用于若当前可以执行所述请求指令,则通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数。
此外,为实现上述目的,本发明还提出一种系统服务数据获取方法,所述系统服务数据获取方法包括:
当接收到收集数据的请求指令时,根据所述请求指令调用预设接口;
通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数;
根据所述数据调用函数调用预设应用中封装的jar包接口,通过所述jar包接口获取jar包中存储的系统服务数据。
可选地,所述当接收到收集数据的请求指令时,根据所述请求指令调用预设接口的步骤之前,还包括:
当获取到所述预设应用时,获取jar包接口,并生成应用程序编程接口API;
通过所述API封装所述jar包接口,以在所述预设应用集成数据统计jar包。
可选地,所述根据所述数据调用函数调用预设应用中封装的jar包接口,通过所述jar包接口获取jar包中存储的系统服务数据的步骤包括:
根据数据开始调用函数调用所述预设应用中封装的jar包开始接口;
当调用所述jar包开始接口后,根据所述数据统计函数调用所述预设应用中jar包数据统计接口;
通过所述jar包数据统计接口获取所述jar包中存储的系统服务数据;
根据数据结束调用函数调用所述预设应用中封装的jar包结束接口,以结束从所述jar包获取数据的操作。
可选地,所述当接收到收集数据的请求指令时,根据所述请求指令调用预设接口的步骤之前,还包括:
当接收到用于标识所述预设应用的标识符时,将所述标识符设置于所述预设应用中。
可选地,所述通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数的步骤之前,还包括:
判断当前是否可以执行所述请求指令;
若当前未能执行所述请求指令,则通过与所述预设接口对应的接口类请求排队处理所述请求指令;
若当前可以执行所述请求指令,则执行所述通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数的步骤。
本发明通过当接收到收集数据的请求指令时,根据所述请求指令调用预设接口,通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数,根据所述数据调用函数调用预设应用中封装的jar包接口,通过所述jar包接口获取jar包中存储的系统服务数据。实现了通过预设接口调用jar包接口,让系统服务可以使用第三方应用设计的数据统计jar包,使移动终端厂商能够通过数据统计jar包获取到系统服务的使用情况数据,为移动终端厂商优化系统提供了数据支持。
附图说明
图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图;
图2为如图1所示的移动终端的无线通信系统示意图;
图3为本发明系统服务数据获取装置第一实施例的模块示意图;
图4为本发明系统服务数据获取装置第二实施例的模块示意图;
图5为本发明系统服务数据获取装置第四实施例的模块示意图;
图6为本发明系统服务数据获取方法第一实施例的流程示意图;
图7为本发明系统服务数据获取方法第二实施例的流程示意图;
图8为本发明实施例中根据所述数据调用函数调用预设应用中封装的jar包接口,通过所述jar包接口获取jar包中存储的系统服务数据的一种流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图。
移动终端100可以包括无线通信单元110、用户输入单元130、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括移动通信模块112和无线互联网模块113等。
移动通信模块112将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块113支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏。
接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括但不限于显示单元151。
显示单元151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元151可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。
电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信系统以及基于卫星的通信系统来操作。
现在将参考图2描述其中根据本发明的移动终端能够操作的通信系统。
这样的通信系统可以使用不同的空中接口和/或物理层。例如,由通信系统使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信系统(UMTS)(特别地,长期演进(LTE))、全球移动通信系统(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信系统,但是这样的教导同样适用于其它类型的系统。
参考图2,CDMA无线通信系统可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的系统可以包括多个BSC2750。
每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子系统(BTS)或者其它等效术语。在这样的情况下,术语"基站"可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为"蜂窝站"。或者,特定BS270的各分区可以被称为多个蜂窝站。
如图2中所示,广播发射器(BT)295将广播信号发送给在系统内操作的移动终端100。在图2中,示出了几个全球定位系统(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
在图2中,描绘了多个卫星300,但是理解的是,可以利用任何数目的卫星获得有用的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
作为无线通信系统的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
基于上述移动终端100硬件结构以及通信系统,提出本发明方法各个实施例。
参照图3,图3为本发明系统服务数据获取装置第一实施例的模块示意图。
需要强调的是,对本领域的技术人员来说,图3所示模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图3所示的系统服务数据获取装置的模块,可轻易进行新的模块的补充;各模块的名称是自定义名称,仅用于辅助理解该系统服务数据获取装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的模块所要达成的功能。
本实施例提出一种系统服务数据获取装置,系统服务数据获取装置包括:
第一调用模块10,用于当接收到收集数据的请求指令时,根据请求指令调用预设接口;
当移动终端100中的框架层接收到收集数据的请求指令时,第一调用模块10根据该请求指令调用预设接口。在本实施例中,所收集的数据为与移动终端100中系统服务使用情况有关的数据。预设接口为框架层中的API,在框架层中,采用DataManager接口类封装框架层中的API,框架层根据请求指令调用DataManager接口类,即可调用框架层中的API。
绑定模块20,用于通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数;
第二调用模块30,用于根据数据调用函数调用预设应用中封装的jar包接口;
获取模块40,用于通过jar包接口获取jar包中存储的系统服务数据。
当第一调用模块10成功调用预设接口后,绑定模块20通过该预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数。需要说明的是,该预设应用可由开发人员在开发移动终端100过程中写入移动终端100的系统中,也可以建立一个应用,由用户进行下载安装。
当得到预设应用代理服务的数据调用函数时,第二调用模块30根据数据调用函数调用预设应用中API。其中,预设应用中的API封装了jar包(Java Archive,Java归档文件)接口,即第二调用模块30根据数据调用函数调用预设应用中封装的jar包接口。当调用jar包接口后,通过jar包接口获取jar包中存储的系统服务数据。进一步地,当获取到jar包中存储的数据后,将所获取的数据上传至jar包对应的服务器中,以供使移动终端100厂商和/或开发人员通过jar包获取到移动终端100系统服务的使用情况数据。jar包是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。
需要说明的是,在预设应用的代理服务中,存在与数据调用函数对应的API。框架层中预先编写了服务于框架层的接口类,接口类中包含了接口API。接口类中的API与预设应用代理服务中的API是一一对应的。框架层中的API通过使用跨进程通信接口协议AIDL(Android Interface Definition Language,Android接口定义语言)IService调用预设应用代理服务中与其对应API。
如通过DataManager接口类中API的AIDL绑定DataProxyService,调用DataProxyService相关函数,DataProxyService相关函数调用DataCollection.jar相关接口,以使jar将其存储的数据上传至对应的服务器中。开发人员可登录该服务器获取该数据。
在本实施例中,第一调用模块10、绑定模块20、第二调用模块30和获取模块40可设置于图1的控制器180中。
本实施例通过当接收到收集数据的请求指令时,根据请求指令调用预设接口,通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数,根据数据调用函数调用预设应用中封装的jar包接口,通过jar包接口获取jar包中存储的系统服务数据。实现了通过预设接口调用jar包接口,让系统服务可以使用第三方应用设计的数据统计jar包,使移动终端100厂商能够通过数据统计jar包获取到系统服务的使用情况数据,为移动终端100厂商优化系统提供了数据支持。
进一步地,提出本发明系统服务数据获取装置第二实施例。
系统服务数据获取装置第二实施例与系统服务数据获取装置第一实施例的区别在于,参照图4,获取模块40还用于当获取到预设应用时,获取jar包接口;
系统服务数据获取装置还包括:
生成模块50,用于生成应用程序编程接口API;
封装模块60,用于通过API封装jar包接口,以在预设应用集成数据统计jar包。
当获取到预设应用时,获取模块40获取jar包中的接口API,生成模块50在预设应用中生成与jar包中的接口对应的API,封装模块60通过所生成的API封装jar包中的接口,以在预设应用中集成数据统计jar包。可以理解的是,jar包中的接口也是API。当调用预设应用中与jar包的接口对应的API时,相当于调用jar包中的接口。在预设应用的代理服务中,通过代理服务生成的跨进程通信接口协议AIDL IService,使其它进程能够通过bindService调用到预设应用的API。
需要说明的是,bindService启动的服务在调用者和服务之间是典型的client-server的接口,即调用者是客户端,service是服务端,service就一个,但是连接绑定到service上面的客户端client可以是一个或多个。需要说明的是,这里所提到的client指的是组件,比如某个Activity。客户端client(即调用bindService的一方,比如某个Activity)可以通过IBinder接口获取Service的实例,从而可以实现在client端直接调用Service中的方法以实现灵活的交互,并且可借助IBinder实现跨进程的client-server的交互。使用bindService主要分两种情形:①Service的调用者client与Service在同一个App中;②Service的调用者client是应用1中的一个Activity,而Service是应用2中的Service,client与service分属两个应用,这种情形下主要用于实现跨进程的通信。
在本实施例中,生成模块50和封装模块60可设置于图1的控制器180中。
本实施例通过使用应用的API封装jar包的API,以实现移动终端100通过应用的API调用jar包的API来获取jar包中所存储的系统服务的使用情况数据。
进一步地,提出本发明系统服务数据获取装置第三实施例。
系统服务数据获取装置第三实施例与系统服务数据获取装置第一实施例的区别在于,第二调用模块30还用于根据数据开始调用函数调用预设应用中封装的jar包开始接口;当调用jar包开始接口后,根据数据统计函数调用预设应用中jar包数据统计接口;
获取模块40还用于通过jar包数据统计接口获取jar包中存储的系统服务数据;
第二调用模块30还用于根据数据结束调用函数调用预设应用中封装的jar包结束接口,以结束从jar包获取数据的操作。
为记录在jar包中获取数据的生命周期,在预设应用中增加API,记为生命周期API,该生命周期API对应着jar包开始接口、jar包数据统计接口和jar包结束接口。jar包开始接口对应着数据开始调用函数,jar包数据统计接口对应着数据统计函数,jar包结束接口对应着数据结束调用函数。
在获取jar包所存储的数据的过程中,第二调用模块30根据数据开始调用函数调用预设应用中封装的jar包开始接口,然后根据数据统计函数调用预设应用中jar包数据统计接口,获取模块40通过jar包数据统计接口获取jar包中存储的系统服务数据,最后第二调用模块30根据数据结束调用函数调用预设应用中封装的jar包结束接口,以结束从jar包获取数据的操作,构造在jar包中获取数据的生命周期。其中,jar包数据统计接口封装在jar包开始接口和jar包结束接口的中间,以使框架层在获取jar包中的数据时,可以不用考虑jar包生命周期的情况,直接调用预设应用中的API以获取jar包中的数据。
进一步地,系统服务数据获取装置还包括:
设置模块,用于当接收到用于标识预设应用的标识符时,将标识符设置于预设应用中。
当接收用于标识预设应用的标识符,设置模块将该标识符设置于该预设应用中。可以理解的是,通过该标识符可以区分从jar包中所获取的数据是哪一个应用的。在本实施例中,该标识符可用字符串表示,也可用其它形式表示。
在本实施例中,设置模块可设置于图1的控制器180中。
本实施例通过jar包开始接口、jar包数据统计接口和jar包结束接口,以实现对控jar包获取数据的生命周期的控制。
进一步地,提出本发明系统服务数据获取装置第四实施例。
系统服务数据获取装置第四实施例与系统服务数据获取装置第一实施例的区别在于,参照图5,系统服务数据获取装置还包括:
判断模块70,用于判断当前是否可以执行请求指令;
请求模块80,用于若当前未能执行请求指令,则通过与预设接口对应的接口类请求排队处理请求指令;
绑定模块20还用于若当前可以执行请求指令,则通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数。
当接收到收集数据的请求指令时,判断模块70判断当前是否可以立即执行该请求指令,若当前未能立即执行该请求指令,请求模块80则通过与预设接口对应的接口类请求排队处理该请求指令,如通过DataManager接口类请求排队处理该请求指令。在通过与预设接口对应的接口类请求排队处理该请求指令时,可以根据具体情况将该请求指令排列在已在队列中,属于待处理指令之前。当可以处理该请求指令时,绑定模块20通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数。若当前可以立即执行该请求指令,则通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数。
在本实施例中,判断模块70和请求模块80可设置于图1的控制器180中。
本实施例通过当接收到收集数据的请求指令时,判断当前是否可以立即执行该请求指令,当不能执行该请求指令,通过与预设接口对应的接口类请求排队处理请求指令,以快速获取到jar包中所存储的数据。
本发明还提供一种系统服务数据获取方法。
参照图6,图6为本发明系统服务数据获取方法第一实施例的流程示意图。
本实施例提出一种系统服务数据获取方法,系统服务数据获取方法包括:
步骤S10,当接收到收集数据的请求指令时,根据请求指令调用预设接口;
当移动终端100中的框架层接收到收集数据的请求指令时,框架层根据该请求指令调用预设接口。在本实施例中,所收集的数据为与移动终端100中系统服务使用情况有关的数据。预设接口为框架层中的API,在框架层中,采用DataManager接口类封装框架层中的API,框架层根据请求指令调用DataManager接口类,即可调用框架层中的API。
步骤S20,通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数;
步骤S30,根据数据调用函数调用预设应用中封装的jar包接口,通过jar包接口获取jar包中存储的系统服务数据。
当成功调用预设接口后,通过该预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数。需要说明的是,该预设应用可由开发人员在开发移动终端100过程中写入移动终端100的系统中,也可以建立一个应用,由用户进行下载安装。
当得到预设应用代理服务的数据调用函数时,根据数据调用函数调用预设应用中API。其中,预设应用中的API封装了jar包(Java Archive,Java归档文件)接口,即根据数据调用函数调用预设应用中封装的jar包接口。当调用jar包接口后,通过jar包接口获取jar包中存储的系统服务数据。进一步地,当获取到jar包中存储的数据后,将所获取的数据上传至jar包对应的服务器中,以供使移动终端100厂商和/或开发人员通过jar包获取到移动终端100系统服务的使用情况数据。jar包是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。
需要说明的是,在预设应用的代理服务中,存在与数据调用函数对应的API。框架层中预先编写了服务于框架层的接口类,接口类中包含了接口API。接口类中的API与预设应用代理服务中的API是一一对应的。框架层中的API通过使用跨进程通信接口协议AIDL(Android Interface Definition Language,Android接口定义语言)IService调用预设应用代理服务中与其对应API。
如通过DataManager接口类中API的AIDL绑定DataProxyService,调用DataProxyService相关函数,DataProxyService相关函数调用DataCollection.jar相关接口,以使jar将其存储的数据上传至对应的服务器中。开发人员可登录该服务器获取该数据。
本实施例通过当接收到收集数据的请求指令时,根据请求指令调用预设接口,通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数,根据数据调用函数调用预设应用中封装的jar包接口,通过jar包接口获取jar包中存储的系统服务数据。实现了通过预设接口调用jar包接口,让系统服务可以使用第三方应用设计的数据统计jar包,使移动终端100厂商能够通过数据统计jar包获取到系统服务的使用情况数据,为移动终端100厂商优化系统提供了数据支持。
进一步地,提出本发明系统服务数据获取方法第二实施例。
系统服务数据获取方法第二实施例与系统服务数据获取方法第一实施例的区别在于,参照图7,系统服务数据获取方法还包括:
步骤S40,当获取到预设应用时,获取jar包接口,并生成应用程序编程接口API;
步骤S50,通过API封装jar包接口,以在预设应用集成数据统计jar包。
当获取到预设应用时,获取jar包中的接口API,在预设应用中生成与jar包中的接口对应的API,通过所生成的API封装jar包中的接口,以在预设应用中集成数据统计jar包。可以理解的是,jar包中的接口也是API。当调用预设应用中与jar包的接口对应的API时,相当于调用jar包中的接口。在预设应用的代理服务中,通过代理服务生成的跨进程通信接口协议AIDL IService,使其它进程能够通过bindService调用到预设应用的API。
需要说明的是,bindService启动的服务在调用者和服务之间是典型的client-server的接口,即调用者是客户端,service是服务端,service就一个,但是连接绑定到service上面的客户端client可以是一个或多个。需要说明的是,这里所提到的client指的是组件,比如某个Activity。客户端client(即调用bindService的一方,比如某个Activity)可以通过IBinder接口获取Service的实例,从而可以实现在client端直接调用Service中的方法以实现灵活的交互,并且可借助IBinder实现跨进程的client-server的交互。使用bindService主要分两种情形:①Service的调用者client与Service在同一个App中;②Service的调用者client是应用1中的一个Activity,而Service是应用2中的Service,client与service分属两个应用,这种情形下主要用于实现跨进程的通信。
本实施例通过使用应用的API封装jar包的API,以实现移动终端100通过应用的API调用jar包的API来获取jar包中所存储的系统服务的使用情况数据。
进一步地,提出本发明系统服务数据获取方法第三实施例。
系统服务数据获取方法第三实施例与系统服务数据获取方法第一实施例的区别在于,参照图8,步骤S30包括:
步骤S31,根据数据开始调用函数调用预设应用中封装的jar包开始接口;
步骤S32,当调用jar包开始接口后,根据数据统计函数调用预设应用中jar包数据统计接口;
步骤S33,通过jar包数据统计接口获取jar包中存储的系统服务数据;
步骤S34,根据数据结束调用函数调用预设应用中封装的jar包结束接口,以结束从jar包获取数据的操作。
为记录在jar包中获取数据的生命周期,在预设应用中增加API,记为生命周期API,该生命周期API对应着jar包开始接口、jar包数据统计接口和jar包结束接口。jar包开始接口对应着数据开始调用函数,jar包数据统计接口对应着数据统计函数,jar包结束接口对应着数据结束调用函数。
在获取jar包所存储的数据的过程中,根据数据开始调用函数调用预设应用中封装的jar包开始接口,然后根据数据统计函数调用预设应用中jar包数据统计接口,通过jar包数据统计接口获取jar包中存储的系统服务数据,最后根据数据结束调用函数调用预设应用中封装的jar包结束接口,以结束从jar包获取数据的操作,构造在jar包中获取数据的生命周期。其中,jar包数据统计接口封装在jar包开始接口和jar包结束接口的中间,以使框架层在获取jar包中的数据时,可以不用考虑jar包生命周期的情况,直接调用预设应用中的API以获取jar包中的数据。
进一步地,系统服务数据获取方法还包括:
步骤a,当接收到用于标识预设应用的标识符时,将标识符设置于预设应用中。
当移动终端100接收用于标识预设应用的标识符,并将该标识符设置于该预设应用中。可以理解的是,通过该标识符可以区分从jar包中所获取的数据是哪一个应用的。在本实施例中,该标识符可用字符串表示,也可用其它形式表示。
本实施例通过jar包开始接口、jar包数据统计接口和jar包结束接口,以实现对控jar包获取数据的生命周期的控制。
进一步地,提出本发明系统服务数据获取方法第四实施例。
系统服务数据获取方法第四实施例与系统服务数据获取方法第一实施例的区别在于,系统服务数据获取方法还包括:
步骤b,判断当前是否可以执行请求指令;
步骤c,若当前未能执行请求指令,则通过与预设接口对应的接口类请求排队处理请求指令;
若当前可以执行请求指令,则执行步骤S20。
当接收到收集数据的请求指令时,判断当前是否可以立即执行该请求指令,若当前未能立即执行该请求指令,则通过与预设接口对应的接口类请求排队处理该请求指令,如通过DataManager接口类请求排队处理该请求指令。在通过与预设接口对应的接口类请求排队处理该请求指令时,可以根据具体情况将该请求指令排列在已在队列中,属于待处理指令之前。当可以处理该请求指令时,通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数。若当前可以立即执行该请求指令,则通过预设接口绑定预设应用的代理服务,以调用代理服务的数据调用函数。
本实施例通过当接收到收集数据的请求指令时,判断当前是否可以立即执行该请求指令,当不能执行该请求指令,通过与预设接口对应的接口类请求排队处理请求指令,以快速获取到jar包中所存储的数据。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种系统服务数据获取装置,其特征在于,所述系统服务数据获取装置包括:
第一调用模块,用于当接收到收集数据的请求指令时,根据所述请求指令调用预设接口;
绑定模块,用于通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数;
第二调用模块,用于根据所述数据调用函数调用预设应用中封装的jar包接口;
获取模块,用于通过所述jar包接口获取jar包中存储的系统服务数据。
2.如权利要求1所述的系统服务数据获取装置,其特征在于,所述获取模块还用于当获取到所述预设应用时,获取jar包接口;
所述系统服务数据获取装置还包括:
生成模块,用于生成应用程序编程接口API;
封装模块,用于通过所述API封装所述jar包接口,以在所述预设应用集成数据统计jar包。
3.如权利要求1所述的系统服务数据获取装置,其特征在于,所述第二调用模块还用于根据数据开始调用函数调用所述预设应用中封装的jar包开始接口;当调用所述jar包开始接口后,根据所述数据统计函数调用所述预设应用中jar包数据统计接口;
所述获取模块还用于通过所述jar包数据统计接口获取所述jar包中存储的系统服务数据;
所述第二调用模块还用于根据数据结束调用函数调用所述预设应用中封装的jar包结束接口,以结束从所述jar包获取数据的操作。
4.如权利要求1所述的系统服务数据获取装置,其特征在于,所述系统服务数据获取装置还包括:
设置模块,用于当接收到用于标识所述预设应用的标识符时,将所述标识符设置于所述预设应用中。
5.如权利要求1至4任一项所述的系统服务数据获取装置,其特征在于,所述系统服务数据获取装置还包括:
判断模块,用于判断当前是否可以执行所述请求指令;
请求模块,用于若当前未能执行所述请求指令,则通过与所述预设接口对应的接口类请求排队处理所述请求指令;
所述绑定模块还用于若当前可以执行所述请求指令,则通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数。
6.一种系统服务数据获取方法,其特征在于,所述系统服务数据获取方法包括:
当接收到收集数据的请求指令时,根据所述请求指令调用预设接口;
通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数;
根据所述数据调用函数调用预设应用中封装的jar包接口,通过所述jar包接口获取jar包中存储的系统服务数据。
7.如权利要求6所述的系统服务数据获取方法,其特征在于,所述当接收到收集数据的请求指令时,根据所述请求指令调用预设接口的步骤之前,还包括:
当获取到所述预设应用时,获取jar包接口,并生成应用程序编程接口API;
通过所述API封装所述jar包接口,以在所述预设应用集成数据统计jar包。
8.如权利要求6所述的系统服务数据获取方法,其特征在于,所述根据所述数据调用函数调用预设应用中封装的jar包接口,通过所述jar包接口获取jar包中存储的系统服务数据的步骤包括:
根据数据开始调用函数调用所述预设应用中封装的jar包开始接口;
当调用所述jar包开始接口后,根据所述数据统计函数调用所述预设应用中jar包数据统计接口;
通过所述jar包数据统计接口获取所述jar包中存储的系统服务数据;
根据数据结束调用函数调用所述预设应用中封装的jar包结束接口,以结束从所述jar包获取数据的操作。
9.如权利要求6所述的系统服务数据获取方法,其特征在于,所述当接收到收集数据的请求指令时,根据所述请求指令调用预设接口的步骤之前,还包括:
当接收到用于标识所述预设应用的标识符时,将所述标识符设置于所述预设应用中。
10.如权利要求6至9任一项所述的系统服务数据获取方法,其特征在于,所述通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数的步骤之前,还包括:
判断当前是否可以执行所述请求指令;
若当前未能执行所述请求指令,则通过与所述预设接口对应的接口类请求排队处理所述请求指令;
若当前可以执行所述请求指令,则执行所述通过所述预设接口绑定预设应用的代理服务,以调用所述代理服务的数据调用函数的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611250904.5A CN106648873B (zh) | 2016-12-29 | 2016-12-29 | 系统服务数据获取装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611250904.5A CN106648873B (zh) | 2016-12-29 | 2016-12-29 | 系统服务数据获取装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106648873A true CN106648873A (zh) | 2017-05-10 |
CN106648873B CN106648873B (zh) | 2020-06-19 |
Family
ID=58836649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611250904.5A Active CN106648873B (zh) | 2016-12-29 | 2016-12-29 | 系统服务数据获取装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648873B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282405A (zh) * | 2017-12-27 | 2018-07-13 | 努比亚技术有限公司 | 应用程序接口缓存管理方法、应用服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060174333A1 (en) * | 2005-01-28 | 2006-08-03 | Liberate Technologies | Resource access control |
CN101938488A (zh) * | 2010-09-14 | 2011-01-05 | 深圳市融创天下科技发展有限公司 | 流媒体播放方法、装置、系统、代理服务器及移动终端 |
CN104142856A (zh) * | 2013-05-07 | 2014-11-12 | 华为技术有限公司 | 服务程序调用方法、系统及其智能设备 |
CN105278996A (zh) * | 2015-11-03 | 2016-01-27 | 亚信科技(南京)有限公司 | 一种日志采集方法、装置及日志服务系统 |
-
2016
- 2016-12-29 CN CN201611250904.5A patent/CN106648873B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060174333A1 (en) * | 2005-01-28 | 2006-08-03 | Liberate Technologies | Resource access control |
CN101938488A (zh) * | 2010-09-14 | 2011-01-05 | 深圳市融创天下科技发展有限公司 | 流媒体播放方法、装置、系统、代理服务器及移动终端 |
CN104142856A (zh) * | 2013-05-07 | 2014-11-12 | 华为技术有限公司 | 服务程序调用方法、系统及其智能设备 |
CN105278996A (zh) * | 2015-11-03 | 2016-01-27 | 亚信科技(南京)有限公司 | 一种日志采集方法、装置及日志服务系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108282405A (zh) * | 2017-12-27 | 2018-07-13 | 努比亚技术有限公司 | 应用程序接口缓存管理方法、应用服务器及存储介质 |
CN108282405B (zh) * | 2017-12-27 | 2020-09-18 | 好活(昆山)网络科技有限公司 | 应用程序接口缓存管理方法、应用服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106648873B (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731512B (zh) | 图片分享的方法、装置及终端 | |
CN105511928B (zh) | 系统升级装置和方法 | |
CN106648369A (zh) | 应用程序的切换装置及方法 | |
CN106557291B (zh) | 分屏处理方法及装置 | |
CN106055324B (zh) | 系统主题更换装置及方法 | |
CN106791123A (zh) | 用户终端及应用处理方法 | |
CN106657611A (zh) | 应用主题的更换装置及方法 | |
CN105187534A (zh) | 一种信息备份设备和方法以及信息备份系统 | |
CN105681561A (zh) | 广告拦截装置和方法 | |
CN106453652A (zh) | 日志文件上传方法及系统 | |
CN105554382B (zh) | 一种移动终端及其实现拍照控制的方法 | |
CN106528576A (zh) | 页面搜索方法、终端及系统 | |
CN105792181B (zh) | 一种模拟卡的数据迁移方法、移动终端和tsm平台 | |
CN106658470A (zh) | 一种主卡设置装置和方法 | |
CN106413039A (zh) | Apn自适应配置装置和方法 | |
CN106201482A (zh) | 一种数据处理方法及电子设备 | |
CN105744069B (zh) | 一种信息传输方法、终端和系统 | |
CN106169966B (zh) | 测试工具包配置装置及方法 | |
CN105898034B (zh) | 一种移动终端及其处理图片的方法 | |
CN106648873A (zh) | 系统服务数据获取装置及方法 | |
CN106650413A (zh) | 确定Root权限的方法及移动终端 | |
CN106603872A (zh) | 一种根据关联策略启动应用的方法、装置和移动终端 | |
CN106572458A (zh) | 一种实现通信处理的方法及终端 | |
CN106486435A (zh) | 一种导热部件的密封方法 | |
CN106550353A (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 |