2009年09月15日

原创 CIC的私有云计算架构

对很多人来说,云计算已经不是一个陌生的概念,只是好像它都是跟诸如Google、 IBM、微软这样的业界大腕相联系,与中小企业无缘。而实际上呢,得益于诸如Hadoop这样的开源软件,广大中小企业也可以搭建自己的私有云,相当程度的满足自身需求。我们这篇文章会从我们的实践出发,谈一谈为什么CIC的业务也要求类似云计算的IT基础架构,我们的施行效果又是如何。在CIC技术系统内部存在相当数量的应用,各自承载不同类型的大计算量任务,包括分词,产品分析,新词发现等等。拿7月份来说,仅仅当月的产品分析一项就花了近3000个机时,如果单机执行,则需要花费接近小半年,初夏的数据要到深秋才能拿到,我们的分析师真是要等到花儿也谢了。为了解决这个问题,我们之前的做法,是由负责各个应用的项目组针对每种任务独立提供解决方案。例如,有些应用是将数据通过Linux的NFS服务共享,然后通过一些散列算法让部署在不同机器上的应用程序各取所需;也有的应用则是将数据通过RPC轮询发给多机处理,最后再将结果集中返回。这些做法单独来看问题都不大,但是阅读全文>

发表于 @ 2009年09月15日 21:38:00 | 评论( loading... ) | 编辑| 举报| 收藏

2009年07月28日

原创 社会网络分析方法和IWOM研究的结合初探

美剧“数字追凶”(Numb3rs) 是一个描写将数学方法用于侦破的系列电视剧,其中有几集都用到了同一种数学方法,即将组织(譬如黑社会,反战组织),人物,或者事件间的联系描绘成图形,探索其中的特征,最终发现重大线索。这类方法便是Social Network Analysis, 即“社会网络分析”,以下简称SNA.这样的情节设置并非毫无根据,在真实世界里,SNA确实被应用于安全领域,譬如据今日美国2006年的报道,911以后,美国国家安全局从AT&T, Verizon, BellSouth等三家美国主要电信公司搜集电话记录,从中分析和查找潜在的恐怖分子网络。著名SNA应用和管理咨询专家Valdis Krebs根据大量公开数据,也绘制出了涉及911的恐怖分子关联网络,见右上图。(右上图:此图发表在作者公司网站orgnet.com上,原作者授权CIC将其包含在本文内)当然SNA的应用远不局限在研究犯罪集团,实质上它是一门研究组织中不同实体间联系,以及信息在其间传播模式的方法。S阅读全文>

发表于 @ 2009年07月28日 14:18:00 | 评论( loading... ) | 编辑| 举报| 收藏

2009年02月12日

原创 对大量转载贴识别算法的研究

      要识别论坛中被大量转载的同一篇文章,初看起来不是一个很难的技术问题,只要生成所有文章的信息指纹,再将相同指纹分组就可以了。至于产生信息指纹的方式,最简单的是用MD5或者SHA等单向Hash函数,如果为了减少存储以及提高性能,同时可以容许一定误差,可以再利用BloomFilter。      但是结合实际情况看一下,就能发现产生这种类别文章的指纹不能简单的用MD5产生,因为当一篇文章被大量复制转载的时候,未必是一字不差的。特别是一些发帖软件为了规避论坛的检查,会有意的将内容进行变形,插入空格,空白字符,或者进行个别词语的替换等等;而只要有哪怕一个字的区别,都会产生全然不同的MD5结果。      还有一个思路是文本向量的匹配,即将文本先分词再向量化之后比较他们在向量空间中的距离,设定一个阈值,距离小于该阈值的文本视为相同。这么做最大的好处是具有很好的抗干扰性,如果阈值调整合理,那么结果会有比较高的招回率。但是缺点也显而易见,即计算量太大,而且事实上把寻找大规模转载贴的问题又扩展成了聚类(Clustering)问题。阅读全文>

发表于 @ 2009年02月12日 11:06:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年12月02日

原创 第四届中文网志年会参会感想

    非常高兴能够代表CIC公司参加了在广州举办的第四届中文网志年会,并通过题为《博客内容挖掘与分析》的演讲和与会者分享了CIC在博客分析方面的心得。CIC在近几年的网络口碑研究和咨询时间中总结出一些关于博客内容挖掘和分析技术上的挑战和解决方案,正如演讲中所提到的,博客内容的分析牵涉到一系列的技术问题,其中包含数据采集,自然语言分析,数据汇总统计,数据展现等。其中某些技术已经比较成熟(例如数据采集,数据汇总等),有些技术还不是很完善,针对中文网络语言还有很多完善和优化的空间(例如自然语言分析等)。我们的技术部门也在对这些技术进行不断的研究和发展,希望能够发挥计算机技术在处理海量数据上的速度优势,来为博客内容的价值挖掘做贡献。
    虽然中文网志年会不是一次技术性的会议,但是感觉大家对本次演讲的技术主题还是比较感兴趣的,演讲完也有几位朋友提出了非常好的问题,例如如果通过技术手段甄别博客上出现的带有商业性质的内容,虚假内容;我们所研究的博客内容挖掘技术与google / baidu等基于页面分析的技术的区别;以及我们是否为博客提供服务等等。我也一一做了解答,其实有些问题如同博阅读全文>

发表于 @ 2008年12月02日 23:37:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年11月14日

原创 Joomla!的插件系统

CMS,是content management system(内容管理系统)的缩写。通常是指用在网站内容管理上的程序,可以用任何能生成网页的程序语言开发,但是通常是通过浏览器使用,因此用PHP等WEB开发语言开发的比较多。目前大多数CMS系统与数据库结合较密切,因为网页数量不确定,数据量庞大,使用CMS更便于设计和网站开发。CMS三层体系结构与标准三层客户端/服务器体系结构是基本对应的。CMS三层体系结构没有什么难以理解的内容,都是一些常识性的东西。它的每一层对应着一个体系结构中必须的元素:交互(interaction)、操作(manipulation)以及存储。CMS系统适合一些没有固定的网站后台开发人员的企业以及不具备成熟开发条件的网站,通过使用CMS系统定制修改满足自己需求。通过使用CMS,可以减少网站开发时间和提高网站开发质量。因为一般现成的CMS都经过专门的设计和长时间多用户的测试,品质都是非常有保障的,对于要求不是很高的使用非常的合适。比较流行的CMS系统有:动易SiteFactory、Mambo、Joomla!、Drupal等。阅读全文>

发表于 @ 2008年11月14日 10:22:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年10月06日

原创 mysql优化: 内存表和临时表

CIC有着非常庞大的数据,对这些数据进行拆分就涉及到OLAP的知识。需要创建很多个中间临时表用来进行切分操作。 由于直接使用临时表来创建中间表,其速度不如人意,因而就有了把临时表建成内存表的想法。但内存表和临时表的区别且并不熟悉,需要查找资料了。 一开始以为临时表是创建后存在,当连接断开时临时表就会被删除,即临时表是存在于磁盘上的。而实际操作中发现临时表创建后去目录下查看发现并没有发现对应的临时表文件(未断开链接).因而猜测临时表的数据和结构都是存放在内存中,而不是在磁盘中. 这样一想内存表不是也是存在在内存中吗,那么他和临时表有什么区别?他们的速度是什么样子?阅读全文>

发表于 @ 2008年10月06日 18:12:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年09月28日

原创 GroboUtils之多线程测试

Junit作为java自动化测试利器,在java软件开发方面有着强大的功能和便利。通过大量的单元测试,可以方便的定位错位,而且可以提高自己对代码的信心。单元的颗粒度可以小到是一个函数,也是大到是一个类,甚至更大,但是,在单元测试时,由于junit的设计,它对于runnable的对象是忽略的,所以,在我们的测试过程中,对于多线程的测试就变得困难和不可行。但是,在有些项目中,对多线程的测试又是必须的,难以两全么?现在有了groboutils,这一切就变得轻松方便了。在一些单元测试时,我们有可能需要调用一些类的线程,但是,在junit原有的模型上,要么runnable对象被忽略了,要么就得调用它的run()方法,但是,这样的调用也就失去了并发性,在想要查看线程之间的调度时,这样的功能是不够的。阅读全文>

发表于 @ 2008年09月28日 09:07:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年09月10日

原创 博客增量抓取系统的难点之RSS增量抓取策略

