一种应用于物联网的智能终端操作系统的制作方法

文档序号:12120094阅读:414来源:国知局
一种应用于物联网的智能终端操作系统的制作方法与工艺

本发明属于计算机操作系统领域,尤其涉及Java虚拟机领域,应用于物联网的智能终端操作系统。



背景技术:

Java语言是一种由SUN公司提出的计算机编程语言。Java虚拟机是指Java语言的运行环境。在手机终端操作系统中,Java虚拟机制有基于SUN公司J2ME参考实现的栈的虚拟机,主要应用于 非智能手机上,以及智能手机上Android系统的基于存储器的Dalvik虚拟机。

如图1所示,基于栈的虚拟机,其指令为单字节码,指令个数不超过256个。基于栈的虚拟机,所有指令执行均是在栈上进行,对于多个操作数的指令,会将数据加载到Java的栈上后再进行操作。

如图2所示,Dalvik VM是基于寄存器虚拟机。将JDK编译生成的class文件通过Dex工具处理后,生成Dex code,也可称为“双字节码”。其指令格式均为双字节,即16为指令。Dalvik有虚拟寄存器,指令操作会将操作数加载到寄存器后再进行运算等。

现有的J2ME规范和虚拟机主要针对非智能手机上游戏及应用设计,而且除了没有针对物联网行业做扩展外,还需要向SUN公司(目前的Oracle)交付昂贵的License费用。

Android的Davlik虚拟机的机制完全是开源的,但是Android的Dalvik虚拟机是基于Linux操作系统,并不适应于目前的物联网操作系统平台,因而开发应用于物联网的智能终端操作系统是目前亟待解决的问题。



技术实现要素:

本发明提供一种应用于物联网的智能终端操作系统,以解决J2ME规范和虚拟机没有针对物联网行业做扩展以及需要向SUN公司交付昂贵的许可费的问题以解决Android的Dalvik虚拟机不适应于目前的物联网操作系统平台的问题。

为了解决上述问题,本发明提供了一种应用于物联网的智能终端操作系统,即DthingOS系统。该系统包括:

Davlik 虚拟机模块,用以解析和执行Dalvik Java的指令;

Java语言基础库,包括Java语言支持必要的库;

Java动态加载模块,允许用户开发功能模块库,并且动态地加载到所述智能终端操作系统上;

JSON打包模块,用以将采集的原始数据打包成互联网网络协议需要的数据格式;

MQTT通讯模块,包含客户端部分,用以为物联网标准组织定义的物理设备管理协议;

物联网组网承载模块,用以负责支持不同的网络承载层的匹配与解析,且用以为应用层提供统一的网络访问接口;

行业硬件接口模块,用以与物联网设备进行通讯;

传感器接口模块,用以与传感器进行通讯;

应用管理模块,用以根据预定接口方式对应用进行管理,包括远程下载、安装、运行、状态监测、停止、删除操作,且管理在所述物联网设备的上的所有应用的查看;

行业接口规范模块,用以根据不同行业开发相应的控制模块;

应用层接口,用以给用户提供应用开发接口,所述应用层接口包括应用的生命周期管理和应用层开发的应用接口;以及

移植层,用以给所述Davlik 虚拟机模块提供标准接口,将所述Davlik 虚拟机模块移植到嵌入式操作系统中。

根据本发明的一实施方式,其中还包括内存管理机制,用以实时监测所述物联网设备的内存使用情况,并且进行垃圾内存回收。

根据本发明的一实施方式,其中还包括边缘计算模块,用以过滤大量的所述原始数据。

根据本发明的一实施方式,其中还包括Eclipse开发环境插件,用以提供用户编译所述物联网设备的插件。

根据本发明的一实施方式,其中还包括远程自动化测试工具,用户通过所述远程自动化测试工具对所述智能终端操作系统的稳定性和完整性进行测试。

根据本发明的一实施方式,其中还包括模拟器,用以在Windows环境下对所述智能终端操作系统进行运行测试,并输出接口。

根据本发明的一实施方式,其中所述智能终端操作系统应用于智能电网、智能照明、智慧农业或智能环境。

根据本发明的一实施方式,其中还包括历史数据的时序存储,用以为所述物联网设备提供数据缓存。

根据本发明的一实施方式,其中所述行业规范接口模块还包括控制命令与数据通道的双向队列管理机制,所述控制命令与数据通道的双向队列管理机制包含命令队列,数据采集队列,数据发送队列。

根据本发明的一实施方式,其中还包括异步访问接口,用于与云端服务器进行通讯。

根据本发明的一实施方式,其中所述应用管理模块还包括物联网设备的用户配置、物联网设备的自启动、物联网设备的长期在线。

根据本发明的一实施方式,其中所述Java动态加载模块还用以帮助行业标准组织定义和开发物联网标准组件。

根据本发明的一实施方式,其中所述网络承载层包括Zigbee网络承载协议、NFC网络承载协议、WiFi网络承载协议或NB-IOT网络承载协议。

根据本发明的一实施方式,其中所述行业硬件接口模块包括RS232通用的行业设备接口或RS485通用的行业设备接口。

根据本发明的一实施方式,其中所述预设接口方式包括SMS接口方式,远程接口方式或者本地AT接口方式。

由上述技术方案可知,本发明的优点和积极效果在于:

1.本发明为了解决DalvikVM应用于嵌入式操作系统上的问题,对DalvikVM进行的重新定制和设计,使其对系统资源的要求更低,效率更高,可移植于像ThreadOS,NucleusOS等嵌入式操作系统。

2.本发明为实现软件硬件的分离功能,智能终端操作系统的软件在安装后可以进行升级,并且提供了丰富的物联网控制接口包括行业硬件接口,传感器接口。

3.对外的所有应用都运行在智能终端操作系统上,应用的能力对嵌入式操作系统的依赖性减少。智能终端操作系统(DthingOS)提供了统一的Java 开发应用接口(Application Programming Interface,API),应用只需理解Java开发,以及DthingOS提供的API,无需对各类嵌入式操作系统了解。

4.实现物联网设备的软硬件分离,能远程控制物联网设备的升级和远程管理。

5.云技术的支持,包括边缘计算模块,云端互联网协议的支持,如JSON打包模块;云端物联网标准支持,如MQTT通讯模块。

附图说明

图1是基于栈的Java虚拟机。

图2是基于寄存器的Java虚拟机架构。

图3是本发明实施例的智能终端操作系统的系统框架图。

具体实施方式

下文是举实施例配合所附附图作详细说明,但所提供的实施例并非用以限制本发明所涵盖的范围,而结构运作的描述非用以限制其执行的顺序,任何由元件重新组合的结构,所产生具有均等功效的装置,皆是本发明所涵盖的范围。此外,附图仅以说明为目的,并未依照原尺寸作图。为使便于理解,下述说明中相同元件将以相同的符号标示来说明。

在全篇说明书与权利要求书所使用的术语,除有特别注明外,通常具有每个术语使用在此领域中,在此揭露的内容中与特殊内容中的平常意义。某些用以描述本揭露的术语将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本揭露的描述上额外的引导。

本发明提出了一种应用于物联网的智能终端操作系统3,即DthingOS。在物联网设备硬件上对应用层来说该智能终端操作系统是硬件的唯一入口。该操作系统包括Dalvik虚拟机模块301,Java语言基础库304,Java动态加载模块305,物联网组网承载模块306,行业硬件接口模块307,传感器接口模块308,应用管理模块313,JSON打包模块309,MQTT通讯模块310,行业接口规范模块312,应用层接口314以及及移植层302。

Dalvik虚拟机模块303用以解析与执行Dalvik Java的指令。

Java语言基础库304包括Java语言支持必要的库,其中包含Java.lang,Java.io以及Java.net等语言库。

Java动态加载模块305允许用户开放功能模块库,并且将功能模块库动态地加载到智能终端操作系统上,该Java动态加载模块305可以帮助行业标准组织定义和开发相应的物联网标准组件。

JSON打包模块309用以将采集的原始数据打包成互联网网络协议需要的数据格式,其中原始数据通常为帧格式,JSON打包模块309将这种帧格式的原始数据打包成互联网网络协议所需要的数据格式,例如JSON格式。JSON格式是目前互联网通讯中常用的数据交换格式,轻量和易懂。进一步智能终端操作系统还提供HTTP协议支持和TCP协议,其中HTTP协议包含的内容越来越复杂,减少HTTP协议在互联网场景下才需要支持的参数和功能;TCP协议中将报文长度控制在一个报文里面传输到物联网设备的各种协议。

MQTT通讯模块310包含客户端部分,用以为物联网标准组织定义的物理设备管理协议。

物联网组网承载模块306用以负责支持不同的网络承载层的匹配与解析,且用以为应用层提供统一的网络访问接口。物联网设备需要支持不同的网络承载层,例如Zigbee网络承载协议、NFC网络承载协议、WiFi网络承载协议或NB-IOT网络承载协议。

行业硬件接口模块307用以与物联网设备进行通讯。行业硬件接口模块307包括RS232通用的行业设备接口或RS485通用的行业设备接口,使得智能终端操作系统3能够与物联网设备相互通讯,进而使得智能终端操作系统3能够应用到各个行业。进一步,行业硬件接口模块307也可以包括PLC,Modbus这些高层的行业设备接口的通信和支持。

