The present disclosure is about a multitask parallel data processing method, device, storage medium and electronic device based on a queue. The method comprises: receiving a plurality of terminal equipment to send information, information for each of the equipment for writing position distribution in different buffer queue in the buffer queue; the different writing position, at the same time, each of the equipment information are written to the different positions of the buffer queue corresponding to the. The public can implement multiple parallel batch into the producer thread queue to store the data, improve the concurrent execution thread, shorten the recovery time of the report server response data terminal equipment, and improve the processing capacity of information processing terminal server, and can submit tasks to the non blocking Batch Queue, which can improve the performance of the system.
【技术实现步骤摘要】
基于队列的多任务并行数据处理方法、装置、介质和设备
本公开涉及计算机
,尤其涉及一种基于队列的多任务并行数据处理方法、基于队列的多任务并行数据处理装置、以及实现所述基于队列的多任务并行数据处理方法的计算机可读存储介质和电子设备。
技术介绍
随着智能云系统中远程终端设备如家用智能电器的大量增加,系统服务器接收到设备上报信息的数量也随着而迅速增大。一般在服务器上会提供多个生产者线程来处理智能设备上报的信息,同时会有多个消费者线程根据用户智能设备上报的信息而执行相应的操作逻辑。为了提高系统的响应速度,通常服务器会基于共享队列来与生产者线程和消费者线程交互,以控制多个设备的如状态任务的生成,或者实现对共享队列里任务的添加和删除等操作。相关技术中是通过加锁的方式,以防止多个线程同时对共享队列进行修改。这也导致了在多个线程同时对设备的任务进行提交时,只能有一个线程对该队列进行修改,而其他的生产者线程和消费者线程必须等待此提交线程完成对队列的修改后,才可以对该队列进行修改。比如生产者线程修改完后,根据队列大小从生产者线程和其它消费者线程中选一个线程,进而根据选取的线程进行系统调用,唤醒该线程以继续执行相应操作。但是,目前相关技术中依然存在一些问题,例如,多个生产者线程难以无阻塞批量同时提交任务到队列中,也即多个生产者线程的并发执行难以实现,导致增加了服务器响应终端设备上报数据的回复时间,且服务器处理终端设备信息的处理量有限,系统性能受限。因此,有必要提供一种新的技术方案改善上述方案中存在的一个或者多个问题。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公 ...
【技术保护点】
一种基于队列的多任务并行数据处理方法,其特征在于,该方法包括:接收多个终端设备发来的设备信息,为每个所述设备信息申请分配缓冲队列内不同的写入位置;在所述缓冲队列的所述不同的写入位置,同时将每个所述设备信息分别写入所述缓冲队列内对应的不同位置处。
【技术特征摘要】
1.一种基于队列的多任务并行数据处理方法,其特征在于,该方法包括:接收多个终端设备发来的设备信息,为每个所述设备信息申请分配缓冲队列内不同的写入位置;在所述缓冲队列的所述不同的写入位置,同时将每个所述设备信息分别写入所述缓冲队列内对应的不同位置处。2.根据权利要求1所述基于队列的多任务并行数据处理方法,其特征在于,每个所述设备信息对应一第一线程;所述为每个所述设备信息申请分配缓冲队列内不同的写入位置包括:每个所述第一线程分别获取对应的每个所述设备信息待占用的队列空间大小对应的第一数值,以及所述缓冲队列当前可存储数据的第一位置;每个所述第一线程根据所述第一位置和每个所述设备信息的所述第一数值计算分配得到每个所述设备信息各自对应的写入位置。3.根据权利要求2所述基于队列的多任务并行数据处理方法,其特征在于,所述每个所述第一线程根据所述第一位置和每个所述设备信息的所述第一数值计算分配得到每个所述设备信息各自对应的写入位置包括:调用比较并交换CAS操作执行每个所述第一线程,以使当前仅有一个第一线程执行成功而为对应的一个所述设备信息分配到对应的写入位置;将该一个所述设备信息成功分配到的写入位置更新为所述第一位置,重新调用所述CAS操作重复执行以为剩余的设备信息分配到对应的写入位置。4.根据权利要求3所述基于队列的多任务并行数据处理方法,其特征在于,该方法还包括:在调用CAS操作执行每个所述第一线程前,判断当前的所述第一位置是否已被更改;若是则重新为每个所述设备信息申请分配所述缓冲队列内对应的写入位置;若否则调用CAS操作执行每个所述第一线程。5.根据权利要求3所述基于队列的多任务并行数据处理方法,其特征在于,该方法还包括:在调用CAS操作执行每个所述第一线程之前,判断当前所述缓冲...
【专利技术属性】
技术研发人员:刘吉,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。