zerok的专栏

人生不是自我放逐,而是力求完美。

webRTC是怎么应对网络变化的

在视频通信的技术领域WebRTC已成为主流的技术标准,WebRTC包涵了诸多优秀的技术,譬如:音频数字信号处理技术(AEC, NS, AGC)、编解码技术、实时传输技术、P2P技术等,这些技术目的都是为了实现更好实时音视频方案。但是在高分辨率视频通信过程中,通信时延、图像质量下降和丢包卡顿是经常发...

2018-05-25 11:46:02

阅读数 2590

评论数 4

P2P技术是如何将直播带宽降低75%的

实时直播经过去年的千播大战后已经成为互联网应用的标配技术,但直播平台的成本却一直居高不下,各个平台除了挖主播、挖网红以外,其背后高额的带宽费用也是他们最大的一块成本。现阶段直播技术在传输方面分为两块:CDN和连麦系统,CDN负责流媒体的分发传输,连麦系统负责解决同时多个主播间互动的实时通信传输问题...

2018-01-04 18:14:52

阅读数 7164

评论数 4

如何实现1080P延迟低于500ms的实时超清直播传输技术

本文是去年我发布在高可用架构公众号的文章,在此做一次转载。 本来打算将WiredTiger系列的技术继续分享出来的,由于这段时间都在忙关于超清视频实时传输的事情,只能把WiredTiger的分享文章延后了,在这里先把这半年做的事情分享出来。最近由于公司业务关系,需要一个在公网上能实时互动超清...

2017-11-20 17:34:09

阅读数 1554

评论数 2

WiredTiger实现:一个LRU cache深坑引发的分析

从mongoDB 3.0版本引入WiredTiger存储引擎(以下称为WT)以来,一直有同学反应在高速写入数据时WT引擎会间歇性写挂起,有时候写延迟达到了几十秒,这确实是个严重的问题。引起这类问题的关键在于WT的LRU cache的设计模型,WT在设计LRU cache时采用分段扫描标记和haza...

2017-11-14 09:49:36

阅读数 1336

评论数 1

RUDP传输那些事儿

最近和很多实时音视频领域的朋友交流中都有谈论到RUDP(Reliable UDP),这其实是个老生常谈的问题,RUDP在很多著名的项目上都有使用,例如google的QUIC和webRTC。

2017-11-06 09:43:48

阅读数 2826

评论数 0

解析MongoDB存储引擎WiredTiger:事务实现

WiredTiger从被MongoDB收购到成为MongoDB的默认存储引擎的一年半得到了迅猛的发展,也逐步被外部熟知。WiredTiger(以下简称WT)是一个优秀的单机数据库存储引擎,它拥有诸多的特性,既支持BTree索引,也支持LSM Tree索引,支持行存储和列存储,实现ACID级别事务、...

2017-10-25 11:26:31

阅读数 2176

评论数 0

聊天系统中的用户列表并发问题分析

