一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务处理方法、装置和电子设备与流程

2021-10-24 11:28:00 来源:中国专利 TAG:电子设备 装置 智慧 方法 城市

技术特征:
1.一种任务处理方法,其特征在于,包括:通过观察者线程创建至少一个生产者线程、至少一个消费者线程和任务容器线程,并将所述生产者线程、所述消费者线程和所述任务容器线程进行初始化,其中,每个生产者线程均包括一任务对象缓存;通过所述生产者线程接收服务请求,并将所述服务请求所对应的工作任务对象加入至对应的任务对象缓存;通过任务容器线程读取所述任务对象缓存中的工作任务对象,将所述工作任务对象存放入对应的任务队列,并从所述任务对象缓存中移除所述工作任务对象;通过所述消费者线程从所述任务队列中,读取任务状态为未处理的工作任务对象以进行处理,并在处理完成后,更新所述工作任务对象的任务状态为已完成,以及通过所述任务容器线程将所述任务队列中的任务状态为已完成的工作任务对象进行清理;通过所述观察者线程监控所述生产者线程、所述任务容器线程和所述消费者线程;当监测到工作任务对象存在堆积时,通过所述观察者线程新增消费者线程,以通过新增的消费者线程来处理堆积的工作任务对象。2.根据权利要求1所述的任务处理方法,其特征在于,所述生产者线程的数量为多个,所述消费者线程的数量为多个;所述通过所述生产者线程接收服务请求,并将所述服务请求所对应的工作任务对象加入至对应的任务对象缓存的步骤,包括:通过各生产者线程接收服务请求,并根据所述服务请求的类型标签匹配与各生产者线程自身类型标签相同的服务请求;通过各生产者线程将匹配到的服务请求所对应的工作任务对象加入至对应的各任务对象缓存;所述通过任务容器线程读取所述任务对象缓存中的工作任务对象,将所述工作任务对象存放入对应的任务队列中的步骤,包括:通过所述任务容器线程从各任务对象缓存中读取工作任务对象,根据所述工作任务对象的类型标签将所述工作任务对象存放入与所述类型标签匹配的任务队列;或者根据所述工作任务对象的所属的生产者线程对应的生产者线程索引,将所述工作任务对象存放入与生产者线程索引匹配的任务队列;所述通过所述消费者线程从所述任务队列中,读取任务状态为未处理的工作任务对象以进行处理的步骤,包括:通过各消费者线程从相匹配的类型标签的任务队列中,读取任务状态为未处理的工作任务对象以进行处理;所述当监测到工作任务对象存在堆积时,通过所述观察者线程新增消费者线程,以通过新增的消费者线程来处理堆积的工作任务对象的步骤,包括:当监测到目标类型标签的工作任务对象存在堆积时,通过所述观察者线程新增与所述目标类型标签对应的消费者线程,以通过新增的消费者线程来处理目标类型标签的工作任务对象。3.根据权利要求2所述的任务处理方法,其特征在于,所述当监测到目标类型标签的工作任务对象存在堆积时,通过观察者线程新增与所述目标类型标签对应的消费者线程的步骤,包括:当监测到目标任务对象缓存所对应的目标类型标签的工作任务对象存在堆积,和/或监测到目标任务队列所对应的目标类型标签的工作任务对象存在堆积,则确定监测到目标类型标签的工作任务对象存在堆积;通过观察者线程新增与所述目标类型标签对应的消费者线程。
4.根据权利要求2所述的任务处理方法,其特征在于,还包括:当监测到目标类型标签的工作任务对象存在消耗时,通过所述观察者线程暂停或者减少与所述目标类型标签对应的消费者线程。5.根据权利要求4所述的任务处理方法,其特征在于,所述当监测到目标类型标签的工作任务对象存在消耗时,通过所述观察者线程暂停或者减少与所述目标类型标签对应的消费者线程的步骤,包括:当监测到目标类型标签的工作任务对象存在消耗时,通过所述观察者线程获取目标类型标签对应的消费者线程的线程数量;当所述线程数量为一个时,暂停所述消费者线程;当所述线程数量大于一时,减少与所述目标类型标签对应的消费者线程。6.根据权利要求1所述的任务处理方法,其特征在于,还包括:通过所述观察者线程为所述生产者线程、所述任务容器线程和所述消费者线程建立异常触发器;当检测到所述生产者线程、所述任务容器线程和所述消费者线程中存在异常线程时,通过调用对应的异常触发器重启所述异常线程。7.根据权利要求1所述的任务处理方法,其特征在于,所述将所述服务请求所对应的工作任务对象加入至对应的任务对象缓存的步骤,包括:通过所述生产者线程获取所述服务请求中携带的请求参数;将所述请求参数还原成数据对象;为所述数据对象添加工作任务头,以生成对应的工作任务对象;通过所述生产者线程将所述工作任务对象加入至对应的任务对象缓存。8.根据权利要求1所述的任务处理方法,其特征在于,所述工作任务对象中包括数据对象,所述通过所述消费者线程从所述任务队列中,读取任务状态为未处理的工作任务对象以进行处理的步骤,包括:通过所述消费者线程从所述任务队列中,读取任务状态为未处理的工作任务对象;根据所述工作任务对象调用统一的处理入口接口;利用所述处理入口接口调用所述工作任务对象中的数据对象来进行处理。9.一种任务处理装置,其特征在于,包括:创建模块,用于通过观察者线程创建至少一个生产者线程、至少一个消费者线程和任务容器线程,并将所述生产者线程、所述消费者线程和所述任务容器线程进行初始化,其中,每个生产者线程均包括一任务对象缓存;生产者模块,用于通过所述生产者线程接收服务请求,并将所述服务请求所对应的工作任务对象加入至对应的任务对象缓存;任务容器模块,用于通过任务容器线程读取所述任务对象缓存中的工作任务对象,将所述工作任务对象存放入对应的任务队列,并从所述任务对象缓存中移除所述工作任务对象;消费者模块,用于通过所述消费者线程从所述任务队列中,读取任务状态为未处理的工作任务对象以进行处理,并在处理完成后,更新所述工作任务对象的任务状态为已完成;任务容器模块,还用于通过所述任务容器线程将所述任务队列中的任务状态为已完成
的工作任务对象进行清理;监控模块,用于通过所述观察者线程监控所述生产者线程、所述任务容器线程和所述消费者线程;新增模块,用于当监测到工作任务对象存在堆积时,通过所述观察者线程新增消费者线程,以通过新增的消费者线程来处理堆积的工作任务对象。10.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中所述处理器和所述存储器相连接,所述一个或多个计算机程序被存储于所述存储器中,并配置为由所述处理器执行上述权利要求1至8任一种所述的任务处理方法的步骤。

技术总结
本申请实施例提供一种任务处理方法、装置和电子设备,涉及数据处理技术领域。其中,引入生产者消费者模式,并同时引入了观察者线程,通过观察者线程创建各生产者线程、任务容器线程和各消费者线程,其中,观察者线程、生产者线程、任务容器线程和消费者线程四方角色相互独立,可以实现将生产者线程和消费者线程彻底分离,使得生产者线程不会因为大量并发的服务请求而造成生产者线程的资源紧张。且利用观察者线程监控各生产者线程、任务容器线程和各消费者线程,当观察者线程检测到工作任务对象存在堆积时,通过增加消费者线程,以使得所有的工作任务对象都会进行处理,提高服务请求的处理速度,提高并发处理性能,避免服务请求丢失。避免服务请求丢失。避免服务请求丢失。


技术研发人员:王洵 罗伦文 谢晓帆 袁宏旭
受保护的技术使用者:武汉中科通达高新技术股份有限公司
技术研发日:2021.09.07
技术公布日:2021/10/23
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