基于插桩方式快速屏蔽客户端故障的方法及系统技术方案

技术编号:15289899 阅读:57 留言:0更新日期:2017-05-10 17:04
本发明专利技术公开了一种基于插桩方式快速屏蔽客户端故障的方法及系统,涉及客户端故障处理领域。该方法包括以下步骤:往客户端中插入用于控制功能的功能插桩点和用于控制函数的函数插桩点,服务器端根据出现故障的功能生成功能配置信息,根据出现故障的函数生成函数配置信息,客户端启动时,自动向服务器端获取已经生成的功能配置信息、函数配置信息,当客户端查询到功能配置信息时,关闭对应的功能;若客户端查询到函数配置信息,待客户端执行到与该函数配置信息对应的函数插桩点处时,关闭对应的函数,客户端跳过该函数继续执行其它函数。该方法能够快速对客户端的新功能进行关闭操作,屏蔽因为新功能引入的故障,保证客户端的正常使用。

Method and system for quickly screening client fault based on inserting pile method

The invention discloses a method and a system for quickly shielding client faults based on a plug in method. The method comprises the following steps: to insert the client control functions for the function of the instrumentation point and function for instrumentation control function, the server according to the function of generating function configuration information of failure, according to the function of generating function configuration information fails, the client starts automatically generated function and configuration information function of the configuration information to the server when the client query function configuration information, close the corresponding function; if the client queries to the function configuration information to the client to perform functions corresponding to the function configuration information of the instrumentation point, close the corresponding function, the client to skip the function to continue performing other functions. The new method can quickly turn off the new features of the client, shielding the failure caused by the introduction of new features to ensure the normal use of the client.

【技术实现步骤摘要】

本专利技术涉及客户端故障处理领域,具体涉及一种基于插桩方式快速屏蔽客户端故障的方法及系统
技术介绍
CS(Client/Server,客户端/服务器端)架构的软件开发过程通常是一个迭代更新的过程,每次迭代和更新的过程或多或少都会引入一些新的功能或者新的特性。这些新功能和新特性在版本发布前虽然经过了详细的测试,但是在发布后依旧无法避免的存在一些未知的bug,bug用于指代客户端程序中潜在的在运行时将会出现的故障或错误。当客户端出现bug时,一般只能通过升级客户端来修改该bug文件的问题。然而,通过升级客户端的方式修复bug的成本比较高,且时间周期长,因为不可能因为一个bug就将整个客户端进行更新,通常是等多个bug反馈后统一更新。如果客户端只是一个很小的bug,但是产生的后果比较严重的情况下,这个时候往往修改的地方很少,但是却要经历客户端更新这一个非常复杂的一个过程,这种设计方案虽然是可以解决问题,但是时间成本,用户流量等成本都会大大增加。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种基于插桩方式快速屏蔽客户端故障的方法及系统,该方法能够快速对客户端的新功能进行关闭操作,屏蔽因为新功能引入的故障,保证客户端的正常使用。本专利技术提供一种基于插桩方式快速屏蔽客户端故障的方法,包括以下步骤:往客户端中插入用于控制功能的功能插桩点和用于控制函数的函数插桩点,当发现客户端的功能或函数出现故障时,将出现故障的功能或函数名称输入服务器端,服务器端根据出现故障的功能生成功能配置信息,根据出现故障的函数生成函数配置信息,所述功能配置信息用于关闭出现故障的功能,所述函数配置信息用于关闭出现故障的函数;客户端启动时,自动向服务器端获取已经生成的功能配置信息、函数配置信息,进行解析,将解析后的配置信息保存在键值对集合中;当客户端查询到键值对集合中存在功能配置信息时,关闭与该功能配置信息对应的功能插桩点,从而关闭对应的功能;若客户端查询到键值对集合中存在函数配置信息,待客户端执行到与该函数配置信息对应的函数插桩点处时,关闭与该函数配置信息对应的函数插桩点,从而关闭对应的函数,客户端跳过该函数继续执行其它函数。在上述技术方案的基础上,所述键值对集合包括功能集合、函数集合,所述功能配置信息保存在功能集合中,所述函数配置信息保存在函数集合中。在上述技术方案的基础上,所述功能配置信息、函数配置信息的数据格式均为JSON格式、GSON格式或者文本格式。一种基于插桩方式快速屏蔽客户端故障的系统,该系统包括客户端、服务器端,该系统还包括插桩点编辑模块、故障输入模块,所述客户端包括配置获取模块、功能处理模块、函数处理模块,其中,所述插桩点编辑模块用于:往客户端中插入用于控制功能的功能插桩点和用于控制函数的函数插桩点;所述故障输入模块用于:当发现客户端的功能或函数出现故障时,将出现故障的功能或函数名称输入服务器端;所述服务器端用于:根据出现故障的功能生成功能配置信息,根据出现故障的函数生成函数配置信息,所述功能配置信息用于关闭出现故障的功能,所述函数配置信息用于关闭出现故障的函数;所述配置获取模块用于:客户端启动时,自动向服务器端获取已经生成的功能配置信息、函数配置信息,进行解析,将解析后的配置信息保存在键值对集合中;所述功能处理模块用于:当客户端查询到键值对集合中存在功能配置信息时,关闭与该功能配置信息对应的功能插桩点,从而关闭对应的功能;所述函数处理模块用于:若客户端查询到键值对集合中存在函数配置信息,待客户端执行到与该函数配置信息对应的函数插桩点处时,关闭与该函数配置信息对应的函数插桩点,从而关闭对应的函数,客户端跳过该函数继续执行其它函数。在上述技术方案的基础上,所述键值对集合包括功能集合、函数集合,所述功能配置信息保存在功能集合中,所述函数配置信息保存在函数集合中。在上述技术方案的基础上,所述功能配置信息、函数配置信息的数据格式均为JSON格式、GSON格式或者文本格式。与现有技术相比,本专利技术的优点如下:1、本专利技术中的客户端程序代码中插入有功能插桩点和函数插桩点,服务器端能够远程控制这些插桩点的执行流程逻辑,通过插桩点对客户端中增加的实现新功能和新特性的异常函数进行关闭操作,屏蔽因为新功能引入的故障,解决客户端不可用的问题,保证客户端的正常使用。2、本专利技术通过函数插桩点能够动态的改变函数流程,当某一个函数流程出现明显异常时,可以通过函数插桩点动态跳过异常函数的执行流程,从而快速屏蔽重大问题点的出现。3、本专利技术不用通过客户端升级去解决重大问题点,直接通过服务器端下发插桩点配置信息,动态控制插桩点的执行流程。服务器端一旦更改,所有与服务器端网络连接的客户端都会跟着改变,从而快速修复所有与服务器端网络连接的客户端。附图说明图1是本专利技术实施例中基于插桩方式快速屏蔽客户端故障的方法的流程图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细描述。参见图1所示,本专利技术实施例提供一种基于插桩方式快速屏蔽客户端故障的方法,包括以下步骤:S1、往客户端中插入用于控制功能的功能插桩点和用于控制函数的函数插桩点,当发现客户端的功能或函数出现故障时,将出现故障的功能或函数名称输入服务器端,服务器端根据出现故障的功能生成功能配置信息,根据出现故障的函数生成函数配置信息,所述功能配置信息用于关闭出现故障的功能,所述函数配置信息用于关闭出现故障的函数;S2、客户端启动时,自动向服务器端获取已经生成的功能配置信息、函数配置信息,进行解析,将解析后的配置信息保存在键值对集合中;S3、当客户端查询到键值对集合中存在功能配置信息时,关闭与该功能配置信息对应的功能插桩点,从而关闭对应的功能;若客户端查询到键值对集合中存在函数配置信息,待客户端执行到与该函数配置信息对应的函数插桩点处时,关闭与该函数配置信息对应的函数插桩点,从而关闭对应的函数,客户端跳过该函数继续执行其它函数。上述方法中,键值对集合包括功能集合、函数集合,功能配置信息保存在功能集合中,所述函数配置信息保存在函数集合中。功能配置信息、函数配置信息的数据格式均可以为JSON格式、GSON格式或者文本格式,功能配置信息、函数配置信息均可以通过HTTP协议从服务器端传输到客户端。本专利技术实施例还提供一种基于插桩方式快速屏蔽客户端故障的系统,该系统包括客户端、服务器端、插桩点编辑模块、故障输入模块,所述客户端包括配置获取模块、功能处理模块、函数处理模块,其中,插桩点编辑模块用于:往客户端中插入用于控制功能的功能插桩点和用于控制函数的函数插桩点;故障输入模块用于:当发现客户端的功能或函数出现故障时,将出现故障的功能或函数名称输入服务器端;服务器端用于:根据出现故障的功能生成功能配置信息,根据出现故障的函数生成函数配置信息,功能配置信息用于关闭出现故障的功能,函数配置信息用于关闭出现故障的函数;配置获取模块用于:客户端启动时,自动向服务器端获取已经生成的功能配置信息、函数配置信息,进行解析,将解析后的配置信息保存在键值对集合中;功能处理模块用于:当客户端查询到键值对集合中存在功能配置信息时,关闭与该功能配置信息对应的功能插桩点,从而关闭对应的功能;函数处理模块用于:若客户端查询到键值对集本文档来自技高网...
基于插桩方式快速屏蔽客户端故障的方法及系统

【技术保护点】
一种基于插桩方式快速屏蔽客户端故障的方法,其特征在于,包括以下步骤:往客户端中插入用于控制功能的功能插桩点和用于控制函数的函数插桩点,当发现客户端的功能或函数出现故障时,将出现故障的功能或函数名称输入服务器端,服务器端根据出现故障的功能生成功能配置信息,根据出现故障的函数生成函数配置信息,所述功能配置信息用于关闭出现故障的功能,所述函数配置信息用于关闭出现故障的函数;客户端启动时,自动向服务器端获取已经生成的功能配置信息、函数配置信息,进行解析,将解析后的配置信息保存在键值对集合中;当客户端查询到键值对集合中存在功能配置信息时,关闭与该功能配置信息对应的功能插桩点,从而关闭对应的功能;若客户端查询到键值对集合中存在函数配置信息,待客户端执行到与该函数配置信息对应的函数插桩点处时,关闭与该函数配置信息对应的函数插桩点,从而关闭对应的函数,客户端跳过该函数继续执行其它函数。

【技术特征摘要】
1.一种基于插桩方式快速屏蔽客户端故障的方法,其特征在于,包括以下步骤:往客户端中插入用于控制功能的功能插桩点和用于控制函数的函数插桩点,当发现客户端的功能或函数出现故障时,将出现故障的功能或函数名称输入服务器端,服务器端根据出现故障的功能生成功能配置信息,根据出现故障的函数生成函数配置信息,所述功能配置信息用于关闭出现故障的功能,所述函数配置信息用于关闭出现故障的函数;客户端启动时,自动向服务器端获取已经生成的功能配置信息、函数配置信息,进行解析,将解析后的配置信息保存在键值对集合中;当客户端查询到键值对集合中存在功能配置信息时,关闭与该功能配置信息对应的功能插桩点,从而关闭对应的功能;若客户端查询到键值对集合中存在函数配置信息,待客户端执行到与该函数配置信息对应的函数插桩点处时,关闭与该函数配置信息对应的函数插桩点,从而关闭对应的函数,客户端跳过该函数继续执行其它函数。2.如权利要求1所述的基于插桩方式快速屏蔽客户端故障的方法,其特征在于:所述键值对集合包括功能集合、函数集合,所述功能配置信息保存在功能集合中,所述函数配置信息保存在函数集合中。3.如权利要求1或2所述的基于插桩方式快速屏蔽客户端故障的方法,其特征在于:所述功能配置信息、函数配置信息的数据格式均为JSON格式、GSON格式或者文本格式。4.一种基于插桩方式快速屏蔽客户端故障的系统,该系统包括客户端、服务器端,其特征在于:该系统还包括插桩点编辑模块、故障输...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1