content: package com.sohu.cache.dao;
  
  import java.util.List;
  
  import org.apache.ibatis.annotations.Param;
  
  import com.sohu.cache.entity.ServerInfo;
  import com.sohu.cache.entity.ServerStatus;
  import com.sohu.cache.server.data.Server;
  
  /**
   * 服务器状态信息持久化
   */
  public interface ServerStatusDao {
  
  	/**
  	 * 查询服务器基本信息
  	 * @param ip
  	 * @return @ServerInfo
  	 */
  	public ServerInfo queryServerInfo(@Param("ip") String ip);
  	
  	/**
  	 * 保存服务器发行版信息
  	 * @param ip
  	 * @param dist from /etc/issue
  	 */
  	public void saveServerInfo(@Param("ip") String ip, @Param("dist") String dist);
  	
  	/**
  	 * 删除服务器信息
  	 * @param ip
  	 * @return 删除的数量
  	 */
  	public Integer deleteServerInfo(@Param("ip") String ip);
  	
  	/**
  	 * 保存/更新服务器信息
  	 * @param server
  	 * @return 影响的行数
  	 */
  	public Integer saveAndUpdateServerInfo(@Param("server")Server server);
  	
  	/**
  	 * 查询服务器状态
  	 * @param ip
  	 * @param date
  	 * @return List<ServerStatus>
  	 */
  	public List<ServerStatus> queryServerStatus(@Param("ip") String ip, 
  			@Param("cdate") String date);
  	
  	/**
  	 * 查询服务器状态
  	 * @param ip
  	 * @param date
  	 * @return List<ServerStatus>
  	 */
  	public List<ServerStatus> queryServerOverview(@Param("ip") String ip, 
  			@Param("cdate") String date);
  	
  	/**
  	 * 查询服务器状态
  	 * @param ip
  	 * @param date
  	 * @return List<ServerStatus>
  	 */
  	public List<ServerStatus> queryServerCpu(@Param("ip") String ip, 
  			@Param("cdate") String date);
  	
  	/**
  	 * 查询服务器状态
  	 * @param ip
  	 * @param date
  	 * @return List<ServerStatus>
  	 */
  	public List<ServerStatus> queryServerNet(@Param("ip") String ip, 
  			@Param("cdate") String date);
  	
  	/**
  	 * 查询服务器状态
  	 * @param ip
  	 * @param date
  	 * @return List<ServerStatus>
  	 */
  	public List<ServerStatus> queryServerDisk(@Param("ip") String ip, 
  			@Param("cdate") String date);
  	
  	/**
  	 * 保存服务器状态
  	 * @param Server
  	 */
  	public void saveServerStat(@Param("server") Server server);
  }
  