SE516216C2 - Mjukvarurobot för informationshantering i ett datanät. - Google Patents

Mjukvarurobot för informationshantering i ett datanät.

Info

Publication number
SE516216C2
SE516216C2 SE9904775A SE9904775A SE516216C2 SE 516216 C2 SE516216 C2 SE 516216C2 SE 9904775 A SE9904775 A SE 9904775A SE 9904775 A SE9904775 A SE 9904775A SE 516216 C2 SE516216 C2 SE 516216C2
Authority
SE
Sweden
Prior art keywords
java
string
lang
vector
int
Prior art date
Application number
SE9904775A
Other languages
English (en)
Other versions
SE9904775D0 (sv
SE9904775L (sv
Inventor
Mikael Andersson
Original Assignee
Tentake Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tentake Ab filed Critical Tentake Ab
Priority to SE9904775A priority Critical patent/SE516216C2/sv
Publication of SE9904775D0 publication Critical patent/SE9904775D0/sv
Priority to EP00989130A priority patent/EP1244990A1/en
Priority to PCT/SE2000/002634 priority patent/WO2001048653A1/en
Priority to AU25674/01A priority patent/AU2567401A/en
Priority to US09/742,324 priority patent/US20020032767A1/en
Publication of SE9904775L publication Critical patent/SE9904775L/sv
Publication of SE516216C2 publication Critical patent/SE516216C2/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

uu.- u .q ou- . v.. »- u v.. »v - a »- --. v-v anv- v v 10 15 20 25 30 516 216 2 senare klassificering. Roboten registrerar även annonsernas exponeringsfrekvens. 0 En administrativ del för klassificering av annonser samt för att komplettera systemet med annan information, primärt besöksstatistik samt annonspriser. 0 En onlinedel där systemets användare kan ta del av aktuell statistik.
Kortfattat ger uppfinningen uppgifter om vilka annonser som visas var och med vilken frekvens. När dessa uppgifter kombineras med besöksstatistik (antal besök per webbplats) och priset per exponering ges en bild av bàde annonsexponeringar och investeringar.
Roboten En del av uppfinningen är en så kallad robot - ett program som körs utan inblandning av någon användare - som letar efter förmodade annonser pà en uppsättning webbplatser. Roboten startar varje timme, dygnet runt, ett surfpass där den letar efter annonser.
Roboten konfigureras för att surfa till en uppsättning adresser och letar sedan, baserat pà en uppsättning regler om vad som kännetecknar en annons, efter allt som kan tänkas vara exempelvis bannerannonser. Detta är en komplex algoritm som idag omfattar analys av varje webbsida för att hitta alla delar av sidan som kan vara annonser. Varje förmodad annons analyseras av roboten med avseende pà storlek, placering och information om den länk som är kopplad till annonsen.
Samtliga hittade annonser ges en unik identitet med hjälp av en checksumma som räknas fram av programmet och som lagras i en databas. Detta gör att roboten känner igen annonser som redan är kända av systemet. Nya, och därmed okända annonser, lagras för klassificering. :nav un. u.. .vrf :nun -. :pr | 10 15 20 25 30 516 216 3 Roboten kan också förses med stöd för cookies, dvs göra det möjligt att mäta frekvens pà annonser som visas ett visst antal gånger per unik besökare.
Förvisso kan en robot konfigureras att istället för annonsering, känna igen annan aktivitet pà en webbplats, sàsom exempelvis aktiviteter pà diskussionsforum såsom chatsidor.
Klassificering Systemets administratörer kan när som helst gà in och se hur många nya annonser som roboten har hittat. Dessa klassificeras sedan på produkt, produktannonsör och produktgrupp, om det inte visar sig att det roboten hittat varit något annat än en annons.
I det administrativa gränssnittet kan administratörerna också lägga till och ta bort adresser som roboten skall gå till samt importera andra uppgifter till systemet. De viktigaste rör besöksstatistik och annonspriser.
Onlinedelen I onlinedelen presenteras diagram och statistik om annonseringens utveckling pà de olika webbplatser som roboten löpande undersöker. Exempel pà statistik är vilka banners som är vanligast, vilka annonsörer som spenderar mest pengar samt hur fördelningen ser ut mellan olika branscher.
KORTFATTAD FIGURBESKRIVNING Figur la-c visar en databasstruktur enligt uppfinningen Figur 2 visar ett schematiskt diagram av ett förfarande enligt uppfinningen.
Figur 3 visar ett klassdiagram enligt uppfinningen. 10 15 20 25 30 516 216 FÖREDRAGNA UTFöRINGsFoRMER Nedan beskrivs utföringsformer av uppfinningen som företrädesvis implementeras i en eller flera datorer anslutna till ett datanät såsom Internet.
Allmänt En webbtjänst enligt uppfinningen består av, och är beroende av, ett antal individuella delar. Roboten samlar in information om annonsering som lagras i databasen, där den sammanställs, aggregeras, till den form webbtjänsten behöver. Följande dokument går översiktligt igenom webbtjänsten.
I själva webbtjänsten innehåller ett antal olika delar och aspekter.
- Grafer och listor Dessa hämtar information från databasen enligt angivna urval (siffror från AggrTraffTbl, namn och liknande från diverse andra tabeller såsom AnnonsorTbl, UrlTbl, MarkesvaraTbl, osv). Denna visas antingen i listor (tabeller) eller grafer som skapas med hjälp av AspChart.
Större delen av webbtjänsten är där för att hantera detta.
- Klassificering Denna används för att klassificera nyinkomna annonser efter om det verkligen är en annons, och i så fall vilket varumärke som annonseras för, efter annonsör samt produkt annonsör. Innan annonser kan visas i några grafer eller listor måste de klassificeras. Detta betyder att klassificeringen måste ske regelbundet för att systemet skall fungera som det skall.
- Diverse administration Exempelvis URL Administration, URL Grupper, Nyckelord.
Detta är i princip webbgränssnitt till de aktuella tabellerna i databasen (UrlTbl, UrlGruppTbl, NyckelordTbl, UserTbl, mm). 10 15 20 25 30 516 216 o a ~ | a o . - n c r | o »v - Användarhantering Till större delen av sidorna i systemet krävs att användaren loggar på för att få tillgång. Dessutom lagras diverse information om användaren (se UserTbl).
- Texthantering för olika språk Alla texter i webbtjänsten är lagrade i databasen (TextTbl), och hämtas dynamiskt beroende pà vilket språk användaren har valt. Detta gör det också möjligt att direkt i webbtjänsten ändra de flesta texter i systemet.
- Systeminformation Ett antal sidor visar aktuell information från databasen vad avser hur roboten fungerar och informationen den hämtar in (TraffTbl, m.fl).
Teknisk plattform Webbtjänsten är utvecklad i ASP (Active Server Pages) för Microsoft Internet Information Server version 4.0 samt Microsoft SQL Server 7.0. Roboten är utvecklad i Java, se för övrigt separat dokumentation. Komponenten AspChart från ServerObjects, inc (http://www.serverobjects.com) används för att framställa graferna.
Aggregering Informationen som visas i systemet kommer från en tabell med aggregerad information (AggrTraffTbl). Denna skapas ifrån det råa data som roboten lämnar rapporterar om alla individuella tillfällen annonser påträffas (TraffTbl), vilket sammanställs per vecka och för annonser och webbplatser, samt prisuträkningar görs i förväg. Detta gör att grafer och annan information kan beräknas väldigt mycket snabbare. Detta görs av ett par scripts som körs på SQL Servern varje natt, som då lägger till ny data till den aggregerade tabellen (se i /Data Transformation Services/Local Packages/ för dessa). 10 15 20 25 516 216 ----- ~~ o n a ø o n | u o - ø . c nu Installation Webfiler Förutom att kopiera samtliga webbfiler till plats i filstrukturen enligt webbservern kan man vid nya installationer behöva anpassa strURLRoot i /lib/const.inc. Denna skall innehålla den (eventuella) sökväg under roten av sajten som webbtjänsten ligger.
Exempelvis om webbtjänsten ligger under www.effekt.net/webspend/._. Skall värdet där vara ”webspend/”. Notera även att det finns ett antal (ursprungligen tomma) bibliotek som skall vara skapade under /files/chart/ där de olika graferna sparas.
SQL Server Förutom att lägga in alla databastabellerna för databasen, med korrekt innehåll finns det ett antal scripts som används för aggregeringen som måste läggas in korrekt. Dessa är i den ursprungliga installationen av uppfinningen inlagda i /Data Transformation Services/Local Packages/. Dessa skall även sättas att köras exempelvis varje natt. En korrekt ”connection string” för databasen skall finnas i filen /lib/db.inc.
Robot För installationen av roboten se separat dokumentation.
Notera att banners som sparas skall finnas tillgängliga för webbtjänsten i katalogen /WebBanners/.
Komponenter Komponenten AspChart installeras enligt känd teknik. m' Filspe cifikation Rotkatalogen Rotkatalogen innehåller huvudsakli Katalog » / Fil o Global.asa Indexasp Kontakt.asp Loggedonasp Main.asp Main2.asp Message.asp Metodasp Toppasp foretagenasp prenumerant.asp registrerasajtasp registrerasajt_skicka.asp switch_language.asp synpunktenasp Admin/ Admin katalogen innehåller olika typer av administrativa funktioner.
Katalog Admin! Fil GroupEdit.asp GroupListasp Groupadd.asp KeywordAdd.asp KeywordDelete.asp KeywordEditasp KeywordList.asp URLDelete.asp Urladd.asp Urleditasp Url1ist.asp Usradminasp Usrchngasp Usrdel.asp Usredit.asp check_annonstbl.asp check_errortbl.asp check_robot.asp check_traff. asp check_trafftbl.asp check_trafftbl_spec.asp text_admin.asp 516 216 ;::= . n n n ø | . n c I Q o nu e vanliga HTML-sidorna för sajten.
Beskrivning , Denna fil används inte av systemet Grundfil for sajten. En frame fil Sida för sajten (huvudframen) Sida fór sajten (huvudframen) Sida för sajten (huvudframen) Sida for sajten (huvudframen) Sida fór att visa olika meddelanden Sida for sajten (huvudframen) Sida för sajten (överframen) Sida för sajten (huvudframen) Sida för sajten (huvudframen) Sida för sajten, för att registrera en sajt.
Hanterar inmatningen från registrerasajt.asp Byter språk. Länkas till från flaggorna i topp.asp Sida för sajten (huvudfónstret) Beskrivning Ändra en URL grupp (från URLGruppTbl) Listar URL grupper (från URLGruppTbl) Lägg till en URL grupp (i URLGruppTbl) Lägg till en nyckelord (i NyckelordTbl) Ta bort ett nyckelord (från NyckelordTbl) Ändra ett nyckelord (från NyckelordTbl) Listar nyckelord (från NyckelordTbl) Ta bort en URL/APL (från URLTbl) Lägg till en URL/APL (i URLTbl) Ändra en URL/APL (från URLTbl) Listar URL/APL (från URLTbl) Lista användare (från UserTbl) Hantera ändringar och tillägg, från Usradminasp och Usredit.asp Ta bort en användare (från UserTbl) Ändra en användare, skickar formuläret till Usrchngasp Infonnationssida om innehållet i AnnonsTbl Infonnationssida om innehållet i ErrorTbl Informationssida om träffar funna per sajt Infonnationssída om inkomna träffar Informationssida om innehållet i TraffTbl Informationssida, länkas till av check_robot.asp Administration av texter (i TextTbl) 516 216 :once- n 1 n n av nu once a n o ou- en a ~ - o -vu nu n - . 1 ~ n -sun Chart/ Chan katalogen innehåller de olika grafema och listorna i systemet. Som regel använder varje graf två filer, en .inc fil där sj älva beräkningen av grafen hanteras, och en .asp fil där webbsidan och grafen visas. chartAnnonseringUtvecklíngasp chartAnnonseringUtvecklinginc chanAnnonsorOmsatmingasp chartAnnonsorOmsattriiriginc chartAnnonsorOmsattningVecka.asp chartBranschBarometemasp chartBranschBarometern.inc chartShareBranschasp chartShareBransch.inc chartShareOtVoiceasp chartShareOtVoiceinc chart_utils.inc showAI1APL.asp showAl1APL.inc showAl1APLsite.asp showA1lAPLsite.inc showAllAnnonsorOmsattningasp showAllAnnonsorOmsattninginc shoWAnnonsorAktivitet.inc showAnnonsorBanners.asp showAnnonsorerAktivitet.asp showAnnonsorerAktivitetinc showBanners.asp showBanners.inc showBannersVeckaasp showBanners_raw.asp shoWBranschAktiviteLasp showBranschAktiviteLinc showEnAPL.asp showEnAPL.inc showEnAnnonsorOnisatmingasp showEnAnnonsorOmsattninginc showThisWeekAPL.inc showannonsoraktivitet.asp showannonsoraktivitet_raw.asp Katalog, Fil Beskrivning ' q Chart/ CharLinc Generell grathantering och defmitioner. chartAPLSelectedinc Graf, beräkning chartAPLToppasp Sajter tio-i-topp, sida chartAPLToppinc Sajter tio-i-topp, beräkning chartAPLToppVeckaasp Sajter tio-i-topp, sida, ”gratis en veckas versionen” Bannerannonseringens utveckling, sida Bannerannonseringens utveckling, beräkning Annonsörer tio-i-topp, sida Annonsörer tio-i-topp, beräkning Annonsörer tio-i-topp, sida, ”gratis en veckas versionen” Branschbarometern, sida Branschbarometern, beräkning Share of voice (per bransch), sida Share of voice (per bransch), beräkning Används ej Används ej Div. graffunktioner.
Listning, sida Listning, beräkning Listning, sida Listning, beräkning Listning, sida Listning, beräkning Listning, beräkning Listning, sida Listning, sida Listning, beräkning Listning, sida Listning, beräkning Listning, sida Denna sida listar alla annonser, fór klassificering.
Listning, sida Listning, beräkning Listning, sida Listning, beräkning Listning, sida Listning, beräkning Listning, beräkning Listning, sida Listning, sida v-v- -..- -.- Inc/ 516 216 §II=§II§ fI=.:fI= "ïf Inc katalogen innehåller html headers och footers som sköter stora delar av formateringen på de olika sidorna.
Katalog Fil .
Inc/ 2spaltbotten.inc 2spalttop.inc Charttop.inc Texttop.inc chartbotteninc generel1botten.inc generelltop.inc textbotteninc Klass/ Beskrivning Klass katalogen innehåller filer som sköter klassificeringen av banners.
Katalog F i! _ _ .
Klass/ Addgroup.asp Helphtm Klass.asp Lookup.asp addgroup_action.asp Lib/ Beskrivning - P Lägger till varumärken och grupperingar Sköter all klassificering Lib katalogen innehåller hj älpfunktioner av olika slag.
Katalog Fil Lib/ Admininc Const. inc Db.inc Logon.asp Logonjnc Logout.asp Priminc Private.ínc Public.inc Utils.inc db_user_update.asp forcelogon.asp utils_language.asp uti1s_string.asp utilsatimeasp utils_tirne_week.asp utils_wsold.asp Beskrivning .
Sköter inloggningen och kontrollerar behörighet (admin) Div. konstanter, mm.
Datakälla, databasfunktioner Hanterar delar av påloggningen Hanterar delar av påloggningen Loggar av en användare Funktioner för att komma ât Session() information Sköter inloggningen och kontrollerar behörighet (användare) Inkluderar filer som admin och private men kräver ej behörighet Inkluderar andra utils filer (av historiska skäl) Databasfunktioner, för att skriva användare till db Sida som används for att tvinga fram påloggning Hjälpfunktioner som hanterar språk för texter Hjälpfunktioner Hjälpfunktioner Hjälpfunktioner Hjälpfunktioner, div. osorterade Databasspecífikation Namn: Webspend 516 216 10 I databasen finns det 18 tabeller innehållande data från Webspend.net. Figur la-c visar databasens struktur.
AggrTrafíTbl Denna tabell innehåller sammanlagda data om de funna barmers. Den sammanlagda datan används vid ritande av diagram eller när annan statistik visas i webapplikationen.
Nycklar Attribut AnnonslD URLID Number PrisMultipel ExponeringsMultipel DatumStampel AnnonsorTbl Datatyp Int Int Int (0) Float (0.0) Float (0.0) Denna tabel innehåller information om annonsören.
Nycklar Attribut Pk AnnonsorID Namn DatumStampel AnnonsTbl Datatyp Default nvarchar(32) nvarchar(5 10) Smalldatetime Denna tabell innehåller information om de funna banners.
Nycklar Attribut Pk AnnonslD CheckSumma Storlek Hojd Bredd HREF FilTyp ArAnnons Klassificerad MarkesvaraID DatumStampel RecStatusCode KlassOrder VariantText Datatyp Default int identity Int Int Int Int nvarchar (5 1 0) nvarchar (40) Bit Bit nvarchar (32) Smalldatetime nvarchar (2) Smalldatetime nvarchar (100) Kommentar Identifierare Identifierare Kommentar Identifierare Kommentar Identifierare URL till websidan där bannem hittades.
Filtillägg för barmern. Är en bannem eller inte (värde o eller 1) Är klassiñcerad eller inte (Värde O eller 1) 516 216 ' ' I I ~ . n n | .- 11 EgenURLID Int BarmonsorID nvarchar (32) OldCheckSumma Int BranschTbl Denna tabel innehåller information om affársverksamheten.
Nycklar Attribut Datatyp Default Kommentar Pk BranschID nvarchar (32) Identifierare Narrm nvarchar (5 10) DatumStampel smalldatetime CookieTbl Denna tabell innehåller information för roboten för att spara cookies från websidoma.
Nycklar Attribut Datatyp Default Kommentar Pk Cookield int identity Identiferare URLID Int HREF nvarchar (1020) Cookie Text (”) ErrorTbl Denna tabell används av roboten för att rapportera fel som uppstått.
Nycklar Attribut Datatyp Default Kommentar Pk ErrorId int identity Identiferare URL varchar (255) DatumStampel Datetime Error varchar (500) URLID Int FormatTbl Denna tabell innehåller mönster/format-inforrnation för roboten och används när roboten analyserar och matchar websidoma.
Nycklar Attribut Datatyp Default Kommentar Pk FormatId int identity Identifierare Format varchar (25 5) MarkesvaraTbl Denna tabell innehåller alla varumärken. Annonsema är klassifierade efter varumärke.
Nycklar Attribut Datatyp Default Kommentar Pk MarkesvaraID nvarchar (32) Identifierare Namn nvarchar (510) Varumärkets nanm AnnonsorID nvarchar (32) ProduktGruppID nvarchar (32) DatumStampel smalldatetime 516 216 - . u n o » | . a o» 12 NyckelOrdTbl Denna tabell innehåller infonnation for roboten. Roboten använder inforrnationen för att identifiera annonser (banner).
Nycklar Attribut Datatyp Default Kommentar Pk NyckelOrdID int identity Identifierare NyckelOrd nvarchar (200) DatumStampel smalldatetime RecStatusCode nvarchar (2) PriSTbl Denna tabell innehåller infonnation om pris och exponering för websidoma.
Nycklar Attribut Datatyp Default Kommentar URLID int F rDatum smalldatetime Bruttopris money Exponering int Antal exponeringar PrisTraffI'bl Denna tabell innehåller kalkylerad pris- och exponeringsinformation för varje banner träff.
Nycklar Attribut Datatyp Default Kommentar Pk Traffld int Identifierare PrisMu1tipel real ExponeringsMultipel real Kalkylerat exponeringsvärde ProduktgruppTbl Denna tabell innehåller information om produktgmpperna.
Nycklar Attribut Datatyp Default Kommentar Pk ProduktgmppID nvarchar (32) Identifierare VarugruppID nvarchar (32) Namn nvarchar (5 10) DatumStampel smalldatetime TextTbl Denna tabell innehåller alla texter som är synliga på webspend.net. Med undantag för admin-delen där alla texter endast är på svenska. Varje text är tillgänglig, och bör sparas både på svenska och engelska och är identifierade av ”Language - id”. Ändringari texten gors i admin-delen.
Nycklar Attribut Datatyp Default Kommentar Pk TextKey nvarchar (100) Identifierar text (samma på SW/Eng) Pk Language int Identifierar språk: 1(Sw) eller 2 (Eng) Text ntext Den verkliga texten 516 216 13 TraffI' bl Denna tabell innehåller information for en bannerträff (när roboten har hittat en banner).
Nycklar Attribut Datatyp Default Kommentar Pk TrafflD int identity Identifierare ArmonslD int URLID int DatumStampel smalldatetime URLGruppTbl Denna tabell innehåller information för URL gmppema.
Nycklar Attribut Datatyp Default Kommentar Pk Id int identity Identifierare Namn varchar (100) URLTbl Denna tabell specificerar och innehåller information om de sajter som blir avsökta av roboten.
Nycklar Attribut Datatyp Default Kommentar Pk URLID int identity Identifierare URL nvarchar (400) (”) Sajtens URL APL nvarchar (100) Saj tens nanm Bruttopris Money DatumStampel Smalldatetime RecStatusCode nvarchar (2) (”A') URLGruppID Int Maskin Int (1) Robotnummer UserTbl Denna tabell innehåller information om användaren.
Nycklar Attribut Datatyp Default Kommentar Pk UserID int identity Identifierare UserName nvarchar (100) UserDisplayName nvarchar (100) UserTrust Int Användarnivå UserAccountActive Bit (1) UserAdminComment nvarchar (100) UserPassword nvarchar (100) Deleted Bit (0) Created Datetime Visits Int (0) ActiveFrom Datetime ActiveTo Datetime 516 216 v» u" 14 Email varchar (100) (”) Phone varchar (100) (”) Company varchar (200) (”) LastVisit Datetime VarugruppTbl Denna tabell innehåller information om varugmpperna.
Nycklar Attribut Datatyp Default Kommentar Pk VarugruppID nvarchar (32) Identifierare BranschID nvarchar (32) Nanm nvarchar (510) DatumStampel Smalldatetime 516 216 15 Installation J avarobot 1. Roboten använder sig av Java 1.2.2. 2. Det finns en testmiljö som ligger på dator \\SITE_JOSEF. 3. I Database.java ->database() ska man ändra om databaskopplingen så att den använder sig av Webspend i den riktiga miljön. I testmiljön används nämligen Robotwebsp. 4. I classpathen ska det stå: :\jdkl .2.2\lib;d:\josrobot 5. I filen Page.java finns en sträng som anger sökvägen till de banners som ska sparas.
I den skarpa miljön ska det vara “ f:\ ” och i testmiljön ska det stå “ d:\testbanners ”_ 6. I DataBasejava -> getURLAdress anger man vilken maskin (robot) det är man kör på.
Sedan går roboten in i databasen och tar fram vilka URL:er den ska ta hand om.
Informationen om vilken robot som ska sköta vilken URL finns i “ URLTbl” i databasen.
Alltså måste man kompilera om källkoden och ange vilket nummer den roboten har när man vill ha en ny robot.
I drift finns tre olika kompilerade robotar som var och en tar sin del av URL:ema. 7. I Pagejava finns funktioner för att ladda ner bilderna. 8. När man kopierar databasen ska man föra över objekt och allt, inte bara tabellema. Det finns nämligen en lagrad procedur i databasen som heter “ FindAndSaveAd “ som inte följer med vid kopiering tabellema. 9. För att roboten ska fungera behövs en lokal ODBC-koppling mot databasen.
I testmiljön används databasen Robotwebsp på \\RUBl'N och den skarpa miljön använder databasen Webspend som finns på \\ANAKIN. 10. I URL-tabellen finns två fält som är väldigt viktiga för roboten, “Maskin” och “RecStatusCode”.
Fältet “maskin” anger vilken maskin (robot) som tar hand om URLen, och “RecStatusCode” anger om URLen ska användas eller inte. 11. Man genererar javadokumentationen genom att skriva: j avadoc ~d javadoc -private -use *.java 12. UML-diagrammen för J avaroboten finns under en mapp som heter UML, och J avadokumentationen finns under en katalog som heter j avadoc. 516 216 | u o a aa 16 ALLA KLASSER Ad, Communication, CrcTable, Data, Database, Error, NewImageAd, Page, Robot, Site, UR- LAddress, WebSpendRobot KLASS AD java.lang.Object I +--Ad Direkt kända underklasser: NewImageAd public abstract class Ad extends java.lang.Obj ect Abstrakt klass används som superklass för olika typer av annonseringsklasser. Alla annons- klasser implementerar metoden av denna klass.
Field-sammanfattning. private int gilt! Id for armonsen. private int g Kontrollsumma för armonsen.. private java.sql.Timestamp dig Datum för när annonsen hittades. private int grfl Id för url/sajt där annonsen hittades.
Constructor-sammanfattning A_d( ) Bygger ett nytt annonsobjekt med dess värdefált i början till noll. giGavasqLTimestamp day, int checksum, int id, int aid) Bygger ett nytt annonsobjekt med dess värdefält i början till de givna värderna.
Method-sammanfattning int gç_tA_dI¿l( ) Returnerar värderna av fältet ”AdId”. int glflfiï ) Retumerar värdet av fält “Crc”. java.sql.Timestamp gglfig ) Returnerar värdet av fältet ”Date”. int ggIL-lltfl )Retumerar värdet av fältet ”UlrId”. abstract int makeCrc( ) Kalkylerar kontrollsumman för annonsen och skickar tillbaka värdet. abstract boolean m;atch(int checksum) Indikerar om det givna heltalet är lika med kontrollsurmnan för denna armons. 516 216 17 void gAdíldfint id) Fältet ”AdId” blir tilldelat ett givet värde. void mfint c) Fältet ”Crc” blir tilldelat det givna vär- det. void setDateÜavasqLTimestamp da) Fältet ”Date” blir tilldelat det givna värdet. void gefilflünt id) Fältet ”UrlId” blir tilldelat det givna värdet.
Metoder ärvda från klassen java.lang. Objekt clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, Wait Field-detalj date private java.sql.Timestamp date. Datum för när annonsen hittades. crc private int crc. Kontrollsumma för annonsen. urlId private int urlId. ID för url/sajten där armonsen hittades. adId private int adId. Annonsens ID.
Constructor-detalj Ad public AdÜavasqLTimestamp day, int checksum, int id, int aid) Skapar ett nytt annonsobjekt med dess värdefált initialt till de givna värderna.
Paranietrar: day - Datum för när armonsen hittades i form av java.sql.Timestamp. checksum - Heltal med annonsens kontrollsurnma. id - Heltal med ID för urlzn där annonsen hittades. aid - Ett heltal med ID för annonsen.
Ad public Ad( ). Konstruerar en ny annons med dess värdefált initialt till noll. 516 216 o » ~ » I ; o n | n I n n u; 18 Method-detalj match public abstract boolean match(int checksum). Indikerar om det givna heltalet är lika i förhål- lande till kontrollsumman av annonsen. Abstrakt funktion, måste åter definieras av de ärvda klassema.
Parametrar: checksum - Ett heltal med jämförbar kontrollsumrna.
Retumerar: Returnerar true eller false beroende på om kontrollsumrnan matchade eller ej. makeCrc public abstract int makeCrc( ). Beräknar kontrollsumman för annonsen och returnerar värdet.
Abstrakt fimktion, måste återdefineras av de ärvda klassema.
Returnerar: Returnerar den kalkylerade kontrollsumman som ett heltal. getUrlId public int getUrlId( ). Returnerar värdet för fältet ”UrlId”.
Returnerar: Retumerar den privata variabeln ”UrlId” som ett heltal. setUrlId public void setUrlId(int id). Fältet ”UrlId” blir tilldelat ett givet värde. i Parametrar: id - Heltal med ID. getAdId public int getAdId( ). Retumerar värdet av fältet ”AdId”.
Retumerar: Retumerar den privata variabeln ”AdId” som ett heltal. setAdId public void setAdId(int id). Fältet ”AdId” blir tilldelad ett givet värde.
Parametrar: id - Heltal med ID för annonsen. getDate public java.sql.Timestamp getDate( ). Retumerar värdet av fältet ”Date”. 516 216 19 Returnerar: Returnerar den privata variabeln ”Date” som util.sql.Timestamp. setDate public void setDateÜavasqLTimestamp da). Fältet ”Date” blir tilldelat det givna värdet.
Parametrar: da - A java.sql.Tidstämpel med aktuellt datum. getCrc public int getCrc( ). Returnerar värdet av fältet ”Crc”.
Returnerar: Skickar tillbaka den privata variabeln ”Crc” som en ”long”. setCrc public void setCrc(int c). Fältet ”Crc” blir tilldelad det givna värdet.
Parametrar: c - En ”long” med kontrollsumman.
KLASS COMMUNICATION java.lang.0bject I +--Communication public class Communication . extends java.lang.0bject a a o n nu Hanterar urtag, förbindelser och tar hand om cookies. Variablema ”inStream” och ”outStream” fungerar i TCP nivå.
Field-sammanfattning private java.io.BufferedReader består av innehållet från url. private java.io.BufferedWriter innehåller kommandon till url. private int anslutning. private java.net.Socket fllggt “Socket” innehåller ett urtag. protected int ket att koppla upp till url. inStream “”inStream” är en ”BufferedReader” och outStream “outStream” är en ”BufferedWriter” och port “Port” har värdet 80 vilket är HTTP's default tig “Tid” är ett heltal som innehåller tiden för försö- 20 private java.net.URL _u¿l “Url” består av URL Constructor-sammanfattning Communication( ) Tom ”constructor”, sätter flödet till noll.
Method-sammanfattning (package private) static void classFina1ize( ) java.lang.String connectToSiteÜava.lang.String address, java.lang.St- ring cookie) Metoden kopplar till den givna sajten. private java.lang.String receive(boolean b) Tar emot Sidinformation en rad i taget och skickar tillbaka den. private void ïlfiavalangßtring com) Skickar kommandot till servern som en sträng.
Metoder ärvda från klassen java. lang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj socket private java.net.Socket socket. “Socket” innehåller ett urtag. url private java.net.URL url. “Url” innehåller URL port private int port. “Port” har värdet 80 vilket är HTTP's default anslutning. inStream private java.io.BufferedReader inStream. “inStream” är en ”BufferedReader” och består av innehållet från url. outStream private java.io.BufferedWriter outStream. “outStream” är en ”BufferedWriter” och består av kommando till url. tid protected int tid. tid är ett heltal och innehåller tiden för försöket att koppla upp till url. 516 216 21 Constructor-detalj Communication public Communication( ). Tom “constructor”, sätter flödet till noll.
Method-detalj connectToSite public java.lang.String connectToSiteÜavaJang.String address, java.lang.String cookie) throws java.lang.Exception. ”Method” kopplar till den givna sajten. Skapar ett nytt urtag och ett inflöde och ett utflöde. Ett undantag skickas ut om den inte lyckas skapa ett urtag. Begär html-fil och skickar cookie. Tar emot Sidinformation i form av en sträng. Variabeln “strDa ” innehåller den senast mottagna raden från servern, “strAllData” innehåller all data som hittills mottagits från servern. “Command” innehåller information som servern vill ha. Avslutar upp- kopplingen. Fångar upp ett undantag.
Parametrar: Address - som skall kopplas upp till.
Cookie - som hör till adressen.
Retumerar: Innehållet på den uppkopplade sidan inklusive sidhuvud.
Släpper: java.lang.Exception - Undantag i kommunikation. URL är i fel format. java.lang.Exception - Undantag i kommunikation. Kan inte påbörja “Socket”. java.lang.Exception - Undantag i kommunikation. Kan inte sända. java.lang.Exception - Undantag i kommunikation. Kan inte ta emot. java.lang.Exception - Undantag i kommunikation. Kan inte stänga. java.lang.Exception - Undantag i kommunikation. Kan inte skriva i ”BufferedWriter” java.lang.Exception - Undantag i kommunikation. Tog ej emot något från URL:n Send private void sendGavaJangString com). throws java.lang.Exception. Skickar kommando till servem som en sträng. 516 216 n ø ø o u nu 22 Parametrar: the - kommando.
Släpper: java.lang.Exception - Undantag i kommunikationen. Kan ej skriva till “BufferedWriter”.
Receive private java.lang.String receive(boolean b). throws java.lang.Exception Mottar sidinfo en rad i taget och skickar tillbaka den. Fångar upp ett undantag.
Retumerar: sidinnehållet som en sträng.
Släpper: java.lang.Exception - Avvikelse i kommunikationen, “timeout”. java.lang.Exception - Avvikelse i kommunikationen. Tog ej emot något fiån URL. classFinalize static void classFinalize( ) throws java.lang.Throwable KLASS CRCTABLE java.lang.Object I +--CrcTable public class CrcTable. extends java.lang.Object. Denna klass består av en tabell med 256 oli- ka hexadecimalnummer i slumpvis ordning.
Field-sammanfattning (package private) longÜ table Tabell med hexadecimalnummer Constructor-sammanfattning CrcTablei ) “Constructor” som skapar tabellen Method-sammanfattning long getTable( int index) Returnerar hexadecimalnummer till tabellindex vid det givna heltalsvärdet. n. one 23 Metoder ärvda från klassen java. lang.0bject clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj table long[ ] table. Tabell med hexadecimalnummer Constructor-detalj CrcT able public CrcTable( ). “Constructor” som skapar tabellen Method-detalj getT able public long getTable(int index). Skickar tillbaka hexadecimalnummer med tabellindex vid det givna heltalsvärdet.
Pararnetrar: index - Ett heltal med index för det önskade numret i tabellen.
Retumerar: Skickar tillbaka “longnumret” hittad i den aktuella indexen i tabellen.
KLASS DATA java.lang.Object I +--Data public class Data. extends java.lang.Object Denna klass är använd för lagring av delad information. Alla dess metoder är synkroniserade.
Field-sammanfattning private java.util.Vector cookieList Vektor innehållande ”UrlAddress-objekt” som innehåller cookies för sajterna. private java.util.Vector errorList Vektor innehållande ”Error-Obj ekt” som dykt upp under programutförandet. private java.util.Vector keyWordList Vektor med strängobjekt represente- rande nyckelord som identifierar annonserna. 516 216 24 private int number Håller nummer på de trådar som samtidigt pågår. private java.util.Vector searchFormat Vektor med strängobjekt med olika typer av format för sökning av länkade sajter.
Constructor-sammanfattning QQQ. Konstruerar ett nytt ”Data-objekt” med värdefälten till en början satt till noll.
QaLaÜavautiLVector fonnat, java.util.Vector keyWords, java.util.Vector errors, int n) Konstruerar ett nytt ”Data-objekt” med värdefälten till en början satt till noll.
Method-sammanfattning void decreaseNumbert [Minskar det privata fältet ”Number” med ett. java.util.Vector getCookieListt 1 Skickar tillbaka värdet av fältet ”CookieList”. j ava.util.Vector getErrorListg 2 Skickar tillbaka värdet av fältet ”ErrorList”. java.util.Vector getKeyWordListt ) Skickar tillbaka värdet av tältet ”KeyWordLisfÅ int getNumberg ) Skickar tillbaka värdet på fältet ”Number” java.util.Vector getSearchFormatg 1 Skickar tillbaka värdet på fältet ”SearchFor-rnat”. void increaseNumbert ) Ökar det privata fältet ”Number” med ett. void setCookieListÜava.util.Vector cookies) Fältet ”CookieList” blir tilldelad det givna värdet. void setErrorListfiava.util.Vector errors) Fältet ”ErrorList” blir tilldelad det givna värdet.
Void setKeyWordListfiava.util.Vector keyWords) Fältet "KeyWord- List” blir tilldelat det givna värdet. void setNumber(int n) Fältet ”Number” blir tilldelad det givna värdet. void setSearchFormatÜava.util.Vector format) Fältet ”SearchForrnat” blir tilldelat det givna värdet. void storeCookies(java.util.Vector cookies) Fältet ”CookiesList” ökar med det givna värdet. void storeErrorsGavautil.Vector errors) Fältet ”ErrorList” ökar med det givna värdet. 516 216 ...- n | c u o n . - . n u - u .- 25 Metoder ärvda från klassen java. lang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj searchFormat private java.util.Vector searchFonnat. Vektor med strängobj ekt med olika typer av format för sökning av länkade sajter. key WordList private java.util.Vector keyWordList. Vektor med strängobj ekt som representerar nyckelord vilka identifierar annonserna. errorList private java.util.Vector errorList. Vektor som innehåller ”Error-obj ekt” som har uppträtt un- der programutförandet. c0okieList private java.util.Vector cookieList. Vektor som innehåller ”UrlAddress-obj ekt” som innehål- ler cookies för sajtema. number private int number. Har nummer med de trådar som samtidigt pågår.
Constructor-detalj Data public DataÜ ava.util.Vector format, j ava.util.Vector keyWords, java.util.Vector errors, int n) Konstruerar ett nytt ”Data-obj ekt” till en början med värdefåltet till de givna värdema.
Parametrar: format - En vektor med alla sökformat för länkade sidor i strängobjekt. keyWords - En vektor med alla nyckelord for annonser i strängobjekt. oldAds - En vektor med alla gamla annonser i ”ImageAd-objekt”. newAds - En vektor med alla nya annonser i ”NewImageAd-obj ekt”. errors - En vektor med alla upptäckta fel i ”Error- objekt”. cookies - En vektor med alla cookies för de länkade sidorna i ”UrlAdress- objekt”. n - Ett heltal som räknar numren på de inbördes pågående trådarna. 516 216 26 Data public Data( ). Konstruerar ett nytt ”Data-objekt” med värdefältet till en början inställt på noll.
Method-detalj getNumber public int getNumber( ). Skickar tillbaka värdet av fältet ”Number” Returnerar: Skickar tillbaka den privata variabeln ”Number” som ett heltal. set1Vumber public void setNumber(int n). Fältet ”Number” tilldelas det givna värdet.
Parametrar: n - Ett heltal med nummer på de tillfälliga filema. increaseNumber public void increaseNumber( ). Ökar det privata fältet ”Number” med ett. decreaseNumber public void decreaseNumber( ). Minskar det privata fältet ”Number” med ett. getSearchF0rmat public java.util.Vector getSearchFormat( ). Skickar tillbaka värdet på fältet ”SearchFonnat”.
Retumerar: Sänder tillbaka den privata variabeln ”SearchFormat” som en vektor. setSearchFormat public void setSearchFormatfiava.util.Vector format). Fältet ”SearchFormat” blir tilldelad det givna värdet.
Parametrar: format- En vektor med “SearchFormats” lagrade i strängobj ekt. getKey WordList public java.util.Vector getKeyWordList( ). Sänder tillbaka värdet för fältet “KeyWordList”.
Returnerar: Sänder tillbaka den privata variabeln “KeyWordList” som en vektor. setKey WordList public void setKeyWordList(java.util.Vector keyWords). Fältet “KeyWordList” blir tilldelad det givna värdet. 516 216 27 Parametrar: keyWords - Vektor med nyckelord lagrad i strängobjekt. getErrorList public java.util.Vector getErrorList( ). Sänder tillbaka värdet för fältet “ErrorList”.
Retumerar: Sänder tillbaka den privata variabeln “ErrorList” som en vektor. setErrorList public void setErrorListÜ ava.util.Vector errors). Fältet “ErrorList” blir tilldelad det givna vär- det.
Parametrar: errors - En vektor med de upptäckta felen lagrade i “Errorobj ects”. getCookieList public java.util.Vector getCookieList( ). Sänder tillbaka värdet för fältet “CookieList”.
Retumerar: Sänder tillbaka den privata variabeln “CookieList” som en vektor. setCookieList public void setCookieListÜavautil.Vector cookies). Fältet “CookieList” blir tilldelad det giv- na värdet.
Parametrar: cookies - En vektor med cookies för de länkade sidorna lagrade i “Errorobj ects”. storeErrors public void storeErrorsÜava.util.Vector errors). Fältet “ErrorList” ökas med det givna värdet.
Parametrar: errors - En vektor med nya fel lagras i “Errorobjects”. storeCookies public void storeCookiesÜava.util.Vector cookies). Fältet “CookieList” ökas med det givna värdet.
Pararnetrar: cookies - En vektor med nya cookies lagras i “UrlAddressobj ects”. 516 216 28 KLASS DATABASE java.lang.Object I +--DataBase public class database. extends java.lang.Object. Klassen ”DataBase” används för kommuni- kation med sqldatabasen. Klassen öppnar upp och stänger kopplingen till databasen, samt disponerar och utför sqlkommandon. Den tar även hand om resultaten från sqlkommandon.
Field-sammanfattning private java.sql.Connection databasen. private java.sql.Driver typer av “drivers” på datorn. private java.sql.ResultSet private java.sql.Statement datera.
Constructor-sammanfattning DataBase( ) Konstruerar ett nytt ”Database-objekt” utan argument.
Method-sammanfattning private java.lang.String gr Behövs för att öppna och stänga förbindelsen till driver Behövs för att identifiera alla olika existerande g Tar hand om resultatet från sqlkommandot. å; Driver sqlkommandot som välja, sätta in, upp- checkStringÜavalangString s) Kontrollerar om en sträng innehåller karaktären ' and replaces it with ". (package private) static void classFinalize( 2 void closeConnectiong ) Stänger förbindelsen till sqldata- basen. void connect( 1 Öppnar förbindelsen till sqldatabasen. java.util.Vector getCookiesGava.Util.Vector addressList) Utför sqlkommandot som hämtar URLID, HREF, Cookield samt Cookie från tabellen ”CookieTbl” i sqldataba- Sen. java.util.Vector private int java.util.Vector java.util.Vector Private void void int void void 516 216 29 getKeyWordsg 1 Utför sqlkommandot som hämtar nyckelord från tabellen ”KeyWordsTbl” i sqldataba- sen. getMaxt java.lang.String column, java.lang.String tgblg) Utför sqlkommandot som hämtar största talet från kolumnen given av ”String”-inpararnetern ”column” samt tabellen given av ”String”- inparametem ”table” i sqldatabasen. getTagFormati ) Utför sqlkommandon som hämtar sökformat från tabellen “Fonnat'I'bl” i sqldatabasen. getUrlAddresses(int id) Utför sqlkommandon som hämtar URLID och URL från tabellen “URLTbl” i sqldatabasen. removeDuplicateÜava.util.Vector original, java.util.Vector duplicate) Tar bort objekt fi'ån “Vector”-inparametern original på de index som ges av “Vector”-inparametem “duplicate som innehåller “Integer”-object. setErrorsÜavautiLVector newErrors) Utför sqlkom- mandon som sätter in “Errorobj ects” från den givna inparametern, en vektor, till kolunmema “ErrorID”, “URL”, “Error och DatumStampel” till tabellen “ErrorTbl” i sqldatabasen. setNewImageAd(NewImageAd newAd, int rim) setUpdatedCookiesÜava.util.Vector newCookies) Utför sqlkommandon som sätter in “UrlAddressobjects” från den givna parametem, en vektor, till kolumnen “CookieID”, “URLID”, “HREF”, “Cookie” i tabellen “CookieTbl” i sqlda- tabasen. setUpdatedUrlAddressesfiava.util.Vector ad- dressList) Utför sqlkommandon som sätter in 516 216 .. an; 30 “UrlAddressobjects” från den givna parametem, en vektor, till kolumnen “CookieID”, “URLID”, “HREF”, “Cookie” i tabellen “CookieTbl” i sqlda- tabasen.
Metoder ärvda från klassen java. lang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj con private java.sql.Connection con. Behövs för att öppna och stänga förbindelsen till databasen. driver private java.sql.Driver driver. Behövs för att identifiera alla olika typer av drivers på datom. stat private java.sql.Statement stat. Driver sqlkommandon som välja, sätta in, uppdatera. rs private java.sql.ResultSet rs. Tar hand om resultaten från sqlkommandon.
Constructor-detalj DataBase public DataBase( ). Konstruerar ett nytt ”Databas-objekt” utan argument.
Method-detalj connect public void connect( ). throws java.lang.Exception. Öppnar en förbindelse till sqldatabasen.
Laddar och registrerar en “jdbc-odbc driver”. Specificerar systemet DNS, databas, användare och lösenord som kommer att användas. getUrLAddresses public java.util.Vector getUrlAddresses(int id). throws java.lang.Exception Utför sqlkommandon som hämtar “URLID” och “URL” från tabellen “URLTbl” i sqldataba- sen. Loopar genom resultaten och placerar infonnationen i “UrlAddressobjects”, lagrar dem i en lokal vektor som returneras från metoden.
Returnerar: Sänder tillbaka en vektor med “UrlAddressobject”. 516 216 v ø o | o - | o | ø n ø s vu 31 getKey Words public java.util.Vector getKeyWords( ). throws j ava.lang.Exception. Utför sqlkommandon som hämtar nyckelord från tabellen “KeyWordTbl” i sqldatabasen. Loopar genom resultaten och placerar informationen i strängobjekt, lagrar dem i en lokal vektor som skickas tillbaka från metoden.
Returnerar: Skickar tillbaka en vektor med strängobj ekt. getTagFormat public java.util.Vector getTagFormat( ). throws java.lang.Exception Utför sqlkommando som hämtar sökfonnat från tabellen ”FormatTbl” i sqldatabasen. Loopar genom resultatet och placerar informationen i strängobjekt, lagrar dem i en lokal vektor som sänds tillbaka från metoden.
Returnerar: Skickar tillbaka vektor med strängobjekt. getCookies public java.util.Vector getCookiesÜava.util.Vector addressList). throws java.lang.Exception Utför sqlkommando som hämtar URLID, HREF, CookieId samt Cookie från tabellen ”CookieTbl” i sqldatabasen. Loopar genom resultatet och placerar informationen i URLAdd- ress-objekt, lagrar dem i en lokal vektor. Vektorn järnförs med referensen till den privata ”Robotobject”-varaiabeln ”urlAddressLists, inparametern ”addressList”. När adressema är lika, läggs cookien in i inpararnetern ”addressList” samt tas bort från den lokala vektom. Den lokala vektom returneras från metoden.
Parametrar: addresslist - en vektor med ”UrlAddress”-objekt.
Retumerar: en vektor med ”UrlAddress”-objekt. setNewImageAd public int setNewImageAd(NewImageAd newAd, int run). throws java.lang.Exception setUpdatedCookies public void setUpdatedCookiesÜava.util.Vector newCookies). throws java.lang.Exception.
Utför sqlkommando som sätter in “UrlAddressobj ect” från den givna parametem (inparame- ter), en vektor, till kolumnen “CookieID”, “URLID”, “HREF”, Cookie i tabellen “CookieTbl” 516 216 _ ' , , . . c . a .a 32 i sqldatabasen. “Method” kontrollerar om det existerar några nya cookies för besökta sajter i parametem (inparanieter), vektoms adresslista. Anropar ”Method” “GetMax” för att erhålla den högsta idnurnret från tabellen “CookieTbl” i sqldatabasen. Om id-nurnret är noll loopas den genom vektom “AddressList” och ökar id-nurnret med ett i varje loopnmda för att erhålla ett unikt id och sätta in data från “UrlAddressobject” till den tidigare nämnda kolumnen i da- tabasen. Om idnumret är större än noll loopas metoden genom vektorn “AddressList” och kontrollerar om någon cookie redan existerar och endast behöver uppdateras. Om de som existerar i cookiekolumnen i databasen är uppdaterade och “UrlAdressobjekt” är flyttad från vektom “AddressList” . Om det finns några objekt kvar efter detta kommer data fiån ”UrlAddressobject” att sättas in i databasen med ett unikt idnurrnner. På grund av att tomma strängar inte kan sättas in i databasen, kommer alla strängar att kontrolleras först. Under den- na metod är autoöverlämrtingsfimktion ur funktion och överlämning sker endast när alla sqlkommandon är lyckade, i slutet av metoden sätts autoöverlänmingsfurrktionen åter i gång.
Parametrar: newCookies - En vektor med “UrlAddressobjecfÄ setUpdatedUrlAddresses public void setUpdatedUrlAddressesÜ ava.util.Vector addressList). throws java.lang.Exception. Utför sqlkommando som sätter in “UrlAddressobject” från den givna parametem (inparameter), en vektor, till kolumnen “'CookieID”, “URLID”, “HREF”, Cookie i tabellen “CookieTbl” i sqldatabasen. “Method” kontrollerar om det existerar några nya cooki- es för besökta sajter i parametem (inparameter), vektoms adresslista. Ringer ”Method” “GetMax” för att erhålla den högsta idnurnret från tabellen “CookieTbl” i sqldatabasen. Om id-nurnret är noll loopas den genom vektom “AddressList” och ökar id-nurnret med ett i varje looprunda för att erhålla ett unikt id och sätta in data från “UrlAddressobj ect” till den tidigare nämnda kolurrmen i databasen. Om idnumret är större än noll loopas metoden genom vektom “AddressList” och kontrollerar om någon cookie redan existerar och endast behöver uppdate- ras. Om de som existerar i cookiekolumnen i databasen är uppdaterade och “UrlAdressobjekt” är flyttad från vektom “AddressList” . Om det finns några objekt kvar efter detta kommer data från ”UrlAddressobject” att sättas in i databasen med ett unikt idnummer. På grund av att tomma strängar inte kan sättas in i databasen, kommer alla strängar att kontrolleras först. Un- der denna metod är autoöverlämningsfunktion ur funktion och överlärrming sker endast när 516 216 »o n , , | Q ø n n o . n o ; - »n 33 alla sqlkommandon är lyckade, i slutet av metoden sätts autoöverlämningsfunktionen åter i gång.
Parametrar: addressList - En vektor med “UrlAddressobj eet”. setErrors public void setErrors(j ava.util.Vector newErrors) throws java.lang.Exception. Utför sqlkommando som sätter in ”Error-objekt” från en given parameter (inparameter), en vektor, till kolunmen ”ErrorID, URL, Error och DatumStampel” till tabellen ”ErrorTbl” i sqldatabasen. Metoden kontrollerar om det existerar några nya fel i parametern (inparameter), vektom ”NewErrors”. Kallar metoden”GetMax ”till att motta det högsta idnurnret från tabellen ”ErrorTbl” i sqldatabasen. Loopar igenom vektom ”NewErrors” och ökar ID med ett i varje loopnmda för att erhålla ett unikt ID och placera data från ”Error- objekt” till den tidigare nämnda kolumnen i databasen. På grund av att tomma strängar inte kan sättas in i databasen, kontrolleras de först. Under denna metod är autoöverlämnings- funktionen ur funktion och överlämning sker endast när alla sqlkommandon lyckats, i slutet av metoden är autoöverlärrniingsfinildionen åter i gång.
Parametrar: newErrors - En vektor med ”Error-Obj ekt”. closeConnectíon public void closeConnection( ). throws java.lang.Exception. Stänger förbindelsen till sqlda- tabasen. getMax private int getMaxGavalangString column, java.lang.Stn'ng table). throws java.lang.Exception. Utför sqlkommandot som hämtar största talet från kolumnen given av ”String”-inpararnetem ”column” samt tabellen given av ”String”-inparametem ”table” i sqldatabasen.
Parametrar: column - Sträng med namnet på kolumnen. table - Sträng med nanmet på tabellen. 516 216 s I v ø I ~ . » - . . . . n .a 34 removeDuplicate private void removeDuplicateÜava.util.Vector original, java.util.Vector duplicate). throws java.lang.Exception. Tar bort objekt från “Vector”-inparametern original på de index som ges av “Vector”-inparametem “duplicate som innehåller “Integer'°-object.
Parametrar: original - En vektor duplicate - en vektor med ”Integer”-objekt. checkString private java.lang.String checkStringÜavaJangString s). throws java.lang.Exception. Kontrol- lerar om en sträng innehåller karaktären ' and replaces it with ".
Parametrar: s - Sträng Retumerar: En sträng. classFinalize static void classFinalize( ). throws java.lang.Throwable KLASS ERROR java.lang.Object I +--Error public class Error extends j ava.lang.Obj ect Denna klass innehåller felinforrnation från url/ sajt servem eller meddelande om att ingen an- nons hittades.
Field-sammanfattning private java.lang.String Qrgís Url där “ErrorCode” påträiïades. private java.sql.Timestamp dÄç Datum för “ErrorCode”. private java.lang.String errorCode Feltext/meddelande. private int QUrlID där “ErrorCode” påträffades.
Constructor-sammanfattning Error( ) Konstruerar ett nytt “Error-objekt” med värdefaltet till en början satt till noll. . n» n: v u n n n..u _ v" : ,. --~;',,° 3:1 2.... .... ... . .u . v" "° " ' ' I 'I 22 2' 2 1 ' 2 : 'f a.. nun -n on I I I I 'I - 35 ErrorÜavaJangString error, int i, java.lang.String addr, java.sql.Timestamp day, int type, int ri) Bygger ett nytt “Error-objekt” med värdefáltet till en början satt till de givna värdema.
Method-sammanfattning java.lang.String getAddress( ) Returnerar värdet av fältet “Address”. java.sql.Timestarnp g@@( ) Returnerar värdet av fältet “Date”. java.lang.String getErrorCode( ) Returnerar värdet av fältet “ErrorCode”. int gcfifl ) Returnerar värdet av fältet “ID”. void setAddressfiavalangString add) Fältet “Address” tilldelas det givna värdet. void smfiavasqlïimestamp d) Fältet “Date” tilldelas det givna värdet. void setErrorCodeÜ ava.lang.String error) Fältet “ErrorCode” tilldelas det givna värdet. void s_et_I_d(int i) Fältet “ID” tilldelas det givna värdet.
Metoder ârvda från klassen javaJang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj errorCode private java.lang.String errorCode. Feltext/meddelande. id private int id. UrlId där “ErrorCode” förekom. address private java.lang.String address. Url där “ErrorCode” förekom. date private java.sql.Timestamp date. Datum för “ErrorCode”.
Constructor-detalj Error public Error(java.lang.String error, int i, java.lang.String addr, java.sql.Timestamp day, int type, int ri). Bygger ett nytt “Error-objekt” med värdefältet till en början satt till givet värde. 516 216 36 Parametrar: error - Sträng innehållande feltext/meddelande. addr - Sträng med Url där felet förekom. day - Datum när felet hittades i form av “java.sq1.Date”.
Error public Error( ) Bygger ett nytt “Error-objekt” med värdefáltet till en början satt till noll.
Method-detalj getErrorC0de public java.lang.String getErrorCode( ). Skickar tillbaka värdet av fältet “ErrorCode”.
Returnerar: Returnerar den privata variabeln “ErrorCode” som en sträng. setErrorCode public void setErrorCodefiavalangString error). Fältet “ErrorCode” blir tilldelad det givna värdet.
Parametrar: error - Sträng med feltext/meddelande. getld public int getId( ). Returnerar värdet av fältet “ID”.
Retumerar: Skickar tillbaka den privata variabeln “ID” som ett heltal. setId public void setId(int i). Fältet “ID” tilldelas det givna värdet.
Parametrar: add - Ett heltal med “ID” där felet påträffades. geLAddress public java.1ang.String getAddress( ). Skickar tillbaka värdet av fältet “Address”.
Retumerar: Returnerar den privata variabeln “Address” som en sträng. setAddress public void setAddressÜavalangString add). Fältet “Address” tildelas det givna värdet.
Parametrar: 516 216 37 add - Sträng med adressen till där felet påträffades. getDate public java.sq1.Timestamp getDate( ). Skickar tillbaka värdet av fältet “Date”.
Returnerar: Returnerar den privata variabeln “Date” i form av “java.sql.Date”. setDate public void setDateÜavasqLTimestamp d). Fältet “Date” blir tilldelat det givna värdet.
Parametrar: d - A java.sql.Datum med det verkliga datumet.
KLASS NEWIMAGEAD java.lang.Object I +--Ad I +--NcwImageAd public class NewImageAd. extends Ad. “NewImageAd-klassen” bär information om nya an- nonser av typen bild.
Field-sammanfattning private java.lang.String extension Utbyggnad för bildfilen som har annonsen. private int mHöjden för annonsen. private java.lang.String imageHref Adressen och nanmet för bildfilen som har annonsen. private byte[] pict_ure_ “Bitstream” för bilden har armonsen. private int si_zç_ Storleken, mät i “bytes”, pâ armonsen. private int ¶dt_h_ Bredd på annonsen.
Fält ärvda från klassen Annons älg, sm, dä, ur_1.Id Constructor-sammanfattning NewlmageAdi ) Bygger ett nytt “NewImageAd-objekt” med värdefälten till en början satt till noll. 516 216 o a n a c o | o u | n . . n . o u» 38 NewImageAdÜava.sql.Timestamp day, int checksum, int id, int aid, int hei, int wi, int si, java.1ang. String im, java.lang.String ex, byte[] pic) Bygger ett nytt “NewImageAd-objekt” med värdefálten till en början satt till givna värden.
Method-sammanfattning java.lang.String getExtension( ) Skickar tillbaka värdet på fältet “Extension”. int getHeight( ) Retumerar värdet av fältet “Height”. java.lang.String getImageHref( ) Returnerar värdet av fältet “ImageHrefï byte[] getPicture( ) Skickar tillbaka “Bitstream” för armon- sen. int g@_iz_e( ) Returnerar värdet av fältet “Size”. int getWidth( ) Retumerar värdet av fältet “Width”. int makeCrc( ) Räknar “checksurn” för annonsen och skickar tillbaka värdet. boolean münt checksum) Indikerar om det givna heltalet är lika med kontrollsurnman för denna annons. void setExtensionÜava.lang.String ex) Fältet ”Extension” blir tilldelad det givna värdet. void setHeightfint hei) Fältet “Height” blir tilldelad det givna värdet. void setImageHrefO ava.lang. String im) Fältet ”ImageHrei” blir tilldelad det givna värdet. void setPicture(byte[] pic) Fältet “Picture” blir tilldelad det givna värdet. void êïsififint si) Fältet “Size” tilldelas det givna värdet. void setWidth(int vvi) Fältet “Width” tilldelas det givna värdet.
Metoder ärvda från klassen Ad getAdId, ggCrc, getDate, getUrlId, setAdId, setCrc, setDate, setUrlId 516 216 39 Metoder ärvda från klassen java. lang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj heíght private int heíght. Höj den för annonsen. width private int width. Bredden för armonsen. size private int size. Storleken, mät i “bytes”, för annonsen. imageHref private java.1ang.String imageHref. Adress och namn för bildfilen som bär annonsen. extension private java.1ang.String extension. Utbyggnaden för bildfilen som bär annonsen. picture private byte[] picture. “Bitstream” för bilden som bär annonsen.
Constructor-detalj NewImageAd public NewImageAdÜavasql.Timestamp day, int checksum, int id, int aid, int hei, int wi, int si, java.1ang.String im, java.1ang.String ex, byte[] pic). Bygger ett nytt “NewImageAd- objekt” med värdefálten till en början satt till de givna värdema. “Superclassconstructor” an- ropas för fälten med de givna värdema.
Parametrar: day - Det datum för när annonsen hittades i fonn av “java.sql.Tirnestamp”. checksum - Ett heltal med annonsens kontrollsumrna. id - Heltal med ID för Url där annonsen upptäcktes. aid - Heltal med ID för annonsen. hei - Heltal med annonsens höjd. wi - Heltal med armonsens bredd. si - Heltal med annonsens “Bytesize”. im - Sträng med armonsens adress och namn. 516 216 - o I u u n a o o o n Q . | . o n; 40 ex - Sträng med annonsens utbyggnad. pic - Uppställning med “bytes” med annonsens bild.
NewImageAd public NewImageAd( ). Bygger ett nytt “NewImageAd-objekt” med värdeíältet till en början satt till noll. “Defaultconstructor” för superklassen anropas.
Method-detalj match public boolean match(int checksum). Indikerar om det givna heltalet är lika med armonsens kontrollsumrna.
Overrides: Matchning i annonsklassen.
Parametrar: checksum - Heltal med kontollsumma Returnerar: Skickar tillbaka sant eller falskt beroende på om kontrollsumman matchade eller inte. makeCrc public int makeCrc( ). Räknar kontrollsumman för annonsen och skickar tillbaka dess värde.
Javaklassen “CRC32” används för att kalkylera kontrollsumma.
Overrides: “makeCrc” i armonsklassen Retumerar: Skickar tillbaka den kalkylerade kontrollsurnrnan som ett heltal. getHeight I public int getHeight( ). Retumerar värdet av fältet “Height”.
Retumerar: Retumerar den privata variabeln “Height” som ett heltal. setHeight public void setHeight(int hei). Fältet “Height” tilldelas det givna värdet.
Parametrar: hei - Heltal med höjden för annonsen. 516 216 41 getWidth public int getWidth( ). Retumerar värdet av fältet “Width”.
Retumerar: Skickar tillbaka den privata variabeln “Width” som ett heltal. setWidth public void setWidth(int Wi). Fältet “Width” tilldelas det givna värdet.
Parametrar: wi - Heltal med annonsens bredd. getSize public int getSize( ). Skickar tillbaka värdet av fältet “Size”.
Retumerar: Skickar tillbaka den privata variabeln “Size” som ett heltal. setSize public void setSize(int si). Fältet “Size” tilldelas det givna värdet.
Parametrar: si- Heltal med annonsens storlek. getImageHref public java.lang.String getIrnageHref( ). Skickar tillbaka värdet på fältet “ImageHrefÄ Returnerar: Returnerar den privata variabeln “ImageHreP som en sträng. setImageHref public void setImageHrefÜ ava.lang.String im). Fältet “ImageHreF tilldelas den givna värdet.
Parametrar: im - En sträng med annonsens adress och namn. getExtension public java.lang.String getExtension( ). Skickar tillbaka värdet av fältet “Extension”.
Returnerar: Skickar tillbaka den privata variabeln “Extension” i form av en sträng. setExtension public void setExtensionÜava.lang.String ex). Fältet “Extension” tilldelas det givna värdet.
Parametrar: ex - Sträng med annonsens utbyggnad. 516 216 n ' ' ' ' ' ; » . - .n 42 getPicture public byte[] getPicture( ). Skickar tillbaka “Bitstream” för annonsen.
Returnerar: Skickar tillbaka den privata variabeln “Picture” i form av en sträng. setPicture public void setPicture(byte[] pic). Fältet “Picture” tilldelas det givna värdet.
Pararnetrar: pic - Sträng med annonsens “Bitstream”.
KLASS PAGE java.lang.Object I +--Page public class Page extends java.lang.Obj ect Sidan laddar ned innehållet på websidan genom urtaget och öppnar ett flöde för att motta si- dans innehåll. Sidan skapar nya sidor om det förekommer “popups”, “mellanknappar” eller andra fonnat som kan tänkas innehålla nya sidor med reklam. “Content” innefattar sidinne- hållet dvs allt som servem sänder ut, som sidhuvud och htrnlsida. ”Com” är kommunikativa objekt som kan sammankopplas till webadress ”MyChildem” innehåller sidobjekt skapade av sidan och sidoma “children”.
Field-sammanfattning private Communication ß “Com” är ett kommunikationsobjekt . private java.lang.String content “Content” innehåller sidinnehållet. private java.lang.String myAddress “myAddress” är sidans adress. private java.lang.String myCookie “myCookie” är sidans adress. private DataBase myDataBase “myDataBase” är länken till databasen.
Constructor-sammanfattning Page(DataBase db, int id) “Constructor Empty”, inviger innehållet i en tom sträng och skapar ett kommunikationsobjekt, ett perlverktygobjekt, adress och vektor.
Method-sammanfattning private void checkAndSave(NewImageAd nia) private java.lang.String private java.lang.String private java.lang. String (package private) static void i private java.lang.String java.lang.String java.lang.String java.lang.String boolean java.lang.String private void private void 516 216 co oo- 43 checkIfCookie( ) Kontrollerar om det existerar coo- kie och sparar resultatet i ”Cookie vektor” eller en tom sträng. checkIfError() “CheckIfError” granskar om strängen är ett felmeddelande. checkNextAddressÜava.1ang.String address, java.lang.String hret) Kontrollerar att adressen är OK, dvs inleds med “http://”, annars görs en giss- ning. classFinalize( ) convertToStringÜ ava.util.Vector v) “ConvertToStr-ing” tar in en vektor och tar ett ele- I ment i taget och lägger in det i strängen. getContent( ) “GetContent” skickar tillbaka innehål- let ur “Content” som en string getMyAddress( ) “getMyAddress” returnerar “myAddress” som en sträng. getMyCookie( ) “getMyCookie” returnerar “myCookie” som en sträng. imageUpdateGavaawtlmage img, int infoflags, int x, int y, int width, int height ) l_og1(java.lang.String address, java.lang.String coo- kie) “Load” kopplar upp till sidan och hämtar inne- hållet. l¿1d_A¿1(N ewImageAd newIrnAd) Skapar en ny tör- bindelse till bilden där den är lagrad. lookForImageAd(int id, int numberOfTums, java.util.Vector keywords, java.lang.String address, java.util.Vector errors, java.util.Vector cookies, java.util.Vector foundAddresses) “lookForImageAd” söker igenom sidan på innehållet för “IMG-tags” kombinerade med nyckelord och vid träff skapar 516 216 .. år., o n r coon u u n o u w -mø o 4 un-cg. 44 metoden ett “newImageAd-obj ekt”, sätter in vektor som returneras från metoden, och anropar metoden “1oadAd”. void lookForPagesÜnt urlid, int nurnberOiPages, java.lang.String address, java.util.Vector format, java.util.Vector keywords, java.util.Vector errors, java.util.Vector cookies, java.util.Vector foundAdd- resses) “lookForPages” söker igenom innehållet på sidan för nya sidor och skapar ett nytt “new Page objekt”, samt talar om för “new Page” att ladda sig sj älv när den upptäcks. void setContentGavaJang. String c) “setContent” sparar stränginformationen i “myConten ” i “content”. void setMyAddressÜava.lang.String a) “setMyAddress” sparar stränginfonnationen i “Address” i “myAddress”. void setMyCookieÜavalangString a) “setMyCookie” sparar stränginforrnationen i “Address” i “myCookie”.
Metoder ärvda från klassen java. lang. Object clone, equals, flnalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj content private java.lang. String content. “Content” innehåller sidinnehållet. com private Communication com. “Com”är ett kommunikationsobjekt. myAddress private java.lang.String myAddress. “myAddress” är sidans adress. myCookie private java.lang.String myCookie. “myCookie” är sidans adress. 516 216 n o fi n u u u u o n I ~ ~ - I O 0 00 45 myDataBase private DataBase myDataBase. “myDataBase” är länken till databasen.
Constructor-detalj Page public Page(DataBase db) Tom “Constructor”, initierar innehållet till en tom sträng och ska- par ett kommunikationsobjekt, ett perlobjekt, adress och vektor.
Method-detalj getContent public java.lang. String getContent( ). “GetContent” returnerar innehållet ur “content” i form av en sträng.
Retumerar: Retums the page content. setContent public void setContentÜavaJangSn-ing c). “setContent” sparar stränginformationen i “myContent” i“content”.
Parametrar: c - En sträng med sidans innehåll. getMyAddress public java.lang.String getMyAddress( ). “getMyAddress” returnerar “myAddress” som en sträng.
Retumerar: Skickar tillbaka sidans adress. setMyAddress public void setMyAddressÜavaJangString a). “setMyAddress” sparar stränginformationen i “Address” i “myAddress”.
Parametrar: c - Sträng med sidans adress. getMyCaokie public java.lang.String getMyCookie( ). “getMyCookie” skickar tillbaka “myCookie” som en sträng.
Returnerar: 516 216 46 Returnerar sidans cookie. setMyCookie public void setMyCookieÜavalangString a). “setMyCookie” sparar stränginformationen i “address” i “in myCookie”.
Parametrar: c - Sträng med sidans cookie. load public java.lang.String loadÜavaJangString address, java.lang.String cookie) “Load” kopplar till sidan och tar innehållet. “Load” kontrollerar även om det existerar fel- meddelanden och om det finns cookies. Om det finns ett “300” felmeddelande kommer “load” att koppla upp till den i felmeddelandet hänvisade sidan. Villkor: adressen måste innehålla http://www. framför adressen. Adressen kan bli komplett med sidadress eller endast katalog.
“Content” kommer att hämta sidinnehållet.
Parametrar: addr - “Adress” innehåller Urladress som kommer att granskas. cookie - “Cookie” innehåller cookie, sist-föredatum.
Returnerar: En vektor med cookie och /eller felmeddelanden. checklfCookie private java.lang.String checkIfCookie( ). Kontrollerar om det finns cookie och sparar resul- tatet i cookievektor , samt skickar tillbaka cookiezn eller en tom sträng.
Returnerar: Vektor med cookies. checkIfError private java.lang. String checkIfError( ). “CheckIfError” granskar om strängen är ett felmed- delande.
Returnerar: Sträng med felmeddelandekod. lookForPages public void lookForPages(int urlid, int numberOfPages, java.lang.String address, java.util.Vector format, java.util.Vector keywords, java.util.Vector errors, java.util.Vector cookies). “lookForPages” söker efier nya sidor på sidan och skapar ett nytt “Page-objekt”, 516 216 o u a n . | » n o ø u u | Q | e n a. 47 samt talar om fór den nya sidan att ladda sig själv om den hittas. Arbetsflöde 1 skapar en sida, 2 laddar sidan, 3 utför “lookforpages”. När metoden är klar vet den om den har några “child pages”. Skapar fler sidor.
Pararnetrar: address - Adress innehåller sidans adress. format - “Format” är en beskrivning på olika html-fonnat som kan leda till andra sidor. cookie - “Cookie” innehåller all infonnation mellan “cookie” och “expire date”. error - “Errors” innehåller felmeddelandekod.
Returnerar: Vektor med fel-och cookieobjekt. lookForImageAd private void lookForImageAd(int id, int numberOfïurns, java.util.Vector keywords, java.lang.String address) throws java.lang.Exception. “lookForImageAd” söker igenom inne- hållet på sidan för att finna “IMG-tags” kombinerat med nyckelord, samt när det matchar ska- par metoden ett nytt “newImageAd-obj ekt”, sätter in en Vektor som skickas tillbaka från me- toden, och kontaktar metoden “loadAd”. Villkor: “load” måste först blivit kontaktad.
Pararnetrar: keywords - “Keywords” är en vektor med ord som ofla förekommer i närheten av reklamen.
Returnerar: “SpecialVector” med alla bildannonsobjekt.
Släpper: java.lang.Exception - Exception in lookForImageAd. Kan inte ladda “Ad”. java.lang.Exception - Exception in lookForImageAd. Kan inte ladda”new Page”. loadAd private void loadAd(NewImageAd newImAd). throws java.lang.Exception Skapar en ny förbindelse till där bilden är lagrad.
Parametrar: href- “Href” innehåller adressen vilken skall anslutas.
Släpper: java.lang.Exception - Exception in loadAd. Kan ej erhålla bildinnehåll: 516 216 ø ø u o nu 48 checkAndSave private void checkAndSave(NewImageAd nia). throws java.lang.Exception checkNextAddress private java.lang.String checkNextAddressÜava.lang.String address, java.lang.String href) Kontrollerar att adressen är OK, dvs inleds med “http://”, annars görs en gissning. Kopplar sedan staitadressen med den nya adressen och returnerar en ny sträng med den korrekta adres- sen.
Parametrar: addr - en sträng med en adress som skall stavningskontrolleras.
Returnerar: Korrekt stavad adress. con vertToString private java.lang.String convertToStringÜava.util.Vector v) “ConvertToString” tar in en vektor och tar ett element i taget, och sätter in den i en sträng.
Parametrar: v - En vektor med element.
Retumerar: s Sträng med alla vektorelement insatta. imageUpdate public boolean imageUpdateGavaawtImage img, int infoflags, int x, int y, int width, int height) classFinalíze static void classFinalize( ) throws java.lang.Throwable KLASS ROBOT java.lang.Object I +--Robot public Klassen robot extends java.lang.Obj ect Denna klass exemplifierar de andra klassema i “webspendrobotpackage” och anropar deras ”Method”. Robotklassen skaffar all behövd data från sqldatabasen. Den söker igenom alla 516 216 49 listade sidor, fem i taget, och söker armonser. När allt detta är klart lagras all ny data i sqlda- tabasen.
Field-sammanfattning static DataBase ß En instans av “DataBas-klassen” som handhar kommunikation med sqldatabasen. private java.util.Vector urlAddressList En vektor med alla listade sajter.
Constructor-sammanfattning Robot( ) Bygger ett nytt “Robot-objekt” med värdefältet till en början satt till noll.
Method-sammanfattning boolean checkSite(Data data) Loopar igenom den privata va- riabeln “urlAddressList”, exemplifierar sajtobjekt för varje looprunda, maximalt fem åt gången, samt anro- par “sta1t” som utfärdar “runmethod” i “Siteclass”. java.util.Vector getUrlAddressList( ) Returnerar värdet av fältet “UrlAddressList”. void loadAllFromDb(Data data, java.lang.String s) Härn- tar data från sqldatabasen genom det privata “DataBas-obj eket” och sätter in informationen i den privata variabeln “UrlAddressList” och i vektorerna i den givna dataobj ektparametern. void saveAllToDb(Data data, java.lang.String s) Lagrar all ny data given av “inparameters” i sqldata- basen genom interna “DataBaseobjecfï void setUrlAddressListÜava.util.Vector urlList) Fältet “UrlAddressList” tilldelas det givna värdet.
Metoder ärvda från klassen java. lang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj urlAddressList private java.util.Vector urlAddressList. En vektor med alla listade sajter. 516 216 50 db public static DataBase db. En instans av “DataBase”-klassen som tar hand om kommunikatio- nen med sqldatabasen.
Constructor-detalj Robot public Robot( ). throws java.lang.Exception. Bygger ett nytt “Robot-objekt” med värdefáltet till en början satt till noll.
Method-detalj getUrlAddressList public java.util.Vector getUrlAddressList( ). Returnerar värdet av fáltet“Ur1AddressList”.
Retumerar: Returnerar den privata variabeln “UrlAddressList” som en Vektor. setUrlAddressList public void setUrlAddressListfiava.util.Vector urlList). Fältet “UrlAddressList” blir tilldelad det givna värdet.
Parametrar: urlList - Vektor med adressema till de listade saj tema. loadAllFromDb public void loadAllFromDb(Data data, java.lang.String s). throws java.lang.Exception Hämtar data fiån sqldatabasen genom det privata “DataBaseobject” och sätter in inforrnatio- nen i den privata variabeln “UrlAddressList” och i vektorema i den givna “Dataobjectparameter”.
Parametrar: data - “Dataobj ect”, referens med delad information. s - En sträng som talar om en cookie skall laddas eller ej.
Släpper: java.lang.Exception - Exception in Robot.loadAIlFromDb. checkSite public boolean checkSite(Data data). Loopar igenom den privata variabeln “urlAddressList”, exemplifierar ett “Siteobject” för varje looprunda, maximalt fem åt gången, och anropar “start” som utfärdar “runrnethod” i “Siteclass”. 516 216 51 Parametrar: data - ”Dataobject”, referens med delad information.
Returnerar: ready sätts till sant när klart. saveAll T oDb public void saveAllToDb(Data data, java.lang.String s). throws java.lang.Exception Lagrar all ny data given av parametem (inparameter) i sqldatabasen genom den privata “DataBaseobjecfÄ Parametrar: data - “Dataobj ect”, en referens med delad information. oldlmageHits - En vektor med “ImageAdobj ects”. s - Sträng som talar om ifall cookies skall lagras eller ej.
Släpper: java.lang.Exception - Exception in Robot.saveAllToDb.
KLASS SITE java.1ang.0bject I +--java.lang.Thread I +--Site Ppblic class Site, extends javalangïhread Klass Site är trådad. ”Site” skapar ett “Pageobjekt”, talar om att ladda sidan, samla innehållet på sidan, söka efter nya länkade sidor, samt finna all reklam på sidorna.
Field-sammanfattning private Data dïa Data delad av alla trådar. private DataBase database Kopplingen till databasen. private URLAddress urlAddress Url och cookie för sajten.
Fält ärvda från klassen Annonsjavmlang. Thread contextClassLoader, daemon, eetop, group, inheritableThreadLoca1s, inheritedAccessCon- trolContext, MAX_PRIORITY, MIN_PRIORITY, name, NORM_PRIORITY, priority, sin- gle_step, stillbom, stopThreadPermission, target, threadInitNumber, threadLocals, threadQ 516 216 52 Constructor-sammanfattning Site(Data d, URLAddress u, DataBase db) Bygger ett nytt “Site-objekt” med värdefaltet till en början satt till de givna värdema.
Method-sammanfattning (package private) static void classFinalize( ) void _rtm( ) “Run-metoden” skapar en tråd och sen en sida, samt talar om för den att utföra “Pageclassmethod load”.
Metoder ärvda från klassen java.lang. Thread activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumer- ate, exit, getContextClassLoader, getName, getPriority, getThreadGroup, init, interrupt, inter- rupt0, interrupted, isAlive, isDaemon, isInterrupted, isInterrupted, join, join, join, nextThreadNum, registerNatives, resume, resume0, setContextClassLoader, setDaemon, set- Name, setPriority, setPriority0, sleep, sleep, start, stop, stop, stop0, suspend, suspend0, toString, yield Metoder ärvda från klassen java. lang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Field-detalj data private Data data. Data delad av alla trådar. urlAddress private URLAddress urlAddress. Url och cookie för sajten. database private DataBase database. Förbindelsen till databasen.
Constructor-detalj Site public Site(Data d, URLAddress u, DataBase db). Bygger ett nytt “Site-objekt” med värde- falten till en början satt till givna värden.
Parametrar: d - Dataobjekt med all delad information. u - “URLAdressobjekt” med all information om sajten. 516 216 o v n w oo 53 Method-detalj run public void run( ). “Run-metoden” skapar en “thread” och sen en sida, samt talar om den att utföra “Pageclassmethod load”. Den kontrollerar om sidan innehåller fler sidor genom att an- ropa “Pageclassmethod lookForPages” , som även söker efter reklam. Alla armonser är spara- de i vektom “NewImageAdList”.
Ovenides: Körs i class java.lang.Thread classFinalize static void classFinalize( ). throws java.lang.Throwable KLASS URLADDRESS java.lang.Object I +--URLAddress public class URLAddress. extends java.lang.Object. Klass för lagring av information om si- dan eller cookiezn.
Field-sammanfattning private java.lang.String ajjgs Url för sajten. private java.lang.String gg; Sajtens cookie. private int cookieId ID för cookiezn. private int Ål ID för sajten.
Constructor-sammanfattning URLAddress() Konstruerar ett nytt “NewImageAd-obj ekt” med värdefältet till en början satt till noll.
URLAddress(int id, java.lang.String add, int cold, java.lang.String co) Skapar ett nytt “UrlAddress-obj ekt” med värdefálten till en början satt till de givna värdema.
Method-sammanfattning java.lang.String getAddress( ) Returnerar värdet av fältet “Address”. java.lang.String getCookie( ) Returnerar värdet av fältet “cookie”. int getCookieId( ) Retumerar värdet av fältet “Cookield”. 516 216 54 int getUrlId( ) Returnerar värdet av fältet “UrlID”. void setAddressÜavaJang. String add) Fältet “Address” tilldelas det givna värdet. void setCookiefiavalangString co) Fältet “Cookie” till- delas det givna värdet. void setCookieId(int id) Fältet “CookieId” tilldelas det givna värdet. void setUrlId(int id) Fältet ”UrlId” tilldelas det givna vär- det.
Metoder ärvda från klassen java.lang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Field-detalj urlId private int urlId. ID för sajten. address private java.lang.String address. Url för sajten. cookieId private int cookieId. ID för cookie:n. cookie private java.lang.String cookie. Sajtens cookie.
Constructor-detalj URLAddress public URLAddress(int id, java.lang.String add, int cold, java.lang.String co). Bygger ett nytt “UrlAdress-obj ekt” med värdetfältet till en början satt till de givna värdet.
Pararnetrar: i id - Heltal med sajtens ID. add - Sträng med sajtens Url. cold - Heltal med cookieID. co - Sträng med sajtens cookie. 516 216 o u ø v »o 55 URLAddress public URLAddress( ). Bygger ett nytt “NewImageAd-obj ekt” med värdefältet till en början satt till noll.
Method-detalj getUrlId public int getUrlId( ). Skickar tillbaka värdet på fältet “UrlId”.
Retumerar: Skickar tillbaka den privata variabeln “UrlID” som ett heltal. setUrlId public void setUr1Id(int id). Fältet ”UrlID” tilldelas det givna värdet.
Parametrar: id - Heltal med sajtens ID. getAddress public java.lang.String getAddress( ). Returnerar värdet av fältet “Address”.
Returnerar: Skickar tillbaka den privata variabeln “Address” som en sträng. setAddress public void setAddress(java.lang.String add). Fältet “Address” tilldelas det givna värdet.
Parametrar: add - Sträng med sajtens Url. getCookieId public int getCookieId( ). Skickar tillbaka värdet på fältet “CookieID”.
Returnerar: Retumerar den privata variabeln “CookieID” som ett heltal. setCookieId public void setCookieId(int id). Fältet “CookieID” tilldelas det givna värdet.
Parametrar: id - Heltal med cookieID. getCookie public java.lang.String getCookie( ). Skickar tillbaka värdet på fältet “Cookie”.
Retumerar: Skickar tillbaka den privata variabeln “Cookie” som en sträng. 516 216 :us 56 setCookie public void setCookieGavaJangString co). Fältet “Cookie” blir tilldelad det givna värdet.
Parametrar: co ~ Sträng med sajtens cookie.
KLASS WEBSPENDROBOT java.lang.Object I +--WebSpendRobot public class WebSpendRobot. extends java.lang.Object Constructor-sammanfattning WebSpendRobot( ) Method-sammanfattning static void ífiavalangßtringfl args) Metoder ärvda från klassen javaJang. Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait Constructor-detalj WebSpendRobot public WebSpendRobot( ) Method-detalj main public static void mainGava.lang.String[] args)

Claims (6)

10 15 20 57 PATENTKRAV
1. l. Mjukvarurobot innefattande funktioner för att undersöka åtminstone en webbplats med avseende pà presentation av aktivitet, varvid mjukvaruroboten - webbsurfar till en uppsättning webbadresser - identifierar aktivitet, - tillhandahåller information om aktiviteten för lagring och presentation.
2. Mjukvarurobot enligt patentkrav 1, varvid aktiviteten är annonseringsaktivitet.
3. Mjukvarurobot enligt patentkrav l, varvid aktiviteten är aktivitet i ett diskussionsforum.
4. Mjukvarurobot enligt patentkrav 2, varvid annonseringsaktiviteten är i form av bannerpresentation.
5. Mjukvarurobot enligt patentkrav 2 eller 4, varvid roboten klassificerar annonserna.
6. Mjukvarurobot enligt nàgot av patentkraven 2, 4 eller 5, varvid mjukvaruroboten: r - utför statistiska beräkningar med avseende pà informationen om de identifierade annonserna, - presenterar statistisk information erhàllen åtminstone delvis fràn de statistiska beräkningarna.
SE9904775A 1999-12-23 1999-12-23 Mjukvarurobot för informationshantering i ett datanät. SE516216C2 (sv)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE9904775A SE516216C2 (sv) 1999-12-23 1999-12-23 Mjukvarurobot för informationshantering i ett datanät.
EP00989130A EP1244990A1 (en) 1999-12-23 2000-12-21 Method and system for handling of information in a computer network
PCT/SE2000/002634 WO2001048653A1 (en) 1999-12-23 2000-12-21 Method and system for handling of information in a computer network
AU25674/01A AU2567401A (en) 1999-12-23 2000-12-21 Method and system for handling of information in a computer network
US09/742,324 US20020032767A1 (en) 1999-12-23 2000-12-22 Method and system for handling of information in a computer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9904775A SE516216C2 (sv) 1999-12-23 1999-12-23 Mjukvarurobot för informationshantering i ett datanät.

Publications (3)

Publication Number Publication Date
SE9904775D0 SE9904775D0 (sv) 1999-12-23
SE9904775L SE9904775L (sv) 2001-06-24
SE516216C2 true SE516216C2 (sv) 2001-12-03

Family

ID=20418300

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9904775A SE516216C2 (sv) 1999-12-23 1999-12-23 Mjukvarurobot för informationshantering i ett datanät.

Country Status (5)

Country Link
US (1) US20020032767A1 (sv)
EP (1) EP1244990A1 (sv)
AU (1) AU2567401A (sv)
SE (1) SE516216C2 (sv)
WO (1) WO2001048653A1 (sv)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2370888B (en) * 2001-01-09 2003-03-19 Searchspace Ltd A method and system for combating robots and rogues
US7279174B2 (en) * 2003-05-08 2007-10-09 Advanced Cardiovascular Systems, Inc. Stent coatings comprising hydrophilic additives

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740549A (en) * 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US5999912A (en) * 1996-05-01 1999-12-07 Wodarz; Dennis Dynamic advertising scheduling, display, and tracking
US5935207A (en) * 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US6115742A (en) * 1996-12-11 2000-09-05 At&T Corporation Method and apparatus for secure and auditable metering over a communications network
US6304904B1 (en) * 1997-03-27 2001-10-16 Intel Corporation Method and apparatus for collecting page-level performance statistics from a network device
US6353929B1 (en) * 1997-06-23 2002-03-05 One River Worldtrek, Inc. Cooperative system for measuring electronic media
US6366298B1 (en) * 1999-06-03 2002-04-02 Netzero, Inc. Monitoring of individual internet usage
US6606581B1 (en) * 2000-06-14 2003-08-12 Opinionlab, Inc. System and method for measuring and reporting user reactions to particular web pages of a website
US6701363B1 (en) * 2000-02-29 2004-03-02 International Business Machines Corporation Method, computer program product, and system for deriving web transaction performance metrics
US6477575B1 (en) * 2000-09-12 2002-11-05 Capital One Financial Corporation System and method for performing dynamic Web marketing and advertising

Also Published As

Publication number Publication date
AU2567401A (en) 2001-07-09
SE9904775D0 (sv) 1999-12-23
US20020032767A1 (en) 2002-03-14
SE9904775L (sv) 2001-06-24
WO2001048653A1 (en) 2001-07-05
EP1244990A1 (en) 2002-10-02

Similar Documents

Publication Publication Date Title
US6996798B2 (en) Automatically deriving an application specification from a web-based application
US9753706B2 (en) Adding directives for versions of source files directly into source code
US6490584B2 (en) User-centered push methods and system
US6605120B1 (en) Filter definition for distribution mechanism for filtering, formatting and reuse of web based content
US6806890B2 (en) Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US8001478B2 (en) Systems and methods for context personalized web browsing based on a browser companion agent and associated services
US6873981B2 (en) Method and system for parsing navigation information
US7027975B1 (en) Guided natural language interface system and method
US20020073165A1 (en) Real-time context-sensitive customization of user-requested content
US20030149567A1 (en) Method and system for using natural language in computer resource utilization analysis via a communications network
US20110153465A1 (en) Contextual computing system
US20020042750A1 (en) System method and article of manufacture for a visual self calculating order system over the world wide web
WO2001025958A2 (en) Selective proxy approach to filling-in forms embedded in distributed electronic documents
KR20060121923A (ko) 인터넷 상의 웹사이트들의 동작을 분석하기 위한 방법 및툴
WO2004088479A2 (en) Online intelligent multilingual comparison-shop agents for wireless networks
KR20090016745A (ko) 원격 모듈용 메시지 목록
US20040117349A1 (en) Intermediary server for facilitating retrieval of mid-point, state-associated web pages
US6941339B1 (en) Stated network portal system and method
US20110022563A1 (en) Document display system, related document display method, and program
US20050273768A1 (en) Method of and system for providing path based object to XML mapping
WO2001009771A9 (en) Targeted advertising system
US7519578B2 (en) Ubiquitous search framework
SE516216C2 (sv) Mjukvarurobot för informationshantering i ett datanät.
US20160226722A1 (en) Impact Analysis of Service Modifications in a Service Oriented Architecture
CN115242638B (zh) 可行触达的筛选方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
NUG Patent has lapsed

Ref document number: 9904775-5

Format of ref document f/p: F