Professional Documents
Culture Documents
墨子项目 解决方案
墨子项目 解决方案
解决方案一:
按原来的方案继续开发,完成网站,播放器使用原来的版本,文档转换只转换
前 1-20 页文档内容,转换速度快,播放速度快。缓兵之计。
分析:
1. 根据豆丁网文档上传和在线浏览的人数其实并不多,分析用户的目的:
现在文档网分为两类群体:一类是上传文档想获得利益的群体,一类是在找
寻文档愿意付出资金或自己的资源的群体。当然这两类群体都是在相互转换 ,
是想从中获益,世界上没有真正的免费,就像网游免费其实挖掉了用户更多
的钱。
只要是上传的文档,其目的都是想有收益,免费的浏览文档的目的也就是让
用户多关注文档,但是当一个用户看完一个文档之后,用户就没必要购买这
个文档,但是上传者的初衷是希望每个文档都能收费。
只转换前 20 页文档有一下几个好处,当然这是一个缓兵之计:
1. 用户如果觉得这个文档有用看了书的目录,和前二十页,就会付费下载,
减少在线浏览持续下载文档带来的服务器负担。增加上传者收益,产生
用户积极性。
2. 所以文档提供付费下载,产生流通,企业出版社最想看到就是能赚到钱,
他们想的资金的每一页纸都能换到相应的价值,哪怕这是一页废纸,现
在是是市场经济,从淘宝看所有的国民,至少是网民都想能从网络赚钱,
所有文档收费,就像肯德基我可以提供免费的座位给你,但是吃东总得
给钱吧,你坐在我的餐厅里,看了一会 80%会掏钱买吃的,所以提供少
量页的转换,能提供付费量,增加企业出版商对我们网站的兴趣。
经验,研发的时间周期不确定性很强。最后会研发出来,可能会有一些
延期。所以先提供转换少量的页,这也是一种策略。现在中国人的想法
就是,赚钱,赚钱,赚钱,赚钱。在线阅读不是这些人的目的,下载到自
己的硬盘里才是目的。DOC88,DOCIND 阅读的人很少,有些基本是打开
一下就关掉走了,当他打一个文件浏览,播放器继续下载,用户关掉浏
览器,断开网络连接,可是用户缓存里还有播放器的缓冲,会继续下载
放文档,
当用户断开网络时,计算机会释放内存,不继续下载。
4. 由于转换页少,下载速度快,提供高性能的下载转换速率。
这样有一些不足:
1. 无法提供免费全文共享的文档浏览,这是一个缺陷,当然其实就算免
费文档,用户也想下载到自己的硬盘,为什么?因为这是中国人的本
性造成的,也可以说是人类的本性,他们都想拥有更多的资源,更多
人更乐意下载到本地慢慢的读,因为不受网络限制。
2. 我们无法让在线流量增大,因为用户阅读过程会让在线流量增大,而
如果只是阅读几页开始下载,会让在线流量丢失,但是可以用一些策
略弥补,例如在线增加积分,在线下载。
现在我们这个墨子文档网站系统结构如此图:
文件服务 更多面向服务
MOZI 文档网
数据转换系统
SNS 即时信息服务系统 播放器
用户基础数据服务
特殊用户支持系统
文件存储系统
现在的系统运用了一下软件复用:组件,COTS 系统,面向服务,遗留系统包装,
提高延伸系统的扩展性和可维护性。
解决方案 2:
放器。
根据网站现在目前开发状况:
现在网站的系统增量开发完成了,用户注册,修改,上传文档,管理文档,消
息管理发送,发起寻求,交换的代码已经写好。
研发计划如下:
网站开发:
植入 逻辑嵌套,一 统 调 试 复 成测试版,开
共 40 个页面 杂 发及集成测试
2. 代码逻辑错
个模块。 代 码 复 杂 发及集成测试
度高。
2. 分 布 式 取
数据测试
不可预测
错误
1.swftools 播放器研发计划:
数据流程结构图:
os.h
Mem.h
gfxpoly.h
rfxswf.h swf 格式
Md5.h gfxtools.h
args.h 参数 bitio.h
gfxdevice.h
config.h 配置 PNG.h
LIb types.h
Log.h
输入文件
Pdf2swf.c 转换 gfxdevice.h"
Devices gfxtools.h"
types.h
swf.h bitio.h"
og.h"
Gfxdevice_t gfxsource_t
rescale.h
record.h
gfxdevice.h
gfxtools.h
swf polyops.h
gfxpoly.h
log.h
PDF mem.h
pdf.h
gfxsource.h
InfoOutputDev.h FullBitmapOutputDev.h
#include "stdafx.h" BitmapOutputDev.h
#include "config.h" #include "BitmapOutputDev.h" #include "config.h"
#include "Object.h" #include "GFXOutputDev.h" #include "FullBitmapOutputDev.h"
#include "InfoOutputDev.h" #include "SplashBitmap.h" #include "GFXOutputDev.h"
#include "SplashOutputDev.h"
#ifdef HAVE_POPPLER
#include "SplashPattern.h" #include "SplashBitmap.h"
#include <splash/SplashTypes.h>
#include "Splash.h" #include "SplashPattern.h"
#include <splash/SplashPath.h> #include "../log.h" #include "Splash.h"
#include <splash/SplashFont.h> #include "../png.h" #include "../log.h"
#include <splash/SplashFontFile.h> #include "../devices/record.h" #include "../png.h"
#else #include "../types.h" #include "../devices/record.h"
#include "SplashTypes.h"
#include "SplashPath.h"
#include "SplashFont.h"
#include "SplashFontFile.h"
#endif
#include "GfxState.h"
#include "../log.h"
#include <math.h>
GlobalParams.h
GFXOutputDev.h
<stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stddef.h>
#include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "../../config.h"
#include "../os.h"
#ifdef HAVE_DIRENT_H
#include <dirent.h>
#endif
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
#ifdef HAVE_FONTCONFIG
#include <fontconfig.h>
#endif
//xpdf header files
#include "config.h"
#ifdef HAVE_POPPLER
#include <goo/GooString.h>
#include <goo/gfile.h>
#else
#include "gfile.h"
#include "GString.h"
#endif
#include "Object.h"
#include "Stream.h"
#include "Array.h"
#include "Dict.h"
#include "XRef.h"
#include "Catalog.h"
#include "Page.h"
#include "PDFDoc.h"
#include "Error.h"
#include "Link.h"
#include "OutputDev.h"
#include "GfxFont.h"
#include "GfxState.h"
//#include "NameToUnicodeTable.h"
#include "GlobalParams.h"
#include "GFXOutputDev.h"
#include "../png.h"
#include "fonts.h"
Ya
Swftools 研发计划:
"../lib/devices/swf.h" 思路,所以
"../lib/devices/polyo 函数库的作
ps.h" 用,及其算
"../lib/devices/record 法。
.h"
"../lib/devices/rescal
e.h"
"../lib/pdf/pdf.h"
"../lib/log.h"
次开发 接口实现数据转换 朱敏
曾春鹏
播 放 器 反 向 等转换格式研发出来,再开发此播放器。根据数据格式需要开发
工程