基于ANDROID平台的支持双向通信的设备管理方法.pdf

上传人:g**** 文档编号:6135845 上传时间:2019-04-17 格式:PDF 页数:9 大小:1.03MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410080212.5

申请日:

2014.03.06

公开号:

CN103902389A

公开日:

2014.07.02

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/54申请日:20140306|||公开

IPC分类号:

G06F9/54; G06F9/44

主分类号:

G06F9/54

申请人:

厦门雅迅网络股份有限公司

发明人:

李培明; 杨磊; 范少卓; 李琦; 鲁林华; 任赋

地址:

361000 福建省厦门市软件园产业基地二期观日路46号

优先权:

专利代理机构:

厦门市新华专利商标代理有限公司 35203

代理人:

朱凌

PDF下载: PDF下载
内容摘要

本发明提供一种基于android平台的支持双向通信的设备管理方法,包括由所述应用程序层依次通过设备管理服务层、管理守护进程、功能动态库层以及内核驱动层主动发起调用与设备硬件进行自上而下通信,还包括从设备硬件主动通过内核驱动层、设备管理守护进程、设备管理服务层向应用程序层上报数据信息进行自下而上通信。本发明大大拓宽了设备管理框架的应用场合,有效节约系统资源,提高系统的稳定性。

权利要求书

权利要求书
1.  一种基于android平台的支持双向通信的设备管理方法,从上至下设置有应用程序层、设备管理服务层、管理守护进程、功能动态库层、内核驱动层以及设备硬件,所述方法包括由所述应用程序层依次通过设备管理服务层、管理守护进程、功能动态库层以及内核驱动层主动发起调用与设备硬件进行自上而下通信,其特征在于:还包括从设备硬件主动向应用程序层上报数据信息进行自下而上通信,即: 
步骤10、设备硬件工作过程中主动上报数据或状态信息;
步骤20、设备内核驱动层通过与设备硬件的数据通信接口实时获取数据信息,并通过netlink方式将信息上报给管理守护进程; 
步骤30、设备管理守护进程通过netlink方式接收设备内核驱动层发送的数据,并将接收的数据包通过LocalSocket方式原样上报给设备管理服务层;
步骤40、设备管理服务层通过LocalSocket方式从管理守护进程接收数据包并根据数据类型进行处理: 
步骤40、应用程序层通过调用外围设备的AIDL接口文件中的接口获取设备的数据信息,或者通过广播接收器接收并处理设备管理服务层发出的广播。

2.  根据权利要求1所述的基于android平台的支持双向通信的设备管理方法,其特征在于:所述步骤20中,设备内核驱动层上报给管理守护进程时发送数据包的格式结构为:
ACTIVE@DeviceName@DataName#DataType#DataLength#Data,其中ACTIVE表示数据包是由底层设备硬件主动上报的信息;DeviceName表示设备名称;DataName表示数据名称;DataType表示数据类型,DataLength表示信息有效数据的长度;Data则表示有效数据。

3.  根据权利要求2所述的基于android平台的支持双向通信的设备管理方法,其特征在于:所述数据类型包括数据信息和信号处理信息,如果数据包类型为数据信息,则所述处理为更新保存信息,以备应用程序层后续调用;如果数据包类型为信号处理信息,则所述处理为将该信号以广播的形式向系统发出。

4.  根据权利要求1所述的基于android平台的支持双向通信的设备管理方法,其特征在于:所述设备管理守护进程还通过发送心跳包检测链路机制监测和更新客户端连接情况。

5.  根据权利要求1所述的基于android平台的支持双向通信的设备管理方法,其特征在于:
所述外围设备包括车载信号设备、IC卡模块以及PIC模块;
所述设备管理服务层为车载信号设备、IC卡模块以及PIC模块各创建一个AIDL接口文件给所述应用程序层调用;
所述应用程序层通过绑定接口绑定设备管理服务,绑定之后即可获得设备管理服务中车载信号设备、IC卡模块、PIC模块的AIDL接口。

说明书

说明书基于android平台的支持双向通信的设备管理方法
技术领域
本发明涉及一种基于android平台的支持双向通信的设备管理方法。
背景技术
Android平台是一个标准的通用平台,在车载终端项目中,我们新增了许多Android原生平台所没有的设备,如:DVD、音频管理设备等。针对这些设备的控制,我们于2013.09.03申请的,申请号为201310394192.4,并于2014-01-01公开的,公开号为103488478A的中国发明是通过使用LocalSocket及Android服务的方式,设计并实现了专门针对外围设备进行管理的设备管理框架,将新增的非Android原生设备进行统一控制和管理。
虽然该发明的设备管理框架可以管理多个外围设备模块,但该框架仅支持由上层应用程序端主动发起调用,与底层设备硬件进行通信(即单向通信),却无法支持从底层设备硬件主动向应用程序上报数据信息。无法支持双向通信这一点大大限制了设备管理框架的应用场合。仅以车载信号采集模块为例,车载终端系统需要实时采集车上多达数十个车载信号,如果不通过设备管理框架进行采集,则需要另行设计一套涵盖android系统各个软件层次的软件框架,工作量很大,同时大大增加了系统后续维护的工作量。如果使用单向通信的设备管理框架进行采集,为了保证车载信号采集的实时有效性,需要在应用程序中同时调用几十个采集接口不间断地进行采集,这不但消耗了大量系统资源,对设备管理框架而言亦是不堪重负的负担,系统的稳定性也将变得极其脆弱。而实际上,车载信号的变化并不频繁,而且每次变化的信号只有一两个,系统实现者只需把变化的车载信号上报即可。
正是基于此,本技术方案在单向通信的设备管理框架的基础上,提出并设计实现了专门针对多媒体车载终端,基于android平台的支持双向通信的设备管理服务框架,将系统中所有非android原生的外围设备模块进行统一控制和管理。
发明内容
本发明要解决的技术问题,在于提供一种基于android平台的支持双向通信的设备管理方法,大大拓宽了设备管理框架的应用场合,有效节约系统资源,提高系统的稳定性。
本发明是这样实现的:一种基于android平台的支持双向通信的设备管理方法,从上至下设置有应用程序层、设备管理服务层、管理守护进程、功能动态库层、内核驱动层以及设备硬件,所述方法包括由所述应用程序层依次通过设备管理服务层、管理守护进程、功能动态库层以及内核驱动层主动发起调用与设备硬件进行自上而下通信,其中:还包括从设备硬件主动向应用程序层上报数据信息进行自下而上通信,即: 
步骤10、设备硬件工作过程中主动上报数据或状态信息;
步骤20、设备内核驱动层通过与设备硬件的数据通信接口实时获取数据信息,并通过netlink方式将信息上报给管理守护进程; 
步骤30、设备管理守护进程通过netlink方式接收设备内核驱动层发送的数据,并将接收的数据包通过LocalSocket方式原样上报给设备管理服务层;
步骤40、设备管理服务层通过LocalSocket方式从管理守护进程接收数据包并根据数据类型进行处理: 
步骤40、应用程序层通过调用外围设备的AIDL接口文件中的接口获取设备的数据信息,或者通过广播接收器接收并处理设备管理服务层发出的广播。
进一步的,所述步骤20中,设备内核驱动层上报给管理守护进程时发送数据包的格式结构为:
ACTIVE@DeviceName@DataName#DataType#DataLength#Data,其中ACTIVE表示数据包是由底层设备硬件主动上报的信息;DeviceName表示设备名称;DataName表示数据名称;DataType表示数据类型,DataLength表示信息有效数据的长度;Data则表示有效数据。
进一步的,所述数据类型包括数据信息和信号处理信息,如果数据包类型为数据信息,则所述处理为更新保存信息,以备应用程序层后续调用;如果数据包类型为信号处理信息,则所述处理为将该信号以广播的形式向系统发出。
进一步的,所述设备管理守护进程还通过发送心跳包检测链路机制监测和更新客户端连接情况。
进一步的,所述外围设备包括车载信号设备、IC卡模块以及PIC模块;所述设备管理服务层为车载信号设备、IC卡模块以及PIC模块各创建一个AIDL接口文件给所述应用程序层调用;所述应用程序层通过绑定接口绑定设备管理服务,绑定之后即可获得设备管理服务中车载信号设备、IC卡模块、PIC模块的AIDL接口。
本发明具有如下优点:本发明方法是基于申请号为201310394192.4的中国发明的进一步完善和优化,本发明方法不仅具有由应用程序层主动发起调用与设备硬件的自上而下通信功能,还具有从设备硬件主动向应用程序层上报数据信息的自下而上通信功能,使系统中所有非android原生的外围设备模块的管理得到了真正的统一,大大拓宽了这种设备管理框架的应用场合,有效节约系统资源,使底层和上层的数据互通更为高效,并提高了系统的稳定性。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程框图。
图2为本发明方法中从底层的设备硬件主动向上层应用程序上报信息的设备管理框架的逻辑结构示意图。
具体实施方式
如图1和图2所示,本发明的基于android平台的支持双向通信的设备管理方法,从上至下设置有应用程序层、设备管理服务层、管理守护进程、功能动态库层、内核驱动层以及设备硬件,所述方法包括由所述应用程序层依次通过设备管理服务层、管理守护进程、功能动态库层以及内核驱动层主动发起调用与设备硬件进行自上而下通信(如图1中左半部分所示的内容),其中:还包括从设备硬件主动向应用程序层上报数据信息进行自下而上通信(如图1中右半部分所示的内容),即: 
步骤10、设备硬件工作过程中主动上报数据或状态信息;
步骤20、设备内核驱动层通过与设备硬件的数据通信接口实时获取数据信息,并通过netlink方式将信息上报给管理守护进程;设备内核驱动层上报给管理守护进程时发送数据包的格式结构为:
ACTIVE@DeviceName@DataName#DataType#DataLength#Data,其中ACTIVE表示数据包是由底层设备硬件主动上报的信息;DeviceName表示设备名称;DataName表示数据名称;DataType表示数据类型,DataLength表示信息有效数据的长度;Data则表示有效数据。 
步骤30、设备管理守护进程通过netlink方式接收设备内核驱动层发送的数据,并将接收的数据包通过LocalSocket方式原样上报给设备管理服务层;
步骤40、设备管理服务层通过LocalSocket方式从管理守护进程接收数据包并根据数据类型进行处理:其中,所述数据类型包括数据信息和信号处理信息,如果数据包类型为数据信息,则所述处理为更新保存信息,以备应用程序层后续调用;如果数据包类型为信号处理信息,则所述处理为将该信号以广播的形式向系统发出。 
步骤40、应用程序层通过调用外围设备的AIDL接口文件中的接口获取设备的数据信息,或者通过广播接收器接收并处理设备管理服务层发出的广播。
其中,本发明中所述外围设备包括车载信号设备、IC卡模块以及PIC模块;所述设备管理服务层为车载信号设备、IC卡模块以及PIC模块各创建一个AIDL接口文件给所述应用程序层调用;所述应用程序层通过绑定接口绑定设备管理服务,绑定之后即可获得设备管理服务中车载信号设备、IC卡模块、PIC模块的AIDL接口。
 
