[发明专利]一种线程的唤醒方法及装置,存储介质和电子设备有效
申请号: | 201811598081.4 | 申请日: | 2018-12-26 |
公开(公告)号: | CN111367625B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 汪翔 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/48;G06F16/182;G06F16/903 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁;窦晓慧 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线程 唤醒 方法 装置 存储 介质 电子设备 | ||
本申请公开一种线程的唤醒方法及装置,分布式数据库的数据处理方法及装置,计算机存储介质及电子设备;所述唤醒方法包括:根据当前执行线程中针对访问操作请求的预写操作的成功结果,获取所述预写操作对应的当前写入线程的等待标识;其中,所述当前写入线程与所述当前执行线程相对应;根据所述当前写入线程的等待标识,确定唤醒线程唤醒执行线程的唤醒范围;根据所述唤醒范围,唤醒所述执行线程;进而避免因无效唤醒导致的系统性能较差的问题,提高系统的吞吐量;以及在唤醒过程是基于版本号完成,因此,该唤醒方法适用于多种场景下的阻塞‑唤醒机制,具有一定通用性。
技术领域
本申请涉及计算机应用技术领域,具体涉及一种线程的唤醒方法和装置,以及一种分布式数据库的数据处理方法及装置;本申请同时还涉及一种计算机存储介质和电子设备。
背景技术
随着数据量不断快速膨胀,传统数据库在大数据上的处理性能已不能满足需求,非结构化分布式数据库应运而生。
非结构化分布式数据库进行读写操作请求时,为保证数据的稳定性,需要预先通过WAL(Write-Ahead-Log)机制对操作请求的数据进行预写,以避免在出现异常情况下,数据丢失的问题,具体地,非结构化分布式数据库在对数据进行读写操作时,通过使用Handler线程处理读写请求,每个写请求在Handler处理过程中都会涉及到一到多次写WAL的行为。因此Handler需要等待写WAL完成后才能进行下一步动作。在WAL执行过程中,需要通过阻塞-唤醒机制来实现Handler线程的阻塞或唤醒,具体地,当WAL执行写操作的过程中,Handler线程会被阻塞从而能够释放CPU的使用权;当WAL完成写操作后再唤醒Handler线程进行相应的读写操作。
现有技术提供的阻塞-唤醒实现过程中,需要通过互斥锁实现阻塞与唤醒的切换,例如:Handler线程等待txid=5的WAL完成。Notifier线程通知Handler线程时,需要先获取ObjectMonitor的锁Lock,并将FinishedTxid设置为5,然后将所有正在等待Handler线程设置为可运行状态Runnable。持锁期间,所有其他的Handler线程均无法读取FinishedTxid的值。Handler线程抢到锁后Lock,方能读取FinishedTxid的值,并根据读取FinishedTxid的值判断是否满足Handler线程等待的条件。
现有技术中涉及的ObjectMonitor阻塞-唤醒机制的缺陷在于:
1、所有读写操作均需要拿锁Lock,拿锁Lock时读写操作互斥,相当于同一时间内只有一个线程可以在临界区内活动。同一时刻只有一个线程被允许读取FinishedTxid的值。
2、当Handler线程进入等待状态时,需要将自身注册至ObjectMonitor的等待队列,而该注册过程必须在临界区内完成。
3、Notifier线程唤醒Handler线程时,需要将Handler线程从ObjectMonitor的等待队列中移除之后,再进行唤醒。
4、基于上述1-3点,Notifier线程每次都唤醒所有线程,而并不是所有线程都的等待条件都能够满足唤醒的条件,因此,存在许多无效唤醒,造成唤醒性能较差。
发明内容
本申请提供一种线程的唤醒方法,以解决现有技术中由于无效唤醒导致的性能问题。
本申请提供一种线程的唤醒方法,包括:
根据当前执行线程中针对访问操作请求的预写操作的成功结果,获取所述预写操作对应的当前写入线程的等待标识;其中,所述当前写入线程与所述当前执行线程相对应;
根据所述当前写入线程的等待标识,确定唤醒线程唤醒执行线程的唤醒范围;
根据所述唤醒范围,唤醒所述执行线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811598081.4/2.html,转载请声明来源钻瓜专利网。