自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

The power of C, the secret of MD

A problem is chance to do your best

  • 博客(58)
  • 资源 (7)
  • 收藏
  • 关注

原创 Active MQ 5.5.1配置消息队列集群(1) Pure Master-Slave静态复制

1. 准备Master和Slave的配置文件:1.1 复制conf/activemq.xml副本到conf/slave.xml1.2 相对应地,可以修改conf/activemq.xml为conf/master.xml,也可以不改2. 修改conf/slave.xml:2.1 broker节点brokerName属性改为slave2.2 修改transportConne

2011-12-22 18:15:07 2479

原创 ZeroMQ get start

ZeroMQ home page: http://www.zeromq.org/czmq(High-level C binding for ZeroMQ): https://github.com/zeromq/czmqfirst, upgrade m4 and autoconf if needed. (./configure, make, make install)wget http:

2011-12-19 21:34:07 1222

原创 源码安装MySQL-5.5.14到个人目录

MySQL-5.5.14使用cmake安装,已经不需要./configure了。如果要安装到个人目录,cmake时需指定路径。启动时,.my.cnf也要指定。cmake . -DCMAKE_INSTALL_PREFIX=$HOME/mysql-5.5.14make

2011-08-08 21:26:45 1666 1

原创 在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别

不少同学问,不都是刷新吗?还有什么区别?其实,还是有的。其中,在地址栏按回车又分为两种情况。一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下:Host    192.168.3.174:8

2011-07-04 21:16:36 16253

原创 nginx处理firefox的POST请求可能遇到的问题:小文件可以提交,大文件不能提交

<br />这个问题是其他同事反映过来的,应该说比较罕见,需要同时满足三种条件才能发生。为了保持神秘,原因暂时不提,不过背景得交待一下。该案例的大概架构就是部署两个nginx服务器,nginx1作为普通的web server,nginx2作为反向代理部署在nginx1的后端。出于测试目的,取消了临时文件所在目录client_body_temp的访问权限,此为条件一。<br /><br />关于client_body_temp目录的作用,简单说就是如果客户端POST一个比较大的文件,长度超过了ngin

2011-05-31 21:04:00 20529 3

原创 gcc-3.4编译strace-4.6

<br />gcc 3.4编译strace-4.6的话,会遇到这样的错误:<br /><br />block.c: In function `block_ioctl':<br />block.c:271: error: `BLKTRACESTOP' undeclared (first use in this function)<br />block.c:271: error: (Each undeclared identifier is reported only once<br />b

2011-04-29 20:15:00 1359

原创 top命令的SWAP计算错误了吗?

<br />这是新公司有个同事提到的,我刚好是负责这一块的,于是给他解答如下。<br /> <br />问题:<br />写了一个简单的测试程序,申请2G内存但不使用,理论上不使用的内存不会占用系统的物理内存和swap。top显示这个进程使用了2G swap,但整个系统只使用了1G swap。感觉TOP显示的swap信息完全是忽悠。<br /><br />top - 12:03:30 up 109 days,  4:14, 16 users,  load average: 1.00, 1.02, 1.0

2011-04-25 19:44:00 4400

原创 gcc-3.4编译google protocol buffer 2.4.0a

<br />gcc 3.4是比较老的编译器,用它来编译最新版protobuf 2.4.0a的话,可能会有如下错误:<br /><br />google/protobuf/descriptor.cc: In member function `virtual const google::protobuf::FieldDescriptor* google::protobuf::DescriptorBuilder::OptionInterpreter::AggregateOptionFinder::FindEx

2011-04-07 18:10:00 2657

原创 NSN HLR simulator for provisioning in expect

<br />电信设备中,HLR(Home Location Register)是非常昂贵的,通常不会有为provisioning开发而准备的HLR。因此,我们需要一个模拟器,能够简单地应答客户端发送过来的HLR指令。Expect是Unix/Linux下自动处理人机交互指令的脚步语言,用它来写一个HLR模拟器就最合适不过了。<br /> <br />一个最简单的NSN HLR模拟器是这样的,它可以<br />1. 模拟登录和退出<br />2. 模拟执行ZM开头的NSN HLR指令并回复“COMMAND EX

2011-03-12 16:36:00 3438

原创 C程序员如何申请加薪?呵呵

<br />如果老板会编译程序的话,发下面这段代码给他:<br /><br />#include <stdio.h>int main() { int a,b,c; for (c=0,b=0;a="BCCB{BC@BDBBCEFCCBDECFDDBBCBBBC@BBABABBBCBDBBBBBBBCBBBCBBBBACBABCBC@BBBDBBCBDBBBBBBBCBBBCBBBAAECI@BBCCCEEBBBBBCECBCBCDDBEBC@}BK@"[b++];)

2011-02-16 15:15:00 8577 38

原创 libcurl通过HTTPS方式提交XML并解析响应信息

<br />不用太多解释,需要的自然有用。稍微有一丝难度的是某个地方用到回调函数,关于回调函数的概念,请百度。<br /><br />程序中用到XPath,不了解的可以看这里:<br />http://www.w3school.com.cn/xpath/index.asp<br /><br />还有这里:<br />http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html<br /><br />#include <stdio.h>

2011-02-10 16:10:00 5406 1

原创 libcurl + libxml2 + soapUI开发SOAP客户端程序

<br />2010年,我写过一些使用gSOAP开发SOAP应用程序的系列文章,共8篇,详情请参考以前的博文:<br /><br />(1) 股票信息客户端程序<br /><br />(2) 股票信息服务端程序<br /><br />(3) iconv解决中文乱码问题<br /><br />(4) iconv解决中文乱码问题(续)<br /><br />(5) libxml2解析SOAP响应消息<br /><br />(6) 在HP-UX下编译gSOAP-2.7.17<br /><b

2011-02-01 10:47:00 5387 1

原创 MinGW编译支持openssl-1.0.0a的libcurl-7.21.3

<br />首先进入msys,编译openssl-1.0.0a,参考http://blog.csdn.net/feiyunw/archive/2010/05/16/5597546.aspx:<br /><br />./config -t<br />./config threads shared no-capieng<br />make depend<br />make<br />make test<br />make install<br /><br />libcurl-7.

2011-01-31 15:26:00 3286

原创 使用curl提交SOAP请求

最近的项目,需要研究一下libcurl提交XML请求,顺便也用curl测试了一下SOAP请求。以下给出三种案例,方便以后查询。 1. curl提交无需认证的SOAP请求 这个案例使用webxml.com.cn的中国股票Web Service服务,SOAP消息和执行命令如下:  sh600000

2011-01-26 18:45:00 21168 3

原创 Shell编程关于Sha-Bang(#!)的Q & A

<br />Q. #!的名字为什么叫Sha-Bang?<br /><br />A. Sha-Bang是Sharp和Bang的组合词。Sharp for #, Bang for ! 类似的情况是,C#通常被称为C Sharp<br /><br /><br />Q. Sha-Bang(#!)是不是注释?<br /><br />A. 不是注释。Sha-Bang(#!)所在行的作用是告知该脚本使用的是哪种命令解释器,并不是可有可无的。虽然很多情况下省略了Sha-Bang(#!)仍然能够运行脚本,这是由于

2011-01-12 18:36:00 3360 1

原创 Windows + MinGW环境下使用libxml2 (2) 安装源代码包

<br />安装已编译包相对简单,安装源代码包则比较麻烦,编译过程可能会因为机器的差别而遇到各种各样的问题。不过,如果时间允许的话,编译源代码时遇到问题也不是坏事,可能会因此而发现项目中潜在的问题。<br /><br />libxml2在MinGW下编译需要用到msys,如果安装MinGW时选择默认选项,而不是全部安装的话,需要另外装上msys。本文编译的libxml2版本是2.7.7<br /><br />此外,如果你的zlib是当前MinGW网站下载的话,也就是版本号为1.2.3,那么请升级到1

2011-01-02 17:28:00 7279 2

原创 Windows + MinGW环境下使用libxml2 (1) 安装已编译包

<br />写在新年钟声即将敲响之际,瑾以此文纪念忙碌的2010<br /> <br />libxml2是一款开源的、跨平台的XML解析工具,在Windows下使用当然也不是问题,方法有两种,一是从下载已经编译好的二进制包,二是下载源代码自行编译。我们公司在Windows下的开发环境通常是MinGW + Code::Blocks,因此本文针对的是在此前提下编译和使用libxml2所遇到的问题。<br /> <br />已编译包下载:http://xmlsoft.org/sources/win32/<

2010-12-31 23:00:00 4907

原创 POP3 + IMAP + CURL

<br />呵呵,话题有点敏感,只截几幅图,不解释。<br /> <br />POP3: telnet pop3.163.com 110<br /> <br /><br /> <br /><br /> <br /> <br />IMAP: telnet imap.163.com 143<br /> <br /><br /> <br /><br /> <br /><br /> <br />使用越来越强大的CURL命令,实现同样的功能:<br /> <br /><br /> <br />CURL + POP3,

2010-12-24 23:36:00 5492 2

原创 谁吃了你的硬盘空间?(3) eathd源代码与使用说明

<br />这是用C语言写成的一个适用于Linux的小工具,能够比较方便地算出单个或者全部挂载点(mount point)下的磁盘使用情况,包括显示该磁盘分区的设备类型、每一块的大小、总空间大小、预留给root用户的空间大小、已使用的空间大小、可用的空间大小、已使用的空间百分比,以及占用空间最多的10个目录。执行效果图如下:<br /><br /><br /><br />其实,组合使用Linux的Shell命令,df、du、find、sort、head等等,也能达致同样的功能。但是,我觉得C写的程序在执

2010-12-06 00:47:00 1811 1

原创 谁吃了你的硬盘空间?(2) 获取文件系统与文件信息

<br />/etc目录下有一个fstab文件,记录了磁盘分区的信息,挂载分区(mount)的时候,就需要读取这个文件的信息。另外,同一目录下,还有一个mtab文件,记录了当前已挂载的磁盘分区信息,每当mount、umount的时候,都会更新该文件,而df命令,读取的也正是这个mtab文件。这是Linux的情况,如果是Unix,文件名字可能有所不同,例如:<br /><br />操作系统    记录所有分区信息的文件    记录已挂载分区信息的文件<br />Linux    /etc/fstab 

2010-12-04 00:29:00 2272 1

原创 谁吃了你的硬盘空间?(1) 诡异的df算法

<br />df命令,接触过Linux/Unix的人都用过吧?不过为什么有的数字总是算不对呢?<br /><br />例如下面,/data那个文件系统,<br />total = 1404203532<br />used = 1203335028<br />available = 129539124<br />use% = 91%<br /><br />但是,total - used = 200868504 <> available<br />而且,used / total =

2010-11-30 23:47:00 4562 2

原创 栈区、堆区、静态区、常量区、代码区演示

<br />这是老问题了,今天被同事问到,因此写了一个demo,代码如下:<br /> <br />#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX_LENGTH 32struct node { void *address; char area[16]; char desc[128];};typedef struct node Node;Node array[MAX

2010-11-18 18:40:00 1783

原创 计数排序(Counting Sort)与比特计数排序(Bit Counting Sort)

<br />前两篇介绍的梳排序和gnome排序,都是属于比较排序算法里面的交换排序方法。而计数排序是一种非比较排序算法,其C代码如下:<br />void countingsort(int *a, int n) { int i, min, max; min = max = a[0]; for( i = 1; i < n; i++ ) { min = (a[i] < min) ? a[i] : min; max = (a[i] > max) ?

2010-11-01 18:07:00 2500 2

原创 Gnome Sort

<br />首先说明该算法也是来自于维基百科<br /> <br />http://en.wikipedia.org/wiki/Gnome_sort<br /> <br />Gnome Sort,这是该算法的作者命名的,O(n*n)时间复杂度,O(1)空间复杂度,属于稳定的排序算法。算法的思想是每趟循环找到第一个逆序的元素,把它和在它前面的已排序的元素逐个进行比较、交换,有点像插入排序。<br /> <br />代码也很简单,所以只加上少量的注释:<br /> <br />#include <stdio.h

2010-10-22 13:23:00 1144

原创 Comb Sort(梳排序,梳子排序)

<br />首先说明该排序算法是抄维基百科的<br />http://zh.wikipedia.org/zh-cn/%E6%A2%B3%E6%8E%92%E5%BA%8F<br /> <br />梳排序(Comb sort)是一种由Wlodzimierz Dobosiewicz于1980年所发明的不稳定排序算法,并由Stephen Lacey和Richard Box于1991年四月号的Byte杂志中推广。梳排序是改良自泡沫排序和快速排序,其要旨在于消除乌龟,亦即在阵列尾部的小数值,这些数值是造成泡沫排序缓慢

2010-10-21 18:45:00 5270 7

原创 八皇后问题、N皇后问题回溯法详解

<br />/* * 回溯法解N皇后问题 * 使用一个一维数组表示皇后的位置 * 其中数组的下标表示皇后所在的行 * 数组元素的值表示皇后所在的列 * 这样设计的棋盘,所有皇后必定不在同一行 * * 假设前n-1行的皇后已经按照规则排列好 * 那么可以使用回溯法逐个试出第n行皇后的合法位置 * 所有皇后的初始位置都是第0列 * 那么逐个尝试就是从0试到N-1 * 如果达到N,仍未找到合法位置 * 那么就置当前行的皇后的位置为初始位置0 * 然后回退一行,且

2010-10-17 16:39:00 12630 9

原创 在C语言中分割字符串

<br />C语言的库函数中,没有类似java中String类的split方法,可以把一个长字符串分割为字符串数组。不过,还是可以利用几个库函数,自己造出split的效果。虽然不像java那样支持分隔符为正则表达式,但一般情况下也够用了。<br /><br />#include <stdio.h>#include <stdlib.h>#include <string.h>/* * count the number of a character in a string */int co

2010-10-11 15:26:00 10533 1

原创 求二叉树中节点的最大距离(递归算法)

<br />上一篇的《求二叉树中节点的最大距离》显得有点走火入魔了,参考过别人的算法解释,事实上不需要考虑得那么复杂。使用以下C代码就可以解决了。<br /><br />/* * return the depth of the tree */int get_depth(Tree *tree) { int depth = 0; if ( tree ) { int a = get_depth(tree->left); int b = get_depth

2010-10-06 17:42:00 3234 5

原创 求二叉树中节点的最大距离

求一个二叉树中任意两个节点间的最大距离,两个节点的距离的定义是这两个节点间边的个数,比如某个孩子节点和父节点间的距离是1,和相邻兄弟节点间的距离是2,优化时间空间复杂度这是论坛上的一道算法题,我目前想到的解法是:二叉树中任意两个节点间的最大距离,那么其中一个节点必定是层次最深的一个节点,记该节点为A。该二叉树中层次最深的节点可能有多个,但只需要选择其中一个记为A。找出了A,那么遍历二叉树中其它非A的节点,访问各节点的时候求出该节点到A的距离,从而记录下求到的最大距离。因此题目可以转化为:求一个二

2010-10-04 00:38:00 2831

原创 java写的随机迷宫算法2D & 3D

<br />很久以前,同事问我要一个随机迷宫的算法,我参考下列链接的启发,也是按照图的深度优先遍历算法,用java写了一个。后来增强为3D版。在这里标记一下,有时间就改为C语言版。<br /> <br />http://hi.baidu.com/%B4%F4%BA%CD%B9%D4%B5%C4%D0%A1%CC%EC%B5%D8/blog/item/98af8518e37c05b04aedbca6.html<br /> <br />2D版的效果图:<br /><br /> <br />3D版在平面显示不出来

2010-09-30 16:05:00 4483

原创 函数指针数组应用实例

<br />从概念上分析,函数指针数组首先是一个数组,数组的元素都是函数指针,而函数指针又是一个指针,但它不是指向普通数据类型或者结构体的指针,而是一个指向函数的指针。<br /> <br />以下代码的背景是为两组字符编码转换函数做单元测试,使用函数指针数组可以使程序可读性更强,否则,就像末尾注释的那段那样,需要冗长的代码代替。<br /> <br />#include <stdio.h>#include <stdlib.h>#include <string.h>#define ENCODIN

2010-09-28 01:23:00 2093

原创 uuencode + uudecode + base64

基于安全理由,公司封闭了我个人的e-mail账户对外的收发功能,以后在公司往自己的邮箱发一些有价值的东西就麻烦一些了,如果,个人PC的外网web mail/smtp/pop3连接也断了就更是雪上加霜了。呵呵,不过,我暂时还是有办法应对的。公司有几台unix服务器是随时要监控作业运行状况的,如果发现出了点问题就通过e-mail通知相关负责人。幸好,目前其连接状况还是对外开放的,也就是说,在服务器上还是可以通过mailx发邮件到我自己的邮箱的。不带附件的邮件可以这样发:cat readme | mailx -s

2010-09-19 13:54:00 2625

原创 ftp获取文件列表的脚本

<br />GGSNID=ggsn04SERVER=192.168.1.1userid=userpasswd=passwordWPATH=/var/log/ggsnftp -n $SERVER << _END >> $GGSNID.logquote USER $useridquote PASS $passwdbincd $WPATHlsquit_END

2010-09-14 18:10:00 1349

原创 sample of spool & sqlldr

<br />平时工作中,spool和sqlldr用得少,显得有点生疏,上次没保存使用过程,这次找不到样本,囧!好不容易才搞出来,马上记下来吧。<br /> <br />spool导出<br /> <br />#! /bin/kshsqlplus -S user/password >/dev/null<<!EODset heading offset feedback offset echo offset pagesize 0set linesize 200spool ipad_im

2010-09-10 12:19:00 952

原创 使用gSOAP开发实例(8) Phase 1 完结篇 自定义header实现用户名令牌认证(Usernametoken Authentication)

<br />上一节介绍了怎样实现基本认证(Basic Authentication,以下简称basic方式),望文生义,也就是最简单的用户验证方式,本节稍微深入一些,介绍用户名令牌认证(Usernametoken Authentication,以下简称usernametoken方式)。<br /> <br />Usernametoken方式与basic方式不同的地方,在于后者会把用户名和密码以摘要(digest)的形式,置于HTTP信息头,而前者则把用户名以明文的形式、密码以明文或者摘要的形式,嵌入到一段X

2010-09-03 23:19:00 14100 8

原创 Destroy and NoSQL (2010-09-02)

最近刚刚接触NoSQL的概念,其实是连门都没入啦,只不过是为destroy吸收一些思想的火花,有点发现就马上记下来,以免事情太多,过几天就忘记了。据百度,NoSQL就是非关系型数据库的统称。我认为,NoSQL的最大特点,是海量数据的键/值存储,正好与设计中的destroy不谋而合。NoSQL通过对数据的键值进行散列运算,把数据分散映射到各个数据分区上去,而设计中的destroy,则对其索引记录的键值进行散列,通过索引记录找到数据,可以说非常相似。还有,NoSQL的一条记录可以有任意个列,而且

2010-09-02 18:55:00 858

原创 DIY蒸蛋糕

可能是最简单的DIY蛋糕方法,原材料只需要4种:鸡蛋、面粉、白砂糖、牛奶。以下分量足够一家大小四五人享用,当然,按比例缩小也可以,但是蒸煮的时候比较浪费能源,现在的煤气贵呀!鸡蛋:10个;面粉:220克;白砂糖:180克,个人认为这个份量甜度适中,当然也可以根据个人喜好,酌情增减;牛奶:100克。工具方面,首先要有一个精确到克的电子秤,这是品质保证的关键。其次需要一个打蛋机,否则打鸡蛋打得手抽筋也未必做得好!第三,要有一个细孔的筛子过滤面粉,使得蛋糕中不能含有较大的颗粒。最后,最好有一个分蛋器,可以方便地隔

2010-08-30 00:10:00 3202

原创 一个稍微复杂的awk & sed应用

<br />最近做了一个文本CDR转换器,从A样式转换为B样式,如下所示。<br /> <br />A样式<br /><br />RECORD#input_id 1282892739x001_0011058#output_id#input_type GGSNPDPRecord#output_type GGSNPDPRecord#addkey#source_id ggsn01#filename ggsn01_20100827121321_13251F recordType 13

2010-08-27 23:44:00 1462

原创 destroy长远开发计划(2010-08-22)

<br />近期主要研究了一下XML、SOAP和Web service,目的是为了destroy,不仅是一个单机版的程序,还要成为网络版的应用。跨越平台、跨越开发语言的障碍,现阶段看,Web service是一个不错的选择。<br /> <br />以下是在前一版本的开发计划的基础上修改的新版本。<br /> <br />基于BER编码的CDR解码程序——destroy,已经于2010年6月底正式发布了1.0版本。在我看来,目前的destroy还显得很稚嫩,还有许多可以改进和值得改进的地方。以下简单列出其未

2010-08-22 17:42:00 839

原创 前程似锦 如鱼得水 藏头诗

<br />公司同事辞职,灵感突发,诗一首赠之。每句的首字连起来就是“前程似锦,如鱼得水”。非专业人士,也不知道写得好不好,但觉得有点意思,因此还是留在博客里吧。<br /> <br />前人栽树后人凉<br />程门立雪永流芳<br />似水年华终不悔<br />锦上添花勿相忘<br /><br />如虎添翼是梦想<br />鱼跃龙门也寻常<br />得道多助须谨记<br />水到渠成来日长<br />

2010-08-22 01:04:00 6001 1

中国移动国际漫游清算系统RAP和TAP的升级

中国移动国际漫游清算系统RAP和TAP的升级

2011-01-05

跨平台base64编解码程序带C源代码

Windows下可以直接执行exe,也可以使用VC编译 Linux/Unix下需要./configure && make && make install三部曲编译 base64 --help查看帮助,一看就会用

2010-12-23

eathd 0.1.0

这是用C语言写成的一个适用于Linux的小工具,能够比较方便地算出单个或者全部挂载点(mount point)下的磁盘使用情况,包括显示该磁盘分区的设备类型、每一块的大小、总空间大小、预留给root用户的空间大小、已使用的空间大小、可用的空间大小、已使用的空间百分比,以及占用空间最多的10个目录。

2010-12-06

发布一个基于BER编码的CDR文件高速解码程序——destroy for tru64

主要功能:理论上,该程序可以解码任何基于BER编码的CDR文件。不过,由于我在工作中只接触到Ericsson的某些版本的CDR,而且,用于解析CDR文件的描述文件来源于供应商,我的程序也只能识别来自于这个供应商的描述文件,所以,移植到其它厂商的环境下可能会产生一些问题。希望大家试用过后能够把各种情况反馈给我,最好能够把BER编码的CDR样本及其描述文件发给我,这样我就能够作为依据,完善这个程序了。 主要特点: 1. 高速!该程序比目前我在网上见到过的所有能够使用的同类型程序都要快,甚至在同等条件下,比我所在公司的供应商提供的程序还要快15%到20% 2. 支持关键字搜索。不需要把整个CDR文件的记录全部翻译成文本记录再逐个查找,而是在解码的过程中顺便完成搜索,节省时间和空间 3. 直接支持压缩格式。通常CDR文件都是经过压缩后保存在磁盘的,该程序可以直接读取经过压缩后的CDR文件,不需要把它首先解压缩,然后再解码,进一步提供效率。同时,这个程序也支持压缩输出文件,为用户提供方便。目前支持的压缩格式有gzip和bzip2 最新版本: 1. destroy 1.0.0 for Linux 2. destroy 1.0.0 for Solaris 3. destroy 1.0.0 for Tru64 依赖关系:由于该程序支持压缩格式,因此它依赖于libz和libbz2 使用方法:键入./destroy –h可以获得所有帮助信息 $./destroy -h ./destroy 1.0.0 (2010-06-28) This is a program decoding a BER encoded CDR file Author: Roy Liang Blog: http://blog.csdn.net/yui/ Usage: ./destroy -f <file_name> -o <output_name> [-c <config_name>] [-k <keyword>] [-z] [-j] -f --file the CDR file to be decoded -o --output the output file in plain text format -c --config the description file of the CDR file, if not given, use default configuration -k --keyword the keyword to search, if not given, all records will be written into output file -z --gzip gzip the result -j --bzip2 bzip2 the result -h --help print this page

2010-06-29

发布一个基于BER编码的CDR文件高速解码程序——destroy for solaris

主要功能:理论上,该程序可以解码任何基于BER编码的CDR文件。不过,由于我在工作中只接触到Ericsson的某些版本的CDR,而且,用于解析CDR文件的描述文件来源于供应商,我的程序也只能识别来自于这个供应商的描述文件,所以,移植到其它厂商的环境下可能会产生一些问题。希望大家试用过后能够把各种情况反馈给我,最好能够把BER编码的CDR样本及其描述文件发给我,这样我就能够作为依据,完善这个程序了。 主要特点: 1. 高速!该程序比目前我在网上见到过的所有能够使用的同类型程序都要快,甚至在同等条件下,比我所在公司的供应商提供的程序还要快15%到20% 2. 支持关键字搜索。不需要把整个CDR文件的记录全部翻译成文本记录再逐个查找,而是在解码的过程中顺便完成搜索,节省时间和空间 3. 直接支持压缩格式。通常CDR文件都是经过压缩后保存在磁盘的,该程序可以直接读取经过压缩后的CDR文件,不需要把它首先解压缩,然后再解码,进一步提供效率。同时,这个程序也支持压缩输出文件,为用户提供方便。目前支持的压缩格式有gzip和bzip2 最新版本: 1. destroy 1.0.0 for Linux 2. destroy 1.0.0 for Solaris 3. destroy 1.0.0 for Tru64 依赖关系:由于该程序支持压缩格式,因此它依赖于libz和libbz2 使用方法:键入./destroy –h可以获得所有帮助信息 $./destroy -h ./destroy 1.0.0 (2010-06-28) This is a program decoding a BER encoded CDR file Author: Roy Liang Blog: http://blog.csdn.net/yui/ Usage: ./destroy -f <file_name> -o <output_name> [-c <config_name>] [-k <keyword>] [-z] [-j] -f --file the CDR file to be decoded -o --output the output file in plain text format -c --config the description file of the CDR file, if not given, use default configuration -k --keyword the keyword to search, if not given, all records will be written into output file -z --gzip gzip the result -j --bzip2 bzip2 the result -h --help print this page

2010-06-29

发布一个基于BER编码的CDR文件高速解码程序——destroy for linux

主要功能:理论上,该程序可以解码任何基于BER编码的CDR文件。不过,由于我在工作中只接触到Ericsson的某些版本的CDR,而且,用于解析CDR文件的描述文件来源于供应商,我的程序也只能识别来自于这个供应商的描述文件,所以,移植到其它厂商的环境下可能会产生一些问题。希望大家试用过后能够把各种情况反馈给我,最好能够把BER编码的CDR样本及其描述文件发给我,这样我就能够作为依据,完善这个程序了。 主要特点: 1. 高速!该程序比目前我在网上见到过的所有能够使用的同类型程序都要快,甚至在同等条件下,比我所在公司的供应商提供的程序还要快15%到20% 2. 支持关键字搜索。不需要把整个CDR文件的记录全部翻译成文本记录再逐个查找,而是在解码的过程中顺便完成搜索,节省时间和空间 3. 直接支持压缩格式。通常CDR文件都是经过压缩后保存在磁盘的,该程序可以直接读取经过压缩后的CDR文件,不需要把它首先解压缩,然后再解码,进一步提供效率。同时,这个程序也支持压缩输出文件,为用户提供方便。目前支持的压缩格式有gzip和bzip2 最新版本: 1. destroy 1.0.0 for Linux 2. destroy 1.0.0 for Solaris 3. destroy 1.0.0 for Tru64 依赖关系:由于该程序支持压缩格式,因此它依赖于libz和libbz2 使用方法:键入./destroy –h可以获得所有帮助信息 $./destroy -h ./destroy 1.0.0 (2010-06-28) This is a program decoding a BER encoded CDR file Author: Roy Liang Blog: http://blog.csdn.net/yui/ Usage: ./destroy -f <file_name> -o <output_name> [-c <config_name>] [-k <keyword>] [-z] [-j] -f --file the CDR file to be decoded -o --output the output file in plain text format -c --config the description file of the CDR file, if not given, use default configuration -k --keyword the keyword to search, if not given, all records will be written into output file -z --gzip gzip the result -j --bzip2 bzip2 the result -h --help print this page

2010-06-29

一次完整呼叫的流程 by Nokia

GSM可以说的秘密(3) 最基本的NSS与BSS的架构与一次完整呼叫的流程 http://blog.csdn.net/yui

2010-06-02

空空如也

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

TA关注的人

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