CN102868715A - 适用于wap 服务的缓存架构系统及其缓存方法 - Google Patents
适用于wap 服务的缓存架构系统及其缓存方法 Download PDFInfo
- Publication number
- CN102868715A CN102868715A CN2011101906429A CN201110190642A CN102868715A CN 102868715 A CN102868715 A CN 102868715A CN 2011101906429 A CN2011101906429 A CN 2011101906429A CN 201110190642 A CN201110190642 A CN 201110190642A CN 102868715 A CN102868715 A CN 102868715A
- Authority
- CN
- China
- Prior art keywords
- data cached
- generation
- wap
- caching
- generations
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种适用于WAP服务的缓存架构系统及其缓存方法,其中该系统包括:WAP服务器、缓存系统,所述WAP服务器接收用户HTTP请求,适配页面格式,调用所述缓存系统获取缓存结果,并根据所述缓存结果生成WAP页面,以向用户展示;所述缓存系统依次查询一代缓存数据、二代缓存数据,返回缓存结果至所述WAP服务器。本发明能够根据数据有效性设置失效时间,实现了缓存内容的分代管理,能够快速命中最常用数据,提高了缓存命中率,节约缓存系统内存。
Description
技术领域
本发明涉及缓存技术,特别是涉及一种适用于WAP服务的缓存架构系统及其缓存方法。
背景技术
随着手机硬件技术的迅速发展,手机页面展示功能越来越强,从WAP1.2页面到WAP2.0页面。为了获得更好的用户体验,服务提供商需要进行页面适配,即根据不同的手机类型,为用户提供不同类型的页面视图。为了解决巨大的WAP页面访问压力,会使用到缓存系统。当WAP服务系统中适配多种页面格式后,会导致缓存系统对内存的要求无限增长。
同时,现有的缓存系统还无法根据数据访问频率设置优先级,内存利用率低,不能快速清理失效内容。
发明内容
本发明的目的在于提供一种适用于WAP服务的缓存架构系统及其缓存方法,用于解决现有缓存系统无法根据数据有效性设置失效时间,无法快速命中常用数据,查询速度慢以及无法充分利用内存资源的问题。
为了实现上述目的,本发明提供了一种适用于WAP服务的缓存架构系统,包括:WAP服务器、缓存系统,其特征在于,
所述WAP服务器接收用户HTTP请求,适配页面格式,调用所述缓存系统获取缓存结果,并根据所述缓存结果生成WAP页面,以向用户展示;
所述缓存系统依次查询一代缓存数据、二代缓存数据,返回缓存结果至所述WAP服务器。
所述的适用于WAP服务的缓存架构系统,其中,所述缓存系统当查询到一代缓存数据时,修改该一代缓存数据的键值对格式中的最后访问时间,返回缓存结果,当未查询到一代缓存数据时,则进一步查询二代缓存数据,若查询到二代缓存数据,则修改该二代缓存数据的键值对格式中的最后访问时间,返回缓存结果,若未查询到二代缓存数据,则返回空数据。
所述的适用于WAP服务的缓存架构系统,其中,所述缓存架构系统还包括:
数据库系统,连接所述WAP服务器,用于存储数据信息以供所述WAP服务器读取或记录。
所述的适用于WAP服务的缓存架构系统,其中,所述WAP服务器当所述缓存系统未查询到二代缓存数据时,访问所述数据库系统获取页面模板数据,并根据该页面模板数据生成所述WAP页面。
所述的适用于WAP服务的缓存架构系统,其中,所述缓存系统还通过一自维护应用程序依次清理一代缓存、二代缓存。
为了实现上述目的,本发明还提供一种适用于WAP服务的缓存方法,其特征在于,包括:
步骤一,WAP服务器接收用户HTTP请求,适配页面格式,调用所述缓存系统;
步骤二,所述缓存系统依次查询一代缓存数据、二代缓存数据,并返回该缓存结构至所述WAP服务器;
步骤三,所述WAP服务器根据所述缓存结果生成WAP页面,以向用户展示。
所述的适用于WAP服务的缓存方法,其中,所述步骤一中,还包括:
所述WAP服务器通过识别用户终端型号适配页面格式。
所述的适用于WAP服务的缓存方法,其中,所述步骤二中,还包括:
所述缓存系统当查询到一代缓存数据时,修改该一代缓存数据的键值对格式中的最后访问时间,返回缓存结果,当未查询到一代缓存数据时,则进一步查询二代缓存数据,若查询到二代缓存数据,则修改该二代缓存数据的键值对格式中的最后访问时间,返回缓存结果,若未查询到二代缓存数据,则返回空数据。
所述的适用于WAP服务的缓存方法,其中,所述步骤二中,还包括:
所述缓存系统通过一自维护应用程序依次清理一代缓存、二代缓存的步骤,该步骤包括:
查询一代缓存数据;判断遍历一代缓存数据是否完成,若完成,读取二代缓存数据,进入下一步,否则判断遍历一代缓存数据是否超时,若超时,则将一代缓存数据移入二代缓存,并继续判断遍历一代缓存数据是否完成,若未超时,则继续判断遍历一代缓存数据是否完成;
判断遍历二代缓存数据是否完成,若完成,则结束,否则判断遍历二代缓存数据是否超时,若超时,则将二代缓存数据移出二代缓存,继续读取二代缓存数据,若未超时,则继续读取二代缓存数据。
所述的适用于WAP服务的缓存方法,其中,所述步骤三中,还包括:
当所述缓存系统未查询到二代缓存数据时,所述WAP服务器访问一数据库系统获取页面模板数据,并根据该页面模板数据生成所述WAP页面。
与现有技术相比,本发明的有益技术效果在于:
本发明能够根据数据有效性设置失效时间,实现了缓存内容的分代管理,能够快速命中最常用数据,提高了缓存命中率,加快响应速度;同时还能够高效、充分地利用缓存系统内存资源,节约缓存系统内存。
本发明的缓存系统还实现了多种页面格式适配。
附图说明
图1是本发明的系统架构图;
图2是本发明的WAP服务流程图;
图3是本发明的缓存系统自维护流程图。
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
如图1所示,是本发明的系统架构,该系统包括WAP服务器10、数据库系统20、缓存系统30。
WAP服务器10设置WAP服务接口、数据库访问接口、缓存访问接口。WAP服务器10通过WAP服务接口(即HTTP服务接口)接收用户HTTP请求,通过数据库访问接口与数据库系统20之间进行数据存取,通过缓存访问接口与缓存系统30进行缓存数据存取。
WAP服务器10当用户访问WAP页面时,接收用户HTTP请求,根据用户HTTP请求识别用户终端/设备型号信息,根据用户终端型号信息适配页面格式,其调用缓存系统30获得查询结果(即页面模板数据),根据查询结果生成最终WAP页面,将最终WAP页面返回至用户浏览器,以向用户展现。
WAP服务器10首先调用缓存访问接口,通过缓存系统30依次查询一代缓存、二代缓存,如均未能查询到结果时,则调用数据库访问接口,从数据库系统20中读出页面模板数据,并存入一代缓存,再经过渲染处理后,返回给用户。
数据库系统20用于存储数据信息,如产品信息、用户信息等,供WAP服务器10读取或记录。
缓存系统30通过存取接口与WAP服务器10进行缓存数据存取,并将一代缓存数据、二代缓存数据分别存储在一代缓存、二代缓存中。
一代缓存数据与二代缓存数据的类型相同,一代缓存在较长时间没有被读取或更新时,将一代缓存数据转移至二代缓存。
缓存系统30查询一代缓存数据、二代缓存数据得到的是页面模板数据,WAP服务器10对页面模板数据经过渲染处理(即更新页面模板中的用户信息等个性化数据)后,生成最终WAP页面。
缓存系统30查询一代缓存,若命中(即在一代缓存中查询到缓存数据),修改键值对应的最后访问时间,返回该缓存数据,若未命中(即在一代缓存中未查询到缓存数据),则查询二代缓存,若命中,修改键值对应的最后访问时间,返回该缓存数据,若仍未命中,则返回空数据。
数据存储在一代缓存/二代缓存中时,使用键-值对格式,值中含此数据的最后访问时间,修改键-值对应的最后访问时间,即是修改键-值对中的时间信息。
缓存系统30通过自维护应用程序来保持缓存有效性,采用定时方式运行。自维护应用程序启动后,会依次清理一代缓存、二代缓存,清理内存空间。
如图2所示,是本发明的WAP服务流程图。结合图1,该流程具体包括如下步骤:
步骤200,开始;
步骤201,用户访问WAP服务器10;
步骤202,WAP服务器10接收用户HTTP请求,识别用户终端型号(如用户手机型号),适配页面格式;
步骤203;WAP服务器10调用缓存系统30,缓存系统30从一代缓存中查询一代缓存数据,判断是否命中,命中后,则修改键值对应的最后访问时间,返回缓存数据,若未命中,从二代缓存中查询二代缓存数据,判断是否命中,命中后,则修改键值对应的最后访问时间,返回缓存数据,若仍未命中,则生成缓存数据,写入缓存数据,并返回空数据;
步骤204,WAP服务器10根据缓存系统30返回的查询结果(该查询结果为空数据除外),生成最终WAP页面,返回给用户浏览器,以向用户展现;
步骤205,结束。
进一步地,步骤202中,WAP页面分为WML和XHTML,WML页面技术成形较早,低端机型支持,XHTML目前使用广泛,中高端及智能终端支持。
用户HTTP请求中含有User-Agent信息,如诺基亚N73的常见User-Agent信息如下:
“NokiaN73-1/2.0628.0.0.1S60/3.0Profile/MIDP-2.0Configuration/CLDC-1.1.”
WAP服务器10根据User-Agent中的关键字,判断出用户终端/设备型号,再根据用户终端/设备型号,获取支持的页面类型,诺基亚N73支持的页面类型为XHTML类型。
进一步地,步骤203中,WAP服务器10需要页面模板数据时,首先查询一代缓存,一代缓存中存储的是最常用的页面模板数据,所以大部分的页面模板数据都可以在一代缓存中获取。如果一代缓存中未查询到,则查询二代缓存,若在二代缓存中也未找到,再访问数据库系统20,获取页面模板数据。
进一步地,步骤203中,缓存系统30写入缓存数据的作用在于下次再有同样请求,直接从缓存中查询数据。
进一步地,步骤204中,WAP服务器10当返回的查询结果为Velocity页面模板数据时,依赖Velocity模板引擎生成最终WAP页面。
进一步地,步骤204中,WAP服务器10根据用户User-Agent,如果判定为使用WML页面类型,则取出页面模板数据,经过渲染后返回页面。如果判定为使用XHTML页面类型,则取出页面模板数据,经过渲染后返回页面。
如图3所示,是本发明的缓存系统自维护流程图。结合图1,该流程具体包括如下步骤:
步骤300,开始;
步骤301,缓存系统30启动缓存自维护流程;
步骤302,从一代缓存中查询一代缓存数据;
步骤303,判断遍历一代缓存数据是否完成,若完成,则进入下一步骤304;若未完成,则进一步判断遍历一代缓存数据是否超时,若超时,则将一代缓存数据移入二代缓存中,并继续判断遍历一代缓存数据是否完成,若未超时,则继续判断遍历一代缓存数据是否完成;
步骤304,从二代缓存中查询二代缓存数据;
步骤305,判断遍历二代缓存数据是否完成,若完成,则结束;若未完成,则进一步判断遍历二代缓存数据是否超时,若超时,则将二代缓存数据移出二代缓存,并返回步骤304;若未超时,则返回步骤304;
步骤306,结束。
上述自维护流程通过配置系统定时任务调用。
本发明提出的缓存系统已经实际地发展出完整的应用程序,并在商用的大型WAP站中,已经过无数次的运行考验。
本发明能够适配多种WAP页面格式;缓存命中率高,查询速度快;CPU、内存使用稳定,内存检测没有泄露。
本发明实现了缓存数据的分代管理,还通过设置键值对应的最后访问时间提供了一种缓存数据键值生成方法。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种适用于WAP服务的缓存架构系统,包括:WAP服务器、缓存系统,其特征在于,
所述WAP服务器接收用户HTTP请求,适配页面格式,调用所述缓存系统获取缓存结果,并根据所述缓存结果生成WAP页面,以向用户展示;
所述缓存系统依次查询一代缓存数据、二代缓存数据,返回缓存结果至所述WAP服务器。
2.根据权利要求1所述的适用于WAP服务的缓存架构系统,其特征在于,所述缓存系统当查询到一代缓存数据时,修改该一代缓存数据的键值对格式中的最后访问时间,返回缓存结果,当未查询到一代缓存数据时,则进一步查询二代缓存数据,若查询到二代缓存数据,则修改该二代缓存数据的键值对格式中的最后访问时间,返回缓存结果,若未查询到二代缓存数据,则返回空数据。
3.根据权利要求2所述的适用于WAP服务的缓存架构系统,其特征在于,所述缓存架构系统还包括:
数据库系统,连接所述WAP服务器,用于存储数据信息以供所述WAP服务器读取或记录。
4.根据权利要求3所述的适用于WAP服务的缓存架构系统,其特征在于,所述WAP服务器当所述缓存系统未查询到二代缓存数据时,访问所述数据库系统获取页面模板数据,并根据该页面模板数据生成所述WAP页面。
5.根据权利要求1、2、3或4所述的适用于WAP服务的缓存架构系统,其特征在于,所述缓存系统还通过一自维护应用程序依次清理一代缓存、二代缓存。
6.一种适用于WAP服务的缓存方法,其特征在于,包括:
步骤一,WAP服务器接收用户HTTP请求,适配页面格式,调用所述缓存系统;
步骤二,所述缓存系统依次查询一代缓存数据、二代缓存数据,并返回该缓存结构至所述WAP服务器;
步骤三,所述WAP服务器根据所述缓存结果生成WAP页面,以向用户展示。
7.根据权利要求6所述的适用于WAP服务的缓存方法,其特征在于,所述步骤一中,还包括:
所述WAP服务器通过识别用户终端型号适配页面格式。
8.根据权利要求6或7所述的适用于WAP服务的缓存方法,其特征在于,所述步骤二中,还包括:
所述缓存系统当查询到一代缓存数据时,修改该一代缓存数据的键值对格式中的最后访问时间,返回缓存结果,当未查询到一代缓存数据时,则进一步查询二代缓存数据,若查询到二代缓存数据,则修改该二代缓存数据的键值对格式中的最后访问时间,返回缓存结果,若未查询到二代缓存数据,则返回空数据。
9.根据权利要求6或7所述的适用于WAP服务的缓存方法,其特征在于,所述步骤二中,还包括:
所述缓存系统通过一自维护应用程序依次清理一代缓存、二代缓存的步骤,该步骤包括:
查询一代缓存数据;判断遍历一代缓存数据是否完成,若完成,读取二代缓存数据,进入下一步,否则判断遍历一代缓存数据是否超时,若超时,则将一代缓存数据移入二代缓存,并继续判断遍历一代缓存数据是否完成,若未超时,则继续判断遍历一代缓存数据是否完成;
判断遍历二代缓存数据是否完成,若完成,则结束,否则判断遍历二代缓存数据是否超时,若超时,则将二代缓存数据移出二代缓存,继续读取二代缓存数据,若未超时,则继续读取二代缓存数据。
10.根据权利要求8所述的适用于WAP服务的缓存方法,其特征在于,所述步骤三中,还包括:
当所述缓存系统未查询到二代缓存数据时,所述WAP服务器访问一数据库系统获取页面模板数据,并根据该页面模板数据生成所述WAP页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101906429A CN102868715A (zh) | 2011-07-08 | 2011-07-08 | 适用于wap 服务的缓存架构系统及其缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101906429A CN102868715A (zh) | 2011-07-08 | 2011-07-08 | 适用于wap 服务的缓存架构系统及其缓存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102868715A true CN102868715A (zh) | 2013-01-09 |
Family
ID=47447302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101906429A Pending CN102868715A (zh) | 2011-07-08 | 2011-07-08 | 适用于wap 服务的缓存架构系统及其缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102868715A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104661053A (zh) * | 2013-11-22 | 2015-05-27 | 中兴通讯股份有限公司 | 一种iptv数据处理的方法及系统 |
CN106959975A (zh) * | 2016-01-11 | 2017-07-18 | 广州市动景计算机科技有限公司 | 一种转码资源缓存处理方法、装置及设备 |
CN110213098A (zh) * | 2019-05-31 | 2019-09-06 | 北京长城华冠汽车技术开发有限公司 | 用于页面适配测试的终端型号自动告警系统及告警方法 |
CN110795460A (zh) * | 2019-11-01 | 2020-02-14 | 浪潮云信息技术有限公司 | 一种前端页面数据缓存方法及系统 |
CN111858710A (zh) * | 2020-07-20 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种通过预处理和缓存方式提高统计效率的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001077834A1 (fr) * | 2000-04-07 | 2001-10-18 | Netvalue S.A. | Procede pour la mesure d'activite des utilisateurs de terminaux wap |
CN101355565A (zh) * | 2008-09-12 | 2009-01-28 | 腾讯科技(深圳)有限公司 | 为不同类型浏览器提供页面服务的方法及服务器 |
CN101526952A (zh) * | 2009-01-19 | 2009-09-09 | 北京跳网无限科技发展有限公司 | Ua适配技术,识别手机终端的属性 |
CN101702173A (zh) * | 2009-11-11 | 2010-05-05 | 中兴通讯股份有限公司 | 一种提高移动门户网站动态页面访问速度的方法和装置 |
-
2011
- 2011-07-08 CN CN2011101906429A patent/CN102868715A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001077834A1 (fr) * | 2000-04-07 | 2001-10-18 | Netvalue S.A. | Procede pour la mesure d'activite des utilisateurs de terminaux wap |
CN101355565A (zh) * | 2008-09-12 | 2009-01-28 | 腾讯科技(深圳)有限公司 | 为不同类型浏览器提供页面服务的方法及服务器 |
CN101526952A (zh) * | 2009-01-19 | 2009-09-09 | 北京跳网无限科技发展有限公司 | Ua适配技术,识别手机终端的属性 |
CN101702173A (zh) * | 2009-11-11 | 2010-05-05 | 中兴通讯股份有限公司 | 一种提高移动门户网站动态页面访问速度的方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104661053A (zh) * | 2013-11-22 | 2015-05-27 | 中兴通讯股份有限公司 | 一种iptv数据处理的方法及系统 |
CN104661053B (zh) * | 2013-11-22 | 2020-01-21 | 中兴通讯股份有限公司 | 一种iptv数据处理的方法及系统 |
CN106959975A (zh) * | 2016-01-11 | 2017-07-18 | 广州市动景计算机科技有限公司 | 一种转码资源缓存处理方法、装置及设备 |
CN110213098A (zh) * | 2019-05-31 | 2019-09-06 | 北京长城华冠汽车技术开发有限公司 | 用于页面适配测试的终端型号自动告警系统及告警方法 |
CN110795460A (zh) * | 2019-11-01 | 2020-02-14 | 浪潮云信息技术有限公司 | 一种前端页面数据缓存方法及系统 |
CN111858710A (zh) * | 2020-07-20 | 2020-10-30 | 浪潮云信息技术股份公司 | 一种通过预处理和缓存方式提高统计效率的方法 |
CN111858710B (zh) * | 2020-07-20 | 2023-12-22 | 浪潮云信息技术股份公司 | 一种通过预处理和缓存方式提高统计效率的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101937467A (zh) | 一种服务器的高效缓存方法与系统 | |
CN106202112B (zh) | 缓存目录刷新方法和装置 | |
US9386117B2 (en) | Server side data cache system | |
CN104252536B (zh) | 一种基于hbase的上网日志数据查询方法及装置 | |
CN102253941A (zh) | 一种缓存更新方法和缓存更新装置 | |
CN102087664A (zh) | 一种移动终端访问网络的优化方法、系统及移动终端 | |
CN103853727A (zh) | 提高大数据量查询性能的方法及系统 | |
CN102868715A (zh) | 适用于wap 服务的缓存架构系统及其缓存方法 | |
CN110795457B (zh) | 数据缓存处理方法、装置、计算机设备和存储介质 | |
CN109241072A (zh) | 基于Canal的缓存更新方法及系统 | |
CN103116634A (zh) | 支持高并发缓存任务队列的系统及其异步批量操作方法 | |
CN109240946A (zh) | 数据的多级缓存方法及终端设备 | |
CN104750715A (zh) | 缓存系统中数据淘汰方法、装置、系统及相关服务器设备 | |
CN104750740A (zh) | 数据更新的方法及装置 | |
CN101833570A (zh) | 一种移动终端页面推送优化的方法和装置 | |
CN105550338A (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
CN103326958A (zh) | 监控数据缓存方法及系统 | |
US11567681B2 (en) | Method and system for synchronizing requests related to key-value storage having different portions | |
CN110175163A (zh) | 基于业务功能智能解析的多库分离方法、系统及介质 | |
CN101808121A (zh) | 一种移动终端服务器日志写入数据库的方法和装置 | |
CN110515920A (zh) | 一种基于Hadoop的海量小文件存取方法和系统 | |
CN101923577B (zh) | 一种可扩展的计数方法与系统 | |
CN110659971B (zh) | 一种交易数据处理方法及装置 | |
CN105095423A (zh) | 计数数据写入方法和装置 | |
CN106919696B (zh) | Seo站点构建方法及seo请求的响应方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130109 |