CN111711533A - 故障诊断方法、装置、电子设备及存储介质 - Google Patents

故障诊断方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111711533A
CN111711533A CN202010438328.7A CN202010438328A CN111711533A CN 111711533 A CN111711533 A CN 111711533A CN 202010438328 A CN202010438328 A CN 202010438328A CN 111711533 A CN111711533 A CN 111711533A
Authority
CN
China
Prior art keywords
client
server
diagnosis
command
fault
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.)
Granted
Application number
CN202010438328.7A
Other languages
English (en)
Other versions
CN111711533B (zh
Inventor
罗熹之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202010438328.7A priority Critical patent/CN111711533B/zh
Publication of CN111711533A publication Critical patent/CN111711533A/zh
Application granted granted Critical
Publication of CN111711533B publication Critical patent/CN111711533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种故障诊断方法、装置、电子设备及存储介质。方法包括:判断服务器中是否存在与所述客户端对应的待处理故障反馈;在判断出存在后,与所述服务器建立长连接;在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据;将所述诊断数据通过所述长连接发送至所述服务器;所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。本发明实施例能够更加全面、更加准确地对故障反馈进行分析,并且能够减少长连接的数量,节省服务器资源。

Description

故障诊断方法、装置、电子设备及存储介质
技术领域
本发明涉及通信技术领域,特别是涉及一种故障诊断方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的飞速发展,移动终端已成为人们不可或缺的工具。为了满足人们的需求,应用于移动终端上的客户端的种类越来越多,功能也越来越丰富。用户能够通过客户端获取各种信息,比如通过客户端观看视频、收听音乐等。
在用户操作的过程中,客户端可能会出现故障,比如用户无法登录、页面无法刷新,等等。在客户端出现故障时,用户可以通过客户端提供的故障反馈功能,向服务器上报故障反馈。技术人员可以根据用户上报的故障反馈,对用户的行为日志进行分析,以便对客户端出现的故障进行分析。
但是,在实际应用中,用户上报的故障反馈可能会存在行为日志遗漏的情况,导致行为日志不全面,无法准确地对客户端出现的故障进行分析。
发明内容
本发明实施例的目的在于提供一种故障诊断方法、装置、电子设备及存储介质,以实现准确地对客户端出现的故障进行分析。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种故障诊断方法,执行于客户端,所述方法包括:
判断服务器中是否存在与所述客户端对应的待处理故障反馈;
在判断出存在后,与所述服务器建立长连接;
在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据;
通过所述长连接将所述诊断数据发送至所述服务器;所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。
可选地,所述判断服务器中是否存在与所述客户端对应的待处理故障反馈,包括:在所述客户端启动后,向所述服务器发起携带用户标识的查询请求,并接收所述服务器返回的查询响应;在所述查询响应指示所述服务器中存在所述用户标识对应的待处理故障反馈时,确定所述服务器中存在与所述客户端对应的待处理故障反馈。
可选地,所述判断服务器中是否存在与所述客户端对应的待处理故障反馈,包括:在所述客户端运行过程中发生故障且接收到用户触发的反馈指令后,生成待处理故障反馈;将所述待处理故障反馈上报至所述服务器,实现判断出所述服务器中存在与所述客户端对应的待处理故障反馈。
可选地,所述诊断命令包括以下至少一种:沙盒日志全文检索命令、沙盒文件列表获取命令、沙盒文件获取命令、本地客户端数据读取命令、私密数据查询命令、客户端内存日志获取命令、网络实时日志获取命令、网络DNS欺骗命令、客户端的资源使用率获取命令、客户端自检命令、网络弱网检测命令、特定服务IP检测命令。
在本发明实施的第二方面,还提供了一种故障诊断方法,执行于服务器,所述方法包括:
在与客户端建立长连接后,获取所述客户端对应的待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端;
在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因;所述诊断数据为所述客户端执行所述诊断命令对应的诊断操作后得到。
可选地,在所述在与客户端建立长连接后,获取已存在的所述客户端对应的待处理故障反馈对应的诊断命令之前,还包括:在接收到所述客户端发起的携带用户标识的查询请求后,查询是否存在所述用户标识对应的待处理故障反馈;在存在时,生成用于指示所述服务器中存在所述用户标识对应的待处理故障反馈的查询响应,将所述查询响应返回给所述客户端。
可选地,所述方法还包括:在依据所述诊断数据确定出所述待处理故障反馈的故障原因后,将所述待处理故障反馈标记为已处理故障反馈;在所述用户标识对应的待处理故障反馈全部被标记为已处理故障反馈后,断开与所述客户端的长连接。
可选地,所述获取所述待处理故障反馈对应的诊断命令,包括:从预设的故障反馈与诊断命令的映射关系中,获取所述待处理故障反馈对应的诊断命令。
在本发明实施的第三方面,还提供了一种故障诊断装置,应用于客户端,所述装置包括:
判断模块,用于判断服务器中是否存在与所述客户端对应的待处理故障反馈;
连接模块,用于在所述判断模块判断出存在后,与所述服务器建立长连接;
执行模块,用于在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据;
数据发送模块,用于通过所述长连接将所述诊断数据发送至所述服务器;所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。
可选地,所述判断模块包括:查询单元,用于在所述客户端启动后,向所述服务器发起携带用户标识的查询请求,并接收所述服务器返回的查询响应;确定单元,用于在所述查询响应指示所述服务器中存在所述用户标识对应的待处理故障反馈时,确定所述服务器中存在与所述客户端对应的待处理故障反馈。
可选地,所述判断模块包括:生成单元,用于在所述客户端运行过程中发生故障且接收到用户触发的反馈指令后,生成待处理故障反馈;上报单元,用于将所述待处理故障反馈上报至所述服务器,实现判断出所述服务器中存在与所述客户端对应的待处理故障反馈。
可选地,所述诊断命令包括以下至少一种:沙盒日志全文检索命令、沙盒文件列表获取命令、沙盒文件获取命令、本地客户端数据读取命令、私密数据查询命令、客户端内存日志获取命令、网络实时日志获取命令、网络DNS欺骗命令、客户端的资源使用率获取命令、客户端自检命令、网络弱网检测命令、特定服务IP检测命令。
在本发明实施的第四方面,还提供了一种故障诊断装置,应用于服务器,所述装置包括:
命令发送模块,用于在与客户端建立长连接后,获取所述客户端对应的待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端;
故障确定模块,用于在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因;所述诊断数据为所述客户端执行所述诊断命令对应的诊断操作后得到。
可选地,所述装置还包括:反馈查询模块,用于在接收到所述客户端发起的携带用户标识的查询请求后,查询是否存在所述用户标识对应的待处理故障反馈;返回模块,用于在所述反馈查询模块查询到存在时,生成用于指示所述服务器中存在所述用户标识对应的待处理故障反馈的查询响应,将所述查询响应返回给所述客户端。
可选地,所述装置还包括:标记模块,用于在依据所述诊断数据确定出所述待处理故障反馈的故障原因后,将所述待处理故障反馈标记为已处理故障反馈;断开模块,用于在所述用户标识对应的待处理故障反馈全部被标记为已处理故障反馈后,断开与所述客户端的长连接。
可选地,所述命令发送模块,具体用于从预设的故障反馈与诊断命令的映射关系中,获取所述待处理故障反馈对应的诊断命令。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一由客户端执行的故障诊断方法。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一由服务器执行的故障诊断方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一由客户端执行的故障诊断方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一由服务器执行的故障诊断方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一由客户端执行的故障诊断方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一由服务器执行的故障诊断方法。
本发明实施例提供的故障诊断方法、装置、电子设备及存储介质,客户端判断服务器中是否存在与所述客户端对应的待处理故障反馈;在判断出存在后,与所述服务器建立长连接;在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据;将所述诊断数据通过所述长连接发送至所述服务器,所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。由此可知,本发明实施例中通过客户端与服务器之间建立长连接,服务器可以主动向客户端下发诊断命令,诊断命令与故障反馈相关,从而实现在客户端复现故障,以便对客户端进行远程在线诊断,根据客户端执行诊断命令得到的诊断数据能够更加全面、更加准确地对故障反馈进行分析。并且,相比于每个客户端都与服务器建立长连接的方式,本发明实施例以用户提交的故障反馈作为切入点,在服务器中存在与客户端对应的待处理故障反馈的情况下,客户端才与服务器建立长连接,因此能够减少长连接的数量,节省服务器资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中的一种故障诊断方法的步骤流程图。
图2为本发明实施例中的另一种故障诊断方法的步骤流程图。
图3为本发明实施例中的另一种故障诊断方法的步骤流程图。
图4为本发明实施例中的另一种故障诊断方法的步骤流程图。
图5为本发明实施例中的另一种故障诊断方法的步骤流程图。
图6为本发明实施例中的另一种故障诊断方法的步骤流程图。
图7为本发明实施例中的一种故障诊断装置的结构框图。
图8为本发明实施例中的另一种故障诊断装置的结构框图。
图9为本发明实施例中的另一种故障诊断装置的结构框图。
图10为本发明实施例中的另一种故障诊断装置的结构框图。
图11为本发明实施例中的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
对于应用于移动终端上的客户端来说,客户端在运行过程中可能会出现故障。通常情况下,客户端可以提供故障反馈功能,以供用户向服务器上报故障反馈。但是,由于用户上报的故障反馈可能会存在行为日志遗漏的情况,因此依据用户行为日志对故障反馈进行分析的方式会导致分析结果不准确。本发明实施例针对上述情况,提出通过服务器根据用户上报的故障反馈,主动向客户端下发故障反馈对应的诊断命令,以便在客户端中再现故障,对客户端进行远程在线诊断,从而得到客户端上传的更加全面的诊断数据,能够对故障反馈进行更加准确地分析。
为了保证服务器能够向客户端主动下发诊断命令,要求客户端与服务器之间建立长连接。但是,考虑到如果每个客户端均与服务器建立长连接,会导致占用大量的服务器资源,增加服务器的负载。因此,本发明实施例中以用户提交的故障反馈作为切入点,在服务器中存在与客户端对应的待处理故障反馈的情况下,也即在需要对客户端进行在线诊断的情况下,客户端才与服务器建立长连接,因此能够减少长连接的数量,节省服务器资源。
本发明实施例中,移动终端可以为智能手机、平板电脑、可穿戴设备、个人数字助理(Personal Digital Assistant,PDA)等。移动终端的操作系统可以为Android(安卓)系统、iOS系统等。客户端可以为安装于移动终端上的各种应用程序。服务器可以为用于处理故障反馈和在线诊断的后台服务。
下面,结合各个实施例对故障诊断方法进行详细介绍。
图1为本发明实施例中的一种故障诊断方法的步骤流程图。图1所示的故障诊断方法应用于客户端中。如图1所示,故障诊断方法可以包括以下步骤:
步骤101,判断服务器中是否存在与客户端对应的待处理故障反馈。
步骤102,在判断出存在后,与所述服务器建立长连接。考虑到如果每个客户端均与服务器建立长连接,则会导致占用大量的服务器资源,因此客户端在与服务器建立长连接之前,先判断服务器中是否存在与该客户端对应的待处理故障反馈。如果判断出服务器中存在与客户端对应的待处理故障反馈,则说明需要对客户端进行在线诊断,因此客户端与服务器建立长连接。如果判断出服务器中不存在与客户端对应的待处理故障反馈,则说明无需对客户端进行在线诊断,因此客户端无需与服务器建立长连接。
步骤103,在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据。
步骤104,通过所述长连接将所述诊断数据发送至所述服务器。
在客户端与服务器建立长连接后,服务器可以通过所述长连接向客户端发送待处理故障反馈对应的诊断命令,对客户端进行远程在线诊断。客户端接收到诊断命令后,执行该诊断命令对应的诊断操作,得到诊断数据,并通过所述长连接将诊断数据发送至服务器。在实现中,可以在客户端中预先设置诊断命令与诊断操作的映射关系,客户端可以根据该映射关系,获知诊断命令对应的诊断操作。由于诊断命令与待处理故障相关,因此服务器可以依据客户端执行诊断命令后得到的诊断数据,确定待处理故障反馈的故障原因。
图2为本发明实施例中的另一种故障诊断方法的步骤流程图。图2所示的故障诊断方法应用于服务器中。如图2所示,故障诊断方法可以包括以下步骤:
步骤201,在与客户端建立长连接后,获取所述客户端对应的待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端。
如果服务器中存在与客户端对应的待处理故障反馈,则客户端会与服务器建立长连接。在建立长连接后,服务器即可获取所述待处理故障反馈对应的诊断命令,并通过所述长连接将诊断命令发送给客户端,以便指示客户端执行对应的诊断操作,进而得到客户端的诊断数据。
步骤202,在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因。
服务器在接收到客户端执行所述诊断命令对应的诊断操作后,通过所述长连接发送的诊断数据后,即可依据所述诊断数据确定所述待处理故障反馈的故障原因。
比如,待处理故障反馈为用户无法登录,则服务器可以通过长连接向客户端下发网络实时日志获取命令。客户端接收到网络实时日志获取命令后,获取本地的网络实时日志,并将获取的网络实时日志通过长连接发送至服务器。服务器则可以根据客户端发送的网络实时日志确定用户无法登录的故障原因是否为网络原因,等等。
通过客户端与服务器之间建立长连接,服务器可以主动向客户端下发诊断命令,诊断命令与故障反馈相关,从而实现在客户端复现故障,以便对客户端进行远程在线诊断,根据客户端执行诊断命令得到的诊断数据能够更加全面、更加准确地对故障反馈进行分析。并且,相比于每个客户端都与服务器建立长连接的方式,本发明实施例以用户提交的故障反馈作为切入点,在服务器中存在与客户端对应的待处理故障反馈的情况下客户端才与服务器建立长连接,因此能够减少长连接的数量,节省服务器资源。
图3为本发明实施例中的另一种故障诊断方法的步骤流程图。图3所示的故障诊断方法应用于客户端中。如图3所示,故障诊断方法可以包括以下步骤:
步骤301,在客户端启动后,向服务器发起携带用户标识的查询请求,并接收所述服务器返回的查询响应。
客户端与服务器之间可以基于HTTP(Hyper Text Transfer Protocol,超文本传输协议)进行通信。因此在客户端启动后,可以基于HTTP生成查询请求,该查询请求中携带用户标识,用于查询服务器中是否存在该用户标识对应的待处理故障反馈,客户端将查询请求发送至服务器。
服务器接收到查询请求后,查询是否存在所述用户标识对应的待处理故障反馈,根据查询结果生成查询响应,并将查询响应返回给客户端。
步骤302,在所述查询响应指示所述服务器中存在所述用户标识对应的待处理故障反馈时,确定所述服务器中存在与所述客户端对应的待处理故障反馈。
客户端接收到查询响应,解析该查询响应。如果查询响应指示服务器中不存在所述用户标识对应的待处理故障反馈,则客户端确定所述服务器中不存在与所述客户端对应的待处理故障反馈。如果查询响应指示服务器中存在所述用户标识对应的待处理故障反馈,则客户端确定所述服务器中存在与所述客户端对应的待处理故障反馈。
步骤303,在判断出服务器中存在与客户端对应的待处理故障反馈后,与所述服务器建立长连接。
如果客户端在判断出服务器中不存在与该客户端对应的待处理故障反馈,则客户端无需与服务器建立长连接。如果客户端在判断出服务器中存在与该客户端对应的待处理故障反馈,则客户端与服务器建立长连接。长连接是指在一个连接上可以连续发送多个数据包。
在一种可选实施方式中,客户端可以与服务器建立WebSocket长连接,从而建立客户端与服务器之间的长连双向通道。WebSocket是一种在单个TCP(Transmission ControlProtocol,传输控制协议)连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务器主动向客户端推送数据。在WebSocket API(Application Programming Interface,应用程序编程接口)中,客户端和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。为了建立WebSocket长连接,客户端首先要向服务器发起一个HTTP请求,这个请求和通常的HTTP请求不同,包含了一些附加头信息,其中附加头信息“Upgrade:WebSocket”表明这是一个申请协议升级的HTTP请求,服务器解析这些附加的头信息然后产生应答信息返回给客户端,客户端和服务器的WebSocket长连接就建立起来了,双方就可以通过这个连接通道自由的传递信息,并且这个连接会持续存在直到客户端或者服务器的某一方主动关闭连接。
当然,本发明实施例中还可以采用其他方式保持客户端与服务器之间的长连接。比如,可以采用普通轮询的方式,客户端以一定的时间间隔频繁向服务器发送请求,然后由服务器在接收到请求后向客户端返回相关的诊断命令,从而来保持客户端和服务器的通信连接。再比如,采用Comet轮询的方式,在客户端发起请求后就挂起,等待服务器返回数据,在此期间不会断开连接,从而实现服务器向客户端推送的技术,这种技术可以实现双向通信,但依然需要客户端反复发出请求。本发明实施例对客户端与服务器之间具体的长连接方式不作限制。
步骤304,在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据。
步骤305,通过所述长连接将所述诊断数据发送至所述服务器。
在客户端与服务器建立长连接之后,服务器可以向客户端发送待处理故障反馈对应的诊断命令。客户端接收到诊断命令后,执行该诊断命令对应的诊断操作,从而得到诊断数据,并将诊断数据发送至服务器。
可选地,诊断命令可以包括以下至少一种:沙盒日志全文检索命令、沙盒文件列表获取命令、沙盒文件获取命令、本地客户端数据读取命令(比如iOS系统的UserDefaults读取命令)、私密数据查询命令(比如iOS系统的Keychain数据查询命令)、客户端内存日志获取命令、网络实时日志获取命令、网络DNS(Domain Name System,域名系统)欺骗命令、客户端的资源使用率(比如内存、闪存、CPU使用率)获取命令、客户端自检命令(比如登录命令)、网络弱网检测命令、特定服务IP检测命令。
在实现中,客户端在接收到沙盒日志全文检索命令后,检索获得本地的沙盒日志,将沙盒日志作为诊断数据发送至服务器。客户端在接收到沙盒文件列表获取命令后,获取本地的沙盒文件列表,将沙盒文件列表作为诊断数据发送至服务器。客户端在接收到沙盒文件获取命令后,获取本地的沙盒文件,将沙盒文件作为诊断数据发送至服务器。客户端在接收到本地客户端数据读取命令后,读取本地客户端数据(比如用户设置和偏好等),将读取的数据作为诊断数据发送至服务器。客户端在接收到私密数据查询命令后,查询客户端的私密数据(比如密码、用于认证的证书、身份信息等),将查询到的私密数据作为诊断数据发送至服务器。客户端在接收到客户端内存日志获取命令后,获取客户端的内存日志,将内存日志作为诊断数据发送至服务器。客户端在接收到网络实时日志获取命令后,获取网络实时日志,将网络实时日志作为诊断数据发送至服务器。客户端在接收到网络DNS欺骗命令后,获取客户端中与DNS相关的记录信息,将记录信息作为诊断数据发送至服务器。客户端在接收到客户端的资源使用率取命令后,获取该客户端的资源使用率,将资源使用率作为诊断数据发送至服务器。客户端在接收到客户端自检命令后,执行自检程序,比如进行登录,将自检得到的数据作为诊断数据发送至服务器。客户端在接收到网络弱网检测命令后,对当前的网络进行检测,将网络检测结果作为诊断数据发送至服务器。客户端在接收到特定服务IP检测命令后,对该特定服务IP进行检测,将检测结果作为诊断数据发送至服务器。
服务器接收到客户端的诊断数据后,即可依据诊断数据,确定所述待处理故障反馈的故障原因。
图4为本发明实施例中的另一种故障诊断方法的步骤流程图。图4所示的故障诊断方法应用于客户端。如图4所示,故障诊断方法可以包括以下步骤:
步骤401,在客户端运行过程中发生故障且接收到用户触发的反馈指令后,生成待处理故障反馈。
步骤402,将所述待处理故障反馈上报至所述服务器,实现判断出所述服务器中存在与所述客户端对应的待处理故障反馈。
客户端在启动后的运行过程中,可能会发生故障。在发生故障时,客户端可以提供用户反馈界面,用户在该界面中触发反馈指令,客户端接收到反馈指令后,生成待处理故障反馈,并将该待处理故障反馈上报至服务器。
比如,在客户端无法播放离线视频时,用户在用户反馈界面中点击反馈按钮后触发反馈指令,客户端接收到反馈指令后,生成无法播放离线视频的待处理故障反馈,并将该待处理故障反馈上报至服务器中。客户端上报待处理故障反馈后,服务器中就存在了该客户端对应的待处理故障反馈,因此,客户端在将待处理故障反馈上报至服务器后,即可实现判断出所述服务器中存在与所述客户端对应的待处理故障反馈。
步骤403,在判断出服务器中存在与客户端对应的待处理故障反馈后,与所述服务器建立长连接。
步骤404,在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据。
步骤405,通过所述长连接将所述诊断数据发送至所述服务器。
步骤403~步骤405具体过程,与上述步骤303~步骤305相同,具体参照上述的相关描述即可。
本发明实施例中,可以对客户端进行各种维度的在线诊断,不仅可以获取日志文件,也可以获取客户端的实时状态,甚至动态修改客户端的行为,丰富了诊断手段,提高了诊断的成功率。
图5为本发明实施例中的另一种故障诊断方法的步骤流程图。图5所示的故障诊断方法应用于服务器中。如图5所示,故障诊断方法可以包括以下步骤:
步骤501,在接收到客户端发起的携带用户标识的查询请求后,查询是否存在所述用户标识对应的待处理故障反馈。
步骤502,根据查询结果生成查询响应,将所述查询响应返回给客户端。
服务器可以对客户端上报的故障反馈进行维护。比如,服务器中可以通过哈希表的方式对应存储用户标识、故障反馈的标识、故障反馈的状态(包括已处理状态和待处理状态)等信息。
服务器在接收到客户端发起的携带用户标识的查询请求后,解析得到查询请求中的用户标识,根据该用户标识查询是否存在所述用户标识对应的待处理故障反馈,待处理故障反馈是指处于待处理状态的故障反馈。如果查询到服务器中存在所述用户标识对应的待处理故障反馈,则生成用于指示服务器中存在所述用户标识对应的待处理故障反馈的查询响应;如果查询到服务器中不存在所述用户标识对应的待处理故障反馈,则生成用于指示服务器中不存在用户标识对应的待处理故障反馈的查询响应。
比如,如果服务器中存在所述用户标识对应的待处理故障反馈,则可以在查询响应中携带字符“1”,当然还可以携带待处理故障反馈的标识等信息;如果服务器中不存在所述用户标识对应的待处理故障反馈,则可以在查询响应中携带字符“0”,或者查询响应为空字符,等等。
步骤503,在与所述客户端建立长连接后,获取所述客户端对应的待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端。
服务器将查询响应返回给客户端。客户端接收查询响应,如果查询响应指示服务器中存在所述用户标识对应的待处理故障反馈,则客户端与服务器建立长连接。在与客户端建立长连接后,服务器获取所述待处理故障反馈对应的诊断命令,并通过所述长连接将诊断命令发送至所述客户端。
在实现中,可以预设故障反馈与诊断命令的映射关系,并在服务器中存储该映射关系。因此,服务器可以从预设的故障反馈与诊断命令的映射关系中,获取所述待处理故障反馈对应的诊断命令。
比如,当故障反馈为用户无法登录时,对应的诊断命令可以包括本地客户端数据读取命令、客户端自检命令、网络实时日志获取命令、网络弱网检测命令等。当故障反馈为离线视频无法播放时,对应的诊断命令可以包括沙盒日志全文检索命令、沙盒文件列表获取命令、沙盒文件获取命令、客户端的资源使用率获取命令等。当故障反馈为页面无法刷新时,对应的诊断命令可以包括网络实时日志获取命令、网络弱网检测命令等。可以根据实际情况,设置故障反馈与诊断命令的映射关系,在此不再详细论述。
当待处理故障反馈对应的诊断命令包括多个时,服务器可以逐个向客户端发送诊断命令,直至确定出待处理故障反馈的故障原因为止。
步骤504,在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因。
客户端接收到诊断命令后,执行对应的诊断操作,得到诊断数据,客户端通过所述长连接将诊断数据发送至服务器。服务器接收到客户端发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因。
比如,待处理故障反馈为用户无法登录,则服务器可以向客户端发送UserDefaults读取命令,查看用户登录状态,如果本地标记用户已登录,则服务器可以向客户端发起静默登录命令。服务器还可以向客户端发送网络实时日志获取命令,以便确定是否由于网络原因导致无法登录,如果是,服务器可以向客户端发送网络弱网检测命令,以便确定用户网络环境是否正常。
步骤505,在依据所述诊断数据确定出所述待处理故障反馈的故障原因后,将所述待处理故障反馈标记为已处理故障反馈。
步骤506,在所述用户标识对应的待处理故障反馈全部被标记为已处理故障反馈后,断开与所述客户端的长连接。
服务器在依据客户端发送的诊断数据确定出待处理故障反馈的故障原因后,可以将待处理故障反馈标记为已处理故障反馈。当然,服务器还可以向客户端发送通知,以便通知客户端待处理故障反馈已处理完成。
在所述用户标识对应的待处理故障反馈全部被标记为已处理故障反馈后,服务器无需再继续向客户端发送诊断命令,因此服务器可以主动断开与客户端的长连接,从而避免服务器的资源浪费。比如,服务器可以发送关闭长连接请求给客户端,客户端接收到请求后就会自动关闭并触发长连接对应的onclose事件,长连接关闭。
图6为本发明实施例中的另一种故障诊断方法的步骤流程图。图6对应的实施例从客户端和服务器的交互过程说明故障诊断方法。其中,服务器可以包括反馈后台服务和诊断后台服务。
如图6所示,故障诊断方法可以包括以下过程:
步骤601、客户端(也即APP)启动。
步骤602、客户端向反馈后台服务查询用户标识对应的待处理故障反馈。
客户端启动后请求一个反馈后台服务接口,以便查询反馈后台服务中是否存在用户标识对应的反馈列表,以及是否存在待处理故障反馈。
步骤603、反馈后台服务向客户端返回查询响应。
反馈后台服务根据查询结果,生成查询响应返回给客户端。
步骤604、客户端判断是否存在待处理故障反馈。在存在时,执行步骤605;在不存在时,等待客户端退出。
步骤605、客户端发起WebSocket连接,与诊断服务后台建立通道。
步骤606、诊断服务后台通过WebSocket连接向客户端发送诊断命令。
诊断命令可以包括以下至少一种:沙盒日志全文检索命令、沙盒文件列表获取命令、沙盒文件获取命令、UserDefaults读取命令、Keychain数据查询命令、客户端内存日志获取命令、网络实时日志获取命令、网络DNS spoofing(欺骗)命令、客户端的资源使用率(比如内存、闪存、CPU使用率)获取命令、客户端自检命令(比如登录命令)、网络弱网检测命令、特定server(服务)IP检测命令。
诊断后台服务还可以进一步通知客服或者工程人员进行线上实时诊断,由客服或者工程人员触发诊断命令。
步骤607、客户端解析诊断命令。
步骤608、客户端执行诊断命令。
步骤609、客户端通过WebSocket连接向诊断后台服务发送诊断数据。
步骤610、诊断后台服务进行诊断数据分析。
步骤611、诊断后台服务判断是否诊断完成。在完成时,执行步骤612;在未完成时,返回执行步骤606。
步骤612、诊断后台服务更新待处理故障反馈的状态,断开WebSocket连接。
诊断后台服务对诊断数据进行分析,来确认故障原因,结案或者进一步进行更多诊断命令的下发以获取更多诊断数据。确定出故障原因后,诊断后台服务对待处理故障反馈进行状态修改,如果所有待处理故障反馈均已确定出故障原因,则诊断后台服务主动切断WebSocket连接。
步骤613、客户端关闭WebSocket连接。
步骤614、客户端退出。
当用户反馈故障时,比如提供了一个故障反馈。但联系用户后却存在技术上的沟通问题,因为用户并不是技术人员。这个时候可以远程控制手机上的APP,通过向APP发送故障反馈对应的诊断命令,以便控制APP执行诊断命令对应的诊断操作,得到诊断数据,并将诊断数据发送至服务器。技术人员可以根据客户端发送的诊断数据远程分析APP的状态,减少了大量无效的沟通,大大增加了效率。
本发明实施例中,通过自动建立双向通道实现在线诊断功能,能够复现现场故障,建立自定义命令模式,实现了对客户端的不同维度,不同能力的检测能力,可以在不打扰用户的情况下静默分析问题,更准确、更及时地解决客户端的故障反馈。并且,以用户上报的故障反馈作为切入点,将故障反馈作为建立长连接的标志位,既实现了客户端与服务器的长连接,又避免了每个客户端都建立一个长连接带来的服务器巨大投入,由于上报故障反馈的用户较少,同时又是重要的线上故障来源,因此能够用最小的投入覆盖最重要的诊断对象。
图7为本发明实施例中的一种故障诊断装置的结构框图。图7所示的故障诊断装置应用于客户端中。如图7所示,故障诊断装置可以包括:判断模块701、连接模块702、执行模块703和数据发送模块704。
判断模块701,用于判断服务器中是否存在与所述客户端对应的待处理故障反馈。
连接模块702,用于在所述判断模块701判断出存在后,与所述服务器建立长连接。
执行模块703,用于在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据。
数据发送模块704,用于通过所述长连接将所述诊断数据发送至所述服务器。所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。
本发明实施例能够更加全面、更加准确地对故障反馈进行分析,并且能够减少长连接的数量,节省服务器资源。
图8为本发明实施例中的另一种故障诊断装置的结构框图。图8所示的故障诊断装置应用于客户端中。如图8所示,故障诊断装置可以包括:
判断模块801,用于判断服务器中是否存在与所述客户端对应的待处理故障反馈。
连接模块802,用于在所述判断模块801判断出存在后,与所述服务器建立长连接。
执行模块803,用于在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据。
数据发送模块804,用于通过所述长连接将所述诊断数据发送至所述服务器。所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。
可选地,所述判断模块801包括:查询单元8011,用于在所述客户端启动后,向所述服务器发起携带用户标识的查询请求,并接收所述服务器返回的查询响应;确定单元8012,用于在所述查询响应指示所述服务器中存在所述用户标识对应的待处理故障反馈时,确定所述服务器中存在与所述客户端对应的待处理故障反馈。
可选地,所述判断模块801包括:生成单元8013,用于在所述客户端运行过程中发生故障且接收到用户触发的反馈指令后,生成待处理故障反馈;上报单元8014,用于将所述待处理故障反馈上报至所述服务器,实现判断出所述服务器中存在与所述客户端对应的待处理故障反馈。
可选地,所述诊断命令包括以下至少一种:沙盒日志全文检索命令、沙盒文件列表获取命令、沙盒文件获取命令、本地客户端数据读取命令、私密数据查询命令、客户端内存日志获取命令、网络实时日志获取命令、网络DNS欺骗命令、客户端的资源使用率获取命令、客户端自检命令、网络弱网检测命令、特定服务IP检测命令。
本发明实施例可以对客户端进行各种维度的在线诊断,不仅可以获取日志文件,也可以获取客户端的实时状态,甚至动态修改客户端的行为,丰富了诊断手段,提高了诊断的成功率。
图9为本发明实施例中的一种故障诊断装置的结构框图。图9所示的故障诊断装置应用于服务器中。如图9所示,故障诊断装置可以包括:命令发送模块901和故障确定模块902。
命令发送模块901,用于在与客户端建立长连接后,获取所述客户端对应待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端。
故障确定模块902,用于在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因。所述诊断数据为所述客户端执行所述诊断命令对应的诊断操作后得到。
图10为本发明实施例中的另一种故障诊断装置的结构框图。图10所示的故障诊断装置应用于服务器中。本发明实施例中的故障诊断装置可以包括:反馈查询模块1001、返回模块1002、命令发送模块1003、故障确定模块1004、标记模块1005和断开模块1006。
反馈查询模1001,用于在接收到客户端发起的携带用户标识的查询请求后,查询是否存在所述用户标识对应的待处理故障反馈。
返回模块1002,用于在所述反馈查询模块1001查询到存在时,生成用于指示所述服务器中存在所述用户标识对应的待处理故障反馈的查询响应,将所述查询响应返回给所述客户端。
命令发送模块1003,用于在与所述客户端建立长连接后,获取所述客户端对应的待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端。
故障确定模块1004,用于在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因。所述诊断数据为所述客户端执行所述诊断命令对应的诊断操作后得到。
标记模块1005,用于在依据所述诊断数据确定出所述待处理故障反馈的故障原因后,将所述待处理故障反馈标记为已处理故障反馈。
断开模块1006,用于在所述用户标识对应的待处理故障反馈全部被标记为已处理故障反馈后,断开与所述客户端的长连接。
可选地,所述命令发送模块1003,具体用于从预设的故障反馈与诊断命令的映射关系中,获取所述待处理故障反馈对应的诊断命令。
本发明实施例能够及时切断长连接,进一步节省服务器资源。
本发明实施例还提供了一种电子设备,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信。
存储器1103,用于存放计算机程序;
处理器1101,用于执行存储器1103上所存放的程序。
当电子设备作为客户端时,处理器1101在执行存储器1103上所存放的程序时,实现如下步骤:
判断服务器中是否存在与所述客户端对应的待处理故障反馈;
在判断出存在后,与所述服务器建立长连接;
在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据;
通过所述长连接将所述诊断数据发送至所述服务器;所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。
可选地,所述判断服务器中是否存在与所述客户端对应的待处理故障反馈,包括:在所述客户端启动后,向所述服务器发起携带用户标识的查询请求,并接收所述服务器返回的查询响应;在所述查询响应指示所述服务器中存在所述用户标识对应的待处理故障反馈时,确定所述服务器中存在与所述客户端对应的待处理故障反馈。
可选地,所述判断服务器中是否存在与所述客户端对应的待处理故障反馈,方法还包括:在所述客户端运行过程中发生故障且接收到用户触发的反馈指令后,生成待处理故障反馈,并;将所述待处理故障反馈上报至所述服务器,实现判断出所述服务器中存在与所述客户端对应的待处理故障反馈;在当前未与所述服务器建立长连接的情况下,与所述服务器建立长连接。
可选地,所述诊断命令包括以下至少一种:沙盒日志全文检索命令、沙盒文件列表获取命令、沙盒文件获取命令、本地客户端数据读取命令、私密数据查询命令、客户端内存日志获取命令、网络实时日志获取命令、网络DNS欺骗命令、客户端的资源使用率获取命令、客户端自检命令、网络弱网检测命令、特定服务IP检测命令。
当电子设备作为服务器时,处理器1101在执行存储器1103上所存放的程序时,实现如下步骤:
在与客户端建立长连接后,获取所述客户端对应的待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端;
在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因;所述诊断数据为所述客户端执行所述诊断命令对应的诊断操作后得到。
可选地,在所述在与客户端建立长连接后,获取已存在的所述客户端对应的待处理故障反馈对应的诊断命令之前,还包括:在接收到所述客户端发起的携带用户标识的查询请求后,查询是否存在所述用户标识对应的待处理故障反馈;在存在时,生成用于指示所述服务器中存在所述用户标识对应的待处理故障反馈的查询响应,将所述查询响应返回给所述客户端。可选地,所述方法还包括:在依据所述诊断数据确定出所述待处理故障反馈的故障原因后,将所述待处理故障反馈标记为已处理故障反馈;在所述用户标识对应的待处理故障反馈全部被标记为已处理故障反馈后,断开与所述客户端的长连接。
可选地,所述获取所述待处理故障反馈对应的诊断命令,包括:从预设的故障反馈与诊断命令的映射关系中,获取所述待处理故障反馈对应的诊断命令。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一由客户端执行的故障诊断方法。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一由服务器执行的故障诊断方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一由客户端执行的故障诊断方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一由服务器执行的故障诊断方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种故障诊断方法,其特征在于,执行于客户端,所述方法包括:
判断服务器中是否存在与所述客户端对应的待处理故障反馈;
在判断出存在后,与所述服务器建立长连接;
在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据;
通过所述长连接将所述诊断数据发送至所述服务器;所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。
2.根据权利要求1所述的方法,其特征在于,所述判断服务器中是否存在与所述客户端对应的待处理故障反馈,包括:
在所述客户端启动后,向所述服务器发起携带用户标识的查询请求,并接收所述服务器返回的查询响应;
在所述查询响应指示所述服务器中存在所述用户标识对应的待处理故障反馈时,确定所述服务器中存在与所述客户端对应的待处理故障反馈。
3.根据权利要求1所述的方法,其特征在于,所述判断服务器中是否存在与所述客户端对应的待处理故障反馈,包括:
在所述客户端运行过程中发生故障且接收到用户触发的反馈指令后,生成待处理故障反馈;
将所述待处理故障反馈上报至所述服务器,实现判断出所述服务器中存在与所述客户端对应的待处理故障反馈。
4.根据权利要求1所述的方法,其特征在于,所述诊断命令包括以下至少一种:
沙盒日志全文检索命令、沙盒文件列表获取命令、沙盒文件获取命令、本地客户端数据读取命令、私密数据查询命令、客户端内存日志获取命令、网络实时日志获取命令、网络DNS欺骗命令、客户端的资源使用率获取命令、客户端自检命令、网络弱网检测命令、特定服务IP检测命令。
5.一种故障诊断方法,其特征在于,执行于服务器,所述方法包括:
在与客户端建立长连接后,获取所述客户端对应的待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端;
在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因;所述诊断数据为所述客户端执行所述诊断命令对应的诊断操作后得到。
6.根据权利要求5所述的方法,其特征在于,在所述在与客户端建立长连接后,获取已存在的所述客户端对应的待处理故障反馈对应的诊断命令之前,还包括:
在接收到所述客户端发起的携带用户标识的查询请求后,查询是否存在所述用户标识对应的待处理故障反馈;
在存在时,生成用于指示所述服务器中存在所述用户标识对应的待处理故障反馈的查询响应,将所述查询响应返回给所述客户端。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在依据所述诊断数据确定出所述待处理故障反馈的故障原因后,将所述待处理故障反馈标记为已处理故障反馈;
在所述用户标识对应的待处理故障反馈全部被标记为已处理故障反馈后,断开与所述客户端的长连接。
8.根据权利要求5所述的方法,其特征在于,所述获取所述待处理故障反馈对应的诊断命令,包括:
从预设的故障反馈与诊断命令的映射关系中,获取所述待处理故障反馈对应的诊断命令。
9.一种故障诊断装置,其特征在于,应用于客户端,所述装置包括:
判断模块,用于判断服务器中是否存在与所述客户端对应的待处理故障反馈;
连接模块,用于在所述判断模块判断出存在后,与所述服务器建立长连接;
执行模块,用于在接收到所述服务器通过所述长连接发送的,所述待处理故障反馈对应的诊断命令时,执行所述诊断命令对应的诊断操作,得到诊断数据;
数据发送模块,用于通过所述长连接将所述诊断数据发送至所述服务器;所述诊断数据作为所述服务器确定所述待处理故障反馈的故障原因的依据。
10.一种故障诊断装置,其特征在于,应用于服务器,所述装置包括:
命令发送模块,用于在与客户端建立长连接后,获取所述客户端对应的待处理故障反馈对应的诊断命令,通过所述长连接将所述诊断命令发送至所述客户端;
确定模块,用于在接收到所述客户端通过所述长连接发送的诊断数据后,依据所述诊断数据确定所述待处理故障反馈的故障原因;所述诊断数据为所述客户端执行所述诊断命令对应的诊断操作后得到。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求1-4任一所述的方法,或者,实现如权利要求5-8任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现如权利要求1-4任一所述的方法,或者,实现如权利要求5-8任一所述的方法。
CN202010438328.7A 2020-05-21 2020-05-21 故障诊断方法、装置、电子设备及存储介质 Active CN111711533B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010438328.7A CN111711533B (zh) 2020-05-21 2020-05-21 故障诊断方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010438328.7A CN111711533B (zh) 2020-05-21 2020-05-21 故障诊断方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111711533A true CN111711533A (zh) 2020-09-25
CN111711533B CN111711533B (zh) 2023-02-24

Family

ID=72538534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010438328.7A Active CN111711533B (zh) 2020-05-21 2020-05-21 故障诊断方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111711533B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491612A (zh) * 2020-11-26 2021-03-12 掌阅科技股份有限公司 网络异常数据的上报方法、终端以及计算机存储介质
CN112597022A (zh) * 2020-12-24 2021-04-02 Oppo(重庆)智能科技有限公司 远程诊断方法、装置、存储介质及电子设备
CN113472583A (zh) * 2021-07-06 2021-10-01 北京奇艺世纪科技有限公司 故障原因识别方法、装置及故障原因识别系统
CN114296973A (zh) * 2021-12-17 2022-04-08 苏州浪潮智能科技有限公司 一种服务器故障排除系统、方法和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003173207A (ja) * 2001-12-05 2003-06-20 Osaka Gas Co Ltd 遠隔故障診断方法及び遠隔故障診断システム
US20150289152A1 (en) * 2014-04-04 2015-10-08 Cellco Partnership D/B/A Verizon Wireless Remote diagnostics for mobile devices
CN106020174A (zh) * 2016-07-25 2016-10-12 上海庆科信息技术有限公司 一种智能设备故障云处理方法及系统
CN107104838A (zh) * 2017-05-15 2017-08-29 北京奇艺世纪科技有限公司 一种信息处理方法、服务器及终端
CN108449405A (zh) * 2018-03-13 2018-08-24 平安科技(深圳)有限公司 事件提醒方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003173207A (ja) * 2001-12-05 2003-06-20 Osaka Gas Co Ltd 遠隔故障診断方法及び遠隔故障診断システム
US20150289152A1 (en) * 2014-04-04 2015-10-08 Cellco Partnership D/B/A Verizon Wireless Remote diagnostics for mobile devices
CN106020174A (zh) * 2016-07-25 2016-10-12 上海庆科信息技术有限公司 一种智能设备故障云处理方法及系统
CN107104838A (zh) * 2017-05-15 2017-08-29 北京奇艺世纪科技有限公司 一种信息处理方法、服务器及终端
CN108449405A (zh) * 2018-03-13 2018-08-24 平安科技(深圳)有限公司 事件提醒方法、装置、计算机设备和存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112491612A (zh) * 2020-11-26 2021-03-12 掌阅科技股份有限公司 网络异常数据的上报方法、终端以及计算机存储介质
CN112491612B (zh) * 2020-11-26 2021-11-19 掌阅科技股份有限公司 网络异常数据的上报方法、终端以及计算机存储介质
CN112597022A (zh) * 2020-12-24 2021-04-02 Oppo(重庆)智能科技有限公司 远程诊断方法、装置、存储介质及电子设备
CN113472583A (zh) * 2021-07-06 2021-10-01 北京奇艺世纪科技有限公司 故障原因识别方法、装置及故障原因识别系统
CN114296973A (zh) * 2021-12-17 2022-04-08 苏州浪潮智能科技有限公司 一种服务器故障排除系统、方法和存储介质

Also Published As

Publication number Publication date
CN111711533B (zh) 2023-02-24

Similar Documents

Publication Publication Date Title
CN111711533B (zh) 故障诊断方法、装置、电子设备及存储介质
CN111314459B (zh) 一种业务请求方法、装置、电子设备及存储介质
CN106936791B (zh) 拦截恶意网址访问的方法和装置
JP6686033B2 (ja) メッセージをプッシュするための方法および装置
CN106484611B (zh) 基于自动化协议适配的模糊测试方法和装置
WO2021232197A1 (zh) 设备状态监控方法、装置、设备及存储介质
CN108063833B (zh) Http dns解析报文处理方法及装置
CN110113440B (zh) 一种请求响应方法、装置及终端
US11411997B2 (en) Active fingerprinting for transport layer security (TLS) servers
CN111522714A (zh) 日志查询方法、装置、电子设备及存储介质
CN113360301A (zh) 一种消息传输系统及方法
CN112052227A (zh) 数据变更日志的处理方法、装置和电子设备
CN112261111A (zh) 一种应用程序内浏览器跨域访问实现方法及系统
CN110661673B (zh) 一种心跳检测的方法及装置
CN111831513A (zh) 日志查询方法、装置、电子设备、及存储介质
CN112187869A (zh) Iot设备的远程调试系统、方法、电子设备及存储介质
CN104009999A (zh) 防止arp欺骗的方法、装置及网络接入服务器
CN107066373B (zh) 控制处理方法及装置
CN111107080B (zh) 一种错误信息推送方法、装置、设备及可读存储介质
CN113285920B (zh) 业务访问方法、装置、设备及存储介质
CN113626789A (zh) 用户操作请求的处理方法、装置及电子设备
CN109688204B (zh) 基于ndn网络的文件下载方法、节点、终端
CN110855785B (zh) 一种数据处理的方法及装置
CN114827197B (zh) 基于物联网的服务通信方法、装置、设备及介质
CN112671822B (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