Skicka stor mängder data .net

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
SweLogan
Inlägg: 550
Blev medlem: 29 januari 2006, 23:36:15
Ort: Jönköping

Skicka stor mängder data .net

Inlägg av SweLogan »

Jag har ett problem där jag ska hämta data mellan två program där datan är på 300.000 poster.
Nu har jag ett "chat program" som skickar en XLM sträng mellan programen. Men det tar för långtid att skicka.
Så hur ska jag lösa detta?
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Skicka stor mängder data .net

Inlägg av Micke_s »

bos
Inlägg: 2308
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: Skicka stor mängder data .net

Inlägg av bos »

300000 poster av vad? 1 byte-strängar? 100MB?
Användarvisningsbild
xraid
Inlägg: 1129
Blev medlem: 20 mars 2009, 04:12:14
Ort: Stockholm

Re: Skicka stor mängder data .net

Inlägg av xraid »

mellan 2 program ? befinner sig programmen på samma fysiska burk ? ...

istället för en stor batch fil sänd post en och en ... vad för tidskrav existerar ...
SweLogan
Inlägg: 550
Blev medlem: 29 januari 2006, 23:36:15
Ort: Jönköping

Re: Skicka stor mängder data .net

Inlägg av SweLogan »

Nej det är ett server och ett client program.
Jag har gjort ett test med att köra utan XML struktur.
XML:
<id>1</id>
<namn>test</namn>
Tid: 25 sec

Mitt sätt nu.
<id></id>
<namn></namn>|1|test
10 sec
Användarvisningsbild
xraid
Inlägg: 1129
Blev medlem: 20 mars 2009, 04:12:14
Ort: Stockholm

Re: Skicka stor mängder data .net

Inlägg av xraid »

ja xml suger för det mesta . mer metadata än datat ... kolla in json som ett alternativ http://www.json.org/fatfree.html eller yaml http://www.yaml.org/
Användarvisningsbild
xraid
Inlägg: 1129
Blev medlem: 20 mars 2009, 04:12:14
Ort: Stockholm

Re: Skicka stor mängder data .net

Inlägg av xraid »

sen om du öppnar en port sänder en post stänger porten . bara för att öppnar en port sänder en post stänger porten osv . inte så ekonomiskt istället för en öppna port sänd en post . sänd en annan ... stäng port.

kanske använda en db istället ? med triggers . när ny post skapas så triggas trigger att pinga en mottagre som då läser posten ... men då har vi öppna stänga 2 portar istället per post ;-) ...

är väl som allt annat beroende på . gör det enklast möjliga som fungerar , inte mer ...
Användarvisningsbild
AndLi
Inlägg: 18120
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Skicka stor mängder data .net

Inlägg av AndLi »

posix sockets? Brukar vara rätt snabbt...
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Skicka stor mängder data .net

Inlägg av sodjan »

> Jag har ett problem där jag ska hämta data mellan två program där datan är på 300.000 poster.

Hur ofta ?

> Men det tar för långtid att skicka.

Varför är det för lång tid ? Och hur definierar du "för lång tid" ?
Vad är inte "för lång tid" ?

> Så hur ska jag lösa detta?

Problemet kanske är felformulerat ?
Du kanske inte ska skicka 300.000 poster mellan maskinerna alls ?
SweLogan
Inlägg: 550
Blev medlem: 29 januari 2006, 23:36:15
Ort: Jönköping

Re: Skicka stor mängder data .net

Inlägg av SweLogan »

>> Jag har ett problem där jag ska hämta data mellan två program där datan är på 300.000 poster.

>Hur ofta ?

Då jag begär att hämta 300.000 poster. Kan vara en gång i veckan till varje timma.

>> Men det tar för långtid att skicka.

>Varför är det för lång tid ? Och hur definierar du "för lång tid" ?
>Vad är inte "för lång tid" ?

Med XML ca 25 sek
Utan XML ca 10 sek
Så kort tid som möjligt. Eftersom det kan röra sig om ännu flera poster.
Vi tycker att det tar för lång tid.

>> Så hur ska jag lösa detta?

>Problemet kanske är felformulerat ?
>Du kanske inte ska skicka 300.000 poster mellan maskinerna alls ?

Hur tänkte du då?
bos
Inlägg: 2308
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: Skicka stor mängder data .net

Inlägg av bos »

>> befinner sig programmen på samma fysiska burk ? ...
> Nej det är ett server och ett client program.

Det där svarar ju inte på frågan.
perra_e
Inlägg: 983
Blev medlem: 13 februari 2009, 16:26:53
Ort: Jönköping

Re: Skicka stor mängder data .net

Inlägg av perra_e »

>> befinner sig programmen på samma fysiska burk ? ...
>> Nej det är ett server och ett client program

För mig är det klart att svaret är Nej.
I så fall skulle jag göra ett så komprimerat format som möjligt för att minimerar nättrafiken.
Du kan kanske skicka en zippad fil.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46827
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Skicka stor mängder data .net

Inlägg av TomasL »

Fortfarande:
Mängden data, dvs hur många byte?
Överföringsmedia? Ethernet? 1Mbit, 10Mbit, 100Mbit, 1000Mbit? Trådlöst? USB? Seriekabel?
Protokoll?

Du har inte gett någon information överhuvudtaget, det är som att fråga, varför går min bil så långsamt. dvs omöjligt att svara på utan mer och uttömmande information.
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Skicka stor mängder data .net

Inlägg av sodjan »

> Då jag begär att hämta 300.000 poster. Kan vara en gång i veckan till varje timma.

OK, du måste bestämma dig!
Lösnigen ser sannolikt ganska annorlunda ut i de två fallen.

> Med XML ca 25 sek
> Utan XML ca 10 sek

Jaha, och ? De tiderna är ju ganska OK om det bara ä
en gång per vecka. Det fungerar även för en gång per timme,
men det kanske börjar blir ett problem. Men kör utan XML då...

> Så kort tid som möjligt.

Så där kan du inte specificera ett krav. Säg aldrig "...som möjligt".
Anga vad ditt faktiska krav är.

> Eftersom det kan röra sig om ännu flera poster.

Dubbelt så många ? 10 eller 100 gånger så många ?

> Vi tycker att det tar för lång tid.

Varför ? Vad är en "lagom" tid ?

> > Problemet kanske är felformulerat ?
> > Du kanske inte ska skicka 300.000 poster mellan maskinerna alls ?
>
> Hur tänkte du då?

*Varför* ska posterna flyttas alls ?
Normalt så pekar en sådan där hantering på att man har tänkt lite fel.
Vad ska hända med posterna på "klienten" ?
Kan inte det lika gärna göras på "servern" ?
Och behöver det göras alls ? Det är sådana frågor
som jag alltid ställer när det kommer liknande "användarkrav".

> >> befinner sig programmen på samma fysiska burk ? ...
> >> Nej det är ett server och ett client program
>
> För mig är det klart att svaret är Nej.

Frågan är inte besvarad. Han har bara sagt att det är ett
klient och ett server program, inte om/att de ligger på olika
fysiska maskiner. Men det väl ganska sannolikt hur som helst.

Nåväl, det intressanta är vad man i grunden igentligen försöker
åstakomma. När man råkar in i sådana här problem, så finns det ofta
ett fel-tänkt i bakgrunden. T.ex att man försöker/vill dumpa ner stora
datamängder från en applikationsserver till en "PC" bara för att någon
amatör tror att de kan fixa allt i Excel/Access eller liknande, fast där
den riktiga lösningen är att fixa det på servern. Om det är så i just detta
fall vet vi ju inte riktigt, men det "känns" så...
Användarvisningsbild
xraid
Inlägg: 1129
Blev medlem: 20 mars 2009, 04:12:14
Ort: Stockholm

Re: Skicka stor mängder data .net

Inlägg av xraid »

säg om man hadde en mysql på applikationsserver sidan . då kunde man konfigurera en slav på klient sida nästan "nära i tid" speglad kopia hemma . var man där då gruvgräver i datat ... alla backups exempelvis sker från slav för att inte extra belasta master ... men din problemdomän kanske ser helt annorlunda ut ...
Skriv svar