威尼斯人棋牌-威尼斯欢乐娱人城-首页

一种应用于物联网行业的java解决方案的制作方法

文档序号:6510671
一种应用于物联网行业的java解决方案的制作方法
【专利摘要】本发明提供了一种应用于物联网行业的基于Android?Dalvik虚拟机机制的Java虚拟机系统,即Dthing系统,该系统包括:Java虚拟机内核模块、Java语言基础库模块和操作系统移植层。Dthing是利用开源免费的Dalvik虚拟机技术,进行重新设计,优化,裁剪,增加新功能,而研发出的一套适应于嵌入式系统的Java虚拟机解决方案。Dthing系统是高效的,对行业客户,对终端厂商,对应用开发者都有极大帮助的Java虚拟机解决方案。
【专利说明】—种应用于物联网行业的java解决方案
【技术领域】
[0001]本发明属于计算机系统领域,尤其涉及Java虚拟机领域,是一种基于AndroidDalvik虚拟机说明器,适用于嵌入式操作系统,物联网行业的新型Java虚拟机解决方案。
【背景技术】
[0002]Java语目是一种由SUN企业提出的计算机编程语目。Java虚拟机是指Java语目的运行环境。在手机终端操作系统中,Java虚拟机机制有基于SUN企业J2ME参考实现的栈虚拟机,主要应用于非智能手机上,以及智能手机上Android系统的基于寄存器的Dalvik虚拟机。
[0003]如图1所示,基于栈的虚拟机,其指令为单字节码,指令个数不超过256个。基于栈的虚拟机,所有指令实行均是在栈上进行,对于有多个操作数的指令,会将数据load到Java栈上后,再进行操作。
[0004]如图2所示,Dalvik VM是基于寄存器虚拟机。将JDK编译生成的class文件通过Dex工具处理后,生成Dex code,也可称为“双字节码”。其指令格式为均为双字节,即16位指令。Dalvik有虚拟寄存器,指令操作会将操作数load到寄存器后再进行运算等。
[0005]现有的J2ME规范和虚拟机主要针对非智能手机上游戏及应用设计,目前除了没有针对物联网行业做扩展外,其次如果厂商使用此类虚拟机,需要向SUN企业(目前的Oracle)交付昂贵的的License费用。
[0006]Android的Davlik虚拟机机制是完全开源的,但是Android的Dalvik虚拟机是基于Linux操作系统,并不适应于目前的物联网操作系统平台。

【发明内容】

[0007]本发明提供一种应用于物联网行业的基于Android Dalvik虚拟机机制的Java虚拟机系统,以解决J2ME规范和虚拟机没有针对物联网行业做扩展以及需要向SUN企业(目前的Oracle)交付昂贵的的License费用的问题以及解决Android的Dalvik虚拟机不适应于目前的物联网操作系统平台的问题。
[0008]为了解决上述问题,本发明提出了一种应用于物联网行业的基于AndroidDalvik虚拟机机制的Java虚拟机系统,即Dthing系统。该系统包括Java虚拟机内核模块、Java语言基础库模块和操作系统移植层;所述的Java虚拟机内核模块包含类加载模块、内存管理模块、垃圾回收模块、线程管理模块、虚拟机说明器模块Java虚拟机启动时,加载Java语言基础库模块,初始化系统,运行Java应用程序;所述类加载模块用于加载Java系统基础库,供说明运行Java应用时调用,类加载模块在类加载过程中采用和Java系统运行内存空间共享的方式来减少内存使用,同时移除Android MMAP机制以适应嵌入式操作系统环境;所述内存管理模块增加内存碎片整理频率以提高内存的重用;所述的垃圾回收模块采用优化的Mark-Sweep-Compact机制提高嵌入式设备中内存的使用效率;所述的线程管理模块采用轻型的线程机制,独立于操作系统;所述的虚拟机说明器模块根据精简的Java语言基础库简化或去除某些指令;所述的Java语言基础库模块根据物联网行业应用特性去除了标准Java语言库中某些功能,以减少虚拟机占用的空间;所述的操作系统移植层,为虚拟机调用平台功能提供的统一的接口定义,以提高虚拟机系统在不同操作系统或平台系统上移植的效率。
[0009]该Java虚拟机系统可以应用到物联网终端的操作系统上。
[0010]该系统还包括Java驱动模块,应用管理模块,运营商管理模块;所述Java驱动模块,实现了 Java层的驱动机制,以提高物联网中对海量传感器的管理;所述应用管理模块,实现了应用的远程控制;所述的运营商管理模块增加了对不同运营商协议的支撑。
[0011]该系统还定义了一种Java驱动方法,该方法包括:步骤一:将平台操作系统级的驱动的控制管理和数据读写提升到Java系统中实现;步骤二:平台操作系统只提供通用的硬件控制接口 ;步骤三:使用Java应用调用Java虚拟机提供的驱动单元控制接口。
[0012]该Java驱动方法适用于海量传感器部署后的驱动适配。
[0013]该系统实现移动WMMP协议的规范的步骤如下:步骤一 =Java系统启动后,将WMMP功能加载到系统中;步骤二 Java系统注册到移动运营商的运营管理平台,注册本地终端;步骤三:系统发送链接请求和运营商业务管理平台链接,完成业务流程。所述运营商协议包括移动WMMP协议。
[0014]由此可见,本发明具有如下优点:
[0015]1.本发明为了解决Dalvik VM应用到嵌入式操作系统上的问题,对DalvikVM进行的重新定制和设计,使其对系统资源的要求更低,效率更高,更适用于像ThreadX,Nucleus等嵌入式操作系统。
[0016]2.增加了物联网行业的特点,提出在虚拟机中增加Java动态驱动,远程监控等机制。
[0017]3.解决第三方的license费用。
[0018]Dthing虚拟机系统与J2ME虚拟机系统对比优势:
[0019]1.Dthing系统的说明器采用Android Dalvik VM的基于寄存器的虚拟机机制,其效率比基于栈的虚拟机机制效率更高。
[0020]2.现有的嵌入式Java虚拟机都是基于J2ME的架构,J2ME是面向非智能手机的行业,J2ME的技术规范在物联网行业并不适合。同时J2ME的技术规范长期没有更新,需要新技术进行补充。
[0021]3.Dthing系统的虚拟机基于Apache的license规范,不必向谷歌或SUN(Oracle)交付第三方license费用。
[0022]Dthing虚拟机系统与Android Dalvik虚拟机系统对比优势:
[0023]1.Android Dalvik虚拟机是基于Linux操作系统上设计的虚拟机机制。并且对硬件环境要求很高。
[0024]2.Android Dalvik虚拟机并不是单独的产品,它只存在于Android的手机操作系统中。因而尽管其效率很高,但是无法直接应用到其它行业。
[0025]Dthing虚拟机系统解决了 Android Dalvik虚拟机对资源要求高的问题,并将其应用到嵌入式操作系统上,扩展了其应用领域。同时Dthing系统针对嵌入式操作系统增强了相应的功能。【专利附图】

【附图说明】
[0026]图1是基于栈的Java虚拟机。
[0027]图2是基于寄存器的Java虚拟机架构。
[0028]图3是Dthing系统架构图。
【具体实施方式】
[0029]本发明提出了一种应用于物联网行业的基于Android Dalvik虚拟机机制的Java虚拟机系统,即Dthing系统,该系统Java虚拟机内核机制,Java语言基础库,操作系统移植层。所述的Java虚拟机内核部分有类加载模块,内存管理模块,垃圾回收模块,线程管理模块,虚拟机说明器模块。Java虚拟机运行过程包括虚拟机启动时的基础库加载,初始化,和虚拟机运行Java应用程序。所述的类加载模块用于加载Java系统基础库,供说明运行Java应用时调用,本发明的类加载模块在类加载过程中和Java系统运行内存空间共享方式减少内存使用,同时移除Android MMAP机制以适应嵌入式操作系统环境。所述内存管理模块增加内存碎片整理频率以提高内存的重用。所述的垃圾回收模块采用优化的Mark-Sweep-Compact机制提高嵌入式设备中内存的使用效率。所述的线程管理模块采用轻型的线程机制,独立于操作系统。所述的虚拟机说明模块根据精简的Java语言基础库简化或去除某些之类。所述的Java语言基础库根据物联网行业应用特性去除了标准Java语言库中某些功能,如屏幕,媒体等,以减少虚拟机占用的空间。所述的操作系统移植层,为虚拟机调用平台功能提供的统一的接口定义,这周方式提高了虚拟机系统在不同操作系统,平台系统上移植的效率。
[0030]该系统还包括Java驱动模块,应用管理模块,运营商管理模块中。所述Java驱动模块,实现了 Java层的驱动机制,以提高物联网中对海量传感器的管理。所说应用管理模块实现了应用的远程控制。所述的运营商模块增加了对不同运营商如移动WMMP协议的支撑。
[0031]本发明使用Android的Dalvik VM虚拟机机制,可以避免向SUN交付昂贵的License费用。从而大大降低了虚拟机应用到嵌入式系统后的成本问题。同时也打破了嵌入式环境下Java虚拟机的垄断局面。
[0032]下面结合附图3对本发明进行详细说明:
[0033]操作系统:虚拟机运行的嵌入式环境
[0034]App平台:不同的芯片模块有不同的App平台,App平台提供对各种硬件支撑以及各类服务的封装。有屏幕;网络;传感器;文件系统;事件通讯机制和消息机制;
[0035]操作系统移植层:这层主要是对平台和操作系统的封装,使得上层系统不用随平台和操作系统的变化而做大的修改。包括平台无关封装,系统函数封装,平台函数封装,以及驱动封装
[0036]虚拟机内核:为Dalvik虚拟机的核心运行模块,主要包括JNI接口实现;说明器,内存管理,垃圾回收机制,调试管理,类加载。
[0037]第三方库:为Dalvik虚拟机运行中使用的第三方库。如:数据库;安全模块;压缩模块;语言支撑。[0038]Dthing Java系统库:为Dalvik VM系统的各类Java服务模块,为最终的M2M应用提供各类的功能和服务。包括:应用管理模块Java动态加载模块J2SE基础库模块;M2M协议扩展模块;WMMP协议支撑;0SGi架构模块;多任务模块Java语言基础库
[0039]Dalvik虚拟机内核,Dthing Java系统库,系统移植层构成了 Dthing这样一个Java中间件系统。
[0040]下面对该系统包括的各个模块进行详细描述:
[0041]类加载模块:在Android的虚拟机系统中,类加载模块采用Linux的MMAP方式加载优化过后的Java文件,随后映射到内存中进行Java基础库的加载,并且使用大量的内存来实现内存的加载。Dthing系统将MMAP机制移除,采用和主内存模块共享内存空间,已减少内存的使用。
[0042]内存管理模块=Android的虚拟机管理模块预留了至少SM字节的内存空间,并且会根据上层Framework的要求大块的增加内存。Dthing系统将增加内存管理和碎片整理的频率以提高内存的重用,从而将内存最大值降低到可接受的范围(2M-3M字节)。
[0043]垃圾回收机制:采用Mark-Sweep-Compact的机制,会在算法中进行优化,以提高嵌入式设备中内存的使用效率。
[0044]线程管理机制:Android的虚拟机线程管理机制是基于Linux的pthread机制提供的丰富的接口功能供虚拟机使用。但是在嵌入式操作系统中,线程管理都会有各种限制。Dthing系统将实现独立于操作系统的轻量型线程管理机制,这不仅增加了 Dthing系统平台的独立性,同时线程管理功能更简单。
[0045]虚拟机说明器:虚拟机说明器会根据虚拟机基础库的功能,简化某些指令的实行过程,以提闻实行效率。
[0046]Java语言基础库:Java语言通用库通常会大而全,Dthing系统根据物理网行业的应用去除了物联网行业不用的功能,如复杂的屏幕操作,多媒体的支撑等,这样既减少整个系统的空间占用,同时为虚拟机很多模块提供的优化的基础。
[0047]应用管理模块=Dthing系统加入了远程应用管理模块,以进行终端系统的远程监控。远程应用管理模块包括:本地应用列表,远程启动,远程删除,远程停止,远程加载更新应用。
[0048]Java驱动模块=Dthing系统定义了 Java驱动模型,可以远程将各类传感器驱动动态加载到Dthing终端系统,这样可以实现传感器的即插即用功能,同时可以做到物联网的后向部署-即在物联网终端部署后,可以通过更改不同传感器,以及远程应用程序的更新,来实现物联网新的部署和功能的升级。
[0049]本发明并不局限于上述【具体实施方式】,本发明可以有各种修改和替代形式,在附图和详细说明中一些具体的实施例只是作为实例加以表述。但应理解,这些附图和详细说明绝不是为了将本发明限制在所公开的具体形式上,相反,本发明应包括在权利要求书所定义的范围内的全部修改、等效形式和替代形式。
【权利要求】
1.一种应用于物联网行业的基于Android Dalvik虚拟机机制的Java虚拟机系统,其特征在于,该系统包括=Java虚拟机内核模块、Java语言基础库模块和操作系统移植层;所述的Java虚拟机内核模块包含类加载模块、内存管理模块、垃圾回收模块、线程管理模块、虚拟机说明器模块Java虚拟机启动时,加载Java语言基础库模块,初始化系统,运行Java应用程序;所述类加载模块用于加载Java系统基础库,供说明运行Java应用时调用,类加载模块在类加载过程中采用和Java系统运行内存空间共享的方式来减少内存使用,同时移除Android MMAP机制以适应嵌入式操作系统环境;所述内存管理模块增加内存碎片整理频率以提高内存的重用;所述的垃圾回收模块采用优化的Mark-Sweep-Compact机制提高嵌入式设备中内存的使用效率;所述的线程管理模块采用轻型的线程机制,独立于操作系统;所述的虚拟机说明器模块根据精简的Java语言基础库简化或去除某些指令;所述的Java语言基础库模块根据物联网行业应用特性去除了标准Java语言库中某些功能,以减少虚拟机占用的空间;所述的操作系统移植层,为虚拟机调用平台功能提供的统一的接口定义,以提高虚拟机系统在不同操作系统或平台系统上移植的效率。
2.如权利要求1所述的系统,其特征在于,该Java虚拟机系统可以应用到物联网终端的操作系统上。
3.如权利要求1或2所述的系统,其特征在于,该系统还包括=Java驱动模块,应用管理模块,运营商管理模块;所述Java驱动模块,实现了 Java层的驱动机制,以提高物联网中对海量传感器的管理;所述应用管理模块,实现了应用的远程控制;所述的运营商管理模块增加了对不同运营商协议的支撑。
4.如权利要求1-3任一项所述的系统,其特征在于,该系统还定义了一种Java驱动方法,该方法包括:步骤一:将平台操作系统级的驱动的控制管理和数据读写提升到Java系统中实现;步骤二:平台操作系统只提供通用的硬件控制接口 ;步骤三:使用Java应用调用Java虚拟机提供的驱动单元控制接口。
5.如权利要求4所述的系统,其特征在于,该Java驱动方法适用于海量传感器部署后的驱动适配。
6.如权利要求1-3任一项所述的系统,其特征在于,该系统实现移动WMMP协议的规范的步骤如下: 步骤一:Java系统启动后,将WMMP功能加载到系统中; 步骤二 Java系统注册到移动运营商的运营管理平台,注册本地终端; 步骤三:系统发送链接请求和运营商业务管理平台链接,完成业务流程。
【文档编号】G06F9/455GK103530165SQ201310404344
【公开日】2014年1月22日 申请日期:2013年9月6日 优先权日:2013年9月6日
【发明者】许小刚, 常欣, 石亮, 龙帆, 黄传 申请人:北京雅鲁藏布科技有限企业
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

威尼斯人棋牌|威尼斯欢乐娱人城

XML 地图 | Sitemap 地图