一种基于微服务架构的modbus设备接入方法和系统与流程

文档序号:36820015发布日期:2024-01-26 16:27阅读:16来源:国知局
一种基于微服务架构的modbus设备接入方法和系统与流程

本发明提出了一种基于微服务架构的modbus设备接入方法和系统,属于设备接入。


背景技术:

1、传统单体架构在应用程序中将业务逻辑集中在一个单一的应用中,这在一开始可能看起来是一种简单而有效的方法。然而,这种架构方式在面对大量modbus设备接入时可能会带来一系列问题:

2、性能瓶颈:当大量modbus设备同时接入时,单一的modbus驱动服务可能无法有效处理所有请求,导致性能下降。这可能会引发延迟和响应时间过长的问题。

3、可伸缩性问题:传统单体架构难以实现良好的可伸缩性。随着设备数量的增加,单一应用程序的扩展将变得复杂,可能需要更多的硬件资源和人力投入。

4、单点故障:由于所有业务逻辑都集中在一个应用程序中,如果该应用程序出现问题,整个系统可能会受到影响。这会导致系统的脆弱性,容易受到单点故障的影响。

5、难以维护:单体架构通常导致大型且复杂的代码库,难以维护和理解。这使得应用程序的更新和修复变得困难,可能导致错误的引入。

6、灵活性不足:传统单体架构通常不够灵活,难以应对不断变化的需求。在增加新功能或应对新的modbus设备类型时,可能需要对整个应用程序进行修改。


技术实现思路

1、本发明提供了一种基于微服务架构的modbus设备接入方法和系统,用以解决现有技术中的当接入设备数量多时,modbus驱动服务容易出现问题,并且有可能影响到整个程序问题,所采取的技术方案如下:

2、一种基于微服务架构的modbus设备接入方法,所述基于微服务架构的modbus设备接入方法包括:

3、针对待微服务设置的整体系统进行拆分,获取多个微服务项目;

4、针对多个微服务项目进行微服务架构设置,获得每个微服务项目对应的微服务架构;

5、对所述每个微服务项目对应的微服务架构进行测试和部署,并对完成测试和部署的每个微服务项目对应的微服务架构进行定期维护和更新。

6、进一步地,针对待微服务设置的整体系统进行拆分,获取多个微服务项目,包括:

7、提取待微服务设置的整体系统的系统结构,获取整体系统的各子系统;

8、针对所述各子系统执行的功能进行分类,获得每种功能类型对应的子系统库;其中,所述子系统库包括每个子系统对应的设备单元;

9、提取每个每个子系统对应的设备单元中的各个设备;

10、针对每个子系统对应的设备单元中的各个设备设置微服务项目;其中,所述微服务项目包括设备驱动微服务、消息代理微服务、规则引擎微服务、数据统计分析微服务和数据流转微服务。

11、进一步地,针对多个微服务项目进行微服务架构设置,获得每个微服务项目对应的微服务架构,包括:

12、调取每个子系统对应的设备单元中的各个设备设置微服务项目;其中,所述微服务项目包括设备驱动微服务、消息代理微服务、规则引擎微服务、数据统计分析微服务和数据流转微服务;

13、针对设备驱动微服务进行设备驱动微服务结构设置;

14、针对消息代理微服务进行消息代理微服务结构设置;具体的,消息代理微服务用于处理设备数据的传输和消息路由。它可以使用消息队列或事件总线来实现。设备驱动微服务将数据发送到消息代理,消息代理负责将数据路由到适当的服务,如规则引擎、数据统计分析等。

15、针对规则引擎微服务进行规则引擎微服务结构设置;具体的,规则引擎微服务用于定义和执行数据处理规则,例如数据筛选、数据转换、警报生成等,规则可以基于收到的数据触发。

16、针对数据统计分析微服务进行数据统计分析微服务结构设置;具体的,数据统计分析微服务负责对数据进行实时或离线分析,生成报表或进行高级数据处理。它可以与分析库或机器学习模型集成。

17、针对数据流转微服务进行数据流转微服务结构设置。具体的,设备接入新设备时,应有自动化的部署流程。这可以是自动化脚本或使用容器编排工具(如docker compose、kubernetes)来启动新的设备驱动微服务实例。

18、进一步地,针对设备驱动微服务进行设备驱动微服务结构设置,包括:

19、利用modbus通信库设置待驱动设备与modbus设备之间的通信协议和通信方式;

20、根据所述待驱动设备与modbus设备之间的通信协议和通信方式设置待驱动设备与modbus设备之间的通信数据格式。

21、进一步地,根据所述待驱动设备与modbus设备之间的通信协议和通信方式设置待驱动设备与modbus设备之间的通信数据格式,包括:

22、提取符合所述通信协议的数据格式作为候选数据格式;

23、提取所述待驱动设备所产生的数据中所包含的数据格式;

24、提取目标数据量的每种数据格式对应的数据;其中,所述目标数据量的取值范围为10mb-50mb;

25、将所述每种数据格式对应的数据向所述候选数据格式进行依次转换,获得每种数据格式对应的数据向所述候选数据格式进行数据转换的平均时长;

26、提取所述每种数据格式对应的数据向所述候选数据格式进行数据转换的平均时长的最大值对应的数据格式,作为暂定数据格式;

27、提取所述暂定数据格式向所述候选数据格式进行依次转换对应的数据转换时长;

28、根据所述数据转换时长获取所述暂定数据格式向所述候选数据格式进行依次转换对应的转换参数;其中,所述转换参数通过如下公式获取:

29、

30、其中,x表示转换参数;tmax表示平均时长的最大值对应的时间长度;tmin表示平均时长的最小值对应的时间长度;x0表示预设的基准参数数值;c表示平均时长的最大值对应的暂定数据格式单位时间生成的平均数据量;cz表示待驱动设备单位时间所产生的总数据量;

31、将转换参数最小值对应的候选数据格式作为待驱动设备与modbus设备之间的通信数据格式。

32、一种基于微服务架构的modbus设备接入系统,所述基于微服务架构的modbus设备接入系统包括:

33、微服务项目获取模块,用于针对待微服务设置的整体系统进行拆分,获取多个微服务项目;

34、微服务架构获取模块,用于针对多个微服务项目进行微服务架构设置,获得每个微服务项目对应的微服务架构;

35、测试和部署模块,用于对所述每个微服务项目对应的微服务架构进行测试和部署,并对完成测试和部署的每个微服务项目对应的微服务架构进行定期维护和更新。

36、进一步地,所述微服务项目获取模块包括:

37、子系统提取模块,用于提取待微服务设置的整体系统的系统结构,获取整体系统的各子系统;

38、子系统库获取模块,用于针对所述各子系统执行的功能进行分类,获得每种功能类型对应的子系统库;其中,所述子系统库包括每个子系统对应的设备单元;

39、子系统对应设备提取模块,用于提取每个每个子系统对应的设备单元中的各个设备;

40、微服务项目设置模块,用于针对每个子系统对应的设备单元中的各个设备设置微服务项目;其中,所述微服务项目包括设备驱动微服务、消息代理微服务、规则引擎微服务、数据统计分析微服务和数据流转微服务。

41、进一步地,所述微服务架构获取模块包括:

42、微服务项目调取模块,用于调取每个子系统对应的设备单元中的各个设备设置微服务项目;其中,所述微服务项目包括设备驱动微服务、消息代理微服务、规则引擎微服务、数据统计分析微服务和数据流转微服务;

43、设备驱动微服务结构设置模块,用于针对设备驱动微服务进行设备驱动微服务结构设置;

44、消息代理微服务结构设置模块,用于针对消息代理微服务进行消息代理微服务结构设置;具体的,消息代理微服务用于处理设备数据的传输和消息路由。它可以使用消息队列或事件总线来实现。设备驱动微服务将数据发送到消息代理,消息代理负责将数据路由到适当的服务,如规则引擎、数据统计分析等。

45、规则引擎微服务结构设置模块,用于针对规则引擎微服务进行规则引擎微服务结构设置;具体的,规则引擎微服务用于定义和执行数据处理规则,例如数据筛选、数据转换、警报生成等,规则可以基于收到的数据触发。

46、数据统计分析微服务结构设置模块,用于针对数据统计分析微服务进行数据统计分析微服务结构设置;具体的,数据统计分析微服务负责对数据进行实时或离线分析,生成报表或进行高级数据处理。它可以与分析库或机器学习模型集成。

47、数据流转微服务结构设置模块,用于针对数据流转微服务进行数据流转微服务结构设置。具体的,设备接入新设备时,应有自动化的部署流程。这可以是自动化脚本或使用容器编排工具(如docker compose、kubernetes)来启动新的设备驱动微服务实例。

48、进一步地,所述设备驱动微服务结构设置模块包括:

49、通信参数设置模块,用于利用modbus通信库设置待驱动设备与modbus设备之间的通信协议和通信方式;

50、通信数据格式设置模块,用于根据所述待驱动设备与modbus设备之间的通信协议和通信方式设置待驱动设备与modbus设备之间的通信数据格式。

51、进一步地,所述通信数据格式设置模块包括:

52、候选数据格式提取模块,用于提取符合所述通信协议的数据格式作为候选数据格式;

53、设备产生数据格式提取模块,用于提取所述待驱动设备所产生的数据中所包含的数据格式;

54、数据信息量提取模块,用于提取目标数据量的每种数据格式对应的数据;其中,所述目标数据量的取值范围为10mb-50mb;

55、数据格式转换模块,用于将所述每种数据格式对应的数据向所述候选数据格式进行依次转换,获得每种数据格式对应的数据向所述候选数据格式进行数据转换的平均时长;

56、暂定数据格式提取模块,用于提取所述每种数据格式对应的数据向所述候选数据格式进行数据转换的平均时长的最大值对应的数据格式,作为暂定数据格式;

57、数据转换时长提取模块,用于提取所述暂定数据格式向所述候选数据格式进行依次转换对应的数据转换时长;

58、转换参数获取模块,用于根据所述数据转换时长获取所述暂定数据格式向所述候选数据格式进行依次转换对应的转换参数;其中,所述转换参数通过如下公式获取:

59、

60、其中,x表示转换参数;tmax表示平均时长的最大值对应的时间长度;tmin表示平均时长的最小值对应的时间长度;x0表示预设的基准参数数值;c表示平均时长的最大值对应的暂定数据格式单位时间生成的平均数据量;cz表示待驱动设备单位时间所产生的总数据量;

61、数据格式确定模块,用于将转换参数最小值对应的候选数据格式作为待驱动设备与modbus设备之间的通信数据格式。

62、本发明有益效果:

63、本发明提出的一种基于微服务架构的modbus设备接入方法和系统采用微服务架构,将设备驱动、消息代理、规则引擎、数据统计分析、数据流转等业务拆分,每一个设备提供额外的冗余modbus驱动服务,增加设备接入可靠性,接入新设备自动启动新的驱动服务。可以实现部署灵活,同时提升了平台接入设备的可靠性、计算性能的可扩展性。同时,允许将业务逻辑拆分成小的、可独立部署和扩展的服务,提供更好的性能、可伸缩性和容错能力。这种方式可以有效应对大量modbus设备接入的挑战,并提供更灵活、可维护和可扩展的解决方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1