2013年5月14日星期二

远离学术界——一个大学教授的辞职吐槽




现在差不多每个人都知道我已经辞去新墨西哥大学(以下简称新墨大)的职位了。从七月开始,我将转投谷歌,前往位于麻省剑桥市的分部工作。

无数人,从我的朋友到我的(前)学院主任都问过我,“为什么?为什么要放弃这么完美(有人甚至用了‘清闲’这个词)的终身教授职位,去掺和到那些繁琐的商业生活中去?”

说实在的,这其中的原因相当错综复杂,有的也确实只是出于私人的考虑。但其中也有另外一些,跟新墨大、跟整个新墨西哥州、整个学术界甚至是整个美国的风气有关——关于这几条,我还是不吐不快。辞职这个举动并非一时冲动的后果,而我也想借本文警示各位:以下这些令我对学术界倍感失望的因素,其实同样也在影响着全美其它的教授们。我所担忧的是,如果我们继续无视教职岗位的吸引力消退的话,美国,这个全世界最富创新力的源泉,终将面对令人堪忧的未来。
1、改变世界的机会

本来,我投身科学的最终目标,是希望能为世界做出一点积极的贡献。这一目标并未动摇;但是,由于以下原因中的几条,实现它已经变得越来越难。谷歌作为一个商业组织,确实是一个利用尖端计算机科技切实地推动世界进步的榜样。尽管在谷歌这样的商业巨擘里想要有所建树也并非易事,但在当前的学术风气下,做出点东西的可能性依旧比留在学术界高得多。
2、工作负担与家庭、生活的平衡

这一点早就已经是老生常谈了[1,2,3],我也没必要再赘述什么。我只想说,当教授本身就足以让人心力交瘁了——如果你想要把活干好的话——而拿到终身制后依然要面对的种种情形则更是雪上加霜。这个问题在学术界非常普遍,而新墨大的情况也不会好到哪去。即使是到我辞职离开的时候,学校也依然还没有通过任何一项统一的请假制度,为教职员工因父母职责或是其它家事请假提供相应的便利;更别提如何建立长期稳定的机制和补助方案,帮助教职工们平衡他们的工作和生活了。
3、权威集中,独立消退

我任教新墨大的这些年里,头顶上换过四任校长、三任教务长,还有两任学院主任。管理层频繁更迭中的主旋律,始终是权力、资源的进一步集中化,给院系和教职工带来了日渐增长的压力。这一缓慢却显而易见的过程,带来的是对学术独立性或明或暗的伤害,是对教职工关怀的流失,也是工作不确定性的蔓延。另一方面,我(还有很多同事)也感觉,这些攻击破坏了大学本身所承担的教学与科研使命。
4、资金环境

两场同时进行的对外战争打了将近十年之后,美国又遭遇了两代人以内最严重的经济萧条——如今无论是联邦还是州内的财政预算都已经大幅萎缩。更糟糕的是,共和党领导下的恶劣政治氛围[4,5]以及他们刻意造成的国会混乱[6,7]彻底断绝了任何长期、合理的预算规划的可能性。在这样的压力下,我们已经目睹了联邦科学项目资金[8,9,10]连续至少七年的止步不前,以及全国各州立法机构对教育经费的无情削减[11,12,13,14]。这些力量集合在一起,一点一点地啃食着大学的生存空间,迫使校方不得不向教职工们转嫁压力。于是,在经费越来越稀缺的时候,教授们却在被学校越发卖力地驱使着,向联邦政府争取更多的科研经费。最终导致的结果,是一套于大学非常有害的政策——它们不仅造成了教学与科研的对立,还使得两者都屈从于根本不切实际的资金追求。例如,新墨大工学院最新颁布的一个制度,就以教学负担为惩罚,诱使教授们更多地去追寻科研资金(事实上,该制度只以教授们引来的科研资金作为其学术能力的唯一度量。而匪夷所思的是,这跟学术能力压根毫无关系,更别提创新能力了)。
5、过专业化、心胸狭隘与目光短浅

资金上的压力同样也带来了精神上的压力。当人类感到不安时,我们会变得更保守与退缩——我们只求凡事稳妥,而不敢放手一搏。但问题是,创新从本质上就离不开探索性的风险。创新的目标是发现新事物——超越现状,发现或者创造前所未有的事物。既要求索未知,又要万无一失,本来就是自相矛盾的。

在美国,传统意义上,大学一直在为类似的科学探索提供一个安全的避风港,而联邦、各州和企业对此的资金支持也一直不曾断供(顺便提一句,采购现成的尖端研究成果,要远比通过工业界或是政府亲自研发来得实惠,而且还能让这些机构规避失败的风险)。这一结合曾经带来了惊人的回报,利润常常是投资的好几倍都不止。

但这当前的风气下,所有这些机构,包括科学家自己,都在有意回避着探索性的研究,求诸于更为安稳的路线。多数资源,都流向了已经被他人确证、保证有所回报的想法、技术(以及学者);而主流之外的想法,却越来越难以得到同行评审的认可,获取学校的支持,或是赢得相关机构的经费。其后果就是,在大量的科研领域,学者的视野越来越狭隘,对创新性的探索越来越排斥(我的同事,喷气推进实验室的基里·瓦格斯塔夫,针对我们所从事的机器学习领域,就该问题的一个具体方面写过一篇精彩的分析)。
6、激励缺失

除了以上几条,“要么发表、要么消亡”和“不拉经费、死路一条”这样的压力,打击了研究者对自己专长之外的领域的探索。现如今,无论是想在你自己的领域发表创新性的专著,还是试图努力发掘新的交叉领域、拓宽经费来源,都已经越发地不可能(更别提类似“帮助学生完成学业”这样的“杂事”了)。在这样的情形下,想做探索性和交叉性的研究变得越来越困难。而很多对社会意义重大的交叉性项目,其实并没有要求每一个相关的学科方向都非得做出创新性的研究成果不可。类似的门槛因此而阻碍了很多人在这些方向上投入自己的精力。就拿我自己的经历来说吧:当你不能从“帮助拯救婴儿的生命”这样的工作里得到应有的肯定与认可时,你就知道我们的学术激励机制肯定出了什么大问题了。
7、教育的量产化

对于斯坦福的超过十万学生的计算机课程、麻省理工的系列开放课程以及其它致力于大规模远程教育的项目[15,16],新闻媒体上可谓是一片齐声赞扬[17,18,19,20]。从某些方面来说,这些努力确实令人激动——这或许是上千年来第一次为人类的教育方式提供了一种结构性改变的可能。它们将教育“民主化”了——为全世界不同地区、不同经济与社会背景的人们提供了接触世界顶尖教育的途径。要是我们能够将优质的教育提供给越来越多的人们,将可以诞生多少拉马努金式的天才?

但关于这一浪潮,我不得不提出三个警示。

首先,我所担心的是,教育的规模化,将会带来跟制造业两百年间的量产化一样的后果——政府当局为了节约开支,会迫使远程课程的规模一再扩张,从而进一步削减授课所需的教职工岗位。谁知道会不会有一天,整个美国的计算机科学专业只剩下唯一一个教授?

其次,我怀疑“赢者通吃”的循环会像它在工业界和社会中一样造成学术界的畸形扭曲。当不再有距离或学费的限制以后,还有哪个学生会拒绝斯坦福和麻省理工的远程教育,而选择类似新墨大这样的学校?离学术界出现的美国电话电报公司(AT&T)、微软或者谷歌这样的寡头还有多久?离1%的大学和教授占有99%的学生和资源的日子还有多久?

最后,这一趋势将威胁甚至是抹除学术界里,对学生和教师最为宝贵的体验。从最本质的层面来说,教育发生在个体与个体之间——这是一种教师与学生之间私人的沟通,无论时间或长或短。它可以是随堂回答一个学生提出的问题,也可以是在面谈时间用二十分钟解决一个难题,甚至是花上几年时间与自己的指导的博士生紧密协作——这其中的人性沟通,对双方都意义非凡。它所带来的影响之深刻,远远超出了对信息本身的传递——它教会我们如何融入周边的社会,并为我们设立了一个值得效仿的榜样——在一个学术领域内我们该如何行事,如何缜密思索,如何变得更专业,以及如何实现心智的成熟,等等。我非常担忧的是,我们对这一过程的“民主化”,将会切断这一人性沟通,把这一上千年的古老事业中,最充满欢乐的一面消磨殆尽。
8、工资待遇

一直以来,学术界工作者的收入都低于他们工业界的同行们——其中的差距通常还大得惊人(尤其是备受业界青睐的行业,如简称STEM行业的科学、技术、工学与数学,还有各种医疗、法律以及其它学科)。从前,大学还能为教授提供宽松的学术自由与日程安排,以及培养下一代人的愉悦感,以此来补偿他们收入上的劣势。但我上文所提及的种种改变,却把这种补偿给掐掉了一大半。这使得我们在拿着不相称的薪水的同时,却拿不到其它应有的回报。就像一位同事在我宣布辞职时所说的,“‘酷’也是我们的收入之一。要是‘酷’的成分都没了,那我们还不如去其它地方多赚点钱呢。”
9、反智主义,教育无用论,还有对科学与学术界的恶意攻击

在这个国家,如今有一种可怕的趋势——往小了说,是对学术界的攻击;往大了说,则是在对思想自由与知性主义的攻击。思想自由被渲染成破坏性的、危险的、精英至上的,还跟阴谋论扯上了关系(我都不知道“阴谋”两字从何谈起,它可不是你们这些家伙想当然的那种意思)。大学被指责效率低下,教授们则形如行尸走肉(在他们拿到终身制以后)或是在以某种方式“迫害年轻一代”(苏格拉底的反对者们,在他们毒死人类最伟大的思想家之一前,也说过类似的话)。政客们攻击科学界,为的是不过是讨好原教旨主义者以及各自的资本赞助者。

其实这些想法背后的元素,多多少少都曾浮现于美国的思潮中。但最近这些年里,这却已经成为了这个国家的时代精神中,一个溃烂、化脓、生疽的伤口。那些肆意攻击教育事业的人或许忘了,美国正是通过19世纪所引导、创立的公共教育体系,才改变了数千年来社会与经济上的不平等?他们或许也忘了,正是教育造就了我们领先世界的各个行业,从而奠定了这个国家伟大的根基——艺术、音乐、文学、政治哲学、建筑学、工程学、理学、数学、药学……?他们或许还忘了,这个世界上最大的经济体依赖于(受过教育的)创新;而人类史上最强大的军队,也离不开教育体系所结出的科技与工程学的硕果?他们或许更忘了,美国的脊梁——我们口口声声说要维护的宪法——就出自启蒙时期受过良好教育的政治理想主义者;而他们坚信的,是只有通过被启蒙过的、受过教育的选民的一举一动,才能实现自由与一个更为公正的社会?

坦率的说,现状不仅令人作呕,更是危机重重。要是任凭这些憎恨者、恐惧者还有政治投机者当道掌权,他们将会剖空人类史上最伟大的机构之一;而在此过程中,他们也将割断这个国家的气管,放干未来创新的血液。我确定,其它国家将会很乐意填补这一空缺,争相啄食这一具名为“美国”的尸体残骸。
***

作者后记:在我的决定背后,当然还有对其它因素的考虑。而任何生活的变迁也很难在一篇短文中阐述清楚。不过,本文中所列的这些都是最主要的因素了。

我也并不是永远抛弃了学术界。我只是暂时希望尝试一下工业界这条路,而未来我也随时有可能回归学术界。教授这份工作,毫无疑问依然有我所欣赏和喜爱的地方。在此期间,我也会寻找其他的方式,去贡献社会,去教育下一代,也去改变这个世界。

——本文2012年夏发表于作者Terran Lane博客。作者为普渡大学博士、麻省理工学院(MIT)人工智能实验室博士后;2002年起就职于新墨西哥大学,2008年升任该校终身副教授,2012年辞职转投谷歌公司。

湖南耒阳80后女副市长王卿简历公开发布

人民网北京5月14日电 备受网友关注的湖南耒阳80后女副市长王卿的简历日前在网上公布。记者今日浏览湖南耒阳市党政门户网站“中国·耒阳”网(www.leiyang.gov.cn)发现,该网站已经发布了包括副市长王卿在内的多位党政领导干部简历。王卿分管教育、文化等工作。

此前有媒体报道称,王卿系耒阳市前市长王礼忠之女,2012年底由耒阳市招商局副局长提拔为耒阳市副市长,未公布简历,这引起网民关注。

5月9日,湖南衡阳市委组织部有关负责人证实,王卿任职符合相关规定,并履行了干部选任程序。

附:王卿简历

王 卿,女,汉族,湖南耒阳人,1980年 4月出生,本科学历,1998年 7月参加工作,2003年1月加入中国共产党,现任耒阳市人民政府副市长。其主要工作经历如下:

1995.09-1998.07 衡阳市财政会计学校财务专业学生

1998.07-2001.12 耒阳市人民检察院刑二科干事(2001.07湖南省政法管理干部学院法律专业大专毕业)

2001.12-2003.10 中共耒阳市委组织部办公室干事(2003.07中南财经政法大学法律专业函授本科毕业)


2003.10-2004.06 中共耒阳市委组织部办公室副主任

2004.06-2005.02 中共耒阳市委组织部干部组副组长

2005.02-2010.09 耒阳市招商合作局副局长、党组成员

2010.09-2012.12 耒阳市招商合作局副局长、党组成员、耒阳市经济开发区管委会招商局局长

2012.12- 耒阳市人民政府副市长

(简历来源:“中国·耒阳”网)

(原标题:湖南耒阳80后女副市长王卿简历公开发布(图))

DDoS 攻击过程看起来是这样的

今天,应该多数 IT 人员都听说过 DDoS (distributed denial-of-service) 这个术语,但是,你可能不知道一个分布式的 DoS 攻击是如何进行的,或者甚至你是一个彻头彻尾的极客,你可能也没机会知道 DDoS 攻击看起来像什么。
非常感谢来自 VideoLan 的安全团队,他们开发了 VLC 媒体播放器,他们给我们提供了一个 DDoS 攻击过程 VideoLan 下载服务的模拟。这个模拟过程的视频放在了 YouTube 上,可 FQ 访问 YouTube

根据 VideoLan 的 Ludovic Fauvet 介绍,get.videolanorg 服务器突然平均每秒处理的请求超过 400 个,然后被发现了存在了一种攻击模式,于是 Fauvet 和他的团队迅速阻止了这些坏蛋。
首先是挑出这些攻击者的 User-Agent,然后在 Nginx 这里拒绝这些 User-Agent 的访问,这样的话 DDoS 的请求就只能得到 403 的响应。
在强化这个防御之前 VideoLan 的下载一般是每秒 200 次左右,这已经占用了 30Gbps 的带宽。这里有个对比,大量的 DDoS 请求可以给维基百科带来每秒 10 Gb 的流量。
目前我们还不清楚攻击 VideoLan 的动机是什么,但很感谢在此期间我们在法国的团队能迅速解决这个问题。
via geek

河南男子蒙受冤案自杀事件造假警察被双开

导读:唐河县公安局桐寨铺乡派出所长孙永远伪造口供错误逮捕,致当事人党清广自杀后,被判处拘役六个月、缓期一年执行。但不可思议的是,2008年9月被判刑后的孙永远,仍在履行公职。此事经媒体曝光后,唐河县纪委常委昨日召开会议,决定对孙永远开除党籍、开除公职。
唐河县公安局桐寨铺乡派出所长孙永远伪造口供错误逮捕,致当事人党清广自杀后,被判处拘役六个月、缓期一年执行。但不可思议的是,2008年9月被判刑后的孙永远,仍在履行公职。此事经媒体曝光后,唐河县纪委常委昨日召开会议,决定对孙永远开除党籍、开除公职。
为两棵树打一架 被警方抓了两次
2005年4月25日,唐河县桐寨铺乡十八里党村的党清广砍倒了院墙外两棵榆树,与邻居党长锁发生争执、厮打。2005年5月3日,唐河县公安局法医鉴定:党长锁左耳鼓膜外伤性穿孔,构成轻伤。2005年5月10日,唐河县公安局桐寨铺派出所立案侦查“党清广涉嫌故意伤害案”。2005年11月23日,党清广因涉嫌故意伤害案被唐河县检察院批准逮捕。
2006年4月21日,正在浙江上虞打工的党清广被上虞市公安局治安大队民警带走,并告知他是公安部门网上追逃的逃犯。党清广被带回唐河县后,在村委会见证下达成调解协议:党清广赔偿党长锁2000元医药费、2棵榆树。2006年6月7日,党清广在派出所办了撤案手续。之后,他带着母亲和儿子返回浙江,继续打工。
2006年10月15日,正在上班的党清广再次被抓,原因同样是“网上逃犯”。党清广向家人哭诉说“走到哪儿抓到哪儿,日子没法过了”。2007年1月19日,党清广被发现缢死在化工厂休息室。
责任人获刑仍履职 昨日终于被“双开”
后经调查,认为党清广二次被抓是当地派出所缉控数据库“技术原因出现数据延迟现象所致”。
2008年5月11日,南阳市有关部门成立专案组。两天后,当年的桐寨铺派出所长孙永远到唐河县检察院自首。
据其供述,2005年11月,唐河县公安局开展冬季“严打”,内部下达批捕任务,派出所间要搞排名。于是,该所翻出了搁置的“党清广案”。 孙永远还伪造了“党清广承认打了党长锁耳光”的口供,“目的是为了完成案子批捕任务”。检察院批捕后,原本要销案。但2006年1月他调任,销案手续并未随案卷移交给继任者,致使党清广成了网上逃犯。
南阳市公安局执法监督委员会出具结论,认定“党清广案”是执法过错案件,“伪造证据材料导致党清广被错误逮捕”。河南省检察院和南阳市检察院法医专家共同出具意见书,认定党长锁当年鼓膜穿孔,与砍树争执当日“外伤”并无因果关系。
2008年9月,此案异地审理,镇平县法院认定孙永远滥用职权,判处拘役六个月、缓期一年执行。案件终结后,唐河县检察院对错误羁押党清广15天赔偿了2135元,“救助”了6万元。但党清广的家人不服,他们最不理解的是,办理错案被判刑的孙永远还在唐河县公安局做民警,“拿着财政发的工资”,这违背了《公务员法》和《人民警察法》。
今年5月3日,此事被媒体曝光后,引起网上热议。当日,唐河县纪委召开常委会议,经研究决定对孙永远开除党籍、开除公职。对于孙永远缘何未按规定予以“双开”的问题,唐河县纪委书记于滔称,此案是异地审理且当事人提起了上诉,唐河县纪委也是刚刚接到案件,办理需要一个过程。


免责声明:凡本网注明"来源:XXX(非千龙在线)"的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。本网转载其他媒体之稿件,意在为公众提供免费服务。如稿件版权单位或个人不想在本网发布,可与本网联系,本网视情况可立即将其撤除。新闻纠错:020-34505870-8010,邮箱:qianlongnews@126.com
责任编辑:莫少玲 来源:大河报

成人网站性能提升 20 倍之经验谈 [Python]


色情业是个大行业。互联网上没有多少网站的流量能和最大的色情网站相匹敌。
搞定这巨大的流量很难。更困难的是,在色情网站上提供的很多内容都是低延迟的实时流媒体而不是简单的静态视频。但是对于所有碰到过的挑战,我很少看到有搞定过它们的开发人员写的东西。所以我决定把自己在这方面的经验写出来。 

问题是什么?
几年前,我正在为当时全世界访问量排名26的网站工作 — 这里不是说的色情网站排名,而是全世界排名。
当时,该网站通过RTMP(Real Time Messaging protocol)协议响应对色情流媒体的请求。更具体地说,它使用了Adobe的FMS(Flash Media Server)技术为用户提供实时流媒体。基本过程是这样的:
  1. 用户请求访问某个实时流媒体
  2. 服务器通过一个RTMP session响应,播放请求的视频片段
因为某些原因,FMS对我们并不是一个好的选择,首先是它的成本,包括了购买以下两者:
  1. 为每一台运行FMS的服务器购买Windows的版权
  2. 大约4000美元一个的FMS特定版权,由于我们的规模,我们必须购买的版权量数以百计,而且每天都在增加。
所有这些费用开始不断累积。撇开成本不提,FMS也是一个比较挫的产品,特别是在它的功能方面(我过一会再详细说这个问题)。所以我决定抛弃FMS,自己从头开始写一个自己的RTMP解析器。
最后,我终于把我们的服务效率提升了大约20倍。
开始
这里涉及到两个核心问题:首先,RTMP和其他的Adobe协议及格式都不是开放的,这就很难使用它们。要是对文件格式都一无所知,你如何能对它进 行反向工程或者解析它呢?幸运的是,有一些反向工程的尝试已经在公开领域出现了(并不是Adobe出品的,而是osflash.org,它破解了一些协 议),我们的工作就是基于这些成果。
注:Adobe后来发布了所谓的“规格说明书”,比起在非Adobe提供的反向工程wiki和文档中披露的内容,这个说明书里也没有啥新东西。他们 给的规格说明书的质量之低劣达到了荒谬的境地,近乎不可能通过该说明书来使用它们的库。而且,协议本身看起来常常也是有意做成具有误导性的。例如:
  1. 他们使用29字节的整形数。
  2. 他们在协议头上所有地方都采用低地址存放最高有效字节(big endian)的格式,除了在某一个字段(而且未标明)上采用低地址存放最低有效字节(little endian)的格式。
  3. 他们在传输9K的视频时,不惜耗费计算能力去压缩数据减少空间,这基本上是没意义的,因为他们这么折腾一次也就是减少几位或几个字节,对这样的一个文件大小可以忽略不计了。
还有,RTMP是高度以session为导向的,这使得它基本上不可能对流进行组播。理想状态下,如果多个用户要求观看同一个实时视频流,我们可以 直接向他们传回指向单个session的指针,在该session里传输这个视频流(这就是组播的概念)。但是用RTMP的话,我们必须为每一个要求访问 特定流的用户创建全新的一个实例。这是完全的浪费。

我的解决办法
想到了这些,我决定把典型的响应流重新打包和解析为FLV“标签”(这里的“标签”指某个视频、音频或者元数据)。这些FLV标签可以在RTMP下顺利地传输。
这样一个方法的好处是:
  • 我们只需要给流重新打包一次(重新打包是一个噩梦,因为缺少规格说明,还有前面说到的恶心协议)。
  • 通过套用一个FLV头,我们可以在客户端之间顺畅地重用任何流,而用内部的FLV标签指针(配以某种声明其在流内部确切位置的位移值)就可以访问到真正的内容。
我一开始用我当时最熟悉的C语言进行开发。一段时间后,这个选择变得麻烦了,所以我开始学习Python并移植我的C代码。开发过程加快了,但在做 了一些演示版本后,我很快遇到了资源枯竭的问题。Python的socket处理并不适合处理这些类型的情况,具体说,我们发现在自己的Python代码 里,每个action都进行了多次系统调用和context切换,这增加了巨大的系统开销。
改进性能:混合使用Python和C
在对代码进行梳理之后,我选择将性能最关键的函数移植到内部完全用C语言编写的一个Python模块中。这基本是底层的东西,具体地说,它利用了内核的epoll机制提供了一个O(log n)的算法复杂度。
在异步socket编程方面,有一些机制可以提供有关特定socket是否可读/可写/出错之类的信息。过去,开发人员们可以用select()系 统调用获取这些信息,但很难大规模使用。Poll()是更好的选择,但它仍然不够好,因为你每次调用的时候都要传递一大堆socket描述符。
Epoll的神奇之处在于你只需要登记一个socket,系统会记住这个特定的socket并处理所有内部的杂乱的细节。这样在每次调用的时候就没 有传递参数的开销了。而且它适用的规模也大有可观,它只返回你关心的那些socket,相比用其他技术时必须从10万个socket描述符列表里挨个检查 是否有带字节掩码的事件,其优越性真是非同小可啊。
不过,为了性能的提高,我们也付出了代价:这个方法采用了完全和以前不同的设计模式。该网站以前的方法是(如果我没记错的话)单个原始进程,在接收和发送时会阻塞。我开发的是一套事件驱动方案,所以为了适应这个新模型,我必须重构其他的代码。
具体地说,在新方法中,我们有一个主循环,它按如下方式处理接收和发送:
  1. 接收到的数据(作为消息)被传递到RTMP层
  2. RTMP包被解析,从中提取出FLV标签
  3. FLV数据被传输到缓存和组播层,在该层对流进行组织并填充到底层传输缓存中
  4. 发送程序为每个客户端保存一个结构,包含了最后一次发送的索引,并尽可能多地向客户端传送数据
这是一个滚动的数据窗口,并包含了某些试探性算法,当客户端速度太慢无法接收时会丢弃一些帧。总体来说运行的很好。 

系统层级,架构和硬件问题
但是我们又遇到另外一个问题:内核的context切换成为了一个负担。结果,我们选择每100毫秒发送一次而不是实时发送。这样可以把小的数据包汇总起来,也避免了context切换的爆炸式出现。
也许更大的一个问题在于服务器架构方面:我们需要一个具备负载均衡和容错能力的服务器集群,毕竟因为服务器功能异常而失去用户不是件好玩的事情。一 开始,我们采用了专职总管服务器的方法,它指定一个”总管“负责通过预测需求来产生和消除播放流。这个方法华丽丽地失败了。实际上,我们尝试过的每个方法 都相当明显地失败了。最后,我们采用了一个相对暴力的方法,在集群的各个节点之间随机地共享播放的流,使流量基本平衡了。
这个方法是有效的,但是也有一些不足:虽然一般情况下它处理的很好,我们也碰到了当所有网站用户(或者相当大比例的用户)观看单个广播流的时候,性 能会变得非常糟糕。好消息是,除了一次市场宣传活动(marketing campaign)之外,这种情况再也没出现过。我们部署了另外一套单独的集群来处理这种情况,但真实的情况是我们先分析了一番,觉得为了一次市场活动而 牺牲付费用户的体验是说不过去的,实际上,这个案例也不是一个真实的事件(虽然说能处理所有想象得到的情况也是很好的)。 

结论
这里有最后结果的一些统计数字:每天在集群里的流量在峰值时是大约10万用户(60%负载),平均是5万。我管理了2个集群(匈牙利和美国),每个 里有大约40台服务器共同承担这个负载。这些集群的总带宽大约是50 Gbps,在负载达到峰值时大约使用了10 Gbps。最后,我努力做到了让每台服务器轻松地能提供10 Gbps带宽,也就等于一台服务器可以承受30万用户同时观看视频流。
已有的FMS集群包含了超过200台服务器,我只需要15台就可以取代他们,而且其中只有10台在真正提供服务。这就等于200除以10,等于20 倍的性能提高。大概我在这个项目里最大的收获就是我不应让自己受阻于学习新技能的困难。具体说来,Python、转码、面向对象编程,这些都是我在做这个 项目之前缺少专业经验的概念。
这个信念,以及实现你自己的方案的信心,会给你带来很大的回报。
【1】后来,当我们把新代码投入生产,我们又遇到了硬件问题,因为我们使用老的sr2500 Intel架构服务器,由于它们的PCI总线带宽太低,不能支持10 Gbit的以太网卡。没辙,我们只好把它们用在1-4×1 Gbit的以太网池中(把多个网卡的性能汇总为一个虚拟网卡)。最终,我们获得了一些更新的sr2600 i7 Intel架构服务器,它们通过光纤达到了无性能损耗的10 Gbps带宽。所有上述汇总的结果都是基于这样的硬件条件来计算的。

在整个互联网中,成人网站有多大

上网之人,多少都会接触过cr网站。这是一个举世公认的事实。
  不过这是一个难以洞察的领域,因为相关数据少之又少。我们知道cr网站都是那些在互联网上有着超高流量的网站。根据 Google DoubleClick 的 Ad Planner 服务(通过cookie跟踪网民)显示,全球 Top 500 网站中,就有数十个cr网站。全球最大的色情网站 Xvideos 每月网页浏览量(Page Views,PV)高达 44 亿,是 CNN 或 ESPN 新闻网站的 3 倍,是 Reddit 的 2 倍。LiveJasmin 也不小。除了 Google 和 Facebook 等大站,其他网站在YouPorn、Tube8 和 PornHub 面前都是小巫见大巫。
  虽然网页浏览量是一个很好的起始点,但它们仅告诉我们某些色情网站比某些非色情网站要受欢迎。40亿的PV,听起来很多,但当我们把那些X站用户实际在做的事考虑进来,cr网站的大小和规模就有点明朗了。
  规模


  色情网站和非色情网站的主页区别是访客的平均停留时间。诸如 Engadget 等新闻网站的平均停留时间是 3 – 6 分钟,大约是是阅读 1 – 2 篇文章。然而色情网站的停留时间,大约是在 15 – 20 分钟。
  大部分网站的内容主要是文本和图像,而cr大站则是vdieo。ExtremeTech 首页完全加载大约是几兆数据,打开一篇文章,大约是500kb数据。访问色情网站,假设是打开一个 480×200 低分辨率的vdieo,每秒传输 100 kb 数据。15 分钟的话,那就大约是 90 MB 数据了。
  Xvideos 每月有 3.5 亿访问次数,乘以 90 MB,那就每月传输大约 29 PB 数据,也就是每秒传送数据约 50 GB。做个对比,你家网络连接可能每秒传送两兆(2 MB),Xvideos 是你家的 25,000 倍。
  简而言之,色情网站是在处理天文数字级别的数据。在原始带宽(Raw Bandwidth)方面,能与之匹敌的网站,也就只有 YouTube 或 Hulu,而 YouPorn 却又是 Hulu 的 6 倍。
  基础设施
  就支持vdieo所需的资源,数据存储器、CPU 周期、I/O 和带宽,远超过文本和图像所需要的资源。
  当然了,虽然每个网站的情况又不一样了,但大部分cr站点都有 50 至 200 TB 的cr资料。对一个网站来说,这是个大数目(Google、Facebook、Blogger 和 Youtube 之流存储的数据比这还要多),好在现在 2 TB 的硬盘便宜。
  CPU 周期和 I/O 会影响vdieo流和 PV 数量。首先,色情网站要提供动态、可搜索的海量vdieo数据库,然后点播vdieo时,从硬盘读取文件,再网络上传输。如果你有过在局域网传送大量大文件的经历,你就会知道网络系统的压力有多大了。
  硬件设备情况,实际上我们几乎无法知晓,因为色情网站也没公布过。虽然如此,但我们讨论的大型色情网站会有四核服务器、千兆交换机、负载均衡器。在软件方面,大部分大型色情网站都会使用超高吞吐量的数据库(比如 Redis )来存储和提供vdieo,还有轻量级的 HTTP 服务器(比如 Nginx )。
  最后说带宽。还是以 Xvideos 为例(基于 Ad Planner 的数据估测),大型色情网站必须有足够的连通性(connectivity)来支撑每秒 50 GB(400Gbps )。这还只是平均传输速率。在高峰期间,Xvideos 或许要 1,000Gbps (1Tbps) ,或更高 。在伦敦和纽约直接的连通性也才 15Tbps。
  有很多方法来处理高流量:自己搞个数据中心,或者去大数据中心租赁几排架的服务器,或者使用诸如 Amazon AWS 和 Microsoft Azure 之类的云服务。
  真实案例
  YouPorn 是全球第二大的色情网站,足够提供研究数据。另外要说一下,DoubleClick 的 Ad Planner 中的估测数据比实际数据要低很多的。
  YouPorn 有“超过 100 TB 的干货”,每天网页浏览量超过 1 亿。总而言,这相当于每天传送 950 TB 数据(大部分都是vdieo流),每月大约传送 29 PB。Xvideos 肯定不止 28 PB 这个估测值了,它可能是每月 35 – 40 TB。


  在高峰期,YouPorn 每秒得响应 4000 个网页,相当于有每秒 100 GB 或(800 Gbps )的突发流量。这相当月每秒传送 10+ 张双层 DVD。
  在软件方面,YouPorn 的主数据库是 Redis,用 MySQL 作为管理工具,用于管理和向 Redis 簇中添加数据。后端是 Perl 和 MySQL,不过在 2011 年改成了 PHP + Redis。HTTP 服务器是 Nginx,同时用 HAProxy 和 Varnish 做负载均衡。
  Redis 服务器可以每秒处理 30 万请求,每小时记录下 8 – 15 GB数据,包括访客日志、行为数据等。据说 Redis 可以抗住 2 亿的日 PV。
  (译注:2012年2月份,YouPorn 的技术人员 Eric Pickup 在 Google 群组宣告他们网站改用 Redis DB 后。扛住了每天1亿PV浏览量,每秒30万请求,已经坚持 2 周。Eric 还将去加拿大一个技术大会分享经验。)
  令人悲伤的是,YouPorn 拒绝透露硬件设备信息。从 YouPorn 的 CDN 的 IP 地址来看,它应该没有使用云服务,应该托管在某地的大型数据中心。
  互联网每天大约处理 1/2 EB 数据,相当于每秒处理 50Tb, YouPorn 的 800Gbps 这个数字,几乎就占了互联网中每秒流量的 2%。而全球有几十个和 YouPorn 规模相当的色情网站。互联网流量中色情内容占据了 30%,这个说法也就不是不现实的哦。
  (译注:1 EB = 1024 PB = 1024 * 1024 TB = 1024 * 1024 * 1024 GB)
  The internet really is for porn.
  英文原文:extremetech ,编译:伯乐在线

阿迪王三角标从天猫撤下 “山寨”品牌频遭狙击


  阿迪王的“借势”之路似乎走到了尽头。日前有媒体报道称,阿迪达斯状告阿迪王侵权案达成和解,阿迪王将不得使用三角标和“阿迪王”字样。
  中新网5月13日电 (财经频道 黄楠)阿迪王的“借势”之路似乎走到了尽头。日前有媒体报道称,阿迪达斯状告阿迪王侵权案达成和解,阿迪王将不得使用三角标和“阿迪王”字样。与阿迪王类似的还有乔丹体育,在即将上市发行之际因侵权诉讼被迫止步。分析人士指出,靠“山寨”起家的草根品牌营销模式只能是短期行为。从长远来看,将给企业带来风险,甚至带来巨大的损失。
  阿迪王三角标从天猫撤下
  据《新京报》报道,日前有媒体报道称,阿迪达斯状告阿迪王侵权案达成和解,和解协议包括两方面,一是阿迪王不得继续在产品、包装物、宣传材料上使用含有阿迪王三角标LOGO和“阿迪王”标识的商标;二是自4月7日起,阿迪王的所有店铺不得出现三角标和“阿迪王”字样。
  虽然阿迪达斯对《新京报》等媒体表示,阿迪达斯与阿迪王相关案件仍在审理之中,协议并未最终确定。但中新网财经频道登陆天猫商城阿迪王官方旗舰店发现,宣传页面上曾经的三角标,“阿迪王”中文标识已不见踪影,取而代之的是“adivon”的英文标识。而旗舰店名称也为“adivon官方旗舰店”,只有“品牌文化”中不起眼的位置写着,“阿迪王体育用品(中国)有限公司”的字样。
  值得注意的是,旗舰店内仍在出售带有三角标的商品,但在“夏季新款”中,运动鞋上原三角标的位置已换成了“adivon”字样。新款服装上也已不见“阿迪王”中文商标和三角标LOGO,只保留了“adivon”的英文。
  “山寨”品牌频遭狙击
  据了解,早在2008年8月,阿迪达斯就以阿迪王侵犯其商标专用权及不正当竞争纠纷为由,将阿迪王诉至营口市中院。
  2009年7月,阿迪达斯又在湖北省武汉市中级人民法院再次提起诉讼。2010年4月,法院驳回阿迪达斯的全部诉讼请求。此后三年相安无事,直到2013年3月,阿迪达斯又将国家工商行政管理总局商标评审委员会诉至法院,要求撤销“阿迪王”注册。
  分析人士认为,阿迪达斯三年后旧事重提、与阿迪王谋求和解或与其销售渠道下沉至二三线城市市场有关。目前阿迪王产品和消费者达到一定规模,对阿迪达斯在中低端市场已构成竞争压力。阿迪达斯此举是一种商业性防御策略。资料显示,成立于2006年的阿迪王,目前年利润已超过亿元,在全国约有三千家门店。
  与阿迪王类似的还有乔丹体育。在乔丹体育通过证监会审核即将上市发行之际,迈克尔·乔丹突然提出姓名权诉讼,直接导致了乔丹体育的IPO上市之路被迫止步。
  考虑到迈克尔·乔丹和耐克公司存在商业代言关系,并且在迈克尔·乔丹起诉后,耐克公司随即发表声明支持其起诉,其为自身品牌“正名”的意图也较为明显。
  据《中国证券报》报道,近年来中国体育用品市场持续低迷,耐克、阿迪达斯等国际运动品牌也开始调整中国市场的经营策略,精耕二三线城市。阿迪达斯大中华区董事总经理高嘉礼曾表示,到2015年,阿迪达斯计划进入中国1400多个中小城市。此外,耐克也宣布,今年计划新开40-50家工厂店,商品价格是正品的3-4折,新店也将从一线延伸至二三线市场。国际品牌与本土品牌在中低端市场正面交锋在所难免。
  草根品牌营销模式难长久
  据《重庆晨报》报道,阿迪王一位负责人表示,公司创立之初确实被称为“山寨”品牌,但经过近年来的发展,产品在三四线城市已经很受欢迎。而这正是草根品牌的营销模式,有了知名度,自然会带来销路。
  有业内人士指出,靠“山寨”起家,实现原始积累再谋求转型,是国内中小企业惯用的手段,但并非长远发展之计。购买力较低的消费者一朝发达之后,几乎无一例外地选择抛弃原先消费已久的“山寨”品牌,加入到国际成熟品牌的消费大军中,因为他们比谁都渴望脱离原来的低端群体,脱去身上的草根气息。
  据《南方日报》报道,中国政法大学知识产权中心研究员赵占领认为,中国企业在前期打造自己品牌时,使用他人姓名或知名产品的名称来注册商标,只能是短期行为。从长远来看,没有独立的品牌,将给企业带来风险,甚至带来巨大的损失。(中新网财经频道)
  (中国新闻网)

win7 更改IP 脚本(自动获取和手动设置多个IP)



将里面内容拷贝到记事本另存为set_win7_IP.bat
@echo off
rem //设置变量  
set Nic="本地连接"
rem //可以根据你的需要更改,  
set Addr=192.168.192.133
set Mask=255.255.255.0
set Gway=192.168.192.1
set Dns1=192.168.192.1
set Dns2=192.168.192.1
rem //以上依次为IP地址、子网掩码、网关、首选DNS、备用DNS  
echo     1 设置为静态IP  
echo     2 设置为动态IP  
echo     3 退出  
echo ---请选择项目后回车  
set /p answer=  
if %answer%==1 goto 1  
if %answer%==2 goto 2  
if %answer%==3 goto 3  
:1  
echo 正在进行静态IP设置,请稍等...  
rem //可以根据你的需要更改  
echo. I P 地址 = %addr%  
echo. 子网掩码 = %Mask%  
netsh interface ipv4 set address name=%Nic% source=static addr=%addr% mask=%Mask% gateway=%Gway% gwmetric=0 >nul
echo. 首选 DNS = %Dns1%  
netsh interface ipv4 set dns name=%Nic% source=static addr=%Dns1% register=PRIMARY >nul  
echo. 备用 DNS = %Dns2%  
netsh interface ipv4 add dns name=%Nic% addr=%Dns2% index=2 >nul  
echo ----  
rem //下面是设置第二、三、四个ip  
set Addr2=192.168.128.123
set Addr3=192.168.129.123
set Addr4=192.168.2.123
set Mask2=255.255.255.0
set Mask3=255.255.255.0
set Mask4=255.255.255.0
echo. 第二个IP地址 = %Addr2%  
echo. 第三个IP地址 = %Addr3%
echo. 第四个IP地址 = %Addr4%
echo. 第二个子网掩码 = %Mask2%
echo. 第三个子网掩码 = %Mask3%  
echo. 第四个子网掩码 = %Mask4%  
netsh interface ipv4 add address %Nic% %Addr2% %Mask2%  
netsh interface ipv4 add address %Nic% %Addr3% %Mask3%
netsh interface ipv4 add address %Nic% %Addr4% %Mask4%
echo 全部设置完成!
ipconfig /all
pause  
goto end  
:2  
echo 正在进行动态IP设置,请稍等...  
echo. IP 地址正在从DHCP自动获取...  
netsh interface ip set address "本地连接" dhcp  
echo. DNS地址正在从DHCP自动获取...  
netsh interface ip set dns "本地连接" dhcp  
echo ----  
echo 全部设置完成!  
pause  
:3  
echo bye!  
goto end  
rem pause >null