2008年的这个秋天,对北京百度网讯科技有限公司(以下简称百度)来说,可谓多事之秋。
10月31日,就在秋末的最后这几天,受河北唐山人人信息服务有限公司法定代表人王冠珏的委托,北京市邦道律师事务所李长青律师,把一册厚达91页16开本的《反垄断调查申请书》,送到了国家工商总局反垄断处一位官员手中,申请对百度滥用市场支配地位的反垄断调查。据这位官员告诉他,这是反垄断法实施以来,发生在网络领域的第一例。
异常变化
2007年初,曾有10年经营药品生意的唐山人王冠珏,在工商局登记注册了唐山人人信息服务有限公司,创办了一个普及医药知识及招商的网站———全民医药网。
为了提高网站的点击率,增加客流量,全民医药网和百度河北代理商签了一个《竞价排名协议》。
参与竞价的最初几个月,是全民医药网和百度的蜜月期。全民医药网做的全国厂家招商、招会员,在百度搜索排第一名。他们网站的客流,高峰时日浏览量达8000次,每月固定客户以1000人的比例上涨。
谁知前景开始看好的时候,因为全民医药网要改版,6月至8月,全民医药网把竞价支付价格调到最低时,异常便开始出现了。
可是,让王冠珏焦虑不已的是,到了7月10日,全民医药网的日访问量骤减,从前一日的2961IP骤减为701IP。而后来以2008年7月10日为分界点的前后两个月对比,全民医药网的月访问量从前一个月的88095IP锐减至18340IP,日均访问量从2936IP锐减至611IP,会员已经在网上搜不到全民医药网,网站几乎没人来光顾了。再和百度联系,一点音信都没有。
但直到现在,他也没有等来百度的邮件或回电。
9月初,王冠珏给全民医药网换了一个域名,希望百度能够收录他们网站,但是一个月过去了,一条记录都没有。
2008年9月25日,王冠珏在查询谷歌、雅虎对全民医药网的收录情况时,结果分别显示为6690条及3000多条,而其他的包括有道、搜狗,都比百度多。
面对这种异常,王冠珏真是百思不解。经过走访大量的网站,咨询行内专家,翻阅大量资料后,发现他们也遭遇过类似的结果。
王冠珏的一位网友还告诉他,其代理的客户大部分在行业中有较强的影响,网站也都具有相当的流量。在购买百度关键词竞价之前,在百度搜索页左边的排序中,基本都能排在前几名,而在购买了百度的关键词竞价服务后,反而在首页很难找到。
百度垄断
李长青律师认为,百度的屏蔽行为对其他网站之所以构成封杀是基于其获得的市场支配地位。
正是因为百度具有了这样的市场地位,其屏蔽行为才具有了封杀其他网站的能量和效果。百度也利用此举,赢得了巨大的收益:2007年,百度年收入为17.444亿元人民币,比2006年增长108.2%。而其2008年第二季度的财报显示,收入突破一亿美元。
现在摆在他们面前的只有两条路:如果想逃避被百度封杀的厄运,要么屈服于它,参与竞价推广,任其宰割;要么向反垄断部门举报,或到法院起诉,通过打官司,寻求公正。
对王冠珏而言,摆在他面前的这两条路,没有一条坦途。
10月31日,在送往国家工商总局反垄断处的《反垄断调查申请书》中,李长青律师认为,百度对其他网站的封杀,是滥用市场支配地位的行为,造成两个严重的社会后果:其一、百度的封杀行为在实际上消灭了许多网络经济中的市场竞争主体,从根本上破坏了公平的市场竞争秩序,严重损害了社会主义市场经济的活力;其二、出于商业目的人工干预搜索结果的行为损害了社会大众的利益,不符合公众对于信息公开、客观的要求。其行为与敲诈勒索无二。这种网络霸权主义,不仅应该受到道义上的谴责,而且应该受到行政和法律的制裁。
他建议:执法机构对百度使用的搜索技术规则和搜索过程进行调查;制定搜索技术规范和搜索市场服务规范,强化对搜索引擎服务的管理;责令百度停止其滥用市场支配地位封杀其他网站的违法行为,并处以1.7444亿元人民币的罚款(《中华人民共和国反垄断法》第47条规定:经营者违反本法规定,滥用市场支配地位的,由反垄断执法机构责令停止违法行为,没收违法所得,并处上一年度销售额百分之一以上百分之十以下的罚款。2007年百度全年营业收入为17.444亿人民币,根据以上规定,可以对其处以1.7444亿元人民币的罚款)。
7,另一个更有意思的则是《城客》,简单说,城客是一个依托于blogbus平台的杂志;它其实是blogbus线上资源的一个延伸(内容低成本+现有用户群),这也是我看好它的一个因素;赶巧的是,同期还有一个纯粹靠整合网上内容的印刷杂志《博客天下》。形式相同,思路却是迥异。
9,blogbus会成为一种现象,尤其是在冬天。
这里不打算研究TreeMap的源代码了,因为完全是一个算法的实现,如果对这个算法不了解,肯定看不懂,我也有很多地方不是没有完全看明白,这里就谈谈TreeMap的使用吧.
既然TreeMap是有序的,自然要求元素是可以比较大小的,如果构造函数指定Comparator的话,就使用这个Comparator比较大小,如果没有指定Comparator的话,就使用自然排序(元素要实现Comparable接口).如果这两个都不可用,就等着出错吧.
现看一下该接口的定义:publicinterfaceComparable{publicintcompareTo(Objecto);}该接口定义类的自然顺序,实现该接口的类就可以按这种方式排序.一般要求:e1.equals((Object)e2)和e1.compareTo((Object)e2)==0具有相同的值,这样的话我们就称自然顺序就和equals一致.这个接口有什么用呢如果数据或者List中的元素实现了该接口的话,我们就可以调用Collections.sort或者Arrays方法给他们排序.
如果自然顺序和equals不一致的话,如果出现在SortedMap和Set里面,就会出现预想不到的逻辑错误,可能你调用add的时候添加不了,而集合里面确没有这个元素.具体的讨论要接口哈希表的应用.
publicinterfaceComparator{intcompare(Objecto1,Objecto2);booleanequals(Objectobj);}定义了两个方法,其实我们一般都只需要实现compare方法就行了,因为类都是默认从Object继承所以会使用Object的equals方法.Comparator一般都作为一个匿名类出现,对于没有实现Comparable的对象的集合,排序的时候需要指定一个Comparator.
这里举例说明对于实现了Comparable的类我们就用最简单的IntegerListlist=newArrayList();list.add(newInteger(3));list.add(newInteger(53));list.add(newInteger(34));Collections.sort(list);
对于没有实现Comparable的,我们就用Object,按照hashCode大小来排序.Listlist=newArrayList();list.add(newObject());list.add(newObject());list.add(newObject());Collections.sort(list,newComparator(){publicintcompare(Objecto1,Objecto2){