项目简介
本项目是基于C语言开发的SQL转发内存缓存总线系统(SQLBUS)。核心是利用内存缓存作为总线来转发SQL语句,改变传统业务处理进程(TP)直连数据库(DB)架构,把耗时且无需实时响应的数据库操作先存于内存数据库(MC),由SQLBUS服务读取MC请求并传至DB处理,减少TP不必要等待时间。此外,项目包含基于C语言的内存分配与释放检查工具,用于分析程序运行时内存使用,检测内存泄漏。
项目的主要特性和功能
SQLBUS部分
- 架构优化:以内存缓存为中间层,分离业务处理进程与数据库操作,降低业务进程等待时长。
- 请求格式多样:支持普通与业务相关请求格式,业务相关请求可处理特定业务逻辑,如更新数据时记录不存在则插入新记录。
- 响应格式规范:为查询语句和执行语句出错分别定义标准响应格式,利于数据交互与错误处理。
- 配置灵活:配置文件采用ini格式,可通过命令行参数指定,涵盖默认、日志、消息队列和数据库驱动配置。
- 驱动接口丰富:提供系列数据库操作驱动接口,包括数据库连接、执行SQL语句、获取字段和记录信息等功能。
内存检查工具部分
- 内存记录读取:读取特定日志文件(默认
sqlbus.memory.debug.txt
),记录程序内存分配和释放信息。 - 内存泄漏检测:遍历日志文件,检查内存分配操作是否有对应释放操作,计算未释放内存空间大小。
- 结果输出清晰:以字节、千字节和兆字节格式输出未释放内存空间大小及相关信息。
安装使用步骤
SQLBUS部分
- 编译源代码:使用C编译器(如gcc)编译SQLBUS相关源代码文件。
- 配置文件:可将配置文件存于
/etc/
下,文件名sqlbus.ini
,也可通过命令行参数-f
、-c
、--config
、--file
指定。按需修改配置文件中的默认、日志、消息队列和数据库驱动等配置。 - 运行程序:在命令行运行编译后的SQLBUS程序,确保系统已配置好相应数据库客户端库(如Oracle的
libclntsh.so
和libsqlplus.so
)。
内存检查工具部分
- 编译源代码:使用C编译器(如gcc)编译内存检查工具的源代码文件。
- 运行程序:在命令行运行编译后的程序,提供必要命令行参数(如日志文件路径)。
- 分析结果:程序运行结束后,根据输出结果分析内存使用情况,尤其检查是否存在内存泄漏问题,确保程序运行中正确记录内存分配和释放信息到指定日志文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】