发明内容
本发明的主要目的在于提供一种信息查询方法、装置、***、计算机可读存储介质、计算机程序产品以及一种信息存储方法和***,旨在解决已有技术中交易信息查询结果不完整的问题。
为实现上述目的,本发明提供了一种信息查询方法,所述方法包括:
当接收到查询指令时,对所述查询指令进行解析,获得目标Hash;
利用所述目标Hash调取对应的目标数据交互信息;
获取所述目标数据交互信息对应的目标索引信息;其中,所述目标索引信息包括数据交互来源标识和下层数据交互标识;
利用所述数据交互来源标识和所述下层数据交互标识进行查询,获得与所述目标数据交互信息相关的所有数据交互信息。
优选的,所述利用所述目标Hash调取对应的目标数据交互信息,包括:
利用所述目标Hash在KV存储数据库中调取所述目标数据交互信息。
优选的,所述利用所述目标Hash在KV存储数据库中调取所述目标数据交互信息,包括:
对所述查询指令进行解析,获得所述目标数据交互信息的目标交互类型;
在所述KV存储数据库中,利用所述目标Hash在所述目标交互类型对应的目标存储路径下调取所述目标数据交互信息。
优选的,产生各所述数据交互信息的各数据交互终端均为组成区块链网络的节点,各所述数据交互终端部署于所述区块链网络的不同分区。
为实现上述目的,本发明提供了一种信息存储方法,所述方法包括:
当获得数据交互信息时,为所述数据交互信息建立索引信息;其中,所述索引信息包括数据交互来源标识和下层数据交互标识;
获取所述数据交互信息的Hash,将所述数据交互信息、所述索引信息和所述Hash对应存储至预设存储空间。
为实现上述目的,本发明提供了一种信息查询装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的信息查询程序,所述信息查询程序被所述处理器执行时实现如上述任意一种所述的信息查询方法的步骤。
为实现上述目的,本发明提供了一种信息查询***,所述***包括:
指令解析模块,用于当接收到查询指令时,对所述查询指令进行解析,获得目标Hash;
信息调取模块,用于利用所述目标Hash调取对应的目标数据交互信息;
索引获取模块,用于获取所述目标数据交互信息对应的目标索引信息;其中,所述目标索引信息包括数据交互来源标识和下层数据交互标识;
信息查询模块,用于利用所述数据交互来源标识和所述下层数据交互标识进行查询,获得与所述目标数据交互信息相关的所有数据交互信息。
为实现上述目的,本发明提供了一种信息存储***,所述***包括:
索引建立模块,用于当获得数据交互信息时,为所述数据交互信息建立索引信息;其中,所述索引信息包括数据交互来源标识和下层数据交互标识;
信息存储模块,用于获取所述数据交互信息的Hash,将所述数据交互信息、所述索引信息和所述Hash对应存储至预设存储空间。
为实现上述目的,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息查询程序,所述信息查询程序可被一个或多个处理器执行,以实现如上任一种所述的信息查询方法的步骤。
为实现上述目的,本发明提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种所述的信息查询方法的步骤。
本发明所提供的一种信息查询方法,包括当接收到查询指令时,对所述查询指令进行解析,获得目标Hash;利用所述目标Hash调取对应的目标数据交互信息;获取所述目标数据交互信息对应的目标索引信息;其中,所述目标索引信息包括数据交互来源标识和下层数据交互标识;利用所述数据交互来源标识和所述下层数据交互标识进行查询,获得与所述目标数据交互信息相关的所有数据交互信息。可见,本发明所提供的技术方案,预先在数据交互信息产生的同时建立相应的索引信息,加之每条数据交互信息在产生时均会生成相应的Hash,当进行信息存储时,可将三者相互对应存储,由此,当进行信息查询时,即可基于指定的Hash查询到对应的数据交互信息,进而获取到索引信息,由于该索引信息中包括数据交互信息对应的数据交互来源标识和下层数据交互标识,由此,根据数据交互来源标识和下层数据交互标识即可查询到与该数据交互信息相关的所有数据交互信息;进一步,当基于该信息查询方法进行交易信息查询时,即可基于指定的交易信息查询到与该交易信息相关联的所有交易信息,包括产生该交易信息的父交易信息和该交易信息产生的子交易信息,有效保证了交易信息查询结果的完整性。
本发明所提供的一种信息查询装置、***、计算机可读存储介质、计算机程序产品以及一种信息存储方法和***,均具有上述有益效果,在此不再赘述。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供的一种信息查询方法。
参照图2,图2为本发明第一实施例的流程示意图。
在第一实施例中,该方法可以包括:
S10:当接收到查询指令时,对查询指令进行解析,获得目标Hash;
本步骤旨在实现查询指令的解析,以获得目标Hash。具体的,当用户需要进行数据交互信息查询时,可基于相应的终端设备输入查询指令,该查询指令中附加有用户需要查询的数据交互信息的Hash值,即上述目标Hash。其中,该目标Hash是在数据交互双方进行数据交互产生数据交互信息的同时生成的,每条数据交互信息均有其唯一对应的Hash,相当于数据交互信息的唯一标识,因此,可基于Hash实现相应数据交互信息的查询。进一步,通过对获得的查询指令进行解析,即可获得目标Hash,其中,对于解析操作的具体实现过程,参照已有技术即可,本申请在此不再赘述。
S11:利用目标Hash调取对应的目标数据交互信息;
本步骤旨在实现目标数据交互信息的获取,该目标数据交互信息即为用户需要查询的数据交互信息,也即目标Hash对应的数据交互信息,由于每条数据交互信息有且只有一个对应的Hash,因此,可基于目标Hash获取到对应的目标数据交互信息。具体的,当数据交互双方进行数据交互,产生目标数据交互信息时,可将该目标数据交互信息与对应生成的目标Hash一同存储至相应的存储空间,由此,在基于查询指令获取到目标Hash后,即可根据该目标Hash从存储空间中查询到对应的目标数据交互信息。其中,数据交互信息的具体类型并不影响本技术方案的实施,本申请对此不做具体限定,例如,可以为区块链上一笔退款交易过程中所产生的交易信息等。
优选的,上述利用目标Hash调取对应的目标数据交互信息,可以包括:利用目标Hash在KV存储数据库(Key-Value,键值存储数据库)中调取目标数据交互信息。
本申请实施例提供了一种较为具体的关于各类数据信息的存储方式,即基于KV存储数据库的数据存储,即将各个数据交互信息及其对应的Hash、索引信息对应存储至KV存储数据库中。其中,KV存储数据库是一种NoSQL(非关系型数据库)模型,其中的数据信息可以按照键值对的形式进行组织、索引和存储,具有较高的读写性能。
优选的,上述利用目标Hash在KV存储数据库中调取目标数据交互信息,可以包括:对查询指令进行解析,获得目标数据交互信息的目标交互类型;在KV存储数据库中,利用目标Hash在目标交互类型对应的目标存储路径下调取目标数据交互信息。
具体的,各类数据信息在KV存储数据库中可以分类存储,例如转账数据信息和退款数据信息分别存储于不同的存储路径下,或不同类型的客户的数据交互信息分别存储于不同的存储路径下,进一步,用户输入的查询指令还可以包括目标交互类型信息,以便通过数据解析确定目标数据交互信息对应的目标交互类型,进而从对应的目标存储路径下调取目标数据交互信息。
S12:获取目标数据交互信息对应的目标索引信息;其中,目标索引信息包括数据交互来源标识和下层数据交互标识;
本步骤旨在实现目标索引信息的获取,该目标索引信息对应于目标数据交互信息。具体而言,可以在目标数据交互信息产生时,为其创建目标索引信息,其中包括目标数据交互信息对应的数据交互来源标识和下层数据交互标识;进一步,在信息存储过程中,将目标索引信息与目标数据交互信息、目标Hash一同对应存储至存储空间,由此,在获得目标数据交互信息后,即可快速方便的获取到其对应的目标索引信息。其中,数据交互来源标识为目标数据交互信息对应的上层数据交互信息的相关标识信息,下层数据交互标识为目标数据交互信息对应的下层数据交互信息的相关标识信息,基于该标识可以方便快捷的查询到与目标数据交互信息相关的其他数据交互信息。
S13:利用数据交互来源标识和下层数据交互标识进行查询,获得与目标数据交互信息相关的所有数据交互信息。
本步骤旨在实现数据交互信息的查询,即基于数据交互来源标识和下层数据交互标识查询获得与目标数据交互信息相关的所有数据交互信息。以交易信息查询为例,通过指定Hash获得目标交易信息,并获得对应的目标索引信息后,即可基于其中的数据交互来源标识获得产生该目标交易信息的父交易信息(对应于产生目标数据交互信息的上层数据交互信息),基于其中的下层数据交互标识获得该目标交易信息产生的子交易信息(对应于目标数据交互信息产生的下层数据交互信息),由此,即可获得所有与目标交易信息相关的所有交易信息,保证了交易信息的完整性。
作为一种优选实施例,产生各数据交互信息的各数据交互终端均为组成区块链网络的节点,各数据交互终端部署于区块链网络的不同分区。
具体的,数据交互信息由数据交互终端进行数据交互产生,在本申请实施例中,各个数据交互终端均可以为组成区块链网络的节点,用以实现区块链链上的数据交互;进一步,各个数据交互终端在区块链网络中可部署于区块链网络的不同分区,具体可根据自身的地址信息等实现区域划分,由此,即可实现分区内部数据交互和跨分区数据交互,其中,跨分区数据交互可以分为跨入数据交互和跨出数据交互,从而实现基于数据交互终端的多种形式的数据交互。
本实施例所提供的信息查询方法,预先在数据交互信息产生的同时建立相应的索引信息,加之每条数据交互信息在产生时均会生成相应的Hash,当进行信息存储时,可将三者相互对应存储,由此,当进行信息查询时,即可基于指定的Hash查询到对应的数据交互信息,进而获取到索引信息,由于该索引信息中包括数据交互信息对应的数据交互来源标识和下层数据交互标识,由此,根据数据交互来源标识和下层数据交互标识即可查询到与该数据交互信息相关的所有数据交互信息;进一步,当基于该信息查询方法进行交易信息查询时,即可基于指定的交易信息查询到与该交易信息相关联的所有交易信息,包括产生该交易信息的父交易信息和该交易信息产生的子交易信息,有效保证了交易信息查询结果的完整性。
本发明提供的一种信息存储方法。
参照图3,图3为本发明第二实施例的流程示意图。
在第二实施例中,该方法可以包括:
S20:当获得数据交互信息时,为数据交互信息建立索引信息;其中,索引信息包括数据交互来源标识和下层数据交互标识;
S21:获取数据交互信息的Hash,将数据交互信息、索引信息和Hash对应存储至预设存储空间。
基于上一实施例的信息查询方法,本申请实施例对各个数据交互信息的存储过程进行了详细介绍。
具体的,在数据交互终端进行数据交互产生数据交互信息后,可直接为其建立对应的索引信息,同时生成其对应的Hash,进而将数据交互信息、索引信息以及Hash一同对应存储至预先建立的存储空间中,即上述预设存储空间。其中,上述为数据交互信息建立的索引信息可包括数据交互来源标识和下层数据交互标识,进一步,在进行后续信息查询时,即可根据数据交互来源标识在预设存储空间中查询到产生某一数据交互信息的各类上层数据交互信息,以及根据下层数据交互标识查询到该数据交互信息产生的各类下层数据交互信息,由此,基于数据交互信息的索引信息即可查询到所有与该数据交互信息相关的所有数据交互信息。
进一步,基于上述信息存储方法实现交易信息的存储,可以利用索引信息很方便的查询到具有关联关系的所有交易信息,达到交易信息查询的高效性,同时也更加方便后期对账的进行。
本发明提供的一种更为具体的信息查询方法,该实施例以交易信息的存储与查询为例,其具体的实现流程如下:
首先,对于交易双方所产生的每一笔交易信息,即上述数据交互信息,可建立相应的索引信息,举例来说,该索引信息的结构可以为如下类型(并不唯一):
其中,TxEntry即为索引信息,该索引信息包括区块Hash、区块高度、交易来源、交易所在分区、交易在区块中的排序位置以及子交易数组,其中,子交易数组ChildTxs即为上述下层数据交互标识,可能包括一个或多个子交易ChildTx;
其中,交易来源TxRole即为上述数据交互来源标识,具体可包括:本分区发起TxLocal、其他分区跨入TxCrossIn、本分区跨到其他分区TxCrossOut;
其中,交易所在分区ZoneID具体为:跨出交易为To地址所在分区ID,跨入交易为父交易所在分区ID,本地交易为From地址所在分区ID;
其中,ChildTx具体可包含如下信息:
TxType(子交易类型,标识RefundTx,ContractTx等类型子交易)
TxHash(子交易Hash)
ZoneID(子交易所在分区ID)
另外,对于上述TxRole,如果一笔交易Tx,其转出地址(From地址)被划分到当前分区(假设为Zone0),接收地址(To地址)被划分到另外一个分区(假设为Zone1),则可将该交易Tx打包成一个新交易Tx1(Hash不同于Tx的Hash)转发到Zone1,在Zone0上Tx的TxRole为TxLocal,产生的Tx1的TxRole为TxCrossOut,表示Tx1是要跨到Zone1上去执行,在Zone1上的Tx1的TxRole为TxCrossIn,表示Tx1是从Zone0分区跨到Zone1上来执行;如果一笔交易的From地址和To地址都是当前分区,则TxRole为TxLocal,不产生额外的跨分区交易。
进一步,还可以根据交易的TxHash构造索引信息的TxEntryHash,进而将索引信息进行KV存储(TxEntryHash->TxEntry)。当然,同时将对应的交易信息及其Hash存储至KV存储数据库中即可。
进一步,请参考图4,图4为本发明所提供的一种区块链中跨分区交易的流程示意图,具体的,zone0上的一笔交易Tx01(打包在zone0的区块Block0中)需要跨到zone1上执行,在zone0上转为Tx发到zone1上去执行(打包在zone1的区块Block1中),Tx的originHash为Hash(Tx01);Tx执行完毕后将未消耗完的gas返回给Tx01交易的发起者,生成一笔退gas的RefundTx到zone0上去执行,该RefundTx的originHash为Hash(Tx)。对应的,在各自分区上为相应的交易建立索引信息:
1、Zone0上的交易索引:
(1)Tx01的TxEntry:
{TxRole:TxRoleLocal,ZoneID:0,ChildTx:{TxHash:Hash(Tx),ZoneID:1}}
可见,其主要索引信息为Block0Hash,Block0Height,ZoneID为0,TxRole=TxLocal,产生一笔子交易Tx的信息为:TxHash=Hash(Tx),ZoneID=1,具体表示Tx01是被打包在分区0上的区块Block0中,且包含一笔要跨出到分区1去执行的交易Tx;
(2)Tx的TxEntry:
{TxRole:TxRoleCrossOut,ZoneID:1,ChildTx:[]}
可见,其主要索引信息为Block0Hash,Block0Height,ZoneID为1,TxRole=TxCrossOut,具体表示Tx是需要跨出到分区1去执行的;
(3)RefundTx的TxEntry:
{TxRole:TxRoleCrossIn,ZoneID:1,ChildTx:[]}
可见,其主要索引信息为ZoneID为1,TxRole=TxCrossIn,具体表示RefundTx是从分区1跨入到分区0上的;
2、Zone1上的交易索引:
(1)Tx的TxEntry:
{TxRole:TxRoleCrossIn,ZoneID:0,ChildTx:{TxHash:Hash(RefundTx),ZoneID:0}}
可见,其主要索引信息为Block1Hash,Block1Height,ZoneID为0,TxRole=TxCrossIn,产生一笔子交易RefundTx的信息为:TxHash=Hash(RefundTx),ZoneID=0,具体表示Tx是从分区0跨入到分区1的,且被打包在分区1的Block1中,且该交易产生了一笔需要跨回到分区0的RefundTx;
(2)RefundTx的TxEntry:
{TxRole:TxRoleCrossOut,ZoneID:0,ChildTx:[]}
可见,其主要索引信息为Block1Hash,Block1Height,ZoneID为0,TxRole=TxCrossOut,具体表示RefundTx是从分区1跨出到分区0上的。
如此,在后续进行交易信息查询时,在不改变原始交易的情况下,可以根据交易类型及交易Hash快速获取交易信息以及该交易的索引信息,进而根据索引信息查出该交易信息对应的父交易信息、交易来源分区、所在分区的区块信息、产生的子交易信息等,也即推导出跟这一笔交易相关的所有的交易信息,更加方便开发、测试及满足生产环境对交易的对账、查询等需求。
可见,本实施例所提供的信息查询方法,预先在数据交互信息产生的同时建立相应的索引信息,加之每条数据交互信息在产生时均会生成相应的Hash,当进行信息存储时,可将三者相互对应存储,由此,当进行信息查询时,即可基于指定的Hash查询到对应的数据交互信息,进而获取到索引信息,由于该索引信息中包括数据交互信息对应的数据交互来源标识和下层数据交互标识,由此,根据数据交互来源标识和下层数据交互标识即可查询到与该数据交互信息相关的所有数据交互信息;进一步,当基于该信息查询方法进行交易信息查询时,即可基于指定的交易信息查询到与该交易信息相关联的所有交易信息,包括产生该交易信息的父交易信息和该交易信息产生的子交易信息,有效保证了交易信息查询结果的完整性。
本发明提供的一种信息查询装置。
参照图5,图5为本发明第一实施例揭露的信息查询装置的内部结构示意图。
在本实施例中,信息查询装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备、终端设备。
该信息查询装置1可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是信息查询装置1的内部存储单元,例如该信息查询装置1的硬盘。存储器11在另一些实施例中也可以是信息查询装置1的外部存储设备,例如信息查询装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括信息查询装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于信息查询装置1的应用软件及各类数据,例如信息查询程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行信息查询程序等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,信息查询装置1还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该信息查询装置1与其他电子设备之间建立通信连接。
可选地,该信息查询装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在信息查询装置1中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-13以及信息查询程序的信息查询装置1,本领域技术人员可以理解的是,图5示出的结构并不构成对信息查询装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明提供的一种信息查询***。
参照图6,图6为本发明所提供的第三实施例的结构框图。
在第三实施例中,该信息查询***可以包括:
指令解析模块20,用于当接收到查询指令时,对查询指令进行解析,获得目标Hash;
信息调取模块21,用于利用目标Hash调取对应的目标数据交互信息;
索引获取模块22,用于获取目标数据交互信息对应的目标索引信息;其中,目标索引信息包括数据交互来源标识和下层数据交互标识;
信息查询模块23,用于利用数据交互来源标识和下层数据交互标识进行查询,获得与目标数据交互信息相关的所有数据交互信息。
对于本申请提供的***的介绍请参照上述方法实施例,本申请在此不做赘述。
本发明提供的一种信息存储***。
参照图7,图7为本发明所提供的第四实施例的结构框图。
在第四实施例中,该信息存储***可以包括:
索引建立模块30,用于当获得数据交互信息时,为数据交互信息建立索引信息;其中,索引信息包括数据交互来源标识和下层数据交互标识;
信息存储模块31,用于获取数据交互信息的Hash,将数据交互信息、索引信息和Hash对应存储至预设存储空间。
对于本申请提供的***的介绍请参照上述方法实施例,本申请在此不做赘述。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上信息查询程序,该信息查询程序可被一个或者多个处理器执行,以实现如以上任一实施例所述的信息查询方法的步骤。
本发明实施例还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一实施例所述的信息查询方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和***的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,***和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。