请求数据的方法及装置的制造方法

文档序号:8412544阅读:250来源:国知局
请求数据的方法及装置的制造方法
【技术领域】
[0001]本公开涉及数据库技术领域,特别涉及一种请求数据的方法及装置。
【背景技术】
[0002]随着互联网的普及以及用户数量的快速增长,使得多媒体网络服务器面对的访问数量成倍增长,这也使得数据库服务器面临了巨大的压力。
[0003]一般情况下,数据库服务器接收到各查询请求终端发送的查询请求后,会为每一个查询请求建立单独的线程,每一个线程根据查询请求向数据库发送查询请求,数据库再根据接收到的每一个查询请求进行查询操作,并将查询结果根据查询请求返回给对应的线程,最终各个线程再将查询结果返回给对应的查询请求终端。

【发明内容】

[0004]为了解决相关技术的问题,本公开实施例提供了一种请求数据的方法及装置。所述技术方案如下:
[0005]根据本公开实施例的第一方面,提供一种请求数据的方法,包括:
[0006]获取来自查询请求终端的对数据库的第一查询请求;
[0007]检测是否存在与所述第一查询请求相同的查询请求;
[0008]当存在与所述第一查询请求相同的查询请求时,在所述相同的查询请求中选取一查询请求提交给所述数据库;
[0009]接收所述数据库返回的查询结果,并将所述查询结果返回给所述查询请求终端。
[0010]可选的,所述检测是否存在与所述第一查询请求相同的查询请求,包括:
[0011]根据所述第一查询请求中的链接地址和请求参数,确定是否存在与所述第一查询请求相同的查询请求。
[0012]可选的,所述在所述相同的查询请求中选取一查询请求提交给所述数据库,包括:
[0013]在所述相同的查询请求中选取请求时间最早的一个查询请求提交给所述数据库。
[0014]可选的,所述在所述相同的查询请求中选取一查询请求提交给所述数据库之后,所述方法还包括:
[0015]将未选取到的查询请求设置为等待状态。
[0016]可选的,所述将所述查询结果返回给所述查询请求终端,包括:
[0017]将所述查询结果同步至所述未选取到的查询请求;
[0018]根据所述每个查询请求中的源地址,将所述查询结果返回给所述每个查询请求对应的查询请求终端。
[0019]根据本公开实施例的第二方面,提供一种请求数据的装置,包括:
[0020]获取模块,用于获取来自查询请求终端的对数据库的第一查询请求;
[0021]检测模块,用于检测是否存在与所述第一查询请求相同的查询请求;
[0022]提交模块,用于当存在与所述第一查询请求相同的查询请求时,在所述相同的查询请求中选取一查询请求提交给所述数据库;
[0023]接收模块,用于接收所述数据库返回的查询结果;
[0024]返回模块,用于将所述查询结果返回给所述查询请求终端。
[0025]可选的,所述检测模块用于:
[0026]根据所述第一查询请求中的链接地址和请求参数,确定是否存在与所述第一查询请求相同的查询请求。
[0027]可选的,所述提交模块用于:
[0028]在所述相同的查询请求中选取请求时间最早的一个查询请求提交给所述数据库。
[0029]可选的,所述装置还包括:
[0030]设置模块,用于将未选取到的查询请求设置为等待状态。
[0031]可选的,所述返回模块,包括:
[0032]同步单元,用于将所述查询结果同步至所述未选取到的查询请求;
[0033]返回单元,用于根据所述每个查询请求中的源地址,将所述查询结果返回给所述每个查询请求对应的查询请求终端。
[0034]根据本公开实施例的第三方面,提供一种请求数据的装置,包括:
[0035]处理器;
[0036]用于存储处理器可执行指令的存储器;
[0037]其中,所述处理器被配置为:
[0038]获取来自查询请求终端的对数据库的第一查询请求;
[0039]检测是否存在与所述第一查询请求相同的查询请求;
[0040]当存在与所述第一查询请求相同的查询请求时,在所述相同的查询请求中选取一查询请求提交给所述数据库;
[0041]接收所述数据库返回的查询结果,并将所述查询结果返回给所述查询请求终端。
[0042]本公开的实施例提供的技术方案可以包括以下有益效果:
[0043]通过获取来自查询请求终端的对数据库的第一查询请求,检测是否存在与第一查询请求相同的查询请求,如果存在则选取一个查询请求提交给数据库,并将数据库返回的查询结果属于相同的查询请求的各数据请求中欧段。降低了数据库的查询次数,进而降低了数据库的系统消耗,相应的提高了单次查询的响应速度,提高了数据库服务器的工作效率。
[0044]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0045]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0046]图1是根据一示例性实施例示出的一种请求数据的方法的流程图;
[0047]图2是根据一示例性实施例示出的一种请求数据的方法的流程图;
[0048]图3是根据一示例性实施例示出的一种请求数据的装置的框图;
[0049]图4是根据一示例性实施例示出的一种请求数据的装置中返回模块的框图;
[0050]图5是根据一示例性实施例示出的一种装置的框图(服务器的一般结构)。
【具体实施方式】
[0051]为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
[0052]本公开一示例性实施例提供了一种请求数据的方法,本方法实施例应用于终端中,参见图1,方法流程包括:
[0053]在步骤101中,获取来自查询请求终端的对数据库的第一查询请求;
[0054]在步骤102中,检测是否存在与第一查询请求相同的查询请求;
[0055]在步骤103中,当存在与第一查询请求相同的查询请求时,在相同的查询请求中选取一查询请求提交给数据库;
[0056]在步骤104中,接收数据库返回的查询结果,并将查询结果返回给查询请求终端。
[0057]本公开实施例通过获取来自查询请求终端的对数据库的第一查询请求,检测是否存在与第一查询请求相同的查询请求,如果存在则选取一个查询请求提交给数据库,并将数据库返回的查询结果属于相同的查询请求的各数据请求中欧段。降低了数据库的查询次数,进而降低了数据库的系统消耗,相应的提高了单次查询的响应速度,提高了数据库服务器的工作效率。
[0058]本公开另一示例性实施例提供了一种请求数据的方法,本方法实施例应用于终端中,参见图2,方法流程包括:
[0059]在步骤201中,获取来自查询请求终端的对数据库的第一查询请求。
[0060]其中,获取方式为数据库服务器接收查询请求终端通过网络向数据库服务器发送的查询请求。
[0061]其中,第一查询请求为数据库服务器接收到众多查询请求中的一个。
[0062]在步骤202中,检测是否存在与第一查询请求相同的查询请求。
[0063]在数据库服务器中预先设定一个时间周期,以使服务器在每一个时间周期中内对接收到的各个查询请求进行检测,确定属于请求相同数据的查询请求。
[0064]其中,查询请求终端向服务器发送的查询请求包括URL(Uniform ResoureLocator,统一资源定位符)中的链接地址和请求参数,以及查询请求终端的源地址。
[0065]相应的,步骤202中对于检测是否存在与第一查询请求相同的查询请求的过程可以通过以下步骤进行实现:
[0066]根据第一查询请求中的链接地址和请求参数,确定是否存在与第一查询请求相同的查询请求。
[0067]其中,对各个查询请求进行检测的方式可以为:具备相同的链接地址以及相同的请求参数的查询请求,确定为请求同一数据的查询请求;另外,也可以包括各个查询请求中的链接地址和请求参数不相同,但是可以将各个查询请求中的链接地址转换或者映射到同一个链接地址以及同一组请求参数的各个查询请求,确定为请求同一数据的查询请求。因此,服务器在接收到各个查询请求终端发送的查询请求后,可选的,还可以对查询请求中的链接地址以及请求参数进行转换或者映射的操作,以便进一步识别属于请求同一数据的查询请求。
[0068]进一步的,同一数据可以指一项数据,例如:查询请求终端查询北京的天气信息的查询请求;同一数据也可以指在同一页面中显示的多项数据,例如:查询请求终端打开主题市场后,向服务器查询显示主题市场首页面中专题列表的查询请求。
[0069]在步骤203中,当存在与第一查询请求相同的查询请求时,在相同的查询请求中选取一查询请求提交给数据库。
[0070]其中,选取查询请求的过程可以由以下步骤进行实现:
[0071]当存在与第一查询请求相同的查询请求时,在相同的查询请求中选取请求时间最早的一个查询请求提交给数据库。
[0072]在数据库服务器每进入一个预设时间对应的时间周期时,按照相同的查询请求中各查询请求的到达时间顺序,选取第一个接收到的查询请求以通过该查询请求进行数据查询。
[0073]在数据库服务器的中间层中分别为该相同的查询请求中各查询请求创建对应的查询线程。再通过其中选取到的查询请求对应的查询线程将该查询请求提
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1