欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 宝鼎售后问题提交 | 后台管理


新闻资讯

MENU

软件开发知识

并没有真正深 昆山软件定制开发 入去了解其核心

点击: 次  来源:劳务派遣管理系统 时间:2017-12-20

原文出处: 等你回去来

此刻的负载平衡技能,可以说是满大街都是,可是我们根基都逗留在了利用的阶段上,并没有真正深入去相识其焦点。假如然的呈现了问题,大概就很难知道是什么原因导致了,只能去google,百度了。 因此,相识一些焦点的对象,劳务派遣管理系统,昆山软件开发,照旧不错的。

负载平衡或许流程就是,随时收集各处事器信息可能各处事器主动上报信息,由设置主心举办生存,计较出权重,然后按拍照应算法举办处事呆板选择。(虽然了,这不是本文的重点,我也说得不必然对)

我要展示的是,一个按照权重举办呆板选择的一个巧神算法,如下:

int chooseOneRoute ( LB_SvrInfo * & pSvr )
{
    double dblTotalWeight = 0.0;
    int i = 0;
    time_t curTime = time(NULL);
    //权重的计较要领是Late要领
    if ( curTime - calWeightTime >= CAL_WEIGHT_TIME_INTERVAL )
    {
        calculateWeight();
    }
    //先把各处事器权重加起来
    for ( i = 0; i < MAX_SERVER_NUM; i++ )
    {
        if ( !oServerInfo[i].isOkForRoute() ) continue;
        dblTotalWeight += oServerInfo[i].getWeight();
    }
    dblTotalWeight *= rand() / ( RAND_MAX + 1.0 );
    //做减法
    for ( i = 0; i < MAX_SERVER_NUM; i++ )
    {
        if ( !oServerInfo[i].isOkForRoute() ) continue;
        dblTotalWeight -= oServerInfo[i].getWeight();
    //找到对应处事器
        if ( dblTotalWeight < 0 ) break;
    }
    pSvr = &( oServerInfo[i] );
    return 0;
}

分步表明就是:

  1. 先计较获得各呆板的权重值,生存起来;
  2. 按顺序将各呆板权重相加,相加之后就相当于各呆板在总权重上占了各相应的一段比例;
  3. 取随机数,获得一个0~1的随机值,并乘以总权重,作为选中呆板的符号;
  4. 再按顺序减去各呆板的权重,当减到选择呆板的权重范畴时,就获得了呆板号,劳务派遣管理系统,从而选定该呆板。

算法示意图如下:

并没有真正深 昆山软件定制开拓 入去相识其焦点

处事器权重越高,在线段上占的长度越长,被随机数选中的概率也越大。

刚开始的时候,我觉得是哪个数学家搞出来的公式获得的呢,功效道理却出奇的简朴,所以好的对象不必然是巨大的,可能说看起来牛逼的对象,不必然就很巨大,可是必定是大大都人意想不到的。