发明内容
基于此,有必要提供一种能提高有效利用率的缓存方法。
一种缓存方法,包括:
获取数据包,提取数据包对应的类型信息;
获取缓存分配配置;
根据所述类型信息和所述缓存分配配置获取对应的资源分配信息;
根据所述资源分配信息缓存所述数据包。
在其中一个实施例中,所述方法还包括:
获取缓存分配配置请求;
根据所述缓存分配配置请求生成缓存分配配置。
在其中一个实施例中,所述提取数据包对应的类型信息的步骤为:
提取数据包中的应用协议标识信息,根据所述应用协议标识信息获取对应的类型信息。
在其中一个实施例中,所述根据所述资源分配信息缓存所述数据包的步骤为:
根据所述资源分配信息对所述数据包进行压缩缓存。
在其中一个实施例中,所述方法还包括:
获取数据访问请求,提取所述数据访问请求对应的类型信息;
获取缓存分配配置;
根据所述类型信息和所述缓存分配配置获取对应的资源分配信息;
根据所述资源分配信息查找与所述数据访问请求对应的数据包并返回。
此外,还有必要提供一种能提高有效利用率的缓存装置。
一种缓存装置,包括:
类型提取模块,用于获取数据包,提取数据包对应的类型信息;
配置获取模块,用于获取缓存分配配置;
分配信息获取模块,用于根据所述类型信息和所述缓存分配配置获取对应的资源分配信息;
数据存储模块,用于根据所述资源分配信息缓存所述数据包。
在其中一个实施例中,所述装置还包括配置生成模块,用于获取缓存分配配置请求,根据所述缓存分配配置请求生成缓存分配配置。
在其中一个实施例中,所述类型提取模块还用于提取数据包中的应用协议标识信息,根据所述应用协议标识信息获取对应的类型信息。
在其中一个实施例中,所述数据存储模块还用于根据所述资源分配信息对所述数据包进行压缩缓存。
在其中一个实施例中,所述装置还包括缓存响应模块,用于获取数据访问请求,提取所述数据访问请求对应的类型信息,获取缓存分配配置,根据所述类型信息和所述缓存分配配置获取对应的资源分配信息,根据所述资源分配信息查找与所述数据访问请求对应的数据包并返回。
上述缓存方法及装置提取了数据包的类型信息,并根据类型信息在缓存分配配置中查找到对应的资源分配信息,然后根据资源分配信息将数据包缓存。使得用户可通过配置缓存分配配置来为实时性或关键程度要求较高的应用分配更大比例的存储容量以及读取速度更快的存储介质,从而提高了实时性或关键程度要求较高的应用的缓存响应速度,提高了缓存利用率。
具体实施方式
在一个实施例中,如图1所示,一种缓存方法,包括如下步骤:
步骤S102,获取数据包,提取数据包对应的类型信息。
数据包的类型信息包括应用类型信息、行为类型信息、地址类型信息以及数据类型信息等。
数据包的应用类型信息即该数据包对应的应用程序的类型。在一个实施例中,提取数据包对应的类型信息的步骤可包括:
提取数据包中的应用协议标识信息,根据应用协议标识信息获取对应的类型信息。
应用协议标识信息可以是应用协议的协议头或协议名称。例如,HTTP协议(HypertextTransportProtocol)数据包中,会附带表示协议名称的字符串“HTTP:”或“http:”。可根据该协议名称确定该数据包的应用类型信息为HTTP应用。
行为类型信息即数据包的行为模式对应的类型。例如,数据包的行为类型信息可以是在单位时间内该数据包的缓存命中次数。可通过对应的阈值区间将缓存命中次数归类为行为类型信息。在一个实施例中,可通过读取缓存命中日志获取行为类型信息。
地址类型信息即数据包中的网络地址对应的类型。在一个实施例中,可提取数据包对应的网络地址,根据其网络地址对应的IP段获取地址类型信息。
数据类型信息即数据包中包含的数据特征的类型。在一个实施例中,可提取数据包的正文部分,通过字符串比对该正文部分获取数据类型信息。
在本实施例中,可通过关键字匹配或正则表达式匹配数据包中的正文部分,从而获取数据包的数据类型信息。
步骤S104,获取缓存分配配置。
缓存分配配置中记录有类型信息与资源分配信息的对应关系。资源分配信息可包括类型对应的存储容量的大小(实际容量大小或容量比例份额)、存储介质的类型(硬盘或内存)、数据压缩比和生命周期等信息。
在本实施例中,缓存分配配置可预先配置:可获取缓存分配配置请求,根据所述缓存分配配置请求生成缓存分配配置。
例如,用户可通过操作界面为应用类型信息为“RDP”的类型信息(对应远程桌面应用,RDP,RemoteDesktopProtocol)分配较大存储容量大小以及较快的存储介质。也可通过操作界面为IP段为192.168.1.*(“*”为通配符,表示该网段下的任意IP地址)的地址类型信息分配适当的存储容量以及存储介质。
步骤S106,根据类型信息和缓存分配配置获取对应的资源分配信息。
在本实施例中,可根据类型信息在缓存分配配置中进行查找,获取对应的资源分配信息。
步骤S108,根据资源分配信息缓存数据包。
在本实施例中,可根据资源分配信息获取对应的存储位置,然后将数据包缓存。
例如,若获取到的资源分配信息中对应的存储介质为内存,则在内存中已存储该类型信息对应的数据的容量没有超出资源分配信息限定的存储容量时,将该数据包存储到内存中。
在一个实施例中,根据资源分配信息缓存数据包的步骤还可具体为:
根据资源分配信息对数据包进行压缩缓存。
在本实施例中,可获取资源分配信息中限定的压缩比,根据该压缩比将数据包压缩缓存到对应的存储区域。
对数据包进行压缩存储,可以提高存储空间的资源利用率。
在本实施例中,如图2所示,缓存方法还包括:
步骤S202,获取数据访问请求,提取数据访问请求对应的类型信息。
步骤S204,获取缓存分配配置。
步骤S206,根据类型信息和缓存分配配置获取对应的资源分配信息。
步骤S208,根据资源分配信息查找与数据访问请求对应的数据包并返回。
也就是说,在判断数据访问请求是否缓存命中时,可根据数据访问请求的类型信息获取资源分配信息,再根据资源分配信息定位存储区域,然后在该存储区域中查找与数据访问请求对应的数据,若找到,则缓存命中,返回数据。使得再判定缓存是否命中时,不需要对整个存储区域进行检索,从而减少了响应时间。
在一个实施例中,如图3所示,一种缓存装置,包括类型提取模块102、配置获取模块104、分配信息获取模块106和数据存储模块108,其中:
类型提取模块102,用于获取数据包,提取数据包对应的类型信息。
数据包的类型信息包括应用类型信息、行为类型信息、地址类型信息以及数据类型信息等。
数据包的应用类型信息即该数据包对应的应用程序的类型。在一个实施例中,类型提取模块102可用于提取数据包中的应用协议标识信息,根据应用协议标识信息获取对应的类型信息。
应用协议标识信息可以是应用协议的协议头或协议名称。例如,HTTP协议(HypertextTransportProtocol)数据包中,会附带表示协议名称的字符串“HTTP:”或“http:”。可根据该协议名称确定该数据包的应用类型信息为HTTP应用。
行为类型信息即数据包的行为模式对应的类型。例如,数据包的行为类型信息可以是在单位时间内该数据包的缓存命中次数。可通过对应的阈值区间将缓存命中次数归类为行为类型信息。在一个实施例中,类型提取模块102可用于通过读取缓存命中日志获取行为类型信息。
地址类型信息即数据包中的网络地址对应的类型。在一个实施例中,类型提取模块102可用于提取数据包对应的网络地址,根据其网络地址对应的IP段获取地址类型信息。
数据类型信息即数据包中包含的数据特征的类型。在一个实施例中,类型提取模块102可用于提取数据包的正文部分,通过字符串比对该正文部分获取数据类型信息。
在本实施例中,类型提取模块102可用于通过关键字匹配或正则表达式匹配数据包中的正文部分,从而获取数据包的数据类型信息。
配置获取模块104,用于获取缓存分配配置。
缓存分配配置中记录有类型信息与资源分配信息的对应关系。资源分配信息可包括类型对应的存储容量的大小(实际容量大小或容量比例份额)、存储介质的类型(硬盘或内存)、数据压缩比和生命周期等信息。
在本实施例中,如图4所示,缓存装置还包括配置生成模块110,用于获取缓存分配配置请求,根据所述缓存分配配置请求生成缓存分配配置。
例如,用户可通过操作界面为应用类型信息为“RDP”的类型信息(对应远程桌面应用,RDP,RemoteDesktopProtocol)分配较大存储容量大小以及较快的存储介质。也可通过操作界面为IP段为192.168.1.*(“*”为通配符,表示该网段下的任意IP地址)的地址类型信息分配适当的存储容量以及存储介质。
分配信息获取模块106,用于根据类型信息和缓存分配配置获取对应的资源分配信息。
在本实施例中,分配信息获取模块106可用于根据类型信息在缓存分配配置中进行查找,获取对应的资源分配信息。
数据存储模块108,可用于根据资源分配信息缓存数据包。
在本实施例中,数据存储模块108可用于根据资源分配信息获取对应的存储位置,然后将数据包缓存。
例如,若获取到的资源分配信息中对应的存储介质为内存,则在内存中已存储该类型信息对应的数据的容量没有超出资源分配信息限定的存储容量时,将该数据包存储到内存中。
在一个实施例中,数据存储模块108可用于根据资源分配信息对数据包进行压缩缓存。
在本实施例中,数据存储模块108可用于获取资源分配信息中限定的压缩比,根据该压缩比将数据包压缩缓存到对应的存储区域。
对数据包进行压缩存储,可以提高存储空间的资源利用率。
在本实施例中,如图4所示,缓存装置还包括缓存响应模块112,用于获取数据访问请求,提取数据访问请求对应的类型信息,获取缓存分配配置,根据类型信息和缓存分配配置获取对应的资源分配信息,根据资源分配信息查找与数据访问请求对应的数据包并返回。
也就是说,在判断数据访问请求是否缓存命中时,可根据数据访问请求的类型信息获取资源分配信息,再根据资源分配信息定位存储区域,然后在该存储区域中查找与数据访问请求对应的数据,若找到,则缓存命中,返回数据。使得再判定缓存是否命中时,不需要对整个存储区域进行检索,从而减少了响应时间。
上述缓存方法及装置提取了数据包的类型信息,并根据类型信息在缓存分配配置中查找到对应的资源分配信息,然后根据资源分配信息将数据包缓存。使得用户可通过配置缓存分配配置来为实时性或关键程度要求较高的应用分配更大比例的存储容量以及读取速度更快的存储介质,从而提高了实时性或关键程度要求较高的应用的缓存响应速度,提高了缓存利用率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。