使用去中心化决策更新区块链智能合约的制作方法

文档序号:18516772发布日期:2019-08-24 09:30阅读:161来源:国知局
使用去中心化决策更新区块链智能合约的制作方法

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

智能合约可以在实体之间执行,并且驻留在区块链网络中。在某些情况下,需要对智能合约进行更新(例如,以反映实体之间的变化情况)。传统系统使用中心化解决方案来管理智能合约的变更,其中可包括难于管理的过程,并且具有其他缺点。例如,当要更新(或升级)智能合约时,授权实体(例如,管理器、合约创建者或公有代理)可能负责对智能合约进行更新,并且可以与关于更新的实体通信。在通信达成共识之后,该授权实体可以执行更新操作。此过程可能较难监控,并且可能要求作为智能合约参与方的实体信任该授权实体。



技术实现要素:

本公开的实施方式包括对智能合约进行更新的计算机实现的方法。更具体地,本公开的实施方式涉及通过在合约更新管理系统内执行更新用智能合约来对智能合约进行更新。

在一些实施方式中,操作包括通过合约更新管理系统接收表示针对智能合约的变更的更新请求,所述变更是对所述智能合约的提议更新;通过在所述合约更新管理系统内执行更新用智能合约,确定是否满足将所述智能合约更新为包括所述变更的条件,所述更新用智能合约限定所述条件;和在由所述合约更新管理系统确定满足所述条件时,由所述合约更新管理系统更新所述智能合约,并将所述变更记录到区块链网络的区块链中的一个或多个块。其他实施方式包括相应的系统、装置和计算机程序,被配置为执行编码在计算机存储设备上的方法的操作。

这些和其他实施方式可以各自可选地包括以下特征中的一个或多个:所述更新请求包括所述区块链网络内分配给所述智能合约的标识符;所述更新请求包括所述区块链网络内分配给所述更新用智能合约的标识符;所述智能合约包括:调度员在收到发起所述智能合约的合约发起人的请求时限定的控制器合约,包括所述智能合约逻辑的服务合约和包括所述智能合约条款的数据合约;确定是否满足条件包括执行投票过程,包括:向所述区块链网络中的一个或多个节点发送请求以进行相对于所述变更的投票,收集来自所述一个或多个节点的投票,并当所述收集的投票表示所述一个或多个节点同意所述变更时,确定满足所述条件;执行所述投票过程包括通过与各个节点相关联的权重来加权投票,并且其中,同意基于所述收集的投票及其相关联的权重的函数;执行所述投票过程包括应用从否决权特许节点接收的否决票,其中,当在所述投票过程中接收到对于所述变更的否决票时,所述投票过程结束,所述否决票导致所述变更被拒绝;执行所述投票过程包括使用投票规则,所述投票规则指定所述投票过程何时导致同意所述变更或拒绝所述变更;执行所述投票过程包括使用投票开始时间和投票结束时间来限定所述投票过程发生的投票时段;以及当阈值数量的投票者已同意所述变更时或当一个或多个指定投票者的组合已同意所述变更时,执行所述投票过程结束并满足所述条件。

本公开还提供了一个或多个非暂时性计算机可读存储介质,其连接到一个或多个处理器并且具有存储在其上的指令,当由一个或多个处理器执行时,所述指令使得一个或多个处理器根据本文提供的方法的实施方式执行操作。

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

应了解,根据本公开的方法可包括本文描述的方面和特征的任意组合。也就是说,根据本公开的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任意组合。

在附图和以下描述中阐述了本公开的一个或多个实施方式的细节。根据说明书和附图以及权利要求,本公开的其他特征和优点将显而易见。

附图说明

图1描绘了可用于执行本公开实施方式的示例环境。

图2描绘了根据本公开实施方式的示例概念架构。

图3描绘了根据本公开实施方式用于更新用智能合约的示例系统。

图4描绘了可以根据本公开实施方式执行的示例过程。

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

具体实施方式

本公开的实施方式包括计算机实现的对智能合约进行更新的方法。更具体地,本公开的实施方式涉及在合约更新管理系统内执行更新用智能合约以管理区块链网络内智能合约的更新。在一些实施方式中,操作包括通过合约更新管理系统接收表示针对智能合约的变更的更新请求,所述变更是对所述智能合约的提议更新;通过在所述合约更新管理系统内执行更新用智能合约,确定是否满足将所述智能合约更新为包括所述变更的条件,所述更新用智能合约限定所述条件;并且在由所述合约更新管理系统确定满足所述条件时,由所述合约更新管理系统更新所述智能合约,并将所述变更记录到区块链网络的区块链中的一个或多个块。

为进一步提供本公开的实施方式的背景(context),并且如上所述,分布式账本系统(dls)也可以称为共识网络(例如,由对等节点组成)和区块链网络,使参与实体能够安全地且不可篡改地进行交易和存储数据。尽管术语区块链通常与比特币加密货币网络相关联,但是本文使用区块链来一般地指代不参考任何特定用例的dls。如上所述,区块链网络可以被提供为公有区块链网络、私有区块链网络或联盟区块链网络。

在公有区块链网络中,共识过程由共识网络的节点控制。例如,数百、数千、甚至数百万个实体可以在公有区块链网络中协作,每个实体在公有区块链网络中操作至少一个节点。因此,公有区块链网络可以被认为是相对于参与实体的公有网络。在一些示例中,大多数实体(节点)必须对每个块进行签名,以使该块有效并且将有效的块添加到区块链网络的区块链(分布式账本)。示例公有区块链网络包括比特币网络,比特币网络是对等支付网络。比特币网络利用分布式账本,被称为区块链。如上所述,然而,术语区块链通常用于指代不特别参考比特币网络的分布式账本。

通常,公有区块链网络支持公有交易。公有交易与公有区块链网络内的所有节点共享,并存储在全局区块链中。全局区块链是跨所有节点复制的区块链。也就是说,对于全局区块链,所有节点处于完全一致的状态。为了达成共识(例如,同意向区块链添加块),在公有区块链网络内实施共识协议。示例共识协议包括但不限于,在比特币网络中实施的工作量证明(proof-of-work,pow)。

通常,私有区块链网络提供给特定实体,特定实体集中控制读取和写入权限。该实体控制哪些节点能够参与区块链网络。因此,私有区块链网络通常被称为许可网络,其对允许谁参与网络及其参与水平(例如,仅在某些交易中)施加限制。可以使用各种类型的访问控制机制(例如,现有参与者投票添加新实体,监管机构可以控制准入)。

通常,联盟区块链网络在参与实体中是私有的。在联盟区块链网络中,共识过程由授权的一组节点控制,一个或多个节点由相应的实体(例如,企业)操作。例如,由十(10)个实体(例如,企业)组成的联盟可以操作联盟区块链网络,每个实体在该联盟区块链网络中操作至少一个节点。因此,就参与实体而言,联盟区块链网络可以被认为是私有网络。在一些示例中,每个实体(节点)必须对每个块进行签名,以使该块有效并将有效的块添加到区块链。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须对每个块进行签名以使该块有效,并且将有效的块添加到区块链。

本文中参考联盟区块链网络进一步详细描述了本公开的实施方式,该联盟区块链网络在参与实体(例如,联盟的成员)之间是公共的。然而,可以预期,本公开的实施方式能够在任何合适类型的区块链网络中实现。虽然本公开中描述的技术被表示为与联盟区块链网络相关,但是这些技术也可以用于其他类型的区块链网络,包括公有区块链网络和私有区块链网络,而无论是否进行了更改。

鉴于以上背景,本文进一步详细描述了本公开的实施方式。更具体地,并且如上所述,本公开的实施方式涉及在区块链网络的合约更新管理系统内执行更新用智能合约,以管理对智能合约的更新。

