OPEN商用库接口说明文档格式.doc
《OPEN商用库接口说明文档格式.doc》由会员分享,可在线阅读,更多相关《OPEN商用库接口说明文档格式.doc(21页珍藏版)》请在冰点文库上搜索。
intpolicy
策略
一般为1,代表由系统管理指定主机
intport_no
端口号
char*server_object
QuarySample服务端进程名
vector<
props_vec
ORB性能参数管理
shortcontext
态号
缺省为0,表示当前态
char*orb_name
缺省为NULL
query_sample_service_interface(intapp_id,char*specify_host_name,constintspecify_port_no,char*specify_server_object,vector<
props_vec,shortcontext=0,char*orb_name=NULL);
char*specify_host_name
指定主机名
intspecify_port_no
指定端口号
char*specify_server_object
指定QuarySample服务端进程名
2.以同步方式查询采样数据:
GetQuerySampleResult
shortGetQuerySampleResult(constTQuerySampleInParm&
in_para,
TQuerySampleOutParm_outout_para);
TQuerySampleInParm&
in_para
查询条件
TQuerySampleOutParm_outout_para
Out
查询结果
返回值
0:
成功-1:
失败,但服务端接口调用成功<
-1:
服务端接口调用失败
注:
指定超时时间参数时,如果出现指定时间无效情况时,请在构造函数中指定orb_name(该参数默认为空)即可。
例如下面程序片断指定调用query_sample_server时等待50秒后认为调用超时。
orb_name指定为"
alias_query_sample_server"
如果不指定该参数(orb_name)可能导致props_all参数无效
使用方法举例
//初始化系统管理主机,设置ORB性能参数管理
vector<
props_all(3);
strcpy(props_all[0].prop_name,"
ooc.orb.trace.connections"
);
strcpy(props_all[0].prop_value,"
3"
strcpy(props_all[1].prop_name,"
ooc.orb.policy.connect_timeout"
strcpy(props_all[1].prop_value,"
2000"
strcpy(props_all[2].prop_name,"
ooc.orb.policy.request_timeout"
strcpy(props_all[2].prop_value,"
50000"
//超时时间指定为50秒
query_sample_service_interface*sample_client=newquery_sample_service_interface(AP_DB_SERVICE,1,PORT_DB_QUERY_SAMPLE,"
query_sample_server"
props_all,AC_REALTIME_NO,"
alias_query_sample_server"
//构造一个query_sample客户端
TQuerySampleInParmin_para;
TQuerySampleOutParm_varout_para;
intstart_time_sec,end_time_sec;
char*start_time="
2004-3-10:
0:
0"
;
ConvertDateStringToSecond(start_time,start_time_sec);
//把时间字符串转换
//成int型,单位为秒,需自己实现接口ConvertDateStringToSecond
char*end_time="
2004-3-112:
00:
ConvertDateStringToSecond(end_time,end_time_sec);
//把时间字符串转换
//为in_para赋初值
in_para.seq_sample_info.length
(1);
in_para.seq_sample_info[0].app_no=AP_SCADA;
//应用号
in_para.seq_sample_info[0].start_time=start_time_sec;
//起始时间
in_para.seq_sample_info[0].end_time=end_time_sec;
//终止时间
in_para.seq_sample_info[0].is_yc=QUERY_YC_SAMPLE;
//遥测采样
in_para.seq_sample_info[0].is_real=QUERY_HS_SAMPLE;
//历史采样
in_para.seq_sample_info[0].time_pace=900;
//时间步长,单位为秒
in_para.seq_sample_info[0].sample_mode=QUERY_MODE_START;
in_para.seq_sample_info[0].key_num=1;
in_para.seq_sample_info[0].seq_keyinfo.length
(1);
in_para.seq_sample_info[0].seq_keyinfo[0].keyid.record_id=220000016;
in_para.seq_sample_info[0].seq_keyinfo[0].keyid.column_id=40;
in_para.seq_sample_info[0].seq_keyinfo[0].max_result=QUERY_ALL_ROWS;
shortret_code=sample_client->
GetQuerySampleResult(in_para,out_para);
//成功则返回0
3.以同步方式查询采样数据统计值:
GetStatisticsSampleResult
shortGetStatisticsSampleResult(constTStatisticsSampleInParm&
TStatisticsSampleOutParm_outout_para);
TStatisticsSampleInParm&
TStatisticsSampleOutParm_outout_para
TStatisticsSampleInParmin_para;
TStatisticsSampleOutParm_varout_para;
intstart_time_sec2,end_time_sec2;
char*start_time2="
2004-9-30:
ConvertDateStringToSecond(start_time2,start_time_sec2);
//把时间字符串转换
char*end_time2="
2004-9-41:
ConvertDateStringToSecond(end_time2,end_time_sec2);
//为in_para赋初值
in_para.seq_statistics_info.length
(1);
in_para.seq_statistics_info[0].app_no=AP_SCADA;
//应用号
in_para.seq_statistics_info[0].start_time=start_time_sec2;
in_para.seq_statistics_info[0].end_time=end_time_sec2;
in_para.seq_statistics_info[0].statistics_policy=STA_POLICY_HOUR;
//统计策略,小时统计,另外还有STA_POLICY_NORMAL实时统//计STA_POLICY_DAY日统计
in_para.seq_statistics_info[0].is_real=QUERY_HS_SAMPLE;
//历史采样,另
//外还有QUERY_RS_SAMPLE实时采样
in_para.seq_statistics_info[0].time_pace=300;
//时间步长
in_para.seq_statistics_info[0].statistics_mode=STA_MODE_LOADRATE;
//统计模式为统计负荷率,此外有STA_MODE_MAX统计最大值及其发
//生时间,STA_MODE_MIN统计最小值及其发生时间,
//STA_MODE_AVERAGE统计平均值
in_para.seq_statistics_info[0].except_limit=STA_WITH_LIMIT;
//包含越限值统计,STA_WITHOUT_LIMIT不包含越限值统计
in_para.seq_statistics_info[0].is_abs=STA_WITH_ABS;
//按绝对值统计,STA_WITHOUT_ABS按实际值统计
in_para.seq_statistics_info[0].key_num=2;
in_para.seq_statistics_info[0].seq_statistics_keyinfo.length
(2);
in_para.seq_statistics_info[0].seq_statistics_keyinfo[0].keyid.record_id=230001557;
in_para.seq_statistics_info[0].seq_statistics_keyinfo[0].keyid.column_id=20;
in_para.seq_statistics_info[0].seq_statistics_keyinfo[1].keyid.record_id=242000469;
in_para.seq_statistics_info[0].seq_statistics_keyinfo[1].keyid.column_id=20;
GetStatisticsSampleResult(in_para,out_para);
4.以同步方式查询离散点采样:
GetDiscreteSampleResult
shortGetDiscreteSampleResult(constTDiscreteSampleInParm&
TDiscreteSampleOutParm_outout_para);
TDiscreteSampleInParm&
TDiscreteSampleOutParm_outout_para
……//同前接口2、3
TDiscreteSampleInParmin_para;
TDiscreteSampleOutParm_varout_para;
//为in_para赋初值,实际操作和前面两个接口类似,这里不再描述
……
shortret_code=sample_client->
GetDiscreteSampleResult(in_para,out_para);
5.以同步方式查询触发式采样:
GetTriggerSampleResult
shortGetTriggerSampleResult(constTTriggerSampleInParm&
in_para,
TTriggerSampleOutParm_outout_para);
TTriggerSampleInParm&
TTriggerSampleOutParm_outout_para
……//同前接口2、3
props_all,AC_REALTIME_NO);
//构造一个query_sample客户端
TTriggerSampleInParmin_para;
TTriggerSampleOutParm_varout_para;
//为in_para赋初值
GetTriggerSampleResult(in_para,out_para);
6.以同步方式查询触发式采样统计:
GetTriggerStatisticsResult
shortGetTriggerStatisticsResult(constTTriggerStatisticsInParm&
TTriggerStatisticsOutParm_outout_para);
TTriggerStatisticsInParm&
TTriggerStatisticsOutParm_outout_para
query_sample_service_interface*sample_client=newquery_sample_service_interface(AP_DB_SERVICE,1,PORT_DB_QUERY_SAMPLE,"
TTriggerStatisticsInParmin_para;
TTriggerStatisticsOutParm_varout_para;
GetTriggerStatisticsResult(in_para,out_para);
7.以同步方式查询采样数据(数据来源为统计值):
GetQuerySampleResultFromStat
shortGetQuerySampleResultFromStat(constTQuerySampleFromStatInParm&
TQuerySampleFromStatOutParm_outout_para);
TQuerySampleFromStatInParm&
TQuerySampleFromStatOutParm_outout_para
//