[发明专利]基于多线程内存分配和上下文调度的数据处理方法及系统有效
申请号: | 202011580433.0 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112612615B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 王金国;苗功勋;崔新安;宋树达 | 申请(专利权)人: | 中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 250101 山东省济南市高新*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多线程 内存 分配 上下文 调度 数据处理 方法 系统 | ||
1.基于多线程内存分配和上下文调度的数据处理方法,其特征是,包括:
对待处理的业务代码分别做抽象化包装,包装成对应的协程任务;
根据协程任务的类型,对协程任务进行调度处理:
如果协程任务为单个协程任务或者为多个无相关的协程任务,则基于用户态实现的任务调度算法并行执行;其中,在并行执行的过程中,采用多线程下的内存动态分配策略对内存进行分配;
如果协程任务为多个相关联的协程任务,则根据happen before法则,单次或多次投递到多生产者多消费者队列,通过多生产者多消费者队列完成协程任务的处理,并根据调度情况进行多线程并行处理;
将协程任务的处理结果通过数据的形式进行可视化;
在并行执行的过程中,采用多线程下的内存动态分配策略对内存进行分配;具体包括:
协程创建前,自动创建内存池;
从预分配的内存池,按需分配内存给协程任务。
2.如权利要求1所述的基于多线程内存分配和上下文调度的数据处理方法,其特征是,对待处理的业务代码分别做抽象化包装,包装成对应的协程任务;具体包括:
将待处理的业务代码,细化成最小协程任务;
为每个最小协程任务增加执行上下文信息段和优先级信息;
依据happen before原则,为每个最小协程任务增加执行关联信息。
3.如权利要求1所述的基于多线程内存分配和上下文调度的数据处理方法,其特征是,如果协程任务为单个协程任务或者为多个无相关的协程任务;
其中,单个协程任务,是指单次执行的协程任务;
多个无相关的协程任务,是指多个单次执行的协程任务,且彼此之间没有关联。
4.如权利要求1所述的基于多线程内存分配和上下文调度的数据处理方法,其特征是,如果协程任务为单个协程任务或者为多个相关的协程任务,则基于用户态实现的任务调度算法并行执行;具体包括:
将协程任务放入无锁队列;
无锁队列并行执行协程任务;无锁队列不区分优先级。
5.如权利要求1所述的基于多线程内存分配和上下文调度的数据处理方法,其特征是,如果协程任务为多个相关联的协程任务,则根据happen before法则,单次或多次投递到多生产者多消费者队列;具体包括:
区分若干个协程任务彼此之间的执行先后顺序;最先执行的协程任务,其优先级被标注为最高;
根据happen before法则,单次或多次投递到多生产者多消费者队列。
6.如权利要求1所述的基于多线程内存分配和上下文调度的数据处理方法,其特征是,通过多生产者多消费者队列完成协程任务的处理,并根据调度情况进行多线程并行处理;具体包括:
协程任务根据优先级插入到多生产者多消费者队列;多生产者多消费者队列是一个无锁队列;无锁队列是多线程的;无锁队列的线程数和CPU物理线程数一致;无锁队列的每个线程绑定了物理线程,以减少cache miss;
多生产者多消费者队列,依据协程任务的优先级和执行关联信息并行执行。
7.基于多线程内存分配和上下文调度的数据处理系统,其特征是,包括:
包装模块,其被配置为:对待处理的业务代码分别做抽象化包装,包装成对应的协程任务;
调度处理模块,其被配置为:根据协程任务的类型,对协程任务进行调度处理:如果协程任务为单个协程任务或者为多个无相关的协程任务,则基于用户态实现的任务调度算法并行执行;其中,在并行执行的过程中,采用多线程下的内存动态分配策略对内存进行分配;如果协程任务为多个相关联的协程任务,则根据happen before法则,单次或多次投递到多生产者多消费者队列,通过多生产者多消费者队列完成协程任务的处理,并根据调度情况进行多线程并行处理;
可视化模块,其被配置为:将协程任务的处理结果通过数据的形式进行可视化;
在并行执行的过程中,采用多线程下的内存动态分配策略对内存进行分配;具体包括:
协程创建前,自动创建内存池;
从预分配的内存池,按需分配内存给协程任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司,未经中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011580433.0/1.html,转载请声明来源钻瓜专利网。