Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 12 ] 
AutorSpráva
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 23.03.2013 0:29

Ahojte,

Mam mensi problem pri volbe sposobu prenosu dat medzi aplikaciami. Moj problem:

Mam 5 samostatnych aplikacii ktore by mali pristupovat k perifernemu zariadeniu. Nakolko ku tomuto perifernemu zariadeniu moze pristupovat len jedna aplikacia v danom casovom okamihu, musim komunikaciu vyriesit pomocou samostatnej aplikacie ktora ku nemu bude pristupovat a RGB obraz,... bude distribuovat tym piatim aplikaciam (data bude multicastovat). Problem je ten, ze sa neviem rozhodnut aku technologiu pouzit na prenos dat. Ci surove TCP (tych 5 aplikacii je pisanych skoro kazda v inom jazyku C,Cpp,C# cize pri TCP by som nemusel riesit proprietarnost). Pre C# existuje daco ako Interface plugin ale to si nemyslim ze poriesim v Ccku ...

Otazka: Ako by ste prenasali relativne velke datove toky (video a zvuk) medzi medzi aplikaciami ?
V pripade dakych riadiacich dat by som toto neriesil ale pri realtime streamoch (video a zvuk) sa neviem rozhodnut.

Dakujem.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 23.03.2013 9:17

Ešte pred tým, než nad tým začnem rozmýšľať sa spýtam - Čo je to za zariadenie? Musí to ísť softwareovo? Nešlo by tam dať nejaký HW medziprvok, ktorý by požiadavky aplikácií hádzal do nejakej fronty a postupne ich púšťal k slovu?







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok Napísal autor témyOffline : 23.03.2013 13:25

je to kinect. problem je ten ze pred pouzitim ho treba inicializovat a jedna aplikacia zozerie celu USB zbernicu. Pustanie k slovu nie je dobre lebo ja potrebujem primst data stale na jednom HW. cize ta aplikacia v ulohe dakeho hubu bude asi nevyhnutna.Najidealnejsie by bolo ak by tych 5 aplikacii bola jedna aplikacia ale to je nerealne. Tum hubom som si isty potrebujem len technologiu na prenos takeho mnozstva dat.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 23.03.2013 13:57

Aha, takže tebe ide komunikácia nejak takto?
App1: Init Kinect, Send/Read data, Close connection
App2: Init Kinect, Send/Read data, Close connection
App3: Init Kinect, Send/Read data, Close connection
atď.

Púšťanie k slovu som myslel tak, že by si mal napríklad nejaký mikrokontrolér s FTDI, ktorý by si pripojil na USB a z aplikácií posielal požiadavky na Kinect. A ten by sa trebárs mohol starať aj o jeho inicializáciu pri prepnutí kontextu (v tomto prípade teda aplikácie)
Softwareové riešenie mi napadne zdieľaná pamäť, ale to nie je veľmi komfortné. Príp. sa môžeš z tých 5 aplikácií dorozumievať s nejakou šiestou cez sockety, ktorej by si ale hovoril len "v tomto súbore máš pripravené dáta, pošli ich a pošli mi odpoveď", alebo "tuto do tohoto súboru mi pošli dáta a povedz, keď tam budú"
Ak to budú realtime streamy, tak cez súbory by sa to dalo nejak poriešiť, ale tam by som už keď tak aspoň tie riadiace signály vtrepal do zdieľanej pamäte. Alebo niečoho rýchlejšieho ako sockety, len ma nič teraz nenapadá.

Prečo by ale nemohli byť v jednej aplikácií? Príp. môžeš každú upraviť tak, aby sa dalo ovládať všetko potrebné cez parametre v príkazovom riadku/termináli a v tej šiestej robiť niečo ako "spusti App1 -parametre" a ono to niečo urobí.

Neviem, či nepíšem bludy, neviem si poriadne predstaviť, čo s tým chceš robiť :D







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Skúsený užívateľ
Skúsený užívateľ
prenos dat medzi aplikaciami

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 23.03.2013 14:00

Ivan, možno by bolo fajn najskôr čo najkonkrétnejšie uviesť, na čo to potrebuješ, lebo ani mne to nejako nedáva logiku, čo by si s tým chcel potom robiť... Mám taký dojem, že riešením tvojho problému bude nejaká primitívna záležitosť...







_________________
C#, PHP, ...
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok Napísal autor témyOffline : 23.03.2013 15:24

To na co to poterbujem je nepodstatne. Staci len tolko, ze tych x aplikacii s datamy z kinectu daco robi (analyzuje ich - zvuk\obraz). HW riesenie pomocou prepinaca je nevhodne nakolko tych x aplikacii ma bezat na jednom stroji. Preprogramovat to do jednej aplikacie je prilis narocne (nerealne pri sucasnom stave). Softwarove zdielanie zariadenia je tiez nevhodne pretoze je pre mna neziaduje aby si daka aplikacia rezervovala zariadenie na daky cas len pre seba plus niektore aplikacie su citlive na dicontinuity (zvuk). Preto ten multicast. Niektore z aplikacii vyzaduju identicke data v danom casovom okamihu tak preco by si na to mali samostatne vyhradzovat cas (preto multicast). Zapisovanie do suboru je tazkopadne a pomale. Preco do procesu pri ktorom su prenasane velke datove toky zaradovat najpomalsie zariadenie pocitaca. Este si viem predstavit ze by to bolo zapisovane do Ramky a tieto data zdielane pre vsetkych x aplikacii, ale s tym nemam skusenosti. Ja som ako prve pri rieseni problemu zvazoval sockety ... no zaujma ma ci nie je daky vhodnejsi framework/API/kniznica. Vhodna pre C/Cpp/C#. Uplne super by bolo dake trensparentne riesenie pri ktorom by som sa nemusel riesit low level zalezitosti. Dakujem

PS: Aplikacie nie je mozne spustat a zapinat (teda je ale nie je to vhodne). Operacie ktore vykonavaju niesu jednorazove. Aplikacie si mozes predstavit ako servery ktore vyhodnocuju data.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 23.03.2013 15:50

Tak si sprav RAM disk a pracuj so súbormi. Bude to trochu pomalšie, než zapisovanie priamo do RAMky (pretože sa tam bude volať filesystem), ale bude to podstatne rýchlejšie aj od SSD disku.
No a urob si aplikáciu, ktorá bude všetky dáta z kinectu chŕliť do súboru/ov, ktoré budeš mať nejako vhodne štruktúrované. A z ostatných aplikácií si z nich budeš vyberať to, čo potrebuješ.
Toto ale bude pri veľkých dátach poriadna záťaž na RAMku a zase sa to oplatí len ak je tých dát naozaj veľa naraz - volať filesystem každú chvíľu s každou blbosťou je záťaž a bude treba nájsť kompromis medzi "realtime" a rozumným spracovaním.
Z toho čo som pochopil ti netreba posielať dáta priamo kinectu, však? V tom prípade by toto mohlo byť riešenie. Ak potrebuješ aj posielať dáta, tak sa to tam dá nejako zakomponovať.
Žiadny framework ale na toto iste nebude, štruktúrovať dáta si musíš sám a čítať zo súborov tiež. A samozrejme ich musíš aj priebežne kontrolovať a tie nepotrebné mazať.

Inak to nevidím, neviem aké zverstvo robíš, ale asi to robíš zle :P







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok Napísal autor témyOffline : 23.03.2013 16:07

Ano robim to zle, ale to je len dosledok toho, ze na probleme pracuje vela ludi a kazdy si tu svoju specificku aplikaciu programoval sam vo vlastnom jazyku (nepytaj sa preco sam tomu nechapem). Teraz ked to treba skombinovat tak musim riesit takyto stupidny problem.

No nic tie sockety vidim fakt ako najschodnejsiu cestu v pomere narocnost\vykon.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 23.03.2013 16:11

Ivan11114 píše:
No nic tie sockety vidim fakt ako najschodnejsiu cestu v pomere narocnost\vykon.

A čítal si, čo som písal?
Fakt chceš kopu dát pchať cez sockety a to na jedinom počitači? Teda neviem, koľko je tých dát a ako rýchlo ich chceš spracovávať, ale sockety mi veru neprídu ani rýchle, ani jednoduché (tiež to budeš musieť nejako manageovať)







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok Napísal autor témyOffline : 23.03.2013 16:17

jj toho som si vedomy no ked si predstavim vsetko chrlit do suborov a tam riesit XY veci naviac tak neviem ci vysledna aplikacia bude o tolko rychlejsia, ze to v konecnom dosledku bude stat za to.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 23.03.2013 16:24

So súbormi to môže byť rovnako zložité, ako so socketmi, ale už aj vtedy to bude rýchlejšie, lebo obídeš celý TCP/IP protokol a nahradíš ho rýchlym filesystemom, ktorý zapisuje do extrémne rýchlej RAMky.
Zjednodušiť by sa to dalo ešte tak, že cez sockety by si riešil riadiace signály, aké som popisoval vyššie, ale veĺké dáta by som tak určite neprenášal. To je úplne zbytočné. A ak majú súbory len čítať, vedia to robiť všetky naraz, takže nie je problém.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok Napísal autor témyOffline : 23.03.2013 16:33

pri komunikacii na loopback adresach data neprechadzaju celym protokolovym zasobnikom. Ok no este si to necham prejst hlavou ... Ale vdaka za rady ;) Ak ta napadne aj daco ine kludne napis.


