CN107463563B - 一种浏览器的信息服务处理方法及装置 - Google Patents

一种浏览器的信息服务处理方法及装置 Download PDF

Info

Publication number
CN107463563B
CN107463563B CN201610388121.7A CN201610388121A CN107463563B CN 107463563 B CN107463563 B CN 107463563B CN 201610388121 A CN201610388121 A CN 201610388121A CN 107463563 B CN107463563 B CN 107463563B
Authority
CN
China
Prior art keywords
service
request
task
requests
queue
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
Application number
CN201610388121.7A
Other languages
English (en)
Other versions
CN107463563A (zh
Inventor
林健春
蔡卓伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610388121.7A priority Critical patent/CN107463563B/zh
Publication of CN107463563A publication Critical patent/CN107463563A/zh
Application granted granted Critical
Publication of CN107463563B publication Critical patent/CN107463563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种浏览器的信息服务处理方法及装置,其中,所述方法包括:当浏览器主线程中存在服务请求时,分别生成针对主线程的各服务请求的任务请求,并缓存到请求队列中;当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中;将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。采用本发明,可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求。

Description

一种浏览器的信息服务处理方法及装置
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种浏览器的信息服务处理方法及装置。
背景技术
浏览器是一种应用程序,可以用来显示网页服务器或者文件系统的HTML文件内容,并可以满足用户与这些文件的交互需求。基于浏览器,用户可迅速地浏览各种信息。
一个网页中可以包括多个文档,每个文档都是通过发送服务请求,例如由ajax发送CGI请求的方式分别从服务器获取的。但是,对于同一域名的服务请求数量有限制,比如某些浏览器限制的服务请求数量为6个,如果服务请求的的数量超过了限制数,则超出部分的请求将被阻塞挂起。
发明内容
本发明实施例提供一种浏览器的信息服务处理方法及装置,可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求。
为了解决上述技术问题,本发明实施例提供了一种浏览器的信息服务处理方法,包括:
当浏览器主线程中存在服务请求时,分别生成针对主线程的各服务请求的任务请求,并缓存到请求队列中;
当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中;
将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。
第二方面,本发明实施例还提供了另一种浏览器的信息服务处理方法,包括:
接收到客户端的任务合并请求后,对所述任务合并请求进行拆分,基于任务合并请求中包括的服务标识和与服务标识关联的请求参数,生成各自对应的服务请求;
根据服务标识确定业务服务器,并将针对该服务标识拆分生成的服务请求发送给确定的业务服务器;
在接收到各个确定的业务服务器返回的包括服务标识的处理反馈信息时,将各个处理反馈信息合并成响应信息,并将合并得到的响应信息发送给所述客户端,所述响应信息中包括服务标识及与该服务标识关联的处理反馈信息。
第三方面,本发明实施例还相应地提供了一种浏览器的信息服务处理装置,包括:
第一缓存模块,用于当浏览器主线程中存在服务请求时,分别生成针对主线程的各服务请求的任务请求,并缓存到请求队列中;
第二缓存模块,用于当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中;
请求模块,用于将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。
第四方面,本发明实施例还相应地提供了另一种浏览器的信息服务处理装置,包括:
拆分模块,用于接收到客户端的任务合并请求后,对所述任务合并请求进行拆分,基于任务合并请求中包括的服务标识和与服务标识关联的请求参数,生成各自对应的服务请求;
处理模块,用于根据服务标识确定业务服务器,并将针对该服务标识拆分生成的服务请求发送给确定的业务服务器;在接收到各个确定的业务服务器返回的包括服务标识的处理反馈信息时,将各个处理反馈信息合并成响应信息,并将合并得到的响应信息发送给所述客户端,所述响应信息中包括服务标识及与该服务标识关联的处理反馈信息。
本发明实施例可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求,并且最大限度地利用了现有的浏览器架构,仅添加一个插件即可实现响应的服务请求合并的功能,也不会改变的用户使用方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种针对浏览器的信息服务处理的结构示意图;
图2是本发明实施例的一种浏览器的信息服务处理方法的流程示意图;
图3是本发明实施例的任务合并请求的格式示意图;
图4是本发明实施例的另一种浏览器的信息服务处理方法的流程示意图;
图5是本发明实施例的再一种浏览器的信息服务处理方法的流程示意图;
图6是本发明实施例的一种浏览器的信息服务处理装置的结构示意图;
图7是本发明实施例的另一种浏览器的信息服务处理装置的结构示意图;
图8是本发明实施例的一种智能终端的结构示意图;
图9是本发明实施例的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例通过在浏览器中配置添加新的插件来实现对浏览器的信息服务处理,该插件为遵循一定规范的应用程序接口而编写出来的程序,由处理器来执行该插件以实现针对浏览器的信息服务处理功能。在执行该插件时,具体包括首先针对主线程中各同步任务的服务请求和任务队列中各异步任务的服务请求(如果有)分别生成任务请求缓存到一个预置的请求队列中,然后合并所述请求队列中的各个任务请求,得到一个任务合并请求发送给用于进行信息服务处理的设备,如公共通用网关接口(Common GatewayInterface,简称CGI)设备,完成将用户通过浏览器发起的多个http请求合并为单一http请求。
具体的,该插件可以是基于Zepto的插件,其中,浏览器中的Zepto是一个前端框架库,封装了浏览器底层接口,提供了包括网页文档对象模型(Document Object Model,简称DOM)操作,异步网络请求等便捷应用程序编程接口(Application ProgrammingInterface,简称API),其广泛应用于移动web页面的开发。而CGI是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取浏览器客户端提交的请求,转交给服务器端的CGI程序进行处理,例如由公共CGI服务器分配给对应的包含CGI程序的服务器来进行处理,最后返回结果给客户端。
具体请参见图1,是本发明实施例的一种针对浏览器的信息服务处理的结构示意图。在主线程中包括当前推送的同步任务的服务请求,任务队列中还包括当前推送的异步任务的服务请求。在本发明实施例中,同步任务是指在主线程中排队执行的任务,遵循前一个任务执行完毕之后再执行下一个任务的顺序。异步任务则首先不进入主线程,而是放置在“任务队列”(task queue)里面,只有主线程的同步任务执行完毕之后才会从所述任务队列中取出异步任务推送主线程中继续执行,这个过程是不断重复的,直到所述任务队列中的所有异步任务被执行完毕为止。
因此,本发明实施例在将服务请求生成任务请求添加到请求队列的过程中,首先处理的是浏览器主线程中同步任务的服务请求,在主线程中各个同步任务对于的服务请求均被生成服务请求添加到请求队列后,再确定任务队列中是否还有异步任务的服务请求。若没有,则直接执行后续的请求队列中任务请求的合并处理。若还存在异步任务的服务请求,则将各个异步任务对于的服务请求推送到主线程中,然后再将主线程中这些推送的异步任务的服务请求分别生成任务请求推送到所述请求队列中,然后再执行后续的请求队列中任务请求的合并处理。
对请求队列中所有的任务请求进行合并的时机可以理解为主线程的所有服务请求均被作为任务请求推送到所述请求队列之后进行的。因此,无论同步任务还是异步任务的服务请求都会被作为任务请求缓存到请求队列中,直至主线程中最后一个被推送的服务请求被作为任务请求缓存到请求队列中。该最后一个被推送到主线程的服务请求可以是从任务队列中推送的异步任务的服务请求。这些被缓存的任务请求后续会被合并成单一请求(任务合并请求)发送到信息服务设备,如公共CGI服务器,由信息服务设备分发这些请求给各个具体的业务服务器Server。在开始执行生成任务合并请求时被推送到主线程的任务的服务请求会作为下一次的服务请求再执行本发明实施例的浏览器的信息服务处理,而不会在本次的浏览器的信息服务处理过程中执行。
所述信息服务设备和各个具体的业务服务器是位于服务侧的一个内网中,各个业务Server处理完毕之后将结果(处理反馈信息)返回给信息服务设备,信息服务设备将结果集(结果集为一个集合了所有的处理反馈信息的响应响应信息)返回给发起上述的任务合并请求的客户端。
客户端通过执行插件来对响应信息做解包工作,基于服务标识来将各个业务Server处理的处理反馈信息返回给各个业务调用模块。在本发明实施例中,因为发请求和以及解析响应信息的工作都让合并请求插件完成了,所以对于业务方是透明的。
具体的,如图1所示,本发明实施例,浏览器中执行广告功能的业务调用模块产生了同步任务,发起了CGI请求1(服务请求1);浏览器中执行表格显示功能的业务调用模块产生了同步任务,发起了CGI请求2(服务请求2);浏览器中执行新闻推荐功能的业务调用模块产生了异步任务,发起了CGI请求3(服务请求3)。各业务调用模块可以通过异步JavaScript(一种直译式脚本语言)和XML(可扩展标记语言)(Asynchronous Javascript And XML,简称ajax)发起CGI服务请求。
从主线程同步任务开始执行,在此期间通过CGI请求1和CGI请求2都将被作为任务请求推送到请求队列中缓存,主线程的同步任务执行完毕。
任务队列中的第一个异步任务被推送主线程中,该异步任务发起的CGI请求3被作为任务请求推送到请求队列中,该异步任务执行完毕。
当主线程和任务队列中的服务请求都被作为任务请求推送到请求队列后,执行插件会生成第二个异步任务,第二个异步任务对应CGI请求4。CGI请求4同样是先推送到主线程,但该任务会被直接从主线程中取出并直接执行,执行CGI请求4的结果是使得将请求队列中的各个请求合并成一个请求,即合并成任务合并请求。具体是取出每个服务请求的CGI标识以及相关的参数后构造一个任务合并请求,并将该任务合并请求发送给云端的公共CGI。所述CGI标识即服务标识,用于区分对应的服务请求,例如执行广告功能的业务调用模块所发出的CGI请求1的服务标识为:module1和method1,module1和method1唯一标识执行广告功能的业务调用模块,而相关的参数则具体包括从服务侧需要获取的信息的相关参数,例如,针对执行广告功能的业务调用模块发起的服务请求1中,相关的参数为用于获取“XX”牌电子产品的视频广告信息的参数。
公共CGI(信息服务设备)接收任务合并请求后,根据CGI标识将对应的参数分发给指定的业务服务器Server,业务Server处理完毕之后返回给公共CGI,公共CGI再返回生成响应信息返回浏览器客户端。
浏览器客户端接收到公共CGI的回包后,基于插件会触发新的异步任务即第二异步任务,该第二异步任务负责解析响应信息,执行该异步任务根据响应信息中的CGI标识取出对应的处理反馈信息,然后依次执行回调,将处理反馈信息返回给对应的业务调用模块。至此合并请求插件完成全部工作。
具体请参见图2,是本发明实施例的一种浏览器的信息服务处理方法的流程示意图,本发明实施例的所述方法可以由智能终端中的处理器来执行,具体的,所述方法包括如下步骤。
S201:当浏览器主线程中存在服务请求时,分别生成针对主线程的各服务请求的任务请求,并缓存到请求队列中。在实际执行时,可以直接将主线程中各同步任务的服务请求直接作为任务请求推送到预置的请求队列中。当然,也可以对各服务请求根据需要进行合适的调整后,再推送到请求队列中。
S202:当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中。在主线程中同步任务的服务请求被推送到请求队列后,再检查任务队列中是否还有异步任务的服务请求。如果没有,则直接执行下述的S203。如果还有异步任务的服务请求,则可以先将异步任务的服务请求推送到主线程中,然后再将主线程中的这些异步任务的服务请求推送到缓存队列中。同样,可以直接将主线程中的这些异步任务的服务请求直接作为认为请求推送到的预置的请求队列中。
S203:将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。将各个同步任务的服务请求合并为一个任务合并请求,或者将同步任务的服务请求与异步任务的服务请求合并为一个任务合并请求。任务合并请求的格式可参考图3所示,任务合并请求具体可以按照服务标识和与服务标识关联的相关请求参数为单位进行了封装合并。
进一步具体的,各任务请求中包括用于区分对应服务请求的服务标识,所述任务合并请求中封装了各服务标识及与该服务标识关联的请求参数,所述任务合并请求用于请求所述信息服务设备分别按照服务标识及请求参数进行信息服务处理。
信息服务设备接收请求后根据服务标识将对应的参数分发给指定的业务Server,业务Server处理完毕之后将处理反馈信息返回给信息服务设备。信息服务设备再返回生成响应信息返回浏览器客户端。返回的响应信息同样可以按照服务标识和与服务标识关联的处理反馈信息为单位进行封装。
S204:接收所述信息服务设备响应所述任务合并请求返回的响应信息。
S205:根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息。
S206:根据服务标识将各处理反馈信息反馈给发起对应服务请求的业务调用模块。及分别反馈给各服务标识所对应服务请求的发起模块,例如上述提到的执行广告功能的业务调用模块,执行表格显示功能的业务调用模块等。
本发明实施例可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求,并且最大限度地利用了现有的浏览器架构,仅添加一个插件即可实现响应的服务请求合并的功能,也不会改变的用户使用方式。
再请参见图4,是本发明实施例的另一种浏览器的信息服务处理方法的流程示意图,本发明实施例的所述方法可以由智能终端中的处理器来执行,具体的,所述方法包括如下步骤。
S401:当浏览器主线程中存在服务请求时,分别生成针对主线程的各服务请求的任务请求,并缓存到请求队列中。
S402:当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中;其中,任务队列中存在的服务请求为异步任务的服务请求,所述当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中,包括:当浏览器任务队列中存在服务请求时,将任务队列中存在服务请求推送到所述主线程中;针对推送到主线程中的异步任务的服务请求,分别生成任务请求,并缓存到所述请求队列中。
S403:在所述主线程和任务队列中的服务请求均被生成对应的任务请求并缓存到的请求队列后,生成用于指示生成任务合并请求的第一异步任务。
S404:将所述第一异步任务推送到所述主线程中。
S405:从所述主线程中取出所述第一异步任务后,触发执行该第一异步任务,将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。所述第一异步任务的服务请求会先被推送到任务队列中,然后推送到主线程中。所述第一异步任务的服务请求会被从主线程中取出直接执行,并不会被作为任务请求缓存到请求队列中。触发执行所述第一异步任务后,对该异步任务的执行即是将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。
其中,各任务请求中包括用于区分对应服务请求的服务标识,所述任务合并请求中封装了各服务标识及与该服务标识关联的请求参数,所述任务合并请求用于请求所述信息服务设备分别按照服务标识及请求参数进行信息服务处理。针对不同的业务调用模块发起的服务请求,使用不同的服务标识来唯一表示,以便于后续能够根据服务标识将对应的相关参数发送给对应的CGI功能服务器(对应的业务服务器)。服务标识可以使用模块(module)标识和方法(method)标识来唯一表示,例如上述的浏览器中执行广告功能的业务调用模块的标识为(模块module1,方法method1)。
S406:接收所述信息服务设备响应所述任务合并请求返回的响应信息。所述响应信息中包括各个信息服务设备返回的处理反馈信息和服务标识,所述响应信息是按照处理反馈信息和服务标识为单位进行合并封装的,具体格式请参见图2所示。
S407:根据接收到的响应信息,生成用于指示对响应信息中包括的处理反馈信息进行拆分的第二异步任务。所述第二异步任务只是负责解析服务器返回的响应信息,并不会发起CGI请求。
S408:执行该第二异步任务。触发执行所述第二异步任务,以完成处理反馈信息的提取,执行第二异步任务的步骤具体为根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息。
S409:根据服务标识将各处理反馈信息反馈给发起对应服务请求的业务调用模块。根据拆解后的服务标识确定业务调用模块,并将服务标识对应的处理反馈信息发送给对应的业务调用模块,完成对这些业务调用模块发起的服务请求的响应。
以下通过一个实例对本发明实施例的浏览器的信息服务处理方法进行详细描述。
发起获取“为你推荐”请求,并注册回调函数1,生成CGI请求1加载到主线程中,对应的服务标识为:module(reader_bookmarket_v2),method(ProcessGetColInfo)。将CGI请求1作为任务请求推入到请求队列,将回调函数1推入回调函数队列(为同步任务,在主线程中)。
发起获取轮播广告请求,并注册回调函数2,生成CGI请求2加载到主线程中,对应的服务标识为:module(reader_bookmarket),method(ProcessGetAds),将CGI请求2作为任务请求推入请求队列,将回调函数2推入回调函数队列(为同步任务,在主线程中)。
发起获取站内导航请求,并注册回调函数3,生成CGI请求3加载到主线程中,对应的module(reader_bookmarket),method(ProcessGetNav),将CGI请求3作为任务请求推入请求队列,并将回调函数3推入回调函数队列(为同步任务,在主线程中)。
主线程同步任务全部执行完毕。
异步任务队列,发起获取气泡的请求,并注册回调函数4,生成CGI请求4加载到任务队列,对应的服务标识为:module(reader_bookmarket),method(ProcessGetPop),将CGI请求4作为任务请求推入请求队列,将回调函数4推入到回调函数队列中。
异步任务队列,合并请求任务被触发,将请求队列中的任务请求(1、2、3、4)合并成单一请求及任务合并请求发起真实的请求给公共CGI服务器。
公共CGI服务器接收到其他业务服务器返回的针对服务标识的处理反馈信息后,生成响应信息并返回给浏览器客户端。浏览器客户端在根据其中的各个服务标识(module和method)对响应信息进行解析,获取其中具体的各个服务标识对应的处理反馈信息,并基于各个服务标识对应的处理反馈信息,分别对应地执行回调函数1,完成根据服务端数据渲染“为你推荐”栏目区域);执行回调函数2,完成渲染轮播广告区域;执行回调函数3,完成渲染站内导航区域;执行回调函数4,完成渲染气泡区域。
本发明实施例可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求,并且最大限度地利用了现有的浏览器架构,仅添加一个插件即可实现响应的服务请求合并的功能,也不会改变的用户使用方式。
再请参见图5,是本发明实施例的再一种浏览器的信息服务处理方法的流程示意图,本发明实施例的所述方法可以由服务器来实现,具体可以由公共CGI服务器来实现。具体的,所述方法包括如下步骤。
S501:接收到客户端的任务合并请求后,对所述任务合并请求进行拆分,基于任务合并请求中包括的服务标识和与服务标识关联的请求参数,生成各自对应的服务请求。公共CGI等服务器可以通过计算机网络和/或移动通信网络来接收浏览器客户端的任务合并请求。所述任务合并请求的具体实现可参考上述实施例中的描述,在此不赘述。对任务合并请求的拆分所依据的拆分规则与合并各个服务请求得到该任务合并请求时所依据的合并规则相对应。
S502:根据服务标识确定业务服务器,并将针对该服务标识拆分生成的服务请求发送给确定的业务服务器。一般情况下公共CGI等服务器与各个业务服务器之间是处于一个内部网络中。业务服务器是指具备响应CGI程序的服务器,这些业务服务器能够根据服务标识和相关参数,获取相关信息并将其作为处理反馈信息返回给公共CGI等服务器。例如,浏览器中执行广告功能的业务调用模块产生了同步任务发起的CGI请求,业务服务器能够基于该业务调用模块所对应的服务标识,获取相关参数所指示的广告数据,然后将广告数据作为处理反馈信息返回给公共CGI等服务器。
S503:在接收到各个确定的业务服务器返回的包括服务标识的处理反馈信息时,将各个处理反馈信息合并成响应信息,并将合并得到的响应信息发送给所述客户端,所述响应信息中包括服务标识及与该服务标识关联的处理反馈信息。公共CGI等服务器同样是通过计算机网络和/或移动通信网络来反馈响应信息给对也的浏览器客户端。
本发明实施例可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求,并且最大限度地利用了现有的浏览器架构,仅添加一个插件即可实现响应的服务请求合并的功能,也不会改变的用户使用方式。
下面对本发明实施例的浏览器的信息服务处理装置及智能设备进行描述。
请参见图6,是本发明实施例的一种浏览器的信息服务处理装置的结构示意图,本发明实施例的所述装置可以应用在智能终端中。所述智能终端具体可以为智能手机、平板电脑、个人电脑等带网络浏览器功能的设备。具体的,所述装置包括以下结构模块。
第一缓存模块601,用于当浏览器主线程中存在服务请求时,分别生成针对主线程的各服务请求的任务请求,并缓存到请求队列中;第二缓存模块602,用于当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中;请求模块603,用于将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。
其中可选地,各任务请求中包括用于区分对应服务请求的服务标识,所述任务合并请求中封装了各服务标识及与该服务标识关联的请求参数,所述任务合并请求用于请求所述信息服务设备分别按照服务标识及请求参数进行信息服务处理。
其中可选地,本发明实施例的所述装置还可以包括:接收模块604,用于接收所述信息服务设备响应所述任务合并请求返回的响应信息;处理模块605,还用于根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息;根据服务标识将各处理反馈信息反馈给发起对应服务请求的业务调用模块。
其中可选地,任务队列中存在的服务请求为异步任务的服务请求,所述第二缓存模块602,具体用于当浏览器任务队列中存在服务请求时,将任务队列中存在服务请求推送到所述主线程中;针对推送到主线程中的异步任务的服务请求,分别生成任务请求,并缓存到所述请求队列中。
其中可选地,所述处理模块605,还用于在所述主线程和任务队列中的服务请求均被生成对应的任务请求并缓存到的请求队列后,生成用于指示生成任务合并请求的第一异步任务;将所述第一异步任务推送到所述主线程中;从所述主线程中取出所述第一异步任务后,触发执行该第一异步任务,以执行所述将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。
其中可选地,所述处理模块605,还用于根据接收到的响应信息,生成用于指示对响应信息中包括的处理反馈信息进行拆分的第二异步任务;执行该第二异步任务,以执行所述根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息。
具体的,本发明实施例中所述装置的各个功能的具体实现可参考图1至图4相关内容的描述,在此不赘述。
本发明实施例可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求,并且最大限度地利用了现有的浏览器架构,仅添加一个插件即可实现响应的服务请求合并的功能,也不会改变的用户使用方式。
再请参见图7,是本发明实施例的另一种浏览器的信息服务处理装置的结构示意图,本发明实施例的所述装置可以应用在各种浏览器的信息服务设备中,例如公共的CGI服务器。本发明实施例的所述装置具体可以包括以下模块。
拆分模块701,用于接收到客户端的任务合并请求后,对所述任务合并请求进行拆分,基于任务合并请求中包括的服务标识和与服务标识关联的请求参数,生成各自对应的服务请求;处理模块702,用于根据服务标识确定业务服务器,并将针对该服务标识拆分生成的服务请求发送给确定的业务服务器;在接收到各个确定的业务服务器返回的包括服务标识的处理反馈信息时,将各个处理反馈信息合并成响应信息,并将合并得到的响应信息发送给所述客户端,所述响应信息中包括服务标识及与该服务标识关联的处理反馈信息。
具体的,本发明实施例中所述装置的各个功能的具体实现可参考图1至图4相关内容的描述,在此不赘述。
本发明实施例可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求,并且最大限度地利用了现有的浏览器架构,仅添加一个插件即可实现响应的服务请求合并的功能,也不会改变的用户使用方式。
再请参见图8,是本发明实施例的一种智能终端的结构示意图,本发明实施例的所述智能终端具体可以为智能手机、平板电脑、个人电脑等带网络浏览器功能的设备。所述智能终端包括:供电模块、主板、显示屏、按键等模块,还包括:用户接口801,网络接口802、处理器803以及存储器804,各个模块之间可以通过总线805相连。
所述用户接口801用于接收用户对浏览器的输入,以便于产生对应的同步任务推送到主线程中,或者产生对应的异步任务推送到任务队列中。所述用户接口801可以是触摸屏、物理按键等。
所述网络接口802则用于与服务器进行通信,完成任务合并请求的发送和响应信息的接收。
所述总线805可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器804可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);存储器804也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,简称HDD)或固态硬盘(solid-state drive,简称SSD);存储器804还可以包括上述种类的存储器的组合。
所述处理器803可以是中央处理器(英文:central processing unit,缩写:CPU),所述存储器804还用于存储程序指令。所述处理器803可以调用所述程序指令,实现如本申请图1至图4所对应实施例中所描述的浏览器的信息服务处理方法。
本发明实施例可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求,并且最大限度地利用了现有的浏览器架构,仅添加一个插件即可实现响应的服务请求合并的功能,也不会改变的用户使用方式。
再请参见图9,是本发明实施例的一种服务器的结构示意图,本发明实施例的所述智能终端具体可以为智能手机、平板电脑、个人电脑等带网络浏览器功能的设备。所述智能终端包括:供电模块、主板、显示屏、按键等模块,还包括:网络接口901、处理器902以及存储器903,各个模块之间可以通过总线904相连。
所述总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。所述网络接口901用于接收浏览器客户端的任务合并请求并向浏览器客户端发送响应信息。
所述存储器903可以包括易失性存储器(volatile memory),例如随机存取存储器RAM;存储器903也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘HDD或固态硬盘SSD。存储器903还可以包括上述种类的存储器的组合。
所述处理器902可以是中央处理器CPU,所述存储器903还用于存储程序指令。所述处理器902可以调用所述程序指令,实现如本申请图5所对应实施例中所描述的浏览器的信息服务处理方法。
本发明实施例可以对浏览器的多个服务请求进行合并,较大限度地满足用户对浏览器的信息服务需求,并且最大限度地利用了现有的浏览器架构,仅添加一个插件即可实现响应的服务请求合并的功能,也不会改变的用户使用方式。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (14)

1.一种浏览器的信息服务处理方法,其特征在于,包括:
当浏览器主线程中存在服务请求时,分别生成针对主线程的各服务请求的任务请求,并缓存到请求队列中;
当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中;
将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备,其中,所述任务合并请求是按照服务标识和与服务标识关联的相关请求参数为单位进行封装合并生成的,所述服务标识用于唯一表示相应的发起服务请求的业务调用模块。
2.如权利要求1所述的方法,其特征在于,各任务请求中包括用于区分对应服务请求的服务标识,所述任务合并请求中封装了各服务标识及与该服务标识关联的请求参数,所述任务合并请求用于请求所述信息服务设备分别按照服务标识及请求参数进行信息服务处理。
3.如权利要求2所述的方法,其特征在于,还包括:
接收所述信息服务设备响应所述任务合并请求返回的响应信息;
根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息;
根据服务标识将各处理反馈信息反馈给发起对应服务请求的业务调用模块。
4.如权利要求1所述的方法,其特征在于,任务队列中存在的服务请求为异步任务的服务请求,所述当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中,包括:
当浏览器任务队列中存在服务请求时,将任务队列中存在服务请求推送到所述主线程中;
针对推送到主线程中的异步任务的服务请求,分别生成任务请求,并缓存到所述请求队列中。
5.如权利要求1所述的方法,其特征在于,所述将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备之前,还包括:
在所述主线程和任务队列中的服务请求均被生成对应的任务请求并缓存到的请求队列后,生成用于指示生成任务合并请求的第一异步任务;
将所述第一异步任务推送到所述主线程中;
从所述主线程中取出所述第一异步任务后,触发执行该第一异步任务,以执行所述将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。
6.如权利要求3所述的方法,其特征在于,所述根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息之前,还包括:
根据接收到的响应信息,生成用于指示对响应信息中包括的处理反馈信息进行拆分的第二异步任务;
触发执行该第二异步任务,以执行所述根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息。
7.一种浏览器的信息服务处理方法,其特征在于,包括:
接收到客户端的任务合并请求后,对所述任务合并请求进行拆分,基于任务合并请求中包括的服务标识和与服务标识关联的请求参数,生成各自对应的服务请求,其中,所述任务合并请求是按照服务标识和与服务标识关联的相关请求参数为单位进行封装合并生成的,所述服务标识用于唯一表示相应的发起服务请求的业务调用模块;
根据服务标识确定业务服务器,并将针对该服务标识拆分生成的服务请求发送给确定的业务服务器;
在接收到各个确定的业务服务器返回的包括服务标识的处理反馈信息时,将各个处理反馈信息合并成响应信息,并将合并得到的响应信息发送给所述客户端,所述响应信息中包括服务标识及与该服务标识关联的处理反馈信息。
8.一种浏览器的信息服务处理装置,其特征在于,包括:
第一缓存模块,用于当浏览器主线程中存在服务请求时,分别生成针对主线程的各服务请求的任务请求,并缓存到请求队列中;
第二缓存模块,用于当浏览器任务队列中存在服务请求时,分别生成针对任务队列的各服务请求的任务请求,并缓存到所述请求队列中;
请求模块,用于将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备,其中,所述任务合并请求是按照服务标识和与服务标识关联的相关请求参数为单位进行封装合并生成的,所述服务标识用于唯一表示相应的发起服务请求的业务调用模块。
9.如权利要求8所述的装置,其特征在于,各任务请求中包括用于区分对应服务请求的服务标识,所述任务合并请求中封装了各服务标识及与该服务标识关联的请求参数,所述任务合并请求用于请求所述信息服务设备分别按照服务标识及请求参数进行信息服务处理。
10.如权利要求9所述的装置,其特征在于,还包括:
接收模块,用于接收所述信息服务设备响应所述任务合并请求返回的响应信息;
处理模块,还用于根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息;根据服务标识将各处理反馈信息反馈给发起对应服务请求的业务调用模块。
11.如权利要求8所述的装置,其特征在于,任务队列中存在的服务请求为异步任务的服务请求,所述第二缓存模块,具体用于当浏览器任务队列中存在服务请求时,将任务队列中存在的服务请求推送到所述主线程中;针对推送到主线程中的异步任务的服务请求,分别生成任务请求,并缓存到所述请求队列中。
12.如权利要求8所述的装置,其特征在于,
所述装置包括的处理模块,用于在所述主线程和任务队列中的服务请求均被生成对应的任务请求并缓存到的请求队列后,生成用于指示生成任务合并请求的第一异步任务;将所述第一异步任务推送到所述主线程中;从所述主线程中取出所述第一异步任务后,触发执行该第一异步任务,以执行所述将所述请求队列中的各个任务请求合并生成任务合并请求,并将所述任务合并请求发送给信息服务设备。
13.如权利要求10所述的装置,其特征在于,
所述处理模块,还用于根据接收到的响应信息,生成用于指示对响应信息中包括的处理反馈信息进行拆分的第二异步任务;触发执行该第二异步任务,以执行所述根据所述响应信息中的服务标识对响应信息中包括的处理反馈信息进行拆分,得到各个服务标识所对应服务请求的处理反馈信息。
14.一种浏览器的信息服务处理装置,其特征在于,包括:
拆分模块,用于接收到客户端的任务合并请求后,对所述任务合并请求进行拆分,基于任务合并请求中包括的服务标识和与服务标识关联的请求参数,生成各自对应的服务请求,其中,所述任务合并请求是按照服务标识和与服务标识关联的相关请求参数为单位进行封装合并生成的,所述服务标识用于唯一表示相应的发起服务请求的业务调用模块;
处理模块,用于根据服务标识确定业务服务器,并将针对该服务标识拆分生成的服务请求发送给确定的业务服务器;在接收到各个确定的业务服务器返回的包括服务标识的处理反馈信息时,将各个处理反馈信息合并成响应信息,并将合并得到的响应信息发送给所述客户端,所述响应信息中包括服务标识及与该服务标识关联的处理反馈信息。
CN201610388121.7A 2016-06-02 2016-06-02 一种浏览器的信息服务处理方法及装置 Active CN107463563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610388121.7A CN107463563B (zh) 2016-06-02 2016-06-02 一种浏览器的信息服务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610388121.7A CN107463563B (zh) 2016-06-02 2016-06-02 一种浏览器的信息服务处理方法及装置

Publications (2)

Publication Number Publication Date
CN107463563A CN107463563A (zh) 2017-12-12
CN107463563B true CN107463563B (zh) 2020-12-08

Family

ID=60544778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610388121.7A Active CN107463563B (zh) 2016-06-02 2016-06-02 一种浏览器的信息服务处理方法及装置

Country Status (1)

Country Link
CN (1) CN107463563B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783457B (zh) * 2018-12-17 2024-02-02 中国平安财产保险股份有限公司 Cgi接口管理方法、装置、计算机设备和存储介质
CN109743386B (zh) * 2018-12-29 2021-11-02 卓米私人有限公司 会话请求发送方法、装置、电子设备和存储介质
CN110321464B (zh) * 2019-05-30 2022-03-18 南京苏宁加电子商务有限公司 一种基于单向数据流的页面视图的更新方法及装置
CN112217849A (zh) * 2019-07-11 2021-01-12 奇安信科技集团股份有限公司 Sd-wan系统中的任务调度方法、系统和计算机设备
CN110769027A (zh) * 2019-09-10 2020-02-07 北京百度网讯科技有限公司 服务请求处理方法、装置、计算机设备及存储介质
CN111221634A (zh) * 2019-11-21 2020-06-02 望海康信(北京)科技股份公司 合并请求的处理方法、装置、设备及存储介质
CN111782996A (zh) * 2020-05-29 2020-10-16 厦门市美亚柏科信息股份有限公司 异步请求处理方法和装置
CN112565056B (zh) * 2020-11-11 2022-09-09 中国软件与技术服务股份有限公司 一种即时通讯处理群发上线、下线消息的方法和装置
CN114780164B (zh) * 2022-02-28 2023-04-25 深圳开源互联网安全技术有限公司 基于浏览器插件筛选网页信息的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139298A (zh) * 2013-02-01 2013-06-05 北京京东世纪贸易有限公司 一种传输网络数据的方法和装置
CN103942225A (zh) * 2013-01-23 2014-07-23 阿里巴巴集团控股有限公司 一种混合型应用客户端的资源调用方法、客户端及系统
CN104125273A (zh) * 2014-07-16 2014-10-29 百度在线网络技术(北京)有限公司 网页中图片传输方法、图片服务器、网络服务器和客户端
CN104967630A (zh) * 2014-04-10 2015-10-07 腾讯科技(深圳)有限公司 网页访问请求的处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387206A (zh) * 2011-10-20 2012-03-21 镇江睿泰信息科技有限公司 一种Web服务并发请求合成方法及系统
CN103297395B (zh) * 2012-02-24 2016-08-24 阿里巴巴集团控股有限公司 一种互联网业务的实现方法、系统以及装置
CN103678526A (zh) * 2013-11-29 2014-03-26 贝壳网际(北京)安全技术有限公司 浏览器解码图片的方法、装置和客户端
CN104468740B (zh) * 2014-11-21 2019-03-08 网宿科技股份有限公司 一种网页传输智能处理系统及其方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942225A (zh) * 2013-01-23 2014-07-23 阿里巴巴集团控股有限公司 一种混合型应用客户端的资源调用方法、客户端及系统
CN103139298A (zh) * 2013-02-01 2013-06-05 北京京东世纪贸易有限公司 一种传输网络数据的方法和装置
CN104967630A (zh) * 2014-04-10 2015-10-07 腾讯科技(深圳)有限公司 网页访问请求的处理方法及装置
CN104125273A (zh) * 2014-07-16 2014-10-29 百度在线网络技术(北京)有限公司 网页中图片传输方法、图片服务器、网络服务器和客户端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种针对浏览器并发连接限制的Web前端性能优化算法;李雨晨 等;《计算机应用与软件》;20150825;第30卷(第12期);第4-7+68页 *

Also Published As

Publication number Publication date
CN107463563A (zh) 2017-12-12

Similar Documents

Publication Publication Date Title
CN107463563B (zh) 一种浏览器的信息服务处理方法及装置
CN110162720B (zh) 网页页面加载方法、装置、计算机设备及存储介质
CN109815430B (zh) 请求处理方法、装置、数据处理服务器及可读存储介质
US8245125B1 (en) Hybrid rendering for webpages
JP6404816B2 (ja) ウェブページアクセス要求に対する応答の方法および装置
CN107679214B (zh) 链接定位方法、装置、终端与计算机可读存储介质
CN104980512A (zh) 一种基于移动应用提供目标对象的方法与设备
WO2024011899A1 (zh) 微件的加载方法、装置、设备以及存储介质
CN109495553A (zh) 一种网页显示控制方法、系统及反向代理服务器
CN110941779A (zh) 加载页面的方法、装置、存储介质及电子设备
JP6525486B2 (ja) ネットワークリクエスト及びレスポンスの処理方法、端末、サーバ及び記憶媒体
CN111431767A (zh) 多浏览器资源同步方法、装置、计算机设备和存储介质
CN110765386A (zh) 网页图像的监控方法、装置、电子设备及可读存储介质
US20180375922A1 (en) Systems and methods for dynamic file creation
CN112988311A (zh) 一种基于web服务器的线上实验方法
CN108959393B (zh) 动态图片处理方法、装置及存储介质
CN112818270A (zh) 数据跨域传递方法、装置及计算机设备
CN109101429B (zh) 一种机顶盒的浏览器页面调试的方法及装置
CN112214704B (zh) 页面处理方法及装置
CN113687884B (zh) 一种文件交付方法、装置、系统、设备及存储介质
CN114489603A (zh) 代码生成方法、装置、电子设备、介质和产品
CN113626392A (zh) 文档数据更新的方法和装置、电子设备和存储介质
CN112328940A (zh) 网页嵌入过渡页的方法、装置、计算机设备及存储介质
CN112672187A (zh) 页面生成方法、装置及计算机设备
CN107220306B (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