1. 基本信息
这个项目属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2023DataCollectionandFusiontechnology |
---|---|
组名 | 冲就完事 |
项目简介 | 当我们置身于日常生活或旅途中,常会被美景所震撼,但往往难以找到合适的诗句来表达内心的感悟。为了传承中华传统文化、提升人们的诗词修养和表达能力,我们需要一个智能系统能够根据用户拍摄的照片,自动匹配相应的诗句,并为用户提供相关的学习资源。 |
团队成员学号 | 102102101田甜、102102102刘燕莹、102102103李盈盈、102102106何雯彧、102102107张锦瑶、102102110饶雯捷、102102147高宝众、102102153彭诗忠 |
这个项目的目标 | 本系统旨在实现以下功能: a. 图片解释:基于用户上传的图片,系统能够自动识别图片内容,并提供与图片相符合的文字解释。 b. 古诗详情:用户可以选择获取与所拍图片相关的一首古诗的详细信息,包括标题、作者、内容、出处等。 c. 同韵古诗:用户可以获取与所拍图片相关的同韵古诗,以便进行进一步学习和欣赏。 d. 相似句子查询:用户可以输入关键词或句子,系统将返回与输入内容相似的古诗句子,以帮助用户寻找相关诗歌作品。 e.获取诗句相关地点地图:当诗句蕴含地址时,用户可以获取到该地点在地图上的位置 |
其他参考文献 | Junnan Li, Dongxu Li, Silvio Savarese, Steven Hoi.BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models:arXiv:2301.12597https://arxiv.org/abs/2301.12597 |
gitee链接: | https://gitee.com/PicaPicasso/crawl_project/tree/master/综合设计——多源异构数据采集与融合应用综合实践 |
2. 个人分工
在该实践作业中,我与张锦瑶同学一同负责服务器部署工作。我们采用ECS弹性云服务器为基础进行部署,需要在ECS中配备Python环境、数据库连接环境与Java环境。与之前做过的华为云实验不同,服务器的部署是没有教程的,只能凭借网上已有的部分教程与自身的摸索。
Python环境配置
关于Python环境配置,在之前的华为云实验中有叙述了关于MRS的Python配置,但由于本组采用的是ECS弹性云服务器,故选择通过网络搜索得到ECS的Python配置教程,ECS本身是自带Python的,但因本组为了节省花费买的配置较低,故需要对其进行版本升级,有关这一部分的资料是比较充足的,升级后,配置爬虫运行的依赖库即可,即完成了Pythn部分的配置,这一部分的进展是较为顺利的。
MySql配置
数据库的配置其实花费了比较久的时间,华为云自身应该是openGauss数据库,但是该数据库会有一些与常用数据库语言不太相同的地方,为了避免出问题,在经过多番资料查询后,还是决定配置MySql较为主流的数据库。是在外部进行MySql安装包的下载,再使用Xftp进行传输的,解压是正常步骤,可能就是会略显缓慢一点。
困扰的问题出现在安装环节,在安装时并没有显示成功安装,而是显示报错,查询之后发现是ECS弹性云服务器会自带一个数据库mariadb,需要将其卸载掉,防止它的驱动和MySQL的驱动冲突。后面的安装配置其实都较为正常,虽然也有出现一些小问题,但都很快解决,大部分只要按照搜寻到的教程一步一步完成即可。但关于驱动冲突问题是搜寻了非常多的资料,才找到了有效的解答。
后对MySql赋予远程访问权限,再在华为云中对ECS进行安全组配置,就可使用Navicat Premium进行数据库远程连接了,就不必在ECS中查看,会简化一些操作。
Java环境配置
Java的配置应该是其中最复杂的了,需要对git、jdk、maven等进行安装配置,和MySql相同,均是在外部进行下载,再传输到ECS中。即使是外部下载再传输,过程也非常的缓慢。Java环境的安装步骤非常繁琐并且容易出错,在其中有遇到若干的小问题,都耗费了较长的时间进行解决,其中也有较为崩溃的时候,但平复心情还是继续配置。解决以上安装后,再进行Nginx的安装,即可编排MySql,让两者进行连接。Java环境的配置是有点头疼的,在之后部署时因为后端代码编写使用jdk与之前配置jdk不同,还重新配置了一次jdk。但好在还是顺利完成了。
项目部署
以上配置结束后,整体环境配置也就结束了。而后则是将前端与后端项目的部署。后端需将项目中进行更改配置,改为购买服务器的地址与日志存放位置,再将jar包传输到服务器上,而后则为授予权限与执行,则可通过网址进行访问。前端则是用Ngnix进行配置,需要两个虚拟的serve,一个为Web服务,另一个则是Tomcat服务,配置结束,重启后,即完成整体部署。
3. 心得体会
锦瑶姐姐来我宿舍教我写代码,喜欢>.<,和jyjj一起发现bug、解决bug,贴贴>.<!
刚开始记得配ftp不知道为什么卡了很久,后来才发现是20端口没开,后来成功解决了耶!仿佛回到了上学期做计算机网络的实验,果然知识是一个循环。
第一次真正"部署",对这个名词祛魅了,好好玩!