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

正文內(nèi)容

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

2025-08-17 17:03本頁面

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

  

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