一种基于MQTT的通用数据采集系统的制作方法

文档序号:30181036发布日期:2022-05-26 13:20阅读:来源:国知局

技术特征:
1.一种基于mqtt的通用数据采集系统,其特征在于,所述系统包括:数据采集层、mqtt中间层、数据控制层和数据归档层,所述数据采集层完成各种控制系统工业接口协议的转换和数据采集存储,接收控制指令、发送反馈消息、发送压缩数据流;所述mqtt中间层对多种消息进行发布、订阅管理和客户端连接管理;所述数据控制层提供时序数据库、数据采集层的基础数据管理、数据查询、sql工具功能,完成控制指令的下发,反馈消息的接收、数据归档的管理及接口运行状态的监控;所述数据归档层完成压缩数据流的接收、解压、并发控制写入,接收控制层指令,根据正常采集数据流和存储转发数据流,采用动态线程争用方式完成各接口数据的解压、大批量快速写入。2.如权利要求1所述的一种基于mqtt的通用数据采集系统,其特征在于,所述数据采集层支持各种工业控制系统接口和通用互联网消息传递接口,按照管理方式分为:工业控制系统接口采集和物联网设备接口采集;所述工业控制系统接口采集包括:多接口管理、接口测试、接口启停、采集配置接收、数据的多种采集方式、采集频率、采集日志、网络中断后数据的本地存储,网络恢复后数据的转发,同时还需要反馈各种状态包括:接口启停状态、接口采集状态、所有采集数据的质量状态、存储转发状态;所述物联网设备接口采集通过将程序封装到单片机形式提供,包括:接口状态反馈、采集配置、采集数据上传,存储转发。3.如权利要求1所述的一种基于mqtt的通用数据采集系统,其特征在于,所述mqtt中间层通过定制方式和通用方式完成消息的发布、订阅管理和客户端连接管理,所述通用方式采用互联网通用mqtt产品实现,所述定制方式利用mqtt协议自主定制,在将产品发布到互联网时,采用通用方式,在将产品发布到局域网时,既可以采用通用方式也可以采用定制方式。4.如权利要求1所述的一种基于mqtt的通用数据采集系统,其特征在于,所述数据控制层集成了接口信息管理、设备管理、数据安全通信和消息订阅能力的管理平台,针对工业控制系统采集接口,采用集中管控方式,由数据控制层定义采集的方式、接口的启停、采集的频率、采集的分组、采集位号的管理,实现采集配置的下发、采集状态的监控、日志的记录、数据归档的分配;针对物联网采集接口,采用主动配置管理,被动接收数据方式,由数据控制层定义智能设备基本信息、数据规则、数据通信的设置,实现设备状态的监控及数据归档的分配。5.如权利要求1所述的一种基于mqtt的通用数据采集系统,其特征在于,所述数据控制层在应用过程中,分为后端框架和前端框架,所述后端框架使用entityframeworkcore应用程序数据访问技术,能够扩展并且支持跨平台,支持数据库:microsoft sqlserver 2012+、mysql 5.7+、oracle(11g\12c)、sqlite、postgresql;所述前端框架基于ng-alain前端框架进行开发,ng-alain前端框架为企业中后台前端/设计解决方案脚手架,提供通用性业务模块。6.如权利要求5所述的一种基于mqtt的通用数据采集系统,其特征在于,所述后端框架包括:模块化组件系统设计模块、自动化注册模块、数据存储设计模块、身份认证设计模块、功能权限授权模块和数据权限授权模块;所述模块化组件系统设计模块设计一个模块系统,每个模块以一个实现了模块基类hsharppack的类作为入口,完成本模块的服务添加
addservice和模块初始化工作;所述自动化注册模块在系统初始化时,通过反射检索程序集的方式,检索出所有服务类型servicetype与服务实现implementationtype及生命周期类型servicelifetime的相关数据,将依赖注入服务注册到服务容器servicecollection中;所述数据存储设计模块通过unitofwork-repository的模式设计一个泛型的实体仓储接口irepository,设计iunitofworkmanager接口来管理多数据库连接事务,每个iunitofwork,通过iunitofwork模式管理dbcontext的创建与缓存;所述身份认证设计模块使用aspnetcore原生的用户身份认证框架,身份认证相关操作统一使用usermanager,rolemanager两个入口;所述功能权限授权模块和数据权限授权模块自动收集系统的所有业务点ifunction和数据实体ientityinfo,用于对系统的功能权限、数据权限、数据缓存、操作审计实用功能提供数据支持。7.如权利要求6所述的一种基于mqtt的通用数据采集系统,其特征在于,所述功能权限授权模块的授权流程为:框架自动创建功能点function信息,存储到数据库;用户创建树形模块module信息,并创建模块与功能点的分配关系,存储到数据库;将模块module分配给角色role;将角色role分配给用户user。8.如权利要求6所述的一种基于mqtt的通用数据采集系统,其特征在于,所述数据权限授权模块的授权流程为:新增角色与数据实体操作对应信息,增角色对数据实体的筛选规则。9.如权利要求1所述的一种基于mqtt的通用数据采集系统,其特征在于,所述数据归档层提供规范的webapi接口,启用功能模块或第三方产品对接,webapi接口包括数据归档处理进度的预览、下游采集服务中各个数据接口的运行状态监控、启用或停止指定接口的归档处理、写入性能实时计算;在应用过程中,数据归档层封装mqtt中间件,进行多线程及动态线程分配。10.如权利要求9所述的一种基于mqtt的通用数据采集系统,其特征在于,所述多线程及动态线程分配过程中服务启动流程为:管理进程读取mysql库的接口列表,动态创建各个接口的归档线程;管理进程启动mqtt监听线程,监听运行监测测试主题;各接口归档线程初始化基本信息;各接口归档线程开启mqtt监听线程;各接口归档线程启动一个写入td线程动态线程分配过程中基于线程数分配原则进行分配,先超限先入列,归档服务将对动态处理队列做出栈处理,将可用动态线程分配额全部分配给该接口的归档服务线程,直到该接口的队列数量小于等于最低下限,则自动释放动态线程分配额,归档服务继续对动态处理队列做出栈处理,将动态线程可分配额分配对出栈接口,如果动态处理队为空,则不处理。

技术总结
本发明公开了一种基于MQTT的通用数据采集系统,所述数据采集层完成各种控制系统工业接口协议的转换和数据采集存储,接收控制指令、发送反馈消息、发送压缩数据流;所述MQTT中间层对多种消息进行发布、订阅管理和客户端连接管理;所述数据控制层提供时序数据库、数据采集层的基础数据管理、数据查询、SQL工具功能,完成控制指令的下发,反馈消息的接收、数据归档的管理及接口运行状态的监控;所述数据归档层完成压缩数据流的接收、解压、并发控制写入,接收控制层指令,根据正常采集数据流和存储转发数据流,采用动态线程争用方式完成各接口数据的解压、大批量快速写入。本发明解决了现有时序数据库与实时数据库功能难以结合并行的问题。行的问题。行的问题。


技术研发人员:黄克坚
受保护的技术使用者:上海汉中诺软件科技有限公司
技术研发日:2022.02.21
技术公布日:2022/5/25
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1