• Nie Znaleziono Wyników

Do poprawnego działania programu wymagane jest posiadanie interpretera j˛ezyka Python w wersji 2.7.6 oraz biblioteki PyXB w wersji 1.2.4 (do przetwarzanie dokumentów XML z wykorzystaniem schematów). Instalacja programu polega na: i) rozpakowaniu archiwum zawieraj ˛acego program; ii) przej´sciu do katalogu

pyxb_source/PyXB-1.2.4; iii) wydaniu poleceniapython setup.py install. Po instalacji wymaganych modułów (python,openssh-server,sshfs) oraz wy-konaniu czynno´sci opisanych powy˙zej program jest gotowy do u˙zytku.

3.3. Opis działania programu 3.3.2. Obsługa programu

Plikiem wykonywalnym jest skrypt./archiver.py. Przyjmuje on nast˛epu-j ˛ace parametry:

-h– wy´swietla pomoc,

-a url– pobiera stron˛e i zapisuje do bazy w trybie u˙zytkownika,

-an url– pobiera stron˛e i zapisuje do bazy w trybie non interactive,

-s ´scie˙zka – pobiera dane z repozytorium znajduj ˛acego si˛e pod podan ˛a ´scie˙zk ˛a,

-sn ´scie˙zka – pobiera dane z repozytorium znajduj ˛acego si˛e pod podan ˛a ´scie˙zk ˛a w trybie non interactive,

-p– wy´swietla list˛e zarchiwizowanych stron,

-d pageName,timestamp – rozpakowuje wybran ˛a stron˛e do katalogu

./extracted_website.

Tryb u˙zytkownika daje mo˙zliwo´s´c zarz ˛adzania procesem dodawania poszcze-gólnych elementów archiwum oraz podejmowania decyzji o przebiegu archiwi-zacji. Tryb non interactive jest przeznaczony dla skryptów – domy´slnie nie nad-pisuje starszych wersji oraz synchronizuje wszystkie elementy – nie potrzebuje wi˛ec interakcji ze strony u˙zytkownika do poprawnego działania.

3.3.3. Konfiguracja programu do pracy w trybie automatycznym

Procedura automatyzacji procesu w zaproponowanym rozwi ˛azaniu opiera si˛e o konfiguracj˛e skryptu programucrontaboraz konfiguracji skryptów synchro-nizacji. St ˛ad poziom bezpiecze ´nstwa danej instancji programu do archiwizacji zale˙zy od umiej˛etno´sci i wiedzy osoby konfiguruj ˛acej sie´c oraz istniej ˛acych za-bezpiecze ´n. W wypadku rozproszenia procesu archiwizacji na wiele równowa˙z-nych w˛ezłów istnieje ryzyko przej˛ecia dost˛epu do całej sieci, je´sli atakuj ˛acy przej-mie kontrol˛e nad dowolnym z komputerów. Konfiguracja master-slave zapewnia wi˛eksze bezpiecze ´nstwo, gdy˙z mo˙zliwo´sci wpływania na prac˛e maszyny master po przej˛eciu dowolnej maszyny typu slave jest ograniczony.

W proponowanym rozwi ˛azaniu u˙zywa si˛e mechanizmów bezpiecze ´nstwa wbudowanych w system Linux, pozwalaj ˛acych przypisa´c danemu zadaniu u˙zyt-kowników z odpowiednimi uprawnieniami. Mo˙zna tak˙ze zabezpieczy´c proces synchronizacji za pomoc ˛a takich technologii, jak: ppp czy vpn. W wypadku sieci master-slave nic nie stoi na przeszkodzie aby zastosowa´c dodatkow ˛a war-stw˛e ochrony, gdy˙z jedynie komputery typu slave wymagaj ˛a dost˛epu do inter-netu. Synchronizacja maszyn master mo˙ze odbywa´c si˛e przez dowolny system wymiany plików, np. przez intranet czy null-modem.

3.3.4. Opis procedur wykonywanych przez program

Pobieranie strony

1. Tworzony jest katalog./tmp.

2. Do katalogu./tmpkopiowana jest strona (poleceniewget -mirror -nH -P pageName url).

3. Utworzone zostaje archiwum.tar, z głównym katalogiem zawieraj ˛acym na-zw˛e strony, w którym znajduje si˛e zawarto´s´c archiwum.

4. Obliczona zostaje warto´s´c skrótumd5.

5. Je˙zeli w bazie znajduje si˛e wpis o takim samymmd5dla danej strony, u˙zyt-kownik zostaje zapytany o wersj˛e, któr ˛a chciałby zachowa´c w bazie (zapewnia unikalno´s´c haszy).

6. Nast˛epuje zapis uaktualnionych informacji do bazy danych.

Synchronizacja repozytorium pomi˛edzy katalogami

1. Tworzony jest katalog./tmp.

2. Do katalogu./tmpkopiowany jest plikdatabase/database.xmlze wskaza-nego folderu.

3. Nast˛epuje iteracja po skopiowanej bazie danych:

a) Je˙zeli stwierdzono, ˙ze witryna była pobrana zdalnie i lokalnie, nast˛epuje iterujemy po wersjach:

i. Je˙zeli znaleziono wersje, dla których hasz jest taki sam, ka˙zemy u˙zytkownikowi wybra´c wersj˛e do zachowania.

ii. Je˙zeli znaleziono wersj˛e, która została pobrana zdalnie i nie ma jej lokalnie, pytamy si˛e u˙zytkownika, czy chce j ˛a doda´c.

b) Je˙zeli znaleziono witryn˛e, która jest lokalnie, a nie była pobrana zdalnie, pytamy si˛e u˙zytkownika, czy chce j ˛a doda´c:

c) Je˙zeli u˙zytkownik chce doda´c witryn˛e, mo˙ze to zrobi´c na dwa sposoby: i. Doda´c wszystkie zarchiwizowane wersje z lokalizacji zdalnej. ii. Odpyta´c u˙zytkownika o dodanie ka˙zdej wersji z osobna. 4. Zostaje zapisana uzupełniona baza danych.

Literatura

[1] K. Fitch. Web site archiving - an approach to recording every materially diffe-rent response produced by a website. The Ninth Australian World Wide Web

Conference, strony 5–9, Lipiec 2003. http://ausweb.scu.edu.au/aw03/ papers/fitch/[dost˛ep dnia 20 czerwca 2015].

[2] M. Montis, M. Giacchini, S. Fantinel, M. Bellato. New data archive system for SPES project based on EPICS RDB Archiver with PostgreSQL backend.

Proccedings of PCaPAC, strony 188–190, Karlsruhe, Germany, 2014.

[3] M. Bickley, Ch. Slominski. A MySQL-based data archiver: preliminary re-sults. Proceedings of ICALEPCS07, Pa´zdziernik 2007. http://www.osti. gov/scitech/servlets/purl/922267[dost˛ep dnia 20 czerwca 2015].

R

O Z D Z I A Ł

4

GENEROWANIE OFERT BIZNESOWYCH

W SYSTEMIE REKOMENDACYJNYM

H. Sienkiewicz

Coraz cz˛e´sciej małe i du˙ze przedsi˛ebiorstwa w swej działalno´sci biznesowej wykorzystuj ˛a komputerowe metody i narz˛edzia szeroko rozumianej analizy da-nych. W niniejszym rozdziale przedstawiono metody eksploracji, jakie mo˙zna wykorzysta´c w celu zwi˛ekszenia sprzeda˙zy czy rozszerzenia rynku.

4.1. Wprowadzenie

Pozyskanie nowych klientów nie jest jedynym ´srodkiem prowadz ˛acym do zwi˛ekszenia sprzeda˙zy. Ten sam efekt mo˙zna uzyska´c poprzez zainicjowanie no-wych transakcji w´sród stałych klientów. Istniej ˛a metody wspieraj ˛ace takie dzia-łania: up–sell, cross–sell czy deep–sell [1]. Pierwsza z nich polega na propono-waniu klientowi lepszego, dro˙zszego produktu. Zadaniem cross–sell jest genero-wanie ofert, które wi ˛a˙z ˛a si˛e z ju˙z nabytymi przez klienta produktami czy usłu-gami. Deep–sell ma na celu dotarcie do wi˛ekszej grupy pracowników z danej firmy, czyli rozreklamowanie si˛e w grupie potencjalnych klientów, z którymi prze-prowadzano ju˙z transakcje (np. poprzez polecenie firmy sprzeda˙zowej przez za-dowolonego klienta z działu X dla innych potencjalnych klientów z działu Y).

Analiza zebranych informacji o klientach i kupionych przez nich produktach pozwala znale´z´c zwi ˛azki mi˛edzy klientami i produktami, jak równie˙z mi˛edzy sa-mymi klientami czy sasa-mymi produktami. Przetwarzanie pozyskanych danych statystycznych, ich eksploracja czy dr ˛a˙zenie mo˙ze prowadzi´c do rozpoznania pewnych zale˙zno´sci i wzorców oraz do wysnuwania wniosków co do nowych i wydajniejszych strategii biznesowych. Jest to cz˛esto wspierane komputerowo przez narz˛edzia statystyczne oraz metody sztucznej inteligencji i mo˙ze słu˙zy´c: analizie wpływu zmian cen na ilo´s´c sprzeda˙zy; rozpoznawaniu zani˙zonych cen; ocenie rentowno´sci klientów oraz doborowi strategii dla klientów niedochodo-wych; opracowaniu propozycji zmian asortymentu (usuni˛ecie produktów nie-przynosz ˛acych zysków, zast ˛apienie wycofanych produktów); dostosowaniu ofert do potrzeb odbiorców.