为方便理解本发明,以下是对所述应用程序层、设备管理服务层、管理守护进程、功能动态库层、内核驱动层以及设备硬件的功能进行汇总:
1、设备硬件
设备模块硬件在工作过程中主动上报数据和状态信息。
2、设备内核驱动层
设备内核驱动层通过与设备模块硬件的通信接口(例如I2C接口等)从设备硬件获取数据信息,并通过netlink方式将数据信息发送给设备管理守护进程。
其中,Netlink是基于socket的通信机制,由于socket本身的双共性、突发性、不阻塞特点,使得netlink机制能够很好地满足内核与用户空间小量数据的及时交互。同时,netlink支持多播,内核模块或应用可以把消息多播给一个netlink组,属于该neilink 组的任何内核模块或应用都能接收到该消息。考虑到设备管理框架要求管理多个设备,即多个设备内核驱动均需要与守护进程进行交互通信,设备内核驱动与守护进程的通信机制就充分利用了这一特性,该netlink组内任何对某个模块事件感兴趣的内核模块和应用都能收到并处理该模块发送的事件。
设备内核驱动层通过netlink方式主动上报的数据格式为:
ACTIVE@DeviceName@DataName#DataType#DataLength#Data,其中ACTIVE表示数据包是由底层设备硬件主动上报的信息;DeviceName表示设备名称;DataName表示数据名称;DataType表示数据类型,并用1~9的数字标示,1表示数据信息,需要更新保存在设备管理服务层,以备应用程序层后续调用获取,2表示信号处理信息,只需发出广播即可,3~9预留后续使用;DataLength表示信息有效数据的长度;Data则表示有效数据。
3、设备管理守护进程
设备管理守护进程位于Android系统中的HAL层(Hardware Abstract Layer,即硬件抽象层),介于设备管理服务层和设备内核驱动层之间,通过netlink方式与设备内核驱动层进行通信,向上则通过Android LocalSocket与上层设备管理服务层进行数据通信,起着信息枢纽的作用。通过对支持从底层设备硬件主动上报信息的设备管理框架的功能细分,设备管理守护进程至少需要实现如下功能:
1)通过netlink方式与设备内核驱动层进行通信,接收设备内核驱动层发送的数据。
2)通过LocalSocket与设备管理服务层进行Socket数据通信,通过发送心跳包检测链路机制监测和更新客户端连接情况,将从netlink接收的数据包原样发送给设备管理服务层。
3)能及时接收设备内核驱动层上报的数据,并稳定地为设备管理服务层提供socket服务端,数据处理及时可靠。
4、设备管理服务层
设备管理服务层位于Android系统中的Java框架层,介于Android的程序应用层和设备管理守护进程之间,向上层应用程序提供AIDL调用接口,与下层设备管理守护进程通过Socket通信方式进行数据通信,作用至关重要。通过对支持从底层设备硬件主动上报信息的设备管理框架的功能细分,设备管理服务层至少需要实现如下功能:
1)建立和维护与设备管理守护进程之间的数据通信,确定一套合理规范的上报数据通信协议。
由于上报信息的内容较为简单,设备守护进程向设备管理服务层传输的数据包采用与设备内核驱动通过netlink主动上报的数据包一样的格式,即:ACTIVE@DeviceName@DataName#DataType#DataLength#Data,其中ACTIVE表示数据包是由底层设备硬件主动上报的信息;DeviceName表示设备名称;DataName表示数据名称;DataType表示数据类型(1~9),1表示数据信息,需要更新保存在设备管理服务层,以备应用程序层后续调用获取,2表示信号处理信息,只需发出广播即可,3~9预留后续使用;DataLength表示信息有效数据的长度;Data则表示有效数据。
以收到的数据包“ACTIVE@BUSSIGNAL@ACC_STATE#2#1#0”为例,“ACTIVE”表示该数据包是底层设备硬件主动上报信息,“BUSSIGNAL”表示车载信号设备名称,“ACC_STATE”表示车载ACC信号状态,“2”表示该信息将通过广播处理,“1”表示信息的有效数据长度为1个字节,“0”表示ACC信号状态为0(即低电平)状态。
2)设备管理服务层通过Android LocalSocket(本质上即为Socket套接字)通信从设备管理守护进程接收主动上报信息,并对信息进行处理:如果数据包类型为1,则保存或更新信息,以AIDL(Android Interface Definition Language,即Android接口描述语言)接口文件的形式提供给应用程序以备需要时调用;如果数据包类型为2,则将该信号以广播的形式向系统发出。
3)为车载信号、IC卡等每个外围设备分别创建(手动编辑生成)一个AIDL接口文件给应用程序调用,注意AIDL文件只是接口声明,需要在设备管理服务的其他Java源文件中完成这些AIDL接口的代码实现,即保存和更新设备的数据、状态等信息。
4)数据处理及时,能稳定地为Android应用程序提供服务,协调应用程序之间的执行和数据同步。
5、应用程序
系统应用程序主要通过以下两种方式使用设备管理框架提供的功能:
1)系统应用程序发起对设备管理框架接口的调用。
 Android应用程序通过绑定接口绑定设备管理服务层,绑定之后即可获得设备管理服务层中车载信号、IC卡模块、PIC模块等外围设备的AIDL接口,这些接口就是车载信号、IC卡模块、PIC模块等外围设备对应用程序层提供的功能。