博客增量抓取系统的难点之RSS增量抓取策略 公司内部开发了一个博客抓取系统,可是当feed数量增多时,系统面临着一个问题:有的博客很少更新,但系统却很频繁地去抓;有的博客作者手笔很勤,一天更新10多篇,但系统一个月才去抓一次。feed的有效更新效率的低下直接导致带宽和硬件的浪费。如果能够利用技术手段,采用一个智能的抓取策略,那么最直接的效果是节省了公司的资源,同时也减轻了对BSP(博客服务托管商)服务器的压力,长远来讲,也是为环保做点贡献啊! 本文对网络上的一些资料做了些整理,分析前人做出的成绩,并综合出一个简略的实现方法。 博客作者更新文章的时间是毫无规律的,但利用数学的方法可以将此模型归纳为泊松分布。 泊松分布可以作为大量实验中稀有事件出现的频数的概率分布情况的一个数学模型。这些随机变数大致上都有如下的特点:他们都取正整数为值,并且与时间间隔长度有关。当时间间隔极短,取值为数2以上是几乎不可能的。另外,它们取值的概率,只与时间间隔的长度有关,而与从哪个时刻开始算起没有什么关系。并且在不相重叠的时间间隔内,彼此没有什么影响。在满足上述相应的数学条件下,这种与时间有关的随机变量阅读全文>

发表于 @ 2008年09月10日 23:46:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年07月30日

原创 为Nagios编写自己的插件


   Nagios (http://www.nagios.org/)是一个开放源代码的主机、服务和网络的监控平台。它被广泛使用在企业的IT部门中,负责企业核心系统营运情况的监控工作。

    CIC对网络口碑的研究涉及了部分类似“云运算”的技术,需要有大量机器不间断的在进行工作.因而需要搭建一套能够阅读全文>

发表于 @ 2008年07月30日 15:06:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年07月07日

原创 jXLS:基于java的精美Excel报表的终极武器

报表,各种管理系统最基本的功能之一。Excel,当今世界最流行的电子表格软件。通过集成Excel来制作报表,便成了很多程序员的首选方案之一。阅读全文>

发表于 @ 2008年07月07日 10:24:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年06月05日

原创 第二届中国网络工程师侠客行大会参会感想

上周末我们技术部门组织去浙江杭州参加了第二届中国网络工程师侠客行大会。 马云先生在会中提到:互联网技术的精髓在于开放和分享,要让技术真正发挥出其价值,需要通过把技术运用到具体的应用中去。所以在这次网侠大会上,各路大侠们做了精彩的演讲,介绍各种技术,也正是顺应这种开放和分享的精神。希望能够让更多的人了解了这些技术之后,能够创造出更加好的应用。 参加了这次大会之后,有所感想,也希望通过我们的技术博客来和大家一起分享一下阅读全文>

发表于 @ 2008年06月05日 11:03:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年05月13日

原创 Python字符串处理算法 (三)

Python字符串处理算法 (三): 有限状态机阅读全文>

发表于 @ 2008年05月13日 10:36:00 | 评论( loading... ) | 编辑| 举报| 收藏

原创 Python字符串处理算法 (二)

Python字符串处理算法(二):NAIVE-STRING-MATCHER算法。阅读全文>

发表于 @ 2008年05月13日 10:29:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年05月06日

原创 数据之美

数据,在一般人的眼里可能都是一些密密麻麻的数字,但是如果从另外一个角度来看这些数字,也许就会发现其美丽的一面。阅读全文>

发表于 @ 2008年05月06日 13:43:00 | 评论( loading... ) | 编辑| 举报| 收藏

原创 Lucene的原理和应用

随着互联网的迅速普及与发展,网络舆论对社会生活的影响力越来越大, 网络口碑研究也逐渐形成一个新兴行业。有效的网络口碑研究,需要全方位地倾听网民的声音。 信息检索技术的应用,有效地提高了网络口碑研究的工作效率。 Lucene 作为当今最知名的开源信息检索库,被广泛应用于各种与全文检索相关的项目中。 本文将简要介绍Lucene的基本原理与应用,在此抛砖引玉,希望能有机会与更多的同行进行交流。阅读全文>

发表于 @ 2008年05月06日 10:56:00 | 评论( loading... ) | 编辑| 举报| 收藏

Copyright © CICTech
Powered by CSDN Blog