-
[1]Robert Hobbes' Zakon, Hobbes' Internet Timeline v8.2 , available at http://www.zakon.org/robert/internet/timeline/
-
[2]GlobalReach Inc., Global Internet Statistics (by language), available at
-
http://www.glreach.com/globstats/index.php3
-
[3]中国互联网络信息中心,第十九次中国互联网络发展状况统计报告,available at: http://www.cnnic.net.cn/index/0E/index.htm
-
[4]Web2.0,Definition available at http://www.wikilib.com/wiki/Web2.0
-
[5]Alexa Internet, Inc. http://www.alexa.com/
-
[6]Yahoo! Inc. http://www.yahoo.com/
-
[7]eBay Inc. 著名的网上拍卖网站,http://www.ebay.com/
-
[8]Chet Dembeck, Yahoo! Cashes In On eBay's Outage, available at:
-
http://www.ecommercetimes.com/perl/story/545.html
-
[9]YouTube, Inc. http://www.youtube.com/
-
[10]数据来源:互联网周刊,2007年第3期
-
[11]新浪网技术(中国)有限公司,http://www.sina.com.cn/
-
[12]数据来源:新浪播客改版公告,available at:
-
http://games.sina.com.cn/x/n/2007-04-16/1427194553.shtml
-
[13]邓宏炎, 叶娟丽,网络参考文献初探,武汉大学学报: 人文社会科学版, 2000
-
[14]彭湘凯,CDN网络及其应用,微计算机信息,2005年02期
-
[15]数据来源:ChinaCache, http://www.chinacache.com/
-
[16]Open System Interconnect,开放式系统互联模型,1984年由国际标准化组织(ISO)提出的一个开放式网络互联参考模型,参考 http://www.iso.org/
-
[17]凌仲权,丁振国,基于第四层交换技术的负载均衡,中国数据通信,2003
-
[18]陈明锐,邱钊,黄曦,黄俊,智能负载均衡技术在高负荷网站上的应用,广西师范大学学报(自然科学版),2006年04期
-
[19]Alteon Inc. http://www.alteon.com/
-
[20]F5 Networks, Inc. http://www.f5.com.cn/
-
[21]数据来源:http://www.toplee.com/blog/archives/71.html
-
[22] 傅明,程晓恒,王玮,基于Linux的服务器负载均衡性访问的解决方案,计算机系统应用,2001年09期
-
[23]Ming-Wei Wu, Ying-Dar Lin, Open source software development: an overview, Computer, 2001 - ieeexplore.ieee.org
-
[24]王海花 , 杨斌,Linux TCP/IP协议栈的设计及实现特点,云南民族大学学报(自然科学版),2007年01期
-
[25]Requests for Comments(RFC),the publication vehicle for technical specifications and policy documents produced by the (IETF (Internet Engineering Task Force) , the IAB (Internet Architecture Board), or the IRTF (Internet Research Task Force),http://www.ietf.org/rfc.html
-
[26]RFC 1323,http://www.ietf.org/rfc/rfc1323.txt?number=1323
-
[27]Squid web proxy cache team, http://www.squid-cache.org/
-
[28]马俊昌 , 古志民,网络代理缓存Squid存储系统分析,计算机应用,2003年10期
-
[29]韩向春,郭婷婷,林星宇,丰保杰,集群缓存系统中代理缓存技术的研究,计算机工程与设计,2006年20期
-
[30]Brad Fitzpatrick, LiveJournal's Backend,A history of scaling, oscon 2005 ,http://www.danga.com/words/
-
[31]Danga Interactive, http://www.danga.com/memcached/
-
[32]LiveJournal,著名的博客托管商(BSP), http://www.livejournal.com/
-
[33]Brad Fitzpatrick,Distributed caching with memcached,Linux Journal ,Volume 2004,Issue 124,Page 5, August 2004
-
[34]周枫,面向 Internet 服务的可扩展集群对象 存储及磁盘日志缓存技术研究,清华大学硕士毕业论文,2002
-
[35]陈赟,杨根科,吴智铭,RAID系统中RAID级别的具体实现算法,微型电脑应用,2003年06期
-
[36]陈平仲,硬件实现RAID与软件实现RAID的比较,现代计算机(专业版),2005年01期
-
[37]NAMESYS,http://www.namesys.com/
-
[38]D Bobbins,Advanced file system implementor s guide: Journalling and ReiserFS,IBM's Developer Works Journal,June,2001
-
[39]刘章仪,Linux文件系统分析,贵州工业大学学报(自然科学版),2002年04期
-
[40]数据来源:http://news.netcraft.com/archives/2007/04/02/april_2007_web_server_survey.html
-
[41]The Apache Software Foundation ,http://httpd.apache.org/
-
[42]Lighttpd, http://www.lighttpd.net/
-
[43]MySQL AB,http://www.mysql.com/
-
[44]顾治华,忽朝俭,MySQL存储引擎与数据库性能,计算机时代,2006年10期
-
[45]The PHP Group,http://www.php.net/
-
[46]范云芝,动态网页制作技术ASP、PHP和JSP比较分析,电脑知识与技术(学术交流),2005年10期
-
[47]王耀希,王丽清,徐永跃,利用模板技术实现B/S 研发过程的分离与并行,计算机应用研究,2004
-
[附录1]
-
1. Memcache的客户端PHP 封装
-
class memcache_class
-
{
-
function memcache_class()
-
{
-
}
-
-
/**
-
* 用post方法,执行memcache的写入操作
-
* $data参数,允许是php的数组。
-
* exp参数是设定的超时时间,单位是秒。
-
*/
-
function p_memcache_write($key, $data, $exp=3600)
-
{
-
$mmPageStartTime = microtime();
-
$ip = MEMCACHE_SERVER_IP;
-
$port = MEMCACHE_SERVER_PORT;
-
$type = MEMCACHE_SERVER_TYPE;
-
-
//对$data进行序列化,允许$data是数组
-
$data = serialize($data);
-
-
//对$data进行压缩
-
//$data = gzcompress ($data);
-
-
$submit=array( type => $type,
-
cmd => "set",
-
key => $key,
-
data => $data,
-
exp => $exp
-
);
-
$ret = memcache_class::posttohost($query, $submit);
-
return $ret;
-
}
-
-
/**
-
* 用post方法,执行memcache的读出操作
-
*/
-
function p_memcache_read($key)
-
{
-
$mmPageStartTime = microtime();
-
$ip = MEMCACHE_SERVER_IP;
-
$port = MEMCACHE_SERVER_PORT;
-
$type = MEMCACHE_SERVER_TYPE;
-
-
$submit=array( type => $type,
-
cmd => "get",
-
key => $key
-
);
-
$res = memcache_class::posttohost($query, $submit);
-
-
//对$res进行解压缩
-
//$res = gzuncompress($res);
-
//对$res进行反序列化,允许$res是数组
-
$res = unserialize($res);
-
return $res;
-
}
-
-
/**
-
* 执行post的函数
-
*/
-
function posttohost($url, $data)
-
{
-
$mmPageStartTime = microtime();
-
$url = parse_url($url);
-
$encoded = "";
-
while (list($k,$v) = each($data))
-
{
-
$encoded .= ($encoded ? "&" : "");
-
$encoded .= rawurlencode($k)."=".rawurlencode($v);
-
}
-
for ($i = 0; $i < 3; $i ++)
-
{
-
$fp = @fsockopen($url['host'], $url['port'],$errno, $errstr, 1);
-
if ($fp)
-
break;
-
}
-
if (!$fp)
-
{
-
return "";
-
}
-
@stream_set_timeout($fp, 2);
-
@fputs($fp, sprintf("POST %s%s%s HTTP/1.0\n", $url['path'], $url['query'] ? "?" : "", $url['query']));
-
@fputs($fp, "Host: $url[host]\n");
-
@fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
-
@fputs($fp, "Content-length: " . strlen($encoded) . "\n");
-
@fputs($fp, "Connection: close\n\n");
-
@fputs($fp, "$encoded\n");
-
-
$line = @fgets($fp,1024);
-
if (!eregi("^HTTP/1\.. 200", $line)) return;
-
$results = "";
-
$inheader = 1;
-
while(!feof($fp))
-
{
-
$line = @fgets($fp,1024);
-
if ($inheader && ($line == "\n" || $line == "\r\n"))
-
{
-
$inheader = 0;
-
}
-
elseif (!$inheader)
-
{
-
$results .= $line;
-
}
-
}
-
@fclose($fp);
-
return $results;
-
}
-
}
-
-
2.使用示例
-
$out="";
-
if (MEMCACHE_FLAG === true)
-
{
-
$memcache_key = md5(trim($key));
-
$time_before = getmicrotime();
-
$mdata = memcache_class::p_memcache_read($memcache_key);
-
$time_after = getmicrotime();
-
$memcache_read_time = $time_after - $time_before;
-
if (strlen($mdata) >= MIN_RESULT) {
-
$out = $mdata;
-
$memhit = 1;
-
memcached_log("CACHE_HIT");
-
}
-
else {
-
$memhit = 0;
-
memcached_log("CACHE_NOT_HIT");
-
}
-
}
-
if (!(strlen($out) >= MIN_RESULT))
-
{
-
$query = get_query();
-
$time_before=getmicrotime();
-
$out = http_read($MySQLHost,$MySQLPort,$query,&$errstr,10);
-
$time_after=getmicrotime();
-
}
-
-
$len = strlen($out);
-
if(MEMCACHE === true && $memhit <= 0)
-
{
-
$memcache_key = md5(trim($key));
-
$time_before = getmicrotime();
-
memcache_class::p_memcache_write($memcache_key, $out, MEMCACHE_TIME);
-
$time_after = getmicrotime();
-
$memcache_write_time = $time_after - $time_before;
-
memcached_log("CACHE_WRITE");
-
}
-
-
[附录2]
-
MySQL wrap class
-
<?php
-
class mysqlRpc
-
{
-
var $_hostWrite = '';
-
var $_userWrite = '';
-
var $_passWrite = '';
-
var $_hostRead = '';
-
var $_userRead = '';
-
var $_passRead = '';
-
var $_dataBase = '';
-
var $db_write_handle = null;
-
var $db_read_handle = null;
-
var $db_last_handle = null;
-
var $_cacheData = array();
-
var $mmtime = 60;
-
-
function mysqlRpc($database, $w_servername, $w_username, $w_password, $r_servername='', $r_username='', $r_password='') {}
-
-
function connect_write_db() {}
-
-
function connect_read_db() {}
-
-
function query_write($sql, $return = false) {}
-
-
function query_read($sql, $return = false) {}
-
-
function query_first($sql, $return = false) {}
-
-
function insert_id(){}
-
-
function affected_rows(){}
-
-
function escape_string($string){}
-
-
function fetch_array($queryresult, $type = MYSQL_ASSOC){}
-
-
-
}
posted on 2007-12-12 17:27
周行 阅读(5962)
评论(3) 编辑 收藏 所属分类:
IT技术