一种异构区块链间的跨链方法、系统及电子设备和存储介质
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种异构区块链间的跨链方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
异构区块链是指共识算法、交易验证流程、存储结构、通信协议等互不兼容的两个区块链系统。跨链互操作指实现两个区块链系统之间的交互技术,如数据通信、资产转移、事件响应等。
现有异构区块链之间的跨链方案主要存在协议支持问题:如Cosmos IBC这样的需要通过修改区块链底层接口来支持的通信协议,在异构的多样化的联盟链中无法推广实现。
因此,如何有效实现异构区块链间的跨链互操作是本领域技术人员亟需解决的问题。
发明内容
本申请的目的在于提供一种异构区块链间的跨链方法、系统及一种电子设备和一种计算机可读存储介质,能够实现异构区块链间的跨链互操作。
为实现上述目的,本申请提供了一种异构区块链间的跨链方法,应用于链下跨链服务,包括:
监听跨链请求;
获取所述跨链请求对应的跨链事件;
将所述跨链事件转换为预设协议格式;
根据所述跨链请求调取名字服务生成对应的区块链路由表;
根据所述区块链路由表对所述预设协议格式的跨链事件执行跨链操作。
可选的,还包括:
利用预设规则所述跨链事件进行规则匹配,过滤所述跨链事件中的非跨链操作。
可选的,获取所述跨链请求对应的跨链事件之后,还包括:
调用预设插件对所述跨链事件进行存在性验证和/或合法性验证;
若所述存在性验证和所述合法性验证中任一项验证失败,拒绝所述跨链请求。
可选的,调用预设插件对所述跨链事件进行存在性验证和/或合法性验证包括:
调用Merkle Proof、Hash证明、零知识证明、中间人数字签名、多重数字签名中的一种或任意几种的插件组合对所述跨链事件进行存在性验证和/或合法性验证。
可选的,若接入新区块链,还包括:
记录所述新区块链的类型、IP地址和端口号,生成所述新区块链的ID;
将所述新区块链的类型、IP地址、端口号和ID作为名字信息添加至名字服务。
可选的,所述名字服务作为所述链下跨链服务的内部插件向所述链下跨链服务提供所述名字信息对应的API接口。
可选的,所述名字服务作为独立插件向所述链下跨链服务提供所述名字信息对应的RPC接口。
可选的,所述名字服务作为智能合约向所述链下跨链服务提供所述名字信息对应的智能合约接口。
可选的,根据所述跨链请求中的路由信息生成对应的区块链路由表之前,还包括:
根据所述跨链请求的操作类型判断是否需要授权;
若是,获取所述跨链请求的目的端的授权认证。
为实现上述目的,本申请提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的异构区块链间的跨链程序,所述异构区块链间的跨链程序被所述处理器执行时实现:
监听跨链请求;
获取所述跨链请求对应的跨链事件;
将所述跨链事件转换为预设协议格式;
根据所述跨链请求调取名字服务生成对应的区块链路由表;
根据所述区块链路由表对所述预设协议格式的跨链事件执行跨链操作。
可选的,所述电子设备为组成CDN网络或者区块链网络的节点。
为实现上述目的,本申请提供了一种异构区块链间的跨链系统,包括:
监听模块,用于监听跨链请求;
获取模块,用于获取所述跨链请求对应的跨链事件;
协议转换模块,用于将所述跨链事件转换为预设协议格式;
路由生成模块,用于根据所述跨链请求调取名字服务生成对应的区块链路由表;
跨链模块,用于根据所述区块链路由表对所述预设协议格式的跨链事件执行跨链操作。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有异构区块链间的跨链程序,所述异构区块链间的跨链程序被处理器执行时实现如上述异构区块链间的跨链方法的步骤。
为实现上述目的,本申请提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一项所述异构区块链间的跨链方法。
通过以上方案可知,本申请提供的一种异构区块链间的跨链方法,包括:
监听跨链请求;获取所述跨链请求对应的跨链事件;将所述跨链事件转换为预设协议格式;根据所述跨链请求调取名字服务生成对应的区块链路由表;根据所述区块链路由表对所述预设协议格式的跨链事件执行跨链操作。
本申请采用独立于区块链运行的链下跨链服务,在接收到跨链请求后获取跨链事件并将跨链事件转换为统一的预设协议格式,使得异构区块链之间可以实现基于跨链事件的跨链互操作,满足不同异构形态的异构区块链的跨链需求,同时采用链下跨链服务器,无需修改现有区块链系统,可以直接对应链上节点或者链下节点,降低跨链服务器的开发成本。
本申请还公开了一种异构区块链间的跨链系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种异构区块链间的跨链方法的流程图;
图2为本申请实施例公开的一种跨链服务的部署结构示意图;
图3为本申请实施例公开的另一种异构区块链间的跨链方法的流程图;
图4为本申请实施例公开的一种异构区块链间的跨链系统的结构图;
图5为本申请实施例公开的一种电子设备的结构图;
图6为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在现有技术中,异构区块链之间的共识算法、区块生成、交易验证逻辑、通信消息协议均不相同,因此无法直接通信。
为了解决上述问题,本申请实施例公开了一种异构区块链间的跨链方法,能够实现异构区块链间的跨链互操作。
在执行异构区块链的跨链操作之前,可以先对实现异构区块链间跨链操作的跨链服务作相应的设定。本申请中,跨链服务以链下形式存在于区块链系统,即其实际为链下跨链服务,下文所指链下跨链服务均等同于跨链服务。需要注意的是,链下跨链服务通常以插件形式存于区块链网络,其具有与区块链实体相同的地址信息,包含但不限定于ID、IP地址、端口号等。当然,容易理解的是,每个区块链或者链下跨链服务都具有唯一标识的ID,而IP地址和端口号等由于网络协议的不同可能会发生变化,但在任意时刻,各区块链和链下跨链服务应具有唯一的网络地址信息。
容易理解的是,设定跨链服务仅需在实现本申请所公开的跨链方法前执行一次即可,并不必须在每次执行跨链方法前均需对跨链服务器进行重新设定。跨链服务用于实现本申请所公开的异构区块链间的跨链操作,其具体实现过程如下:
参见图1,本申请实施例公开的一种异构区块链间的跨链方法的流程图,如图1所示,包括:
S101:监听跨链请求。
本步骤中,跨链服务监听跨链请求。需要注意的是,该跨链请求可以来自于区块链,也可以来自于其他跨链服务。换句话说,本申请旨在实现的异构区块链间的跨链互操作需要借助于跨链服务实现,但在跨链操作中,并非每个跨链请求都是由区块链直接发出。参见图2,图2为本申请实施例公开的一种跨链服务的部署结构示意图,可以看出,区块链A可以直接通过跨链服务器1与区块链C进行跨链互操作,而区块链A若欲与区块链F进行跨链互操作,则需要经过跨链服务1和跨链服务2两次跨链操作。因此,对于跨链服务而言,跨链请求可以来自于区块链,也可以来自于其他跨链服务。
需要注意的是,本步骤只需对跨链请求实施监听,并不必须接收跨链请求。具体的,跨链服务通常只针对需要借助自身实现跨链互操作的跨链请求作回应,即跨链服务监听到跨链请求后,确认该跨链请求与自身相关后,才回应该跨链请求,即执行本实施例的后续步骤。
S102:获取所述跨链请求对应的跨链事件。
本步骤旨在获取对应的跨链事件。在此对于从何处获取跨链事件不作具体限定,通常跨链事件位于跨链请求的请求方中,当然也可以直接包含与该跨链请求中,此时获取跨链请求对应的跨链事件实质即从跨链请求中解析得到跨链事件。
在本步骤的基础上,作为更优选的实施步骤,在得到跨链事件后,可以利用预设规则对所述跨链事件进行规则匹配,过滤所述跨链事件中的非跨链操作。由于通常由区块链发出的跨链事件中还包括无需跨链操作的事件,即实际需要跨链操作的事件仅占所有事件中的一部分,因此可以利用预设规则对跨链事件进行过滤。在此对于预设规则不作具体限定,可以由本领域技术人员预先设置过滤引擎或者过滤规则,并基于过滤引擎或者过滤规则对所有跨链事件进行过滤。例如预设规则可以为事件类型,若事件为区块链交易,那么显然该事件为跨链事件。当然,预设规则还可以包含事件目的端口等信息,在此不一一举例限定。通过对跨链事件进行过滤,可以有效降低跨链操作的数据处理量,提高跨链效率。
此外,同样在本步骤的基础上,作为更优选的实施步骤,还可以调用预设插件对所述跨链事件进行存在性验证以及合法性验证。为了保证区块链之间的信息交互安全,可以对跨链事件进行安全验证,包括但不限于存在性验证和合法性验证等,可以采用其中一种验证方式,也可以同时采用多种验证方式相结合。存在性验证即验证事件是否真实存在,可以通过跨链请求方发布事件证明确认,而合法性即检测该事件的执行要求是否满足区块链交互规则或者其操作是否合法等。若所述存在性验证和所述合法性验证中任一项验证失败,拒绝所述跨链请求。在此对于如何进行存在性验证和合法性验证不作具体限定,可以调用Merkle Proof、Hash证明、零知识证明、中间人数字签名、多重数字签名中的一种或任意几种的插件组合对所述跨链事件进行存在性验证和/或合法性验证。
在实际应用时,可以根据跨链事件的具体业务内容选择合适的验证方式。本实施例中,可以支持多种证明验证机制,能根据业务场景选择合适的验证机制,且验证机制插件化,本领域技术人员也可以根据其他验证技术采用相应的验证插件,均应在本申请的保护范围内。
需要注意的是,对跨链事件进行规则匹配和进行存在性验证和/或合法性验证相互独立,在本申请的具体应用过程中,二者可以相结合,以产生更好的实施效果,且二者之间并不存在既定的实施顺序。
S103:将所述跨链事件转换为预设协议格式;
由于异构区块链之间的共识算法、区块生成、交易验证逻辑、通信消息协议均不相同,因此本步骤将跨链事件转换为预设协议格式。在此对于预设协议格式不作具体限定,可以由本领域技术人员作相关设定。
需要注意的是,本步骤旨在将需要进行跨链操作的跨链事件转换为预设协议格式,若需要利用预设规则对所述跨链事件进行规则匹配,其过程与本步骤的执行顺序不作具体限定,若先利用预设规则对跨链事件进行过滤,则将大大减少执行本步骤时的跨链事件转换量。同理,对于跨链事件的存在性验证以及合法性验证也优选于本步骤之前执行。
S104:根据所述跨链请求调取名字服务生成对应的区块链路由表;
本步骤旨在生成区块链路由表,所谓区块链路由表,指该跨链事件的网络经转过程,至少包括目的端路由信息,该路由信息可以包括目的端的ID、类型、IP地址和端口号中的一种或任意几种的组合。当然,区块链路由表也可以包含发送端的路由信息。区块链路由表可以记录跨链事件的路由信息,作为跨链操作日志供本领域技术人员查询、检测等。
在生成区块链路由表时,需要根据跨链请求调取名字服务,由于跨链请求中虽然会包含目的端的相关地址信息,但通常不能满足通信需求。例如跨链请求中包含目的区块链的区块链名称,但是显然仅根据区块链名称无法执行跨链操作,还需要包含目的区块链的IP地址、端口号等相关信息。而本实施例中各区块链、链下跨链服务的相关地址信息均存储于名字服务。此外,需要注意的是,本实施例中,本步骤的执行顺序晚于步骤S102和S103,而显然S102和S103之间存在既定的执行顺序,但在另一实施例中,本步骤可以与步骤S102、S103的操作同步执行,或者先于步骤S102、S103的操作执行,均不影响本申请所提供的跨链方法的正常实施,本实施例中公开的执行顺序不应视为对于这三个步骤之间的顺序限定。
S105:根据所述区块链路由表对所述预设协议格式的跨链事件执行跨链操作。
在生成区块链路由表后,即可以根据区块链路由表对已经执行协议转换的跨链事件执行跨链操作。
本申请实施例采用独立于区块链运行的链下跨链服务,在接收到跨链请求后获取跨链事件并将跨链事件转换为统一的预设协议格式,使得异构区块链之间可以实现基于跨链事件的跨链互操作,满足不同异构形态的异构区块链的跨链需求,同时采用链下跨链服务器,无需修改现有区块链系统,可以直接对应链上节点或者链下节点,降低跨链服务器的开发成本。
本申请实施例公开了一种异构区块链间的跨链方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图3,本申请实施例提供的另一种异构区块链间的跨链方法的流程图,如图3所示,包括:
S201:监听跨链请求;
S202:获取所述跨链请求对应的跨链事件;
S203:将所述跨链事件转换为预设协议格式;
S204:根据所述跨链请求的操作类型判断是否需要授权;若是,进入S205;若否,进入S206;
S205:获取所述跨链请求的目的端的授权认证;
S206:根据所述跨链请求调取名字服务生成对应的区块链路由表;
S207:根据所述区块链路由表对所述预设协议格式的跨链事件执行跨链操作。
由于并非所有的跨链操作只需知晓目的端地址、更改事件协议格式后即可进行跨链,对于部分事件类型,还需要获取目的端的授权。例如若进行区块链的跨链交易,只有在获取目的端授权后,交易才被允许进行。因此,可以根据跨链请求的操作类型判断是否需要授权,在此对于何种操作类型需要授权不作限定,通常区块链交易和资产转移等需要授权。若确认跨链事件需要授权,在生成区块链路由表前,应由跨链服务向目的端请求授权,并在得到授权认证后生成区块链路由表。当然,若无需授权,可以直接进入S206。
需要注意的是,区块链路由表是为了实现跨链操作,而对于跨链服务而言,其向区块链请求授权并不需要区块链路由表。甚至,根据所述跨链请求的操作类型判断是否需要授权可以在上一实施例的步骤S102后执行。若无法得到授权,即无法执行跨链操作,自然无需对应的区块链路由表。
此外,本实施例对于授权认证的认证方式不作限定,可以采用CA认证(Certificate Authority,电子认证),由负责发放和管理数字证书的权威机构颁发的数字证书作为跨链事件的授权认证。当然也可以采用其他认证方式,例如合约认证,即两个区块链事先约定二者之间的所有信息交互或者某一类事件无需授权等。
下文对上述实施例中的名字服务进行说明,若接入新区块链,可以记录所述新区块链的类型、IP地址和端口号,生成所述新区块链的ID,将所述新区块链的类型、IP地址、端口号和ID作为名字信息添加至名字服务。
在此对于链下跨链服务和名字服务之间的连接和引用关系不作具体限定,本申请在此提供三种名字服务实现方式:
第一种:所述名字服务作为所述链下跨链服务的内部插件向链下跨链服务提供所述名字信息对应的API接口。
此时链下跨链服务可以直接调用自身内部的名字服务插件获取跨链事件的目的端相关信息,并生成相应的区块链路由表。由于名字服务插件存于链下跨链服务内部,使得区块链路由表的生成效率大大提高,进一步提高对于跨链事件的处理效率。
第二种:所述名字服务作为独立插件向链下跨链服务提供所述名字信息对应的RPC接口。
当名字服务作为独立插件存在时,并不需要每个链下跨链服务对应一个名字服务,可以实现一个名字服务同时对接一个或者多个链下跨链服务,此时能够节约部署成本。
第三种:所述名字服务作为智能合约向链下跨链服务提供所述名字信息对应的智能合约接口。
将名字服务作为智能合约时,其稳定安全,容易管理,便于区块链实现模块化和灵活性操作。
下面对本申请实施例提供的一种异构区块链间的跨链系统进行介绍,下文描述的一种异构区块链间的跨链系统与上文描述的一种异构区块链间的跨链方法可以相互参照。
参见图4,本申请实施例提供的一种异构区块链间的跨链系统的结构图,如图4所示,包括:
监听模块100,用于监听跨链请求;
获取模块200,用于获取所述跨链请求对应的跨链事件;
协议转换模块300,用于将所述跨链事件转换为预设协议格式;
路由生成模块400,用于根据所述跨链请求调取名字服务生成对应的区块链路由表;
跨链模块500,用于根据所述区块链路由表对所述预设协议格式的跨链事件执行跨链操作。
基于上述实施例,作为优选的实施例,该跨链系统还可以包括:
过滤模块,用于利用预设规则所述跨链事件进行规则匹配,过滤所述跨链事件中的非跨链操作。
基于上述实施例,作为优选的实施例,该跨链系统还可以包括:
验证模块,用于获取所述跨链请求对应的跨链事件之后,调用预设插件对所述跨链事件进行存在性验证和/或合法性验证;若所述存在性验证和所述合法性验证中任一项验证失败,拒绝所述跨链请求。更优选的,所述验证模块具体为用于调用Merkle Proof、Hash证明、零知识证明、中间人数字签名、多重数字签名中的一种或任意几种的插件组合对所述跨链事件进行存在性验证和/或合法性验证。
基于上述实施例,作为优选的实施例,该跨链系统还可以包括:
名字服务模块,用于若接入新区块链,记录所述新区块链的类型、IP地址和端口号,生成所述新区块链的ID;将所述新区块链的类型、IP地址、端口号和ID作为名字信息添加至名字服务。
基于上述实施例,作为优选的实施例,还包括:
授权模块,用于根据所述跨链请求中的路由信息生成对应的区块链路由表之前,根据所述跨链请求的操作类型判断是否需要授权;若是,获取所述跨链请求的目的端的授权认证。
本申请还提供了一种电子设备,该电子设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备(玩客云)终端设备。该电子设备可以是组成CDN网络或者区块链网络的节点。
参见图5,本申请实施例提供的一种电子设备的结构图,如图5所示,可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的硬盘。存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装电子设备的应用软件及各类数据,例如异构区块链间的跨链程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,实现上述任一实施例提供的异构区块链间的跨链方法,例如执行异构区块链间的跨链程序等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在上述实施例的基础上,作为优选实施方式,参见图6,所述电子设备还包括:
输入接口14,用于获取外部导入的计算机程序、参数和指令,经处理器12控制保存至存储器11中。该输入接口14可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触控层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘(Keyboard)、触控板或鼠标等。
显示单元15,用于显示处理器12处理的数据以及用于显示可视化的用户界面。该显示单元15可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口16,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图6仅示出了具有组件11-16以及异构区块链间的跨链程序的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。