一种以调度程序为核心的微服务自适应负载均衡系统的制作方法
本发明涉及工业互联网、云平台调度控制、微服务治理及分布式资源分配,尤其涉及一种以调度程序为核心的微服务自适应负载均衡系统,适用于工业物联网云平台中一个调度中心对应多个base服务实例、多个注册组和大量设备接入对象的运行场景。
背景技术:
1、现有工业云平台在部署基础服务时,通常会将多个base服务实例同时接入系统,以共同承担注册组初始化、设备数据采集、项目运行、实时通信、报警处理和后续微服务调用任务。为了使多个base服务协同工作,常见方案通常采用人工分配、固定映射或简单轮询分配,即由运维人员预先指定某个注册组绑定到某个base服务,或者在新增注册组时按顺序轮流指定目标实例。
2、这类方案虽然实现简单,但其调度逻辑通常分散在各个服务实例内部,缺少统一的中心控制节点,无法实时掌握所有base服务实例的连接状态、当前承载组数、设备数量、可分配能力和负载变化。特别是在工业现场中,注册组之间设备数量差异大、通信频率差异大、业务压力不均匀,若仍使用静态分配方式,则容易出现某些base服务承载大量设备和注册组而持续高压,其他base服务却长期空闲的问题。
3、此外,现有方案在服务实例异常断开、容量超限、迁移切换或重新分配时,往往需要人工干预。尤其当某个base服务断线、不可分配或者达到上限后,缺乏一种能够由中心调度程序自动识别并触发取消分配、迁移重分配和恢复回流的闭环机制。因此,现有方案难以满足工业物联网平台对高可用、动态扩展和持续均衡的要求。
4、现有技术主要存在如下五大固有缺陷:
5、1.缺少统一调度中心。现有技术中,各base服务通常各自为政,缺少一个独立的调度程序统一掌握所有base服务实例、注册组分布关系和当前负载状态,导致系统整体可视性差、控制粒度粗。
6、2.分配策略过于静态。传统方案通常按人工经验、固定绑定或简单轮询进行注册组分配,未考虑base服务当前已分配组数、设备数量、是否允许继续分配以及实例当前状态,难以在负载变化时自适应调整。
7、3.无法处理组间负载差异。工业平台注册组包含的设备数量差异较大,同样数量的注册组可能对应完全不同的处理压力。若只按“组数平均”而不按“设备量和承载量均衡”,则容易造成伪均衡。
8、4.缺少异常迁移机制。当某个base服务超出可承载范围、主动上报超限、心跳超时或断开连接时,现有方案缺少由调度程序自动发起的迁移和重分配流程,难以及时恢复整体均衡。
9、5.缺少可恢复、可回滚的调度闭环。注册组分配、取消分配、重启和迁移等操作一旦失败,现有方案通常不能保存前一状态并进行回退或重新计算,稳定性不足。
10、因此,亟需一种新的技术方案来解决上述技术问题。
技术实现思路
1、本发明的目的在于克服上述现有技术的问题,提供了一种以调度程序为核心的微服务自适应负载均衡系统,用于解决现有工业物联网微服务负载均衡架构缺乏统一中心化调度管控,服务负载状态无法全局感知,传统静态分配方式无法贴合真实业务负载,易出现负载分配不均的情况。同时现有系统无法自动处理服务超限、断线等异常场景,难以实现负载自动迁移与重分配,且各类调度操作无状态回滚能力,调度稳定性差,无法满足工业云平台高可用、动态均衡、故障自恢复的实际运行需求的技术问题。
2、上述目的是通过以下技术方案来实现:
3、一种以调度程序为核心的微服务自适应负载均衡系统,包括独立部署的调度中心模块、base服务集群和可视化交互模块,所述调度中心模块通过websocket长连接与所述base服务集群内各base服务实例通信,所述调度中心模块内置状态采集模块、容量约束模块、负载评估模块、分配决策模块、迁移控制模块、故障恢复模块、以及一致性与恢复模块;
4、所述状态采集模块用于接收各base服务实例周期性上报的服务信息与心跳信息,维护全局base服务与会话、注册组与base服务的映射关系;
5、所述容量约束模块配置有canassign、maxassigncount约束参数,用于过滤得到可分配base服务候选集合;
6、所述负载评估模块以注册组内设备数量为负载权重,统计各base服务实例已承载注册组数量与设备总数表征业务压力;
7、所述分配决策模块依据各候选base服务实例设备总数升序排序,动态分配待分配注册组;
8、所述迁移控制模块识别超限base服务实例,自动完成注册组解绑与跨实例重分配;
9、所述故障恢复模块依据心跳超时判定断线base服务实例,将其绑定注册组重新分配至可用实例;
10、所述一致性与恢复模块存储调度操作前状态快照,操作失败时执行回滚;
11、所述可视化交互模块用于展示全局调度状态并接收自动/人工调度指令;
12、所述base服务实例用于执行注册组加载、初始化,并向所述调度中心模块反馈操作执行结果。
13、进一步地,所述调度中心模块为schedulerservice调度中枢,采用全局互斥机制保证同一时刻仅单个调度程序实例运行。
14、进一步地,各所述base服务实例启动后主动建立websocket长连接,上报的服务信息至少包含base标识、服务ip、服务端口、rpc端口、当前运行状态、已承载注册组列表、设备总数量;所述状态采集模块依据心跳消息的最后更新时间,将base服务实例划分为已连接可调度、不可分配、超限、断开四种状态。
15、进一步地,所述容量约束模块的canassign参数表征base服务实例是否允许新增注册组分配,maxassigncount参数表征base服务实例最大可承载注册组上限,两类参数支持运维界面动态调整或配置文件预置。
16、进一步地,所述分配决策模块分配注册组前,剔除未连接、canassign为否、已达到maxassigncount上限的base服务实例生成候选集合。
17、进一步地,所述分配决策模块的自适应分配流程包括:读取候选base服务集合、获取各实例已分配组数与设备总数、按设备总数从小到大排序、依次分配待分配注册组,每完成一组分配实时更新对应base服务计数并重新排序候选实例;若全部候选实例均达容量上限,则终止本轮分配并输出未分配清单。
18、进一步地,所述迁移控制模块的超限迁移流程为:识别超限base服务实例并标记,下发取消分配指令;接收原base服务解绑完成回执后,选取设备总数最低的可用base服务实例,下发批量分配指令完成注册组迁移重分配。
19、进一步地,所述故障恢复模块的断连恢复流程为:心跳超时判定base服务实例断开,标记实例并将其绑定注册组置为待迁移状态;运维策略允许时将待迁移注册组交由分配决策模块重新分配;故障base服务恢复连接后,重新纳入候选集合参与后续分配。
20、进一步地,所述可视化交互模块支持自动调度和人工调度双模式;所述自动调度包含一键分配、自适应重平衡;所述人工调度支持手动指定base服务、批量取消、批量重启注册组,全部人工操作经调度中心统一校验实例在线状态、容量约束、注册组占用状态。
21、进一步地,所述调度中心模块还包括元数据装载模块和映射发布模块;所述元数据装载模块从mysql加载base服务、注册组、设备元数据;所述映射发布模块向审计日志、订阅模块推送完整全局分配映射视图。
22、进一步地,所述系统适配工业互联网架构,底层数据源包含网关、hmi、plc、传感器,通过xnet、mqtt、modbus等协议接入数据中台,数据中台对接tdengine、mysql、redis数据库;调度程序独立于业务微服务,无需修改base服务原有业务逻辑即可完成负载均衡治理。
23、本发明所提供的一种以调度程序为核心的微服务自适应负载均衡系统,通过搭建独立中心化调度架构实现全服务状态全局感知与统一管控,通过依托真实设备负载权重分配资源实现负载精准均衡,规避负载伪均衡问题,通过自动化异常迁移与故障恢复机制实现服务异常自主修复,通过调度状态快照回滚机制实现调度操作稳定可控,通过人机协同调度模式实现运维灵活管控,有效提升系统资源利用率、运行稳定性、容错能力与工业场景适配。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com