一种基于物联网感知设备云端仿真节点的云服务***
技术领域
本发明属于网络技术领域,涉及物联网和云计算,特别是一种基于物联网感知设备云端仿真节点的云服务***。
背景技术
物联网是新一代信息技术的高度集成和综合运用,物联网技术的发展离不开云计算技术的支撑,物联网为云服务平台提供海量物联信息,云服务平台处理整合物联信息为服务程序,云端物联技术将是物联网技术发展的一个重要趋势。
多智能传感设备的交互联动是物联网的一个重要特性,处于不同区域和不同网络的传感设备之间的联动和交互将会变的越来越频繁。但是,随着物联网规模的不断扩大,设备和网络也变得越来越复杂,这限制了设备与设备、与服务之间的直接通信,将直接导致多个设备的实时联动效率低下。当云服务需要访问大量处于不同地区具有不同类型的物联网感知设备的实时数据时,直接与各地区物联网信息交互会带来巨大负载压力。
申请号为201410801915.2的专利申请提出了一种对物联网感知设备进行云端实时仿真的***,该***包括用于进行数据采集的物联网感知设备、用于实现接入和融合的物联网网关设备以及用于进行云端仿真的云端设备仿真中心,云端设备仿真中心在云端建立仿真节点对物联网感知设备进行实时仿真,使物联网感知设备和其所对应的云端仿真节点的数据和属性保持一致性,使得云端仿真节点具有同其对应的感知设备同样的功能,云服务程序或应用程序通过访问云端仿真节点的形式与物联网感知设备进行数据的交互而不必关心实际感知设备的位置及访问方式。
然而物联网感知设备云端实时仿真节点本身无法对外直接提供服务还需要专门的云服务***作支撑;对物联网感知设备进行云端实时仿真的***中由于物联网感知设备的差异性较大,无法对底层差异进行封装整合后提供对外统一的接口;上述***不能针对物联网感知设备云端仿真节点产生的海量实时数据的特殊性提供有效的存储方案;上述***不能够针对用户权限和需求的不同更好地分别为各特权级用户提供不同的服务。
发明内容
有鉴于此,本发明提出了一种基于物联网感知设备云端仿真节点的云服务***。本发明为物联网感知设备云端实时仿真节点对外提供云服务提供支撑;利用层次化设计方法对不同层次进行封装整合,屏蔽了***的低层差异性对外提供统一的接口,并且根据用户的认证信息提供了相应特权级的实时或非实时服务;针对物联网感知设备产生的大量实时数据的及时有效存储问题,本发明也提出了相应的方案和措施;除提供一般云端应用服务程序外还能够为用户提供云端定制化服务程序以满足用户的特殊需求。
本发明解决其技术问题所采取的技术方案如下,所述的一种利用物联网感知设备云端仿真节点实现的云服务***,包括:
用于从物联网感知设备云端仿真节点获取仿真数据并对外提供数据访问接口的仿真***层、通过访问程序的属性和设备信息进行访问控制认证的访问认证层、能够同时对外提供云端定制程序服务和云端应用服务程序的云端服务层、用于存储处理用户信息及对用户直接提供服务的用户层。所述一种基于物联网感知设备云端仿真节点的云服务***从底层到顶层的层次顺序分别为:仿真***层、访问认证层、云端服务层和用户层。
上述一种基于物联网感知设备云端仿真节点的云服务***,
所述仿真***层包括用于获取数据的物联网感知设备云端仿真节点和用于提供仿真节点数据服务的云端仿真节点数据访问接口;所述物联网感知设备云端仿真节点是物联网感知设备的云端仿真体,所述物联网感知设备云端仿真节点中保存着物联网感知设备的最新数据,所述云端仿真节点数据访问接口从所述物联网感知设备云端仿真节点中获取数据并将数据以访问接口的形式提供给所述云端访问认证层。
所述访问认证层包括采用基于角色的访问控制模式的认证控制模块和用于存储设备信息并为认证控制模块的访问认证提供设备信息数据的设备信息模块;认证控制模块采用基于角色的访问控制模式根据访问程序的属性确定程序的访问角色,设备信息模块存储设备信息并为认证控制模块的访问认证提供设备信息数据。
所述云端服务层包括用于从仿真***中获取最新数据并传送最新数据到仿真***层的实时数据模块、采用分布式存储方式将大量种类众多的数据存储到云端并获取最新数据并将最新数据存储于分布式***中的历史数据模块、云端定制服务程序模块和云端应用服务程序模块;具体地,所述实时数据模块和所述历史数据模块共同构成数据服务中心;所述云端定制服务程序模块和云端应用服务程序模块共同构成云端程序服务中心。
上述云端服务中心实时数据模块不断的从仿真***层获取最新物联网感知设备最新数据,一方面将最新数据发布成实时数据服务接口,另一方面将实时数据传送给历史数据模块。历史数据模块采用分布式存储架构,利用基于文档的非关系型数据库分布式数据库***存储和检索海量数据,历史数据模块不断将从实时数据模块获取的最新数据进行处理后存入到分布式数据***中。
云端定制服务程序模块以定制程序服务的形式访问数据,所述云端定制服务程序模块允许用户通过所述用户层上传用户定制的程序访问所述实时数据模块和所述历史数据模块提供的数据;所述云端应用服务程序模块允许用户使用存储于云端应用服务程序模块的程序访问实时数据模块和历史数据模块提供的数据。
所述用户层包括用于向用户实体提供所述云端服务层访问的各种功能接口的用户***访问接口和用户实体。用户***访问接口向用户实体提供所述云端服务层访问的各种功能接口,所述用户实体管理映射用户信息是用户在***中的逻辑映射,所述用户实体能够对其对应的用户进行认证,认证通过的用户能够通过其对应的所述用户实体访问数据用户***访问接口的数据和功能。
上述一种基于物联网感知设备云端仿真节点的云服务***,所述的访问认证层通过访问程序的属性和设备信息进行访问控制认证如下:
(1)认证控制模块根据访问程序的访问属性初始化程序角色映射表;
(2)认证控制模块遍历程序角色映射表确定请求服务的云端服务程序的角色;
(3)认证控制模块根据云端服务程序的角色遍历角色权限映射表确定请求服务的云端服务程序的权限;
(4)访问认证层根据请求服务的云端服务程序请求访问的设备遍历设备信息模块的设备信息表,确定请求服务的云端服务程序请求服务的云端访问节点数据访问接口;
(5)访问认证层根据请求服务的云端服务程序的权限确定是否为该云端服务程序提供对该云端访问节点数据访问接口的访问服务。
上述一种基于物联网感知设备云端仿真节点的云服务***,所述云端定制服务程序模块为请求定制服务的用户提供服务的过程如下:
(1)云端定制服务程序模块给具有定制程序服务权限的用户分配程序存储空间和数据获取接口,所述数据获取接口是从所述实时数据模块和所述历史数据模块获取数据的中介;
(2)用户利用所述历史数据获取接口编写自己的定制服务程序并将程序上传后请求对定制服务程序进行处理;
(3)云端定制服务程序模块接收到用户请求后首先对程序进行检错后编译,若检错和编译的过程中发现错误则提醒用户进行修改后继续进行检错和编译;
(4)编译后的云端定制服务程序可根据用户的需要进行执行以使用户能够使用云端定制程序服务。
本发明的有益效果具体表现在以下几个方面:
1.解决了物联网感知设备进行云端实时仿真的***本身无法直接对外提供云服务的问题;
2.对物联网感知设备低层差异性进行了封装整合,对外提供了统一的功能访问用户***访问接口。
3.针对物联网感知设备云端仿真节点实时数据的特殊性提供分布式存储方案,便于海量物联网感知设备数据的存储;
4.能够为根据用户的不同需求提供云端应用程序服务和云端定制程序服务,便于***功能的扩展。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明的***架构图;
图2是访问认证层通过访问程序的属性和设备信息进行访问控制认证的示意图;
图3是本发明分布式存储***的结构图;
图4是本发明的云端定制服务程序模块为请求定制服务的用户提供服务的过程示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。
本发明实施例目的之一、是提供一种基于物联网感知设备云端仿真节点的云服务***,利用对物联网感知设备进行云端实时仿真***对外提供的数据访问接口以极高效率获取不同区域物联网感知设备大量的实时数据,以物联网感知设备云端实时仿真***的信息安全方法为保障保证***的安全性,采用分布式的存储方法在云端存储物联网感知设备产生的大量多类型的实时数据,提供用户访问接口同时能够为***用户提供应用程序服务和定制程序服务。
主要实现以下功能:
(1)使用安全有效方法从物联网感知设备进行云端实时仿真的***对外提供的数据访问接口中获取实时数据。
(2)将获取到的实时数据进行分布式存储和处理:本发明利用分布式存储方案在云端存储海量物联网感知设备产生的海量实时数据,并利用分布式并行处理计算处理实时获取和存储在云端物联网感知设备的感知数据。
(3)对外提供云端定制服务和云端应用服务:本发明利用从物联网感知设备云端仿真节点中获取的实时仿真数据和存储于云端的历史数据对外提供云端定制服务和云端应用服务并对外提供用户***访问接口。
为达到上述目的,一种基于物联网感知设备云端仿真节点的云服务***架构图如图1所示,***总体从底层到顶层的层次顺序上分为***仿真层、访问认证层、云端服务层和用户层,其中:
仿真***层包括物联网感知设备云端仿真节点和用于提供仿真节点数据服务的云端仿真节点数据访问接口。物联网感知设备云端仿真节点是物联网感知设备的云端仿真体,物联网感知设备云端仿真节点是利用对物联网感知设备进行云端实时仿真的***产生的,其中保存着物联网感知设备的最新数据。云端仿真节点数据访问接口从所述物联网感知设备云端仿真节点中获取数据并将数据以访问接口的形式提供给所述云端访问认证层,云端仿真节点数据访问接口是本发明低层数据获取接口。
云端访问认证层通过访问程序的属性和设备信息进行访问控制认证,云端访问认证层包括认证控制模块和设备信息模块,设备信息模块存储设备信息并为认证控制模块的访问认证提供设备信息数据,如图2所示访问认证层通过访问程序的属性和设备信息进行访问控制认证如下:
(1)认证控制模块根据访问程序的访问属性初始化程序角色映射表;
(2)认证控制模块遍历程序角色映射表确定请求服务的云端服务程序的角色;
(3)认证控制模块根据云端服务程序的角色遍历角色权限映射表确定请求服务的云端服务程序的权限;
(4)访问认证层根据请求服务的云端服务程序请求访问的设备遍历设备信息模块的设备信息表,确定请求服务的云端服务程序请求服务的云端访问节点数据访问接口;
(5)访问认证层根据请求服务的云端服务程序的权限确定是否为该云端服务程序提供对该云端访问节点数据访问接口的访问服务。
所述云端服务层包括实时数据模块、历史数据模块、云端定制服务程序模块和云端应用服务程序模块;所述实时数据模块和所述历史数据模块为所述云端服务程序模块和云端应用服务程序模块提供数据服务。
所述实时数据模块通过所述访问认证层从仿真***中获取最新数据并能够传送最新数据到仿真***层。实时数据模块通过访问认证层从仿真***中获取最新数据时作为所述实时数据获取实体通过如图2所示的形式获取和传送实时数据。
所述历史数据模块采用分布式存储方式将大量种类众多的数据存储到云端,所述历史数据模块能够从所述实时数据模块获取最新数据并将最新数据存储于分布式存储***中,分布式存储***的结构图如图3所示。分布式存储***由主存取节点和从存取节点构成,每个主存取节点和每个从存取节点都分别对应一个云端主机,主存取节点负责对外提供存取接口以及存取任务和资源的分配,从存取节点根据主存取节点分配的任务进行数据的存取;主存取节点根据物联网感知设备产生数据类型的不同利用存取规则将要存储的数据分配到每个从存取节点中并利用同样的存取规则获取已经存取的数据,所述存取规则可以是根据数据的关键字进行的哈希规则也可以是其他用于进行存取任务分配的存取规则。
所述云端定制服务程序模块以定制程序服务的形式访问数据,云端定制服务程序模块允许用户通过用户层上传用户定制的程序访问实时数据模块和历史数据模块提供的数据,云端定制服务程序模块具有存储用户定制程序、编译用户定制程序和执行用户定制程序的功能。如图4所示云端定制服务程序模块为请求定制服务的用户提供服务的过程如下:
(1)云端定制服务程序模块给具有定制程序服务权限的用户分配程序存储空间和数据获取接口,所述数据获取接口是从所述实时数据模块和所述历史数据模块获取数据的中介;
(2)用户利用所述历史数据获取接口编写自己的定制服务程序并将程序上传后请求对定制服务程序进行处理;
(3)云端定制服务程序模块接收到用户请求后首先对程序进行检错后编译,若检错和编译的过程中发现错误则提醒用户进行修改后继续进行检错和编译;
(4)编译后的云端定制服务程序可根据用户的需要进行执行以使用户能够使用云端定制程序服务。
云端应用服务程序模块允许用户通过用户层访问存储于云端应用服务程序模块的程序访问实时数据模块和历史数据模块提供的数据,云端应用服务程序模块是提前编写完成并编译后的服务程序,为用户层提供调用接口,云端应用服务程序以SaaS的模式对外提供服务,用户层能够通过云端应用服务程序直接使用云端应用服务。
所述用户层包括用户***访问接口和用户实体,所述用户***访问接口向用户实体提供云端服务层访问的各种功能接口,所述用户实体管理映射用户信息是用户在***中的逻辑映射,所述用户实体能够对其对应的用户进行认证和访问控制,认证通过的用户能够通过其对应的所述用户实体访问用户***访问接口。用户向用户层发起认证和注册请求后,用户层根据用户提供的证书等相关信息对用户进行认证认证通过后在用户层产生用户实体,当用户使用用户层提供的功能时由其对对应的用户实体对其进行再次认证和访问控制;当用户认证失败时***删除其所对应的用户实体。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。本实施方式中没有详细叙述的部分属本行业的公知的常用手段,这里不一一叙述。