基于区块链的数据处理系统、方法、计算设备及存储介质
技术领域
本说明书涉及区块链技术领域,特别涉及一种基于区块链的数据处理系统、方法、计算设备及存储介质。
背景技术
随着经济的发展,保险已经成为生活中重要的组成部分,如今保险的销售方式越来越多样化,例如,许多保险公司会委托第三方服务机构代销保险,这样保险公司与第三方服务机构间就需要进行保险佣金结算,而现有技术中,保险公司与第三方服务平台之间在结算佣金之前,双发需对交易数据达成一致,即保险公司与第三方服务平台间需要对一定周期内的交易数据进行核对,以便发现同一笔交易在不同机构是否存在数据差异。
现有技术中,机构间的数据处理方法为第三方服务平台将预设时间段内产生的交易数据打包发送至保险公司,保险公司对交易数据进行验证,在验证通过后,再进行佣金结算,但是现有技术中所采用的佣金结算方法开发成本较高,第三方服务平台需将交易数据从核心业务系统导出,以文件传输或其他方式发送至保险公司进行数据核对,整个过程耗时较长,时效性较差,并且未来如果某一方机构对交易数据发生争议,缺少一个双方都能认可的仲裁机制。
发明内容
有鉴于此,本说明书实施例提供了一种基于区块链的数据处理系统、方法、计算设备及存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种基于区块链的数据处理系统,包括:
区块链上的业务端区块链节点和服务端区块链节点;
业务端区块链节点,被配置为为目标业务创建匹配的交易数据结构并将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据,在所述共享业务数据包含的信息满足所述业务端区块链节点的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,根据所述执行结果对所述共享业务数据进行更新并执行记账操作,根据预设条件采集更新后的共享业务数据并向服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有所述更新后的共享业务数据;
服务端区块链节点,被配置为接收所述待统计业务处理请求,计算所述更新后的共享业务数据中的待统计金额总和。
可选地,业务端区块链节点包括:业务端区块链业务子节点和业务端区块链记账子节点;
业务端区块链业务子节点,被配置为为目标业务创建匹配的交易数据结构并将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据,向业务端区块链记账子节点发送记账请求,所述记账请求中携带有所述共享业务数据;
业务端区块链记账子节点,被配置为接收所述记账请求,在满足所述业务端区块链记账子节点中的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,根据智能合约执行结果对所述共享业务数据进行更新并执行记账操作。
可选地,业务端区块链记账子节点,还被配置为根据预设条件采集更新后的共享业务数据并向服务端发送待统计业务处理请求,所述待统计业务处理请求中携带有所述更新后的共享业务数据。
可选地,业务端区块链业务子节点,进一步被配置为创建基于未使用交易输出模型(UTXO)的交易数据结构,所述交易数据结构中包括交易ID、交易输入和输出单元,所述交易输入单元中附带有使用账户余额的签名解锁脚本,所述交易输出单元中附带有输出余额的锁定脚本,用于限定只有指定账户可使用与之对应的UTXO单元。
可选地,业务端区块链记账子节点,进一步被配置为根据所述共享业务数据中的业务额以及待统计金额在所述业务额中的占比计算所述待统计金额,并根据所述共享业务数据以及智能合约中的账户映射表确定输出账户,基于所述待统计金额及输出账户对所述共享业务数据的输出单元进行更新。
可选地,业务端区块链记账子节点,还被配置为监控所述智能合约中的状态机、事物和/或触发条件是否满足预设的执行条件,若所述智能合约中的状态机、事物和/或触发条件中的任意一项满足预设的执行条件,则所述智能合约达到自动执行条件。
可选地,业务端区块链业务子节点,还被配置为获取待统计金额的计算方式,确定交易信息和记账账户间的映射关系,并根据所述交易信息和记账账户间的映射关系生成对应的账户映射表,根据待统计金额的计算方式以及所述账户映射表创建所述智能合约,并将所述智能合约写入区块链网络。
可选地,业务端区块链记账子节点,还被配置为获取待统计金额的计算方式,确定交易信息和记账账户间的映射关系,并根据所述交易信息和记账账户间的映射关系生成对应的账户映射表,根据待统计金额的计算方式以及所述账户映射表创建所述智能合约,并将所述智能合约写入区块链网络。
可选地,业务端区块链节点,还被配置为将用私钥签名的更新后的共享业务数据传入区块链网络中,对传入区块链网络中的所述更新后的共享业务数据进行有效性验证,当所述更新后的共享业务数据的有效性验证成功后,将所述更新后的共享业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
可选地,业务端区块链记账子节点,进一步被配置为根据预设条件采集共享业务数据,并将所述共享业务数据进行整合生成待统计业务数据,对所述待统计业务数据进行处理生成对应的哈希值,向所述服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有所述待统计业务数据以及对应的哈希值。
可选地,服务端区块链节点,进一步被配置为获取所述待统计业务处理请求中携带的所述待统计业务数据以及对应的哈希值,基于所述哈希值对所述待统计业务数据进行有效性验证,在验证通过的情况下,计算所述待统计业务数据中的待统计金额总和,根据计算结果对所述待统计业务数据中的输出单元进行更新,并基于所述计算结果完成对所述业务端区块链节点的待统计业务处理。
可选地,服务端区块链节点,还被配置为将所述更新后的待统计业务数据写入区块链中。
根据本说明书实施例的另一方面,提供了一种基于区块链的数据处理方法,应用于业务端区块链节点,包括:
为目标业务创建匹配的交易数据结构并将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据;
在所述共享业务数据包含的信息满足所述业务端区块链节点的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,并根据所述执行结果对所述共享业务数据进行更新并执行记账操作;
根据预设条件采集更新后的共享业务数据并向服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有所述更新后的共享业务数据。
可选地,为目标业务创建匹配的交易数据结构包括:
创建基于未使用交易输出模型(UTXO)的交易数据结构,所述交易数据结构中包括交易ID、交易输入和输出单元。
可选地,自动执行计算待统计金额的任务,生成对应的执行结果,并根据所述执行结果对所述共享业务数据进行更新包括:
根据所述共享业务数据中的业务额以及待统计金额在所述业务额中的占比计算所述待统计金额,并根据所述共享业务数据以及智能合约中的账户映射表确定输出账户;
基于所述待统计金额及输出账户对所述共享业务数据的输出单元进行更新。
可选地,为目标业务创建匹配的交易数据结构之前,还包括:
获取待统计金额的计算方式,确定交易信息和记账账户间的映射关系,并根据所述交易信息和记账账户间的映射关系生成对应的账户映射表;
根据待统计金额的计算方式以及所述账户映射表创建所述智能合约;
将所述智能合约写入区块链网络。
可选地,自动执行计算待统计金额的任务之前,还包括:
监控所述业务端区块链节点的智能合约中的状态机、事物和/或触发条件是否满足预设的执行条件;
若所述智能合约中的状态机、事物和/或触发条件中的任意一项满足预设的执行条件,则所述智能合约达到自动执行条件。
可选地,将所述智能合约写入区块链网络包括:
将用私钥签名的更新后的共享业务数据传入区块链网络中,对传入区块链网络中的所述更新后的共享业务数据进行有效性验证,当所述更新后的共享业务数据的有效性验证成功后,将所述更新后的共享业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
可选地,根据预设条件采集更新后的共享业务数据并向服务端区块链节点发送待统计业务处理请求包括:
根据预设条件采集共享业务数据;
将所述共享业务数据进行整合生成待统计业务数据,对所述待统计业务数据进行处理生成对应的哈希值;
向服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有所述待统计业务数据以及对应的哈希值。
根据本说明书实施例的另一方面,提供了一种基于区块链的数据处理方法,应用于服务端区块链节点,包括:
接收业务处理请求,所述业务处理请求中携带有共享业务数据;
在所述共享业务数据包含的信息满足所述服务端区块链节点的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,并根据所述执行结果对所述共享业务数据进行更新并执行记账操作;
根据预设条件采集更新后的共享业务数据并计算所述更新后的共享业务数据中的待统计金额总和。
可选地,计算所述更新后的共享业务数据中的待统计金额总和之后,还包括:
根据计算结果对所述待统计业务数据中的输出单元进行更新,并基于所述计算结果完成对所述业务端区块链节点的待统计业务处理;
将所述更新后的待统计业务数据写入区块链中。
根据本说明书实施例的另一方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述基于区块链的数据处理方法的步骤。
根据本说明书实施例的另一方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述基于区块链的数据处理方法的步骤。
本说明书实施例中,通过业务端区块链节点为目标业务创建匹配的交易数据结构并将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据,在满足业务端区块链节点的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,根据所述执行结果对所述共享业务数据进行更新并执行记账操作,根据预设条件采集更新后的共享业务数据并向服务端区块链节点发送待统计业务处理请求,服务端区块链节点接收所述待统计业务处理请求,计算所述更新后的共享业务数据中的待统计金额总和,本说明书实施例中,在业务端和服务端之间建立双方共同维护的分布式账本,并对业务端每笔交易产生的交易数据在账本上进行实时计算,大幅提高了数据结算的效率,利用区块链同时能够保证交易数据的不可篡改性和准确性。
附图说明
图1是本申请实施例提供的基于区块链的数据处理系统的示意图;
图2是本申请实施例提供的计算设备的结构框图;
图3是本申请实施例提供的基于区块链的数据处理方法的流程图;
图4是本申请实施例提供的基于区块链的数据处理方法的流程图;
图5是本申请实施例提供的基于区块链的数据处理方法在保险业务联盟链的应用场景中的交互示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
未使用交易输出模型(Unspent Transaction Output):比特币交易的基本单位,简称为UTXO,UTXO是不能再分割、被所有者锁住或记录于区块链中的并被整个网络识别成货币单位的一定量的比特币货币。
在本申请中,提供了一种基于区块链的数据处理系统、方法、计算设备及存储介质,在下面的实施例中逐一进行详细说明。
图1示出了本说明书一实施例的基于区块链的数据处理系统的示意图,包括:
区块链100上的业务端区块链节点102和服务端区块链节点104。
业务端区块链节点102,被配置为为目标业务创建匹配的交易数据结构并将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据,在所述共享业务数据包含的信息满足所述业务端区块链节点的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,根据所述执行结果对所述共享业务数据进行更新并执行记账操作,根据预设条件采集更新后的共享业务数据并向服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有所述更新后的共享业务数据。
服务端区块链节点104,被配置为接收所述待统计业务处理请求,计算所述更新后的共享业务数据中的待统计金额总和。
本说明书一实施例中,所述业务端区块链节点包括:业务端区块链业务子节点和业务端区块链记账子节点;
业务端区块链业务子节点,被配置为为目标业务创建匹配的交易数据结构并将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据,向业务端区块链记账子节点发送记账请求,所述记账请求中携带有所述共享业务数据;
业务端区块链记账子节点,被配置为接收所述记账请求,在满足所述业务端区块链记账子节点中的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,根据智能合约执行结果对所述共享业务数据进行更新并执行记账操作。
本说明书一实施例中,所述业务端区块链记账子节点,还被配置为根据预设条件采集更新后的共享业务数据并向服务端发送待统计业务处理请求,所述待统计业务处理请求中携带有所述更新后的共享业务数据。
本说明书一实施例中,所述业务端区块链业务子节点,进一步被配置为创建基于未使用交易输出模型(UTXO)的交易数据结构,所述交易数据结构中包括交易ID、交易输入和输出单元,所述交易输入单元中附带有使用账户余额的签名解锁脚本,所述交易输出单元中附带有输出余额的锁定脚本,用于限定只有指定账户可使用与之对应的UTXO单元。
区块链网络中使用两种不同的记录模式,第一种方法称为“未使用交易输出(UTXO)”模型,第二种方法是“账户/余额”模型,比特币使用“未使用交易输出”模型,而以太坊使用“账户/余额”模型。本说明书一实施例中,基于所述“未使用交易输出”模型创建交易数据结构,其中,在比特币中,每笔交易都会花费之前交易所结余的金额,这个金额就称作“未使用交易输出”。每次交易之后都会产生新的“未使用交易输出”,所有的“未使用交易输出”都会保存在每个完全同步的节点中。
本说明书一实施例中,所述业务端区块链记账子节点,进一步被配置为根据所述共享业务数据中的业务额以及待统计金额在所述业务额中的占比计算所述待统计金额,并根据所述共享业务数据以及智能合约中的账户映射表确定输出账户,基于所述待统计金额及输出账户对所述共享业务数据的输出单元进行更新。
本说明书一实施例中,所述业务端区块链记账子节点,还被配置为监控所述智能合约中的状态机、事物和/或触发条件是否满足预设的执行条件,若所述智能合约中的状态机、事物和/或触发条件中的任意一项满足预设的执行条件,则所述智能合约达到自动执行条件。
本说明书一实施例中,所述业务端区块链业务子节点,还被配置为获取待统计金额的计算方式,确定交易信息和记账账户间的映射关系,并根据所述交易信息和记账账户间的映射关系生成对应的账户映射表,根据待统计金额的计算方式以及所述账户映射表创建所述智能合约,并将所述智能合约写入区块链网络。
本说明书一实施例中,所述业务端区块链记账子节点,还被配置为获取待统计金额的计算方式,确定交易信息和记账账户间的映射关系,并根据所述交易信息和记账账户间的映射关系生成对应的账户映射表,根据待统计金额的计算方式以及所述账户映射表创建所述智能合约,并将所述智能合约写入区块链网络。
本说明书一实施例中,业务端区块链业务子节点和业务端区块链记账子节点均可用于生成智能合约。
本说明书一实施例中,所述业务端区块链节点,还被配置为将用私钥签名的更新后的共享业务数据传入区块链网络中,对传入区块链网络中的所述更新后的共享业务数据进行有效性验证,当所述更新后的共享业务数据的有效性验证成功后,将所述更新后的共享业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
本说明书一实施例中,所述业务端区块链记账子节点,进一步被配置为根据预设条件采集共享业务数据,并将所述共享业务数据进行整合生成待统计业务数据,对所述待统计业务数据进行处理生成对应的哈希值,向所述服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有所述待统计业务数据以及对应的哈希值。
本说明书一实施例中,所述服务端区块链节点,进一步被配置为获取所述待统计业务处理请求中携带的所述待统计业务数据以及对应的哈希值,基于所述哈希值对所述待统计业务数据进行有效性验证,在验证通过的情况下,计算所述待统计业务数据中的待统计金额总和,根据计算结果对所述待统计业务数据中的输出单元进行更新,并基于所述计算结果完成对所述业务端区块链节点的待统计业务处理。
本说明书一实施例中,所述服务端区块链节点,还被配置为将所述更新后的待统计业务数据写入区块链中。
本书明书一实施例中,所述服务端区块链节点,还被配置为将用私钥签名的更新后的待统计业务数据传入区块链网络中,对传入区块链网络中的所述更新后的待统计业务数据进行有效性验证,当所述更新后的待统计业务数据的有效性验证成功后,将所述更新后的待统计业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
本说明书一实施例中,在业务端和服务端之间建立双方共同维护的分布式账本,并对业务端每笔交易产生的交易数据在账本上进行实时计算,大幅提高了数据结算的效率,利用区块链同时能够保证交易数据的不可篡改性和准确性。
图2示出了根据本说明书一实施例的计算设备200的结构框图。该计算设备200的部件包括但不限于存储器210和处理器220。处理器220与存储器210通过总线230相连接,数据库250用于保存数据。
计算设备200还包括接入设备240,接入设备240使得计算设备200能够经由一个或多个网络260通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备240可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备200的上述部件以及图2中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图2所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备200还可以是移动式或静止式的服务器。
其中,处理器220可以执行图3所示基于区块链的数据处理方法中的步骤。图3示出了根据本说明书一实施例的基于区块链的数据处理方法的流程图,包括步骤302至步骤306。
步骤302:为目标业务创建匹配的交易数据结构并将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据。
本说明书一实施例中,为目标业务创建匹配的交易数据结构包括:
创建基于未使用交易输出模型(UTXO)的交易数据结构,所述交易数据结构中包括交易ID、交易输入和输出单元。
以保险行业为例,创建的交易数据结构如表1所示。
表1
表1包括交易ID、输入单元和输出单元。每发生一笔交易,均会产生一个交易ID,输入单元包括来源交易ID、账户、交易类型以及金额,其中,来源交易ID即为金额的来源,在保险行业中,来源交易ID可以是保单号。账户即为金额的收入账户,交易信息包括用户信息和保单信息,输出单元包括账户和金额,以计算保单佣金为例,输出单元的账户即为收佣金的账户,金额即为佣金金额。
本说明书一实施例中,仍以保险行业为例,用户A在互联网销售平台B购买了一份保险公司C的健康险产品,交易ID为A001,保单号为C00100001,保费为3000元,保额为450000,互联网销售平台B的销售佣金比例为保费的3%。
将该笔交易产生的上述业务数据按照所述交易数据结构进行整合生成的共享业务数据如表2所示。
表2
步骤304:在所述共享业务数据包含的信息满足所述业务端区块链节点的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,并根据所述执行结果对所述共享业务数据进行更新并执行记账操作。
本说明书一实施例中,将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据之后,监控业务端区块链节点的智能合约中的状态机、事物和/或触发条件是否满足预设的执行条件。若所述智能合约中的状态机、事物和/或触发条件中的任意一项满足预设的执行条件,则所述智能合约达到自动执行条件,自动执行计算待统计金额的任务,根据所述共享业务数据中的业务额以及待统计金额在所述业务额中的占比计算所述待统计金额,根据所述共享业务数据以及智能合约中的账户映射表确定输出账户,并基于所述待统计金额及输出账户对所述共享业务数据的输出单元进行更新。
本说明书一实施例中,仍以保险行业为例,待统计金额即为每笔交易产生的佣金,业务额即为每笔交易的保额,以步骤302中的表2为例,共享业务数据中的保额为3000,佣金在保额中的占比为3%,则计算可得该笔交易产生的佣金为90。根据智能合约中的账户映射表可确定输出账户为:B-健康险-网销-待结算。
根据佣金金额和输出账户对表2进行更新得到的结果如表3所示。
表3
本说明书一实施例中,每发生一笔交易,均产生一个新的交易数据结构。在新的交易数据结构的数量达到预设阈值N时,业务端区块链节点将所述N个交易数据结构打包扩散至其他区块链节点,以使其他区块链节点对所述交易数据结构达成共识。
具体地,业务端区块链节点将用私钥签名的更新后的共享业务数据传入区块链网络中,对传入区块链网络中的所述更新后的共享业务数据进行有效性验证。当所述更新后的共享业务数据的有效性验证成功后,将所述更新后的共享业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
步骤306:根据预设条件采集更新后的共享业务数据并向服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有所述更新后的共享业务数据。
本说明书一实施例中,根据预设条件采集更新后的共享业务数据并向服务端区块链节点发送待统计业务处理请求可由以下步骤实现:
根据预设条件采集共享业务数据;
将所述共享业务数据进行整合生成待统计业务数据,对所述待统计业务数据进行处理生成对应的哈希值;
向服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有所述待统计业务数据以及对应的哈希值。
本说明书一实施例中,假设预设条件为生成3笔新的交易,互联网平台B产生三笔新的交易,则将这3笔交易数据整合生成待统计业务数据。
仍以保险行业为例,3笔交易数据整合生成的待统计业务数据如表4所示。
表4
本说明书一实施例中,业务端区块链子节点将待统计业务数据进行处理生成对应的哈希值,并向服务端区块链节点发送待统计业务处理请求,所述待统计业务处理请求中携带有待统计业务数据及对应的哈希值。服务端区块链节点接收所述待统计业务处理请求,基于所述哈希值对所述带通及业务数据进行有效性验证。在验证通过的情况下,计算所述待统计业务数据中的待统计金额总和,根据计算结果对所述待统计业务数据中的输出单元进行更新,更新后的结果如表5所示,并基于所述计算结果完成对所述业务端区块链节点的待统计业务处理。
表5
保险公司C根据表5中输出单元的账户及金额向对应的账户转入相应的虚拟货币,并执行记账操作,将所述更新后的待统计业务数据写入区块链中。
本说明书一实施例中,预设条件为生成3笔新的交易,实际应用中,所述预设条件可根据实际需要来确定,在此不做限制。
本说明书一实施例中,业务端区块链节点为目标业务创建匹配的交易数据结构之前,先生成智能合约,所述智能合约中包括待统计金额的计算方式以及账户映射表,生成智能合约的过程具体可由以下步骤实现:
获取待统计金额的计算方式,确定交易信息和记账账户间的映射关系,并根据所述交易信息和记账账户间的映射关系生成对应的账户映射表;
根据待统计金额的计算方式以及所述账户映射表创建所述智能合约;
将所述智能合约写入区块链网络。
本说明书一实施例中,以保险行业为例,待统计金额即为佣金,待统计金额的计算方式即佣金在保额中的占比。确定交易信息和记账账户间的映射关系即根据交易信息确定该笔交易信息对应的记账账户,假设某笔交易的部分信息为:用户A在互联网销售平台B购买了一份保险公司C的健康险产品,则可确定该笔交易对应的记账账户为互联网销售平台B-健康险-网销-待结算佣金。
本说明书一实施例中,将所述智能合约写入区块链网络的具体方式为:将用私钥签名的更新后的共享业务数据传入区块链网络中,对传入区块链网络中的所述更新后的共享业务数据进行有效性验证。当所述更新后的共享业务数据的有效性验证成功后,将所述更新后的共享业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
本说明书一实施例中,基于UXTO模型创建交易数据结构,并将每笔交易数据按照交易数据结构整合,为保险公司对佣金总额计算提供了方便,而且该模型在输入输出单元的解锁脚本还可以为用户提供更多的隐私性,业务端区块链节点对每一笔交易数据的待统计金额计算完成后将交易数据写入区块链,服务端区块链节点对待统计业务数据中的待统计金额总和计算完成后将待统计业务数据写入区块链,保证了数据的不可篡改性。
图4示出了本说明书一实施例的基于区块链的数据处理方法的流程图,包括步骤402至步骤406。
步骤402:接收业务处理请求,所述业务处理请求中携带有共享业务数据。
本说明书一实施例中,由业务端区块链节点为目标业务创建基于未使用交易输出模型(UTXO)的交易数据结构,所述交易数据结构中包括交易ID、交易输入和输出单元。将待处理业务数据按照所述交易数据结构进行整合生成共享业务数据,向服务端区块链节点发送业务处理请求,所述业务处理请求中携带有所述共享业务数据。
本说明书一实施例中,在接收业务处理请求之前,服务端区块链节点根据生成智能合约,所述智能合约中包括待统计金额的计算方式以及账户映射表,智能合约的生成过程可由以下步骤实现:
获取待统计金额的计算方式,确定交易信息和记账账户间的映射关系,并根据所述交易信息和记账账户间的映射关系生成对应的账户映射表;
根据待统计金额的计算方式以及所述账户映射表创建所述智能合约;
将所述智能合约写入区块链网络。
本说明书一实施例中,将用私钥签名的更新后的共享业务数据传入区块链网络中,对传入区块链网络中的所述更新后的共享业务数据进行有效性验证。当所述更新后的共享业务数据的有效性验证成功后,将所述更新后的共享业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
步骤404:在所述共享业务数据包含的信息满足所述服务端区块链节点的智能合约自动执行条件的情况下,自动执行计算待统计金额的任务,生成对应的执行结果,并根据所述执行结果对所述共享业务数据进行更新并执行记账操作。
本说明书一实施例中,服务端区块链节点接收业务处理请求之后,监控服务端区块链节点的智能合约中的状态机、事物和/或触发条件是否满足预设的执行条件。若所述智能合约中的状态机、事物和/或触发条件中的任意一项满足预设的执行条件,则所述智能合约达到自动执行条件,自动执行计算待统计金额的任务,根据所述共享业务数据中的业务额以及待统计金额在所述业务额中的占比计算所述待统计金额,根据所述共享业务数据以及智能合约中的账户映射表确定输出账户,并基于所述待统计金额及输出账户对所述共享业务数据的输出单元进行更新并记账。
本说明书一实施例中,每发生一笔交易,均产生一个新的交易数据结构。在新的交易数据结构的数量达到预设阈值N时,服务端区块链节点将所述N个交易数据结构打包扩散至其他区块链节点,以使其他区块链节点对所述交易数据结构达成共识。
具体地,服务端区块链节点将用私钥签名的更新后的共享业务数据传入区块链网络中,对传入区块链网络中的所述更新后的共享业务数据进行有效性验证。当所述更新后的共享业务数据的有效性验证成功后,将所述更新后的共享业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
步骤406:根据预设条件采集更新后的共享业务数据并计算所述更新后的共享业务数据中的待统计金额总和。
本说明书一实施例中,服务端区块链节点根据预设条件采集更新后的共享业务数据,将所述更新后的共享业务数据进行整合生成待统计业务数据,计算所述待统计业务数据中的待统计金额总和。根据计算结果对所述待统计业务数据中的输出单元进行更新,并基于所述计算结果完成对所述业务端区块链节点的待统计业务处理,并将所述更新后的待统计业务数据写入区块链中。
具体地,将所述更新后的待统计业务数据写入区块链的方法为:将用私钥签名的更新后的待统计业务数据传入区块链网络中,对传入区块链网络中的所述更新后的待统计业务数据进行有效性验证,当所述更新后的待统计业务数据的有效性验证成功后,将所述更新后的待统计业务数据集成为一个哈希区块ID,并将所述哈希区块ID扩散到全网。
本说明书一实施例中,通过将每笔新产生的交易数据实时传送到区块链节点进行佣金计算,保证了实时性,并且将计算结果扩散到其他区块链节点,实现了数据的不可篡改。
图5示出了根据本说明书一实施例提供的基于区块链的数据处理方法在保险业务联盟链的应用场景中的交互示意图,包括步骤502至步骤516。
步骤502:互联网销售平台接收用户的投保请求。
本说明书一实施例中,互联网平台接收用户的投保请求后,向用户售出对应的保险并记录相关的交易数据。
步骤504:互联网销售平台生成共享业务数据。
本说明书一实施例中,互联网销售平台在接收用户的投保请求之前,为目标业务创建创建基于未使用交易输出模型(UTXO)的交易数据结构,所述交易数据结构中包括交易ID、交易输入和输出单元。有新的交易发生后,将交易数据按照所述交易数据结构进行整合生成共享业务数据。
步骤506:互联网销售平台向记账节点发送记账请求。
步骤508:记账节点更新共享业务数据。
本说明书一实施例中,记账请求中携带有共享业务数据,监控记账节点的智能合约中的状态机、事物和/或触发条件是否满足预设的执行条件。若所述智能合约中的状态机、事物和/或触发条件中的任意一项满足预设的执行条件,则所述智能合约达到自动执行条件,自动执行计算佣金的任务,根据所述共享业务数据中的保额以及佣金在所述保额中的占比计算所述佣金,根据所述共享业务数据以及智能合约中的账户映射表确定记账账户,并基于所述佣金及记账账户对所述共享业务数据的输出单元进行更新。在新的交易数据结构的数量达到预设阈值N时,记账节点将所述N个交易数据结构打包扩散至其他区块链节点,以使其他区块链节点对所述交易数据结构达成共识。
本说明书一实施例中,记账节点可以是保险业务联盟链上的任意一个节点,其中,所述保险业务联盟链是基于保险公司和互联网销售平台的多个节点构建而成。
步骤510:记账节点向保险公司发送待统计业务处理请求。
本说明书一实例中,待统计业务处理请求即佣金总额结算请求,以预设条件为3笔交易为例,记账节点将三笔待结算交易数据整合为待统计业务数据,并向保险公司发送待结算业务处理请求。
步骤512:保险公司计算待统计金额总和。
步骤514:保险公司向记账节点发送记账请求。
步骤516:保险公司向互联网销售平台转入佣金。
本说明书一实施例中,保险公司计算待统计业务数据中的3笔佣金的总和,根据计算结果对所述待统计业务数据中的输出单元进行更新,并将计算结果发送至记账节点进行记账,根据计算结果向互联网平台转入相应数量的虚拟货币。
本说明书一实施例中,在互联网销售平台和保险公司之间建立双方共同维护的分布式账本,并对互联网销售平台每笔交易产生的交易数据在记账节点上进行实时计算,大幅提高了佣金结算的效率,利用区块链同时能够保证交易数据的不可篡改性和准确性。
本说明书一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的基于区块链的数据处理方法的步骤。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述基于区块链的数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于区块链的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于区块链的数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。