一种区块链验证人更新方法、装置、设备及可读存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链验证人更新方法、装置、设备及可读存储介质。
背景技术
区块链(Blockchain)是借由密码学串接并保护内容的串连交易记录(又称区块),是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
在具有验证人角色的区块链共识算法中通常选取全部节点中的一部分来进行区块的提议及验证共识,这些参与区块提议及认证的节点通常被称之为验证人节点(validator)。验证人节点可能会出现动态加入或退出的情况,现有验证人更新方法一般采用链下发起特殊交易来更新验证人的方案,通常需要区块链原生支持一种特殊的多重签名交易,由当前验证人列表中的大多数验证人进行多重签名来保证交易合法性,该交易验证通过执行时,进行验证人的增删。但由于在多重签名中,验证人被各方控制,链下较难收集到来自各验证人的签名信息,因此通常会依赖一种中心化的第三方服务用以收集来自各方的签名信息,但是这样会导致隐私泄漏和高成本的问题。
因此,如何解决现有验证人更新方法存在的隐私泄漏和高成本问题,是本领域技术人员需要解决的技术问题。
发明内容
本发明的主要目的在于提供一种区块链验证人更新方法、区块链验证人更新装置、区块链验证人更新设备及计算机可读存储介质,旨在解决现有验证人更新方法存在的隐私泄漏和高成本问题。
为实现上述目的,本发明提供的一种区块链验证人更新方法,包括:
当查询到目标验证人节点通过目标智能合约提出的验证人更新提案后,判断是否接收到用户输入的同意提案指令;
若接收到所述同意提案指令,则发送同意提案通知;
统计所述验证人更新提案对应的同意节点数,判断所述同意节点数是否大于预设同意节点数阈值;
若所述同意节点数大于所述预设同意节点数阈值,则执行所述验证人更新提案更新本地验证人列表。
可选地,还包括:
当接收到提案发起指令时,调用所述目标智能合约,发起第一验证人更新提案。
可选地,所述统计所述验证人更新提案对应的同意节点数,包括:
当接收到所述同意提案指令时,将所述同意节点数加一;
当检测到其他验证人节点发送的所述同意提案通知时,根据所述同意提案通知更新所述同意节点数;其中,所述其他验证人节点为区块中除本验证人节点以外的任一验证人节点。
可选地,在检测到其他验证人节点发送的所述同意提案通知之后,在所述根据所述同意提案通知更新所述同意节点数之前,还包括:
判断是否已经接收过所述其他验证人节点发送的所述同意提案通知;
若否,则执行所述根据所述同意提案通知更新所述同意节点数的步骤。
可选地,当所述验证人更新提案为验证人增加提案时,所述执行所述验证人更新提案更新本地验证人列表,包括:
获取所述验证人增加提案对应的新增验证人信息;
将所述新增验证人信息加入所述本地验证人列表中。
可选地,当所述验证人更新提案为验证人删除提案时,所述执行所述验证人更新提案更新本地验证人列表,包括:
从本地验证人列表中删除所述验证人删除提案对应的验证人信息。
可选地,还包括:
判断所述验证人更新提案的存在时间是否大于有效期阈值;
若是,则结束所述验证人更新提案。
为实现上述目的,本发明进一步提供一种区块链验证人更新装置,包括:
同意提案指令判断模块,用于当查询到目标验证人节点通过目标智能合约提出的验证人更新提案后,判断是否接收到用户输入的同意提案指令;
发送模块,用于若接收到所述同意提案指令,则发送同意提案通知;
数量判断模块,用于统计所述验证人更新提案对应的同意节点数,判断所述同意节点数是否大于预设同意节点数阈值;
执行模块,用于若所述同意节点数大于所述预设同意节点数阈值,则执行所述验证人更新提案更新本地验证人列表。
为实现上述目的,本发明进一步提供一种区块链验证人更新设备,所述区块链验证人更新设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的区块链验证人更新程序,所述区块链验证人更新程序被所述处理器执行时实现上述的区块链验证人更新方法。
可选地,所述区块链验证人更新设备为组成CDN网络或者区块链网络的节点。
可见,本发明提供的区块链验证人更新方法,当检测到目标验证人节点提出的验证人更新提案后,当接收到同意提案指令后,说明用户同意该验证人更新提案,则发送同意提案通知,表示同意该验证人更新提案。同时统计验证人更新提案对应的同意节点数,当同意节点数大于预设同意节点数阈值时,说明区块中有足够多的验证人节点同意该验证人更新提案,因此可以执行该验证人更新提案以更新本地验证人列表,不需要第三方参与验证人的更新操作,避免了隐私泄露和高成本的问题,同时实现了去中心化的效果,解决了现有验证人更新方法存在的隐私泄漏和高成本问题。
此外,本发明还提供了一种区块链验证人更新装置、区块链验证人更新设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种区块链验证人更新方法流程示意图;
图2为本发明实施例提供的另一种区块链验证人更新方法流程示意图;
图3为本发明实施例提供的一种提案有效判断方法流程示意图;
图4为本发明实施例提供的一种区块链验证人更新装置的结构示意图;
图5为本发明实施例提供的一种区块链验证人更新设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种区块链验证人更新方法。
请参考图1,图1为本发明实施例提供的一种区块链验证人更新方法流程示意图。该方法包括:
S101:当查询到目标验证人节点通过目标智能合约提出的验证人更新提案后,判断是否接收到用户输入的同意提案指令。
验证人节点为在部分区块链的共识算法中用来进行区块提议及验证共识的节点,是区块中所有节点的一部分。验证人更新提案用于对区块中的验证人节点进行更新,具体可以为验证人节点的增加和删除,或者还可以为验证人节点的替换等。验证人更新提案需要调用目标智能合约提出,智能合约为用户使用特定的编程语言编译出的一段可运行的代码,可以用于完成某些特定操作,目标智能合约为用于发起验证人更新提案的智能合约,其具体内容本实施例不做限定。执行本发明实施例中各个步骤的验证人节点为本节点,也可以称为本验证人节点。
本发明提供的区块链验证人更新方法可以由区块中的任意一个验证人节点执行,本方法通过验证人节点投票的方式决定验证人节点的更新,无需通过第三方服务收集签名信息,避免了隐私泄露和高成本的问题。目标验证人节点可以为任一验证人节点,当查询到目标验证人节点通过目标智能合约提出的验证人更新提案后,判断是否接收到用户输入的同意提案指令。用户为该验证人节点对应的验证人,同意提案指令用于表示验证人同意该提案,其具体形式和内容本实施例不做限定。
当查询到验证人更新提案时,还可以输出通知或信息,使用户得知有验证人更新提案被提出,或者可以在接收到查看指令时显示验证人更新提案。用户在得知存在验证人更新提案后,可以自行确定验证人更新提案针对的节点是否满足验证人更新提案的要求,具体的要求内容可以根据验证人更新提案的具体内容和实际情况设置,例如验证人可以检查验证人更新提案针对的节点质押的代币是否足够;或者验证人可以线下实地检查验证人更新提案针对的节点的物理设备是否满足条件等。当没有接受到用户输入的同意提案指令时,可以进入S105:无操作步骤,既不执行任何操作,或者可以执行其他预设操作,预设操作的具体内容本实施例不做限定;当接收到用户输入的同意提案指令后,可以进入S102步骤。
S102:发送同意提案通知。
当接受到同意提案指令时,说明用户,即验证人,确定验证人更新提案针对的验证人节点满足该验证人更新提案的要求,同意该验证人更新提案。因此可以发送同意提案通知,以便使区块中的其他验证人节点得知本节点同意该验证人更新提案,进而统计同意节点数。本实施例并不限定同意提案通知发送的对象,例如可以为区块中的其他验证人节点;或者可以在区块中进行广播,即发送给区块中的所有节点。
S103:统计验证人更新提案对应的同意节点数,判断同意节点数是否大于预设同意节点数阈值。
在查询到验证人更新提案后,可以开始统计验证人更新提案对应的同意节点数,同意节点数为同意该验证人更新提案的验证人节点数目。同意节点数可以通过利用各个验证人节点发送的同意提案通知来统计得到,同意节点数的统计操作可以实时执行,即实时计算同意节点数;或者可以按照预设周期结算,即按照预设周期统计验证人更新提案对应的同意节点数;或者可以在检测到同意提案通知时统计同意节点数。
在统计验证人更新提案对应的同意节点数后,判断该同意节点数是否大于预设同意节点数阈值。预设同意节点数阈值用于判断是否可以执行验证人更新提案,其具体数目大小本实施例不做限定,例如可以设置为验证人节点的数目的一半;或者可以设置为验证人节点的数目的三分之二。当验证人更新提案对应的同意节点数小于预设同意节点数阈值时,可以不执行任何操作;或者可以重新统计验证人更新提案对应的同意节点数,本实施例对此不做限定。当同意节点数不大于预设同意节点数阈值时,可以进入S105:无操作步骤,既不执行任何操作,或者可以执行预设操作,预设操作的具体内容本实施例不做限定;当同意节点数大于预设同意节点数阈值时,可以进入S104步骤。
S104:执行验证人更新提案更新本地验证人列表。
若同意节点数大于预设同意节点数阈值,说明区块中已有足够多的验证人节点确定验证人更新提案针对的节点满足验证人更新提案的要求,因此可以执行该验证人更新提案以更新本地验证人列表,具体的执行过程与验证人更新提案的具体内容相关,可以参考相关技术。本地验证人列表即为合约内部的验证人列表。
应用本发明实施例提供的区块链验证人更新方法,该方法当检测到目标验证人节点提出的验证人更新提案后,当接收到同意提案指令后,说明用户同意该验证人更新提案,则发送同意提案通知,表示同意该验证人更新提案。同时统计验证人更新提案对应的同意节点数,当同意节点数大于预设同意节点数阈值时,说明区块中有足够多的验证人节点同意该验证人更新提案,因此可以执行该验证人更新提案以更新本地验证人列表,不需要第三方参与验证人的更新操作,避免了隐私泄露和高成本的问题,同时实现了去中心化的效果,解决了现有验证人更新方法存在的隐私泄漏和高成本问题。同时还可以避免在利用算法自动更新验证人列表时容易被恶意节点利用算法漏洞成为验证人节点的问题,提高了验证人更新的安全性。
基于上述发明实施例,本发明实施例将说明另一重农区块链验证人更新过程。请参考图2,图2为本发明实施例提供的另一种区块链验证人更新方法流程示意图,包括:
S201:当接收到提案发起指令时,调用目标智能合约,发起第一验证人更新提案。
在本发明实施例中,由本节点发起验证人更新提案。具体的,在接受到提案发起指令时,调用目标智能合约发起第一验证人更新提案。提案发起指令由用户输入,用于发起验证人更新提案。需要说明的是,提案发起指令的具体内容与第一验证人更新提案的内容相关,根据实际情况的不同,提案发起指令的具体内容也不同。
本发明实施例并不限定提案发起指令的具体输入方法,例如可以由用户手动输入;或者可以由用户输入提案发起指令的类型和针对的节点,点击发起提案按钮以生成提案发起指令。
S202:判断是否接收到用户输入的同意提案指令。
该步骤具体说明可以参考上述实施例中的S101步骤的说明,本实施例在此不再赘述。
S102:发送同意提案通知。
该步骤具体说明可以参考上述实施例中的S102步骤的说明,本实施例在此不再赘述。
S203:当接收到同意提案指令时,将同意节点数加一。
在本发明实施例中,在接收到同意提案指令和同意提案通知时统计同意节点数,以便及时对同意节点数进行更新,并减少实时统计同意节点数浪费的资源。
具体的,在接收到同意提案指令时,说明本节点同意第一验证人更新提案,因此将同意节点数加一,同意节点数从零开始计算。
S204:当检测到其他验证人节点发送的同意提案通知时,根据同意提案通知更新同意节点数。
需要说明的是,其他验证人节点为区块中除本验证人节点以外的任一验证人节点。在检测到其他验证人节点发送的同意提案通知时,根据同意提案通知更新同意节点数。具体的,可以在每当检测到一个同意提案通知后对同意节点数加一。
进一步,为了防止对某个或某些验证人节点的同意提案通知进行多次统计造成同意节点数不准确的问题,本发明实施例中优选的,在接收到其他验证人节点发送的同意提案通知之后,判断是否已经接受过该验证人节点发送的同意提案通知。具体的,各个验证人节点发送的同意提案通知可携带有该验证人节点的签名信息,利用该签名信息可以判断是否已经接受过该验证人节点发送的同意提案通知。当确定已经接受过该验证人节点发送的同意提案通知后,可以不执行任何操作;当确定未接受过该验证人节点发送的同意提案通知后,可以利用该同意提案通知更新同意节点数。
S205:判断同意节点数是否大于预设同意节点数阈值。
该步骤具体说明可以参考上述实施例中的S103步骤的说明,本实施例在此不再赘述。当同意节点数不大于预设同意节点数阈值时,可以进入S105:无操作步骤,既不执行任何操作,或者可以执行预设操作,预设操作的具体内容本实施例不做限定;当同意节点数大于预设同意节点数阈值时,可进入S206步骤。
S206:执行验证人更新提案更新本地验证人列表。
具体的,在本发明实施例中,验证人更新提案可以包括验证人增加提案和验证人删除提案。当验证人更新提案为验证人增加提案时,执行验证人更新提案更新本地验证人列表的步骤可以包括:
S2061:获取验证人增加提案对应的新增验证人信息。
新增验证人信息即为新增验证人节点的相关信息,具体可以包括验证人节点的地址信息、名称信息等,还可以包括其他信息,例如新增时间等。新增验证人信息可以从异地验证人更新提案中获取,或者可以从提案发起指令中获取。
S2062:将新增验证人信息加入本地验证人列表中。
在获取新增验证人信息后,将其加入本地验证人列表中,以完成对本地验证人列表的更新。
当验证人更新提案为验证人删除提案时,执行验证人删除提案更新本地验证人列表的步骤可以包括:
S2063:从本地验证人列表中删除验证人删除提案对应的验证人信息。
具体的,可以利用第一验证人更新提案或提案发起指令确定验证人删除提案指定的验证人信息,并重本地验证人列表中删除对应的验证人信息以完成对本地验证人列表的更新。
应用本发明实施例提供的区块链验证人更新方法,可以及时对同意节点数进行更新,并减少实时统计同意节点数浪费的资源。同时还可以避免对某个或某些验证人节点的同意提案通知进行多次统计造成同意节点数不准确的问题,准确的统计同意节点数。
基于上述发明实施例,在实际情况中,可以对各个验证人更新提案设置有效期,请参考图3,图3为本发明实施例提供的一种提案有效判断方法流程示意图,包括:
S301:判断验证人更新提案的存在时间是否大于有效期阈值。
在本发明实施例中,每个验证人更新提案再被发起后会计算器对应的存在时间,存在时间即为该验证人更新提案被发起后到当前时刻的时长。本发明实施例中还设置有有效期阈值,由于限制验证人更新提案的有效期,当某个验证人更新提案的存在时间小于有效期阈值时,说明该验证人更新提案还处于有效期内,可以进入S105:无操作步骤,即不执行任何操作,或者可以执行预设操作,预设操作的具体内容本实施例不做限定;当验证人更新提案的存在时间大于有效期阈值时,可以进入S302步骤.
S302:结束验证人更新提案。
若验证人跟新提案的存在时间大于有效期阈值时,说明该验证人更新提案已不再有效期内,因此结束该验证人更新提案。具体的,可以不再更新该验证人更新提案对应的同意节点数以结束验证人更新提案;或者可以不接受任何针对该验证人更新提案的指令或通知等以结束该验证人更新提案;或者可以删除该验证人更新提案以结束验证人更新提案。
应用本发明实施例提供的区块链验证人更新方法,可以限制每个验证人更新提案的有效期,以便提高验证人更新的安全性,防止在同一时间出现针对某一节点的多个相同提案。
下面对本发明实施例提供的区块链验证人更新装置进行介绍,下文描述的区块链验证人更新装置与上文描述的区块链验证人更新方法可相互对应参照。
请参考图4,图4为本发明实施例提供的一种区块链验证人更新装置的结构示意图,包括:
同意提案指令判断模块410,用于当查询到目标验证人节点通过目标智能合约提出的验证人更新提案后,判断是否接收到用户输入的同意提案指令;
发送模块420,用于若接收到同意提案指令,则发送同意提案通知;
数量判断模块430,用于统计验证人更新提案对应的同意节点数,判断同意节点数是否大于预设同意节点数阈值;
执行模块440,用于若同意节点数大于预设同意节点数阈值,则执行验证人提案更新本地验证人列表。
可选地,还包括:
当接收到提案发起指令时,调用目标智能合约,发起第一验证人更新提案。
可选地,数量判断模块430,包括:
第一更新单元,用于当接收到同意提案指令时,将同意节点数加一;
第二更新单元,用于当检测到其他验证人节点发送的同意提案通知时,根据同意提案通知更新同意节点数;其中,其他验证人节点为区块中除本验证人节点以外的任一验证人节点。
可选地,还包括:
重复接收判断模块,用于判断是否已经接收过其他验证人节点发送的同意提案通知;
相应的,数量判断模块430为在确定未接收过其他验证人节点发送的同意提案通知后根据同意提案通知更新同意节点数的模块。
可选地,执行模块440,包括:
获取单元,用于获取验证人增加提案对应的新增验证人信息;
添加单元,用于将新增验证人信息加入本地验证人列表中。
可选地,执行模块440,包括:
删除单元,用于从本地验证人列表中删除验证人删除提案对应的验证人信息。
可选地,还包括:
有效期判断模块,用于判断验证人更新提案的存在时间是否大于有效期阈值;
结束模块,用于若验证人更新提案的存在时间大于有效期阈值,则结束验证人更新提案。
下面对本发明实施例提供的区块链验证人更新设备进行介绍,下文描述的区块链验证人更新设备与上文描述的区块链验证人更新方法可相互对应参照。
请参考图5,图5为本发明实施例提供的一种区块链验证人更新设备的结构示意图。在本实施例中,区块链验证人更新设备500可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该区块链验证人更新设备500可以是组成CDN网络或者区块链网络的节点。
该区块链验证人更新设备500可以包括存储器501、处理器502和总线503。
其中,存储器501至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器501在一些实施例中可以是区块链验证人更新设备500的内部存储单元,例如该区块链验证人更新设备500的硬盘。存储器501在另一些实施例中也可以是区块链验证人更新设备500的外部存储设备,例如区块链验证人更新设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器501还可以既包括区块链验证人更新设备500的内部存储单元也包括外部存储设备。存储器501不仅可以用于存储安装于区块链验证人更新设备500的应用软件及各类数据,例如区块链验证人更新程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器502在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器501中存储的程序代码或处理数据,例如执行区块链验证人更新程序01等。
该总线503可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,区块链验证人更新设备500还可以包括网络接口504,网络接口504可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该区块链验证人更新设备500与其他电子设备之间建立通信连接。
可选地,该区块链验证人更新设备500还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在区块链验证人更新设备500中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件501-503以及区块链验证人更新程序01的区块链验证人更新设备500,本领域技术人员可以理解的是,图5示出的结构并不构成对区块链验证人更新设备500的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的区块链验证人更新方法可相互对应参照。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的区块链验证人更新方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。