选择共识节点的处理方法、装置及服务器与流程

文档序号:13473422阅读:415来源:国知局
选择共识节点的处理方法、装置及服务器与流程

本说明书一个或多个属于计算机数据处理技术领域,尤其涉及一种选择共识节点处理方法、装置及服务器。



背景技术:

区块链技术通常是一种去中心化的分布式数据库技术,其特点包括去中心化、公开透明、不可篡改、可信任等,可以用于记录公有或私有对等网络中的数据信息。为了保障区块链中数据的一致性,在区块链中采用共识算法来生成和更新数据。pbft(practicalbyzantinefaulttolerance,实用拜占庭容错算法)为业内常用的一种分布式一致性的共识算法。

pbft是一种状态机副本复制算法,通常是在区块链众多的节点中选择的部分节点作为共识节点,参与共识处理。一般的,参与共识的共识节点数量可以在4~11个范围内。目前,在pbft中,选择共识节点的算法主要包括随机选择和固定选择。其中,随机选择共识节点的难点包括协调所有节点认可新选择出的共识节点的算法设计,其中选择节点本身也是一次复杂的共识过程。固定选择共识节点在工程实现上面相比随机选择较为简单,如将源码分发给所有节点即可,但这方式在出现故障后或者因为其他原因更新共识节点时变得较为困难。

目前业内需要一种pbft中更加易于实现、便于维护、高效、可靠的选择共识节点处理方案。



技术实现要素:

本说明书的一个或多个实施例目的在于提供一种选择共识节点处理方法、装置及服务器,可以在pbft中更加简单、高效、可靠的选择共识节点。

本说明书的一个或多个提供的一种选择共识节点处理方法、装置及服务器是包括以下方式实现的:

一种选择共识节点处理方法,所述方法包括:

获取股东节点对选择的期望节点的股权投票结果,所述股东节点包括拥有预设总股权中至少一份股权的节点;

根据所述股权投票结果确定股权投票后各个股东节点所拥有的股权的数量;

根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果。

一种选择共识节点处理装置,所述装置包括:

投票结果获取模块,用于获取股东节点对选择的期望节点的股权投票结果,所述股东节点包括拥有预设总股权中至少一份股权的节点;

投票结果确定模块,用于根据所述股权投票结果确定股权投票后各个股东节点所拥有的股权的数量;

共识节点确定模块,用于根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果。

一种选择共识节点处理装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:

获取股东节点对选择的期望节点的股权投票结果,所述股东节点包括拥有预设总股权中至少一份股权的节点;

根据所述股权投票结果确定股权投票后各个股东节点所拥有的股权的数量;

根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果。

一种服务器,包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:

获取股东节点对选择的期望节点的股权投票结果,所述股东节点包括拥有预设总股权中至少一份股权的节点;

根据所述股权投票结果确定股权投票后各个股东节点所拥有的股权的数量;

根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果。

本说明书的一个或多个实施例提供的一种选择共识节点处理方法、装置及服务器,可以通过股东节点进行股权投票,根据投票结果中拥有股权的节点所占股权的数量来选择参与共识的节点。该方法易于工程实现,选择出来的结果真实有效,且投票结果为全网公开,能够被其他节点认同。利用本说明书实施方案,可以通过股权投票后的股权占比快速选出共识节点,减少共识过程消耗,简化共识处理步骤,提高共识节点选择处理效率,选择结果也更加可靠。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本说明提供的一个实施例中预设总股份的节点分配以及引入证书服务器的区块链节点结构示意图;

图2是本说明书提供的所述方法在一个实施例场景中的处理过程示意图;

图3是本说明书所述方法另一个实施例的方法流程示意图;

图4是利用本说明书实施例在区块链网络中选择共识节点的一个场景示意图

图5是本说明书提供的一种选择共识节点处理装置实施例的模块结构示意图;

图6是本说明书提供的另一种选择共识节点处理装置实施例的模块结构示意图;

图7是本说明书提供的服务器一种实施例的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。

pbft是一种状态机副本复制算法,即将服务作为状态机进行建模。所述的服务通常指服务器上面的具体应用服务,比如为了完成一笔转账,转账这个服务可以以状态机进行建模。状态机在分布式系统的不同节点进行副本复制,通常每个状态机的副本都保存了服务的状态,同时实现服务的操作。当区块链中的节点数量超过一定数量以后,全部参与共识会导致整个共识效率低下,因此需要通过一种方法从区块链的节点中选择出部分节点作为共识节点,参与共识,如进行建模生成副本,其他节点则仅仅同步共识结果(如副本复制),不参与共识过程。

在pbft共识算法中,通常情况下参与共识节点数量控制在4~11个范围内。如果节点数量少于4个会导致pbft算法失效,节点数量如果超过11个,则出现共识性能会随着节点数量增加而下降。为了平衡拜占庭容错和共识性能,需要在一大批节点中选择部分节点作为共识节点,参与共识。所述的共识通常指区块链中的分布式节点使用相同的算法、相同的数据格式(或相同的处理协议)来生成和更新数据,可以使用不同语言实现。本说明书实施例提供一种有效的基于股权投票的pbft共识节点选择方法,该方法应该易于工程实现,选择出来的节点真实有效,且能够被其他节点所认同。具体的一个实施方式中,可以引入证书服务器,所述证书服务器的公钥可以写入区块链的创世块(区块链的一个数据存储区块)。可以设置接入区块链中的所有节点需要向根证书服务器申请根证书,根证书可以用于证明节点身份的合法性。

在本实施例中,可以预先设定一个总股权数量,例如可以设置区块链中所有节点的总股权的数量为100份。本说明书实施例中,每份股权的权力(或权重)可以设置为相等,股权可以从区块链的一个节点转移到另一个节点。所述的股权可以视为是一种资产,可以在区块链上面进行交易,交易确认过程中可以基于创世块的记录信息证明该股权存在的合法性。所述的总股权数量可以根据实际的节点数量或实施环境等相应的设置总份数,通常情况下,设置的总股权数量全局唯一且不变。当然,本说明书不排除其他的实施例中,可以根据业务处理需求增加或减少总股权数据量,例如为新接入的某个重要节点设置自带10份股权。这些总股权可以根据业务规则分配给相应的节点,具体的分配规则可以根据节点规模、业务量、重要程度等进行设置。在本说明书的一个或多个实施例中,从所述预设总股权中分配到股权的节点可以称为股东节点,或者可以理解为,所述股东节点占有所述预设总股权中至少一份股权的节点。图1是本说明提供的一个实施例中预设总股份的节点分配以及引入证书服务器的区块链节点结构示意图。

因此,当在pbft中需要进行共识节点选择时,具有股权的节点可以选择投票的期望节点进行投票,投票的结果可以向区块链全网广播。投票结束后,每个节点可以收到同样的股权投票结果,然后可以根据各个节点所包括的股权的数量确定共识节点的选择结果。具体的一种实施例如图2所示,本说明书提供的一种选择共识节点处理方法的一种实施例中,所述方法可以包括:

s2:获取股东节点对选择的期望节点的股权投票结果,所述股东节点包括拥有预设总股权中至少一份股权的节点。

股东节点选择进行股权投票的节点可以称为期望节点,期望节点可以包括自身含有股权的股东节点,也可以包括在投票之前没有股权的节点。一种实施方式中,拥有股权的节点可以自主选择对哪个节点进行投票。选择期望节点的依据可以包括但不限于基于节点服务性能的稳定性、节点业务容量,甚至基于作业人员配置的选择策略等。具体的,本说明书提供的一个实施例中,所述选择的期望节点可以包括:

s201:所述股东节点根据预设的共识节点选取条件选择的至少一个进行股权投票的节点。

所述的预设的共识节点选取条件可以包括前述所述的基于节点服务性能的稳定性、节点业务容量、基于作业人员配置的选择策略等中的至少一项。股东节点进行投票时,可以选择对自身节点进行投票,也可以对除自身外的其他节点进行投票。

在本说明书实施例中,持有股权的节点(股东节点)可以参与投票,没有股权的普通节点无法进行投票。

一种实施方式中,股东节点投票的总数可以设置不超过自身节点拥有的可投票股权数量。所述的可投票股权不包括在当前选择共识节点的处理过程中其他股东节点投给自身节点的股权。因此,本说明书提供的所述方法的另一个实施例中,所述股权可以被设置成,包括:

在单次共识节点选择的处理过程中,所述股权在区块链的节点之间进行投票转移的有效次数被设置成1次。