2)应用程序层接收并处理广播消息。
Android应用程序层需要注册广播接收器,并定义需要接收处理的具体广播。
综上所述,本发明方法是基于申请号为201310394192.4的中国发明的进一步完善和优化,本发明方法不仅具有由应用程序层主动发起调用与设备硬件的自上而下通信功能,还具有从设备硬件主动向应用程序层上报数据信息的自下而上通信功能,使系统中所有非android原生的外围设备模块的管理得到了真正的统一,大大拓宽了这种设备管理框架的应用场合,有效节约系统资源,使底层和上层的数据互通更为高效,并提高了系统的稳定性。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

基于ANDROID平台的支持双向通信的设备管理方法.pdf_第1页
第1页 / 共9页
基于ANDROID平台的支持双向通信的设备管理方法.pdf_第2页
第2页 / 共9页
基于ANDROID平台的支持双向通信的设备管理方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《基于ANDROID平台的支持双向通信的设备管理方法.pdf》由会员分享,可在线阅读,更多相关《基于ANDROID平台的支持双向通信的设备管理方法.pdf(9页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103902389 A (43)申请公布日 2014.07.02 CN 103902389 A (21)申请号 201410080212.5 (22)申请日 2014.03.06 G06F 9/54(2006.01) G06F 9/44(2006.01) (71)申请人 厦门雅迅网络股份有限公司 地址 361000 福建省厦门市软件园产业基地 二期观日路 46 号 (72)发明人 李培明 杨磊 范少卓 李琦 鲁林华 任赋 (74)专利代理机构 厦门市新华专利商标代理有 限公司 35203 代理人 朱凌 (54) 发明名称 基于 android 平台的支持双向通信的设备。

2、管 理方法 (57) 摘要 本发明提供一种基于 android 平台的支持双 向通信的设备管理方法, 包括由所述应用程序层 依次通过设备管理服务层、 管理守护进程、 功能动 态库层以及内核驱动层主动发起调用与设备硬件 进行自上而下通信, 还包括从设备硬件主动通过 内核驱动层、 设备管理守护进程、 设备管理服务层 向应用程序层上报数据信息进行自下而上通信。 本发明大大拓宽了设备管理框架的应用场合, 有 效节约系统资源, 提高系统的稳定性。 (51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书5。

3、页 附图2页 (10)申请公布号 CN 103902389 A CN 103902389 A 1/1 页 2 1. 一种基于 android 平台的支持双向通信的设备管理方法, 从上至下设置有应用程序 层、 设备管理服务层、 管理守护进程、 功能动态库层、 内核驱动层以及设备硬件, 所述方法包 括由所述应用程序层依次通过设备管理服务层、 管理守护进程、 功能动态库层以及内核驱 动层主动发起调用与设备硬件进行自上而下通信, 其特征在于 : 还包括从设备硬件主动向 应用程序层上报数据信息进行自下而上通信, 即 : 步骤 10、 设备硬件工作过程中主动上报数据或状态信息 ; 步骤 20、 设备内核驱。

4、动层通过与设备硬件的数据通信接口实时获取数据信息, 并通过 netlink 方式将信息上报给管理守护进程 ; 步骤 30、 设备管理守护进程通过 netlink 方式接收设备内核驱动层发送的数据, 并将 接收的数据包通过 LocalSocket 方式原样上报给设备管理服务层 ; 步骤 40、 设备管理服务层通过 LocalSocket 方式从管理守护进程接收数据包并根据数 据类型进行处理 : 步骤 40、 应用程序层通过调用外围设备的 AIDL 接口文件中的接口获取设备的数据信 息, 或者通过广播接收器接收并处理设备管理服务层发出的广播。 2. 根据权利要求 1 所述的基于 android 平。

5、台的支持双向通信的设备管理方法, 其特征 在于 : 所述步骤 20 中, 设备内核驱动层上报给管理守护进程时发送数据包的格式结构为 : ACTIVEDeviceNameDataName#DataType#DataLength#Data, 其中 ACTIVE 表示数据包 是由底层设备硬件主动上报的信息 ; DeviceName 表示设备名称 ; DataName 表示数据名称 ; DataType 表示数据类型, DataLength 表示信息有效数据的长度 ; Data 则表示有效数据。 3. 根据权利要求 2 所述的基于 android 平台的支持双向通信的设备管理方法, 其特征 在于 : 。

6、所述数据类型包括数据信息和信号处理信息, 如果数据包类型为数据信息, 则所述处 理为更新保存信息, 以备应用程序层后续调用 ; 如果数据包类型为信号处理信息, 则所述处 理为将该信号以广播的形式向系统发出。 4. 根据权利要求 1 所述的基于 android 平台的支持双向通信的设备管理方法, 其特 征在于 : 所述设备管理守护进程还通过发送心跳包检测链路机制监测和更新客户端连接情 况。 5. 根据权利要求 1 所述的基于 android 平台的支持双向通信的设备管理方法, 其特征 在于 : 所述外围设备包括车载信号设备、 IC 卡模块以及 PIC 模块 ; 所述设备管理服务层为车载信号设备、。

7、 IC 卡模块以及 PIC 模块各创建一个 AIDL 接口 文件给所述应用程序层调用 ; 所述应用程序层通过绑定接口绑定设备管理服务, 绑定之后即可获得设备管理服务中 车载信号设备、 IC 卡模块、 PIC 模块的 AIDL 接口。 权 利 要 求 书 CN 103902389 A 2 1/5 页 3 基于 android 平台的支持双向通信的设备管理方法 技术领域 0001 本发明涉及一种基于 android 平台的支持双向通信的设备管理方法。 背景技术 0002 Android 平台是一个标准的通用平台, 在车载终端项目中, 我们新增了许多 Android 原生平台所没有的设备, 如 : 。

8、DVD、 音频管理设备等。针对这些设备的控制, 我们 于 2013.09.03 申请的, 申请号为 201310394192.4, 并于 2014-01-01 公开的, 公开号为 103488478A 的中国发明是通过使用 LocalSocket 及 Android 服务的方式, 设计并实现了专 门针对外围设备进行管理的设备管理框架, 将新增的非 Android 原生设备进行统一控制和 管理。 0003 虽然该发明的设备管理框架可以管理多个外围设备模块, 但该框架仅支持由上层 应用程序端主动发起调用, 与底层设备硬件进行通信 (即单向通信) , 却无法支持从底层设 备硬件主动向应用程序上报数据。

9、信息。 无法支持双向通信这一点大大限制了设备管理框架 的应用场合。仅以车载信号采集模块为例, 车载终端系统需要实时采集车上多达数十个车 载信号, 如果不通过设备管理框架进行采集, 则需要另行设计一套涵盖 android 系统各个 软件层次的软件框架, 工作量很大, 同时大大增加了系统后续维护的工作量。 如果使用单向 通信的设备管理框架进行采集, 为了保证车载信号采集的实时有效性, 需要在应用程序中 同时调用几十个采集接口不间断地进行采集, 这不但消耗了大量系统资源, 对设备管理框 架而言亦是不堪重负的负担, 系统的稳定性也将变得极其脆弱。 而实际上, 车载信号的变化 并不频繁, 而且每次变化的。

10、信号只有一两个, 系统实现者只需把变化的车载信号上报即可。 0004 正是基于此, 本技术方案在单向通信的设备管理框架的基础上, 提出并设计实现 了专门针对多媒体车载终端, 基于 android 平台的支持双向通信的设备管理服务框架, 将 系统中所有非 android 原生的外围设备模块进行统一控制和管理。 发明内容 0005 本发明要解决的技术问题, 在于提供一种基于 android 平台的支持双向通信的设 备管理方法, 大大拓宽了设备管理框架的应用场合, 有效节约系统资源, 提高系统的稳定 性。 0006 本发明是这样实现的 : 一种基于 android 平台的支持双向通信的设备管理方法,。

11、 从上至下设置有应用程序层、 设备管理服务层、 管理守护进程、 功能动态库层、 内核驱动层 以及设备硬件, 所述方法包括由所述应用程序层依次通过设备管理服务层、 管理守护进程、 功能动态库层以及内核驱动层主动发起调用与设备硬件进行自上而下通信, 其中 : 还包括 从设备硬件主动向应用程序层上报数据信息进行自下而上通信, 即 : 步骤 10、 设备硬件工作过程中主动上报数据或状态信息 ; 步骤 20、 设备内核驱动层通过与设备硬件的数据通信接口实时获取数据信息, 并通过 netlink 方式将信息上报给管理守护进程 ; 说 明 书 CN 103902389 A 3 2/5 页 4 步骤 30、 。

12、设备管理守护进程通过 netlink 方式接收设备内核驱动层发送的数据, 并将 接收的数据包通过 LocalSocket 方式原样上报给设备管理服务层 ; 步骤 40、 设备管理服务层通过 LocalSocket 方式从管理守护进程接收数据包并根据数 据类型进行处理 : 步骤 40、 应用程序层通过调用外围设备的 AIDL 接口文件中的接口获取设备的数据信 息, 或者通过广播接收器接收并处理设备管理服务层发出的广播。 0007 进一步的, 所述步骤 20 中, 设备内核驱动层上报给管理守护进程时发送数据包的 格式结构为 : ACTIVEDeviceNameDataName#DataType#D。

13、ataLength#Data, 其中 ACTIVE 表示数据包 是由底层设备硬件主动上报的信息 ; DeviceName 表示设备名称 ; DataName 表示数据名称 ; DataType 表示数据类型, DataLength 表示信息有效数据的长度 ; Data 则表示有效数据。 0008 进一步的, 所述数据类型包括数据信息和信号处理信息, 如果数据包类型为数据 信息, 则所述处理为更新保存信息, 以备应用程序层后续调用 ; 如果数据包类型为信号处理 信息, 则所述处理为将该信号以广播的形式向系统发出。 0009 进一步的, 所述设备管理守护进程还通过发送心跳包检测链路机制监测和更新客。

14、 户端连接情况。 0010 进一步的, 所述外围设备包括车载信号设备、 IC 卡模块以及 PIC 模块 ; 所述设备管 理服务层为车载信号设备、 IC 卡模块以及 PIC 模块各创建一个 AIDL 接口文件给所述应用 程序层调用 ; 所述应用程序层通过绑定接口绑定设备管理服务, 绑定之后即可获得设备管 理服务中车载信号设备、 IC 卡模块、 PIC 模块的 AIDL 接口。 0011 本发明具有如下优点 : 本发明方法是基于申请号为 201310394192.4 的中国发明 的进一步完善和优化, 本发明方法不仅具有由应用程序层主动发起调用与设备硬件的自上 而下通信功能, 还具有从设备硬件主动向。

15、应用程序层上报数据信息的自下而上通信功能, 使系统中所有非 android 原生的外围设备模块的管理得到了真正的统一, 大大拓宽了这种 设备管理框架的应用场合, 有效节约系统资源, 使底层和上层的数据互通更为高效, 并提高 了系统的稳定性。 附图说明 0012 下面参照附图结合实施例对本发明作进一步的说明。 0013 图 1 为本发明方法执行流程框图。 0014 图 2 为本发明方法中从底层的设备硬件主动向上层应用程序上报信息的设备管 理框架的逻辑结构示意图。 具体实施方式 0015 如图 1 和图 2 所示, 本发明的基于 android 平台的支持双向通信的设备管理方法, 从上至下设置有应。

16、用程序层、 设备管理服务层、 管理守护进程、 功能动态库层、 内核驱动层 以及设备硬件, 所述方法包括由所述应用程序层依次通过设备管理服务层、 管理守护进程、 功能动态库层以及内核驱动层主动发起调用与设备硬件进行自上而下通信 (如图 1 中左半 部分所示的内容) , 其中 : 还包括从设备硬件主动向应用程序层上报数据信息进行自下而上 说 明 书 CN 103902389 A 4 3/5 页 5 通信 (如图 1 中右半部分所示的内容) , 即 : 步骤 10、 设备硬件工作过程中主动上报数据或状态信息 ; 步骤 20、 设备内核驱动层通过与设备硬件的数据通信接口实时获取数据信息, 并通过 ne。

17、tlink 方式将信息上报给管理守护进程 ; 设备内核驱动层上报给管理守护进程时发送数 据包的格式结构为 : ACTIVEDeviceNameDataName#DataType#DataLength#Data, 其中 ACTIVE 表示数据包 是由底层设备硬件主动上报的信息 ; DeviceName 表示设备名称 ; DataName 表示数据名称 ; DataType 表示数据类型, DataLength 表示信息有效数据的长度 ; Data 则表示有效数据。 0016 步骤 30、 设备管理守护进程通过 netlink 方式接收设备内核驱动层发送的数据, 并将接收的数据包通过 LocalS。

18、ocket 方式原样上报给设备管理服务层 ; 步骤 40、 设备管理服务层通过 LocalSocket 方式从管理守护进程接收数据包并根据数 据类型进行处理 : 其中, 所述数据类型包括数据信息和信号处理信息, 如果数据包类型为数 据信息, 则所述处理为更新保存信息, 以备应用程序层后续调用 ; 如果数据包类型为信号处 理信息, 则所述处理为将该信号以广播的形式向系统发出。 0017 步骤 40、 应用程序层通过调用外围设备的 AIDL 接口文件中的接口获取设备的数 据信息, 或者通过广播接收器接收并处理设备管理服务层发出的广播。 0018 其中, 本发明中所述外围设备包括车载信号设备、 IC。

19、 卡模块以及 PIC 模块 ; 所述设 备管理服务层为车载信号设备、 IC 卡模块以及 PIC 模块各创建一个 AIDL 接口文件给所述 应用程序层调用 ; 所述应用程序层通过绑定接口绑定设备管理服务, 绑定之后即可获得设 备管理服务中车载信号设备、 IC 卡模块、 PIC 模块的 AIDL 接口。 0019 为方便理解本发明, 以下是对所述应用程序层、 设备管理服务层、 管理守护进程、 功能动态库层、 内核驱动层以及设备硬件的功能进行汇总 : 1、 设备硬件 设备模块硬件在工作过程中主动上报数据和状态信息。 0020 2、 设备内核驱动层 设备内核驱动层通过与设备模块硬件的通信接口 (例如I。

20、2C接口等) 从设备硬件获取数 据信息, 并通过 netlink 方式将数据信息发送给设备管理守护进程。 0021 其中, Netlink 是基于 socket 的通信机制, 由于 socket 本身的双共性、 突发性、 不 阻塞特点, 使得 netlink 机制能够很好地满足内核与用户空间小量数据的及时交互。同时, netlink支持多播, 内核模块或应用可以把消息多播给一个netlink组, 属于该neilink 组 的任何内核模块或应用都能接收到该消息。考虑到设备管理框架要求管理多个设备, 即多 个设备内核驱动均需要与守护进程进行交互通信, 设备内核驱动与守护进程的通信机制就 充分利用了。

21、这一特性, 该 netlink 组内任何对某个模块事件感兴趣的内核模块和应用都能 收到并处理该模块发送的事件。 0022 设备内核驱动层通过 netlink 方式主动上报的数据格式为 : ACTIVEDeviceNameDataName#DataType#DataLength#Data, 其中 ACTIVE 表示数据包 是由底层设备硬件主动上报的信息 ; DeviceName 表示设备名称 ; DataName 表示数据名称 ; DataType 表示数据类型, 并用 19 的数字标示, 1 表示数据信息, 需要更新保存在设备管理 服务层, 以备应用程序层后续调用获取, 2 表示信号处理信息,。

22、 只需发出广播即可, 39 预留 说 明 书 CN 103902389 A 5 4/5 页 6 后续使用 ; DataLength 表示信息有效数据的长度 ; Data 则表示有效数据。 0023 3、 设备管理守护进程 设备管理守护进程位于 Android 系统中的 HAL 层 (Hardware Abstract Layer, 即硬件 抽象层) , 介于设备管理服务层和设备内核驱动层之间, 通过 netlink 方式与设备内核驱动 层进行通信, 向上则通过Android LocalSocket与上层设备管理服务层进行数据通信, 起着 信息枢纽的作用。通过对支持从底层设备硬件主动上报信息的设。

23、备管理框架的功能细分, 设备管理守护进程至少需要实现如下功能 : 1) 通过 netlink 方式与设备内核驱动层进行通信, 接收设备内核驱动层发送的数据。 0024 2) 通过LocalSocket与设备管理服务层进行Socket数据通信, 通过发送心跳包检 测链路机制监测和更新客户端连接情况, 将从 netlink 接收的数据包原样发送给设备管理 服务层。 0025 3)能及时接收设备内核驱动层上报的数据, 并稳定地为设备管理服务层提供 socket 服务端, 数据处理及时可靠。 0026 4、 设备管理服务层 设备管理服务层位于 Android 系统中的 Java 框架层, 介于 And。

