Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2173645
  • 博文数量: 436
  • 博客积分: 9833
  • 博客等级: 中将
  • 技术积分: 5558
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-29 10:27
文章存档

2013年(47)

2012年(79)

2011年(192)

2010年(118)

分类: 系统运维

2010-10-15 20:00:12

网络工程Project 进度报告2

 

一、工作进展

   11091015的工作内容及进度

      在这一周中,组内的工作进度较为缓慢。前期对于选题的资料部分已经进行了较多的搜集和整理,而之后的关于查找源代码的部分发现了一些分歧。首先,便是组内对于研究文件传输方向还是文件共享方向的讨论。由于针对这两个方向的深度稍有不同,因此为了更好的理解P2P的“访问人数越多,速度越快”这一特点,最终组内成员都觉得还是做文件共享方向(类似eMuleBT)能够更好的体现P2P的这一特点,所以最终敲定的是查找有关文件共享方向的开源代码。

      布置完这一查找开源代码的任务后也出现不少问题。搜索一个相对适合组员阅读和深入的程序成为一个很重要的问题。而在这个过程中,由于编写后台的多为C++语言,所以对于多数学习java的组内成员而言在短期内搞懂C++可能有些困难,因此搜索运用java编写的文件共享的完整开源代码是一项较为重要的任务。通过小组成员的努力,最终找到一个相对合适的源代码,这也让小组可以顺利的进行下一阶段的工作。

     

  2、已搜索结果-摘要

1)前期找到的主要是eMuleBT的源代码,其中eMule主要由C++开发,而搜索到的BT则是python进行的开发(这两种开源代码量都较为庞大,针对小组后期实现一个简单功能的软件而言,分小组阅读分析代码是不太现实的)。

     

      

1 eMule_截图

                                      

 

2)后期找到的用JAVA编写的程序感到较为合适组内成员的分析和深入,而且界面也是大家能够基本实现的。

 

 

2 java编写小型程序类_截图

 

                   

    

3 程序运行结果     

                  

(这个代码是由组内的张晓雪同学搜索到的。在大致看过代码后,感觉相比于之前搜索到的相当庞大代码量的源码而言,这个源码还是适合小组进行阅读和完善的一个较为合适的一个,但具体这个代码是不是好还需要大家对代码进行细致的阅读和分析)

 

 

二、成员分工

宋伟、王曼丽、张晓雪、张子童、张婉娇:查找P2P源代码(JAVA实现)

杨庭红:P2P技术源代码(C++

  

 

三、成员个人总结(包括遇到问题以及初步解决方案)

宋伟:

在过去的一周中,小组的总效率不高,究其原因还是作为组长的自己在分配任务以及选择方向上的犹豫所致。由于对于接下来的深入部分没有一个比较明确的目标,所以导致这一周的工作进度缓慢。同时,由于现在我们的主要任务就是找到一个适合于小组进行深入的代码,但说“找代码”简单,实际做起来却没那么容易,可以说在这个过程中自己经历不少失败。所以,进行下一阶段的工作时要将已搜索到的相对合适的代码读懂,之后才能进行对代码的完善。

   

王曼丽:

这一周我主要搜集组长确定了主要工作为p2p---文件共享。其中,文件共享最广泛的应用就是eMule,我们开始搜索eMule-VeryCD的源代码。我首先了解了eMule使用的分散定位和分散传输的技术。eMule服务器只是保存用户相关信息,以及为什么下载人越多,传输速度也就越快。这个上一周我找到的BT传输技术近似,所以很快就明白了。接下来找到了相关网站下载源代码,但由于没有学过C++所以看起来比较困难,而且代码数量巨大。随后我开始查找基于java的代码,我找了一下午并没有找到。阅读了别人总结的看完eMule源代码的心得,我又去图书馆找到了《java p2p内幕》,正在阅读中……

遇到问题及解决:在网上寻找自己想要的东西实在太难了,不是打不开就是需要积分。这使我很烦恼。其实我觉得eMule对于我们刚刚接触p2p来说难度很大,由于不会c++很难看懂,更不用说要依照源代码进行修改,我感到任务很重。

下一周计划:我会继续查找基于java开发的p2p文件共享代码,与组长交流又没有适合我们阅读的代码。

 

张晓雪:

本周我更加深入地了解了p2p原理,了解了它的工作机理,并查阅了一些比较适合我们完善的代码。

---它是把文件分割成许多部分,存在不同的客户端(当然也是服务器中)。当有人在网上发布了一个文件,就会有很多人同时下载。P2P软件就会把文件分割成无数小块儿,不同的人下载不同的部分。然后再从与自己连接速度最快的n个电脑同时下载不同部分。这样每个人都是一个下载者,同时每个人又都是上传者。所以下载的人越多,速度就越快。

我从网上找到了一个Java版的p2p文件共享的代码。但是由于Java不太精通,我没能很好地运行它。

下一周计划:如果小组觉得我找的代码可以使用就专心于代码的研究。如果所找代码不符合要求就听从组织安排。

 

杨庭红:

在找p2p代码的过程比较盲目,因为不知道什么样的才算合理,因为我们小组有学c++的,也有学java的,所以两种代码都得找,找c++代码的时候不知道什么样的才算合理,有即时通讯也有文件共享方面的,最后经过大家的统一确定选择了文件共享方面。除了这些还有的另外比较麻烦的就是,找到c++之后,就是看代码了,这相对还比较容易 ,但是找java的时候就比较难了,因为我对java不太了解,而且很难看懂。小组就是以java代码为主,但是我也不能把c++的代码仍在一旁和大家看java,所以最近的任务就是c++的代码看起,然后协同大家的统一步骤完成每周的任务。

 

尹婷:

这周我主要把上周成员们收集到的有关P2P的原理、应用等的相关知识材料进行进一步分析和学习,特别是对于文件共享代码的阅读与分析。学习中发现了一些还不太了解的名词和原理,进而再次进行资料查询和学习,尤其是在代码阅读中,因为是基于C++的代码,所以遇到许多困难,在这其中与小组成员们进行讨论与交流。最后我们发现我们找到的代码,不是十分适合我们的应用与开发,所以又进行了新的代码搜集工作。

下一周计划:周五时小组成员又找到了基于Java的源代码,所以下周我的主要工作是进行代码阅读和逐步进行开发设计。

 

张子童:

我这周主要就是深入了解P2P技术、寻找代码和解读代码,在了解P2P技术时候,觉得在理论层的东西不是很好懂,所以就很快的开始了寻找代码,主要是对BT下载的源代码,想在找代码和读代码的过程中,能对P2P技术做更深的了解,主要的问题就是BT源代码基本上都是C++VB等未接触过的语言,所以在找代码上花费了很长时间,最后找到了一个C语言版的代码。开始了解读代码,但都是停留在这语言的表面。所以我下周会继续深入代码的解读。

 

张婉娇:

这周我刚刚找到组织,所以先对p2p的原理进行了解,知道它的基本概念,以及用它来能做什么,它的基本特征和优缺点。知道这些最基本层面的东西后,我们发现要想真正弄懂这个东西,必须要找源代码,并对其进行分析和研究,才能真正体会p2p的优点,以及对他的运用。接下来最重要的一步就是找到一个适合我们读的代码,由于我们大多数人学的都是java,所以我们找的代码最好是java编的,这就增加了我们的查找难度,因为好多基于p2p原理的程序大多是用c++编的。我找到了一个用java编的p2p原理程序代码,还没有进行分析,接下来等我们把代码确定下来后,就该进行代码的分析和研究了。

 

唐梦楠:

在这段时间的资料搜索中,我认识到了P2P是什么,它的原理和应用。P2P模式提高了资源共享的利用率,能在较低的成本下,充分利用空闲资源分发数据,避免拥塞,提供具备高实时性和容错性能的流服务,这也正是为什么近年来P2P在文件共享、流媒体方面得到广泛关注的原因。

我发现资料搜索大多时候如同大海捞针,不能只在像百度、Google这样的浏览器上搜索,要找一些专业的网站去搜索,这样才能在有限的时间内完成任务,目前我正在找一些关于P2P的专业网站,也希望老师可以提供一些!

对于P2P在理论上明白了,但是对于它的代码实际上还是有许多问题存在的,我想在找到合适的代码后能够和小组的同学一起探讨,总之就是无法做到将理论和实际很好的相结合。接下来我希望能尽快找到所需要的代码,然后进入对代码的分析理解阶段。

总之,这段时间一直在做一些基础工作,希望能够尽快进入关键!

 

 

四、前期总结及后期展望

在这一周的工作中,前期的代码搜索并不是很顺利,从上面的组内成员个人总结中可以看出每个人对于搜索代码的工作都感到一丝的困难,但后期(本周四)通过张晓雪同学搜索到的一个比较合适的源代码,让大家都感到精神为之一震。虽然代码在一些方面并没有已经成型的商业运作P2P文件共享工具功能强大,但是它却有着比较经典的P2P技术核心,配合着参看注释,我们感到这样一个代码是可以通过小组的分析去进行完善的。有了这样一个较为合适的代码后,下一阶段的任务是这样初定的:

首先,利用本周双休日的时间初步阅读代码。读懂代码是后面进行深入分析的关键,这需要每个小组成员进行阅读,而“阅读”并不仅仅是“看代码”而是要真正明白每个按钮监听下的工作、每行代码都是干什么用的等等细节,之后再小组讨论这个代码的优点和需要改进或完善的地方,从而才能确定我们需要完善的地方。

其次,若下周确定使用该代码则前期主要进行讨论,研究代码中存在的一些缺陷,同时分析代码中应用较好的P2P技术,更系统、认真的学习这个技术在实现中的应用方法;后期则打算确定初步的完善计划,组织部分成员开始进行代码的完善工作,而另一部分人则专门的进行P2P核心技术的研究。想来实现终归只是一种表现形式,而实现的底层则是那些万变不离其宗的核心技术,所以才觉得要让一部分成员进行专门的P2P技术的深入学习。所以,下一阶段的任务仍在有挑战的等待着我们的小组。大家加油!

 

阅读(744) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-19 16:58:56

广州红帽认证 LPI认证 详情咨询QQ786299545