CN114896080B - 基于区块链技术的分布式系统避免死锁处理方法及装置 - Google Patents

基于区块链技术的分布式系统避免死锁处理方法及装置 Download PDF

Info

Publication number
CN114896080B
CN114896080B CN202210660510.6A CN202210660510A CN114896080B CN 114896080 B CN114896080 B CN 114896080B CN 202210660510 A CN202210660510 A CN 202210660510A CN 114896080 B CN114896080 B CN 114896080B
Authority
CN
China
Prior art keywords
resource
distributed system
lookup table
block chain
chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210660510.6A
Other languages
English (en)
Other versions
CN114896080A (zh
Inventor
邬可可
胡光武
张平安
但唐仁
黄晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Institute of Information Technology
Original Assignee
Shenzhen Institute of Information Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Institute of Information Technology filed Critical Shenzhen Institute of Information Technology
Priority to CN202210660510.6A priority Critical patent/CN114896080B/zh
Publication of CN114896080A publication Critical patent/CN114896080A/zh
Application granted granted Critical
Publication of CN114896080B publication Critical patent/CN114896080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供一种基于区块链技术的分布式系统避免死锁处理方法及装置,该方法包括执行以下步骤:步骤1:根据分布式系统的规模和耦合程度,选取某一区块链,然后把分布式系统所有节点都加到该区块链;步骤2:在分布式系统中建立一张资源查询表;步骤3:把该资源查询表广播到整个区块链,验证成功后放到该区块链当前最高区块;步骤4:当分布式系统中的某一个进程准备请求某一个资源时,先从当前最高区块里读取资源查询表,然后判断资源状态是否被占用;步骤5:当分布式系统中的某一个进程释放某一个资源后,就把区块链当前最高区块里的资源查询表的资源状态进行更新,并广播到区块链。本发明的有益效果是:弥补了分布式系统没有全局时钟的不足。

Description

基于区块链技术的分布式系统避免死锁处理方法及装置
技术领域
本发明涉及区块链领域,尤其涉及一种基于区块链技术的分布式系统避免死锁处理方法及装置。
背景技术
区块链是一种去中心化的链式数据结构,它由一系列有序的区块链接而成,它本质上是一个去中心化的数据库,是一串使用密码学方法关联产生的数据区块。每隔一段时间,区块链网络中最先解出密码学难题的节点生成的区块被当成最新的区块,并广播同步给其他节点进行验证和确认,经确认有效的新区块将加入链中,作为该区块链当前的最高区块。这个最高区块将可以使得整个区块链网络节点中的区块保持实时一致性。区块链通过维护数据块的链式结构,可以维持持续增长的、不可篡改的实时全局一致性数据记录。
在分布式系统中,当一组进程中的某些成员由于无法访问到组中其他成员占用的资源而被无限期阻塞时,就产生了死锁。死锁浪费了满足其他请求所需要的资源,从而极大地阻碍了系统性能。而避免死锁就需要知道如何请求资源,如何动态检查资源分配状态,以保证没有无限期阻塞发生。因此,死锁避免的一个潜在问题是要能实时地收集到分布式系统资源的一致性全局状态信息,以便能实时检查资源分配状态,从而避免死锁。然而,由于分布式系统没有全局时钟,从而各个节点资源状态信息很难保持实时全局一致性,因此分布式系统很少使用死锁避免。
发明内容
本发明提供了一种基于区块链技术的分布式系统避免死锁处理方法,包括执行以下步骤:
步骤1:根据分布式系统的规模和耦合程度,选取某一个区块链,然后把分布式系统所有节点都加入到该区块链。
步骤2:在分布式系统中建立一张资源查询表。
步骤3:把该资源查询表广播到整个区块链,验证成功后放到该区块链当前最高区块里。
步骤4:当分布式系统中的某一个进程准备请求某一个资源时,先从当前最高区块里读取资源查询表,然后判断资源状态是否被占用;如果该资源状态是“已占用”,则该进程请求失败,并进入等待状态,直至下一次收到区块链广播资源查询表的信息,就再次进行读取资源查询表,如果该资源状态是“未占用”,则请求该资源成功,然后在资源查询表中把该资源状态修改为“已占用”,并把更新后的资源查询表广播到整个区块链。
步骤5:当分布式系统中的某一个进程释放某一个资源后,就把区块链当前最高区块里资源查询表进行更新,把该资源状态修改为“未占用”,并把更新后的资源查询表广播到整个区块链,然后返回执行步骤4。
作为本发明的进一步改进,在所述步骤1中,按照耦合程度,所述分布式系统分为紧密耦合分布式系统和松散耦合分布式系统,所选取的区块链包括公链、联盟链或私链。
作为本发明的进一步改进,在所述步骤1中,对于松散耦合分布式系统,区块链选取公链或联盟链,对于紧密耦合分布式系统,区块链选取私链。
作为本发明的进一步改进,在所述步骤1中,所述公链包括比特币系统、以太坊系统。
作为本发明的进一步改进,在所述步骤1中,如果选取以太坊系统,则采用智能合约实现资源查询表的实时全局一致性,如果选取联盟链或者私链,则采用超级账本实现资源查询表的实时全局一致性。
作为本发明的进一步改进,在所述步骤1中,所述分布式系统是由多个相互连接的处理资源组成的计算系统,它们在整个系统的控制下合作执行一个共同的任务;所述处理资源可以是物理上相邻的,也可以是地理上分散的。
作为本发明的进一步改进,在所述步骤2中,分布式系统中的每一个资源都被赋予一个唯一的编号,并且每一个资源都设置有是否已被其他进程占用的状态信息,即资源状态,从而形成一张资源查询表,该资源查询表包括多个字段。
作为本发明的进一步改进,在所述步骤2中,分布式系统中的每一个资源都被赋予一个唯一的编号,如果都是固定IP地址,编号用IP地址开头,然后再把此IP地址的计算机节点上的资源按某种顺序编号。
作为本发明的进一步改进,在所述步骤2中,所述字段包括:资源编号、资源名称、资源状态、资源被哪个进程占用、被占用的时间。
本发明还公开了一种基于区块链技术的分布式系统避免死锁处理装置,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现本发明所述分布式系统避免死锁处理方法的步骤。
本发明的有益效果是:1.本发明的分布式系统避免死锁处理方法利用区块链的实时广播同步机制,弥补了分布式系统没有全局时钟的不足。2.本发明的分布式系统避免死锁处理方法通过设置一个资源查询表,并把该资源查询表上链,可以有效地避免分布式系统死锁的发生,从而大大提高了分布式系统的性能。
附图说明
图1是本发明分布式系统避免死锁处理方法的流程图;
图2是本发明分布式系统避免死锁处理方法的实施示意图。
具体实施方式
如图1所示,本发明公开了一种基于区块链技术的分布式系统避免死锁处理方法,包括执行以下步骤:
步骤1:根据分布式系统的规模和耦合程度,选取某一个区块链,可以选取公链、联盟链或私链,然后把分布式系统所有节点都加入到该区块链。
步骤2:分布式系统中的每一个资源都被赋予一个唯一的编号,并且每一个资源都设置有是否已被其他进程占用的状态信息,即资源状态,从而形成一张资源查询表,该资源查询表有三个字段,一是资源编号,二是资源名称,三是资源状态,还可以加入其他的一些字段,比如资源被哪个进程占用,以及被占用的时间等。如果都是固定IP地址,编号可以考虑用IP地址开头,然后再把此IP地址的计算机节点上的资源按某种顺序编号。
本发明分布式系统避免死锁处理方法的资源查询表如下:
资源编号 资源名称 资源状态
1 Resource A 未占用
2 Resource B 已占用
N Resource M 未占用
步骤3:把该资源查询表广播到整个区块链,验证成功后放到该区块链当前最高区块里。
步骤4:当分布式系统中的某一个进程准备请求某一个资源时,先从当前最高区块里读取资源查询表,然后判断资源状态是否被占用;如果该资源状态是“已占用”,则该进程请求失败,并进入等待状态,直至下一次收到区块链广播资源查询表的信息,就再次进行读取资源查询表,如果该资源状态是“未占用”,则请求该资源成功,然后在资源查询表中把该资源状态修改为“已占用”,并把更新后的资源查询表广播到整个区块链;步骤5:当分布式系统中的某一个进程释放某一个资源后,就把区块链当前最高区块里的资源查询表进行更新,把该资源状态修改为“未占用”,并把更新后的资源查询表广播到整个区块链,然后返回执行步骤4。
所述步骤1中,所述分布式系统是由多个相互连接的处理资源组成的计算系统,它们在整个系统的控制下合作执行一个共同的任务,最少依赖于集中的程序、数据和硬件;所述处理资源可以是物理上相邻的,也可以是地理上分散的。
在所述步骤1中,按照耦合程度,所述分布式系统分为紧密耦合分布式系统和松散耦合分布式系统。
对于大规模的松散耦合分布式系统,区块链可以选取公链,比如比特币系统、以太坊系统等。考虑到分布式系统资源调度的效率,优先选取产生区块频率高且系统稳定的公链。比如可以考虑以太坊系统,每15秒钟左右产生一个新的区块,且系统很稳定。而比特币系统虽然稳定,但每10分钟左右才产生一个新的区块,对分布式系统来说,效率太低。
对于中小规模的松散耦合分布式系统,区块链可以选取联盟链,比如Fabric(联盟链开源项目),当然也可以使用其他的企业级联盟链。
对于小规模的紧密耦合分布式系统,区块链可以选取私链。
如果考虑以太坊系统,则可以采用智能合约实现资源查询表的实时全局一致性;如果考虑联盟链或者私链,则可以采用超级账本实现资源查询表的实时全局一致性。
本发明提出的基于区块链技术的分布式系统避免死锁处理方法可以解决分布式系统如何避免死锁的难题。首先,区块链每隔一段时间就会动态同步产生一个新的区块,从而保证了区块链所有节点的实时全局一致性;其次,让分布式系统所有计算机节点都加入到区块链,保证了分布式系统所有节点都有实时全局一致的区块链,从而解决了分布式系统中避免锁死所需要的全局时钟的问题;再次,在分布式系统中建立一张资源查询表,把该资源查询表放到该区块链当前最高区块里,并广播同步到整个区块链;最后,分布式系统中的进程请求资源时,先去查询区块链当前最高区块里的资源查询表,若请求成功,则更新资源查询表的内容,再把更新后的资源查询表广播同步到整个区块链。
本发明还公开了一种基于区块链技术的分布式系统避免死锁处理装置,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现本发明所述分布式系统避免死锁处理方法的步骤。
本发明的有益效果:1.本发明的分布式系统避免死锁处理方法利用区块链的实时广播同步机制,弥补了分布式系统没有全局时钟的不足。2.本发明的分布式系统避免死锁处理方法通过设置一个资源查询表,并把该资源查询表上链,可以有效地避免分布式系统死锁的发生,从而大大提高了分布式系统的性能。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (6)

1.一种基于区块链技术的分布式系统避免死锁处理方法,其特征在于,包括执行以下步骤:
步骤1:根据分布式系统的规模和耦合程度,选取某一个区块链,区块链每隔一段时间就会动态同步产生一个新的区块,从而保证了区块链所有节点的实时全局一致性,然后把分布式系统所有节点都加入到该区块链;
步骤2:在分布式系统中建立资源查询表;
步骤3:把该资源查询表广播到整个区块链,验证成功后放到该区块链当前最高区块里;
步骤4:当分布式系统中的某一个进程准备请求某一个资源时,先从当前最高区块里读取资源查询表,然后判断资源状态是否被占用;如果该资源状态是“已占用”,则该进程请求失败,并进入等待状态,直至下一次收到区块链广播资源查询表的信息,就再次进行读取资源查询表,如果该资源状态是“未占用”,则请求该资源成功,然后在资源查询表中把该资源状态修改为“已占用”,并把更新后的资源查询表广播到整个区块链;
步骤5:当分布式系统中的某一个进程释放某一个资源后,就把区块链当前最高区块里的资源查询表进行更新,把该资源状态修改为“未占用”,并把更新后的资源查询表广播到整个区块链,然后返回执行步骤4;
在所述步骤1中,按照耦合程度,所述分布式系统分为紧密耦合分布式系统和松散耦合分布式系统,所选取的区块链包括公链、联盟链或私链;
在所述步骤1中,对于松散耦合分布式系统,区块链选取公链或联盟链,对于紧密耦合分布式系统,区块链选取私链;
在所述步骤1中,所述公链包括比特币系统、以太坊系统;
在所述步骤1中,如果选取以太坊系统,则采用智能合约实现资源查询表的实时全局一致性,如果选取联盟链或者私链,则采用超级账本实现资源查询表的实时全局一致性。
2.根据权利要求1所述的分布式系统避免死锁处理方法,其特征在于:在所述步骤1中,所述分布式系统是由多个相互连接的处理资源组成的计算系统,它们在整个系统的控制下合作执行一个共同的任务;所述处理资源可以是物理上相邻的,也可以是地理上分散的。
3.根据权利要求1所述的分布式系统避免死锁处理方法,其特征在于:在所述步骤2中,分布式系统中的每一个资源都被赋予一个唯一的编号,并且每一个资源都设置有是否已被其他进程占用的状态信息,即资源状态,从而形成一张资源查询表,该资源查询表包括多个字段。
4.根据权利要求3所述的分布式系统避免死锁处理方法,其特征在于:在所述步骤2中,分布式系统中的每一个资源都被赋予一个唯一的编号,如果都是固定IP地址,编号用IP地址开头,然后再把此IP地址的计算机节点上的资源按某种顺序编号。
5.根据权利要求3所述的分布式系统避免死锁处理方法,其特征在于:在所述步骤2中,所述字段包括:资源编号、资源名称、资源状态、资源被哪个进程占用、被占用的时间。
6.一种基于区块链技术的分布式系统避免死锁处理装置,其特征在于,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求1-5中任一项所述分布式系统避免死锁处理方法的步骤。
CN202210660510.6A 2022-06-13 2022-06-13 基于区块链技术的分布式系统避免死锁处理方法及装置 Active CN114896080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210660510.6A CN114896080B (zh) 2022-06-13 2022-06-13 基于区块链技术的分布式系统避免死锁处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210660510.6A CN114896080B (zh) 2022-06-13 2022-06-13 基于区块链技术的分布式系统避免死锁处理方法及装置

Publications (2)

Publication Number Publication Date
CN114896080A CN114896080A (zh) 2022-08-12
CN114896080B true CN114896080B (zh) 2023-07-21

Family

ID=82727620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210660510.6A Active CN114896080B (zh) 2022-06-13 2022-06-13 基于区块链技术的分布式系统避免死锁处理方法及装置

Country Status (1)

Country Link
CN (1) CN114896080B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828847A (zh) * 2019-01-25 2019-05-31 平安科技(深圳)有限公司 基于区块链的锁处理方法、装置、计算机设备及存储介质
WO2020063174A1 (zh) * 2018-09-25 2020-04-02 阿里巴巴集团控股有限公司 一种资源分享方法、装置及设备
WO2020134575A1 (zh) * 2018-12-25 2020-07-02 阿里巴巴集团控股有限公司 基于区块链的资源分配方法、装置和电子设备
CN111784090A (zh) * 2019-04-04 2020-10-16 百度在线网络技术(北京)有限公司 基于区块链的资源分配方法、装置及存储介质
WO2021022369A1 (en) * 2019-08-06 2021-02-11 Zeu Crypto Networks Inc. Distributed blockchain transaction system
CN112699170A (zh) * 2020-12-31 2021-04-23 上海竞动科技有限公司 基于多源数据结构区块链的查询方法与系统
CN113726873A (zh) * 2021-08-27 2021-11-30 平安科技(深圳)有限公司 基于区块链的文件处理方法、系统、设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640315B1 (en) * 2000-08-04 2009-12-29 Advanced Micro Devices, Inc. Implementing locks in a distributed processing system
US7735089B2 (en) * 2005-03-08 2010-06-08 Oracle International Corporation Method and system for deadlock detection in a distributed environment
CN101504621B (zh) * 2009-04-01 2011-06-29 杭州华三通信技术有限公司 一种避免全局资源乱序的分布式系统、设备及其应用方法
CN111275510A (zh) * 2018-12-05 2020-06-12 触信(厦门)智能科技有限公司 一种资源共享方法、服务器及存储介质
CN110690999B (zh) * 2019-10-11 2021-06-11 腾讯科技(深圳)有限公司 基于区块链的带宽分配方法、装置、设备及存储介质
CN114244536A (zh) * 2022-02-24 2022-03-25 恒生电子股份有限公司 一种区块链的业务处理方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020063174A1 (zh) * 2018-09-25 2020-04-02 阿里巴巴集团控股有限公司 一种资源分享方法、装置及设备
WO2020134575A1 (zh) * 2018-12-25 2020-07-02 阿里巴巴集团控股有限公司 基于区块链的资源分配方法、装置和电子设备
CN109828847A (zh) * 2019-01-25 2019-05-31 平安科技(深圳)有限公司 基于区块链的锁处理方法、装置、计算机设备及存储介质
CN111784090A (zh) * 2019-04-04 2020-10-16 百度在线网络技术(北京)有限公司 基于区块链的资源分配方法、装置及存储介质
WO2021022369A1 (en) * 2019-08-06 2021-02-11 Zeu Crypto Networks Inc. Distributed blockchain transaction system
CN112699170A (zh) * 2020-12-31 2021-04-23 上海竞动科技有限公司 基于多源数据结构区块链的查询方法与系统
CN113726873A (zh) * 2021-08-27 2021-11-30 平安科技(深圳)有限公司 基于区块链的文件处理方法、系统、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
区块链技术综述及应用;白宇嘉 等;电脑知识与技术;第20-24页 *

Also Published As

Publication number Publication date
CN114896080A (zh) 2022-08-12

Similar Documents

Publication Publication Date Title
Cheung et al. The grid protocol: A high performance scheme for maintaining replicated data
US8224860B2 (en) Database management system
US7783973B2 (en) Change approvals for computing systems
US7783607B2 (en) Decentralized record expiry
US9348641B2 (en) System and method for performing a transaction in a massively parallel processing database
CN101765831B (zh) 数据库不一致的处理方法
US8756196B2 (en) Propagating tables while preserving cyclic foreign key relationships
US20110225121A1 (en) System for maintaining a distributed database using constraints
US20090157762A1 (en) Dynamic Data Reorganization to Accommodate Growth Across Replicated Databases
CN112654978B (zh) 分布式异构存储系统中数据一致性实时检查的方法、设备和系统
US10747776B2 (en) Replication control using eventually consistent meta-data
CN101535977A (zh) 联盟基础结构内的一致性
US20090049172A1 (en) Concurrent Node Self-Start in a Peer Cluster
CN104767794B (zh) 一种分布式系统中的节点选举方法及节点
CN109522365B (zh) 信息管理系统中数据表及其字段分布式访问控制的方法
CN108140035B (zh) 分布式系统的数据库复制方法及装置
CN112100160B (zh) 一种基于Elastic Search的双活实时数据仓库建设方法
CN117354260A (zh) 一种电磁暂态跨域分布式并行计算调度方法及装置
CN112037873B (zh) 一种基于集群选主和共识机制的单点优化方法
CN114595288A (zh) 一种基于sql命令级的多idc分布式系统数据同步方法
CN114896080B (zh) 基于区块链技术的分布式系统避免死锁处理方法及装置
CN111737226B (zh) 一种基于Redis集群优化HBase集群性能的方法
CN109376001A (zh) 一种资源分配的方法及设备
CN111917826A (zh) 一种基于区块链知识产权保护的pbft共识算法
Adly Management of replicated data in large scale systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant