2018 lines
73 KiB
Markdown
2018 lines
73 KiB
Markdown
# 互动课堂智能点阵笔系统 — 软件著作权规划
|
||
|
||
> **编制日期**:2026 年 2 月 14 日
|
||
> **权利人**:深圳自然写科技有限公司
|
||
> **品牌**:自然写 / Writech
|
||
|
||
---
|
||
|
||
## 一、系统架构总览
|
||
|
||
互动课堂智能点阵笔系统由**终端应用层、网关与算力层、云服务层**三层架构组成,覆盖从笔端数据采集到云端智能分析的完整链路。
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ 云服务层(Cloud) │
|
||
│ ┌──────────┐ ┌────────┐ ┌──────────┐ ┌──────────────────┐ │
|
||
│ │ 数据存储 │ │ AI识别 │ │ 学情分析 │ │ 教学资源管理中心 │ │
|
||
│ └──────────┘ └────────┘ └──────────┘ └──────────────────┘ │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ 网关与算力层(Gateway + Edge AI) │
|
||
│ ┌──────────────┐ ┌────────────────┐ ┌────────────────────┐ │
|
||
│ │ 教室网关设备 │ │ 协议转换与路由 │ │ 设备管理与固件升级 │ │
|
||
│ └──────────────┘ └────────────────┘ └────────────────────┘ │
|
||
│ ┌────────────┐ ┌────────────┐ ┌────────────────┐ │
|
||
│ │ 智能算力盒 │ │ 端侧AI推理 │ │ 离线识别与缓存 │ │
|
||
│ └────────────┘ └────────────┘ └────────────────┘ │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ 终端应用层(APP) │
|
||
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌──────────┐ ┌────────┐ │
|
||
│ │ 手机 │ │ 电视机 │ │ PC │ │ 智慧黑板 │ │ Pad │ │
|
||
│ └────────┘ └────────┘ └────────┘ └──────────┘ └────────┘ │
|
||
│ ┌──────────────────────────────────────────────────────┐ │
|
||
│ │ SDK(供第三方集成与客户化定制) │ │
|
||
│ └──────────────────────────────────────────────────────┘ │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ 硬件设备层(Device) │
|
||
│ ┌────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
||
│ │ 智能点阵笔 │ │ 点阵纸张 │ │ 充电底座 │ │ 网关硬件 │ │
|
||
│ └────────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
```plantuml
|
||
@startuml 系统架构总览
|
||
skinparam componentStyle rectangle
|
||
skinparam packageStyle frame
|
||
|
||
package "云服务层 (Cloud)" as Cloud #E8F5E9 {
|
||
[教学管理云平台] as CMP
|
||
[AI识别引擎] as AIE
|
||
[学情诊断系统] as LDS
|
||
[教学资源管理中心] as RMS
|
||
CMP -[hidden]right- AIE
|
||
AIE -[hidden]right- LDS
|
||
LDS -[hidden]right- RMS
|
||
}
|
||
|
||
package "网关与算力层 (Gateway Edge AI)" as Gateway #FFF3E0 {
|
||
[教室网关设备] as GW
|
||
[协议转换与路由] as PTR
|
||
[设备管理与固件升级] as DFU
|
||
[智能算力盒] as EB
|
||
[端侧AI推理] as EAI
|
||
[离线识别与缓存] as OFC
|
||
GW -[hidden]right- PTR
|
||
PTR -[hidden]right- DFU
|
||
EB -[hidden]right- EAI
|
||
EAI -[hidden]right- OFC
|
||
}
|
||
|
||
package "硬件设备层 (Device)" as Device #F3E5F5 {
|
||
[智能点阵笔] as Pen
|
||
[点阵纸张] as Paper
|
||
[充电底座] as Dock
|
||
[网关硬件] as GWH
|
||
Pen -[hidden]right- Paper
|
||
Paper -[hidden]right- Dock
|
||
Dock -[hidden]right- GWH
|
||
}
|
||
|
||
package "终端应用层 (APP)" as APP #E3F2FD {
|
||
[手机APP] as Phone
|
||
[电视APP] as TV
|
||
[PC APP] as PC
|
||
[智慧黑板APP] as Board
|
||
[Pad APP] as Pad
|
||
Phone -[hidden]right- TV
|
||
TV -[hidden]right- PC
|
||
PC -[hidden]right- Board
|
||
Board -[hidden]right- Pad
|
||
[SDK(供第三方集成与客户化定制)] as SDK
|
||
}
|
||
|
||
Device -up-> Gateway : BLE数据上传
|
||
Gateway -up-> Cloud : MQTT HTTPS
|
||
Cloud -right-> APP : REST API WebSocket
|
||
Gateway -right-> APP : 局域网推送
|
||
@enduml
|
||
```
|
||
|
||
---
|
||
|
||
## 二、软件著作权登记清单
|
||
|
||
根据系统架构,规划以下 **13 项**软件著作权登记:
|
||
|
||
### 2.1 登记清单总览
|
||
|
||
| 序号 | 软件全称 | 软件简称 | 版本 | 分类 |
|
||
|:----:|---------|---------|:----:|:----:|
|
||
| 1 | 自然写互动课堂教学管理云平台软件 | 自然写云平台 | V1.0 | 云服务 |
|
||
| 2 | 自然写手写识别与AI分析引擎软件 | 自然写AI引擎 | V1.0 | 云服务 |
|
||
| 3 | 自然写教学数据分析与学情诊断系统软件 | 自然写学情系统 | V1.0 | 云服务 |
|
||
| 4 | 自然写教室智能网关管理软件 | 自然写网关软件 | V1.0 | 网关 |
|
||
| 5 | 自然写教室智能算力盒边缘计算软件 | 自然写算力盒软件 | V1.0 | 边缘算力 |
|
||
| 6 | 自然写互动课堂手机端应用软件 | 自然写APP(手机版) | V1.0 | APP |
|
||
| 7 | 自然写互动课堂电视端应用软件 | 自然写APP(电视版) | V1.0 | APP |
|
||
| 8 | 自然写互动课堂PC端应用软件 | 自然写APP(PC版) | V1.0 | APP |
|
||
| 9 | 自然写互动课堂智慧黑板端应用软件 | 自然写APP(黑板版) | V1.0 | APP |
|
||
| 10 | 自然写互动课堂平板端应用软件 | 自然写APP(Pad版) | V1.0 | APP |
|
||
| 11 | 自然写互动课堂应用开发SDK软件 | 自然写SDK | V1.0 | SDK |
|
||
| 12 | 自然写智能点阵笔嵌入式固件软件 | 自然写笔固件 | V1.0 | 固件 |
|
||
| 13 | 自然写教学资源管理与内容分发系统软件 | 自然写资源平台 | V1.0 | 云服务 |
|
||
|
||
### 2.2 分类统计
|
||
|
||
| 分类 | 数量 | 包含项 |
|
||
|------|:----:|-------|
|
||
| 云服务 | 4 项 | 云平台、AI引擎、学情系统、资源平台 |
|
||
| 网关 | 1 项 | 网关管理软件 |
|
||
| 边缘算力 | 1 项 | 智能算力盒边缘计算软件 |
|
||
| APP | 5 项 | 手机/电视/PC/智慧黑板/Pad 五端 |
|
||
| SDK | 1 项 | 应用开发SDK |
|
||
| 固件 | 1 项 | 点阵笔嵌入式固件 |
|
||
|
||
---
|
||
|
||
## 三、各软件著作权详细说明
|
||
|
||
### 3.1 云服务层
|
||
|
||
#### 1. 自然写互动课堂教学管理云平台软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写互动课堂教学管理云平台软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Java / Python / JavaScript |
|
||
| **运行环境** | Linux 服务器 / Docker 容器 |
|
||
| **软件用途** | 为互动课堂场景提供统一的教学管理、用户管理、设备管理、数据存储及业务调度服务 |
|
||
|
||
**功能模块:**
|
||
- 用户与权限管理(教师/学生/管理员/家长多角色)
|
||
- 班级与课程管理
|
||
- 设备注册与绑定管理(点阵笔、网关、终端设备)
|
||
- 笔迹数据接收与存储
|
||
- 作业/试卷发布与回收
|
||
- 教学过程数据记录
|
||
- 多终端消息推送与同步
|
||
- 系统运维监控与日志管理
|
||
- 开放API接口(供APP和SDK调用)
|
||
|
||
**技术架构:**
|
||
|
||
采用微服务架构,主要分为以下层次:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| 接入层 | Nginx / Kong API Gateway | 负载均衡、限流、路由分发 |
|
||
| 服务层 | Spring Boot(Java)/ FastAPI(Python) | 业务微服务,按领域拆分(用户/课堂/作业/设备/消息) |
|
||
| 消息层 | RabbitMQ / Kafka | 异步消息、事件驱动、笔迹数据流接收 |
|
||
| 缓存层 | Redis | 会话管理、热数据缓存、实时状态 |
|
||
| 存储层 | MySQL + MongoDB + OSS | 结构化数据 / 笔迹文档数据 / 文件对象存储 |
|
||
| 监控层 | Prometheus + Grafana + ELK | 服务监控、日志采集、告警 |
|
||
|
||
```plantuml
|
||
@startuml 云平台技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "接入层" as L1 #E8EAF6 {
|
||
[Nginx] as NG
|
||
[Kong API Gateway] as KG
|
||
NG -[hidden]right- KG
|
||
}
|
||
|
||
package "服务层(微服务)" as L2 #E3F2FD {
|
||
[用户服务] as US
|
||
[课堂服务] as CS
|
||
[作业服务] as AS
|
||
[设备服务] as DS
|
||
[消息服务] as MS
|
||
US -[hidden]right- CS
|
||
CS -[hidden]right- AS
|
||
AS -[hidden]right- DS
|
||
DS -[hidden]right- MS
|
||
}
|
||
|
||
package "消息层" as L3 #FFF3E0 {
|
||
[RabbitMQ] as RMQ
|
||
[Kafka] as KFK
|
||
RMQ -[hidden]right- KFK
|
||
}
|
||
|
||
package "缓存层" as L4 #FFFDE7 {
|
||
[Redis] as RDS
|
||
}
|
||
|
||
package "存储层" as L5 #E8F5E9 {
|
||
[MySQL] as SQL
|
||
[MongoDB] as MDB
|
||
[OSS对象存储] as OSS
|
||
SQL -[hidden]right- MDB
|
||
MDB -[hidden]right- OSS
|
||
}
|
||
|
||
package "监控层" as L6 #FCE4EC {
|
||
[Prometheus] as PM
|
||
[Grafana] as GF
|
||
[ELK] as ELK
|
||
PM -[hidden]right- GF
|
||
GF -[hidden]right- ELK
|
||
}
|
||
|
||
L1 -down-> L2
|
||
L2 -down-> L3
|
||
L2 -down-> L4
|
||
L3 -down-> L5
|
||
L4 -down-> L5
|
||
L2 -down-> L6
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
核心数据表:
|
||
|
||
| 数据表 | 存储引擎 | 主要字段 | 说明 |
|
||
|-------|---------|---------|------|
|
||
| user | MySQL | id, role, name, school_id, phone | 用户主表(教师/学生/家长/管理员) |
|
||
| class | MySQL | id, name, grade, teacher_id, school_id | 班级信息 |
|
||
| device | MySQL | id, type, mac_addr, bindUser, status | 设备注册表(笔/网关/终端) |
|
||
| assignment | MySQL | id, class_id, title, type, deadline | 作业/试卷发布表 |
|
||
| stroke_data | MongoDB | student_id, assignment_id, strokes[], timestamp | 笔迹原始数据(JSON文档) |
|
||
| recognition_result | MongoDB | stroke_id, ocr_text, score, ai_feedback | AI识别与批改结果 |
|
||
| learning_record | MySQL | id, student_id, subject, score, date | 学习记录 |
|
||
| message | MySQL | id, from, to, type, content, read_status | 消息通知表 |
|
||
|
||
数据流向:`点阵笔 → 网关/算力盒 → Kafka消息队列 → 云平台数据接收服务 → MongoDB存储 → AI引擎处理 → 结果回写`
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方法 | 路径 | 说明 |
|
||
|------|------|------|------|
|
||
| 用户登录 | POST | /api/v1/auth/login | JWT令牌签发 |
|
||
| 设备注册 | POST | /api/v1/device/register | 绑定笔/网关设备 |
|
||
| 发布作业 | POST | /api/v1/assignment/publish | 教师端发布作业 |
|
||
| 提交笔迹 | POST | /api/v1/stroke/upload | 批量上传笔迹数据 |
|
||
| 获取批改结果 | GET | /api/v1/result/{assignment_id} | 查询AI批改结果 |
|
||
| 学情报告 | GET | /api/v1/report/student/{id} | 学生学情报告 |
|
||
| 消息推送 | WebSocket | /ws/v1/notify | 实时消息通道 |
|
||
|
||
统一响应格式:`{"code": 200, "msg": "success", "data": {...}}`
|
||
|
||
**安全设计:**
|
||
- 身份认证:JWT Token + Refresh Token 双令牌机制,Token有效期2小时
|
||
- 权限控制:RBAC角色权限模型(管理员/教师/学生/家长四级权限)
|
||
- 数据传输:全链路 HTTPS/TLS 1.3 加密
|
||
- 数据存储:敏感字段(手机号、身份信息)AES-256加密存储
|
||
- 隐私保护:学生数据脱敏展示,符合《个人信息保护法》及《儿童个人信息网络保护规定》
|
||
- 接口安全:请求签名校验、频率限流、SQL注入/XSS防护
|
||
|
||
**部署架构:**
|
||
- 容器化部署:Docker + Kubernetes 集群编排
|
||
- 数据库:主从读写分离 + 定时备份
|
||
- 弹性扩缩:基于CPU/内存使用率自动扩容
|
||
- 多环境:开发 → 测试 → 预生产 → 生产四级环境隔离
|
||
- 灾备:数据库异地备份,服务多可用区部署
|
||
|
||
```plantuml
|
||
@startuml 云平台部署架构
|
||
skinparam componentStyle rectangle
|
||
skinparam nodeStyle rectangle
|
||
|
||
node "可用区A" as AZA {
|
||
node "K8s集群" as K8SA {
|
||
[微服务Pod x N] as POD_A
|
||
}
|
||
database "MySQL主库" as MYSQL_M
|
||
database "MongoDB副本集" as MDB_A
|
||
}
|
||
|
||
node "可用区B" as AZB {
|
||
node "K8s集群" as K8SB {
|
||
[微服务Pod x N] as POD_B
|
||
}
|
||
database "MySQL从库" as MYSQL_S
|
||
database "MongoDB副本集" as MDB_B
|
||
}
|
||
|
||
cloud "CDN / 负载均衡" as LB
|
||
cloud "OSS对象存储" as OSS
|
||
storage "异地备份" as BACKUP
|
||
|
||
LB -down-> K8SA
|
||
LB -down-> K8SB
|
||
MYSQL_M -right-> MYSQL_S : 主从复制
|
||
MDB_A -right-> MDB_B : 副本同步
|
||
MYSQL_M -down-> BACKUP : 定时备份
|
||
POD_A -down-> MYSQL_M
|
||
POD_A -down-> MDB_A
|
||
POD_B -down-> MYSQL_S
|
||
POD_B -down-> MDB_B
|
||
POD_A --> OSS
|
||
@enduml
|
||
```
|
||
|
||
---
|
||
|
||
#### 2. 自然写手写识别与AI分析引擎软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写手写识别与AI分析引擎软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Python / C++ |
|
||
| **运行环境** | Linux 服务器(GPU 加速) |
|
||
| **软件用途** | 对智能点阵笔采集的笔迹数据进行OCR识别、数学列式识别、笔顺分析及AI智能批改 |
|
||
|
||
**功能模块:**
|
||
- 中英文手写文字OCR识别(基于PaddleOCR)
|
||
- 数学列式与公式识别
|
||
- 中文汉字笔顺识别与评分
|
||
- 书写质量评测(结构/间距/规范性)
|
||
- AI作文评分与批改
|
||
- 选择题/填空题/简答题自动批改
|
||
- 识别结果置信度评估
|
||
- 模型版本管理与热更新
|
||
- RESTful API / gRPC 服务接口
|
||
|
||
**技术架构:**
|
||
|
||
采用模型推理管道(Pipeline)架构:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| 接口层 | FastAPI + gRPC | HTTP REST接口(轻量调用)+ gRPC(高性能流式传输) |
|
||
| 调度层 | Celery + Redis | 异步任务队列,按优先级调度识别请求 |
|
||
| 推理层 | PaddleOCR / PyTorch / ONNX Runtime | OCR引擎 + 数学识别 + 笔顺模型 + 作文评分模型 |
|
||
| GPU管理 | NVIDIA Triton Inference Server | 多模型并发推理,GPU资源池化调度 |
|
||
| 模型仓库 | MinIO + MLflow | 模型版本管理、A/B测试、灰度发布 |
|
||
|
||
```plantuml
|
||
@startuml AI引擎技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "接口层" as IL #E8EAF6 {
|
||
[FastAPI REST] as REST
|
||
[gRPC Server] as GRPC
|
||
REST -[hidden]right- GRPC
|
||
}
|
||
|
||
package "调度层" as SL #FFF3E0 {
|
||
[Celery任务队列] as CEL
|
||
[Redis Broker] as RB
|
||
CEL -right-> RB
|
||
}
|
||
|
||
package "推理层" as INF #E3F2FD {
|
||
[PaddleOCR] as OCR
|
||
[PyTorch数学识别] as MATH
|
||
[笔顺分析模型] as STROKE
|
||
[作文评分模型] as ESSAY
|
||
OCR -[hidden]right- MATH
|
||
MATH -[hidden]right- STROKE
|
||
STROKE -[hidden]right- ESSAY
|
||
}
|
||
|
||
package "GPU管理" as GPU #E8F5E9 {
|
||
[NVIDIA Triton\nInference Server] as TRITON
|
||
}
|
||
|
||
package "模型仓库" as MR #F3E5F5 {
|
||
[MinIO] as MINIO
|
||
[MLflow] as MLF
|
||
MINIO -[hidden]right- MLF
|
||
}
|
||
|
||
IL -down-> SL
|
||
SL -down-> INF
|
||
INF -down-> GPU
|
||
GPU --> MR : 模型加载
|
||
@enduml
|
||
```
|
||
|
||
推理管道流程:`笔迹坐标 → 预处理(归一化/去噪) → 笔画分割 → 模型推理(OCR/数学/笔顺) → 后处理(置信度过滤/结果合并) → 结果输出`
|
||
|
||
**数据设计:**
|
||
|
||
| 数据结构 | 格式 | 说明 |
|
||
|---------|------|------|
|
||
| 笔迹输入 | JSON | `{strokes: [{x, y, pressure, timestamp}], page_id, pen_id}` |
|
||
| OCR结果 | JSON | `{text, confidence, bbox: [x1,y1,x2,y2], char_details[]}` |
|
||
| 数学识别结果 | JSON | `{latex, result, is_correct, steps[]}` |
|
||
| 笔顺评分 | JSON | `{char, stroke_order[], correct_order[], score, errors[]}` |
|
||
| 作文评分 | JSON | `{total_score, dimensions: {structure, grammar, content, rhetoric}}` |
|
||
| 模型元数据 | MySQL | 模型名称、版本、精度指标、部署状态、更新时间 |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 协议 | 路径/方法 | 说明 |
|
||
|------|------|---------|------|
|
||
| 文字识别 | REST | POST /api/v1/ocr/recognize | 手写文字OCR,返回识别文本 |
|
||
| 数学识别 | REST | POST /api/v1/math/recognize | 数学列式/公式识别 |
|
||
| 笔顺评分 | REST | POST /api/v1/stroke-order/evaluate | 笔顺正确性评分 |
|
||
| 书写质量评测 | REST | POST /api/v1/writing/quality | 书写规范性评分 |
|
||
| 作文批改 | REST | POST /api/v1/essay/review | AI作文评分与批改建议 |
|
||
| 批量识别 | gRPC | RecognitionService.BatchRecognize | 高性能批量识别(流式) |
|
||
| 模型状态 | REST | GET /api/v1/model/status | 查询各模型加载状态与版本 |
|
||
|
||
**安全设计:**
|
||
- 服务鉴权:内部服务间 mTLS 双向认证
|
||
- 请求校验:输入数据格式校验与大小限制(防恶意攻击)
|
||
- 模型保护:模型文件加密存储,推理时内存解密加载
|
||
- 数据隔离:学生笔迹数据处理完毕后不在推理服务中持久化
|
||
- 审计日志:所有识别请求记录调用方、时间、模型版本
|
||
|
||
**部署架构:**
|
||
- GPU集群:NVIDIA T4/A10 GPU服务器,Triton Inference Server管理
|
||
- 弹性扩缩:根据识别请求队列深度自动扩容GPU Pod
|
||
- 模型热更新:新模型通过灰度发布逐步替换,支持秒级回滚
|
||
- 监控:推理延迟P99、GPU利用率、模型准确率实时监控
|
||
|
||
```plantuml
|
||
@startuml AI引擎部署架构
|
||
skinparam componentStyle rectangle
|
||
skinparam nodeStyle rectangle
|
||
|
||
node "GPU服务器集群" as GPUC {
|
||
node "GPU Node 1" as GN1 {
|
||
[Triton Server] as T1
|
||
[T4 A10 GPU] as G1
|
||
}
|
||
node "GPU Node N" as GNN {
|
||
[Triton Server] as TN
|
||
[T4 A10 GPU] as GN
|
||
}
|
||
}
|
||
|
||
node "调度节点" as SCH {
|
||
[Celery Worker] as CW
|
||
[Redis Queue] as RQ
|
||
}
|
||
|
||
storage "模型仓库\n(MinIO+MLflow)" as MODEL
|
||
cloud "API Gateway" as API
|
||
|
||
API -down-> SCH : 识别请求
|
||
SCH -down-> GPUC : 分发推理任务
|
||
MODEL -left-> GPUC : 模型版本下发
|
||
@enduml
|
||
```
|
||
|
||
---
|
||
|
||
#### 3. 自然写教学数据分析与学情诊断系统软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写教学数据分析与学情诊断系统软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Python / Java |
|
||
| **运行环境** | Linux 服务器 |
|
||
| **软件用途** | 对学生书写及答题数据进行大数据分析,生成学情诊断报告,辅助教学决策 |
|
||
|
||
**功能模块:**
|
||
- 学生个人学情画像(知识点掌握度、薄弱环节)
|
||
- 班级/年级学情统计与对比
|
||
- 作业/考试成绩分析与趋势报告
|
||
- 书写能力成长轨迹
|
||
- 错题归因与知识图谱关联
|
||
- 教学效果评估
|
||
- 可视化报表与数据导出
|
||
- 家长端学情推送
|
||
|
||
**技术架构:**
|
||
|
||
采用数据仓库 + 分析引擎架构:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| 数据采集层 | Kafka + Flink | 实时数据流采集与ETL处理 |
|
||
| 数据仓库层 | ClickHouse + MySQL | 分析型存储(OLAP) + 业务数据(OLTP) |
|
||
| 分析引擎层 | Python(Pandas/Scikit-learn) | 学情诊断算法、知识图谱推理、趋势预测 |
|
||
| 知识图谱层 | Neo4j | 知识点关联关系、错题归因推理 |
|
||
| 可视化层 | ECharts + 自研报表引擎 | 多维度数据可视化 |
|
||
| 推送层 | WebSocket + 消息队列 | 实时学情推送至各终端 |
|
||
|
||
```plantuml
|
||
@startuml 学情系统技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "数据采集层" as DC #E8EAF6 {
|
||
[Kafka] as KFK
|
||
[Flink ETL] as FLINK
|
||
KFK -right-> FLINK
|
||
}
|
||
|
||
package "数据仓库层" as DW #E3F2FD {
|
||
[ClickHouse\n(OLAP分析)] as CH
|
||
[MySQL\n(OLTP业务)] as SQL
|
||
CH -[hidden]right- SQL
|
||
}
|
||
|
||
package "分析引擎层" as AE #FFF3E0 {
|
||
[学情诊断算法\n(Pandas Scikit learn)] as ALG
|
||
}
|
||
|
||
package "知识图谱层" as KG #E8F5E9 {
|
||
[Neo4j\n知识点关系图谱] as NEO
|
||
}
|
||
|
||
package "可视化层" as VIS #F3E5F5 {
|
||
[ECharts] as EC
|
||
[自研报表引擎] as RPT
|
||
EC -[hidden]right- RPT
|
||
}
|
||
|
||
package "推送层" as PUSH #FFFDE7 {
|
||
[WebSocket] as WS
|
||
[消息队列] as MQ
|
||
WS -[hidden]right- MQ
|
||
}
|
||
|
||
DC -right-> DW : ETL写入
|
||
DW -down-> AE : 数据查询
|
||
AE -right-> KG : 错题归因
|
||
AE -down-> VIS : 分析结果
|
||
VIS -left-> PUSH : 报告推送
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
核心数据模型:
|
||
|
||
| 数据表/集合 | 存储 | 说明 |
|
||
|-----------|------|------|
|
||
| knowledge_point | Neo4j | 知识点节点(科目/年级/章节/知识点层级) |
|
||
| knowledge_relation | Neo4j | 知识点前驱/后继/包含关系边 |
|
||
| student_profile | ClickHouse | 学生画像宽表(知识掌握度向量) |
|
||
| exam_analysis | ClickHouse | 考试/作业分析结果(得分率、区分度、难度系数) |
|
||
| error_record | MySQL | 错题记录(题目ID、错因分类、知识点关联) |
|
||
| writing_growth | ClickHouse | 书写能力时序数据(笔顺正确率、规范性评分) |
|
||
| report_snapshot | MongoDB | 生成的报告快照(PDF/JSON) |
|
||
|
||
ETL流程:`原始笔迹/批改数据 → Kafka → Flink实时计算 → 聚合指标写入ClickHouse → 定时生成诊断报告`
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方法 | 路径 | 说明 |
|
||
|------|------|------|------|
|
||
| 学生画像 | GET | /api/v1/profile/student/{id} | 获取学生知识掌握度画像 |
|
||
| 班级学情 | GET | /api/v1/report/class/{id} | 班级学情统计(平均/分布/对比) |
|
||
| 错题分析 | GET | /api/v1/error/analysis/{student_id} | 错题归因与知识薄弱点 |
|
||
| 成长轨迹 | GET | /api/v1/growth/{student_id} | 书写能力成长时序数据 |
|
||
| 报告导出 | POST | /api/v1/report/export | 生成PDF报告并返回下载链接 |
|
||
| 家长推送 | POST | /api/v1/push/parent | 触发学情推送至家长端 |
|
||
|
||
**安全设计:**
|
||
- 数据脱敏:报表展示中学生姓名可选脱敏,仅管理员可查看完整信息
|
||
- 数据权限:教师仅可查看本班数据,家长仅可查看本人子女数据
|
||
- 数据留存:学生数据留存策略符合教育部门数据管理规范
|
||
- 传输加密:内部服务间数据传输 TLS 加密
|
||
- 审计追踪:数据查询与导出操作全程记录审计日志
|
||
|
||
**部署架构:**
|
||
- ClickHouse 集群:分片 + 副本,支撑大规模分析查询
|
||
- Flink 集群:Standalone / YARN 模式,实时流处理
|
||
- Neo4j:主从备份,知识图谱数据定期快照
|
||
- 定时任务:每日/每周自动生成学情诊断报告
|
||
|
||
```plantuml
|
||
@startuml 学情系统部署架构
|
||
skinparam componentStyle rectangle
|
||
skinparam nodeStyle rectangle
|
||
|
||
queue "Kafka" as KFK
|
||
|
||
node "Flink集群" as FLC {
|
||
[JobManager] as JM
|
||
[TaskManager x N] as TM
|
||
}
|
||
|
||
node "ClickHouse集群" as CHC {
|
||
[分片1 副本] as S1
|
||
[分片N 副本] as SN
|
||
}
|
||
|
||
node "Neo4j" as NEO {
|
||
[主节点] as NM
|
||
[从节点(备份)] as NS
|
||
NM -right-> NS : 数据复制
|
||
}
|
||
|
||
node "定时调度\n(CronJob)" as CRON
|
||
|
||
KFK -down-> FLC : 数据流
|
||
FLC -down-> CHC : 聚合写入
|
||
CHC -down-> CRON : 定时报告生成
|
||
NEO -down-> CRON : 错题归因查询
|
||
@enduml
|
||
```
|
||
|
||
---
|
||
|
||
#### 13. 自然写教学资源管理与内容分发系统软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写教学资源管理与内容分发系统软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Java / JavaScript |
|
||
| **运行环境** | Linux 服务器 / CDN |
|
||
| **软件用途** | 管理和分发教学课件、字帖模板、试卷、点阵码资源等教学内容 |
|
||
|
||
**功能模块:**
|
||
- 课件/字帖/试卷模板管理
|
||
- 点阵码资源生成与管理
|
||
- 内容审核与版本控制
|
||
- 多终端资源分发与缓存
|
||
- 教师自定义内容上传
|
||
- 按年级/学科/出版社分类检索
|
||
- CDN 加速分发
|
||
- 资源使用统计
|
||
|
||
**技术架构:**
|
||
|
||
采用 CMS 内容管理 + CDN 分发架构:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| 内容管理层 | Spring Boot + Vue.js | 后台管理系统(上传/审核/编辑/分类) |
|
||
| 存储层 | 对象存储(OSS/MinIO) + MySQL | 文件资源存储 + 元数据管理 |
|
||
| 生成层 | Python(点阵码生成引擎) | 点阵码图案生成、PDF合成、字帖排版 |
|
||
| 分发层 | CDN + 边缘缓存 | 全国节点加速分发教学资源 |
|
||
| 检索层 | Elasticsearch | 按年级/学科/出版社/关键词全文检索 |
|
||
|
||
```plantuml
|
||
@startuml 资源平台技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "内容管理层" as CMS #E8EAF6 {
|
||
[Spring Boot后端] as SB
|
||
[Vue.js管理前端] as VUE
|
||
SB -right-> VUE
|
||
}
|
||
|
||
package "存储层" as STORE #E3F2FD {
|
||
[OSS MinIO\n对象存储] as OSS
|
||
[MySQL\n元数据] as SQL
|
||
OSS -[hidden]right- SQL
|
||
}
|
||
|
||
package "生成层" as GEN #FFF3E0 {
|
||
[点阵码生成引擎\n(Python)] as DOT
|
||
[PDF合成 字帖排版] as PDF
|
||
DOT -[hidden]right- PDF
|
||
}
|
||
|
||
package "分发层" as CDN_L #E8F5E9 {
|
||
[CDN加速] as CDN
|
||
[边缘缓存] as EDGE
|
||
CDN -[hidden]right- EDGE
|
||
}
|
||
|
||
package "检索层" as SEARCH #F3E5F5 {
|
||
[Elasticsearch] as ES
|
||
}
|
||
|
||
CMS -down-> STORE : 上传/审核
|
||
CMS -down-> GEN : 点阵码生成
|
||
STORE -down-> CDN_L : 资源分发
|
||
CMS -right-> SEARCH : 索引建立
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
| 数据表 | 存储 | 说明 |
|
||
|-------|------|------|
|
||
| resource | MySQL | 资源元数据(名称、类型、学科、年级、出版社、版本号) |
|
||
| resource_file | OSS | 资源文件本体(PDF/图片/模板/点阵码文件) |
|
||
| dot_pattern | MySQL + OSS | 点阵码资源(码ID范围、绑定页面、生成参数) |
|
||
| audit_record | MySQL | 审核记录(审核人、状态、意见、时间) |
|
||
| usage_stat | ClickHouse | 资源使用统计(下载量、使用次数、终端分布) |
|
||
| category | MySQL | 分类目录树(年级/学科/出版社三级分类) |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方法 | 路径 | 说明 |
|
||
|------|------|------|------|
|
||
| 资源检索 | GET | /api/v1/resource/search | 按条件检索资源(分类/关键词) |
|
||
| 资源下载 | GET | /api/v1/resource/download/{id} | 获取资源下载地址(CDN签名URL) |
|
||
| 资源上传 | POST | /api/v1/resource/upload | 教师上传自定义资源 |
|
||
| 点阵码生成 | POST | /api/v1/dotcode/generate | 生成点阵码资源包 |
|
||
| 内容审核 | PUT | /api/v1/resource/audit/{id} | 审核通过/驳回 |
|
||
| 版本管理 | GET | /api/v1/resource/versions/{id} | 获取资源历史版本 |
|
||
| 使用统计 | GET | /api/v1/stat/resource/{id} | 查询资源使用数据 |
|
||
|
||
**安全设计:**
|
||
- 内容审核:教师上传资源需管理员审核通过后方可分发
|
||
- 防盗链:CDN资源通过 Referer 校验 + 签名URL 防止非法访问
|
||
- 版权保护:资源文件添加数字水印(水印包含学校/教师标识)
|
||
- 权限控制:资源按学校/区域授权,教师仅可访问本校已授权资源
|
||
- 点阵码安全:点阵码ID范围全局唯一分配,防冲突
|
||
|
||
**部署架构:**
|
||
- OSS对象存储:多副本冗余,99.99%数据持久性
|
||
- CDN:全国多节点就近接入,资源预热机制
|
||
- Elasticsearch:集群部署,索引按学科/年级分片
|
||
- 定时任务:CDN缓存刷新、资源使用报表生成
|
||
|
||
```plantuml
|
||
@startuml 资源平台部署架构
|
||
skinparam componentStyle rectangle
|
||
skinparam nodeStyle rectangle
|
||
|
||
cloud "CDN网络" as CDN {
|
||
[华东节点] as N1
|
||
[华南节点] as N2
|
||
[华北节点] as N3
|
||
}
|
||
|
||
node "应用服务器" as APP {
|
||
[Spring Boot\nCMS服务] as CMS
|
||
[Python\n点阵码引擎] as DOT
|
||
}
|
||
|
||
database "OSS对象存储\n(多副本冗余)" as OSS
|
||
database "MySQL" as SQL
|
||
database "Elasticsearch\n集群" as ES
|
||
|
||
APP -down-> SQL : 元数据
|
||
APP -down-> OSS : 文件存储
|
||
APP -right-> ES : 全文索引
|
||
OSS -up-> CDN : 资源预热分发
|
||
@enduml
|
||
```
|
||
|
||
---
|
||
|
||
### 3.2 网关与边缘算力层
|
||
|
||
#### 4. 自然写教室智能网关管理软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写教室智能网关管理软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | C / C++ / Python |
|
||
| **运行环境** | 嵌入式 Linux(网关硬件设备) |
|
||
| **软件用途** | 运行于教室网关设备,负责蓝牙/WiFi接收点阵笔数据,协议转换后上传至云端,并管理教室内设备互联 |
|
||
|
||
**功能模块:**
|
||
- 蓝牙多笔同时连接管理(支持 40+ 支笔并发)
|
||
- 笔迹数据实时接收与缓存
|
||
- 通信协议转换(BLE → TCP/MQTT)
|
||
- 数据压缩与加密上传
|
||
- 断网离线缓存与自动续传
|
||
- 设备发现与自动配对
|
||
- 固件远程升级(OTA)
|
||
- 设备状态上报与心跳监测
|
||
- 本地数据临时存储
|
||
- 与云平台双向通信
|
||
|
||
**技术架构:**
|
||
|
||
采用嵌入式分层架构,运行于网关硬件设备:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| 硬件抽象层(HAL) | C | 蓝牙芯片/WiFi模块/GPIO/存储驱动 |
|
||
| 通信协议层 | BlueZ(BLE)+ lwIP | BLE 5.0 多连接管理 + TCP/IP网络通信 |
|
||
| 消息中间层 | Eclipse Mosquitto(MQTT Client) | 与云端MQTT Broker双向通信 |
|
||
| 业务逻辑层 | C++ / Python | 数据缓存调度、设备管理、协议转换 |
|
||
| 管理层 | 轻量Web Server(lighttpd) | 本地Web配置页面、状态查询 |
|
||
|
||
```plantuml
|
||
@startuml 网关技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "管理层" as MGR #F3E5F5 {
|
||
[lighttpd\n本地Web管理] as WEB
|
||
}
|
||
|
||
package "业务逻辑层" as BIZ #FFF3E0 {
|
||
[数据缓存调度] as CACHE
|
||
[设备管理] as DEV
|
||
[协议转换] as CONV
|
||
CACHE -[hidden]right- DEV
|
||
DEV -[hidden]right- CONV
|
||
}
|
||
|
||
package "消息中间层" as MSG #E8F5E9 {
|
||
[MQTT Client\n(Mosquitto)] as MQTT
|
||
}
|
||
|
||
package "通信协议层" as COM #E3F2FD {
|
||
[BlueZ (BLE 5.0)\n多连接管理] as BLE
|
||
[lwIP\nTCP IP通信] as NET
|
||
BLE -[hidden]right- NET
|
||
}
|
||
|
||
package "硬件抽象层 (HAL)" as HAL #E8EAF6 {
|
||
[蓝牙芯片驱动] as BT
|
||
[WiFi模块驱动] as WIFI
|
||
[GPIO 存储驱动] as GPIO
|
||
BT -[hidden]right- WIFI
|
||
WIFI -[hidden]right- GPIO
|
||
}
|
||
|
||
HAL -up-> COM
|
||
COM -up-> BIZ
|
||
BIZ -up-> MSG : MQTT上报
|
||
BIZ -up-> MGR
|
||
@enduml
|
||
```
|
||
|
||
数据流:`点阵笔(BLE) → BLE协议栈接收 → 数据解包 → 环形缓冲区 → MQTT编码 → 云平台`
|
||
|
||
**数据设计:**
|
||
|
||
| 数据结构 | 存储方式 | 说明 |
|
||
|---------|---------|------|
|
||
| 笔迹缓冲区 | 内存环形Buffer | 实时笔迹数据循环缓冲(容量2MB) |
|
||
| 离线缓存队列 | SQLite / Flash文件 | 断网时笔迹数据持久化队列(FIFO,容量64MB) |
|
||
| 设备列表 | SQLite | 已配对笔设备MAC地址、名称、电量、最后连接时间 |
|
||
| 配置数据 | JSON配置文件 | 网关WiFi配置、MQTT服务器地址、心跳间隔等 |
|
||
| OTA包缓存 | Flash分区 | 固件升级包双分区存储(A/B分区) |
|
||
| 日志文件 | 轮转日志(logrotate) | 运行日志、错误日志、通信日志 |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方向 | 协议 | 说明 |
|
||
|------|------|------|------|
|
||
| 笔迹数据上报 | 网关→云端 | MQTT | Topic: `pen/{gateway_id}/stroke` |
|
||
| 设备状态上报 | 网关→云端 | MQTT | Topic: `gateway/{id}/status`(心跳/电量/在线笔数) |
|
||
| 远程指令下发 | 云端→网关 | MQTT | Topic: `gateway/{id}/command`(重启/配置更新/OTA) |
|
||
| OTA固件下载 | 云端→网关 | HTTPS | 下载固件升级包到本地Flash |
|
||
| BLE笔连接 | 笔→网关 | BLE GATT | 自定义Service UUID,笔迹数据通过Notify方式传输 |
|
||
| 本地管理页面 | 用户→网关 | HTTP | `http://192.168.x.x:8080` 本地配置管理Web页面 |
|
||
|
||
**安全设计:**
|
||
- 通信加密:MQTT over TLS,云端通信全程加密
|
||
- BLE配对:采用安全配对模式(Numeric Comparison),防止非法笔连接
|
||
- OTA安全:固件包RSA签名校验,防止恶意固件注入
|
||
- 设备认证:网关首次上线需通过设备证书(X.509)认证
|
||
- 数据完整性:离线缓存数据CRC校验,防止Flash损坏导致数据丢失
|
||
|
||
**部署架构:**
|
||
- 每间教室部署1台网关设备
|
||
- 支持40+支点阵笔同时连接
|
||
- 固件A/B双分区:升级失败自动回滚至上一版本
|
||
- 看门狗机制:软件异常时自动重启恢复
|
||
|
||
```plantuml
|
||
@startuml 网关部署架构
|
||
skinparam componentStyle rectangle
|
||
skinparam nodeStyle rectangle
|
||
|
||
node "教室" as ROOM {
|
||
node "网关设备" as GW {
|
||
[App分区A\n(当前运行)] as PA
|
||
[App分区B\n(备份 升级)] as PB
|
||
[Bootloader] as BL
|
||
[NVS配置] as NVS
|
||
}
|
||
collections "点阵笔 x 40" as PENS
|
||
}
|
||
|
||
cloud "云平台" as CLOUD {
|
||
[MQTT Broker] as MQTT
|
||
[OTA服务] as OTA
|
||
}
|
||
|
||
PENS -up-> GW : BLE连接
|
||
GW -up-> CLOUD : MQTT over TLS
|
||
OTA -down-> GW : 固件下载(HTTPS)
|
||
PA .right. PB : A/B分区切换
|
||
@enduml
|
||
```
|
||
|
||
---
|
||
|
||
#### 5. 自然写教室智能算力盒边缘计算软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写教室智能算力盒边缘计算软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | C++ / Python |
|
||
| **运行环境** | 嵌入式 Linux(ARM/x86 算力盒硬件,搭载 NPU/GPU 加速模块) |
|
||
| **软件用途** | 运行于教室智能算力盒设备,在本地完成手写识别、笔顺分析等AI推理任务,降低云端依赖,实现低延迟实时响应与离线可用 |
|
||
|
||
**功能模块:**
|
||
- 端侧AI推理引擎(手写OCR、数学列式识别、笔顺分析本地运行)
|
||
- 轻量化模型管理(模型加载、版本切换、云端同步更新)
|
||
- 笔迹数据本地预处理(去噪、坐标归一化、笔画分割)
|
||
- 实时识别结果分发(将识别结果推送至教室内各终端)
|
||
- 离线模式支持(断网环境下完整AI识别能力不降级)
|
||
- 本地数据缓存与批量上传(网络恢复后自动同步至云端)
|
||
- 与教室网关协同工作(接收网关转发的笔迹数据流)
|
||
- 多教室算力盒集群管理(校级统一调度与负载均衡)
|
||
- NPU/GPU 硬件加速调度
|
||
- 设备运行状态监控与远程运维
|
||
- OTA 固件与模型远程升级
|
||
|
||
**技术架构:**
|
||
|
||
采用边缘AI推理分层架构,运行于ARM/x86算力盒硬件:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| 硬件加速层 | RKNN(瑞芯微)/ CUDA(NVIDIA) / OpenCL | NPU/GPU硬件推理加速驱动 |
|
||
| 推理框架层 | ONNX Runtime / TensorRT / PaddleLite | 模型加载与推理执行引擎 |
|
||
| 模型管理层 | 自研(C++ / Python) | 模型版本管理、动态加载、量化压缩、云端同步 |
|
||
| 业务服务层 | Python / C++ | 笔迹预处理、推理调度、结果分发、离线缓存 |
|
||
| 通信层 | gRPC + MQTT | 与网关数据交互(gRPC) + 与云端状态同步(MQTT) |
|
||
| 管理层 | Flask + SQLite | 本地管理API、集群管理、状态上报 |
|
||
|
||
```plantuml
|
||
@startuml 算力盒技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "管理层" as MGR #F3E5F5 {
|
||
[Flask管理API] as FLASK
|
||
[SQLite] as SQLT
|
||
FLASK -right-> SQLT
|
||
}
|
||
|
||
package "通信层" as COM #FFFDE7 {
|
||
[gRPC\n(网关数据交互)] as GRPC
|
||
[MQTT\n(云端状态同步)] as MQTT
|
||
GRPC -[hidden]right- MQTT
|
||
}
|
||
|
||
package "业务服务层" as BIZ #FFF3E0 {
|
||
[笔迹预处理] as PRE
|
||
[推理调度] as SCH
|
||
[结果分发] as DIST
|
||
[离线缓存] as OFC
|
||
PRE -[hidden]right- SCH
|
||
SCH -[hidden]right- DIST
|
||
DIST -[hidden]right- OFC
|
||
}
|
||
|
||
package "模型管理层" as MODEL #E3F2FD {
|
||
[模型版本管理] as VER
|
||
[动态加载 量化] as LOAD
|
||
[云端同步更新] as SYNC
|
||
VER -[hidden]right- LOAD
|
||
LOAD -[hidden]right- SYNC
|
||
}
|
||
|
||
package "推理框架层" as INF #E8F5E9 {
|
||
[ONNX Runtime] as ONNX
|
||
[TensorRT] as TRT
|
||
[PaddleLite] as PL
|
||
ONNX -[hidden]right- TRT
|
||
TRT -[hidden]right- PL
|
||
}
|
||
|
||
package "硬件加速层" as HW #E8EAF6 {
|
||
[RKNN (NPU)] as NPU
|
||
[CUDA (GPU)] as CUDA
|
||
[OpenCL] as OCL
|
||
NPU -[hidden]right- CUDA
|
||
CUDA -[hidden]right- OCL
|
||
}
|
||
|
||
COM -down-> BIZ
|
||
BIZ -down-> MODEL
|
||
MODEL -down-> INF
|
||
INF -down-> HW
|
||
BIZ -right-> MGR
|
||
@enduml
|
||
```
|
||
|
||
推理流程:`网关笔迹数据(gRPC) → 数据预处理(去噪/归一化/笔画分割) → NPU/GPU推理 → 后处理 → 结果推送各终端`
|
||
|
||
**数据设计:**
|
||
|
||
| 数据结构 | 存储方式 | 说明 |
|
||
|---------|---------|------|
|
||
| 推理模型文件 | 本地Flash(/opt/models/) | ONNX/TRT模型文件(OCR/数学/笔顺各一套) |
|
||
| 模型元信息 | SQLite | 模型名称、版本、大小、精度指标、启用状态 |
|
||
| 推理任务队列 | 内存优先级队列 | 待推理任务(按实时/批量优先级排序) |
|
||
| 笔迹预处理缓存 | 内存 + tmpfs | 预处理后的笔迹张量数据(推理完即释放) |
|
||
| 离线结果缓存 | SQLite | 断网期间推理结果暂存,恢复后上传云端 |
|
||
| 运行日志 | 轮转日志文件 | 推理耗时、GPU利用率、错误记录 |
|
||
| OTA包 | Flash A/B分区 | 固件升级包 + 模型升级包分区存储 |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方向 | 协议 | 说明 |
|
||
|------|------|------|------|
|
||
| 笔迹数据接收 | 网关→算力盒 | gRPC | `InferenceService.ProcessStroke` 流式接收笔迹 |
|
||
| 识别结果推送 | 算力盒→终端 | gRPC/WebSocket | 将识别结果实时推送至黑板/PC/Pad |
|
||
| 模型同步 | 云端→算力盒 | HTTPS | 检查并下载新版本模型文件 |
|
||
| 状态上报 | 算力盒→云端 | MQTT | Topic: `edgebox/{id}/status`(GPU利用率/温度/推理QPS) |
|
||
| 远程管理 | 云端→算力盒 | MQTT | Topic: `edgebox/{id}/command`(重启/模型切换/OTA) |
|
||
| 集群管理 | 算力盒↔算力盒 | mDNS + gRPC | 多台算力盒校级发现与负载均衡调度 |
|
||
|
||
**安全设计:**
|
||
- 模型加密:模型文件AES-256加密存储,推理时内存解密加载
|
||
- 通信安全:gRPC 启用 mTLS 双向认证,MQTT over TLS
|
||
- OTA安全:升级包RSA签名 + SHA-256校验,防篡改
|
||
- 运行隔离:推理进程与管理进程独立沙箱,异常不互相影响
|
||
- 物理安全:设备唯一序列号绑定,非授权设备无法接入网络
|
||
|
||
**部署架构:**
|
||
- 每间教室部署1台算力盒(可选,与网关配合使用)
|
||
- 或按年级/楼层部署1台算力盒服务多间教室
|
||
- 支持NPU推理延迟 < 200ms(单次OCR识别)
|
||
- A/B双分区升级:固件与模型分别独立升级通道
|
||
- 看门狗 + 心跳机制:异常自动重启,云端监控报警
|
||
|
||
```plantuml
|
||
@startuml 算力盒部署架构
|
||
skinparam componentStyle rectangle
|
||
skinparam nodeStyle rectangle
|
||
|
||
node "教室A" as RA {
|
||
node "算力盒" as EB_A {
|
||
[AI推理引擎] as AI_A
|
||
[NPU GPU] as GPU_A
|
||
}
|
||
node "网关" as GW_A
|
||
collections "点阵笔" as PEN_A
|
||
}
|
||
|
||
node "教室B" as RB {
|
||
node "算力盒" as EB_B {
|
||
[AI推理引擎] as AI_B
|
||
[NPU GPU] as GPU_B
|
||
}
|
||
node "网关" as GW_B
|
||
}
|
||
|
||
cloud "云平台" as CLOUD {
|
||
[模型仓库] as MODEL
|
||
[MQTT Broker] as MQTT
|
||
[OTA服务] as OTA
|
||
}
|
||
|
||
PEN_A -up-> GW_A : BLE
|
||
GW_A -right-> EB_A : gRPC笔迹流
|
||
EB_A -up-> CLOUD : MQTT状态上报
|
||
MODEL -down-> EB_A : 模型同步(HTTPS)
|
||
EB_A <-right-> EB_B : mDNS+gRPC\n集群调度
|
||
@enduml
|
||
```
|
||
|
||
---
|
||
|
||
### 3.3 终端应用层
|
||
|
||
#### 6. 自然写互动课堂手机端应用软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写互动课堂手机端应用软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Kotlin / Swift / Flutter |
|
||
| **运行环境** | Android 8.0+ / iOS 14.0+ |
|
||
| **软件用途** | 面向教师和家长的手机端应用,提供教学管理、作业查看、学情报告、笔迹回放等功能 |
|
||
|
||
**功能模块:**
|
||
- 教师端:课堂互动控制、实时收笔、作业布置与批改
|
||
- 家长端:学情报告查看、作业完成通知、书写回放
|
||
- 蓝牙连接点阵笔(教师端移动教学场景)
|
||
- 拍照搜题与答案对比
|
||
- 消息通知与家校沟通
|
||
- 学习数据统计图表
|
||
|
||
**技术架构:**
|
||
|
||
采用跨平台 MVVM 架构:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| UI层 | Flutter Widget / Native UI | 界面渲染与交互(教师端/家长端双入口) |
|
||
| 状态管理层 | Bloc / Provider | MVVM模式,响应式数据绑定 |
|
||
| 业务逻辑层 | Dart / Kotlin / Swift | 教学管理、作业查看、蓝牙通信等核心业务 |
|
||
| 数据层 | SQLite + SharedPreferences | 本地数据缓存、用户配置存储 |
|
||
| 网络层 | Dio / Retrofit | HTTP API调用 + WebSocket实时通信 |
|
||
| 蓝牙层 | flutter_blue / CoreBluetooth | BLE连接点阵笔(教师移动教学场景) |
|
||
|
||
```plantuml
|
||
@startuml 手机端技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "UI层" as UI #E8EAF6 {
|
||
[Flutter Widget\n(教师端 家长端)] as FW
|
||
}
|
||
|
||
package "状态管理层" as SM #E3F2FD {
|
||
[Bloc Provider\nMVVM响应式] as BLC
|
||
}
|
||
|
||
package "业务逻辑层" as BIZ #FFF3E0 {
|
||
[教学管理] as TM
|
||
[作业查看] as HW
|
||
[蓝牙通信] as BT
|
||
TM -[hidden]right- HW
|
||
HW -[hidden]right- BT
|
||
}
|
||
|
||
package "数据层" as DATA #E8F5E9 {
|
||
[SQLite] as SQL
|
||
[SharedPreferences] as SP
|
||
SQL -[hidden]right- SP
|
||
}
|
||
|
||
package "网络层" as NET #FFFDE7 {
|
||
[Dio HTTP] as DIO
|
||
[WebSocket] as WS
|
||
DIO -[hidden]right- WS
|
||
}
|
||
|
||
package "蓝牙层" as BLE #F3E5F5 {
|
||
[flutter_blue\nCoreBluetooth] as FB
|
||
}
|
||
|
||
UI -down-> SM
|
||
SM -down-> BIZ
|
||
BIZ -down-> DATA
|
||
BIZ -down-> NET
|
||
BIZ -down-> BLE
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
| 数据 | 存储方式 | 说明 |
|
||
|------|---------|------|
|
||
| 用户信息 | SQLite + 加密存储 | 登录凭证、角色信息、绑定设备 |
|
||
| 作业列表 | SQLite | 作业/试卷缓存(支持离线查看) |
|
||
| 笔迹数据 | SQLite + 本地文件 | 蓝牙接收的笔迹数据(教师端) |
|
||
| 学情报告 | SQLite | 学生学情报告缓存 |
|
||
| 消息记录 | SQLite | 家校沟通消息本地存储 |
|
||
| 应用配置 | SharedPreferences | 推送开关、语言设置、主题偏好 |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方向 | 协议 | 说明 |
|
||
|------|------|------|------|
|
||
| 云平台API | APP→云端 | HTTPS REST | 登录/作业/学情/消息等全部业务API |
|
||
| 实时通知 | 云端→APP | WebSocket | 新作业、批改完成、消息通知 |
|
||
| 推送服务 | 云端→APP | APNs / FCM | 系统级推送(APP后台时) |
|
||
| BLE通信 | APP↔点阵笔 | BLE GATT | 教师端蓝牙连接笔进行移动教学 |
|
||
|
||
**安全设计:**
|
||
- 身份认证:OAuth 2.0 + JWT,支持手机号/微信/钉钉一键登录
|
||
- 本地加密:Token和敏感数据使用 Keychain(iOS)/ KeyStore(Android)加密存储
|
||
- 传输安全:全链路 HTTPS,证书锁定(Certificate Pinning)
|
||
- 隐私合规:遵循《APP收集使用个人信息最小必要评估规范》,敏感权限按需申请
|
||
- 儿童保护:学生相关数据展示遵循《儿童个人信息网络保护规定》
|
||
|
||
---
|
||
|
||
#### 7. 自然写互动课堂电视端应用软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写互动课堂电视端应用软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Java / Kotlin |
|
||
| **运行环境** | Android TV / 智能电视操作系统 |
|
||
| **软件用途** | 运行于家庭电视或教室电视,大屏展示学生书写过程、课堂互动内容及学情报告 |
|
||
|
||
**功能模块:**
|
||
- 笔迹实时大屏投射与回放
|
||
- 多学生书写同屏对比展示
|
||
- 课堂互动答题结果大屏展示
|
||
- 字帖临摹大屏辅助(放大范字+实时书写对比)
|
||
- 学情报告大屏浏览
|
||
- 遥控器/语音操控适配
|
||
- WiFi 局域网设备发现与连接
|
||
|
||
**技术架构:**
|
||
|
||
采用 Android TV Leanback 架构:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| UI层 | Leanback Library + 自定义View | 适配遥控器D-Pad焦点导航的TV界面 |
|
||
| 笔迹渲染层 | Canvas / OpenGL ES | 大屏实时笔迹渲染(60fps低延迟) |
|
||
| 业务逻辑层 | Kotlin + ViewModel | MVVM架构,课堂展示/互动/学情浏览 |
|
||
| 数据层 | Room(SQLite) | 课堂数据本地缓存 |
|
||
| 网络层 | OkHttp + WebSocket | 云平台API调用 + 实时笔迹数据接收 |
|
||
| 发现层 | mDNS / SSDP | 局域网内网关与终端设备自动发现 |
|
||
|
||
```plantuml
|
||
@startuml 电视端技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "UI层" as UI #E8EAF6 {
|
||
[Leanback Library\n(D-Pad焦点导航)] as LB
|
||
[自定义View] as CV
|
||
LB -[hidden]right- CV
|
||
}
|
||
|
||
package "笔迹渲染层" as RENDER #FCE4EC {
|
||
[Canvas OpenGL ES\n(60fps大屏渲染)] as GL
|
||
}
|
||
|
||
package "业务逻辑层" as BIZ #FFF3E0 {
|
||
[Kotlin ViewModel\nMVVM架构] as VM
|
||
}
|
||
|
||
package "数据层" as DATA #E8F5E9 {
|
||
[Room (SQLite)] as ROOM
|
||
}
|
||
|
||
package "网络层" as NET #E3F2FD {
|
||
[OkHttp] as OK
|
||
[WebSocket] as WS
|
||
OK -[hidden]right- WS
|
||
}
|
||
|
||
package "发现层" as DISC #F3E5F5 {
|
||
[mDNS SSDP] as MDNS
|
||
}
|
||
|
||
UI -down-> BIZ
|
||
RENDER -down-> BIZ
|
||
BIZ -down-> DATA
|
||
BIZ -down-> NET
|
||
BIZ -down-> DISC
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
| 数据 | 存储方式 | 说明 |
|
||
|------|---------|------|
|
||
| 课堂笔迹缓存 | 内存 + Room | 当前课堂的实时笔迹数据 |
|
||
| 课件资源 | 本地文件缓存 | 预加载的课件/字帖图片资源 |
|
||
| 学情报告 | Room | 大屏浏览用的学情数据缓存 |
|
||
| 设备配置 | SharedPreferences | WiFi连接、网关绑定、显示设置 |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方向 | 协议 | 说明 |
|
||
|------|------|------|------|
|
||
| 笔迹数据流 | 网关/算力盒→TV | WebSocket | 接收实时笔迹坐标进行大屏渲染 |
|
||
| 云平台API | TV→云端 | HTTPS | 获取课堂信息、学情报告 |
|
||
| 设备发现 | TV↔网关 | mDNS | 自动发现同一局域网内的网关设备 |
|
||
| 遥控指令 | 遥控器→TV | IR / BLE | 遥控器按键映射为应用操作 |
|
||
| 投屏接收 | PC/手机→TV | Miracast / DLNA | 接收教师端投屏内容 |
|
||
|
||
**安全设计:**
|
||
- 自动登录:设备绑定后免密登录,Token安全存储于系统KeyStore
|
||
- 局域网隔离:仅接受同一教室网段内的连接请求
|
||
- 内容安全:大屏展示内容过滤敏感信息(学生个人隐私数据不展示)
|
||
- 防截屏:课堂内容播放时禁止系统截屏(FLAG_SECURE)
|
||
|
||
---
|
||
|
||
#### 8. 自然写互动课堂PC端应用软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写互动课堂PC端应用软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Electron / C++ / JavaScript |
|
||
| **运行环境** | Windows 10+ / macOS 12+ |
|
||
| **软件用途** | 面向教师的PC端教学工具,提供备课、课堂授课、批改、数据管理等全流程功能 |
|
||
|
||
**功能模块:**
|
||
- 备课工具(课件制作、试卷编辑、字帖模板设计)
|
||
- 课堂授课模式(实时接收笔迹、互动答题、随机点名)
|
||
- 作业/试卷批改(AI辅助+人工复核)
|
||
- 学生笔迹回放与书写分析
|
||
- 班级学情数据管理与导出
|
||
- 点阵码内容编辑与打印
|
||
- USB/蓝牙连接点阵笔
|
||
- 投屏至大屏/智慧黑板
|
||
|
||
**技术架构:**
|
||
|
||
采用 Electron 跨平台桌面架构:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| 主进程 | Electron Main Process(Node.js) | 窗口管理、系统API调用、文件操作、蓝牙/USB驱动 |
|
||
| 渲染进程 | Vue.js 3 + TypeScript | 界面渲染、状态管理(Pinia)、组件化UI |
|
||
| 笔迹渲染引擎 | Canvas 2D / WebGL + C++ Addon | 高性能笔迹渲染(支持压感/笔锋效果) |
|
||
| 数据层 | SQLite(better-sqlite3) + IndexedDB | 本地课件/作业/笔迹数据持久化 |
|
||
| 网络层 | Axios + WebSocket(ws) | 云平台API + 实时通信 |
|
||
| 设备层 | node-bluetooth / node-usb | USB有线 + BLE无线连接点阵笔 |
|
||
| 投屏层 | WebRTC / 自研投屏协议 | 屏幕镜像至大屏/智慧黑板 |
|
||
|
||
```plantuml
|
||
@startuml PC端技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "主进程 (NodeJS)" as MAIN #E8EAF6 {
|
||
[窗口管理] as WIN
|
||
[系统API] as SYS
|
||
[文件操作] as FILE
|
||
WIN -[hidden]right- SYS
|
||
SYS -[hidden]right- FILE
|
||
}
|
||
|
||
package "渲染进程" as RENDERER #E3F2FD {
|
||
[Vue3 TypeScript] as VUE
|
||
[Pinia状态管理] as PINIA
|
||
VUE -right-> PINIA
|
||
}
|
||
|
||
package "笔迹渲染引擎" as STROKE #FCE4EC {
|
||
[Canvas2D WebGL] as CANVAS
|
||
[Native Addon\n(压感笔锋)] as CPP
|
||
CANVAS -right-> CPP
|
||
}
|
||
|
||
package "数据层" as DATA #E8F5E9 {
|
||
[SQLite\n(better sqlite3)] as SQL
|
||
[IndexedDB] as IDB
|
||
SQL -[hidden]right- IDB
|
||
}
|
||
|
||
package "设备层" as DEV #FFF3E0 {
|
||
[BLE\n(node bluetooth)] as BLE
|
||
[USB HID\n(node usb)] as USB
|
||
BLE -[hidden]right- USB
|
||
}
|
||
|
||
package "网络层" as NET #FFFDE7 {
|
||
[Axios] as AX
|
||
[WebSocket] as WS
|
||
AX -[hidden]right- WS
|
||
}
|
||
|
||
package "投屏层" as CAST #F3E5F5 {
|
||
[WebRTC] as RTC
|
||
}
|
||
|
||
MAIN <--> RENDERER : IPC通信
|
||
RENDERER --> STROKE
|
||
RENDERER --> NET
|
||
MAIN --> DATA
|
||
MAIN -up-> DEV
|
||
MAIN -up-> CAST
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
| 数据 | 存储方式 | 说明 |
|
||
|------|---------|------|
|
||
| 课件文件 | 本地文件系统 | 备课创建的课件/试卷/字帖(JSON + 资源文件) |
|
||
| 学生笔迹 | SQLite + 本地文件 | 收集的学生笔迹原始数据与渲染缓存 |
|
||
| 批改记录 | SQLite | AI批改结果 + 教师人工批改标注 |
|
||
| 班级数据 | SQLite | 班级/学生列表、成绩记录、学情缓存 |
|
||
| 点阵码映射 | SQLite | 点阵码ID与课件页面的对应关系 |
|
||
| 应用配置 | JSON文件 + electron-store | 用户偏好、窗口状态、设备连接记录 |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方向 | 协议 | 说明 |
|
||
|------|------|------|------|
|
||
| 云平台API | PC→云端 | HTTPS | 全部业务API(登录/作业/学情/资源) |
|
||
| 实时同步 | 云端→PC | WebSocket | 笔迹实时流、课堂互动指令 |
|
||
| USB笔通信 | 笔→PC | USB HID | USB有线连接点阵笔数据传输 |
|
||
| BLE笔通信 | 笔→PC | BLE GATT | 蓝牙无线连接点阵笔 |
|
||
| 投屏输出 | PC→大屏 | WebRTC / HDMI | 课堂内容镜像至智慧黑板/电视 |
|
||
| 打印输出 | PC→打印机 | 系统打印API | 点阵码内容/试卷/字帖打印 |
|
||
|
||
**安全设计:**
|
||
- 本地数据加密:SQLite数据库文件加密(SQLCipher),防止本地数据泄露
|
||
- 自动更新:Electron auto-updater,签名校验防止恶意更新
|
||
- 代码保护:ASAR打包 + 代码混淆,关键逻辑C++ Addon保护
|
||
- 权限隔离:渲染进程沙箱化,敏感操作通过IPC调用主进程执行
|
||
- 文件安全:课件导出支持加密PDF,限制传播
|
||
|
||
---
|
||
|
||
#### 9. 自然写互动课堂智慧黑板端应用软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写互动课堂智慧黑板端应用软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Java / Kotlin / C++ |
|
||
| **运行环境** | Android(智慧黑板定制系统) |
|
||
| **软件用途** | 运行于教室智慧黑板/交互式一体机,作为课堂教学的主显示终端与交互中心 |
|
||
|
||
**功能模块:**
|
||
- 全班笔迹实时接收与大屏展示
|
||
- 触控白板书写(教师黑板端直接书写)
|
||
- 学生作品展示墙(选取学生笔迹投屏对比)
|
||
- 课堂互动答题系统(发题→收卷→统计→展示)
|
||
- 随机抽取与分组展示
|
||
- 课堂录制与回放
|
||
- 与教室网关联动(自动发现笔设备)
|
||
- 第三方课件兼容(PPT/PDF/图片)
|
||
|
||
**技术架构:**
|
||
|
||
采用 Android 全屏交互式应用架构:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| UI层 | 自定义全屏View + Android Framework | 全屏触控交互界面,多点触控支持 |
|
||
| 白板引擎 | Canvas 2D + SurfaceView(C++ JNI加速) | 高性能触控书写与笔迹渲染引擎 |
|
||
| 笔迹接收层 | Kotlin + BLE/WiFi | 接收网关/算力盒推送的学生笔迹数据 |
|
||
| 课件解析层 | Apache POI + PDFRenderer + Glide | PPT/PDF/图片课件加载与渲染 |
|
||
| 业务逻辑层 | Kotlin + ViewModel + LiveData | 课堂互动、答题系统、展示控制 |
|
||
| 数据层 | Room + 本地文件 | 课堂记录、课件缓存、配置存储 |
|
||
| 录制层 | MediaCodec + MediaMuxer | 课堂屏幕录制与回放(H.264编码) |
|
||
|
||
```plantuml
|
||
@startuml 黑板端技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "UI层" as UI #E8EAF6 {
|
||
[全屏触控View\n(多点触控)] as TOUCH
|
||
}
|
||
|
||
package "白板引擎" as WB #FCE4EC {
|
||
[Canvas 2D\nSurfaceView] as CANVAS
|
||
[Native JNI加速] as JNI
|
||
CANVAS -right-> JNI
|
||
}
|
||
|
||
package "笔迹接收层" as PEN #FFF3E0 {
|
||
[BLE WiFi接收\n网关推送笔迹] as RCV
|
||
}
|
||
|
||
package "课件解析层" as COURSE #FFFDE7 {
|
||
[Apache POI\n(PPT)] as POI
|
||
[PDFRenderer] as PDFR
|
||
[Glide\n(图片)] as IMG
|
||
POI -[hidden]right- PDFR
|
||
PDFR -[hidden]right- IMG
|
||
}
|
||
|
||
package "业务逻辑层" as BIZ #E3F2FD {
|
||
[ViewModel LiveData\n(课堂互动 答题 展示)] as VM
|
||
}
|
||
|
||
package "数据层" as DATA #E8F5E9 {
|
||
[Room] as ROOM
|
||
[本地文件] as FS
|
||
ROOM -[hidden]right- FS
|
||
}
|
||
|
||
package "录制层" as REC #F3E5F5 {
|
||
[MediaCodec\n(H.264编码)] as MC
|
||
[MediaMuxer] as MX
|
||
MC -right-> MX
|
||
}
|
||
|
||
UI -down-> WB
|
||
UI -down-> PEN
|
||
BIZ -up-> WB
|
||
BIZ -up-> COURSE
|
||
BIZ -down-> DATA
|
||
BIZ -down-> REC
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
| 数据 | 存储方式 | 说明 |
|
||
|------|---------|------|
|
||
| 白板画布数据 | 内存 + 序列化文件 | 教师白板书写笔迹(支持撤销/重做) |
|
||
| 学生笔迹 | Room + 内存缓存 | 全班学生实时笔迹数据(按学生ID索引) |
|
||
| 课件文件 | 本地文件缓存 | 预下载的PPT/PDF课件 |
|
||
| 课堂录像 | MP4本地文件 | 课堂录制视频 |
|
||
| 互动答题数据 | Room | 题目、学生答案、统计结果 |
|
||
| 设备配置 | SharedPreferences | 网关绑定、显示分辨率、触控校准参数 |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方向 | 协议 | 说明 |
|
||
|------|------|------|------|
|
||
| 笔迹数据流 | 网关/算力盒→黑板 | WebSocket | 接收全班学生实时笔迹 |
|
||
| 互动指令 | 黑板→网关 | WebSocket | 发题、收卷、分组等课堂控制指令 |
|
||
| 云平台API | 黑板→云端 | HTTPS | 课件下载、录像上传、数据同步 |
|
||
| 设备发现 | 黑板↔网关 | mDNS | 自动发现并绑定教室网关 |
|
||
| 触控输入 | 触控屏→黑板 | Android TouchEvent | 多点触控映射为白板操作 |
|
||
|
||
**安全设计:**
|
||
- 应用锁定:Kiosk模式运行,防止学生退出应用访问系统设置
|
||
- 内容安全:课堂录像本地加密存储,上传云端后自动清理本地文件
|
||
- 自动登录:设备证书认证,无需教师手动登录
|
||
- 网络隔离:仅允许访问指定云平台域名和教室局域网
|
||
- 定时清理:课堂结束后自动清理内存缓存,防止数据残留
|
||
|
||
---
|
||
|
||
#### 10. 自然写互动课堂平板端应用软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写互动课堂平板端应用软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Kotlin / Swift / Flutter |
|
||
| **运行环境** | Android 8.0+ / iPadOS 14.0+ |
|
||
| **软件用途** | 面向学生和教师的平板端应用,提供课堂互动、作业书写、练字训练、学习管理等功能 |
|
||
|
||
**功能模块:**
|
||
- 学生端:接收作业/试卷、配合点阵笔纸上作答、提交与查看批改结果
|
||
- 教师端:移动授课、巡堂查看、即时点评
|
||
- 蓝牙连接点阵笔
|
||
- 触屏直接书写(无笔时备选模式)
|
||
- 字帖练习与笔顺指导
|
||
- 错题本自动整理
|
||
- 学习计划与进度管理
|
||
- 护眼模式与使用时长管控
|
||
|
||
**技术架构:**
|
||
|
||
采用跨平台 MVVM 架构(与手机端共享核心模块):
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| UI层 | Flutter Widget(Pad自适应布局) | 适配不同尺寸平板的响应式界面 |
|
||
| 状态管理层 | Bloc / Provider | MVVM架构,学生端/教师端双模式 |
|
||
| 笔迹渲染层 | CustomPainter + Skia | 触屏直写与点阵笔笔迹渲染 |
|
||
| 业务逻辑层 | Dart / Kotlin / Swift | 作业作答、练字训练、学习管理 |
|
||
| 数据层 | SQLite + Hive | 离线作业缓存、错题本、学习进度 |
|
||
| 网络层 | Dio + WebSocket | 云平台API + 课堂实时交互 |
|
||
| 蓝牙层 | flutter_blue / CoreBluetooth | BLE连接点阵笔 |
|
||
| 护眼层 | 自研护眼模块 | 色温调节、使用时长提醒、距离检测(前置摄像头) |
|
||
|
||
```plantuml
|
||
@startuml 平板端技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "UI层" as UI #E8EAF6 {
|
||
[Flutter Widget\n(Pad自适应布局)] as FW
|
||
}
|
||
|
||
package "状态管理层" as SM #E3F2FD {
|
||
[Bloc Provider\n(学生端 教师端双模式)] as BLC
|
||
}
|
||
|
||
package "笔迹渲染层" as RENDER #FCE4EC {
|
||
[CustomPainter Skia\n(触屏直写 点阵笔)] as SKI
|
||
}
|
||
|
||
package "业务逻辑层" as BIZ #FFF3E0 {
|
||
[作业作答] as HW
|
||
[练字训练] as WRT
|
||
[学习管理] as LRN
|
||
HW -[hidden]right- WRT
|
||
WRT -[hidden]right- LRN
|
||
}
|
||
|
||
package "数据层" as DATA #E8F5E9 {
|
||
[SQLite] as SQL
|
||
[Hive] as HIVE
|
||
SQL -[hidden]right- HIVE
|
||
}
|
||
|
||
package "网络层" as NET #FFFDE7 {
|
||
[Dio] as DIO
|
||
[WebSocket] as WS
|
||
DIO -[hidden]right- WS
|
||
}
|
||
|
||
package "蓝牙层" as BLE #F3E5F5 {
|
||
[flutter_blue\nCoreBluetooth] as FB
|
||
}
|
||
|
||
package "护眼层" as EYE #F1F8E9 {
|
||
[色温调节] as CT
|
||
[时长提醒] as TR
|
||
[距离检测] as DIST
|
||
CT -[hidden]right- TR
|
||
TR -[hidden]right- DIST
|
||
}
|
||
|
||
UI -down-> SM
|
||
SM -down-> RENDER
|
||
SM -down-> BIZ
|
||
BIZ -down-> DATA
|
||
BIZ -down-> NET
|
||
BIZ -down-> BLE
|
||
UI -right-> EYE
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
| 数据 | 存储方式 | 说明 |
|
||
|------|---------|------|
|
||
| 作业/试卷 | SQLite + 本地文件 | 已下载的作业内容(支持离线作答) |
|
||
| 书写笔迹 | SQLite + 文件 | 学生作答笔迹数据(BLE采集或触屏直写) |
|
||
| 错题本 | SQLite | 自动整理的错题(题目+错误答案+正确答案+知识点) |
|
||
| 学习计划 | SQLite | 每日/每周学习任务与完成进度 |
|
||
| 字帖练习 | 本地缓存 | 字帖模板与练习记录 |
|
||
| 使用时长 | SQLite | 每日使用时长记录(按应用/科目分类) |
|
||
| 离线队列 | SQLite | 离线操作暂存队列(恢复网络后自动同步) |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方向 | 协议 | 说明 |
|
||
|------|------|------|------|
|
||
| 云平台API | Pad→云端 | HTTPS | 登录/作业下载/提交/学情查看 |
|
||
| 课堂实时 | 网关→Pad | WebSocket | 课堂互动指令、教师点评推送 |
|
||
| BLE笔通信 | 笔→Pad | BLE GATT | 蓝牙连接点阵笔接收笔迹数据 |
|
||
| 离线同步 | Pad→云端 | HTTPS | 网络恢复后批量上传离线数据 |
|
||
|
||
**安全设计:**
|
||
- 学生账户:简化登录(班级+姓名/学号),无需手机号等隐私信息
|
||
- 使用管控:家长可远程设置使用时段和时长上限
|
||
- 内容过滤:仅展示学校授权的教学内容,无广告、无外部链接
|
||
- 隐私保护:前置摄像头护眼检测仅本地处理,不上传图像数据
|
||
- 本地加密:学生作答数据本地加密存储,防止平板丢失后数据泄露
|
||
|
||
---
|
||
|
||
### 3.4 SDK
|
||
|
||
#### 11. 自然写互动课堂应用开发SDK软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写互动课堂应用开发SDK软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | Java / Kotlin / Swift / C / JavaScript |
|
||
| **运行环境** | Android / iOS / Windows / macOS / Linux / Web |
|
||
| **软件用途** | 为第三方开发者和教育集成商提供点阵笔数据接入、笔迹渲染、AI识别调用等核心能力,支持客户化集成到自身应用中 |
|
||
|
||
**SDK 模块:**
|
||
|
||
| 模块 | 功能 |
|
||
|------|------|
|
||
| **PenConnect SDK** | 蓝牙/WiFi连接点阵笔,接收实时笔迹坐标数据流 |
|
||
| **StrokeRender SDK** | 笔迹实时渲染与回放(支持压感、颜色、动画) |
|
||
| **OCR SDK** | 调用云端/本地手写识别能力(文字、数学、笔顺) |
|
||
| **Gateway SDK** | 对接教室网关,批量管理多支笔数据 |
|
||
| **Cloud SDK** | 对接自然写云平台API(用户认证、数据存取、学情查询) |
|
||
| **UI Component** | 预制UI组件(笔迹画布、答题卡、字帖控件等) |
|
||
|
||
**输出形式:**
|
||
- Android:AAR 包 + Maven 仓库
|
||
- iOS:Framework / CocoaPods / Swift Package
|
||
- PC:DLL / .so 动态库
|
||
- Web:JavaScript / TypeScript NPM 包
|
||
- 配套:API 文档、示例工程、集成指南
|
||
|
||
**技术架构:**
|
||
|
||
采用分层模块化架构,核心逻辑跨平台复用:
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 上层:应用集成层(第三方开发者调用) │
|
||
├──────────┬──────────┬──────────┬──────────┬──────────────────┤
|
||
│ PenConnect│StrokeRender│ OCR SDK │Gateway SDK│ Cloud SDK │
|
||
│ SDK │ SDK │ │ │ │
|
||
├──────────┴──────────┴──────────┴──────────┴──────────────────┤
|
||
│ 中间层:平台适配层(Platform Abstraction Layer) │
|
||
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
|
||
│ │Android│ │ iOS │ │Windows│ │macOS │ │ Web │ │
|
||
│ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
|
||
├─────────────────────────────────────────────────────────────┤
|
||
│ 底层:核心引擎层(C/C++ 跨平台内核) │
|
||
│ BLE协议解析 │ 笔迹平滑算法 │ 坐标变换 │ 数据编解码 │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| 核心引擎 | C / C++(跨平台) | 蓝牙协议解析、笔迹平滑、坐标变换等底层算法 |
|
||
| 平台适配 | JNI(Android)/ ObjC Bridge(iOS)/ FFI(Web) | 各平台原生API桥接 |
|
||
| 业务模块 | Java/Kotlin/Swift/JS | 各SDK模块的业务封装 |
|
||
| UI组件 | Android View / UIKit / HTML5 Canvas | 预制UI控件(笔迹画布、答题卡) |
|
||
|
||
```plantuml
|
||
@startuml SDK技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "应用集成层" as APP #E8EAF6 {
|
||
[PenConnect\nSDK] as PEN
|
||
[StrokeRender\nSDK] as STROKE
|
||
[OCR SDK] as OCR
|
||
[Gateway\nSDK] as GW
|
||
[Cloud SDK] as CLD
|
||
[UI Component] as UIC
|
||
PEN -[hidden]right- STROKE
|
||
STROKE -[hidden]right- OCR
|
||
OCR -[hidden]right- GW
|
||
GW -[hidden]right- CLD
|
||
CLD -[hidden]right- UIC
|
||
}
|
||
|
||
package "平台适配层 (PAL)" as PAL #FFF3E0 {
|
||
[Android\n(JNI)] as ANDR
|
||
[iOS\n(ObjC Bridge)] as IOS
|
||
[Windows\n(DLL)] as WIN
|
||
[macOS\n(dylib)] as MAC
|
||
[Web\n(FFI WASM)] as WEB
|
||
ANDR -[hidden]right- IOS
|
||
IOS -[hidden]right- WIN
|
||
WIN -[hidden]right- MAC
|
||
MAC -[hidden]right- WEB
|
||
}
|
||
|
||
package "核心引擎层 (Native)" as CORE #E8F5E9 {
|
||
[BLE协议解析] as BLE
|
||
[笔迹平滑算法] as SMOOTH
|
||
[坐标变换] as COORD
|
||
[数据编解码] as CODEC
|
||
BLE -[hidden]right- SMOOTH
|
||
SMOOTH -[hidden]right- COORD
|
||
COORD -[hidden]right- CODEC
|
||
}
|
||
|
||
APP -down-> PAL
|
||
PAL -down-> CORE
|
||
@enduml
|
||
```
|
||
|
||
**数据设计:**
|
||
|
||
SDK内部数据结构:
|
||
|
||
| 数据结构 | 类型 | 说明 |
|
||
|---------|------|------|
|
||
| PenDevice | Class | 笔设备对象(MAC/名称/电量/连接状态/协议版本) |
|
||
| StrokePoint | Struct | 笔迹点(x, y, pressure, timestamp, penUp) |
|
||
| StrokePath | Class | 笔画路径(points[], color, width, penId) |
|
||
| RecognitionResult | Class | 识别结果(type, text, confidence, bbox) |
|
||
| SDKConfig | Class | SDK配置(服务器地址、AppKey、日志级别) |
|
||
|
||
**接口设计:**
|
||
|
||
核心 API 示例:
|
||
|
||
```
|
||
// PenConnect SDK
|
||
PenManager.startScan() // 扫描周围点阵笔
|
||
PenManager.connect(device: PenDevice) // 连接指定笔
|
||
PenManager.onStrokeData(callback) // 笔迹数据回调
|
||
|
||
// StrokeRender SDK
|
||
StrokeCanvas.bindView(view) // 绑定画布View
|
||
StrokeCanvas.drawStroke(strokePath) // 渲染笔迹
|
||
StrokeCanvas.replay(strokes[], speed) // 回放笔迹动画
|
||
|
||
// OCR SDK
|
||
OCREngine.recognize(strokes) → Result // 文字识别
|
||
MathEngine.recognize(strokes) → Result // 数学列式识别
|
||
StrokeOrderEngine.evaluate(char, strokes) // 笔顺评分
|
||
|
||
// Cloud SDK
|
||
CloudClient.init(appKey, secret) // 初始化
|
||
CloudClient.auth.login(token) // 认证
|
||
CloudClient.data.uploadStroke(data) // 上传笔迹
|
||
CloudClient.report.getStudentReport(id) // 获取学情
|
||
```
|
||
|
||
**安全设计:**
|
||
- 接入认证:AppKey + AppSecret 签名认证,防止未授权调用
|
||
- 数据保护:SDK本地不持久化业务数据,仅缓存必要配置
|
||
- 代码保护:C++核心库编译为 .so/.dylib,Java层ProGuard混淆
|
||
- 版本管理:语义化版本(SemVer),大版本不兼容变更有迁移指南
|
||
- 沙箱隔离:SDK运行在独立线程/进程,异常不影响宿主应用
|
||
|
||
---
|
||
|
||
### 3.5 固件
|
||
|
||
#### 12. 自然写智能点阵笔嵌入式固件软件 V1.0
|
||
|
||
| 项目 | 内容 |
|
||
|------|------|
|
||
| **软件全称** | 自然写智能点阵笔嵌入式固件软件 |
|
||
| **版本号** | V1.0 |
|
||
| **开发语言** | C |
|
||
| **运行环境** | 嵌入式 MCU(点阵笔主控芯片) |
|
||
| **软件用途** | 运行于智能点阵笔内部,控制点阵摄像头采集、笔迹坐标解析、蓝牙数据传输及电源管理 |
|
||
|
||
**功能模块:**
|
||
- 点阵摄像头图像采集与解码
|
||
- 点阵码坐标实时解析
|
||
- 压力传感器数据采集
|
||
- 蓝牙 BLE 数据发送(笔迹坐标流)
|
||
- 设备配对与连接管理
|
||
- 低功耗电源管理(休眠/唤醒策略)
|
||
- 电池电量监测与上报
|
||
- LED 状态指示控制
|
||
- OTA 固件升级支持
|
||
- 本地数据缓存(离线书写暂存)
|
||
|
||
**技术架构:**
|
||
|
||
采用 RTOS 实时操作系统 + 分层驱动架构:
|
||
|
||
| 层次 | 技术选型 | 说明 |
|
||
|------|---------|------|
|
||
| RTOS内核 | FreeRTOS / RT-Thread | 实时任务调度、内存管理、中断管理 |
|
||
| 硬件驱动层 | C(寄存器级) | CMOS摄像头驱动、压力传感器ADC驱动、SPI/I2C总线 |
|
||
| BLE协议栈 | SoftDevice(Nordic)/ Nimble | 蓝牙5.0 BLE协议栈(GATT Server) |
|
||
| 图像处理层 | C(定点数优化) | 点阵码图像解码、坐标解算算法 |
|
||
| 应用层 | C | 业务逻辑(配对/数据发送/状态管理/OTA) |
|
||
| 电源管理层 | C | 低功耗状态机(Active/Idle/Sleep/DeepSleep) |
|
||
|
||
```plantuml
|
||
@startuml 固件技术架构
|
||
skinparam componentStyle rectangle
|
||
|
||
package "应用层" as APP #E8EAF6 {
|
||
[配对管理] as PAIR
|
||
[数据发送] as SEND
|
||
[OTA升级] as OTA
|
||
[状态管理] as STATUS
|
||
PAIR -[hidden]right- SEND
|
||
SEND -[hidden]right- OTA
|
||
OTA -[hidden]right- STATUS
|
||
}
|
||
|
||
package "图像处理层" as IMG #FFF3E0 {
|
||
[点阵码图像解码\n(定点数优化)] as DEC
|
||
[坐标解算算法] as COORD
|
||
DEC -right-> COORD
|
||
}
|
||
|
||
package "BLE协议栈" as BLE #E3F2FD {
|
||
[SoftDevice Nimble\nBLE 5 GATT Server] as SD
|
||
}
|
||
|
||
package "硬件驱动层" as DRV #E8F5E9 {
|
||
[CMOS摄像头\n驱动] as CAM
|
||
[压力传感器\nADC驱动] as ADC
|
||
[SPI I2C\n总线] as BUS
|
||
CAM -[hidden]right- ADC
|
||
ADC -[hidden]right- BUS
|
||
}
|
||
|
||
package "RTOS内核" as RTOS #F3E5F5 {
|
||
[FreeRTOS RT Thread\n任务调度 内存管理 中断] as KERN
|
||
}
|
||
|
||
package "电源管理层" as PWR #FFFDE7 {
|
||
[Active] as ACT
|
||
[Idle] as IDL
|
||
[Sleep] as SLP
|
||
[DeepSleep] as DSP
|
||
ACT -right-> IDL
|
||
IDL -right-> SLP
|
||
SLP -right-> DSP
|
||
}
|
||
|
||
APP -down-> IMG
|
||
APP -down-> BLE
|
||
IMG -down-> DRV
|
||
BLE -down-> DRV
|
||
DRV -down-> RTOS
|
||
RTOS -right-> PWR
|
||
@enduml
|
||
```
|
||
|
||
任务调度模型:
|
||
|
||
| 任务 | 优先级 | 周期 | 说明 |
|
||
|------|-------|------|------|
|
||
| 图像采集任务 | 最高 | 100Hz | 摄像头图像采集与点阵码解码 |
|
||
| 坐标计算任务 | 高 | 100Hz | 图像→坐标变换、压感数据融合 |
|
||
| BLE发送任务 | 高 | 触发式 | 笔迹坐标数据BLE Notify发送 |
|
||
| 电源监测任务 | 中 | 1Hz | 电池电压ADC采样、电量百分比计算 |
|
||
| LED控制任务 | 低 | 事件式 | 状态指示灯控制(连接/电量/充电) |
|
||
| OTA任务 | 低 | 触发式 | 固件升级包接收与Flash写入 |
|
||
|
||
**数据设计:**
|
||
|
||
| 数据结构 | 存储位置 | 说明 |
|
||
|---------|---------|------|
|
||
| 坐标数据帧 | RAM(环形缓冲区) | `{x:uint16, y:uint16, pressure:uint8, timestamp:uint32}` 每帧7字节 |
|
||
| 离线缓存区 | 外部Flash(SPI NOR) | 断开连接时笔迹数据FIFO缓存(容量4MB,约10万个坐标点) |
|
||
| 配对信息 | 内部Flash(NVS) | 已绑定设备的MAC地址和LTK密钥(最多4个设备) |
|
||
| 设备配置 | 内部Flash(NVS) | 设备名称、序列号、出厂校准参数 |
|
||
| 固件分区 | 内部Flash | Bootloader(16KB)+ App A(256KB)+ App B(256KB)+ NVS(8KB) |
|
||
|
||
**接口设计:**
|
||
|
||
| 接口 | 方向 | 协议 | 说明 |
|
||
|------|------|------|------|
|
||
| 笔迹数据 | 笔→网关/终端 | BLE GATT Notify | 自定义Characteristic,MTU=247,每包最多34个坐标点 |
|
||
| 设备信息 | 终端→笔 | BLE GATT Read | 电量、固件版本、序列号、在线状态 |
|
||
| 配对连接 | 终端→笔 | BLE SMP | Secure Connection配对流程 |
|
||
| 离线数据同步 | 笔→终端 | BLE GATT Indicate | 连接后自动上传离线缓存数据(需ACK确认) |
|
||
| OTA升级 | 终端→笔 | BLE DFU | 固件包分包传输→校验→写入Flash B分区→重启切换 |
|
||
| 配置写入 | 终端→笔 | BLE GATT Write | 设备命名、校准参数、功耗模式设置 |
|
||
|
||
**安全设计:**
|
||
- BLE安全:LE Secure Connections(ECDH密钥交换),加密通信
|
||
- 固件保护:Flash读保护启用(防止固件被非法读取/逆向)
|
||
- OTA安全:升级包CRC32校验 + RSA签名验证,失败则保留旧版本
|
||
- 数据完整性:离线缓存数据每页写入CRC校验,读取时验证
|
||
- 看门狗:硬件看门狗定时器防止固件死机(超时自动复位)
|
||
|
||
---
|
||
|
||
## 四、登记申请材料准备
|
||
|
||
### 4.1 每项著作权需准备的材料
|
||
|
||
| 序号 | 材料 | 说明 |
|
||
|------|------|------|
|
||
| 1 | 软件著作权登记申请表 | 在中国版权保护中心网站在线填写 |
|
||
| 2 | 软件鉴别材料 — 源程序 | 前后各连续 30 页(不足 60 页全部提交),共约 3000 行 |
|
||
| 3 | 软件鉴别材料 — 文档 | 设计说明书或用户手册(前后各连续 30 页) |
|
||
| 4 | 申请人身份证明 | 营业执照副本复印件(加盖公章) |
|
||
| 5 | 委托书 | 如委托代理机构办理 |
|
||
|
||
### 4.2 源程序文档要求
|
||
|
||
| 要求 | 说明 |
|
||
|------|------|
|
||
| **格式** | A4 纸打印,单面,每页不少于 50 行 |
|
||
| **内容** | 源程序前 30 页 + 后 30 页(去除空行和注释后有效代码) |
|
||
| **页眉** | 标注软件全称和版本号 |
|
||
| **页脚** | 标注页码 |
|
||
| **字体** | 宋体或等宽字体,字号不小于五号 |
|
||
|
||
---
|
||
|
||
## 五、登记费用与时间
|
||
|
||
### 5.1 费用估算
|
||
|
||
| 项目 | 单价(元) | 数量 | 小计(元) | 备注 |
|
||
|------|-----------|:----:|-----------|------|
|
||
| 官方登记费 | 0 | 13 | 0 | 2017年起免征登记费 |
|
||
| 代理服务费(普通) | 500-800 | 13 | 6,500-10,400 | 审查周期约 30-40 个工作日 |
|
||
| 代理服务费(加急) | 1,500-3,000 | — | — | 可缩短至 1-5 个工作日 |
|
||
|
||
**自主申请 vs 委托代理:**
|
||
|
||
| 方式 | 13 项总费用 | 优缺点 |
|
||
|------|-----------|-------|
|
||
| **自主申请** | **0 元**(免官费) | 需自行准备材料、在线填报、邮寄/现场提交;耗时较多但零成本 |
|
||
| **委托代理(普通)** | **6,500-10,400 元** | 代理全程办理,省时省力,30-40 个工作日取证 |
|
||
| **委托代理(加急)** | **19,500-39,000 元** | 1-5 个工作日加急出证,适合融资/投标急需 |
|
||
|
||
### 5.2 时间规划
|
||
|
||
| 阶段 | 事项 | 时间 |
|
||
|------|------|------|
|
||
| **准备期** | 整理12项软件的源程序和文档材料 | 2-4 周 |
|
||
| **提交期** | 分批提交登记申请(建议每批 3-4 项) | 1-2 周 |
|
||
| **审查期** | 中国版权保护中心审查 | 30-40 个工作日(普通) |
|
||
| **取证期** | 领取软件著作权登记证书 | 审查通过后 5-10 个工作日 |
|
||
| **预计全部完成** | 13 项全部取证 | 提交后约 2-3 个月 |
|
||
|
||
---
|
||
|
||
## 六、登记优先级建议
|
||
|
||
根据产品上市节奏和商业需要,建议分三批次提交:
|
||
|
||
### 第一批(优先,核心产品)
|
||
|
||
| 序号 | 软件 | 理由 |
|
||
|:----:|------|------|
|
||
| 1 | 自然写互动课堂教学管理云平台软件 | 系统核心,所有终端依赖 |
|
||
| 2 | 自然写手写识别与AI分析引擎软件 | 核心技术壁垒,优先保护 |
|
||
| 5 | 自然写教室智能算力盒边缘计算软件 | 端侧AI核心能力,技术差异化壁垒 |
|
||
| 11 | 自然写互动课堂应用开发SDK软件 | 对外输出能力,商务合作需要 |
|
||
| 12 | 自然写智能点阵笔嵌入式固件软件 | 硬件配套必备 |
|
||
|
||
### 第二批(紧跟,主要终端)
|
||
|
||
| 序号 | 软件 | 理由 |
|
||
|:----:|------|------|
|
||
| 4 | 自然写教室智能网关管理软件 | 教室部署核心组件 |
|
||
| 9 | 自然写互动课堂智慧黑板端应用软件 | 学校采购主要交付物 |
|
||
| 8 | 自然写互动课堂PC端应用软件 | 教师日常使用频率最高 |
|
||
|
||
### 第三批(补全,完善矩阵)
|
||
|
||
| 序号 | 软件 | 理由 |
|
||
|:----:|------|------|
|
||
| 6 | 手机端应用 | 家校互动场景 |
|
||
| 7 | 电视端应用 | 家庭学习场景 |
|
||
| 10 | 平板端应用 | 学生端补充 |
|
||
| 3 | 学情诊断系统 | 数据增值服务 |
|
||
| 13 | 资源管理平台 | 内容运营支撑 |
|
||
|
||
---
|
||
|
||
## 七、著作权与商标的协同保护
|
||
|
||
| 保护类型 | 覆盖范围 | 保护对象 |
|
||
|---------|---------|---------|
|
||
| **商标权**(已规划) | "自然写" / "Writech" / 图形商标 | 品牌名称与标识 |
|
||
| **软件著作权**(本文) | 13 项软件系统 | 软件源代码与文档 |
|
||
| **专利权**(建议后续) | 手写识别算法、笔迹分析方法等 | 技术方案与算法 |
|
||
|
||
> 三者形成**品牌 + 代码 + 技术**的立体知识产权保护体系。
|
||
|
||
---
|
||
|
||
**编制人**:(待填写)
|
||
|
||
**审核人**:(待填写)
|
||
|
||
**日期**:2026 年 2 月 14 日
|