探测和切换数据的方法、装置和电子设备与流程

文档序号:12666986阅读:148来源:国知局
探测和切换数据的方法、装置和电子设备与流程

本发明涉及比特币挖掘技术,尤其是一种探测和切换数据的方法、装置和电子设备。



背景技术:

P2P对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。P2P电子货币系统为一种采用工作量证明机制的点对点网络来记录交易的公开信息,其数据保存的基本单位为块,每个数据块中保存着很多交易,数据块通过链式结构连接在一起,每个数据块中保存着上一个数据块的Hash,当矿池在计算数据块的时候,当发现难度大于网络难度,需要将新的数据块快速的广播到P2P网络中,使整个网络能够在你的新块的基础上计算下一个。

然而,在实现本发明的过程中,发明人发现,现有技术至少存在以下问题:如果矿池在新数据库块工作的切换上存在延迟,延迟的这个时间段内产生的数据块将有很大的概率被孤立,因为其他矿池已经在更快的更新到新数据块工作,而延迟产生的数据块将比其他最新数据块晚,从而在很大概率上得不到其他矿池的确认。



技术实现要素:

本发明实施例所要解决的一个技术问题是:为了克服矿池因不能及时获取最新计算数据而产生数据孤块的问题。

本发明实施例提供的一种探测和切换数据的方法,包括:

响应于当前矿池获取计算数据的请求,分别从至少一个其他矿池和数字货币客户端获取多组计算数据,并对所述获取的多组计算数据进行比对,得到最新计算数据;

基于所述得到的最新计算数据生成新的工作数据,并将所述新的工作数据发送给与所述当前矿池连接的所有矿机。

基于上述方法的另一实施例中,所述从其他矿池获取计算数据,包括:

监测其他矿池的工作状态,并获取其他矿池当前计算的工作数据;

基于所述获取的工作数据转换得到对应所述其他矿池的计算数据。

基于上述方法的另一实施例中,所述从数字货币客户端获取计算数据,包括:

基于比特币去中心化挖矿协议调用数字货币客户端,获取所述数字货币客户端正在处理的计算数据。

基于上述方法的另一实施例中,所述工作数据包括:证明信息、上一个数据块的散列值、版本信息、难度信息、发送时间信息和需计算数据信息。

基于上述方法的另一实施例中,所述计算数据包括:版本信息、上一个数据块的散列值、多个未确认的交易数据块、开始处理时间信息和计算难度信息。

基于上述方法的另一实施例中,所述对所述获取的多组计算数据进行比对,包括:

对所述获取的多组计算数据分别提取对应每组计算数据的版本信息、上一个数据块的散列值、多个未确认的交易数据块和时间信息;

比对不同计算数据对应的时间信息和/或版本信息;

和/或,将一组计算数据中的上一个数据块的散列值与另一组计算数据中的未确认的交易数据块中的散列值进行比对。

基于上述方法的另一实施例中,所述得到最新计算数据,包括:

基于时间信息得到最接近当前时间的时间信息对应的一组计算数据作为最新计算数据;

和/或,基于版本信息得到最新版本信息对应的一组计算数据作为最新计算数据;

和/或,基于散列值得到所有其他计算数据中都不包括的散列值对应的一组计算数据作为最新计算数据。

基于上述方法的另一实施例中,还包括:

所述与当前矿池连接的矿机接收所述新的工作数据,将所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值进行比对;

当所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值不匹配时,停止处理所述当前正在处理的工作数据,开始处理所述新的工作数据。

基于上述方法的另一实施例中,还包括:当所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值匹配时,忽略所述新的工作数据,继续处理所述当前正在处理的工作数据。

基于上述方法的另一实施例中,还包括:

所述与当前矿池连接的所有矿机将结果数据反馈给所述当前矿池;所述结果数据是基于所述新的工作数据或当前处理的工作数据计算得到的。

基于上述方法的另一实施例中,所述将所述新的工作数据发送给与所述当前矿池连接的所有矿机,包括:

响应于与所述当前矿池连接的所有矿机的预估算力,对所述所有矿机按照预估算力由大到小进行排序,按序将所述新的工作数据发送给所述所有矿机。

基于上述方法的另一实施例中,所述矿机的预估算力的获得,包括:

基于所述矿机反馈的结果数据和反馈所述结果数据的时间计算获得对应所述矿机的预估算力。

根据本发明实施例的另一个方面,提供的一种探测和切换数据的装置,包括:

数据获取单元,用于响应于当前矿池获取计算数据的请求,分别从至少一个其他矿池和数字货币客户端获取多组计算数据,并对所述获取的多组计算数据进行比对,得到最新计算数据;

数据发送单元,用于基于所述得到的最新计算数据生成新的工作数据,并将所述新的工作数据发送给与所述当前矿池连接的所有矿机。

根据本发明实施例的另一个方面,提供的一种电子设备,包括处理器,所述处理器包括如上所述的探测和切换数据的的装置。

基于本发明上述实施例提供的探测和切换数据的方法、装置和电子设备,通过从其他矿池和数字货币客户端获取多组计算数据,并判断获取最新计算数据,基于最新计算数据生成新的工作数据发送到矿机中,使矿机能够获取最新的计算数据,因此,在同等算力下,该矿池中的矿机能够最快计算出新的数据块并获得其他矿池的认可,在最大限度上减小了数据孤块的产生,提高了矿机收益。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明探测和切换数据的方法一个实施例的流程图。

图2为本发明探测和切换数据的方法另一个实施例的流程图。

图3为本发明探测和切换数据的方法又一个实施例的流程图。

图4为本发明探测和切换数据的装置一个实施例的结构示意图。

图5为本发明探测和切换数据的装置另一个实施例的结构示意图。

图6为本发明探测和切换数据的装置又一个实施例的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、胖客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络连接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

图1为本发明探测和切换数据的方法一个实施例的流程图。如图1所示,该实施例方法包括:

步骤101,响应于当前矿池获取计算数据的请求,分别从至少一个其他矿池和数字货币客户端获取多组计算数据,并对获取的多组计算数据进行比对,得到最新计算数据。

其中,上述其他矿池包括与当前矿池存在连接关系的矿池,这个连接关系可以是通过协议连接或其他能实现数据通信的连接,在本实施例中,可以通过模拟矿机之间的通信协议的方式实现当前矿池与其他矿池之间的通信,进而获得其他矿池中的计算数据。

步骤102,基于得到的最新计算数据生成新的工作数据,并将新的工作数据发送给与当前矿池连接的所有矿机。

基于本发明上述实施例提供的探测和切换数据的方法,通过从其他矿池和数字货币客户端获取多组计算数据,并判断获取最新计算数据,基于最新计算数据生成新的工作数据发送到矿机中,使矿机能够获取最新的计算数据,因此,在同等算力下,该矿池中的矿机能够最快计算出新的数据块并获得其他矿池的认可,在最大限度上减小了数据孤块的产生,提高了矿机收益。

在本发明上述实施例的一个具体示例中,步骤101中从其他矿池获取计算数据的过程具体可以包括:

监测其他矿池的工作状态,并获取其他矿池当前计算的工作数据;基于获取的工作数据转换得到对应其他矿池的计算数据。

在本示例中,为了保证能实时获取最新的计算数据,对与当前矿池存在连接关系的其他矿机采用监测手段,每当其他矿池接收到或发出新的工作数据,当前矿池都能第一时间了解并获取新的工作数据,保证了当前矿池能及时更新计算数据。

在本发明上述实施例的一个具体示例中,步骤101中从数字货币客户端获取计算数据的过程具体可以包括:

基于比特币去中心化挖矿协议调用数字货币客户端,获取数字货币客户端正在处理的计算数据。

GBT比特币去中心化挖矿协议(getblocktemplate)为的是分布式去中心化挖矿,为的是克服中心化的缺点,实现节点与节点之间的影响,会通过网络而形成非线性因果关系;这种开放式、扁平化、平等性的系统现象或结构称为去中心化;比特币是一种分布式的虚拟货币,整个网络由用户构成,没有中央银行。去中心化是比特币安全与自由的保证。

在本发明上述实施例的一个具体示例中,工作数据可以包括:证明信息、上一个数据块的散列值、版本信息、难度信息、发送时间信息和需计算数据信息。

从其他矿池中可以获得工作数据,而通过对工作数据中的数据进行提取就可以获得计算数据,就可以实现与从数据货币客户端中获取的计算数据进行比对的目的。

在本发明上述实施例的一个具体示例中,计算数据包括:版本信息、上一个数据块的散列值、多个未确认的交易数据块、开始处理时间信息和计算难度信息。

计算数据中包含的数据的信息可以用于判断这个计算数据是否是最新计算数据,如果是最新计算数据,就可以根据多个未确认的交易数据块和计算难度信息等信息生成新的工作信息并由矿池发送到与其相连接的矿机中,由矿机进行计算获得新的数据块。

在本发明上述实施例的一个具体示例中,步骤101中对获取的多组计算数据进行比对得到最新计算数据的过程具体可以包括:

对获取的多组计算数据分别提取对应每组计算数据的版本信息、上一个数据块的散列值、多个未确认的交易数据块和时间信息;

比对不同计算数据对应的时间信息;基于时间信息得到最接近当前时间的时间信息对应的一组计算数据作为最新计算数据。

和/或,比对不同计算数据对应的版本信息;基于版本信息得到最新版本信息对应的一组计算数据作为最新计算数据。

和/或,将一组计算数据中的上一个数据块的散列值与另一组计算数据中的未确认的交易数据块中的散列值进行比对;基于散列值得到所有其他计算数据中都不包括的散列值对应的一组计算数据作为最新计算数据。

上述基于三种信息进行比对的方式可以任意组合或单独使用,都可以达到判断最新计算数据的功能,上述比对方式是有比特币的特殊性决定的。

图2为本发明探测和切换数据的方法另一个实施例的流程图。如图2所示,该实施例方法包括:

步骤101,响应于当前矿池获取计算数据的请求,分别从至少一个其他矿池和数字货币客户端获取多组计算数据,并对获取的多组计算数据进行比对,得到最新计算数据。

步骤102,基于得到的最新计算数据生成新的工作数据,并将新的工作数据发送给与当前矿池连接的所有矿机。

步骤203,与当前矿池连接的矿机接收新的工作数据,并判断新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值是否匹配;如果匹配,执行步骤205;否则,执行步骤204。

步骤204,停止处理当前正在处理的工作数据,开始处理新的工作数据。

步骤205,忽略所述新的工作数据,继续处理所述当前正在处理的工作数据。

在本实施例方法中,与当前矿池连接的矿机获取新的工作数据后,首先将其中的散列值进行比对,以确定接收的新的工作数据和正在处理的工作数据哪个工作数据才是最新的,确定了最新的工作数据才能最快的计算出新的可以被认可的数据块,使矿机的挖矿效率大大提高。

图3为本发明探测和切换数据的方法又一个实施例的流程图。如图3所示,本实施例方法,包括:

步骤101,响应于当前矿池获取计算数据的请求,分别从至少一个其他矿池和数字货币客户端获取多组计算数据,并对获取的多组计算数据进行比对,得到最新计算数据。

步骤102,基于得到的最新计算数据生成新的工作数据,并将新的工作数据发送给与当前矿池连接的所有矿机。

步骤306,与当前矿池连接的所有矿机将结果数据反馈给当前矿池。

其中,结果数据是基于新的工作数据或当前处理的工作数据计算得到的。

在本实施例中,矿机将计算完成的结果数据反馈到当前矿池,当前矿池就可以根据反馈的结果数据对每个矿机的算力进行预估,在算力预估的过程中,可以通过对每个矿机分配一个唯一对应的矿机编号对每个矿机进行识别,每次接收到的结果数据中还包括该矿机编号,此时矿池就可以快速确定结果数据来自哪个矿机,进而确定每个矿机的预估算力,在下次发送工作数据时将基于预估算力进行发送。

在本发明上述实施例的一个具体示例中,步骤102中将新的工作数据发送给与当前矿池连接的所有矿机的过程具体可以包括:

响应于与当前矿池连接的所有矿机的预估算力,对所有矿机按照预估算力由大到小进行排序,按序将新的工作数据发送给所述所有矿机。

在本示例中提出了将新的工作数据发送给矿机的过程,基于预估算力对矿机进行排序,按序将新的工作数据发送到矿机中,此时保证了预估算力大的矿机能够更快的更新到新的计算数据,提升矿池整体性能;但是除了上述排序发送新的计算数据的方式,矿池还可以采用广播的方式将新的工作数据同时发送给所有与其相连的矿机。

在本发明上述实施例的一个具体示例中,矿机的预估算力的获得可以包括:

基于矿机反馈的结果数据和反馈结果数据的时间计算获得对应该矿机的预估算力。

在本示例中,衡量一个矿机算力的标准包括反馈的结果数据的准确性和反馈结果数据的速度;在同样时间的前提下,结果数据越好,说明矿机的算力越大;而在同样的结果数据的前提下,反馈结果的时间越短,说明矿机的算力越大;可以认为矿机的算力大小与结果数据的准确性成正比,与反馈结果的时间成反比。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

图4为本发明探测和切换数据的装置一个实施例的结构示意图。该实施例的装置可用于实现本发明上述各方法实施例。如图4所示,该实施例的装置包括:

数据获取单元1,用于响应于当前矿池获取计算数据的请求,分别从至少一个其他矿池和数字货币客户端获取多组计算数据,并对获取的多组计算数据进行比对,得到最新计算数据。

数据发送单元2,用于基于所述得到的最新计算数据生成新的工作数据,并将新的工作数据发送给与当前矿池连接的所有矿机。

基于本发明上述实施例提供的探测和切换数据的装置,通过从其他矿池和数字货币客户端获取多组计算数据,并判断获取最新计算数据,基于最新计算数据生成新的工作数据发送到矿机中,使矿机能够获取最新的计算数据,因此,在同等算力下,该矿池中的矿机能够最快计算出新的数据块并获得其他矿池的认可,在最大限度上减小了数据孤块的产生,提高了矿机收益。

在本发明上述实施例的一个具体示例中,数据获取单元1可以包括:

监测模块,用于监测其他矿池的工作状态,并获取其他矿池当前计算的工作数据;

转换模块,用于基于获取的工作数据转换得到对应其他矿池的计算数据。

在本发明上述实施例的一个具体示例中,数据获取单元1还可以包括:

调用模块,用于基于比特币去中心化挖矿协议调用数字货币客户端,获取所述数字货币客户端正在处理的计算数据。

在本发明上述实施例的一个具体示例中,工作数据包括:证明信息、上一个数据块的散列值、版本信息、难度信息、发送时间信息和需计算数据信息。

在本发明上述实施例的一个具体示例中,计算数据包括:版本信息、上一个数据块的散列值、多个未确认的交易数据块、开始处理时间信息和计算难度信息。

在本发明上述实施例的一个具体示例中,数据获取单元1还可以包括:

信息获取模块,用于对获取的多组计算数据分别提取对应每组计算数据的版本信息、上一个数据块的散列值、多个未确认的交易数据块和时间信息;

比对模块,用于比对不同计算数据对应的时间信息和/或版本信息;

和/或,将一组计算数据中的上一个数据块的散列值与另一组计算数据中的未确认的交易数据块中的散列值进行比对。

在本发明上述实施例的一个具体示例中,数据获取单元1还可以包括:

比对结果模块,用于基于时间信息得到最接近当前时间的时间信息对应的一组计算数据作为最新计算数据;

和/或,基于版本信息得到最新版本信息对应的一组计算数据作为最新计算数据;

和/或,基于散列值得到所有其他计算数据中都不包括的散列值对应的一组计算数据作为最新计算数据。

图5为本发明探测和切换数据的装置另一个实施例的结构示意图,在上述实施例的基础上,如图5所示,本装置实施例还包括:

矿机比对单元3,用于在与当前矿池连接的矿机接收新的工作数据后,将新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值进行比对。

匹配单元4,用于当新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值不匹配时,停止处理当前正在处理的工作数据,开始处理所述新的工作数据。

