免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: bigxhome
打印 上一主题 下一主题

[算法] 请教网络资源分配的问题 [复制链接]

求职 : c/c++研发
论坛徽章:
0
11 [报告]
发表于 2013-03-29 09:46 |只看该作者
回复 6# shan_ghost
unix类系统下的,不熟悉windows的接口

   

论坛徽章:
9
CU大牛徽章
日期:2013-04-17 11:06:23CU大牛徽章
日期:2013-04-17 11:08:52CU大牛徽章
日期:2013-04-17 11:09:10CU大牛徽章
日期:2013-04-17 11:09:40CU大牛徽章
日期:2013-04-17 11:09:57CU大牛徽章
日期:2013-04-17 11:10:17CU大牛徽章
日期:2013-05-20 10:43:41CU大牛徽章
日期:2013-05-20 10:44:06CU大牛徽章
日期:2013-05-20 10:44:16
12 [报告]
发表于 2013-03-29 09:49 |只看该作者
优先级。。。

论坛徽章:
1
技术图书徽章
日期:2014-07-11 16:30:58
13 [报告]
发表于 2013-03-29 09:54 |只看该作者
        :wink::wink:

论坛徽章:
36
子鼠
日期:2013-08-28 22:23:29黄金圣斗士
日期:2015-12-01 11:37:51程序设计版块每日发帖之星
日期:2015-12-14 06:20:00CU十四周年纪念徽章
日期:2015-12-22 16:50:40IT运维版块每日发帖之星
日期:2016-01-25 06:20:0015-16赛季CBA联赛之深圳
日期:2016-01-27 10:31:172016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之福建
日期:2016-04-07 11:25:2215-16赛季CBA联赛之青岛
日期:2016-04-29 18:02:5915-16赛季CBA联赛之北控
日期:2016-06-20 17:38:50技术图书徽章
日期:2016-07-19 13:54:03程序设计版块每日发帖之星
日期:2016-08-21 06:20:00
14 [报告]
发表于 2013-03-29 12:21 |只看该作者
TCP的话可以带外数据

或者,所有数据都从从业务来,收包的时候判断是不是主业务,是的话转给主,可以不?

论坛徽章:
36
子鼠
日期:2013-08-28 22:23:29黄金圣斗士
日期:2015-12-01 11:37:51程序设计版块每日发帖之星
日期:2015-12-14 06:20:00CU十四周年纪念徽章
日期:2015-12-22 16:50:40IT运维版块每日发帖之星
日期:2016-01-25 06:20:0015-16赛季CBA联赛之深圳
日期:2016-01-27 10:31:172016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之福建
日期:2016-04-07 11:25:2215-16赛季CBA联赛之青岛
日期:2016-04-29 18:02:5915-16赛季CBA联赛之北控
日期:2016-06-20 17:38:50技术图书徽章
日期:2016-07-19 13:54:03程序设计版块每日发帖之星
日期:2016-08-21 06:20:00
15 [报告]
发表于 2013-03-29 12:24 |只看该作者
如果主从数据来源是一个,从来源方解决比较好吧

论坛徽章:
0
16 [报告]
发表于 2013-03-29 14:20 |只看该作者
这确实是一个问题,坐等大家集思广益

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
17 [报告]
发表于 2013-03-29 15:05 |只看该作者
本帖最后由 shan_ghost 于 2013-03-29 15:11 编辑

办法太多了……

1、为服务器配置双IP,让主/从业务分别使用不同IP,然后在出口路由器上限速
类似的,也可以把两个业务跑在不同的虚拟机上,在物理机或路由器上限制不同虚拟机的带宽

2、参考滑窗算法,做一个前端,限制从业务单位时间内的流量。这个流量甚至可以由主业务的前端动态指定……
至少有侵入/非侵入两种方案;非侵入方案copy滑窗算法就行了,管理对象是网络包(的数量/流量);侵入方案仍然是参考滑窗算法,但管理对象是业务数量(让从业务每秒只处理若干个业务,多了就sleep)

3、从业务通过pid文件之类通知主进程自己的进程id;主进程根据自己的繁忙程度动态调整从业务进程的优先级

4、让从业务等待主业务的信号。主业务给一个信号,从业务才处理一个请求;于是主业务可以根据自己的繁忙程度,以不同频率给从业务信号。
根据需求,也可以变通设计为:主业务给一个信号,从业务就认为自己得到一个“可以在N秒内处理一个请求的许可”。超过N秒,则许可失效。
变通方案可以提高从业务的响应速度和执行效率(不必每处理一个业务都等待了)——这其实是滑窗方案的一个等效实现。只是缓存的不再是请求而是许可。



技术难度上,1难度最低,但对硬件环境有一定要求;3、4难度较低,对原有代码修改很小,其中方案3只需修改主进程即可。2难度较大。

效果上,如果两个业务只是争用带宽的话,1、2的效果最好。4次之(从业务执行效率较低),3并不很可靠(被调度到的次数减少,并不意味着网络带宽占用率正比减少,甚至可能两者并无严格关系)。

论坛徽章:
0
18 [报告]
发表于 2013-04-02 15:58 |只看该作者
如果影响太大,能用两个通道么,那样都不用拥堵了,如果不能使用两个,那么只能在业务层面做限制了,主业务资源优先级高,从业务优先级低。

论坛徽章:
0
19 [报告]
发表于 2013-04-02 17:20 |只看该作者
回复 1# bigxhome

使用一个信号灯做主从业务同步,主业务获得信号灯则把该干的事情全干完才释放信号灯。从业务获得信号灯只进行少量数据收发就释放信号灯。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP