论云端智能相册架构设计及应用

论云端智能相册架构设计及应用

MoooJL

(石家庄铁道大学,河北省石家庄市长安区,中国,057100)

摘要:

       为深入实施数字经济战略,加快数字产业化和产业数字化,云已经成为一个越来越热门的词汇。为提高自己能力,适应当前信息时代软件开发的热点,拓展自己的视野,我与朋友组队报名参加了中国软件杯大赛,选择了A5云端智能相册应用赛题。此赛题主要目标是为了让我们基于云平台能力和产业资源进行研发和应用创新。引导我们使用云上开发环境、开发工具实现AI应用创新。

       本文讨论了云端相册软件架构的设计及应用,简单地分析了C/S 架构和B/S架构各自的优缺点,结合实际情况,整个系统最终采用B/S软件架构的设计思想,并且讨论了云相册系统中B/S架构的应用。实践证明,在软件项目的开发中,使用B/S软件架构,能节省开发和维护成本,使系统具有良好的开放性,易扩展性,便于移植等优点。

正文:

  典型的软件架构风格有很多。此项目我们采用B/S架构体系,本文将会注重从项目概述,C/S与B/S比较分析、实践应用等方面来进行分析。

项目概述

  随着手机像素越来越高,对于手机可以换但是照片不能丢的我们来说,手机容量越来越不够用了,云相册可以很好的解决这个棘手的问题,但是相册只有存储功能是远远不够的。基于云上的大量计算资源,我们可以让相册越来越智能。系统的实现采用Python、HTML等语言,后台数据库采用MySQL,基于B/S架构设计,可实现智能化的云相册。

C/S与B/S的比较分析

  C/S架构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。但随着企业规模的日益扩大,软件的复杂程度不断提高,CIS 架构逐渐暴露了以下缺点:

    1)       开发成本较高。C/S 架构对客户端软硬件配置要求较高,增加了整个系统的成本。

    2)       客户端程序设计复杂。采用C/S 架构进行软件开发,大部分工作量放在客户端的程序设计上,客户端显得十分庞大。

    3)       软件移植困难。采用不同开发工具或平台开发的软件,一般互不兼容,不能或很难移植到其它平台上运行。

    4)       软件维护和升级困难。采用C/S 架构的软件要升级,开发人员必须到现场为客户机升级,每个客户机上的软件都需维护。对软件的一个小小改动(例如,只改动一个变量),每一个客户端都必须更新。

  B/S架构主要是利用不断成熟的www浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件架构。基于B/S架构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。B/S 架构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

  与C/S 架构相比,B/S架构也有许多不足之处,例如:

    1)       B/S架构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。

    2)       B/S架构的系统扩展能力差,安全性难以控制。

    3)       采用B/S架构的应用系统,在数据查询等响应速度上,要远远地低于CS架构。

    4)       B/S 架构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务外理应用。

应用实例

  在设计云相册系统时,我们充分考虑到用户需求,采用B/S架构模型,如下图所示。

 

实践证明,在软件项目的开发中,使用B/S架构,不仅能节省开发和维护成本,使系统具有良好的开放性,还具有易扩展性,便于移植等优点。更能达到用户需求。

总结

  以上设计虽然有效地降低了维护成本,提高了系统的开放性、可扩充性、可重用性和可移植性。但也存在一些不足。例如,由于采用了B/S结构,当数据量过大时,用户修改、查看和维护数据时,速度较慢,较烦琐,数据的动态交互性不强等。

原文地址:https://www.cnblogs.com/MoooJL/p/14873867.html