[发明专利]一种多节点任务异步协同处理方法在审
申请号: | 201910628209.5 | 申请日: | 2019-07-12 |
公开(公告)号: | CN111309458A | 公开(公告)日: | 2020-06-19 |
发明(设计)人: | 闫卫杰;张怀珠;余徐勇 | 申请(专利权)人: | 北京关键科技股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 102208 北京市昌平区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 节点 任务 异步 协同 处理 方法 | ||
1.一种项目多节点任务异步协同处理方法,其特征在于,所述方法包括:
采用多进程的模型对多代码分析处理任务进行拆分处理;
通过基于I/O多路复用的模型处理多任务的请求;
由一个主进程(Master)、一个心跳进程(Heartbeat)和多个工作进程(worker)组成。Master进程监控和管理其他进程,负责处理网络事件。主进程与Heartbeat子进程通过管道来通信;
采用多线程的方式来并行计算代码分析摘要信息和传输数据;
采用线程池(ThreadPool)的模式来执行任务;
项目采用的异步控制机制采用基于epoll调用的单线程异步事件触发机制来实现各类IO的高效并发。
2.如权利要求1所述的项目多节点任务异步协同处理方法,其特征在于:
使用Master进程监控和管理其他进程,负责处理网络事件。主进程与Heartbeat子进程通过管道来通信包括:
主进程初始化,创建命令管道fifo,创建Heartbeat子进程,主进程关闭管道写端,子进程关闭管道写端。调用epoll_create()函数创建epoll文件句柄epollfd。创建socket,绑定端口50000,将监听描述符linstenfd加入epollfd中。调用epoll_wait()函数等待事件到来。如果是有新连接到来,调用accept()函数接受连接,设置新套接字连接事件为EPOLLIN,只监听可读事件,将新连接加入epollfd中。如果是socket有可读数据,创建worker子进程,子进程继承主进程的socket连接,主进程关闭该socket,从epoll中移出该socket描述符。子进程读取socket数据,进行业务逻辑处理。如果是管道描述符有数据可读,则表示心跳模块向管理模块汇报了系统故障,需要进行故障处理,创建worker子进程,子进程调用故障处理函数handleBreakdown()。
3.如权利要求1所述的项目多节点任务异步协同处理方法,其特征在于:
使用采用的异步控制机制采用基于epoll调用的单线程异步事件触发机制来实现各类IO的高效并发包括:
异步事件框架在主控线程中运行epoll系统调用,并由epoll调用监听循环网络、磁盘以及管道连接事件,可读事件和可写事件。为提高系统并发性和吞吐量,元数据管理模块内部采用线程池异步处理不同链接不同业务逻辑下执行的数据库操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京关键科技股份有限公司,未经北京关键科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910628209.5/1.html,转载请声明来源钻瓜专利网。