在本实施例中,与当前矿池连接的矿机获取新的工作数据后,首先将其中的散列值进行比对,以确定接收的新的工作数据和正在处理的工作数据哪个工作数据才是最新的,确定了最新的工作数据才能最快的计算出新的可以被认可的数据块,使矿机的挖矿效率大大提高。

在本发明上述实施例的一个具体示例中,还可以包括:不匹配单元5,用于当新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值匹配时,忽略新的工作数据,继续处理当前正在处理的工作数据。

图6为本发明探测和切换数据的装置又一个实施例的结构示意图。在上述实施例的基础上,该实施例装置还包括:

结果反馈单元6,用于控制与当前矿池连接的所有矿机将结果数据反馈给当前矿池。

其中,结果数据是基于所述新的工作数据或当前处理的工作数据计算得到的。

在本实施例中,矿机将计算完成的结果数据反馈到当前矿池,当前矿池就可以根据反馈的结果数据对每个矿机的算力进行预估,在算力预估的过程中,可以通过对每个矿机分配一个唯一对应的矿机编号对每个矿机进行识别,以每次接收到的结果数据中还包括该矿机编号,此时矿池就可以快速确定结果数据来自哪个矿机,进而确定每个矿机的预估算力,在下次发送工作数据时将基于预估算力进行发送。

在本发明上述实施例的一个具体示例中,数据发送单元2包括:

算力预估模块21,用于响应于与当前矿池连接的所有矿机的预估算力;

排序发送模块22,用于对所有矿机按照预估算力由大到小进行排序,按序将新的工作数据发送给所述所有矿机。

在本发明上述实施例的一个具体示例中,算力预估模块21具体用于基于矿机反馈的结果数据和反馈结果数据的时间计算获得对应矿机的预估算力。

本发明实施例的另一个方面,还提供一种电子设备,包括处理器,所述处理器包括上述实施例任意一项的探测和切换数据的的装置。

1、一种探测和切换数据的方法,包括:

响应于当前矿池获取计算数据的请求,分别从至少一个其他矿池和数字货币客户端获取多组计算数据,并对所述获取的多组计算数据进行比对,得到最新计算数据;

基于所述得到的最新计算数据生成新的工作数据,并将所述新的工作数据发送给与所述当前矿池连接的所有矿机。

2、根据1所述的方法,所述从其他矿池获取计算数据,包括:

监测其他矿池的工作状态,并获取其他矿池当前计算的工作数据;

基于所述获取的工作数据转换得到对应所述其他矿池的计算数据。

3、根据1或2所述的方法,所述从数字货币客户端获取计算数据,包括:

基于比特币去中心化挖矿协议调用数字货币客户端,获取所述数字货币客户端正在处理的计算数据。

4、根据2或3所述的方法,所述工作数据包括:证明信息、上一个数据块的散列值、版本信息、难度信息、发送时间信息和需计算数据信息。

5、根据1至4任意一项所述的方法,所述计算数据包括:版本信息、上一个数据块的散列值、多个未确认的交易数据块、开始处理时间信息和计算难度信息。

6、根据5所述的方法,所述对所述获取的多组计算数据进行比对,包括:

对所述获取的多组计算数据分别提取对应每组计算数据的版本信息、上一个数据块的散列值、多个未确认的交易数据块和时间信息;

比对不同计算数据对应的时间信息和/或版本信息;

和/或,将一组计算数据中的上一个数据块的散列值与另一组计算数据中的未确认的交易数据块中的散列值进行比对。

7、根据6所述的方法,所述得到最新计算数据,包括:

基于时间信息得到最接近当前时间的时间信息对应的一组计算数据作为最新计算数据;

和/或,基于版本信息得到最新版本信息对应的一组计算数据作为最新计算数据;

和/或,基于散列值得到所有其他计算数据中都不包括的散列值对应的一组计算数据作为最新计算数据。

8、根据4至7任意一项所述的方法,还包括:

所述与当前矿池连接的矿机接收所述新的工作数据,将所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值进行比对;

当所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值不匹配时,停止处理所述当前正在处理的工作数据,开始处理所述新的工作数据。

9、根据8所述的方法,其特征在于,还包括:当所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值匹配时,忽略所述新的工作数据,继续处理所述当前正在处理的工作数据。

