可视区块链浏览器的制作方法

文档序号:18888375发布日期:2019-10-15 21:18阅读:269来源:国知局
可视区块链浏览器的制作方法

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

区块链网络可以维护一个或多个区块链。区块链是用于存储数据时防止恶意团体篡改和操纵数据的数据结构(下面将详细介绍)。存储在区块链中的数据可包含复杂的值,比如哈希值,并且对于非技术用户和技术用户来说,以纯文本的形式查看区块链的数据是具有挑战性的且不直观的。如果使用线性信息列表显示区块链信息,那么查找信息和查看相关数据之间的关系会很困难。持续查看线性信息列表会导致不良的视觉疲劳和受挫。



技术实现要素:

本申请文件的实施方式包括用于将区块链数据可视化的计算机实施方法。更具体地,本申请文件的实施方式涉及提供用于区块链数据的图形化查看和导航的区块链浏览器。在一些实施方式中,操作包括:从客户端设备接收对区块链可视化用户界面的请求;基于该区块链生成该区块链可视化用户界面,该区块链可视化用户界面包括链式图形结构,该链式图形结构直观地描绘了该区块链以及在该区块链网络中已经发生的交易的交易信息的至少一部分;以及提供用于显示在客户端设备上的该区块链可视化用户界面,以响应对所述区块链可视化用户界面的请求。

其他实施方式包括相应的系统、装置和编码在计算机存储设备上的被配置为执行各方法的操作的计算机程序。

这些实施方式和其他实施方式可各自可选地包含以下一个或多个特征:

该链式图形结构可包括一连串可选的区块表示,每个区块表示代表该区块链中的一个区块。响应于对与该区块链中的特定区块对应的特定区块表示的用户选择,可接收对区块细节用户界面的请求。从该区块链的共识版本可检索该特定区块的区块信息。基于与区块链网络中的节点的交互可确定该区块链的该共识版本。例如,作为该区块链网络中的节点的网络服务器可使用最长链和/或最重链标准从多个候选路径中选择一连串区块作为该区块链的该共识版本。所述多个候选路径可包括在不同时间从该区块链网络中的不同节点接收到的不同区块。基于检索到的区块信息可生成区块细节用户界面。可提供该区块细节用户界面,以响应对该区块细节用户界面的请求。可选区块表示可与可选链接连接,并且该区块链可视化用户界面可被配置为响应于对特定可选链接的用户选择,重置该链式图形结构,使得作为所选链接的目标的可选区块表示被布置在该链式图形结构的顶部。该交易信息可包括与该区块链的该共识版本相关联的最近交易的信息。该交易信息可包括第一交易的交易标识信息。响应于对交易标识信息的用户选择,可接收对针对第一交易的交易明细用户界面的请求。利用该区块链的该共识版本可检索该第一交易的交易信息。基于第一交易的交易信息可生成该交易明细用户界面。可提供该交易明细用户界面,以响应对该交易明细用户界面的请求。从客户端设备可接收对区块列表用户界面的请求。从该区块链的该共识版本中可检索区块信息。基于检索到的区块信息可生成区块列表用户界面。可提供该区块列表用户界面,以响应对该区块列表用户界面的请求。从该客户端设备可接收对交易列表用户界面的请求。利用该区块链的该共识版本可检索交易信息。基于检索到的该交易信息可生成该交易列表用户界面。可提供该交易列表用户界面,以响应对该交易列表用户界面的请求。从该客户端设备可接收对账户列表用户界面的请求。利用该区块链的该共识版本可检索该区块链网络中的节点的账户信息。基于检索到的账户信息可生成该账户列表用户界面。可提供该账户列表用户界面,以响应对该账户列表用户界面的请求。从该客户端设备可接收对合约列表用户界面的请求。使用该区块链的该共识版本可检索合约信息。基于检索到的该合约信息可生成合约列表用户界面。可提供该合约列表用户界面,以响应对该合约列表用户界面的请求。该区块链的更新的共识版本可被识别。基于该区块链的该更新的共识版本,可生成更新的区块链可视化用户界面,并被提供给客户端设备。

本申请文件还提供了与一个或多个处理器耦接且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由一个或多个处理器执行时,促使所述一个或多个处理器根据本申请文件提供的方法的实施方式执行操作。

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

应了解,根据本申请文件的方法可包括本申请文件描述的各方面和特征的任何组合。也即,根据本申请文件的方法不限于本申请文件具体描述的各方面和特征的组合,还包括所提供的方面和特征的任意组合。

以下在附图和描述中阐述了本申请文件的一个或多个实施方式的细节。本申请文件的其他特征和优点从申请文件和附图以及权利要求将是显而易见的。

附图说明

图1描绘了可用于执行本申请文件实施方式的环境的示例。

图2描绘了根据本申请文件实施方式的概念性架构的示例。

图3描绘了可用于执行本申请文件实施方式的环境的示例。

图4描绘了根据本申请文件实施方式的主页用户界面的示例。

图5描绘了根据本申请文件实施方式的区块列表用户界面的示例。

图6描绘了根据本申请文件实施方式的区块细节用户界面的示例。

图7描绘了根据本申请文件实施方式的交易列表用户界面的示例。

图8描绘了根据本申请文件实施方式的账户列表用户界面的示例。

图9描绘了根据本申请文件实施方式的账户明细用户界面的示例。

