IoT设备脚本程序的开发部署系统、方法及存储介质技术方案

技术编号:20723888 阅读:26 留言:0更新日期:2019-03-30 17:28
本发明专利技术公开了IoT设备脚本程序的开发部署系统、方法及存储介质,系统包括服务器和客户端,所述服务器包括:Web服务器,用于提供外部设备的访问接口以及提供RESTful服务;核心组成转储组件,用于存储脚本程序的崩溃信息;调试器服务器,用于接收用户发出的调试指令以及收集系统运行信息;混合运行引擎,用于执行脚本程序以及优化脚本程序的开发运行环境;所述客户端包括:编译器,用于将原生高级语言编译成机器代码;调试器客户端,用于传输用户发出的调试指令。本发明专利技术降低了内存占用空间,提高了系统计算能力,还降低了服务器和客户端之间数据传输的延迟,可广泛应用于物联网技术领域。

【技术实现步骤摘要】
IoT设备脚本程序的开发部署系统、方法及存储介质
本专利技术涉及物联网
,尤其是IoT设备脚本程序的开发部署系统、方法及存储介质。
技术介绍
近年来,随着经济的高速发展和物联网行业的快速发展,物联网给人们的工作和生活带来了诸多的好处,到2025年,全球数据总量将会到达160ZB,其中有50%的数据来自用户设备,25%来自物联网设备。数据量的增长给物联网的发展带来了一系列的问题,比如网络拥挤,高延迟以及隐私问题等。许多物联网设备对延迟和计算能力的要求很高,为了解决这些问题,边缘计算的概念被提出来,边缘计算是指将本来位于云端的服务器从云端迁至离客户端更近的位置。但同时,边缘计算也带来了以下两个问题:(1)如何调试分布式动态系统?(2)如何最有效率的动态部署程序?因此,如何为物联网开发一个轻量级分布式开发系统成为亟待解决的问题。
技术实现思路
为解决上述技术问题,本专利技术的目的在于:提供一种延迟小且计算能力强的IoT设备脚本程序的开发部署系统、方法及存储介质。本专利技术一方面所采取的技术方案为:IoT设备脚本程序的开发部署系统,包括服务器和客户端,其中:所述服务器包括:Web服务器,用于提供外部设备的访问接口以及提供RESTful服务;核心组成转储组件,用于存储脚本程序的崩溃信息;调试器服务器,用于接收用户发出的调试指令以及收集系统运行信息;混合运行引擎,用于执行脚本程序以及优化脚本程序的开发运行环境;所述客户端包括:编译器,用于将原生高级语言编译成机器代码;调试器客户端,用于传输用户发出的调试指令。进一步,所述服务器和客户端通过RESTfulAPI实现数据通讯。进一步,所述混合运行引擎包括本地引擎和脚本引擎,所述脚本引擎建立在虚拟机上,所述本地引擎建立在操作系统上;其中,所述本地引擎,用于执行本地脚本应用程序;所述脚本引擎,用于提供脚本程序的运行环境以及管理脚本程序的生命周期。进一步,所述本地引擎还用于:调用物联网设备的CPU和RAM存储资源;提供对物联网设备资源的访问,所述物联网设备包括GPIO、FLASH和UART;提供定时、系统时间访问以及网络访问的功能;提供动态注册RESTful资源和取消RESTful资源的功能。进一步,所述服务器还包括REST引擎;所述REST引擎,用于提供基于CoAP或HTTP协议的松散耦合RESTful服务。本专利技术另一方面所采取的技术方案是:IoT设备脚本程序的开发部署方法,包括以下步骤:通过客户端的编译器将原生高级语言编译成机器代码;通过客户端的调试器客户端将调试指令发送至服务器;通过服务器的调试器服务器接收调试指令并收集系统运行信息;通过服务器的混合运行引擎执行脚本程序以及优化脚本程序的开发运行环境;通过服务器的核心组成转储组件存储脚本程序的崩溃信息;通过服务器的Web服务器提供外部设备的访问接口以及提供RESTful服务。进一步,所述通过服务器的混合运行引擎执行脚本程序以及优化脚本程序的开发运行环境这一步骤,包括以下步骤:通过脚本引擎提供脚本程序的运行环境以及管理脚本程序的生命周期;通过本地引擎调用物联网设备的CPU和RAM存储资源;通过本地引擎提供对物联网设备资源的访问,所述物联网设备包括GPIO、FLASH和UART;通过本地引擎提供定时、系统时间访问以及网络访问的功能;通过本地引擎提供动态注册RESTful资源和取消RESTful资源的功能。进一步,所述通过服务器的混合运行引擎执行脚本程序以及优化脚本程序的开发运行环境这一步骤,还包括以下步骤:通过REST引擎提供基于CoAP或HTTP协议的松散耦合RESTful服务;所述通过REST引擎提供基于CoAP或HTTP协议的松散耦合RESTful服务这一步骤,具体为:通过REST引擎进行宏定义,创建得到REST资源;向REST资源中添加缓存时间变量;为REST资源的HTTP请求指定缓存时间。进一步,所述服务器和客户端通过RESTfulAPI实现数据通讯。本专利技术另一方面所采取的技术方案是:存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的IoT设备脚本程序的开发部署方法。本专利技术的有益效果是:本专利技术通过服务器和客户端,实现了分布式动态调试、分布式动态程序开发以及分布式动态程序部署;再者,本专利技术还通过混合运行引擎,提供了混合式运行环境,降低了内存占用空间,提高了系统计算能力;另外,本专利技术在服务器和客户端上分别设置了调试器服务器和调试器客户端,降低了服务器和客户端之间数据传输的延迟。附图说明图1为本专利技术实施例的系统结构示意图。具体实施方式下面结合说明书附图和具体实施例对本专利技术作进一步解释和说明。如图1所示,本专利技术实施例提供了一种IoT设备脚本程序的开发部署系统,包括服务器和客户端,其中:所述服务器包括:Web服务器,用于提供外部设备的访问接口以及提供RESTful服务;核心组成转储组件,用于存储脚本程序的崩溃信息;调试器服务器,用于接收用户发出的调试指令以及收集系统运行信息;混合运行引擎,用于执行脚本程序以及优化脚本程序的开发运行环境;所述客户端包括:编译器,用于将原生高级语言编译成机器代码;调试器客户端,用于传输用户发出的调试指令。其中,开发者可以根据本专利技术的系统,在客户端上创建一个原生的开发系统,然后将开发系统部署在服务器上,开发人员可以在客户端中创建本机和脚本应用程序并将它们上传并部署在服务器端上的使用RESTfulAPI的设备,然后也可以通过RESTfulAPI来控制并调试核心组成转储组件。本实施例中,编译器将原生C语言编译成机器代码,在一些实施例中,高级语言还包括Fortran、Pascal、Cobol、C++、Basic、Ada、Java、C#等,在此不再赘述。本实施例中,调试器服务器的作用包括:(1)获取功能:获取系统当前的运行环境,包括声明变量,当前正在执行的代码和功能信息;(2)单步调试功能:逐行运行程序以及程序区块运行程序;(3)断点调试功能:包括添加,删除,启用和禁用断点上的操作;(4)回溯功能:列出调用当前功能的堆栈信息。本实施例的核心组成转储组件实现了STM32L152核心转储的机制。当程序崩溃的时候,通过核心组成转储组件,能够快速找到当时存储的崩溃信息。核心转储是指当程序崩溃或其他原因导致系统中断时,程序运行过程中内存中的记录和其他状态,如寄存器值,堆栈指针和内存管理信息等,将被存储在文件系统中供将来访问。核心转储函数库位于操作系统内核的底层,能够与设备的硬件进行通信并与固件相关联。核心转储过程的结果可以直接通过客户端发送给开发人员,也可以存储在东西设备的ROM中。在程序执行过程中,核心转储机制不会影响程序的正常执行过程,也不需要额外的存储空间,而且,当发生崩溃时,只需要一些额外的存储空间来保存异常信息和执行状态。本实施例实现了基于STM32L152开发板的核心转储机制。STM32L152板配备ARMCortex-M3CPU,其关键运行时间故障可分为四种类型:HardFault,BusFault,UsageFault,MemoryManagementFault。当程序崩溃时出现其中一个故障,本实施例根据上下文寄存器中的标志状态找到原因。当发生故障时,本文档来自技高网...

