无线互联网门户社区核心数据模型设计思考1

    根据典型的web2.0 sns门户社区,设计了无线互联网门户社区初步的核心数据模型。

    基本设计重点:

1、 以用户为中心,为用户提供综合性、一体化的社区体验

架构模型涵盖典型的web2.0社区的各种基本元素,包括:

  • 标签(tag)、标签云(tag cloud)
  • RSS(web订阅、邮件订阅、基于IM机器人的订阅)
  • IM
  • 用户群组
  • 微博客(twitter)、博客(Blog)
  • 点评(digg)、投票、话题、推荐、收藏夹
  • 用户点击行为分析(内容过滤、协同过滤)
  • 用户上传及分享
  • 社区搜索
  • Mashup(外部应用聚合)
  • 开放API

其中IM、用户关系链元素的设计在单独域模型中设计。

2、 基于真实关系链的无线互联网社区

    Facebook及国内诸如校内、海内这样SNS的无比风光,说明了基于相对真实关系链的价值。用户使用SNS的关注点大部分是希望维系和拓展现有的关系链,而不是重构关系链,因此SNS及IM不应当让用户抛弃现有的关系链去重新构造一个全新的关系链。要让用户导入现有的关系链到社区核心在于能够标识用户相对真实的身份及围绕此身份所形成的关系链。

    在互联网时代能够标识用户身份及用户关系链的东西包含如下一些:手机号码通信录、多IM通信录(QQ、MSN等联系人)、邮箱通信录。

    而号码同步+多IM协议集成及相关应用的结合,基本上涵盖了如上内容。

  • 手机号码通信录:客户端基于syncml协议的同步功能本身解决了此问题。
  • 多IM通信录:在用户使用客户端的多协议的IM功能登录QQ、MSN等IM时候,实际上无形之中就导入了其IM的联系人通信录
  • 邮箱通信录:通过Push Mail功能及RSS的邮件定于、绑定邮箱等功能就导入了邮箱通信录

3、 投其所好的过滤引擎

    门户社区成功最为核心的是用户体验。

   用户体验涉及方方面面,但一个与技术相关的至关重要的是能够根据用户的喜好、点击行为及消费行为,向用户推荐较为准确内容及好友。在设计上考虑了两种过滤引擎的实现需求,包括:基于内容的过滤(Content Based Filtering)、基于相似用户群体的兴趣的协同过滤(Collaborative Filtering)引擎。

    在数据模型设计上提供了多维度的数据采集数据采集方法,如Tag标签、Digg数、推荐、用户打分等等。

    构建无线互联网社区所必须的其他元素的架构及数据模型设计逻辑,继续考虑中。

手软门户域数据模型设计

 

电信重组时代的增值业务思考

    电信重组后,由于运营商间竞争的加剧及对客户提供差异化服务的需求,3G时代数据业务、增值业务及互联网相关业务成为运营商的下一个奶酪,面临巨大的市场机会,开始思考电信重组时代下与各运营商的合作策略及增值业务的市场机会。

1、未来增值业务运营模式展望

2008-7-12 18-12-01

摘自《电信业转型与增值业务发展分析》

2、运营商合作策略

2.1、移动合作策略:

移动增值业务

    针对移动的产品规划,好好琢磨一下我们的机会所在。

    空中充值这一块可以强化对客户充值行为的分析,这样可以更好为客户推荐适合的套餐产品(尤其是其他运营商的,帮助其转网)。

    移动开放了手机网游的接口,给手机网游的研发商和运营商提供了优质的宣传渠道和收费模式,此举必定能够大力推动手机网络游戏行业的快速发展。但正如其他互联网产品一样,手机网游运营平台的运营涉及虚拟货币、社区、联盟推广互联网的典型玩法,这这并不是移动这样的运营商所擅长的,因此需要专业化的运营团队,这也是我们的价值所在。

2.2、电信合作策略:

    我觉得电信是重组的最大受益者,同时电信人员本身的素质还是挺高,因此电信pk移动的竞争力还是在的,在电信的移动业务拓展期我们与其合作的空间及利润上可能比移动更高。另外电信是3个运营商里唯一没有移动增值业务平台的(实际上只有固网的增值业务,CDMA的增值业务应该留在联通),这一块我们也有很大机会。

