当前位置:首页 » 编程语言 » p2p与php

p2p与php

发布时间: 2023-01-07 16:19:25

‘壹’ p2p和php本质区别是什么.

php是一种语言,用来开发网站的,
p2p是一种协议,点对点的意思,用来决定网络之间是怎么建立连接的,而迅雷用的是p2sp,算是p2p的一种吧 会更稳定快速些

‘贰’ 有支持p2p的php视频播放器吗

lz是指网页视频播放器?flash的,html5的,目前就这两种吧!你还想支持p2p,你做梦!如果能实现,像那种用快播、网络影音播放视频的网站就不用另外下快播或者网络影音的客户端了。

‘叁’ 大型的PHP应用,通常使用什么应用做消息队列

一、消息队列概述x0dx0a消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。x0dx0a目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。x0dx0a二、消息队列应用场景x0dx0a以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。x0dx0a2.1异步处理x0dx0a场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。x0dx0a(1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。(架构KKQ:466097527,欢迎加入)x0dx0a(2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。x0dx0a假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒,并行的时间可能是100毫秒。x0dx0a因为CPU在单位时间内处理的请求数是一定的,假设CPU1秒内吞吐量是100次。则串行方式1秒内CPU可处理的请求量是7次(1000/150)。并行方式处理的请求量是10次(1000/100)。x0dx0a小结:如以上案例描述,传统的方式系统的性能(并发量,吞吐量,响应时间)会有瓶颈。如何解决这个问题呢?x0dx0a引入消息队列,将不是必须的业务逻辑,异步处理。改造后的架构如下:x0dx0a按照以上约定,用户的响应时间相当于是注册信息写入数据库的时间,也就是50毫秒。注册邮件,发送短信写入消息队列后,直接返回,因此写入消息队列的速度很快,基本可以忽略,因此用户的响应时间可能是50毫秒。因此架构改变后,系统的吞吐量提高到每秒20 QPS。比串行提高了3倍,比并行提高了两倍。x0dx0a2.2应用解耦x0dx0a场景说明:用户下单后,订单系统需要通知库存系统。传统的做法是,订单系统调用库存系统的接口。如下图:x0dx0a传统模式的缺点:x0dx0a1) 假如库存系统无法访问,则订单减库存将失败,从而导致订单失败;x0dx0a2) 订单系统与库存系统耦合;x0dx0a如何解决以上问题呢?引入应用消息队列后的方案,如下图:x0dx0a订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。x0dx0a库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作。x0dx0a假如:在下单时库存系统不能正常使用。也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。x0dx0a2.3流量削锋x0dx0a流量削锋也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛。x0dx0a应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。x0dx0a可以控制活动的人数;x0dx0a可以缓解短时间内高流量压垮应用;x0dx0a用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面;x0dx0a秒杀业务根据消息队列中的请求信息,再做后续处理。x0dx0a2.4日志处理x0dx0a日志处理是指将消息队列用在日志处理中,比如Kafka的应用,解决大量日志传输的问题。架构简化如下:x0dx0a日志采集客户端,负责日志数据采集,定时写受写入Kafka队列;x0dx0aKafka消息队列,负责日志数据的接收,存储和转发;x0dx0a日志处理应用:订阅并消费kafka队列中的日志数据;x0dx0a以下是新浪kafka日志处理应用案例:x0dx0a(1)Kafka:接收用户日志的消息队列。x0dx0a(2)Logstash:做日志解析,统一成JSON输出给Elasticsearch。x0dx0a(3)Elasticsearch:实时日志分析服务的核心技术,一个schemaless,实时的数据存储服务,通过index组织数据,兼具强大的搜索和统计功能。x0dx0a(4)Kibana:基于Elasticsearch的数据可视化组件,超强的数据可视化能力是众多公司选择ELK stack的重要原因。x0dx0a2.5消息通讯x0dx0a消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。x0dx0a点对点通讯:x0dx0a客户端A和客户端B使用同一队列,进行消息通讯。x0dx0a聊天室通讯:x0dx0a客户端A,客户端B,客户端N订阅同一主题,进行消息发布和接收。实现类似聊天室效果。x0dx0a以上实际是消息队列的两种消息模式,点对点或发布订阅模式。模型为示意图,供参考。x0dx0a三、消息中间件示例x0dx0a3.1电商系统x0dx0a消息队列采用高可用,可持久化的消息中间件。比如Active MQ,Rabbit MQ,Rocket Mq。(1)应用将主干逻辑处理完成后,写入消息队列。消息发送是否成功可以开启消息的确认模式。(消息队列返回消息接收成功状态后,应用再返回,这样保障消息的完整性)x0dx0a(2)扩展流程(发短信,配送处理)订阅队列消息。采用推或拉的方式获取消息并处理。x0dx0a(3)消息将应用解耦的同时,带来了数据一致性问题,可以采用最终一致性方式解决。比如主数据写入数据库,扩展应用根据消息队列,并结合数据库方式实现基于消息队列的后续处理。x0dx0a3.2日志收集系统x0dx0a分为Zookeeper注册中心,日志收集客户端,Kafka集群和Storm集群(OtherApp)四部分组成。x0dx0aZookeeper注册中心,提出负载均衡和地址查找服务;x0dx0a日志收集客户端,用于采集应用系统的日志,并将数据推送到kafka队列;x0dx0a四、JMS消息服务x0dx0a讲消息队列就不得不提JMS 。JMS(java Message Service,Java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。x0dx0a在EJB架构中,有消息bean可以无缝的与JM消息服务集成。在J2EE架构模式中,有消息服务者模式,用于实现消息与应用直接的解耦。x0dx0a4.1消息模型x0dx0a在JMS标准中,有两种消息模型P2P(Point to Point),Publish/Subscribe(Pub/Sub)。x0dx0a4.1.1 P2P模式x0dx0aP2P模式包含三个角色:消息队列(Queue),发送者(Sender),接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到他们被消费或超时。x0dx0aP2P的特点x0dx0a每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中)x0dx0a发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,它不会影响到消息被发送到队列x0dx0a接收者在成功接收消息之后需向队列应答成功x0dx0a如果希望发送的每个消息都会被成功处理的话,那么需要P2P模式。(架构KKQ:466097527,欢迎加入)x0dx0a4.1.2 Pub/sub模式x0dx0a包含三个角色主题(Topic),发布者(Publisher),订阅者(Subscriber) 。多个发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。x0dx0aPub/Sub的特点x0dx0a每个消息可以有多个消费者x0dx0a发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息。x0dx0a为了消费消息,订阅者必须保持运行的状态。x0dx0a为了缓和这样严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅。这样,即使订阅者没有被激活(运行),它也能接收到发布者的消息。x0dx0a如果希望发送的消息可以不被做任何处理、或者只被一个消息者处理、或者可以被多个消费者处理的话,那么可以采用Pub/Sub模型。x0dx0a4.2消息消费x0dx0a在JMS中,消息的产生和消费都是异步的。对于消费来说,JMS的消息者可以通过两种方式来消费消息。x0dx0a(1)同步x0dx0a订阅者或接收者通过receive方法来接收消息,receive方法在接收到消息之前(或超时之前)将一直阻塞;x0dx0a(2)异步x0dx0a订阅者或接收者可以注册为一个消息监听器。当消息到达之后,系统自动调用监听器的onMessage方法。x0dx0aJNDI:Java命名和目录接口,是一种标准的Java命名系统接口。可以在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回资源连接建立所必须的信息。x0dx0aJNDI在JMS中起到查找和访问发送目标或消息来源的作用。(架构KKQ:466097527,欢迎加入)x0dx0a4.3JMS编程模型x0dx0a(1) ConnectionFactoryx0dx0a创建Connection对象的工厂,针对两种不同的jms消息模型,分别有QueueConnectionFactory和TopicConnectionFactory两种。可以通过JNDI来查找ConnectionFactory对象。x0dx0a(2) Destinationx0dx0aDestination的意思是消息生产者的消息发送目标或者说消息消费者的消息来源。对于消息生产者来说,它的Destination是某个队列(Queue)或某个主题(Topic);对于消息消费者来说,它的Destination也是某个队列或主题(即消息来源)。x0dx0a所以,Destination实际上就是两种类型的对象:Queue、Topic可以通过JNDI来查找Destination。x0dx0a(3) Connectionx0dx0aConnection表示在客户端和JMS系统之间建立的链接(对TCP/IP socket的包装)。Connection可以产生一个或多个Session。跟ConnectionFactory一样,Connection也有两种类型:QueueConnection和TopicConnection。x0dx0a(4) Sessionx0dx0aSession是操作消息的接口。可以通过session创建生产者、消费者、消息等。Session提供了事务的功能。当需要使用session发送/接收多个消息时,可以将这些发送/接收动作放到一个事务中。同样,也分QueueSession和TopicSession。x0dx0a(5) 消息的生产者x0dx0a消息生产者由Session创建,并用于将消息发送到Destination。同样,消息生产者分两种类型:QueueSender和TopicPublisher。可以调用消息生产者的方法(send或publish方法)发送消息。x0dx0a(6) 消息消费者x0dx0a消息消费者由Session创建,用于接收被发送到Destination的消息。两种类型:QueueReceiver和TopicSubscriber。可分别通过session的createReceiver(Queue)或createSubscriber(Topic)来创建。当然,也可以session的creatDurableSubscriber方法来创建持久化的订阅者。x0dx0a(7) MessageListenerx0dx0a消息监听器。如果注册了消息监听器,一旦消息到达,将自动调用监听器的onMessage方法。EJB中的MDB(Message-Driven Bean)就是一种MessageListener。x0dx0a深入学习JMS对掌握JAVA架构,EJB架构有很好的帮助,消息中间件也是大型分布式系统必须的组件。本次分享主要做全局性介绍,具体的深入需要大家学习,实践,总结,领会。x0dx0a五、常用消息队列x0dx0a一般商用的容器,比如WebLogic,JBoss,都支持JMS标准,开发上很方便。但免费的比如Tomcat,Jetty等则需要使用第三方的消息中间件。本部分内容介绍常用的消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka)以及他们的特点。x0dx0a5.1 ActiveMQx0dx0aActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。x0dx0aActiveMQ特性如下:x0dx0a⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQPx0dx0a⒉ 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)x0dx0a⒊ 对spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性x0dx0a⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上x0dx0a⒌ 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTAx0dx0a⒍ 支持通过JDBC和journal提供高速的消息持久化x0dx0a⒎ 从设计上保证了高性能的集群,客户端-服务器,点对点x0dx0a⒏ 支持Ajaxx0dx0a⒐ 支持与Axis的整合x0dx0a⒑ 可以很容易得调用内嵌JMS provider,进行测试x0dx0a5.2 RabbitMQx0dx0aRabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX,持久化。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。x0dx0a几个重要概念:x0dx0aBroker:简单来说就是消息队列服务器实体。x0dx0aExchange:消息交换机,它指定消息按什么规则,路由到哪个队列。x0dx0aQueue:消息队列载体,每个消息都会被投入到一个或多个队列。x0dx0aBinding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。x0dx0aRouting Key:路由关键字,exchange根据这个关键字进行消息投递。x0dx0avhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。x0dx0aprocer:消息生产者,就是投递消息的程序。x0dx0aconsumer:消息消费者,就是接受消息的程序。x0dx0achannel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。x0dx0a消息队列的使用过程,如下:x0dx0a(1)客户端连接到消息队列服务器,打开一个channel。x0dx0a(2)客户端声明一个exchange,并设置相关属性。x0dx0a(3)客户端声明一个queue,并设置相关属性。x0dx0a(4)客户端使用routing key,在exchange和queue之间建立好绑定关系。x0dx0a(5)客户端投递消息到exchange。x0dx0aexchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。x0dx0a5.3 ZeroMQx0dx0a号称史上最快的消息队列,它实际类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。x0dx0a引用官方的说法: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”x0dx0a特点是:x0dx0a高性能,非持久化;x0dx0a跨平台:支持Linux、Windows、OS X等。x0dx0a多语言支持; C、C++、Java、.NET、Python等30多种开发语言。x0dx0a可单独部署或集成到应用中使用;x0dx0a可作为Socket通信库使用。x0dx0a与RabbitMQ相比,ZMQ并不像是一个传统意义上的消息队列服务器,事实上,它也根本不是一个服务器,更像一个底层的网络通讯库,在Socket API之上做了一层封装,将网络通讯、进程通讯和线程通讯抽象为统一的API接口。支持“Request-Reply “,”Publisher-Subscriber“,”Parallel Pipeline”三种基本模型和扩展模型。x0dx0aZeroMQ高性能设计要点:x0dx0a1、无锁的队列模型x0dx0a对于跨线程间的交互(用户端和session)之间的数据交换通道pipe,采用无锁的队列算法CAS;在pipe两端注册有异步事件,在读或者写消息到pipe的时,会自动触发读写事件。x0dx0a2、批量处理的算法x0dx0a对于传统的消息处理,每个消息在发送和接收的时候,都需要系统的调用,这样对于大量的消息,系统的开销比较大,zeroMQ对于批量的消息,进行了适应性的优化,可以批量的接收和发送消息。x0dx0a3、多核下的线程绑定,无须CPU切换x0dx0a区别于传统的多线程并发模式,信号量或者临界区, zeroMQ充分利用多核的优势,每个核绑定运行一个工作者线程,避免多线程之间的CPU切换开销。x0dx0a5.4 Kafkax0dx0aKafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。x0dx0aKafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:x0dx0a通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。(文件追加的方式写入数据,过期的数据定期删除)x0dx0a高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。x0dx0a支持通过Kafka服务器和消费机集群来分区消息。x0dx0a支持Hadoop并行数据加载。x0dx0aKafka相关概念x0dx0aBrokerx0dx0aKafka集群包含一个或多个服务器,这种服务器被称为broker[5]x0dx0aTopicx0dx0a每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)x0dx0aPartitionx0dx0aParition是物理上的概念,每个Topic包含一个或多个Partition.x0dx0aProcerx0dx0a负责发布消息到Kafka brokerx0dx0aConsumerx0dx0a消息消费者,向Kafka broker读取消息的客户端。x0dx0aConsumer Groupx0dx0a每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。x0dx0a一般应用在大数据日志处理或对实时性(少量延迟),可靠性(少量丢数据)要求稍低的场景使用。

