具体实施方式
请参阅图1,图1是本发明图片缓存方法第一实施方式的流程示意图。
本实施方式的所述图片缓存方法包括以下步骤:
步骤101,周期获取预设时段内网站待显示的图片。
步骤102,根据获取的图片的标识信息,为获取的图片分配CDN缓存服务器的缓存地址,并根据分配的缓存地址将获取的图片缓存至CDN缓存服务器。
本实施方式所述图片缓存方法,自动周期获取预设时段内网站待显示的图片,并将获取的图片缓存至CDN缓存服务器,缓存控制更灵活,可预先将网站待显示的内容做缓存,在突发的大量用户访问网站时,可有效减小对网站的访问压力和避免对图片源网站的“回源”压力。
其中,对于步骤101,所述周期和所述预设时段,可根据网站的类型、更新图片的频率和用户访问网站的时段进行设定。优选地,将所述周期设定在所述网站的非繁忙时段,避免在流量高峰段分量。将所述预设时段设定为当前获取时刻的前后72小时,避免过早缓存。
在一个实施例中,所述周期获取预设时段内网站待显示的图片的步骤包括以下步骤:
步骤1011,查询所述网站待显示的图片,通过查询到的图片的显示时间和标识信息形成各个图片的图片列表。
步骤1012,将各个图片的图片列表存储到图片库中。
步骤1013,根据所述图片列表,周期从所述图片库中获取显示时间在预设段内的图片和所述图片的标识信息。
其中,对于步骤1011,优选地在网站非繁忙时段,查询当前时刻的前后72小时内所述网站将显示图片的图片列表。所述图片列表可包括图片序列号、图片状态、应用平台的ID、处理批次、品牌ID、图片文件名、文件名前缀、存放路径、域名、图片尺寸、图片分辨率、图片像素或图片修改时间等表示信息和图片的显示日期和时刻。优选地,所述图片列表由相关人员在发布图片前制定。
对于步骤1012,本领域技术人员可根据图片的更新时间,提前根据图片信息设立图片库,所述图片库存储有各个图片的上述图片列表。
对于步骤102,所述标识信息优选地包括图片序列号、图片状态、应用平台的ID、处理批次、品牌ID、图片文件名、文件名前缀、存放路径、域名、图片尺寸、图片分辨率、图片像素或图片修改时间等。
优选地,所述CDN缓存服务器为各网站自身配置的缓存服务器,所述CDN缓存服务器的个数为一个或两个以上。若需要多个CDN缓存服务器,可选用其他网站的CDN网络缓存服务器。
在一个实施例中,所述根据分配的缓存地址将获取的图片缓存至CDN缓存服务器的步骤还进一步包括以下步骤:
步骤1021,判断所述CDN缓存服务器中是否已缓存有获取的图片,若已缓存有,则进一步判断获取的所述图片与所述CDN缓存服务器中缓存的对应图片间的像素、分辨率或尺寸是否相同,若不同,则将所述图片重新缓存于所述CDN缓存服务器,若相同,则终止所述图片的缓存操作。
步骤1022,若未缓存有,则根据分配的缓存地址将获取的图片缓存至CDN缓存服务器。
其中,对于步骤1021,将所述图片重新缓存于所述CDN缓存服务器后,其缓存期限可对应根据重新缓存的时间进行更改。保证图片在设定的显示时间能在网站上对应呈现。
优选地,若获取的图片与CDN缓存服务器中对应的图片间的像素、分辨率或尺寸没有变化,还可进一步判断所述图片的显示时间是否变化,若变化,则更改所述图片的缓存期限。进一步确保未更新的旧图片在新设定的显示时间能在网站上对应呈现。对新旧图片区别处理,缓存方式更灵活多样。
请参阅图2,图2是本发明图片缓存方法第二实施方式的流程示意图。
本实施方式的所述图片缓存方法与第一实施方式的区别在于:在所述根据所述图片列表,周期从所述图片库中获取显示时间在预设段内的图片和所述图片的标识信息的步骤之后,包括以下步骤:
步骤201,判断获取的显示时间在预设段内的图片是否为首次获取,若是,则根据所述图片的标识信息,为所述图片分配CDN缓存服务器的缓存地址。
步骤202,若否,判断所述图片的标识信息是否有变化,若是,则根据所述图片的标识信息,为所述图片分配CDN缓存服务器的缓存地址,若否,则不为所述图片分配缓存地址。
其中,对于步骤201,可通过对本周期前已获取的图片标识获取时间或其他标识与未获取的图片进行区分。也可以记录本周期前已获取的图片名称进行与未获取的图片进行区分。还可通过本领域惯用的其他实施方式进行标记区分。
优选地,对已获取过但又有更新的图片,可取消其获取标记,在本周期视为首次获取。
本实施方式所述图片缓存方法,通过判断显示时间在预设段内的图片是否为首次获取,可避免重复获取没有更新变化的图片,节约了系统内存资源,加快了系统的运行速度。
请参阅图3,图3是本发明图片缓存方法第三实施方式的流程示意图。
本实施方式的所述图片缓存方法与第一实施方式的区别在于:所述根据获取的图片的标识信息,为获取的图片分配CDN缓存服务器的缓存地址,并根据分配的缓存地址将获取的图片缓存至CDN缓存服务器的步骤包括以下步骤:
步骤301,从所述网站的缓存服务器中选取至少两个CDN缓存服务器,并定义选取的各CDN缓存服务器的缓存地址。
步骤302,通过分析各个图片的标识信息为各个图片获取哈希值。
步骤303,根据选取的CDN缓存服务器的数目对各个图片的哈希值取模,并按取模结果为各个图片随机获取CDN缓存服务器,同时分配缓存地址。
对于步骤302,可根据图片的文件名为各个图片获取哈希值。
本实施方式所述图片缓存方法,将获取的图片均匀缓存至少两个,对用户访问进行分布式分流,可进一步缓解对网站的访问压力,提高网站运行速度。大流量的网站采用本实施方式的方法将会明显提高用户浏览速度及减轻网站压力。
请参阅图4,图4是本发明图片缓存系统第一实施方式的结构示意图。
本实施方式的所述图片缓存系统包括获取单元100和缓存单元200,其中:
获取单元100,用于周期获取预设时段内网站待显示的图片。
缓存单元200,用于根据获取的图片的标识信息,为获取的图片分配CDN缓存服务器的缓存地址,并根据分配的缓存地址将获取的图片缓存至CDN缓存服务器。
本实施方式所述图片缓存系统,自动周期获取预设时段内网站待显示的图片,并将获取的图片缓存至CDN缓存服务器,缓存控制更灵活,可预先将网站待显示的内容做缓存,在突发的大量用户访问网站时,可有效减小对网站的访问压力和避免对图片源网站的“回源”压力。
其中,对于获取单元100,所述周期和所述预设时段,可根据网站的类型、更新图片的频率和用户访问网站的时段进行设定。优选地,将所述周期设定在所述网站的非繁忙时段,避免在流量高峰段分量。将所述预设时段设定为当前获取时刻的前后72小时,避免过早缓存。
在一个实施例中,所述获取单元100还用于:
查询所述网站待显示的图片,通过查询到的图片的显示时间和标识信息形成各个图片的图片列表。
将各个图片的图片列表存储到图片库中。
根据所述图片列表,周期从所述图片库中获取显示时间在预设段内的图片和所述图片的标识信息。
其中,对于获取单元100,优选地在网站非繁忙时段,查询当前时刻的前后72小时内所述网站将显示图片的图片列表。所述图片列表可包括图片序列号、图片状态、应用平台的ID、处理批次、品牌ID、图片文件名、文件名前缀、存放路径、域名、图片尺寸、图片分辨率、图片像素或图片修改时间等表示信息和图片的显示日期和时刻。优选地,所述图片列表由相关人员在发布图片前制定。
进一步地,本领域技术人员可根据图片的更新时间,提前根据图片信息设立图片库,所述图片库存储有各个图片的上述图片列表。
对于缓存单元200,所述标识信息优选地包括图片序列号、图片状态、应用平台的ID、处理批次、品牌ID、图片文件名、文件名前缀、存放路径、域名、图片尺寸、图片分辨率、图片像素或图片修改时间等。
优选地,所述CDN缓存服务器为各网站自身配置的缓存服务器,所述CDN缓存服务器的个数为一个或两个以上。若需要多个CDN缓存服务器,可选用其他网站的CDN网络缓存服务器。
在一个实施例中,所述缓存单元200还用于:
判断所述CDN缓存服务器中是否已缓存有获取的图片,若已缓存有,则进一步判断获取的所述图片与所述CDN缓存服务器中缓存的对应图片间的像素、分辨率或尺寸是否相同,若不同,则将所述图片重新缓存于所述CDN缓存服务器,若相同,则终止所述图片的缓存操作。
若未缓存有,则根据分配的缓存地址将获取的图片缓存至CDN缓存服务器。
其中,对于缓存单元200,将所述图片重新缓存于所述CDN缓存服务器后,其缓存期限可对应根据重新缓存的时间进行更改。保证图片在设定的显示时间能在网站上对应呈现。
优选地,若获取的图片与CDN缓存服务器中对应的图片间的像素、分辨率或尺寸没有变化,还可进一步判断所述图片的显示时间是否变化,若变化,则更改所述图片的缓存期限。进一步确保未更新的旧图片在新设定的显示时间能在网站上对应呈现。对新旧图片区别处理,缓存方式更灵活多样。
请参阅图5,图5所述是本发明图片缓存系统第二实施方式的结构示意图。
本实施方式的所述图片缓存系统与第一实施方式的区别在于:还包括判断单元300,用于:
在根据所述图片列表,周期从所述图片库中获取显示时间在预设段内的图片和所述图片的标识信息之后,判断获取的显示时间在预设段内的图片是否为首次获取,若是,则根据所述图片的标识信息,为所述图片分配CDN缓存服务器的缓存地址.
若否,判断所述图片的标识信息是否有变化,若是,则根据所述图片的标识信息,为所述图片分配CDN缓存服务器的缓存地址,若否,则不为所述图片分配缓存地址。
其中,对于判断单元300,可通过对本周期前已获取的图片标识获取时间或其他标识与未获取的图片进行区分。也可以记录本周期前已获取的图片名称进行与未获取的图片进行区分。还可通过本领域惯用的其他实施方式进行标记区分。
优选地,对已获取过但又有更新的图片,可取消其获取标记,在本周期视为首次获取。
本实施方式所述图片缓存系统,通过判断显示时间在预设段内的图片是否为首次获取,可避免重复获取没有更新变化的图片,节约了系统内存资源,加快了系统的运行速度。
以下所述是本发明图片缓存系统第三实施方式。
本实施方式的所述图片缓存系统与第一实施方式的区别在于:所述缓存单元还用于:从所述网站的缓存服务器中选取至少两个CDN缓存服务器,并定义选取的各CDN缓存服务器的缓存地址,通过分析各个图片的标识信息为各个图片获取哈希值,根据选取的CDN缓存服务器的数目对各个图片的哈希值取模,并按取模结果为各个图片随机获取CDN缓存服务器,同时分配缓存地址。
其中,所述标识信息优选为图片的文件名。
本实施方式所述图片缓存系统,将获取的图片均匀缓存至少两个,对用户访问进行分布式分流,可进一步缓解对网站的访问压力,提高网站运行速度。大流量的网站采用本实施方式的方法将会明显提高用户浏览速度及减轻网站压力。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。