merge: branch 'gitbook' of https://github.com/alikia2x/cvsa into gitbook

This commit is contained in:
alikia2x (寒寒) 2025-03-31 05:34:55 +08:00
commit 28772fcd9f
Signed by: alikia2x
GPG Key ID: 56209E0CCD8420C6
5 changed files with 27 additions and 27 deletions

View File

@ -9,12 +9,12 @@
## 技术架构 <a href="#architecture" id="architecture"></a>
- [概览](architecture/overview.md)
- [数据库结构](architecture/database-structure/README.md)
- [歌曲类型](architecture/database-structure/type-of-song.md)
- [人工智能](architecture/artificial-intelligence.md)
- [消息队列](architecture/message-queue/README.md)
- [VideoTagsQueue队列](architecture/message-queue/video-tags-queue.md)
* [概览](architecture/overview.md)
* [数据库结构](architecture/database-structure/README.md)
* [歌曲类型](architecture/database-structure/type-of-song.md)
* [人工智能](architecture/artificial-intelligence.md)
* [消息队列](architecture/message-queue/README.md)
* [LatestVideosQueue 队列](architecture/message-queue/latestvideosqueue-dui-lie.md)
## API 文档 <a href="#api-doc" id="api-doc"></a>

View File

@ -4,7 +4,11 @@ CVSA 使用 [PostgreSQL](https://www.postgresql.org/) 作为数据库。
CVSA 的所有公开数据(不包括用户的个人数据)都存储在名为 `cvsa_main` 的数据库中,该数据库包含以下表:
- songs存储歌曲的主要信息
- bili\_user存储 Bilibili 用户信息快照
- all\_data[分区 30](../../about/scope-of-inclusion.md#vocaloiduatu-fen-qu) 中所有视频的元数据。
- labelling\_result包含由我们的 AI 系统 标记的 `all_data` 中视频的标签。
* songs存储歌曲的主要信息
* bilibili\_user存储 Bilibili 用户信息快照
* bilibili\_metadata[分区 30](../../about/scope-of-inclusion.md#vocaloiduatu-fen-qu) 中所有视频的元数据
* labelling\_result包含由我们的 AI 系统 标记的 `all_data` 中视频的标签。
* latest\_video\_snapshot存储视频最新的快照
* video\_snapshot存储视频的快照包括特定时间下视频的统计信息播放量、点赞数等
* snapshot\_schedule视频快照的规划信息为辅助表

View File

@ -0,0 +1,2 @@
# LatestVideosQueue 队列

View File

@ -1,15 +0,0 @@
---
description: 关于VideoTagsQueue队列的信息。
---
# VideoTagsQueue队列
### 任务
视频标签队列包含两个任务:`getVideoTags`和`getVideosTags`。前者用于获取视频的标签,后者负责调度前者。
### 返回值
两个任务的返回值遵循以下表格:
<table><thead><tr><th width="168">返回值</th><th>描述</th></tr></thead><tbody><tr><td>0</td><td><code>getVideoTags</code> 中:标签成功获取<br><code>getVideosTags</code> 中:所有无标签视频的相应任务已成功排队。</td></tr><tr><td>1</td><td><code>getVideoTags</code> 中:任务期间发生 <code>fetch</code> 错误</td></tr><tr><td>2</td><td><code>getVideoTags</code> 中:已达到 NetScheduler 设置的速率限制</td></tr><tr><td>3</td><td><code>getVideoTags</code> 中:未在任务数据中提供帮助</td></tr><tr><td>4</td><td><code>getVideosTags</code> 中:没有视频的 `tags` 为 NULL</td></tr><tr><td>1xx</td><td><code>getVideosTags</code> 中:队列中的任务数量超过了限制,因此 <code>getVideosTags</code> 停止添加任务。<code>xx</code> 是在执行期间添加到队列的任务数量。</td></tr></tbody></table>

View File

@ -1,5 +1,4 @@
---
icon: globe-pointer
layout:
title:
visible: true
@ -15,4 +14,14 @@ layout:
# 概览
自动化是 CVSA 技术设计的最大亮点为了实现自动化我们使用BullMQ驱动的消息队列来并发处理数据采集生命周期中的各项任务。
整个CVSA项目分为三个组件**crawler**, **frontend** 和 **backend。**
### **crawler**
位于项目目录`packages/crawler` 下,它负责以下工作:
* 抓取新的视频并收录作品
* 持续监控视频的播放量等统计信息
整个 crawler 由 BullMQ 消息队列驱动,使用 Redis 和 PostgreSQL 管理状态。