CN115809909A - 区块链网络拥塞自适应数字资产事件处置系统和方法 - Google Patents
区块链网络拥塞自适应数字资产事件处置系统和方法 Download PDFInfo
- Publication number
- CN115809909A CN115809909A CN202211043621.9A CN202211043621A CN115809909A CN 115809909 A CN115809909 A CN 115809909A CN 202211043621 A CN202211043621 A CN 202211043621A CN 115809909 A CN115809909 A CN 115809909A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- request
- transaction
- network
- requests
- 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
Images
Classifications
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Environmental & Geological Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种计算机实施的方法和系统,用于区块链网络拥塞自适应处置与数字资产相关的事件,这些事件包括创建操作和转移操作。测量拥塞指标以确定区块链网络的当前拥塞。如果低于第一阈值水平,则在接收到数字资产请求时在第1层处使用区块链交易来实施这些请求。如果指标高于该第一阈值水平,则对接收到的请求进行排队,直到检测到队列触发器为止,随之在第2层处理排队的请求,并使用批量区块链交易通过在链上记录更新的状态来实施这两个或更多个请求。当指标下降至低于第二阈值时,该过程将恢复到使用第1层区块链交易,而不是对请求进行排队以供第2层进行批量处理。
Description
技术领域
本披露内容涉及数字资产,具体地涉及区块链网络拥塞自适应数字资产创建或转移的系统和方法。
背景技术
分布式计算网络可以促进数字资产的交换。具体地,区块链运行平台可以处置数字资产的创建和转移。在一些情况下,数字资产可以是表示或对应于真实世界资产或唯一项目的代币。代币的所有权或交易可以代表标的代币化资产的所有权或交易。在一些情况下,资产是唯一的,使得代币是非同质化代币;即,代币也是唯一的。
使用许多当前区块链网络的挑战之一是它们已经变得如此受欢迎,以至于变得拥塞,并且在扩容方面遇到困难。网络的拥塞可能导致交易确认长时间滞后、和/或花费过多的资源使用或交易费用成本以将交易包括在已挖掘区块中。
提供用于处置数字资产事件(比如,数字资产的创建或转移)的改进方法和系统将是有利的。
附图说明
将参考附图仅通过示例的方式描述实施例,在附图中:
图1展示了示例区块链网络;
图2展示了用于处理涉及非同质化代币的事件的示例系统;
图3以流程图的形式展示了一种用于基于网络拥塞指标来处理涉及非同质化代币的事件的示例方法;
图4是根据示例实施例的电子商务平台的框图;以及
图5是根据示例实施例的管理员的主页的示例。
发明内容
相应地,提供了一种计算机实施的方法、一种计算系统、一种计算机程序和一种计算机可读介质,如所附权利要求中详细描述的。
具体实施方式
在一个方面,本申请公开了一种计算机实施的方法,该方法可以包括:接收第一非同质化代币交易请求;获得关于区块链网络的拥塞量度的网络拥塞指标;确定该网络拥塞指标高于第一阈值水平;以及响应于确定该网络拥塞指标高于该第一阈值水平,对该第一非同质化代币交易请求进行排队,并且检测队列触发器,并作为响应,在该区块链网络上生成并传播批量区块链交易,该批量区块链交易实施两个或更多个排队的非同质化代币交易请求,包括该第一非同质化代币交易请求和至少一个附加的非同质化代币交易请求。
在一些实施方式中,该附加的非同质化代币交易请求是在该第一非同质化代币交易请求之后接收到的,并且被附加到包含该第一非同质化代币交易请求的队列中。
在一些实施方式中,该网络拥塞指标基于以下各项中的一项或多项:该区块链网络上未确认交易的计数、该区块链网络上新交易的接收速率、该区块链网络上未确认交易的平均年龄、在一定时间窗口内未确认交易数量的变化率、每个计算操作的成本量度、或者交易费用。
在一些实施方式中,检测队列触发器包括以下操作中的一个或多个:确定自接收到该第一非同质化代币交易请求以来经过的时间已经超过最大时间,确定队列中的请求计数匹配或超过最大计数,或者确定该网络拥塞指标已经下降至低于第二阈值水平。在一些情况下,该第二阈值水平匹配该第一阈值水平。
在一些实施方式中,排队包括至少将来自该第一非同质化代币交易请求的数据的一部分存储在存储器中,该部分数据足以生成实施该第一非同质化代币交易请求的区块链交易。
在一些实施方式中,其中该批量区块链交易引用批量处理函数,并提供更新的NFT状态以反映该两个或更多个非同质化代币交易请求的实施方式。
在一些实施方式中,该第一非同质化代币交易请求是铸币请求并且包括接收者地址。在一些情况下,该至少一个附加的非同质化代币交易请求是另外的铸币请求并且包括相应的接收者地址。
在一些实施方式中,这些排队的非同质化代币交易请求包括关于先前铸造的代币的至少一个转移请求,并且该至少一个转移请求包括受让者地址和数字签名。
在一些实施方式中,该方法可以进一步包括:在生成并传播该批量区块链交易之后,接收第二非同质化代币交易请求;获得关于该区块链网络的拥塞量度的更新的网络拥塞指标;确定该更新的网络拥塞指标低于该第一阈值水平;以及响应于确定该更新的网络拥塞指标低于该第一阈值水平,在该区块链网络上生成并发送单个区块链交易以单独实施该第二非同质化代币交易请求而不进行排队。
在另一方面,本申请描述了一种计算系统,该计算系统包括处理器和存储器。该存储器可以存储计算机可执行指令,这些计算机可执行指令在被执行时使该处理器执行本文描述的方法中的一种或多种方法的操作。
在又另一方面,本申请描述了一种存储有计算机可执行指令的计算机可读介质,这些计算机可执行指令在被处理器执行时使处理器执行本文描述的方法中的一种或多种方法的操作。计算机可读介质可以是非暂态的。
通过结合附图查阅以下详细描述,本披露内容的其他示例实施例对于本领域普通技术人员将是显而易见的。
在本申请中,术语“和/或”旨在涵盖所列出的元素的所有可能的组合和子组合,包括单独的任何一个所列出的元素、这些元素的任何子组合或全部,并且不一定排除附加的元素。
在本申请中,短语“……和……中的至少一个”旨在涵盖所列出的元素中的任何一个或多个,包括单独的任何一个所列出的元素、这些元素的任何子组合或全部,不一定排除任何附加的元素,并且不一定需要所有的元素。
在本申请中,术语“电子商务平台”泛指促进通过计算机网络(例如,互联网)进行的商业交易(即,买卖活动)的计算机化系统(或服务、平台等)。例如,电子商务平台可以是独立的在线商店、社交网络、社交媒体平台等。客户可以经由电子商务平台发起交易和相关联的支付请求,并且电子商务平台可以配备有交易/支付处理组件或将这样的处理活动委托给一个或多个第三方服务。一个电子商务平台可以通过连接一个或多个附加的销售渠道来扩展/扩张,销售渠道表示可以销售产品的平台。特别地,销售渠道本身可以是电子商务平台,比如Facebook ShopsTM、AmazonTM等。
在本申请中,术语“区块链”用于包括所有形式的基于计算机的电子分布式分类账。这些包括但不限于区块链和交易链技术、许可式分类账和非许可式分类账、共享分类账以及其变型。
区块链是基于共识的电子分类账,其被实施为基于计算机的去中心化分布式系统,该系统由区块构成,而区块又由交易构成。每个交易都是一个数据结构,其对一些数据或状态进行编码。在许多情况下,交易中记录的数据涉及区块链系统参与者之间对数字资产的控制权的转移,并且包括至少一个输入和至少一个输出。在一些情况下,交易可能调用记录在区块链上另一个交易中的代码。该代码可以通过由进一步交易调用来引用和执行,可以称为“智能合约”。
区块链中的每个区块都包含前一个区块的散列,使得区块链接在一起,以便创建对自区块链初创以来写入区块链的所有交易的永久、不可更改的记录。交易可以包含嵌入到其输入和输出中的称为脚本的小程序,这些程序指定交易的输出可以如何以及被谁访问。
接收到新交易的网络节点会尝试将该交易推送到网络中的其他节点,即,在区块链网络上传播交易。在向其他节点传输新交易之前,该交易会被“证实”;即,会对照一组标准来检查交易,以确保该交易满足根据适用的区块链协议对正确交易的基本要求,从而避免无效交易充斥网络。
为了将交易写入区块链,通过被设计为收集交易并将它们形成区块的节点(“矿工”或“挖矿节点”)将交易并入区块中。然后矿工尝试完成关于该节点的“工作量证明”。在一些情况下,区块链可能依赖“权益证明”或其他挖矿机制。整个区块链网络中的工作量证明矿工竞争成为第一个组装出交易区块并完成该区块相关联的工作量证明的矿工。成功的矿工将其确认的区块添加到区块链中,并且该区块通过网络传播,使得维护区块链副本的其他节点可以更新其记录。接收区块的那些节点也会“证实”该区块及其中的所有交易,以确保这些交易符合协议的正式要求。
“数字资产”是指呈数字格式并具有使用权的资产。特别地,数字资产是自包含的、唯一可识别的,并且与所定义的价值或使用能力相关联。数字资产的示例包括数字文档、多媒体文件(例如照片、视听媒体、动画等)、电子邮件、网站、加密货币、数字钱包和资产支持的代币等。
区块链技术在市场中创造了新的效率,并且经常是交换数字资产的首选媒介。区块链允许各方明确证明数字资产的某些方面,比如所有权、真实性和交易历史,而无需涉及中心化实体或中介实体。区块链产生具有固有安全特质的数据结构。结合了密码学、去中心化和共识机制,区块链技术可以确保信任在区块链运行平台上进行的交易,而无需信任第三方中介。
软件应用程序的快速增长和基于区块链的资产空间催生了各种不同类型的数字资产。一种收获了极大关注的数字资产类的示例是非同质化代币(NFT)。NFT是具有基于区块链的真实性、所有权和可转移性特征的独特数字资产。更具体地,NFT是存储在区块链上的证明数字资产唯一性的数据单元。NFT可以代表广泛的资产,无论是实体的还是数字的,包括但不限于:数字艺术、收藏品、音乐、数字电影、游戏等。NFT充当任何已分配数字资产的数字所有权证书。NFT的关键特征是它们不能相互互换——每个NFT都具有唯一的识别码和元数据,使得其可以与任何其他NFT区分开。NFT的唯一身份和所有权可使用区块链分类账进行验证。
像以太坊这样的区块链网络具有代币标准,从而使开发者能够部署NFT并确保它们与更广泛的生态系统兼容,包括交易和钱包服务。NFT可以借助链上或链下交易的方式进行买卖。
用于生成比如NFT等数字资产的智能合约可以部署在区块链(例如,以太坊区块链)上。智能合约可以包括代码,该代码在被执行时生成具有唯一标识符的NFT。这通常被称为“铸造”NFT。NFT的创建事件及其唯一ID可以记录在区块链上。智能合约代码可以进一步提供转移函数等函数。NFT可以在账户(例如,地址)之间转移,并且所有权变更事件记录在不可变的分类账中。在许多实施方式中,作为整体虚拟机状态(例如,以太坊虚拟机)的补充,智能合约被配置为维护反映NFT铸造和所有权的状态和历史的NFT分类账或状态。这在本文中可以称为“NFT状态”或“NFT分类账”。在一些示例中,可以使用符合关于非同质化代币的以太坊征求意见书(ERC)721标准的智能合约来实施NFT。在一些示例中,可以使用符合关于多代币铸造的ERC-1155标准的智能合约来实施NFT。在一些其他示例中,可以使用符合另一个标准的智能合约来实施NFT。
许多当前区块链协议面临的挑战之一是它们日益增长的受欢迎程度已经致使网络拥塞对应增加,从而导致交易成本增加。在比特币网络中,将交易包括在已挖掘区块中的成本称为“交易费用”。在以太坊网络中,将交易包括在已挖掘区块中的成本可以包括交易费用和“gas”成本,其中,gas成本是指归因于交易所需的代码操作的数量和/或复杂度的成本。例如,如果交易事件调用智能合约的特定部分,则gas价格可以取决于执行智能合约的该部分的以太坊虚拟机所涉及的计算操作的数量(或复杂度)。
拥塞和成本问题可能会导致在链上执行或记录交易的显著延迟。为更快地将交易包括在已挖掘区块中而进行的竞争导致矿工只选择那些为矿工提供更高费用和更大潜在收益的待决未确认交易。
一些区块链网络已经试图通过创建或部署链下工具或网络来解决成本和拥塞问题,在这些工具或网络内执行事件或交易,而周期性或偶尔地在实际区块链上查核和记录状态。该附加网络可以称为“第2层”协议,而底层区块链协议/网络可以称为“第1层”协议。一个比特币背景下的示例是闪电网络。对拥塞和成本的第2层解决方案试图从第1层网络中移除大量交易和事件,使得更高成本的第1层网络仅偶尔用于记录账户的周期性状态。这样的一些缺点在于:第2层网络的安全性或可信度可能较低,因为该网络缺乏确保所有交易在被记录在分布式不可变分类账上之前由矿工证实(validate)和验证(verify)的核心功能。矿工的工作只在偶尔的状态记录时进行。此外,第1层记录之间的延迟可能与在第1层处等待更高成本交易发生的固有延迟一样长或更长。因此,虽然第2层可以帮助降低在第1层处记录每个事件或交易的成本,但它可能会减少或削弱使用区块链技术的一些优势,这取决于应用和实施方式。
特别是在NFT的背景下,提供可能减少网络拥塞、与拥塞相关的资源使用和/或网络延迟的实现铸币和转移方法和系统将是有利的。
首先参考图1,该图以框图的形式展示了与区块链相关联的示例网络,该网络在本文中可以称为区块链网络201。区块链网络201是开放会员对等网络,任何人都可以加入,无需邀请或无需经过其他成员同意。运行区块链网络201操作所遵循的区块链协议实例的分布式电子设备可以参与区块链网络201。这种分布式电子设备可以称为节点202。例如,区块链协议可以是以太坊、比特币或其他区块链协议。
运行区块链协议并形成区块链网络201的节点202的电子设备可以是各种类型的,包括例如计算机(比如台式计算机、膝上型计算机、平板计算机、服务器)、移动设备(比如智能手机)、可穿戴计算机(比如智能手表)或其他电子设备。
区块链网络201的节点202使用合适的通信技术相互耦合,该通信技术可以包括有线通信技术和无线通信技术。在许多情况下,区块链网络201至少部分地通过互联网实施,并且节点202中的一些节点可以位于地理上分散的位置。
节点202维护区块链上所有交易的全局分类账,这些交易被分组成区块,每个区块包含链中前一个区块的散列。全局分类账是分布式分类账,并且每个节点202可以存储全局分类账的完整副本或部分副本。在网络上传播的交易在被包括在已挖掘区块中之前会由其他节点202进行验证,从而维护全局分类账的有效性。本领域普通技术人员将理解实施和操作区块链网络(比如使用以太坊协议的区块链网络)的细节。
每个交易通常具有一个或多个输入和一个或多个输出。脚本可以嵌入到输入和输出中,指定交易的输出可以如何以及被谁使用或转移。交易的输出可以是由于交易而被分配了价值(或数字资产)的地址。在一些实施方式中,该价值然后与该输出地址相关联,例如作为未花费交易输出(UTXO)。然后,后续交易可以引用该地址作为输入,以便转移或以其他方式使用该价值或资产。在一些情况下,像以太坊一样,呈智能合约形式的代码可以部署在区块链上,并且可以被以后的交易调用或引用,以使网络执行该代码。以这种方式,交易可以使网络执行某些功能,比如生成(铸造)NFT、或证实并实现NFT从一个所有者地址到新所有者地址的转移。
节点202可以履行从网络路由到钱包服务的许多不同的功能,以维护稳健和安全的去中心化公共分类账。在一些实施方式中,“完整节点”包含完整且最新的区块链副本,并且因此可以验证公共分类账上的任何交易(已花费或未花费)。“轻量级节点”(有时在比特币中称为简化支付验证(SPV))不包括区块链的副本,但可以使用默克尔证明(Merkleproof)来证实交易并确认将交易包含在特定区块中。在一些情况下,轻量级节点只下载区块的头部,而不是每个区块内的交易。“挖矿节点”参与工作量证明(或在某些情况下为权益证明)活动,以竞相证实候选区块并在网络上传播解决方案,从而构建区块链。节点202可以使用比如TCP/IP(传输控制协议)的面向连接的协议相互通信。
图2展示了与某些所披露的实施例一致的示例性计算环境200。如图2所示,计算环境200可以包括电子商务平台105、多个用户设备230和连接计算环境200的一个或多个组件的通信网络125。通信网络125可以包括一个或多个有线网络或无线网络,包括互联网。
如所展示的,用户设备230和电子商务平台105可以经由通信网络125进行通信。在至少一些实施例中,每个用户设备230可以是计算设备。用户设备230可以采取多种形式,包括例如移动通信设备(比如智能手机)、平板计算机、可穿戴计算机(比如头戴式显示器或智能手表)、膝上型计算机或台式计算机、或者其他类型的计算设备。
用户设备230中的一个或多个可以与数字资产的商家或生成者相关联,该商家或生成者打算经由电子商务平台105向公众提供数字资产。用户设备230中的一个或多个可以与数字资产的买家相关联。特别地,用户设备230中的一个或多个可以与经由电子商务平台105提供数字资产的商家的客户相关联。在至少一些实施例中,用户设备230中的这一个或多个可以具有驻留在其上的钱包应用程序。钱包应用程序可以是独立的移动应用程序、可经由网络浏览器访问的网络应用程序、或者桌面应用程序。钱包应用程序可以是允许商家和/或买家与账户交互的应用程序。该账户可以是电子商务平台105的账户和/或区块链网络账户。例如,钱包应用程序可以允许买家查看余额和交易历史、发送交易、加密和/或签名信息、以及连接到其他应用程序。钱包应用程序可以存储各种类型的数据,比如用于加密货币交易的密钥(例如,公钥和/或私钥)以及与买家相关联的数字资产(例如,比如NFT等代币)。
在至少一些实施例中,电子商务平台105可以提供用于转移在电子商务平台上买卖的数字资产的处理设施。更具体地,电子商务平台105的组件可以被配置为控制使用区块链网络进行的数字资产的生成和转移。
电子商务平台105包括商务管理引擎136、数字资产请求控制器210和数据设施134。商务管理引擎136可以被配置为处置同与电子商务平台105相关联的电子商务账户相关的各种操作。例如,商务管理引擎136可以被配置为取得各种实体(例如,商家、客户等)的电子商务账户信息和选定电子商务账户的历史账户数据(比如交易事件数据、浏览历史数据等)。特别地,商务管理引擎136可以获得买家和/或商家的与电子商务平台105相关联的电子商务账户的账户信息。
在一些情况下,电子商务平台105可以提供通用电子商务服务,使商家能够使各种产品或服务可供客户在虚拟商店或其他虚拟环境或市场中购买。在此示例中,可获得的产品之一可以是数字资产,比如NFT。NFT可以使用部署和记录在区块链上的智能合约代码生成。智能合约代码还可以包括用于将所生成的NFT从当前所有者地址转移到新所有者地址的可执行函数。
计算环境200可以进一步包括区块链网络201,其被示为部署在通信网络125内并作为该通信网络的一部分。在一些情况下,电子商务平台105可以充当区块链网络201的节点202之一。在一些情况下,电子商务平台105可能不充当节点202之一,并且可以经由区块链网络201中的一个或多个节点202来发送和接收区块链相关数据,比如交易。电子商务平台105可以采用各种API或其他功能来与一个或多个节点202安全地通信,以便交换区块链数据、消息和指令。
数字资产请求控制器210可以是软件实施的模块,该模块包含处理器可执行指令,这些可执行指令在被电子商务平台105中的一个或多个处理器执行时使电子商务平台105执行本文描述的过程和功能中的一些。在一些实施例中,数字资产请求控制器210可以作为电子商务平台105外部的服务提供。特别地,电子商务平台105可以将数字资产请求控制器210作为独立于电子商务平台105并且促进处理与数字资产的生成、销售或在与电子商务平台105相关联的实体之间的转移相关的请求的服务来使用。更广泛地,在一些实施方式中,可以以独立于特定电子商务平台的方式来采用本申请的主题。例如,数字资产请求控制器210可以被实施和部署成独立于任何电子商务平台。
数字资产请求控制器210被配置为接收生成和/或转移与区块链网络201相关联的数字资产的请求。如下文将更详细描述的,电子商务平台105可以被配置为促进基于区块链生成数字资产以及在商家与客户之间和/或在客户之间转移数字资产。特别地,数字资产转移管理引擎210可以使得电子商务平台105能够执行各种功能来实现使用区块链网络转移数字资产。
虽然图2的数字资产请求控制器210被展示为电子商务平台105的独立组件,但这仅是示例。引擎还或替代地可以由驻留在电子商务平台105内部或在电子商务平台外部的另一个组件提供。在一些实施例中,数字资产请求控制器210的功能可以在商务管理引擎136内实施。在一些实施方式中,数字资产转移管理引擎210可以至少部分地由电子商务平台提供,作为电子商务平台的核心功能,或者作为由电子商务平台支持或与电子商务通信的应用程序或服务。可替代地,数字资产转移管理引擎210可以被实施为对比如客户设备或商家设备等的客户端的独立服务。另外,这种引擎的至少一部分可以在商家设备和/或客户设备中实施。例如,客户设备可以将引擎作为软件应用程序在本地存储和运行。
数据设施134可以存储由电子商务平台105基于商家和客户与电子商务平台105的交互而收集的数据。例如,商家通过他们的在线销售活动提供数据。商家的商家数据的示例包括但不限于商家识别信息、被提供以供销售的产品(例如,数字资产)的产品数据、在线商店设置、销售活动的地理区域、历史销售数据和库存位置。客户数据或基于客户和潜在购买者与电子商务平台105的交互的数据也可以被收集和存储在数据设施134中。这样的客户数据可以是基于经由与客户和/或潜在购买者相关联的客户设备接收的输入而获得的。举例来说,可以记录包括客户在电子商务平台105上的购买交易事件的细节的历史交易事件数据,并且这样的交易事件数据可以被认为是客户数据。这样的交易事件数据可以指示产品标识符、购买日期/时间、最终售价、购买者信息(包括客户的地理区域)和支付方法详细信息等。关于商家和客户(或潜在购买者)对电子商务平台105的使用的其他数据也可以被收集并存储在数据设施134中。
数据设施134可以包括电子商务平台105的客户的客户偏好数据。例如,数据设施134可以为具有与电子商务平台105相关联的账户的每个客户存储账户信息、订单历史、浏览历史等。数据设施134可以另外为多个电子商务账户存储一个或多个虚拟购物车的愿望清单数据和购物车内容数据。
数字资产请求控制器210被配置为从用户设备230接收与数字资产相关的请求。在一些情况下,如果请求是从与商家账户相关联的用户设备230接收到的,则该请求可以是生成数字资产的请求。在一些情况下,如果请求是从与买家账户或客户账户相关联的用户设备230接收到的,则该请求可以是购买所生成的数字资产的请求。在一些情况下,请求可以是将现有数字资产从一个所有者地址转移到另一个所有者地址的请求,该所有者地址可以与电子商务平台上的客户账户相关联,也可以不与其相关联。
接收到的请求可以引起数字资产请求控制器210生成在区块链网络201上传播的区块链交易,该区块链交易实现请求,无论该请求是生成数字资产、转移数字资产还是以其他方式执行操作以管理数字资产。在一些情况下,区块链交易可以由数字资产请求控制器210基于请求生成,并且可以被提供给请求源自的用户设备230,以便使用与请求关联的账户相关联的私钥进行加密签名。
如上所述,区块链网络201上的拥塞可能导致更高的交易费用和/或更大的延迟,这是在链上记录交易时所期望的。然而,优选直接在链上记录,特别是在NFT可能具有相关联的重要价值的情况下。
因此,在一方面,本申请提供了一种实现数字资产操作的系统和方法,其基于所监测的区块链网络状况在第1层操作与第2层操作之间动态切换。该系统(例如,数字资产请求控制器210)确定关于区块链的拥塞指标。如果拥塞指标超过第一阈值水平,则系统可以从使用第1层交易来处理接收到的请求切换到使用第2层交易来处理接收到的请求。第2层交易被使用用于在第1层处整理和查核状态并批量记录交易数据的选定机制周期性或偶尔地记录在第1层的链上。在一些示例中,在第2层处由数字资产请求控制器210执行请求来确定更新的NFT状态,而不使用第1层处的相关联智能合约的对应函数,并且以更新智能合约处的NFT状态的交易来周期性地向智能合约发送更新的NFT状态,从而反映多个第2层交易的完成。如果系统确定所监测的拥塞指标低于第二阈值水平(可以也可以不与第一阈值水平相同),则系统恢复到使用第1层交易来记录接收到的请求。以这种方式,系统能够动态地适应不断变化的区块链网络拥塞。
在一些实施方式中,一旦系统确定拥塞指标超过第一阈值水平,就将接收到的与数字资产操作(比如,NFT铸造或转移)相关的任何请求都保存在队列中。队列可以是存储器的一部分,该存储器中保存未记录的请求以供以后进行批量处理。在一些情况下,系统可以在链下执行与请求相关的操作,比如将转移操作或新的所有权信息记录在单独的分类账或网络或系统中。另外或可替代地,该系统可以在请求排队时执行证实或验证操作。进一步,该系统监测队列触发器的检测。如果检测到队列触发器,则系统会批量处理存储在队列中的请求,并在第1层处使用单个区块链交易更新NFT状态。然后,该系统可以清除队列。当下一次接收到请求时,系统可以重新评估拥塞指标以确定是否继续对接收到的请求进行排队。
队列触发器之一可以是确定拥塞指标已经下降至低于第二阈值水平。如果发生这种情况,则系统可以在第1层处为当时任何排队的请求处理批量交易,并且然后恢复到使用第1层交易进行处理,而不对任何后续接收到的请求进行排队。
拥塞指标可以包括与区块链网络拥塞相关的任何一个或多个可测量的指标。在一个示例中,拥塞指标可以是交易传播速率的量度,例如,每秒接收到的新交易的数量。在一些示例中,拥塞指标可以是未确认交易的计数。在一些示例中,拥塞指标可以是未确认交易的平均年龄(例如,自传播/创建以来的时间)。在一些情况下,拥塞指标可以是在一定时间窗口内未确认交易数量的变化率(增加/减少)。在一些示例中,拥塞指标可以是拥塞的次级指示器,比如交易费用。交易费用可以是网络上当前交易费用的量度,比如一个或多个最近挖掘的区块内的平均交易费用。拥塞指标可以是以太坊网络或采用指标计算功能成本的其他网络上的gas价格。可以组合出这些量度的各种组合,例如通过一个或多个指标的线性、加法和/或乘法组合或其进一步组合来得到拥塞指标。例如,可以进一步由每个交易的gas价格对未确认交易的数量或比率进行加权,以考虑包含更复杂操作的交易。另外或可替代地,拥塞指标可以不直接是前述的一项或多项,而可以是基于前述的一项或多项的值。例如,可以将前述中的一项(或其组合)的原始值缩放至落在某个定义的范围内以产生拥塞指标。
在一些情况下,作为存储请求本身的替代或补充,队列存储由于接收到的请求而生成的(草稿)交易。交易不会在区块链网络上传播,而是排队等待系统进行批量处理。批量处理可以包括将交易和/或交易数据整理成在区块链上传播的单个批量交易。在一些情况下,针对排队的请求的排队的“交易”不是完全符合区块链协议的交易,但包含足够的数据来供系统通过生成并传播正确合规的批量交易实现这些请求。在一些实施方式中,排队的请求或交易由数字资产请求控制器处理,并且所产生的更新的状态/分类账以批量交易被发送。
在NFT的情况下,例如在生成NFT时、以及在一些情况下在转移NFT时,第1层交易调用(call)或调用(invoke)嵌入在存储在区块链上的智能合约中的函数或其他操作。例如,智能合约可以提供铸币函数,该函数使区块链虚拟机执行操作以生成与特定资产或其他项目相关联的唯一NFT。在一些情况下,智能合约可以包括转移函数,用于实现在区块链上记录特定NFT所有权的变更。
批量交易可以包含与两个或更多个数字资产相关的多个调用或事件。在一些实施方式中,排队的请求(或关于那些请求的数据)被用作形成批量交易的基础,该批量交易可以包括调用与相应数字资产(例如,NFT)相关的多个智能合约操作。在一些情况下,智能合约可以包含用于处理批量交易中的多个请求的代码。例如,智能合约可以实施批量转移函数,其中,该函数可以包括用于指定转移数量、转让者地址、受让者地址和相应加密签名的参数或自变量。在另一个示例中,智能合约可以实施批量铸币函数,其中,该函数可以包括用于指定要铸造的NFT的整数数量、接收者地址和资产标识符的参数或自变量。每个相应的资产标识符可以包括用于精准定位由该NFT表示的资产的URI或其他标识符。批处理函数可以被配置为更新智能合约维护的NFT状态,以反映排队的交易的实施方式,其中,更新的状态是由数字资产请求控制器在区块链网络外部的第2层处确定的。智能合约中还可以定义其他批处理函数。
在一些情况下,批量交易处理函数与常规交易处理函数在同一个智能合约中。在一些情况下,批量交易处理函数位于也部署并记录在链上的不同的智能合约中。
为了防止对批处理函数的恶意调用,在一些实施例中,智能合约可以将调用批处理函数的可用性或授权限制于授权实体。例如,可以维护定义批量交易必须源自何处的授权IP地址允许列表(也称为“白名单”)。在一些情况下,oracle可以维护定义哪个实体或哪些实体可以使用批处理函数的白名单或允许列表。智能合约所有者和/或其代表可以具有修改允许列表的授权。
队列触发器可以包括系统可检测的一个或多个条件或事件。在一些示例中,队列触发器可以包括自队列中的第一个(最旧的)请求存储以来经过的时间,比如经过的t秒。在一些示例中,队列触发器可以是确定排队的请求的数量超过预定的最大计数(即,队列中的最大请求数量)。在一些情况下,队列触发器可以包括排队的请求和/或排队的交易的字节大小。在一些情况下,队列触发器可以基于在某个时间段内已经接收到的至少N个请求,例如,接收到请求的速率。在一些情况下,系统可以被配置为基于经过的最大时间或最大计数来检测队列触发器,以先达到者为准。如上所述,队列触发器可以是确定拥塞指标已经下降至低于第二阈值。
现在参考图3,该图以流程图的形式示出了一种处理数字资产事件请求的示例方法300。方法300可以由具有合适的计算机可执行指令的计算设备实施,这些指令用于使计算设备执行所描述的操作。方法300可以整体或部分地由专用计算设备(比如,区块链网络的节点)来实施。在一些情况下,方法300可以由用于实施电子商务平台的一组硬件组件和软件组件之中的专用模块、引擎、应用程序或其他软件组件来实施。在一些示例中,方法300可以由数字资产请求控制器210实施。
在操作302中,接收交易请求。交易请求与数字资产有关。数字资产可以与实体资产或在线资源相关联。在一个示例中,交易请求是生成与资产相关联的NFT的请求。在另一个示例中,交易请求是转移与资产相关联的现有NFT的所有权的请求。该请求可以包括所有者或请求者的数字签名。该请求可以包括对与NFT相关联的特定区块链智能合约的引用,并且在一些情况下包括对该智能合约内的特定函数的引用。该请求可以包括与NFT的接收者相关联的地址。
在操作304中,测量或获得网络拥塞指标。拥塞指标可以包括与区块链网络拥塞相关的任何一个或多个数量或值。在一个示例中,拥塞指标可以是交易生成速率或传播速率的指标,例如,在比如一秒、五秒、一分钟等的时间窗口内接收到的新交易数量的计数。在一些示例中,拥塞指标可以是未确认交易的当前计数,例如,内存池中未决交易的数量。在一些示例中,拥塞指标可以是未确认交易的平均年龄,例如,自接收到未确认交易以来的平均时间。在一些情况下,拥塞指标可以是在一定时间窗口内未确认交易的数量的变化率,例如,未确认交易的增长速度或速率(无论正负)。在一些示例中,拥塞指标可以是网络拥塞的次级指示器,比如,交易费用的多少或数量。交易费用可以是网络上当前交易费用的量度,比如一个或多个最近挖掘的区块内的平均交易费用。拥塞指标可以是以太坊网络或采用指标计算操作成本的其他区块链网络上的gas价格。可以组合出这些量度的各种集合或子集以得到拥塞指标。作为示例,可以进一步由每个交易的gas价格对未确认交易的数量或比率进行加权,以考虑包含更复杂操作的交易。
一旦获得拥塞指标,就将其与第一阈值水平进行比较(如操作306所指示的)。可以基于测得或获得的指标的性质并基于方法300被设计为切换到第2层实施方式的速度来选择或设置第一阈值水平。如果指标低于第一阈值水平,则方法300继续在第1层处操作,并且接收到的请求会引起生成并传播区块链交易以实施请求(如操作308所示)。即,区块链交易在区块链网络上生成并输出。区块链交易可以包括对智能合约或智能合约内的函数的引用,当该智能合约或函数被执行时使网络执行所请求的操作,例如,生成NFT或转移NFT所有权,并在区块链上记录该状态变化。
方法300继续以这种方式操作,即使用第1层区块链交易处理接收到的请求,除非拥塞指标超过第一阈值水平——在这种情况下方法300进行到操作310。在操作310中,将接收到的请求附加到队列中。队列可以是被指定用于保持接收到的请求以等待批处理的存储器、或存储器的一部分、或存储器的一部分中的数据结构。
在操作312中,确定是否检测到队列触发器。如果否,则如操作314所示,方法300保持等待新请求,然后将新请求附加到队列中,同时等待检测到队列触发器。队列触发器可以包括导致对队列内容的批量处理的一个或多个可检测条件或事件。在一个示例中,队列触发器可以包括自队列中的第一个(例如最旧的)请求排队以来的最大时间。在另一示例中,队列触发器可以包括排队的请求的数量达到最大计数(即,队列中的最大请求数量)。在又另一示例中,队列触发器可以包括排队的请求和/或排队的交易的大小,例如,排队的请求或交易占用的字节数量。可以将多个条件或事件指定为队列触发器。例如,队列触发器可以是最旧请求的最大年龄或排队的请求的最大计数,以先发生者为准。
另一个队列触发器可以是检测到拥塞指标已经下降至低于第二阈值水平。在一些情况下,第二阈值水平可以与第一阈值水平相同。在一些情况下,第二阈值水平可以低于第一阈值水平,以防止在拥塞指标处于或接近阈值水平时频繁切换。
前述内容提及对接收到的请求进行排队。在一些实施方式中,队列可以仅包括来自每个接收到的请求的数据的一部分。该部分数据将包括如制定或生成实施请求的合规区块链交易可能需要的此类数据。在一些情况下,队列可以包含被配置为实施请求的草稿区块链交易,而不是排队的请求或请求数据。即,队列可以包含多个草稿形式的区块链交易。在另一种实施方式中,系统处理每个请求以更新本地维护的NFT状态而不是排队的请求,并且当在第2层处随着接收到每个“排队的”请求而更新当前NFT状态时,队列或存储器存储该当前NFT状态。
当在操作312中检测到队列触发器时,操作316评估队列中是否只有单个请求(或交易)。这应对在只有单个请求排队后检测到队列触发器的边界条件。在这种情况下,方法300可以立即恢复到第1层操作,并在操作308中以如第1层区块链交易的正常过程处理该排队的请求。然后,在操作302中接收到下一个请求时,该方法将评估拥塞指标是否仍然值得使用排队处理。
在存在多于一个排队的请求的情况下,然后在操作318中生成“批量区块链交易”并在区块链网络上传播。批量区块链交易实施队列中的请求中的多于一个请求。在一些情况下,批量区块链交易实施队列中的所有请求。在一些情况下,可以使用多于一个批量区块链交易来实施请求。例如,在一些实施方式中,NFT生成请求可以被一起分组在一个批量交易中,而NFT转移请求可以被一起分组在不同的批量交易中,这基于在一些示例中这两种请求可能引用智能合约的不同函数或部分或引用不同的智能合约。
从区块链协议角度来看,批量区块链交易是单个区块链交易。在该单个区块链交易中,包含并实施了两个或更多个请求。
在一种示例实施方式中,批量区块链交易可以包括多次调用智能合约函数。在一些情况下,批量区块链交易可以包括调用智能合约中的专用批处理函数,其中,批处理函数接收包括以下各项的参数:请求的计数和每个所包括的请求的数据。这可以包括例如:包含NFT标识符的数据结构、包含资产标识符的数据结构、包含接收者地址数据的数据结构、包含一个或多个数字签名的数据结构以及其他此类数据。在一些实施方式中,批量区块链交易调用由智能合约提供的定制NFT更新函数,并且批量区块链交易提供由在第2层处理所有排队的请求而产生的更新的NFT状态。
一旦生成了批量区块链交易,就在区块链网络上对其进行传播。一旦批量区块链交易被区块链挖矿节点之一包括在已挖掘区块中,由多个排队的请求引起的状态变化就会反映在记录在区块链上的数据中。更新由智能合约维护的NFT状态或分类账以反映多个排队的请求的实施方式,而无需调用智能合约代码以将每个请求作为智能合约操作执行的相关联的gas成本。
有利地,与在每个请求自己的专用区块链交易中单独实施该请求相比,批量区块链交易可以具有更低的总费用和/或gas成本。此外,通过将请求整理到批量交易中,该交易可以具有更高的总交易费用,这将确保批量交易被迅速挖掘,而如果请求处于单独的区块链交易中,则每个交易中的单笔交易费用可能太低(即使它们的总和高于批量交易费用),以至于矿工不将这些单独的交易包括在他们工作的候选区块中。这样,在网络拥塞状况下,将请求整理成批量交易可以使请求被更快执行和记录,尽管首先对请求进行排队会产生固有的延迟。另外,通过排队来延迟对各个请求的处理,在一些情况下队列触发器是拥塞指标降低至低于第二阈值水平,这可能意味着当批量区块链交易由于队列触发器而生成并传播时,区块链网络在较低的拥塞和成本条件下运行,从而更高效且更具成本效益地实施请求。
一旦队列中的请求都已经在批量区块链交易中被处理,就清除或清空队列(如操作320所指示的),并且方法300恢复到操作302以等待接收新请求。当接收到该新请求时,再次获得拥塞指标,并将其与第一阈值水平进行比较以确定是在第1层处置新请求还是使其排队等待第2层处置。
尽管前面的描述提及NFT的生成或铸造以及NFT的转移作为示例请求,但在一些情况下,请求可以与涉及NFT的其他操作或事件有关。在一些其他情况下,该方法和系统可以被实施用于与除NFT之外的数字资产相关的请求处置。
示例电子商务平台
尽管与商务平台集成不是必需的,但在一些实施例中,本文披露的方法可以在比如电子商务平台等商务平台上或与之相关联地执行。因此,将描述商务平台的示例。
图4展示了根据一个实施例的电子商务平台100。电子商务平台100可以是参考图2描述的电子商务平台105的示例。电子商务平台100可以用于向客户提供商家的产品和服务。虽然本披露内容设想使用装置、系统和过程来购买产品和服务,但为了简单起见,本文的描述将涉及产品。在本披露内容中所有对产品的提及也应当理解为对产品和/或服务的提及,包括例如实体产品、数字内容(例如,音乐、视频、游戏)、软件、票证、订阅、要提供的服务等。
虽然本披露内容自始至终设想“商家”和“客户”可以不只是个人,但为了简单起见,本文的描述一般地涉及商家和客户本身。在本披露内容中所有对商家和客户的提及也应当理解为对个人团体、公司、企业、计算实体等的提及,并且可以代表营利性或非营利性的产品交换。进一步,虽然本披露内容自始至终提及“商家”和“客户”,并描述他们的角色本身,但电子商务平台100应当被理解为更一般地支持电子商务环境中的用户,并且在本披露内容中对商家和客户的提及也应当理解为对用户的提及,比如,用户是商家用户(比如,卖家、零售商、批发商或产品提供商)、客户用户(比如,买家、购买代理、消费者或产品用户)、潜在用户(比如,正在浏览但尚未承诺购买的用户、评估电子商务平台100以潜在地用于营销和销售产品的用户等)、服务提供商用户(比如,运输提供商112、金融提供商等)、公司或企业用户(比如,购买、销售或使用产品的公司代表;企业用户;客户关系或客户管理代理等)、信息技术用户、计算实体用户(比如,用于购买、销售或使用产品的计算机器人)等。此外,可以认识到,虽然在一种背景下给定用户可以扮演给定角色(例如,作为商家)并且他们相关联的设备可以被相应地提及(例如,作为商家设备),但是在另一种背景下同一个人可以扮演不同的角色(例如,作为客户)并且同一个或另一个相关联的设备可以被相应地提及(例如,作为客户设备)。例如,一个人可以是一种类型的产品(例如,鞋子)的商家,并且是其他类型的产品(例如,杂货)的客户/消费者。在另一个示例中,一个人可以同时是同一类型产品的消费者和商家。在特定示例中,从事特定类别商品交易的商家在从批发商(批发商充当商家)进行订购时可以充当同一类别商品的客户。
电子商务平台100为商家提供在线服务/设施以管理他们的业务。本文描述的设施被示出为平台100的一部分,但也可以整体或部分地被配置为与平台100分开,作为独立服务。此外,在一些实施例中,这样的设施可以另外或可替代地由一个或多个提供商/实体提供。
在图4的示例中,设施是通过在一个或多个处理器上执行计算机软件、模块、程序代码和/或指令的机器、服务或引擎来部署的,该一个或多个处理器可以如上所述地是平台100的一部分或在该平台外部。商家可以使用电子商务平台100来实现或管理与客户的商务,比如通过在线商店138、应用程序142A-B、渠道110A-B和/或通过物理位置的销售点(POS)设备152(比如,实体店面或其他位置,比如通过自助终端机、终端、读取器、打印机、3D打印机等)实施与客户的电子商务体验。商家可以将电子商务平台100作为与客户的唯一商务存在使用,或者与其他商家商务设施结合使用,比如通过实体店(比如,“实体(brick-and-mortar)”零售店)、商家平台外网站104(比如,与电子商务平台100分开的由商家支持或代表商家的商业互联网网站或其他互联网或网络财产或资产)、应用程序142B等。然而,即使这些“其他”商家商务设施也可以与电子商务平台100相结合或通信,比如,商家实体店中的POS设备152链接到电子商务平台100,商家平台外网站104比如通过将平台外商家网站104的内容链接到在线商店138的“购买按钮”而绑定到电子商务平台100等。
在线商店138可以代表包括多个虚拟店面的多租户设施。在实施例中,商家可以比如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备等)配置和/或管理在线商店138中的一个或多个店面,并且通过多种不同的渠道110A-B(例如,在线商店138;应用程序142A-B;实体店面,通过POS设备152;电子市场,比如通过集成到网站或社交媒体渠道中的电子购买按钮,该按钮比如在社交网络、社交媒体页面、社交媒体消息传送系统上)向客户提供产品。商家可以跨渠道110A-B销售,然后通过电子商务平台100管理他们的销售,其中,渠道110A可以作为电子商务平台100内部或外部的设施或服务提供。另外或可替代地,商家可以在他们的实体零售店、在快闪店、通过批发、通过电话等进行销售,然后通过电子商务平台100管理他们的销售。商家可以采用这些操作模式的全部或任何组合。值得注意,可能的是,通过采用这些模式的多种和/或特定组合,商家可以提高销售概率和/或销售量。在本披露内容中,术语“在线商店138”和“店面”可以同义地使用以指代商家通过电子商务平台100的在线电子商务服务提供,其中,在线商店138可以指代由(例如,用于一个或多个商家的)电子商务平台100支持的店面集合,或指代单个商家的店面(例如,商家的在线商店)。
在一些实施例中,客户可以通过客户设备150(例如,计算机、膝上型计算机、移动计算设备等)、POS设备152(例如,零售设备、自助终端机、自动化(自助式)结账系统等)和/或本领域已知的任何其他商务接口设备与平台100进行交互。电子商务平台100可以使商家能够通过在线商店138、通过应用程序142A-B、通过物理位置(例如,商家的店面或其他位置)的POS设备152与客户联系,经由电子通信设施129与客户通信等,以便提供用于联系客户并促进针对可用于联系客户并与客户交互的真实或虚拟路径的商家服务的系统。
在一些实施例中,并且如本文进一步描述的,电子商务平台100可以通过处理设施来实施。这种处理设施可以包括处理器和存储器。处理器可以是硬件处理器。存储器可以是和/或可以包括非暂态计算机可读介质。存储器可以是和/或可以包括随机存取存储器(RAM)和/或持久性存储装置(例如,磁存储装置)。处理设施可以(例如在存储器中)存储一组指令,这些指令当被执行时使电子商务平台100执行如本文描述的电子商务功能和支持功能。处理设施可以是服务器、客户端、网络基础设施、移动计算平台、云计算平台、固定计算平台和/或其他计算平台中的一个或多个或可以是其一部分,并且可以在电子商务平台100的组件、商家设备102、支付网关106、应用程序142A-B、渠道110A-B、运输提供商112、客户设备150、销售点设备152等之间提供电子连接和通信。在一些实施方式中,处理设施可以是或可以包括协同工作的一个或多个这样的计算设备。例如,可以是多个协作计算设备充当/提供该处理设施。电子商务平台100可以实施为以下一项或多项或使用其来实施:云计算服务、软件即服务(SaaS)、基础设施即服务(IaaS)、平台即服务(PaaS)、桌面即服务(DaaS)、管理软件即服务(MSaaS)、移动后端即服务(MBaaS)、信息技术管理即服务(ITMaaS)等。例如,实现本文描述的设施的底层软件(例如,在线商店138)可以作为服务提供,并且被集中托管(例如,然后由用户通过网络浏览器或其他应用程序访问,和/或通过客户设备150、POS设备152访问等)。在一些实施例中,电子商务平台100的元件可以被实施为与各种其他平台和操作系统一起操作和/或集成。
在一些实施例中,电子商务平台100的设施(例如,在线商店138)可以例如通过连接到电子商务平台100的网络(使用数据134)向客户设备150提供内容。例如,在线商店138可以响应于来自客户设备150的对数据134的请求来提供或发送内容,其中,浏览器(或其他应用程序)通过使用网络通信协议(例如,互联网协议)的网络连接到在线商店138。该内容可以用机器可读语言来编写,并且可以包括超文本标记语言(HTML)、模板语言、JavaScript等和/或其任何组合。
在一些实施例中,在线商店138可以是或可以包括向客户设备提供内容并允许客户浏览和购买各种可获得的产品(例如,将产品添加到购物车、通过购买按钮购买等)的服务实例。商家还可以通过主题系统来定制他们网站的外观和感觉,比如在这样的主题系统中,商家可以通过在在线商店的产品信息内示出相同的底层产品和业务数据的同时改变他们的主题来选择和改变商家的在线商店138的外观和感觉。可能的是,可以进一步通过主题编辑器(即,使用户能够灵活地定制他们网站的设计的设计界面)来定制主题。另外或可替代地,可能的是,可以另外或可替代地使用主题特定的设置来定制主题,这些设置比如可以改变给定主题的方面(例如,特定的颜色、字体和预构建的布局方案)。在一些实施方式中,在线商店可以实施用于网站内容的内容管理系统。商家可以在创作博客帖子或静态页面并将它们发布到其在线商店138(比如通过博客、文章、登录页面等)、以及配置导航菜单时采用这种内容管理系统。商家可以将图像(例如,产品)、视频、内容、数据等上传到电子商务平台100,比如以供系统存储(例如,存储为数据134)。在一些实施例中,电子商务平台100可以提供用于操纵这样的图像和内容的功能,比如用于调整图像大小、将图像与产品相关联、添加文本并将文本与图像相关联、为新产品变型添加图像、保护图像等的功能。
如本文描述的,电子商务平台100可以通过多种不同渠道110A-B向商家提供产品的销售和营销服务,这些渠道包括例如本文描述的在线商店138、应用程序142A-B、以及通过实体POS设备152。电子商务平台100可以另外或可替代地包括与经营在线业务(比如提供与他们的在线商店相关联的域注册服务118、用于促进与客户的交易的支付设施120、用于为所购买的产品提供客户运输选项的运输服务122、用于管理库存的履行服务、与产品保护和责任相关联的风险和保险服务124、商家账单等中的一个或多个)相关联的业务支持服务116、管理员114、仓库管理系统等。服务116可以经由电子商务平台100提供或与外部设施相关联地提供,比如通过用于支付处理的支付网关106、用于加快产品运输的运输提供商112等提供。
在一些实施例中,电子商务平台100可以配置有运输服务122(例如,通过电子商务平台运输设施或通过第三方承运商),以向商家和/或他们的客户提供各种运输相关信息,比如运输标签或运费信息、实时配送更新、跟踪等。
图5描绘了管理员114的主页的非限制性实施例。管理员114可以被称为管理控制台和/或管理员控制台。管理员114可以示出关于日常任务、商店最近的活动以及商家为建立其业务可以采取的后续步骤的信息。在一些实施例中,商家可以经由商家设备102(例如,台式计算机或移动设备)登录到管理员114,并管理他们的在线商店138的各方面,比如查看在线商店138的最近访问或订单活动,更新在线商店138目录,管理订单等。在一些实施例中,商家可能能够通过使用侧边栏(比如图5所示的侧边栏)来访问管理员114的不同部分。管理员114的各部分可以包括用于访问和管理商家业务的核心方面(包括订单、产品、客户、可获得的报告和折扣)的各种界面。管理员114可以另外或可替代地包括用于管理商店的销售渠道的界面,这些销售渠道包括在线商店138、客户可用于访问商店的(多个)移动应用程序(移动App)、POS设备和/或购买按钮。管理员114可以另外或可替代地包括用于管理安装在商家账户上的应用程序(app)的界面;以及应用于商家的在线商店138和账户的设置。商家可以使用搜索栏来查找其商店中的产品、页面或其他信息。
关于商家在线商店138的商务和访客的更详细信息可以通过报告或指标来查看。报告可以包括例如客流量报告、行为报告、客户报告、财务报告、营销报告、销售报告、产品报告和定制报告。商家可能能够比如通过使用下拉菜单来查看不同时间段(例如,数天、数周、数月等)的不同渠道110A-B的销售数据。还可以为想要更详细地查看商店的销售和参与度数据的商家提供数据概览。可以在主页指标部分中提供活动源以展示商家账户上的活动的概览。例如,通过点击“查看最近的所有活动”数据面板按钮,商家可能能够看到他们的账户上时间更长的最近活动源。主页可以比如基于账户状态、增长情况、最近客户活动、订单更新等示出关于商家的在线商店138的通知。可以提供通知以帮助商家导航通过被配置用于在线商店138的工作流,比如支付工作流、订单履行工作流、订单归档工作流、退货工作流等。
电子商务平台100可以提供通信设施129和相关联的商家接口以提供电子通信和营销,比如使用电子消息传送设施来收集和分析商家、客户、商家设备102、客户设备150、POS设备152等之间的通信交互,以聚合和分析通信,比如从而提高销售转化等。例如,客户可能有与产品相关的问题,这可能在客户与商家(或代表商家的基于自动化处理器的代理/聊天机器人)之间产生对话,在这种情况下,通信设施129被配置为向客户请求提供自动化响应和/或向商家提供关于如何响应例如以提高销售概率的建议。
电子商务平台100可以提供用于与客户进行安全金融交易的金融设施120,比如通过安全的卡服务器环境。比如在支付卡行业数据(PCI)环境(比如,卡服务器)中,电子商务平台100可以存储信用卡信息,以查核财务、向商家开账单、执行电子商务平台100与商家的银行账户之间的自动清算所(ACH)转移等。金融设施120还可以向商家和买家提供金融支持,比如通过借贷资金(例如,借贷款项、现金预付等)和提供保险。在一些实施例中,在线商店138可以支持多个独立管理的店面并且每天为各种产品和服务处理大量交易数据。交易数据可以包括:指示客户、客户账户或客户进行的交易的任何客户信息(比如,联系信息、账单信息、运输信息、退货/退款信息、折扣/优惠信息、支付信息)或在线商店事件或信息(比如页面浏览量、产品搜索信息(搜索关键字、点击事件)、产品评论、弃购)和/或与通过电子商务平台100的业务相关联的其他交易信息。在一些实施例中,电子商务平台100可以将该数据存储在数据设施134中。再次参考图4,在一些实施例中,电子商务平台100可以包括商务管理引擎136,该商务管理引擎比如可以被配置为执行各种工作流以进行与产品、库存、客户、订单、供应商、报告、财务、风险和欺诈等相关的任务自动化或内容管理。在一些实施例中,附加功能可以另外或可替代地通过应用程序142A-B提供,以实现适应不断增长的各种在线商店、POS设备、产品和/或服务所需的更大灵活性和定制。应用程序142A可以是电子商务平台100的组件,而应用程序142B可以作为电子商务平台100外部的第三方服务来提供或托管。商务管理引擎136可以适应商店特定工作流,并且在一些实施例中,可以结合管理员114和/或在线商店138。
将功能实施为应用程序142A-B可以使商务管理引擎136能够保持响应性,并减少或避免服务降级或更严重的基础设施故障等。
尽管隔离在线商店数据对于维护在线商店138与商家之间的数据隐私可能很重要,但也可能有理由收集和使用跨商店数据,例如,对于订单风险评估系统或平台支付设施而言,这两者都需要来自多个在线商店138的信息才能很好地执行。在一些实施例中,将这些组件移出商务管理引擎136并移入电子商务平台100内的它们自己的基础设施中可能是优选的。
平台支付设施120是利用来自商务管理引擎136的数据但被实施为单独的组件或服务的组件的示例。平台支付设施120可以允许与在线商店138交互的客户将其支付信息由商务管理引擎136安全地存储,使得客户只需输入支付信息一次。当客户访问不同的在线商店138时,即使他们以前从未到过那里,平台支付设施120也可以调用他们的信息以实现更快速和/或潜在地更不容易出错(例如,通过避免客户替代地需要重新输入其信息的情况下他们可能对信息的错误键入)的结账。这可以提供跨平台网络效果,在这种情况下,电子商务平台100随着更多商家和买家加入而变得对其商家和买家更有用,比如因为有更多的客户因为客户购买方面的易用性而更频繁地结账。为了最大化该网络的效果,给定客户的支付信息可以是可取得的并且跨多个在线商店138全局可用。
对于未包括在商务管理引擎136内的功能,应用程序142A-B提供了一种向电子商务平台100或各个在线商店138添加特征的方式。例如,应用程序142A-B可能能够访问和修改商家在线商店138上的数据,通过管理员114执行任务,通过用户界面(其例如通过扩展/API呈现)为商家实施新的流等。可以使商家能够通过应用搜索、推荐和支持128来发现和安装应用程序142A-B。在一些实施例中,可以开发商务管理引擎136、应用程序142A-B和管理员114以便一起工作。例如,可以在商务管理引擎136内部构建应用程序扩展点,应用程序142A和142B可以通过接口140B和140A访问这些应用程序扩展点以提供附加功能,并且这些应用程序扩展点可以在管理员114的用户界面中被呈现给商家。
在一些实施例中,应用程序142A-B可以通过接口140A-B向商家提供功能,比如应用程序142A-B能够向商家呈现交易数据(例如,App:“引擎,在移动App或管理员114中呈现我的app数据”),和/或商务管理引擎136能够要求应用程序根据需求执行工作(引擎:“App,给我这次结账的本地税费计算”)。
应用程序142A-B可以通过接口140A-B(例如,通过REST(代表性状态转移)和/或GraphQL API)而连接到商务管理引擎136,以便将通过商务管理引擎136和在该商务管理引擎内可用的功能和/或数据暴露于应用程序的功能。例如,电子商务平台100可以提供用于应用程序142A-B API的接口140A-B,这些应用程序可以连接到平台100外部的产品和服务。通过应用程序和API的使用而提供的灵活性(其例如是为应用程序开发而提供的)使电子商务平台100能够更好地适应商家的新的和独特的需求或解决特定的使用情况,而无需不断改变商务管理引擎136。例如,运输服务122可以通过运输或承运商服务API与商务管理引擎136集成,从而使电子商务平台100能够提供运输服务功能而不直接影响在商务管理引擎136中运行的代码。
取决于实施方式,应用程序142A-B可以利用API按需求拉取数据(例如,客户创建事件、产品改变事件或订单取消事件等)或在发生更新时推送数据。订阅模型可以用于在发生事件时将事件提供给应用程序142A-B,或用于提供关于商务管理引擎136的改变后的状态的更新。在一些实施例中,当与更新事件订阅相关的改变发生时,商务管理引擎136可以发布请求,比如发布到预定义的回调URL。该请求的主体可以包含对象的新状态和动作或事件的描述。更新事件订阅可以在管理员设施114中手动创建,或(例如,经由API 140A-B)自动创建。在一些实施例中,更新事件可以排队并与触发更新事件的状态改变异步地处理,这可以产生并未实时或接近实时分发的更新事件通知。
在一些实施例中,电子商务平台100可以提供应用程序搜索、推荐和支持128中的一个或多个。应用程序搜索、推荐和支持128可以包括:用于帮助应用程序的开发的开发者产品和工具、应用程序数据面板(例如,向开发者提供开发界面、向管理员提供应用程序管理、向商家提供应用程序定制等)、用于安装和提供关于提供对应用程序142A-B的访问权限的设施(例如,用于公共访问,比如在安装之前必须满足标准的情况,或供商家私用),为了使商家易于搜索满足其在线商店138需求的应用程序142A-B的应用程序搜索、用于向商家提供关于他们可以如何通过其在线商店138改善用户体验的建议的应用程序推荐等。在一些实施例中,应用程序142A-B可以被分配应用程序标识符(ID),比如用于链接到应用程序(例如,通过API)、搜索应用程序、进行应用程序推荐等。
应用程序142A-B可以大致分组为三类:面向客户的应用程序、面向商家的应用程序、集成应用程序等。面向客户的应用程序142A-B可以包括在线商店138或渠道110A-B,其是商家可以列出产品以供购买的地方(例如,在线商店、用于限时抢购的应用程序(例如,商家产品或来自第三方来源的机会性销售机会)、移动商店应用程序、社交媒体渠道、用于提供批发购买的应用程序等)。面向商家的应用程序142A-B可以包括允许商家管理其在线商店138(例如,通过与网络或网站相关或与移动设备相关的应用程序)、经营其业务(例如,通过与POS设备相关的应用程序)、发展其业务(例如,通过与运输(例如,代发货)相关的应用程序、使用自动化代理、使用过程流开发和改进)等的应用程序。集成应用程序可以包括提供参与业务经营的有用集成的应用程序,比如运输提供商112和支付网关106。
这样,电子商务平台100可以被配置为通过灵活的系统架构提供在线购物体验,该系统架构使商家能够以灵活且透明的方式与客户连接。通过实施例的示例购买工作流程可以更好地理解典型的客户体验,在示例购买工作流程中,客户在渠道110A-B上浏览商家的产品,将打算购买的产品添加到购物车,进行结账,并且为购物车的内容付款,从而为商家创建订单。然后,商家可以审查和履行(或取消)订单。然后将产品配送给客户。如果客户不满意,他们可能会将产品退回给商家。
在示例实施例中,客户可以通过多个不同的渠道110A-B(比如商家的在线商店138;实体店面,通过POS设备152;电子市场,通过集成到网站或社交媒体渠道中的电子购买按钮)浏览商家的产品。在一些情况下,渠道110A-B可以被建模为应用程序142A-B。商务管理引擎136中的展销组件可以被配置用于(例如使用产品数据对象或模型)创建和管理产品列表,以允许商家描述他们想要销售什么以及他们在哪里进行销售。产品列表与渠道之间的关联可以被建模为产品公布,并通过渠道应用程序(比如经由产品列举API)访问。产品可以具有许多属性和/或特性(如尺寸和颜色)以及许多变型,这些变型将可用选项扩充为所有属性的特定组合,例如尺寸为超小号的绿色变型或尺寸为大号的蓝色变型。产品可能具有为没有任何选项的产品创建的至少一个变型(例如,“默认变型”)。为了促进浏览和管理,可以将产品分组为集合、为产品提供产品标识符(例如,货号(SKU))等。产品的集合可以通过将产品手动分类为一种(例如,定制集合)、通过构建用于自动分类的规则集(例如,智能集合)等来构建。产品列表可以包括2D图像、3D图像或可以通过虚拟现实或增强现实接口等进行查看的模型。
在一些实施例中,购物车对象用于存储或跟踪客户打算购买的产品。购物车对象可以是渠道特定的,并且可以由多个购物车订单项组成,其中每个购物车订单项跟踪特定产品变型的数量。由于将产品添加到购物车并不意味着来自客户或商家的任何承诺,并且购物车的预期有效期可能是几分钟(而不是几天)的数量级上,因此表示购物车的购物车对象/数据可以被持久化到临时数据存储中。
然后客户进行结账。由商务管理引擎136生成的结账对象或页面可以被配置为接收客户信息以完成订单,比如客户联系信息、账单信息和/或运输细节。如果客户输入他们的联系信息但并未进行支付,则电子商务平台100可以(例如,经由弃单组件)向客户设备150发送消息以鼓励客户完成结账。由于这些原因,结账对象的有效期可能比购物车对象长得多(数小时或甚至数天),并且因此可能会持续存在。然后,客户为其购物车中的内容付款,从而为商家创建订单。在一些实施例中,商务管理引擎136可以被配置为经由支付处理组件与各种支付网关106和服务(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关)通信。可以通过卡服务器环境提供与支付网关106的实际交互。在结账过程结束时会创建订单。订单是商家与客户之间的销售合同,其中商家同意提供订单上列出的商品和服务(例如,订单订单项、运输订单项等)并且客户同意提供支付款项(含税)。一旦创建了订单,就可以向客户发送订单确认通知,并且经由通知组件向商家发送订单下达通知。当支付处理作业开始时,可以保留库存以避免过度销售(例如,商家可以使用针对每种变型的库存策略或配置来控制这种行为)。库存保留可能具有很短的时间跨度(几分钟),并且可能需要非常快速且可扩展以支持限时抢购或“限量销售(drop)”,在这些事件期间,会在特定位置和/或在特定(通常很短)时间内向买家提供产品的折扣、促销或有限库存以供销售。如果支付失败,则取消保留。在支付成功并创建订单后,保留将被转换为分配到特定位置的持久(长期)库存承诺。商务管理引擎136的库存组件可以记录变型的贮存位置,并跟踪启用了库存跟踪的变型的数量。该组件可以将产品变型(表示产品列举模板的面向客户的概念)与库存项目(表示数量和位置受到管理的项目的面向商家的概念)分离。库存水平组件可以跟踪可用于销售、对订单承诺或从库存转移组件(例如,供应商)传入的数量。
然后,商家可以审查和履行(或取消)订单。商务管理引擎136的审查组件可以实施商家用于在实际履行订单之前确保订单是适合于履行的业务过程。订单可能是欺诈性的,可能需要验证(例如,ID检查),可能具有需要商家等待以确保他们将接收到其款项的支付方法等。订单风险模型中可以持续存在风险和推荐。订单风险可以由欺诈检测工具生成、由第三方通过订单风险API提交等。在进行履行之前,商家可能需要在将订单标记为已支付之前捕获支付信息(例如,信用卡信息)或等待接收支付信息(例如,经由银行转账、支票等)。现在,商家可以准备要配送的产品。在一些实施例中,该业务流程可以由商务管理引擎136的履行组件来实施。履行组件可以基于库存位置和履行服务将订单的订单项分组形成逻辑履行工作单元。商家可以审查、调整工作单元并触发相关的履行服务,比如在商家拣选产品并将其打包到箱子中、购买运输标签并输入其跟踪编号时(例如,在商家所管理的位置)使用的手动履行服务,或是仅将项目标记为已履行。可替代地,API履行服务可以触发第三方应用程序或服务以便为第三方履行服务创建履行记录。履行订单存在其他可能性。如果客户不满意,他们可以将(多个)产品退回给商家。商家“取消销售”货品的业务过程可以通过退货组件来实施。退货可以包括各种不同的动作,比如:重新入库,此时曾被售出的产品实际上返回企业并可再次销售;退款,部分或全部退还从客户处收取的钱款;核算调整,记录退款金额(例如,包括是否存在任何重新入库的费用、或商品是否未被退回并留在客户手中);等。退货可以表示对销售合同(例如,订单)的改变,并且在这种情况下,电子商务平台100可以使商家意识到关于法律义务(例如,关于税费)的合规问题。在一些实施例中,电子商务平台100可以使商家能够随时间的推移跟踪销售合同,比如通过销售模型组件(比如,记录发生在货品上的销售相关事件的基于日期的仅追加分类账)来实施。
实施方式
本文描述的方法和系统可以部分或整体地通过在处理器上执行计算机软件、程序代码和/或指令的机器来部署。处理器可以是服务器、云服务器、客户端、网络基础设施、移动计算平台、固定计算平台或其他计算平台的一部分。处理器可以是能够执行程序指令、代码、二进制指令等的任何种类的计算设备或处理设备。处理器可以是或包括信号处理器、数字处理器、嵌入式处理器、微处理器或任何变型,比如可以直接或间接地促进存储在其上的程序代码或程序指令的执行的协处理器(数学协处理器、图形协处理器、通信协处理器等)。另外,处理器可以实现多个程序、线程和代码的执行。线程可以同时执行以增强处理器的性能并促进应用程序的同时操作。通过实施方式,本文描述的方法、程序代码、程序指令等可以在一个或多个线程中实施。该线程可以引起可能已被分配了与其相关联的优先级的其他线程;处理器可以基于优先级或基于根据程序代码中提供的指令的任何其他顺序来执行这些线程。处理器可以包括存储如本文和其他地方描述的方法、代码、指令和程序的存储器。处理器可以通过接口访问可以存储如本文和其他地方描述的方法、代码和指令的存储介质。与处理器相关联的用于存储计算设备或处理设备能够执行的方法、程序、代码、程序指令或其他类型的指令的存储介质可以包括但不限于CD-ROM、DVD、存储器、硬盘、闪存驱动器、RAM、ROM、缓存等中的一个或多个。
处理器可以包括一个或多个核,该一个或多个核可以提高多处理器的速度和性能。在一些实施例中,过程可以是组合两个或更多个独立核(称为管芯)的双核处理器、四核处理器、其他芯片级多处理器等。
本文描述的方法和系统可以部分或整体地通过在服务器、云服务器、客户端、防火墙、网关、集线器、路由器或其他这样的计算机和/或联网硬件上执行计算机软件的机器来部署。软件程序可以与服务器相关联,该服务器可以包括文件服务器、打印服务器、域服务器、互联网服务器、内联网服务器以及其他变型,比如次级服务器、主机服务器、分布式服务器等。服务器可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备、以及能够通过有线或无线介质访问其他服务器、客户端、机器和设备的接口等中的一个或多个。本文和其他地方描述的方法、程序或代码可以由服务器执行。另外,执行本申请中描述的方法所需的其他设备可以被视为与服务器相关联的基础设施的一部分。
服务器可以提供到其他设备的接口,这些其他设备包括但不限于客户端、其他服务器、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。另外,这种耦接和/或连接可以促进跨网络远程执行程序。在不脱离本披露内容的范围的情况下,将这些设备中的一些或全部联网可以促进在一个或多个位置处并行处理程序或方法。另外,通过接口连接到服务器的任何设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央存储库可以提供要在不同设备上执行的程序指令。在这种实施方式中,远程存储库可以充当程序代码、指令和程序的存储介质。
软件程序可以与客户端相关联,该客户端可以包括文件客户端、打印客户端、域客户端、互联网客户端、内联网客户端以及其他变型,比如次级客户端、主机客户端、分布式客户端等。客户端可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备、以及能够通过有线或无线介质访问其他客户端、服务器、机器和设备的接口等中的一个或多个。本文和其他地方描述的方法、程序或代码可以由客户端执行。另外,执行本申请中描述的方法所需的其他设备可以被视为与客户端相关联的基础设施的一部分。
客户端可以提供到其他设备的接口,这些其他设备包括但不限于服务器、其他客户端、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。另外,这种耦接和/或连接可以促进跨网络远程执行程序。在不脱离本披露内容的范围的情况下,将这些设备中的一些或全部联网可以促进在一个或多个位置处并行处理程序或方法。另外,通过接口连接到客户端的任何设备可以包括能够存储方法、程序、应用程序、代码和/或指令的至少一个存储介质。中央存储库可以提供要在不同设备上执行的程序指令。在这种实施方式中,远程存储库可以充当程序代码、指令和程序的存储介质。
本文描述的方法和系统可以部分或整体地通过网络基础设施来部署。网络基础设施可以包括比如计算设备、服务器、路由器、集线器、防火墙、客户端、个人计算机、通信设备、路由设备以及本领域已知的其他有源和无源设备、模块和/或组件等元件。除了其他组件之外,与网络基础设施相关联的(多个)计算和/或非计算设备可以包括比如闪存、缓冲器、堆栈、RAM、ROM等存储介质。本文和其他地方描述的过程、方法、程序代码、指令可以由一个或多个网络基础设施元件执行。
本文和其他地方描述的方法、程序代码和指令可以在不同设备中实施,这些设备可以在有线或无线网络中操作。无线网络的示例包括第4代(4G)网络(比如,长期演进(LTE))或者第5代(5G)网络、以及比如无线局域网(WLAN)等非蜂窝网络。然而,本文描述的原理可以同等地适用于其他类型的网络。
本文和其他地方描述的操作、方法、程序代码和指令可以在移动设备上或通过移动设备实施。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型计算机、掌上型计算机、上网本、寻呼机、电子书阅读器、音乐播放器等。除了其他组件之外,这些设备可以包括比如闪存、缓冲器、RAM、ROM等存储介质和一个或多个计算设备。可以使与移动设备相关联的计算设备能够执行存储在其上的程序代码、方法和指令。可替代地,移动设备可以被配置为与其他设备协作执行指令。移动设备可以与同服务器进行接口连接并且被配置为执行程序代码的基站通信。移动设备可以在对等网络、网状网络或其他通信网络上进行通信。程序代码可以存储在与服务器相关联的存储介质上并且由嵌入服务器内的计算设备执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。
计算机软件、程序代码和/或指令可以在机器可读介质上存储和/或访问,这些机器可读介质可以包括:在某一时间间隔内保留用于计算的数字数据的计算机组件、设备和记录介质;被称为随机存取存储器(RAM)的半导体存储装置;通常用于更持久的存储的大容量存储装置,比如光盘、磁存储形式(如硬盘、磁带、磁鼓、卡和其他类型);处理器寄存器、缓存存储器、易失性存储器、非易失性存储器;光学存储装置,比如CD、DVD;可移动介质,比如闪存(例如,U盘或密钥)、软盘、磁带、纸带、穿孔卡、独立RAM磁盘、Zip驱动器、可移动大容量存储装置、离线存储器等;其他计算机存储器,比如动态存储器、静态存储器、读/写存储装置、可变存储装置、只读存储器、随机存取存储器、顺序存取存储器、位置可寻址存储器、文件可寻址存储器、内容可寻址存储器、网络附加存储装置、存储区域网络、条形码、磁性墨水等。
本文描述的方法和系统可以将实体和/或无形之物从一种状态变换为另一种状态。本文描述的方法和系统还可以将表示实体和/或无形之物的数据从一种状态变换为另一种状态,比如从使用数据转换为标准化的使用数据集。
本文所描述和描绘的元素,包括在所有附图中的流程图和框图中的元素,暗示了元素之间的逻辑边界。然而,根据软件或硬件工程实践,所描绘的元素及其功能可以通过计算机可执行介质在具有处理器的机器上实施,该处理器能够执行作为单片软件结构、作为独立软件模块、或作为采用外部例程、代码、服务等的模块、或者作为以上的任何组合而存储于其上的程序指令,并且所有这样的实施方式都在本披露内容的范围内。这种机器的示例可以包括但不限于个人数字助理、膝上型计算机、个人计算机、移动电话、其他手持式计算设备、医疗设备、有线或无线通信设备、换能器、芯片、计算器、卫星、平板PC、电子书、小工具、电子设备、具有人工智能的设备、计算设备、联网设备、服务器、路由器等。此外,在流程图和框图中所描绘的元素或任何其他逻辑部件可以在能够执行程序指令的机器上实施。因此,虽然以上附图和描述阐述了所披露系统的多个功能方面,但除非明确说明或以其他方式从上下文清楚地看出,否则不应从这些描述中推断用于实施这些功能方面的软件的具体布置。类似地,将理解的是,上文所标识和描述的各个步骤都是可以改变的,并且这些步骤的顺序可以适于本文所披露的技术的特定应用。所有这样的改变和修改均旨在落入本披露内容的范围之内。这样,对各个步骤的顺序的描绘和/或描述不应该被理解为要求按特定顺序执行这些步骤,除非特定应用要求、或者明确声明或以其他方式从上下文清楚地看出。
上述方法和/或过程及其步骤可以在适合于特定应用的硬件、软件或硬件和软件的任何组合中实现。硬件可以包括通用计算机和/或专用计算设备、或特定计算设备、或特定计算设备的特定方面或部件。这些过程可以在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程设备、以及内部和/或外部存储器中实现。这些过程可以另外或者替代地在专用集成电路、可编程门阵列、可编程阵列逻辑、或者可以被配置为处理电子信号的任何其他设备或设备的组合中实施。将进一步理解的是,这些过程中的一个或多个过程可以被实现为能够在机器可读介质上执行的计算机可执行代码。
计算机可执行代码可以使用比如C等结构化程序设计语言、比如C++等面向对象的程序语言、或者任何其他高级或低级编程语言(包括汇编语言、硬件描述语言和数据库编程语言和技术),这些高级或低级编程语言可以被存储、编译或解释,以在以上设备之一、以及处理器的异构组合、处理器架构、或不同硬件和软件的组合、或能够执行程序指令的任何其他机器上运行。
因此,在一方面,上文描述的每个方法及其组合可以用计算机可执行代码来实施,这些计算机可执行代码当在一个或多个计算设备上执行时执行这些方法的步骤。在另一方面,这些方法可以用执行其步骤的系统来实施并且可以以多种方式跨设备分布,或者所有功能可以被集成到专用的独立设备或其他硬件中。在另一方面,用于执行与上述过程相关联的步骤的装置可以包括上述任何硬件和/或软件。所有这样的排列和组合均旨在落入本披露内容的范围之内。
本教导还可以扩展至以下编号条款中的一个或多个的特征:
1.一种计算机实施的方法,包括:
接收第一非同质化代币交易请求;
获得关于区块链网络的拥塞量度的网络拥塞指标;
确定该网络拥塞指标高于第一阈值水平;以及
响应于确定该网络拥塞指标高于该第一阈值水平,
对该第一非同质化代币交易请求进行排队,并且
检测队列触发器,并作为响应,在该区块链网络上生成并传播批量区块链交易,该批量区块链交易实施两个或更多个排队的非同质化代币交易请求,包括该第一非同质化代币交易请求和至少一个附加的非同质化代币交易请求。
2.如条款1所述的方法,其中,该至少一个附加的非同质化代币交易请求是在该第一非同质化代币交易请求之后接收到的,并且被附加到包含该第一非同质化代币交易请求的队列中。
3.如条款1所述的方法,其中,该网络拥塞指标基于以下各项中的一项或多项:该区块链网络上未确认交易的计数、该区块链网络上新交易的接收速率、该区块链网络上未确认交易的平均年龄、在一定时间窗口内未确认交易数量的变化率、每个计算操作的成本量度、或者交易费用。
4.如条款1所述的方法,其中,检测队列触发器包括以下操作中的一个或多个:确定自接收到该第一非同质化代币交易请求以来经过的时间已经超过最大时间,确定队列中的请求计数匹配或超过最大计数,或者确定该网络拥塞指标已经下降至低于第二阈值水平。
5.如条款4所述的方法,其中,该第二阈值水平匹配该第一阈值水平。
6.如条款1所述的方法,其中,排队包括至少将来自该第一非同质化代币交易请求的数据的一部分存储在存储器中,该部分数据足以生成实施该第一非同质化代币交易请求的区块链交易。
7.如条款1所述的方法,其中,该批量区块链交易引用批量处理函数,并提供更新的NFT状态以反映该两个或更多个非同质化代币交易请求的实施方式。
8.如条款1所述的方法,其中,该第一非同质化代币交易请求是铸币请求并且包括接收者地址。
9.如条款8所述的方法,其中,该至少一个附加的非同质化代币交易请求是另外的铸币请求并且包括相应的接收者地址。
10.如条款1所述的方法,其中,这些排队的非同质化代币交易请求包括关于先前铸造的代币的至少一个转移请求,并且该至少一个转移请求包括受让者地址和数字签名。
11.如条款1所述的方法,进一步包括在生成并传播该批量区块链交易之后,
接收第二非同质化代币交易请求;
获得关于该区块链网络的拥塞量度的更新的网络拥塞指标;
确定该更新的网络拥塞指标低于该第一阈值水平;以及
响应于确定该更新的网络拥塞指标低于该第一阈值水平,在该区块链网络上生成并发送单个区块链交易以单独实施该第二非同质化代币交易请求而不进行排队。
12.一种计算系统,包括:
处理器;以及
存储计算机可执行指令的存储器,这些可执行指令在被该处理器执行时使该处理器:
接收第一非同质化代币交易请求;
获得关于区块链网络的拥塞量度的网络拥塞指标;
确定该网络拥塞指标高于第一阈值水平;以及
响应于确定该网络拥塞指标高于该第一阈值水平,
对该第一非同质化代币交易请求进行排队,并且
检测队列触发器,并作为响应,在该区块链网络上生成并传播批量区块链交易,该批量区块链交易实施两个或更多个排队的非同质化代币交易请求,包括该第一非同质化代币交易请求和至少一个附加的非同质化代币交易请求。
13.如条款12所述的计算系统,其中,该至少一个附加的非同质化代币交易请求是在该第一非同质化代币交易请求之后接收到的,并且被附加到包含该第一非同质化代币交易请求的队列中。
14.如条款12所述的计算系统,其中,该网络拥塞指标基于以下各项中的一项或多项:该区块链网络上未确认交易的计数、该区块链网络上新交易的接收速率、该区块链网络上未确认交易的平均年龄、在一定时间窗口内未确认交易数量的变化率、每个计算操作的成本量度、或者交易费用。
15.如条款12所述的计算系统,其中,这些指令在被该处理器执行时使该处理器通过以下操作中的一个或多个来检测队列触发器:确定自接收到该第一非同质化代币交易请求以来经过的时间已经超过最大时间,确定队列中的请求计数匹配或超过最大计数,或者确定该网络拥塞指标已经下降至低于第二阈值水平。
16.如条款15所述的计算系统,其中,该第二阈值水平匹配该第一阈值水平。
17.如条款12所述的计算系统,其中,这些指令在被该处理器执行时使该处理器通过以下操作来进行排队:至少将来自该第一非同质化代币交易请求的数据的一部分存储该存储器中,该部分数据足以生成实施该第一非同质化代币交易请求的区块链交易。
18.如条款12所述的计算系统,其中,该批量区块链交易引用批量处理函数,并提供更新的NFT状态以反映该两个或更多个非同质化代币交易请求的实施方式。
19.如条款12所述的计算系统,其中,这些指令在被该处理器执行时进一步使该处理器在生成并传播该批量区块链交易之后,
接收第二非同质化代币交易请求;
获得关于该区块链网络的拥塞量度的更新的网络拥塞指标;
确定该更新的网络拥塞指标低于该第一阈值水平;以及
响应于确定该更新的网络拥塞指标低于该第一阈值水平,在该区块链网络上生成并发送单个区块链交易以单独实施该第二非同质化代币交易请求而不进行排队。
20.一种存储有计算机可执行指令的非暂态计算机可读介质,这些可执行指令在被处理器执行时使该处理器:
接收第一非同质化代币交易请求;
获得关于区块链网络的拥塞量度的网络拥塞指标;
确定该网络拥塞指标高于第一阈值水平;以及
响应于确定该网络拥塞指标高于该第一阈值水平,
对该第一非同质化代币交易请求进行排队,并且
检测队列触发器,并作为响应,在该区块链网络上生成并传播批量区块链交易,该批量区块链交易实施两个或更多个排队的非同质化代币交易请求,包括该第一非同质化代币交易请求和至少一个附加的非同质化代币交易请求。
Claims (14)
1.一种计算机实施的方法,包括:
接收第一非同质化代币交易请求;
获得关于区块链网络的拥塞量度的网络拥塞指标;
确定该网络拥塞指标高于第一阈值水平;以及
响应于确定该网络拥塞指标高于该第一阈值水平,
对该第一非同质化代币交易请求进行排队,并且
检测队列触发器,并作为响应,在该区块链网络上生成并传播批量区块链交易,该批量区块链交易实施两个或更多个排队的非同质化代币交易请求,包括该第一非同质化代币交易请求和至少一个附加的非同质化代币交易请求。
2.如权利要求1所述的方法,其中,该至少一个附加的非同质化代币交易请求是在该第一非同质化代币交易请求之后接收到的,并且被附加到包含该第一非同质化代币交易请求的队列中。
3.如权利要求1或2所述的方法,其中,该网络拥塞指标基于以下各项中的一项或多项:该区块链网络上未确认交易的计数、该区块链网络上新交易的接收速率、该区块链网络上未确认交易的平均年龄、在一定时间窗口内未确认交易数量的变化率、每个计算操作的成本量度、或者交易费用。
4.如前述权利要求中任一项所述的方法,其中,检测队列触发器包括以下操作中的一个或多个:确定自接收到该第一非同质化代币交易请求以来经过的时间已经超过最大时间,确定队列中的请求计数匹配或超过最大计数,或者确定该网络拥塞指标已经下降至低于第二阈值水平。
5.如权利要求4所述的方法,其中,该第二阈值水平匹配该第一阈值水平。
6.如前述权利要求中任一项所述的方法,其中,排队包括至少将来自该第一非同质化代币交易请求的数据的一部分存储在存储器中,该部分数据足以生成实施该第一非同质化代币交易请求的区块链交易。
7.如前述权利要求中任一项所述的方法,其中,该批量区块链交易引用批量处理函数,并提供更新的NFT状态以反映该两个或更多个非同质化代币交易请求的实施方式。
8.如前述权利要求中任一项所述的方法,其中,该第一非同质化代币交易请求是铸币请求并且包括接收者地址。
9.如权利要求8所述的方法,其中,该至少一个附加的非同质化代币交易请求是另外的铸币请求并且包括相应的接收者地址。
10.如前述权利要求中任一项所述的方法,其中,这些排队的非同质化代币交易请求包括关于先前铸造的代币的至少一个转移请求,并且该至少一个转移请求包括受让者地址和数字签名。
11.如前述权利要求中任一项所述的方法,进一步包括在生成并传播该批量区块链交易之后,
接收第二非同质化代币交易请求;
获得关于该区块链网络的拥塞量度的更新的网络拥塞指标;
确定该更新的网络拥塞指标低于该第一阈值水平;以及
响应于确定该更新的网络拥塞指标低于该第一阈值水平,在该区块链网络上生成并发送单个区块链交易以单独实施该第二非同质化代币交易请求而不进行排队。
12. 一种计算系统,包括:
处理器;以及
存储计算机可执行指令的存储器,这些计算机可执行指令在被该处理器执行时使该处理器执行如前述权利要求中任一项所述的方法。
13.一种计算机程序,该计算机程序在被处理器执行时被配置为使该处理器执行根据如权利要求1至11中任一项所述的方法的步骤。
14.一种存储有计算机可执行指令的非暂态计算机可读介质,这些计算机可执行指令在被处理器执行时用于使该处理器执行根据如权利要求1至11中任一项所述的方法的步骤。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/473284 | 2021-09-13 | ||
US17/473,284 US20230088674A1 (en) | 2021-09-13 | 2021-09-13 | Systems and methods for blockchain network congestion-adaptive digital asset event handling |
EP22169579.4A EP4149046A1 (en) | 2021-09-13 | 2022-04-22 | Systems and methods for blockchain network congestion-adaptive digital asset event handling |
EP22169579.4 | 2022-04-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115809909A true CN115809909A (zh) | 2023-03-17 |
Family
ID=81346364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211043621.9A Pending CN115809909A (zh) | 2021-09-13 | 2022-08-29 | 区块链网络拥塞自适应数字资产事件处置系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230088674A1 (zh) |
EP (1) | EP4149046A1 (zh) |
KR (1) | KR20230039523A (zh) |
CN (1) | CN115809909A (zh) |
AU (1) | AU2022204627A1 (zh) |
CA (1) | CA3166041A1 (zh) |
TW (1) | TW202312068A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761068A (zh) * | 2021-09-15 | 2021-12-07 | 虎彩印艺股份有限公司 | 一种提升区块链网络并发处理能力的方法 |
US20240070659A1 (en) * | 2022-08-30 | 2024-02-29 | Coinbase, Inc. | Systems and methods for facilitating blockchain operations across multiple blockchain networks using a decentralized exchange |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201711125D0 (en) * | 2017-07-11 | 2017-08-23 | Nchain Holdings Ltd | Computer-implemented system and method |
US10884810B1 (en) * | 2017-11-16 | 2021-01-05 | Amazon Technologies, Inc. | Workload management using blockchain-based transaction deferrals |
US11924360B2 (en) * | 2018-10-08 | 2024-03-05 | Green Market Square Limited | Blockchain timestamp agreement |
KR20200139033A (ko) * | 2019-06-03 | 2020-12-11 | 삼성에스디에스 주식회사 | 트랜잭션 가속 처리 장치 및 그 방법 |
US11095431B2 (en) * | 2019-12-13 | 2021-08-17 | DLT Global, Inc. | Blockchain transaction manager |
US11928105B2 (en) * | 2021-04-05 | 2024-03-12 | Ronald George Martinez | System for tracking data associated with a digital token |
US11985253B2 (en) * | 2021-08-04 | 2024-05-14 | Pinterest, Inc. | Non-fungible token authentication |
US11902443B2 (en) * | 2021-09-08 | 2024-02-13 | Bank Of America Corporation | System for linking and partitioning non-fungible tokens |
-
2021
- 2021-09-13 US US17/473,284 patent/US20230088674A1/en active Pending
-
2022
- 2022-04-22 EP EP22169579.4A patent/EP4149046A1/en active Pending
- 2022-06-29 AU AU2022204627A patent/AU2022204627A1/en active Pending
- 2022-06-29 CA CA3166041A patent/CA3166041A1/en active Pending
- 2022-07-06 TW TW111125313A patent/TW202312068A/zh unknown
- 2022-08-22 KR KR1020220104877A patent/KR20230039523A/ko unknown
- 2022-08-29 CN CN202211043621.9A patent/CN115809909A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230039523A (ko) | 2023-03-21 |
US20230088674A1 (en) | 2023-03-23 |
EP4149046A1 (en) | 2023-03-15 |
AU2022204627A1 (en) | 2023-03-30 |
TW202312068A (zh) | 2023-03-16 |
CA3166041A1 (en) | 2023-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11201739B2 (en) | Systems and methods for tying token validity to a task executed in a computing system | |
EP3799401B1 (en) | Systems and methods for facilitating authentication of emails sent by 3rd parties | |
US11201738B2 (en) | Systems and methods for associating a user with a task executed in a computing system | |
EP4148643A1 (en) | Non-fungible-token-based commerce attribute | |
CN115809909A (zh) | 区块链网络拥塞自适应数字资产事件处置系统和方法 | |
US11847585B2 (en) | Systems and methods for selectively preventing origination of transaction requests | |
US11893613B2 (en) | Systems, manufacture, and methods for controlling access to resources | |
US20220398572A1 (en) | Systems and methods for controlling transfers of digital assets | |
US20220230178A1 (en) | Computer-implemented systems and methods for detecting fraudulent activity | |
US11522862B2 (en) | Systems and methods for a trusted entity to facilitate authentication of emails sent by 3rd parties | |
US20220036298A1 (en) | Systems and methods for obtaining information from a digital message | |
CN114880652A (zh) | 基于应用程序编程接口交互生成账户权限的系统和方法 | |
US20240020683A1 (en) | Methods and systems for multiple gating verifications based on a blockchain wallet | |
CA3098007C (en) | System and method for merging accounts | |
US20220398568A1 (en) | Methods and systems for authorizing devices in multiple domains | |
US20230401571A1 (en) | Maintaining blockchain state when performing non-blockchain commerce workflow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |