Tristanas / PSI2-Food-Bee-Inc

A repository for Software Engineering teamwork.
0 stars 1 forks source link

Laiko valdymo komponentas #13

Open Tristanas opened 5 years ago

Tristanas commented 5 years ago

Mūsu projektiniame darbe niekur nenurodyta, kaip tiksliai bus gaunamas laikas iš sistemos. O tai yra būtina realiu laiku veikiančiai sistemai. Laiko gavimas reikalingas:

  1. Client->server->client Tai būtų fone veikiantis programos funkcionalumas, kuris kreipiasi į serverį kas porą minučių reikalaudamas atnaujinimų, pavyzdžiui, ar jau nauja diena, ar yra naujų pranešimų.
  2. Server->client Serveris sektų, kada nauja diena prasideda savo laiku, ir kiekvienam klientui, minute po jo lokalaus vidurnakčio praneštų apie senstančius produktus. Klientai galėtų būti suskirstyti į laiko zonas ir serveris kiekvieną valandą tikrintų atitinkamą grupę ir jai siųstų pranešimus. Įsijungęs ar po vidurnakčio klientas patikrina, ar gautas naujas pranešimas.

Reikia priimti vieną iš šių dviejų sprendimų ar sugalvoti trečią, ketvirtą.

TMikna commented 5 years ago

Mano nuomone sprendimai ne visiškai geri.

  1. Sprendimas ne visai logiškas, nes tam kad kreiptis į serverį kas pora minučių reikia žinot kada praeina pora minučių. Jei client gali suprasti, kad praėjo pora min, jis taip pačiai gali suprasti ir kad diena praėjo. Užtektų susisinchronizuoti su serveriu tarkim kartą per dieną. Bet kuriuo atveju client turės veikti 24/7 kad skaičiuoti laiką.
  2. Sprendimas geresnis, tik nelabai įsivaizduoju, kaip server perduos duomenis client'ui. Mano supratimu (galbūt klystu) client turi 24/7 laukti connection. Naudojo baterija nepadėkos.

Galbūt reiktų pasidomėti kaip tokios problemos sprendžiamos. Galbūt OS gali kažkaip sužadinti programą tam tikru metu.