一种数据处理方法及其终端设备与流程

文档序号:13519569阅读:163来源:国知局

本申请涉及通信领域,尤其涉及一种数据处理方法及其终端设备。



背景技术:

大家熟知的软件系统体系结构客户机/服务器(c/s,client/server)结构,将任务合理分配到client端和server端来实现,在特定的应用中无论是client端还是server端都还需要特定的软件支持,c/s结构的软件需要针对不同的操作系统系统开发不同版本的软件,造成更新维护复杂。

相对于c/s架构,在浏览器和服务器(b/s,browser/server)结构,用户界面完全通过www浏览器实现,在基于bs架构的系统中,为了满足用户需求多样性,常常需要浏览器处理不能处理的任务,如图1所示,例如在浏览器中启动客户端应用,目前一般通过activex、浏览器辅助对象(browserhelperobject,bho)、自定义浏览器协议或微软clickonce框架等来实现与客户端应用程序的交互。

当浏览器通过调用不同的组件来处理不能完成的任务时,由于不同浏览器对于运行环境的设置、组件的配置等都不同,导致不同浏览器之间兼容性差。



技术实现要素:

本申请实施例公开了一种数据处理方法及其终端设备,用于浏览器通过ajax的jsonp跨域方式向本地客户端发起跨域请求并通过本地客户端来处理超出浏览器处理能力的目标任务。

本申请实施例第一方面提供了一种数据处理方法,该方法应用于基于浏览器和服务器架构下的本地客户端,该本地客户端提供的服务基于http协议,其特征在于,该方法包括:

该本地客户端接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,该跨域请求由该浏览器准备处理目标任务时发起,该目标任务为超出该浏览器处理能力的任务;

该本地客户端根据该跨域请求获取目标数据,该目标数据为超出该浏览器处理能力的数据,该目标数据与该目标任务相对应;

该本地客户端根据该目标数据确定目标指令;

该本地客户端根据该目标指令生成第一数据;

该本地客户端发送该第一数据至目标设备。

基于第一方面,在本申请实施例第一方面的第一种实施方式中,该本地客户端根据该跨域请求获取目标数据包括:

该本地客户端根据该跨域请求通过ajax技术调用该浏览器发送的该目标数据;

或,

该本地客户端根据该跨域请求通过web服务调用方式调用该浏览器对应的服务器发送的该目标数据。

基于第一方面的第一种实施方式,在本申请实施例第一方面的第二种实施方式中,该本地客户端根据该跨域请求通过web服务调用方式调用该浏览器对应的服务器发送的该目标数据包括:

该本地客户端根据该跨域请求接收该浏览器发送的该目标数据对应的编号;

该本地客户端根据该编号通过web服务调用方式调用该浏览器对应的服务器发送的该目标数据。

基于第一方面、第一方面的第一种实施方式、第一方面的第二种实施方式中的任一种实施方式,在本申请实施例第一方面的第三种实施方式中,该本地客户端根据该目标数据确定目标指令包括:

该本地客户端识别该目标数据;

该本地客户端根据识别结果确定该目标指令。

基于第一方面、第一方面的第一种实施方式、第一方面的第二种实施方式中的任一种实施方式,在本申请实施例第一方面的第四种实施方式中,该目标指令包括:

交互性指令和/或非交互性指令。

基于第一方面的第四种实施方式,在本申请实施例第一方面的第五种实施方式中,该本地客户端根据该目标指令生成第一数据包括:

该本地客户端发送该交互性指令至目标进程,以使得该目标进程执行该交互性指令并确定该交互性指令的返回值;

该本地客户端获取该返回值;

该本地客户端确定该返回值为该第一数据;

和/或,

该本地客户端执行该非交互性指令;

该本地客户端确定该非交互性指令的返回值;

该本地客户端确定该返回值为该第一数据。

基于第一方面、第一方面的第一种实施方式、第一方面的第二种实施方式中的任一种实施方式,在本申请实施例第一方面的第六种实施方式中,该目标设备包括:

该浏览器和/或该浏览器对应的服务器。

本申请实施例第二方面提供了一种数据处理方法,该方法应用于基于浏览器和服务器架构下的本地客户端,该本地客户端提供的服务基于http协议,其特征在于,该方法包括:

当浏览器准备处理目标任务时,该浏览器通过ajax的jsonp跨域方式向本地客户端发起的跨域请求,以使得该本地客户端可以根据该跨域请求获取目标数据,该本地客户端根据该目标数据确定目标指令,该本地客户端根据该目标指令生成第一数据,该本地客户端发送该第一数据至目标设备,该目标任务为超出该浏览器处理能力的任务,该目标数据为超出该浏览器处理能力的数据,该目标数据与该目标任务相对应。

本申请第三方面提供了一种终端设备,该终端设备包括本地客户端,该本地客户端应用于浏览器和服务器架构,该本地客户端提供的服务基于http协议,其特征在于,该终端设备包括:

接收单元,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,该跨域请求由该浏览器准备处理目标任务时发起,该目标任务为超出该浏览器处理能力的任务;

获取单元,用于根据该跨域请求获取目标数据,该目标数据为超出该浏览器处理能力的数据,该目标数据与该目标任务相对应;

确定单元,用于根据该目标数据确定目标指令;

生成单元,用于根据该目标指令生成第一数据;

发送单元,用于发送该第一数据至目标设备。

基于第三方面,在本申请实施例第三方面的第一种实施方式中,该获取单元包括:

第一调用模块,用于根据该跨域请求通过ajax技术调用该浏览器发送的该目标数据;

或,

第二调用模块,用于根据该跨域请求通过web服务调用方式调用该浏览器对应的服务器发送的该目标数据。

基于第三方面的第一种实施方式,在本申请实施例第三方面的第二种实施方式中,该第二调用模块包括:

接收子模块,用于根据该跨域请求接收该浏览器发送的该目标数据对应的编号;

调用子模块,用于根据该编号通过web服务调用方式调用该浏览器对应的服务器发送的该目标数据。

基于第三方面、第三方面的第一种实施方式、第三方面的第二种实施方式中的任一种实施方式,在本申请实施例第三方面的第三种实施方式中,该确定单元包括:

识别模块,用于识别该目标数据;

第一确定模块,用于根据识别结果确定该目标指令。

基于第三方面、第三方面的第一种实施方式、第三方面的第二种实施方式中的任一种实施方式,在本申请实施例第三方面的第四种实施方式中,该生成单元包括:

发送模块,用于发送交互性指令至目标进程,以使得该目标进程执行该交互性指令并确定该交互性指令的返回值;

获取模块,用于获取该返回值;

第二确定模块,用于确定该返回值为该第一数据;

和/或,

执行模块,用于执行非交互性指令;

第三确定模块,用于确定该非交互性指令的返回值;

第四确定模块,用于确定该返回值为该第一数据。

本申请第四方面提供了一种终端设备,该终端设备包括浏览器,本地客户端应用于浏览器和服务器架构,本地客户端提供的服务基于http协议,其特征在于,该终端设备包括:

跨域单元,用于准备处理目标任务时,通过ajax的jsonp跨域方式向本地客户端发起的跨域请求,以使得该本地客户端可以根据该跨域请求获取目标数据,该本地客户端根据该目标数据确定目标指令,该本地客户端根据该目标指令生成第一数据,该本地客户端发送该第一数据至目标设备,该目标任务为超出该浏览器处理能力的任务,该目标数据为超出该浏览器处理能力的数据,该目标数据与该目标任务相对应。

本申请第五方面提供了一种终端设备,包括:存储器、收发器、处理器以及总线系统;

其中,该存储器用于存储程序和指令;

该收发器用于在该处理器的控制下接收或发送信息;

该处理器用于执行该存储器中的程序;

该总线系统用于连接该存储器、该收发器以及该处理器,以使该存储器、该收发器以及该处理器进行通信;

其中,该处理器用于调用该存储器中的程序指令,执行如第一方面及其第一方面的第一种至第六种实现方式中任一项实现方式该的方法。

本申请第六方面提供一种终端设备,包括:存储器、收发器、处理器以及总线系统;

其中,该存储器用于存储程序和指令;

该收发器用于在该处理器的控制下接收或发送信息;

该处理器用于执行该存储器中的程序;

该总线系统用于连接该存储器、该收发器以及该处理器,以使该存储器、该收发器以及该处理器进行通信;

其中,该处理器用于调用该存储器中的程序指令,执行如第二方面该的方法。

本申请实施例七方面提供了一种计算机可读存储介质,包括指令,当指令在计算机上运行时,使得计算机执行如第一方面以及第一方面的第一种至第六种实现方式、第二方面、第三方面以及第三方面的第一种至第四种实现方式、第四方面的实现方式中的任一种实现方式的方法。

本申请实施例八方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面以及第一方面的第一种至第六种实现方式、第二方面、第三方面以及第三方面的第一种至第四种实现方式、第四方面的实现方式中的任一种实现方式的方法。

从以上技术方案可以看出,本申请实施例具有以下优点:当浏览器处理超出浏览器处理能力的目标任务时,通过在浏览器和服务器架构下的建立本地客户端,该本地客户端的提供的服务基于http协议,可以直接对目标数据进行调用,随后浏览器通过jsonp跨域方式与该本地客户端进行目标数据的传输,该目标数据为目标任务对应的数据,从而使本地客户端获取并处理目标数据,以完成浏览器不能处理的任务。在本实施例中,使用调用目标数据的方式,在本地客户端处理目标数据,而不是浏览器上处理,避免的各个类型的浏览器不兼容的问题。

附图说明

图1为浏览器通过调用组件处理不能处理的任务的一个实施例示意图;

