管理区块链网络上的交易的制作方法

文档序号:24305860发布日期:2021-03-17 00:58阅读:67来源:国知局
管理区块链网络上的交易的制作方法

本文涉及管理区块链网络上的交易。



背景技术:

分布式账本系统(dls),也可以被称为共识网络和/或区块链网络,使得参与实体能够安全地且不可篡改地存储数据。在不引用任何特定用例的情况下,dls通常被称为区块链网络。区块链网络的类型示例可以包括公有区块链网络、私有区块链网络和联盟区块链网络。联盟区块链网络针对选定的实体组群提供,该实体组群控制共识过程,并且所述联盟区块链网络包括访问控制层。

在点对点分布式网络中,用户彼此进行交易。交易通常存储在网络的分布式账本中。在某些情况下,交易数量可以累积到很大,以至于影响整个网络性能,并且其所需的存储空间日益增长。

因此,期望在区块链网络上有效且安全地管理用户之间的交易。



技术实现要素:

本文描述了用于管理区块链网络上的交易的技术。这些技术通常涉及通过区块链网络上的调度者节点来管理区块链网络上的用户之间的交易。调度者节点可以对原始未决交易执行合并分析,以生成较少数量的经修改未决交易,并将与特定用户关联的经修改未决交易提交给结算账户管理(sam)服务器以进行结算(或执行)。该技术可以帮助减少实际结算交易的数量,从而使区块链网络可以处理大量交易,同时使用区块链技术为每个用户提供信任并为每个交易提供完整性。

本文还提供了耦接至一个或多个处理器并且其上存储有指令的一个或多个非暂时性计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。

本文还提供了实现本文提供的方法的系统。该系统包括一个或多个处理器,以及耦接到一个或多个处理器并在其上存储有指令的计算机可读存储介质,该指令在由一个或多个处理器执行时,使一个或多个处理器执行根据本文提供的方法实施例所述的操作。

应当理解的是,根据本文所述的方法可以包括本文描述的各个方面和特征的任何组合。即,根据本文所述的方法不限于本文具体描述的各个方面和特征的组合,而是还包括所提供的各个方面和特征的任何组合。

本文的一个或多个实施例的细节将在说明书附图和以下描述中阐述。本文的其它特征和优点通过说明书和附图以及权利要求书将显现。

附图说明

图1是示出可用于执行本文的实施例的环境的示例的示图。

图2是示出根据本文的实施例的架构的示例的示图。

图3是示出根据本文的实施例的交易系统的示例的示图。

图4示出了根据本文的实施例的合并交易制定的图。

图5是示出可以根据本文的实施例执行的处理的示例的交易流。

图6是示出可以根据本文的实施例执行的处理的流程图。

图7描绘了根据本文的实施例的装置的模块的示例。

在各个附图中相同的附图标记和名称表示相同的元件。

具体实施方式

本文描述了用于管理区块链网络中的交易的技术。这些技术通常涉及通过区块链网络上的调度者节点管理区块链网络上的用户之间的交易。调度者节点可以对原始未决交易执行合并分析,以生成较少数量的经修改未决交易,并将与特定用户关联的经修改未决交易提交给结算账户管理(sam)服务器以进行结算(或执行)。该技术可以帮助减少实际结算交易的数量,从而使区块链网络可以处理大量交易,同时使用区块链技术为每个用户提供信任并为每个交易提供完整性。

本文中描述的技术产生了若干技术效果。在一些实施例中,这些技术可以应用于区块链支付网络或分布式支付网络,其中可以减少实际结算交易的数量,并且通过区块链技术可以保留和背书借贷关系。在一些实施例中,这些技术还可以应用于跨境汇款、机构间汇款、个人数字钱包以及与数字资产管理有关的增值服务。

在一些实施例中,这些技术可以减少或最小化网络中的总交易流量,同时实现所有用户的共识以保持正确的余额并以合并的金额进行每个交易。在一些实施例中,这些技术可以减少或最小化实际结算交易的数量,同时保持原始未决交易的数量不变,这可以为其他支付网络或数字资产管理网络提供更好兼容性。在一些实施例中,调度者节点可以是区块链网络的非共识节点。调度者节点不将经修改未决交易提交给区块链网络,并且可以避免在区块链网络中对经修改未决交易执行共识处理,从而降低了操作成本,提高了区块链网络的效率。此外,由于经修改未决交易的数量小于原始未决交易的数量,因此减少了实际结算交易的数量,并且还减少了要存储在区块链网络中的结算条目的数量。这也可以避免增加区块链网络中的存储空间。

在一些实施例中,这些技术允许将原始未决交易和/或实际结算交易的结算条目存储在区块链网络上的区块链中。因此,区块链网络可以具有针对区块链网络中的用户(例如,参与者或账户)的整个交易图。在一些实施例中,与用户相关联的共识节点(例如,客户银行节点)可以存储区块链的完整副本。区块链网络包括调度者节点以对原始未决交易执行合并,而区块链网络可以实现用户的共识,以保持正确的余额并以合并的金额执行每个交易。区块链网络还可以通过使用存储的原始未决交易和实际结算交易的结算条目为用户提供验证服务。因此,这些技术可以确保分布式账本中的余额正确并提供可信且可证明的交易。

在一些实施例中,调度者节点与区块链网络同步,以从与用户相关联的客户端设备接收转账请求。因此,调度者节点可以对原始未决交易执行实时和动态的合并。调度者节点也可以与区块链网络同步,以接收来自特定用户的结算查询和/或结算请求。调度者节点可以通过向特定用户提供合并的结算信息来对结算查询作出响应,或者可以通过将sam结算请求发送到sam服务器以执行与该特定用户相关联的至少一个修改的交易来对结算请求作出响应。因此,区块链网络可以以去中心化的方式动态处理大量交易。

在一些实施例中,可以向与用户相关联的客户端设备提供调度应用编程接口(api)。客户端设备可以使用调度api向区块链网络的节点发送转账请求、转账查询、结算查询和/或结算请求。在一些实施例中,可以将区块链api提供给节点以用于读/写交易条目和/或读取区块。在一些实施例中,可以将结算整合api提供给sam服务器,以接收结算请求并提供响应。这些api可以帮助降低总交易成本。

为本文的实施例提供进一步的背景,如上所述,分布式账本系统(dls),也可以称为共识网络(例如,由点对点(peer-to-peer)节点组成)和区块链网络,使参与实体能够安全且不可篡改地进行交易并存储数据。尽管术语区块链通常与特定网络和/或用例相关联,但是在不参考任何特定用例的情况下,本文中使用区块链通常是指dls。

区块链是以交易不可篡改的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链包括一个或多个区块。链中的每个区块通过包含在链中紧邻其之前的前一区块的加密哈希值(cryptographichash)链接到该前一区块。每个区块还包括时间戳、自身的加密哈希值以及一个或多个交易。已经被区块链网络中的节点验证的交易经哈希处理并编入默克尔(merkle)树中。默克尔树是一种数据结构,其中树的叶子节点处的数据被哈希处理,并且在树的每个分支中的所有哈希值在分支的根部级联(concatenate)。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。通过确定声称是存储在树中的交易的哈希值是否与树的结构一致,可以快速验证该哈希值。

区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,而区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。如上所述,区块链网络可作为公有区块链网络、私有区块链网络或联盟区块链网络被提供。这里参考联盟区块链网络进一步详细描述了本文实施例。然而,可以预期,可以在任何适当类型的区块链网络中实现本文的实施例。

通常,联盟区块链网络在参与的实体间是私有的。在联盟区块链网络中,共识过程由可被称为共识节点的授权的节点集控制,一个或多个共识节点由相应的实体(例如金融机构、保险公司)操作。例如,十(10)个实体(例如金融机构、保险公司)构成的联盟可以操作联盟区块链网络,每个实体操作联盟区块链网络中的至少一个节点。

在一些示例中,在联盟区块链网络中,提供全局区块链作为跨所有节点复制的区块链。也就是说,所有的共识节点相对于全局区块链而言处于完全共识状态。为了达成共识(例如,同意向区块链添加一个区块),在联盟区块链网络内实施共识协议。例如,联盟区块链网络可以实现实用拜占庭容错(pbft)共识,这将在下面进一步详细描述。

图1是示出了可用于执行本文实施例的环境100的示例的示图。在一些示例中,环境100使能实体能够参与至联盟区块链网络102中。环境100包括计算设备106、108以及网络110。在一些示例中,网络120包括局域网(lan)、广域网(wan)、因特网或其组合,并且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链路访问网络120。在一些示例中,网络110使得与联盟区块链网络102通信,及在联盟区块链网络102之内通信成为可能。通常,网络110表示一个或多个通信网络。在一些情况下,计算系统106、108可以是云计算系统(未示出)的节点,或者每个计算系统106、108可以是单独的云计算系统,该云计算系统包括通过网络互连的、并且用作分布式处理系统的多个计算机。

在所描绘的示例中,计算系统106、108可以各自包括能够作为节点参与至联盟区块链网络102中的任何适当的计算设备。示例计算设备包括但不限于服务器、台式计算机、膝上型计算机、平板计算设备及智能电话。在一些示例中,计算设备106、108承载用于与联盟区块链网络102交互的一个或多个计算机实施的服务。例如,计算设备106可以承载第一实体(例如,用户a)的计算机实施的、例如交易管理系统的服务,例如第一实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。计算设备108可以承载第二实体(例如,用户b)的计算机实施的、例如交易管理系统的服务,例如,第二实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。在图1的示例中,联盟区块链网络102被表示为节点的点对点网络(peer-to-peernetwork),并且计算系统106、108分别提供参与联盟区块链网络102的第一实体和第二实体的节点。

图2是示出根据本文的实施例的架构200的示例的示图。示例性概念架构200包括分别对应于参与者a、参与者b和参与者c的参与者系统202、204、206。每个参与者(例如,用户、企业)参与到作为点对点网络提供的区块链网络212中,该点对点网络包括多个节点214,至少一些节点将信息不可篡改地记录在区块链216中。如本文进一步详述,尽管在区块链网络212中示意性地描绘了单个区块链216,但是在区块链网络212上提供并维护了区块链216的多个副本。

在所描绘的示例中,每个参与者系统202、204、206分别由参与者a、参与者b和参与者c提供或代表参与者a、参与者b和参与者c,并且在区块链网络中作为各自的节点214发挥作用。如这里所使用的,节点通常是指连接到区块链网络212且使相应的参与者能够参与到区块链网络中的个体系统(例如,计算机、服务器)。在图2的示例中,参与者对应于每个节点214。然而,可以预期,一个参与者可以操作区块链网络212内的多个节点214,和/或多个参与者可以共享一个节点214。在一些示例中,参与者系统202、204、206使用协议(例如,超文本传输协议安全(https))和/或使用远程过程调用(rpc)与区块链网络212通信或通过区块链网络212进行通信。

节点214可以在区块链网络212内具有不同的参与程度。例如,一些节点214可以参与共识处理(例如,作为将区块添加到区块链216的挖矿节点),而其他节点214不参与此共识处理。作为另一示例,一些节点214存储区块链216的完整的副本,而其他节点214仅存储区块链216的一部分的副本。例如,数据访问特权可以限制相应的参与者在其相应系统内存储的区块链数据。在图2的示例中,参与者系统202、204、206存储区块链216的相应的完整副本216'、216”和216”'。

区块链(例如,图2的区块链216)由一系列区块组成,每个区块存储数据。数据的示例包括代表两个或更多参与者之间的交易的交易数据。尽管本文通过非限制性示例使用了“交易”,但是可以预期,任何适当的数据可以存储在区块链中(例如,文档、图像、视频、音频)。交易的示例可以包括但不限于有价物(例如资产、产品、服务、货币)的交换。交易数据不可篡改地存储在区块链中。也就是说,交易数据不能改变。

在将交易数据存储在区块中之前,对交易数据进行哈希处理。哈希处理是将交易数据(作为字符串数据提供)转换为固定长度的哈希值(也以作为字符串数据提供)的处理。不可能对哈希值进行去哈希处理(un-hash)以获取交易数据。哈希处理可确保即使交易数据轻微改变也会导致完全不同的哈希值。此外,如上所述,哈希值具有固定长度。也就是说,无论交易数据的大小如何,哈希值的长度都是固定的。哈希处理包括通过哈希函数处理交易数据以生成哈希值。哈希函数的示例包括但不限于输出256位哈希值的安全哈希算法(sha)-256。

多个交易的交易数据被哈希处理并存储在区块中。例如,提供两个交易的哈希值,并对它们本身进行哈希处理以提供另一个哈希值。重复此过程,直到针对所有要存储在区块中的交易提供单个哈希值为止。该哈希值被称为merkle根哈希值,并存储在区块的头中。任何交易中的更改都会导致其哈希值发生变化,并最终导致merkle根哈希值发生变化。

通过共识协议将区块添加到区块链。区块链网络中的多个节点参与共识协议,并执行工作以将区块添加到区块链。此类节点称为共识节点。上面介绍的pbft用作共识协议的非限制示例。共识节点执行共识协议以向区块链添加交易,并且更新区块链网络的整体状态。

更详细而言,共识节点生成区块头,对区块中的所有交易进行哈希处理,并将哈希值成对地组合以生成进一步的哈希值,直到为区块中的所有交易提供单个哈希值(merkle根哈希值)为止。将此哈希值添加到区块头中。共识节点还确定区块链中最新区块(即添加到区块链中的最后一个区块)的哈希值。共识节点还向区块头添加随机数值(noncevalue)和时间戳。

通常,pbft提供容许拜占庭错误(例如,故障节点、恶意节点)的实用拜占庭状态机复制。这通过在pbft中假设将发生故障(例如,假设存在独立节点故障和/或由共识节点发送的被操纵的消息)来实现。在pbft中,以包括主共识节点和备共识节点的序列提供共识节点。主共识节点被周期性地改变。通过由区块链网络内的所有共识节点对区块链网络的全局状态达成一致,将交易添加到区块链中。在该处理中,消息在共识节点之间传输,并且每个共识节点证明消息是从指定的对等节点接收的,并验证在传输期间消息未被修改。

在pbft中,共识协议是在所有共识节点始于相同状态的情况下分多个阶段提供的。首先,客户端向主共识节点发送用以调用服务操作(例如,在区块链网络内执行交易)的请求。对接收到请求做出响应,主共识节点将请求组播到备共识节点。备共识节点执行该请求,并且每个节点都向客户端发送回复。客户端等待直到接收到阈值数量的应答。在一些示例中,客户端等待直到接收f+1个回复,其中f是区块链网络内可以容忍的故障共识节点的最大数量。最终结果是,足够数量的共识节点就将记录添加到区块链的顺序上达成一致,并且该记录或者被接受或者被拒绝。

在一些区块链网络中,用密码学来维护交易的隐私。例如,如果两个节点想要保持交易隐私,以使得区块链网络中的其他节点不能看出交易的细节,则这两个节点可以对交易数据进行加密处理。加密的示例包括但不局限于对称加密和非对称加密。对称加密是指使用单个密钥既进行加密(从明文生成密文)又进行解密(从密文生成明文)的加密过程。在对称加密中,同一密钥可用于多个节点,因此每个节点都可以对交易数据进行加密/解密。

非对称加密使用密钥对,每个密钥对包括私钥和公钥,私钥仅对于相应节点是已知的,而公钥对于区块链网络中的任何或所有其他节点是已知的。节点可以使用另一个节点的公钥来加密数据,并且该加密的数据可以使用其他节点的私钥被解密。例如,再次参考图2,参与者a可以使用参与者b的公钥来加密数据,并将加密数据发送给参与者b。参与者b可以使用其私钥来解密该加密数据(密文)并提取原始数据(明文)。使用节点的公钥加密的消息只能使用该节点的私钥解密。

非对称加密用于提供数字签名,这使得交易中的参与者能够确认交易中的其他参与者以及交易的有效性。例如,节点可以对消息进行数字签名,而另一个节点可以根据参与者a的该数字签名来确认该消息是由该节点发送的。数字签名也可以用于确保消息在传输过程中不被篡改。例如,再次参考图2,参与者a将向参与者b发送消息。参与者a生成该消息的哈希值,然后使用其私钥加密该哈希值以提供作为加密哈希值的数字签名。参与者a将该数字签名附加到该消息上,并将该具有数字签名的消息发送给参与者b。参与者b使用参与者a的公钥解密该数字签名,并提取哈希值。参与者b对该消息进行哈希处理并比较哈希值。如果哈希值相同,参与者b可以确认该消息确实来自参与者a,且未被篡改。

在一些示例中,交易包括对数字资产的转移、支付、管理或其他类型的操作。一个交易可以涉及一个或多个参与者(也称为实体或用户)。区块链可以存储包括多个参与者之间的多个交易的交易数据。在一些实施例中,交易的状态(未决、已授权或已提交/已执行)也可以记录在区块链网络的区块链中。由于交易数量可以累积到很大,以至于影响整个网络性能,并且其所需的存储空间日益增长。然而,从参与者的角度来看,他/她可能只关注一段时间内总共借记多少钱或贷记多少钱,而未必关注例如钱来自何处或去往何处。在某些情况下,将与特定参与者有关的交易合并可以解决参与者的关注。

图3是示出根据本文的实施例的系统300的示例的示图。示例性系统300通过动态交易合并来实现管理区块链网络中的交易,这可以最小化或以其他方式减少区块链网络中的总交易流量,同时获得参与者的共识以维持正确的余额并以合并结算来执行每个交易。

在一些实施例中,交易可以是多个用户(或参与者)之间的联合或多方交易,并且每个用户可以与客户端设备和/或区块链网络的网络节点(例如,执行客户端服务逻辑的客户端设备和执行智能合约的区块链网络节点)关联。作为示例,系统300包括具有以下项的区块链网络310:一个或多个区块链网络节点(例如,客户银行节点312、314、316、318和交易调度者节点320)、一个或多个客户端设备(例如,与用户a相关联的客户端设备302、与用户b相关联的客户端设备304、与用户c相关联的客户端设备306和与用户d相关联的客户端设备308)以及结算账户管理(sam)服务器。调度者节点320可以被配置为管理区块链网络310中的用户之间的交易,并且与sam服务器330通信以进行交易结算。

在一些实施例中,区块链网络310是联盟区块链网络,并将与用户相关联的交易数据存储在区块链中。客户银行节点312、314、316、318可以是能够存储区块链的完整副本的共识节点。客户端设备302、304、306或308可以包括例如被编程以执行本文所述方法的任何合适的计算机、模块、服务器或计算元件。在一些实施例中,客户端设备可以包括用户设备,例如个人计算机、智能电话、平板电脑或其他手持设备。

在一些实施例中,每个用户与相应的客户端设备和相应的客户银行节点相关联,并且通过区块链网络中的相应的客户端设备和相应的客户银行节点与一个或多个其他用户执行交易。例如,用户a、b、c或d可以使用客户端设备302、304、306或308通过调度应用编程接口(api)305与相应的客户银行节点312、314、316或318通信,而节点312、314、316或318可以通过区块链api315与区块链网络310或其他网络节点通信。

在一些实施例中,api可以包括一组子例程定义、通信协议以及用于构建软件的工具,并且可以定义由程序(模块、库)提供的功能,并允许从该功能的确切实施方式中进行抽象。软件组件通过api彼此交互。如下面进一步详细讨论的,调度api305可以实现包括转账请求、转账查询、结算请求或结算查询的用于转移交易数据的功能。用户a、b、c或d可以使用客户端设备302、304、306或308通过调度api305将交易数据发送到相应的客户银行节点312、314、316或318。类似地,区块链api315可以实现读取交易数据或写入交易数据的功能。客户银行节点312、314、316或318可以通过共识处理将交易数据写入区块链,或者可以通过区块链api315从区块链中读取交易数据或其他交易数据。

例如,用户a可能具有将一定数量的单位(例如5单位)转移到用户c的原始未决交易。这些单位可以是任何可转移的项目,包括货币、股票、债券、衍生品、国库券、抵押品或交易可转移的任何其他项目。仅出于说明目的,本文中使用美元($)作为单位的示例。用户a可以使用客户端设备302向客户银行节点312发送转账请求,例如,a->c:$5。该转账请求对应于原始未决交易,并且包括与原始未决交易相关联的金额或价值,例如$5,以及一方的标识,例如用户a,和原始未决交易的另一方的标识,例如用户b。在一些实施例中,在区块链网络310的所有共识节点之间执行了共识处理之后,客户银行节点312可以例如,通过区块链api315将与该转账请求相对应的原始未决交易写入区块链。类似地,用户a可以使用客户端设备302向客户银行节点312发送第二转账请求,例如a->d:$15,该客户银行节点可以进一步将与第二转账请求相对应的第二原始未决交易写入区块链。用户b可以使用客户端设备304向客户银行节点314发送与用户b相关联的第三转账请求和第四转账请求,例如,b->c:$20,以及b->d:$5。该客户银行节点可以将与第三转账请求和第四转账请求相对应的第三原始未决交易和第四原始未决交易写入同一区块链。原始未决交易可以在交易图中表示或示出,例如,如图4中的图(i)所示。

在一些实施例中,区块链网络310向sam服务器330发送结算请求以执行原始未决交易。sam服务器330可以是包括例如通过网络或本地互连的多个计算机的计算系统,并且用作处理系统。sam服务器330是中心化系统,其可以被配置为执行来自例如包括区块链网络310的区块链网络或各个银行的多个实体的多个交易。在执行交易之后,sam服务器330可以向相应实体发送确认消息。sam服务器330可以在区块链网络310的外部并且可以经由例如图1的网络110的网络与区块链网络310安全地通信。

