基于android平台的设备管理框架制造技术

技术编号:9519204 阅读:123 留言:0更新日期:2014-01-01 16:51
一种基于android平台的设备管理框架,包括应用程序层、管理服务模块、管理守护进程模块、功能动态库层和内核驱动层;应用程序层用于实现调用所述设备管理框架的接口;管理服务模块用于将所述功能接口转化成命令调用,并通过Android中Socket套接字LocalSocket客户端传送所述命令;管理守护进程模块通过Android中Socket套接字LocalSocket服务端接收所述命令,并解析,根据解析结果调用功能动态库层;功能动态库层用于封装与内核驱动层进行交互的接口;内核驱动层用于提供Linux操作系统的标准操作接口给功能动态库层调用,同时可操作各硬件设备。

【技术实现步骤摘要】
【专利摘要】一种基于android平台的设备管理框架,包括应用程序层、管理服务模块、管理守护进程模块、功能动态库层和内核驱动层;应用程序层用于实现调用所述设备管理框架的接口;管理服务模块用于将所述功能接口转化成命令调用,并通过Android中Socket套接字LocalSocket客户端传送所述命令;管理守护进程模块通过Android中Socket套接字LocalSocket服务端接收所述命令,并解析,根据解析结果调用功能动态库层;功能动态库层用于封装与内核驱动层进行交互的接口;内核驱动层用于提供Linux操作系统的标准操作接口给功能动态库层调用,同时可操作各硬件设备。【专利说明】基于android平台的设备管理框架
本专利技术具体涉及一种基于android平台的设备管理框架。
技术介绍
Android平台是一个标准的通用平台,在Telematics多媒体车载终端项目中新增了许多Android原生系统中没有的设备,如DVD、GP10、音频管理设备等。针对这些设备的控制管理,目前米用JNI (Java Native Interface,即Java本地调用)方式进行控制。JNI在Android平台中所处的代码层次位置如图1所示,在Android平台上,JNI使得在Java虚拟机内部运行的Java代码能够与用C/C++等其它编程语言编写的应用程序和库进行交互,从而将Java代码和C/C++等其它编程语言代码紧密联系在一起。使用JNI方式进行设备管理的缺点在于: 使用JNI方式进行程序开发需要同时实现Java、JN1、C/C++三个层次的代码,开发工作量大,开发难度也较大;应用程序代码如果要移植到其它平台上,C/C++代码需要重新编写,移植的工作量较大,可移植性差;从逻辑结构方面来看,一个JNI动态库只适合管理一个设备,随着设备的增加,难以通过JNI方式对这些设备进行统一管理;在使用过程中存在多个应用程序同时访问一个设备的可能,造成设备访问不可控,系统稳定性差。此外,Java虚拟机为Java代码提供了完善的安全机制使得Java代码不会导致程序崩溃、滥用数据等,而一旦使用了 JNI,此安全机制就无能为力了。
技术实现思路
本专利技术所要解决的技术问题在于提供一种基于android平台的设备管理框架,解决了众多非Android原生的设备管理混乱的问题,极大地提高了设备的稳定性;避免了多个应用程序同时对底层设备直接操作存在的安全等隐患,极大地提高了设备的安全性。本专利技术是通过以下技术方案解决上述技术问题的:一种基于android平台的设备管理框架,包括从上至下设置的应用程序层、管理服务模块、管理守护进程模块、功能动态库层和内核驱动层; 所述应用程序层:用于实现调用所述设备管理框架的接口 ;通过绑定接口绑定管理服务模块,同时调用管理服务模块中AIDL接口文件提供的功能接口 ; 所述管理服务模块:用于为各设备创建AIDL接口文件;同时用于将AIDL接口文件中提供的功能接口转化成命令调用,并通过Android中Socket套接字LocalSocket客户端传送所述命令; 所述管理守护进程模块:通过Android中Socket套接字LocalSocket服务器端接收所述命令,并解析命令,根据命令解析结果调用功能动态库层; 所述功能动态库层:用于封装与内核驱动层进行交互的接口 ; 所述内核驱动层:用于提供Linux操作系统的标准操作接口给功能动态库层调用,同时可操作各设备。进一步地,所述命令的格式结构为: 设备名称O功能接口名称#参数1#参数2#...#参数N ;N为大于2的整数。进一步地,所述功能动态库层包括复数个功能动态库,所述内核驱动层包括复数个内核驱动模块,每所述设备均对应有一功能动态库和一内核驱动模块;即各功能动态库与各内核驱动模块 对应。进一步地,所述管理守护进程模块根据命令解析结果调用功能动态库层的具体实现过程如下: 管理守护进程模块从所述命令的格式结构中获取设备名称、功能接口名称和参数,当第一次调用该设备时,先加载功能动态库层,并调用功能动态库层中该设备的初始化接口,进行设备初始化;当非第一次调用该设备时,直接调用功能动态库层中该设备的命令处理接口。进一步地,所述功能动态库层封装与内核驱动层进行交互的接口的具体实现过程如下: 所述设备的功能动态库从管理守护进程模块处获取所述功能接口名称和参数,同时从该设备的功能动态库中查找功能接口名称与功能接口函数指针映射表,根据所述功能接口名称,查找到功能接口函数指针并调用对应的功能接口函数,根据所述功能接口函数可实现调用Linux操作系统的标准操作接口。进一步地,当所述应用程序层所调用的功能接口需要获取响应数据时,相应设备的内核驱动模块返回响应数据给该设备的功能动态库,该设备的功能动态库将所述响应数据以“功能接口名称+’ #’ +响应数据”格式上报给管理守护进程模块,管理守护进程模块将响应数据封装成“设备名称+’ +功能接口名称+’ #’ +响应数据”格式后,依次上传至所述管理服务模块、应用程序层。进一步地,所述Linux操作系统的标准操作接口为open接口、read接口、write接口、ioctl 接口或 close 接口。进一步地,所述管理服务模块还发送心跳包给所述管理守护进程模块,用于监测和更新管理服务模块连接情况。本专利技术的有益效果在于: 1、可以很好地将Android系统中非Android原生的设备进行统一控制和管理; 2、能够很好地支持底层(即各设备)至上层(即应用程序层)的数据互通; 3、为应用程序开发提供统一的接口,降低应用程序开发的难度,提高应用程序的代码复用和可移植性; 4、设备管理框架逻辑结构清晰,解决了众多非Android原生的设备管理混乱的问题,极大地提高了设备的稳定性; 5、通过对设备的统一控制和管理,避免了多个应用程序同时对底层设备直接操作存在的安全等隐患,极大地提高了设备的安全性。【专利附图】【附图说明】下面参照附图结合实施例对本专利技术作进一步的描述。图1为现有的基于Android平台的设备管理方法的原理框图。图2为本专利技术基于android平台的设备管理框架的框图。图3为本专利技术基于android平台的设备管理框架的流程图。【具体实施方式】请参阅图2-3,一种基于android平台的设备管理框架,包括从上至下设置的应用程序层、管理服务模块、管理守护进程模块、功能动态库层和内核驱动层;所述功能动态库层包括复数个功能动态库,所述内核驱动层包括复数个内核驱动模块,每一设备均对应有一功能动态库和一内核驱动模块;即各功能动态库与各内核驱动模块 对应。例如:功能动态库包括:DVD功能动态库、GPIO功能动态库、AUDIO功能动态库等;内核驱动模块包括:UART内核驱动模块、GPIO内核驱动模块、音频管理设备内核驱动模块等;且所述DVD功能动态库与UART内核驱动模块对应,所述GPIO功能动态库与GPIO内核驱动模块对应,所述AUDIO功能动态库与音频管理设备内核驱动模块对应。所述应用程序层:用于实现调用操作所述设备管理框架的接口,对设备管理框架的调用操作均由应用程序层发起;通过绑定接口绑定管理服务模块,同时调用管理服务本文档来自技高网
...
基于android平台的设备管理框架

【技术保护点】
一种基于android平台的设备管理框架,其特征在于:包括从上至下设置的应用程序层、管理服务模块、管理守护进程模块、功能动态库层和内核驱动层;?所述应用程序层:用于实现调用所述设备管理框架的接口;通过绑定接口绑定管理服务模块,同时调用管理服务模块中AIDL接口文件提供的功能接口;?所述管理服务模块:用于为各设备创建AIDL接口文件;同时用于将AIDL接口文件中提供的功能接口转化成命令调用,并通过Android中?Socket套接字LocalSocket客户端传送所述命令;所述管理守护进程模块:通过Android中Socket套接字LocalSocket服务端接收所述命令,并解析命令,根据命令解析结果调用功能动态库层;所述功能动态库层:用于封装与内核驱动层进行交互的接口;所述内核驱动层:用于提供Linux操作系统的标准操作接口给功能动态库层调用,同时可操作各设备。

【技术特征摘要】

【专利技术属性】
技术研发人员:李培明杨磊范少卓
申请(专利权)人:厦门雅迅网络股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1