一种基于容器的IO接口资源的控制方法和物联终端转让专利

申请号 : CN202110024302.2

文献号 : CN112804100B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭帆丁鑫彦汪川晴

申请人 : 烽火通信科技股份有限公司

摘要 :

本发明公开了一种基于容器的IO接口资源的控制方法和物联终端,该控制方法包括:物联终端的IO控制管理APP通过MQTT代理接收物联管理中心所下发的分组配置;IO控制管理APP根据分组配置为每个分组成员分配执行容器,根据配置实例信息创建执行容器的启动参数,根据IO接口归属表选择相应的IO聚合APP,并创建IO聚合APP的启动参数;IO控制管理APP按照执行容器的启动参数和IO聚合APP的启动参数启动相应的执行容器和IO聚合APP;IO控制管理APP接收业务APP的TOPIC注册请求,授权TOPIC信息与相应的IO聚合APP建立MQTT数据通信;IO聚合APP通过MQTT进行指定IO接口的数据收发。

权利要求 :

1.一种基于容器的IO接口资源的控制方法,其特征在于,所述控制方法包括:物联终端的IO控制管理APP通过MQTT代理接收物联管理中心所下发的分组配置,其中,所述分组配置包括多个分组成员,还接收每个所述分组成员的IO接口归属表以及每个所述分组成员的配置实例信息,其中,所述IO接口归属表包括该分组成员所需要接入的IO接口资源;

所述IO控制管理APP根据所述分组配置为每个所述分组成员分配执行容器,根据所述配置实例信息创建所述执行容器的启动参数,根据所述IO接口归属表选择相应的IO聚合APP,并创建所述IO聚合APP的启动参数,其中,所述IO聚合APP的启动参数包含所述执行容器与相应IO接口的映射关系;

所述IO控制管理APP按照所述执行容器的启动参数和所述IO聚合APP的启动参数启动相应的所述执行容器和所述IO聚合APP;

所述IO控制管理APP接收业务APP的TOPIC注册请求,授权TOPIC信息与相应的IO聚合APP建立MQTT数据通信;

所述IO聚合APP通过MQTT进行指定IO接口的数据收发。

2.根据权利要求1所述的控制方法,其特征在于,所述IO控制管理APP接收业务APP的TOPIC注册请求,授权TOPIC动态字段信息与相应的IO聚合APP建立MQTT数据通信包括:所述IO控制管理APP接收控制请求数据,如果所述控制请求数据为业务APP的TOPIC注册请求,则所述IO控制管理APP对业务APP的TOPIC注册请求进行鉴权和识别,并向相应IO聚合APP通告TOPIC信息,以将该业务APP与相应IO聚合APP建立MQTT数据通信。

3.根据权利要求2所述的控制方法,其特征在于,所述控制方法还包括:所述IO控制管理APP监测数据,在接收到所述IO聚合APP的MQTT应答后,将所述MQTT应答发送至所述业务APP,所述业务APP存储TOPIC信息,根据TOPIC信息与IO聚合APP进行MQTT数据通信。

4.根据权利要求2所述的控制方法,其特征在于,所述控制方法还包括:所述IO控制管理APP监测数据,所述IO控制管理APP在接收到业务APP响应之后的配置更新数据后,将所述配置更新数据下发至所述IO聚合APP,以更新相应的IO接口。

5.根据权利要求2所述的控制方法,其特征在于,所述IO控制管理APP接收业务APP的TOPIC注册请求,授权TOPIC动态字段信息与相应的IO聚合APP建立MQTT数据通信包括:如果所述控制请求数据为IO资源配置数据,则完成IO资源配置数据的下发和应答处理。

6.根据权利要求1所述的控制方法,其特征在于,所述IO聚合APP包括IO通信APP和IO维护APP,所述IO通信APP为独占型APP,所述IO通信APP中的其中一个IO接口被其中一个APP占用时,其他IO通信APP不能使用该IO接口;IO维护APP为共享型APP,所述IO维护APP中的其中一个IO接口被使用时,其他IO维护APP也可以使用该IO接口;所述IO聚合APP通过MQTT进行指定IO接口的数据收发包括:

所述IO通信APP通过MQTT接收指定IO接口的数据报文;

如果所述数据报文来自于IO接口数据,则将所述数据报文送入消息缓冲池,将IO接口数据映射为TOPIC标签,进入IO接口数据逻辑处理层,将所述数据报文送往内部APP,通过MQTT进行数据通信。

7.根据权利要求6所述的控制方法,其特征在于,所述IO聚合APP通过MQTT进行指定IO接口的数据收发还包括:

所述IO通信APP监控指定IO接口的状态,判断该IO接口是处于维护调试模式还是处于维护监控模式;

若处于维护调试模式,则将数据报文送往指定TOPIC的IO维护APP,对各执行容器的不同接口进行调试和问题定位;

若处于维护监控模式,则所述IO通信APP将数据报文发送至该TOPIC标签所映射的业务APP,并将所述数据报文发送至IO维护APP。

8.根据权利要求6所述的控制方法,其特征在于,所述IO聚合APP通过MQTT进行指定IO接口的数据收发包括:

如果所述数据报文来自于内部数据,对内部数据进行TOPIC鉴权,鉴权成功的数据放入消息队列,进入IO接口数据逻辑处理层;

基于TOPIC标签与IO接口的映射特征,将数据发送至对应的IO接口。

9.根据权利要求1所述的控制方法,其特征在于,所述配置实例信息包括分组成员所对应的执行容器所需绑定的CPU核的使用限制、内存分配限制、磁盘和网络IO流量。

10.一种物联终端,其特征在于,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行如权利要求1~9任一项所述的控制方法。

说明书 :

一种基于容器的IO接口资源的控制方法和物联终端

技术领域

[0001] 本发明属于物联通信领域,更具体地,涉及一种基于容器的IO接口资源的控制方法和物联终端。

背景技术

[0002] 伴随物联网技术的逐步成熟,物联网正以惊人的速度推动着一场万物互联时代的新浪潮,而背后巨大的市场空间和经济效益日益显现,工业物联网部署落地已逐渐呈现井
喷发展。边缘侧的物联终端作为工业物联网中终端标准接入及边缘计算能力提升的关键设
备,可以就近提供边缘智能服务,满足行业数字化在敏捷联接、实时业务、数据优化、应用智
能、安全与隐私保护等方面的关键需求,可以作为一座连接物理和数字世界的桥梁,使能智
能资产、智能网关、智能系统和智能服务。
[0003] 边缘侧的物联终端是一种将具有感知、监控能力的各类采集、控制传感器、移动通信以及智能分析等技术融入的物联控制设备,其IO接口资源用于承载物联终端的不同业务
和应用,需要南向接入大量的采集、传感、工控等终端设备,且每路终端的数据量不大,但是
路数比较多,一般不需要特别强的单核处理性能,但是需要较高的多核IO并发处理能力,同
时轻量化、易部署、易移植、弹性伸缩的容器技术为软件开发和系统运维带来了颠覆性的突
破,轻量化容器应用服务部署已成为物联终端技术发展的未来趋势。
[0004] 对于当前日趋复杂的万物互联接入应用,基于容器轻量化和多核架构并行化的物联业务需求,迫切需要一种对不同容器应用所依赖的南向IO资源进行策略控制的方法,用
来解决现有物联终端中各类南向IO接口及其数据资源控制的技术问题。如何提供这样一种
高效、统一控制的IO接口资源控制的有效解决方案,是物联服务运营商推广边缘智能服务
中所迫切需要解决的现实问题。

发明内容

[0005] 针对现有技术的以上缺陷或改进需求,本发明提供了一种基于容器的IO接口资源的控制方法和物联终端,其目的在于基于容器的物联接入多核IO接口资源的统一分组聚合
控制方法,可以解决现有工业物联设备低速率的容器化应用中多核处理模式下各类南向感
知物联接入IO接口及其数据资源如何在降低设备系统资源管理负荷的前提下实现统一调
度、弹性部署和有效控制的技术问题。
[0006] 为实现上述目的,按照本发明的一个方面,提供了一种基于容器的IO接口资源的控制方法,所述控制方法包括:
[0007] 物联终端的IO控制管理APP通过MQTT代理接收物联管理中心所下发的分组配置,其中,所述分组配置包括多个分组成员,还接收每个所述分组成员的IO接口归属表以及每
个所述分组成员的配置实例信息,其中,所述IO接口归属表包括该分组成员所需要接入的
IO接口资源;
[0008] 所述IO控制管理APP根据所述分组配置为每个所述分组成员分配执行容器,根据所述配置实例信息创建所述执行容器的启动参数,根据所述IO接口归属表选择相应的IO聚
合APP,并创建所述IO聚合APP的启动参数,其中,所述IO聚合APP的启动参数包含所述执行
容器与相应IO接口的映射关系;
[0009] 所述IO控制管理APP按照所述执行容器的启动参数和所述IO聚合APP的启动参数启动相应的所述执行容器和所述IO聚合APP;
[0010] 所述IO控制管理APP接收业务APP的TOPIC注册请求,授权TOPIC信息与相应的IO聚合APP建立MQTT数据通信;
[0011] 所述IO聚合APP通过MQTT进行指定IO接口的数据收发。
[0012] 优选地,所述IO控制管理APP接收业务APP的TOPIC注册请求,授权TOPIC动态字段信息与相应的IO聚合APP建立MQTT数据通信包括:
[0013] 所述IO控制管理APP接收控制请求数据,如果所述控制请求数据为业务APP的TOPIC注册请求,则所述IO控制管理APP对业务APP的TOPIC注册请求进行鉴权和识别,并向
相应IO聚合APP通告TOPIC信息,以将该业务APP与相应IO聚合APP建立MQTT数据通信。
[0014] 优选地,所述控制方法还包括:
[0015] 所述IO控制管理APP监测数据,在接收到所述IO聚合APP的MQTT应答后,将所述MQTT应答发送至所述业务APP,所述业务APP存储TOPIC信息,根据TOPIC信息与IO聚合APP进
行MQTT数据通信。
[0016] 优选地,所述控制方法还包括:
[0017] 所述IO控制管理APP监测数据,所述IO控制管理APP在接收到业务APP响应之后的配置更新数据后,将所述配置更新数据下发至所述IO聚合APP,以更新相应的IO接口。
[0018] 优选地,所述IO控制管理APP接收业务APP的TOPIC注册请求,授权TOPIC动态字段信息与相应的IO聚合APP建立MQTT数据通信包括:
[0019] 如果所述控制请求数据为IO资源配置数据,则完成IO资源配置数据的下发和应答处理。
[0020] 优选地,所述IO聚合APP包括IO通信APP和IO维护APP,所述IO通信APP为独占型APP,所述IO通信APP中的其中一个IO接口被其中一个APP占用时,其他IO通信APP不能使用
该IO接口;IO维护APP为共享型APP,所述IO维护APP中的其中一个IO接口被使用时,其他IO
维护APP也可以使用该IO接口;所述IO聚合APP通过MQTT进行指定IO接口的数据收发包括:
[0021] 所述IO通信APP通过MQTT接收指定IO接口的数据报文;
[0022] 如果所述数据报文来自于IO接口数据,则将所述数据报文送入消息缓冲池,将IO接口数据映射为TOPIC标签,进入IO接口数据逻辑处理层,将所述数据报文送往内部APP,通
过MQTT进行数据通信。
[0023] 优选地,所述IO聚合APP通过MQTT进行指定IO接口的数据收发还包括:
[0024] 所述IO通信APP监控指定IO接口的状态,判断该IO接口是处于维护调试模式还是处于维护监控模式;
[0025] 若处于维护调试模式,则将数据报文送往指定TOPIC的IO维护APP,对各执行容器的不同接口进行调试和问题定位;
[0026] 若处于维护监控模式,则所述IO通信APP将数据报文发送至该TOPIC标签所映射的业务APP,并将所述数据报文发送至IO维护APP。
[0027] 优选地,所述IO聚合APP通过MQTT进行指定IO接口的数据收发包括:
[0028] 如果所述数据报文来自于内部数据,对内部数据进行TOPIC鉴权,鉴权成功的数据放入消息队列,进入IO接口数据逻辑处理层;
[0029] 基于TOPIC标签与IO接口的映射特征,将数据发送至对应的IO接口。
[0030] 优选地,所述配置实例信息包括分组成员所对应的执行容器所需绑定的CPU核的使用限制、内存分配限制、磁盘和网络IO流量。
[0031] 按照本发明的另一方面,提供了一种物联终端,包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器
执行的指令,所述指令被程序设置为执行本发明所述的控制方法。
[0032] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明提供一种基于容器的IO接口资源的控制方法和物联终端,控制方法包括:物联终
端的IO控制管理APP通过MQTT代理接收物联管理中心所下发的分组配置,其中,分组配置包
括多个分组成员,还接收每个分组成员的IO接口归属表以及每个分组成员的配置实例信
息,其中,IO接口归属表包括该分组成员所需要接入的IO接口资源;IO控制管理APP根据分
组配置为每个分组成员分配执行容器,根据配置实例信息创建执行容器的启动参数,根据
IO接口归属表选择相应的IO聚合APP,并创建IO聚合APP的启动参数,其中,IO聚合APP的启
动参数包含执行容器与相应IO接口的映射关系;IO控制管理APP按照执行容器的启动参数
和IO聚合APP的启动参数启动相应的执行容器和IO聚合APP;IO控制管理APP接收业务APP的
TOPIC注册请求,授权TOPIC信息与相应的IO聚合APP建立MQTT数据通信;IO聚合APP通过
MQTT进行指定IO接口的数据收发。
[0033] 在本发明中,通过对物联接入多核IO接口资源进行容器策略分组及IO接口APP聚合来实现IO接口资源的统一调度、弹性部署和有效控制,以统一承载物联终端各类工业物
联不同业务和应用。隐藏了对通用IO接口访问操作的具体细节,并向上提供差异化、容器
化、抽象化的业务数据通信接口,将IO接口进行接口程序分组聚合划分,根据业务场景按需
部署容器,并根据业务场景的特性划分相应的IO聚合APP,方便进行数据程序监控、调试及
维护,同时适配不同的复杂业务和通信场景,满足容器化部署要求同时降低容器化IO系统
管理资源消耗,达到IO接口数据控制和高效的IO接口资源利用,为物联终端各类工业物联
不同业务和应用提供一种新的接口统一承载和实现,提升了软件的、灵活性、可扩展性和易
用性以及业务管理的便利性和效率。

