CN116433397A - 基于区块链网络的账单清算方法、装置、电子设备及介质 - Google Patents
基于区块链网络的账单清算方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN116433397A CN116433397A CN202310206067.XA CN202310206067A CN116433397A CN 116433397 A CN116433397 A CN 116433397A CN 202310206067 A CN202310206067 A CN 202310206067A CN 116433397 A CN116433397 A CN 116433397A
- Authority
- CN
- China
- Prior art keywords
- consumption
- data
- bill
- account
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 52
- 238000007781 pre-processing Methods 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000005058 diapause Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
- G06Q40/125—Finance or payroll
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Accounting & Taxation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开提供了一种基于区块链网络的账单清算方法、装置、电子设备及存储介质,可以应用于区块链技术领域、金融领域。该方法包括:响应第一时刻的结算指令,至少一个节点从消费提供方获取第一消费账单;至少一个节点根据第一消费账单对目标消费账户进行扣款处理,生成扣款结果;响应扣款结果为扣款不成功指令,将目标消费账户的欠款数据存储至区块链网络的区块;响应目标消费账户第二时刻在至少一个节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在区块中的欠款数据,生成第三消费账单,第二消费账单是根据与消费指令关联的消费信息生成的;响应第三消费账单的支付结果,更新目标消费账户的欠款数据并存储至区块链网络的区块。
Description
技术领域
本公开涉及区块链技术领域,更具体地涉及一种基于区块链网络的账单清算方法、装置、电子设备以及可读存储介质。
背景技术
现有的一些支付场景中,实际消费的客户的消费账单滞后于当前的使用场景,例如ETC支付的各类场景,银行作为发卡方,需要提前针对客户的消费账单进行垫付,在银行垫付后再根据实际消费账单向实际消费的客户追缴消费金额。该模式下,垫付方承担较大的风险,例如当实际消费的客户注销账户或者不向账户存储资金,将导致垫付方后期无法追缴消费金额,造成损失。
发明内容
鉴于上述问题,本公开提供了一种基于区块链网络的账单清算方法、装置、电子设备、可读存储介质及计算机程序产品,可以针对消费账户的欠费数据进行及时清算,有效减少垫付方承担的风险。
根据本公开的第一个方面,提供了一种基于区块链网络的账单清算方法,其中,所述区块链网络中包括多个节点,所述方法包括:响应第一时刻的结算指令,至少一个第一节点从消费提供方获取第一消费账单,所述结算指令包括第二节点接收的用于结算消费账户与消费提供方在所述第一时刻之前的消费信息的指令;所述第二节点根据所述第一消费账单对目标消费账户进行扣款处理,生成扣款结果,所述目标消费账户与所述第一消费账单相关联;响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块;响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在所述区块中的欠款数据,生成第三消费账单,所述第二消费账单是根据与所述消费指令关联的消费信息生成的;响应所述第三消费账单的支付结果,更新所述目标消费账户的欠款数据并存储至所述区块链网络的区块。
在本公开的一些示例性实施例中,响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块,包括:响应扣款结果为扣款不成功指令,生成所述目标消费账户的欠款数据;对所述欠款数据进行预处理;以及将预处理后的所述欠款数据存储至所述区块链网络的区块。
在本公开的一些示例性实施例中,对欠款数据进行预处理包括:根据预设格式对所述欠款数据进行封装;对封装后的所述欠款数据进行加密处理;以及对加密处理后的所述欠款数据进行签名验证。
在本公开的一些示例性实施例中,将预处理后的所述欠款数据存储至所述区块链网络的区块,包括:响应签名验证通过的指令,将所述欠款数据发送至所述区块链的节点;对所述欠款数据进行解密,通过共识算法对解密后的所述欠款数据进行处理以存储至所述区块链网络的区块。
在本公开的一些示例性实施例中,通过共识算法对解密后的所述欠款数据进行处理以存储至所述区块链网络的区块,包括:所述多个节点中的主节点接收所述欠款数据的存储请求,生成第一预处理请求;所述多个节点中的成员节点接收所述第一预处理请求,响应所述第一预处理请求来自所述主节点的指令,生成第二预处理请求;所述多个节点接收所述第二预处理请求;响应所述第二预处理请求为正确的节点总数超过第一预设阈值,生成认可消息;所述多个节点接收所述认可消息,响应所述认可消息为合法的节点总数超过第二预设阈值,确认所述欠款数据的存储请求通过;响应所述欠款数据的存储请求通过的指令,将所述欠款数据存储至所述区块链网络的区块。
在本公开的一些示例性实施例中,所述的方法还包括:在将所述目标消费账户的欠款数据存储至所述区块链网络的区块之后,根据所述欠款数据,确定与所述目标消费账户相关联的清算分账智能合约。
在本公开的一些示例性实施例中,根据所述欠款数据,确定与所述目标消费账户相关联的清算分账智能合约,包括:根据所述欠款数据,判断与所述目标消费账户相关联的清算分账智能合约是否存在;响应与所述目标消费账户相关联的清算分账智能合约不存在,生成清算分账智能合约;以及响应与所述目标消费账户相关联的清算分账智能合约存在,更新清算分账智能合约。
在本公开的一些示例性实施例中,生成清算分账智能合约,包括:至少根据所述第一时刻和所述第二时刻的时间间隔以及与所述欠款数据关联的至少一个节点的权重生成所述清算分账智能合约的清算分账比例。
在本公开的一些示例性实施例中,更新清算分账智能合约,包括:至少根据所述第一时刻和所述第二时刻的时间间隔以及与所述欠款数据关联的至少一个节点的权重更新所述清算分账智能合约的清算分账比例。
在本公开的一些示例性实施例中,响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在所述区块中的欠款数据,生成第三消费账单,包括:响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,生成所述目标消费账户的第二消费账单;响应所述欠款数据的查询请求,确定与目标消费账户相关联的欠款数据;以及至少根据所述第二消费账单和所述欠款数据,生成第三消费账单。
在本公开的一些示例性实施例中,响应所述欠款数据的查询请求,确定与目标消费账户相关联的欠款数据,包括:响应所述欠款数据的查询请求验证通过的指令,确定目标消费账户;以及根据所述目标消费账户确定在第二时刻之前存储于所述区块链网络的区块中有效的欠款数据。
在本公开的一些示例性实施例中,至少根据所述第二消费账单和所述欠款数据,生成第三消费账单,包括:根据第二消费账单、欠款数据以及所述清算分账智能合约生成第三消费账单。
在本公开的一些示例性实施例中,所述的方法还包括:在响应所述第三消费账单的支付结果,更新所述目标消费账户的欠款数据并存储至所述区块链网络的区块之前,响应第三消费账单生成指令,判断所述第三消费账单是否满足执行条件,并在满足所述执行条件时支付所述第三消费账单。
在本公开的一些示例性实施例中,所述的方法还包括:在响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块之后,根据所述欠款数据,生成与欠款数据相关联的目标消费账户违约名单。
本公开的第二方面,提供了一种基于区块链网络的账单清算装置,其中,所述区块链网络中包括多个节点,所述装置包括:获取模块,配置为响应第一时刻的结算指令,至少一个第一节点从消费提供方获取第一消费账单,所述结算指令包括第二节点接收的用于结算消费账户与消费提供方在所述第一时刻之前的消费信息的指令;第一生成模块,配置为基于所述第二节点根据所述第一消费账单对目标消费账户进行扣款处理,生成扣款结果,所述目标消费账户与所述第一消费账单相关联;存储模块,配置为响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块;第二生成模块,配置为响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在所述区块中的欠款数据,生成第三消费账单,所述第二消费账单是根据与所述消费指令关联的消费信息生成的;更新模块,配置为响应所述第三消费账单的支付结果,更新所述目标消费账户的欠款数据并存储至所述区块链网络的区块。
在本公开的一些示例性实施例中,所述存储模块还包括存储单元,所述存储单元配置为:响应扣款结果为扣款不成功指令,生成所述目标消费账户的欠款数据;对所述欠款数据进行预处理;以及将预处理后的所述欠款数据存储至所述区块链网络的区块。
在本公开的一些示例性实施例中,所述存储单元还包括预处理单元,所述预处理单元配置为:根据预设格式对所述欠款数据进行封装;对封装后的所述欠款数据进行加密处理;以及对加密处理后的所述欠款数据进行签名验证。
在本公开的一些示例性实施例中,所述存储单元还包括处理单元,所述处理单元配置为:响应签名验证通过的指令,将所述欠款数据发送至所述区块链的节点;对所述欠款数据进行解密,通过共识算法对解密后的所述欠款数据进行处理以存储至所述区块链网络的区块。
在本公开的一些示例性实施例中,所述处理单元包括处理子模块,所述处理子模块配置为:所述多个节点中的主节点接收所述欠款数据的存储请求,生成第一预处理请求;所述多个节点中的成员节点接收所述第一预处理请求,响应所述第一预处理请求来自所述主节点的指令,生成第二预处理请求;所述多个节点接收所述第二预处理请求;响应所述第二预处理请求为正确的节点总数超过第一预设阈值,生成认可消息;所述多个节点接收所述认可消息,响应所述认可消息为合法的节点总数超过第二预设阈值,确认所述欠款数据的存储请求通过;响应所述欠款数据的存储请求通过的指令,将所述欠款数据存储至所述区块链网络的区块。
在本公开的一些示例性实施例中,所述的装置还包括第一确定单元,所述第一确定单元配置为:在将所述目标消费账户的欠款数据存储至所述区块链网络的区块之后,根据所述欠款数据,确定与所述目标消费账户相关联的清算分账智能合约。
在本公开的一些示例性实施例中,所述第一确定单元包括确定子模块,所述确定子模块配置为:根据所述欠款数据,判断与所述目标消费账户相关联的清算分账智能合约是否存在;响应与所述目标消费账户相关联的清算分账智能合约不存在,生成清算分账智能合约;以及响应与所述目标消费账户相关联的清算分账智能合约存在,更新清算分账智能合约。
在本公开的一些示例性实施例中,所述确定子模块还包括生成子模块,生成子模块配置为:至少根据所述第一时刻和所述第二时刻的时间间隔以及与所述欠款数据关联的至少一个节点的权重生成所述清算分账智能合约的清算分账比例。
在本公开的一些示例性实施例中,所述确定子模块还包括更新子模块,更新子模块配置为:至少根据所述第一时刻和所述第二时刻的时间间隔以及与所述欠款数据关联的至少一个节点的权重更新所述清算分账智能合约的清算分账比例。
在本公开的一些示例性实施例中,所述第二生成模块还包括生成子单元,所述生成子单元配置为:响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,生成所述目标消费账户的第二消费账单;响应所述欠款数据的查询请求,确定与目标消费账户相关联的欠款数据;以及至少根据所述第二消费账单和所述欠款数据,生成第三消费账单。
在本公开的一些示例性实施例中,所述生成子单元包括第二确定单元,第二确定单元配置为:响应所述欠款数据的查询请求验证通过的指令,确定目标消费账户;以及根据所述目标消费账户确定在第二时刻之前存储于所述区块链网络的区块中有效的欠款数据。
在本公开的一些示例性实施例中,第二生成模块还包括第三消费账单生成模块,第三消费账单生成模块配置为:根据第二消费账单、欠款数据以及所述清算分账智能合约生成第三消费账单。
在本公开的一些示例性实施例中,所述的装置还包括判断模块,判断模块配置为:在响应所述第三消费账单的支付结果,更新所述目标消费账户的欠款数据并存储至所述区块链网络的区块之前,响应第三消费账单生成指令,判断所述第三消费账单是否满足执行条件,并在满足所述执行条件时支付所述第三消费账单。
在本公开的一些示例性实施例中,所述的装置还包括违约名单生成模块,违约名单生成模块配置为:在响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块之后,根据所述欠款数据,生成与欠款数据相关联的目标消费账户违约名单。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储可执行指令,所述可执行指令在被所述处理器执行时,实现根据上文所述的方法。
本公开的第四方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时,实现根据上文所述的方法。
本公开的第五方面提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据上文所述的方法。
根据本公开的实施例,第一节点与消费提供方相关联,第二节点与垫付方相关联。第二节点根据由第一节点获取的第一消费账单对目标消费账户进行扣款处理,当扣款不成功,将目标消费账户的欠款数据存储至区块链网络的区块中,由于区块链网络的区块的不可更改的特性,从而使得欠款数据更加准确可信。当目标消费账户第二时刻在其他节点进行消费时,则可以根据之前的欠款数据生成新的消费订单,完成对目标消费账户的欠款数据的追缴,即使在目标消费账户注销与第二节点(例如垫付方)关联的账户,也可以实现从其他节点对目标消费账户进行欠款追缴,可以有效降低第二节点的资金损失。此外,通过更新欠款数据至区块链网络的区块,保证欠款数据的准确性,防止重复或错误追缴对目标消费账户造成的资金损失。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了可以应用本公开实施例的基于区块链网络的账单清算方法的系统架构的示意图;
图2示意性示出了根据本公开实施例的账单清算方法的流程图;
图3示意性示出了根据本公开实施例的账单清算方法在操作S230的流程图;
图4示意性示出了根据本公开实施例的账单清算方法在操作S232的流程图;
图5示意性示出了根据本公开实施例的账单清算方法在操作S233的流程图;
图6示意性示出了根据本公开实施例的账单清算方法在将欠款数据存储至区块的流程图;
图7示意性示出了根据本公开实施例的账单清算方法在确定清算分账智能合约的操作;
图8A示意性示出了根据本公开实施例的账单清算方法在确定清算分账智能合约的流程;
图8B示意性示出了根据本公开实施例的账单清算方法在生成清算分账智能合约的流程;
图8C示意性示出了根据本公开实施例的账单清算方法在更新清算分账智能合约的流程;
图9A示意性示出了根据本公开实施例的账单清算方法在操作S240的流程图;
图9B示意性示出了根据本公开实施例的账单清算方法在操作S242的流程图;
图9C示意性示出了根据本公开实施例的账单清算方法在操作S243的进一步操作;
图10示意性示出了根据本公开实施例的账单清算方法在判断第三消费账单是否满足执行条件的流程;
图11示意性示出了根据本公开实施例的账单清算方法在生成目标消费账户违约名单的流程;
图12示意性示出了根据本公开实施例的账单清算装置的结构框图;
图13示意性示出了根据本公开实施例的适于实现账单清算方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,所涉及的用户个人信息的获取、存储和应用等操作,均获得了用户的授权。
在本文中,术语“第一时刻”和“第二时刻”分别指不同的时间点,例如,第一时刻可以表示比第二时刻更早的时间点。例如,第一时刻为12:03,第二时刻可以为13:31。
术语“消费账户”可以是指消费方在获取消费提供方提供的消费服务时向消费提供方提供的账户,每一个消费方在进行消费时,可以向消费提供方提供一个或多个消费账户。消费提供方基于每一笔消费服务可以确定具体的针对该消费服务进行消费的账户,即目标消费账户。目标消费账户例如是指消费账户中的具体的账户。例如用户A具有多个消费账户,基于服务B可以查询出用户A在服务B的具体的一笔消费服务所用的目标消费账户。
在相关技术中,某些特定的应用场景中,实际消费的客户的消费账单滞后于当前的使用场景,实际消费方在消费提供方的消费账单先由垫付方进行提前垫付,在消费提供方与垫付方进行结算后,消费提供方向垫付方提供消费账单,垫付方向实际消费方追缴清算,在这种支付场景中,当实际消费方在消费提供方与垫付方未完成结算之前,提前注销账户,或者拒不履行实际消费账单,将导致垫付方处于被动地位,承担较大的资金损失的风险。例如,在生活中的ETC使用场景中,发卡行作为垫付方,与作为消费提供方的交通管理局进行资金结算时,预先垫付资金,之后对作为实际消费者的ETC客户进行追缴,当ETC客户采用恶意注销ETC账户,将导致发卡行承担较大的资金损失风险。此外,由于消费提供方与垫付方之间的信息交互采用在特定时间段进行,存在一定的时间滞后,在该滞后的时间内,垫付方和消费提供方无法针对存在风险的消费方进行识别,无法有效避免垫付方的资金损失扩大。
为了解决上述的问题,本公开提供了基于区块链网络的账单清算方法、装置、电子设备、可读存储介质及计算机程序产品,可以在垫付方基于消费方消费账单扣款失败后,及时对消费方进行追缴,减少垫付方的资金损失风险。该账单清算方法包括但不限于:响应第一时刻的结算指令,至少一个第一节点从消费提供方获取第一消费账单,结算指令包括第二节点接收的用于结算消费账户与消费提供方在第一时刻之前的消费信息的指令;第二节点根据第一消费账单对目标消费账户进行扣款处理,生成扣款结果,目标消费账户与第一消费账单相关联;响应扣款结果为扣款不成功指令,将目标消费账户的欠款数据存储至区块链网络的区块;响应目标消费账户第二时刻在至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在区块中的欠款数据,生成第三消费账单,第二消费账单是根据与消费指令关联的消费信息生成的;响应第三消费账单的支付结果,更新目标消费账户的欠款数据并存储至区块链网络的区块。
根据本公开的实施例,第一节点与消费提供方相关联,第二节点与垫付方相关联。第二节点根据由第一节点获取的第一消费账单对目标消费账户进行扣款处理,当扣款不成功,将目标消费账户的欠款数据存储至区块链网络的区块中,由于区块链网络的区块的不可更改的特性,从而使得欠款数据更加准确可信。当目标消费账户第二时刻在其他节点进行消费时,则可以根据之前的欠款数据生成新的消费订单,完成对目标消费账户的欠款数据的追缴,即使在目标消费账户注销与垫付方关联的账户,也可以实现从其他节点对目标消费账户进行欠款追缴,可以有效降低垫付方的资金损失。此外,通过更新欠款数据至区块链网络的区块,保证欠款数据的准确性,防止重复或错误追缴对目标消费账户造成的资金损失。
图1示意性示出了可以应用本公开实施例的基于区块链网络的账单清算方法的系统架构的示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。需要说明的是,本公开实施例提供的基于区块链网络的账单清算方法可用于区块链技术领域、金融领域在区块链的相关方面,也可用于除金融领域之外的任意领域,本公开实施例提供的基于区块链网络的账单清算方法和装置对应用领域不做限定。
如图1所示,该应用场景示出了区块链网络(Blockchain Network)100,区块链网络100是执行给定区块链协议的节点集。整个网络以完全联合、去中心化和分布式的方式编排和协调每个用户在网络中所做的操作。
区块链节点上可以下载了相关区块链应用(如加密货币软件、培训管理软件等),以参与对等网络的计算机。区块链节点的类型可以包括全节点、轻节点、简单支付验证节点(Simplified Payment Verification,简称SPV)等。
区块链节点中全节点的特性可以包括:参与区块链网络的计算机彼此地位相等。SPV节点的目的是验证一笔交易是否上链、是否得到多个确认。轻节点是节点本地保存与其自身相关的交易数据,目的不仅仅是验证交易,还有管理节点自身的资产收入、支付等信息。SPV节点和轻节点的共同点:无需在本地保存全部数据。SPV是支付验证(简单),验证交易是否得到其他节点的共识验证,即是否上链(如验证得到多少确认数)。
而交易验证(复杂),包括账户余额验证、双花判断等,由全节点执行。全节点存储有全量数据,因此,全节点相对于轻节点占用的存储空间更大。
如图1所示,该区块链网络100可以包括多个节点(Node)101~106,节点101~106中至少部分节点共同维护区块链(Blockchain)。节点101~106可以是具有相同或不同计算能力的各种计算节点,例如可以是个人计算机、网络服务器、数据库服务器、智能手机等等,在此不做限定。节点101~106中任意两个节点之间都可进行点对点通信。
如图1所示,多个节点例如可以包括消费提供方、参与商户、不同的发卡银行等,通过作为节点接入区块链网络。节点之间具有通信链路,网络107用以在节点101~106之间提供通信链路的介质。网络107可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
区块链是通过散列指针按时间顺序链接的区块(Block)的分布式数据库。区块链的区块是按照时间顺序加入的,当满足预定条件时,区块链网络中的各节点允许当前节点创建区块并将该区块加入到区块链中,加入的区块作为该区块链上当前最新区块。在某一特定时刻,维护同一区块链的节点从区块链上获取的当前最新区块是相同的。一个区块链网络可以维护一条区块链,或者可以同时维护多条区块链,如图1中同时维护了区块链110,不同的区块链可以由区块链中相同节点构成的网络进行维护,也可以是由区块链网络中至少部分不同节点构成的不同子网络分别进行维护。例如,对于涉及隐私信息的区块链可以由非用户终端设备构成的区块链网络进行维护,如由服务器集群进行维护以降低用户隐私信息被泄露的风险。又例如,对于不涉及隐私信息的区块链可以由用户终端构成的区块链网络进行维护,这样有助于更好地利用用户终端的资源,降低对服务器资源的消耗。
应该理解,图1中的区块链网络的规模和类型、节点的数量、区块链的长度、区块的数量等仅仅是示意性的。根据实际需要,可以具有任意规模和类型的区块链网络、任意数量的节点、任意长度的区块链、任意数量的区块等,在此不做限制。
图2示意性示出了根据本公开实施例的基于区块链网络的账单清算方法的流程图。
如上文所示,本公开实施例的区块链网络包括多个节点,每个节点可以具有不同的作用或功能,例如,节点包括与消费提供方关联的第一节点、与发卡行关联的第二节点以及与其他参与商户关联的第三节点等,区块链网络中的节点的数量不做具体限定。
下面结合图2至图11对本公开实施例的基于区块链网络的账单清算方法进行详细说明。
如图2所示,本公开实施例的基于区块链网络的账单清算方法的流程200包括操作S210至操作S250。
在操作S210中,响应第一时刻的结算指令,至少一个第一节点从消费提供方获取第一消费账单,结算指令包括第二节点接收的用于结算消费账户与消费提供方在第一时刻之前的消费信息的指令。
在本公开的一些示例性实施例中,第一节点可以是与消费提供方关联的节点。第二节点可以是与垫付方(例如发卡银行)关联的节点。在一些具体的场景中,消费提供方与垫付方之间的结算设定在确定的时间段,在其他时间段不进行结算。例如,消费提供方与垫付方约定的结算时间为每天的23:00至23:59的时间段。在每天的其他时刻,消费方与消费提供方之间的消费账单中的款项,均由垫付方进行提前垫付,并在约定的结算时间结算完成后,依据消费提供方提供的消费账单向消费方进行追缴。
示例性地,第一时刻的结算指令用于结算消费账户与消费提供方在第一时刻之间的消费信息,消费信息里例如可以包含有消费金额、消费项目、消费时间、目标消费账户等。在第二节点接收到第一时刻的结算指令后,由与第二节点关联的垫付方完成与第一节点关联的消费提供方之间的结算。
在操作S220中,第二节点根据第一消费账单对目标消费账户进行扣款处理,生成扣款结果,目标消费账户与第一消费账单相关联。
在本公开的一些实施例中,第二节点在接收到第一消费账单后,可以根据第一消费账单确定目标消费账户以及对应的消费金额等数据,依据该数据,对与第一消费账单相关联的目标账户进行扣款处理。
生成扣款结果包括扣款成功以及扣款不成功。
例如,当目标消费账户中存在充足的余额,第二节点依据第一消费账单中的消费金额等内容完成扣款处理。
又例如,当目标消费账户中存在余额不足、余额为零或者目标消费账户已注销等情况,则生成扣款结果为扣款不成功。当目标消费账户余额不足,则优先针对第一消费账单中的部分消费金额进行扣款处理。
在操作S230中,响应扣款结果为扣款不成功指令,将目标消费账户的欠款数据存储至区块链网络的区块。
在本公开的一些实施例中,当生成扣款结果为扣款不成功时,获取扣款处理后的欠款数据。例如,当目标消费账户中余额为零或者目标消费账户已注销,则直接根据第一消费账单中的消费金额生成欠款数据。又例如,当目标消费账户中存在余额不足,则根据第一消费账单中的消费金额减去目标消费账户中已有余额,生成欠款数据。
将欠款数据存储至区块链网络的区块中,便于其他节点对欠款数据进行查看、更新等操作。
在本公开的另一些实施例中,在将欠款数据存储至区块链网络的区块之前,检查区块链网络中的区块是否具有与该目标消费账户关联的其他欠款数据,若存在,则根据区块中已经存在的欠款数据更新当前的欠款数据,从而生成最新的欠款数据。例如区块中已经存在目标消费账户的欠款数据A,根据第一消费账单的扣款结果生成的欠款数据为欠款数据B,则将欠款数据A和欠款数据B进行融合,生成欠款数据C,欠款数据C包括欠款数据A和欠款数据B的总金额,以及其他的信息,例如其他信息可以为追缴滞纳天数、滞纳金等信息。根据本公开的实施例,可以实现对欠款数据实时更新,提高欠款数据的准确性。
在操作S240中,响应目标消费账户第二时刻在至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在区块中的欠款数据,生成第三消费账单,第二消费账单是根据与消费指令关联的消费信息生成的。
在本公开的实施例中,第三节点可以是与第二节点类似的商户的节点。例如,第二节点为发卡银行A,第三节点为商户B。目标消费账户例如是消费方在各个节点之间进行身份认证的账户,例如可以是身份信息(ID)等。
目标账户在第三节点进行消费时,根据消费信息生成第二消费账单,第二消费账单中仅包括在第二时刻的目标消费账户在第三节点之间的消费信息。例如,目标账户在商户B购买了产品X,则根据产品X生成第二消费账单。
检测到目标消费账户在第二时刻进行消费的消费指令后,从区块链网络的区块上获取目标消费账户的欠款数据,例如可以将欠款数据与第二消费账单进行合并,生成第三消费账单。由此,可以实现及时针对目标消费账户的欠款进行追缴。此外,目标消费账户在区块链网络中具有唯一性,例如目标消费账户可以是与身份信息相关联的,即使针对某一节点的账户进行注销等操作以逃避欠款,通过目标消费账户在区块链网络的区块中进行查询,也可以准确获取相应的欠款数据,从而可以避免例如与垫付方相关的机构的资金损失,同时在第二时刻针对目标消费账户的消费信息以及欠款信息生成第三消费账单,可以实现欠款数据的及时追缴,提高追缴效率。
在操作S250中,响应第三消费账单的支付结果,更新目标消费账户的欠款数据并存储至区块链网络的区块。
根据本公开的实施例,在第三消费账单支付后,根据第三消费账单的支付结果更新目标消费账户的欠款数据,以保证区块链的区块中欠款数据的准确性,防止出现重复追缴的问题。
图3示意性示出了根据本公开实施例的账单清算方法在操作S230的流程图。
如图3所示,操作S230包括操作S231至操作S233。
在操作S231中,响应扣款结果为扣款不成功指令,生成目标消费账户的欠款数据。
如上文所述,扣款不成功包括扣款部分成功或未完成扣款。当生成扣款结果为扣款不成功时,获取扣款处理后的欠款数据。
在操作S232中,对欠款数据进行预处理。
图4示意性示出了根据本公开实施例的账单清算方法在操作S232的流程图。
如图4所示,操作S232包括操作S2321至操作S2323。
在操作S2321中,根据预设格式对欠款数据进行封装。
示例性地,根据区块链网络的存储规范,对欠款数据进行封装,以使欠款数据满足区块链网络的要求,保证数据的有效性。
在操作S2322中,对封装后的欠款数据进行加密处理。
示例性地,对封装后的欠款数据进行加密,例如利用公钥对欠款数据进行加密,保证数据的安全性。
操作S2321和操作S2322例如可以通过区块链网络管理系统进行处理,在欠款数据经过封装以及加密处理后,通过API的方式发出,例如发送给区块链支付网关。
在操作S2323中,对加密处理后的欠款数据进行签名验证。
对加密处理后的欠款数据进行签名验证,保证上传者的合法性。例如,区块链支付网关负责接收经封装及加密处理后的欠款数据,并对欠款数据进行校验、签名、验证,并在验证通过后进行下一步处理。
根据本公开的实施例,通过对欠款数据进行预处理,保证欠款数据的有效性、安全性以及上传的合法性。
在操作S233中,将预处理后的欠款数据存储至区块链网络的区块。
图5示意性示出了根据本公开实施例的账单清算方法在操作S233的流程图。
如图5所示,操作S233包括操作S2331至操作S2332。
在操作S2331中,响应签名验证通过的指令,将欠款数据发送至区块链的节点。
在操作S2332中,对欠款数据进行解密,通过共识算法对解密后的欠款数据进行处理以存储至区块链网络的区块。
示例性地,共识算法包括但不限于实用拜占庭容错(PBFT)算法、工作量证明(POW)算法、权益证明(POS)算法、股份授权证明(DPOS)算法等。通过共识算法用于维护区块链系统中数据的一致性。例如,使用强一致性高的PBFT拜占庭容错算法,将欠款数据存储至区块链网络的区块。
下面结合图6对将欠款数据存储至区块的流程进行详细说明。
图6示意性示出了根据本公开实施例的账单清算方法在将欠款数据存储至区块的流程图。
如图6所示,本公开实施例的账单清算方法在通过共识算法对解密后的欠款数据进行处理以存储至区块链网络的区块的流程300包括操作S310至操作S350。
在操作S310中,多个节点中的主节点接收欠款数据的存储请求,生成第一预处理请求。
在操作S320中,多个节点中的成员节点接收第一预处理请求,响应第一预处理请求来自主节点的指令,生成第二预处理请求。
在操作S330中,多个节点接收第二预处理请求;响应第二预处理请求为正确的节点总数超过第一预设阈值,生成认可消息。
在操作S340中,多个节点接收认可消息,响应认可消息为合法的节点总数超过第二预设阈值,确认欠款数据的存储请求通过。
在操作S350中,响应欠款数据的存储请求通过的指令,将欠款数据存储至区块链网络的区块。
示例性地,区块链支付网关向区块链网络的多个节点中的主节点发送欠款数据的存储请求,存储请求开始进入预处理阶段,主节点参与把存储请求分配一个唯一的编号,根据编号和存储请求生成第一预处理请求,并把第一预处理请求广播给所有成员节点。
区块链网络中多个节点的所有成员节点接收到第一预处理请求,依靠签名字段检查消息是否来自主节点,确认无误后,将存储请求和本节点签名生成第二预处理请求,并将第二预处理请求广播给所有成员节点。
所有节点收到第二预处理请求后,依靠签名检查是否正确,若第二预处理请求为正确的节点总数超过了全部节点总数的2/3,则确定认可欠款数据的存储请求,生成认可消息。
所有节点接收认可消息,依靠签名检查消息是否合法,若确定认可消息为合法的节点总数超过所有节点的1/3,确定欠款数据的存储请求通过。
在欠款数据的存储请求通过后,将欠款数据存储至区块链网络,例如,区块链支付网关根据是否收到超过所有节点总数1/3个节点的正确回复,判断是否完成了本次欠款数据的记账请求,并将欠款数据的记账结果返回给区块链网络管理系统。
图7示意性示出了根据本公开实施例的账单清算方法在确定清算分账智能合约的操作。
如图7所示,本公开实施例的账单清算方法还包括操作S400:在将目标消费账户的欠款数据存储至区块链网络的区块之后,根据欠款数据,确定与目标消费账户相关联的清算分账智能合约。
根据本公开的实施例,欠款数据存储至区块链网络后,在后续步骤中,由于清算会带来额外算力以及处理消耗,同时也会对后续的结算带来阻碍。为了保证欠款数据的顺利清算,同时不对后续参与清算的节点造成利益损害,通过设置与目标消费账户相关联的清算分账智能合约,在保证对目标消费账户的欠款数据进行清算的同时,保证清算参与方能够获取一定的收益,从而其他节点参与清算的积极性。
在本公开的一些示例性实施例中,清算分账智能合约能够基于欠款数据的金额对该欠款数据的参与节点合理设置清算分账比例,保证各清算参与节点的收益。
图8A示意性示出了根据本公开实施例的账单清算方法在确定清算分账智能合约的流程。
如图8A所示,操作S400具体可以包括操作S410至操作430。
在操作S410中,根据欠款数据,判断与目标消费账户相关联的清算分账智能合约是否存在。
在操作S420中,响应与目标消费账户相关联的清算分账智能合约不存在,生成清算分账智能合约。
在操作S430中,响应与目标消费账户相关联的清算分账智能合约存在,更新清算分账智能合约。
示例性地,目标消费账户可能已经存在欠款数据,也可能不存在欠款数据。针对不同的情况,清算分账智能合约也不同。
当不存在清算分账智能合约时,生成新的清算分账智能合约。当已经存在清算分账智能合约时,则更新清算分账智能合约。以保证在进行清算分账时,各个清算分账的参与节点的利益。
图8B示意性示出了根据本公开实施例的账单清算方法在生成清算分账智能合约的流程。
如图8B所示,在操作S420,生成清算分账智能合约具体可以包括操作S421。在操作S421中,至少根据第一时刻和第二时刻的时间间隔以及与欠款数据关联的至少一个节点的权重生成清算分账智能合约的清算分账比例。
图8C示意性示出了根据本公开实施例的账单清算方法在更新清算分账智能合约的流程。
如图8C所示,在操作S430,生成清算分账智能合约具体可以包括操作S431。在操作S431中,至少根据第一时刻和第二时刻的时间间隔以及与欠款数据关联的至少一个节点的权重更新清算分账智能合约的清算分账比例。
示例性地,确定与目标消费账户相关联的清算分账智能合约例如可以是在第二时刻生成。在第二时刻生成时,可以根据第一时刻和第二时刻确定欠款数据的追缴滞纳天数,由此可以针对目标消费账户进行设置相关的奖惩规则。
欠款数据包括新生成的欠款数据和累计更新的欠款数据,与欠款数据相关联的节点包括一个或多个,每个节点根据欠款数据的具体欠款金额以及欠款数据的追缴滞纳天数具有不同的权重。通过第一时刻和第二时刻的时间间隔以及各节点之间的权重,合理设置和更新清算分账比例,以保证各个清算分账参与节点的有效清算分配。
图9A示意性示出了根据本公开实施例的账单清算方法在操作S240的流程图。
如图9A所示,操作S240包括操作S241至操作S243。
在操作S241中,响应目标消费账户第二时刻在至少一个第三节点的消费指令,生成目标消费账户的第二消费账单。
示例性地,第二消费账单例如可以是根据目标消费账户与第三节点的消费信息生成的账单,该第二消费账单中仅包括在第二时刻与第三节点的消费信息。
在操作S242中,响应欠款数据的查询请求,确定与目标消费账户相关联的欠款数据。
当目标消费账户第二时刻在区块链网络中的第三节点进行消费时,并且在第二消费账单完成支付之前,对目标消费账户的欠款数据进行查询。若目标消费账户在区块链网络的区块中不存在有效的欠款数据,则可以直接完成第二消费账单的支付。若目标消费账户在区块链网络中存在有效的欠款数据,则需要针对第二消费账单进行进一步处理。
图9B示意性示出了根据本公开实施例的账单清算方法在操作S242的流程图。
如图9B所示,操作S242具体可以包括操作S2421至操作S2422。
在操作S2421中,响应欠款数据的查询请求验证通过的指令,确定目标消费账户。
在操作S2422中,根据目标消费账户确定在第二时刻之前存储于区块链网络的区块中有效的欠款数据。
示例性地,在目标消费账户进行消费时触发欠款数据的查询请求。例如,查询请求通过第三节点发送至区块链访问网关,对查询请求以及查询请求的请求者身份进行验证,并在查询请求验证通过后,确定目标消费账户。
在区块链网络的区块中获取与目标消费账户相关联的欠款数据,欠款数据可能存在多个,通过对欠款数据进行筛选或者处理确定第二时刻之前存储于区块链网络中的一个或多个有效的欠款数据。在本实施例中,有效的欠款数据例如是指存储在区块中,并且未被清算的欠款数据。
在本公开的一些实施例中,当有效的欠款数据存在多个时,则针对多个欠款数据进行合并。
根据本公开的实施例,通过对欠款数据的查询请求进行验证,保证数据的安全性。通过确定第二时刻之前的有效的欠款数据,可以防止欠款数据被重复清算的问题,同时也保证欠款数据能够及时被清算。
在操作S243中,至少根据第二消费账单和欠款数据,生成第三消费账单。
在本公开的一些实施例中,在生成第三消费账单时,可以仅仅根据第二消费账单以及欠款数据生成,其中第三消费账单中的清算分账比例可以是根据一个设定的值进行确定,例如清算分账比例可以设置为各节点之间的分账比例为相同。
在本公开的另一些实施例中,为了能够调整针对不同目标消费账户的奖惩标准,以及对清算的参与节点进行区别调整,可以进一步根据清算分账智能合约确定第三消费账单。
图9C示意性示出了根据本公开实施例的账单清算方法在操作S243的进一步操作。
在本公开的实施例中,操作S243具体可以包括操作S2431。
在操作S2431中,根据第二消费账单、欠款数据以及清算分账智能合约生成第三消费账单。
在本公开的一些示例性实施例中,生成第三消费账单时,通过清算分账智能合约对第二消费账单、欠款数据进行自动处理,从而实现生成的第三消费账单能够更合理的进行清算分账,提高各清算参与节点的积极性。
图10示意性示出了根据本公开实施例的账单清算方法在判断第三消费账单是否满足执行条件的流程。
如图10所示,本公开实施例的账单清算方法还包括操作S500:在响应第三消费账单的支付结果,更新目标消费账户的欠款数据并存储至区块链网络的区块之前,响应第三消费账单生成指令,判断第三消费账单是否满足执行条件,并在满足执行条件时支付第三消费账单。
在本公开的一些实施例中,生成第三消费账单后,并在第三消费账单被支付之前,判断第三消费账单是否满足执行条件,例如检查各执行节点状态是否正常,生成的第三消费账单是否合理等,当满足执行条件时,允许对第三消费账单进行执行,由此保证执行条件不满足要求时,第三消费账单被错误执行,导致目标消费账户产生资金损失的问题,减少清算分账时出错概率,减少目标消费账户面临的风险。
图11示意性示出了根据本公开实施例的账单清算方法在生成目标消费账户违约名单的流程。
如图11所示,本公开实施例的账单清算方法还包括操作S600:在响应扣款结果为扣款不成功指令,将目标消费账户的欠款数据存储至区块链网络的区块之后,根据欠款数据,生成与欠款数据相关联的目标消费账户违约名单。
根据本公开的一些实施例,通过生成目标消费账户的违约名单,可以使区块链网络中的节点及时识别风险账户,避免资金损失进一步扩大的问题。
图12示意性示出了根据本公开实施例的账单清算装置的结构框图。
如图12所示,本公开实施例的基于区块链网络的账单清算装置700包括获取模块701、第一生成模块702、存储模块703、第二生成模块704以及更新模块705。
获取模块701,配置为响应第一时刻的结算指令,至少一个第一节点从消费提供方获取第一消费账单,结算指令包括第二节点接收的用于结算消费账户与消费提供方在第一时刻之前的消费信息的指令。在一实施例中,获取模块701可以用于执行前文描述的操作S210,在此不再赘述。
第一生成模块702,配置为基于第二节点根据第一消费账单对目标消费账户进行扣款处理,生成扣款结果,目标消费账户与第一消费账单相关联。在一实施例中,第一生成模块702可以用于执行前文描述的操作S220,在此不再赘述。
存储模块703,配置为响应扣款结果为扣款不成功指令,将目标消费账户的欠款数据存储至区块链网络的区块。在一实施例中,存储模块703可以用于执行前文描述的操作S230,在此不再赘述。
第二生成模块704,配置为响应目标消费账户第二时刻在至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在区块中的欠款数据,生成第三消费账单,第二消费账单是根据与消费指令关联的消费信息生成的。在一实施例中,第二生成模块704可以用于执行前文描述的操作S240,在此不再赘述。
更新模块705,配置为响应第三消费账单的支付结果,更新目标消费账户的欠款数据并存储至区块链网络的区块。在一实施例中,更新模块705可以用于执行前文描述的操作S250,在此不再赘述。
在本公开的一些示例性实施例中,存储模块还包括存储单元,存储单元配置为:响应扣款结果为扣款不成功指令,生成目标消费账户的欠款数据;对欠款数据进行预处理;以及将预处理后的欠款数据存储至区块链网络的区块。
在本公开的一些示例性实施例中,存储单元还包括预处理单元,预处理单元配置为:根据预设格式对欠款数据进行封装;对封装后的欠款数据进行加密处理;以及对加密处理后的欠款数据进行签名验证。
在本公开的一些示例性实施例中,存储单元还包括处理单元,处理单元配置为:响应签名验证通过的指令,将欠款数据发送至区块链的节点;对欠款数据进行解密,通过共识算法对解密后的欠款数据进行处理以存储至区块链网络的区块。
在本公开的一些示例性实施例中,处理单元包括处理子模块,处理子模块配置为:多个节点中的主节点接收欠款数据的存储请求,生成第一预处理请求;多个节点中的成员节点接收第一预处理请求,响应第一预处理请求来自主节点的指令,生成第二预处理请求;多个节点接收第二预处理请求;响应第二预处理请求为正确的节点总数超过第一预设阈值,生成认可消息;多个节点接收认可消息,响应认可消息为合法的节点总数超过第二预设阈值,确认欠款数据的存储请求通过;响应欠款数据的存储请求通过的指令,将欠款数据存储至区块链网络的区块。
在本公开的一些示例性实施例中,账单清算装置还包括第一确定单元,第一确定单元配置为:在将目标消费账户的欠款数据存储至区块链网络的区块之后,根据欠款数据,确定与目标消费账户相关联的清算分账智能合约。
在本公开的一些示例性实施例中,第一确定单元包括确定子模块,确定子模块配置为:根据欠款数据,判断与目标消费账户相关联的清算分账智能合约是否存在;响应与目标消费账户相关联的清算分账智能合约不存在,生成清算分账智能合约;以及响应与目标消费账户相关联的清算分账智能合约存在,更新清算分账智能合约。
在本公开的一些示例性实施例中,确定子模块还包括生成子模块,生成子模块配置为:至少根据第一时刻和第二时刻的时间间隔以及与欠款数据关联的至少一个节点的权重生成清算分账智能合约的清算分账比例。
在本公开的一些示例性实施例中,确定子模块还包括更新子模块,更新子模块配置为:至少根据第一时刻和第二时刻的时间间隔以及与欠款数据关联的至少一个节点的权重更新清算分账智能合约的清算分账比例。
在本公开的一些示例性实施例中,第二生成模块还包括生成子单元,生成子单元配置为:响应目标消费账户第二时刻在至少一个第三节点的消费指令,生成目标消费账户的第二消费账单;响应欠款数据的查询请求,确定与目标消费账户相关联的欠款数据;以及至少根据第二消费账单和欠款数据,生成第三消费账单。
在本公开的一些示例性实施例中,生成子单元包括第二确定单元,第二确定单元配置为:响应欠款数据的查询请求验证通过的指令,确定目标消费账户;以及根据目标消费账户确定在第二时刻之前存储于区块链网络的区块中有效的欠款数据。
在本公开的一些示例性实施例中,第二生成模块还包括第三消费账单生成模块,第三消费账单生成模块配置为:根据第二消费账单、欠款数据以及清算分账智能合约生成第三消费账单。
在本公开的一些示例性实施例中,账单清算装置还包括判断模块,判断模块配置为:在响应第三消费账单的支付结果,更新目标消费账户的欠款数据并存储至区块链网络的区块之前,响应第三消费账单生成指令,判断第三消费账单是否满足执行条件,并在满足执行条件时支付第三消费账单。
在本公开的一些示例性实施例中,账单清算装置还包括违约名单生成模块,违约名单生成模块配置为:在响应扣款结果为扣款不成功指令,将目标消费账户的欠款数据存储至区块链网络的区块之后,根据欠款数据,生成与欠款数据相关联的目标消费账户违约名单。
根据本公开的实施例,获取模块701、第一生成模块702、存储模块703、第二生成模块704以及更新模块705中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块701、第一生成模块702、存储模块703、第二生成模块704以及更新模块705中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块701、第一生成模块702、存储模块703、第二生成模块704以及更新模块705中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图13示意性示出了根据本公开实施例的适于实现账单清算方法的电子设备的方框图。图13示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,根据本公开实施例的电子设备800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有电子设备800操作所需的各种程序和数据。处理器801、ROM802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。电子设备800还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
在该计算机程序被处理器801执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分809被下载和安装,和/或从可拆卸介质811被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (18)
1.一种基于区块链网络的账单清算方法,其中,所述区块链网络中包括多个节点,所述方法包括:
响应第一时刻的结算指令,至少一个第一节点从消费提供方获取第一消费账单,所述结算指令包括第二节点接收的用于结算消费账户与消费提供方在所述第一时刻之前的消费信息的指令;
所述第二节点根据所述第一消费账单对目标消费账户进行扣款处理,生成扣款结果,所述目标消费账户与所述第一消费账单相关联;
响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块;
响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在所述区块中的欠款数据,生成第三消费账单,所述第二消费账单是根据与所述消费指令关联的消费信息生成的;
响应所述第三消费账单的支付结果,更新所述目标消费账户的欠款数据并存储至所述区块链网络的区块。
2.根据权利要求1所述的方法,其中,响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块,包括:
响应扣款结果为扣款不成功指令,生成所述目标消费账户的欠款数据;
对所述欠款数据进行预处理;以及
将预处理后的所述欠款数据存储至所述区块链网络的区块。
3.根据权利要求2所述的方法,其中,对欠款数据进行预处理包括:
根据预设格式对所述欠款数据进行封装;
对封装后的所述欠款数据进行加密处理;以及
对加密处理后的所述欠款数据进行签名验证。
4.根据权利要求3所述的方法,其中,将预处理后的所述欠款数据存储至所述区块链网络的区块,包括:
响应签名验证通过的指令,将所述欠款数据发送至所述区块链的节点;
对所述欠款数据进行解密,通过共识算法对解密后的所述欠款数据进行处理以存储至所述区块链网络的区块。
5.根据权利要求4所述的方法,其中,通过共识算法对解密后的所述欠款数据进行处理以存储至所述区块链网络的区块,包括:
所述多个节点中的主节点接收所述欠款数据的存储请求,生成第一预处理请求;
所述多个节点中的成员节点接收所述第一预处理请求,响应所述第一预处理请求来自所述主节点的指令,生成第二预处理请求;
所述多个节点接收所述第二预处理请求;响应所述第二预处理请求为正确的节点总数超过第一预设阈值,生成认可消息;
所述多个节点接收所述认可消息,响应所述认可消息为合法的节点总数超过第二预设阈值,确认所述欠款数据的存储请求通过;
响应所述欠款数据的存储请求通过的指令,将所述欠款数据存储至所述区块链网络的区块。
6.根据权利要求1所述的方法,其中,还包括:
在将所述目标消费账户的欠款数据存储至所述区块链网络的区块之后,
根据所述欠款数据,确定与所述目标消费账户相关联的清算分账智能合约。
7.根据权利要求6所述的方法,其中,根据所述欠款数据,确定与所述目标消费账户相关联的清算分账智能合约,包括:
根据所述欠款数据,判断与所述目标消费账户相关联的清算分账智能合约是否存在;
响应与所述目标消费账户相关联的清算分账智能合约不存在,生成清算分账智能合约;以及
响应与所述目标消费账户相关联的清算分账智能合约存在,更新清算分账智能合约。
8.根据权利要求7所述的方法,其中,生成清算分账智能合约,包括:
至少根据所述第一时刻和所述第二时刻的时间间隔以及与所述欠款数据关联的至少一个节点的权重生成所述清算分账智能合约的清算分账比例。
9.根据权利要求7所述的方法,其中,更新清算分账智能合约,包括:
至少根据所述第一时刻和所述第二时刻的时间间隔以及与所述欠款数据关联的至少一个节点的权重更新所述清算分账智能合约的清算分账比例。
10.根据权利要求6或7所述的方法,其中,响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在所述区块中的欠款数据,生成第三消费账单,包括:
响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,生成所述目标消费账户的第二消费账单;
响应所述欠款数据的查询请求,确定与目标消费账户相关联的欠款数据;以及
至少根据所述第二消费账单和所述欠款数据,生成第三消费账单。
11.根据权利要求10所述的方法,其中,响应所述欠款数据的查询请求,确定与目标消费账户相关联的欠款数据,包括:
响应所述欠款数据的查询请求验证通过的指令,确定目标消费账户;以及
根据所述目标消费账户确定在第二时刻之前存储于所述区块链网络的区块中有效的欠款数据。
12.根据权利要求10所述的方法,其中,至少根据所述第二消费账单和所述欠款数据,生成第三消费账单,包括:
根据第二消费账单、欠款数据以及所述清算分账智能合约生成第三消费账单。
13.根据权利要求1至9、11、12中任一项所述的方法,其中,还包括:
在响应所述第三消费账单的支付结果,更新所述目标消费账户的欠款数据并存储至所述区块链网络的区块之前,
响应第三消费账单生成指令,判断所述第三消费账单是否满足执行条件,并在满足所述执行条件时支付所述第三消费账单。
14.根据权利要求1至9、11、12中任一项所述的方法,其中,还包括:
在响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块之后,
根据所述欠款数据,生成与欠款数据相关联的目标消费账户违约名单。
15.一种基于区块链网络的账单清算装置,其中,所述区块链网络中包括多个节点,所述装置包括:
获取模块,配置为响应第一时刻的结算指令,至少一个第一节点从消费提供方获取第一消费账单,所述结算指令包括第二节点接收的用于结算消费账户与消费提供方在所述第一时刻之前的消费信息的指令;
第一生成模块,配置为基于所述第二节点根据所述第一消费账单对目标消费账户进行扣款处理,生成扣款结果,所述目标消费账户与所述第一消费账单相关联;
存储模块,配置为响应扣款结果为扣款不成功指令,将所述目标消费账户的欠款数据存储至所述区块链网络的区块;
第二生成模块,配置为响应所述目标消费账户第二时刻在所述至少一个第三节点的消费指令,至少根据目标消费账户的第二消费账单以及存储在所述区块中的欠款数据,生成第三消费账单,所述第二消费账单是根据与所述消费指令关联的消费信息生成的;
更新模块,配置为响应所述第三消费账单的支付结果,更新所述目标消费账户的欠款数据并存储至所述区块链网络的区块。
16.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储可执行指令,所述可执行指令在被所述处理器执行时,实现根据权利要求1至14中任一项所述的方法。
17.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时,实现根据权利要求1至14中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310206067.XA CN116433397A (zh) | 2023-02-27 | 2023-02-27 | 基于区块链网络的账单清算方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310206067.XA CN116433397A (zh) | 2023-02-27 | 2023-02-27 | 基于区块链网络的账单清算方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116433397A true CN116433397A (zh) | 2023-07-14 |
Family
ID=87086323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310206067.XA Pending CN116433397A (zh) | 2023-02-27 | 2023-02-27 | 基于区块链网络的账单清算方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116433397A (zh) |
-
2023
- 2023-02-27 CN CN202310206067.XA patent/CN116433397A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240273085A1 (en) | Systems and methods for blockchain rule synchronization | |
US20230351367A1 (en) | Systems and methods of blockchain transaction recordation | |
CN109299939B (zh) | 用于具有完全密码可审核性的交易处理的方法和系统 | |
CN109089428B (zh) | 数字资产零保管转换 | |
US20190197622A1 (en) | System and method of providing unique identifiers in security blockchain-based tokens | |
US11108566B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
US10440101B2 (en) | System for external validation of private-to-public transition protocols | |
US20170330159A1 (en) | Resource allocation and transfer in a distributed network | |
CN111444209B (zh) | 一种基于区块链的数据处理方法、装置、设备及介质 | |
US11803823B2 (en) | Systems and methods for blockchain-based payment transactions, alerts, and dispute settlement, using a blockchain interface server | |
US10749685B2 (en) | Network provisioning systems and methods | |
CN107392578B (zh) | 一种数字货币的间接支付方法和系统 | |
US11887113B2 (en) | Decentralized computer systems and methods for efficient transaction dispute management using blockchain | |
CN113656499B (zh) | 基于区块链的价值转移方法及装置 | |
KR20190108666A (ko) | 가상화폐 거래자금 입출금 서비스 장치 및 방법과 이를 위한 컴퓨터 프로그램 | |
US12067561B2 (en) | System architecture for enabling distributed temporary control of discrete units of an asset | |
Hefny et al. | Open banking api framework to improve the online transaction between local banks in egypt using blockchain technology | |
US20230013949A1 (en) | Interactive user interface systems and methods for analyzing transaction attributes and dispute information using blockchain | |
CN116433397A (zh) | 基于区块链网络的账单清算方法、装置、电子设备及介质 | |
KR20210048210A (ko) | 금융거래를 위한 암호화폐별 가상계좌 생성 방법, 시스템 및 프로그램 | |
CN110852864A (zh) | 一种数字资源量的处理方法、装置及存储介质 | |
KR102475662B1 (ko) | 분산원장 기반의 블록체인을 이용한 포인트 관리 방법 및 시스템 | |
US20240320671A1 (en) | System architecture for enabling distributed temporary control of discrete units of an asset | |
CN118396612A (zh) | 虚拟资源分配方法、装置、电子设备及计算机介质 | |
CN116416045A (zh) | 一种基于区块链的去中心化金融方法、系统及存储介质 |
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 |