Commit d4610701 authored by Bc. Matúš Husovský's avatar Bc. Matúš Husovský
Browse files

# Doplnene komentare-balik accounting

parent bd958544
#Mon, 09 Mar 2015 17:17:42 +0100
#Sat, 18 Apr 2015 22:16:06 +0200
/home/matus/Plocha/SLAmeterv2/novy_JXColl/jxcoll=
No preview for this file type
......@@ -3,7 +3,10 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/home/matus/Plocha/SLAmeterv2/novy_JXColl/jxcoll/src/sk/tuke/cnl/bm/JXColl/accounting/AccountingRecordsExporter.java</file>
<file>file:/home/matus/Plocha/SLAmeterv2/novy_JXColl/jxcoll/src/sk/tuke/cnl/bm/JXColl/accounting/AccountingManager.java</file>
<file>file:/home/matus/Plocha/SLAmeterv2/novy_JXColl/jxcoll/src/sk/tuke/cnl/bm/JXColl/accounting/AccountingRecordsCache.java</file>
<file>file:/home/matus/Plocha/SLAmeterv2/novy_JXColl/jxcoll/src/sk/tuke/cnl/bm/JXColl/accounting/AccountingRecord.java</file>
</group>
</open-files>
</project-private>
......@@ -44,39 +44,54 @@ import sk.tuke.cnl.bm.JXColl.Support;
* @author Michal Kascak
*/
public class AccountingManager {
/** Slúži na vypisovanie logovacích správ do konzoly **/
private static Logger log = Logger.getLogger(AccountingManager.class.getName());
/** Cache uctovacich zaznamov*/
/** Cache učtovacích zaznamov*/
private AccountingRecordsCache accRecordCache;
/** Exporter uctovacich zaznamov*/
/** Exporter učtovacích zaznamov*/
private AccountingRecordsExporter accExporter;
/** Element sablony*/
/** Element šablóny*/
private FieldSpecifier fieldSpecifier;
/** uctovaci zaznam*/
/** Účtovaci záznam*/
private AccountingRecord accRecord;
/** Zdrojová IP adresa toku*/
private byte[] sourceIPv4Address;
/** Cieľová IP adresa toku*/
private byte[] destinationIPv4Address;
/** Zdrojová MAC adresa toku*/
private byte[] sourceMAC;
/** Cieľová MAC adresa toku*/
private byte[] destinationMAC;
/** Pole bajtov identifikátora aplikácie toku*/
private byte[] applicationIdArray;
/** Pomocné pole identifikátora aplikácie toku*/
private byte[] tempIdArray;
/** Meno aplikácie toku*/
private String applicationName;
/** Identifikátor aplikácie toku*/
private int applicationId;
/** Transportný protokol toku*/
private short protocolIdentifier;
/** Zdrojový port toku*/
private int sourcePort;
/** Cieľový port toku*/
private int destinationPort;
/** Hodnota DSCP toku*/
private short ipDiffServCodePoint;
/** Hodnota multicast toku*/
private boolean isMulticast;
//private long flowStartSeconds;
// private long octetDeltaCount;
/** Počet oktetov toku*/
private long octetDeltaCount;
/** Počet paketov toku*/
private long packetDeltaCount;
/** Časová pečiatka začiatku toku*/
private long firstFlowStartMilliseconds;
private long lastFlowStartMilliseconds;
/** Časová pečiatka ukončenia toku*/
private long lastFlowEndMiliseconds;
/** Pomocná premenná pre zdrojovú IP toku*/
private InetAddress sourceIPv4AddressInet;
/** Pomocná premenná pre cieľovú IP toku*/
private InetAddress destinationIPv4AddressInet;
/** Zoznam poli v spracovavanej sablone*/
......@@ -276,6 +291,12 @@ public class AccountingManager {
return ByteBuffer.wrap(b).getInt();
}
*/
/**
* Konverzia 4bajtového poľa do celočíselnej hodnoty. Špecifická konverzia
* pre hodnotu identifikátora aplikácie.
* @param encodedValue
* @return
*/
public static int byteArrayToInt(byte[] encodedValue) {
int index = 0;
int value = encodedValue[index++] << Byte.SIZE * 3;
......
......@@ -27,24 +27,39 @@ import java.util.Date;
* @author Michal Kascak
*/
public class AccountingRecord {
/** Zdrojová IP adresa účtovacieho záznamu */
private byte[] sourceIPv4Address;
/** Cieľová IP adresa účtovacieho záznamu */
private byte[] destinationIPv4Address;
/** Zdrojová MAC adresa účtovacieho záznamu*/
private byte[] sourceMAC;
/** Cieľová MAC adresa účtovacieho záznamu */
private byte[] destinationMAC;
/** Transportný protokol účtovacieho záznamu */
private short protocolIdentifier;
/** Zdrojový port účtovacieho záznamu */
private int sourcePort; // Ci sa jedna o UDP alebo TCP port je uvedene v protocolIdentifier
/** Cieľový port účtovacieho záznamu */
private int destinationPort;
/** Hodnota DSCP účtovacieho záznamu */
private short ipDiffServCodePoint;
/** Hodnota štartu(časovej známky) prvého toku záznamu */
private long firstFlowStart;
/** Hodnota ukončenia(časovej známky) posledného toku záznamu */
private long lastFlowEnd;
/** Hodnota multicastu účtovacieho záznamu*/
private boolean isMulticast;
/** Hodnota počtu bajtov účtovacieho záznamu*/
private long octetDeltaCount; // Max velkost prenesenych dat je 4,3GB pre jeden uctovaci zaznam
/** Hodnota počtu paketov účtovacieho záznamu*/
private long packetDeltaCount; // Tato hodnota ani nie je potrebna pre uctovanie
/** Hodnota počtu tokov účtovacieho záznamu*/
private int flowCount = 0;
/** Identifikátor aplikácie účtovacieho záznamu*/
private int applicationId;
/** Meno aplikácie účtovacieho záznamu*/
private String applicationName;
/** Vytvara novu instanciu triedy */
/** Vytvara novu instanciu triedy účtovacieho záznamu*/
public AccountingRecord() {
}
......
......@@ -86,7 +86,7 @@ public class AccountingRecordsCache {
}
/**
* Vrati cely hash tabulku cache
* Vrati celu hash tabulku cache
* @return Hash tabulka cache
*/
public Hashtable<Integer, AccountingRecord> getArCache() {
......
......@@ -35,15 +35,18 @@ import sk.tuke.cnl.bm.JXColl.Support;
public class AccountingRecordsExporter {
private static Logger log = Logger.getLogger(AccountingRecordsExporter.class.getName());
/** casovac pre export zaznamov */
/** Casovac pre export zaznamov */
private Timer timer;
/** Objekt pre databazovu konektivitu */
private MongoClient pgclient;
/** Cache uctovacich zaznamov */
private AccountingRecordsCache arCache;
//private Hashtable<Integer, AccountingRecord> cache;
/**Začiatok prvého toku účtovacieho záznamu.*/
private Date dateFirstFlowStartMilliseconds;
/**Koniec posledného toku účtovacieho záznamu.*/
private Date dateLastFlowEndMilliseconds;
/**Hodnota stredného času účtovacieho záznamu*/
private Date dateAverage;
......@@ -136,7 +139,7 @@ public class AccountingRecordsExporter {
timer.schedule(new DoExportTimerTask(), AR_EXPORT_INTERVAL);
}
/** uloha pre casovac, ktora spusta export do databazy */
/** Uloha pre casovac, ktory spusta export do databazy */
private class DoExportTimerTask extends TimerTask{
/** Vola metodu flushCacheToDB */
public void run(){
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment