CN110310107A - 基于区块链的结算方法、区块链节点和客户端 - Google Patents
基于区块链的结算方法、区块链节点和客户端 Download PDFInfo
- Publication number
- CN110310107A CN110310107A CN201810230085.0A CN201810230085A CN110310107A CN 110310107 A CN110310107 A CN 110310107A CN 201810230085 A CN201810230085 A CN 201810230085A CN 110310107 A CN110310107 A CN 110310107A
- Authority
- CN
- China
- Prior art keywords
- block chain
- chain node
- client
- checkout result
- confirmation message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000012790 confirmation Methods 0.000 claims abstract description 146
- 230000001360 synchronised effect Effects 0.000 claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims description 39
- 239000003999 initiator Substances 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 14
- 235000013399 edible fruits Nutrition 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 241000208340 Araliaceae Species 0.000 claims 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 2
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 2
- 235000008434 ginseng Nutrition 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 29
- 238000005516 engineering process Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 239000013256 coordination polymer Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 206010016256 fatigue Diseases 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment systems
- G06Q20/0855—Payment architectures involving remote charge determination or related payment systems involving a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/42—Confirmation, e.g. check or permission by the legal debtor of payment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本申请实施例公开了区块链结算方法,包括:第一区块链节点接收第一客户端发送的第一原始话单并同步到区块链;第一区块链节点根据智能合约处理第一原始话单,得到第一结算结果并发送给第二区块链节点;第一区块链节点接收第二区块链节点返回的第一确认消息,第一确认消息用于指示第二区块链节点根据智能合约与第一原始话单进行对账的结果;第一区块链节点判断第一确认消息是否携带第一结算结果对账通过的信息;若携带第一结算结果对账通过的信息,则第一区块链节点将第一结算结果同步到区块链;第一区块链节点向第一客户端发送根据第一结算结果生成的账单数据。
Description
技术领域
本申请涉及区块链领域,特别涉及基于区块链的结算方法、区块链节点和客户端。
背景技术
运营商常与合作伙伴合作,为客户提供产品、业务和营销活动等。客户支付的费用将由运营商和合作伙伴按结算协议分成。
现有技术中,客户使用服务后,运营商网络将产生原始话单,用于记录客户使用情况。合作伙伴方可能产生原始话单,也可能没有客户的任何使用记录。运营商与合作伙伴的原始话单互不共享。账期末时,运营商的价值分配和结算(VDS,value distribution&settlement)系统基于运营商记录的原始话单,经结算处理产生结算话单,输出累帐结果。若合作伙伴侧有原始话单,也会基于自己记录的原始话单输出结算话单和累帐结果,并传给运营商VDS进行对账,若对账无误,则运营商会将正式的结算账单发送给该服务相关的所有合作伙伴。
由于现有结算方案是依据运营商的原始话单进行结算,没有原始账单的合作伙伴只能在账期末,接收运营商发送的包含最终累帐结果的结算账单;记录原始账单的合作伙伴根据自己的原始话单与运营商发送的累帐结果进行对账。而运营商的原始话单对所有合作伙伴保密。由于一个账期内往往会产生海量话单数据,当出现争议时,回溯、对账较为困难。
发明内容
本申请实施例提供了一种基于区块链的结算方法,以实现公开、实时的结算。
本申请实施例第一方面提供了一种基于区块链的结算方法,包括:
首先,参与结算的结算发起方第一客户端和结算参与方第二客户端通过各自的区块链节点构建结算区块链。然后,第一区块链节点接收第一客户端发送的第一原始话单,第一原始话单为第一客户端生成的包含交易记录的相关信息,是后续结算的依据。第一区块链节点将保存第一原始话单并同步到结算区块链。然后,第一区块链节点根据智能合约处理该第一原始话单,智能合约根据结算协议生成,包含了计费策略、结算各方的分成比例等信息,第一区块链节点得到第一结算结果并将其发送给第二区块链节点。第二区块链节点将据该智能合约与该第一原始话单进行对账,并将对账结果携带在第一确认消息中返回给第一区块链节点。第一区块链节点接收该第二区块链节点返回的第一确认消息,若判断该确认消息中携带该第一结算结果对账通过的信息,则第一区块链节点将第一结算结果发布到该区块链。第二区块链节点将接收第一结算结果并保存。最后,第一区块链节点向第一客户端发送根据该第一结算结果生成的账单数据。
本申请实施例提供的基于区块链的结算方法实现了原始话单的共享,结算结果的实时对账,避免了现有技术中在账期末结算时回溯对账困难的问题。
基于本申请实施例第一方面,本申请实施例第一方面的第一种实施方式中,该方法还包括:第一客户端向第一区块链节点发送结算相关的结算协议,结算协议为结算相关的规则,如计费策略如费率信息、货币单位等,还有结算方的分成比例等。第一区块链节点将结算协议发送给第二区块链节点。当第一区块链节点接收到第二区块链节点对结算协议的确认后,将根据结算协议生成智能合约并同步到区块链。
本申请实施例提供的基于区块链的结算方法,提供了由结算协议生成智能合约的具体方式,提升了方法的可实现性。
基于本申请实施例第一方面或第一方面的第一种实施方式,本申请实施例第一方面的第二种实施方式中,该方法还包括:该第一区块链节点同步该第二区块链节点发布的第二原始话单。
本申请实施例提供的基于区块链的结算方法,考虑到部分结算参与方也拥有原始话单,第二区块链节点也可以将第二原始账单同步至区块链,提升了方案实现的灵活性。
基于本申请实施例第一方面的第一种实施方式或第一方面的第一种实施方式,本申请实施例第一方面的第三种实施方式中,该方法还包括:若未携带该第一结算结果对账通过的信息,则该第一区块链节点确定目标原始话单,并根据智能合约处理该目标原始话单,获取第二结算结果并发送给第二区块链节点,该目标原始话单为根据预置规则确定的话单,该目标原始话单为第一原始话单或第二原始话单;该第一区块链节点接收该第二区块链节点返回的第二确认消息,该第二确认消息用于指示该第二区块链节点根据该智能合约与该第二结算结果进行对账的结果;该第一区块链节点判断该第二确认消息是否携带该第二结算结果对账通过的信息;若携带该第二结算结果对账通过的信息,则该第一区块链节点将该第二结算结果同步到该区块链;该第一区块链节点向该第一客户端发送根据该第二结算结果生成的账单数据。
本申请实施例提供的基于区块链的结算方法,提供了当对账未通过时第一区块链节点的争议处理方式,所以在实际应用中,提升了方案的可实现性。
本申请实施例第二方面提供了一种基于区块链的结算方法,包括:
第一客户端还向第一区块链节点发送第一原始话单。当第一客户端需要进行结算或达到预定的结算时刻时,第一客户端会调用区块链接口,触发第一区块链节点根据智能合约处理第一原始话单并得出第一结算结果,智能合约根据结算协议生成,结算协议规定了结算相关的规则。第一结算结果根据智能合约的规定在区块链节点间进行对账确认后将被保存在区块链节点。在账期末或需要结算时,第一客户端将接收第一区块链节点发送的账单数据,该账单数据为根据该第一结算结果生成的。
本申请实施例提供的结算方法,第一客户端通过区块链接口将原始话单发送给结算参与方,对结算各方共享,结算参与方可以实时对账,避免账期末时发生争议。
基于本申请实施例第二方面,本申请实施例第二方面的第一种实施方式中,该方法还包括:该第一客户端向该第一区块链节点发送该结算协议。
本申请实施例提供的基于区块链的结算方法,提供了生成智能合约的一种途径,提升了方法的可实现性。
基于本申请实施例第二方面或第二方面的第一种实施方式,本申请实施例第二方面的第二种实施方式中,该方法还包括:若该第一客户端接收第一区块链节点发送的争议消息,则该第一客户端根据预置规则确定目标原始话单,并触发该第一区块链节点根据该智能合约处理该目标原始话单。
本申请实施例提供的基于区块链的结算方法,提供了当对账未通过时第一客户端的争议处理方式,所以在实际应用中,提升了方案的可实现性。
本申请实施例第三方面提供了一种基于区块链的结算方法,包括:
参与结算的各方客户端通过各自的区块链节点构建结算区块链后,第二区块链节点可以同步该第一区块链节点发布的第一原始话单,第一原始话单为第一客户端生成的交易活动的记录,第一区块链节点根据智能合约处理第一原始话单,该智能合约根据结算协议生成,并将得到的第一结算结果发送给第二区块链节点。第二区块链节点接收第一结算结果,然后,该第二区块链节点将根据智能合约对结算结果进行验证,并判断根据智能合约验证得到的结果与第一结算结果是否一致;若一致,则第二区块链节点将向该第一区块链节点返回携带对账通过信息的第一确认消息。然后,第二区块链节点可以同步第一区块链节点发布的对账通过的第一结算结果。第二区块链节点接收根据第一结算结果生成的账单数据。
本申请实施例提供的结算方法,第二区块链节点可以从第一区块链节点接收原始话单和结算结果,并根据智能合约对结算结果进行实时对账,经过确认的结算结果保存在区块链节点,结算时,第二区块链节点可以向第二客户端发送账单数据。结算过程实现了原始话单的共享,并实时对账,结算过程公开透明,避免了账期末转账结算时发生争议。
基于本申请实施例第三方面,本申请实施例第三方面的第一种实施方式中,第二区块链节点接收第一区块链节点发送的第一结算结果之前,接收了该第一区块链节点发送的结算协议。然后,第二区块链节点向该第二客户端发送该结算协议;若该第二区块链节点接收到该第二客户端对该结算协议的确认消息,则该第二区块链节点向第一区块链节点返回对该结算协议的确认消息;该第二区块链节点同步第一区块链节点发布的该智能合约。
本申请实施例提供的结算方法,提供了一种具体的生成智能合约的方式,提升了方法的可实现性。
基于本申请实施例第三方面或第三方面的第一种实施方式,本申请实施例第三方面的第二种实施方式中,该第二区块链节点判断根据智能合约计算的结果与该第一结算结果是否一致包括:该第二区块链节点根据该智能合约处理该第一原始话单得到第二结算结果;该第二区块链节点判断该第二结算结果与该第一结算结果是否一致;若该第二结算结果与该第一结算结果一致,则触发该第二区块链节点向该第一区块链节点返回第一确认消息,该第一确认消息携带该第二结算结果对账通过的信息;若该第二结算结果与该第一结算结果不一致,则该第二区块链节点向该第一区块链节点返回第二确认消息,该第二确认消息携带该第二结算结果对账不通过的信息。
本申请实施例提供的基于区块链的结算方法中,第二区块链节点根据该智能合约处理该第一原始话单,提供了一种具体的对账手段,所以在实际应用中,提升了方案的可实现性。
基于本申请实施例第三方面或第三方面的第一种实施方式,本申请实施例第三方面的第三种实施方式中,该第二区块链节点接收第一区块链节点发布的智能合约第二区块链节点同步第一区块链节点发布的智能合约之后,该方法还包括:
该第二区块链节点接收第二客户端发送的第二原始话单并同步到该区块链。
本申请实施例提供的基于区块链的结算方法中,考虑到第二客户端也可能拥有原始话单,第二区块链节点可以将第二原始账单同步至区块链,因此,提升了方案实现的灵活性。
基于本申请实施例第三方面的第三种实施方式,本申请实施例第三方面的第四种实施方式中,该第二区块链节点判断根据智能合约计算的结果与该第一结算结果是否一致包括:该第二区块链节点根据该智能合约处理该第二原始话单得到第三结算结果;该第二区块链节点判断该第三结算结果与该第一结算结果是否一致;若该第三结算结果与该第一结算结果一致,则触发该第二区块链节点向该第一区块链节点返回第一确认消息,该第一确认消息携带该第一结算结果对账通过的信息;若该第三结算结果与该第一结算结果不一致,则该第二区块链节点向该第一区块链节点返回第二确认消息,该第二确认消息携带该第一结算结果对账不通过的信息。
本申请实施例提供的基于区块链的结算方法中,第二区块链节点根据该智能合约处理该第二原始话单,提供了另一种具体的对账手段,所以在实际应用中,提升了方案实现的灵活性。
本申请实施例第四方面提供了一种基于区块链的结算方法,包括:
第二客户端接收第二区块链节点发送的结算协议,该结算协议用于生成智能合约,该第二客户端为结算参与方的客户端;若该第二客户端收到对该结算协议的确认信息,则该第二客户端向该第二区块链节点发送对该结算协议的确认消息;该第二客户端接收第二区块链节点发送的账单数据,该账单数据根据该智能合约处理第一原始话单生成,该第一原始话单由第一区块链节点发布,该第一区块链节点为结算发起方节点。
本申请实施例提供的基于区块链的结算方法中,第二客户端可以接收第二区块链节点发送的结算规则并对结算规则进行确认,还可以在对账中通过自己记录的原始账单得到的结算结果进行对账,结算过程公开透明,可实时对账。
基于本申请实施例第四方面,本申请实施例第四方面的第一种实施方式中,第二客户端接收第二区块链节点发送的账单数据之前,该第二客户端可以向该第二区块链节点发送第二原始话单。
本申请实施例第四方面的第一种实施方式提供的结算方法中,第二客户端侧如果产生了第二原始话单,则可以将其发送给第二区块链节点,使第二区块链节点可以同步第二原始话单至区块链。提供了结算实现的另一种方式,提升了方案实现的灵活性。
本申请实施例第五方面提供了区块链节点,该区块链节点具有实现上述第一方面和第三方面中基于区块链的结算方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例第六方面提供了区块链客户端,该区块链客户端具有实现上述第二方面和第四方面中基于区块链的结算方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例第七方面提供了区块链节点,该通信设备的结构包括:处理器、存储器、该处理器通过运行存储在该存储器内的软件程序、调用存储在该存储器内的数据,执行前述本申请实施例第一方面和第三方面提供的各实施方式的步骤。
本申请实施例第八方面提供了区块链节点,该通信设备的结构包括:处理器、存储器、该处理器通过运行存储在该存储器内的软件程序、调用存储在该存储器内的数据,执行前述本申请实施例第二方面和第四方面提供的各实施方式的步骤。
本申请实施例第九方面提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面至第四方面中的方法流程。
本申请实施例第十方面提供了一种计算机储存介质,用于储存计算机软件指令,其包含用于执行前述本申请实施例第一方面至第四方面提供的各实施方式的步骤的程序。
附图说明
图1为运营商与合作伙伴多方结算系统架构图;
图2为运营商与合作伙伴多方结算交互流程图;
图3为本申请实施例中基于区块链的结算方法的系统架构图;
图4为本申请实施例中基于区块链的结算方法的系统拓扑图;
图5为本申请实施例中基于区块链的结算方法的一个实施例示意图;
图6为本申请实施例中基于区块链的结算方法的另一个实施例示意图;
图7为本申请实施例中基于区块链的结算方法的另一个实施例示意图;
图8为本申请实施例中基于区块链的结算方法的另一个实施例示意图;
图9为本申请实施例中基于区块链的结算方法的一个实施例交互流程图;
图10为本申请实施例区块链节点的一个实施例示意图;
图11为本申请实施例区块链客户端的一个实施例示意图;
图12为本申请实施例区块链节点的另一个实施例示意图;
图13为本申请实施例区块链客户端的另一个实施例示意图;
图14为本申请实施例区块链节点的另一个实施例示意图;
图15为本申请实施例区块链客户端的另一个实施例示意图。
具体实施方式
在实际生活中,结算场景非常多见,以运营商和合作伙伴之间的结算为例,运营商与一个或多个合作伙伴共同向客户推出产品、业务或营销活动,通常按比例分成的策略做多方结算。例如运营商对客户提供的视频流量包的业务中,需要与内容提供商(CP,contentprovider)、渠道商合作,CP负责提供视频内容,渠道商负责该业务推广。当客户点播视频,产生的费用就需要运营商与CP、渠道商分成结算。运营商与合作伙伴间的结算,运营商为结算发起方,合作伙伴为结算参与方。
请参阅图1,运营商和合作伙伴的结算系统架构图。
运营商采集系统可以采集客户使用服务的信息并生成原始话单。价值分配和结算(VDS,value distribution&settlement)系统,提供合作伙伴管理、产品管理、结算计费账务、支付等能力,是一个端到端B2B业务运营支撑系统。VDS可以处理原始话单生成结算话单,可以与合作伙伴进行对账得到累帐结果,还可以将结算账单通过Email发送给各合作伙伴。在合作伙伴侧,有些合作伙伴会有客户的使用记录,有些合作伙伴则可能没有任何记录。
如图1所示,客户通过呼叫或短信或上网的方式使用运营商提供的服务,在运营商网络采集系统会产生原始话单,例如运营商与两个合作伙伴的三方结算,客户点播视频,在运营商侧会产生流量话单,在合作伙伴A(例如CP)侧会有使用记录,在合作伙伴B(例如渠道商)侧没有任何记录。
在图1的结算系统架构图基础上,请参阅图2,运营商和合作伙伴的结算过程交互流程图。
用户上网点播视频,运营商采集系统输出话单文件发送给运营商的VDS,VDS系统基于原始话单做结算处理,处理后会输出结算话单,结算话单包括用量、费率、结算费用等信息。运营商和合作伙伴结算周期为账期,一般以月计。到账期末时,把每条话单产生的费用做汇总,输出累帐结果。同时,在有使用记录的合作伙伴侧,也会输出结算话单和累帐结果,在账期末时会传给运营商VDS做对账,如果对账结果一致,则运营商会输出正式的结算账单给相关合作伙伴。
由于现有结算方案是依据运营商的原始话单进行结算,合作伙伴只能在账期末,接收运营商发送的含有最终累帐结果的结算账单,而运营商的原始话单、结算规则都对合作伙伴保密。由于一个账期内往往会产生海量话单数据,当出现争议时,回溯、对账较为困难。
本申请实施例提供的结算方法基于区块链技术,下面对区块链技术进行简要介绍:
区块链技术是一种分布式的数据库,具有去中心化、不可篡改和可扩展等特点。在区块链系统中,所有数据保存在区块中,新写入的数据组成新的区块,添加在当前区块链末端链。每个区块在保存数据的同时,还要保存前一个区块中所有记录的数据唯一对应的一个数,这个数往往是所有数据的哈希值,如果有人试图单独修改前一块中的数据,那么后面这块中保存的这个数就会对不上,不能成链。于是,区块链系统可以认为是,由分布式网络上的互相不完全信任的计算机,通过共识规则,共同维护一套可追溯、不可篡改的链式数据的系统。由于数据和平台不被任何机构单方面控制,区块链系统可看作是高安全、高可靠、可信的去中心化的基础计算框架。本申请实施例提供的技术方案基于区块链技术建立。
请参阅图3,本申请实施例中区块链网络架构图:
结算发起方与结算参与方共建结算区块链网络,结算各方都接入该区块链网络。结算各方都是区块链的客户端,客户端主要负责事件的发起、业务逻辑的执行等。结算发起方客户端可以是运营商VDS,也可以是运营商采集系统。结算参与方可以是移动虚拟网络运营商(MVNO,mobile virtual network operator)、第三方运营商、内容提供商(CP,contentprovider)、服务提供商(SP,service provider)、渠道商等。客户端通过各自的区块链接口接入区块链网络,区块链中有多个节点,客户端可以通过节点写入或读取数据。
请参阅图4,本申请实施例的系统拓扑图:
拓扑图中,运营商和各合作伙伴都是区块链的客户端,在区块链网络上拥有各自的区块链节点(Peer)。Peer是区块链中维护数据的节点,Orderer节点提供共识服务,共识的主要作用,就是让区块链中的所有peer节点记录相同的有效交易区块内容。当有多个结算组时,可以使用Fabric区块链的通道(Channel)来区分各多方结算组,Channel提供一种通讯机制,将相关peer或Orderer连接在一起,形成一个个具有保密性的虚拟通讯链路,一个peer可以属于多个Channel。如图所示,运营商与合作伙伴A、合作伙伴B在Channel-1,运营商与合作伙伴C、合作伙伴D在Channel-2。不同的多方结算组可以组成不同的区块链子链,不同的子链间可以做到数据隔离。
在图3和图4提供的区块链网络系统架构中,一个结算业务的结算各方共建结算区块链,结算方包括结算发起方和结算参与方,结算各方拥有各自的客户端,客户端通过区块链接口连接到区块链网络中对应的区块链节点上。在上述区块链系统架构下,请参阅图5,本申请实施例中基于区块链的结算方法的一个实施例示意图。
第一客户端为结算发起方客户端,可以是运营商VDS,也可以是运营商采集系统,运营商客户端的主体在本申请实施例及后续实施例中不做具体限定。
第二客户端为结算参与方客户端,结算参与方可以是MVNO、第三方运营商、CP、服务SP或渠道商等,第二客户端为一个结算业务的参与方,一个结算业务中可以有一个第二客户端,也可以有多个第二客户端,本申请实施例及后续实施例中对第二客户端的主体和第二客户端的数量不做具体限定。
501、第一区块链节点接收第一客户端发送的第一原始话单并同步到该区块链;
第一客户端将记录的第一原始话单发送给第一区块链节点,第一区块链节点接收第一原始话单后将第一原始话单同步到结算区块链,即第二区块链节点将接收第一原始话单并保存在第二区块链节点中。
502、第一区块链节点根据该智能合约处理该第一原始话单,得到第一结算结果并发送给第二区块链节点;
第一客户端调用区块链接口,触发第一区块链节点根据智能合约处理第一原始话单将得到第一结算结果,该智能合约是根据结算协议生成的。第一原始话单可以包含一条话单信息,也可以包含预置数量的批量话单信息,具体话单数量此处不做限定。第一区块链节点将该第一结算结果发送给第二区块链节点。
503、第一区块链节点接收该第二区块链节点返回的第一确认消息;
第二区块链节点收到第一区块链节点发送的第一结算结果后,将根据智能合约对该第一结算结果进行对账,然后返回携带对账结果的第一确认消息,第一区块链节点接收该第二区块链节点返回的第一确认消息,第一确认消息用于指示该第二区块链节点根据该智能合约与该第一原始话单进行对账的结果。
504、若第一确认消息携带第一结算结果对账通过的信息,则该第一区块链节点将该第一结算结果同步到该区块链;
第二区块链根据智能合约对该第一结算结果进行对账,若第二区块链节点得到的结算结果与第一结算结果一致,则返回的确认消息中会携带第一结算结果对账通过的信息,若第二区块链节点得到的结算结果与第一结算结果不一致,则返回的确认消息中会携带第一结算结果对账未通过的信息。第一区块链节点在接收到第一确认消息后,判断该第一确认消息中是否携带第一结算结果对账通过的信息。若第一确认消息携带该第一结算结果对账通过的信息,则第一区块链节点将第一结算结果同步到该区块链,该区块链中的第二区块链节点可以接收并保存该第一结算结果。
505、第一区块链节点向该第一客户端发送根据该第一结算结果生成的账单数据;
第一区块链节点将第一结算结果同步到区块链后,第一区块链节点可以对累帐数据进行更新,第一区块链节点可在预置的时间节点如账期末,或者在第一客户端调用账单数据时,将账单数据发送给第一客户端,第一客户端可以根据账单数据做转账结算。
本申请实施例提供的基于区块链的结算方法,第一区块链节点接收第一客户端发送的原始话单后将其同步至区块链,结算参与方能够获取该原始话单。第一区块链节点根据智能合约处理原始话单后,将得到的结算结果发送给第二区块链节点进行实时对账,经过确认的结算结果同步到区块链。由此,在账期末结算时,第一区块链节点向第一客户端发送账单数据,即可进行转账结算。本申请实施例提供的基于区块链技术的结算方法,实现了原始话单的共享,结算结果的实时对账,避免了现有技术中在账期末结算时回溯对账困难的问题。
上面介绍了技术发起方的区块链节点在基于区块链的结算方法中的技术方案,第一区块链节点通过区块链接口与第一客户端相连,第一客户端为结算发起方。下面请参阅图6,本申请实施例中基于区块链的结算方法的另一个实施例示意图。
601、第一客户端向第一区块链节点发送第一原始话单;
当产生业务之后,第一客户端会生成包含交易记录的原始话单,第一原始话单可以是一条原始话单记录,也可以是预置的多条原始话单记录,例如10条原始话单记录或100条原始话单记录等,第一原始话单包含的原始话单记录的数量此处不做具体限定。第一客户端将第一原始话单发送给第一区块链节点,这样第一区块链节点可以将第一原始话单同步到区块链,实现原始话单的共享。
602、第一客户端调用区块链接口,触发该第一区块链节点根据智能合约处理第一原始话单并得出第一结算结果;
第一客户端调用第一区块链接口,可以触发第一区块链节点根据智能合约处理第一原始话单,智能合约为根据结算协议生成的,结算协议规定了一次结算业务中结算各方需要达成共识的结算规则,第一区块链节点根据智能合约计算出第一结算结果,并将结算结果发送给第二区块链节点。
603、第一客户端接收该第一区块链节点发送的账单数据;
在各区块链节点对结算结果进行确认之后,第一区块链节点会记录该结算结果,并在区块链上对账单做累帐数据更新,同步到第二区块链节点,到账期末时,或在第一客户端调用时,第一客户端将接收第一区块链节点发送的账单数据。
由于第一结算结果是经过第二区块链节点确认的,因此根据第一结算结果累帐得到的账单数据不需要再经过对账即可直接做结算。
本申请实施例提供的结算方法,第一客户端通过区块链接口将原始话单发送给结算参与方,对结算各方共享,结算参与方可以实时对账,避免账期末时发生争议。
上面介绍了基于区块链的结算方法中结算发起方及其区块链节点的技术方案,下面将介绍结算参与方的第二区块链节点的技术方案,请参阅图7,本申请实施例中基于区块链的结算方法的另一个实施例示意图。
701、第二区块链节点同步第一区块链节点发布的第一原始话单;
第一区块链节点作为结算的发起方,会产生交易的相关记录,即第一原始话单,第一原始话单可以是一条原始话单记录,也可以是预置的多条原始话单记录,例如10条原始话单记录或100条原始话单记录等,第一原始话单包含的原始话单记录的数量此处不做具体限定。第二区块链节点接收第一区块链发布的第一原始话单并保存在节点中。第二区块链节点为结算参与方在区块链中的节点。
702、第二区块链节点接收该第一区块链节点发送的第一结算结果;
在第一区块链节点通过智能合约计算得到第一结算结果后,会将第一结算结果发送给第二区块链节点进行对账。
703、第二区块链节点判断根据智能合约计算的结果与该第一结算结果是否一致,若根据智能合约计算的结果与该第一结算结果一致,则执行步骤704,若根据智能合约计算的结果与该第一结算结果不一致,则执行步骤707;
第二区块链节点在收到第一区块链节点发送的第一结算结果后,通过智能合约对原始话单进行计算得到结算结果,然后第二区块链节点进行对账,判断该结果与第一结算结果是否一致。
704、第二区块链节点向该第一区块链节点发送第一确认消息;
若第二区块链节点判断根据智能合约计算的结果与该第一结算结果一致,即对账通过,则第二区块链节点向该第一区块链节点返回第一确认消息,该第一确认消息中携带对账通过的信息。
705、第二区块链节点同步该第一区块链节点发布的该第一结算结果;
在收到确认消息,判断第一结算结果对账通过之后,第一区块链节点发布第一结算结果,第二区块链节点接收该第一区块链节点发布的第一结算结果并保存。
706、第二区块链节点向第二客户端发送根据该第一结算结果生成的账单数据;
第二区块链节点同步第一区块链节点发布的累帐数据,然后在账期末时或者在预置的时间节点,将由结算结果生成的账单数据,或者将结算结果经过累帐生成的账单数据发送给第二客户端,第二客户端即可根据该结算结果进行转账结算。
707、第二区块链节点执行其他操作;
若第二区块链节点根据智能合约计算的结果与该第一结算结果不一致,则第二区块链节点执行其他操作,可以是向第一区块链链节点发送消息,在消息中携带对账未通过的消息。第二区块链节点执行的操作此处不做具体限定。
本申请实施例提供的结算方法,第二区块链节点可以从第一区块链节点接收原始话单和结算结果,并根据智能合约对结算结果进行实时对账,经过确认的结算结果保存在区块链节点,结算时,第二区块链节点可以向第二客户端发送账单数据。结算过程实现了原始话单和结算规则的共享,并实时对账,结算过程公开透明,避免了账期末转账结算时发生争议。
上面对第二区块链节点在结算方法中的技术方案进行了介绍,第二区块链节点在区块链中通过区块链接口与第二客户端相连,第二客户端为结算参与方的客户端。下面请参阅图8,本申请实施例中基于区块链的结算方法的另一个实施例示意图。
801、第二客户端接收第二区块链节点发送的结算协议;
第二客户端接收第二区块链发送的结算协议,结算协议是结算业务中结算各方需公共遵守的规则。结算协议的内容包括客户消费的计费策略如费率信息、货币单位等,还有结算方的分成比例等。结算协议的内容由结算业务的实际情况决定,在此不做具体限定。
802、若该第二客户端收到对该结算协议的确认信息,则该第二客户端向该第二区块链节点发送对该结算协议的确认消息;
第二客户端可以接收用户对结算协议的内容进行确认,若对其内容没有异议,第二客户端可以向第二区块链节点发送携带无异议信息的确认消息;若有异议,也可以在确认消息中携带异议,待第一区块链节点处理争议后再次进行确认。经过确认的结算协议将用于生成智能合约。
803、第二客户端接收第二区块链节点发送的账单数据;
第二区块链节点收到第一区块链节点发布的结算结果后保存在节点,当账期末时或者到预置的时间节点时,会根据结算生产账单数据并发送给第二客户端,第二客户端接收第二区块链发送的账单数据,并据此进行转账结算。
本申请实施例提供了一种基于区块链的结算方法。第二客户端确认结算协议,根据该结算协议生成的智能合约进行结算,拥有结算相关交易记录的第二客户端可以将自己生成的原始话单上传至区块链节点,用于对结算结果进行对账,并实时反馈对账结果,经过对账的结算结果在结算时以账单数据的形式由第二区块链节点发送给第二客户端,第二客户端既可以对结算规则进行确认,还可以在对账中通过自己记录的原始账单得到的结算结果进行对账,结算过程公开透明,可实时对账。
上面对结算各方客户端及区块链节点的结算方案进行了介绍,下面请参阅图9,本申请实施例中基于区块链的结算方法的一个实施例交互流程图。
901、第一客户端向第一区块链节点发送结算协议;
结算活动的主体包括结算发起方第一客户端和结算参与方第二客户端,客户端通过各自的区块链接口与各自的区块链节点相连,组成区块链网络。首先,第一客户端发起结算协议的发布,将结算协议发送给第一区块链节点。
902、第一区块链节点向第二区块链节点发送节点消息;
第一客户端将结算协议发送给第一区块链节点,并通过第一区块链节点发送节点消息,消息内容包括客户消费的计费策略如费率信息、货币单位等,还有结算方的分成比例等,消息内容根据实际情况可进行调整,具体此处不做限定。消息格式可以是:
其中区块链的通道(Channel)用来区分各多方结算组;“data”部分为智能合约的内容,其中“user_rate”代表用户费率;“user_rate_measurement_unit”代表用户费率计量单位,“currency_code”代表货币代码,“currency_unit”代表货币单位,“rule”代表规则,“partner_code”代表合作伙伴代码,“settlement_fee”代表结算费用。可以理解的是,上述消息格式只是消息格式的一个例子,消息格式的具体形式此处不做限定。
第一区块链节点在发送消息前会对消息进行数字签名,在本申请实施例中各区块链节点之间,在发送消息前均可以对消息进行数字签名,添加数字签名操作为区块链技术中发送节点消息时的基本步骤,本实施例以下内容中不再赘述。
903、第二区块链节点向第二客户端发送结算协议;
第二区块链节点接收携带有结算协议内容的节点消息后,第二区块链节点会对消息进行签名校验。区块链节点收到节点消息之后,会对消息进行签名校验。区块链技术中任一节点在向其他节点发送消息前进行签名,以及节点收到消息后进行签名校验,属于区块链技术中节点的基本操作,本实施例以下内容中不再赘述。
904、第二客户端确认结算协议;
第二客户端接收第二区块链发送的结算协议后,可对结算协议的内容进行确认或是获取用户输入的确定信息。结算协议是结算业务中结算各方需公共遵守的规则。若第二客户端或用户对结算协议的内容没有异议,可以向第二区块链节点发送携带无异议信息的确认消息;若有异议,也可以在确认消息中携带异议信息,待第一区块链节点处理争议后再次进行确认。经过确认的结算协议将用于生成智能合约。
905、第二客户端向第二区块链节点发送确认消息;
第二客户端在步骤904中对结算协议的内容进行了确认,若确认无异议,则发送携带无异议信息的确认消息,若确认有异议,则发送携带异议信息的确认消息。
906、第二区块链节点向第一区块链节点发送确认消息;
第二区块链节点发出的确认消息通过第二区块链节点再发送给第一区块链节点。
当第一区块链节点接收第二区块链节点发送的确认消息后,若确认消息中携带异议信息,则该第一区块链节点执行步骤907;若确认消息中携带无异议信息,则该第一区块链节点执行步骤908。
907、第一区块链节点进行争议处理;
若第一区块链节点收到第二区块链节点发送的确认消息中携带异议信息,则第一区块链节点进行争议处理,争议处理可以是对结算协议进行修改,可以是将争议信息发送给第一客户端进行处理,或者是确认该结算协议后重新发送,争议处理的具体方式此处不做限定。在争议处理之后,第一区块链节点将重新发起智能合约的发布,即执行步骤902至步骤906。
908、第一区块链保存智能合约;
若第一区块链节点收到第二区块链节点发送的确认消息中携带无异议信息,则第一区块链节点保存智能合约。
909、第一区块链节点将智能合约同步到第二区块链节点;
若第一区块链节点收到第二区块链节点发送的确认消息中携带无异议信息,则第一区块链节点将智能合约同步到第二区块链节点,第二区块链节点接收智能合约并保存。
需要说明的是,步骤908和步骤909的执行没有先后之分,可以先执行步骤908,再执行步骤909;也可以执行步骤909,再执行步骤908。
910、第一客户端向第一区块链节点发送原始话单;
当产生业务之后,第一客户端会生成包含交易记录的原始话单,原始话单是用户的消费记录,可以包括用户号码、呼叫/短信/上网的开始时间、结束时间、用量大小等,原始话单的格式可以是:{channel:channel-1,data:{user:X,start-time:20181217121205,end-time:20181217121305,data-usage:10MB}}。其中,“Channel”代表多方结算组,“data”为话单的具体内容,其中“user”为用户,“start-time”为开始时刻,“end-time”为结束时刻,“data-usage”为数据用量。第一原始话单可以是一条原始话单记录,也可以是预置的多条原始话单记录,例如10条原始话单记录或100条原始话单记录等。第一原始话单的内容、格式以及话单数目此处不做具体限定。第一客户端将第一原始话单发送给第一区块链节点。
911、第一区块链节点向第二区块链节点发送同步消息;
第一区块链节点将步骤910中第一客户端发送的原始话单通过同步消息发送给第二区块链节点。第二区块链节点接收并保存该原始话单,实现了第一客户端原始话单的共享。
912、第二客户端向第二区块链节点发送原始话单;
当产生业务之后,部分拥有交易记录的第二客户端侧也会产生原始话单。原始话单是用户的消费记录,可以包括用户号码、呼叫/短信/上网的开始时间、结束时间、用量大小等,原始话单的格式可以是:{channel:channel-1,data:{user:X,start-time:20181217121205,endtime:20181217121305,data-usage:10MB}}。其中,“Channel”代表多方结算组,“data”为话单的具体内容,其中“user”为用户,“start-time”为开始时刻,“end-time”为结束时刻,“data-usage”为数据用量。第一原始话单可以是一条原始话单记录,也可以是预置的多条原始话单记录,例如10条原始话单记录或100条原始话单记录等。第二原始话单的内容、格式以及话单数目此处不做具体限定。第二客户端将第一原始话单发送给第二区块链节点。
913、第二区块链节点向第一区块链节点发送同步消息;
第二区块链节点将步骤912中第二客户端发送的原始话单通过同步消息发送给第一区块链节点。
值得一提的是,若第二客户端不具有交易记录,则不执行步骤912至步骤913。
需要说明的是,步骤910至步骤911,与步骤912至步骤913的执行顺序不做限定,可以先执行步骤910至步骤911,再执行步骤912至步骤913;也可以先执行步骤912至步骤913,再执行步骤910至步骤911。执行顺序具体此处不做限定。
914、触发第一区块链节点;
第一客户端调用区块链接口,或到达预设的时间节点时,将触发第一区块链节点根据智能合约技术处理原始话单。
915、第一区块链节点执行智能合约,得到结算结果;
第一区块链链节点受到第一客户端的触发时,或者在其他条件下被触发时,可以执行智能合约,根据智能合约约定的结算规则对原始话单进行计算,得到结算结果。
916、第一区块链节点向第二区块链节点发送节点消息;
在步骤915中得到结算结果后,第一区块链节点向第二区块链节点发送节点消息,消息的内容包括原始话单和结算结果。
消息内容可以是:{channel:channel-1,operator:{origin-record:{user:A,start-time:20181217121205,endtime:20181217121305,data-usage:10MB},result-record:{charge-amount:1}}。
其中,“Channel”代表多方结算组,“operator”为操作,“origin-record”为原始记录,“start-time”为开始时刻,“end-time”为结束时刻,“data-usage”为数据用量,“result-record”为结果记录,“charge-amount”为计费金额。
可以理解的是,消息内容可以根据实际情况确定,具体内容此处不做限定。
917、第二区块链节点执行智能合约,得到结算结果;
若第二客户端具有交易记录,则第二区块链节点收到节点消息后,可以根据原始话单的内容,例如origin-record,匹配到第二客户端记录的原始话单,然后根据智能合约计算得到结算结果。
若第二客户端不具有交易记录,则第二区块链节点收到节点消息后,可获取记录的第一客户端记录的原始话单,并根据智能合约计算得到结算结果。第二区块链节点执行智能合约的具体方式此处不做限定。
918、第二区块链节点判断对账结果是否一致;
第二区块链节点判断根据智能合约计算的结果与第一区块链发送的结算结果是否一致。
919、第二区块链节点向第一区块链节点发送确认消息;
第二区块链节点根据步骤918中的判断结果,在确认消息中携带对账信息。
若第二区块链节点判断根据智能合约计算的结果与第一区块链发送的结算结果一致,则返回携带对账一致信息的确认消息。
例如:{channel:channel-1,operator:{origin-record:{user:A,start-time:20181217121205,endtime:20181217121305,data-usage:10MB},result-record:{charge-amount:1}},partnerA:{confirmation-result:yes}};
其中,“Channel”代表多方结算组,“operator”为操作,“origin-record”为原始记录,“user”为用户,“start-time”为开始时刻,“end-time”为结束时刻,“data-usage”为数据用量,“result-record”为结果记录,“charge-amount”为计费金额,“partnerA”代表合作伙伴A,“confirmation-result”代表确认结果,确认结果的值为“yes”,代表对账结果一致。
若第二区块链节点判断根据智能合约计算的结果与第一区块链发送的结算结果不一致,则返回携带对账不一致信息的确认消息;
例如:{channel:channel-1,operator:{origin-record:{user:A,start-time:20181217121205,endtime:20181217121305,data-usage:10MB},result-record:{charge-amount:1}},partnerA:{origin-record:{user:A,start-time:20181217121205,endtime:20181217121305,data-usage:20MB},result-record:{charge-amount:2},confirmation-result:no}}。
其中,“Channel”代表多方结算组,“operator”为操作,“origin-record”为原始记录,其中“user”为用户,“start-time”为开始时刻,“end-time”为结束时刻,“data-usage”为数据用量,“result-record”为结果记录,“charge-amount”为计费金额,“partnerA”代表合作伙伴A,“confirmation-result”代表确认结果,值为“no”,代表对账结果不一致。
可以理解的是,上述确认消息只是一个例子,确认消息的具体内容和消息格式可根据实际情况调整,确认消息的具体内容和消息格式此处不做限定。
920、第一区块链节点判断该确认消息是否携带结算结果对账通过的信息;
第一区块链节点对步骤919中接收到的确认消息的内容进行确认,判断是否携带结算结果对账通过的信息。
若该确认消息携带结算结果对账通过的信息,则执行步骤922至步骤926;
若该确认消息未携带结算结果对账通过的信息,则执行步骤921至步骤926。
921、第一区块链节点处理争议;
若第一区块链节点判断确认消息未携带结算结果对账通过的信息,则第一区块链节点可以向第一客户端返回争议信息,或者,如果智能合约中约定了争议处理策略,则第一区块链节点可以根据智能合约处理争议。争议处理是由运营商与合作伙伴之间协商的处理逻辑,例如当合作伙伴记录的用户用量与运营商不一致时,以运营商为准等。具体的处理规则此处不做限定。第一客户端通过争议处理将确定目标原始话单,针对目标原始话单重新进行对账。即执行步骤915至步骤920。
922、第一区块链节点向第二区块链节点发送同步消息;
若第一区块链节点判断确认消息携带结算结果对账通过的信息,即结算结果对账通过,则第一区块链节点向第二区块链节点发送同步消息,将得到对账确认的结算结果同步到第二区块链。
923、第一区块链进行汇总累帐;
第一区块链节点进行累帐数据更新,即将结算结果累加到账单数据中。
924、第一区块链节点向第二区块链节点发送同步消息;
第一区块链节点将步骤924中累帐更新的账单数据同步到第二区块链节点,第二区块链节点保存该更新的账单数据。
925、第一区块链节点向第一客户端发送账单数据;
在账期末时,或者在预置的时间节点到来时,第一区块链节点向第一客户端发送账单数据。
926、第二区块链节点向第二客户端发送账单数据;
在账期末时,或者在预置的时间节点到来时,第二区块链节点向第二客户端发送账单数据。
需要说明的是,步骤925和步骤926的执行顺序不做限定,可以先执行步骤925,再执行步骤926;也可以先执行步骤926,再执行步骤925。
本申请实施例提供一种基于区块链技术的结算方法,结算发起方和结算参与方共同建立结算区块链网络,结算各方客户端通过各自的区块链节点接入该区块链网络,第一区块链节点发布结算协议,得到结算参与方共识后即可以智能合约形式记录在区块链中,第一客户端发布原始话单并同步到区块链,区块链节点按照智能合约的约定处理原始话单得到结算结果,得到各方确认后即可同步到区块链,账期末结算时,区块链节点向客户端发送根据结算结果得到的账单数据,结算各方根据账单数据进行结算。
由于结算区块链网络的建立,结算各方以智能合约的形式约定各方认可的结算规则,结算参与方还可以获取第一客户端生成的原始话单。收到第一区块链节点发送的结算结果后,可以根据智能合约对第一区块链节点生成的结算结果进行实时对账,结算过程公开透明,当对结算结果无争议时才发送确认消息,实现即时对账,方便快捷。
上面对基于区块链的结算方法进行了介绍,下面将介绍实现该结算方法的区块链节点和区块链客户端。
请参阅图10,本申请实施例中区块链节点的一个实施例示意图。
第一接收单元1001,用于接收第一客户端发送的第一原始话单并同步到该区块链,该第一客户端为结算发起方客户端,该区块链包括结算发起方的第一区块链节点和结算参与方的第二区块链节点;
处理单元1002,用于根据智能合约处理该第一原始话单,得到第一结算结果并发送给第二区块链节点,该智能合约根据结算协议生成;
第二接收单元1003,用于接收该第二区块链节点返回的第一确认消息,该第一确认消息用于指示该第二区块链节点根据该智能合约与该第一原始话单进行对账的结果;
同步单元1004,用于若该第一确认消息携带该第一结算结果对账通过的信息时,则该第一区块链节点将该第一结算结果同步到该区块链;
发送单元1005,用于点向该第一客户端发送根据该第一结算结果生成的账单数据。
进一步地,该区块链节点还用于接收第一客户端发送的结算协议;向该第二区块链节点发送该结算协议;若该第一区块链节点收到该第二区块链节点返回的对该结算协议的确认消息,则根据该结算协议生成该智能合约并同步到该区块链。
进一步地,该区块链节点还用于同步该第二区块链节点发布的第二原始话单。
进一步地,该区块链节点还用于:若该第一确认消息未携带该第一结算结果对账通过的信息,则确定目标原始话单,并根据智能合约处理该目标原始话单,获取第二结算结果并发送给第二区块链节点,该目标原始话单为根据预置规则确定的话单,该目标原始话单为第一原始话单或第二原始话单;接收该第二区块链节点返回的第二确认消息,该第二确认消息用于指示该第二区块链节点根据该智能合约与该第二结算结果进行对账的结果;判断该第二确认消息是否携带该第二结算结果对账通过的信息;若携带该第二结算结果对账通过的信息,则将该第二结算结果同步到该区块链;向该第一客户端发送根据该第二结算结果生成的账单数据。
本申请实施例提供的区块链节点在实现基于区块链的结算方法的过程与前述图5所示的实施例中描述的方法流程类似,此处不再赘述。
本申请实施例提供的第一区块链节点,实现了原始话单的共享,结算结果的实时对账,避免了现有技术中在账期末结算时回溯对账困难的问题。
上面介绍了结算发起方区块链节点,下面介绍结算发起方的区块链客户端,请参阅图11,本申请实施例的区块链客户端的一个实施例示意图。
第一发送单元1101,用于用于向第一区块链节点发送第一原始话单,该第一客户端为结算发起方的客户端;
调用单元1102,用于调用区块链接口,触发该第一区块链节点根据智能合约处理第一原始话单并得出第一结算结果,该智能合约根据结算协议生成;
接收单元1103,用于接收该第一区块链节点发送的账单数据,该账单数据根据该第一结算结果生成。
进一步地,该区块链客户端还用于:向该第一区块链节点发送结算协议。
进一步地,该区块链客户端还用于:若该第一客户端接收第一区块链节点发送的争议消息,则根据预置规则处理争议消息,该预置的规则包括该第一客户端再次调用区块链接口,触发该第一区块链节点根据该智能合约处理该第一原始话单。
本申请实施例提供的区块链客户端在实现基于区块链的结算方法的过程与前述图6所示的实施例中描述的方法流程类似,此处不再赘述。
本申请实施例提供的第一客户端,通过区块链接口将结算协议和原始话单发送给结算参与方,对结算各方共享,结算参与方可以实时对账,避免账期末时发生争议。
上面介绍了结算发起方的区块链节点和客户端,下面将介绍结算参与方的区块链节点,请参阅图12,本申请实施例中一个区块链节点的实施例示意图。
第一同步单元1201,用于同步第一区块链节点发布的第一原始话单,该第二区块链节点为结算参与方的区块链节点,该第一区块链节点为结算发起方的区块链节点;
第一接收单元1202,用于接收该第一区块链节点发送的第一结算结果,该第一结算结果为该第一区块链节点根据智能合约处理该第一原始话单得到,该智能合约根据结算协议生成;
判断单元1203,用于判断根据智能合约计算的结果与该第一结算结果是否一致;
第一发送单元1204,用于若根据智能合约计算的结果与该第一结算结果一致时,向该第一区块链节点发送第一确认消息,该第一确认消息携带该第一结算结果对账通过的信息;
第二同步单元1205,用于节点同步该第一区块链节点发布的该第一结算结果;
第二发送单元1206,用于向第二客户端发送根据该第一结算结果生成的账单数据,该第二客户端为结算参与方客户端。
进一步地,该区块链节点还用于:接收该第一区块链节点发送的结算协议;向该第二客户端发送该结算协议;若该第二区块链节点接收到该第二客户端对该结算协议的确认消息,则向第一区块链节点返回对该结算协议的确认消息;同步第一区块链节点发布的该智能合约。
进一步地,该判断单元1203具体用于:根据该智能合约处理该第一原始话单得到第二结算结果;判断该第二结算结果与该第一结算结果是否一致;若该第二结算结果与该第一结算结果一致,则触发向该第一区块链节点返回第一确认消息,该第一确认消息携带该第二结算结果对账通过的信息;若该第二结算结果与该第一结算结果不一致,则向该第一区块链节点返回第二确认消息,该第二确认消息携带该第二结算结果对账不通过的信息。
此外,该区块链节点还包括:
第二接收单元,用于接收第二客户端发送的第二原始话单并同步到该区块链。
进一步地,该判断单元1203具体用于:根据该智能合约处理该第二原始话单得到第三结算结果;判断该第三结算结果与该第一结算结果是否一致;若该第三结算结果与该第一结算结果一致,则触发向该第一区块链节点返回第一确认消息,该第一确认消息携带该第一结算结果对账通过的信息;若该第三结算结果与该第一结算结果不一致,则向该第一区块链节点返回第二确认消息,该第二确认消息携带该第一结算结果对账不通过的信息。
本申请实施例提供的区块链节点在实现基于区块链的结算方法的过程与前述图7所示的实施例中描述的方法流程类似,此处不再赘述。
本申请实施例提供的第二区块链节点,可以从第一区块链节点接收原始话单和结算结果,并根据智能合约对结算结果进行实时对账,经过确认的结算结果保存在区块链节点,结算时,第二区块链节点可以向第二客户端发送账单数据。结算过程实现了原始话单和结算规则的共享,并实时对账,结算过程公开透明,避免了账期末转账结算时发生争议。
上面介绍了结算参与方区块链节点,下面介绍结算参与方的区块链客户端,请参阅图13,本申请实施例的区块链客户端的一个实施例示意图。
第一接收单元1301,用于确认第二区块链节点发送的结算协议,该结算协议用于生成智能合约,该第二客户端为结算参与方的客户端;
发送单元1302,用于若该第二客户端收到对该结算协议的确认信息,则向该第二区块链节点发送对该结算协议的确认消息;
第二接收单元1303,用于接收第二区块链节点发送的账单数据,该账单数据由第一原始话单经该智能合约处理后得到,该第一原始话单由第一区块链节点发布,该第一区块链节点为结算发起方节点。
进一步地,该客户端还用于向该第二区块链节点发送第二原始话单。
本申请实施例提供的区块链客户端在实现基于区块链的结算方法的过程与前述图8所示的实施例中描述的方法流程类似,此处不再赘述。
本申请实施例提供了第二客户端,通过确认结算协议,根据该结算协议生成的智能合约进行结算,拥有结算相关交易记录的第二客户端可以将自己生成的原始话单上传至区块链节点,用于对结算结果进行对账,并实时反馈对账结果,经过对账的结算结果在结算时以账单数据的形式由第二区块链节点发送给第二客户端,第二客户端既可以对结算规则进行确认,还可以在对账中通过自己记录的原始账单得到的结算结果进行对账,结算过程公开透明,可实时对账。
下面为介绍本申请实施例的区块链节点的另一个实施例,请参阅图14,为本申请实施例中终端的另一个实施例示意图:
该区块链节点1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1401(例如,一个或一个以上处理器)和存储器1405,该存储器1405中存储有一个或一个以上的应用程序或数据。
其中,存储器1405可以是易失性存储或持久存储。存储在存储器1405的程序可以包括一个或一个以上模块,每个模块可以包括对区块链节点中的一系列指令操作。更进一步地,中央处理器1401可以设置为与存储器1405通信,在区块链节点1400上执行存储器1405中的一系列指令操作。
区块链节点1400还可以包括一个或一个以上电源1402,一个或一个以上有线或无线网络接口1403,一个或一个以上输入输出接口1404,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本实施例中区块链节点1400中的中央处理器1401所执行的流程与前述图5或图7所示的实施例中描述的方法流程类似,此处不再赘述。
下面为介绍本申请实施例的区块链客户端的另一个实施例,请参阅图15,为本申请实施例中区块链客户端的另一个实施例示意图:
该区块链客户端1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1501(例如,一个或一个以上处理器)和存储器1505,该存储器1505中存储有一个或一个以上的应用程序或数据。
其中,存储器1505可以是易失性存储或持久存储。存储在存储器1505的程序可以包括一个或一个以上模块,每个模块可以包括对区块链客户端中的一系列指令操作。更进一步地,中央处理器1501可以设置为与存储器1505通信,在区块链客户端1500上执行存储器1505中的一系列指令操作。
区块链客户端1500还可以包括一个或一个以上电源1502,一个或一个以上有线或无线网络接口1503,一个或一个以上输入输出接口1504,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本实施例中区块链客户端1500中的中央处理器1501所执行的流程与前述图6或图8所示的实施例中描述的方法流程类似,此处不再赘述。
本申请实施例还提供一种计算机存储介质,该计算机存储介质用于储存为前述区块链节点或区块链客户端所用的计算机软件指令,其包括用于执行为终端所设计的程序。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现前述图5至图9所示的实施例中的方法流程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (34)
1.一种基于区块链的结算方法,其特征在于,包括:
第一区块链节点接收第一客户端发送的第一原始话单并同步到区块链,所述第一客户端为结算发起方客户端,所述区块链包括结算发起方的第一区块链节点和结算参与方的第二区块链节点;
所述第一区块链节点根据智能合约处理所述第一原始话单,得到第一结算结果并发送给所述第二区块链节点,所述智能合约根据结算协议生成;
所述第一区块链节点接收所述第二区块链节点返回的第一确认消息,所述第一确认消息携带所述第二区块链节点根据所述智能合约与所述第一结算结果进行对账的结果;
若所述第一确认消息携带所述第一结算结果对账通过的信息,则所述第一区块链节点将所述第一结算结果同步到所述区块链;
所述第一区块链节点向所述第一客户端发送根据所述第一结算结果生成的账单数据。
2.根据权利要求1所述的方法,其特征在于,所述第一区块链节点接收第一客户端发送的第一原始话单并同步到所述区块链之前,所述方法还包括:
所述第一区块链节点接收第一客户端发送的结算协议;
所述第一区块链节点向所述第二区块链节点发送所述结算协议;
若所述第一区块链节点收到所述第二区块链节点返回的对所述结算协议的确认消息,则所述第一区块链节点根据所述结算协议生成所述智能合约并同步到所述区块链。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一区块链节点同步所述第二区块链节点发布的第二原始话单。
4.根据权利要求3所述的方法,其特征在于,所述第一区块链节点接收所述第二区块链节点返回的第一确认消息之后,所述方法还包括:
若所述第一确认消息未携带所述第一结算结果对账通过的信息,则所述第一区块链节点根据预置规则确定目标原始话单,并根据智能合约处理所述目标原始话单,获取第二结算结果并发送给第二区块链节点,所述目标原始话单为第一原始话单或第二原始话单;
所述第一区块链节点接收所述第二区块链节点返回的第二确认消息,所述第二确认消息用于指示所述第二区块链节点根据所述智能合约与所述第二结算结果进行对账的结果;
若所述第二确认消息携带所述第二结算结果对账通过的信息,则所述第一区块链节点将所述第二结算结果同步到所述区块链;
所述第一区块链节点向所述第一客户端发送根据所述第二结算结果生成的账单数据。
5.一种基于区块链的结算方法,其特征在于,包括:
第一客户端向第一区块链节点发送第一原始话单,所述第一客户端为结算发起方的客户端;
所述第一客户端调用区块链接口,触发所述第一区块链节点根据智能合约处理第一原始话单并得出第一结算结果,所述智能合约根据结算协议生成;
所述第一客户端接收所述第一区块链节点发送的账单数据,所述账单数据根据所述第一结算结果生成。
6.根据权利要求5所述的方法,其特征在于,在所述第一客户端调用区块链接口之前,所述方法还包括:
所述第一客户端向所述第一区块链节点发送所述结算协议。
7.根据权利要求5或6所述的方法,其特征在于,在所述第一客户端调用区块链接口之后,所述方法还包括:
若所述第一客户端接收第一区块链节点发送的争议消息,则所述第一客户端根据预置规则处理争议消息,所述预置的规则包括所述第一客户端再次调用区块链接口,触发所述第一区块链节点根据所述智能合约处理所述第一原始话单。
8.一种基于区块链的结算方法,其特征在于,包括:
所述第二区块链节点同步第一区块链节点发布的第一原始话单,所述第二区块链节点为结算参与方的区块链节点,所述第一区块链节点为结算发起方的区块链节点;
所述第二区块链节点接收所述第一区块链节点发送的第一结算结果,所述第一结算结果为所述第一区块链节点根据智能合约处理所述第一原始话单得到,所述智能合约根据结算协议生成;
所述第二区块链节点判断根据所述智能合约计算的结果与所述第一结算结果是否一致;
若根据所述智能合约计算的结果与所述第一结算结果一致,则所述第二区块链节点向所述第一区块链节点发送第一确认消息,所述第一确认消息携带所述第一结算结果对账通过的信息;
所述第二区块链节点同步所述第一区块链节点发布的所述第一结算结果;
所述第二区块链节点向第二客户端发送根据所述第一结算结果生成的账单数据,所述第二客户端为结算参与方客户端。
9.根据权利要求8所述的方法,其特征在于,所述第二区块链节点接收所述第一区块链节点发送的第一结算结果之前,所述方法还包括:
所述第二区块链节点接收所述第一区块链节点发送的结算协议;
所述第二区块链节点向所述第二客户端发送所述结算协议;
若所述第二区块链节点接收到所述第二客户端对所述结算协议的确认消息,则所述第二区块链节点向第一区块链节点返回对所述结算协议的确认消息;
所述第二区块链节点同步第一区块链节点发布的所述智能合约。
10.根据权利要求8或9所述的方法,其特征在于,所述第二区块链节点判断根据所述智能合约计算的结果与所述第一结算结果是否一致包括:
所述第二区块链节点根据所述智能合约处理所述第一原始话单得到第二结算结果;
所述第二区块链节点判断所述第二结算结果与所述第一结算结果是否一致;
若所述第二结算结果与所述第一结算结果一致,则触发所述第二区块链节点向所述第一区块链节点返回第一确认消息,所述第一确认消息携带所述第二结算结果对账通过的信息;
若所述第二结算结果与所述第一结算结果不一致,则所述第二区块链节点向所述第一区块链节点返回第二确认消息,所述第二确认消息携带所述第二结算结果对账未通过的信息。
11.根据权利要求8或9所述的方法,其特征在于,所述第二区块链节点接收所述第一区块链节点发送的第一结算结果之前,所述方法还包括:
所述第二区块链节点接收第二客户端发送的第二原始话单并同步到所述区块链。
12.根据权利要求11所述的方法,其特征在于,所述第二区块链节点判断根据所述智能合约计算的结果与所述第一结算结果是否一致包括:
所述第二区块链节点根据所述智能合约处理所述第二原始话单得到第三结算结果;
所述第二区块链节点判断所述第三结算结果与所述第一结算结果是否一致;
若所述第三结算结果与所述第一结算结果一致,则触发所述第二区块链节点向所述第一区块链节点返回第一确认消息,所述第一确认消息携带所述第一结算结果对账通过的信息;
若所述第三结算结果与所述第一结算结果不一致,则所述第二区块链节点向所述第一区块链节点返回第二确认消息,所述第二确认消息携带所述第一结算结果对账不通过的信息。
13.一种基于区块链的结算方法,其特征在于,包括:
第二客户端接收第二区块链节点发送的结算协议,所述结算协议用于生成智能合约,所述第二客户端为结算参与方的客户端;
若所述第二客户端收到对所述结算协议的确认信息,则所述第二客户端向所述第二区块链节点发送对所述结算协议的确认消息;
所述第二客户端接收第二区块链节点发送的账单数据,所述账单数据由第一原始话单经所述智能合约处理后得到,所述第一原始话单由第一区块链节点发布,所述第一区块链节点为结算发起方节点。
14.根据权利要求13所述的方法,其特征在于,所述第二客户端接收第二区块链节点发送的账单数据之前,所述方法还包括:
所述第二客户端向所述第二区块链节点发送第二原始话单。
15.一种区块链节点,其特征在于,包括:
第一接收单元,用于接收第一客户端发送的第一原始话单并同步到所述区块链,所述第一客户端为结算发起方客户端,所述区块链包括结算发起方的第一区块链节点和结算参与方的第二区块链节点;
处理单元,用于根据智能合约处理所述第一原始话单,得到第一结算结果并发送给第二区块链节点,所述智能合约根据结算协议生成;
第二接收单元,用于接收所述第二区块链节点返回的第一确认消息,所述第一确认消息用于指示所述第二区块链节点根据所述智能合约与所述第一原始话单进行对账的结果;
同步单元,用于若所述第一确认消息携带所述第一结算结果对账通过的信息,则所述第一区块链节点将所述第一结算结果同步到所述区块链;
发送单元,用于点向所述第一客户端发送根据所述第一结算结果生成的账单数据。
16.根据权利要求15所述的区块链节点,其特征在于,所述区块链节点还用于:
接收第一客户端发送的结算协议;
向所述第二区块链节点发送所述结算协议;
若所述第一区块链节点收到所述第二区块链节点返回的对所述结算协议的确认消息,则根据所述结算协议生成所述智能合约并同步到所述区块链。
17.根据权利要求15或16所述的区块链节点,其特征在于,所述区块链节点还用于:
同步所述第二区块链节点发布的第二原始话单。
18.根据权利要求17所述的区块链节点,其特征在于,所述区块链节点还用于:
若所述第一确认消息未携带所述第一结算结果对账通过的信息,则根据预置规则确定目标原始话单,并根据智能合约处理所述目标原始话单,获取第二结算结果并发送给第二区块链节点,所述目标原始话单为第一原始话单或第二原始话单;
接收所述第二区块链节点返回的第二确认消息,所述第二确认消息用于指示所述第二区块链节点根据所述智能合约与所述第二结算结果进行对账的结果;
若所述第二确认消息携带所述第二结算结果对账通过的信息,则将所述第二结算结果同步到所述区块链;
向所述第一客户端发送根据所述第二结算结果生成的账单数据。
19.一种区块链客户端,其特征在于,包括:
第一发送单元,用于向第一区块链节点发送第一原始话单,所述第一客户端为结算发起方的客户端;
调用单元,用于调用区块链接口,触发所述第一区块链节点根据智能合约处理第一原始话单并得出第一结算结果,所述智能合约根据结算协议生成;
接收单元,用于接收所述第一区块链节点发送的账单数据,所述账单数据根据所述第一结算结果生成。
20.根据权利要求19所述的区块链客户端,其特征在于,所述区块链客户端还用于:
向所述第一区块链节点发送所述结算协议。
21.根据权利要求19或20所述的区块链客户端,其特征在于,所述区块链客户端还用于:
若所述第一客户端接收第一区块链节点发送的争议消息,则根据预置规则处理争议消息,所述预置的规则包括所述第一客户端再次调用区块链接口,触发所述第一区块链节点根据所述智能合约处理所述第一原始话单。
22.一种区块链节点,其特征在于,包括:
第一同步单元,用于同步第一区块链节点发布的第一原始话单,所述第二区块链节点为结算参与方的区块链节点,所述第一区块链节点为结算发起方的区块链节点;
第一接收单元,用于接收所述第一区块链节点发送的第一结算结果,所述第一结算结果为所述第一区块链节点根据智能合约处理所述第一原始话单得到,所述智能合约根据结算协议生成;
判断单元,用于判断根据智能合约计算的结果与所述第一结算结果是否一致;
第一发送单元,用于若根据智能合约计算的结果与所述第一结算结果一致时,则向所述第一区块链节点发送第一确认消息,所述第一确认消息携带所述第一结算结果对账通过的信息;
第二同步单元,用于节点同步所述第一区块链节点发布的所述第一结算结果;
第二发送单元,用于向第二客户端发送根据所述第一结算结果生成的账单数据,所述第二客户端为结算参与方客户端。
23.根据权利要求22所述的区块链节点,其特征在于,所述区块链节点还用于:
接收所述第一区块链节点发送的结算协议;
向所述第二客户端发送所述结算协议;
若所述第二区块链节点接收到所述第二客户端对所述结算协议的确认消息,则向第一区块链节点返回对所述结算协议的确认消息;
同步第一区块链节点发布的所述智能合约。
24.根据权利要求22或23所述的区块链节点,其特征在于,所述判断单元具体用于:
根据所述智能合约处理所述第一原始话单得到第二结算结果;
判断所述第二结算结果与所述第一结算结果是否一致;
若所述第二结算结果与所述第一结算结果一致,则触发向所述第一区块链节点返回第一确认消息,所述第一确认消息携带所述第二结算结果对账通过的信息;
若所述第二结算结果与所述第一结算结果不一致,则向所述第一区块链节点返回第二确认消息,所述第二确认消息携带所述第二结算结果对账不通过的信息。
25.根据权利要求22或23所述的区块链节点,其特征在于,所述区块链节点还包括:
第二接收单元,用于接收第二客户端发送的第二原始话单并同步到所述区块链。
26.根据权利要求25所述的区块链节点,其特征在于,所述判断单元具体用于:
根据所述智能合约处理所述第二原始话单得到第三结算结果;
判断所述第三结算结果与所述第一结算结果是否一致;
若所述第三结算结果与所述第一结算结果一致,则触发向所述第一区块链节点返回第一确认消息,所述第一确认消息携带所述第一结算结果对账通过的信息;
若所述第三结算结果与所述第一结算结果不一致,则向所述第一区块链节点返回第二确认消息,所述第二确认消息携带所述第一结算结果对账不通过的信息。
27.一种区块链客户端,其特征在于,包括:
第一接收单元,用于接收第二区块链节点发送的结算协议,所述结算协议用于生成智能合约,所述第二客户端为结算参与方的客户端;
发送单元,用于若所述第二客户端收到对所述结算协议的确认信息,则向所述第二区块链节点发送对所述结算协议的确认消息;
第二接收单元,用于接收第二区块链节点发送的账单数据,所述账单数据由第一原始话单经所述智能合约处理后得到,所述第一原始话单由第一区块链节点发布,所述第一区块链节点为结算发起方节点。
28.根据权利要求27所述的区块链客户端,其特征在于,所述区块链客户端还用于:
向所述第二区块链节点发送第二原始话单。
29.一种区块链节点,其特征在于,包括:
处理器、和存储器、输入输出设备以及总线;
所述处理器、存储器、输入输出设备分别于所述总线相连;
所述存储器用于存储软件指令;
所述处理器用于执行所述指令以执行如下步骤:
接收第一客户端发送的第一原始话单并同步到区块链,所述第一客户端为结算发起方客户端,所述区块链包括结算发起方的第一区块链节点和结算参与方的第二区块链节点;
根据智能合约处理所述第一原始话单,得到第一结算结果并发送给所述第二区块链节点,所述智能合约根据结算协议生成;
接收所述第二区块链节点返回的第一确认消息,所述第一确认消息携带所述第二区块链节点根据所述智能合约与所述第一结算结果进行对账的结果;
若所述第一确认消息携带所述第一结算结果对账通过的信息,则将所述第一结算结果同步到所述区块链;
向所述第一客户端发送根据所述第一结算结果生成的账单数据。
30.一种区块链客户端,其特征在于,包括:
处理器、和存储器、输入输出设备以及总线;
所述处理器、存储器、输入输出设备分别于所述总线相连;
所述存储器用于存储软件指令;
所述处理器用于执行所述指令以执行如下步骤:
向第一区块链节点发送第一原始话单,所述第一客户端为结算发起方的客户端;
调用区块链接口,触发所述第一区块链节点根据智能合约处理第一原始话单并得出第一结算结果,所述智能合约根据结算协议生成;
接收所述第一区块链节点发送的账单数据,所述账单数据根据所述第一结算结果生成。
31.一种区块链节点,其特征在于,包括:
处理器、和存储器、输入输出设备以及总线;
所述处理器、存储器、输入输出设备分别于所述总线相连;
所述存储器用于存储软件指令;
所述处理器用于执行所述指令以执行如下步骤:
同步第一区块链节点发布的第一原始话单,所述第二区块链节点为结算参与方的区块链节点,所述第一区块链节点为结算发起方的区块链节点;
接收所述第一区块链节点发送的第一结算结果,所述第一结算结果为所述第一区块链节点根据智能合约处理所述第一原始话单得到,所述智能合约根据结算协议生成;
判断根据智能合约计算的结果与所述第一结算结果是否一致;
若一致,则向所述第一区块链节点返回第一确认消息,所述第一确认消息携带所述第一结算结果对账通过的信息;
同步所述第一区块链节点发布的所述第一结算结果;
向第二客户端发送根据所述第一结算结果生成的账单数据,所述第二客户端为结算参与方客户端。
32.一种区块链客户端,其特征在于,包括:
处理器、和存储器、输入输出设备以及总线;
所述处理器、存储器、输入输出设备分别于所述总线相连;
所述存储器用于存储软件指令;
所述处理器用于执行所述指令以执行如下步骤:
接收第二区块链节点发送的结算协议,所述结算协议用于生成智能合约,所述第二客户端为结算参与方的客户端;
若所述第二客户端收到对所述结算协议的确认信息,则向所述第二区块链节点发送对所述结算协议的确认消息;
接收第二区块链节点发送的账单数据,所述账单数据由所述智能合约处理第一原始话单生成,所述第一原始话单由第一区块链节点发布,所述第一区块链节点为结算发起方节点。
33.一种包含指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得所述计算机执行如权利要求1至14任一项所述的方法。
34.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如权利要求1至14中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810230085.0A CN110310107B (zh) | 2018-03-20 | 2018-03-20 | 基于区块链的结算方法、区块链节点和客户端 |
PCT/CN2019/075766 WO2019179278A1 (zh) | 2018-03-20 | 2019-02-22 | 基于区块链的结算方法、区块链节点和客户端 |
EP19772272.1A EP3754578A4 (en) | 2018-03-20 | 2019-02-22 | BLOCK CHAIN, BLOCK CHAIN NODE AND CUSTOMER SETTLEMENT PROCESS |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810230085.0A CN110310107B (zh) | 2018-03-20 | 2018-03-20 | 基于区块链的结算方法、区块链节点和客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110310107A true CN110310107A (zh) | 2019-10-08 |
CN110310107B CN110310107B (zh) | 2023-12-12 |
Family
ID=67986681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810230085.0A Active CN110310107B (zh) | 2018-03-20 | 2018-03-20 | 基于区块链的结算方法、区块链节点和客户端 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3754578A4 (zh) |
CN (1) | CN110310107B (zh) |
WO (1) | WO2019179278A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751486A (zh) * | 2019-12-17 | 2020-02-04 | 北京连琪科技有限公司 | 智能合约的重放举证方法、系统、电子设备及存储介质 |
CN110853216A (zh) * | 2019-10-18 | 2020-02-28 | 深圳壹账通智能科技有限公司 | 信息存储方法、装置、存储介质和计算机设备 |
CN111882273A (zh) * | 2020-07-20 | 2020-11-03 | 上海东普信息科技有限公司 | 基于区块链的业务费用结算方法、装置、设备及存储介质 |
CN113708943A (zh) * | 2021-09-06 | 2021-11-26 | 中国联合网络通信集团有限公司 | 网间结算方法、装置、设备及存储介质 |
CN114638604A (zh) * | 2022-03-22 | 2022-06-17 | 成都质数斯达克科技有限公司 | 基于区块链的金融业务计费、收费方法及装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11049115B2 (en) * | 2019-07-31 | 2021-06-29 | Advanced New Technologies Co., Ltd. | Blockchain-based bill write-off method, apparatus, electronic device, and storage medium |
CN110866753B (zh) * | 2019-10-24 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 一种第三方结算的控制方法、装置、电子设备和存储介质 |
US20210150597A1 (en) * | 2019-11-20 | 2021-05-20 | International Business Machines Corporation | Automated invoicing |
CN111211876B (zh) * | 2020-01-02 | 2021-10-12 | 支付宝(杭州)信息技术有限公司 | 发送针对数据请求的应答消息的方法及装置、区块链系统 |
CN112801588A (zh) * | 2021-02-01 | 2021-05-14 | 新疆天池能源有限责任公司 | 一种基于区块链的煤炭运销费用自动结算方法 |
CN113610660A (zh) * | 2021-07-01 | 2021-11-05 | 国网浙江宁海县供电有限公司 | 基于区块链的电力系统结算方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8401938B1 (en) * | 2008-05-12 | 2013-03-19 | The Pnc Financial Services Group, Inc. | Transferring funds between parties' financial accounts |
US20170243217A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for routing of process authorizations and settlement to a user in a process data network |
CN107292622A (zh) * | 2017-07-05 | 2017-10-24 | 武汉凤链科技有限公司 | 一种针对智能合约的价值分配方法和系统 |
CN107392610A (zh) * | 2017-03-06 | 2017-11-24 | 钱德君 | 一种分布式网络的可靠数据源的实现方法 |
CN107423973A (zh) * | 2017-08-04 | 2017-12-01 | 现在(北京)支付股份有限公司 | 基于区块链技术的用户移动终端上被动扫码的支付方法 |
CN108292397A (zh) * | 2015-11-05 | 2018-07-17 | 万事达卡国际股份有限公司 | 在交易处理网络中使用区块链的方法和系统 |
-
2018
- 2018-03-20 CN CN201810230085.0A patent/CN110310107B/zh active Active
-
2019
- 2019-02-22 EP EP19772272.1A patent/EP3754578A4/en active Pending
- 2019-02-22 WO PCT/CN2019/075766 patent/WO2019179278A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8401938B1 (en) * | 2008-05-12 | 2013-03-19 | The Pnc Financial Services Group, Inc. | Transferring funds between parties' financial accounts |
CN108292397A (zh) * | 2015-11-05 | 2018-07-17 | 万事达卡国际股份有限公司 | 在交易处理网络中使用区块链的方法和系统 |
US20170243217A1 (en) * | 2016-02-22 | 2017-08-24 | Bank Of America Corporation | System for routing of process authorizations and settlement to a user in a process data network |
CN107392610A (zh) * | 2017-03-06 | 2017-11-24 | 钱德君 | 一种分布式网络的可靠数据源的实现方法 |
CN107292622A (zh) * | 2017-07-05 | 2017-10-24 | 武汉凤链科技有限公司 | 一种针对智能合约的价值分配方法和系统 |
CN107423973A (zh) * | 2017-08-04 | 2017-12-01 | 现在(北京)支付股份有限公司 | 基于区块链技术的用户移动终端上被动扫码的支付方法 |
Non-Patent Citations (1)
Title |
---|
MARKUS KLEMS 等: "Trustless Intermediation in Blockchain-Based Decentralized Service Marketplaces", 《ICSOC 2017, LNCS 10601》, pages 731 - 739 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110853216A (zh) * | 2019-10-18 | 2020-02-28 | 深圳壹账通智能科技有限公司 | 信息存储方法、装置、存储介质和计算机设备 |
CN110751486A (zh) * | 2019-12-17 | 2020-02-04 | 北京连琪科技有限公司 | 智能合约的重放举证方法、系统、电子设备及存储介质 |
CN111882273A (zh) * | 2020-07-20 | 2020-11-03 | 上海东普信息科技有限公司 | 基于区块链的业务费用结算方法、装置、设备及存储介质 |
CN113708943A (zh) * | 2021-09-06 | 2021-11-26 | 中国联合网络通信集团有限公司 | 网间结算方法、装置、设备及存储介质 |
CN114638604A (zh) * | 2022-03-22 | 2022-06-17 | 成都质数斯达克科技有限公司 | 基于区块链的金融业务计费、收费方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3754578A1 (en) | 2020-12-23 |
CN110310107B (zh) | 2023-12-12 |
EP3754578A4 (en) | 2020-12-23 |
WO2019179278A1 (zh) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110310107A (zh) | 基于区块链的结算方法、区块链节点和客户端 | |
CN110490738A (zh) | 一种混合联邦学习方法及架构 | |
JP7316392B2 (ja) | ブロックチェーンが実現される方法及びシステム | |
EP3635607B1 (en) | Computer-implemented system and method for managing transactions over a blockchain network | |
CN108351882B (zh) | 用于网络内的分布式数据库的方法和装置 | |
Croman et al. | On Scaling Decentralized Blockchains: (A Position Paper) | |
CN108009811B (zh) | 一种面向云际计算环境价值交换的跨链通信方法 | |
CN111563786B (zh) | 一种基于区块链的虚拟电厂调控平台及运行方法 | |
Kaur et al. | Scalability in blockchain: Challenges and solutions | |
CN108009823A (zh) | 基于区块链智能合约的分布式算力资源的调用方法和系统 | |
Khalil et al. | Commit-chains: Secure, scalable off-chain payments | |
CN108667632A (zh) | 基于区块链的信用记录共享方法及装置、电子设备 | |
CN109154885A (zh) | 区块链平台上的业务处理执行 | |
TWM543413U (zh) | 利用區塊鏈技術進行交易的網路借貸平台 | |
CN109885264A (zh) | 一种区块链节点的逻辑分片方法及其系统 | |
CN109034840A (zh) | 基于清洁能源产生的绿证交易方法和系统 | |
KR20200047261A (ko) | 블록체인 기반의 콘텐츠 공유창작 서버, 콘텐츠 배급서버 및 이를 포함하는 시스템 | |
CN107341402A (zh) | 一种程序执行方法及装置 | |
CN112801649B (zh) | 基于区块链的流量统计系统、方法及装置 | |
CN110033363A (zh) | 基于区块链的事件处理方法及装置、电子设备 | |
CN105678151A (zh) | 构建可信节点/卫星节点的区块链传输方法和系统 | |
CN113407977B (zh) | 基于聚合签名的跨链扩展方法及系统 | |
CN111612453A (zh) | 基于区块链的去中心化交易方法、装置及电子设备 | |
CN109510713A (zh) | 一种基于区块链的流量共享激励方法 | |
Belotti et al. | Game theoretical analysis of cross-chain swaps |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |