基于交易分组的区块链的验证方法以及系统与流程

文档序号:13640907阅读:389来源:国知局

本发明关于数据处理技术领域,特别是关于区块链应用系统的访问技术,具体的讲是一种基于交易分组的区块链的验证方法、基于交易分组的区块链的验证系统、计算机设备以及计算机可读存储介质。



背景技术:

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

在现有技术的区块链应用开发中,节点对区块同步的效率一直是限制业务速度的一大瓶颈。区块链采用块存储交易信息,块之间每个块内的多个交易保存时拥有严格的顺序,且同时保存有交易执行前的初始状态和执行后的最终状态标识。所有参与共识的节点在接收到块之后,需要对块内存储的交易进行格式校验,并严格按照顺序执行交易,并在全部交易执行后和块的最终状态对对比是否一致。由于后一个交易执行的数据初始状态依赖于前一个交易执行的结果,改变交易顺序可能会导致结果完全不一致,所以现有技术的交易执行过程是一个串行过程,效率低下且无法通过扩展机器硬件增加线程来解决,节点对整个区块链的验证和同步速度受到限制。

因此,如何提供一种新的方案,其能够解决上述技术问题是本领域亟待解决的技术难题。



技术实现要素:

有鉴于此,本发明提供了一种基于交易分组的区块链的验证方法、基于交易分组的区块链的验证系统、计算机设备以及计算机可读存储介质,通过在区块生成时对交易涉及到的外部账户和合约账户进行标注,能够使参与共识的节点根据交易涉及到的账户对交易进行分组,然后对各分组分别启动线程并发对块内交易进行执行和结果验证,从而能通过扩展系统硬件的手段提升验证及同步块的速度,最终能大幅度提升区块链交易网络的整体性能。

为了实现上述目的,本发明提供了一种基于交易分组的区块链的验证方法,所述方法包括:

区块生成节点根据交易的执行结果在区块的每个交易中增加交易涉及的额外账户的标识;

交易发送节点广播所述交易的信息;

区块生成节点在收到所述交易发送节点广播的所述交易的信息后,顺序执行所述交易、获取交易结果,并将区块广播;

共识节点接收所述区块,按照所述区块中交易的涉及账户信息将所述交易进行分组,启动多线程对各组进行并行的交易执行,记录区块的最终状态;

将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。

在本发明的优选实施方式中,所述额外账户包括外部账户和合约账户,所述交易的信息包括交易的输入、交易的目标账户、交易的计数器、交易的消耗以及交易的签名,所述交易的涉及账户包括交易发起节点账户、交易接收节点账户以及交易的额外账户的列表中的节点。

在本发明的优选实施方式中,所述区块生成节点获取交易结果后,所述方法还包括:

所述区块生成节点记录每个交易在当前区块的次序、交易输入、交易涉及的额外账户的列表。

在本发明的优选实施方式中,共识节点接收所述区块后,所述方法还包括:

所述共识节点验证所述交易的格式是否合法,当所述交易的格式合法后,执行按照所述区块中交易的涉及账户信息将所述交易进行分组的步骤。

在本发明的优选实施方式中,按照所述区块中交易的涉及账户信息将所述交易进行分组,启动多线程对各组进行并行的交易执行包括:

根据所述节点的配置参数,初始化多个队列,启动多个线程取出交易开始分别处理,每个线程单独记录当前处理后的区块最终状态,若交易执行中涉及到交易发起方,交易接收方、额外账户的列表中的其他账户,则停止计算所述区块,并标记所述待验证区块为验证不通过;

按照各个交易的涉及账户列表,对所述待验证区块内的所有交易进行分组,确保分组结束后各个分组内的交易涉及的账户互相独立,即每个账户只出现在一个分组内的一个或多个交易中,在每个分组完成后立即取出该分组内的交易,选择当前所有线程队列中队列内待处理交易最少的一个,将取出的交易推送到该线程队列中进行处理;

当所有交易均分组完毕并在多个线程队列中执行结束后,将各个线程队列中交易执行后的账户状态进行整合,将所有线程队列的最终账户状态组合为区块的最终状态。

本发明的目的之一是,提供了一种基于交易分组的区块链的验证系统,所述系统包括:

标识增加装置,用于根据交易的执行结果在区块的每个交易中增加交易涉及的额外账户的标识;

信息广播装置,用于广播所述交易的信息;

交易执行装置,用于在收到所述交易的信息后,顺序执行所述交易、获取交易结果,并将区块广播;

交易分组装置,用于接收所述区块,按照所述区块中交易的涉及账户信息将所述交易进行分组,启动多线程对各组进行并行的交易执行,记录区块的最终状态;

状态验证装置,用于将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。

在本发明的优选实施方式中,所述额外账户包括外部账户和合约账户,所述交易的信息包括交易的输入、交易的目标账户、交易的计数器、交易的消耗以及交易的签名,所述交易的涉及账户包括交易发起节点账户、交易接收节点账户以及交易的额外账户的列表中的节点。

在本发明的优选实施方式中,所述交易执行装置在获取交易结果后还用于记录每个交易在当前区块的次序、交易输入、交易涉及的额外账户的列表。

在本发明的优选实施方式中,所述交易分组装置在接收所述区块后还用于:验证所述交易的格式是否合法,当所述交易的格式合法后,按照所述区块中交易的涉及账户信息将所述交易进行分组。

在本发明的优选实施方式中,交易分组装置按照所述区块中交易的涉及账户信息将所述交易进行分组,启动多线程对各组进行并行的交易执行包括:

根据所述节点的配置参数,初始化多个队列,启动多个线程取出交易开始分别处理,每个线程单独记录当前处理后的区块最终状态,若交易执行中涉及到交易发起方,交易接收方、额外账户的列表中的其他账户,则停止计算所述区块,并标记所述待验证区块为验证不通过;

按照各个交易的涉及账户列表,对所述待验证区块内的所有交易进行分组,确保分组结束后各个分组内的交易涉及的账户互相独立,即每个账户只出现在一个分组内的一个或多个交易中,在每个分组完成后立即取出该分组内的交易,选择当前所有线程队列中队列内待处理交易最少的一个,将取出的交易推送到该线程队列中进行处理;

当所有交易均分组完毕并在多个线程队列中执行结束后,将各个线程队列中交易执行后的账户状态进行整合,将所有线程队列的最终账户状态组合为区块的最终状态。

本发明的目的之一是,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种基于交易分组的区块链的验证方法。

本发明的目的之一是,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行一种基于交易分组的区块链的验证方法。

本发明的有益效果在于,提供了一种基于交易分组的区块链的验证方法、基于交易分组的区块链的验证系统、计算机设备以及计算机可读存储介质,通过在区块生成时对交易涉及到的外部账户和合约账户进行标注,能够使参与共识的节点根据交易涉及到的账户对交易进行分组,然后对各分组分别启动线程并发对块内交易进行执行和结果验证,从而能通过扩展系统硬件的手段提升验证及同步块的速度,最终能大幅度提升区块链交易网络的整体性能。

为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。

附图说明

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

图1为本发明实施例提供的一种基于交易分组的区块链的验证系统的结构示意图;

图2为本发明实施例提供的一种基于交易分组的区块链的验证方法的流程图;

图3为图2中的步骤s104的具体流程示意图。

具体实施方式

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

本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、方法或计算机程序产品。因此,本发明公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

首先介绍本发明涉及的术语。

区块链系统:一种基于分布式账本的去中心化交易系统。

共识:区块链系统中,各分布式节点约定的一套规则,规定由一个挖矿节点将当前系统中的交易打包到一个块中然后广播,其他节点接受到块对块中的交易进行验证确定块的有效性。

现有技术中的区块链采用区块进行交易存储,每个区块内的多个交易保存时拥有严格的顺序,且同时保存有交易执行前的初始状态和执行后的最终状态。所有参与共识的节点在接收到区块之后,需要对区块内存储的交易进行格式校验,并严格按照顺序执行交易,并在全部交易执行后和块的最终状态对对比是否一致。由于后一个交易执行的数据初始状态依赖于前一个交易执行的结果,涉及同一账户的多个交易改变顺序可能会导致结果完全不一致,所以目前交易执行过程是一个串行过程。发明人发现,虽然交易顺序可能影响交易结果,但是并非所有的交易都会互相影响,如果两个交易分别涉及不同的账户则不会互相影响,我们可以将所有的交易分散到不同的组中,各个组的交易涉及到的账户各不相同,如此各个组的交易即可以使用多线程同步的并行执行。

由于区块链上的交易可能执行智能合约的逻辑并根据执行结果再次调用不同账号,所以交易会涉及到哪些账号必须在交易执行一遍才能确定,而在区块链生成块信息时,生成块的节点实际上已经完成了一次全部交易的执行,并知道此交易涉及到的全部账号,生成块的节点可以将此信息一并发送给其他节点,方便其他节点进行分组。

本发明的主要原理是在生成区块信息的时候,将每个交易涉及到的账户作为交易的一个属性打包到块中,然后将块广播。在共识节点接收到区块之后,首先根据自己的计算性能规划多个组用来分别启动线程计算,然后按照块中各交易涉及的账号将所有交易平均散步到各组中,然后启动多线程对各组进行并行的交易执行,期间如果有交易涉及到了属性中涉及账户列表以外的账户,则拒绝交易;因为各组对应不同的账户,分组执行后很容易将各组的结果整合为一个总的交易后状态,并于块中记录的交易后状态进行对比验证。

由于共识节点对块内所有交易的执行、验证是并行进行的,效率对比原有的串行执行效率能大幅提高。

具体的,本发明提供一种基于交易分组的区块链的验证系统,图1为本发明实施例提供的一种基于交易分组的区块链的验证系统的结构示意图,请参阅图1,本发明提供的数据同步系统包括:

标识增加装置201,用于根据交易的执行结果在区块的每个交易中增加交易涉及的额外账户的标识。

在本发明中,所述额外账户包括外部账户和合约账户。标识增加装置201可由区块生成节点实现。

本发明需要在区块中的每个交易增加交易涉及到的除发送账户和接收账户的额外账户的标识,额外账户包括外部账户和合约账户,该信息并不由交易发起人添加,而由生成区块的节点即区块生成节点根据交易执行的结果添加到用于广播的块中。

在具体的实施方式中,交易额外账户属性应该是一个列表,其可以为空,也可以根据交易执行过程中调用或者是新建的其他账户进行扩展,交易涉及的账户集是交易涉及额外账户列表与交易的发起账户和交易的接受账户的集合。

信息广播装置202,用于广播所述交易的信息。所述交易的信息包括交易的输入、交易的目标账户、交易的计数器、交易的消耗以及交易的签名。此部分与现行模式保持不变。信息广播装置202可通过交易发送节点实现。

交易执行装置203,用于在收到所述交易的信息后,顺序执行所述交易、获取交易结果,并将区块广播。交易执行装置203可通过区块生成节点来实现。

在本发明的另一种实施方式中,所述区块生成节点获取交易结果后,还包括:

所述区块生成节点记录每个交易在当前区块的次序、交易输入、交易涉及的额外账户的列表。

所述区块生成节点还将交易执行时调用的其他账户或者新建的新账户添加入该列表中。

交易分组装置204,用于接收所述区块,按照所述区块中交易的涉及账户信息将所述交易进行分组,启动多线程对各组进行并行的交易执行,记录区块的最终状态。交易分组装置204可通过共识节点来实现。

所述交易的涉及账户包括交易发起节点账户、交易接收节点账户以及交易的额外账户的列表中的节点。

在本发明的另一种实施方式中,共识节点接收所述区块后,还包括:

所述共识节点验证所述交易的格式是否合法,当所述交易的格式合法后,执行按照所述区块中交易的涉及账户信息将所述交易进行分组。

状态验证装置205,用于将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过

在本发明的另一种实施方式中,该系统还包括将区块验证结果返回的装置。

在本发明的一种实施方式中,交易分组装置204用于执行以下操作:

根据所述节点的配置参数,初始化多个队列,启动多个线程取出交易开始分别处理,每个线程单独记录当前处理后的区块最终状态,若交易执行中涉及到交易发起方,交易接收方、额外账户的列表中的其他账户,则停止计算所述区块,并标记所述待验证区块为验证不通过;

按照各个交易的涉及账户列表,对所述待验证区块内的所有交易进行分组,确保分组结束后各个分组内的交易涉及的账户互相独立,即每个账户只出现在一个分组内的一个或多个交易中,在每个分组完成后立即取出该分组内的交易,选择当前所有线程队列中队列内待处理交易最少的一个,将取出的交易推送到该线程队列中进行处理。

当所有交易均分组完毕并在多个线程队列中执行结束后,将各个线程队列中交易执行后的账户状态进行整合,将所有线程队列的最终账户状态组合为区块的最终状态。

上述交易分组的过程可以通过并查集算法解决,一个简单的算法举例解释如下:

1将所有的待处理交易标记为未处理;

2初始化一个交易集合和一个账户集合,取一个标记为未处理的交易,将交易放入交易集合内,将交易涉及账户列表中的账户(包括发起账户,接受账户,额外相关账户)放入账户集合内,并将该交易标记为已处理;遍历所有的标记为待处理的交易,此过程中如果有交易涉及账户列表的账户在账户集合中,则将当前处理交易放入交易集合内,将交易涉及账户列表中的账户放入账户集合内;持续该遍历交易的动作直到遍历整个未处理交易后,交易集合和账户集合没有变化,此时交易集合内的交易所涉及的所有账户都已不会再未处理的交易中出现,当前交易集合内的交易即可输出为一个交易分组;

3重复步骤2,直到整个交易列表中的所有交易都被标记为已处理,此时所有交易都被分组完毕。

如上所述即为本发明提供的一种基于交易分组的区块链的验证系统,通过在块生成时对交易涉及到的外部账户和合约账户进行标注,能够使参与共识的节点根据交易涉及到的账户对交易进行分组,然后对各分组分别启动线程并发对块内交易进行执行和结果验证,从而能通过扩展系统硬件的手段提升验证及同步块的速度,最终能大幅度提升区块链交易网络的整体性能。

此外,尽管在上文详细描述中提及了系统的若干单元模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。以上所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

在介绍了本发明示例性实施方式的验证系统之后,接下来,参考附图对本发明示例性实施方式的方法进行介绍。该方法的实施可以参见上述整体的实施,重复之处不再赘述。

图2为本发明实施例提供的一种基于交易分组的区块链的验证方法的流程图,请参阅图2,该方法包括:

s101:区块生成节点根据交易的执行结果在区块的每个交易中增加交易涉及的额外账户的标识。

在本发明中,所述额外账户包括外部账户和合约账户。

本发明需要在区块中的每个交易增加交易涉及到的除发送账户和接收账户的额外账户的标识,额外账户包括外部账户和合约账户,该信息并不由交易发起人添加,而由生成区块的节点即区块生成节点根据交易执行的结果添加到用于广播的块中。

在具体的实施方式中,交易额外账户属性应该是一个列表,其可以为空,也可以根据交易执行过程中调用或者是新建的其他账户进行扩展,交易涉及的账户集是交易涉及额外账户列表与交易的发起账户和交易的接受账户的集合。

s102:交易发送节点广播所述交易的信息。所述交易的信息包括交易的输入、交易的目标账户、交易的计数器、交易的消耗以及交易的签名。此部分与现行模式保持不变。

s103:区块生成节点在收到所述交易发送节点广播的所述交易的信息后,顺序执行所述交易、获取交易结果,并将区块广播。

在本发明的另一种实施方式中,所述区块生成节点获取交易结果后,所述方法还包括:

所述区块生成节点记录每个交易在当前区块的次序、交易输入、交易涉及的额外账户的列表。

所述区块生成节点还将交易执行时调用的其他账户或者新建的新账户添加入该列表中。

s104:共识节点接收所述区块,按照所述区块中交易的涉及账户信息将所述交易进行分组,启动多线程对各组进行并行的交易执行,记录区块的最终状态。

所述交易的涉及账户包括交易发起节点账户、交易接收节点账户以及交易的额外账户的列表中的节点。

在本发明的另一种实施方式中,共识节点接收所述区块后,步骤s104还包括:

所述共识节点验证所述交易的格式是否合法,当所述交易的格式合法后,执行按照所述区块中交易的涉及账户信息将所述交易进行分组的步骤。

s105:将所述区块的最终状态与区块中记录的交易后状态进行对比验证,当所述区块的最终状态与区块中记录的交易后状态一致时,则所述区块验证通过。

在本发明的另一种实施方式中,该方法还包括将区块验证结果返回。

