Logo Zephyrnet

Abojuto laini iṣelọpọ akoko gidi Krones pẹlu Iṣẹ iṣakoso Amazon fun Apache Flink | Amazon Web Services

ọjọ:

Awọn ade pese awọn ile ọti, awọn igo ohun mimu, ati awọn olupilẹṣẹ ounjẹ ni gbogbo agbaye pẹlu awọn ẹrọ kọọkan ati awọn laini iṣelọpọ pipe. Lojoojumọ, awọn miliọnu awọn igo gilasi, awọn agolo, ati awọn apoti PET nṣiṣẹ nipasẹ laini Krones kan. Awọn laini iṣelọpọ jẹ awọn ọna ṣiṣe eka pẹlu ọpọlọpọ awọn aṣiṣe ti o ṣeeṣe ti o le da laini duro ati dinku ikore iṣelọpọ. Krones fẹ lati rii ikuna ni kutukutu bi o ti ṣee (nigbakugba paapaa ṣaaju ki o to ṣẹlẹ) ati sọ fun awọn oniṣẹ laini iṣelọpọ lati mu igbẹkẹle pọ si ati iṣelọpọ. Nitorinaa bawo ni a ṣe le rii ikuna kan? Krones n pese awọn ila wọn pẹlu awọn sensosi fun gbigba data, eyiti o le ṣe ayẹwo ni ilodi si awọn ofin. Krones, gẹgẹbi olupese laini, bakannaa oniṣẹ ẹrọ laini ni anfani lati ṣẹda awọn ofin ibojuwo fun awọn ẹrọ. Nitorinaa, awọn igo ohun mimu ati awọn oniṣẹ miiran le ṣalaye ala ti ara wọn ti aṣiṣe fun laini naa. Ni igba atijọ, Krones lo eto ti o da lori aaye data jara akoko kan. Awọn italaya akọkọ ni pe eto yii nira lati yokokoro ati pe awọn ibeere tun ṣe aṣoju ipo awọn ẹrọ lọwọlọwọ ṣugbọn kii ṣe awọn iyipada ipinlẹ.

Ifiweranṣẹ yii fihan bi Krones ṣe kọ ojutu ṣiṣanwọle lati ṣe atẹle awọn laini wọn, da lori Kinesis Amazon ati Iṣẹ iṣakoso Amazon fun Apache Flink. Awọn iṣẹ iṣakoso ni kikun dinku idiju ti awọn ohun elo ṣiṣanwọle pẹlu Apache Flink. Iṣẹ iṣakoso fun Apache Flink n ṣakoso awọn ohun elo Apache Flink ti o wa ni ipilẹ ti o pese ipo ohun elo ti o tọ, awọn metiriki, awọn akọọlẹ, ati diẹ sii, ati Kinesis n jẹ ki o ni idiyele-ni imunadoko ṣiṣe data ṣiṣanwọle ni eyikeyi iwọn. Ti o ba fẹ bẹrẹ pẹlu ohun elo Apache Flink tirẹ, ṣayẹwo naa Ibi ipamọ GitHub fun awọn ayẹwo lilo Java, Python, tabi SQL APIs ti Flink.

Akopọ ti ojutu

Abojuto ila Krones jẹ apakan ti Krones Shopfloor Itọsọna eto. O pese atilẹyin ni agbari, iṣaju, iṣakoso, ati iwe ti gbogbo awọn iṣẹ ṣiṣe ni ile-iṣẹ naa. O gba wọn laaye lati sọ fun oniṣẹ ẹrọ ti ẹrọ ba duro tabi awọn ohun elo ti o nilo, laibikita ibiti oniṣẹ wa ni laini. Awọn ofin ibojuwo ipo ti a fihan ti wa tẹlẹ ti a ṣe sinu ṣugbọn tun le jẹ asọye olumulo nipasẹ wiwo olumulo. Fun apẹẹrẹ, ti aaye data kan ti a ṣe abojuto rú ẹnu-ọna kan, ifọrọranṣẹ le wa tabi okunfa fun aṣẹ itọju lori laini.

Abojuto ipo ati eto igbelewọn ofin jẹ itumọ lori AWS, ni lilo awọn iṣẹ atupale AWS. Awọn wọnyi aworan atọka sapejuwe awọn faaji.

Aworan atọka fun Krones Production Line Abojuto

Fere gbogbo ohun elo ṣiṣanwọle data ni awọn ipele marun: orisun data, gbigbe ṣiṣanwọle, ibi ipamọ ṣiṣan, ṣiṣiṣẹ ṣiṣan, ati ọkan tabi diẹ sii awọn ibi. Ni awọn apakan atẹle, a jinlẹ jinlẹ sinu ipele kọọkan ati bii ojutu ibojuwo laini, ti a ṣe nipasẹ Krones, ṣiṣẹ ni awọn alaye.

Orisun data

A ṣe apejọ data naa nipasẹ iṣẹ ti n ṣiṣẹ lori ẹrọ eti kika ọpọlọpọ awọn ilana bii Siemens S7 tabi OPC/UA. Ti ṣe ilana data aise tẹlẹ lati ṣẹda igbekalẹ JSON ti iṣọkan, eyiti o jẹ ki o rọrun lati ṣe ilana nigbamii ni ẹrọ ofin. Apeere isanwo ti o yipada si JSON le dabi atẹle yii:

{
  "version": 1,
  "timestamp": 1234,
  "equipmentId": "84068f2f-3f39-4b9c-a995-d2a84d878689",
  "tag": "water_temperature",
  "value": 13.45,
  "quality": "Ok",
  "meta": {      
    "sequenceNumber": 123,
    "flags": ["Fst", "Lst", "Wmk", "Syn", "Ats"],
    "createdAt": 12345690,
    "sourceId": "filling_machine"
  }
}

Gbigbe ṣiṣan

AWS IoT Greengrass jẹ orisun ṣiṣi Intanẹẹti ti Awọn nkan (IoT) akoko asiko ipari ati iṣẹ awọsanma. Eyi n gba ọ laaye lati ṣiṣẹ lori data ni agbegbe ati ṣajọpọ ati ṣe àlẹmọ data ẹrọ. AWS IoT Greengrass pese awọn paati ti a ti kọ tẹlẹ ti o le gbe lọ si eti. Ojutu laini iṣelọpọ nlo paati oluṣakoso ṣiṣan, eyiti o le ṣe ilana data ati gbe lọ si awọn ibi AWS bii AWS IoT atupale, Iṣẹ Ifipamọ Simple Amazon (Amazon S3), ati Kinesis. Oluṣakoso ṣiṣan n ṣajọ ati awọn igbasilẹ akojọpọ, lẹhinna firanṣẹ si ṣiṣan data Kinesis kan.

Ibi ipamọ ṣiṣan

Iṣẹ ti ibi ipamọ ṣiṣan ni lati fi awọn ifiranṣẹ pamọ ni ọna ifarada aṣiṣe ati jẹ ki o wa fun agbara si ọkan tabi diẹ ẹ sii awọn ohun elo olumulo. Lati ṣaṣeyọri eyi lori AWS, awọn imọ-ẹrọ ti o wọpọ julọ jẹ Kinesis ati Ṣiṣanwọle iṣakoso Amazon fun Apache Kafka (Amazon MSK). Fun titoju data sensọ wa lati awọn laini iṣelọpọ, Krones yan Kinesis. Kinesis jẹ iṣẹ data ṣiṣanwọle laisi olupin ti o ṣiṣẹ ni iwọn eyikeyi pẹlu lairi kekere. Awọn shards laarin ṣiṣan data Kinesis jẹ ọkọọkan ti a ṣe idanimọ ti awọn igbasilẹ data, nibiti ṣiṣan kan ti jẹ ọkan tabi diẹ sii awọn shards. Shard kọọkan ni 2 MB/s ti agbara kika ati 1 MB/s agbara kikọ (pẹlu awọn igbasilẹ 1,000 ti o pọju). Lati yago fun lilu awọn opin wọnyẹn, data yẹ ki o pin laarin awọn shards bi boṣeyẹ bi o ti ṣee. Gbogbo igbasilẹ ti a firanṣẹ si Kinesis ni bọtini ipin kan, eyiti o lo lati ṣe akojọpọ data sinu shard kan. Nitorinaa, o fẹ lati ni nọmba nla ti awọn bọtini ipin lati pin kaakiri fifuye ni deede. Oluṣakoso ṣiṣan ti n ṣiṣẹ lori AWS IoT Greengrass ṣe atilẹyin awọn iṣẹ iyansilẹ ipin ipin laileto, eyiti o tumọ si pe gbogbo awọn igbasilẹ pari ni shard laileto ati pe ẹru naa pin kaakiri. Aila-nfani ti awọn iṣẹ iyansilẹ ipin ipin laileto ni pe awọn igbasilẹ ko wa ni ipamọ ni ibere ni Kinesis. A ṣe alaye bi o ṣe le yanju eyi ni apakan atẹle, nibiti a ti sọrọ nipa awọn ami omi.

Awọn ami omi

A agbegbe omi jẹ ẹrọ ti a lo lati tọpa ati wiwọn ilọsiwaju ti akoko iṣẹlẹ ni ṣiṣan data kan. Akoko iṣẹlẹ jẹ aami akoko lati igba ti iṣẹlẹ ti ṣẹda ni orisun. Aami omi tọkasi ilọsiwaju akoko ti ohun elo ṣiṣan ṣiṣan, nitorinaa gbogbo awọn iṣẹlẹ pẹlu ami-ami iṣaaju tabi dogba ni a gba bi ilana. Alaye yii ṣe pataki fun Flink lati ṣaju akoko iṣẹlẹ ati ṣe okunfa awọn iṣiro ti o yẹ, gẹgẹbi awọn igbelewọn window. Aisun ti a gba laaye laarin akoko iṣẹlẹ ati aami omi le jẹ tunto lati pinnu bi o ṣe pẹ to lati duro fun data pẹ ṣaaju ki o to gbero window kan ti o pari ati ilọsiwaju ami-omi.

Krones ni awọn ọna ṣiṣe ni ayika agbaye, ati pe o nilo lati mu awọn ti o de ti pẹ nitori awọn adanu asopọ tabi awọn ihamọ nẹtiwọọki miiran. Wọn bẹrẹ nipasẹ mimojuto awọn ti o ti pẹ ati ṣeto aiyipada Flink mimu pẹ si iye ti o pọju ti wọn rii ni metiriki yii. Wọn ti ni iriri awọn ọran pẹlu mimuuṣiṣẹpọ akoko lati awọn ẹrọ eti, eyiti o mu wọn lọ si ọna fafa diẹ sii ti isamisi omi. Wọn kọ aami omi agbaye fun gbogbo awọn olufiranṣẹ ati lo iye ti o kere julọ bi aami omi. Awọn aami akoko ti wa ni ipamọ ni HashMap fun gbogbo awọn iṣẹlẹ ti nwọle. Nigbati awọn ami omi ba njade lorekore, iye ti o kere julọ ti HashMap yii ni a lo. Lati yago fun stalling ti watermarks nipa sonu data, nwọn tunto ohun idleTimeOut paramita, eyi ti o foju pa awọn timestamps ti o wa ni agbalagba ju kan awọn ala. Eyi mu ki airi duro ṣugbọn o funni ni aitasera data to lagbara.

public class BucketWatermarkGenerator implements WatermarkGenerator<DataPointEvent> {
private HashMap <String, WatermarkAndTimestamp> lastTimestamps;
private Long idleTimeOut;
private long maxOutOfOrderness;
}

Sisẹ ṣiṣan

Lẹhin ti a ti gba data lati awọn sensọ ati ingested sinu Kinesis, o nilo lati ṣe ayẹwo nipasẹ ẹrọ ofin kan. Ofin kan ninu eto yii ṣe aṣoju ipo ti metiriki kan (bii iwọn otutu) tabi akojọpọ awọn metiriki. Lati tumọ metiriki kan, diẹ sii ju aaye data kan lo, eyiti o jẹ iṣiro ipinlẹ. Ni apakan yii, a jinlẹ jinlẹ si ipo bọtini ati ipo igbohunsafefe ni Apache Flink ati bii wọn ṣe lo lati kọ ẹrọ ofin Krones.

Ṣiṣan iṣakoso ati ilana ipo igbohunsafefe

Ni Apache Flink, ipinle tọka si agbara ti eto lati fipamọ ati ṣakoso alaye ni igbagbogbo kọja akoko ati awọn iṣẹ ṣiṣe, muu ṣiṣẹ ti data ṣiṣanwọle pẹlu atilẹyin fun awọn iṣiro ipinlẹ.

awọn igbohunsafefe ipinle Àpẹẹrẹ ngbanilaaye pinpin ipinlẹ kan si gbogbo awọn iṣẹlẹ ti o jọra ti oniṣẹ. Nitorina, gbogbo awọn oniṣẹ ni kanna ipinle ati data le ti wa ni ilọsiwaju lilo yi kanna ipinle. Awọn data kika-nikan le jẹ ingested nipasẹ lilo ṣiṣan iṣakoso kan. Ṣiṣan iṣakoso jẹ ṣiṣan data deede, ṣugbọn nigbagbogbo pẹlu iwọn data kekere pupọ. Apẹrẹ yii ngbanilaaye lati ṣe imudojuiwọn ipinlẹ ni agbara lori gbogbo awọn oniṣẹ, ṣiṣe olumulo lati yi ipo ati ihuwasi ohun elo naa pada laisi iwulo fun atunṣiṣẹ. Ni deede diẹ sii, pinpin ipinlẹ naa jẹ nipasẹ lilo ṣiṣan iṣakoso kan. Nipa fifi igbasilẹ titun kun sinu ṣiṣan iṣakoso, gbogbo awọn oniṣẹ gba imudojuiwọn yii ati pe wọn nlo ipo titun fun sisẹ awọn ifiranṣẹ titun.

Eyi ngbanilaaye awọn olumulo ti ohun elo Krones lati ji awọn ofin titun sinu ohun elo Flink laisi tun bẹrẹ. Eyi yago fun akoko isinmi ati funni ni iriri olumulo nla bi awọn ayipada ṣe ṣẹlẹ ni akoko gidi. Ofin kan bo oju iṣẹlẹ kan lati le rii iyapa ilana kan. Nigba miiran, data ẹrọ ko rọrun lati tumọ bi o ṣe le wo ni iwo akọkọ. Ti sensọ iwọn otutu ba nfi awọn iye giga ranṣẹ, eyi le tọka aṣiṣe, ṣugbọn tun jẹ ipa ti ilana itọju ti nlọ lọwọ. O ṣe pataki lati fi awọn metiriki sinu ọrọ-ọrọ ati ṣe àlẹmọ diẹ ninu awọn iye. Eyi jẹ aṣeyọri nipasẹ imọran ti a pe kikojọ.

Iṣakojọpọ awọn metiriki

Iṣakojọpọ data ati awọn metiriki n gba ọ laaye lati ṣalaye ibaramu ti data ti nwọle ati gbejade awọn abajade deede. Jẹ ki a rin nipasẹ apẹẹrẹ ni nọmba atẹle.

Iṣakojọpọ awọn metiriki

Ni Igbesẹ 1, a ṣalaye awọn ẹgbẹ ipo meji. Ẹgbẹ 1 n gba ipo ẹrọ ati iru ọja ti n lọ nipasẹ laini. Ẹgbẹ 2 nlo iye iwọn otutu ati awọn sensọ titẹ. Ẹgbẹ ipo le ni awọn ipinlẹ oriṣiriṣi da lori awọn iye ti o gba. Ni apẹẹrẹ yii, ẹgbẹ 1 gba data ti ẹrọ naa nṣiṣẹ, ati igo-lita kan ti yan bi ọja naa; eyi yoo fun ẹgbẹ yii ni ipinle ACTIVE. Ẹgbẹ 2 ni awọn metiriki fun iwọn otutu ati titẹ; Metiriki mejeeji wa loke awọn iloro wọn fun diẹ ẹ sii ju awọn iṣẹju 5 lọ. Eyi ni abajade ni ẹgbẹ 2 wa ni a WARNING ipinle. Eyi tumọ si awọn ijabọ ẹgbẹ 1 pe ohun gbogbo dara ati pe ẹgbẹ 2 ko ṣe. Ni Igbesẹ 2, awọn iwuwo ti wa ni afikun si awọn ẹgbẹ. Eyi nilo ni awọn ipo kan, nitori awọn ẹgbẹ le jabo alaye ti o fi ori gbarawọn. Ninu oju iṣẹlẹ yii, ẹgbẹ 1 ṣe ijabọ ACTIVE ati ẹgbẹ 2 iroyin WARNING, nitorina ko ṣe kedere si eto kini ipo ila naa jẹ. Lẹhin fifi awọn iwuwo kun, awọn ipinlẹ le wa ni ipo, bi o ṣe han ni igbesẹ 3. Nikẹhin, ipo ipo ti o ga julọ ni a yan bi eyi ti o bori, gẹgẹ bi o ti han ni Igbesẹ 4.

Lẹhin ti awọn ofin ti wa ni akojopo ati ik ẹrọ ipinle ti wa ni telẹ, awọn esi yoo wa ni ilọsiwaju siwaju sii. Iṣe ti a ṣe da lori iṣeto ofin; eyi le jẹ ifitonileti si oniṣẹ laini lati tun awọn ohun elo pada, ṣe itọju diẹ, tabi o kan imudojuiwọn wiwo lori dasibodu naa. Apakan ti eto naa, eyiti o ṣe iṣiro awọn metiriki ati awọn ofin ati ṣe awọn iṣe ti o da lori awọn abajade, ni tọka si bi a engine ofin.

Ti iwọn engine ofin

Nipa jijẹ ki awọn olumulo kọ awọn ofin tiwọn, ẹrọ iṣakoso le ni nọmba giga ti awọn ofin ti o nilo lati ṣe iṣiro, ati diẹ ninu awọn ofin le lo data sensọ kanna bi awọn ofin miiran. Flink jẹ eto ti o pin kaakiri ti o ni iwọn daradara ni petele. Lati kaakiri ṣiṣan data si awọn iṣẹ ṣiṣe pupọ, o le lo awọn keyBy() ọna. Eyi n gba ọ laaye lati pin ṣiṣan data kan ni ọna ọgbọn ati firanṣẹ awọn apakan ti data naa si awọn oluṣakoso iṣẹ ṣiṣe oriṣiriṣi. Eyi ni igbagbogbo nipasẹ yiyan bọtini lainidii ki o gba ẹru pinpin boṣeyẹ. Ni idi eyi, Krones fi kun a ruleId si aaye data ati lo bi bọtini. Bibẹẹkọ, awọn aaye data ti o nilo ni ilọsiwaju nipasẹ iṣẹ-ṣiṣe miiran. ṣiṣan data bọtini le ṣee lo kọja gbogbo awọn ofin gẹgẹ bi oniyipada deede.

Awọn ibi

Nigbati ofin ba yipada ipo rẹ, a fi alaye naa ranṣẹ si ṣiṣan Kinesis ati lẹhinna nipasẹ Amazon EventBridge si awọn onibara. Ọkan ninu awọn onibara ṣẹda ifitonileti kan lati iṣẹlẹ ti o ti gbejade si laini iṣelọpọ ati titaniji eniyan lati ṣiṣẹ. Lati le ṣe itupalẹ awọn iyipada ipinlẹ ofin, iṣẹ miiran kọ data naa si ẹya Amazon DynamoDB tabili fun wiwọle yara yara ati TTL kan wa ni aaye lati gbejade itan-igba pipẹ si Amazon S3 fun ijabọ siwaju sii.

ipari

Ninu ifiweranṣẹ yii, a fihan ọ bii Krones ṣe kọ eto ibojuwo laini iṣelọpọ akoko gidi lori AWS. Iṣẹ iṣakoso fun Apache Flink gba ẹgbẹ Krones laaye lati bẹrẹ ni iyara nipasẹ idojukọ lori idagbasoke ohun elo dipo awọn amayederun. Awọn agbara akoko gidi ti Flink mu Krone ṣiṣẹ lati dinku akoko idinku ẹrọ nipasẹ 10% ati mu iṣẹ ṣiṣe pọ si 5%.

Ti o ba fẹ kọ awọn ohun elo ṣiṣanwọle tirẹ, ṣayẹwo awọn apẹẹrẹ ti o wa lori awọn Ibi ipamọ GitHub. Ti o ba fẹ faagun ohun elo Flink rẹ pẹlu awọn asopọ aṣa, wo Ṣiṣe ki o rọrun lati Kọ Awọn asopọ pẹlu Apache Flink: Ṣafihan Async Sink. Async Sink wa ni ẹya Apache Flink 1.15.1 ati nigbamii.


Nipa awọn onkọwe

Florian Mair jẹ Olukọni Awọn Solusan Olukọni ati amoye ṣiṣanwọle data ni AWS. O jẹ onimọ-ẹrọ ti o ṣe iranlọwọ fun awọn alabara ni Yuroopu lati ṣaṣeyọri ati innovate nipasẹ lohun awọn italaya iṣowo nipa lilo awọn iṣẹ awọsanma AWS. Yato si ṣiṣẹ bi Onitumọ Awọn ojutu, Florian jẹ oke-nla ti o ni itara, o si ti gun diẹ ninu awọn oke-nla ti o ga julọ kọja Yuroopu.

Emil Dietl jẹ Asiwaju Tech Tech ni Krones ti o ṣe amọja ni imọ-ẹrọ data, pẹlu aaye bọtini ni Apache Flink ati awọn iṣẹ microservices. Iṣẹ rẹ nigbagbogbo jẹ pẹlu idagbasoke ati itọju sọfitiwia pataki-pataki. Ni ita igbesi aye alamọdaju rẹ, o mọriri riri lilo akoko didara pẹlu ẹbi rẹ.

Simon Peyer jẹ Onitumọ Awọn ojutu ni AWS ti o da ni Switzerland. O jẹ oluṣe ti o wulo ati pe o ni itara nipa sisopọ imọ-ẹrọ ati awọn eniyan ti nlo awọn iṣẹ awọsanma AWS. Idojukọ pataki fun u ni ṣiṣanwọle data ati awọn adaṣe. Yàtọ̀ sí iṣẹ́, Símónì ń gbádùn ìdílé rẹ̀, níta, àti rírìn lórí àwọn òkè ńlá.

iranran_img

Titun oye

iranran_img