在本实施例中,股东节点可以投票给自己,也可以选择投票给其他节点。股东节点无法将别人给自己的投票转出去,单次共识节点选择的投票过程中,每份股权只能被股东节点进行一次投票。

具体的一个示例中,例如节点node1自身拥有10份股权,这10份股权属于可投票股权。若节点node1向节点node2投了6份股权,节点node3向节点node1投了3份股权。此时虽然节点node1拥有7份股权,但由于其中3份股权是由其他节点投给的节点node1,不属于可投票股权,因此,此时节点node1还有4份股权可以进行股权投票。节点node1可以选择将股权投给自己,也可以继续给其他期望节点。

本说明书其他的实施例中,可以对股东节点进行股权投票的投票结果进行数字签名,这样可以防止其他节点伪造股东节点的投票结果,也可以作为投票结果的验证数据,防止股东节点都自己的投票结果抵赖,大大提高股权投票结果的可靠性和安全性。因此,本说明书提供的一个实施例中,所述股权投票结果可以包括:

所述股东节点使用所述股东节点的私钥对所述期望节点进行股权投票后生成的投票结果进行签名,生成的股权投票结果;

相应的,所述方法还包括,在获取所述股权投票结果之后,所述方法还包括:

s20:利用相应的股东节点的公钥验证所述股权投票结果。

图3是本说明书所述方法另一个实施例的方法流程示意图。在本实施例中,可以采用非对称加密中的私钥对投票结果进行签名,对应的公钥可以广播到其他节点。相应的,接收到该私钥签名后的结果可以利用对应节点的公钥进行验证,确认股权投票结果以及股权投票结果的发送方是否有效(合法)。如果验证股权投票结果无效,则可以发出告警或进行其他预设处理操作。

s4:根据所述股权投票结果确定股权投票后各个股东节点所拥有的股权的数量。

股东节点投票后,其股权投票结果可以广播到区块链中的各个节点。这样区块链中的各个节点都可以收到该股东节点的股权投票结果,并且每个节点收到的可以是相同的股权投票结果。本实施例中,所有股东结果投票后,股权在节点中的分配结构通常会发生变化,例如原来用于股权的节点在投票将所有的股权全部投给其他节点,而自身没有收到其他节点的投票,此时该节点的股权数量为0,即从股权投票前的股东节点变为投票后的无股权的普通节点。另一些节点中,股权投票前为没有股权的普通节点,在股权投票后拥有股权,则变成了新的股东节点。

因此,股权节点投票结束后,股东节点或普通节点可以根据接收到的股权投票结果,或者以及自身节点的股权投票结果,确定每个股东节点所拥有的股权的数量。在本实施例实施场景中,在股权投票之后,所有股东节点的股权的数量总和与股权投票之前相同。

具体的一个示例中,股权投票之前股权的分配情况为股东节点node10拥有20份股权、股东节点node11拥有25份股权、股东节点node15拥有30份股权、股东节点node8拥有10份股权、股东节点node6拥有15份股权。股权投票结束后,所有的节点都会收到相同的股权投票结果。具体的在股东节点node10一侧而言,其收到的股权投票结果可以为:股东节点node10拥有9份股权、股东节点node11拥有20份股权、股东节点node15拥有35份股权、股东节点node8拥有3份股权、股东节点node6拥有20份股权、股东节点node7拥有13份股权。相比股权投票之前,股权投票只有不仅原股东节点用于的股权份数发生了变换,还多出一个新的股东节点node7,并拥有13份股权。

s6:根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果。

得到股权投票结果后,可以根据当前各个股东节点中每个股东所拥有的股权的数量来确定此次共识节点的选择结果。具体的选择出的共识节点的数量、选择方式可以根据实际应用场景或处理需求进行设置。例如根据拥有股权数量的多少选择股权数量最多的前5个股东节点作为此次的共识节点。

本说明书提供的所述方法的另一种实施场景中,股权投票后可能出现拥有股权数量相应的节点,例如节点node10和node11分别拥有20份股权,但由于共识节点数量的限制(例如此次需要选出5个共识节点,此时已经确定出4个共识节点,确定出的每个共识节点拥有的股权数量大于20),需要在节点node10和node11中选出一个座位共识节点。本说明书提供的一个实施方式中,在股权相等时可以根据节点根证书产生的先后顺序选择共识节点。具体的,另一种实施例中,所述根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果,可以包括:

s601:若所述股权投票后股东节点中包括股权数量相等的节点,则从所述股权数量相等的节点中选择共识节点时,根据节点根证书产生的时间先后顺序选择共识节点,所述的节点根证书包括区块链中的节点向指定证书服务器申请的用于证明节点身份的数据信息。

如前述所述,一个实施方法中,区块链中的节点在接入区块链时需要向指定的一个证书服务器申请根证书,该根证书可以证明节点的身份是合法的。越先接入区块链的节点其拥有证书的时间节点越早,相应的该节点的根证书产生的时间也越早。一般的,早期接入区块链的节点其运行参数、服务器性能、数据处理策略等更加稳定、优化、可靠。因此,本实施例中在股权相等时可以优先选择根证书产生的时间较早的节点作为共识节点。具体的一个示例中,例如根证书采用包括产生时间的信息进行编号时,可以根据根证书编号从小到大的顺序选择共识节点。

图4是利用本说明书实施例在区块链网络中选择共识节点的一个场景示意图。本说明书的一个或多个实施例提供的一种选择共识节点处理方法,可以通过股东节点进行股权投票,根据投票结果中拥有股权的节点所占股权的数量来选择参与共识的节点。该方法易于工程实现,选择出来的结果真实有效,且投票结果为全网公开,能够被其他节点认同。实施本说明书实施方案,可以通过股权投票后的股权占比快速选出共识节点,减少共识过程消耗,简化共识处理步骤,提高共识节点选择处理效率,选择结果也更加可靠。

基于上述所述的选择共识节点处理方法,本说明书还提供一种选择共识节点处理装置。所述的装置可以包括使用了本说明书一个或多个实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端、量子计算机等并结合必要的实施硬件的装置。基于同一创新构思,本说明书一个或多个实施例提供的一种实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书一个或多个具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。具体的,图5是本说明书提供的一种选择共识节点处理装置实施例的模块结构示意图,如图5所示,所述装置可以包括:

投票结果获取模块101,可以用于获取股东节点对选择的期望节点的股权投票结果,所述股东节点包括拥有预设总股权中至少一份股权的节点;

投票结果确定模块102,可以用于根据所述股权投票结果确定股权投票后各个股东节点所拥有的股权的数量;

共识节点确定模块103,可以用于根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果。

所述的总股权数量可以根据实际的节点数量或实施环境等相应的设置总份数,通常情况下,设置的总股权数量全局唯一且不变。这些总股权可以根据业务规则分配给相应的节点,具体的分配规则可以根据节点规模、业务量、重要程度等进行设置。

当在pbft中需要进行共识节点选择时,具有股权的节点可以选择投票的期望节点进行投票,投票的结果可以向区块链全网广播。投票结束后,每个节点可以收到同样的股权投票结果,然后可以根据各个节点所包括的股权的数据确定共识节点的选择结果。利用本说明书所述装置的实施方案,可以通过股权投票后的股权占比快速选出共识节点,减少共识过程消耗,简化共识处理步骤,提高共识节点选择处理效率,选择结果也更加可靠。

本说明书提供所述装置的另一种实施例中,若所述股权投票后股东节点中包括股权数量相等的节点,则所述共识节点确定模块103从所述股权数量相等的节点中选择共识节点时,可以根据节点根证书产生的时间先后顺序选择共识节点,所述的节点根证书包括区块链中的节点向指定证书服务器申请的用于证明节点身份的数据信息。

图6是本说明书提供的另一种选择共识节点处理装置实施例的模块结构示意图。如图6所示,本说明书提供所述装置的另一种实施例中,所述股权投票结果可以包括:

所述股东节点使用所述股东节点的私钥对所述期望节点进行股权投票后生成的投票结果进行签名,生成的股权投票结果;

相应的,所述装置还可以包括:

验证模块104,可以用于在获取所述股权投票结果之后,利用相应的股东节点的公钥验证所述股权投票结果。

一种实施方式中,拥有股权的节点可以自主选择对哪个节点进行投票。选择期望节点的依据可以包括但不限于基于节点服务性能的稳定性、节点业务容量,甚至基于作业人员配置的选择策略等。本说明书提供所述装置的另一种实施例中,所述选择的期望节点可以包括:

所述股东节点根据预设的共识节点选取条件选择的至少一个进行股权投票的节点。

一种实施方式中,股东节点投票的总数可以设置不超过自身节点拥有的可投票股权数量。所述的可投票股权不包括在当前选择共识节点的处理过程中其他股东节点投给自身节点的股权。因此,所述装置的另一种实施例中,所述股权可以被设置成,包括:

在单次共识节点选择的处理过程中,所述股权在区块链的节点之间进行投票转移的有效次数被设置成1次。

本实施例中可以设置单次共识节点选择的投票过程中,每份股权只能被股东节点进行一次投票,股东节点无法将别人给自己的投票转出去。

上述实施例所述的装置,具体的可以在单个节点上实现,可以包括普通节点或所述股东节点。因为所有的投票结果是广播到区块链网络中各个节点的,所有节点收到的股权投票结果相同,因此每个节点都可以根据股权投票结果来确认共识节点的选择结果。

需要说明的是本说明书一个或多个上述所述的装置根据相关方法实施例的描述还可以包括其他的实施方式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于模块装置类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书提供的一个或多个提供的一种选择共识节点处理装置,可以通过股东节点进行股权投票,根据投票结果中拥有股权的节点所占股权的数量来选择参与共识的节点。该方法易于工程实现,选择出来的结果真实有效,且投票结果为全网公开,能够被其他节点认同。利用本说明书实施方案,可以通过股权投票后的股权占比快速选出共识节点,减少共识过程消耗,简化共识处理步骤,提高共识节点选择处理效率,选择结果也更加可靠。

本说明书一个或多个提供的选择共识节点处理方法可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在pc端实现,或其他例如linux、android、ios系统相应应用设计语言的实现等,以及基于量子计算机的处理逻辑实现等。具体的,本说明书一个或多个提供的一种选择共识节点处理装置的一种实施例中,所述装置可以包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:

获取股东节点对选择的期望节点的股权投票结果,所述股东节点包括拥有预设总股权中至少一份股权的节点;

根据所述股权投票结果确定股权投票后各个股东节点所拥有的股权的数量;

根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果。

需要说明的是本说明书一个或多个上述所述的装置根据相关方法实施例的描述还可以包括其他的实施方式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述所述的装置或方法可以用于区块链节点业务系统的服务器中,用来选择或确认区块链网络中共识节点。共识节点处理服务器中,可以通过股权投票后的股权占比快速选出共识节点,减少共识过程消耗,简化共识处理步骤,提高共识节点选择处理效率,选择结果也更加可靠。所述的服务器可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统(包括分布式系统)、软件(应用)、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。图7是本说明书提供的服务器一种实施例的结构示意图。具体的,可以包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现:

获取股东节点对选择的期望节点的股权投票结果,所述股东节点包括拥有预设总股权中至少一份股权的节点;

根据所述股权投票结果确定股权投票后各个股东节点所拥有的股权的数量;

根据所述股权投票后股东节点所拥有的股权的数量确定共识节点的选择结果。

需要说明的,上述所述的硬件+程序的装置或服务器根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照方法实施例的描述,在此不作一一赘述。

本说明书的一个或多个实施例提供的一种选择共识节点处理方法、装置及服务器,可以通过股东节点进行股权投票,根据投票结果中拥有股权的节点所占股权的数量来选择参与共识的节点。该方法易于工程实现,选择出来的结果真实有效,且投票结果为全网公开,能够被其他节点认同。利用本说明书实施方案,可以通过股权投票后的股权占比快速选出共识节点,减少共识过程消耗,简化共识处理步骤,提高共识节点选择处理效率,选择结果也更加可靠。

尽管本说明书一个或多个内容中提到股东节点选择投票节点的依据、股权投票中有效转移的次数限制、采用私钥加密公钥解密投票结果、根据投票后节点拥有股权数量确定共识节点等的数据设置、获取、交互、计算、判断等描述,但是,本说明书一个或多个并不局限于必须是符合行业通信标准、标准区块链数据存储、计算机处理和存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书一个或多个的可选实施方案范围之内。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

虽然本说明书一个或多个提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本领域技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书一个或多个可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本说明书一个或多个的实施例而已,并不用于限制本说明书一个或多个。对于本领域技术人员来说,本说明书一个或多个可以有各种更改和变化。凡在本说明书一个或多个的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个的权利要求范围之内。

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