CN109165123A - 矿机故障的检测方法、检测装置、服务器和存储介质 - Google Patents
矿机故障的检测方法、检测装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN109165123A CN109165123A CN201810869236.7A CN201810869236A CN109165123A CN 109165123 A CN109165123 A CN 109165123A CN 201810869236 A CN201810869236 A CN 201810869236A CN 109165123 A CN109165123 A CN 109165123A
- Authority
- CN
- China
- Prior art keywords
- mine machine
- mine
- failure
- group
- machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种矿机故障的检测方法、检测装置、服务器、终端和存储介质,其中,矿机故障的检测方法包括:向多个矿机发送状态查询信号;接收多个矿机根据状态查询信号反馈的状态值;检测状态值是否与预存状态阈值匹配;在检测到状态值与预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机。通过本发明的技术方案,能够有效提高矿机计算状态的检测速度,从而快速对故障矿机进行有效定位,进而方便工程师进行维护。
Description
技术领域
本发明涉及区块链领域,具体而言,涉及一种矿机故障的检测方法、一种矿机故障的检测装置、一种服务器、一种终端和一种计算机可读存储介质。
背景技术
数字货币的挖矿过程是由矿场的矿机与矿池合作完成。即矿场的矿机加入到矿池中合力进行计算,此时,矿机的状态监测十分重要,在矿池发出一个信号时,如果某个矿场的某个矿机出现故障,导致矿池迟迟收不到信号,则会影响当前的挖掘工作中,进而影响矿池的整体运算能力。
相关技术中,在矿场中通常设置有数百甚至数千台矿机,在某个矿场中的某个矿机出现故障时,如果由矿池或矿场对每一台矿机进行故障监测,那么将占用大量的时间和计算能力,尤其在数字货币价格飞涨的通道中,这种方式将带来重大的资产损失,而不对故障矿机进行监测和定位,矿池也无法合理分配计算任务,从而造成计算资源的浪费。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的目的在于提供一种矿机故障的检测方法、一种矿机故障的检测装置、一种服务器和一种计算机可读存储介质。
为了实现上述目的,本发明的第一方面的技术方案提供了一种矿机故障的检测方法,适用于服务器,包括:向多个矿机发送状态查询信号;接收多个矿机根据状态查询信号反馈的状态值;检测状态值是否与预存状态阈值匹配;在检测到状态值与预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机。
在上述技术方案中,优选地,状态值为默克尔根值,检测状态值是否与预存状态阈值匹配,具体包括以下步骤:检测接收到的默克尔根值的一致信号的数量是否与多个矿机的数量相同;在检测到一致信号的数量与多个矿机的数量不一致时,确定状态值与预存状态阈值不匹配。
在上述任一技术方案中,优选地,还包括:在检测到一致信号的数量与多个矿机的数量一致时,确定状态值与预存状态阈值匹配,以等待继续发送状态查询信号。
在上述任一技术方案中,优选地,在检测到状态值与预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机,具体包括以下步骤:将多个矿机进行二等分或最接近二等分划分,以得到第一组矿机与第二组矿机,第一组矿机与第二组矿机中的数量相同,或第一组矿机与第二组矿机的数量差值为1;对第一组矿机进行状态检测;检测故障矿机是否在第一组矿机中;在检测到故障矿机在第一组矿机中时,确定检测到故障矿机,并将故障矿机上报并结束查询进程;在检测到故障矿机不在第一组矿机中时,对第二组矿机进行反复迭代矿机数量分割,直至检测到故障矿机。
在上述任一技术方案中,优选地,在向多个矿机发送状态查询信号前,还包括:从可信源获取可信默克尔根值,以作为预存状态阈值。
本发明的第二方面的技术方案提供了一种矿机故障的检测方法,适用于矿场矿机,包括:在接收到服务器发送的状态查询信号时,根据状态查询信号生成当前的状态值;将状态值发送至服务器,以由服务器确定矿场矿机是否故障。
在上述技术方案中,优选地,在接收到服务器发送的状态查询信号时,根据状态查询信号生成当前的状态值,具体包括以下步骤:在接收到状态查询信号时,生成默克尔树;根据默克尔树生成区块头的默克尔根值,以将默克尔根值确定为状态值。
具体地,在默克尔树的最底层,把数据分成小的数据块,有相应地哈希和它对应,但是往上走,把相邻的两个哈希合并成一个字符串,然后运算这个字符串的哈希,这样每两个哈希就结婚生子,得到了一个“子哈希”,如果最底层的哈希总数是单数,那到最后必然出现一个单身哈希,这种情况就直接对它进行哈希运算,所以也能得到它的子哈希,于是往上推,依然是一样的方式,可以得到数目更少的新一级哈希,最终必然形成一棵倒挂的树,到了树根的这个位置,这一代就剩下一个根哈希了,我们把它叫做Merkle Root,即默克尔树生成区块头的默克尔根值。
本发明的第三方面的技术方案提供了一种矿机故障的检测装置,适用于服务器,包括:发送单元,用于向多个矿机发送状态查询信号;接收单元,用于接收多个矿机根据状态查询信号反馈的状态值;检测单元,用于检测状态值是否与预存状态阈值匹配;确定单元,用于在检测到状态值与预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机。
在上述技术方案中,优选地,检测单元还用于:检测接收到的默克尔根值的一致信号的数量是否与多个矿机的数量相同;确定单元还用于:在检测到一致信号的数量与多个矿机的数量不一致时,确定状态值与预存状态阈值不匹配。
在上述任一技术方案中,优选地,确定单元还用于:在检测到一致信号的数量与多个矿机的数量一致时,确定状态值与预存状态阈值匹配,以等待继续发送状态查询信号。
在上述任一技术方案中,优选地,还包括:划分单元,用于将多个矿机进行二等分或最接近二等分划分,以得到第一组矿机与第二组矿机,第一组矿机与第二组矿机中的数量相同,或第一组矿机与第二组矿机的数量差值为1;检测单元还用于:对第一组矿机进行状态检测;检测单元还用于:检测故障矿机是否在第一组矿机中;确定单元还用于:在检测到故障矿机在第一组矿机中时,确定检测到故障矿机,并将故障矿机上报并结束查询进程;划分单元还用于:在检测到故障矿机不在第一组矿机中时,对第二组矿机进行反复迭代矿机数量分割,直至检测到故障矿机。
在上述任一技术方案中,优选地,还包括:获取单元,用于从可信源获取可信默克尔根值,以作为预存状态阈值。
本发明的第四方面的技术方案提供了一种矿机故障的检测装置,适用于矿场矿机,包括:生成单元,用于在接收到服务器发送的状态查询信号时,根据状态查询信号生成当前的状态值;发送单元,用于将状态值发送至服务器,以由服务器确定矿场矿机是否故障。
在上述技术方案中,优选地,生成单元还用于:在接收到状态查询信号时,生成默克尔树;生成单元还用于:根据默克尔树生成区块头的默克尔根值,以将默克尔根值确定为状态值。
本发明的第五方面的技术方案提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的第一方面的任一项技术方案的矿机故障的检测方法。
本发明的第六方面的技术方案提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的第二方面的任一项技术方案的矿机故障的检测方法。
本发明的第七方面的技术方案提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的任一项技术方案的矿机故障的检测方法。
上述技术方案实现以下技术效果:
(1)与由工程师逐个检测矿机计算状态的方式相比,能够有效提高矿机计算状态的检测速度,从而快速对故障矿机进行有效定位,进而方便工程师进行维护。
(2)与由工程师逐个检测矿机计算状态的方式相比,能够降低故障矿机造成的资产损失。
(3)有利于矿池合理分配计算任务,进而造成计算资源的合理分配。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的矿机故障的检测方法的示意流程图;
图2示出了根据本发明的另一个实施例的矿机故障的检测方法的示意流程图;
图3示出了根据本发明的一个实施例的矿机故障的检测装置的示意框图;
图4示出了根据本发明的另一个实施例的矿机故障的检测装置的示意框图;
图5示出了根据本发明的一个实施例的矿机布设网络的示意图;
图6示出了根据本发明的再一个实施例的矿机故障的检测方法的示意流程图;
图7示出了根据本发明的再一个实施例的矿机故障的检测装置的示意框图;
图8示出了根据本发明的又一个实施例的矿机故障的检测方法的示意流程图;
图9示出了根据本发明的另一个实施例的矿机布设网络的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
如图1所示,根据本发明的一个实施例的矿机故障的检测方法,适用于服务器,适用于服务器,包括:步骤102,向多个矿机发送状态查询信号;步骤104,接收多个矿机根据状态查询信号反馈的状态值;步骤106,检测状态值是否与预存状态阈值匹配;步骤108,在检测到状态值与预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机。
在该实施例中,通过接收多个矿机根据发送的状态查询信号反馈的状态值,以检测是否与预存状态阈值匹配,进而在检测到不匹配时,根据状态查询算法,确定出现故障的矿机,与由工程师逐个检测矿机计算状态的方式相比,能够有效提高矿机计算状态的检测速度,从而快速对故障矿机进行有效定位,进而方便工程师进行维护。
在上述实施例中,优选地,状态值为默克尔根值,检测状态值是否与预存状态阈值匹配,具体包括以下步骤:检测接收到的默克尔根值的一致信号的数量是否与多个矿机的数量相同;在检测到一致信号的数量与多个矿机的数量不一致时,确定状态值与预存状态阈值不匹配。
在该实施例中,通过检测默克尔根值是否与受信赖的预存的默克尔根值相同,即接收到的默克尔根值一致信号的数量值是否与矿机的数量相同,在检测到不相同时,即表明默克尔树是损坏的或者虚假的,进而表明存在故障矿机,安全性高,并且验证效率高。
在上述任一实施例中,优选地,还包括:在检测到一致信号的数量与多个矿机的数量一致时,确定状态值与预存状态阈值匹配,以等待继续发送状态查询信号。
在上述任一实施例中,优选地,在检测到状态值与预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机,具体包括以下步骤:将多个矿机进行二等分或最接近二等分划分,以得到第一组矿机与第二组矿机,第一组矿机与第二组矿机中的数量相同,或第一组矿机与第二组矿机的数量差值为1;对第一组矿机进行状态检测;检测故障矿机是否在第一组矿机中;在检测到故障矿机在第一组矿机中时,确定检测到故障矿机,并将故障矿机上报并结束查询进程;在检测到故障矿机不在第一组矿机中时,对第二组矿机进行反复迭代矿机数量分割,直至检测到故障矿机。
在该实施例中,通过采用对数递归算法进行矿机的状态查询,以确定问题矿机,与由工程师逐个检测矿机计算状态的方式相比,能够降低故障矿机造成的资产损失。
在上述任一实施例中,优选地,在向多个矿机发送状态查询信号前,还包括:从可信源获取可信默克尔根值,以作为预存状态阈值。
在该实施例中,通过从可信源获取可信默克尔根值,保证了状态检测的可靠性。
如图2所示,根据本发明的另一个实施例的矿机故障的检测方法,适用于矿场矿机,包括:步骤202,在接收到服务器发送的状态查询信号时,根据状态查询信号生成当前的状态值;步骤204,将状态值发送至服务器,以由服务器确定矿场矿机是否故障。
在该实施例中,通过向服务区发送状态值,以由服务器根据状态值确定是否存在故障矿机,与由工程师逐个检测矿机计算状态的方式相比,能够有效提高矿机计算状态的检测速度,从而快速对故障矿机进行有效定位,进而方便工程师进行维护。
在上述实施例中,优选地,在接收到服务器发送的状态查询信号时,根据状态查询信号生成当前的状态值,具体包括以下步骤:在接收到状态查询信号时,生成默克尔树;根据默克尔树生成区块头的默克尔根值,以将默克尔根值确定为状态值。
在该实施例中,通过生成默克尔根值,以检测默克尔根值是否与受信赖的预存的默克尔根值相同,即接收到的默克尔根值一致信号的数量值是否与矿机的数量相同,在检测到不相同时,即表明默克尔树是损坏的或者虚假的,进而表明存在故障矿机,安全性高,并且验证效率高。
具体地,在默克尔树的最底层,把数据分成小的数据块,有相应地哈希和它对应,但是往上走,把相邻的两个哈希合并成一个字符串,然后运算这个字符串的哈希,这样每两个哈希就结婚生子,得到了一个“子哈希”,如果最底层的哈希总数是单数,那到最后必然出现一个单身哈希,这种情况就直接对它进行哈希运算,所以也能得到它的子哈希,于是往上推,依然是一样的方式,可以得到数目更少的新一级哈希,最终必然形成一棵倒挂的树,到了树根的这个位置,这一代就剩下一个根哈希了,我们把它叫做Merkle Root,即默克尔树生成区块头的默克尔根值。
如图3所示,根据本发明的一个实施例的矿机故障的检测装置300,适用于服务器,包括:发送单元302,用于向多个矿机发送状态查询信号;接收单元304,用于接收多个矿机根据状态查询信号反馈的状态值;检测单元306,用于检测状态值是否与预存状态阈值匹配;确定单元308,用于在检测到状态值与预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机。
在该实施例中,通过接收多个矿机根据发送的状态查询信号反馈的状态值,以检测是否与预存状态阈值匹配,进而在检测到不匹配时,根据状态查询算法,确定出现故障的矿机,与由工程师逐个检测矿机计算状态的方式相比,能够有效提高矿机计算状态的检测速度,从而快速对故障矿机进行有效定位,进而方便工程师进行维护。
在上述实施例中,优选地,检测单元306还用于:检测接收到的默克尔根值的一致信号的数量是否与多个矿机的数量相同;确定单元308还用于:在检测到一致信号的数量与多个矿机的数量不一致时,确定状态值与预存状态阈值不匹配。
在该实施例中,通过检测默克尔根值是否与受信赖的预存的默克尔根值相同,即接收到的默克尔根值一致信号的数量值是否与矿机的数量相同,在检测到不相同时,即表明默克尔树是损坏的或者虚假的,进而表明存在故障矿机,安全性高,并且验证效率高。
在上述任一实施例中,优选地,确定单元308还用于:在检测到一致信号的数量与多个矿机的数量一致时,确定状态值与预存状态阈值匹配,以等待继续发送状态查询信号。
在上述任一实施例中,优选地,还包括:划分单元310,用于将多个矿机进行二等分或最接近二等分划分,以得到第一组矿机与第二组矿机,第一组矿机与第二组矿机中的数量相同,或第一组矿机与第二组矿机的数量差值为1;检测单元306还用于:对第一组矿机进行状态检测;检测单元306还用于:检测故障矿机是否在第一组矿机中;确定单元308还用于:在检测到故障矿机在第一组矿机中时,确定检测到故障矿机,并将故障矿机上报并结束查询进程;划分单元310还用于:在检测到故障矿机不在第一组矿机中时,对第二组矿机进行反复迭代矿机数量分割,直至检测到故障矿机。
在该实施例中,通过采用对数递归算法进行矿机的状态查询,以确定问题矿机,与由工程师逐个检测矿机计算状态的方式相比,能够降低故障矿机造成的资产损失。
在上述任一实施例中,优选地,还包括:获取单元312,用于从可信源获取可信默克尔根值,以作为预存状态阈值。
在该实施例中,通过从可信源获取可信默克尔根值,保证了状态检测的可靠性。
如图4所示,根据本发明的另一个实施例的矿机故障的检测装置400,适用于矿场矿机,包括:生成单元402,用于在接收到服务器发送的状态查询信号时,根据状态查询信号生成当前的状态值;发送单元404,用于将状态值发送至服务器,以由服务器确定矿场矿机是否故障。
在该实施例中,通过向服务区发送状态值,以由服务器根据状态值确定是否存在故障矿机,与由工程师逐个检测矿机计算状态的方式相比,能够有效提高矿机计算状态的检测速度,从而快速对故障矿机进行有效定位,进而方便工程师进行维护。
在上述实施例中,优选地,生成单元402还用于:在接收到状态查询信号时,生成默克尔树;生成单元402还用于:根据默克尔树生成区块头的默克尔根值,以将默克尔根值确定为状态值。
在该实施例中,通过生成默克尔根值,以检测默克尔根值是否与受信赖的预存的默克尔根值相同,即接收到的默克尔根值一致信号的数量值是否与矿机的数量相同,在检测到不相同时,即表明默克尔树是损坏的或者虚假的,进而表明存在故障矿机,安全性高,并且验证效率高。
具体地,比特币是一个去中心化的网络架构,通过安装比特币守护程序的节点来转发新交易和新区块。而矿机、矿池也同时形成了另一个网络,称之为矿工网络。
矿工网络分成矿机、矿池、钱包等几个主要部分,有时矿池软件与钱包安装在一起,可合称为矿池。
矿机与矿池软件之间的通讯协议是stratum,而矿池软件与钱包之间的通讯是bitcoinrpc接口。
stratum是JSON为数据格式,具体协议如下:
1、任务订阅
矿机启动,首先以mining.subscribe方法向矿池连接,用来订阅工作。矿池以mining.notify返回订阅号、ExtraNonce1和ExtraNonce2_size。
2、任务分配
该命令由矿池定期发给矿机,当矿机以mining.subscribe方法登记后,矿池应该马上以mining.notify返回该任务。
3、矿机登录
矿机以mining.authorize方法,用某个帐号和密码登录到矿池,密码可空,矿池返回true登录成功。该方法必须是在初始化连接之后马上进行,否则矿机得不到矿池任务。
4、结果提交
矿机找到合法share时,就以“mining.submit”方法向矿池提交任务。矿池返回true即提交成功,如果失败则error中有具体原因。
5、难度调整
难度调整由矿池下发给矿机,以mining.set_difficulty方法调整难度,params中是难度值。
矿机会在下一个任务时采用新难度,矿池有时会马上下发一个新任务并且把清理任务设为true,以便矿机马上以新难度工作。
如图5所示,通过总线将服务器与各个矿机进行连接并通信。由于矿场中具备的矿机数量是几百至几千台,由工程师对所有矿机依次进行故障检测,在时间上是无法接受的。因此,本发明提出了一种基于上述网络拓扑结构的故障检测方法。
先从可信的源获得文件的默克尔根,一旦获得了根,就可以从其他从不可信的源获取默克尔树。通过可信的树根来检查接受到的默克尔树。如果默克尔树是损坏的或者虚假的,就从其他源获得另一个默克尔树,直到获得一个与可信树根匹配的默克尔树。
如图6所示,根据本发明的再一个实施例的矿机故障的检测方法,包括:步骤602,发送状态查询信号;步骤604,是否接受到所有根一致信号,在结果为“是”时,进入步骤606,在结果为“否”时,进入步骤608;步骤606,等候下一次状态查询;步骤608,执行状态查询算法;步骤610,查询到故障机,在结果为“是”时,进入步骤612,在结果为“否”时,返回步骤608;步骤612,将故障矿机上报并等待下一次状态查询。
具体而言,服务器以一定间隔时间(优选地,一小时)向所有矿机(例如,n台矿机)发出同样的状态查询信号,矿机在收到状态查询信号后向服务器发送区块头的默克尔根值。如果矿机计算状态为正常,那么矿机所发送的区块头的默克尔根值与服务器中预先存储的默克尔根值一致;如果矿机状态为故障,那么矿机所发送的区块头的默克尔根值与服务器中预先存储的默克尔根值不一致。
其中,用交易单保存交易记录,过去10分钟,全网所有新产生的交易单保存在一个新的区块中,所有的区块串联起来形成区块链。所以区块链相当于一本分布式的账本。全网中的每个节点共同参与维护这个账本。每10分钟产生一个新区块,并同步更新到全网中的所以节点。全网确认后,就无法更改。
服务器在发出一次状态查询信号后,统计是否收到等于矿机总数量的根值一致信号(例如,n个根值一致信号)。如果收到等于矿机总数量的根值一致信号,则服务器等候下一次状态查询。如果没有收到等于矿机总数量的根值一致信号,则服务器执行状态查询算法,以检测出是哪台矿机出现故障。当查询到故障矿机后,服务器将故障矿机编号上报矿场和矿池,以便于工程师维修并使矿池重新分配计算任务。
如图8所示,假设矿场中的矿机有n台,可以将n台矿机分为数目最为接近的两部分。例如n为偶数,则分为两组,各n/2台;n为奇数,其一为(n+1)/2台,另一组为n-(n+1)/2台。
当确认n台矿机中出现故障时,将n台分为两组,然后随机对其中一组检测故障(即对该组矿机重新发送状态查询信号)。如果没有检测出故障矿机(即状态检测单元10收到等于该组数量的默克尔根值一致信号),则检测下一组,如果检测出故障矿机(即状态检测单元10没有收到等于该组数量的默克尔根值一致信号),则将其上报。将该方法反复迭代,即可找到真正发生计算故障的矿机。
该状态查询算法的步骤归纳如下:
步骤802:将矿机数量二等分或最接近二等分;
步骤804:对其中一组矿机进行状态检测;
步骤806:确定故障矿机是否在当前组中,如是,则进入步骤4,如否,则进入步骤5;
步骤808:对另一组矿机进行状态检测,然后返回步骤802。
步骤810:确认是否检测到故障矿机,如检测到,进入步骤812,即将故障矿机上报并结束查询进程,如未检测到,则然后返回步骤802。
比特币的区块大小目前被严格限制在1MB以内。4字节的区块大小字段不包含在此内。
如图7所示,在服务器中包括状态检测单元,其由以下单元组成:控制单元704、计数单元702、发送及检测信号单元706。其具体布置如下图所示:
在每次状态查询时,由控制单元704控制发送及检测信号单元706来将状态查询信号通过总线发送至各个矿机,发送及检测信号单元706将各个矿机通过总线反馈回来的包括默克尔根值的信号发送至计数单元702。由计数单元702统计与预先存储的默克尔根值一致的默克尔根值个数,并且计数单元702将统计后的个数发送至控制单元704。由控制单元704确认本轮查询是否出现故障矿机。
如图9所示,在该网络拓扑结构中,将一些矿机设为主矿机,由这些主矿机扮演实施例1中服务器的角色,也即,每个主矿机中包含状态检测单元10,并且每个主矿机通过总线分别对从属于自己的矿机集群执行本发明提出的上述状态查询算法。当检测到故障矿机时,由主矿机将其上报服务器进而上报至矿场和矿池。这种网络结构将查询任务分解到各个主矿机上,从而相比于实施例1,有效减少了服务器的运算量,并且能够更快地定位故障矿机。
根据本发明的实施例的服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的第一方面的任一项实施例的矿机故障的检测方法。
根据本发明的实施例的终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的第二方面的任一项实施例的矿机故障的检测方法。
根据本发明的实施例的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的任一项实施例的矿机故障的检测方法。
本发明方法中的步骤可根据实际需要进行顺序调整、合并和删减。
本发明装置中的单元可根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种矿机故障的检测方法,适用于矿场服务器,其特征在于,包括:
向多个矿机发送状态查询信号;
接收所述多个矿机根据所述状态查询信号反馈的状态值;
检测所述状态值是否与预存状态阈值匹配;
在检测到所述状态值与所述预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机;
所述状态值为默克尔根值,所述检测所述状态值是否与预存状态阈值匹配,具体包括以下步骤:
检测接收到的所述默克尔根值的一致信号的数量是否与所述多个矿机的数量相同;
在检测到所述一致信号的数量与所述多个矿机的数量不一致时,确定所述状态值与所述预存状态阈值不匹配;
在检测到所述一致信号的数量与所述多个矿机的数量一致时,确定所述状态值与所述预存状态阈值匹配,以等待继续发送所述状态查询信号;
所述在检测到所述状态值与所述预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机,具体包括以下步骤:
将所述多个矿机进行二等分或最接近二等分划分,以得到第一组矿机与第二组矿机,所述第一组矿机与所述第二组矿机中的数量相同,或所述第一组矿机与所述第二组矿机的数量差值为1;
对所述第一组矿机进行状态检测;
检测所述故障矿机是否在所述第一组矿机中;
在检测到所述故障矿机在所述第一组矿机中时,确定检测到所述故障矿机,并将所述故障矿机上报并结束查询进程;
在检测到所述故障矿机不在所述第一组矿机中时,对所述第二组矿机进行反复迭代矿机数量分割,直至检测到所述故障矿机;
所述在向多个矿机发送状态查询信号前,还包括:
从可信源获取可信默克尔根值,以作为所述预存状态阈值。
2.一种矿机故障的检测方法,适用于矿场矿机,其特征在于,包括:
在接收到服务器发送的状态查询信号时,根据所述状态查询信号生成当前的状态值;
将所述状态值发送至所述服务器,以由所述服务器确定所述矿场矿机是否故障。
3.根据权利要求2所述的矿机故障的检测方法,其特征在于,所述在接收到服务器发送的状态查询信号时,根据所述状态查询信号生成当前的状态值,具体包括以下步骤:
在接收到所述状态查询信号时,生成默克尔树;
根据所述默克尔树生成区块头的默克尔根值,以将所述默克尔根值确定为所述状态值。
4.一种矿机故障的检测装置,适用于矿场服务器,其特征在于,包括:
发送单元,用于向多个矿机发送状态查询信号;
接收单元,用于接收所述多个矿机根据所述状态查询信号反馈的状态值;
检测单元,用于检测所述状态值是否与预存状态阈值匹配;
确定单元,用于在检测到所述状态值与所述预存状态阈值不匹配时,根据预设的状态查询模型,确定故障矿机;
所述检测单元还用于:检测接收到的所述默克尔根值的一致信号的数量是否与所述多个矿机的数量相同;
所述确定单元还用于:在检测到所述一致信号的数量与所述多个矿机的数量不一致时,确定所述状态值与所述预存状态阈值不匹配;
所述确定单元还用于:在检测到所述一致信号的数量与所述多个矿机的数量一致时,确定所述状态值与所述预存状态阈值匹配,以等待继续发送所述状态查询信号;
划分单元,用于将所述多个矿机进行二等分或最接近二等分划分,以得到第一组矿机与第二组矿机,所述第一组矿机与所述第二组矿机中的数量相同,或所述第一组矿机与所述第二组矿机的数量差值为1;
所述检测单元还用于:对所述第一组矿机进行状态检测;
所述检测单元还用于:检测所述故障矿机是否在所述第一组矿机中;
所述确定单元还用于:在检测到所述故障矿机在所述第一组矿机中时,确定检测到所述故障矿机,并将所述故障矿机上报并结束查询进程;
所述划分单元还用于:在检测到所述故障矿机不在所述第一组矿机中时,对所述第二组矿机进行反复迭代矿机数量分割,直至检测到所述故障矿机;
获取单元,用于从可信源获取可信默克尔根值,以作为所述预存状态阈值;
生成单元,用于在接收到服务器发送的状态查询信号时,根据所述状态查询信号生成当前的状态值;
发送单元,用于将所述状态值发送至所述服务器,以由所述服务器确定所述矿场矿机是否故障。
5.根据权利要求4所述的矿机故障的检测装置,其特征在于,
所述生成单元还用于:在接收到所述状态查询信号时,生成默克尔树;
所述生成单元还用于:根据所述默克尔树生成区块头的默克尔根值,以将所述默克尔根值确定为所述状态值。
6.一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的矿机故障的检测方法。
7.一种终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的矿机故障的检测方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的矿机故障的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810869236.7A CN109165123A (zh) | 2018-08-02 | 2018-08-02 | 矿机故障的检测方法、检测装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810869236.7A CN109165123A (zh) | 2018-08-02 | 2018-08-02 | 矿机故障的检测方法、检测装置、服务器和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109165123A true CN109165123A (zh) | 2019-01-08 |
Family
ID=64898692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810869236.7A Withdrawn CN109165123A (zh) | 2018-08-02 | 2018-08-02 | 矿机故障的检测方法、检测装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165123A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109238758A (zh) * | 2018-08-02 | 2019-01-18 | 佛山鑫达智汇科技有限公司 | 一种矿机故障的检测方法和检测装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179599A (zh) * | 2011-12-26 | 2013-06-26 | 中国移动通信集团河北有限公司 | Wlan性能的监控方法、设备及系统 |
US20140149800A1 (en) * | 2012-11-29 | 2014-05-29 | Fujitsu Limited | Test method and test control apparatus |
CN105630494A (zh) * | 2015-12-23 | 2016-06-01 | 南京工程学院 | 一种可靠性分析系统 |
CN107065819A (zh) * | 2016-12-28 | 2017-08-18 | 中国航空工业集团公司西安飞机设计研究所 | 一种结合功能流程图的故障树建立方法 |
CN109238758B (zh) * | 2018-08-02 | 2020-12-18 | 李淑芹 | 一种区块链矿机故障的检测方法和检测装置 |
-
2018
- 2018-08-02 CN CN201810869236.7A patent/CN109165123A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179599A (zh) * | 2011-12-26 | 2013-06-26 | 中国移动通信集团河北有限公司 | Wlan性能的监控方法、设备及系统 |
US20140149800A1 (en) * | 2012-11-29 | 2014-05-29 | Fujitsu Limited | Test method and test control apparatus |
CN105630494A (zh) * | 2015-12-23 | 2016-06-01 | 南京工程学院 | 一种可靠性分析系统 |
CN107065819A (zh) * | 2016-12-28 | 2017-08-18 | 中国航空工业集团公司西安飞机设计研究所 | 一种结合功能流程图的故障树建立方法 |
CN109238758B (zh) * | 2018-08-02 | 2020-12-18 | 李淑芹 | 一种区块链矿机故障的检测方法和检测装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109238758A (zh) * | 2018-08-02 | 2019-01-18 | 佛山鑫达智汇科技有限公司 | 一种矿机故障的检测方法和检测装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543788B (zh) | 数据存储方法、装置、计算机可读存储介质和计算机设备 | |
CN110633323B (zh) | 业务数据存储方法、装置、存储介质和计算机设备 | |
CN114944932B (zh) | 将区块添加到被许可的区块链的方法和系统 | |
CN109741039B (zh) | 记账方法、矿池服务器、终端设备、挖矿节点及矿池 | |
Pappalardo et al. | Blockchain inefficiency in the bitcoin peers network | |
CN108985774B (zh) | 一种区块链网络的激励方法、装置、设备及存储介质 | |
US10715331B2 (en) | Method and system for providing validated, auditable, and immutable inputs to a smart contract | |
KR20210003234A (ko) | 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것 | |
US11461310B2 (en) | Distributed ledger technology | |
CN107276765B (zh) | 区块链中共识的处理方法及装置 | |
CN111431903B (zh) | 一种跨链中继方法、装置以及计算机可读存储介质 | |
CN114398519A (zh) | 使用布隆过滤器对被许可的区块链进行去同步恢复的方法和系统 | |
CN109146484A (zh) | 基于区块链的共识验证方法、挖矿机及区块链系统 | |
CN109166040B (zh) | 基于区块链的交易审计方法、装置、设备及存储介质 | |
CN112753207A (zh) | 对系统中包括的节点操作组的分布式网络系统 | |
CN111612613A (zh) | 一种部署有中心化系统的区块链网络 | |
CN109656778A (zh) | 数据获取方法、装置、计算机设备和存储介质 | |
CN110458709B (zh) | 资源转移信息的传输方法和装置、存储介质、电子装置 | |
CN109615509A (zh) | 一种资金风险评估方法及系统 | |
CN111967061B (zh) | 基于区块链的可信账户转账交易方法及装置 | |
CN110309173B (zh) | 合约数据的记录方法、装置及区块链节点、存储介质 | |
CN112488777A (zh) | 一种票据处理的方法及相关装置 | |
US11263569B2 (en) | Blockchain-based information processing method and apparatus, and device | |
CN109871263B (zh) | 线下区块链系统的运行方法、装置、设备及存储介质 | |
CN112487491A (zh) | 一种区块链系统的控制方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190108 |