区块链共识引擎系统和区块链共识处理流程方法

文档序号:26050571发布日期:2021-07-27 15:25阅读:149来源:国知局
区块链共识引擎系统和区块链共识处理流程方法

本申请涉及区块链技术领域,尤其涉及一种区块链共识引擎系统和一种区块链共识处理流程方法。



背景技术:

共识算法作为区块链的核心功能之一,体现了区块链“去中心化”的特征。在区块链系统中当某事务被提出时,各节点通过共识算法,共同验证其可靠性,对事务达成一致性的确认结果,并记录到各节点共同维护的账本中。目前来说,在节点完全开放、去中心化程度极高的公有链中,使用基于投票的共识算法会导致网络开销过大、吞吐量低,因此多使用基于验证的共识算法。如比特币、以太坊使用pow算法,bitshares使用dpos算法等等。在联盟链和私有链中,节点透明度较低,可信程度较高,也适合用基于投票的bft类算法,如ripple使用支持拜占庭容错的ripple共识,tendermint使用改进的pbft算法。

采用区块链技术的系统在开发使用时性能迥异,使用的共识算法从参与节点数量到共识机制等也都有很大差别。在现有的区块链系统中,共识算法通常在节点生成区块前调用,其实现多是直接耦合到区块链系统中。随着对区块链技术底层的研究与探索,以及在多国自研底层的宏观环境下,目前各大型企业和区块链机构均在进行自己的底层区块链技术研发,搭建自己的baas(blockchainasaservice)平台。作为基础级设施,baas平台的目标是为不同场景下的大规模企业应用,提供快捷的区块链部署与业务上链通道。在这样的需求下,采用单一共识算法通用性不足,可扩展性差,抑制算法和平台的更新。区块链服务平台中对共识算法提出了更高的要求:需要根据不同的场景,选择契合的共识算法。因此,需要在区块链服务平台中采用合适的共识模块或者共识引擎,可根据系统的不同需求,对符合场景需求的共识算法进行插拔,搭载不同的共识算法。

现有技术存在下面三方面的问题;

1.共识引擎设计问题:在现有的区块链基础架构中,固有的共识算法很难满足多变的场景需求。一些平台开始尝试开发可插拔共识算法的共识引擎。但现有的研究与设计都处于初步阶段。无论是理论中还是应用上,都没有可供统一参考的共识引擎规范。需要提供一种设计思路,将共识模块从耦合的区块链系统中分离。

2.共识引擎扩展问题:现已有的可插拔共识模块中,对模块的各部分设计不够抽象化,大多是将一类相似的共识算法的共有属性提取出来,放入模块中。使得共识引擎的扩展性较差,仅能在特定场景下,做到对同一类共识算法的更换,无法做到可供任意不同类型的共识算法使用。

3.共识引擎管理问题:在区块链服务平台中,节点即可以是服务的请求者,又可能作为共识网络的一部分,直接参与到共识过程中。在这种情况下,现有的共识接口,仅定义了抽象的方法,在共识算法实现这些方法时,需要考虑到与节点的交互,设计不同的对外接口和具体内容。我们认为,可以在节点与共识算法间增加一个管理模块,由共识管理模块定义统一的节点与共识算法交互的方法。并通过调用在共识管理模块中已载入的不同共识算法,完成具体的方法。



技术实现要素:

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种区块链共识引擎系统,实现将共识模块从耦合的区块链系统中分离,做到可供任意不同类型的共识算法使用。

本申请的第二个目的在于提出一种区块链共识处理流程方法。

本申请的第三个目的在于提出一种计算机设备。

本申请的第四个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本申请第一方面实施例提出了一种区块链共识引擎系统,包括:共识节点群、共识管理模块、共识网络模块、事务池模块、共识处理模块和共识结果模块,其中,

共识节点群中的节点需要使用算法进行共识时,将共识算法加载到共识管理模块中;

共识管理模块获取节点的信息,并将节点信息注册到共识网络模块中;

事务池模块用于储存事务,在所储存的事务满足触发条件时,将事务发送给共识处理模块,并清空当前事务池中的事务;

共识处理模块,接收事务后,根据自身共识算法的共识过程,首先调用共识网络模块中的节点信息,将事务发送给相关节点,之后按照定义的流程,请求相关节点进行相应的共识操作,完成共识后调用共识结果模块,将事务打包,生成新的区块;

相关节点通过查询区块链的变化,在事务已经被记录在共识结果模块中时,标志事务的成功发生。

可选地,在本申请的一个实施例中,将节点信息注册到共识网络模块中,或者,加入当前模块已有的共识网络中,或者,和协商好的联盟节点初始化新的共识网络,重新搭建联盟链共识网络。

可选地,在本申请的一个实施例中,共识节点群中的节点自身或节点之间发生事务时,通过共识管理模块将事务发送至事务池模块。

可选地,在本申请的一个实施例中,请求相关节点进行相应的共识操作,生成新的区块,具体过程包括:

相关节点接收到共识请求后,检验接收到的事务并删除事务中不正常的部分,之后通过共识管理模块调用共识处理模块中的方法,进行共识。

可选地,在本申请的一个实施例中,上述共识引擎系统中的功能模块设计具有自适应微服务的属性,将共识引擎系统按照模块的功能,拆分为不同的小型服务,分别部署到微服务轻量级容器中,通过不同服务的调用,完成区块共识。

为达上述目的,本发明第二方面实施例提出了一种区块链共识处理流程方法,包括以下步骤:

将共识过程所需要的算法加载到共识管理模块中;

将节点信息注册到共识网络模块中;

满足触发条件时将事务池中的事务发送至共识处理模块,之后清空事务池;

通过共识处理模块将事务发送给相关节点,其中,相关节点为通过共识处理模块查询共识网络模块中与事务的信息相匹配的节点;

当相关节点同意请求之后,检验接收到的事务,删除不正常的事务,之后通过共识管理模块调用共识处理模块中的算法,进行共识,生成新的区块;

查询区块链的变化,在事务已经被记录在共识结果模块中时,标志事务的成功发生。

可选地,在本申请的一个实施例中,生成新的区块,具体过程为当某个节点先算出值时,通过共识管理模块在生成区模块中生成未经验证的区块,之后通过共识结果模块将未经验证的区块发送给其他节点,进行验证和停止其他节点的操作,若没有异议,达成共识,未经验证的区块变为已经过验证,生成新的区块。

为达上述目的,本发明第三方面实施例提出了另一种装置,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器执行时能够实现上述实施例所述的方法。

为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,能够实现上述实施例所述的方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例一所提供的一种区块链共识引擎系统的结构示意图;

图2为本申请实施例的pow算法工作流程图;

图3为本申请实施例的系统组成示意图;

图4为本申请实施例的pow算法实现共识接口模块示意图;

图5为本申请实施例的微服务结构设计图;

图6为本申请实施例的共识引擎工作流程图;

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面参考附图描述本申请实施例的区块链共识引擎系统。

本发明主要是针对现有的共识模块系统内各方参与共识、生成区块的概念描述较为模糊、模块设计复杂、可适用性与扩展性低等问题,提出了一种易于扩展和管理的区块链通用共识引擎,并对调用引擎、实现共识引擎工作流程进行了详细说明。

图1为本申请实施例一所提供的一种区块链共识引擎系统的结构示意图。

如图1所示,该区块链共识引擎系统包括:共识节点群、共识管理模块、共识网络模块、事务池模块、共识处理模块和共识结果模块,其中,

共识节点群中的节点需要使用算法进行共识时,将共识算法加载到共识管理模块中;

共识管理模块获取节点的信息,并将节点信息注册到共识网络模块中;

事务池模块用于储存事务,在所储存的事务满足触发条件时,将事务发送给共识处理模块,并清空当前事务池中的事务;

共识处理模块,接收事务后,根据自身共识算法的共识过程,首先调用共识网络模块中的节点信息,将事务发送给相关节点,之后按照定义的流程,请求相关节点进行相应的共识操作,完成共识后调用共识结果模块,将事务打包,生成新的区块;

相关节点通过查询区块链的变化,在事务已经被记录在共识结果模块中时,标志事务的成功发生。

可选的,在本申请的实施例中,将节点信息注册到共识网络模块中,或者,加入当前模块已有的共识网络中,或者,和协商好的联盟节点初始化新的共识网络,重新搭建联盟链共识网络。

可选的,在本申请的实施例中,共识节点群中的节点自身或节点之间发生事务时,通过共识管理模块将事务发送至事务池模块。

可选的,在本申请的实施例中,请求相关节点进行相应的共识操作,具体过程包括:

