所有由admin发布的文章

聊城网站建设谈谈搜索引擎的工作原理

昨天的文章 全球化的误区,本地化的机会 ,评论里,有人说,搜索引擎技术似乎不需要本地化,这一看就是彻底不懂这个领域的人讲的。当然,实话说,如果有人说,google在中文本地化方面做得非常好,我是可以部分同意的,同意的比例可能会比google工程师少一些。但我相信google工程师也会告诉你,搜索引擎是需要本地化的。

 

今天写篇科普文,讲讲搜索引擎的技术机理和市场竞争的一些特点。当然,作为从事或有兴趣从事流量运营的朋友,是可以用另一个角度去理解本文。

 

搜索引擎的核心技术架构,大体包括以下三块,第一,是蜘蛛/爬虫技术;第二,是索引技术;第三是查询展现的技术; 当然,我不是搜索引擎的架构师,我只能用比较粗浅的方式来做一个结构的切分。

 

1、 蜘蛛,也叫爬虫,是将互联网的信息,抓取并存储的一种技术实现。

搜索引擎的信息收录,很多不明所以的人会有很多误解,以为是付费收录,或者有什么其他特殊的提交技巧,其实并不是,搜索引擎通过互联网一些公开知名的网站,抓取内容,并分析其中的链接,然后有选择的抓取链接里的内容,然后再分析其中的链接,以此类推,通过有限的入口,基于彼此链接,形成强大的信息抓取能力。

 

有些搜索引擎本身也有链接提交入口,但基本上,不是主要的收录入口,不过作为创业者,建议了解一下相关信息,百度,google都有站长平台和管理后台,这里很多内容是需要非常非常认真的对待的。

 

反过来说,在这样的原理下,一个网站,只有被其他网站所链接,才有机会被搜索引擎抓取。如果这个网站没有外部链接,或者外部链接在搜索引擎中被认为是垃圾或无效链接,那么搜索引擎可能就不抓取他的页面。

 

分析和判断搜索引擎是否抓取了你的页面,或者什么时候抓取你的页面,只能通过服务器上的访问日志来查询,如果是cdn就比较麻烦。 而基于网站嵌入代码的方式,不论是cnzz,百度统计,还是google analytics,都无法获得蜘蛛抓取的信息,因为这些信息不会触发这些代码的执行。

 

一个比较推荐的日志分析软件是awstats。

在十多年前,分析百度蜘蛛抓取轨迹和更新策略,是很多草根站长每日必做的功课,比如现在身价几十亿的知名80后上市公司董事长,当年在某站长论坛就是以此准确的分析判断而封神,很年轻的时候就已经是站长圈的一代偶像。

 

但关于蜘蛛的话题,并不只基于链接抓取这么简单,延伸来说

 

第一,网站拥有者可以选择是否允许蜘蛛抓取,有一个robots.txt的文件是来控制这个的。

 

一个经典案例是 https://www.taobao.com/robots.txt

你会看到,淘宝至今仍有关键目录不对百度蜘蛛开放,但对google开放。

 

另一个经典案例是 http://www.baidu.com/robots.txt

你看出什么了?你可能什么都没看出来,我提醒一句,百度实质上全面禁止了360的蜘蛛抓取。

 

但这个协议只是约定俗成,实际上并没有强制约束力,所以,你们猜猜,360遵守了百度的蜘蛛抓取禁止么?

 

第二,最早抓取是基于网站彼此的链接为入口,但实际上,并不能肯定的说,有可能存在其他抓取入口,比如说,

客户端插件或浏览器, 免费网站统计系统的嵌入式代码。

会不会成为蜘蛛抓取的入口,我只能说,有这个可能。

 

所以我跟很多创业者说,中国做网站,放百度统计,海外做网站,放google analytics,是否会增加搜索引擎对你网站的收录?我只能说猜测,有这个可能。

 

第三,无法被抓取的信息

 

有些网站的内容链接,用一些javascript特殊效果完成,比如浮动的菜单等等,这种连接,有可能搜索引擎的蜘蛛程序不识别,当然,我只是说有可能,现在搜索引擎比以前聪明,十多年前很多特效链接是不识别的,现在会好一些。

 

需要登录,需要注册才能访问的页面,蜘蛛是无法进入的,也就是无法收录。

 

有些网站会给搜索特殊页面,就是蜘蛛来能看到内容(蜘蛛访问会有特殊的客户端标记,服务端识别和处理并不复杂),人来了要登录才能看,但这样做其实是违反了收录协议(需要人和蜘蛛看到的同样的内容,这是绝大部分搜索引擎的收录协议),有可能遭到搜索引擎处罚。

 

所以一个社区要想通过搜索引擎带来免费用户,必须让访客能看到内容,哪怕是部分内容。

 

带很多复杂参数的内容链接url,有可能被蜘蛛当作重复页面,拒绝收录。

很多动态页面是一个脚本程序带参数体现的,但蜘蛛发现同一个脚本有大量参数的网页,有时候会给该网页的价值评估带来困扰,蜘蛛可能会认为这个网页是重复页面,而拒绝收录。还是那句话,随着技术的发展,蜘蛛对动态脚本的参数识别度有了很大进步,现在基本上可以不用考虑这个问题。

 

但这个催生了一个技术,叫做伪静态化,通过对web服务端做配置,让用户访问的页面,url格式看上去是一个静态页,其实后面是一个正则匹配,实际执行的是一个动态脚本。

 

很多社区论坛为了追求免费搜索来路,做了伪静态化处理,在十多年前,几乎是草根站长必备技能之一。

 

爬虫技术暂时说到这里,但是这里强调一下,有外链,不代表搜索蜘蛛会来爬取,搜索蜘蛛爬取了,不代表搜索引擎会收录;搜索引擎收录了,不代表用户可以搜索的到;

 

site语法是检查一个网站收录数的最基本搜索语法,我开始以为是abc的常识,直到在新加坡做一些创业培训后交流才发现,大部分刚进入这个行业的人,或者有兴趣进入这个行业的人,对此并不了解。

 

一个范例,百度搜索一下 site:4399.com

 

2、索引系统

 

蜘蛛抓取的是网页的内容,那么要想让用户快速的通过关键词搜索到这个网页,就必须对网页做关键词的索引,从而提升查询效率,简单说就是,把网页的每个关键词提取出来,并针对这些关键词在网页中的出现频率,位置,特殊标记等诸多因素,给予不同的权值标定,然后,存储到索引库中。

 

那么问题来了,什么是关键词。

英文来说,比如 this is a book,中文,这是一本书。

英文很自然是四个单词,空格是天然的分词符,中文呢?你不能把一句话当作关键词吧(如果把一句话当作关键词,那么你搜索其中部分信息的时候,是无法索引命中的,比如搜索一本书,就搜索不出来了,而这显然是不符合搜索引擎诉求的)。所以要分词。

 

最开始,最简单的思路是,每个字都切开,这个以前叫字索引,每个字建立索引,并标注位置,如果用户搜索一个关键词,也是把关键词拆成字来搜索再组合结果,但这样问题就来了。

 

比如搜索关键词 “海鲜”的时候,会出现结果,上海鲜花,这显然不是应该的搜索结果。

比如搜索关键词 “和服”的时候,会出现结果,交换机和服务器。

 

这些都是蛮荒期的google也不能幸免的问题。

 

到后来有个梗,别笑,这些都是血泪梗,半夜电话过来,说网监通过搜索发现你社区有淫秽内容要求必须删除,否则就关闭你的网站,夜半惊醒认真排查,百思不得其解,苦苦哀求提供信息线索,最后发现,有人发了一条小广告,“求购二十四口交换机” 。 还有,涉嫌政治敏感,查到最后 “提供三台独立服务器”, 看出其中敏感词了没?你说冤不冤。 这两个故事可能并不是真的,因为都是网上看到的,但是我想说,类似这样的事情真的有,并非都是空穴来风。

 

所以,分词,是亚洲很多语言需要额外处理的事情,而西方语言不存在的问题。

 

但分词不是说说那么简单,比如几点,1:如何识别人名?2、互联网新词如何识别?比如 “不明觉厉”。3、中英混排的坑,比如QQ表情。

 

做一个分词系统,说到底也不难,但是要做一个自动学习,与时俱进,又能高效率灵活的分词引擎,还是很有技术难度的。 当然,这方面我不是专家,不敢妄言了。

 

现在机器学习技术发达了,特别是google在深度学习领域拥有领先优势,以前很多通过人工做标定,做分类的工作可以交给算法完成,从某种意义来说,本地化的工作可以让机器学习去完成;未来,也许深度学习技术可以自己学习掌握本地化的技巧。 但我想说两点,第一,从搜索引擎发展历史看,在深度学习技术还没成熟的情况下,本地化的工作是非常重要的,也是很重要的决定竞争成败的要素;第二,即便现在深度学习已经很强大,基于当地语言的人工参与,标定,测试,反馈,一些本地化的工作依然对深度学习的效率和效果拥有不可替代的作用。

 

索引系统除了分词之外,还有一些要点,比如实时索引,因为一次索引库的更新是个大动静,一般网站运营者知道,自己网站内容更新后,需要等索引库下一次更新才能看到效果,而且索引库针对不同权重的网站内容,更新的频次也不太一样。 但诸如一些高优先的资讯网站,以及新闻搜索,索引库是可以做到近似实时索引的,所以我们在新闻搜索里,几分钟前的信息就已经可以搜索到了。

 

我以前经常吐槽一个事情,我在百度空间发表的文章,每次都是google率先索引收录,当时他们的解释是,猜测是因为很多人通过google阅读器订阅我的博客,而google阅读器很可能是google快速索引的入口。(然并卵,百度空间已经没有了,google阅读器也没有了。)

 

索引系统的权值体系,是所有SEOER们最关心的问题,他们经常通过不同方式组合策略,观察搜索引擎的收录,排名,来路情况,然后通过对比分析整理出相关的策略,这玩意说出来可以开很长一篇了,但今天就不提了。

 

但我说一个事实,很多外面的公司,做SEO的,会误认为百度里面的人熟悉这里的门道和规律,很多人高价去挖百度的搜索产品经理和技术工程师去做SEO,结果,呵呵,呵呵。 而外面那些草根创业者,有些善于此道的,真的比百度的人还清楚,搜索权值的影响关系,和更新频次等等,比如前面说到的,身价几十亿的那个80后创业者。

 

基于结果反推策略,比身在其中却不识全局的参与者,更能找到系统的关键点,有意思不。

 

3、查询展现

 

用户在浏览器或者在手机客户端输入一个关键词,或者几个关键词,甚至一句话,这个在服务端,应答程序获取后处理步骤如下

 

第一步,会检查最近时间有没有人搜索过同样的关键词,如果存在这样的缓存,最快的处理是将这块缓存提供给你,这样查询效率最高,对后端负载压力最低。

 

第二步,发现这个输入查询最近没有搜索,或者有其他条件的原因必须更新结果,那么会将这个用户输入的词,进行分词,没错,如果不止一个关键词,或者是一句话的情况下,应答程序会又一次分词,将搜索的查询拆成几个不同的关键词。

 

