[发明专利]一种线程执行顺序确定方法、装置、设备及存储介质有效
申请号: | 201711377200.9 | 申请日: | 2017-12-19 |
公开(公告)号: | CN107967150B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 臧琦 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线程 执行 顺序 确定 方法 装置 设备 存储 介质 | ||
本发明公开了一种线程执行顺序确定方法,该方法包括以下步骤:判断目标线程是否与其他进程中的线程存在指令传输,如果是,则当目标线程为指令接收端时,更新目标线程的时间戳及目标线程后面的线程的时间戳,根据更新后的各时间戳从小到大的顺序,确定各线程的执行顺序。应用本发明实施例所提供的技术方案,通过当目标线程与其他进程中的线程存在指令传输,且为指令接收端时,更新目标线程的时间戳及其后面的线程的时间戳,利用各时间戳从小到大的顺序,确定线程执行顺序,保证先执行指令发送端对应的线程,后执行指令接收端对应的线程,确保各线程在逻辑上的一致性。本发明还公开了一种线程执行顺序确定装置、设备及存储介质,具有相应技术效果。
技术领域
本发明涉及数据存储技术领域,特别是涉及一种线程执行顺序确定方法、装置、设备及存储介质。
背景技术
随着数据存储技术领域的发展,分布式系统也得到了快速发展,分布式系统对数据的存储容量越来越大。但是,分布式系统也随之面临大量待处理数据。
在现有技术中,在分布式系统中存在多个节点,每个节点中可能同时运行着多个进程,每个进程中又存在多个线程,不同进程中的线程之间可能会存在指令传输,例如,一个线程可以创建或撤销另一个线程。如果分布式系统对各线程的执行顺序出现错误,就会造成线程逻辑上的混乱,例如,针对两个之间存在指令传输的线程,系统可能先执行了指令接收端对应的线程,在这种情况下,如果指令发送端对应的线程需要发给该指令接收端对应的线程的指令为撤销指令接收端对应的线程,而该指令接收端对应的线程在接收到指令之前就已经执行过了,就会造成各线程在逻辑上的混乱。
综上所述,如何有效地解决线程之间的执行顺序问题,是目前本领域技术人员急需解决的问题。
发明内容
为解决上述技术问题,本发明提供如下技术方案:
一种线程执行顺序确定方法,包括:
判断目标线程是否与进程集合内其他进程中的线程存在指令传输;
如果是,则当所述目标线程为所述指令传输中的指令接收端时,更新所述目标线程的时间戳及所述目标线程自身所在进程的线程执行顺序中所述目标线程后面的线程的时间戳;其中,所述目标线程更新后的时间戳小于所述指令传输中指令发送端对应的线程的时间戳;
根据更新后的各所述时间戳从小到大的顺序,确定所述进程集合中各所述线程的执行顺序。
在本发明的一种具体实施方式中,所述当所述目标线程为所述指令传输中的指令接收端时,更新所述目标线程的时间戳及所述目标线程自身所在进程的线程执行顺序中所述目标线程后面的线程的时间戳,包括:
当所述目标线程为所述指令传输中的指令接收端时,确定所述目标线程自身所在进程的线程执行顺序中所述目标线程的上一线程的时间戳和所述指令传输中指令发送端对应的线程的时间戳的大小;
将两者中大的时间戳加预设的线程执行间隔作为所述目标线程更新后的时间戳,并将所述更新后的所述目标线程的时间戳依次加所述线程执行间隔作为所述线程自身所在进程的线程执行顺序中所述目标线程后面的线程的时间戳。
在本发明的一种具体实施方式中,在所述更新所述目标线程的时间戳及所述目标线程后面的线程的时间戳之前,还包括:
根据进程集合内每个进程中各线程的优先级,确定每个进程中各所述线程的时间戳。
在本发明的一种具体实施方式中,所述根据进程集合内每个进程中各线程的优先级,确定每个进程中各所述线程的时间戳,包括:
根据进程集合内每个进程中各线程由高到低的优先级,确定每个进程中各线程由小到大排列的时间戳。
一种线程执行顺序确定装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711377200.9/2.html,转载请声明来源钻瓜专利网。