相关节点接收到共识请求后,检验接收到的事务并删除事务中不正常的部分,之后通过共识管理模块调用共识处理模块中的方法,进行共识。

可选的,在本申请的实施例中,上述共识引擎系统中的功能模块设计具有自适应微服务的属性,将共识引擎系统按照模块的功能,拆分为不同的小型服务,分别部署到微服务轻量级容器中,通过不同服务的调用,完成区块共识。

具体而言,以pow共识算法为例,通过对流程图的描述,详细说明节点群在共识引擎中加载pow算法,进行事务共识的过程。

步骤如图2所示:

1)共识管理模块:pow算法的加载;

pow算法实现了共识接口模块及其子模块的所有方法,节点群当需要使用pow算法进行共识时,各自将其加载到共识管理模块中。

2)共识网络子模块:节点注册;

此时共识网络处于初始化。节点分别将自己信息通过共识管理模块发送给共识网络模块,注册到共识网络中。在共识网络中会定义具体的节点属性,包括普通节点和挖矿节点。

3)事务池子模块:事务池更新;

当节点与其余节点发生一件事务时,通过共识管理模块将事务发送给事务池子模块。事务池子模块接收事务,更新事务池

4)事务池子模块:发送事务,清空事务池;

由于nonce值计算需要时间,事务池子模块预先设置了固定时间,每经过固定时间,触发此操作,打包当前事务池中的事务,发送给共识处理子模块。清空事务池

5)共识处理子模块:接收事务;

当共识处理子模块接收到事务池子模块发送的一系列事务后,通过共识网络进行查询,将事务消息发送给所有的挖矿节点。

6)共识管理模块:进行共识;

当挖矿节点同意挖矿请求后,检验接收到的事务,删除不正常的事务。通过共识管理模块,调用共识处理子模块中的挖矿算法,进行挖矿。

7)共识结果子模块:生成区块;

当某个挖矿节点先算出值时,通过共识管理模块在生成区块模块中生成未经验证的区块。

8)共识结果子模块:验证区块;

共识结果子模块会将第一个挖矿节点生成的区块发送给其它挖矿节点,进行验证和停止其他挖矿节点的操作,若没有异议,达成共识,区块变为已经过验证。

9)共识管理模块:查询事务;

节点通过查询区块链的变化,发现自己的事务已经被记录在共识结果模块中,标志着事务的成功发生。

图3为本发明的系统组成示意图,由图3所示,本发明包含共识节点、共识管理模块、共识接口模块三方面,其中,

共识引擎作为区块链服务平台的重要功能组件,根据需求加载不同的共识算法,供用户根据业务场景自由选择。

共识引擎包括共识节点群(节点1,节点2……节点n)、共识管理模块、共识接口模块。共识引擎的功能有共识网络状态实时更新、事务保存和共识、事务上链。

区块链共识节点1到n:是使用共识引擎的主体,当节点需要引擎提供特定的共识服务时,会将自身的ip地址,身份信息通过共识管理模块注册,此时,节点成为当前加载的共识算法中共识网络的一部分,之后通过共识管理模块与共识算法进行交互。

共识管理模块(consensusmanager)是共识节点与共识接口模块进行交互的模块。由共识管理模块定义统一的节点与共识算法交互的方法。并通过调用在共识管理模块中载入的不同共识算法,完成具体的方法,共识节点不直接操作共识接口模块及其子模块,而是通过共识管理模块进行管理。共识管理模块中的方法定义了统一的操作。共识管理模块的方法包括:

1.共识算法加载:实现共识接口模块的共识算法,当共识节点群有需求时,调用的共识算法会被加载到共识管理模块中,由共识管理模块的方法进行操作。

2.共识算法的去加载:对已加载共识算法的解除。

3.管理共识算法的方法以及对节点提供api:包括节点注册、发送事务、获取共识操作、共识结果验证、以及各种事务的查询等。通过这些方法,调用共识接口模块中的方法。

共识接口模块(consensusdriver)将抽象的共识接口与具体的共识实现过程相分离的模块,是共识引擎的核心模块,根据区块链中涉及共识的各部分功能不同,将共识接口模块划分为四个子模块:共识网络模块(consensusnetwork),事务池模块(transactionpool),共识处理模块(consensusprotocol)和共识结果模块(consensusoutcome),其中,

共识网络子模块是管理区块链中节点组网的模块。包含当前共识网络中的节点数量及根据共识算法定义的各节点身份属性及其对应功能。共识网络模块中的方法包括:

1.共识网络中节点的增加、删除以及节点属性的变化。具体的节点身份属性和对应功能实现由共识算法的属性决定,例如:在pow算法中有固定的可变的挖矿节点,在收到事务时进行竞争挖矿解谜。dpos算法有轮换的委托人节点。负责对共识的事务进行验证。

2.共识网络初始化。当联盟链(或者测试的私有链)中的节点群想搭建自己的共识网络时,可以通过共识管理模块选择将共识网络初始化,创建新的共识网络。

3.对共识接口模块开放对外接口,通过共识接口、共识处理子模块可以对共识网络子模块中的节点进行操作:包括但不限于:

(1)节点通过共识管理模块,调用共识接口模块将节点自身信息注册到共识网络中。

(2)在共识处理阶段调用共识网络子模块中的节点信息。

(3)节点通过共识管理模块,调用共识接口模块,查询当前共识网络的状态和各节点属性等。

事务池子模块是管理当前区块链系统中待完成共识事务的模块。包含当期系统中待处理的事务。事务池模块中的方法包括:

1.将事务添加到事务池中的操作;

2.事务池初始化;

3.设定触发条件,将事务池中的事务打包,发送给共识处理模块。具体的触发条件由各个共识算法自行确定。例如pow算法中,由于nonce值计算需要时间,可以设置固定时间打包当前事务池中的事务发送。而在基于投票的共识算法如pbft算法中,可以当事务池中有固定数量的事务时发送给共识处理模块。发送后对事务池初始化,清空当前事务池。

4.对共识接口模块开发api接口,通过共识接口模块对事务池进行操作。包括但不限于:

(1)当节点间发生事务时,通过共识管理模块,调用共识接口模块将事务添加到事务池中。

(2)节点通过共识管理模块,调用共识接口模块,查询当前事务池中的事务以及其他信息,例如剩余待打包时间等。

共识处理子模块是对未处理事务进行共识的模块。是共识接口模块中的核心部分。共识处理子模块的实现包含具体的共识步骤。共识处理模块包括:

1.共识过程的触发:由检测到事务池模块发送过来的事务触发共识过程。

2.共识的方法。由不同的共识算法定义具体的共识操作过程。包括:

(1)从共识网络子模块获取共识网络中节点的属性。

(2)将事务发送给负责的节点。定义不同属性节点需要进行的操作方法。节点收到消息后进行相应共识算法的操作。

以pow算法为例,当共识处理子模块收到事务时,通过共识网络子模块获取挖矿节点,将事务发送给挖矿节点,挖矿节点调用共识处理子模块中定义的挖矿规则进行事务的检验,以及nonce值的计算。

以pbft算法为例,共识处理子模块定义了共识各阶段及需要的消息格式,当共识处理子模块收到事务时,通过共识网络子模块查询节点信息,将消息按照各阶段的次序依次进行发送:先发送request消息给主节点,等待主节点的响应,若主节点响应,再给各副节点依次发送pre-prepare消息,若网络中不超过允许的拜占庭节点数,共识过程就会按步骤进行消息交互直到达成共识。

共识结果子模块是管理共识结果的模块。包含当前系统中已完成共识的事务。共识引擎只负责对需要进行共识的事务完成共识,至于完成共识后将区块添加到区块链的操作不包含在共识引擎中。共识结果子模块包括:

1.定义当前共识算法下区块的标准格式

2.定义生成共识结果的方法:生成标准格式下的区块,里面包含了此轮共识过程所完成的一系列事务。如果是采用基于验证的共识算法,方法中应包括相应节点的验证环节。

3.对共识接口模块提供一系列对外接口,包括但不限于:

(1)当对打包的事务完成共识时后,负责节点会通过共识管理模块,调用共识接口模块中的方法,生成共识结果。

(2)节点通过共识管理模块,调用共识接口模块,查询共识结果模块中的相关事务。

共识接口模块以及它的子模块都是以抽象接口的方式存在,具体的共识算法实现共识接口模块及其子模块,如图4所示为pow算法实现共识接口模块示意图。由实现四个子模块的类作为实现共识接口模块的共识算法的成员。如图二所示。从发起请求的节点看,该模块能够屏蔽共识算法内部的实现过程。第三方应用可以通过实现共识接口模块中的所有模块,提供自己的共识算法给共识节点调用。共识接口模块中的方法,包括:

1.共识接口模块中各子模块的载入。

2.对各子模块中内容的更改。通过调用子模块的api进行更改。例如当新的共识节点注册时,先通过共识管理模块,调用共识接口模块中的添加新节点方法。此方法会调用共识网络子模块中的添加新节点,将参数传递给共识网络子模块,对共识网络子模块进行更新。

3.提供对外的接口,节点可由共识管理模块对共识接口模块进行调用。对共识接口模块里内容进行更改,以及返回当前共识算法各子模块的实时信息。

本专利运用微服务的架构模式,将共识引擎拆分为不同的小型服务。如图5所示,将已经实现了完整共识接口模块的常用共识算法模块,部署到不同的微服务轻量级容器中,将共识管理模块单独划分成一个小型服务。共识节点通过共识管理模块,既可以简单地加入到已有的共识算法及其网络中,由此共识算法提供服务,也可以实现新的共识算法直接加载到共识管理模块中。

本发明是一个独立的适用于共识场景的通用区块链共识引擎。当不同场景的节点群有不同需求时,通过该共识引擎,可以加载相适应的共识算法,提供共识服务。该共识引擎有较强的适用性,应用于有共识需求的各种区块链中,具有维护性高,扩展性强,简化管理和操作等特点,通过本发明中的共识引擎,保证共识过程能够按照图6所示的统一流程运行。不同的客户端可以根据需求调用适合的共识算法,对事务达成一致。

在本专利中,共识接口模块中的“接口”是指狭义上的接口:在程序语言中定义为一种名为interface的结构体。在结构体中只定义一系列抽象的方法,具体实现由对应接口的类提供的方法完成。接口不变,系统的上层模块就不发生变化,增加了模块的可插拔性、维护性和可扩展性。

在本专利共识引擎中,节点即是待共识的事务的请求者,又作为共识网络的成员,直接或间接参与到共识过程中。具体实现因共识算法而异:例如在pow算法中,节点成为挖矿节点时,才进行共识,普通节点仅可以在共识完成后进行验证。而在pbft算法中,所有节点都直接参与到共识过程中。本专利在共识引擎的总体设计上,统一将节点命名为共识节点。

在本专利中,提到的api(applicationprogramminginterface)是指广义上的接口。是应用程序与模块、模块与模块之间相互沟通的方式。各模块中的功能实现后,对外屏蔽实现方式,只公开调用它们的方式,即是api,也是本专利中提到的各模块对外接口。从外部看,应用程序、各模块间并不需要关心模块内部的实现原理,降低了模块间的耦合性。

为了实现上述实施例,本申请还提出一种区块链共识处理流程方法,包括以下步骤:

步骤101,共识节点群中的节点需要使用算法进行共识时,将共识算法加载到共识管理模块中;

步骤102,共识管理模块获取节点的信息,并将节点信息注册到共识网络模块中;

步骤103,事务池模块用于储存事务,在所储存的事务满足触发条件时,将事务发送给共识处理模块,并清空当前事务池中的事务;

步骤104,共识处理模块,接收事务后,根据自身共识算法的共识过程,首先调用共识网络模块中的节点信息,将事务发送给相关节点,之后按照定义的流程,请求相关节点进行相应的共识操作,完成共识后调用共识结果模块,将事务打包,生成新的区块;

步骤105,相关节点通过查询区块链的变化,在事务已经被记录在共识结果模块中时,标志事务的成功发生。

进一步地,在本申请实施例中,将节点信息注册到共识网络模块中,或者,加入当前模块已有的共识网络中,或者,和协商好的联盟节点初始化新的共识网络,重新搭建联盟链共识网络。

进一步地,在本申请实施例中,共识节点群中的节点之间发生事务时,通过共识管理模块将事务发送至事务池模块。

进一步地,在本申请实施例中,请求相关节点进行相应的共识操作,具体过程包括:

相关节点接收到共识请求后,检验接收到的事务并删除事务中不正常的部分,之后通过共识管理模块调用共识处理模块中的方法,进行共识。

进一步地,在本申请实施例中,运用微服务的架构模式,将共识引擎系统按照模块的功能,拆分为不同的小型服务,分别部署到微服务轻量级容器中,通过不同服务的调用,完成区块共识。

为了实现上述实施例,本发明还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述实施例所述的方法。

为了实现上述实施例,本发明还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例的方法。

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

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

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

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

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

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

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

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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