首页> 中国专利> 访问请求的处理方法、系统、装置、存储介质和电子设备

访问请求的处理方法、系统、装置、存储介质和电子设备

摘要

本发明公开了一种访问请求的处理方法、系统、装置、存储介质和电子设备。方法包括:接收查询请求;确定是否存在查询请求所请求的数据;如果不存在,则按照预设条件阻塞返回响应结果;在阻塞结束的情况下,获取查询请求的新的响应结果。通过本发明,达到了节约浪费访问资源的技术效果。

著录项

  • 公开/公告号CN112543215A

    专利类型发明专利

  • 公开/公告日2021-03-23

    原文格式PDF

  • 申请/专利权人 北京国双科技有限公司;

    申请/专利号CN201910900666.5

  • 发明设计人 杨腾;

    申请日2019-09-23

  • 分类号H04L29/08(20060101);G06F16/953(20190101);G06F16/958(20190101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人周春枚

  • 地址 100083 北京市海淀区北四环中路229号海泰大厦4层南401号

  • 入库时间 2023-06-19 10:21:15

说明书

技术领域

本发明涉及互联网领域,具体而言,涉及一种访问请求的处理方法、系统、装置、存储介质和电子设备。

背景技术

目前,在获取页面上的数据时,客户端会定时获取刷新页面上的数据。通常采用客户端定时向服务器发送请求,服务器接到请求后马上进行响应并返回结果,关闭连接的轮询方式。

由于客户端是不断地向服务器请求,增大了服务器对请求的处理的压力,并且服务器无论有没有更新数据都会向客户端返回响应结果,这就造成了大量无意义的请求,从而浪费了带宽和服务器资源,存在浪费访问资源的问题。

针对现有技术中由于无论服务器有没有更新数据都会返回结果的轮询方式,导致存在浪费访问资源的技术问题,目前尚未提出有效的解决方案。

发明内容

本发明的主要目的在于提供一种访问请求的处理方法、系统、装置、存储介质和电子设备,以至少解决由于无论服务器有没有更新数据都会返回结果的轮询方式,导致存在浪费访问资源的技术问题。

为了实现上述目的,根据本发明的一个方面,提供了一种访问请求的处理方法。该方法包括:接收查询请求;确定是否存在查询请求所请求的数据;如果不存在,则按照预设条件阻塞返回响应结果;在阻塞结束的情况下,获取查询请求的新的响应结果。

可选地,确定是否存在查询请求所请求的数据,包括:查询数据库中是否存在查询请求所请求的数据;如果查询成功,则判断数据是否为空;则确定用于指示不存在查询请求所请求的数据的响应结果;如果查询成功且数据不为空,则确定存在查询请求所请求的数据。

可选地,按照预设条件阻塞返回响应结果,包括:通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数和/或时长。

可选地,在阻塞结束的情况下,获取查询请求的新的响应结果,包括:如果进入睡眠状态的次数超过预定次数和/或进入所述睡眠状态的时长超过预定时长,,则再次确定是否存在所述查询请求所请求的数据;如果存在,则确定阻塞结束,将查询请求所请求的新数据作为新的响应结果。

可选地,在获取查询请求的新的响应结果之后,将新的响应结果返回。

为了实现上述目的,根据本发明的一个方面,提供了一种访问请求的处理系统。该系统包括:前端客户端,用于发送查询请求;服务器,与前端客户端通信,用于接收查询请求,并确定是否存在查询请求所请求的数据,如果不存在,则按照预设条件阻塞返回响应结果;在阻塞结束的情况下,将获取查询请求的新的响应结果返回给前端客户端。

为了实现上述目的,根据本发明的一个方面,还提供了一种访问请求的处理装置。该装置包括:接收模块,用于接收查询请求;确定模块,用于确定是否存在查询请求所请求的数据;返回模块,用于如果不存在,则按照预设条件阻塞返回响应结果;获取模块,用于在阻塞结束的情况下,获取查询请求的新的响应结果。

为了实现上述目的,根据本发明的一个方面,还提供了一种存储介质。该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的访问请求的处理方法。

为了实现上述目的,根据本发明的一个方面,还提供了一种处理器。该处理器用于运行程序,其中,程序运行时执行本发明实施例的访问请求的处理方法。

通过本发明,采用接收查询请求;确定是否存在查询请求所请求的数据;如果不存在,则按照预设条件阻塞返回响应结果;在阻塞结束的情况下,获取查询请求的新的响应结果。也就是说,在不存在查询请求所请求的数据的情况下,并不向客户端返回响应结果,而是按照预设条件阻塞返回响应结果,从而大幅减少空响应的数量,减少空响应占用的带宽,可以减少浏览器向Web服务器发送请求的次数,减轻服务器的压力,从而节省带宽和服务器资源,进而解决了由于无论服务器有没有更新数据都会返回结果的轮询方式,导致存在浪费访问资源的技术问题,进而达到了节约访问资源的技术效果。

解决了由于无论服务器有没有更新数据都会返回结果的轮询方式,导致存在浪费访问资源的技术问题,进而达到了节约访问资源的技术效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种访问请求的处理方法的流程图;

图2是根据本发明实施例的另一种访问请求的处理方法的流程图;

图3是根据本发明实施例的一种访问请求的处理系统的示意图;

图4是根据本发明实施例的一种访问请求的处理装置的示意图;以及

图5是根据本发明实施例的一种电子设备的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

本发明实施例提供了一种访问请求的处理方法。

图1是根据本发明实施例的一种访问请求的处理方法的流程图。如图1所示,该方法可以包括以下步骤:

步骤S102,接收查询请求。

在本发明上述步骤S102提供的技术方案中,服务器接收客户端发送的查询请求,其中,服务器可以为后台网页(Web)服务器,可以用于部署Web应用,查询请求也即客户端向服务器发送的一次轮询请求,可以为Ajax请求,用于查询客户端所需要的数据,该数据可以为刷新页面上的数据,也即,页面的更新数据,此处不做限制,客户端可以为浏览器。

步骤S104,确定是否存在查询请求所请求的数据。

在本发明上述步骤S104提供的技术方案中,在服务器接收查询请求之后,确定是否存在查询请求所请求的数据,该查询请求所请求的数据也即服务器响应查询请求所得到的数据。

在该实施例中,服务器中的数据是不断进行更新的,并不是每次接收到客户端发送的查询请求,就会有查询请求所请求的数据。在服务器中有查询请求所请求的数据的情况下,客户端发送的查询请求是有意义的请求,而在服务器中没有查询请求所请求的数据的情况下,客户端发送的查询请求是无意义的请求。

该实施例的服务器可以判断服务器中是否存在查询请求所请求的数据。如果判断出服务器中存在查询请求所请求的数据,则服务器可以将查询请求所请求的数据作为响应结果返回至客户端;如果判断出服务器中不存在查询请求所请求的数据,则可以执行步骤S106。

步骤S106,如果不存在,则按照预设条件阻塞返回响应结果。

在本发明上述步骤S106提供的技术方案中,在确定是否存在查询请求所请求的数据之后,如果服务器中不存在查询请求所请求的数据,则按照预设条件阻塞返回响应结果,也即,阻塞查询请求、阻塞空响应结果,从而避免将空响应结果返回至客户端,造成访问资源的浪费。

需要说明的是,该实施例阻塞返回结果并不代表查询请求在服务器中的查询流程就结束了,可以根据需要在服务器中再次启用查询请求来查询是否有所要请求的数据,也即,阻塞查询请求只是暂时性的停止查询请求的查询流程。

该实施例的预设条件是预先在服务器中设定的如果不存在查询请求所请求的数据,则需要阻塞返回结果的限制条件。可选地,如果不满足该预设条件,则可以继续使用查询请求查询服务器中是否存在查询请求所请求的数据。

步骤S108,在阻塞结束的情况下,获取查询请求的新的响应结果。

在本发明上述步骤S108提供的技术方案中,在按照预设条件阻塞返回响应结果之后,可以判断阻塞是否结束。可选地,在不满足预设条件的情况下,重新根据客户端一开始发送的查询请求来查询服务器中是否存在查询请求所请求的数据,如果有查询请求所请求的数据,则该查询请求所请求的数据为新的响应结果,将其作为返回结果返回至客户端,客户端在接收到新的响应结果之后,会再次向服务器发送查询请求。

在相关技术中,由于服务器无论有没有查询请求所请求的数据都会向客户端返回响应结果,这样客户端在接收到响应结果后,无论该响应结果是查询请求请求到数据的响应结果还是查询请求没有请求到数据的响应结果,都会再次向服务器发送查询请求,从而造成了大量无意义的请求,而该实施例在服务器中没有查询请求所请求的数据的情况下,按照预设条件阻塞返回响应结果,这样客户端由于没有接收到响应结果而停止再次向服务器发送查询请求,而在阻塞结束的情况下,才获取服务器发送的查询请求的新的响应结果,这时客户端就可以正常向服务器再次发送查询请求,从而达到了避免客户端无论有没有查询请求所请求的数据都不断请求的目的,减少了客户端向服务器发送查询请求的次数,由于大幅减少了空响应的数量,从而避免了浪费带宽和服务器资源,进而减轻了服务器的压力,解决了由于无论服务器有没有更新数据都会返回结果的轮询方式,导致存在浪费访问资源的技术问题,进而达到了节约访问资源的技术效果。

作为一种可选的实施方式,步骤S104,确定是否存在查询请求所请求的数据,包括:查询数据库中是否存在查询请求所请求的数据;如果查询成功,则判断数据是否为空;则确定用于指示不存在查询请求所请求的数据的响应结果;如果查询成功且数据不为空,则确定存在查询请求所请求的数据。

在该实施例中,服务器中设置有数据库,可以用于存储查询请求所请求的数据,比如,存储刷新页面上的数据,可以不断地进行更新。在确定是否存在查询请求所请求的数据时,可以查询数据库中是否存在查询请求所请求的数据,比如,按照目标数据标识查询数据库中是否存在查询请求所请求的数据。如果查询数据库中存在查询请求所请求的数据,则确定查询成功,可以进一步判断数据是否为空数据,该空数据即为无效数据。如果判断数据库中存在查询请求所请求的数据为空,则确定用于指示不存在查询请求所请求的数据的响应结果;可选地,如果查询数据库中不存在查询请求所请求的数据,则确定查询失败,可以确定用于指示不存在查询请求所请求的数据的响应结果;如果数据库中存在查询请求所请求的数据且该数据不为空,则确定存在查询请求所请求的数据,可以将该数据作为响应结果返回至客户端。

作为一种可选的实施方式,步骤S106,按照预设条件阻塞返回响应结果,包括:通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数和/或时长。

作为一种可选的实施方式,步骤S108,在阻塞结束的情况下,获取查询请求的新的响应结果,包括:如果进入睡眠状态的次数超过预定次数和/或进入睡眠状态的时长超过预定时长,则再次确定是否存在查询请求所请求的数据;如果存在,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果。

下面对该实施例的通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数的方法进行介绍。

在该实施例中,可以通过线程来执行返回响应结果。客户端向服务器请求连接的时间是有限制的,在线程进入睡眠状态时,客户端向服务器请求连接的时间超时会自动断开连接,则可以阻塞其返回响应结果。可选地,该实施例的预设条件可以根据线程进入睡眠状态的次数而设定,比如,该预设条件为控制线程进入睡眠状态的次数小于预定次数的条件,如果控制线程进入睡眠状态的次数小于预定次数,则继续控制线程进入睡眠状态,从而达到继续阻塞返回响应结果的目的。

在通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数的情况下,如果进入睡眠状态的次数超过预定次数和/或进入睡眠状态的时长超过预定时长,则再次确定是否存在查询请求所请求的数据,包括:如果进入睡眠状态的次数超过预定次数,则返回继续查询数据库中是否存在查询请求所请求的数据;如果存在,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果包括:如果再次查询成功,且查询到的新数据不为空,则确定阻塞结束,将查询请求所请求的新数据作为新的响应结果。

在该实施例中,数据库中的数据可以不断地进行更新。如果控制线程进入睡眠状态的次数超过预定次数,比如,该预定次数为1,则可以返回继续查询数据库中是否存在查询请求所请求的数据。如果数据库中这时已经存在查询请求所请求的数据,则确定再次查询成功,进一步判断查询到的新数据是否为空,如果判断出查询到的新数据不为空,则可以确定阻塞结束,并且将查询到的新数据作为新的响应结果。

可选地,如果判断出数据库中存在查询请求所请求的数据为空,则确定用于指示不存在查询请求所请求的数据的响应结果,可以继续按照控制线程进入睡眠状态的次数小于预定次数的条件阻塞返回响应结果;可选地,如果继续查询数据库中不存在查询请求所请求的数据,则也确定再次查询失败,可以确定用于指示不存在查询请求所请求的数据的响应结果,可以继续按照控制线程进入睡眠状态的次数小于预定次数的条件来阻塞返回响应结果。

下面对该实施例的通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的时长的方法进行介绍。

在该实施例中,预设条件可以根据控制线程进入睡眠状态的时长来确定,比如,该预设条件可以为控制线程进入睡眠状态的时长小于预定时长的条件,其中,预定时长可以进行设置。如果控制线程进入睡眠状态的时长小于预定时长,则继续控制线程进入睡眠状态,从而达到继续阻塞返回响应结果的目的。

在通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的时长的情况下,如果进入睡眠状态的次数超过预定次数和/或进入睡眠状态的时长超过预定时长,则再次确定是否存在查询请求所请求的数据包括:如果进入睡眠状态的时长超过预定时长,则返回继续查询数据库中是否存在查询请求所请求的数据;如果存在,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果包括:如果再次查询成功,且查询到的新数据不为空,则确定阻塞结束,将查询请求所请求的新数据作为新的响应结果。

在该实施例中,如果控制线程进入睡眠状态的时长超过预定时长,则可以返回继续查询数据库中是否存在查询请求所请求的数据。如果数据库中这时已经存在查询请求所请求的数据,则确定再次查询成功,进一步判断查询到的新数据是否为空,如果判断出查询到的新数据不为空,则可以确定阻塞结束,并且将查询到的新数据作为新的响应结果。

可选地,如果判断出数据库中存在查询请求所请求的数据为空,则确定用于指示不存在查询请求所请求的数据的响应结果,可以继续按照控制线程进入睡眠状态的时长小于预定时长的条件阻塞返回响应结果;可选地,如果继续查询数据库中不存在查询请求所请求的数据,则确定再次查询失败,可以确定用于指示不存在查询请求所请求的数据的响应结果,可以继续按照控制线程进入睡眠状态的时长小于预定时长的条件阻塞返回响应结果。

下面对该实施例的通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数和时长的方法进行介绍。

在该实施例中,预设条件可以根据控制线程进入睡眠状态的次数和时长共同来确定,比如,该预设条件可以为控制线程进入睡眠状态的时长小于预定次数且小于预定时长的条件,其中,预定次数和预定时长都可以进行设置。如果控制线程进入睡眠状态的时长小于预定次数和预定时长,则继续控制线程进入睡眠状态,从而达到继续阻塞返回响应结果的目的。

在通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数和时长的情况下,如果进入睡眠状态的次数超过预定次数和/或进入睡眠状态的时长超过预定时长,则再次确定是否存在查询请求所请求的数据包括:如果进入睡眠状态的次数超过预定次数,且进入睡眠状态的时长超过预定时长,则返回继续查询数据库中是否存在查询请求所请求的数据;如果存在,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果包括:如果再次查询成功,且查询到的新数据不为空,则确定阻塞结束,将查询请求所请求的新数据作为新的响应结果。

在该实施例中,如果进入睡眠状态的次数超过预定次数,且进入睡眠状态的时长超过预定时长,则可以返回继续查询数据库中是否存在查询请求所请求的数据。如果数据库中这时已经存在查询请求所请求的数据,则确定再次查询成功,进一步判断查询到的新数据是否为空,如果判断出查询到的新数据不为空,则可以确定阻塞结束,并且将查询到的新数据作为新的响应结果。

可选地,如果判断出数据库中存在查询请求所请求的数据为空,则确定用于指示不存在查询请求所请求的数据的响应结果,可以继续按照控制线程进入睡眠状态的时长小于预定次数且小于预定时长的条件阻塞返回响应结果;可选地,如果继续查询数据库中不存在查询请求所请求的数据,则确定再次查询失败,可以确定用于指示不存在查询请求所请求的数据的响应结果,可以继续按照控制线程进入睡眠状态的时长小于预定次数且小于预定时长的条件阻塞返回响应结果。

作为一种可选的实施方式,在步骤S108,获取查询请求的新的响应结果之后,将响应结果返回。

在该实施例中,服务器获取到新的响应结果,也即,客户端通过查询请求向服务器请求数据成功,该查询请求成为了有意义的请求,可以将响应结果返回至前端客户端,前端客户端可以利用该数据刷新页面。

在该实施例中,接收查询请求;确定是否存在查询请求所请求的数据;如果不存在,则按照预设条件阻塞返回响应结果;在阻塞结束的情况下,获取查询请求的新的响应结果。也就是说,在不存在查询请求所请求的数据的情况下,并不向客户端返回响应结果,而是按照预设条件阻塞返回响应结果,从而大幅减少空响应的数量,减少空响应占用的带宽,可以减少浏览器向Web服务器发送请求的次数,减轻服务器的压力,从而节省带宽和服务器资源,进而解决了由于无论服务器有没有更新数据都会返回结果的轮询方式,导致存在浪费访问资源的技术问题,并且节约了带宽和服务资源,从而达到了节约访问资源的技术效果。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

实施例2

下面结合优选的实施方式对本发明实施例的访问请求的处理方法进行说明。具体以客户端为浏览器进行举例说明。

传统轮询为定时获取刷新页面上的数据,客户端定时向服务器发送查询请求,服务器在接到查询请求后,对查询请求进行响应,并返回响应结果,关闭连接。由于浏览器向服务器不断发送查询请求,服务器无论有没有更新数据都会返回,从而造成了大量无意义的查询请求,浪费带宽和服务器资源。

图2是根据本发明实施例的另一种访问请求的处理方法的流程图。如图2所示,该方法可以包括以下步骤:

步骤S201,浏览器向Web服务器发送查询请求。

在该实施例中,浏览器可以向后台Web服务器(Tomcat或IIS)发送查询请求。

步骤S202,Web服务器接收查询请求,查询数据库。

步骤S203,在数据库查询中是否存在查询请求所请求的数据。

步骤S204,如果数据库查询中不存在查询请求所请求的数据,通过控制用于执行返回响应结果的线程进入睡眠状态1次,在预定时长之后将查询请求放给数据库,继续查询数据库中查询请求所请求的数据。

在该实施例中,如果在数据库中查询到存在查询请求所请求的数据,则确定查询成功,进一步判断数据是否为空。如果查询失败或者即使查询成功,但查询到的数据为空,通过控制用于执行返回响应结果的线程进入睡眠状态(可以仅睡眠1次,由于浏览器到Web服务器的请求连接的时间有限制,在进入睡眠状态时超时会自动断开连接),来阻塞返回响应结果。

在该实施例中,睡眠相当于阻塞一次查询请求,可以在预定时长之后将查询请求放给数据库,继续查询数据库中查询请求所请求的数据,如果数据库中存在查询请求所请求的数据,就将其作为响应结果返回至浏览器,如果没有数据,则也响应一下,确定用于指示不存在查询请求所请求的数据的响应结果。

步骤S205,在数据库中查询存在查询请求所请求的数据,则向浏览器返回查询到的数据。

该实施例在不存在查询请求所请求的数据的情况下,并不向客户端返回响应结果,而是按照预设条件阻塞返回响应结果,避免了在没有查询请求所请求的数据返回响应结果,造成大量无意义的请求,以及浪费带宽和服务器资源。而在相关技术中,由于服务器无论有没有查询请求所请求的数据都会向客户端返回响应结果,这样客户端在接收到响应结果后,无论该响应结果是查询请求请求到数据的响应结果还是查询请求没有请求到数据的响应结果,都会再次向服务器发送查询请求,从而造成了大量无意义的请求,而该实施例在服务器中没有查询请求所请求的数据的情况下,按照预设条件阻塞返回响应结果,这样客户端由于没有接收到响应结果而停止再次向服务器发送查询请求,而在阻塞结束的情况下,才获取服务器发送的查询请求的新的响应结果,这时客户端就可以正常向服务器再次发送查询请求,从而达到了避免客户端无论有没有查询请求所请求的数据都不断请求的目的,减少了客户端向服务器发送查询请求的次数,由于大幅减少了空响应的数量,从而避免了浪费带宽和服务器资源,进而减轻了服务器的压力。

实施例3

本发明实施例还提供了一种访问请求的处理系统。需要说明的是,该实施例的访问请求的处理系统可以用于执行本发明实施例的访问请求的处理方法。

图3是根据本发明实施例的一种访问请求的处理系统的示意图。如图3所示,该访问请求的处理系统30可以包括:前端客户端31和服务器32。

前端客户端31,用于发送查询请求。

在该实施例中,前端客户端31可以为浏览器,用于显示页面且对页面进行更新。前端客户端31发送的查询请求可以为Ajax请求,用于查询前端客户端31所需要的数据,该数据可以为前端客户端31的刷新页面上的数据,也即,前端客户端31的页面的更新数据,此处不做限制。

服务器32,与前端客户端31通信,用于接收查询请求,并确定是否存在查询请求所请求的数据,如果不存在,则按照预设条件阻塞返回响应结果;其中,服务器32在阻塞结束的情况下,将获取查询请求的新的响应结果返回给前端客户端31。

在该实施例中,服务器32可以用于部署Web应用,与前端客户端31建立通信连接,用于接收前端客户端31发送过来的查询请求。在服务器32接收到查询请求之后,服务器32确定是否存在查询请求所请求的数据,该查询请求所请求的数据也即服务器32响应查询请求所得到的数据。

在该实施例中,服务器32中的数据是不断进行更新的,并不是每次接收到前端客户端31发送的查询请求,就会有查询请求所请求的数据。在服务器32中有查询请求所请求的数据的情况下,前端客户端31发送的查询请求是有意义的请求,在服务器32中没有查询请求所请求的数据的情况下,前端客户端31发送的查询请求是无意义的请求。

该实施例的服务器32可以判断服务器32中是否存在查询请求所请求的数据。如果判断出服务器32中存在查询请求所请求的数据,则服务器32可以将查询请求所请求的数据作为响应结果返回至前端客户端31;如果服务器32判断出不存在查询请求所请求的数据,则可以按照预设条件阻塞返回响应结果,也即,阻塞查询请求、阻塞空响应结果,从而避免将空响应结果返回至前端客户端31,造成访问资源的浪费。

在服务器32按照预设条件阻塞返回响应结果之后,可以判断阻塞是否结束。可选地,在不满足预设条件的情况下,比如,控制用于执行返回响应结果的线程进入睡眠状态的次数超过预定次数,或者进入睡眠状态的次数超过预定次数,或者进入睡眠状态的时长超过预定时长,则返回继续查询服务器32中是否存在查询请求所请求的数据,如果有查询请求所请求的数据,则该查询请求所请求的数据为新的响应结果,将其作为返回结果返回至前端客户端31,从而在服务器32中没有查询请求所请求的数据的情况下,减少前端客户端31向服务器32发送查询请求的次数,达到了避免前端客户端31不断请求的目的,进而减轻了服务器32的压力。

在该实施例中,通过前端客户端31发送查询请求,服务器32与前端客户端31通信,用于接收查询请求,并确定是否存在查询请求所请求的数据,如果不存在,则按照预设条件阻塞返回响应结果;其中,服务器32在阻塞结束的情况下,将获取查询请求的新的响应结果返回给前端客户端31。也就是说,在不存在查询请求所请求的数据的情况下,并不向客户端返回响应结果,而是按照预设条件阻塞返回响应结果,从而大幅减少空响应的数量,减少空响应占用的带宽,还可以减少浏览器向Web服务器发送请求的次数,减轻服务器的压力,从而解决了由于无论服务器有没有更新数据都会返回结果的轮询方式,导致存在浪费访问资源的技术问题,并且节约了带宽和服务资源,从而达到了节约访问资源的技术效果。

实施例4

本发明实施例还提供了一种访问请求的处理装置。需要说明的是,该实施例的访问请求的处理装置可以用于执行本发明实施例的访问请求的处理方法。

图4是根据本发明实施例的一种访问请求的处理装置的示意图。如图4所示,该访问请求的处理装置40可以包括:接收模块41、确定模块42、返回模块43和获取模块44。

接收模块41,用于接收查询请求。

确定模块42,用于确定是否存在查询请求所请求的数据。

返回模块43,用于如果不存在,则按照预设条件阻塞返回响应结果。

获取模块44,用于在阻塞结束的情况下,获取查询请求的新的响应结果。

可选地,确定模块42包括:查询单元,用于查询数据库中是否存在查询请求所请求的数据;判断单元,用于在查询成功时,判断数据是否为空;第一确定单元,用于在查询失败或数据为空时,确定用于指示不存在查询请求所请求的数据的响应结果;第二确定单元,用于在查询成功且数据不为空时,确定存在查询请求所请求的数据。

可选地,返回模块43包括:第一处理单元,用于通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数和/或时长。

可选地,第一处理单元用于通过以下步骤来实现通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数和/或时长:在进入睡眠状态的次数超过预定次数和/或进入睡眠状态的时长超过预定时长,则再次确定是否存在查询请求所请求的数据;在存在查询请求所请求的数据时,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果。

可选地,第一处理单元还用于通过以下步骤来实现在进入睡眠状态的次数超过预定次数,则再次确定是否存在查询请求所请求的数据:在进入睡眠状态的次数超过预定次数时,则返回继续查询数据库中是否存在查询请求所请求的数据;第一处理单元还用于通过以下步骤来实现在存在查询请求所请求的数据时,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果:在再次查询成功,且查询到的新数据不为空时,确定阻塞结束,将查询请求所请求的新数据作为新的响应结果。

可选地,第一处理单元用于通过以下步骤来实现在进入睡眠状态的时长超过预定时长,则再次确定是否存在查询请求所请求的数据:在进入睡眠状态的时长超过预定时长时,则返回继续查询数据库中是否存在查询请求所请求的数据;第一处理单元还用于通过以下步骤来实现在存在查询请求所请求的数据时,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果:在再次查询成功,且查询到的新数据不为空时,则确定阻塞结束,将查询请求所请求的新数据作为新的响应结果。

可选地,第一处理单元用于通过以下步骤来实现在进入睡眠状态的次数超过预定次数,且进入睡眠状态的时长超过预定时长,则再次确定是否存在查询请求所请求的数据:在进入睡眠状态的次数超过预定次数,且进入睡眠状态的时长超过预定时长时,返回继续查询数据库中是否存在查询请求所请求的数据;第一处理单元用于通过以下步骤来实现在存在查询请求所请求的数据时,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果:在再次查询成功,且查询到的新数据不为空时,则确定阻塞结束,将查询请求所请求的新数据作为新的响应结果。

可选地,在获取查询请求的新的响应结果之后,将新的响应结果返回。

该实施例通过接收模块41接收查询请求,通过确定模块42用于确定是否存在查询请求所请求的数据,通过返回模块43用于如果不存在,则按照预设条件阻塞返回响应结果,通过获取模块44在阻塞结束的情况下,获取查询请求的新的响应结果。也就是说,在不存在查询请求所请求的数据的情况下,并不向客户端返回响应结果,而是按照预设条件阻塞返回响应结果,从而大幅减少空响应的数量,减少空响应占用的带宽,可以减少浏览器向Web服务器发送请求的次数,减轻服务器的压力,从而节省带宽和服务器资源,解决了由于无论服务器有没有更新数据都会返回结果的轮询方式,导致存在浪费访问资源的技术问题,进而达到了节约访问资源的技术效果。

实施例5

在该实施例中,所述访问请求的处理装置包括处理器和存储器,上述接收模块41、确定模块42、返回模块43和获取模块44均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来达到节约访问资源的技术效果的目的。

实施例6

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述访问请求的处理方法。

实施例7

本发明实施例提供了一种电子设备。

图5是根据本发明实施例的一种电子设备的示意图。如图5所示,该电子设备50包括至少一个处理器501、以及与处理器501连接的至少一个存储器502、总线503;其中,处理器501、存储器502通过总线503完成相互间的通信;处理器501用于调用存储器502中的程序指令,以执行上述的数据请求方法。本文中的电子设备50可以是服务器、PC、PAD、手机等。

实施例8

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

接收查询请求;确定是否存在查询请求所请求的数据;如果不存在,则按照预设条件阻塞返回响应结果;在阻塞结束的情况下,获取查询请求的新的响应结果。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:查询数据库中是否存在查询请求所请求的数据;如果查询成功,则判断数据是否为空;如果查询失败或数据为空,则确定用于指示不存在查询请求所请求的数据的响应结果;如果查询成功且数据不为空,则确定存在查询请求所请求的数据。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:通过控制用于执行返回响应结果的线程进入睡眠状态,来阻塞返回响应结果,并控制线程进入睡眠状态的次数和/或时长。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:如果进入睡眠状态的次数超过预定次数和/或进入睡眠状态的时长超过预定时长,则再次确定是否存在查询请求所请求的数据;如果存在,则确定阻塞结束,将查询请求所请求的数据作为查询请求的新的响应结果。

当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在获取查询请求的新的响应结果之后,将新的响应结果返回。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号