




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
統(tǒng)一采集數(shù)據(jù)庫(kù)接口適配器開發(fā)手冊(cè)目錄目錄 11. 適配器概述 22. DB接口概述 23. 數(shù)據(jù)庫(kù)接口適配器包的介紹 33.1. 配置文件(XML文件)說(shuō)明 33.1.1. 配置文件總述 33.1.2. 數(shù)據(jù)庫(kù)接口適配器的配置文件介紹 43.2. 適配器和適配器版本的命名規(guī)范 63.2.1. 適配器命名 63.2.2. 適配器版本命名 63.2.3. 廠商版本規(guī)范 63.3. Excel文件(元數(shù)據(jù))的說(shuō)明 73.3.1. 元數(shù)據(jù)結(jié)構(gòu)圖 73.3.2. 元數(shù)據(jù)各部分詳解 83.4. 加密文件 114. 元數(shù)據(jù)計(jì)算過(guò)程 114.1. 計(jì)算過(guò)程流程圖 114.2. 詳細(xì)計(jì)算過(guò)程 135. 接口適配器開發(fā)過(guò)程介紹 215.1. 元數(shù)據(jù)開發(fā) 215.1.1. 三期mapping轉(zhuǎn)成元數(shù)據(jù) 215.1.2. 根據(jù)DA文檔開發(fā)元數(shù)據(jù)過(guò)程 215.2. 配置文件編寫 245.3. 元數(shù)據(jù)算法邏輯校驗(yàn) 255.4. 適配器打包、加密 265.5. 注冊(cè)適配器進(jìn)行采集測(cè)試 26適配器概述適配器,是指面向某類采集源獨(dú)立地完成采集一個(gè)或多個(gè)指標(biāo)組的程序包,該程序包包括從數(shù)據(jù)源獲取數(shù)據(jù)部分也包含指標(biāo)算法信息。對(duì)不同廠商,不同接口的數(shù)據(jù)采集實(shí)現(xiàn)接口適配,并通過(guò)廠商提供的指標(biāo)應(yīng)答算法整理出DA文檔,按照DA文檔進(jìn)行底層表歸一化計(jì)算,輸出標(biāo)準(zhǔn)的底層采集數(shù)據(jù),供各專業(yè)網(wǎng)管和上層應(yīng)用系統(tǒng)使用。DB接口概述當(dāng)前的統(tǒng)一采集可以支持所有常見關(guān)系型數(shù)據(jù)庫(kù),我們通過(guò)java自帶的JDBC的驅(qū)動(dòng)類來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。如:Informix、Sybase、Oracle、SqlServer。下圖是統(tǒng)一采集平臺(tái)當(dāng)前所配的數(shù)據(jù)庫(kù)的連接信息。如果以下7種數(shù)據(jù)庫(kù)不滿足需要,可以進(jìn)行新建。新建數(shù)據(jù)庫(kù)類型:數(shù)據(jù)庫(kù)驅(qū)動(dòng):不同數(shù)據(jù)庫(kù)開發(fā)商(比如oraclemysql等)為了某一種開發(fā)語(yǔ)言環(huán)境(比如java)能夠?qū)崿F(xiàn)統(tǒng)一的數(shù)據(jù)庫(kù)調(diào)用而開發(fā)的程序,它的作用相當(dāng)于一個(gè)翻譯人員,將Jva語(yǔ)言中對(duì)數(shù)據(jù)庫(kù)的調(diào)用語(yǔ)言通過(guò)這個(gè)翻譯翻譯成各個(gè)種類的數(shù)據(jù)庫(kù)自己的數(shù)據(jù)庫(kù)語(yǔ)言,當(dāng)然這個(gè)翻譯(數(shù)據(jù)庫(kù)驅(qū)動(dòng))是由各個(gè)開發(fā)商針對(duì)統(tǒng)一的接口自定義開發(fā)的。在GCP平臺(tái)中指的是數(shù)據(jù)庫(kù)驅(qū)動(dòng)的入口類。數(shù)據(jù)庫(kù)地址:此處指的是數(shù)據(jù)庫(kù)連接的URL,在進(jìn)行輸入前GCP平臺(tái)給出的串是為了方便用戶進(jìn)行填寫所寫的模板。比如:jdbc:oracle:thin<server>[:<1521>]:<database_name>在進(jìn)行填寫時(shí),將<server>改成服務(wù)器IP地址;[:<1521>]表示這個(gè)地方是個(gè)可選填項(xiàng),可以不填,默認(rèn)的數(shù)據(jù)庫(kù)連接端口號(hào)為1521,如果有必要,需要改動(dòng);<database_name>這個(gè)地方填寫數(shù)據(jù)庫(kù)實(shí)例名。Oracle數(shù)據(jù)庫(kù)配置樣例:數(shù)據(jù)庫(kù)接口適配器包的介紹統(tǒng)一采集適配器主要分為三種:數(shù)據(jù)庫(kù)接口適配器、文件接口適配器和指令接口適配器。有時(shí),也會(huì)出現(xiàn)這三種接口混合的適配器。數(shù)據(jù)庫(kù)接口適配器的文件組成:一個(gè)excel文件(算法)|一個(gè)XML文件(配置)|一個(gè)加密文件。配置文件(XML文件)說(shuō)明配置文件總述配置文件可以靈活地增加和刪除配置項(xiàng),使適配器更具有通用性。配置文件主要分為三個(gè)部分:公共屬性、適配器的屬性、采集源配置信息。這三部分的屬性跟統(tǒng)一采集平臺(tái)界面的采集單元配置是相對(duì)應(yīng)的。 數(shù)據(jù)庫(kù)接口適配器的配置文件介紹1、公共屬性(所有適配器包的屬性):vendor_id廠家在GCP中的唯一標(biāo)識(shí),例:華為是8,其它具體的在GCP平臺(tái)的系統(tǒng)設(shè)置中查;version適配器的版本package適配器的名字category_type采集的數(shù)據(jù)類型,例如:PM/CMprofessional_type專業(yè)類型注:話務(wù)和網(wǎng)優(yōu)均為WL話音WL(PM性能|CM資源配置|FM告警)數(shù)據(jù)IP(PM性能|CM資源配置|FM告警)傳輸TM(PM性能|CM資源配置|FM告警)interface_name采集的接口類型(DB|FILE|CMD|CORBA……)metadata_file元數(shù)據(jù)文件名adapter_class適配器的類 checker_class檢測(cè)數(shù)據(jù)準(zhǔn)備情況數(shù)據(jù)庫(kù)接口的特殊配置:<parkey_en_name="interface_name"key_value="DB"/><parkey_en_name="adapter_class",key_value="com.boco.gcp.collect.adapter.dbadapter.CsvDbAdapter"/>DB接口固定格式,不需修改。<parkey_en_name="checker_class",key_value="com.boco.gcp.collect.core.detect.impl.DefaultDbDetector"/>。DB接口固定格式,不需修改。2、適配器的屬性:例如:func_class函數(shù)類key_en_name屬性英文明key_cn_name屬性中文名is_read是否可編輯(用數(shù)字的代表:0只讀|1可讀寫|2必填)key_value屬性值description屬性描述信息3、采集源配置信息該部分的配置信息為適配器個(gè)性化的信息,這些信息在進(jìn)行適配器開發(fā)配置該配置文件時(shí),可以進(jìn)行手動(dòng)添加屬性。例如:添加vendorname。結(jié)果為:適配器和適配器版本的命名規(guī)范適配器命名命名中的所有標(biāo)識(shí)字符都用大寫。GCP_[carrier]_[speciality]_[network]_[Standard-Version]_[vendor]_[ne-type]_[version]_[interface]_[pm/cm]_[yyyymmdd].zip詳細(xì)說(shuō)明:GCP:固定。統(tǒng)一采集平臺(tái),GeneralCollectionPlatform。[carrier]:為運(yùn)營(yíng)商標(biāo)識(shí)。例如:CMCC表示中國(guó)移動(dòng),UNIC表示中國(guó)聯(lián)通,CT中國(guó)電信。[speciality]:專業(yè)。例如:話務(wù):WL,網(wǎng)優(yōu)(網(wǎng)優(yōu)自己定)。加這個(gè)的目的是如果話務(wù)跟網(wǎng)優(yōu)出現(xiàn)相同版本相同網(wǎng)元的情況下,避免注冊(cè)不了適配器。[network]:網(wǎng)絡(luò)類型。例如:GSM,TD,LTE。[Standard-Version]:集團(tuán)規(guī)范版本。[vendor]:為廠家標(biāo)識(shí),例如:Alcatel、Ericsson、Motorola、Nortel、Nokia、Siemens、ZTE、Huawei,Eastcom-BUPT(東信北郵)等。[ne-type]:為網(wǎng)元類型。例如:RADIO、SWITCH、GPRS、IN、SMS、STP、IMS等。[version]:OMC接口:為OMC版本-網(wǎng)元版本;直連網(wǎng)元:網(wǎng)元版本。[Interface]:為廠家接口方式。OMC數(shù)據(jù)庫(kù)接口:ORACLR、SYBASE、INFORMIX等,文件方式:FILE,CORBA,SNMP,指令方式:INS,MML等。[pm/cm]:PM:性能采集,CM:資源采集。[yyyymmdd]:年月日格式的時(shí)間戳。示例:GCP_CMCC_WL_GSM_V2.3.0_ALCATEL_BSC_B10_FILE_PM_20120417.zip(主包)GCP_CMCC_WL_GSM_V2.3.0_ALCATEL_BSC_B10_DB_NRM_PM_20120417.zip(輔包)注:如上所示的命名中,如果性能采集接口方式是FILE+DB(NRM),就需要做成兩個(gè)采集包。由于輔包一般取得是網(wǎng)管資源庫(kù)數(shù)據(jù),所以用DB_NRM來(lái)標(biāo)識(shí)接口。適配器版本命名適配器中版本信息不僅在適配器中用到,在統(tǒng)一采集web頁(yè)面顯示很關(guān)鍵,命名規(guī)范可以增加可讀性。[speciality]_[network]_[Standard-Version]_[vendor]_[ne-type]_[version]_[interface]_[pm/cm]例如:WL_GSM_V2.3.0_ALCATEL_BSC_B10_FILE_PMWL_GSM_V2.3.0_ALCATEL_BSC_B10_DB_NRM_PM廠商版本規(guī)范有待討論:能夠規(guī)范各省采集適配器中的廠商網(wǎng)元版本和OMC版本Excel文件(元數(shù)據(jù))的說(shuō)明元數(shù)據(jù)的結(jié)構(gòu)主要分為兩層:Counter層和PI、CI、FI層。 Counter移動(dòng)通訊網(wǎng)絡(luò)設(shè)備針對(duì)網(wǎng)絡(luò)質(zhì)量分析和統(tǒng)計(jì)的基礎(chǔ)計(jì)數(shù)器,是GCP采集到網(wǎng)絡(luò)設(shè)備的原始輸出內(nèi)容。計(jì)數(shù)器PI移動(dòng)通訊網(wǎng)絡(luò)設(shè)備的性能指標(biāo),是在counter層基礎(chǔ)上按照DA指標(biāo)算法計(jì)算得出的性能指標(biāo),比如系統(tǒng)接通次數(shù)、掉話次數(shù)等指標(biāo)。是GCP產(chǎn)品性能csv文件的最終輸出內(nèi)容;性能指標(biāo)CI移動(dòng)通訊網(wǎng)絡(luò)設(shè)備的資源(配置)指標(biāo),是在counter層基礎(chǔ)上按照DA指標(biāo)算法計(jì)算得出的資源(配置)指標(biāo),比如系統(tǒng)接通次數(shù)、掉話次數(shù)等指標(biāo)。是GCP產(chǎn)品資源(配置)csv文件的最終輸出內(nèi)容;配置(資源)指標(biāo)KPI是和GCP對(duì)接的數(shù)據(jù)處理中心,依據(jù)DA算法,對(duì)GCP的輸出PI進(jìn)行關(guān)鍵性能指標(biāo)的計(jì)算,比如掉話率=掉話次數(shù)/系統(tǒng)接通次數(shù)。該類指標(biāo)不屬于GCP采集范圍,為理解需要,特此說(shuō)明關(guān)鍵性能指標(biāo)元數(shù)據(jù)結(jié)構(gòu)圖中間表中間表元數(shù)據(jù)各部分詳解一張表的算法在excel分為七部分:(1)目標(biāo)表的定義(ci/pi表或者counter表)/表頭信息store_tablepub_scp_info表名對(duì)應(yīng)關(guān)聯(lián)(store_table廠家元數(shù)據(jù),pub_scp_info是kpi表對(duì)應(yīng)名稱,一般都與sheet一致)table_name_cnpub_scp_info表的中文描述table_name_engpub_scp_info表的英文描述descriptiontpd_ggsn本適配器下的算法表名稱pfr_typepm數(shù)據(jù)類型(性能PM|配置CM|告警FM)layer_id2表類型(1代表counter表|2代表KPI表)vendor_id4廠家唯一標(biāo)識(shí)號(hào)versiong6廠家原始版本號(hào)/適配器版本號(hào)table_type0暫時(shí)沒用(都填0)object_type121廠家統(tǒng)計(jì)對(duì)象類型(網(wǎng)元粒度)time_type0暫時(shí)沒用(都填0)domain_id1網(wǎng)絡(luò)類型(話音WL|數(shù)據(jù)IP|傳輸TM)store_table:采集的目標(biāo)表名(kpi/pi表或counter表)table_name_cn:表的中文名稱table_name_eng:表的英文名稱description:表的描述信息pfr_type:表的數(shù)據(jù)屬性,性能數(shù)據(jù)填pm,資源數(shù)據(jù)填cm,告警fmlayer_id:表所屬的層次標(biāo)識(shí),1為采集層,2為管理層vendor_id:廠家idversion:廠家版本object_type:表的網(wǎng)元類型(2)索引的定義index_nameidx_fieldidx_flaglocal_flagdescriptionIndex_name:索引名Idx_field:索引字段 Idx_flag:索引標(biāo)志,0表示為普通索引,1表示為主鍵,2表示為唯一索引Local_flag:0表示全局,1表示localdescription:描述信息 (3)中間臨時(shí)表的定義dest_tabledest_fieldexp_selectexp_fromexp_whereexp_groupbydescriptionodbc_testaaabbbop_testmo='2.1.2.14'Dest_table:臨時(shí)表名Dest_field:臨時(shí)表字段Exp_select:算法表達(dá)式,SQL表達(dá)式,即select部分Exp_from:算法表達(dá)式,即SQL的from部分,別名從a到z。Exp_where:計(jì)算條件Exp_group:分組條件Description:描述信息(4)分組定義group_nametable_group_namegroup_flagexp_fromexp_whereexp_groupbyexp_orderbyexp_joindescriptiontransform_typepub_scp_inforelated_rdn011SCPcase_rdn0pub_scp_inforelated_rdn020objectcase_rdn0pub_scp_infoself0self0Table_group_name:分組名Group_flag:分組操作標(biāo)識(shí)枚舉型:0:update主分組;1:insert分組Exp_from:算法表達(dá)式,即SQL的from部分,別名從a到z。Exp_where:計(jì)算條件Exp_group:分組條件Exp_order:排序條件Exp_join:關(guān)聯(lián)字段,分組間的關(guān)聯(lián)字段Description:描述信息(5)分組預(yù)處理的定義table_group_namepreprocess_seqexp_sqldescriptionTable_group_name:分組名Preprocess_seq:預(yù)處理sql執(zhí)行順序Exp_sql:完整的執(zhí)行sqlDescription:描述信息(6)臨時(shí)字段描述及算法tmp_store_fieldfield_name_cnfield_name_engfield_datatypeConstraintdefault_valuedescriptionexp_selectrelated_rdnexp_desctmp_object_rdntmp_object_rdntmp_object_rdnSQL_VARCHAR(255)0concat('${OMC_ID}:','111:',case_rdn)selfcase_rdncase_rdncase_rdnSQL_VARCHAR(255)0DEVIPADDRrelated_rdn01case_rdncase_rdncase_rdnSQL_VARCHAR(255)0DEVIPADDRrelated_rdn02tmp_store_field:臨時(shí)字段名field_name_cn:字段中文名field_name_eng:字段英文名field_datatype:字段類型Constraint:約束,標(biāo)識(shí)此字段是否可以為空,1表示不可為空,即必填,0表示可為空default_value:默認(rèn)值,如果沒有就不填description:描述信息exp_select:算法表達(dá)式,SQL表達(dá)式,即select部分related_rdn:臨時(shí)字段歸屬的分組exp_desc:算法中文描述(7)目標(biāo)字段描述及算法store_fieldfield_name_cnfield_name_engfield_datatypeConstraintdefault_valuedescriptionexp_selectrelated_rdnexp_descNewbsc_idBSCID號(hào)bsc_idSQL_INTEGER0BSC_IDrelated_rdn01Newbsc_nameBSC名稱bsc_nameSQL_VARCHAR(255)0BSC_NAMErelated_rdn01Newcouter1BCS編號(hào)couter1SQL_INTEGER0couter1related_rdn01Newcounter2BSC型號(hào)counter2SQL_INTEGER0counter2related_rdn01NewC1BSC屬性1NewC1SQL_INTEGER0C1related_rdn02NewC2BSC屬性1NewC2SQL_INTEGER0 C2related_rdn02store_field:字段名field_name_cn:字段中文名field_name_eng:字段英文名field_datatype:字段類型Constraint:約束,標(biāo)識(shí)此字段是否可以為空,1表示不可為空,即必填,0表示可為空default_value:默認(rèn)值,如果沒有就不填description:描述信息exp_select:算法表達(dá)式,SQL表達(dá)式,即select部分related_rdn:歸屬分組exp_desc:算法中文描述補(bǔ)充說(shuō)明:對(duì)于以上Excel文件中分組表的兩個(gè)部分,group_name部分創(chuàng)建的臨時(shí)分組,如果存在兩個(gè)以上的分組,group_flag的值在主分組中為‘1’,其余分組都為‘0’;臨時(shí)表中的表名稱related_rdn需要和臨時(shí)分組中的table_group_name的對(duì)應(yīng)分組的名稱一致;對(duì)于臨時(shí)表中的來(lái)源列exp_select的值,可以是從元數(shù)據(jù)表中直接獲得,也可以是從采集適配器的屬性或下發(fā)策略中獲得。如下圖:exp_select(從元數(shù)據(jù)表中直接獲得,也可以是從采集適配器的屬性或下發(fā)策略中獲得。)${OMC_ID}${OU_ID}func.current()func.crc64(unique_rdn)$(SCAN_STOP_TIME,‘YYYY_MM-ddhh:mm:ss’)$(SCAN_STOP_TIME+24h,‘YYYY_MM-ddhh:mm:ss’)時(shí)間加減操作$(SCAN_STOP_TIME-1d,‘YYYY_MM-ddhh:mm:ss’)時(shí)間加減操作可以支持函數(shù)func.counter();func.counter(unique_rdn); 加密文件 將元數(shù)據(jù)和配置文件打包后,執(zhí)行加密程序后自動(dòng)生成。元數(shù)據(jù)計(jì)算過(guò)程CI/KI/PI層CI/KI/PI層Counter層源數(shù)據(jù)庫(kù)計(jì)算過(guò)程流程圖詳細(xì)計(jì)算過(guò)程現(xiàn)以GCP_WL_CMCC_HUAWEI_BSC_V900R011C00SPH728_DB_PM為例,闡述華為BSC數(shù)據(jù)庫(kù)性能采集的計(jì)算過(guò)程。下圖是一張完整的pi表tpd_cell_gprs。該pi表的計(jì)算過(guò)程如下:創(chuàng)建tpd_cell_gprs所使用到的counter表。創(chuàng)建表:createtableor_huw_l_objectinstance(ou_idinteger,omc_idinteger,objecttypeidinteger,objectnointeger,invalidtimetimestamp(0),nefdnvarchar(255),objectmember0varchar(255))創(chuàng)建表:createtableop_huw_ult_1275071435_3(scan_start_timetimestamp(0),scan_stop_timetimestamp(0),starttimetimestamp(0),endtimetimestamp(0),objectnointeger,counter_1278087418decimal(12,3))創(chuàng)建表:createtableop_huw_ult_1275071423_3(scan_start_timetimestamp(0),scan_stop_timetimestamp(0),starttimetimestamp(0),endtimetimestamp(0),objectnointeger,counter_1278075418decimal(12,3),counter_1278075428decimal(12,3))創(chuàng)建kpi表:tpd_cell_gprs。創(chuàng)建表:createtabletpd_cell_gprs(ne_idINTEGER,record_idIDENTITY,v_scan_start_timeTIMESTAMP(0),v_scan_stop_timeTIMESTAMP(0),ou_idINTEGER,omc_idINTEGER,vendor_idINTEGER,old_rdnVARCHAR(255),insert_timeTIMESTAMP(0),Suc_imm_assign_chFLOAT,scan_start_timeTIMESTAMP(0),scan_stop_timeTIMESTAMP(0),Rej_msg_to_btsFLOAT)創(chuàng)建主臨時(shí)表內(nèi)存表。創(chuàng)建表:createtablemainTmpTable(case_rdnVARCHAR(255),case_start_timeTIMESTAMP(0),case_stop_timeTIMESTAMP(0),tmp_object_rdnVARCHAR(255),ne_idINTEGER,record_idIDENTITY,v_scan_start_timeTIMESTAMP(0),v_scan_stop_timeTIMESTAMP(0),ou_idINTEGER,omc_idINTEGER,vendor_idINTEGER,old_rdnVARCHAR(255),insert_timeTIMESTAMP(0),Suc_imm_assign_chFLOAT,scan_start_timeTIMESTAMP(0),scan_stop_timeTIMESTAMP(0),Rej_msg_to_btsFLOAT)創(chuàng)建中間表1和2創(chuàng)建表:CREATEINDEXIX_TMPop_huw_ult_1275071423_31ONop_huw_ult_1275071423_3(ObjectNo)創(chuàng)建表:CREATEINDEXIX_TMPor_huw_l_objectinstance1ONor_huw_l_objectinstance(ObjectNo,ObjectTypeId)創(chuàng)建表:createtabletbl_result_1275071423_3_gprs(bts_rdn,counter_1278075418,counter_1278075428,scan_start_time,scan_stop_time,unique_rdn)AS(selecta.ObjectMember0,b.counter_1278075418,b.counter_1278075428,b.StartTime,b.EndTime,'unique_rdn'FROMor_huw_l_objectinstancea,op_huw_ult_1275071423_3bwherea.ObjectNo=b.ObjectNoanda.ObjectTypeId=1275069421anda.InvalidTimeisnull)withdata創(chuàng)建表:CREATEINDEXIX_TMPop_huw_ult_1275071435_32ONop_huw_ult_1275071435_3(ObjectNo)創(chuàng)建表:createtabletbl_result_1275071435_3_gprs(bsc_rdn,bts_rdn,counter_1278087418,scan_start_time,scan_stop_time,unique_rdn)AS(selecta.NeFdn,a.ObjectMember0,b.counter_1278087418,b.StartTime,b.EndTime,'unique_rdn'FROMor_huw_l_objectinstancea,op_huw_ult_1275071435_3bwherea.ObjectNo=b.ObjectNoanda.ObjectTypeId=1275069421anda.InvalidTimeisnull)withdata創(chuàng)建分組表1創(chuàng)建表:CREATEINDEXIX_TMPtbl_result_1275071435_3_gprs1ONtbl_result_1275071435_3_gprs(scan_start_time,scan_stop_time)更新[0]條;耗時(shí)[0秒]創(chuàng)建表:createtablerelated_rdn01(case_rdnVARCHAR(255),case_start_timeTIMESTAMP(0),case_stop_timeTIMESTAMP(0),tmp_object_rdnVARCHAR(255),ne_idINTEGER,record_idIDENTITY,v_scan_start_timeTIMESTAMP(0),v_scan_stop_timeTIMESTAMP(0),ou_idINTEGER,omc_idINTEGER,vendor_idINTEGER,old_rdnVARCHAR(255),insert_timeTIMESTAMP(0),Suc_imm_assign_chFLOAT,scan_start_timeTIMESTAMP(0),scan_stop_timeTIMESTAMP(0),Rej_msg_to_btsFLOAT)更新中間表1的時(shí)間,并且將中間表1的數(shù)據(jù)插入到分組表1創(chuàng)建表:UPDATEtbl_Result_1275071435_3_gprssetscan_start_time=TIMESTAMP(to_char(TIMESTAMP(scan_start_time),'YYYY-MM-DDHH24')+':00:00')創(chuàng)建表:UPDATEtbl_Result_1275071435_3_gprssetscan_stop_time=TIMESTAMP(to_char(TIMESTAMP(scan_start_time),'YYYY-MM-DDHH24')+':00:00')+1hour創(chuàng)建表:insertintorelated_rdn01(case_rdn,case_start_time,case_stop_time,Suc_imm_assign_ch)selectbts_rdn,scan_start_time,scan_stop_time,sum(counter_1278087418)FROMtbl_result_1275071435_3_gprsgroupbybts_rdn,scan_start_time,scan_stop_time創(chuàng)建分組表2,更新中間表2的時(shí)間,并且將中間表2的數(shù)據(jù)插入到分組表2創(chuàng)建表:CREATEINDEXIX_TMPtbl_result_1275071423_3_gprs2ONtbl_result_1275071423_3_gprs(scan_start_time,scan_stop_time)更新[0]條;耗時(shí)[0秒]創(chuàng)建表:createtablerelated_rdn02(case_rdnVARCHAR(255),case_start_timeTIMESTAMP(0),case_stop_timeTIMESTAMP(0),tmp_object_rdnVARCHAR(255),ne_idINTEGER,record_idIDENTITY,v_scan_start_timeTIMESTAMP(0),v_scan_stop_timeTIMESTAMP(0),ou_idINTEGER,omc_idINTEGER,vendor_idINTEGER,old_rdnVARCHAR(255),insert_timeTIMESTAMP(0),Suc_imm_assign_chFLOAT,scan_start_timeTIMESTAMP(0),scan_stop_timeTIMESTAMP(0),Rej_msg_to_btsFLOAT)創(chuàng)建表:UPDATEtbl_Result_1275071423_3_gprssetscan_start_time=TIMESTAMP(to_char(TIMESTAMP(scan_start_time),'YYYY-MM-DDHH24')+':00:00')創(chuàng)建表:UPDATEtbl_Result_1275071423_3_gprssetscan_stop_time=TIMESTAMP(to_char(TIMESTAMP(scan_start_time),'YYYY-MM-DDHH24')+':00:00')+1hour創(chuàng)建表:insertintorelated_rdn02(case_rdn,case_start_time,case_stop_time,Rej_msg_to_bts)selectbts_rdn,scan_start_time,scan_stop_time,sum(counter_1278075428)FROMtbl_result_1275071423_3_gprsgroupbybts_rdn,scan_start_time,scan_stop_time8、將中間表的主鍵(distinctbts_rdn,scan_start_time,scan_stop_time)插入到主臨時(shí)表中創(chuàng)建表:insertintomainTmpTable(case_rdn,case_start_time,case_stop_time)selectdistinctbts_rdn,scan_start_time,scan_stop_timeFROMtbl_result_1275071435_3_gprsgroupbybts_rdn,scan_start_time,scan_stop_time 9、通過(guò)主鍵(case_start_time,case_stop_time,case_rdn)去關(guān)聯(lián)分組表1和分組表2來(lái)更新主臨時(shí)表里的字段創(chuàng)建表:CREATEINDEXIX_mainTmpTable3ONmainTmpTable(case_start_time,case_stop_time,case_rdn)創(chuàng)建表:CREATEINDEXIX_related_rdn013ONrelated_rdn01(case_start_time,case_stop_time,case_rdn)創(chuàng)建表:updatemainTmpTablet0set(t0.Suc_imm_assign_ch)=(selectt1.Suc_imm_assign_chfromrelated_rdn01t1wheret0.case_start_time=t1.case_start_timeandt0.case_stop_time=t1.case_stop_timeandt0.case_rdn=t1.case_rdn)whereexists(select1FROMrelated_rdn01t1wheret0.case_start_time=t1.case_start_timeandt0.case_stop_time=t1.case_stop_timeandt0.case_rdn=t1.case_rdn)創(chuàng)建表:CREATEINDEXIX_related_rdn024ONrelated_rdn02(case_start_time,case_stop_time,case_rdn)創(chuàng)建表:updatemainTmpTablet0set(t0.Rej_msg_to_bts)=(selectt1.Rej_msg_to_btsfromrelated_rdn02t1wheret0.case_start_time=t1.case_start_timeandt0.case_stop_time=t1.case_stop_timeandt0.case_rdn=t1.case_rdn)whereexists(select1FROMrelated_rdn02t1wheret0.case_start_time=t1.case_start_timeandt0.case_stop_time=t1.case_stop_timeandt0.case_rdn=t1.case_rdn)10、主臨時(shí)表自身更新創(chuàng)建表:updatemainTmpTablesettmp_object_rdn=concat('111:300:',case_rdn)創(chuàng)建表:updatemainTmpTablesetne_id=CRC32(tmp_object_rdn),v_scan_start_time=case_start_time,v_scan_stop_time=case_stop_time,ou_id=111,omc_id=111,vendor_id=8,old_rdn=tmp_object_rdn,insert_time=CURRENT_TIMESTAMP,scan_start_time=case_start_time,scan_stop_time=case_stop_time更新[0]條;耗時(shí)[0秒]創(chuàng)建表:updatemainTmpTablesettmp_object_rdn=concat('111:300:',case_rdn)11、將主臨時(shí)表的字段插入到PI結(jié)果表中創(chuàng)建表:insertintotpd_cell_gprs(ne_id,record_id,v_scan_start_time,v_scan_stop_time,ou_id,omc_id,vendor_id,old_rdn,insert_time,Suc_imm_assign_ch,scan_start_time,scan_stop_time,Rej_msg_to_bts)selectne_id,record_id,v_scan_start_time,v_scan_stop_time,ou_id,omc_id,vendor_id,old_rdn,insert_time,Suc_imm_assign_ch,scan_start_time,scan_stop_time,Rej_msg_to_btsFROMmainTmptable計(jì)算完畢,導(dǎo)出數(shù)據(jù)[0]條至文件../data/tpd_cell_gprs.csv補(bǔ)充說(shuō)明:創(chuàng)建or表(counter表)的內(nèi)存臨時(shí)表,并從csv文件中導(dǎo)入數(shù)據(jù)到or表,(or表的引用一般在group_name行中的exp_from,或者在dest_table行中的exp_from)創(chuàng)建KPI主表。表明為store_table名,字段為store_field下的字段。創(chuàng)建主臨時(shí)內(nèi)存表。主臨時(shí)表的字段為tmp_store_table下和store_table下的字段。(所以tmp_store_table和store_table中不能出現(xiàn)重復(fù)的字段名?。㎏PI的整個(gè)計(jì)算過(guò)程是將中間表(臨時(shí)表,相關(guān)表)插入(insert)或更新(update)到主臨時(shí)表(mainTmpTable)的字段,最后一步為將主臨時(shí)表的數(shù)據(jù)update到KPI主表,結(jié)束。創(chuàng)建相關(guān)表。(如果存在中間表(dest_table)才會(huì)有這一步,否則跳過(guò),創(chuàng)建方法為create表名as(select...fromop臨時(shí)表)withdata。后面臨時(shí)表就只使用相關(guān)表,or臨時(shí)表到這里就沒用了)(字段為dest_field下字段,注意,創(chuàng)建相關(guān)表時(shí)可以對(duì)or臨時(shí)表進(jìn)行一定處理(dest_table中的exp_from))按順序創(chuàng)建,更新,插入臨時(shí)表。臨時(shí)表為table_group_name下的表,每個(gè)表的字段為每個(gè)表的tmp_store_table下的字段+所有store_tab
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)課題申報(bào)書范文
- 課題申報(bào)書高校
- 申報(bào)課題的項(xiàng)目書
- 人文社科研究課題申報(bào)書
- 畜牧養(yǎng)殖課題申報(bào)書
- 課題申報(bào)書項(xiàng)目?jī)?nèi)容
- 課題申報(bào)書人員分工
- 婦科課題立項(xiàng)申報(bào)書
- 橫向科研課題申報(bào)書
- 單縣新房購(gòu)房合同范例
- 上海初中英語(yǔ)考綱詞匯表整理
- 信息化教學(xué)設(shè)計(jì)教案大學(xué)語(yǔ)文
- 氧氣、二氧化碳、氬氣安全周知卡
- 第9章 循環(huán)系統(tǒng)疾病患兒的護(hù)理
- 基層醫(yī)療衛(wèi)生機(jī)構(gòu)崗位設(shè)置指導(dǎo)意見
- micro830和micro850可編程控制器手冊(cè)
- FSC-COC培訓(xùn)學(xué)習(xí)
- 焊接線能量的計(jì)算公式
- 醫(yī)用氧儲(chǔ)罐檢查記錄表
- 植物的營(yíng)養(yǎng)器官:根、莖、葉匯總
- 第三套廣播體操《七彩陽(yáng)光》分解動(dòng)作講解(共4頁(yè))
評(píng)論
0/150
提交評(píng)論