一个哈希均衡算法
时间:2007-02-17 来源:PHP爱好者
实现程序级别的均衡算法.从C代码转换而来:
1. 哈希均衡C算法
#define MAX_TABLE_NUM 4
unsigned int ELFHash(const char *apszData,unsigned int aiLen)
{
register unsigned int hash = 0;
unsigned int x = 0, i=0;
for(i = 0; i <aiLen; i++) {
hash = (hash <<4) + apszData;
if((x = hash & 0xF0000000L) != 0) {
hash ^= (x >> 24);
hash &= ~x;}
}
return (hash & 0x7FFFFFFF) % MAX_TABLE_NUM + 1;
}
2. 哈希均衡PHP算法
define(‘MAX_TABLE_NUM’,4);
function ELFHash1($apszData = ‘’, $aiLen = 0)
{
$hash = $x = $i = 0;
for($i = 0; $i <$aiLen; $i++) {
$hash = ($hash <<4) + ord($apszData[$i]);
if(($x = $hash & 0xF0000000) != 0) {
$hash ^= ($x >> 24);
$hash &= ~$x;}
}
return ($hash & 0x7FFFFFFF) % MAX_TABLE_NUM + 1;
}
php爱好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
1. 哈希均衡C算法
#define MAX_TABLE_NUM 4
unsigned int ELFHash(const char *apszData,unsigned int aiLen)
{
register unsigned int hash = 0;
unsigned int x = 0, i=0;
for(i = 0; i <aiLen; i++) {
hash = (hash <<4) + apszData;
if((x = hash & 0xF0000000L) != 0) {
hash ^= (x >> 24);
hash &= ~x;}
}
return (hash & 0x7FFFFFFF) % MAX_TABLE_NUM + 1;
}
2. 哈希均衡PHP算法
define(‘MAX_TABLE_NUM’,4);
function ELFHash1($apszData = ‘’, $aiLen = 0)
{
$hash = $x = $i = 0;
for($i = 0; $i <$aiLen; $i++) {
$hash = ($hash <<4) + ord($apszData[$i]);
if(($x = $hash & 0xF0000000) != 0) {
$hash ^= ($x >> 24);
$hash &= ~$x;}
}
return ($hash & 0x7FFFFFFF) % MAX_TABLE_NUM + 1;
}
php爱好者站 http://www.phpfans.net 文章|教程|下载|源码|论坛.
相关阅读 更多 +