`
jimmee
  • 浏览: 540029 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
1. org.apache.coyote.http11.Http11Processor.process 处理请求的数据   2. org.apache.coyote.http11.InternalInputBuffer.parseRequestLine()     // 例如:127.0.0.1:8080/test.jsp?a=%E4%B8%AD%E5%9B%BD         request.unparsedURI().setBytes(buf, start, end - start);         if (questionPos >= 0) {     ...
为什么要使用SSLEngine, 参考javadoc的说明:   SSLSocket 类提供很多相同的安全功能,但是所有的入站和出站数据都是使用底层 Socket 自动地传输,底层 Socket 设计为使用阻塞模型。虽然这适合于很多应用程序,但是此模型却不提供大型服务器所需的可伸缩性。 SSLEngine 的主要特征是它在入站和出站的字节流上操作,与传输机制无关。安排到同位体可靠的 I/O 传输是 SSLEngine 用户的职责。通过从 I/O 传输机制中分离出 SSL/TLS 抽象,SSLEngine 可以被用于各种 I/O 类型,例如 non-blocking I/O (polli ...
原文地址: http://rox-xmlrpc.sourceforge.net/niotut/   1. Use a single selecting thread   使用单线程处理selectors, selectors are threadsafe their key sets are not   2. Modify the selector from the selecting thread only 从选择线程里修改selector   3. Set OP_WRITE only when you have data ready 仅仅准备好写数据的时候, 才设置OP ...
SSL说明:   1)简介   SSL (Secure Socket Layer)为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。   2)SSL提供的服务   a.认证用户和服务器,确保数据发送到正确的客户机和服务器   b.加密数据以防止数据中途被窃取   c.维护数据的完整性,确保数据在传输过程中不被改变。   3) SSL协议 ...
1. rpc请求中怎么分发请求方法   方法一: 直接使用反射, 通过方法名, 参数名等反射调用 实际使用中的示例, hadoop的实现, 具体可参见 http://jimmee.iteye.com/blog/1206598 例如:   org.apache.hadoop.ipc.RPC     public Writable call(Class<?> protocol, Writable param, long receivedTime) throws IOException { try { Invocation c ...
0. 线程池中, 怎么保证的一个会话数据的有序性      既然用到了线程池, 并不要求始终是同一个线程执行同一个会话的数据, 只要保证多个线程执行的同一个会话 的数据在时间上的有序性即可.      原理其实很简单, 每个会话的数据依次放到一个队列中. 特定时刻, 只有一个线程从此队列中读取数据执行.   借用netty中保持同一会话有序性的线程池的实现类的OrderedMemoryAwareThreadPoolExecutor说明, 线程之间操作 的流程示意如下:     Thread X: --- Channel A (Event A1) --. .-- Ch ...
误区1:数据是可靠的 很多因素会导致你获取的数据不可靠。在考虑具体的智能算法解决方案之前,首先就要判断数据是否可信。如果数据有问题,就算是最聪明的人,通常也会得出错误的结论。 可能导致数据出错的原因有很多,在此不可能一一列举,下面列出了部分有代表性的可能导致数据出错的因素: ·   在开发过程中所使用的数据不能代表产品环境中的数据。例如,对某个社交网络中的用户按身高分类“高”、“一般”和“矮”。如果开发阶段所使用的数据中最矮的用户的身高是1米84,那就有可能会得出“你太矮了,才1米84”的可笑结论。 ·   数据中可能含有缺失值。实际上,除非数据是人造的,否则数据就肯定会含有缺失值。缺 ...
第1部分 通用爬虫 1.1 通用爬虫框架介绍   图1-1描述了通用的爬虫框架,其基本上包括了一个爬虫系统所需要的所有模块。任何一个爬虫系统的设计图,会发现都有一个环路,这个环代表着爬虫大致的工作流程:根据url将对应的网页下载下来,然后提取出网页中包含的url,再根据这些新的URL下载对应的网页,周而复始。爬虫系统的子模块都位于这个环路中,并完成某项特定的功能。  
垂直搜索与通用搜索不同之处在于,通用搜索不需要理会网站哪些资源是需要的,哪些是不需要的,一并抓取并将其文本部分做索引。而垂直搜索里,我们的目标网站往往在某一领域具有其专业性,其整体网站的结构相当规范,并且垂直搜索往往只需要其中一部分具有垂直性的资源,所以垂直爬虫相比通用爬虫更加精确。 垂直爬虫抓取数据分成三个步骤:list-crawling(列表url抓取),detail-crawling(详情url抓取),data-extract and store (数据抽取和存储),其实原理上并不复杂,以下是整体垂直搜索的架构及流程图:   1.  首先运营人员会选定需要抓取的目标网站,录入 ...
  第1部分 messagepack说明 1.1messagepack的消息编码说明 为什么messagepack比json序列化使用的字节流更少, 可通过图1-1、图1-2有个直观的感觉。    图
0. 全文索引的核心就是倒排索引.     1. 若数字不支持范围查询, 直接变成字符串查找即可     2. 如果要支持范围查询, 直接的字符串存储支持么?      目前lucene要求term按照字典序(lexicographic sortable)排列,
流量控制 对于一个带宽1Gbps, RTT为100ms的网络来说 BDP=1,000,000,000*0.1/8=12,500,000字节=12207K=12M 传统TCP接收窗口大小=65535byte=64K, 显然满足不了 udt使用包大小1500byte, 默认接口窗口大小为8192, 因此接收窗口的大小为=1500*8192=12,288,000字节=12000K=11.7M 因此, 可以看到udt的默认设置已经足够.Congestion Control(拥塞控制)1. 两个重要的参数:congestion window size and the inter-packet sendi ...
1. 模式有client/server mode(客户端,服务器端模式) and the rendezvous mode(会合模式,可同时向对方发送请求)2. client发送的握手信息,信息有:1) UDT version: udt版本,主要用作兼容性处理2) Socket Type: STREAM (0) or DGRAM (1).3) Initial Sequence Number: 第一包的序号,是个随机值4) Packet Size: the maximum size of a data packet (including all    headers). This is usua ...
发送方的处理:1) 包发送确认后,由于还没有收到确认,先缓存2) 收到确认包后,从缓存中删除发送的包3) 接收方将丢失的包通知过来,或者超过一定的时候,若还没有收到确认的包,进行重传(注意,这个由接收线程触发)接收方的处理:1) 接收到包的数据,先将数据放到缓存中,a. 若有丢包现象,通知发送方,同时记录丢失的包 b.若是重传的包,从丢失的列表中删除2) 发送确认包3) 丢失的包,超时会让发送方再次发送一些情况分析:情况1:发送包a,接收方确认a,发送方收到确认:正常情况2:发送包a,接收方确认a,发送方没有收到确认:发送方会重发此包,接收方收到此包忽略情况3:发送包a,接收方没有收到a:发送 ...
0. 计时器udt有四种计时器: ACK, NAK, EXP and SND 1. 发送端的算法数据结构和变量:1)SenderLossList: 记录发送方丢失的包的列表,根据序号升序排列2)sendBuffer: 记录发送过的包和序号发送算法:1)如果丢失列表不为空,则重传这些packet包,并从丢失列表中移出,到5)2)若应用层有数据,则执行发送3) 进行检查   a. 若未确认的包的数量超过流量窗口的大小,则回到1)   b. 组织一个新的数据包,之后发送出去4) 若当前的包的序号是16n(16的倍数),回到2),此处的作用是pair packet,可用于估计带宽的5) 记录包的 ...
Global site tag (gtag.js) - Google Analytics