Jump to Navigation

Welcome!

  NullGet是使用Qt编写的,运行于多种平台的GUI界面的多线程多协议断点续传下载软件。  使用NullGet可以轻松下载网络的多种协议的数据流,加快下载速度,支持断点续传,目前支持的协议有:HTTP,HTTPS,FTP,MMS,RTSP。而且它能运行于当前大多数流行的操作系统,包括Windows,Linux,FreeBSD等。     下载NullGet

  NullFXP 是一个基于Qt 4 开发的SFTP/FTP 客户端软件。目前已经实现基本的多文件上下传功能。详细信息查看本站项目说明页面。     下载nullfxp

  我们的目标是打造一个开源的,跨平台的,多线程的,运行稳定的下载软件,另一个就是整理Qt库开发跨平台GUI应用程序的相关资料。欢迎各位朋友对本站开源项目提供意见及建议,欢迎有兴趣的朋友参与本站开源项目,请联系 drswinghead at gmail dot com

linux 下一代文件系统btrfs简介

Btrfs被称为下一代文件系统。相对于ext2/ext3/ext4这系列特性已经非常稳定的文件系统来说,
btrfs具有很多先进的文件系统设计特性。
最近内核的每个新版本发布,都有btrfs的影子,开发活跃,令人很期待。
btrfs具体有哪些特性让人如此期待?它内部是如何实现的?
适用什么样的场景?怎么使用btrfs命令管理btrfs文件系统?
本文以当前最新的3.11内核的btrfs版本研究btrfs文件系统的功能特性。
1、btrfs发展史
B-tree 文件系统,通常念成Butter FS,Better FS或者 B-tree FS。
采用GPL协议。
由Oracle于2007年发起并进行的COW(写入时复制)文件系统。
btrfs的目标是取代ext2/ext3文件系统,改善现有功能限制并提供更多优秀特性。
2、btrfs特性简介
软件raid实现
类似lvm的卷管理
透明压缩zlib,lzo,(snappy,lz4)
可读/写快照
高磁盘空间利用率的小文件打包
高磁盘空间利用率的索引目录
动态inode分配

Category:

当前项目中传统简单的fastdfs存储架构总结

目前我们的图片存储系统,大概每个月使用1T的存储空间。
再加上图片处理后的图片,可能还会扩大2,3倍的存储容量。
之前使用NAS存储,已经无法满足这样的存储需求。
在上半年考虑使用分布式文件系统,经过调研,选用了开源的fastdfs。
由于初次使用,并没有使用太复杂的架构模式,而使用比较传统的使用模式。
先说下硬件情况,
现有同机房的4台fastdfs存储服务器,每台服务器使用6块2T的sata硬件做成raid5,大概可用存储容量为10多G。

在设计时,考虑足够的容灾要求,把4台服务器做成两组group1,group2。
这样,这个集群的容量为20G,远比使用NAS来的简单许多。
另外,由于在测试使用fastdht组件时遇到了问题,目前没有使用自带的文件去重功能。准备在研究出来原因之前,使用代码级别的去重,在使用异步去重计算的辅助情况下,去重效果理论上与fastdfs自带的排重功能一致。

目前项目上线2个月,已经存储了2T的图片文件。
目前的架构:
M1/group1/tracker1 ===== M2/group1/tracker2
M3/group2 ===== M4/group2

Category:

Couchbase 2.2.0 发布

发布公告,

提升XDCR跨机房复制性能。
提升数据清理性能。
添加只读管理员用户功能。
添加服务恢复工具。
非root用户安装和启动。
命令行重置管理员密码功能。

详见:
http://blog.couchbase.com/announcing-couchbase-server-22-0

Category:

对raid基本磁盘阵列的理解

RAID是英文Redundant Array of Independent Disks(独立磁盘冗余阵列),简称磁盘阵列。
常用的raid级别有,raid0,raid1,raid5,raid6,raid10。
下面就这几个常见raid级别说明一下我的理解。
1、raid0 条带存储
这种级别没有数据冗余,所有阵列中的磁盘参数数据存储。
分数据存储实现并行存储,理论上,N块磁盘的raid0存储速度为一块磁盘存储速度的N倍。
并行存储是把写入的数据按段分隔,每个磁盘存储不同的数据段。
这种级别的问题无修复机制,一块磁盘块,整个阵列无法读写。
好处在于,能完全利用磁盘空间,提高IO速度,能提供所有raidx级别中最快的IO速度。
速度S: N*
容量C: N*
2、raid1 镜像存储
这个级别包含完整的数据冗余,不同的磁盘两两互备。
由于可在原磁盘繁忙时到副本磁盘上读取,可以提高IO速度。
由于数据存储完整两份,成本是所有级别中最高的,可靠性也是最高的。
速度S: N/2+

Category:

PostgreSQL 9.3 正式版发布

