本申请涉及互联网技术领域,尤其涉及一种监控服务器的云算力的方法、终端、设备及存储介质。
背景技术:
算力是比特币网络处理能力的度量单位,也称哈希率。即为计算机计算哈希函数输出的速度。比特币网络必须为了安全目的而进行密集的数学和加密相关操作。例如,当网络达到10th/s的哈希率时,意味着它可以每秒进行10万亿次计算。
目前,终端为了分析服务器的云算力,大多通过http请求获取服务器中关于服务器云算力的数据,一般采用轮询方式获取。具体来说,是以特定的时间间隔(如每1秒)为一个周期,由终端的浏览器向服务器发送http请求,然后由服务器获取最新的数据,将最新的数据返回给终端的浏览器。
但是,这种基于http请求来从服务器获取最新的数据的方式中,终端的浏览器需要周期性的、不断的向服务器发出http请求。一方面中,由于http请求一般包含较长的头部,在http请求的包头中包括真正有效的数据可能只是占据包头的很小一部分,因此频繁发送http请求会浪费很多的网络资源。可见,另方面中,这种基于http请求获取最新的数据的方式只能通过周期性的发送http请求来获取最新的数据,由于在发送http请求的周期期间,服务器的数据可能会发生较大的变化,如果继续采用这种基于http请求获取服务器中最新的数据,则会导致终端无法及时的获取到服务器中最新的数据。导致数据分析不准确,进而导致服务器的资源的利用不合理。
技术实现要素:
本申请提供了一种监控服务器的云算力的方法、终端、设备及存储介质,能够解决现有技术中终端无法及时获取到服务器中最新的数据而导致服务器的资源的利用不合理的问题。
第一方面,本申请提供一种监控服务器的云算力的方法,所述方法应用于分布式系统,所述分布式系统包括至少一个终端和多个服务器,所述方法由所述终端执行,所述方法包括:
所述终端与所述多个服务器建立通信连接;
所述终端从各服务器获取服务器当前的云算力数据,所述运算力数据包括处理器占用率、内存占用率、带宽占用数据、空闲计算能力和运行数据;
所述终端将根据各服务器的处理器占用率、内存占用率、带宽占用数据、空闲计算能力和运行数据输入运算力模型,以训练云算力模型;
所述终端根据所述运算力模型计算所述分布式系统中是否存在具备空闲算力的服务器;
若存在具备空闲算力的服务器,则将具备空闲算力的服务器构建为算力服务器池;
将所述算力服务器池接入到所述分布式系统中,利用所述算力服务器池中的空闲算力执行算力操作。
在一些可能的设计中,所述服务器的运行数据包括服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段;所述所述终端根据所述运算力模型计算所述分布式系统中是否存在具备空闲算力的服务器,包括:
将所述多个服务器的硬件参数,以及多个服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段均输入所述运算力模型中;
在所述运算力模型中,根据所述多个服务器的硬件参数,以及多个服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段,计算得到具备空闲算力的至少一个备选服务器及各备选服务器的空闲资源;
根据各备选服务器的空闲资源和当前时段计算各备选服务器的空闲算力;
从各备选服务器中选择空闲算力达到预设空闲算力可用条件的备选服务器;
将空闲算力达到预设空闲算力可用条件的备选服务器确定为所述具备空闲算力的服务器。
在一些可能的设计中,所述流量数据包括流量数据特征和流量发生的渠道信息;所述方法还包括:
监测各服务器的流量数据特征和流量发生的渠道信息;
根据各服务器的流量数据特征和流量发生的渠道信息检测多个服务器中是否存在非法接入到所述分布式系统中的非法服务器;
若检测到流量数据不通过所述云算力服务器池且与外部设备进行交互,则确定多个服务器中存在非法接入到所述分布式系统中的非法服务器;
或者,多个服务器的流量数据之和与算力服务器池与外部设备进行交互的流量数据不一致,则确定多个服务器中存在非法接入到所述分布式系统中的非法服务器;
根据所述流量数据中流量发生的渠道信息查找多个服务器中存在非法接入到所述分布式系统中的非法服务器;
发出提示信息,所述提示信息用于指示多个服务器中存在非法接入到所述分布式系统中的非法服务器。
在一些可能的设计中,所述终端与所述多个服务器建立通信连接之后,所述终端从各服务器获取服务器当前的云算力参数之前,所述方法还包括:
生成第一消息,所述第一消息用于向所述服务器发送心跳检测的指令;其中,所述第一消息包括包头,所述包头包括预留字段;
将http请求信息添加至所述第一求消息的预留字段中,得到第二消息;
向至少一个所述服务器发送所述第二消息,以使得所述服务器接收到接收到所述第二消息之后,向所述终端返回服务器当前的运算力数据;其中,所述http请求信息用于向服务器请求获取服务器当前的云算力数据,所述http请求消息为所述终端与所述服务器之间约定的标志字段。
第二方面,本申请提供一种监控服务器的云算力的方法,具有实现对应于上述第一方面提供的监控服务器的云算力的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种可能的设计中,所述终端应用于分布式系统,所述分布式系统包括至少一个所述终端和多个服务器,所述终端包括:
控制模块,用于控制所述终端与所述多个服务器建立通信连接;
收发模块,用于从各服务器获取服务器当前的云算力数据,所述运算力数据包括处理器占用率、内存占用率、带宽占用数据、空闲计算能力和运行数据;
处理模块,用于将根据各服务器的处理器占用率、内存占用率、带宽占用数据、空闲计算能力和运行数据输入运算力模型,以训练云算力模型;根据所述运算力模型计算所述分布式系统中是否存在具备空闲算力的服务器;若存在具备空闲算力的服务器,则将具备空闲算力的服务器构建为算力服务器池;通过所述控制模块将所述算力服务器池接入到所述分布式系统中,利用所述算力服务器池中的空闲算力执行算力操作。
一种可能的设计中,所述服务器的运行数据包括服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段;所述处理模块具体用于:
将所述多个服务器的硬件参数,以及多个服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段均输入所述运算力模型中;
在所述运算力模型中,根据所述多个服务器的硬件参数,以及多个服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段,计算得到具备空闲算力的至少一个备选服务器及各备选服务器的空闲资源;
根据各备选服务器的空闲资源和当前时段计算各备选服务器的空闲算力;
从各备选服务器中选择空闲算力达到预设空闲算力可用条件的备选服务器;
将空闲算力达到预设空闲算力可用条件的备选服务器确定为所述具备空闲算力的服务器。
一种可能的设计中,所述流量数据包括流量数据特征和流量发生的渠道信息;所述处理模块还用于:
监测各服务器的流量数据特征和流量发生的渠道信息;
根据各服务器的流量数据特征和流量发生的渠道信息检测多个服务器中是否存在非法接入到所述分布式系统中的非法服务器;
若检测到流量数据不通过所述云算力服务器池且与外部设备进行交互,则确定多个服务器中存在非法接入到所述分布式系统中的非法服务器;
或者,多个服务器的流量数据之和与算力服务器池与外部设备进行交互的流量数据不一致,则确定多个服务器中存在非法接入到所述分布式系统中的非法服务器;
根据所述流量数据中流量发生的渠道信息查找多个服务器中存在非法接入到所述分布式系统中的非法服务器;
通过所述收发模块发出提示信息,所述提示信息用于指示多个服务器中存在非法接入到所述分布式系统中的非法服务器。
一种可能的设计中,所述处理模块在所述控制模块控制所述终端与所述多个服务器建立通信连接之后,所述收发模块从各服务器获取服务器当前的云算力参数之前,还用于:
生成第一消息,所述第一消息用于向所述服务器发送心跳检测的指令;其中,所述第一消息包括包头,所述包头包括预留字段;
将http请求信息添加至所述第一求消息的预留字段中,得到第二消息;
通过所述收发模块向至少一个所述服务器发送所述第二消息,以使得所述服务器接收到接收到所述第二消息之后,向所述终端返回服务器当前的运算力数据;其中,所述http请求信息用于向服务器请求获取服务器当前的云算力数据,所述http请求消息为所述终端与所述服务器之间约定的标志字段。
本申请又一方面提供了一种计算机设备,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述第一方面所述的方法。
本申请又一方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
与现有机制相比,本申请实施例中,终端从各服务器获取服务器当前的云算力数据后,根据各服务器的云算力参数训练云算力模型,根据运算力模型计算分布式系统中是否存在具备空闲算力的服务器;若存在具备空闲算力的服务器,则将具备空闲算力的服务器构建为算力服务器池;将算力服务器池接入到分布式系统中,利用算力服务器池中的空闲算力执行算力操作。采用本方案,能够准确的甄别出当前具备空闲算力的服务器,并且额外的构建一个算力服务器池,使得整个分布式系统的资源利用率得到有效的提高。
附图说明
图1为本申请实施例中监控服务器的云算力的方法的一种流程示意图;
图2为本申请实施例中终端的一种结构示意图;
图3为本申请实施例中计算机设备的一种结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。本申请的说明书和权利要求书及上述附图中的术语″第一”、″第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语″包括”和″具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。
本申请提供一种监控服务器的云算力的方法、终端、设备及存储介质,可用于区块链系统。
请参照图1,以下介绍本申请实施例中的一种监控服务器的云算力的方法,所述方法应用于分布式系统,所述分布式系统包括至少一个终端和多个服务器,所述方法由所述终端执行,所述方法包括:
101、所述终端与所述多个服务器建立通信连接。
102、所述终端从各服务器获取服务器当前的云算力数据。
所述运算力数据包括处理器占用率、内存占用率、带宽占用数据、空闲计算能力和运行数据。
103、所述终端将根据各服务器的处理器占用率、内存占用率、带宽占用数据、空闲计算能力和运行数据输入运算力模型,以训练云算力模型。
104、所述终端根据所述运算力模型计算所述分布式系统中是否存在具备空闲算力的服务器。
105、若存在具备空闲算力的服务器,则将具备空闲算力的服务器构建为算力服务器池。
106、将所述算力服务器池接入到所述分布式系统中,利用所述算力服务器池中的空闲算力执行算力操作。
与现有机制相比,本申请实施例中,终端从各服务器获取服务器当前的云算力数据后,根据各服务器的云算力参数训练云算力模型,根据运算力模型计算分布式系统中是否存在具备空闲算力的服务器;若存在具备空闲算力的服务器,则将具备空闲算力的服务器构建为算力服务器池;将算力服务器池接入到分布式系统中,利用算力服务器池中的空闲算力执行算力操作。采用本方案,能够准确的甄别出当前具备空闲算力的服务器,并且额外的构建一个算力服务器池,使得整个分布式系统的资源利用率得到有效的提高。
在一些实施方式中,所述服务器的运行数据包括服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段;所述所述终端根据所述运算力模型计算所述分布式系统中是否存在具备空闲算力的服务器,包括:
将所述多个服务器的硬件参数,以及多个服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段均输入所述运算力模型中;
在所述运算力模型中,根据所述多个服务器的硬件参数,以及多个服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段,计算得到具备空闲算力的至少一个备选服务器及各备选服务器的空闲资源;
根据各备选服务器的空闲资源和当前时段计算各备选服务器的空闲算力;
从各备选服务器中选择空闲算力达到预设空闲算力可用条件的备选服务器;
将空闲算力达到预设空闲算力可用条件的备选服务器确定为所述具备空闲算力的服务器。
在一些实施方式中,所述流量数据包括流量数据特征和流量发生的渠道信息;所述方法还包括:
监测各服务器的流量数据特征和流量发生的渠道信息;
根据各服务器的流量数据特征和流量发生的渠道信息检测多个服务器中是否存在非法接入到所述分布式系统中的非法服务器;
若检测到流量数据不通过所述云算力服务器池且与外部设备进行交互,则确定多个服务器中存在非法接入到所述分布式系统中的非法服务器;
或者,若检测到多个服务器的流量数据之和与算力服务器池与外部设备进行交互的流量数据不一致,则确定多个服务器中存在非法接入到所述分布式系统中的非法服务器;
根据所述流量数据中流量发生的渠道信息查找多个服务器中存在非法接入到所述分布式系统中的非法服务器;
发出提示信息,所述提示信息用于指示多个服务器中存在非法接入到所述分布式系统中的非法服务器。
在一些实施方式中,所述终端与所述多个服务器建立通信连接之后,所述终端从各服务器获取服务器当前的云算力参数之前,所述方法还包括:
生成第一消息,所述第一消息用于向所述服务器发送心跳检测的指令;其中,所述第一消息包括包头,所述包头包括预留字段;
将http请求信息添加至所述第一求消息的预留字段中,得到第二消息;
向至少一个所述服务器发送所述第二消息,以使得所述服务器接收到接收到所述第二消息之后,向所述终端返回服务器当前的运算力数据;其中,所述http请求信息用于向服务器请求获取服务器当前的云算力数据,所述http请求消息为所述终端与所述服务器之间约定的标志字段。
可见,由于第一消息和第二消息为向所述服务器发送心跳检测的指令,而本申请在第一消息的基础上,利用第一消息中的预留字段向服务器发送http请求信息,无需另外向服务器周期性的发送http请求消息以获取服务器当前的云算力数据,从而节省了带宽占用现象,避免频繁发送http请求消息引起的带宽不足问题。
在一些实施方式中,服务器还可以主动向终端发送当前的云算力数据,无需在接收到终端发送的http请求消息或者第二消息之后才向终端反馈当前的云算力数据;或者当一个较短的时段内服务器的云算力数据变化较多时,服务器主动向终端发送当前的云算力数据;或者当一个较短的时段内服务器的云算力数据变化较快时,服务器主动向终端发送当前的云算力数据;通过这些实施方式,能够实时的向终端反馈最新的云算力数据,使得终端的操作人员分析各服务器的空闲云算力的准确度增加,降低由于服务器当前的云算力数据的获取延时所导致的分布式系统资源的利为得到充分利用的现象。
上述图1所对应的实施例或实施方式中所提及的技术特征也同样适用于本申请中的图2所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种监控服务器的云算力的方法进行说明,以下对执行上述一种监控服务器的云算力的方法的终端进行描述。
如图2所示的一种终端的结构示意图,其可应用于分布式系统,所述分布式系统包括至少一个所述终端和多个服务器。本申请实施例中的终端能够实现对应于上述图1所对应的实施例中所执行的监控服务器的云算力的方法的步骤。终端实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述终端可包括控制模块、收发模块和处理模块,所述控制模块、所述收发模块和所述处理模块的功能实现可参考图1所对应的实施例中所执行的操作,此处不作赘述。所述处理模块可用于控制所述收发模块的收发操作。
一些实施方式中,所述终端包括:
控制模块,用于控制所述终端与所述多个服务器建立通信连接;
收发模块,用于从各服务器获取服务器当前的云算力数据,所述运算力数据包括处理器占用率、内存占用率、带宽占用数据、空闲计算能力和运行数据;
处理模块,用于将根据各服务器的处理器占用率、内存占用率、带宽占用数据、空闲计算能力和运行数据输入运算力模型,以训练云算力模型;根据所述运算力模型计算所述分布式系统中是否存在具备空闲算力的服务器;若存在具备空闲算力的服务器,则将具备空闲算力的服务器构建为算力服务器池;通过所述控制模块将所述算力服务器池接入到所述分布式系统中,利用所述算力服务器池中的空闲算力执行算力操作。
本申请实施例中,所述处理模块从各服务器获取服务器当前的云算力数据后,根据各服务器的云算力参数训练云算力模型,根据运算力模型计算分布式系统中是否存在具备空闲算力的服务器;若存在具备空闲算力的服务器,则将具备空闲算力的服务器构建为算力服务器池;将算力服务器池接入到分布式系统中,利用算力服务器池中的空闲算力执行算力操作。采用本方案,能够准确的甄别出当前具备空闲算力的服务器,并且额外的构建一个算力服务器池,使得整个分布式系统的资源利用率得到有效的提高。
一些实施方式中,所述服务器的运行数据包括服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段;所述处理模块具体用于:
将所述多个服务器的硬件参数,以及多个服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段均输入所述运算力模型中;
在所述运算力模型中,根据所述多个服务器的硬件参数,以及多个服务器在至少一个时段内的使用者信息、运行程序信息、流量数据和运行时段,计算得到具备空闲算力的至少一个备选服务器及各备选服务器的空闲资源;
根据各备选服务器的空闲资源和当前时段计算各备选服务器的空闲算力;
从各备选服务器中选择空闲算力达到预设空闲算力可用条件的备选服务器;
将空闲算力达到预设空闲算力可用条件的备选服务器确定为所述具备空闲算力的服务器。
一些实施方式中,所述流量数据包括流量数据特征和流量发生的渠道信息;所述处理模块还用于:
监测各服务器的流量数据特征和流量发生的渠道信息;
根据各服务器的流量数据特征和流量发生的渠道信息检测多个服务器中是否存在非法接入到所述分布式系统中的非法服务器;
若检测到流量数据不通过所述云算力服务器池且与外部设备进行交互,则确定多个服务器中存在非法接入到所述分布式系统中的非法服务器;
或者,多个服务器的流量数据之和与算力服务器池与外部设备进行交互的流量数据不一致,则确定多个服务器中存在非法接入到所述分布式系统中的非法服务器;
根据所述流量数据中流量发生的渠道信息查找多个服务器中存在非法接入到所述分布式系统中的非法服务器;
通过所述收发模块发出提示信息,所述提示信息用于指示多个服务器中存在非法接入到所述分布式系统中的非法服务器。
一些实施方式中,所述处理模块在所述控制模块控制所述终端与所述多个服务器建立通信连接之后,所述收发模块从各服务器获取服务器当前的云算力参数之前,还用于:
生成第一消息,所述第一消息用于向所述服务器发送心跳检测的指令;其中,所述第一消息包括包头,所述包头包括预留字段;
将http请求信息添加至所述第一求消息的预留字段中,得到第二消息;
通过所述收发模块向至少一个所述服务器发送所述第二消息,以使得所述服务器接收到接收到所述第二消息之后,向所述终端返回服务器当前的运算力数据;其中,所述http请求信息用于向服务器请求获取服务器当前的云算力数据,所述http请求消息为所述终端与所述服务器之间约定的标志字段。
图2中所示的收发模块对应的实体设备为图3所示的收发器,该收发器能够实现收发模块1部分或全部的功能,或者实现与收发模块相同或相似的功能。
图2中所示的处理模块对应的实体设备为图3所示的处理器,该处理器能够实现处理模块部分或全部的功能,或者实现与处理模块相同或相似的功能。
上面从模块化功能实体的角度分别介绍了本申请实施例中的终端,以下从硬件角度介绍一种计算机设备,如图3所示,其包括:处理器、存储器、收发器(也可以是输入输出单元,图3中未标识出)以及存储在所述存储器中并可在所述处理器上运行的计算机程序。例如,该计算机程序可以为图1所对应的实施例中监控服务器的云算力的方法对应的程序。例如,当计算机设备实现如图2所示的终端的功能时,所述处理器执行所述计算机程序时实现上述图2所对应的实施例中由终端执行的监控服务器的云算力的方法中的各步骤;或者,所述处理器执行所述计算机程序时实现上述图2所对应的实施例的终端中各模块的功能。又例如,该计算机程序可以为图1所对应的实施例中监控服务器的云算力的方法对应的程序。
所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述收发器也可以用接收器和发送器代替,可以为相同或者不同的物理实体。为相同的物理实体时,可以统称为收发器。该收发器可以为输入输出单元。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本申请的保护之内。