日志分析方法概述

注:写得有点乱,但目前市面上这方面内容的确不多,mark一下~
http://blog.csdn.net/pkueecser/article/details/9569251

大数据应用--系统监控与日志分析

http://wenku.baidu.com/link?url=8CJ-URMjVTVaw3GM1AZ2w9A7V0CIeRz3dx7xvysILLk6IdWpJGT889gQ7-824G4hAK-T2tdqZY1Lo6CEN1hgqHQNlHhVFykWJ_9XQW6EN5K
大数据日志分析产品(电商方向)
https://www.sensorsdata.cn/manual/event_ana.html

=============

日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。

本文讨论的日志处理方法中的日志,仅指Web日志。其实并没有精确的定义,可能包括但不限于各种前端Web服务器——apache、lighttpd、tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的日志。

在Web日志中,每条日志通常代表着用户的一次访问行为,例如下面就是一条典型的apache日志:

211.87.152.44 – - [18/Mar/2005:12:21:42 +0800] “GET / HTTP/1.1″ 200 899 “http://www.baidu.com/” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)”

从上面这条日志中,我们可以得到很多有用的信息,例如访问者的IP、访问的时间、访问的目标网页、来源的地址以及访问者所使用的客户端的UserAgent信息等。如果需要更多的信息,则要用其它手段去获取:例如想得到用户屏幕的分辨率,一般需要使用js代码单独发送请求;而如果想得到诸如用户访问的具体新闻标题等信息,则可能需要Web应用程序在自己的代码里输出。

为什么要分析日志

毫无疑问,Web日志中包含了大量人们——主要是产品分析人员会感兴趣的信息,最简单的,我们可以从中获取网站每类页面的PV值(PageView,页面访问量)、独立IP数(即去重之后的IP数量)等;稍微复杂一些的,可以计算得出用户所检索的关键词排行榜、用户停留时间最高的页面等;更复杂的,构建广告点击模型、分析用户行为特征等等。

既然这些数据是如此的有用,那么当然已经有无数现成的工具可以帮助我们来分析它们,例如awstats、Webalizer,都是专门用于统计分析Web服务器日志的免费程序。

另外还有一类产品,它们不分析直接日志,而是通过让用户在页面中嵌入js代码的方式来直接进行数据统计,或者说我们可以认为它是直接让日志输出到了它们的服务器。典型的代表产品——大名鼎鼎的Google Analytics,另外还有国内的cnzz、百度统计等。

很多人可能会说,既然如此,我们为什么还需要自己来分析日志,有必要吗?当然有。我们的用户(产品分析人员)需求是无穷尽的,上面说的这几类工具虽然很好很强大,但显然没办法满足全部的需求。

无论是本地分析的工具,还是在线的分析服务,它们虽然提很丰富的的统计分析功能,可以做一定程度的配置,但是依然很有限的。要进行稍复杂点的分析,或者要做基于日志的数据挖掘,依然需要自己来完成。

另外绝大多数日志分析工具都是只能用于单机的,数据量稍大就没辙了。同时那些提供在线分析的服务对于单个站点通常也都有最大流量的限制——这是很容易理解的,他们也需要考虑服务器的负载。

所以,很多时候还是得靠自己。

怎么进行日志分析

这并不是一个简单的问题。即使我们把“日志”限定为Web日志,依然包含了成千上万种可能的格式和数据,而是“分析”更是难以定义,也许是简单的统计值的计算,也许是复杂的数据挖掘算法。

下面并不打算讨论这些复杂的问题,而只是笼统的讨论如何构建进行日志分析工作的基础。有了这些基础会让基于日志的简单统计分析变得很简单,并让复杂的分析挖掘等变得可行。

少量数据的情况

先考虑最简单的情况,在数据规模比较小的时候,也许是几十MB、几百MB或者几十GB,总之就是在单机处理尚能忍受的时候。一切都很好办,现成的各种Unix/Linux工具——awk、grep、sort、join等都是日志分析的利器,如果仅仅是想知道某个页面的PV,一个wc+grep就能搞定。如果有稍复杂的逻辑,那就使用各种脚本语言,尤其是perl,配合伟大的正则表达式,基本就可以解决所有的问题。

例如,我们想从上面提到的apache日志中得到访问量最高前100个IP,实现很简单:

cat logfile | awk ‘{a[$1]++} END {for(b in a) print b”\t”a[b]}’|sort -k2 -r|head -n 100

不过当我们需要频繁去分析日志的时候,上面的做法在一段时间之后可能就会让我们头疼如何进行各种日志文件、用于分析的脚本文件、crontab文件等等的维护,并且可能会存在大量重复的代码来做数据格式的解析和清洗,这个时候也许就需要更合适的东西,比如——数据库。

当然,要使用数据库来进行日志分析还是需要一些代价的,最主要的就是如何将各种异构的日志文件导入的数据库中——这个过程通常称为ETL(Extraction-Transformation-Loading)。幸好依然有各种现成的开源、免费的工具来帮助我们做这件事情,并且在日志种类不太多的时候,自己写几个简单的脚本来完成这项工作也并不困难。例如可以将上面的日志去掉不必要的字段,然后导入如下的数据库中:

现在需要考虑一下用什么数据库来存储这些数据。MySQL是一个很经典的开源数据库,它的传统引擎(MyISAM或者InnoDB,行存储)也许并不非常的适合日志数据的存储,但是在小数据量的时候还是很够用的。而且,在这方面现在已经有了更好的选择,例如开源且免费的Infobright、Infinidb,都是专门为数据仓库应用而进行了优化的数据引擎,采用列存储,有良好的数据压缩,处理几百GB的数据基本上不是问题。

使用数据库的好处之一就是,伟大的SQL可以帮我们很简单的完成绝大部分的统计分析工作——PV只需要SELECT+COUNT,计算搜索词排行只需要SELECT+COUNT+GROUP+ORDER+LIMIT。此外,数据库本身的结构化存储模式也让日志数据的管理变的更简单,减少运维代价。

同样还是上面的那个例子,简单的一个SQL就可以搞定:

SELECT * FROM (SELECT ip, COUNT(*) AS ip_count FROM apache_log GROUP BY ip) a ORDER BY ip_count DESC LIMIT 100

至于性能问题,数据库的索引和各种优化机制通常会让我们的统计分析工作变得更快,并且上面提到的Infobright和Infinidb都专门为类似SUM、COUNt之类的聚集应用做了优化。当然也不是绝对的会快,例如在数据库中进行LIKE操作,通常会比grep一个文件还要慢很多。

更进一步的,使用基于数据库的存储,可以很容易的进行OLAP(联机分析处理)应用,从日志中挖掘价值会变的更加简单。

更多的数据怎么办

一个好的数据库似乎会让事情变的很简单,但是别忘了前面提到的都是单机数据库。一台单机在存储容量、并发性上毫无疑问都是有很大限制的。而日志数据的特点之一就是随时间持续增长,并且由于很多分析过程往往需要历史数据。短时间内的增长也许可以通过分库、分表或者数据压缩等来解决,不过很显然并不是长久之计。

想要彻底解决数据规模增长带来的问题,很自然的会想到使用分布式技术,结合上面的结论,也许使用某个分布式数据库是一个好选择,那么对最终用户就可以完全透明了。这个的确是很理想的情况,不过现实往往是残酷的。

首先,实现比较完美的分布式数据库(受限于CAP原则)是一个非常复杂的问题,因此在这里并不像单机数据库那样,有那么多开源的好东西可以用,甚至于商用的也并不是太多。当然,也并非绝对,如果有钱,还是可以考虑一下Oracle RAC、Greenplum之类东西。

其次,绝大多数分布式数据库都是NoSQL的,所以想继续用上SQL的那些优点基本上是没指望,取而代之的都是一些简单、难以使用的接口。单从这点看来,使用这些数据库的价值已经降低很多了。