Odpovedať na tému [ Príspevkov: 12 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Prenos dát medzi PC zabezpečí to Switch ?

v Externé zariadenia

14

458

19.07.2022 16:44

Tigerko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Slabý prenos medzi particiami

v Pevné disky a radiče

6

578

13.10.2010 19:51

Milanese Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. prenos záložiek medzi počítačmi

v Sieťové a internetové programy

1

746

11.12.2008 10:08

don jebot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos premennych medzi funkciami

v PHP, ASP

6

528

27.08.2012 4:26

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos dát

v Ovládače

0

303

15.04.2014 19:15

erik1998 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos dat

v Siete

0

597

30.12.2007 20:58

feldino Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos dát

v Ostatné operačné systémy

4

823

18.08.2015 14:35

kllr007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [RoR] Prenos objektu medzi controllermi

v Perl, Python, Ruby, CGI

2

537

09.11.2014 21:45

destik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. datameter prenos dat

v Benchmarky a diagnostické programy

2

4434

05.12.2007 22:49

drakonlife Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos suborov medzi notebookom a PC

v Siete

16

9935

21.05.2011 14:10

Melon2k Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Extémne pomalý prenos dát

v Pevné disky a radiče

2

455

15.05.2020 19:58

sean222 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Bluetooth a prenos dat

v Mobilné zariadenia

1

874

15.10.2007 18:36

dodo_mt Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos dat z HDD

v Pevné disky a radiče

4

589

19.09.2012 11:07

marianna161 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos dát zo starého PC

v Ostatné

5

546

09.04.2012 22:50

Semp Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos dát cez výmennú tabuľku

v Databázy

2

479

21.12.2015 16:08

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Prenos dát zo zavíreného PC

v Operačné systémy Microsoft

12

854

22.05.2011 22:13

EXIREXT Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra