一种基于微服务的动力与环境监控系统及方法技术方案

技术编号:37997512 阅读:12 留言:0更新日期:2023-06-30 10:11
本申请提供了一种基于微服务的动力与环境监控系统及方法,其中,该系统包括:流量接入层、业务网关、微服务模块、微服务注册中心;流量接入层,用于将用户端发送的用户请求发送至业务网关;业务网关,用于对用户请求中携带的用户登录账号进行鉴权,判断用户登录账号是否有访问权限;在用户登录账号有访问权限时,根据用户请求中携带的请求内容,从微服务模块中确定出请求内容对应的目标微服务;微服务模块,用于从微服务注册中心中确定出目标微服务的微服务地址,通过该微服务地址访问目标微服务,使用目标微服务响应用户请求,并将请求结果发送至用户端。通过该方法,有利于提高对数据管理的统一性。据管理的统一性。据管理的统一性。

【技术实现步骤摘要】
一种基于微服务的动力与环境监控系统及方法


[0001]本申请涉及计算机
,尤其是涉及一种基于微服务的动力与环境监控系统及方法。

技术介绍

[0002]动力与环境监控系统是部队后勤保障的重要内容,其用于监控供电设备、供暖设备、供水设备、燃气设备的运行状态及所处的环境状态。目前,供电、供暖、供水、燃气等数据分别存储至各自的数据库中,互联互通较差,信息孤岛情况严重,协同处理能力较弱,缺乏统一的监控管理。用户想要使用这些数据时,需要分别从各个数据库中获取这些数据,数据使用过程较为繁琐。

技术实现思路

[0003]有鉴于此,本申请的目的在于提供一种基于微服务的动力与环境监控系统及方法,以提高对数据管理的统一性,提高数据使用的便捷程度。
[0004]第一方面,本申请实施例提供了一种基于微服务的动力与环境监控系统,所述系统包括:流量接入层、至少一个业务网关、微服务模块、微服务注册中心;所述流量接入层,用于接收用户端发送的用户请求,以及根据配置策略,将所述用户请求发送至对应的业务网关;所述用户请求包括数据获取请求和/或数据分析请求;所述业务网关,用于对所述用户请求中携带的用户登录账号进行鉴权,判断所述用户登录账号是否有访问权限;以及在所述用户登录账号有访问权限时,根据所述用户请求中携带的请求内容,从所述微服务模块包含的各个微服务中确定出所述请求内容对应的目标微服务;所述微服务模块,用于从所述微服务注册中心中确定出所述目标微服务的微服务地址,以及通过该微服务地址访问所述目标微服务,使用所述目标微服务响应所述用户请求,并将请求结果发送至所述用户端。
[0005]结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,所述系统还包括:缓存组件;当所述用户请求为所述数据获取请求时,所述微服务模块在用于使用所述目标微服务响应所述用户请求时,具体用于:使用所述目标微服务访问所述缓存组件,判断所述缓存组件中是否缓存有所述数据获取请求对应的请求数据;当所述缓存组件中缓存有所述请求数据时,使用所述目标微服务从所述缓存组件中获取所述请求数据;当所述缓存组件中未缓存有所述请求数据时,使用所述目标微服务从数据库中获取所述数据获取请求对应的请求数据,并将获取到的请求数据缓存至所述缓存组件;所述缓存组件,用于缓存所述目标微服务从所述数据库中获取到的请求数据;以及监测缓存的各个请求数据是否超过该请求数据的有效日期;当超过所述有效日期时,将该请求数据从所述缓存组件中删除;每个所述请求数据的有效日期的长短与该请求数据的
使用率呈正相关关系。
[0006]结合第一方面,本申请实施例提供了第一方面的第二种可能的实施方式,其中,所述系统还包括:分布式锁;所述用户请求中包含有多个子请求;每个所述子请求对应各自的目标微服务;所述分布式锁,用于判断同一所述用户请求中的各个子请求各自对应的目标微服务在响应子请求时是否均响应成功;当均响应成功时,所述微服务模块将包含各个子请求结果的请求结果发送至所述用户端;当存在至少一个子请求未响应成功时,所述微服务模块向所述用户端发送用于表示请求响应失败的提示信息。
[0007]结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述系统还包括:日志;所述日志,用于记录所述流量接入层接收到的各个所述用户请求,以及所述业务网关对各个所述用户请求的鉴权结果,以及所述微服务模块针对各个所述用户请求的请求结果。
[0008]结合第一方面,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述系统还包括任务调度中心;当所述用户请求为周期性的数据获取请求时,所述任务调度中心,用于:周期性调用所述微服务模块,以使所述微服务模块周期性通过该用户请求对应的微服务地址访问该用户请求对应的目标微服务,以及周期性使用该目标微服务响应该用户请求,周期性的将当前的请求结果发送至所述用户端。
[0009]结合第一方面,本申请实施例提供了第一方面的第五种可能的实施方式,其中,所述流量接入层在用于根据配置策略,将所述用户请求发送至对应的业务网关时,具体用于:当所述业务网关为一个时,将所述用户请求发送至所述业务网关的队列中;当所述业务网关为多个时,根据各个业务网关的处理能力和/或剩余负载,将所述用户请求发送至对应的业务网关。
[0010]结合第一方面,本申请实施例提供了第一方面的第六种可能的实施方式,其中,所述微服务模块在用于使用所述目标微服务响应所述用户请求时,具体用于:所述目标微服务根据所述用户请求中携带的所述请求内容,调用预设的SQL语句;对预设的SQL语句进行格式化预处理,得到第一SQL语句;使用SQL解析器对所述第一SQL语句进行解析,得到目标SQL语句;所述目标微服务使用所述SQL语句响应所述用户请求。
[0011]结合第一方面,本申请实施例提供了第一方面的第七种可能的实施方式,其中,所述系统还包括系统版本控制模块;所述系统版本控制模块,用于在对所述基于微服务的动力与环境监控系统进行系统版本升级后,当系统版本升级后的基于微服务的动力与环境监控系统存在故障时,将当前的系统版本切换至进行系统版本升级之前的系统版本。
[0012]结合第一方面,本申请实施例提供了第一方面的第八种可能的实施方式,其中,所述数据获取请求和/或所述数据分析请求中的数据包括以下中的任意一种或多种:供电数据、供暖数据、供水数据、燃气数据以及各个设备所处的环境数据。
[0013]第二方面,本申请实施例还提供一种基于微服务的动力与环境监控方法,所述方
法应用于基于微服务的动力与环境监控系统,所述基于微服务的动力与环境监控包括:流量接入层、至少一个业务网关、微服务模块、微服务注册中心,所述方法包括:通过所述流量接入层接收用户端发送的用户请求,以及根据配置策略,将所述用户请求发送至对应的业务网关;所述用户请求包括数据获取请求和/或数据分析请求;通过所述业务网关对所述用户请求中携带的用户登录账号进行鉴权,判断所述用户登录账号是否有访问权限;在所述用户登录账号有访问权限时,所述业务网关根据所述用户请求中携带的请求内容,从所述微服务模块包含的各个微服务中确定出所述请求内容对应的目标微服务;通过所述微服务模块从所述微服务注册中心中确定出所述目标微服务的微服务地址,以及通过该微服务地址访问所述目标微服务,使用所述目标微服务响应所述用户请求,并将请求结果发送至所述用户端。
[0014]结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,所述系统还包括:缓存组件;当所述用户请求为所述数据获取请求时,所述使用所述目标微服务响应所述用户请求,包括:使用所述目标微服务访问所述缓存组件,判断所述缓存组件中是否缓存有所述数据获取请求对应的请求数据;当所述缓存组件中缓存有所述请求数据时,使用所述目标微服务从所述缓存组件中获取所述请求数据;当所述缓存组件中未缓存有所述请求数据时,使用所述目标微服务从数据库中获取所述数据获取请求对应的请求数据,并将获取到的请求数据缓存至所述缓存组件;通过所述缓本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于微服务的动力与环境监控系统,其特征在于,所述系统包括:流量接入层、至少一个业务网关、微服务模块、微服务注册中心;所述流量接入层,用于接收用户端发送的用户请求,以及根据配置策略,将所述用户请求发送至对应的业务网关;所述用户请求包括数据获取请求和/或数据分析请求;所述业务网关,用于对所述用户请求中携带的用户登录账号进行鉴权,判断所述用户登录账号是否有访问权限;以及在所述用户登录账号有访问权限时,根据所述用户请求中携带的请求内容,从所述微服务模块包含的各个微服务中确定出所述请求内容对应的目标微服务;所述微服务模块,用于从所述微服务注册中心中确定出所述目标微服务的微服务地址,以及通过该微服务地址访问所述目标微服务,使用所述目标微服务响应所述用户请求,并将请求结果发送至所述用户端。2.根据权利要求1所述系统,其特征在于,所述系统还包括:缓存组件;当所述用户请求为所述数据获取请求时,所述微服务模块在用于使用所述目标微服务响应所述用户请求时,具体用于:使用所述目标微服务访问所述缓存组件,判断所述缓存组件中是否缓存有所述数据获取请求对应的请求数据;当所述缓存组件中缓存有所述请求数据时,使用所述目标微服务从所述缓存组件中获取所述请求数据;当所述缓存组件中未缓存有所述请求数据时,使用所述目标微服务从数据库中获取所述数据获取请求对应的请求数据,并将获取到的请求数据缓存至所述缓存组件;所述缓存组件,用于缓存所述目标微服务从所述数据库中获取到的请求数据;以及监测缓存的各个请求数据是否超过该请求数据的有效日期;当超过所述有效日期时,将该请求数据从所述缓存组件中删除;每个所述请求数据的有效日期的长短与该请求数据的使用率呈正相关关系。3.根据权利要求1所述系统,其特征在于,所述系统还包括:分布式锁;所述用户请求中包含有多个子请求;每个所述子请求对应各自的目标微服务;所述分布式锁,用于判断同一所述用户请求中的各个子请求各自对应的目标微服务在响应子请求时是否均响应成功;当均响应成功时,所述微服务模块将包含各个子请求结果的请求结果发送至所述用户端;当存在至少一个子请求未响应成功时,所述微服务模块向所述用户端发送用于表示请求响应失败的提示信息。4.根据权利要求1所述系统,其特征在于,所述系统还包括:日志;所述日志,用于记录所述流量接入层接收到的各个所述用户请求,以及所述业务网关对各个所述用户请求的鉴权结果,以及所述微服务模块针对各个所述用户请求的请求结果。5.根据权利要求1所述系统,其特征在于,所述系统还包括任务调度中心;当所述用户请求...

【专利技术属性】
技术研发人员:王毅璇杨文龙丰大军银皓句海洋穆洪彬
申请(专利权)人:中国电子信息产业集团有限公司第六研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1