用于缓存管理的方法和装置制造方法及图纸

技术编号:10938978 阅读:173 留言:0更新日期:2015-01-21 19:14
本发明专利技术公开了一种用于缓存管理的方法和装置。该方法包括:识别来自用户的用于从数据库获取数据的Web请求,以确定调用所述Web请求的时间和所述Web请求中包含的希望访问的链接;识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作,以确定调用所述查询操作的时间和所述查询操作中包含的用于指示数据库中的数据的数据标识;以及响应于调用所述Web请求的时间与调用所述查询操作的时间之间的时间间隔不大于设定时间,将所述数据标识指示的数据与所述链接关联存储在缓存中。通过上述方式,能够自动生成缓存策略,避免手动配置造成的耗时和低效,从而能够自动优化Web系统中对数据库数据的访问,提高系统性能。

【技术实现步骤摘要】

本专利技术涉及Web系统中的数据处理技术,并且更具体地,涉及在Web系统中用于缓存管理的方法和装置
技术介绍
Web系统已逐渐成为一种供用户获取大量信息的普遍使用的网络架构。在Web系统中,用户可以通过在诸如个人计算机、移动设备等的用户终端上选择网页中包含的链接,利用例如HTTP协议向Web服务器发送Web请求。Web服务器接收到Web请求之后,可以根据Web请求中携带的信息来调用作为执行结构化查询语言(Structured Query Language,SQL)的Java应用编程接口的Java数据库连接(Java DataBase Connection,JDBC),从而对数据库中存储的数据进行对应的操作。举例来说,当用户希望查看某一链接所指向的内容时,用户向Web服务器发送Web请求,Web服务器通过JDBC从数据库获取与该链接对应的内容,并将该内容返回给用户。众所周知的是,对数据库进行访问通常需要利用复杂的操作并花费大量的时间。因此,为了避免对数据库的频繁访问造成资源的消耗,常常将经常被访问的数据库数据与这些数据对应的链接关联地存储在Web服务器的缓存(例如,高速缓存或者可用作缓存的其它存储器)中。这样,当不同的用户需要访问同一链接指向的内容时,Web服务器可以直接从它的缓存中获取对应数据并向用户返回,而不用再不断进行数据库的频繁访问。但是,目前,被关联地存储在缓存中的数据库数据和链接(被称为缓存策略(policy))是由系统管理员、内容提供商等手动配置的。手动配置不仅耗时且效率低下,而且由于在手动配置中潜在人为错误的存在,可能错误配置关联的数据库数据和链接,甚至可能遗漏某些有必要进行缓存的数据库数据和链接,从而影响Web访问的效率。因此,有必要改进对缓存策略的手动配置方式。
技术实现思路
本专利技术的实施例提供了一种用于缓存管理的方法和装置,能够自动地将数据库数据与其对应的链接关联存储在缓存中,从而避免手动配置缓存策略造成的耗时和低效。根据本专利技术的一方面,提供了一种用于缓存管理的方法,包括:识别来自用户的用于从数据库获取数据的Web请求,以确定调用所述Web请求的时间和所述Web请求中包含的希望访问的链接;识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作,以确定调用所述查询操作的时间和所述查询操作中包含的用于指示数据库中的数据的数据标识;以及响应于调用所述Web请求的时间与调用所述查询操作的时间之间的时间间隔不大于设定时间,将所述数据标识指示的数据与所述链接关联存储在缓存中。根据本专利技术的另一方面,提供了一种用于缓存管理的装置,包括:Web请求识别部件,被配置为识别来自用户的用于从数据库获取数据的Web请求,以确定调用所述Web请求的时间和所述Web请求中包含的希望访问的链接;查询操作识别部件,被配置为识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作,以确定调用所述查询操作的时间和所述查询操作中包含的用于指示数据库中的数据的数据标识;以及关联存储部件,被配置为响应于调用所述Web请求的时间与调用所述查询操作的时间之间的时间间隔不大于设定时间,将所述数据标识指示的数据与所述链接关联存储在缓存中。根据上述技术方案,通过识别Web请求和查询操作,可以确定与Web请求和查询操作相关的信息。在涉及同一用户的Web请求和查询操作两者时间间隔不大于设定时间的情况下,可以将Web请求中包含的链接和查询操作中包含的数据标识所指示的数据库数据关联存储在缓存中。借助于Web请求和查询操作的相关信息,能够自动地将数据库数据与其对应的链接关联存储在缓存中,从而能够避免手动配置缓存策略造成的耗时和低效,使得可以自动优化Web系统中对数据库数据的访问,提高Web系统的性能。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了适于用来实现本专利技术实施方式的示例性计算机系统/服务器12的框图。图2是根据本专利技术实施例的Web系统的大致架构的示意图;图3是根据本专利技术实施例的用于缓存管理的方法的流程图;图4是根据本专利技术实施例的用于缓存管理的另一方法的流程图;图5是根据本专利技术实施例的用于针对调用Web请求的标准函数和调用查询操作的标准函数添加代码的例子;图6是根据本专利技术实施例的对Web请求和查询操作进行识别得到的Web请求映射表和查询操作映射表以及基于这两个表得到的关联表的例子;图7是根据本专利技术实施例的确定Web请求中的链接和查询操作中的数据标识正确关联的概率的例子;图8是根据本专利技术实施例的用于缓存管理的装置的结构框图;以及图9是根据本专利技术实施例的用于缓存管理的另一装置的结构框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。所属
的技术人员知道,本专利技术可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本专利技术还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使本文档来自技高网
...
用于缓存管理的方法和装置

【技术保护点】
一种用于缓存管理的方法,包括:识别来自用户的用于从数据库获取数据的Web请求,以确定调用所述Web请求的时间和所述Web请求中包含的希望访问的链接;识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作,以确定调用所述查询操作的时间和所述查询操作中包含的用于指示数据库中的数据的数据标识;以及响应于调用所述Web请求的时间与调用所述查询操作的时间之间的时间间隔不大于设定时间,将所述数据标识指示的数据与所述链接关联存储在缓存中。

【技术特征摘要】
1.一种用于缓存管理的方法,包括:
识别来自用户的用于从数据库获取数据的Web请求,以确定调用所述Web
请求的时间和所述Web请求中包含的希望访问的链接;
识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作,以
确定调用所述查询操作的时间和所述查询操作中包含的用于指示数据库中的数
据的数据标识;以及
响应于调用所述Web请求的时间与调用所述查询操作的时间之间的时间间
隔不大于设定时间,将所述数据标识指示的数据与所述链接关联存储在缓存中。
2.根据权利要求1所述的方法,其中,所述将所述数据标识指示的数据与所述
链接关联存储在缓存中包括:
验证所述链接与所述数据标识正确关联的概率是否高于预定阈值;以及
响应于所述概率高于所述预定阈值,将所述数据标识指示的数据与所述链
接关联存储在缓存中。
3.根据权利要求2所述的方法,其中,在接收所述Web请求的Web容器和发
送所述查询操作的数据库容器是同一容器的情况下,
所述识别来自用户的用于从数据库获取数据的Web请求包括:
识别所述Web请求中包含的线程号和用户标识,
所述识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作包
括:
识别所述查询操作中包含的线程号和用户标识,以及
所述验证所述链接与所述数据标识正确关联的概率是否高于预定阈值包括:
响应于所述Web请求和所述查询操作中包含的线程号和用户标识分别相

\t等,确定所述概率高于所述预定阈值。
4.根据权利要求2所述的方法,其中,在接收所述Web请求的Web容器和发
送所述查询操作的数据库容器是不同容器的情况下,
所述识别来自用户的用于从数据库获取数据的Web请求包括:
识别所述Web请求中包含的用户标识和该用户标识经Web容器转换后的
用户标识,
所述识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作包
括:
识别所述查询操作中包含的用户标识;以及
响应于所述查询操作中包含的用户标识与所述转换后的用户标识相等,识
别所述查询操作是针对所述用户的,以及
所述验证所述链接与所述数据标识正确关联的概率是否高于预定阈值包
括:
通过判断所述Web请求和所述查询操作中包含的用户标识是否相等,估计
所述链接与所述数据标识正确关联的概率;以及
在所估计的概率高于预定值的情况下,验证所述链接与所述数据标识正确
关联的概率是否高于所述预定阈值。
5.根据权利要求2所述的方法,其中,所述验证所述链接与所述数据标识正确
关联的概率是否高于预定阈值包括:
在数据库中所述数据标识指示的数据被修改之后,确定针对包含所述链接
的另一Web请求返回的数据是否是修改后的数据;以及
响应于确定针对该另一Web请求返回的数据是修改后的数据,确定所述概
率高于所述预定阈值。
6.根据权利要求1所述的方法,其中,
所述识别来自用户的用于从数据库获取数据的Web请求包括:通过在用于
调用Web请求的标准函数之前添加代码,识别所述来自用户的用于从数据库获
取数据的Web请求,
以及,所述识别针对所述用户向数据库发送的用于从数据库获取数据的查
询操作包括:通过在用于执行查询操作的标准函数中添加代码,识别所述针对
所述用户向数据库发送的用于从数据库获取数据的查询操作。
7.根据权利要求6所述的方法,其中,
所述识别来自用户的用于从数据库获取数据的Web请求包括:
识别在所述Web请求被所述用于调用Web请求的标准函数调用的情况下
的时间戳,以确定调用所述Web请求的时间,以及
所述识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作包
括:
识别在所述查询操作被所述用于执行查询操作的标准函数执行的情况下的
时间戳,以确定调用所述查询操作的时间。
8.根据权利要求1所述的方法,其中,
所述识别来自用户的用于从数据库获取数据的Web请求包括:
识别所述Web请求中包含的希望对数据库进行的操作方法,以确定所述
Web请求是用于从数据库获取数据的Web请求,以及
所述识别针对所述用户向数据库发送的用于从数据库获取数据的查询操作包
括:
识别所述查询操作中包含的对数据库进行的操作,以确定所述查询操作是
用于从数据库获取数据的查询操作。
9.根据权利要求1所述的方法,其中,所述设定时...

【专利技术属性】
技术研发人员:孙巧云车漾万淑超王熙张煜王亮
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1