[发明专利]程序验证方法、装置、计算设备及计算机存储介质在审
申请号: | 201910680976.0 | 申请日: | 2019-07-26 |
公开(公告)号: | CN110532036A | 公开(公告)日: | 2019-12-03 |
发明(设计)人: | 张海涛;余洋 | 申请(专利权)人: | 云湾科技(嘉兴)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 11276 北京市浩天知识产权代理事务所(普通合伙) | 代理人: | 王广涛<国际申请>=<国际公布>=<进入 |
地址: | 314000 浙江省嘉*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算节点 验证代码 运行结果 计算机存储介质 第三方计算机 程序分发 程序验证 计算设备 检查点 源节点 云计算 复制 验证 | ||
本发明实施例涉及云计算技术领域,公开了一种程序验证方法、装置、计算设备及计算机存储介质,方法包括:源节点将程序分发至计算节点;获取所述计算节点对所述程序的运行结果,其中,所述程序的运行结果中包括所述计算节点在所述程序的至少一个检查点处插入的验证代码的执行结果;对所述验证代码的执行结果进行验证。通过上述方式,本发明实施例使得在第三方计算机中执行程序时能够获得可靠的信任,不需要复制程序,降低了成本。
技术领域
本发明实施例涉及云计算技术领域,具体涉及一种程序验证方法、装置、计算设备及计算机存储介质。
背景技术
大多数计算机在其系统中执行程序时,会假设计算机完全控制系统中的程序,程序将在该系统上正常执行。
在云计算领域,该假设仍然如此,用户信任云服务提供商来执行程序。然而,在去中心化场景的第三方“租用”计算机中进行程序执行时,前面的假设不能成立。例如在程序执行过程中,可以暂停、中止超出其假定的执行路径的程序。
在现有技术中,源节点将任务分发至第三方计算机并获取第三方计算机的程序执行结果,源节点不知道第三方计算机程序的执行情况。
发明内容
鉴于上述问题,本发明实施例提供了一种程序验证方法、装置、计算设备及计算机存储介质,克服了上述问题或者至少部分地解决了上述问题。
根据本发明实施例的一个方面,提供了一种程序验证方法,所述方法包括:源节点将程序分发至计算节点;获取所述计算节点对所述程序的运行结果,其中,所述程序的运行结果中包括所述计算节点在所述程序的至少一个检查点处插入的验证代码的执行结果;对所述验证代码的执行结果进行验证。
在一种可选的方式中,所述验证代码为程序代码,所述程序的运行结果中包括所述程序代码的执行结果;所述对所述验证代码的执行结果进行验证,包括:将所述程序代码的执行结果与所述程序代码的预设结果进行比较验证。
在一种可选的方式中,所述验证代码为带记忆功能的参数,所述程序的运行结果包括所述参数的记忆功能;所述对所述验证代码的执行结果进行验证,包括:通过马尔可夫状态转换验证所述参数的记忆功能。
在一种可选的方式中,所述对所述验证代码的执行结果进行验证,还包括:如果验证不通过,则进一步通过一仲裁节点进行验证;如果通过验证,则签署并密封,向所述计算节点发放与所述程序对应的奖励。
根据本发明实施例的另一方面,提供了一种程序验证方法,所述方法包括:计算节点接收源节点分发的程序;在所述程序的至少一个检查点处插入的验证代码;执行所述程序,并将所述程序的运行结果返回至所述源节点以进行验证,其中,所述程序的运行结果包括所述验证代码的执行结果。
在一种可选的方式中,所述验证代码为带记忆功能的参数或程序代码,其中,所述参数为堆栈参数,包括程序计数、变量、堆栈深度的其中之一,所述程序代码包括本地散列函数,或非函数的计算。
根据本发明实施例的另一方面,提供了一种程序验证装置,所述程序验证装置包括:程序分发单元,用于将程序分发至计算节点;结果获取单元,用于获取所述计算节点对所述程序的运行结果,其中,所述程序的运行结果中包括所述计算节点在所述程序的至少一个检查点处插入的验证代码的执行结果;验证单元,用于对所述验证代码的执行结果进行验证。
根据本发明实施例的另一方面,提供了一种程序验证装置,所述程序验证装置包括:接收单元,用于计算节点接收源节点分发的程序;执行单元,用于在所述程序的至少一个检查点处插入的验证代码;执行单元,用于执行所述程序,并将所述程序的运行结果返回至所述源节点以进行验证,其中,所述程序的运行结果包括所述验证代码的执行结果。
根据本发明实施例的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云湾科技(嘉兴)有限公司,未经云湾科技(嘉兴)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910680976.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种芯片内的单向链路以及芯片
- 下一篇:一种Java运行方法、系统及终端