在区块链网络中使用智能合约进行产品促销的制作方法

文档序号:20167382发布日期:2020-03-24 21:54阅读:238来源:国知局
在区块链网络中使用智能合约进行产品促销的制作方法

本文涉及在区块链网络中使用智能合约进行产品促销。



背景技术:

分布式账本系统(dls)使参与的实体能够安全地且不可篡改地存储数据。在不引用任何特定用例的情况下,dls还可被称为共识网络或区块链网络。区块链网络的示例可包括针对选择的实体组群提供的联盟区块链网络。联盟区块链网络可控制选择的实体组群的共识处理。联盟区块链网络包括访问控制层。

优惠券是商家认可的营销手段类型,消费者可通过该营销手段获得更便宜的产品或服务。反过来,商家可获得更多的顾客。优惠券可包括印刷优惠券或电子优惠券。当发行电子优惠券时,商家通常生成唯一标识并将其与优惠券相关联。唯一标识还可称为“优惠券码”。通常,唯一标识存储在中心化数据存储中。消费者可通过相关产品获得优惠券的唯一标识,然后兑换相应的奖励。如果中心化数据存储被入侵、被黑客攻击或以其他方式受损,则可能泄露优惠券信息,导致无效活动、严重的经济损失和其他后果。在某些情况下,唯一标识可被猜测出或以其他方式破译。

期望有效的手段来保护优惠券免于泄露、恶意破译和其他后果。



技术实现要素:

本文描述了用于在区块链网络中使用智能合约进行产品促销的技术。

本文的实施方式涉及在区块链网络中使用智能合约来实现产品促销(被称为基于智能合约的促销活动)。在一些实施例中,一个或多个产品(例如,包括一个或多个商品和/或服务)的商家(例如,品牌所有者、零售商、或制造商)可创建促销活动,例如,用于营销目的。在一些实施例中,商家可为促销活动发行多个数字或电子票券(例如,电子代金券、电子优惠券或电子礼品券)。

在一些实施例中,智能合约可用于在区块链网络中实施促销活动以促进商家创建促销活动和消费者兑换数字票券。在一些实施例中,基于智能合约的促销活动可节省存储大量数字票券所需的存储空间。在一些实施例中,基于智能合约的促销活动可避开将数字票券同时上传到区块链网络的计算瓶颈。在一些实施例中,基于智能合约的促销活动可提高数据安全性,以保护数字票券免于泄露或恶意破译。

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

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

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

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

附图说明

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

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

图3是示出根据本文实施例的用于在区块链网络中使用智能合约创建产品促销活动的操作的示例的图。

图4是示出根据本文实施例的用于兑换在区块链网络中使用智能合约实现的产品促销活动的促销码的操作的示例的图。

图5描绘了根据本文实施例的在区块链网络中使用智能合约进行产品促销的处理的示例。

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

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

具体实施方式

本文的实施方式涉及在区块链网络中使用智能合约来实现产品促销(被称为基于智能合约的促销活动)。在一些实施例中,一个或多个产品(例如,包括一个或多个商品和/或服务)的商家(例如,品牌所有者、零售商、批发商或制造商)可创建促销活动,例如,用于营销目的。在一些实施例中,商家可为促销活动发行多个数字或电子票券(例如,电子代金券、电子优惠券或电子礼品券)。

在一些实施例中,智能合约可用于在区块链网络中实施促销活动以促进商家创建促销活动和消费者兑换数字票券。在一些实施例中,基于智能合约的促销活动可节省存储大量数字票券所需的存储空间。在一些实施例中,基于智能合约的促销活动可避开将数字票券同时上传到区块链网络的计算瓶颈。在一些实施例中,基于智能合约的促销活动可提高数据安全性,以保护数字票券免于泄露或恶意破译。

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

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

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

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

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

图1是示出了可用于执行本文实施例的环境100的示例的图。在一些示例中,环境100使得实体能够参与联盟区块链网络102。环境100包括计算系统106、108和网络110。在一些示例中,网络110包括局域网(lan)、广域网(wan)、因特网或其组合,并且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,可通过有线和/或无线通信链路来访问网络110。在一些示例中,网络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。每个参与者(例如,用户、企业)参与到作为包括多个节点214的点对点网络提供的区块链网络212中,至少一些节点将信息不可篡改地记录在区块链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存储区块链216的相应的完整副本216'、216”。

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

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

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

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

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

通常,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。为方便起见,该处理将被描述为由位于一个或多个位置的一个或多个计算机的系统执行,并根据本文被适当编程。例如,被适当编程的分布式系统(例如,图1的区块链环境100)可执行该处理。该系统可包括商家302、商家服务器304和区块链网络306。商家302可以是,例如品牌所有者、零售商、制造商、交易平台或可为一个或多个产品(例如,包括一个或多个商品和/或服务)创建促销活动的另一实体。商家302可访问商家服务器304、对商家服务器304进行操作或以其他方式与商家服务器304相关联,以创建促销活动。商家服务器304可以是能够访问区块链网络306或以其他方式与区块链网络306通信地耦接的一个或多个计算机或者数据处理装置。在一些实施例中,商家服务器304可以是区块链网络306的节点(例如,客户端节点、共识节点或非共识节点)。在一些实施例中,商家服务器304可生成一个或多个智能合约并将一个或多个智能合约提交给区块链网络306。在一些实施例中,商家服务器304可以是区块链网络306中的一个或多个智能合约的部署服务器,例如,通过将智能合约的交易提交给区块链网络306。在一些实施例中,智能合约可以以分布式方式部署在区块链网络306中,并且具有可从中调用智能合约的唯一智能合约地址。在一些实施例中,已经在区块链网络306中定义和部署了一个或多个智能合约,并且商家服务器304可调用在一个或多个合约中定义的一个或多个操作。

如所示的,在310处,商家302向商家服务器304发送用于在区块链网络306中创建促销活动的请求。促销活动可用于例如促销或营销一种或多种产品。在一些实施例中,商家302可发行或认可大量(例如,大约数十、数百、数千和更多)电子票券或数字票券,以向消费者提供促销活动的一个或多个产品的折扣或其他促销优惠。数字票券通常是用于获取商品或服务的票券的虚拟实例。数字票券的示例可包括电子代金券、电子优惠券或电子礼品券等,其中,电子代金券具有特定币值并可兑换商品和服务,电子优惠券可由消费者(或顾客)在消费时使用,以根据优惠券指示的打折率以折扣价格购买产品,电子礼品券可用于特定商家的商品或服务。

在一些实施例中,每个数字票券与唯一标识相关联。唯一标识还可被称为“促销码”、“促销的码”、“优惠券码”、“折扣码”、“密钥码”、“促销码”、“剩余码”、“便携式码”、“购物码”、“代金券码”、“奖励码”、“折扣优惠券”、“推荐码”或“源码”。

商家服务器304可设置、定义或以其他方式配置促销活动的规则。促销活动的规则可包括,例如以下中的一个或多个:促销活动的标识(id)(例如,名称或码)、数字票券的规则、数字票券的认证规则、促销活动的有效持续时间、促销活动的区域、促销活动的适用产品的信息、或用于兑换数字票券的消费者的资格。

例如,在320处,商家服务器304可设置、定义或以其他方式配置数字票券的规则。数字票券的示例性规则可包括例如数字票券的类型(例如,电子优惠券、电子代金券、电子礼品券或电子红包等)、数字票券的奖励或好处的类型(例如,折扣、现金、积分、回扣和/或其他产品)、赢取规则或标准、促销码的总数量、促销码的价值范围、多个促销码各自的类型、或有效促销码的拼写规则。

例如,在330处,商家服务器304可设置、定义或以其他方式配置数字票券的认证规则。在一些实施例中,可基于数字签名技术来认证或验证由商家302认可的每个有效数字票券。例如,可为商家302或商家302的促销活动分配私钥和公钥对。由商家302认可的每个有效数字票券可由例如商家服务器304使用商家302的私钥或商家302针对特定促销活动的私钥来签名。第三方可使用商家302的相应公钥或商家302针对特定促销活动的相应公钥来验证数字票券。在一些实施例中,数字票券的认证规则可定义要包括在使用商家302的私钥或商家302针对特定促销活动的私钥生成数字签名中的信息(例如,促销码和其他信息,如果有的话,例如促销活动的id)。

在一些实施例中,促销码的数字签名可提高数据安全性。例如,即使第三方破译了促销码的拼写规则,第三方也无法在不具有商家302的私钥或商家302针对特定促销活动的私钥的情况下生成促销码的有效签名。因此,由第三方生成的任何促销码不能被验证有效。

例如,在340处,商家服务器304可设置、定义或以其他方式配置促销活动的有效持续时间,例如,通过配置促销活动的到期时间或基于计数的到期规则。在一些实施例中,商家服务器304可配置促销活动的附加或不同规则。

在350处,商家服务器304向区块链网络306发送用于在区块链网络306中创建促销活动的请求。该请求可包括例如促销活动的id、促销活动的规则、请求的数字签名和/或其他信息。

在从商家服务器304接收到请求时,区块链网络306可例如在360处确定促销活动的有效性。在一些实施例中,可例如通过调用智能合约中定义的促销活动验证操作,来确定促销活动的有效性。例如,促销活动验证操作可接收促销活动的信息(例如,规则),将其与(例如,区块链网络306的或诸如政府的管理机构的)某些规定进行比较,并确定促销活动符合规定。

在370处,响应于确定该促销活动有效,区块链网络306可例如通过将促销活动的规则存储在区块链网络306中来注册促销活动。这样,可根据促销活动的规则执行智能合约,以执行促销活动的各种操作,例如,兑换促销活动的一个或多个数字票券。

注意,促销活动的数字票券的促销码不存储在区块链网络306中。以这种方式,节省了存储空间。此外,它使区块链网络306免于同时向区块链网络306上传大量促销活动的促销码。它还防止促销码泄漏。

在一些实施例中,响应于确定促销活动无效,区块链网络306可拒绝促销活动的创建。

在380处,区块链网络306可向商家服务器304发送指示促销活动的创建结果的通知。在一些实施例中,通知可以是指示在区块链网络306中已成功创建促销活动的确认。在一些实施例中,通知可以是指示在区块链网络306中尚未成功创建促销活动的通知,具有或不具有关于为什么在区块链网络306中尚未成功创建促销活动的详细信息。

在390处,商家服务器304可根据来自区块链网络306的通知向商家302发送指示促销活动的创建结果的响应。

图4是示出根据本文实施例的用于兑换在区块链网络中使用智能合约实现的产品促销活动的促销码的操作的示例的图400。为方便起见,该处理将被描述为由位于一个或多个位置的一个或多个计算机的系统执行,并根据本文被适当地编程。例如,被适当地编程的分布式系统(例如,图1的区块链环境100)可执行该处理。该系统可包括消费者303、商家服务器304和区块链网络306。消费者节点303可以是,例如,一个或多个计算机或者数据处理装置,其可由获得商家302的促销活动的促销码的人或另一实体访问、操作或以其他方式与所述人或另一实体相关联。在一些实施例中,消费者节点303可获得促销码和/或其他信息,诸如促销活动的id和促销码的数字签名。在一些实施例中,消费者节点303可获得以加密或以其他方式转换的形式的促销码和/或其他信息。

在一些实施例中,消费者节点303可与商家服务器304通信,以兑换促销活动的促销码。例如,消费者节点303可以是已扫描qr码的消费者的移动设备,其中,该qr码包括促销活动的促销码。在一些实施例中,qr码还包括其他信息,例如促销活动的id和促销码的数字签名。在一些实施例中,在扫描qr码时,可将用于兑换促销活动的促销码的请求自动传输到商家服务器304。

例如,如图4中所示,在410处,消费者节点303向商家服务器304发送用于兑换促销活动的促销码的兑换请求。在一些实施例中,商家服务器304可首先确定兑换请求的有效性。例如,商家服务器304可识别促销码和相应的促销活动(例如,基于促销码的id),并确定促销码是否符合促销活动的规则。

在420处,商家服务器304将兑换请求发送到区块链网络306。在一些实施例中,仅在商家服务器304确定兑换请求的有效性的情况下,商家服务器304才将兑换请求发送到区块链网络306。在一些实施例中,商家服务器304不检查兑换请求的有效性,并在接收到兑换请求之后将兑换请求转发到区块链网络306。

在430处,区块链网络306利用兑换请求识别已注册的促销活动,例如,通过将兑换请求中的促销活动的id与注册的促销活动的id进行匹配。

在440处,区块链网络306确定兑换请求中的促销码的有效性。在一些实施例中,可例如通过调用智能合约中定义的促销码验证操作来确定促销码的有效性。例如,促销码验证操作可接收兑换请求中的促销码和/或其他信息,将其与注册的促销活动的规则进行比较,并确定促销码是否符合注册的促销活动的规则。在一些实施例中,确定兑换请求中的促销码的有效性可包括确定包括在兑换请求中的数字签名的有效性、促销码的到期日期以及与消费者节点303相关联的消费者的资格、或任何其他确定。

在450处,响应于确定促销码有效,区块链网络306可记录促销码和/或其相关信息。在一些实施例中,区块链网络306可记录促销码已被兑换,兑换的时间、位置或其他信息,兑换促销码的消费者和/或消费者节点303。在一些实施例中,可记录兑换促销码的消费者身份并将其用于随后的兑换记录查询。在一些实施例中,如果促销码对于单次使用是有效的,则区块链网络306可在兑换之后将促销码标记为无效,或者如果促销码对于多次使用是有效的,则记录兑换次数。

在460处,区块链网络306可向商家服务器304发送指示成功兑换促销码的通知。

在470,商家服务器304可向消费者节点303返回成功兑换促销码的确认,并允许向消费者授予促销码的相应奖励或好处。

作为另一示例,在415处,消费者节点303向商家服务器304发送用于兑换第二促销活动的第二促销码的第二兑换请求。通常,商家服务器304在与在410处将兑换请求发送到商家服务器304的不同时间接收第二兑换请求。在一些实施例中,第二促销码可与在410处讨论的促销码相同或不同。在一些实施例中,第二促销活动可与在410讨论的促销活动相同或不同。

在425处,商家服务器304将第二兑换请求发送到区块链网络306。在一些实施例中,仅在商家服务器304确定第二兑换请求的有效性的情况下,商家服务器304才将第二兑换请求发送到区块链网络306。在一些实施例中,商家服务器304不检查第二兑换请求的有效性,并在接收到第二兑换请求之后将第二兑换请求转发到区块链网络306。

在435处,区块链网络306利用第二兑换请求识别注册的促销活动,例如,通过将第二兑换请求中的促销活动的id与注册的促销活动的id进行匹配。

在445处,区块链网络306确定第二兑换请求中的第二促销码的有效性。在一些实施例中,可例如通过调用智能合约中定义的促销码验证操作来确定促销码的有效性。例如,促销码验证操作可接收第二兑换请求中的第二促销码和/或其他信息,将其与注册的促销活动的规则进行比较,并确定第二促销码是否符合所注册的促销活动的规则。例如,确定第二兑换请求中的第二促销码的有效性可包括确定包括在第二兑换请求中的数字签名的有效性、第二促销码的到期日期以及与消费者节点303相关联的消费者的资格、或任何其他确定。

在455处,区块链网络306确定第二促销码无效或第二促销码已被兑换。在这种情况下,区块链网络306可向商家服务器304发送指示第二促销码兑换失败或错误的通知,具有或不具有关于第二促销码兑换失败或错误的原因的详细信息。

在465处,商家服务器304可向消费者节点303返回对兑换第二促销码的拒绝。在一些实施例中,商家服务器304可向消费者通知关于第二促销码兑换失败或错误的原因的详细信息。在一些实施例中,消费者节点303可提交兑换记录查询,例如,如果被通知兑换失败或错误是因为第二促销码已经被兑换。在一些实施例中,如果对兑换记录存在疑问,则消费者或第三方可向商家提交报告。在一些实施例中,区块链网络306的数据存储的透明度、安全性和不变性可使得能够追溯促销活动的促销码的兑换记录或历史,例如,以确定是否存在任何问题或不规范。

图5描绘了根据本文实施例的用于在区块链网络中使用智能合约进行产品促销的处理500的示例。可使用利用一个或多个计算设备执行的一个或多个计算机可执行程序来执行处理500。在一些实施例中,处理500可由分布式系统(例如,图1的区块链系统100)执行,以在区块链网络中使用智能合约进行产品促销。为方便起见,处理500将被描述为由位于一个或多个位置的一个或多个计算机的系统执行,并根据本文被适当地编程。例如,被适当地编程的分布式系统,例如图1的区块链环境100,可执行处理500。在一些实施例中,处理500的一些或所有操作可由诸如区块链网络的共识节点之类的节点来执行。例如,如被适当地编程的架构200的节点214可执行处理500的一些或所有操作。例如,可使用一个或多个计算系统(例如,计算系统106、108)来实现节点。在一些实施例中,处理500可包括针对图3和图4描述的一些或所有操作。

在502处,区块链网络的节点(例如,区块链网络306的节点)接收创建促销活动的创建请求。促销活动与多个促销码相关联。在一些实施例中,例如从商家服务器(例如,商家服务器304)接收创建请求。

在一些实施例中,促销活动与用于识别和认证促销活动的私钥和公钥对相关联。在一些实施例中,私钥可用于为多个促销码中的每个生成数字签名,以便提高多个促销码的数据安全性。公钥可用于基于促销活动的数字签名和公钥来验证促销码的有效性。在一些实施例中,私钥可用于通过对以下进行签名来生成多个促销码各自的数字签名:多个促销码中的每个、基于多个促销码中的每个生成的哈希值、或者多个促销码中的每个促销码的一些变形。促销活动的公钥可用于解密数字签名并提取多个促销码中的每个。

在一些实施例中,创建请求包括公钥和使用私钥生成的数字签名。例如,商家服务器可通过基于创建请求中包括的一些或所有信息生成哈希值并使用私钥对该哈希值进行签名,来生成数字签名。在一些实施例中,创建请求还可包括促销活动的规则,例如针对图3描述的规则。例如,所述规则包括以下中的一个或多个:促销活动的标识(id)、多个促销码的总数量、多个促销码的范围、多个促销码各自的类型、有效促销码的拼写规则、促销活动的到期时间、促销活动的区域、或者用于兑换多个促销码之一的人的资格。

在504处,节点基于公钥和使用私钥生成的数字签名确定创建请求的有效性。在一些实施例中,作为示例,节点可使用公钥来解密数字签名并从数字签名中提取哈希值。节点还可基于创建请求中包括的一些或所有信息生成哈希值。响应于确定公钥可解密数字签名并且从该数字签名提取的哈希值与节点生成的哈希值匹配,可确定创建请求的有效性。

在506处,响应于确定所述创建请求有效,节点使用智能合约在区块链网络中注册促销活动,而不将多个促销码存储在区块链网络中。在一些实施例中,在区块链网络中使用智能合约注册促销活动包括:节点将规则输入到智能合约的一个或多个函数中;节点执行智能合约的一个或多个函数;并且节点将规则存储区块链网络中。

在一些实施例中,在区块链网络中使用智能合约注册促销活动包括调用和执行智能合约中定义的一个或多个逻辑、函数或其他操作,以在区块链网络中创建促销活动。例如,可在区块链网络中生成和部署为促销活动定义多个操作的智能合约。智能合约的多个操作可包括以下一个或多个:例如促销活动创建操作、促销活动验证操作、促销码验证操作、促销码兑换操作、或兑换记录查询操作。在一些实施例中,每个操作可实现为应用程序接口(api)、服务、功能(function)或其组合。使用一种或多种计算机语言的例程、数据结构和对象类来指定操作。在一些实施例中,节点可通过调用操作并将一个或多个参数或自变量输入到操作中来执行智能合约中定义的操作。

在508处,响应于在区块链网络中使用智能合约注册促销活动,节点将指示成功创建促销活动的确认返回到例如商家服务器。

在510处,节点接收兑换多个促销码的促销码的兑换请求。兑换请求包括促销码、促销活动的标识(id)、以及使用私钥签名的兑换请求的数字签名。例如,可通过基于兑换请求中包括的一些或所有信息生成哈希值并使用私钥对哈希值进行签名来生成兑换请求的数字签名。在一些实施例中,兑换请求可包括附加或不同的信息。在一些实施例中,多个促销码是同时生成的,而兑换所述多个促销码中的两个或更多个促销码的两个或多个兑换请求是节点在不同时间接收的。

在512处,节点基于促销活动的id来识别促销活动的公钥和规则。

在514处,节点基于兑换请求所签有的数字签名和公钥来确定兑换请求是否有效。在一些实施例中,作为示例,节点可使用公钥来解密兑换请求的数字签名,并从兑换请求的数字签名中提取哈希值。节点还可基于兑换请求中包括的一些或所有信息来生成哈希值。可响应于确定公钥可解密兑换请求的数字签名、并且从该数字签名提取的哈希值与节点基于兑换请求中包括的部分或全部信息生成的哈希值匹配,确定创建请求的有效性。

在518处,响应于确定所述兑换请求有效,例如向商家服务器返回指示兑换请求无效的通知。在一些实施例中,例如,响应于确定公钥不能解密兑换请求的数字签名和/或从数字签名提取的哈希值与节点基于兑换请求中包括的部分或所有信息生成的哈希值不匹配,节点确定兑换请求无效。

在520处,响应于确定兑换请求有效,节点通过执行智能合约,来基于所述规则确定促销码是否有效。例如,可由节点通过调用智能合约中定义的一个或多个促销码验证操作来确定促销码是否有效。促销码验证操作可检查例如促销码是否在规则定义的范围内、促销码符合规则定义的拼写规则等。

在521处,响应于确定促销码无效,例如向商家服务器返回指示促销码无效的通知。

在522处,响应于确定促销码有效,节点通过执行智能合约,来根据所述促销活动的兑换历史确定促销码是否已被兑换。

在523处,响应于确定促销码已被兑换,例如向商家服务器返回指示促销码已被兑换的通知。

在524处,响应于确定促销码有效并且尚未被兑换,例如向商家服务器返回指示成功兑换促销码的确认。在一些实施例中,促销码的兑换被记录在区块链网络中。

图6是根据本文实施例的装置600的模块的示例的图。装置600可以是区块链网络中的节点的实施例的示例,用于在区块链网络中使用智能合约进行产品促销。装置600可对应于上述实施例,装置600包括以下:第一接收模块602,用于由区块链网络的节点接收创建促销活动的创建请求,其中,所述促销活动与多个促销码相关联,所述促销活动与用于识别所述促销活动的私钥和公钥对相关联,并且所述创建请求包括公钥和使用私钥生成的数字签名;第一确定模块604,用于由节点基于所述公钥和所述数字签名确定所述创建请求的有效性;注册模块606,用于响应于确定所述创建请求有效,由节点在区块链网络中使用智能合约注册促销活动,而不在区块链网络中存储多个促销码。

