HWSW App konferencia 2013 - Drungli, API-MÁGIA millió sornyi adat újrarendezése
- 2. MIRŐL FOG SZÓLNI AZ ELŐADÁS?
•
Hogyan működik a drungli.com?#
•
Adatok gyűjtése, stratégiák#
•
Ha marad időm… még mesélek
- 3. HOGYAN MŰKÖDIK A DRUNGLI.COM?
“kaland generátor spontán utazóknak, az utazástervezés igazán
felhasználóbarát módja”"
VAGYIS#
Repülőtársaságoktól adatokat gyűjtünk, feldolgozzuk
és különböző keresési megoldásokat, javaslatokat kínálunk a
felhasználóknak egy egyszerű felületen keresztül, szűrési
lehetőségekkel#
Cél: ezt minél gyorsabban és pontosabban (?)
- 4. HOGYAN MŰKÖDIK A DRUNGLI.COM?
I know when
A felhasználó csak a kiindulási várost és az időintervallumot
adja meg, tőlünk vár ajánlatot , hogy hova szeretne utazni"
•
legolcsóbb járatokat kapja "
•
különböző szűrési lehetőségekkel"
•
olcsó algoritmus
- 5. HOGYAN MŰKÖDIK A DRUNGLI.COM?
I know where
A felhasználó megadja a kiindulási és a célvárost, az
időintervallumot és azt, hogy mennyi időt
szeretne a célállomáson tölteni"
•
sok kombináció adódhat (pl. london all) "
•
sok a “kötetlen” paraméter"
•
drága algoritmus
- 6. ADATOK BEGYŰJTÉSE
JAVA környezetben írt kliens-szerver alkalmazás"
"
"
szerver feladata: begyűjtés ütemezése (feladatok " "
kiosztása), adatok mentése, validálása"
"
"
"
"
"
kliensek feladata: ők kommunikálnak a légitársaságokkal " "
és " gyéb külső partnerek szervereivel"
e
"
Egy kliens forgalma ~ 50-100 GB / nap körül mozog
- 7. ADATOK BEGYŰJTÉSE
Milyen adatokat gyűjtünk be a járatokról?#
•
Honnan indul? Hova megy?"
•
Mikor száll fel és le?"
•
Mennyibe kerül a jegy? (pénznem)"
•
Üzemeltető légitársaság"
Szükségünk van a lehetséges útvonalakra is
(összesen és légitársaságokra lebontva)
- 8. ADATOK BEGYŰJTÉSE
Milyen adatokat adunk hozzá?#
•
címkézés szűrésekhez (pl. regionális sajátosságok)"
•
városok összekapcsolása"
•
szabályszerűségek felismerése "
(pl. kedvezményes jegyek)"
""
•
egyéb meta adatok (pl. távolság , GPS koordináta)
- 10. ADATOK LEKÉRDEZÉSE
VAN API #
Előny: ritkán változik, kevesebb karbantartást igényel"
Hátrány: sokszor lassabb a lekérdezés sebessége,
limitált a lekérdezések száma, foglaláshoz kötött#
- 11. ADATOK LEKÉRDEZÉSE
NINCS API #
HTTP REQUEST-eken keresztül
eljutunk a járatokat tartalmazó eredményoldalra, melynek
feldolgozásával kinyerhetőek a megfelelő adatok"
•
Fontos az adatok folyamatos visszaellenőrzése"
•
Állandó karbantartást igényel
- 12. ADATOK BEGYŰJTÉSE
Van egy harmadik eset is:#
Adatokat vásárolunk harmadik féltől"
•
nincsenek kötegelt lekérési
lehetőségeink"
•
mire felépítenénk a keresési
gráfot a felhasználó megunná a várakozást"
•
nem tudjuk tényleg a legolcsóbb
járatokat megtalálni #
- 13. GYŰJTÉSI STRATÉGIA
Lekérdezések mennyisége#
•
Van olyan légitársaság ami közel
50 ezer útvonalra kínál járatokat"
•
Adatbázisunkban jelenleg 90 napra előre lehet keresni"
•
Ha naponta csak kétszer frissítenénk az adatbázist, akkor
ez közel 1 millió lekérdezést jelentene"
•
jelenleg átlagosan 500-600 ezer járat van
az adatbázisban
- 15. GYŰJTÉSI STRATÉGIA
Útvonalak súlyozása#
A kevésbé fontos útvonalakat ritkábban, a fontosabbakat
gyakrabban frissítjük."
Mitől függ egy útvonal súlya?#
•
Mennyien keresnek rá, illetve
hányszor jelenik meg az eredmények között"
•
Mennyi vásárlás történik egy adott útvonalra
- 16. GYŰJTÉSI STRATÉGIA
Árváltozások figyelése#
Tanuló algoritmus az árváltozási tendenciák
figyelésére járatonként, illetve útvonalanként egy-egy társaságon
belül. "
Bizonyos útvonalakon közlekedő járatok árai
sokkal ritkábban változnak"
A frissítés gyakorisága ennek megfelelően történik.#
- 17. MESÉLJ MÉG …
1. Hogyan adtok hozzá új légitársaságot?"
2. Mondj valamit a kereső algoritmusról!"
3. Alkalmazás felépítése?