CN106933817B - 一种基于b/s结构的内容查询方法及设备、系统 - Google Patents
一种基于b/s结构的内容查询方法及设备、系统 Download PDFInfo
- Publication number
- CN106933817B CN106933817B CN201511009619.XA CN201511009619A CN106933817B CN 106933817 B CN106933817 B CN 106933817B CN 201511009619 A CN201511009619 A CN 201511009619A CN 106933817 B CN106933817 B CN 106933817B
- Authority
- CN
- China
- Prior art keywords
- query
- content
- static
- condition
- hash value
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
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)
Abstract
本发明实施涉及通信技术领域,公开了一种基于B/S结构的内容查询方法及设备、系统,该方法包括:获取浏览器发起的查询请求,所述查询请求包括用于查询内容的查询条件;查询是否存储有所述查询条件对应的静态网页内容,如果存储有,将所述静态网页内容的访问地址或所述静态网页内容发送给所述浏览器。实施本发明实施例可以有效的减少对浏览器查询请求的响应速度的影响,降低查询失效的风险,以及降低应用服务器和数据库的工作负荷。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于B/S结构的内容查询方法及设备、系统。
背景技术
浏览器/服务器(Browser/Server,B/S)结构是Web兴起后的一种网络结构模式。在B/S结构中,传统的内容查询方法是:浏览器可以向应用服务器发起包含查询条件的查询请求,而应用服务器可以根据该查询条件,从数据库中查询出符合该查询条件的内容记录并返回给浏览器。在实践中发现,上述传统的内容查询方法强依赖数据库,当数据库中的内容记录太多时,会造成查询缓慢,从而影响了对浏览器查询请求的响应速度,而且数据库一旦宕机会造成查询失效;进一步地,大量的并发查询会增加应用服务器和数据库的工作负荷。
发明内容
本发明实施例公开了一种基于B/S结构的内容查询方法及设备、系统,用于解决如何有效的减少对浏览器查询请求的响应速度的影响,降低查询失效的风险,以及降低应用服务器和数据库的工作负荷的问题。
本发明实施例第一方面公开一种基于B/S结构的内容查询方法,包括:
获取浏览器发起的查询请求,其中,该查询请求包括用于查询内容的查询条件;
查询是否存储有该查询条件对应的静态网页内容,如果存储有该查询条件对应的静态网页内容,将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
在本发明实施例第一方面的第一种可能的实现方式中,上述查询是否存储有该查询条件对应的静态网页内容,包括:
生成该查询条件匹配的Hash值;
查询是否存储有该Hash值对应的静态网页内容。
其中,实施本发明实施例第一方面的第一种可能的实现方式,可以利用该查询条件匹配的Hash值具有唯一性的特点,精确地查询出是否存储有该查询条件对应的静态网页内容,从而可以提高静态网页内容的查询精度。
结合本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第二种可能的实现方式中,若未存储有该Hash值对应的静态网页内容,该方法还包括:
从数据库中查询符合该查询条件的内容记录;
创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
将静态网页内容存储至静态资源服务器上,并向静态资源服务器获取静态网页内容的访问地址;
存储该查询条件匹配的Hash值与该访问地址的对应关系,以使该查询条件匹配的Hash值与该静态网页内容对应。
其中,实施本发明实施例第一方面的第二种可能的实现方式,即使数据库出现宕机,也不会造成内容记录丢失而造成查询失效,从而可以有效地提高内容记录的安全性。
结合本发明实施例第一方面的第二种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,该方法还包括:
向该静态资源服务器获取该静态网页内容,并将获取的该静态网页内容或该静态网页内容的访问地址发送给该浏览器。
其中,实施本发明实施例第一方面的第三种可能的实现方式,当浏览器下次发起包括该查询条件的查询请求时,可以直接将该查询条件对应的静态网络内容的访问地址或静态网络内容直接返回给浏览器,从而可以使得查询请求不再强依赖数据库,从而可以有效地减少对浏览器查询请求的响应速度的影响;而且可以对应用服务器和数据库进行内容查询分流,可以有效地降低应用服务器和数据库的工作负荷。
结合本发明实施例第一方面的第二种或第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,在从数据库中查询符合该查询条件的内容记录之前,该方法还包括:
对该查询条件的使用次数进行更新;
判断该查询条件更新后的使用次数是否超过预设阈值,如果超过该预设阈值,执行从数据库中查询符合上述查询条件的内容记录的步骤。
其中,实施本发明实施例第一方面的第四种可能的实现方式,可以将部分查询条件(即高频出现的查询条件)的内容记录生成静态网页内容并保存在静态资源服务器中,这样当浏览器下次发起包括高频出现的查询条件的查询请求时,查询请求不再强依赖数据库,从而可以优先满足高频出现的查询条件的查询成功率。
结合本发明实施例第一方面的第四种可能的实现方式,在本发明实施例第一方面的第五种可能的实现方式中,上述的判断该查询条件更新后的使用次数是否超过预设阈值,包括:
判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。举例来说,可以采用帕累托法则(又称为二八定律)来判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过80%(即预设阈值=80%)。其中,利用帕累托法则可以十分便捷地判断出该查询条件是否属于高频出现的查询条件。
结合本发明实施例第一方面的第一种或第二种可能的实现方式,在本发明实施例第一方面的第六种可能的实现方式中,若未存储有该Hash值对应的静态网页内容,该方法还包括:
向应用服务器发送上述查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录,并将查询到的内容记录发送给浏览器。
其中,实施本发明实施例第一方面的第六种可能的实现方式,可以提高浏览器获得符合该查询条件的内容记录的成功率。
结合本发明实施例第一方面、本发明实施例第一方面的第一种至第六种中的任一种可能的实现方式,在本发明实施例第一方面的第七种可能的实现方式中,上述的获取浏览器发起的查询请求包括:
接收查询过滤器发送的查询请求,该查询请求是查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。
其中,实施本发明实施例第一方面的第七种可能的实现方式,可以有效地分流应用服务器的查询请求,减少应用服务器的查询工作量,从而可以降低应用服务器的工作负荷。
结合本发明实施例第一方面的第一种至第六种中的任一种可能的实现方式,在本发明实施例第一方面的第八种可能的实现方式中,该查询条件包括多个查询字段以及每一个查询字段的对应数值,上述的生成该查询条件匹配的Hash值,包括:
针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对;
将获得的所有字段-数值对按照上述多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;
以及,利用Hash算法对上述字符串进行处理,获得该查询条件匹配的Hash值。
其中,实施本发明实施例第一方面的第八种可能的实现方式,可以确保不同的查询条件分别匹配不同的Hash值,从而可以提升后续查询的精确度。
本发明实施例第二方面公开一种基于B/S结构的内容查询设备,包括:
第一获取单元,用于获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件;
第一查询单元,用于查询是否存储有该查询条件对应的静态网页内容;
发送单元,用于在第一查询单元查询出存储有该查询条件对应的静态网页内容时,将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
在本发明实施例第二方面的第一种可能的实现方式中,第一查询单元包括:
生成子单元,用于生成该查询条件匹配的Hash值;
本地查询子单元,用于查询是否存储有该Hash值对应的静态网页内容。
结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,上述设备还包括:
第二查询单元,用于在本地查询子单元查询未存储有该Hash值对应的静态网页内容时,从数据库中查询符合该查询条件的内容记录;
创建单元,用于创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
交互单元,用于将该静态网页内容存储至静态资源服务器上,并向静态资源服务器获取该静态网页内容的访问地址;
缓存单元,用于存储该查询条件匹配的Hash值与该访问地址的对应关系,以使该查询条件匹配的Hash值与该静态网页内容对应。
结合本发明实施例第二方面的第二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,上述设备还包括:
第二获取单元,用于向静态资源服务器获取该静态网页内容;
上述的发送单元,还用于将第二获取单元获取的该静态网页内容或缓存单元中的该静态网页内容的访问地址发送给浏览器。
结合本发明实施例第二方面的第二种或第三种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中,上述设备还包括:
更新单元,用于在本地查询子单元查询未存储有该Hash值对应的静态网页内容时,对该查询条件的使用次数进行更新;
判断单元,用于判断该查询条件更新后的使用次数是否超过预设阈值;
上述的第二查询单元,具体用于在本地查询子单元查询未存储有该Hash值对应的静态网页内容时,以及上述的判断单元判断出该查询条件更新后的使用次数超过预设阈值时,从数据库中查询符合该查询条件的内容记录。
结合本发明实施例第二方面的第四种可能的实现方式,在本发明实施例第二方面的第五种可能的实现方式中,上述的判断单元具体用于判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
结合本发明实施例第二方面的第一种或第二种可能的实现方式,在本发明实施例第二方面的第六种可能的实现方式中,上述的发送单元还用于在本地查询子单元查询未存储有该Hash值对应的静态网页内容时,向应用服务器发送该查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录,并由应用服务器将该内容记录发送给浏览器。
结合本发明实施例第二方面、本发明实施例第二方面的第一种至第六种中的任一种可能的实现方式,在本发明实施例第二方面的第七种可能的实现方式中,上述的第一获取单元具体用于接收查询过滤器发送的查询请求,该查询请求是查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。
结合本发明实施例第二方面的第一种至第六种中的任一种可能的实现方式,在本发明实施例第二方面的第八种可能的实现方式中,该查询条件包括多个查询字段以及每一个查询字段的对应数值,上述的生成子单元包括:
获取模块,用于针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对;
组合模块,用于将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;
哈希模块,用于利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
本发明实施例第三方面公开一种基于B/S结构的内容查询系统,包括浏览器、内容查询设备以及静态资源服务器,其中:
静态资源服务器,用于存储静态网页内容;
内容查询设备,用于获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件;以及,查询静态资源服务器中是否存储有该查询条件对应的静态网页内容,如果存储有,将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
在本发明实施例第三方面的第一种可能的实现方式中,内容查询设备查询是否存储有该查询条件对应的静态网页内容的方式具体为:
内容查询设备生成该查询条件匹配的Hash值;
以及,查询静态资源服务器是否存储有该Hash值对应的静态网页内容。
结合本发明实施例第三方面的第一种可能的实现方式,在本发明实施例第三方面的第二种可能的实现方式中:
内容查询设备,还用于在查询出未存储有该Hash值对应的静态网页内容时,从数据库中查询符合该查询条件的内容记录;
以及,还用于创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
以及,还用于将静态网页内容存储至静态资源服务器上,并向静态资源服务器获取静态网页内容的访问地址;
以及,还用于存储该查询条件匹配的Hash值与该访问地址的对应关系,以使该查询条件匹配的Hash值与该静态网页内容对应。
结合本发明实施例第三方面的第二种可能的实现方式,在本发明实施例第三方面的第三种可能的实现方式中:
内容查询设备,还用于向静态资源服务器获取该静态网页内容,并将获取的该静态网页内容或该静态网页内容的访问地址发送给浏览器。
结合本发明实施例第三方面的第二种或第三种可能的实现方式,在本发明实施例第三方面的第四种可能的实现方式中,内容查询设备还用于从数据库中查询符合该查询条件的内容记录之前,对该查询条件的使用次数进行更新;以及,判断该查询条件更新后的使用次数是否超过预设阈值,如果超过预设阈值,执行上述的从数据库中查询符合该查询条件的内容记录的步骤。
结合本发明实施例第三方面的第四种可能的实现方式,在本发明实施例第三方面的第五种可能的实现方式中,内容查询设备判断该查询条件更新后的使用次数是否超过预设阈值的方式具体为:
内容查询设备判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
结合本发明实施例第三方面的第一种或第二种可能的实现方式,在本发明实施例第三方面的第六种可能的实现方式中:
内容查询设备,还用于在查询出未存储有该Hash值对应的静态网页内容时,向应用服务器发送该查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录并发送给浏览器。
结合本发明实施例第三方面、本发明实施例第三方面的第一种至第六种中的任一种可能的实现方式,在本发明实施例第三方面的第七种可能的实现方式中:
内容查询设备获取浏览器发起的查询请求的方式具体为:
内容查询设备接收查询过滤器发送的查询请求,该查询请求是查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。
结合本发明实施例第三方面的第一种至第六种中的任一种可能的实现方式,在本发明实施例第三方面的第八种可能的实现方式中,该查询条件包括多个查询字段以及每一个查询字段的对应数值,内容查询设备生成该查询条件匹配的Hash值的方式具体为:
内容查询设备针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对;
以及,将获得的所有字段-数值对按照上述多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;
以及,利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
本发明实施例第四方面公开一种基于B/S结构的内容查询方法,包括:
获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件;
从数据库中查询符合该查询条件的内容记录;
创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
将静态网页内容存储至静态资源服务器,并向静态资源服务器获取该静态网页内容的访问地址;
将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
在本发明实施例第四方面的第一种可能的实现方式中,上述方法还包括:
生成该查询条件匹配的Hash值;
存储该Hash值与该静态网页内容的对应关系。
结合本发明实施例第四方面的第一种可能的实现方式,在本发明实施例第四方面的第二种可能的实现方式中,上述的存储该Hash值与该静态网页内容的对应关系包括:
存储该Hash值与该静态网页内容的访问地址的对应关系,以使该Hash值与该静态网页内容对应。
本发明实施例第五方面公开一种基于B/S结构的内容查询设备,包括:
获取单元,用于获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件;
查询单元,用于从数据库中查询符合该查询条件的内容记录;
创建单元,用于创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
交互单元,用于将静态网页内容存储至静态资源服务器,并向静态资源服务器获取该静态网页内容的访问地址;
发送单元,用于将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
在本发明实施例第五方面的第二种可能的实现方式中,上述设备还包括:
生成单元,用于生成该查询条件匹配的Hash值;
缓存单元,用于存储该Hash值与该静态网页内容的对应关系。
结合本发明实施例第五方面的第一种可能的实现方式,在本发明实施例第五方面的第二种可能的实现方式中,缓存单元具体用于存储该Hash值与该静态网页内容的访问地址的对应关系,以使该Hash值与该静态网页内容对应。
本发明实施例第六方面公开一种基于B/S结构的内容查询设备,包括输入器件、处理器件、存储器件以及输出器件,其中,存储器件用于存储程序和数据,处理器件用于调用存储器件存储的程序,执行以下操作:
通过输入器件获取浏览器发起的查询请求,其中,查询请求包括用于查询内容的查询条件;
查询是否存储有查询条件对应的静态网页内容,如果存储有,通过输出器件将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
在本发明实施例第六方面的第一种可能的实现方式中,处理器件查询是否存储有查询条件对应的静态网页内容,包括:
处理器件生成该查询条件匹配的Hash值;
处理器件查询是否存储有该Hash值对应的静态网页内容。
结合本发明实施例第六方面的第一种可能的实现方式,在本发明实施例第六方面的第二种可能的实现方式中,若未存储有该Hash值对应的静态网页内容,处理器件还用于执行以下操作:
从数据库中查询符合该查询条件的内容记录;例如,通过输出器件向数据库发送用于查询符合该查询条件的内容记录的请求,以及通过输入器件接收数据库发送的符合该查询条件的内容记录;
创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
通过输出器件将静态网页内容存储至静态资源服务器上,并向静态资源服务器获取静态网页内容的访问地址;
存储该查询条件匹配的Hash值与该访问地址的对应关系至存储器件,以使该查询条件匹配的Hash值与该静态网页内容对应。
结合本发明实施例第六方面的第二种可能的实现方式,在本发明实施例第六方面的第三种可能的实现方式中,处理器件还用于执行以下操作:
向静态资源服务器获取该静态网页内容,并将获取的该静态网页内容或该静态网页内容的访问地址发送给浏览器。
结合本发明实施例第六方面的第二种或第三种可能的实现方式,在本发明实施例第六方面的第四种可能的实现方式中,处理器件从数据库中查询符合该查询条件的内容记录之前,还执行以下操作:
对该查询条件的使用次数进行更新;
判断该查询条件更新后的使用次数是否超过预设阈值,如果超过预设阈值,执行从数据库中查询符合该查询条件的内容记录的步骤。
结合本发明实施例第六方面的第四种可能的实现方式,在本发明实施例第六方面的第五种可能的实现方式中,处理器件判断该查询条件更新后的使用次数是否超过预设阈值,包括:
判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
结合本发明实施例第六方面的第一种或第二种可能的实现方式,在本发明实施例第六方面的第六种可能的实现方式中,若未存储有该Hash值对应的静态网页内容,处理器件还执行以下操作:
向应用服务器发送该查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录,并将该内容记录发送给浏览器。
结合本发明实施例第六方面、本发明实施例第六方面的第一种至第六种中的任一种可能的实现方式,在本发明实施例第六方面的第七种可能的实现方式中,处理器件通过输入器件获取浏览器发起的查询请求包括:
通过输入器件接收查询过滤器发送的查询请求,该查询请求是查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。
结合本发明实施例第六方面的第一种至第六种中的任一种可能的实现方式,在本发明实施例第六方面的第八种可能的实现方式中,该查询条件包括多个查询字段以及每一个查询字段的对应数值,处理器件生成该查询条件匹配的Hash值,包括:
针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对;
将获得的所有字段-数值对按照上述多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;
以及,利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
本发明实施例第七方面公开一种基于B/S结构的内容查询设备,包括输入器件、处理器件、存储器件以及输出器件,其中,存储器件用于存储程序和数据,处理器件用于调用存储器件存储的程序,执行以下操作:
通过输入器件获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件;
从数据库中查询符合该查询条件的内容记录;
创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
通过输出器件将该静态网页内容存储至静态资源服务器,并向静态资源服务器获取该静态网页内容的访问地址;
通过输出器件将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
在本发明实施例第七方面的第一种可能的实现方式中,处理器件还用于执行以下操作:
生成该查询条件匹配的Hash值;
存储该Hash值与该静态网页内容的对应关系至存储器件。
结合本发明实施例第七方面的第一种可能的实现方式,在本发明实施例第七方面的第二种可能的实现方式中,处理器件存储该Hash值与该静态网页内容的对应关系至存储器件包括:
存储该Hash值与该静态网页内容的访问地址的对应关系至存储器件,以使该Hash值与该静态网页内容对应。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例可以获取浏览器发起的包括用于查询内容的查询条件的查询请求,当查询到存储有该查询条件对应的静态网页内容时,可以直接将该静态网页内容的访问地址或该静态网页内容发送给浏览器,从而实现浏览器对该查询条件对应的内容查询。可见,本发明实施例,内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险;而且,实施本发明实施例可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施本发明实施例可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于B/S结构的网络架构示意图;
图2是本发明实施例公开的一种基于B/S结构的内容查询方法的流程示意图;
图3是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图;
图4是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图;
图5是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图;
图6是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图;
图7是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图;
图8是本发明实施例公开的一种在加速单元中预先建立高频出现的查询条件匹配的Hash值与静态网页URL的对应关系的方法示意图;
图9是本发明实施例公开的一种基于B/S结构的内容查询设备的结构示意图;
图10是本发明实施例公开的另一种基于B/S结构的内容查询设备的结构示意图;
图11是本发明实施例公开的又一种基于B/S结构的内容查询设备的结构示意图;
图12是本发明实施例公开的另一种基于B/S结构的内容查询设备的结构示意图;
图13是本发明实施例公开的又一种基于B/S结构的内容查询设备的结构示意图;
图14是本发明实施例公开的又一种基于B/S结构的内容查询设备的结构示意图;
图15是本发明实施例公开的一种基于B/S结构的内容查询系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于B/S结构的内容查询方法及设备、系统,可以有效的减少对浏览器查询请求的响应速度的影响,降低查询失效的风险,以及降低应用服务器和数据库的工作负荷。以下分别进行详细说明。
为了更好的理解本发明实施例,下面先对本发明实施例公开的一种基于B/S结构的网络架构进行描述。
请参阅图1,图1是本发明实施例公开的一种基于B/S结构的网络架构示意图。其中,图1所示的基于B/S结构的网络架构可以用于为浏览器提供内容查询服务。本发明实施例中,浏览器查询的内容可以包括位于数据库中的内容,例如位于电信互联网商城系统的数据库中的手机、套餐、卡号等资源内容;还可以包括位于各种电子商务平台的数据库中的电子产品、图书、食品、装饰品以及衣物等各种资源内容,本发明实施例不作限定、如图1所示,该基于B/S结构的网络架构不仅可以包括浏览器(也称为客户端浏览器)、应用服务器(也称为Web服务器)、数据库(也称为数据库服务器),还可以包括加速单元、静态资源服务器;其中,在图1所示的网络架构中,应用服务器上可以部署一个查询过滤器,该查询过滤器可以用于对浏览器发送给应用服务器的包括查询条件的查询请求进行拦截并发送给加速单元,而加速单元可以在查询出存储有该查询条件对应的静态网页内容时,可以将该静态网页内容的访问地址(即URL)或该静态网页内容发送给浏览器,其中,该静态网页内容是是由加速单元预先根据数据库中符合该查询条件的内容记录生成的静态网页内容。其中,静态资源服务器中存储的静态网页内容(也称为静态资源)可以包括超文本标记语言(Hypertext Markup Language,HTML)、超文本标记(Hypertext Markup,HTM)等格式文本的静态网页内容。本发明实施例中,实施图1所示的网络架构,可以有效的减少对浏览器查询请求的响应速度的影响,降低查询失效的风险,以及降低应用服务器和数据库的工作负荷。
需要说明的是,图1所示的仅仅是本发明实施例公开的一种基于B/S结构的网络架构示例而已,在实际应用中,查询过滤器可以独立于应用服务器和加速单元进行部署,或者,查询过滤器也作为加速单元集成的一部分,本发明实施例不作限定。本发明实施例中,加速单元在物理形态上可以是一种服务器或者服务平台,本发明实施例不作限定。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的一种基于B/S结构的内容查询方法。请参阅图2,图2是本发明实施例公开的一种基于B/S结构的内容查询方法的流程示意图。如图2所示,该基于B/S结构的内容查询方法可以包括以下步骤。
201、加速单元获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件。
作为一种可选的实施方式,如图1所示,当查询过滤器部署在应用服务器上时,加速单元可以接收查询过滤器发送的包括查询条件的查询请求,其中,该查询请求是查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的查询请求。
作为另一种可选的实施方式,当查询过滤器作为加速单元集成的一部分时,加速单元可以直接对浏览器发送给应用服务器的查询请求进行拦截,即加速单元可以直接接收浏览器发送给应用服务器的查询请求,从而可以获得浏览器发起的包括查询条件的查询请求。
其中,上述两种可选的实施方式可以有效地分流应用服务器的查询请求,减少应用服务器的查询工作量,从而可以降低应用服务器的工作负荷。
202、加速单元查询是否存储有该查询条件对应的静态网页内容,如果存储有,将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
本发明实施例中,加速单元可以查询静态资源服务器中是否存储有该查询条件对应的静态网页内容,如果存储有,加速单元可以将该静态网页内容的访问地址或该静态网页内容发送给浏览器。例如,加速单元可以通过查询过滤器将该静态网页内容的访问地址或该静态网页内容发送给浏览器,或者,加速单元也可以通过应用服务器将该静态网页内容的访问地址或该静态网页内容发送给浏览器,本发明实施例不作限定。
本发明实施例中,加速单元如果查询未存储有该查询条件对应的静态网页内容,那么加速单元还可以向应用服务器发送该查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录,并由应用服务器将查询到的内容记录发送给浏览器,从而可以提高浏览器获得符合该查询条件的内容记录的成功率。
可见,实施图2所描述的方法,内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险;而且,实施本发明实施例可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图2所描述的方法可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的另一种基于B/S结构的内容查询方法。请参阅图3,图3是本发明实施例公开的一种基于B/S结构的内容查询方法的流程示意图。如图3所示,该基于B/S结构的内容查询方法可以包括以下步骤。
301、加速单元获取浏览器发起的查询请求,该查询请求包括查询条件。
作为一种可选的实施方式,如图1所示,当查询过滤器部署在应用服务器上时,加速单元可以接收查询过滤器发送的包括查询条件的查询请求,其中,该查询请求是查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。
作为另一种可选的实施方式,当查询过滤器作为加速单元集成的一部分时,加速单元可以直接对浏览器发送给应用服务器的查询请求进行拦截,从而可以获得浏览器发起的包括查询条件的查询请求。
其中,上述两种可选的实施方式可以有效地分流应用服务器的查询请求,减少应用服务器的查询工作量,从而可以降低应用服务器的工作负荷。
302、加速单元生成该查询条件匹配的Hash值。
本发明实施例中,上述步骤302中,加速单元可以从该查询请求中获取该查询条件,然后再生成该查询条件匹配的Hash值。
在一个实施例中,该查询条件可以包括多个查询字段以及每一个查询字段的对应数值,例如,该查询条件为{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)};其中,field-i1表示第一个查询字段,而value-i1表示field-i1的对应数值;field-i2表示第二个查询字段,而value-i2表示field-i2的对应数值;field-in表示最后一个查询字段,而value-in表示field-in的对应数值;其中,查询字段可以包括手机、套餐、号码等查询字段。
相应地,上述步骤302中,加速单元生成该查询条件匹配的Hash值的方式可以为:
加速单元可以针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对(也称为key-value对);以及,加速单元可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;以及,加速单元可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
例如,加速单元可以从该查询请求中获取该查询条件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并将field-i1和value-i1组合获得第一个字段-数值对;以及,将field-i2和value-i2组合获得第二个字段-数值对;……;以及,将field-in和value-in组合获得最后一个字段-数值对,在此基础上,加速单元可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序获得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;进一步地,加速单元可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
本发明实施例中,加速单元将每一个查询字段和该查询字段的对应数值进行组合获得字段-数值对之后,再将获得的所有字段-数值对按照指定顺序(即上述的多个查询字段在该查询条件中的位置顺序)进行排序获得字符串,并利用Hash算法对该字符串进行处理,可以确保不同的查询条件分别匹配不同的Hash值,从而可以提升后续查询的精确度。需要说明的是,Hash算法可以将任意长度的二进制值映射为较短的固定长度的二进制值,这个较短的固定长度的二进制值称为Hash值,Hash值是字符串唯一且极其紧凑的数值表示形式。如果字符串哪怕只更改一个字母或者调整某个字母的位置,随后的哈希处理都将产生不同的Hash值,因此,要找到Hash值相同的两个不同的字符串,在计算上是不可能实现的。
303、加速单元查询是否存储有该Hash值对应的静态网页内容,如果存储有,将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
在一个实施例中,加速单元查询是否存储有该Hash值对应的静态网页内容的方式可以为:
加速单元查询加速单元的本地缓存中是否存储有该Hash值与某一个静态网页内容的访问地址的对应关系,如果存储有,说明静态资源服务器中存储有该Hash值对应的静态网页内容;反之,如果未存储有,说明静态资源服务器中未存储有该Hash值对应的静态网页内容。
本发明实施例中,当加速单元将该静态网页内容的访问地址发送给浏览器时,浏览器可以从静态资源服务器中查询该访问地址对应的静态网页内容,从而实现了针对静态网页内容的重定向访问。
在一个实施例中,若加速单元查询未存储有该Hash值对应的静态网页内容,相应地,加速单元还可以进一步执行以下步骤:
11)、加速单元从数据库中查询符合该查询条件的内容记录。
12)、加速单元创建静态网页,并将查询到的内容记录填充到创建的静态网页中,获得静态网页内容。
本发明实施例中,加速单元可以利用PHP模板来创建静态网页,将查询到的符合该查询条件的内容记录填充到创建的静态网页中,从而可以获得静态网页内容。其中,如果加速单元查询到的符合该查询条件的内容记录有多页内容,那么加速单元可以将每一页内容都会生成一个独立的静态网页内容,而且每个静态网页内容中还包含分页信息,利用分页信息可以链接到对应的静态网页内容。
13)、加速单元将静态网页内容存储至静态资源服务器上,并向静态资源服务器获取该静态网页内容的访问地址。
本发明实施例中,加速单元将该静态网页内容存储至静态资源服务器的文件目录中,并获取该静态网页内容存储在静态资源服务器的文件目录下的访问地址。
14)、加速单元存储该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系。
本发明实施例中,加速单元存储该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系可以实现该查询条件匹配的Hash值与该静态网页内容对应。
其中,通过实施上述步骤11)~步骤14),即使数据库出现宕机,也不会造成内容记录丢失而造成查询失效,从而可以有效地提高内容记录的安全性。
在一个实施例中,若加速单元查询未存储有该Hash值对应的静态网页内容,相应地,加速单元还可以进一步执行以下步骤:
21)、加速单元对该查询条件的使用次数进行更新;例如,加速单元可以对该查询条件的使用次数累加1。
22)、加速单元判断该查询条件更新后的使用次数是否超过预设阈值,如果超过预设阈值,从数据库中查询符合该查询条件的内容记录。
作为一种可选的实施方式,加速单元可以判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。举例来说,加速单元可以采用帕累托法则(又称为二八定律)来判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过80%(即预设阈值=80%)。其中,利用帕累托法则可以十分便捷地判断出该查询条件是否属于高频出现的查询条件。
23)、加速单元创建静态网页,并将查询到的内容记录填充到创建的静态网页中,获得静态网页内容。
24)、加速单元将静态网页内容存储至静态资源服务器上,并向静态资源服务器获取该静态网页内容的访问地址。
25)、加速单元存储该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系。
本发明实施例中,加速单元存储该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系可以使得该查询条件匹配的Hash值与该静态网页内容对应。
其中,通过实施上述步骤21)~步骤25),加速单元可以将高频出现的查询条件的内容记录生成静态网页内容并保存在静态资源服务器中,这样当浏览器下次发起包括高频出现的查询条件的查询请求时,查询请求不再强依赖数据库,从而可以优先满足高频出现的查询条件的查询成功率。
在一个实施例中,当加速单元将静态网页内容存储至静态资源服务器上,并向静态资源服务器获取该静态网页内容的访问地址之后,加速单元可以向静态资源服务器获取该静态网页内容,并将获取的该静态网页内容或该静态网页内容的访问地址发送给浏览器,从而可以使得查询请求不再强依赖数据库,从而可以有效地减少对浏览器查询请求的响应速度的影响;而且可以对应用服务器和数据库进行内容查询分流,可以有效地降低应用服务器和数据库的工作负荷。
在另一个实施例中,加速单元如果查询未存储有该Hash值对应的静态网页内容,那么加速单元也可以向应用服务器发送该查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录,并由应用服务器将查询到的内容记录发送给浏览器,从而可以提高浏览器获得符合该查询条件的内容记录的成功率。
作为一种可选的实施方式,应用服务器可以将查询到的符合该查询条件的内容记录进行处理,以生成符合浏览器展示的UI界面,并将该UI界面作为应答数据流返回给浏览器,使浏览器可以展示查询条件对应的UI界面。
可见,实施图3所描述的方法,内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险;而且,实施本发明实施例可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图3所描述的方法可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的另一种基于B/S结构的内容查询方法。请参阅图4,图4是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图。如图4所示,该基于B/S结构的内容查询方法可以包括以下步骤。
401、用户访问浏览器的查询界面,在查询界面上输入查询条件Pi并提交给浏览器。
其中,用户在查询界面上输入的查询条件Pi可以包括多个查询字段以及每一个查询字段的对应数值。例如,该查询条件Pi为{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)};其中,field-i1表示第一个查询字段,而value-i1表示field-i1的对应数值;field-i2表示第二个查询字段,而value-i2表示field-i2的对应数值;field-in表示最后一个查询字段,而value-in表示field-in的对应数值;其中,查询字段可以包括手机、套餐、号码等查询字段。
在一个实施例中,用户也可以从浏览器的查询界面提供的多个查询条件中选择自己想要的查询条件Pi并提交给浏览器,本发明实施例不作限定。
402、浏览器向应用服务器发送包括该查询条件Pi的查询请求。
403、查询请求经过查询过滤器进行拦截。
404、查询过滤器将拦截得到的查询请求发送给加速单元。
其中,通过上述步骤403和步骤404,加速单元可以获取到由浏览器发起的包括查询条件Pi的查询请求。
405、加速单元从查询请求中获取该查询条件Pi。
406、加速单元生成该查询条件Pi匹配的Hash值。
在一个实施例中,加速单元可以从该查询请求中获取该查询条件Pi={(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并将field-i1和value-i1组合获得第一个字段-数值对;以及,将field-i2和value-i2组合获得第二个字段-数值对;……;以及,将field-in和value-in组合获得最后一个字段-数值对,在此基础上,加速单元可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序获得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;进一步地,加速单元可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
407、加速单元查询是否存储有该Hash值对应的静态网页内容的访问地址,如果未存储有该Hash值对应的静态网页内容的访问地址,执行步骤408~步骤413;如果存储有该Hash值对应的静态网页内容的访问地址,直接执行步骤412~步骤413。
本发明实施例中,加速单元查询存储有该Hash值对应的静态网页内容的访问地址时,说明此时静态资源服务器中存储有该Hash值对应的静态网页内容;反之,如果查询未存储有该Hash值对应的静态网页内容的访问地址,说明此时静态资源服务器中未存储有该Hash值对应的静态网页内容。
408、加速单元从数据库中查询符合该查询条件Pi的内容记录。
409、加速单元创建静态网页,并将查询到的内容记录填充到创建的静态网页中,获得静态网页内容。
410、加速单元将获得的静态网页内容存储至静态资源服务器上,并向静态资源服务器获取该静态网页内容的访问地址。
411、加速单元存储查询条件Pi匹配的Hash值与该静态网页内容的访问地址的对应关系,以使该查询条件Pi匹配的Hash值与该静态网页内容对应。
本发明实施例中,实施上述步骤408~步骤411可以使加速单元再次接收到浏览器发起的包括该查询条件的查询请求时,加速单元可以直接将静态资源服务器存储的该查询条件对应的静态网页内容或该静态网页内容的访问地址发送给浏览器,从而使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险。
412、加速单元向静态资源服务器获取该静态网页内容。
413、加速单元将获取的该静态网页内容或该静态网页内容的访问地址发送给浏览器。
本发明实施例中,加速单元可以通过查询过滤器将该静态网页内容的访问地址或该静态网页内容发送给浏览器,或者,加速单元也可以通过应用服务器将该静态网页内容的访问地址或该静态网页内容发送给浏览器,本发明实施例不作限定。
可见,实施图4所描述的方法,可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图4所描述的方法可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的另一种基于B/S结构的内容查询方法。请参阅图5,图5是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图。如图5所示,该基于B/S结构的内容查询方法可以包括以下步骤。
其中,步骤501~步骤506与前面实施例中的步骤401~步骤406相同,本发明实施例不作赘述。
507、加速单元查询是否存储有该Hash值对应的静态网页内容的访问地址,如果未存储有,执行步骤508~步骤514;如果存储有该Hash值对应的静态网页内容的访问地址,执行步骤515。
本发明实施例中,加速单元查询存储有该Hash值对应的静态网页内容的访问地址时,说明此时静态资源服务器中存储有该Hash值对应的静态网页内容;反之,如果查询未存储有该Hash值对应的静态网页内容的访问地址,说明此时静态资源服务器中未存储有该Hash值对应的静态网页内容。
508、加速单元对该查询条件Pi的使用次数进行更新;例如,加速单元可以对该查询条件Pi的使用次数累加1。
需要说明的是,上述步骤508中,加速单元在对该查询条件Pi的使用次数进行更新时,可以先查询是否已经存储了该查询条件Pi,如果已经存储了该查询条件Pi,加速单元仅需对该查询条件Pi的使用次数进行更新即可,反之,如果尚未存储该查询条件Pi,加速单元需要先存储该查询条件Pi,然后再对该查询条件Pi的使用次数进行更新。
509、加速单元根据帕累托法则判断该查询条件Pi更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过80%,当加速单元根据帕累托法则判断出该查询条件Pi更新后的使用次数与存储的所有查询条件的总使用次数的比值未超过80%时,执行步骤510~步骤514;反之,当加速单元根据帕累托法则判断出该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值未超过80%时,直接执行步骤515~步骤517。
510、加速单元从数据库中查询符合该查询条件Pi的内容记录。
511、加速单元创建静态网页,并将查询到的内容记录填充到创建的静态网页中,获得静态网页内容。
512、加速单元将获得的静态网页内容存储至静态资源服务器上,并向静态资源服务器获取该静态网页内容的访问地址。
513、加速单元存储查询条件Pi匹配的Hash值与该静态网页内容的访问地址的对应关系,以使该查询条件Pi匹配的Hash值与该静态网页内容对应。
本发明实施例中,实施上述步骤508~步骤513,加速单元可以预先对高频出现的查询条件的内容记录生成静态网页内容并保存在静态资源服务器中,这样当浏览器下次发起包括高频出现的查询条件的查询请求时,加速单元可以直接将静态资源服务器存储的高频出现的查询条件对应的静态网页内容或该静态网页内容的访问地址发送给浏览器,从而使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险。
514、加速单元向静态资源服务器获取该静态网页内容。
515、加速单元将获取的该静态网页内容或该静态网页内容的访问地址发送给浏览器。
本发明实施例中,加速单元可以通过查询过滤器将该静态网页内容的访问地址或该静态网页内容发送给浏览器,或者,加速单元也可以通过应用服务器将该静态网页内容的访问地址或该静态网页内容发送给浏览器,本发明实施例不作限定。
可见,实施图5所描述的方法,可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图5所描述的方法可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的另一种基于B/S结构的内容查询方法。请参阅图6,图6是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图。如图6所示,该基于B/S结构的内容查询方法可以包括以下步骤。
其中,步骤601~步骤613与前面实施例中的步骤501~步骤513相同,本发明实施例不作赘述。
本发明实施例中,实施上述步骤608~步骤613,加速单元可以预先对高频出现的查询条件的内容记录生成静态网页内容并保存在静态资源服务器中,这样当浏览器下次发起包括高频出现的查询条件的查询请求时,加速单元可以直接将静态资源服务器存储的高频出现的查询条件对应的静态网页内容或该静态网页内容的访问地址发送给浏览器,从而使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险。
614、加速单元向应用服务器发送该查询请求。
在一个实施例中,加速单元可以直接向查询过滤器发送该查询请求。
在另一个实施例中,加速单元可以向查询过滤器发送该查询请求,并由该查询过滤器向应用服务器发送该查询请求。
615、应用服务器从数据库中查询符合该查询条件的内容记录。
616、应用服务器将查询到的符合该查询条件的内容记录发送给浏览器,并结束本流程。
本发明实施例中,实施上述步骤614~步骤616,可以提高浏览器获得符合该查询条件的内容记录的成功率。
可见,实施图6所描述的方法,可以使内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险;而且,实施本发明实施例可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图6所描述的方法可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的另一种基于B/S结构的内容查询方法。请参阅图7,图7是本发明实施例公开的另一种基于B/S结构的内容查询方法的流程示意图。如图7所示,该基于B/S结构的内容查询方法可以包括以下步骤。
701、加速单元获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件。
702、加速单元从数据库中查询符合该查询条件的内容记录。
703、加速单元创建静态网页,并将查询到的内容记录填充到创建的静态网页中,获得静态网页内容。
704、加速单元将该静态网页内容存储至静态资源服务器,并向静态资源服务器获取该静态网页内容的访问地址。
705、加速单元将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
作为一种可选的实施方式,在图7所描述的方法中,加速单元获得静态网页内容之后,可以生成该查询条件匹配的Hash值,并且存储该Hash值与该静态网页内容的对应关系。其中,加速单元存储该Hash值与该静态网页内容的对应关系的方式可以为:存储该Hash值与该静态网页内容的访问地址的对应关系,以使该Hash值与该静态网页内容对应。这样当加速单元再次接收到浏览器发起的包括该查询条件的查询请求时,加速单元可以直接将该查询条件对应的静态网页内容或该静态网页内容的访问地址发送给浏览器,从而使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险。
另外,实施图7所描述的方法可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图7所描述的方法可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
作为一种可选的实施方式,加速单元可以在为浏览器提供内容查询服务之前,预先对高频出现的查询条件的内容记录进行生成静态网页内容并保存在静态资源服务器中,并且加速单元可以存储查询条件匹配的Hash值与静态网页内容的服务地址的对应关系。请参阅图8,图8是本发明实施例公开的一种在加速单元中预先建立高频出现的查询条件匹配的Hash值与静态网页内容的访问地址的对应关系的方法示意图。如图8所示,该方法可以包括:
801、用户访问浏览器的查询界面,在查询界面上输入查询条件并提交给浏览器。
802、浏览器向应用服务器发送包括该查询条件的查询请求。
803、查询请求经过查询过滤器进行拦截。
804、查询过滤器将拦截得到的查询请求发送给加速单元。
805、加速单元从查询请求中获取该查询条件。
806、加速单元将该查询条件的使用次数累加1。
807、加速单元根据帕累托法则,查询使用次数与所有查询条件的总使用次数的比值超过80%的高频出现的查询条件,以形成查询条件列表。
808、加速单元遍历查询条件列表,并根据查询条件列表中的每一个查询条件,从数据库中查找出符合该查询条件的内容记录。
809、加速单元创建静态网页,并将查找出的符合该查询条件的内容记录填充到创建的静态网页中,获得静态网页内容。
其中,如果符合该查询条件的内容记录有多页内容,那么每一页内容都会生成一个独立的静态网页,每个静态网页中还包含分页信息,利用分页信息可以链接到对应的静态网页。
810、加速单元将静态网页内容存储至静态资源服务器,并向静态资源服务器获取该静态网页内容的访问地址。
811、加速单元生成该查询条件匹配的Hash值,存储该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系。
其中,通过反复执行上述步骤808~步骤811,加速单元可以存储查询条件中的每一个高频出现的查询条件匹配的Hash值与静态网页内容的对应关系,这样当浏览器下次发起包括高频出现的查询条件的查询请求时,加速单元可以将查询条件对应的静态网页内容发送给浏览器,或者,加速单元可以将浏览器发起的查询请求重定向到静态资源服务器以请求对应的静态网页内容,从而可以使得包括高频出现的查询条件的查询请求不再强依赖数据库,从而可以有效地减少对浏览器查询请求的响应速度的影响;而且即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险,而且可以对应用服务器和数据库进行内容查询分流,可以有效地降低应用服务器和数据库的工作负荷。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的一种基于B/S结构的内容查询设备,用于实现上述加速单元的功能。请参阅图9,图9是本发明实施例公开的一种基于B/S结构的内容查询设备的结构示意图。在实际应用中,图9所示的基于B/S结构的内容查询设备在物理形态上可以是服务器、服务平台等设备,本发明实施例不作限定。如图9所示,该基于B/S结构的内容查询设备可以包括:
第一获取单元901,用于获取浏览器发起的查询请求,该查询请求包括查询条件;
第一查询单元902,用于查询是否存储有该查询条件对应的静态网页内容;
发送单元903,用于在第一查询单元902查询出存储有该查询条件对应的静态网页内容时,将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
作为一种可选的实施方式,第一获取单元901可以接收查询过滤器发送的包括查询条件的查询请求,其中,该查询请求是查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。其中,该查询条件可以包括多个查询字段以及每一个查询字段的对应数值。例如,该查询条件为{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)};其中,field-i1表示第一个查询字段,而value-i1表示field-i1的对应数值;field-i2表示第二个查询字段,而value-i2表示field-i2的对应数值;field-in表示最后一个查询字段,而value-in表示field-in的对应数值;其中,查询字段可以包括手机、套餐、号码等查询字段。
作为一种可选的实施方式,第一查询单元902可以生成该查询条件匹配的Hash值,并且查询是否存储有该Hash值对应的静态网页内容。举例来说,第一查询单元902可以从该查询请求中获取该查询条件,并针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对(也称为key-value对);以及可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;以及可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。例如,第一查询单元902可以从该查询请求中获取该查询条件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并将field-i1和value-i1组合获得第一个字段-数值对;以及,将field-i2和value-i2组合获得第二个字段-数值对;……;以及,将field-in和value-in组合获得最后一个字段-数值对,在此基础上,第一查询单元902可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序获得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;进一步地,加速单元可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
本发明实施例中,第一查询单元902将每一个查询字段和该查询字段的对应数值进行组合获得字段-数值对之后,再将获得的所有字段-数值对按照指定顺序(即上述的多个查询字段在该查询条件中的位置顺序)进行排序获得字符串,并利用Hash算法对该字符串进行处理,可以确保不同的查询条件分别匹配不同的Hash值,从而可以提升后续查询的精确度。
作为一种可选的实施方式,第一查询单元902查询是否存储有该Hash值对应的静态网页内容的方式可以为:
第一查询单元902可以查询本地缓存中是否存储有该Hash值与某一个静态网页内容的访问地址的对应关系,如果存储有,说明静态资源服务器中存储有该Hash值对应的静态网页内容;反之,如果未存储有,说明静态资源服务器中未存储有该Hash值对应的静态网页内容。
本发明实施例中,发送单元903可以将该静态网页内容的访问地址或该静态网页内容发送给查询过滤器,并由查询过滤器将该静态网页内容的访问地址或该静态网页内容发送给浏览器;或者,发送单元903可以将该静态网页内容的访问地址或该静态网页内容发送给应用服务器,并由应用服务器将该静态网页内容的访问地址或该静态网页内容发送给浏览器,本发明实施例不作限定。
作为一种可选的实施方式,发送单元903还可以在第一查询单元902查询出未存储有该查询条件对应的静态网页内容时,向应用服务器发送该查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录,并由应用服务器将查询到的内容记录发送给浏览器,从而可以提高浏览器获得符合该查询条件的内容记录的成功率。
可见,实施图9所描述的设备,内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险;而且,实施本发明实施例可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图9所描述的设备可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
请一并参阅图10,图10是本发明实施例公开的另一种基于B/S结构的内容查询设备的结构示意图。其中,图10所描述的基于B/S结构的内容查询设备是由图9所描述的基于B/S结构的内容查询设备进行优化得到的。其中,在图10所描述的基于B/S结构的内容查询设备中,第一查询单元902可以包括:
生成子单元9021,用于生成该查询条件匹配的Hash值;
本地查询子单元9022,用于查询是否存储有该Hash值对应的静态网页内容。
如前面所述,该查询条件可以包括多个查询字段以及每一个查询字段的对应数值。相应的,生成子单元9021可以从该查询请求中获取该查询条件,并针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对(也称为key-value对);以及,生成子单元9021可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;以及,生成子单元9021可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
例如,生成子单元9021可以从该查询请求中获取该查询条件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并将field-i1和value-i1组合获得第一个字段-数值对;以及,将field-i2和value-i2组合获得第二个字段-数值对;……;以及,将field-in和value-in组合获得最后一个字段-数值对,在此基础上,生成子单元9021可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序获得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;进一步地,加速单元可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
本发明实施例中,生成子单元9021将每一个查询字段和该查询字段的对应数值进行组合获得字段-数值对之后,再将获得的所有字段-数值对按照指定顺序(即上述的多个查询字段在该查询条件中的位置顺序)进行排序获得字符串,并利用Hash算法对该字符串进行处理,可以确保不同的查询条件分别匹配不同的Hash值,从而可以提升后续查询的精确度。
本地查询子单元9022可以查询本地缓存中是否存储有该Hash值与某一个静态网页内容的访问地址的对应关系,如果存储有,说明静态资源服务器中存储有该Hash值对应的静态网页内容;反之,如果未存储有,说明静态资源服务器中未存储有该Hash值对应的静态网页内容。
本发明实施例中,发送单元903可以将该静态网页内容的访问地址或该静态网页内容发送给查询过滤器,并由查询过滤器将该静态网页内容的访问地址或该静态网页内容发送给浏览器;或者,发送单元903可以将该静态网页内容的访问地址或该静态网页内容发送给应用服务器,并由应用服务器将该静态网页内容的访问地址或该静态网页内容发送给浏览器,本发明实施例不作限定。
作为一种可选的实施方式,发送单元903还可以在本地查询子单元9022查询出未存储有该Hash值对应的静态网页内容时,向应用服务器发送该查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录,并由应用服务器将查询到的内容记录发送给浏览器,从而可以提高浏览器获得符合该查询条件的内容记录的成功率。
作为一种可选的实施方式,图10所描述的基于B/S结构的内容查询设备还包括:
第二查询单元904,用于在本地查询子单元9022查询未存储有该Hash值对应的静态网页内容时,从数据库中查询符合该查询条件的内容记录,并提供给创建单元905;
创建单元905,用于创建静态网页,并将第二查询单元904查询到的内容记录填充到创建的静态网页中,获得静态网页内容,并提供给交互单元906;
交互单元906,用于将创建单元905获得的静态网页内容存储至静态资源服务器上,并向静态资源服务器获取该静态网页内容的访问地址,并提供给缓存单元907;
缓存单元907,用于存储该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系,以使该查询条件匹配的Hash值与该静态网页内容对应。
作为一种可选的实施方式,图10所描述的基于B/S结构的内容查询设备还包括:
第二获取单元908,用于向静态资源服务器获取该静态网页内容,并提供给发送单元903;例如,第二获取单元908可以从缓存单元907存储的该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系中,获取该静态网页内容的访问地址,并根据该静态网页内容的访问地址向静态资源服务器获取该静态网页内容;
相应地,发送单元903还用于将第二获取单元908获取的该静态网页内容或缓存单元907中该静态网页内容的访问地址发送给浏览器。
请一并参阅图11,图11是本发明实施例公开的另一种基于B/S结构的内容查询设备的结构示意图。其中,图11所描述的基于B/S结构的内容查询设备是由图10所描述的基于B/S结构的内容查询设备进行优化得到的。其中,在图11所描述的基于B/S结构的内容查询设备中,还包括:
更新单元909,用于在本地查询子单元9022查询未存储有该Hash值对应的静态网页内容时,对该查询条件的使用次数进行更新;
判断单元910,用于判断该查询条件更新后的使用次数是否超过预设阈值;
相应地,第二查询单元904具体用于在本地查询子单元9022查询未存储有该Hash值对应的静态网页内容时,以及判断单元910判断出该查询条件更新后的使用次数超过预设阈值时,从数据库中查询符合该查询条件的内容记录。
作为一种可选的实施方式,判断单元910具体用于判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。例如,举例来说,判断单元910可以采用帕累托法则(又称为二八定律)来判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过80%(即预设阈值=80%)。其中,利用帕累托法则可以十分便捷地判断出该查询条件是否属于高频出现的查询条件。
作为一种可选的实施方式,生成子单元9021包括:
获取模块90211,用于针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对;
组合模块90212,用于将获得的所有字段-数值对按照该多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;
哈希模块90213,用于利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
可见,实施图9~图11所描述的内容查询设备,使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险;而且,实施本发明实施例可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图9~图11所描述的内容查询设备可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
请一并参阅图12,图12是本发明实施例公开的另一种基于B/S结构的内容查询设备的结构示意图。如图12所示,该基于B/S结构的内容查询设备包括:
获取单元1201,用于获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件;
查询单元1202,用于从数据库中查询符合该查询条件的内容记录;
创建单元1203,用于创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
交互单元1204,用于将静态网页内容存储至静态资源服务器,并向静态资源服务器获取该静态网页内容的访问地址;
发送单元1205,用于将交互单元1204获得的该静态网页内容的访问地址或创建单元1203获得的该静态网页内容发送给浏览器。
作为一种可选的实施方式,图12所示的内容查询设备还可以包括:
生成单元1206,用于生成该查询条件匹配的Hash值;
缓存单元1207,用于存储该Hash值与该静态网页内容的对应关系。
在图12所示的内容查询设备中,缓存单元1207具体可以用于存储该Hash值与该静态网页内容的访问地址的对应关系,从而使得该Hash值与该静态网页内容对应。这样当获取单元1201再次接收到浏览器发起的包括该查询条件的查询请求时,查询单元1202可以查询出缓存单元1207中缓存有该查询条件匹配的Hash值与该静态网页内容的对应关系,相应地,发送单元1205可以直接将该静态网页内容的访问地址或该静态网页内容发送给浏览器,从而使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险。
另外,实施图12所描述的内容查询设备可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图12所描述的内容查询设备可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的另一种基于B/S结构的内容查询设备,用于实现上述加速单元的功能。请参阅图13,图13是本发明实施例公开的另一种基于B/S结构的内容查询设备的结构示意图。如图13所示,该基于B/S结构的内容查询设备可以包括:
输入器件1301、处理器件1302、存储器件1303以及输出器件1304等组件,这些组件可以通过一条或多条总线进行通信。图13示出的内容查询设备的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图13示出的更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,内容查询设备在物理形态上可以是一种服务设备、服务平台等。其中,存储器件1303用于存储程序和数据,处理器件1302用于调用存储器件1303存储的程序,执行以下操作:
通过输入器件1301获取浏览器发起的查询请求,其中,查询请求包括用于查询内容的查询条件;
查询是否存储有查询条件对应的静态网页内容,如果存储有,通过输出器件1304将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
作为一种可选的实施方式,处理器件1302可以通过输入器件1301接收查询过滤器发送的包括查询条件的查询请求,其中,该查询请求是查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。具体地,查询过滤器可以对浏览器发送给应用服务器的查询请求进行拦截,获得查询请求并发送给的输入器件1301,而输入器件1301可以将接收到的查询请求发送给处理器件1302。其中,该查询请求包括的该查询条件可以包括多个查询字段以及每一个查询字段的对应数值。例如,该查询条件为{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)};其中,field-i1表示第一个查询字段,而value-i1表示field-i1的对应数值;field-i2表示第二个查询字段,而value-i2表示field-i2的对应数值;field-in表示最后一个查询字段,而value-in表示field-in的对应数值;其中,查询字段可以包括手机、套餐、号码等查询字段。
作为一种可选的实施方式,处理器件1302查询是否存储有查询条件对应的静态网页内容,包括:
处理器件1302生成该查询条件匹配的Hash值;
处理器件1302查询是否存储有该Hash值对应的静态网页内容。
作为一种可选的实施方式,处理器件1302生成该查询条件匹配的Hash值的方式可以为:
处理器件1302可以从该查询请求中获取该查询条件,并针对该查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对(也称为key-value对);以及,处理器件1302可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序,获得字符串;以及,处理器件1302可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
例如,处理器件1302可以从该查询请求中获取该查询条件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并将field-i1和value-i1组合获得第一个字段-数值对;以及,将field-i2和value-i2组合获得第二个字段-数值对;……;以及,将field-in和value-in组合获得最后一个字段-数值对,在此基础上,处理器件1302可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序获得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;进一步地,加速单元可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
本发明实施例中,处理器件1302将每一个查询字段和该查询字段的对应数值进行组合获得字段-数值对之后,再将获得的所有字段-数值对按照指定顺序(即上述的多个查询字段在该查询条件中的位置顺序)进行排序获得字符串,并利用Hash算法对该字符串进行处理,可以确保不同的查询条件分别匹配不同的Hash值,从而可以提升后续查询的精确度。
作为一种可选的实施方式,处理器件1302可以查询存储器件1303中是否单元查询存储有该Hash值对应的静态网页内容的访问地址,如果有,说明此时静态资源服务器中存储有该Hash值对应的静态网页内容;反之,如果查询未存储有该Hash值对应的静态网页内容的访问地址,说明此时静态资源服务器中未存储有该Hash值对应的静态网页内容。
作为一种可选的实施方式,若未存储有该Hash值对应的静态网页内容,处理器件1302还用于执行以下操作:
从数据库中查询符合该查询条件的内容记录;例如,通过输出器件1304向数据库发送用于查询符合该查询条件的内容记录的请求,以及通过输入器件1301接收数据库发送的符合该查询条件的内容记录;创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;通过输出器件1304将静态网页内容存储至静态资源服务器上,并向静态资源服务器获取静态网页内容的访问地址;存储该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系至存储器件1303,以使该查询条件匹配的Hash值与该静态网页内容对应。相应地,处理器件1302还可以向静态资源服务器获取该静态网页内容,并将获取的该静态网页内容或该静态网页内容的访问地址发送给浏览器。
作为一种可选的实施方式,处理器件1302从数据库中查询符合该查询条件的内容记录之前,还可以执行以下操作:
对该查询条件的使用次数进行更新;
判断该查询条件更新后的使用次数是否超过预设阈值,如果超过预设阈值,执行从数据库中查询符合该查询条件的内容记录的步骤。
作为一种可选的实施方式,处理器件1302判断该查询条件更新后的使用次数是否超过预设阈值,包括:
判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
作为一种可选的实施方式,处理器件1302在查询出未存储有该Hash值对应的静态网页内容时,处理器件1302还可以执行以下操作:
向应用服务器发送该查询请求,以触发应用服务器从数据库中查询符合该查询条件的内容记录,并将该内容记录发送给浏览器,从而可以提高浏览器获得符合该查询条件的内容记录的成功率。
可见,实施图13所描述的内容查询设备,使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险;而且,实施本发明实施例可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图13所描述的内容查询设备可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
基于图1所示的一种基于B/S结构的网络架构,本发明实施例公开了的另一种基于B/S结构的内容查询设备,用于实现上述加速单元的功能。请参阅图14,图14是本发明实施例公开的另一种基于B/S结构的内容查询设备的结构示意图。如图14所示,该基于B/S结构的内容查询设备可以包括:
输入器件1401、处理器件1402、存储器件1403以及输出器件1404等组件,这些组件可以通过一条或多条总线进行通信。图14示出的内容查询设备的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图14示出的更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,内容查询设备在物理形态上可以是一种服务设备、服务平台等。其中,存储器件1403用于存储程序和数据,处理器件1402用于调用存储器件1403存储的程序,执行以下操作:
通过输入器件1401获取浏览器发起的查询请求,该查询请求包括用于查询内容的查询条件;
从数据库中查询符合该查询条件的内容记录;例如,通过输出器件1404向数据库发送用于查询符合该查询条件的内容记录的请求,以及通过输入器件1401接收数据库发送的符合该查询条件的内容记录;
创建静态网页,并将该内容记录填充到创建的静态网页中,获得静态网页内容;
通过输出器件1404将该静态网页内容存储至静态资源服务器,并向静态资源服务器获取该静态网页内容的访问地址;
通过输出器件1404将该静态网页内容的访问地址或该静态网页内容发送给浏览器。
作为一种可选的实施方式,处理器件1402还用于执行以下操作:
生成该查询条件匹配的Hash值;
存储该Hash值与该静态网页内容的对应关系至存储器件1403。
作为一种可选的实施方式,处理器件1402存储该Hash值与该静态网页内容的对应关系至存储器件1403的方式包括:
存储该Hash值与该静态网页内容的访问地址的对应关系至存储器件,以使该Hash值与该静态网页内容对应。这样当处理器件1402再次通过输入器件1401接收到浏览器发起的包括该查询条件的查询请求时,处理器件1402可以查询出存储器件1403中缓存有该查询条件匹配的Hash值与该静态网页内容的对应关系,相应地,处理器件1402可以通过输出器件1404直接将该静态网页内容的访问地址或该静态网页内容发送给浏览器,从而使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险。
另外,实施图14所描述的内容查询设备可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图14所描述的内容查询设备可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
请参阅图15,图15是本发明实施例公开的一种基于B/S结构的内容查询系统的结构示意图。如图15所示,该基于B/S结构的内容查询系统可以包括浏览器1501、内容查询设备1502以及静态资源服务器1503,其中:
静态资源服务器1503,用于存储静态网页内容;
内容查询设备1502,用于获取浏览器1502发起的查询请求,该查询请求包括用于查询内容的查询条件;以及,查询静态资源服务器1503中是否存储有该查询条件对应的静态网页内容,如果存储有,将该查询条件对应的静态网页内容的访问地址或该查询条件对应的静态网页内容发送给浏览器1501。
作为一种可选的实施方式,内容查询设备1502查询是否存储有该查询条件对应的静态网页内容的方式具体可以为:
内容查询设备1502生成该查询条件匹配的Hash值;以及,查询静态资源服务器1503是否存储有该Hash值对应的静态网页内容。
本发明实施例中,内容查询设备1502可以查询内容查询设备1502的本地缓存中是否存储有该Hash值对应的静态网页内容的访问地址,如果内容查询设备1502的本地缓存中存储有该Hash值对应的静态网页内容的访问地址,说明此时静态资源服务器1503中存储有该Hash值对应的静态网页内容;反之,如果内容查询设备1502的本地缓存中未存储有该Hash值对应的静态网页内容的访问地址,说明此时静态资源服务器1502中未存储有该Hash值对应的静态网页内容。
作为一种可选的实施方式,图15所示的基于B/S结构的内容查询系统还可以包括数据库1504,其中:
内容查询设备1502,还用于在查询出静态资源服务器1502未存储有该Hash值对应的静态网页内容时,从数据库1504中查询符合该查询条件的内容记录;以及,还用于创建静态网页,并将查询到的内容记录填充到创建的静态网页中,获得静态网页内容;以及,还用于将该静态网页内容存储至静态资源服务器1503上,并向静态资源服务器1503获取该静态网页内容的访问地址;以及,还用于存储该查询条件匹配的Hash值与该静态网页内容的访问地址的对应关系,以使该查询条件匹配的Hash值与该静态网页内容对应。可选地,内容查询设备1502还用于向静态资源服务器1503获取该静态网页内容,并将获取的该静态网页内容或该静态网页内容的访问地址发送给浏览器1501。
作为一种可选的实施方式,内容查询设备1502还用于从数据库1504中查询符合该查询条件的内容记录之前,对该查询条件的使用次数进行更新;以及,判断该查询条件更新后的使用次数是否超过预设阈值,如果超过预设阈值,执行从数据库1504中查询符合该查询条件的内容记录的步骤。
作为一种可选的实施方式,内容查询设备1502判断该查询条件更新后的使用次数是否超过预设阈值的方式可以为:
内容查询设备1502判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。举例来说,内容查询设备1502可以采用帕累托法则(又称为二八定律)来判断该查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过80%(即预设阈值=80%)。其中,利用帕累托法则可以十分便捷地判断出该查询条件是否属于高频出现的查询条件。
作为一种可选的实施方式,图15所示的基于B/S结构的内容查询系统还可以包括应用服务器1505,其中:
内容查询设备1502,还用于在查询出静态资源服务器1503中未存储有该Hash值对应的静态网页内容时,例如,内容查询设备1502查询出内容查询设备1502的本地缓存中未存储有该Hash值对应的静态网页内容的访问地址的对应关系时(说明此时静态资源服务器1503中未存储有该Hash值对应的静态网页内容),内容查询设备1502可以向应用服务器1505发送该查询请求,而应用服务器1505可以从数据库1504中查询符合该查询条件的内容记录,并将查询出的内容记录发送给浏览器1501,从而可以提高浏览器1501获得符合该查询条件的内容记录的成功率。
作为一种可选的实施方式,图15所示的内容查询系统还可以包括查询过滤器1506,在图15所示的内容查询系统中,查询过滤器8061506可以部署在应用服务器1505中。需要说明的是,在实际应用中,查询过滤器1506可以独立于应用服务器1505进行部署,或者,查询过滤器1506也作为内容查询设备802集成的一部分,本发明实施例不作限定。
其中,内容查询设备1502获取浏览器1501发起的查询请求的方式可以为:
内容查询设备1502接收查询过滤器1506发送的查询请求,该查询请求是查询过滤器1506对浏览器1501发送给应用服务器1505的查询请求进行拦截而获得的。具体地,查询过滤器1506可以对浏览器1501发送给应用服务器1505的查询请求进行拦截,获得查询请求并发送给内容查询设备1502。
本发明实施例中,该查询请求中的查询条件可以包括多个查询字段以及每一个查询字段的对应数值,那么相应地,内容查询设备1502生成该查询条件匹配的Hash值的方式可以为:
内容查询设备1502从查询请求中获取查询条件,并针对查询条件包括的每一个查询字段,将该查询字段和该查询字段的对应数值进行组合,获得字段-数值对;以及,将获得的所有字段-数值对按照多个查询字段在查询条件中的位置顺序进行排序,获得字符串;以及,利用Hash算法对字符串进行处理,获得该查询条件匹配的Hash值。
例如,内容查询设备1502可以从该查询请求中获取该查询条件{(field-i1,value-i1),(field-i2,value-i2)…(field-in,value-in)},并将field-i1和value-i1组合获得第一个字段-数值对;以及,将field-i2和value-i2组合获得第二个字段-数值对;……;以及,将field-in和value-in组合获得最后一个字段-数值对,在此基础上,内容查询设备1502可以将获得的所有字段-数值对按照上述的多个查询字段在该查询条件中的位置顺序进行排序获得字符串,即字符串=field-i1,value-i1,field-i2,value-i2,…,field-in,value-in;进一步地,加速单元可以利用Hash算法对该字符串进行处理,获得该查询条件匹配的Hash值。
本发明实施例中,内容查询设备1502将每一个查询字段和该查询字段的对应数值进行组合获得字段-数值对之后,再将获得的所有字段-数值对按照指定顺序(即上述的多个查询字段在该查询条件中的位置顺序)进行排序获得字符串,并利用Hash算法对该字符串进行处理,可以确保不同的查询条件分别匹配不同的Hash值,从而可以提升后续查询的精确度。
可见,实施图15所描述的内容查询系统,使得内容查询不再强依赖数据库,这样即使数据库中的内容记录的再多,也不会降低对浏览器查询请求的响应速度,从而可以有效地减少对浏览器查询请求的响应速度的影响;另外,由于内容查询不再强依赖数据库,即使数据库出现宕机,也不会造成查询失效,从而可以有效地降低查询失效的风险;而且,实施本发明实施例可以对应用服务器和数据库进行内容查询分流,从而可以有效地降低应用服务器和数据库的工作负荷。
此外,实施图15所描述的内容查询系统可以省去使用应用服务器的内存资源来预先缓存内容记录,从而可以减少对应用服务器的内存资源的占用,减少应用服务器的内存资源的浪费。
本发明实施例中,利用静态文件方式缓存的静态网页内容可以降低数据库、应用服务器的压力;而且,浏览器在获得一次静态网页内容后即可本地缓存,后续访问不需要二次请求,从而可以提升网页的展示速度,提升客户的体验;而且利用静态资源服务器的分布式、无状态,能够平滑扩展。
本发明实施例的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端或设备中的单元或模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的一种基于B/S结构的内容查询方法及设备、数据库系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (33)
1.一种基于B/S结构的内容查询方法,其特征在于,包括:
获取浏览器发起的查询请求,所述查询请求包括用于查询内容的查询条件;
查询是否存储有所述查询条件对应的静态网页内容,如果存储有,将所述静态网页内容的访问地址或所述静态网页内容发送给所述浏览器;
其中,
所述查询是否存储有所述查询条件对应的静态网页内容,包括:
生成所述查询条件匹配的Hash值;查询是否存储有所述Hash值对应的静态网页内容;
其中,所述查询条件包括多个查询字段以及每一个所述查询字段的对应数值,所述生成所述查询条件匹配的Hash值,包括:
针对所述查询条件包括的每一个所述查询字段,将所述查询字段和所述查询字段的对应数值进行组合,获得字段-数值对;
将获得的所有字段-数值对按照所述多个查询字段在所述查询条件中的位置顺序进行排序,获得字符串;以及,利用Hash算法对所述字符串进行处理,获得所述查询条件匹配的Hash值。
2.根据权利要求1所述的方法,其特征在于,若未存储有所述Hash值对应的静态网页内容,所述方法还包括:
从数据库中查询符合所述查询条件的内容记录;
创建静态网页,并将所述内容记录填充到创建的所述静态网页中,获得静态网页内容;
将所述静态网页内容存储至静态资源服务器上,并向所述静态资源服务器获取所述静态网页内容的访问地址;
存储所述查询条件匹配的Hash值与所述访问地址的对应关系,以使所述查询条件匹配的Hash值与所述静态网页内容对应。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
向所述静态资源服务器获取所述静态网页内容,并将获取的所述静态网页内容或所述静态网页内容的访问地址发送给所述浏览器。
4.根据权利要求2所述的方法,其特征在于,所述从数据库中查询符合所述查询条件的内容记录之前,所述方法还包括:
对所述查询条件的使用次数进行更新;
判断所述查询条件更新后的使用次数是否超过预设阈值,如果超过预设阈值,执行所述的从数据库中查询符合所述查询条件的内容记录的步骤。
5.根据权利要求3所述的方法,其特征在于,所述从数据库中查询符合所述查询条件的内容记录之前,所述方法还包括:
对所述查询条件的使用次数进行更新;
判断所述查询条件更新后的使用次数是否超过预设阈值,如果超过预设阈值,执行所述的从数据库中查询符合所述查询条件的内容记录的步骤。
6.根据权利要求4所述的方法,其特征在于,所述判断所述查询条件更新后的使用次数是否超过预设阈值,包括:
判断所述查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
7.根据权利要求5所述的方法,其特征在于,所述判断所述查询条件更新后的使用次数是否超过预设阈值,包括:
判断所述查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
8.根据权利要求1所述的方法,其特征在于,若未存储有所述Hash值对应的静态网页内容,所述方法还包括:
向应用服务器发送所述查询请求,以触发所述应用服务器从数据库中查询符合所述查询条件的内容记录,并由所述应用服务器将所述内容记录发送给所述浏览器。
9.根据权利要求1~8任一项所述的方法,其特征在于,所述获取浏览器发起的查询请求包括:
接收查询过滤器发送的查询请求,所述查询请求是所述查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。
10.一种基于B/S结构的内容查询设备,其特征在于,包括:
第一获取单元,用于获取浏览器发起的查询请求,所述查询请求包括用于查询内容的查询条件;
第一查询单元,用于查询是否存储有所述查询条件对应的静态网页内容;
发送单元,用于在所述第一查询单元查询出存储有所述查询条件对应的静态网页内容时,将所述静态网页内容的访问地址或所述静态网页内容发送给所述浏览器;
其中,所述第一查询单元包括:
生成子单元,用于生成所述查询条件匹配的Hash值;
本地查询子单元,用于查询是否存储有所述Hash值对应的静态网页内容;
其中,所述查询条件包括多个查询字段以及每一个所述查询字段的对应数值,所述生成子单元包括:
获取模块,用于针对所述查询条件包括的每一个所述查询字段,将所述查询字段和所述查询字段的对应数值进行组合,获得字段-数值对;
组合模块,用于将获得的所有字段-数值对按照所述多个查询字段在所述查询条件中的位置顺序进行排序,获得字符串;
哈希模块,用于利用Hash算法对所述字符串进行处理,获得所述查询条件匹配的Hash值。
11.根据权利要求10所述的设备,其特征在于,所述设备还包括:
第二查询单元,用于在所述本地查询子单元查询未存储有所述Hash值对应的静态网页内容时,从数据库中查询符合所述查询条件的内容记录;
创建单元,用于创建静态网页,并将所述内容记录填充到创建的所述静态网页中,获得静态网页内容;
交互单元,用于将所述静态网页内容存储至静态资源服务器上,并向所述静态资源服务器获取所述静态网页内容的访问地址;
缓存单元,用于存储所述查询条件匹配的Hash值与所述访问地址的对应关系,以使所述查询条件匹配的Hash值与所述静态网页内容对应。
12.根据权利要求11所述的设备,其特征在于,所述设备还包括:
第二获取单元,用于向所述静态资源服务器获取所述静态网页内容;
所述发送单元,还用于将所述第二获取单元获取的所述静态网页内容或所述缓存单元中的所述静态网页内容的访问地址发送给所述浏览器。
13.根据权利要求11所述的设备,其特征在于,所述设备还包括:
更新单元,用于在所述本地查询子单元查询未存储有所述Hash值对应的静态网页内容时,对所述查询条件的使用次数进行更新;
判断单元,用于判断所述查询条件更新后的使用次数是否超过预设阈值;
所述第二查询单元,具体用于在所述本地查询子单元查询未存储有所述Hash值对应的静态网页内容时,以及所述判断单元判断出所述查询条件更新后的使用次数超过预设阈值时,从数据库中查询符合所述查询条件的内容记录。
14.根据权利要求12所述的设备,其特征在于,所述设备还包括:
更新单元,用于在所述本地查询子单元查询未存储有所述Hash值对应的静态网页内容时,对所述查询条件的使用次数进行更新;
判断单元,用于判断所述查询条件更新后的使用次数是否超过预设阈值;
所述第二查询单元,具体用于在所述本地查询子单元查询未存储有所述Hash值对应的静态网页内容时,以及所述判断单元判断出所述查询条件更新后的使用次数超过预设阈值时,从数据库中查询符合所述查询条件的内容记录。
15.根据权利要求13所述的设备,其特征在于,所述判断单元具体用于判断所述查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
16.根据权利要求14所述的设备,其特征在于,所述判断单元具体用于判断所述查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
17.根据权利要求10所述的设备,其特征在于,所述发送单元还用于在所述本地查询子单元查询未存储有所述Hash值对应的静态网页内容时,向应用服务器发送所述查询请求,以触发所述应用服务器从数据库中查询符合所述查询条件的内容记录,并由所述应用服务器将所述内容记录发送给所述浏览器。
18.根据权利要求10~17任一项所述的设备,其特征在于,所述第一获取单元具体用于接收查询过滤器发送的查询请求,所述查询请求是所述查询过滤器对浏览器发送给应用服务器的查询请求进行拦截而获得的。
19.一种基于B/S结构的内容查询系统,其特征在于,包括浏览器、内容查询设备以及静态资源服务器,其中:
所述静态资源服务器,用于存储静态网页内容;
所述内容查询设备,用于获取所述浏览器发起的查询请求,所述查询请求包括用于查询内容的查询条件;以及,查询所述静态资源服务器中是否存储有所述查询条件对应的静态网页内容,如果存储有,将所述静态网页内容的访问地址或所述静态网页内容发送给所述浏览器;
其中,所述内容查询设备查询是否存储有所述查询条件对应的静态网页内容的方式具体为:
所述内容查询设备生成所述查询条件匹配的Hash值;
以及,查询所述静态资源服务器是否存储有所述Hash值对应的静态网页内容;
其中,所述查询条件包括多个查询字段以及每一个所述查询字段的对应数值,所述内容查询设备生成所述查询条件匹配的Hash值的方式具体为:
所述内容查询设备针对所述查询条件包括的每一个所述查询字段,将所述查询字段和所述查询字段的对应数值进行组合,获得字段-数值对;
以及,将获得的所有字段-数值对按照所述多个查询字段在所述查询条件中的位置顺序进行排序,获得字符串;
以及,利用Hash算法对所述字符串进行处理,获得所述查询条件匹配的Hash值。
20.根据权利要求19所述的系统,其特征在于:
所述内容查询设备,还用于在查询出未存储有所述Hash值对应的静态网页内容,从数据库中查询符合所述查询条件的内容记录;
以及,还用于创建静态网页,并将所述内容记录填充到创建的所述静态网页中,获得静态网页内容;
以及,还用于将所述静态网页内容存储至所述静态资源服务器上,并向所述静态资源服务器获取所述静态网页内容的访问地址;
以及,还用于存储所述查询条件匹配的Hash值与所述访问地址的对应关系,以使所述查询条件匹配的Hash值与所述静态网页内容对应。
21.根据权利要求20所述的系统,其特征在于:
所述内容查询设备,还用于向所述静态资源服务器获取所述静态网页内容,并将获取的所述静态网页内容或所述静态网页内容的访问地址发送给所述浏览器。
22.根据权利要求20所述的系统,其特征在于,所述内容查询设备还用于从数据库中查询符合所述查询条件的内容记录之前,对所述查询条件的使用次数进行更新;以及,判断所述查询条件更新后的使用次数是否超过预设阈值,如果超过所述预设阈值,执行所述的从数据库中查询符合所述查询条件的内容记录的步骤。
23.根据权利要求21所述的系统,其特征在于,所述内容查询设备还用于从数据库中查询符合所述查询条件的内容记录之前,对所述查询条件的使用次数进行更新;以及,判断所述查询条件更新后的使用次数是否超过预设阈值,如果超过所述预设阈值,执行所述的从数据库中查询符合所述查询条件的内容记录的步骤。
24.根据权利要求22所述的系统,其特征在于,所述内容查询设备判断所述查询条件更新后的使用次数是否超过预设阈值的方式具体为:
所述内容查询设备判断所述查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
25.根据权利要求23所述的系统,其特征在于,所述内容查询设备判断所述查询条件更新后的使用次数是否超过预设阈值的方式具体为:
所述内容查询设备判断所述查询条件更新后的使用次数与存储的所有查询条件的总使用次数的比值是否超过预设阈值。
26.根据权利要求20所述的系统,其特征在于:
所述内容查询设备,还用于在查询出未存储有所述Hash值对应的静态网页内容时,向应用服务器发送所述查询请求,以触发所述应用服务器从数据库中查询符合所述查询条件的内容记录,并由所述应用服务器将所述内容记录发送给所述浏览器。
27.根据权利要求19~26任一项所述的系统,其特征在于:
所述内容查询设备获取所述浏览器发起的查询请求的方式具体为:
所述内容查询设备接收查询过滤器发送的查询请求,所述查询请求是所述查询过滤器对所述浏览器发送给应用服务器的查询请求进行拦截而获得的。
28.一种基于B/S结构的内容查询方法,其特征在于,包括:
获取浏览器发起的查询请求,所述查询请求包括用于查询内容的查询条件;
从数据库中查询符合所述查询条件的内容记录;
创建静态网页,并将所述内容记录填充到创建的所述静态网页中,获得静态网页内容;
将所述静态网页内容存储至静态资源服务器,并向所述静态资源服务器获取所述静态网页内容的访问地址;
将所述静态网页内容的访问地址或所述静态网页内容发送给所述浏览器;
其中,所述方法还包括:
生成所述查询条件匹配的Hash值;
存储所述Hash值与所述静态网页内容的对应关系;
其中,所述查询条件包括多个查询字段以及每一个所述查询字段的对应数值,所述生成所述查询条件匹配的Hash值的方式具体为:
针对所述查询条件包括的每一个所述查询字段,将所述查询字段和所述查询字段的对应数值进行组合,获得字段-数值对;
以及,将获得的所有字段-数值对按照所述多个查询字段在所述查询条件中的位置顺序进行排序,获得字符串;以及,利用Hash算法对所述字符串进行处理,获得所述查询条件匹配的Hash值。
29.根据权利要求28所述的方法,其特征在于,所述存储所述Hash值与所述静态网页内容的对应关系包括:
存储所述Hash值与所述静态网页内容的访问地址的对应关系,以使所述Hash值与所述静态网页内容对应。
30.一种基于B/S结构的内容查询设备,其特征在于,包括:
获取单元,用于获取浏览器发起的查询请求,所述查询请求包括用于查询内容的查询条件;
查询单元,用于从数据库中查询符合所述查询条件的内容记录;
创建单元,用于创建静态网页,并将所述内容记录填充到创建的所述静态网页中,获得静态网页内容;
交互单元,用于将所述静态网页内容存储至静态资源服务器,并向所述静态资源服务器获取所述静态网页内容的访问地址;
发送单元,用于将所述静态网页内容的访问地址或所述静态网页内容发送给所述浏览器;
其中,所述设备还包括:
生成单元,用于生成所述查询条件匹配的Hash值;
缓存单元,用于存储所述Hash值与所述静态网页内容的对应关系;
其中,所述查询条件包括多个查询字段以及每一个所述查询字段的对应数值,生成所述查询条件匹配的Hash值的方式具体为:
针对所述查询条件包括的每一个所述查询字段,将所述查询字段和所述查询字段的对应数值进行组合,获得字段-数值对;
以及,将获得的所有字段-数值对按照所述多个查询字段在所述查询条件中的位置顺序进行排序,获得字符串;以及,利用Hash算法对所述字符串进行处理,获得所述查询条件匹配的Hash值。
31.根据权利要求30所述的设备,其特征在于,所述缓存单元具体用于存储所述Hash值与所述静态网页内容的访问地址的对应关系,以使所述Hash值与所述静态网页内容对应。
32.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现权利要求1至9任意一项所述的方法。
33.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现权利要求28至29任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511009619.XA CN106933817B (zh) | 2015-12-29 | 2015-12-29 | 一种基于b/s结构的内容查询方法及设备、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511009619.XA CN106933817B (zh) | 2015-12-29 | 2015-12-29 | 一种基于b/s结构的内容查询方法及设备、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933817A CN106933817A (zh) | 2017-07-07 |
CN106933817B true CN106933817B (zh) | 2021-02-12 |
Family
ID=59458352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511009619.XA Active CN106933817B (zh) | 2015-12-29 | 2015-12-29 | 一种基于b/s结构的内容查询方法及设备、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933817B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357897A (zh) * | 2017-07-13 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种实现用户访问控制的方法、装置及计算机存储介质 |
CN110555159A (zh) * | 2018-03-30 | 2019-12-10 | 北大方正集团有限公司 | 网页检索方法、装置、设备及存储介质 |
CN111881386B (zh) * | 2018-08-31 | 2024-03-12 | 创新先进技术有限公司 | 一种基于扫码操作的页面访问方法、装置及系统 |
CN109495553B (zh) * | 2018-10-31 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 一种网页显示控制方法、系统及反向代理服务器 |
CN113315822B (zh) * | 2021-05-21 | 2023-06-20 | 福建天泉教育科技有限公司 | 一种前后端分离架构下的页面静态化方法与系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729598A (zh) * | 2009-11-18 | 2010-06-09 | 福建星网锐捷网络有限公司 | 提高Web服务响应速率的方法和系统及网络处理器 |
CN102831249A (zh) * | 2012-09-19 | 2012-12-19 | 河南锐之旗信息技术有限公司 | 一种静态页面生成方法 |
CN104123356A (zh) * | 2014-07-17 | 2014-10-29 | 成都康赛信息技术有限公司 | 一种大数据量下提高网页响应的方法 |
CN105117473A (zh) * | 2015-09-02 | 2015-12-02 | 上海航盛实业有限公司 | 一种基于Web的信息查询系统及信息查询方法 |
CN106407293A (zh) * | 2016-08-30 | 2017-02-15 | 成都科来软件有限公司 | 一种基于c/s模式下的数据报表管理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030110158A1 (en) * | 2001-11-13 | 2003-06-12 | Seals Michael P. | Search engine visibility system |
-
2015
- 2015-12-29 CN CN201511009619.XA patent/CN106933817B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729598A (zh) * | 2009-11-18 | 2010-06-09 | 福建星网锐捷网络有限公司 | 提高Web服务响应速率的方法和系统及网络处理器 |
CN102831249A (zh) * | 2012-09-19 | 2012-12-19 | 河南锐之旗信息技术有限公司 | 一种静态页面生成方法 |
CN104123356A (zh) * | 2014-07-17 | 2014-10-29 | 成都康赛信息技术有限公司 | 一种大数据量下提高网页响应的方法 |
CN105117473A (zh) * | 2015-09-02 | 2015-12-02 | 上海航盛实业有限公司 | 一种基于Web的信息查询系统及信息查询方法 |
CN106407293A (zh) * | 2016-08-30 | 2017-02-15 | 成都科来软件有限公司 | 一种基于c/s模式下的数据报表管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106933817A (zh) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933817B (zh) | 一种基于b/s结构的内容查询方法及设备、系统 | |
KR102097881B1 (ko) | 단축 링크를 처리하는 방법 및 장치, 및 단축 링크 서버 | |
CN106933854B (zh) | 短链接处理方法、装置及服务器 | |
US10839038B2 (en) | Generating configuration information for obtaining web resources | |
CN105930528B (zh) | 一种网页缓存的方法及服务器 | |
US10015226B2 (en) | Methods for making AJAX web applications bookmarkable and crawlable and devices thereof | |
US20080016151A1 (en) | Client-side aggregation of context-sensitive request results where results for aggregation are asynchronously produced by multiple servers | |
CN107872437B (zh) | 一种用于业务请求的方法、装置及服务器 | |
US20130111325A1 (en) | Method and Apparatus of Processing Nested Fragment Caching of a Web Page | |
CN106933965B (zh) | 静态资源请求的方法 | |
CN106534268B (zh) | 一种数据共享方法及装置 | |
US20130262704A1 (en) | System and method for improving delivery of content over a network | |
CN105677646A (zh) | 字库生成方法、字库生成系统和服务器 | |
CN111224880A (zh) | 一种单页面应用的接口数据获取方法、装置及存储介质 | |
CN104618388B (zh) | 快速注册登录方法及对应的重置服务器、信息服务器 | |
CN109040300B (zh) | 推送消息的方法、装置和存储介质 | |
CN102882988A (zh) | 一种获得资源信息的地址信息的方法、装置及设备 | |
CN112527293A (zh) | 首屏页面渲染方法、装置、计算机设备及存储介质 | |
CN112182014A (zh) | 数据库查询方法、装置、设备及存储介质 | |
CN105871961B (zh) | 一种灰度发布路由的方法及装置 | |
CN114168847A (zh) | 数据查询的方法、装置、电子设备及存储介质 | |
CN113761565B (zh) | 数据脱敏方法和装置 | |
CN112261090A (zh) | Web数据处理方法、装置、计算机设备和可读存储介质 | |
CN110633432A (zh) | 一种获取数据的方法、装置、终端设备及介质 | |
CN106919600A (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 |