我们非常高兴的宣布 PostgreSQL 9.3 正式版发布了,该版本包含可写的外部数据封装、数据页 checksums、快速的故障转移以及 streaming-only remastering 等等。
外部数据封装可写使得系统间支持双路数据交换。今天非常复杂的 IT 环境涉及到多个数据库和半结构化的数据源,而 PG 可帮你将它们集成在一起。该项目同时发布了 postgres_fdw ,这是一个高性能的支持读写的联合驱动程序。
此外,该版本提升了可靠性和可用性,实现了快速的故障转移;数据页的 checksum。此外在复杂的复制环境中,可在故障发生时迅速转移主数据节点。
在针对开发者方面改进包括:

  • 额外的 JSON 构建和解析方法
  • 自动可更新的视图
  • 并行 pg_dump 用于加速大数据库的备份
  • LATERAL JOINs

详细介绍请看发行说明

Category:

zeromq与nanomsg的简单对比

两两个是同一个东西,都是消息系统。

两个项目的主要作者是同一个人,只是作者本人对之前开发的项目有许多不满意,
诸如不应该使用C++来写,接口不太好,效率不够高,项目名字与实际功能不符合等。
但对于一相相对已经稳定成熟的项目来说,深度的重构面临很多问题。

所以作者fork出了新的 nanomsg项目,按作者的意思,使用纯C编写,接口更清晰,
代码清楚,效率上很容易比zeromq快3-4倍。

不过nanomsg现在刚放出第一个alpha版本,不够成熟稳定。
除此之外,在理念上与zeromq并没有很大区别。

zeromq.org
nanomsg.org

Category:

kde akonadi postgresql 配置

cat ~/.config/akonadi/akonadiserverrc
[%General]
Driver=QPSQL

[QPSQL]
StartServer=false
ServerPath=/serv/stow/posgresql-9.3.x/bin/pg_ctl
InitDbPath=/serv/stow/posgresql-9.3.x/bin/initdb
Name=kde_akonadi
Host=localhost
Port=5432
User=postgres
Password=
Options=

[Debug]
Tracer=dbus

有着挺好,不过虽然kde这个组件一直不断改进,目前还是akonadi本身问题比较大,慢,耗资源厉害。
目前还一个bug,由于QtSql特殊字符处理的原因,会出现某个SQL执行报错。
但好像不怎么影响使用。

当然,kde也支持mysql和sqlite数据库存储后端,喜欢用哪个都可以啊。

Category:

简易定制化代码部署

工作一直以开发为主,最近维护测试机,
在多台测试机的时候,需要把提交的代码以不同的方式部署到不同测试节点,
在这样一个不算复杂的需求推动下,总结并实现这么一种简易部署方式。

web工程师开发流程如下,
提交代码到svn,svn钩子把代码checkout到本机,
做为本机web测试环境的nginx服务代码。

在架构简单的情况下,一台测试机足够用的情况下运行良好。
不过,随着架构调整,组件变多,一台测试机无法安装所有的服务,
如除了nginx,php外,还需要安装gearman,redis等服务。
这时需要保证最新的代码也能同时部署到安装gearman测试机上。

另外,对于当前的web开发,还有一些特殊的需求,如做js/css客户端优化功能,
而对js/css需要使用squid做前端访问缓存,又出现一种服务流程,并部署在其他测试机上。
经过上面的需求分析,实现这么个简单的测试部署方式,
svn提交+svn钩子+http通知+shell/php处理事件通知。

Category:

40多个关于人脸检测/识别的API、库和软件

自从谷歌眼镜被推出以来,围绕人脸识别,出现了很多争议。我们相信,不管是不是通过智能眼镜,人脸识别将在人与人交往甚至人与物交互中开辟无数种可能性。

Category:

初步尝试opencv图像识别训练

在了解了一些关于opencv的功能与基本用法之后,开学尝试使用opencv做一些实际应用。
本次选定一个功能应用,识别验证码功能。
验证码用于网站的防伪,一般为大小写字母与数字,4-6个字符不等。

使用opencv识别,分解为以下步骤,
验证码图片的切割,把图片中的几个字符拆开成单独的字符图片。
使用拆开的字符图片执行opencv训练,
使用训练好的分类器文件,识别目标中的字符。

对于图片验证码的切割,又分为下面几个步骤,
图像去噪,去除图像的背景,混淆随机点/线
图像的加强或者平滑处理,让其中的字符更清楚
根据字符轮廓,切割出字符图片。

这一步中,对于稍微复杂的验证码,也非常难以做到,
例如在去噪的时候,会把字符线条也去掉了部分,对于比较细的字体,可能就被过滤掉了。
对于有比较粗的混淆线时,这种线一般与字符交叉重叠,
在计算字符的轮廓时,会出现两个字符粘连一在起的情况。
图片加强时,也会加强没有去掉的混淆点/线,影响识别字符轮廓
还有些字符距离可能由于倾斜或者字体大小不同而靠的非常近,

页面

订阅 www.qtchina.tk RSS


Main menu 2

by Dr. Radut