自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (6)
  • 收藏
  • 关注

原创 es nested字段的空值查询问题

使用的es 版本6.x最近的工作中需要对es中nested字段进行空值查询?原以为很简单的事情,却几经周折。下面把整个心历路程总结一下,希望后来的同人少走弯路。如何进行空值查询,网上一搜一大把,不约而同的说采用es exists关键字进行空值过滤。按照网上的说法,测试了一下GET test_nested_obj_eg/_doc/_search{"query": {...

2020-01-04 17:27:24 5438 8

原创 paypal支付对接相关问题总结

最近在做对接paypal支付的项目。项目的开发时间紧,但paypal开发者文档内容又很多,并且是英文的,这无疑增加了开发难度。有句古话,欲速则不达。因为对开发者文档理解不够,浪费了不少时间。接入心得总结如下,避免后来者重复踩坑。首先,需要确定采用paypal支付的何种方式?paypal提供了多种支付方式,如标准支付和快速支付,其中标准支付誉为最佳实践。标准支付主要特点是只需要集成paypal按

2017-04-29 12:15:54 9173 5

原创 搭建nghttp2.0作为apns服务的代理的相关问题总结

apple新一代apns推送采用http2.0,升级公司apns服务,决定采用nghttpx作为apns的代理。在搭建这个服务的过程中遇到了两个坑,分享一下我的经验。

2016-09-19 19:41:27 3002 4

原创 一键安装nghttp2.0

Nghttp2调研 1.      wget https://github.com/nghttp2/nghttp2/archive/master.zip2.      wget http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gza.      tar -xvf libtool-2.4.6.tar.gzb.

2016-09-11 22:01:55 4528

原创 muduo网络框架分析

muduo网络框架分析概要muduo是一个纯异步、多线程、多路复用网络框架,主线程负责监听网络连接事件,子线程负责处理已建立的连接的网络读写事件。采用eventfd实现父、子线程之间的通信。子线程之间是不能直接进行通信的,原因在于,子线程之间互相不知道对方是否已经析构,也就是一个子线程很有可能向另外一个已经退出的子线程递交任务,这样就会造成程序崩溃。muduo网络框架是基于生产

2016-09-01 22:41:59 1600 1

原创 linux多进程可伸缩模型探索

最近,在工作中遇到了一个需求,希望网络框架可以动态的增加或者减少进程数。采用多进程模型,可以提高服务的并发性。云平台提供的服务都是多租户的,每个用户对并发性的需求是不一样的。如果接入层同时为多个用户提供服务,可能会出现相资源竞争、相互干扰的现象,定位和排查问题比较复杂。为了避免这个问题,那就一个接入层只服务一个客户,这样避免了资源竞争,相互干扰。随之而来的是,接入层部署的数量将会显著增长。接入层到

2016-07-03 16:20:57 881

原创 分析tcp-rst数据报文产生场景以及判断谁主动断开连接

判断tcp连接断开方向是排查线上问题的重要依据和基础。根据我在实际工作中的经验总结,主要分析了连接断开并不是四次挥手的场景下,如何判断哪一方主动断开连接,也分析了产生rst标识的数据报文的场景。

2016-01-24 16:35:35 3509

原创 linux c、c++高并发服务内存泄露追踪分析

最近,我一直忙于追踪分析,咱公司高并发代理服务器内存一直占用过高的问题。该问题表现如下,使用python脚本压测,服务器使用的物理内存一直飙升很快上G、虚拟内存更是高达数10G,没有下降的趋势。当压测程序停止运行后,整个服务占用的物理内存以及虚拟内存并没有下降的趋势。首先简诉咱服务器运行的平台是centos-6.3(linux-2.6.32),该服务器是多进程的,基于libevent网络通信框

2015-09-19 00:19:10 10572 1

转载 跳跃表的实现

Redis 的跳跃表由 redis.h/zskiplistNode 和 redis.h/zskiplist 两个结构定义, 其中 zskiplistNode 结构用于表示跳跃表节点, 而zskiplist 结构则用于保存跳跃表节点的相关信息, 比如节点的数量, 以及指向表头节点和表尾节点的指针, 等等。 header | tail | level \n 5 | length \n 3

2015-06-02 22:26:48 650

转载 一致性hash算法释义

//转载至http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,

2015-06-02 15:38:13 634

原创 网络传输协议之二进制反码校验和剖析

网络传输协议之二进制反码校验和剖析什么是二进制反码求和?对一个无符号数,先求其反码(按位取反之意,与有符号数中定义的反码表示是不相同的),然后从低位到高位,按位相加,等于2则进1,若最高位有进位,需要向最低位加1。在这个定义中,与补码加法有些区别的是,若最高位有进位,需要向最低位进位。理解起来有些抽象,以4bit为例加以说明。假设0010是补码表示,则其反码是各2进制位按位取反1101,同理补码1010的反码表示为01

2015-05-23 23:52:15 2669

转载 STL容器默认的内存分配器(std::alloc)

//转载至http://blog.csdn.net/pud_zha/article/details/16860411原文在描述size_t __bytes_to_get =   2 * __total_bytes + _S_round_up(_S_heap_size >> 4);   /* 扩大需要量, 新需求量是原需求量的二倍与现有内存池大小的四分之一之和 */这个地方有错误,应

2015-05-03 12:35:10 1073

原创 TCP全连接队列和半连接队列已满之后的连接建立过程抓包分析

通过tcp抓包分析,全连接队列长度,半连接队列长度对tcp三次握手的关系

2015-04-21 21:55:32 1420

原创 使用pthread互斥体+条件变量实现读写锁

//最近在学习《高性能mysql》的时候,提到了读写锁,读锁是共享锁,写锁是排它锁,还有项目中也提到了读写锁的概念。进而想弄清楚,读写锁的实现机制,//只有明白了读写锁的实现机制,才能明白读写锁对性能的影响//本程序采用的是pthread_mutex_t互斥体+pthread_cond_t条件变量的方式去模拟读写锁的实现机制//希望能够帮助刚刚接触pthread线程的朋友,如何去使用互

2015-04-19 14:18:51 764

原创 对nginx中utf-8编码格式解析函数的理解

/* * ngx_utf8_decode() decodes two and more bytes UTF sequences only * the return values: *    0x80 - 0x10ffff         valid character *    0x110000 - 0xfffffffd   invalid sequence *    0xff

2015-03-08 12:08:51 3530

原创 16进制字符串转换成2进制字节流

u_char *hex_to_bin(u_char *dst, u_char *src,size_t len){    //16进制字符串的长度一定是偶数,因为一个字节的高低4位被分别转换成了一个16进制字符    //也就是一个2进制字节数据一定对应两个16进制字符,一个字符一个字节,因此是偶数倍    if(len & 0x00000001)    {

2015-03-07 17:08:40 1782

原创 运行在mac 下的vmware 虚拟机中的Linux中安装 vmware tools

安装步骤:1.点击darwin.s

2014-06-07 16:11:15 1073

原创 CentOS-5.4-i386-bin-DVD源码安装gcc-4.8.0

首先下载gcc-4.8.0.tar.gz  下载地址:http://gcc.cybermirror.org/releases/gcc-4.8.0/

2014-05-27 21:34:35 789

原创 理解fastcgi在nginx服务器下的通讯方式

最好的理解莫过于demo实例参考

2014-05-26 10:40:40 1392

原创 CentOS-5.4-i386-bin-DVD源码安装mysql-5.6.17

需要使用cmake编译mysql-5.6.17cmake下载地址:http://www.cmake.org/files/v2.8/

2014-05-25 12:04:42 1352

C#计算器桌面程序

能够解析字符串表达式的计算器代码:比如2+[(2*(2----5))+3]/3这样的表达式

2014-04-19

Java大文件传输示例额

利用字节数组将大文件进行拆分,并把每一小块数据封装成对象进行传输,然后在接收端进行数据块的组装,生成传输文件。

2013-08-08

转轮加密机

用Java图形化界面实现演示转轮及加密过程

2013-01-07

电梯模拟仿真系统

基于数据结构与算法课程设计的课题制作设计而成,利用EZwin作为图形界面,并采用C++中的双向链表作为数据存取,该双向链表采用模板技术实现复用。设计思路的问题来源如下:电梯运行仿真程序 [问题描述] 办公大楼有若干层(例如,十层),每层有电梯,同时有步行楼梯; 全楼有若干部(例如,不多于10部)电梯同时供使用,电梯容量为24人,速度每上下一层需5秒,在某一层停下至少15秒。其运行状态可分:向上、向下、停止,当前乘客数,当前所在层数。它设有一个“按钮数组”,例如第五层的按钮按下,意味着有乘客在第5层到达目标层,等等。 在楼的每一层,有电梯数,有按钮表示有人等待向上或向下,由若干人在等待,有若干电梯在本层停下,等等。 在大楼中(包括进出)的总人数不超过500 人,每个人站在电梯前有个目标层,他有一个最大的忍受等待时间,因为他可以选择电梯或是步行走楼梯,等等。 还有下面若干假设:在每个时间段要进大楼的人数在0~199 之间随机取值; 用电梯的每个人的目标层在1~10 之间取值;一个人在进电梯或改走楼梯之前的等待时间在180~360 秒范围内随机发生;一个人到达目标层后第二次再乘电梯中间的工作时间在400~6600 秒间随机取值。

2013-01-07

ckeditor上传图片功能使用

利用jsp实现ckeditor_3_6_2 上传图片功能,里面包含完整的工程,不过需要自己引入commons-fileupload-1.2.1.jar,commons-io-1.4.jar文件上传包,网上一大把。只要能正确引入,该工程就能完成

2012-06-18

数据挖掘的决策树分析

实现深度优先的递归算法,完成决策树的生成,并实现决策,有图形界面JTable

2012-05-26

空空如也

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

TA关注的人

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