基于区块链的公益捐助方法及装置、电子设备
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的公益捐助方法及装置、电子设备。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
有鉴于此,本说明书提出一种基于区块链的公益捐助方法,包括:
响应于捐助方发起的针对目标公益项目的捐赠交易,调用发布在区块链上的与所述目标公益项目对应的智能合约,将所述捐赠交易中的捐赠对象转移给与所述目标公益项目对应的被捐助方;
监听区块链中存证的被捐助方针对捐赠对象的反馈信息;
响应于监听到的所述反馈信息,确定与所述捐赠对象对应的捐助方;
生成对应于所述反馈信息的公益捐赠反馈消息,并将生成的公益捐赠反馈消息发送至所述被捐助方。
可选的,所述区块链中还存证了与所述捐赠对象对应的捐赠记录;所述捐赠记录包括所述捐赠对象和对应的捐助方之间的对应关系;
所述确定与所述捐赠对象对应的捐助方,包括:
基于所述区块链中存证的所述对应关系,确定所述捐赠对象对应的捐助方。
可选的,所述针对捐赠对象的反馈信息包括以下示出的一个或者多个的组合:
针对捐赠对象的接收确认数据;
针对捐赠对象的使用记录信息;
针对捐赠对象的使用反馈信息;
针对捐助方的互动反馈信息。
可选的,所述响应于捐助方发起的针对目标公益项目的捐赠交易,调用发布在区块链上的与所述目标公益项目对应的智能合约,将所述捐赠交易中的捐赠对象转移给与所述目标公益项目对应的被捐助方,包括:
接收捐助方发起的针对目标公益项目的捐赠交易;所述捐赠交易包括所述捐赠对象;
响应于所述捐赠交易,调用发布在区块链上的与所述目标公益项目对应的智能合约中声明的捐赠处理逻辑,将所述捐赠对象转移至所述智能合约中声明的捐赠托管方;以及,
在确定所述目标公益项目满足预设的募捐完成条件时,进一步调用所述智能合约中声明的捐赠执行逻辑,将募捐完成的捐赠对象转移至所述智能合约中声明的与所述目标公益项目对应的被捐助方。
可选的,还包括:
在确定所述目标公益项目满足预设的募捐终止条件时,进一步调用所述智能合约中声明的捐赠回退逻辑,将募捐完成的捐赠对象分别退回至对应的捐助方。
可选的,所述方法还包括:
在将所述捐赠对象转移至所述智能合约中声明的捐赠托管方之后,进一步调用所述智能合约中声明的判断逻辑,判断所述目标公益项目是否满足预设的募捐完成条件和募捐终止条件。
可选的,所述方法还包括:
监听由所述智能合约生成的智能合约事件;
响应于监听到的由所述智能合约在将所述捐赠对象转移至所述捐赠托管方后生成的捐赠处理完成事件,生成对应于所述捐助方的捐赠记录,并将生成的所述捐赠记录发布至所述区块链进行存证;
响应于监听到的由所述智能合约在将募捐完成的捐赠对象转移至所述被捐助方后生成的捐赠执行完成事件,将所述目标公益项目切换为募捐完成状态。
可选的,所述捐赠对象为公益资金;所述目标公益项目的募捐对象为公益物品;
所述将捐赠对象转移至所述智能合约中声明的捐赠托管方,包括:
将所述公益资金转账至所述智能合约中声明的捐赠托管方账户;
所述将募捐完成的捐赠对象转移至所述智能合约中声明的与所述目标公益项目对应的被捐助方,包括:
将募捐完成的公益资金由所述捐赠托管方账户转移至所述智能合约中声明的与所述目标公益项目对应的物品采购方账户,以由所述物品采购方根据所述公益资金采购公益物品,并将采购的公益物品物流运输至被捐助方的相关数据发布到区块链上;或者,面向被捐助方提供服务的公益机构。
可选的,所述智能合约中还声明了对应于所述公益物品的采购清单;其中,所述采购清单包括待采购的公益物品,以及与所述公益物品对应的采购单价;
所述方法还包括:
将所述智能合约中声明的采购清单发送至所述物品采购方,以由所述物品采购方按照所述采购清单采购公益物品。
可选的,所述募捐完成条件包括:在预设的募捐周期内,转移至所述捐赠托管方账户的公益资金,达到所述采购清单中的采购资金总额;
所述募捐终止条件包括:在预设的募捐周期内,转移至所述捐赠托管方账户的公益资金,未达到所述采购清单中的采购资金总额。
可选的,所述物品采购方为所述公益物品的生产商。
本说明书还提出一种基于区块链的公益捐助装置,包括:
转移模块,响应于捐助方发起的针对目标公益项目的捐赠交易,调用发布在区块链上的与所述目标公益项目对应的智能合约,将所述捐赠交易中的捐赠对象转移给与所述目标公益项目对应的被捐助方;
监听模块,监听区块链中存证的被捐助方针对捐赠对象的反馈信息;
确定模块,响应于监听到的所述反馈信息,确定与所述捐赠对象对应的捐助方;
反馈模块,生成对应于所述反馈信息的公益捐赠反馈消息,并将生成的公益捐赠反馈消息发送至所述被捐助方。
可选的,所述区块链中还存证了与所述捐赠对象对应的捐赠记录;所述捐赠记录包括所述捐赠对象和对应的捐助方之间的对应关系;
所述确定模块:
基于所述区块链中存证的所述对应关系,确定所述捐赠对象对应的捐助方。
可选的,所述针对捐赠对象的反馈信息包括以下示出的一个或者多个的组合:
针对捐赠对象的接收确认数据;
针对捐赠对象的使用记录信息;
针对捐赠对象的使用反馈信息;
针对捐助方的互动反馈信息。
可选的,所述转移模块:
接收捐助方发起的针对目标公益项目的捐赠交易;所述捐赠交易包括所述捐赠对象;
响应于所述捐赠交易,调用发布在区块链上的与所述目标公益项目对应的智能合约中声明的捐赠处理逻辑,将所述捐赠对象转移至所述智能合约中声明的捐赠托管方;以及,
在确定所述目标公益项目满足预设的募捐完成条件时,进一步调用所述智能合约中声明的捐赠执行逻辑,将募捐完成的捐赠对象转移至所述智能合约中声明的与所述目标公益项目对应的被捐助方。
可选的,所述转移模块进一步:
在确定所述目标公益项目满足预设的募捐终止条件时,进一步调用所述智能合约中声明的捐赠回退逻辑,将募捐完成的捐赠对象分别退回至对应的捐助方。
可选的,所述装置还包括:
判断模块,在将所述捐赠对象转移至所述智能合约中声明的捐赠托管方之后,进一步调用所述智能合约中声明的判断逻辑,判断所述目标公益项目是否满足预设的募捐完成条件和募捐终止条件。
可选的,所述监听模块进一步:
监听由所述智能合约生成的智能合约事件;
所述装置还包括:
存证模块,响应于监听到的由所述智能合约在将所述捐赠对象转移至所述捐赠托管方后生成的捐赠处理完成事件,生成对应于所述捐助方的捐赠记录,并将生成的所述捐赠记录发布至所述区块链进行存证;
切换模块,响应于监听到的由所述智能合约在将募捐完成的捐赠对象转移至所述被捐助方后生成的捐赠执行完成事件,将所述目标公益项目切换为募捐完成状态。
可选的,所述捐赠对象为公益资金;所述目标公益项目的募捐对象为公益物品;
所述转移模块进一步:
将所述公益资金转账至所述智能合约中声明的捐赠托管方账户;
将募捐完成的公益资金由所述捐赠托管方账户转移至所述智能合约中声明的与所述目标公益项目对应的物品采购方账户,以由所述物品采购方根据所述公益资金采购公益物品,并将采购的公益物品物流运输至被捐助方的相关数据发布到区块链上;或者,面向被捐助方提供服务的公益机构。
可选的,所述智能合约中还声明了对应于所述公益物品的采购清单;其中,所述采购清单包括待采购的公益物品,以及与所述公益物品对应的采购单价;
所述转移模块进一步:
将所述智能合约中声明的采购清单发送至所述物品采购方,以由所述物品采购方按照所述采购清单采购公益物品。
可选的,所述募捐完成条件包括:在预设的募捐周期内,转移至所述捐赠托管方账户的公益资金,达到所述采购清单中的采购资金总额;
所述募捐终止条件包括:在预设的募捐周期内,转移至所述捐赠托管方账户的公益资金,未达到所述采购清单中的采购资金总额。
可选的,所述物品采购方为所述公益物品的生产商。
通过以上技术方案,一方面,由于捐助方通过调用在区块链上部署的与目标公益项目对应的智能合约,就可以完成针对目标公益项目的捐赠处理和捐赠执行等操作;公益项目的运营方和管理平台不再干预该目标公益项目的捐赠处理和捐赠执行等环节;因此,可以提升公益项目的透明度和公众对公益项目的信任度;
另一方面,对于公益机构而言,通过获取智能设备采集到的公益物品的使用数据,并基于XXX,不仅可以对捐赠的公益物品的使用状况进行跟踪,还可以基于公益物品的使用状况的分析结果,真实的了解到公益物品的使用状态,进而有助于对公益项目进行优化。
通过引入被捐助人向捐助人的捐助反馈机制,使得捐赠人在参与某一公益项目时,可以从自身的捐赠行为中获得及时有效的反馈;对于捐赠人来说,通过这种捐助反馈机制,可以获得情感上和心灵上的回报,可以间接的提升捐助人对公益项目的参与积极性。
附图说明
图1是一示例性实施例提供的一种创建智能合约的示意图;
图2是一示例性实施例提供的一种基于区块链的公益捐助方法的流程图;
图3是一示例性实施例提供的一种通过客户端呈现公益项目列表的示意图;
图4是一示例性实施例提供的一种通过客户端呈现公益项目的详情界面的示意图;
图5是一示例性实施例提供的一种通过客户端向捐助方进行公益捐赠反馈的示意图;
图6是一示例性实施例提供的另一种通过客户端向捐助方进行公益捐赠反馈的示意图;
图7是一示例性实施例提供的另一种通过客户端向捐助方进行公益捐赠反馈的示意图;
图8是一示例性实施例提供的一种电子设备的结构示意图;
图9是一示例性实施例提供的一种基于区块链的公益捐助装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。
而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑,这是以太坊区别于比特币区块链技术的最大挑战。以太坊作为一个可编程区块链的核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,这意味着可以通过它实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,虚拟机直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”)。部署在区块链上的智能合约可以是字节码的形式。
例如图1所示,Bob将一个包含创建智能合约信息的交易(Transaction)发送到以太坊网络后,节点1的EVM可以执行这个交易并生成对应的合约实例。图中1中的“0x68e12cf284…”代表了这个合约的地址,交易的data字段保存的可以是字节码,交易的to字段为一个空的账户。节点间通过共识机制达成一致后,这个合约成功创建,后续用户可以调用这个合约。
合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址,合约代码和账户存储将保存在该合约账户中。智能合约的行为由合约代码控制,而智能合约的账户存储(Storage)则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
前述提到,包含创建智能合约的交易的data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,采用诸如Solidity、Serpent、LLL语言等高级语言。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
以Solidity语言为例,用其编写的合约与面向对象编程语言中的类(Class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储中的值,用于保存合约的状态。
在本说明书旨在提出一种基于区块链来搭建公益平台,并通过在区块链中部署的与公益项目相关的智能合约,来自动推进公益项目的捐赠处理和捐赠执行等环节,来提升公益项目的透明度和公众对公益项目的信任度的解决方案。
在实现时,公益项目的运营方(比如公益机构),可以按照公益项目的项目计划以及项目推进的具体实施细节,来开发智能合约,在智能合约中声明与该公益相关的捐赠处理逻辑,以及捐赠执行逻辑,然后将开发完成的智能合约发布至区块链进行智能合约部署。
公益项目的管理平台(比如公益项目的托管方),可以将所有以智能合约的形式部署的公益项目以项目列表的形式,推送至捐助方的客户端,向捐助方进行呈现,使得捐助方可以从项目列表中来选择目标公益项目,来完成捐助。
当捐助方选择了希望进行捐助的目标公益项目之后,客户端可以根据捐助方的捐赠对象来构建捐赠交易,并将构建的捐赠交易发送给区块链中的节点设备,来调用在区块链上部署的与该目标公益项目对应的智能合约,将捐赠交易中的捐赠对象转移给与所述目标公益项目对应的被捐助方。
被捐助方可以将针对上述捐赠对象的反馈信息以交易的形式发布至区块链进行存证。区块链中的节点设备在监听到在区块链上存证的反馈信息后,可以确定出与捐赠对象对应的捐助方,并生成对应于上述反馈信息的公益捐赠反馈消息,然后将生成的公益捐赠反馈消息发送至捐助方。
通过以上技术方案,一方面,由于捐助方通过调用在区块链上部署的与目标公益项目对应的智能合约,就可以完成针对目标公益项目的捐赠处理和捐赠执行等操作;公益项目的运营方和管理平台不再干预该目标公益项目的捐赠处理和捐赠执行等环节;因此,可以提升公益项目的透明度和公众对公益项目的信任度;
另一方面,通过引入被捐助人向捐助人的捐助反馈机制,使得捐赠人在参与某一公益项目时,可以从自身的捐赠行为中获得及时有效的反馈;对于捐赠人来说,通过这种捐助反馈机制,可以获得情感上和心灵上的回报,可以间接的提升捐助人对公益项目的参与积极性。
请参见图2,图2是一示例性实施例提供的一种基于区块链的公益捐助方法的流程图。如图2所示,该方法应用于区块链中的节点设备,包括以下步骤:
步骤202,响应于捐助方发起的针对目标公益项目的捐赠交易,调用发布在区块链上的与所述目标公益项目对应的智能合约,将所述捐赠交易中的捐赠对象转移给与所述目标公益项目对应的被捐助方;
步骤204,监听区块链中存证的被捐助方针对捐赠对象的反馈信息;
步骤206,响应于监听到的所述反馈信息,确定与所述捐赠对象对应的捐助方;
步骤208,生成对应于所述反馈信息的公益捐赠反馈消息,并将生成的公益捐赠反馈消息发送至所述被捐助方。
上述捐赠对象,可以包括捐助人向被捐助人捐赠的公益资金或者公益物品;其中,上述公益物品可以是实体物品,也可以是虚拟物品。相应的,上述公益项目的募捐对象,可以是公益资金,也可以是公益物品。
例如,在示出的一种募捐场景下,公益项目的募捐对象和捐助人的捐赠对象,均可以是公益资金;在这种场景下,公益项目的运营方,可以利用捐赠托管账户来管理捐助人捐赠的公益资金,并在募捐结束后,将捐赠托管账户中的公益资金,转账给被捐助人账户;或者,面向捐助人提供服务的公益机构账户。
又如,在示出的另一种募捐场景下,公益项目的募捐对象可以是公益物品,而捐助人捐赠的捐赠对象可以是公益资金。公益项目的运营方,可以利用捐助人捐赠的公益资金来采购需要募捐的公益物品,然后将采购的公益物品捐助给被捐助人。
1)以智能合约的形式部署公益项目
在本说明书中,公益项目的运营方(比如可以是公益机构),在发起一个公益项目时,可以基于实际的需求来指定详细的项目计划,和项目计划推进所涉及的具体实施细节;
例如,公益项目的项目计划所涉及的具体细节,可以包括公益项目的项目介绍,公益项目的募捐周期,募捐的公益物品的采集方和采购清单,募捐的公益资金的总额,被捐助人的详细信息,托管方账户,募捐完成条件,募捐终止条件,等等。
公益项目的运营方,可以按照公益项目的项目计划以及项目推进的具体实施细节,来开发智能合约,并在智能合约中声明公益项目的托管方账户、被捐助人的详细信息;以及,与该公益项目相关的执行逻辑。例如,上述执行逻辑,具体可以是公益项目的运营方基于高级语言开发的执行函数。
其中,需要说明的是,在上述智能合约中声明的与公益项目相关的执行逻辑,通常可以包括捐赠处理逻辑,以及捐赠执行逻辑。
执行上述捐赠处理逻辑,可以将捐助人捐赠的捐赠对象转移至智能合约中声明的捐赠托管方;上述捐赠托管方,具体是指负责管理募捐的捐赠对象管理的可信第三方。
执行上述捐赠执行逻辑,可以将捐赠托管方管理的募捐完成的捐赠对象转移给智能合约中声明的被捐助方。
在示出的一种实施方式中,公益项目的运营方所开发的上述智能合约中,除了可以声明上述捐赠处理逻辑和上述捐赠处理逻辑以外,还可以声明与上述公益项目相关的判断逻辑和捐赠回退逻辑,等等。
其中,上述判断逻辑,可以在上述捐赠处理逻辑执行完毕之后触发执行。智能合约可以在将捐助人的捐赠对象转移至捐赠托管方后,进一步执行该判断逻辑,判断该公益项目是否满足预设的募捐完成条件和募捐终止条件。
相应的,上述捐赠执行逻辑,可以在执行上述判断逻辑,判断出上述公益项目满足预设的募捐完成条件后触发执行。上述捐赠回退逻辑,可以在执行上述判断逻辑,判断出上述公益项目满足预设的募捐终止条件后触发执行。执行该捐赠回退逻辑,可以将募捐完成的捐赠对象分别退回至对应的捐助方。
其中,上述募捐完成条件和募捐终止条件,可以由公益项目的运营方根据具体的需求进行定制。
在示出的一种实施方式中,如果公益项目的募捐对象是公益物品,而捐助人捐赠的捐赠对象是公益资金;在这种公益场景下,由于公益项目的运营方最终需要利用募捐得到的公益资金,来采购相应的公益物品;因此,公益项目的运营方所开发的上述智能合约中,还可以包括声明的物品采购方,以及公益物品的采购清单。其中,该采购清单中,还可以包括待采购的公益物品,以及与待采购的公益物品对应的采购单价。
由于在这种公益场景下,如果在智能合约中不预先声明采购方和对应的采购清单,不仅会导致采购方和具体的采购清单不够透明,可能还会由于公益机构无法给公众一个明确具体的效果期望,造成公众对公益项目的预期效果不满;
例如,公众可能会对公益物品采购价格有异议,会质疑公益机构指定的采购方存在利益输送等;而且,公益项目的周期通常都比较长,在这期间公益物品的采购价格可能会发生波动,公众可能会质疑募捐的公益资金出现超支或者花不完的情况。
因此,公益机构通过在公益项目的智能合约中,预先声明采购方和对应的采购清单,使得公益机构可以给公众一个明确具体的效果期望,可以进一步提升公益项目的透明度和公众对公益机构的信任度。
相应的,在这种场景下,上述募捐完成条件具体可以是,在预设的募捐周期内,转移至所述捐赠托管方账户的公益资金,达到上述采购清单中的采购资金总额;而上述募捐终止条件具体可以是:在预设的募捐周期内,转移至所述捐赠托管方账户的公益资金,未达到上述采购清单中的采购资金总额。
在本说明书中,当完成上述智能合约的开发后,公益项目的运营方可以创建一笔包含该智能合约的交易,并将该交易发送到公益项目的管理平台。
其中,需要说明的是,本说明书描述的公益项目的管理平台,具体可以是一个基于区块链技术搭建的分布式管理平台。在该管理平台中可以包括若干作为区块链中的节点设备的服务设备;比如,服务器。
区块链中的节点设备收到该交易后,节点设备的EVM可以执行该交易,并在节点设备间通过区块链搭载的共识机制,对该笔交易的执行达成一致后(即该笔交易共识通过),区块链上会出现一个与该智能合约对应的合约账户,此时该智能合约部署完成。
其中,需要说明的是,上述区块链所采用的共识机制,在本说明书中不进行特别限定;
例如,可以采用诸如工作量证明(Proof of Work,POW)以及股权证明(Proof ofStake,POS)等需要争夺记账权的共识算法,也可以采用诸如实用拜占庭容错(PracticalByzantine Fault Tolerance,PBFT)等,具有记账权的节点在本轮记账前已经商定好的共识算法。
2)通过调用智能合约的方式推进公益项目
在本说明书中,公益项目的管理平台,可以将所有以智能合约的形式部署在区块链上的公益项目,生成相应的项目列表,然后将生成的项目列表推送至捐助方的客户端,向捐助方进行呈现。而捐助方可以通过查看客户端的用户界面中呈现的公益项目列表,来选择对应的目标公益项目,来参与公益项目。
请参见图3,图3为本说明书示出的一种通过客户端呈现公益项目列表的示意图。
如图3所示,以上述管理平台为公益图书募捐项目的管理平台为例,公益机构可以通过部署合约的形式在该管理平台中部署各种需求的公益图书募捐项目;比如,图3示出的公益图书募捐项目包括“科普类图书募捐”和“历史类图书募捐”等。上述管理平台可以将公益机构部署的各种公益图书募捐项目,以项目列表的形式通过客户端呈现给捐助人,使得捐助人可以在上述用户界面中选择想要参与的募捐项目。
在本说明书中,当捐助方选择了希望进行捐助的目标公益项目之后,客户端还可以进一步向捐助方呈现该目标公益项目的详情界面;其中,在该详情界面中可以包括该目标公益项目需要募捐的若干可供选择的捐赠对象的相关信息,使得捐助人在从该详情界面中选择相应的捐赠对象完成捐赠。
请参见图4,图4为本说明书示出的一种通过客户端呈现公益项目的详情界面的示意图。
如图4所示,仍以上述管理平台为公益图书募捐项目的管理平台为例,假设捐赠人选择了图3示出的“科普类图书募捐”项目,此时客户端可以进一步呈现该“科普类图书募捐”项目的详情界面;比如,图4中示出的上述详情界面具体可以是一个“科普类定制书单”界面,在该界面中向捐助人显示智能合约预先声明的采购清单,使得捐助人可以在上述采购清单中选择相应的图书,然后按照采购清单中声明的该图书的单价完成公益资金的捐赠。
在本说明书中,客户端可以根据捐助方所捐赠的捐赠对象的相关信息,来构建捐赠交易,并将构建的捐赠交易发送给区块链中的节点设备,来调用在区块链上部署的与该目标公益项目对应的智能合约。
例如,在实现时,该交易中具体可以携带与该目标公益项目对应的智能合约的合约地址,被调用的该智能合约中的执行函数的函数名称,以及作为调用参数的上述捐赠对象的相关信息。
而区块链中的节点设备在收到该笔交易后,该节点设备的EVM可以执行该交易,并在节点设备间通过区块链搭载的共识机制,对该笔交易的执行达成一致后,调用该智能合约中声明的捐赠处理逻辑,将该交易中的捐赠对象转移给该智能合约中声明的捐赠托管方。
例如,以该捐助方的捐赠对象为公益资金为例,通过调用该智能合约中声明的捐赠处理逻辑,可以将该交易中的公益资金转移给该智能合约中声明的捐赠托管方账户。
在示出的一种实施方式中,在将该交易中的捐赠对象转移至所述智能合约中声明的捐赠托管方之后,可以进一步调用该判断逻辑,判断该目标公益项目是否满足预设的募捐完成条件和募捐终止条件;
例如,仍以该捐助方的捐赠对象为公益资金为例,可以进一步调用上述判断逻辑,判断上述目标公益项目在预设的募捐周期内,转移至上述捐赠托管方账户的公益资金,是否达到该智能合约中声明的上述采购清单中的采购资金总额;如果是,表明该目标公益项目满足预设的募捐完成条件;如果否(比如项目已经超过募捐周期),表明该目标公益项目满足预设的募捐终止条件。
一方面,如果确认该目标公益项目满足预设的募捐完成条件,可以进一步调用上述智能合约中声明的捐赠执行逻辑,将募捐完成的捐赠对象转移至上述智能合约中声明的与该目标公益项目对应的被捐助方。
在示出的一种实施方式中,以上述目标公益项目的募捐对象为公益物品为例,如果确认该目标公益项目满足预设的募捐完成条件,则可以进一步调用上述智能合约中声明的捐赠执行逻辑,将募捐完成的公益资金由上述捐赠托管方账户转移至上述智能合约中声明的物品采购方账户,并将该智能合约中声明的采购清单也发送至上述物品采购方;而该物品采购方可以使用募捐完成的公益资金,按照该采购清单来采购公益物品,然后将采购的公益物品物流运输至被捐助方;或者,将采购的公益物品物流运输给面向被捐助方提供服务的公益机构。
其中,上述物品采购方,具体可以是上述公益物品的生产商;也即,通过调用上述捐赠处理逻辑,可以将募捐完成的公益资金由上述捐赠托管方账户直接转移至上述智能合约中声明的公益物品的生产商。
由于将公益资金转账给第三方的采购方,由第三方的采购方再向生产商进行采购,公众可能仍然会质疑采购方存在利益输送;因此,通过直接将募捐完成的公益资金转账给公益物品的生产商,可以避免将公益资金转移给不可信的第三方进行采购,从而可以最大程度的打消公众对公益项目的质疑。
当然,在实际应用中,如果上述目标公益项目的公益资金,则在确认该目标公益项目满足预设的募捐完成条件时,可以进一步调用上述智能合约中声明的捐赠执行逻辑,将募捐完成的公益资金转移至上述智能合约中声明的与被捐助方账户;或者,面向该被捐助方提供服务的服务方账户即可。
例如,以向经济困难的病患募捐医疗费用为例,可以直接将募捐的医疗费用,转账至该病患的个人账户;或者,也可以直接将募捐的医疗费用,转账给面向该病患提供医疗服务的医疗机构的账户。
另一方面,如果确认该目标公益项目满足预设的募捐终止条件(比如公益项目未在规定的募捐周期内募捐到足够的公益资金),可以进一步调用上述智能合约中声明的捐赠回退逻辑,将募捐完成的捐赠对象分别退回至对应的捐助方。
例如,对于捐赠人的捐赠记录,可以在区块链上进行存证。进而,在捐赠回退环节,可以基于区块链上存证的捐赠记录,对募捐得到的公益资金逐笔进行核销后,将募捐得到的公益资金逐笔退回给原始的捐赠人。
通过这种方式,可以在目标公益项目由于某种原因终止时,最大程度避免捐赠人的损失。
在本说明书中,基于智能合约的事件机制,在通过发起的交易调用智能合约中的执行逻辑之后,智能合约通常会触发相应的事件,并将智能合约触发的事件保存在区块链上;
例如,以以太坊为例,智能合约触发的事件,通常会写入交易(调用智能合约的那笔交易)的执行日志(log),然后将执行日志存储到与该交易所在区块的收据(receipt)树中。该数据树采用了MPT(Merkle Patricia Tree)树状结构,记录了该交易所在区块中所有交易的收据,并且该收据树的树根的hash值作为receipt root记录在该交易所在区块的区块头中。
而区块链中的节点设备,可以通过监听记录在区块链上的由智能合约触发的事件,对监听到的事件做出进一步的事件响应。
其中,对监听到的事件做出的进一步的事件响应所对应的具体的事件响应逻辑,在本说明书中不进行特别限定。
例如,基于智能合约的事件机制,监听者可以通过监听智能合约写入区块链的事件,来进一步与智能合约进行互动;比如,在监听到智能合约触发的某种事件后,可以进一步向智能合约提交相关的参数。或者,也可以通过监听智能合约写入区块链的事件,来进一步触发监听者本地运行的某种事项。
在本说明书中,上述智能合约触发的事件,具体可以包括智能合约在将捐助人捐赠的捐赠对象转移至上述捐赠托管方后生成的捐赠处理完成事件;以及,智能合约在将募捐完成的捐赠对象转移至被捐助方后生成的捐赠执行完成事件。
在示出的一种实施方式中,如果节点设备监听到区块链上记录的上述捐赠处理完成事件,可以响应该捐赠处理完成事件,生成对应于上述捐助方的捐赠记录,并将生成的上述捐赠记录发布至上述区块链进行存证;其中,上述捐赠记录包括捐赠对象和捐助方之间的对应关系;
也即,一旦通过调用上述智能合约将捐助人捐赠的捐赠对象成功转移至上述捐赠托管方后,可以立即生成对应于该捐助人的捐赠记录,并将生成的该捐赠记录发布至上述区块链进行存证。
在示出的一种实施方式中,如果节点设备监听到区块链上记录的上述捐赠执行完成事件,可以响应该捐赠执行完成事件,将上述目标公益项目切换为募捐完成状态。
也即,一旦通过调用上述智能合约将募捐完成的捐赠对象转移至被捐助方后,可以立即将上述目标公益项目切换为募捐完成状态。
在本说明书中,如果上述目标公益项目由于某种不可抗因素需要终止;比如,公益物品由于生厂商缺货或者停止生产采购失败,或者由于物价变动导致募集的款项不足以支付采购公益物品的费用,不得不终止公益项目的情形;也可以由上述目标公益项目的管理方来来主动终止上述目标公益项目;
在这种情形下,上述目标公益项目可以构建针对该目标公益项目的终止交易,并将构建的捐赠交易发送给区块链中的节点设备,来调用在区块链上部署的与该目标公益项目对应的智能合约。
而区块链中的节点设备在收到该笔交易后,该节点设备的EVM可以执行该交易,并在节点设备间通过区块链搭载的共识机制,对该笔交易的执行达成一致后,调用该智能合约中声明的捐赠回退逻辑,将募捐完成的捐赠对象分别退回至对应的捐助方。
相应的,在这种情形下,智能合约触发的事件还包括对应于上述目标公益项目的终止事件。区块链中的节点设备在监听到区块链上记录的上述终止事件,可以响应终止事件,将上述目标公益项目切换为项目终止状态。
3)公益项目的状态维护
在本说明中,对于上述目标公益项目中的各个环节产生的状态信息,均可以在区块链上进行存证。区块链的节点设备,可以通过监听区块链上存证的针对该目标公益项目的执行反馈信息,来跟踪和维护该目标公益项目的状态。
以下以上述目标公益项目的募捐对象为公益图书,而捐助人捐赠的捐赠对象为公益资金为例进行说明。
在这种公益场景下,上述目标公益项目对应的项目状态,可以包括募捐完成状态、采购完成状态、物流运输状态和项目完成状态等。相应的,区块链上存证的针对该目标公益项目的执行反馈数据,可以包括针对目标公益项目的采购数据、物流数据和接收确认数据,等等。
而区块链中的节点设备,可以通过监听在区块链上存证的由上述目标公益项目的参与各方发布的信息,来完成相应的项目状态切换。
其中,需要说明的是,以上示出的项目状态仅为示意性的,在实际应用中,本领域技术人员可以基于实际的需求,对上述目标公益项目的项目状态进行灵活的定义;例如,可以在以上示出的项目状态的基础上,对其中的部分项目状态进行细分;比如,将上述物流运输状态进行进一步的细分为“运输中”和“运输完成”等状态,在本说明书中不再进行一一列举。
在示出的一种实施方式中,当将募捐完成的公益资金由上述捐赠托管方账户转移至上述智能合约中声明的图书采购方账户(比如图书出版商),并且图书采购方使用公益资金完成公益图书的采购之后,可以将采购数据以交易的形式发布至区块链进行存证。
而区块链中的节点设备在监听到区块链中存证了与上述公益图书对应的采购数据后,可以立即将上述目标公益项目由募捐完成状态,切换为采购完成状态。
在示出的一种实施方式中,当图书采购方将采购的公益图书,发往物流机构进行物流运输,该物流机构可以将公益图书的物流数据,以交易的形式发布至区块链进行存证。
而区块链中的节点设备在监听到区块链中存证了与上述公益图书对应的物流数据后,可以立即将上述目标公益项目由采购完成状态,切换为物流运输状态。比如,该物流运输状态,具体可以是“图书发货”的状态。
在示出的一种实施方式中,当物流机构将公益图书成功送达被捐助方之后,被捐助方还可以对收到的公益图书进行接收确认,并将相关的接收确认数据,以交易的形式发布至区块链进行存证。
而区块链中的节点设备在监听到区块链中存证了被捐助方对上述公益图书的接收确认消息后,可以立即将上述目标公益项目由物流运输状态,切换为项目完成状态。比如,该项目完成状态,具体可以是“图书已上架”的状态。
在本说明书中,对于捐助方而言,可以通过客户端向区块链中的节点设备发起针对上述目标公益项目的状态查看请求;区块链中的节点设备在收到对上述目标公益项目的状态查看请求之后,可以响应该状态查看请求,将该目标公益项目标当前的项目状态返回给上述客户端,向上述捐助方进行显示。
例如,在实现时,在上述目标公益项目的详情界面中,可以提供一个与该项目对应的状态跟踪入口;比如,该状态跟踪入口可以是一个“执行计划和跟踪”的入口选项;捐赠人可以在客户端上通过诸如点击等方式触发该入口选项,向区块链中的节点设备发起针对该目标公益项目的状态查看请求。
如图3所示,当客户端收到区块链中的节点设备返回的该目标公益项目当前的状态时,可以在如图3所示的公益项目列表中与该目标公益项目对应的位置上标注相关的项目状态;比如,图3中示出的“科普类图书募捐”项目,被切换为“运输中”状态;图3中示出的“历史类图书募捐”项目,被切换为“筹款中”状态。
4)公益项目的反馈机制
由于传统的公益项目的推进,通常缺乏必要的反馈机制;造成捐赠人在参与某一公益项目时,通常无法从自身的捐赠行为中获得及时有效的反馈;因此,这种情形导致的后果就是,捐赠人可能因为自身的捐赠行为,没有获得情感上和心灵上的回报,就否认做公益的意义和价值,逐渐不再投身和参与公益项目。
基于此,在本说明书中,可以引入被捐助人向捐助人的捐助反馈机制。
在本说明书中,被捐助人针对捐助人捐赠的捐赠对象的反馈信息时,具体也可以以交易的形式发布至区块链进行存证;
其中,被捐助人针对捐助人捐赠的捐赠对象的反馈信息的具体内容,在本说明书中不进行特别限定;
在示出的一种实施方式中,被捐助方针对捐赠对象的反馈信息具体可以包括以下示出的其中一种或者多种的组合:
针对捐赠对象的接收确认数据;
针对捐赠对象的使用记录信息;
针对捐赠对象的使用反馈信息;
针对捐助方的互动反馈信息。
仍然以上述捐赠对象为公益图书为例,上述接收确认数据,具体可以包括物流机构将公益图书成功送达被捐助方之后,被捐助方对收到的公益图书进行接收确认时产生的相关信息。
例如,在一种实现方式中,以上述被捐助方也为公益机构为例,在公益图书上可以粘贴RFID码,而该公益机构可以部署搭载了RFID扫描器的智能书柜。当公益机构接收到捐赠的公益图书后,可以将公益图书放入智能书柜进行公益图书“上架”;而智能书柜在扫描到放入智能书柜的公益图书上粘贴的RFID码后,可以获取到“上架”的公益图书的基本信息,然后将获取到的“上架”的公益图书的基本信息,作为上述接收确认数据,以交易的形式发布至区块链进行存证。
上述使用记录信息,具体可以包括被捐助方在借阅和归还公益图书时,产生的借阅信息;其中,上述借阅信息,具体可以包括借阅人的信息、借阅时长、累计借阅次数等信息。
例如,在一种实现方式中,仍以上述被捐助方也为公益机构为例,在公益图书上可以粘贴RFID码,而该公益机构可以部署搭载了RFID扫描器的智能书柜。当被捐助方在借阅和归还公益图书时,智能书柜可以扫描公益图书上的RFID码,来生成借阅信息,然后将生成的借阅信息以交易的形式发布至区块链进行存证。
上述使用反馈信息,具体可以包括公益图书的借阅者,针对公益图书的内容反馈;例如,针对公益图书的反馈内容,具体可以包括借阅者通过客户端上传的对公益图书的读后感。
上述互动反馈信息,具体可以包括公益图书的借阅者,与公益图书的捐助方的互动内容;其中,借阅者与捐助方的互动内容在本说明书中不进行特别限定,在实际应用中,借阅者与捐助方之间任意形式的互动内容都可以以互动消息的形式反馈给捐助方;例如,公益图书的借阅者对捐助方的留言信息,公益图书的借阅者对捐助方或者公益图书的点赞行为,或者其它形式的互动内容等等。
在本说明书中,区块链中的节点设备,可以监听区块链中存证的被捐助方针对捐赠对象的反馈信息,并在监听到区块链上存证的针对捐赠对象的反馈信息时,可以进一步确定出与捐赠对象对应的捐助方。
例如,在示出的一种实施方式中,由于在区块链中还存证了与捐赠对象对应的捐赠记录,并且捐赠记录中记录了捐赠对象和捐助方之间的对应关系;因此,可以通过基于区块链存证的捐赠记录中记录的上述对应关系,来进一步确定出与捐赠对象对应的捐助方。
当确定出与捐赠对象对应的捐助方后,区块链中的节点设备可以进一步基于监听到的反馈信息来生成对应的公益捐赠反馈消息,然后将生成的公益捐赠反馈消息发送至确定出的上述捐助方。
其中,生成的公益捐赠反馈消息的消息类型,可以与监听到的反馈信息的具体内容相对应;例如,在实际应用中,可以针对每一种反馈信息,定义一种对应的公益捐赠反馈消息的消息类型。
以上述捐赠对象为公益图书为例,假设监听到的反馈信息,为针对捐赠的公益图书的接收确认数据,此时基于上述接收确认数据生成的公益捐赠反馈消息,具体可以是一条提醒捐助方其捐赠的公益图书,已经成功送达被捐助方的提醒消息;
例如,请参见图5,基于上述接收确认数据生成的公益捐赠反馈消息,具体可以是一条“您捐赠的图书已上架”的提醒消息。
假设监听到的反馈信息,为针对公益图书的使用记录信息,此时基于上述使用记录信息生成的公益捐赠反馈消息,具体可以是一条提醒捐助方其捐赠的公益图书被借阅的提醒消息;
例如,请参见图6,基于上述使用记录信息生成的公益捐赠反馈消息,具体可以是一条“又有人借你的书啦”的提醒消息;捐助方可以通过触发该提醒消息,进入到对应于该公益图书的借阅记录详情界面,来查看该公益图书的借阅记录。
假设监听到的反馈信息,为针对公益图书的使用反馈信息,此时基于上述使用反馈信息生成的公益捐赠反馈消息,具体可以是一条向捐助方提示借阅者针对公益图书的反馈内容的提醒消息。
例如,请参见图7,基于上述使用反馈信息生成的公益捐赠反馈消息,具体可以是一条“您捐出的书又收到读后感了”的提醒消息;捐助方可以通过触发该提醒消息,进入到对应于该公益图书的读后感界面,来查看借阅者针对该公益图书的读后感。
假设监听到的反馈信息,为针对捐助方的互动反馈信息,此时基于上述互动反馈信息生成的公益捐赠反馈消息,具体可以是一条携带互动内容的互动提醒消息;
例如,上述互动反馈信息具体可以是借阅者对公益书籍的点赞行为。在这种情况下,基于上述使互动反馈信息生成的公益捐赠反馈消息,具体可以是一条“您捐出的书又收到点赞了”的提醒消息。
通过在公益项目中,引入被捐助人向捐助人的捐助反馈机制,使得捐赠人在参与某一公益项目时,可以从自身的捐赠行为中获得及时有效的反馈;对于捐赠人来说,通过这种捐助反馈机制,可以获得情感上和心灵上的回报,可以间接的提升捐助人对公益项目的参与积极性。
与上述方法实施例相对应,本申请还提供了装置的实施例。
与上述方法实施例相对应,本说明书还提供了一种基于区块链的公益捐助装置的实施例。本说明书的基于区块链的公益捐助装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本说明书的基于区块链的公益捐助装置所在电子设备的一种硬件结构图,除了图8所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图9是本说明书一示例性实施例示出的一种基于区块链的公益捐助装置的框图。
请参考图9,所述基于区块链的公益捐助装置90可以应用在前述图8所示的电子设备中,包括:
转移模块901,响应于捐助方发起的针对目标公益项目的捐赠交易,调用发布在区块链上的与所述目标公益项目对应的智能合约,将所述捐赠交易中的捐赠对象转移给与所述目标公益项目对应的被捐助方;
监听模块902,监听区块链中存证的被捐助方针对捐赠对象的反馈信息;
确定模块903,响应于监听到的所述反馈信息,确定与所述捐赠对象对应的捐助方;
反馈模块904,生成对应于所述反馈信息的公益捐赠反馈消息,并将生成的公益捐赠反馈消息发送至所述被捐助方。
在本实施例中,所述区块链中还存证了与所述捐赠对象对应的捐赠记录;所述捐赠记录包括所述捐赠对象和对应的捐助方之间的对应关系;
所述确定模块903:
基于所述区块链中存证的所述对应关系,确定所述捐赠对象对应的捐助方。
在本实施例中,所述针对捐赠对象的反馈信息包括以下示出的一个或者多个的组合:
针对捐赠对象的接收确认数据;
针对捐赠对象的使用记录信息;
针对捐赠对象的使用反馈信息;
针对捐助方的互动反馈信息。
在本实施例中,所述转移模块901:
接收捐助方发起的针对目标公益项目的捐赠交易;所述捐赠交易包括所述捐赠对象;
响应于所述捐赠交易,调用发布在区块链上的与所述目标公益项目对应的智能合约中声明的捐赠处理逻辑,将所述捐赠对象转移至所述智能合约中声明的捐赠托管方;以及,
在确定所述目标公益项目满足预设的募捐完成条件时,进一步调用所述智能合约中声明的捐赠执行逻辑,将募捐完成的捐赠对象转移至所述智能合约中声明的与所述目标公益项目对应的被捐助方。
在本实施例中,所述转移模块901进一步:
在确定所述目标公益项目满足预设的募捐终止条件时,进一步调用所述智能合约中声明的捐赠回退逻辑,将募捐完成的捐赠对象分别退回至对应的捐助方。
在本实施例中,所述装置90还包括:
判断模块905(图9中未示出),在将所述捐赠对象转移至所述智能合约中声明的捐赠托管方之后,进一步调用所述智能合约中声明的判断逻辑,判断所述目标公益项目是否满足预设的募捐完成条件和募捐终止条件。
在本实施例中,所述监听模块902进一步:
监听由所述智能合约生成的智能合约事件;
所述装置90还包括:
存证模块906(图9中未示出),响应于监听到的由所述智能合约在将所述捐赠对象转移至所述捐赠托管方后生成的捐赠处理完成事件,生成对应于所述捐助方的捐赠记录,并将生成的所述捐赠记录发布至所述区块链进行存证;
切换模块907(图9中未示出),响应于监听到的由所述智能合约在将募捐完成的捐赠对象转移至所述被捐助方后生成的捐赠执行完成事件,将所述目标公益项目切换为募捐完成状态。
在本实施例中,所述捐赠对象为公益资金;所述目标公益项目的募捐对象为公益物品;
所述转移模块901进一步:
将所述公益资金转账至所述智能合约中声明的捐赠托管方账户;
将募捐完成的公益资金由所述捐赠托管方账户转移至所述智能合约中声明的与所述目标公益项目对应的物品采购方账户,以由所述物品采购方根据所述公益资金采购公益物品,并将采购的公益物品物流运输至被捐助方的相关数据发布到区块链上;或者,面向被捐助方提供服务的公益机构。
在本实施例中,所述智能合约中还声明了对应于所述公益物品的采购清单;其中,所述采购清单包括待采购的公益物品,以及与所述公益物品对应的采购单价;
所述转移模块901进一步:
将所述智能合约中声明的采购清单发送至所述物品采购方,以由所述物品采购方按照所述采购清单采购公益物品。
在本实施例中,所述募捐完成条件包括:在预设的募捐周期内,转移至所述捐赠托管方账户的公益资金,达到所述采购清单中的采购资金总额;
所述募捐终止条件包括:在预设的募捐周期内,转移至所述捐赠托管方账户的公益资金,未达到所述采购清单中的采购资金总额。
在本实施例中,所述物品采购方为所述公益物品的生产商。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。