传感器接口模块308用以与传感器进行通讯。传感器接口模块308包括ADC,GPIO,SPK,UART或I2C等支持,使得智能终端操作系统3能与物联网传感器相互通讯。

应用管理模块313用以根据预定接口方式对应用进行管理,包括远程下载、安装、运行、状态监测、停止、删除操作,且管理在所述物联网设备的上的所有应用的查看。于本实施例中,预定接口方式为SMS接口方式,远程接口方式或者本地AT接口方式。进一步应用管理模块313还包括对物联网设备本身的管理,例如物联网设备的用户配置,物联网设备的自启动以及物联网设备长期在线,用以解决物联网设备的碎片化问题,以及控制物联网设备的软件升级和远程管理。

物联网设备的碎片化问题是指物联网设备类型,数据类型以及控制方式等各不相同,对云端管理来说非常复杂,加上很难掌握各种物联网设备的属性,因此导致物联网的发展受限,应用管理模块将物联网设备的不同底层通讯统一成物联网终端,即可在一个软件平台开发,对于云端来说也是一个类型的接入,使得物联网设备的碎片化问题得到了很好的解决。应用管理模块能够控制物联网设备的软件升级以及对物联网设备进行远程管理。另外智能终端操作系统与物联网设备可以实现软硬件的分离,通过应用管理模块去控制各种物联网设备以及各种物联网传感器。

行业接口规范模块312用以根据不同行业开发相应的控制模块。智能终端操作系统应用于智能电网、智能照明、工业4.0、水务、智慧城市、智慧农业或智能环境等众多领域。针对不同领域的行业业务特性,行业硬件接口模块307进行了相适应适配,及开发相应的控制模块,例如智能照明领域路灯节点控制模块,工业4.0中工厂流程控制模块等;以及增加并定义了行业相关的新功能,例如资产管理模块、设备能耗采集模块、物联网设备的边缘计算模块、历史数据的时序存储、控制命令与数据通道的双向队列管理机制以及与云端服务器进行通讯的异步访问接口等。边缘计算模块311用以过滤大量的原始数据,减小网络负载过重的问题,其中包括对原始数据转换为浮点类型数据,过滤掉无用的数据,并且汇总和计算成云端需要的数据类型。历史数据的时序存储,用以为所述物联网设备提供数据缓存,以解决数据采集速度与云端传输速度上的不对称问题。与云端服务器进行通讯的异步访问接口,即异步访问Netty接口的支持,用以与云端服务器进行通讯。控制命令与数据通道的双向队列管理机制,所述控制命令与数据通道的双向队列管理机制包含命令队列,数据采集队列和数据发送队列等。

应用层接口314用以给用户提供应用开发接口,所述应用层接口包括应用的生命周期管理和应用层开发的应用接口。其中,生命周期管理包括从应用的启动到销毁的整个过程的管理和监控。应用层开发的应用接口包括对智能终端操作系统所能提供给应用的所有接口部分。

移植层302用以给所述Davlik 虚拟机模块303提供标准接口,将所述Davlik 虚拟机模块303移植到嵌入式操作系统301中。

进一步,智能终端操作系统3还包括内存管理机制,用以实时监测所述物联网设备的内存使用情况,并且进行垃圾内存回收,用以解决本地物联网设备数据采集量过多占用过多空间的问题,本发明的智能终端操作系统3提供了应用级的内存释放机制,实时监测当前物联网设备的内存使用情况,并可实时进行系统的垃圾内存回收。

在智能终端操作系统开放更底层的内存管理接口(Garbage Collection ,GC)给用户,可以让智能终端操作系统中的应用及时释放内存,解决物联网设备上资源紧缺的问题,且任务调度更加快速稳定。

智能终端操作系统还包括Eclipse应用开发环境插件,用以提供用户编译所述物联网设备的插件,即DthingOS Java开发插件,开发者可以在Eclipse进行开发DthingOS的Java应用。

智能终端操作系统还包括远程自动化测试工具,用户通过所述远程自动化测试工具对所述智能终端操作系统的稳定性和完整性进行测试。

智能终端操作系统还包括模拟器,用以在Windows环境下对所述智能终端操作系统进行运行测试,并输出接口。

需要说明的是,在前述实施例中所提及的步骤,除特别叙明其顺序者外,均可依实施需要调整其前后顺序,甚至可同时或部分同时执行,前述仅为一实施例,并非用以限定本发明。

虽然本发明以实施方式揭露如上,然其并非用以限定本发明,任何本领域具通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1