From 42a8be840a965f4b6b0dad8f843f64f5926acb58 Mon Sep 17 00:00:00 2001 From: ghost Date: Sun, 13 Aug 2023 00:15:59 +0300 Subject: [PATCH] update database structure --- database/yggstate.mwb | Bin 9507 -> 14290 bytes media/db-prototype.png | Bin 62034 -> 118381 bytes src/crontab/crawler.php | 204 +++++++++++++------ src/library/mysql.php | 430 ++++++++++++++++++++++++++++++++++------ 4 files changed, 519 insertions(+), 115 deletions(-) diff --git a/database/yggstate.mwb b/database/yggstate.mwb index 330f18f3a9f49fd1622c8df4f8aa7feb697a063b..941019feb753abf940c6629244010f310cdeae0e 100644 GIT binary patch literal 14290 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%0D!(QC5l}O;TA{M4Pd4)ntU-0@`>f{ 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�wirb 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

    wVuJ4Cox}vaR&9yL@(h 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 0, 'insert' => 0, ], - 'remote' => [ + 'session' => [ 'total' => [ 'insert' => 0, 'update' => 0, ] ], + 'remote' => [ + 'total' => [ + 'insert' => 0, + ], + 'scheme' => [ + 'total' => [ + 'insert' => 0, + ] + ], + 'host' => [ + 'total' => [ + 'insert' => 0, + ] + ], + 'port' => [ + 'total' => [ + 'insert' => 0, + ] + ] + ], 'coordinate' => [ 'total' => [ 'insert' => 0, @@ -52,10 +72,14 @@ $debug = [ 'route' => [ 'total' => [ 'insert' => 0, - 'delete' => 0, ] ] ], + 'connection' => [ + 'total' => [ + 'insert' => 0, + ], + ], ] ] ]; @@ -73,7 +97,7 @@ try { } // Collect connected peers -if ($connectedPeers = Yggverse\Yggdrasilctl\Yggdrasil::getPeers()) { +if ($connectedPeers = \Yggverse\Yggdrasilctl\Yggdrasil::getPeers()) { foreach ($connectedPeers as $connectedPeerAddress => $connectedPeerInfo) { @@ -94,97 +118,165 @@ if ($connectedPeers = Yggverse\Yggdrasilctl\Yggdrasil::getPeers()) { } } - // Init peer remote - if ($connectedPeerRemoteUrl = Yggverse\Parser\Url::parse($connectedPeerInfo->remote)) { + // Init peer session + if ($dbLastPeerSession = $db->findLastPeerSessionByPeerId($dbPeerId)) { - if ($dbPeerRemote = $db->findPeerRemote($dbPeerId, - $connectedPeerRemoteUrl->host->scheme, - $connectedPeerRemoteUrl->host->name, - $connectedPeerRemoteUrl->host->port)) { + $dbPeerSessionId = $dbLastPeerSession->peerSessionId; - // Update connection stats - if ($dbPeerRemote->received < $connectedPeerInfo->bytes_recvd) { + // If remote session uptime < than stored, register new one + if ($connectedPeerInfo->uptime < $dbLastPeerSession->uptime) { - $debug['yggdrasil']['peer']['remote']['total']['update'] += - $db->updatePeerRemoteReceived($dbPeerRemote->peerRemoteId, $connectedPeerInfo->bytes_recvd, time()); + if ($dbPeerSessionId = $db->addPeerSession($dbPeerId, + round($connectedPeerInfo->uptime), + $connectedPeerInfo->bytes_sent, + $connectedPeerInfo->bytes_recvd, + time())) { + + $debug['yggdrasil']['peer']['session']['total']['insert']++; } - if ($dbPeerRemote->sent < $connectedPeerInfo->bytes_sent) { + } else { - $debug['yggdrasil']['peer']['remote']['total']['update'] += - $db->updatePeerRemoteSent($dbPeerRemote->peerRemoteId, $connectedPeerInfo->bytes_sent, time()); - } + $debug['yggdrasil']['peer']['session']['total']['update'] += + $db->updatePeerSession($dbLastPeerSession->peerSessionId, + round($connectedPeerInfo->uptime), + $connectedPeerInfo->bytes_sent, + $connectedPeerInfo->bytes_recvd, + time()); + } - if ($dbPeerRemote->uptime < $connectedPeerInfo->uptime) { + } else { - $debug['yggdrasil']['peer']['remote']['total']['update'] += - $db->updatePeerRemoteUptime($dbPeerRemote->peerRemoteId, $connectedPeerInfo->uptime, time()); + if ($dbPeerSessionId = $db->addPeerSession($dbPeerId, + round($connectedPeerInfo->uptime), + $connectedPeerInfo->bytes_sent, + $connectedPeerInfo->bytes_recvd, + time())) { + + $debug['yggdrasil']['peer']['session']['total']['insert']++; + } + } + + // Init peer coordinate + if ($dbPeerCoordinate = $db->findLastPeerCoordinateByPeerId($dbPeerId)) { + + $dbPeerCoordinateId = $dbPeerCoordinate->peerCoordinateId; + + // Peer have changed it port, init new coordinate + if ($dbPeerCoordinate->port != $connectedPeerInfo->port) { + + if ($dbPeerCoordinateId = $db->addPeerCoordinate($dbPeerId, $connectedPeerInfo->port, time())) { + + $debug['yggdrasil']['peer']['coordinate']['total']['insert']++; } + } - $debug['yggdrasil']['peer']['remote']['total']['update'] += - $db->updatePeerRemoteTimeOnline($dbPeerRemote->peerRemoteId, time()); + } else { - } else { + if ($dbPeerCoordinateId = $db->addPeerCoordinate($dbPeerId, $connectedPeerInfo->port, time())) { + + $debug['yggdrasil']['peer']['coordinate']['total']['insert']++; + } + } - if ($peerRemoteId = $db->addPeerRemote($dbPeerId, - $connectedPeerRemoteUrl->host->scheme, - $connectedPeerRemoteUrl->host->name, - $connectedPeerRemoteUrl->host->port, - $connectedPeerInfo->bytes_recvd, - $connectedPeerInfo->bytes_sent, - $connectedPeerInfo->uptime, - time())) { + // Init peer coordinate route + $dbCoords = []; + foreach ($db->findPeerCoordinateRouteByCoordinateId($dbPeerCoordinateId) as $dbPeerCoordinateRoute) { + $dbCoords[$dbPeerCoordinateRoute->level] = $dbPeerCoordinateRoute->port; + } - $debug['yggdrasil']['peer']['remote']['total']['insert']++; + // Compare remote / local route, create new on changed + if ($dbCoords !== $connectedPeerInfo->coords) { - $debug['yggdrasil']['peer']['remote']['total']['update'] += - $db->updatePeerRemoteTimeOnline($peerRemoteId, time()); + if ($dbPeerCoordinateId = $db->addPeerCoordinate($dbPeerId, $connectedPeerInfo->port, time())) { + + $debug['yggdrasil']['peer']['coordinate']['total']['insert']++; + } + + foreach ($connectedPeerInfo->coords as $level => $port) { + + if ($db->addPeerCoordinateRoute($dbPeerCoordinateId, $level, $port)) { + + $debug['yggdrasil']['peer']['coordinate']['route']['total']['insert']++; } } + } - // Init peer coordinate - if ($dbPeerCoordinate = $db->getLastCoordinate($dbPeerId)) { + // Init peer remote + if ($connectedPeerRemoteUrl = \Yggverse\Parser\Url::parse($connectedPeerInfo->remote)) { - $peerCoordinateId = $dbPeerCoordinate->peerCoordinateId; + // Init peer scheme + if ($dbPeerRemoteScheme = $db->findPeerRemoteScheme($connectedPeerRemoteUrl->host->scheme)) { - // Create new peer coordinate on port change - if ($dbPeerCoordinate->port !== $connectedPeerInfo->port) { + $dbPeerRemoteSchemeId = $dbPeerRemoteScheme->peerRemoteSchemeId; - if ($peerCoordinateId = $db->addPeerCoordinate($dbPeerId, $connectedPeerInfo->port, time())) { + } else { + + if ($dbPeerRemoteSchemeId = $db->addPeerRemoteScheme($connectedPeerRemoteUrl->host->scheme, time())) { - $debug['yggdrasil']['peer']['coordinate']['total']['insert']++; - } + $debug['yggdrasil']['peer']['remote']['scheme']['total']['insert']++; } + } + + // Init peer host + if ($dbPeerRemoteHost = $db->findPeerRemoteHost($connectedPeerRemoteUrl->host->name)) { + + $dbPeerRemoteHostId = $dbPeerRemoteHost->peerRemoteHostId; } else { - if ($peerCoordinateId = $db->addPeerCoordinate($dbPeerId, $connectedPeerInfo->port, time())) { + if ($dbPeerRemoteHostId = $db->addPeerRemoteHost($connectedPeerRemoteUrl->host->name, time())) { - $debug['yggdrasil']['peer']['coordinate']['total']['insert']++; + $debug['yggdrasil']['peer']['remote']['host']['total']['insert']++; } } - // Init peer coordinate routing - $localPeerCoordinateRoute = []; - foreach ($db->getPeerCoordinateRoute($peerCoordinateId) as $dbPeerCoordinateRoute) { + // Init peer port + if ($dbPeerRemotePort = $db->findPeerRemotePort($connectedPeerRemoteUrl->host->port)) { + + $dbPeerRemotePortId = $dbPeerRemotePort->peerRemotePortId; + + } else { + + if ($dbPeerRemotePortId = $db->addPeerRemotePort($connectedPeerRemoteUrl->host->port, time())) { - $localPeerCoordinateRoute[$dbPeerCoordinateRoute->level] = $dbPeerCoordinateRoute->port; + $debug['yggdrasil']['peer']['remote']['port']['total']['insert']++; + } } - // Compare remote and local routes to prevent extra writing operations - if ($localPeerCoordinateRoute !== $connectedPeerInfo->coords) { - $debug['yggdrasil']['peer']['coordinate']['route']['total']['delete'] += - $db->flushPeerCoordinateRoute($peerCoordinateId); + if ($dbPeerRemote = $db->findPeerRemote($dbPeerId, + $dbPeerRemoteSchemeId, + $dbPeerRemoteHostId, + $dbPeerRemotePortId)) { - foreach ($connectedPeerInfo->coords as $level => $port) { + $dbPeerRemoteId = $dbPeerRemote->peerRemoteId; + + } else { - if ($db->addPeerCoordinateRoute($peerCoordinateId, $level, $port)) { + if ($dbPeerRemoteId = $db->addPeerRemote($dbPeerId, + $dbPeerRemoteSchemeId, + $dbPeerRemoteHostId, + $dbPeerRemotePortId, + time())) { - $debug['yggdrasil']['peer']['coordinate']['route']['total']['insert']++; - } + $debug['yggdrasil']['peer']['remote']['total']['insert']++; } } + + // If something went wrong with URL parse, skip next operations for this peer + } else { + + continue; + } + + // Init peer connection + if (!$db->findPeerConnection($dbPeerSessionId, $dbPeerRemoteId, $dbPeerCoordinateId)) { + + if ($db->addPeerConnection($dbPeerSessionId, $dbPeerRemoteId, $dbPeerCoordinateId, time())) { + + $debug['yggdrasil']['peer']['connection']['total']['insert']++; + } } $debug['yggdrasil']['peer']['total']['online']++; diff --git a/src/library/mysql.php b/src/library/mysql.php index 4049ba8..204ce33 100644 --- a/src/library/mysql.php +++ b/src/library/mysql.php @@ -81,6 +81,28 @@ class MySQL { return $query->fetch(); } + public function getPeersTotal() : int { + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT COUNT(*) AS `result` FROM `peer`'); + + $query->execute(); + + return $query->fetch()->result; + } + + public function getPeer(int $peerId) { + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT * FROM `peer` WHERE `peerId` = ? LIMIT 1'); + + $query->execute([$peerId]); + + return $query->fetch(); + } + public function getPeers() { $this->_debug->query->select->total++; @@ -93,76 +115,183 @@ class MySQL { } // Peer remote - public function addPeerRemote(int $peerId, string $scheme, string $host, int $port, int $received, int $sent, float $uptime, int $timeAdded) { + public function addPeerRemote(int $peerId, int $peerRemoteSchemeId, int $peerRemoteHostId, int $peerRemotePortId, int $timeAdded) { $this->_debug->query->insert->total++; - $query = $this->_db->prepare('INSERT INTO `peerRemote` SET `peerId` = ?, - `scheme` = ?, - `host` = ?, - `port` = ?, - `received` = ?, - `sent` = ?, + $query = $this->_db->prepare('INSERT INTO `peerRemote` SET `peerId` = ?, + `peerRemoteSchemeId` = ?, + `peerRemoteHostId` = ?, + `peerRemotePortId` = ?, + `timeAdded` = ?'); + + $query->execute([$peerId, $peerRemoteSchemeId, $peerRemoteHostId, $peerRemotePortId, $timeAdded]); + + return $this->_db->lastInsertId(); + } + + public function findPeerRemote(int $peerId, int $peerRemoteSchemeId, int $peerRemoteHostId, int $peerRemotePortId) { + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT * FROM `peerRemote` WHERE `peerId` = ? AND `peerRemoteSchemeId` = ? AND `peerRemoteHostId` = ? AND `peerRemotePortId` = ? LIMIT 1'); + + $query->execute([$peerId, $peerRemoteSchemeId, $peerRemoteHostId, $peerRemotePortId]); + + return $query->fetch(); + } + + public function findPeerRemoteScheme(string $name) { + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT * FROM `peerRemoteScheme` WHERE `name` = ? LIMIT 1'); + + $query->execute([$name]); + + return $query->fetch(); + } + + public function addPeerRemoteScheme(string $name, int $timeAdded) { + + $this->_debug->query->insert->total++; + + $query = $this->_db->prepare('INSERT INTO `peerRemoteScheme` SET `name` = ?, `timeAdded` = ?'); + + $query->execute([$name, $timeAdded]); + + return $this->_db->lastInsertId(); + } + + public function findPeerRemoteHost(string $name) { + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT * FROM `peerRemoteHost` WHERE `name` = ? LIMIT 1'); + + $query->execute([$name]); + + return $query->fetch(); + } + + public function addPeerRemoteHost(string $name, int $timeAdded) { + + $this->_debug->query->insert->total++; + + $query = $this->_db->prepare('INSERT INTO `peerRemoteHost` SET `name` = ?, `timeAdded` = ?'); + + $query->execute([$name, $timeAdded]); + + return $this->_db->lastInsertId(); + } + + public function findPeerRemotePort(mixed $name) { // int|null + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT * FROM `peerRemotePort` WHERE `name` = ? LIMIT 1'); + + $query->execute([$name]); + + return $query->fetch(); + } + + public function addPeerRemotePort(mixed $name, int $timeAdded) { + + $this->_debug->query->insert->total++; + + $query = $this->_db->prepare('INSERT INTO `peerRemotePort` SET `name` = ?, `timeAdded` = ?'); + + $query->execute([$name, $timeAdded]); + + return $this->_db->lastInsertId(); + } + + // Peer session + public function addPeerSession(int $peerId, int $uptime, int $sent, int $received, int $timeAdded) { + + $this->_debug->query->insert->total++; + + $query = $this->_db->prepare('INSERT INTO `peerSession` SET `peerId` = ?, `uptime` = ?, + `sent` = ?, + `received` = ?, `timeAdded` = ?, `timeUpdated` = ?'); - $query->execute([$peerId, $scheme, $host, $port, $received, $sent, $uptime, $timeAdded, $timeAdded]); + $query->execute([$peerId, $uptime, $sent, $received, $timeAdded, $timeAdded]); return $this->_db->lastInsertId(); } - public function updatePeerRemoteReceived(int $peerRemoteId, int $received, int $timeUpdated) { + public function updatePeerSession(int $peerSessionId, int $uptime, int $sent, int $received, int $timeUpdated) { $this->_debug->query->update->total++; - $query = $this->_db->prepare('UPDATE `peerRemote` SET `received` = ?, `timeUpdated` = ? WHERE `peerRemoteId` = ? LIMIT 1'); + $query = $this->_db->prepare('UPDATE `peerSession` SET `uptime` = ?, `sent` = ?, `received` = ?, `timeUpdated` = ? WHERE `peerSessionId` = ? LIMIT 1'); - $query->execute([$received, $timeUpdated, $peerRemoteId]); + $query->execute([$uptime, $sent, $received, $timeUpdated, $peerSessionId]); return $query->rowCount(); } - public function updatePeerRemoteSent(int $peerRemoteId, int $sent, int $timeUpdated) { + public function findLastPeerSessionByPeerId(int $peerId) { - $this->_debug->query->update->total++; + $this->_debug->query->select->total++; - $query = $this->_db->prepare('UPDATE `peerRemote` SET `sent` = ?, `timeUpdated` = ? WHERE `peerRemoteId` = ? LIMIT 1'); + $query = $this->_db->prepare('SELECT * FROM `peerSession` WHERE `peerId` = ? ORDER BY `peerSessionId` DESC LIMIT 1'); - $query->execute([$sent, $timeUpdated, $peerRemoteId]); + $query->execute([$peerId]); - return $query->rowCount(); + return $query->fetch(); } - public function updatePeerRemoteUptime(int $peerRemoteId, float $uptime, int $timeUpdated) { + public function getPeerSessionSentSum() { - $this->_debug->query->update->total++; + $this->_debug->query->select->total++; - $query = $this->_db->prepare('UPDATE `peerRemote` SET `uptime` = ?, `timeUpdated` = ? WHERE `peerRemoteId` = ? LIMIT 1'); + $query = $this->_db->prepare('SELECT SUM(`sent`) AS `result` FROM `peerSession`'); - $query->execute([$uptime, $timeUpdated, $peerRemoteId]); + $query->execute(); - return $query->rowCount(); + return $query->fetch()->result; } - public function updatePeerRemoteTimeOnline(int $peerRemoteId, $time) { + public function getPeerSessionReceivedSum() { - $this->_debug->query->update->total++; + $this->_debug->query->select->total++; - $query = $this->_db->prepare('UPDATE `peerRemote` SET `timeOnline` = ?, `timeUpdated` = ? WHERE `peerRemoteId` = ? LIMIT 1'); + $query = $this->_db->prepare('SELECT SUM(`received`) AS `result` FROM `peerSession`'); - $query->execute([$time, $time, $peerRemoteId]); + $query->execute(); - return $query->rowCount(); + return $query->fetch()->result; + } + + // Peer connection + public function addPeerConnection(int $peerSessionId, int $peerRemoteId, int $peerCoordinateId, int $timeAdded) { + + $this->_debug->query->insert->total++; + + $query = $this->_db->prepare('INSERT INTO `peerConnection` SET `peerSessionId` = ?, + `peerRemoteId` = ?, + `peerCoordinateId` = ?, + `timeAdded` = ?'); + + $query->execute([$peerSessionId, $peerRemoteId, $peerCoordinateId, $timeAdded]); + + return $this->_db->lastInsertId(); } - public function findPeerRemote(int $peerId, string $scheme, string $host, int $port) { + public function findPeerConnection(int $peerSessionId, int $peerRemoteId, int $peerCoordinateId) { $this->_debug->query->select->total++; - $query = $this->_db->prepare('SELECT * FROM `peerRemote` WHERE `peerId` = ? AND `scheme` = ? AND `host` = ? AND `port` = ? LIMIT 1'); + $query = $this->_db->prepare('SELECT * FROM `peerConnection` + WHERE `peerSessionId` = ? AND `peerRemoteId` = ? AND `peerCoordinateId` = ? + LIMIT 1'); - $query->execute([$peerId, $scheme, $host, $port]); + $query->execute([$peerSessionId, $peerRemoteId, $peerCoordinateId]); return $query->fetch(); } @@ -196,29 +325,18 @@ class MySQL { return $this->_db->lastInsertId(); } - public function flushPeerCoordinateRoute(int $peerCoordinateId) { - - $this->_debug->query->delete->total++; - - $query = $this->_db->prepare('DELETE FROM `peerCoordinateRoute` WHERE `peerCoordinateId` = ?'); - - $query->execute([$peerCoordinateId]); - - return $query->rowCount(); - } - - public function getLastCoordinate(int $peerId) { + public function findLastPeerCoordinateByPeerId(int $peerId) { $this->_debug->query->select->total++; - $query = $this->_db->prepare('SELECT * FROM `peerCoordinate` WHERE `peerId` = ? ORDER BY `timeAdded` DESC LIMIT 1'); + $query = $this->_db->prepare('SELECT * FROM `peerCoordinate` WHERE `peerId` = ? ORDER BY `peerCoordinateId` DESC LIMIT 1'); $query->execute([$peerId]); return $query->fetch(); } - public function getPeerCoordinateRoute(int $peerCoordinateId) { + public function findPeerCoordinateRouteByCoordinateId(int $peerCoordinateId) { $this->_debug->query->select->total++; @@ -230,65 +348,259 @@ class MySQL { } // Analytics - public function getPeerFirst() { + public function getPeerFirstByTimeAdded() { $this->_debug->query->select->total++; - $query = $this->_db->prepare('SELECT * FROM `peer` ORDER BY `peerId` ASC LIMIT 1'); + $query = $this->_db->prepare('SELECT * FROM `peer` ORDER BY `timeAdded` ASC LIMIT 1'); $query->execute(); return $query->fetch(); } - public function getPeerTotal() { + public function findPeerSessionReceivedSumByTimeUpdated(int $timeFrom, int $timeTo, int $requestPeerId = 0) : int { $this->_debug->query->select->total++; - $query = $this->_db->prepare('SELECT COUNT(*) AS `total` FROM `peer`'); + $query = $this->_db->prepare('SELECT SUM(`received`) AS `result` - $query->execute(); + FROM `peerSession` + WHERE `timeUpdated` >= :timeFrom AND `timeUpdated` <= :timeTo' . ($requestPeerId > 0 ? ' AND `peerId` = ' . (int) $requestPeerId : false)); - return $query->fetch()->total; + $query->execute( + [ + ':timeFrom' => $timeFrom, + ':timeTo' => $timeTo + ] + ); + + return (int) $query->fetch()->result; } - public function findPeerTotalByTime(int $timeUpdatedFrom, int $timeUpdatedTo) : int { + public function findPeerSessionSentSumByTimeUpdated(int $timeFrom, int $timeTo, int $requestPeerId = 0) : int { $this->_debug->query->select->total++; - $query = $this->_db->prepare('SELECT COUNT(DISTINCT `peerId`) AS `total` FROM `peerRemote` WHERE (`timeAdded` > ? AND `timeAdded` < ?) OR (`timeUpdated` > ? AND `timeUpdated` < ?)'); + $query = $this->_db->prepare('SELECT SUM(`sent`) AS `result` + + FROM `peerSession` + WHERE `timeUpdated` >= :timeFrom AND `timeUpdated` <= :timeTo' . ($requestPeerId > 0 ? ' AND `peerId` = ' . (int) $requestPeerId : false)); - $query->execute([$timeUpdatedFrom, $timeUpdatedTo, $timeUpdatedFrom, $timeUpdatedTo]); + $query->execute( + [ + ':timeFrom' => $timeFrom, + ':timeTo' => $timeTo + ] + ); - return (int) $query->fetch()->total; + return (int) $query->fetch()->result; } - public function findPeerRemoteReceivedSumByTime(int $timeUpdatedFrom, int $timeUpdatedTo) : int { + public function findPeerTotalByTimeAdded(int $timeFrom, int $timeTo, int $requestPeerId = 0) : int { $this->_debug->query->select->total++; - $query = $this->_db->prepare('SELECT SUM(`received`) AS `result` FROM `peerRemote` WHERE (`timeAdded` > ? AND `timeAdded` < ?) OR (`timeUpdated` > ? AND `timeUpdated` < ?)'); + $query = $this->_db->prepare('SELECT COUNT(DISTINCT `peerId`) AS `result` + + FROM `peerSession` WHERE `timeAdded` >= :timeFrom AND `timeAdded` <= :timeTo' . - $query->execute([$timeUpdatedFrom, $timeUpdatedTo, $timeUpdatedFrom, $timeUpdatedTo]); + ($requestPeerId > 0 ? ' AND `peerId` = ' . (int) $requestPeerId : false)); + + $query->execute( + [ + ':timeFrom' => $timeFrom, + ':timeTo' => $timeTo + ] + ); return (int) $query->fetch()->result; } - public function findPeerRemoteSentSumByTime(int $timeUpdatedFrom, int $timeUpdatedTo) : int { + public function findPeerTotalByTimeUpdated(int $timeFrom, int $timeTo, int $requestPeerId = 0) : int { $this->_debug->query->select->total++; - $query = $this->_db->prepare('SELECT SUM(`sent`) AS `result` FROM `peerRemote` WHERE (`timeAdded` > ? AND `timeAdded` < ?) OR (`timeUpdated` > ? AND `timeUpdated` < ?)'); + $query = $this->_db->prepare('SELECT COUNT(DISTINCT `peerId`) AS `result` - $query->execute([$timeUpdatedFrom, $timeUpdatedTo, $timeUpdatedFrom, $timeUpdatedTo]); + FROM `peerSession` WHERE (`timeUpdated` >= :timeFrom AND `timeUpdated` <= :timeTo)' . + + ($requestPeerId > 0 ? ' AND `peerId` = ' . (int) $requestPeerId : false)); + + $query->execute( + [ + ':timeFrom' => $timeFrom, + ':timeTo' => $timeTo + ] + ); return (int) $query->fetch()->result; } + // Month page + public function findPeers(int $start = 0, int $limit = 20, string $sort = 'timeOnline', string $order = 'DESC') { + + if (!in_array($sort, + [ + 'timeOnline', + 'uptimeAvg', + 'sentSum', + 'receivedSum', + 'address', + ])) { + $sort = 'timeOnline'; + } + + if (!in_array($order, + [ + 'ASC', + 'DESC', + ])) { + $order = 'DESC'; + } + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT + + `peer`.`peerId`, + `peer`.`address`, + + (SELECT MAX(`peerSession`.`timeUpdated`) FROM `peerSession` WHERE `peerSession`.`peerId` = `peer`.`peerId`) AS `timeOnline`, + (SELECT SUM(`peerSession`.`sent`) FROM `peerSession` WHERE `peerSession`.`peerId` = `peer`.`peerId`) AS `sentSum`, + (SELECT SUM(`peerSession`.`received`) FROM `peerSession` WHERE `peerSession`.`peerId` = `peer`.`peerId`) AS `receivedSum`, + (SELECT AVG(`peerSession`.`uptime`) FROM `peerSession` WHERE `peerSession`.`peerId` = `peer`.`peerId`) AS `uptimeAvg` + + FROM `peer` + + GROUP BY `peer`.`peerId` + + ORDER BY ' . $sort . ' ' . $order . ' + + LIMIT ' . (int) $start . ', ' . (int) $limit); + + $query->execute(); + + return $query->fetchAll(); + } + + // Peer page + public function findPeerPeerConnections(int $peerId, int $start = 0, int $limit = 20, string $sort = 'timeOnline', string $order = 'DESC') { + + if (!in_array($sort, + [ + 'peerConnection.timeAdded', + ])) { + $sort = 'peerConnection.timeAdded'; + } + + if (!in_array($order, + [ + 'ASC', + 'DESC', + ])) { + $order = 'DESC'; + } + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare("SELECT + + MAX(`peerSession`.`timeUpdated`) AS `timeOnline`, + + `peerConnection`.`peerRemoteId`, + `peerConnection`.`timeAdded`, + + `peerRemoteScheme`.`name` AS `remoteScheme`, + `peerRemoteHost`.`name` AS `remoteHost`, + `peerRemotePort`.`name` AS `remotePort`, + + `peerCoordinate`.`port` AS `connectionPort`, + + CONCAT + ( + IF (`peerRemotePort`.`name` IS NOT NULL, + CONCAT(`peerRemoteScheme`.`name`, '://', `peerRemoteHost`.`name`, ':', `peerRemotePort`.`name`), + CONCAT(`peerRemoteScheme`.`name`, '://', `peerRemoteHost`.`name`) + ) + ) AS `remote`, + + ( + SELECT GROUP_CONCAT(`port` SEPARATOR ' → ') + FROM `peerCoordinateRoute` + WHERE `peerCoordinateRoute`.`peerCoordinateId` = `peerConnection`.`peerCoordinateId` + ORDER BY `peerCoordinateRoute`.`level` ASC + ) AS `route` + + FROM `peerConnection` + + JOIN `peerSession` ON (`peerSession`.`peerSessionId` = `peerConnection`.`peerSessionId`) + JOIN `peerRemote` ON (`peerRemote`.`peerRemoteId` = `peerConnection`.`peerRemoteId`) + JOIN `peerCoordinate` ON (`peerCoordinate`.`peerCoordinateId` = `peerConnection`.`peerCoordinateId`) + + JOIN `peerRemoteScheme` ON (`peerRemoteScheme`.`peerRemoteSchemeId` = `peerRemote`.`peerRemoteSchemeId`) + JOIN `peerRemoteHost` ON (`peerRemoteHost`.`peerRemoteHostId` = `peerRemote`.`peerRemoteHostId`) + JOIN `peerRemotePort` ON (`peerRemotePort`.`peerRemotePortId` = `peerRemote`.`peerRemotePortId`) + + JOIN `peer` ON (`peer`.`peerId` = `peerRemote`.`peerId`) + + WHERE `peerRemote`.`peerId` = :peerId + + GROUP BY `peerConnection`.`peerConnectionId` + + ORDER BY " . $sort . " " . $order . " + + LIMIT " . (int) $start . ", " . (int) $limit); + + $query->execute( + [ + ':peerId' => $peerId, + ] + ); + + return $query->fetchAll(); + } + + public function getPeerInfo(int $peerId) { + + $this->_debug->query->select->total++; + + $query = $this->_db->prepare('SELECT + + `peer`.`peerId`, + `peer`.`key`, + `peer`.`address`, + `peer`.`timeAdded`, + + MAX(`peerSession`.`timeUpdated`) AS `timeOnline`, + SUM(`peerSession`.`sent`) AS `sentSum`, + SUM(`peerSession`.`received`) AS `receivedSum`, + ROUND(AVG(`peerSession`.`uptime`)) AS `uptimeAvg`, + + (SELECT COUNT(*) FROM `peerSession` WHERE `peerSession`.`peerId` = `peer`.`peerId`) AS `sessionTotal`, + (SELECT COUNT(*) FROM `peerRemote` WHERE `peerRemote`.`peerId` = `peer`.`peerId`) AS `remoteTotal`, + (SELECT COUNT(*) FROM `peerCoordinate` WHERE `peerCoordinate`.`peerId` = `peer`.`peerId`) AS `coordinateTotal` + + FROM `peer` + JOIN `peerSession` ON (`peerSession`.`peerId` = `peer`.`peerId`) + + WHERE `peer`.`peerId` = ? + + GROUP BY `peer`.`peerId` + + LIMIT 1'); + + $query->execute([$peerId]); + + return $query->fetch(); + } + // Other public function optimize() { $this->_db->query('OPTIMIZE TABLE `peer`'); $this->_db->query('OPTIMIZE TABLE `peerRemote`'); + $this->_db->query('OPTIMIZE TABLE `peerCoordinate`'); + $this->_db->query('OPTIMIZE TABLE `peerCoordinateRoute`'); } }