p2p的第二个p指的是借款人。p2p是Peer-to-Peer的含义,中文的解释是个人对个人的借贷。这两个P所代表的内容并不是一个。其中的一个P主要指的是那些银行不愿意借款,或者说是无法贷款从银行等方面借到款项。又急切需要资金周转的小型企业或个人。而另一个P主要代表的就是投资者了,是那些缺乏理财渠道的个人投资者。
迅雷采用P2SP技术:
P2SP:Peer to Server&Peer 点对服务器和点(用户对服务器和用户)。
此处“点”(Peer)即网络节点或终端,可以理解为用户计算机。
BitTorrent中的“长效种子”就是P2SP的一个实现。
从原理上讲,P2P(Peer to Peer)是基于点对点(对等网络),一端的下载速度和另一端的上传速度密切相关,由于中国用户大多使用ADSL上网,ADSL的上传速度并不快,仅几十 K速度,一些用户还会人为限制上传速度,这导致了P2P方式的上传带宽资源的缺乏,因此中国用户会普遍感觉P2P的速度较慢慢。
P2S(Peer to Server)是基于用户对服务器,用户直接到某个大型的下载网站去下载文件,文件存储在网站服务器上,因此速度可以得到保证,通常都会有数百K的速度,但存在的问题是资源分散、不易搜索。
而迅雷使用的P2SP(Peer to Server & Peer)基于用户对服务器和用户机制,不同于P2P,也不同于P2S,P2SP下载方式实际上对P2P技术的进一步延伸,它不但支持P2P技术,同时还通过检索数据库把服务器资源和P2P资源整合到了一起,用户下载某一个文件的时候,会自动搜索其他资源,选择合适的资源进行加速,这使得迅雷在下载的稳定性和下载的速度上,比传统的P2P有了非常大的提高。
这里面的核心问题就是迅雷的智能资源选择,用户使用迅雷下载某个文件的同时,迅雷会自动收集用户的下载地址,并以MD5值判断是否为同一个文件,从而形成一个庞大的下载链接库,这样就在迅雷服务器端进行了资源的整合,当后面的用户下载同一个文件时,迅雷就会根据用户具体的网速而去一个速度最快的服务器上面下载同一个文件,由于选择通常是最优化的结果,因此用户感觉下载速度的确非常快。
P2P软件是采用P2P原理,实现高速下载的软件,例如最常用的15款P2P软件的有:
1、Bitcomet
2、比特精灵
3、μTorrent
4、eMule官方版
5、eMule VeryCD版
6、PPLive
7、PPStream
8、QQ直播
9、TOM-Skype
10、迅雷
11、POCO
12、酷狗(KuGoo)
13、PP点点通
14、百度下吧
15、百宝。
P2P在IT界最初的含义是Peer-to-peer,之后的含义是Point to point(点对点)。P2P已经被更广泛的理解为Pointer-to-Pointer, PC-to-PC等等。简单来说,P2P就是指数据的传输不再通过服务器,而是网络用户之间直接传递数据。
网络上许多服务可以归入P2P的行列。即时讯息系统譬如ICQ、Anychat、Yahoo Pager、微软的MSN Messenger以及国内的腾讯QQ是最流行的P2P应用。它们允许用户互相沟通和交换信息、交换文件。用户之间的信息交流不是直接的,需要有位于中心的服务器来协调。
--------------------------------------------------------------------------------
-
目前对于J2EE应用中的Persistence Layer的解决方案很多,其中,最近从Apache Turbine中剥离处理的Torque是一个优秀的ORM(Object Relational Mapping,对象角色建模) 解决方案。
主流的Persistence Layer解决方案
随着基于J2EE应用的日益增加,出现了很多Persistence Layer的解决方案。目前主要的解决方案有以下几种:
◆ 自己编写基于JDBC API的解决方案;
◆ 采用ObjectRational Mapping(ORM)工具或者是采用面向对象的数据库(ODBMS);
◆ J2EE/Entity Bean CMP (container-managed persistence);
◆ JDO。
JDBC
在很多情况下,尤其是没有采用良好的Persistence Layer解决方案的项目中,开发人员需要自己手动编写SQL语句,同时还要考虑事务处理等问题。从而使得SQL语句散落在代码中,可维护性很差。同时,由于每个项目都要重新编写Persistence 相关的代码,所以代码可重用性差。另外要求开发人员对于SQL语法必须非常熟悉,否则调试也比较困难。
使用JDBC的解决方案,数据必须存储在关系型数据库中。
ORM或者ODBMS
为了将开发人员从SQL语句中解脱出来,产生了很多ORM的工具。这些工具都比较简单,并且提供了API支持。
由于ORM工具比较多,它们采用的技术标准都不尽相同,而且没有统一的接口,因此,它们在为开发人员提供方便的同时,也增加了一定的束缚。ORM技术是比较成熟的,而且已经有很多产品了。
而ODBMS是近几年发展起来的,并不十分成熟,而且也没有得到广泛的应用。目前,众多ODBMS厂商正在关注JDO标准并加以实施。它可能在不久的将可以得到一定的推广。
使用ORM或者ODBMS的解决方案,数据也必须存储在关系或者面向对象数据库中。
EJB CMP
在J2EE的规范中,为EJB定义了两种Persistence的解决方案:一种是BMP,另一种是CMP。其中CMP不需要将SQL语句加入到代码中。
目前,在采用J2EE的应用中,EJB CMP方式得到了广泛应用。更加引人注重的是,随着EJB规范的发展,CMP也包含了一些高级关系的内容。但是,CMP的使用比较复杂,对很多开发人员来说比较难以把握。而且,不是在所有的情况下都适合在系统中采用EJB。
EJB提供了除了关系型数据库以外,更多的存储支持。
JDO
目前,有两种类型的JDO实现,一种是Sun的JDO,另一种是Castor JDO,这两者并不兼容。
Sun JDO是Sun Java Community Process给出的规范和参照实现。尽管JDO还有些不成熟,但它很有发展前景,而且填补了数据库编程领域的一大空白。对Java开发人员而言,JDO为对象持久性提供了第一个标准化的、完全面向对象的方法。与此领域中的其它技术相比,JDO的优点是使用起来十分简单,而且对原始的Java源代码打乱程度最小。同时,Sun JDO对数据存储类型是透明的。
而Castor JDO是一个开源项目,从1999年开始开发。在开源的JDO项目中,它提供的功能是最强大的。尽管Castor JDO开发的比较早,但是,随着Sun JDO的日益成熟,它的优势越来越小。同时,Castor JDO只提供对RDMS的支持。
从上面的分析我们可以看到,由于目前绝大多数应用系统的数据都是存储在RDMS中,而且JDO目前还不十分完善,因此,在项目中还是应该采用成熟的ORM工具。
Torque
Torque是一种ORM的工具,它最早是Apache Jakarta Turbine项目的一部分,现在已经从Turbine中剥离出来,可以独立使用。目前,它的版本是30。
Torque的主要特性
Torque主要包含两部分:一部分是Generator,它可以产生应用需要的所有数据库资源,包括sql和java文件;另外,Torque还提供了一个运行环境来运行产生的类。下面主要讨论Torque 的Generator。
1. 三个核心文件
要利用Torque的Generator,必须配置好以下三个文件(Torque的安装路径为$Torque_home):
◆ $Torque_home/buildproperties 存储数据库系统的属性,主要有项目名称、数据库类型、数据库链接URL、Driver、用户名、密码及主机名等。Torque利用该文件的属性,建立与数据库系统的连接。
◆ $Torque_home/schema/project-schemaXML、id-table-schemaxml 其中,project-schemaxml 存储表结构信息;而id-table-schemaxml由Torque的IDBroker服务调用。
◆ $Torque_home/Torqueproperties 存储应用执行时,由Torque生成的对象模型代码使用的属性值。在生成数据库系统资源的时候不需要这个文件。
2 核心任务
利用Torque提供的Generator,可以完成下面的主要任务:
◆ sql 解析$Torque_home/schema/*xml,生成对应的$Torque_home/src/sql/*sql文件;
◆ doc 解析$Torque_home/schema/*xml,生成对应的$Torque_home/src/sql/*Html文件,描述数据库结构;
◆ create-db 生成不同平台上产生数据库系统的脚本;
◆ insert-sql 执行$Torque_home/schema/*-schemasql文件到指定数据库;
◆ sql2xml 解析$Torque_home/schema/schemasql文件,产生Torque对应的数据库文件$Torque_home/schema/schemaxml;
◆ id-table-init-sql 根据$Torque_home/schema/id-table-schemaxml文件产生id表的初始化脚本文件;
上述任务需要ANT的支持,运行命令为$Torque_home/ant-f build-torquexml $taskname。
3 Peer
Peer是Torque使用的ORM工具。它比其它的工具(例如Castor、Osage等)的层次要低。开发人员需要手工编写一些代码,但是这从一定意义上增加了灵活性。
Peer利用Torque数据库Adaptor类来建立与数据库的连接。因为它支持主流的数据库系统,所以,开发人员一般情况下不需要为数据库系统编写Adaptor。
在建立了项目数据库系统的Schema文件后,运行“ant -f build-torquexml”。Torque为Schema 中的每个表的对象模型生成四个类,例如开发人员在project-schemaxml 中定义了Author表,则Torque生成的四个类为Author、AuthorPeer、 BaseAuthor、BaseAuthorPeer等。其中Author和AuthorPeer分别是BaseAuthor和BaseAuthorPeer 的子类。这两个基类(BaseAuthor、BaseAuthorPeer)包含了Torque的生成逻辑,在开发中不应该修改。因为Torque会在再次生成对象模型时覆盖这些文件,所以系统中的业务逻辑应该放在Author和AuthorPeer类中。
在Torque中,AuthorPeer和BaseAuthorPeer称为对等类(Peer Classes),而Author和BaseAuthor称为数据对象(Data Objects)。对等类和数据对象之间的区别是:“对等类”封装数据表信息,并提供静态方法对表进行增加、删除、修改记录的 *** 作;“数据对象”封装表中的记录信息,并对每个字段提供getters/mutators方法。
4 Criteria
Criteria是一对SQL查询标准的抽象对象,开发人员利用它来封装特定的SQL语句。Criteria实际上是SQL语句中域名和值之间的映射,默认的Comparator是等于(=)。同时,它还提供基本的Comparator,以及Join、Order by、Distinct等。更多的方法及属性,请查看orgapachetorqueutil
Criteria。
Criteria提供了一般意义上的SQL功能,假如仍然不能满足开发的需要,开发人员仍然可以手写SQL语句。
Torque在J2EE中的应用
在Apache Jakarta的项目中,有很多Web 应用构架,其中Struts、Cocoon及Turbine是比较闻名的几个。
Torque作为数据库抽象的工具,虽然是从Turbine中剥离出来的,但是它可以与其它的构架很好地结合,成为Persistence层的优秀解决方案。
应用步骤
在J2EE应用,使用Torque的步骤如下:
1. 系统分析和设计,直至Business Object;
2. 按照Business Object模型,形成数据库脚本文件databasesql;
3. 编写$Torque_home/buildproperties
不是。
SCI收录的是期刊,影响因子的主体也是期刊,单纯的一篇文献是没有影响因子的,一本期刊的影响因子是这么算的,用它刊登的文章在两年内被引用的次数除以刊登的总的文章数目(其实要加权的,这里简单说看你学校订的是什么数据库了WebofScience改版以后版面布局很清晰,影响因子,引用和被引清清楚楚Scopus国际上最大的学术期刊出版集团Elsevier的数据库,当然也包括非Elsevier的期刊数据,非常好用,不查源代码,查重只查论文,拿论文去比对知网论文库:计算机专业是计算机硬件与软件相结合、面向系统、侧重应用的宽口径专业通过基础教学与专业训练,培养基础知识扎实、知识面宽、工程实践能力强,具有开拓创新意,简单来说,pubpeer就是让多个待发表论文所处领域的专家对其提供意见,从而协助编辑判断文章是否适合发表的过程下面个人简单解释一下这个制度、流程和局限性,鉴于本人并非专注于期刊发表领域的专家,所以答案难免具有一定的不。
修改重复率或抄袭率论文的经验:CNKI是连续的字数相同不能超过13个字,万方是连续的字数相同不能超过15个字否则就会标注出来,算进重复率我们学校规定是CNKI检测重复率不能超过30%两种数据库检测重复率会有结果上的误差,一般CNKI会更严格一点,先在用万方检测一下,然后对照重复段落。
以上就是关于p2p的第二个p指的是全部的内容,包括:p2p的第二个p指的是、迅雷的历史、什么是P2P软件啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)