10、根据1至9任意一项所述的方法,还包括:

所述与当前矿池连接的所有矿机将结果数据反馈给所述当前矿池;所述结果数据是基于所述新的工作数据或当前处理的工作数据计算得到的。

11、根据10所述的方法,所述将所述新的工作数据发送给与所述当前矿池连接的所有矿机,包括:

响应于与所述当前矿池连接的所有矿机的预估算力,对所述所有矿机按照预估算力由大到小进行排序,按序将所述新的工作数据发送给所述所有矿机。

12、根据11所述的方法,所述矿机的预估算力的获得,包括:

基于所述矿机反馈的结果数据和反馈所述结果数据的时间计算获得对应所述矿机的预估算力。

13、一种探测和切换数据的装置,包括:

数据获取单元,用于响应于当前矿池获取计算数据的请求,分别从至少一个其他矿池和数字货币客户端获取多组计算数据,并对所述获取的多组计算数据进行比对,得到最新计算数据;

数据发送单元,用于基于所述得到的最新计算数据生成新的工作数据,并将所述新的工作数据发送给与所述当前矿池连接的所有矿机。

14、根据13所述的装置,所述数据获取单元包括:

监测模块,用于监测其他矿池的工作状态,并获取其他矿池当前计算的工作数据;

转换模块,用于基于所述获取的工作数据转换得到对应所述其他矿池的计算数据。

15、根据13或14所述的装置,所述数据获取单元还包括:

调用模块,用于基于比特币去中心化挖矿协议调用数字货币客户端,获取所述数字货币客户端正在处理的计算数据。

16、根据14或15所述的装置,所述工作数据包括:证明信息、上一个数据块的散列值、版本信息、难度信息、发送时间信息和需计算数据信息。

17、根据13至16任意一项所述的装置,所述计算数据包括:版本信息、上一个数据块的散列值、多个未确认的交易数据块、开始处理时间信息和计算难度信息。

18、根据17所述的装置,所述数据获取单元还包括:

信息获取模块,用于对所述获取的多组计算数据分别提取对应每组计算数据的版本信息、上一个数据块的散列值、多个未确认的交易数据块和时间信息;

比对模块,用于比对不同计算数据对应的时间信息和/或版本信息;

和/或,将一组计算数据中的上一个数据块的散列值与另一组计算数据中的未确认的交易数据块中的散列值进行比对。

19、根据18所述的装置,所述数据获取单元还包括:

比对结果模块,用于基于时间信息得到最接近当前时间的时间信息对应的一组计算数据作为最新计算数据;

和/或,基于版本信息得到最新版本信息对应的一组计算数据作为最新计算数据;

和/或,基于散列值得到所有其他计算数据中都不包括的散列值对应的一组计算数据作为最新计算数据。

20、根据16至19任意一项所述的装置,还包括:

矿机比对单元,用于在与当前矿池连接的矿机接收所述新的工作数据后,将所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值进行比对;

匹配单元,用于当所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值不匹配时,停止处理所述当前正在处理的工作数据,开始处理所述新的工作数据。

21、根据20所述的装置,还包括:

不匹配单元,用于当所述新的工作数据中上一个数据块的散列值与当前正在处理的工作数据中的散列值匹配时,忽略所述新的工作数据,继续处理所述当前正在处理的工作数据。

22、根据13至21任意一项所述的装置,还包括:

结果反馈单元,用于控制与当前矿池连接的所有矿机将结果数据反馈给所述当前矿池;所述结果数据是基于所述新的工作数据或当前处理的工作数据计算得到的。

23、根据22所述的装置,所述数据发送单元包括:

算力预估模块,用于响应于与所述当前矿池连接的所有矿机的预估算力;

排序发送模块,用于对所述所有矿机按照预估算力由大到小进行排序,按序将所述新的工作数据发送给所述所有矿机。

24、根据23所述的装置,所述算力预估模块具体用于基于所述矿机反馈的结果数据和反馈所述结果数据的时间计算获得对应所述矿机的预估算力。

25、一种电子设备,包括处理器,所述处理器如13至24任意一项所述的探测和切换数据的的装置。

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

可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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