智能养殖监控系统
// MongoDB文档结构示例
{
_id: ObjectId("..."),
lobster_id: "LC-2024-001",
species: "Procambarus clarkii",
timestamp: ISODate("2024-01-15T10:30:00Z"),
sensor_data: {
temperature: 22.5, // 水温
pH: 7.2, // pH值
oxygen_level: 6.8, // 溶氧量
ammonia: 0.02 // 氨氮含量
},
health_status: "HEALTHY",
ai_predictions: {
growth_rate: 0.15,
disease_risk: 0.03,
harvest_date: ISODate("2024-03-20")
}
}
行为分析场景
// 小龙虾行为模式分析
{
lobster_id: "LC-2024-001",
behavior_logs: [
{
time_window: "00:00-06:00",
activity_level: "LOW",
feeding_count: 2,
movement_pattern: {
avg_speed: 0.5,
preferred_zones: ["zone_a", "zone_c"]
}
}
],
ai_insights: {
abnormal_behavior_detected: false,
stress_indicator: 0.12,
social_interaction_score: 0.8
}
}
供应链追溯系统
// 全生命周期追溯
{
batch_id: "BATCH-2024-Q1",
farm_id: "FARM-001",
breeding_phase: {
start_date: ISODate("2024-01-01"),
duration_days: 90,
avg_weight: 45.2, // 克
mortality_rate: 0.05
},
processing: {
facility: "PROCESSING-001",
processing_date: ISODate("2024-03-30"),
quality_grade: "A",
size_category: "Large"
},
distribution: {
retailer: "SEAFOOD-MART-001",
delivery_date: ISODate("2024-04-02"),
temperature_log: [4.0, 4.2, 3.9, 4.1]
},
quality_assurance: {
lab_tests: ["重金属检测", "抗生素残留"],
certification: "有机认证",
ai_quality_score: 9.2
}
}
AI预测模型数据存储
// 机器学习模型训练数据
{
model_id: "growth_predictor_v3",
training_data: {
features: ["temperature", "feeding_freq", "population_density"],
target: "weight_gain_30days",
data_points: 250000,
mongo_view: "lobster_training_view"
},
model_metrics: {
accuracy: 0.89,
mae: 3.2,
last_trained: ISODate("2024-01-10")
},
predictions: [
{
lobster_id: "LC-2024-001",
predicted_weight: 68.5,
confidence: 0.92,
recommended_action: "增加投喂频率"
}
]
}
智能喂养优化
// 饲料管理文档
{
feeding_schedule_id: "FS-001",
lobster_group: ["LC-2024-001", "LC-2024-002", "LC-2024-003"],
ai_recommendation: {
feed_type: "高蛋白饲料",
amount_grams: 250,
frequency: "每天3次",
time_windows: ["08:00", "14:00", "20:00"]
},
actual_feeding: [
{
timestamp: ISODate("2024-01-15T08:00:00Z"),
amount: 240,
consumption_rate: 0.95,
waste_detected: 12
}
],
performance_metrics: {
feed_conversion_ratio: 1.8,
cost_per_kg: 15.2,
growth_efficiency: 0.85
}
}
聚合查询示例
// 1. 水质异常检测
db.sensor_data.aggregate([
{
$match: {
timestamp: {
$gte: ISODate("2024-01-15T00:00:00Z"),
$lt: ISODate("2024-01-16T00:00:00Z")
}
}
},
{
$group: {
_id: "$sensor_id",
avg_temperature: { $avg: "$sensor_data.temperature" },
max_ammonia: { $max: "$sensor_data.ammonia" },
anomaly_count: {
$sum: {
$cond: [
{ $gt: ["$sensor_data.ammonia", 0.05] },
1,
0
]
}
}
}
},
{ $match: { anomaly_count: { $gt: 0 } } }
])
// 2. 生长趋势分析
db.lobsters.aggregate([
{
$lookup: {
from: "growth_measurements",
localField: "lobster_id",
foreignField: "lobster_id",
as: "growth_history"
}
},
{
$project: {
lobster_id: 1,
current_weight: { $last: "$growth_history.weight" },
growth_rate: {
$divide: [
{ $subtract: [
{ $last: "$growth_history.weight" },
{ $first: "$growth_history.weight" }
]},
{ $divide: [
{ $subtract: [
{ $last: "$growth_history.measurement_date" },
{ $first: "$growth_history.measurement_date" }
]},
1000 * 60 * 60 * 24 // 转换为天数
]}
]
}
}
}
])
变更流实时监控
// 实时异常告警
const pipeline = [
{
$match: {
"operationType": "insert",
"fullDocument.sensor_data.ammonia": { $gt: 0.05 }
}
}
];
const changeStream = db.sensor_data.watch(pipeline);
changeStream.on('change', (change) => {
// 发送实时告警
sendAlert({
type: "水质异常",
sensor_id: change.fullDocument.sensor_id,
ammonia_level: change.fullDocument.sensor_data.ammonia,
timestamp: change.fullDocument.timestamp
});
});
地理空间查询
// 养殖池布局优化
{
farm_id: "FARM-001",
ponds: [
{
pond_id: "POND-01",
location: {
type: "Point",
coordinates: [120.15, 30.28]
},
dimensions: {
length: 50,
width: 20,
depth: 1.5
},
capacity: 5000,
current_population: 4500
}
],
ai_recommendations: {
optimal_pond_distribution: {
recommended_spacing: 10, // 米
sunlight_exposure: "optimized",
water_circulation_score: 0.92
}
}
}
性能优化建议
-
索引策略:

// 创建复合索引 db.sensor_data.createIndex({ "timestamp": -1, "sensor_id": 1, "location": 1 }) // TTL索引自动清理旧数据 db.sensor_data.createIndex( { "timestamp": 1 }, { expireAfterSeconds: 2592000 } // 30天后自动删除 ) -
分片策略:
// 按养殖场分片 sh.shardCollection("aquaculture.sensor_data", { "farm_id": 1 }) -
数据归档:
// 使用MongoDB Atlas Online Archive自动归档历史数据 { "archivingRule": { "criteria": { "timestamp": { $lt: "2023-12-01T00:00:00Z" } }, "archiveAfterDays": 180 } }
集成架构优势
- 灵活的数据模型:适应小龙虾养殖中多变的监测需求
- 实时分析:变更流支持即时异常检测和响应
- 水平扩展:分片支持大规模传感器数据存储
- AI友好:原生JSON格式便于机器学习训练数据准备
- 地理空间分析:优化养殖池布局和物流规划
这种集成模式特别适合:
- 精准水产养殖管理
- 食品安全追溯
- 环境可持续性监控
- 供应链优化
- 科研数据分析
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。