一种宕机定位修复方法及系统
技术领域
本发明涉及一种宕机定位修复方法及系统,属于计算机技术领域。
背景技术
在当今时代,计算机已经成为生活、办公、娱乐不可缺少的工具,而建议在计算机上的各类应用,更是丰富了这一体验。
一些大型的软件,其研发涉及到的领域可能非常多,例如一游戏,可能会集成另外一家公司的游戏引擎,或者集成非本公司自研的一些模块。同时,某些软件也会为了实现自身的一些功能,会将自己的程序注入到其他程序里去,例如防毒软件、输入法等。
由于这些主动或被动的程序会在自己的程序运行期间起到作用,一旦处理不好,则很可能导致自身程序的功能异常,甚至崩溃。
行业主流的解决方案是分析这些异常情况,初步定位问题,若发现该问题确实由第三方软件引起,则提交给第三方进行修复,此过程耗时长,且对于自身来说时间与进度完全不可控。
发明内容
为解决上述问题,本发明的目的在于提供一种宕机定位修复方法及系统,收集并分析玩家宕机信息,统计宕机原因,将所有因为第三方软件导致的宕机抽取出来,将抽取出来的数据进行二次分析,达到标准则将该数据录入到第三方软件黑名单,客户端获取玩家计算机软件安装信息,与云端黑名单对比,若匹配上,则进入第四步,若未匹配上,则结束流程,客户端向用户推送第三方软件安装包并执行安装。
本发明解决其问题所采用的技术方案一方面是:一种宕机定位修复方法,其特征在于,包括以下步骤:S100、收集用户的宕机信息,根据宕机信息对引发宕机的原因进行分类,其中宕机信息包括程序运行的硬件环境信息以及软件环境信息;S200、统计因第三方软件导致的宕机信息并记录对应的模块信息,上传到云端服务器数据中进行存储,其中模块信息包括模块名称以及模块引用的第三方软件信息;S300、在数据库中统计造成宕机的第三方软件信息,并按照名单策略将符合条件的第三方软件信息录入黑名单,其中第三方软件信息包括软件版本号、软件名称、开发者以及软件开发环境;S400、用户系统运行发生宕机时,提取宕机信息中的第三方软件信息,并上传到云端服务器中进行对比,若第三方软件信息在黑名单中,则判断该第三方软件导致的宕机并执行步骤S500,否则输出第三方软件正常的结果;S500、根据宕机信息向用户推荐第三方软件的对应安装包,并执行程序安装,完成宕机引发原因的定位和修复。
进一步的,所述硬件环境信息包括但不限于MAC地址以及中央处理器型号。
进一步的,所述软件环境信息包括但不限于操作系统版本号以及软件正常运行的必要组件版本号。
进一步的,所述S300包括:S301、运行程序,同时启用监测模块记录程序运行过程;S302、发生宕机时,检测模块记录该时刻的内存信息,获取异常点;S303、根据异常点定位到具体的系统调用模块,根据调用模块得到可能的错误源;S304、若调用模块名称为第三方软件的软件名称,则判断错误源对应的第三方软件并获取第三方软件信息,否则不执行操作;S305、统计同一个软件在不同机器中发生宕机的次数,若超过一定次数,则将该第三方软件信息列入黑名单,否则不执行操作,其中一定次数可自定义。
进一步的,所述S400包括:S401、根据第三方软件信息,将软件名称与黑名单中的第三方软件信息进行检索,若检索到对应的软件名称,则判断该该软件导致的宕机并执行步骤S500,否则执行步骤S402;S402、输出该第三方软件正常的结果。
进一步的,还包括收集用户正常运行程序的用户设备信息,并统计到服务器中进行分类存储,其中用户设备信息包括硬件环境信息以及软件环境信息。
进一步的,所述S500还包括:S501、根据根据宕机信息与正常运行程序的用户设备信息进行检索对比,筛选出硬件环境信息以及软件环境信息相同的用户设备信息;S502、将筛选出的用户设备信息中的第三方软件信息提取出来,向发生宕机的用户推送该第三方软件的程序安装包,并执行软件的安装。
进一步的,所述S500还包括:根据根据宕机信息与正常运行程序的用户设备信息进行检索对比,筛选出硬件环境信息以及软件环境信息相同的用户设备信息,若没有符合条件的用户设备信息,则向发生宕机的用户推送驱动更新软件安装包进行安装,并运行程序进行修复。
本发明解决其问题所采用的技术方案另一方面是:一种宕机定位修复系统,其特征在于,所述系统包括:监测模块,用于监测用户设备的程序运行过程;存储模块,用于将监测模块获取的宕机信息以可读形式进行加密保存;通信模块,用于将存储模块存储的信息发送到服务器进行统计处理并存储为数据库;信息处理模块,用于将获取的宕机信息进行分类统计处理并建立黑名单;对比模块,用于将采集的宕机信息与服务器中数据库进行对比,当满足制定条件时则判断错误问题并输出对应结果;推送模块,用于向用户推送对应的软件安装包。
进一步的,所述监测模块还包括:定位模块,用于根据异常点定位到具体的系统调用模块,根据调用模块得到可能的错误源;判断模块,用于根据调用模块判断错误源。
本发明的有益效果是:准确定位了因第三方软件因造成宕机的错误源,并提供对应的解决方案,极大的提升了用户的体验并防止了因宕机原因造成的用户群流失。
附图说明
图1所示为根据本发明较佳实施例的方法流程示意图;
图2所示为根据本发明较佳实施例的系统结构示意图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
宕机是计算机术语,口语里面我们简单的把停掉机器叫做down机,转换为汉字是“宕机”,但很多人都叫做“当机”/“死机”,虽然不规范但却流行。
宕机,指操作系统无法从一个严重系统错误中恢复过来,或系统硬件层面出问题,以致系统长时间无响应,而不得不重新启动计算机的现象。它属于电脑运作的一种正常现象,任何电脑都会出现这种情况。
口语里面我们简单的把停掉机器叫做down机,转换为汉字是“宕机”,但很多人都叫做“当机”,虽然不规范但却流行。
down就是up的反义,就是电脑不能正常工作了,包括一些原因而导致出现的死机。
(1)一般情况下指的就是计算机主机出现意外故障而死机。
(2)其次,一些服务器例如数据库死锁也可以称为宕机,一些服务器的某些服务挂掉了,就可以这么说。
如今的计算机已经接近全面普及的程度了,它给人们在工作和学习上提供了极大的方便,不过,计算机的"蓝屏"对于普通的计算机用户来说,却成为了一个解不开、挣不脱的烦恼。每当在计算机开机时、或启动操作系统时、或使用一些应用程序时、或正准备退出操作系统时,"蓝屏"这一头"猛兽"随时都有可能迎面扑来。
参照图1所示为根据本发明较佳实施例的方法流程示意图,
包括以下步骤:
S100、收集用户的宕机信息,根据宕机信息对引发宕机的原因进行分类,其中宕机信息包括程序运行的硬件环境信息以及软件环境信息;
S200、统计因第三方软件导致的宕机信息并记录对应的模块信息,上传到云端服务器数据中进行存储,其中模块信息包括模块名称以及模块引用的第三方软件信息;
S300、在数据库中统计造成宕机的第三方软件信息,并按照名单策略将符合条件的第三方软件信息录入黑名单,其中第三方软件信息包括软件版本号、软件名称、开发者以及软件开发环境;
S400、用户系统运行发生宕机时,提取宕机信息中的第三方软件信息,并上传到云端服务器中进行对比,若第三方软件信息在黑名单中,则判断该第三方软件导致的宕机并执行步骤S500,否则输出第三方软件正常的结果;
S500、根据宕机信息向用户推荐第三方软件的对应安装包,并执行程序安装,完成宕机引发原因的定位和修复。
硬件环境信息包括但不限于MAC地址以及中央处理器型号。
软件环境信息包括但不限于操作系统版本号以及软件正常运行的必要组件版本号。
S300包括:
S301、运行程序,同时启用监测模块记录程序运行过程;
S302、发生宕机时,检测模块记录该时刻的内存信息,获取异常点;
S303、根据异常点定位到具体的系统调用模块,根据调用模块得到可能的错误源;
S304、若调用模块名称为第三方软件的软件名称,则判断错误源对应的第三方软件并获取第三方软件信息,否则不执行操作;
S305、统计同一个软件在不同机器中发生宕机的次数,若超过一定次数,则将该第三方软件信息列入黑名单,否则不执行操作,其中一定次数可自定义。
S400包括:
S401、根据第三方软件信息,将软件名称与黑名单中的第三方软件信息进行检索,若检索到对应的软件名称,则判断该该软件导致的宕机并执行步骤S500,否则执行步骤S402;
S402、输出该第三方软件正常的结果。
还包括收集用户正常运行程序的用户设备信息,并统计到服务器中进行分类存储,其中用户设备信息包括硬件环境信息以及软件环境信息。
S500还包括:
S501、根据根据宕机信息与正常运行程序的用户设备信息进行检索对比,筛选出硬件环境信息以及软件环境信息相同的用户设备信息;
S502、将筛选出的用户设备信息中的第三方软件信息提取出来,向发生宕机的用户推送该第三方软件的程序安装包,并执行软件的安装。
S500还包括:根据根据宕机信息与正常运行程序的用户设备信息进行检索对比,筛选出硬件环境信息以及软件环境信息相同的用户设备信息,若没有符合条件的用户设备信息,则向发生宕机的用户推送驱动更新软件安装包进行安装,并运行程序进行修复。
参照图2所示为根据本发明较佳实施例的系统结构示意图,
包括:
监测模块,用于监测用户设备的程序运行过程;
存储模块,用于将监测模块获取的宕机信息以可读形式进行加密保存;
通信模块,用于将存储模块存储的信息发送到服务器进行统计处理并存储为数据库;
信息处理模块,用于将获取的宕机信息进行分类统计处理并建立黑名单;
对比模块,用于将采集的宕机信息与服务器中数据库进行对比,当满足制定条件时则判断错误问题并输出对应结果;
推送模块,用于向用户推送对应的软件安装包。
监测模块还包括:
定位模块,用于根据异常点定位到具体的系统调用模块,根据调用模块得到可能的错误源;判断模块,用于根据调用模块判断错误源。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。