- 博客(237)
- 收藏
- 关注
转载 unix/linux下线程私有数据实现原理及使用方法
复习以前做过的爬虫系统,在做防止死链时用到了线程的私有数据,那时候仅仅是会用,至于底层是怎么实现的以及为什么一个键可以对应不同线程的指还一知半解,今天又详细的看了下相关的资料,以做总结。 在维护每个线程的私有数据的时候,我们可能会想到分配一个保存线程数据的数组,用线程的ID作为数组的索引来实现访问,但是有一个问题是系统生成的线程ID不能保证是一个小而连续的整数,并且用数组实现的时
2015-07-22 18:51:39
430
转载 Multithreaded simple data type access and atomic variables
Table of contentsIntroductionHow atomic variables workAtomic variables size limitationsUse casesThe real thing…Time to see some actionPrecautionsConslusionIntroductionBACK TO TOCIn this article I woul
2015-07-20 15:36:25
652
转载 atomic_inc 原子操作
atomic_inc(&v)对变量v用锁定总线的单指令进行不可分解的"原子"级增量操作,避免v的值由于中断或多处理器同时操作造成不确定状态。原子操作 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。 原子操作需要硬件的支持,因此是架构相
2015-07-06 16:42:25
3187
转载 CHANGE MASTER TO语法
master_def:MASTER_HOST = 'host_name'| MASTER_USER = 'user_name'| MASTER_PASSWORD = 'password'| MASTER_PORT =port_num| MASTER_CONNECT_RETRY =count| MASTER_LOG_FILE = 'master_log_name'| MA
2015-07-03 18:44:15
1220
转载 nginx源码分析—内存池结构ngx_pool_t及内存管理
Content0. 序1. 内存池结构1.1 ngx_pool_t结构1.2 其他相关结构1.3 ngx_pool_t的逻辑结构2. 内存池操作2.1 创建内存池2.2 销毁内存池2.3 重置内存池2.4 分配内存2.4.1 ngx_palloc()函数分析2.4.2 ngx_palloc_block(
2015-06-26 17:13:02
374
转载 nginx源码分析—模块及其初始化
Content0. 序1. nginx有哪些模块?2. nginx如何描述这些模块?2.1 模块数据结构2.1.1 ngx_module_t结构2.1.2 ngx_command_t结构2.2 模块类图3. nginx如何组织这些模块?3.1 全局数组ngx_modules3.2 模块组织结构图4. nginx
2015-06-26 16:50:06
429
转载 nginx源码分析—启动流程
0. 序1. main()分析2. 注意问题2.1 几个初值2.2 nginx工作模式2.3 一些配置2.4 其他开关3. 小结0. 序本文主要分析nginx主程序。nginx主程序main()实现文件:./src/core/nginx.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。
2015-06-26 15:42:45
502
转载 多线程 or 多进程
在Unix上编程采用多线程还是多进程的争执由来已久,这种争执最常见到在C/S通讯中服务端并发技术 的选型上,比如WEB服务器技术中,Apache是采用多进程的(perfork模式,每客户连接对应一个进程,每进程中只存在唯一一个执行线程), Java的Web容器Tomcat、Websphere等都是多线程的(每客户连接对应一个线程,所有线程都在一个进程中)。从Unix发展历史看,伴随着Unix的
2015-06-25 18:31:33
655
转载 Verizon发布2014年数据泄露调查报告:九大攻击模式为主
Verizon近日发布了《2014年度数据泄露调查报告》 (DBIR,点击文章末尾链接下载)。Verizon在报告中指出2013年是“零售业数据泄露年”,而对该年的综合评估显示2013年对支付卡系统的大规模攻击正在取代地缘政治攻击成为数据泄露事件的主角。Verizon的报告内容主要针对企业用户,但是也为个人用户给出了新安全形势下的个人信息安全防护建议。Verizon在报告中指出,调查采样的
2015-06-17 20:07:22
725
原创 2014年数据泄漏调查报告 解析
在Web应用程序攻击是关于在2014年的Verizon数据泄露调查报告(DBIR)数据披露最关心的问题之一。这些事件进行了主要是通过在输入验证漏洞和认证影响常见的内容管理系统,如的Joomla!,WordPress的,和Drupal的漏洞。报告指出,这些类型的攻击不仅是一个可靠的方法黑客,也有快60%花几分钟或更少的妥协。随着Web应用程序通常作为一个组织的公众形象到互联网,便于开发基
2015-06-17 19:33:52
1150
转载 2015数据泄露调查报告
本周一,Verizon发布了一年一度的“2015数据泄露调查报告”《Data Breach Investigations Report》。今年一同完成这个报告的贡献组织从去年的49家增加到70家,一页纸都显示不完了。单位增多了的同时,也感觉到今年的报告里面,更多的带入了这些"贡献"单位的信息(广告植入?不过也可以借此看看业界都有哪些先进的安全公司)过去一年的事件调查,影响的
2015-06-17 19:21:33
1404
转载 数据库基线
基线是度量变化的一个参考。基线常常用于医药领域。医生在为病人开药时,会测量病人的血压和心率,采集体重或者进行血液检查。在过了一段时间以后,医生会重新采集同样的数据来观察什么指标发生了变化,以便充分评估药物的影响。在IT领域,也存在同样的方式。DBA们也能够使用基线来衡量计划或者未计划的变化的影响。在最好的情况下,这些数据可以用来快速识别那些计划外的导致性能问题的行为。同
2015-06-12 18:50:59
5416
转载 SSL连接建立过程分析
1. 应用程序接口1.1 SSL初始化SSL_CTX* InitSSL(int server, char *cert, char *key, char *pw){ SSL_CTX* ctx; SSL_METHOD *meth; int status;// 算法初始化 // 加载SSL错误信息 SSL_load_error_string
2015-06-10 12:03:03
1561
转载 SSL
背景介绍 最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。 1、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。密文(ciph
2015-06-08 20:34:33
1093
转载 TDE
不写一行代码,透明的加密敏感数据! 这可能是你的公司最恐怖的噩梦:有人偷走了数据库的备份磁带!当然,你可能构造了一个安全的系统,加密了最敏感的资产,然后围绕数据库服务器建了一圈防火墙来保护。但是,小偷却采取了最简单的方法:他偷走了备份磁带,在另外一个服务器上恢复数据库、启动了数据库,然后他就可以边喝咖啡边从容的浏览数据了。保护数据以防这种小偷不只是一个好的实践,同时也是很多法律、规
2015-06-05 16:42:37
978
原创 函数调用栈
栈: 在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。 当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是主函数中的下一条指令,程序由该点继续运行。 当发生函数调用的时候,
2015-04-25 23:05:09
574
转载 tc流量控制
tc的工作原理通过设置不同类型的网络接口队列,从而改变数据包发送的速率和优先级,达到流量控制的目的。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的qdisc(队列规则)把数据包加入队列,然后内核会尽可能多的从qdisc里取出数据包,把它们交给网络适配器驱动模块。6流量的处理由三种对象控制:qdisc(队列规定),class(类),filter(分类器)
2015-04-02 10:12:10
1473
转载 TCP中RTT的测量和RTO的计算
内核版本:3.2.12本文主要剖析:RTT的测量、RTO的计算作者:zhangskd @ csdn 概述 RTO(Retransmission TimeOut)即重传超时时间。TCP超时与重传中一个很最重要的部分是对一个给定连接的往返时间(RTT)的测量。由于网络流量的变化,这个时间会相应地发生改变,TCP需要跟踪这些变化并动态调整超时时间RTO。R
2015-03-29 22:14:14
662
转载 使用openssl的md5库
在linux机器上,有一个命令可以计算出文件的md5值,那就是md5sum,如果没有的话,就需要安装RPM包:coreutils。现在我们使用openssl的库也可以方便的计算出文件的md5值。主要用到的函数是int MD5_Init(MD5_CTX *c);int MD5_Update(MD5_CTX *c, const void *data, size_t len);i
2015-03-23 11:45:51
483
转载 BGP网络访问跨地域实时切换
引言:互联网的访问质量,很大程度上依赖于运营商骨干网的健康状况,当运营商骨干网络发生故障时,就会影响网站的正常访问。骨干网络发生故障无法完全避免、而且修复时间漫长,但腾讯云通过跨地域流量调度技术这一独门绝技,能够规避运营商骨干网故障,实现对用户业务的影响极小化,保障用户业务的稳定运营。首先,我们通过两个例子来看一下运营商骨干网络故障的严峻形势。2014年8月24日傍晚,华南
2015-03-21 23:55:54
2279
转载 2.6 内核中网络的改进
相对于 2.4 版本,新的 Linux 2.6 内核具有很多改进。内核网络选项是技术进步的一个方面。尽管与网络选项相关的大部分文件都有所改善,但本文只是关注影响整个系统的主要特性的改进和增加,而不是关注特定的文件。明确地说,在本文中我们将介绍网络文件系统 (Networking File System, NFS) 和 Internet 协议安全 (Internet Protocol Sec
2015-03-21 23:55:45
492
转载 Algolia的分布式搜索网络架构
Algolia是一家做离线移动搜索引擎的公司,两年时间构建了世界范围的分布式网络。今天为世界12个区域每月20亿用户查询,平均服务器时间为6.7ms,90%的查询应答本文是Algolia对其REST API建立和扩展经验的总结,其中包括如何在全世界不同位置保障数据的高可用和一致,以及如何通过Anycast DNS将查询路由到离用户地理位置最近的服务器。它的架构有哪些独到之处,本文进行了
2015-03-20 23:33:46
875
转载 flex详解
flex 此篇不会讲述规则表达式,自从.net流行之后,大量的原本只是在unix才使用的规则表达式现在广泛使用在各种系统中。略.1.内置变量 yy_create_buffer:见后面的缓冲管理 yy_delete_buffer:见后面的缓冲管理 yy_flex_debug:见后面的缓冲管理 yy_init_buffer:见后面的缓冲管理 yy_flush_bu
2015-03-12 20:45:53
1371
转载 阿里云防火墙
毫无疑问,稳定和安全是机构采用云服务时最担心的问题,基于互联网的云计算模式也确实让攻击者有了更多的可乘之机。然而不幸的是,从 Arbor Networks得知,在2013年,NTP攻击得到了长足的发展,DDoS攻击已步入200-400Gbps时代。需要注意的是,如此规模DDoS攻击不只限于欧美国家——近日,在第六界中国云计算大会召开前夕,笔者有幸联系到阿里巴巴集团安全部高级专家云舒
2015-03-09 22:44:48
2704
1
转载 概念理解(CAP,BASE, ACID)
CAPCAP: Consistency, Availability, Partition-tolerance强一致性(Consistency)。系统在执行过某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读取到最新的值,这样的系统被认为具有强一致性。可用性(Availability)。每一个操作总是能够在一定的时间内返回结果,这里需要注
2015-02-28 22:58:23
2498
转载 微信红包海量运营
编者按:2015年微信红包书写了一个全新奇迹——除夕摇一摇总次数110亿次,峰值1400万次/秒,8.1亿次每分钟,微信红包收发达10.1亿次!惊人数字的背后,腾讯是怎么支撑的?笔者有幸节前采访到微信后台技术负责人,与大家分享红包背后的技术。春晚当天,微信红包联合团队彻夜加班全程守护400倍的挑战今年微信红包方式与去年用户与用户之间互发红包相
2015-02-26 23:11:20
978
转载 Google开源C/C++版MapReduce框架
据 GigaOM 消息,Google 上周宣布,将自己用 C++ 开发的 MapReduce 框架 MapReduce for C(MR4C)开源,此举可给 Hadoop 社区带来福音,因为这样用户就可以在自己的 Hadoop 环境中运行原生的 C 及 C++ 代码了。Hadoop 是许多大数据应用的基础,它是由 Apache 基金会所开发的分布式系统基础架构,主要由分
2015-02-26 23:04:11
879
转载 对云计算中几种基础设施(Dynamo,Bigtable,Map/Reduce等)的朴素看法
前言云计算的概念近期可谓如火如荼,备受关注。我先前听到“云”这个名词时,很是觉得太过玄乎——也不知道它用在哪里,更不了解它如何实现,总有雾里看花的感觉!好在近期工作需要的缘故,学习和开发过类似于“云计算”基础设施的内部系统,之后再回过头来看看业界两大寡头(Google,Amazon)推出各自的云计算服务,从认识上才算是真的将“云”这个天书般的概念落实。后面的文章中我将在个人理解的基
2015-02-22 23:02:15
658
转载 采用深度学习算法为Spotify做基于内容的音乐推荐
【编者按】本文是比利时根特大学(Ghent University)的Reservoir Lab实验室博士研究生Sander Dieleman所撰写的博客文章,他的研究方向是音乐音频信号分类和推荐的层次表征学习,专攻深度学习和特征学习。以下为译文:2014年夏天,我在 网络音乐平台Spotify (纽约)实习, 致力于使用卷积神经网络 (convolutional neural networ
2015-02-22 22:58:18
801
转载 初识云计算的三种服务模式 (IaaS SaaS PaaS)
最近公司在使用其他云服务的同时,要封装自己的云服务,下面作为开发产品前的热身,来了解云计算中的三种服务模式,笔者也是从网络上查找,进行综合总结。请拍。。三种服务模式 根据现在最常用,也就是比较权威的NIST(National Institute of Standard and Technology)美国国家标准技术研究院定义,云计算主要分为三种服务模式,而且这三层的
2015-02-21 23:45:10
1068
转载 Under the hood: MySQL Pool Scanner (MPS)
Under the hood: MySQL Pool Scanner (MPS)由 Shlomo Priymak 于 2013年10月22日上午 9:58 发布Facebook has one of the largest MySQL database clusters in the world. This cluster comprises many thousands of
2015-02-10 16:40:12
634
转载 第二代防火墙标准发布:融合安全、深度内容检测、应用层高性能
摘要:2015年2月4日下午,第二代防火墙标准发布会在北京举行。第二代防火墙标准的发布,对于信息安全建设向融合的安全转型具有指导意义,同时有效减轻了部署多款安全产品给管理员带来的管理负担。2015年2月4日下午,在公安部网络安全保卫局、公安部科技信息化局、公安部第三研究所等相关部门的指导下,由参与标准起草的深信服科技、绿盟科技、网神信息技术在北京国家会议中心联合举行第二代防火墙标准发布
2015-02-08 11:05:00
1431
转载 “分布式哈希”和“一致性哈希”
分布式哈希(DHT) 两个key point:每个节点只维护一部分路由;每个节点只存储一部分数据。从而实现整个网络中的寻址和存储。DHT只是一个概念,提出了这样一种网络模型。并且说明它是对分布式存储很有好处的。但具体怎么实现,并不是DHT的范畴。 一致性哈希: DHT的一种实现。本质还是一个哈希算法。回想平时我们做负载均衡,按querystring签名对后端节点取模是最简
2015-02-08 10:57:42
519
转载 Linux 下的两种分层存储方案
背景介绍随着固态存储技术 (SSD),SAS 技术的不断进步和普及,存储介质的种类更加多样,采用不同存储介质和接口的存储设备的性能出现了很大差异。SSD 相较于传统的机械硬盘,由于没有磁盘的机械转动,寻址速度大大提高,尤其在随机读写较多的应用环境下,性能会大大提升,但这些高性能存储设备的单位存储价格相对于传统的磁带和 SATA 硬盘也高出很多,如图 1 所示。图 1 不同存储设备的
2015-02-06 14:00:22
909
转载 淘宝Oceanbase云存储系统实践
通俗地讲,云计算就是把基础设施以服务的形式打包对外销售,它是一种商业模式,而其中的云存储是技术难点。可以从两个维度分析云存储系统的特性:功能和可扩展性,这是一个“鱼和熊掌”不容易兼得的问题。不同的数据规模,不同的事务和一致性要求,不同的系统故障容忍度,都可能导致不同的存储系统设计。国外的互联网巨头Amazon、Google、Microsoft、Yahoo都有各自的云存储系统,国内的淘宝也研发了自己
2015-01-31 22:18:12
617
转载 Linux 2.4.x 网络协议栈QoS模块(TC)的设计与实现
在传统的TCP/IP网络的路由器中,所有的IP数据包的传输都是采用FIFO(先进先出),尽最大努力传输的处理机制。在早期网络数据量和关键业务数据不多的时候,并没有体现出非常大的缺点,路由器简单的把数据报丢弃来处理拥塞。但是随着计算机网络的发展, 数据量的急剧增长,以及多媒体,VOIP数据等对延时要求高的应用的增加。路由器简单丢弃数据包的处理方法已经不再适合当前的网络。单纯的增加网络带宽也不能从根本
2015-01-28 13:58:28
4901
转载 怎么跳出MySQL的10个大坑
MySQL · 性能优化· Group Commit优化背景关于Group Commit网上的资料其实已经足够多了,我这里只简单的介绍一下。众所周知,在MySQL5.6之前的版本,由于引入了Binlog/InnoDB的XA,Binlog的写入和InnoDB commit完全串行化执行,大概的执行序列如下: InnoDB prepare (持有prepare_c
2015-01-18 23:30:26
596
转载 原子性(CPU核\总线\周期\锁)
如何看Linux是多少位的CPUuname -anCPU的位宽一般是以 min{ALU位宽、通用寄存器位宽、数据总线位宽}决定的!也就是说CPU由ALU、通用寄存器、数据总线三者之中最少的位宽决定!所以CPU位宽与其寻址能力并不是挂钩的!32 位 x86 CPU 包括 8 个通用寄存器。64 位 x64 处理器有 16 个寄存器。 64 位处理器(以及为它们编写
2015-01-14 21:09:08
4011
转载 多线程程序中操作的原子性
04/15/2010并行编程原子操作、多核、多线程编程、线程安全0. 背景原子操作就是不可再分的操作。在多线程程序中原子操作是一个非常重要的概念,它常常用来实现一些同步机制,同时也是一些常见的多线程Bug的源头。本文主要讨论了三个问题:1. 多线程程序中对变量的读写操作是否是原子的?2. 多线程程序中对Bit field(位域)的读写操作是否是线程安全的?3. 程序员该如何使用
2015-01-14 20:56:53
448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