【技术保护点】
1.IoT设备脚本程序的开发部署系统,其特征在于:包括服务器和客户端,其中:所述服务器包括:Web服务器,用于提供外部设备的访问接口以及提供RESTful服务;核心组成转储组件,用于存储脚本程序的崩溃信息;调试器服务器,用于接收用户发出的调试指令以及收集系统运行信息;混合运行引擎,用于执行脚本程序以及优化脚本程序的开发运行环境;所述客户端包括:编译器,用于将原生高级语言编译成机器代码;调试器客户端,用于传输用户发出的调试指令。

【技术特征摘要】
1.IoT设备脚本程序的开发部署系统,其特征在于:包括服务器和客户端,其中:所述服务器包括:Web服务器,用于提供外部设备的访问接口以及提供RESTful服务;核心组成转储组件,用于存储脚本程序的崩溃信息;调试器服务器,用于接收用户发出的调试指令以及收集系统运行信息;混合运行引擎,用于执行脚本程序以及优化脚本程序的开发运行环境;所述客户端包括:编译器,用于将原生高级语言编译成机器代码;调试器客户端,用于传输用户发出的调试指令。2.根据权利要求1所述的IoT设备脚本程序的开发部署系统,其特征在于:所述服务器和客户端通过RESTfulAPI实现数据通讯。3.根据权利要求1所述的IoT设备脚本程序的开发部署系统,其特征在于:所述混合运行引擎包括本地引擎和脚本引擎,所述脚本引擎建立在虚拟机上,所述本地引擎建立在操作系统上;其中,所述本地引擎,用于执行本地脚本应用程序;所述脚本引擎,用于提供脚本程序的运行环境以及管理脚本程序的生命周期。4.根据权利要求3所述的IoT设备脚本程序的开发部署系统,其特征在于:所述本地引擎还用于:调用物联网设备的CPU和RAM存储资源;提供对物联网设备资源的访问,所述物联网设备包括GPIO、FLASH和UART;提供定时、系统时间访问以及网络访问的功能;提供动态注册RESTful资源和取消RESTful资源的功能。5.根据权利要求1所述的IoT设备脚本程序的开发部署系统,其特征在于:所述服务器还包括REST引擎;所述REST引擎,用于提供基于CoAP或HTTP协议的松散耦合RESTful服务。6.IoT设备脚本程序的开发部署方法,其特征在于:包括以下步骤:通过客户端的编译器将原生高级语言编译成机器代码;通过客户端的调试器客户端将调试指令发送至服务器;通过服...

【专利技术属性】
技术研发人员:王永斌
申请(专利权)人:广东宜通世纪科技股份有限公司
类型:发明
国别省市:广东,44

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

1