智能合约可以被描述为具有影响各方的合约条款的、现实世界的法律合约的数字表示。智能合约被实施、存储、更新(根据需要)、并在示例背景中,在联盟区块链网络内执行。与智能合约相关联的合约方(例如,买方和卖方)被表示为联盟区块链网络中的节点。在一些示例中,合约方可以包括与智能合约相关联(例如,智能合约的参与方)的实体(例如,商业企业)。

在一些示例中,智能合约可以存储数据,该数据可以用于记录信息、事实、关联、余额以及实现合约执行逻辑所需的任何其他信息。智能合约可以被描述为由函数组成的计算机可执行程序,其中可以创建智能合约的实例(instance),调用函数以执行智能合约的逻辑。在一些示例中,智能合约可以包括各种组件,组件中的一个或多个也可以被描述为合约。在一些示例中,智能合约的一个或多个组件可以作为对整体智能合约的更新的一部分进行更新。

在一些实施方式中,智能合约的示例组分可以包括但不限于:控制器合约、服务合约和数据合约。控制器合约可以由调度员在收到发起智能合约的合约发起人的请求时定义。发起智能合约可以包括向联盟区块链网络中的节点提供智能合约(例如,向将成为智能合约的参与方的实体)。发起智能合约还可以标识创建智能合约的时间并标识智能合约的发起者的身份。在一些示例中,服务合约包括智能合约的逻辑。逻辑可以限定合约的执行方式,包括事件顺序以及与智能合约关联的实体的关系的限定。数据合约包括智能合约的条款,包括但不限于:智能合约所涉及的产品和/或服务,以及用于提供产品和/或服务的智能合约的支付信息。存储在数据合约中的数据可用于记录信息、事实和关联,包括但不限于:余额、付款额、收入额、交付时间、截止时间以及实现智能合约逻辑所需的任何其他信息。

在技术方面,可以基于对象和面向对象的类来实现智能合约。例如,智能合约的条款和组件可以表示为由实现智能合约的应用程序处理的对象。智能合约(或智能合约中的对象)可以像其他面向对象的对象一样调用另一个智能合约(或同一智能合约中的对象)。例如,由对象发出的调用可以是创建、更新、删除、传播或与另一个类的对象通信的调用。对象之间的调用可以由函数、方法、应用程序编程接口(applicationprogramminginterface,api)或其他调用机制实现。例如,第一对象可以调用函数来创建第二对象。

图1描绘了可用于执行本公开的实施方式的示例环境100。在一些示例中,示例环境100使得实体能够参与联盟区块链网络102。示例环境100包括计算系统106、108和网络110。在一些示例中,网络110包括局域网(lan)、广域网(wan)、因特网或其组合,并且与网站、用户设备(例如,计算设备)和后端系统连接。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。

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

图2描绘了根据本公开实施方式的示例概念架构200。示例概念架构200包括实体层202,服务承载层204和区块链网络层206。在所描绘的示例中,实体层202包括三个实体,实体_1(e1),实体_2(e2)和实体_3(e3),每个实体具有相应的交易管理系统208。

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

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

图3描绘了根据本公开实施方式用于对智能合约进行更新的示例系统300。在所描绘的示例中,系统300包括合约更新管理系统302,其管理对智能合约(包括智能合约304)的更新。尽管描绘了单个智能合约304,但是可以预期,合约更新管理系统302可以用于更新联盟区块链网络内的任何数量的智能合约304。此外,尽管描绘了单个更新用智能合约(updatessmartcontract)303,但是可以预期可以提供任何数量的更新用智能合约303。在一些示例中,为一个或多个智能合约304提供一个更新用智能合约303(例如,一对多关系)。在一些示例中,为单个智能合约304提供一个更新用智能合约303(例如,一对一关系)。在一些示例中,为单个智能合约304提供多个更新用智能合约303(例如,多对一关系)。

根据本公开的实施方式,合约更新管理系统302选择性地执行更新用智能合约303以对智能合约304进行更新。尽管在合约更新管理系统302内示意性地描绘,但是更新用智能合约303通常驻留在联盟区块链网络内并且在联盟区块链网络内执行。在一些示例中,并且如本文进一步详细描述的,更新用智能合约303包括用于调用对智能合约304的更新的逻辑,在智能合约304上执行该更新所需的一个或多个条件,并且假设满足所述一个或多个条件,对智能合约304执行更新。

更详细地,合约管理系统302可以调用更新过程。例如,并且如本文进一步详细描述的,可以向合约管理系统302提供更新请求,合约管理系统302调用更新过程。在一些示例中,该更新请求对要更新的智能合约304以及要执行的更新进行标识。在一些示例中,基于联盟区块链网络内的智能合约304的唯一地址(例如,39a1509440f8c549dfd6e995def14b1ce3c98e5d)来标识该智能合约304。例如,在创建智能合约304之后,或者在创建智能合约304时,可以用合约更新管理系统302注册智能合约304。在一些示例中,注册智能合约304包括基于其唯一标识符索引智能合约304,并引用用于更新该智能合约304的待执行的一个或多个更新用智能合约303。在一些示例中,基于联盟区块链网络内的各个更新用智能合约303的唯一地址(例如,23d61f4a88f90be1290c0eeab344992e1a2e8f6d),来引用所述一个或多个更新用智能合约303。

在一些实施方式中,更新请求可以包括要对智能合约304执行的更新类型。在一些示例中,可以基于更新类型选择更新用智能合约303以执行更新过程。例如,对于第一类更新(例如,修改价格),选择第一更新用智能合约,并包括第一条件组;以及对于第二类更新(例如,修改智能合约的参与方),选择第二更新用智能合约,并包括第二条件组。在一些示例中,更新用智能合约之间的条件组可以更严格/更不严格。例如,第一条件组可以不如第二智能合约组严格。

在一些实施方式中,选择更新用智能合约303(例如,单个更新用智能合约303与智能合约304相关联),而不顾及更新类型。在一些示例中,基于更新类型选择由该更新用智能合约实现的条件组。例如,对于第一类更新,该更新用智能合约304实现第一条件组,并且对于第二类更新,该更新用智能合约304实现第二条件组。

在一些实施方式中,更新用智能合约303可以管理节点308的列表,在满足用于对智能合约304进行更新要符合的一个或多个条件时涉及这些节点。在一些示例中,节点308执行某个任务,或者让某个任务执行(例如,由节点308处的用户执行)。例如,取决于实现更新所需的逻辑和条件组,可以要求节点308提供信息、同意、签名(例如,数字签名)和/或投票。

这里参考图3更详细地描述了用于同意更新的非限制性示例。在图3的示例中,节点308(描绘为用户)对智能合约304提议的更新进行投票。投票的示例类型可以包括但不限于,委员会成员和属性变更投票以及合约升级投票。委员会成员和属性变更投票可用于更新投票成员列表和相应的投票参数。合约升级投票可用于对智能合约304进行更新。

由合约更新管理系统302处理的对智能合约304进行更新的每个提案可以包括内容。示例内容可以包括但不限于:智能合约304的地址、更新用智能合约303的地址、更新(或升级)的原因和/或新委员会成员的列表。提案的条件可以包括,例如,指定是否需要完全同意该待接受提案的信息、是否建立接受该提案所需的权重比率的信息以及是否启用否决票(以及否决选项如何应用)的信息。提案的投票截止时间和提案的有效时间间隔可以标识从该提案的生成时刻到该提案的执行时刻(在投票过程期间)。投票的示例类型可以包括但不限于,属性变更投票和合约更新投票。

控制器合约306可以在收到发起智能合约304的合约发起者的请求时由调度员限定。例如,智能合约304可以由一个或多个节点308发起。在所描绘的示例中,控制器合约306包括路由器310,路由器310对请求进行路由,路由器310路由的请求包括对智能合约304进行更新的请求。智能合约304还包括服务合约312和数据合约314。服务合约312可以包括智能合约304的业务逻辑。数据合约314可以包括智能合约304的条款,智能合约304的条款包括智能合约304所涵盖的产品和/或服务以及用于接收产品和/或服务的合约的支付信息。

在一些示例中,路由器310负责将请求和其他信息发送到正确的服务合约地址,例如,节点308中的正确的一个。可以通过更新用智能合约303来执行路由器310中的合约地址数据的修改。对智能合约304进行更新的决策可以由联盟的成员、合约管理委员会或多个节点308的联合投票形成。

在示例性事件顺序中,节点308a可以提议针对智能合约304的变更。所提议的变更可以以提案312(例如,更新请求)的形式,例如,变更智能合约304的条款(例如,产品或服务的交付日期、待支付的价格)。合约更新管理系统302可以接收提案312,并且可以向非变更提议用户308(包括用户308b、308c、308d、308e)发送请求。发送给非变更提议用户308的请求可以包括对智能合约304提议的变更,以及对变更进行投票的请求(或邀请)。节点308b、308c、308d、308e可以将他们的投票318提供给合约更新管理系统302,合约更新管理系统302随后可以确定是否批准该变更。在一些示例中,节点自动提供投票(例如,投票的计算机执行)。在一些示例中,用户通过节点提供投票(例如,授权用户通过节点提交投票)。

图4描绘了可以根据本公开的实施方式执行的示例过程400。在一些实施方式中,可以使用一个或多个计算设备执行的一个或多个计算机可执行程序来执行示例过程400。

步骤402,通过合约更新管理系统接收对智能合约的变更。例如,用户308a可以提议针对智能合约304的变更。该变更可以是提议的更新,例如,变更智能合约304的合约条款。提议待变更的合约条款可以包括,例如,对智能合约304中标识的产品或服务的交付日期或要支付的价格的变更。

步骤404,确定是否满足将所述智能合约更新为包括所述变更的条件。例如,可以通过在合约更新管理系统302内执行更新用智能合约303来进行确定。更新用智能合约303可以限定用于进行确定的条件。

在一些实施方式中,确定是否满足条件包括执行包括以下的投票过程。将提议的变更和投票支持或反对该变更的请求发送到区块链中的区块。例如,合约更新管理系统302可以代表用户308b、308b、308d和308e向区块发送请求。然后,合约更新管理系统302可以从区块链的区块中获取投票318。然后,合约更新管理系统302可以确定条件被满足,例如,当经区块链的区块共识收集的投票表示同意变更时。

在一些实施方式中,投票过程包括通过与特定投票者相关联的权重来加权投票,并且共识可以基于所收集的投票及其相关联的权重的函数。例如,一些用户308可以是合约方,其对智能合约304的重要性因其重要性的不同而不同。在投票过程期间,合约更新管理系统302使用与不同用户308相关联的权重来做出是否已达到投票者的共识的决策。

在一些实施方式中,执行投票过程包括应用从否决权特许投票者接收的否决票。在投票过程中收到对变更的否决票时,可以终止该投票过程,否决票导致变更被拒绝。例如,一些用户308可以是智能合约304的合约方,其是买方或卖方。这些类型的合约方对智能合约304的任何提议的变更可以具有否决权。

在一些实施方式中,执行投票过程包括使用投票规则来指定投票过程何时导致同意所述变更或拒绝所述变更。作为示例,对于给定的智能合约,投票规则组可以包括指定如何使用投票来确定是否同意的规则。例如,规则可以指定同意所需的区块链中的最小块数,或其他一些投票组合。每个智能合约都可以拥有独特的投票规则组。

在一些实施方式中,执行投票过程包括使用投票开始时间和投票结束时间来限定投票过程发生的投票时段。例如,更新用智能合约303可以限定能够映射到特定开始时间和结束时间的时间长度(例如,小时数或天数)。

在一些实施方式中,当阈值数量的投票者已同意该变更时,或当一个或多个指定投票者的组合已同意该变更时,执行投票过程结束并满足条件。例如,合约更新管理系统302可以使用投票规则确定,当用户308中的至少三个已投票同意所提议的变更时,达到共识。

步骤406,在合约更新管理系统确定满足条件时,由合约更新管理系统对智能合约进行更新。该变更被记录到区块链中的一个或多个区块。例如,合约更新管理系统302可以将该变更传播到区块链中的区块(例如,用户308)。

尽管本文参考对提议的更新的投票来描述示例更新过程,但是可以预期,可以使用允许或不允许更新的任何合适条件来实现本公开的实施方式。例如,响应于更新请求,示例条件可以包括需要来自一个或多个指定用户对更新的同意。如果这一个或多个指定用户中的每一个都给出了同意,则对智能合约执行更新。如果这一个或多个指定用户中的某一个未能同意,则不会对智能合约执行更新。作为另一示例,示例更新条件可以包括需要在预先设定的时间段内来自一个或多个指定用户对更新的反对。如果在预先设定的时间段内未收到反对,则执行更新。作为又一示例,示例更新条件可以包括需要在预先设定的时间段内来自一个或多个指定用户对更新的同意。如果在预先设定的时间段内未收到同意,则拒绝更新。

所描述的特征可以在数字电子电路,或者在计算机硬件、固件、软件,或在它们的组合中实现。该装置可以在有形地体现在信息载体中(例如,在机器可读存储设备中)的计算机程序产品中实现,以由可编程处理器执行;可以由执行指令程序的可编程处理器执行方法步骤,以通过对输入数据进行操作并生成输出来执行所描述的实施方式的功能。所描述的特征可在一个或多个计算机程序中方便地实现,所述一个或多个计算机程序在可编程系统上执行,所述可编程系统包括至少一个可编程处理器,所述至少一个可编程处理器连接数据存储系统、至少一个输入设备和至少一个输出设备以收发数据和指令。计算机程序是可以在计算机中直接或间接地使用的指令组,用以执行特定活动或带来特定结果。计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式部署,包括部署为独立程序或部署为模块、组件、子程序或部署为在计算环境中适合使用的其他单元。

用于执行指令程序的合适处理器包括,例如,通用和专用微处理器,以及任何类型的计算机的专有处理器或多个处理器之一。通常,处理器从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还可以包括一个或多个用于存储数据文件的大容量存储设备,或可操作地与一个或多个用于存储数据文件的大容量存储设备连接;这些设备包括磁盘,例如内部硬盘和可移动磁盘;磁光盘;和光盘。适合于有形地体现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,包括例如半导体存储设备,例如eprom、eeprom和闪存设备;磁盘,如内部硬盘和可移动磁盘;磁光盘;和cd-rom和dvd-rom磁盘。处理器和存储器可以由专用集成电路(asic)补充或并入专用集成电路中。

为了提供与用户的交互,这些特征可以在具有显示设备以及键盘和指示设备的计算机上实现,诸如阴极射线管(crt)或液晶显示器(lcd)监视器之类的显示设备用于向用户显示信息,用户可以通过例如鼠标或轨迹球的指示设备以及键盘向计算机提供输入。

这些特征可以在计算机系统中实现,计算机系统包括后端组件、例如数据服务器,或者包括中间件组件、例如应用服务器或因特网服务器,或者包括前端组件、例如具有图形用户界面或因特网浏览器的客户端计算机,或者它们的任意组合。系统的组件可以通过任何形式连接,或通过数字数据通信的媒介连接,例如通信网络。通信网络的示例包括如局域网(lan)、广域网(wan)以及形成因特网的计算机和网络。

计算机系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过网络进行交互,例如所描述的网络。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。

另外,附图中描绘的逻辑流程不需要所示的特定次序或先后次序来实现期望的结果。另外,可以为所描述的流程中提供其他步骤,或者可以从所描述的流程中删除步骤,并且可以将其他组件添加到所描述的系统或从所描述的系统中移除。因此,其他实施方式在以下权利要求的范围内。

已经描述了本公开的多个实施方式。然而,应该理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在以下权利要求的范围内。

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