所以,还是先现实一点,先退一步考虑如何解决的超大规模的日志的分析问题,而不是想如何让它变的像在小数据规模时那样简单。单单想做到这点,目前看来并不是太难,并且依然有免费的午餐可以吃。

Hadoop是伟大的Apache基金会下面的一套分布式系统,包括分布式文件系统(HDFS)、MapReduce计算框架、HBase等很多组件——这些基本都是Google的GFS/MapReduce/BigTable的克隆产品。

Hadoop经过数年的发展,目前已经很成熟了,尤其是其中的HDFS和MapReduce计算框架组件。数百台机器的集群已经被证明可以使用,可以承担PB级别的数据。

Hadoop项目中的HBase是一个按列存储的NoSQL分布式数据库,它提供的功能和接口都非常简单,只能进行简单的K-V查询,因此并不直接适用于大多数日志分析应用。所以一般使用Hadoop来做日志分析,首先还是需要将日志存储在HDFS中,然后再使用它提供的MapReduce API编写日志分析程序。

MapReduce是一种分布式编程模型,并不难学习,但是很显然使用它来处理日志的代价依然远大于单机脚本或者SQL。一个简单的词频统计计算可能都需要上百代码——SQL只需要一行,另外还有复杂的环境准备和启动脚本。

例如同样还是上面的例子,实现就要复杂的多,通常需要两轮MapReduce来完成。首先要在第一轮的mapper中计算部分ip的访问次数之和,并以ip为key输出:

//遍历输入,并聚合结果

foreach(record in input) {

ip = record.ip;

dict[ip]++;

}

//用emit输出,第一个参数为key,用于reduce的分发

foreach( in dict) {

emit(ip, count);

}

然后在第一轮的reduce中就可以得到每个ip完整的计数,可以顺便排个序,并且只保留前100个。

count = 0;

//对于每个key(ip),遍历所有的values(count),并累加

while(input.values.hasNext()) {

count += input.values.next();

}

//插入到大小为100的堆中

heap_insert(input.key, count);

在reduce结束的时候输出:

//输出当前reduce中count最高的100个ip

foreach( in dict) {

emit(ip, count);

}

由于reduce一般会有很多个,所以最后还需要将所有reduce的输出进行合并、再排序,并得到最终的前100个IP以及对应的访问量。

所以,使用Hadoop来做日志分析很显然不是一件简单事情,它带来了很多的额外的学习和运维成本,但是至少,它让超大规模的日志分析变成了可能。

怎样变得更简单

在超大规模的数据上做任何事情都不是一件容易的事情,包括日志分析,但也并不是说分布式的日志分析就一定要去写MapReduce代码,总是可以去做进一步的抽象,在特定的应用下让事情变得更简单。

也许有人会很自然的想到如果能用SQL来操作Hadoop上的数据该有多好。事实上,不仅仅只有你一个人会这么想,很多人都这么想,并且他们实现了这个想法,于是就有了Hive。

Hive现在也是Hadoop项目下面的一个子项目,它可以让我们用SQL的接口来执行MapReduce,甚至提供了JDBC和ODBC的接口。有了这个之后,Hadoop基本上被包装成一个数据库。当然实际上Hive的SQL最终还是被翻译成了MapReduce代码来执行,因此即使最简单的SQL可能也要执行好几十秒。幸好在通常的离线日志分析中,这个时间还是可以接受的。更重要的是,对于上面提到的例子,我们又可以用一样的SQL来完成分析任务了。

当然Hive并不是完全的兼容SQL语法,而且也不能做到完全的对用户屏蔽细节。很多时候为了执行性能的优化,依然需要用户去了解一些MapReduce的基本知识,根据自己的应用模式来设置一些参数,否则我们可能会发现一个查询执行很慢,或者压根执行不出来。

另外,很显然Hive也并不能覆盖所有的需求,所以它依然保留插入原始MapReduce代码的接口,以便扩展。

更多的问题

即使有了Hive这样一个类似于数据库的东西,我们依然还有很多事情需要做。例如时间久了,可能会有越来越多的需要例行执行的SQL,而这些SQL中,也许有一些是做了重复的事情;也许有一些的执行效率非常低下,一个复杂的SQL就占满了所有的计算资源。这样的系统会变得越来越难以维护的,直到有一天例行的SQL终于跑不完了。而最终用户往往不会去关心这些事情,他们只关心自己提交的查询是不是能即时得到响应,怎么样才能尽快的拿到结果。

举个简单的例子,如果发现在使用apache_log的所有查询中,几乎没有人用其中的user_agent字段,那么我们完全可以把这个字段去除掉,或者拆分成两张表,以减少多数查询的IO时间,提高执行的效率。

为了系统化的解决这些问题,我们可能需要引入例行任务的调度机制,可能需要去分析所有的SQL来发现哪些是可以合并的、哪些的性能需要优化,使用的数据表是不是需要做水平或者垂直分表等等。根据实际情况的不同,这时事情可能是人工来完成,也可能是写程序来自动分析并调整。

再者随着日志类型、分析需求的不断增长。用户会越来越多的抱怨很难找到想要的数据在哪份日志里,或者跑的好好的查询因为日志格式的变化而突然不能用了。另外上面提到的ETL过程也会变得复杂,简单的转换导入脚本很可能已经解决不了问题。这时候可能需要构建一个数据管理系统,或者干脆考虑建立一个所谓的数据仓库。

总之,随着日志数据量、日志类型、用户数量、分析需求等等的不断增长,越来越多的问题会逐渐浮现出来,日志分析这件事情可能就不再像我们最初想的那么简单,会变得越来越有价值,也越来越有挑战。




Web日志挖掘分析的方法

日志文件的格式及其包含的信息
①2006-10-17 00:00:00②202.200.44.43 ③218.77.130.24 80 ④GET ⑤/favicon.ico 
⑥Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+zh-CN;+rv:1.8.0.3)+Gecko/20060426
+Firefox/1.5.0.3。
①访问时间;②用户IP地址;③访问的URL,端口;④请求方法(“GET”、“POST”等);
⑤访问模式;⑥agent,即用户使用的操作系统类型和浏览器软件。

一、日志的简单分析
1、注意那些被频繁访问的资源
2、注意那些你网站上不存在资源的请求。常见的扫描式攻击还包括传递恶意参数等:
3、观察搜索引擎蜘蛛的来访情况
4、观察访客行为
应敌之策:
1、封杀某个IP
2、封杀某个浏览器类型(Agent)
3、封杀某个来源(Referer)
4、防盗链
5、文件重命名
作用:
1.对访问时间进行统计,可以得到服务器在某些时间段的访问情况。
2.对IP进行统计,可以得到用户的分布情况。
3.对请求URL的统计,可以得到网站页面关注情况。
4.对错误请求的统计,可以更正有问题的页面。

二、Web挖掘
根据所挖掘的Web 数据的类型,可以将Web 数据挖掘分为以下三类:Web 内容挖掘(Web Content Mining)、Web 结构挖掘(Web Structure Mining)、Web 使用挖掘(Web Usage Mining)(也称为Web日志挖掘)。
①Web内容挖掘。Web内容挖掘是指从文档的内容中提取知识。Web内容挖掘又分为文本挖掘和多媒体挖掘。目前多媒体数据的挖掘研究还处于探索阶段,Web文本挖掘已经有了比较实用的功能。Web文本挖掘可以对Web上大量文档集合的内容进行总结、分类、聚类、关联分析,以及利用Web文档进行趋势预测等。Web文档中的标记,例如和<Heading>等蕴含了额外的信息,可以利用这些信息来加强Web文本挖掘的作用。 <br> ②Web结构挖掘。Web结构挖掘是从Web的组织结构和链接关系中推导知识。它不仅仅局限于文档之间的超链接结构,还包括文档内部的结构。文档中的URL目录路径的结构等。Web结构挖掘能够利用网页间的超链接信息对搜索引擎的检索结果进行相关度排序,寻找个人主页和相似网页,提高Web搜索蜘蛛在网上的爬行效率,沿着超链接优先爬行。Web结构挖掘还可以用于对Web页进行分类、预测用户的Web链接使用及Web链接属性的可视化。对各个商业搜索引擎索引用的页数量进行统计分析等。 <br> ③Web使用记录挖掘。Web使用记录挖掘是指从Web的使用记录中提取感兴趣的模式,目前Web使用记录挖掘方面的研究较多,WWW中的每个服务器都保留了访问日志,记录了关于用户访问和交互的信息,可以通过分析和研究Web日志记录中的规律,来识别网站的潜在用户;可以用基于扩展有向树模型来识别用户浏览序列模式,从而进行Web日志挖掘;可以根据用户访问的Web记录挖掘用户的兴趣关联规则,存放在兴趣关联知识库中,作为对用户行为进行预测的依据,从而为用户预取一些Web页面,加快用户获取页面的速度,分析这些数据还可以帮助理解用户的行为,从而改进站点的结构,或为用户提供个性化的服务。<br> 通过对Web服务器日志中大量的用户访问记录深入分析,发现用户的访问模式和兴趣爱好等有趣、新颖、潜在有用的以及可理解的未知信息和知识,用于分析站点的使用情况,从而辅助管理和支持决策。当前,web日志挖掘主要被用于个性化服务与定制、改进系统性能和结构、站点修改、商业智能以及web特征描述等诸多领域。</p> <p style="color:rgb(85,85,85);font-size:15px;font-family:'宋体';line-height:25px;"> 三、Web日志挖掘的方法<br> (一)首先,进行数据的预处理。<br> 从学习者的访问日志中得到的原始日志记录并不适于挖掘,必须进行适当的处理才能进行挖掘。因此,需要通过日志清理,去除无用的记录;对于某些记录,我们还需要通过站点结构信息,把URL路径补充成完整的访问序列;然后划分学习者,并把学习者的会话划分成多个事务。<br> (二)其次,进行模式发现<br> 一旦学习者会话和事务识别完成,就可以采用下面的技术进行模式发现。模式发现, 是对预处理后的数据用数据挖掘算法来分析数据。分有统计、分类、聚类、关等多种方法。<br> ① 路径分析。它可以被用于判定在一个站点中最频繁访问的路径,还有一些其它的有关路径的信息通过路径分析可以得出。路径分析可以用来确定网站上的频繁访问路径, 从而调整和优化网站结构, 使得用户访问所需网页更加简单快捷, 还可以根据用户典型的浏览模式用于智能推荐和有针对性的电子商务活动。例如:70% 的学习者在访问/ E-Business /M2时,是从/EB开始,经过/ E-Business /SimpleDescription,/ E-Business /M1;65%的学习者在浏览4个或更少的页面内容后就离开了。利用这些信息就可以改进站点的设计结构。<br> ② 关联规则。 使用关联规则发现方法,可以从Web的访问事务中找到的相关性。关联规则是寻找在同一个事件中出现的不同项的相关性,用数学模型来描述关联规则发现的问题:x=>y的蕴含式,其中x,y为属性——值对集(或称为项目集),且X∩Y空集。在数据库中若S%的包含属性——值对集X的事务也包含属性——值集Y,则关联规则X=>Y的置信度为C%。<br> ③ 序列模式。在时间戳有序的事务集中,序列模式的发现就是指那些如“一些项跟随另一个项”这样的内部事务模式。它能发现数据库中如“在某一段时间内,客户购买商品A,接着会购买商品B,尔后又购买商品C,即序列A→B→C出现的频率高”之类的信息。序列模式描述的问题是:在给定的交易序列数据库中,每个序列按照交易的时间排列的一组交易集,挖掘序列函数作用是返回该数据库中高频率出现有序列。<br> ④ 分类分析。发现分类规则可以给出识别一个特殊群体的公共属性的描述,这种描述可以用于分类学习者。分类包括的挖掘技术将找出定义了一个项或事件是否属于数据中某特定子集或类的规则。该类技术是最广泛应用于各类业务问题的一类挖掘技术。分类算法最知名的是决策树方法,此外还有神经元网络、Bayesian分类等。例如:在/ E-Business /M4学习过的学习者中有40%是20左右的女大学生。<br> ⑤聚类分析。可以从Web访问信息数据中聚类出具有相似特性的学习者。在Web事务日志中,聚类学习者信息或数据项能够便于开发和设计未来的教学模式和学习群体。聚类是将数据集划分为多个类,使得在同一类中的数据之间有较高的相似度,而在不同类中的数据差别尽可能大。在聚类技术中,没有预先定义好的类别和训练样本存在,所有记录都根据彼此相似程度来加以归类。主要算法有k—means、DBSCAN等。聚类分析是把具有相似特征的用户或数据项归类,在网站管理中通过聚类具有相似浏览行为的用户。基于模糊理论的Web页面聚类算法与客户群体聚类算法的模糊聚类定义相同,客户访问情况可用URL(Uj)表示。有Suj={(Ci,fSuj(Ci))|Ci∈C},其中fSuj(Ci)→[0,1]是客户Ci和URL(Uj)间的关联度:式中m为客户的数量,hits(Ci)表示客户Ci访问URL(Uj)的次数。利用Suj和模糊理论中的相似度度量Sfij定义建立模糊相似矩阵,再根据相似类[Xi]R的定义构造相似类,合并相似类中的公共元素得到的等价类即为相关Web页面。<br> ⑥统计。统计方法是从Web 站点中抽取知识的最常用方法, 它通过分析会话文件, 对浏览时间、浏览路径等进行频度、平均值等统计分析。虽然缺乏深度, 但仍可用于改进网站结构, 增强系统安全性, 提高网站访问的效率等。<br> ⑦协同过滤。协同过滤技术采用最近邻技术,利用客户的历史、喜好信息计算用户之间的距离,目标客户对特点商品的喜好程度由最近邻居对商品的评价的加权平均值来计算。<br> (三)最后,进行模式分析。<br> 模式分析。基于以上的所有过程,对原始数据进行进一步分析,找出用户的浏览模式规律,即用户的兴趣爱好及习惯,并使其可视化,为网页的规划及网站建设的决策提供具体理论依据。其主要方法有:采用SQL查询语句进行分析;将数据导入多维数据立方体中,用OLAP工具进行分析并给出可视化的结果输出。(分类模式挖掘、聚类模式挖掘、时间序列模式挖掘、序列模式挖掘、关联规则等)</p> <p style="color:rgb(85,85,85);font-size:15px;font-family:'宋体';line-height:25px;"> 四、关联规则<br> (一)关联规则<br> 顾名思义,关联规则(association rule)挖掘技术用于于发现数据库中属性之间的有趣联系。一般使用支持度(support)和置信度(confidence)两个参数来描述关联规则的属性。 <br> (二)Apriori方法简介<br> Apriori算法最先是由Agrawal等人于1993年提出的,它的基本思想是:首先找出所有具有超出最小支持度的支持度项集,用频繁的(k—1)-项集生成候选的频繁k-项集;其次利用大项集产生所需的规则;任何频繁项集的所有子集一定是频繁项集是其核心。<br> Apriori算法需要两个步骤:第一个是生成条目集;第二个是使用生成的条目集创建一组关联规则。当我们把最小置信度设为85%,通过关联规则的形成以及对应置信度的计算,我们可以从中得到以下有用的信息:<br> 1.置信度大于最小置信度时:我们可以这样认为,用户群体在浏览相关网页时,所呈列的链接之间是有很大关联的,他们是用户群的共同爱好,通过网页布局的调整,从某种意义上,可以带来更高的点击率及潜在客户;<br> 2.置信度小于最小置信度时:我们可以这样认为,用户群体对所呈列链接之间没太多的关联,亦或关联规则中的链接在争夺用户。</p> <p style="color:rgb(85,85,85);font-size:15px;font-family:'宋体';line-height:25px;"> 五、网站中Web日志挖掘内容<br>   (1)网站的概要统计。网站的概要统计包括分析覆盖的时间、总的页面数、访问数、会话数、惟一访问者、以及平均访问、最高访问、上周访问、昨日访问等结果集。<br>   (2)内容访问分析。内容访问分析包括最多及最少被访问的页面、最多访问路径、最多访问的新闻、最高访问的时间等。<br>   (3)客户信息分析。客户信息分析包括访问者的来源省份统计、访问者使用的浏览器及操作系统分析、访问来自的页面或者网站、来自的IP地址以及访问者使用的搜索引擎。<br>   (4)访问者活动周期行为分析。访问者活动周期行为分析包括一周7天的访问行为、一天24小时的访问行为、每周的最多的访问日、每天的最多访问时段等。<br>   (5)主要访问错误分析。主要访问错误分析包括服务端错误、页面找不到错误等。<br>   (6)网站栏目分析。网站栏目分析包括定制的频道和栏目设定,统计出各个栏目的访问情况,并进行分析。<br> (7)商务网站扩展分析。商务网站扩展分析是专门针对专题或多媒体文件或下载等内容的访问分析。<br> (8)有4个方向可以选择:①对用户点击行为的追踪,click stream研究;②对网页之间的关联规则的研究;③对网站中各个频道的浏览模式的研究;④根据用户浏览行为,对用户进行聚类,细分研究;(如果你能够结合现有的互联网产品和应用提出一些自己的建议和意见,那就更有价值了。)<br> (9)发现用户访问模式。通过分析和探究Web日志记录中的规律,可以识别电子商务的潜在客户,提高对最终用户的服务质量,并改进Web服务器系统的性能。 <br> (10)反竞争情报活动。反竞争情报是企业竞争情报活动的重要组成部分。</p> <p style="color:rgb(85,85,85);font-size:15px;font-family:'宋体';line-height:25px;"> 六、相关软件及算法<br> (一)相关软件:<br> 1.数据挖掘的专用软件wake。<br> 2.用OLAP工具<br> 3.已经有部分公司开发出了商用的网站用户访问分析系统,如WebTrends公司的CommerceTrends 3.0,它能够让电子商务网站更好地理解其网站访问者的行为,帮助网站采取一些行动来将这些访问者变为顾客。CommerceTrends主要由3部分组成:Report Generation Server、Campain Analyzer和Webhouse Builder。<br> 4.Accrue公司的Accrue Insight,它是一个综合性的Web分析工具,它能够对网站的运行状况有个深入、细致和准确的分析,通过分析顾客的行为模式,帮助网站采取措施来提高顾客对于网站的忠诚度,从而建立长期的顾客关系。<br> (二)相关算法:<br> 1.运用各种算法进行数据挖掘:GSP算法, Prefixspana算法,<br> 2.关联规则分析:Apriori、FP-growth算法等。<br> 3.Apriori算法及其变种算法<br> 4.基于数据库投影的序列模式生长技术(database project based sequential pattern growth)<br> 5. Wake算法、MLC++等<br> 6. PageRank算法和HITS算法利用Web页面间的超链接信息计算“权威型”(Authorities)网页和“目录型”(Hubs)网页的权值。Web结构挖掘通常需要整个Web的全局数据,因此在个性化搜索引擎或主题搜索引擎研究领域得到了广泛的应用。<br> 7.参考检索引擎的挖掘算法,比如Apache的lucene等。</p> <p style="color:rgb(85,85,85);font-size:15px;font-family:'宋体';line-height:25px;"> 七、日志分析的价值或应用<br> ①在自己的网站上安装了网站统计的代码,如Google analytics、量子统计、百度统计、cnzz、51.la等,这些工具可以统计网站的流量,也就是网站上访客可看到的所有页面的访问量,但是这些统计工具都不能统计你主机上资源的原始访问信息,例如某个图片被谁下载了。<br> ②如果你的网站遭到了攻击、非法盗链和不良请求等,通过分析原始访问日志能大概分析出端倪来,例如:往主机上传了一个mp3,不幸被百度mp3收录,引来大量的盗链,导致我的主机流量猛增!通过分析日志,可以找出问题根源,删除了那个mp3,主机流量也降下来了。<br> ③分析访客来源(Referer)。这一段是告诉我们访客是从哪里来到这一个网页。有可能是网站其他页,有可能是来自搜索引擎的搜索页等。通过这条来源信息,你可以揪出盗链者的网页。<br> ④网站日志分析软件都能提供关于服务器的浏览量、统计网站所有页面和相关文件被显示的次数、访问最多的网页、客户端访问最频繁的文件、访问者的IP分布、每日访问统计、每周每月等的统计结果。1.访问者访问时段分析。结合IP地址和时段之间的关系可以将来访者大致的身份作一个基本的判断。如按上班前、工作期间、下班后、节假日等,可以针对访客的初步性质安排合适的内容,如产品信息和广告;2.访问者地区分布。分析通过将访问者的IP地址转换为地理区间可以分析出来访者的大致地理分布范围。<br> ⑤相关产品推荐。通过以上的关联分析,有了用户频繁访问路径和链接之间的兴趣度,可以构建个性化推荐系统模型。对于实证例子,我们可以在置信度高于最低置信度的相关链接之间,建立某种信息快速互联的桥梁,亦或是在网页规划中,充分考虑链接之间的关联关系,从而为更人性化、合理化的网页设计提供决策依据。如:当客户浏览/newimg/num1.gif时,有0.91的概率会浏览/newimg/num4.gif,那么,在两者之间就存在很高的关联性,从而我们有必要对这两个链接建立某种跟紧密的联系。<br> ⑥个性挖掘:针对单个用户的使用记录对该用户进行建模,结合该用户基本信息分析他的使用习惯、个人喜好,目的是在电子商务环境下为该用户提供与众不同的个性化服务。<br> ⑦系统改进:Web服务(数据库、网络等)的性能和其他服务质量是衡量用户满意度的关键指标,Web 用法挖掘可以通过用户的拥塞记录发现站点的性能瓶颈,以提示站点管理者改进Web缓存策略、网络传输策略、流量负载平衡机制和数据的分布策略。此外,可以通过分析网络的非法入侵数据找到系统弱点,提高站点安全性,这在电子商务环境下尤为重要。<br> ⑧站点修改:站点的结构和内容是吸引用户的关键。Web 用法挖掘通过挖掘用户的行为记录和反馈情况为站点设计者提供改进的依,比如页面连接情况应如何组织、那些页面应能够直接访问等。<br> ⑨智能商务:用户怎样使用Web站点的信息无疑是电子商务销售商关心的重点,用户一次访问的周期可分为被吸引、驻留、购买和离开四个步骤,Web用法挖掘可以通过分析用户点击流等Web日志信息挖掘用户行为的动机,以帮助销售商合理安排销售策略。<br> ⑩Web特征描述:这类研究跟关注这样通过用户对站点的访问情况统计各个用户在页面上的交互情况,对用户访问情况进行特征描述。</p> <br> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1276469158984302592"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(BigData&Cloud,DataAnalysis,日志分析)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835476980380823552.htm" title="ES聚合分析原理与代码实例讲解" target="_blank">ES聚合分析原理与代码实例讲解</a> <span class="text-muted">光剑书架上的书</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%8E%82Offer%E6%94%B6%E5%89%B2%E6%9C%BA/1.htm">大厂Offer收割机</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">面试题</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E5%8E%86/1.htm">简历</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E8%AF%BB%E4%B9%A6/1.htm">程序员读书</a><a class="tag" taget="_blank" href="/search/%E7%A1%85%E5%9F%BA%E8%AE%A1%E7%AE%97/1.htm">硅基计算</a><a class="tag" taget="_blank" href="/search/%E7%A2%B3%E5%9F%BA%E8%AE%A1%E7%AE%97/1.htm">碳基计算</a><a class="tag" taget="_blank" href="/search/%E8%AE%A4%E7%9F%A5%E8%AE%A1%E7%AE%97/1.htm">认知计算</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9%E8%AE%A1%E7%AE%97/1.htm">生物计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98%E5%AE%9E%E7%8E%B0%E8%B4%A2%E5%AF%8C%E8%87%AA%E7%94%B1/1.htm">程序员实现财富自由</a> <div>ES聚合分析原理与代码实例讲解1.背景介绍1.1问题的由来在大规模数据分析场景中,特别是在使用Elasticsearch(ES)进行数据存储和检索时,聚合分析成为了一个至关重要的功能。聚合分析允许用户对数据集进行细分和分组,以便深入探索数据的结构和模式。这在诸如实时监控、日志分析、业务洞察等领域具有广泛的应用。1.2研究现状目前,ES聚合分析已经成为现代大数据平台的核心组件之一。它支持多种类型的聚</div> </li> <li><a href="/article/1832653368745619456.htm" title="ELK日志分析系统之集成Filebeat" target="_blank">ELK日志分析系统之集成Filebeat</a> <span class="text-muted">奔跑吧邓邓子</span> <a class="tag" taget="_blank" href="/search/%E9%AB%98%E6%95%88%E8%BF%90%E7%BB%B4/1.htm">高效运维</a> <div>目录一、Filebeat是什么?二、集成Filebeat1.安装Filebeat2.配置3.启动本博在ELK日志分析系统搭建一文中,介绍了使用Elasticsearch、Logstash、Kibana来搭建ELK。不过由于Logstash是一个功能强大的日志服务,作为日志采集器会占用较多的系统资源,如果需要添加插件,全部服务器的Logstash都要添加插件,扩展性很差。而Filebeat作为一个轻</div> </li> <li><a href="/article/1832321920775843840.htm" title="一、ELK架构介绍" target="_blank">一、ELK架构介绍</a> <span class="text-muted">李白望明月</span> <a class="tag" taget="_blank" href="/search/ELK%E5%9F%BA%E7%A1%80%E4%BB%8B%E7%BB%8D/1.htm">ELK基础介绍</a><a class="tag" taget="_blank" href="/search/elk/1.htm">elk</a> <div>一、ELK架构介绍ELK是一个应用套件,由Elasticsearch/Logstash/Kibana三个部分软件组成,简称ELK。ELK是一个做日志分析的管理系统。在服务器中的系统日志,网络日志,应用系统日志等各个日志收集/过滤/清洗,然后进行集中存放并可用实时检索/分析/展示日志。Logstash(收集日志)–>Elasticsearch(检索日志)–>Kibana(可视化)Elasticsea</div> </li> <li><a href="/article/1832099425187622912.htm" title="ELK处理 SpringBoot 日志,真实太妙了!" target="_blank">ELK处理 SpringBoot 日志,真实太妙了!</a> <span class="text-muted">进击的王小二</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/elk/1.htm">elk</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a> <div>在排查线上异常的过程中,查询日志总是必不可缺的一部分。现今大多采用的微服务架构,日志被分散在不同的机器上,使得日志的查询变得异常困难。工欲善其事,必先利其器。如果此时有一个统一的实时日志分析平台,那可谓是雪中送碳,必定能够提高我们排查线上问题的效率。本文带您了解一下开源的实时日志分析平台ELK的搭建及使用。ELK简介ELK是一个开源的实时日志分析平台,它主要由Elasticsearch、Logst</div> </li> <li><a href="/article/1831411495955689472.htm" title="第十一章、深入理解Linux文件系统与日志分析" target="_blank">第十一章、深入理解Linux文件系统与日志分析</a> <span class="text-muted">知识不往脑子里进</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>第十一章、深入理解Linux文件系统与日志分析一、inode与block1、inode与block概述1.1文件数据包括元信息与实际数据1.2文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节1.3block块1.3.1连续的八个扇区组成一个block(4K)1.3.2是文件存储的最小单位1.4inode(索引节点)1.4.1中文译名为“索引节点”,也叫i节点1.4.2用于存储文</div> </li> <li><a href="/article/1830589155713839104.htm" title="Elasticsearch 查询和聚合查询:基本语法和统计数量" target="_blank">Elasticsearch 查询和聚合查询:基本语法和统计数量</a> <span class="text-muted">zybsjn</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>摘要:Elasticsearch是一个强大的分布式搜索和分析引擎,提供了丰富的查询和聚合功能。本文将介绍Elasticsearch的基本查询语法,包括预发查询和聚合查询,以及如何使用聚合功能统计数量。引言Elasticsearch是一种开源的分布式搜索和分析引擎,广泛应用于各种场景,包括日志分析、全文搜索、实时数据分析等。它提供了灵活且强大的查询和聚合功能,可以帮助我们从海量的数据中快速检索和提取</div> </li> <li><a href="/article/1830534333778194432.htm" title="什么是日志分析" target="_blank">什么是日志分析</a> <span class="text-muted">ManageEngine卓豪</span> <a class="tag" taget="_blank" href="/search/%E6%97%A5%E5%BF%97%E7%AE%A1%E7%90%86/1.htm">日志管理</a><a class="tag" taget="_blank" href="/search/%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90/1.htm">日志分析</a><a class="tag" taget="_blank" href="/search/%E6%97%A5%E5%BF%97%E7%AE%A1%E7%90%86/1.htm">日志管理</a> <div>日志分析(或日志文件分析)是检查整个网络生成的日志数据的过程,日志数据从各种来源生成,包括外围设备、工作站、服务器、应用程序以及其他硬件和软件组件,集中收集并分析这些信息,可以更好地理解网络运行、排除故障、维护网络安全。如何分析日志文件执行日志分析可以通过两种方式完成:手动筛选日志数据或使用日志分析工具。手动日志分析手动日志分析涉及个人或团队对日志文件进行物理检查,由于日志数据的数量和复杂性,这可</div> </li> <li><a href="/article/1829518348493352960.htm" title="单机 安装 ELK 日志分析系统" target="_blank">单机 安装 ELK 日志分析系统</a> <span class="text-muted">TheFlsah</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a> <div>一、ELK介绍ELKStack是软件集合Elasticsearch、Logstash、Kibana的简称,它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是一个基于Lucene的、支持全文索引的分布式存储和索引引擎,主要负责将日</div> </li> <li><a href="/article/1828967726782181376.htm" title="RabbitMQ 常见问题与故障排查" target="_blank">RabbitMQ 常见问题与故障排查</a> <span class="text-muted">StaticKing</span> <a class="tag" taget="_blank" href="/search/RabbitMQ/1.htm">RabbitMQ</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>目录前言常见错误与解决方案1.连接失败2.队列阻塞3.消息丢失4.消费者不消费5.资源耗尽日志分析1.配置RabbitMQ日志2.日志文件位置3.日志分析工具4.分析日志文件5.常见日志问题及解决方案Docker中日志分析1.查看RabbitMQ日志2.获取详细日志3.日志类型详解4.通过Docker分析日志文件5.分析常见日志总结前言在使用RabbitMQ的过程中,可能会遇到各种问题。以下是对常</div> </li> <li><a href="/article/1828186706558414848.htm" title="访问日志分析" target="_blank">访问日志分析</a> <span class="text-muted">鸭脖bo</span> <div>1PV的度量方法度量方法就是从浏览器发出一个对网络服务器的请求(Request),网络服务器接到这个请求后,会将该请求对应的一个网页(Page)发送给浏览器,从而产生了一个PV。那么在这里只要是这个请求发送给了浏览器,无论这个页面是否完全打开(下载完成),那么都是应当计为1个PV。2什么是UV值UV(uniquevisitor)即独立访客数,指访问某个站点或点击某个网页的不同IP地址的人数。在同一</div> </li> <li><a href="/article/1827661366165598208.htm" title="Shell文本处理(一)" target="_blank">Shell文本处理(一)</a> <span class="text-muted">对许</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Shell/1.htm">Shell</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>Shell文本处理一1、cat指令2、find指令3、grep指令4、awk指令5、sed命令文本处理是Shell中的一个重要领域,它允许你从文本数据中提取有用的信息,执行搜索、替换、格式化和过滤等操作。这对于日志分析、数据清洗、配置文件管理等任务非常有用Shell中常用的文本处理工具有:cat、find、grep、sed、awk、sort、uniq、tr、cut、paste、wc等1、cat指令</div> </li> <li><a href="/article/1826967606104518656.htm" title="ElasticSearch" target="_blank">ElasticSearch</a> <span class="text-muted">HW--</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a> <div>一、适用场景全文搜索:1.电商搜索2.站内搜索3.文档管理系统4.论坛和社交媒体日志分析与监控:1.服务器日志2.应用日志3.运维监控数据分析:1.业务分析2.时序数据分析NoSQLJSON文档数据库:作为JSON文档数据库使用搜索推荐实现个性化搜索和推荐功能地理信息系统存储和查询带有地理信息的数据大规模监控系统二、为什么要安装分词器?IK分词器中针对中文分词提供了ik_smart和ik_max_</div> </li> <li><a href="/article/1826728377613119488.htm" title="Java中的日志管理与分析" target="_blank">Java中的日志管理与分析</a> <span class="text-muted">省赚客app开发者</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Java中的日志管理与分析大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们来聊一聊Java中的日志管理与分析。日志是软件开发和维护中的重要工具,通过日志记录,开发者可以追踪系统运行状态、调试问题、分析性能瓶颈等。本文将详细介绍Java中的日志管理与分析,从日志框架的选择、日志格式设计、日志收集与存储,到日志分析与监控等方面进行深入探讨。一、日志框架的选择Jav</div> </li> <li><a href="/article/1826685884305600512.htm" title="Elasticsearch + Logstash + Filebeat + Kibana搭建ELK日志分析平台(官方推荐的BEATS架构)" target="_blank">Elasticsearch + Logstash + Filebeat + Kibana搭建ELK日志分析平台(官方推荐的BEATS架构)</a> <span class="text-muted">博学谷狂野架构师</span> <div>file俗话话说的号,没有金刚钻,也不揽那瓷器活;日志分析可以说是所有大小系统的标配了,不知道有多少菜鸟程序员有多喜欢日志,如果没了日志,那自己写的bug想不被别人发现,可就难了;有了它,就可将bug们统统消化在自己手里。当然了,作为一个架构师搭建动手搭建一个日志平台也基本是必备技能了,虽然我们说架构师基本不咋写代码了,但是如果需要的时候,还是能扛枪的大家可以看下架构师要具备的能力:那些年薪50万</div> </li> <li><a href="/article/1773239671145431040.htm" title="python项目练习——7.网站访问日志分析器" target="_blank">python项目练习——7.网站访问日志分析器</a> <span class="text-muted">F——</span> <a class="tag" taget="_blank" href="/search/python%E9%A1%B9%E7%9B%AE%E7%BB%83%E4%B9%A0/1.htm">python项目练习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>项目功能分析:这个项目可以读取网站的访问日志文件,统计访问量、独立访客数、访问来源等信息,并以图表或表格的形式展示出来。这个项目涉及到文件操作、数据处理、数据可视化等方面的技术。示例代码:importrefromcollectionsimportCounterimportmatplotlib.pyplotaspltdefparse_log_file(log_file):#读取日志文件内容witho</div> </li> <li><a href="/article/1772389208908955648.htm" title="Nagios安装部署全攻略" target="_blank">Nagios安装部署全攻略</a> <span class="text-muted">weixin_34109408</span> <a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a> <div>概述:公司的生产机器一共有12台,2台LVS(主备)、2台nginx、2台tomcat、1台后台服务器(nginx_tomcat)、3台mysql(主+备+异地灾备)、1台图片服务器、2台memcached.可以看出网站的架构就是基于高可用的原理的,每个层面都做了主备、系统的PV不高,对于并发布,高性能没有那么苛求,对于系统安全、稳定有较高要求,前期已经对系统做了各种日志分析,WAF配置,漏洞扫面</div> </li> <li><a href="/article/1767322072570200064.htm" title="为什么要使用ElasticSearch?" target="_blank">为什么要使用ElasticSearch?</a> <span class="text-muted">z.jiaminf</span> <a class="tag" taget="_blank" href="/search/ElasticSearch/1.htm">ElasticSearch</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a> <div>ElasticSearch是一个开源的分布式搜索和分析引擎,主要适用于以下场景:1.搜索引擎:用于快速检索文档,商品,新闻等。2.日志分析:通过分析日志数据,帮助企业了解其业务的性能情况。3.数据分析:帮助数据科学家和数据分析师进行数据分析,以获取有价值的信息。4.商业智能:帮助企业制定数据驱动的决策,以实现商业上的成功。5.实时监控:帮助企业实时监测系统性能,监控数据变化,以保证系统正常运行。6</div> </li> <li><a href="/article/1765186416742064128.htm" title="高效使用ELK 处理 SpringBoot 日志" target="_blank">高效使用ELK 处理 SpringBoot 日志</a> <span class="text-muted">zy_zeros</span> <a class="tag" taget="_blank" href="/search/elk/1.htm">elk</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>在排查线上异常的过程中,查询日志总是必不可缺的一部分。现今大多采用的微服务架构,日志被分散在不同的机器上,使得日志的查询变得异常困难。工欲善其事,必先利其器。如果此时有一个统一的实时日志分析平台,那可谓是雪中送碳,必定能够提高我们排查线上问题的效率。本文带您了解一下开源的实时日志分析平台ELK的搭建及使用。ELK简介ELK是一个开源的实时日志分析平台,它主要由Elasticsearch、Logst</div> </li> <li><a href="/article/1759938864333549568.htm" title="应急响应实战笔记02日志分析篇(3)" target="_blank">应急响应实战笔记02日志分析篇(3)</a> <span class="text-muted">Pluto-2003</span> <a class="tag" taget="_blank" href="/search/%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/1.htm">应急响应</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%A8%81%E8%83%81%E5%88%86%E6%9E%90/1.htm">安全威胁分析</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a> <div>第3篇:Web日志分析ox01Web日志Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。我们来看一条Apache的访问日志:127.0.0.1--[11/Jun/2018:12:47:22+0800]"GET/login.htmlHTTP/1.1"200</div> </li> <li><a href="/article/1759879061703847936.htm" title="Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择" target="_blank">Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择</a> <span class="text-muted">铭毅天下</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2/1.htm">全文检索</a> <div>在2010年以Apache2.0开源协议发布后,Elasticsearch迅速成为全球最受欢迎的企业搜索引擎。Elasticsearch常与Logstash和Kibana一起部署,这一组合被称为ElasitcStack,用于启用日志分析用例,包括应用可观察性、安全日志分析和理解用户行为。2015年,亚马逊利用这一开源协议推出了AmazonElasticsearchService(AmazonES)</div> </li> <li><a href="/article/1759811155469103104.htm" title="二代测序原理(Illumina)" target="_blank">二代测序原理(Illumina)</a> <span class="text-muted">白墨石</span> <div>虽然三代测序现在已经商用,但是目前的主流还是二代测序,尤其是Illumina公司的测序方式更是大行其道。那么,下面我们从四个方面来说说illumina家的二代测序是怎么得到的生物数据。0、基本原理基于可逆终止的,荧光标记dNTP,做边合成边测序分为三步:样本准备SamplePrep成簇ClusterGeneration测序Sequencing数据分析DataAnalysis1、样本准备Sample</div> </li> <li><a href="/article/1759629241642741760.htm" title="Elasticsearch的使用场景深入详解" target="_blank">Elasticsearch的使用场景深入详解</a> <span class="text-muted">清水白石008</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a> <div>Elasticsearch的使用场景深入详解Elasticsearch是一个开源的分散式搜索和分析引擎,以其强大的全文搜索、结构化搜索和分析能力而闻名。它可以广泛应用于各种领域,包括:1.全文搜索Elasticsearch最常用的场景是全文搜索,它可以快速、准确地从海量数据中检索出相关信息。例如:电商网站的商品搜索网站或应用程序的站内搜索文档管理系统的文档检索法律文件的检索2.日志分析Elasti</div> </li> <li><a href="/article/1759574899992653824.htm" title="日志(高静2018.2.11)" target="_blank">日志(高静2018.2.11)</a> <span class="text-muted">花朵儿静静</span> <div>昨天在日志里发了一通牢骚,都是些负面情绪,可是晚上出奇的没有做什么梦,也没有什么不舒服,一觉睡到天亮,自己都觉得自己是个奇葩,不过我到觉得自己还是有很大进步的,现在的情绪不会过夜,一般都会当天消化掉,只是还没学会没有情绪的表达,要继续修行。早上看到鸣芬的留言,心里很温暖,她把昨天我的日志分析了一下,让我换一种方式想问题,主要是向内看,真的很开心鸣芬的关心,今天看了她的日志,突然想起奕辰老师说让我学</div> </li> <li><a href="/article/1759562768362598400.htm" title="Neo4j知识库:初识Neo4j查询日志分析器" target="_blank">Neo4j知识库:初识Neo4j查询日志分析器</a> <span class="text-muted">今天无Bug</span> <div>Neo4j知识库:初识Neo4j查询日志分析器原文链接:https://medium.com/neo4j/meet-the-query-log-analyzer-30b3eb4b1d6查询日志分析器是一个Neo4j桌面应用,用于帮助了解Neo4j企业版服务器查询日志文件。query_log_1_0_7tFnDq1UGM38qN2t.png当Neo4j突然变慢、或者查询效率过低、再或者查询负载过高时</div> </li> <li><a href="/article/1757957042716295168.htm" title="优秀网络安全运营专家的成长之路" target="_blank">优秀网络安全运营专家的成长之路</a> <span class="text-muted">岛屿旅人</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>文章目录前言一、基础阶段:掌握必要的网络安全运营技能1、了解网络系统2、网络安全监控3、网络流量分析4、日志分析和搜索能力5、端点安全保护6、加入活跃的网络和安全社区7、紧跟最新的行业咨询二、中级阶段:更深入地了解网络威胁1、情报分析能力2、云计算安全3、主动威胁搜寻4、大数据分析三、高级阶段:成为企业网络安全运营的领导者1、有效沟通能力</div> </li> <li><a href="/article/1757363595068325888.htm" title="03-03 elasticsearch" target="_blank">03-03 elasticsearch</a> <span class="text-muted">nan得糊涂</span> <div>入门篇使用场景海量存储:支持分布式存储实时搜索:lucene倒排索引,海量数据下近乎实时搜索a.日志分析,es+logstash+kibanab.Github代码数据分析:支持数据分析及处理基本功能分布式的搜索引擎和数据分析引擎全文检索,结构化检索,数据分析海量数据实时处理根据这些功能,可以实现的使用场景某张表有海量数据,需要实时快速查询数据分析带来的问题ES用在海量数据实时查询,基本的数据分析等</div> </li> <li><a href="/article/1757331051287429120.htm" title="应急响应实战笔记02日志分析篇(1)" target="_blank">应急响应实战笔记02日志分析篇(1)</a> <span class="text-muted">Pluto-2003</span> <a class="tag" taget="_blank" href="/search/%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/1.htm">应急响应</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>第1篇:Windows日志分析0x01Windows事件日志简介Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。Windows主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志。系统日志记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失</div> </li> <li><a href="/article/1757331052042403840.htm" title="应急响应实战笔记02日志分析篇(2)" target="_blank">应急响应实战笔记02日志分析篇(2)</a> <span class="text-muted">Pluto-2003</span> <a class="tag" taget="_blank" href="/search/%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/1.htm">应急响应</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a> <div>第2篇:Linux日志分析0x00前言Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。本文简介一下Linux系统日志及日志分析技巧。0x01日志简介日志默认存放位置:/var/log/查看日志配置情况:more/etc/rsyslog.conf日志文件说明/var/log/cron记录了系统定时任务相关的日志/var/log/cups记录打印</div> </li> <li><a href="/article/1757314080734986240.htm" title="蓝队应急响应工具箱v2024.1" target="_blank">蓝队应急响应工具箱v2024.1</a> <span class="text-muted">知攻善防实验室</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/1.htm">信息安全</a><a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/1.htm">渗透测试</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/1.htm">应急响应</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E7%A9%BA%E9%97%B4%E5%AE%89%E5%85%A8/1.htm">网络空间安全</a><a class="tag" taget="_blank" href="/search/%E9%BB%91%E5%AE%A2%E6%94%BB%E5%87%BB/1.htm">黑客攻击</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a> <div>1蓝队工具箱v2024.12简介蓝队工具箱是为打造一款专业级应急响应的集成多种工具的工具集,由真实应急响应环境所用到的工具进行总结打包而来,由ChinaRan404,W啥都学,清辉等开发者编写.把项目现场中所用到的工具连同环境一同打包,并实现“可移植性”“兼容性”“使用便捷”等优点。集成模块:“常用工具”,“流量分析”,“应急响应”,“日志分析”,“逆向分析”,“检测规则”,“上传应急”,“蓝队思</div> </li> <li><a href="/article/1757223693567672320.htm" title="monkey日志分析" target="_blank">monkey日志分析</a> <span class="text-muted">隔壁laowang</span> <div>上文说到执行命令:adbshellmonkey-pcom.hijingxi--ignore-crashes--ignore-timeouts--throttle1000--ignore-native-crashes-s100-v-v-v50>>D:\0606.txt找到所在目录打开文件:分析log日志开头日志结尾l日志内容分析一般测试结果分析-搜索关键字:1.程序无响应,ANR问题:在日志中搜索“</div> </li> <li><a href="/article/6.htm" title="[黑洞与暗粒子]没有光的世界" target="_blank">[黑洞与暗粒子]没有光的世界</a> <span class="text-muted">comsci</span> <div>     无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算      但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....      那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的 &nbs</div> </li> <li><a href="/article/133.htm" title="jQuery Lazy Load 图片延迟加载" target="_blank">jQuery Lazy Load 图片延迟加载</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div>基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。 对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。 版本: jQuery v1.4.4+ jQuery Lazy Load v1.7.2 注意事项: 需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src</div> </li> <li><a href="/article/260.htm" title="使用Jodd的优点" target="_blank">使用Jodd的优点</a> <span class="text-muted">Kai_Ge</span> <a class="tag" taget="_blank" href="/search/jodd/1.htm">jodd</a> <div>1.  简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。 2.  简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。 3.  对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。   使用方法简介</div> </li> <li><a href="/article/387.htm" title="jpa Query转hibernate Query" target="_blank">jpa Query转hibernate Query</a> <span class="text-muted">120153216</span> <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a> <div>public List<Map> getMapList(String hql, Map map) { org.hibernate.Query jpaQuery = entityManager.createQuery(hql); if (null != map) { for (String parameter : map.keySet()) { jp</div> </li> <li><a href="/article/514.htm" title="Django_Python3添加MySQL/MariaDB支持" target="_blank">Django_Python3添加MySQL/MariaDB支持</a> <span class="text-muted">2002wmj</span> <a class="tag" taget="_blank" href="/search/mariaDB/1.htm">mariaDB</a> <div>现状 首先,Django@Python2.x 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案 首先据MySQL文档[3]说,自从MySQL</div> </li> <li><a href="/article/641.htm" title="在SQLSERVER中查找消耗IO最多的SQL" target="_blank">在SQLSERVER中查找消耗IO最多的SQL</a> <span class="text-muted">357029540</span> <a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>返回做IO数目最多的50条语句以及它们的执行计划。 select top 50   (total_logical_reads/execution_count) as avg_logical_reads,  (total_logical_writes/execution_count) as avg_logical_writes,  (tot</div> </li> <li><a href="/article/768.htm" title="spring UnChecked 异常 官方定义!" target="_blank">spring UnChecked 异常 官方定义!</a> <span class="text-muted">7454103</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>  如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!! public static boolean isCheckedException(Throwable ex) { return !(ex instanceof RuntimeExcep</div> </li> <li><a href="/article/895.htm" title="mongoDB 入门指南、示例" target="_blank">mongoDB 入门指南、示例</a> <span class="text-muted">adminjun</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C/1.htm">操作</a> <div>一、准备工作 1、 下载mongoDB 下载地址:http://www.mongodb.org/downloads 选择合适你的版本 相关文档:http://www.mongodb.org/display/DOCS/Tutorial 2、 安装mongoDB A、 不解压模式: 将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默</div> </li> <li><a href="/article/1022.htm" title="CUDA 5 Release Candidate Now Available" target="_blank">CUDA 5 Release Candidate Now Available</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/CUDA/1.htm">CUDA</a> <div>The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe</div> </li> <li><a href="/article/1149.htm" title="Essential Studio for WinRT网格控件测评" target="_blank">Essential Studio for WinRT网格控件测评</a> <span class="text-muted">Axiba</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。 网格控件功能 1、</div> </li> <li><a href="/article/1276.htm" title="java 获取windows系统安装的证书或证书链" target="_blank">java 获取windows系统安装的证书或证书链</a> <span class="text-muted">bewithme</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>      有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库  。 有关证书链的解释可以查看此处 。   public static void main(String[] args) { SunMSCAPI providerMSCAPI = new SunMSCAPI(); S</div> </li> <li><a href="/article/1403.htm" title="NoSQL数据库之Redis数据库管理(set类型和zset类型)" target="_blank">NoSQL数据库之Redis数据库管理(set类型和zset类型)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a> <div>4.sets类型         Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。         sadd:向名称为key的set中添加元</div> </li> <li><a href="/article/1530.htm" title="异常捕获何时用Exception,何时用Throwable" target="_blank">异常捕获何时用Exception,何时用Throwable</a> <span class="text-muted">bingyingao</span> <div>用Exception的情况 try {        //可能发生空指针、数组溢出等异常         } catch (Exception e) {          </div> </li> <li><a href="/article/1657.htm" title="【Kafka四】Kakfa伪分布式安装" target="_blank">【Kafka四】Kakfa伪分布式安装</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a> <div>在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证   1. 安装步骤   Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不</div> </li> <li><a href="/article/1784.htm" title="Project Euler" target="_blank">Project Euler</a> <span class="text-muted">bookjovi</span> <a class="tag" taget="_blank" href="/search/haskell/1.htm">haskell</a> <div>Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。     看看problem 1吧: Add all the natural num</div> </li> <li><a href="/article/1911.htm" title="Java-Collections Framework学习与总结-ArrayDeque" target="_blank">Java-Collections Framework学习与总结-ArrayDeque</a> <span class="text-muted">BrokenDreams</span> <a class="tag" taget="_blank" href="/search/Collections/1.htm">Collections</a> <div>        表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。         这篇要看一下java.util.ArrayDeque。从命名上看</div> </li> <li><a href="/article/2038.htm" title="读《研磨设计模式》-代码笔记-装饰模式-Decorator" target="_blank">读《研磨设计模式》-代码笔记-装饰模式-Decorator</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.Fi</div> </li> <li><a href="/article/2165.htm" title="Maven学习(一)" target="_blank">Maven学习(一)</a> <span class="text-muted">chenyu19891124</span> <a class="tag" taget="_blank" href="/search/Maven%E7%A7%81%E6%9C%8D/1.htm">Maven私服</a> <div>    学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功</div> </li> <li><a href="/article/2292.htm" title="[原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充" target="_blank">[原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a> <div>本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点 节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法) 需要解决的问题:已知分支</div> </li> <li><a href="/article/2419.htm" title="Linux中用shell获取昨天、明天或多天前的日期" target="_blank">Linux中用shell获取昨天、明天或多天前的日期</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E5%87%A0%E5%B9%B4/1.htm">上几年</a><a class="tag" taget="_blank" href="/search/%E6%98%A8%E5%A4%A9/1.htm">昨天</a><a class="tag" taget="_blank" href="/search/%E8%8E%B7%E5%8F%96%E4%B8%8A%E5%87%A0%E4%B8%AA%E6%9C%88/1.htm">获取上几个月</a> <div>在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年 # 获取昨天 date -d 'yesterday'  # 或 date -d 'last day' # 获取明天 date -d 'tomorrow'   # 或 date -d 'next day' # 获取上个月 date -d 'last month' # </div> </li> <li><a href="/article/2546.htm" title="我所理解的云计算" target="_blank">我所理解的云计算</a> <span class="text-muted">dongwei_6688</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a> <div>      在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:        Cloud computing is a phrase used to describe a variety of computing co</div> </li> <li><a href="/article/2673.htm" title="YII CMenu配置" target="_blank">YII CMenu配置</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>Adding id and class names to CMenu We use the id and htmlOptions to accomplish this. Watch. //in your view $this->widget('zii.widgets.CMenu', array( 'id'=>'myMenu', 'items'=>$this-&g</div> </li> <li><a href="/article/2800.htm" title="设计模式之静态代理与动态代理" target="_blank">设计模式之静态代理与动态代理</a> <span class="text-muted">come_for_dream</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>静态代理与动态代理        代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务</div> </li> <li><a href="/article/2927.htm" title="【转】理解Javascript 系列" target="_blank">【转】理解Javascript 系列</a> <span class="text-muted">gcc2ge</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>理解Javascript_13_执行模型详解 摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个</div> </li> <li><a href="/article/3054.htm" title="Subsets II" target="_blank">Subsets II</a> <span class="text-muted">hcx2013</span> <a class="tag" taget="_blank" href="/search/set/1.htm">set</a> <div>Given a collection of integers that might contain duplicates, nums, return all possible subsets. Note: Elements in a subset must be in non-descending order. The solution set must not conta</div> </li> <li><a href="/article/3181.htm" title="Spring4.1新特性——Spring缓存框架增强" target="_blank">Spring4.1新特性——Spring缓存框架增强</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a> <div>目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异常处理 Spring4.1新特性——数据库集成测试脚本初始化 Spring4.1新特性——Spring MVC增强 Spring4.1新特性——页面自动化测试框架Spring MVC T</div> </li> <li><a href="/article/3308.htm" title="shell嵌套expect执行命令" target="_blank">shell嵌套expect执行命令</a> <span class="text-muted">liyonghui160com</span> <div>    一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.   系统:centos 5.x   1.先安装expect yum -y install expect   2.脚本内容: cat auto_svn.sh   #!/bin/bash </div> </li> <li><a href="/article/3435.htm" title="Linux实用命令整理" target="_blank">Linux实用命令整理</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>0. 基本命令   linux 基本命令整理    1. 压缩 解压   tar -zcvf a.tar.gz a   #把a压缩成a.tar.gz   tar -zxvf a.tar.gz     #把a.tar.gz解压成a    2. vim小结   2.1 vim替换   :m,ns/word_1/word_2/gc  </div> </li> <li><a href="/article/3562.htm" title="独立开发人员通向成功的29个小贴士" target="_blank">独立开发人员通向成功的29个小贴士</a> <span class="text-muted">shoothao</span> <a class="tag" taget="_blank" href="/search/%E7%8B%AC%E7%AB%8B%E5%BC%80%E5%8F%91/1.htm">独立开发</a> <div> 概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。 明白你从事独立开发的原因和目的。 保持坚持制定计划的好习惯。 万事开头难,第一份订单是关键。 培养多元化业务技能。 提供卓越的服务和品质。 谨小慎微。 营销是必备技能。 学会组织,有条理的工作才是最有效率的。 “独立</div> </li> <li><a href="/article/3689.htm" title="JAVA中堆栈和内存分配原理" target="_blank">JAVA中堆栈和内存分配原理</a> <span class="text-muted">uule</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1、栈、堆 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>