2.3、广电合作策略:

    在所有的运营商,广电网络在各个地方各自为政,而且其核心的BOSS系统做得很差,但由于是核心系统这一块我们机会不大。广电自己类似移动MISC的增值业务的运营平台也在加紧建设中,但广电在这一块并没有任何思路,这一块广电我们机会还是较多的。我们可以尝试利用eSales系统帮助其建设增值业务的运营平台,而不单纯局限在帮助其收费上。

    另外由于数字电视的普及推广,基于数字电视的增值业务逐渐在成熟中,我们可以尝试利用内容整合的优势,在广电的一些频道中承包一些栏目来独自运营或合作运营。

    由于在手机电视上,广电有比其他运营商的牌照优势,因此在客户端研发及运营上,我们可以与其探讨合作的可能性。

3、重点业务思考概述  

3.1、带号转网

     工业和信息化部正在酝酿带号转网的方案,电信重组后,由于频段资源稀缺及扶植电信、联通这样的相对弱小运营商不对称竞争的需要,带号转网的步伐应该会加快,这一点可以作为一个专题研究一下。

    那些拥有客户消费资料及终端销售渠道的代理商应该可以成为带号转网最大的机会是那些用于终端用户

3.2、增值业务销售通路

    电信重组后,各运营商对渠道、终端、客户、内容产品的争夺肯定更为激烈,而3G核心的竞争还是在于内容本身。在目前无线互联网及电信增值业务市场中,众多的内容提供商、服务提供商、软件开发厂商以及众多初创性互联网企业具有各种内容丰富的产品,但由于终端渠道、政策上、技术上的限制,这些产品没有好的销售通路和销售管理平台。对于我们这样拥有众多具有良好合作关系的通信连锁企业的传统销售终端渠道,“渠道为王”。通过无线增值内容eSales分销平台的建设,整合海量无线互联网内容资源,充分整合和利用合作伙伴传统连锁渠道的优势,为合作伙伴及终端销售的店员提供增值内容的销售服务平台;为CP、SP及无线互联网提供商提供内容分发、内容计费渠道通路及运营平台,协助其业务拓展;为广告主提供精准式的广告投放手段。通过手机连锁传播、手机无线互联网传输、互联网和其他线下传播方式有机结合,直接为消费者提供手机增值服务的平台架构。

3.3、电信增值业务垂直支付平台

   对于大部分的CP/SP而言,电信运营商最大的价值是其收费通道,而在产品、用户、渠道上电信运营商基本上都没有CP/SP帮助拓展,必须CP/SP自己搞定,因此如果能够建立相对中立的电信增值业务垂直支付平台,帮助CP/SP建立多渠道(线上支付、线下实体店面)、多手段(手机、网银、电话、短信、第三方支付、数字点卡)、一体化(移动、联通、电信、广电支付一体化)、更优质、更便捷的支付通道,则必然收到广大CP/SP的欢迎,同时可以提升集团自身的产业链整合能力。

3.4、三网合一及IPTV

    现在看来,大家这几年对三网合一及IPTV发展进度都估计太乐观,整个进度比原来大家预想的慢多了,政策形式的不明朗导致目前整个仍然处于培育期,到正式的商用运营尚有很长的路程需要走,只能静观其变。

3.5、3G

    继续思考中…

 

无线互联网技术平台战略思考提纲

    梳理一下无线互联网门户技术平台战略的规划思路,先罗列一下思考的要点:

1、技术平台战略定位:开放式平台架构

    封闭内部系统 .VS. 开放式技术平台(Facebook)

    自主运营平台. VS. 协作生态系统 (WIKI、UGC)

    单一功能平台. VS. 产品整合营销平台(Facebook、QQ)

    功能性平台 . VS. 在线生活方式(Facebook、赛我、QQ)

 

2、技术平台价值最大化

    在搭建技术平台的同时,需要充分发挥技术平台的优势,使其价值最大化,包括:

    开发资源、开发成果的最大化:最大化复用平台架构、开发资源

    平台功能价值最大化:运营平台、营销平台、支付平台、社区平台

    价值链价值最大化:以开放式平台来整合整个无线互联网增值业务价值链,让价值链合作伙伴完全依赖平台

    用户价值最大化:为用户提供一体化的在线生活平台,成为最佳的整合营销平台

 

3、电信重组后的3G时代的三大运营商战略

    电信重组对于无线互联网公司、增值业务公司都属于利好。作为落后者的中国电信及中国联通要在数据业务、语音业务等3G业务上迅速赶上,需要更加关注与价值链上合作伙伴分享价值、实现共赢。

    在电信重组后的3G时代,能否理解、把握、踩准运营商的战略节拍对于我们这样的公司至关重要;同时必须有自己的核心的忠实用户群才能够游走于三大运营商之间,做到持续的运营。因此需要深刻理解运营商的需求及客户的需求。

    近期电信和联通核心的任务应该是发展用户,因此对于我们这样的公司而言,我们对他们的价值在于:

    业务通路价值:3G时代,增值业务肯定是各运营商的战略重点,这些业务的落地需要依赖价值链上具备通路价值的公司来协同完成。

    发展用户价值:对于电信及联通,固网竞争态势已经基本明朗,怎样快速扩大自己的忠实手机用户群是其战略重点,因此对于运营商而言,这些无线互联网公司及增值业务公司的价值是谁能够帮助其发展用户,尤其是帮助其策反竞争对手的高价值用户。通过基于口碑营销模式或关系链的策反是比较有效的手段。

    长期而言,必须积累我们自己核心的用户群,让用户粘在我们的社区平台上。

  

4、近期技术平台核心技术

    Syncml同步引擎:包括基于Syncml协议的客户端及服务器端同步引擎,另外wbxml这样的数据压缩技术还是很重要的

    VOIP:通信需求始终是手机用户最大的业务需求,3G时代IP、VOIP化更是趋势

    客户端:初期重点为Symbian、Windows Mobile、MTK、J2ME;Android、Linux、BlackBerry、IPhone

    多客户端协议整合:电信、联通、移动的客户端的整合,同时包括诸如QQ、MSN等传统IM客户端的整合。

 

Funambol Syncml J2ME版本客户端编译指南

简单描述一下安装测试funambol j2me客户端过程,过程只是用于测试j2me客户端功能,并没有考虑完整的项目应用,供参考备查。

1. 安装ant

从http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zip下载ant

解压到c:\ant下

2. 安装antenna

从http://downloads.sourceforge.net/antenna/antenna-bin-1.0.2.jar下载antenna

拷贝到c:\ant\lib

3. 安装wtk

从http://cds-esd.sun.com/ESD36/JSCDL/sun_java_wireless_toolkit/2.5.2/sun_java_wireless_toolkit-2_5_2-windows.exe?AuthParam=1212392225_9f66723e80a5d5619add0637b1c54f9b&TicketId=B%2Fw5kByCTl9JSBVLP1dSlQHm&GroupName=CDS&FilePath=/ESD36/JSCDL/sun_java_wireless_toolkit/2.5.2/sun_java_wireless_toolkit-2_5_2-windows.exe

下载wkt并安装到c:\WTK2.5.2

4. 下载JMUnit

从http://jaist.dl.sourceforge.net/sourceforge/jmunit/JMUnit_1.0.1.zip下载JMUnit

解压后拷贝到C:\WTK2.5.2\bin及C:\WTK2.5.2\lib下

5. 在Eclipse中安装EclipseME

6. 从objectweb的cvs库获取funambol的j2me包

可以从http://download.forge.objectweb.org/sync4j/funambol-j2me-api-6.5.10.zip下载现成的funambol的j2me包

为了开发方便,从cvs库检出代码,自己编译

cvs库的信息:

认证方式:pserver

主机地址:cvs.forge.objectweb.org

用户名:anonymous

CVSROOT:anonymous@cvs.forge.objectweb.org:/cvsroot/sync4j

检出/funambol/client-api/j2me下的文件

7. 编译common包

7.1. 新建funambol-j2me-common项目

在eclipse中新建一个叫funambol-j2me-common的J2ME Midlet Suite项目,导入/funambol/client-api/j2me/common下的文件

由于没有安装BlackBerry的SDK,因此删除如下文件:

src/com/funambol/storage/BlackberryRecordStore.java

src/com/funambol/storage/BlackberryRecordEnumeration.java

src/com/funambol/util/BlackberryHelper.java

7.2. 修改build.properties

#

# Funambol J2ME API build properties file

#

j2me.name=funambol-j2me-common

j2me.release.major=7

j2me.release.minor=0

j2me.build.number=0

# Set this to your WTK installation, or copy the JAR to the local /lib

wtk.home=C:/WTK2.5.2

wtk.debug=false

# Set this to your JMunit installation, or copy the JAR to the local /lib

lib.junit=C:/WTK2.5.2/lib/JMUnit4CLDC10.jar

# Set this to your JZlib jar file, or copy the JAR to the local /lib

#lib.jzlib=lib/jzlib-1-0-7a.jar

lib.gzip=lib/tinyline-gzip.jar

7.3. 用ant运行build.xml

注意确保把antenna添加到ant的Classpath中,不采用eclipse自身的Ant Home

Run As ->Open External Tools Dialog->Ant Build->funambol-j2me-common->Classpath->Ant Home

7.4. 用EclipseME的工具创建package,以方便funambol-j2me-syncml项目编译使用

Right Button->J2ME->Create Package

生成的打包文件funambol-j2me-common.jar及funambol-j2me-common.jad存放在deployed目录下

8. 编译syncml包

8.1. 新建funambol-j2me-syncml项目

在eclipse中新建一个叫funambol-j2me-syncml的J2ME Midlet Suite项目,导入/funambol/client-api/j2me/syncml下的文件,再在funambol-j2me-syncml创建lib目录

8.2. 拷贝funambol-j2me-common文件

把funambol-j2me-common deploy目录下funambol-j2me-common.jar的文件拷贝到unambol-j2me-syncml的lib目录下

把funambol-j2me-common编译目录(假定为bin)下的文件拷贝到funambol-j2me-syncml的编译目录(假定为bin)下

8.3. 修改build.properties

#

# Funambol J2ME API build properties file

#

j2me.name=funambol-j2me-syncml

j2me.release.major=7

j2me.release.minor=0

j2me.build.number=0

# Set this to your WTK installation, or copy the JAR to the local /lib

wtk.home=C:/wtk2.5.2

wtk.debug=false

# Set this to your JMunit installation, or copy the JAR to the local /lib

lib.junit=C:/WTK2.5.2/lib/JMUnit4CLDC10.jar

# Uncomment this to refer to the output lib of your ‘common’ module, or copy

# the JAR to the local /lib

lib.funambol.common=${basedir}/lib/funambol-j2me-common.jar

8.4. 修改build.xml

将 <target name=”preprocess” depends=”init”>

<mkdir dir=”${dir.preproc.src}”/>

<wtkpreprocess srcdir=”${dir.src}”

destdir=”${dir.preproc.src}”

symbols=”${device.isBlackberry_plugin}”

verbose=”false” indent=”false”>

</wtkpreprocess>

</target>

修改为

<target name=”preprocess” depends=”init”>

<mkdir dir=”${dir.preproc.src}”/>

<wtkpreprocess srcdir=”${dir.src}”

destdir=”${dir.preproc.src}”

verbose=”false” indent=”false”>

</wtkpreprocess>

</target>

实际上就是删除symbols=”${device.isBlackberry_plugin}”

8.5. 在test目录下编写测试用的Midelet SyncMidlet.java

package com.funambol.syncml.client;

import java.util.Random;

import javax.microedition.lcdui.Display;

import javax.microedition.lcdui.TextBox;

import javax.microedition.midlet.MIDlet;

import javax.microedition.midlet.MIDletStateChangeException;

import com.funambol.syncml.protocol.SyncML;

import com.funambol.syncml.spds.SourceConfig;

import com.funambol.syncml.spds.SyncConfig;

import com.funambol.syncml.spds.SyncManager;

import com.funambol.syncml.spds.SyncSource;

import com.funambol.util.Log;

public class SyncMidlet extends MIDlet {

private static final String STORE_NAME = “TESTCONFIG”;

private static final String SOURCE_NAME = “source.briefcase”;

private static final String URL = “http://localhost:8080/funambol/ds”;

private static final String userName=”liangchuan”;

private static final String password=”liangchuan”;

private Display display;

private TextBox t;

private SourceConfig sc;

private SyncConfig conf;

private SyncManager sm;

private TestSyncSource testsrc;

private TestSyncListener sl ;

public SyncMidlet() {

display = Display.getDisplay(this);

t = new TextBox(”Syncml Test MIDlet”, “Syncml Test MIDP!”, 256, 0);

}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {

}

protected void pauseApp() {

display.setCurrent(t);

}

protected void startApp() throws MIDletStateChangeException {

sc = new SourceConfig();

conf = new SyncConfig();

conf.syncUrl = URL;

conf.userName =userName;

conf.password =password;

conf.deviceConfig.devID = generateDeviceId();

sc.setType(”text/plain”);

sc.setEncoding(SyncSource.ENCODING_NONE);

sm = new SyncManager(conf);

testsrc = new TestSyncSource(sc);

sl = new TestSyncListener();

testsrc.setListener(sl);

sm.sync(testsrc, SyncML.ALERT_CODE_SLOW);

display.setCurrent(t);

}

public String generateDeviceId() {

Random r = new Random();

StringBuffer s = new StringBuffer(”fsc-j2me-api-test-”);

s.append(Long.toString(System.currentTimeMillis(),16));

s.append(Integer.toHexString(r.nextInt()));

String deviceId = s.toString();

return deviceId;

}

}

8.6. 用ant运行build.xml的build[default]、compile、compiletest target

注意确保把antenna添加到ant的Classpath中,不采用eclipse自身的Ant Home

Run As ->Open External Tools Dialog->Ant Build->funambol-j2me-syncml->Classpath->Ant Home

8.7. 拷贝funambol-j2me-common classes文件用于打包

把funambol-j2me-common output/classses下的文件拷贝到funambol-j2me-syncml的编译目录(假定为bin)下

8.8. 拷贝funambol-j2me-syncml项目的文件用于打包

把funambol-j2me-syncml用ant编译目录out/classes下的文件拷贝到funambol-j2me-syncml的编译目录(假定为bin)下

8.9. 用EclipseME的工具创建package

Right Button->J2ME->Create Package

生成的打包文件funambol-j2me-syncml.jar及funambol-j2me-syncml.jad存放在deployed目录下

8.10. 修改funambol-j2me-syncml.jad

双击funambol-j2me-syncml.jad,在Midlets标签中增加MIDlet-1描述如下内容:

Name :SyncMidlet

Icon:无

Class:com.funambol.syncml.client.SyncMidlet

或者直接修改funambol-j2me-syncml.jad,增加

MIDlet-1: SyncMidlet,,com.funambol.syncml.client.SyncMidlet

8.11. 通过WTK测试的Run MIDP Application运行SyncMidlet

8.12. 使用EclipseME打包注意事项:

在用eclipseme打包时候,好像很不稳定,有时候不能把所有的文件打进包中,解决办法:

用手工把funambol-j2me-syncml/bin下的类文件(包括funambol-j2me-common的类)通过jar或winrar打入eclipseme生成的jar包中,同时手工编辑生成funambol-j2me-syncml.jad,修改MIDlet-Jar-Size,其中MIDlet-Jar-Size大小看funambol-j2me-syncml.jar文件属性得到

MIDlet-Jar-Size: 115491

MIDlet-Jar-URL: funambol-j2me-syncml.jar

MIDlet-Name: funambol-j2me-syncml Midlet Suite

MIDlet-Vendor: Midlet Suite Vendor

MIDlet-Version: 1.0.8

MicroEdition-Configuration: CLDC-1.1

MicroEdition-Profile: MIDP-2.0

MIDlet-Name: synctest Midlet Suite

MIDlet-1: SyncMidlet,,com.funambol.syncml.client.SyncMidlet

 

无线增值业务门户建设技术思考

 

    eSales这样的业务运营、支撑系统由于大部分内容都是动态的且由于并发用户数相对较少、压力也相对较低,在设计合理的情况下,性能并不是最大的瓶颈,因此此种情况下采用动态页面的方式是比较恰当。对于门户社区而言,高并发、高负载、高性能、高可用性是第一位的,需要采用各种手段来提高其性能。关于网站优化最好的方法论是Yahoo 的Best Practices for Speeding Up Your Web Site ,技术层面细节的优化策略参看Yahoo的方法论。

    同时这是一个用户为中心(user centered)的年代,诸如“以用户为中心的设计”、“以用户为中心的系统”、“用户为中心的营销”等等。 但是怎样才能够让门户设计中充分考虑用户体验,避免致命性的坏体验(bad smell)?这是门户建设需要重点考虑的问题,这一点上所谓的交互设计模式对于我们还是有所益处的。关于用户交互设计的模式:Yahoo Design Pattern LibraryInteraction Design Pattern Library

    此处重点从技术层面谈一下在门户开发时候需要考虑的重点内容:

    Web2.0化:除了充分使用诸如TAG、RSS、DIGG、SNS、UGC这些典型的Web2.0的元素外,“用户体验”是门户建设的重中之重,以用户体验为中心,把这些web2.0元素恰当地融入无线增值业务门户中,相信我们才会造就一个伟大的无线互联网门户,否则只是一堆与别人雷同的舶来品。

    无线门户、互联网门户一体化:WAP门户及互联网门户采用同样的技术架构,在整个系统的基础架构仍然沿用目前的Struts2+Spring+Hibernate(ibatis)的架构,但在View层不使用JSP,而是采用Freemarker,充分利用Freemarker对模板支持及对xml较好支持,将对WML(WAP1.0)、XHTML(WAP2.0)、HTML(Internet)的处理都统一到同一架构下。

    REST(Representational State Transfer):遵循REST设计原则,尤其是无状态通信(statelessness)。

    页面静态化:对门户社区页面都尽量采用页面静态化方案,这样能够充分利用cache机制及实现replication、load balance及镜像(例如南北电信部署)。为了实现页面静态化策略,采用Freemarker+FMPP方案来实现页面静态化的策略。

    SEO:在设计时候一定要首先重点考虑搜索引擎友好及针对google、baidu搜索引擎进行优化,主要是Meta Tag部分内容及网站架构,所有的页面url遵循RSET模式,对无法遵循REST模式的,采用lighhttpd的mod_rewrite来实现。

    爬虫:简单的垂直爬虫主要采用httpclient+htmlparser方案实现,复杂爬虫策略采用Heritrix(或Nutch)实现。

    搜索引擎:采用Nutch+Lucene+Compass方案,对门户定时索引,提供全站搜索功能。

    AJAX:在eSales后台的ajax主要采用struts2的dojo实现,可以充分利用struts2的标签,保持架构的统一。在门户实现时候,由于主要采用静态页面化方案,对于需要动态内容的地方,采用ajax来实现动态数据的状态。在ajax库选择上,不再采用dojo,采用jquery方案。

    CSS:在eSales后台主要还是采用frame、table方式来实现页面布局,在门户开发时候完全采用CSS方案,以保证页面布局的灵活性及页面大小。

    Cache:尽量使用诸如memcache和squid的cache机制,提高性能

     镜像采用rsync来实现对静态页面内容的镜像及同步,解决因不同运营商(移动(铁通)、电信、联通(网通)、教育网、有线网)及地域用户访问速度上差异。

    其他的部署策略参看下图:

    平台系统部署方案

 

参考资料:

  • 性能方面:

http://developer.yahoo.com/performance/rules.html

http://highscalability.com/

High Performance Web Sites

Building Scalable Web Sites

http://www.sitepoint.com/print/web-site-optimization-steps

 

  • 用户体验方面

http://www.welie.com/patterns/index.php

http://developer.yahoo.com/ypatterns/atoz.php

http://en.wikipedia.org/wiki/Interaction_design_pattern

http://www.visi.com/~snowfall/InteractionPatterns.html

无线互联网垂直电子商务平台各系统内容运维策略思考

    在平台的eSales系统、BSS/OSS系统、支付平台、门户这几大平台中,门户及eSales系统中有大量的关于手机软件、手机素材、手机型号参数、手机相关专业知识等相关的资源,这些内容的完备与否是各平台能否成功的关键所在。但作为一家以“渠道通路”为核心竞争力的初创性的互联网公司,内容本身的运维、运营并不是我们自己最为擅长的地方,近期也不可能招聘一批专职的内容运营人员来做网站内容本身的运营。从技术角度谈一下门户及eSales系统的内容运维策略,以更好支撑运营部门的日常运营。

1. 平台(门户、eSales系统)内容运维基本原则

  • 门户定位:手机增值业务垂直性门户
  • 内容运维基本原则:采用搜索引擎全自动或搜索引擎+人工(人肉搜索)方式对内容进行爬取入库
  • 内容演进过程:垂直搜索引擎自动爬取的内容基础库(无原创内容,无筛选)->垂直搜索引擎爬取+内容运营人员编辑形成的内容库(较少原创内容,人工参与筛选)->垂直搜索引擎爬取+内容运营人员编辑+社区原创内容(具有部分原创内容)->以社区原创性内容为主的内容(UGC)。

第一阶段:垂直搜索引擎自动爬取的内容基础库

    由垂直搜索引擎的对互联网上海量的手机内容进行自动爬取入库,形成自身的基础内容库;在内容上无太多的原创内容,也无内容编辑人员对爬取的内容进行筛选和过滤。这属于内容运维的第一阶段,也是近期的技术开发重点。

第二阶段:垂直搜索引擎爬取+内容运营人员编辑形成的内容库

    在第一阶段的基础上,由内容运营人员对爬取内容进行审核、编辑,保证内容库的质量

第三阶段:垂直搜索引擎爬取+内容运营人员编辑+社区原创内容

    在第三阶段基础上,将内容平台逐步开放,并将社区人员来参与到内容平台的建设中,充分发挥群体智慧的力量。

第四阶段:以社区原创性内容为主的内容

    在社区逐步成熟后,在此阶段,平台的核心内容只要是用户参与产生的内容(UGC),这也是门户的核心价值。

2. 技术架构指导原则:

    技术架构的统一:各平台核心数据模型、业务模型、技术架构必须遵循平台统一的架构,保证平台各系统的内容资源是完全复用的。

    垂直搜索引擎的建设:尽管垂直门户的建设是门户的核心内容,但围绕“渠道通路”的建设才是的核心竞争力,这包括支付通路、内容分销通路、手机通路、互联网通路等,近期的建设重点并不是社区门户的建设,因此在开发上不能投入太多的开发资源到垂直搜索引擎的开发上,在满足未来扩展性的基础上,采用相对快捷的方式开发垂直搜索引擎。

3. 垂直搜索引擎技术实现

    近期垂直搜索引擎的建设重点是爬虫,与普通的垂直性搜索引擎不同,我们是对网站内容进行爬取,而不对内容进行索引。而在内容爬取上,重点是对指定网站页面内容(例如北斗手机网)所需要内容的定向解析。

    爬取整站内容或复杂爬取需求选用的爬虫框架:Heritrix、Nutch。但这两个框架都较重,初期我们并不需要处理诸如爬取层次、增量爬取等策略,因此这两个框架后期再采用。

    对Javascript的解析:采用Rhino(SpiderMonkey)

    爬取指定内容选用的爬虫框架(目前使用方式):httpclient+htmlparser(nekohtml)。采用httpclient完成对网站内容指定页面的爬取,采用nekohtml或htmlparser包来对页面内容进行定向解析并爬取。在实现上可以参考httpunit对Rhino+httpclient+nekohtml的封装和实现。

    对采用AJAX方式生成内容的爬取:采用Cobra(http://lobobrowser.org/cobra.jsp

    搜索引擎:采用Lucene+Compass

 

学习电信BOSS系统好榜样-电子商务系统建设思考6:eSales分销平台技术接口思考

eSales技术接口平台

 

« 上一页下一页 »