流量统计优化sql查询速度
This commit is contained in:
@@ -1,13 +1,18 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.nis.domain.restful.dashboard.NtcTotalReport;
|
||||
import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface NtcTotalReportDao {
|
||||
|
||||
List<Map> getTotalReportList();
|
||||
List<Map> getNetFlowPortInfoNew();
|
||||
List<Map> getNetFlowPortInfoOld();
|
||||
NtcTotalReport getMaxReportTime();
|
||||
Map getMaxRecvTime();
|
||||
List<Map> getTotalReportList(@Param("reportTime") Date reportTime);
|
||||
List<Map> getNetFlowPortInfoNew(@Param("reportTime") Date recvTime);
|
||||
List<Map> getNetFlowPortInfoOld(@Param("reportTime") Date recvTime);
|
||||
}
|
||||
@@ -16,18 +16,26 @@
|
||||
WHERE app_type !=0 and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
GROUP BY app_type order by count desc limit 0,10
|
||||
</select> -->
|
||||
<!-- 获取最近时间并且有效 -->
|
||||
<select id="getMaxReportTime" resultType="com.nis.domain.restful.dashboard.NtcTotalReport">
|
||||
SELECT MAX(report_time) reportTime FROM galaxy.ntc_total_report
|
||||
</select>
|
||||
<!-- 获取带宽最近时间并且有效 -->
|
||||
<select id="getMaxRecvTime" resultType="java.util.HashMap">
|
||||
SELECT MAX(RECV_TIME) reveTime FROM galaxy.TRAFFIC_NETFLOW_PORT_INFO
|
||||
</select>
|
||||
<select id="getTotalReportList" resultType="java.util.HashMap">
|
||||
SELECT SUM(reject_num) rejectNum,SUM(monitor_num) monitorNum,SUM(c2s_pkt_num) c2sPktNum,SUM(s2c_pkt_num) s2cPktNum,SUM(c2s_byte_len) c2sByteLen,SUM(s2c_byte_len) s2cByteLen,SUM(new_uni_conn_num) newUniConnNum,SUM(live_conn_num) liveConnNum,
|
||||
SUM(drop_conn_num) dropConnNum,SUM(loop_conn_num) loopConnNum FROM galaxy.ntc_total_report
|
||||
where report_time = (SELECT MAX(report_time) FROM galaxy.ntc_total_report)
|
||||
where report_time = #{reportTime}
|
||||
</select>
|
||||
<select id="getNetFlowPortInfoNew" resultType="java.util.HashMap">
|
||||
SELECT SUM(INOCTETS) inoctets ,SUM(OUTOCTETS) outoctets FROM galaxy.TRAFFIC_NETFLOW_PORT_INFO
|
||||
where RECV_TIME = (SELECT MAX(RECV_TIME) FROM galaxy.TRAFFIC_NETFLOW_PORT_INFO)
|
||||
where RECV_TIME = #{recvTime}
|
||||
</select>
|
||||
<!-- 获取上个时间段的数据 -->
|
||||
<select id="getNetFlowPortInfoOld" resultType="java.util.HashMap">
|
||||
SELECT SUM(INOCTETS) inoctets ,SUM(OUTOCTETS) outoctets FROM galaxy.TRAFFIC_NETFLOW_PORT_INFO
|
||||
where RECV_TIME = DATE_SUB((SELECT MAX(RECV_TIME) FROM galaxy.TRAFFIC_NETFLOW_PORT_INFO),INTERVAL 5 MINUTE)
|
||||
where RECV_TIME = DATE_SUB(#{recvTime},INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,11 +1,16 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.nis.domain.restful.dashboard.TrafficAppStatistic;
|
||||
import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface TrafficAppStatisticDao {
|
||||
|
||||
List<Map> appChart();
|
||||
TrafficAppStatistic getMaxStatTime();
|
||||
List<Map> appChart(@Param("statTime")Date statTime);
|
||||
}
|
||||
@@ -15,10 +15,13 @@
|
||||
stat_id, app_type, entrance_id, c2s_pkt_num, s2c_pkt_num, c2s_byte_len, s2c_byte_len,
|
||||
stat_time
|
||||
</sql>
|
||||
<!-- 查询最近时间 -->
|
||||
<select id="getMaxStatTime" resultType="com.nis.domain.restful.dashboard.TrafficAppStatistic">
|
||||
SELECT MAX(stat_time) statTime FROM galaxy.traffic_app_statistic WHERE app_type != 0
|
||||
</select>
|
||||
<select id="appChart" resultType="java.util.HashMap">
|
||||
SELECT app_type appType, SUM(link_num) count, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen
|
||||
FROM galaxy.traffic_app_statistic
|
||||
WHERE app_type !=0 and stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_app_statistic WHERE app_type != 0)
|
||||
SELECT app_type appType, SUM(link_num) count FROM galaxy.traffic_app_statistic
|
||||
WHERE app_type !=0 and stat_time = #{statTime}
|
||||
GROUP BY app_type order by count desc limit 0,10
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -9,15 +10,16 @@ import com.nis.domain.restful.dashboard.TrafficHttpStatistic;
|
||||
import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface TrafficHttpStatisticDao {
|
||||
List<TrafficHttpStatistic> websiteList();
|
||||
TrafficHttpStatistic getMaxStatTime();
|
||||
List<TrafficHttpStatistic> websiteList(@Param("statTime")Date statTime);
|
||||
|
||||
//获取域名分类之后属于的网站
|
||||
List<TrafficHttpStatistic> getDomainByWebsiteList();
|
||||
Integer preWebsiteListCount(@Param("websiteServiceId") Integer websiteServiceId);
|
||||
List<Map> getDomainByWebsiteServiceId(@Param("websiteServiceId") Integer websiteServiceId);
|
||||
Map websiteDomainOthers(@Param("webIdList") List webIdList,@Param("websiteServiceId") Integer websiteServiceId);
|
||||
List<TrafficHttpStatistic> getDomainByWebsiteList(@Param("statTime")Date statTime);
|
||||
Integer preWebsiteListCount(@Param("websiteServiceId") Integer websiteServiceId,@Param("statTime") Date statTime);
|
||||
List<Map> getDomainByWebsiteServiceId(@Param("websiteServiceId") Integer websiteServiceId,@Param("statTime") Date statTime);
|
||||
Map websiteDomainOthers(@Param("webIdList") List webIdList,@Param("websiteServiceId") Integer websiteServiceId,@Param("statTime") Date statTime);
|
||||
|
||||
List<Map> getDomainByTopicList();
|
||||
List<Map> getDomainByTopicList(@Param("statTime") Date statTime);
|
||||
|
||||
List<Map> getDomainByTopicId(@Param("topicId")Object TopicId);
|
||||
List<Map> getDomainByTopicId(@Param("topicId")Object TopicId,@Param("statTime")Date statTime);
|
||||
}
|
||||
@@ -15,20 +15,24 @@
|
||||
stat_id, web_type, web_id, c2s_pkt_num, s2c_pkt_num, c2s_byte_len, s2c_byte_len,
|
||||
stat_time
|
||||
</sql>
|
||||
<!-- 获取最近时间并且有效 -->
|
||||
<select id="getMaxStatTime" resultType="com.nis.domain.restful.dashboard.TrafficHttpStatistic">
|
||||
SELECT MAX(stat_time) statTime FROM galaxy.traffic_http_statistic WHERE web_id != 0
|
||||
</select>
|
||||
<!-- 根据服务网站将域名分类 网站列表-->
|
||||
<select id="getDomainByWebsiteList" resultType="com.nis.domain.restful.dashboard.TrafficHttpStatistic">
|
||||
<select id="getDomainByWebsiteList" resultType="com.nis.domain.restful.dashboard.TrafficHttpStatistic">
|
||||
SELECT t.stat_time statTime,SUM(link_num) count, IFNULL( website_service_id, 268435455 ) websiteServiceId
|
||||
FROM galaxy.TRAFFIC_HTTP_STATISTIC t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id = u.id
|
||||
where t.web_id!=0
|
||||
where t.web_id!=0
|
||||
and t.stat_time = #{statTime}
|
||||
GROUP BY u.website_service_id ORDER BY count desc limit 0,10
|
||||
</select>
|
||||
<!-- 根据主题将域名分类 主题列表 最近五分钟top10-->
|
||||
<!-- 根据主题将域名分类 主题列表 最近五分钟top10-->
|
||||
<select id="getDomainByTopicList" resultType="java.util.HashMap">
|
||||
SELECT SUM(link_num) count, IFNULL( topic_id, 268435455 ) topicId
|
||||
FROM galaxy.TRAFFIC_HTTP_STATISTIC t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id = u.id
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id = u.id
|
||||
where t.web_id!=0
|
||||
and t.stat_time =#{statTime}
|
||||
GROUP BY u.topic_id ORDER BY count desc limit 0,10
|
||||
@@ -37,37 +41,37 @@
|
||||
<!--获取上个时间段该网站站域名流量的数据量 -->
|
||||
<select id="preWebsiteListCount" resultType="java.lang.Integer">
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_http_statistic t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id = u.id
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id = u.id
|
||||
WHERE u.website_service_id=#{websiteServiceId}
|
||||
and stat_time = DATE_SUB(#{statTime},INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
|
||||
<!--获取网站列表列表 -->
|
||||
<!--获取网站列表列表 -->
|
||||
<!-- <select id="websiteList" resultMap="BaseResultMap">
|
||||
SELECT web_id webId, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count FROM galaxy.traffic_http_statistic
|
||||
WHERE web_id !=0 and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_http_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY web_id ORDER BY count DESC limit 0,10
|
||||
</select> -->
|
||||
<!-- 根据网站分组获取子域名 -->
|
||||
</select> -->
|
||||
<!-- 根据网站分组获取子域名 -->
|
||||
<select id="getDomainByWebsiteServiceId" resultType="java.util.HashMap">
|
||||
SELECT web_id webId,SUM(link_num) count
|
||||
FROM galaxy.traffic_http_statistic t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id=u.id
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id=u.id
|
||||
where u.website_service_id=#{websiteServiceId}
|
||||
and t.stat_time =#{statTime}
|
||||
GROUP BY t.web_id ORDER BY count desc limit 0,10
|
||||
</select>
|
||||
<!-- 根据主题分组获取子域名 -->
|
||||
<!-- 根据主题分组获取子域名 -->
|
||||
<select id="getDomainByTopicId" resultType="java.util.HashMap">
|
||||
SELECT web_id webId,SUM(link_num) count
|
||||
FROM galaxy.traffic_http_statistic t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id=u.id
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id=u.id
|
||||
where u.topic_id=#{topicId}
|
||||
and t.stat_time = #{statTime}
|
||||
GROUP BY t.web_id ORDER BY count desc limit 0,10
|
||||
</select>
|
||||
|
||||
<!-- 指定网站下的TOP10之外为others -->
|
||||
<!-- 指定网站下的TOP10之外为others -->
|
||||
<select id="websiteDomainOthers" resultType="java.util.HashMap">
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_http_statistic t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id=u.id
|
||||
@@ -77,6 +81,6 @@
|
||||
and t.web_id not in
|
||||
<foreach collection="webIdList" item="singleType" index="index" open="(" close=")" separator=",">
|
||||
#{singleType}
|
||||
</foreach>
|
||||
</foreach>
|
||||
</if>
|
||||
and stat_time =#{statTime}
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.nis.domain.restful.dashboard.TrafficIpActiveStatistic;
|
||||
@@ -13,11 +12,12 @@ import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface TrafficIpActiveStatisticDao {
|
||||
|
||||
List<TrafficIpActiveStatistic> getIpList(TrafficIpActiveStatistic trafficIpActiveStatistic);
|
||||
// List<TrafficIpActiveStatistic> getIpList(TrafficIpActiveStatistic trafficIpActiveStatistic);
|
||||
TrafficIpActiveStatistic getMaxStatTime();
|
||||
|
||||
ArrayList<TrafficIpActiveStatistic> ipActiveFiveMinute(@Param("ipAddr") String ipAddr);
|
||||
ArrayList<TrafficIpActiveStatistic> ipActiveFiveMinute(@Param("ipAddr") String ipAddr,@Param("statTime")Date statTime);
|
||||
|
||||
ArrayList<HashMap> ipActiveOneHour(@Param("ipAddr") String ipAddr);
|
||||
ArrayList<HashMap> ipActiveOneHour(@Param("ipAddr") String ipAddr,@Param("statTime")Date statTime);
|
||||
|
||||
ArrayList<LinkedHashMap> ipActiveChart();
|
||||
ArrayList<LinkedHashMap> ipActiveChart(@Param("statTime")Date statTime);
|
||||
}
|
||||
@@ -17,38 +17,41 @@
|
||||
stat_time
|
||||
</sql>
|
||||
<!-- 活跃IPTOP列表 -->
|
||||
<select id="getIpList" resultMap="BaseResultMap">
|
||||
<!-- <select id="getIpList" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List"/>
|
||||
from galaxy.traffic_ip_active_statistic
|
||||
</select> -->
|
||||
<!-- IP流量统计五分钟-->
|
||||
<select id="getMaxStatTime" resultType="com.nis.domain.restful.dashboard.TrafficIpActiveStatistic">
|
||||
SELECT MAX(stat_time) statTime FROM galaxy.traffic_ip_active_statistic
|
||||
</select>
|
||||
<!-- IP流量统计五分钟-->
|
||||
<select id="ipActiveChart" resultType="java.util.LinkedHashMap">
|
||||
SELECT ip_addr ipAddr, SUM(link_num) linkNum FROM galaxy.traffic_ip_active_statistic
|
||||
WHERE stat_time = #{statTime}
|
||||
GROUP BY ip_addr ORDER BY linkNum DESC limit 0,10
|
||||
</select>
|
||||
|
||||
<!-- IP流量统计一小时内每隔五分钟数据-->
|
||||
<select id="ipActiveFiveMinute" parameterType="java.lang.String" resultMap="BaseResultMap">
|
||||
<select id="ipActiveFiveMinute" resultMap="BaseResultMap">
|
||||
select IFNULL(p.maxNum,0) linkNum, date_format(a.min5,'%Y-%m-%d %H:%i') time from
|
||||
(select date_sub(date_format((select MAX(stat_time) from traffic_ip_active_statistic), '%Y-%m-%d %H:%i' ),interval @mycnt :=@mycnt + 5 MINUTE) min5
|
||||
(select date_sub(#{statTime},interval @mycnt :=@mycnt + 5 MINUTE) min5
|
||||
from (SELECT @mycnt:=-5) m, traffic_ip_active_statistic limit 12) a
|
||||
LEFT JOIN (
|
||||
SELECT date_format(stat_time, '%Y-%m-%d %H:%i') timestamp, max(link_num) maxNum FROM traffic_ip_active_statistic
|
||||
WHERE ip_addr=#{ipAddr} AND stat_time > DATE_SUB((select MAX(stat_time) from traffic_ip_active_statistic), INTERVAL 1 HOUR)
|
||||
WHERE ip_addr=#{ipAddr} AND stat_time > DATE_SUB(#{statTime,jdbcType=TIMESTAMP}, INTERVAL 1 HOUR)
|
||||
GROUP by timestamp
|
||||
) p
|
||||
on date_format(p.timestamp,'%Y-%m-%d %H:%i')=date_format(a.min5,'%Y-%m-%d %H:%i')
|
||||
ORDER by time
|
||||
</select>
|
||||
<!-- IP流量统计一小时-->
|
||||
<select id="ipActiveOneHour" parameterType="java.lang.String" resultType="java.util.HashMap">
|
||||
<select id="ipActiveOneHour" resultType="java.util.HashMap">
|
||||
SELECT ip_addr ipAddr,area_id areaId, link_num linkNum ,c2s_pkt_num c2sPktNum,s2c_pkt_num s2cPktNum,c2s_byte_len c2sByteLen,s2c_byte_len s2cByteLen,date_format(stat_time, '%Y-%m-%d %H:%i:%s') statTime FROM galaxy.traffic_ip_active_statistic
|
||||
WHERE ip_addr=#{ipAddr}
|
||||
and stat_time > DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ip_active_statistic),INTERVAL 1 HOUR)
|
||||
and stat_time > DATE_SUB(#{statTime},INTERVAL 1 HOUR)
|
||||
ORDER BY linkNum DESC LIMIT 1
|
||||
</select>
|
||||
|
||||
<!-- IP流量统计五分钟-->
|
||||
<select id="ipActiveChart" resultType="java.util.LinkedHashMap">
|
||||
SELECT ip_addr ipAddr, SUM(link_num) linkNum ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ip_active_statistic
|
||||
WHERE stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_ip_active_statistic)
|
||||
GROUP BY ip_addr ORDER BY linkNum DESC limit 0,10
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -10,6 +11,7 @@ import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface TrafficPortActiveStatisticDao {
|
||||
|
||||
List<TrafficPortActiveStatistic> getPortActiveList();
|
||||
TrafficPortActiveStatistic getPortActiveOld(@Param("port")Integer port);
|
||||
TrafficPortActiveStatistic getMaxStatTime();
|
||||
List<TrafficPortActiveStatistic> getPortActiveList(@Param("statTime")Date statTime);
|
||||
TrafficPortActiveStatistic getPortActiveOld(@Param("port")Integer port,@Param("statTime")Date statTime);
|
||||
}
|
||||
@@ -7,16 +7,22 @@
|
||||
<result column="sum" jdbcType="BIGINT" property="sum" />
|
||||
<result column="stat_time" jdbcType="TIMESTAMP" property="statTime" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<!-- 获取最大时间 -->
|
||||
<select id="getMaxStatTime" resultMap="BaseResultMap">
|
||||
SELECT MAX(stat_time) statTime FROM galaxy.traffic_port_active_statistic
|
||||
</select>
|
||||
<!-- 获取当前时间五分钟数据 -->
|
||||
<select id="getPortActiveList" resultMap="BaseResultMap">
|
||||
SELECT port ,SUM(sum) sum from galaxy.traffic_port_active_statistic
|
||||
WHERE stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_port_active_statistic)
|
||||
WHERE stat_time = #{statTime}
|
||||
GROUP BY port order by sum desc limit 0,10
|
||||
</select>
|
||||
<!-- 获取上个时间段的数据 -->
|
||||
<select id="getPortActiveOld" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
||||
<select id="getPortActiveOld" resultMap="BaseResultMap">
|
||||
SELECT SUM(sum) sum from galaxy.traffic_port_active_statistic
|
||||
WHERE port=#{port} and stat_time = DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_port_active_statistic),INTERVAL 5 MINUTE)
|
||||
WHERE port=#{port} and stat_time = DATE_SUB(#{statTime},INTERVAL 5 MINUTE)
|
||||
GROUP BY port ORDER BY sum DESC limit 0,10
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,11 +1,16 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.nis.domain.restful.dashboard.TrafficProtocolStatistic;
|
||||
import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface TrafficProtocolStatisticDao {
|
||||
|
||||
List<Map> protocolChart();
|
||||
TrafficProtocolStatistic getMaxStatTime();
|
||||
List<Map> protocolChart(@Param("statTime")Date statTime);
|
||||
}
|
||||
@@ -15,8 +15,12 @@
|
||||
stat_id, proto_type, entrance_id, c2s_pkt_num, s2c_pkt_num, c2s_byte_len, s2c_byte_len,
|
||||
stat_time
|
||||
</sql>
|
||||
<!-- 获取最近时间 -->
|
||||
<select id="getMaxStatTime" resultType="com.nis.domain.restful.dashboard.TrafficProtocolStatistic">
|
||||
SELECT MAX(stat_time) statTime FROM galaxy.traffic_protocol_statistic WHERE proto_type != 0
|
||||
</select>
|
||||
<select id="protocolChart" resultType="java.util.HashMap">
|
||||
SELECT proto_type protoType, SUM(link_num) count, ( SUM(c2s_pkt_num) + SUM(s2c_pkt_num)) pktNum, ( SUM(c2s_byte_len) + SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_protocol_statistic WHERE proto_type != 0
|
||||
AND stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_protocol_statistic WHERE proto_type != 0) GROUP BY proto_type ORDER BY count DESC LIMIT 0, 10
|
||||
SELECT proto_type protoType, SUM(link_num) count FROM galaxy.traffic_protocol_statistic WHERE proto_type != 0
|
||||
AND stat_time = #{statTime} GROUP BY proto_type ORDER BY count DESC LIMIT 0, 10
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -9,20 +10,22 @@ import com.nis.domain.restful.dashboard.TrafficUaStatistic;
|
||||
import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface TrafficUaStatisticDao {
|
||||
|
||||
List<TrafficUaStatistic> systemList();
|
||||
|
||||
List<Map> getBrowserBySystem(@Param("osType") Integer osType);
|
||||
|
||||
List<TrafficUaStatistic> browserList();
|
||||
|
||||
List<Map> getSystemBybrowser(@Param("bsType") Integer bsType);
|
||||
|
||||
Map systemOthers(@Param("bsType") List bsType,@Param("osType") Integer osType);
|
||||
TrafficUaStatistic getMaxStatTime();
|
||||
|
||||
Map browserOthers(@Param("osType") List osType,@Param("bsType") Integer bsType);
|
||||
List<TrafficUaStatistic> systemList(@Param("statTime") Date statTime);
|
||||
|
||||
List<Map> getBrowserBySystem(@Param("osType") Integer osType,@Param("statTime") Date statTime);
|
||||
|
||||
List<TrafficUaStatistic> browserList(@Param("statTime") Date statTime);
|
||||
|
||||
List<Map> getSystemBybrowser(@Param("bsType") Integer bsType,@Param("statTime") Date statTime);
|
||||
|
||||
Integer preSystemListCount(@Param("osType") Integer osType);
|
||||
Map systemOthers(@Param("bsType") List bsType,@Param("osType") Integer osType,@Param("statTime") Date statTime);
|
||||
|
||||
Integer preBrowserListCount(@Param("bsType") Integer bsType);
|
||||
Map browserOthers(@Param("osType") List osType,@Param("bsType") Integer bsType,@Param("statTime") Date statTime);
|
||||
|
||||
Integer preSystemListCount(@Param("osType") Integer osType,@Param("statTime") Date statTime);
|
||||
|
||||
Integer preBrowserListCount(@Param("bsType") Integer bsType,@Param("statTime") Date statTime);
|
||||
}
|
||||
@@ -16,27 +16,31 @@
|
||||
stat_id, bs_type,os_type, entrance_id, c2s_pkt_num, s2c_pkt_num, c2s_byte_len, s2c_byte_len,
|
||||
stat_time
|
||||
</sql>
|
||||
<!-- 获取最近时间并且有效 -->
|
||||
<select id="getMaxStatTime" resultType="com.nis.domain.restful.dashboard.TrafficUaStatistic">
|
||||
SELECT MAX(stat_time) statTime FROM galaxy.traffic_ua_statistic WHERE os_type !=0 and bs_type!=0
|
||||
</select>
|
||||
<!--获取操作系统列表TOP10 -->
|
||||
<select id="systemList" resultMap="BaseResultMap">
|
||||
SELECT os_type osType, SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic WHERE os_type != 0)
|
||||
SELECT os_type osType, SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and stat_time = #{statTime}
|
||||
GROUP BY os_type ORDER BY count DESC limit 0,10
|
||||
</select>
|
||||
<!--获取上个时间段操作系统的数据量 -->
|
||||
<select id="preSystemListCount" resultType="java.lang.Integer">
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and os_type=#{osType}
|
||||
and stat_time = DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic WHERE os_type != 0),INTERVAL 5 MINUTE)
|
||||
and stat_time = DATE_SUB(#{statTime},INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
<!-- 根据操作系统获取浏览器分类 -->
|
||||
<select id="getBrowserBySystem" parameterType="java.lang.Integer" resultType="java.util.HashMap">
|
||||
SELECT bs_type bsType, SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and os_type=#{osType} and stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic WHERE bs_type != 0)
|
||||
SELECT bs_type bsType, SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and os_type=#{osType} and stat_time = #{statTime}
|
||||
GROUP BY bs_type ORDER BY count DESC limit 0,10
|
||||
</select>
|
||||
<!--浏览器TOP10后所有为others -->
|
||||
<select id="systemOthers" resultType="java.util.HashMap">
|
||||
SELECT SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and os_type=#{osType}
|
||||
<if test="bsType!=null and bsType.size()>0">
|
||||
and os_type not in
|
||||
@@ -44,30 +48,30 @@
|
||||
#{singleType}
|
||||
</foreach>
|
||||
</if>
|
||||
and stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic WHERE bs_type != 0)
|
||||
and stat_time = #{statTime}
|
||||
</select>
|
||||
|
||||
<!--获取浏览器列表TOP10 -->
|
||||
<select id="browserList" resultMap="BaseResultMap">
|
||||
SELECT bs_type bsType, SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic WHERE bs_type !=0)
|
||||
SELECT bs_type bsType, SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and stat_time = #{statTime}
|
||||
GROUP BY bs_type ORDER BY count DESC limit 0,10
|
||||
</select>
|
||||
<!--获取上个时间段浏览器的数据量 -->
|
||||
<select id="preBrowserListCount" resultType="java.lang.Integer">
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and bs_type=#{bsType}
|
||||
and stat_time = DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic WHERE bs_type !=0),INTERVAL 5 MINUTE)
|
||||
and stat_time = DATE_SUB(#{statTime},INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
<!-- 根据浏览器获取操作系统分类 -->
|
||||
<select id="getSystemBybrowser" parameterType="java.lang.Integer" resultType="java.util.HashMap">
|
||||
SELECT os_type osType, SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and bs_type=#{bsType} and stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic WHERE os_type !=0)
|
||||
SELECT os_type osType, SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and bs_type=#{bsType} and stat_time = #{statTime}
|
||||
GROUP BY os_type ORDER BY count DESC limit 0,10
|
||||
</select>
|
||||
<!--操作系统TOP10后所有为others -->
|
||||
<select id="browserOthers" parameterType="java.util.List" resultType="java.util.HashMap">
|
||||
SELECT SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and bs_type=#{bsType}
|
||||
<if test="osType!=null and osType.size()>0">
|
||||
and bs_type not in
|
||||
@@ -75,6 +79,6 @@
|
||||
#{singleType}
|
||||
</foreach>
|
||||
</if>
|
||||
and stat_time = (SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic WHERE os_type !=0)
|
||||
and stat_time = #{statTime}
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user