Differences between revisions 1 and 2
Revision 1 as of 2006-01-05 04:55:13
Size: 3637
Editor: ZoomQuiet
Comment:
Revision 2 as of 2006-01-05 05:01:33
Size: 3739
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
##在这里详述"PyKt/2006-01-05".
Line 50: Line 49:
    * 可以想象为一个由KT组成的互联网,每个KT是个网路,所有KT的内容加起来可以组成完整内容的多个复本

KT本质

嗬嗬,快速和阿康交流,确认了KT 的开发目标和技术难点,记要,以组织大家学习,参与

K68本质

江湖任务悬赏榜

  • K68的任务流程如下:

    提交任务
        ->审核
            ->交款K68保存
                ->悬赏公布->甄选成果->满意->付款结束
                            |               ^
                            |<----------+   |
                            |           |   |
                            +不满意->延期,加钱 |
                                |           |
                                + 强制选定---|
  • K68关注的任务:一周内,10小时内可以完成的任务

  • K68关注的人群:16--14有一定技术和大把空闲时间的学生

  • K68的目标:100万注册用户,每用户平均每年悬赏4项任务,每日10000新增任务

KT目标

一个P2P格局的任务交易平台

  • 已知统计信息:
    1. 平均每任务最终尺寸:10Mb

    2. 每日最少KT在线数量:7%

    3. 上传下载总平均速度:50kb

  • 设计指标:
    1. 每用户最大分享空间:1Gb

    2. 每新递交任务扩散到所有人可知时限:2小时

    3. 任务查询极限情况下遍历所有种子时限:3分钟

      • 即,含有所需信息的机器离查询机最远情况
    4. 没有中央服务器,所有信息冗余分布式存储在所有机器中

我的理解

KT想成为特立独行的任务发布系统

  • 本质上是一种专用邮件列表

    1. 所有任务,所有人都可以看到
    2. 所有任务的所有成果所有人都可以看到
    3. 所有历史任务的所有信息都可以查询到
  • 特别的是:
    1. 没有中央服务器,任务靠自动扩散来完成通知
    2. 所有文件,分布式存储在所有机器中
  • 我的设计思路:
    1. KT只完成一种,没有中央服务版本的
      • KT_mother 仅仅是代号,表示一种运行方式,是最早运行的一个KT,对所有任务"感兴趣"
      • KT_sister 也是代号,表示所有其它KT运行机,只要保证7*24的运行,其实也成为了KT_mother
    2. 任务信息分两部分(效仿 newsgroup):
      • 任务描述作为摘要(邮件主题对待),自动同步到所有KT空间
      • 任务的成果等等(邮件正文,附件),KT空间中只保存用户订阅/参与/查询过的,并有清除的权力
      • 任务的成果,从所有KT实例网络整体中,存在至少一个完整复制
        • 可以想象为一个由KT组成的互联网,每个KT是个网路,所有KT的内容加起来可以组成完整内容的多个复本
    3. 任务成果的搜索从本地DB中进行
      • 本地DB中的信息,允许24小时的慢同步时间差
      • 任务成果的下载,采用Bt的方式进行

KT需要的调整

  1. "k68所有的内容都利用KT存放在大家的电脑上" -- 不可能,用户体验也太差
    • KT应该积极为用户考虑,保存所有必要的信息,灵活的帮助用户进行任务的管理
  2. "任何一个人提交了一个稿子,首先存放在自己的电脑上" -- 应该优先向任务发起人提交

KT需要设计的数学模型

KT实现难点

  1. 分布式储存的控制和查询
    • 任务成果作为独立的文件对象,在流转,增加过程中永远可访问?
    • 查询的快速和下载/同步的快速,如何实现?
    • 信息扩散的优先级别自动判定,保证所有任务信息,永远可访问!
  2. Bt的种子式数据同步
    • KT_mother 永远以Bt 方法尝试下载/更新所有任务成果
    • KT_sister 以Bt 方式下载想要的任务成果
    • 所有KT 自动以最小资源占用方式Bt下载/更新 任务索引 DB

PyKt/2006-01-05 (last edited 2009-12-25 07:10:05 by localhost)