Mustrite logidest tuvastamine

X-tee mustrite tuvastamiseks loodud andmekaeve töövoog tugineb X-tee keskserveri poolt logitavale andmestikule. Töövoo abil tuvastatud mustrid keskenduvad teenuste väljakutsetele ja on kirjeldatud jaotises "5. Töötlemise mustrid" (mustri kood KM).

Joonis 2.1 Andmekaeve töövoog.

Töövoo rakendamiseks peab teenuste tarbimise logi sisaldama vähemalt järgmist informatsiooni:

  • teenuse tarbimise kuupäev ja kellaaeg (viitab ainult teenuse väljakutse hetkele);
  • teenust tarbinud asutuse tunnus;
  • teenust tarbinud isiku tunnus;
  • teenust osutanud infosüsteemi tunnus;
  • tarbitud teenuse nimi.


1. Joonista andmevahetuse jaotus

Enne andmekaeve alustamist joonistame andmevahetuse jaotuse. Tegemist on skeemiga, mis näitab andmevahetuse sagedusjaotust mingi perioodi jooksul. Eesmärgiks on eristada inimese ja automatiseeritud süsteemide poolt juhitavaid protsesse. Üldiselt on inimese juhitud protsesside korral X-tee teenuste tarbimine reeglipärasem ja toimub tööajal. Automatiseeritud süsteemide korral on teenuste tarbimine pigem kaootilisem.

human distribution robot distribution

Lisaks on analüüsitud teenuste tarbimise jaotust kasutajate suhtes. Jaotusest selgus, et on väike hulk kasutajaid, kes on kõige suuremad teenuste tarbijad (automatiseeritud süsteemid). See järel on hulk kasutajaid, kes on tarbivad X-tee teenuseid suhteliselt tihti (ametnikud). Samas valdav osa X-tee kaustajatest tarbivad X-tee teenuseid väga vähesel määral (tavakodanikud).

teenuste tarbimise jaotus kasutajate suhtes


2. Eralda logi alamosa

Edasise töövoo kiirendamiseks eraldatakse logidest alamosa. Alamosa eraldamise sisendiks on ajavahemik ja tarbitud teenuste vahemik.

  • Ajavahemiku algus- ja lõppkuupäev määravad, millises vahemikus tarbitud teenuseid edasi analüüsitakse. Mustrikataloogi koostamisel on ajavahemiku pikkuseks üldiselt valitud kaks kuud ja enamus analüüsist on sooritatud 2015 aasta logikannete põhjal.
  • Tarbitud teenuste vahemikuga määratakse minimaalne ja maksimaalne teenuste tarbimise arv ühe kasutaja poolt, et see kasutaja oleks edasises analüüsis kaasatud. Eesmärgiks on keskenduda vastavalt vajadusele kas automatiseeritud süsteemidele, sagedastele inimkasutajatele või harva X-tee teenuseid tarbivatele kasutajatele.


3. Andmete täiendav filtreerimine ja diskreteerimine

Täiendavat filtreerimist kasutatakse, kui on vajadus keskenduda mingitele konkreetsetele logikirjetele. Näiteks mingi konkreetse infosüsteemi teenuste tarbimisele või mingi konkreetse ettevõtte poolt tarbitud teenustele. Selle kaudu võimaldatakse mõne huvipakkuva mustri täpsem uurimine.

Diskreteerimise eesmärk on vähendada analüüsitavate logikirjete hulka. Diskreteerimine sooritatakse kasutajate (mitte logikirjete) põhiselt. Tavaliselt on valitud 10% logi alamosas sisalduvast kasutajaskonnast.


4. Sessioniseerimine

Peale logi alamosa eraldamist, filtreerimist ja diskreteerimist on võimalik igale logikirjele omistada sessiooni identifikaator. X-tee mustrikataloogi kontekstis vaatleme sessiooni teenuste tarbimise kaudu. Ehk sessiooni moodustavad sama kasutaja poolt mingi kasutusvoo käigus tarbitavad teenused.

X-tee keskserveri logides puudub sessioonide kohta info. Sellest tulenevalt kasutame sessioonide tuvastamiseks heuristikat, mis tugineb kasutaja poolt tarbitud teenuste vahelise ajavahemiku pikkusele. Ajavahemiku pikkuste hindamiseks koostame järgneva histogrammi.


Histogrammi horisontaalteljel on toodud kahe järjestikuse teenuse tarbimise vaheline aeg. Vertikaaltelg näitab, mitmel juhul tuvastati vastav vahemik logidest.

Histogrammi järgi on näha, et kõige sagedasem kahe teenuse tarbimise vaheline aeg on kuni 1 sekund. Järgmine piik on ühe minuti juures, seejärel ühe tunni juures ja lõpuks ühe päeva juures. Viimased piigid viitavad ühtlasi sellele, et X-tee teenuste perioodiline kasutus on pigem levinud.

Histogrammi põhjal võtsime maksimaalseks teenuste tarbimise vahemikuks 1000 sekundit (16,6 minutit). See tähendab, et kui kaustaja ei tarbi 16,6 minutit ühtegi X-tee teenust, siis tema järgmine teenuse tarbimine loetakse uue sessiooni alguseks.


5. Sagepuntide leidmine

Sagepuntide leidmise eesmärk on tuvastada enimtarbitavate X-tee teenuste komplektid. Sagepuntide leidmisel vaatleme sessiooni jooksul tarbitud teenuseid ja ei pööra tähelepanu teenuste tarbimise järgnevusele. Sagepuntide leidmiseks kasutame Apriori algoritmi (vt https://en.wikipedia.org/wiki/Apriori_algorithm).

Peale sagepuntide leidmist on võimalik veelkord vähendada analüüsitavate andmete mahtu. Edasisest analüüsist eemaldatakse sessioonid, milledes olevaid teenuseid tarbitakse harva.


6. Protsessikaardi loomine ja analüüs

Protsessikaardi loomine ja analüüs on käesoleva töövoo viimane samm (erandiks on töövoo käitumine teenuste pesastatud väljakutsete otsimisel).

Protsessikaardil visualiseeritakse sagedasemad X-tee teenuste tarbimise järgnevused. Protsessikaardi koostamiseks on mitmeid erinevaid tööriistu (näiteks Disco https://fluxicon.com/disco/). Sobiva visualiseerimise tööriista saab luua ka ise.

protsessikaart


Protsessikaart koosneb tarbitavatest teenustest ning nende järgnevusest. Protsessikaardi visuaalsel vaatlusel on võimalik tuvastada teenuste kooskasutuse mustreid ja huvipakkuvaid teenuste tarbimise skeeme.


7. Teenuste pesastatud väljakutsete tuvastamine

Mustri "KM3: teenuse pesastatud väljakutse" tuvastamiseks kasutame alternatiivset lähenemist. Teenuste pesastatud väljakutsete tuvastamine sooritatakse peale sammu "3. Andmete täiendav filtreerimine ja diskreteerimine".

Teenuste pesastatud väljakutsete leidmine sooritatakse enne sessioniseerimise sammu, sest kirjete (kasutajapõhisteks) sessioonideks jaotamisel kaotame erinevate kasutajate poolt tarbitud teenuste järgnevused.

Teenuse pesastatud väljakutsete leidmiseks valitakse sellised teenused, mida kasutavad ainult paar üksikut kasutajat. Siinkohal teeme eelduse, et pesastatud väljakutsed sooritatakse alati sama püsikodeeritud kasutaja poolt. Kokku tuvastasime 113 sellist teenust. Iga sellise teenuse kohta joonistame teenuse tarbimise histogrammi. Järgnevalt on toodud ühe sellise teenuse näide.




Esimeses tulbas on toodud teenuse nimi, teises tulbas teenus teenuste tarbimise arv vaadeldavas ajavahemikus ja kolmandas tulbas teenust tarbivate osapoolte arv. Lisaks on toodud teenuse tarbimise histogramm. Histogrammilt on näha, et teenuse kasutus on pigem perioodiline ja toimub üldiselt tööajal. Seega võime eeldada, et antud teenuse tarbimine on osa mingist inimese poolt juhitavast protsessist.

Järgnevalt vaatleme antud teenuse tarbimisele eelnevaid teenuste tarbimisi (ilma sessiooni tunnuseta). Kui antud teenuse tarbimisele eelneb sageli mingi teise teenuse tarbimine, siis võimel eeldada, et antud teenuse korral on tegemist pesastatud väljakutsega.



Viimati muudetud: pühapäev, 16. oktoober 2016, 22.21