CN109166042A - 节点设备、基于区块链的实时对账方法和存储介质 - Google Patents
节点设备、基于区块链的实时对账方法和存储介质 Download PDFInfo
- Publication number
- CN109166042A CN109166042A CN201811020410.7A CN201811020410A CN109166042A CN 109166042 A CN109166042 A CN 109166042A CN 201811020410 A CN201811020410 A CN 201811020410A CN 109166042 A CN109166042 A CN 109166042A
- Authority
- CN
- China
- Prior art keywords
- transaction
- detail
- reconciliation
- processed
- block chain
- 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
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/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/06—Asset management; Financial planning or analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Human Resources & Organizations (AREA)
- Game Theory and Decision Science (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及一种分布式账本技术,揭露了一种节点设备、基于区块链的实时对账方法和计算机可读存储介质。本发明接收入链请求;判断第K笔交易明细是否是交易的第一笔交易明细,若是,则将第K笔交易明细存储至区块链中,若否,则按照预设规则,确定第K笔交易明细的第一对账结果,并将第K笔交易明细及其第一对账结果存储至区块链中。相较于现有技术,本发明实现了对交易的实时对账,缩短了资金在途时间及资金清算周期。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种节点设备、基于区块链的实时对账方法和计算机可读存储介质。
背景技术
商品的交易过程通常涉及多方参与,以基金交易为例,在基金交易过程通常由基金申购方、基金申购银行和基金机构三方参与,在基金申购过程中,基金申购方需要在对应的基金申购银行的电子账户中先充值,并向基金机构发出包括申购数量的基金申购申请。基金机构在收到该基金申购申请后,向基金申购银行发出在电子账户中扣除与申购数量对应的金额的扣款请求。基金申购银行响应扣款请求,并在扣款成功后,由基金机构向基金申购方派发与申购数量一致的基金数量。
而为了交易安全,上述的基金申购作业,各个参与方之间必须完成相应的对账作业,以排查出可能出现的异常交易状况。然而,当前基金申购作业的对账机制采用的是T+1对账机制(即T日的申购作业处理数据,需T+1日才能进行对账),交易流程多,资金链路长,同时这种基金申购的对账规则非常复杂,使得资金清结算的效率非常低,用户资金在途的时间通常都在1至3天。因此,如何实现交易的实时对账成为一个亟待解决的问题。
发明内容
本发明的主要目的是提供一种节点设备、基于区块链的实时对账方法和计算机可读存储介质,旨在实现交易的实时对账。
为实现上述目的,本发明提出一种节点设备,所述节点设备包括存储器和处理器,所述存储器上存储有基于区块链的实时对账程序,所述基于区块链的实时对账程序被所述处理器执行时实现如下步骤:
接收步骤:接收入链请求,所述入链请求携带有一交易的第K笔交易明细,所述交易明细包括交易状态,K为正整数;
第一判断步骤:判断所述第K笔交易明细是否是所述交易的第一笔交易明细;
存储步骤:当所述第K笔交易明细是所述交易的第一笔交易明细时,将所述第K笔交易明细存储至区块链中;
对账步骤:当所述第K笔交易明细不是所述交易的第一笔交易明细时,按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
优选地,所述对账步骤包括:
第一查询步骤:在所述区块链中查询所述交易的第K-1笔交易明细,当查询到时,转入第二判断步骤,当未查询到时,转入第二确定步骤;
第二判断步骤:判断所述交易的第K-1笔交易明细的交易状态是否为终态,若是,则转入第三判断步骤,若否,转入第二确定步骤,所述终态是指交易状态为交易成功或交易失败的状态;
第三判断步骤:判断所述第K笔交易明细的交易状态是否为终态,若是,则转入第一确定步骤,若否,则转入第二确定步骤;
第一确定步骤:判断所述第K笔交易明细的交易状态与所述第K-1笔交易明细的交易状态是否相同,若是,则标记所述第K笔交易明细的第一对账结果为正常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中,若否,则标记所述第K笔交易明细的第一对账结果为异常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中;
第二确定步骤:标记所述第K笔交易明细的第一对账结果为未明,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
优选地,所述处理器执行所述基于区块链的实时对账程序,在所述对账步骤之后,还实现以下步骤:
第一获取步骤:实时或定时获取各交易的交易执行时间,并将交易执行时间大于预设时长的交易作为待处理交易;
第三确定步骤:确定各所述待处理交易的交易类型,根据各所述待处理交易的交易类型及预先确定的交易类型与预设数量之间的映射关系,确定各所述待处理交易对应的预设数量;
选择步骤:逐一判断各所述待处理交易的交易明细数量是否小于该待处理交易对应的预设数量,每当判定一待处理交易的交易明细数量小于该待处理交易对应的预设数量时,将该待处理交易的所有交易明细作为第一待处理交易明细;
第一标记步骤:在查找出所有第一待处理交易明细后,将所有所述第一待处理交易明细的第二对账结果标记为异常,并将所有所述第一待处理交易明细的第二对账结果存储至所述区块链中。
优选地,所述第一对账结果包括正常、异常及未明,所述处理器执行所述基于区块链的实时对账程序,在所述第一获取步骤之后,还实现以下步骤:
第二获取步骤:从所有所述待处理交易中获取所有第一对账结果为未明的交易明细作为第二待处理交易明细;
第二查询步骤:从所有所述第二待处理交易明细中逐一选择第二待处理交易明细,当所选的第二待处理交易明细为所属交易的第i笔交易明细时,在所述区块链中查询所选的第二待处理交易明细所属交易的第i-1笔交易明细,当查询到时,转入第三确定步骤,当未查询到时,转入第二标记步骤,,其中,i为大于1的正整数;
第三确定步骤:判断所述第i-1笔交易明细的交易状态是否为终态,若是,则转入第四确定步骤,若否,则转入第二标记步骤,;
第四确定步骤:判断所述第i笔交易明细的交易状态是否为终态,若是,则转入第五确定步骤,若否,则转入第二标记步骤,;
第五确定步骤:判断所述第i笔交易明细的交易状态及所述第i-1笔交易明细的交易状态是否相同,若是,则转入第三标记步骤,,若否,则转入第二标记步骤;
第二标记步骤:将所述第i笔交易明细的第二对账结果标记为异常,并将所述第i笔交易明细的第二对账结果存储至区块链中;
第三标记步骤:将所述第i笔交易明细的第二对账结果标记为正常,并将所述第i笔交易明细的第二对账结果存储至区块链中;
检测步骤:判断所有所述第二待处理交易明细中是否存在未被选择过的第二待处理交易明细,当存在时,返回执行所述第二查询步骤。
优选地,所述处理器执行所述基于区块链的实时对账程序,还实现以下步骤:
实时或定时获取所有第一对账结果或第二对账结果为异常的交易明细,当获取到时,根据获取的所有交易明细生成对账报告,并发送所述对账报告至监控设备,供所述监控设备根据所述对账报告,创建异常处理事项;
或者,实时或定时获取所有第一对账结果或第二对账结果为异常的交易明细,当获取到时,根据获取的所有交易明细生成对账报告,并将所述对账报告存储至所述区块链中,供所述监控设备从所述区块链中获取所述对账报告,并根据所述对账报告,创建异常处理事项。
此外,为实现上述目的,本发明还提出一种基于区块链的实时对账方法,该方法适用于区块链***中的节点设备,该方法包括步骤:
接收步骤:接收入链请求,所述入链请求携带有一交易的第K笔交易明细,所述交易明细包括交易状态,K为正整数;
第一判断步骤:判断所述第K笔交易明细是否是所述交易的第一笔交易明细;
存储步骤:当所述第K笔交易明细是所述交易的第一笔交易明细时,将所述第K笔交易明细存储至区块链中;
对账步骤:当所述第K笔交易明细不是所述交易的第一笔交易明细时,按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
优选地,所述对账步骤包括:
第一查询步骤:在所述区块链中查询所述交易的第K-1笔交易明细,当查询到时,转入第二判断步骤,当未查询到时,转入第二确定步骤;
第二判断步骤:判断所述交易的第K-1笔交易明细的交易状态是否为终态,若是,则转入第三判断步骤,若否,转入第二确定步骤,所述终态是指交易状态为交易成功或交易失败的状态;
第三判断步骤:判断所述第K笔交易明细的交易状态是否为终态,若是,则转入第一确定步骤,若否,则转入第二确定步骤;
第一确定步骤:判断所述第K笔交易明细的交易状态与所述第K-1笔交易明细的交易状态是否相同,若是,则标记所述第K笔交易明细的第一对账结果为正常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中,若否,则标记所述第K笔交易明细的第一对账结果为异常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中;
第二确定步骤:标记所述第K笔交易明细的第一对账结果为未明,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
优选地,在所述对账步骤之后,该方法还包括:
第一获取步骤:实时或定时获取各交易的交易执行时间,并将交易执行时间大于预设时长的交易作为待处理交易;
第三确定步骤:确定各所述待处理交易的交易类型,根据各所述待处理交易的交易类型及预先确定的交易类型与预设数量之间的映射关系,确定各所述待处理交易对应的预设数量;
选择步骤:逐一判断各所述待处理交易的交易明细数量是否小于该待处理交易对应的预设数量,每当判定一待处理交易的交易明细数量小于该待处理交易对应的预设数量时,将该待处理交易的所有交易明细作为第一待处理交易明细;
第一标记步骤:在查找出所有第一待处理交易明细后,将所有所述第一待处理交易明细的第二对账结果标记为异常,并将所有所述第一待处理交易明细的第二对账结果存储至所述区块链中。
优选地,所述第一对账结果包括正常、异常及未明,在所述第一获取步骤之后,该方法还包括:
第二获取步骤:从所有所述待处理交易中获取所有第一对账结果为未明的交易明细作为第二待处理交易明细;
第二查询步骤:从所有所述第二待处理交易明细中逐一选择第二待处理交易明细,当该所选的第二待处理交易明细为所属交易的第i笔交易明细时,在所述区块链中查询所选的第二待处理交易明细所属交易的第i-1笔交易明细,当查询到时,转入第三确定步骤,当未查询到时,转入第二标记步骤,其中,i为大于1的正整数;
第三确定步骤:判断所述第i-1笔交易明细的交易状态是否为终态,若是,则转入第四确定步骤,若否,则转入第二标记步骤,;
第四确定步骤:判断所述第i笔交易明细的交易状态是否为终态,若是,则转入第五确定步骤,若否,则转入第二标记步骤,;
第五确定步骤:判断所述第i笔交易明细的交易状态及所述第i-1笔交易明细的交易状态是否相同,若是,则转入第三标记步骤,,若否,则转入第二标记步骤;
第二标记步骤:将所述第i笔交易明细的第二对账结果标记为异常,并将所述第i笔交易明细的第二对账结果存储至区块链中;
第三标记步骤:将所述第i笔交易明细的第二对账结果标记为正常,并将所述第i笔交易明细的第二对账结果存储至区块链中;
检测步骤:判断所有所述第二待处理交易明细中是否存在未被选择过的第二待处理交易明细,当存在时,返回执行所述第二查询步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有基于区块链的实时对账程序,所述基于区块链的实时对账程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述任一项所述的基于区块链的实时对账方法的步骤。
本发明接收入链请求,所述入链请求携带有一交易的交易标识信息及该交易的第K笔交易明细;判断所述第K笔交易明细是否是所述交易的第一笔交易明细,若是,则将所述第K笔交易明细存储至区块链中,若否,则按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细及其第一对账结果存储至所述区块链中。相较于现有技术,本发明各个交易参与方通过节点设备将各笔交易的交易明细存储至区块链,节点设备在将交易明细存储至区块链的过程中,确定每笔交易明细的第一对账结果,从而实现对交易的实时对账,缩短了资金在途时间及资金清算周期,提高了资金在交易期间的安全性。此外,由于区块链的防篡改、高透明及去中心化等优势,确保了交易明细的真实性及安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明各个实施例一可选的应用环境示意图;
图2为本发明基于区块链的实时对账程序第一、第二、第三、第四实施例的运行环境示意图;
图3为本发明基于区块链的实时对账程序第一实施例的程序模块图;
图4为图3中对账模块的细化程序模块图;
图5为本发明基于区块链的实时对账程序第二实施例的程序模块图;
图6为本发明基于区块链的实时对账程序第三实施例的程序模块图;
图7为本发明基于区块链的实时对账程序第四实施例的程序模块图;
图8为本发明基于区块链的实时对账方法第一实施例的流程示意图;
图9为图8中S40的细化流程示意图;
图10为本发明基于区块链的实时对账方法第二实施例的流程示意图;
图11为本发明基于区块链的实时对账方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
参阅图1所示,是本发明各个实施例一可选的应用环境示意图。
在本实施例中,本发明可应用于包括,但不仅限于,节点设备1、区块链网络2及监控设备3的应用环境中。其中,区块链网络2以及多个节点设备1共同构成一个区块链***,该多个节点设备1通过区块链网络2通信连接。此外,监控设备3分别与区块链***中至少一个节点设备通信连接。
下面,将基于上述应用环境和相关设备,提出本发明的各个实施例。
本发明提出一种基于区块链的实时对账程序。
请参阅图2,是本发明基于区块链的实时对账程序10第一、第二、第三、第四实施例的运行环境示意图。
在本实施例中,基于区块链的实时对账程序10安装并运行于节点设备1中,例如,基于区块链的实时对账程序10可以是安装并运行于节点设备1中的智能合约。节点设备1可以是矿机、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该节点设备1可包括,但不仅限于,通过程序总线相互通信的存储器11及处理器12。图2仅示出了具有组件11、12的节点设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
存储器11在一些实施例中可以是节点设备1的内部存储单元,例如该节点设备1的硬盘或内存。存储器11在另一些实施例中也可以是节点设备1的外部存储设备,例如节点设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括节点设备1的内部存储单元也包括外部存储设备。存储器11用于存储安装于节点设备1的应用软件及各类数据,例如基于区块链的实时对账程序10的程序代码等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于区块链的实时对账程序10等。
请参阅图3,是本发明基于区块链的实时对账程序10第一实施例的程序模块图。在本实施例中,基于区块链的实时对账程序10可以被分割成一个或多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明。例如,在图3中,基于区块链的实时对账程序10可以被分割成接收模块101、第一判断模块102、存储模块103及对账模块104。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述基于区块链的实时对账程序10在节点设备1中的执行过程,其中:
接收模块101,用于接收入链请求,所述入链请求携带有一交易的第K笔交易明细,所述交易明细包括交易状态,K为正整数,其代表该笔交易明细的入链请求顺序。
下面,通过如下两种应用场景举例说明上述入链请求的触发方式:
第一、银行电子账户充值的应用场景:基金申购方接收用户发送的携带充值金额及银行卡***的电子账户充值指令,根据该充值金额对电子账户执行充值操作,根据充值操作结果生成交易明细,并向基金申购方节点设备发起携带交易明细的入链请求,以将该交易明细记录至区块链中。接着,基金申购方向银行发起电子账户的充值交易请求,该银行执行该充值交易请求,并根据充值交易请求的执行结果生成交易明细,并向银行节点设备发起携带该生产的交易明细的入链请求,以将该交易明细记录至区块链中。最后,银行向基金申购方返回充值交易请求的执行结果,基金申购方根据充值交易请求的执行结果更新台账,并根据台账更新结果,生成交易明细,向基金申购方节点设备发起携带该交易明细的入链请求。
第二、基金申购的应用场景:基金申购方接收用户发送的携带申购数量的基金申购指令,基金申购方根据该基金申购指令生成交易明细,向基金申购方节点设备发起携带该交易明细的入链请求。接着,基金申购方向基金机构发起基金申购请求,基金机构接收该申购请求后,向基金申购方返回扣款请求。基金申购方接收该扣款请求后,对电子账户执行扣款操作,并根据扣款操作结果生成交易明细,向基金申购方节点设备发起携带交易明细的入链请求。接着,基金申购方向银行发起电子账户的扣款交易请求,该银行接收该扣款交易请求后,执行该扣款交易请求,并根据扣款交易请求的执行结果生成交易明细,向银行节点设备发起携带该交易明细的入链请求。接着,银行向基金申购方返回扣款交易请求的执行结果,基金申购方将该扣款交易请求的执行结果反馈至基金机构,基金机构根据该执行结果执行基金申购请求,并根据申购结果生成交易明细,向基金节点设备发起携带该交易明细的入链请求。此外,基金机构还将该申购结果返回至基金申购方。最后,基金申购方根据申购结果更新台账,并根据台账更新结果生成交易明细,向基金申购方节点设备发起携带该交易明细的入链请求。
需要注意的是,上述应用场景仅用于举例,具体的入链请求的触发方式可根据具体的应用场景确定。
第一判断模块102,用于判断所述第K笔交易明细是否是所述交易的第一笔交易明细,若是,调用存储模块103,若否,调用对账模块104。
上述第一判断模块102判断所述第K笔交易明细是否是所述交易的第一笔交易明细的步骤包括:
判断K是否等于1,若是,则判定该第K笔交易明细为该交易的第一笔交易明细,若否,则判定该第K笔交易明细不是该交易的第一笔交易明细。
或者,所述入链请求中携带有该交易的交易标识信息,根据该交易的交易标识信息查询区块链中是否存储有该交易对应的交易明细,若是,则判定该第K笔交易明细不是该交易的第一笔交易明细,若否,则判定该第K笔交易明细为该交易的第一笔交易明细。
存储模块103,用于将所述第K笔交易明细存储至区块链中。
对于一交易的第一笔交易明细,无需对其进行对账,存储模块103直接将该第K笔交易明细及所述第K笔交易明细的第一对账结果存储至区块链中即可。
对账模块104,用于按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细存储至所述区块链中。
参照图4,上述对账模块104包括查询单元1041、第一判断单元1042、第二判断单元1043、第三判断单元1044、第一标记单元1045、第二标记单元1046及第三标记单元1047,其中:
查询单元1041,用于在所述区块链中查询所述交易的第K-1笔交易明细是否存在,若是,调用第一判断单元1042,若否,调用第三标记单元1047。
第一判断单元1042,用于判断所述交易的第K-1笔交易明细的交易状态是否为终态,若是,调用第二判断单元1043,若否,调用第三标记单元1047。
交易明细的交易状态有两类:第一类为终态,所述终态是指交易状态为交易成功或交易失败的状态;第二类为非终态,包括正在处理中的交易状态。
第二判断单元1043,用于判断所述第K笔交易明细的交易状态是否为终态,若是,调用第三判断单元1044,若否,调用第三标记单元1047。
第三判断单元1044,用于判断所述第K笔交易明细的交易状态与所述第K-1笔交易明细的交易状态是否相同,若是,调用第一标记单元1045,若否,调用第二标记单元1046。
第一标记单元1045,用于标记所述第K笔交易明细的第一对账结果为正常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
第二标记单元1046,用于标记所述第K笔交易明细的第一对账结果为异常,将所述第K笔交易明细存储至所述区块链中。
第三标记单元1047,用于标记所述第K笔交易明细的第一对账结果为未明,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
未明是指暂时无法通过第K-1笔交易明细的交易状态及第K笔交易明细的交易状态对第K笔交易明细进行对账,以确定第K笔交易明细的第一对账结果。
例如,存在如下任一种情况,均暂时无法对第K笔交易明细进行对账:
第K-1笔交易明细不存在(即缺失),或者,第K-1笔交易明细为非终态(即正在处理中的交易状态),或者,第K笔交易明细为非终态(即正在处理中的交易状态)。
本发明接收入链请求,所述入链请求携带有一交易的交易标识信息及该交易的第K笔交易明细;判断所述第K笔交易明细是否是所述交易的第一笔交易明细,若是,则将所述第K笔交易明细存储至区块链中,若否,则按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细及其第一对账结果存储至所述区块链中。相较于现有技术,本发明各个交易参与方通过节点设备将各笔交易的交易明细存储至区块链,节点设备在将交易明细存储至区块链的过程中,确定每笔交易明细的第一对账结果,从而实现对交易的实时对账,缩短了资金在途时间及资金清算周期,提高了资金在交易期间的安全性。此外,由于区块链的防篡改、高透明及去中心化等优势,确保了交易明细的真实性及安全性。
如图5所示,图5为本发明基于区块链的实时对账程序10第二实施例的程序模块图。
本实施例在第一实施例的基础上,该程序还包括第一获取模块105、确定模块106、第一选择模块107、第一标记模块108,其中:
第一获取模块105,用于实时或定时(例如,每隔5分钟)获取各交易的交易执行时间,并将交易执行时间大于预设时长(例如,10分钟)的交易作为待处理交易。
确定模块106,用于确定各所述待处理交易的交易类型,根据各所述待处理交易的交易类型及预先确定的交易类型与预设数量之间的映射关系,确定各所述待处理交易对应的预设数量。
预先设置每笔交易需在预设时长内(例如,10分钟内)完成,且对于一交易类型的交易被完整执行后应在区块链中记录其对应的预设数量(例如,一交易类型的交易对应的预设数量为8笔)的交易明细。
由于每一交易类型的交易对应的预设数量不同,因此,将各交易类型及其对应的预设数量之间建立映射关系(例如,映射表),并将该映射关系存储至各节点设备的本地存储空间中,或者存储至区块链中。
第一选择模块107,用于逐一判断各所述待处理交易的交易明细数量是否小于该待处理交易对应的预设数量,每当判定一待处理交易的交易明细数量小于该待处理交易对应的预设数量时,将该待处理交易的所有交易明细作为第一待处理交易明细。
第一标记模块108,在查找出所有第一待处理交易明细后,将所有所述第一待处理交易明细的第二对账结果标记为异常,并将所有所述第一待处理交易明细的第二对账结果存储至所述区块链中。
当交易明细数量小于该待处理交易对应的预设数量时,认为该待处理交易执行超时,或因部分交易步骤失败,导致后续交易步骤无法继续执行,因此,将该待处理交易对应的所有交易明细的第二对账结果均标记为异常。
本实施例筛选出执行超时的交易,并将该执行超时的交易对应的所有交易明细的第二对账结果均标记为异常。有利于监控人员及时的处理该超时的交易,进一步缩短资金在途时间及资金清算周期。
如图6所示,图6为本发明基于区块链的实时对账程序10第三实施例的程序模块图。
本实施例在第二实施例的基础上,该程序还包括第二获取模块109、第二选择模块110、查询模块111、第二判断模块112、第三判断模块113、第四判断模块114、第二标记模块115、第三标记模块116、检测模块117及输出模块118,其中:
第二获取模块109,用于从所有所述待处理交易中获取所有第一对账结果为未明的交易明细作为第二待处理交易明细。
第二选择模块110,用于从所有所述第二待处理交易明细中逐一选择第二待处理交易明细。
查询模块111,用于当该所选的第二待处理交易明细为所属交易的第i(i为大于1的正整数)笔交易明细,在所述区块链中查询所选的第二待处理交易明细所属交易的第i-1笔交易明细,当查询到时,调用第二判断模块112,当未查询到时,调用第二标记模块115。
第二判断模块112,用于判断所述第i-1笔交易明细的交易状态是否为终态,若是,调用第三判断模块113,若否,调用第二标记模块115。
第三判断模块113,用于判断所述第i笔交易明细的交易状态是否为终态,若是,调用第四判断模块114,若否,调用第二标记模块115。
第四判断模块114,用于判断所述第i笔交易明细的交易状态及所述第i-1笔交易明细的交易状态是否相同,若是,调用第三标记模块116,若否,调用第二标记模块115。
第二标记模块115,用于将所述第i笔交易明细的第二对账结果标记为异常,并将所述第i笔交易明细的第二对账结果存储至区块链中。
第三标记模块116,用于将所述第i笔交易明细的第二对账结果标记为正常,并将所述第i笔交易明细的第二对账结果存储至区块链中。
检测模块117,用于判断所有所述第二待处理交易明细中是否存在未被选择过的第二待处理交易明细,若是,调用第二选择模块110,若否,调用输出模块118。
输出模块118,用于输出所有第二对账结果为异常的交易明细。
在本实施例中,由于预先设置每笔交易需在预设时长内(例如,10分钟内)完成,若一交易明细的第一对账结果为未明,则需重新对该交易明细进行对账。若在对账过程中,识别到该交易明细或该交易明细的前一笔交易明细中任一交易明细对应的交易状态不为终态,则认为交易状态不为终态的交易明细对应的交易步骤执行超时,将该笔交易明细的第二对账结果标记为异常。
本实施例对第一对账结果为未明的交易明细再次进行对账,以进一步确定该交易明细的第二对账结果是否为异常。通过及时的查找出异常的交易明细,有利于监控人员及时的处理异常交易,进一步缩短资金在途时间及资金清算周期。
如图7所示,图7为本发明基于区块链的实时对账程序10第四实施例的程序模块示意图。
本实施例在第一、第二、第三实施例的基础上,该程序还包括监测模块119。
监测模块119,用于实时或定时获取所有第一对账结果或第二对账结果为异常的交易明细,当获取到时,根据获取的所有交易明细生成对账报告,并发送所述对账报告至监控设备,供所述监控设备根据所述对账报告,创建异常处理事项。
进一步的,本实施例中,监测模块119还用于:
实时或定时获取所有第一对账结果或第二对账结果为异常的交易明细,当获取到时,根据获取的所有交易明细生成对账报告,并将所述对账报告存储至所述区块链中,供所述监控设备从所述区块链中获取所述对账报告,并根据所述对账报告,创建异常处理事项。
本实施例节点设备根据异常的交易明细生成对账报告,监控设备在获取该对账报告后,根据该对账报告创建异常处理事项,监控人员可及时的介入处理该异常处理事项,从而可进一步缩短资金在途时间及资金清算周期。
此外,本发明提出一种基于区块链的实时对账方法。适用于节点设备。
如图8所示,图8为本发明基于区块链的实时对账方法第一实施例的流程示意图。
本实施例中,该方法包括:
步骤S10,接收入链请求,所述入链请求携带有一交易的第K笔交易明细,所述交易明细包括交易状态,K为正整数,其代表该笔交易明细的入链请求顺序。
下面,通过如下两种应用场景举例说明上述入链请求的触发方式:
第一、银行电子账户充值的应用场景:基金申购方接收用户发送的携带充值金额及银行卡***的电子账户充值指令,根据该充值金额对电子账户执行充值操作,根据充值操作结果生成交易明细,并向基金申购方节点设备发起携带交易明细的入链请求,以将该交易明细记录至区块链中。接着,基金申购方向银行发起电子账户的充值交易请求,该银行执行该充值交易请求,并根据充值交易请求的执行结果生成交易明细,并向银行节点设备发起携带该生产的交易明细的入链请求,以将该交易明细记录至区块链中。最后,银行向基金申购方返回充值交易请求的执行结果,基金申购方根据充值交易请求的执行结果更新台账,并根据台账更新结果,生成交易明细,向基金申购方节点设备发起携带该交易明细的入链请求。
第二、基金申购的应用场景:基金申购方接收用户发送的携带申购数量的基金申购指令,基金申购方根据该基金申购指令生成交易明细,向基金申购方节点设备发起携带该交易明细的入链请求。接着,基金申购方向基金机构发起基金申购请求,基金机构接收该申购请求后,向基金申购方返回扣款请求。基金申购方接收该扣款请求后,对电子账户执行扣款操作,并根据扣款操作结果生成交易明细,向基金申购方节点设备发起携带交易明细的入链请求。接着,基金申购方向银行发起电子账户的扣款交易请求,该银行接收该扣款交易请求后,执行该扣款交易请求,并根据扣款交易请求的执行结果生成交易明细,向银行节点设备发起携带该交易明细的入链请求。接着,银行向基金申购方返回扣款交易请求的执行结果,基金申购方将该扣款交易请求的执行结果反馈至基金机构,基金机构根据该执行结果执行基金申购请求,并根据申购结果生成交易明细,向基金节点设备发起携带该交易明细的入链请求。此外,基金机构还将该申购结果返回至基金申购方。最后,基金申购方根据申购结果更新台账,并根据台账更新结果生成交易明细,向基金申购方节点设备发起携带该交易明细的入链请求。
需要注意的是,上述应用场景仅用于举例,具体的入链请求的触发方式可根据具体的应用场景确定。
步骤S20,判断所述第K笔交易明细是否是所述交易的第一笔交易明细,若是,转入步骤S30,若否,转入步骤S40。
上述判断所述第K笔交易明细是否是所述交易的第一笔交易明细的步骤包括:
判断K是否等于1,若是,则判定该第K笔交易明细为该交易的第一笔交易明细,若否,则判定该第K笔交易明细不是该交易的第一笔交易明细。
或者,所述入链请求中携带有该交易的交易标识信息,根据该交易的交易标识信息查询区块链中是否存储有该交易对应的交易明细,若是,则判定该第K笔交易明细不是该交易的第一笔交易明细,若否,则判定该第K笔交易明细为该交易的第一笔交易明细。
步骤S30,将所述第K笔交易明细存储至区块链中。
对于一交易的第一笔交易明细,无需对其进行对账,直接将该第K笔交易明细存储至区块链中即可。
步骤S40,按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
参照图9,上述步骤S40包括:
步骤S41,在所述区块链中查询所述交易的第K-1笔交易明细是否存在,若是,转入步骤S42,若否,转入步骤S47。
步骤S42,判断所述交易的第K-1笔交易明细的交易状态是否为终态,若是,则转入步骤S43,若否,转入步骤S47。
交易明细的交易状态有两类:第一类为终态,所述终态是指交易状态为交易成功或交易失败的状态;第二类为非终态,包括正在处理中的交易状态。
步骤S43,判断所述第K笔交易明细的交易状态是否为终态,若是,则转入步骤S44,若否,则转入步骤S47。
步骤S44,判断所述第K笔交易明细的交易状态与所述第K-1笔交易明细的交易状态是否相同,若是,则转入步骤S45,若否,则转入步骤S46。
步骤S45,将所述第K笔交易明细存储至所述区块链中,并标记所述第K笔交易明细的第一对账结果为正常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
步骤S46,将所述第K笔交易明细存储至所述区块链中,并标记所述第K笔交易明细的第一对账结果为异常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
步骤S47,将所述第K笔交易明细存储至所述区块链中,并标记所述第K笔交易明细的第一对账结果为未明,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
未明是指暂时无法通过第K-1笔交易明细的交易状态及第K笔交易明细的交易状态对第K笔交易明细进行对账,以确定第K笔交易明细的第一对账结果。
例如,存在如下任一种情况,均暂时无法对第K笔交易明细进行对账:
第K-1笔交易明细不存在(即缺失),或者,第K-1笔交易明细为非终态(即正在处理中的交易状态),或者,第K笔交易明细为非终态(即正在处理中的交易状态)。
本发明接收入链请求,所述入链请求携带有一交易的交易标识信息及该交易的第K笔交易明细;判断所述第K笔交易明细是否是所述交易的第一笔交易明细,若是,则将所述第K笔交易明细存储至区块链中,若否,则按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细及其第一对账结果存储至所述区块链中。相较于现有技术,本发明各个交易参与方通过节点设备将各笔交易的交易明细存储至区块链,节点设备在将交易明细存储至区块链的过程中,确定每笔交易明细的第一对账结果,从而实现对交易的实时对账,缩短了资金在途时间及资金清算周期,提高了资金在交易期间的安全性。此外,由于区块链的防篡改、高透明及去中心化等优势,确保了交易明细的真实性及安全性。
如图10所示,图10为本发明基于区块链的实时对账方法第二实施例的流程示意图。
本实施例在第一实施例的基础上,于步骤S40之后,该方法还包括:
步骤S50,实时或定时(例如,每隔5分钟)获取各交易的交易执行时间,并将交易执行时间大于预设时长(例如,10分钟)的交易作为待处理交易。
步骤S60,确定各所述待处理交易的交易类型,根据各所述待处理交易的交易类型及预先确定的交易类型与预设数量之间的映射关系,确定各所述待处理交易对应的预设数量。
预先设置每笔交易需在预设时长内(例如,10分钟内)完成,且对于一交易类型的交易被完整执行后应在区块链中记录其对应的预设数量(例如,一交易类型的交易对应的预设数量为8笔)的交易明细。
由于每一交易类型的交易对应的预设数量不同,因此,将各交易类型及其对应的预设数量之间建立映射关系(例如,映射表),并将该映射关系存储至各节点设备的本地存储空间中,或者存储至区块链中。
步骤S70,逐一判断各所述待处理交易的交易明细数量是否小于该待处理交易对应的预设数量,每当判定一待处理交易的交易明细数量小于该待处理交易对应的预设数量时,将该待处理交易的所有交易明细作为第一待处理交易明细。
步骤S80,在查找出所有第一待处理交易明细后,将所有所述第一待处理交易明细的第二对账结果标记为异常,并将所有所述第一待处理交易明细的第二对账结果存储至所述区块链中。
当交易明细数量小于该待处理交易对应的预设数量时,认为该待处理交易执行超时,或因部分交易步骤失败,导致后续交易步骤无法继续执行,因此,将该待处理交易对应的所有交易明细的第二对账结果均标记为异常。
本实施例节点设备筛选出执行超时的交易,并将该执行超时的交易对应的所有交易明细的第二对账结果均标记为异常。有利于监控人员及时的处理该超时的交易,进一步缩短资金在途时间及资金清算周期。
如图11所示,图11为本发明基于区块链的实时对账方法第三实施例的流程示意图。
本实施例在第二实施例的基础上,于步骤S50之后,该方法还包括:
步骤S90,从所有所述待处理交易中获取所有第一对账结果为未明的交易明细作为第二待处理交易明细。
步骤S100,从所有所述第二待处理交易明细中逐一选择第二待处理交易明细。步骤S110,当该所选的第二待处理交易明细为所属交易的第i(i为大于1的正整数)笔交易明细时,在所述区块链中查询所选的第二待处理交易明细所属交易的第i-1笔交易明细,当查询到时,转入步骤S120,当未查询到时,转入步骤S160。
步骤S120,判断所述第i-1笔交易明细的交易状态是否为终态,若是,则转入步骤S130,若否,则转入步骤S160。
步骤S130,判断所述第i笔交易明细的交易状态是否为终态,若是,则转入步骤S140,若否,则转入步骤S160。
步骤S140,判断所述第i笔交易明细的交易状态及所述第i-1笔交易明细的交易状态是否相同,若是,则转入S150,若否,则转入步骤S160。
步骤S150,将所述第i笔交易明细的第二对账结果标记为正常,并将所述第i笔交易明细的第二对账结果存储至区块链中。
步骤S160,将所述第i笔交易明细的第二对账结果标记为异常,并将所述第i笔交易明细的第二对账结果存储至区块链中。
步骤S170,判断所有所述第二待处理交易明细中是否存在未被选择过的第二待处理交易明细,若是,则返回执行步骤S100,若否,则转入步骤S180。
步骤S180,输出所有第二对账结果为异常的交易明细。
在本实施例中,由于预先设置每笔交易需在预设时长内(例如,10分钟内)完成,若一交易明细的第一对账结果为未明,则需重新通过步骤S100-S180对该交易明细进行对账。若在对账过程中,识别到该交易明细或该交易明细的前一笔交易明细中任一交易明细对应的交易状态不为终态,则认为交易状态不为终态的交易明细对应的交易步骤执行超时,将该笔交易明细的第二对账结果标记为异常。
本实施例节点设备对第一对账结果为未明的交易明细再次进行对账,以进一步确定该交易明细的第二对账结果是否为异常。通过及时的查找出异常的交易明细,有利于监控人员及时的处理异常交易,进一步缩短资金在途时间及资金清算周期。
进一步地,在本实施例中个,该方法还包括:
实时或定时获取所有第一对账结果或第二对账结果为异常的交易明细,当获取到时,根据获取的所有交易明细生成对账报告,并发送所述对账报告至监控设备,供所述监控设备根据所述对账报告,创建异常处理事项。
或者,实时或定时获取所有第一对账结果或第二对账结果为异常的交易明细,当获取到时,根据获取的所有交易明细生成对账报告,并将所述对账报告存储至所述区块链中,供所述监控设备从所述区块链中获取所述对账报告,并根据所述对账报告,创建异常处理事项。
本实施例节点设备根据异常的交易明细生成对账报告,监控设备在获取该对账报告后,根据该对账报告创建异常处理事项,监控人员可及时的介入处理该异常处理事项,从而可进一步缩短资金在途时间及资金清算周期。
进一步地,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有基于区块链的实时对账程序,所述基于区块链的实时对账程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任一实施例中的基于区块链的实时对账方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种节点设备,所述节点设备包括存储器和处理器,其特征在于,所述存储器上存储有基于区块链的实时对账程序,所述基于区块链的实时对账程序被所述处理器执行时实现如下步骤:
接收步骤:接收入链请求,所述入链请求携带有一交易的第K笔交易明细,所述交易明细包括交易状态,K为正整数;
第一判断步骤:判断所述第K笔交易明细是否是所述交易的第一笔交易明细;
存储步骤:当所述第K笔交易明细是所述交易的第一笔交易明细时,将所述第K笔交易明细存储至区块链中;
对账步骤:当所述第K笔交易明细不是所述交易的第一笔交易明细时,按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
2.如权利要求1所述的节点设备,其特征在于,所述对账步骤包括:
第一查询步骤:在所述区块链中查询所述交易的第K-1笔交易明细,当查询到时,转入第二判断步骤,当未查询到时,转入第二确定步骤;
第二判断步骤:判断所述交易的第K-1笔交易明细的交易状态是否为终态,若是,则转入第三判断步骤,若否,转入第二确定步骤,所述终态是指交易状态为交易成功或交易失败的状态;
第三判断步骤:判断所述第K笔交易明细的交易状态是否为终态,若是,则转入第一确定步骤,若否,则转入第二确定步骤;
第一确定步骤:判断所述第K笔交易明细的交易状态与所述第K-1笔交易明细的交易状态是否相同,若是,则标记所述第K笔交易明细的第一对账结果为正常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中,若否,则标记所述第K笔交易明细的第一对账结果为异常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中;
第二确定步骤:标记所述第K笔交易明细的第一对账结果为未明,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
3.如权利要求1所述的节点设备,其特征在于,所述处理器执行所述基于区块链的实时对账程序,在所述对账步骤之后,还实现以下步骤:
第一获取步骤:实时或定时获取各交易的交易执行时间,并将交易执行时间大于预设时长的交易作为待处理交易;
第三确定步骤:确定各所述待处理交易的交易类型,根据各所述待处理交易的交易类型及预先确定的交易类型与预设数量之间的映射关系,确定各所述待处理交易对应的预设数量;
选择步骤:逐一判断各所述待处理交易的交易明细数量是否小于该待处理交易对应的预设数量,每当判定一待处理交易的交易明细数量小于该待处理交易对应的预设数量时,将该待处理交易的所有交易明细作为第一待处理交易明细;
第一标记步骤:在查找出所有第一待处理交易明细后,将所有所述第一待处理交易明细的第二对账结果标记为异常,并将所有所述第一待处理交易明细的第二对账结果存储至所述区块链中。
4.如权利要求3所述的节点设备,其特征在于,所述第一对账结果包括正常、异常及未明,所述处理器执行所述基于区块链的实时对账程序,在所述第一获取步骤之后,还实现以下步骤:
第二获取步骤:从所有所述待处理交易中获取所有第一对账结果为未明的交易明细作为第二待处理交易明细;
第二查询步骤:从所有所述第二待处理交易明细中逐一选择第二待处理交易明细,当所选的第二待处理交易明细为所属交易的第i笔交易明细时,在所述区块链中查询所选的第二待处理交易明细所属交易的第i-1笔交易明细,当查询到时,转入第三确定步骤,当未查询到时,转入第二标记步骤,其中,i为大于1的正整数;
第三确定步骤:判断所述第i-1笔交易明细的交易状态是否为终态,若是,则转入第四确定步骤,若否,则转入第二标记步骤;
第四确定步骤:判断所述第i笔交易明细的交易状态是否为终态,若是,则转入第五确定步骤,若否,则转入第二标记步骤;
第五确定步骤:判断所述第i笔交易明细的交易状态及所述第i-1笔交易明细的交易状态是否相同,若是,则转入第三标记步骤,若否,则转入第二标记步骤;
第二标记步骤:将所述第i笔交易明细的第二对账结果标记为异常,并将所述第i笔交易明细的第二对账结果存储至区块链中;
第三标记步骤:将所述第i笔交易明细的第二对账结果标记为正常,并将所述第i笔交易明细的第二对账结果存储至区块链中;
检测步骤:判断所有所述第二待处理交易明细中是否存在未被选择过的第二待处理交易明细,当存在时,返回执行所述第二查询步骤。
5.如权利要求3或4所述的节点设备,其特征在于,所述处理器执行所述基于区块链的实时对账程序,还实现以下步骤:
实时或定时获取所有第一对账结果或第二对账结果为异常的交易明细,当获取到时,根据获取的所有交易明细生成对账报告,并发送所述对账报告至监控设备,供所述监控设备根据所述对账报告,创建异常处理事项;
或者,实时或定时获取所有第一对账结果或第二对账结果为异常的交易明细,当获取到时,根据获取的所有交易明细生成对账报告,并将所述对账报告存储至所述区块链中,供所述监控设备从所述区块链中获取所述对账报告,并根据所述对账报告,创建异常处理事项。
6.一种基于区块链的实时对账方法,该方法适用于区块链***中的节点设备,其特征在于,该方法包括步骤:
接收步骤:接收入链请求,所述入链请求携带有一交易的第K笔交易明细,所述交易明细包括交易状态,K为正整数;
第一判断步骤:判断所述第K笔交易明细是否是所述交易的第一笔交易明细;
存储步骤:当所述第K笔交易明细是所述交易的第一笔交易明细时,将所述第K笔交易明细存储至区块链中;
对账步骤:当所述第K笔交易明细不是所述交易的第一笔交易明细时,按照预设规则,确定所述第K笔交易明细的第一对账结果,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
7.如权利要求6所述的基于区块链的实时对账方法,其特征在于,所述对账步骤包括:
第一查询步骤:在所述区块链中查询所述交易的第K-1笔交易明细,当查询到时,转入第二判断步骤,当未查询到时,转入第二确定步骤;
第二判断步骤:判断所述交易的第K-1笔交易明细的交易状态是否为终态,若是,则转入第三判断步骤,若否,转入第二确定步骤,所述终态是指交易状态为交易成功或交易失败的状态;
第三判断步骤:判断所述第K笔交易明细的交易状态是否为终态,若是,则转入第一确定步骤,若否,则转入第二确定步骤;
第一确定步骤:判断所述第K笔交易明细的交易状态与所述第K-1笔交易明细的交易状态是否相同,若是,则标记所述第K笔交易明细的第一对账结果为正常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中,若否,则标记所述第K笔交易明细的第一对账结果为异常,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中;
第二确定步骤:标记所述第K笔交易明细的第一对账结果为未明,并将所述第K笔交易明细及所述第K笔交易明细的第一对账结果存储至所述区块链中。
8.如权利要求6所述的基于区块链的实时对账方法,其特征在于,在所述对账步骤之后,该方法还包括:
第一获取步骤:实时或定时获取各交易的交易执行时间,并将交易执行时间大于预设时长的交易作为待处理交易;
第三确定步骤:确定各所述待处理交易的交易类型,根据各所述待处理交易的交易类型及预先确定的交易类型与预设数量之间的映射关系,确定各所述待处理交易对应的预设数量;
选择步骤:逐一判断各所述待处理交易的交易明细数量是否小于该待处理交易对应的预设数量,每当判定一待处理交易的交易明细数量小于该待处理交易对应的预设数量时,将该待处理交易的所有交易明细作为第一待处理交易明细;
第一标记步骤:在查找出所有第一待处理交易明细后,将所有所述第一待处理交易明细的第二对账结果标记为异常,并将所有所述第一待处理交易明细的第二对账结果存储至所述区块链中。
9.如权利要求8所述的基于区块链的实时对账方法,其特征在于,所述第一对账结果包括正常、异常及未明,在所述第一获取步骤之后,该方法还包括:
第二获取步骤:从所有所述待处理交易中获取所有第一对账结果为未明的交易明细作为第二待处理交易明细;
第二查询步骤:从所有所述第二待处理交易明细中逐一选择第二待处理交易明细,当所选的第二待处理交易明细为所属交易的第i笔交易明细时,在所述区块链中查询所选的第二待处理交易明细所属交易的第i-1笔交易明细,当查询到时,转入第三确定步骤,当未查询到时,转入第二标记步骤,其中,i为大于1的正整数;
第三确定步骤:判断所述第i-1笔交易明细的交易状态是否为终态,若是,则转入第四确定步骤,若否,则转入第二标记步骤;
第四确定步骤:判断所述第i笔交易明细的交易状态是否为终态,若是,则转入第五确定步骤,若否,则转入第二标记步骤;
第五确定步骤:判断所述第i笔交易明细的交易状态及所述第i-1笔交易明细的交易状态是否相同,若是,则转入第三标记步骤,若否,则转入第二标记步骤;
第二标记步骤:将所述第i笔交易明细的第二对账结果标记为异常,并将所述第i笔交易明细的第二对账结果存储至区块链中;
第三标记步骤:将所述第i笔交易明细的第二对账结果标记为正常,并将所述第i笔交易明细的第二对账结果存储至区块链中;
检测步骤:判断所有所述第二待处理交易明细中是否存在未被选择过的第二待处理交易明细,当存在时,返回执行所述第二查询步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有基于区块链的实时对账程序,所述基于区块链的实时对账程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求6-9中的任一项所述的基于区块链的实时对账方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020410.7A CN109166042B (zh) | 2018-09-03 | 2018-09-03 | 节点设备、基于区块链的实时对账方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020410.7A CN109166042B (zh) | 2018-09-03 | 2018-09-03 | 节点设备、基于区块链的实时对账方法和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109166042A true CN109166042A (zh) | 2019-01-08 |
CN109166042B CN109166042B (zh) | 2023-06-09 |
Family
ID=64893826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811020410.7A Active CN109166042B (zh) | 2018-09-03 | 2018-09-03 | 节点设备、基于区块链的实时对账方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109166042B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109859041A (zh) * | 2019-01-09 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于区块链的基金交易实时更新方法及***、电子设备 |
CN111445330A (zh) * | 2020-03-24 | 2020-07-24 | 山东浪潮通软信息科技有限公司 | 对账的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064375A1 (en) * | 2002-09-30 | 2004-04-01 | Randell Wayne L. | Method and system for generating account reconciliation data |
CN106097092A (zh) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | 用于对账的数据处理方法和装置 |
CN106504089A (zh) * | 2016-10-14 | 2017-03-15 | 平安科技(深圳)有限公司 | 基于区块链的基金申购交易方法及*** |
CN107798109A (zh) * | 2017-11-01 | 2018-03-13 | 深圳市牛鼎丰科技有限公司 | 对账清算的方法、装置、计算机设备及存储介质 |
CN107993149A (zh) * | 2017-12-18 | 2018-05-04 | 深圳前海微众银行股份有限公司 | 账户信息管理方法、***以及可读存储介质 |
CN108074177A (zh) * | 2017-12-05 | 2018-05-25 | 深圳前海微众银行股份有限公司 | 数据对账方法、***和计算机可读存储介质 |
CN108171489A (zh) * | 2017-12-18 | 2018-06-15 | 深圳前海微众银行股份有限公司 | 数据清算方法、***和计算机可读存储介质 |
-
2018
- 2018-09-03 CN CN201811020410.7A patent/CN109166042B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064375A1 (en) * | 2002-09-30 | 2004-04-01 | Randell Wayne L. | Method and system for generating account reconciliation data |
CN106097092A (zh) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | 用于对账的数据处理方法和装置 |
CN106504089A (zh) * | 2016-10-14 | 2017-03-15 | 平安科技(深圳)有限公司 | 基于区块链的基金申购交易方法及*** |
CN107798109A (zh) * | 2017-11-01 | 2018-03-13 | 深圳市牛鼎丰科技有限公司 | 对账清算的方法、装置、计算机设备及存储介质 |
CN108074177A (zh) * | 2017-12-05 | 2018-05-25 | 深圳前海微众银行股份有限公司 | 数据对账方法、***和计算机可读存储介质 |
CN107993149A (zh) * | 2017-12-18 | 2018-05-04 | 深圳前海微众银行股份有限公司 | 账户信息管理方法、***以及可读存储介质 |
CN108171489A (zh) * | 2017-12-18 | 2018-06-15 | 深圳前海微众银行股份有限公司 | 数据清算方法、***和计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109859041A (zh) * | 2019-01-09 | 2019-06-07 | 平安科技(深圳)有限公司 | 基于区块链的基金交易实时更新方法及***、电子设备 |
CN109859041B (zh) * | 2019-01-09 | 2023-06-27 | 平安科技(深圳)有限公司 | 基于区块链的基金交易实时更新方法及***、电子设备 |
CN111445330A (zh) * | 2020-03-24 | 2020-07-24 | 山东浪潮通软信息科技有限公司 | 对账的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109166042B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110782240B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN109584082A (zh) | 基于区块链的保险理赔方法、电子装置及存储介质 | |
CN107424069A (zh) | 一种风控特征的生成方法、风险监控方法及设备 | |
CN107301536A (zh) | 资源转移方法及装置 | |
CN109194495A (zh) | 服务器、报文处理方法和计算机可读存储介质 | |
CN108256996A (zh) | 用于信贷还贷业务中的二分拆单方法及*** | |
CN110399533A (zh) | 资金流向查询方法及装置 | |
CN106910065B (zh) | 基于多笔交易计算结汇金额的数据处理方法、装置及*** | |
CN108805667A (zh) | 订单流程处理方法和*** | |
CN108711047A (zh) | 一种自动还款方法、***及终端设备 | |
CN109087199A (zh) | 用于银行的账户查询***、方法及存储介质 | |
CN112559300B (zh) | 一种故障原因确定***、方法及装置 | |
CN110430257A (zh) | 信息处理方法、装置、***和可读存储介质 | |
CN110162458A (zh) | 测试数据构造方法、装置及存储介质 | |
CN109166042A (zh) | 节点设备、基于区块链的实时对账方法和存储介质 | |
CN105787644B (zh) | 一种业务状态的参数化控制方法及装置 | |
CN110263580A (zh) | 基于区块链的数据处理方法、装置和区块链节点 | |
CN109034819A (zh) | 交易的举报方法及装置 | |
US20150026770A1 (en) | Safety information transfer system, device and method based on extended parameter set | |
CN110706108B (zh) | 在区块链中并发执行交易的方法和装置 | |
CN110046977A (zh) | 记账方法、对账方法、装置和服务器 | |
CN115222390A (zh) | 安全检查方法、装置、设备及存储介质 | |
CN109901933A (zh) | 业务***的操作方法及装置、存储介质、电子装置 | |
CN110084583A (zh) | 一种强制扣划账务数据处理方法、装置及*** | |
CN110309017A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |