一种基于服务调用的故障处理方法、装置和系统与流程

文档序号:11138700阅读:281来源:国知局
一种基于服务调用的故障处理方法、装置和系统与制造工艺

本申请涉及计算机处理技术领域,特别是涉及一种基于服务调用的故障处理方法、一种基于服务调用的故障处理装置和一种基于服务调用的故障处理系统。



背景技术:

随着科技的展,基于云的各种产品,如虚拟主机、云存储等,广泛进入人们的生活、学习、工作等领域。

云环境下的资源大多是服务化的,并且服务的提供者和服务的消费者是分开的。

由于服务端环境对服务的消费者不透明,当服务调用发生问题时,往往需要服务的提供者协助才能解决,有时候一个小问题的解决也要付出很大的成本。

具体而言,服务的消费者遇到问题时,普遍是先检查客户端环境,分析客户端日志,查阅相关文档和技术说明书进行解决问题,或者,直接请求服务的提供者协助解决问题。

但是,服务的消费者需要对领域内的知识有积累,技术门槛较高,对于技术功底弱的服务的消费者很难独自解决问题,导致故障处理成本较高。

由于服务的环境不透明,往往要有服务提供者介入才能解决问题,给服务的提供者增加了负担。



技术实现要素:

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于服务调用的故障处理方法和相应的一种基于服务调用的故障处理装置、一种基于服务调用的故障处理系统。

为了解决上述问题,本申请实施例公开了一种基于服务调用的故障处理 方法,包括:

当接收到终端发送的服务的调用请求时,按照所述调用请求调用所述服务;所述调用请求中包括第一请求信息;

当调用所述服务失败时,分别查找在先调用所述服务出现相同失败时的第二请求信息、在先调用所述服务成功时的第三请求信息;

识别所述第二请求信息与所述第三请求信息之间的相异之处;

当所述第一请求信息与相异的第二请求信息匹配时,针对所述第一请求信息生成应用相异的第三请求信息的故障提示信息;

将所述故障提示信息返回所述终端。

优选地,所述调用请求通过预置的接口接收;所述分别查找在先调用所述服务出现相同失败时的第二请求信息、在先调用所述服务成功时的第三请求信息的步骤包括:

查找在先与所述接口和错误信息相同的、且、比例最高的一个或多个第二请求信息;所述错误信息为调用所述服务失败时返回的结果信息;

查找在先与所述接口相同的、具有成功信息、且、比例最高的一个或多个第三请求信息。

优选地,所述第一请求信息中包括第一终端环境信息和/或第一接口使用方法;

所述第二请求信息中包括第二终端环境信息和/或第二接口使用方法;

所述第三请求信息中包括第三终端环境信息和/或第三接口使用方法。

优选地,所述第一终端环境信息包括以下的一种或多种:

第一操作系统类型、第一操作系统版本、第一开发工具包SDK类型、第一开发工具包SDK版本;

所述第一接口使用方法包括配对的第一参数名、第一参数类型;

所述第二终端环境信息包括以下的一种或多种:

第二操作系统类型、第二操作系统版本、第二开发工具包SDK类型、第二开发工具包SDK版本;

所述第二接口使用方法包括配对的第二参数名、第二参数类型;

所述第三终端环境信息包括以下的一种或多种:

第三操作系统类型、第三操作系统版本、第三开发工具包SDK类型、第三开发工具包SDK版本;

所述第三接口使用方法包括配对的第三参数名、第三参数类型。

优选地,所述识别所述第二请求信息与所述第三请求信息之间的相异之处的步骤包括:

识别所述第二终端环境信息与所述第三终端环境信息之间的相异之处;

和/或,

识别所述第二接口使用方法与所述第三接口使用方法之间的相异之处。

优选地,所述当所述第一请求信息与相异的第二请求信息匹配时,针对所述第一请求信息生成应用相异的第三请求信息的故障提示信息的步骤包括:

当所述第一终端环境信息与相异的第二终端环境信息匹配时,针对所述第一终端环境信息生成应用相异的第三终端环境信息的故障提示信息;

和/或,

当所述第一接口使用方法与相异的第二接口使用方法匹配时,针对所述第一接口使用方法生成应用相异的第三终端环境信息的故障提示信息。

优选地,还包括:

存储调用所述服务返回的结果信息以及所述第一请求信息。

本申请实施例还公开了一种基于服务调用的故障处理装置,包括:

服务调用模块,用于在接收到终端发送的服务的调用请求时,按照所述调用请求调用所述服务;所述调用请求中包括第一请求信息;

请求信息查找模块,用于在调用所述服务失败时,分别查找在先调用所述服务出现相同失败时的第二请求信息、在先调用所述服务成功时的第三请求信息;

请求信息对比模块,用于识别所述第二请求信息与所述第三请求信息之间的相异之处;

故障提示信息生成模块,用于所述第一请求信息与相异的第二请求信息匹配时,针对所述第一请求信息生成应用相异的第三请求信息的故障提示信息;

故障提示信息返回模块,用于将所述故障提示信息返回所述终端。

优选地,所述调用请求通过预置的接口接收;所述请求信息查找模块包括:

第一查找子模块,用于查找在先与所述接口和错误信息相同的、且、比例最高的一个或多个第二请求信息;所述错误信息为调用所述服务失败时返回的结果信息;

第二查找子模块,用于查找在先与所述接口相同的、具有成功信息、且、比例最高的一个或多个第三请求信息。

优选地,所述第一请求信息中包括第一终端环境信息和/或第一接口使用方法;

所述第二请求信息中包括第二终端环境信息和/或第二接口使用方法;

所述第三请求信息中包括第三终端环境信息和/或第三接口使用方法。

优选地,所述第一终端环境信息包括以下的一种或多种:

第一操作系统类型、第一操作系统版本、第一开发工具包SDK类型、第一开发工具包SDK版本;

所述第一接口使用方法包括配对的第一参数名、第一参数类型;

所述第二终端环境信息包括以下的一种或多种:

第二操作系统类型、第二操作系统版本、第二开发工具包SDK类型、第二开发工具包SDK版本;

所述第二接口使用方法包括配对的第二参数名、第二参数类型;

所述第三终端环境信息包括以下的一种或多种:

第三操作系统类型、第三操作系统版本、第三开发工具包SDK类型、第三开发工具包SDK版本;

所述第三接口使用方法包括配对的第三参数名、第三参数类型。

优选地,所述请求信息对比模块包括如下子模块:

第一对比子模块,用于识别所述第二终端环境信息与所述第三终端环境信息之间的相异之处;

和/或,

第二对比子模块,用于识别所述第二接口使用方法与所述第三接口使用方法之间的相异之处。

优选地,所述故障提示信息生成模块包括:

第一生成子模块,用于在所述第一终端环境信息与相异的第二终端环境信息匹配时,针对所述第一终端环境信息生成应用相异的第三终端环境信息的故障提示信息;

和/或,

第二生成子模块,用于在所述第一接口使用方法与相异的第二接口使用方法匹配时,针对所述第一接口使用方法生成应用相异的第三终端环境信息的故障提示信息。

优选地,还包括:

存储模块,用于存储调用所述服务返回的结果信息以及所述第一请求信息。

本申请实施例还公开了一种基于服务调用的故障处理系统,所述系统包括服务器与终端:

所述服务器包括:

服务调用模块,用于在接收到终端发送的服务的调用请求时,按照所述调用请求调用所述服务;所述调用请求中包括第一请求信息;

请求信息查找模块,用于在调用所述服务失败时,分别查找在先调用所述服务出现相同失败时的第二请求信息、在先调用所述服务成功时的第三请求信息;

请求信息对比模块,用于识别所述第二请求信息与所述第三请求信息之间的相异之处;

故障提示信息生成模块,用于所述第一请求信息与相异的第二请求信息 匹配时,针对所述第一请求信息生成应用相异的第三请求信息的故障提示信息;

故障提示信息返回模块,用于将所述故障提示信息返回所述终端;

所述终端包括:

调用请求生成模块,用于生成服务的调用请求;

调用请求发送模块,用于将服务的调用请求发送至服务器;

故障提示信息展示模块,用于展示服务器返回的故障提示信息。

优选地,所述调用请求生成模块包括:

终端环境信息采集子模块,用于采集第一终端环境信息;

终端环境信息注入子模块,用于将所述第一终端环境信息注入服务的调用请求中。

优选地,所述调用请求通过预置的接口接收;所述请求信息查找模块包括:

第一查找子模块,用于查找在先与所述接口和错误信息相同的、且、比例最高的一个或多个第二请求信息;所述错误信息为调用所述服务失败时返回的结果信息;

第二查找子模块,用于查找在先与所述接口相同的、具有成功信息、且、比例最高的一个或多个第三请求信息。

优选地,所述第一请求信息中包括第一终端环境信息和/或第一接口使用方法;

所述第二请求信息中包括第二终端环境信息和/或第二接口使用方法;

所述第三请求信息中包括第三终端环境信息和/或第三接口使用方法。

优选地,所述第一终端环境信息包括以下的一种或多种:

第一操作系统类型、第一操作系统版本、第一开发工具包SDK类型、第一开发工具包SDK版本;

所述第一接口使用方法包括配对的第一参数名、第一参数类型;

所述第二终端环境信息包括以下的一种或多种:

第二操作系统类型、第二操作系统版本、第二开发工具包SDK类型、 第二开发工具包SDK版本;

所述第二接口使用方法包括配对的第二参数名、第二参数类型;

所述第三终端环境信息包括以下的一种或多种:

第三操作系统类型、第三操作系统版本、第三开发工具包SDK类型、第三开发工具包SDK版本;

所述第三接口使用方法包括配对的第三参数名、第三参数类型。

优选地,所述请求信息对比模块包括如下子模块:

第一对比子模块,用于识别所述第二终端环境信息与所述第三终端环境信息之间的相异之处;

和/或,

第二对比子模块,用于识别所述第二接口使用方法与所述第三接口使用方法之间的相异之处。

优选地,所述故障提示信息生成模块包括:

第一生成子模块,用于在所述第一终端环境信息与相异的第二终端环境信息匹配时,针对所述第一终端环境信息生成应用相异的第三终端环境信息的故障提示信息;

和/或,

第二生成子模块,用于在所述第一接口使用方法与相异的第二接口使用方法匹配时,针对所述第一接口使用方法生成应用相异的第三终端环境信息的故障提示信息。

优选地,所述服务器还包括:

存储模块,用于存储调用所述服务返回的结果信息以及所述第一请求信息。

本申请实施例包括以下优点:

本申请实施例在按照终端的调用请求服务调用失败时,分别查找在先调用服务出现相同失败时的第二请求信息以及在先调用服务成功时的第三请求信息,若当前的第一请求信息与相异的第二请求信息匹配时,针对第一请 求信息生成应用相异的第三请求信息的故障提示信息,并返回终端进行展示,通过历史上正确的请求信息与错误的请求信息的对比,识别出可能产生故障的条件及适当的规避方法,实现了初步的故障处理,大大减少了服务的提供者与消费者的人工参与的频次,减少用户精力的耗费,同时,利用在先积累的请求信息处理故障,大大降低了技术门槛,方便技术功底弱的服务的消费者独自解决问题,大大提高了故障处理效率、大大降低了故障处理的成本。

附图说明

图1是本申请的一种基于服务调用的故障处理方法实施例的步骤流程图;

图2是本申请的一种基于服务调用的故障处理装置实施例的结构框图;

图3是本申请的一种基于服务调用的故障处理系统实施例的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

参照图1,示出了本申请的一种基于服务调用的故障处理方法实施例的步骤流程图,具体可以包括如下步骤:

步骤101,当接收到终端发送的服务的调用请求时,按照所述调用请求调用所述服务;

需要说明的是,本申请实施例可以应用于云平台(cloud platforms)中。

云平台是应用云计算(cloud computing)的一种计算机集群,如分布式系统,提供云计算服务,如ECS(Elastic Compute Service,云服务器)虚拟机、RDS((Relational Database Service,关系型数据库服务)数据库、OSS(Open Storage Service,开放存储服务)存储,等等。

以OSS为例,OSS是某个云平台对外提供的海量、安全、低成本、高可靠的云存储服务。

用户可以通过简单的REST(Representational State Transfer,表述性状态转移)接口上传和下载数据,也可以使用WEB页面对数据进行管理。

基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。

在具体实现中,云平台向外提供多个API接口(Application Programming Interface,应用程序编程接口),各终端可以生成服务的调用请求,通过该接口将服务的调用请求发送至云平台的服务器。

其中,该调用请求中可以包括请求信息(如第一请求信息),即该调用请求附带的信息。

本申请实施例在服务的接口处增加一个过滤器,用于采集请求信息,该过滤器对服务的提供者和消费者来说是透明的,一般不会对调用方式造成影响。

若云平台接收到该调用请求,则可以响应该调用请求,进行相应的业务处理。

步骤102,当调用所述服务失败时,分别查找在先调用所述服务出现相同失败时的第二请求信息、在先调用所述服务成功时的第三请求信息;

本申请实施例中,可以利用云环境下服务的消费者数量庞大的特点,通过对一些服务的使用信息进行统计分析,为服务的消费者进行初步的故障定位,从而减少服务的提供者的工作量,并且为服务的消费者提供更好的用户体验。

应用本申请实施例,可以在调用服务之后,记录调用服务(即接口)的结果信息(如错误信息、成功信息)与调用请求中的请求信息(如第二请求信息、第三请求信息),存储在数据库中。

若当前服务由于某些原因而调用失败时,则可以从数据库中查找该服务对应的第二请求信息、第三请求信息。

在本申请的一种优选实施例中,调用请求可以通过预置的接口接收,则在本申请实施例中,步骤102可以包括如下子步骤:

子步骤S11,查找在先与所述接口和错误信息相同的、且、比例最高的 一个或多个第二请求信息;

在本申请实施例中,每次调用服务都可以返回结果信息(如返回代码return code),包括错误信息(如错误代码error code)、正确信息等。

其中,错误信息可以为调用所述服务失败时返回的结果信息。

大多在一定范围内是标准的,如“HTTP 404”代表客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应且不知原因。

当然,该错误信息也可以是云平台中自定义的,本申请实施例对此不加以限制。

接口相同,则可以表示所调用的服务是相同的;错误信息相同,则可以表示调用相同的服务出现相同的失败现象,导致失败的故障可能是相同的。

本申请实施例可以通过接口、错误信息的匹配,查找与当前用户调用相同的服务、出现相同的失败现象的其他用户的服务调用数据中所占比例最高的第二请求信息。

子步骤S12,查找在先与所述接口相同的、具有成功信息、且、比例最高的一个或多个第三请求信息。

成功信息,可以表示调用相同的服务出现成功现象,可能克服了导致失败的故障。

同样地,本申请实施例可以通过接口、成功信息的匹配,查找与当前用户调用相同的服务,但是调用成功的其他用户的服务调用数据中所占比例最高的第三请求信息。

在具体实现中,请求信息中可以包括终端环境信息和/或接口使用方法;

即第一请求信息中包括第一终端环境信息和/或第一接口使用方法;

第二请求信息中可以包括第二终端环境信息和/或第二接口使用方法;

第三请求信息中可以包括第三终端环境信息和/或第三接口使用方法。

其中,终端环境信息(如第一终端环境信息、第二终端环境信息、第三终端环境信息)为表征发起调用请求的客户端所属终端的环境的信息。

因此,为了收集终端环境信息,可以在终端本地,如SDK(Software Development Kit,开发工具包)中增加采集器,该采集器负责采集终端环境 信息(如第一终端环境信息),将该终端环境信息(如第一终端环境信息)注入服务的调用请求中。

需要说明的是,终端环境信息一般与客户端的类型是关联的,例如,针对Java类型的客户端可以采集JVM(Java Virtual Machine,Java虚拟机)相关的环境变量,而针对node.js类型的客户端可以采集NPM(Node Package Manager,Node的包管理器)的配置信息。

接口使用方法(如第一接口使用方法、第二接口使用方法、第三接口使用方法)为接口(即服务)的调用方式的抽象描述,即调用接口的具体方式。

通常,接口使用方法在调用请求中由客户端指定,可以直接从调用请求中提取。

在云环境下,有大量消费者在使用相同的服务,不同的消费者使用服务的环境和方法不同,调用的结果也不同,对这些“环境-方法-结果”的统计,但对遇到相同的故障的用户,且环境和使用方法相近的故障统计有助于分析可能产生故障的条件,对没有遇到问题的用户的环境和使用方法的统计有助于用户分析可能产生问题的条件及适当的规避方法,这将有助于服务的消费者对自身问题进行初步的诊断。

进一步而言,在本申请实施例的一个示例中,终端环境信息可以包括以下的一种或多种:

操作系统、操作系统版本、开发工具包SDK类型、开发工具包SDK版本;

接口使用方法可以包括配对的参数名、参数类型。

即第一终端环境信息可以包括以下的一种或多种:

第一操作系统类型、第一操作系统版本、第一开发工具包SDK类型、第一开发工具包SDK版本;

第一接口使用方法可以包括配对的第一参数名、第一参数类型;

第二终端环境信息可以包括以下的一种或多种:

第二操作系统类型、第二操作系统版本、第二开发工具包SDK类型、第二开发工具包SDK版本;

第二接口使用方法可以包括配对的第二参数名、第二参数类型;

第三终端环境信息可以包括以下的一种或多种:

第三操作系统类型、第三操作系统版本、第三开发工具包SDK类型、第三开发工具包SDK版本;

第三接口使用方法可以包括配对的第三参数名、第三参数类型。

具体而言,一般来说,操作系统提供SDK,SDK里面一般包含一套完整的API,通过API调用SDK本身的类库,SDK调用操作系统类库,从而向云平台发送调用请求,不同类型、不同版本的操作系统和SDK类库会有差别,有可能会影响最终的调用结果。

例如,有些数据通过Ruby的客户端和Java的客户端发送的格式要求是不同的,使用相同的参数格式发送时得到的结果可能是不同的。

在实际应用中,不同的开发语言采集的接口不同,终端环境信息的采集方式也不同。

以Java为例,操作系统的类型和版本信息一般记录在SDK本身的配置文件中,可通过如下读取文件的方式获得:

Properties props=System.getProperties();//获得系统属性集

String osName=props.getProperty("os.name");//操作系统名称

String osArch=props.getProperty("os.arch");//操作系统构架

String osVersion=props.getProperty("os.version");//操作系统版本

此外,不同的用户调用同一个接口的方法会有所不同,尤其是以Json(JavaScript Object Notation,一种数据交换格式)格式传递参数时,格式比较自由,因此可能会导致调用服务的结果有所不同。

在实际应用中,接口使用方法可以采用“参数名+参数类型”等结构进行描述。

以Rest API为例,其接口使用方法主要包括URI(Uniform Resource Identifier,统一资源标识符)和参数,参数名和参数类型是对参数的抽象描述。

参数一般以Json的方式给出,例如,如下参数:

{“参数名1”:100,“参数名2”:“ABC”,“参数名3”:[“ABC”,“def”]};

可以被描述为:

[{“参数名”:“参数名1”,“类型”:“number”},{“参数名”:“参数名2”,“类型”:“String”},{“参数名”:“参数名3”,“类型”:“List”}]。

需要说明的是,在一个调用请求中,并非所有的参数都一定同时使用,某些参数在调用请求中为空,因此,为了描述该参数,可以将其参数类型定义为空(Null)。

因此,服务的调用请求的数据模型可以表示为:

{接口名/URL:“……”,

结果信息:“……”,

终端环境信息:{操作系统:“……”,操作系统版本:“……”,SDK:“……”,SDK版本:“……”},

参数:[{参数名:“……”,参数类型:“……”},{参数名:“……”,参数类型:“……”},……]

}

当然,上述请求信息只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他请求信息,例如网络信息(如Wi-Fi、4G网络)等等,本申请实施例对此不加以限制。另外,除了上述请求信息外,本领域技术人员还可以根据实际需要采用其它请求信息,本申请实施例对此也不加以限制。

步骤103,识别所述第二请求信息与所述第三请求信息之间的相异之处;

第二请求信息和第三请求信息存在相异(即不相同)的地方,则可以表示该服务的失败现象,可能是由该相异的地方引起的。

在具体实现中,可以识别第二终端环境信息与第三终端环境信息之间的相异之处;

如,识别第二操作系统类型与第三操作系统类型之间是否相同,若操作系统类型相同,即继续识别第二操作系统版本与第三操作系统版本是否相同;若操作系统类型相异,则可以认为第二操作系统版本与第三操作系统版本不相同;

又如,识别第二开发工具包SDK类型与第三开发工具包SDK类型之间是否相同,若SDK类型相同,即继续识别第二开发工具包SDK版本与第三开发工具包SDK版本是否相同;若SDK类型相异,则可以认为第二开发工具包SDK版本与第三开发工具包SDK版本不相同。

和/或,

识别第二接口使用方法与第三接口使用方法之间的相异之处。

如,识别第二参数名与第三参数名之间是否相同,若参数名相同,即继续识别第二参数类型与第二参数类型是否相同

例如,在先调用云存储服务失败的第二请求信息的示例如下:

{接口名/URL:“云存储服务”,

结果信息:“002”,

环境信息:{操作系统:“windows”,操作系统版本:“2003”,SDK:“JavaSDK”,SDK版本:“1.1”},

输入参数:[{参数名:“p1”,参数类型:“string”},{参数名:“p2”,参数类型:“null”},……]

}

在先调用云存储服务成功的第三请求信息的示例如下:

{接口名/URL:“云存储服务”,

结果信息:“0”,

环境信息:{操作系统:“windows”,操作系统版本:“2003”,SDK:“JavaSDK”,SDK版本:“1.2”},

输入参数:[{参数名:“p1”,参数类型:“string”},{参数名:“p2”,参数类型:“int”},……]

}

第二请求信息与第三请求信息的相异之处为SDK版本与参数p2的参数类型。

步骤104,当所述第一请求信息与相异的第二请求信息匹配时,针对所述第一请求信息生成应用相异的第三请求信息的故障提示信息;

若第一请求信息与相异的第二请求信息匹配,则可以表示当前服务的失败现象,可能是由该相异的地方引起故障的。

则进一步可以建议用户尽可能用大多数成功用户所使用的请求信息(如终端环境信息、接口使用方法)去调用服务,提高调用成功率。

在具体实现中,当第一终端环境信息与相异的第二终端环境信息匹配时,可以针对第一终端环境信息生成应用相异的第三终端环境信息的故障提示信息;

如,相同操作系统类型(即第二操作系统类型与第三操作系统类型相同)的第二操作系统版本与第三操作系统版本相异,若相同操作系统类型(即第一操作系统类型与第二操作系统类型相同)的第一操作系统版本与相异的第二操作系统版本匹配,则可以针对第一操作系统版本生成应用(如升级)相异的第三操作系统版本的故障提示信息;

又如,相同开发工具包SDK类型(即第二开发工具包SDK类型与第三开发工具包SDK类型相同)第二开发工具包SDK版本与第三开发工具包SDK版本相异,若相同开发工具包SDK类型(即第一开发工具包SDK类型与第二开发工具包SDK类型相同)第一开发工具包SDK版本与相异的第二开发工具包SDK版本匹配,则可以针对第一开发工具包SDK版本生成应用(如升级)相异的第三开发工具包SDK版本的故障提示信息。

和/或,

当第一接口使用方法与相异的第二接口使用方法匹配时,可以针对第一接口使用方法生成应用相异的第三终端环境信息的故障提示信息。

如,相同参数名(即第二参数名与第三参数名相同)第二参数类型与第三参数类型相异,若相同参数名(即第一参数名与第二参数名相同)第一参数类型与相异的第二参数类型匹配,则可以针对第一参数类型生成应用(如调整)相异的第三参数类型的故障提示信息。

例如,对于上述示例,若第一请求信息的SDK版本为1.1、参数p2的参数类型为int,即第一请求信息的SDK版本与相异的第二请求信息的SDK版本相同,则可以提示升级SDK版本至1.2的故障提示信息,即第一请求信 息的参数p2的参数类型与相异的第二请求信息的参数p2的参数类型不相同,则可以不进行提示。

从云环境的角度看,如果统计发现,发生同一问题的用户中大多数都使用版本较老(如1.1)的SDK,而使用相同的调用方法在使用版本较新(如1.2)的SDK则会成功,则可以提示客户:“您遇到的问题可能是由于SDK版本引发的,50位使用1.1版本SDK的用户也遇到了相同的问题,但有76位使用1.2版本SDK的用户调用成功,因此建议将SDK升级至1.2版本进行尝试。”

步骤105,将所述故障提示信息返回所述终端。

若终端接收到故障提示信息,则可以进行展示,由用户进行判断。

本申请实施例在按照终端的调用请求服务调用失败时,分别查找在先调用服务出现相同失败时的第二请求信息以及在先调用服务成功时的第三请求信息,若当前的第一请求信息与相异的第二请求信息匹配时,针对第一请求信息生成应用相异的第三请求信息的故障提示信息,并返回终端进行展示,通过历史上正确的请求信息与错误的请求信息的对比,识别出可能产生故障的条件及适当的规避方法,实现了初步的故障处理,大大减少了服务的提供者与消费者的人工参与的频次,减少用户精力的耗费,同时,利用在先积累的请求信息处理故障,大大降低了技术门槛,方便技术功底弱的服务的消费者独自解决问题,大大提高了故障处理效率、大大降低了故障处理的成本。

在本申请的一种优选实施例中,该方法还可以包括如下步骤:

步骤106,存储调用所述服务返回的结果信息以及所述第一请求信息。

在本申请实施例中可以存储当前调用服务的结果信息(包括正确信息、错误信息)以及所述第一请求信息(包括接口、第一终端环境信息、第一接口使用方法),用于后续的服务调用故障的处理。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述 的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

参照图2,示出了本申请的一种基于服务调用的故障处理装置实施例的结构框图,具体可以包括如下模块:

服务调用模块201,用于在接收到终端发送的服务的调用请求时,按照所述调用请求调用所述服务;所述调用请求中包括第一请求信息;

请求信息查找模块202,用于在调用所述服务失败时,分别查找在先调用所述服务出现相同失败时的第二请求信息、在先调用所述服务成功时的第三请求信息;

请求信息对比模块203,用于识别所述第二请求信息与所述第三请求信息之间的相异之处;

故障提示信息生成模块204,用于所述第一请求信息与相异的第二请求信息匹配时,针对所述第一请求信息生成应用相异的第三请求信息的故障提示信息;

故障提示信息返回模块205,用于将所述故障提示信息返回所述终端。

在本申请的一种优选实施例中,所述调用请求可以通过预置的接口接收;则在本申请实施例中,所述请求信息查找模块202可以包括如下子模块:

第一查找子模块,用于查找在先与所述接口和错误信息相同的、且、比例最高的一个或多个第二请求信息;所述错误信息为调用所述服务失败时返回的结果信息;

第二查找子模块,用于查找在先与所述接口相同的、具有成功信息、且、比例最高的一个或多个第三请求信息。

在具体实现中,所述第一请求信息中可以包括第一终端环境信息和/或第一接口使用方法;

所述第二请求信息中可以包括第二终端环境信息和/或第二接口使用方法;

所述第三请求信息中可以包括第三终端环境信息和/或第三接口使用方法。

在本申请实施例的一种优选示例中,所述第一终端环境信息可以包括以下的一种或多种:

第一操作系统类型、第一操作系统版本、第一开发工具包SDK类型、第一开发工具包SDK版本;

所述第一接口使用方法可以包括配对的第一参数名、第一参数类型;

所述第二终端环境信息可以包括以下的一种或多种:

第二操作系统类型、第二操作系统版本、第二开发工具包SDK类型、第二开发工具包SDK版本;

所述第二接口使用方法可以包括配对的第二参数名、第二参数类型;

所述第三终端环境信息可以包括以下的一种或多种:

第三操作系统类型、第三操作系统版本、第三开发工具包SDK类型、第三开发工具包SDK版本;

所述第三接口使用方法可以包括配对的第三参数名、第三参数类型。

在本申请的一种优选实施例中,所述请求信息对比模块203可以包括如下子模块:

第一对比子模块,用于识别所述第二终端环境信息与所述第三终端环境信息之间的相异之处;

和/或,

第二对比子模块,用于识别所述第二接口使用方法与所述第三接口使用方法之间的相异之处。

在本申请的一种优选实施例中,所述故障提示信息生成模块204可以包括如下子模块:

第一生成子模块,用于在所述第一终端环境信息与相异的第二终端环境信息匹配时,针对所述第一终端环境信息生成应用相异的第三终端环境信息的故障提示信息;

和/或,

第二生成子模块,用于在所述第一接口使用方法与相异的第二接口使用方法匹配时,针对所述第一接口使用方法生成应用相异的第三终端环境信息的故障提示信息。

在本申请的一种优选实施例中,该装置还可以包括如下模块:

存储模块,用于存储调用所述服务返回的结果信息以及所述第一请求信息。

参照图3,示出了本申请的一种基于服务调用的故障处理系统实施例的结构框图,所述系统可以包括服务器310与终端320:

所述服务器310可以包括如下模块:

服务调用模块311,用于在接收到终端320发送的服务的调用请求时,按照所述调用请求调用所述服务;所述调用请求中包括第一请求信息;

请求信息查找模块312,用于在调用所述服务失败时,分别查找在先调用所述服务出现相同失败时的第二请求信息、在先调用所述服务成功时的第三请求信息;

请求信息对比模块313,用于识别所述第二请求信息与所述第三请求信息之间的相异之处;

故障提示信息生成模块314,用于所述第一请求信息与相异的第二请求信息匹配时,针对所述第一请求信息生成应用相异的第三请求信息的故障提示信息;

故障提示信息返回模块315,用于将所述故障提示信息返回所述终端320;

所述终端320可以包括如下模块:

调用请求生成模块321,用于生成服务的调用请求;

调用请求发送模块322,用于将服务的调用请求发送至服务器310;

故障提示信息展示模块323,用于展示服务器310返回的故障提示信息。

在本申请的一种优选实施例中,所述调用请求生成模块321可以包括如下子模块:

终端环境信息采集子模块,用于采集第一终端环境信息;

终端环境信息注入子模块,用于将所述第一终端环境信息注入服务的调用请求中。

在本申请的一种优选实施例中,所述调用请求可以通过预置的接口接收;则在本申请实施例中,所述请求信息查找模块312可以包括如下子模块:

第一查找子模块,用于查找在先与所述接口和错误信息相同的、且、比例最高的一个或多个第二请求信息;所述错误信息为调用所述服务失败时返回的结果信息;

第二查找子模块,用于查找在先与所述接口相同的、具有成功信息、且、比例最高的一个或多个第三请求信息。

在具体实现中,所述第一请求信息中可以包括第一终端环境信息和/或第一接口使用方法;

所述第二请求信息中可以包括第二终端环境信息和/或第二接口使用方法;

所述第三请求信息中可以包括第三终端环境信息和/或第三接口使用方法。

在本申请实施例的一种优选示例中,所述第一终端环境信息可以包括以下的一种或多种:

第一操作系统类型、第一操作系统版本、第一开发工具包SDK类型、第一开发工具包SDK版本;

所述第一接口使用方法可以包括配对的第一参数名、第一参数类型;

所述第二终端环境信息可以包括以下的一种或多种:

第二操作系统类型、第二操作系统版本、第二开发工具包SDK类型、第二开发工具包SDK版本;

所述第二接口使用方法可以包括配对的第二参数名、第二参数类型;

所述第三终端环境信息可以包括以下的一种或多种:

第三操作系统类型、第三操作系统版本、第三开发工具包SDK类型、第三开发工具包SDK版本;

所述第三接口使用方法可以包括配对的第三参数名、第三参数类型。

在本申请的一种优选实施例中,所述请求信息对比模块313可以包括如下子模块:

第一对比子模块,用于识别所述第二终端环境信息与所述第三终端环境信息之间的相异之处;

和/或,

第二对比子模块,用于识别所述第二接口使用方法与所述第三接口使用方法之间的相异之处。

在本申请的一种优选实施例中,所述故障提示信息生成模块314可以包括如下子模块:

第一生成子模块,用于在所述第一终端环境信息与相异的第二终端环境信息匹配时,针对所述第一终端环境信息生成应用相异的第三终端环境信息的故障提示信息;

和/或,

第二生成子模块,用于在所述第一接口使用方法与相异的第二接口使用方法匹配时,针对所述第一接口使用方法生成应用相异的第三终端环境信息的故障提示信息。

在本申请的一种优选实施例中,该服务器310还可以包括如下模块:

存储模块,用于存储调用所述服务返回的结果信息以及所述第一请求信息。

对于装置、系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装 置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种基于服务调用的故障处理方法、一种基于服务调用的故障处理装置和一种基于服务调用的故障处理系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会 有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1