开题陈述
各位老师好,我的毕业设计题目是《基于 Web 的远程文件管理系统的设计与实现》。该系统旨在通过 B/S 架构,让用户能够随时随地通过网络浏览器访问和管理自己电脑中的文件,将个人电脑打造成私有'云盘'。主要功能模块包括用户认证模块、文件上传下载模块、文件操作模块(复制、移动、删除、重命名)、目录浏览模块以及文件搜索模块。技术栈方面,后端采用 Spring Boot 框架搭建,数据库使用 MySQL 存储用户信息和文件元数据,开发语言为 Java,开发工具选用 Eclipse。系统相比传统远程桌面程序,具有操作权限更小、安全性更高、使用更便捷的特点。
答辩环节
评委老师:答辩学生,你好。你的开题报告中提到系统相比远程桌面程序'避免了使用者操作权限过大、安全隐患较多'的优点,请问你在系统设计中具体采取了哪些安全措施来保障用户文件的安全性?
答辩学生:老师好,我计划从这几个方面加强安全性:首先,用户登录会进行身份验证,密码采用 MD5 加密存储;其次,文件操作会严格限制在用户自己的目录空间内,通过路径隔离防止越权访问;再次,对上传的文件类型进行白名单限制,防止恶意文件上传;最后,系统会记录操作日志,方便追溯。不过具体的加密算法和权限控制细节还需要在后续设计中进一步完善。
评委老师:你提到要把个人电脑变成'云盘',目前市场上已有百度网盘、阿里云盘等成熟产品。请谈谈你的系统与这些公有云盘相比,有什么差异化特点或创新点?
答辩学生:主要区别在于数据存储位置和控制权。公有云盘数据存储在服务商服务器上,而我的系统是部署在用户自己的电脑上,文件完全由用户自己掌控,隐私性更强,无需担心服务商审查或数据泄露。另外,系统不限制上传下载速度,容量取决于用户电脑硬盘大小,无需付费扩容。创新点在于轻量化和私有化,更适合对数据隐私要求高的个人用户。
评委老师:你的技术方案中选用 Spring Boot 作为整体框架,请说明一下选择 Spring Boot 而不是其他框架(如 SSM、Spring Cloud 或 PHP)的主要考虑因素是什么?
答辩学生:选择 Spring Boot 主要有三个原因:第一,它内置 Tomcat 服务器,简化了配置和部署过程,适合个人项目快速开发;第二,Spring Boot 自动装配特性可以减少 XML 配置,提高开发效率;第三,Spring 生态系统完善,后期如果需要扩展功能(如添加邮件通知、定时任务等)很方便。考虑到我是本科毕业生,Spring Boot 的学习曲线相对平缓,社区资料丰富,遇到问题容易解决。SSM 配置较繁琐,Spring Cloud 适合微服务场景过于复杂,之前考虑过 PHP 但最终觉得 Java 更适合做大文件处理。
评委老师:关于文件存储,当用户上传大量文件后,系统是计划将所有文件直接存储在同一个物理目录下,还是会采用某种分布式或分片存储策略?如何平衡文件检索效率与存储结构的关系?
答辩学生:目前初步设想是按用户名创建顶层目录,然后在下面按日期或文件类型建立子目录进行分类存储,避免单个目录下文件过多影响性能。文件元数据(如文件名、路径、大小、上传时间)会保存在 MySQL 数据库中,查询时先查数据库快速定位,再通过物理路径访问文件。如果文件数量特别大,可能会考虑按用户 ID 哈希取模的方式分散到不同子目录。但具体的存储策略还需要在系统实现阶段根据性能测试结果来优化调整。
评委老师:在开题报告中你提到采用 B/S 架构实现远程访问,那么在实际网络环境中,如果用户处于内网或防火墙后面,没有公网 IP,你将如何解决系统的可达性问题?有考虑过内网穿透或 DDNS 方案吗?
答辩学生:这个问题我确实考虑到了。最简单的场景是用户电脑本身有公网 IP,否则就需要借助内网穿透工具,比如 FRP 或者花生壳这类服务来实现外网访问。在开题阶段我主要关注核心功能实现,内网穿透作为系统部署的可选方案,会在论文的部署章节中讨论。如果条件允许,我也会尝试集成简单的内网穿透配置向导,降低普通用户的使用门槛。
评委老师:请简要说明一下,对于大文件上传(比如超过 1GB 的视频文件),你的系统打算如何处理?是否支持断点续传功能?
答辩学生:对于大文件上传,我计划采用分片上传的方式,将大文件切分成若干小块并行上传,提高上传速度和稳定性。关于断点续传,这是很有必要的功能,我会通过记录已上传分片的信息来实现,如果上传中断下次可以从未完成的分片开始继续上传。前端使用 WebUploader 或类似组件,后端在接收完所有分片后进行合并。不过由于时间和复杂度限制,这可能作为系统的扩展功能,在基本功能完成后如果时间充裕会努力实现。
评委老师评价与总结
答辩学生的开题答辩整体表现良好,对项目背景、技术选型和功能设计都有较清晰的认识。优点在于:能够认识到系统的安全性问题并提出基本解决方案;对技术选型的理由阐述比较充分;考虑到了实际部署中可能遇到的网络环境问题。
不足之处在于:部分安全措施(如 MD5 加密)略显过时,建议研究更安全的加密算法;文件存储策略和性能优化方案还不够具体;对大文件处理等关键技术的实现难度估计可能不足。
建议在后期的设计与实现过程中:第一,深入研究权限控制和数据安全的最佳实践,避免出现过低级的安全漏洞;第二,尽早进行技术验证,特别是大文件上传和并发访问的性能测试;第三,进一步明确创新点,私有化部署虽然是特色但技术门槛较高,需考虑如何降低普通用户的使用难度。整体开题思路可行,希望能在后续工作中完善细节,按时完成高质量的毕业设计。


