rdbapi 5.1.1.9
实时数据库C接口 for windows/Linux
 
载入中...
搜索中...
未找到
数据写入删除相关相关接口

函数

int rdb_valputsnapshot (int h, rec_tagval vals[], int nsize)
 写值标签快照(写值标签实时数据)
 
int rdb_valinsert (int h, rec_tagval vals[], int nsize)
 补录值标签数据(写值标签历史数据)
 
int rdb_objputsnapshot (int h, rec_tagobj pobjs[], int nsize)
 写对象标签快照(写对象标签实时数据)
 
int rdb_objinsert (int h, rec_tagobj pobjs[], int nsize)
 补录对象标签历史数据(写对象标签历史数据)
 
int rdb_putmsg (int h, const char *jstr, int jstrsize)
 向实时库推送消息
 
int rdb_datadelete (int h, const char *tagname, const char *datetime_begin, const char *datetime_end, int *pnumdelrecords)
 删除标签数据记录, 双机热备时,只删除当前连接的实时库中数据。
 
int rdb_valinsertex (int h, const char *tagname, rec_val vals[], int numvals, int *pninsert, int *pnupdate, int *pnignore)
 值类型标签数据记录增强插入,无压缩插入一个标签的多条记录,用于备份或者数据维护,如果存在,不相同更改。 双机热备时,只在当前连接的实时库中插入数据。
 
int rdb_objinsertex (int h, const char *tagname, rec_obj objs[], int numobjs, int *pninsert, int *pnupdate, int *pnignore)
 对像类型标签数据记录增强插入一个标签的多条记录,用于备份或者数据维护,如果存在,不相同更改。双机热备时,只在当前连接的实时库中插入数据。
 

详细描述

快照数据,历史数据等写入相关接口函数。

函数说明

◆ rdb_datadelete()

int rdb_datadelete ( int h,
const char * tagname,
const char * datetime_begin,
const char * datetime_end,
int * pnumdelrecords )

删除标签数据记录, 双机热备时,只删除当前连接的实时库中数据。

参数
hrdb_create创建的句柄.
tagname标签名
datetime_begin开始日期时间(含)
datetime_end结束日期时间(不含),nullptr或者空字符串表示一直删除到结束
pnumdelrecords成功后,回填删除的记录数。
返回
返回0成功,其他为错误码

◆ rdb_objinsert()

int rdb_objinsert ( int h,
rec_tagobj pobjs[],
int nsize )

补录对象标签历史数据(写对象标签历史数据)

参数
h[in] rdb_create创建的句柄.
pobjs[in] 对象标签数据记录数组
nsize[in] pobjs中的记录数.
返回
返回 0 表示成功,其余值为失败错误码。

◆ rdb_objinsertex()

int rdb_objinsertex ( int h,
const char * tagname,
rec_obj objs[],
int numobjs,
int * pninsert,
int * pnupdate,
int * pnignore )

对像类型标签数据记录增强插入一个标签的多条记录,用于备份或者数据维护,如果存在,不相同更改。双机热备时,只在当前连接的实时库中插入数据。

参数
hrdb_create创建返回的句柄
tagname标签名
objs记录
numobjs记录数
pninsert回填的插入记录数
pnupdate回填的更新记录数据
pnignore回填的忽略记录数,完全相同无更改
返回
返回0成功,其他为错误码

◆ rdb_objputsnapshot()

int rdb_objputsnapshot ( int h,
rec_tagobj pobjs[],
int nsize )

写对象标签快照(写对象标签实时数据)

参数
h[in] rdb_create创建的句柄.
pobjs[in/out] 对象标签记录数据数组
nsize[in] pobjs中的记录数.
返回
返回 0 表示成功,其余值为失败错误码,调用成功后,还需判断每个记录的pobjs[i].var.cerr错误码。
备注
写快照是追加模式,生产现场的DT_STRING和DT_OBJECT型实时数据使用这个接口写入到实时库。 从rdb1911开始(rdbsrv file version 5.0.6.0),如果时标填写0则表示快照时标使用实时库服务器的当前时间作为时标,特别适合对于无实时钟或者时钟无法校时的数据采集网关提交快照数据。 注意对于DEC(设备)标签,新数据的时标必须大于旧数据的时标。对于PRESET标签,新数据的时标大于等于旧数据的时标。

◆ rdb_putmsg()

int rdb_putmsg ( int h,
const char * jstr,
int jstrsize )

向实时库推送消息

参数
h[in] rdb_create创建的句柄.
jstr[in] 推送的JSON消息,utf8编码
jstrsize[in] jstr的长度,字节数
返回
0: success; 其他为错误码
备注
这是内部用的,目前用于rdbdac_ux定时推送网关运行信息.

◆ rdb_valinsert()

int rdb_valinsert ( int h,
rec_tagval vals[],
int nsize )

补录值标签数据(写值标签历史数据)

参数
h[in] rdb_create创建的句柄.
vals[in] 标签值记录数组
nsize[in] vals中的记录数.
返回
返回 0 表示成功,其余值为失败错误码。
备注
补录是插入模式,如果前置机到服务器的网络通道故障,可以将数据暂存在前置机本地,故障恢复后可以补录未提交的数据,补录和最新的快照(实时数据)可以同时向服务器提交。 补录属于历史插入,也支持压缩,但不支持例外,补录的的效率主要受服务器存储IO性能的影响(大约在1千到10万记录每秒)。实际应用中可单独开启一个补录连接使用单独线程处理补录数据。

◆ rdb_valinsertex()

int rdb_valinsertex ( int h,
const char * tagname,
rec_val vals[],
int numvals,
int * pninsert,
int * pnupdate,
int * pnignore )

值类型标签数据记录增强插入,无压缩插入一个标签的多条记录,用于备份或者数据维护,如果存在,不相同更改。 双机热备时,只在当前连接的实时库中插入数据。

参数
hrdb_create创建返回的句柄
tagname标签名
vals记录
numvals记录数
pninsert回填的插入记录数
pnupdate回填的更新记录数据
pnignore回填的忽略记录数,完全相同无更改
返回
返回0成功,其他为错误码

◆ rdb_valputsnapshot()

int rdb_valputsnapshot ( int h,
rec_tagval vals[],
int nsize )

写值标签快照(写值标签实时数据)

参数
h[in] rdb_create创建的句柄.
vals[in/out] 标签值记录数组,rdb_valputsnapshot返回0时,每个记录中的cerr为0表示该记录成功,否则为错误码
nsize[in] vals中的记录数.
返回
返回 0 表示成功,其余值为失败错误码。
备注
写快照是追加模式,生产现场的实时数据使用这个接口写入到实时库,实时库会根据例外和压缩参数处理。这个接口提交数据记录时,服务器的处理能力大于100万记录每秒 从rdb1911开始(rdbsrv file version 5.0.6.0),如果时标填写0则表示快照时标使用实时库服务器的当前时间作为时标,特别适合对于无实时钟或者时钟无法校时的数据采集网关提交快照数据。 注意对于DEC(设备)标签,新数据的时标必须大于旧数据的时标。对于PRESET标签,新数据的时标大于等于旧数据的时标。