发明内容
本发明的主要目的在于提供一种区块链的交易记录生成方法及相关设备,旨在解决在对订阅方服务端进行适配改造的过程中,用户将无法正常获得交易记录的技术问题。
为实现上述目的,本发明提供的一种区块链的交易记录生成方法,应用于区块链系统,所述区块链系统上设置有交易记录订阅接口,所述方法包括:
在生成区块后,对所述区块对应的交易的交易信息进行记录,获得所述区块的交易记录;
将所述交易记录通过所述交易记录订阅接口发送至订阅方服务端。
可选的,所述区块链系统上还设置有交易记录提供接口,所述方法还包括:
获得所述订阅方服务端向所述交易记录提供接口发送的交易记录获取请求;
将所述交易记录通过所述交易记录提供接口发送至所述订阅方服务端。
可选的,所述对所述区块对应的交易的交易信息进行记录,获得所述区块的交易记录,包括:
确定所述区块对应的交易的交易类型;
根据确定的所述交易类型确定需记录的信息类型;
从所述区块对应的交易的交易信息中获得确定的所述信息类型的交易信息并进行记录,获得所述区块的交易记录。
可选的,所述交易类型包括转出隐私交易、转入隐私交易、双方隐私交易、非隐私交易、合约账户交易、普通账户交易中的至少一种。
可选的,在确定的所述交易类型为非隐私交易时,所述根据确定的所述交易类型确定需记录的信息类型,包括:确定需记录的信息类型包括:转出交易记录、转入交易记录和手续费交易记录;
和/或,在确定的所述交易类型为双方隐私交易时,所述根据确定的所述交易类型确定需记录的信息类型,包括:确定需记录的信息类型为空;
和/或,在确定的所述交易类型为转出隐私交易时,所述根据确定的所述交易类型确定需记录的信息类型,包括:确定需记录的信息类型包括:转入交易记录和手续费交易记录;
和/或,在确定的所述交易类型为转入隐私交易时,所述根据确定的所述交易类型确定需记录的信息类型,包括:确定需记录的信息类型包括:转出交易记录和手续费交易记录。
可选的,在确定的所述交易类型为非隐私交易和合约账户交易时,所述根据确定的所述交易类型确定需记录的信息类型,包括:确定需记录的信息类型包括:转出交易记录、转入交易记录、手续费交易记录和合约子交易记录;
和/或,在确定的所述交易类型为转出隐私交易和合约账户交易时,所述根据确定的所述交易类型确定需记录的信息类型,包括:确定需记录的信息类型包括:转入交易记录、手续费交易记录和合约子交易记录。
可选的,所述方法还包括:
在所述区块对应的交易执行完成后,将获得的所述区块的交易记录存入数据库中。
为实现上述目的,本发明进一步提供一种区块链的交易记录生成方法,应用于订阅方服务端,所述方法包括:
在通过所述区块链系统上设置的交易记录订阅接口对区块的交易记录进行订阅后,获得所述区块链系统通过所述交易记录订阅接口发送的区块的交易记录;
将所述交易记录发送至用户端进行显示。
为实现上述目的,本发明进一步提供一种区块链系统,所述区块链系统包括存储器、处理器和总线,所述处理器与所述存储器通过所述总线完成相互间的通信,所述存储器上存储有可在所述处理器上运行的区块链的交易记录生成程序,所述区块链的交易记录生成程序被所述处理器执行时实现应用于区块链系统的区块链的交易记录生成方法。
为实现上述目的,本发明进一步提供一种订阅方服务端,所述订阅方服务端包括存储器、处理器和总线,所述处理器与所述存储器通过所述总线完成相互间的通信,所述存储器上存储有可在所述处理器上运行的区块链的交易记录生成程序,所述区块链的交易记录生成程序被所述处理器执行时实现应用于订阅方服务端的区块链的交易记录生成方法。
为实现上述目的,本发明进一步提供一种区块链的交易记录生成装置,应用于区块链系统,所述区块链系统上设置有交易记录订阅接口,所述装置包括:
第一交易记录获得单元,用于在生成区块后,对所述区块对应的交易的交易信息进行记录,获得所述区块的交易记录;
第一交易记录发送单元,用于将所述交易记录通过所述交易记录订阅接口发送至订阅方服务端。
为实现上述目的,本发明进一步提供一种区块链的交易记录生成装置,应用于订阅方服务端,所述装置包括:
第二交易记录获得单元,用于在通过所述区块链系统上设置的交易记录订阅接口对区块的交易记录进行订阅后,获得所述区块链系统通过所述交易记录订阅接口发送的区块的交易记录;
第二交易记录发送单元,用于将所述交易记录发送至用户端进行显示。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链的交易记录生成程序,所述区块链的交易记录生成程序可被一个或者多个处理器执行,以实现应用于区块链系统的区块链的交易记录生成方法。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链的交易记录生成程序,所述区块链的交易记录生成程序可被一个或者多个处理器执行,以实现应用于订阅方服务端的区块链的交易记录生成方法。
为实现上述目的,本发明进一步提供一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行应用于区块链系统的区块链的交易记录生成方法。
为实现上述目的,本发明进一步提供一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行应用于订阅方服务端的区块链的交易记录生成方法。
借由上述技术方案,本发明提供的一种区块链的交易记录生成方法及相关设备,可以应用于区块链系统,所述区块链系统上设置有交易记录订阅接口,可以在生成区块后,对所述区块对应的交易的交易信息进行记录,获得所述区块的交易记录;将所述交易记录通过所述交易记录订阅接口发送至订阅方服务端。本发明可以在区块链系统中生成区块链的交易记录,这样订阅方服务端只需通过交易记录订阅接口从区块链系统获得区块链的交易记录即可。区块链系统的变更升级对订阅方服务端获取交易记录没有影响,因此无需技术人员对订阅方服务端进行适配改造,进而不会影响用户正常获得交易记录,提升了用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,图1为本发明实施例提供的一种应用于区块链系统的区块链的交易记录生成方法的流程示意图,在一实施例中,所述区块链系统上设置有交易记录订阅接口,所述方法可以包括:
S100、在生成区块后,对所述区块对应的交易的交易信息进行记录,获得所述区块的交易记录。
具体的,区块链系统可以是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的应用模式。区块链系统可以是一个去中心化的数据库。区块链系统可以包括多个区块,每个区块是一串使用密码学方法相关联产生的数据块,每个区块可以对应多个交易,本发明实施例可以对该多个交易的交易信息进行记录,分别获得与该多个交易对应的交易记录。交易记录订阅接口可以是区块链系统为订阅方服务端提供订阅的接口。区块链系统可以通过交易记录订阅接口与订阅方服务端连接。在实际应用中,交易记录的表现形式可以为结构体(struct)。
S200、将所述交易记录通过所述交易记录订阅接口发送至订阅方服务端。
订阅方服务端可以是为用户提供订阅服务的设备,如订阅服务器。订阅方服务端可以通过区块链系统的交易记录订阅接口获得交易记录,然后发送给用户端。这样,订阅方服务端无需对交易信息进行分析处理后生成交易记录,而可以直接通过交易记录订阅接口获得区块链系统发送的交易记录。
本发明实施例提供的一种区块链的交易记录生成方法,可以应用于区块链系统,所述区块链系统上设置有交易记录订阅接口,可以在生成区块后,对所述区块对应的交易的交易信息进行记录,获得所述区块的交易记录;将所述交易记录通过所述交易记录订阅接口发送至订阅方服务端。本发明可以在区块链系统中生成区块链的交易记录,这样订阅方服务端只需通过交易记录订阅接口从区块链系统获得区块链的交易记录即可。区块链系统的变更升级对订阅方服务端获取交易记录没有影响,因此无需技术人员对订阅方服务端进行适配改造,进而不会影响用户正常获得交易记录,提升了用户体验。
参照图2,图2为本发明实施例提供的另一种应用于区块链系统的区块链的交易记录生成方法的流程示意图,在一实施例中,在生成区块后,步骤S100获得交易记录的过程可以包括:
S110、确定所述区块对应的交易的交易类型。
本发明实施例中的交易类型可以包括转出隐私交易、转入隐私交易、双方隐私交易、非隐私交易、合约账户交易、普通账户交易中的至少一种。
本发明实施例中的交易可以包括UTXO(Unspent Transaction Output,未花费的交易输出)和Account。UTXO为隐私交易,当交易的转出方和/或转入方为UTXO时,本发明实施例不对UTXO的一方的交易信息进行记录。当交易的转出方和/或转入方为Account时,本发明实施例需要确定该Account为合约账户或普通账户,当Account为合约账户时,该交易的交易类型为合约账户交易,当Account为普通账户时,该交易的交易类型为普通账户交易。需要注意的是,当交易的交易类型为非隐私交易时,该交易的交易类型可以包括合约账户交易和/或普通账户交易。当交易的交易类型为转出隐私交易时,该交易的交易类型可以包括合约账户交易或普通账户交易。当交易的交易类型为转入隐私交易时,该交易的交易类型可以包括合约账户交易或普通账户交易。
S120、根据确定的所述交易类型确定需记录的信息类型。
在本发明一可选的实施例中,在本发明实施例的转出方和转入方的交易类型均为普通账户交易的情况下,步骤S120可以包括以下四种情形中的至少一种:
情形一、在确定的所述交易类型为非隐私交易时,步骤S120可以包括:确定需记录的信息类型包括:转出交易记录、转入交易记录和手续费交易记录。
本发明实施例在情形一中,由于交易类型为非隐私交易,且交易的转出方和转入方均为普通账户交易,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录、交易的转入方的转入交易记录和该交易产生的手续费交易记录。
情形二、在确定的所述交易类型为双方隐私交易时,步骤S120可以包括:确定需记录的信息类型为空。
本发明实施例在情形二中,由于交易类型为双方隐私交易,本发明实施例可以确定需记录的信息类型为空。
情形三、在确定的所述交易类型为转出隐私交易时,步骤S120可以包括:确定需记录的信息类型包括:转入交易记录和手续费交易记录。
本发明实施例在情形三中,由于交易类型为转出隐私交易,且交易的转出方和转入方均为普通账户交易,本发明实施例可以确定需记录的信息类型包括交易的转入方的转入交易记录和该交易产生的手续费交易记录。
情形四、在确定的所述交易类型为转入隐私交易时,步骤S120可以包括:确定需记录的信息类型包括:转出交易记录和手续费交易记录。
本发明实施例在情形四中,由于交易类型为转入隐私交易,且交易的转出方和转入方均为普通账户交易,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录和该交易产生的手续费交易记录。
可选的,在确定的所述交易类型为非隐私交易和合约账户交易时,步骤S120可以包括:确定需记录的信息类型包括:转出交易记录、转入交易记录、手续费交易记录和合约子交易记录。
在本发明一可选的实施例中,当交易类型为非隐私交易的情况下,该交易的交易类型可以包括合约账户交易和/或普通账户交易,即包括以下四种情况中的至少一种情况:
情况一、交易的转出方为合约账户交易,且交易的转入方为普通账户交易。
本发明实施例在情况一中,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录、交易的转入方的转入交易记录、该交易的手续费交易记录和交易的转出方的合约子交易记录。转出方的合约子交易记录可以包括:合约内部转账记录、合约销毁记录和凭空增发等。
情况二、交易的转出方为普通账户交易,且交易的转入方为合约账户交易。
本发明实施例在情况二中,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录、交易的转入方的转入交易记录、该交易的手续费交易记录和交易的转入方的合约子交易记录。转入方的合约子交易记录可以包括:合约内部转账记录、合约销毁记录和凭空增发等。
情况三、交易的转出方和交易的转入方均为合约账户交易。
本发明实施例在情况二中,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录、交易的转入方的转入交易记录、该交易的手续费交易记录、交易的转出方的合约子交易记录和交易的转入方的合约子交易记录。合约子交易记录可以包括:合约内部转账记录、合约销毁记录和凭空增发等。
情况四、交易的转出方和交易的转入方均为普通账户交易。
本发明实施例当交易的转出方和交易的转入方均为普通账户交易时,确定需记录的信息类型已在上述情形一中说明,本发明实施例在此不作赘述。
可选的,在确定的所述交易类型为转出隐私交易和合约账户交易时,步骤S120可以包括:确定需记录的信息类型包括:转入交易记录、手续费交易记录和合约子交易记录。
S130、从所述区块对应的交易的交易信息中获得确定的所述信息类型的交易信息并进行记录,获得所述区块的交易记录。
可以理解的是,由于本发明实施例应用于区块链系统,因此交易记录中还可以包括:与该交易记录对应的区块的哈希、与该交易记录对应的区块的生成时间、Payload集合、交易nonce值、交易Gas值、交易GasPrice、交易的转出地址、交易的转入地址、交易操作以及token id在内的一种或多种信息。
在本发明实施例的实际使用过程中,可能会出现包括网络异常在内的通信故障问题,进而导致本发明实施例无法通过交易记录订阅接口将交易记录发送至订阅方服务端的情况。为了解决此问题,可以参照图3,图3为本发明实施例提供的另一种应用于区块链系统的区块链的交易记录生成方法的流程示意图,在一实施例中,所述区块链系统上还设置有交易记录提供接口,所述方法还可以包括:
S300、获得所述订阅方服务端向所述交易记录提供接口发送的交易记录获取请求。
在发生由于通信故障问题导致本发明实施例无法通过区块链系统的交易记录订阅接口将交易记录发送至订阅方服务端之后,本发明实施例可以通过区块链系统中的交易记录提供接口获得订阅方服务端发送的交易记录获取请求。
S400、将所述交易记录通过所述交易记录提供接口发送至所述订阅方服务端。
本发明实施例可以根据获得的交易记录获取请求中指定区块高度的区块,将该区块对应的交易的交易记录通过交易记录提供接口发送至订阅方服务端。本发明实施例通过在区块链系统中设置交易记录提供接口的技术手段,使本发明实施例可以在通信故障的情况下主动将交易记录发送至订阅方服务端。
需要注意的是,步骤S300至S400可以在本发明实施例无法通过交易记录订阅接口将交易记录发送至订阅方服务端的情况下执行,图3所示只是其中一种情况。
参照图4,图4为本发明实施例提供的另一种应用于区块链系统的区块链的交易记录生成方法的流程示意图,在一实施例中,该方法还可以包括:
S500、在所述区块对应的交易执行完成后,将获得的所述区块的交易记录存入数据库中。
本发明实施例可以在区块对应的交易执行完成后,将该交易的交易记录存入区块链系统中的peer节点对应的数据库中。peer节点为外部可访问的区块链节点。peer节点不参与投票共识。peer节点可以用于区块的同步、存储、以及提供请求-响应协议(HTTP)、应用层协议(WebSocket)、订阅等接口供给外部用户请求访问。本发明实施例通过将交易记录存入区块链系统中的peer节点对应的数据库中的技术手段,不会影响区块链系统生成区块的性能。
本发明实施例中peer节点对应的数据库可以为独立数据库,在该数据库中存储的key可以按字典升序进行排列,因此该数据库的读写性能优越,进而提升了区块链的交易记录的同步性能,降低了交易记录在同步时的传输量。
参照图5,图5为本发明实施例提供的一种应用于订阅方服务端的区块链的交易记录生成方法的流程示意图,在一实施例中,该方法可以包括:
S10、在通过所述区块链系统上设置的交易记录订阅接口对区块的交易记录进行订阅后,获得所述区块链系统通过所述交易记录订阅接口发送的区块的交易记录。
具体的,在订阅方服务端通过交易记录订阅接口对区块的交易记录进行订阅后,订阅方服务端可以通过交易记录订阅接口获得区块链系统发送的与该区块对应的交易的交易记录。
S20、将所述交易记录发送至用户端进行显示。
可选的,用户端可以包括手机、平板电脑等通信设备。交易记录可以以表格、图表等形式显示在用户端的显示界面上。具体的,本发明实施例中的订阅方服务端可以设置有数据查询接口。订阅方服务端可以通过数据查询接口与用户端连接。本发明实施例可以通过数据查询接口将交易记录通过数据查询接口发送至用户端进行显示。
本发明实施例提供的一种区块链的交易记录生成方法,可以应用于订阅方服务端,可以在通过所述区块链系统上设置的交易记录订阅接口对区块的交易记录进行订阅后,获得所述区块链系统通过所述交易记录订阅接口发送的区块的交易记录;将所述交易记录发送至用户端进行显示。本发明可以在区块链系统中生成区块链的交易记录,这样订阅方服务端只需通过交易记录订阅接口从区块链系统获得区块链的交易记录即可。区块链系统的变更升级对订阅方服务端获取交易记录没有影响,因此无需技术人员对订阅方服务端进行适配改造,进而不会影响用户正常获得交易记录,提升了用户体验。
与上述方法实施例相对应,本发明实施例还提供一种应用于区块链系统的区块链的交易记录生成装置,所述区块链系统上设置有交易记录订阅接口,所述装置的结构可以参照图6所示,包括:第一交易记录获得单元100和第一交易记录发送单元200。
第一交易记录获得单元100,用于在生成区块后,对所述区块对应的交易的交易信息进行记录,获得所述区块的交易记录。
第一交易记录发送单元200,用于将所述交易记录通过所述交易记录订阅接口发送至订阅方服务端。
本发明实施例提供的一种区块链的交易记录生成装置,可以应用于区块链系统,所述区块链系统上设置有交易记录订阅接口,可以在生成区块后,对所述区块对应的交易的交易信息进行记录,获得所述区块的交易记录;将所述交易记录通过所述交易记录订阅接口发送至订阅方服务端。本发明可以在区块链系统中生成区块链的交易记录,这样订阅方服务端只需通过交易记录订阅接口从区块链系统获得区块链的交易记录即可。区块链系统的变更升级对订阅方服务端获取交易记录没有影响,因此无需技术人员对订阅方服务端进行适配改造,进而不会影响用户正常获得交易记录,提升了用户体验。
可选的,第一交易记录获得单元100可以包括:交易类型确定子单元、信息类型确定子单元和交易记录获得子单元。
交易类型确定子单元,用于确定所述区块对应的交易的交易类型。
信息类型确定子单元,用于根据确定的所述交易类型确定需记录的信息类型。
在本发明一可选的实施例中,在本发明实施例的转出方和转入方的交易类型均为普通账户交易的情况下,信息类型确定子单元可以用于包括以下四种情形中的至少一种:
情形一、在确定的所述交易类型为非隐私交易时,确定需记录的信息类型包括:转出交易记录、转入交易记录和手续费交易记录。
本发明实施例在情形一中,由于交易类型为非隐私交易,且交易的转出方和转入方均为普通账户交易,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录、交易的转入方的转入交易记录和该交易产生的手续费交易记录。
情形二、在确定的所述交易类型为双方隐私交易时,确定需记录的信息类型为空。
本发明实施例在情形二中,由于交易类型为双方隐私交易,本发明实施例可以确定需记录的信息类型为空。
情形三、在确定的所述交易类型为转出隐私交易时,确定需记录的信息类型包括:转入交易记录和手续费交易记录。
本发明实施例在情形三中,由于交易类型为转出隐私交易,且交易的转出方和转入方均为普通账户交易,本发明实施例可以确定需记录的信息类型包括交易的转入方的转入交易记录和该交易产生的手续费交易记录。
情形四、在确定的所述交易类型为转入隐私交易时,确定需记录的信息类型包括:转出交易记录和手续费交易记录。
本发明实施例在情形四中,由于交易类型为转入隐私交易,且交易的转出方和转入方均为普通账户交易,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录和该交易产生的手续费交易记录。
可选的,信息类型确定子单元可以在确定的所述交易类型为非隐私交易和合约账户交易时,确定需记录的信息类型包括:转出交易记录、转入交易记录、手续费交易记录和合约子交易记录。
在本发明一可选的实施例中,当交易类型为非隐私交易的情况下,该交易的交易类型可以包括合约账户交易和/或普通账户交易,即信息类型确定子单元可以用于包括以下四种情况中的至少一种情况:
情况一、交易的转出方为合约账户交易,且交易的转入方为普通账户交易。
本发明实施例在情况一中,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录、交易的转入方的转入交易记录、该交易的手续费交易记录和交易的转出方的合约子交易记录。转出方的合约子交易记录可以包括:合约内部转账记录、合约销毁记录和凭空增发等。
情况二、交易的转出方为普通账户交易,且交易的转入方为合约账户交易。
本发明实施例在情况二中,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录、交易的转入方的转入交易记录、该交易的手续费交易记录和交易的转入方的合约子交易记录。转入方的合约子交易记录可以包括:合约内部转账记录、合约销毁记录和凭空增发等。
情况三、交易的转出方和交易的转入方均为合约账户交易。
本发明实施例在情况二中,本发明实施例可以确定需记录的信息类型包括交易的转出方的转出交易记录、交易的转入方的转入交易记录、该交易的手续费交易记录、交易的转出方的合约子交易记录和交易的转入方的合约子交易记录。合约子交易记录可以包括:合约内部转账记录、合约销毁记录和凭空增发等。
情况四、交易的转出方和交易的转入方均为普通账户交易。
本发明实施例当交易的转出方和交易的转入方均为普通账户交易时,确定需记录的信息类型已在上述情形一中说明,本发明实施例在此不作赘述。
可选的,信息类型确定子单元在确定的所述交易类型为转出隐私交易和合约账户交易时,可以确定需记录的信息类型包括:转入交易记录、手续费交易记录和合约子交易记录。
交易记录获得子单元,用于从所述区块对应的交易的交易信息中获得确定的所述信息类型的交易信息并进行记录,获得所述区块的交易记录。
可以理解的是,由于本发明实施例应用于区块链系统,因此交易记录中还可以包括:与该交易记录对应的区块的哈希、与该交易记录对应的区块的生成时间、Payload集合、交易nonce值、交易Gas值、交易GasPrice、交易的转出地址、交易的转入地址、交易操作以及token id在内的一种或多种信息。
在本发明实施例的实际使用过程中,可能会出现包括网络异常在内的通信故障问题,进而导致本发明实施例无法通过交易记录订阅接口将交易记录发送至订阅方服务端的情况。为了解决此问题,本发明实施例提供另一种应用于区块链系统的区块链的交易记录生成装置,该装置可以包括:请求获得单元和请求发送单元。
请求获得单元,用于获得所述订阅方服务端向所述交易记录提供接口发送的交易记录获取请求。
在发生由于通信故障问题导致本发明实施例无法通过区块链系统的交易记录订阅接口将交易记录发送至订阅方服务端之后,本发明实施例可以通过区块链系统中的交易记录提供接口获得订阅方服务端发送的交易记录获取请求。
请求发送单元,用于将所述交易记录通过所述交易记录提供接口发送至所述订阅方服务端。
本发明实施例可以根据获得的交易记录获取请求中指定区块高度的区块,将该区块对应的交易的交易记录通过交易记录提供接口发送至订阅方服务端。本发明实施例通过在区块链系统中设置交易记录提供接口的技术手段,使本发明实施例可以在通信故障的情况下主动将交易记录发送至订阅方服务端。
需要注意的是,请求获得单元和请求发送单元可以在本发明实施例无法通过交易记录订阅接口将交易记录发送至订阅方服务端的情况下触发。
可选的,本发明实施例提供另一种应用于区块链系统的区块链的交易记录生成装置,该装置还可以包括:交易记录存入单元。
交易记录存入单元,用于在所述区块对应的交易执行完成后,将获得的所述区块的交易记录存入数据库中。
本发明实施例可以在区块对应的交易执行完成后,将该交易的交易记录存入区块链系统中的peer节点对应的数据库中。peer节点为外部可访问的区块链节点。peer节点不参与投票共识。peer节点可以用于区块的同步、存储、以及提供请求-响应协议(HTTP)、应用层协议(WebSocket)、订阅等接口供给外部用户请求访问。本发明实施例通过将交易记录存入区块链系统中的peer节点对应的数据库中的技术手段,不会影响区块链系统生成区块的性能。
本发明实施例中peer节点对应的数据库可以为独立数据库,在该数据库中存储的key可以按字典升序进行排列,因此该数据库的读写性能优越,进而提升了区块链的交易记录的同步性能,降低了交易记录在同步时的传输量。
参照图7,图7为本发明实施例提供的一种应用于订阅方服务端的区块链的交易记录生成装置,该装置可以包括:第二交易记录获得单元300和第二交易记录发送单元400。
第二交易记录获得单元300,用于在通过所述区块链系统上设置的交易记录订阅接口对区块的交易记录进行订阅后,获得所述区块链系统通过所述交易记录订阅接口发送的区块的交易记录。
具体的,在订阅方服务端通过交易记录订阅接口对区块的交易记录进行订阅后,订阅方服务端可以通过交易记录订阅接口获得区块链系统发送的与该区块对应的交易的交易记录。
第二交易记录发送单元400,用于将所述交易记录发送至用户端进行显示。
可选的,用户端可以包括手机、平板电脑等通信设备。交易记录可以以表格、图表等形式显示在用户端的显示界面上。具体的,本发明实施例中的订阅方服务端可以设置有数据查询接口。订阅方服务端可以通过数据查询接口与用户端连接。本发明实施例可以通过数据查询接口将交易记录通过数据查询接口发送至用户端进行显示。
本发明实施例提供的一种区块链的交易记录生成装置,可以应用于订阅方服务端,可以在通过所述区块链系统上设置的交易记录订阅接口对区块的交易记录进行订阅后,获得所述区块链系统通过所述交易记录订阅接口发送的区块的交易记录;将所述交易记录发送至用户端进行显示。本发明可以在区块链系统中生成区块链的交易记录,这样订阅方服务端只需通过交易记录订阅接口从区块链系统获得区块链的交易记录即可。区块链系统的变更升级对订阅方服务端获取交易记录没有影响,因此无需技术人员对订阅方服务端进行适配改造,进而不会影响用户正常获得交易记录,提升了用户体验。
参照图8所示,本发明实施例提供的一种区块链系统,该区块链系统包括存储器11、处理器12和总线13,所述处理器12与所述存储器11通过所述总线13完成相互间的通信,所述存储器11上存储有可在所述处理器12上运行的区块链的交易记录生成程序,所述区块链的交易记录生成程序被所述处理器12执行时实现应用于区块链系统的区块链的交易记录生成方法。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是区块链系统的内部存储单元,例如区块链系统的硬盘。存储器11在另一些实施例中也可以是区块链系统的外部存储设备,例如区块链系统上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括区块链系统的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于区块链系统的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
参照图9所示,本发明实施例提供的一种订阅方服务端,所述订阅方服务端包括存储器21、处理器22和总线23,所述处理器22与所述存储器21通过所述总线23完成相互间的通信,所述存储器21上存储有可在所述处理器22上运行的区块链的交易记录生成程序,所述区块链的交易记录生成程序被所述处理器22执行时实现应用于订阅方服务端的区块链的交易记录生成方法。
其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器21在一些实施例中可以是订阅方服务端的内部存储单元,例如该订阅方服务端的硬盘。存储器21在另一些实施例中也可以是订阅方服务端的外部存储设备,例如订阅方服务端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器21还可以既包括订阅方服务端的内部存储单元也包括外部存储设备。存储器21不仅可以用于存储安装于订阅方服务端的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器22在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据。
该总线23可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链的交易记录生成程序,所述区块链的交易记录生成程序可被一个或者多个处理器执行,以实现应用于区块链系统的区块链的交易记录生成方法。
本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链的交易记录生成程序,所述区块链的交易记录生成程序可被一个或者多个处理器执行,以实现应用于订阅方服务端的区块链的交易记录生成方法。
本发明实施例提供的一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行应用于区块链系统的区块链的交易记录生成方法。
本发明实施例提供的一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行应用于订阅方服务端的区块链的交易记录生成方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点/计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。