在一个示例中,在从用户a接收到授权结算原始未决交易的客户端请求(例如,a->c:$5)之后,客户银行节点312可以向sam服务器330发送结算请求以执行原始未决交易。sam服务器330然后可以通过从用户a的银行账户向用户c的银行账户转账$5来执行原始未决交易。在sam服务器330发送回确认已经执行了原始未决交易的确认消息之后,客户银行节点302可以将结算条目与原始未决交易一起存储到区块链中。结算条目指示原始未决交易已执行。如果sam服务器330已经执行了图4中的图(i)中所示的所有四个原始未决交易,则可以生成四个结算条目并将其存储在区块链中。即,结算条目的数量与原始未决交易的数量相同。

在一些实施例中,区块链网络310包括交易调度者节点。调度者节点320被配置为管理区块链网络310中的交易并且例如通过结算整合api325与sam服务器330通信。结算整合api325允许sam服务器330实现以下功能:接收从调度者节点320发送的结算请求,并将例如确认消息的结算响应发送到调度者节点320。调度者节点320可以是包括一个或多个计算机的计算系统,例如,图1的计算设备106或108。调度者节点320可以与其他客户银行节点312、314、316、318不同。例如,调度者节点320可以是非共识节点,并且不会自动对存储交易数据的区块链的完整副本进行存储。在一些实施例中,与共识节点不同,区块链网络的非共识节点是不参与用于与区块链网络的其他网络节点执行共识处理的共识协议的网络节点。在一些实施例中,非共识节点不需要存储区块链网络的区块链的完整副本。

在一些实施例中,调度者节点320被配置为与区块链网络310同步,例如与区块链api315同步,以从与相应用户相关联的相应客户端设备获得多个转账请求中的每一个。例如,在客户银行节点312通过区块链api315向区块链网络310提交来自与用户a相关联的客户端设备302的转账请求(例如a->c:$5)之后,调度者节点320可以从区块链网络310或区块链api315获得转账请求。在一些实施例中,调度者节点320可以累积来自不同用户的转账请求,并将它们存储为与不同用户相关联的原始未决交易。因此,存储在调度者节点320中的原始未决交易可以与存储在区块链网络310上的区块链中的原始未决交易相同。

调度者节点320被配置为对多个原始未决交易执行合并分析以生成多个经修改未决交易,并且经修改未决交易的数量小于原始未决交易的数量。因此,调度者节点320可以执行合并分析以减少未决交易的数量,同时保持多个原始未决交易与多个经修改未决交易之间的等效性。由于调度者节点320可以将经修改未决交易发送到sam服务器330以供执行,因此可以减少要由sam服务器330执行的交易的数量。调度者节点320将指示交易执行的结算条目发送到区块链网络310,以与原始未决交易一起存储在区块链中。因此,在执行的交易数量减少的情况下,区块链网络310可以在区块链中存储更少数量的结算条目。

在一些情况下,调度者节点320可以对与在区块链网络310中进行交易的用户的子组相关联的原始未决交易执行合并分析。例如,用户的子组可以与一个或多个特定的客户银行节点相关联。在一些情况下,调度者节点320可以对在一段时间(例如一天、一周或一个月)内发生的原始未决交易执行合并分析。在一些情况下,当接收到一个或多个新的转账请求时,调度者节点320可以动态地对原始未决交易执行合并分析。在一些情况下,调度者节点320可以响应于接收到来自用户的查询而对原始未决交易执行合并分析,该查询用于请求用户拥有(或具有)的合并借款(debts)(或贷款(credits))的信息。

在一些实施例中,调度者节点320通过使用借贷图(debit-creditgraph),利用优化算法或任何其他算法来执行合并分析,以减少借贷图中的边的总数,同时保持原始图和修改后的图的等效性。优化算法可以是用于求解最小成本流问题(mcfp)或其变体的算法。在一些实施例中,这样的算法可以被称为最小成本流算法。在优化算法的示例性处理中,首先,在有向交易图上呈现了多个原始未决交易。如图4中的图(i)所示,在有向交易图上示出了用户a、b、c、d之间的交易,包括四个转账:a->c:$5,a->d:$10,b->c:$20以及b->d:$5。其次,通过使用优化算法修改有向交易图来确定多个经修改未决交易,然后将其表示在经修改交易图上。如图4中的图(ii)所示,经修改未决交易仅包括两个转账:a->d:$15,b->c:$25,其与图4中的图(i)所示的四个转账等效,因为a拥有的合并借款等于d的合并贷款,即$15,并且b的合并借款等于c的合并贷款,即$25。

优化算法的处理可以在这里详细描述。首先,可以使用交易的借款来对定向交易图上的转账加权。例如,优化函数可以表示为:

v={v1,v2,...,vn}其中,vi表示用户i(参与者或者账户);

e={<vi,vj>|vi,vjinv},其中e代表v之间的转账或交易;

w={wij>0|<vi,vj>ine},其中wij表示交易<vi,vj>的权重(或借款金额);

g=<v,e,w>,其中g是v、e、w的函数,以及

度量(g)=|e|=图中边的数量,用于度量转账次数。调度者节点320可以通过最小化度量(g)来执行合并分析。例如,图4中的图(i)的度量(g)是4。合并后,图4中的图(ii)的度量(g)变为2。

第二,根据以下表达式计算多个用户中每个用户的相应合并借款:

debt(vi)=∑xwix-∑ywyi。

因此,可以分别计算出图4中的图(i)所示的四个交易的用户a、b、c、d的合并借款:

debt(a)=5+10=15

debt(b)=20+5=25

debt(c)=-5-20=25

debt(a)=-10-5=-15

第三,可以将多个用户分为两组:借方(debtors)和贷方(creditors):

debtors={a:15,b:25},

creditors={c:-25,d:-15}

然后,可以按借款的金额对两组进行排序:

debtors={b:25,a:15},

creditors={c:-25,d:-15}。

第四,这两组用户可以基于各自的合并借款进行匹配。例如,可以将具有相同借款和贷款的金额的借方和贷方作为经修改未决交易匹配在一起,例如b->c:$25。优化算法可以继续匹配,直到在两组之间找不到更多匹配为止。可以收集匹配的结果,以成为经修改未决交易,例如b->c:$25和a->d:$15。如上所述,可以在经修改交易图中呈现经修改未决交易,例如,如图4中的图(ii)所示。

调度者节点320被配置为利用(或使用)经修改未决交易来存储和维护原始未决交易。在一些情况下,调度者节点320是非共识节点,并且被配置为不进行以下操作:通过区块链api315向区块链网络310提供经修改未决交易以更新存储包括原始未决交易的交易数据的区块链。也就是说,区块链中的交易数据不会使用经修改未决交易进行更新,并且各个共识节点(例如,客户银行节点312、314、316、318)之间没有共识处理。

调度者节点320可以动态地更新经修改未决交易。调度者节点320可以接收与新的原始未决交易相对应的新的转账请求。在一些情况下,调度者节点320不存储生成的经修改未决交易,而是存储原始未决交易和已执行交易的结算条目。调度者节点320可以对存储的原始未决交易和结算条目以及新的原始未决交易执行新的合并分析,以生成新的经修改未决交易。在一些情况下,调度者节点320可以用新的原始未决交易来改变一个或多个经修改未决交易,以更新经修改未决交易。在某些情况下,调度者节点320可以对存储的经修改未决交易和新的原始未决交易执行新的合并分析,以生成新的经修改未决交易。

如上所述,调度者节点320可以将经修改未决交易发送到sam服务器以供执行。当已经执行了经修改未决交易之一时,例如,执行了a->d:$15,调度者节点320可以通过移除已执行的经修改未决交易来更新经修改未决交易。如图4中的图(iii)所示,从交易图中移除了转账a->d:$15,而仅呈现剩余的经修改未决交易,例如,b->c:$25。因此,调度者节点320可以将指示已执行的经修改未决交易的结算条目与原始未决交易和其他未执行的经修改未决交易一起存储。调度者节点320还可以向区块链网络310发送结算条目,该区块链网络310可以将结算条目与原始未决交易一起存储在区块链中。

当所有经修改未决交易均已执行时,所有转账均被从交易图中移除,如图4中的图(iv)所示。因此,调度者节点320可以将指示已执行交易的相应的结算条目与原始未决交易一起存储。调度器节点320可以将相应的结算条目发送到区块链网络310,以与原始未决交易一起存储。由于经修改未决交易的数量小于原始未决交易的数量,因此减少了sam服务器330执行的交易,因此,与存储针对执行原始未决交易的结算条目相比,区块链网络310可以在区块链中存储较少数量的结算条目。

在一个示例中,如上所述,对于图4中的图(i)中呈现的4个原始未决交易,当4个原始未决交易被执行时,将4个结算条目存储在区块链中,并且区块链中总共将有8个条目。相比之下,如果将4个原始未决交易合并以生成2个经修改未决交易,则在该2个经修改未决交易被执行时,只有2个结算条目将存储在区块链中,并且区块链中总共有6个条目,即小于区块链中针对执行原始未决交易的8个条目。

区块链网络310可以向用户提供验证服务。例如,用户a可以向客户银行节点312发送查询以检查用户a的结算信息,例如,是否已经偿还了与用户a相关联的所有借款。区块链网络310,例如客户银行节点312,可以通过分析存储在区块链中的原始未决交易和已执行交易的结算条目来验证结算信息。在一些情况下,区块链网络310可以通过分析原始未决交易和结算条目来生成借贷交易图。区块链网络310可以通过确定是否存在与用户a相关联并且呈现在交易图中的任何剩余转账来确定与用户a相关联的结算信息。例如,图(ii)示出了用户a的合并借款为$15,而图(iii)或图(iv)显示用户a在执行了与用户a相关联的经修改未决交易后没有借款。

图5是示出可以根据本文的实施例执行的处理500的示例的交易流。处理500可以由图3的系统300执行。如图4中的图(i)所示,假设存在四个原始未决交易,即a->c:$5,a->d:$10,b->c:$20以及b->d:$5。仅出于说明目的,从用户a的角度执行处理500。

首先,用户a使用关联的客户端设备302向关联的客户银行节点312发送转账请求,a->c:$5。客户银行节点312通过区块链api315将与转账请求501相对应的请求条目503写入区块链网络310上的区块链。调度者节点320与区块链网络310同步,并从区块链api315获得请求条目503。转账请求501和请求条目503都对应于原始未决交易,即a->c:$5。类似地,可以接收其他转账请求,a->d:$10,b->c:$20以及b->d:$5,并将其写入区块链,并且可以同步调度者节点320以获得其他转账请求。

第二,用户a使用客户端设备302向客户银行节点312发送结算查询505。用户a与一个或多个原始未决交易相关联,例如,a->c:$5和a->d:$10。结算查询可以请求与用户a相关联的结算信息,例如,用户a欠区块链网络多少借款。结算查询的一个示例可以表示为{a->network:$?}。调度者节点320可以从区块链网络310获得结算查询505。例如,客户银行节点312可以向区块链api315发送结算查询505,该区块链api315将结算查询505转发至调度者节点320,或者调度者节点320被同步以接收结算查询505并对结算查询505作出响应。在一些情况下,客户端设备302通过调度api305将结算查询505直接发送到调度者节点320。

第三,调度者节点320通过借款确定处理504确定与用户a相关联的合并结算。调度者节点320维护实时交易数据,该实时交易数据包括与包括用户a的用户相关联的所有原始未决交易,以及针对已执行交易的结算条目。在一些情况下,响应于接收到结算查询505,调度者节点320可以对原始未决交易和结算条目执行合并分析以生成经修改未决交易,例如,b->c:$25以及a->d:$15。调度者节点320然后可以从与用户a相关联的至少一个经修改未决交易(例如,a->d:$15)中获得与用户a相关联的合并结算。在一些情况下,实时交易数据包括实时更新的经修改未决交易。调度者节点320可以从实时更新的经修改未决交易中识别与用户a相关联的至少一个经修改未决交易,并确定用户a的合并结算。在一些情况下,调度者节点320可以从存储的原始未决交易中识别与用户a相关联的至少一个原始未决交易和/或至少一个结算条目,并基于与用户a相关联的原始未决交易和结算条目来计算合并结算。

第四,调度者节点320向与用户a相关联的客户端设备302发送查询响应507。查询响应507可以包括与用户a相关联的合并结算,例如$15。查询响应507可以包括优化的转账,其可以表示为:{a->network:$15}。也就是说,优化的转账可以仅显示a欠区块链网络$15,而没有公开与用户a相关联的经修改未决交易,例如,a->d:$15。在一些情况下,调度者节点320直接将查询响应507发送到客户端设备302。在一些情况下,调度者节点320将查询响应507发送到客户银行节点312或区块链网络310,它们将查询响应507提供给客户端设备302。

第五,与用户a相关联的客户端设备302例如通过客户银行节点312或区块链网络310将结算请求509发送给调度者节点320。结算请求509指示用户a授权执行对用户a的结算。结算请求509可以表示为优化的转账:{a->network:$15}。即,用户a授权向区块链网络310支付合并结算$15。

第六,响应于接收到结算请求509,调度者节点520向sam服务器330发送sam结算请求511。sam结算请求511包括发送至sam服务器330的、与用户a相关联的经修改未决交易,例如,a->d:$15,而没有与用户a相关联的原始未决交易,例如,a->c:$5和a->d:$10。sam结算请求511请求sam服务器330执行与用户a相关联的经修改未决交易,从而可以处理与用户a相关联的合并结算。

第七,sam服务器330通过将例如$15的合并结算从与用户a相关联的账户转移到与用户d相关联的账户来执行与用户a相关联的经修改未决交易。

第八,在执行之后,sam服务器330向调度者节点320发送结算确认513。结算确认513可以指示已经执行了与用户a相关联的经修改未决交易。

第九,响应于接收到结算确认513,调度者节点520可以通过区块链api315向区块链网络310发送结算条目515,例如,$15的a->d结算。如上所述,区块链网络310可以将结算条目515存储在区块链中,该区块链存储包括原始未决交易的交易数据。共识节点,例如客户银行节点312、314、316、318,可以通过共识处理利用结算条目515来更新区块链。

在一些情况下,响应于接收到结算确认513,调度者节点520可以例如直接地或通过客户银行节点312向与用户a相关联的客户端设备302发送结算通知517。结算通知517可以指示已经执行了与用户a关联的合并结算,或者已经支付了用户a欠区块链网络310中的其他用户的总借款。

在一些情况下,响应于接收到结算确认513,调度者节点520可以将结算条目与原始未决交易一起存储,通过移除已执行的经修改未决交易来更新所存储的经修改未决交易,或者通过移除与已执行的经修改未决交易相对应的转账来更新交易图,如图4中的图(ii)和图(iii)所示。

图6是示出可根据本文实施例执行的用于实现交易管理的处理600的示例的流程图。为方便起见,处理600将被描述为由位于一个或多个位置并根据本文被适当地编程的一个或多个计算机的系统执行。例如,诸如图3的系统300的、被适当地编程的分布式系统可以执行处理600。该系统可以包括区块链网络,例如图3的区块链网络310,以及结算服务器,例如图3的sam服务器330。区块链网络可以包括交易调度者节点,例如图3的调度者节点320,以及一个或多个共识节点,例如图3的客户银行节点312、314、316、318。

在602,在调度者节点处获得交易数据。交易数据包括要在区块链网络上执行的多个原始未决交易。所述多个原始未决交易可以涉及与用户相关联的多个账户。用户可以使用相应的客户端设备将与多个原始未决交易相对应的多个转账请求发送到区块链网络(例如,发送到区块链网络的共识节点或非共识节点)。例如,用户可以将转账请求发送到与该用户相关联的共识节点。然后,共识节点可以通过区块链api将转账请求写入区块链。

在一些实施例中,调度者节点可以是区块链网络中的非共识节点。例如,当区块链网络接收到转账请求时,调度者节点可以通过订阅从区块链网络接收转账请求,从而与区块链网络进行同步。调度者节点可以累积接收到的转账请求以获得交易数据。区块链网络可以存储相应的交易数据,包括与用户相关联的原始未决交易。

在604,在调度者节点处执行合并分析,以确定多个经修改未决交易。响应于接收到一个或多个转账请求,例如,图5的转账请求501,或来自用户的结算查询,例如,图5的结算查询505,调度者节点可以执行合并分析。调度者节点还可以定期(例如每天、每周或每月)执行合并分析。调度者节点可以基于与所有用户关联的原始未决交易或与用户的子组相关联的原始未决交易进行合并分析。

调度者节点可以使用优化算法(例如最小成本流算法)执行合并分析。优化算法被配置为减少或最小化交易的数量,以使得经修改未决交易的数量小于原始未决交易的数量,同时保持多个经修改未决交易与多个原始未决交易之间的等效性。

在一些情况下,调度者节点通过基于多个原始未决交易为多个账户中的每个账户计算各自的合并结算来执行合并分析。然后,基于多个账户各自的合并结算,将多个账户分为第一组(例如,借方组)和第二组(例如,贷方组)。可以基于各自的合并结算对第一组和第二组进行排序。调度者节点可以将第一组中的账户与第二组中的账户进行匹配,其中匹配的账户的借款合并结算等于贷款合并结算。然后,调度者节点可以基于匹配结果来生成多个经修改未决交易。

调度者节点可以在例如图4中的图(i)的有向交易图上呈现原始未决交易,并通过修改交易图来确定多个经修改未决交易。多个经修改未决交易可以呈现在经修改交易图中,例如,图4中的图(ii)。

在606,调度者节点利用多个经修改未决交易维护多个原始未决交易,而无需更新存储在区块链网络上的区块链中的交易数据。在一些实施例中,响应于调度者节点接收到新的转账请求,调度者节点可以用与新的转账请求相对应的新的原始未决交易来更新所存储的原始未决交易。调度者节点还可以通过基于新的原始未决交易执行新的合并分析来更新所存储的经修改未决交易。当调度者节点接收到指示特定经修改未决交易已经被执行的结算条目时,调度者节点可以从存储的经修改未决交易中移除特定的经修改未决交易和/或将结算条目与原始未决交易和/或其他经修改未决交易一起存储。

在608,调度者节点向sam服务器发送请求以执行与特定账户相关联的至少一个经修改未决交易。在一些情况下,调度者节点从与特定账户关联的客户端设备获得结算查询。结算查询请求与一个或多个原始未决交易关联的特定账户的结算信息。响应于从客户端设备获得结算查询,调度者节点可以识别与特定账户相关联的至少一个经修改未决交易,并向sam服务器发送结算请求。调度者节点还可以针对特定账户定期发送请求。

在610,调度者节点从sam服务器接收确认,该确认指示与该特定账户相关联的至少一个经修改未决交易已经被执行。sam服务器可以例如通过将经修改未决交易中指示的合并结算从特定账户转移到经修改未决交易中指示的另一方,来执行该经修改未决交易。执行之后,sam服务器可以向调度者节点发送确认消息。

在612,调度者节点向区块链网络发送结算条目,该结算条目指定与特定账户相关联的经修改未决交易已经被执行。区块链网络可以将结算条目与多个原始未决交易一起存储在区块链中。共识节点可以通过共识处理利用结算条目更新区块链。

在一些情况下,响应于从sam服务器接收到结算确认,调度者节点可以向与特定账户关联的客户端设备发送结算通知。结算通知可以指示与特定账户相关联的合并结算已经被执行,或者该特定账户欠区块链网络中其他用户的总借款已经被支付。

在一些情况下,响应于从sam服务器接收到结算确认,调度者节点可以将结算条目与原始未决交易一起存储,可以通过移除已执行的经修改未决交易来更新所存储的经修改未决交易,或者通过移除与已执行的经修改未决交易相对应的转账来更新交易图。

图7描绘了根据本文的实施例的装置700的模块的示例。装置700可以是被配置为管理区块链网络上的交易的区块链网络的节点的实施例的示例。装置700可以对应于上述实施例,装置700包括以下:获得模块702,用于获得包括待在区块链网络上的多个账户之间执行的多个原始未决交易的交易数据,该交易数据被存储在区块链网络上;执行模块704,用于对多个原始未决交易进行合并分析,以确定多个账户之间的多个经修改未决交易,多个经修改未决交易的数量小于多个原始未决交易的数量;维护模块706,维护多个原始未决交易与多个经修改未决交易,而无需利用多个经修改未决交易对存储在区块链网络上的交易数据进行更新。

在一个可选实施例中,装置700还可以包括传送模块708,用于向结算账户管理(sam)服务器传送请求以执行与多个账户中的特定账户相关联的多个经修改未决交易中的至少一个;接收模块710,用于从sam服务器接收确认,该确认指示与该特定账户相关联的多个经修改未决交易中的至少一个已经被执行;发送模块712,用于向区块链网络发送结算条目,该结算条目指定与特定账户相关联的多个经修改未决交易中的至少一个已经被执行。

在可选实施例中,结算条目与多个原始未决交易一起存储在区块链网络上。可以基于结算条目和多个原始未决交易在区块链网络上验证与特定账户关联的结算信息。

在可选实施例中,装置700还包括获得模块,用于从客户端设备获得查询,该查询请求针对与多个原始未决交易中的一个或多个相关联的特定账户的结算信息。装置700可以进一步包括发送模块,用于响应于获得查询,向与该特定账户相关联的客户端设备发送针对多个账户中的特定账户的合并结算,该合并结算与关联于该特定账户的多个经修改未决交易中的至少一个相关联。

在可选实施例中,装置700还包括获得模块,用于从与特定账户相关联的客户端设备获取客户端请求,该客户端请求授权针对该特定账户的结算,其中,该请求是响应于从客户端设备获得客户端请求向sam发送的。

在可选实施例中,装置700还包括更新模块,用于响应于从sam服务器接收到确认,基于结算条目更新多个经修改未决交易,该结算条目指定与特定账户相关联的多个经修改未决交易中的至少一个已经被执行。

在可选实施例中,装置700还包括发送模块,用于响应于从sam服务器接收到确认,向与特定账户相关联的客户端设备发送消息,该消息确认与特定账户相关联的结算已经被执行。

在可选实施例中,获得模块702通过与区块链网络同步以从与多个账户中的各个账户相关联的相应客户端设备接收多个原始未决交易中的每一个来获得交易数据。