24、roid 的程序应用层和设 备管理守护进程之间, 向上层应用程序提供 AIDL 调用接口, 与下层设备管理守护进程通过 Socket 通信方式进行数据通信, 作用至关重要。通过对支持从底层设备硬件主动上报信息 的设备管理框架的功能细分, 设备管理服务层至少需要实现如下功能 : 1) 建立和维护与设备管理守护进程之间的数据通信, 确定一套合理规范的上报数据通 信协议。 0027 由于上报信息的内容较为简单, 设备守护进程向设备管理服务层传输的数据包采 用与设备内核驱动通过 netlink 主动上报的数据包一样的格式, 即 : ACTIVEDeviceName DataName#DataType#。

25、DataLength#Data, 其中 ACTIVE 表示数据包是由底层设备硬件主动上 报的信息 ; DeviceName 表示设备名称 ; DataName 表示数据名称 ; DataType 表示数据类型 (19) , 1 表示数据信息, 需要更新保存在设备管理服务层, 以备应用程序层后续调用获取, 2 表示信号处理信息, 只需发出广播即可, 39 预留后续使用 ; DataLength 表示信息有效数据 的长度 ; Data 则表示有效数据。 0028 以收到的数据包 “ACTIVEBUSSIGNALACC_STATE#2#1#0” 为例,“ACTIVE” 表示该 数据包是底层设备硬件主。

26、动上报信息,“BUSSIGNAL” 表示车载信号设备名称,“ACC_STATE” 表示车载 ACC 信号状态,“2” 表示该信息将通过广播处理,“1” 表示信息的有效数据长度为 1 个字节,“0” 表示 ACC 信号状态为 0(即低电平) 状态。 0029 2) 设备管理服务层通过 Android LocalSocket(本质上即为 Socket 套接字) 通信 从设备管理守护进程接收主动上报信息, 并对信息进行处理 : 如果数据包类型为 1, 则保存 或更新信息, 以 AIDL(Android Interface Definition Language, 即 Android 接口描述语 言)。

27、 接口文件的形式提供给应用程序以备需要时调用 ; 如果数据包类型为 2, 则将该信号以 广播的形式向系统发出。 0030 3) 为车载信号、 IC 卡等每个外围设备分别创建 (手动编辑生成) 一个 AIDL 接口文 件给应用程序调用, 注意AIDL文件只是接口声明, 需要在设备管理服务的其他Java源文件 中完成这些 AIDL 接口的代码实现, 即保存和更新设备的数据、 状态等信息。 说 明 书 CN 103902389 A 6 5/5 页 7 0031 4) 数据处理及时, 能稳定地为 Android 应用程序提供服务, 协调应用程序之间的 执行和数据同步。 0032 5、 应用程序 系统应。

28、用程序主要通过以下两种方式使用设备管理框架提供的功能 : 1) 系统应用程序发起对设备管理框架接口的调用。 0033 Android 应用程序通过绑定接口绑定设备管理服务层, 绑定之后即可获得设备管 理服务层中车载信号、 IC 卡模块、 PIC 模块等外围设备的 AIDL 接口, 这些接口就是车载信 号、 IC 卡模块、 PIC 模块等外围设备对应用程序层提供的功能。 0034 2) 应用程序层接收并处理广播消息。 0035 Android 应用程序层需要注册广播接收器, 并定义需要接收处理的具体广播。 0036 综上所述, 本发明方法是基于申请号为 201310394192.4 的中国发明的。

29、进一步完 善和优化, 本发明方法不仅具有由应用程序层主动发起调用与设备硬件的自上而下通信功 能, 还具有从设备硬件主动向应用程序层上报数据信息的自下而上通信功能, 使系统中所 有非 android 原生的外围设备模块的管理得到了真正的统一, 大大拓宽了这种设备管理框 架的应用场合, 有效节约系统资源, 使底层和上层的数据互通更为高效, 并提高了系统的稳 定性。 0037 虽然以上描述了本发明的具体实施方式, 但是熟悉本技术领域的技术人员应当理 解, 我们所描述的具体的实施例只是说明性的, 而不是用于对本发明的范围的限定, 熟悉本 领域的技术人员在依照本发明的精神所作的等效的修饰以及变化, 都应当涵盖在本发明的 权利要求所保护的范围内。 说 明 书 CN 103902389 A 7 1/2 页 8 图 1 说 明 书 附 图 CN 103902389 A 8 2/2 页 9 图 2 说 明 书 附 图 CN 103902389 A 9 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1