【HarmonyOS 5.0.0 或以上】WASM 在作业防作弊中的应用:输入轨迹分析 + 图形行为识别
第27篇:【HarmonyOS 5.0.0 或以上】构建 WASM 支持的离线学习系统:本地评分、本地反馈、本地错题本。作业在线提交系统中,防止学生“复制粘贴答案”“代写行为”“多人合作答题”已成为重要课题。每 1s 提交一次轨迹段给 WASM 分析。
·
🎯 一、目标
作业在线提交系统中,防止学生“复制粘贴答案”“代写行为”“多人合作答题”已成为重要课题。
本篇将结合 HarmonyOS 5.0.0 或以上平台,使用 WASM 实现:
- 书写/绘图轨迹数据分析(输入时间、笔划速度、手势曲率等)
- 图形行为识别模型(如判断是否为人工绘制 vs 图片复制)
- 异常行为检测(如切换应用、粘贴大段文本)
🧱 二、系统结构设计
[ 学生操作轨迹记录模块 ]
↓
[ WASM 行为特征提取模块 ]
↓
[ 行为识别/欺诈判断模块 ]
↓
[ 教师后台可视化 + 风险提示 ]
📦 三、采集数据项示例(前端记录)
| 数据项 | 示例值 |
|---|---|
| 起止时间 | 2025-05-20 10:01 → 10:04 |
| 书写速度序列 | [120, 110, 89, 80, 50] px/s |
| 笔划间隔 | [0.3s, 0.2s, 2.5s, 0.1s] |
| 手指轨迹坐标点序列 | [[x1, y1], [x2, y2], …] |
| 是否粘贴操作 | true / false |
🧰 四、C 模块实现:轨迹异常检测(简化)
// cheat_detect.c
#include <math.h>
int detect_cheat(float* speeds, int len, int* flags) {
for (int i = 0; i < len; i++) {
if (speeds[i] < 10.0 || speeds[i] > 1000.0) {
flags[i] = 1; // 异常速度
} else {
flags[i] = 0;
}
}
return 0;
}
编译为 .wasm:
emcc cheat_detect.c -Os -s WASM=1 -s SIDE_MODULE=1 -o cheat_detect.wasm
🔍 五、ArkTS 调用检测逻辑
async function analyzeSpeedAnomaly(speeds: number[]): Promise<number[]> {
const instance = await loadWasmInstance('cheat_detect.wasm')
const memory = instance.exports.memory as WebAssembly.Memory
const f32 = new Float32Array(memory.buffer)
const i32 = new Int32Array(memory.buffer)
const offsetSpeed = 1024
const offsetFlag = 2048
f32.set(speeds, offsetSpeed / 4)
const fn = instance.exports.detect_cheat as CallableFunction
fn(offsetSpeed, speeds.length, offsetFlag)
return Array.from(i32.slice(offsetFlag / 4, offsetFlag / 4 + speeds.length))
}
输出示例:
const result = await analyzeSpeedAnomaly([120, 105, 8, 3000])
console.info(result) // 输出:[0, 0, 1, 1] → 第3/4笔划异常
🧠 六、进阶特征分析建议
| 特征 | 判断意义 |
|---|---|
| 笔划总时长 < 阈值 | 可能直接贴图或截图上传 |
| 坐标重复率高 | 图形由复制模板拼接生成 |
| 高速突变频繁 | 非自然手写轨迹或作弊辅助工具 |
| 打开系统剪贴板记录 | 粘贴内容痕迹 |
📊 七、前端记录逻辑建议
touchEvents: Array<{
timestamp: number
x: number
y: number
}> = []
onTouchMove(e) {
const t = Date.now()
this.touchEvents.push({ timestamp: t, x: e.x, y: e.y })
}
每 1s 提交一次轨迹段给 WASM 分析。
🔐 八、可视化展示与教师干预
教师后台或讲评界面中可集成以下内容:
- ⚠️ 异常操作标红(如:粘贴、切换应用)
- 📈 轨迹图 + 笔划速度图(支持放大分析)
- 🧠 提示:“该作答存在 xx 异常行为,请关注”
🧩 九、结合评分系统联动建议
| 模块 | 联动行为 |
|---|---|
| WASM 评分引擎 | 若作答满分但轨迹异常,标记为“人工核查” |
| AI 解题模块 | 自动生成与学生答案对比,判断相似度 |
| 反馈卡模块 | 自动附加“作答行为风险评级” |
📌 十、小结与预告
本篇完成了:
- 使用 WASM 实现 HarmonyOS 作业行为分析能力
- 检测输入轨迹异常、笔划速度异常、粘贴操作等风险
- 联动教师端展示、评分系统过滤与讲评辅助
📘 下一篇将带来:
第27篇:【HarmonyOS 5.0.0 或以上】构建 WASM 支持的离线学习系统:本地评分、本地反馈、本地错题本
更多推荐
所有评论(0)