图片管理的应用很常见,类似的在线相册、作品集、在线图库、医学图库、以及在线展览,都是图片的存储和运用,图书馆、文化馆、展览馆、高校、中小学等单位应用的比较多那么,如何管理海量图片、大量图片呢? 会不会遇到存储问题、性能问题、搜索问题?本文就目前我们对图片的处理和架构,做一个分析,仅供参考。
CMS存储和管理图片我们通过CMS来管理图片,所以,通常情况下,每上传一张图片,都要建立一条数据库记录,在Drupal里面叫Media类型用CMS表来存储图片,这种做法好处:1、图片有详细的数据信息,比如加标签、说明、分类等信息。
2、图片有引用信息,被其他类型应用,被文章引用,会标记,也就是没有被引用的图片可以被删掉这样做缺点就是所有图片都会存数据库,因此图片越多,会带来数据库本身的压力,这个算是缺点当然,总体来讲,还是利大于弊,不可能所有图片类似文件的存储,那样没有管理,没有说明,没有索引,那就是百度云盘了,跟图片管理系统或者说CMS没一毛钱关系了。
海量图片存储的三要素那么在海量图片存储中,需要注意哪些呢?首先,要保持文件系统的性能,所以要分文件夹,可以按日期其次,保持数据库的表大小,可以进行集群或者分表最后,就是如何搜索和查找图片,这时候可以通过专业的搜索引擎工具,比如Solr和Elastic Search,与CMS集成,即可实现信息的索引。
所以,关键三要素的解决方案和架构图如下:1. 图片存储:按日期份文件夹、物理存储对接OSS存到云服务。2. 数据表存储:分表或者做Drupal单例集群。3. 搜索和交互:通过索引工具去索引和检索。
图片存储和搜索架构可以参考上图,最终的操作都是直接跟Solr交互,所以性能会非常好,内容的管理和落地都是基于CMS架构的,文件的存储都是基于云存储,所以整体的架构和性能是可以保障的基于Drupal的Demo。
下面也是我们基于Drupal构建的图片管理系统,可以分文件夹、搜索、加标签等操作,用户在使用的时候,只需要从媒体库里面选择即可。
图片管理后台
图片库===================大家好,我是Robbin,来给大家讲CMS欢迎关注vizcms.com全景CMS,我们通过开源Drupal + 可视化工具GrapeJS (构建)=> 可视化、模块化、低代码的、易上手的CMS平台,。
可以快速构建网站、手机站、产品站、在线教育、课程售卖、售后咨询等平台的工具。==================