CN106095886B - 一种数据处理方法及其装置 - Google Patents
一种数据处理方法及其装置 Download PDFInfo
- Publication number
- CN106095886B CN106095886B CN201610396793.2A CN201610396793A CN106095886B CN 106095886 B CN106095886 B CN 106095886B CN 201610396793 A CN201610396793 A CN 201610396793A CN 106095886 B CN106095886 B CN 106095886B
- Authority
- CN
- China
- Prior art keywords
- xhr
- data
- proxy
- native
- callback function
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
Abstract
本发明实施例公开一种数据处理方法及其装置,其中方法包括如下步骤:基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态;根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。采用本发明,可通过代理XHR实现对业务反馈数据可写的功能,进而实现对业务反馈数据的批量处理,提高对应用数据获取请求的处理效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据处理方法及其装置。
背景技术
AJAX(Asynchronous JavaScriptand XML)是一种创建交互式网页(web)应用的网页开发技术。AJAX技术是通过可扩展超文本传输请求(XMLHttpRequest,XHR)对象来直接与服务器进行通信,可在不重载页面的情况下与web服务器交换数据,进而可以做到在页面已加载后从服务器更新页面,例如在web应用的购物车页面,当更新购物车中的一项物品的数量时,无需重新载入整个页面,如果使用AJAX向web应用服务器请求购物车中物品的总量,web应用服务器只会返回新的总量值,通过减少加载的数据量提高了web应用的处理效率,因此AJAX技术受到了大多数web应用的青睐。
在现有的AJAX技术中,由于XHR的部分属性为只读(例如,XHR中应用服务器反馈的响应数据responseText),因此在存在多个应用数据获取请求时,应用数据获取请求需要一个一个的向应用服务器进行发送,以保证所接收到业务反馈数据包是对应于一个应用数据获取请求的,影响了对应用数据获取请求的处理效率。
发明内容
本发明实施例提供一种数据处理方法及其装置,可通过代理XHR实现对业务反馈数据可写的功能,进而实现对业务反馈数据的批量处理,提高对应用数据获取请求的处理效率。
本发明实施例第一方面提供了一种数据处理方法,包括:
基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;
将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态;
根据所述数据接收状态触发调用所述数据接收状态对应的回调函数;
其中,所述原生XHR为预先写入的初始对象实例数据,所述代理XHR为继承所述原生XHR的代理对象实例数据。
本发明实施例第二方面提供了另一种数据装置,包括:
数据获取单元,用于基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;
状态确定单元,用于将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态;
函数调用单元,用于根据所述数据接收状态触发调用所述数据接收状态对应的回调函数;
其中,所述原生XHR为预先写入的初始对象实例数据,所述代理XHR为继承所述原生XHR的代理对象实例数据。
在本发明实施例中,通过基于原生XHR获取应用服务器发送的代理XHR的对象标识对应的业务反馈数据,将获取的业务反馈数据写入到代理XHR中,并在写入后确定所述代理XHR的数据接收状态,进而调用所述数据接收状态对应的回调函数。这样通过代理XHR能够实现对业务反馈数据可写的功能,在存在多个应用数据获取请求时,能够将多个应用数据获取请求合并发送,相应地接收针对多个应用数据获取请求的业务反馈数据包,并通过对象标识将业务反馈数据加以区分而实现写入对应的代理XHR中,进而实现对业务反馈数据的批量处理,提高了对应用数据获取请求的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据处理方法的流程示意图;
图2是本发明实施例提供的另一种数据处理方法的流程示意图;
图3是本发明实施例提供的一种数据处理装置的结构示意图;
图4是本发明实施例提供的另一种数据处理装置的结构示意图;
图5是本发明实施例提供的又一种数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据处理方法可以应用于接收到包含多个代理XHR的业务反馈数据包的场景,例如:数据处理装置获取应用服务器响应由多个代理XHR触发的多个应用数据获取请求生成的合并请求所发送的合并反馈数据包,所述合并反馈数据包中携带每个代理XHR的对象标识以及每个对象标识对应的业务反馈数据;将每个代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定每个代理XHR的数据接收状态,并根据所述数据接收状态触发调用所述数据接收状态对应的回调函数;其中合并请求和合并反馈数据包本质上都是通过原生XHR传输的。通过代理XHR能够实现对业务反馈数据可写的功能,在存在多个应用数据获取请求时,能够将多个应用数据获取请求合并发送,相应地接收针对多个应用数据获取请求的业务反馈数据包,并通过对象标识将业务反馈数据加以区分而实现写入对应的代理XHR中,进而实现对业务反馈数据的批量处理,提高了对应用数据获取请求的处理效率。
本发明实施例涉及的数据处理装置可以是嵌入于任何具备通信和存储功能的设备的数据处理模块,例如应用于web应用的数据处理模块;也可以是任何具备通信和存储功能的设备,例如:平板电脑、手机、电子阅读器、遥控器、个人计算机(Personal Computer,PC)、笔记本电脑、车载设备、网络电视、可穿戴设备等具有网络功能的智能设备。
下面将结合附图1和附图2,对本发明实施例提供的数据处理方法进行详细介绍。
请参见图1,为本发明实施例提供了一种数据处理方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包。
具体的,数据处理装置基于原生XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包。所述原生XHR为预先写入的初始对象实例数据,即在现有技术中,所述数据处理装置可以通过原生XHR与应用服务器进行数据传输;而所述代理XHR为继承所述原生XHR的代理对象实例数据,由于代理XHR是继承原生XHR所生成的,因此在代理XHR与应用服务器进行数据传输的过程中,其本质是通过原生XHR完整数据传输的,在本发明实施例中,所述数据处理装置触发代理XHR通过对应的原生XHR发送应用数据获取请求,所述数据处理装置还可以基于原生XHR获取应用服务器响应代理XHR所触发的应用数据获取请求所发送的业务反馈数据包。其中,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;所述对象标识用于唯一识别所述代理XHR,例如,若所述数据处理装置接收到服务器响应由多个代理XHR触发的多个应用数据获取请求生成的合并请求所发送的合并反馈数据包时,所述数据处理装置可根据合并反馈数据包中携带的对象标识,从合并反馈数据包中获取到每个代理XHR的对象标识对应的业务反馈数据。
可行的方案中,所述应用数据获取请求是所述数据处理装置基于业务操作触发代理XHR发送的,用于向该业务的应用服务器获取与业务操作所对应的业务反馈数据;所述应用服务器针对所述应用数据获取请求发送与业务操作对应的业务反馈数据包。举例来说,若检测到获取验证码的操作时,所述数据处理装置触发代理XHR向应用服务器发送验证码获取请求,所述应用服务器针对验证码获取请求发送相应地的验证码。又举例来说,在web应用的购物车页面,当检测到更新购物车中的一项物品的数量时,向应用服务器发送购物车中物品总量的获取请求,应用服务器反馈新的总量值。
S102,将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态。
具体的,所述数据处理装置将获取的所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态。其中,所述数据接收状态可以通过接收到的业务响应数据包而确定。举例来说,所述数据处理装置写入代理XHR的业务反馈数据可以是表示接收到应用服务器反馈的收到应用数据获取请求的消息但未接收到应用服务器反馈的响应数据的情况,则确定为正在接收响应数据的状态;又举例来说,所述数据处理装置写入代理XHR的业务反馈数据可以是表示请求错误的状态消息的情况,则确定为无法发送响应数据的状态;又举例来说,所述数据处理装置写入代理XHR的业务反馈数据可以是完整的响应数据,则确定为完成接收响应数据的状态。以上仅为对数据接收状态的列举说明,本发明实施例对数据接收过程中所存在的各种状态不做限定。
S103,根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。
具体的,所述数据处理装置根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。其中,所述回调函数是由所述数据处理装置配置的,并且所述数据处理装置配置了调用所述回调函数时对应的代理XHR的传输状态,所述传输状态包括数据接收状态和请求发送状态。
可行的方案中,所述数据接收状态可以为步骤S102中描述的正在接收响应数据的状态、无法发送响应数据的状态以及完成接收响应数据的状态等等;而所述请求发送状态可以为创建代理XHR但未配置应用数据获取请求的请求参数的状态;或者所述请求发送状态可以为已配置应用数据获取请求的请求参数的状态;或者所述请求发送状态为已成功发送应用数据获取请求但未收到响应数据的状态,本发明实施例对请求发送过程中所存在的各种状态不做限定。
进一步,所述回调函数可以是用于处理应用服务器发送的业务反馈数据的函数,可行的方案中,所述数据处理装置将所述业务反馈数据以参数形式传入所述回调函数中,即可实现通过回调函数对所述业务反馈数据进行处理。举例来说,如果所述数据处理装置触发代理XHR发送验证码获取请求,在获取到的业务反馈数据为验证码时,可通过调用回调函数实现验证码以旋转形式进入显示页面并显示的功能。可行的方案中,所述回调函数的执行也可以不依赖于所述应用服务器所发送的业务反馈数据,即所述回调函数中不包括所述业务反馈数据的参数。
需要说明的是,在AJAX方法中定义了多个事件,例如,ajaxStart用于表示开始新的应用数据获取请求之前触发的事件,并且此时没有其他应用数据获取请求正在进行;ajaxSend用于表示应用数据获取请求开始前触发的事件,success用于表示获取到响应应用数据获取请求所发送的业务反馈数据包时触发的事件,表示应用服务器没有返回错误且返回的数据也没有错误;等等事件。可以看出,AJAX方法中所包含的事件是针对触发XHR发送应用数据请求到接收到业务反馈数据包过程中所定义的事件,而在本发明实施例中,触发XHR发送应用数据请求到接收到业务反馈数据包的过程可以对应于包括数据接收状态在内的传输状态。因此,在具体实现过程中,所述数据处理装置可以针对这些事件配置相应的回调函数,这样所述数据处理装置能够在确定所述代理XHR的数据接收状态之后,根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。
在本发明实施例中,通过基于原生XHR获取应用服务器发送的代理XHR的对象标识对应的业务反馈数据,将获取的业务反馈数据写入到代理XHR中,并在写入后确定所述代理XHR的数据接收状态,进而调用所述数据接收状态对应的回调函数。这样通过代理XHR能够实现对业务反馈数据可写的功能,在存在多个应用数据获取请求时,能够将多个应用数据获取请求合并发送,相应地接收针对多个应用数据获取请求的业务反馈数据包,并通过对象标识将业务反馈数据加以区分而实现写入对应的代理XHR中,进而实现对业务反馈数据的批量处理,提高了对应用数据获取请求的处理效率。
请参见图2,为本发明实施例提供了另一种数据处理方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S208。
S201,生成原生XHR对应的方法列表、属性列表和事件列表。
具体的,数据处理装置生成原生XHR对应的方法列表、属性列表和事件列表。其中,XHR表示XMLHttpRequest,可扩展标记语言(Extensible Markup Language,XML)可作为AJAX交互数据的数据类型,当然也不仅局限于xml,像JavaScript对象表示法(JavaScriptObject Notation,json)、超级文本标记语言(HyperText Markup Language,html)、文本文件格式(text)等都可以作为数据类型;超文本传输协议(HyperTextTransfer Protocol,HTTP)表示AJAX技术通过发送HTTP请求和接收响应的来通信;Request表示请求(例如,get方式的请求或post方式的请求)和响应。所述原生XHR为预先写入的初始对象实例数据,所述原生XHR包括请求和响应过程中的多个方法、多个属性、多个事件等数据,举例来说,原生XHR的属性有readyState、status、responseText、responseXML等;原生XHR的事件有onreadystatechange事件等;原生XHR的方法有abort、open、send等。并且原生XHR中的方法列表、属性列表和事件列表与现有的XHR是相同的,具体可通过参考现有技术中XHR的方法、属性、事件的详细描述,在此不再叙述。
S202,基于所述方法列表、属性列表和事件列表将所述原生XHR中的代码数据写入代理XHR中。
具体的,所述数据处理装置基于所述方法列表、属性列表和事件列表将所述原生XHR中的代码数据写入代理XHR中,这样使得代理XHR也可以包括原生XHR中的多个方法、多个属性和多个事件,进而能够通过原生XHR实现与应用服务器之间的通信。
进一步,由于所述原生XHR为预先写入的初始对象实例数据,即在现有技术中,所述数据处理装置可以通过原生XHR与应用服务器进行数据传输;而所述代理XHR为继承所述原生XHR的代理对象实例数据,由于代理XHR是继承原生XHR所生成的,因此在代理XHR与应用服务器进行数据传输的过程中,其本质是通过原生XHR完整数据传输的,在本发明实施例中,所述数据处理装置触发代理XHR通过对应的原生XHR发送应用数据获取请求,所述数据处理装置还可以基于原生XHR获取应用服务器响应代理XHR所触发的应用数据获取请求所发送的业务反馈数据包。
S203,配置与代理XHR的传输状态对应的回调函数地址。
具体的,所述数据处理装置配置与代理XHR的传输状态对应的回调函数地址。其中,所述回调函数地址用于指示当所述代理XHR处于所述传输状态时所调用的回调函数的存放位置,举例来说,所述回调函数地址可以是包括回调函数的脚本文件的存放位置。可以理解的是,所述回调函数是由所述数据处理装置自定义配置的,与所述请求发送状态对应的回调函数地址也是由所述数据处理装置自定义配置的。可行的方案中,所述数据处理装置可以根据业务需要通过配置回调函数实现插件功能。
可行的方案中,所述回调函数可以是用于处理应用服务器发送的业务反馈数据的函数,可行的方案中,所述回调函数的执行也可以不依赖于所述应用服务器所发送的业务反馈数据,即所述回调函数中不包括所述业务反馈数据的参数。
可行的方案中,所述传输状态包括数据接收状态和请求发送状态。可行的方案中,所述数据接收状态可以为正在接收响应数据的状态,即表示接收到应用服务器反馈的收到应用数据获取请求的消息但未接收到应用服务器反馈的响应数据的情况,例如,数据处理装置接收到应用服务器反馈的业务反馈数据包中的status为202的情况;或者,所述数据接收状态可以为无法发送响应数据的状态,即表示接收到表示请求错误的消息的情况,例如,数据处理装置接收到应用服务器反馈的业务反馈数据包中的status为404的情况;或者,所述数据接收状态可以为接收响应数据的状态,即表示接收到完整的响应数据的情况,例如,数据处理装置接收到应用服务器反馈的业务反馈数据包中的status为200的情况;而所述请求发送状态可以为创建代理XHR但未配置应用数据获取请求的请求参数的状态,例如,触发代理XHR通过原生XHR执行open方法之前;或者所述请求发送状态可以为已配置应用数据获取请求的请求参数的状态,例如,触发代理XHR通过原生XHR执行open方法之后;或者所述请求发送状态为已成功发送应用数据获取请求但未收到响应数据的状态,例如,触发代理XHR通过原生XHR执行send方法之前,本发明实施例对请求发送和数据接收过程中所存在的各种状态不做限定。
进一步,所述数据处理装置可以根据业务需要,对请求发送和数据接收过程中所存在的各种状态,分配配置响应的回调函数地址。可以理解的是,若其中某一个状态未配置回调函数地址,表示在该状态下不需要调用回调函数。
S204,当检测到应用数据获取指示时,触发代理XHR对应的原生XHR向应用服务器发送应用数据获取请求,并确定所述代理XHR的请求发送状态。
具体的,当检测到应用数据获取指示时,所述数据处理装置触发代理XHR对应的原生XHR向应用服务器发送应用数据获取请求,并确定所述代理XHR的请求发送状态。其中,所述请求发送状态可以参考步骤S203中的详细描述,在此不再赘述。而在本发明实施例中,所述应用数据获取请求携带所述代理XHR的对象标识,所述对象标识用于唯一识别所述代理XHR,这样对于将多个应用数据获取请求进行合并发送的场景,可通过对象标识区分各个应用数据获取请求,还可以通过对象标识进一步区分应用服务器针对合并发送的多个应用数据获取请求所发送的业务反馈数据包。
在一种可行的实施例中,所述数据处理装置执行完步骤S204之后,还可以执行获取与所述请求发送状态对应的回调函数地址;并根据所述请求发送状态对应的回调函数地址,加载与所述请求发送状态对应的回调函数。可以理解的是,与所述请求发送状态对应的回调函数地址是由所述数据处理装置自定义配置的。
S205,基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包。
具体的,所述数据处理装置基于原生XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包。其中,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;通过携带对象标识可以从多个业务数据包中获取所述对象标识的代理XHR的业务反馈数据包,例如,若所述数据处理装置接收到服务器响应由多个代理XHR触发的多个应用数据获取请求生成的合并请求所发送的合并反馈数据包时,所述数据处理装置可根据合并反馈数据包中携带的对象标识,从合并反馈数据包中获取到每个代理XHR的对象标识对应的业务反馈数据包。
S206,将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态。
具体的,所述数据处理装置将获取的所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态。其中,所述数据接收状态可以通过接收到的业务响应数据包而确定。可行的方案中,所述数据接收状态可以为步骤S203中描述的正在接收响应数据的状态、无法发送响应数据的状态以及完成接收响应数据的状态等等,本发明实施例对此不做限定。
S207,根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。
具体的,所述数据处理装置根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。其中,所述回调函数是由所述数据处理装置配置的,所述数据处理装置可通过获取与所述数据接收状态对应的回调函数地址,并根据所述数据接收状态对应的回调函数地址,加载与所述数据接收状态对应的回调函数。
S208,通过所述数据接收状态对应的所述回调函数对写入所述代理XHR中的业务反馈数据进行数据处理,并输出数据处理后的回调结果。
具体的,所述数据处理装置通过所述数据接收状态对应的所述回调函数对写入所述代理XHR中的业务反馈数据进行数据处理,并输出数据处理后的回调结果。可行的方案中,所述数据处理装置将所述业务反馈数据包以参数形式传入所述回调函数中,即可实现通过回调函数对所述业务反馈数据包进行处理。举例来说,如果所述数据处理装置触发代理XHR发送验证码获取请求,在获取到的业务反馈数据包为验证码时,可通过调用回调函数实现验证码以旋转形式进入显示页面并显示的功能。
需要说明的是,在AJAX方法中定义了多个事件,例如,ajaxStart用于表示开始新的应用数据获取请求之前触发的事件,并且此时没有其他应用数据获取请求正在进行;ajaxSend用于表示应用数据获取请求开始前触发的事件,success用于表示获取到响应应用数据获取请求所发送的业务反馈数据包时触发的事件,表示应用服务器没有返回错误且返回的数据也没有错误;等等事件。可以看出,AJAX方法中所包含的事件是针对触发XHR发送应用数据请求到接收到业务反馈数据包过程中所定义的事件,而在本发明实施例中,触发XHR发送应用数据请求到接收到业务反馈数据包的过程可以对应于包括数据接收状态在内的传输状态。因此,在具体实现过程中,所述数据处理装置可以针对这些事件配置相应的回调函数,这样所述数据处理装置能够在确定所述代理XHR的数据接收状态之后,根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。
在本发明实施例中,通过基于原生XHR获取应用服务器发送的代理XHR的对象标识对应的业务反馈数据,将获取的业务反馈数据写入到代理XHR中,并在写入后确定所述代理XHR的数据接收状态,进而调用所述数据接收状态对应的回调函数。这样通过代理XHR能够实现对业务反馈数据可写的功能,在存在多个应用数据获取请求时,能够将多个应用数据获取请求合并发送,相应地接收针对多个应用数据获取请求的业务反馈数据包,并通过对象标识将业务反馈数据加以区分而实现写入对应的代理XHR中,进而实现对业务反馈数据的批量处理,提高了对应用数据获取请求的处理效率。
下面将结合附图4-附图5,对本发明实施例提供的数据处理装置进行详细介绍。需要说明的是,附图4-附图5所示的数据处理装置,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
请参见图3,为本发明实施例提供了一种数据处理装置的结构示意图。如图3所示,本发明实施例的所述数据处理装置1可以包括:数据获取单元11、状态确定单元12和函数调用单元13。
数据获取单元11,用于基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据。
具体实现中,所述数据获取单元11基于原生XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包。所述原生XHR为预先写入的初始对象实例数据,即在现有技术中,所述数据处理装置1可以通过原生XHR与应用服务器进行数据传输;而所述代理XHR为继承所述原生XHR的代理对象实例数据,由于代理XHR是继承原生XHR所生成的,因此在代理XHR与应用服务器进行数据传输的过程中,其本质是通过原生XHR完整数据传输的,在本发明实施例中,所述数据处理装置1触发代理XHR通过对应的原生XHR发送应用数据获取请求,所述数据处理装置1还可以基于原生XHR获取应用服务器响应代理XHR所触发的应用数据获取请求所发送的业务反馈数据包。其中,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;所述对象标识用于唯一识别所述代理XHR,例如,若所述数据处理装置1接收到服务器响应由多个代理XHR触发的多个应用数据获取请求生成的合并请求所发送的合并反馈数据包时,所述数据处理装置1可根据合并反馈数据包中携带的对象标识,从合并反馈数据包中获取到每个代理XHR的对象标识对应的业务反馈数据。
可行的方案中,所述应用数据获取请求是所述数据处理装置1基于业务操作触发代理XHR发送的,用于向该业务的应用服务器获取与业务操作所对应的业务反馈数据;所述应用服务器针对所述应用数据获取请求发送与业务操作对应的业务反馈数据包。举例来说,若检测到获取验证码的操作时,所述数据处理装置1触发代理XHR向应用服务器发送验证码获取请求,所述应用服务器针对验证码获取请求发送相应地的验证码。又举例来说,在web应用的购物车页面,当检测到更新购物车中的一项物品的数量时,向应用服务器发送购物车中物品总量的获取请求,应用服务器反馈新的总量值。
状态确定单元12,用于将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态。
具体实现中,所述状态确定单元12将获取的所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态。其中,所述数据接收状态可以通过接收到的业务响应数据包而确定。举例来说,所述数据处理装置1写入代理XHR的业务反馈数据可以是表示接收到应用服务器反馈的收到应用数据获取请求的消息但未接收到应用服务器反馈的响应数据的情况,则确定为正在接收响应数据的状态;又举例来说,所述数据处理装置1写入代理XHR的业务反馈数据可以是表示请求错误的状态消息的情况,则确定为无法发送响应数据的状态;又举例来说,所述数据处理装置1写入代理XHR的业务反馈数据可以是完整的响应数据,则确定为完成接收响应数据的状态。以上仅为对数据接收状态的列举说明,本发明实施例对数据接收过程中所存在的各种状态不做限定。
函数调用单元13,用于根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。
具体实现中,所述函数调用单元13根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。其中,所述回调函数是由所述数据处理装置1配置的,并且所述数据处理装置1配置了调用所述回调函数时对应的代理XHR的传输状态,所述传输状态包括数据接收状态和请求发送状态。
可行的方案中,所述数据接收状态可以为所述状态确定单元12中描述的正在接收响应数据的状态、无法发送响应数据的状态以及完成接收响应数据的状态等等;而所述请求发送状态可以为创建代理XHR但未配置应用数据获取请求的请求参数的状态;或者所述请求发送状态可以为已配置应用数据获取请求的请求参数的状态;或者所述请求发送状态为已成功发送应用数据获取请求但未收到响应数据的状态,本发明实施例对请求发送过程中所存在的各种状态不做限定。
进一步,所述回调函数可以是用于处理应用服务器发送的业务反馈数据的函数,可行的方案中,所述数据处理装置1将所述业务反馈数据以参数形式传入所述回调函数中,即可实现通过回调函数对所述业务反馈数据进行处理。举例来说,如果所述数据处理装置1触发代理XHR发送验证码获取请求,在获取到的业务反馈数据为验证码时,可通过调用回调函数实现验证码以旋转形式进入显示页面并显示的功能。可行的方案中,所述回调函数的执行也可以不依赖于所述应用服务器所发送的业务反馈数据,即所述回调函数中不包括所述业务反馈数据的参数。
需要说明的是,在AJAX方法中定义了多个事件,例如,ajaxStart用于表示开始新的应用数据获取请求之前触发的事件,并且此时没有其他应用数据获取请求正在进行;ajaxSend用于表示应用数据获取请求开始前触发的事件,success用于表示获取到响应应用数据获取请求所发送的业务反馈数据包时触发的事件,表示应用服务器没有返回错误且返回的数据也没有错误;等等事件。可以看出,AJAX方法中所包含的事件是针对触发XHR发送应用数据请求到接收到业务反馈数据包过程中所定义的事件,而在本发明实施例中,触发XHR发送应用数据请求到接收到业务反馈数据包的过程可以对应于包括数据接收状态在内的传输状态。因此,在具体实现过程中,所述数据处理装置1可以针对这些事件配置相应的回调函数,这样所述数据处理装置1能够在确定所述代理XHR的数据接收状态之后,根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。
在本发明实施例中,通过基于原生XHR获取应用服务器发送的代理XHR的对象标识对应的业务反馈数据,将获取的业务反馈数据写入到代理XHR中,并在写入后确定所述代理XHR的数据接收状态,进而调用所述数据接收状态对应的回调函数。这样通过代理XHR能够实现对业务反馈数据可写的功能,在存在多个应用数据获取请求时,能够将多个应用数据获取请求合并发送,相应地接收针对多个应用数据获取请求的业务反馈数据包,并通过对象标识将业务反馈数据加以区分而实现写入对应的代理XHR中,进而实现对业务反馈数据的批量处理,提高了对应用数据获取请求的处理效率。
请参见图4,为本发明实施例提供了另一种数据处理装置的结构示意图。如图4所示,本发明实施例的所述数据处理装置1可以包括:数据获取单元11、状态确定单元12、函数调用单元13、列表生成单元14、数据写入单元15、地址配置单元16、请求触发单元17和数据处理单元18。
列表生成单元14,用于生成原生XHR对应的装置列表、属性列表和事件列表。
具体实现中,所述列表生成单元14生成原生XHR对应的方法列表、属性列表和事件列表。其中,XHR表示XMLHttpRequest,XML可作为AJAX交互数据的数据类型,当然也不仅局限于xml,像json、html、text等都可以作为数据类型;HTTP表示AJAX技术通过发送HTTP请求和接收响应的来通信;Request表示请求(例如,get方式的请求或post方式的请求)和响应。所述原生XHR为预先写入的初始对象实例数据,所述原生XHR包括请求和响应过程中的多个方法、多个属性、多个事件等数据,举例来说,原生XHR的属性有readyState、status、responseText、responseXML等;原生XHR的事件有onreadystatechange事件等;原生XHR的方法有abort、open、send等。并且原生XHR中的方法列表、属性列表和事件列表与现有的XHR是相同的,具体可通过参考现有技术中XHR的方法、属性、事件的详细描述,在此不再叙述。
数据写入单元15,用于基于所述装置列表、属性列表和事件列表将所述原生XHR中的代码数据写入代理XHR中。
具体实现中,所述数据写入单元15基于所述方法列表、属性列表和事件列表将所述原生XHR中的代码数据写入代理XHR中,这样使得代理XHR也可以包括原生XHR中的多个方法、多个属性和多个事件,进而能够通过原生XHR实现与应用服务器之间的通信。
进一步,由于所述原生XHR为预先写入的初始对象实例数据,即在现有技术中,所述数据处理装置可以通过原生XHR与应用服务器进行数据传输;而所述代理XHR为继承所述原生XHR的代理对象实例数据,由于代理XHR是继承原生XHR所生成的,因此在代理XHR与应用服务器进行数据传输的过程中,其本质是通过原生XHR完整数据传输的,在本发明实施例中,所述数据处理装置触发代理XHR通过对应的原生XHR发送应用数据获取请求,所述数据处理装置还可以基于原生XHR获取应用服务器响应代理XHR所触发的应用数据获取请求所发送的业务反馈数据包。
地址配置单元16,用于配置与代理XHR的传输状态对应的回调函数地址。其中,所述回调函数地址用于指示当所述代理XHR处于所述传输状态时所调用的回调函数的存放位置,所述传输状态包括数据接收状态和请求发送状态。
具体实现中,所述地址配置单元16配置与代理XHR的传输状态对应的回调函数地址。其中,所述回调函数地址用于指示当所述代理XHR处于所述传输状态时所调用的回调函数的存放位置,举例来说,所述回调函数地址可以是包括回调函数的脚本文件的存放位置。可以理解的是,所述回调函数是由所述数据处理装置自定义配置的,与所述请求发送状态对应的回调函数地址也是由所述数据处理装置自定义配置的。可行的方案中,所述数据处理装置可以根据业务需要通过配置回调函数实现插件功能。
可行的方案中,所述回调函数可以是用于处理应用服务器发送的业务反馈数据的函数,可行的方案中,所述回调函数的执行也可以不依赖于所述应用服务器所发送的业务反馈数据,即所述回调函数中不包括所述业务反馈数据的参数。
可行的方案中,所述传输状态包括数据接收状态和请求发送状态。可行的方案中,所述数据接收状态可以为正在接收响应数据的状态,即表示接收到应用服务器反馈的收到应用数据获取请求的消息但未接收到应用服务器反馈的响应数据的情况,例如,数据处理装置接收到应用服务器反馈的业务反馈数据包中的status为202的情况;或者,所述数据接收状态可以为无法发送响应数据的状态,即表示接收到表示请求错误的消息的情况,例如,数据处理装置接收到应用服务器反馈的业务反馈数据包中的status为404的情况;或者,所述数据接收状态可以为接收响应数据的状态,即表示接收到完整的响应数据的情况,例如,数据处理装置接收到应用服务器反馈的业务反馈数据包中的status为200的情况;而所述请求发送状态可以为创建代理XHR但未配置应用数据获取请求的请求参数的状态,例如,触发代理XHR通过原生XHR执行open方法之前;或者所述请求发送状态可以为已配置应用数据获取请求的请求参数的状态,例如,触发代理XHR通过原生XHR执行open方法之后;或者所述请求发送状态为已成功发送应用数据获取请求但未收到响应数据的状态,例如,触发代理XHR通过原生XHR执行send方法之前,本发明实施例对请求发送和数据接收过程中所存在的各种状态不做限定。
进一步,地址配置单元16可以根据业务需要,对请求发送和数据接收过程中所存在的各种状态,分配配置响应的回调函数地址。可以理解的是,若其中某一个状态未配置回调函数地址,表示在该状态下不需要调用回调函数。
所述请求触发单元17,用于当检测到应用数据获取指示时,触发代理XHR对应的原生XHR向应用服务器发送应用数据获取请求,所述应用数据获取请求携带所述代理XHR的对象标识。
具体实现中,当检测到应用数据获取指示时,所述请求触发单元17触发代理XHR对应的原生XHR向应用服务器发送应用数据获取请求,并确定所述代理XHR的请求发送状态。而在本发明实施例中,所述应用数据获取请求携带所述代理XHR的对象标识,所述对象标识用于唯一识别所述代理XHR,这样对于将多个应用数据获取请求进行合并发送的场景,可通过对象标识区分各个应用数据获取请求,还可以通过对象标识进一步区分应用服务器针对合并发送的多个应用数据获取请求所发送的业务反馈数据包。
所述状态确定单元12,用于确定所述代理XHR的请求发送状态。
具体实现中,所述状态确定单元12用于确定所述代理XHR的请求发送状态,其中,所述请求发送状态可以参考地址配置单元16中的详细描述,在此不再赘述。
在一个可能的实施例中,所述数据处理装置1还包括第二地址获取单元和第二函数加载单元,所述第二地址获取单元,用于获取与所述请求发送状态对应的回调函数地址;所述第二函数加载单元,用于根据所述请求发送状态对应的回调函数地址,加载与所述请求发送状态对应的回调函数。
数据获取单元11,用于基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据。
具体实现中,所述数据获取单元11基于原生XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包。其中,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;通过携带对象标识可以从多个业务数据包中获取所述对象标识的代理XHR的业务反馈数据包,例如,若所述数据处理装置接收到服务器响应由多个代理XHR触发的多个应用数据获取请求生成的合并请求所发送的合并反馈数据包时,所述数据处理装置可根据合并反馈数据包中携带的对象标识,从合并反馈数据包中获取到每个代理XHR的对象标识对应的业务反馈数据包。
状态确定单元12,用于将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态。
具体实现中,所述状态确定单元12将获取的所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态。其中,所述数据接收状态可以通过接收到的业务响应数据包而确定。可行的方案中,所述数据接收状态可以为步骤S203中描述的正在接收响应数据的状态、无法发送响应数据的状态以及完成接收响应数据的状态等等,本发明实施例对此不做限定。
函数调用单元13,用于根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。
具体实现中,所述函数调用单元13根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。其中,所述回调函数是由所述数据处理装置配置的,所述数据处理装置可通过获取与所述数据接收状态对应的回调函数地址,并根据所述数据接收状态对应的回调函数地址,加载与所述数据接收状态对应的回调函数。
在一个可能的实施例中,所述函数调用单元13包括第一地址获取单元和第一函数加载单元。所述第一地址获取单元,用于获取与所述数据接收状态对应的回调函数地址。所述第一函数加载单元,用于根据所述数据接收状态对应的回调函数地址,加载与所述数据接收状态对应的回调函数。
所述数据处理单元18,用于通过所述数据接收状态对应的所述回调函数对写入所述代理XHR中的业务反馈数据进行数据处理,并输出数据处理后的回调结果。
具体实现中,所述数据处理单元18通过所述数据接收状态对应的所述回调函数对写入所述代理XHR中的业务反馈数据进行数据处理,并输出数据处理后的回调结果。可行的方案中,所述数据处理装置将所述业务反馈数据包以参数形式传入所述回调函数中,即可实现通过回调函数对所述业务反馈数据包进行处理。举例来说,如果所述数据处理装置触发代理XHR发送验证码获取请求,在获取到的业务反馈数据包为验证码时,可通过调用回调函数实现验证码以旋转形式进入显示页面并显示的功能。
需要说明的是,在AJAX方法中定义了多个事件,例如,ajaxStart用于表示开始新的应用数据获取请求之前触发的事件,并且此时没有其他应用数据获取请求正在进行;ajaxSend用于表示应用数据获取请求开始前触发的事件,success用于表示获取到响应应用数据获取请求所发送的业务反馈数据包时触发的事件,表示应用服务器没有返回错误且返回的数据也没有错误;等等事件。可以看出,AJAX方法中所包含的事件是针对触发XHR发送应用数据请求到接收到业务反馈数据包过程中所定义的事件,而在本发明实施例中,触发XHR发送应用数据请求到接收到业务反馈数据包的过程可以对应于包括数据接收状态在内的传输状态。因此,在具体实现过程中,所述数据处理装置可以针对这些事件配置相应的回调函数,这样所述数据处理装置能够在确定所述代理XHR的数据接收状态之后,根据所述数据接收状态触发调用所述数据接收状态对应的回调函数。
在本发明实施例中,通过基于原生XHR获取应用服务器发送的代理XHR的对象标识对应的业务反馈数据,将获取的业务反馈数据写入到代理XHR中,并在写入后确定所述代理XHR的数据接收状态,进而调用所述数据接收状态对应的回调函数。这样通过代理XHR能够实现对业务反馈数据可写的功能,在存在多个应用数据获取请求时,能够将多个应用数据获取请求合并发送,相应地接收针对多个应用数据获取请求的业务反馈数据包,并通过对象标识将业务反馈数据加以区分而实现写入对应的代理XHR中,进而实现对业务反馈数据的批量处理,提高了对应用数据获取请求的处理效率。
请参见图5,为本发明实施例提供了一种数据处理装置的结构示意图。如图5所示,所述数据处理装置1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理应用程序。
在图5所示的数据处理装置1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据或用户执行的业务操作;而处理器1001可以用于调用存储器1005中存储的数据匹配应用程序,并具体执行以下操作:
基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;
将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态;
根据所述数据接收状态触发调用所述数据接收状态对应的回调函数;
其中,所述原生XHR为预先写入的初始对象实例数据,所述代理XHR为继承所述原生XHR的代理对象实例数据。
在一个可能的实施例中,所述处理器1001执行基于原生XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包之前,还用于执行如下操作步骤:
生成原生XHR对应的方法列表、属性列表和事件列表;
基于所述方法列表、属性列表和事件列表将所述原生XHR中的代码数据写入代理XHR中。
在一个可能的实施例中,所述处理器1001执行基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包之前,还用于执行如下操作步骤:
配置与代理XHR的传输状态对应的回调函数地址;
其中,所述回调函数地址用于指示当所述代理XHR处于所述传输状态时所调用的回调函数的存放位置,所述传输状态包括数据接收状态和请求发送状态。
在一个可能的实施例中,所述处理器1001用于执行根据所述数据接收状态触发调用所述数据接收状态对应的回调函数,具体执行如下步骤:
获取与所述数据接收状态对应的回调函数地址;
根据所述数据接收状态对应的回调函数地址,加载与所述数据接收状态对应的回调函数。
在一个可能的实施例中,所述处理器1001执行基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包之前,还用于执行如下操作步骤:
当检测到应用数据获取指示时,触发代理XHR对应的原生XHR向应用服务器发送应用数据获取请求,并确定所述代理XHR的请求发送状态,所述应用数据获取请求携带所述代理XHR的对象标识。
在一个可能的实施例中,处理器1001还用于执行以下步骤:
获取与所述请求发送状态对应的回调函数地址;
根据所述请求发送状态对应的回调函数地址,加载与所述请求发送状态对应的回调函数。
在一个可能的实施例中,所述处理器1001执行根据所述数据接收状态触发调用所述数据接收状态对应的回调函数之后,还用于执行如下操作步骤:
通过所述数据接收状态对应的所述回调函数对写入所述代理XHR中的业务反馈数据进行数据处理,并输出数据处理后的回调结果。
在本发明实施例中,通过基于原生XHR获取应用服务器发送的代理XHR的对象标识对应的业务反馈数据,将获取的业务反馈数据写入到代理XHR中,并在写入后确定所述代理XHR的数据接收状态,进而调用所述数据接收状态对应的回调函数。这样通过代理XHR能够实现对业务反馈数据可写的功能,若采用多个应用数据获取请求合并发送以及业务反馈数据合并接收的方式,通过对象标识将业务反馈数据加以区分而实现写入对应的代理XHR中,能够减少请求和响应的传输次数,进而提高了发送请求和接收响应的效率。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (16)
1.一种数据处理方法,其特征在于,包括:
基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;
将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态;
根据所述数据接收状态触发调用所述数据接收状态对应的回调函数;
其中,所述原生XHR为预先写入的初始对象实例数据,所述代理XHR为继承所述原生XHR的代理对象实例数据。
2.根据权利要求1所述的方法,其特征在于,所述基于原生XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包之前,还包括:
生成原生XHR对应的方法列表、属性列表和事件列表;
基于所述方法列表、属性列表和事件列表将所述原生XHR中的代码数据写入代理XHR中。
3.根据权利要求1所述的方法,其特征在于,所述基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包之前,还包括:
配置与代理XHR的传输状态对应的回调函数地址;
其中,所述回调函数地址用于指示当所述代理XHR处于所述传输状态时所调用的回调函数的存放位置,所述传输状态包括数据接收状态和请求发送状态。
4.根据权利要求3所述的方法,其特征在于,所述根据所述数据接收状态触发调用所述数据接收状态对应的回调函数,包括:
获取与所述数据接收状态对应的回调函数地址;
根据所述数据接收状态对应的回调函数地址,加载与所述数据接收状态对应的回调函数。
5.根据权利要求3所述的方法,其特征在于,所述基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包之前,还包括:
当检测到应用数据获取指示时,触发代理XHR对应的原生XHR向应用服务器发送应用数据获取请求,并确定所述代理XHR的请求发送状态,所述应用数据获取请求携带所述代理XHR的对象标识。
6.根据权利要求5所述的方法,其特征在于,还包括:
获取与所述请求发送状态对应的回调函数地址;
根据所述请求发送状态对应的回调函数地址,加载与所述请求发送状态对应的回调函数。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述数据接收状态触发调用所述数据接收状态对应的回调函数之后,还包括:
通过所述数据接收状态对应的所述回调函数对写入所述代理XHR中的业务反馈数据进行数据处理,并输出数据处理后的回调结果。
8.一种数据处理装置,其特征在于,包括:
数据获取单元,用于基于原生可扩展超文本传输请求XHR获取应用服务器响应所述原生XHR对应的代理XHR触发的应用数据获取请求所发送的业务反馈数据包,所述业务反馈数据包包括所述代理XHR的对象标识以及所述代理XHR的对象标识对应的业务反馈数据;
状态确定单元,用于将所述代理XHR的对象标识对应的业务反馈数据写入到所述对象标识对应的所述代理XHR中,并在写入后确定所述代理XHR的数据接收状态;
函数调用单元,用于根据所述数据接收状态触发调用所述数据接收状态对应的回调函数;
其中,所述原生XHR为预先写入的初始对象实例数据,所述代理XHR为继承所述原生XHR的代理对象实例数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
列表生成单元,用于生成原生XHR对应的装置列表、属性列表和事件列表;
数据写入单元,用于基于所述装置列表、属性列表和事件列表将所述原生XHR中的代码数据写入代理XHR中。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
地址配置单元,用于配置与代理XHR的传输状态对应的回调函数地址;
其中,所述回调函数地址用于指示当所述代理XHR处于所述传输状态时所调用的回调函数的存放位置,所述传输状态包括数据接收状态和请求发送状态。
11.根据权利要求10所述的装置,其特征在于,所述函数调用单元包括:
第一地址获取单元,还用于获取与所述数据接收状态对应的回调函数地址;
第一函数加载单元,用于根据所述数据接收状态对应的回调函数地址,加载与所述数据接收状态对应的回调函数。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
请求触发单元,用于当检测到应用数据获取指示时,触发代理XHR对应的原生XHR向应用服务器发送应用数据获取请求,所述应用数据获取请求携带所述代理XHR的对象标识;
所述状态确定单元,还用于确定所述代理XHR的请求发送状态。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二地址获取单元,还用于获取与所述请求发送状态对应的回调函数地址;
第二函数加载单元,用于根据所述请求发送状态对应的回调函数地址,加载与所述请求发送状态对应的回调函数。
14.根据权利要求8-13任一项所述的装置,其特征在于,所述装置还包括:
数据处理单元,用于通过所述数据接收状态对应的所述回调函数对写入所述代理XHR中的业务反馈数据进行数据处理,并输出数据处理后的回调结果。
15.一种数据处理设备,其特征在于,所述数据处理设备包括处理器和存储器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行如权利要求1-7任一项所述的数据处理方法。
16.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质存储有计算机程序,所述计算机程序包括程序指令;所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610396793.2A CN106095886B (zh) | 2016-06-03 | 2016-06-03 | 一种数据处理方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610396793.2A CN106095886B (zh) | 2016-06-03 | 2016-06-03 | 一种数据处理方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095886A CN106095886A (zh) | 2016-11-09 |
CN106095886B true CN106095886B (zh) | 2020-10-09 |
Family
ID=57448551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610396793.2A Active CN106095886B (zh) | 2016-06-03 | 2016-06-03 | 一种数据处理方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095886B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970820B (zh) * | 2017-04-26 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 代码存储方法及代码存储装置 |
CN108965365B (zh) * | 2017-05-27 | 2022-07-29 | 腾讯科技(北京)有限公司 | 一种数据处理方法及终端、计算机存储介质 |
CN112839100B (zh) * | 2021-01-30 | 2023-04-25 | 上海爱数信息技术股份有限公司 | 一种批量中止http请求的方法、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967485A (zh) * | 2006-06-20 | 2007-05-23 | 华为技术有限公司 | 一种实现j2ee应用的方法及系统 |
CN101179518A (zh) * | 2006-12-19 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种利用浏览器实现即时通信的方法及系统 |
WO2008112103A1 (en) * | 2007-03-07 | 2008-09-18 | Ianywhere Solutions, Inc. | Selectively updating web pages on a mobile client |
CN103164506A (zh) * | 2011-10-27 | 2013-06-19 | 国际商业机器公司 | 用于使用推送通知以减少打开的浏览器连接的方法和系统 |
CN103543991A (zh) * | 2012-07-09 | 2014-01-29 | 百度在线网络技术(北京)有限公司 | 一种扩展浏览器功能的方法及浏览器系统 |
CN104376056A (zh) * | 2014-11-04 | 2015-02-25 | 广州华多网络科技有限公司 | 一种数据处理的方法和装置 |
CN104461575A (zh) * | 2014-12-26 | 2015-03-25 | 北京华电万通科技有限公司 | 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法 |
CN104714948A (zh) * | 2013-12-11 | 2015-06-17 | 部落邦(北京)科技有限责任公司 | 一种回放用户网页操作行为的方法、系统及热图展现装置 |
CN105468779A (zh) * | 2015-12-16 | 2016-04-06 | 中国科学院软件研究所 | 一种面向浏览器兼容性检测的客户端Web应用捕获与重放系统及方法 |
CN105635051A (zh) * | 2014-10-29 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 数据交互方法及装置、系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9524157B2 (en) * | 2013-08-06 | 2016-12-20 | Salesforce.Com, Inc. | Providing an improved web user interface framework for building web applications |
-
2016
- 2016-06-03 CN CN201610396793.2A patent/CN106095886B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1967485A (zh) * | 2006-06-20 | 2007-05-23 | 华为技术有限公司 | 一种实现j2ee应用的方法及系统 |
CN101179518A (zh) * | 2006-12-19 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 一种利用浏览器实现即时通信的方法及系统 |
WO2008112103A1 (en) * | 2007-03-07 | 2008-09-18 | Ianywhere Solutions, Inc. | Selectively updating web pages on a mobile client |
CN103164506A (zh) * | 2011-10-27 | 2013-06-19 | 国际商业机器公司 | 用于使用推送通知以减少打开的浏览器连接的方法和系统 |
CN103543991A (zh) * | 2012-07-09 | 2014-01-29 | 百度在线网络技术(北京)有限公司 | 一种扩展浏览器功能的方法及浏览器系统 |
CN104714948A (zh) * | 2013-12-11 | 2015-06-17 | 部落邦(北京)科技有限责任公司 | 一种回放用户网页操作行为的方法、系统及热图展现装置 |
CN105635051A (zh) * | 2014-10-29 | 2016-06-01 | 腾讯科技(深圳)有限公司 | 数据交互方法及装置、系统 |
CN104376056A (zh) * | 2014-11-04 | 2015-02-25 | 广州华多网络科技有限公司 | 一种数据处理的方法和装置 |
CN104461575A (zh) * | 2014-12-26 | 2015-03-25 | 北京华电万通科技有限公司 | 一种网页脚本语言跨移动操作系统平台原生接口调用的装置及方法 |
CN105468779A (zh) * | 2015-12-16 | 2016-04-06 | 中国科学院软件研究所 | 一种面向浏览器兼容性检测的客户端Web应用捕获与重放系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106095886A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8819698B2 (en) | Cross-platform web-based native device feature access | |
CN106874174B (zh) | 接口测试及功能测试的实现方法和装置 | |
CN108574604B (zh) | 测试方法和装置 | |
US20210337015A1 (en) | Method and system of application development for multiple device client platforms | |
CN105718313A (zh) | 应用操作方法和装置 | |
CN109145238B (zh) | 一种卡片显示方法、装置及移动设备 | |
CN107807841B (zh) | 服务器模拟方法、装置、设备及可读存储介质 | |
CN110007936B (zh) | 数据处理方法和装置 | |
US10148790B2 (en) | Deployment of integrative HTML-based engine from an edge server | |
CN109582317B (zh) | 用于调试寄宿应用的方法和装置 | |
CN106095886B (zh) | 一种数据处理方法及其装置 | |
CN108900627B (zh) | 一种网络请求方法、终端装置及存储介质 | |
US10541854B2 (en) | Component loading based on user interactions | |
US20140245124A1 (en) | System and method thereof for browser agnostic extension models | |
CN110618768B (zh) | 信息呈现方法和装置 | |
JP2018500670A (ja) | 非構造化メッセージの処理 | |
CN111079048A (zh) | 一种页面加载方法及装置 | |
CN115309470B (zh) | 微件的加载方法、装置、设备以及存储介质 | |
CN112764746A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116301866A (zh) | 基于自定义软件的云渲染方法、装置、设备及存储介质 | |
CN116112457A (zh) | 消息通知的方法、装置、计算机设备及存储介质 | |
CN113141530B (zh) | 基于遥控交互方法、装置、电子设备和存储介质 | |
CN115237481A (zh) | 驱动外接设备的方法、装置、设备及存储介质 | |
CN114968015A (zh) | 一种信息交互、控制网络通信模块的方法、装置及介质 | |
CN112732547B (zh) | 业务测试方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |