本发明属于物联网,具体涉及一种基于消息耦合的物联网边缘网关软件架构方法。
背景技术:
1、边缘计算网关平台是一种将边缘计算、网关和应用平台集成为一体的综合型设备,其能够将云端功能扩展到本地的边缘计算设备,使边缘计算设备能够快速自主地响应本地事件,进而提供低延时、低成本、隐私安全、本地自治的本地计算服务。随着边缘计算大规模的运用,边缘网关面临边缘环境越来越复杂的挑战,并且智能物联网带来了泛在智能感知、情境自适应通信、分布式群体智能、云边端协同计算等新的挑战问题,智慧物联平台基础框架的研究有着越来越重要的探索意义。作为网关设备,物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换。
2、申请号为cn201910082103.x的专利文件公开了一种基于边缘计算网关平台设计架构,包括依次连接的外接设备层、hub层、平台网关层、dse、数据层、服务层、api和web层;外界设备层的设备将终端数据经过hub层传输至平台网关层进行解析,通过dse批量发送至数据层的数据库中实现数据存储功能;api接收查询信号,并通过服务层调取数据库中的对应数据实现数据查询功能。但是,现有的边缘计算网关平台可扩展性低及不易部署,平台网关层存在兼容支持的数据协议单一,应用范围较小和开放性不足等一系列问题,需要针对相应的应用场景对网关进行有针对性的开发,进而限制了其在边缘侧的可应用场景。由于物物互联应用领域众多,各类应用特点和需求不同,当前技术解决方案无法满足共性需求,尤其在物理世界信息交互和统一表征方面扩展性较差。这对物联网产业发展极为不利,故现发明一种基于消息耦合的物联网边缘网关软件架构方法,以解决上述问题。
技术实现思路
1、本发明克服了上述技术问题的缺点,提供了一种基于消息耦合的物联网边缘网关软件架构方法,能够解决现有技术中边缘计算需要定制化开发,扩展性较差的问题,能够满足未来物联网网关设备发展的要求。
2、为解决上述技术问题,本发明所采用的技术方案是:
3、一种基于消息耦合的物联网边缘网关软件架构方法,所述软件架构包括消息泵模块、初始化配制模块和物联设备接入模块;所述消息泵模块分别与初始化配制模块和物联设备接入模块连接;所述方法包括:首先,所述消息泵模块对实体管理器的消息数据进行业务逻辑处理;然后,所述初始化配制模块将实体管理器初始化并解析出网关配制文件;最后,将物联设备接入模块接入物联网网关;其中,其中,所述实体管理器包括business管理器、port管理器和device管理器。
4、进一步的,所述消息泵模块对实体管理器的消息数据进行业务逻辑处理的具体方法为:
5、步骤1.1:网关软件启动后,运行system主程序,创建messagemanager消息处理线程,创建消息订阅映射、线程池、消息处理上下文映射、消息处理上下文对象池,完成消息处理线程的初始化;
6、步骤1.2:启动消息处理超时监听线程,用于处理超时线程,若某个消息处理器运算超时,则终止该线程,并将消息交由下一个消息处理器处理;
7、步骤1.3:将消息提交到网关,messagemanager从线程池中取出空闲线程,作为工作线程,并将消息分发给工作线程进行处理;
8、步骤1.4:通过消息处理线程识别消息的处理器列表,从对象池中获取一个消息处理上下文对象,并将该消息的处理开始时间、消息处理器列表、当前需要处理的消息、消息处理器迭代器记录在消息处理上下文对象中,完成上下文对象的初始化;
9、步骤1.5:通过工作线程遍历上下文中的消息处理器列表,根据列表顺序,调用消息处理器,执行处理器的messagehandler消息处理方法,并更新该线程的消息处理上下文对象,完成消息处理。
10、进一步的,所述初始化配制模块将各个管理器初始化并解析出网关配制文件的具体步骤为:
11、步骤2.1:初始化消息管理器;
12、(1)实例化kl线程,传入kl线程回调接口,并且创建消息泵所需要的消息订阅映射以及处理上下文的对象池工厂以及其上下文对象池的配置和对象池;同时从线程池中获取空闲线程并对消息进行处理;
13、(2)启动消息处理超时监控线程,采用固定周期对超时线程进行处理;在每个周期内暂停网关对消息处理上下文事务的处理并加锁,然后遍历消息处理线程的上下文对象,终止超时的消息处理线程;
14、步骤2.2、初始化任务管理器;
15、(1)初始化周期性线程池。
16、(2)开始周期性执行对任务列表的扫描,如果有任务执行超时则停止执行该任务的工作线程,同时改变该任务的状态;
17、步骤2.3、初始化实体管理器;
18、步骤2.4:通过json解析器读取网关配置文件,配置文件中包含了businesses、ports和devices三个实体模块,并将各个模块转化为对应的json数组,发送至对应的实体管理器,依次通过反射的方式,将上述三个实体模块中的设备以及业务进行实例化,并且发送至对应的管理器线程进行管理;
19、步骤2.5:实例化businesses、ports和devices三个实体模块,由对应的实体管理器通过解析json数组获取指定类名的全类名以及其类名,通过构造器获取该类的带有一个string类型参数的构造函数,并设置其可访问性;然后使用该构造器调用带有参数的构造函数,通过传入实体模块的类名将对应的实体模块实例化;
20、步骤2.6:通过反射将三个实体模块中的各个配置实例化后,得到存放实例化的类的各个属性值的json数组,并对所述属性进行逐个赋值,以初始化实例化配置参数。
21、与现有技术相比,本发明具有以下有益效果:
22、1.本发明一种基于消息耦合的物联网边缘网关软件架构方法,将消息泵作为系统组件的消息耦合机制和功能模块,通过消息泵进行任务驱动和耦合的物联网网关软件架构,并且通过引入businesses、ports和devices三种实体的抽象类,利用消息耦合的方式,实现智慧物联网关框架的轻量化和高扩展。利用反射技术,实现参数自动配置和组件自动装配,提高二次开发的效率,能够实现“类操作系统”级别的开发框架支持。
23、2.低运行环境,软件运行对硬件的要求较低,可以实现对目前市面多种主流嵌入式硬件系统的支持;
24、3.低代码量,高开发效率,各种设备控制组件、端口通信组件、协议解析组件可以以库的方式提供,借助开源社区的力量不断完善,框架软件自动装配,代码重用率高;
25、4.便捷管理,平台管理方便,通过制定功能模块研发和上线流程,在符合saas(software as a service)和多租户的软件服务模式下,提供面向功能模块级别的粗粒度授权管理及面向api(application program interface)级别的细粒度访问鉴权。
26、5.高设备兼容,本框架可以兼容不同设备厂商、不同型号、不同通信方式、不同数据格式的传感器设备;
27、6.高业务兼容,本框架可以提供远程控制、遥测数据上传、分布式的人工智能模型演进与分发、轻松实现自定义的云端和边端业务的开发和部署。