自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

点点

java、lucene、jvm

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 循序渐进企业级搜索引擎之Master模块设计及实现-系统请求响应封装模块

2.2 系统请求响应封装模块 系统首先从request的信息中获取请求的类型,并依据请求的类型获取相应的处理类,if (handler == null && path.length() > 1) { handler = HandlerFactory.getHandler(path); } //依据请求的命令来获取响应的处理类public static

2014-03-09 11:56:04 1287

原创 循序渐进企业级搜索引擎之Master模块设计及实现-系统加载

第二章              Master模块设计及实现Master具体细分为系统配置及监控加载模块、请求及相应封装处理模块、统计模块、监控及负载均衡等模块。具体的关系图如下: 图2.1 Master系统逻辑框架图下面逐个对这些模块及主要代码进行分析讲解。2.1 系统配置及监控加载模块由于系统需要在启动的时候加载一些配置和监控模块,同时还需要在最后做一些系统

2014-03-08 17:26:33 1385

原创 循序渐进企业级搜索引擎之逻辑架构

系统采用master/slaves的分布式设计,master负责系统slaves端的负载数据监控,而slaves都有专门的负载监控模块,实时将监控的数据反馈到master端,master端依据slave反馈的数据进行负载计算,并依据用户的请求和slaves端的负载进行负载均衡分发,同时当系统单边功能不可能用时可以隔离出不可用slave以达到系统高可用的目的。系统的逻辑架构图如下: 

2014-03-08 11:46:11 1899

转载 什么是TCP 三次握手及为什么进行三次握手?

TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程:1. 客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。2. 服务器收到客户端发送过来的SYN报文后,向客户端发送一个S

2011-12-14 21:24:11 813

原创 其它

 智能网卡板卡微码升级代码的编写实现    ★ 在应用层上创建一个socket,通过socket来调用驱动的ioctl函数,实现与板卡端的通信,完成微码的升级工作。 智能网卡接收零拷贝方案的编码实现★ 该方案主要是预先申请所需要的skb,当需要的时候就用数据包直接填充,但是在内核栈中不释放skb空间,从而实现循环利用。经过测试,总体可以节省10%的CPU占用率.

2009-09-14 19:14:00 600

原创 大小端问题

13.1.4  big-endian与little-endian不同体系的CPU在内存中的数据存储往往存在着差异。例如,Intel的x86系列处理器将低序字节存储在起始地址,而一些RISC架构的处理器,如IBM的370主机使用的PowerPC或Motorola公司生产的CPU,都将高序字节存储在起始位置。这两种不同的存储方式被称为little-endian和big-endian。littl

2009-08-15 22:47:00 1095

转载 工作流程

13.2  面向连接的套接字通信上一节介绍了套接字有3种类型,其中流套接字可以实现可靠的数据传输。本节将介绍如何使用流套接字实现网络中主机间的通信。13.2.1  工作流程使用流套接字实现网络中不同主机间的通信属于典型的服务器/客户机模型,即客户端向服务器发送服务请求,服务器根据该请求提供相应的服务。图13.3所示为简单的通信示意图。为了实现服务器与客户机间的通信,服务器和客户机都

2009-08-15 22:46:00 803 1

原创 套接字与端口

13.1  套接字编程基础套接字,英文为socket,是一种双向的通信端口。位于网络中的主机通过连接的套接字提供的接口进行数据传输。本节将主要介绍使用套接字进行编程的一些基本概念。13.1.1  套接字与端口套接字是一种使用标准UNIX文件描述符(file descriptor)与其他程序通信的方式。套接字可以看作是处于不同主机之间的两个程序的通信连接端点。一方面程序将要传输的信息写入

2009-08-15 22:45:00 2072

原创 socket编程基础

13.2.3  bind函数bind函数用于将套接字与指定端口相连,其具体信息如表13.4所示。表13.4   bind函数 头文件函数形式int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen);返回值成

2009-08-15 22:41:00 1145

原创 netbench_server.c

#include #include #include #include #include #include #include #include #include /*内部宏声明*/#define HOSTNAMESIZE             255#define PORTBUFSIZE              10#define HOST_NAME                "

2009-08-09 20:34:00 736

原创 netbench_client.c

#include #include #include #include #include #include #include #include #include /*内部宏声明*/ #define HOSTNAMESIZE     255 #define PORTBUFSIZE      10 #define TESTNAMESIZE     15 #define MAXSPECDATA

2009-08-09 20:32:00 1027

转载 char与unsigned char的区别

Character values of type unsigned char have a range from 0 to 0xFF hexadecimal. A signed char has range 0x80 to 0x7F.These ranges translate to 0 to 255 decimal, and –128 to +127 decimal,respective

2009-03-07 20:32:00 1981

原创 深入剖析linux网络接收过程

Layer 2:数据链路层(Data Link Layer) 在进入正式讨论数据包的接收之前,需要介绍一下linux中断过程。当网卡检测到一个数据包到来时,就会向8259A触发相应的中断信号线,识别为一个中断后,控制单元将会执行如下步骤:1. 确定与中断或异常关联的向量i(0≤ i ≤255)2. 读由idtr寄存器指向的IDT表中的第i项。3. 从gdtr寄存器获得GDT

2008-12-28 17:30:00 1392

原创 深入剖析linux网络发送过程

深入剖析网络发送过程本文在基于以下三个条件所写的:1)  OSI七层网络通信模型。2)  所阐述的函数是基于Linux2.6.1内核。3)  在面向连接的通信协议TCP/IPV4的基础上。由于七层模型(应用层, 表示层, 会话层, 传输层, 网络层, 数据链路层, 物理层)可以简化为以下五层结构: 应用层(Application Layer), 传输层(Transport La

2008-12-20 17:29:00 2425

原创 简述如何编译开发板的网卡驱动程序

简述如何编译开发板的网卡驱动程序经过4天的努力,今天终于成功编译了一款基于ralink芯片组的无线网卡(Asus WL-107G)。在编译的过程中遇到了很多问题,多亏论坛上的一些热心兄弟帮忙才得以顺利解决。现在把主要的编译步骤阐述如下(基于linux2.6.x内核):Arm开发板上虽然能够运行linux的系列内核以及基于此环境而开发出来的驱动程序﹑应用程序,但毕竟和pc机的运行环境有所不一

2008-10-30 16:59:00 2746

原创 深入讨论指针的兼容性问题

1.1 多重指针﹑一重指针和普通变量之间的兼容例子如下:char a=’w’; char *p; char **q; char ***m;这些变量的正确赋值可以如下: p=&a; q=&p; m=&q,但是想越级赋值(即变量赋值给二重指针或更多重指针)实现的可能性就不大,虽然*q=&a 在编译阶段不会出现任何错误,但是在运行阶段却会出错。总结可以看出,要使这些指针变量不出现错误就得让他们最基本

2008-04-13 00:08:00 1514 3

原创 Static变量简介

  1:变量的存储方式Static变量是以静态存储的方式存储的。什么是静态存储方式?所谓静态存储方式是指在程序运行期间分配固定的存储空间的方式。但不是以静态存储方式存储的变量就是静态变量,在变量前加上static标志才是静态存储变量。如外部变量是静态存储方式,但它不是静态变量。2:静态局部变量静态局部变量在函数内部定义,允许对静态局部变量赋才初值,但是在没有赋初值的情况下,系统会自

2008-04-12 23:59:00 1203

原创 关于LZW算法的压缩与解压缩

 关于LZW算法的压缩与解压缩LZW算法是基于字典查找的一种优秀算法,该算法的名称来源于它的三个创始人Lemple-Ziv-Welch。它的压缩比通常在1:1--1:3之间,一些数据重复较多的文件采用此压缩方法的效果会更好。下面将详细阐述LZW算法的压缩与解压缩过程。1:LZW算法的压缩过程1.1    准备工作:在讲述压缩过程之前有必要先弄清楚与它相关的几个名词:“cha

2008-04-11 12:46:00 7192 1

iso/iec14496charpt14-17

ORGANISATION INTERNATIONALE NORMALISATION ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO XMT Framework

2009-01-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除