图3为图2中的步骤s104的具体流程示意图,在本发明的一种实施方式中,所述步骤s104包括:

s201:根据所述节点的配置参数,初始化多个队列,启动多个线程取出交易开始分别处理,每个线程单独记录当前处理后的区块最终状态,若交易执行中涉及到交易发起方,交易接收方、额外账户的列表中的其他账户,则停止计算所述区块,并标记所述待验证区块为验证不通过;

s202:按照各个交易的涉及账户列表,对所述待验证区块内的所有交易进行分组,确保分组结束后各个分组内的交易涉及的账户互相独立,即每个账户只出现在一个分组内的一个或多个交易中,在每个分组完成后立即取出该分组内的交易,选择当前所有线程队列中队列内待处理交易最少的一个,将取出的交易推送到该线程队列中进行处理。

s203:当所有交易均分组完毕并在多个线程队列中执行结束后,将各个线程队列中交易执行后的账户状态进行整合,将所有线程队列的最终账户状态组合为区块的最终状态。

上述交易分组的过程可以通过并查集算法解决,一个简单的算法举例解释如下:

1将所有的待处理交易标记为未处理;

2初始化一个交易集合和一个账户集合,取一个标记为未处理的交易,将交易放入交易集合内,将交易涉及账户列表中的账户(包括发起账户,接受账户,额外相关账户)放入账户集合内,并将该交易标记为已处理;遍历所有的标记为待处理的交易,此过程中如果有交易涉及账户列表的账户在账户集合中,则将当前处理交易放入交易集合内,将交易涉及账户列表中的账户放入账户集合内;持续该遍历交易的动作直到遍历整个未处理交易后,交易集合和账户集合没有变化,此时交易集合内的交易所涉及的所有账户都已不会再未处理的交易中出现,当前交易集合内的交易即可输出为一个交易分组;

3重复步骤2,直到整个交易列表中的所有交易都被标记为已处理,此时所有交易都被分组完毕。

如上所述即为本发明提供的一种基于交易分组的区块链的验证方法,根据区块链的共识机制,区块链的分布式网络上,各个节点将自己发出的交易广播,而共识选择出的块打包节点(也称挖矿节点)收集网络上的交易,按自己选定的顺序执行交易,并将交易和交易执行的结果打包成一个区块,并广播这个区块,由其他节点验证此区块是否有效时需要验证区块中包含的交易执行结果是否与块中保存数据一致。

因为多个交易涉及的账户可能会有交叉,交易执行的顺序必须按照严格的既定顺序执行,因此验证节点在验证交易时必须串行执行交易。因为验证节点执行交易时必须按照交易的顺序串行执行,故只能单线程执行,无法通过增加程序的线程提高执行效率,本发明通过在块生成时对交易涉及到的外部账户和合约账户进行标注,能够使参与共识的节点根据交易涉及到的账户对交易进行分组,然后对各分组分别启动线程并发对块内交易进行执行和结果验证,从而能通过扩展系统硬件的手段提升验证及同步块的速度,最终能大幅度提升区块链交易网络的整体性能。

本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种基于交易分组的区块链的验证方法。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行一种基于交易分组的区块链的验证方法。

本发明的关键点和欲保护点在于:

1、区块生成节点在生成块的时候,已经进行了交易执行。本发明即利用这次交易执行将各交易执行时调用过的账户记入在区块中,以方便验证节点进行交易分组;

2、验证节点需要按照交易涉及的账户对交易进行分组,以便于展开多个线程并行处理交易

3、在多线程处理完之后多个状态按照各自处理的不同账户进行状态合并并与块中最终状态进行对比。

本发明技术方案带来的有益效果包括:

1、本发明提供的方案,将区块链交易网络中影响性能的处理步骤――“区块的验证及同步”性能大幅提高。

2、使用本方案将交易中涉及账户不关联的交易分到不同组,保证交易并行执行的结果也串行执行结果一致。

3、使用本方案进行区块的验证及同步,其速度不再受限于区块内交易数量的多少,在增加硬件性能后使用多线程并行处理交易使得区块和交易验证使用的时间大幅度减少。

对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(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)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。

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

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持系统或便携式系统、平板型系统、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子系统、网络pc、小型计算机、大型计算机、包括以上任何系统或系统的分布式计算环境等等。

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

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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