多重区块链网络数据处理方法、装置及服务器
技术领域
本申请属于计算机数据处理技术领域,尤其涉及一种多重区块链网络数据处理方法、装置及服务器。
背景技术
区块链技术,也被称之为分布式账本技术,是一种去中性化的分布式数据库技术,其特点是去中心化、公开透明、不可篡改、可信任。区块链常常用于记录公有或私有对等网络中的交易,可以在区块中永久记录网络中的对等节点之间发生的资产交易的历史记每笔数据。多个节点可以组成区块链网络。其中区块链网络中每个新节点的加入、交易的产生、区块的生成等数据信息会广播到全网的所有节点,每个节点都有全量的、一致的数据(账本)。
在区块链网络中,通常一个节点归属于一个区块链网络。但随着业务发展,一些节点的业务常常需要多个参与方参与,因而需要在这些区块链的节点搭建多重区块链网络,使该参与方节点能连接多个不同的区块链网络。所述的多重区块链网络一般是由隔离的多个区块链网络组成。在多重区块链网络中,一个参与方节点能连接多个不同的区块链网络,从而参与不同区块链网络,则表示参与方节点支持多重区块链网络,该参与方节点通常的被称为多重网络节点。
在传统的多重区块链网络的设计中,如果一个参与方需要加入多个区块链网络,则需要在参与方一侧部署多个节点,并为每个节点配置所加入各个区块链网络的网络参数配置,实现接入对应的区块链网络。但现有的这种设计方式中,加入了多个不同区块链网络的参与方在运行时只能允许接入一个区块链网络,例如参与方P要么通过启动节点A1接入A区块链网络,要么通过启动节点B1接入B区块链网络。如果需要加入另一个区块链网络则需要断开或暂停当前加入的区块链网络,通过启用另一个区块链网络的网络参数配置实现接入所述另一个区块链网络,使得多重网络节点的业务系统交互过程复杂,系统设计难度较高。并且多重网络节点需要针对多个节点的不同的业务量配置不同的机器配置、运维策略等,如果其中参与的某个联盟链业务量有变动,则需要调节相应的机器配置,这样方式又会降低系统在多重网络节点上的运营维护上的稳定性、可靠性(高可用性)。
因此,现有多重区块链网络中多重网络节点的设计方式仅能支持同时接入一个区块链网络,加入多个区块链网络的参与方需要相应的运营维护所加入网络的多个节点,使的整个多重区块链网络运维复杂。
发明内容
本申请目的在于提供一种多重区块链网络数据处理方法、装置及服务器,可以在多重区块链的数据处理过程中通过添加区块链的网络标识,实现区块链节点同时处理多个区块链网络的能力,降低系统运维成本和运维复杂程度。
本说明书一个或多个实施例提供的一种多重区块链网络数据处理方法、装置及服务器是通过包括以下方式实现的:
一种多重区块链网络数据处理方法,所述方法包括:
获取数据处理请求,提取所述数据处理请求中用于标识所述数据处理请求所属区块链网络的标识符;
根据所述标识符对所述数据处理请求执行相应的处理逻辑。
一种多重区块链网络数据处理装置,所述装置包括:
网络标识提取模块,用于获取数据处理请求,提取所述数据处理请求中用于标识所述数据处理请求所属区块链网络的标识符;
请求数据处理模块,用于根据所述标识符对所述数据处理请求执行相应的处理逻辑。
一种多重区块链网络数据处理装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
获取数据处理请求,提取所述数据处理请求中用于标识所述数据处理请求所属区块链网络的标识符;
根据所述标识符对所述数据处理请求执行相应的处理逻辑。
一种区块链节点服务器,包括至少一个处理以及用于存储处理器可执行指令的存储器,所述处理执行所述指令时实现:
获取数据处理请求,提取所述数据处理请求中用于标识所述数据处理请求所属区块链网络的标识符;
根据所述标识符对所述数据处理请求执行相应的处理逻辑。
本申请提供的一种多重区块链网络数据处理方法、装置及服务器,利用区块链网络的网络标识来隔离不同区块链网络的通信请求、数据存储、数据读写等,可以使多重区块链网络中的多重网络节点能够同时加入不同的区块链网络,实现同时处理多个区块链网络的数据处理能力。利用本申请实施方案,可以有效降低系统在多重网络节点运维的复杂性,可以降低参与整个网络的业务系统在节点运维、系统交互的复杂难度,提高多重区块链网络的数据处理能力和系统稳定性、可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请所述一种多重区块链网络数据处理方法实施例的流程示意图;
图2是本申请一种在多重区块链网络中通信的消息的数据格式示意图;
图3是本申请实施例中一种节点存储不同区块链网络数据的示意图;
图4是本申请实施例中另一种节点存储不同区块链网络数据的示意图;
图5是本申请提供的所述方法在一个具体的实施场景的示意图;
图6是本申请提供的一种多重区块链网络数据处理装置实施例的模块结构示意图;
图7是本申请提供的所述请求处理模块一种实施例的结构示意图;
图8是本申请提供的一种区块链节点服务器结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1是本申请所述一种多重区块链网络数据处理方法实施例的流程示意图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
具体的一种实施例如图1所示,本申请提供的一种多重区块链网络数据处理方法的一种实施例中,所述方法可以包括:
S2:获取数据处理请求,提取所述数据处理请求中用于标识所述数据处理请求所属区块链网络的标识符;
S4:根据所述标识符对所述数据处理请求执行相应的处理逻辑。
本申请可以预先设计多重区块链网络的网络配置,通过改造节点区块链数据存储方式、区块链网络节点之间的通讯消息结构、以及多重网络节点的数据处理逻辑等,实现在多重区块链网络中加入多个区块链网络的节点(即本申请所述的多重网络节点)可以同时接入所述多个区块链网络,可以同时处理多个区块链网络的数据。本申请上述的实施例可以用于多重区块链网络中的多重网络节点。所述的多重区块链网络一般包括至少一个多重网络节点。
需要说明的是,本申请中所述的节点通常是指区块链网络中的某个参与方所在的区块链节点,该节点具体的可以包括一台物理服务器、分布式系统、服务器集群、客户端等至少一个终端设备并结合必要的应用、业务系统、程序组件等。在本申请所述的区块链网络中(多重区块链网络可以认为是一种包含多重网络节点的区块链网络),所述的节点可以包括部署在物理硬件上的程序应用,该程序应用可以基于本申请提供的实施方案实现加入不同的区块链网络。例如,一台系统节点服务器加入区块链公网A和联盟专用区块链网B,现有技术中需要分别配置用于接入区块链公网A的节点A1和配置接入联盟专用区块链网B的节点B1。而本申请则可以直接部署一个节点P,该节点P具备可以同时接入区块链公网A和联盟专用区块链网络B的能力,并且可以处理两个网络的数据包,简化系统配置和数据交互的复杂性、提高服务器数据处理效率、稳定性,保证服务器高可用性。
下面以一个具体改造多重网络节点的实施示例来描述本实施例的实施方案。在本实施例中,可以改造多重网络节点区块链数据存储方式、多重区块链网络中所有节点之间的通讯消息结构、以及多重网络节点的数据处理逻辑等实现本申请发明目的。具体的可以包括:
改造通信层:主要的处理方式包括在多重区块链网络进行消息传输的通信过程中,设置节点之间相互传输的消息中携带该消息所属(或者可以理解为该消息来自于)区块链网络的标识符。具体的一种实施方式中,可以设置在多重区块链网络中每个节点之间相互传输的通信请求、应答内容中包括其所属区块链网络的标识符字段,如图2所示,图2是本申请一种在多重区块链网络中通信的消息的数据格式示意图。节点之间传输的消息可以包括多种类型,如请求数据存储、读取节点数据、通知消息、消息转达、指令操作等等,为便于描述,本申请实施例可以将多重区块链网络中节点之间传输的消息统一称为数据处理请求。所述的数据处理请求可以包括多重网络节点接收的加入一个区块链网络的单个节点发送的消息,也可以包括所述多重网络节点向所述单个节点发送的消息,或者多重网络节点自己发送的消息。
所述的标识符可以采用多种数据格式来标识数据处理请求所属的区块链网络。例如可以采用统一的规则分别设置每个区块链网络的字符串,用该字符串作为标识符。如对于区块链公网A和联盟专用区块链网B,可以分别设置“network1”、“network2”来表示区块链公网A和联盟专用区块链网B。本申请提供的所述方法的另一种实施例中,所述标识符可包括基于区块链网络的网络标识生成。
具体的,所述标识符可以直接采用区块链网络的网络标识,或者在区块链网络的网络标识的基础上进行添加一些其他字符或经过一些变换等生成。例如区块链公网A和联盟专用区块链网B两个区块链网络本身自有的网络标识分别为“network_A”、“network_B”,则可以直接使用“network_A”作为区块链公网A中所有数据处理请求中携带的区块链网络的标识符,相应的,可以直接使用“network_A”作为联盟专用区块链网B中所有数据处理请求中携带的区块链网络的标识符。当然,也可以对原始的网络标识符进行一些处理后作为标识符,例如可以将网络标识“network_A”、修改为“network_A_Pub”来作为区块链公网A中所有数据处理请求中携带的区块链网络的标识符。
改造数据存储层:所述多重网络节点存储节点的区块链数据时可以使用标识符来区分不同区块链网络的数据,在数据存储时可以以所述标识符来隔离不同区块链网络的数据存储。所述的隔离包括不同区块链网络的数据至少在逻辑上是隔离存储的。如图3所示,图3是本申请实施例中一种节点存储不同区块链网络数据的示意图,在一些实施场景中,不同区块链网络的数据在一段物理存储空间上可以是混合存储,例如根据数据接收时间顺序存储在物理存储介质上。
另一种存储方式中,在多重网络节点可以划分不同区块链的存储空间,该存储空间可以在物理上是分开的。当需要存储数据时,可以根据标识符将数据存储到所述标识符对应的区块链存储空间。如图4所示,图4是本申请实施例中另一种节点存储不同区块链网络数据的示意图,可以分别设置不同的区块链存储区域,每个区块链存储区域可以用来存储相应的业务数据。因此,本申请提供的所述方法的另一种实施例中,所述数据处理请求可以包括数据存储的请求消息,相应的,所述根据所述标识符对所述数据处理请求执行相应的处理逻辑可以包括:
S20:将所述数据处理请求中的区块链数据存储到所述标识符对应的区块链存储区域。
如图4所示,多重网络节点P加入了加入区块链公网A和联盟专用区块链网B,则可以在多重网络节点P设置两块存储区域。接收到需要进行数据存储的数据处理请求时,可以根据数据处理请求中包含的标识符来确定该数据处理请求是属于哪个区块链网络。然后可以将该数据处理请求中包含的区块链数据(通常为该节点产生的业务数据)存储到相应的区块链网络存储区域。例如数据处理请求MSG_Stor中包含的标识符为“network_A”,则可以表示该数据处理请求来自区块链公网A,则可以将数据处理请求MSG_Stor中的业务数据存储到区块链公网A的存储区域。
进一步的,若多重网络节点接收到数据读取的数据处理请求,则可以根据数据处理请求中包含的标识符来确认该数据处理请求是来自所加入的哪个区块链网络,然后再定位到相应的区块链存储区域中读取所请求的区块链数据。因此,本申请所述方法的另一种实施例中,所述数据处理请求可以包括数据读取的请求消息,相应的,所述根据所述标识符对所述数据处理请求执行相应的处理逻辑可以包括:
S40:读取所述标识符对应的区块链存储区域中的区块链数据。
本申请实施方案中,对于通信和存储等可以使用标识数据处理请求所属区块链网络的标识符字段做区分,使一个多重网络节点能同时读写不同区块链网络的数据,实现同时处理多个网络的数据能力。
另一方面,改造节点处理逻辑:主要包括接收多重区块链网络中节点的数据处理请求时,根据所述处理请求中包含的标识符来确定该数据处理请求的数据包是属于哪个区块链网络,接收者可以根据这个标识符执行对应的逻辑,包括如上述所述的数据存储、数据读取。当然还可以包括其他类型的节点之间进行交互的消息。所述数据处理请求包括节点通信消息,相应的,所述根据所述标识符对所述数据处理请求执行相应的处理逻辑包括:
S60:将所述节点通信消息在所述标识符对应的区块链网络中进行交互处理。
这样,由于本说明书一个或多个实施例可以在加入多个区块链网络的多重网络节点中采用了利用区块链网络的标识符来区分不同的区块链网络,使其可以将原本需要运营维护的多个区块链网络的多个单个节点结合到一个节点中处理即可,实现能同时加入不同区块链网络的节点。并且多重网络区块链中交互的消息可以在携带所述标识符的情况下实现不同节点的业务系统之家的消息交互,可以降低业务系统设计的复杂性。同时节点根据业务量对机器的配置、运维策略等更加简单,即使有节点变动,对整个区块链网络的冲击影响也相比现有实施方案减小。图5是本申请提供的所述方法在一个具体的实施场景的示意图。图5中所示的两个多重网络节点均加入了联盟链A和联盟链B,联盟链A中的节点之间通信请求(request)可以在联盟链A的区块链网络中传输,如果需要在多重网络节点存储数据,则可以根据网络标识network将数据存储到相应的联盟链A存储区域或联盟链B存储区域中。本申请提供的一种区块链数据处理方法,利用区块链网络的网络标识来隔离不同区块链网络的通信请求、数据存储、数据读写等,可以使多重区块链网络中的多重网络节点能够同时加入不同的区块链网络,实现同时处理多个区块链网络的数据处理能力。利用本申请实施方案,可以有效降低系统在多重网络节点运维的复杂性,可以降低参与整个网络的业务系统在节点运维、系统交互的复杂难度,提高多重区块链网络的数据处理能力。
基于上述所述的区块链数据处理方法,本申请还提供一种多重区块链网络数据处理装置。所述的装置可以包括使用了本申请所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端、量子计算机等并结合必要的实施硬件的装置。基于同一创新构思,本申请提供的一种实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本申请具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。具体的,图6是本申请提供的一种多重区块链网络数据处理装置实施例的模块结构示意图,如图6所示,所述装置可以包括:
网络标识提取模块102,可以用于获取数据处理请求,提取所述数据处理请求中用于标识所述数据处理请求所属区块链网络的标识符;
请求数据处理模块104,可以用于根据所述标识符对所述数据处理请求执行相应的处理逻辑。
如前所述,一种实施例中,所述标识符包括基于区块链网络的网络标识生成。如可以直接使用数据处理请求所属区块链网络的原始的网络标识。
其他的实施例中,所述请求处理模块104可以包括:
数据存储单元1040,可以用于在所述数据处理请求包括数据存储的请求消息时,将所述数据处理请求中的区块链数据存储到所述标识符对应的区块链存储区域。
其他的实施例中,所述请求处理模块104可以包括:
数据读取单元1042,可以用于在所述数据处理请求包括数据读取的请求消息时,读取所述标识符对应的区块链存储区域中的区块链数据。
图7是本申请提供的所述请求处理模块一种实施例的结构示意图。
其他的实施例中,所述请求处理模块104可以包括:
数据通信单元1046,可以用于在所述数据处理请求包括节点通信消息时,将所述节点通信消息在所述标识符对应的区块链网络中进行交互处理。
可以理解的是,基于前述方法实施例的描述,节点之间相互通信的消息可以包括区块链数据存储和读取的数据处理请求。因此,本申请所述装置的其他实施方式中,所述的数据通信单元1046可以包括数据读取单元1042、数据存储单元1040中的至少一个。另外,所述的数据存储单元1040和数据读取单元1042在一些实施方式中可以为一个处理单元,如一个硬件实施的数据读写单元,其可以实现所述数据存储单元1040和数据读取单元1042的处理能力。
本申请提供的区块链数据处理方法可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现,或其他例如Linux、android、iOS系统相应应用设计语言的实现等,以及基于量子计算机的处理逻辑实现等。具体的,本申请提供的一种多重区块链网络数据处理装置的一种实施例中,所述装置可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:
获取数据处理请求,提取所述数据处理请求中用于标识所述数据处理请求所属区块链网络的标识符;
根据所述标识符对所述数据处理请求执行相应的处理逻辑。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请提供的一种区块链数据处理装置,利用区块链网络的网络标识来隔离不同区块链网络的通信请求、数据存储、数据读写等,可以使多重区块链网络中的多重网络节点能够同时加入不同的区块链网络,实现同时处理多个区块链网络的数据处理能力。利用本申请实施方案,可以有效降低系统在多重网络节点运维的复杂性,可以降低参与整个网络的业务系统在节点运维、系统交互的复杂难度,提高多重区块链网络的数据处理能力。
上述所述的装置或方法可以用于参与多重区块链网络的业务系统的服务器中,使服务器同时加入不同区块链网络,实现同时处理多个区块链网络的数据处理能力,降低系统运维复杂度、运维成本、业务系统交互复杂度等。具体的,本申请提供的一种区块链节点服务器,包括至少一个处理以及用于存储处理器可执行指令的存储器,所述处理执行所述指令时可以实现:
获取数据处理请求,提取所述数据处理请求中用于标识所述数据处理请求所属区块链网络的标识符;
根据所述标识符对所述数据处理请求执行相应的处理逻辑。
图8是本申请提供的一种区块链节点服务器结构示意图。需要说明的,上述所述的装置或服务器根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照方法实施例的描述,在此不作一一赘述。
本申请提供的一种多重区块链网络数据处理方法、装置及数据存储系统,可以使用区块链网络标识符来区分不同网络的数据存储、读写、通信等,可以使多重区块链网络中的多重网络节点能够同时加入不同的区块链网络,实现同时处理多个区块链网络的数据处理能力。利用本申请实施方案,可以有效降低系统在多重网络节点运维的复杂性,可以降低参与整个网络的业务系统在节点运维、系统交互的复杂难度,提高多重区块链网络的数据处理能力和系统稳定性、可靠性。
尽管本申请内容中提到所述标识符的确定方式、区块链数据在节点的存储方式、节点之间数据处理请求消息的交互等之类的数据设置、获取、交互、计算、判断等描述,但是,本申请并不局限于必须是符合行业通信标准、标准区块链数据存储、计算机处理和存储规则或本申请实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本申请的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。