会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 区块链处理实体 / 实体印章的记账方法及终端设备

实体印章的记账方法及终端设备

申请号 CN201811020992.9 申请日 2018-09-03 公开(公告)号 CN109377217A 公开(公告)日 2019-02-22
申请人 深圳壹账通智能科技有限公司; 发明人 刘慧众;
摘要 本发明适用于数据处理技术领域,提供了实体印章的记账方法、终端设备以及计算机可读存储介质,包括:与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间;对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中;所述区块链网络中的节点基于排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。本发明基于区块链的记账技术,将实体印章的用印记录在区块链网络中进行记账,提升了实体印章用印的透明化程度。
权利要求

1.一种实体印章的记账方法,其特征在于,实体印章内部搭载有记录器,所述记账方法包括:与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间;

对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中;

所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。

2.如权利要求1所述的记账方法,其特征在于,所述区块链网络的创世区块包括多个用印私钥,每个所述用印私钥与一个预设的数值对应,所述创世区块为所述区块链网络中的第一个数据区块,所述将排序后的多个所述用印记录发送至预设的区块链网络之后,还包括:所述区块链网络中的节点查询所述最新区块的区块数,并对所述区块数进行映射处理,得到映射值;

查询所述创世区块,确定与所述映射值对应的用印私钥,通过所述用印私钥对排序后的多个所述用印记录进行加密得到加密记录;

所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,包括:所述区块链网络中的节点对所述最新区块的区块头进行哈希加密得到所述第一哈希值,并对所述加密记录进行哈希加密得到所述第二哈希值,基于所述第一哈希值、所述第二哈希值以及所述加密记录生成所述用印区块。

3.如权利要求1所述的记账方法,其特征在于,所述用印记录还包括印章识别码,所述获取所述记录器记录的所述实体印章的用印记录之后,还包括:分别为每个印章识别码建立对应的记录池,并识别接收到的所述用印记录中的所述印章识别码,将所述用印记录存入至对应的所述记录池中;

当所述记录池中的所述用印记录的数量达到预设阈值时,执行所述对多个所述用印记录按照所述用印时间进行排序的操作。

4.如权利要求3所述的记账方法,其特征在于,所述区块链网络的创世区块包括多个授权节点地址,每个所述授权节点地址与一个所述印章识别码对应,所述将所述用印区块添加至所述最新区块之后,还包括:识别所述用印区块中所述用印记录的印章识别码,作为目标识别码;

确定与所述目标识别码对应的所述授权节点地址,并基于所述授权节点地址为所述用印区块设置访问限制接口,所述访问限制接口用于防止除所述授权节点地址外的地址访问所述用印区块。

5.如权利要求3所述的记账方法,其特征在于,所述用印记录还包括被加密的验证码,所述识别接收到的所述用印记录中的所述印章识别码,将所述用印记录存入至对应的所述记录池中,包括:基于预设的验证密钥集中的多个验证密钥对接收到的所述用印记录进行解密;

若解密后得到的结果包括所述验证码,则将所述用印记录存入至对应的所述记录池中;

若解密后得到的结果都不包括所述验证码,则输出报警提示。

6.一种终端设备,其特征在于,实体印章内部搭载有记录器,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间;

对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中;

所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。

7.如权利要求6所述的终端设备,其特征在于,所述区块链网络的创世区块包括多个用印私钥,每个所述用印私钥与一个预设的数值对应,所述将排序后的多个所述用印记录发送至预设的区块链网络之后,还包括:所述区块链网络中的节点查询所述最新区块的区块数,并对所述区块数进行映射处理,得到映射值;

查询所述创世区块,确定与所述映射值对应的用印私钥,通过所述用印私钥对排序后的多个所述用印记录进行加密得到加密记录;

所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,包括:所述区块链网络中的节点对所述最新区块的区块头进行哈希加密得到所述第一哈希值,并对所述加密记录进行哈希加密得到所述第二哈希值,基于所述第一哈希值、所述第二哈希值以及所述加密记录生成所述用印区块。

8.如权利要求6所述的终端设备,其特征在于,所述用印记录还包括印章识别码,所述获取所述记录器记录的所述实体印章的用印记录之后,还包括:分别为每个印章识别码建立对应的记录池,并识别接收到的所述用印记录中的所述印章识别码,将所述用印记录存入至对应的所述记录池中;

当所述记录池中的所述用印记录的数量达到预设阈值时,执行所述对多个所述用印记录按照所述用印时间进行排序的操作。

9.如权利要求8所述的终端设备,其特征在于,所述区块链网络的创世区块包括多个授权节点地址,每个所述授权节点地址与一个所述印章识别码对应,所述将所述用印区块添加至所述最新区块之后,还包括:识别所述用印区块中所述用印记录的印章识别码,作为目标识别码;

确定与所述目标识别码对应的所述授权节点地址,并基于所述授权节点地址为所述用印区块设置访问限制接口,所述访问限制接口用于防止除所述授权节点地址外的地址访问所述用印区块。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述记账方法的步骤。

说明书全文

实体印章的记账方法及终端设备

技术领域

[0001] 本发明属于数据处理技术领域,尤其涉及实体印章的记账方法、终端设备以及计算机可读存储介质。

背景技术

[0002] 印章是用于印于文件上表示鉴定或签署的文具,由于某些印章如公章对于安全方面的需求较高,通常只限于指定的个人或单位使用,或只限于指定的用途,故为了防止印章伪造和滥用,需要对印章的使用记录进行记账。
[0003] 在现有技术中,通常是对电子印章进行记账,也即是记录将电子印章加盖至电子文件的过程,而对于实体印章,并不存在有效的记账方法,导致实体印章的使用过程不够清晰透明,并且通过伪造的印章用印后,无法辨认真伪。综上,现有技术中,无法对实体印章的使用记录进行记账。

发明内容

[0004] 有鉴于此,本发明实施例提供了实体印章的记账方法、终端设备以及计算机可读存储介质,以解决现有技术中无法对实体印章的使用记录进行记账的问题。
[0005] 本发明实施例的第一方面提供了一种实体印章的记账方法,包括:
[0006] 与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间;
[0007] 对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中;
[0008] 所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。
[0009] 本发明实施例的第二方面提供了一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
[0010] 与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间;
[0011] 对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中;
[0012] 所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。
[0013] 本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
[0014] 与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间;
[0015] 对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中;
[0016] 所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。
[0017] 本发明实施例与现有技术相比存在的有益效果是:
[0018] 本发明实施例通过与实体印章内部的记录器建立通信连接,从而获取记录器记录的实体印章的用印记录,在接收到多个用印记录后,将排序后的多个用印记录发送至区块链网络,区块链网络的节点基于排序后的多个用印记录生成用印区块,并在用印区块共识验证成功后,将用印区块添加至区块链网络的最新区块,本发明实施例基于区块链对实体印章的用印记录进行记账,使实体印章的使用情况清晰可见,提升了用印的透明程度。

附图说明

[0019] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020] 图1是本发明实施例一提供的实体印章的记账方法的实现流程图;
[0021] 图2是本发明实施例二提供的实体印章的记账方法的实现流程图;
[0022] 图3是本发明实施例三提供的实体印章的记账方法的实现流程图;
[0023] 图4是本发明实施例四提供的实体印章的记账方法的实现流程图;
[0024] 图5是本发明实施例五提供的实体印章的记账方法的实现流程图;
[0025] 图6是本发明实施例六提供的实体印章的记账方法的架构图;
[0026] 图7是本发明实施例七提供的终端设备的结构框图;
[0027] 图8是本发明实施例八提供的终端设备的示意图。

具体实施方式

[0028] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0029] 本发明实施例通过与实体印章内部的记录器建立通信连接,并获取记录器记录的实体印章的用印记录,用印记录包括用印时间,对多个用印记录按照用印时间进行排序,并将排序后的多个用印记录发送至预设的区块链网络中,区块链网络中的节点对区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个用印记录进行哈希加密得到第二哈希值,基于第一哈希值、第二哈希值以及排序后的多个用印记录生成用印区块,若将用印区块在区块链网络中进行共识验证的结果为成功,则将用印区块添加至最新区块,本发明实施例通过对实体印章的用印记录进行区块链记账,提升了实体印章用印的透明程度。
[0030] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0031] 图1示出了本发明实施例提供的实体印章的记账方法的实现流程,详述如下:
[0032] 在S101中,与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间。
[0033] 在本发明实施例中,实体印章内部搭载有记录器,该记录器用于在用户使用实体印章进行用印时,生成该次用印的用印记录。实体印章内的记录器可包括单片机,还可包括更多的部件,本发明实施例对此不做限定。举例来说,在用印记录的第一种生成方式中,记录器包括单片机和压力传感器,单片机与压力传感器连接,当用户按压实体印章进行用印时,压力传感器获取到用户施加的压力,并转换为电信号传输至单片机,单片机在接收到该电信号后生成用印记录;在另一种生成方式中,记录器包括单片机和喷涂器,喷涂器与记录器连接,该喷涂器用于在用户按压实体印章时输出墨水,用户在按压实体印章进行用印时,喷涂器将电信号传输至记录器,记录器在获取到该电信号后生成用印记录。当然,根据记录器包括部件的不同,用印记录还可存在更多的生成方式。用印记录包括用印时间,用印时间为实体印章被用印时,记录器获取的当前时间。根据实际场景的需要,用印记录还可包括更多内容,比如用印记录还可包括实体印章的使用次数(使用次数初始置为零,记录器检测到每用印一次,则使用次数累加一次)、用印人的生物信息(比如通过额外的部件采集到的用印人的图像或指纹)或用印文件(比如通过额外的部件采集到的被用印的文件的图像)等。
[0034] 在本发明实施例中,执行主体为终端设备,为了使终端设备获取到记录器生成的用印记录,首先将终端设备与实体印章内的记录器建立通信连接,建立通信连接可以为建立有线通信连接,也可以为建立无线通信连接,比如终端设备可与记录器通过3G、4G、Wi-Fi或蓝牙等无线通信方式进行连接。连接成功后,终端设备基于通信连接获取记录器生成的实体印章的用印记录,其中,获取方式可以是终端设备实时或每隔固定的时间间隔向记录器主动发起获取请求,也可以是记录器在生成用印记录后,实时向终端设备主动发起上传请求,从而进行用印记录的传输。值得一提的是,在本发明实施例中,终端设备可与多个不同的实体印章中的记录器建立通信连接。
[0035] 在S102中,对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中。
[0036] 终端设备在接收到多个用印记录后,对多个用印记录按照用印时间从小到大的顺序进行排序,并将排序后的多个用印记录打包发送至预设的区块链网络进行记账。其中,区块链是指按照时间顺序将数据区块以顺序相连的方式组合成的,并以密码学方式保证数据区块不可篡改和不可伪造的分布式账本,用于本发明实施例中以保证用印记录的唯一性和不可篡改性。值得一提的是,由于在区块链网络中产生新区块的难度较高,故终端设备在接收到多个用印记录后,才将多个用印记录进行打包上传,而不是在接收到用印记录后,立刻将该用印记录上传至区块链网络。
[0037] 在S103中,所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。
[0038] 由于区块链网络是去中心化的点对点网络,故将接入区块链网络的每一个服务器或设备都看作区块链网络中的节点。区块链网络中的数据区块包括区块头和区块体,区块头存放有用于标识和计算的哈希值,区块体存放有实际的交易数据。在本发明实施例中,在终端设备将排序后的多个用印记录上传至区块链网络后,区块链网络中的节点(包括但不限于终端设备本身)将区块链网络的最后一个数据区块作为最新区块,对该最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个用印记录进行哈希加密得到第二哈希值,然后基于第一哈希值、第二哈希值以及排序后的多个用印记录构建用印区块,具体地,基于第一哈希值和第二哈希值构建用印区块的区块头,基于排序后的多个用印记录构建用印区块的区块体。值得一提的是,本发明实施例中的哈希加密即为基于Hash函数进行加密,由于任意长度的输入在经过Hash函数加密后都会转换为固定长度的输出,并且不同的输入在经过Hash函数加密后得到的输出是不同的,故可在区块链网络中应用哈希加密以标识区块链网络中的每个数据区块。另外,根据排序后的多个用印记录的数据量不同,生成的用印区块可能为一个或多个。在区块链网络中的节点生成用印区块后,将用印区块发布至区块链网络中 进行共识验证,共识验证可通过实用拜占庭容错算法(PracticalByzantine Fault Tolerance,PBFT)、委托权益证明(Delegated Proof of Stake,DPOS)、工作证明(Proof of Work,POW)或股权证明(Proof of Stake,POS)等共识机制实现。如果区块链网络中的某个节点发布的用印区块在区块链网络中共识验证成功,则通知区块链网络中的所有节点将用印区块链接至区块链网络中的最新区块,完成多个用印记录在区块链网络中的记账。
[0039] 图6是本发明实施例中实体印章的记账方法的结构图,如图6所示,终端设备与多个实体印章中的记录器建立通信连接,记录器将生成的用印记录发送至终端设备后,终端设备对多个用印记录按照用印时间进行排序,并将排序后的多个用印记录发送至区块链网络中,区块链网络中的节点基于排序后的多个用印记录生成用印区块,如果用印区块在区块链网络中通过共识验证,则通知区块链网络中的所有节点将用印区块链接至区块链网络中的最新区块,完成用印记录的区块链记账。
[0040] 通过图1所示实施例可知,在本发明实施例中,终端设备与实体印章内部的记录器建立通信连接,并获取记录器记录的实体印章的用印记录,用印记录包括实体印章的用印时间,然后终端设备对多个用印记录按照用印时间进行排序,并将排序后的多个用印记录发送至区块链网络中,区块链网络中的节点对区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个用印记录进行哈希加密得到第二哈希值,基于第一哈希值、第二哈希值以及排序后的多个用印记录生成用印区块,并将用印区块发布至区块链网络中进行共识验证,若共识验证的结果为成功,则将用印区块添加至区块链网络的最新区块,本发明实施例实现了实体印章用印记录的区块链记账,提升了实体印章用印的透明化程度。
[0041] 图2所示,是在本发明实施例一的基础上,并在区块链网络的创世区块包括多个用印私钥,每个用印私钥与一个预设的数值对应的基础上,对将排序后的多个所述用印记录发送至预设的区块链网络之后的过程进行细化后得到的一种实现方法。本发明实施例提供了实体印章的记账方法的实现流程图,如图2所示,该记账方法可以包括以下步骤:
[0042] 在S201中,所述区块链网络中的节点查询所述最新区块的区块数,并对所述区块数进行映射处理,得到映射值。
[0043] 在本发明实施例中,终端设备将排序后的多个用印记录发送至区块链网络后,区块链网络中的节点在基于排序后的多个用印记录生成用印区块时,首先查询最新区块的区块数,该区块数即为区块链网络中的所有数据区块的总数。然后,节点对区块数进行映射处理得到映射值。映射处理的具体方式可根据实际应用场景进行确定,为了便于说明本发明实施例的内容,假设映射处理为将区块数的尾数作为映射值,比如区块数为3120,则映射值为0,比如区块数为3421,则映射值为1,应获知的是,上述例子并不构成对本发明实施例的限定。
[0044] 在S202中,查询所述创世区块,确定与所述映射值对应的用印私钥,通过所述用印私钥对排序后的多个所述用印记录进行加密得到加密记录。
[0045] 创世区块为区块链网络中的第一个数据区块,在创建创世区块时,在创世区块中存储多个用印私钥,每个用印私钥与一个预设的数值对应,为了便于说明,假设创世区块存储有十个用印私钥,分别与数值0,1,2,……,9对应。用印私钥由预设的用印加密算法生成,用印加密算法优选为非对称加密算法,比如RSA非对称加密算法。节点在得到区块数的映射值后,查询创世区块,确定与映射值对应的用印私钥,比如映射值为2,则从十个用印私钥中确定与数值2对应的用印私钥。然后,节点基于与映射值对应的用印私钥对排序后的多个用印记录进行加密得到加密记录。
[0046] 在S203中,所述区块链网络中的节点对所述最新区块的区块头进行哈希加密得到所述第一哈希值,并对所述加密记录进行哈希加密得到所述第二哈希值,基于所述第一哈希值、所述第二哈希值以及所述加密记录生成所述用印区块。
[0047] 区块链网络中的节点在完成对排序后的多个用印记录的加密后,对区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对加密记录(而非用印记录)进行哈希加密得到第二哈希值,基于第一哈希值、第二哈希值以及加密记录生成所述用印区块,具体基于第一哈希值和第二哈希值构建用印区块的区块头,基于加密记录构建用印区块的区块体。
[0048] 可选地,将与用印私钥对应的用印公钥发送至具有查看权限的节点。在本发明实施例中,还可将基于用印加密算法生成的与用印私钥对应的用印公钥发送至区块链网络中具有查看权限的节点,用印公钥可对经用印私钥加密的内容进行解密。当用印区块通过共识验证,并链接至最新区块时,具有查看权限的节点可访问用印区块,读取用印区块中的加密记录,并使用节点存储的用印公钥对加密记录进行解密得到多个用印记录。以上述例子进行说明,假设存在十个用印公钥,分别与数值0,1,2,……,9对应,则存储有十个用印公钥的节点若想访问区块链网络中的某个用印区块,首先获取该用印区块在区块链网络中的区块数(即从创世区块到用印区块的数据区块的总个数),对该区块数执行减一操作得到目标区块数,并对目标区块数进行映射处理得到目标映射值,查找节点存储的与目标映射值对应的用印公钥,并利用该用印公钥对用印区块中的加密记录进行解密,得到多个用印记录。比如用印区块在区块链网络中的区块数1234,则目标区块数为1233,查找节点存储的与数值3对应的用印公钥,并利用该用印公钥对用印区块中的加密记录进行解密。而对于未存储有用印公钥的节点,只能读取用印区块中的加密记录,而无法对加密记录进行解密,即用印记录对于不具有查看权限的节点是无法获取的,提升了用印记录的保密性。
[0049] 通过图2所示实施例可知,在本发明实施例中,终端设备在将排序后的多个用印记录发送至区块链网络后,区块链网络中的节点查询最新区块的区块数,并对区块数进行映射处理得到映射值,并查询创世区块,确定与映射值对应的用印私钥,通过用印私钥对排序后的多个用印记录进行加密得到加密记录,然后节点对最新区块的区块头进行哈希加密得到第一哈希值,对加密记录进行哈希加密得到第二哈希值,基于第一哈希值、第二哈希值以及加密记录生成用印区块,本发明实施例对用印记录加密后,再基于加密后的内容生成用印区块,提升了用印记录的保密性。
[0050] 图3所示,是在本发明实施例一的基础上,并在用印记录还包括印章识别码的基础上,对获取记录器记录的实体印章的用印记录之后的过程进行细化后得到的一种实现方法。本发明实施例提供了实体印章的记账方法的实现流程图,如图3所示,该记账方法可以包括以下步骤:
[0051] 在S301中,分别为每个印章识别码建立对应的记录池,并识别接收到的所述用印记录中的所述印章识别码,将所述用印记录存入至对应的所述记录池中。
[0052] 在本发明实施例中,记录器生成的用印记录还包括实体印章的印章识别码,该印章识别码是实体印章的防伪码,具有唯一性,为了方便用印记录的生成,可将印章识别码预先存入记录器中。由于终端设备可与多个实体印章的记录器建立通信连接,故终端设备可能接收到多个包括不同印章识别码的用印记录。在本发明实施例中,对包括不同印章识别码的用印记录应用分开存储的机制,具体地,分别为每个印章识别码建立对应的记录池,该记录池用于存储用印记录,格式可以为数据库中的数据表,也可以为文本文件,还可以为逗号分隔值(Comma-Separated Values,CSV)文件等。终端设备在接收到用印记录时,识别用印记录中的印章识别码,并将用印记录存储至与印章识别码对应的记录池中。
[0053] 在S302中,当所述记录池中的所述用印记录的数量达到预设阈值时,执行所述对多个所述用印记录按照所述用印时间进行排序的操作。
[0054] 对于设置的多个记录池,每隔固定的统计间隔获取每个记录池中用印记录的数量,若某个记录池中的用印记录的数量达到预设阈值,则对该记录池的多个用印记录按照用印时间进行排序,并将排序后的多个用印记录发送至区块链网络中。
[0055] 可选地,对每个记录池设置执行优先级。在本发明实施例中,可对每个记录池设置执行优先级,若检测到同时存在两个以上的记录池中的用印记录的数量达到预设阈值,则先对优先级较高的记录池中的多个用印记录执行按照用印时间进行排序的操作,通过对记录池设置优先级,提升了用印记录记账的有序性。
[0056] 通过图3所示实施例可知,在本发明实施例中,分别为每个印章识别码建立对应的记录池,并识别接收到的用印记录中的印章识别码,将用印记录存入至对应的记录池中,当记录池中的用印记录的数量达到预设阈值时,执行对多个用印记录按照用印时间进行排序的操作,本发明实施例为每个印章识别码单独建立记录池,提升了记账的有序性,并且在记录池中用印记录的数量达到预设阈值时才进行记账,减小了计算资源的损耗。
[0057] 图4所示,是在本发明实施例三的基础上,并在区块链网络的创世区块包括多个授权节点地址,每个授权节点地址与一个印章识别码对应的基础上,对将所述用印区块添加至所述最新区块之后的过程进行细化后得到的一种实现方法。本发明实施例提供了实体印章的记账方法的实现流程图,如图4所示,该记账方法可以包括以下步骤:
[0058] 在S401中,识别所述用印区块中所述用印记录的印章识别码,作为目标识别码。
[0059] 在本发明实施例中,在创建区块链网络中的创世区块时,在创世区块中存储多个授权节点地址,每个授权节点地址与一个印章识别码对应,授权节点地址指示对于包括印章识别码的用印记录具有访问权限的节点的地址,值得一提的是,根据实际应用场景的不同,授权节点地址也可以为授权节点地址集,即包括多个地址。由于一个用印区块内的用印记录均对应相同的印章识别码,故在本发明实施例中,在区块链网络中的某个节点将用印区块链接至最新区块时,识别该用印区块中用印记录的印章识别码,并将该印章识别码作为目标识别码。
[0060] 在S402中,确定与所述目标识别码对应的所述授权节点地址,并基于所述授权节点地址为所述用印区块设置访问限制接口,所述访问限制接口用于防止除所述授权节点地址外的地址访问所述用印区块。
[0061] 在得到目标识别码后,访问区块链网络的创世区块,并从创世区块存储的多个授权节点地址中确定与目标识别码对应的授权节点地址。然后,基于该授权节点地址为该用印区块设置访问限制接口,实质是为该用印区块设置访问鉴权机制。在访问限制接口设置完成后,区块链网络中的节点若欲访问用印区块,则区块链网络会验证该节点的地址是否与访问限制接口中的授权节点地址相同,若相同,则允许该节点访问用印区块;若不相同,则禁止该节点访问用印区块,进一步提升了用印区块中用印记录的安全性,适用于实体印章为机密公章等场景。
[0062] 通过图4所示实施例可知,在本发明实施例中,在创世区块中存储多个授权节点地址,区块链网络中的某个节点将用印区块链接至最新区块时,将用印区块中用印记录的印章识别码作为目标识别码,并查询创世区块,确定与目标识别码对应的授权节点地址,基于授权节点地址为用印区块设置访问限制接口,该访问限制接口用于防止除授权节点地址外的地址访问用印区块,本发明实施例通过对用印区块建立访问限制,提升了用印区块中用印记录的专有性和保密性。
[0063] 图5所示,是在本发明实施例三的基础上,并在用印记录还包括被加密的验证码的基础上,对识别接收到的用印记录中的印章识别码,将用印记录存入至对应的记录池中的过程进行细化后得到的一种实现方法。本发明实施例提供了实体印章的记账方法的实现流程图,如图5所示,该记账方法可以包括以下步骤:
[0064] 在S501中,基于预设的验证密钥集中的多个验证密钥对接收到的所述用印记录进行解密。
[0065] 在本发明实施例中,记录器在生成用印记录时,还将预设的验证码基于验证加密算法进行加密,并将加密后的验证码添加至用印记录中,其中,验证码与印章识别码对应,也即不同的印章识别码对应不同的验证码。验证加密算法可根据实际应用场景进行确定,比如可为对称加密算法,也可为非对称加密算法,对于具有不同印章识别码的实体印章,可采用相同的验证加密算法,也可采用不同的验证加密算法。为了便于进行解密,可将加密后的验证码添加用印记录中预设的解密位置。
[0066] 与之对应的,在生产实体印章时,将其对应的验证码以及验证加密算法中用于解密的验证密钥进行预先存储,存储地址可以为区块链网络中的数据区块,也可以为终端设备的数据库。终端设备在接收到记录器传输的用印记录时,获取验证密钥集以及与各个印章识别码对应的验证码,并通过验证密钥集中的多个验证密钥依次对用印记录中被加密的验证码进行解密。
[0067] 在S502中,若解密后得到的结果包括所述验证码,则将所述用印记录存入至对应的所述记录池中。
[0068] 通过验证密钥对用印记录中位于解密位置的内容进行解密,如果得到的结果与终端设备获取的,与该用印记录中的印章识别码对应的验证码相同,则确定该用印记录有效,将该用印记录存入对应的记录池中。
[0069] 在S503中,若解密后得到的结果都不包括所述验证码,则输出报警提示。
[0070] 如果通过验证密钥集中的所有验证密钥对用印记录中位于解密位置的内容进行解密后,得到的结果都不包括与该用印记录中印章识别码对应的验证码,则确定该用印记录无效,并输出报警提示,提示终端设备的用户对该用印记录进行查看。
[0071] 通过图5所示实施例可知,在本发明实施例中,终端设备基于预设的验证密钥集中的多个验证密钥对接收到的用印记录进行解密,若解密后得到的结果包括验证码,则将用印记录存入至对应的记录池中;若解密后得到的结果都不包括验证码,则输出报警提示,本发明实施例通过在用印记录中设置加密后的验证码,有效地防止了用印记录伪造。
[0072] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0073] 图7示出了本发明实施例提供的终端设备的结构框图,该终端设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
[0074] 参见图7,所述终端设备包括:
[0075] 获取单元71,用于与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间;
[0076] 发送单元72,用于对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中;
[0077] 添加单元73,用于所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。
[0078] 可选地,区块链网络的创世区块包括多个用印私钥,每个用印私钥与一个预设的数值对应,创世区块为区块链网络中的第一个数据区块,所述发送单元72,还包括:
[0079] 第一查询单元,用于所述区块链网络中的节点查询所述最新区块的区块数,并对所述区块数进行映射处理,得到映射值;
[0080] 第二查询单元,用于查询所述创世区块,确定与所述映射值对应的用印私钥,通过所述用印私钥对排序后的多个所述用印记录进行加密得到加密记录;
[0081] 所述添加单元73,包括:
[0082] 生成单元,用于所述区块链网络中的节点对所述最新区块的区块头进行哈希加密得到所述第一哈希值,并对所述加密记录进行哈希加密得到所述第二哈希值,基于所述第一哈希值、所述第二哈希值以及所述加密记录生成所述用印区块。
[0083] 可选地,所述用印记录还包括印章识别码,所述获取单元71,还包括:
[0084] 存入单元,用于分别为每个印章识别码建立对应的记录池,并识别接收到的所述用印记录中的所述印章识别码,将所述用印记录存入至对应的所述记录池中;
[0085] 执行单元,用于当所述记录池中的所述用印记录的数量达到预设阈值时,执行所述对多个所述用印记录按照所述用印时间进行排序的操作。
[0086] 可选地,区块链网络的创世区块包括多个授权节点地址,每个授权节点地址与一个印章识别码对应,所述添加单元73,还包括:
[0087] 识别单元,用于识别所述用印区块中所述用印记录的印章识别码,作为目标识别码;
[0088] 设置单元,用于确定与所述目标识别码对应的所述授权节点地址,并基于所述授权节点地址为所述用印区块设置访问限制接口,所述访问限制接口用于防止除所述授权节点地址外的地址访问所述用印区块。
[0089] 可选地,用印记录还包括被加密的验证码,所述存入单元,包括:
[0090] 解密单元,用于基于预设的验证密钥集中的多个验证密钥对接收到的所述用印记录进行解密;
[0091] 存入子单元,用于若解密后得到的结果包括所述验证码,则将所述用印记录存入至对应的所述记录池中;
[0092] 报警单元,用于若解密后得到的结果都不包括所述验证码,则输出报警提示。
[0093] 因此,本发明实施例提供的终端设备通过接收记录器生成的用印记录,并将用印记录在区块链网络中进行记账,提升了实体印章用印的透明化程度。
[0094] 图8是本发明实施例提供的终端设备的示意图。如图8所示,该实施例的终端设备8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如实体印章的记账程序。所述处理器80执行所述计算机程序82时实现上述各个实体印章的记账方法实施例中的步骤,例如图1所示的步骤S101至S103。或者,所述处理器80执行所述计算机程序82时实现上述各终端设备实施例中各单元的功能,例如图7所示单元71至73的功能。
[0095] 示例性的,所述计算机程序82可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器81中,并由所述处理器80执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述终端设备8中的执行过程。例如,所述计算机程序82可以被分割成获取单元、发送单元和添加单元,各单元具体功能如下:
[0096] 获取单元,用于与所述实体印章内部的所述记录器建立通信连接,并获取所述记录器记录的所述实体印章的用印记录,所述用印记录包括用印时间;
[0097] 发送单元,用于对多个所述用印记录按照所述用印时间进行排序,并将排序后的多个所述用印记录发送至预设的区块链网络中;
[0098] 添加单元,用于所述区块链网络中的节点对所述区块链网络中最新区块的区块头进行哈希加密得到第一哈希值,并对排序后的多个所述用印记录进行哈希加密得到第二哈希值,基于所述第一哈希值、所述第二哈希值以及排序后的多个所述用印记录生成用印区块,若将所述用印区块在所述区块链网络中进行共识验证的结果为成功,则将所述用印区块添加至所述最新区块。
[0099] 所述终端设备8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的示例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0100] 所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0101] 所述存储器81可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81也可以是所述终端设备6的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
[0102] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述终端设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0103] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0104] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0105] 在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0106] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0107] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0108] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0109] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。