1.问题描述 上周末一个做视频直播的朋友向我咨询他们遇到的一个关于大量内存对象并发的问题,具体问题描述是这样的,在游戏视频直播的时候,需要向观看直播的人提供一个可以自由聊天的功能(相当于QQ群),这就要涉及到在服务器端实现一个管理用户列表的功能,这个用户列表可能很大(最大可以容纳300万人观看和聊...

2015-06-10 16:54:25

阅读数 1839

评论数 2

MySQL系列:innodb源码分析之redo log恢复

在上一篇《innodb源码分析之重做日志结构》中我们知道redo log的基本结构和日志写入步骤,那么redo log是怎么进行数据恢复的呢?在什么时候进行redo log的日志推演呢?redo log的推演只有在数据库异常或者关闭后,数据库重新启动时会进行日志推演,将数据库状态恢复到关闭前的状...

2015-01-12 19:59:07

阅读数 4765

评论数 2

MySQL系列:innodb源码分析之重做日志结构

在innodb的引擎实现中,为了实现事务的持久性,构建了重做日志系统。重做日志由两部分组成:内存日志缓冲区(redo log buffer)和重做日志文件。这样设计的目的显而易见,日志缓冲区是为了加快写日志的速度,而重做日志文件为日志数据提供持久化的作用。在innodb的重做日志系统中,为了更好实...

2015-01-07 13:15:40

阅读数 6066

评论数 0

MySQL系列:innodb源码分析之page结构解析

在表空间结构分析当中,我们知道innodb的最小物理存储分配单位是page页,在MySQL-3.23版本的源码中,页只有两种页,一种是index page,一种是undo page。其类型值定义在fil0fil.h当中。                 FIL_PAGE_INDEX        ...

2014-12-28 20:15:08

阅读数 7685

评论数 3

MySQL系列:innodb源码分析之表空间管理

innodb在实现表空间(table space)基于文件IO之上构建的一层逻辑存储空间管理,table space采用逻辑分层的结构:space、segment inode、extent和page.在实现层的逻辑使用了磁盘链表这种结构来管理逻辑关系。我们先来介绍磁盘链表。 1.磁盘链表 磁盘...

2014-12-14 15:55:18

阅读数 6794

评论数 2

MySQL系列:innodb源码分析之mini transaction

日志是innodb一个非常重要的模块,在innodb中有两类日志:redo log和undo log。其中redo log日志是用来做数据异常恢复和数据库重启时页数据同步恢复的,redo log是建立在在mini transaction基础上。数据库在执行事务时,通过mini transactio...

2014-12-03 17:02:11

阅读数 6265

评论数 0

MySQL系列:innodb源码分析之文件IO

innodb作为数据库引擎,自然少不了对文件的操作,在innodb中所有需要持久化的信息都需要文件操作,例如:表文件、重做日志文件、事务日志文件、备份归档文件等。innodb对文件IO操作可以是煞费苦心,其主要包括两方面,一个是对异步io的实现,一个是对文件操作管理和io调度的实现。在MySQL-...

2014-11-23 21:50:40

阅读数 5291

评论数 3

MySQL系列:innodb源码分析之线程并发同步机制

innodb是一个多线程并发的存储引擎,内部的读写都是用多线程来实现的,所以innodb内部实现了一个比较高效的并发同步机制。innodb并没有直接使用系统提供的锁(latch)同步结构,而是对其进行自己的封装和实现优化,但是也兼容系统的锁。我们先看一段innodb内部的注释(MySQL-3.23...

2014-11-16 11:18:56

阅读数 5521

评论数 1

MySQL系列:innodb源码分析之内存管理

在innodb中实现了自己的内存池系统和内存堆分配系统,在innodb的内存管理系统中,大致分为三个部分:基础的内存块分配管理、内存伙伴分配器和内存堆分配器。innodb定义和实现内存池的主要目的是提供内存的使用率和效率,防止内存碎片和内存分配跟踪和调试。我们先来看看他们的关系和结构。 以下是它的...

2014-11-10 20:05:05

阅读数 4903

评论数 0

MySQL系列:innodb源码分析之基础数据结构

近一年来一直在分析关于数据库相关的源码,前段时间分析了levelDB的实现和BeansDB的实现,这两个数据库网络上分析的文章很多,也都比较分析的比较深,所以也就没有太多必要重复劳动。最近开始关注关系数据库和MYSQL,当然主要还是数据库存储引擎,首先我还是从innodb这个最流行的开源关系数据库...

2014-11-09 10:29:42

阅读数 4914

评论数 0

通过Nginx访问FastDFS文件系统并进行图片文件裁剪的性能测试和分析

前段时间公司的分布式图片文件系统(FastDFS)做了图片裁剪和缩放功能,并把缩放计算和FastDFS做了解耦分离,前端用虚拟机作为图片文件缩放的访问代理层(Nginx Proxy),后端使用nginx直接访问FastDFS的文件系统。以下是测试和分析过程。 1测试场景          为了测试...

2014-10-29 10:14:37

阅读数 2992

评论数 0

夏夜

儿时的夏夜毕竟是最有夏夜的味道,屋堂的煤油灯啪嗒的跳动,忽明忽暗,真怕它脆弱的明亮突然变黑暗。屋外弯月星稀,月光优雅的撒在平静的湖面上,纯洁而又温柔。水鸟在湖岸边慵懒的伸了伸脖子,正享受着夏夜的宁静和清凉。调皮的小孩朝它扔了个石头,鸟惊飞远,湖面上泛起涟漪的月光,仿佛出尘少女的羞涩。远方不知名的笛...

2014-10-23 10:23:25

阅读数 1070

评论数 0

我程序世界的“术”与“道”

17年前高考的时候,本人就立志要从事所谓的科技行业,所以在填写志愿的时候填写的是通信工程,顺便后面同意了服从志愿调剂。就因为服从调剂,我这个完全能上得了通信工程专业分数的人得到了“爱因斯坦”老先生的眷顾被调到物理专业了(在这里不得不吐槽一下高考招生的黑暗与混乱)。本着对他老先生的好心就将就成为他的...

2014-09-24 21:38:54

阅读数 2320

评论数 2

libpaxos分析心得

前一段时间在《大型分布式存储与实践》中作者提http://到一个观点:弄清楚PAXOS协议会大大增强你对分布式系统理解的信心。后来陆陆续续看过网络上的一些PAXOS的介绍,包括PAXOS的历史、PAXOS的第一版论文(The Part-Time Parlinment)、第二版论文( Paxos...

2014-08-25 17:05:32

阅读数 2996

评论数 0

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