一种提高Web应用性能的方法及客户端与流程

文档序号:14864257发布日期:2018-07-04 10:00阅读:243来源:国知局
一种提高Web应用性能的方法及客户端与流程

本发明属于互联网技术领域,尤其涉及一种提高web应用性能的方法及客户端。



背景技术:

随着互联网技术的不断发展,web应用程序也逐渐兴起。web应用程序是一种可以通过网页访问的应用程序,用户只需要有浏览器客户端即可,不需要安装专门的应用程序客户端软件,极大了方便了用户的使用。然而,现有的web应用程序,在实际使用的过程中常常会由于请求响应时间长给用户带来不好的体验,如:当web应用在发起一个需要服务器执行多个任务的请求时,服务器接收到请求后将依次执行这些任务,然后将各个任务得到的数据按照业务需要的格式组装后返回给客户端。这种传统的处理方式由于服务器是单线程依次执行多个任务,使得服务器执行周期长,使客户端总的请求响应时间长,web应用性能低,影响用户体验。



技术实现要素:

本发明实施例的目的在于提供一种提高web应用性能的方法及客户端,旨在解决上述web应用在请求多个任务时获取响应数据的速度较慢,导致web应用性能低,影响用户体验的问题。

本发明实施例是这样实现的,一种提高web应用性能的方法,包括:

根据用户输入的web请求指令分析本次请求是否需要执行多个任务;

若需要执行多个任务,则向web应用的服务器并发发出与任务个数相同数量的多个异步请求,使服务器根据多个异步请求并行执行多个任务,其中每个异步请求对应执行一个任务,并携带有对应任务需要的参数;

接收服务器并行执行多个异步请求后对应返回的多个响应数据,并在所有响应数据都到齐后将多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理。

在上述技术方案基础上,所述根据用户输入的web请求指令分析本次请求是否需要执行多个任务之后还包括:

若无需执行多个任务,则直接将所述web请求发送至所述服务器;

接收所述服务器根据所述web请求返回的响应数据,并将所述响应数据传递给业务函数进行处理。

在上述技术方案基础上,所述根据用户输入的web应用的web请求指令分析本次请求是否需要执行多个任务具体包括:

根据所述web请求的传进参数,分析所述web请求需要在服务器执行的任务个数和给每个任务传递的参数。

在上述技术方案基础上,所述接收服务器并行执行多个异步请求后对应返回的多个响应数据,并在所有响应数据都到齐后将多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理具体包括:

通过回调函数接收服务器返回的各个异步请求所对应的响应数据,并将接收到的响应数据对应存储在各个异步请求所对应的变量中;

当所述多个异步请求所对应的变量中都存储有所述服务器返回的响应数据时,则读取所述多个异步请求所对应的变量中的多个响应数据,并将所述多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理。

另一方面,本发明实施例还提供一种客户端,包括:

web请求分析单元,用于根据用户输入的web请求指令分析本次请求是否需要执行多个任务。

异步请求并发单元,用于若需要执行多个任务,则向web应用的服务器并发发出与任务个数相同数量的多个异步请求,使服务器根据多个异步请求并行执行多个任务,其中每个异步请求对应执行一个任务,并携带有对应任务需要的参数;

第一响应数据处理单元,用于接收服务器并行执行多个异步请求后对应返回的多个响应数据,并在所有响应数据都到齐后将多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理。

在上述技术方案基础上,还包括:

web请求发送单元,用于若无需执行多个任务,则直接将所述web请求发送至所述服务器;

第二响应数据处理单元,用于接收所述服务器根据所述web请求返回的响应数据,并将所述响应数据传递给业务函数进行处理。

在上述技术方案基础上,所述web请求分析单元具体用于:

根据所述web请求的传进参数,分析所述web请求需要在服务器执行的任务个数和给每个任务传递的参数。

在上述技术方案基础上,所述第一响应数据处理单元具体包括:

响应数据接收单元,通过回调函数接收服务器返回的各个异步请求所对应的响应数据,并将接收到的响应数据对应存储在各个异步请求所对应的变量中;

响应数据检测封装单元,用于当所述多个异步请求所对应的变量中都存储有所述服务器返回的响应数据时,则读取所述多个异步请求所对应的变量中的多个响应数据,并将所述多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理。

本发明实施例通过根据用户输入的web请求指令分析本次请求是否需要执行多个任务;若需要执行多个任务,则向web应用的服务器并发发出与任务个数相同数量的多个异步请求,使服务器根据多个异步请求并行执行多个任务,其中每个异步请求对应执行一个任务,并携带有对应任务需要的参数;接收服务器并行执行多个异步请求后对应返回的多个响应数据,并在所有响应数据都到齐后将多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理,从而可以提高web应用在请求多个任务时获取响应数据的速度,缩短总的请求响应时间,提高web应用性能和提升用户体验。

附图说明

图1是本发明实施例提供的一种提高web应用性能的方法的示意流程图;

图2是本发明实施例提供的一种客户端的示意性框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1是本发明实施例提供的一种提高web应用性能的方法的示意流程图,该方法的执行主体为本发明实施例中所述的客户端。参见图1所示,该方法包括:

在s101中,根据用户输入的web请求指令分析本次请求是否需要执行多个任务。

在本实施例中,所述步骤s101具体包括:

根据所述web请求的传进参数,分析所述web请求需要在服务器执行的任务个数和给每个任务传递的参数。

另外,需要说明的是,在本实施例中,所述多个任务包括两个或两个以上的任务。

在s102-1中,若需要执行多个任务,则向web应用的服务器并发发出与任务个数相同数量的多个异步请求,使服务器根据多个异步请求并行执行多个任务,其中每个异步请求对应执行一个任务,并携带有对应任务需要的参数。

在本实施例中,客户端根据本次请求需要在服务器执行的任务的个数向所述服务器并发发出多个异步请求,这样可以使服务器根据所述多个异步请求对应开启多条线程并行处理多个任务,从而可以大大缩短服务器执行多个任务所用的时间。

在s103-1中,接收服务器并行执行多个异步请求后对应返回的多个响应数据,并在所有响应数据都到齐后将多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理。

在本实施例中,步骤s103-1具体包括:

通过回调函数接收服务器返回的各个异步请求所对应的响应数据,并将接收到的响应数据对应存储在各个异步请求所对应的变量中;

当所述多个异步请求所对应的变量中都存储有所述服务器返回的响应数据时,则读取所述多个异步请求所对应的变量中的多个响应数据,并将所述多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理。

在本实施例中,所述服务器在接收到客户端发送的多个异步请求时,会对应开启多个线程,并行执行多个任务,并按照各项任务处理完成的先后顺序将各个异步请求所对应的响应数据分别返回至客户端。

在本实施例中,客户端的回调函数每接收到一个异步请求对应的响应数据后,便将该响应数据写入到该异步请求所对应的变量中,之后便会检测一次是否每个异步请求所对应的变量中都存储有对应的响应数据,若是,则读取所有响应数据并按照业务需要的格式进行组装,并在组装完成后将其传递给业务函数进行处理;否则,不再做其他处理。。

优选的,在本实施例中,在步骤s101之后还可以包括:

在s102-2中,若无需执行多个任务,则直接将所述web请求发送至所述服务器;

在s103-2中,接收所述服务器根据所述web请求返回的响应数据,并将所述响应数据传递给业务函数进行处理。

在本实施例中,若分析得出本次请求仅需在服务器端执行一次任务,则无需对所述web请求进行拆分,可直接将所述web请求转发至所述服务器,所述服务器在接收到所述web请求后,按照现有的处理流程开启一条线程处理所述web请求,并将根据所述web请求获取到的响应数据返回至所述客户端,所述客户端在接收到所述响应数据后,可直接将所述响应数据传递至业务函数进行处理。

以上可以看出,本实施例提供的一种提高web应用性能的方法通过根据用户输入的web请求指令分析本次请求是否需要执行多个任务;若需要执行多个任务,则向web应用的服务器并发发出与任务个数相同数量的多个异步请求,使服务器根据多个异步请求并行执行多个任务,其中每个异步请求对应执行一个任务,并携带有对应任务需要的参数;接收服务器并行执行多个异步请求后对应返回的多个响应数据,并在所有响应数据都到齐后将多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理,从而可以提高web应用在请求多个任务时获取响应数据的速度,缩短总的请求响应时间,提高web应用性能和提升用户体验。

图2是本发明实施例提供的一种客户端的示意性框图。为了便于说明仅仅示出了与本实施例相关的部分。

参见图2所示,本实施例提供的一种客户端10,包括:

web请求分析单元11,用于根据用户输入的web请求指令分析本次请求是否需要执行多个任务;

异步请求并发单元12,用于若需要执行多个任务,则向web应用的服务器并发发出与任务个数相同数量的多个异步请求,使服务器根据多个异步请求并行执行多个任务,其中每个异步请求对应执行一个任务,并携带有对应任务需要的参数;

第一响应数据处理单元13,用于接收服务器并行执行多个异步请求后对应返回的多个响应数据,并在所有响应数据都到齐后将多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理。

可选的,所述客户端10还包括:

web请求发送单元14,用于若无需执行多个任务,则直接将所述web请求发送至所述服务器;

第二响应数据处理单元15,用于接收所述服务器根据所述web请求返回的响应数据,并将所述响应数据传递给业务函数进行处理。

可选的,所述web请求分析单元11具体用于:

根据所述web请求的传进参数,分析所述web请求需要在服务器执行的任务个数和给每个任务传递的参数。

可选的,所述第一响应数据处理单元13具体包括:

响应数据接收单元131,通过回调函数接收服务器返回的各个异步请求所对应的响应数据,并将接收到的响应数据对应存储在各个异步请求所对应的变量中;

响应数据检测封装单元132,用于当所述多个异步请求所对应的变量中都存储有所述服务器返回的响应数据时,则读取所述多个异步请求所对应的变量中的多个响应数据,并将所述多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理。

需要说明的是,本发明实施例提供的上述客户端中的各个单元,由于与本发明图1所示的方法实施例基于同一构思,其带来的技术效果与本发明图1所示的方法实施例相同,具体内容可参见本发明图1所示的方法实施例中的叙述,此处不再赘述。

以上可以看出,本实施例提供的一种客户端同样通过web请求分析单元,用于根据用户输入的web请求指令分析本次请求是否需要执行多个任务;异步请求并发单元,用于若需要执行多个任务,则向web应用的服务器并发发出与任务个数相同数量的多个异步请求,使服务器根据多个异步请求并行执行多个任务,其中每个异步请求对应执行一个任务,并携带有对应任务需要的参数;第一响应数据处理单元,用于接收服务器并行执行多个异步请求后对应返回的多个响应数据,并在所有响应数据都到齐后将多个响应数据按照业务需要的格式进行组装后传递给业务函数进行处理,从而可以提高web应用在请求多个任务时获取响应数据的速度,缩短总的请求响应时间,提高web应用性能和提升用户体验。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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