在可选实施例中,执行模块704通过基于多个原始未决交易针对多个账户中的每个账户计算相应的合并结算,对多个原始未决交易进行合并分析,以确定多个经修改未决交易,基于多个账户各自的合并结算将多个账户分为第一组和第二组,根据第一账户和第二账户各自的合并结算将第一组中的第一账户与第二组中的第二账户进行匹配,以及基于匹配结果生成多个经修改未决交易。

在可选实施例中,执行模块704通过在交易图上呈现多个原始未决交易,并通过修改交易图确定多个经修改未决交易,对多个原始未决交易进行合并分析,以确定多个经修改未决交易,其中多个经修改未决交易被呈现在经修改交易图上。

在可选实施例中,响应于确定多个经修改未决交易中的特定一个已经被执行,维护模块706通过从经修改交易图中移除多个经修改未决交易中的所述特定一个来减少经修改交易图。

前述实施例中示出的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施例设备是计算机(该计算机可以是个人计算机)、膝上型计算机、蜂窝电话、相机电话、智能手机、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或这些设备的任意组合。

对于装置中每个模块的功能和作用的实施过程,可以参考前述方法中相应步骤的实施过程。为简单起见,这里省略了细节。

由于装置实施例基本上与方法实施例相对应,因此对于相关部件,可以参照方法实施例中的相关描述。前一描述的装置实施仅是示例。作为单独部件描述的模块可以是或可以不是物理上分离的,并且作为模块显示的部件可以是或可以不是物理模块,可以位于一个位置,或可以分布在多个网络模块上。可以基于实际需求来选择一些或所有模块,以实现本文方案的目标。本领域普通技术人员在无需付出创造性努力的情况下就能理解和实现本申请的实施例。

再次参见图7,它可以被解释为示出了基于区块链的交易管理实现装置的内部功能模块和结构。基于区块链的交易管理实现装置可以是被配置为管理区块链网络中的交易的区块链网络节点的示例。本质上,执行主体可以是电子设备,该电子设备包括:一个或多个处理器;被配置为存储一个或多个处理器的可执行指令的一个或多个计算机可读存储器。在一些实施例中,所述一个或多个计算机可读存储器耦接至所述一个或多个处理器且其上存储有编程指令,所述编程指令可以由所述一个或多个处理器执行以执行本文所描述的算法、方法、函数、处理、流程和程序。

本文中描述的技术产生了若干技术效果。在一些实施例中,调度者节点可以对原始未决交易执行合并分析,以生成较少数量的经修改未决交易,并将与特定用户关联的经修改未决交易提交给结算账户管理(sam)服务器以进行结算(或执行)。该技术可以帮助减少实际结算交易的数量,从而使区块链网络可以处理大量交易,同时使用区块链技术为每个用户提供信任并为每个交易提供完整性。

在一些实施例中,调度者节点是被配置为不更新存储在包括原始未决交易的区块链网络上的区块链中的交易数据的非共识节点。这样可以避免在区块链网络上执行共识处理,从而降低操作成本并提高区块链网络的效率。此外,由于经修改未决交易的数量小于原始未决交易的数量,因此减少了实际结算交易的数量,并且还减少了要存储在区块链网络中的结算条目的数量。这也可以避免增加区块链网络中的存储空间。

该技术能够将原始未决交易和/或实际结算交易的结算条目存储在区块链网络上的区块链中,因此,区块链网络可以具有区块链网络中用户(参与者或账户)的完整交易图。与用户相关联的共识节点,例如客户银行节点,可以存储区块链的完整副本。区块链网络包括调度者节点以对原始未决交易执行合并,而区块链网络可以征得用户的共识,以保持正确的余额并以合并的金额执行每笔交易。区块链网络还可以通过使用存储的原始未决交易和实际结算交易的结算条目为用户提供验证服务。因此,该技术可以确保分布式账本中的余额正确性,并提供可信赖且可证明的交易。

在一些实施例中,调度者节点与区块链网络同步,以从与用户相关联的客户端设备接收转账请求。因此,调度者节点可以对原始未决交易执行实时和动态的合并。调度者节点也可以与区块链网络同步,以接收来自特定用户的结算查询和/或结算请求。调度者节点可以通过向特定用户提供合并的结算信息来对结算查询作出响应,或者可以通过将sam结算请求发送到sam服务器以执行与该特定用户相关联的至少一个修改的交易来对结算请求作出响应。因此,区块链网络可以以去中心化的方式动态处理大量交易。

在一些实施例中,可以向与用户相关联的客户端设备提供调度应用程序编程接口(api)。客户端设备可以使用调度api向区块链网络的节点发送转账请求、转账查询、结算查询和/或结算请求。在一些实施例中,可以将区块链api提供给节点以用于读/写交易条目和/或读取区块。在一些实施例中,可以将结算整合api提供给sam服务器,以接收结算请求并提供响应。这些api可以帮助降低总交易成本。

该技术可以应用于区块链支付网络或分布式支付网络,其中可以减少实际结算交易的数量,并且通过区块链技术可以保留和背书贷方-借方的关系。该技术还可以应用于跨境汇款、机构间汇款、个人数字钱包以及与数字资产管理有关的增值服务。

所描述的主题的实施方案可以包括单独或组合的一个或多个特征。例如,在第一实施例中,一种用于管理区块链网络中的交易的方法包括:区块链网络上的调度设备获得包括待在所述区块链网络上在多个账户之间执行的多个原始未决交易的交易数据,所述交易数据被存储在所述区块链网络上;所述调度设备对所述多个原始未决交易进行合并分析,以确定所述多个账户之间的多个经修改未决交易,并且所述多个经修改未决交易的数量小于所述多个原始未决交易的数量;所述调度设备利用所述多个经修改未决交易维护所述多个原始未决交易,而无需利用所述多个经修改未决交易对存储在所述区块链网络上的所述交易数据进行更新。

前述和其它描述的实施例均可以可选地包括以下特征中的一个或多个。

第一特征,可与以下任意特征组合,指定了所述方法还包括:所述调度设备向与所述多个账户中的特定账户相关联的客户端设备发送针对所述特定账户的合并结算,所述合并结算与关联于所述特定账户的多个经修改未决交易中的至少一个相关联。

第二特征,可与先前或以下任意特征组合,指定了所述方法还包括:所述调度设备从所述客户端设备获得查询,所述查询请求针对与所述多个原始未决交易中的一个或多个相关联的特定账户的结算信息,其中,针对所述特定账户的所述合并结算是由所述调度设备响应于从所述客户端设备获得所述查询而发送的。

第三特征,可与先前或以下任意特征组合,指定了所述方法还包括:所述调度设备向结算账户管理(sam)服务器发送请求以执行与所述多个账户中的特定账户相关联的多个经修改未决交易中的至少一个。

第四特征,可与先前或以下任意特征组合,指定了所述方法还包括:所述调度设备从与所述特定账户相关联的客户端设备获得客户端请求,所述客户端请求授权针对所述特定账户的结算,其中,所述请求是响应于从所述客户端设备获得所述客户端请求向所述sam服务器发送的。

第五特征,可与先前或以下任意特征组合,指定了所述方法还包括:所述调度设备从所述sam服务器接收确认,所述确认指示与所述特定账户相关联的所述多个经修改未决交易中的至少一个已经被执行。

第六特征,可与先前或以下任意特征组合,指定了所述方法还包括:响应于从所述sam服务器接收到所述确认,所述调度设备向所述区块链网络发送结算条目,所述结算条目指定与所述特定账户相关联的所述多个经修改未决交易中的至少一个已经被执行。