图10描绘了根据本申请文件实施方式的合约列表用户界面的示例。

图11描绘了根据本申请文件实施方式的合约明细用户界面的示例。

图12描绘了根据本申请文件实施方式的用于交易的合约明细用户界面的示例。

图13描绘了根据本申请文件实施方式的针对合约代码的合约明细用户界面的示例。

图14描绘了可根据本申请文件实施方式执行的过程的示例。

图15描绘了根据本申请文件实施方式的装置的模块的示例。

各图中的相同的附图标记表示相同的元素。

具体实施方式

本申请文件的实施方式包括用于将区块链数据可视化的计算机实施方法。更具体地,本申请文件的实施方式涉及提供用于区块链数据的图形化查看和导航的区块链浏览器。在一些实施方式中,操作包括:从客户端设备接收对区块链可视化用户界面的请求;基于区块链生成区块链可视化用户界面,该区块链可视化用户界面包括链式图形结构,该链式图形结构直观地描绘了区块链以及在该区块链网络中已经发生的交易的交易信息的至少一部分;以及响应于对所述区块链可视化用户界面的请求提供用于显示在客户端设备上的该区块链可视化用户界面。

为本申请文件实施方式提供进一步背景,且如上所述,分布式账本系统(dls),其也可被称为共识网络(例如,由点对点节点构成),和区块链网络,使得参与的实体能安全地且不可篡改地进行交易和存储数据。本文所用术语“区块链”在不参考任何特定用例情况下通常指dls。

区块链是以交易不可篡改且随后可被验证的方式存储交易的数据结构。区块链包括一个或多个区块。链中的每个区块通过包含在链中紧邻其之前的前一区块的加密哈希值(cryptographichash)链接至该前一区块。每个区块也包括时间戳,其自身的加密哈希值以及一个或多个交易。已由区块链网络中的节点验证过的交易经哈希处理并编码到默克尔(merkle)树中。默克尔树为一种数据结构,其中:该树的叶节点处的数据是经哈希处理的,且在该树每个分支中的所有哈希值都在该分支的根部级联(concatenated)。此过程沿树持续一直到整个树的根,在整个树的根处存有代表树中所有数据的哈希值。通过确定哈希值是否与树的结构一致而可快速验证该哈希值是否为存储在该树中的交易的哈希值。

尽管区块链是用于存储交易的数据结构,但区块链网络是管理、更新以及维护一个或多个区块链的计算节点的网络。如上所述,区块链网络可被提供为公有区块链网络、私有区块链网络或联盟区块链网络。在公有区块链网络中,共识过程由共识网络的节点控制。例如,成百上千甚至成百万的实体可以协同运作一个公有区块链网络,每个实体操作该公有区块链网络中的至少一个节点。相应地,公有区块链网络可被认为是针对于参与实体的共有网络。在一些示例中,大多数实体(节点)必须对每个区块签名以使该区块有效,并被添加至区块链网络的区块链(分布式账本)中。示例公有区块链网络包括利用分布式账本(被称为区块链)的特定点对点支付网络。如上所述,术语“区块链”在不专门提及任何特定区块链网络的情况下,通常用于指代分布式账本。

通常来说,公有区块链网络支持公开交易。公开交易与公有区块链网络内的所有节点共享,且公有区块链网络中的所有节点存储于全局区块链中。全局区块链是跨所有节点复制的区块链。也即,所有节点相对于全局区块链都处于完全共识状态。为达成共识(例如,同意将区块添加至区块链),共识协议在该公有区块链网络中被实施。共识协议的示例包括,但不限于,工作量证明(pow)、权益证明(pos)以及权益证明(poa)。pow在本文作为非限制性示例被进一步引用。

通常,私有区块链网络私有区块链网络针对特定实体提供,该特定实体集中控制读写权限。该实体控制哪些节点能参与到该区块链网络中。因此,私有区块链网络通常被称为许可网络,其限制允许谁可以参与该网络以及他们的参与级别(例如,只在特定交易中)。各种类型的访问控制机制可被使用(例如,现有参与者投票添加新实体,监管机构可以控制进入资格)。

通常,联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识过程由被授权的节点集控制,一个或多个节点由相应实体(例如,金融机构、保险公司)操作。例如,具有十(10)个实体(例如,金融机构、保险公司)的联盟可以运作一个联盟区块链网络,其中每个实体操作该联盟区块链网络中的至少一个节点。因此,联盟区块链网络可被认为是与参与的实体相关的私有网络。在一些示例中,每个实体(节点)必须对每个区块签名以使该区块有效,并被添加到该区块链中。在一些示例中,实体(节点)的至少一个子集(例如至少7个实体)必须对每个区块签名以使区块有效并被添加到区块链。

本申请文件参考公有区块链网络进一步详细描述了本文的实施方式,该公有区块链网络在参与的实体之间公有的。然而,可以预期,本申请文件的实施方式可以在任何适当类型的区块链网络中实现。

鉴于以上背景,本申请文件进一步详述了本文的实施方式。更具体地,且如上所述,本申请文件的实施方式涉及提供一种用于区块链数据的图形化查看和导航的区块链浏览器。

区块链浏览器可被提供为用于查看区块链信息的可视化工具。该区块链浏览器的主页可以显示区块链上的关键数据,包括节点信息、交易信息、账户信息以及合约信息。由于区块是区块链信息的一个重要部分,因此区块信息可以为用户突出显示。例如,区块信息可在区块链浏览器中以展示相关区块的图形化联系的图形化结构显示。这种图形化方法可实现方便又直观地显示区块链中的区块之间的关系,从而允许用户直观地体验并浏览区块链的链结构。用户可选择连接相关区块的图形化链接以直观地浏览区块链。

所述图形化结构可与文本显示结合。例如,区块信息可在区块的图形表示上被直接显示,且响应于对表示出的区块的选择,区块的进一步细节可被显示。在区块链浏览器内,用户可选择区块、账户、交易或合约标识信息以查看相应区块、账户、交易或合约的详细信息。对于熟悉区块链详细技术和知识的用户以及不熟悉区块链详细技术的非技术性用户,区块链浏览器都可以是有用的。

图1描绘了可用于执行本申请文件实施方式的示例性环境100。在一些示例中,示例性环境100使得实体能参与到区块链网络102中。区块链网络102可以是公有区块链网络、私有区块链网络或联盟区块链网络。示例性环境100包括计算设备106、108以及网络110。在一些示例中,网络110包括局域网(lan)、广域网(wan)、因特网或其组合,且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,网络110可通过有线和/或无线通信链接被访问。通常,网络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包括实体层202、承载服务层204和区块链网络层206。在所描述的示例中,实体层202包括三个实体,实体_1(e1)、实体_2(e2)和实体_3(e3),每个实体具有各自的交易管理系统208。

在所描述事例中,承载服务层204包括针对每个交易管理系统208的接口210。在一些示例中,各交易管理系统208使用协议(例如,超文本传输安全协议(https))通过网络(例如,图1的网络110)与其对应的接口210通信。在一些示例中,每个接口210在相应交易管理系统208和区块链网络层206之间提供通信连接。更具体地,接口210与区块链网络层206中的区块链网络212通信。在一些示例中,接口210和区块链网络层206间的通信是利用远程过程调用(rpcs)进行的。在一些示例中,接口210“承载”用于相应交易管理系统208的区块链网络节点。例如,接口210提供用于访问区块链网络212的应用编程接口(api)。

如本文所述,区块链网络212被提供为包括多个节点214的点对点网络,所述多个节点214将信息不可篡改地记录在区块链216中。尽管只示意性地描绘了单个区块链216,但是在区块链网络212上提供并维护了区块链216的多个副本。例如,每个节点214存储区块链的一个副本。在一些实施方式中,区块链216存储与交易相关联的信息,该交易是在参与区块链网络的两个或更多实体之间进行的。

图3描绘了可用于执行本申请文件实施方式的示例性环境300。在一些示例中,示例性环境300使得实体能参与到区块链网络302中。示例性环境300包括计算设备304、305、306、308、310和网络312。在一些示例中,网络312包括局域网(lan)、广域网(wan)、因特网或其组合,且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,网络310可通过有线和/或无线通信链接被访问。

在所描述的示例中,计算设备304、305和306可以各自包括任何适当的计算系统使其能够作为节点参与到区块链网络302中。每个计算设备304、305和306可以存储由区块链网络302维护的区块链副本。计算设备304可以是或包括网络服务器,该网络服务器被配置为提供用于区块链网络302的可视化信息的区块链浏览器。

在一些实施方式中,计算设备304不参与区块验证,但监控区块链网络302以确定包括计算设备305和306在内的其它参与节点何时达成区块链的共识版本。计算设备304可以存储区块链的共识版本,以用于生成区块链可视化用户界面。

计算设备304可从客户端设备诸如计算设备308或计算设备310接收对区块链可视化用户界面的请求。在一些实施方式中,区块链网络302的节点可以用作客户端设备。例如,计算设备306的用户可以利用在计算设备306上运行的浏览器向计算设备304发送对区块链可视化用户界面的请求。

响应于对区块链可视化用户界面的请求,计算设备304可以基于储存的区块链的共识版本生成区块链可视化用户界面(例如,作为网页),并将生成的区块链可视化用户界面发送至请求客户端设备。若区块链网络302为私有区块链网络或联盟区块链网络,对区块链可视化用户界面的请求可以包括用户授权信息,该用户授权信息可在生成区块链可视化用户界面并将其发送至请求客户端设备之前由计算设备304来验证。

区块链可视化用户界面可在请求客户端设备上被显示(例如,如显示出的用户界面314所示)。如下文所详述的,显示的用户界面314可以被更新以反映在区块链的新共识版本中的新信息。另外,与显示的用户界面314的用户交互可以导致对例如用于显示区块列表、用于显示区块细节、用于显示交易明细、用于显示账户列表、用于显示账户明细、用于显示合约列表、用于显示合约明细、用于显示由用户对区块链网络信息的搜索产生的搜索结果页面的其它用户界面的请求。

图4描绘了根据本申请文件实施方式的示例性主页用户界面400。主页用户界面400可以是当客户端设备向网络服务器发送区块链可视化工具请求时所显示的初始页面。

摘要区域402显示区块链网络的摘要信息,包括区块数(blockquantity)404、交易总数(totaltransactions)406、合约总数(totalcontracts)408和节点计数(nodes)410。合约可被称为智能合约,该合约为存储在区块链中的可执行程序,且可以由区块链网络中的节点执行。合约的执行可以导致区块链网络交易。

节点状态区域412显示区块链网络节点的摘要信息,包括节点标识(nodeid)、节点地址信息(nodeip)和节点状态信息(op.status)。节点状态图414表明参与节点的比例,其阴影部分416代表非参与节点,以及剩余部分代表参与节点。参与节点参与针对区块链网络的共识建立。

交易历史区域(transactionhistory)420显示区块链网络的最近交易历史信息。在交易量图表422中绘制每天的交易量。如注释424所示,在2018年10月9日区块链网络中已发生170笔交易。

区块区域(blocks)430显示包括在区块链的共识版本中的关于区块的信息。链式图形结构431包括表示一组区块的区块表示432、434、436和438,该组区块可以为例如最近被添加到区块链的共识版本中的多个区块。每个区块表示432、434、436和438可以显示区块高度值和区块生成时间。区块的区块高度可表明在区块链中该区块之前的区块数目。

附加信息可以显示在每个区块表示432、434、436、438旁边。例如,对于与区块表示432对应的区块,显示区块哈希值(blockhash)440、区块交易信息442以及区块合约执行消耗信息(blockgas)444。区块哈希值440为对应于区块表示432的区块的内容的哈希值。区块交易信息442表明对应于区块表示432的区块在被添加到区块链之前在5秒内累积了5个交易。区块合约执行消耗信息444表示执行与对应于区块表示432的区块相关联的合约所需的计算工作。

用户可选择特定区块表示432、434、436或438以请求显示特定区块的详细信息的区块细节用户界面(下面针对图6讨论)。在区块区域430内显示的区块表示的数量可以基于客户端设备的屏幕尺寸。在一些实施方式中,用户可以在区块区域430内滚动查看区块链中的其它区块。可以选择查看所有区块链接(viewall)446以请求区块列表用户界面(下面针对图5讨论),其中用户可以查看区块的列表并导航至区块链的特定区块。

用户可以选择区块表示间的链接(如链接448)以重置区块区域430内的区块图形结构431。例如,若用户选中链接448,则区块表示436可被布置于链式图形结构431的顶部,区块表示432和434可从区块区域430中被移除(例如,不再显示在区块区域430中),并且紧随区块表示438之后表示两个区块的另外两个区块表示可以在链式图形结构中显示出来,这两个区块表示在区块表示438下方且与其相连。

交易区域(transactions)450包括针对一组交易的交易信息。该一组交易可以为,例如,针对区块链已发生的最近一组交易。作为另一示例,在一些实施方式中,用户可选择特定区块表示432、434、436或438(或针对特定区块的交易信息项,例如交易信息442)以查看交易区域450中对应区块的交易信息。

在交易区域450中可以针对每个交易显示各种交易明细。例如,对于交易452,显示交易标识(trans#)454、发送账户标识(sender.)456、接收账户标识(receiver)458和交易时间戳460。可以选择特定交易来请求显示针对特定交易的详细交易信息的交易明细用户界面(下面针对图8讨论)。可以选择查看所有交易链接(viewall)462来请求交易列表用户界面(下面针对图7讨论),其中用户可以查看交易列表。

主页用户界面400可被配置成刷新以显示区块链的更新的共识版本的信息。例如,自主页用户界面400的最近刷新后,区块链网络中的节点可能已经就区块链的更新的共识版本达成共识。主页用户界面400可被配制成周期性地(例如,每分钟)向网络服务器发送请求,以请求更新的用户界面。网络服务器可以确定是否有区块链的更新的共识版本可用,如果是,则向客户端设备发送更新的用户界面400。再如,主页用户界面400的不同区域或部分可被配置成接收信息更新(具有来自网络服务器的新信息)并更新相应区域或部分以显示更新的信息。网络服务器可被配置成响应于确定新的区块链的共识版本可用,向主页用户界面400(或特定区域或部分)推送新信息。

主页用户界面400包括页眉470。页眉470包括账户链接(accounts)472、合约链接(contracts)474、区块链接(blocks)476和交易链接(transactions)478,使得用户能分别导航至账户列表用户界面(下面针对图9讨论)、合约列表用户界面(下面针对图12讨论)、区块列表用户界面或交易列表用户界面。页眉470可显示在每个随后显示的用户界面上。当处于除主页用户界面400之外的用户界面时,可以选择在相应页眉中显示的主页链接(homepage)480以返回到主页用户界面400。

页眉470包括搜索框482,该搜索框482使得用户能够搜索与区块链网络相关联的信息。例如,搜索框482可以使用户能够输入区块高度或区块哈希值来搜索特定区块。可以显示搜索结果页面使得用户能够选择特定区块搜索结果,以(例如,在区块细节用户界面中)查看区块细节。其它搜索示例包括用户使用交易标识或交易哈希值来搜索交易,使用账户标识或账户哈希值来搜索账户,或使用合约标识或合约哈希值搜索合约。用户可以点击相应搜索结果以在相应交易明细、账户明细或合约明细界面中查看特定交易、账户或合约。

在一些实施方式中,主页用户界面400包括一个或多个过滤器选项。例如,用户可以选择过滤控制490以查看对于区块区域430可用的过滤器。过滤控制490可以使区块区域430被过滤以显示在给定时间范围内生成的区块、非空区块(例如滤除空区块)等。再如,用户可以选择过滤控制492以查看对于交易区域450可用的过滤器。过滤控制490可以使得交易区域450被过滤以显示在给定时间范围内生成的交易、与特定账户相关联的交易或与其它标准匹配的交易。

图5描绘了根据本申请文件实施方式的示例性区块列表(blocklist)用户界面500。响应于对主页用户界面400的区块区域430中的查看所有区块链接446的选择、或响应于对主页用户界面400的页眉470中的区块链接476或在另一用户界面中示出的区块链接的选择,区块列表用户界面500可由网络服务器生成、提供给请求客户端设备、并显示在客户端设备上。

区块链网络102的区块的区块信息可以以页面形式显示于区块列表用户界面500中。每页可以显示预定数量的区块(例如,十个)。页面导航区域502可以使用户能够导航至特定页面或配置在每个页面中显示多少区块。默认地,最近一组区块可首先显示在第一页上。当前显示页面内的区块的区块信息可以显示于区块列表(blocklist)503中。区块列表503中的每一行对应于特定的区块。例如,区块列表503包括行504。

对于当前显示页面内的每个区块,可在区块列表503的相应的行中显示以下信息:区块高度(blockheight)505、区块生成时间(timestamp)506、交易计数(transactioncount)508、合约执行消耗量(gasconsumption)510和区块哈希值(blockhash)512。

区块的区块高度505表明了区块链中该区块之前的区块数目。区块高度505可用于识别给定区块。例如,行504包括为170468的区块高度516。

区块的区块生成时间506表明节点将区块添加到区块链网络的时间点。例如,区块生成时间518表明与行504相关联的区块是在2018年11月8日14点26分14秒生成的。

区块的交易计数508表明在区块中包括多少交易。例如,交易计数520表明与行504相关联的区块包括5个交易。

区块的合约执行消耗量510表明执行与该区块相关联的合约所需的计算工作量。例如,行504包括为200的合约执行消耗值522。如果区块没有合约,则合约执行消耗量可以是零。

区块的区块哈希值512是区块的内容的哈希值。例如,行504包括以"d8fc5856051ba6314e9e4fef5207d53580"开始的区块哈希值524。

用户可以选择特定的区块来查看针对所选区块的区块细节用户界面。例如,为了选择区块,用户可以选择诸如区块高度516的区块高度值或诸如区块哈希值524的区块哈希值。再如,在一些实施方式中,区块列表503的每行(包括行504)为可选单元,并且可以响应于对所选行的选择显示与所选行相关联的区块的区块用户细节界面。例如,可以通过在行内单击或点击来选择给定的行。

图6描绘了根据本申请文件实施方式的示例性区块细节(blockdetails)用户界面600。响应于在区块列表用户界面500或在主页用户界面400上对区块的选择、或在另一用户界面上的对区块或区块标识信息的选择,区块细节用户界面600可以由网络服务器生成、提供给请求客户端设备、并显示在客户端设备上。

可以针对所选区块显示以下信息:区块标识601、区块哈希值(blockhash)602、区块生成时间(generationtime)604、交易状态(transaction)606、区块高度(blockheight)607、先前区块哈希值(previousblockhash)608、区块合约执行消耗量(gasconsumption)610、交易根(transactionroot)612、收据根(reciperoot)614和状态根(stateroot)616。

如上所述,区块哈希值602是区块内容的哈希值,区块生成时间604表明通过节点将区块添加至区块链网络的时间点,区块高度607表明区块链中该区块之前的区块数量,区块合约执行消耗量610表明执行与区块相关联的合约所需消耗的计算工作量。

交易状态606显示导致区块生成的交易的状态。先前区块哈希值608是区块链中该区块之前的区块的哈希值。在一些实施方式中,对先前区块哈希值608的选择可以导致向网络服务器发送对更新的区块细节用户界面600的请求,该区块细节用户界面600显示了具有先前区块哈希值608的区块的细节。

交易根612是交易树的根节点的哈希值,该交易树包括区块中列出的交易。收据根614是针对区块的收据树的根的哈希值。收据树包括在区块中执行的交易的收据。交易的交易收据包括由于执行交易产生的信息。交易收据在交易被处理后产生并且包括交易后信息。状态根616是区块的状态树的根的哈希值。状态树包括关于与区块相关联的每个已执行交易的状态的信息。可以在执行完和完成所有区块的交易之后生成状态树。

图7描绘了根据本申请文件实施方式的示例性交易列表(transactionlist)用户界面700。响应于对在主页用户界面400的交易区域450中的查看所有链接462的选择、或响应于对主页用户页面400的页眉470中交易链接478或在另一用户界面中示出的交易链接的选择,交易列表用户界面700可由网络服务器生成、提供给请求客户端设备、并显示在客户端设备上。

交易信息可以以页面形式显示在交易列表用户界面700中。每页中可显示预定数量的交易(例如,十个)。页面导航区域702可以使用户能够导航至特定页面或配置在每个页面中显示多少交易。默认地,最近一组交易可首先显示在第一页上。当前显示页面中的交易的交易信息可以显示在交易列表(transactionlist)703中。交易列表703的每行对应于特定交易。例如,交易列表703包括行704。

对于当前显示页面中的每个交易,可在交易列表703中的相应行中显示以下信息:交易哈希值(transactionhash)705、交易类型(transactiontype)706、区块高度(blockheight)708、发起账号(initiatingaccount)710、接收账号(receivingaccount)712、交易状态(status)714、交易金额(amount)716以及交易时间戳(timestamp)718。

交易的交易哈希值705是针对交易的唯一标识。例如,行704包括以“0fa72825313af97b”开始的交易哈希值720。

交易的交易类型706表明交易的类型。例如,与行704相关联的交易具有为“调用合约(callcontract)”的交易类型722,其表明了与行704相关联的交易是由执行合约发起的。交易类型可以来自一组预定义的交易类型。其它交易类型可以包括“交易”,其表明了交易可以由与区块链网络节点相关联的账号发起(而不是作为合约执行的结果发起)。

交易的区块高度708是包括交易的区块的区块高度。例如,与行704相关联的交易具有为149270的区块高度724。

交易的发起账号710是发起交易的账户的账号。例如,与行704相关联的交易具有以“e7d3e769f3f593dad”开始的发起账号726。

交易的接收账号712是交易的接受者的账户的账号。例如,与行704相关联的交易具有以“87e89abb4c1c551f”开始的接收账号728.

交易的交易状态714表明了交易的状态值。例如,与行704相关联的交易具有为“成功(success)”的交易状态值730。交易状态值可以来自预定的交易状态值组。其它交易状态值可以包括表明交易未决、不成功或处于其它某种状态的值。

交易的交易金额是与交易相关联的金额。例如,与行704相关联的交易具有为10的交易金额732。

交易的交易时间戳表明生成交易的时间。例如,与行704相关联的交易具有表明交易发生在2018年11月7日20点42分45秒的交易时间戳734。尽管未示出,但是在一些实施方式中,响应于对交易标识的选择,可以显示交易明细用户界面,该显示交易明细用户界面显示特定交易的值。

图8描绘了根据本申请文件实施方式的示例性账户列表(accountlist)用户界面800。响应于对主页用户界面400的页眉470中的账户链接472或在另一用户界面中示出的账户链接的选择,账户列表用户界面800可由网络服务器生成,提供给请求客户端设备,并显示在客户端设备上。

账户信息可以以页面形式显示在账户列表用户界面800中。每页可显示预定数量的账户(例如,十个)。页面导航区域802可以使用户能够导航到特定页面或配置在每个页面中显示多少账户。默认情况下,最近创建的一组账户可首先显示在第一页上。再如,账户可按账号进行排序,且首先显示的一组账户可以是具有最低(或最高)账号值的账号。针对当前显示页面中的账户的账户信息可显示在账户列表803中。账户列表803中的每一行对应于特定账户。例如,账户列表803包括行804。

对于当前显示页面中的每个账户,在账户列表803中的相应行中可显示以下信息:账号(account)805、账户余额(balance)806、账户状态(status)808、交易计数(txcount)810和账户创建交易哈希值(createaccounttx)812。

账户的账号805可以是与账户相关联的公钥。例如,与行804相关联的账户具有以“6f2656b6d6cfc42ef2753beb2cb0f7ca321”开始的账号814。

账户的账户余额806是区块链网络中的账户的账户余额值。例如,与行804相关联的账户具有为210的账户余额值816。

账户的账户状态808是与账户相关联的状态。例如,与行804相关联的账户具有为“正常(normal)”的账户状态818。

账户的交易计数810表明自创建账户以来该账户已参与多少交易。例如,与行804相关联的账户具有为3的交易计数820。

账户的账户创建交易哈希值812是为了创建账户而执行的交易的标识。例如,与行804相关联的账户具有以“bdcf9174635807c69e0611ac666ee6774”开始的账户创建交易哈希值822。响应于对账户创建交易哈希值(例如,账户创建交易哈希值822)的选择,可显示交易明细用户界面(例如,交易明细用户界面800)。

用户可选择特定账户以查看所选账户的账户明细用户界面。例如,为了选择账户,用户可选择账号,例如账号814。再如,在一些实施方式中,账户列表803的每一行(包括行804)是可选单元,并且响应于对所选行的选择,对于与所选行相关联的账户的账户明细用户界面可被显示。例如,可通过在行内单击或点击来选择给定行。

图9描绘了根据本申请文件实施方式的示例性账户明细(accountdetail)用户界面900。响应于对账户列表用户界面900上的账户的选择,或响应于在另外一用户界面上对账户或账户标识信息的选择,账户明细用户界面900可由网络服务器生成,提供给请求客户端设备,并显示在客户端设备上。账户地址值(accountaddress)902及904表明在显示该账户明细信息用户界面900之前所选择的账户。账户地址值902和904可以是与所选账户相关联的公钥。

账户创建交易哈希值(createaccounttx)906是为了创建所选账户而执行的交易的标识。账户余额(balance)908表明区块链网络中所选账户的账户余额值。账户状态(status)910是与所选账户相关联的状态。交易计数(txcount)912表明自所选账户创建以来该所选账户参与了多少交易。

恢复时间(recovertime)914表明恢复所选账户的时间点。恢复密钥(recoverkey)916是用于恢复所选账户的加密密钥。公钥(publickey)918是与账户相关联的公共加密密钥,且用于识别区块链网络中的账户。权重(weight)920是与公钥918相关联的权重(例如,汉明权重(hammingweight))。可选择交易列表链接922以查看与该账户相关联的交易。

图10描绘了根据本申请文件实施方式的示例性合约列表(contractlist)用户界面1000。响应于对主页用户界面400的页眉470中的合约链接475或在另一用户界面示出的合约链接的选择,该合约列表用户界面1000可由网络服务器生成,提供给请求客户端设备,并显示在客户端设备上。

合约信息可以以页面形式显示在该合约列表用户界面1000中。每页可显示预定数量的合约(例如,十个)。页面导航区域1002可以使用户能够导航到特定页面或在每个页面中配置显示多少合约。默认情况下,最近创建(或执行)的一组合约可首先显示在第一页上。再如,合约可按照合约标识来排序,且一组首先显示的合约可以是具有最低(或最高)合约标识的合约。当前显示页面内的合约的合约信息可以显示于合约列表(contractlist)1003中。合约列表1003中的每一行对应于特定的合约。例如,合约列表1003包括行1004。

对于当前显示页面内的每个合约,可在合约列表1003中的相应行中显示以下信息:合约标识(id)1005、余额(balance)1006、合约状态(status)1008、交易计数(txcount)1010、合约创建交易哈希值(createcontracttx)1012和代码哈希值(codehash)1014。

合约的合约标识1005可以是合约的唯一标识。例如,与行1004相关联的合约具有以“03732bc6062b51ce62acd80cc993a79fd1”开始的合约标识1015。合约的合约标识1005可以是与合约相关联的合约信息的哈希值。

合约的余额1006是区块链网络中的合约的余额值。例如,与行1004相关联的合约具有为10的余额值1016。

合约的合约状态1008是与合约相关联的状态。例如,与行1004相关联的合约具有为“正常(normal)”的合约状态1018。合约的合约状态1008可反映合约最后执行的结果。合约状态1018可以是其他预定义合约状态值中的预定值。

合约的交易计数1010表明作为执行合约的结果多少交易已经被创建。例如,与行1004相关联的合约具有为4的合约交易计数1020。

账户的合约创建交易哈希值1012是为了创建合约而执行的交易的标识。例如,与行1004相关联的合约具有以“a1ebbbd6831febb8d3c27b303a7d81200”开始的合约创建交易哈希值1022。响应对合约创建交易哈希值(例如合约创建交易哈希值1022)的选择,可以显示交易明细用户界面(例如,交易明细用户界面800)。

用户可选择特定合约以查看所选合约的合约明细用户界面。例如,为了选择合约,用户可以选择诸如合约标识1015的合约标识。再如,在一些实施方式中,合约列表1003的每一行(包括行1004)是可选单元,且可响应于对所选行的选择,显示与所选行相关联的合约的合约明细用户界面。例如,可通过在行内单击或点击来选择给定行。

图11描绘了根据本申请文件实施方式的示例性合约明细(contractdetail)用户界面1100。响应于对合约列表(contractlist)用户界面1200上的合约的选择,或在另一用户界面上对合约或合约标识信息的选择,合约明细用户界面1100可由网络服务器生成,提供给请求客户端设备,并显示在客户端设备上。合约标识值(contractidentifier)1102和1104表明在显示合约明细用户界面1100之前选择的合约。合约标识值1102和1104可各自唯一地标识所选合约。

合约余额(balance)1106表明区块链网络中所选合约的合约余额值。合约状态(status)1108是与所选合约相关联的状态。交易计数(transactioncount)1110表明作为执行所选合约的结果多少交易已被创建。合约创建交易哈希值(createcontracttransaction)1112是为了创建所呈现的合约而执行的交易的标识。代码哈希值(codehash)1114是与所呈现的合约相关联的代码的哈希值。

公钥(publickey)1116是用于授权的公钥。权重(weight)1118是与公钥1116相关联的权重(例如,汉明权重(hammingweight))。

图12描绘了根据本申请文件实施方式的用于合约交易的示例性合约明细(contractdetail)用户界面1200。响应于对交易列表链接(transactionlist)1202的选择,交易列表1201可由网络服务器生成,提供给请求客户端设备,并显示在客户端设备上。交易列表1201显示由于执行具有合约标识1203的所选合约的结果而创建的交易的交易信息。交易列表1201中的每一行对应于特定交易。例如,交易列表1203包括行1204。

交易信息可以以页面形式显示在交易列表1201中。每页可以显示预定数量的交易(例如,十个)。页面导航区域1206可以使用户能够导航到特定页面或配置在每个页面中显示多少交易。默认情况下,从合约执行中产生的最近一组交易可首先显示在第一页上。

对于当前显示页面中的每个交易,可在交易列表1201中的相应行中显示以下信息:交易哈希值(txhash)1208、区块高度(height)1210、发起账号(from)1212、接收账号(to)1214、交易金额(amount)1216。

交易的交易哈希值1208是该交易的唯一标识。例如,行1204包括以“0f04e67cc26a8895a5b97b”开始的交易哈希值1218。

交易的区块高度1210是包括该交易的区块的区块高度。例如,与行1204相关联的交易具有为86375的区块高度1220。

交易的发起账号1212是发起交易的账户的账号。例如,与行1204相关联的交易具有以“c60a9d48105950a0cca07a”开始的发起账号1222。

交易的接收账号1214是作为交易的接收者的账户的账号。例如,与行1204相关联的交易具有以“03732bc6062b51ce62acd8”开始的接收账号1224。

交易的交易金额是与交易相关联的金额。例如,与行1204相关联的交易具有为100的交易金额1226。

图13描绘了根据本申请文件实施方式的针对合约代码的示例性合约明细(contractdetail)用户界面1300。可响应于对合约代码链接(contractcode)1304的选择显示合约代码区域1302。合约代码区域1302可显示针对具有合约标识1306的合约的合约代码(例如,字节代码)。用户可选择用户接口控件(selectcontractfile)1308来选择包含合约代码的合约代码文件。另如,用户可在输入区域1310中输入合约代码文件的编号。用户可选择提交用户界面控件(submitcontract)1312来提交合约代码文件,合约代码文件使用用户界面控件1308被选择或在输入区域1310中被指定。

图14描绘了可根据本申请文件实施方式执行的示例性过程1400。为了清楚地呈现,以下描述总体地描述了在本说明书中其他附图上下文中的示例过程1400。然而,应当理解,示例过程1400可以例如由适当的任何系统、环境、软件和硬件、或系统、环境、软件和硬件的组合来执行。在一些实施方式中,示例过程1400的各个步骤可并行、组合、循环或以任何顺序运行。

在1404,从客户端设备接收对区块链可视化用户界面的请求。例如,区块链可视化用户界面可与资源标识(例如,url(统一资源定位符))相关联,且客户端设备的用户可将资源标识输入到客户端设备上运行的浏览器中。可在网络服务器处接收对区块链可视化用户界面的请求。

在1406,使用区块链来生成区块链可视化用户界面。用户界面可包括链式图形结构,该链式图形结构直观地描绘了至少一部分区块链和至少一部分已在区块链网络发生的交易的交易信息。该交易信息可包括与区块链相关联的最近交易的信息。所生成的区块链可视化用户界面可以为,例如,网页。链式图形结构可以包括一连串可选区块表示,每个区块表示代表区块链中的一个区块。可选区块表示可与可选链接连接,并且该区块链可视化用户界面可被配置为响应于对特定可选链接的用户选择重置该链式图形结构,使得作为所选链接的目标的可选区块表示被布置在链式图形结构的顶部。

在1408,响应于对区块链可视化用户界面的请求,区块链可视化用户界面可被提供给客户端设备。客户端设备可呈现区块链可视化用户界面,例如,浏览器。在区块链可视化用户界面已经呈现在客户端设备上之后,网络服务器可识别或确定更新的区块链。可使用更新的区块链生成更新的区块链可视化用户界面。可将更新的区块链可视化用户界面提供给客户端设备,以呈现在客户端设备上。

在一些情况下,区块链可以是区块链的共识版本。在一些实施方式中,在接收对区块链可视化用户界面的请求之前,可基于与区块链相关联的区块链网络节点的交互来确定区块链的共识版本(如上所述)。

图15描绘了根据本申请文件实施方式的示例装置1500的模块。装置1500可以是被配置为提供与区块链网络相关联的区块链可视化的服务器的示例实施方式,例如联盟区块链网络。装置1500可对应于上述实施方式,并且装置1500包括以下:用于从客户端设备接收对区块链可视化用户界面的请求的接收器或接收单元1502;用于基于区块链生成区块链可视化用户界面的生成器或生成单元1504,区块链可视化用户界面包括链式图形结构,该链式图形结构直观地描绘了区块链和在区块链网络交易中已发生的交易的交易信息的至少一部分;以及用于响应于对区块链可视化用户界面的请求提供区块链可视化用户界面以显示在客户端设备上的提供器或提供单元1506。

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

对于装置中各个单元的功能和角色的实现过程,可参考上述方法中相应步骤的实施过程。为简单起见,这里省略了细节。

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

再次参见图15,其可被解释为示出内部功能模块以及被配置为提供与区块链网络相关联的区块链可视化的服务器结构。

本申请文件中描述的技术使计算机能够提供区块链的交互式可视化表示。该技术使计算机能够响应于客户端请求提供区块链中的数据的不同视角。相应地,该技术使计算机能够向用户提供区块链的交互式和全面的可视化表示,从而简化了分析区块链中的数据的任务。另外,该技术可使计算机能够基于相关区块链网络中的当前区块链表示(即,共识版本)提供区块链的可视化表示。基于与区块链网络节点的交互推断出的最当前的区块链表示的可视化表示,能使计算机提供区块链可视化表示,该可视化表示在接收到对可视化表示的请求时是即时且准确的。

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

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

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

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

本说明书中描述的过程和逻辑流程可由一台或多台计算机执行一个或多个计算机程序进行,以进行通过对输入数据进行运算并生成输出的操作。过程和逻辑流程也可以由例如fpga、asic、gpu等的专用逻辑电路或专用逻辑电路与一个或多个编程计算机的组合来执行。

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

通常,计算机将耦接到至少一个非暂态计算机可读存储介质(也称为计算机可读存储器)上。耦接到计算机的存储介质可以是计算机的内部组件(例如,集成硬盘驱动器)或外部组件(例如,通用串行总线(usb)硬盘驱动器或通过网络访问的存储系统)。存储介质的示例可包括,例如,磁盘、磁光盘或光盘、固态驱动器、诸如云存储系统的网络存储资源或其他类型的存储介质。但是,计算机不需要这样的设备。此外,计算机可嵌入在另一个设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备,例如,通用串行总线(usb)闪存驱动器,这里仅举几例。

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

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

虽然本说明书包含许多具体实施细节,但是这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本说明书多个单独实施例的上下文中描述的多个特定特征也可以在单个实施例中的组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且可以要求保护指向子组合或子组合的变体。

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

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

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