附图说明

[0034] 图1是本发明实施例提供的一种物联终端的业务场景拓扑结构示意图;
[0035] 图2是本发明实施例提供的一种物联终端的结构示意图;
[0036] 图3是本发明实施例提供的一种基于容器的IO接口资源的控制方法的流程示意图;
[0037] 图4是本发明实施例提供的图3中步骤13的具体流程示意图;
[0038] 图5是本发明实施例提供的图3中步骤14的具体流程示意图;
[0039] 图6是本发明实施例提供的另一种物联终端的结构示意图。

具体实施方式

[0040] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并
不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要
彼此之间未构成冲突就可以相互组合。
[0041] 参阅图1,展示了一种物联终端的业务场景,主要描述了一种典型的云、管、边、端的应用场景,其中,云指的是云平台,管指的是物联管理中心,边指的是物联终端等,端指的
是物联终端下挂的各类感知单元,其中,感知单元包括采集设备、传感单元和工控设备等。
[0042] 该物联终端硬件上依赖IO通信单元、多核CPU、存储器件、安全组件等,软件上依赖系统内核、驱动程序、DB(Data Base,数据库)、IOTM(Internet of Things Management,物
联网管理模块)、容器、MQTT(Message Queuing Telemetry Transport,消息队列遥测传输
协议)代理等各类核心服务(Core service,核心服务),物联终端的业务以APP的形式部署
在容器上,其中,业务包括各类工业物联协议。
[0043] 结合图2,在实际应用场景下,南向IO接口资源包括RS系列串口、其中,RS系列串口包括RS232和RS485,MBUS(Meter‑Bus,仪表总线)、HPLC(High‑speed Power Line Carrier,
高速电力线载波)、GPS/BD(Global Positioning System/BeiDou,全球定位系统/北斗)、红
外、蓝牙、交采、WIFI(Wireless Fidelity,无线保真)、LORA(Long Range,远距离无线电)、
ZIGBEE、网口等。
[0044] 按接口驱动类型可以看成串行接口和并行接口,其中,所述串行接口包括UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)、SPI(Serial 
Peripheral interface,串行外围设备接口)、I2C(Inter‑Integrated Circuit,内置集成
电路)、GPIO(General‑Purpose Input/Output Ports,通用I/O端口)、CPLD(Complex 
Programmable Logic Device,复杂可编程逻辑器件)、USB(Universal Serial BUS,通用串
行总线)等,所述并行接口包括网口(ETH,Ethernet,以太网)等。
[0045] 在本实施例中,采用多核、容器化IO分组聚合控制方法,将IO接口资源层的功能抽象为IO控制管理APP和IO聚合APP,将IO控制管理APP和IO聚合APP部署在容器上。具体地,IO
控制管理APP通过MQTT代理与业务APP通信,并控制管理IO聚合APP,IO聚合APP是由南向各
类IO接口按规则进行APP聚合而得到的,一个IO聚合APP可以部署在多个容器上,多个IO聚
合APP可以部署在同一容器上,通过部署在不同容器、不同CPU核上进行分组差异化独立管
理,实现南向IO接口资源动态策略分配、分组聚合控制及IO接口数据业务维护等,体现优先
级、数据性能、时延质量的差异化要求。
[0046] 其中,IO聚合APP包括IO通信APP和IO维护APP,其中,IO通信APP为独占型APP,可以理解为,IO通信APP中的某一个IO接口被某一个APP占用时,其他IO通信APP不能使用该IO接
口;IO维护APP为共享型APP,可以理解为,IO维护APP中的某一个IO接口被使用时,其他IO维
护APP也可以使用该IO接口。例如,对于网口、蓝牙等通常作为维护的IO接口,可以将其划分
给公用共享的IO维护APP进行管理。其中,IO维护APP支持各容器的不同IO接口的数据转换
调试和镜像,以便于通信数据转换后的监控。其中,对于需要进行类似IO维护等公用的IO接
口业务特性的IO接口,均可以使用IO维护APP进行统一管理。
[0047] 其中,业务APP进行容器化部署,一个容器上可以部署多个业务APP(如图2所示的业务APP1~业务APPn)。业务APP与IO接口资源层的IO控制管理APP进行通信,IO控制管理
APP将业务APP和相应的IO通信APP或IO维护APP建立连接,以通过IO通信APP或IO维护APP访
问相应的IO接口。
[0048] 实施例1:
[0049] 参阅图3,本实施例提供一种基于容器的IO接口资源的控制方法,所述控制方法包括:
[0050] 步骤10:物联终端的IO控制管理APP通过MQTT代理接收物联管理中心所下发的分组配置,其中,所述分组配置包括多个分组成员,还接收每个所述分组成员的IO接口归属表
以及每个所述分组成员的配置实例信息,其中,所述IO接口归属表包括该分组成员所需要
接入的IO接口资源。
[0051] 其中,物联管理中心分别配置分组模板、IO接口归属模板和配置模板,对前述模板进行实例化,得到IO控制配置策略,然后将IO控制配置策略下发至物联终端。物联终端对所
述IO控制配置策略进行解析得到分组配置、所述IO接口归属表和所述配置实例信息。
[0052] 其中,在步骤10中,物联管理中心可以根据实际部署应用和用户特性对业务进行分组得到分组模板,以做到按需部署,其中,所述分组模板包括用户组的分组模板、运营组
的分组模板、速率组的分组模板、流量组的分组模板、行业组的分组模板或自定义分组模板
等。
[0053] 其中,每一分组模板包含多个分组成员的类型名、成员数量、成员详情,成员详情里面可以绑定具体IO资源配置。对于每一种类型的分组模板,可以针对不同的分组成员创
建模板,将不同分组成员的模板进行整合得到相应的分组模板。
[0054] 例如,对于用户组,可以按照楼栋区域、家庭用户或企业用户划分不同的分组成员;对于运营组,可以按照运营者类型或运营区域划分为不同的分组成员;对于速率组,可
以按接口访问速率划分不同的分组成员;对于流量组,可以按计划流量来划分不同的分组
成员;对于行业组,可以按行业类别来划分不同的分组成员,例如,根据电力、水务、燃气、能
源等来划分不同的分组成员。
[0055] 物联管理中心还为每一个分组成员配置IO接口归属模板,其中,IO接口归属模板中包含该分组成员所需要用到的IO接口,IO接口使用方式上包括占用和公用两种。
[0056] 例如,分组成员为运营A组,该分组成员的IO接口归属模板包含2个RS232、4个RS485、2个MBUS、1个hplc、1个zigbee、1个lora、1个红外、2个开关量输入输出(DIDO)。分组
成员为运营B组,该分组成员的IO接口归属模板包含1个交采、1个PT100、1个wifi、2个开关
量输入输出(DIDO)、8个LED控制;分组成员为公共‑维护组,该公共维护组的IO接口归属模
板包含1个蓝牙、2个网口。其中,PT100是温度传感器,是一种将温度变量转换为可传送的标
准化输出信号的仪表。
[0057] 其中,在步骤10中,配置实例信息主要包括:分组成员所对应的执行容器所需绑定的CPU核的使用限制、内存分配限制、磁盘、网络IO流量等应用于容器的配置,配置实例信息
还包括:执行容器内的IO聚合APP可以支持的具体协议类型和业务类型等应用于IO聚合APP
的配置。例如,对于CPU核的使用限制可以理解为,执行容器是使用CPU1核还是CPU2核,以及
各CPU核之间的使用约束。
[0058] 步骤11:所述IO控制管理APP根据所述分组配置为每个所述分组成员分配执行容器,根据所述配置实例信息创建所述执行容器的启动参数,根据所述IO接口归属表选择相
应的IO聚合APP,并创建所述IO聚合APP的启动参数,其中,所述IO聚合APP的启动参数包含
所述执行容器与相应IO接口的映射关系。
[0059] 其中,IO聚合APP是由南向各类IO接口按规则进行APP聚合而得到的,一个IO聚合APP可以部署在多个容器上,并可以在不同的容器中同时运行,IO聚合APP用于控制存在于
不同容器的IO接口数据收发逻辑;多个IO聚合APP可以部署在同一容器上,完成不同IO聚合
组的独立IO控制,通过部署在不同容器、不同CPU核上进行分组差异化独立管理,实现南向
IO接口资源动态策略分配、分组聚合控制及IO接口数据业务维护等,体现优先级、数据性
能、时延质量的差异化要求。对于各IO聚合APP所在容器可以将系统资源进行限定和配额,
分配给指定IO聚合APP所在的执行容器。
[0060] 其中,IO聚合APP包括IO通信APP和IO维护APP,其中,IO通信APP为独占型APP,可以理解为,IO通信APP中的某一个IO接口被某一个APP占用时,其他IO通信APP不能使用该IO接
口;IO维护APP为共享型APP,可以理解为,IO维护APP中的某一个IO接口被使用时,其他IO维
护APP也可以使用该IO接口。
[0061] 步骤12:所述IO控制管理APP按照所述执行容器的启动参数和所述IO聚合APP的启动参数启动相应的所述执行容器和所述IO聚合APP;
[0062] 步骤13:所述IO控制管理APP接收业务APP的TOPIC注册请求,授权TOPIC信息,以将该业务APP与相应的IO聚合APP建立MQTT数据通信。
[0063] 其中,MQTT所传输的消息分为:主题(TOPIC)和负载(payload)两部分。TOPIC可以理解为消息的类型,订阅方订阅(Subscribe)后,就会收到该主题的消息内容(payload);
payload可以理解为消息的内容,是指订阅者具体要使用的内容。其中,MQTT是通过主题
TOPIC对消息进行分类的,本质上就是一个UTF‑8的字符串,不过可以通过反斜杠表示多个
层级关系。MQTT订阅与发布必须要有主题,只有当订阅了某个主题后,才能收到相应主题的
payload,才能进行通信。主题TOPIC还可以通过通配符进行过滤。其中,“+”可以过滤一个层
级,而“*”只能出现在主题最后表示过滤任意级别的层级。
[0064] 在本实施例中,TOPIC注册请求中包含主题TOPIC,IO控制管理APP根据主题TOPIC确定与该TOPIC注册请求相匹配的IO聚合APP,将业务APP与相应的IO聚合APP建立MQTT数据
通信,IO聚合APP向业务APP发布与主题TOPIC相对应的内容。
[0065] 步骤14:所述IO聚合APP通过MQTT进行指定IO接口的数据收发。
[0066] 在步骤11中,物联终端的IO控制管理APP接收到三类模板后,会进行配置处理主要包括:(1)IO控制管理APP对分组配置进行解析,得到多个分组成员,然后为每个分组成员分
配一个执行容器;(2)IO控制管理APP根据每一个分组成员的IO接口归属表,将IO接口映射
给指定的执行容器使用,即将所述执行容器与相应IO接口形成映射关系,以创建IO聚合APP
的启动参数;(3)IO控制管理APP对配置实例信息进行解析,得到CPU、内存分配设置,可以将
限定的CPU、内存分配给指定的执行容器使用,以创建所述执行容器的启动参数,还得到IO
通信APP涉及的应用业务类型等信息。
[0067] 步骤11相当于在根据管理中心下发的实例进行容器和容器内的IO聚合APP的准备工作,然后按照步骤12的方式启动执行容器以及执行容器内的IO聚合APP。
[0068] 举例而言,分组成员为运营A组、运营B组和公共维护组C,运营A组的IO接口归属表包括:2个RS232、4个RS485、2个MBUS、1个hplc、1个zigbee、1个lora、1个红外、2个开关量输
入输出(DIDO);运营B组的IO接口归属表包括:1个wifi、1个交采、1个PT100、2个开关量输入
输出(DIDO)和8个LED控制;公共维护组的IO接口归属表包括:1个蓝牙、2个网口。
[0069] 则首先为运营A组分配容器A、为运营B组分配容器B、为公共维护组C分配容器C;根据每个分组成员的配置实例信息(此处未进行举例)设置容器A、容器B和容器C的启动参数。
[0070] 将2个RS232、4个RS485、2个MBUS、1个hplc、1个zigbee、1个lora、1个红外、2个开关量输入输出(DIDO)与容器A建立映射关系;将1个wifi、1个交采、1个PT100、2个开关量输入
输出(DIDO)和8个LED控制与容器B建立映射关系;将1个蓝牙、2个网口与容器C建立映射关
系。
[0071] 其中,IO聚合APP包括IO通信APP和IO维护APP,在可选的实施例中,将同类型的IO接口聚合得到IO通信APP,则IO通信APP包括串口类APP、SPI类APP、GPIO类APP等。
[0072] 由于RS232、RS485、MBUS、hplc、zigbee、lora、wifi的接口类型为串口,则前述IO接口聚合在串口类APP中,红外、交采、PT100的接口类型为SPI,则前述IO接口聚合在SPI类APP
中,开关量输入输出(DIDO)、LED控制的接口类型为GPIO,则前述IO接口聚合在GPIO类APP
中。
[0073] 根据分组成员所需要使用的IO接口确定与之对应的IO聚合APP,并开通相应的IO接口。
[0074] 基于前述分析,在本实施例中,执行容器及执行容器内的APP运行如下:
[0075] 启动容器A(运营A组)、容器B(运营B组)和容器C(公共维护组C)三个容器;
[0076] 1个串口类APP分别部署在容器A、B、C中,1个SPI类APP分别部署在容器A、B中,1个GPIO类APP分别部署在容器A、B中,1个网口类APP部署在容器C中;
[0077] 其中,容器A中的各个IO通信APP所对应的IO接口为:串口类APP包括2个RS232、4个RS485、2个MBUS、1个hplc、1个zigbee、1个lora,SPI类APP包括1个红外,GPIO类APP包括2个
开关量输入输出(DIDO);
[0078] 容器B中的各个IO通信APP所对应的IO接口为:串口类APP包括1个wifi,SPI类APP包括1个交采、1个PT100,GPIO类APP包括8个LED控制、2个开关量输入输出(DIDO);
[0079] 容器C中的IO维护APP所对应的IO接口为:1个蓝牙、2个网口。
[0080] 在本实施例中,按照步骤10~12完成了容器以及容器内指定APP的启动。然后按照步骤13和步骤14完成相应的业务。
[0081] 在步骤13中,业务APP也部署在容器中,各业务容器中的一个或多个业务APP在需要使用对应IO接口资源时,需要通过动态注册鉴权过程完成IO接口资源使用。比如基于
DL698协议的业务APP通过注册所需的HPLC接口,可以与该HPLC接口所在的执行容器中IO通
信APP建立MQTT连接,从而使用该HPLC接口。其中,DL698协议为DL698电力终端通信协议。
[0082] 在步骤14中,以前述步骤12中的举例进行说明,容器A和容器B的IO通信APP均可以接收其归属IO的数据报文并通告给上层的业务容器所在的业务APP处理。在维护模式下,可
以将容器A或容器B的IO通信APP的接口数据通告给容器C的IO维护APP进行维护处理。
[0083] 进一步地,步骤13具体包含以下步骤:
[0084] 步骤131:IO控制管理APP接收控制请求数据;
[0085] 其中,IO控制管理APP会接收到两类控制请求数据,一类是业务APP的TOPIC注册请求,而另一类是IO接口资源的业务系统下发的IO资源配置数据。这两类控制请求数据均在
图2的MQTT主线程处理,MQTT主线程用于接收外部平台或其他模块的配置消息,并进行线程
配置分发和业务处理,业务APP的TOPIC注册请求会在MQTT主线程收到消息后识别处理。
[0086] 步骤132:判断控制请求数据的类型,如果为业务APP的TOPIC注册请求,则执行步骤133,如果为IO资源配置数据,则执行137;
[0087] 步骤133:IO控制管理APP对业务APP的TOPIC注册请求进行鉴权和识别,并通告IO通信APP连接的TOPIC信息;
[0088] IO控制管理APP在MQTT主线程通过指定TOPIC信息接收到业务APP的TOPIC注册请求,对业务APP的控制请求进行IO配置的综合鉴权和识别,对于合法的业务APP的请求通告
IO聚合APP连接的TOPIC信息。
[0089] 步骤134:IO控制管理APP监测数据,判断监控数据的类型;
[0090] 如果该数据为IO聚合APP的MQTT应答,执行步骤135,如果该数据为业务APP响应之后的配置更新数据,则否则进入步骤136;
[0091] 在步骤133之后,IO控制管理APP会接收到两类数据,一类为TOPIC注册请求的MQTT应答。另一类为业务APP响应之后的配置更新数据,IO控制管理APP监测数据,根据接收到的
数据进行相应的流程。
[0092] 步骤135:IO控制管理APP将所述MQTT应答发送至所述业务APP,所述业务APP存储TOPIC信息,根据TOPIC信息与IO聚合APP进行MQTT数据通信;
[0093] 业务APP通过MQTT接收到IO控制管理APP的应答内容,进行本地动态TOPIC配置字段存储,根据TOPIC信息实现与IO聚合APP进行MQTT数据通信;
[0094] 步骤136:IO控制管理APP将配置更新数据发送给IO聚合APP,IO聚合APP根据配置更新数据进行配置生效流程处理;
[0095] IO控制管理APP在完成业务APP的业务注册应答响应之后,会将配置更新数据下发给IO聚合APP,其中,配置更新数据包括IO接口配置表和业务信息等信息,IO聚合APP根据配
置更新数据进行配置生效流程处理。
[0096] 步骤137:如果所述控制请求数据为IO资源配置数据,则完成IO资源配置数据的下发和应答处理;
[0097] IO控制管理APP主要通过MQTT代理接收物联管理中心的控制管理,可以根据IO接口资源配置数据的分组聚合配置,统一管理IO接口资源和聚合APP。MQTT控制主线程接收IO
接口资源配置数据的下发和应答,实现各类IO聚合APP的通信、数据等的统一控制、管理和
调度。
[0098] 进一步地,在步骤14中具体包含以下步骤:
[0099] 步骤141:所述IO通信APP通过MQTT接收数据报文;
[0100] 各执行容器中会启动1个或者多个IO聚合APP,且IO聚合APP可以按南向接入IO接口的接口类型进行聚合。
[0101] 其中,IO聚合APP包括IO通信APP和IO维护APP,若按照接口类型对不同IO接口聚合的话,IO通信APP包括串口类APP、SPI类APP和GPIO类APP等;IO维护APP包括但不限于网口类
APP,也可以串口类APP、SPI类APP等。
[0102] 在业务APP与相应的IO通信APP和IO维护APP建立通信后,IO通信APP通过MQTT接收数据报文,其中,该数据报文可能为IO接口发送的外部数据,也可能是APP的内部数据,其
中,内部数据指的是物联终端的内部模块之间的通信数据,内部数据包括MQTT数据或控制
类数据。所述内部数据用于模块之间的数据交互。
[0103] 步骤142,判断该数据报文的来源,如果是否来自IO接口,则执行步骤143,如果为内部数据,则进入步骤147;
[0104] IO通信APP会收到IO接口数据,对于IO接口数据通过系统函数完成数据接收,而内部数据则通过MQTT完成数据接收。
[0105] 步骤143,将所述数据报文送入消息缓冲池,并将该IO接口映射为TOPIC标签,进入IO接口数据逻辑处理层,将所述数据报文送往内部APP,通过MQTT进行数据通信。其中,前述
内部APP指的是物联终端内的APP,包括且不限于协议业务类APP(例如,DL698协议APP)、IO
通信APP和IO维护APP。
[0106] IO通信APP收到IO接口的数据报文后,数据报文会送入消息缓冲池进行数据缓冲处理,同时会将IO接口映射为TOPIC标签,然后进行IO接口数据逻辑处理,报文送往内部APP
会通过MQTT TOPIC进行数据通信。
[0107] 步骤144,所述IO通信APP还监控指定IO接口的状态,判断该IO接口是处于维护调试模式还是处于维护监控模式,如果是处于维护调试模式,则执行步骤146,如果是处于维
护监控模式进入步骤145;
[0108] 其中,维护监控模式和维护调试模式是IO接口的一种接口状态模式。
[0109] 步骤145,将数据报文发送至该TOPIC标签所映射的业务APP,并将所述数据报文发送至IO维护APP;
[0110] IO通信APP将数据报文送往指定IO接口的TOPIC标签所对应的业务APP,从而进行后续业务逻辑处理。如果该IO接口开启了监控模式使能时,在不影响本地业务APP对IO通信
APP数据收发情况下,数据报文可以根据IO维护APP中的IO接口进行不同通道的数据转发;
[0111] 比如698协议所需要使用的HPLC接口可以在不影响698协议正常运行情况下,可以通过公蓝牙或网口转发到外部用于监控和调试等;
[0112] 步骤146,将数据报文送往指定TOPIC的IO维护APP,对各执行容器的不同接口进行调试和问题定位;
[0113] IO通信APP将数据报文送往指定TOPIC的IO维护APP,指定接口通过重定向方式转发给另一个同类或异类维护接口进行掌机、PC等业务软件定位和调试分析;
[0114] 步骤147:对内部数据进行TOPIC鉴权,鉴权成功的数据放入消息队列,进入IO接口数据逻辑处理层;
[0115] IO通信APP收到内部APP的MQTT数据后,MQTT数据会送入消息缓冲池进行数据缓冲处理,同时会按照根据TOPIC标签进行鉴权判断,如果合法会将TOPIC标签映射为IO接口,然
后进行IO接口数据逻辑处理。
[0116] 步骤148:基于TOPIC标签与IO接口的映射特征,将数据发送至对应的IO接口。
[0117] 在此需要说明的是,前述实施例的方案不限于两个CPU核,可以有更多CPU核。IO聚合APP不限单一IO接口类型进行聚合,还可以根据设备接口相似度或接口特性差异,进行不
同规则或颗粒度的设备接口聚合,可以多种或者采用其他IO特性聚合APP形式,且IO接口类
型不限定于串口、SPI、GPIO、网口等,也可以包括其他I2C、I2S、USB等各类IO接口类型。
[0118] IO接口归属表不限定某一容器中归属的IO接口数量,可以根据业务划分实际情况进行灵活设置,IO通信APP的IO接口不与其他容器共享访问。IO接口控制管理TOPIC动态注
册订阅不限于注册字段方式,还可以是基于MQTT或SOCKET进程间通信下其他字段的动态注
册订阅方法。
[0119] 配置实例信息不限于CPU、内存分配设置、业务类型模板信息,其他如磁盘、网络IO流量等可以应用于容器及容器聚合通信APP的系统资源均可以配置实例信息。
[0120] 实施例2:
[0121] 请参阅图6,图6是本发明实施例提供的一种物联终端的结构示意图。本实施例的物联终端包括一个或多个处理器41以及存储器42。其中,图6中以一个处理器41为例。
[0122] 处理器41和存储器42可以通过总线或者其他方式连接,图6中以通过总线连接为例。
[0123] 存储器42作为一种基于控制方法的非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,上述实施例的方法以及对应的程
序指令。处理器41通过运行存储在存储器42中的非易失性软件程序、指令以及模块,从而执
行各种功能应用以及数据处理,实现前述实施例的方法。
[0124] 其中,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储
器42可选包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至处
理器41。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0125] 值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中
的叙述,此处不再赘述。
[0126] 本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质
可以包括:只读存储器(Read Only Memory,简写为ROM)、随机存取存储器(Random Access 
Memory,简写为RAM)、磁盘或光盘等。
[0127] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含
在本发明的保护范围之内。