区块链智能合约验证方法、装置及存储介质与流程

文档序号:16885199发布日期:2019-02-15 22:34阅读:174来源:国知局
区块链智能合约验证方法、装置及存储介质与流程

本发明涉及信息技术领域,尤其涉及一种区块链智能合约验证方法、装置及计算机可读存储介质。



背景技术:

区块链网络通常是由大量的全节点组成的,这些全节点维护有全量的账本数据。全节点会实时同步每个区块的完整数据,因而可以对区块的有效性做出正确的判断。

区块链网络中也会存在一些轻量级节点,例如手机移动客户端。因为他们的存储空间有限,所以不能存储全部的历史区块数据。另外,移动客户端的带宽有限,流量费用较高,当区块大小较大且出块速度较快时,实时同步每个区块的完整数据到移动客户端也是不现实的。另一方面,由于轻量级节点的硬件能力较弱,在本地重复执行智能合约,并验证智能合约的执行结果与从区块链网络同步来的区块是否一致的代价过高。

目前市面上有轻量级节点技术,但是无法在不重复执行智能合约的情况下在轻量级节点上有效验证智能合约的执行结果。



技术实现要素:

本发明实施例提供一种区块链智能合约验证方法、装置及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。

第一方面,本发明实施例提供了一种区块链智能合约验证方法,包括:从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;对所述第一梅克尔树的根节点和所述交易标识进行验证;对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;如果以上验证通过,则确定所述智能合约的执行结果有效。

在一种实施方式中,对所述第一梅克尔树的根节点和所述交易标识进行验证,包括:使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。

在一种实施方式中,对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证,包括:使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。

在一种实施方式中,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中之前,还包括:分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;如果一致,则确定所述指定区块有效;在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。

第二方面,本发明实施例提供了一种区块链智能合约验证装置,包括:获取单元,用于从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;第一验证单元,用于对所述第一梅克尔树的根节点和所述交易标识进行验证;第二验证单元,用于对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;第三验证单元,用于验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;确定单元,用于:如果以上验证通过,则确定所述智能合约的执行结果有效。

在一种实施方式中,所述第一验证单元还用于:使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。

在一种实施方式中,所述第二验证单元还用于:使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。

在一种实施方式中,还包括第四验证单元,用于:分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;如果一致,则确定所述指定区块有效;在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。

在一个可能的设计中,区块链智能合约验证装置的结构中包括处理器和存储器,所述存储器用于存储支持区块链智能合约验证装置执行上述第一方面中区块链智能合约验证方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述区块链智能合约验证装置还可以包括通信接口,用于区块链智能合约验证装置与其他设备或通信网络通信。

第三方面,本发明实施例提供了一种区块链智能合约验证装置,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的方法。

上述技术方案具有如下优点或有益效果:不需要下载和存储全量的区块信息,也不需要在轻量级客户端本地重复执行智能合约,即可在区块链网络中帮助轻量级节点判断智能合约执行结果有效性,节省了系统资源,提高了执行效率。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1为本发明一实施例提供的区块链智能合约验证方法的流程图。

图2为本发明另一实施例提供的区块链智能合约验证方法的流程图。

图3为本发明另一实施例提供的区块链智能合约验证方法中的全节点计算第二梅克尔树的流程图。

图4为本发明另一实施例提供的区块链智能合约验证方法的流程图。

图5为本发明另一实施例提供的区块链智能合约验证方法的流程图。

图6为本发明另一实施例提供的区块链智能合约验证方法的流程图。

图7为本发明另一实施例提供的区块链智能合约验证方法的在轻量级节点上的有效性校验流程图。

图8为本发明一实施例提供的区块链智能合约验证装置的结构框图。

图9为本发明又一实施例提供的区块链智能合约验证装置的结构框图。

图10为本发明又一实施例提供的区块链智能合约验证装置的结构框图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

图1为本发明一实施例提供的区块链智能合约验证方法的流程图。如图1所示,本发明实施例的区块链智能合约验证方法包括:步骤s110,从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;步骤s120,对所述第一梅克尔树的根节点和所述交易标识进行验证;步骤s130,对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;步骤s140,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;步骤s150,如果以上验证通过,则确定所述智能合约的执行结果有效。

梅克尔树(merkletrees)是区块链的重要数据结构,能够快速归纳和校验区块数据的存在性和完整性。梅克尔树通常包含区块体的底层(交易)数据库、区块头的根哈希值(即merkle根)以及所有沿底层区块数据到根哈希的分支。梅克尔树运算过程一般是将区块体的数据进行分组哈希,并将生成的新哈希值插入到梅克尔树中,如此递归直到只剩最后一个根哈希值并记为区块头的merkle根。最常见的梅克尔树是比特币采用的二叉梅克尔树,其每个哈希节点总是包含两个相邻的数据块或其哈希值。

区块链网络中存在一些轻量级节点,例如手机移动客户端。轻量级节点存储空间有限、硬件能力较弱。需要寻求可行的方法在轻量级节点上验证从网络中新同步的涉及智能合约执行的结果的有效性。本发明实施例提供了一种在区块链网络中帮助轻量级节点判断智能合约执行结果有效性的方法。本发明实施例的具体验证方法包括:

在步骤s120中,验证区块头部信息中的第一梅克尔树的根节点和交易列表中的交易标识是否匹配;

在步骤s130中,验证区块头部信息中的第二梅克尔树的根节点和交易列表中的智能合约执行结果是否匹配;

在步骤s140中,验证区块头部信息中的指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。

其中,步骤s120和步骤s130的执行顺序可以互换。或者,在另一种实施方式中,步骤s120和步骤s130可并行执行。

本发明实施例可以应用在任何使用区块链技术的轻量级节点上,包括但不限于移动客户端设备。

图2为本发明另一实施例提供的区块链智能合约验证方法的流程图。如图2所示,本发明实施例具体的实施步骤如下:

步骤s105:在本地维护一个区块头部的链式数据结构。

a.区块头部的包含以下数据:

i.区块id(identification,标识)

ii.上一个区块id

iii.第一梅克尔树的根节点hash(哈希值)。第一梅克尔树的最下层叶子节点由该区块所包含的所有utxo(unspenttransactionoutput,未花费的交易输出)交易id组成。其中,交易id由交易内容进行哈希算出,但是交易内容中不包括智能合约的执行结果。

iv.第二梅克尔树的根节点hash。第二梅克尔树的最下层叶子节点由该区块所包含的所有智能合约的执行结果组成。一个交易如果涉及到智能合约的执行,其执行结果会存储在一个新的字段上。这些新的字段会组成一棵梅克尔树。

v.每个交易的智能合约的执行结果由以下两部分内容组成:

v-1.一棵梅克尔树的根节点。每次vm(virtualmachine,虚拟机)在执行完毕一个交易所涉及的智能合约后,会修改存储智能合约的数据内容的数据结构。所有的数据组成这棵梅克尔树。

v-2.本次交易所涉及的智能合约执行后所产生的执行结果。

b.每个区块头部指向上一个区块的区块头部,由此维护了一个链式的数据结构。创世区块的区块头部所指向的上一个区块id为0。

图3为本发明另一实施例提供的区块链智能合约验证方法中的全节点计算第二梅克尔树的流程图。在图3中,state–key表示智能合约的执行结果相对应的值和键值数据。“keystatesnapshotswhensmartcontracthasbeeninvoked”表示当智能合约执行后产生执行结果相对应的值和键值数据的快照。对state–key1和state–key2分别进行哈希计算,得到两个叶子节点hashl–leaf。再对两个叶子节点hashl–leaf进行哈希计算,得到树枝结点hashx–branch。对两个树枝节点hashx–branch和hashyou–branch进行哈希计算,产生上述步骤v-1中的梅克尔树的根节点,即“statedbmerklerootwhensmartcontracthasbeeninvoked–txb(执行智能合约b后的梅克尔树根值的数据库)”。“smartcontractinvokeresult”表示智能合约执行结果。“smartcontractinvokeresponse–txb”表示智能合约b的执行结果。将“statedbmerklerootwhensmartcontracthasbeeninvoked–txb”进行哈希计算得到hash4–leaf,将“smartcontractinvokeresponse–txb”进行哈希计算得到hash3–leaf,再将hash4–leaf和hash3–leaf进行哈希计算得到树枝结点“hash6–branch(hashofsmartcontractresult-txb,即智能合约b的执行结果的哈希值)”。最后再将hash6–branch和“hash5–branch(hashofsmartcontractresult-txa,即智能合约a的执行结果的哈希值)”进行哈希计算得到根节点“hash7–root(hashofbranches,即树枝的哈希值)”。“merkletreeusedforgeneratingroot”表示产生根节点的梅克尔树。

在步骤s110中,从区块链网络随机选择或由用户指定第一节点来进行数据同步,拉取需要指定区块的区块头部和交易列表。用x表示指定区块,这一步骤中获得区块x的部分信息:区块头部、utxo交易列表(含有交易id、交易涉及的智能合约的执行结果等)。其中,第一节点是区块链网络中的全节点。

步骤s115:对比从第一节点和第二节点获取的数据是否一致。

图4为本发明另一实施例提供的区块链智能合约验证方法的流程图。如图4所示,在一种可能的实现方式中,在步骤s140,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中之前,执行步骤s115。步骤s115具体可包括:步骤s410,分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;步骤s420,对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;步骤s430,如果一致,则确定所述指定区块有效;步骤s440,在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。

在一个示例中,步骤s115具体可包括如下步骤:

再从区块链网络随机选择或由用户指定第二节点来进行查询,查询条件是步骤s110中获得的区块x的头部中所包含的区块id。然后获得根据该目标区块id在第二节点中查询到与区块x对应的区块头部z。其中,第二节点是区块链网络中的全节点。

对比区块x头部的第一梅克尔树的树根、第二梅克尔树的树根、上一个区块id,是否与从第二节点获得的区块头部z的信息所匹配。如果匹配,说明区块x真实有效。

图5为本发明另一实施例提供的区块链智能合约验证方法的流程图。如图5所示,在一种可能的实现方式中,步骤s120,对所述第一梅克尔树的根节点和所述交易标识进行验证,具体可包括:步骤s210,使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;步骤s220,对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;步骤s230,如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。

具体地,先校验区块x的区块头部和交易id列表是否匹配。将交易id组成一个梅克尔树,即第三梅克尔树,并计算出其最终的梅克尔树根。然后对比计算出的第三梅克尔树树根和区块头部所包含的第一梅克尔树的根节点hash是否一致。如果一致,说明校验区块x的区块头部和交易id列表匹配,也就是第一梅克尔树的根节点和所述交易标识匹配,对所述第一梅克尔树的根节点和所述交易标识的验证通过。

图6为本发明另一实施例提供的区块链智能合约验证方法的流程图。如图6所示,在一种可能的实现方式中,步骤s130,对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证,具体可包括:步骤s310,使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;步骤s320,对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;步骤s330,如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。

具体地,再校验区块x的区块头部和智能合约执行结果列表是否匹配。将智能合约执行结果组成一个梅克尔树,即第四梅克尔树,并计算出其最终的梅克尔树根。然后对比计算出的第四梅克尔树树根和区块头部所包含的第二梅克尔树的根节点hash是否一致。如果一致,说明校验区块x的区块头部和智能合约执行结果列表匹配,也就是第二梅克尔树的根节点和所述智能合约执行结果匹配,对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。

在步骤s140中,再判断区块x的区块头部所包含的上一个区块id是否在本地维护的区块头部链式结构中。

在步骤s150中,如果以上验证步骤s115、步骤s120、步骤s130和步骤s140通过,则确定所述智能合约的执行结果有效。如果在最后一个验证步骤s140中,判断区块x的区块头部所包含的上一个区块id在本地维护的区块头部链式结构中,则将真实有效的区块x的区块头保存到本地维护的区块头链数据库。

在上述步骤中,步骤s115是可以省略的执行步骤,在对验证的响应时间要求比较高的场景下,可将不执行步骤s115。

另外,步骤s115、步骤s120和步骤s130可以互换执行顺序,或者,在另一种实施方式中,步骤s115、步骤s120和步骤s130可并行执行。这三个步骤执行完成之后再执行步骤s140。

图7为本发明另一实施例提供的区块链智能合约验证方法的在轻量级节点上的有效性校验流程图。如图7所示,在一个示例中,区块链智能合约验证方法的的具体执行步骤如下:

1.轻量级节点从全节点1同步最新区块的头部(要包含2棵梅克尔树)及交易id列表、智能合约执行结果列表。

2.进行区块合法性校验。校验的具体步骤可包括上述步骤s115、步骤s120、步骤s130和步骤s140。

3.在全节点2查询同一个区块的区块头,对比2个梅克尔树根、指向的上一个区块id,与从全节点1中同步的数据是否一致。对比的具体步骤可包括上述步骤s115。

4.检验交易列表和智能合约执行结果。

4.1.判断tx(transaction,交易)列表和区块头的第一梅克尔树根是否匹配,例如纯付款交易的验证。

4.2.判断智能合约执行结果列表和区块头的第二梅克尔树根是否匹配,即验证涉及到智能合约的交易。如果以上步骤都验证成功,则存储新的真实有效的区块头。

上述技术方案具有如下优点或有益效果:不需要下载和存储全量的区块信息,也不需要在轻量级客户端本地重复执行智能合约,即可在区块链网络中帮助轻量级节点判断智能合约执行结果有效性,节省了系统资源,提高了执行效率。

图8为本发明一实施例提供的区块链智能合约验证装置的结构框图。如图8所示,本发明实施例的区块链智能合约验证装置包括:获取单元100,用于从区块链网络中的第一节点获取指定区块的区块头部信息和交易列表,其中,所述交易列表中包括交易标识和智能合约的执行结果,所述区块头部信息包括:第一梅克尔树的根节点、第二梅克尔树的根节点和所述指定区块的上一个区块标识,所述第一梅克尔树的叶子节点由所述指定区块的所有交易标识组成,所述第二梅克尔树的叶子节点由所述指定区块的所有智能合约执行结果组成;第一验证单元200,用于对所述第一梅克尔树的根节点和所述交易标识进行验证;第二验证单元300,用于对所述第二梅克尔树的根节点和所述智能合约执行结果进行验证;第三验证单元400,用于验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中;确定单元500,用于:如果以上验证通过,则确定所述智能合约的执行结果有效。

在一种实施方式中,所述第一验证单元200还用于:使用所述交易列表中的交易标识构造第三梅克尔树,并计算出所述第三梅克尔树的根节点;对比所述第三梅克尔树的根节点和所述第一梅克尔树的根节点是否一致;如果一致,则对所述第一梅克尔树的根节点和所述交易标识的验证通过。

在一种实施方式中,所述第二验证单元300还用于:使用所述交易列表中的智能合约执行结果构造第四梅克尔树,并计算出所述第四梅克尔树的根节点;对比所述第四梅克尔树的根节点和所述第二梅克尔树的根节点是否一致;如果一致,则对所述第二梅克尔树的根节点和所述智能合约执行结果的验证通过。

图9为本发明又一实施例提供的区块链智能合约验证装置的结构框图。如图9所示,在一种实施方式中,还包括第四验证单元600,用于:分别从区块链网络中的所述第一节点和第二节点获取所述指定区块的区块头部信息;对比所述第一节点中的所述指定区块的区块头部信息和所述第二节点中的所述指定区块的区块头部信息是否一致;如果一致,则确定所述指定区块有效;在确定所述指定区块有效的情况下,验证所述指定区块的上一个区块标识是否在预先存储的区块头部链式结构中。

本发明实施例的区块链智能合约验证装置中各单元的功能可以参见上述方法的相关描述,在此不再赘述。

在一个可能的设计中,区块链智能合约验证装置的结构中包括处理器和存储器,所述存储器用于存储支持区块链智能合约验证装置执行上述区块链智能合约验证方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述区块链智能合约验证装置还可以包括通信接口,用于区块链智能合约验证装置与其他设备或通信网络通信。

图10为本发明又一实施例提供的区块链智能合约验证装置的结构框图。如图10所示,该装置包括:存储器101和处理器102,存储器101内存储有可在处理器102上运行的计算机程序。所述处理器102执行所述计算机程序时实现上述实施例中的区块链智能合约验证方法。所述存储器101和处理器102的数量可以为一个或多个。

该装置还包括:

通信接口103,用于与外界设备进行通信,进行数据交互传输。

存储器101可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

如果存储器101、处理器102和通信接口103独立实现,则存储器101、处理器102和通信接口103可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(isa,industrystandardarchitecture)总线、外部设备互连(pci,peripheralcomponent)总线或扩展工业标准体系结构(eisa,extendedindustrystandardcomponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器101、处理器102及通信接口103集成在一块芯片上,则存储器101、处理器102及通信接口103可以通过内部接口完成相互间的通信。

又一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述区块链智能合约验证方法中任一所述的方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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