BackupInfo
BackupInfo 定义了 SmartEDB 增量备份设置。
类定义
public static class BackupInfo
{
public int protocolVersion;
public BackupType type;
public int flags;
public int backupNo;
public long timestamp;
public long size;
public long offset;
public int crc;
public long transNo;
public int memPageSize;
public int diskPageSize;
public long nPagesTotal;
public String dbName;
public String label;
public BackupInfo(int protocolVersion, BackupType type, int flags,
int backupNo, long timestamp, long size, long offset,
int crc, long transNo, int memPageSize, int diskPageSize,
long nPagesTotal, String dbName, String label)
{
this.protocolVersion = protocolVersion;
this.type = type;
this.flags = flags;
this.backupNo = backupNo;
this.timestamp = timestamp;
this.size = size;
this.offset = offset;
this.crc = crc;
this.transNo = transNo;
this.memPageSize = memPageSize;
this.diskPageSize = diskPageSize;
this.nPagesTotal = nPagesTotal;
this.dbName = dbName;
this.label = label;
}
};
定义说明
protocolVersion
备份记录的类型;以下其中之一:
public enum BackupType {
Auto, Snapshot, Incremental
};
其中 type
具有以下效果:
- Auto:根据备份文件的内容自动选择快照或增量记录。如果文件中尚未有快照,备份过程将创建一个;否则创建一个部分备份记录
- Snapshot:整个数据库的映像;必须至少执行一次
- Incremental:数据库的部分映像。仅包含两个连续备份记录之间数据库内容的差异。
flags
备份标志;以下各项的组合:
public static final int BACKUP_FLAG_COMPRESSED = 1;
public static final int BACKUP_FLAG_ENCRYPTED = 2;
其中flags
具有以下效果:
- BACKUP_FLAG_COMPRESSED:所有备份记录均应用了压缩
- BACKUP_FLAG_ENCRYPTED:所有备份记录均已加密
backupNo
顺序编号,用于标识备份记录的序列
timestamp
备份时间戳,记录备份的具体时间
size
包含头信息 (mco_backup_info_t) 的备份段大小
offset
文件中的偏移量,指示备份数据在文件中的位置
crc
备份记录的校验和,确保数据完整性
transNo
最后一个事务编号,标识备份时的最新事务
memPageSize
数据库内存页面大小,影响内存中数据的存储方式
diskPageSize
数据库持久存储页面大小,影响磁盘上数据的存储方式
nPagesTotal
内存页面总数,表示数据库使用的总内存页面数
dbName
数据库名称,标识所备份的数据库
label
备份记录标签,用于描述或分类备份