区块链创建版式文件的方法、装置、电子设备及存储介质

文档序号:68867 发布日期:2021-10-01 浏览:27次 >En<

阅读说明:本技术 区块链创建版式文件的方法、装置、电子设备及存储介质 (Method and device for creating layout file by block chain, electronic equipment and storage medium ) 是由 青龙生 龙玲 刘明霞 于 2021-07-08 设计创作,主要内容包括:本发明公开了区块链创建版式文件的方法、装置、电子设备及存储介质,方法包括S1,区块链节点接收版式文件生成指示,包括版式文件内容信息和设置参数;S2,区块链节点根据版式文件生成指示,触发智能合约;S3,智能合约根据设置参数设置文档属性,将版式文件内容信息写入设置属性的文档中,生成版式文件,包括如下步骤:S4,对版式文件进行编码;S5,将编码后的版式文件,进行存储;装置包括依次连接的收发单元、处理单元、加密单元、存储单元;电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器运行所述方法的可执行指令;存储介质,其上存储有计算机指令,计算机指令被处理器执行时,实现所述方法的步骤。(The invention discloses a method and a device for creating a format file by a block chain, electronic equipment and a storage medium, wherein the method comprises S1, a block chain link receives a format file generation instruction, and the format file generation instruction comprises format file content information and setting parameters; s2, generating an instruction according to the format file by the block link points, and triggering an intelligent contract; s3, the intelligent contract sets the document attribute according to the setting parameter, writes the format file content information into the document with the setting attribute, generates the format file, including the following steps: s4, encoding the layout file; s5, storing the coded layout file; the device comprises a transmitting-receiving unit, a processing unit, an encryption unit and a storage unit which are connected in sequence; the electronic device includes: a processor, a memory for storing processor-executable instructions; the processor executes the executable instructions of the method; a storage medium having stored thereon computer instructions which, when executed by a processor, perform the steps of the method.)

区块链创建版式文件的方法、装置、电子设备及存储介质

技术领域

本发明涉及区块链

技术领域

,尤其是涉及区块链创建版式文件的方法、装置、电子设备及存储介质。

背景技术

区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。

随着云计算、大数据、人工智能的发展,少数具有垄断的地位的软件商在为用户提供创建版式文件服务的同时,也在收集着用户的行为习惯甚至隐私数据,刻画所谓的用户画像。

民事活动中的合同或者其他文件、单证等文书,越来越多的采用数据电文显示、交换和存储。但由于电子合同、发票、保单、病历、回单、账单、通知等对合法性、可靠性、安全性具有较高要求,电子文档的可信度变得非常重要。如何能够可靠地保证电子文档自最终形成时起,内容保持完整、未被更改,成为需要解决的关键问题。

在实际生活中,一份电子合同普遍需要需要以下操作:

步骤一,下载、安装、启动Microsoft Word或WPS Office等客户端软件;

步骤二,通过前述客户端软件新建流式文档,在其界面编辑文本内容;

步骤三,将前述流式文档转换为PDF或OFD格式的版式文档;

步骤四,将PDF或OFD格式的版式文档上传到第三方签约平台进行电子签名。

而在整个流程中,涉及多方操作,中间过程较为繁琐,且部分操作环境存在脱离用户操作与服务器进行交互后再将结果内容返回给用户,因而难以保障文档的信息安全。

基于此,用户需要一种效率更高、成本更低、更加安全可靠的技术,自用户编辑完内容发起请求起至电子文档最终形成时,便构建起电子文档的可信环境。

发明内容

为解决现有技术的不足,实现提高电子文档可信度、保证电子文档自发起请求起至最终形成时,内容操持完整、未被更改的目的,本发明采用如下的技术方案:

区块链创建版式文件的方法,包括如下步骤:

S1,区块链节点接收用户授权应用端向区块链节点发送的版式文件生成指示,包括版式文件内容信息和设置参数;

S2,区块链节点根据版式文件生成指示,触发智能合约;所述区块链节点,根据接收到的版式文件内容信息的不同类型,触发智能合约中不同的创建单元;

S3,智能合约根据设置参数设置文档属性,将版式文件内容信息写入设置属性的文档中,生成版式文件;设置参数包括:版式文件的边距、页眉、页脚、水印、页面方向、尺寸、标题、文档作者、关键词、元数据和文档安全性设置等,文档安全性设置如:打印、注释、签名等;所述版式文件是PDF文件;

S4,对版式文件进行Base64编码;版式文件本身很难直接存储在区块链的账本中,因此先经过Base64编码后,将其编码后的内容存入区块链账本中,同时又起到了加密的效果,生成版式文件的密文;

S5,区块链节点将编码后的版式文件,采用对称加密和/或非对称加密的方法进行加密,并进行存储。存储于区块链节点,和/或分布式存储系统,和/或返回给应用端。

进一步地,所述S3包括如下步骤:

S311,智能合约调用其创建单元,接收版式文件内容信息和设置参数;

S312,智能合约调用其校验单元,对版式文件内容信息和设置参数进行合法性校验;

S313,如果合法性校验通过,智能合约调用其设置单元,根据设置参数,对版式文件的属性进行设置;

S314,智能合约调用其转换逻辑,根据设置的属性,将版式文件内容信息转换为版式文件。

现有版式文件创建,主要针对PDF格式的,通常需要通过PDF转换格式,软件上,如WPS、Word、HTML、Text、Image、RTF、XPS等文档格式,是通过流式文件转换为版式文件,但都不是通过区块链智能合约进行的。

进一步地,所述区块链节点直接获取一组文档,如:doc/docx、xls/xlsx、ppt/pptx、jpg、tif、pdf、gif、png、cad、html文件中的一种或多种,通过所述区块链节点上的智能合约进行转换,生成PDF格式的版式文件。

进一步地,版式文件的生成,包括如下步骤:

S321,智能合约调用其上传单元,接收所述文档,所述文档的信息是由应用端将文件进行Base64编码后的内容;

S322,智能合约调用其校验单元,对经过Base64编码后的文档进行校验,通过将文档内容转换为字节数组,对文档信息(格式及大小等)进行合法性校验;

S323,如果合法性校验通过,智能合约调用其转换单元,将文档内容转换为版式文件。

进一步地,所述智能合约调用其存储单元,对版式文件进行Base64编码,并将编码后的版式文件写入区块链节点的账本中。

进一步地,所述的设置参数,由智能合约预置在区块链节点上,生成版式文件时,读取预置的设置参数。

进一步地,所述S5中,将编码后的版式文件进行数据分割,控制区块链中单笔交易的大小,将分割后的子集存储在区块链节点的账本中,并将文件本身或者存储文件的路径和/或标识(如交易Hash、文件ID)等返回给请求方。在实际业务中,通常是将生成的文件进行存储,目前,主流领域都是将“文件”本身存储在传统服务器中的,如OSS对象存储、NAS文件存储,也在基于区块链技术探索研究IPFS分布式文件系统,但均未将文件直接存储在区块链上;而将文件直接存储在区块链上存如下问题:区块链是由一个“块”一个“块”连起来的,每个“块”里面又存了若干“交易”,在配置区块链时,会对交易的条数和/或块的大小做限制,并不会允许无限大的内容存储,因此,通过一定规则对要存储的内容进行分割,就可以更好的符合“块”的设置来存放内容。

进一步地,将编码后的版式文件进行等比分割,总的大小为X个单位,等比分割为Y笔交易进行存储,每笔交易存储的大小为Z个单位,其中,Y≤X,Z=X/Y,当X/Y不为整数时,Z向上取整,即第1至Y-1笔交易存储大小均为Z,而第Y笔交易存储大小为X-Z*(Y-1),例如:文件总大小X=10,需要分为Y=3笔交易存储,则Z=X/Y=4(向上取整),第1笔存4,第二笔存4,第三笔存X-Z*(Y-1)=2,将分割后的子集存储在区块链节点的账本中。

进一步地,所述S1中的版式文件内容信息,是采用SaaS服务提供的富文本编辑器进行内容编辑,生成的标记语言,例如:由HTML语言、XHTML语言构成的代码片段等。

区块链创建版式文件的装置,用于区块链节点,所述装置包括:

收发单元,包括发送和接收单元,所述发送单元用于向区块链节点发送版式文件生成指示,包括版式文件内容信息和设置参数;所述接收单元,用于接收版式文件生成指示,包括待生成版式文件的信息包括doc/docx、xls/xlsx、ppt/pptx、jpg、tif、pdf、gif、png、cad、html等文件中的一种或多种;所述待生成版式文件的信息也可以是由JSON、XML等非文件的轻量级数据交换格式组合的内容;

处理单元,根据接收的版式文件生成指示,通过设置参数设置文档属性,将版式文件内容信息写入设置属性的文档中,生成版式文件;

加密单元,对生成的版式文件进行加密处理,所述加密处理优先采用Base64编码对版式文件进行加密;所述加密处理,还可以进一步采用对称和/或非对称加密方式进行加密处理;

存储单元,将编码后的版式文件,进行存储。可以将所述版式文件存储在所述区块链节点上;还可以将前述版式文件存储在分布式存储系统中,将版式文件的数字摘要存储在所述区块链节点的账本中;所述存储单元,还可以将版式文件返回给请求交易的应用端,由应用端将前述版式文件存储另行存储,将版式文件的数字摘要和文件存储路径存放在所述区块链节点的账本中。

区块链创建版式文件的电子设备,包括:处理器,用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述方法的可执行指令,以实现入第一方面所述的方法。

区块链创建版式文件的计算机可读存储介质,其上存储有计算机指令,其特征在于所述计算机指令被处理器执行时,实现所述方法的步骤。

本发明的优势和有益效果在于:

本发明通过区块链创建版式文件,为创建如PDF类的版式文件拓展了创建的途径,通过加密技术对版式文件进行数据防泄漏处理,同时将生成的文件内容上链,真正利用区块链的去中心化、防篡改性,使版式文件的内容得到保护,且基于智能合约的版式文件创建结合版式文件上链,使基于区块链的可编辑版式文件成为可能,同时,可编辑的版式文件的初始创建也不一定要智能合约创建,可以对其他形式创建的版式文件同样实现可编辑。

附图说明

图1是本发明的方法流程图。

图2是本发明的装置结构示意图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。

其中,去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。

私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。

联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。

基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。

随着电子化的普及,以电子合同、电子发票、电子保单、电子病历等应用为例,越来越多的信息需要编辑后生成版式文件,其中以PDF格式的版式文件最为普遍。然而,伴随着数字经济的发展,不法分子利用大数据、人工智能等技术私自存储用户的文档内容、窃取用户隐私。

如图1所示,本发明提供了一种基于区块链创建版式文件的方法,该方法应用于区块链节点,可以让用户通过应用端基于区块链创建版式文件。

1、通过富文本编辑文档内容,如标题、段落、图片等内容编辑;

2、获取编辑内容的HTML的代码段,向区块链节点发起交易请求;

3、区块链节点接收交易请求,触发智能合约调用HTML转换器,转换为PDF,包括:

(1)初始化一个PDF版式文件实例;

(2)设置边距;

(3)添加新页;

(4)自定义实例,包括字体、颜色等;

(5)在指定位置写入内容;

(6)保存电子文档;

4、采用Base64编码对PDF版式文件进行加密处理,将前述Base64编码后的密文存储在区块链的账本中。

本发明提供另一种实施例,由应用端上传doc/docx、xls/xlsx、ppt/pptx、jpg、tif、pdf、gif、png、cad、html等文件中的一种或多种文件,通过所述区块链节点上的智能合约进行处理,生成PDF格式的版式文件,例如针对HTML文件,包括:

(1)新建转换参数对象,并进行实例化;

(2)新建字体对象,并进行实例化;

(3)设置字体;

(4)读取内容到字符串;

(5)新建输出流,并进行实例化;

(6)调用HTML转换器,转换为PDF;

(7)关闭。

通常,智能合约创建的版式文件不便于直接存储,需要采用Base64编码对所述版式文件进行加密。

其中,经过Base64编码的版式文件密文,可以直接编译成可视化的文件。因此,有一种优选方式,如下:

采用对称加密和/或非对称加密对版式文件进行加密,从而对版式文件进行必要的信息安全保护。

如前所述,最终产生的版式文件需要返回给应用端供用户使用和/或存储在区块链账本中和/或分布式存储系统中。

如上所述,当将版式文件存储在区块链账本中时,考虑账本交易大小的限制,有一种优选方式,如下:

将版式文件进行数据分割,把分割后的子集分别存储在账本中,以此减少账本中单笔交易的大小。

在一实施例中,用户a需要与用户b签署采购合同。比如,应用c提供了一个基于区块链的文本编辑器,那么用户a直接在编辑器输入合同信息,诸如“a向b采购10台电脑,总金额10万元人民币整”,用户a编辑完内容后应用c向所述区块链发起交易,所述区块链通过智能合约创建版式文件,并将经过Base64编码后的版式文件内容返回给应用c。

如图2所示,一种基于区块链创建版式文件的装置,应用于区块链节点,所述装置包括:

收发单元,用于向区块链节点发送交易指示,所述交易指示包括向区块链节点发送交易;所述收发单元,还用于接收所述应用端发送的待生成版式文件的信息,所述待生成版式文件的信息包括doc/docx、xls/xlsx、ppt/pptx、jpg、tif、pdf、gif、png、cad、html等文件中的一种或多种;所述待生成版式文件的信息也可以是由JSON、XML等非文件的轻量级数据交换格式组合的内容。

处理单元,根据交易请求,将所述目标交易待生成版式文件的信息,生成版式文件;

加密单元,对生成的版式文件进行加密处理,所述加密处理优先采用Base64编码对版式文件进行加密;所述加密处理,还可以进一步采用对称和/或非对称加密方式进行加密处理;

存储单元,将所述版式文件存储在所述区块链节点上。所述存储单元,还可以将前述版式文件存储在分布式存储系统中,将版式文件的数字摘要存储在所述区块链节点的账本中;所述存储单元,还可以将版式文件返回给请求交易的应用端,由应用端将前述版式文件存储另行存储,将版式文件的数字摘要和文件存储路径存放在所述区块链节点的账本中。

一种基于区块链创建版式文件的电子设备,包括:处理器,用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现入第一方面所述的方法。

一种基于区块链创建版式文件的计算机可读存储介质,其上存储由计算机指令,该指令被处理器执行时实现入第一方面所述方法的步骤。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:文件校验的方法、装置、电子设备和计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!