Тоолуурын өгөгдлийн гэрээ
Хувилбар 1 · 2026-10-14 · Төлөв: ашиглалтад (PGX-08) · Код: modules/
Түгээх компани (DSO) сүлжээний бүртгэл болон тоолуурын заалтаа PowerGrid hub руу
илгээх гэрээ (GS §18.2). Компани өөрийн HES/MDM-ээ хадгалж, өгөгдлөө энэ форматаар
илгээнэ. Формат нь IEC 61968-9 (CIM)-тэй зураглагдана: metering_point нь
UsagePoint, topology_node нь сүлжээний байгууламж.
01Илгээх
text1POST /api/v1/powergrid/batches Content-Type: application/json (≤ 32 MB)2GET /api/v1/powergrid/batches сүүлийн 100 багцын баримтНэвтрэлт нь Nexus-ийн байгууллагын session эсвэл service account. powergrid.
эрх шаардана. Компани зөвхөн өөрийн өгөгдлийг илгээж, харна.
02Бүтэц
json1{2 "contract": "powergrid.meter-data/v1",3 "batch_id": "UBEDN-2026-10-14-001",4 "created_at": "2026-10-14T01:00:00+08:00",5 "grid_areas": [{"code": "UB-E", "name": "Улаанбаатар зүүн"}],6 "topology_nodes": [7 {"code": "SS-12", "kind": "SUBSTATION", "name": "12-р дэд станц", "grid_area": "UB-E"},8 {"code": "F-12-3", "kind": "FEEDER", "name": "Ф-3", "grid_area": "UB-E", "parent": "SS-12"},9 {"code": "TP-881", "kind": "TRANSFORMER", "name": "ТП-881", "grid_area": "UB-E", "parent": "F-12-3"}10 ],11 "metering_points": [12 {"code": "TP-881-M", "kind": "TRANSFORMER", "grid_area": "UB-E", "topology_node": "TP-881"},13 {"code": "0101234567", "kind": "CUSTOMER", "grid_area": "UB-E", "topology_node": "TP-881", "local_zone": "Asia/Ulaanbaatar"}14 ],15 "readings": [16 {"metering_point": "0101234567", "channel": "A+", "tariff": 0, "kind": "REGISTER",17 "period_end": "2026-10-14T00:00:00+08:00", "value": 15234.512, "quality": "A", "source_record_id": "hes-77812"},18 {"metering_point": "0101234567", "channel": "A+", "tariff": 1, "kind": "REGISTER",19 "period_end": "2026-10-14T00:00:00+08:00", "value": 9120.004, "quality": "A"},20 {"metering_point": "TP-881-M", "channel": "A+", "kind": "INTERVAL",21 "period_start": "2026-10-13T23:45:00+08:00", "period_end": "2026-10-14T00:00:00+08:00", "value": 41.7, "quality": "E"}22 ]23}Бүх хэсэг сонголттой боловч багц хоосон байж болохгүй. Бүртгэлийг өөрчлөгдсөн үед илгээхэд хангалттай. Заалтыг өдөр бүр (D+1) илгээнэ.
| Талбар | Дүрэм |
|---|---|
batch_id | Компанийн дотор давтагдахгүй, ≤ 64 тэмдэгт |
| Цаг | RFC 3339, offset заавал (+08:00, +07:00 эсвэл Z). Offset-гүй цагийг татгалзана, учир нь Монгол хоёр цагийн бүстэй (GS §18.5) |
code | Компанийн өөрийн таних дугаар. Бүс ≤ 32, node ба цэг ≤ 64 тэмдэгт. Node-ийн код компанийн дотор давтагдахгүй |
topology_ | SUBSTATION, FEEDER, TRANSFORMER |
topology_ | Энэ node-ийг өнөөдөр тэжээж буй node. Өөр эцэг ирвэл хуучин холбоос одоо хаагдаж, шинэ холбоос нээгдэнэ. Түүх устахгүй |
metering_ | FEEDER, TRANSFORMER (тухайн node-ийн урсгалыг хэмжинэ, topology_node заавал), CUSTOMER |
local_zone | Asia/ (анхдагч) эсвэл Asia/Hovd (Баян-Өлгий, Говь-Алтай, Завхан, Увс, Ховд) |
channel | A+ идэвхтэй импорт, A- экспорт (kWh); R+, R- реактив (kvarh) |
tariff | 0 нийт регистр, 1–4 тарифын бүсийн регистр (өдөр, шөнө …) |
kind | REGISTER: period_end агшин дахь хуримтлагдсан индекс. INTERVAL: [period_ хугацааны энерги |
value | Тоо, |утга| < 10¹⁴. 6 аравтын орон хүртэл хадгалагдана |
quality | A бодит, E тооцоолсон, S орлуулсан, F эцсийн орлуулалт (AEMO, GS §3) |
| Хязгаар | Багцад ≤ 100,000 заалт, ≤ 20,000 бүртгэлийн мөр. Нэг багцад ижил түлхүүртэй (цэг, channel, tariff, kind, period_end) заалт давтагдахгүй |
03Хариу
| Код | Утга |
|---|---|
201 | Хүлээн авсан: {"receipt_ |
200 | Ижил batch_id-ийг ижил агуулгаар дахин илгээсэн. Анхны баримтыг duplicate: true-тэй буцаана, юу ч өөрчлөгдөхгүй. Сүлжээ тасарсан бол итгэлтэйгээр дахин илгээж болно |
409 | Ижил batch_id-ийг өөр агуулгаар илгээсэн. Өөрчлөлтийг шинэ batch_id-аар илгээнэ |
422 | Дүрэм зөрчсөн, эсвэл бүртгэлд байхгүй бүс/node/цэг заасан (эхний 20 кодыг нэрлэнэ) |
400, 413 | JSON биш, мэдэгдэхгүй талбартай, эсвэл 32 MB-аас их |
Багц бүхлээрээ хүлээн авагдана эсвэл бүхлээрээ татгалзагдана. Хагас нь орсон байдал гарахгүй.
04Засвар ба давхардал
- Ижил түлхүүртэй заалт ижил утга, ижил чанартай ирвэл юу ч өөрчлөгдөхгүй (
inserted-д тоологдохгүй). Иймээс давхцсан цонхыг дахин илгээж болно. - Өөр утга эсвэл чанартай ирвэл шинэ хувилбар болно (
version + 1). Хуучин хувилбар түүхэнд үлдэж,supersedes_id-ээр холбогдоно. Түүхий заалтыг дарж бичихгүй (GS §9). - Заалт хүлээн авах үеийн цэгийн бүс, node-ийг өөртөө хадгална. Иймээс дараа нь эзэмшил солигдсон ч түүх шилжихгүй (GS §17.6).
05Хэмжилт (2026-10-14, Postgres 16, laptop)
| Тохиолдол | Хугацаа |
|---|---|
| 100,000 заалт, шинэ (статистикгүй) хүснэгт | 1.9 сек |
| Давхцсан 100,000 заалт, 1 нь өөрчлөгдсөн, статистикгүй | 5.1 сек |
Анхны хувилбар нэг statement-д уншиж, бичдэг байсан тул шинэ хүснэгт дээр 4 минут болж байсан. Одоо харьцуулалтыг түр хүснэгтээр тусад нь хийдэг.
06Дараагийн хувилбар руу
Шинэ талбар нэмэх нь v1 дотор боломжгүй (мэдэгдэхгүй талбарыг татгалзана). Иймээс
өөрчлөлт бүр powergrid. болж, v1 тодорхой хугацаанд зэрэг ажиллана.
Үйл явдлууд (тасралт, хөндлөнгийн оролдлого) нь v2-ийн нэр дэвшигч.