基于散列算法的图形图像缓存方法

文档序号:6398577阅读:263来源:国知局
专利名称:基于散列算法的图形图像缓存方法
技术领域
本发明涉及一种图形图像缓存方法。
背景技术
由于图形图像的数据量较大,在传输图形图像的数据时,会对带宽产生较大的压力,通过缓存机制能够极大的减少带宽的压力,以往的缓存方式,需要在客户端和服务器端均维护一个缓存表,实现较为复杂,且需要使用缓存ID来遍历整个缓存表,效率低下。

发明内容
本发明要解决的技术问题,在于提供一种基于散列算法的图形图像缓存方法,可有效减小图形图像数据在传输过程中给带宽带来的压力,且简单高效。本发明是这样实现的:一种基于散列算法的图形图像缓存方法,其特征在于:在服务器端构建有Hash表和服务器端缓存数组,该Hash表用于检测该图形图像数据是否被客户端缓存,每一个表项存放了图形图像数据的特征值和图形图像数据在服务器端缓存数组中的缓存ID ;该服务器端缓存数组该数组存放了图形图像数据的缓存ID,用于同步客户端的缓存数据和统计缓存信息;在客户端构建客户端缓存数组,用于缓存图形图像数据;服务器端将要发往客户端的图形图像数据通过散列算法计算出HashID,再根据计算出的HashID,直接去Hash表中寻找对应的表项;如果对应的表项存在,且该表项里的特征值与图形图像数据的特征值匹配,则直接发送表项中图形图像数据在服务器端缓存数组中的缓存ID到客户端,客户端通过缓存ID,直接从客户端缓存数组中取出图形图像数据;如果对应的表项存在但图形图像特征值不匹配,或对应的表项不存在,则在Hash表中分配一个新表项,在新表项里存入该图形图像数据的特征值,并从服务器端缓存数组中申请一个空余项,作为新表项里的图形图像在服务器端缓存数组中的缓存ID ;再将该图形图像数据和新表项里的缓存ID发送给客户端,客户端则根据接收到的缓存ID找到缓存数组的位置,并将图形图像数据存放到该位置。进一步的,所述图形图像数据的特征值包括图形图像数据的长、宽以及格式。本发明具有如下优点:本发明方法服务器端的缓存数组里不需要存放图形图像数据,只需存放一个图形图像数据的缓存标识(即缓存ID),客户端存放缓存的图形图像数据,可有效减小图形图像数据在传输过程中给带宽带来的压力;再因为所有缓存的图形图像标识都存放在服务器端的缓存数组中,那么对缓存数据的统计,优化和抛弃策略会容易而且简洁;且客户端不再需要维护缓存表,简单高效;本发明还通过图形图像的特征数据,有效的解决了 Hash表的冲突问题。


