基于区块链的共建代码备份库的处理方法及系统与流程

文档序号:26192703发布日期:2021-08-06 18:45阅读:83来源:国知局
基于区块链的共建代码备份库的处理方法及系统与流程

本发明涉及区块链技术领域,尤指一种基于区块链的共建代码备份库的处理方法及系统。



背景技术:

随着互联网金融蓬勃发展,线上金融业务已经成为各家银行的必争之地,金融信息科技也得到了大力发展。信息科技产品作为金融信息科技基础支撑,其安全性显得尤为重要。而代码则为构成金融信息科技产品的基础骨架,代码安全直接关系到产品安全。而在日常的代码开发中,由于现有大多产品的庞大性,涉及多种开发语言、多个模块,涉及多人开发,经常由于开发人员误操作、岗位变动、私改代码等,导致代码开发信息无法进行多人同步。同时,对于备份代码也由于各类非法篡改、误操作等产生的各种问题。

综上来看,亟需一种可以克服上述缺陷,防止备份代码被非法篡改,并且使开发人员可以多人同步修改备份代码的技术方案。



技术实现要素:

为解决现有技术存在的问题,本发明提出了一种基于区块链的共建代码备份库的处理方法及系统;其中,该方法及系统在开发环境部署有共建代码备份库,并根据需求对代码进行分段,对分段代码进行哈希运算,作为共建代码备份库该段代码的密码,并将哈希值存放于区块链中。当代码需要改动时,开发人员从区块链中取出该段代码对应的哈希值,并使用哈希值进入共建代码备份库,获得代码,修改代码后,将生成新的哈希值(临时),当监测模块监测到该段代码的哈希值发生变化时,通过广播的方式通知与该段代码相关的其他开发人员(各节点),开发人员收到新的哈希值(临时)后,查看修改后的代码,超过50%的节点同意修改后,将新的哈希值(临时)覆盖原有哈希值,将新的代码覆盖原有代码,同时新的哈希值作为修改后的该段代码的备份库密码,完成该段代码修改。

在本发明实施例的第一方面,提出了一种基于区块链的共建代码备份库的处理方法,该方法包括:

在开发环境中部署共建代码备份库,其中,所述共建代码备份库存储有分段备份代码;

对所述分段备份代码进行哈希运算,得到每段备份代码的哈希值,作为共建代码备份库中每一段备份代码的提取密码,并将哈希值存放于区块链中;

当开发人员需要对备份代码进行改动时,从区块链中取出需要改动的分段备份代码对应的第一哈希值;

根据第一哈希值,在共建代码备份库中提取需要修改的备份代码;

在开发人员修改代码后,根据修改后的分段备份代码生成第二哈希值;

监测修改后的分段代码的哈希值,当监测到第二哈希值与第一哈希值不同时,通过广播的方式通知被修改的分段备份代码的相关节点;

若超过一定比例的节点同意修改,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码。

进一步的,在开发环境中部署共建代码备份库,还包括:

对共建代码备份库中的备份代码进行分段处理,得到分段备份代码;

为分段备份代码设置对应的相关节点,每一相关节点对应有至少一名开发人员。

进一步的,根据第一哈希值,在共建代码备份库中提取需要修改的备份代码,包括:

验证所述第一哈希值,验证通过后进入共建代码备份库,在共建代码备份库中提取与第一哈希值对应的分段备份代码。

进一步的,监测修改后的分段代码的哈希值,当监测到第二哈希值与第一哈希值不同时,通过广播的方式通知被修改的分段备份代码的相关节点,包括:

由修改代码的开发人员以外的其他相关节点的开发人员查看修改后的分段备份代码,并反馈同意修改或不同意修改的指令。

进一步的,若超过一定比例的节点同意修改,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码,包括:

若超过50%的相关节点反馈同意修改的指令,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码。

在本发明实施例的第二方面,提出了一种基于区块链的共建代码备份库的处理系统,该系统包括:

部署模块,用于在开发环境中部署共建代码备份库,其中,所述共建代码备份库存储有分段备份代码;

哈希运算模块,用于对所述分段备份代码进行哈希运算,得到每段备份代码的哈希值,作为共建代码备份库中每一段备份代码的提取密码,并将哈希值存放于区块链中;

哈希值提取模块,用于当开发人员需要对备份代码进行改动时,从区块链中取出需要改动的分段备份代码对应的第一哈希值;

代码提取模块,用于根据第一哈希值,在共建代码备份库中提取需要修改的备份代码;

所述哈希运算模块,还用于在开发人员修改代码后,根据修改后的分段备份代码生成第二哈希值;

监测广播模块,用于监测修改后的分段代码的哈希值,当监测到第二哈希值与第一哈希值不同时,通过广播的方式通知被修改的分段备份代码的相关节点;

代码覆盖模块,用于若超过一定比例的节点同意修改,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码。

进一步的,该系统还包括:

分段处理模块,对共建代码备份库中的备份代码进行分段处理,得到分段备份代码;

节点设置模块,用于为分段备份代码设置对应的相关节点,每一相关节点对应有至少一名开发人员。

进一步的,代码提取模块具体用于:

验证所述第一哈希值,验证通过后进入共建代码备份库,在共建代码备份库中提取与第一哈希值对应的分段备份代码。

进一步的,在监测广播模块通过广播的方式通知被修改的分段备份代码的相关节点之后,还包括:

由修改代码的开发人员以外的其他相关节点的开发人员查看修改后的分段备份代码,并反馈同意修改或不同意修改的指令。

进一步的,代码覆盖模块具体用于:

若超过50%的相关节点反馈同意修改的指令,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码。

在本发明实施例的第三方面,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现基于区块链的共建代码备份库的处理方法。

在本发明实施例的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现基于区块链的共建代码备份库的处理方法。

本发明提出的基于区块链的共建代码备份库的处理方法及系统,通过在开发环境中部署共建代码备份库,其中,所述共建代码备份库存储有分段备份代码;对所述分段备份代码进行哈希运算,得到每段备份代码的哈希值,作为共建代码备份库中每一段备份代码的提取密码,并将哈希值存放于区块链中;当开发人员需要对备份代码进行改动时,从区块链中取出需要改动的分段备份代码对应的第一哈希值;根据第一哈希值,在共建代码备份库中提取需要修改的备份代码;在开发人员修改代码后,根据修改后的分段备份代码生成第二哈希值;监测修改后的分段代码的哈希值,当监测到第二哈希值与第一哈希值不同时,通过广播的方式通知被修改的分段备份代码的相关节点;若超过一定比例的节点同意修改,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码,本发明在实施过程中利用哈希值当做代码的提取密码,有效保护了代码保密性,并且基于区块链防篡改性,防止了代码被非法篡改,通过代码分段可以对代码的修改进行灵活控制,在每次修改时无需影响所有开发人员,无需所有节点参与,可以实现多人同步修改代码,灵活性强,效率高。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明一实施例的基于区块链的共建代码备份库的处理方法流程示意图。

图2是本发明一具体实施例的基于区块链的共建代码备份库的处理方法流程示意图。

图3是本发明一实施例的基于区块链的共建代码备份库的处理系统架构示意图。

图4是本发明一具体实施例的基于区块链的共建代码备份库的处理系统架构示意图。

图5是本发明一实施例的计算机设备结构示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种基于区块链的共建代码备份库的处理方法及系统,涉及区块链技术领域;本发明发明通过区块链保障代码安全,新修改的代码经多个开发人员理解并同意后,才可修改,保障了完整性。另外,对于区块链可能出现的代码泄露风险,采用防泄露方法,源码不直接入链,保障代码保密性。

本发明在开发环境部署有共建代码备份库,并根据需求对代码进行分段,对分段代码进行哈希运算,作为共建代码备份库该段代码的密码,并将哈希值存放于区块链中。当代码需要改动时,开发人员从区块链中取出该段代码对应的哈希值,并使用哈希值进入共建代码备份库,获得代码,修改代码后,将生成新的哈希值(临时),当监测模块监测到该段代码的哈希值发生变化时,通过广播的方式通知与该段代码相关的其他开发人员(各节点),开发人员收到新的哈希值(临时)后,查看修改后的代码,超过50%的节点同意修改后,将新的哈希值(临时)覆盖原有哈希值,将新的代码覆盖原有代码,同时新的哈希值作为修改后的该段代码的备份库密码,完成该段代码修改。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

图1是本发明一实施例的基于区块链的共建代码备份库的处理方法流程示意图。如图1所示,该方法包括:

步骤s101,在开发环境中部署共建代码备份库,其中,所述共建代码备份库存储有分段备份代码;

步骤s102,对所述分段备份代码进行哈希运算,得到每段备份代码的哈希值,作为共建代码备份库中每一段备份代码的提取密码,并将哈希值存放于区块链中;

步骤s103,当开发人员需要对备份代码进行改动时,从区块链中取出需要改动的分段备份代码对应的第一哈希值;

步骤s104,根据第一哈希值,在共建代码备份库中提取需要修改的备份代码;

步骤s105,在开发人员修改代码后,根据修改后的分段备份代码生成第二哈希值;

步骤s106,监测修改后的分段代码的哈希值,当监测到第二哈希值与第一哈希值不同时,通过广播的方式通知被修改的分段备份代码的相关节点;这里接收广播通知的只有与该分段备份代码相关的开发人员,并不会广播通知所有开发人员,可以减少影响的人员数量。

步骤s107,若超过一定比例的节点同意修改,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码。

为了对上述基于区块链的共建代码备份库的处理方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明。

图2是本发明一具体实施例的基于区块链的共建代码备份库的处理方法流程示意图。

步骤s1,在开发环境中部署共建代码备份库。

步骤s2,对共建代码备份库中的备份代码进行分段处理,得到分段备份代码。

步骤s3,为分段备份代码设置对应的相关节点,每一相关节点对应有至少一名开发人员。

其中,所述共建代码备份库存储有分段备份代码。

步骤s4,对所述分段备份代码进行哈希运算,得到每段备份代码的哈希值,作为共建代码备份库中每一段备份代码的提取密码,并将哈希值存放于区块链中。

步骤s5,当开发人员需要对备份代码进行改动时,从区块链中取出需要改动的分段备份代码对应的第一哈希值。

步骤s6,验证所述第一哈希值,验证通过后进入共建代码备份库,在共建代码备份库中提取与第一哈希值对应的分段备份代码。

步骤s7,根据第一哈希值,在共建代码备份库中提取需要修改的备份代码。

步骤s8,在开发人员修改代码后,根据修改后的分段备份代码生成第二哈希值。

步骤s9,监测修改后的分段代码的哈希值,当监测到第二哈希值与第一哈希值不同时,通过广播的方式通知被修改的分段备份代码的相关节点;

步骤s10,由修改代码的开发人员以外的其他相关节点的开发人员查看修改后的分段备份代码,并反馈同意修改或不同意修改的指令。

例如,该分段备份代码的相关节点为6个,除去修改代码的开发人员,其它5个相关节点的开发人员会接收到广播通知,并查看修改的代码。每个相关节点可以反馈同意或不同意的指令。

步骤s11,若超过50%的相关节点反馈同意修改的指令,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码。

需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

在介绍了本发明示例性实施方式的方法之后,接下来,参考图3至图4对本发明示例性实施方式的基于区块链的共建代码备份库的处理系统进行介绍。

基于区块链的共建代码备份库的处理系统的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”或者“单元”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

基于同一发明构思,本发明还提出了一种基于区块链的共建代码备份库的处理系统,如图3所示,该系统包括:

部署模块310,用于在开发环境中部署共建代码备份库,其中,所述共建代码备份库存储有分段备份代码;

哈希运算模块320,用于对所述分段备份代码进行哈希运算,得到每段备份代码的哈希值,作为共建代码备份库中每一段备份代码的提取密码,并将哈希值存放于区块链中;

哈希值提取模块330,用于当开发人员需要对备份代码进行改动时,从区块链中取出需要改动的分段备份代码对应的第一哈希值;

代码提取模块340,用于根据第一哈希值,在共建代码备份库中提取需要修改的备份代码;

所述哈希运算模块320,还用于在开发人员修改代码后,根据修改后的分段备份代码生成第二哈希值;

监测广播模块350,用于监测修改后的分段代码的哈希值,当监测到第二哈希值与第一哈希值不同时,通过广播的方式通知被修改的分段备份代码的相关节点;

代码覆盖模块360,用于若超过一定比例的节点同意修改,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码。

进一步的,参考图4,为本发明一具体实施例的基于区块链的共建代码备份库的处理系统架构示意图。

如图4所示,该系统还包括:

分段处理模块370,对共建代码备份库中的备份代码进行分段处理,得到分段备份代码;

节点设置模块380,用于为分段备份代码设置对应的相关节点,每一相关节点对应有至少一名开发人员。

在本实施例中,代码提取模块340具体用于:

验证所述第一哈希值,验证通过后进入共建代码备份库,在共建代码备份库中提取与第一哈希值对应的分段备份代码。

相应的,在监测广播模块通过广播的方式通知被修改的分段备份代码的相关节点之后,还包括:

由修改代码的开发人员以外的其他相关节点的开发人员查看修改后的分段备份代码,并反馈同意修改或不同意修改的指令。

在本实施例中,代码覆盖模块360具体用于:

若超过50%的相关节点反馈同意修改的指令,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码。

应当注意,尽管在上文详细描述中提及了基于区块链的共建代码备份库的处理系统的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。

基于前述发明构思,如图5所示,本发明还提出了一种计算机设备500,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序530,所述处理器520执行所述计算机程序530时实现前述基于区块链的共建代码备份库的处理方法。

基于前述发明构思,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述基于区块链的共建代码备份库的处理方法。

本发明提出的基于区块链的共建代码备份库的处理方法及系统,通过在开发环境中部署共建代码备份库,其中,所述共建代码备份库存储有分段备份代码;对所述分段备份代码进行哈希运算,得到每段备份代码的哈希值,作为共建代码备份库中每一段备份代码的提取密码,并将哈希值存放于区块链中;当开发人员需要对备份代码进行改动时,从区块链中取出需要改动的分段备份代码对应的第一哈希值;根据第一哈希值,在共建代码备份库中提取需要修改的备份代码;在开发人员修改代码后,根据修改后的分段备份代码生成第二哈希值;监测修改后的分段代码的哈希值,当监测到第二哈希值与第一哈希值不同时,通过广播的方式通知被修改的分段备份代码的相关节点;若超过一定比例的节点同意修改,将修改后的分段备份代码覆盖原分段备份代码,并将第二哈希值覆盖第一哈希值,作为修改后的分段备份代码的新提取密码,本发明在实施过程中利用哈希值当做代码的提取密码,有效保护了代码保密性,并且基于区块链防篡改性,防止了代码被非法篡改,通过代码分段可以对代码的修改进行灵活控制,在每次修改时无需影响所有开发人员,无需所有节点参与,可以实现多人同步修改代码,灵活性强,效率高。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1