專利名稱::一種話單處理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及話單處理技術(shù),特別是指一種話單處理方法和系統(tǒng)。
背景技術(shù):
:隨著電信業(yè)務(wù)量的迅速增加,話單的數(shù)據(jù)量也在以數(shù)量級(jí)的迅猛速度增加,因此,在存儲(chǔ)話單時(shí),對(duì)存儲(chǔ)設(shè)備的性能和空間也都有了更高的要求;與此同時(shí),客戶也不再滿足于幾小時(shí)甚至24小時(shí)后才能查詢到自己的詳細(xì)話單。目前,通過直接查詢?cè)拞挝募姆绞娇梢缘玫礁叩膶?shí)時(shí)性,但是這種方式的操作需要在業(yè)務(wù)處理機(jī)上完成,會(huì)影響主業(yè)務(wù)的運(yùn)行,并且還可能成為影響主業(yè)務(wù)的故障點(diǎn),所以實(shí)際情況中一般不使用這種接查詢?cè)拞挝募姆绞?。另外,在話單服?wù)器上采用某些數(shù)據(jù)庫系統(tǒng)的企業(yè)版也比較容易實(shí)現(xiàn)話單的實(shí)時(shí)查詢,但是這種方式會(huì)大大增加成本,對(duì)話單服務(wù)器的配置要求比較高。因此,在低成本的前提下,既能夠處理大數(shù)據(jù)量話單又能夠滿足客戶對(duì)話單查詢的實(shí)時(shí)性要求,這已經(jīng)成為電信行業(yè)招標(biāo)的一個(gè)重要指標(biāo)。目前,滿足上述指標(biāo)的現(xiàn)有技術(shù)的做法如圖1所示,具體的流程為業(yè)務(wù)處理機(jī)在通話結(jié)束后生成話單,并將話單提供給話單入庫程序;話單入庫程序根據(jù)話單產(chǎn)生的時(shí)間將話單存儲(chǔ)到數(shù)據(jù)庫中對(duì)應(yīng)的時(shí)間表,根據(jù)話單數(shù)據(jù)量的大小可以將時(shí)間表劃分為月表(如一月表、二月表等)、日表或者小時(shí)表等;WEB服務(wù)器接收到客戶端的話單查詢請(qǐng)求后,在數(shù)據(jù)庫中查詢?cè)拞螖?shù)據(jù),并將結(jié)果返回給客戶端。這種架構(gòu)看上去比較簡(jiǎn)單清晰,但是存在以下問題1、話單入庫程序和話單查詢程序同時(shí)訪問數(shù)據(jù)庫時(shí),容易造成數(shù)據(jù)庫表鎖的沖突,還會(huì)〗吏查詢效率降低;2、因?yàn)閿?shù)據(jù)庫需要提供查詢功能,所以數(shù)據(jù)庫中所有的時(shí)間表都需要建立5索引,則話單入庫程序在將話單文件入庫的同時(shí)還要為其建立索引;并且,話單釆集和話單入庫是統(tǒng)一的進(jìn)程,因此,當(dāng)話單數(shù)據(jù)量增大時(shí),話單文件的入庫效率會(huì)迅速下降,甚至?xí)斐稍拞挝募姆e壓,致使話單文件不能及時(shí)入庫。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種話單處理方法和系統(tǒng),能夠解決在大業(yè)務(wù)量時(shí)話單入庫和查詢效率不高的問題。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種話單處理方法,該方法包括話單采集進(jìn)程采集業(yè)務(wù)處理機(jī)產(chǎn)生的話單文件;話單入庫進(jìn)程將所述話單文件入庫,并由索引創(chuàng)建進(jìn)程為所述話單文件創(chuàng)建索引;話單查詢進(jìn)程依據(jù)所述索引查詢所需的話單文件。其中,所述話單采集進(jìn)程采集話單文件時(shí),該方法進(jìn)一步包括所述話單采集進(jìn)程將所述話單文件按照產(chǎn)生時(shí)間存入所述話單采集進(jìn)程的本地目錄中,同時(shí)將所述業(yè)務(wù)處理機(jī)產(chǎn)生的話單文件刪除;相應(yīng)的,中的話單文件入庫。所述話單入庫進(jìn)程將所述話單文件入庫,具體為所述話單入庫進(jìn)程依據(jù)預(yù)設(shè)的邏輯控制表記載的數(shù)據(jù)庫中序列表的入庫狀相應(yīng)的,所述索引創(chuàng)建進(jìn)程為所述話單文件創(chuàng)建索引,具體為索引創(chuàng)建進(jìn)程依據(jù)所述邏輯控制表中序列表的入庫狀態(tài)和索引狀態(tài),定期對(duì)所述序列表創(chuàng)建索引。所述索引創(chuàng)建進(jìn)程對(duì)所述序列表創(chuàng)建索引之后,該方法還包括話單導(dǎo)出進(jìn)程依據(jù)所述邏輯控制表中序列表的入庫狀態(tài)、索引狀態(tài)和導(dǎo)出狀態(tài),定期將所述序列表中的話單文件導(dǎo)出到數(shù)據(jù)庫的日表中;所述索引創(chuàng)建進(jìn)程定期對(duì)所述日表創(chuàng)建索引。該方法還包括視圖創(chuàng)建進(jìn)程創(chuàng)建當(dāng)天查詢視圖和日查詢視圖,并將所述序列表的索引添加進(jìn)所述當(dāng)天查詢視圖中,將所述日表的索引添加進(jìn)所述曰查詢^L圖中;相應(yīng)的,所述話單查詢進(jìn)程依據(jù)所述索引查詢所需的話單文件為所述話單查詢進(jìn)程到所述當(dāng)天查詢一見圖或者所述日查詢^L圖中查詢所需的話單文件。所述序列表的入庫狀態(tài)包括空表、正在入庫和入庫完成;所述索引狀態(tài)包括未創(chuàng)建索引和已創(chuàng)建索引;所述導(dǎo)出狀態(tài)包括未導(dǎo)出和已導(dǎo)出。該方法還包括由數(shù)據(jù)清理進(jìn)程定期對(duì)序列表中的話單文件、序列表的索引、日表中的話單文件和日表的索引進(jìn)行清理。本發(fā)明還提供了一種話單處理系統(tǒng),其特征在于,該系統(tǒng)包括業(yè)務(wù)處理機(jī)、話單采集模塊、話單入庫模塊、數(shù)據(jù)庫、索引創(chuàng)建模塊和話單查詢模塊,其巾所述業(yè)務(wù)處理機(jī),用于產(chǎn)生話單文件;所述話單采集模塊,用于采集所述話單文件;所述話單入庫模塊,用于將所述話單文件入庫;所述數(shù)據(jù)庫,用于存儲(chǔ)所述入庫的話單文件;所述索引創(chuàng)建模塊,用于為所述入庫的話單文件創(chuàng)建索引;所述話單查詢模塊,用于依據(jù)所述索引到所述數(shù)據(jù)庫中查詢所需的話單文件。所述數(shù)據(jù)庫包括序列表和日表;序列表;所述索引創(chuàng)建^f莫塊對(duì)所述序列表創(chuàng)建索引。該系統(tǒng)還包括話單導(dǎo)出模塊,用于將所述序列表中的話單文件導(dǎo)出到所述曰表中;相應(yīng)的,所述索引創(chuàng)建模塊,還用于對(duì)所述日表創(chuàng)建索引該系統(tǒng)還包括視圖創(chuàng)建模塊,用于創(chuàng)建當(dāng)天查詢視圖和日查詢視圖,并將所述序列表的索引添加進(jìn)所述當(dāng)天查詢視圖中,將所述日表的索引添加進(jìn)所述曰查詢^L圖中;相應(yīng)的,所述話單查詢模塊,用于依據(jù)所述當(dāng)天查詢視圖和日查詢視圖到所述數(shù)據(jù)庫中查詢所需的話單文件;該系統(tǒng)還包括數(shù)據(jù)清理模塊,用于清理所述序列表中的話單文件、序列表的索引、日表中的話單文件和日表的索引。本發(fā)明所提供的話單處理方法和系統(tǒng),將話單采集進(jìn)程和話單入庫進(jìn)程分開,話單釆集進(jìn)程負(fù)責(zé)將話單文件下載到話單采集進(jìn)程的本地目錄上,并將業(yè)務(wù)處理機(jī)上的話單文件刪除;話單入庫進(jìn)程將本地目錄中的話單文件入庫,這樣不僅可以防止話單文件在業(yè)務(wù)處理機(jī)上積壓,話單入庫進(jìn)程也不會(huì)影響話單采集進(jìn)程,從而避免了話單入庫對(duì)業(yè)務(wù)處理機(jī)造成的影響;并且話單入庫時(shí)寫入的序列表和日表都沒有建立索引,而是在話單寫入后才建立索引,如此就提高了話單入庫的效率。另外,本發(fā)明將話單入庫分為兩個(gè)部分將當(dāng)天產(chǎn)生的話單寫入序列表中,將歷史話單寫入日表中,如此當(dāng)序列表異常時(shí)不會(huì)影響到日表,提高了數(shù)據(jù)庫的容災(zāi)能力;并且,本發(fā)明將序列表和日表通過索引和查詢視圖關(guān)聯(lián)起來,用戶只需要直接查詢視圖就可以直接訪問數(shù)據(jù)庫中的話單文件,降低了話單入庫和話單查詢的沖突,提高了話單查詢的效率。圖1為現(xiàn)有技術(shù)中話單采集、入庫和查詢架構(gòu)示意圖2為本發(fā)明話單處理方法流程示意圖3為本發(fā)明話單處理系統(tǒng)結(jié)構(gòu)關(guān)系示意圖。具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。本發(fā)明話單采集、入庫和查詢的處理方法流程如圖2所示,包括步驟201,話單采集進(jìn)程采集業(yè)務(wù)處理機(jī)產(chǎn)生的話單文件。在實(shí)際應(yīng)用中,有多個(gè)業(yè)務(wù)處理機(jī)會(huì)同時(shí)產(chǎn)生話單文件,一個(gè)話單采集進(jìn)程可以啟用多線程同時(shí)從多個(gè)業(yè)務(wù)處理機(jī)上下載話單文件,較佳地,可以采用文件傳輸協(xié)議(FTP,FileTransferProtocol)的方式將話單文件下載到本地目錄,并按照其產(chǎn)生時(shí)間進(jìn)行存儲(chǔ);同時(shí)將業(yè)務(wù)處理機(jī)上的話單文件刪除。當(dāng)然,話步驟202,由預(yù)設(shè)的邏輯控制表來記錄數(shù)據(jù)庫中序列表的入庫狀態(tài)、索引狀態(tài)和導(dǎo)出狀態(tài)。將采集的話單文件入庫時(shí),首先需要將話單文件寫入數(shù)據(jù)庫的序列表中,由話單入庫進(jìn)程完成;然后對(duì)序列表創(chuàng)建索引,由索引創(chuàng)建進(jìn)程完成;最后將序列表中的話單文件再導(dǎo)出到數(shù)據(jù)庫的日表中,由話單導(dǎo)出進(jìn)程完成。上述話單入庫、索引創(chuàng)建以及話單導(dǎo)出三個(gè)進(jìn)程,對(duì)序列表具體如何操作將通過下面的步驟來說明。其中,數(shù)據(jù)庫含有多個(gè)序列表,用來存儲(chǔ)話單文件。在實(shí)際應(yīng)用中,可以根據(jù)需要來設(shè)置序列表的個(gè)數(shù),本發(fā)明以1000個(gè)序列表為例;每個(gè)序列表對(duì)應(yīng)一個(gè)表名和一個(gè)序列號(hào),如表名為bill—m0001的序列表的序列號(hào)為1、表名為bill—m0002的序列表的序列號(hào)為2,以此類推,表名為bill—mlOOO的序列表的序列號(hào)為1000。本發(fā)明數(shù)據(jù)庫中的序列表可分為多個(gè),分別將話單文件存入各序列表中,這樣每個(gè)序列表存儲(chǔ)的話單文件的數(shù)量是有限的,可以提高對(duì)序列表中話單文件創(chuàng)建索引的速度。其中,對(duì)話單文件創(chuàng)建索引將通過下面的步驟進(jìn)行說明。本發(fā)明通過預(yù)設(shè)的邏輯控制表來記錄上述話單入庫、索引創(chuàng)建以及話單導(dǎo)出三個(gè)進(jìn)程對(duì)序列表操作的狀態(tài),將話單文件寫入序列表稱為序列表的入庫,其過程用入庫狀態(tài)來表示,可以分為三個(gè)狀態(tài)空表(即未開始向該序列表寫入話單文件)、正在入庫(即正在向該序列表寫入話單文件)、入庫完成(即已經(jīng)完成向該序列表寫入話單文件);將對(duì)序列表創(chuàng)建索引的過程用索引狀態(tài)表示,可以分為兩個(gè)狀態(tài)未創(chuàng)建索引、已創(chuàng)建索引;將序列表中的話單文件導(dǎo)出到日表的過程用導(dǎo)出狀態(tài)表示,可以分為兩個(gè)狀態(tài)未導(dǎo)出、已導(dǎo)出。需要指出的是,該步驟也可以在步驟201之前執(zhí)行。話單入庫進(jìn)程、索引創(chuàng)建進(jìn)程和話單導(dǎo)出進(jìn)程要依據(jù)邏輯控制表中記錄的序列表的各種狀態(tài)來執(zhí)行相應(yīng)的操作。下面結(jié)合表l的具體例子來說明上述三個(gè)進(jìn)程所執(zhí)行的操作。<table>tableseeoriginaldocumentpage10</column></row><table>表1其中,開始時(shí)間表示向該序列表寫入話單文件的時(shí)間,即該序列表入庫開結(jié)束時(shí)間;關(guān)于入庫狀態(tài),O表示空表、l表示正在入庫、2表示入庫完成;關(guān)于索引狀態(tài),O表示未創(chuàng)建索引、l表示已創(chuàng)建索引;關(guān)于導(dǎo)出狀態(tài),O表示未導(dǎo)出、1表示已導(dǎo)出。當(dāng)然,序列表各個(gè)狀態(tài)對(duì)應(yīng)的值也可以有其他的設(shè)置方法,只要能明確地表示各個(gè)狀態(tài)即可。需要指出的是,序列表的入庫狀態(tài)、索引狀態(tài)和導(dǎo)出狀態(tài)的初始狀態(tài)分別為空表(O)、未創(chuàng)建索引(0)、未導(dǎo)出(0)。步驟203,依據(jù)邏輯控制表中序列表的入庫狀態(tài),話單入庫進(jìn)程將采集的話單文件按照預(yù)設(shè)的切換規(guī)則寫入序列表中。本發(fā)明中,話單入庫進(jìn)程將本地目錄中的話單文件按照其產(chǎn)生時(shí)間由早到晚依次寫入序列表中;在選擇需要寫入的序列表時(shí)要按照序列號(hào)選擇入庫狀態(tài)為空表(0)的序列表。另外,在將話單寫入序列表的過程中,還需要按照預(yù)設(shè)的切換規(guī)則不斷地切換需要寫入的序列表。所謂的切換規(guī)則可以指序列表的切換時(shí)間,如將話單文件持續(xù)寫入當(dāng)前序列表的時(shí)間已經(jīng)到達(dá)預(yù)設(shè)的切換時(shí)間時(shí),則停止將話單文件寫入該序列表,而是切換到下一個(gè)空表的序列表,繼續(xù)寫入話單文件。當(dāng)然,切換規(guī)則也可以根據(jù)序列表的容量或者其他的條件來設(shè)置,如設(shè)定一個(gè)序列表最多可以寫入多少數(shù)據(jù)量的話單文件等。如表1所示開始時(shí)間和結(jié)束時(shí)間的間隔即為切換時(shí)間,假設(shè)為5分鐘,則第0分鐘到第5分鐘內(nèi)將話單文件寫入1號(hào)序列表,第5分鐘到第10分鐘內(nèi)將話單文件寫入2號(hào)序列表,以此類推,每5分鐘切換一個(gè)序列表。當(dāng)一個(gè)序列表開始入庫時(shí),邏輯控制表將其入庫狀態(tài)由空表(O)變更為正在入庫(1);當(dāng)該序列表入庫完成時(shí),邏輯控制表將其入庫狀態(tài)由正在入庫(1)變更為入庫完成(2),如表l中l(wèi)號(hào)、2號(hào)和3號(hào)序列表入庫完成、4號(hào)序列表正在入庫,當(dāng)4號(hào)序列表入庫完成時(shí),就開始向空表的5號(hào)序列表寫入話單文件。需要指出的是,如果切換時(shí)間已到,但是當(dāng)前序列表的下一個(gè)序列表發(fā)生故障,如該序列表不為空表(0),則話單入庫進(jìn)程繼續(xù)將話單文件寫入當(dāng)前序列表,并通過告警進(jìn)程發(fā)出告警,由維護(hù)進(jìn)程對(duì)該序列表進(jìn)行維護(hù),當(dāng)序列表恢復(fù)正常時(shí),話單入庫進(jìn)程開始將話單文件寫入恢復(fù)正常的序列表。由步驟201和步驟203可知,本發(fā)明將話單采集進(jìn)程和話單入庫進(jìn)程分開話單采集進(jìn)程負(fù)責(zé)將話單文件下載到話單采集進(jìn)程的本地目錄上,并將業(yè)務(wù)處理機(jī)上的話單文件刪除;話單入庫進(jìn)程將本地目錄中的話單文件入庫,這樣不僅可以防止話單文件在業(yè)務(wù)處理機(jī)上積壓,話單入庫進(jìn)程也不會(huì)影響話單采集進(jìn)程,從而避免了話單入庫對(duì)業(yè)務(wù)處理機(jī)造成的影響。步驟204,依據(jù)邏輯控制表中序列表的入庫狀態(tài)和索引狀態(tài),索引創(chuàng)建進(jìn)程定期對(duì)序列表創(chuàng)建索引,并由視圖創(chuàng)建進(jìn)程將序列表的索引添加到當(dāng)天查詢視圖中。索引創(chuàng)建進(jìn)程定期地掃描邏輯控制表中的序列表,如果存在入庫完成、未創(chuàng)建索引的序列表,則立刻為其創(chuàng)建索引,該索引與序列表包含的話單文件是映射的關(guān)系,因此,對(duì)序列表創(chuàng)建索引即是對(duì)序列表中的話單文件創(chuàng)建索引;然后,由視圖創(chuàng)建進(jìn)程將該序列表的索引添加到當(dāng)天查詢視圖中,以供話單查詢進(jìn)程查詢?cè)拞螘r(shí)使用。索引創(chuàng)建進(jìn)程掃描邏輯控制表的周期可以根據(jù)實(shí)際需要進(jìn)行設(shè)置,但要遵循創(chuàng)建索引速度快的原則。結(jié)合表1中序列表切換時(shí)間為5分鐘的例子,可以將索引創(chuàng)建進(jìn)程掃描邏輯控制表的周期設(shè)置為5分鐘。一般情況下,5分鐘粒度中的話單文件數(shù)據(jù)量相對(duì)較少,創(chuàng)建索引的速度也會(huì)比較快,這樣話單文件從生成到采集、入庫再到可查詢的時(shí)間比較短、如5分鐘左右,滿足了客戶對(duì)話單查詢實(shí)時(shí)性的要求。由此可見,上述切換時(shí)間和索引創(chuàng)建進(jìn)程掃描邏輯控制表的周期的設(shè)置都與索引創(chuàng)建的速度有關(guān)。如表l所示,序列表bill一m0003為入庫完成、未創(chuàng)建索引的狀態(tài),則索引創(chuàng)建進(jìn)程對(duì)序列表bi11—m0003創(chuàng)建索引。索引創(chuàng)建完畢,邏輯控制表將該序列表的索引狀態(tài)由未創(chuàng)建索引(O)變更為已創(chuàng)建索引(1)。具體的關(guān)于索引的創(chuàng)建可以采用現(xiàn)有技術(shù)中的索引創(chuàng)建技術(shù),此處不再贅述。另外,上述當(dāng)天查詢視圖是為了更加方便客戶查詢?cè)拞危?jiǎn)化話單查詢進(jìn)程查詢?cè)拞蔚牧鞒?,是通過視圖創(chuàng)建進(jìn)程創(chuàng)建的。將包含當(dāng)天產(chǎn)生的話單文件的序列表的索引添加到該視圖中,這樣當(dāng)天查詢視圖通過索引就可以和當(dāng)天所有的序列表進(jìn)行關(guān)聯(lián),并且,序列表的索引和序列表包含的話單文件是映射的關(guān)系,因此話單查詢進(jìn)程只需要直接查詢當(dāng)天查詢一見圖就可以直接訪問所需的話單文件,而不需要再去關(guān)心所需的話單文件在哪個(gè)序列表中。步驟205,依據(jù)邏輯控制表中序列表的入庫狀態(tài)、索引狀態(tài)和導(dǎo)出狀態(tài),話單導(dǎo)出進(jìn)程定期將序列表中的話單文件導(dǎo)出到數(shù)據(jù)庫的日表中。該步驟的操作需要在業(yè)務(wù)量較少和/或話單數(shù)量較少的時(shí)間段執(zhí)行,本發(fā)明將該時(shí)間段稱為空閑時(shí)間。話單導(dǎo)出進(jìn)程在空閑時(shí)間內(nèi)定期地掃描邏輯控制表,如果存在入庫完成(2)、已創(chuàng)建索引(1)、未導(dǎo)出(O)的序列表,則將該序列表中的話單文件按照其產(chǎn)生時(shí)間導(dǎo)出到對(duì)應(yīng)的日表中。其中,數(shù)據(jù)庫中的日表分為366張表,對(duì)應(yīng)一年的366天,每張日表對(duì)應(yīng)一個(gè)表名和一個(gè)序列號(hào),如設(shè)定l月1日的曰表的表名為bill—d0101,序列號(hào)為1;1月2曰的曰表的表名為bill—d0102,序列號(hào)為2,以此類推,12月31日的日表的表名為bill—d1231,序列號(hào)為366。如表l中,序列表bil1—m0002為入庫完成、已創(chuàng)建索引、未導(dǎo)出的狀態(tài),則話單導(dǎo)出進(jìn)程將該序列表中的話單文件導(dǎo)出到對(duì)應(yīng)的日表中。假設(shè)該序列表中有1月1日和1月2日產(chǎn)生的話單文件,則將1月1日產(chǎn)生的話單文件導(dǎo)出到1月1日的日表bil1—d0101中,將1月2日產(chǎn)生的話單文件導(dǎo)出到1月2曰的曰表bill—d0102中。將該序列表的話單文件全部導(dǎo)出后,邏輯控制表將該序列表的導(dǎo)出狀態(tài)由未導(dǎo)出(0)變更為已導(dǎo)出(1)。需要指出的是,初始的日表是沒有索引的,因此在將序列表中的話單文件導(dǎo)入對(duì)應(yīng)的日表時(shí)只需要將話單文件寫入日表即可,而不需要同時(shí)寫入其對(duì)應(yīng)的索引,這樣將話單文件導(dǎo)入日表的效率非常高;且該步驟只在每天的空閑時(shí)間執(zhí)行,此處進(jìn)行數(shù)據(jù)的轉(zhuǎn)移對(duì)話單文件寫入序列表或者日表以及話單查詢的影響最小。另外,本發(fā)明并不局限于只設(shè)置序列表和日表,根據(jù)實(shí)際的需要還可以設(shè)置月表、年表等,將序列表中的話單文件導(dǎo)出到月表、年表,或者將日表的話單文件導(dǎo)出到月表、年表等操作與上述將序列表中的話單文件導(dǎo)出到日表相同,此處不再贅述。步驟206,索引創(chuàng)建進(jìn)程定期對(duì)日表創(chuàng)建索引,并由視圖創(chuàng)建進(jìn)程將曰表的索引添加到日查詢3見圖中。較佳地,可以設(shè)置在每天的凌晨對(duì)前一天的日表創(chuàng)建索引。一般情況下,每天的20點(diǎn)到24點(diǎn)之間業(yè)務(wù)量和話單數(shù)據(jù)都相對(duì)較少,因此,話單導(dǎo)出進(jìn)程有足夠的時(shí)間將序列表中當(dāng)前的話單文件導(dǎo)入到對(duì)應(yīng)的日表中,等到次日凌晨、即O點(diǎn),認(rèn)為前一天的話單文件已經(jīng)全部導(dǎo)出到日表中,此時(shí)當(dāng)天查詢視圖會(huì)刪除前一天的序列表對(duì)應(yīng)的索引,不再與前一天的序列表關(guān)聯(lián)了,而是轉(zhuǎn)為與當(dāng)天的序列表關(guān)聯(lián),同時(shí)前一天的序列表和其對(duì)應(yīng)的索引都處于空閑的狀態(tài)。此時(shí)索引創(chuàng)建進(jìn)程對(duì)前一天的話單文件對(duì)應(yīng)的日表創(chuàng)建索引,該索引與曰表中的話單文件也是映射的關(guān)系,因此,對(duì)日表創(chuàng)建索引即是對(duì)日表中的話單13文件創(chuàng)建索引;同時(shí)由視圖創(chuàng)建進(jìn)程將該索引添加進(jìn)日查詢視圖中,以供話單查詢進(jìn)程查詢?cè)拞螘r(shí)使用。如1月2日凌晨對(duì)1月1日的日表創(chuàng)建索引,并將該索引添加到日查詢視圖中,日查詢視圖通過多個(gè)日表的索引可以關(guān)聯(lián)到多個(gè)曰表,因此通過日查詢視圖可以查詢到當(dāng)天以前多天的話單文件。這時(shí),如果需要查詢前一天的話單文件,則通過日查詢浮見圖就可以直接訪問到前一天的話單文件;而前一天的序列表和其對(duì)應(yīng)的索引等待數(shù)據(jù)清理進(jìn)程執(zhí)行定期刪除任務(wù)時(shí)被刪除。如果數(shù)據(jù)庫中存在月表、年表等,則還應(yīng)該創(chuàng)建對(duì)應(yīng)的月視圖或者年視圖,具體的根據(jù)實(shí)際需要來設(shè)置。需要指出的是,由步驟204和206可知,查詢視圖關(guān)聯(lián)的表(序列表、日表)是根據(jù)當(dāng)前時(shí)間來確定的,因此將當(dāng)天查詢視圖和日查詢視圖合并為一個(gè)查詢視圖即可,當(dāng)需要查詢?cè)拞挝募r(shí),根據(jù)用戶提供的查詢時(shí)間在查詢視圖中查詢即可。查詢視圖的創(chuàng)建有利于提高話單查詢的速度,以滿足用戶對(duì)話單查詢實(shí)時(shí)性的要求。步驟207,話單查詢進(jìn)程到當(dāng)天查詢視圖或者日查詢視圖中查詢所需的話單文件。話單查詢進(jìn)程#4居用戶的需求可以隨時(shí)進(jìn)行話單的查詢。話單查詢進(jìn)程根據(jù)用戶選擇的時(shí)間范圍到對(duì)應(yīng)的查詢視圖中執(zhí)行話單查詢操作,因?yàn)椴樵円晥D關(guān)聯(lián)的表(序列表、日表)是根據(jù)當(dāng)前時(shí)間來確定的,所以話單查詢進(jìn)程不需要考慮當(dāng)前需要查詢的是序列表或者日表,而只需要直接到查詢視圖中查詢就可以了。話單查詢進(jìn)程可以通過WEB服務(wù)器來實(shí)現(xiàn),在查詢?cè)拞挝募r(shí),本發(fā)明采用異步JavaScript禾口可才廣展才示i己i吾言(AJAX,AsynchronousJavaScriptandXML)技術(shù),當(dāng)需要查詢多天的話單文件時(shí),通過查詢視圖只要查詢出一天的話單文件就立刻在WEB頁面上顯示,供用戶查閱;同時(shí),后臺(tái)繼續(xù)查詢,逐步返回每天的查詢結(jié)果顯示在WEB頁面上。這種查詢方式與查詢完全部話單文件后再一起顯示給用戶相比,優(yōu)化了用戶的體驗(yàn)。如話單查詢時(shí)間范圍為1月1日到1月10日,WEB服務(wù)器會(huì)首先通過查詢視圖到數(shù)據(jù)庫里查詢1月10日的日查詢視圖部分,結(jié)果出來后立即顯示在頁面上,這個(gè)過程一般最長需要5秒鐘,然后后臺(tái)繼續(xù)查詢9日的數(shù)據(jù),查詢到結(jié)果后立刻附加到已經(jīng)展現(xiàn)的WEB頁面上,這樣直到查詢完成為止,并且中途允許用戶停止查詢。整個(gè)過程中,用戶可以在大約5秒鐘左右就能查閱到話單數(shù)據(jù),同時(shí)用戶可以中斷查詢,這樣不僅可以使用戶盡快看到所查詢的話單,而且也增加了查詢控制的靈活性。另外,由于數(shù)據(jù)庫的容量有限,不能長期無限地存儲(chǔ)話單文件,因此需要通過數(shù)據(jù)清理進(jìn)程定期地對(duì)數(shù)據(jù)庫中的話單文件進(jìn)行清除對(duì)序列表中話單文件的清除首先根據(jù)需要設(shè)置序列表可以保存話單文件的最長時(shí)間,該最長時(shí)間以邏輯控制表中每個(gè)序列表的結(jié)束時(shí)間為起始時(shí)間,到達(dá)最長時(shí)間后將序列表中的話單文件,及該序列表對(duì)應(yīng)的索引刪除。結(jié)合本發(fā)明中表1所示的例子,數(shù)據(jù)庫含有1000張序列表,且其切換時(shí)間為5分鐘,那么1000張序列表可以使用大約3.47天。因?yàn)?000張序列表需要循環(huán)使用,所以可以設(shè)置每張序列表保存話單文件的最長時(shí)間為3天、即話單文件在序列表中保存3天后需要?jiǎng)h除。另外,數(shù)據(jù)清理進(jìn)程沒有必要每時(shí)每刻都在檢測(cè)序列表中的話單文件是否已經(jīng)到達(dá)3天,因此,需要設(shè)置一個(gè)清理序列表的周期,如每一個(gè)小時(shí)清理一次。需要注意的是,數(shù)據(jù)清理進(jìn)程只能依據(jù)邏輯控制表中序列表的導(dǎo)出狀態(tài),對(duì)已導(dǎo)出的序列表進(jìn)行清理;清理完畢后邏輯控制表將序列表的入庫狀態(tài)、索引狀態(tài)和導(dǎo)出狀態(tài)初始化為空表、未創(chuàng)建索引和未導(dǎo)出,以便話單入庫進(jìn)程在將話單文件入庫時(shí)^f吏用。對(duì)曰表中話單文件的清除較佳地,可以設(shè)置日表中保存話單文件的最長時(shí)間為3個(gè)月,以話單文件的產(chǎn)生時(shí)間為起始時(shí)間,話單文件在日表中被保存達(dá)到3個(gè)月后,立即對(duì)其進(jìn)行清除,同時(shí)還要清除該日表對(duì)應(yīng)的索引;另外,數(shù)據(jù)清理進(jìn)程清理日表的周期可以設(shè)置為每一個(gè)月執(zhí)行一次清理。為了方便用戶更好地了解各個(gè)進(jìn)程對(duì)話單業(yè)務(wù)的處理,還需要通過日志進(jìn)程將話單采集進(jìn)程采集話單文件、話單入庫進(jìn)程將話單文件寫入序列表(序列表的切換)、索引創(chuàng)建進(jìn)程創(chuàng)建序列表和日表的索引、話單導(dǎo)出進(jìn)程將話單文件從序列表導(dǎo)出到日表和視圖創(chuàng)建進(jìn)程創(chuàng)建查詢視圖等操作過程寫入日志表,用戶通過日志表可以全面地了解話單業(yè)務(wù)的處理;同時(shí)數(shù)據(jù)清理進(jìn)程還需要定期地對(duì)日志表進(jìn)行清理,如根據(jù)需要設(shè)置日志表可以保存3個(gè)月的日志,每一個(gè)月對(duì)日志表清理一次。為了實(shí)現(xiàn)上述話單處理方法,本發(fā)明還提供了一種話單處理系統(tǒng),如圖3所示,該系統(tǒng)包括業(yè)務(wù)處理機(jī)10、話單采集模塊20、話單入庫模塊30、數(shù)據(jù)庫40、索引創(chuàng)建模塊50和話單查詢模塊60,其中業(yè)務(wù)處理機(jī)IO,用于產(chǎn)生話單文件;話單采集模塊20,用于采集話單文件;話單入庫模塊30,用于將話單文件入庫;數(shù)據(jù)庫40,用于存儲(chǔ)話單文件;索引創(chuàng)建模塊50,用于為入庫的話單文件創(chuàng)建索弓1;話單查詢模塊60,用于依據(jù)索引到數(shù)據(jù)庫40中查詢所需的話單文件。其中,數(shù)據(jù)庫可以包括序列表41和日表42;相應(yīng)的,話單入庫模塊30將話單文件按照預(yù)設(shè)的切換規(guī)則寫入序列表41;索引創(chuàng)建模塊50對(duì)序列表創(chuàng)建索引。相應(yīng)的,該系統(tǒng)還可以包括話單導(dǎo)出^f莫塊70,用于將序列表41中的話單文件導(dǎo)出到日表42中;則索引創(chuàng)建模塊50還用于對(duì)日表42創(chuàng)建索引。該系統(tǒng)還可以包括視圖創(chuàng)建模塊80,用于創(chuàng)建當(dāng)天查詢視圖和日查詢視圖,并將序列表41的索引添加進(jìn)當(dāng)天查詢視圖中,將日表42的索引添加進(jìn)曰查詢一見圖中;相應(yīng)的,話單查詢模塊60,用于依據(jù)當(dāng)天查詢視圖和日查詢視圖到數(shù)據(jù)庫40中查詢所需的話單文件。該系統(tǒng)還可以包括數(shù)據(jù)清理模塊90,用于清理序列表41中的話單文件、序列表41的索引、日表42中的話單文件和日表42的索引。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種話單處理方法,其特征在于,該方法包括話單采集進(jìn)程采集業(yè)務(wù)處理機(jī)產(chǎn)生的話單文件;話單入庫進(jìn)程將所述話單文件入庫,并由索引創(chuàng)建進(jìn)程為所述話單文件創(chuàng)建索引;話單查詢進(jìn)程依據(jù)所述索引查詢所需的話單文件。2、根據(jù)權(quán)利要求1所述話單處理方法,其特征在于,所述話單采集進(jìn)程采集話單文件時(shí),該方法進(jìn)一步包括所述話單采集進(jìn)程將所述話單文件按照產(chǎn)生時(shí)間存入所述話單采集進(jìn)程的本地目錄中,同時(shí)將所述業(yè)務(wù)處理機(jī)產(chǎn)生的話單文件刪除;中的話單文件入庫。3、根據(jù)權(quán)利要求2所述話單處理方法,其特征在于,所述話單入庫進(jìn)程將所述話單文件入庫,具體為所述話單入庫進(jìn)程依據(jù)預(yù)設(shè)的邏輯控制表記載的數(shù)據(jù)庫中序列表的入庫狀相應(yīng)的,所述索引創(chuàng)建進(jìn)程為所述話單文件創(chuàng)建索引,具體為索引創(chuàng)建進(jìn)程依據(jù)所述邏輯控制表中序列表的入庫狀態(tài)和索引狀態(tài),定期對(duì)所述序列表創(chuàng)建索引。4、根據(jù)權(quán)利要求3所述話單處理方法,其特征在于,所述索引創(chuàng)建進(jìn)程對(duì)所述序列表創(chuàng)建索引之后,該方法還包括話單導(dǎo)出進(jìn)程依據(jù)所述邏輯控制表中序列表的入庫狀態(tài)、索引狀態(tài)和導(dǎo)出狀態(tài),定期將所述序列表中的話單文件導(dǎo)出到數(shù)據(jù)庫的日表中;所述索引創(chuàng)建進(jìn)程定期對(duì)所述日表創(chuàng)建索引。5、才艮據(jù)權(quán)利要求3或4所述話單處理方法,其特征在于,該方法還包括視圖創(chuàng)建進(jìn)程創(chuàng)建當(dāng)天查詢視圖和日查詢視圖,并將所述序列表的索可1添加進(jìn)所述當(dāng)天查詢視圖中,將所述日表的索引添加進(jìn)所述日查詢視圖中;相應(yīng)的,所述話單查詢進(jìn)程依據(jù)所述索引查詢所需的話單文件為所述話單查詢進(jìn)程到所述當(dāng)天查詢視圖或者所述日查詢視圖中查詢所需的話單文件。6、根據(jù)權(quán)利要求3或4所述話單處理方法,其特征在于,所述序列表的入庫狀態(tài)包^l舌空表、正在入庫和入庫完成;所述索引狀態(tài)包括未創(chuàng)建索引和已創(chuàng)建索引;所述導(dǎo)出狀態(tài)包括未導(dǎo)出和已導(dǎo)出。7、根據(jù)權(quán)利要求3或4所述話單處理方法,其特征在于,該方法還包括由數(shù)據(jù)清理進(jìn)程定期對(duì)序列表中的話單文件、序列表的索引、日表中的話單文件和日表的索引進(jìn)行清理。8、一種話單處理系統(tǒng),其特征在于,該系統(tǒng)包括業(yè)務(wù)處理機(jī)、話單采集模塊、話單入庫模塊、數(shù)據(jù)庫、索引創(chuàng)建模塊和話單查詢模塊,其中所述業(yè)務(wù)處理機(jī),用于產(chǎn)生話單文件;所述話單采集模塊,用于采集所述話單文件;所述話單入庫模塊,用于將所述話單文件入庫;所述數(shù)據(jù)庫,用于存儲(chǔ)所述入庫的話單文件;所述索引創(chuàng)建模塊,用于為所述入庫的話單文件創(chuàng)建索弓1;所述話單查詢模塊,用于依據(jù)所述索引到所述數(shù)據(jù)庫中查詢所需的話單文件。9、才艮據(jù)權(quán)利要求8所述話單處理系統(tǒng),其特征在于,所述數(shù)據(jù)庫包括序列表和日表;序列表;所述索引創(chuàng)建模塊對(duì)所述序列表創(chuàng)建索引。10、根據(jù)權(quán)利要求9所述話單處理系統(tǒng),其特征在于,該系統(tǒng)還包括話單導(dǎo)出模塊,用于將所述序列表中的話單文件導(dǎo)出到所述日表中;相應(yīng)的,所述索引創(chuàng)建模塊,還用于對(duì)所述日表創(chuàng)建索引;該系統(tǒng)還包括視圖創(chuàng)建模塊,用于創(chuàng)建當(dāng)天查詢視圖和日查詢視圖,并將所述序列表的索引添加進(jìn)所述當(dāng)天查詢視圖中,將所述日表的索引添加進(jìn)所述日查詢視圖中;相應(yīng)的,所述話單查詢模塊,用于依據(jù)所述當(dāng)天查詢視圖和日查詢視圖到所述數(shù)據(jù)庫中查詢所需的話單文件;該系統(tǒng)還包括數(shù)據(jù)清理模塊,用于清理所述序列表中的話單文件、序列表的索引、日表中的話單文件和日表的索引。全文摘要本發(fā)明公開了一種話單處理方法,該方法包括話單采集進(jìn)程采集業(yè)務(wù)處理機(jī)產(chǎn)生的話單文件;話單入庫進(jìn)程將話單文件入庫,并由索引創(chuàng)建進(jìn)程為話單文件創(chuàng)建索引;話單查詢進(jìn)程依據(jù)索引查詢所需的話單文件;本發(fā)明還公開了一種話單處理系統(tǒng),基于該方法和系統(tǒng),可以在大業(yè)務(wù)量的前提下保證話單入庫和查詢的效率。文檔編號(hào)H04L29/08GK101562664SQ200910084139公開日2009年10月21日申請(qǐng)日期2009年5月20日優(yōu)先權(quán)日2009年5月20日發(fā)明者炎錢,俊陳申請(qǐng)人:中興通訊股份有限公司