下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
具体实施例方式本发明的基于散列算法的图形图像缓存方法,是在服务器端构建有Hash表和服务器端缓存数组,该Hash表用于检测该图形图像数据是否被客户端缓存,每一个表项存放了图形图像数据的特征值和图形图像数据在服务器端缓存数组中的缓存ID ;所述图形图像数据的特征值包括图形图像数据的长、宽以及格式。该服务器端缓存数组该数组存放了图形图像数据的缓存ID,用于同步客户端的缓存数据和统计缓存信息,以便优化缓存及缓存抛弃策略;在客户端构建客户端缓存数组,用于缓存图形图像数据。如图1所示,服务器端将要发往客户端的图形图像数据通过散列算法计算出HashID,再根据计算出的HashID,直接去Hash表中寻找对应的表项;如果对应的表项存在,且该表项里的特征值与图形图像数据的特征值匹配,则直接发送表项中图形图像数据在服务器端缓存数组中的缓存ID到客户端,客户端通过缓存ID,直接从客户端缓存数组中取出图形图像数据;如果对应的表项存在但图形图像特征值不匹配,或对应的表项不存在,说明客户端没有缓存过该图形图像数据,则服务器端在Hash表中分配一个新表项,在新表项里存入该图形图像数据的特征值,并从服务器端缓存数组中申请一个空余项,作为新表项里的图形图像在服务器端缓存数组中的缓存ID ;再将该图形图像数据和新表项里的缓存ID发送给客户端,客户端则根据接收到的缓存ID找到缓存数组的位置,并将图形图像数据存放到该位置。如前所述,本发明通过在服务器端Hash表的表项中存放要缓存的图形图像特征值(包括图形图像的长、宽和格式)和在其服务器端缓存数组中存放缓存ID,将Hash表和数组结合起来,实现一种图形图像数据的缓存机制。对于客户端而言,接收服务器端发送过来的数据,如果是缓存ID,则直接从客户端缓存数组中取出图形图像数据,如果包含有缓存ID和图形图像数据,则根据缓存ID找到缓存数组的位置,并将图形图像数据存放到该位置。其不再需要维护缓存表,实现简单高效。本发明具有如下优点:本发明方法服务器端的缓存数组里不需要存放图形图像数据,只需存放一个图形图像数据的缓存标识(即缓存ID),客户端存放缓存的图形图像数据,可有效减小图形图像数据在传输过程中给带宽带来的压力;再因为所有缓存的图形图像标识都存放在服务器端的缓存数组中,那么对缓存数据的统计,优化和抛弃策略会容易而且简洁;且客户端不再需要维护缓存表,简单高效;本发明还通过图形图像的特征数据,有效的解决了 Hash表的冲突问题。虽然以上描述了本发明的具体实施方式
,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
权利要求
1.一种基于散列算法的图形图像缓存方法,其特征在于:在服务器端构建有Hash表和服务器端缓存数组,该Hash表用于检测该图形图像数据是否被客户端缓存,每一个表项存放了图形图像数据的特征值和图形图像数据在服务器端缓存数组中的缓存ID ;该服务器端缓存数组该数组存放了图形图像数据的缓存ID,用于同步客户端的缓存数据和统计缓存信息;在客户端构建客户端缓存数组,用于缓存图形图像数据; 服务器端将要发往客户端的图形图像数据通过散列算法计算出HashID,再根据计算出的HashID,直接去Hash表中寻找对应的表项; 如果对应的表项存在,且该表项里的特征值与图形图像数据的特征值匹配,则直接发送表项中图形图像数据在服务器端缓存数组中的缓存ID到客户端,客户端通过缓存ID,直接从客户端缓存数组中取出图形图像数据; 如果对应的表项存在但图形图像特征值不匹配,或对应的表项不存在,则在Hash表中分配一个新表项,在新表项里存入该图形图像数据的特征值,并从服务器端缓存数组中申请一个空余项,作为新表项里的图形图像在服务器端缓存数组中的缓存ID ;再将该图形图像数据和新表项里的缓存ID发送给客户端,客户端则根据接收到的缓存ID找到缓存数组的位置,并将图形图像数据存放到该位置。
2.根据权利要求1所述的基于散列算法的图形图像缓存方法,其特征在于:所述图形图像数据的特征值包括图形图像数据的长、宽以及格式。
全文摘要
本发明提供一种基于散列算法的图形图像缓存方法,在服务器端构建有Hash表和服务器端缓存数组;在客户端构建客户端缓存数组,用于缓存图形图像数据,服务器端将要发往客户端的图形图像数据计算出HashID,再根据HashID直接去Hash表中寻找对应的表项;如果找到,则直接发送缓存ID到客户端,客户端通过缓存ID,直接从客户端缓存数组中取出图形图像数据;如果找不到,则创建新表项;再将该图形图像数据和新表项里的缓存ID发送给客户端,由客户端存放到指定位置。本发明将Hash表和数组结合起来,有效减小图形图像数据在传输过程中给带宽带来的压力,且简单高效。
文档编号G06F17/30GK103118099SQ20131002955
公开日2013年5月22日 申请日期2013年1月25日 优先权日2013年1月25日
发明者张辉 申请人:福建升腾资讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1