CN110704390B - 获取服务器维护脚本的方法、装置、电子设备及介质 - Google Patents
获取服务器维护脚本的方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN110704390B CN110704390B CN201910878003.8A CN201910878003A CN110704390B CN 110704390 B CN110704390 B CN 110704390B CN 201910878003 A CN201910878003 A CN 201910878003A CN 110704390 B CN110704390 B CN 110704390B
- Authority
- CN
- China
- Prior art keywords
- server
- log
- maintenance
- type
- problem information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 399
- 238000012423 maintenance Methods 0.000 title claims abstract description 129
- 238000013515 script Methods 0.000 title claims abstract description 81
- 238000012360 testing method Methods 0.000 claims abstract description 56
- 238000003745 diagnosis Methods 0.000 claims abstract description 29
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请的实施例提供了一种获取服务器维护脚本的方法、装置、电子设备及介质,本申请实施例的获取服务器维护脚本的方法包括:接收服务器维护请求,服务器维护请求中包括服务器标识和问题信息;根据服务器标识获取对应的服务器中的进程日志;确定进程日志与问题信息的匹配度;根据进程日志与问题信息的匹配度确定服务器中的问题进程;获取问题进程的类型,向问题进程发送与其类型对应的测试数据,得到问题进程输出的反馈数据;将问题进程的类型和反馈数据输入诊断模型,得到诊断模型输出的维护脚本。该方案接受服务器维护申请后自动生成维护脚本,提高了服务器的维护效率。
Description
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种获取服务器维护脚本的方法、装置、电子设备及介质。
背景技术
目前,互联网企业通常可以向海量的用户提供基于互联网的软件服务,互联网企业要实现向海量用户提供软件服务则需要大量的服务器进行支持,因此,当前的互联网服务通常是基于多个服务器正常运行的。服务器在运行过程中可能会出现各种各样的问题,从而导致软件服务出现问题,为了保证服务器的正常运行,维护人员会对服务器的运行状态进行监控,并在服务器出现问题时及时的解决问题,从而保证服务器以及软件服务的正常运行。
当前的管理工具通常需要在用户使用的电子设备上安装管理工具的客户端,导致管理服务器的操作较为复杂,维护服务器的效率较低。
发明内容
本申请的实施例提供了一种获取服务器维护脚本的配置方法、装置、电子设备以及介质,进而至少在一定程度上可以提高维护服务器的效率。
根据本申请实施例的一个方面,提供了一种获取服务器维护脚本的方法,所述获取服务器维护脚本的方法包括:接收服务器维护请求,所述服务器维护请求中包括服务器标识和问题信息;根据所述服务器标识获取所述服务器标识对应的服务器中的进程日志;根据所述进程日志与所述问题信息确定进程日志与问题信息的匹配度;根据所述进程日志与所述问题信息的匹配度确定所述服务器中的问题进程;获取所述问题进程的类型,向所述问题进程发送与所述问题进程的类型对应的测试数据,得到所述问题进程输出的对应所述测试数据的反馈数据;将所述问题进程的类型和所述反馈数据输入诊断模型,得到所述诊断模型输出的维护脚本。
根据本申请实施例的一个方面,提供了一种获取服务器维护脚本的装置,所述获取服务器维护脚本的装置包括接收模块、获取模块、确定模块、测试模块和诊断模块,所述接收模块用于接收服务器维护请求,所述服务器维护请求中包括服务器标识和问题信息;所述获取模块用于根据所述服务器标识获取所述服务器标识对应的服务器中的进程日志;所述确定模块用于根据所述进程日志与所述问题信息确定进程日志与问题信息的匹配度;所述确定模块还用于根据所述进程日志与所述问题信息的匹配度确定所述服务器中的问题进程;所述测试模块用于获取所述问题进程的类型,向所述问题进程发送与所述问题进程的类型对应的测试数据,得到所述问题进程输出的对应所述测试数据的反馈数据;所述诊断模块将所述问题进程的类型和所述反馈数据输入诊断模型,得到所述诊断模型输出的维护脚本。
在本申请的一些实施例中,基于前述方案,所述确定模块配置为:查找所述问题信息中的关键字;获取所述进程日志中所述关键字出现的次数;根据所述关键字在该进程日志中出现的次数,确定该进程日志与所述问题信息的匹配度。
在本申请的一些实施例中,基于前述方案,所述确定模块配置为:获取所述关键字在该进程日志中在设定时间段内出现的次数;用所述次数除以该进程日志在所述设定时间段内的总字符数,得到该进程日志与所述问题信息的匹配度。
在本申请的一些实施例中,基于前述方案,所述确定模块还配置为:确定所述进程日志的数量;若所述进程日志为多个,则获取每个进程日志与所述问题信息的匹配度;获取所述匹配度最高的进程日志对应的进程确定为所述服务器中的问题进程。
在本申请的一些实施例中,基于前述方案,所述获取模块配置为:在所述服务器正常工作时,获取所述服务器中的进程的类型,向所述服务器中的进程发送与所述服务器中的进程的类型对应的测试数据,得到所述服务器中的进程输出的对应所述测试数据的正常反馈数据;所述确定模块还配置为:比较所述问题进程输出的对应所述测试数据的反馈数据与所述问题进程输出的正常反馈数据的差值;若所述差值未达到阈值,则放弃维护该问题进程。
在本申请的一些实施例中,基于前述方案,所述测试模块配置为:所述问题进程的类型有一种或多种,对于每一种类型的问题进程,预设有与该种类型的问题进程对应的测试数据。
在本申请的一些实施例中,基于前述方案,所述诊断模块配置为:获取进程样本集合,所述进程样本集合中的每个进程样本贴有对应所述维护脚本的标签;针对所述进程样本集合中的每个进程样本,判断该进程样本的类型,向该进程样本发送与所述进程样本的类型对应的测试数据,将所述进程样本的类型和所述进程样本对测试数据的反馈数据输入所述诊断模型,所述诊断模型输出所述维护脚本;如果所述维护脚本与该进程样本标签对应的所述维护脚本不一致,调整所述诊断模型,使所述维护脚本与该进程样本标签对应的所述维护脚本一致。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的获取服务器维护脚本的方法。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的获取服务器维护脚本的方法。
在本申请的一些实施例所提供的技术方案中,通过接收包括服务器标识和问题信息的服务器维护请求可以找到出现问题的服务器;再获取服务器标识对应的服务器中的进程日志,确定进程日志与问题信息的匹配度,根据进程日志与问题信息确定进程日志与问题信息的匹配度;根据进程日志与问题信息的匹配度确定服务器中的问题进程,从而得知服务器中那个进程出现问题。再通过获取问题进程的类型,向问题进程发送与问题进程的类型对应的测试数据,得到问题进程输出的对应测试数据的反馈数据,得知进程出现了什么样的问题。最后通过将问题进程的类型和反馈数据输入诊断模型,得到诊断模型输出的维护脚本,避免了安装客户端等操作,提高了服务器的维护效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本申请实施例的技术方案的示例性***架构的示意图;
图2示意性示出了根据本申请的一个实施例的获取服务器维护脚本的方法的流程图;
图3示意性示出了根据本申请的一个实施例的确定进程日志与问题信息的匹配度的流程图;
图4示意性示出了根据本申请的一个实施例的确定进程日志与问题信息的匹配度的流程图;
图5示意性示出了根据本申请的一个实施例中根据进程日志与问题信息的匹配度确定服务器中的问题进程的流程图;
图6示意性示出了根据本申请的一个实施例中诊断模型的训练过程的流程图;
图7示意性示出了根据本申请的一个实施例的获取服务器维护脚本的装置的框图;
图8示意性示出了根据本申请的一个实施例的电子设备的硬件图;
图9示意性示出了根据本申请的一个实施例的用于实现上述获取服务器维护脚本的方法的计算机可读存储介质。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本申请实施例的技术方案的示例性***架构的示意图。
如图1所示,***架构可以包括网络104、服务器105、维护服务器106。网络104用以在服务器105和维护服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的网络104、服务器105和维护服务器106的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络、服务器105和维护服务器106。比如服务器105可以是多个服务器105组成的服务器集群等。
在本申请的一个实施例中,维护服务器106可以接收需要维护的服务器105发送的服务器维护请求,维护服务器106也可以接收自身产生的服务器维护请求。服务器维护请求中包括需要维护的服务器105的服务器标识和需要维护的服务器105中存在的问题信息。维护服务器106再获取与服务器标识对应的需要维护的服务器105中每个进程的进程日志或者获取需要维护的服务器105中指定进程的进程日志;根据进程日志与问题信息确定进程日志与问题信息的匹配度;根据进程日志与问题信息的匹配度确定需要维护的服务器105中的问题进程,从而找到需要维护的服务器105中出现问题的问题进程。维护服务器106再针对该问题进程的类型,向该问题进程发送与该问题进程的类型对应的测试数据,得到该问题进程针对测试数据输出的反馈数据;将该问题进程的类型和该问题进程输出的反馈数据输入诊断模型,得到诊断模型输出的维护脚本。
可见,由于本申请实施例的技术方案通过向诊断模型输入需要维修的服务器105中问题进程对测试数据的反馈数据,使诊断模型自动输出维护脚本,从而使中央服务器106自动生成针对需要维护的服务器105的服务器维护脚本,避免了在用户使用的电子设备上安装管理工具的客户端,也避免了维护人员需要根据不同服务器的不同格式编写不同的脚本,提高了服务器105的维护效率。
需要说明的是,本申请实施例所提供的获取服务器维护脚本方法一般由维护服务器106执行,相应地,获取服务器维护脚本装置一般设置于维护服务器106中。但是,在本申请的其它实施例中,维护服务器106也可以接收其他终端设备发送的维护请求。终端设备也可以与维护服务器106具有相似的功能,从而执行本申请实施例所提供的获取服务器维护脚本方法。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
参照图2所示,维护服务器106获取服务器维护脚本至少包括步骤S210至步骤S270,下文中提到的服务器即为图1中的服务器105,详细介绍如下:
在步骤S210中,接收服务器维护请求,服务器维护请求中包括服务器标识和问题信息。
在本申请的一个实施例中,每个服务器标识可以与服务器一一对应,服务器标识可以是服务器的IP地址(Internet Protocol Address,因特网协议地址)或者是人为设定的其他标识,服务器标识还可以包括服务器提供的协议端口号,通过服务器提供的协议端口号可以知道知道服务器中出现问题的应用软件是哪一个。
在本申请的一个实施例中,每个服务器标识可以对应一个由多个服务器组成的服务器组,每个服务器组中的多个服务器在将来出现同一问题的概率均达到设定值。某一服务器将来出现某个问题的概率与该服务器以往出现该问题的概率有关,可以确定该服务器以往出现该问题的概率越大,则该服务器将来出现该问题的概率越大。
将出现同一问题的概率达到设定值的服务器分成一组,同一组服务器都有很大概率出现同一问题,将出现同一问题的服务器对应同一个服务器标识,由于同一个问题的服务器维护脚本相同,这样只需获得该问题的服务器维护脚本就能解决一组服务器出现的问题。
在本申请的一个实施例中,每个服务器标识可以对应一个由多个服务器组成的服务器组,每个服务器组中的多个服务器格式相同,由于使用同一格式的服务器出现的同一问题采用同一维护脚本维护,将使用同一格式的服务器分在一组方便维护服务器。
在步骤S220中,根据服务器标识获取服务器标识对应的服务器中的进程日志。
在本申请的一个实施例中,服务器在执行每个任务时都会生成相应的进程日志,进程日志中描述了任务执行情况,在查找服务器中出现问题的问题进程时,可以获取服务器中所有进程的进程日志,在所有进程中查找问题进程可以对服务器中所有的进程进行维护。
在本申请的一个实施例中,在查找服务器中出现问题的问题进程时,可以获取服务器中指定进程的进程日志,在指定进程中查找问题进程,指定进程可以是出现问题可能性较大的进程,指定进程可以是一个或多个。有针对性的对服务器中的指定进程进行查找维护,减少了服务器的运算量。
在步骤S230中,根据进程日志与问题信息确定进程日志与问题信息的匹配度。
在本申请的一个实施例中,可以将进程日志与问题信息分别按设定的算法如哈希算法得到二者的哈希值,查找哈希值中每个字符对应的二进制数,并将每个字符对应的二进制数按照该字符在哈希值中的排序进行组合,得到进程日志的二进制数组和问题信息的二进制数组;从前向后截取相同长度的进程日志的二进制数组和问题信息的二进制数组,计算截取的进程日志的二进制数组和问题信息的二进制数组的汉明距离。将汉明距离的值确定为进程日志与问题信息的匹配度。
由于哈希值是由进程日志和问题信息的全文生成的,比较二者哈希值的相似度就能比较进程日志和问题信息的全文相似度,使查找结果准确。
在本申请的一个实施例中,如图3所示,步骤S230中根据进程日志与问题信息确定进程日志与问题信息的匹配度的过程,可以包括如下步骤:
在步骤S310中,查找问题信息中的关键字。
关键字可以为一个也可以为多个,将能够准确描述进程问题的字符设定成关键字,每个关键字中可以包含一个或多个字符。
在本申请的一个实施例中,可以预设关键字参考表,可以在问题信息中查找与关键字参考表中的预设关键字相同的字符作为关键字。
在本申请的一个实施例中,可以去除问题信息中的虚词,将去除虚词之后的问题信息中出现次数最多的字符作为关键字。能够准确提取出问题信息中的信息,使关键字的选取更加贴合问题实际。
在步骤S320中,获取进程日志中关键字出现的次数。
当关键字有多个时,分别获取每个关键字的次数。
在步骤S330中,根据关键字在该进程日志中出现的次数,确定该进程日志与问题信息的匹配度。
查找进程日志中与问题信息中的关键字相同的字符,当关键字有多个时,可以将不同关键字设定为不同权重和不同分数,求每个关键字的分数、权重和次数的积,将每个关键字的分数、权重和次数的积相加得到该进程的进程日志与问题信息的匹配度。关键字权重和分数的设定可以根据关键字的重要程度人为设定,由于计算出的匹配度考虑了关键字的重要程度,使计算出来的匹配度能够体现出问题的严重程度,有利于维护进程。同时,比较关键字比直接比较原文节约计算量,节约时间。
在本申请的一个实施例中,如图4所示,步骤S330中根据关键字在该进程日志中出现的次数,确定该进程日志与问题信息的匹配度的过程,可以包括如下步骤:
在步骤S410中,获取关键字在该进程的进程日志中在设定时间段内出现的次数;
在步骤S420中,用次数除以该进程的进程日志在设定时间段内的总字符数,得到该进程的进程日志与问题信息的匹配度。
设定时间段可以设定为从当时间往前的一段时间。由于每个进程每次执行任务的时间有限,当一个进程多次运行同一任务时在该进程的进程日志中产生的日志是循环的,可以根据每个进程在执行一次任务时花费的时间来设定时间段,减少运算量。
继续参照图2,在步骤S240中,根据进程日志与问题信息的匹配度确定服务器中的问题进程。
在本申请的一个实施例中,如图5所示,在步骤S240中根据进程日志与问题信息的匹配度确定服务器中的问题进程的过程,可以包括如下步骤:
在步骤S510中,确定进程日志的数量;
在步骤S520中,若进程日志为多个,则获取每个进程日志与问题信息的匹配度;
在步骤S530中,获取匹配度最高的进程日志对应的进程确定为服务器中的问题进程。
由于匹配度是通过将问题信息与进程日志做比较得出的,匹配度最高的值对应的进程日志是最符合问题信息的,所以直接选取匹配度最高的进程日志对应的进程能够准确的找到问题进程。
在本申请的一个实施例中,可以找到匹配度达到设值的进程日志,将匹配度达到设值的进程日志对应的进程都确定为问题进程,对这些问题进程进行维护,由于匹配度达到设值的进程日志对应的进程都出现了同一问题,将出现同一问题的进程统一维护效率更高。
其中,设定值可以设定为一个或多个,多个设定值可以根据二分法确定,即当第一个设定值太高使多个进程的匹配度都不能达到时,第二个设定值取第一个设定值的二分之一。
继续参照图2,在步骤S250中,获取问题进程的类型,向问题进程发送与问题进程的类型对应的测试数据,得到问题进程输出的对应测试数据的反馈数据。
在本申请的一个实施例中,问题进程的类型有一种或多种,对于每一种类型的问题进程,预设有与该种类型的问题进程对应的测试数据。可以预设问题进程类型与测试数据对照表,查找预设的问题进程类型与测试数据对照表,获得服务器中的每个问题进程对应的测试数据。问题进程类型可以根据进程本身来确定,服务器中的每个进程都对应一个预设的类型。
在本申请的一个实施例中,问题进程类型可以根据问题进程本身和问题信息来确定,对于一个问题进程,当其与不同问题信息匹配时,对应的测试数据不同。
在本申请的一个实施例中,该获取服务器维护脚本的方法还包括:在服务器正常工作时,获取服务器中的进程的类型,向服务器中的进程发送与服务器中的进程的类型对应的测试数据,得到服务器中的进程输出的对应测试数据的正常反馈数据。在步骤S250中,得到问题进程输出的对应测试数据的反馈数据之后,该获取服务器维护脚本的方法还可以包括:比较问题进程输出的对应测试数据的反馈数据与问题进程输出的正常反馈数据的差值;若差值未达到阈值,则放弃维护该问题进程。
在上述实施例中,由于问题进程输出的对应测试数据的反馈数据与问题进程输出的正常反馈数据的差值未达到阈值,说明该问题进程的问题在可以接受的范围内,为了节约资源,可以不维护该问题进程。阈值可以根据历史数据设定。
在上述实施例中,放弃维护该问题进程后,可以重新根据进程日志与问题信息的匹配度确定服务器中的问题进程,可以根据匹配度由高到低来逐渐筛选需要维护的问题进程。
在上述实施例中,若问题进程输出的对应测试数据的反馈数据与问题进程输出的正常反馈数据的差值达到阈值,则继续维护该问题进程。
在步骤S260中,将问题进程的类型和反馈数据输入诊断模型,得到诊断模型输出的维护脚本。
在上述实施例中,问题进程出现的问题通过进程日志能够体现出来,也能够通过问题进程的运行结果体现出来,在通过进程日志查找到问题进程后,再通过测试数据再次确认该进程是否是问题进程,能够更准确的获得问题进程中具体的问题情况,针对该反馈数据来得到维护脚本使维护脚本更加有针对性。
在本申请的一个实施例中,如图6所示,在步骤S260中将进程的类型和反馈数据输入诊断模型,得到诊断模型输出的维护脚本之前,诊断模型通过以下过程预先训练:
在步骤S610中,获取进程样本集合,进程样本集合中的每个进程样本贴有对应维护脚本的标签;
在步骤S620中,针对进程样本集合中的每个进程样本,判断该进程样本的类型,向该进程样本发送与进程样本的类型对应的测试数据,将进程样本的类型和进程样本对测试数据的反馈数据输入诊断模型,诊断模型输出维护脚本;
在步骤S630中,如果维护脚本与该进程样本标签对应的维护脚本不一致,调整诊断模型,使维护脚本与该进程样本标签对应的维护脚本一致。
在本申请的一个实施例中,进程样本可以为历史进程。在获取进程样本集合之前,获取多个历史进程和多个历史进程对应的历史进程维护脚本,将多个历史进程组成的集合作为进程样本集合,将多个历史进程对应的历史进程维护脚本作为进程样本对应的维护脚本。
在本申请的一些实施例所提供的技术方案中,通过接收包括服务器标识和问题信息的服务器维护请求可以找到出现问题的服务器;再获取服务器标识对应的服务器中的进程日志,确定进程日志与问题信息的匹配度,根据进程日志与问题信息确定进程日志与问题信息的匹配度;根据进程日志与问题信息的匹配度确定服务器中的问题进程,从而得知服务器中那个进程出现问题。再通过获取问题进程的类型,向问题进程发送与问题进程的类型对应的测试数据,得到问题进程输出的对应测试数据的反馈数据,得知进程出现了什么样的问题。最后通过将问题进程的类型和反馈数据输入诊断模型,得到诊断模型输出的维护脚本,避免了安装客户端等操作,提高了服务器的维护效率。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的获取服务器维护脚本的方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的获取服务器维护脚本的方法的实施例。
图7示意性示出了根据本申请的一个实施例的获取服务器维护脚本的装置的框图。
参照图7所示,根据本申请的一个实施例的获取服务器维护脚本的装置700,包括:接收模块701、获取模块702、确定模块703、测试模块704和诊断模块705。
其中,接收模块701用于接收服务器维护请求,服务器维护请求中包括服务器标识和问题信息;获取模块702用于根据服务器标识获取服务器标识对应的服务器中的进程日志;确定模块703用于根据进程日志与问题信息确定进程日志与问题信息的匹配度;确定模块703还用于根据进程日志与问题信息的匹配度确定服务器中的问题进程;测试模块704用于获取问题进程的类型,向问题进程发送与问题进程的类型对应的测试数据,得到问题进程输出的对应测试数据的反馈数据;诊断模块705将问题进程的类型和反馈数据输入诊断模型,得到诊断模型输出的维护脚本。
在本申请的一些实施例中,基于前述方案,确定模块703配置为:查找问题信息中的关键字;获取进程日志中关键字出现的次数;根据关键字在该进程日志中出现的次数,确定该进程日志与问题信息的匹配度。
在本申请的一些实施例中,基于前述方案,确定模块703配置为:获取关键字在该进程日志中在设定时间段内出现的次数;用次数除以该进程日志在设定时间段内的总字符数,得到该进程日志与问题信息的匹配度。
在本申请的一些实施例中,基于前述方案,确定模块703还配置为:当进程日志为多个时,获取多个进程日志与问题信息的匹配度,比较多个进程日志与问题信息的匹配度,将匹配度最高的进程日志对应的进程确定为服务器中的问题进程。
在本申请的一些实施例中,基于前述方案,诊断模块705配置为:获取进程样本集合,进程样本集合中的每个进程样本贴有对应维护脚本的标签;针对进程样本集合中的每个进程样本,判断该进程样本的类型,向该进程样本发送与进程样本的类型对应的测试数据,将进程样本的类型和进程样本对测试数据的反馈数据输入诊断模型,诊断模型输出维护脚本;如果维护脚本与该进程样本标签对应的维护脚本不一致,调整诊断模型,使维护脚本与该进程样本标签对应的维护脚本一致。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
下面参照图8来描述根据本发明的这种实施方式的电子设备80。图8显示的电子设备80仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备80以通用计算设备的形式表现。电子设备80的组件可以包括但不限于:上述至少一个处理单元81、上述至少一个存储单元82、连接不同***组件(包括存储单元82和处理单元81)的总线83,还可以包括一个或多个显示单元84。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元81执行,使得所述处理单元81执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。
存储单元82可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(ROM)823。
存储单元82还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线83可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备80也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备80交互的设备通信,和/或与使得该电子设备80能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。显示单元84可以为计算设备的显示屏幕。这种通信可以通过输入/输出(I/O)接口85进行。并且,电子设备80还可以通过网络适配器86与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器86通过总线83与电子设备80的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备80使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
根据本公开一个实施例,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图9所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品90,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种获取服务器维护脚本的方法,其特征在于,包括:
接收服务器维护请求,所述服务器维护请求中包括服务器标识和问题信息,每个服务器标识对应一个由多个服务器组成的服务器组,每个服务器组中的多个服务器出现同一问题的概率均达到设定值;
根据所述服务器标识获取所述服务器中指定进程的进程日志,所述指定进程是指出现问题可能性较大的进程,所述指定进程可以是一个或多个;
将所述指定进程的进程日志与问题信息分别按设定的算法如哈希算法得到二者的哈希值,查找哈希值中每个字符对应的二进制数,并将每个字符对应的二进制数按照该字符在哈希值中的排序进行组合,得到进程日志的二进制数组和问题信息的二进制数组;
从前向后截取相同长度的进程日志的二进制数组和问题信息的二进制数组,计算截取的进程日志的二进制数组和问题信息的二进制数组的汉明距离;
将汉明距离的值确定为进程日志与问题信息的匹配度;
根据所述进程日志与所述问题信息的匹配度确定所述服务器中的问题进程;
获取所述问题进程的类型,向所述问题进程发送与所述问题进程的类型对应的测试数据,得到所述问题进程输出的对应所述测试数据的反馈数据;
将所述问题进程的类型和所述反馈数据输入诊断模型,得到所述诊断模型输出的维护脚本。
2.根据权利要求1所述的获取服务器维护脚本的方法,其特征在于,所述确定进程日志与所述问题信息的匹配度,包括:
查找所述问题信息中的关键字;
获取所述进程日志中所述关键字出现的次数;
根据所述关键字在该进程日志中出现的次数,确定该进程日志与所述问题信息的匹配度。
3.根据权利要求2所述的获取服务器维护脚本的方法,其特征在于,所述根据所述关键字在该进程日志中出现的次数,确定该进程日志与所述问题信息的匹配度包括:
获取所述关键字在该进程日志中在设定时间段内出现的次数;
用所述次数除以该进程日志在所述设定时间段内的总字符数,得到该进程日志与所述问题信息的匹配度。
4.根据权利要求1所述的获取服务器维护脚本的方法,其特征在于,所述根据进程日志与所述问题信息的匹配度确定所述服务器中的问题进程,包括:
确定所述进程日志的数量;
若所述进程日志为多个,则获取每个进程日志与所述问题信息的匹配度;
获取所述匹配度最高的进程日志对应的进程确定为所述服务器中的问题进程。
5.根据权利要求1所述的获取服务器维护脚本的方法,其特征在于,所述方法包括:
在所述服务器正常工作时,获取所述服务器中的进程的类型,向所述服务器中的进程发送与所述服务器中的进程的类型对应的测试数据,得到所述服务器中的进程输出的对应所述测试数据的正常反馈数据;
在所述得到所述问题进程输出的对应所述测试数据的反馈数据之后,所述方法包括:
比较所述问题进程输出的对应所述测试数据的反馈数据与所述问题进程输出的正常反馈数据的差值;
若所述差值未达到阈值,则放弃维护该问题进程。
6.根据权利要求1所述的获取服务器维护脚本的方法,其特征在于,
所述获取所述问题进程的类型,向所述问题进程发送与所述问题进程的类型对应的测试数据,包括:
所述问题进程的类型有一种或多种,对于每一种类型的问题进程,预设有与该种类型的问题进程对应的测试数据。
7.根据权利要求1所述的获取服务器维护脚本的方法,其特征在于,所述诊断模型通过以下过程预先训练:
获取进程样本集合,所述进程样本集合中的每个进程样本贴有对应所述维护脚本的标签;
针对所述进程样本集合中的每个进程样本,判断该进程样本的类型,向该进程样本发送与所述进程样本的类型对应的测试数据,将所述进程样本的类型和所述进程样本对测试数据的反馈数据输入所述诊断模型,所述诊断模型输出所述维护脚本;
如果所述维护脚本与该进程样本标签对应的所述维护脚本不一致,调整所述诊断模型,使所述维护脚本与该进程样本标签对应的所述维护脚本一致。
8.一种获取服务器维护脚本的装置,其特征在于,包括:
接收模块,用于接收服务器维护请求,所述服务器维护请求中包括服务器标识和问题信息,每个服务器标识对应一个由多个服务器组成的服务器组,每个服务器组中的多个服务器出现同一问题的概率均达到设定值;
获取模块,用于根据所述服务器标识获取所述服务器中指定进程的进程日志,所述指定进程是指出现问题可能性较大的进程,所述指定进程可以是一个或多个;
确定模块,用于将所述指定进程的进程日志与问题信息分别按设定的算法如哈希算法得到二者的哈希值,查找哈希值中每个字符对应的二进制数,并将每个字符对应的二进制数按照该字符在哈希值中的排序进行组合,得到进程日志的二进制数组和问题信息的二进制数组;
从前向后截取相同长度的进程日志的二进制数组和问题信息的二进制数组,计算截取的进程日志的二进制数组和问题信息的二进制数组的汉明距离;
将汉明距离的值确定为进程日志与问题信息的匹配度;
所述确定模块还用于根据所述进程日志与所述问题信息的匹配度确定所述服务器中的问题进程;
测试模块,用于获取所述问题进程的类型,向所述问题进程发送与所述问题进程的类型对应的测试数据,得到所述问题进程输出的对应所述测试数据的反馈数据;
诊断模块,将所述问题进程的类型和所述反馈数据输入诊断模型,得到所述诊断模型输出的维护脚本。
9.一种电子设备,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,读取存储器存储的计算机可读指令,以执行权利要求1-7中的任一项所述的获取服务器维护脚本的方法。
10.一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-7中的任一项所述的获取服务器维护脚本的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910878003.8A CN110704390B (zh) | 2019-09-17 | 2019-09-17 | 获取服务器维护脚本的方法、装置、电子设备及介质 |
PCT/CN2019/117689 WO2021051567A1 (zh) | 2019-09-17 | 2019-11-12 | 获取服务器维护脚本的方法、装置、电子设备及计算机非易失性可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910878003.8A CN110704390B (zh) | 2019-09-17 | 2019-09-17 | 获取服务器维护脚本的方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704390A CN110704390A (zh) | 2020-01-17 |
CN110704390B true CN110704390B (zh) | 2024-05-24 |
Family
ID=69195286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910878003.8A Active CN110704390B (zh) | 2019-09-17 | 2019-09-17 | 获取服务器维护脚本的方法、装置、电子设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110704390B (zh) |
WO (1) | WO2021051567A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182193B (zh) * | 2020-10-19 | 2023-01-13 | 山东旗帜信息有限公司 | 一种交通行业中日志获取方法、设备及介质 |
CN112835853B (zh) * | 2020-12-31 | 2024-03-22 | 北京聚云科技有限公司 | 一种数据处理类型确定方法及装置 |
CN117251196A (zh) * | 2023-11-20 | 2023-12-19 | 太平金融科技服务(上海)有限公司深圳分公司 | 一种数据维护方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243216A (zh) * | 2014-09-28 | 2014-12-24 | 北京国双科技有限公司 | 集群服务器的维护方法及装置 |
CN106844137A (zh) * | 2016-12-08 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 服务器的监控方法和装置 |
CN107145779A (zh) * | 2017-03-16 | 2017-09-08 | 北京网康科技有限公司 | 一种离线恶意软件日志的识别方法和装置 |
CN108897665A (zh) * | 2018-06-29 | 2018-11-27 | 平安科技(深圳)有限公司 | 日志管理方法、装置、计算机设备及存储介质 |
CN109144789A (zh) * | 2018-09-10 | 2019-01-04 | 网宿科技股份有限公司 | 一种重启osd的方法、装置及*** |
CN109218041A (zh) * | 2017-06-29 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 用于服务器***的请求处理方法和装置 |
CN109446309A (zh) * | 2018-10-30 | 2019-03-08 | 天津字节跳动科技有限公司 | 问题反馈方法及装置 |
CN109491860A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 应用程序的异常检测方法、终端设备及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579607B2 (en) * | 2017-04-28 | 2020-03-03 | Splunk Inc. | Single point of dispatch for hybrid cloud deployment for indexer clusters |
-
2019
- 2019-09-17 CN CN201910878003.8A patent/CN110704390B/zh active Active
- 2019-11-12 WO PCT/CN2019/117689 patent/WO2021051567A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243216A (zh) * | 2014-09-28 | 2014-12-24 | 北京国双科技有限公司 | 集群服务器的维护方法及装置 |
CN106844137A (zh) * | 2016-12-08 | 2017-06-13 | 腾讯科技(深圳)有限公司 | 服务器的监控方法和装置 |
CN107145779A (zh) * | 2017-03-16 | 2017-09-08 | 北京网康科技有限公司 | 一种离线恶意软件日志的识别方法和装置 |
CN109218041A (zh) * | 2017-06-29 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 用于服务器***的请求处理方法和装置 |
CN108897665A (zh) * | 2018-06-29 | 2018-11-27 | 平安科技(深圳)有限公司 | 日志管理方法、装置、计算机设备及存储介质 |
CN109144789A (zh) * | 2018-09-10 | 2019-01-04 | 网宿科技股份有限公司 | 一种重启osd的方法、装置及*** |
CN109491860A (zh) * | 2018-10-17 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 应用程序的异常检测方法、终端设备及介质 |
CN109446309A (zh) * | 2018-10-30 | 2019-03-08 | 天津字节跳动科技有限公司 | 问题反馈方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021051567A1 (zh) | 2021-03-25 |
CN110704390A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704390B (zh) | 获取服务器维护脚本的方法、装置、电子设备及介质 | |
CN111026653B (zh) | 异常程序行为检测方法、装置、电子设备和存储介质 | |
CN110858172A (zh) | 一种自动化测试代码生成方法和装置 | |
CN109783324B (zh) | ***运行预警方法及装置 | |
US11388244B1 (en) | Method, device, and program product for managing computer system | |
CN113297287B (zh) | 用户策略自动部署方法、装置及电子设备 | |
US11301355B2 (en) | Method, electronic device, and computer program product for analyzing log file | |
US11423219B2 (en) | Generation and population of new application document utilizing historical application documents | |
WO2021155683A1 (zh) | 日志打印方法、装置、电子设备和存储介质 | |
CN114398343A (zh) | 数据库异常键处理方法、装置、设备及介质 | |
CN113609008A (zh) | 测试结果分析方法、装置和电子设备 | |
CN112333016A (zh) | 报障处理方法、***、设备及存储介质 | |
US20180375926A1 (en) | Distributed processing systems | |
US20200202230A1 (en) | Cognitive device support for potentially affected devices | |
CN116225848A (zh) | 日志监测方法、装置、设备和介质 | |
US11662927B2 (en) | Redirecting access requests between access engines of respective disk management devices | |
CN115292187A (zh) | 无编码的页面自动测试方法、装置、电子设备和介质 | |
CN112712443B (zh) | 换流站的事件分析方法及分析装置 | |
CN113537519A (zh) | 一种识别异常设备的方法和装置 | |
CN114024691A (zh) | 基于云安全的漏洞情报处理方法、装置、设备及介质 | |
US11636004B1 (en) | Method, electronic device, and computer program product for training failure analysis model | |
CN113900895B (zh) | 信息处理方法、信息处理装置、存储介质与电子设备 | |
CN109525630B (zh) | 发送数据分析委托请求的方法、装置、介质及电子设备 | |
CN114139091A (zh) | 处理延迟的评估方法、装置、介质及电子设备 | |
WO2021017288A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |