freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

bsn(businesssupportnetwork)計費系統(tǒng)的預(yù)付費入庫畢業(yè)論文-資料下載頁

2025-08-17 17:03本頁面

【導(dǎo)讀】文件進行解析并提取其中的信息,然后把這些信息入庫,將它們以表的結(jié)構(gòu)存放在數(shù)據(jù)庫中,清單表、費用表是給web前臺查詢用的,為客戶提供清單級的查詢;sd表的帳。目數(shù)據(jù)是給以后出帳用的,可以為客戶提供總帳級的查詢。由于電信計費時的數(shù)據(jù)量很大,據(jù)庫,從而可以實現(xiàn)快速的對數(shù)據(jù)庫進行寫操作。pRecordData的對應(yīng)的成員變量里。要提取相應(yīng)得字段的信息時,再用屬性標(biāo)識ID來匹配。表,并把他們以向量的形式存放起來,處理完一個文件后,檢查是否到了批量入庫的記錄數(shù),Keywords:BSN;BillingSystem;Prepayment;Billingdocuments;Depositing. 師的指導(dǎo)下進行的研究工作及取得的成果。盡我所知,除文中特別加。而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了謝意。

  

【正文】 mmss 結(jié)束時間 End_time DATETIME Char 14 100006 格式: yyyymmdd hh:mm:ss 時長 duration long long 14 100007 優(yōu)惠前費用 1 Pcs_oldcharge1 double double 10 160001 17 優(yōu)惠后費用 1 Pcs_charge1 double double 10 160002 優(yōu)惠前費用 2 Pcs_oldcharge2 double double 10 160003 優(yōu)惠后費用 2 Pcs_charge2 double double 10 160011 優(yōu)惠前費用 3 Pcs_oldcharge3 double double 10 160012 優(yōu)惠后費用 3 Pcs_charge3 double double 10 160013 優(yōu)惠前費用 4 Pcs_oldcharge4 double double 10 160014 優(yōu)惠后費用 4 Pcs_charge4 double double 10 160015 優(yōu)惠前費用 5 Pcs_oldcharge5 double double 10 160016 優(yōu)惠后費用 5 Pcs_charge5 double double 10 160017 優(yōu)惠前費用 6 Pcs_oldcharge6 double double 10 160018 優(yōu)惠后費用 6 Pcs_charge6 double double 10 160019 是否需要計算跳次 PCS_ORSHIHUA Int Int 1 160020 計費方標(biāo)志 PCS_BILLINGFLAG char char 5 160021 表 7,話單格式 第三章 預(yù)付費入庫設(shè)計 預(yù)付費入庫就是將揀重以后的話單文件,經(jīng)過處理,解析并提取其中的信息,然后把這些信息入庫,將它們以表的結(jié)構(gòu)存放在數(shù)據(jù)庫中,總的來說它實現(xiàn)的是從文件級到表級的過程。入庫后產(chǎn)生了三張表:清單表、費用表和總帳( sd)表。清單表、費用表是給 web前臺查詢用的,為客戶提供清單級的查詢;sd表的帳目數(shù)據(jù)是給后面出帳用的,可以為客戶提供總帳級的查詢。由于電信計費時的數(shù)據(jù)量很大,入庫時,對數(shù)據(jù)庫的操作會很慢,而電信計費要求是快速的實現(xiàn)計費,為了提高程序的速度要采取措施:批量入庫,即寫數(shù)據(jù)庫時我們采用批量操作,當(dāng)提取的記錄達到一定數(shù)目時,把它們一起寫入數(shù)據(jù)庫,從而可以實現(xiàn) 快速的對數(shù)據(jù)庫進行寫操作。 實現(xiàn)從文件級到表級的轉(zhuǎn)換,關(guān)鍵是如何提取文件中的話單記錄并把它放到表中相應(yīng)得位置中,在這里我們用的是事件驅(qū)動來實現(xiàn),即先讀取話單文 件的頭文件,把它屬性標(biāo)識 ID存放到當(dāng)前文件的屬性 ID序列 中;然后取出一條話單記錄,依次讀取話單字段,然后根據(jù)當(dāng)前文件的屬性 ID序列 中對應(yīng)屬性標(biāo)識 ID來設(shè)置話單屬性,并把它存放到話單計費事件適配器類( TCdrEvent) 中 的 計費原數(shù)據(jù)結(jié)構(gòu)( TCallDetailRecord) pRecordData的對應(yīng)的成員變量里 。要提取相應(yīng)得字段的信息時,再用屬性標(biāo)識 ID來匹配取得。 填寫清單表、費用表和 sd表時會有所不同,清單表的字段可以直接從中間數(shù)據(jù) pRecordData中獲得,費用表的字段通過清單表,查找?guī)つ款愋捅韥?填寫。填寫 sd 表時還必須查找服務(wù)資料和查找?guī)?wù)關(guān)系來填寫相關(guān)字段。 入清單表和費用表與入 sd表也有不同,入清單表和費用表時,只要將解析出的記錄寫進對應(yīng)的表中即可,而入 sd表時比較復(fù)雜,新記錄還要與對應(yīng) sd表中的記錄比較,如果沒有記錄才寫入新的紀(jì)錄,有相同記錄要修改記錄。對數(shù)據(jù)庫的讀寫操作會很慢,為了提高程序的速度,把需要進行查找的 sd表的信息以 Hash表的形式先存入內(nèi)存,另外再申明兩個 Hash容器: insert容器和 update容器。用新記錄與 Hash內(nèi)存的記錄比較,如果沒有記錄,對 insert容器進行操作 ,用新記錄與 insert容器中的記錄比較, insert容器中有記錄就修改該記錄, insert容器沒有記錄就把新記錄放入其中;如果 Hash內(nèi)存有記錄,就對 update容器進行操作,用新記錄與 update容器中的記錄比較, update容器中有記 18 錄就修改該記錄, update容器沒有記錄就把新記錄放入其中。在入庫時,把 insert容器中的數(shù)據(jù)寫進sd表里,用 update容器中的數(shù)據(jù)修改 sd表對應(yīng)得記錄;然后還要用 insert容器和 update容器的數(shù)據(jù)更新 Hash內(nèi)存使其與數(shù)據(jù)庫中的 sd 表同步。 Hash內(nèi)存等這 些在計費系統(tǒng)的其他模塊中也用到過,相關(guān)結(jié)構(gòu)和申明都已經(jīng)寫好放在公用的庫中,在這里我們只要使用它,所以不會細(xì)講它。但它是計費系統(tǒng)的重要部分,通過它,才使程序能夠快速的運行。 預(yù)付費入庫與計費系統(tǒng)的合帳模塊有些類似,在設(shè)計預(yù)付費入庫時會參考合帳模塊的相關(guān)設(shè)計思想。 預(yù)付費入庫基類的設(shè)計 預(yù)付費入庫基類( TPcsTrans)的設(shè)計 TPcsTrans的主要功能是處理話單文件,把話單文件解析成一條一條的話單記錄,并把它們寫入數(shù)據(jù)庫。因為對數(shù)據(jù)庫的操作很慢,會占用大量的運行時間,所以先把這些記錄放 在內(nèi)存中,等到達一定數(shù)量時,再成批的放入數(shù)據(jù)庫,為此我們需要一個用于存放這些記錄的空間,所以我們還要設(shè)計一個數(shù)據(jù)組織操作類(數(shù)據(jù)庫緩沖區(qū)) TEventPcsInfo,并把它作為 TPcsTrans的一個成員。 為了安全,要設(shè)計一個處理函數(shù)接口:處理函數(shù) Execute(),在它里面可以調(diào)用私有成員函數(shù)。另外還需要一些私有成員函數(shù):根據(jù)執(zhí)行方式預(yù)設(shè)查詢 SQL PreSetQuerySQL(), 讀取配置信息GetConfigInfo(),處理文件函數(shù) ProcessPcsFile(), 處理單條記錄 DealOneCdr(), 完成一個文件操作同時入庫 : DoneOneFile()。還要一個成員變量 TTbInfoManager(內(nèi)存資料類)的成員。還需要成員變量:存放已經(jīng)處理的文件信息 vectorTEventSourceFileInfo m_vFileProc等,另外它還要繼承類TAppComponent,這樣可以方便對數(shù)據(jù)庫的操作。所以設(shè)計出類 TPcsTrans 的結(jié)構(gòu)如下: class TPcsTrans : public TAppComponent { public: // 構(gòu)造函數(shù) TPcsTrans(TAppComponent *pParent,TTbInfoManager *pTbInfoManagerPara,TPCSInfoManager *pPcsInfoManagerPara) : TAppComponent(pParent),m_EventPcsInfo(NULL),m_pclTbInfoManager(pTbInfoManagerPara),m_iCount(100000) { m_EventPcsInfo = new (nothrow)TEventPcsInfo(pParent,pPcsInfoManagerPara)。 if(!m_EventPcsInfo) { throw TException(TPcsTrans::TPcsTrans alloc memory for TEventPcsInfo !)。 } ()。 }。 // 析構(gòu)函數(shù) virtual ~TPcsTrans() 19 { delete m_EventPcsInfo。 m_EventPcsInfo = NULL。 }。 // 處理 bool Execute(TPcsTransExecInfo amp。tPcsTransExecInfo)。 private: // 根據(jù)執(zhí)行方式預(yù)設(shè)查詢 SQL bool PreSetQuerySQL(const TPcsTransExecInfo amp。tPcsTransExecInfo, char *psSQL)。 // 讀取配置信息 bool GetConfigInfo(TConfigInfo amp。tConfigInfo)。 // 處理話單文件 bool ProcessPcsFile(const char *psSQL, TPcsTransExecInfo amp。tPcsTransExecInfo, TConfigInfo amp。tConfigInfo)。 //處理單條記錄 bool DealOneCdr(TRateFileIOManager amp。clRateFileIOMan,TCdrEvent amp。tCdrEvent,TPcsTransExecInfo amp。tPcsTransExecInfo)。 //完成一個文件操作同時入庫 bool DoneOneFile(TRateFileIOManager amp。clRateFileIOMan, TRateFileDBInterface amp。clRateFileDBIF, TEventSourceFileInfo *ptUnsettledFileInfo, TPcsTransExecInfo amp。tPcsTransExecInfo)。 private: //內(nèi)存數(shù)據(jù)管理類 TEventPcsInfo *m_EventPcsInfo。 //預(yù)設(shè)的入庫緩沖區(qū)記錄數(shù)量 int m_iCount。 //復(fù)用批價組件需要傳入的構(gòu)造指針,只需要初始化 TTbInfoManager *m_pclTbInfoManager。 //存放已經(jīng)處理的文件信息 vectorTEventSourceFileInfo m_vFileProc。 }。 ( TeventPcsInfo)的設(shè)計 由上面類 TPcsTrans對它的要求, TeventPcsInfo必須具備內(nèi)存空間用于存儲數(shù)據(jù),且還要有把內(nèi)存中的數(shù)據(jù)寫入數(shù)據(jù)庫的功能。先來設(shè)計用于存儲數(shù)據(jù),預(yù)付費入庫最后要形成三張表:清單表、費用表和 SD表。清單表、費用表只需要進行入庫,定義為 vector向量即可實現(xiàn); SD表的入庫時候,要和原來的記錄進行比較,有了記錄要進行合帳,沒有記錄插入記錄,如果不采取任何措施的話程序會很慢,因此我們要用到 Hash表( HASHTABLE),用它來定義內(nèi)存空間,先把 SD表讀到內(nèi)存,產(chǎn)生一條記錄時,先查找 SD表,如果有了記錄把它放到更新的 Hash內(nèi)存中,沒有記錄把它放到插入的 Hash內(nèi)存中。入 20 庫的時候會產(chǎn)生當(dāng)前帳期和下個帳期的概念,所以以上成員變量都要設(shè)計出兩份。另外還有一些成員變量來輔助實現(xiàn)上述功能。 把數(shù)據(jù)寫入數(shù)據(jù)庫要靠成員函數(shù)來實現(xiàn),因此要設(shè)計了一些成員函數(shù): 批量文件入庫 PcsIntoDB(),話單記錄到入庫結(jié)構(gòu)的轉(zhuǎn)換 Convert(),往數(shù)據(jù)集合類里面插入數(shù)據(jù) InsertPcsElement() InsertPcsFeeElement(),將一個文件處理成功的結(jié)果插入容器 InsertOneFileResult(),處理失敗時清除記錄結(jié)果 ClearOneFileResult()等。為了方便類 TPcsTrans對它操作,將類 TPcsTrans定義為TEventPcsInfo的友元類。 class TEventPcsInfo:public TComponent { friend class TPcsTrans。 public: inline int GetBufferCount() { return iBufferCount。 } // 批量文件入庫 bool PcsIntoDB(TPcsTransExecInfo amp。tPcsTransExecInfo)。 //完成預(yù)處理輸入到入庫結(jié)構(gòu)的轉(zhuǎn)換 ,中間復(fù)用了批價的事件組件 bool Convert(TCdrEvent amp。tCdrEvent, TPcsTransExecInfo amp。tPcsTransExecInfo)。 //獲得對應(yīng)事件類型的帳目類型 int GetAcctItemType(char* service_type)。 //根據(jù) 業(yè)務(wù)類型和話單類型判斷費用項是否插入 nor_result:基本費用 other_result:其它費用 void IfInsert(const char *pBusType,const char *pTicketType,int amp。nor_result,int amp。 other_result)。 //往數(shù)據(jù)集合類里面插入數(shù)據(jù) bool InsertPcsElement() bool InsertPcsFeeElement() //將一個文件處理成功的結(jié)果插入容器 bool InsertOneFileResult()。 //處理失敗時清除記錄結(jié)果 bool ClearOneFileResult()。 private: vectorEvent_Pcs_Abnormal msEventPcs。 //當(dāng)前帳期的清單 vectorEvent
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1