CN108572908A - 信息反馈方法及装置 - Google Patents
信息反馈方法及装置 Download PDFInfo
- Publication number
- CN108572908A CN108572908A CN201710151393.XA CN201710151393A CN108572908A CN 108572908 A CN108572908 A CN 108572908A CN 201710151393 A CN201710151393 A CN 201710151393A CN 108572908 A CN108572908 A CN 108572908A
- Authority
- CN
- China
- Prior art keywords
- description information
- information
- running log
- running
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种信息反馈方法及装置,属于终端技术领域。该方法包括:获取针对目标应用反馈的目标问题的问题描述信息;从该目标应用的多个运行日志中获取该问题描述信息对应的运行日志,该多个运行日志是分别对该目标应用在执行不同功能时产生的信息进行采集得到;将该目标问题的问题描述信息和该问题描述信息对应的运行日志发送给应用服务器,以进行信息反馈。通过本发明提供的信息反馈方法,能够精确地对反馈的问题进行问题场景复现,从而能够有效地对解决反馈的问题。
Description
技术领域
本发明涉及终端技术领域,特别涉及一种信息反馈方法及装置。
背景技术
目前,终端中安装的应用在运行过程中可能会因为某些原因而出现故障,或者用户在使用该应用的过程中发现有些功能还不够完善,为了便于开发人员有针对性的解决和修复这些问题,就需要用户在发现该应用存在这些问题时,及时将这些问题上报给应用服务器,进而反馈给开发人员。
现有技术中,终端中安装的应用通常会设置有用户反馈模块,用户可以通过该应用的用户反馈模块,将该应用存在的问题通过简单的描述上报给应用服务器,即用户可以在用户反馈模块对应的反馈页面中输入问题描述信息,并将该问题描述信息上报给应用服务器,比如该问题描述信息可以为在运行中出现闪退、下载自动暂停、下载速度慢等。之后,开发人员即可按照用户上报给应用服务器的问题描述信息进行问题场景复现。
但是上述方法中,用户反馈的仅是简单的问题描述信息,因此基于该问题描述信息并不能准确地进行问题场景复现,从而不会有效地对出现的问题进行解决。
发明内容
为了解决基于现有信息反馈方法进行问题反馈,不会有效地对出现的问题进行解决,以及问题解决的效率较低的问题,本发明实施例提供了一种信息反馈方法及装置。所述技术方案如下:
一方面,提供了一种信息反馈方法,所述方法包括:
获取针对目标应用反馈的目标问题的问题描述信息;
从所述目标应用的多个运行日志中获取所述问题描述信息对应的运行日志,所述多个运行日志是分别对所述目标应用在执行不同功能时产生的信息进行采集得到;
将所述目标问题的问题描述信息和所述问题描述信息对应的运行日志发送给应用服务器,以进行信息反馈。
另一方面,提供了一种信息反馈装置,所述装置包括:
第一获取模块,用于获取针对目标应用反馈的目标问题的问题描述信息;
第二获取模块,用于从所述目标应用的多个运行日志中获取所述问题描述信息对应的运行日志,所述多个运行日志是分别对所述目标应用在执行不同功能时产生的信息进行采集得到;
发送模块,用于将所述目标问题的问题描述信息和所述问题描述信息对应的运行日志发送给应用服务器,以进行信息反馈。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,在获取针对目标应用反馈的目标问题的问题描述信息之后,还可以从该目标应用的多个运行日志获取与该问题描述信息对应的运行日志,再将该问题描述信息和该问题描述信息对应的运行日志一起发送给应用服务器。由于该运行日志是存储的多个日志中仅与该问题描述信息对应的运行日志,能够精确地反映和定位产生该目标问题的部分运行场景,因此开发人员即能够基于该问题描述信息和该问题描述信息对应的运行日志进行精确地问题场景复现,从而能够有效地对解决反馈的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以基于这些附图获得其他的附图。
图1A是本发明实施例提供的一种信息反馈***示意图;
图1B是本发明实施例提供的一种信息反馈方法流程图;
图1C是本发明实施例提供的一种第一反馈界面的示意图;
图1D是本发明实施例提供的一种第二反馈界面的示意图;
图1E是本发明实施例提供的另一种信息反馈***示意图;
图2是本发明实施例提供的一种信息反馈装置的框图;
图3是本发明实施例提供的一种终端300的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,先对本发明实施例的应用场景予以说明。本发明实施例提供的方法应用于当发现终端中安装的应用出现了问题,需要将出现的问题上报给应用服务器,进而反馈给开发人员,以便开发人员能够有针对性的解决和修复所反馈的问题的场景中。例如,用户可以在发现应用出现故障时,将故障问题进行反馈,或者在使用应用的过程中发现应用的有些功能还不够完善,导致使用不便时,将使用不便的问题进行反馈等。
本发明实施例提供的方法具体应用于信息反馈***中。图1A为本发明实施例提供的一种信息反馈***示意图,如图1A所示,该信息反馈***包括终端100和应用服务器200,终端100和应用服务器200可以通过有线网络或者无线网络连接。
其中,终端100可以获取针对安装的应用反馈的目标问题的问题描述信息,而且,与现有技术不同的是,在获取问题描述信息之后,该终端100还可以从该应用的运行日志中获取该问题描述信息对应的运行日志,并将该问题描述信息和对应的运行日志一起发送给该应用服务器200。应用服务器200可以将该问题描述信息和该运行日志对应存储。如此,开发人员即可基于该应用服务器200中存储的问题描述信息和对应的运行日志进行精确地问题场景复现,从而能够有效地对出现的问题进行解决。
进一步地,终端100中安装的应用可以设置有用户反馈模块,用户可以通过该用户反馈模块,将要反馈的问题上报给应用服务器200。比如,用户可以在用户反馈模块提供的反馈页面中进行操作,以触发问题的上报。
进一步地,终端100中安装的应用还可以设置有运行日志上报模块,在应用运行的过程中,可以通过该运行日志上报模块采集并存储该应用在运行过程中产生的运行信息。而且需要说明的是,该运行日志上报模块可以分别采集该应用在不同阶段产生的运行信息,生成多个运行日志。当获取到反馈的问题描述信息时,即可通过该运行日志上报模块从存储的多个运行日志中提取出该问题描述信息对应的运行日志,并将该问题描述信息对应的运行日志上报给应用服务器200。
其中,该终端100具体可以为计算机、智能手机、平板电脑、笔记本电脑、UMPC(Ultra-mobile Personal Computer,超级移动个人计算机)、上网本、PDA(PersonalDigital Assistant,个人数字助理)等,本发明实施例对此不做限定。
图1B是本发明实施例提供的一种信息反馈方法流程图,该方法用于终端中,参见图1B,该方法包括:
步骤101:获取针对目标应用反馈的目标问题的问题描述信息。
其中,该目标应用为用户从终端安装的多个应用中选择的需要反馈问题的应用。当用户发现终端中的某个应用出现了问题,即可通过该应用进行问题反馈。反馈的目标问题可以为该应用出现的故障问题、功能不够完善的问题、用户使用不便的问题等等,本发明实施例对此不做限定。
实际应用中,该终端可以在基于该目标应用接收到问题反馈指令时,获取针对该目标应用反馈的目标问题的问题描述信息。该问题反馈指令可以由用户通过指定操作触发,该指定操作可以为对问题反馈选项的触发操作等。比如,用户可以通过点击该应用的主界面或者设置菜单界面中的问题反馈选项,触发该问题反馈指令。
实际应用中,可以对该目标问题进行简单的描述,得到该目标问题的问题描述信息,通过反馈该目标问题的问题描述信息来反馈该目标问题。该目标问题的问题描述信息可以由用户输入或者选择得到。具体如何获取该目标问题的问题描述信息,可以由该应用的问题反馈机制决定。
具体地,获取针对目标应用反馈的目标问题的问题描述信息的方式可以包括以下两种:
第一种实现方式:显示该目标应用的第一反馈界面,并获取用户在该第一反馈界面中输入的该目标问题的问题描述信息。
其中,该第一反馈界面为用于输入目标问题的问题描述信息的反馈界面。
实际应用中,该第一反馈界面可以包括问题输入框,用户可以在该问题输入框中输入问题描述信息。当用户输入完成时,即可获取用户在该问题输入框中输入的问题描述信息。比如,可以在用户停止输入预设时长后,获取在该问题输入框中输入的问题描述信息。或者,该第一反馈界面中还可以包括确认选项,当终端接收到对该确认选项的触发操作时,即可获取用户在该问题输入框中输入的问题描述信息。
例如,图1C是本发明实施例提供的一种第一反馈界面的示意图,如图1C所示,该第一反馈界面包括问题输入框和确认选项。用户可以在该问题输入框中输入想要反馈的目标问题的问题描述信息,输入完成之后,即可触发该确认选项确定输入完成。比如,所输入的问题描述信息可以为“下载速度太慢了”。
第二种实现方式:显示该目标应用的第二反馈界面,该第二反馈界面包括多个问题选项,该多个问题选项与多个预设问题描述信息一一对应,每个预设问题描述信息与该多个运行日志中的至少一个运行日志对应;当基于该第二反馈界面接收到问题选项的选择指令时,将所选择的问题选项对应的目标预设问题描述信息确定为该目标问题的问题描述信息。
其中,该第二反馈界面为用于选择待反馈的问题描述信息的反馈界面,基于该第二反馈界面,用户无需输入问题描述信息、直接选择即可,如此可以简化用户的操作,提高问题反馈效率。
其中,该第二反馈界面中可以包括多个预先设置的问题选项,且每个问题选项对应于一个预设问题描述信息。实际应用中,可以将该多个预设问题描述信息直接显示在对应问题选项上或者对应问题选项旁,以便用户基于显示的问题描述信息选择对应的问题选项。该问题选项的选择指令可以由用户通过指定操作触发,比如,该指定操作对问题选项的点击操作、滑动操作或者语音操作等。
在另一实施例中,当用户遇到的问题与该多个预设问题描述信息均不相符时,或者与某个预设问题描述信息符合的不够准确时,用户也可以对该多个预设问题描述信息进行修改,以便基于修改后的预设问题描述信息进行上报。
需要说明的是,该多个预设问题描述信息为统计得到的用户有可能反馈的、以及该应用的开发人员预计的该应用有可能出现的问题的问题描述信息。比如,该多个预设问题描述信息可以为下载问题、安装问题、更新问题、管理问题、性能问题等问题类型描述信息,当然也可以为运行中出现闪退、下载自动暂停、下载速度慢、操作界面不够简洁等具体问题描述信息。
进一步地,为了提高问题反馈的精确度,还可以将该第二反馈界面中的问题选项进行分级,从而将问题选项划分为多级问题选项。该多级可以为两级、三级、四级等,本发明实施例对此不做限定。例如,该第二反馈界面可以使用菜单式结构,且该菜单式结构中包括多级菜单。
为了便于说明,接下来将仅以两级为例。也即是,该第二反馈界面可以包括多个一级问题选项,每个一级问题选项对应至少一个二级问题选项。而且,每个一级问题选项对应的至少一个二级问题选项是对该一级问题选项的进一步细化和分类。比如,一级问题选项可以用于指示问题类型,二级问题选项可以用于指示对应问题类型下的具体问题。
例如,图1D是本发明实施例提供的一种第二反馈界面的示意图,如图1D所示,该第二反馈界面包括多个按照问题类型进行区分的多个一级问题选项,分别为下载选项、安装选项、更新选项、管理选项、性能选项、活动选项、社交选项、娱乐选项和机器人选项。而且,每个一级问题选项还对应至少一个二级问题选项,用于指示对应问题类型下可能出现的各种具体问题。以下载选项为例,该下载选项所对应的二级问题选项可以包括下载失败选项、下载自动暂停选项、下载速度慢选项、重新下载选项和其他下载问题选项。
步骤102:从该目标应用的多个运行日志中获取该问题描述信息对应的运行日志,该多个运行日志是分别对该目标应用在执行不同功能时产生的信息进行采集得到。
本发明实施例中,为了解决现有技术存在的仅基于反馈的问题描述信息无法精确地进行问题场景复现,进而不能有效对反馈问题进行解决的问题,提出了一种在获取反馈的问题描述信息的同时,还可以确定并反馈该问题描述信息对应的部分运行日志的方法,以便开发人员能够基于反馈的问题描述信息和对应的部分运行日志,进行精确地问题场景复现。
为了实现从该目标应用的多个运行日志获取该问题描述信息对应的运行日志,在获取该问题描述信息对应的运行日志之前,该终端可以在该目标应用运行的过程中根据功能进行日志采集,即采集不同功能的运行信息,并将不同功能的运行信息进行存储,得到该目标应用的多个运行日志。进一步地,还可以该目标应用预先设置多个预设问题描述信息,并根据该多个预设问题描述信息实际对应的功能,建立该多个预设问题描述信息与该多个运行日志之间的对应关系。比如,下载问题对应于该目标应用的下载功能的运行日志,更新问题对应于该目标应用的更新功能的运行日志。
需要说明的是,本发明实施例仅是以对该目标应用的运行日志按照不同的功能进行采集和存储为例,而实际应用中,还可以按照其他方式进行存储,比如还可以按照不同的运行阶段进行存储,也即是在该目标应用运行的过程中,可以分别对该目标应用在不同运行阶段产生的信息进行采集,得到该多个运行日志。
其中,当获取反馈的目标问题的问题描述信息的方式的不同时,从该目标应用的多个运行日志中获取该问题描述信息对应的运行日志的方式也会不同,具体可以包括以下两种:
第一种实现方式:当通过上述步骤101中的第一种实现方式来获取反馈的目标问题的问题描述信息时,从该目标应用的多个运行日志中获取该问题描述信息对应的运行日志包括:从多个预设问题描述信息中确定与该问题描述信息之间的相似度最大的目标预设问题描述信息,每个预设问题描述信息与该多个运行日志中的至少一个运行日志对应;从该目标应用的多个运行日志中获取该目标预设问题描述信息对应的运行日志,将该目标预设问题描述信息对应的运行日志确定为该问题描述信息对应的运行日志。
也即是,当该问题描述信息为用户输入的问题描述信息时,可以分别确定多个预设问题描述信息与该问题描述信息之间的相似度,并从中选取与该问题描述信息之间的相似度最大的预设问题描述信息,再将该相似度最大的预设问题描述信息对应的运行日志确定为与该问题描述信息对应的运行日志。
其中,该相似度用于指示预设问题描述信息与该问题描述信息之间信息相似的程度,相似度越大,表示信息相似的程度越高。实际应用中,该相似度可以通过两个描述信息中相同文字的个数或者相同关键字的个数来确定,当然也可以通过其他方式确定,本发明实施例对此不做限定。
比如,在一个具体实施例中,从多个预设问题描述信息中确定与该目标问题的问题描述信息之间的相似度最大的目标预设问题描述信息可以包括:对于该多个预设问题描述信息中的每个预设问题描述信息,确定该预设问题描述信息与该问题描述信息中存在相同文字的个数;分别确定存在的相同文字的个数与该问题描述信息的总字数之间的比例;将对应比例最大的预设问题描述信息确定为相似度最大的目标预设问题描述信息。
第二种实现方式:当通过上述步骤101中的第二种实现方式来获取反馈的目标问题的问题描述信息时,从该目标应用的多个运行日志中获取该问题描述信息对应的运行日志包括:从该目标应用的多个运行日志中获取该目标预设问题描述信息对应的运行日志,将该目标预设问题描述信息对应的运行日志确定为该问题描述信息对应的运行日志。
也即是,当该问题描述信息为基于问题选项确定的问题描述信息时,则该问题选项对应的目标预设问题描述信息对应的运行日志即为该问题描述信息对应的运行日志。
进一步地,为了实现该目标应用能够在运行过程中分别采集不同功能的运行日志,本发明实施例中,开发人员还可以预先将该应用的程序源代码按照功能划分为多个程序模块,每个程序模块由该程序源代码中的部分代码构成,每个程序模块对应该目标应用的一个功能。之后,再从划分得到的多个程序模块中选择需要采集运行信息的多个程序模块,并设置该多个程序模块与多个预设问题描述信息之间的对应关系。
其中,该选择的多个程序模块与多个预设问题描述信息之间的对应关系可以根据程序模块的功能与问题描述信息的实际对应关系进行设置。而且,每个预设问题描述信息可以对应于至少一个程序模块,当然每个程序模块也可以对应于至少一个预设问题描述信息。
比如,以将该应用的程序源代码按照功能分别划分为下载模块、安装模块、更新模块、管理模块等,该多个预设问题描述信息分别为下载问题、安装问题、更新问题、管理问题和性能问题为例,则下载问题可以对应于下载模块,安装问题可以对应于安装模块,更新问题可以对应于更新模块,管理问题可以对应于管理模块,性能问题可以对应于下载模块、安装模块、更新模块和管理模块。
相应地,从该目标应用的多个运行日志中获取该目标预设问题描述信息对应的运行日志可以包括:从该目标应用的多个程序模块中确定与该目标预设问题描述信息对应的目标程序模块,该多个程序模块是从该目标应用的程序源代码中选择需要采集运行信息的部分代码构成,每个程序模块对应该目标应用的一个功能,每个预设问题描述信息与该多个程序模块中的至少一个程序模块对应;从该目标应用的多个运行日志中获取该目标程序模块的运行日志,该目标程序模块的运行日志是对该目标程序模块在运行过程中产生的信息进行采集得到;将该目标程序模块的运行日志,确定为该问题描述信息对应的运行日志。
另外,对于上述第二反馈界面,还可以直接建立该第二反馈界面中的多个问题选项与多个程序模块之间的对应关系,当该目标预设问题描述信息为基于选择的问题选项确定的问题描述信息时,即可直接将该选择的问题选项对应的程序模块确定为该目标预设问题描述信息对应的目标程序模块。
以图1D所示的第二反馈界面为例,该第二反馈界面中的每个问题选项与该问题选项上显示的问题描述信息一一对应,且与至少一个程序模块对应,假设用户选择并点击了下载选项,且下载选项对应的程序模块为下载模块,则该终端即可将该下载模块确定为问题描述信息“下载问题”对应的目标程序模块。
其中,该多个程序模块的指定位置预先***有埋点代码,该埋点代码用于采集对应程序模块在运行过程中产生的运行信息。在从目标应用的多个运行日志中获取该目标程序模块的运行日志之前,在该目标应用运行的过程中,可以通过每个程序模块中***的埋点代码采集每个程序模块在运行过程中产生的运行信息;基于每个程序模块在运行过程中产生的运行信息,生成每个程序模块的运行日志,得到所述目标应用的多个运行日志。
本发明实施例中,在开发人员从划分得到的多个程序模块中选择出需要采集运行信息的多个程序模块之后,为了实现该多个程序模块对各自运行信息的自动采集,开发人员还可以在选择的该多个程序模块中的每个程序模块的指定位置***埋点代码。
需要说明的是,埋点代码是数据采集方法中的一种统计代码,用于进行数据采集。对于***有该埋点代码的程序模块,在该程序模块运行的过程中,当运行到***有埋点代码的位置时即会调用该埋点代码,通过该埋点代码对该埋点位置处产生的关键参数进行采集,进而得到该程序模块在运行过程中产生的运行信息。
还需要说明的是,程序模块的运行信息可以包括:程序模块的标识+埋点代码处的关键参数。进一步地,该运行信息还可以包括时间戳,以指示该运行信息采集的时间。该程序模块的标识可以为程序模块的名称或者编号等。以该程序模块为下载模块为例,该关键参数可以为下载地址、下载内容等信息。
进一步地,***埋点代码的详细粒度还可以根据程序模块的重要程度进行调整。比如,对于较为重要的、需要采集详细运行信息的核心程序模块,可以根据该核心程序模块的代码逻辑,在该核心程序模块中***数目较多的埋点代码,从而使得该核心程序模块能够采集到较为详细的运行信息。
进一步地,对于该多个程序模块中的每个程序模块,还可以将每个程序模块的代码按照执行过程进行划分,并从中选择需要采集运行信息的多个关键过程,得到多个子模块。之后,再在每个子模块的指定位置***埋点代码,以便在该应用运行的过程中,通过***的埋点代码采集该子模块的运行信息。
需要说明的而是,程序模块的子模块的运行信息可以包括:程序模块的标识+子模块的运行标识+埋点代码处的关键参数。子模块的运行标识可以为子模块的名称或者编号等。进一步地,该运行信息还可以包括时间戳,以指示该运行信息采集的时间。
例如,该目标程序模块可以包括多个子模块,该多个子模块是从该目标程序模块的代码中选择需要采集运行信息的部分代码构成,且该多个子模块的指定位置预先***有埋点代码。在从该目标应用的多个运行日志中获取该目标程序模块的运行日志之前,在该目标应用运行的过程中,当运行到该目标程序模块时,即可通过该目标程序模块包括的各个子模块中***的埋点代码分别采集该各个子模块在运行过程中产生的运行信息;基于该各个子模块在运行过程中产生的运行信息,生成该各个子模块的运行日志。
进一步地,当目标程序模块还包括多个子模块时,该目标程序模块的运行信息的提取粒度还可以根据该终端当前所处的网络状态进行确定。也即是,从目标应用的多个运行日志中获取该目标程序模块的运行日志的实现方式可以包括如下两种:
第一种实现方式:若当前的网络状态处于无线局域网络状态,则获取该多个子模块的运行日志,将该多个子模块的运行日志确定为该目标程序模块的运行日志。
其中,该无线局域网络可以为WIFI网络等。也即是,若终端当前处于无线局域网络状态,表示该终端有足够的网络资源,此时该终端即可从存储的多个运行日志中提取出该目标程序模块的多个子模块的运行日志,以便向应用服务器反馈较为详细的运行日志,供开发人员进行问题分析。
例如,参加图1D,以用户点击了“下载”选项的子选项“下载失败”选项为例,其中,“下载失败”选项对应的程序模块为下载模块,且下载模块包括多个子模块,与该“下载”选项的多个子选项一一对应。若当前的网络状态处于无线局域网络状态,则该终端即可获取该“下载失败”选项对应的“下载模块”中所有子模块的运行日志,即分别获取“下载失败”选项、“下载自动暂停”选项、“下载速度慢”选项、“重新下载”选项和“其他下载问题”选项对应的子模块的运行日志,并将这些子模块的运行日志作为目标程序模块“下载模块”的运行日志。
第二种实现方式:若当前的网络状态处于蜂窝网络状态,则从该多个子模块中确定该目标问题的问题描述信息对应的目标子模块,并获取该目标子模块的运行日志,将该目标子模块的运行日志确定为该目标程序模块的运行日志。
其中,该蜂窝网络状态是指移动网络状态,当终端处于蜂窝网络状态时,表示该终端当前可能没有足够的网络资源,因此此处该终端即可仅提取该问题描述信息对应的目标子模块的运行日志,以节省网络资源。
例如,参加图1D,以用户点击了“下载”选项的子选项“下载失败”选项为例,其中,“下载失败”选项对应的程序模块为下载模块,且下载模块包括多个子模块,与该“下载”选项的多个子选项一一对应。若当前的网络状态处于蜂窝网络状态,则该终端即可从“下载失败”选项、“下载自动暂停”选项、“下载速度慢”选项、“重新下载”选项以及“其他下载问题”选项分别对应的子模块中选取“下载失败”选项对应的子模块,并获取该“下载失败”选项对应的子模块的运行日志,将该“下载失败”选项对应的子模块的运行日志作为该目标程序模块“下载模块”的运行日志。
当然,若当前的网络状态处于蜂窝网络状态,该终端也可以先提取该多个子模块的运行日志,并进行保存,直到检测到当前的网络状态处于无线局域网络状态时,再将已提取的该多个子模块的运行日志作为该目标程序模块的运行日志,通过该无线局域网络发送给应用服务器。
其中,该指定位置包括因程序异常导致流程中断的位置、因外部参数导致流程中断的位置、发生***异常的位置、以及因数据异常或者运行条件检查不通过导致流程中断的位置等。
1)之所以要在预先估计的容易因程序异常导致流程中断的位置***埋点代码进行运行信息采集,是因为终端每次运行的情况都是不一样的,会因各种程序异常导致流程中断,采集并记录这个位置的运行信息,可以在后续分析这些运行信息来尽量减少异常发生的概率,防止各种不可控异常导致的流程中断。
2)对于因外部参数导致流程中断的位置,该外部参数可以为接口参数等。之所以要在预先估计的容易因外部参数导致流程中断的位置***埋点代码进行运行信息采集,是因为操作***及终端厂商会修改一些接口,导致应用调用接口时有时并不能成功调用,进而导致程序流程中断,通过采集和记录这个位置的运行信息,可以在后续考虑用其他接口或者绕过该接口的方法来保证流程的继续进行,进而避免因这些外部参数导致的流程中断。
3)之所以要在预先估计的容易发生***异常的位置,以及因数据异常或者运行条件检查不通过导致流程中断的位置***埋点代码进行运行信息采集,是因为通过采集和记录这些位置的运行信息,可以在后续通过分析这些运行信息来防止因为***出现各种异常或者其他代码导致的流程中断。
具体地,基于多个程序模块在运行过程中产生的运行信息,生成该多个运行日志包括:将该多个程序模块中的每个程序模块的运行信息分别进行存储,以生成该多个运行日志。
实际应用中,对于该多个程序模块中的每个程序模块,可以将该程序模块的运行信息直接进行存储,生成该程序模块的运行日志,也可以将该程序模块通过各个埋点代码采集的运行信息进行拼接后再进行存储,生成该程序模块的运行日志。
进一步地,该多个运行日志中的每个运行日志除了包括运行信息之外,还可以包括终端的公共信息。具体地,终端在该应用运行的过程中还可以获取终端的公共信息,该公共信息包括网络状况信息、剩余硬盘空间信息或者剩余内存信息等,并将该公共信息分别存入该多个运行日志。
其中,该网络状况信息可以包括该终端所处的网络状态信息、网络质量信息等。比如,该网络状态信息可以包括无线局域网络状态或者蜂窝网络状态等。该无线局域网络可以为WIFI(WIreless-Fidelity,无线保真)网络等,该蜂窝网络可以为2G网络、3G网络、4G网络等。
考虑到终端的***息在一段时间内通常比较恒定,因此可以周期性地获取公共信息,也可以通过指定条件触发公共信息的获取。比如,对于剩余硬盘空间信息和剩余内存信息,可以每隔预设时长采集一次;对于网络状况信息,可以在检测到所处的网络状态发生变化触发对网络状况信息的采集。
其中,该预设时长可以由终端默认设置,可以由应用服务器预先设置,也可以由用户进行设置,本发明实施例对此不做限定。比如,该预设时长可以为30秒或者1分钟等。
本实现方式中,在该应用运行的过程中,除了采集程序模块的运行信息之外,还可以采集该终端的公共信息。该***息可以作为问题场景复现的辅助信息,为后续还原终端运行现场以及分析问题原因做辅助,从而提高问题场景复现的准确度以及问题解决的成功率。
步骤103:将该目标问题的问题描述信息和该问题描述信息对应的运行日志发送给应用服务器,以进行信息反馈。
本发明实施例中,通过仅将与反馈的目标问题的问题描述信息对应的运行日志发送给应用服务器,可以减小数据的传输量,还可以提高日志分析的效率。
其中,将该目标问题的问题描述信息和该问题描述信息对应的运行日志发送给应用服务器可以包括以下方式中的任一种:
第一种实现方式:通过与该应用服务器之间的专用协议通道,将该问题描述信息和该问题描述信息对应的运行日志发送给该应用服务器。
也即是,该应用服务器可以通过该应用预先建立与该终端之间的专用协议通道,在获取到该目标问题的问题描述信息和该问题描述信息对应的运行日志之后,即可通过与该应用服务器之间的专用协议通道,将该目标问题的问题描述信息和该问题描述信息对应的运行日志一起发送给该应用服务器。
需要说明的是,在通过该专用协议通道发送时,需要将该问题描述信息和该运行日志以数据包的形式进行发送,比如,以HTTP(HyperText Transfer Protocol,超文本传输协议)数据包的形式进行发送。
通过专用协议通道发送时,信息发送比较及时,能够提高信息反馈效率。
第二种实现方式,将该问题描述信息和该问题描述信息对应的运行日志写入反馈文件,通过与该应用服务器之间的公共文件传输通道将该反馈文件发送给该应用服务器。
其中,该公共文件传输通道为公用的文件传输通道,各个应用服务器均可以通过该公共文件传输通道与该终端进行信息交互,且信息交互的形式通常为文件形式。比如,该反馈文件可以TXT文件或者WORD文件等。
通过公共文件传输通道以文件形式发送时,可以一次在文件中写入并发送较多信息内容,也即是,可以发送较为详细的运行日志,从而可以使得开发人员能够更好地进行问题场景复现。
第三种实现方式,对于该目标问题的问题描述信息,通过与该应用服务器之间的专用协议通道,将该目标问题的问题描述信息发送给该应用服务器;对于该问题描述信息对应的运行日志,通过该专用协议通道将该运行日志发送给该应用服务器,或者,将该问题描述信息对应的运行日志写入日志文件,通过与该应用服务器之间的公共文件传输通道将该日志文件发送给该应用服务器。
需要说明的是,各个信息的发送形式可以由应用服务器设置,可以由终端设置,也可以由用户进行设置,本发明实施例对此不做限定。
在一个具体实施例中,可以预先设置对于该多个程序模块中的指定模块的运行日志通过专用协议通道发送,对于该多个程序模块中的其他模块的运行日志则通过公共文件传输通道发送。其中,该指定模块可以为该多个程序模块中的核心模块,或者为发生问题的概率比较小的程序模块。
进一步地,为了节省网络资源和提高信息安全,在发送该问题描述信息和该运行日志之前,还可以对该待发送的问题描述信息和该运行日志进行压缩和加密,再将压缩和加密后的信息发送给该应用服务器。具体地,对于压缩,可以采用压缩比较高的压缩算法;对于加密,可以采用对称加密或非对称加密算法。
进一步地,在将该问题描述信息和该问题描述信息对应的运行日志发送给该应用服务器之后,该终端还可以通过与该应用服务器进行通信,以检测该应用服务器中是否存储有该应用的热补丁,该热补丁为基于该目标问题的问题描述信息和该问题描述信息对应的运行日志发布的修复代码;当检测到该应用服务器中存储有该热补丁时,从该应用服务器下载该热补丁;运行该热补丁,以解决该应用的该目标问题。
应用服务器接收到该目标问题的问题描述信息和该问题描述信息对应的运行日志之后,可以对该问题描述信息和该运行日志进行保存。之后,开发人员即可从该应用服务器中提取出该问题描述信息和该运行日志,由于该运行日志是针对于该问题描述信息的部分运行日志,能够精确地反映和定位产生该目标问题的部分运行场景,因此开发人员即能够基于该问题描述信息和该问题描述信息对应的运行日志进行精确地问题场景复现,并根据复现的问题场景进行有针对性的问题分析,从而能够节省开发人员跟踪解决问题的时间,减小开发人员的工作量。开发人员通过分析问题找出引起该目标问题的原因后,即可开发出能够解决或修复该目标问题的修复代码,然后比较该修复代码和该应用的源代码,生成热补丁,并将该热补丁上传至该应用服务器,以便终端能够通过安装的应用从该应用服务器中下载该热补丁,通过该热补丁修复该目标问题。
对于终端来说,终端可以基于安装的应用与该应用服务器进行通信,检测该应用服务器中是否存储有该应用的热补丁。具体地,该终端可以基于安装的应用主动查询该应用服务器中是否存储有该应用的热补丁,或者基于是否接收到该应用服务器发送的热补丁发布通知,判断该应用服务器中是否存储有该应用的热补丁。当查询到该应用服务器中存储有该应用的热补丁或者接收到该应用服务器发送的热补丁发布通知时,即可下载该热补丁,并对该热补丁进行验证,当验证通过时即可运行该热补丁,以解决该目标问题。
通过本发明实施例提供的方法,当应用遇到问题时能够快速获取到问题对应的运行日志,根据问题对应的运行日志进行精确地、有针对性的问题场景复现,还原发生问题的现场,以此来解决问题,最后再利用热补丁修复该应用的问题。如此,即可快速有效地解决应用的当前发布版本中存在的各种问题,并及时进行修复,使得应用运行的更加稳定,从而提升了用户所反馈问题的解决率,使得用户能够对该应用更加满意,提高了用户粘度。
图1E是本发明实施例提供的一种信息反馈***示意图,如图1E所示,该信息反馈***可以包括终端中安装的应用10、应用10的应用服务器20以及应用10的开发人员30。
其中,应用10可以包括日志记录保存及上报模块11、用户反馈模块12和热补丁下载及修复模块13。其中,模块11可以包括日志记录、日志保存和日志提取这三个子模块,用于在应用10运行的过程中记录并保存该应用11的各个程序模块的运行日志。该用户反馈模块12用于向用户提供问题反馈界面,并获取用户反馈的目标问题的问题描述信息发送给模块11,以及发送给应用服务器20。该模块11还用于根据该问题描述信息,从存储的应用10的多个运行日志中提取该问题描述信息对应的运行日志,并将该问题描述信息对应的运行日志经过处理后发送给应用服务器20。该热补丁下载及修复模块13用于接收应用服务器20下发的热补丁,并运行该热补丁,对该应用的问题进行修复。
其中,应用服务器20可以包括日志保存模块21、用户反馈保存模块22和热补丁存储及下发模块23。其中,日志保存模块21用于接收并保存应用10发送的问题描述信息对应的运行日志。用户反馈保存模块22用于接收并保存应用10发送的目标问题的问题描述信息。热补丁存储及下发模块用于存储开发人员开发和上传的热补丁,并将该热补丁下发给应用10。
开发人员30可以从该应用服务器20中提取保存的目标问题的问题描述信息和该问题描述信息对应的运行日志,并基于该问题描述信息和运行日志进行问题场景修复和问题分析,通过问题分析开发出能够修复该目标问题的热补丁,并将开发出的热补丁上传至应用服务器20。
需要说明的是,本发明实施例仅是以图1E所示的信息反馈***为例,但图1E所示的信息反馈***并不构成对该信息反馈***的限定,实际应用中,该信息反馈***还可以包括比图示更多或更少的模块,并可以根据实际需要进行增减或替换。
本发明实施例中,在获取针对目标应用反馈的目标问题的问题描述信息之后,还可以从该目标应用的多个运行日志获取与该问题描述信息对应的运行日志,再将该问题描述信息和该问题描述信息对应的运行日志一起发送给应用服务器。由于该运行日志是存储的多个日志中仅与该问题描述信息对应的运行日志,能够精确地反映和定位产生该目标问题的部分运行场景,因此开发人员即能够基于该问题描述信息和该问题描述信息对应的运行日志进行精确地问题场景复现,从而能够有效地对解决反馈的问题。
图2是本发明实施例提供的一种信息反馈装置的框图,该装置可以为终端,参见图2,该装置包括:
第一获取模块201,用于执行上述实施例的步骤101;
第二获取模块202,用于执行上述实施例的步骤102;
发送模块203,用于执行上述实施例的步骤103。
可选地,该第一获取模块用于:
显示该目标应用的第一反馈界面,并获取用户在该第一反馈界面中输入的该目标问题的问题描述信息;
相应地,该第二获取模块包括:
确定单元,用于从多个预设问题描述信息中确定与该问题描述信息之间的相似度最大的目标预设问题描述信息,每个预设问题描述信息与该多个运行日志中的至少一个运行日志对应;
获取单元,用于从该目标应用的多个运行日志中获取该目标预设问题描述信息对应的运行日志,将该目标预设问题描述信息对应的运行日志确定为该问题描述信息对应的运行日志。
可选地,该第一获取模块用于:
显示该目标应用的第二反馈界面,该第二反馈界面包括多个问题选项,该多个问题选项与多个预设问题描述信息一一对应,每个预设问题描述信息与该多个运行日志中的至少一个运行日志对应;
当基于该第二反馈界面接收到问题选项的选择指令时,将所选择的问题选项对应的目标预设问题描述信息确定为该目标问题的问题描述信息;
相应地,该第二获取模块包括:
获取单元,用于从该目标应用的多个运行日志中获取该目标预设问题描述信息对应的运行日志,将该目标预设问题描述信息对应的运行日志确定为该问题描述信息对应的运行日志。
可选地,该获取单元用于:
从该目标应用的多个程序模块中确定与该目标预设问题描述信息对应的目标程序模块,该多个程序模块是从该目标应用的程序源代码中选择需要采集运行信息的部分代码构成,每个程序模块对应该目标应用的一个功能,每个预设问题描述信息与该多个程序模块中的至少一个程序模块对应;
从该目标应用的多个运行日志中获取该目标程序模块的运行日志,该目标程序模块的运行日志是对该目标程序模块在运行过程中产生的信息进行采集得到;
将该目标程序模块的运行日志,确定为该问题描述信息对应的运行日志。
可选地,该多个程序模块的指定位置预先***有埋点代码,该埋点代码用于采集对应程序模块在运行过程中产生的运行信息;
该装置还包括:
第一采集模块,用于在该目标应用运行的过程中,通过每个程序模块中***的埋点代码采集每个程序模块在运行过程中产生的运行信息;
第一生成模块,用于基于每个程序模块在运行过程中产生的运行信息,生成每个程序模块的运行日志,得到该目标应用的多个运行日志。
可选地,该指定位置包括因程序异常导致流程中断的位置、因外部参数导致流程中断的位置、发生***异常的位置、以及因数据异常或者运行条件检查不通过导致流程中断的位置。
可选地,该目标程序模块包括多个子模块,该多个子模块是从该目标程序模块的代码中选择需要采集运行信息的部分代码构成,且该多个子模块的指定位置预先***有埋点代码;
该装置还包括:
第二采集模块,用于在该目标应用运行的过程中,当运行到该目标程序模块时,通过该目标程序模块包括的各个子模块中***的埋点代码分别采集该各个子模块在运行过程中产生的运行信息;
第二生成模块,用于基于该各个子模块在运行过程中产生的运行信息,生成该各个子模块的运行日志;
相应地,该获取单元用于:
若当前的网络状态处于蜂窝网络状态,则从该多个子模块中确定该目标问题的问题描述信息对应的目标子模块;
获取该目标子模块的运行日志,将该目标子模块的运行日志确定为该目标程序模块的运行日志。
可选地,该获取单元还用于:
若当前的网络状态处于无线局域网络状态,则获取该多个子模块的运行日志,将该多个子模块的运行日志确定为该目标程序模块的运行日志。
可选地,该装置还包括:
第三获取模块,用于在该目标应用运行的过程中获取公共信息,该公共信息包括网络状况信息、剩余硬盘空间信息或者剩余内存信息;
存储模块,用于将该公共信息分别存入该多个运行日志。
可选地,该发送模块用于:
对于该目标问题的问题描述信息,通过与该应用服务器之间的专用协议通道,将该目标问题的问题描述信息发送给该应用服务器;
对于该问题描述信息对应的运行日志,通过该专用协议通道将该运行日志发送给该应用服务器,或者,将该问题描述信息对应的运行日志写入日志文件,通过与该应用服务器之间的公共文件传输通道将该日志文件发送给该应用服务器。
可选地,该装置还包括:
检测模块,用于通过与该应用服务器进行通信,以检测该应用服务器中是否存储有该应用的热补丁,该热补丁为基于该目标问题的问题描述信息和该问题描述信息对应的运行日志发布的修复代码;
下载模块,用于当检测到该应用服务器中存储有该热补丁时,从该应用服务器下载该热补丁;
运行模块,用于运行该热补丁,以解决该应用的该目标问题。本发明实施例中,该信息反馈装置在获取针对目标应用反馈的目标问题的问题描述信息之后,还可以从该目标应用的多个运行日志获取与该问题描述信息对应的运行日志,再将该问题描述信息和该问题描述信息对应的运行日志一起发送给应用服务器。由于该运行日志是存储的多个日志中仅与该问题描述信息对应的运行日志,能够精确地反映和定位产生该目标问题的部分运行场景,因此开发人员即能够基于该问题描述信息和该问题描述信息对应的运行日志进行精确地问题场景复现,从而能够有效地对解决反馈的问题。
需要说明的是:上述实施例提供的信息反馈装置在进行信息反馈时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以基于需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的信息反馈装置与信息反馈方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图3是本发明实施例提供的一种终端300的结构示意图。参见图3,终端300可以包括通信单元310、包括有一个或一个以上计算机可读存储介质的存储器320、输入单元330、显示单元340、传感器350、音频电路360、WIFI(Wireless Fidelity,无线保真)模块370、包括有一个或者一个以上处理核心的处理器380、以及电源390等部件。本领域技术人员可以理解,图3中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
通信单元310可用于收发信息或通话过程中,信号的接收和发送,该通信单元310可以为RF(Radio Frequency,射频)电路、路由器、调制解调器、等网络通信设备。特别地,当通信单元310为RF电路时,将基站的下行信息接收后,交由一个或者一个以上处理器380处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的RF电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,通信单元310还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯***)、GPRS(GeneralPacket Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(LongTerm Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。存储器320可用于存储软件程序以及模块,处理器380通过运行存储在存储器320的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储基于终端300的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器320还可以包括存储器控制器,以提供处理器380和输入单元330对存储器320的访问。
输入单元330可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。优选地,输入单元330可包括触敏表面331以及其他输入设备332。触敏表面331,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面331上或在触敏表面331附近的操作),并基于预先设定的程式驱动相应的连接装置。可选的,触敏表面331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器380,并能接收处理器380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面331。除了触敏表面331,输入单元330还可以包括其他输入设备332。优选地,其他输入设备332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元340可用于显示由用户输入的信息或提供给用户的信息以及终端300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元340可包括显示面板341,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板341。进一步的,触敏表面331可覆盖显示面板341,当触敏表面331检测到在其上或附近的触摸操作后,传送给处理器380以确定触摸事件的类型,随后处理器380基于触摸事件的类型在显示面板341上提供相应的视觉输出。虽然在图3中,触敏表面331与显示面板341是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面331与显示面板341集成而实现输入和输出功能。
终端300还可包括至少一种传感器350,比如光传感器、运动传感器以及其他传感器。光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可基于环境光线的明暗来调节显示面板341的亮度,接近传感器可在终端300移动到耳边时,关闭显示面板341和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路360、扬声器361,传声器362可提供用户与终端300之间的音频接口。音频电路360可将接收到的音频数据转换后的电信号,传输到扬声器361,由扬声器361转换为声音信号输出;另一方面,传声器362将收集的声音信号转换为电信号,由音频电路360接收后转换为音频数据,再将音频数据输出处理器380处理后,经通信单元310以发送给比如另一终端,或者将音频数据输出至存储器320以便进一步处理。音频电路360还可能包括耳塞插孔,以提供外设耳机与终端300的通信。
为了实现无线通信,该终端上可以配置有无线通信单元370,该无线通信单元370可以为WIFI模块。WIFI属于短距离无线传输技术,终端300通过无线通信单元370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图中示出了无线通信单元370,但是可以理解的是,其并不属于终端300的必须构成,完全可以基于需要在不改变发明的本质的范围内而省略。
处理器380是终端300的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行终端300的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器380可包括一个或多个处理核心;优选的,处理器380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器380中。
终端300还包括给各个部件供电的电源390(比如电池),优选的,电源可以通过电源管理***与处理器380逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源360还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端300还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,终端300还包括有一个或者一个以上的程序,这一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行本发明实施例提供的信息反馈方法的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种信息反馈方法,其特征在于,所述方法包括:
获取针对目标应用反馈的目标问题的问题描述信息;
从所述目标应用的多个运行日志中获取所述问题描述信息对应的运行日志,所述多个运行日志是分别对所述目标应用在执行不同功能时产生的信息进行采集得到;
将所述目标问题的问题描述信息和所述问题描述信息对应的运行日志发送给应用服务器,以进行信息反馈。
2.如权利要求1所述的方法,其特征在于,所述获取针对目标应用反馈的目标问题的问题描述信息,包括:
显示所述目标应用的第一反馈界面,并获取用户在所述第一反馈界面中输入的所述目标问题的问题描述信息;
相应地,所述从所述目标应用的多个运行日志中获取所述问题描述信息对应的运行日志,包括:
从多个预设问题描述信息中确定与所述问题描述信息之间的相似度最大的目标预设问题描述信息,每个预设问题描述信息与所述多个运行日志中的至少一个运行日志对应;
从所述目标应用的多个运行日志中获取所述目标预设问题描述信息对应的运行日志,将所述目标预设问题描述信息对应的运行日志确定为所述问题描述信息对应的运行日志。
3.如权利要求1所述的方法,其特征在于,所述获取针对目标应用反馈的目标问题的问题描述信息,包括:
显示所述目标应用的第二反馈界面,所述第二反馈界面包括多个问题选项,所述多个问题选项与多个预设问题描述信息一一对应,每个预设问题描述信息与所述多个运行日志中的至少一个运行日志对应;
当基于所述第二反馈界面接收到问题选项的选择指令时,将所选择的问题选项对应的目标预设问题描述信息确定为所述目标问题的问题描述信息;
相应地,所述从所述目标应用的多个运行日志中获取所述问题描述信息对应的运行日志,包括:
从所述目标应用的多个运行日志中获取所述目标预设问题描述信息对应的运行日志,将所述目标预设问题描述信息对应的运行日志确定为所述问题描述信息对应的运行日志。
4.如权利要求2或3所述的方法,其特征在于,所述从所述目标应用的多个运行日志中获取所述目标预设问题描述信息对应的运行日志,包括:
从所述目标应用的多个程序模块中确定与所述目标预设问题描述信息对应的目标程序模块,所述多个程序模块是从所述目标应用的程序源代码中选择需要采集运行信息的部分代码构成,每个程序模块对应所述目标应用的一个功能,每个预设问题描述信息与所述多个程序模块中的至少一个程序模块对应;
从所述目标应用的多个运行日志中获取所述目标程序模块的运行日志,所述目标程序模块的运行日志是对所述目标程序模块在运行过程中产生的信息进行采集得到;
将所述目标程序模块的运行日志,确定为所述问题描述信息对应的运行日志。
5.如权利要求4所述的方法,其特征在于,所述多个程序模块的指定位置预先***有埋点代码,所述埋点代码用于采集对应程序模块在运行过程中产生的运行信息;
所述从所述目标应用的多个运行日志中获取所述目标程序模块的运行日志之前,还包括:
在所述目标应用运行的过程中,通过每个程序模块中***的埋点代码采集每个程序模块在运行过程中产生的运行信息;
基于每个程序模块在运行过程中产生的运行信息,生成每个程序模块的运行日志,得到所述目标应用的多个运行日志。
6.如权利要求5所述的方法,其特征在于,所述指定位置包括因程序异常导致流程中断的位置、因外部参数导致流程中断的位置、发生***异常的位置、以及因数据异常或者运行条件检查不通过导致流程中断的位置。
7.如权利要求4所述的方法,其特征在于,所述目标程序模块包括多个子模块,所述多个子模块是从所述目标程序模块的代码中选择需要采集运行信息的部分代码构成,且所述多个子模块的指定位置预先***有埋点代码;
所述从所述目标应用的多个运行日志中获取所述目标程序模块的运行日志之前,还包括:
在所述目标应用运行的过程中,当运行到所述目标程序模块时,通过所述目标程序模块包括的各个子模块中***的埋点代码分别采集所述各个子模块在运行过程中产生的运行信息;
基于所述各个子模块在运行过程中产生的运行信息,生成所述各个子模块的运行日志;
相应地,所述从所述目标应用的多个运行日志中获取所述目标程序模块的运行日志,包括:
若当前的网络状态处于蜂窝网络状态,则从所述多个子模块中确定所述目标问题的问题描述信息对应的目标子模块;
获取所述目标子模块的运行日志,将所述目标子模块的运行日志确定为所述目标程序模块的运行日志。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
若当前的网络状态处于无线局域网络状态,则获取所述多个子模块的运行日志,将所述多个子模块的运行日志确定为所述目标程序模块的运行日志。
9.如权利要求1-8任一所述的方法,其特征在于,所述方法还包括:
在所述目标应用运行的过程中获取公共信息,所述公共信息包括网络状况信息、剩余硬盘空间信息或者剩余内存信息;
将所述公共信息分别存入所述多个运行日志。
10.如权利要求1-8任一所述的方法,其特征在于,所述将所述目标问题的问题描述信息和所述问题描述信息对应的运行日志发送给应用服务器,包括:
对于所述目标问题的问题描述信息,通过与所述应用服务器之间的专用协议通道,将所述目标问题的问题描述信息发送给所述应用服务器;
对于所述问题描述信息对应的运行日志,通过所述专用协议通道将所述运行日志发送给所述应用服务器,或者,将所述问题描述信息对应的运行日志写入日志文件,通过与所述应用服务器之间的公共文件传输通道将所述日志文件发送给所述应用服务器。
11.如权利要求1-8任一所述的方法,其特征在于,所述将所述目标问题的问题描述信息和所述问题描述信息对应的运行日志发送给应用服务器之后,还包括:
通过与所述应用服务器进行通信,以检测所述应用服务器中是否存储有所述应用的热补丁,所述热补丁为基于所述目标问题的问题描述信息和所述问题描述信息对应的运行日志发布的修复代码;
当检测到所述应用服务器中存储有所述热补丁时,从所述应用服务器下载所述热补丁;
运行所述热补丁,以解决所述应用的所述目标问题。
12.一种信息反馈装置,其特征在于,所述装置包括:
第一获取模块,用于获取针对目标应用反馈的目标问题的问题描述信息;
第二获取模块,用于从所述目标应用的多个运行日志中获取所述问题描述信息对应的运行日志,所述多个运行日志是分别对所述目标应用在执行不同功能时产生的信息进行采集得到;
发送模块,用于将所述目标问题的问题描述信息和所述问题描述信息对应的运行日志发送给应用服务器,以进行信息反馈。
13.如权利要求12所述的装置,其特征在于,所述第一获取模块用于:
显示所述目标应用的第一反馈界面,并获取用户在所述第一反馈界面中输入的所述目标问题的问题描述信息;
相应地,所述第二获取模块包括:
确定单元,用于从多个预设问题描述信息中确定与所述问题描述信息之间的相似度最大的目标预设问题描述信息,每个预设问题描述信息与所述多个运行日志中的至少一个运行日志对应;
获取单元,用于从所述目标应用的多个运行日志中获取所述目标预设问题描述信息对应的运行日志,将所述目标预设问题描述信息对应的运行日志确定为所述问题描述信息对应的运行日志。
14.如权利要求12所述的装置,其特征在于,所述第一获取模块用于:
显示所述目标应用的第二反馈界面,所述第二反馈界面包括多个问题选项,所述多个问题选项与多个预设问题描述信息一一对应,每个预设问题描述信息与所述多个运行日志中的至少一个运行日志对应;
当基于所述第二反馈界面接收到问题选项的选择指令时,将所选择的问题选项对应的目标预设问题描述信息确定为所述目标问题的问题描述信息;
相应地,所述第二获取模块包括:
获取单元,用于从所述目标应用的多个运行日志中获取所述目标预设问题描述信息对应的运行日志,将所述目标预设问题描述信息对应的运行日志确定为所述问题描述信息对应的运行日志。
15.如权利要求13或14所述的装置,其特征在于,所述获取单元用于:
从所述目标应用的多个程序模块中确定与所述目标预设问题描述信息对应的目标程序模块,所述多个程序模块是从所述目标应用的程序源代码中选择需要采集运行信息的部分代码构成,每个程序模块对应所述目标应用的一个功能,每个预设问题描述信息与所述多个程序模块中的至少一个程序模块对应;
从所述目标应用的多个运行日志中获取所述目标程序模块的运行日志,所述目标程序模块的运行日志是对所述目标程序模块在运行过程中产生的信息进行采集得到;
将所述目标程序模块的运行日志,确定为所述问题描述信息对应的运行日志。
16.如权利要求15所述的装置,其特征在于,所述多个程序模块的指定位置预先***有埋点代码,所述埋点代码用于采集对应程序模块在运行过程中产生的运行信息;
所述装置还包括:
第一采集模块,用于在所述目标应用运行的过程中,通过每个程序模块中***的埋点代码采集每个程序模块在运行过程中产生的运行信息;
第一生成模块,用于基于每个程序模块在运行过程中产生的运行信息,生成每个程序模块的运行日志,得到所述目标应用的多个运行日志。
17.如权利要求16所述的装置,其特征在于,所述指定位置包括因程序异常导致流程中断的位置、因外部参数导致流程中断的位置、发生***异常的位置、以及因数据异常或者运行条件检查不通过导致流程中断的位置。
18.如权利要求15所述的装置,其特征在于,所述目标程序模块包括多个子模块,所述多个子模块是从所述目标程序模块的代码中选择需要采集运行信息的部分代码构成,且所述多个子模块的指定位置预先***有埋点代码;
所述装置还包括:
第二采集模块,用于在所述目标应用运行的过程中,当运行到所述目标程序模块时,通过所述目标程序模块包括的各个子模块中***的埋点代码分别采集所述各个子模块在运行过程中产生的运行信息;
第二生成模块,用于基于所述各个子模块在运行过程中产生的运行信息,生成所述各个子模块的运行日志;
相应地,所述获取单元用于:
若当前的网络状态处于蜂窝网络状态,则从所述多个子模块中确定所述目标问题的问题描述信息对应的目标子模块;
获取所述目标子模块的运行日志,将所述目标子模块的运行日志确定为所述目标程序模块的运行日志。
19.如权利要求18所述的装置,其特征在于,所述获取单元还用于:
若当前的网络状态处于无线局域网络状态,则获取所述多个子模块的运行日志,将所述多个子模块的运行日志确定为所述目标程序模块的运行日志。
20.如权利要求12-19所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于在所述目标应用运行的过程中获取公共信息,所述公共信息包括网络状况信息、剩余硬盘空间信息或者剩余内存信息;
存储模块,用于将所述公共信息分别存入所述多个运行日志。
21.如权利要求12-19所述的装置,其特征在于,所述发送模块用于:
对于所述目标问题的问题描述信息,通过与所述应用服务器之间的专用协议通道,将所述目标问题的问题描述信息发送给所述应用服务器;
对于所述问题描述信息对应的运行日志,通过所述专用协议通道将所述运行日志发送给所述应用服务器,或者,将所述问题描述信息对应的运行日志写入日志文件,通过与所述应用服务器之间的公共文件传输通道将所述日志文件发送给所述应用服务器。
22.如权利要求12-19所述的装置,其特征在于,所述装置还包括:
检测模块,用于通过与所述应用服务器进行通信,以检测所述应用服务器中是否存储有所述应用的热补丁,所述热补丁为基于所述目标问题的问题描述信息和所述问题描述信息对应的运行日志发布的修复代码;
下载模块,用于当检测到所述应用服务器中存储有所述热补丁时,从所述应用服务器下载所述热补丁;
运行模块,用于运行所述热补丁,以解决所述应用的所述目标问题。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710151393.XA CN108572908B (zh) | 2017-03-14 | 2017-03-14 | 信息反馈方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710151393.XA CN108572908B (zh) | 2017-03-14 | 2017-03-14 | 信息反馈方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108572908A true CN108572908A (zh) | 2018-09-25 |
CN108572908B CN108572908B (zh) | 2021-04-02 |
Family
ID=63577315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710151393.XA Active CN108572908B (zh) | 2017-03-14 | 2017-03-14 | 信息反馈方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108572908B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446309A (zh) * | 2018-10-30 | 2019-03-08 | 天津字节跳动科技有限公司 | 问题反馈方法及装置 |
CN109492003A (zh) * | 2018-10-22 | 2019-03-19 | 平安医疗健康管理股份有限公司 | 访问信息的处理方法和装置、以及计算机设备和存储介质 |
CN109597949A (zh) * | 2018-10-22 | 2019-04-09 | 平安科技(深圳)有限公司 | 基于数据标准化的第三方埋点标识生成方法和设备 |
CN110764974A (zh) * | 2019-12-25 | 2020-02-07 | 武汉慧联无限科技有限公司 | 一种监控方法、装置及存储介质 |
CN111402471A (zh) * | 2020-03-05 | 2020-07-10 | 慧科(台州)智能***有限公司 | 人员处理方式的确定方法及装置、数据处理平台 |
CN111951020A (zh) * | 2019-05-14 | 2020-11-17 | 阿里巴巴集团控股有限公司 | 提供服务信息的方法及装置 |
CN112163084A (zh) * | 2020-10-22 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 问题反馈方法、装置、介质以及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631699A (zh) * | 2012-08-28 | 2014-03-12 | 纽海信息技术(上海)有限公司 | 日志管理***及日志监控、获取和查询方法 |
CN104426944A (zh) * | 2013-08-27 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 信息反馈方法、装置及终端 |
CN105049269A (zh) * | 2015-08-31 | 2015-11-11 | 小米科技有限责任公司 | 信息反馈方法及装置 |
CN105095081A (zh) * | 2015-08-06 | 2015-11-25 | 小米科技有限责任公司 | 应用程序的功能测试方法及装置 |
JP2016099873A (ja) * | 2014-11-25 | 2016-05-30 | 株式会社グロリアス | 電子コンテンツ管理システム |
CN105703942A (zh) * | 2015-12-31 | 2016-06-22 | 迈普通信技术股份有限公司 | 一种日志采集方法及装置 |
-
2017
- 2017-03-14 CN CN201710151393.XA patent/CN108572908B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631699A (zh) * | 2012-08-28 | 2014-03-12 | 纽海信息技术(上海)有限公司 | 日志管理***及日志监控、获取和查询方法 |
CN104426944A (zh) * | 2013-08-27 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 信息反馈方法、装置及终端 |
JP2016099873A (ja) * | 2014-11-25 | 2016-05-30 | 株式会社グロリアス | 電子コンテンツ管理システム |
CN105095081A (zh) * | 2015-08-06 | 2015-11-25 | 小米科技有限责任公司 | 应用程序的功能测试方法及装置 |
CN105049269A (zh) * | 2015-08-31 | 2015-11-11 | 小米科技有限责任公司 | 信息反馈方法及装置 |
CN105703942A (zh) * | 2015-12-31 | 2016-06-22 | 迈普通信技术股份有限公司 | 一种日志采集方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492003A (zh) * | 2018-10-22 | 2019-03-19 | 平安医疗健康管理股份有限公司 | 访问信息的处理方法和装置、以及计算机设备和存储介质 |
CN109597949A (zh) * | 2018-10-22 | 2019-04-09 | 平安科技(深圳)有限公司 | 基于数据标准化的第三方埋点标识生成方法和设备 |
CN109597949B (zh) * | 2018-10-22 | 2024-04-02 | 平安科技(深圳)有限公司 | 基于数据标准化的第三方埋点标识生成方法和设备 |
CN109446309A (zh) * | 2018-10-30 | 2019-03-08 | 天津字节跳动科技有限公司 | 问题反馈方法及装置 |
CN109446309B (zh) * | 2018-10-30 | 2021-08-27 | 天津字节跳动科技有限公司 | 问题反馈方法及装置 |
CN111951020A (zh) * | 2019-05-14 | 2020-11-17 | 阿里巴巴集团控股有限公司 | 提供服务信息的方法及装置 |
CN110764974A (zh) * | 2019-12-25 | 2020-02-07 | 武汉慧联无限科技有限公司 | 一种监控方法、装置及存储介质 |
CN111402471A (zh) * | 2020-03-05 | 2020-07-10 | 慧科(台州)智能***有限公司 | 人员处理方式的确定方法及装置、数据处理平台 |
CN112163084A (zh) * | 2020-10-22 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 问题反馈方法、装置、介质以及电子设备 |
CN112163084B (zh) * | 2020-10-22 | 2024-03-22 | 腾讯科技(深圳)有限公司 | 问题反馈方法、装置、介质以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108572908B (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572908A (zh) | 信息反馈方法及装置 | |
CN104113787B (zh) | 基于节目的评论方法、终端、服务器和*** | |
CN104978176B (zh) | 应用程序接口调用方法、装置及计算机可读存储介质 | |
CN104243671B (zh) | 音量调节方法、装置及电子设备 | |
CN106484562B (zh) | 一种数据传输处理方法及终端设备 | |
CN104978115A (zh) | 内容显示方法及装置 | |
CN104066009B (zh) | 节目识别方法、装置、终端、服务器及*** | |
CN104426963B (zh) | 关联终端的方法和终端 | |
CN105490919A (zh) | 消息撤回方法和装置 | |
CN104735671A (zh) | 一种识别恶意电话的方法和装置 | |
CN103501485B (zh) | 推送应用的方法、装置和终端设备 | |
CN103634717B (zh) | 一种利用耳机控制的方法、装置及终端设备 | |
CN104822090A (zh) | 视频播放的方法、装置和*** | |
CN106412093A (zh) | 一种数据的上传方法、装置及*** | |
CN104104711B (zh) | 阅读历史处理方法和装置 | |
CN103313139A (zh) | 播放历史显示方法、装置及电子设备 | |
CN104301315A (zh) | 一种限制信息访问的方法和装置 | |
CN109309696A (zh) | 文件夹发送方法、发送方、接收方以及存储介质 | |
CN104123276A (zh) | 一种浏览器中弹窗的拦截方法、装置和*** | |
CN104238893A (zh) | 一种对视频预览图片进行显示的方法和装置 | |
CN104407804A (zh) | 截屏方法、装置及电子设备 | |
CN103177217B (zh) | 一种文件扫描方法、***及客户端和服务器 | |
CN103368828B (zh) | 一种消息暂存方法及*** | |
CN104239332A (zh) | 网页内容处理方法、装置及浏览器客户端 | |
CN106033467A (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 |