第七特征,可与先前或以下任意特征组合,指定了所述方法还包括:将所述结算条目与所述多个原始未决交易一起存储在所述区块链网络上。

第八特征,可与先前或以下任意特征组合,指定了所述方法还包括:基于所述结算条目和所述多个原始未决交易在所述区块链网络上验证与所述特定账户相关联的结算信息。

第九特征,可与先前或以下任意特征组合,指定了所述方法还包括:响应于从所述sam服务器接收到所述确认,所述调度设备基于指定与所述特定账户相关联的所述多个经修改未决交易中的至少一个已经被执行的结算条目来更新所述多个经修改未决交易。

第十特征,可与先前或以下任意特征组合,指定了所述方法还包括:响应于从所述sam服务器接收到所述确认,所述调度设备向与所述特定账户相关联的客户端设备发送消息,所述消息确认与所述特定账户相关联的结算已经被执行。

第十一特征,可与先前或以下任意特征组合,指定了对所述多个原始未决交易进行合并分析,以确定多个经修改未决交易包括:基于所述多个原始未决交易,计算所述多个账户中的每一个帐户的相应合并结算;基于所述多个账户各自的相应合并结算将所述多个账户分为第一组和第二组;根据所述第一组中的第一账户和所述第二组中的第二账户的相应合并结算,将所述第一账户与所述第二账户进行匹配;以及基于所述匹配的结果生成所述多个经修改未决交易。

第十二特征,可与先前或以下任意特征组合,指定了对所述多个原始未决交易进行合并分析,以确定多个经修改未决交易包括:将所述多个原始未决交易呈现在交易图上;以及通过修改所述交易图确定所述多个经修改未决交易,其中,所述多个经修改未决交易被呈现在经修改交易图上。

第十三特征,可与先前或以下任意特征组合,指定了维护所述多个原始未决交易和所述多个经修改未决交易包括:响应于确定所述多个经修改未决交易中的特定一个已经被执行,通过从经修改交易图中移除所述多个经修改未决交易中的所述特定一个来减少所述经修改交易图。

第十四特征,可与先前或以下任意特征组合,指定了获得包括多个原始未决交易的交易数据包括:与所述区块链网络同步以从与所述多个账户中的各个账户相关联的相应客户端设备接收所述多个原始未决交易中的每一个。

本文中描述的主题、动作以及操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件,或者其中的一个或多个的组合中实现,包括本文中公开的结构及其结构等同物。本文描述的主题的实施例可以被实现为一个或多个计算机程序,例如,一个或多个计算机程序指令模块,编码在计算机程序载体上用于由数据处理装置执行,或者以控制数据处理装置的操作。例如,计算机程序载体可以包括一个或多个计算机可读存储介质,在其上编码或存储有指令。载体可以是有形的非暂态计算机可读介质,例如,磁盘、磁光盘或者光盘、固态驱动器、随机存取存储器(ram)、只读存储器(rom)或者其它媒体类型。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电信号、光信号或电磁信号,其生成为对信息进行编码以传输到合适的接收器装置以由数据处理装置执行。计算机存储介质可以是或部分是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或其中的一个或多个的组合。计算机存储介质不是传播信号。

计算机程序也可以称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或解释性语言、或声明或程序性语言;其可以以任何形式部署,包括作为独立程序或者作为模块、组件、引擎、次例程或适合在计算环境中执行的其它单元,该环境可包括在一个或多个位置中由数据通信网络互联的一台或多台计算机。

计算机程序可以但是没有必需对应于文件系统中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件中;或者多个协调文件中,例如,存储一个或多个模块、子程序或代码部分的多个文件。

用于执行计算机程序的处理器例如既包括通用和专用微处理器,又包括任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从耦接到处理器的非暂时性计算机可读介质接收数据以及用于执行的计算机程序的指令。

术语“数据处理装置”涵盖了用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器、计算机,或多个处理器或计算机。数据处理装置可包括例如fpga(现场可编程门阵列),asic(专用集成电路)或gpu(图形处理单元)的专用逻辑电路。该装置除了包括硬件之外,也可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中的一个或多个的组合的代码。

本文中描述的过程和逻辑流程可以由一个或多个计算机或执行一个或多个计算机程序的处理器执行,以通过对输入数据进行操作并生成输出来执行操作。该过程和逻辑流程还可通过专用逻辑电路,例如,fpga、asic或gpu,或通过专用逻辑电路和一个或多个编程计算机的组合来执行。

适合于执行计算机程序的计算机可以基于通用和/或专用微处理器,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可以包括用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。

通常,计算机也会包括或可操作地耦接以从一个或多个存储设备接收数据或将数据传输到一个或多个存储设备。存储设备可以是例如磁盘、磁光盘或光盘、固态驱动器或任何其它类型的非暂时性计算机可读介质。但是,计算机也不必具有此类设备。因而,计算机可以耦接到一个或多个存储设备,例如位于本地和/或远程的一个或多个存储器。例如,一台计算机可以包括作为计算机集成组件的一个或多个本地存储器,或者计算机可以耦接到位于云网络中的一个或多个远程存储器。此外,计算机也可以嵌入到另一个设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器、或诸如通用串行总线(usb)闪存驱动器等便携式存储设备,这只是列举几项。

组件可以通过直接或经由一个或多个中间组件例如电连接或光连接地彼此连接通信而彼此“耦接”。如果其中一个组件集成到另一个组件中,则这些组件也可以相互“耦接”。例如,将集成到处理器中的存储组件,例如,l2高速缓存组件,“耦接到”处理器。

为了与用户进行交互,本文中描述的主题的实施例可以在具有显示设备和输入设备的计算机上实现,或配置为与该计算机进行通信,显示设备例如为lcd(液晶显示器)监视器,用于向用户显示信息,输入设备例如为键盘和定位设备,用户可以通过输入设备向计算机提供输入,定位设备例如为鼠标、轨迹球或触摸板。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备上的web浏览器发送web页面以响应从web浏览器收到的请求,或者通过与例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)进行交互。计算机也可以通过将文本消息或其它形式的消息发送到诸如运行消息收发程序的智能手机等个人设备,并从用户接收响应消息,来与用户进行交互。

本文使用与系统,装置和计算机程序组件有关的术语“被配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。

尽管本文包含许多特定的实施细节,但是不应将这些理解为对所要求保护的范围的限制,而是作为对特定实施例特定的特征的描述,所要求保护的范围由权利要求本身限定。本文中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以单独或者以任何适合的子组合方式实现在多个实施例中。而且,尽管以上描述的特征可以以某些组合起作用并且甚至最初是这样主张的,但是在某些情况下,可以从要求保护的组合中删除该组合中的一个或多个特征,并且权利要求书也可以针对子组合或子组合的变型。

类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在某些情况下,多任务和并行处理会是有利的。此外,不应将上述实施例中的各种系统模块和组件的分离理解为在所有实施例中都要求这种分离,并且应当理解的是,所描述的程序组件和系统通常可以在单个软件产品中集成在一起或打包成多个软件产品。

已经对本主题的特定实施例进行了描述。其它实施例也落在以下权利要求书的范围内。例如,权利要求书中记载的动作可以以不同的顺序执行并且仍然能实现期望的结果。作为一个示例,附图中描绘的过程无需要求所示的特定顺序或次序来实现期望的结果。在一些情况下,多任务并行处理可能是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1