当前位置: 首页 > 编程日记 > 正文

windows server 2008 R2上安装MRTG指南

一、实验环境

参考教程:http://www.netmon.org/dummies.htm

http://www.docin.com/p-158415185.html

MRTG中文手册:http://bbs.chinaunix.net/thread-1344687-1-1.html

http://www.enterastream.com/whitepapers/mrtg/mrtg-manual-cap9.html

1.硬件平台

vmware workstation 8.05

Guest OS: 64bit windows server 2008 R2 SP1中文标准版-内存1GB

Host OS: 64bit windows 7 中文Home版

内存6GB

CPU:i5-2450m

2.所需软件

A. MRTG:

下载地址:http://oss.oetiker.ch/mrtg/pub/?M=D

版本:2.17.4

B.ActivePerl

下载地址:http://www.activestate.com/activeperl/downloads

版本:64bit 5.16.3

C.Microsoft® Windows® Server 2003 Resource Kit Tools

下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=17657

3.实验拓扑:

2台虚拟机A和B

A: OS- windows server 2008 R2 作为DC

IP:192.168.190.168

B: OS – windows server 2008 R2 作为域内MRTG主机,用来监控主机A上的流量

IP:192.168.190.194

二、安装过程

1.安装两台VM上OS-略

2.server B加入域-略

3.server B上加入IIS服务器角色。后续步骤如果没注明,都在server B上操作

4..建立以下目录:

c:\inetpub\wwwroot\mrtg   -index.html目录

C:\MRTG\mrtg-2.17.4\          -mrtg执行文件目录

C:\MRTG\cfg                           -配置文件目录

C:\MRTG\reg                          -注册表存放目录

5.更改IIS默认网站目录为c:\inetpub\wwwroot\mrtg

6.解压MRTG2.17.4到C:\MRTG目录

7.安装ActivePerl.确保安装成功后环境变量增加路径c:\perl64\bin

8.安装windows 2003 Resource Tools.下载安装包,执行安装程序安装到默认路径C:\Program Files (x86)\Windows Resource Kits

9.增加server A上的SNMP功能特性

配置server A上的SNMP服务如下:

imageimage

10.server B上配置MRTG,首先进入命令行模式(开始->运行->输入CMD)。进入C:\MRTG\mrtg-2.17.4\bin目录。输入如下指令:

10.1、perl cfgmaker public@192.168.190.168 --global "WorkDir: c:\inetpub\wwwroot\mrtg" --output c:\mrtg\cfgmrtg.cfg

(团体名为public,192.168.190.168为DC服务器的IP,c:\inetpub\wwwroot\mrtg为要生成的网页目录,同时也是在IIS中已经配置好的发布目录,完成该命令后会生成一个名为mrtg.cfg的配置文件)

注意 workdir后面有一个空格

输出:

C:\MRTG\mrtg-2.17.4\bin>perl cfgmaker --ifref=ip --ifdesc=descr --if-filter=$if_is_ethernet public@192.168.190.168
--global "WorkDir: c:\inetpub\wwwroot\mrtg" --output c:\mrtg\cfg\mrtg.cfg
--base: Get Device Info on public@192.168.190.168:
--base: Vendor Id: Unknown Vendor - 1.3.6.1.4.1.311.1.1.3.1.3
--base: Populating confcache
--base: Get Interface Info
--base: Walking ifIndex
--snpd:   public@192.168.190.168: -> 1 -> ifIndex = 1
--snpd:   public@192.168.190.168: -> 2 -> ifIndex = 2
--snpd:   public@192.168.190.168: -> 3 -> ifIndex = 3
--snpd:   public@192.168.190.168: -> 4 -> ifIndex = 4
--snpd:   public@192.168.190.168: -> 5 -> ifIndex = 5
--snpd:   public@192.168.190.168: -> 6 -> ifIndex = 6
--snpd:   public@192.168.190.168: -> 7 -> ifIndex = 7
--snpd:   public@192.168.190.168: -> 8 -> ifIndex = 8
--snpd:   public@192.168.190.168: -> 9 -> ifIndex = 9
--snpd:   public@192.168.190.168: -> 10 -> ifIndex = 10
--snpd:   public@192.168.190.168: -> 11 -> ifIndex = 11
--snpd:   public@192.168.190.168: -> 12 -> ifIndex = 12
--snpd:   public@192.168.190.168: -> 13 -> ifIndex = 13
--snpd:   public@192.168.190.168: -> 14 -> ifIndex = 14
--snpd:   public@192.168.190.168: -> 15 -> ifIndex = 15
--snpd:   public@192.168.190.168: -> 16 -> ifIndex = 16
--snpd:   public@192.168.190.168: -> 17 -> ifIndex = 17
--snpd:   public@192.168.190.168: -> 18 -> ifIndex = 18
--base: Walking ifType
--snpd:   public@192.168.190.168: -> 1 -> ifType = 24
--snpd:   public@192.168.190.168: -> 2 -> ifType = 131
--snpd:   public@192.168.190.168: -> 3 -> ifType = 131
--snpd:   public@192.168.190.168: -> 4 -> ifType = 131
--snpd:   public@192.168.190.168: -> 5 -> ifType = 23
--snpd:   public@192.168.190.168: -> 6 -> ifType = 6
--snpd:   public@192.168.190.168: -> 7 -> ifType = 6
--snpd:   public@192.168.190.168: -> 8 -> ifType = 6
--snpd:   public@192.168.190.168: -> 9 -> ifType = 23
--snpd:   public@192.168.190.168: -> 10 -> ifType = 131
--snpd:   public@192.168.190.168: -> 11 -> ifType = 131
--snpd:   public@192.168.190.168: -> 12 -> ifType = 6
--snpd:   public@192.168.190.168: -> 13 -> ifType = 131
--snpd:   public@192.168.190.168: -> 14 -> ifType = 6
--snpd:   public@192.168.190.168: -> 15 -> ifType = 6
--snpd:   public@192.168.190.168: -> 16 -> ifType = 6
--snpd:   public@192.168.190.168: -> 17 -> ifType = 6
--snpd:   public@192.168.190.168: -> 18 -> ifType = 6
--base: Walking ifAdminStatus
--snpd:   public@192.168.190.168: -> 1 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 2 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 3 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 4 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 5 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 6 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 7 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 8 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 9 -> ifAdminStatus = 2
--snpd:   public@192.168.190.168: -> 10 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 11 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 12 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 13 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 14 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 15 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 16 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 17 -> ifAdminStatus = 1
--snpd:   public@192.168.190.168: -> 18 -> ifAdminStatus = 1
--base: Walking ifOperStatus
--snpd:   public@192.168.190.168: -> 1 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 2 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 3 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 4 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 5 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 6 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 7 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 8 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 9 -> ifOperStatus = 6
--snpd:   public@192.168.190.168: -> 10 -> ifOperStatus = 2
--snpd:   public@192.168.190.168: -> 11 -> ifOperStatus = 2
--snpd:   public@192.168.190.168: -> 12 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 13 -> ifOperStatus = 2
--snpd:   public@192.168.190.168: -> 14 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 15 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 16 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 17 -> ifOperStatus = 1
--snpd:   public@192.168.190.168: -> 18 -> ifOperStatus = 1
--base: Walking ifMtu
--snpd:   public@192.168.190.168: -> 1 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 2 -> ifMtu = 4091
--snpd:   public@192.168.190.168: -> 3 -> ifMtu = 1460
--snpd:   public@192.168.190.168: -> 4 -> ifMtu = 1464
--snpd:   public@192.168.190.168: -> 5 -> ifMtu = 1494
--snpd:   public@192.168.190.168: -> 6 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 7 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 8 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 9 -> ifMtu = 0
--snpd:   public@192.168.190.168: -> 10 -> ifMtu = 1480
--snpd:   public@192.168.190.168: -> 11 -> ifMtu = 1472
--snpd:   public@192.168.190.168: -> 12 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 13 -> ifMtu = 1280
--snpd:   public@192.168.190.168: -> 14 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 15 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 16 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 17 -> ifMtu = 1500
--snpd:   public@192.168.190.168: -> 18 -> ifMtu = 1500
--base: Walking ifSpeed
--snpd:   public@192.168.190.168: -> 1 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 2 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 3 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 4 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 5 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 6 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 7 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 8 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 9 -> ifSpeed = 0
--snpd:   public@192.168.190.168: -> 10 -> ifSpeed = 0
--snpd:   public@192.168.190.168: -> 11 -> ifSpeed = 100000
--snpd:   public@192.168.190.168: -> 12 -> ifSpeed = 1000000000
--snpd:   public@192.168.190.168: -> 13 -> ifSpeed = 100000
--snpd:   public@192.168.190.168: -> 14 -> ifSpeed = 1000000000
--snpd:   public@192.168.190.168: -> 15 -> ifSpeed = 1000000000
--snpd:   public@192.168.190.168: -> 16 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 17 -> ifSpeed = 1073741824
--snpd:   public@192.168.190.168: -> 18 -> ifSpeed = 1073741824
--base: Writing c:\mrtg\cfg\mrtg.cfg

CFG文件构成:

mrtg-cfg.jpg
    10.2、perl indexmaker c:\mrtg\cfg\mrtg.cfg>c:\inetpub\wwwroot\mrtg\index.html
(使用INDEXMAKER将MRTG.CFG文件中的内容转换成index.html,方便我们进行浏览管理。)
    10.3、perl mrtg --logging=c:\mrtg\cfg\mrtg.log c:\mrtg\cfg\mrtg.cfg(从MRTG.CFG中读取配置并启动MRTG程序,同时记录日志信息到mrtg.log中)执行完后就会发现命令行模式开始实时监控。如图:

image

11.将程序以服务方式进行

step1:将c:\Program Files (x86)\Windows Resource Kits\Tools下instsrv.exe和Srvany.exe复制到mrtg安装目录的BIN目录下。例如c:\mrtg\mrtg-2.17.4\bin。

step2:在MRTG\mrtg-2.17.4\BIN目录下执行instsrv mrtg "c:\mrtg\mrtg-2.17.4\bin\srvany.exe"安装MRTG为系统服务。

step3:配置SRVANY,在注册表hkey_local_machine\system\currentcontrolset\services\mrtg中添加一个parameters项,再在parameters子键中添加以下项目:
Application的字串值,内容为c:\perl64\bin\wperl.exe  (wperl运行没有命令行控制台窗口)
AppDirectory的字串值,内容为c:\mrtg\mrtg-2.17.4\bin\
AppParameters的字串值,内容为mrtg --logging=c:\mrtg\cfg\mrtg.log c:\mrtg\cfg\mrtg.cfg

或者直接导入如下注册表文件wrtg.reg:

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRTG3\Parameters]
"Application"="c:\\perl64\\bin\\wperl.exe"
"AppParameters"="c:\\mrtg\\mrtg-2.17.4\\bin\\mrtg --logging=c:\\mrtg\\cfg\\eventlog c:\\mrtg\\cfg\\mrtg.cfg"
"AppDirectory"="c:\\mrtg\\mrtg-2.17.4\\bin\\"


step:4: 修改mrtg.cfg文件

添加:

 

Step5:到服务管理里头配置MRTG服务为自动

image

12.修改成中文标识:

例如68端口对应的中文名是“外网出口”,则用记事本打开index.htm,通过查找Traffic Analysis for 68将其替换为你所希望的中文名“外网出口”即可。

 

13.优化步骤10.1 cfgmaker,优化如下:

A:只显示指定的端口

perl cfgmaker --ifref=ip --ifdesc=descr --if-filter=$if_is_ethernet public@192.168.190.168 --global "WorkDir: c:\inetpub\wwwroot\mrtg" --output c:\mrtg\cfg\mrtg.cfg

修改前页面显示:

image

修改后:

image

B:放大图形

修改cfg文件

源文件:

### Interface 12 >> Descr: 'Intel(R)-PRO/1000-MT-Network-Connection' | Name: 'ethernet_5' | Ip: '192.168.190.168' | Eth: 'No Ethernet Id' ###

Target[192.168.190.168_192.168.190.168]: /192.168.190.168:public@192.168.190.168:
SetEnv[192.168.190.168_192.168.190.168]: MRTG_INT_IP="192.168.190.168" MRTG_INT_DESCR="Intel(R)-PRO/1000-MT-Network-Connection"
MaxBytes[192.168.190.168_192.168.190.168]: 125000000
Title[192.168.190.168_192.168.190.168]: Intel(R)-PRO/1000-MT-Network-Connection -- DC1.emmdemo.com
PageTop[192.168.190.168_192.168.190.168]: <h1>Intel(R)-PRO/1000-MT-Network-Connection -- DC1.emmdemo.com</h1>
增加:

Xsize[192.168.190.168_192.168.190.168]: 600
Ysize[192.168.190.168_192.168.190.168]: 100

重新构筑配置文件的批处理程序build.bat:

net stop mrtg3

del /q C:\inetpub\wwwroot\MRTG\*.*
perl cfgmaker public@192.168.190.168 --global "WorkDir: c:\inetpub\wwwroot\mrtg" --output c:\mrtg\cfgmrtg.cfg
perl indexmaker c:\mrtg\cfg\mrtg.cfg>c:\inetpub\wwwroot\mrtg\index.html
net start mrtg3

增加xsize后的效果:

image

去掉:

Xsize[192.168.190.168_192.168.190.168]: 600
Ysize[192.168.190.168_192.168.190.168]: 100

增加:

XScale[192.168.190.168_192.168.190.168]: 2.0
YScale[192.168.190.168_192.168.190.168]: 2.0

效果如下:

image

相关文章:

设计模式之外观模式(Facade)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程&#xff0c;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类&#xff0c;而一个对象创建型模式将实例化委托给…

知识图谱公开课 | 详解事件抽取与事件图谱构建

现有知识图谱大多关注于以实体为核心的静态知识&#xff0c;缺乏对于以事件为核心的动态知识的刻画和构建。如何从非结构化文本中抽取结构化的事件知识已成为眼下热门研究课题。本次公开课中&#xff0c;我们邀请到了中科院自动化所模式识别国家重点实验室助理研究员陈玉博&…

实时显示系统时间

CTime time;CString m_time;void CtimeDlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码 SetTimer(1,1000,NULL);}void CtimeDlg::OnTimer(UINT_PTR nIDEvent){// TODO: 在此添加消息处理程序代码和/或调用默认值 timeCTime::GetCurrentTime(); …

安卓手机文件管理器:360°LES文件浏览器

360度LES文件浏览器功能可谓是非常强大&#xff0c;可以对文件或文件夹进行新建、复制、剪切、删除、移动、搜索等操作。支持多标签页&#xff0c;能设置成root级别的管理器, 关联文件打开,列表或图标的形式显示&#xff0c;拖曳文件,多标签页下文件拖曳(下面有详细的讲解)&…

XML DTD 语言学习笔记

-XML DTD 全称&#xff1a;Document Type Definition简介&#xff1a;用于定义文档的合法性。它定义了文档应该有哪些元素及其属性&#xff0c;还有其他一些约束性规则。 注意&#xff1a;DTD语言定义的文档类型是SGML家族的标记性语言。包括SGML,XML,HTML&#xff09;&#xf…

Python快速入门,你想要的就在这里了!

学习Python您是否会面临以下问题&#xff1f;“网上充斥着大量的学习资源、书籍、视频教程和博客&#xff0c;但是大部分都是讲解基础知识&#xff0c;不够深入&#xff1b;也有的比较晦涩&#xff0c;难以理解”CSDN Python学习社群将帮助您过滤网上的垃圾教程资源的技能&…

设计模式之代理模式(Proxy)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程&#xff0c;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类&#xff0c;而一个对象创建型模式将实例化委托给…

Symfony学习笔记

Symfony学习笔记Symfony本来已经接触过了&#xff0c;可发现好久 不用好多东西都已经遗忘了&#xff0c;决定再次拾起&#xff0c;看能不能发现之前没有注意到的新的东西。果然在不断学习的过程中&#xff0c;又发现了许多自认为很细节但又很重要的地方&#xff0c;下面就列举如…

设计模式之模板方法模式(Template Method)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程&#xff0c;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类&#xff0c;而一个对象创建型模式将实例化委托给…

Linux练习(显示环境变量)

#include <stdio.h> #include <stdlib.h> extern char **environ; int main() {char **envenviron;while(*env){printf("%s\n",*env);env;}exit(0); } 主要是environ变量&#xff0c;定义如下 #include <stdlib> extern char **environ;

百度发布ERNIE 2.0,性能超BERT、XLNet

作者 | Khari Johnson 译者 | 赵雪 编辑 | 夕颜 出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09; 中国科技巨头百度于今日提出了 ERNIE 2.0——一个中英双语的会话式人工智能模型。ERNIE 2.0 在语言理解基准上的表现超过了谷歌的 BERT 和 XLNet&#xff0c;在 9 个国…

php中mkdir()函数的权限问题

为什么80%的码农都做不了架构师&#xff1f;>>> 遇到个问题 某个定时job用root用户mkdir(./test/,0777)新建了目录&#xff0c;指定了权限是0777&#xff0c;结果获得的是0755, 而web上用www用户也在这目录创建目录和文件&#xff0c;结果报错了&#xff0c;一开始…

设计模式之策略模式(Strategy)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程&#xff0c;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类&#xff0c;而一个对象创建型模式将实例化委托给…

PreparedStatement

该 PreparedStatement接口继承Statement&#xff0c;并与之在两方面有所不同&#xff1a;  PreparedStatement 实例包含已编译的 SQL 语句。这就是使语句“准备好”。包含于 PreparedStatement 对象中的 SQL 语句可具有一个或多个 IN 参数。IN参数的值在 SQL 语句创建时未被指…

百度ERNIE 2.0发布!16项中英文任务表现超越BERT和XLNet

整理 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;导读&#xff1a;2019 年 3 月&#xff0c;百度正式发布 NLP 模型 ERNIE&#xff0c;其在中文任务中全面超越 BERT 一度引发业界广泛关注和探讨。今天&#xff0c;百度发布了 ERNIE 2.0&#xff0c;指出其在…

WindowsServer2012史记7-茴香豆的五种写法和四种”显示计算机”的方法

消失的"计算机"&#xff1f;【这周九叔工作比较忙&#xff0c;还有其他琐事缠身&#xff0c;因此SystemCenter2012SP1系列的发布稍慢&#xff0c;抱歉了各位。】众所周知&#xff0c;WindowsServer2012和Windows8一样&#xff0c;默认桌面上是没有"计算机"…

设计模式之状态模式(State)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程&#xff0c;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类&#xff0c;而一个对象创建型模式将实例化委托给…

CYQ学习主要摘要4

http://www.cnblogs.com/cyq1162/archive/2010/11/03/1867642.html Xml的处理 http://www.cnblogs.com/cyq1162/archive/2010/11/23/1885299.html 3.5版本 http://www.cnblogs.com/cyq1162/archive/2010/12/27/1918317.html 无线分级 http://www.cnblogs.com/cyq1162/archive/2…

知识图谱、深度学习、AutoML,推荐系统与新技术结合将碰撞出怎样的火花?

近日&#xff0c;来自意大利米兰理工大学 Maurizio 团队发表的一篇极具批判性的文章火了。这篇文章剑指推荐系统领域的其他数十篇论文&#xff0c;并通过多项试验证明这些论文中基于深度学习的推荐算法大部分都存在不同程度的数据集缺失和源码缺失的问题&#xff0c;导致根本无…

python-range用法

2019独角兽企业重金招聘Python工程师标准>>> 详细记录python的range()函数用法 转载于:https://my.oschina.net/lxwgmail/blog/135228

设计模式之观察者模式(Observer)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程&#xff0c;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类&#xff0c;而一个对象创建型模式将实例化委托给…

中科院、百度研究院等联合提出UGAN,生成图片难以溯源

作者 | 中国科学院、北京航空航天大学、百度研究院团队译者 | 凯隐编辑 | 夕颜出品 | AI科技大本营&#xff08;ID: rgznai100&#xff09;导读&#xff1a;生成对抗网络&#xff08;GAN&#xff09;是近年大热的深度学习模型&#xff0c;中国科学院相关团队注意到&#xff0c;…

搜索引擎的时效性需求满足

“全、准、快、新”是搜索引擎的四大评价指标&#xff0c;其中的“新”指代的就是时效性。随着互联网的发展&#xff0c;网民对信息获取的时效性要求越来越高。同时越来越多的网民更多的参与到创造互联网内容中去&#xff0c;互联网上的新信息也在迅速的膨胀。这都给搜索引擎时…

如何卸载sql2008,完全清除

1.先把SQL Server卸载&#xff0c;再把安装时产生的“Microsoft SQL Server”文件夹删掉,在运行注册表,把HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQLServer&#xff0c;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server全部删掉&#xff0c;(注意要把Mic…

别再说学不会:超棒的Numpy可视化学习教程来了

作者 | Jay Alammar译者 | 苏南下来源 | 机器会学ML&#xff08;ID&#xff1a;AI_Learning007&#xff09;导读&#xff1a;学习 Python&#xff0c;尤其是基于 Python 的学习机器学习算法&#xff0c;最基础的 NumPy 用法必须得熟悉。网上这方面的教程不少&#xff0c;但大多…

设计模式之备忘录模式(Memento)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程&#xff0c;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类&#xff0c;而一个对象创建型模式将实例化委托给…

型网站的架构设计问题----大型高并发高负载网站的系统架构

随着中国大型IT企业信息化速度的加快&#xff0c;大部分应用的数据量和访问量都急剧增加&#xff0c;大型企业网站正面临性能和高数据访问量的压力&#xff0c;而且对存储、安全以及信息检索等等方面都提出了更高的要求…… 本文中&#xff0c;我想通过几个国外大型IT企业及网站…

java之php、Android、JAVA、C# 3DES加密解密

异常如下1.javax.crypto.BadPaddingException: Given final block not properly padded1&#xff09;要确认下是否加密和解密都是使用相同的填充算法&#xff08;也就是说&#xff0c;是否都是使用PKCS5Padding&#xff09;2&#xff09;确认下你要解密的字节数组是否正确。jav…

设计模式之中介者模式(Mediator)摘录

23种GOF设计模式一般分为三大类&#xff1a;创建型模式、结构型模式、行为模式。 创建型模式抽象了实例化过程&#xff0c;它们帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建型模式使用继承改变被实例化的类&#xff0c;而一个对象创建型模式将实例化委托给…

谷歌引入自动网络设计,高效解决大规模深度推荐模型的特征嵌入问题

来源 | 深度传送门&#xff08;ID:gh_5faae7b50fc5&#xff09;导读&#xff1a;本文主要介绍Google在大规模深度推荐模型上关于特征嵌入的最新论文。 一、背景大部分的深度学习模型主要包含如下的两大模块&#xff1a;输入模块以及表示学习模块。自从NAS[1]的出现以来&#xf…