[发明专利]使用二进制程序进行功能固化并提供服务的方法及系统有效
申请号: | 201510534679.7 | 申请日: | 2015-08-27 |
公开(公告)号: | CN105204848B | 公开(公告)日: | 2018-08-14 |
发明(设计)人: | 江平;吕伟龙 | 申请(专利权)人: | 深圳创维-RGB电子有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/54 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文;刘文求 |
地址: | 518052 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 二进制 程序 进行 功能 固化 提供 服务 方法 系统 | ||
1.一种使用二进制程序进行功能固化、与虚拟机实现软件解耦的方法,其特征在于,包括步骤:
对系统功能进行固化,形成具有公共接口的系统二进制程序;
不同二进制程序之间使用私有通信协议进行数据通信;
上层Android应用或上层WEB HTML5应用使用解耦接口动态调用二进制程序提供的系统服务;
所述上层WEB HTML5应用使用解耦接口动态调用二进制程序提供的系统服务的过程包括:
对上层WEB HTML5应用进行本地JS扩展;
通过JS的动态绑定方式调用对应需要使用的解耦接口,在解耦接口中根据当前系统传输下来的上下文获取上层WEB HTML5应用的通信数据;
封装好通信数据后,使用二进制程序的公共接口进行通信,此时上层WEB HTML5应用与二进制程序自动连接配对;
二进制程序接收到通信数据后,进行解析并根据解析结果,进行二进制程序的调用,执行相应的请求,并根据是否需要回执,对执行的结果进行处理。
2.根据权利要求1所述的使用二进制程序进行功能固化、与虚拟机实现软件解耦的方法,其特征在于,所述系统功能包括:UI引擎、系统传屏协议、虚拟设备操作及服务器长连接。
3.根据权利要求1所述的使用二进制程序进行功能固化、与虚拟机实现软件解耦的方法,其特征在于,不同二进制程序之间使用私有通信协议进行数据通信的过程包括:
当一个作为源进程的二进制程序需要使用另一个作为目标进程的二进制程序的服务时,源进程首先对要进行的调用进行数据封装;
封装好通信数据后,通过本机的私有通信协议进行传输;
目标进程接收到通信数据后,对接收到的通信数据进行解析,执行相应的请求,并根据是否需要回执,对执行的结果进行处理。
4.根据权利要求3所述的使用二进制程序进行功能固化、与虚拟机实现软件解耦的方法,其特征在于,二进制程序之间进行数据通信的过程还包括:
在进行数据封装时自动调整通信数据顺序,使在内存分配生成数据时占用最小的内存空间;
对顺序调整后的通信数据进行初始化时,使用内存中的二进制存储数据,将所有顺序调整后的通信数据拼接构造为一个二进制缓存,并存储于内存中,并循环的添加通信数据,得到一个二进制缓存流,在数据传输过程中直接传输所述二进制缓存流;
将接收到的二进制缓存流存储在系统的缓存或者内存中;
读取二进制缓存流时,获得二进制缓存流的根对象指针,直接读取内存映射地址获取所需要的字段的内容。
5.根据权利要求3所述的使用二进制程序进行功能固化、与虚拟机实现软件解耦的方法,其特征在于,本机的私有通信协议使用Domain 套接字方式:
使用AF_LOCAL来申请一个本地套接字,所述本地套接字同时支持以字节流的形式传输的字节流套接口和以数据报的形式传输的数据报套接口。
6.根据权利要求1所述的使用二进制程序进行功能固化、与虚拟机实现软件解耦的方法,其特征在于,上层Android应用使用解耦接口动态调用二进制程序提供的系统服务的过程包括:
上层Android应用通过JNI的方式调用到下层的JNI库的方法;
当JNI库方获取调用情况后,调用对应需要使用的解耦接口,在解耦接口中根据当前系统传输下来的上下文获取上层Android应用的通信数据;
封装好通信数据后,使用二进制程序的公共接口进行通信,此时上层Android应用与二进制程序自动连接配对;
二进制程序接收到通信数据后,进行解析并根据解析结果,进行二进制程序的调用,执行相应的请求,并根据是否需要回执,对执行的结果进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳创维-RGB电子有限公司,未经深圳创维-RGB电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510534679.7/1.html,转载请声明来源钻瓜专利网。