一种基于云物联技术的物联网创客平台的制作方法

文档序号:14392050阅读:623来源:国知局
本发明涉及计算机
技术领域
,尤其涉及一种基于云物联技术的物联网创客平台。
背景技术
:物联网智能化已经不再局限于小型设备阶段,而是进入到完整的智能工业化领域。一同发展的还有起到支撑作用的大数据、云计算、虚拟现实等多方位技术也一同助力支撑着整个大生态环境物联网化的变革。因此,为了促进当地物联网产业发展,有必要利用移动互联网、云计算和大数据等先进的信息技术,建立以物联网平台为核心的孵化平台,推动物联网智能创新应用,催生新产业,服务新业态,服务大众创业和万众创新。技术实现要素:为了解决以上技术问题,本发明提出了一种基于云物联技术的物联网创客平台。物联网创客平台基于物联网技术打造物联网创客孵化联盟。创客可以通过开发者中心、应用服务调用平台服务层api进行物联网应用的创新开发。同时,创客通过开发者社区进行在线交流,提升物联网创客能力,也可以通过成熟的案例展示快速了解物联网平台支撑服务。采用先进的云计算和物联网技术,又采用了成熟的面向服务架构,总体架构分为基础设施层、传感设备层、平台支撑和应用服务等四层进行设计。基础设施层是云计算资源池,采用云计算和虚拟化技术;设备接入层为各种传感设备接入平台提供相应的sdk;平台支撑层提供物联网基础服务和安全认证服务;应用服务层提供创客交流和案例展示中心。基础设施层是云计算资源池,采用云计算和虚拟化技术,对硬件资源进行集中整合和统一管理,为上层软件平台和业务提供可弹性实时调整的计算资源、内存资源、存储资源和网络资源等基础设施资源。设备接入层为各种传感设备接入提供相对应的sdk。利用sdk经过少量编码配置就可以完成传感设备接入平台,可以采集和控制设备。sdk库提供客户端api,并处理通信,数据编组,持久性,建模是根据实际业务来进行的,设备到平台的传输有相应的安全认证体系护航。设备通过sdk快速接入平台,减少了开发者的工作量和技术难度,使其专注业务创新应用。平台支撑层采用高可用高扩展分布式物联网技术体系,包含控制服务、操作服务和引导服务。控制服务管理整个系统数据,处理来自webui和外部集成系统的api调用,并向操作服务发送通知。操作服务的主要作用是同时与多个端点进行通信。操作服务处理端点请求并向其发送数据。引导服务将信息发送到关于操作服务连接参数的端点。根据配置的协议栈,连接参数可能包括ip地址,tcp端口,安全凭证等。应用服务层包含应用开发、开发者社区、案例展示、开发者中心,通过为创客提供数据采集控制能力、设备建模能力、开放学习交流社区、案例展示平台和创客管理等能力和服务,围绕物联网应用个人和小微企业创客提供孵化支撑。物联网创客平台基于发布订阅机制,采用http协议通过netty通讯框架进行数据的传输,经过avro数据序列化进行数据处理,完成整个数据传输通道。平台服务层基于apachethrift的跨语言通讯框架生成适应不同操作系统的sdk和设备进行交互。开发者通过社区、开发者中心、案例展示进行物联网应用的创新。本发明的有益效果是1、物联网创客平台使物联网开发变的简单,创客更关注于业务创新2、物联网创客平台有社区,物联网爱好者、创客、中小企业可以交流物联网知识。3、物联网创客平台提供成熟案例展示,使创客容易理解平台,也提供了宣传产品的渠道。4、物联网创客平台集群部署,负载均衡,支持数据大并发,数据海量存储,健壮性、稳定性好。附图说明图1是本发明的总体设计图。具体实施方式下面对本发明的内容进行更加详细的阐述:本发明开发一种基于云物联技术的物联网创客及方法,物联网创客平台基于物联网技术打造物联网创客孵化联盟。创客可以通过开发者中心、应用服务调用平台服务层api进行物联网应用的创新开发。同时,创客通过开发者社区进行在线交流,提升物联网创客能力,也可以通过成熟的案例展示快速了解物联网平台支撑服务。其实现原理如下:(一)设备接入层为了节省开发人员的时间,让用户专注于重要的业务逻辑,从而尽可能减少生产时间,平台提供端点sdk。端点sdk是一种库,可为平台提供特定sdk类型的通信,数据封送,持久性和其他功能。每个sdk类型都被设计为嵌入到您的客户端应用程序中,并与平台集群协同工作,该集群可作为特定iot解决方案的基于云的中间件。下表列举了平台支撑的主流硬件,以及平台sdk语言的支撑项目。平台cc++objective-cjavalinux支持支持支持windows支持支持qnxneutrinortos支持genericdesktop支持android支持ios支持raspberrypi支持支持inteledison支持beaglebone支持支持samsungartik5支持udoo支持texasinstrumentscc3200支持esp8266支持(二)平台服务层平台服务层是整个平台的核心。平台服务层基于发布订阅机制,采用http协议通过netty通讯框架进行数据的传输,经过avro数据序列化进行数据处理,完成整个数据传输通道。平台服务层基于apachethrift的跨语言通讯框架生成适应不同操作系统的sdk和设备进行交互。1、基于发布订阅机制服务订阅发布模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时,会通知所有订阅者对象,使它们能够自动更新自己的状态。一个抽象模型有两个方面,其中一方面依赖于另一方面,这时订阅发布模式可以将这两者封装在独立的对象中,使它们各自独立地改变和复用。订阅发布模式所做的工作其实就是在解耦合。让耦合的双方都依赖于抽象,而不是依赖于具体,从而使得各自的变化都不会影响另一边的变化。平台采用发布订阅机制完成数据采集、事件控制、数据输等服务,使平台各个模块松耦合。2、基于netty的通讯框架netty是业界最流行的nio框架之一,它的健壮性、功能、性能、可定制性和可扩展性在同类框架中都是首屈一指的,它已经得到成百上千的商用项目验证。hadoop的rpc框架avro就使用了netty作为底层通信框架,其他还有业界主流的rpc框架,也使用netty来构建高性能的异步通信能力。平台采用高效稳定netty通讯框架。3、基于avro数据处理技术avro是一个数据序列化系统,设计用于支持大批量数据交换的应用。它的主要特点有:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,avro提供的机制使动态语言可以方便地处理avro数据。平台服务把设备建模数据利用avro数据处理技术,进行高效数据处理。4、基于apachethrift的跨语言服务框架目前流行的服务调用方式有很多种,例如基于soap消息格式的webservice,基于json消息格式的restful服务等。其中所用到的数据传输方式包括xml,json等,然而xml相对体积太大,传输效率低,json体积较小,新颖,但还不够完善。本文将介绍由facebook开发的远程服务调用框架apachethrift,它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如c++,java,python,php,ruby,erlang,perl,haskell,c#,cocoa,smalltalk等创建高效的、无缝的服务,其传输数据采用二进制格式,相对xml和json体积更小,对于高并发、大数据量和多语言的环境更有优势。平台采用此框架生成适用于硬件平台的sdk开发库。(三)数据存储sql数据库实例用于存储租户,应用程序,端点组和其他不随着端点数增加而增长的元数据。通过在ha模式下部署sql数据库可实现平台群集的高可用性。平台正式支持mariadb和postgresql作为嵌入式sql数据库。数据库节点可以与同一物理机或虚拟机上的平台节点位于一起,并且应部署在ha模式下,以实现系统的整体高可用性。平台正式支持apachecassandra和mongodb作为嵌入式nosql数据库。1、主从复制模式的mysql集群平台的支撑服务、业务处理等需要事务处理的功能都将使用mysql作为主数据库。为了增加节点以提升数据安全性和数据的访问能力,互联网架构中最常用的做法是对mysql做主从复制(master-slave模式),即创建一到多个从库slave,通过mysql自带的同步机制实现从库slave与主库master的数据一致,从库可以作为数据备份节点和数据访问节点。2、基于组件化的分布式集群系统和nosql数据库物联网应用的特点之一就是需要实时收集海量设备数据,这些数据使用关系型数据库处理起来较为吃力,在数据扩容能力、并发性能、备份机制、数据分析等方面有明显的缺点。物联网基础支撑平台采用组件化输出配置,可以把采集到的数据存储到nosql数据库和大数据消息队列。物联网要解决实时、海量大并发,平台必须集群部署。通过zookeeper进行集群节点的调度,使平台具有高可靠性。要保证平台高可靠性,sql和nosql数据库同时具有高可靠性。(四)应用支撑层应用支撑层用于搭建平台系统的运行环境,支撑平台系统运行。1、基于gwt技术的平台管理系统gwt可以使用java编程语言编写ajax前端,然后gwt会交叉编译到优化的javascript中,而javascript可以自动在所有主要浏览器上运行。gwt允许开发人员使用java编程语言快速构建和维护复杂但性能高的javascript前端应用程序,从而降低了开发难度。gwtrpc使java通信都特别轻松且有效。类似于传统javarmi,只需创建一个用于指定您要调用的远程方法的接口。从浏览器调用远程方法时,gwtrpc将自动串行化参数,并调用服务器上的适当方法,然后反串行化客户端代码的返回值。平台管理系统采用gwt技术降低开发难度,和后台程序轻松通讯。2、负载均衡和会话粘连通过负载均衡工具实现前端请求的路由与分发,实现web服务器的弹性扩展。会话保持采用互联网主流的会话粘连(sessionsticky)技术,即同一个用户客户端(浏览器等)发送的所有请求都会被路由到同一个web服务器。浪潮在本方案中采用了nginx作为负载均衡服务器工具,并使用nginx的会话粘连扩展模块(nginx-sticky-module)实现会话保持。nginx采用异步代理模型,自带缓存模块,性能卓越。3、web服务器jetty平台内嵌jetty,用于支撑平台管理应用。jetty是一个开源的servlet容器,它为基于java的web容器。jetty是使用java语言编写的,它的api以一组jar包的形式发布。开发人员可以将jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的java应用提供网络和web连接。易用性是jetty设计的基本原则,同时具有可扩展性、易嵌入性。4、基于avro技术的ui表单建模avro是一个数据序列化系统。平台管理系统建模需要按照统一的格式,以avro模式完成ui表单建模,通过avro数据处理技术,对建模数据进行高效处理,提高平台性能。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1