CN109242455A - 基于区块链的数据处理方法、装置和设备 - Google Patents

基于区块链的数据处理方法、装置和设备 Download PDF

Info

Publication number
CN109242455A
CN109242455A CN201810956567.4A CN201810956567A CN109242455A CN 109242455 A CN109242455 A CN 109242455A CN 201810956567 A CN201810956567 A CN 201810956567A CN 109242455 A CN109242455 A CN 109242455A
Authority
CN
China
Prior art keywords
issue
transaction
record period
user
node
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
Application number
CN201810956567.4A
Other languages
English (en)
Inventor
张晴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Financial Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201810956567.4A priority Critical patent/CN109242455A/zh
Publication of CN109242455A publication Critical patent/CN109242455A/zh
Priority to PCT/CN2019/100979 priority patent/WO2020038291A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Development Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例提供一种基于区块链的数据处理方法、装置和设备,该方法包括:记录第一记录周期内的每笔转账交易的交易信息,交易信息包括:第一记录周期的第一期数、转账交易对应的转入用户标识和转出用户标识;从终端获取第一交易,第一交易包括第一期数;对于每个节点的用户,根据第一期数确定用户在第一记录周期的目标交易信息,并根据目标交易信息确定用户在第一记录周期的第一余额。本申请实施例可以提高区块链节点记录的转账交易的有效性。

Description

基于区块链的数据处理方法、装置和设备
技术领域
本申请实施例涉及计算机领域,尤其涉及一种基于区块链的数据处理方法、装置和设备。
背景技术
联盟链中,会为联盟链的成员建立账户,用于完成通证的流通。
现有技术中,区块链节点中记录的每笔转账交易,都会造成相应成员的账户余额发生增减。比如若联盟成员A与联盟成员B发生了一笔转账交易a,联盟成员A对应的节点A需要读取联盟成员A当前的账户余额1,然后根据账户余额1和转账交易a中联盟成员A的交易额,得到转账交易a发生后联盟成员A的账户余额2。账户余额2被生成区块后,才相当于转账交易a被确认(即账户余额2生效)。若2s生成一个区块,则转账交易a可能不是立即被确认,因此,若在转账交易a还没被确认时,联盟成员A又与联盟成员C发生了一笔转账交易b,此时,联盟成员A对应的节点A读取的联盟成员A当前的账户余额仍然是账户余额1,但实际上应该是账户余额2,这样就产生了读写冲突,区块链节点中记录的转账交易b变成无效的转账交易。
因此,如何解决上述的读写冲突,提高区块链节点记录的转账交易的有效性是亟待解决的问题。
发明内容
本申请实施例提供一种基于区块链的数据处理方法、装置和设备,提高了区块链节点记录的转账交易的有效性。
第一方面,本申请实施例提供一种基于区块链的数据处理方法,应用于组成所述区块链的任一个节点,包括:
记录第一记录周期内的每笔转账交易的交易信息,所述交易信息包括:所述第一记录周期的第一期数、所述转账交易对应的转入用户标识和转出用户标识;
从终端获取第一交易,所述第一交易包括所述第一期数;
对于每个所述节点的用户,根据所述第一期数确定所述用户在所述第一记录周期的目标交易信息,并根据所述目标交易信息确定所述用户在所述第一记录周期的第一余额。
上述申请中的实施例具有如下优点或有益效果:由于在节点记录转账交易的交易信息中包括了记录周期的期数,使得可在一个记录周期结束后,根据交易信息中包括的期数,清算相应记录周期内发生的转账交易,得到用户在相应记录周期的第一余额,从而有效降低了现有技术中由于读写冲突造成的部分转账交易无效的现象的发生率,提高了区块链节点记录的转账交易有效率。
在一种实施方式中,所述交易信息还包括转入额和转出额;所述对于每个节点的用户,根据所述第一期数确定所述用户在所述第一记录周期的目标交易信息,并根据所述目标交易信息确定所述用户在所述第一记录周期的第一余额,包括:
确定包括所述第一期数且包括所述用户的标识的交易信息,为所述用户在所述第一记录周期的目标交易信息;
根据所述目标交易信息包括的转入额,确定所述用户对应的第一转入额,并根据所述目标交易信息包括的转出额,确定所述用户对应的第一转出额;
根据所述用户的第一转出额和所述第一转入额,获取所述用户在所述第一记录周期的第一余额。
在一种可能的设计中,在所述从终端获取第一交易之前,还包括:
从所述终端获取第二交易;
根据所述第二交易,获取当前的第二记录周期的第二期数;
向所述终端发送所述第二期数;其中,所述第二期数大于所述第一期数。
上述申请中的实施例具有如下优点或有益效果:使得终端获知第一交易中应该携带的记录周期的期数。
在一种可能的设计中,还包括:
从终端获取第三交易;
根据所述第三交易和所述第一期数,得到第三期数和第三记录周期,所述第三期数为所述第三记录周期的期数,所述第一期数小于第三期数。
上述申请中的实施例具有如下优点或有益效果:更新记录周期的期数,使得不同的期数标记不同记录周期的转账交易的交易信息,以及可以分批的清算转账交易;并且在分批的清算转账交易时,准确的确定未清算的转账交易,以及已清算的转账交易。
在一种可能的设计中,还包括:
从终端获取第四交易;
根据所述第四交易和所述第三期数,得到第四期数和第四记录周期,所述第四期数为所述第四记录周期的期数,所述第三期数小于第四期数;
从终端获取第五交易,所述第五交易包括所述第三期数和所述第四期数;
对于每个所述节点的用户,获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额。
其中,对于所述节点的用户,获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额,包括:
对于每个所述节点的用户,根据所述用户在各目标记录周期的第一余额之和,得到所述用户从所述第三记录周期至所述第四记录周期对应的总余额;所述目标记录周期为从所述第三记录周期至所述第四记录周期之间的记录周期。
上述申请中的实施例具有如下优点或有益效果:减少链外结算的次数。
在一种可能的设计中,还包括:
向所述终端发送所述用户在所述第一记录周期的第一余额。
上述申请中的实施例具有如下优点或有益效果:终端可以通过所述用户在所述第一记录周期的第一余额,监管节点的转账交易。
在一种可能的设计中,在所述从终端获取第五交易之前,还包括:
从终端获取第六交易,所述第六交易包括目标用户的标识;所述目标用户为所述区块链的各节点的用户中的用户
根据所述第六交易,取消所述目标用户的资产转出功能。
上述申请中的实施例具有如下优点或有益效果:限制目标用户的资产转出功能,保证区块链参与方的利益。
在一种可能的设计中,在所述从终端获取第五交易之后,还包括:
恢复所述目标用户的资产转出功能。
上述申请中的实施例具有如下优点或有益效果:由于每次接收到用于获取总余额的交易后,会根据获取的总余额,进行一次链外的清算,因此,恢复目标用户的资产转出功能,保证了目标用户在链外的清算后正常的进行交易。
第二方面,本申请实施例提供一种区块链中的数据处理方法,应用于终端,包括:
向区块链中的节点发送第一交易,所述第一交易包括第一期数;
其中,所述第一期数为所述节点记录转账交易的交易信息的第一记录周期的期数,所述第一交易用于指示所述节点获取所述用户在所述第一记录周期的第一余额。
上述申请中的实施例具有如下优点或有益效果:终端发送携带第一期数的第一交易后,节点可根据第一期数清算交易信息中包括第一期数的交易信息,得到用户在相应记录周期的第一余额,从而有效降低了现有技术中由于读写冲突造成的部分转账交易无效的现象的发生率,提高了区块链节点记录的转账交易有效率。
在一种可能的设计中,在所述向区块链中的节点发送第一交易之前,还包括:
向所述节点发送第二交易,所述第二交易用于所述节点获取当前的第二记录周期的第二期数;所述第二期数大于所述第一期数;
从所述节点获取所述第二期数。
上述申请中的实施例具有如下优点或有益效果:使得终端获知第一交易中应该携带的记录周期的期数。
在一种可能的设计中,还包括:
向所述节点发送第三交易;所述第三交易用于所述节点根据所述第一期数得到第三期数,所述第三期数为所述第三记录周期的期数,所述第一期数小于第三期数。
上述申请中的实施例具有如下优点或有益效果:向节点发送第三交易,使得节点更新记录周期的期数,使得不同的期数标记不同记录周期的转账交易的交易信息,以及可以分批的清算转账交易;并且在分批的清算转账交易时,准确的确定未清算的转账交易,以及已清算的转账交易。
在一种可能的设计中,还包括:
向所述节点发送获取第四交易;所述第四交易用于所述节点根据所述第三期数得到第四期数,所述第四期数为第四记录周期的期数,所述第三期数小于第四期数;
向所述节点发送第五交易,所述第五交易包括所述第三期数和所述第四期数,所述第五交易用于所述节点获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额。
上述申请中的实施例具有如下优点或有益效果:降低链外结算的次数。
在一种可能的设计中,还包括:
从所述节点获取所述用户在所述第一记录周期的第一余额。
上述申请中的实施例具有如下优点或有益效果:终端可以通过所述用户在所述第一记录周期的第一余额,监管节点的转账交易。
在一种可能的设计中,若该第三记录周期至该第四记录周期之间具有M个记录周期,则在所述向所述节点发送第五交易之前,还包括:
若M个记录周期的前N个记录周期对应的总余额小于或等于预设阈值,则向所述节点发送第六交易,所述第六交易用于指示所述节点取消所述用户的账户的资产转出功能;1≤N≤M,M≥1,M和N为整数;
其中,前N个记录周期对应的总余额为所述用户从前N个记录周期中的第一个记录周期至前N个记录周期中的第N个记录周期对应的总余额。
上述申请中的实施例具有如下优点或有益效果:终端可以获取上述M个记录周期的前N个记录周期对应的总余额小于或等于预设阈值,监管节点的转账交易,在某一用户余额过低时,向节点发送第六交易,使得节点取消f该用户的账户的资产转出功能,保证了其它用户的利益。
第三方面,本申请实施例提供一种基于区块链的数据处理装置,包括:
记录模块,用于记录第一记录周期内的每笔转账交易的交易信息,所述交易信息包括:所述第一记录周期的第一期数、所述转账交易对应的转入用户标识和转出用户标识;
接收模块,用于从终端获取第一交易,所述第一交易包括所述第一期数;
确定模块,用于对于每个所述节点的用户,根据所述第一期数确定所述用户在所述第一记录周期的目标交易信息,并根据所述目标交易信息确定所述用户在所述第一记录周期的第一余额。
在一种实施方式中,所述交易信息还包括转入额和转出额;所述确定模块,具体用于:
确定包括所述第一期数且包括所述用户的标识的交易信息,为所述用户在所述第一记录周期的目标交易信息;
根据所述目标交易信息包括的转入额,确定所述用户对应的第一转入额,并根据所述目标交易信息包括的转出额,确定所述用户对应的第一转出额;
根据所述用户的第一转出额和所述第一转入额,获取所述用户在所述第一记录周期的第一余额。
在一种可能的设计中,所述接收模块还用于,在所述从终端获取第一交易之前,从所述终端获取第二交易;
还包括:获取模块,用于根据所述第二交易,获取当前的第二记录周期的第二期数;
发送模块,用于向所述终端发送所述第二期数;其中,所述第二期数大于所述第一期数。
在一种可能的设计中,所述接收模块还用于,从终端获取第三交易;
还包括:获取模块,用于根据所述第三交易和所述第一期数,得到第三期数和第三记录周期,所述第三期数为所述第三记录周期的期数,所述第一期数小于第三期数。
在一种可能的设计中,所述接收模块还用于,从终端获取第四交易;
所述获取模块,还用于根据所述第四交易和所述第三期数,得到第四期数和第四记录周期,所述第四期数为所述第四记录周期的期数,所述第三期数小于第四期数;
所述接收模块还用于,从终端获取第五交易,所述第五交易包括所述第三期数和所述第四期数;
所述获取模块,还用于对于每个所述节点的用户,获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额。
在一种可能的设计中,所述获取模块,具体用于:
对于每个所述节点的用户,根据所述用户在各目标记录周期的第一余额之和,得到所述用户从所述第三记录周期至所述第四记录周期对应的总余额;所述目标记录周期为从所述第三记录周期至所述第四记录周期之间的记录周期。
在一种可能的设计中,所述发送模块还用于,向所述终端发送所述用户在所述第一记录周期的第一余额。
在一种可能的设计中,所述接收模块还用于,在所述从终端获取第五交易之前,从终端获取第六交易,所述第六交易包括目标用户的标识;所述目标用户为所述区块链的各节点的用户中的用户
还包括:取消模块,用于根据所述第六交易,取消所述目标用户的资产转出功能。
在一种可能的设计中,还包括:恢复模块,所述恢复模块,用于在所述从终端获取第五交易之后,恢复所述目标用户的资产转出功能。
第四方面,本申请实施例提供一种区块链中的数据处理装置,包括:
发送模块,用于向区块链中的节点发送第一交易,所述第一交易包括第一期数;
其中,所述第一期数为所述节点记录转账交易的交易信息的第一记录周期的期数,所述第一交易用于指示所述节点获取所述用户在所述第一记录周期的第一余额。
在一种可能的设计中,所述发送模块,还用于在所述向区块链中的节点发送第一交易之前,向所述节点发送第二交易,所述第二交易用于所述节点获取当前的第二记录周期的第二期数;所述第二期数大于所述第一期数;
还包括:接收模块,用于从所述节点获取所述第二期数。
在一种可能的设计中,所述发送模块,还用于向所述节点发送第三交易;所述第三交易用于所述节点根据所述第一期数得到第三期数,所述第三期数为所述第三记录周期的期数,所述第一期数小于第三期数。
在一种可能的设计中,所述发送模块,还用于向所述节点发送获取第四交易;所述第四交易用于所述节点根据所述第三期数得到第四期数,所述第四期数为第四记录周期的期数,所述第三期数小于第四期数;以及,
向所述节点发送第五交易,所述第五交易包括所述第三期数和所述第四期数,所述第五交易用于所述节点获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额。
在一种可能的设计中,还包括:接收模块;
接收模块,用于从所述节点获取所述用户在所述第一记录周期的第一余额。
在一种可能的设计中,若该第三记录周期至该第四记录周期之间具有M个记录周期,则所述发送模块,还用于在所述向所述节点发送第五交易之前,
若M个记录周期的前N个记录周期对应的总余额小于或等于预设阈值,则向所述节点发送第六交易,所述第六交易用于指示所述节点取消所述用户的账户的资产转出功能;1≤N≤M,M≥1,M和N为整数;
其中,前N个记录周期对应的总余额为所述用户从前N个记录周期中的第一个记录周期至前N个记录周期中的第N个记录周期对应的总余额。
第五方面本申请实施例提供一种电子设备,包括:处理器,存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现第一方面任一所述的方法或者第二方面任一所述的方法。
第六方面本申请实施例提供一种可读存储介质,其上存储有计算机程序或指令,当所述程序或指令在计算机上运行时,第一方面任一所述的方法或者第二方面任一所述的方法被执行。
本申请中由于在节点记录转账交易的交易信息中包括了记录周期的期数,使得可在一个记录周期结束后,根据交易信息中包括的期数,清算相应记录周期内发生的转账交易,得到用户在相应记录周期的第一余额,从而有效降低了现有技术中由于读写冲突造成的部分转账交易无效的现象的发生率,提高了区块链节点记录的转账交易有效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的系统架构图;
图2为本申请实施例提供的区块链的数据处理方法的信令交互图一;
图3为本申请实施例提供的区块链的数据处理方法的信令交互图二;
图4为本申请实施例提供的区块链的数据处理方法的信令交互图三;
图5为本申请实施例提供的基于区块链的数据处理装置的结构示意图一;
图6为本申请实施例提供的基于区块链的数据处理装置的结构示意图二;
图7为本申请实施例提供的基于区块链的数据处理装置的结构示意图三;
图8为本申请实施例提供的基于区块链的数据处理装置的结构示意图四;
图9为本申请实施例提供的区块链节点的结构示意图;
图10为本申请实施例提供的终端的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的联盟链,只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。
图1为本申请实施例提供的系统架构图。参照图1,该系统架构包括区块链节点、第一终端和第二终端。其中,区块链节点为联盟链的参与方对应的节点,每个节点均为安装有智能合约的节点,第一终端设备为用于监管的第三方的终端,第二终端为提案交易的终端。
可以理解的是,第一终端、第二终端均与各区块链节点之间通信连接,为了图示表达的清楚,没有完全示出第一终端与各区块链节点之间通信连接,也没有完全示出第二终端与各区块链节点之间通信连接。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。
图2为本申请实施例提供的区块链的数据处理方法的信令交互图一;参见图2,本实施例的方法,包括:
步骤S201、节点记录第一记录周期内每笔转账交易的交易信息,交易信息包括:第一记录周期的第一期数、转账交易对应的转入用户标识和转出用户标识;
步骤S202、终端向节点发送第一交易;第一交易包括的第一期数,第一期数为第一记录周期的期数;
步骤S203、对于每个节点的用户,节点根据第一期数确定该用户在第一记录周期的目标交易信息,并根据该目标交易信息确定该用户在该第一记录周期的第一余额。
具体地,本实施例的节点为组成区块链的任一个节点,可以理解的是,本实施例中的区块链可以为联盟链。下面以联盟链为例,说明本申请实施例的方法。本实施例中的终端可为用于监管的第三方的终端。
联盟链的每个参与方均对应有一个账户,当联盟链的某两个参与方发生了转账交易,比如,参与方A向参与方B转出X个资产,参与方A的总余额会减少X,参与方B的总余额会增加X;其中,资产可为积分;此时,参与方A的终端会向各节点提案交易,各节点会通过智能合约对该交易进行确认,确认后,记录该转账交易。可以理解的是,每个节点对应一个参与方,或者说每个节点对应一个用户。
具体地,对于转账交易的记录,引入记录周期的概念,不同的记录周期用期数标识;若从xx时刻到yy时刻的记录周期的期数为1,则从yy时刻到zz时刻的记录周期的期数可为2,从zz时刻到aa时刻的记录周期的期数可为3。
可以理解的是,每个记录周期对应的时长,并不一定相同。比如,期数为1的记录周期持续的时长为1天:2018年5月23日00点至2018年5月24日00点之间时刻均属于期数为1的记录周期的时刻,又比如,期数为2的记录周期持续的时长为2天:2018年5月24日00点至2018年5月26日00点之间时刻均属于期数为2的记录周期的时刻。
对于步骤S201,记录第一记录周期内每笔转账交易的交易信息,交易信息包括:第一记录周期的第一期数、转账交易对应的转入用户标识和转出用户标识,转入额和转出额。即每次转账交易对应一条交易信息。
其中,第一记录周期为任一记录周期,第一期数为该第一记录周期的期数。
比如:用户A在2018年5月23日6:00点向用户B转出X个资产,2018年5月23日属于期数为第一期数1的第一记录周期,则该转账交易的交信息可包括:第一期数1、转出方用户A的标识、转入方用户B的标识,转出额-X,转入额X。
可选地,转账交易的交易信息可以通过键-值对(Key-Value)的形式存储。其中,Key值可包括:记录周期的期数、转入用户标识、转出用户标识;进一步地,Key值还可包括:该次转账交易的标识(比如序列号标识)。Value值可包括:转入额、转出额;进一步地,Value值还可以包括其它的数据字段,比如转账交易发生的原因。
对于步骤S202~步骤S203,在终端向节点发送携带第一期数的第一交易之前,第一记录周期应该已经结束,或者说当前的记录周期已不再是第一记录周期,即记录周期的期数和记录周期已经发送了变更。
在阐述步骤S202~步骤S203的具体实现之前,先对记录周期的期数和记录周期的变更进行说明。
如上所述,不同的记录周期对应不同的期数,因此,记录周期会随着期数变更而变更,因此,本实施例的方法还包括:终端向该节点发送第三交易,节点根据该第三交易和第一期数,得到第三期数和第三记录周期,该第三期数为该第三记录周期的期数,该第一期数小于该第三期数。因此,第三交易可以认为是终端发送的一次用于期数更新的交易,可以理解的是,终端会发送多次用于期数更新的交易。
具体地,该终端向节点发送该第三交易,该节点收到第三交易后,“根据第三交易和第一期数,得到第三期数和第三记录周期”,是指,第一期数更新成了第三期数,相应的第一记录周期更新成了第三记录周期。
其中,节点接收到第三交易后,第一记录周期还没有结束,当前的记录周期为第一记录周期;而节点接收到第三交易后,会先获取当前的记录周期的期数,也就是第一期数,根据第一期数得到更新后的期数。
可以理解的是,节点可以在接收到第三交易(一次用于期数更新的交易)后,节点将第一期数更新为第三期数(此时第三期数即为上述更新后的期数),相应地得到第三记录周期;此时,步骤S202发生在“终端向该节点发送第三交易,节点根据该第三交易和第一期数,得到第三期数和第三记录周期”之后。
节点还可以是在节点接收到L次用于期数更新的交易(L次中的第一次接收的为第三交易)后,节点将记录周期的期数由第一期数更新到第三期数,相应的得到第三记录周期。
示例性的,L=2,节点接收到第三交易后,将第一期数更新为第五期数,得到了第五期数对应的第五记录周期(即第五期数为第五记录周期的期数,即当前的记录周期变成了第五记录周期,此时第五期数即为上述更新后的期数);节点下一次接收到用于期数更新的交易后,将第五期数更新为第三期数(即第三期数为第三记录周期的期数),当前的记录周期变成了第三期数对应的第三记录周期。即对于第一记录周期而言,经过接收两次用于期数更新的交易,根据各用于期数更新的交易和第一期数,得到第三期数和第三记录周期。
可以说期数被更新后,意味着一个记录周期的结束和另一个记录周期的开始。
由于第三交易用于期数更新的交易,因此,在每一次需要更新期数时,终端都会发送一次用于期数更新的交易至节点,节点接收到一次,获取一次当前记录周期的期数,根据当前记录周期的期数的次数更新一次期数,当前的记录周期也更新一次。
可选地,终端相邻两次发送用于期数更新的交易的时间的间隔可不相同。比如终端第n次发送用于期数更新的交易与第n+1次发送用于期数更新的交易之间的第一时间间隔,可以与终端第n+1次发送用于期数更新的交易与第n+2次发送用于期数更新的交易之间的第二时间间隔不相同。
本实施例中,更新记录周期的期数,使得不同的期数标记不同记录周期的转账交易的交易信息,以及可以分批的清算转账交易;并且在分批的清算转账交易时,可以准确的确定已清算的转账交易,以及未清算的转账交易。
下面对步骤S202~步骤S203的具体实现进行说明。
如上所述在终端向节点发送携带第一期数的第一交易之前,第一记录周期应该已经结束,也就是说当前的记录周期不再是第一记录周期,比如可为第二记录周期,显然地,第一期数小于第二记录周期的第二期数。
比如,若第一期数为5,则第二期数至少为6。
节点接收到第一交易后,具体地,“对于每个节点的用户,根据第一期数确定该用户在该第一记录周期的目标交易信息,并根据该目标交易信息确定所述用户在该第一记录周期的第一余额”,包括:
(1)对于每个节点的用户,确定包括所述第一期数且包括该用户的标识的交易信息,为该用户在该第一记录周期的目标交易信息;
(2)对于每个节点的用户,根据目标交易信息包括的转入额,确定该用户对应的第一转入额,并根据该目标交易信息包括的转出额,确定该用户对应的第一转出额;
具体地,对于每个节点的用户,确定第一目标交易信息中包括的转入额为该用户对应的第一转入额;第一目标交易信息为包括的转入方标识为该用户的标识的目标交易信息。
若具有n条第一目标交易信息,则该用户对应的第一转入额具有n个,n为大于等于0的整数。
对于每个节点的用户,确定第二目标交易信息中包括的转出额为该用户的第一转出额;第二目标交易信息为包括的转出方标识为该用户的标识的目标交易信息。
若具有l条第二目标交易信息,则该用户对应的第一转出额具有l条,l为大于等于0的整数。
通过上述方法,可以得到每个用户(也就是联盟链的参与方)的各第一转入额和各第一转出额。可以理解的是,各第一转入额均为正值,各第一转出额均为负值。
(3)对于每个节点的用户,根据该用户的第一转出额和该第一转入额,获取该用户在该第一记录周期的第一余额。
具体地,对于每个节点的用户,获取该用户对应的各第一转入额的第一和,以及该用户对应的各第一转出额的第二和;确定第一和与第二和之和为该用户在第一记录周期的第一余额。
可以理解的是,该用户在第一记录周期的第一余额并不是该用户在第一记录周期结束时账户的实际余额,在第一记录周期结束时该用户的账户的实际余额为该用户在第一记录周期的第一余额加上在第一记录周期开始时账户的初始余额。其中,第一记录周期开始时用户的账户的初始余额可为0。
综上,上述的第一交易为终端发送的一次用于指示清算用户在某一记录周期记录的转账交易的交易,简称用于清算的交易。
可以理解的是,上述用于计算第一和的第一转入额应该包括在形成了区块的交易信息中;那么,若在获取第一和时,第一记录周期内记录的某一交易信息还未形成区块,则不能用于第一和的计算。基于该原因,若节点接收到第三交易后,节点将第一期数更新成了第三期数,则终端发送携带第一期数的第一交易与终端相发送第三交易之间应该具有一定的间隔,以保证第一记录周期内记录的交易信息均形成了区块。
比如,终端向节点发送用于更新期数的交易1后,节点将期数3更新成了期数4,则发送携带有期数3的用于清算的交易的时间与发送用于更新期数的交易1的时间应该至少具有上述的间隔。发送携带有期数3的用于清算的交易的时间晚于发送用于更新期数的交易1的时间。
本实施例中,由于在节点记录转账交易的交易信息中包括了记录周期的期数,使得可在一个记录周期结束后,根据交易信息中包括的期数,清算相应记录周期内发生的转账交易,得到用户在相应记录周期的第一余额,也就是无需每次转账交易被记录后,均读取一次当前账户的余额,以得到更新后的账户余额,从而有效降低了现有技术中由于读写冲突造成的部分转账交易无效的现象的发生率,提高了区块链节点记录的转账交易的有效率。
可以理解的是,终端会发多次发送用于清算的交易至节点。可选地,终端相邻两次发送用于清算的交易的时间的间隔可不相同。比如终端第N次发送用于清算的交易与第N+1次发送用于清算的交易之间的第一时间间隔,可以与终端第N+1次发送用于清算的交易与第N+2次发送用于清算的交易之间的第二时间间隔不相同。
本实施例的区块链的数据处理方法,通过记录转账交易所在的记录周期的期数,在相应的记录周期结束后,清算一次相应的记录周期内记录的转账交易,得到用户在相应的记录周期对应的余额,提高了区块链节点记录的转账交易的有效率。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了使得上述终端获知第一交易应该携带的第一期数,本实施例在上一实施例的基础上作了进一步的改进。图3为本申请实施例提供的区块链的数据处理方法的信令交互图二;
步骤S301、节点记录第一记录周期内每笔转账交易的交易信息,交易信息包括:第一记录周期的第一期数、转账交易对应的转入用户标识和转出用户标识;
步骤S302、终端向节点发送第二交易;
步骤S303、节点根据第二交易,获取当前的第二记录周期的第二期数;
步骤S304、节点发送第二期数至终端;
步骤S305、终端向节点发送第一交易;第一交易包括的第一期数,第一期数为第一记录周期的期数;
步骤S306、对于每个节点的用户,根据第一期数确定该用户在第一记录周期的目标交易信息,并根据该目标交易信息确定该用户在该第一记录周期的第一余额。
具体地,步骤S301参照上一实施例中的步骤S201相关的阐述,本实施例中不再赘述。
对于步骤S302~步骤S304、终端向节点发送第二交易,第二交易用于指示节点获取当前记录周期的第二期数,节点接收到第二交易后,获取当前第二记录周期的第二期数,节点将第二期数发送至终端。
终端接收到第二期数后,获知当前第二记录周期的期数为第二期数,说明小于第二期数的期数对应的记录周期可以清算,比如第一期数,则终端可以执行步骤S305中的步骤:终端向节点发送第一交易;第一交易包括的第一期数,第一期数为第一记录周期的期数
对于步骤306参照上一实施例中的步骤S203相关的阐述,本实施例中不再赘述。
本实施例的方法,可以使得上述终端获知第一交易应该携带的第一期数。
为了减少链外结算的次数,本实施例在上一实施例的基础上作了进一步的改进。图4为本申请实施例提供的区块链的数据处理方法的信令交互图三;参见图4,本实施例的方法,包括:
步骤S401、记录第一记录周期每笔转账交易的交易信息,交易信息包括:第一记录周期的第一期数、转账交易对应的转入用户标识和转出用户标识;
步骤S402、终端向节点发送第二交易;
步骤S403、节点根据第二交易,获取当前的第二记录周期的第二期数;
步骤S404、节点发送第二期数至终端;
步骤S405、终端向节点发送第一交易;第一交易包括的第一期数,第一期数为第一记录周期的期数;
步骤S406、对于每个节点的用户,根据第一期数确定该用户在第一记录周期的目标交易信息,并根据该目标交易信息确定该用户在该第一记录周期的第一余额。
步骤S407、终端向节点发送第三交易;
步骤S408、节点根据该第三交易和第一期数,得到第三期数和第三记录周期,该第三期数为该第三记录周期的期数,该第一期数小于该第三期数;
步骤S409、终端向节点发送第四交易;
步骤S410、节点根据该第四交易和该第三期数,得到第四期数和第四记录周期,该四期数为该第四记录周期的期数,该第三期数小于该第四期数;
步骤S411、终端向节点发送第五交易,第五交易包括该第三期数和该第四期数;
步骤S412、对于每个节点的用户,节点获取该用户从该第三记录周期至该第四记录周期对应的总余额。
具体地,对于步骤S401~步骤S406参照上一实施例中的阐述,本实施例中不再赘述。
对于步骤S407~步骤S408、同图2所示的实施例中关于“根据该第三交易和第一期数,得到第三期数和第三记录周期,该第三期数为该第三记录周期的期数,该第一期数小于该第三期数”阐述,本实施例中不再赘述。
对于步骤S409~步骤S410、参照图2所示的实施例中关于“根据该第三交易和第一期数,得到第三期数和第三记录周期,该第三期数为该第三记录周期的期数,该第一期数小于该第三期数”阐述,本实施例中不再赘述。
即第三期数是从第一期数更新而来,第四期数是从第三期数更新而来。比如:第一期数中间可以经过了多次更新才更新到第三期数,相应地,记录周期也经过了多次更新得到了第三期数对应的第三记录周期。
示例性地,比如第一期数为1,则第三期数为6,则第一期数先更新成了期数2,又更新成了3,又更新成了4、又更新成了5,接着更新成了第三期数6,相应的记录周期也经过多次更新得到第三期数6对应的第三记录周期。
步骤S411~步骤S412,若每个记录周期结束后,均相应地进行一次链外结算,则结算过于频繁,因此,可以在连续几个记录周期结束后,统一进行一次链外结算。这就需要根据连续几个记录周期对应的余额,获取该连续几个记录周期对应的总余额,以用于链外结算。
因此,终端需要向节点发送第五交易,第五交易包括该第三期数和该第四期数。
节点接收到第五交易后,对于每个用户,节点获取该用户从该第三记录周期至该第四记录周期对应的总余额。
具体地,第五交易包括的第三期数为获取总余额的过程对应的起始期数,第四期数为获取总余额的过程对应的终止期数。
对于每个节点的用户,获取该用户从第三记录周期至第四记录周期对应的总余额,包括:
对于每个节点的用户,根据该用户在各目标记录周期的第一余额之和,得到该用户从该第三记录周期至该第四记录周期对应的总余额;该目标记录周期为从第三记录周期至第四记录周期之间的记录周期。其中,从第三记录周期至第四记录周期之间的记录周期包括第三记录周期和第四记录周期。
示例性地,若第三交易携带的期数为6、9,则说明需要获取从期数为6的记录周期至期数为9的记录周期对应的总余额。此时,期数6为第三期数,期数6的记录周期为第三记录周期,期数9为第四期数,期数9的记录周期为第四记录周期。
若相邻的记录周期的期数的差值的绝对值为1,则将按照步骤S406中的方法获取的用户在期数6的记录周期对应的第一余额、用户在期数7的记录周期对应的第一余额、用户在期数8的记录周期对应的第一余额和用户在期数9的记录周期对应的第一余额相加,得到该用户从期数6的记录周期至期数9的记录周期对应的总余额。
可以理解的是,此处的总余额也不是用户的账户的实际余额。实际余额的获取方法参照图2所示的实施例中的阐述。
节点获取用户的总余额的过程可称为快照操作,快照操作得到的快照数据的存储方式可为Key-Value的形式。其中,Key值可包括:用于获取总余额的各记录周期的期数、各用户的标识;Value值可包括:各用户的总余额。
上述的第五交易为终端发送的一次用于获取总余额的交易,可选地,终端每隔预设间隔向节点发送一次用于获取总余额的交易,每次用于获取总余额的交易中携带的期数不相同。即第n次发送的用于获取总余额的交易携带的终止期数加上预设值为第n+1次发送的用于获取总余额的交易携带的起始期数。示例性地,若即第n次发送的用于获取总余额的交易携带的期数为1、5,则第n+1次发送的用于获取总余额的交易携带的期数可为6、9,则第n+2次发送的用于获取总余额的交易携带的期数可为10、12。
其中,本实施例中的预设值即相邻两个期数的差值的绝对值。若每间隔一个月获取一次相应月各用户的总余额,即将相应月包括的已经结束的各记录周期对应的第一余额求和,得到相应月各用户的总余额。
进一步地,步骤S405中终端在向节点发送第一交易后,节点还可以向终端发送上述的第一记录周期内记录的转账交易的交易信息,和/或,上述的各用户在第一记录周期的第一余额。
若节点向终端发送的是上述的第一记录周期内记录的转账交易的交易信息,则终端在从节点获取第一记录周期内记录的转账交易的交易信息之后,还包括:对于每个节点的用户,根据第一期数确定用户在第一记录周期的目标交易信息,并根据目标交易信息确定用户在第一记录周期的第一余额。
其中,终端获取“确定用户在第一记录周期的第一余额”的方法可以与节点“确定用户在第一记录周期的第一余额”的方法相同,此处不再赘述。
进一步地,若该第三记录周期至该第四记录周期之间具有M个记录周期,则在上述的向节点发送第五交易之前,还包括:
对于每个节点的用户,若该用户的M个记录周期的前N个记录周期对应的总余额小于或等于预设阈值,则向节点发送第六交易,第六交易用于指示节点取消该用户的账户的资产转出功能;1≤N≤M,M≥1,M和N为整数;
其中,前N个记录周期对应的总余额为该用户从前N个记录周期中的第一个记录周期至前N个记录周期中的第N个记录周期对应的总余额;预设阈值比如可为-10000。
可以理解的是,前N个记录周期中的第一个记录周期是第三记录周期,前N个记录周期中的第N个记录周期的期数小于或等于第四记录周期的期数。
其中,前N个记录周期对应的总余额的获取方法,参见步骤S412中节点获取所述用户从第三记录周期至第四记录周期对应的总余额的方法。
示例性地,终端向节点发送了第七交易,第七交易包括的起始期数为1,终止期数为5,则节点根据用户在期数1至期数5各自对应的记录周期所对应的第一余额之后,获取到了从期数1对应的记录周期至期数5对应的记录周期所对应的总余额,在与发送第七交易的时刻1的间隔为预设间隔的时刻2发送第五交易,若第5交易包括起始期数为6,终止期数为9,则终端在时刻1与时刻之间,对于每个用户,终端先判断用户在期数6对应的记录周期对应的第一余额是否小于预设阈值,若是,则终端向节点发送第六交易(属于终端发送的一次用于取消账户功能的交易),第六交易用于指示节点取消该用户的账户的资产转出功能,若否,获取用户在期数6对应的记录周期对应的第一余额与期数7对应的记录周期对应的第一余额之和,称为第一总余额;终端判断第一总余额是否小于预设阈值,若是,则终端向节点发送用于取消账户功能的交易,若否,则获取用户在期数6对应的记录周期对应的第一余额、期数7对应的记录周期对应的第一余额与期数8对应的记录周期对应的第一余额之和,称为第二总余额,终端判断第二总余额是否小于预设阈值,若是,则终端向节点发送上述用于取消账户功能的交易,若否,则获取到用户在期数6对应的记录周期对应的第一余额、期数7对应的记录周期对应的第一余额、期数8对应的记录周期对应的第一余额与期数9对应的记录周期对应的第一余额之和,称为第三总余额,第三总余额;终端判断第三总余额是否小于预设阈值,若是,则终端向节点发送用于取消账户功能的交易。
因此,终端向节点发送用于清算的交易的周期不固定,比较灵活,那么终端从节点接收到用户在某一记录周期对应的第一余额的时间也就比较灵活,这样可以及时的发现用户的总余额是否低于预设阈值。
进一步地,若在发送第五交易之前,用户的账户的资产转出功能被取消,则在向节点发送该第五交易之后,还包括:节点恢复该用户的账户的资产转出功能。也就是说,若用户的账户的资产转出功能被取消,则在节点再次接收到用于获取总余额的交易后,恢复用户的账户的资产转出功能。
其中,限制用户的资产转出功能,可保证区块链参与方的利益。由于每次接收到用于获取总余额的交易后,会根据获取的总余额,进行一次链外的清算,因此,恢复用户的资产转出功能,可保证用户在链外的清算后正常的进行交易。
可选地,终端还可单独的发送第八交易至节点,该第八交易中包括记第五期数,节点在收到第八交易后,向终端发送第五期数对应的第五记录周期对应的第一余额。
本实施例中通过获取用户从第三记录周期至第四记录周期对应的总余额,减少了链外结算的次数。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图5为本申请实施例提供的基于区块链的数据处理装置的结构示意图一,如图5所示,本实施例的装置可以包括:记录模块51、接收模块52和确定模块53;
记录模块51,用于记录第一记录周期内的每笔转账交易的交易信息,所述交易信息包括:所述第一记录周期的第一期数、所述转账交易对应的转入用户标识和转出用户标识;
接收模块52,用于从终端获取第一交易,所述第一交易包括所述第一期数;
确定模块53,用于对于每个所述节点的用户,根据所述第一期数确定所述用户在所述第一记录周期的目标交易信息,并根据所述目标交易信息确定所述用户在所述第一记录周期的第一余额。
在一种实施方式中,所述交易信息还包括转入额和转出额;所述确定模块,具体用于:
确定包括所述第一期数且包括所述用户的标识的交易信息,为所述用户在所述第一记录周期的目标交易信息;
根据所述目标交易信息包括的转入额,确定所述用户对应的第一转入额,并根据所述目标交易信息包括的转出额,确定所述用户对应的第一转出额;
根据所述用户的第一转出额和所述第一转入额,获取所述用户在所述第一记录周期的第一余额。
本实施例的装置,可以用于执行上述方法实施例节点对应的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请实施例提供的的基于区块链的数据处理装置的结构示意图二,如图6所示,本实施例的装置在图5所示装置结构的基础上,进一步地,还可以包括:获取模块54和发送模块55。
所述接收模块52还用于,在所述从终端获取第一交易之前,从所述终端获取第二交易;
获取模块54,用于根据所述第二交易,获取当前的第二记录周期的第二期数;
发送模块55,用于向所述终端发送所述第二期数;其中,所述第二期数大于所述第一期数。
在一种可能的设计中,所述接收模块52还用于,从终端获取第三交易;
还包括:获取模块,用于根据所述第三交易和所述第一期数,得到第三期数和第三记录周期,所述第三期数为所述第三记录周期的期数,所述第一期数小于第三期数。
在一种可能的设计中,所述接收模块52还用于,从终端获取第四交易;
所述获取模块54,还用于根据所述第四交易和所述第三期数,得到第四期数和第四记录周期,所述第四期数为所述第四记录周期的期数,所述第三期数小于第四期数;
所述接收模块52还用于,从终端获取第五交易,所述第五交易包括所述第三期数和所述第四期数;
所述获取模块54,还用于对于每个所述节点的用户,获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额。
在一种可能的设计中,所述获取模块54,具体用于:
对于每个所述节点的用户,根据所述用户在各目标记录周期的第一余额之和,得到所述用户从所述第三记录周期至所述第四记录周期对应的总余额;所述目标记录周期为从所述第三记录周期至所述第四记录周期之间的记录周期。
在一种可能的设计中,所述发送模块55还用于,向所述终端发送所述用户在所述第一记录周期的第一余额。
本实施例的装置,可以用于执行上述方法实施例节点对应的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请实施例提供的基于区块链的数据处理装置的结构示意图二,如图7所示,本实施例的装置在图6所示装置结构的基础上,进一步地,还可以包括:取消模块57和恢复模块58。
所述接收模块52还用于,在所述从终端获取第五交易之前,从终端获取第六交易,所述第六交易包括目标用户的标识;所述目标用户为所述区块链的各节点的用户中的用户
取消模块57,用于根据所述第六交易,取消所述目标用户的资产转出功能。
在一种可能的设计中,所述恢复模块58,用于在所述从终端获取第五交易之后,恢复所述目标用户的资产转出功能。
本实施例的装置,可以用于执行上述方法实施例节点对应的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请实施例提供的基于区块链的数据处理装置的结构示意图一,如图8所示,本实施例的装置可以包括:发送模块61和接收模块62;
发送模块61,用于向区块链中的节点发送第一交易,所述第一交易包括第一期数;
其中,所述第一期数为所述节点记录转账交易的交易信息的第一记录周期的期数,所述第一交易用于指示所述节点获取所述用户在所述第一记录周期的第一余额。
在一种可能的设计中,所述发送模块61,还用于在所述向区块链中的节点发送第一交易之前,向所述节点发送第二交易,所述第二交易用于所述节点获取当前的第二记录周期的第二期数;所述第二期数大于所述第一期数;
接收模块62,用于从所述节点接收所述第二期数。
在一种可能的设计中,所述发送模块61,还用于向所述节点发送第三交易;所述第三交易用于所述节点根据所述第一期数得到第三期数,所述第三期数为所述第三记录周期的期数,所述第一期数小于第三期数。
在一种可能的设计中,所述发送模块61,还用于向所述节点发送获取第四交易;所述第四交易用于所述节点根据所述第三期数得到第四期数,所述第四期数为第四记录周期的期数,所述第三期数小于第四期数;以及,
向所述节点发送第五交易,所述第五交易包括所述第三期数和所述第四期数,所述第五交易用于所述节点获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额。
接收模块62,用于从所述节点获取所述用户在所述第一记录周期的第一余额。
在一种可能的设计中,若该第三记录周期至该第四记录周期之间具有M个记录周期,则所述发送模块61,还用于在所述向所述节点发送第五交易之前,
若M个记录周期的前N个记录周期对应的总余额小于或等于预设阈值,则向所述节点发送第六交易,所述第六交易用于指示所述节点取消所述用户的账户的资产转出功能;1≤N≤M,M≥1,M和N为整数;
其中,前N个记录周期对应的总余额为所述用户从前N个记录周期中的第一个记录周期至前N个记录周期中的第N个记录周期对应的总余额。
本实施例的装置,可以用于执行上述方法实施例中终端的技术方案,其实现原理和技术效果类似,此处不再赘述
图9为本申请实施例提供的区块链节点的结构示意图,参见图9,本实施例的电子设备,包括处理器21、存储器22和通信总线23,其中,通信总线23用于各元器件之间的连接;
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行上述方法实施例中节点对应的方法。
图10为本申请实施例提供的终端的结构示意图,参见图10,本实施例的电子设备,包括处理器31、存储器32和通信总线33,其中,通信总线33用于各元器件之间的连接;
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行上述方法实施例中终端的方法。。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述各实施例对本申请实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例方案的范围。

Claims (17)

1.一种基于区块链的数据处理方法,应用于组成所述区块链的任一个节点,其特征在于,包括:
记录第一记录周期内的每笔转账交易的交易信息,所述交易信息包括:所述第一记录周期的第一期数、所述转账交易对应的转入用户标识和转出用户标识;
从终端获取第一交易,所述第一交易包括所述第一期数;
对于每个所述节点的用户,根据所述第一期数确定所述用户在所述第一记录周期的目标交易信息,并根据所述目标交易信息确定所述用户在所述第一记录周期的第一余额。
2.根据权利要求1所述的方法,其特征在于,在所述从终端获取第一交易之前,还包括:
从所述终端获取第二交易;
根据所述第二交易,获取当前的第二记录周期的第二期数;
向所述终端发送所述第二期数;其中,所述第二期数大于所述第一期数。
3.根据权利要求1所述的方法,其特征在于,还包括:
从终端获取第三交易;
根据所述第三交易和所述第一期数,得到第三期数和第三记录周期,所述第三期数为所述第三记录周期的期数,所述第一期数小于第三期数。
4.根据权利要求3所述的方法,其特征在于,还包括:
从终端获取第四交易;
根据所述第四交易和所述第三期数,得到第四期数和第四记录周期,所述第四期数为所述第四记录周期的期数,所述第三期数小于第四期数;
从终端获取第五交易,所述第五交易包括所述第三期数和所述第四期数;
对于每个所述节点的用户,获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额。
5.根据权利要求4所述的方法,其特征在于,对于所述节点的用户,获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额,包括:
对于每个所述节点的用户,根据所述用户在各目标记录周期的第一余额之和,得到所述用户从所述第三记录周期至所述第四记录周期对应的总余额;所述目标记录周期为从所述第三记录周期至所述第四记录周期之间的记录周期。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述交易信息还包括转入额和转出额;所述对于每个节点的用户,根据所述第一期数确定所述用户在所述第一记录周期的目标交易信息,并根据所述目标交易信息确定所述用户在所述第一记录周期的第一余额,包括:
确定包括所述第一期数且包括所述用户的标识的交易信息,为所述用户在所述第一记录周期的目标交易信息;
根据所述目标交易信息包括的转入额,确定所述用户对应的第一转入额,并根据所述目标交易信息包括的转出额,确定所述用户对应的第一转出额;
根据所述用户的第一转出额和所述第一转入额,获取所述用户在所述第一记录周期的第一余额。
7.根据权利要求1~5任一项所述的方法,其特征在于,还包括:
向所述终端发送所述用户在所述第一记录周期的第一余额。
8.根据权利要求4或5所述的方法,其特征在于,在所述从终端获取第五交易之前,还包括:
从终端获取第六交易,所述第六交易包括目标用户的标识;所述目标用户为所述区块链的各节点的用户中的用户;
根据所述第六交易,取消所述目标用户的资产转出功能。
9.根据权利要求8所述的方法,其特征在于,在所述从终端获取第五交易之后,还包括:
恢复所述目标用户的资产转出功能。
10.一种区块链中的数据处理方法,应用于终端,其特征在于,包括:
向区块链中的节点发送第一交易,所述第一交易包括第一期数;
其中,所述第一期数为所述节点记录转账交易的交易信息的第一记录周期的期数,所述第一交易用于指示所述节点获取所述用户在所述第一记录周期的第一余额。
11.根据权利要求10所述的方法,其特征在于,在所述向区块链中的节点发送第一交易之前,还包括:
向所述节点发送第二交易,所述第二交易用于所述节点获取当前的第二记录周期的第二期数;所述第二期数大于所述第一期数;
从所述节点获取所述第二期数。
12.根据权利要求10所述的方法,其特征在于,还包括:
向所述节点发送第三交易;所述第三交易用于所述节点根据所述第一期数得到第三期数,所述第三期数为所述第三记录周期的期数,所述第一期数小于第三期数。
13.根据权利要求12所述的方法,其特征在于,还包括:
向所述节点发送获取第四交易;所述第四交易用于所述节点根据所述第三期数得到第四期数,所述第四期数为第四记录周期的期数,所述第三期数小于第四期数,所述第三期数小于第四期数;
向所述节点发送第五交易,所述第五交易包括所述第三期数和所述第四期数,所述第五交易用于所述节点获取所述用户从所述第三记录周期至所述第四记录周期对应的总余额。
14.根据权利要求10~13任一项所述的方法,其特征在于,还包括:
从所述节点获取所述用户在所述第一记录周期的第一余额。
15.根据权利要求13所述的方法,其特征在于,若该第三记录周期至该第四记录周期之间具有M个记录周期,则在所述向所述节点发送第五交易之前,还包括:
若M个记录周期的前N个记录周期对应的总余额小于或等于预设阈值,则向所述节点发送第六交易,所述第六交易用于指示所述节点取消所述用户的账户的资产转出功能;1≤N≤M,M和N均为整数;
其中,前N个记录周期对应的总余额为所述用户从前N个记录周期中的第一个记录周期至前N个记录周期中的第N个记录周期对应的总余额。
16.一种电子设备,其特征在于,包括:处理器,存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~9任一所述的方法或者权利要求10~15任一所述的方法。
17.一种可读存储介质,其上存储有计算机程序或指令,其特征在于,当所述程序或指令在计算机上运行时,权利要求1~9任一所述的方法或者权利要求10~15任一所述的方法被执行。
CN201810956567.4A 2018-08-21 2018-08-21 基于区块链的数据处理方法、装置和设备 Pending CN109242455A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810956567.4A CN109242455A (zh) 2018-08-21 2018-08-21 基于区块链的数据处理方法、装置和设备
PCT/CN2019/100979 WO2020038291A1 (zh) 2018-08-21 2019-08-16 基于区块链的数据处理方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810956567.4A CN109242455A (zh) 2018-08-21 2018-08-21 基于区块链的数据处理方法、装置和设备

Publications (1)

Publication Number Publication Date
CN109242455A true CN109242455A (zh) 2019-01-18

Family

ID=65071054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810956567.4A Pending CN109242455A (zh) 2018-08-21 2018-08-21 基于区块链的数据处理方法、装置和设备

Country Status (2)

Country Link
CN (1) CN109242455A (zh)
WO (1) WO2020038291A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020038291A1 (zh) * 2018-08-21 2020-02-27 京东数字科技控股有限公司 基于区块链的数据处理方法、装置和设备
CN111353888A (zh) * 2020-03-03 2020-06-30 杭州时戳信息科技有限公司 交易撮合系统及其链上撮合方法、区块链节点

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106952158A (zh) * 2017-03-17 2017-07-14 证通股份有限公司 解决热点账户问题的记账方法及设备
US20170236104A1 (en) * 2016-02-12 2017-08-17 D+H Usa Corporation Peer-to-Peer Financial Transactions Using A Private Distributed Ledger
CN107563880A (zh) * 2017-07-17 2018-01-09 招商银行股份有限公司 清算方法、系统及计算机可读存储介质
WO2018145024A1 (en) * 2017-02-03 2018-08-09 Terry Aronson System and method for asset backed crypto-currency
US10402796B2 (en) * 2016-08-29 2019-09-03 Bank Of America Corporation Application life-cycle transition record recreation system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6452156B2 (ja) * 2015-09-03 2019-01-16 日本電信電話株式会社 許諾情報管理システム、利用者端末、権利者端末、許諾情報管理方法、および、許諾情報管理プログラム
CN108053211B (zh) * 2017-12-27 2021-04-06 北京欧链科技有限公司 基于区块链的交易处理方法及装置
CN108229943B (zh) * 2018-01-19 2020-05-05 阿里巴巴集团控股有限公司 区块链余额的调整方法及装置、电子设备
CN109242455A (zh) * 2018-08-21 2019-01-18 北京京东金融科技控股有限公司 基于区块链的数据处理方法、装置和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170236104A1 (en) * 2016-02-12 2017-08-17 D+H Usa Corporation Peer-to-Peer Financial Transactions Using A Private Distributed Ledger
US10402796B2 (en) * 2016-08-29 2019-09-03 Bank Of America Corporation Application life-cycle transition record recreation system
WO2018145024A1 (en) * 2017-02-03 2018-08-09 Terry Aronson System and method for asset backed crypto-currency
CN106952158A (zh) * 2017-03-17 2017-07-14 证通股份有限公司 解决热点账户问题的记账方法及设备
CN107563880A (zh) * 2017-07-17 2018-01-09 招商银行股份有限公司 清算方法、系统及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020038291A1 (zh) * 2018-08-21 2020-02-27 京东数字科技控股有限公司 基于区块链的数据处理方法、装置和设备
CN111353888A (zh) * 2020-03-03 2020-06-30 杭州时戳信息科技有限公司 交易撮合系统及其链上撮合方法、区块链节点

Also Published As

Publication number Publication date
WO2020038291A1 (zh) 2020-02-27

Similar Documents

Publication Publication Date Title
CN108803349B (zh) 非线性多智能体系统的最优一致性控制方法及系统
CN110472745B (zh) 一种联邦学习中的信息传输方法及装置
CN103312549B (zh) 一种事务管理方法及装置和系统
CN106327317A (zh) 一种用于计算机系统的数据核对方法及设备
CN109242455A (zh) 基于区块链的数据处理方法、装置和设备
Ibe et al. Multi-server threshold queues with hysteresis
CN103559319B (zh) 分布式集群文件系统的缓存同步方法和设备
CN109218352A (zh) 一种区块链网络中交易信息的共识确认方法及装置
CN109146638A (zh) 异常金融交易群体的识别方法及装置
CN108712491A (zh) 区块链节点、交易信息处理方法、终端设备和介质
CN110390524A (zh) 区块链中作业数据处理方法、装置、电子设备及存储介质
CN108287763A (zh) 参数交换方法、工作节点以及参数服务器系统
CN114186694A (zh) 一种高效安全,低通信的纵向联邦学习方法
CN108259195A (zh) 异常事件的影响范围的确定方法及系统
CN112491900A (zh) 异常节点识别方法、装置、设备及介质
CN110457321A (zh) 基于区块链的数据存储方法及相关产品
CN109829821A (zh) 一种数字资产地址转移异常的处理方法、装置及系统
CN112465613A (zh) 贷款利息参数化计提方法及装置
CN107292602A (zh) 一种避免利息损失的转账方法及系统
CN109245941A (zh) 一种服务补偿方法及装置
CN109801153A (zh) 基于云监控的联合贷款方法及相关装置
CN107154900A (zh) 一种报文处理方法与装置
CN106815638A (zh) 输入权重拓展的神经元信息处理方法和系统
CN112084348A (zh) 一种关联度确定方法及装置
CN109584057A (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
CB02 Change of applicant information

Address after: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing, 100195

Applicant after: Jingdong Digital Technology Holding Co., Ltd.

Address before: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing, 100195

Applicant before: Beijing Jingdong Financial Technology Holding Co., Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190118

RJ01 Rejection of invention patent application after publication