图2为本申请数据处理方法的一个实施例示意图;

图3为本申请数据处理方法的另一个实施例示意图;

图4为本申请数据处理方法的另一个实施例示意图;

图5为本申请数据处理方法的另一个实施例示意图;

图6为本申请数据处理方法的另一个实施例示意图;

图7为本申请数据处理方法的另一个实施例示意图;

图8为本申请数据处理方法的另一个实施例示意图;

图9为本申请数据处理方法的另一个实施例示意图;

图10为本申请终端设备的一个实施例示意图;

图11为本申请终端设备的另一个实施例示意图;

图12为本申请终端设备的另一个实施例示意图;

图13为本申请终端设备的另一个实施例示意图;

图14为本申请终端设备的另一个实施例示意图;

图15为本申请终端设备的另一个实施例示意图;

图16为本申请终端设备的另一个实施例示意图;

图17为本申请终端设备的另一个实施例示意图。

具体实施方式

在本实施例中,当浏览器处理超出浏览器处理能力的任务时就会发起跨域请求,例如,当用户需要在浏览器上启动某一个应用程序,打开某一个文档或表格或访问浏览器以外的资源时,现有技术通过调用不同的组件来实现这些工作,但由于不同的浏览器对组件的要求不同,导致不同浏览器见兼容性很差,其次当组件都已浏览器为宿主运行时,也会造成浏览器运行缓慢,容易奔溃,浏览器访问也受限于客户运行环境的设置,用户需要设置较高的浏览器权限。本申请采用建立本地客户端的方式,浏览器通过jsonp方式发起跨域请求,浏览器不能处理的数据被本地客户端调用处理,处理完成后将返回值发送给浏览器,浏览器就可以执行后续步骤。

本申请实施例公开了一种数据处理方法及其终端设备,用于浏览器通过ajax的jsonp跨域方式向本地客户端发起跨域请求并通过本地客户端来处理超出浏览器处理能力的目标任务。

jsonp是一种利用在页面中创建<script>节点的方法向不同域提交http请求的方法,而script标签的src属性是没有跨域的限制的,这项技术可以解决跨域提交ajax请求的问题。

需要说明的是,js一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为javascript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在html(标准通用标记语言下的一个应用)网页上使用,用来给html网页增加动态功能。

jsonp(jsonwithpadding)是json的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。

在ajax跨域访问中用户访问a网站时所产生的对b网站的跨域访问请求均提交到a网站的指定页面。

在本申请实施例中,本地客户端可以是位于计算机本地磁盘的一个应用程序,还可以为本地计算机通过虚拟技术虚化得到的虚拟机,或者是与本地计算机连接的硬件设备,具体此处不作限定。

在本实施例中,该本地客户端应用于浏览器和服务器架构,该本地客户端提供的服务基于http协议,如图2所示,本申请实施例中数据处理方法的一个实施例包括:

201、本地客户端接收浏览器通过ajax的jsonp跨域方式发起的跨域请求;

在本实施例中,在浏览器处理任务的过程中,遇到超出浏览器处理能力的目标任务时,浏览器就会接受一个跨域指令,随后浏览器根据该指令向本地客户端发起跨域请求,跨域的方式采用ajax技术的jsonp跨域方式。

在本实施例中,该跨域请求可以为一个get请求。

在本实施例中,发起跨域请求的方式可以采用前端的js代码对本地客户端发起跨域请求,也可以采用其他方式,具体此处不作限定。

在本实施例中,浏览器向本地客户端发送跨域请求后,本地客户端识别该请求,返回一段js代码,该代码可以自动执行,用来调用浏览器不能处理的目标数据。

在本实施例中,浏览器向本地客户端发送跨域请求之前,首先要在本地客户端注册一个callback,然后把callback的名字传给服务器。服务器得到callback的数值后,把将要输出的json内容包含在callback的数值中,以便于服务器生成的json数据能被本地客户端正确接收。

202、本地客户端根据跨域请求获取目标数据;

本地客户端接收跨域请求后,可以通过ajax技术调用目标数据,也可以通过其他技术调用目标数据,具体此处不作限定。

该目标数据为超出浏览器处理能力的数据,该目标数据与目标任务相对应。

在本实施例中,目标数据可以为一段采用js语法的文档。

在本实施例中,目标数据与目标任务相对应表示浏览器处理的目标任务即为:浏览器处理超出其处理能力的该目标数据。

203、本地客户端根据目标数据确定目标指令;

本地客户端,解析script标签,并执行目标数据。

在本实施例中,本地客户端获取目标数据后,可以先识别目标数据,再根据识别结果确定目标指令,本地客户端根据目标数据确定目标指令的方式也可以为其他方式,具体此处不作限定。

在本实施例中,本地客户端识别目标数据的方式可以是,由于本地客户端中设置有目标指令的程序代码,本地客户端获取目标数据后可以运行该目标数据,得到执行结果,本地客户端根据该执行结果确定目标指令的类型,在本实施例中,本地客户端识别目标数据的方式也可以为其他方式,具体此处不作限定。

在本实施例中,目标指令若为交互性指令,例如在浏览器中打开一个文档,本地客户端会发送指令给浏览器,浏览器根据该指令弹出一个打开文档窗口,用户确认后,浏览器发送确认指令至本地客户端,随后本地客户端执行打开文档这一交互性指令。

在本实施例中,目标指令可以为交互性指令,也可以为非交互性指令,或者为既有交互性指令又有非交互性指令的混合指令,具体此处不作限定。

在本实施例中,交互性指令还可以为在浏览器中打开某一应用程序,也可以为调用浏览器资源外的某一函数,具体此处不作限定。

204、本地客户端根据目标指令生成第一数据;

本地客户端执行完目标指令后会产生一个指令的返回值,本地客户端确定该返回值为第一数据。

205、本地客户端发送第一数据至目标设备。

在本实施例中,目标设备可以为浏览器,也可以为浏览器对应的服务器,具体此处不作限定。

在本实施例中,目标设备若为浏览器,浏览器获取该第一数据后,根据该第一数据执行后续的业务,例如解析浏览器上打开的文档中的数据,此时浏览器需要把该第一数据发送给对应的服务器,服务器识别该第一数据并执行该后续的任务,后续的任务也可以为其他任务,具体此处不作限定。

在本实施例中,目标设备也可以为浏览器对应的服务器,若把第一数据发送至浏览器对应的服务器,则可以完成一个完成的业务功能。

在本实施例中,当浏览器处理超出浏览器处理能力的目标任务时,通过在浏览器和服务器架构下的建立本地客户端,该本地客户端的提供的服务基于http协议,可以直接对目标数据进行调用,随后浏览器通过jsonp跨域方式与本地客户端进行目标数据的传输,该目标数据为目标任务对应的数据,从而使本地客户端获取并处理目标数据,以完成浏览器不能处理的任务。本实施例对浏览器没有影响,基于单纯的ajax调用,兼容各类浏览器,可以实现浏览器。客户端,服务器三者业务的融合。由于客户端代理程序是http协议的服务,所以可以直接通过js脚本访问,方便控制或编写混合的业务程序。

在本实施例中,获取目标数据的方式有多种,可以从浏览器中获取,也可以从浏览器对应的服务器中获取,生成第一数据后可以发送至浏览器,也可以发送至浏览器对应的服务器以完成一个完整的业务功能。

下面分别进行说明。

一、从浏览器中获取目标数据,生成第一数据发送至浏览器

请参照图3,下面将进行说明。

需要说明的是,在本实施例中,目标设备为浏览器。

301、本地客户端接收浏览器通过ajax的jsonp跨域方式发起的跨域请求;

302、本地客户端根述跨域请求通过ajax技术调用浏览器发送的目标数据;

303、本地客户端根据目标数据确定目标指令;

304、本地客户端根据目标指令生成第一数据;

305、本地客户端发送第一数据至浏览器。

在本实施例中,步骤301、302、303、304、305分别与图2所示实施例中的步骤201、202、203、204、205类似,具体此处不再赘述。

需要说明的是,由于浏览器中a站点web页面中的js代码不能访问b站点的的资源,所以进行跨域后,需要采用ajax技术从浏览器中调用该js代码,从而在本地客户端中实现访问b站点资源的目的。

在本实施例中,明确目标数据的来源为浏览器,通过ajax技术调用目标数据,本地客户端处理完目标数据后生成的第一数据发送至浏览器,以便浏览器执行后续的步骤,本实施例对浏览器没有影响,基于单纯的ajax调用,兼容各类浏览器,可以实现浏览器。客户端,服务器三者业务的融合。

二、从服务器中获取目标数据,生成第一数据发送至服务器

请参照图4,下面将进行说明。

401、本地客户端接收浏览器通过ajax的jsonp跨域方式发起的跨域请求;

在本实施例中,步骤401与图2所示实施例中的步骤201类似,具体此处不再赘述。

402、本地客户端根据跨域请求接收浏览器发送的目标数据对应的编号;

在本实施例中,本地客户端接收跨域请求后执行的操作与实施例步骤202类似,需要说明的是,当传递的目标数据的数据包比较大时,不便直接从浏览器中获取,此时浏览器只是发送一个目标数据对应的编号至本地客户端,以便本地客户端从浏览器对应的服务器获取目标数据。

403、本地客户端根据编号通过web服务调用方式调用浏览器对应的服务器发送的目标数据;

404、本地客户端根据目标数据确定目标指令;

405、本地客户端根据目标指令生成第一数据;

406、本地客户端发送第一数据至服务器。

在本实施例中,步骤403、404、405、406分别与图2所示实施例中的步骤202、203、204、205类似,具体此处不再赘述。

需要说明的是,由于浏览器中a站点web页面中的js代码不能访问b站点的资源,所以进行跨域后,需要采用web服务调用方式从浏览器对应的服务器中获取目标数据,从而在本地客户端中实现访问b站点资源的目的。

在本实施例中,明确目标数据的来源为浏览器对应的服务器,通过web服务调用方式调用目标数据,本地客户端处理完目标数据后生成的第一数据发送至服务器,从而完成一个完整的业务功能,增加了方案的可实施性。

三、从浏览器中获取目标数据,生成第一数据发送至服务器

请参照图5,下面将进行说明。

501、本地客户端接收浏览器通过ajax的jsonp跨域方式发起的跨域请求;

502、本地客户端根述跨域请求通过ajax技术调用浏览器发送的目标数据;

503、本地客户端根据目标数据确定目标指令;

504、本地客户端根据目标指令生成第一数据;

505、本地客户端发送第一数据至服务器。

在本实施例中,步骤501、502、503、504、505分别与图2所示实施例中的步骤201、202、203、204、205类似,具体此处不再赘述。

需要说明的是,由于浏览器中a站点web页面中的js代码不能访问b站点的资源,所以进行跨域后,需要采用ajax技术从浏览器中调用该js代码,从而在本地客户端中实现访问b站点资源的目的。

在本实施例中,明确目标数据的来源为浏览器,通过ajax技术调用目标数据,本地客户端处理完目标数据后生成的第一数据发送至服务器,从而完成一个完整的业务功能,增加了方案的可实施性。

四、从服务器中获取目标数据,生成第一数据发送至浏览器

请参照图6,下面将进行说明。

601、本地客户端接收浏览器通过ajax的jsonp跨域方式发起的跨域请求;

602、本地客户端根据跨域请求接收浏览器发送的目标数据对应的编号;

603、本地客户端根据编号通过web服务调用方式调用浏览器对应的服务器发送的目标数据;

604、本地客户端根据目标数据确定目标指令;

605、本地客户端根据目标指令生成第一数据;

606、本地客户端发送第一数据至服务器。

在本实施例中,步骤601、602、603、604、605分别与图4所示实施例中的步骤401、402、403、404、405类似,具体此处不再赘述。

在本实施例中,步骤606与图2所示实施例中的步骤205类似,具体此处不再赘述。

需要说明的是,由于浏览器中a站点web页面中的js代码不能访问b站点的的资源,所以进行跨域后,需要采用web服务调用方式从浏览器对应的服务器中获取目标数据,从而在本地客户端中实现访问b站点资源的目的。

在本实施例中,明确目标数据的来源为服务器,通过web服务调用方式调用目标数据,本地客户端处理完目标数据后生成的第一数据发送至浏览器,以便浏览器执行后续的步骤,增加了方案的可实施性。

在本申请实施例中,目标指令可以为交互性指令,也可以为非交互性指令,还可以为交互性指令与非交互性指令组成的混合指令。

(1)目标指令包括交互性指令

请参照图7,下面将进行说明。

701、本地客户端接收浏览器通过ajax的jsonp跨域方式发起的跨域请求;

702、本地客户端根据跨域请求获取目标数据;

在本实施例中,在本实施例中,步骤701、702分别与图2所示实施例中的步骤201、202类似,具体此处不再赘述。

703、本地客户端根据目标数据确定交互性指令;

在本实施例中,交互性指令可以为在浏览器中打开文档,也可以为在浏览器中打开某聊天软件的应用程序,也可以为其他交互性指令,具体此处不作限定。

在本实施例中,本地客户端根据目标数据确定交互性指令的方式与步骤203类似,具体此处不作限定。

704、本地客户端发送交互性指令至目标进程,以使得目标进程执行交互性指令并确定交互性指令的返回值;

在本实施例中,目标进程可以为当前用户的侍服进程。

705、本地客户端获取返回值;

在本实施例中,目标进程执行完交互性指令后,会产生一个返回值,本地客户端与目标进程存在通信连接,本地客户端可以获取该返回值。

706、本地客户端确定返回值为第一数据;

707、本地客户端发送第一数据至服务器。

在本实施例中,在本实施例中,步骤706、707分别与图2所示实施例中的步骤204、205类似,具体此处不再赘述。

在本实施例中,通过把目标指令定义为交互性指令,本地客户端需要把该指令发送给目标进程执行,增加了方案的灵活性。代理执行的目标进程可以自定义安全策略,灵活性高。

(2)目标指令为非交互性指令

请参照图8,下面将进行说明。

801、本地客户端接收浏览器通过ajax的jsonp跨域方式发起的跨域请求;

802、本地客户端根据跨域请求获取目标数据;

在本实施例中,在本实施例中,步骤801、802分别与图2所示实施例中的步骤201、202类似,具体此处不再赘述。

