基于多线程的任务处理方法、装置、设备及存储介质制造方法及图纸

技术编号:26890436 阅读:20 留言:0更新日期:2020-12-29 16:06
本发明专利技术涉及区块链技术,提供一种基于多线程的任务处理方法、装置、设备及存储介质,该方法包括:根据预设任务分配规则将多个任务分配至预设数量的子线程进行处理,生成各子线程对应的任务处理列表,并控制各子线程异步执行各自列表中的任务;根据一子线程对应的列表获取一未处理任务作为待处理任务,并判断待处理任务是关联任务还是非关联任务;若为关联任务,则根据预设处理逻辑表确定上一关联任务的执行结果执行所述待处理任务。其中,关联任务的执行结果和执行所述待处理任务得到的任务结果可存储于区块链中。本发明专利技术使各子线程异步处理非关联任务,并根据上一关联任务的执行结果同步处理关联任务,提高了任务处理效率和系统并发能力。

【技术实现步骤摘要】
基于多线程的任务处理方法、装置、设备及存储介质
本专利技术涉及数据处理
,尤其涉及一种基于多线程的任务处理方法、装置、设备及可读存储介质。
技术介绍
由于传统的单线程程序往往无法充分发挥服务器的优势,因此多核CPU已经成为服务器的标配。在一般的任务处理中,提交一个任务请求包括多个包含一定处理顺序的任务。例如,电子商务系统中,提交一个订单请求的任务包括:订单表插入数据、减少库存、发消息、发货等,然后需要按照顺序处理该订单请求。在处理任务请求时,单线程处理完成一个任务之后才能继续处理下一个任务,因此单线程对于处理海量数据存在处理效率较低的问题,从而使服务器处理任务花费时间长,导致用户体验差。因此,如何解决现有单线程对于处理海量数据存在处理效率较低,成为了目前亟待解决的技术问题。
技术实现思路
本专利技术的主要目的在于提供一种基于多线程的任务处理方法、装置、设备及可读存储介质,旨在解决现有单线程对于处理海量数据存在处理效率较低的技术问题。为实现上述目的,本专利技术实施例提供一种基于多线程的任务处理方法,所述基于多线程的任务处本文档来自技高网...

【技术保护点】
1.一种基于多线程的任务处理方法,其特征在于,所述基于多线程的任务处理方法包括以下步骤:/n在接收到任务处理请求时,根据预设任务分配规则,将所述任务请求对应的多个任务分配至预设数量的子线程进行处理,生成各个子线程对应的任务处理列表,并控制各个子线程异步执行各自任务处理列表中的各个任务;/n根据一子线程对应的任务处理列表获取一未处理任务,作为待处理任务,并判断所述待处理任务是关联任务还是非关联任务,其中,所述关联任务的处理依赖于关联的上一任务的执行结果;/n若所述待处理任务为关联任务,则根据预设处理逻辑表确定所述待处理任务对应关联的上一关联任务,并根据所述上一关联任务的执行结果执行所述待处理任务...

【技术特征摘要】
1.一种基于多线程的任务处理方法,其特征在于,所述基于多线程的任务处理方法包括以下步骤:
在接收到任务处理请求时,根据预设任务分配规则,将所述任务请求对应的多个任务分配至预设数量的子线程进行处理,生成各个子线程对应的任务处理列表,并控制各个子线程异步执行各自任务处理列表中的各个任务;
根据一子线程对应的任务处理列表获取一未处理任务,作为待处理任务,并判断所述待处理任务是关联任务还是非关联任务,其中,所述关联任务的处理依赖于关联的上一任务的执行结果;
若所述待处理任务为关联任务,则根据预设处理逻辑表确定所述待处理任务对应关联的上一关联任务,并根据所述上一关联任务的执行结果执行所述待处理任务。


2.如权利要求1所述的基于多线程的任务处理方法,其特征在于,所述若所述待处理任务为关联任务,则根据预设处理逻辑表确定所述待处理任务对应关联的上一关联任务,并根据所述上一关联任务的执行结果执行所述待处理任务的步骤具体包括:
若所述待处理任务为关联任务,则确定所述待处理任务对应关联的上一关联任务,并判断所述上一关联任务是否已经执行完成;
若所述上一关联任务已执行完成,则获取所述上一关联任务的执行结果,并根据所述上一关联任务的执行结果执行所述待处理任务;
若所述上一关联任务未执行完成,则获取所述任务处理列表中的下一任务作为所述待处理任务,直至处理完成所述任务处理列表中的全部任务。


3.如权利要求1所述的基于多线程的任务处理方法,其特征在于,所述在接收到任务处理请求时,根据预设任务分配规则,将所述任务请求对应的多个任务分配至预设数量的子线程进行处理,生成各个子线程对应的任务处理列表,并控制各个子线程异步执行各自任务处理列表中的各个任务的步骤之前,还包括:
获取当前可分配资源的资源锁数量,并根据所述资源锁数量确定所述预设数量的子线程,其中,一个资源对应一个资源锁。


4.如权利要求3所述的基于多线程的任务处理方法,其特征在于,所述获取当前可分配资源的资源锁数量,并根据所述资源锁数量确定所述预设数量的子线程的步骤具体包括:
在接收到当前空闲线程发送的资源分配请求时,根据所述资源分配请求确定目标资源,并判断所述目标资源对应的资源锁是否正被占用;
若所述资源锁未被占用,则确定所述资源锁的线程许可数量,作为所述当前可分配资源的资源锁数量,并确定所述当前空闲线程的线程数量;
若所述当前可用线程的线程数量大于所述当前可分配资源的资源锁数量,则根据预设规则从所述当前可用线程中确定所述预设数量的子线程。


5.如权利要求1-4中任一项所述的基于多线程的任务处理方法,其特征在于,所述若所述待处理任务为关联任务,则根据预设处理逻辑表确定所述待处理任务对应关联的上一关联任务,并根据所述上一关联任务的执行结果执行所述待处理任务的步骤之后,还包括:
在检测到所述上一关联任...

【专利技术属性】
技术研发人员:刘宏亚
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

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

1