在可选实施例中,装置600还包括以下:第一返回模块608,用于由节点返回指示成功创建促销活动的确认。

在可选实施例中,所述创建请求还包括促销活动的规则,其中,注册模块606包括输入子模块,用于由节点将规则输入到智能合约的一个或多个函数中;执行子模块,用于由节点执行智能合约的一个或多个函数;以及存储子模块,用于由节点将规则存储在区块链网络中。

在可选实施例中,所述规则包括以下中的一个或多个:促销活动的标识(id)、多个促销码的总数量、所述多个促销码的范围、所述多个促销码各自的类型、有效促销码的拼写规则、促销活动的到期时间、促销活动的区域、或用于兑换多个促销码之一的人的资格。

在可选实施例中,装置600还包括以下:第二接收模块610,用于由节点接收兑换多个促销码的促销码的兑换请求,其中,该兑换请求包括促销码、促销活动的标识(id)、以及使用私钥签名的兑换请求的数字签名;识别模块612,用于由节点基于促销活动的id识别促销活动的公钥和规则;第二确定模块614,用于由节点基于兑换请求的数字签名和公钥来确定所述兑换请求有效。

在可选实施例中,装置600还包括以下:第三确定模块616,用于由节点通过执行智能合约,来基于所述规则确定促销码是否有效。

在可选实施例中,装置600还包括以下:第四确定模块618,用于由节点通过执行智能合约,来根据所述促销活动的兑换历史确定促销码是否已被兑换。

在可选实施例中,装置600还包括以下:第二返回模块620,用于响应于确定促销码有效且尚未被兑换而返回指示成功兑换促销码的确认,以及记录模块622,用于将促销码的兑换记录在区块链网络中。

在可选实施例中,装置600还包括以下:第三返回模块624,用于响应于确定促销码无效而返回指示促销码无效的通知。

在可选实施例中,装置600还包括以下:第四返回模块626,用于响应于确定促销码已被兑换而返回指示促销码已被兑换的通知。

在可选实施例中,多个促销码被同时生成,并且第二接收模块610通过节点在不同时间接收兑换多个促销码中的两个或更多个促销码的两个或更多个兑换请求。

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

对于装置中每个模块的功能和角色的实施处理,可参考前一方法中相应步骤的实施处理。为简单起见,这里省略了细节。

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

再次参照图6,其可解释为示出内部功能模块和区块链智能合约促销活动管理装置的结构。区块链智能合约促销管理装置可以是在区块链网络中使用智能合约进行产品促销的区块链节点的示例。执行主体本质上可以是电子设备,并且该电子设备包括以下:一个或多个处理器和被配置为存储一个或多个处理器的可执行指令的存储器。

本文中描述的技术产生一个或多个技术效果。在一些实施例中,可在区块链网络中使用智能合约来实现产品促销。在一些实施例中,商家(例如,品牌所有者、零售商、批发商或制造商)可创建促销活动,例如,用于营销目的。在一些实施例中,商家可为促销活动发行多个数字或电子票券(例如,电子代金券、电子优惠券或电子礼品券)。每个数字票券都可与唯一的促销码相关联。例如,可使用与促销活动相对应的私钥来对每个促销码签名,以验证促销码的有效性。这样,不具有促销活动的私钥的第三方生成的任何促销码都不能被验证为有效促销码。这样,即使促销码的拼写规则被破译,不具有使用授权商家的促销活动的私钥签名的有效签名,也不能兑换数字票券。因此,阻止了促销码的伪造,并且可提高数据安全性。

在一些实施例中,智能合约可用于在区块链网络中实施促销活动(被称为基于智能合约的促销活动),以促进商家创建促销活动和消费者兑换数字票券。在一些实施例中,与存储促销活动的大量促销码的传统方案不同,基于智能合约的促销活动不需要将任何促销码存储在区块链中,因此节省了区块链网络的存储空间和计算资源。在一些实施例中,基于智能合约的促销活动可从促销活动的创建阶段至促销活动的促销码的兑换阶段,减轻和减少区块链网络的计算负担。通常,一次性生成促销活动的大量促销码,例如,在促销活动的创建阶段期间同时生成。相反,促销活动的不同促销码的兑换通常在不同时间发生,例如,由不同消费者。在一些实施例中,基于智能合约的促销活动可避免将促销码同时上传并存储到区块链网络,从而不会对区块链网络施加计算负担。

在一些实施例中,基于智能合约的促销活动可在保护数字票券免于泄露或恶意破译方面提高数据安全性,这是因为不存储促销码本身。

在一些实施例中,基于智能合约的促销活动允许检查每个数字票券的兑换历史,从而提高促销活动的透明度。

所描述的主题的实施例可包括单独或组合的一个或多个特征。

例如,在第一实施例中,计算机实现的用于在区块链网络中使用智能合约进行产品促销的方法,该方法包括:区块链网络的节点接收创建促销活动的创建请求,其中,所述促销活动与多个促销码相关联,所述促销活动与用于识别该促销活动的私钥和公钥对相关联,所述创建请求包括公钥和使用私钥生成的数字签名;节点基于公钥和数字签名确定所述创建请求的有效性;并且响应于确定所述创建请求有效,节点在区块链网络中使用智能合约注册促销活动,而不将多个促销码存储在区块链网络中。前述和其他描述的实施例可均可选地包括以下特征中的一个或多个:

可与以下特征中的任何一个组合的第一特征指定所述创建请求还包括促销活动的规则,并且其中由节点在区块链网络中使用智能合约注册促销活动包括:节点将规则输入到智能合约的一个或多个函数;节点执行智能合约的一个或多个函数;并且节点将规则存储在区块链网络中。

可与先前或以下特征中的任何一个组合的第二特征指定所述规则包括以下中的一个或多个:该促销活动的标识(id)、多个促销码的总数量、所述多个促销码的范围、所述多个促销码各自的类型、有效促销码的拼写规则、促销活动的到期时间、促销活动的区域、或用于兑换多个促销码之一的人的资格。

可与先前或以下特征中的任何一个组合的第三特征指定该方法还包括:节点接收兑换多个促销码的促销码的兑换请求,其中,所述兑换请求包括促销码、促销活动的标识(id)、以及使用私钥签名的兑换请求的数字签名;节点基于促销活动的id识别促销活动的公钥和规则;节点基于兑换请求的数字签名和公钥确定兑换请求有效。

可与先前或以下特征中的任何一个组合的第四特征指定该方法还包括:节点通过执行智能合约,来基于所述规则确定促销码是否有效。

可与先前或以下特征中的任何一个组合的第五特征指定该方法还包括:节点通过执行智能合约,来根据所述促销活动的兑换历史确定促销码是否已被兑换。

可与先前或以下特征中的任何一个组合的第六特征指定该方法还包括:响应于确定促销码有效且尚未被兑换,将促销码的兑换记录在区块链网络中;并返回指示成功兑换促销码的确认。

可与先前或以下特征中的任何一个组合的第七特征指定该方法还包括:响应于确定促销码无效,返回指示促销码无效的通知。

可与先前或以下特征中的任何一个组合的第八特征指定该方法还包括:响应于确定促销码已被兑换,返回指示促销码已被兑换的通知。

可与先前或以下特征中的任何一个组合的第九特征指定多个促销码被同时生成,并且计算机实现的方法还包括:节点在不同时间接收兑换多个促销码中的两个或更多个促销码的两个或更多个兑换请求。

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

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

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

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

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

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

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

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

组件可通过例如直接地或经由一个或多个中间组件彼此电连接或光连接而可交换地彼此“耦接”。如果其中一个组件集成到另一个组件中,则组件也可彼此“耦接”。例如,集成到处理器中的存储组件(例如,l2高速缓存组件)被“耦接到”处理器。

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

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

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

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

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

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