`
liuzhaomin
  • 浏览: 198734 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
转载请注明来源:http://blog.csdn.net/tingya1.4 应用APR 我们首先make install一下,比如我们在Makefile中指定prefix=$(APR)/dist,则make install后,在$(APR)/dist下会发现4个子目录,分别为bin、lib、include和build,其中我们感兴趣的只有include和lib。下面是一个APR app的例子project。 该工程的目录组织如下: $(apr_path) dist - lib - include - examples - apr_app - Make.properti ...
转载请注明来源:http://blog.csdn.net/tingya1.3 APR构建 1.3.1获取APR 编译APR的第一个步骤就是获取APR开发包。通常情况下,你可以到APR的官方网站http://apr.apache.org/download.cgi去下载。 一般情况下,APR开发包很容易理解为仅仅是一个开发包,不过事实上并不是。目前,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv,每一个开发包分别独立开发,并拥有自己的版本。 apr开发包位于目录${APR}\apr下,其中包含了一些通用的开发组件,包括mmap,文件等等,前面已经描述 ...
转载请注明来源:http://blog.csdn.net/tingya1.1 何为APR? APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用APR而已。目前APR主要还是 ...
UDT协议-基于UDP的可靠数据传输协议 1. 介绍 随着网络带宽时延产品(BDP)的增加,通常的TCP协议开始变的低效。这是因为它的AIMD(additive increase multiplicative decrease)算法彻底减少了TCP拥塞窗口,但不能快速的恢复可用带宽。理论上的流量分析表明TCP在BDP增加到很高的时候比较容易受包损失攻击。 另外,继承自TCP拥塞控制的不公平的RTT也成为在分布式数据密集程序中的严重问题。拥有不同RTT的并发TCP流将不公平地分享带宽。尽管在小的BDP网络中使用通常的TCP实现来相对平等的共享带宽,但在拥有大量BDP的网络中,通常的 ...
对于手持设备访问Web网络,目前存在多种不同的策略,这些策略从整体上可以划分为两种:内容处理策略和访问模式策略。内容处理策略可以细分为内容定制和内容转换,前者通过为现有的Web页面生成新版本的页面从而适合手持终端访问,而内容转换则通过转换既有的Web页面,使之适合于手持设备访问;而访问模式策略可以细分为客户端处理模式和服务器端处理模式。客户端处理模式主要致力于通过类似于PC的浏览器策略实现访问,而服务器访问模式则。。。这两大类四种策略不是毫不相关的,事实上,它们存在交互,它们之间的关系可以用下图进行描述归类: 从上图中可以看出,四种策略相互交叉,内容定制和内容转换既可以用于客户端,也可以 ...
转载请注明来源:http://blog.csdn.net/tingya 3.4.5哈希表合并 在Apache中经常需要将两个哈希表合并为一个新的哈希表,为此APR中提供了专门的哈希合并函数apr_hash_merge,该函数定义如下: APR_DECLARE(apr_hash_t *) apr_hash_merge(apr_pool_t *p, const apr_hash_t *h1, const apr_hash_t *h2, void * (*merger)(apr_pool_t *p, const void *key, apr_ssize_t klen, ...
转载请注明来源:http://blog.csdn.net/tingya 3.4.3数据插入和获取 对于哈希表而言,一个重要的任务就是插入key/value数据以及根据键值获取相应的值。APR中定义了函数apr_hash_set和apr_hash_get分别实现上面的功能。 首先我们来看apr_hash_get函数,该函数需要三个参数,分别用以描述操作的哈希表,键值以及键的长度。 APR_DECLARE(void *) apr_hash_get(apr_hash_t *ht,const void *key,apr_ssize_t klen) { apr_hash_entry_t ...
转载请注明来源:http://blog.csdn.net/tingya 3.4 哈希表 3.4.1哈希表概述 作为线性数据结构,与前面所说的表格和队列等相比,哈希表无疑是查找速度比较快的一种。APR中较好的支持哈希表。APR中哈希表在文件apr_hash.h和apr_hash.c中实现。其数据结构定义如下: struct apr_hash_t {– apr_pool_t *pool; apr_hash_entry_t **array; apr_hash_index_t iterator;/* For apr_hash_first(NULL, ...) */ u ...
<b>VIPS算法对搜索引擎的意义[转载]</b> 基于VIPS(视觉式版面切割算法)建立链接结构指望单靠开展链接数量和链接文字来推广链接活动的日子已经屈指可数。勿容置疑,PageRank和Hilltop算法体系中所蕴涵的链接广泛度理论仍 ...
微软并没有给出VIPS算法的实现,仅仅给出了一个演示程序。而且,目前而言,实现是基于IE,不具有移植性,因此目前我正在着手实现VIPS算法,不过是用C#完成。过段时间会将实现代码配套放上来! 另外,附问,如果在Blog中要尚在附件,该怎么处理?
转载请注明来源: ,http://blog.csdn.net/tingya 谢谢合作 原文出处:http://www.ews.uiuc.edu/~dengcai2/tr-2003-79.pdf VIPS:基于视觉的Web页面分页算法 1.问题的提出 目前,随着互联网的高速发展,Web已经成为这个世界上最大的信息来源。Web 作 ...
转载请注明来源:http://blog.csdn.net/tingya 3.2.3表格元素查找 表格元素查找是表格的一个非常重要的功能。目前存在很多的线性表查找算法,最基本的无非三种:顺序查找,二分查找以及哈希查找。相对而言,顺序查找是最简单也是最容易实现,但是其通常在插入数据时候较为快捷,而查找的时候则就相对较慢。二分查找是一个较快的查找方法,但是其前提必须数据进行排序,因此排序使得插入较慢,因此也不是所有场合均适合。而哈希查找则既实现简单,又插入和查找速度较快。因此在Apache中队表格的插入和查找则采取了哈希算法。 Apache中在表格中查找一个键值为key的元素的函数为apr_t ...
转载请注明来源:http://blog.csdn.net/tingya 3.2表格(TABLE) 3.2.1表格概述 尽管apr_array_header_t数组已经可以完成大部分的任务,但是对于Apache而言,apr_array_header_t更倾向于内部数据结构,它通常作为其余的线性数据结构的实现基础,比如表格、队列以及哈希表。表格是Apache中用的最频繁的数据结构,比如HTTP请求中的域以及配置文件中的命令都是通过表格进行保存的。不过与通常的表格的含义不太相似,Apache表格更加与perl中的哈希表相似,唯一的区别就是在Apache表格中同样的键值你可以存在两次,而且表格是 ...
投票地址 http://sostar.cn.yahoo.com/poll/showone.html?id=21576 ,帮忙投票一下。可以投10票 发写它的照片上来! 看完了,记得投票哦!!
5.5.7 可选挂钩 与标准挂钩相比,可选挂钩基本上没有太大的差异,唯一的区别就在于可选挂钩不一定需要被实现——这看起来令人迷惑的。不过你很快就会明白了。考虑一下,如果某个挂钩Hook_A是声明在一个可选模块中,那么正常情况下该模块没有被加载。如此此时某个模块想使用挂钩Hook_A,那么会发生什么情况呢。对于标准模块,Apache可能根本就无法进行编译。而可选挂钩则可以解决这种问题。对于可选挂钩,即使它没有被导入并运行,其余的模块也可以使用它。 可选挂钩的声明方法与标准挂钩声明没有任何区别,都是通过AP_DECLARE_HOOK进行的,比如下面的语句声明一个可选挂钩: AP_DECLARE ...
Global site tag (gtag.js) - Google Analytics