Phone Farm
Arsitektur pemanenan media sosial berbasis perangkat keras fisik (Hardware Phone Farm Swarm / b3-scrapper-social-process), cron 15 menit scraping trending topic di platform X, pemrosesan AI taksonomi, load balancing 20 unit Samsung S10, hingga Direct Dual Sink ke PostgreSQL, Elasticsearch, dan MinIO S3.
Phone Farm (Hardware Mobile Swarm)
Infrastruktur Phone Farm merupakan subsistem pemanenan data percakapan media sosial berbasis perangkat keras fisik (Hardware-in-the-Loop Crawler). Berbeda dengan pipeline indeks data biasa, Phone Farm adalah mesin infrastruktur penopang (underlying engine, seperti halnya AIOS) yang mengorkestrasi armada 20 unit ponsel pintar Samsung Galaxy S10 (10.10.10.23:5555 s/d 10.10.10.42:5555) melalui antarmuka Android Debug Bridge (ADB over TCP/IP).
Pipeline ini dipicu secara berkala setiap 15 menit melalui Cron Scheduler. Pada setiap siklusnya, modul B3 Scraper melakukan pemanenan awal terhadap trending topics dan kata kunci terpopuler di platform X (Twitter), mengirimkannya ke model AI untuk penyesuaian taksonomi (AI Taxonomy Adjustment), lalu mengerahkan armada ponsel fisik untuk memanen konten percakapan mendalam (deep multi-platform scraping) di berbagai aplikasi native (X, Instagram, TikTok, Facebook).
Pembaruan Arsitektur: Cron 15 Menit, AI Taxonomy & Direct Dual Sink
- Scraping X Trending (Cron 15m): B3 Scraper mengambil daftar trending topic dan kata kunci terhangat di platform X wilayah Indonesia setiap 15 menit.
- Pemrosesan AI Taksonomi: Hasil trending dianalisis oleh model AI untuk penyesuaian taksonomi (taxonomy adjustment), klasifikasi pilar strategis, dan penyaringan noise.
- Tanpa Antrean Kafka: Pipeline tidak lagi mengambil data dari
queue-pf-keyworddan tidak lagi memproduksi kequeue-pf-normalized. Seluruh data postingan langsung dinormalisasi dan di-upsert (Direct Dual Sink) ke PostgreSQL, Elasticsearchpostings, dan MinIO S3.
1. Spesifikasi Infrastruktur & Modul Pelaksana
| Komponen | Spesifikasi / Konfigurasi | Deskripsi |
|---|---|---|
| Worker Engine | b3-scrapper-social-process | Service Python yang mengontrol lifecycle tugas, scraping X trending, load balancer, dan ADB driver. |
| Trigger Mekanisme | Cron Scheduler (*/15 * * * *) | Pemicu eksekusi periodik setiap 15 menit untuk siklus pemanenan trending X dan penugasan swarm. |
| Trending Source | Platform X (Twitter Indonesia) | Sumber awal ekstraksi topik hangat, tagar, volume tweet, dan peringkat linimasa. |
| AI Taxonomy Engine | AI-Worker / NLP Taxonomy Classifier | Memproses kata kunci X trending untuk penyesuaian struktur pohon taksonomi dan penentuan pilar strategis. |
| Armada Fisik | 20x Samsung Galaxy S10 | Terhubung pada subnet lokal statis 10.10.10.23 s.d. 10.10.10.42 port 5555. |
| Database Master & Snapshot | PostgreSQL (social_trending_topics, social_trending_snapshots) | Menyimpan master topik aktif hasil klasifikasi AI dan rekaman time-series dinamika peringkat per 15 menit. |
| Data Sink Target | PostgreSQL & Elasticsearch (postings, post_author) | Penyimpanan langsung data postingan terstruktur (Direct Dual Sink). |
| Object Storage | MinIO S3 (social-evidence) | Menyimpan tangkapan layar (screenshot) framebuffer JPG dan dokumen JSON mentah. |
| Driver Automasi | UIAutomator2 + ADB Shell | Simulasi gesture sentuh, scrolling dinamis, dump hierarchy XML, dan OCR rendering. |
Arsitektur Load Balancer & Eksekusi Hardware Phone Farm
Fan-out kata kunci, verifikasi 3 lapis ADB, isolasi layar, dan pengalokasian 20 HP Samsung S10
B3 melakukan scraping trending topic/keyword di platform X setiap 15 menit, diproses oleh AI untuk penyesuaian taksonomi, lalu disimpan ke PostgreSQL.
1 kata kunci dipecah menjadi 5 sub-tugas paralel terisolasi dengan parameter platform spesifik untuk memanen percakapan lintas jejaring sosial.
Penyaringan ketat: ADB Discovery, Circuit Breaker (>5x gagal dieliminasi), cek APK (pm path), dan validasi akun login aktif (dumpsys account, TTL 60s).
Penunjuk _rr_index digeser setiap penugasan. 5 subtask platform disebar ke 5 unit HP fisik berbeda, mencegah penumpukan tugas dan overheating.
Pembersihan paksa sesi medsos lain (am force-stop) sebelum app target dibuka, redupkan layar fisik ke 0, dan kunci konkurensi (_is_busy = True).
Pengambilan teks & screenshot bukti frame-buffer, upload ke MinIO S3, lalu persistensi langsung ke tabel PostgreSQL dan indeks Elasticsearch postings tanpa melalui Kafka.
2. Diagram Alur Eksekusi End-to-End
Berikut alur lengkap dari siklus cron 15 menit, penyesuaian taksonomi oleh AI, hingga penyimpanan postingan:
Diagram Alur Eksekusi End-to-End Phone Farm
Siklus 15m: Cron X Trending → AI Taxonomy → PG Snapshots → Dispatch Balancer → UIAutomator2 Native → Direct Dual Sink
Cron job memicu eksekusi setiap 15 menit. Modul B3 Scraper menarik 50 topik dan tagar terhangat beserta volume tweet dan peringkat terkini dari platform X Indonesia.
Model AI memfilter derau hiburan/giveaway, mencocokkan kata kunci ke kamus taksonomi (L1–L5), menentukan pilar strategis nasional, dan mengembalikan topik teranotasi.
B3 melakukan upsert master topik ke tabel social_trending_topics dan merekam snapshot posisi peringkat time-series ke social_trending_snapshots.
FarmAgent memverifikasi 3 lapis kesiapan HP (ADB discovery, cek paket APK, sesi login aktif), alokasi Round-Robin 20 HP, dan pre-flight force-stop app lain + kecerahan 0.
Armada HP mengeksekusi pencarian aplikasi native secara fisik: scroll linimasa, ekstraksi teks postingan & komentar, metrik interaksi, dan capture bukti framebuffer JPG.
Unggah bukti screenshot ke MinIO S3 (social-evidence), direct insert ke tabel PostgreSQL (postings & post_author), dan direct index ke Elasticsearch postings tanpa melalui Kafka.
3. Rincian 7 Tahapan Eksekusi Komputasi
Tahap 1: Pemicu Cron 15 Menit & Scraping Trending di Platform X
Setiap 15 menit (*/15 * * * *), modul B3 Scraper menjalankan sub-rutin ekstraksi topik tren dari platform X (Twitter) geolokasi Indonesia (WOEID: 23424846):
- Target Data: 50 frasa tren / tagar teratas di linimasa X.
- Atribut yang Dikumpulkan:
- Kata kunci / Tagar (
topic). - Estimasi volume tweet (
tweet_volume). - Posisi peringkat saat snapshot diambil (
rank1 s.d. 50). - Label konteks bawaan platform (misal: Politics, Business, Trending).
- Kata kunci / Tagar (
Tahap 2: Pemrosesan AI untuk Penyesuaian Taksonomi (AI Taxonomy Adjustment)
Daftar trending topic mentah dari platform X tidak langsung disebarkan ke armada ponsel. Data tersebut dialirkan ke Model AI (NLP / LLM Taxonomy Classifier) untuk diproses:
- Penyaringan Noise & Disambiguasi:
- Model AI membedakan topik hiburan/K-Pop/giveaway dengan isu strategis nasional yang berdampak pada stabilitas publik.
- Penyesuaian Struktur Taksonomi (Taxonomy Adjustment):
- Model AI mencocokkan kata kunci ke kamus pohon taksonomi internal (
taxonomy_nodes). - Jika isu yang muncul merupakan terminologi baru (misal: istilah regulasi baru atau insiden mendadak), AI melakukan penyesuaian taksonomi dinamis: menentukan leaf node yang sesuai dan mengaitkannya ke salah satu dari Pilar Strategis Nasional (Politik, Keamanan & Kamtibmas, Ekonomi, Sosial, Hukum, Budaya, Geopolitik).
- Model AI mencocokkan kata kunci ke kamus pohon taksonomi internal (
- Skor Relevansi & Prioritas:
- Menghasilkan bobot prioritas pemanenan (priority weight) agar ponsel fisik memprioritaskan isu yang memiliki dampak risiko publik tertinggi.
Tahap 3: Penyimpanan Snapshot & Master Trending di PostgreSQL
Hasil yang telah disesuaikan oleh AI disimpan langsung ke database relasional PostgreSQL:
- Tabel
social_trending_topics: Memperbarui status topik aktif, pilar hasil klasifikasi AI, serta skor volume kumulatif. - Tabel
social_trending_snapshots: Menyimpan histori time-series pergeseran peringkat dan volume tweet setiap 15 menit untuk analisis tren lonjakan (velocity).
Tahap 4: Dispatcher Misi & 5-Way Fan-Out Manager
Kata kunci strategis aktif yang telah divalidasi oleh AI didistribusikan ke FanOutManager:
- Topik dipecah menjadi sub-tugas pemanenan mendalam untuk 4-5 platform: X (Twitter), Instagram, TikTok, Facebook, dan YouTube Shorts.
- Tugas diarahkan ke armada fisik melalui FarmAgent (Device Balancer).
Tahap 5: Verifikasi 3 Lapis Kesiapan Perangkat & Alokasi Round-Robin
Sebelum perintah dikirimkan ke perangkat fisik, balancer menjalankan filter bertingkat:
- Lapis 1 — Health Gate & Circuit Breaker: Memeriksa konektivitas ADB over TCP/IP (
adb get-state == 'device'). - Lapis 2 — Package Verification: Memeriksa ketersediaan aplikasi native resmi pada ponsel.
- Lapis 3 — Sesi Akun Aktif (TTL 60s): Memastikan akun pada aplikasi dalam kondisi login (
dumpsys account). - Alokasi Round-Robin: Mendistribusikan platform berbeda ke unit fisik ponsel yang berbeda menggunakan pointer internal.
Tahap 6: Pre-Flight Check, Isolasi Layar, & Mitigasi Termal
- Isolasi Layar (
am force-stop): Mematikan paksa aplikasi medsos lain sebelum meluncurkan aplikasi target guna mencegah tabrakan UI dan dialog pop-up. - Peredupan Layar Fisik (
screen_brightness 0): Mematikan lampu latar LCD/OLED agar ponsel tidak mengalami overheating (panas berlebih) di dalam rak server, sementara subsistem render Android tetap aktif. - Device Mutex Lock (
self._is_busy = True): Menjeda proses background pada HP selama interaksi scraping berlangsung.
Tahap 7: Eksekusi Scraping UIAutomator2 & Direct Dual Sink Persistence
- Pemanenan Konten: UIAutomator2 mengetikkan kata kunci pencarian, melakukan scrolling linimasa, mengekstrak hierarki teks postingan, nama akun (author), metrik interaksi (likes, comments, reposts), dan cap waktu.
- Capture Bukti Frame-Buffer: Mengambil tangkapan layar langsung dari frame-buffer perangkat dan mengunggahnya ke MinIO S3 (
social-evidence). - Direct Dual Sink (Tanpa Kafka):
- PostgreSQL: Melakukan
INSERT ... ON CONFLICT (id_post) DO UPDATEke tabelpostingsdanpost_author. - Elasticsearch: Melakukan indexing dokumen secara langsung ke indeks
postingsuntuk visualisasi instan di dashboard.
- PostgreSQL: Melakukan
4. Spesifikasi Payload Misi & Skema Penyimpanan
Payload hasil scraping platform X yang telah disesuaikan oleh AI ke dalam taksonomi:
{
"source_platform": "x_twitter",
"scraped_at": "2026-10-06T20:15:00Z",
"extracted_trend": {
"raw_topic": "#KenaikanPajakDaerah",
"rank": 2,
"tweet_volume": 84200,
"context_label": "Finance · Trending"
},
"ai_taxonomy_adjustment": {
"is_strategic_issue": true,
"pillar": "ekonomi",
"category": "Kebijakan Fiskal & Pajak",
"sub_category": "Pajak Daerah",
"taxonomy_node_id": "8f3b9c10-21a4-4e9b-a311-92fbb08d1204",
"relevance_score": 0.94,
"sentiment_indication": "Negatif",
"priority_level": "HIGH"
}
}5. Ringkasan Tanya Jawab Teknis Kunci (FAQ)
Q1: Mengapa ekstraksi awal trending topic difokuskan pada platform X (Twitter)?
Platform X merupakan saluran percakapan publik paling cepat merefleksikan isu yang sedang viral atau memanas di Indonesia (real-time pulse of public discourse). Dengan memanen tren X setiap 15 menit, sistem memperoleh kompas kata kunci teraktual untuk memandu pemanenan mendalam ke platform visual lainnya (Instagram, TikTok, Facebook).
Q2: Mengapa diperlukan proses AI untuk penyesuaian taksonomi pada topik trending?
Tagar dan kata kunci di media sosial sering kali berupa bahasa gaul, sarkasme, singkatan (acronyms), atau gabungan kata informal (misal:#KawalPutusanMK,TolakPajakNombok). Model AI menganalisis makna semantik dari frasa tersebut, menyaring topik hiburan yang tidak relevan, dan memetakannya secara presisi ke kategori serta pilar taksonomi resmi lembaga.
Q3: Mengapa tidak lagi menggunakan antrean Kafka
queue-pf-keyworddanqueue-pf-normalized?
Pemanenan berbasis cron 15 menit dengan database dispatcher menyederhanakan alur orkestrasi, mengurangi latensi serialisasi pesan antrean, dan memastikan bahwa hasil pemanenan postingan langsung tersedia secara instan (real-time direct sink) di PostgreSQL dan Elasticsearch tanpa antrean perantara.
Q4: Bagaimana cara mencegah tabrakan aplikasi saat 20 unit ponsel berganti target platform?
Fungsilaunch_app_robustmengeksekusiam force-stopuntuk mematikan paksa aplikasi sosial media lain pada ponsel sebelum membuka aplikasi target baru, disertai jeda waktu stabilisasi antarmuka 3.5 detik dan peredupan layar fisik (screen_brightness 0).
AIOS
Arsitektur layanan AIOS (ai-middleware), protokol SSE streaming multi-agent, integrasi data mart terdistribusi, pengamanan Zero-Write AST, serta panduan implementasi Backend Eksternal (BFF).
articles
Alur terdistribusi pengisian tabel PostgreSQL articles dan indeks Elasticsearch articles—mulai dari perayapan otonom B1 berbasis Google News, penyimpanan MinIO & auto-discovery target, pembersihan C1, deduplikasi vektor C2, hingga ekstraksi AI SPOK D1.