代码查重检测后端

Ruilin Geng 0604dee371 修改了查重失败的警告 3 yıl önce
.mvn 51ea3bcac6 first commit 3 yıl önce
src 0604dee371 修改了查重失败的警告 3 yıl önce
.gitignore 472755966d feat: 新增日志功能 3 yıl önce
mvnw 51ea3bcac6 first commit 3 yıl önce
mvnw.cmd 51ea3bcac6 first commit 3 yıl önce
pom.xml e2646d65cf 完成了回调并且通过websocket,这部分需要进一步的测试 3 yıl önce
readme.md 8cccc677d2 feat: 代码查重部分联调测试基本完毕,可以成功访问阿里云fc服务。不过查重记录部分待实现。 3 yıl önce
test.html ee1c44a081 上传一个关于websocket长连接的test.html 3 yıl önce

readme.md

代码查重系统后端

核心思路

  • 用户上传代码包
  • 用户选择要查重的代码包、算法以及参数
  • 用户点击查重
  • 用户查看查重结果

    用到的技术

  • 阿里云fc

    • 调用的算法放在阿里云函数服务上,有一定的可拓展性
  • 阿里云oss

    • 文件上传oss,方便托管
  • websocket技术

    • 后端通知前端

      具体需求

      用户上传代码包

  • 用户选择待查重文件、待查重基准文件,并填写一些相关信息(文件名、文件标签、文件类型等)

  • 后端收到信息,创建表单,并把阿里云oss token传给前端

  • 前端拿到token,上传相关文件

  • 上传成功 or 失败,访问后端的回调接口

    用户查询代码包(待实现)

  • 用户可以查询待查重文件(按名称搜索、按标签搜索、按类型搜索等等)

    算法管理

  • 用户可以查询已有的算法(算法id、算法名称、算法endpoint、算法描述、算法默认参数、算法是否可用等等)

  • 用户可以修改算法是否可用

  • 如果有新版本的同一算法,建议直接新增一条

  • 用户不能删除已有算法,只能标记为失效

    代码查重

    正常流程

  • 用户选择已有的代码包

  • 用户选择算法

  • 用户填写相关参数

  • 用户点击查重

  • 后端收到查重请求,在数据库里存储查重记录

  • 后端调用阿里云fc的查重服务

  • 查重成功 or 失败进行后端回调

  • 后端更新查重记录

  • 后端通过短信、邮件的方式通知用户,或者直接通知前端(并给出一个链接)

  • 用户访问链接,查看查重结果

    快捷流程

  • 用户选择已有的代码包

  • 用户一键查重

  • 后端帮助用户搜索最匹配的算法来查重

  • 后续与正常流程一致