代码管理方法和装置制造方法及图纸

技术编号:19547323 阅读:27 留言:0更新日期:2018-11-24 21:13
本发明专利技术提供一种代码管理方法和装置。该方法包括:第一用户设备接收第二用户设备上传至服务器的至少一个代码文件的信息;代码文件的信息包括所述代码文件对应的哈希值;第一用户设备根据至少一个代码文件的信息生成区块,并将区块加入区块链中;区块包括区块头和至少一个区块主体,区块头包括上一个区块的哈希值;区块主体包括至少一个代码文件各自对应的哈希值;第一用户设备将区块发送给服务器,以使服务器建立区块、代码文件对应的哈希值与代码文件的存储路径的三者的对应关系。本发明专利技术实施例通过将代码文件存储至服务器,将代码文件的信息存储至区块链,可以防止代码文件的信息的篡改,从而保证了代码文件的安全性。

Code management methods and devices

The invention provides a code management method and device. The method includes: the first user equipment receives information of at least one code file uploaded by the second user equipment to the server; the information of the code file includes the corresponding hash value of the code file; the first user equipment generates blocks based on the information of at least one code file and adds blocks to the block chain; and the block package. Including a block head and at least one block body, the block head includes the hash value of the previous block; the block body includes at least one corresponding hash value of the code file; the first user equipment sends the block to the server so that the server establishes the hash value of the block, the corresponding hash value of the code file and the storage path of the code file. The corresponding relationship among them. The embodiment of the present invention can prevent the tampering of the information of the code file by storing the code file to the server and storing the information of the code file to the block chain, thus ensuring the security of the code file.

【技术实现步骤摘要】
代码管理方法和装置
本专利技术涉及计算机
,尤其涉及一种代码管理方法和装置。
技术介绍
在互联网行业中,代码开发人员将程序代码开发完毕后,需要将程序代码或者编译结果部署到服务器上运行,才能间接的为用户提供服务,这个过程称为代码发布。目前一般通过版本控制系统(Subversion,简称SVN)、GIT,以及集成工具软件Jinkens实现对代码的存放和发布。但上述方式中代码存放和发布的过程中,代码容易被篡改、被攻击,安全性得不到保障。
技术实现思路
本专利技术提供一种代码管理方法和装置,以提高代码存放和发布过程中的安全性。第一方面,本专利技术提供一种代码管理方法,包括:第一用户设备接收第二用户设备上传至服务器的至少一个代码文件的信息;所述代码文件的信息包括所述代码文件对应的哈希值;所述第一用户设备根据至少一个所述代码文件的信息生成区块,并将所述区块加入区块链中;所述区块包括区块头和至少一个区块主体,所述区块头包括上一个区块的哈希值;所述区块主体包括至少一个所述代码文件各自对应的哈希值;所述第一用户设备将所述区块发送给所述服务器,以使所述服务器建立所述区块、所述代码文件对应的哈希值与所述代码文件的存储路径的三者的对应关系。第二方面,本专利技术提供一种代码管理方法,包括:服务器接收第二用户设备上传的至少一个代码文件;所述服务器接收所述第一用户设备发送的区块;所述区块为根据至少一个所述代码文件的信息生成的;所述代码文件的信息包括:所述代码文件对应的哈希值;所述区块包括区块头和至少一个区块主体,所述区块头包括上一个区块的哈希值;所述区块主体包括至少一个所述代码文件各自对应的哈希值;所述服务器建立并存储所述区块、所述代码文件对应的哈希值与所述代码文件的存储路径的三者的对应关系。第三方面,本专利技术提供一种代码管理装置,包括:接收模块,用于接收第二用户设备上传至服务器的至少一个代码文件的信息;所述代码文件的信息包括所述代码文件对应的哈希值;处理模块,用于根据至少一个所述代码文件的信息生成区块,并将所述区块加入区块链中;所述区块包括区块头和至少一个区块主体,所述区块头包括上一个区块的哈希值;所述区块主体包括至少一个所述代码文件各自对应的哈希值;发送模块,用于将所述区块发送给所述服务器,以使所述服务器建立所述区块、所述代码文件对应的哈希值与所述代码文件的存储路径的三者的对应关系。第四方面,本专利技术提供一种代码管理装置,包括:接收模块,用于接收第二用户设备上传的至少一个代码文件;所述接收模块,还用于接收所述第一用户设备发送的区块;所述区块为根据至少一个所述代码文件的信息生成的;所述代码文件的信息包括:所述代码文件对应的哈希值;所述区块包括区块头和至少一个区块主体,所述区块头包括上一个区块的哈希值;所述区块主体包括至少一个所述代码文件各自对应的哈希值;处理模块,用于建立并存储所述区块、所述代码文件对应的哈希值与所述代码文件的存储路径的三者的对应关系。本专利技术实施例提供的代码管理方法和装置,第一用户设备接收第二用户设备上传至服务器的至少一个代码文件的信息;所述代码文件的信息包括所述代码文件对应的哈希值;所述第一用户设备根据至少一个所述代码文件的信息生成区块,并将所述区块加入区块链中;所述区块包括区块头和至少一个区块主体,所述区块头包括上一个区块的哈希值;所述区块主体包括至少一个所述代码文件各自对应的哈希值;所述第一用户设备将所述区块发送给所述服务器,以使所述服务器建立所述区块、所述代码文件对应的哈希值与所述代码文件的存储路径的三者的对应关系,通过将代码文件存储至服务器,将代码文件的信息存储至区块链,可以防止代码文件的信息的篡改,使得可以通过区块中的代码文件的信息去验证服务器中的代码文件的真实性,从而保证了代码文件的安全性。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1是本专利技术提供的代码管理方法一实施例的流程示意图;图2是本专利技术提供的代码管理方法一实施例的区块链示意图;图3是本专利技术提供的代码管理方法另一实施例的流程示意图;图4是本专利技术提供的代码管理方法又一实施例的流程示意图;图5是本专利技术提供的代码管理装置一实施例的结构示意图;图6是本专利技术提供的代码管理装置另一实施例的结构示意图;图7是本专利技术提供的第一用户设备实施例的结构示意图;图8是本专利技术提供的服务器实施例的结构示意图。通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的方法和装置的例子。本专利技术的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。首先对本专利技术所涉及的名词和场景进行介绍:研发团队每个开发人员都对应区块链中的一个节点,形成P2P对等网络。具体可以通过虚拟专用网络(VirtualPrivateNetwork,简称VPN)使得所有节点同在一个局域网中,所有在网节点平等接入网络,形成P2P对等网络。进一步还可以通过非对称加密算法生成节点自身的公私钥来唯一的标识每一个开发人员。其中,私钥用于唯一标识节点,公钥用于验证节点的合法性,例如在接入网络时,或网络的定期检查过程中。任一节点都可以向服务器上报代码,并可以查看区块链中的代码。在对等网络中,每一个节点均是对等的个体,共同参与区块链上代码的记录、存储、维护等工作。而且,区块链中的区块具有一旦生成,无法篡改的特性。该区块链可以采用私有链形式,对读写权限或者对外开放权限进行限制。区块链上的读写权限按研发团队预定的规则来制定,例如某个开发人员对应的节点只有读取权限等。整个对等网络由各个节点共同维护,网络接入可以通过各个节点的网关接入,共识过程由预先选好的节点控制。图1是本专利技术提供的代码管理方法一实施例的流程示意图。如图1所示,本实施例提供的方法,包括:步骤101、第一用户设备接收第二用户设备上传至服务器的至少一个代码文件的信息;代码文件的信息包括代码文件对应的哈希值。具体的,第一用户设备为通过预设的共识机制选定的节点对应的用户设备。第二用户设备为对等网络中任一节点对应的用户设备。第二用户设备在有新的代码文件生成或修改后,将至少一个代码文件上传至服务器,并向网络中的其他节点广播代码文件的信息;由第一用户设备接收至少一个代码文件的信息。代码文件的信息包括代码文件对应的哈希值,该哈希值是根据代码文件通过哈希算法得到的。一旦代码文件被篡改,代码文件对应的哈希值就会发生改变,因此可以根据哈希值验证代码文件是否被篡改。步骤102、第一本文档来自技高网...

【技术保护点】
1.一种代码管理方法,其特征在于,包括:第一用户设备接收第二用户设备上传至服务器的至少一个代码文件的信息;所述代码文件的信息包括所述代码文件对应的哈希值;所述第一用户设备根据至少一个所述代码文件的信息生成区块,并将所述区块加入区块链中;所述区块包括区块头和至少一个区块主体,所述区块头包括上一个区块的哈希值;所述区块主体包括至少一个所述代码文件各自对应的哈希值;所述第一用户设备将所述区块发送给所述服务器,以使所述服务器建立所述区块、所述代码文件对应的哈希值与所述代码文件的存储路径的三者的对应关系。

【技术特征摘要】
1.一种代码管理方法,其特征在于,包括:第一用户设备接收第二用户设备上传至服务器的至少一个代码文件的信息;所述代码文件的信息包括所述代码文件对应的哈希值;所述第一用户设备根据至少一个所述代码文件的信息生成区块,并将所述区块加入区块链中;所述区块包括区块头和至少一个区块主体,所述区块头包括上一个区块的哈希值;所述区块主体包括至少一个所述代码文件各自对应的哈希值;所述第一用户设备将所述区块发送给所述服务器,以使所述服务器建立所述区块、所述代码文件对应的哈希值与所述代码文件的存储路径的三者的对应关系。2.根据权利要求1所述的方法,其特征在于,所述将所述区块加入区块链中之前,还包括:所述第一用户设备将所述区块广播至对等网络P2P中除所述第一用户设备之外的其他用户设备,以使所述其他用户设备对所述区块进行验证;所述将所述区块加入区块链中,包括:若所述第一用户设备接收到所述其他用户设备发送的验证通过的指示信息后,将所述区块加入所述区块链中。3.根据权利要求1或2所述的方法,其特征在于,若至少一个所述代码文件为发布包,则所述第一用户设备根据至少一个所述代码文件的信息生成区块,并将所述区块加入区块链中,包括:所述第一用户设备根据所述发布包的信息生成所述区块,并将所述区块加入所述区块链中;所述发布包的信息包括所述发布包对应的哈希值;所述第一用户设备将所述区块发送给所述服务器,以使所述服务器建立所述区块、所述代码文件对应的哈希值与所述代码文件的存储路径的三者的对应关系,包括:所述第一用户设备将所述区块发送给所述服务器,以使所述服务器建立所述区块、所述发布包对应的哈希值与所述发布包的存储路径的三者的对应关系。4.根据权利要求1或2所述的方法,其特征在于,所述区块头还包括:默克尔树根和时间戳;所述区块主体还包括:所述第二用户设备的标识信息和元数据描述信息。5.一种代码管理方法,其特征在于,包括:服务器接收第二用户设备上传的至少一个代码文件;所述服务器接收第一用户设备发送的区块;所述区块为根据至少一个所述代码文件的信息生成的;所述...

【专利技术属性】
技术研发人员:龙岳
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:北京,11

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

1