第三步,将切分后的关键词分发到查询系统中,查询系统会去索引库查询,索引库是个庞大的分布式系统,先分析这个关键词属于哪一块哪一台服务器,索引是一种有序的数据组合,我们用可以用近似二分法的方式思考,不管数据规模多大,你用二分法去查找一个结果,查询频次是log2(N),这个就保证了海量数据下,查询一个关键词是非常快非常快的。 当然,实际情况会比二分法复杂很多,这样说比较容易理解而已,再复杂些不是我不告诉大家,是我自己都不是很清楚呢。

 

第四步,不同关键词的查询结果(只是按权值排序的部分顶部结果,绝对不是全部结果),基于权值倒序,会再汇总在一起,然后把共同命中的部分反馈回来,并做最后的权值排序。

 

记住,搜索引擎绝对不会返回所有结果,这个开销谁都受不了,百度也不行,google也不行,翻页都是有限制的。

 

再记住,如果你多个关键词里有多个不同品类冷门词,搜索引擎有可能会舍弃其中一个冷门词,因为汇总数据很可能不包含共同结果。搜索技术不要神话,这样的范例偶尔会出现。

 

这是三大部分,多说一点,其实还有第四部分。

 

用户点击行为采集和反馈部分

 

基于用户的翻页,点击分布,对搜索结果的优劣做判定,并对权值做调整,但这个早期搜索引擎是没有的,后面才有,所以暂时不列为必备的三大块。

 

此外,一些对搜索优化的机器学习策略,对易混词识别,同音词识别等等,相当部分也都基于用户行为反馈进行,这是后话,这里不展开。

 

关于第四部分,我以前说过一个词,点击提权,我说这个词价值千金,我猜很多人并没理解。没理解就好,要不我要被一些同行骂死了。

 

以上是单指搜索引擎的工作原理,和一些技术逻辑,当然,只是入门级的解读,毕竟再深入就不是我能讲解的了。

 

但搜索引擎的本地化,并不局限于搜索技术的本地化。

 

百度的强大,不只是搜索技术,当然有些人会说百度没有搜索技术,这种言论我就不争论了,我不试图改变任何人的观点,我只列一些事实而已。

 

百度的强大还来自于两大块,第一是内容护城河,第二是入口把控。

 

前者是百度贴吧,百度mp3,百度知道,百度百科,百度文库

后者是hao123和百度联盟。

 

这两块都是本地化,google进中国的时候,在这两块都有动作

投资天涯,收购265,以及大力发展google联盟,这些都是本地化。

 

此外,重申一下,百度全家桶的出现以及,百度全家桶和hao123的捆绑,是360崛起之后的事情,hao123从百度收购到360崛起之前,一直风平浪静的没做任何推广和捆绑,从历史事实而言,请勿将本地化等同于流氓化。

聊城网站建设谈谈微信小程序的盛宴

第一次认真的把微信小程序的平台文档和测试范例看了一下。

 

别往下看,猜猜我最关心的是看哪部分?

 

是信息模板发送的条款。

 

好吧,从头说起,微信小程序内测的消息一出来,业内就轰动了,请恕我先吐个槽,我觉得微信内测找的那些合作方不太对,按照业务规模排序的一些巨头,当然他们业务量大,应该有优先权,但是他们动作迟缓,公司决策缓慢,你给他们接口,两个月可能都得不到真正有效的反馈,还不如给一些有活力的创业公司,保证俩礼拜啥都鼓捣出来了。

 

对于大部分从业者,都认为微信小程序会成为一个新的分发市场,微信将成为与安卓,谷歌平行的操作系统;当然,也有少部分人不以为然,比如说,他们认为,当年最早做开放接口,试图打造操作系统的社交网络Facebook,如今平台何在?

 

这个扒扒历史,Facebook是最早把开放接口平台做完善的社交网络,也是最早以好友时间线为核心的社交网络平台,而且在当时也是形成了一股极为重要的风气,社交游戏成为一种流行,国内跟风的也很多,Zynga上市更是其中的高潮,但后来问题来了,社交游戏,对原本熟人社交的伤害极大,为了游戏获利的好友关系已经丧失了原来的意义;而时间线也被各种社交游戏的分享所污染。之后Facebook 也开始逐渐着力整顿这一块,而社交游戏的热潮也快速退却,直到现在,近乎销声匿迹。

 

我们说,微信不是很多游戏也有社交功能么?和当年Facebook开放的社交接口相比,其实早就不可同日而语。 存在社交功能的游戏,和以社交为核心的游戏,还是很大不同的。(顺便偷偷说一句,中国互联网社交游戏当年风靡的核心诉求是什么,知道么?是暧昧。嗯,这就不展开了。Facebook最初得以快速发展的核心用户诉求,其实也是暧昧,你信不信。)

 

以前我记得有篇文章提到过,我找不到是哪一篇了,和巨头,大平台合作,要能站在对方角度思考,并理解他们的诉求和目标,理解他们的担心和忧虑,这样你才能找准自己的定位,以及正确的合作姿势。

 

和微信合作也是如此,今年的实际内容其实很简单,罗嗦这些,是希望读者,从历史来体会和思考,微信平台的担忧是什么,我告诉你们,是朋友圈时间线的污染。

 

前几天,我去当面请教俞军,俞军说了一句很经典的点评,微信的成就,来自于控制。那么我的理解,朋友圈,时间线的控制,是这里特别重要的一块,当然还有消息发送的控制。 一旦失去控制,平台就会失去一切。这绝对是张小龙的噩梦。

 

所以,任何,将核心模式和用户获取能力,完全建立在信息分享上的应用,对不起,我肯定的告诉你,没有可能获得微信的平台支持,就算短期你可以绕过审核上线,一旦做大必然被关停。不论是公众号,服务号,还是小程序。这一点,所有在微信平台的开发者,务必要牢记。

 

当然,不是说不可以做分享,但分享必须基于用户主动,自发,无激励,无诱导,无暗示,无混淆的方式。除了分享,消息发送也是如此,用户必须明确自己的行为,会收到什么消息,必须明确,这个消息是自己行为的反馈,(比如付款确认消息,订单完成消息等)。凡是脱离这一基础的,即便侥幸你能绕过审核,一旦做大,未来也会被微信干掉。

 

所以,几点结论

 

第一,不要过度指望流量红利,第一批上线的应用会有流量红利,但不会很多,微信也不会允许你滥用平台流量资源。

 

第二,不要试图做病毒式营销,即便你的玩法很受用户喜欢,一旦被朋友圈刷屏,杀无赦。这样的例子我不用讲,太多太多。

 

第三,理解微信平台的运营思路,比纯粹通过字面理解条款重要,条款是随时可以变更的,而且解释权在微信。

 

第四,市场空间还是有的,但跟APP市场还是会有一些区别。不要顾此失彼。

 

第五,是否有新的市场机会,需要一点想象力。

有想法要开脑洞的,欢迎留言或发信。

 

第六,不论你做什么业务,记住,学会控制是非常重要的一种能力,所谓控制,就是不要为利益,欲望所驱使,失去对真正价值的尊重。

聊城网站建设分享MYSQL系统分析实战

上班了上班了,干活了干活了。

 

那个,其实,我很多年没碰过技术了,但还是觉得有必要把之前一些处理过的技术问题拿出来,其实每个问题,都是很小的问题,如果单独说原因和答案都非常简单,但关键是,遇到问题的思考方式和分析方法。

 

依然是,高手请无视,针对一些初入技术职场的童鞋,希望能对各位遇到问题时候的思考方式有所帮助。

 

案例1:诡异的链接过多

 

当时情况是这样,突然有一天,数据库出现链接过多错误,导致网站报错。 熟悉mysql并操作过高并发系统的朋友知道,数据连接过多属于很常见的问题。但当时的情况是,访问量并不在高峰,按理说不应该有这样的问题。

 

看了一下数据库服务器的负载,很低,并不存在cpu或内存跑满的问题。

慢查询日志没有异常的SQL,更没有锁表。

 

于是就进入数据库做一下 show processlist的查询。

有些朋友可能会问,链接过多你还能看show processlist么,那个,mysql里root比普通用户多一个链接许可,所以,记得程序切忌用root链接,保留一个给系统分析师用。

 

意外发现,几乎所有的SQL停留在sleep状态,而且很多链接都持续了好几秒,甚至十几秒。

 

这里说明一下,如果是用数据中间件链接池来操作,从中间件到数据库存在固定数字的sleep链接是正常的,但从程序端到中间件,除非你是长连接,并且需要保持数据库频繁操作的应用,否则,通常不建议数据库保持连接,也就是不应该出现太多sleep操作。

 

我们的场景就是普通的web应用,php程序而已,都是短链接,按理说,程序执行完就应该释放的,所以这个问题就有点意外。

 

当然,这个和代码的设计也有关系,因为系统用的开源软件改写的,涉及数据库操作还是蛮多的,一般情况下,数据库操作完应该及时关闭,但由于一般认为php代码执行时间很短,所以在代码架构有点复杂的情况下,很多都是默认整个程序执行完再关闭。那么现在问题来了,到底php发生了什么问题。

 

我们去web服务器,看日志,发现访问量并没有异常,也没有针对我们的攻击行为,但确实很多php程序执行时间较长,web连接数也明显多于异常,即便是数据库重启,问题依然会重现,那么这时候,我们工程师就在最常用的php代码里设置断点,去看代码到底卡在哪个环节上执行时间很长,结果,发现是我们的一个非常重要的常识盲点。原来执行时间最长的,是在最后代码数据都执行完,输出执行 echo 的环节。

 

在本地做性能测试,压力测试的时候,我们知道echo 这种语句是基本没有开销的,也不太可能成为一种负载的来源,但这下我们明白了,echo原来不仅仅是php执行输出,也包含了网络传输的时间开销。只有客户端接收到传输内容后,echo执行才结束。

 

而那天的问题,其实是因为同机房有其他公司服务器被Ddos,导致机房出口拥堵,按理说这只是websever的问题,但因为webserver本身有轮询机制,而且设置的连接数较大,虽然访问较慢,但没有崩溃,而因为php代码里mysql链接没有及时释放,在php执行echo的时间等待较长,导致mysql链接过多崩溃。

 

知道这个问题,解决就简单了,因为开源系统封装了输出template的对象,我们就在这个对象执行的时候,先执行mysql_close(); 这样只改了一行代码,问题就解决了。

 

但后来发现出了bug,bug的理由很无厘头,居然部分template 的伪码里有数据库操作,但这个问题解决也简单,因为毕竟这样的场景很少, 而且mysql对象也被封装了,我们就在query方法里加了一行代码,如果没有数据库连接,就重建一个。 这样,这个重建过程只出现在极少数template里有mysql操作的场景,对整体系统基本没有性能干扰。

 

这个案例说来挺简单,就是数据库连接没有及时释放造成的,但因为触动了一个思维盲区,所以印象深刻。

 

线上的程序做断点日志分析是最常用的分析诡异问题的方法。基于断点日志分析,我们可以通过类似二分法,逐步递进直到精确定位具体到每一行代码的执行时间开销。

 

这里还要提醒一个常见问题,线上环境很多问题是在测试环境里很难重现的,所以遇到诡异问题,应该可以在线上做一些日志分析和代码的调试,当然这样可能会有一定的风险,但很多公司的流程和规范,开发工程师只能在线下测试性能和压力承受能力,针对线上很多现实的问题没有办法完整实测。

 

大公司可能会把测试环境做的更好更规范,以及有更有经验的工程师和分析师来解决问题,但创业公司,我建议要给程序员和分析人员一些线上应急处理的权限,否则真的会束手无策,经验值都是靠犯错和解决问题来积累的。

 

案例2:看似正常的负载过高

 

当时有个新业务数据增长很快,该业务的数据库服务器每天处理数百万次数据查询请求,uptime比较高,经常在5-6的样子,cpu负荷较重,运维负责人就发邮件,申请更换更好的服务器,增加资源。

 

按理说,这是个合理请求,负载也确实很高,业务也确实增长,但我这个人天性财迷抠门,总觉得这个数字不应该是极限,就登录到数据库服务器看了一下,很简单,我的方法就是先刷show processlist,连续刷几遍,看数据库都在执行啥,开销都集中在什么状态,这一看还真就发现问题了,居然经常看到有些mysql进程停留在 storing result to query cache 上。

 

这事我就纳闷了,因为按常规,这个状态应该是基本没有时间开销的,也就是show processlist看到是小概率事件的。

 

所以就要验证一下,执行 set profiling=1,然后从show processlist复制一条执行一次,然后执行 show profiles for query 1; 结果意外发现,常规来说执行开销最大的sending data (这个开销可不是输出数据哦,其实是io寻址)只有0.002秒,而 storing result to query cache 却执行了 0.005秒的样子,千分之五秒,一般人可能就无视了吧,但整个SQL执行不到0.01秒,这个开销比例蛮大的了。

 

那个,其实这个问题的责任者呢,是我自己,我觉得query cache是个好东西啊,所以开始配置服务器的时候,还是我自己做的配置,因为服务器内存够大,我就把query cache设置的比较大,结果SQL的反馈结果内容较多的情况下,就出现了query cache的碎片化比较严重,反而导致了query cache存储额外的开销,我在数据库里直接操作将query cache内容重置的命令,再执行这个SQL,用profiling去分析,发现这个开销就没有了,负载瞬间显著下降了60%左右。

 

然后我跟运维负责人说,半夜没人的时候把数据库的启动参数,query cache那块设置回默认值,重启一下数据库,于是就没再追加预算和服务器投入。

 

这个案例本身是我自己的乌龙,因为没有明确理解query cache的读取和存储逻辑,自以为是的调高了参数,在SQL返回值较大的情况下,导致了严重碎片化,带来了额外的开销,虽然每次开销都极其微小,但由于系统的请求频次非常高,所以系统不必要的负载就比较大。

 

那么这个案例里,需要分享的方法是,showprocesslist+一定的敏感度,再配合用set profiling去分析具体的开销,是非常重要的一种分析查询性能的方法。

 

案例3:io性能的优化案例

 

这个案例又是我的错,唉,我发现我犯的错误还是蛮多的,不过我们工程师解决方案非常经典,所以也列在这里以供参考。

 

还是一个非常高并发的业务场景,最开始呢,为了达到查询的最优化,数据结构还是我设计的,使用了复合索引,确保每次查询的索引命中率极高,但这个业务场景有一个问题,就是除了查询请求很高之外,数据的插入请求基本上是同频次的。(大部分场景都是数据插入后随之查询,个别会有单独查询场景),所以插入请求巨大,数据库的io压力特别大。

 

结果我们工程师也是受到我的影响吧,抠门的很,也是尽可能在有限资源下挖潜。结果怎么做的呢? 说来简单,索引降级,把两个字段的复合索引降到单键索引了。

 

单纯从查询而言,这一降级其实是牺牲了效率,但是牺牲的并不大,但从更新而言,从复合索引降级到单键索引,索引更新的io负载就有了明显的降低,由于查询的负载开销远低于更新的负载开销,所以这一降级,在查询与更新同频的场景下,就变得效果特别好。

 

这个案例需要分享的经验是,索引的建立,不但要考虑查询的语句,更新的语句,也要考虑业务场景中相关的频次,在更新频次远低于查询频次时,和更新频次与查询频次相当时,同样的数据结构,同样的SQL语句,可能索引的设计方案会有重大的调整和改变。

 

 

 

 

Mysql也有了很多的版本迭代,很多之前遇到的问题和瓶颈也许现在已经在系统中顺畅解决,但我觉得,一些思路和方法依然值得分享。

 

当然,这些都不是什么高大上的技术和解决方案,都是实战中,屌丝创业团队面临一些实际问题的响应和处理能力。很多草根创业团队,其实都是栽倒类似这样的问题上的。

聊城网络公司谈商业价值的逻辑

科学和商业,存在价值观的差异

 

在科学的视角里,对的就是对的,错的就是错的,一个理论,存在一个坏案例无法满足,就可以证明是错的。

 

在商业的视角里,一个商品,相信其价值的人够多,就是对的,就算很多人不信,不同意,甚至根本就不符合其宣传的特征,但是只要相信的人够多,这个东西就是对的。

 

这就是所谓商业包装,市场营销的本质,你要让足够的目标群体(能覆盖你的供应规模)相信你,甚至不需要一个严谨的逻辑和一个有科学性的描述,而是精通于某种情感的表达或者暗示。

 