803、本地客户端根据目标数据确定非交互性指令;

需要说明的是,在本实施例中,浏览器执行非交互性指令时,如果需要访问浏览器以外的资源,也会存在浏览器兼容性差的问题。

在本实施例中,本地客户端根据目标数据确定非交互性指令的方式与步骤203类似,具体此处不作限定。

804、本地客户端执行非交互性指令;

在本实施例中,目标指令时是非交互性指令时,由本地客户端直接执行。

805、本地客户端确述非交互性指令的返回值;

在本实施例中,本地客户端执行完非交互性指令后,确定出执行的返回值。

806、本地客户端确定返回值为第一数据;

807、本地客户端发送第一数据至目标设备。

在本实施例中,在本实施例中,步骤806、807与图2所示实施例中的步骤204、205类似,具体此处不再赘述。

在本实施例中,通过把目标指令定义为非交互性指令,本地客户端直接执行该指令,增加了方案的灵活性。

需要说明的是,在上述图2至图8的实施例中,目标指令可以是即有交互性指令又有非交互性指令的混合指令,当为这种情况时,既需要执行交互性指令又需要执行非交互性指令,具体执行方式如上述对应步骤所示,执行完毕后,由本地客户端统一处理。

上面图2至图8从本地客户端的角度对本申请实施例进行了描述,请参照图9,下面将从浏览器的角度对本申请实施例进行描述。

需要说明的是,在本实施例中的本地客户端应用于浏览器和服务器架构,该本地客户端提供的服务基于http协议,本申请实施例中数据处理方法的一个实施例包括:

901、当浏览器准备处理目标任务时,浏览器通过ajax的jsonp跨域方式向本地客户端发起的跨域请求,以使得本地客户端可以根据跨域请求获取目标数据,本地客户端根据目标数据确定目标指令,本地客户端根据目标指令生成第一数据,本地客户端发送第一数据至目标设备,目标任务为超出浏览器处理能力的任务,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应。

在本实施例中,跨域请求发起的方式及形式与实施例201类似,具体此处不再赘述。

在本实施例中,浏览器向本地客户端发送跨域请求后,本地客户端识别该请求,返回一段js代码,该代码可以自动执行,用来调用浏览器不能处理的目标数据。

在本实施例中,浏览器向本地客户端发送跨域请求之前,首先要在本地客户端注册一个callback,然后把callback的名字传给服务器。服务器得到callback的数值后,把将要输出的json内容包含在callback的数值中,以便于服务器生成的json数据能被本地客户端正确接收。

在本实施例中,本地客户端根据跨域请求获取目标数据,本地客户端根据目标数据确定目标指令,本地客户端根据目标指令生成第一数据,本地客户端发送第一数据至目标设备的方式与图2所示实施例类似,具体此处不再赘述。

在本实施例中,当浏览器处理超出浏览器处理能力的目标任务时,通过在浏览器/服务器架构下的建立本地客户端,该本地客户端的提供的服务基于http协议,可以直接对目标数据进行调用,随后浏览器通过jsonp跨域方式与本地客户端进行目标数据的传输,该目标数据为目标任务对应的数据,从而使本地客户端获取并处理目标数据,以完成浏览器不能处理的任务。本实施例对浏览器没有影响,基于单纯的ajax调用,兼容各类浏览器,可以实现浏览器。客户端,服务器三者业务的融合。由于客户端代理程序是http协议的服务,所以可以直接通过js脚本访问,方便控制或编写混合的业务程序。

上面图2至图9对本申请实施例的一种数据处理方法进行了描述,请参照图10,下面将对本申请实施例的本地客户端进行描述。

一种终端设备,该终端设备包括本地客户端,本地客户端应用于浏览器和服务器架构,本地客户端提供的服务基于http协议,其特征在于,终端设备包括:

接收单元1001,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

获取单元1002,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1003,用于根据目标数据确定目标指令;

生成单元1004,用于根据目标指令生成第一数据;

发送单元1005,用于发送第一数据至目标设备。

在本实施例中,当浏览器准备处理超出其处理能力的目标任务时跨域请求,接收单元1001接收跨域请求后,获取单元1002获取目标数据,随后确定单元1003根据目标数据确定目标指令,生成单元1004根据目标指令生成第一数据,发送单元1005发送第一数据至目标设备,目标设备根据第一数据进行后续的步骤。从而达到处理超出浏览器处理能力任务的目的,并生成第一数据以便浏览器进行后续操作。

在本实施例中,获取目标数据的方式有多种,可以从浏览器中获取,也可以从浏览器对应的服务器中获取,生成第一数据后可以发送至浏览器,也可以发送至浏览器对应的服务器以完成一个完整的业务功能,综合考虑一共有四种情况,下面将进行说明。

请参照图11,下面将进行说明。

一、从浏览器中获取目标数据,生成第一数据发送至浏览器

需要说明的是,发送单元1105中的目标设备为浏览器。

接收单元1101,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

获取单元1102,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1103,用于根据目标数据确定目标指令;

生成单元1104,用于根据目标指令生成第一数据;

发送单元1105,用于发送第一数据至目标设备。

其中,获取单元包括:

第一调用模块11021,用于根据跨域请求通过ajax技术调用浏览器发送的目标数据;

二、从浏览器中获取目标数据,生成第一数据发送至服务器

需要说明的是,发送单元1105中的目标设备为服务器。

接收单元1101,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

获取单元1102,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1103,用于根据目标数据确定目标指令;

生成单元1104,用于根据目标指令生成第一数据;

发送单元1105,用于发送第一数据至目标设备。

其中,获取单元包括:

第一调用模块11021,用于根据跨域请求通过ajax技术调用浏览器发送的目标数据。

三、从服务器中获取目标数据,生成第一数据发送至浏览器

需要说明的是,发送单元1105中的目标设备为浏览器。

接收单元1101,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

获取单元1102,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1103,用于根据目标数据确定目标指令;

生成单元1104,用于根据目标指令生成第一数据;

发送单元1105,用于发送第一数据至目标设备。

其中,获取单元包括:

第二调用模块11022,用于根据跨域请求通过web服务调用方式调用浏览器对应的服务器发送的目标数据。

四、从服务器中获取目标数据,生成第一数据发送至服务器

需要说明的是,发送单元1105中的目标设备为浏览器。

接收单元1101,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

获取单元1102,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1103,用于根据目标数据确定目标指令;

生成单元1104,用于根据目标指令生成第一数据;

发送单元1105,用于发送第一数据至目标设备。

其中,获取单元包括:

第二调用模块11022,用于根据跨域请求通过web服务调用方式调用浏览器对应的服务器发送的目标数据。

在本实施例中,目标数据可以通过第一调用模块11021利用ajax技术从浏览器中获取,也可以通过第二调用模块11022利用web服务调用方式从浏览器对应的服务器获取,生成的第一数据可以发送至浏览器,也可以发送至浏览器对应的服务器,增加了实施方案。

在本实施例中,当目标数据从浏览器对应的服务器获取时,需要先从浏览器获取目标数据的编号,请参照图11,下面进行说明。

接收单元1101,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

获取单元1102,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1103,用于根据目标数据确定目标指令;

生成单元1104,用于根据目标指令生成第一数据;

发送单元1105,用于发送第一数据至目标设备。

其中,获取单元包括:

第二调用模块11022,用于根据跨域请求通过web服务调用方式调用浏览器对应的服务器发送的目标数据。

其中,第二调用模块包括:

接收子模块110221,用于根据跨域请求接收浏览器发送的目标数据对应的编号;

调用子模块110222,用于根据编号通过web服务调用方式调用浏览器对应的服务器发送的目标数据。

在本实施例中,当目标数据的数据包过大时,可以通过接收子模块110221先从浏览器中获取目标数据的编号,再根据该编号通过调用子模块110222从浏览器对应的服务器调用目标数据,增加了方案的多样性和灵活性。

在本实施例中,根据目标数据值确定目标指令的方式有多种,请参照图12,下面将对其中一种进行描述。

接收单元1201,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

获取单元1202,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1203,用于根据目标数据确定目标指令;

生成单元1204,用于根据目标指令生成第一数据;

发送单元1205,用于发送第一数据至目标设备。

其中,确定单元包括:

识别模块12031,用于识别目标数据;

第一确定模块12032,用于根据识别结果确定目标指令。

在本实施例中,获取目标数据后,先通过识别模块12031识别目标数据,再通过第一确定模块12032确定目标指令,增加了方案的可实施性。

在本实施例中,目标指令可以为交互性指令,也可以为非交互性指令,还可以为两者的混合指令,目标指令的形式不同,处理的方法也不同,请参照图13,下面将对目标指令为交互性指令进行说明。

接收单元1301,用于接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

获取单元1302,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1303,用于根据目标数据确定目标指令;

生成单元1304,用于根据目标指令生成第一数据;

发送单元1305,用于发送第一数据至目标设备。

其中,生成单元包括:

发送模块13041,用于发送交互性指令至目标进程,以使得目标进程执行交互性指令并确定交互性指令的返回值;

获取模块13042,用于获取返回值;

第二确定模块13043,用于确定返回值为第一数据;

在本实施例中,把目标指令具体化为交互性指令,当为交互性指令时,发送模块13041先把该指令发送给目标进程进行处理确定返回值,获取模块13042获取该返回值,第二确定模块13043确定该返回值为第一数据,增加了方案的实用性。

请参照图14,下面将对目标指令为非交互性指令进行说明。

获取单元1402,用于根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

确定单元1403,用于根据目标数据确定目标指令;

生成单元1404,用于根据目标指令生成第一数据;

发送单元1405,用于发送第一数据至目标设备。

其中,生成单元包括:

执行模块14041,用于执行非交互性指令;

第三确定模块14042,用于确定非交互性指令的返回值;

第四确定模块14043,用于确定返回值为第一数据。

在本实施例中,把目标指令具体化为非交互性指令,当为非交互性指令时,执行模块14041直接执行该非交互性指令,第三确定模块14042确定返回值,第四确定模块14043确定该返回值为第一数据,增加了方案的实用性。

需要说明的是,在上述图10至图14的实施例中,目标指令可以是即有交互性指令又有非交互性指令的混合指令,当为这种情况时,既需要执行交互性指令又需要执行非交互性指令,具体执行方式如上述对应模块所示,执行完毕后,由本地客户端统一处理。

上面图10至图14从本地客户端的角度对本申请实施例进行了描述,请参照图15,下面将从浏览器的角度,对本申请实施例进行描述。

一种终端设备,该终端设备包括浏览器,本地客户端应用于浏览器和服务器架构,本地客户端提供的服务基于http协议,其特征在于,终端设备包括:

跨域单元1501,用于准备处理目标任务时,通过ajax的jsonp跨域方式向本地客户端发起的跨域请求,以使得本地客户端可以根据跨域请求获取目标数据,本地客户端根据目标数据确定目标指令,本地客户端根据目标指令生成第一数据,本地客户端发送第一数据至目标设备,目标任务为超出浏览器处理能力的任务,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应。

在本实施例中,跨域单元1501处理超出浏览器处理能力的目标任务时,通过在浏览器和服务器架构下的建立本地客户端,该本地客户端的提供的服务基于http协议,可以直接对目标数据进行调用,随后浏览器通过jsonp跨域方式与本地客户端进行目标数据的传输,该目标数据为目标任务对应的数据,从而使本地客户端获取并处理目标数据,以完成浏览器不能处理的任务。在本实施例中,通过建立基于http协议的本地客户端,使用调用目标数据的方式,在本地客户端处理目标数据,而不是浏览器上处理,避免的各个类型的浏览器不兼容的问题。

图16是本申请实施例提供的一种终端设备示意图,该终端设备1600包括本地客户端,该终端设备1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1622(例如,一个或一个以上处理器)和存储器1632,一个或一个以上存储应用程序1642或数据1644的存储介质1630(例如一个或一个以上海量存储设备)。其中,存储器1632和存储介质1630可以是短暂存储或持久存储。存储在存储介质1630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器1622可以设置为与存储介质1630通信,在终端设备1600上执行存储介质1630中的一系列指令操作。

该中央处理器1622可以根据指令操作执行如下步骤:

接收浏览器通过ajax的jsonp跨域方式发起的跨域请求,跨域请求由浏览器准备处理目标任务时发起,目标任务为超出浏览器处理能力的任务;

根据跨域请求获取目标数据,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应;

根据目标数据确定目标指令;

根据目标指令生成第一数据;

发送第一数据至目标设备。

在本实施例中该中央处理器1622可以接受跨域请求后,处理浏览器不能处理的目标数据并返回第一数据以便浏览器继续后续步骤。

终端设备1600还可以包括一个或一个以上电源1626,一个或一个以上有线或无线网络接口1650,一个或一个以上输入输出接口1658,和/或,一个或一个以上操作系统1641,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由终端设备所执行的步骤可以基于该图16所示的终端设备结构。

图17是本申请实施例提供的一种终端设备示意图,该终端设备1700包括浏览器,该终端设备1700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1722(例如,一个或一个以上处理器)和存储器1732,一个或一个以上存储应用程序1742或数据1744的存储介质1730(例如一个或一个以上海量存储设备)。其中,存储器1732和存储介质1730可以是短暂存储或持久存储。存储在存储介质1730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器1722可以设置为与存储介质1730通信,在终端设备1700上执行存储介质1730中的一系列指令操作。

该中央处理器1722可以根据指令操作执行如下步骤:

当准备处理目标任务时,通过ajax的jsonp跨域方式向本地客户端发起的跨域请求,以使得本地客户端可以根据跨域请求获取目标数据,本地客户端根据目标数据确定目标指令,本地客户端根据目标指令生成第一数据,本地客户端发送第一数据至目标设备,目标任务为超出浏览器处理能力的任务,目标数据为超出浏览器处理能力的数据,目标数据与目标任务相对应。

在本实施例中,中央处理器1722遇到不能处理的目标任务时,可以把目标任务对应的目标数据发送给本地客户端处理。

终端设备1700还可以包括一个或一个以上电源1726,一个或一个以上有线或无线网络接口1750,一个或一个以上输入输出接口1758,和/或,一个或一个以上操作系统1741,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由终端设备所执行的步骤可以基于该图17所示的终端设备结构。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,本地客户端,或者网络设备等)执行本申请图2至图9各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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