CN114398684A - 基于区块链的信息处理方法和装置、存储介质及电子设备 - Google Patents

基于区块链的信息处理方法和装置、存储介质及电子设备 Download PDF

Info

Publication number
CN114398684A
CN114398684A CN202210298551.5A CN202210298551A CN114398684A CN 114398684 A CN114398684 A CN 114398684A CN 202210298551 A CN202210298551 A CN 202210298551A CN 114398684 A CN114398684 A CN 114398684A
Authority
CN
China
Prior art keywords
task
target
calculation
information
block chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210298551.5A
Other languages
English (en)
Other versions
CN114398684B (zh
Inventor
许庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210298551.5A priority Critical patent/CN114398684B/zh
Publication of CN114398684A publication Critical patent/CN114398684A/zh
Application granted granted Critical
Publication of CN114398684B publication Critical patent/CN114398684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种基于区块链的信息处理方法和装置、存储介质及电子设备。其中,该方法包括:获取目标存证请求,其中,目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;响应于目标存证请求,获取目标任务的第一计算输入信息、目标任务的第一计算过程信息、以及目标任务的第一计算结果,其中,目标任务的第一任务信息包括第一计算输入信息、第一计算过程信息以及第一计算结果,第一计算结果是对第一计算输入信息执行第一计算过程信息所指示的计算过程所得到的结果;将目标任务的第一任务信息上链到目标区块链中。本申请解决了无法得知导致计算结果错误的原因的技术问题。

Description

基于区块链的信息处理方法和装置、存储介质及电子设备
技术领域
本申请涉及计算机领域,具体而言,涉及一种基于区块链的信息处理方法和装置、存储介质及电子设备。
背景技术
由于区块链具有不可篡改性,因此,现有的应用系统或模块都会基于区块链进行存证,但在现有方案中,都是将最后得到的计算结果上链到区块链中进行存证。以碳排放审计场景为例:在进行碳排放计算的过程中,通过碳排放计算方法对采集的相关数据进行计算,得到计算结果,并将得到的计算结果上链到区块链中存证,进而在进行审计的时候,从区块链中获取计算结果。但在验证计算结果存在错误的情况下,由于区块链中仅存证了计算结果,进而无法得知在碳排放计算的过程中哪个具体环节存在错误,进而需要花费额外的人工和技术成本进行追溯和举证,增加了审计工作的困难,提高了审计工作成本,也为审计结果的可靠性带来了风险。
针对相关技术,由于在区块链中仅存证了计算结果,进而在审计的过程中,如果验证计算结果存在错误,无法得知导致计算结果错误的原因的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于区块链的信息处理方法和装置、存储介质及电子设备,以至少解决无法得知导致计算结果错误的原因的技术问题。
根据本申请实施例的一个方面,提供了一种基于区块链的信息处理方法,包括:获取目标存证请求,其中,所述目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;响应于所述目标存证请求,获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,其中,所述目标任务的第一任务信息包括所述第一计算输入信息、所述第一计算过程信息以及所述第一计算结果,所述第一计算结果是对所述第一计算输入信息执行所述第一计算过程信息所指示的计算过程所得到的结果;将所述目标任务的第一任务信息上链到所述目标区块链中。
可选的,所述方法还包括:响应于第一输入指令,将第一输入数据和第一计算过程确定为所述目标任务的输入数据和计算过程;响应于第一执行指令,对所述第一输入数据执行所述第一计算过程,得到所述第一计算结果。
可选的,所述获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,包括:获取所述目标任务的所述第一输入数据、所述目标任务的所述第一计算过程、以及所述目标任务的所述第一计算结果,其中,所述第一计算输入信息包括所述第一输入数据,所述第一计算过程信息包括所述第一计算过程。
可选的,所述方法包括:响应于第一转换指令,将第一输入数据的格式转换成云函数平台允许的数据格式,得到云函数输入数据;响应于第二转换指令,将第一计算过程转换成所述云函数平台允许的云函数代码;响应于第二输入指令,将所述云函数输入数据和所述云函数代码确定为所述目标任务的输入数据和计算过程;响应于第二执行指令,对所述云函数输入数据执行所述云函数代码,得到所述第一计算结果。
可选的,所述获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,包括:获取所述云函数输入数据、所述云函数代码以及所述第一计算结果,其中,所述第一计算输入信息包括所述云函数输入数据,所述第一计算过程信息包括所述云函数代码。
可选的,所述将所述目标任务的第一任务信息上链到所述目标区块链中,包括:在所述云函数输入数据所需的第一存储空间小于或等于所述目标区块链推荐的预设存储空间的情况下,将所述云函数输入数据上链到所述目标区块链中,在所述第一存储空间大于所述预设存储空间的情况下,将所述云函数输入数据的哈希值上链到所述目标区块链中;在所述云函数代码所需的第二存储空间小于或等于所述预设存储空间的情况下,将所述云函数代码上链到所述目标区块链中,在所述第二存储空间大于所述预设存储空间的情况下,将所述云函数代码的哈希值上链到所述目标区块链中;或者,将所述云函数代码的哈希值上链到所述目标区块链中;在所述第一计算结果所需的第三存储空间小于或等于所述预设存储空间的情况下,将所述第一计算结果上链到所述目标区块链中,在所述第三存储空间大于所述预设存储空间的情况下,将所述第一计算结果的哈希值上链到所述目标区块链中。
可选的,在将所述目标任务的第一任务信息上链到所述目标区块链中之后,所述方法还包括:生成所述目标任务的第一任务信息上链后的存证标识,并存储具有对应关系的所述存储标识和所述目标任务的任务标识,其中,所述存证标识用于指示所述目标区块链中的所述目标任务的第一任务信息;获取目标取证请求,其中,所述目标取证请求用于请求在所述目标区块链中获取所述目标任务的第一任务信息,所述目标取证请求中携带有所述目标任务的任务标识;响应于所述目标取证请求,在所述目标区块链中查找与所述目标任务的任务标识具有对应关系的所述存证标识;在查找到所述存证标识的情况下,在所述目标区块链中获取所述目标任务的第一任务信息。
可选的,所述方法还包括:获取待验证的所述目标任务的第二任务信息,其中,所述第二任务信息包括所述目标任务的第二计算输入信息、所述目标任务的第二计算过程信息、以及所述目标任务的第二计算结果;分别比对所述第二计算输入信息与所述目标区块链中获取到的所述第一计算输入信息、比对所述第二计算过程信息与所述目标区块链中获取到的所述第一计算过程信息、比对所述第二计算结果与所述目标区块链中获取到的所述第一计算结果;在比对出所述第二计算输入信息与所述第一计算输入信息不同、和/或、所述第二计算过程信息与所述第一计算过程信息不同、和/或、所述第二计算结果与所述第一计算结果不同的情况下,确定所述第二任务信息异常。
根据本申请实施例的另一方面,还提供了一种基于区块链的信息处理装置,包括:第一获取模块,用于获取目标存证请求,其中,所述目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;第二获取模块,用于响应于所述目标存证请求,获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,其中,所述目标任务的第一任务信息包括所述第一计算输入信息、所述第一计算过程信息以及所述第一计算结果,所述第一计算结果是对所述第一计算输入信息执行所述第一计算过程信息所指示的计算过程所得到的结果;处理模块,用于将所述目标任务的第一任务信息上链到所述目标区块链中。
可选的,上述装置还包括:第一响应模块,用于响应于第一输入指令,将第一输入数据和第一计算过程确定为所述目标任务的输入数据和计算过程;第二响应模块,用于响应于第一执行指令,对所述第一输入数据执行所述第一计算过程,得到所述第一计算结果。上述第二获取模块包括:第一获取单元,用于获取所述目标任务的所述第一输入数据、所述目标任务的所述第一计算过程、以及所述目标任务的所述第一计算结果,其中,所述第一计算输入信息包括所述第一输入数据,所述第一计算过程信息包括所述第一计算过程。
可选的,上述装置还包括:第三响应模块,用于响应于第一转换指令,将第一输入数据的格式转换成云函数平台允许的数据格式,得到云函数输入数据;第四响应模块,用于响应于第二转换指令,将第一计算过程转换成所述云函数平台允许的云函数代码;第五响应模块,用于响应于第二输入指令,将所述云函数输入数据和所述云函数代码确定为所述目标任务的输入数据和计算过程;第六响应模块,用于响应于第二执行指令,对所述云函数输入数据执行所述云函数代码,得到所述第一计算结果。上述第二获取模块包括:第二获取单元,用于获取所述云函数输入数据、所述云函数代码以及所述第一计算结果,其中,所述第一计算输入信息包括所述云函数输入数据,所述第一计算过程信息包括所述云函数代码。
可选的,上述处理模块包括:
第一处理单元,用于在所述云函数输入数据所需的第一存储空间小于或等于所述目标区块链推荐的预设存储空间的情况下,将所述云函数输入数据上链到所述目标区块链中,在所述第一存储空间大于所述预设存储空间的情况下,将所述云函数输入数据的哈希值上链到所述目标区块链中;
第二处理单元,用于在所述云函数代码所需的第二存储空间小于或等于所述预设存储空间的情况下,将所述云函数代码上链到所述目标区块链中,在所述第二存储空间大于所述预设存储空间的情况下,将所述云函数代码的哈希值上链到所述目标区块链中;或者,将所述云函数代码的哈希值上链到所述目标区块链中;
第三处理单元,用于在所述第一计算结果所需的第三存储空间小于或等于所述预设存储空间的情况下,将所述第一计算结果上链到所述目标区块链中,在所述第三存储空间大于所述预设存储空间的情况下,将所述第一计算结果的哈希值上链到所述目标区块链中。
可选的,上述装置还包括:生成模块,用于在将所述目标任务的第一任务信息上链到所述目标区块链中之后,生成所述目标任务的第一任务信息上链后的存证标识,并存储具有对应关系的所述存储标识和所述目标任务的任务标识,其中,所述存证标识用于指示所述目标区块链中的所述目标任务的第一任务信息;第三获取模块,用于获取目标取证请求,其中,所述目标取证请求用于请求在所述目标区块链中获取所述目标任务的第一任务信息,所述目标取证请求中携带有所述目标任务的任务标识;第七响应模块,用于响应于所述目标取证请求,在所述目标区块链中查找与所述目标任务的任务标识具有对应关系的所述存证标识;第四获取模块,用于在查找到所述存证标识的情况下,在所述目标区块链中获取所述目标任务的第一任务信息。
可选的,上述装置还包括:第五获取模块,用于获取待验证的所述目标任务的第二任务信息,其中,所述第二任务信息包括所述目标任务的第二计算输入信息、所述目标任务的第二计算过程信息、以及所述目标任务的第二计算结果;比对模块,用于分别比对所述第二计算输入信息与所述目标区块链中获取到的所述第一计算输入信息、比对所述第二计算过程信息与所述目标区块链中获取到的所述第一计算过程信息、比对所述第二计算结果与所述目标区块链中获取到的所述第一计算结果;确定模块,用于在比对出所述第二计算输入信息与所述第一计算输入信息不同、和/或、所述第二计算过程信息与所述第一计算过程信息不同、和/或、所述第二计算结果与所述第一计算结果不同的情况下,确定所述第二任务信息异常。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述基于区块链的信息处理方法。
根据本申请实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上基于区块链的信息处理方法。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的基于区块链的信息处理方法。
在本申请实施例中,采用将计算全过程存证在区块链的方式,通过将计算输入信息、计算过程信息以及计算结果都存证在区块链中,进而在审计的过程中,如果验证计算结果存在错误,可以进一步地验证计算输入信息以及计算过程信息,即可以对计算的全过程进行追溯和举证,达到了缩短审计工作的时间,降低审计工作的成本,提高审计工作的效率的技术效果,进而解决了无法得知导致计算结果错误的原因的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的基于区块链的信息处理方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的基于区块链的信息处理方法的流程图;
图3是根据本发明实施例的一种可选的基于区块链的信息处理方法的示意图;
图4是根据本发明实施例的另一种可选的基于区块链的信息处理方法的示意图;
图5是根据本发明实施例的一种可选的计算数据管理模块的处理流程图;
图6是根据本发明实施例的一种可选的云函数输入数据格式转换模块的处理流程图;
图7是根据本发明实施例的一种可选的计算过程管理模块的处理流程图;
图8是根据本发明实施例的一种可选的计算过程转云函数代码模块的处理流程图;
图9是根据本发明实施例的一种可选的计算任务管理和结果审阅模块的处理流程图;
图10是根据本发明实施例的一种可选的确定计算任务的示意图;
图11是根据本发明实施例的一种可选的存取证管理模块的处理流程图;
图12是根据本发明实施例的一种可选的存证过程的示意图;
图13是根据本发明实施例的一种可选的取证过程的示意图;
图14是根据本发明实施例的一种可选的区块链存取证模块的处理流程图;
图15是根据本发明实施例的一种可选的取证结果验证过程的示意图;
图16是根据本申请实施例的一种可选的基于区块链的信息处理装置的结构示意图;
图17是根据本申请实施例的一种可选的电子设备的结构示意图;
图18是根据本申请实施例的一种可选的电子设备的计算机系统结构框图;
图19是根据本申请实施例的一种可选的数据共享系统的示意图;
图20是根据本申请实施例的一种可选的数据共享系统中的区块的示意图;
图21是根据本申请实施例的一种可选的数据共享系统中的区块产生的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种基于区块链的信息处理方法,可选地,作为一种可选的实施方式,图1是根据本申请实施例的一种可选的基于区块链的信息处理方法的应用环境的示意图,上述基于区块链的信息处理方法可以但不限于应用于如图1所示的环境中。在如图1所示的应用场景中,终端设备102可以但不限于通过网络104与服务器106进行通信,服务器106可以但不限于对数据库108执行操作,例如,写数据操作或读数据操作。上述终端设备102可以但不限包括人机交互屏幕、处理器及存储器。上述人机交互屏幕可以但不限于用于显示在终端设备102上对待存证的目标任务进行选择或提交的界面。上述处理器可以但不限于用于响应上述人机交互操作,执行对应的操作,或者,生成对应的指令,并将生成的指令发送给服务器106。上述存储器用于存储相关处理数据,如待存证的目标任务等。
作为一种可选的方式,终端设备102可以通过网络104提交目标存证请求给服务器106,服务器106上可以执行基于区块链的信息处理方法中的以下步骤:步骤S106:获取与目标存证请求对应的目标任务的第一任务信息,其中,第一任务信息包括:目标任务的第一计算输入信息、第一计算过程信息、以及第一计算结果,步骤S108:将目标任务的第一任务信息上链到目标区块链。
可选地,在本实施例中,上述终端设备102可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络104可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器106可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述数据库108可以是一种关系型数据库,上述仅是一种示例,本实施例中对此不作任何限定。
通过上述方式,将计算输入信息、计算过程信息以及计算结果都存证在区块链中,进而在审计的过程中,如果验证计算结果存在错误,可以进一步地验证计算输入信息以及计算过程信息,即可以对计算的全过程进行追溯和举证,达到了缩短审计工作的时间,降低审计工作的成本,提高审计工作的效率的技术效果。
作为一种可选的实施方式,图2是根据本发明实施例的基于区块链的信息处理方法的流程图,该流程包括如下步骤:
步骤S202:获取目标存证请求,其中,所述目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;
作为一种可选的示例,用户可以通过如图3所示的存取证管理模块309确定待存证的目标任务,进而存取证管理模块309下发目标存证请求至区块链存取证模块312。具体的,下文会具体描述用户如何在存取证管理模块中选取待存证的目标任务,在此不做具体描述。
步骤S204:响应于所述目标存证请求,获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,其中,所述目标任务的第一任务信息包括所述第一计算输入信息、所述第一计算过程信息以及所述第一计算结果,所述第一计算结果是对所述第一计算输入信息执行所述第一计算过程信息所指示的计算过程所得到的结果;
需要说明的是,上述目标任务可以但不限于用于指示对计算输入信息执行计算过程信息所指示的计算过程,得到计算结果。
作为一种可选的示例,区块链存取证模块312在获取到存取证管理模块309下发目标存证请求以后,会获取到目标存证请求中目标任务的任务标识,进而根据任务标识分别从数据库中获取到目标任务的第一计算输入信息、第一计算过程信息、以及第一计算结果。
作为一种可选的示例,上述第一计算输入信息包括但不限于如图3所示的输入数据和/或云函数输入数据;上述第一计算过程信息包括但不限于如图3所示的计算过程和/或云函数代码;上述第一计算结果包括但不限于如图3所示的计算结果。上述目标任务包括但不限于如图3所示的计算任务。
作为一种可选的示例,第一计算输入信息可以为a和b,第一计算过程信息可以为a+b,或为,c=a+b,第一计算结果可以为c,其中,c=a+b。
步骤S204:将所述目标任务的第一任务信息上链到所述目标区块链中。
作为一种可选的示例,区块链存取证模块312会将第一任务信息进行打包,具体的,并将以第一计算输入信息、第一计算过程信息、以及第一计算结果的哈希值作为待存证信息,将打包后的第一任务信息上链到如图3所示的区块链平台313中的目标区块链中。
在本实施例中,通过将计算输入信息、计算过程信息以及计算结果都存证在区块链中,进而在审计的过程中,如果验证计算结果存在错误,可以进一步地验证计算输入信息以及计算过程信息,即可以对计算的全过程进行追溯和举证,达到了缩短审计工作的时间,降低审计工作的成本,提高审计工作的效率的技术效果。
作为一种可选的示例,本发明实施例的基于区块链的信息处理方法可以结合云函数或应用于云函数的场景。为了达到上述目的,第一计算输入信息可以但不限于包括对输入数据进行格式转换得到的云函数输入数据,第一计算过程信息可以但不限于包括对计算过程进行转换得到的云函数代码。
作为一种可选的示例,在获取云函数输入数据、云函数代码以及第一计算结果之前,响应于第一转换指令,将第一输入数据的格式转换成云函数平台允许的数据格式,得到云函数输入数据;响应于第二转换指令,将第一计算过程转换成所述云函数平台允许的云函数代码;响应于第二输入指令,将所述云函数输入数据和所述云函数代码确定为所述目标任务的输入数据和计算过程;响应于第二执行指令,对云函数输入数据执行云函数代码,得到第一计算结果。
作为一种可选的示例,如图3所示的云函数输入数据格式转换模块302在获取到计算数据管理模块301上传的第一输入数据的情况下,会响应于第一转换指令,将第一输入数据的格式转换成云函数平台307允许的数据格式,得到云函数输入数据;计算过程转云函数代码模块305在获取到计算过程管理模块304发送的第一计算过程的情况下,会响应于第二转换指令,将第一计算过程转换成所述云函数平台307允许的云函数代码;计算任务管理和结果审阅模块308在获取到用户的第二输入指令的情况下,将云函数输入数据和云函数代码确定为目标任务的输入数据和计算过程,并在用户通过计算任务管理和结果审阅模块308下发第二执行指令的情况下,云函数平台307获取云函数输入数据与云函数代码,并对云函数输入数据执行云函数代码,得到第一计算结果。需要说明的是,图3所述的输入数据包括第一输入数据,图3所示的计算过程包括第一计算过程。
在本实施例中,通过将第一输入数据的格式转换成云函数平台允许的数据格式,将第一计算过程转换成云函数平台307允许的云函数代码,可以提高运算的效率。此外,通过将计算过程转换成云函数平台307允许的云函数代码,可以使得该云函数代码被重复利用,从而进一步提高效率,例如,在执行一个任务时,如果该任务中的计算过程对应的云函数代码是云函数平台上存储过的云函数代码,则可以不需要对上述任务中的计算过程进行转云函数代码的过程,而直接使用云函数平台上存储过的云函数代码,从而进一步提高效率。
为了更好的理解,下面结合附图3进一步详细描述上述过程。图3为基于区块链的信息处理方法的一种示意图,如图3所示,用户可以在计算数据管理模块301中对输入数据进行新增、更新、删除、查看、下载等操作。可选地,计算数据管理模块301执行步骤S1:将用户确定的输入数据上传至云函数输入数据格式转换模块302;云函数输入数据格式转换模块302将用户录入的用于计算的输入数据的格式转换成云函数平台307所支持的云函数调用数据格式,并执行步骤S2:将具有云函数调用数据格式的云函数输入数据存储至云函数输入数据存储模块303中备用。
用户也可以通过计算过程管理模块304对计算过程进行录入、更新、删除、查看、下载等操作,在用户确定了计算过程之后,计算过程管理模块304会执行步骤S3:上传计算过程至计算过程转云函数代码模块305;进而计算过程转云函数代码模块305将用户录入的计算过程转换为云函数平台307所接受的云函数代码,并将执行步骤S4:将云函数代码存储至代码版本管理平台备用。
用户也可以通过计算任务管理和结果审阅模块308将计算过程和输入数据组合成计算任务,并通过计算任务管理和结果审阅模块308触发计算任务,进而计算任务管理和结果审阅模块308执行步骤S5:向云函数平台307下发任务执行指令;云函数平台308会响应任务执行指令,执行步骤S6-S7,从代码版本管理平台306中获取对应的云函数代码,从云函数输入数据存储模块303中获取对应的云函数输入数据,进而云函数平台307将云函数输入数据执行云函数代码,得到计算结果,执行步骤S8,并将计算结果存储至云函数计算结果存储模块311存储。
存取证管理模块309可以从任务执行记录数据存储模块310获取已执行完毕的计算任务列表,进而用户从存取证管理模块309选取计算任务进行存证,存取证管理模块309执行步骤S11,提交任务存证申请至区块链存取证模块312。区块链存取证模块312将计算任务的云函数输入数据、云函数代码、计算结果上链至区块链平台313中的目标区块链中。
计算任务管理和结果审阅模块308可以从任务记录模块310中获取待取证任务列表,并向用户进行展示,用户可以从待取证任务列表中选择待取证任务进行取证,并触发存取证管理模块309向区块链存取证模块312发送对应的取证申请,区块链存取证模块312通过区块链平台313进行取证,得到待取证任务的取证结果(可以但不限于包括之前上链的云函数输入数据、云函数代码以及计算结果),然后将取证结果与待验证的任务信息(可以但不限于包括待验证的云函数输入数据、云函数代码以及计算结果)进行比较,得到验证结果,进而展示验证结果。具体的,由区块链存取证模块312适配底层的区块链平台313,通过区块链平台313提供的API进行上链存证和取证查询操作。
作为一种可选的示例,图3所述的步骤S1-S2、步骤S3-S4、步骤S5-S8、步骤S9和S10、以及步骤S11中的部分或全部可以但不限于异步执行。
作为一种可选的示例,第一计算输入信息包括第一输入数据;第一计算过程信息包括第一计算过程,在获取第一输入数据、第一计算过程以及第一计算结果以前,需要响应于第一输入指令,将第一输入数据和第一计算过程确定为所述目标任务的输入数据和计算过程;响应于第一执行指令,对所述第一输入数据执行所述第一计算过程,得到所述第一计算结果;
作为一种可选的示例,如4所示为基于区块链的信息处理方法的另一种框架图,图4中的计算任务管理和结果审阅模块308可以获取用户的第一输入指令,将用户确定的第一输入数据和第一计算过程确定为所述目标任务的输入数据和计算过程,并在用户通过计算任务管理和结果审阅模块308下发第一执行指令的情况下,计算平台403对第一输入数据执行第一计算过程,得到第一计算结果。需要说明的是,图4所示的输入数据包括第一输入数据,计算过程包括第一计算过程。
为了更好的理解,下面结合附图4进一步详细描述上述过程:
如图4所示,用户可以在计算数据管理模块301中对输入数据进行新增、更新、删除、查看、下载等操作。计算数据管理模块301会执行步骤S1,将用户录入的输入数据存储至输入数据存储模块401中备用。
用户也可以通过计算过程管理模块304对计算过程进行录入、更新、删除、查看、下载等操作,进而计算过程管理模块304执行步骤S2,将用户录入的计算过程存储至计算过程存储模块402备用。
用户也可以通过计算任务管理和结果审阅模块308将计算过程和输入数据组合成计算任务,并通过计算任务管理和结果审阅模块308触发计算任务,进而计算任务管理和结果审阅模块308执行步骤S3:向计算平台403下发任务执行指令;计算平台403会响应任务执行指令,执行步骤S4-S5,从计算过程存储模块402中获取对应的计算过程,从输入数据存储模块401中获取对应的输入数据,进而计算平台403将输入数据执行计算过程对应的计算过程,得到计算结果,执行步骤S6,并将计算结果存储至计算结果存储模块404存储。
存取证管理模块309可以从任务执行记录数据存储模块310获取已执行完毕的计算任务列表,进而用户从存取证管理模块309选取计算任务进行存证,存取证管理模块309执行步骤S11,提交任务存证申请至区块链存取证模块312。区块链存取证模块312将计算任务的输入数据、计算过程、计算结果上链至区块链平台313中的目标区块链中。
计算任务管理和结果审阅模块308可以从任务记录模块310中获取待取证任务列表,并向用户进行展示,用户可以从待取证任务列表中选择待取证任务进行取证,并触发存取证管理模块309向区块链存取证模块312发送对应的取证申请,区块链存取证模块312通过区块链平台313进行取证,得到待取证任务的取证结果(可以但不限于包括之前上链的输入数据、计算过程以及计算结果),然后将取证结果与待验证的任务信息(可以但不限于包括待验证的输入数据、计算过程以及计算结果),得到验证结果,进而展示验证结果。具体的,由区块链存取证模块312适配底层区块链平台313,通过区块链平台313提供的API进行上链存证和取证查询操作。
需要说明的是,图4所述的步骤S1、步骤S2、步骤S3-S6、步骤S7-S8、步骤S9中的部分或全部可以但不限于异步执行。
为了更好的理解上述图3所述的计算数据管理模块301如何对输入数据进行管理,作为一种可选的示例,计算数据管理模块301的具体实现细节如图5所示,具体的,计算数据管理模块301会执行以下步骤S1-S2:
步骤S1:将输入数据存储至输入数据存储模块501;
作为一种可选的示例,用户可选择通过计算数据管理模块301中的API接口(例如,HTTP/HTTPs Restful API 接口)进行输入数据的增删改查,如以JSON格式将计算所需的数据进行上报,并支持查询、更新、删除。作为一种可选的示例, API请求报文中部分数据的JSON格式数据如下:{“paramA”:1.0,“paramB”:2.0,“paramC”:3.0}。
作为一种可选的示例,用户还可选择通过计算数据管理模块301中的Web页面进行计算所需的输入数据进行新增、删除、修改、查询。可根据具体业务需求预先设计Web表单供用户填写,例如:碳排放计算场景、财务计算场景。
作为一种可选的示例,用户还可选择通过计算数据管理模块301中的交互页面提供的数据填写模板文件(如Excel模板),通过填写后上传的方式来新增、修改输入数据,并可以在交互页面上完成已上传数据文件的删除操作。可根据具体业务场景预先设计输入数据的填写模板,如碳排放计算任务的输入数据Excel填写模板可包含各类碳排放因子数据和各类化石燃料消耗量等计算所需的数据。
作为一种可选的示例,图5中的待储存的输入数据D1-D4的格式可以但不限于包括Web表单格式、Excel格式。图5中的待储存的输入数据D1-D4的数据内容为包括但不限于Web表单中的数据内容、Excel文件中的数据内容。
作为一种可选的示例,输入数据存储模块501可以但不限于包括输入数据存储介质,该输入数据存储介质可以是COS对象存储(用于存储通过交互界面上传的Excel文件)或关系型数据库(用于存储通过API接口或Web页面录入的格式化数据)等,需要说明的是,输入数据存储模块501中存储的数据将被云函数输入格式转换模块302加载并做进一步处理,申请下文将进行具体描述,此处不做具体说明。
步骤S2:将待处理的输入数据的标识和存储路径信息存储至待处理输入数据消息队列502。
需要说明的是,为了使得图3所示的云函数输入格式转换模块302能及时、准确地获取待处理的输入数据,将待处理的输入数据的标识(如该批次数据的编号)和定位信息(例如,存储于COS对象存储的文件URI(Uniform Resource Identifier,统一资源标识符)、关系型数据库中的数据记录主键)存储于待处理输入数据消息队列502(如Kafka、ActiveMQ等)。
在本实施例中,通过计算数据管理模块301对用户输入的输入数据进行管理,有利于用户对输入数据进行增删查改,提高数据管理的效率。
为了更好的理解图3所示的云函数输入数据格式转换模块302的转化过程,作为一种可选的示例,云函数输入数据格式转换模块302的具体实现细节如图6所示,具体的,云函数输入数据格式转换模块会执行以下步骤S1-S3:云函数输入数据格式转换模块包括但不限于:图6所示的输入数据标准化和格式化处理模块601;
步骤S1:从输入数据存储模块501中获取待处理的输入数据;
步骤S2:待处理输入数据消息队列502中获取待处理的输入数据的标识和定位信息;
可以理解的是,步骤S1-S2通过订阅待处理输入数据消息队列502的消息,获取已存储待处理的输入数据信息,并从输入数据存储模块501中加载待处理的输入数据。将加载的输入数据内容为云函数平台307可接受的数据格式,例如JSON格式,如{“paramA”:1.0,“paramB”:2.0, “paramC”:3.0}。
作为一种可选的示例,图6中待处理的输入数据为D1-D4,在经过标准化与格式化以后的,得到如图6所示的数据Z1-Z4,其中,数据Z1-Z4的格式包括但不限于JSON格式。数据Z1-Z4的数据内容包括但不限于JSON格式的数据内容。
步骤S3:存储标准化与格式化后的云函数输入数据至云函数输入数据存储模块303。
作为一种可选的示例,云函数输入数据存储模块303包括但不限于与云函数平台307已适配的存储介质(如COS对象存储)。
在本实施例中,通过将输入数据提前转化为与云函数平台307向对应的格式的云函数输入数据,提高了云函数平台307在后续计算过程中的计算效率。
为了更好的理解上述图3所述的计算过程管理模块304的处理流程,作为一种可选的示例,计算过程管理模块304的具体实现细节如图7所示,具体的,计算过程管理模块304会执行以下步骤S1-S2:
步骤S1:将计算过程存储至输入数据存储模块701;
作为一种可选的示例,用户可选择通过计算过程管理模块304中的 API接口(例如,HTTP/HTTPs Restful API 接口)进行计算过程的上报、更新、删除、查询。如在HTTP/HTTPs请求报文的参数中将计算过程以python代码、计算公式或计算过程转云函数代码模块305所能适配的其他格式进行上报。
作为一种可选的示例,用户可选择通过计算过程管理模块304中的Web页面对计算过程进行新增、删除、修改、查询,如通过在线计算过程填写表单提交计算过程,或选择使用低代码开发平台,通过拖拽方式来拼接算式,组成计算过程。
作为一种可选的示例,用户可选择通过计算过程管理模块304中交互页面提供的计算过程填写模板(如Excel文件),通过填写后上传的方式来新增和修改计算过程。
作为一种可选的示例,图6所示的待存储的计算过程P1-P4包括但不限于表达式、函数等。
作为一种可选的示例,计算过程存储模块701包括但不限于存储介质,可以是COS对象存储(用于存储通过交互界面上传的存储文件)或关系型数据库(存储通过API接口或Web页面录入的格式化计算过程);需要说明的是,存储的计算过程将被云函数输入格式转换模块305加载并做进一步处理,本申请文件下文将进行具体描述。
步骤S2:将待处理的计算过程的标识和存储路径信息存储至待处理计算过程消息队列702。
需要说明的是,为了使得图3所示的计算过程转云函数代码模块305能及时准确地获取待处理的计算过程,将待处理的计算过程的标识和定位信息(如存储与COS对象存储的文件标识、存储与关系型数据库的数据标识)存储在待处理计算过程消息队列702(如Kafka、ActiveMQ等)。
在本实施例中,通过计算过程管理模块304对用户输入的计算过程进行管理,有利于用户对计算过程进行增删查改,提高数据管理的效率。
为了更好的理解图3所示的计算过程转云函数代码模块305的处理流程,作为一种可选的示例,计算过程转云函数代码模块305的具体实现细节如图8所示,具体的,计算过程转云函数代码模块305会执行以下步骤S1-S3:
步骤S1:从计算过程存储模块701中获取待处理的计算过程;
步骤S2:从待处理输入数据消息队列702中获取待处理的计算过程的标识和定位信息;
可以理解的是,计算过程转云函数代码模块305通过订阅待处理计算过程消息队列702的消息,进而从计算过程存储模块701中获取已存储待处理的计算过程,将计算过程转换为云函数平台可接受的云函数代码,例如统一转换为Python代码。需要说明的是,直接以云函数代码格式录入的计算过程无需转换可以直接使用。
步骤S3:将云函数代码存储至代码管理平台306。
作为一种可选的示例,图8所示的待存储的云函数代码C1-C4包括但不限于python代码等。
为了更好的理解图3所示的计算任务管理和结果审阅模块308的处理流程,作为一种可选的示例,如图9所示,计算任务管理和结果审阅模块308包括但不限于计算任务管理模块901、待执行任务数据存储模块902、计算任务执行模块903、计算结果审阅模块904。计算任务管理模块901从分别从输入数据储存模块501以及计算过程存储模块701中获取对应的输入数据以及计算过程,并将输入数据与计算过程展示在终端设备的页面上,供用户浏览选择,具体的,如图10所示,用户可以选择一个或多个输入数据以及和一个或多个计算过程来确定计算任务, 例如,如图10中的(a)所示,用户可以在终端设备页面中选择输入数据D1以及计算过程P4确定计算任务,如图10中的(b)所示,用户可以在终端设备页面中选择输入数据D1、D2以及计算过程P4、P6确定计算任务,进而计算任务管理模块901将用户选取的输入数据以及计算过程合成为计算任务T1、T2,并将计算任务T1、T2作为待执行任务数据存储至待执行任务数据存储模块902。
计算任务执行管理模块903从待执行任务数据存储模块902中选取待执行的计算任务,并根据待执行的计算任务分别从云函数输入数据存储模块303、代码版本管理平台306中获取对应的云函数输入数据以及云函数代码,并根据云函数平台307提供的API将云函数代码创建为云函数,将创建好的云函数与云函数输入数据发送至云函数平台307,进而云函数平台307将云函数输入数据执行云函数,得到计算结果,进而将计算结果存储至云函数计算结果存储模块311。需要说明的是,云函数计算结果存储模块包括但不限于存储介质(如COS对象存储,或关系型数据库)。
计算任务执行管理模块903还可以存储该计算任务的任务执行记录至任务执行记录数据存储模块310,供存取证管理模块查询309使用,下文将进行具体描述。
计算结果审阅模块904可以从云函数计算结果存储模块311中读取计算结果进行展示,同时加载任务执行记录数据存储模块310中存储的任务执行记录数据,供用户对计算任务的计算结果进行审阅。
需要说明的是,用户也可以通过计算任务管理和结果审阅模块308多次对输入数据执行计算过程,与先前的计算结果进行对比,或与之后的取证结果进行对比和验证。
在本实施例中,通过计算任务管理模块901对计算任务进行管理,使得用户可以更加便捷的确定计算任务。
为了更好的理解图3中的存取证管理模块309与区块链存取证模块312,作为一种可选的示例,如图11所示,存取证管理模块309包括但不限于交互页面1101、取证结果展示模块1102。具体的,存取证管理模块309与区块链存取证模块312具有以下交互过程:
步骤S1:存取证管理模块309从任务执行记录数据存储模块310中获取已经执行过的计算任务列表,并将计算任务列表展示到交互界面1101,供用户选择待存证任务;
步骤S2:交互界面1101在获取了到用户从多个计算任务中选择的待存证任务的情况下,发送存证请求至区块链存取证模块312,其中,存证请求中携带有待存证任务的任务标识(如任务ID)。
步骤S3:区块链存取证模块312将待存证任务的任务信息存证至区块链平台313,其中,任务信息包括:输入数据,计算过程,计算结果。
为了更好的理解上述存证过程,如图12所示,用户在存取证管理模块309的交互页面1101中展示的多个计算任务中选取计算任务T2进行存证。进而存取证管理模块309将计算任务T2的任务标识发送至区块链存取证模块312,使得区块链存取证模块将计算任务T2的任务信息进行上链。
步骤S4:在获取了到用户从多个计算任务中选择的待取证任务的情况下,发送取证请求至区块链存取证模块,其中,取证请求中携带有待取证任务的任务标识(如任务ID)。
步骤S5:区块链存取证模块312根据待取证任务的任务标识从区块链平台313中获取取证结果数据;
步骤S6:区块链存取证模块312将取证结果数据发送取证结果展示模块1102,供用户进行确认。
为了更好的理解上述取证过程,如图13所示,用户在存取证管理模块309的交互页面1102中展示的多个已存证的计算任务中选取计算任务T2进行取证。进而存取证管理模块309将计算任务T2的任务标识发送至区块链存取证模块312,使得区块链存取证模块312从区块链平台313获取将计算任务T2的任务信息。
作为一种可选的示例,图11中的步骤S2-S3、步骤S4-S6可以但不限于异步执行。
在本实施例中,通过存取证管理模块309来展示存取证任务,可以使得用户更加便捷的确定待存取证的任务,并通过区块链存取证模块来进行相关的存取证操作,提高了存取证的效率。
作为一种可选的示例,在执行上述步骤S206之后,还具备以下步骤S1-S4:
步骤S1:生成所述目标任务的第一任务信息上链后的存证标识,并存储具有对应关系的所述存储标识和所述目标任务的任务标识,其中,所述存证标识用于指示所述目标区块链中的所述目标任务的第一任务信息;
作为一种可选的示例,存取证管理模块309将待存证任务发送至区块链存取证模块312,进而区块链存取证模块312会生成待存证任务的第一任务信息上链后的存证标识。需要说明的是,目标任务包括待存证任务。
作为一种可选的示例,区块链存取证模块312可以将云函数输入数据,计算结果,云函数代码打包上链,或者,将云函数输入数据,计算结果,云函数代码的哈希值打包上链。
作为另一可选的示例,区块链存取证模块312还可以将云函数输入数据,计算结果,云函数代码的哈希值或者云函数代码与以下至少之一进行打包上链:代码版本管理平台中的云函数代码的代码标识(版本与代码路径)、待存证任务记录的唯一标识(如计算任务执行记录编号)。
可选的,区块链存取证模块312或区块链平台可以但不限于根据上述打包的待上链的信息生成存证标识。
作为一种可选的示例,区块链存取证模块312还可以直接根据云函数输入数据,计算结果,云函数代码的哈希值生成存证标识。本申请实施例在此不限定。
步骤S2:获取目标取证请求,其中,所述目标取证请求用于请求在所述目标区块链中获取所述目标任务的第一任务信息,所述目标取证请求中携带有所述目标任务的任务标识;
步骤S3:响应于所述目标取证请求,在所述目标区块链中查找与所述目标任务的任务标识具有对应关系的所述存证标识;
步骤S4:在查找到所述存证标识的情况下,在所述目标区块链中获取所述目标任务的第一任务信息。
作为一种可选的示例,存取证管理模块309在获取到用户的目标取证请求以后,会根据目标取证请求中携带的目标任务的任务标识确定目标任务的存证标识,进而根据存证标识在目标区块链中获取目标任务的第一任务信息。
为了更好的理解上述区块链存取证模块312的存取证操作,作为一种可选的示例,如图14所示,区块链存取证模块312执行以下步骤S1-S7:
步骤S1:获取存取证管理模块309发送的存证请求;
步骤S2:根据存证请求中待存存证任务的任务标识分别从云函数输入数据存储模块303、代码版本管理平台306、云函数计算结果存储模块311获取云函数输入数据、云函数代码,计算结果,其中,图14所示的存证相关信息包括云函数输入数据、云函数代码,计算结果;
步骤S3:根据存证相关信息在区块链平台313中存证,以将待存证任务的任务信息存证至目标区块链;
作为一种可选的示例,在将待存证任务存证至目标区块链的过程中,在云函数输入数据所需的第一存储空间小于或等于目标区块链推荐的预设存储空间的情况下,将云函数输入数据上链到目标区块链中,在第一存储空间大于预设存储空间的情况下,将云函数输入数据的哈希值上链到目标区块链中;或者,直接将云函数输入数据上链到目标区块链中,或者直接将云函数输入数据的哈希值上链到目标区块链中。
在将待存证任务存证至目标区块链的过程中,在云函数代码所需的第二存储空间小于或等于预设存储空间的情况下,将云函数代码上链到目标区块链中,在第二存储空间大于预设存储空间的情况下,将云函数代码的哈希值上链到目标区块链中;或者,直接将云函数代码的哈希值上链到目标区块链中;
在将待存证任务存证至目标区块链的过程中,在第一计算结果所需的第三存储空间小于或等于预设存储空间的情况下,将第一计算结果上链到目标区块链中,在第三存储空间大于预设存储空间的情况下,将第一计算结果的哈希值上链到目标区块链中;或者直接将第一计算结果上链到目标区块链中;或者直接将第一计算结果的哈希值上链到目标区块链中。
作为一种可选的示例,目标任务包括待存证任务,第一计算结果包括计算结果。
作为一种可选的示例,区块链存取证模块312在获取到存证请求以后,需要分别获取存证请求对应的待存证任务的云函数输入数据,云函数代码,计算结果,进而再计算云函数代码的哈希值,并分别判断云函数输入数据和计算结果所需存储空间大小,如超过数预设的存证数据大小(如1kb),则计算云函数输入数据和计算结果的哈希值,用于数据上链存证使用。作为一种可选的示例,计算哈希值的方法可以采用MD5算法,本实施例在此不做限定。
作为一种可选的示例,若云函数输入数据和计算结果所需存储空间大小中未超过区块链平台的推荐值,则区块链存取证模块312直接将云函数输入数据、计算结果、云函数代码的哈希值、代码版本管理平台中的代码标识(如版本与代码路径)、该待存证任务记录的唯一标识(如待存证任务的执行记录编号),上述五项信息作为待存证信息进行打包,存放入目标区块链中。若云函数输入数据和计算结果其中一个或两个所需存储空间超过区块链平台推荐值,则将超标的数据对象的哈希值与用于数据查询的标识(如数据库主键等)作为待存证信息,例如,若云函数输入数据所需存储空间超过区块链平台推荐值,则区块链存取证模块312将云函数输入数据的哈希值与用于数据查询的标识、计算结果、云函数代码的哈希值、代码版本管理平台中的代码标识、该待存证任务记录的唯一标识,上述五项信息作为待存证信息进行打包,存放入目标区块链中。
作为一种可选的示例,区块链存取证模块312还可以直接将云函数输入数据、云函数代码的哈希值以及计算结果三者作为待存证信息进行打包,存放入目标区块链中,或将云函数输入数据的哈希值与用于数据查询的标识、云函数代码的哈希值以及计算结果的哈希值与用于数据查询的标识三者作为待存证信息进行打包,存放入目标区块链中,本实施例在此不做限定。
作为一种可选的示例,区块链存取证模块312通过区块链平台313提供的API标准,使用待存证信息发起区块链上存证请求,通过区块链平台313完成上述待存证信息的链上存证,并将区块链平台存证后的存证标识与待存证任务的任务标识关联保存。
步骤S4:获取存取证管理模块309发送的取证请求;
步骤S5:在区块链平移313中查询取证结果;
步骤S6:接收区块链平台发送的取证结果数据;
作为一种可选的示例,区块链存取证模块312收到来自存取证管理模块309的取证请求后:使用待取证任务的任务标识确定及在存证的过程中在区块链上获取存证标识,调用区块链平台API,获取区块链平台上该待取证任务的取证结果数据。
步骤S7:向存取证管理模块309发送的核验结果;
作为一种可选的示例,区块链存取证模块312在获取到取证结果数据以后,可以与用户所选的核验对象任务的数据或其哈希值进行比较,将比较结果,并将核验结果返回给存取证管理模块309。
需要说明的是,作为一种可选的示例,在执行上述步骤S206以后,所述方法还包括以下步骤S1-S3:
步骤S1:获取待验证的所述目标任务的第二任务信息,其中,所述第二任务信息包括所述目标任务的第二计算输入信息、所述目标任务的第二计算过程信息、以及所述目标任务的第二计算结果;
步骤S2:分别比对所述第二计算输入信息与所述目标区块链中获取到的所述第一计算输入信息、比对所述第二计算过程信息与所述目标区块链中获取到的所述第一计算过程信息、比对所述第二计算结果与所述目标区块链中获取到的所述第一计算结果;
步骤S3:在比对出所述第二计算输入信息与所述第一计算输入信息不同、和/或、所述第二计算过程信息与所述第一计算过程信息不同、和/或、所述第二计算结果与所述第一计算结果不同的情况下,确定所述第二任务信息异常。
为了更好的理解上述步骤S1-S3,作为一种可选的示例,以下结合附图15进行具体说明:如图15所述,也就是说,区块链存取证模块312分别将第一计算输入信息与第二计算输入信息进行对比验证,将第一计算过程信息与第二计算过程信息进行对比验证,将第一计算结果和第二计算结果进行对比验证,如果三者全部验证正确,则提示目标任务验证正确,如果存在其中一个验证不相等,则提示对应的异常提示信息,其中,异常提示信息包括但限于:输入信息异常、计算过程信息异常、计算结果异常。
在本实施例中,通过对计算过程进行验证,规避了在数据审计阶段,对存证的计算结果存疑却无法有效举证当时的完整计算过程的问题以及人工追溯计算过程带来的额外成本。
为了更好的理解本申请的技术方案,作为一种可选的示例,以碳排放计算场景为例,包括但不限于四个阶段:计算任务准备阶段、计算任务执行阶段、计算任务存证阶段、计算任务取证阶段。
(一)计算任务准备阶段
用户通过计算数据管理模块301将燃煤消耗量、碳排放计算因子等计算所需的数据输入系统,包括但不限于通过Open API接入、通过上传文件(如Excel、json、xml文件等)、通过系统界面人工输入的方式录入输入数据。录入后,系统将通过云函数输入数据格式转换模块302对输入数据进行转换存储备用。
用户通过计算过程管理模块304将适合该用户的碳排放计算方法通过包括但不限于通过Open API接入、通过上传文件(如Excel、代码文件等)、通过系统界面人工输入计算过程公式的方式录入计算过程。录入后,系统将通过计算过程转云函数代码模块305对输入的计算过程进行转换,存储备用。
(二)计算任务执行阶段
用户通过计算任务管理和结果审阅模块308可以浏览计算任务准备阶段输入的输入数据与计算过程;
如:用户可以查看可选输入数据列表:“A企业2022年1月碳排放计算输入数据、A企业2022年2月碳排放计算输入数据,A企业2022年2月碳排放计算输入数据”;
用户可以查看可选计算过程“A企业2022年碳排放计算方法1.0、A企业2022年碳排放计算方法2.0”。
用户通过计算任务管理和结果审阅模块308创建计算任务,计算任务的主要内容为选择一组输入数据和计算过程,如选择“A企业2022年1月碳排放计算输入数据” 与“A企业2022年碳排放计算方法1.0” 创建并触发计算任务。
计算任务管理和结果审阅模块308将自动生成任务编号,如1001,同时记录上述任务信息,如输入数据为“A企业2022年1月碳排放计算输入数据”,计算过程为A企业2022年碳排放计算方法1.0”,当计算结果产生后,将一并记录该任务的计算结果,如“1001-计算结果”。
用户可以通过计算任务管理和结果审阅模块308查看各任务的执行状态,任务包含的输入数据、计算过程、计算结果信息。
用户可重复多次计算任务执行阶段的操作,选择不同的输入数据与计算过程的组合,如选择“A企业2022年2月碳排放计算输入数据” 与“A企业2022年碳排放计算方法1.0”创建任务1002进行计算,产生并保存“1002-计算结果”。
(三)计算任务存证阶段
用户通过存取证管理模块309可以选择所需存证的任务进行链上存证,如用户选择编号为1001的任务进行存证,则存取证管理模块309将读取任务1001的输入数据、计算过程、输出数据,并依照本申请上述的处理逻辑进行判断和预处理,生成待存证数据(如任务1001输入数据的哈希值,计算过程的哈希值,输出数据的哈希值),调用区块链存取证模块312进行存证操作。
在本阶段,区块链存取证模块312用于和区块链平台313进行交互,完成存证操作。在完成存证后,存取证管理模块309将保存任务的存证信息,如任务编号1001存证标识C1001,需要说明的是,存证标识用于从区块链上取证使用,根据区块链平台不同,提供的存证标识会有所差异。
(四)计算任务取证阶段
用户通过计算任务管理和结果审阅模块308对平台存储的计算任务信息(输入数据、计算过程、计算结果)进行查看时,可随时触发“取证”操作,如点击任务1001对应的“验证”按钮,将触发存取证管理模块309进行取证,通过区块链存取证模块312基于此前保存的存证标识,获取存证标识C1001对应的存证数据(如输入数据、计算过程、计算结果的哈希值),将当前系统中保存的输入数据、计算过程、计算结果完整数据进行哈希计算,与取证数据进行对比,如结果一致,则计算任务管理和结果审阅模块308将告知用户所选任务1001的输入数据、计算过程、结果数据未经篡改。
如取证数据与当前系统中所保存的数据不一致,如当前系统中保存的任务编号1001的计算结果的哈希值与通过C1001存证标识获取的计算结果的哈希值不一致,则计算任务管理和结果审阅模块308将告知用户,任务1001的计算输入数据、计算过程未经篡改,计算结果验证失败。
针对上述情况,用户可通过计算任务管理和结果审阅模块308选择任务编号1001的输入数据、计算过程,创建并触发计算任务1003,通过可信的输入数据和计算过程,来重现未经修改的计算结果。通过此种方式可以有效地复用之前已审计通过的计算过程进行迭代、计算、存证。由于链上存证的数据可以举证的计算过程,进而在上一回审计时已经对计算过程了做了完整确认的情况下,下一轮无需要完整地审计上一次的计算过程,降低了审计成本。
同理,用户可以通过计算任务管理和结果审阅模块308使用此前存证的“A企业2022年1月碳排放计算输入数据”与“A企业2022年碳排放计算方法2.0”进行组合,创建计算任务1004,使用可信的未经篡改的输入数据,配合新的计算方法2.0进行碳排放计算,并按需通过存取证管理模块309进行存证。
为了更好的理解,本申请实施例实现了包含输入数据、计算过程,计算结果在内的计算任务完整区块链上存取证,提出一种基于区块链的计算过程存取证方法,通过将计算过程转换为云函数代码以云函数方式运行,并将输入数据、云函数代码)、计算结果一并在区块链上存证并支持取证和验证。
本申请实施例克服了传统区块链存证方式仅能证明结果数据,而无法重现计算过程以及复用已存证的通过第三方审计的计算过程的问题。审核方不仅可以取证输入数据、计算过程和计算结果,还能立即试算验证结果。同时用户可以基于已存证的计算过程和输入数据进行更新、计算后再次存证,不仅大大提高了数据证据链的完整性,也保证了存证内容的连续性,对于提高数据审计过程的效率及审计结果的可靠性有很大帮助。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一个方面,本申请各个实施例能应用到各类需要对计算结果进行存证的场景。以碳盘查、碳审计平台为例:各企业、碳排放管理相关的第三方碳审计或碳核查机构通过采用本发明的技术方案的平台,在企业进行碳盘查时,可将其碳排放计算任务相关的输入数据、计算过程、计算结果进行存证,便于第三方碳审计或碳核查机构在审计时进行取证、复算、审核。在一轮审计过后,企业可基于上次通过审计时的计算过程进行增量更新或保持不变,配合新一轮的输入数据进行计算后再次存证。碳排放管理相关的政府部门对任何数据存疑时,也可从链上取证当时的输入数据、计算过程、计算结果数据进行完整的确认。
通过将计算过程云函数化,可随时重现计算过程和结果,并与存证的计算过程和结果进行对比确认,极大提高复算的效率。此外,通过将云函数代码化的计算过程进行存证,在对存证的计算结果存疑时,可针对其计算过程进行审计,证据更加完整、可靠。
根据本申请实施例的另一个方面,还提供了一种用于实施上述基于区块链的信息处理方法的基于区块链的信息处理装置。如图16所示,该装置包括:
第一获取模块1602,用于获取目标存证请求,其中,所述目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;
第二获取模块1604,用于响应于所述目标存证请求,获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,其中,所述目标任务的第一任务信息包括所述第一计算输入信息、所述第一计算过程信息以及所述第一计算结果,所述第一计算结果是对所述第一计算输入信息执行所述第一计算过程信息所指示的计算过程所得到的结果;
处理模块1606,用于将所述目标任务的第一任务信息上链到所述目标区块链中。
在本实施例中,通过将计算输入信息、计算过程信息以及计算结果都存证在区块链中,进而在审计的过程中,如果验证计算结果存在错误,可以进一步地验证计算输入信息以及计算过程信息,即可以对计算的全过程进行追溯和举证,达到了缩短审计工作的时间,降低审计工作的成本,提高审计工作的效率的技术效果。
可选的,上述装置还包括:第一响应模块,用于响应于第一输入指令,将第一输入数据和第一计算过程确定为所述目标任务的输入数据和计算过程;第二响应模块,用于响应于第一执行指令,对所述第一输入数据执行所述第一计算过程,得到所述第一计算结果。上述第二获取模块包括:第一获取单元,用于获取所述目标任务的所述第一输入数据、所述目标任务的所述第一计算过程、以及所述目标任务的所述第一计算结果,其中,所述第一计算输入信息包括所述第一输入数据,所述第一计算过程信息包括所述第一计算过程。
可选的,上述装置还包括:第三响应模块,用于响应于第一转换指令,将第一输入数据的格式转换成云函数平台允许的数据格式,得到云函数输入数据;第四响应模块,用于响应于第二转换指令,将第一计算过程转换成所述云函数平台允许的云函数代码;第五响应模块,用于响应于第二输入指令,将所述云函数输入数据和所述云函数代码确定为所述目标任务的输入数据和计算过程;第六响应模块,用于响应于第二执行指令,对所述云函数输入数据执行所述云函数代码,得到所述第一计算结果。上述第二获取模块包括:第二获取单元,用于获取所述云函数输入数据、所述云函数代码以及所述第一计算结果,其中,所述第一计算输入信息包括所述云函数输入数据,所述第一计算过程信息包括所述云函数代码。
可选的,上述处理模块包括:
第一处理单元,用于在所述云函数输入数据所需的第一存储空间小于或等于所述目标区块链推荐的预设存储空间的情况下,将所述云函数输入数据上链到所述目标区块链中,在所述第一存储空间大于所述预设存储空间的情况下,将所述云函数输入数据的哈希值上链到所述目标区块链中;
第二处理单元,用于在所述云函数代码所需的第二存储空间小于或等于所述预设存储空间的情况下,将所述云函数代码上链到所述目标区块链中,在所述第二存储空间大于所述预设存储空间的情况下,将所述云函数代码的哈希值上链到所述目标区块链中;或者,将所述云函数代码的哈希值上链到所述目标区块链中;
第三处理单元,用于在所述第一计算结果所需的第三存储空间小于或等于所述预设存储空间的情况下,将所述第一计算结果上链到所述目标区块链中,在所述第三存储空间大于所述预设存储空间的情况下,将所述第一计算结果的哈希值上链到所述目标区块链中。
可选的,上述装置还包括:
生成模块,用于在将所述目标任务的第一任务信息上链到所述目标区块链中之后,生成所述目标任务的第一任务信息上链后的存证标识,并存储具有对应关系的所述存储标识和所述目标任务的任务标识,其中,所述存证标识用于指示所述目标区块链中的所述目标任务的第一任务信息。
第三获取模块,用于获取目标取证请求,其中,所述目标取证请求用于请求在所述目标区块链中获取所述目标任务的第一任务信息,所述目标取证请求中携带有所述目标任务的任务标识;
第七响应模块,用于响应于所述目标取证请求,在所述目标区块链中查找与所述目标任务的任务标识具有对应关系的所述存证标识;上述装置还包括:第四获取模块,用于在查找到所述存证标识的情况下,在所述目标区块链中获取所述目标任务的第一任务信息。
可选的,上述装置还包括:
第五获取模块,用于获取待验证的所述目标任务的第二任务信息,其中,所述第二任务信息包括所述目标任务的第二计算输入信息、所述目标任务的第二计算过程信息、以及所述目标任务的第二计算结果;
比对模块,用于分别比对所述第二计算输入信息与所述目标区块链中获取到的所述第一计算输入信息、比对所述第二计算过程信息与所述目标区块链中获取到的所述第一计算过程信息、比对所述第二计算结果与所述目标区块链中获取到的所述第一计算结果;
确定模块,用于在比对出所述第二计算输入信息与所述第一计算输入信息不同、和/或、所述第二计算过程信息与所述第一计算过程信息不同、和/或、所述第二计算结果与所述第一计算结果不同的情况下,确定所述第二任务信息异常。
根据本申请实施例的又一个方面,还提供了一种用于实施上述基于区块链的信息处理方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图17所示,该电子设备包括存储器1702和处理器1704,该存储器1702中存储有计算机程序,该处理器1704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标存证请求,其中,所述目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;
S2,响应于所述目标存证请求,获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,其中,所述目标任务的第一任务信息包括所述第一计算输入信息、所述第一计算过程信息以及所述第一计算结果,所述第一计算结果是对所述第一计算输入信息执行所述第一计算过程信息所指示的计算过程所得到的结果;
S3,将所述目标任务的第一任务信息上链到所述目标区块链中。
可选地,本领域普通技术人员可以理解,图17所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图17其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图17中所示更多或者更少的组件(如网络接口等),或者具有与图17所示不同的配置。
其中,存储器1702可用于存储软件程序以及模块,如本申请实施例中的基于区块链的信息处理方法和装置对应的程序指令/模块,处理器1704通过运行存储在存储器1702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于区块链的信息处理方法。存储器1702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1702可进一步包括相对于处理器1704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1702具体可以但不限于用于待存证的计算任务信息等信息。作为一种示例,如图17所示,上述存储器1702中可以但不限于包括上述基于区块链的信息处理装置中的第一获取模块1602、第二获取单元1604及处理模块1606。此外,还可以包括但不限于上述基于区块链的信息处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1706为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:连接总线1708,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1809从网络上被下载和安装,和/或从可拆卸介质1811被安装。在该计算机程序被中央处理器1801执行时,执行本申请实施例提供的各种功能。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
图18示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图18示出的电子设备的计算机系统1800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图18所示,计算机系统1800包括中央处理器1801(Central Processing Unit,CPU),其可以根据存储在只读存储器1802(Read-Only Memory,ROM)中的程序或者从存储部分1808加载到随机访问存储器1803(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1803中,还存储有系统操作所需的各种程序和数据。中央处理器1801、在只读存储器1802以及随机访问存储器1803通过总线1804彼此相连。输入/输出接口1805(Input /Output接口,即I/O接口)也连接至总线1804。
以下部件连接至输入/输出接口1805:包括键盘、鼠标等的输入部分1806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1807;包括硬盘等的存储部分1808;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1809。通信部分1809经由诸如因特网的网络执行通信处理。驱动器1810也根据需要连接至输入/输出接口1805。可拆卸介质1811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1810上,以便于从其上读出的计算机程序根据需要被安装入存储部分1808。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1809从网络上被下载和安装,和/或从可拆卸介质1811被安装。在该计算机程序被中央处理器1801执行时,执行本申请的系统中限定的各种功能。
根据本申请的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标存证请求,其中,所述目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;
S2,响应于所述目标存证请求,获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,其中,所述目标任务的第一任务信息包括所述第一计算输入信息、所述第一计算过程信息以及所述第一计算结果,所述第一计算结果是对所述第一计算输入信息执行所述第一计算过程信息所指示的计算过程所得到的结果;
S3,将所述目标任务的第一任务信息上链到所述目标区块链中。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
需要说明的是,上述实施例中的区块链平台包括但不限于图19所示的数据共享系统,如图19所示,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101,多个节点101可以是指数据共享系统中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
Figure 805615DEST_PATH_IMAGE001
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图20,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图21,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
Figure 912635DEST_PATH_IMAGE002
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种基于区块链的信息处理方法,其特征在于,包括:
获取目标存证请求,其中,所述目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;
响应于所述目标存证请求,获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,其中,所述目标任务的第一任务信息包括所述第一计算输入信息、所述第一计算过程信息以及所述第一计算结果,所述第一计算结果是对所述第一计算输入信息执行所述第一计算过程信息所指示的计算过程所得到的结果;
将所述目标任务的第一任务信息上链到所述目标区块链中。
2.根据权利要求1所述的方法,其特征在于,
所述方法包括:响应于第一输入指令,将第一输入数据和第一计算过程确定为所述目标任务的输入数据和计算过程;响应于第一执行指令,对所述第一输入数据执行所述第一计算过程,得到所述第一计算结果;
所述获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,包括:获取所述目标任务的所述第一输入数据、所述目标任务的所述第一计算过程、以及所述目标任务的所述第一计算结果,其中,所述第一计算输入信息包括所述第一输入数据,所述第一计算过程信息包括所述第一计算过程。
3.根据权利要求1所述的方法,其特征在于,
所述方法包括:响应于第一转换指令,将第一输入数据的格式转换成云函数平台允许的数据格式,得到云函数输入数据;响应于第二转换指令,将第一计算过程转换成所述云函数平台允许的云函数代码;响应于第二输入指令,将所述云函数输入数据和所述云函数代码确定为所述目标任务的输入数据和计算过程;响应于第二执行指令,对所述云函数输入数据执行所述云函数代码,得到所述第一计算结果;
所述获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,包括:获取所述云函数输入数据、所述云函数代码以及所述第一计算结果,其中,所述第一计算输入信息包括所述云函数输入数据,所述第一计算过程信息包括所述云函数代码。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标任务的第一任务信息上链到所述目标区块链中,包括:
在所述云函数输入数据所需的第一存储空间小于或等于所述目标区块链推荐的预设存储空间的情况下,将所述云函数输入数据上链到所述目标区块链中,在所述第一存储空间大于所述预设存储空间的情况下,将所述云函数输入数据的哈希值上链到所述目标区块链中;
在所述云函数代码所需的第二存储空间小于或等于所述预设存储空间的情况下,将所述云函数代码上链到所述目标区块链中,在所述第二存储空间大于所述预设存储空间的情况下,将所述云函数代码的哈希值上链到所述目标区块链中;或者,将所述云函数代码的哈希值上链到所述目标区块链中;
在所述第一计算结果所需的第三存储空间小于或等于所述预设存储空间的情况下,将所述第一计算结果上链到所述目标区块链中,在所述第三存储空间大于所述预设存储空间的情况下,将所述第一计算结果的哈希值上链到所述目标区块链中。
5.根据权利要求1所述的方法,其特征在于,在将所述目标任务的第一任务信息上链到所述目标区块链中之后,所述方法还包括:
生成所述目标任务的第一任务信息上链后的存证标识,并存储具有对应关系的所述存储标识和所述目标任务的任务标识,其中,所述存证标识用于指示所述目标区块链中的所述目标任务的第一任务信息;
获取目标取证请求,其中,所述目标取证请求用于请求在所述目标区块链中获取所述目标任务的第一任务信息,所述目标取证请求中携带有所述目标任务的任务标识;
响应于所述目标取证请求,在所述目标区块链中查找与所述目标任务的任务标识具有对应关系的所述存证标识;
在查找到所述存证标识的情况下,在所述目标区块链中获取所述目标任务的第一任务信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取待验证的所述目标任务的第二任务信息,其中,所述第二任务信息包括所述目标任务的第二计算输入信息、所述目标任务的第二计算过程信息、以及所述目标任务的第二计算结果;
分别比对所述第二计算输入信息与所述目标区块链中获取到的所述第一计算输入信息、比对所述第二计算过程信息与所述目标区块链中获取到的所述第一计算过程信息、比对所述第二计算结果与所述目标区块链中获取到的所述第一计算结果;
在比对出所述第二计算输入信息与所述第一计算输入信息不同、和/或、所述第二计算过程信息与所述第一计算过程信息不同、和/或、所述第二计算结果与所述第一计算结果不同的情况下,确定所述第二任务信息异常。
7.一种基于区块链的信息处理装置,其特征在于,包括:
第一获取模块,用于获取目标存证请求,其中,所述目标存证请求用于请求将目标任务的第一任务信息存储在目标区块链中;
第二获取模块,用于响应于所述目标存证请求,获取所述目标任务的第一计算输入信息、所述目标任务的第一计算过程信息、以及所述目标任务的第一计算结果,其中,所述目标任务的第一任务信息包括所述第一计算输入信息、所述第一计算过程信息以及所述第一计算结果,所述第一计算结果是对所述第一计算输入信息执行所述第一计算过程信息所指示的计算过程所得到的结果;
处理模块,用于将所述目标任务的第一任务信息上链到所述目标区块链中。
8.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序被处理器运行时执行所述权利要求1至6任一项中所述的方法。
9.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述方法的步骤。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
CN202210298551.5A 2022-03-25 2022-03-25 基于区块链的信息处理方法和装置、存储介质及电子设备 Active CN114398684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210298551.5A CN114398684B (zh) 2022-03-25 2022-03-25 基于区块链的信息处理方法和装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210298551.5A CN114398684B (zh) 2022-03-25 2022-03-25 基于区块链的信息处理方法和装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN114398684A true CN114398684A (zh) 2022-04-26
CN114398684B CN114398684B (zh) 2022-07-29

Family

ID=81234589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210298551.5A Active CN114398684B (zh) 2022-03-25 2022-03-25 基于区块链的信息处理方法和装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN114398684B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115375522A (zh) * 2022-08-31 2022-11-22 成都钊峪半网络科技有限公司 智慧城市碳中和数据分析系统
CN117215469A (zh) * 2023-09-15 2023-12-12 中电金信软件有限公司 一种资本计量的数据分析方法以及数据分析装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254951A (zh) * 2018-08-22 2019-01-22 北京知金链网络技术有限公司 一种基于区块链存证平台自定义存证系统的方法和装置
US20190311443A1 (en) * 2018-04-05 2019-10-10 Russell Blades Methods, systems, apparatuses and devices for facilitating provisioning of audit data related to energy consumption, water consumption, water quality, greenhouse gas emissions, and air emissions using blockchain
CN110619023A (zh) * 2019-09-24 2019-12-27 北京艾摩瑞策科技有限公司 结合区块链的物联网的水源检测数据上链方法及装置
CN111143890A (zh) * 2019-12-26 2020-05-12 百度在线网络技术(北京)有限公司 一种基于区块链的计算处理方法、装置、设备和介质
CN111556147A (zh) * 2020-04-27 2020-08-18 中国银行股份有限公司 一种基于区块链的计算方法及装置
CN113111125A (zh) * 2021-04-08 2021-07-13 同方股份有限公司 一种基于区块链的业务存证方法
US20210294920A1 (en) * 2018-07-10 2021-09-23 Netmaster Solutions Ltd A method and system for managing digital evidence using a blockchain
CN113469371A (zh) * 2021-07-01 2021-10-01 建信金融科技有限责任公司 联邦学习方法和装置
CN113836233A (zh) * 2021-09-26 2021-12-24 承德石油高等专科学校 一种基于区块链的审计数据存证溯源方法和终端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190311443A1 (en) * 2018-04-05 2019-10-10 Russell Blades Methods, systems, apparatuses and devices for facilitating provisioning of audit data related to energy consumption, water consumption, water quality, greenhouse gas emissions, and air emissions using blockchain
US20210294920A1 (en) * 2018-07-10 2021-09-23 Netmaster Solutions Ltd A method and system for managing digital evidence using a blockchain
CN109254951A (zh) * 2018-08-22 2019-01-22 北京知金链网络技术有限公司 一种基于区块链存证平台自定义存证系统的方法和装置
CN110619023A (zh) * 2019-09-24 2019-12-27 北京艾摩瑞策科技有限公司 结合区块链的物联网的水源检测数据上链方法及装置
CN111143890A (zh) * 2019-12-26 2020-05-12 百度在线网络技术(北京)有限公司 一种基于区块链的计算处理方法、装置、设备和介质
CN111556147A (zh) * 2020-04-27 2020-08-18 中国银行股份有限公司 一种基于区块链的计算方法及装置
CN113111125A (zh) * 2021-04-08 2021-07-13 同方股份有限公司 一种基于区块链的业务存证方法
CN113469371A (zh) * 2021-07-01 2021-10-01 建信金融科技有限责任公司 联邦学习方法和装置
CN113836233A (zh) * 2021-09-26 2021-12-24 承德石油高等专科学校 一种基于区块链的审计数据存证溯源方法和终端

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
S.GHIMIRE 等: ""Using Blockchain for Improved Video Integrity Verification,"", 《IEEE TRANSACTIONS ON MULTIMEDIA》 *
S.GHIMIRE 等: ""Using Blockchain for Improved Video Integrity Verification,"", 《IEEE TRANSACTIONS ON MULTIMEDIA》, vol. 22, no. 1, 31 January 2020 (2020-01-31), pages 108 - 121, XP011764395, DOI: 10.1109/TMM.2019.2925961 *
刘炜 等: ""基于区块链的医疗信息隐私保护研究综述"", 《郑州大学学报(理学版)》 *
刘炜 等: ""基于区块链的医疗信息隐私保护研究综述"", 《郑州大学学报(理学版)》, vol. 53, no. 2, 14 January 2021 (2021-01-14), pages 1 - 18 *
陈长怡 等: ""函数计算研究与应用场景分析"", 《广东通信技术》 *
陈长怡 等: ""函数计算研究与应用场景分析"", 《广东通信技术》, vol. 39, no. 8, 15 August 2019 (2019-08-15), pages 42 - 46 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115375522A (zh) * 2022-08-31 2022-11-22 成都钊峪半网络科技有限公司 智慧城市碳中和数据分析系统
CN117215469A (zh) * 2023-09-15 2023-12-12 中电金信软件有限公司 一种资本计量的数据分析方法以及数据分析装置

Also Published As

Publication number Publication date
CN114398684B (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN114398684B (zh) 基于区块链的信息处理方法和装置、存储介质及电子设备
US20220261804A1 (en) Deploying a cloud-based system using a distributed ledger
CN110278211A (zh) 一种基于区块链的数据检验方法及装置
US9092244B2 (en) System for developing custom data transformations for system integration application programs
WO2021082340A1 (zh) 数据处理方法、装置、系统和存储介质
US20150326667A1 (en) Peer-to-peer sharing of cloud-based content
CN106406826B (zh) 联调任务创建、系统联调方法及装置
CN112686671A (zh) 基于区块链的智能合约部署方法、装置、设备以及介质
CN110601896B (zh) 一种基于区块链节点的数据处理方法以及设备
US9942218B2 (en) Automated production of certification controls by translating framework controls
CN112734448A (zh) 基于区块链的农产品溯源方法、系统、设备及存储介质
CN111488372A (zh) 一种数据处理方法、设备及存储介质
CN111915301A (zh) 基于区块链的数据处理方法、装置、电子设备及可读介质
CN111381863B (zh) 基于区块链技术的app交易及自动化上线方法及上线系统
JP2024510684A (ja) ブロックチェーンを介した閲覧証明のためのシステムおよび方法
CN110727948B (zh) 智能合约审计方法、装置、计算机设备及存储介质
US20230306128A1 (en) Systems and methods for using secure, encrypted communications across distributed computer networks to provide variable resiliency when indexing blockchain states for performing blockchain operations in decentralized applications using cryptography-based digital repositories
US20230269091A1 (en) Systems and methods for maintaining secure, encrypted communications across distributed computer networks by linking cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
CN107357588B (zh) 目标代码生成方法及装置
US20210358013A1 (en) Processing documents
CN113129008B (zh) 数据处理方法、装置、计算机可读介质及电子设备
US20230421570A1 (en) Accessing data on a blockchain with proof of data verification
US20230269084A1 (en) Systems and methods for selecting secure, encrypted communications across distributed computer networks for cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
US20230269086A1 (en) Systems and methods for using secure, encrypted communications across distributed computer networks to efficiently index blockchain states for performing blockchain operations in decentralized applications using cryptography-based digital repositories
US20230269085A1 (en) Systems and methods for using secure, encrypted communications across distributed computer networks to efficiently update cryptography-based digital repositories for performing blockchain operations in decentralized applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant