文档处理方法及电子设备
文献发布时间:2024-04-18 19:58:21
技术领域
本发明涉及信息处理技术领域,尤其涉及一种文档处理方法及电子设备。
背景技术
区块链的智能合约是实现各个应用场景的业务逻辑的关键载体。区块链因其可追溯、防篡改的特点,常用于商业合作、审批等场景,智能合约就是实现商业合同、审批等法律文书的逻辑所在。智能合约能否可信地表达法律文书的逻辑,显得至关重要。
目前,在生成智能合约的过程中,法律文书为初始合约文书,可借助编译工具或转换工具对法律文书进行一步或多步转换,在转换过程中,中间可生成一个或多个转换文档,且这些转换文档有先后生成顺序,即当前文档是根据其前一个生成的文档转换生成,直到生成最终的智能合约代码。然而,通过目前这种方法,从法律文书到智能合约代码的转换过程是单向不可逆的,即使某个文档(例如,法律文书、中间的转换文档或智能合约代码)被篡改也无法知晓,该文档中可能包含被篡改后的内容,对其进行文档转换生成下一个文档或对其存储,容易导致生成的文档或存储的文档的可信度较低。
发明内容
本发明实施例提供一种文档处理方法及电子设备,以解决现有文档可信度较低的问题。
为解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种文档处理方法,所述方法包括:
在接收到针对待处理文档的验证请求的情况下,计算所述待处理文档的第一验证信息以及从第一区块链获取所述待处理文档的第二验证信息,所述待处理文档包括初始合约文书、由所述初始合约文书转换生成的转换文档或由所述初始合约文书转换生成的智能合约代码;
基于所述待处理文档的第一验证信息以及所述待处理文档的第二验证信息进行文档验证,确定目标验证结果;
在所述目标验证结果表示验证通过的情况下,若所述待处理文档为所述初始合约文书或所述转换文档,对所述待处理文档进行转换生成所述待处理文档的下一个文档,或者若所述待处理文档为所述智能合约代码,将所述智能合约代码发送至第二区块链。
第二方面,本发明实施例提供一种电子设备,包括:
第一处理模块,用于在接收到针对待处理文档的验证请求的情况下,计算所述待处理文档的第一验证信息以及从第一区块链获取所述待处理文档的第二验证信息,所述待处理文档包括初始合约文书、由所述初始合约文书转换生成的转换文档或由所述初始合约文书转换生成的智能合约代码;
第一确定模块,用于基于所述待处理文档的第一验证信息以及所述待处理文档的第二验证信息进行文档验证,确定目标验证结果;
第二处理模块,用于在所述目标验证结果表示验证通过的情况下,若所述待处理文档为所述初始合约文书或所述转换文档,对所述待处理文档进行转换生成所述待处理文档的下一个文档,或者若所述待处理文档为所述智能合约代码,将所述智能合约代码发送至第二区块链。
第三方面,本发明实施例提供一种电子设备,包括收发机和处理器,
所述处理器,用于在接收到针对待处理文档的验证请求的情况下,计算所述待处理文档的第一验证信息,所述待处理文档包括初始合约文书、由所述初始合约文书转换生成的转换文档或由所述初始合约文书转换生成的智能合约代码;
所述收发机,用于从第一区块链获取所述待处理文档的第二验证信息;
所述处理器,用于基于所述待处理文档的第一验证信息以及所述待处理文档的第二验证信息进行文档验证,确定目标验证结果;
所述处理器,用于在所述目标验证结果表示验证通过的情况下,若所述待处理文档为所述初始合约文书或所述转换文档,对所述待处理文档进行转换生成所述待处理文档的下一个文档,或者若所述待处理文档为所述智能合约代码,将所述智能合约代码发送至第二区块链。
第四方面,本发明实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述第一方面所述的文档处理方法的步骤。
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的文档处理方法的步骤。
在本实施例的文档处理方法中,由于可对待处理文档进行验证,在验证过程中,通过计算的待处理文档的第一验证信息以及从第一区块链获取的待处理文档的第二验证信息进行验证,是在验证通过的情况下,对待处理文档进行转换生成下一个文档或将其发送至第二区块链存储,这样,可提高生成的下一个文档的可信度或提高存储至第二区块链的文档的可信度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文档处理方法的流程图;
图2是本发明实施例提供的文档处理方法的原理图;
图3是本发明实施例提供的一种文档处理方法的交互图之一;
图4是本发明实施例提供的一种文档处理方法的交互图之二;
图5是本发明实施例提供的验证信息计算原理图;
图6是本发明实施例提供的一种电子设备的模块示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的一种文档处理方法的流程图,由电子设备执行,其中,电子设备可以是终端,也可以是网络设备。如图1所示,本实施例提供的文档处理方法包括以下步骤:
步骤101:在接收到针对待处理文档的验证请求的情况下,计算待处理文档的第一验证信息以及从第一区块链获取待处理文档的第二验证信息。
待处理文档包括初始合约文书、由初始合约文书转换生成的转换文档或由初始合约文书转换生成的智能合约代码。
初始合约文书可以理解是法律文书,对初始合约文书进行转换得到一个转换文档,该转换文档为由初始合约文书进行一步转换得到,该转换文档则为初始合约文书的下一个文档,初始合约文书为该转换文档的前一个文档,该转换文档进行进一步转换可得到该转换文档的下一个文档,若得到的该下一个文档不为智能合约代码,则该下一个文档也可以称为转换文档,是由初始合约文书经过两步转换得到,可对其进行进一步转换,得到其下一个文档,这样依次转换,最终可生成智能合约代码。可以理解,由初始合约文书转换生成的转换文档可以是初始合约文书到智能合约代码之间的中间转换文档中的任意文档,即是由初始合约文书进行至少一步转换得到的转换文档,智能合约代码可以理解是由最后生成的转换文档进行转换得到的文档。需要说明的是,本发明实施例中,可通过编译工具或转换工具对文档进行转换,而编译工具或转换工具有多种,在本实施例中,对文档进行转换采用的工具不作具体限定。
在文档转换过程中,由于文档可能被篡改导致该文档或由该文档转换生成的下一个文档可信度较差,从而,在本实施例中,可对文档进行验证,验证的文档可以是初始合约文书、转换文档或智能合约代码。在本实施例中,在接收到对待处理文档的验证请求的情况下,即可对待处理文档进行验证,在验证过程中,首先,可计算待处理文档的第一验证信息,并从第一区块链中获取待处理文档的第二验证信息,可以理解,待处理文档的第二验证信息预先存储在第一区块链。
步骤102:基于待处理文档的第一验证信息以及待处理文档的第二验证信息进行文档验证,确定目标验证结果。
可通过待处理文档的第一验证信息与待处理文档的第二验证信息进行文档验证,得到目标验证结果,目标验证结果可包括表征验证通过的验证结果或表征验证不通过的验证结果。可以理解是验证文档是否被篡改,验证通过,可表示文档验证未被篡改,验证不通过,可表示文档验证被篡改。
步骤103:在目标验证结果表示验证通过的情况下,若待处理文档为初始合约文书或转换文档,对待处理文档进行转换生成待处理文档的下一个文档,或者若待处理文档为智能合约代码,将智能合约代码发送至第二区块链。
在验证通过的情况下,可表示待处理文档未被篡改过,是可信度较高的文档,可对待处理文本进行下一步处理,例如,若待处理文本为初始合约文书或转换文本,则可对初始合约文书或转换文档进行下一步的转换得到下一个文档,若待处理文本为智能合约代码,则可将智能合约代码存储至第二区块链。
在本实施例的文档处理方法中,由于可对待处理文档进行验证,在验证过程中,通过计算的待处理文档的第一验证信息以及从第一区块链获取的待处理文档的第二验证信息进行验证,是在验证通过的情况下,对待处理文档进行转换生成下一个文档或将其发送至第二区块链存储,这样,可提高生成的下一个文档的可信度或提高存储至第二区块链的文档的可信度。
在一个实施例中,基于待处理文档的第一验证信息以及待处理文档的第二验证信息进行文档验证,确定目标验证结果,包括:
将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对;
在待处理文档的第一验证信息与待处理文档的第二验证信息匹配的情况下,计算待处理文档的前一个文档的第一验证信息以及从第一区块链获取待处理文档的前一个文档的第二验证信息;
将前一个文档作为待处理文档,返回将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对的步骤重新进行比对,直到初始合约文书的第一验证信息与初始合约文书的第二验证信息比对完毕且匹配,得到表示验证通过的目标验证结果。
需要说明的是,文档是由其前一个文档转换生成,文档进行转换生成该文档的下一个文档。在本实施例的文档验证过程中,首先将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对,若待处理文档的第一验证信息与待处理文档的第二验证信息匹配,需进一步验证待处理文档的前一个文档,验证过程类似,即将待处理文档的前一个文档的第一验证信息与待处理文档的前一个文档的第二验证信息进行比对,若待处理文档的前一个文档的第一验证信息与待处理文档的前一个文档的第二验证信息匹配,再进一步验证该前一个文档的前一个文档,这样依次往回追溯,直到初始合约文书的第一验证信息与初始合约文书的第二验证信息比对完毕,且初始合约文书的第一验证信息与初始合约文书的第二验证信息匹配,此时,即可得到表示验证通过的目标验证结果。需要说明的是,在本实施例中,验证通过的情况下,可表示待处理文档以及待处理文档之前的文档均未被篡改,得到表示验证通过的目标验证结果。另外,对于初始合约文书,因在其之前没有转换过程,即初始合约文书不是转换得到的文档,可以采用默认文档作为初始合约文书的前一个文档,例如,默认文档可以为空文档,或者默认文档可以是初始合约文书等。
可以理解,例如,将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对为步骤S1,在待处理文档的第一验证信息与待处理文档的第二验证信息匹配的情况下,计算待处理文档的前一个文档的第一验证信息以及从第一区块链获取待处理文档的前一个文档的第二验证信息为步骤S2,将前一个文档作为待处理文档为步骤S3,可重复执行步骤S1-S3,直到初始合约文书的第一验证信息与初始合约文书的第二验证信息比对完毕且匹配,得到表示验证通过的目标验证结果。
一个示例中,待处理文档的第一验证信息与待处理文档的第二验证信息匹配,可以是待处理文档的第一验证信息与待处理文档的第二验证信息相同。
在本实施例中,在对待处理文档验证的过程中,不但需对待处理文档进行验证,还需对待处理文档之前的文档进行验证,在待处理文档到初始合约文书均比对通过的情况下,得到表示验证通过的目标验证结果,这样,可提高文档验证的精确性。
在一个实施例中,方法还包括:
在待处理文档的第一验证信息与待处理文档的第二验证信息不匹配的情况下,得到表示验证未通过的目标验证结果。
由于在文档验证过程中,首先将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对,若待处理文档的第一验证信息与待处理文档的第二验证信息不匹配,无需再往回追溯,即无需对待处理文档之前的文档进行验证,得到未通过的目标验证结果即可,减少计算量。
需要说明的是,若目标验证结果表征验证不通过,表示文档可能被篡改,此时,不对待处理文档进行下一步转换或存储,可输出验证不通过的提示信息,以提醒用户。
在一个实施例中,从第一区块链中获取待处理文档的第二验证信息之前,还包括:
在对待处理文档的前一个文档进行转换得到待处理文档的情况下,计算待处理文档的第二验证信息;
将待处理文档的第二验证信息发送至第一区块链。
也即是在对待处理文档的前一个文档进行转换得到待处理文档后,即可计算待处理文档的第二验证信息,并将其发送至第一区块链存储,以便后续需要对待处理文档进行验证的情况下,可从第一区块链中获取其对应的第二验证信息,用于文档验证,从而,可便于进行对待处理文档进行验证。
在一个实施例中,计算待处理文档的第一验证信息,包括:
基于待处理文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,计算待处理文档的第一子验证信息,第一子验证信息包括第一摘要和第一签名中的至少一项;
利用第一目标文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,计算待处理文档的第二子验证信息,第二子验证信息包括第一关联摘要和第一关联签名中的至少一项,第一目标文档包括待处理文档以及待处理文档的前一个文档。
需要说明的是,若待处理文档为转换文档或智能合约代码,待处理文档关联的操作者可以理解是转换得到待处理文档采用的转换工具的使用者,即是该使用者输出待处理文档,若待处理文档为初始合约文书,待处理文档关联的操作者可以理解是传入初始合约文书的用户。其中,属性信息可以包括但不限于元数据等。可以理解,第一验证信息包括第一子验证信息以及第二子验证信息。
在本实施例中,不但需要计算待处理文档的包括第一摘要和第一签名中的至少一项的第一子验证信息,还需要计算待处理文档与待处理文档的前一个文档之间的关联验证信息,即包括第一关联摘要和第一关联签名中的至少一项的第二子验证信息。可采用待处理文档的内容信息、待处理文档的属性信息和待处理文档关联的操作者的数字证书中的至少一项计算第一子验证信息,可采用第一目标文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,计算待处理文档的第二子验证信息。一个示例中,可通过待处理文档的内容信息以及待处理文档的属性信息,计算待处理文档的第一摘要,通过待处理文档的内容信息、待处理文档的属性信息和待处理文档关联的操作者的数字证书计算待处理文档的第一签名,可通过第一目标文档的内容信息以及第一目标文档的属性信息,计算待处理文档的第一关联摘要,通过第一目标文档的内容信息、第一目标文档的属性信息和待处理文档关联的操作者的数字证书计算待处理文档的第一关联签名。
在本实施例中,由于在计算第一子验证信息的过程中,采用了待处理文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,在计算第二子验证信息的过程中,采用了第一目标文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,这样,可提高验证信息计算的精确性。
在一个实施例中,生成待处理文档的下一个文档之后,还包括:
计算待处理文档的下一个文档的第二验证信息;
将待处理文档的下一个文档的第二验证信息发送至第一区块链。
也即是在对待处理文档进行转换得到待处理文档的下一个文档后,即可计算待处理文档的的下一个文档的第二验证信息,并将其发送至第一区块链存储,以便后续需要对待处理文档的下一个文档进行验证的情况下,可从第一区块链中获取待处理文档的下一个文档对应的第二验证信息,用于文档验证,从而,可便于进行文档验证。
在一个实施例中,计算待处理文档的下一个文档的第二验证信息,包括:
基于下一个文档的内容信息、属性信息和下一个文档关联的操作者的数字证书中的至少一项,计算下一个文档的第三子验证信息,第三子验证信息包括第二摘要和第二签名中的至少一项;
利用第二目标文档的内容信息、属性信息和下一个文档关联的操作者的数字证书中的至少一项,计算下一个文档的第四子验证信息,第四子验证信息包括第二关联摘要和第二关联签名中的至少一项,第二目标文档包括待处理文档的下一个文档以及待处理文档。
需要说明的是,上述下一个文档关联的操作者可以理解是转换得到该下一个文档采用的转换工具的使用者。可以理解,第二验证信息包括第三子验证信息以及第四子验证信息。另外需要说明的是,第一验证信息与第二验证信息的类型相同,例如,第一验证信息包括第一摘要,则第二验证信息包括第二摘要,第一验证信息包括第一签名,则第二验证信息包括第二签名,第一验证信息包括第一关联摘要,则第二验证信息包括第二关联摘要,第一验证信息包括第一关联签名,则第二验证信息包括第二关联签名。
在本实施例中,不但需要计算待处理文档的包括第一摘要和第一签名中的至少一项的第一子验证信息,还需要计算待处理文档与待处理文档的前一个文档之间的关联验证信息,即包括第一关联摘要和第一关联签名中的至少一项的第二子验证信息。可采用待处理文档的内容信息、待处理文档的属性信息和待处理文档关联的操作者的数字证书中的至少一项计算第一子验证信息,可采用第一目标文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,计算待处理文档的第二子验证信息。一个示例中,可通过待处理文档的下一个文档的内容信息以及待处理文档的下一个文档的属性信息,计算待处理文档的下一个文档的第二摘要,通过待处理文档的下一个文档的内容信息、待处理文档的下一个文档的属性信息和待处理文档的下一个文档关联的操作者的数字证书计算待处理文档的下一个文档的第二签名,可通过第二目标文档的内容信息以及第二目标文档的属性信息,计算待处理文档的下一个文档的第二关联摘要,通过第二目标文档的内容信息、第二目标文档的属性信息和待处理文档的下一个文档关联的操作者的数字证书计算待处理文档的下一个文档的第二关联签名。
在本实施例中,由于在计算第三子验证信息的过程中,采用了待处理文档的下一个文档内容信息、待处理文档的下一个文档的属性信息和待处理文档的下一个文档关联的操作者的数字证书中的至少一项,在计算第四子验证信息的过程中,采用了第二目标文档的内容信息、第二目标文档的属性信息和待处理文档的下一个文档关联的操作者的数字证书中的至少一项,这样,可提高验证信息计算的精确性。
以下结合示例对本实施例提供的文档处理方法进行说明,以初始合约文书为法律文书为例。
由于从法律文书到智能合约代码的档转化过程通常是单向不可逆的,例如从中间版本的转换文档转换到智能合约代码后,不能从智能合约代码转换回转换文档,进而不能逆推转换回法律文书。如果在转换过程中,某个文档被人为篡改,因为不能逆推回法律文书,下游环节无从知晓是否发生了篡改。这样,容易导致生成的智能合约代码可能包含“被篡改后”的逻辑。这样的智能合约代码发布到区块链后,区块链用户不明真相,还会认为该智能合约代码是由法律文书转换而来,而误以为这个智能合约代码可信、如实反映了最初的法律文书的要求,而实际上智能合约代码可能包括“被篡改后”的逻辑,其可信度可能较低,不能如实反映最初的法律文书的要求。本发明实施例提出的文档处理方法,可对文档进行验证,即验证文档是否被篡改,是在验证通过的情况下(可表示文档未被篡改),进行下一步的转换或存储过程,从而可提高文档的可信度。
本发明实施例的文档处理方法的整体思路为:如何确保智能合约代码可信、如实反映法律文书的要求,即需要满足以下两个条件:
对于从法律文书到智能合约代码的每个转换步骤:
1、每个步骤都可信:每个步骤的文档由可信的作者(操作者)实施,并且实施后未篡改过;
2、每个步骤与前一个步骤的关联都可信。
如果从某个步骤开始,向法律文书的方向,均满足上述条件,直至最初的法律文书,形成可信的追溯链条,则可以确定这个步骤的文档如实、可信地反映了最初的法律文书的意图。
本发明实施例的文档处理方案的整体概括如下:
首先,需要部署转换追踪区块链(即第一区块链)。
其次,对于从法律文书到智能合约代码的转换过程中的所有文档(包括初始的法律文书、每个转换步骤输出的中间版本的转换文档、以及智能合约代码),在实施每一个文档的转换时,都需确保满足以下条件:
1、每个文档转换步骤都可信:
计算该文档的第二摘要,并利用该文档关联的作者的数字证书计算第二签名;
将该文档的第二摘要和第二签名上传到转换追踪区块链上进行存储。
2、每个文档转换步骤的文档与前一个步骤的文档建立可信关联:
将该文档与前一个步骤的文档关联后,计算该文档的前向关联摘要(即第二关联摘要),并用该文档关联的作者的数字证书对关联后的两个文档计算前向关联签名(即第二关联签名);
将第一关联摘要和第一关联签名上传至转换追踪区块链上进行存证。
然后,在需要验证某个步骤的文档是否可信的情况下,进行以下验证过程:
(1)从转换追踪区块链上取出与该步骤的文档相关的存证数据,即该文档的第二摘要、第二签名、第二关联摘要和第二关联签名;
(2)验证该步骤的文档是否可信,即对于该步骤的文档,计算对应的第一摘要、第一签名,并与从转换追踪区块链上取回的第二摘要、第二签名进行核对;
(3)验证该步骤的文档与前一个步骤的文档之间的关联可信,可利用该步骤的文档和前一个步骤的文档,计算该步骤的文档的前向关联摘要(即第一关联摘要)、前向关联签名(即第一关联签名),并与从转换追踪区块链上取回的第二关联摘要、第二关联签名进行核对;
(4)、上溯该步骤的前一个步骤,反复执行步骤(1)~(3),直至最初的法律文书;
需要说明的是,对于从初始法律文书到某个步骤的文档,其中的所有步骤的文档都满足上述可信要求,则表明从初始法律文书到该个步骤的文档是可信的。
如图2所示,为本发明实施例的文档处理方法的原理图,首先,获取法律文书v0,法律文书v0输入校验工具,校验工具可进行法律文书v0的第二摘要v0_Hash-1、第二签名v0_Sign-1、第二关联摘要v0_Hash-2和第二关联签名v0_Sign-2的计算,需要说明的是,在计算法律文书v0的第二关联摘要和第二关联签名过程中,法律文书v0的前一个文档可以采用默认文档。然后将v0_Hash-1、v0_Sign-1、v0_Hash-2和v0_Sign-2作为法律文书v0的存证数据(即法律文书v0的第二验证信息)发送至转换追踪区块链进行存储,以便后续验证过程中从转换追踪区块链中提取存储的法律文书v0的存证数据。
法律文书v0是自然语言表达的文书,通过转换工具z1对法律文书v0进行转换,得到转换文档v1,转换文档v1也可以理解是标记语言的文档,通过校验工具可进行转换文档v1的第二摘要v1_Hash-1、第二签名v1_Sign-1、第二关联摘要v1_Hash-2和第二关联签名v1_Sign-2的计算,将v1_Hash-1、v1_Sign-1、v1_Hash-2和v1_Sign-2作为存证数据发送至转换追踪区块链进行存储,以便后续验证过程中从转换追踪区块链中提取存储的转换文档v1的存证数据。通过转换工具z2对转换文档v1进行转换,得到转换文档v2,转换文档v2即是中间语言的文档,通过校验工具可进行转换文档v2的第二摘要v2_Hash-1、第二签名v2_Sign-1、第二关联摘要v2_Hash-2和第二关联签名v2_Sign-2的计算,将v2_Hash-1、v2_Sign-1、v2_Hash-2和v2_Sign-2作为存证数据发送至转换追踪区块链进行存储,这样循环,直到生成智能合约代码,计算智能合约代码的第二验证信息,并将其存储至转换追踪区块链。可以理解,转换工具vi可对转换文档vi-1进行转换得到转换文档vi,i为正整数,并对转换文档vi的第二验证信息进行计算并存储至转换追踪区块链,转换文档vi-1是转换文档vi的前一个文档,转换文档vi+1是转换文档vi的下一个文档。
需要说明的是,在上述文档转换过程中,需进行文档验证,即转换工具对文档进行转换之前,需要先通过校验工具对该文档进行校验,在校验通过的情况下,转换工具方可对该文档进行下一步的转换,以及在存储智能合约代码过程中,也需进行文档验证,即将智能合约代码存储至第二区块链之前,需要先通过校验工具对该智能合约代码进行校验,在校验通过的情况下,方可将其存储至第二区块链。另外,需要说明的是,法律文书、中间转换文档和智能合约代码的语言可均不相同,且中间转换文档之间的语言也可不相同。
例如,对于转换文档v2,作为待处理文档,在对其校验的而过程中,首先计算转换文档v2的第一验证信息,比如,第一摘要、第一签名、第一关联摘要和第一关联签名,从转换追踪区块链提取转换文档v2的存证数据,即转换文档v2的第二验证信息,比如,第二摘要、第二签名、第二关联摘要和第二关联签名,然后对第一验证信息与第二验证信息中同类型的信息分别进行对比,比如,第一摘要与第二摘要比对,第一签名与第二签名比对,第一关联摘要与第二关联摘要比对,第一关联签名与第二关联签名进行比对,在转换文档v2的第一验证信息与转换文档v2的第二验证信息相同的情况下,表示转换文档v2未被篡改,可信度较好,转换文档v2验证通过。然后往回追溯验证,即接着验证转换文档v2的前一个文档即转换文档v1,验证过程与验证转换文档v2的过程类似,即先计算转换文档v1的第一验证信息,从转换追踪区块链提取转换文档v1的存证数据,即转换文档v1的第二验证信息,比对转换文档v1的第一验证信息与转换文档v1的第二验证信息,在转换文档v1的第一验证信息与转换文档v1的第二验证信息相同的情况下,表示转换文档v1未被篡改,可信度较好,转换文档v1验证通过。再即接着验证法律文书v0的前一个文档即法律文书v0,验证过程与转换文档v1的过程类似,即先计算法律文书v0的第一验证信息,从转换追踪区块链提取法律文书v0的存证数据,即法律文书v0的第二验证信息,比对法律文书v0的第一验证信息与法律文书v0的第二验证信息,在法律文书v0的第一验证信息与法律文书v0的第二验证信息相同的情况下,表示法律文书v0未被篡改,可信度较好,法律文书v0验证通过。至此,转换文档v2到法律文书v0的文档均验证完毕且通过,可得到验证通过的目标验证结果,即可通过转换工具v3对转换文档v2进行转换得到其下一个文档,即得到转换文档v3。
如图3所示,为本发明实施例的文档处理方法的一个交互图,流程如下:
将文档vi-1传入转换工具zi。
转换工具zi向校验工具发送校验请求,以使校验工具启动查验,校验工具可计算该文档vi-1的第一摘要、第一签名、第一关联摘要和第一关联签名。
校验工具向转换追踪区块链发送信息提取请求,该信息提取请求用于请求文档vi-1的第二摘要vi-1_Hash-1、第二签名vi-1_Sign-1、第二关联摘要vi-1_Hash-2和第二关联签名vi-1_Sign-2,转换追踪区块链接收到该请求后,向校验工具返回文档vi-1的vi-1_Hash-1、vi-1_Sign-1、vi-1_Hash-2和vi-1_Sign-2。
校验工具进行文档验证,向转换工具zi返回目标验证结果。例如,校验工具比对文档vi-1的第一摘要和第二摘要vi-1_Hash-1、比对文档vi-1的第一签名和第二签名vi-1_Sign-1、比对文档vi-1的第一关联摘要和第二关联摘要vi-1_Hash-2以及比对文档vi-1的第一关联签名和第二关联签名vi-1_Hash-2,均一致的情况下,文档vi-1验证通过。为提高文档验证完整性,提高文档的可信度,在本实施例中,在文档vi-1验证通过后,若文档vi-1不为法律文书,则往回追溯验证,下一步验证其前一个文档,即验证vi-2,过程与验证vi-1过程类似,即计算文档vi-2的一摘要、第一签名、第一关联摘要和第一关联签名,并从转换追踪区块链获取文档vi-2的第二摘要vi-2_Hash-1、第二签名vi-2_Sign-1、第二关联摘要vi-2_Hash-2和第二关联签名vi-2_Sign-2,然后进行比对,若文档vi-2验证通过,且vi-2不为法律文书,再往回追溯验证,依次类推,直到法律文书验证完毕且验证通过,可得到表征验证通过的目标验证结果,将目标验证结果返回转换工具zi,转换工具zi即可对文档vi-1进行转换生成文档vi。需要说明的是,文档vi-1到法律文书中任一文档验证不通过,即可向转换工具zi发送表征验证不通过的验证结果,停止本次文档处理过程,本次验证结束,不进行该文档之前的文档的验证以及不对该文档进行下一步的转换和存储过程。
转换工具zi接收到表征验证通过的目标验证结果的情况下,对文档vi-1进行转换得到文档vi。
转换工具zi可启动上链存证,例如,转换工具zi可向校验工具发送存证请求,用于请求校验工具计算文档vi的第二验证信息并上传至转换追踪区块链。
校验工具接收存证请求后,可计算转换得到的文档vi的第二摘要vi_Hash-1和第二签名vi_Sign-1,并结合前一个文档vi-1,计算文档vi的第二关联摘要vi_Hash-2和第二关联签名vi_Sign-2。
校验工具将计算得到的文档vi的vi_Hash-2、vi_Sign-2、vi_Hash-2和、vi_Sign-2发送至转换追踪区块链存证。
转换工具zi输出的文档vi可交付给下一环节,例如,可交付给文档vi验证环节等。
如图4所示,一个实施例的校验工具对待验证文档vm(可以理解是待处理文档)进行验证的过程如下:
将待验证文档vm传入校验工具,以及将待验证文档vm的前一个文档vm-1传入校验工具,校验工具可计算待验证文档vm的第一摘要、第一签名、第一关联摘要和第一关联签名;
校验工具向转换追踪区块链请求待验证文档vm的第二摘要vm_Hash-2、第二签名vm_Sign-2、第二关联摘要vm_Hash-2和第二关联签名vm_Sign-2;
校验工具接收转换追踪区块链发送的待验证文档vm的vm_Hash-2、vm_Sign-2、vm_Hash-2和vm_Sign-2;
校验工具对文档vm进行验证,即将待验证文档vm的第一摘要与vm_Hash-2进行比对,将待验证文档vm的第一签名与vm_Sign-2进行比对,将待验证文档vm的第一关联摘要与vm_Hash-2进行对比,将待验证文档vm的第一关联签名与vm_Sign-2进行比对,实现对文档vm的验证,比对均一致的情况下,可确认文档vm验证通过,也即是可确认该文档vm是可信、忠实,在文档vm验证通过的情况下,若vm不是法律文书v0,即可往回追溯,进行文档vm的上一个文档vm-1的验证;
将文档vm-1的前一个文档vm-2传入校验工具,校验工具可计算vm-1的第一摘要、第一签名、第一关联摘要和第一关联签名;
校验工具向转换追踪区块链请求待验证文档vm-1的第二摘要vm-1_Hash-2、第二签名vm-1_Sign-2、第二关联摘要vm-1_Hash-2和第二关联签名vm-1_Sign-2;
校验工具接收转换追踪区块链发送的待验证文档vm-1的vm-1_Hash-2、vm-1_Sign-2、vm-1_Hash-2和vm-1_Sign-2;
校验工具对文档vm-1进行验证,即将待验证文档vm-1的第一摘要与vm-1_Hash-2进行比对,将待验证文档vm-1的第一签名与vm-1_Sign-2进行比对,将待验证文档vm-1的第一关联摘要与vm-1_Hash-2进行对比,将待验证文档vm-1的第一关联签名与vm-1_Sign-2进行比对,实现对文档vm-1的验证,比对均一致的情况下,可确认文档vm-1验证通过,也即是可确认该文档vm-1是可信的,在文档vm-1验证通过的情况下,若vm-1不是法律文书v0,即方可往回追溯,进行文档vm-1的上一个文档vm-2的验证;
将文档vm-2的前一个文档vm-3传入校验工具,后续即可对文档vm-2进行验证,验证过程与上述验证过程类似,依次往回追溯验证,直到法律文书v0验证完毕。文档vm到法律文书v0中的文档均验证通过,可得到表征验证通过的目标验证结果,实现文档验证。
对于转换追踪区块链:
可部署在设备1;
功能:提供存证服务;
存证对象可以包括每个智能合约的每一步转换输出文档的第二摘要、第二签名、第二关联摘要、第二关联签名,上链存证的数据的结构可如表1所示。
表1
对于校验工具,可部署在设备2,可以实现为以下任一种情况:
单独部署的设备;
作为设备,与转换工具合并设置;
作为设备,与转换追踪区块链合并设置(可以是与转换追踪区块链的部分节点合并设置);
实现为转换追踪区块链的智能合约;
上述情况的组合,例如部分功能实现为单独部署的设备、部分功能实现为转换追踪区块链的智能合约。
对于转换工具:
可部署在设备3,为支持可信地上链存证、验证等,可对校验工具进行配套的升级等。
如图5所示,在计算文档vi的摘要、签名的过程中,依赖文档vi的元数据和文档vi的内容,如图5中箭头1和箭头2,在计算文档vi的关联摘要的过程中,不但依赖文档vi的元数据和文档vi的内容,而且还依赖前一个文档vi-1的元数据和文档内容,如图5中的箭头3和箭头4,在计算文档vi的关联签名的过程中,不但依赖文档vi的元数据和文档vi的内容,而且还依赖前一个文档vi-1的元数据和文档内容,如图5中的箭头5和箭头6。需要说明的是,计算文档vi的关联摘要和关联签名的过程中,还需依赖文档vi关联的作者的数字证书。在本发明实施例中,元数据可以包括但不限于智能合约标识(ID)以及步骤标识,文档的步骤标识可以理解为生成该文档的步骤的标识。
在计算第一摘要或第二摘要的过程中,可采用第一摘要算法,也可称为第一哈希算法,在计算第一关联摘要或第二关联摘要的过程中,可采用第二摘要算法,也可称为第二哈希算法,在计算第一签名或第二签名的过程中,可采用第一签名算法,在计算第一关联签名或第二关联签名的过程中,可采用第二签名算法。
对于第一摘要算法:
用于计算文档的摘要,可用于保护数据完整性,摘要算法有多种,具体不作限定;
输入:文档的元数据和文档的内容;
输出:该文档的摘要。
对于第一签名算法:
利用文档的元数据、内容信息、文档关联的作者的数字证书,对该文档计算其签名,签名可用于判断该文档是否由特定的(真实可信的)作者输出,签名算法有多种,具体不作限定;
输入:文档关联的作者的数字证书、该文档的元数据和该文档的内容;
输出:该文档的签名。
对于第二摘要算法:
用于将文档与前一个文档关联起来,计算文档的关联摘要,计算得到的关联摘要可表示该文档与前一个文档之间的关联关系,可用于验证该文档与前一个文档之间的关联关系是否可信;
输入:文档的元数据、文档的内容、该文档的前一个文档的元数据和该文档的前一个文档的内容;
输出:该文档的关联摘要。
对于第二签名算法:
利用文档的元数据、内容信息、文档关联的作者的数字证书,对该文档计算其签名,签名可用于判断该文档是否由特定的(真实可信的)作者输出,需要说明的是,对于初始合约文书v0,因其没有前一个步骤,此时可以采用以下两种方法任一方式的文档作为v0的前一个文档:
(1)取缺省值的文档,如空值,或特定长度的全0字符串的文档等;或者
(2)初始合约文书;
输入:文档关联的作者的数字证书、文档的元数据、文档的内容、该文档的前一个文档的元数据和该文档的前一个文档的内容;
输出:该文档的关联签名。
通过上述实施例的文档处理方法,可对在生成智能合约代码过程中的文档进行验证,是在验证通过的情况下,方可对文档进行下一步的转换,或将智能合约代码存储至区块链,从而提高转换得到的文档或存储的文档的可信度。
如图6所示,图6是本发明实施例提供的一种电子设备的结构示意图,如图6所示,电子设备600包括:
第一处理模块601,用于在接收到针对待处理文档的验证请求的情况下,计算待处理文档的第一验证信息以及从第一区块链获取待处理文档的第二验证信息,待处理文档包括初始合约文书、由初始合约文书转换生成的转换文档或由初始合约文书转换生成的智能合约代码;
第一确定模块602,用于基于待处理文档的第一验证信息以及待处理文档的第二验证信息进行文档验证,确定目标验证结果;
第二处理模块603,用于在目标验证结果表示验证通过的情况下,若待处理文档为初始合约文书或转换文档,对待处理文档进行转换生成待处理文档的下一个文档,或者若待处理文档为智能合约代码,将智能合约代码发送至第二区块链。
在一个实施例中,第一确定模块,包括:
比对模块,用于将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对;
第一计算模块,用于在待处理文档的第一验证信息与待处理文档的第二验证信息匹配的情况下,计算待处理文档的前一个文档的第一验证信息以及从第一区块链获取待处理文档的前一个文档的第二验证信息;
文档处理模块,用于将前一个文档作为待处理文档;
通过比对模块重新执行将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对,通过计算模块重新执行在待处理文档的第一验证信息与待处理文档的第二验证信息匹配的情况下,计算待处理文档的前一个文档的第一验证信息以及从第一区块链获取待处理文档的前一个文档的第二验证信息,通过文档处理模块重新执行前一个文档作为待处理文档,直到初始合约文书的第一验证信息与初始合约文书的第二验证信息比对完毕且匹配,得到表示验证通过的目标验证结果。
在一个实施例中,装置还包括:
第二确定模块,用于在待处理文档的第一验证信息与待处理文档的第二验证信息不匹配的情况下,得到表示验证未通过的目标验证结果。
在一个实施例中,装置还包括:
第二计算模块,用于在对待处理文档的前一个文档进行转换得到待处理文档的情况下,计算待处理文档的第二验证信息;
第一发送模块,用于将待处理文档的第二验证信息发送至第一区块链。
在一个实施例中,第一处理模块,包括:
第三计算模块,用于基于待处理文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,计算待处理文档的第一子验证信息,第一子验证信息包括第一摘要和第一签名中的至少一项;
第四计算模块,用于利用第一目标文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,计算待处理文档的第二子验证信息,第二子验证信息包括第一关联摘要和第一关联签名中的至少一项,第一目标文档包括待处理文档以及待处理文档的前一个文档。
在一个实施例中,装置还包括:
第五计算模块,用于第二处理模块生成待处理文档的下一个文档之后,计算待处理文档的下一个文档的第二验证信息;
第二发送模块,用于将待处理文档的下一个文档的第二验证信息发送至第一区块链。
在一个实施例中,第五计算模块,包括:
第一子验证信息计算模块,用于基于下一个文档的内容信息、属性信息和下一个文档关联的操作者的数字证书中的至少一项,计算下一个文档的第三子验证信息,第三子验证信息包括第二摘要和第二签名中的至少一项;
第二子验证信息计算模块,用于利用第二目标文档的内容信息、属性信息和下一个文档关联的操作者的数字证书中的至少一项,计算下一个文档的第四子验证信息,第四子验证信息包括第二关联摘要和第二关联签名中的至少一项,第二目标文档包括待处理文档的下一个文档以及待处理文档。
本实施例提供的电子设备能实现上述文档处理方法的各实施例的各个过程,技术特征一一对应,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的程序,程序被处理器执行时实现上述文档处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图7,本发明实施例还提供了一种电子设备,包括总线701、收发机702、天线703、总线接口704、处理器705和存储器707。
其中,处理器705,用于在接收到针对待处理文档的验证请求的情况下,计算待处理文档的第一验证信息,待处理文档包括初始合约文书、由初始合约文书转换生成的转换文档或由初始合约文书转换生成的智能合约代码;
收发机702,用于从第一区块链获取待处理文档的第二验证信息;
处理器705,还用于:基于待处理文档的第一验证信息以及待处理文档的第二验证信息进行文档验证,确定目标验证结果;
处理器705,还用于在目标验证结果表示验证通过的情况下,若待处理文档为初始合约文书或转换文档,对待处理文档进行转换生成待处理文档的下一个文档,或者收发机702,还用于在目标验证结果表示验证通过的情况下,若待处理文档为智能合约代码,将智能合约代码发送至第二区块链。
在一个实施例中,处理器705,还用于:
将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对;
在待处理文档的第一验证信息与待处理文档的第二验证信息匹配的情况下,计算待处理文档的前一个文档的第一验证信息以及从第一区块链获取待处理文档的前一个文档的第二验证信息;
将前一个文档作为待处理文档;
重新执行将待处理文档的第一验证信息与待处理文档的第二验证信息进行比对,在待处理文档的第一验证信息与待处理文档的第二验证信息匹配的情况下,计算待处理文档的前一个文档的第一验证信息以及从第一区块链获取待处理文档的前一个文档的第二验证信息,将前一个文档作为待处理文档,直到初始合约文书的第一验证信息与初始合约文书的第二验证信息比对完毕且匹配,得到表示验证通过的目标验证结果。
在一个实施例中,处理器705,还用于:
在待处理文档的第一验证信息与待处理文档的第二验证信息不匹配的情况下,得到表示验证未通过的目标验证结果。
在一个实施例中,处理器705,还用于:
在对待处理文档的前一个文档进行转换得到待处理文档的情况下,计算待处理文档的第二验证信息;
收发机702,还用于将待处理文档的第二验证信息发送至第一区块链。
在一个实施例中,处理器705,还用于:
基于待处理文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,计算待处理文档的第一子验证信息,第一子验证信息包括第一摘要和第一签名中的至少一项;
利用第一目标文档的内容信息、属性信息和待处理文档关联的操作者的数字证书中的至少一项,计算待处理文档的第二子验证信息,第二子验证信息包括第一关联摘要和第一关联签名中的至少一项,第一目标文档包括待处理文档以及待处理文档的前一个文档。
在一个实施例中,处理器705,还用于:
第二处理模块生成待处理文档的下一个文档之后,计算待处理文档的下一个文档的第二验证信息;
收发机702,还用于将待处理文档的下一个文档的第二验证信息发送至第一区块链。
在一个实施例中,处理器705,还用于:
基于下一个文档的内容信息、属性信息和下一个文档关联的操作者的数字证书中的至少一项,计算下一个文档的第三子验证信息,第三子验证信息包括第二摘要和第二签名中的至少一项;
利用第二目标文档的内容信息、属性信息和下一个文档关联的操作者的数字证书中的至少一项,计算下一个文档的第四子验证信息,第四子验证信息包括第二关联摘要和第二关联签名中的至少一项,第二目标文档包括待处理文档的下一个文档以及待处理文档。
在图7中,总线架构(用总线701来代表),总线701可以包括任意数量的互联的总线和桥,总线701将包括由处理器705代表的一个或多个处理器和存储器707代表的存储器的各种电路链接在一起。总线701还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口704在总线701和收发机702之间提供接口。收发机702可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器705处理的数据通过天线703在无线介质上进行传输,进一步,天线703还接收数据并将数据传送给处理器705。
处理器705负责管理总线701和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器707可以被用于存储处理器705在执行操作时所使用的数据。
可选的,处理器705可以是CPU、ASIC、FPGA或CPLD。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述文档处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
- 一种医学文档的处理方法、装置、介质及电子设备
- 目录文档的操作方法、装置、电子设备、可读存储介质
- 对文档中的内容进行编辑的方法、装置、介质和电子设备
- 在线文档处理方法、在线文档处理装置和电子设备
- 文档处理方法、文档处理装置和电子设备