‘肆’ 谁知道p2p信贷系统源码有哪几种语言呢能详细介绍下吗

介绍下目前几款主流的网贷系统源码开发语言:
1. Java语言。java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等,优势非常明显。也是目前网贷系统制作最佳开发语言。
2. .NET语言。.NET可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。鉴于安全性也是网贷源码开发中会考虑使用的一种语言。
3. PHP语言。PHP语言也是目前用的非常多的一款开发语言,语法吸收了C语言、Java和Perl的特点,易于学习,使用广泛,主要适用于Web开发领域。优势非常明显,支持几乎所有流行的数据库以及操作系统;最重要的是PHP可以用C、C++进行程序的扩展等等。如果考虑程序移植的话就比较麻烦了。以上内容摘自迪蒙网贷系统网络,希望对你有帮助。

‘伍’ P2P、P2C 、O2O 、B2C、B2B和C2C名词解释

含义 :个人对个人。比如P2P借贷,是指一种将小额资金聚集起来,借贷给有资金需求人群的一种民间小额借贷模式。

模式:

第一种是纯线上模式,是纯粹的P2P,在这种平台模式上纯粹进行信息匹配,帮助资金借贷双方更好的进行资金匹配,但缺点明显,这种线上模式并不参与担保;

第二种是债权转让模式,平台本身先行放贷,再将债权放到平台进行转让,很明显能让企业提高融资端的工作效率,但容易出现资金池,不能让资金充分发挥效益。

含义 :线上线下相结合。即把线下商务机会与互联网结合在一起,让互联网成为线下交易的前台。说白了就是线上揽客,线下服务。

运营模式:

(1)Online to Offline是线上交易到线下消费体验

(2)Offline to Online是线下营销到线上交易

(3)Offline to Online to Offline是线下营销到线上交易再到线下消费体验

(4)Online to Offline to Online是线上交易或营销到线下消费体验再到线上消费体验

eg. 保险直购O2O,苏宁易购O2O,大众点评O2O等

特点 :推广效果可查,每笔交易可跟踪。

优势: 把网上和线下的优势完美结合,让消费者在享受线上优惠价格的同时,又可以享受线下贴身服务。同时,O2O模式还可实现不同商家的联盟。

含义 :商对客。即企业通过互联网为消费者提供一个新型的购物环境——网上商店,直接面向消费者销售产品和服务。这种形式的电子商务一般以网络零售业为主,主要借助于互联网开展在线销售活动。

B2C电子商务网站组成:

(1)为顾客提供在线购物场所的商场网站;

(2)负责为客户所购商品进行配送的配送系统;

(3)负责顾客身份的确认及货款结算的银行及认证系统。

代表网站:

天猫——为人服务做平台

京东——自主经营卖产品

凡客——自产自销做品牌

含义 :商对商。即企业对企业的电子商务模式。B2B(也有写成BTB)是指企业对企业之间的营销关系,它将企业内部网,通过B2B网站与客户紧密结合起来,通过网络的快速反应,为客户提供更好的服务,从而促进企业的业务发展(Business Development)。近年来B2B发展势头迅猛,趋于成熟。

组成要素:

(1)买卖:B2B网站平台为消费者提供质优价廉的商品,吸引消费者购买的同时促使更多商家的入驻。

(2)合作:与物流公司建立合作关系,为消费者的购买行为提供最终保障,这是B2B平台硬性条件之一。

(3)服务:物流主要是为消费者提供购买服务,从而实现再一次的交易。

代表网站:

(1)阿里巴巴

阿里巴巴是国内也是全球最大的B2B电子商务网站。是中小企业首选的B2B平台,主要提供“诚信通”服务,但由于所有用户基本上都是“诚信通”客户。

(2)中国制造网

中国制造网是B2B电子商务行业网站后起之秀,干净的网站风格,实用的网站类容,深受用户喜爱。

(3)中国供应商

中国供应商是由中国互联网新闻中心主办的B2B贸易平台。提供多种样式的广告服务,但网站以免费普通会员居多,好好运营商铺,效果还可以。

含义 :个人与个人之间的电子商务。比如一个消费者有一台电脑,通过网络进行交易,把它出售给另外一个消费者,此种交易类型就称为C2C电子商务。

代表网站:

(1)淘宝网

(2)易趣网

(3)拍拍网

含义 :商品和顾客,产品从生产企业直接送到消费者手中,中间没有任何的交易环节。是继B2B、B2C、C2C之后的又一个电子商务新概念。在国内叫做:生活服务平台。

P2C把老百姓日常生活当中的一切密切相关的服务信息,如房产、餐饮、交友、家政服务、票务、健康、医疗、保健等聚合在平台上,实现服务业的电子商务化。

衍生:

(1)personal(个人) to Company(公司)

(2)platform(平台) to CreditAssignment(债权转让)

该理论是国内首个P2C互联网金融服务,对债权转让企业进行资质审核、实地考察,筛选出具有投资价值的优质债权项目在平台上向投资者公开;并提供在线投资的交易平台,实时为投资者生成具有法律效力的债权转让及服务协议;监督企业的项目经营,管理评估风险,确保投资者资金安全。

B2B有三宝:企业、中介、沟通好

B2C有三宝:品牌、渠道、销售好

C2C有三宝:你开、我买、支付宝

O2O有三宝:线上、线下、一起搞

LBS有三宝:签到、优惠、位置找

NFC有三宝:近场、支付、安全好

SEO有三宝:内容、外链、权重屌

EDM有三宝:内容、受众、分析好

CPA有三宝:行动、转化、站长恼

CPS有三宝:佣金、销量、效果好

CPC有三宝:点击、引导、作弊少

CPM有三宝:展示、千人、不可靠

PHP有三宝:开放、高效、成本少

B2B(经济组织对经济组织)

B2C(经济组织对消费者)

B2B2C(企业对企业对消费者)

C2B(T)(消费者集合竞价-团购)

C2C(消费者对消费者)

B2F(企业对家庭)

O2O(网上与网下相结合)

SaaS(软件服务)

PaaS(平台服务)

IaaS(基础服务)

M-B(移动电子商务)

B2G(政府采购)

G2B(政府抛售)

B2M(面向市场营销的电子商务企业)

M2C(生产厂商对消费者)

SoLoMo(社交+本地化+移动)

ABC(代理商-商家-消费者)

BAB(企业-联盟-企业)

P2C(生活服务平台)

P2P(点对点、渠道对渠道)

SNS-EC(社会化网络电子商务)

B2S(分享式商务,或体验式商务)

http://news.mbalib.com/story/88506

http://www.ceconline.com/sales_marketing/ma/8800074438/01/

‘陆’ p2p系统java的好还是php的好

看你拥有什么吧,如果是钱,长期的目光,那就是java,如果是白手起家,php开源。

‘柒’ 大型的PHP应用,通常使用什么应用做消息队列

一、消息队列概述
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。
二、消息队列应用场景
以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。
2.1异步处理
场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种1.串行的方式;2.并行方式。
(1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。(架构KKQ:466097527,欢迎加入)
(2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。
假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒,并行的时间可能是100毫秒。
因为CPU在单位时间内处理的请求数是一定的,假设CPU1秒内吞吐量是100次。则串行方式1秒内CPU可处理的请求量是7次(1000/150)。并行方式处理的请求量是10次(1000/100)。
小结:如以上案例描述,传统的方式系统的性能(并发量,吞吐量,响应时间)会有瓶颈。如何解决这个问题呢?
引入消息队列,将不是必须的业务逻辑,异步处理。改造后的架构如下:
按照以上约定,用户的响应时间相当于是注册信息写入数据库的时间,也就是50毫秒。注册邮件,发送短信写入消息队列后,直接返回,因此写入消息队列的速度很快,基本可以忽略,因此用户的响应时间可能是50毫秒。因此架构改变后,系统的吞吐量提高到每秒20 QPS。比串行提高了3倍,比并行提高了两倍。
2.2应用解耦
场景说明:用户下单后,订单系统需要通知库存系统。传统的做法是,订单系统调用库存系统的接口。如下图:
传统模式的缺点:
1) 假如库存系统无法访问,则订单减库存将失败,从而导致订单失败;
2) 订单系统与库存系统耦合;
如何解决以上问题呢?引入应用消息队列后的方案,如下图:
订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。
库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作。
假如:在下单时库存系统不能正常使用。也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。
2.3流量削锋
流量削锋也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛。
应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。
可以控制活动的人数;
可以缓解短时间内高流量压垮应用;
用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面;
秒杀业务根据消息队列中的请求信息,再做后续处理。
2.4日志处理
日志处理是指将消息队列用在日志处理中,比如Kafka的应用,解决大量日志传输的问题。架构简化如下:
日志采集客户端,负责日志数据采集,定时写受写入Kafka队列;
Kafka消息队列,负责日志数据的接收,存储和转发;
日志处理应用:订阅并消费kafka队列中的日志数据;
以下是新浪kafka日志处理应用案例:
(1)Kafka:接收用户日志的消息队列。
(2)Logstash:做日志解析,统一成JSON输出给Elasticsearch。
(3)Elasticsearch:实时日志分析服务的核心技术,一个schemaless,实时的数据存储服务,通过index组织数据,兼具强大的搜索和统计功能。
(4)Kibana:基于Elasticsearch的数据可视化组件,超强的数据可视化能力是众多公司选择ELK stack的重要原因。
2.5消息通讯
消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。
点对点通讯:
客户端A和客户端B使用同一队列,进行消息通讯。
聊天室通讯:
客户端A,客户端B,客户端N订阅同一主题,进行消息发布和接收。实现类似聊天室效果。
以上实际是消息队列的两种消息模式,点对点或发布订阅模式。模型为示意图,供参考。
三、消息中间件示例
3.1电商系统
消息队列采用高可用,可持久化的消息中间件。比如Active MQ,Rabbit MQ,Rocket Mq。(1)应用将主干逻辑处理完成后,写入消息队列。消息发送是否成功可以开启消息的确认模式。(消息队列返回消息接收成功状态后,应用再返回,这样保障消息的完整性)
(2)扩展流程(发短信,配送处理)订阅队列消息。采用推或拉的方式获取消息并处理。
(3)消息将应用解耦的同时,带来了数据一致性问题,可以采用最终一致性方式解决。比如主数据写入数据库,扩展应用根据消息队列,并结合数据库方式实现基于消息队列的后续处理。
3.2日志收集系统
分为Zookeeper注册中心,日志收集客户端,Kafka集群和Storm集群(OtherApp)四部分组成。
Zookeeper注册中心,提出负载均衡和地址查找服务;
日志收集客户端,用于采集应用系统的日志,并将数据推送到kafka队列;
四、JMS消息服务
讲消息队列就不得不提JMS 。JMS(Java Message Service,Java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。
在EJB架构中,有消息bean可以无缝的与JM消息服务集成。在J2EE架构模式中,有消息服务者模式,用于实现消息与应用直接的解耦。
4.1消息模型
在JMS标准中,有两种消息模型P2P(Point to Point),Publish/Subscribe(Pub/Sub)。
4.1.1 P2P模式
P2P模式包含三个角色:消息队列(Queue),发送者(Sender),接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到他们被消费或超时。
P2P的特点
每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中)
发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,它不会影响到消息被发送到队列
接收者在成功接收消息之后需向队列应答成功
如果希望发送的每个消息都会被成功处理的话,那么需要P2P模式。(架构KKQ:466097527,欢迎加入)
4.1.2 Pub/sub模式
包含三个角色主题(Topic),发布者(Publisher),订阅者(Subscriber) 。多个发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。
Pub/Sub的特点
每个消息可以有多个消费者
发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息。
为了消费消息,订阅者必须保持运行的状态。
为了缓和这样严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅。这样,即使订阅者没有被激活(运行),它也能接收到发布者的消息。
如果希望发送的消息可以不被做任何处理、或者只被一个消息者处理、或者可以被多个消费者处理的话,那么可以采用Pub/Sub模型。
4.2消息消费
在JMS中,消息的产生和消费都是异步的。对于消费来说,JMS的消息者可以通过两种方式来消费消息。
(1)同步
订阅者或接收者通过receive方法来接收消息,receive方法在接收到消息之前(或超时之前)将一直阻塞;
(2)异步
订阅者或接收者可以注册为一个消息监听器。当消息到达之后,系统自动调用监听器的onMessage方法。
JNDI:Java命名和目录接口,是一种标准的Java命名系统接口。可以在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回资源连接建立所必须的信息。
JNDI在JMS中起到查找和访问发送目标或消息来源的作用。(架构KKQ:466097527,欢迎加入)
4.3JMS编程模型
(1) ConnectionFactory
创建Connection对象的工厂,针对两种不同的jms消息模型,分别有QueueConnectionFactory和TopicConnectionFactory两种。可以通过JNDI来查找ConnectionFactory对象。
(2) Destination
Destination的意思是消息生产者的消息发送目标或者说消息消费者的消息来源。对于消息生产者来说,它的Destination是某个队列(Queue)或某个主题(Topic);对于消息消费者来说,它的Destination也是某个队列或主题(即消息来源)。
所以,Destination实际上就是两种类型的对象:Queue、Topic可以通过JNDI来查找Destination。
(3) Connection
Connection表示在客户端和JMS系统之间建立的链接(对TCP/IP socket的包装)。Connection可以产生一个或多个Session。跟ConnectionFactory一样,Connection也有两种类型:QueueConnection和TopicConnection。
(4) Session
Session是操作消息的接口。可以通过session创建生产者、消费者、消息等。Session提供了事务的功能。当需要使用session发送/接收多个消息时,可以将这些发送/接收动作放到一个事务中。同样,也分QueueSession和TopicSession。
(5) 消息的生产者
消息生产者由Session创建,并用于将消息发送到Destination。同样,消息生产者分两种类型:QueueSender和TopicPublisher。可以调用消息生产者的方法(send或publish方法)发送消息。
(6) 消息消费者
消息消费者由Session创建,用于接收被发送到Destination的消息。两种类型:QueueReceiver和TopicSubscriber。可分别通过session的createReceiver(Queue)或createSubscriber(Topic)来创建。当然,也可以session的creatDurableSubscriber方法来创建持久化的订阅者。
(7) MessageListener
消息监听器。如果注册了消息监听器,一旦消息到达,将自动调用监听器的onMessage方法。EJB中的MDB(Message-Driven Bean)就是一种MessageListener。
深入学习JMS对掌握JAVA架构,EJB架构有很好的帮助,消息中间件也是大型分布式系统必须的组件。本次分享主要做全局性介绍,具体的深入需要大家学习,实践,总结,领会。
五、常用消息队列
一般商用的容器,比如WebLogic,JBoss,都支持JMS标准,开发上很方便。但免费的比如Tomcat,Jetty等则需要使用第三方的消息中间件。本部分内容介绍常用的消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka)以及他们的特点。
5.1 ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
ActiveMQ特性如下:
⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
⒉ 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)
⒊ 对spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
⒌ 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
⒍ 支持通过JDBC和journal提供高速的消息持久化
⒎ 从设计上保证了高性能的集群,客户端-服务器,点对点
⒏ 支持Ajax
⒐ 支持与Axis的整合
⒑ 可以很容易得调用内嵌JMS provider,进行测试
5.2 RabbitMQ
RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX,持久化。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
几个重要概念:
Broker:简单来说就是消息队列服务器实体。
Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
Queue:消息队列载体,每个消息都会被投入到一个或多个队列。
Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。
Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。
procer:消息生产者,就是投递消息的程序。
consumer:消息消费者,就是接受消息的程序。
channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。
消息队列的使用过程,如下:
(1)客户端连接到消息队列服务器,打开一个channel。
(2)客户端声明一个exchange,并设置相关属性。
(3)客户端声明一个queue,并设置相关属性。
(4)客户端使用routing key,在exchange和queue之间建立好绑定关系。
(5)客户端投递消息到exchange。
exchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。
5.3 ZeroMQ
号称史上最快的消息队列,它实际类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。
引用官方的说法: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”
特点是:
高性能,非持久化;
跨平台:支持Linux、Windows、OS X等。
多语言支持; C、C++、Java、.NET、Python等30多种开发语言。
可单独部署或集成到应用中使用;
可作为Socket通信库使用。
与RabbitMQ相比,ZMQ并不像是一个传统意义上的消息队列服务器,事实上,它也根本不是一个服务器,更像一个底层的网络通讯库,在Socket API之上做了一层封装,将网络通讯、进程通讯和线程通讯抽象为统一的API接口。支持“Request-Reply “,”Publisher-Subscriber“,”Parallel Pipeline”三种基本模型和扩展模型。
ZeroMQ高性能设计要点:
1、无锁的队列模型
对于跨线程间的交互(用户端和session)之间的数据交换通道pipe,采用无锁的队列算法CAS;在pipe两端注册有异步事件,在读或者写消息到pipe的时,会自动触发读写事件。
2、批量处理的算法
对于传统的消息处理,每个消息在发送和接收的时候,都需要系统的调用,这样对于大量的消息,系统的开销比较大,zeroMQ对于批量的消息,进行了适应性的优化,可以批量的接收和发送消息。
3、多核下的线程绑定,无须CPU切换
区别于传统的多线程并发模式,信号量或者临界区, zeroMQ充分利用多核的优势,每个核绑定运行一个工作者线程,避免多线程之间的CPU切换开销。
5.4 Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。
Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:
通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。(文件追加的方式写入数据,过期的数据定期删除)
高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。
支持通过Kafka服务器和消费机集群来分区消息。
支持Hadoop并行数据加载。
Kafka相关概念
Broker
Kafka集群包含一个或多个服务器,这种服务器被称为broker[5]
Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
Partition
Parition是物理上的概念,每个Topic包含一个或多个Partition.
Procer
负责发布消息到Kafka broker
Consumer
消息消费者,向Kafka broker读取消息的客户端。
Consumer Group
每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。
一般应用在大数据日志处理或对实时性(少量延迟),可靠性(少量丢数据)要求稍低的场景使用。

‘捌’ 请问有哪位技术大神懂PHP写的P2P平台

这套系统是用什么框架开发的?或者目录结构是什么样的,既然是买的,卖家应该都有提供吧

‘玖’ 做p2p网贷用java好还是php好

中小企业融资系统,p2p网贷系统,p2p借贷系统
B2B/B2C/C2C/P2P相结合的多城市借款融资系统,功能最全的系统
ppobb系统软件的开发 PPOBB公司

‘拾’ 什么是P2P

有多种解释,看具体运用在什么语境里

P2P是peer-to-peer的缩写,peer在英语里有"(地位、能力等)同等者"、"同事"和"伙伴"等意义。这样一来,P2P也就可以理解为"伙伴对伙伴"的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。

��简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以大网站为中心的状态、重返"非中心化",并把权力交还给用户。 P2P看起来似乎很新,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,P2P并不是什么新东西。在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。

��即使从网络看,P2P也不是新概念,P2P是互联网整体架构的基础。互联网最基本的协议TCP/IP并没有客户机和服务器的概念,所有的设备都是通讯的平等的一端。在十年之前,所有的互联网上的系统都同时具有服务器和客户机的功能。当然,后来发展的那些架构在TCP/IP之上的软件的确采用了客户机/服务器的结构:浏览器和Web服务器,邮件客户端和邮件服务器。但是,对于服务器来说,它们之间仍然是对等联网的。以email为例,互联网上并没有一个巨大的、唯一的邮件服务器来处理所有的email,而是对等联网的邮件服务器相互协作把email传送到相应的服务器上去。另外用户之间email则一直对等的联络渠道。

��事实上,网络上现有的许多服务可以归入P2P的行列。即时讯息系统譬如ICQ、AOL Instant Messenger、Yahoo Pager、微软的MSN Messenger以及国内的OICQ是最流行的P2P应用。它们允许用户互相沟通和交换信息、交换文件。用户之间的信息交流不是直接的,需要有位于中心的服务器来协调。但这些系统并没有诸如搜索这种对于大量信息共享非常重要的功能,这个特征的缺乏可能正为什么即时讯息出现很久但是并没有能够产生如Napster这样的影响的原因之一。

下面试图用三句话来揭示P2P的影响:

对等联网:是只读的网络的终结(Peer-to-peer is the end of the read-only Web)

对等联网:使你重新参与互联网(Peer-to-peer allows you to participate in the Internet again)

对等联网:使网络远离电视(Peer-to-peer steering the Internet away from TV)如上文所言,P2P不是一个新思想,从某些角度看它甚至是整个最初创建互联网的最基本的思想。我们不妨花时间作一点回顾。

一、横空出世---P2P 身为何物?

互联网能够发展至今,根本原因在于其布建的任何一根血脉都是为人与人之间的交流而设置的。而现在能够引起互联网震动的,无非也只有交流方式的变革本身。 如今,在基于网络的各种技术充斥于我们周围之时,恐怕只有很少人不知道P2P的概念了,即便您没有深入探究,但您每日在互联网间进行的活动几乎没有不沾P2P技术的。一个简单的例子,在你使用QQ尽情聊天之时,实际上就享受着P2P技术给你带来的快感与兴奋。P2P技术究竟意味着什么呢?关于P2P技术的两种解释或许可以说明这个问题。

一种解释是,P2P即peer-to-peer。而peer在英语里是“(地位、能力等)同等者”、“同事”和“伙伴”的意思。这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网,我甚至觉得解释成为person-to-person更好一些。反正交流也都是人的交流。

而另一种解释是,P2P就是一种思想,有着改变整个互联网基础的潜能的思想。客观讲,单从技术角度而言,P2P并未激发出任何重大的创新,而更多的是改变了人们对因特网的理解与认识。正是由于这个原因,IBM早就宣称P2P不是一个技术概念,而是一个社会和经济现象。

不管是技术还是思想,P2P是直接将人们联系了起来,让人们通过互联网直接交流。它使得网络上的沟通变得更容易、更直接,真正地消除中间环节。这听起来仿佛全新的概念,但其实并不是什么新鲜事。我们每天见面,或者通过电话直接交流都是P2P最直接的例子。而这个时候你有没有从电话的发展的历史中隐约感觉到,P2P必将在互联网时代有着突飞猛进的发展,因为他可以改变现在的Internet以大网站为中心的状态、重返“非中心化”,并把权力交还给用户,让我们的语言影像以最直接的方式传递到对方身边。它最符合互联网络设计者的初衷,给了人们一个完全自主的超级网络资源库。现在在业界,比较认同的P2P计算应用系统的目标主要有以下几类:

1.信息、服务的共享与管理

2.协作

3.构建充当基层架构的互联系统

二、生机勃勃--窥探P2P的发展历程

如果说涉及此种特点便称之为信息技术中的P2P的诞生,那么它的历史这可就远了。P2P 本身的基本技术的存在时间和我们曾经熟悉的USENET、FidoNet 这两种非常成功的分布式对等网络技术几乎是一同的,甚至更长些。翻翻资料就可以知道,USENET 产生于 1979 年,FidoNet创建1984年,它们都是一个分散、分布的信息交换系统。在最初的 P2P 应用出现时,许多使用该技术的人们甚至不会使用计算机。然而正是这种孕育着思想的网络技术为P2P的出现搭建了温床。

P2P正式步入发展的历史可以追溯到1997年7月,那几乎就是互联网在中国起步的阶段。在一段介绍此时P2P技术的时间表中这样写着:“Hotline Communications is founded, giving consumers software that lets them offer files for download from their own computers.”(1997年7月,Hotline Communications公司成立,并且研制了一种可以使其用户从别人电脑中直接下载东西的软件)

或许有人还记得,早在1998年,美国东北波士顿大学的一年级新生、18岁的肖恩?范宁为了能够解决他的室友的一个问题——如何在网上找到音乐而编写的一个简单的程序,这个程序能够搜索音乐文件并提供检索,把所有的音乐文件地址存放在一个集中的服务器中,这样使用者就能够方便地过滤上百的地址而找到自己需要的MP3文件。到了1999年,令他们没有想到的是,这个叫做Napster的程序成为了人们争相转告的“杀手程序”——它令无数散布在互联网上的音乐爱好者美梦成真,无数人在一夜之内开始使用Napster。在最高峰时Napster网络有8000万的注册用户,这是一个让其他所有网络望尘莫及的数字。这大概可以作为P2P软件成功进入人们生活的一个标志。

时间表中这样记录着这一段历史:

January 1999:

Shawn Fanning, 18, creates the Napster application and service while a freshman at Northeastern University.

(1999年1月,18岁的美国东北波士顿大学的一年级新生肖恩?范宁开始了Napster程序的服务)

May 1999:

Napster Inc. is founded.

(1999年5月,Napster公司宣告成立)

之所以我们注重开端,是因为这是一个非同意义上的起始,也正是从这天起,P2P开始了它曲折但极富生命力的发展。

到了2000年,P2P技术的发展就得使用月甚至日来记载了。直到现在使用P2P技术的软件比比皆是,人们也在不知不觉中感受到了P2P作为高科技发展载体的快乐。平常我们使用的QQ 、MSN就不提了,其他软件更是铺天盖地,让人目不暇接。简单罗列一下,以飨读者。

软件名称 简介

eMule eMule 是以 eDonkey2000 网络为基础的新型 P2P 文件分享工具。

OPENEXT 一款P2P软件。通过它,Internet用户之间可以直接建立点对点的连接。

迅雷Thunder “光速般”的智能下载软件——迅雷(thunder2.2.0)。迅雷它拥有比目前用户常用的下载软件快7—10倍的下载速度。

易载ezpeer 易载ezPeer简体中文版,免费注册使用!ezPeer 是一个革命性的P2P(点对点)文件共享软件。

Kuro M3 Kuro-全球第一款全中文界面的火爆MP3超强抓歌软件!

酷狗(KuGoo) “KuGoo”是酷狗的简称,是基于中文平台专业的P2P音乐及文件传输软件。通过KuGoo,用户可以方便、快捷、安全地实现国内最大的音乐搜索查找。

APIA APIA 是一个正在发展中的 P2P 网络系统,如同目前熟知的 eDonkey、Gnutella 与 Kazaa 等软件。

iMesh 能够让你设定分享文件的类型,音乐、影片或其他文件;也能够让你搜寻并且下载你想要的文件。

BearShare BearShare 是一个非常好的文件分享软件,它让你、你的朋友、在世界上的每一个人都可以分享文件。

三、珠联璧合---P2P和BT

说到P2P,就不能不提BT,这个被人戏称为“变态”的词几乎在大多数人感觉中与P2P成了对等的一组概念,而它也将P2P技术发展到了近乎完美的地步。实际上BitTorrent(中文全称比特流,简称BT)原先是指是一个多点下载的P2P软件。它不象FTP那样只有一个发送源,BT有多个发送点,当你在下载时,同时也在上传,使大家都处在同步传送的状态。应该说,BT是当今P2P最为成功的一个应用。

如果解释一下的话,BT首先在上传者端把一个文件分成了多个部分,客户端甲在服务器随机下载了第N部分,客户端乙在服务器随机下载了第M部分。这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的第M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的第N部分。

有一句话可以作为BT最为形象的解释就是:“我为人人,人人为我”。而最初听到此概念时,有人对我说,别用BT,会坏你的硬盘的!大概指的就是前一句。现在看来,没有贡献怎么会有获取?这大概最可以概括BT下载传输的精髓。工具软件BTJoy,将这一技术以软件的形式完美起来,这个诞生仅有一年的软件已经迅速热遍了整个网络——对于BT下载的爱好者来说,120G的硬盘都可以被迅速塞满!我的同学在不长的时间里竟然用他的刻录机完成了一百来部的电视剧的保存,拿他的话来说,可以开一个小店面了!

四、风生水起---P2P是盗版者最好的温床?

在我们尽在说P2P的好时,也不得不想到,就如同历史总是在曲折中前进,任何新事物的发展总不会是一帆风顺的。我们来看下面的日程表:

1999 年 5 月,由范宁和帕克共同创办的文件共享社区网站—Napster正式成立,他们面临的麻烦就由此而起。

12 月 7 日,美国唱片业协会(RIAA)代表环宇音乐、索尼音乐、华纳音乐、百代唱片、BMG等七大唱片公司以违反版权保护法为由把Napster公司推向法庭。他们称Napster向网民提供MP3文件共享软件侵犯了音乐版权,要求法院关闭该公司并赔偿损失1亿美元。

2000 年 4 月 13 日,重金属乐队Metallica起诉 Napster,称其侵犯了自己的版权,并涉嫌诈骗。

6 月 12 日,美国唱片协会(RIAA)和美国音乐出版协会(NMPA)向加利福尼亚州北地区联邦地方法院起诉Napster公司,请求法院禁止在社会上流通Napster公司的MP3文件交换软件“Napster”。

7 月 11 日,参议院就围绕Napster展开的诉讼召开听证会,无果而终。一些议员敦促国会立法,以澄清Napster公司是否违反了知识产权法;而支持Napster一方的人却认为国会不应该现在介入双方的争端,以免影响新技术的发展。

7 月 26 日,Patel同意美国RIAA的要求,作出初步判决,命令Napster立即停止服务。

2001 年 2 月 12 日,美国第九巡回上诉庭作出决定,Napster必须终止其免费互联网服务,并不再向音乐迷提供共享版权保护音乐的服务。

3 月 6 日,美国地区法官Marilyn Hall Patel做出判决, 责令Napster在五个工作日内删除所有存在争议的歌曲。

……

就在今天,就在此时,争议仍然不绝于耳。国外有关于P2P技术的纠纷一发而不可收拾,这种全新的极富生命力的传输方式从一诞生就和音乐,和版权联系在一起。为什么会引起音乐制作商们这么大恐慌?显然是其前所未有的传输速度挑起了他们的不安。在他们极力拦截还没有来得及开始的时候,一首歌曲便以迅雷不及掩耳之势传遍了整个互联网,而更加确切的说应该是全球,这显然是传统的盗版方式所不能比拟的。

五、风景这边独好—P2P在中国

同样,在传统的方法不能奏效的情况下,出版商们便只有从源头上遏制了。不知道国外关于此的争闹还会继续多久,然而在中国却又是另一种风景。众所周知,现阶段中国的版权保护制度和国外还有实质上的差距,这实际上使P2P技术的运用在相当长的一段时间内可以规避版权问题的困扰。按照国内我们的理解,P2P软件提供的只是一个资源共享平台,并不需要对其中传播的内容负主要责任,只要适当地监督引导当然可以大胆运作。从这方面来说,国内的P2P软件厂商处境要比国外的同行幸福很多,路已经有前人开好,又不必像国外的先行者如Napster一样面临官司的压力。而我们面对现状,一个形象的比喻是:你愿意挥汗如雨在天桥淘碟,还是愿意轻松候意在家享受宽带视频下载? 网络传输这种传播方式迟早有一天会取代传统的以磁带、光盘为载体的影视音乐发行渠道,从而成为人们获取影音资源的主要渠道,这似乎已经成了一个不争的事实。看看国外已经进行了多少年的争端,能不能给我们一些启示。在中国这样一个走进任何一家音像店,你都可以用低廉的价格获取几乎与正版没有任何区别的音像制品的情况下,利用新技术的无穷魅力与优势建立一个全新的发行渠道,打破以往那种发行模式才有可能避免切肤之痛。或许,国内的P2P行业有可能比国外的同行更有优势率先实现成熟的商业模式

热点内容
html5整站源码 发布:2025-07-08 00:36:01 浏览:943
sql创建链接 发布:2025-07-08 00:08:38 浏览:398
ftp上传中断 发布:2025-07-08 00:08:37 浏览:641
linux云计算课程 发布:2025-07-08 00:07:23 浏览:23
安卓网易云怎么发布歌曲 发布:2025-07-07 23:42:29 浏览:626
安卓内存读取脚本 发布:2025-07-07 23:42:19 浏览:871
python27汉化 发布:2025-07-07 23:42:18 浏览:721
源码锁屏 发布:2025-07-07 23:26:52 浏览:944
手机版编程软件 发布:2025-07-07 22:57:22 浏览:122
linux下执行sh脚本 发布:2025-07-07 22:49:00 浏览:128