[发明专利]基于双向循环消息队列通信的轻量化进程池调度系统及方法在审
| 申请号: | 202211536557.8 | 申请日: | 2022-12-02 |
| 公开(公告)号: | CN116521332A | 公开(公告)日: | 2023-08-01 |
| 发明(设计)人: | 傅祥优;黄颖;王博;孙柳林 | 申请(专利权)人: | 兴业银行股份有限公司;兴业数字金融服务(上海)股份有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 上海段和段律师事务所 31334 | 代理人: | 郭国中 |
| 地址: | 350014 福建省福州*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 双向 循环 消息 队列 通信 量化 进程 调度 系统 方法 | ||
本发明提供了一种基于双向循环消息队列通信的轻量化进程池调度系统及方法,包括:父进程模块:实现请求缓存和请求分发功能,投递业务消息体到双向循环消息队列模块;双向循环消息队列模块:包含子向消息队列、父向消息队列和轻量化消息载体;子进程池模块:实时监听双向循环消息队列模块,处理子进程解析业务消息体,实现业务消息数据具体处理及最终入库;进程状态机模块:从双向循环消息队列模块获取状态切换消息体,负责统一回收和清理。本发明解决了高并发单体系统因系统资源粗放式管理、服务间通信缓慢而导致的资源耗尽问题,实现了系统资源充分利用,从而支持高并发流量全时段自适应处理。
技术领域
本发明涉及进程调度技术领域,具体地,涉及一种基于双向循环消息队列通信的轻量化进程池调度系统及方法。
背景技术
高并发单体系统存在多进程资源难以高效管理、多服务间难以快速通信的痛点。为解决此痛点,同时消除对大而全甚至复杂臃肿的组件的深度依赖。
专利文献CN109240812A(申请号:CN201810920122.0)公开了一种基于动态监测的进程优化调度方法,涉及进程调度技术领域。该发明包括进程监控器监控进程池ProcessPool中进程状态同时监控等待进程队列Seq-wait中进程状态;进程调度器将进程池ProcessPool中就绪进程和等待进程队列Seq-wait中唤醒进程ProcessAwake调度到就绪进程队列Seq-ready中;进程调度器根据进程调度算法将就绪进程队列Seq-ready中就绪进程调度给处理器;处理器执行就绪进程。但该发明没有基于双向循环消息队列通信进行进程池调度。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于双向循环消息队列通信的轻量化进程池调度系统及方法。
根据本发明提供的一种基于双向循环消息队列通信的轻量化进程池调度系统,包括:
父进程模块:实现请求缓存和请求分发功能,投递业务消息体到双向循环消息队列模块;
双向循环消息队列模块:包含子向消息队列、父向消息队列和轻量化消息载体;
子进程池模块:实时监听双向循环消息队列模块,处理子进程解析业务消息体,实现业务消息数据具体处理及最终入库;
进程状态机模块:从双向循环消息队列模块获取状态切换消息体,负责统一回收和清理。
优选地,在所述父进程模块中:
父进程模块从外部、内部两个方面获取消息数据:外部上从上游关联系统获取业务消息数据,父进程模块缓存业务请求和消息数据,实现请求缓存;实时分析业务消息数据,提取成轻量化消息载体,形成业务消息体,投递此待发消息体至双向循环消息队列模块,实现请求分发;内部上父进程模块从进程状态机模块获取有关子进程池模块是否存在空闲资源的反馈。
优选地,在所述双向循环消息队列模块中:
双向循环消息队列模块基于Linux内核IPC机制构建,面向内核编程,包括:
子向消息队列,由父进程模块到子进程池模块的单向专有队列组成,实现业务消息体入队、缓存、出队;从父进程模块获取轻量化消息载体,等待子进程池模块处理;
父向消息队列,由子进程池模块到父进程模块的单向专有队列组成,实现状态切换消息体入队、缓存、出队,从子进程池模块获取轻量化消息载体,等待进程状态机模块处理;
轻量化消息载体,消息载体包含消息类型、消息处理结果、套接字位置和文件句柄。
优选地,在所述子进程池模块中:
子进程池模块包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于兴业银行股份有限公司;兴业数字金融服务(上海)股份有限公司,未经兴业银行股份有限公司;兴业数字金融服务(上海)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211536557.8/2.html,转载请声明来源钻瓜专利网。





