博客专栏  >  编程语言   >  AMPS源码解读

AMPS源码解读

AMPS(Asynchronous Middleware for Parallel Systems)是一个消息中间件,它提供了一个框架,用于构建任何一个事件驱动的,异步处理的应用。

关注
1 已关注
23篇博文
  • AMPS:定时器模块源码解读

    Timer模块的实现比较复杂,需要结合前面的文章《AMPS:定时器管理》才能有所理解,下面看看AMPS中的定时器实现,有些细节方面我也没有想清楚。  AMPS_Timer.h #ifndef __...

    2013-01-27 22:54
    2217
  • AMPS:Cache模块源码解读

    这里讲的Cache并不是通常说的计算机存储系统中的高速缓存,而是软件层面的缓存,它的做用主要是为了提高数据处理的效率。在AMPS中,Cache的结构如下: /*Cache结构*/ struct _A...

    2013-01-27 16:33
    2121
  • AMPS:内存管理模块源码解读(二)

    上节看了AMPS中通过数组+单链表实现的内存池,本节看看另一个实现方式。此方法思路如下:其内存池结构为一个存放已分配内存信息的双链表,一个表示内存池大小的变量,一个指向当前内存链表结点的指针链表,如下...

    2013-01-27 15:28
    2282
  • AMPS:内存管理模块源码解读(一)

    在AMPS中,使用内存池来管理内存,具体机制见之前的文章《AMPS:内存管理(二)》,在代码中,使用了两种实现方式,第一种是数组+单链表。今天先看看这个方式下的内存池实现。 AMPS_MemoryM...

    2013-01-27 12:39
    2367
  • AMPS:Oracle数据库操作模块源码解读

    本节看看AMPS中对Oracle数据库进行操作的方法,使用的是Oracle的C访问接口OCI,关于OCI各函数的中文说明可参考这篇文章http://www.cnblogs.com/joeblackzq...

    2013-01-25 23:09
    2452
  • AMPS:MySQL数据库操作模块源码解读

    本节看看在AMPS中对MySQL数据库的访问操作,它使用MySQL提供的C API接口进行访问,具体各API的使用可参考http://dev.mysql.com/doc/refman/5.6/en/c...

    2013-01-25 21:50
    2440
  • AMPS:数据库访问模块源码解读

    AMPS做为一个中间件,也提供了访问数据库的接口,目前支持MySQL和Oracle(对我所喜爱PostgreSQL却默认不支持,看来我的爱好属于非主流哈~),下面要看的是DBEngine库,它只做一件...

    2013-01-25 00:12
    2291
  • AMPS:日志模块源码解读

    看看AMPS中的日志模块,有两种写日志的方法,一是直接使用封装好的API函数写,另一种是通过应用层注册的日志回调函数,利用事件管理机制来写。   AMPS_Log.h #ifndef __HE...

    2013-01-24 23:34
    2136
  • AMPS:AES模块源码解读

    AES(Advanced Encryption Standard,高级加密标准)是一个对称密钥加密算法,密钥长度则可以是128,192或256比特。  算法思路(详细信息请见维基百科): ...

    2013-01-23 23:48
    4001
  • AMPS:MD5模块源码解读

    MD5是用于确保信息传输完整一致性的一个哈希算法。  其算法思想如下(摘自维基百科):     MD5是输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数...

    2013-01-23 22:16
    2431
  • AMPS:字符串操作源码解读

    字符串处理在软件中非常普遍,AMPS使用C语言编写,所有没有像 标准C++提供的string一样的类型,所以对字符串的处理就是对char *这样的指针处理,为了处理方便,AMPS定义了自己的Strin...

    2013-01-21 23:42
    2201
  • AMPS:哈希表源码解读

    Hash表也是一种常用的数据结构,AMPS中的Hash表并不是给使用者提供一个散列函数,而是仅提供一个创建和维护Hash表这样一个结构的一组函数,针对不同的应用或者数据,由用户自己定义其要使用的散列函...

    2013-01-21 22:24
    2715
  • AMPS:堆源码解读

    堆是一种比较复杂的数据结构,也就是通常所说的完全二叉树,分为最大堆和最小堆,定义如下: 最大堆:根结点的键值是所有堆结点键值中最大者的堆。                   最小堆...

    2013-01-20 17:09
    2117
  • AMPS:队列源码解读

    队列概念很简单,就是排队,先进先出,通常有链表形式和数组形式(即链接类型和顺序类型),它也是软件构建的一个基本数据结构,看看AMPS中的队列实现。  AMPS_Queue.h #ifndef ...

    2013-01-19 20:35
    2053
  • AMPS:双向链表源码解读

    本节在上节单向链表的基础上看看AMPS中对双向链表的实现,与单向链表相同,双向链表在软件中的使用也相对比较广泛,在后面要讲到的Hash表、定时器、内存管理等模块中都会见到以双向链表作为基本数据结构。其...

    2013-01-19 16:36
    2222
  • AMPS:单向链表源码解读

    像单向链表、双向链表、堆、栈等这些基本的数据结构在大型软件中均有很广泛的使用,所以今天看一下AMPS中单向链表的操作函数库,其定义了单向链表的非常多的操作API,且提供了回调函数接口,从而使链表结构用...

    2013-01-19 12:42
    2019
  • AMPS:Trace模块源码解读

    从本节起,开始分析AMPS各模块的源码,其中主要地方均加了中文注释。   跟踪功能与通常软件使用的日志功能类似,但记录的信息比日志更详细,通过它可以看出整个代码的运行轨迹,AMPS支持多以下几种跟踪...

    2013-01-19 00:51
    1288
  • AMPS:定时器管理

    定时器模块是协议服务器的关键组件之一,几乎每个协议软件都设计有超时机制。在多线程的软件中,定时器的最大问题是去除了异步,这使得保护每个会话相关的数据结构变得不可避免。APMS提供了基本的定时器管理AP...

    2013-01-16 23:29
    1467
  • AMPS:内存管理(二)

    对于底层的内存管理,AMPS提供了另外一种优化机制,一旦使用底层的内存分配函数(如C的malloc)为内存对象分配好一个大的buffer后,当这个内存对象销毁时,AMPS将这个本来要ree掉buffe...

    2013-01-15 22:51
    1415
  • AMPS:内存管理(一)

    高效的内存管理是卓越的软件产品的必备特征,如果在分配和释放内存时包含了代价高昂的查找、排序、重新组合操作,内存处理可能会成为系统性能的瓶颈。AMPS内存管理子系统的设计目标如下: 内存管理必...

    2013-01-14 23:21
    1008

Windows C/C++/C# 编程
1306373267
FFmpeg
1353636064
经典算法研究
323270804
微软面试100题系列
183180039
Java开发进阶
663047363
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部