CN112671603A - 故障检测方法和服务器 - Google Patents
故障检测方法和服务器 Download PDFInfo
- Publication number
- CN112671603A CN112671603A CN202011480988.8A CN202011480988A CN112671603A CN 112671603 A CN112671603 A CN 112671603A CN 202011480988 A CN202011480988 A CN 202011480988A CN 112671603 A CN112671603 A CN 112671603A
- Authority
- CN
- China
- Prior art keywords
- heartbeat
- verified
- terminal
- message
- log file
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000012544 monitoring process Methods 0.000 claims description 42
- 238000012795 verification Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开一种故障检测方法和服务器。涉及区块链技术领域。方法包括:从区块链网络中,获取待验证终端发送的待验证心跳消息;从区块链网络中,获取心跳服务器发送的心跳日志文件,心跳日志文件包括N个预设心跳保活消息,N为大于或等于1的整数;依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态。通过利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态,能够通过不同渠道获取到心跳信息,实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种故障检测方法和服务器。
背景技术
心跳消息(Heartbeat Message)是一种发送方发送到接收方的消息,这种消息可以让接收方确定发送方是否出现故障,或,何时出现故障。通常情况下,发送方从启动时就开始发送心跳消息,发送方会不间断的发送周期性或重复的心跳消息,直至发送方关闭。当接收方在某个消息接收周期内未收到该心跳消息,接收方会认为发送方已经关闭或发送方出现故障。
待验证终端上的应用程序(Application,APP)在执行的过程中,会定时发送心跳消息给网络侧的服务器,以使服务器获知该应用程序处于工作状态,服务器会将接收到的心跳消息记录为日志文件,保存至该服务器的数据库中。但是,随着计算机网络技术的发展,很多第三方设备能够截获APP发送的心跳消息,并修改该心跳消息中的发送地址或时间信息等,导致无法保证待验证终端的安全性。
发明内容
为此,本申请提供一种故障检测方法和服务器,如何实时保证待验证终端的安全性的问题。
为了实现上述目的,本申请第一方面提供一种故障检测方法,方法包括:从区块链网络中,获取待验证终端发送的待验证心跳消息;从区块链网络中,获取心跳服务器发送的心跳日志文件,心跳日志文件包括N个预设心跳保活消息,N为大于或等于1的整数;依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态。
在一些具体实现中,待验证心跳消息包括待验证终端的第一标识;心跳日志文件还包括N个第二标识,第二标识与预设心跳保活消息一一对应;依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态,包括:依据第一标识查找心跳日志文件中的各个第二标识,在确定心跳日志文件包括第一标识的情况下,获取与第一标识对应的预设心跳保活消息;对比预设心跳保活消息和待验证心跳消息,获得消息内容对比结果;在确定消息内容对比结果为预设心跳保活消息和待验证心跳消息相同的情况下,确定待验证终端处于正常状态;否则,确定待验证终端处于故障状态。
在一些具体实现中,心跳日志文件还包括心跳周期和时间戳信息,时间戳信息是时间戳服务器生成的信息,时间戳信息与预设心跳保活消息一一对应。
在一些具体实现中,在确定消息内容对比结果为预设心跳保活消息和待验证心跳消息相同的情况下,确定待验证终端处于正常状态之后,还包括:在第一预设时长内,从区块链网络中获得待验证终端发送的待验证心跳消息,其中,第一预设时长大于K个心跳周期且小于K+1个心跳周期,K为大于或等于1的整数;确定待验证终端处于故障状态。
在一些具体实现中,心跳日志文件为经过签名的文件,时间戳信息为经过签名的信息,从区块链网络中,获取心跳服务器发送的心跳日志文件,包括:查找区块链账本,获得心跳服务器的第一公钥和时间戳服务器的第二公钥;使用第一公钥对心跳日志文件的私钥签名进行验证,获得第一验证结果;使用第二公钥对时间戳信息的私钥签名进行验证,获得第二验证结果;在确定第一验证结果和第二验证结果均为验证成功的情况下,获取心跳日志文件。
在一些具体实现中,在确定消息内容对比结果为预设心跳保活消息和待验证心跳消息相同的情况下,确定待验证终端处于正常状态之后,还包括:将待验证心跳消息标记为可信心跳消息;将第一标识和可信心跳消息保存至区块链账本中。
在一些具体实现中,依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态之后,还包括:在确定待验证终端处于故障状态的情况下,停止为待验证终端提供网络服务。
为了实现上述目的,本申请第二方面提供一种故障检测方法,包括:从区块链网络中,获取预设终端发送的预设心跳保活消息;依据预设心跳保活消息,生成心跳日志文件;发送心跳日志文件至区块链网络中,以使心跳日志监控服务器获得心跳日志文件,并依据心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定待验证终端是否处于故障状态。
在一些具体实现中,发送心跳日志文件至区块链网络中,以使心跳日志监控服务器获得心跳日志文件,并依据心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定待验证终端是否处于故障状态之后,还包括:每间隔第二预设时长,与区块链网络中的其他心跳服务器进行心跳日志文件的同步。
为了实现上述目的,本申请第三方面提供一种心跳日志监控服务器,其包括:第一获取模块,用于从区块链网络中,获取待验证终端发送的待验证心跳消息;第二获取模块,用于从区块链网络中,获取心跳服务器发送的心跳日志文件,心跳日志文件包括N个预设心跳保活消息,N为大于或等于1的整数;检测模块,用于依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态。
为了实现上述目的,本申请第四方面提供一种心跳服务器,其包括:第三获取模块,用于从区块链网络中,获取预设终端发送的预设心跳保活消息;生成模块,用于依据预设心跳保活消息,生成心跳日志文件;发送模块,用于发送心跳日志文件至区块链网络中,以使心跳日志监控服务器获得心跳日志文件,并依据心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定待验证终端是否处于故障状态。
本申请中的故障检测方法和服务器,通过从区块链网络中,分别获取待验证终端发送的待验证心跳消息和心跳服务器发送的心跳日志文件,利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态,能够通过不同渠道获取到的心跳信息,实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
附图说明
附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请,并不构成对本申请的限制。通过参考附图对详细示例实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1示出本申请一实施例中的故障检测方法的流程示意图。
图2示出本申请又一实施例中的故障检测方法的流程示意图。
图3示出本申请再一实施例中的故障检测方法的流程示意图。
图4示出本申请实施例中的心跳日志监控服务器的组成方框图。
图5示出本申请实施例中的心跳服务器的组成方框图。
图6示出本申请实施例中的故障检测系统的组成方框图。
图7示出本申请实施例中的故障检测系统的工作方法的流程示意图。
在附图中:
401:第一获取模块 402:第二获取模块
403:检测模块 501:第三获取模块
502:生成模块 503:发送模块
601:待验证终端 602:心跳服务器
603:时间戳服务器 604:心跳日志监控服务器
具体实施方式
以下结合附图对本申请的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本申请,并不用于限制本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1示出本申请一实施例中的故障检测方法的流程示意图。该方法可应用于心跳日志监控服务器。如图1所示,该故障检测方法包括如下步骤:
步骤S101,从区块链网络中,获取待验证终端发送的待验证心跳消息。
其中,待验证心跳消息包括待验证终端的第一标识。
需要说明的是,当待验证终端收到第三方设备的攻击后,第三方设备可能会模拟待验证终端的心跳保活消息,生成待验证心跳消息,并发送该待验证心跳消息至区块链网络中,保证待验证终端仍能够获得网络服务。因此,心跳日志监控服务器需要针对该待验证心跳消息进行验证,保证待验证终端的安全性。
步骤S102,从区块链网络中,获取心跳服务器发送的心跳日志文件。
其中,心跳日志文件包括N个预设心跳保活消息、N个第二标识、心跳周期和时间戳信息,N为大于或等于1的整数。其中,第二标识与预设心跳保活消息一一对应,时间戳信息是时间戳服务器生成的信息,时间戳信息与预设心跳保活消息一一对应。
需要说明的是,时间戳信息采用时间戳服务器生成的时间信息,可保障时间信息的正确性,避免待验证终端与区块链网络中的其他设备不同步导致时间错误的问题。心跳周期是待验证终端与心跳服务器预先约定的上报终端信息的时间周期,只有在心跳周期内接收到的心跳消息,才能根据心跳消息验证待验证终端的工作状态。
在一些具体实现中,心跳日志文件为经过签名的文件,时间戳信息为经过签名的信息;从区块链网络中,获取心跳服务器发送的心跳日志文件,包括:查找区块链账本,获得心跳服务器的第一公钥和时间戳服务器的第二公钥;使用第一公钥对心跳日志文件的私钥签名进行验证,获得第一验证结果;使用第二公钥对时间戳信息的私钥签名进行验证,获得第二验证结果;在确定第一验证结果和第二验证结果均为验证成功的情况下,获取心跳日志文件。
其中,心跳日志文件包括:心跳服务器的区块链标识、待验证终端的区块链标识、预设心跳保活消息的时间信息和待验证终端上的APP的标识中的任意一种或几种。
在一个具体实现中,在区块链网络中,可以将多个心跳日志监控服务器设置为记账节点,也可以在各个记账节点中设置一个心跳日志监控模块,用于监控各个心跳服务器接收到的各个终端发送的心跳保活消息,并记录以下信息中的任意一种或几种至心跳日志文件中:各个心跳服务器的区块链标识、各个终端的区块链标识、预设心跳保活消息的发送时间、以及各个终端上的APP的标识。
步骤S103,依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态。
其中,故障状态可包括待验证终端失去通信功能、待验证终端被第三方设备攻击使得该待验证终端失去部分功能(例如,第三方设备伪造该待验证终端的心跳保活消息,以使第三方设备能够获取到心跳服务器的网络服务等)和待验证终端中的APP出现故障等状态中的任意一种或几种,以上对于故障状态仅是举例说明,可根据具体情况进行具体设定,其他未说明的故障状态也在本申请的保护范围之内,在此不再赘述。
在一些具体实现中,依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态,包括:依据第一标识查找心跳日志文件中的各个第二标识,在确定心跳日志文件包括第一标识的情况下,获取与第一标识对应的预设心跳保活消息;对比预设心跳保活消息和待验证心跳消息,获得消息内容对比结果;在确定消息内容对比结果为预设心跳保活消息和待验证心跳消息相同的情况下,确定待验证终端处于正常状态;否则,确定待验证终端处于故障状态。
其中,消息内容对比结果可以是预设心跳保活消息和待验证心跳消息的消息内容一样,例如,两条消息所携带的信息完全一致等;消息内容对比结果也可以是预设心跳保活消息和待验证心跳消息的消息内容不同,例如,两条消息对应的时间戳信息不同或预设心跳保活消息和待验证心跳消息中携带的终端信息不同等。
在一些具体实现中,在确定消息内容对比结果为预设心跳保活消息和待验证心跳消息相同的情况下,确定待验证终端处于正常状态之后,还包括:将待验证心跳消息标记为可信心跳消息;将第一标识和可信心跳消息保存至区块链账本中。
例如,依据待验证终端的第一标识和可信心跳消息,生成可信广播消息,并使用对该可信广播消息进行签名,生成并发送签名后的可信广播消息至区块链网络中,以使记账节点获得该可信广播消息,并将待验证终端的第一标识和可信心跳消息记录到区块链账本中。
在本实施例中,通过从区块链网络中,分别获取待验证终端发送的待验证心跳消息和心跳服务器发送的心跳日志文件,利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态,能够通过不同渠道获取到的心跳信息,实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
图2示出本申请又一实施例中的故障检测方法的流程示意图。该方法可应用于心跳日志监控服务器。如图2所示,该故障检测方法包括如下步骤:
步骤S201,从区块链网络中,获取待验证终端发送的待验证心跳消息。
步骤S202,从区块链网络中,获取心跳服务器发送的心跳日志文件。
步骤S203,依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态。
需要说明的是,本实施例中的步骤S201~步骤S203与上一实施例中的步骤S101~步骤S103相同,再次不再赘述。
步骤S204,在确定待验证终端处于正常状态的情况下,若在第一预设时长内,从区块链网络中获得待验证终端发送的待验证心跳消息,则确定待验证终端处于故障状态。
其中,第一预设时长大于K个心跳周期且小于K+1个心跳周期,K为大于或等于1的整数。例如,心跳周期是2秒,则第一预设时长可以是3秒、5秒等。
需要说明的是,当确定待验证终端处于正常状态时,心跳日志监控服务器还需要检测在第一预设时长内,是否能够从区块链网络中获得待验证终端发送的待验证心跳消息,若在第一预设时长内仍然能够获得待验证终端发送的待验证心跳消息,则此时收到的待验证心跳消息可能是第三方设备假造的心跳消息,可直接判断待验证终端受到了第三方设备的网络攻击,确定待验证终端处于故障状态。
步骤S205,在确定待验证终端处于故障状态的情况下,停止为待验证终端提供网络服务。
例如,当确定待验证终端处于故障状态时,待验证终端可能被第三方设备攻击而导致待验证终端发生故障,此时,心跳日志监控服务器需要停止为待验证终端提供网络服务,避免区块链网络中的其他设备受到攻击。
在本实施例中,通过在确定待验证终端处于正常状态时,还需要验证在第一预设时长内,从区块链网络中是否能够获得待验证终端发送的待验证心跳消息,进一步对待验证终端进行验证,保证待验证终端的安全性。当确定待验证终端处于故障状态时,停止为待验证终端提供网络服务,避免区块链网络中的其他设备受到攻击或第三方设备能够免费获得区块链网络中的网络资源,保证区块链网络的安全性。
图3示出本申请再一实施例中的故障检测方法的流程示意图。该方法可应用于心跳服务器。如图3所示,该故障检测方法包括如下步骤:
步骤S301,从区块链网络中,获取预设终端发送的预设心跳保活消息。
其中,预设心跳保活消息是预设终端按照预设的心跳周期,发送给心跳服务器的信息,通过该预设心跳保活消息可确定预设终端处于正常工作状态,实时对预设终端进行监控,保证预设终端的安全性。
步骤S302,依据预设心跳保活消息,生成心跳日志文件。
其中,心跳日志文件包括心跳服务器的区块链标识、预设终端的区块链标识(例如,第二标识)、预设心跳保活消息、与该预设心跳保活消息对应的时间信息和预设终端上的APP的标识中的任意一种或几种。
通过心跳日志文件记录各个预设终端的预设心跳保活消息,并同时使用多个心跳服务器记录该心跳日志文件,利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。
步骤S303,发送心跳日志文件至区块链网络中。
当心跳日志监控服务器获得心跳日志文件时,依据心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定待验证终端是否处于故障状态。
例如,将心跳日志文件中记载的各个预设终端的区块链标识(例如,第二标识)与待验证心跳消息中的待验证终端的第一标识进行对比,获得第一对比结果;并将待验证心跳消息和心跳日志文件中记载的预设心跳保活消息进行内容的对比,获得第二对比结果,在确定以上两个对比结果均相同时,可确定待验证终端处于正常状态;否则,确定待验证终端处于故障状态。
在一些具体实现中,发送心跳日志文件至区块链网络中,以使心跳日志监控服务器获得心跳日志文件,并依据心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定待验证终端是否处于故障状态之后,还包括:每间隔第二预设时长,与区块链网络中的其他心跳服务器进行心跳日志文件的同步。
在本实施例中,通过从区块链网络中,获取预设终端发送的预设心跳保活消息,定时获取预设终端的状态,实时对预设终端进行监控,保证预设终端的安全性。依据预设心跳保活消息,生成心跳日志文件,利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。发送心跳日志文件至区块链网络中,使心跳日志监控服务器能够通过不同渠道获取到的心跳信息,实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
图4示出本申请实施例中的心跳日志监控服务器的组成方框图。如图4所示,心跳日志监控服务器包括:第一获取模块401,用于从区块链网络中,获取待验证终端发送的待验证心跳消息;第二获取模块402,用于从区块链网络中,获取心跳服务器发送的心跳日志文件,心跳日志文件包括N个预设心跳保活消息,N为大于或等于1的整数;检测模块403,用于依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态。
在本实施例中,通过第一获取模块和第二获取模块从区块链网络中,分别获取待验证终端发送的待验证心跳消息和心跳服务器发送的心跳日志文件,利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。使用检测模块依据待验证心跳消息和预设心跳保活消息,检测待验证终端是否处于故障状态,能够通过不同渠道获取到的心跳信息,实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
图5示出本申请实施例中的心跳服务器的组成方框图。如图5所示,心跳服务器包括:第三获取模块501,用于从区块链网络中,获取预设终端发送的预设心跳保活消息;生成模块502,用于依据预设心跳保活消息,生成心跳日志文件;发送模块503,用于发送心跳日志文件至区块链网络中,以使心跳日志监控服务器获得心跳日志文件,并依据心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定待验证终端是否处于故障状态。
在本实施例中,通过第三获取模块从区块链网络中,获取预设终端发送的预设心跳保活消息,定时获取预设终端的状态,实时对预设终端进行监控,保证预设终端的安全性。使用生成模块依据预设心跳保活消息,生成心跳日志文件,利用区块链网络的去中心化特性,保证心跳日志文件的不可篡改性。使用发送模块发送心跳日志文件至区块链网络中,使心跳日志监控服务器能够通过不同渠道获取到的心跳信息,实时的对待验证终端的安全性进行监控,提高待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本申请的创新部分,本实施方式中并没有将与解决本申请所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
图6示出本申请实施例中的故障检测系统的组成方框图。如图6所示,该故障检测系统包括:待验证终端601、心跳服务器602、时间戳服务器603和心跳日志监控服务器604。
需要说明的是,待验证终端601可以是智能手机或平板电脑等设备。故障检测系统中可以包括M个心跳服务器,M为大于或等于1的整数。通过使用多个心跳服务器来保存终端的心跳日志文件,利用区块链网络的去中心化特性,可保证心跳日志文件的不可篡改性。
在一些具体实现中,心跳服务器602可以使用区块链网络中的记账节点服务器来实现,方便对区块链网络中的各个终端进行监控。同时,心跳服务器602还用于保存各个终端发送的心跳保活消息、待验证心跳消息、终端发送消息(心跳保活消息和待验证心跳消息)的时间信息、各个终端的区块链标识等信息中的任意一种或几种。
图7示出本申请实施例中的故障检测系统的工作方法的流程示意图。如图7所示,该工作方法包括如下步骤:
步骤S701,时间戳服务器603每间隔第三预设时长生成时间戳信息,并发送该时间戳信息给待验证终端601。
需要说明的是,第三预设时长可以与待验证终端601的心跳周期一致。例如,心跳周期是2秒或10秒等。
在一些具体实现中,时间戳信息还可以是待验证终端601在需要时间信息的情况下,待验证终端主动向时间戳服务器603请求获得的时间信息。
步骤S702,待验证终端601每间隔心跳周期(例如,心跳周期为2秒),依据待验证终端601的区块链标识,生成并发送心跳保活消息至区块链网络中,以使心跳服务器602能够获知该待验证终端601处于正常状态。
其中,心跳保活消息包括:待验证终端601的区块链标识、待验证终端601的公钥、以及步骤S701中获得的时间戳信息。
需要说明的是,心跳保活消息在发送之前,还需要使用待验证终端601私钥进行签名,保证该心跳保活消息在区块链网络中进行传输的安全性。
在一个具体实现中,在区块链网络中,可以将多个心跳日志监控服务器设置为记账节点,也可以在各个记账节点中设置一个心跳日志监控模块,用于监控各个心跳服务器接收到的各个终端发送的心跳保活消息,并记录以下信息中的任意一种或几种:各个心跳服务器的区块链标识、各个终端的区块链标识、预设心跳保活消息的发送时间、以及各个终端上的APP的标识。
步骤S703,心跳服务器602从区块链网络中,获取到待验证终端601发送的心跳保活消息后,先查询区块链账本,获得待验证终端601的第一公钥和时间戳服务器的第二公钥;然后使用第一公钥对心跳保活消息的私钥签名进行验证,并使用第二公钥对时间戳信息的私钥签名进行验证;当确定以上两个验证结果均为验证通过的情况下,保存该心跳保活消息至本地存储的心跳日志文件中。
其中,心跳日志文件包括心跳服务器602的区块链标识、待验证终端601的区块链标识、本次心跳保活消息的时间信息和待验证终端601上的APP的标识。
步骤S704,心跳服务器602每间隔固定的时间间隔(例如,1分钟,2分钟等)将心跳服务器602保存的心跳日志文件发送给心跳日志监控服务器604。
步骤S705,待验证终端601生成待验证心跳消息,并使用自己的私钥对该待验证心跳消息进行签名,生成并发送签名后的待验证心跳消息至区块链网络中,以使心跳日志监控服务器604获得该待验证心跳消息,并对该待验证心跳消息进行验证。
其中,待验证心跳消息包括待验证终端601的第一标识和时间戳信息。
步骤S706,心跳日志监控服务器604从区块链网络中,获得待验证心跳消息,先查找区块链账本,获得待验证终端601的第一公钥和时间戳服务器的第二公钥;然后使用第一公钥对待验证心跳消息的私钥签名进行验证,并使用第二公钥对时间戳信息的私钥签名进行验证;当确定以上两个验证结果均为验证通过的情况下,获得待验证消息。然后,依据第一标识,查找心跳服务器602发送的心跳日志文件,确定心跳日志文件中是否包括该第一标识,在确定心跳日志文件中包括该第一标识的情况下,获取与该第一标识对应的预设心跳保活消息。心跳日志监控服务器604对比预设心跳保活消息和待验证心跳消息的内容,在确定预设心跳保活消息和待验证心跳消息的内容相同的情况下,确定待验证终端601处于正常状态;否则,确定待验证终端601处于故障状态。
在一些具体实现中,当确定待验证终端601处于正常状态时,心跳日志监控服务器604还需要检测在第一预设时长内,是否能够从区块链网络中获得待验证终端601发送的待验证心跳消息,若在第一预设时长内仍然能够获得待验证终端601发送的待验证心跳消息,则此时收到的待验证心跳消息可能是第三方设备假造的心跳消息,可直接判断待验证终端601受到了第三方设备的网络攻击,确定待验证终端601处于故障状态,并停止为待验证终端601提供网络服务。
其中,第一预设时长大于K个心跳周期且小于K+1个心跳周期,K为大于或等于1的整数,例如,心跳周期为2秒,则第一时长可以是3秒或5秒等。
步骤S707,当确定待验证终端601处于故障状态时,待验证终端601可能被第三方设备攻击而导致待验证终端601发生故障,此时,心跳日志监控服务器604需要停止为待验证终端601提供网络服务,以避免区块链网络中的其他设备受到攻击。
步骤S708,当确定待验证终端601处于正常状态时,心跳日志监控服务器604将待验证心跳消息标记为可信心跳消息,并将待验证终端601的第一标识和可信心跳消息保存至区块链账本中。
具体地,可依据待验证终端601的第一标识和可信心跳消息,生成可信广播消息,并使用对该可信广播消息进行签名,生成并发送签名后的可信广播消息至区块链网络中,以使记账节点获得该可信广播消息,并将待验证终端601的第一标识和可信心跳消息记录到区块链账本中。
需要说明的是,区块链网络中的各个心跳日志监控服务器之间可通过星星拓扑连接,各个心跳日志监控服务器之间每间隔第二预设时长(例如,5分钟等)进行消息同步,保证各个心跳日志监控服务器保存的各个终端的心跳保活消息的完整性。
其中,消息同步可采用发送私钥签名的广播消息的方式,以使区块链网络中的各个心跳日志监控服务器获得最新的各个终端发送的日志保活消息。
在本实施例中,通过心跳服务器使用心跳日志文件记录待验证终端已经发送过的心跳保活消息,,并每间隔固定的时间间隔,使用自己的私钥对心跳日志文件进行签名,生成并发送签名后的心跳日志文件至区块链网络中,以使心跳日志监控服务器获得该心跳日志文件。通过区块链网络的去中心化的特性,使用多个心跳服务器能够保持该心跳日志文件,避免心跳保活消息被第三方设备篡改。然后对比该心跳日志文件和待验证终端发送的待验证心跳消息,验证待验证终端发送的待验证心跳消息是否正确,进而确定待验证终端是否处于故障状态,能够实时保证待验证终端的安全性,并通过心跳日志文件使心跳服务器的管理行为具有可追溯性。
可以理解的是,以上实施方式仅仅是为了说明本申请的原理而采用的示例性实施方式,然而本申请并不局限于此。对于本领域内的普通技术人员而言,在不脱离本申请的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本申请的保护范围。
Claims (11)
1.一种故障检测方法,其特征在于,所述方法包括:
从区块链网络中,获取待验证终端发送的待验证心跳消息;
从所述区块链网络中,获取心跳服务器发送的心跳日志文件,所述心跳日志文件包括N个预设心跳保活消息,N为大于或等于1的整数;
依据所述待验证心跳消息和所述预设心跳保活消息,检测所述待验证终端是否处于故障状态。
2.根据权利要求1所述的方法,其特征在于,所述待验证心跳消息包括所述待验证终端的第一标识;所述心跳日志文件还包括N个第二标识,所述第二标识与所述预设心跳保活消息一一对应;
所述依据所述待验证心跳消息和所述预设心跳保活消息,检测所述待验证终端是否处于故障状态,包括:
依据所述第一标识查找所述心跳日志文件中的各个所述第二标识,在确定所述心跳日志文件包括所述第一标识的情况下,获取与所述第一标识对应的所述预设心跳保活消息;
对比所述预设心跳保活消息和所述待验证心跳消息,获得消息内容对比结果;
在确定所述消息内容对比结果为所述预设心跳保活消息和所述待验证心跳消息相同的情况下,确定所述待验证终端处于正常状态;
否则,确定所述待验证终端处于所述故障状态。
3.根据权利要求1所述的方法,其特征在于,所述心跳日志文件还包括心跳周期和时间戳信息,所述时间戳信息是时间戳服务器生成的信息,所述时间戳信息与所述预设心跳保活消息一一对应。
4.根据权利要求3所述的方法,其特征在于,在确定所述消息内容对比结果为所述预设心跳保活消息和所述待验证心跳消息相同的情况下,确定所述待验证终端处于正常状态之后,还包括:
在第一预设时长内,从所述区块链网络中获得所述待验证终端发送的待验证心跳消息,其中,所述第一预设时长大于K个所述心跳周期且小于K+1个所述心跳周期,K为大于或等于1的整数;
确定所述待验证终端处于所述故障状态。
5.根据权利要求3所述的方法,其特征在于,所述心跳日志文件为经过签名的文件,所述时间戳信息为经过签名的信息;
所述从所述区块链网络中,获取心跳服务器发送的心跳日志文件,包括:
查找区块链账本,获得所述心跳服务器的第一公钥和所述时间戳服务器的第二公钥;
使用所述第一公钥对所述心跳日志文件的私钥签名进行验证,获得第一验证结果;
使用所述第二公钥对所述时间戳信息的私钥签名进行验证,获得第二验证结果;
在确定所述第一验证结果和所述第二验证结果均为验证成功的情况下,获取所述心跳日志文件。
6.根据权利要求2所述的方法,其特征在于,所述在确定所述消息内容对比结果为所述预设心跳保活消息和所述待验证心跳消息相同的情况下,确定所述待验证终端处于正常状态之后,还包括:
将所述待验证心跳消息标记为可信心跳消息;
将所述第一标识和所述可信心跳消息保存至区块链账本中。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述依据所述待验证心跳消息和所述预设心跳保活消息,检测所述待验证终端是否处于故障状态之后,还包括:
在确定所述待验证终端处于所述故障状态的情况下,停止为所述待验证终端提供网络服务。
8.一种故障检测方法,其特征在于,包括:
从区块链网络中,获取预设终端发送的预设心跳保活消息;
依据所述预设心跳保活消息,生成心跳日志文件;
发送所述心跳日志文件至所述区块链网络中,以使心跳日志监控服务器获得所述心跳日志文件,并依据所述心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定所述待验证终端是否处于故障状态。
9.根据权利要求8所述的方法,其特征在于,所述发送所述心跳日志文件至所述区块链网络中,以使心跳日志监控服务器获得所述心跳日志文件,并依据所述心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定所述待验证终端是否处于故障状态之后,还包括:
每间隔第二预设时长,与所述区块链网络中的其他心跳服务器进行所述心跳日志文件的同步。
10.一种心跳日志监控服务器,其特征在于,其包括:
第一获取模块,用于从区块链网络中,获取待验证终端发送的待验证心跳消息;
第二获取模块,用于从所述区块链网络中,获取心跳服务器发送的心跳日志文件,所述心跳日志文件包括N个预设心跳保活消息,N为大于或等于1的整数;
检测模块,用于依据所述待验证心跳消息和所述预设心跳保活消息,检测所述待验证终端是否处于故障状态。
11.一种心跳服务器,其特征在于,其包括:
第三获取模块,用于从区块链网络中,获取预设终端发送的预设心跳保活消息;
生成模块,用于依据所述预设心跳保活消息,生成心跳日志文件;
发送模块,用于发送所述心跳日志文件至所述区块链网络中,以使心跳日志监控服务器获得所述心跳日志文件,并依据所述心跳日志文件对待验证终端发送的待验证心跳消息进行检测,确定所述待验证终端是否处于故障状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011480988.8A CN112671603A (zh) | 2020-12-15 | 2020-12-15 | 故障检测方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011480988.8A CN112671603A (zh) | 2020-12-15 | 2020-12-15 | 故障检测方法和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112671603A true CN112671603A (zh) | 2021-04-16 |
Family
ID=75404969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011480988.8A Pending CN112671603A (zh) | 2020-12-15 | 2020-12-15 | 故障检测方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671603A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254306A (zh) * | 2021-05-10 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 运行状态监控方法、装置、设备和存储介质 |
CN113923105A (zh) * | 2021-12-13 | 2022-01-11 | 中机联科技(广东)有限公司 | 一种基于区块链的物联网设备故障监控方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103117901A (zh) * | 2013-02-01 | 2013-05-22 | 华为技术有限公司 | 一种分布式心跳检测方法、装置及系统 |
US20140108497A1 (en) * | 2012-10-15 | 2014-04-17 | Verizon Patent And Licensing Inc. | Media session heartbeat messaging |
CN108449239A (zh) * | 2018-06-19 | 2018-08-24 | 广州视源电子科技股份有限公司 | 心跳包检测方法、装置、设备和存储介质 |
CN109088794A (zh) * | 2018-08-20 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种节点的故障监测方法和装置 |
CN110049043A (zh) * | 2019-04-17 | 2019-07-23 | 江苏全链通信息科技有限公司 | 基于区块链的服务器日志监控方法和系统 |
CN110084069A (zh) * | 2019-04-17 | 2019-08-02 | 江苏全链通信息科技有限公司 | 基于区块链的服务器日志监控方法和系统 |
-
2020
- 2020-12-15 CN CN202011480988.8A patent/CN112671603A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108497A1 (en) * | 2012-10-15 | 2014-04-17 | Verizon Patent And Licensing Inc. | Media session heartbeat messaging |
CN103117901A (zh) * | 2013-02-01 | 2013-05-22 | 华为技术有限公司 | 一种分布式心跳检测方法、装置及系统 |
CN108449239A (zh) * | 2018-06-19 | 2018-08-24 | 广州视源电子科技股份有限公司 | 心跳包检测方法、装置、设备和存储介质 |
CN109088794A (zh) * | 2018-08-20 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种节点的故障监测方法和装置 |
CN110049043A (zh) * | 2019-04-17 | 2019-07-23 | 江苏全链通信息科技有限公司 | 基于区块链的服务器日志监控方法和系统 |
CN110084069A (zh) * | 2019-04-17 | 2019-08-02 | 江苏全链通信息科技有限公司 | 基于区块链的服务器日志监控方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254306A (zh) * | 2021-05-10 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 运行状态监控方法、装置、设备和存储介质 |
CN113923105A (zh) * | 2021-12-13 | 2022-01-11 | 中机联科技(广东)有限公司 | 一种基于区块链的物联网设备故障监控方法及系统 |
CN113923105B (zh) * | 2021-12-13 | 2022-04-22 | 中机联科技(广东)有限公司 | 一种基于区块链的物联网设备故障监控方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106936835B (zh) | 设备接入的方法及系统 | |
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
CN110784495B (zh) | 基于区块链的大数据集群系统的发现与配置信息管理方法 | |
CN110602455B (zh) | 视频存储系统、视频处理方法、装置、设备及存储介质 | |
CN108805571B (zh) | 数据保护方法、平台、区块链节点、系统和存储介质 | |
CN104715183A (zh) | 一种虚拟机运行时的可信验证方法和设备 | |
CN112671603A (zh) | 故障检测方法和服务器 | |
CN108134713B (zh) | 一种通信方法及装置 | |
CN112713996B (zh) | 基于区块链的故障验证方法、服务器和终端 | |
CN111614548A (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN111831974A (zh) | 接口保护方法、装置、电子设备及存储介质 | |
CN111224782B (zh) | 基于数字签名的数据校验方法、智能设备及存储介质 | |
CN113660216B (zh) | 口令攻击检测方法、装置、电子装置和存储介质 | |
CN110958598B (zh) | 一种移动终端和sim卡的绑定认证方法和装置 | |
CN112636977B (zh) | 物联网设备管理方法、注册方法、装置、系统及电子设备 | |
CN111176567B (zh) | 分布式云存储的存储供应量验证方法及装置 | |
CN113630445B (zh) | 一种基于区块链网络的数据存储方法及装置 | |
CN115118504A (zh) | 知识库更新方法、装置、电子设备及存储介质 | |
CN113961920A (zh) | 可疑进程处理方法、装置、存储介质及电子设备 | |
CN114499880A (zh) | 燃气轮机的运维数据的传输方法及装置 | |
CN109948326B (zh) | 一种异常状态回溯方法及终端 | |
CN115702424A (zh) | 将asil相关信息从数据源转发到数据宿的方法和车辆总线系统 | |
CN114584328B (zh) | Api接口的访问方法、计算机设备及计算机存储介质 | |
CN108243034A (zh) | 一种故障确定方法、接收机及发射机 | |
CN115037546B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210416 |
|
RJ01 | Rejection of invention patent application after publication |