【技术实现步骤摘要】
基于区块链的代码版本管理方法、装置、终端及存储介质
本申请涉及区块链
,尤其涉及一种基于区块链的代码版本管理方法、装置、终端及存储介质。
技术介绍
伴随科技的发展,计算机成为目前信息化社会建设的必要手段,而计算机软件的开发更是成为计算机应有的必然途径。计算机软件的开发一方面可以促进计算机技术本身的发展,同时,也能够促进社会生产生活的变化,为经济的发展创造动力。一般来说,代码开发人员将软件代码开发完毕或更新完毕后,通常需要将新版本的软件代码或者编译结果部署到服务器上运行,才能间接的为用户提供服务,这个过程称为代码发布。其中,不乏遇到在新的代码版本发布过程中存在新版本有问题或不稳定的情况,因此为不影响用户体验,需要进行版本回滚,即回退到前一个版本或者前多个版本。但是由于代码版本存放过程中存在代码被篡改、被攻击的情况,因此,如何保证回滚版本的安全性成为当前亟待解决的问题。
技术实现思路
本申请实施例提供一种基于区块链的代码版本管理方法、装置、终端及存储介质,可提高用于回滚的代码版本的安全性和可靠性。 >第一方面,本申请实本文档来自技高网...
【技术保护点】
1.一种基于区块链的代码版本管理方法,其特征在于,所述方法包括:/n获取版本回滚请求,根据所述版本回滚请求中的回滚版本标识从版本数据库中获取回滚版本信息,其中所述回滚版本信息中包括第一版本文件,第一区块标识,以及所述第一版本文件对应的叶子结点在第一默克尔树中的第一位置;/n根据所述第一区块标识从区块链中获取所述第一区块标识对应的第一区块,其中所述第一区块中包括所述第一默克尔树,所述第一默克尔树包括至少两个版本文件对应的叶子结点和一个根结点,每个结点对应一个哈希值;/n根据所述第一位置,确定从所述第一版本文件对应的叶子结点开始到所述第一默克尔树的根结点为止,所包括的第一路径结 ...
【技术特征摘要】
1.一种基于区块链的代码版本管理方法,其特征在于,所述方法包括:
获取版本回滚请求,根据所述版本回滚请求中的回滚版本标识从版本数据库中获取回滚版本信息,其中所述回滚版本信息中包括第一版本文件,第一区块标识,以及所述第一版本文件对应的叶子结点在第一默克尔树中的第一位置;
根据所述第一区块标识从区块链中获取所述第一区块标识对应的第一区块,其中所述第一区块中包括所述第一默克尔树,所述第一默克尔树包括至少两个版本文件对应的叶子结点和一个根结点,每个结点对应一个哈希值;
根据所述第一位置,确定从所述第一版本文件对应的叶子结点开始到所述第一默克尔树的根结点为止,所包括的第一路径结点,并根据所述第一路径结点确定与所述第一路径结点为一度关系且非第一路径结点的第一分支结点;
基于所述第一版本文件生成第一哈希值,根据所述第一分支结点对应的哈希值以及所述第一哈希值生成第一验证根哈希值,若所述第一默克尔树的根结点对应的哈希值与所述第一验证根哈希值相同,则将当前版本文件回滚为所述第一版本文件。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
根据所述第一位置从所述第一默克尔树中获取所述第一位置对应的第二哈希值;
当所述第一默克尔树的根结点对应的哈希值与所述第一验证根哈希值相同,且所述第一哈希值与所述第二哈希值相同时,将当前版本文件回滚为所述第一版本文件。
3.根据权利要求1所述方法,其特征在于,所述回滚版本信息中还包括开发者标识,所述第一版本文件对应的文件数字签名;所述方法还包括:
根据所述开发者标识从公钥存储区块中获取所述开发者标识对应的公钥;
基于所述公钥对所述文件数字签名进行解密以得到第三哈希值;
当所述第一默克尔树的根结点对应的哈希值与所述第一验证根哈希值相同,且所述第一哈希值与所述第三哈希值相同时,将当前版本文件回滚为所述第一版本文件。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一位置,确定从所述第一版本文件对应的叶子结点开始到所述第一默克尔树的根结点为止,所包括的第一路径结点,包括:
从所述第一位置开始,确定从所述第一版本文件对应的叶子结点到所述第一默克尔树的根结点之间的搜索路径,将所述搜索路径对应的结点确定为第一路径结点。
5.根据权利要求1所述的方法,其特征在于,所述获取版本回滚请求之前,所述方法还包括:
当检测到第一版本对应的第一版本文件发布时,获取所述第一版本之前的最新版本对应的第二区块,其中,所述第二区块中包括第二默克尔树;
基于所述第一版本文件生成第四哈希值,将所述第四哈希值确定为所述第一版本文件对应的叶子结点的哈希值,并在所述第二默克尔树中插入所述第四哈希值以得到所述第一默克尔树;
获取所述第一版本文件对应的叶子结点在所述第一默克尔树中的第一位置,将所述第一版本文件、所述第一位置以及所述第一默克尔树的根结点对应的哈希值在区块链网络中进行广播,以使所述区块链网络中的共识节点根据所述第一版本文件和所述第一位置,对所述第一默克尔树的根结点对应的哈希值进行验证以得到第一校验结果;
根据接收到的所述共识节点返回的第一校...
【专利技术属性】
技术研发人员:彭芊,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。