基于区块链的打印数据处理方法、系统及电子设备与流程

文档序号:31709755发布日期:2022-10-04 17:22阅读:116来源:国知局
基于区块链的打印数据处理方法、系统及电子设备与流程

1.本技术涉及区块链及打印技术领域,具体涉及一种基于区块链的打印数据处理方法、系统及电子设备。


背景技术:

2.相关技术中,区块链本质上是一个去中心化的数据库,最初限于货币类应用,随着区块链技术的不断发展,在区块链上部署智能合约,以实现在没有第三方参与的情况进行可信、可追踪且不可逆转的交易。智能合约是其中的重要组成部分,它是一套数字形式定义的合约,帮助合约参与方执行完成任务的协议。
3.由于区块链的实现机制,决定了区块链是一个封闭式的系统,运行在区块链网络中的智能合约也只能获取链内数据,而不能直接向外界请求获取数据,但在实际业务中,智能合约又有获取外部数据的需要。例如,在打印作业时,文件的数据内容或从文件所采集的数据内容,目前还不能作为区块链的可信数据被使用,也容易发生泄密问题。
4.因此,相关技术中,未能实现为区块链网络中的业务智能合约及其他服务提供可信的外部数据来源。


技术实现要素:

5.为克服相关技术中存在的问题,本技术提供一种基于区块链的打印数据处理方法、系统及电子设备,能够为区块链网络中的业务智能合约及其他服务提供可信的外部数据来源。
6.本技术第一方面提供一种基于区块链的打印数据处理方法,所述方法包括:
7.获取来自打印操作的数据内容,所述数据内容为规范化的设定格式数据;
8.对所述数据内容进行转换处理,获得转换处理后的数据内容和数据类型;
9.在判断出所述转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络进行背书申请,由所述区块链网络生成背书响应;
10.在接收到所述区块链网络的有效背书响应后,将所述有效背书响应、所述符合预设规范的数据内容和数据类型发送给所述区块链网络生成区块,由所述区块链网络将生成的区块及其中的交易数据作为可信数据记录到区块链账本中。
11.优选的,所述获取来自打印操作的数据内容,包括:
12.接收打印请求,在判断出所述打印请求来源端的ip地址属于白名单中的ip地址后,获取根据所述打印请求采集的数据内容。
13.优选的,所述对所述数据内容进行转换处理,获得转换处理后的数据内容和数据类型,包括:
14.对所述数据内容按设定字段要求进行提取,按设定格式要求进行转换,获得转换处理后的数据内容和数据类型。
15.优选的,所述在判断出所述转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络进行背书申请,由所述区块链网络生成背书响应,包括:
16.按照预设规范并利用预置的内容检验插件,判断所述转换处理后的数据内容和数据类型是否符合预设规范,其中所述内容检验插件预先设置,并预先从区块链网络下载;
17.在判断出所述转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络上的预言机智能合约,将符合预设规范的据内容和数据类型发送给区块链网络的含预言机智能合约的区块链节点进行背书申请,由所述区块链网络生成背书响应。
18.优选的,所述将所述符合预设规范的数据内容和数据类型发送给区块链网络的含预言机智能合约的区块链节点进行背书申请,由所述区块链网络生成背书响应,包括:
19.将所述符合预设规范的数据内容和数据类型发送给区块链网络的含预言机智能合约的区块链节点,由所述含预言机智能合约的区块链节点对服务端的组织身份进行安全验证,在所述组织身份属于被授权的区块链网络成员身份后,生成有效背书响应。
20.优选的,所述在接收到所述区块链网络的有效背书响应后,将所述有效背书响应、所述符合预设规范的数据内容和数据类型发送给所述区块链网络生成区块,由所述区块链网络将生成的区块及其中的交易数据作为可信数据记录到区块链账本中,包括:
21.在接收到所述区块链网络的有效背书响应后,将所述有效背书响应、所述符合预设规范的数据内容和数据类型发送给区块链网络的其中一区块链节点生成区块,由所述其中一区块链节点将生成的区块及其中的交易数据作为可信数据记录到区块链账本中,供区块链网络中的业务智能合约调用。
22.本技术第二方面提供一种基于区块链的打印数据处理系统,所述系统包括:
23.服务端,用于获取来自打印操作的数据内容,所述数据内容为规范化的设定格式数据;对所述数据内容进行转换处理,获得转换处理后的数据内容和数据类型;在判断出所述转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络进行背书申请;在接收到有效背书响应后,将所述有效背书响应、所述符合预设规范的数据内容和数据类型发送给所述区块链网络生成区块,由所述区块链网络将生成的区块及其中的交易数据作为可信数据记录到区块链账本中;
24.区块链网络端,用于在区块链网络上的预言机智能合约被调用后,对所述服务端发送的所述符合预设规范的数据内容和数据类型进行背书处理,生成有效背书响应,向所述服务端返回有效背书响应;接收并将从所述服务端发送的所述有效背书响应、所述符合预设规范的数据内容和数据类型生成区块,将所述区块及其中的交易数据作为可信数据记录到区块链账本中。
25.优选的,所述服务端包括转换单元、规范判断单元、第一发送单元、第二发送单元;
26.所述转换单元,用于接收打印请求,在判断出所述打印请求来源端的ip地址属于白名单中的ip地址后,获取根据所述打印请求采集的数据内容;对所述数据内容进行转换处理,获得转换处理后的数据内容和数据类型;
27.所述规范判断单元,用于按照预设规范并利用预置的内容检验插件,判断所述转
换单元获得的转换处理后的数据内容和数据类型是否符合预设规范,其中所述内容检验插件预先设置,并预先从区块链网络下载;
28.所述第一发送单元,用于在所述规范判断单元判断出所述转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络的含预言机智能合约的区块链节点进行背书申请,由所述区块链网络端生成背书响应;
29.所述第二发送单元,用于在接收到所述区块链网络端的有效背书响应后,将所述有效背书响应、所述符合预设规范的数据内容和数据类型发送给所述区块链网络生成区块,由所述区块链网络将生成的区块及其中的交易数据作为可信数据记录到区块链账本中。
30.优选的,所述区块链网络端包括区块链网络的含预言机智能合约的区块链节点;
31.所述区块链节点接收所述服务端发送的所述符合预设规范的数据内容和数据类型,对所述服务端的组织身份进行安全验证,在确定所述组织身份属于被授权的区块链网络成员身份后,对所述符合预设规范的数据内容和数据类型进行背书处理,生成有效背书响应并返回给所述服务端。
32.本技术第三方面提供一种电子设备,包括:
33.处理器;以及
34.存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
35.本技术提供的技术方案可以包括以下有益效果:
36.本技术实施例示出的基于区块链的打印数据处理方法,获取来自打印操作的数据内容,所述数据内容为规范化的设定格式数据;对所述数据内容进行转换处理,获得转换处理后的数据内容和数据类型;在判断出所述转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络进行背书申请,由所述区块链网络生成背书响应;在接收到所述区块链网络的有效背书响应后,将所述有效背书响应、所述符合预设规范的数据内容和数据类型发送给区块链网络生成区块,由所述区块链网络将生成的区块及其中的交易数据作为可信数据记录到区块链账本中。本技术实施例示出的基于区块链的打印数据处理方法,通过对区块链网络外部数据的转换,获得符合区块链网络要求的数据内容和数据类型,对数据内容和数据类型进行合规验证,以及由区块链网络对符合预设组织身份的服务端上传的通过合规验证的数据内容和数据类型进行背书处理,对进入区块链网络的数据内容和数据类型进行双重验证,能够为区块链网络中的业务智能合约及其他服务提供可信的外部数据来源。
37.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
38.通过结合附图对本技术示例性实施方式进行更详细的描述,本技术的上述以及其它目的、特征和优势将变得更加明显,其中,在本技术示例性实施方式中,相同的参考标号
通常代表相同部件。
39.图1是本技术实施例示出的基于区块链的打印数据处理方法的流程示意图;
40.图2是本技术实施例示出的基于区块链的打印数据处理方法的另一流程示意图;
41.图3是本技术实施例示出的基于区块链的打印数据处理系统的结构示意图;
42.图4是本技术实施例示出的基于区块链的打印数据处理系统的另一结构示意图;
43.图5是本技术实施例示出的电子设备的结构示意图。
具体实施方式
44.下面将参照附图更详细地描述本技术的优选实施方式。虽然附图中显示了本技术的优选实施方式,然而应该理解,可以以各种形式实现本技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
45.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
46.应当理解,尽管在本技术可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
47.本技术实施例提供一种基于区块链的打印数据处理方法,能够为区块链网络中的业务智能合约及其他服务提供可信的外部数据来源。
48.以下结合附图详细描述本技术实施例的技术方案。
49.图1是本技术实施例示出的基于区块链的打印数据处理方法的流程示意图。
50.参见图1,一种基于区块链的打印数据处理方法,包括:
51.在步骤s101中,获取来自打印操作的数据内容,数据内容为规范化的设定格式数据。
52.在一实施例中,数据来源也即采集的数据内容可以来自打印操作,可以是通过软件系统或硬件系统的输出操作来输出数据内容,但通过打印动作来进行触发。这里所说的数据,是规范化的设定格式数据,例如商业票据、发票、销售小票、面单等固定类型的数据。用户可以通过虚拟打印机发起打印文件的打印请求但不局限于此。
53.服务端接收打印请求,在判断出打印请求来源端的ip地址属于白名单中的ip地址后,获取根据打印请求采集的数据内容。
54.在步骤s102中,对数据内容进行转换处理,获得转换处理后的数据内容和数据类型。
55.在一实施例中,服务端将获取的数据内容进行提取、转换等规范化处理,获得具有一定规范的数据内容和数据类型。
56.在步骤s103中,在判断出转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络进行背书申请,由区块链网络生成背书响应。
57.在一实施例中,服务端根据符合区块链网络的数据内容和数据类型,预先设置数据内容和数据类型的规范约束。服务端在判断出转换处理后的数据内容和数据类型符合预设规范后,以预设的组织身份,调用位于区块链网络上的预言机智能合约,上传符合预设规范的数据内容和数据类型至区块链网络并发出背书申请。预言机智能合约收到背书申请后,对服务端上传的符合预设规范的数据内容和数据类型进行背书处理,生成背书响应。
58.步骤s104,在接收到区块链网络的有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型发送给区块链网络生成区块,由区块链网络将生成的区块及其中的交易数据作为可信数据记录到区块链账本中。
59.在一实施例中,区块链网络的预言机智能合约根据直接上传的符合预设规范的数据内容和数据类型的服务端的预设的组织身份,对服务端上传的数据内容和数据类型进行有效背书处理,生成有效背书响应,将有效背书响应返回服务端。服务端接收到区块链网络的有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型打包并提交给区块链网络。区块链网络将有效背书响应、符合预设规范的数据内容和数据类型生成区块,并将区块及其中的交易数据作为可信数据记录到区块链账本中。
60.本技术实施例示出的基于区块链的打印数据处理方法,通过对区块链网络外部数据的转换,获得符合区块链网络要求的数据内容和数据类型,对数据内容和数据类型进行合规验证,以及由区块链网络对符合预设组织身份的服务端上传的通过合规验证的数据内容和数据类型进行背书处理,由区块链网络生成背书响应,对进入区块链网络的数据内容和数据类型进行双重验证,能够为区块链网络中的业务智能合约及其他服务提供可信的外部数据来源。
61.图2是本技术实施例示出的基于区块链的打印数据处理方法的另一流程示意图。图2相对图1更详细描述了本技术的技术方案。图2的实施例中,包括服务端和区块链网络端,其中区块链网络端包括含预言机智能合约的区块链节点和其他多个区块链节点。
62.如图2所示,一种基于区块链的打印数据处理方法,包括:
63.在步骤s201中,判断打印请求来源端的ip地址是否属于白名单中的ip地址,如果是,执行步骤s202;如果不是,执行步骤s203。
64.在一实施例中,可以在打印请求来源端注册专门的区块链打印机驱动,并设置打印机的采集内容输出到指定的服务端。
65.在一实施例中,可以在服务端预存一份打印请求来源端的ip地址白名单,在ip地址白名单中记录打印请求来源端的ip地址。
66.在一实施例中,打印请求来源端发起对单据数据进行打印的打印请求,将打印单据数据的打印请求发送给服务端。服务端判断打印请求来源端的ip地址是否属于白名单中的ip地址。服务端可以获得打印请求来源端的ip地址,在预存的ip地址白名单中查找,判断打印请求来源端的ip地址是否在ip地址白名单中。如果打印请求来源端的ip地址在ip地址白名单中,执行步骤s202;如果打印请求来源端的ip地址不在ip地址白名单中,执行步骤s203。
67.在一实施例中,也可以在区块链网络中预存一份打印请求来源端的ip地址白名单。打印请求来源端发起对单据数据进行打印的打印请求,将打印单据数据的打印请求发送给服务端。服务端可以从区块链网络拉取ip地址白名单,在拉取的ip地址白名单中查找,判断打印请求来源端的ip地址是否在ip地址白名单中。如果打印请求来源端的ip地址在ip地址白名单中,执行步骤s202;如果打印请求来源端的ip地址不在ip地址白名单中,执行步骤s203。
68.在一实施例中,可以根据预存于服务端的ip地址白名单与打印请求来源端的ip地址进行匹配。在服务端安装并设置打印机服务,预存打印请求来源端ip地址白名单,此白名单中的所有ip地址可以都是完整的,亦可以是包含范围的。当白名单中的所有ip地址都是完整的,可以将所有ip地址写入一个数组,每行就是一个元素,然后判断打印请求来源端的ip地址是否在这个数组中,以此来判断打印请求来源端的ip地址是不是在服务端的ip地址白名单中。如果ip地址白名单中的ip地址是包含范围的,需要逐一比对判断,利用正则匹配ip地址后,结束循环。
69.在一实施例中,可以设置由多个组织成员背书同意才能对ip地址白名单进行修改或者更新。
70.在步骤s202中,获取根据打印请求采集的数据内容,数据内容为规范化的设定格式数据;执行步骤s204。
71.这里所说的数据,是规范化的设定格式数据,例如商业票据、发票、销售小票、面单等固定类型的数据。
72.在一实施例中,当服务端判断打印请求来源端的ip地址在ip地址白名单中,获取根据打印请求采集的单据数据内容;执行步骤s204。
73.在步骤s203中,发出打印请求非法信息,拒绝打印请求。
74.当服务端在ip地址白名单中没有查找到打印请求来源端的ip地址,判断打印请求来源端的ip地址不在ip地址白名单中,发出打印请求非法信息。服务端根据打印请求非法信息,拒绝打印单据数据内容。服务端可以记录异常日志,将不在ip地址白名单中的打印请求来源端的ip地址记录于异常日志,以便数据追溯。
75.在步骤s204中,对数据内容按设定字段要求进行提取,按设定格式要求进行转换,获得转换处理后的数据内容和数据类型。
76.在一实施例中,服务端以插件的方式处理获取的数据内容,例如可采用内容提取插件对数据内容按设定字段要求进行提取,按设定格式要求进行转换,获得数据内容转换处理后的数据内容和数据类型。用户可以根据业务需求设置不同的内容提取插件,即可以由用户指定。
77.在一实施例中,单据数据内容可以包括票面信息和电子数据信息,票面信息可以包括开票方、收票方、发票代码、发票号码、金额、开户行、纳税人识别号等税务信息;电子数据信息包括电子发票的文件、下载地址、电子发票文件大小、电子发票文件类别、电子发票的创建时间和编辑修改时间。服务端以用户指定的内容提取插件对票面信息或电子数据信息的某些字段和字段的内容进行提取,再将提取的某些字段和字段的内容按设定的格式要求进行转换,获得转换处理后的数据内容和数据类型。
78.在步骤s205中,按照预设规范并利用预置的内容检验插件,判断转换处理后的数
据内容和数据类型是否符合预设规范,如果转换处理后的数据内容和数据类型符合预设规范,执行步骤s206;如果转换处理后的数据内容和数据类型不符合预设规范,执行步骤s207。
79.在一实施例中,利用服务端预置的规范约束,对经过转换处理后获得的单据的数据内容和数据类型进行合规验证。其中,可以按照预设规范并利用预置的内容检验插件,判断转换处理后的数据内容和数据类型是否符合预设规范。其中内容检验插件可以按业务的需求进行动态调整,针对不同数据类型的打印内容可以变化。也就说,根据业务需求,用户可以设置不同的内容检验插件进行合规验证,即可以由用户指定。其中,内容检验插件可以预先设置,并预先从区块链网络下载。也就是说,内容检验插件支持在区块链网络上由多方同意预设好,在检验之前预先从区块链网络上下载下来使用。
80.例如,判断转换处理后获得的单据的数据内容和数据类型是否具有服务端预置要求的字段和该字段的内容,判断字段和字段内容的数据类型是否符合服务端预置要求的格式。如果转换处理后获得的单据的数据内容和数据类型符合服务端预置要求的字段和格式的规范,则判断转换处理后的数据内容和数据类型符合预设规范,执行步骤s206;如果转换处理后获得的单据的数据内容和数据类型不符合服务端预置要求的字段和格式的规范,则判断转换处理后的数据内容和数据类型不符合预设规范,执行步骤s207。
81.在步骤s206中,通过预设身份调用位于区块链网络上的预言机智能合约,将背书申请发送至含预言机智能合约的区块链节点,执行步骤s208。
82.在一实施例中,服务端由用户设置了组织身份,组织身份包括调用区块链网络上的预言机智能合约的公私钥、证书等配置。在服务端判断转换处理后的数据内容和数据类型符合预设规范,获得符合预设规范的数据内容和数据类型后,服务端将包含符合预设规范的数据内容和数据类型的背书申请,发送至区块链网络的含预言机智能合约的区块链节点进行背书。
83.在步骤s207,拒绝将转换处理后的数据内容和数据类型上传至区块链网络。
84.在一实施中,单据的数据内容和数据类型不符合服务端预设的规范约束,则认为单据的数据内容和数据类型不可信,不将转换处理后的数据内容和数据类型上传至区块链网络,并记录相关异常日志。
85.在步骤s208中,由含预言机智能合约的区块链节点判断服务端的组织身份是否安全,如果服务端的组织身份安全,由区块链网络生成有效背书响应,执行步骤s209;如果服务端的组织身份不安全,执行步骤s210。
86.在一实施例中,含预言机智能合约的区块链节点接收到服务端的背书申请后,由含预言机智能合约的区块链节点对服务端的组织身份进行安全验证,如果服务端的组织身份属于被授权的区块链网络成员身份,即判断服务端的组织身份安全,具有上传数据至区块链的有效权限。根据背书申请,含预言机智能合约的区块链节点对符合预设规范的数据内容和数据类型进行背书,生成有效背书响应,并将有效背书响应发送至服务端。
87.在一实施例中,服务端根据以预设的组织身份对符合预设规范的数据内容和数据类型进行签名确认,服务端以预设的组织身份将包含符合预设规范的数据内容和数据类型的背书申请打包提交给运行预言机智能合约的区块链节点。区块链网络的至少一个区块链节点调用安装并实例化运行于区块链网络上预言机智能合约,预言机智能合约根据背书申
请,对提供背书申请的服务端进行安全验证。预言机智能合约根据预设的授权组织身份名单,对服务端预设的组织身份进行安全验证。如果服务端的组织身份属于被授权的区块链网络成员身份,则判断服务端的组织身份安全,服务端具有上传数据至区块链网络的有效权限。预言机智能合约对符合预设规范的数据内容和数据类型进行背书,生成有效背书响应,并将有效背书响应发送至服务端,执行步骤s209。如果服务端的组织身份不属于被授权的区块链网络成员身份,则判断服务端的组织身份不安全,服务端不具有上传数据至区块链网络的有效权限。预言机智能合约生成背书无效响应,并将无效背书响应发送至服务端,执行步骤s210。
88.在一实施例中,预言机智能合约是指基于插件机制所编写的可供区块链网络中的区块链节点调用并执行的代码段,一个预言机智能合约的执行可实现至少一种功能或处理一类事务请求。区块链网络中可部署多个预言机智能合约,每个预言机智能合约可处理一种数据类型的链外数据。含预言机智能合约的区块链节点接收到链外服务端发送的数据进行背书,背书是一种区块链交易进行交易信息验证,对验证通过的交易声明此交易合法的过程和机制。
89.在步骤s209中,在接收到区块链网络的有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型发送给区块链网络的其中一区块链节点生成区块,由其中一区块链节点将生成区块及其中的交易数据作为可信数据记录到区块链账本中,供区块链网络中的业务智能合约调用。
90.在一实施例中,含预言机智能合约的区块链节点判断服务端的组织身份安全,预言机智能合约对背书请求中的数据内容和数据类型进行背书处理,生成有效背书响应,将有效背书响应返回给服务端。服务端在接收到有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型打包发送至区块链网络的其中一区块链节点。其中一区块链节点可以是区块链网络中的共识节点,负责将有效交易打包生成区块,记录进区块链账本中。服务端在接收到有效背书响应后,将有效背书响应、数据内容和数据类型打包发送至区块链网络的共识节点,共识节点将打包的有效背书响应、数据内容和数据类型再打包生成区块,并将区块及其中的交易数据作为可信数据记录到区块链账本中。区块链网络中的业务智能合约可以通过业务智能合约之间的相互调用,读取被记录到区块链账本中的数据。
91.在一实施例中,服务端在接收到有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型打包发送至区块链网络的其中一排序节点。由其中一排序节点将打包的有效背书响应、符合预设规范的数据内容和数据类型生成区块,并将区块及其中的交易数据进行排序。排序节点将区块分发给连接到它的所有peer节点,每个peer节点将独立地以确定的方式验证区块,以确保账本保持一致。具体来说,通道中每个节点都将验证区块中的每个交易,以确保得到了所需组织的节点背书,也就是节点的背书和背书策略相匹配,并且不会因最初认可该事务时可能正在运行的其他最近提交的事务而失效。无效的交易仍然保留在排序节点创建的区块中,但是节点将它们标记为无效,并且不更新账本的状态,有效的交易则对账本进行更新。
92.需要说明的是,这里说的区块链网络,可以支持多种数据类型的区块链实现,不限定于hyperledger fabric(开源区块链分布式账本)超级账本,也可以是其他区块链平台实现。也就是说,该流程是以对接到hyperledger fabric的流程为例说明但不局限于此。本申
请的方案,也支持其他数据类型的联盟链,也可以写入其他不同数据类型的联盟链的账本中,具体流程可以参考相关技术中的描述,此处不再赘述。
93.在步骤s210中,接收无效背书响应,不上传数据内容和数据类型至区块链网络。
94.在一实施例中,预言机智能合约根据预设的授权组织身份名单,对服务端的组织身份进行安全验证,如果服务端的组织身份不属于被授权的区块链网络成员身份,则服务端的组织身份不安全,服务端不具有上传数据至区块链网络的有效权限,预言机智能合约生成背书无效响应,并将无效背书响应发送至服务端。服务端接收无效背书响应后,不将符合服务端预设规范的数据内容和数据类型上传到区块链网络。
95.本技术实施例示出的基于区块链的打印数据处理方法,通过对区块链网络外部数据的转换,获得符合区块链网络要求的数据内容和数据类型,对数据内容和数据类型进行合规验证,以及由区块链网络对符合预设组织身份的服务端上传的通过合规验证的数据内容和数据类型进行背书处理,对进入区块链网络的数据内容和数据类型进行双重验证,能够为区块链网络中的业务智能合约及其他服务提供可信的外部数据来源。
96.进一步的,本技术实施例示出的基于区块链的打印数据处理方法,在判断出打印请求来源端的ip地址属于白名单中的ip地址后,获取根据打印请求采集的数据的内容。这样能够保证数据内容来源的安全性,而且能够降低服务端提取和转换数据内容的工作量。
97.进一步的,本技术实施例示出的基于区块链的打印数据处理方法,在接收到有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型发送给区块链网络的其中一区块链节点,由其中一区块链节点生成区块,并将区块及其中的交易数据作为可信数据记录到区块链账本中,供区块链网络中的业务智能合约调用。区块链账本只记录包含有效背书响应的区块及其中的交易数据,保证了区块链网络中数据的安全,区块的有效背书响应,可以供奖惩机制追溯使用。
98.与前述应用功能实现方法实施例相对应,本技术还提供了一种基于区块链的打印数据处理系统、电子设备及相应的实施例。
99.图3是本技术实施例示出的一种基于区块链的打印数据处理系统的结构示意图。
100.参见图3,一种基于区块链的打印数据处理系统,包括服务端302、区块链网络端303。
101.服务端302,用于获取来自打印操作的数据内容,数据内容为规范化的设定格式数据;对数据内容进行转换处理,获得转换处理后的数据内容和数据类型;在判断出转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络进行背书申请;在接收到有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型发送给区块链网络生成区块,由区块链网络将生成的区块及其中的交易数据作为可信数据记录到区块链账本中。
102.在一实施例中,服务端302将从客户端301获取的数据内容进行提取、转换等规范化处理,获得具有一定规范的数据内容和数据类型。
103.在一实施例中,服务端302根据符合区块链网络端303的数据内容和数据类型,预先设置数据内容和数据类型的规范约束。服务端302在判断出转换处理后的数据内容和数据类型符合预设规范后,以预设的组织身份,调用位于区块链网络端303的预言机智能合
约,上传符合预设规范的数据内容和数据类型至区块链网络端303并发出背书申请。区块链网络端303的预言机智能合约收到背书申请后,对服务端302上传的符合预设规范的数据内容和数据类型进行背书。
104.区块链网络端303,用于在区块链网络上的预言机智能合约被调用后,对服务端302发送的符合预设规范的数据内容和数据类型进行背书处理,生成有效背书响应,向服务端302返回有效背书响应;接收并将从服务端302发送的有效背书响应、符合预设规范的数据内容和数据类型生成区块,将区块及其中的交易数据作为可信数据记录到区块链账本中。
105.在一实施例中,在区块链网络端303的预言机智能合约被服务端302以预设的组织身份调用后,预言机智能合约根据直接上传数据内容和数据类型的服务端302的预设的组织身份,对服务端302上传的符合预设规范的数据内容和数据类型进行有效背书,生成有效背书响应,将有效背书响应返回服务端302。服务端302接收到有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型打包并提交给区块链网络端303。区块链网络端303将有效背书响应、符合预设规范的数据内容和数据类型生成区块,并将区块及其中的交易数据作为可信数据记录到区块链账本中。
106.本技术实施例示出的技术方案,通过对区块链网络外部数据的转换,获得符合区块链网络的数据内容和数据类型,对数据内容和数据类型进行合规验证,以及由区块链网络对符合预设组织身份的服务端上传的通过合规验证的数据内容和数据类型进行背书,对进入区块链网络的数据内容和数据类型进行双重验证,能够为区块链网络中的业务智能合约及其他服务提供可信的外部数据来源。
107.图4是本技术实施例示出的基于区块链的打印数据处理系统的另一结构示意图。图4相对图3更详细描述了本技术的技术方案。
108.参见图4,一种基于区块链的打印数据处理系统,包括服务端302和区块链网络端303,其中区块链网络端303包括含预言机智能合约的区块链节点3031和其他多个区块链节点3032。
109.服务端302包括转换单元3020、规范判断单元3021、第一发送单元3022、第二发送单元3023。
110.转换单元3020,用于接收打印请求,在判断出打印请求来源端的ip地址属于白名单中的ip地址后,获取根据打印请求采集的数据内容;对数据内容进行转换处理,获得转换处理后的数据内容和数据类型。
111.规范判断单元3021,用于按照预设规范并利用预置的内容检验插件,判断转换单元3020获得的转换处理后的转换处理后的数据内容和数据类型是否符合预设规范,其中内容检验插件预先设置,并预先从区块链网络下载。
112.第一发送单元3022,用于在规范判断单元3021判断出转换处理后的数据内容和数据类型符合预设规范后,通过预设身份调用位于区块链网络端303上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络端303的含预言机智能合约的区块链节点3031进行背书申请,由区块链网络端生成背书响应。
113.第二发送单元3023,用于在接收到区块链网络端的有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型,发送给区块链网络生成区块,由区块链网络将
生成的区块及其中的交易数据作为可信数据记录到区块链账本中。
114.在一实施例中,服务端302以插件的方式处理获取的数据内容,例如可采用内容提取插件对数据内容按设定字段要求进行提取,按设定格式要求进行转换,获得转换处理后的数据内容和数据类型。用户可以根据业务需求设置不同的内容提取插件,即可以由用户指定。其中,内容检验插件可以预先设置,并预先从区块链网络下载。也就是说,内容检验插件支持在区块链网络上由多方同意预设好,在检验之前预先从区块链网络上下载下来使用。
115.在一实施例中,根据业务需求,用户可以设置不同的内容检验插件。规范判断单元3021利用服务端302预置的内容检验插件,对经过转换单元3020转换处理后获得的单据的数据内容和数据类型进行合规验证。例如,规范判断单元3021判断转换处理后获得的单据的数据内容和数据类型是否具有服务端预置要求的字段和该字段的内容,判断字段和字段内容的数据类型是否符合服务端预置要求的格式。如果规范判断单元3021判断转换处理后获得的单据的数据内容和数据类型符合服务端302预置要求的字段和格式的规范,则判断转换处理后的数据内容和数据类型符合预设规范,第一发送单元3022通过预设身份调用位于区块链网络端303上的预言机智能合约,将符合预设规范的数据内容和数据类型发送给区块链网络的含预言机智能合约的区块链节点3031进行背书申请;如果规范判断单元3021判断转换处理后获得的单据的数据内容和数据类型不符合服务端302预置要求的字段和格式的规范,则判断转换处理后的数据内容和数据类型不符合预设规范,服务端302拒绝将转换处理后的数据内容和数据类型上传至区块链网络端303。
116.区块链网络端303,用于在区块链网络上的预言机智能合约被调用后,对服务端302发送的符合预设规范的数据内容和数据类型进行背书,生成有效背书响应,并向服务端302返回有效背书响应;接收并将从服务端302发送的有效背书响应、符合预设规范的数据内容和数据类型生成区块,将区块及其中的交易数据作为可信数据记录到区块链账本中。
117.在一实施中,如果规范判断单元3021判断转换处理后的单据的数据内容和数据类型不符合服务端302预设的规范约束,则认为单据的数据内容和数据类型不可信,不将转换处理后的数据内容和数据类型上传至区块链网络端303,并记录相关异常日志。
118.在一实施例中,服务端302由用户设置了组织身份,组织身份包括调用区块链网络端303上的预言机智能合约的公私钥、证书等配置。在服务端302判断转换处理后的数据内容和数据类型符合预设规范,获得符合预设规范的数据内容和数据类型后,第一发送单元3022将包含符合预设规范的数据内容和数据类型的背书申请发送至区块链网络端303的含预言机智能合约的区块链节点3031进行背书处理。
119.在一实施例中,区块链网络端303包括区块链网络的含预言机智能合约的区块链节点3031;含预言机智能合约的区块链节点3031接收第一发送单元3022发送的符合预设规范的数据内容和数据类型,对服务端302的组织身份进行安全验证,确定组织身份属于被授权的区块链网络成员身份,对符合预设规范的数据内容和数据类型进行背书,生成有效背书响应。
120.在一实施例中,在区块链网络端303接收到第一发送单元3022发送的背书请求后,由区块链网络端303的含预言机智能合约的区块链节点3031判断服务端302的组织身份是否安全,如果服务端302的组织身份安全,预言机智能合约对背书请求中的符合预设规范的
数据内容和数据类型进行背书,生成有效背书响应,并将有效背书响应返回给服务端302。如果服务端302的组织身份不安全,预言机智能合约生成背书无效响应,并将无效背书响应发送至服务端302。
121.在一实施例中,含预言机智能合约的区块链节点3031接收到第一发送单元3022的背书申请后,由含预言机智能合约的区块链节点3031对服务端302的组织身份进行安全验证,如果服务端302的组织身份属于被授权的区块链网络成员身份,即判断服务端的组织身份安全,具有上传数据至区块链网络端303的有效权限。根据背书申请,含预言机智能合约的区块链节点3031对符合预设规范的数据内容和数据类型进行背书,生成有效背书响应,并将有效背书响应发送至服务端302。
122.在一实施例中,服务端302根据以预设的组织身份对符合预设规范的数据内容和数据类型进行签名确认,第一发送单元3022以预设的组织身份将包含符合预设规范的数据内容和数据类型的背书申请打包提交给运行预言机智能合约的区块链节点3031。区块链网络端303的至少一个区块链节点调用安装并实例化运行于区块链网络上预言机智能合约,预言机智能合约根据背书申请,对提供背书申请的服务端302进行安全验证。预言机智能合约根据预设的授权组织身份名单,对服务端302预设的组织身份进行安全验证。如果服务端302的组织身份属于被授权的区块链网络成员身份,则判断服务端302的组织身份安全,服务端302具有上传数据至区块链网络端303的有效权限。预言机智能合约对符合预设规范的数据内容和数据类型进行背书,生成有效背书响应,并将有效背书响应发送至服务端302。如果服务端302的组织身份不属于被授权的区块链网络成员身份,则判断服务端302的组织身份不安全,服务端302不具有上传数据至区块链网络端303的有效权限。预言机智能合约生成背书无效响应,并将无效背书响应发送至服务端302。
123.服务端302在接收到区块链网络端303发送的有效背书响应后,将有效背书响应、符合预设规范的数据内容和类型,发送给区块链网络端303的其中一区块链节点3032,由其中一区块链节点3032生成区块,将生成的区块及其中的交易数据作为可信数据记录到区块链账本中,供区块链网络端303中的业务智能合约调用。
124.本技术实施例示出的技术方案,通过对区块链网络外部数据的转换,获得符合区块链网络的数据内容和数据类型,对数据内容和数据类型进行合规验证,以及由区块链网络对符合预设组织身份的服务端上传的通过合规验证的数据内容和数据类型进行背书,对进入区块链网络的数据内容和数据类型进行双重验证,能够为区块链网络中的业务智能合约及其他服务提供可信的外部数据来源。
125.进一步的,本技术实施例示出的技术方案,在接收到有效背书响应后,将有效背书响应、符合预设规范的数据内容和数据类型,发送给区块链网络的其中一区块链节点,由其中一区块链节点生成区块,并将区块及其中的交易数据作为可信数据记录到区块链账本中,供区块链网络中的业务智能合约调用。区块链账本只记录包含有效背书响应的区块及其中的交易数据,保证了区块链网络中数据的安全,区块的有效背书响应,可以供奖惩机制追溯使用。
126.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
127.图5是本技术实施例示出的电子设备的结构示意图。参见图5,电子设备50包括处
理器501和存储器502。
128.处理器501可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(fieldprogrammable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
129.存储器502可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器501或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器502可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器502可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、min sd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
130.存储器502上存储有可执行代码,当可执行代码被处理器501处理时,可以使处理器501执行上文述及的方法中的部分或全部。
131.本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
132.附图中的流程图和框图显示了根据本技术的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
133.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1