[发明专利]一种源码编译验证方法、系统、设备和储存介质在审
申请号: | 202110028999.0 | 申请日: | 2021-01-11 |
公开(公告)号: | CN112948827A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 应秋敏;郑基玲;王志文;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/64;G06F8/41;G06F8/52 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 源码 编译 验证 方法 系统 设备 储存 介质 | ||
1.一种源码编译验证方法,其特征在于,包括如下步骤:
S100、确定验证编译记录的请求,其中,所述编译记录包括编号、软件名称、软件版本、源代码地址、源代码hash值、用于存储编译结果hash值的编译结果列表、编译环境和工具链列表;
S201、读取编译记录内容;
S202、根据源代码地址下载源代码,并进行hash运算,得到第一源代码hash值;
S203、验证第一源代码hash值与编译记录中的源代码hash值是否一致,若一致则进行下一步,否则不作处理;
S204、根据编译环境和工具链列表构建编译环境;
S204、对所述源代码进行编译,得到所述源代码的二进制文件;
S205、对所述二进制文件进行hash运算,运算结果存入第一编译结果列表;
S206、验证第一编译结果列表内容与编译记录中的编译结果列表内容是否一致,若一致则向其他节点广播所述编译记录,否则不进行处理;
在步骤S206之后,区块链网络对编译记录进行共识,共识完成后将所述编译记录储存在区块链上。
2.根据权利要求1所述的一种源码编译验证方法,其特征在于,所述编译环境和工具链列表包括源代码编译所需的各级依赖和工具的名称、版本及对应的下载地址。
3.根据权利要求2所述的一种源码编译验证方法,其特征在于,源代码编译所需的各级依赖、工具和所述编译记录均共同存储于同一区块链上。
4.根据权利要求3所述的一种源码编译验证方法,其特征在于,所述编译环境和工具链列表还包括各级依赖和工具在区块链上的链上编号。
5.一种源码编译验证系统,其特征在于,包括记录存储模块,用于存储编译记录;哈希验证模块,用于对源代码和编译结果进行哈希计算和验证;源码编译模块,用于构建编译环境和下载编译所需的所有依赖以进行源码编译;记录读取模块,用于读取记录存储模块中所存储的编译记录;记录接收模块,用于接收用户上传的包含所述编译记录的内容或节点广播的包含所述编译记录的内容;记录传输模块,用于广播或上传包含所述编译记录的内容。其中,所述编译记录包括区块链中唯一的编译编号、软件名称、软件版本、源代码地址、源代码hash值、用于存储编译结果hash值的编译结果列表、编译环境和工具链列表。
6.根据权利要求4所述的一种源码编译验证系统,其特征在于,所述源码编译模块自带基础编译工具。
7.根据权利要求5所述的一种源码编译验证系统,其特征在于,所述基础编译工具为原始版本的GCC程序。
8.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-4中任一项所述的方法。
9.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110028999.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种市政工程用可调型道路施工警示架
- 下一篇:水处理在线监测预警系统