在对商业行为的点评和判断中,技术人员,或者说逻辑严谨的童鞋经常会犯一些自以为是的错误,好比说,我们说,这个东西其实不值这些钱,或者说,所谓忽悠,这个商品采用了根本不符合其本质的宣传特征。但实际上,只要信的人多,其商业行为就是合理的。

 

本文不是吐槽或者抨击,而是一个切实的反思,很多人对商业营销的判断误区,往往来自于此。

 

当然,我不是鼓励欺诈,以及夸大其词和误导用户的行为,但是我要说,在不丧失道德底线的情况下,我们要理解商业行为中产品产生溢价的机理和逻辑。

 

典型范例,一个名牌的皮包,其价值并不能用功能性,成本和制造工艺来衡量,而是其所涵盖的情感诉求,那么这个情感诉求是不是值钱,要看有多少人认可和支持这个价值,这些人的购买力是否可以覆盖这个产品的供应规模;一颗钻石,理工男说这玩意就是碳啊,现在都能人工合成了,根本不值辣么多钱了啦,注孤生的节奏有没有。

 

艺术品更是这样,稀缺,具有不可替代性的产品,其价格取决于最高出价者,而非平均出价者,认识这一点,很多产品营销思路就会豁然开朗。

 

还记得冯小刚导演的广告么,大家说好,就是值。 这就是商业价值逻辑的本质。

 

再次提醒,营销可以玩虚的,但请把持底线。

 

二维码那个项目,补充说明一下

从值乎谈执行力

 

有很多封邮件,有很多人做了demo给我。

 

第一,微信公众号关注这个问题,目前无法通过第三方链接跳转,暂时这个无解。有些人采用了二次二维码的方式,但毕竟这样用户体验不好,所以目前,我也不知道如何跨过这个障碍。我让我的员工测试了几种方法,都没有效果。

 

鉴于此,这个能完全满足我需求的产品,目前技术背景不存在,并非开发者的问题,除非微信开白名单。

 

第二,如果不考虑微信公众号关注的问题,目前有些产品已经做得相当不错,如果开发者有兴趣,可以自行发展成为公开服务,目前我看到也有不少人告诉我有类似这样的服务,而且也有一定用户规模。

 

第三,我之前说过希望选择一些开发者进行后续深度合作,但目前主要问题还在我身上,我还是懒癌发作,没有去全力跟进这些优秀的开发者,这一点也对各位积极参与的童鞋表示道歉。

 

其实我非常惊讶于订阅者中有如此多的行动力超强的开发者,远远超出预期,所以一下子我不知道该咋办了。

 

再罗嗦一下,我欢迎投稿和爆料,如果您的投稿藏了私货,有广告,只要内容写的够好,有意义,有价值,也不是不可以,但纯广告软文扔过来做为投稿,这是不是有点过分了。

 

最后,VR是真火还是泡沫,这个问题也有很多人问我,我只说一句,VR的色情视频,确实是真火起来了。

聊城网站建设谈谈域名这点事

先说点题外话,最近这几天看到方兴东博士又写了一篇靠臆断的奇,说苹果和美国政府演了一场双簧。本来想写一篇抨击的,结果发现该讲的以前都讲了。

 

几篇旧文

1、从一则预测谈起 – 别用臆断代替求证

2、关于判断力 – 正视事实是基础

3、关于判断力-兼谈IT评论界冥顽不化的愚蠢

4、摆事实,讲歪理

 

简单一句就是,如果你网上看到足够多的报道和技术分析文章,你就知道人家以色列公司和另一个数据恢复公司,从技术原理上是完全可以破解这个进入系统的,(当然有一定成本),了解这些你就不会妄下臆断。方博士从十五年前看alexa排名看不懂就臆断hao123排名作弊,到现在,一点出息都没涨。值得每个人引以为戒。

 

回到主题,很多人都知道域名蛮重要的,我以前文章也提到过,比如说对中国人而言,数字域名的输入成本最低,拼音域名其次,英文域名就稍差。很多巨头都会斥巨资购买域名,这些新闻也屡见不鲜,但我发现很多创业者,并不是真的知道,域名这事操作起来的基本逻辑。

 

很多创业者都说我先想个名字,再去看有没有域名,这哪有那么容易,而且现在域名市场的价格可能会远远超过一些创业者的心理价位;又遇到一些学生社团,或其他刚开始做网站的人,觉得还没准备好内容和素材,注册域名不着急吧,可等你想好了,你以为你中意的域名还在等你么?还有一种人,心水某个域名,看看注册时间,好像快过期了,觉得对方也没做站,等过期了自己去注册一下就好了,想得好天真啊,稍好一点的,哪有可能被你抢到。

 

1、域名是什么

这个问题大部分人都知道,最开始ip协议出来了,每个上网的设备,服务端和终端,都有一个ip地址,但是如果你说你做了一个东西给别人分享,让别人记住一个ip地址,好复杂的有没有,记不住有没有,为了简化这个记忆,就出现了域名系统。

 

域名系统又包括很多后缀,常用的包括.com 商业网站 .net 网络服务,.gov 政府机构,.edu教育机构,等等,后来又扩展了各个国家的后缀,最近又多了很多专属后缀,对了,如果你要是钱够多,想法够多,还可以去申请一个专属后缀提供开放注册(不知道现在还开放不开放申请,也需要审核),这是一个高级玩法了,今天不讲这个。

 

2、域名的价值

域名价值来自于几部分

 

易记性,辨识度高,容易记忆,这种肯定有优势。

 

输入成本,上面提到过了。举个例子,比如asdfg.com 你肯定觉得这域名毫无意义对不对,但价格也不会低,因为这个域名的输入成本低啊。

 

历史和搜索友好度,这两点相辅相成,如果这个域名有一定时间的注册历史,并且被搜索引擎有较多的收录,以及有一定的外部链接,都被认为是域名的价值体现。有些非常无意义的域名,因为存在较多的搜索收录和外部链接,也是很有价值的。

那么,在国内也存在一个反向指标,如果这个域名是被百度处罚过的,其转让价值就会大打折扣。

 

易混性,这也是域名的价值之一,这个域名如果跟某个著名网站的域名非常接近,那么每天都会有一些输入错的用户进来,如果你正确引流,欺诈类型的咱不要碰,就正确的做一下引流都可能分到不菲的佣金,比如类似taobo.com这样的域名。 所以实际上很多著名公司都是一上来把所有易混域名全都注册下来,省得以后被人拿去山寨或者导流。

 

3、域名的商业玩法

 

域名注册

 

最常见的就是注册商,但实话说仅凭域名注册,续费,大家拼价格战,利润极低,如果只是纯注册商,这个商业天花板太低了。

 

实际上,很多以前的域名投资者,抢域名的时候,都是用批量扫荡的方式,比如说,四位数字域名,甚至现在五位数字域名,都可以写个程序直接扫一遍,看有没有还没被注册的,马上就批量注册了。

 

这种程序每天都会有不同的人在跑,所以,基本上这样的规则,都被扫光了。

 

再比如,双拼中文,你把常见汉字拼音整理一下有多少个,我搜了一下带声调有3500个,不考虑声调那么就是不到1000个,好,这样汉字拼音两两组合,最多的可能不超过100万个,大约70多万,扫一遍,这个需要点时间,但我估计也差不多被扫光了。

 

域名投资者,大玩家的玩法,都是按照某个规则,扫荡性的注册,所以,不要有捡漏的想法,基本不可能给你漏。

 

现在我可以很肯定的说,.com后缀的域名里,四位数字,五位数字100%被扫荡完了,双拼和四位字母,六位数字,我估计被扫光的可能性也很大。

 

想想自己97年就给域名注册商打工,当时三位数字的域名还有很多空的,都没这个意识,真是蠢的不可救药。

 

域名抢注

 

那么,好域名被注册光了,是不是就没机会抢到了,其实还是有的。

因为,域名是会过期的,而且可能注册人疏忽,或者注册人自己出现了问题,导致域名过期,是可以重新注册的。所以这里催生了抢注的领域。

 

以前我遇到过这样的事情,我说有个域名快过期了,有个朋友正需要,我说你去注册商开个账户我转给你,他说不着急,等过期了他再注册好了,我说你怎么可能注册的到,这种带自然量的短域名一旦过期分分钟就被人抢注的。很多人都不知道抢注的生意有多疯狂。

 

抢注都是程序化的,首先,快过期的域名都是可以搜的到的,所有注册商都看得到,然后,基于如上的域名价值条件,有自然量的,短的,有含义的,容易记的,都是优先被标出来的,到过期时间那一刻,每个注册商都把抢注请求发过去,看谁速度快,命好,当然还有一点策略在里面。

 

关于策略,多说一点,比如你看到今天10000个域名到期,你知道有很多注册商在抢,这10000个域名里有500个是有价值的,那么排好序,如果你按照最有价值的顺序去抢,可能你的程序不够快或带宽不够快,一个都抢不到,但是如果你的顺序是先抢中间或后面的,可能别人都在抢最值钱的域名时,你就成功抢到了一些有价值的域名。当很多注册商都玩这种策略的时候,也许可以考虑,深度学习算法。

 

抢注最早是拼程序,拼带宽,拼到什么程度呢,抢注者在美国挑机房,挑服务器托管,要找和全球域名注册中心路由间隔最少的,最好就在同一个IDC里,路由延迟最低。 但因为抢注者太多,抢注程序太狠,导致甚至拖垮注册中心的系统(利益太大,抢注者群起,简直就是ddos了。)后来注册中心就出了一招,每个注册商根据业绩和规模指定通道,这样一限制,很多中国的抢注者就玩不下去了,因为通道少,抢不过godaddy这样的平台。

 

抢注是门好生意,抢到就是钱,最早用程序跑抢注的都发大财了,不过现在这个时机已经基本过去了,当然,如果你有哪怕只有一个通道,如果你能用一个好的策略来抢,其实还是有机会的。

 

好的域名都是注册商在抢注,个人说我看上了,你没机会抢到,你看上了可以跟注册商预订,但是如果注册商手里有多份同一个预订,对不起,就要竞价。你说我不预订,这个域名没人预订,只要他有价值,注册商就会抢下来。只要是有价值的,人工抢注的几率,是0。

 

域名停放

 

注册商抢了一堆有价值的域名,但是当前没人买,怎么办,这就是另一门生意,域名停放,包括注册商自己,包括一些域名投资者,把自己当前卖不掉的域名,放到域名停放平台,第一,有用户搜索过来,或者找过来,可以联系出售;第二,可以放一点广告还能赚钱。

 

全球最大的域名停放平台是sedo.com,这是个神奇的网站,其年收入高的惊人,除了域名交易的中介费,以前从google分成的广告费也是个天文数字,现在是不是有自己的广告平台了,我不是很清楚。

 

以前sedo就吃这个生意,把有自然量的域名低价抢过来放停放,就算这个域名没人买,靠自然量的广告费都是一笔不错的收入。但现在搜索引擎如果更新索引比较快的话,这个生意就不好做了,靠搜索自然量可能要依赖于搜索引擎的索引更新周期;另外就是易混域名的自然量,这个到现在还是有的做的。

 

但是在中国域名停放并不特别流行,主要原因是百度不是很认可和支持这个模式(从平台的逻辑考虑,停放对搜索体验没有任何帮助,有搜索流量的域名过期后加入停放,被认为是对搜索体验有一定伤害的),很多域名投资者担心加入停放会导致被百度列入黑名单,所以宁可空置也不敢对接停放平台,不知道现在是否还是这个情况。

 

域名交易

 

这是门好生意,很简单的道理,协助撮合域名转让,获得佣金,你完成一个高价域名的交易,就能获得数万乃至数十万的交易佣金,相当于注册了数千乃至数万个域名的收益。

 

上面提到的sedo.com,就是一个域名停放+域名交易的平台。中国最大的域名交易平台,是好朋友丸子的 易名中国。(这条是事实,不是广告!!!)

 

域名交易平台有自己卖的域名,如果你有想买的域名但并不在交易平台上,交易方也会有中间人替你去找对方联系,询问报价和撮合交易。如果不成交一般是不会收费的,成交会收取一个固定比例的佣金。

 

域名交易又分竞价和一口价,不过看自己喜好了。

 

我的观点是,如果你要做一个网站,一个企业,你想品牌,想站点名字的时候,先看看自己想的域名好不好注册,通常是不好注册的,这时候可以去域名交易平台看看,有没有好记又不贵的域名,选择一下,看和你的方向有切合度的,买下来,作为品牌来推,而不是你想了一个品牌再去找域名。

 

就好比前几年好多人问我这个问题,为啥小游戏网站起名叫4399啊,李兴平当时就捡到这个域名了呗。

 

4、几个关于域名的八卦故事

 

很多人有这样的想法,不是很看得起域名投资,觉得这是个投机生意,不产生价值,让创业成本变高。但其实我们换过来说,所谓投机,其实也是一种商业嗅觉,我的观察是,善于投资域名的人,其商业能力都不差,并不只靠投机域名为生,下面几个案例,可以做个参考。

 

2004年,庞升东从陈鹏手里买下了51.com,从此进入大众视野,当时成交价格是98万,在那个年代已经是天价了。庞升东草根站长出身,靠做网赚和炒房赚了第一桶和第二桶金,51之后是2345,到现在做成上市公司,51.com曾经还是很有机会的,但中间的衰败,直到现在都是一个特别难以定论的话题。(不过话说回来,51现在还是赚钱的哦)。

 

故事的配角陈鹏也并非池中物,在卖给庞升东之前,这个51.com中间几经辗转,还遇到过被黑申诉回来的经历,陈鹏当时第一次创业不是很成功,卖房卖域名周转资金卷土重来,然后再度崛起,公司做到年营业额十几亿的规模,现在第三次创业,还兼做投资。作为旁观者,当时他们交易结束后,我还跟这两位当时还默默无名的人吃了一顿面条,然后到现在,发现自己落后了不知道多少。

 

2009年还是2008年,程炳皓搞开心网,风风火火,崛起的很快,这家伙对域名无感,用kaixin001.com来玩这个事情,付政军(2000年我就跟他共事过,一直管他叫小付来着)当时也是创业者,而且做得东西还是蛮赚钱的,一看这个东西好,特别敏锐,就赶紧花大钱把kaixin.com买了。(具体价格不知道,按当时行情价应该是几十万的样子)然后去找程炳皓聊,说能不能合作来搞开心网,域名换点股份,程炳皓以为遇到敲诈勒索的,置之不理。

 

结果陈一舟派人匿名去跟付政军联系,编了个故事花了500万人民币把kaixin.com买了下来,做了一个山寨开心网。时至今日,开心网和山寨开心网都没啥动静了,而付政军的公司已经上市了,小付童鞋身价过十亿。

 

然后就是前年吧,好像是前年,有钱又任性的全民老公王思聪,再度刷新中国域名成交天价, wanda.com的成交价,6000万人民币,前持有人也是够决断,花了几百万买下来这个域名专候王公子。 这个6000万的域名现在做什么呢?转到王思聪的个人微博,有钱任性这四个字,服不服!

 

王思聪可不是纨绔子弟,这家伙投资的几个项目还都蛮厉害的。

 

下面是广告版面

 

我要说本文不是广告估计您都不信,不过还真不是,如果是的话至少要三倍广告费,以上内容是希望用户真的理解域名这个生意,和域名投资的真实场景,也希望对各位创业者或者有兴趣做网站的朋友有所帮助。

 

今天的广告也是这个领域的,但我只是答应给他底栏广告,并没说给他写一整篇软文,这一家叫做 “金牌拍卖”, 网址是 www.jinpai.com ,接这个广告单的时候我还特意做了一下背景调查,毕竟涉及金额较大,得到的结论是,非常靠谱,这我才敢放出来。

 

金牌拍卖是国内最大的视频域名拍卖交易平台,成交规模和成交的品质都在国内非常靠前,而其后面域名投资者的支持力度也是蛮大的,这些是对方说的,但我也都是跟业内大佬核实确认过的。

 

除了域名之外,虚拟物品,游戏道具等也是其发展方向,未来可能还会涉及更多领域,但这个和我的用户群不符,我也就不多说了。

 

竞拍域名需要对领域有深入的认识,即便这是一条广告,我也必须提醒我的读者,做足功课,才能做出正确的估价。投资有风险,出价需谨慎。

 

如果您有好的域名一直没有用起来,也可以考虑委托他们,看看能不能卖出一个好价钱。