论云端智能相册应用的架构设计及应用
论云端智能相册应用的架构设计及应用
摘要:
为深入实施数字经济战略,加快数字产业化和产业数字化,云已经成为一个越来越热门的词汇。今年我参加了中国软件杯智能相册开发的赛题,该项目需要实现图像识别、人脸识别、自动生成精彩视频的基本要求,本赛题主要目标是为了让开发者基于云平台能力和产业资源进行研发和应用创新。引导我们使用云上开发环境、开发工具实现AI应用创新。
本文将以云端智能相册应用为例,深入探讨B/S、C/S架构各自的优缺点,事实证明,C/S架构设计有效地降低了维护成本,提高了系统的开放性、可扩充性、可重用性和可移植性。
正文:
今年,我和同学一起参加了中国软件杯的云端只能相册开发的赛题,并以这次题目深入探讨了C/S架构和B/S架构的优缺点。
1 项目概述
随着手机像素越来越高,对于手机可以换但是照片不能丢的用户来说,手机容量越来越不够用了。云相册可以很好的解决这个棘手的问题,但是相册只有存储功能是远远不够的。基于云上的大量计算资源,我们可以让相册越来越智能。我们考虑使用python的flask框架进行B/S网页结构的搭建,并且通过python来实现后台代码的编写,我们选择使用MySql数据库来存取应用使用过程所需要存储的数据。
2 架构设计
C/S架构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数的业务逻辑和UI展示,又称为胖客户端。它充分利用两端硬件,将任务分配到Client 和Server两端,降低了系统的通讯开销。C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。
B/S架构是目前应用系统的发展方向。BS是伴随着Internet技术的兴起,对C/S架构的改进,为了区别于传统的C/S 模式,特意称为B/S模式。在这种结构下,通过W3浏览器来进入工作界面,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成三层(3-tier)结构。这样使得客户端电脑负荷大大简化(因此被称为瘦客户端),减轻了系统维护、升级的支出成本,降低了用户的总体成本(TCO)。
BS的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,难以实现传统模式下的特殊功能要求。它是瘦客户端,对大量的数据输入以及报表的应答等都需要通过浏览器与服务器进行交互,通信开销大,而且对于实现复杂的应用构造有较大的困难。
3 应用实例
通过种种考虑,我们最终使用B/S架构来进行实际的开发,通过使用python的Flask框架,前端采用html+js的方式来进行代码编写,后台则使用python语言进行业务层、服务层以及操作数据库方面代码的编写,这样写下来项目结构清晰明了,代码层面也很清晰,错误易排查,同时保证了整个系统的可扩展性和可修改性。我们将项目运行在云服务器上,用户可以通过网页端进行实时访问,确保了其可用性。在功能方面,采用B/S架构使功能界面更加清晰美观,提高了用户与系统间的交互性。
4 总结
在云端智能相册应用项目中,我们采用B/S架构保证了系统的可用性、易用性、可修改性、可移植性,增强了用户的交互体验,但是B/S架构依然有着许多的不足之处,只有综合使用不同的架构模式,互相弥补不足,最终才可以在开发路上越走越远。