页面请求处理方法、装置及电子设备与流程

文档序号:21102007发布日期:2020-06-16 20:54阅读:193来源:国知局
页面请求处理方法、装置及电子设备与流程

本申请涉及通信技术领域,尤其涉及一种页面请求处理方法、装置及电子设备。



背景技术:

在浏览器页面请求的业务中,前端页面在初始化时需要向后端发送大量的请求来获取页面需要的数据。如果拿不到这些数据,页面上的一些区块就无法完成渲染,因此,获取数据的速度决定了页面渲染的速度。在浏览器中,向一个域名同时发起的请求数量是有限的,为了加速请求过程,现有技术中把这些请求合并,一次性发给服务端。然而,这种做法会带来以下新的问题:

如果服务端在处理合并的请求时,其中一个请求出现了问题,有可能导致合并的所有请求变慢或者出错;此外,在请求合并的业务场景中,如果有恶意用户构造请求做跨站请求伪造(cross-siterequestforgery,csrf)攻击,则可能出现重大安全隐患。



技术实现要素:

本发明提供了一种页面请求处理方法、装置及电子设备,服务端在接收到请求端发送的合并后的页面请求后,对各页面请求进行并行化处理并将产生的请求结果信息分别发送至请求端,保证页面请求之间在处理过程中不相互依赖。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,提供了一种页面请求处理方法,包括:

获取浏览器中从业务处理页面发起的至目标地址的多个页面请求;

将所述多个页面请求合并,生成合并页面请求;

将所述合并页面请求发送至所述目标地址的服务端;

接收所述服务端针对所述合并页面请求中的每个页面请求分别发送的请求结果信息,所述服务端用于对所述合并页面请求中各所述页面请求进行并发处理后,针对每条所述页面请求产生一条对应的所述请求结果信息,并在任一条所述请求结果信息产生后将其发送至请求端。

第二方面,提供了另一种页面请求处理方法,包括:

接收请求端发送的合并页面请求,所述合并页面请求中包含从业务处理页面发起的多个页面请求;

对所述合并页面请求中各所述页面请求进行并发处理,并针对每条所述页面请求产生一条对应的请求结果信息;

在任一条所述请求结果信息产生后将其发送至所述请求端。

第三方面,提供了一种页面请求处理装置,包括:

页面请求获取模块,用于获取浏览器中从业务处理页面发起的至目标地址的多个页面请求;

页面请求合并模块,用于将所述多个页面请求合并,生成合并页面请求;

页面请求发送模块,用于将所述合并页面请求发送至所述目标地址的服务端;

请求结果接收模块,用于接收所述服务端针对所述合并页面请求中的每个页面请求分别发送的请求结果信息,所述服务端用于对所述合并页面请求中各所述页面请求进行并发处理后,针对每条所述页面请求产生一条对应的所述请求结果信息,并在任一条所述请求结果信息产生后将其发送至请求端。

第四方面,提供了另一种页面请求处理装置,包括:

页面请求接收模块,用于接接收请求端发送的合并页面请求,所述合并页面请求中包含从业务处理页面发起的多个页面请求;

页面请求处理模块,用于对所述合并页面请求中各所述页面请求进行并发处理,并针对每条所述页面请求产生一条对应的请求结果信息;

请求结果反馈模块,用于在任一条所述请求结果信息产生后将其发送至所述请求端。

第五方面,提供了一种电子设备,包括:

存储器,用于存储程序;

处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行第一方面所述的页面请求处理方法。

第六方面,提供了另一种电子设备,包括:

存储器,用于存储程序;

处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行第二方面所述的页面请求处理方法。

本发明提供了一种页面请求处理方法、装置及电子设备,在业务处理页面发起页面请求时,通过请求端对页面请求进行合并生成合并页面请求,然后发送至目标地址的服务端;服务端接收到合并页面请求后,对合并页面请求中各页面请求进行并发处理,并针对每条页面请求产生一条对应的请求结果信息;在任一条请求结果信息产生后将其发送至请求端,从而保证页面请求之间在处理过程中不相互依赖。由于请求端采用合并页面请求的方式向服务端发送页面请求,加速了请求过程;同时,服务端在处理合并页面请求时采用对各页面请求并发处理的方式,避免了各页面请求之间的相互依赖所导致的诸多问题,比如在处理合并的请求时,其中一个请求出现了问题,有可能导致所有请求变慢或者出错。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例的页面请求处理逻辑示意图;

图2为本发明实施例的页面请求处理系统结构示意图;

图3为本发明实施例的页面请求处理方法流程图一;

图4为本发明实施例的页面请求处理方法流程图二;

图5为本发明实施例的页面请求合并方法示意图;

图6为本发明实施例的页面请求处理方法流程图三;

图7为本发明实施例的页面请求处理方法流程图四;

图8为本发明实施例的页面请求处理装置结构图一;

图9为本发明实施例的页面请求处理装置结构图二;

图10为本发明实施例的页面请求处理装置结构图三;

图11为本发明实施例的页面请求处理装置结构图四;

图12为本发明实施例的电子设备的结构示意图一;

图13为本发明实施例的电子设备的结构示意图二。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例改善了现有技术在请求端从业务处理页面发起合并的页面请求后,如果服务端在处理合并的页面请求时,其中一个请求出现了问题,有可能导致所有请求变慢或者出错的缺陷,其核心思想是,在服务端处理合并请求时,是对合并的页面请求中的各页面请求进行并发处理,并且在任一页面请求处理完成产生请求结果后,将该请求结果添加到请求结果信息中并反馈给请求端,即服务端主动向请求端发送请求结果信息,而不再受合并页面请求的触发限制。

基于上述页面请求处理的方案思想,图1为本发明实施例提供的页面请求处理逻辑示意图。该处理逻辑包括:

当判断在浏览器中的某个业务处理页面存在发起页面请求的需求时,可以不直接针对每个页面请求逐一发送,而是将多个页面请求进行合并,对合并的页面请求进行序列化,形成一个合并页面请求。为了防止恶意用户做跨站请求伪造(cross-siterequestforgery,csrf)攻击,可以在合并页面请求中添加校验令牌(token),以用于服务端实现csrf校验。

请求端通过websocket方式与服务端通信连接。需要说明的是,本方案中请求端与服务端采用的通信方式需要满足服务端可以不受限于请求端发送的请求而可以与请求端保持一段相对稳定的连接状态,以向请求端主动发送信息。因此,除了websocket方式外,请求端和服务端之间还可以采用长轮询、长连接等方式实现通信连接。

服务端接收到请求端发送的合并页面请求后,如果该合并页面请求中包含csrftoken,则可以先进行csrf校验,然后基于校验结果,对合并页面请求中的各页面请求执行并发请求处理,生成每个页面请求对应的页面请求结果。当任一页面请求被处理完成产生相应的页面请求结果后,该页面请求结果协同token生成器本次产生的token作为请求结果信息反馈至请求端。

请求端接收到请求结果信息后,提取其中的token对本地存储的token进行刷新替换,以便下次发送合并页面请求时使用;然后,对请求结果信息的剩余部分执行解序列化,从中解析出页面请求结果,发送至相应的业务处理页面。

基于图1所示的页面请求处理逻辑,如图2所示,为本发明实施例提供的页面请求处理系统的结构示意图。该系统包括:请求端210、目标地址的服务端220。其中:

请求端210可以是存在页面请求业务的浏览器,当请求端210获取到从业务处理页面发起的至服务端220的多个页面请求后,将多个页面请求进行合并,生成合并页面请求,然后将该合并页面请求发送至目标地址的服务端220。

目标地址的服务端220可以为业务处理页面发送的页面请求所指向的目标地址对应的服务端。目标地址的服务端220在接收到请求端210发出的合并页面请求后,对合并页面请求中包含的各页面请求执行并发处理操作,并在任一页面请求被处理完成产生相应的请求结果后,将请求结果信息主动发送至请求端210。

为了保证服务端220能主动向请求端210发送请求结果而不受合并页面请求的约束,服务端220与请求端210之间可采用websocket、长轮询、长连接等任一种方式实现通信连接。

下面通过多个实施例来进一步说明本申请的技术方案。

实施例一

基于上述页面请求处理的方案思想,如图3所示,其为本发明实施例示出的页面请求处理方法流程图一,该方法可通过图2中所示的请求端210执行完成。如图3所示,该页面请求处理方法包括如下步骤:

s310,获取浏览器中从业务处理页面发起的至目标地址的多个页面请求。

通常,浏览器中业务处理页面发送页面请求至目标地址时,是通过postmessageapi发送页面请求,因此,通过监听postmessageapi可以拦截获得到上述页面请求。

s320,将多个页面请求合并,生成合并页面请求。

传统的从业务处理页面向目标地址的服务端发送页面请求是每产生一个页面请求就触发一次请求过程,以将该页面请求发送至目标地址的服务端进行处理。本方案中为了加速请求过程,将多个页面请求进行合并处理,生成一个合并页面请求,以通过一次请求过程将包含多个页面请求的合并页面请求发送至服务端进行处理。

为了保证待合并的页面请求能够在预设时间内满足合并的数目条件要求,并以合并页面请求发出。本方案引入了模拟请求来触发合并操作正常进行,保证每个页面请求都能在规定的时间内及时被发出,避免由于页面请求因长时间数目不满足合并要求,而不能触发合并操作形成合并页面请求被发送至服务端,从而影响页面请求的处理效率。具体地,可通过如图4所示的页面请求处理方法对页面请求进行合并操作。

s410,按预设频率生成模拟请求,并监测当前未处理的模拟请求和页面请求的数目。

业务处理页面发起多个页面请求后,这些页面请求不会立刻被发出,而是按照图5的方式进行排队,这是为了更加高效的复用服务端下发的token。如果按照传统的页面请求处理过程,则每个页面请求都需要一个token。但是在业务处理页面初始化时并不能确定一共有多少个页面请求,因此服务端也无法下发足量的token。如果下发过多token但最终没有发出页面请求,则会浪费服务端资源。因此可按照图5的方式,将页面请求先缓存到一个请求队列中,当队列中的页面请求数达到设定的值n时,这些页面请求才会进入下一步。

为了防止请求队列中请求数量长时间达不到n,导致一部分页面请求一直等待,可以设置一个定时器,该定时器会按照固定频率频繁的向请求队列中添加模拟请求,这样可以确保在一个较短的时间周期内,页面请求一定会被发出。

由于本方案中该模拟请求只作为触发合并页面请求操作的请求占位名额,而非实际合并操作的处理对象,所以该模拟请求的内容可以为空。

s420,如果当前未处理的模拟请求和页面请求的总数目等于预置数目,则提取未处理的所有页面请求进行合并,生成合并页面请求,并丢弃未处理的所有模拟请求。

例如,当请求队列中截至当前未处理的模拟请求和页面请求的总数目等于预置数目n时,这些请求会被取出,去掉其中的模拟请求,然后将剩余的页面请求进行合并以及序列化为一个请求包。同时,清空请求队列,以开始下一次针对未处理的模拟请求和页面请求的数目监测过程。

由于模拟请求是按预设频率产生,所以即使正常的页面请求产生速度较慢,也不会影响请求端对页面请求的合并操作的执行过程,保证业务页面产生的页面请求能够被及时发送至服务端进行处理。

另外,上述合并页面请求中具体可包括:请求体和用于防止跨站请求伪造的校验令牌(token)。

其中,请求体中包含了页面请求的实质内容,即如上述的将页面请求进行合并以及序列化后形成的请求包的内容。服务端可基于请求体中的页面请求内容执行相应的处理逻辑,生成执行结果。跨站请求伪造csrf的校验令牌token用于服务端对合并页面请求进行csrf校验,并基于校验结果确定是否执行页面请求,以及形成请求结果信息。

在形成合并页面请求时,可将上述形成的请求包和请求端预先获取到的csrftoken一起作为合并页面请求的内容。

为了进一步对token的合法性进行校验,在合并页面请求中还可包括:业务页面所属用户的用户身份信息,该用户身份信息可从已存储的cookie中获取,上述校验令牌为基于用户身份信息生成。

比如,当使用恶意用户提供的用户身份信息生成token后,与合并页面请求中携带的token不一致,那么即使后者的token合法,也认为token校验未通过。如此,当恶意用户使用一个有效的token来伪造合并页面请求,由于拿不到其对应的正确的用户身份信息,从而无法通过服务端的token校验。

s330,将合并页面请求发送至目标地址的服务端。

请求端形成合并页面请求之后,将其发送至目标地址的服务端,为了保证后续服务端能够针对合并页面请求中的每个页面请求并发处理后,主动发送每条页面请求对应的请求结果至请求端,这里请求端与服务端进行通信的方式可包括:websocket、长轮询、长连接中的任一种。

s340,接收服务端针对合并页面请求中的每个页面请求分别发送的请求结果信息;服务端用于对合并页面请求中各页面请求进行并发处理后,针对每条页面请求产生一条对应的请求结果信息,并在任一条请求结果信息产生后将其发送至请求端。

服务端通过websocket、长轮询、长连接中的任一种通信方式接收到合并页面请求后,针对合并页面请求中的请求体中的各页面请求执行并发请求处理,生成每个页面请求对应的页面请求结果。并且,当任一页面请求被处理完成产生相应的页面请求结果后,该页面请求结果将作为一条请求结果信息反馈至请求端。

由于服务端每执行完一条页面请求后,就会将相应产生的请求结果信息通过一次数据传输发送至请求端,因此请求端会接收到服务端针对合并页面请求中的每个页面请求分别发送的请求结果信息。

进一步地,如果本方案的页面请求过程中还包含关于csrf的校验过程,那么在上述请求结果信息中具体可包括:执行结果或者错误信息和服务端本次生成的校验令牌,该校验令牌用于替换请求端当前存储的校验令牌。该校验令牌对应设置有有效期,用于在每次生成新的校验令牌后,该新的校验令牌在有效期内持续有效。

具体地,服务端从如websocket收到合并页面请求之后,首先检验合并页面请求中的token是否有效,如果无效则拒绝执行合并页面请求中的任一页面请求,并产生每条页面请求对应的错误信息;如果有效,则从请求体中解析出所有的页面请求。为了提高性能,服务端会采用多线程并发处理这些页面请求,当其中任意一个请求完成,产生相应的执行结果或者是错误信息后,利用websocket双向通信的特点,可以立刻把请求结果(执行结果或者错误信息)返回给请求端。这样,各个页面请求之间就不会相互依赖,即使发生错误或者超时也不会相互影响。在任何一个请求结果返回之前,都会通过token生成器在请求结果信息中添加一个最新的token。token生成器会缓存上次会话所生成的新的token,并且在该token被消耗或者失效之前,即在有效期之内,不会生成新的token。

请求端在接收到请求结果信息之后,首先用该信息中的token替换本地的csrftoken,这样下一次请求时就可以使用该token。接着解析请求结果信息中的返回值,并通过回调函数把返回值派发给该请求的发送者,这样就完成了一次请求的过程。

本发明提供的页面请求处理方法,在业务处理页面发起页面请求时,通过请求端对页面请求进行合并生成合并页面请求,然后发送至目标地址的服务端;接收服务端针对合并页面请求中的每个页面请求分别发送的请求结果信息,服务端用于对合并页面请求中各页面请求进行并发处理后,针对每条页面请求产生一条对应的请求结果信息,并在任一条请求结果信息产生后将其发送至请求端,从而保证页面请求之间在处理过程中不相互依赖。由于请求端采用合并页面请求的方式向服务端发送页面请求,加速了请求过程;同时,服务端在处理合并页面请求时采用对各页面请求并发处理的方式,避免了各页面请求之间的相互依赖所导致的诸多问题,比如在处理合并的请求时,其中一个请求出现了问题,有可能导致所有请求变慢或者出错。

进一步地,通过引用模拟请求,保证正常的页面请求能够及时的被进行合并处理以产生合并页面请求,并发送至服务端进行处理。

进一步地,通过在合并页面请求中增加csrftoken以及用户身份信息以实现csrf校验,保证合并页面请求的合法性,降低处理风险。

进一步地,为了保证服务端能主动向请求端发送请求结果而不受合并页面请求的约束,服务端与请求端之间可采用websocket、长轮询、长连接等任一种方式实现通信连接。

实施例二

基于上述页面请求处理的方案思想,如图6所示,其为本发明实施例示出的页面请求处理方法流程图三,该方法可通过图2中所示的服务端220执行完成。如图6所示,该页面请求处理方法包括如下步骤:

s610,接收请求端发送的合并页面请求,该合并页面请求中包含从业务处理页面发起的多个页面请求。

通常,浏览器中业务处理页面发送页面请求至目标地址时,是通过postmessageapi发送页面请求,因此,服务端可通过监听postmessageapi可以拦截获得到待发送至目标地址的页面请求,然后对这些页面请求进行合并处理生成合并页面请求。页面请求对应的目标地址的服务端可通过一次数据传输接收该合并页面请。

其中,关于合并页面请求的生成过程可参见图4所示的方法步骤。

s620,对合并页面请求中各页面请求进行并发处理,并针对每条页面请求产生一条对应的请求结果信息。

服务端接收到合并页面请求后,针对合并页面请求中的各页面请求执行并发请求处理,生成每个页面请求对应的页面请求结果,并以每个页面请求结果作为信息内容形成一条待发送至请求端的请求结果信息。

s630,在任一条请求结果信息产生后将其发送至请求端。

当任一页面请求被处理完成产生相应的页面请求结果信息后,将该页面请求结果信息反馈至请求端。

由于服务端每执行完一条页面请求后,就会将相应产生的请求结果信息通过一次数据传输发送至请求端,因此请求端会接收到服务端针对合并页面请求中的每个页面请求分别发送的请求结果信息。

进一步地,为了保证服务端能主动向请求端发送请求结果而不受合并页面请求的约束,服务端与请求端之间可采用websocket、长轮询、长连接等任一种方式实现通信连接。

另外,上述合并页面请求中具体可包括:请求体和用于防止跨站请求伪造的校验令牌(token)。

其中,请求体中包含了页面请求的实质内容,即如上述的将页面请求进行合并以及序列化后形成的请求包的内容。服务端可基于请求体中的页面请求内容执行相应的处理逻辑,生成执行结果。跨站请求伪造csrf的校验令牌token用于服务端对合并页面请求进行csrf校验,并基于校验结果确定是否执行页面请求,以及形成请求结果信息。具体地,如图7所示,在图6所示方法中还包括如下步骤:

s710,对校验令牌进行校验;如果校验通过,则进入步骤s720;如果校验未通过,则进入步骤s730。

服务端提取合并页面请求中携带的token与本地的token进行比较进行csrf校验。

s720,基于请求体执行处理业务逻辑,并将执行结果添加到请求结果信息中。

如果校验通过,则表明该合并页面请求没有被csrf攻击,此时,服务端可对合并页面请求中的请求体中的各页面请求进行并发处理,并将处理每个页面请求后产生的执行结果添加到该页面请求对应的请求结果信息中。

s730,将校验产生的错误信息添加到请求结果信息中。

如果校验未通过,则表明该合并页面请求可能存在csrf攻击,此时,服务端可拒绝对该合并页面请求中包含的任一页面请求进行处理,并将校验产生的错误信息添加到每个页面请求对应的请求结果信息中。

s740,生成本次的校验令牌,并将其添加到请求结果信息中,以用于替换请求端当前存储的校验令牌。

在任何一个请求结果返回之前,都会通过token生成器在请求结果信息中添加一个最新的校验令牌token。该校验令牌对应设置有有效期,用于在每次生成新的校验令牌后,该新的校验令牌在有效期内持续有效。

token生成器会缓存上次会话所生成的新的token,并且在该token被消耗或者失效之前,即在有效期之内,不会生成新的token。

综上最终产生的请求结果信息中会包含执行结果或者错误信息和服务端本次生成的校验令牌,该校验令牌用于替换请求端当前存储的校验令牌。

步骤s720~步骤s740可作为上述步骤s620的细化内容。

为了进一步实现服务端对token的合法性进行校验,在合并页面请求中还可包括:业务页面所属用户的用户身份信息,该用户身份信息可从已存储的cookie中获取,上述校验令牌为基于用户身份信息生成。

相应的,在图7所示方法中,还可包括如下步骤:

根据合并页面请求中包括的用户身份信息对校验令牌进行校验。

比如,当使用恶意用户提供的用户身份信息生成token后,与合并页面请求中携带的token不一致,那么即使后者的token合法,也认为token校验未通过。如此,当恶意用户使用一个有效的token来伪造合并页面请求,由于拿不到其对应的正确的用户身份信息,从而无法通过服务器的token校验。

本发明提供的页面请求处理方法,服务端接收到请求端发送的合并页面请求后,对合并页面请求中各页面请求进行并发处理,并针对每条页面请求产生一条对应的请求结果信息;在任一条请求结果信息产生后将其发送至请求端,从而保证页面请求之间在处理过程中不相互依赖。由于请求端采用合并页面请求的方式向服务端发送页面请求,加速了请求过程;同时,服务端在处理合并页面请求时采用对各页面请求并发处理的方式,避免了各页面请求之间的相互依赖所导致的诸多问题,比如在处理合并的请求时,其中一个请求出现了问题,有可能导致所有请求变慢或者出错。

进一步地,通过在合并页面请求中增加csrftoken以及用户身份信息以实现csrf校验,保证合并页面请求的合法性,降低处理风险。

进一步地,为了保证服务端能主动向请求端发送请求结果而不受合并页面请求的约束,服务端与请求端之间可采用websocket、长轮询、长连接等任一种方式实现通信连接。

实施例三

如图8所示,为本发明实施例的页面请求处理装置结构图一,该页面请求处理装置可设置在图2所示的页面请求处理系统中的请求端210,用于执行如图3所示的方法步骤,其包括:

页面请求获取模块810,用于获取浏览器中从业务处理页面发起的至目标地址的多个页面请求;

页面请求合并模块820,用于将多个页面请求合并,生成合并页面请求;

页面请求发送模块830,用于将合并页面请求发送至目标地址的服务端;

请求结果接收模块840,用于接收服务端针对合并页面请求中的每个页面请求分别发送的请求结果信息,服务端用于对合并页面请求中各页面请求进行并发处理后,针对每条所述页面请求产生一条对应的请求结果信息,并在任一条请求结果信息产生后将其发送至请求端。

进一步地,如图9所示,上述页面请求合并模块820可包括:

页面请求监测单元910,用于按预设频率生成模拟请求,并监测当前未处理的模拟请求和页面请求的数目;

页面请求合并单元920,用于如果当前未处理的模拟请求和页面请求的总数目等于预置数目,则提取未处理的所有页面请求进行合并,生成合并页面请求,并丢弃未处理的所有模拟请求。

图9所示页面请求处理装置可用于执行如图4所示的方法步骤。

进一步地,上述合并页面请求中可包括:请求体和用于防止跨站请求伪造的校验令牌;请求结果信息中包括:执行结果或者错误信息和服务端本次生成的校验令牌,该校验令牌用于替换请求端当前存储的校验令牌。

进一步地,上述合并页面请求中还可包括:业务页面所属用户的用户身份信息,校验令牌为基于用户身份信息生成。

进一步地,上述校验令牌对应设置有有效期,用于在每次生成新的校验令牌后,该新的校验令牌在有效期内持续有效。

进一步地,与服务端进行通信的方式可包括:websocket、长轮询、长连接中的任一种。

本发明提供的页面请求处理装置,在业务处理页面发起页面请求时,通过请求端对页面请求进行合并生成合并页面请求,然后发送至目标地址的服务端;接收服务端针对合并页面请求中的每个页面请求分别发送的请求结果信息,服务端用于对合并页面请求中各页面请求进行并发处理后,针对每条页面请求产生一条对应的请求结果信息,并在任一条请求结果信息产生后将其发送至请求端,从而保证页面请求之间在处理过程中不相互依赖。由于请求端采用合并页面请求的方式向服务端发送页面请求,加速了请求过程;同时,服务端在处理合并页面请求时采用对各页面请求并发处理的方式,避免了各页面请求之间的相互依赖所导致的诸多问题,比如在处理合并的请求时,其中一个请求出现了问题,有可能导致所有请求变慢或者出错。

进一步地,通过引用模拟请求,保证正常的页面请求能够及时的被进行合并处理以产生合并页面请求,并发送至服务端进行处理。

进一步地,通过在合并页面请求中增加csrftoken以及用户身份信息以实现csrf校验,保证合并页面请求的合法性,降低处理风险。

进一步地,为了保证服务端能主动向请求端发送请求结果而不受合并页面请求的约束,服务端与请求端之间可采用websocket、长轮询、长连接等任一种方式实现通信连接。

实施例四

如图10所示,为本发明实施例的页面请求处理装置结构图三,该页面请求处理装置可设置在图2所示的页面请求处理系统中的服务端220,用于执行如图6所示的方法步骤,其包括:

页面请求接收模块101,用于接收请求端发送的合并页面请求,该合并页面请求中包含从业务处理页面发起的多个页面请求;

页面请求处理模块102,用于对合并页面请求中各页面请求进行并发处理,并针对每条页面请求产生一条对应的请求结果信息;

请求结果反馈模块103,用于在任一条请求结果信息产生后将其发送至请求端。

进一步地,上述合并页面请求中可包括:请求体和用于防止跨站请求伪造的校验令牌;

相应的,如图11所示,上述图10所示的页面请求处理装置中还可包括:

令牌校验模块111,用于对校验令牌进行校验;

相应的,上述页面请求处理模块102可包括:

执行结果添加单元112,用于如果校验通过,则基于请求体执行处理业务逻辑,并将执行结果添加到请求结果信息中;

错误信息添加单元113,用于如果校验未通过,则将校验产生的错误信息添加到请求结果信息中;

校验令牌添加单元114,用于生成本次的校验令牌,并将其添加到请求结果信息中,以用于替换请求端当前存储的校验令牌。

图11所示的页面请求处理装置可用于执行如图7所示的方法步骤。

进一步的,上述合并页面请求中还可包括:业务页面所属用户的用户身份信息,校验令牌为基于用户身份信息生成;

相应的,上述令牌校验模块111还可用于,

根据合并页面请求中包括的用户身份信息对校验令牌进行校验。

进一步地,上述校验令牌对应设置有有效期,用于在每次生成新的校验令牌后,该新的校验令牌在有效期内持续有效。

进一步的,与请求端进行通信的方式可包括:websocket、长轮询、长连接中的任一种。

本发明提供的页面请求处理装置,服务端接收到请求端发送的合并页面请求后,对合并页面请求中各页面请求进行并发处理,并针对每条页面请求产生一条对应的请求结果信息;在任一条请求结果信息产生后将其发送至请求端,从而保证页面请求之间在处理过程中不相互依赖。由于请求端采用合并页面请求的方式向服务端发送页面请求,加速了请求过程;同时,服务端在处理合并页面请求时采用对各页面请求并发处理的方式,避免了各页面请求之间的相互依赖所导致的诸多问题,比如在处理合并的请求时,其中一个请求出现了问题,有可能导致所有请求变慢或者出错。

进一步地,通过在合并页面请求中增加csrftoken以及用户身份信息以实现csrf校验,保证合并页面请求的合法性,降低处理风险。

进一步地,为了保证服务端能主动向请求端发送请求结果而不受合并页面请求的约束,服务端与请求端之间可采用websocket、长轮询、长连接等任一种方式实现通信连接。

实施例五

前面实施例三描述了页面请求处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图12所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器121和处理器122。

存储器121,用于存储程序。

除上述程序之外,存储器121还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器121可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器122,耦合至存储器121,用于执行存储器121中的程序,所述程序运行时执行如图3至图4中任意一种页面请求处理方法。

上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。

进一步,如图12所示,电子设备还可以包括:通信组件123、电源组件124、音频组件125、显示器126等其它组件。图12中仅示意性给出部分组件,并不意味着电子设备只包括图12所示组件。

通信组件123被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件123经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件123还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件124,为电子设备的各种组件提供电力。电源组件124可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件125被配置为输出和/或输入音频信号。例如,音频组件125包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器121或经由通信组件123发送。在一些实施例中,音频组件125还包括一个扬声器,用于输出音频信号。

显示器126包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

实施例六

前面实施例四描述了页面请求处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图13所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器131和处理器132。

存储器131,用于存储程序。

除上述程序之外,存储器131还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器131可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器132,耦合至存储器131,用于执行存储器131中的程序,所述程序运行时执行如图6至图7中任意一种页面请求处理方法。

上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。

进一步,如图13所示,电子设备还可以包括:通信组件133、电源组件134、音频组件135、显示器136等其它组件。图13中仅示意性给出部分组件,并不意味着电子设备只包括图13所示组件。

通信组件133被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件133经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件133还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件134,为电子设备的各种组件提供电力。电源组件134可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件135被配置为输出和/或输入音频信号。例如,音频组件135包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器131或经由通信组件133发送。在一些实施例中,音频组件135还包括一个扬声器,用于输出音频信号。

显示器136包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

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

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