公开/公告号CN113220283A
专利类型发明专利
公开/公告日2021-08-06
原文格式PDF
申请/专利权人 国网陕西省电力公司信息通信公司;
申请/专利号CN202110507359.8
申请日2021-05-10
分类号G06F8/30(20180101);G06F8/35(20180101);G06F11/36(20060101);
代理机构11430 北京市诚辉律师事务所;
代理人朱伟军;耿慧敏
地址 710004 陕西省西安市新城区尚德路79号
入库时间 2023-06-19 12:07:15
技术领域
本发明属于物联网开发技术领域,涉及一种基于云编排的物联APP开发系统。
背景技术
传统的工业物联网APP开发模式需要专业的开发人员对业务进行系统级代码开发,开发周期长且移植性差;终端物联设备多采用业务功能相对固定的一体机,应用软件由设备厂商开发且不易管控;业务应用的更新升级需要厂商深度参与,无法由客户进行个性化迭代开发。
传统基于本机代码(Native Code)的物联APP开发方式面临如下问题:
1.代码开发门槛高,合适的开发人员少:由于边侧终端设备为了完成特定业务场景,涉及的周边硬件对接及处理是软硬件结合的一个行业,不但要懂得软件方面的编程,还要了解硬件包括电路、单片机、arm等相关知识。
2.涉及平台多,各种交叉编译纷繁复杂:涉及的CPU架构平台,X86、X86-64、ARM各种型号;涉及的指令集包括CISC、RISC、RISC Five;涉及的操作系统更是繁多,例如Windows族、Linux族等等。平台、指令集、操作系统的多样性不可避免的导致了复杂且易出错的交叉编译过程。
3.需要现场逐台设备部署应用:边侧的终端设备往往数量较多,开发完成的应用需要逐一现场手动安装部署,耗时耗力。
4.开发沟通成本高:一个涉及云端、边侧的完整物联系统,云端和边侧缺少统一的开发工具,这样就导致双方的工作人员需要频繁的沟通以完成物联APP的开发和调试。
5.采用硬编码方式,开发效率低:目前大多数的边侧终端设备的物联APP采用C、C++等硬编码的方式开发,在部分资源较充裕的边侧设备或采用其它高级语言。
6.功能模块没有快速复用机制:边侧终端设备上物联APP的开发往往是代码级的复用,没有功能模块封装规范、没有模块组合编排的工具,导致无法方便快捷的复用已有代码资产,造成了开发人力、开发时间等资源的浪费。
7.应用部署后即固化,无法便捷的修改:传统的边侧终端设备应用部署完毕后,任何功能上的修改都需要重新进行完整的物联APP开发流程,没有方便的云边协同的物联APP开发、部署机制,不利于物联APP的版本迭代更新。
发明内容
本发明的目的是提供一种基于云编排的物联APP开发系统,该系统实现了业务与技术解耦、软件与硬件解耦的同时,降低了开发的难度和门槛。
本发明所采用的技术方案是,一种基于云编排的物联APP开发系统,包括APP编排模块、APP部署模块及APP运行引擎模块;
所述APP编排模块用于实现云端APP的业务逻辑编排和可复用组件开发;
所述APP部署模块用于实现云端将APP部署到指定边缘物联代理装置,并提供引擎实例和APP实例的管理;
APP运行引擎模块用于实现边缘侧APP的运行态执行。
本发明的特点还在于:
APP编排模块包括在线开发门户、APP管理、组件管理及开发资源中心。
在线开发门户包括APP创建、APP浏览、APP可视化编排、在线调测、组件浏览、组件安装、组件导入、组件在线开发。
APP管理包括APP流程管理、APP流程测试、APP流程模板及流程元数据。
组件管理包括组件包上传、在线构建工具、组件生成及组件测试。
开发资源中心包括组件发布、组件订阅、组件审批、组件授权及组件仓库。
在线开发门户、组件管理及开发资源中心中涉及的各组件均基于Node.js开发,采用类npm包的形式,托管在公有组件库中。
各组件之间的数据流向与逻辑拓扑采用JSON文件描述。
APP部署模块包括引擎实例管理、APP实例管理、APP部署下发、参数配置下发及日志管理。
APP运行引擎模块包括包括APP解释器、云端命令执行模块、日志上传管理及多用户隔离。
本发明的有益效果是,本发明提出基于云编排端部署的物联终端APP开发模式,使用可复用的组件灵活构建物联APP,实现业务与技术解耦、软件与硬件解耦,简化边缘侧开发过程,面向各领域物联应用场景灵活开发物联APP。与同类型解决方案相比,本发明降低开发难度和门槛,便于安全管控,可有效适用于装备制造业、电子通信设备制造业、电力电网等生产、制造及服务行业。
附图说明
图1是本发明一种基于云编排的物联APP开发系统的结构示意图。
图中,1.APP编排模块,2.APP部署模块,3.APP运行引擎模块。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于云编排的物联APP开发系统,如图1所示,包括APP编排模块1、APP部署模块2及APP运行引擎模块3;
APP编排模块1用于实现云端APP的业务逻辑编排和可复用组件开发;
APP编排模块1包括在线开发门户、APP管理、组件管理及开发资源中心。
在线开发门户包括APP创建、APP浏览、APP可视化编排、在线调测、组件浏览、组件安装、组件导入、组件在线开发。
APP管理包括APP流程管理、APP流程测试、APP流程模板及流程元数据。
组件管理包括组件包上传、在线构建工具、组件生成及组件测试。
开发资源中心包括组件发布、组件订阅、组件审批、组件授权及组件仓库。
APP部署模块用于实现云端将APP部署到指定边缘物联代理装置,并提供引擎实例和APP实例的管理;
APP运行引擎模块用于实现边缘侧APP的运行态执行。
APP部署模块2包括引擎实例管理、APP实例管理、APP部署下发、参数配置下发及日志管理。
APP运行引擎模块3包括APP解释器、云端命令执行模块、日志上传管理及多用户隔离。
本发明一种基于云编排的物联APP开发系统包括如下四个技术特点:
1.采用APP柔性开发模式:
为了实现“低代码、重编排”的APP柔性开发模式,将APP定义为“组件+流程”的组合。
组件,是指能实现特定功能的、可供调用的、封装完好并正确暴露接口的独立模块。组件基于Node.js开发,采用类npm包的形式,托管在公有组件库中,供开发者复用。
在将APP的功能模块分为通用、函数、解析、存储、数据结构等类别的基础上,本发明以组件的形式,实现了用户在常见业务场景中所需的功能。
本发明中提到的组件包括:电力行业标准通信协议解析组件、设备运行状态监测组件、常用文件类型内容解析组件、数据库DML操作组件。并且向有经验的开发者团队开放了平台组件开发功能,开发者可根据自身业务场景需求,自行开发、上传组件,经审核后加入组件库,供其他开发者使用。
流程,是指组件之间的数据流向与逻辑拓扑。用户通过编排组件之间的拓扑结构,以及少量特定功能的自定义代码片段,实现对数据的处理,从而形成针对某业务场景的业务流程。如此,用户通过编排为主,代码为辅的形式,通过组件和流程,构成了一个能够满足特定业务场景的完整的物联APP。
2.“一次下发,多端运行”的批量发布模式:
用户在云端编排完成APP之后,可以生成该APP的元文件,该元文件包括用户所编排的流程信息及其所涉及的组件集合。组件通过平台内唯一组件ID标识;流程信息以JSON的形式,描述了组件之间,以及用户编写的代码片段的拓扑关系。通过网络将APP的元文件下发至指定边缘侧终端,终端会检测元文件内容,更新终端上的流程,并且检测其中所涉及的组件是否在终端上已经存在,以及组件版本与终端上现有的组件版本是否一致。若存在组件缺失或者版本不一致,即向组件托管库请求下载,获取符合APP需求的组件。由于不同APP之间使用的组件不同,下发的覆盖范围也不同,各个终端上的组件数量以及版本会出现差异,但每次下发,对应的终端可以找到自己环境和目标环境之间的差异并弥补,从而实现了“一次下发,多端运行”的批量发布模式。
3.多平台终端适配功能:
随着物联网的不断扩大,边缘侧终端的数量和类型急速上升,APP也要面临下发在不同芯片、不同指令集设备上的情况。为了不将多平台适配的任务落在开发者的身上,本发明实现了柔性APP多平台终端适配功能。
采用本发明一种基于云编排的物联APP开发系统开发的APP构成为“组件+流程”,流程采用JSON文件描述,JSON文件本身不具备平台依赖性,天然可实现跨终端适配。组件基于Node.js开发,属于解释型语言,其运行环境需要引擎支持,引擎具有平台依赖性。本发明通过交叉编译的形式,在云端编译生成符合目标边缘侧终端平台的引擎,以镜像文件的形式下发到边缘侧平台,通过镜像启动容器,利用容器的隔离性,在终端设备上启动引擎。从而实现了“一份源码,多平台可用”的跨平台适配功能。
4.物联安全:
在物联终端APP实现“云编排+端部署”结构时,采用安全操作系统或者经安全加固的操作系统,以满足相关业务系统本体安全防护要求。在远程维护、在线升级等多个远程交互功能设计与实现方面,采用软硬件机制保障其安全可信,如以PUF、TPM安全芯片提供可信硬件基础,以应用隔离、可信度量、远程证明等技术提供系统安全可信,以资源隔离、国密VPN和强制访问控制保障其接入可信等,同时支持固件、系统以及应用的可信远程升级。
对“云编排”而言,物联终端APP开发平台部署在信息机房核心服务器,提供APP云编排、组件库等APP开发功能。
对“端部署”而言,物联终端APP实现在物联管理平台、融合终端、智能传感终端等感知层设备的应用管理、设备管理等功能。
基于云编排端部署的物联终端APP开发模式架构,从APP云编排、APP端部署和APP运行各环节考虑,可拓展企业合作方式,形成包含硬件提供商、组件开发单位、应用APP开发单位、安全检测单位的物联APP开发及应用生态链。
采用提供的本发明一种基于云编排的物联APP开发系统,根据物联APP的组件属性实行差异化运营。对于开放组件,如协议组件,作为基础组件可免费自由使用;对于私有组件,如业务场景算法组件,在APP开发商内部使用;对于共享组件,如组件开发商开发的特定功能组件,使用者可以有偿使用。进一步的,可以扩大本发明应用领域及覆盖范围,探索潜在价值空间,提升投资回报率。
本发明一种基于云编排的物联APP开发系统的特点为:
云编排式APP开发平台是专门针对物联场景应用APP开发的低代码开发平台,提供边端软件可编程部署方案,以及云边一体化协同编排方案,云端编排的模型、流程、业务规则、页面等下发至边侧终端设备运行。
云编排式APP开发平台系统提供了开放的流式编排开发框架,通过新增编排节点的方式持续扩展可编排使用的能力,节点定义了标准规范并可由第三方开发,系统提供了基于服务化接口元数据的自动化节点生成工具、在线的半自动化开发工具。系统也提供了可编排节点、领域模型模板的管理组件,提供管理发布流程、节点以及领域模型模板的仓库,便于租户内、租户间的共享。
云端编排的模型、流程、业务规则、页面均以元数据的方式表述,由边侧的引擎执行,执行引擎可运行于云端高性能服务器、边侧资源受限服务器、端侧单片机、嵌入式系统等。
边端软件可编程部署方案由两部分组成,两者之间可以通过公网连接。
第一部分是位于云端的开发者可以进行模型、流程、规则的编排。边侧终端设备的提供商可在该环境上传所提供设备的交叉编译工具链,供引擎交叉编译下载使用。
第二部分是部署运行时引擎的测试、生成边侧节点,编排完成的流程元数据推送到云端服务器、边侧设备、端侧单片机中执行,流程执行过程可与外部系统或其它引擎中的流程交互。
云编排APP开发方案提供云边一体化协同编排方案,云端编排的模型、流程、业务规则、页面等下发至边侧终端设备运行。
云编排APP云端开发工具,通过流程将各种功能模块作为黑盒连接在一起,框架只起到消息数据的调度、转换作用。这些“黑盒”是构建APP的积木块,它们之间传递的统一结构化的报文就是积木块的插接口,通过最大化的直接复用或扩展复用“黑盒”节点构建应用,而不是为不同的APP重新构建新的“黑盒”节点。基于定制具有标准化的插接口的“黑盒”节点可以无限扩展软件系统功能。
本发明一种基于云编排的物联APP开发系统与传统的开发技术相比,有如下优势:
(1)创新优势:
基于云编排端部署的物联终端APP开发模式,是在新型智慧物联体系架构下,采用支持物联应用的容器化部署的边侧终端设备,实现物联应用与硬件解耦,以物联APP的形式可以灵活开发、批量部署,符合物联网面向装备、流程的智能化提升需求。
(2)竞争优势:
同类型解决方案主要采用传统的工业物联网APP开发模式,需要专业的开发人员对业务进行系统级代码开发,开发周期长且移植性差;终端物联设备多采用业务功能相对固定的一体机,应用软件由设备厂商开发且不易管控;业务应用的更新升级需要厂商深度参与,无法由客户进行个性化迭代开发。
本发明提出基于云编排端部署的物联终端APP开发模式,使用可复用的组件灵活构建物联APP,实现业务与技术解耦、软件与硬件解耦,简化边缘侧开发过程,面向各领域物联应用场景灵活开发物联APP。与同类型解决方案相比,本发明降低开发难度和门槛,便于安全管控。可有效适用于装备制造业、电子通信设备制造业、电力电网等生产、制造及服务行业。
(3)推广优势:
本发明形成面向物联终端APP开发模式,一是实现可视化、低代码开发,降低开发难度,实现业务需求快速响应;二是云边协同,通过“云编排+端部署”模式,实现一键部署,降低运维成本;三是支持行业主流物联终端即插即用,提高产品适用性。
机译: 在基于替换云的计算环境中对替换组件进行编排的系统和方法
机译: 一种系统和方法,通过该系统和方法,手机可以在端到端安全管理应用程序中与低功耗蓝牙(BLE)设备进行通信,从而提供自动检入/检出功能,自动显示安全消息,自动数据收集,触发胁迫短信,能够通过BLE硬件监视远程人员或电子邮件的状态。该系统通过手机上的“应用”运行。手机应用程序连接到基于云的监视系统以跟踪上述任务。任务由BLE Beacon硬件激活。
机译: 本发明提供了一种基于云的经由电子设备联网的方法和系统,其利用日期和时间可用性,预定技能要求,地理位置和实时技术的系统将企业(雇主)与个人(雇员/求职者)连接。