一种历史访问数据的获取方法及装置与流程

文档序号:13164553阅读:262来源:国知局
一种历史访问数据的获取方法及装置与流程

本申请涉及互联网技术领域,特别涉及一种历史访问数据的获取方法及装置。



背景技术:

随着互联网技术的不断发展,依托于互联网技术的各种软件也应运而生。与软件相关的基础架构往往可以包括服务器和客户端,所述服务器和所述客户端之间可以通过互联网进行数据交互。具体地,所述服务器可以为具备数据存储和计算功能的计算机,客户端则可以是用户使用的终端设备,例如台式计算机、笔记本或者智能手机等。

以应用程序为例,在用户使用应用程序的过程中,往往可以在客户端上预先安装该应用程序,然后可以通过该应用程序的操作界面,向服务器发送各种各样的数据访问请求。服务器在接收到客户端发来的数据访问请求后,可以响应于该请求,将与该请求相关的数据返回给客户端,以供用户浏览。例如,用户在使用手机淘宝应用程序时,可以在手机淘宝的搜索栏中输入商品的关键词,然后点击搜索。这样,对于该关键词的搜索指令便可以作为请求发送至手机淘宝的服务器,手机淘宝的服务器可以响应于该请求,将与所述关键词相关的产品数据返回至用户的手机,并在手机淘宝的操作界面上进行显示。

目前,在返回给客户端的数据中,往往包含了各种各样的信息,例如,对于手机淘宝而言,返回给客户端的数据中包含了产品的图片、产品的价格以及产品的文字描述。这些包含在返回的数据中的各种各样的信息往往是通过执行不同的代码段而实现的。例如,对于产品的图片而言,服务器可以在客户端发来的请求中,分辨出客户端当前所处的网络环境,所述网络环境例如可以为2g/3g/4g网络、wifi网络或者有线网络,由于在不同的网络环境中,客户端加载图片的速度往往是不同的。因此,负责生成产品的图片信息的代码段在对客户端当前所处的网络环境进行分析后,可以向客户端返回与所述客户端所处的网络环境相匹配的图片。例如,当客户端所处的网络环境为2g网络,那么可以向客户端返回数据量较小的图片,以节省客户端加载图片的速度。又例如,产品的邮费往往与客户端中指定的地理位置相关,所述地理位置可以通过经纬度进行表示,那么服务器可以从客户端发来的请求中提取出客户端指定的经纬度,并且通过负责生成产品邮费的代码段进行计算,从而生成与所述指定的经纬度相对应的邮费。

在实际应用场景中,负责对客户端的数据访问请求进行处理的代码段有时会由于出现故障而导致生成的数据错误。例如,客户端处于2g网络环境中,而经过代码段进行处理后,却给客户端返回了数据量很大,清晰度很高的图片,导致客户端无法进行加载或者加载耗费太多的流量。在这种情况下,则需要对代码段进行诊断。在对软件的代码段进行诊断时,往往需要获取当时出现故障时对应的客户端发送的历史访问请求以及返回至客户端的请求数据。

在现有技术中,可以通过在客户端和服务器之间架设代理服务器的方式来记录客户端发出的历史访问请求以及服务器向客户端返回的数据。具体地,可以预先在客户端上设置代理服务器的ip地址和端口号,以与所述代理服务器建立连接。那么通过所述客户端发出的请求以及由所述客户端接收的数据均可以被记录在所述代理服务器中。当用户在使用应用程序时发现接收的数据不正确(例如图片加载太慢或者邮费明显错误),那么可以在应用程序中提交故障信息。应用程序的维护人员可以根据该故障信息,从代理服务器中查询出当时客户端发出的请求以及客户端接收的数据,以对应用程序进行诊断。

由上可见,现有技术中为了获取客户端的历史访问数据,需要在网络中额外增设一个代理服务器,这无疑将增加整个系统的运行和维护成本。此外,在应用现有技术中获取客户端发出的数据访问请求时,还需要在客户端中预先设置代理服务器的ip地址和端口号,这会使得客户端的操作变得比较繁琐,会影响用户的操作体验。

应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

本申请实施方式的目的在于提供一种历史访问数据的获取方法及装置,在不需要设置代理服务器的情况下,获取客户端发出的历史访问数据。

为实现上述目的,本申请一方面提供一种历史访问数据的获取方法,所述方法包括:客户端向服务器发出故障处理请求;所述服务器接收所述故障处理请求并给所述客户端分配唯一的预设标识;所述客户端针对网页页面发出访问请求,所述访问请求附带所述预设标识;所述服务器在接收到的数据访问请求中附带所述预设标识时,将所述数据访问请求作为历史访问数据存储于预设存储空间中;所述服务器接收故障信息获取请求,在所述故障信息获取请求中附带所述预设标识时,从所述预设存储空间中获取附带所述预设标识的历史访问数据。

为实现上述目的,本申请一方面还提供一种历史访问数据的获取方法,所述方法包括:接收客户端发出的故障处理请求;根据所述故障处理请求为所述客户端分配唯一的预设标识;当接收到的数据访问请求中附带所述预设标识时,将所述数据访问请求作为历史访问数据存储于预设存储空间中;当接收到的数据访问请求中未附带所述预设标识时,将所述数据访问请求按照预设规则进行处理;接收故障信息获取请求;在所述故障信息获取请求中附带所述预设标识时,从所述预设存储空间中获取附带所述预设标识的历史访问数据。

为实现上述目的,本申请另一方面提供一种历史访问数据的获取装置,所述装置包括:故障请求接收单元,接收客户端发出的故障处理请求;预设标识分配单元,用于为所述客户端分配唯一的预设标识;数据访问请求处理单元,用于当接收到的数据访问请求中附带所述预设标识时,将所述数据访问请求作为历史访问数据存储于预设存储空间中;当接收到的数据访问请求中未附带所述预设标识时,将所述数据访问请求按照预设规则进行处理;故障信息接收单元,用于接收故障信息获取请求;历史访问数据获取单元,用于在所述故障信息获取请求中附带所述预设标识时,从所述预设存储空间中读取附带所述预设标识的历史访问数据。

本申请另一方面还提供一种历史访问数据的获取装置,所述装置包括:通信端子,其用于接收数据访问请求和故障信息以及发送请求数据;存储器,其用于存储附带预设标识的数据访问请求;中央处理器,其用于通过所述通信端子接收客户端发出的故障处理请求;为所述客户端分配唯一的所述预设标识;当通过所述通信端子接收到的数据访问请求中附带所述预设标识时,将所述数据访问请求作为历史访问数据存储于所述存储器中;当通过所述通信端子接收到的数据访问请求中未附带所述预设标识时,将所述数据访问请求按照预设规则进行处理;通过所述通信端子接收故障信息获取请求;在所述故障信息获取请求中附带所述预设标识时,从所述存储器中获取附带所述预设标识的历史访问数据。

由以上本申请实施方式提供的技术方案可见,本申请实施方式通过为客户端分配唯一的预设标识,从而可以将携带有所述预设标识的数据访问请求作为历史访问数据存储于预设的存储空间中,以将携带有所述预设标识的数据访问请求与普通的数据访问请求进行区分。那么在接收到携带有所述预设标识的故障信息时,便可以从所述预设存储空间中查询到与所述故障信息相对应的历史访问数据。由此可见,本申请提供的一种历史访问数据的获取方法及装置,能够在不需要设置代理服务器的情况下,获取客户端发送的历史访问数据。

参照后文的说明和附图,详细公开了本申请的特定实施方式,指明了本申请的原理可以被采用的方式。应该理解,本申请的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本申请的实施方式包括许多改变、修改和等同。

针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。

应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。

附图说明

所包括的附图用来提供对本申请实施方式的进一步的理解,其构成了说明书的一部分,用于例示本申请的实施方式,并与文字描述一起来阐释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本申请一实施方式提供的一种历史访问数据的获取方法流程图;

图2为本申请另一实施方式提供的一种历史访问数据的获取方法流程图;

图3为本申请一实施方式提供的一种历史访问数据的获取方法中分配预设标识的步骤流程图;

图4为本申请一实施方式中从预设存储空间获取历史访问数据的步骤流程图;

图5为本申请一实施方式提供的一种历史访问数据的获取装置的功能模块图;

图6为本申请另一实施方式提供的一种历史访问数据的获取装置的功能模块图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申请保护的范围。

请参阅图1。图1为本申请一实施方式提供的一种历史访问数据的获取方法流程图。如图1所示,所述方法可以包括以下步骤。

步骤s10:客户端向服务器发出故障处理请求。

在本实施方式中,运行软件的架构可以包括客户端和服务器,所述客户端与所述服务器之间可以通过互联网进行数据交互。具体地,所述客户端和所述服务器之间可以通过移动网络(2g/3g/4g)、wifi或者有线网络进行数据交互。所述服务器可以为具备数据存储和计算功能的计算机,所述客户端则可以是用户使用的终端设备,例如台式计算机、笔记本、平板电脑、智能手机或者智能可穿戴设备等,所述客户端还可以是登陆了用户账号的应用程序,例如手机淘宝、支付宝等应用程序。

在本实施方式中,当用户在使用应用程序的过程,发现应用程序的操作页面上展示的信息有误时,可以通过应用程序上的预设按键触发故障处理请求,该故障处理请求从而可以由所述客户端发送至应用程序的服务器中。例如,在手机淘宝中,当用户发现某个商品的展示价格与最终下单结算的价格不符时,可以通过手机淘宝中预先设置的“投诉”按键,或者“价格有问题?”按键触发故障处理请求。

步骤s30:所述服务器接收所述故障处理请求并给所述客户端分配唯一的预设标识。

在本实施方式中,所述服务器在接收到所述客户端发来的故障处理请求后,可以为所述客户端分配唯一的预设标识,以将所述客户端发出的数据访问请求与其它数据访问请求相区分。具体地,当用户使用终端设备运行应用程序,或者在应用程序中登陆预先注册的账号时,该应用程序的服务器可以为用户的终端设备或者用户的账号分配唯一的预设标识。例如,当用户在智能手机上打开手机淘宝时,手机淘宝会与服务器建立连接并从服务器处获取首页的数据。此时,服务器可以将预设标识分配给该用户的智能手机,那么从该智能手机上发出的数据访问请求中均可以携带所述预设标识。又例如,当用户在手机淘宝内登陆自己的账号时,手机淘宝的服务器可以将预设标识分配给该用户的账号,那么通过该用户的账号发出的数据访问请求中均可以携带所述预设标识。

在本实施方式中,所述预设标识可以为预设数字编码、预设字符串或者用户的生物特征数据中的至少一种。在实际应用场景中,所述预设标识可以为所述预设数字编码、所述预设字符串或者所述用户的生物特征数据这三个类型的标识中的一个,也可以是其中的某两个的组合,也可以是这三个的组合。所述预设数字编码例如可以为由服务器随机生成的数字,也可以是由服务器将预设的数字串按照预设编码方式进行编码后的数字串,也可以是所述客户端在网络中的通信地址。所述预设字符串可以是所述客户端在网络中的mac地址,也可以是所述客户端在应用程序中预存的识别码,也可以是由服务器随机生成的一串字符串。所述用户的生物特征数据可以为所述用户的语音数据或者指纹数据,所述语音数据或者所述指纹数据可以是用户通过终端设备的麦克风或者指纹识别模块预先录入所述应用程序中的,所述语音数据或者所述指纹数据可以被应用程序的服务器获取,并存储于应用程序的服务器中,并且可以被服务器分配给对应的终端设备或者用户账号。

步骤s50:所述客户端针对网页页面发出访问请求,所述访问请求附带所述预设标识。

在本实施方式中,当所述服务器为所述客户端分配唯一的预设标识之后,为了能够检测出页面发生故障的原因,所述客户端可以针对发生访问故障的页面再次发出访问请求。由于此时所述客户端被分配了唯一的预设标识,因此在所述访问请求中可以附带所述预设标识。当然,本申请并不限于访问之前发生访问故障的页面进行再次访问,也可以为针对其他网页页面进行访问。

步骤s70:所述服务器在接收到的数据访问请求中附带所述预设标识时,将所述数据访问请求作为历史访问数据存储于预设存储空间中。

在本实施方式中,当服务器接收到携带所述预设标识的数据访问请求后,可以将所述数据访问请求作为历史访问数据存储于预设存储空间中。这样处理的目的在于,传统技术中由于应用程序的用户群的数量往往比较庞大,因此应用程序对应的服务器数量也往往较多,客户端发出的数据访问请求往往会被随机分配到其中的一个服务器处进行存储和处理,或者会根据当前服务器的负载情况,选择负载较小的服务器来存储和处理。这样,数据访问请求存储的位置往往是不可预测,如果要从众多的服务器中查询某一条数据访问请求,那么往往需要在所有的服务器中进行查询,这将耗费相当长的时间。因此,在本实施方式中,为了能够快速对携带所述预设标识的数据访问请求进行查询,可以将携带所述预设标识的数据访问请求存储于预设的存储空间中。

在本实施方式中,所述预设存储空间可以是独立于服务器的一个存储器,该存储器可以与服务器保持通信连接,并且可以被其他设备(例如诊断设备)访问。所述预设存储空间还可以位于一个预先指定的服务器中,也就是说在所述预先指定的服务器中可以划分出一个空间,携带有所述预设标识的数据访问请求可以存储于该划分出的空间内。

在本实施方式中,服务器可以根据实际需要,对多个客户端分别分配唯一的预设标识。那么在所述预设存储空间中,往往可以存储来自多个客户端的数据访问请求。在本实施方式中,当服务器接收到携带有所述预设标识的数据访问请求时,可以建立所述预设标识与所述数据访问请求之间的关联关系,并在所述预设存储空间内建立关联关系数据表,在所述关联关系数据表中,相关联的预设标识与数据访问请求可以被记载于同一行。

在本实施方式中,所述数据访问请求可以是一串字符串。在所述字符串的前半段可以包括请求对象的地址信息,在所述字符串的后半段可以包括客户端的预设标识和配置参数。其中,所述请求对象例如可以为商品、新闻或者视频等资源的页面,所述请求对象的地址信息则可以为这些页面的页面地址。所述客户端的配置参数则可以包括客户端发送数据访问请求时的各种参数,例如所述客户端的名称,所述客户端指定的地理位置以及所述客户端发送数据访问请求时所处的网络状态等。上述的请求对象的地址信息、客户端的预设标识以及客户端的配置参数均可以通过预设的编写方式进行编写,以形成能够被应用程序的服务器识别的字符串。

在本实施方式中,当服务器接收到的数据访问请求中没有附带所述预设标识时,说明该数据访问请求是普通的数据访问请求,可以按照预设规则对其进行处理。具体地,在本实施方式中,可以从预设数量的服务器中筛选出当前时刻负载最小的目标服务器,并将未附带所述预设标识的数据访问请求存储于所述目标服务器中。其中,所述负载可以指服务器的cpu使用率或者服务器的存储空间使用率。此外,在本实施方式中,还可以将未附带所述预设标识的数据访问请求存储于接收所述未附带所述预设标识的数据访问请求的服务器中,其中,接收所述未附带所述预设标识的数据访问请求的服务器即可以为本地服务器。在实际应用场景中,数据访问请求往往会被分配于众多服务器中的一个服务器处,那么在本实施方式中,在服务器接收到未附带所述预设标识的数据访问请求时,可以将该数据访问请求直接存储于本地服务器中。再者,在本实施方式中,还可以在响应于未附带所述预设标识的数据访问请求,向发送所述未附带所述预设标识的数据访问请求的发送方返回请求数据之后,将所述未附带所述预设标识的数据访问请求删除。这样,将未附带所述预设标识的数据访问请求在处理完毕后直接删除,可以节省服务器中存储器的存储空间,以容纳更多附带所述预设标识的数据访问请求。

步骤s90:所述服务器接收故障信息获取请求,在所述故障信息获取请求中附带所述预设标识时,从所述预设存储空间中获取附带所述预设标识的历史访问数据。

在本实施方式中,当用户在使用应用程序的过程中再次发现应用程序的操作页面上展示的信息有误时,同样可以通过应用程序上的预设按键触发故障信息获取请求,该故障信息获取请求从而可以由客户端发送至应用程序的服务器中。例如,在手机淘宝中,当用户发现某个商品的展示价格与最终下单结算的价格不符时,可以通过手机淘宝中预先设置的“投诉”按键,或者“价格有问题?”按键触发故障信息获取请求。

在本实施方式中,在用户触发故障信息获取请求时,应用程序可以对出现错误的请求对象进行记录,并且将出现错误的请求对象确定为待诊断对象。在本实施方式中,应用程序可以在故障信息中加入待诊断对象的目标标识。所述目标标识可以为所述待诊断对象在应用程序中的编号。例如,所述目标标识可以为商品在手机淘宝中的商品编号。另外,应用程序还可以将触发故障信息的客户端的预设标识加入故障信息中,以表明该故障信息是由哪个客户端发出的。在本实施方式中,当应用程序的服务器接收到故障信息时,可以记录接收该故障信息的时间节点,该时间节点可以表征数据发生错误的时间节点。

在本实施方式中,所述故障信息还可以是应用程序的后台工作人员根据用户的反馈录入服务器中。具体地,在用户使用应用程序时,当发现应用程序中展示的信息有误,那么便可以通过电话或者即时通信软件等通信方式联系应用程序的客服,并向客服反应出现错误信息的项目和时间节点。这样,所述应用程序的后台工作人员便可以根据用户的反馈,填写故障信息,在所述故障信息中可以包括出现错误信息的时间节点。填写的故障信息后续则可以由后台工作人员存储于服务器中,以供调试人员进行调试。

在本实施方式中,当服务器接收到的故障信息中携带所述预设标识时,可以在所述预设存储空间中查询与所述故障信息相对应的历史访问数据。在本实施方式中,所述故障信息中可以包括故障时间节点。所述故障时间节点可以为客户端发送故障信息对应的时间节点。所述故障信息与历史访问数据的对应关系可以体现在:故障信息中包含的客户端的预设标识与历史访问数据中包含的客户端的预设标识相同,服务器接收所述历史访问数据的时间节点在接收所述故障信息的时间节点之前。举例来说明,假设服务器在19点30分20秒接收到客户端发来的数据访问请求,该数据访问请求中客户端的预设标识为1。针对该数据访问请求,服务器向客户端返回了请求数据,但用户发现该请求数据中存在问题,便触发了针对该请求数据的故障信息。服务器在19点35分10秒接收到客户端发来的故障信息,该故障信息中的预设标识为1,该故障信息中携带的时间节点为19点35分10秒。那么服务器可以从所述预设存储空间中获取预设标识为1并且在19点35分10秒之前的数据访问请求。获取的这些数据访问请求便可以为所述的历史访问数据。

在本实施方式中,在获取到与所述故障信息相对应的历史访问数据后,可以利用所述历史访问数据对所述软件进行诊断。具体地,在本实施方式中,可以从所述历史访问数据中筛选出与故障信息中的故障时间节点最接近的历史访问数据。然后可以利用所述历史访问数据中的配置参数对所述软件进行诊断。其中,所述历史访问数据中的配置参数可以包括客户端的名称、客户端指定的地理位置以及客户端发送该历史访问数据时所处的网络状态等。对于所述历史访问数据中的每个配置参数,服务器中均可以有相对应的代码段来对其进行处理。例如,根据客户端的名称,可以确定该名称在应用程序中对应的优惠特权,从而可以按照预先编写的代码段来对请求对象的价格进行计算,以得出与所述客户端相匹配的价格。又例如,根据客户端发送该历史访问数据时所处的网络状态,可以通过预先编写的代码段来对请求对象的图片数据大小进行计算,以得到与所述客户端当前的网络状态相匹配的图片数据的大小。

在本实施方式中,当软件出现故障时,则会导致计算的价格或者返回的图片大小与实际情况不符,造成价格出错或者图片加载困难等情况。此时,根据客户端发来的故障信息,需要对软件进行调试,以判断软件是否出现故障。

在本实施方式中,可以将获取的历史访问数据中包含的配置参数作为软件中代码段的输入参数,让代码段对所述配置参数再次进行处理,以判断由代码段处理得出的结果是否与理论的结果一致。当一致时,则表明处理配置参数的代码段没有出现故障,可能是当时历史访问数据中包含的配置参数与实际的配置参数不符,才导致返回给客户端的数据不符合用户的期望。例如,用户在购买某一商品时,期望的收获地址为江苏省,但是用户提供给服务器的却是当前自身的实际地理位置(例如为新疆),这样服务器中的代码段根据新疆这个地理位置计算的邮费会明显比根据江苏这个地理位置计算的邮费高,这样会使得用户产生邮费出现错误的判断而触发故障信息。那么根据本实施方式的方案处理后,发现由代码段重新处理配置参数的结果与理论的结果是一致的,则说明代码段并没有发生故障,从而可以确定是用户提供的配置参数与其期望的配置参数之间不相符。当由代码段重新处理得出的结果是否与理论的结果不一致,则可以表明是代码段出现了故障,从而可以利用调试工具对软件进行调试。

本申请还提供一种历史访问数据的获取方法。请参阅图2,所述方法可以包括以下步骤。

步骤s1:接收客户端发出的故障处理请求。

在本实施方式中,运行软件的架构可以包括客户端和服务器,所述客户端与所述服务器之间可以通过互联网进行数据交互。具体地,所述客户端和所述服务器之间可以通过移动网络(2g/3g/4g)、wifi或者有线网络进行数据交互。所述服务器可以为具备数据存储和计算功能的计算机,所述客户端则可以是用户使用的终端设备,例如台式计算机、笔记本、平板电脑、智能手机或者智能可穿戴设备等,所述客户端还可以是登陆了用户账号的应用程序,例如手机淘宝、支付宝等应用程序。

在本实施方式中,当用户在使用应用程序的过程,发现应用程序的操作页面上展示的信息有误时,可以通过应用程序上的预设按键触发故障处理请求,该故障处理请求从而可以由所述客户端发送至应用程序的服务器中。例如,在手机淘宝中,当用户发现某个商品的展示价格与最终下单结算的价格不符时,可以通过手机淘宝中预先设置的“投诉”按键,或者“价格有问题?”按键触发故障处理请求。这样,所述服务器便可以接收所述客户端发出的故障处理请求。

步骤s3:根据所述故障处理请求为所述客户端分配唯一的预设标识。

在本实施方式中,所述服务器在接收到所述客户端发来的故障处理请求后,可以为所述客户端分配唯一的预设标识,以将所述客户端发出的数据访问请求与其它数据访问请求相区分。具体地,当用户使用终端设备运行应用程序,或者在应用程序中登陆预先注册的账号时,该应用程序的服务器可以为用户的终端设备或者用户的账号分配唯一的预设标识。例如,当用户在智能手机上打开手机淘宝时,手机淘宝会与服务器建立连接并从服务器处获取首页的数据。此时,服务器可以将预设标识分配给该用户的智能手机,那么从该智能手机上发出的数据访问请求中均可以携带所述预设标识。又例如,当用户在手机淘宝内登陆自己的账号时,手机淘宝的服务器可以将预设标识分配给该用户的账号,那么通过该用户的账号发出的数据访问请求中均可以携带所述预设标识。

在本实施方式中,所述预设标识可以为预设数字编码、预设字符串或者用户的生物特征数据中的至少一种。在实际应用场景中,所述预设标识可以为所述预设数字编码、所述预设字符串或者所述用户的生物特征数据这三个类型的标识中的一个,也可以是其中的某两个的组合,也可以是这三个的组合。所述预设数字编码例如可以为由服务器随机生成的数字,也可以是由服务器将预设的数字串按照预设编码方式进行编码后的数字串,也可以是所述客户端在网络中的通信地址。所述预设字符串可以是所述客户端在网络中的mac地址,也可以是所述客户端在应用程序中预存的识别码,也可以是由服务器随机生成的一串字符串。所述用户的生物特征数据可以为所述用户的语音数据或者指纹数据,所述语音数据或者所述指纹数据可以是用户通过终端设备的麦克风或者指纹识别模块预先录入所述应用程序中的,所述语音数据或者所述指纹数据可以被应用程序的服务器获取,并存储于应用程序的服务器中,并且可以被服务器分配给对应的终端设备或者用户账号。

步骤s5:当接收到的数据访问请求中附带所述预设标识时,将所述数据访问请求作为历史访问数据存储于预设存储空间中;当接收到的数据访问请求中未附带所述预设标识时,将所述数据访问请求按照预设规则进行处理。

在本实施方式中,在为所述客户端分配了唯一的预设标识后,通过所述客户端发出的数据访问请求均可以携带所述预设标识。这样,当服务器接收到携带所述预设标识的数据访问请求后,可以将所述数据访问请求作为历史访问数据存储于预设存储空间中。这样处理的目的在于,传统技术中由于应用程序的用户群的数量往往比较庞大,因此应用程序对应的服务器数量也往往较多,客户端发出的数据访问请求往往会被随机分配到其中的一个服务器处进行存储和处理,或者会根据当前服务器的负载情况,选择负载较小的服务器来存储和处理。这样,数据访问请求存储的位置往往是不可预测,如果要从众多的服务器中查询某一条数据访问请求,那么往往需要在所有的服务器中进行查询,这将耗费相当长的时间。因此,在本实施方式中,为了能够快速对携带所述预设标识的数据访问请求进行查询,可以将携带所述预设标识的数据访问请求存储于预设的存储空间中。

在本实施方式中,所述预设存储空间可以是独立于服务器的一个存储器,该存储器可以与服务器保持通信连接,并且可以被其他设备(例如诊断设备)访问。所述预设存储空间还可以位于一个预先指定的服务器中,也就是说在所述预先指定的服务器中可以划分出一个空间,携带有所述预设标识的数据访问请求可以存储于该划分出的空间内。

在本实施方式中,服务器可以根据实际需要,对多个客户端分别分配唯一的预设标识。那么在所述预设存储空间中,往往可以存储来自多个客户端的数据访问请求。在本实施方式中,当服务器接收到携带有所述预设标识的数据访问请求时,可以建立所述预设标识与所述数据访问请求之间的关联关系,并在所述预设存储空间内建立关联关系数据表,在所述关联关系数据表中,相关联的预设标识与数据访问请求可以被记载于同一行。

在本实施方式中,所述数据访问请求可以是一串字符串。在所述字符串的前半段可以包括请求对象的地址信息,在所述字符串的后半段可以包括客户端的预设标识和配置参数。其中,所述请求对象例如可以为商品、新闻或者视频等资源的页面,所述请求对象的地址信息则可以为这些页面的页面地址。所述客户端的配置参数则可以包括客户端发送数据访问请求时的各种参数,例如所述客户端的名称,所述客户端指定的地理位置以及所述客户端发送数据访问请求时所处的网络状态等。上述的请求对象的地址信息、客户端的预设标识以及客户端的配置参数均可以通过预设的编写方式进行编写,以形成能够被应用程序的服务器识别的字符串。

在本实施方式中,当服务器接收到的数据访问请求中没有附带所述预设标识时,说明该数据访问请求是普通的数据访问请求,可以按照预设规则对其进行处理。具体地,在本实施方式中,可以从预设数量的服务器中筛选出当前时刻负载最小的目标服务器,并将未附带所述预设标识的数据访问请求存储于所述目标服务器中。其中,所述负载可以指服务器的cpu使用率或者服务器的存储空间使用率。此外,在本实施方式中,还可以将未附带所述预设标识的数据访问请求存储于接收所述未附带所述预设标识的数据访问请求的服务器中,其中,接收所述未附带所述预设标识的数据访问请求的服务器即可以为本地服务器。在实际应用场景中,数据访问请求往往会被分配于众多服务器中的一个服务器处,那么在本实施方式中,在服务器接收到未附带所述预设标识的数据访问请求时,可以将该数据访问请求直接存储于本地服务器中。再者,在本实施方式中,还可以在响应于未附带所述预设标识的数据访问请求,向发送所述未附带所述预设标识的数据访问请求的发送方返回请求数据之后,将所述未附带所述预设标识的数据访问请求删除。这样,将未附带所述预设标识的数据访问请求在处理完毕后直接删除,可以节省服务器中存储器的存储空间,以容纳更多附带所述预设标识的数据访问请求。

步骤s7:接收故障信息获取请求。

在本实施方式中,当用户在使用应用程序的过程,发现应用程序的操作页面上展示的信息有误时,可以通过应用程序上的预设按键触发故障信息,该故障信息从而可以由客户端发送至应用程序的服务器中。例如,在手机淘宝中,当用户发现某个商品的展示价格与最终下单结算的价格不符时,可以通过手机淘宝中预先设置的“投诉”按键,或者“价格有问题?”按键触发故障信息获取请求。

在本实施方式中,在用户触发故障信息时,应用程序可以对出现错误的请求对象进行记录,并且将出现错误的请求对象确定为待诊断对象。在本实施方式中,应用程序可以在故障信息中加入待诊断对象的目标标识。所述目标标识可以为所述待诊断对象在应用程序中的编号,例如,所述目标标识可以为商品在手机淘宝中的商品编号。另外,应用程序还可以将触发故障信息的客户端的预设标识加入故障信息中,以表明该故障信息是由哪个客户端发出的。在本实施方式中,当应用程序的服务器接收到故障信息时,可以记录接收该故障信息的时间节点,该时间节点可以表征数据发生错误的时间节点。

在本实施方式中,所述故障信息还可以是应用程序的后台工作人员根据用户的反馈录入服务器中。具体地,在用户使用应用程序时,当发现应用程序中展示的信息有误,那么便可以通过电话或者即时通信软件等通信方式联系应用程序的客服,并向客服反应出现错误信息的项目和时间节点。这样,所述应用程序的后台工作人员便可以根据用户的反馈,填写故障信息,在所述故障信息中可以包括出现错误信息的时间节点。填写的故障信息后续则可以由后台工作人员存储于服务器中,以供调试人员进行调试。

步骤s9:在所述故障信息获取请求中附带所述预设标识时,从所述预设存储空间中获取附带所述预设标识的历史访问数据。

在本实施方式中,当服务器接收到的故障信息中携带所述预设标识时,可以在所述预设存储空间中查询与所述故障信息相对应的历史访问数据。在本实施方式中,所述故障信息中可以包括故障时间节点。所述故障时间节点可以为客户端发送故障信息对应的时间节点。所述故障信息与历史访问数据的对应关系可以体现在:故障信息中包含的客户端的预设标识与历史访问数据中包含的客户端的预设标识相同,服务器接收所述历史访问数据的时间节点在接收所述故障信息的时间节点之前。举例来说明,假设服务器在19点30分20秒接收到客户端发来的数据访问请求,该数据访问请求中客户端的预设标识为1。针对该数据访问请求,服务器向客户端返回了请求数据,但用户发现该请求数据中存在问题,便触发了针对该请求数据的故障信息。服务器在19点35分10秒接收到客户端发来的故障信息,该故障信息中的预设标识为1,该故障信息中携带的时间节点为19点35分10秒。那么服务器可以从所述预设存储空间中获取预设标识为1并且在19点35分10秒之前的数据访问请求。获取的这些数据访问请求便可以为所述的历史访问数据。

在本实施方式中,在获取到与所述故障信息相对应的历史访问数据后,可以利用所述历史访问数据对所述软件进行诊断。具体地,在本实施方式中,可以从所述历史访问数据中筛选出与故障信息中的故障时间节点最接近的历史访问数据。然后可以利用所述历史访问数据中的配置参数对所述软件进行诊断。其中,所述历史访问数据中的配置参数可以包括客户端的名称、客户端指定的地理位置以及客户端发送该历史访问数据时所处的网络状态等。对于所述历史访问数据中的每个配置参数,服务器中均可以有相对应的代码段来对其进行处理。例如,根据客户端的名称,可以确定该名称在应用程序中对应的优惠特权,从而可以按照预先编写的代码段来对请求对象的价格进行计算,以得出与所述客户端相匹配的价格。又例如,根据客户端发送该历史访问数据时所处的网络状态,可以通过预先编写的代码段来对请求对象的图片数据大小进行计算,以得到与所述客户端当前的网络状态相匹配的图片数据的大小。

在本实施方式中,当软件出现故障时,则会导致计算的价格或者返回的图片大小与实际情况不符,造成价格出错或者图片加载困难等情况。此时,根据客户端发来的故障信息,需要对软件进行调试,以判断软件是否出现故障。

在本实施方式中,可以将获取的历史访问数据中包含的配置参数作为软件中代码段的输入参数,让代码段对所述配置参数再次进行处理,以判断由代码段处理得出的结果是否与理论的结果一致。当一致时,则表明处理配置参数的代码段没有出现故障,可能是当时历史访问数据中包含的配置参数与实际的配置参数不符,才导致返回给客户端的数据不符合用户的期望。例如,用户在购买某一商品时,期望的收获地址为江苏省,但是用户提供给服务器的却是当前自身的实际地理位置(例如为新疆),这样服务器中的代码段根据新疆这个地理位置计算的邮费会明显比根据江苏这个地理位置计算的邮费高,这样会使得用户产生邮费出现错误的判断而触发故障信息。那么根据本实施方式的方案处理后,发现由代码段重新处理配置参数的结果与理论的结果是一致的,则说明代码段并没有发生故障,从而可以确定是用户提供的配置参数与其期望的配置参数之间不相符。当由代码段重新处理得出的结果是否与理论的结果不一致,则可以表明是代码段出现了故障,从而可以利用调试工具对软件进行调试。

在一个具体的应用场景中,用户在使用智能手机使用手机淘宝浏览预设页面时,该预设页面上显示的价格与实际下单的价格不对应。此时,用户可以在所述手机淘宝客户端中向手机淘宝的服务器反馈故障处理请求。手机淘宝的服务器在接收到所述手机淘宝客户端发来的故障处理请求之后,可以将预设标识1分配给该智能手机。那么从该智能手机发出的数据访问请求均可以携带所述预设标识1。假设用户正在利用2g网络浏览手机淘宝中的内容,并且用户对某一款鼠标感兴趣,那么用户可以点击这款鼠标的图片信息,以进一步地查看鼠标的外观。此时,用户点击鼠标的图片信息这个操作便可以生成一个数据访问请求,该数据访问请求中可以包含该鼠标的图片信息的地址,也可以包含所述预设标识1以及当前智能手机所处的网络环境配置参数。那么当服务器接收到该数据访问请求后,可以将该数据访问请求存储于预设存储空间中,同时还可以对该数据访问请求中的网络环境配置参数进行处理,但由于执行处理的代码段出现故障,导致计算得到的图片数据量较大,那么将该图片数据量较大的图片信息返回至用户的智能手机时,由于网络状态不佳,导致图片无法加载。此时用户则可以触发故障信息,并将该故障信息发送至手机淘宝的服务器。手机淘宝的服务器接收到故障信息后,便可以从所述预设存储空间中读取之前接收到的数据访问请求并对其进行分析。

由上可见,本申请实施方式通过为客户端分配唯一的预设标识,从而可以将携带有所述预设标识的数据访问请求作为历史访问数据存储于预设的存储空间中,以将携带有所述预设标识的数据访问请求与普通的数据访问请求进行区分。那么在接收到携带有所述预设标识的故障信息时,便可以从所述预设存储空间中查询到与所述故障信息相对应的历史访问数据,从而可以利用所述历史访问数据对软件进行诊断。由此可见,本申请提供的一种历史访问数据的获取方法,能够在不需要设置代理服务器的情况下,获取客户端发送的历史访问数据。

请参阅图3。在本申请一实施方式中,可以按照下述步骤来实现上述的步骤s3。

步骤s31:获取预设标识;

步骤s33:按照预设编码方式对所述预设标识进行编码,生成包含所述预设标识的图形信息;

步骤s35:将所述图形信息发送至所述客户端;

步骤s37:当接收到所述客户端发送的对所述图形信息进行扫描的确认指令后,将所述预设标识分配给所述客户端。

在本实施方式中,所述预设标识可以是服务器生成的字符串,也可以是服务器从客户端处获取的用户的生物特征数据。其中,服务器可以根据当前时刻的日期和时间,按照预设哈希算法生成与当前时刻的日期和时间相对应的哈希值,并将该哈希值作为预设标识。具体地,在本实施方式中,服务器可以获取包含当前时刻日期和时间的字符串,所述字符串例如可以为“2016年3月24日11点03分26秒”,通过预设的哈希算法,服务器可以将该字符串换算为一串二进制的哈希值。当表征当前时刻的字符串不同时,生成的哈希值也不同,因此可以保证生成的哈希值的唯一性。此外,为了进一步保证生成的哈希值的唯一性,可以在表征当前时刻的字符串中添加用户的账户名,形成新的字符串,例如该字符串可以为“2016年3月24日11点03分26秒abc”,时间后面的abc即可以为用户的账户名,那么根据该字符串生成的哈希值同样可以作为预设标识。

在本实施方式中,还可以从所述客户端处获取用户的生物特征数据,并将所述生物特征数据确定为所述预设标识,所述生物特征数据包括指纹数据或者语音数据。具体地,所述生物特征数据可以是用于通过所述客户端的麦克风或者指纹识别模块预先录入应用程序中的,所述语音数据或者所述指纹数据可以被应用程序的服务器获取,并存储于应用程序的服务器中。由于生物特征数据往往具备唯一性,这样,当服务器从所述客户端处获取到用户的生物特征数据后,便可以将所述生物特征数据作为预设标识。

在本实施方式中,当获取了预设标识后,可以由服务器按照预设编码方式对预设标识进行编码,生成包含所述预设标识的图形信息。其中,所述预设编码方式可以包括但不限于pdf417、qrcode、code49、code16k、codeone等编码方式。所述预设标识可以为一组数据,利用预设编码方式对其进行编码后,可以将所述预设标识包含于诸如条形码或者二维码这样的图形信息中。在生成包含所述预设标识的图形信息后,服务器可以在与客户端建立连接时,将所述图形信息发送至所述客户端处。这样,通过提示客户端对该图形信息进行扫描识别,从而可以将该图形信息中包含的预设标识与所述客户端进行绑定。在本实施方式中,当接收到所述客户端发送的对所述图形信息进行扫描的确认指令后,则可以将所述图形信息中包含的所述预设标识与所述客户端绑定。

在实际应用场景中,例如在手机淘宝中,当用户在智能手机上打开手机淘宝时,可以自动弹出绑定预设标识的服务条款,并且在条款中附上由服务器生成的包含所述预设标识的二维码。然后可以由用户决定是否接收该服务条款,当接收时,便可以识别所述二维码中包含的预设标识,从而可以将该预设标识与用户的客户端相绑定。如果用户不接收该条件,则可以不对该二维码进行识别。这样,通过用户的选择来确定是否绑定预设标识,能够尊重用户的隐私,增强用户使用应用程序的体验。

在本申请一实施方式中,还可以根据客户端发来的标识分配请求,来为客户端分配预设标识。具体地,在本实施方式中,所述服务器可以接收到客户端发出的标识分配请求,然后所述服务器可以获取预设标识,并将所述预设标识分配给所述客户端。

在本实施方式中,当用户在使用应用程序时,应用程序的服务器可以向客户端发出邀请信息。该邀请信息可以通过用户协议的形式来表示,也就是说,服务器可以向客户端发送一份提示接受分配标识的用户协议,在该协议中可以设置有“同意”和“拒绝”按键。当用户触发“同意”按键时,便可以视为向服务器发出了标识分配请求。在服务器接收到客户端发出的标识分配请求之后,可以获取预设标识,并将所述预设标识分配给所述客户端。其中,所述获取预设标识的步骤可以与步骤s31中的描述一致,这里便不再赘述。

在本申请一实施方式中,随着附带预设标识的客户端数量的增多,对应的存储携带所述预设标识的数据访问请求的预设存储空间也会随之增多,为了能够快速地从多个预设存储空间中查询到客户端的数据访问请求,可以在客户端的预设标识与预设存储空间之间建立关联关系。具体地,在本实施方式中,当接收到的数据访问请求中附带所述预设标识时,可以将所述数据访问请求作为历史访问数据提供给与所述预设标识存在关联关系的存储空间。

在本实施方式中,当接收到的数据访问请求中附带所述预设标识,且所述预设标识没有关联的预设存储空间时,可以按照预设分配规则为所述预设标识分配存储空间。在本实施方式中,可以按照客户端你在网络中的网络地址来为其分配相关联的预设存储空间。具体地,可以将预设网络地址段关联至所述预设存储空间。所述预设网络地址段中可以包括连续的多个网络地址,当然,也可以包括离散的多个网络地址。例如,可以将168.102.1.1至168.102.1.128的网络地址段与预设存储空间进行关联,那么网络地址处于该网络地址段中的客户端发送的数据访问请求均可以存储于该预设存储空间中。其中,所述客户端的网络地址可以作为所述客户端的预设标识,这样便可以为客户端的预设标识分配存储空间。

在本实施方式中,在位所述预设标识分配存储空间后,可以为所述预设标识与所述存储空间建立关联,从而可以根据预设标识快速地查询到与其对应的存储空间。具体地,在本实施方式中,可以在应用程序的各个服务器中存储预设标识与预设存储空间之间的关联关系数据表。在所述数据表中,具备关联关系的预设标识和预设存储空间可以位于同一行,其中,一个预设存储空间可以关联多个预设标识,那么与该多个预设标识相对应的客户端发送的数据访问请求均可以存储于该预设存储空间中。

在本申请另一实施方式中,当所述预设存储空间仅为一个存储器时,可以预先为所述预设存储空间分配网络地址,这样,当接收到的数据访问请求中附带所述预设标识时,可以将所述数据访问请求发送至预先分配给预设存储空间的网络地址处。在所述预设存储空间中可以包括多个磁盘,这些磁盘可以通过阵列的方式集成于所述预设存储空间中,并且每个磁盘均可以对应一个端口号。那么当所述预设存储空间接收到所述数据访问请求时,则可以按照端口号,将所述数据访问请求存储于其中的一个磁盘中。

在本申请一实施方式中,在服务器响应于客户端发来的数据访问请求,向所述客户端返回与所述数据访问请求相对应的请求数据后,还可以将所述请求数据与所述数据访问请求对应存储于所述预设存储空间中,以便于后续诊断时对当时返回的请求数据进行查看。具体地,所述请求数据与所述数据访问请求的对应关系可以通过键值对(key-value)的形式来体现,其中,所述数据访问请求可以作为键(key),与所述数据访问请求相对应的请求数据可以作为值(value),并将所述键值对存储于所述预设存储空间中。这样,在后续针对故障信息查询历史访问数据时,可以一并获取与所述历史访问数据相对应的请求数据,以方便查看当时向客户端返回了哪些数据。

请参阅图4。在本申请一实施方式中,所述预设存储空间可以为网络中的一个指定存储服务器。需要说明的是,所述指定存储服务器可以位于处理客户端发来的数据访问请求的业务服务器中,也可以作为一个独立的存储器位于网络中。这样,在本实施方式中,当接收到的数据访问请求中附带预设标识时,可以将所述数据访问请求作为历史访问数据发送至指定数据存储服务器,以将历史访问数据存储于所述指定数据存储服务器中。在这种情况下,在从所述预设存储空间中获取附带所述预设标识的历史访问数据的步骤可以包括以下几个子步骤。

步骤s91:向所述指定数据存储服务器发出数据获取请求,所述数据获取请求附带有预设标识;

步骤s93:接收所述指定数据存储服务器反馈的数据访问请求集。

在本实施方式中,执行上述两个子步骤的主体可以是处理客户端发来的数据访问请求的业务服务器,还可以是应用程序的调试人员使用的调试计算机。在本实施方式中,所述业务服务器或者调试计算机可以向所述指定数据存储服务器发出数据获取请求。在所述数据获取请求中可以附带预设标识,所述预设标识可以用来从所述指定数据存储服务器中的众多历史访问数据中筛选出与所述预设标识相关联的历史访问数据。

在本实施方式中,当所述指定数据存储服务器接收到携带所述预设标识的数据获取请求后,便可以根据所述预设标识,从众多的历史访问数据中筛选出与所述预设标识相关联的历史访问数据。与所述预设标识相关联的历史访问数据可以作为数据访问请求集,由所述指定数据存储服务器反馈至所述业务服务器或者调试计算机。这样,所述业务服务器或者调试计算机便可以接收所述指定数据存储服务器反馈的数据访问请求集,后续则可以根据所述数据访问请求集中的历史访问数据,对应用程序的故障进行诊断。

请参阅图5。本申请实施方式还提供一种历史访问数据的获取装置。如图5所示,所述装置可以包括:

故障请求接收单元100,接收客户端发出的故障处理请求;

预设标识分配单元200,用于为所述客户端分配唯一的预设标识;

数据访问请求处理单元300,用于当接收到的数据访问请求中附带所述预设标识时,将所述数据访问请求作为历史访问数据存储于预设存储空间中;当接收到的数据访问请求中未附带所述预设标识时,将所述数据访问请求按照预设规则进行处理;

故障信息接收单元400,用于接收故障信息获取请求;

历史访问数据获取单元500,用于在所述故障信息获取请求中附带所述预设标识时,从所述预设存储空间中读取附带所述预设标识的历史访问数据。

请参阅图6。本申请实施方式还提供一种历史访问数据的获取装置。如图6所示,所述装置可以包括:

通信端子10,其用于接收数据访问请求和故障信息以及发送请求数据;

存储器20,其用于存储附带预设标识的数据访问请求;

中央处理器30,其用于通过所述通信端子接收客户端发出的故障处理请求;为所述客户端分配唯一的所述预设标识;当通过所述通信端子接收到的数据访问请求中附带所述预设标识时,将所述数据访问请求作为历史访问数据存储于所述存储器中;当通过所述通信端子接收到的数据访问请求中未附带所述预设标识时,将所述数据访问请求按照预设规则进行处理;通过所述通信端子接收故障信息获取请求;在所述故障信息获取请求中附带所述预设标识时,从所述存储器中获取附带所述预设标识的历史访问数据。

需要说明的是,上述装置中的各个功能模块的具体实现方式均与方法实施例中的描述一致,这里便不再赘述。

由上可见,本申请实施方式通过为客户端分配唯一的预设标识,从而可以将携带有所述预设标识的数据访问请求作为历史访问数据存储于预设的存储空间中,以将携带有所述预设标识的数据访问请求与普通的数据访问请求进行区分。那么在接收到携带有所述预设标识的故障信息时,便可以从所述预设存储空间中查询到与所述故障信息相对应的历史访问数据。由此可见,本申请提供的一种历史访问数据的获取装置,能够在不需要设置代理服务器的情况下,获取客户端发送的历史访问数据。

上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,对于装置实施方式而言,由于其基本相似于方法实施方式,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。

虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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