基于区块链的代码处理方法、装置、存储介质与电子设备制造方法及图纸

技术编号:24852285 阅读:22 留言:0更新日期:2020-07-10 19:06
本公开提供一种基于区块链的代码处理方法、基于区块链的代码处理装置、存储介质与电子设备,涉及区块链技术领域,该基于区块链的代码处理方法包括:若接收到对目标代码的提交操作,则获取所述目标代码的代码提交信息;对所述目标代码以及区块链中存储的参考代码进行结合处理,以获取组合代码;将所述组合代码以及所述目标代码的代码提交信息存储至所述区块链。本公开能够提高代码存储的安全性和可靠性。

【技术实现步骤摘要】
基于区块链的代码处理方法、装置、存储介质与电子设备
本公开涉及区块链
,尤其涉及一种基于区块链的代码处理方法、基于区块链的代码处理装置、计算机可读存储介质与电子设备。
技术介绍
现有代码仓库的数据保存大多使用分布式版本控制系统Git。Git是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,Git纵览一遍所有文件信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,则分布式版本控制系统不会再次保存,而只对上次保存的快照作连接。上述方式中,分布式版本控制系统需要掌握很多操作指令和分支切换知识,操作难度较高。分布式版本控制系统的分支合并代码很容易引起冲突,具有一定的局限性。分布式版本控制系统通过仓库托管平台来进行多节点合作时,是平台项目的管理者掌握了合并代码的权力,也就是由中央节点来完成,存在被破坏的风险,安全性较差。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开提供了一种基于区块链的代码处理方法、基于区块链的代码处理装置、计算机可读存储介质与电子设备,进而至少在一定程度上克服代码处理安全性较差的问题。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的第一方面,提供一种基于区块链的代码处理方法,包括:若接收到对目标代码的提交操作,则获取所述目标代码的代码提交信息;对所述目标代码以及区块链中存储的参考代码进行结合处理,以获取组合代码;将所述组合代码以及所述目标代码的代码提交信息存储至所述区块链。根据本公开的一个方面,提供一种基于区块链的代码处理装置,包括:信息确定模块,用于若接收到对目标代码的提交操作,则获取所述目标代码的代码提交信息;代码组合模块,用于对所述目标代码以及区块链中存储的参考代码进行结合处理,以获取组合代码;代码存储模块,用于将所述组合代码以及所述目标代码的代码提交信息存储至所述区块链。根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的基于区块链的代码处理方法。根据本公开的一个方面,提供一种电子设备,包括:处理器;存储器,用于存储所述处理器的可执行指令;以及其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的基于区块链的代码处理方法。本公开实施例中提供的基于区块链的代码处理方法、基于区块链的代码处理装置、计算机可读存储介质与电子设备,若接收到对目标代码的提交操作,则可以获取目标代码的代码提交信息,进一步可以结合目标代码对区块链中存储的参考代码来进行代码处理得到组合代码,并将组合代码和目标代码的代码提交信息存储至区块链。一方面,可以结合新提交的目标代码以及区块链中存储的参考代码来进行代码更新和处理获取组合代码,进而将组合代码以及提交操作时的代码提交信息均存储至区块链中,由于可以将组合代码存储在区块链,实现了真正的分布式,避免了中央节点被破坏的风险,因此能够使得代码更安全,提高安全性以及代码的稳定性。另一方面,相比于相关技术而言,目标代码和区块链中存储的参考代码进行结合从而实现代码合并的过程,简化了操作步骤,避免了代码合并容易引起冲突而导致的局限性,提高了准确性以及实用性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本示例性实施方式中用于实现基于区块链的代码处理方法的系统架构的示意图;图2示出本示例性实施方式中一种基于区块链的代码处理方法的流程图;图3示出本示例性实施方式中进行代码存储的流程示意图;图4示出本示例性实施方式中一种基于区块链的代码处理装置的结构框图;图5示出本示例性实施方式中用于实现上述方法的电子设备的示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。图1中示意性示出了本公开实施例的方法的系统架构图,如图1所示,该系统架构100可以包括多个节点101,多个节点101的形式可以相同或者是不同,从而形成区块链网络102。区块链可以为联盟链或私有链,用于存储节点的代码,各节点可以为企业中的计算机或服务器,基于一定的共识机制上传、存储与更新区块链中的数据。区块链中的数据可以为代码相关的数据,例如源代码、代码测试结果等等。应该注意的是,图1所示的节点的数目仅仅是示例性的,根据实际需要,可以设置任意数目的节点101,此处不做限定。基于图1中所示的系统架构,本公开实施例中提供了一种基于区块链的代码处理方法。图2中示意性示出了本公开实施例中基于区块链的代码处理方法的流程图,参考图2中所示,主要包括步骤S210至步骤S230,详细介绍如下:在步骤S210中,若接收到对目标代码的提交操作,则获取所述目标代码的代码提交信息。本公开实施例中,目标代码可以为修改后的代码、新添加的代码、新升级的代码等等,目标代码的类型可以与区块链中已经存储的代码的类型相同,二者可以属于相同的对象,此处的对象可以为项目或者是目标。目标代码的编写语言可以为各种语言,此处不做限定。本公开实施例中,可以由区块链中的节点将目标代码提交。每一次提交目标代码的节点可以不同,因此区块链中的每个节点均可以提交目标代码。在检测到每一个节点对于目标代码的提交操作时,可以记录并获取目标代码关联的代码提交信息。代码提交信息用于描述提交操作的具体情况,代码提交信息包括但不限于提交者、审核者、区块编号、上链时间、代码信息等等,本文档来自技高网...

【技术保护点】
1.一种基于区块链的代码处理方法,其特征在于,包括:/n若接收到对目标代码的提交操作,则获取所述目标代码的代码提交信息;/n对所述目标代码以及区块链中存储的参考代码进行结合处理,以获取组合代码;/n将所述组合代码以及所述目标代码的代码提交信息存储至所述区块链。/n

【技术特征摘要】
1.一种基于区块链的代码处理方法,其特征在于,包括:
若接收到对目标代码的提交操作,则获取所述目标代码的代码提交信息;
对所述目标代码以及区块链中存储的参考代码进行结合处理,以获取组合代码;
将所述组合代码以及所述目标代码的代码提交信息存储至所述区块链。


2.根据权利要求1所述的基于区块链的代码处理方法,其特征在于,所述对所述目标代码以及区块链中存储的参考代码进行结合处理,以获取组合代码,包括:
下载所述区块链中存储的上一个区块的参考代码;
将所述目标代码合并至所述参考代码中,以形成所述组合代码。


3.根据权利要求1所述的基于区块链的代码处理方法,其特征在于,所述将所述目标代码合并至所述参考代码中,以形成所述组合代码,包括:
若根据集体共识机制确定所述目标代码正确,则将所述目标代码合并至所述参考代码,以形成所述组合代码。


4.根据权利要求1所述的基于区块链的代码处理方法,其特征在于,所述将所述组合代码以及所述目标代码的代码提交信息存储至所述区块链,包括:
根据所述组合代码的属性信息将所述组合代码存储至所述区块链,并将所述目标代码的代码提交信息存储至所述区块链。


5.根据权利要求4所述的基于区块链的代码处理方法,其特征在于,所述属性信息为大小信息;
所述根据所述组合代码的属性信息将所述组合代码存储至所述区块链,包括:
若所述组合代码的大小信息满足存储条件,则将所述组合代码进行...

【专利技术属性】
技术研发人员:彭冬炜
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1