<本任务已经追加酬金至10万,延期至2007年5月8日>

编写一个程序叫KT

任务编号:696
任务标题:K68编程挑战赛
任务分类:程序开发
任务金额:100000 元*100%=100000元
开始时间:2005-12-12 12:55:00,结束时间:2007-05-08 12:52:10

KT 是什么? 是一个p2p软件,将来要像BT一样伟大,他还没有诞生,现在期待着你来编写出来。

KT是干什么用的? KT的目标是消灭K68网站,假设没有k68.cn这个web网站,KT运行在自己的电脑上,能够完成K68.cn现在的全部流程。

主要功能描述如下:

会员注册:

任何人都可以免费注册为会员,就像QQ一样,用户注册后资料提交到一个特殊的程序上,这个程序控制所有的用户资料,用户登陆的时候到这里验证。这个程序运行在一个固定的ip的电脑上,暂时叫KT_S程序。

发布任务:

发布任务提交之后, 自动寻找管理员所在的KT上,管理员确认收到钱之后可以审核通过,通过之后,所有的人都能报名参加。

任务报名、交稿、评价、确认支付等环节,都在KT上实现。

一些细节的设想在下面进行了描述,可以用这种方式实现,也可以找到更好的方式来实现:

未来k68所有的内容都利用KT存放在大家的电脑上,每个人都可以拥有K68的全部内容,k68网站现在一共有5G的数据,按照大家的硬盘容量,完全都可以自己存放全部内容。在KT里面每个人可以设置自己准备拿出多大硬盘空间来存放内容。如果设置2个G,那就不能存放全部,但是可以从周围的KT用户那里获得需要的数据。在同一个城市,如果有100个用户,那么至少有40套完整的k68数据,都在本地互相访问数据,速度会非常快。

数据的安全问题,KT里面存放K68的文件和数据的时候要加密,不能以很多独立文件的形式存放,要考虑安全和效率的情况下,以很少几个大的打包文件的方式存放,同时在读取的时候,要有冗余信息校验错误。利用其他人电脑上的信息进行校验。

信息的同步,一个任务发布之后,或者一个交稿提交之后,如何让所有的KT用户收到该信息内容,是KT软件的成功的关键。 KT软件将用一种“链式反应”的方式进行信息同步。具体描述:任何一个人提交了一个稿子,首先存放在自己的电脑上,然后向周围的10个KT用户自动传送,每个KT用户收到之后再向周围的10个KT用户传送,这个过程用不了几次,就可以让所有的用户都有了这个信息。

将来会有一台机器,24小时不停机,运行KT,提供300G以上的硬盘,保存所有的信息,如果凌晨3点所有的用户都关机了,只有几个用户还在的时候,找不到有效信息的时候,这个KT用户提供完备的信息同步服务。

KT每次开机的时候自动找KT_S程序,登陆,汇报自己的ip ,同时获得100个离自己速度最快的KT用户ip列表。 将来我们会安排KT_s程序24小时运行。

还有KT用户的开机时间积分机制,自动记录每个用户的开机时间,累计为系统贡献的时间越长,积分越多。将来要利用这个积分来考核奖励用户。

KT新装,如果一台电脑上新装KT,此KT将自动从周围的用户那里去吸取数据,用1-5天的时间自动同步。

KT用户跨电脑使用,KT用户可以到别的电脑上登录KT,自动能够身份识别,达到控制利用自己的数据的目的。

管理员身份的KT用户可以审核任务,人工审核是否交钱,暂时不需要银行接口。

以上是KT要实现的主要功能,KT作为一个平台,除了上面的主要功能之外,还要搭载一些次要功能:

a. 互相留言的功能,越简单越好,和百度的贴吧那样最好。 留言分为公开的和悄悄话。
b. 网摘功能,个人看到什么好的东西,保留网址和摘要。
c. 个人文件储存功能,也就是大家互相利用别人的硬盘,加密存放自己的文件。而且文件要搅碎,存放在很多电脑上,分散,但是又能够很简单的恢复。

系统开发要求:

越简单越好,本任务的目的是实现一个简单的初级版本。以后的完善会不断追加费用。 安装文件包越小越好,最好不要使用巨大的MS库文件,我期待着短小精悍的运行和安装文件出现。

提示:这里有很多p2p软件的源代码,可以下载一个,研究,学习,在其基础上进行开发,注意不要侵权。开发语言,自定。推荐python,据说这个语言搭建原型最快,影响速度的地方将来还可以不断地用C进行改进。 http://www.ppcn.net/c40.aspx

建议: 如果你要参加这个任务,还不太了解k68的流程,请报名参加一两个任务,仔细研究一下.