本發(fā)明涉及通信領(lǐng)域,尤其涉及一種分布式話單采集方法及系統(tǒng)。
背景技術(shù):
傳統(tǒng)負(fù)責(zé)話單下載的應(yīng)用系統(tǒng),一個(gè)話單文件從采集源a傳送到計(jì)費(fèi)系統(tǒng)b,采集源a和計(jì)費(fèi)系統(tǒng)b之間使用采集系統(tǒng)連接,采集系統(tǒng)負(fù)責(zé)將話單從采集源a上的數(shù)據(jù)下載到計(jì)費(fèi)系統(tǒng)b中。采集系統(tǒng)工作過程中為避免相互影響而產(chǎn)生錯(cuò)誤,要求每個(gè)采集源同時(shí)只能被一個(gè)采集進(jìn)程處理。傳統(tǒng)采集方式的問題在于:將采集進(jìn)程同配置文件在采集進(jìn)程啟動(dòng)時(shí)就綁定了,一旦采集系統(tǒng)的主機(jī)出現(xiàn)異常,只能通過人工調(diào)整配置文件的方式改變采集主機(jī)。隨著電信業(yè)務(wù)的發(fā)展,對(duì)話單處理的及時(shí)性要求越來越高,人工調(diào)整的方式耗時(shí)較長(zhǎng),影響整個(gè)采集進(jìn)程的及時(shí)性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是針對(duì)上述現(xiàn)有技術(shù)的不足,提供一種分布式話單采集方法及系統(tǒng)。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
依據(jù)本發(fā)明的一方面,提供了一種分布式話單采集方法,包括以下步驟:
步驟1,將話單源對(duì)應(yīng)的配置文件名寫入到公共令牌中;
步驟2,在計(jì)費(fèi)系統(tǒng)中,針對(duì)每個(gè)話單源部署若干個(gè)話單采集進(jìn)程;
步驟3,所述話單采集進(jìn)程定時(shí)啟動(dòng)后,搶占所述公共令牌,若搶占成功,則執(zhí)行步驟4,否則,執(zhí)行步驟5;
步驟4,所述話單采集進(jìn)程取得所述公共令牌的運(yùn)行權(quán),讀取所述公共令牌上的所述配置文件名,并加載對(duì)應(yīng)的配置文件信息,完成話單源信息采集,結(jié)束處理流程;
步驟5,所述話單采集進(jìn)程退出運(yùn)行,等待下次定時(shí)啟動(dòng),并返回執(zhí)行步驟3;
其中,同一時(shí)刻只有一個(gè)所述話單采集進(jìn)程能取得所述公共令牌的運(yùn)行權(quán)。
本發(fā)明的有益效果是:通過將話單源對(duì)應(yīng)的配置文件名寫入公共令牌中,即將話單源的配置文件信息與公共令牌綁定,且同一時(shí)刻,只有一個(gè)所述話單采集進(jìn)程能取得所述公共令牌的運(yùn)行權(quán),所述話單采集進(jìn)程在搶占到公共令牌后,取得運(yùn)行權(quán),進(jìn)而獲得話單源的配置文件名,加載配置文件信息,完成采集,使得采集源與話單采集進(jìn)程之間從以前的固定匹配方式改為動(dòng)態(tài)匹配方式,實(shí)現(xiàn)分布式部署,方法靈活,應(yīng)用簡(jiǎn)單,不僅提升了話單采集的穩(wěn)定性,還保證了話單采集的實(shí)時(shí)性。
在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn):
進(jìn)一步,步驟3中和步驟5中,所述話單采集進(jìn)程定時(shí)啟動(dòng)的具體實(shí)現(xiàn)為:每間隔預(yù)設(shè)時(shí)間,通過加載公共配置文件來啟動(dòng)。
采用上述進(jìn)一步方案的有益效果是:所述話單采集進(jìn)程都是通過加載公共配置文件來啟動(dòng)的,保證了所述話單采集進(jìn)程能對(duì)所述話單源進(jìn)行接管采集,進(jìn)而極大的降低了采集延遲的風(fēng)險(xiǎn)。
進(jìn)一步,所述公共配置文件包含所述公共令牌的注冊(cè)信息,且所述公共配置文件存放在共享存儲(chǔ)中,用于供給所述計(jì)費(fèi)系統(tǒng)中任一所述話單采集進(jìn)程讀取。
采用上述進(jìn)一步方案的有益效果是:所述公共配置文件可以被任一所述話單采集進(jìn)程讀取,保證了采集交接的及時(shí)性,共享存儲(chǔ)機(jī)制保證了采集系統(tǒng)中的各個(gè)主機(jī)之間可以對(duì)話單源的話單文件進(jìn)行相互的備份,大大的緩解了話單積壓?jiǎn)栴}。
進(jìn)一步,所述配置文件信息包括存儲(chǔ)話單源對(duì)應(yīng)的主機(jī)ip地址、話單源采集入口目錄、采集備份目錄、用戶名和密碼。
采用上述進(jìn)一步方案的有益效果是:配置文件信息包括存儲(chǔ)話單源對(duì)應(yīng)的主機(jī)ip地址、話單源采集入口目錄、采集備份目錄、用戶名和密碼,將這些配置文件信息寫入到公共令牌中,使得公共令牌與采集源唯一匹配,提高了話單采集進(jìn)程對(duì)話單源采集的準(zhǔn)確性,公共令牌可以動(dòng)態(tài)的被話單采集進(jìn)程所獲取,進(jìn)而保證采集過程的正常運(yùn)行。
進(jìn)一步,步驟4中,若占有所述公共令牌運(yùn)行權(quán)的所述話單采集進(jìn)程在采集過程中運(yùn)行異常,則進(jìn)行如下步驟處理:
步驟s41,搶占成功的所述話單采集進(jìn)程釋放其占用的公共令牌和加載的配置文件信息,記錄斷點(diǎn)信息并存放于所述共享存儲(chǔ)中;
步驟s42,其余未搶占成功的所述話單采集進(jìn)程在下次定時(shí)啟動(dòng)后,重新?lián)屨妓龉擦钆疲绻麚屨汲晒?,則執(zhí)行步驟s43,否則,直接進(jìn)入步驟5;
步驟s43,搶占成功的所述話單采集進(jìn)程取得所述公共令牌的運(yùn)行權(quán),訪問所述共享存儲(chǔ),讀取所述斷點(diǎn)信息,并從斷點(diǎn)處開始加載所述配置文件信息,繼續(xù)對(duì)話單源進(jìn)行采集。
采用上述進(jìn)一步方案的有益效果是:當(dāng)某一個(gè)話單采集進(jìn)程在采集過程中異常退出后,將釋放其占用的公共令牌和加載的配置文件信息,另一話單采集進(jìn)程將搶占所述公共令牌,取得運(yùn)行權(quán),繼續(xù)對(duì)話單源進(jìn)行采集,實(shí)現(xiàn)了采集的交接工作,規(guī)避了異常情況下采集進(jìn)程大量延遲甚至中斷的問題,提升了計(jì)費(fèi)系統(tǒng)的及時(shí)性和實(shí)時(shí)性,大大緩解了異常情況下話單源的話單積壓?jiǎn)栴}。
進(jìn)一步,所述步驟s41中,所述斷點(diǎn)信息包括所述話單采集進(jìn)程采集到的臨時(shí)話單文件及其名稱和大小。
依據(jù)本發(fā)明的另一方面,提供了一種分布式話單采集系統(tǒng),包括:寫入模塊、部署模塊和主控制模塊;
所述寫入模塊用于將話單源對(duì)應(yīng)的配置文件名寫入到公共令牌中;
所述部署模塊用于在計(jì)費(fèi)系統(tǒng)中,針對(duì)每個(gè)話單源部署若干個(gè)話單采集進(jìn)程;
所述主控制模塊用于控制每個(gè)所述話單采集進(jìn)程在定時(shí)啟動(dòng)時(shí)搶占所述公共令牌,若所述話單采集進(jìn)程搶占所述公共令牌成功,則所述話單采集進(jìn)程取得所述公共令牌的運(yùn)行權(quán),讀取所述公共令牌上的配置文件名,并加載對(duì)應(yīng)的配置文件信息,對(duì)話單源進(jìn)行采集,否則,控制所述話單采集進(jìn)程退出運(yùn)行,等待下次定時(shí)啟動(dòng);
其中,同一時(shí)刻只有一個(gè)所述話單采集進(jìn)程能取得所述公共令牌的運(yùn)行權(quán)。
本發(fā)明的有益效果是:通過將話單源對(duì)應(yīng)的配置文件名寫入公共令牌中,即將話單源的配置文件信息與公共令牌綁定,且同一時(shí)刻,只有一個(gè)所述話單采集進(jìn)程能取得所述公共令牌的運(yùn)行權(quán),所述話單采集進(jìn)程在搶占到公共令牌后,取得運(yùn)行權(quán),進(jìn)而獲得話單源的配置文件名,加載配置文件信息,完成采集,使得采集源與話單采集進(jìn)程之間從以前的固定匹配方式改為動(dòng)態(tài)匹配方式,實(shí)現(xiàn)分布式部署,方法靈活,應(yīng)用簡(jiǎn)單,不僅提升了話單采集的穩(wěn)定性,還保證了話單采集的實(shí)時(shí)性。
進(jìn)一步,所述公共配置文件包含所述公共令牌的注冊(cè)信息,且所述公共配置文件存放在共享存儲(chǔ)中,用于供給所述計(jì)費(fèi)系統(tǒng)中任一所述話單采集進(jìn)程讀取。
采用上述進(jìn)一步方案的有益效果是:所述公共配置文件可以被任一所述話單采集進(jìn)程讀取,保證了采集交接的及時(shí)性,共享存儲(chǔ)機(jī)制保證了采集系統(tǒng)中的各個(gè)主機(jī)之間可以對(duì)話單源的話單文件進(jìn)行相互的備份,大大的緩解了話單積壓?jiǎn)栴}。
進(jìn)一步,所述配置文件信息包括存儲(chǔ)話單源對(duì)應(yīng)的主機(jī)ip地址、話單源采集入口目錄、采集備份目錄、用戶名和密碼。
采用上述進(jìn)一步方案的有益效果是:將這些配置文件信息寫入公共令牌中,使得公共令牌與采集源唯一匹配,進(jìn)一步提升了采集的準(zhǔn)確性與實(shí)時(shí)性,公共令牌可以動(dòng)態(tài)的被話單采集進(jìn)程所獲取,進(jìn)而保證采集過程的正常運(yùn)行。
進(jìn)一步,還包括異常處理模塊,所述異常處理模塊包括第一處理單元和第二處理單元,
所述第一處理單元用于在占有所述公共令牌運(yùn)行權(quán)的所述話單采集進(jìn)程出現(xiàn)異常時(shí),控制其釋放其占用的公共令牌和加載的配置文件信息,記錄斷點(diǎn)信息并存放于所述共享存儲(chǔ)中;
所述第二處理單元用于控制未搶占成功的所述話單采集進(jìn)程下次定時(shí)啟動(dòng)時(shí)重新?lián)屨妓龉擦钆?,如果搶占成功,則所述話單采集進(jìn)程取得所述公共令牌的運(yùn)行權(quán),且訪問所述共享存儲(chǔ),讀取所述斷點(diǎn)信息,并從斷點(diǎn)處開始加載所述配置文件信息,繼續(xù)對(duì)話單源進(jìn)行采集;否則,控制所述話單采集進(jìn)程退出運(yùn)行,并等待再次定時(shí)啟動(dòng)。
采用上述進(jìn)一步方案的有益效果是:當(dāng)某一個(gè)話單采集進(jìn)程在采集過程中異常退出后,將釋放其占用的公共令牌和加載的配置文件信息,另一話單采集進(jìn)程將搶占所述公共令牌,取得運(yùn)行權(quán),繼續(xù)對(duì)話單源進(jìn)行采集,實(shí)現(xiàn)了采集的交接工作,規(guī)避了異常情況下采集進(jìn)程大量延遲甚至中斷的問題,提升了計(jì)費(fèi)系統(tǒng)的及時(shí)性和實(shí)時(shí)性,大大緩解了異常情況下話單源的話單積壓?jiǎn)栴}。
附圖說明
圖1為本發(fā)明一種分布式話單采集方法的流程示意圖;
圖2為本發(fā)明一種分布式話單采集系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
實(shí)施例一、一種分布式話單采集方法,下面將結(jié)合附圖1對(duì)本發(fā)明的一種分布式話單采集方法進(jìn)行詳細(xì)描述。
圖1為本發(fā)明一種分布式話單采集方法的流程示意圖,如圖1所示,包括以下步驟:
步驟1,將話單源對(duì)應(yīng)的配置文件名寫入到公共令牌中;
步驟2,在計(jì)費(fèi)系統(tǒng)中,針對(duì)每個(gè)話單源部署若干個(gè)話單采集進(jìn)程;
步驟3,所述話單采集進(jìn)程定時(shí)啟動(dòng)后,搶占所述公共令牌,若搶占成功,則執(zhí)行步驟4,否則,執(zhí)行步驟5;
步驟4,所述話單采集進(jìn)程取得所述公共令牌的運(yùn)行權(quán),讀取所述公共令牌上的所述配置文件名,并加載對(duì)應(yīng)的配置文件信息,完成話單源信息采集,結(jié)束處理流程;
步驟5,所述話單采集進(jìn)程退出運(yùn)行,等待下次定時(shí)啟動(dòng),并返回執(zhí)行步驟3;
其中,同一時(shí)刻,只有一個(gè)所述話單采集進(jìn)程能取得所述公共令牌的運(yùn)行權(quán)。
本實(shí)施例提供的一種分布式話單采集方法,通過將話單源對(duì)應(yīng)的配置文件名寫入公共令牌中,即將話單源的配置文件信息與公共令牌綁定,且同一時(shí)刻,只有一個(gè)所述話單采集進(jìn)程能取得所述公共令牌的運(yùn)行權(quán),所述話單采集進(jìn)程在搶占到公共令牌后,取得運(yùn)行權(quán),進(jìn)而獲得話單源的配置文件名,加載配置文件信息,完成采集,使得采集源與話單采集進(jìn)程之間從以前的固定匹配方式改為動(dòng)態(tài)匹配方式,實(shí)現(xiàn)分布式部署,方法靈活,應(yīng)用簡(jiǎn)單,不僅提升了話單采集的穩(wěn)定性,還保證了話單采集的實(shí)時(shí)性。
優(yōu)選的,步驟3中和步驟5中,所述話單采集進(jìn)程定時(shí)啟動(dòng)的具體實(shí)現(xiàn)為:每間隔預(yù)設(shè)時(shí)間,通過加載公共配置文件來啟動(dòng)。在本實(shí)施例中,所述話單采集進(jìn)程都是通過加載公共配置文件來啟動(dòng)的,保證了所述話單采集進(jìn)程能對(duì)所述話單源進(jìn)行接管采集,進(jìn)而極大的降低了采集延遲的風(fēng)險(xiǎn)。
優(yōu)選的,所述公共配置文件包含所述公共令牌的注冊(cè)信息,且所述公共配置文件存放在共享存儲(chǔ)中,用于供給所述計(jì)費(fèi)系統(tǒng)中任一所述話單采集進(jìn)程讀取。在本實(shí)施例中,所述公共配置文件可以被任一所述話單采集進(jìn)程讀取,保證了采集交接的及時(shí)性,共享存儲(chǔ)機(jī)制保證了采集系統(tǒng)中的各個(gè)主機(jī)之間可以對(duì)話單源的話單文件進(jìn)行相互的備份,大大的緩解了話單積壓?jiǎn)栴}。
優(yōu)選的,所述配置文件信息包括存儲(chǔ)話單源對(duì)應(yīng)的主機(jī)ip地址、話單源采集入口目錄、采集備份目錄、用戶名和密碼。在本實(shí)施例中,將這些配置文件信息寫入到公共令牌中,使得公共令牌與采集源唯一匹配,提高了話單采集進(jìn)程對(duì)話單源采集的準(zhǔn)確性,公共令牌可以動(dòng)態(tài)的被話單采集進(jìn)程所獲取,進(jìn)而保證采集過程的正常運(yùn)行。
優(yōu)選的,步驟4中:若占有所述公共令牌運(yùn)行權(quán)的所述話單采集進(jìn)程在采集過程中運(yùn)行異常,則進(jìn)行如下步驟處理:
步驟s41,搶占成功的所述話單采集進(jìn)程釋放其占用的公共令牌和加載的配置文件信息,記錄斷點(diǎn)信息并存放于所述共享存儲(chǔ)中;
步驟s42,其余未搶占成功的所述話單采集進(jìn)程在下次定時(shí)啟動(dòng)后,重新?lián)屨妓龉擦钆?,如果搶占成功,則執(zhí)行步驟s43,否則,直接進(jìn)入步驟5;
步驟s43,搶占成功的所述話單采集進(jìn)程取得所述公共令牌的運(yùn)行權(quán),訪問所述共享存儲(chǔ),讀取所述斷點(diǎn)信息,并從斷點(diǎn)處開始加載所述配置文件信息,繼續(xù)對(duì)話單源進(jìn)行采集。
在本優(yōu)選實(shí)施例中,當(dāng)某一個(gè)話單采集進(jìn)程在采集過程中異常退出后,將釋放其占用的公共令牌和加載的配置文件信息,另一話單采集進(jìn)程將搶占所述公共令牌,取得運(yùn)行權(quán),繼續(xù)對(duì)話單源進(jìn)行采集,實(shí)現(xiàn)了采集的交接工作,規(guī)避了異常情況下采集進(jìn)程大量延遲甚至中斷的問題,提升了計(jì)費(fèi)系統(tǒng)的及時(shí)性和實(shí)時(shí)性,大大緩解了異常情況下話單源的話單積壓?jiǎn)栴}。
優(yōu)選的,所述步驟s41中,所述斷點(diǎn)信息包括所述話單采集進(jìn)程采集到的臨時(shí)話單文件及其名稱和大小。
實(shí)施例二、一種分布式話單采集系統(tǒng),下面將結(jié)合附圖2對(duì)本發(fā)明的一種分布式話單采集系統(tǒng)進(jìn)行詳細(xì)描述。
如圖2所示,一種分布式話單采集系統(tǒng),包括:寫入模塊、部署模塊和主控制模塊;
所述寫入模塊用于將話單源對(duì)應(yīng)的配置文件名寫入到公共令牌中;
所述部署模塊用于在計(jì)費(fèi)系統(tǒng)中,針對(duì)每個(gè)話單源部署若干個(gè)話單采集進(jìn)程;
所述主控制模塊用于控制每個(gè)所述話單采集進(jìn)程在定時(shí)啟動(dòng)時(shí)搶占所述公共令牌,若所述話單采集進(jìn)程搶占所述公共令牌成功,則控制所述話單采集進(jìn)程取得所述公共令牌的運(yùn)行權(quán),讀取所述公共令牌上的配置文件名,并加載對(duì)應(yīng)的配置文件信息,對(duì)話單源進(jìn)行采集,否則,控制所述話單采集進(jìn)程退出運(yùn)行,等待下次定時(shí)啟動(dòng);
其中,同一時(shí)刻只有一個(gè)所述話單采集進(jìn)程能取得所述公共令牌的運(yùn)行權(quán)。
本實(shí)施例的一種分布式話單采集系統(tǒng),通過將話單源對(duì)應(yīng)的配置文件名寫入公共令牌中,即將話單源的配置文件信息與公共令牌綁定,且同一時(shí)刻,只有一個(gè)所述話單采集進(jìn)程能取得所述公共令牌的運(yùn)行權(quán),所述話單采集進(jìn)程在搶占到公共令牌后,取得運(yùn)行權(quán),進(jìn)而獲得話單源的配置文件名,加載配置文件信息,完成采集,使得采集源與話單采集進(jìn)程之間從以前的固定匹配方式改為動(dòng)態(tài)匹配方式,實(shí)現(xiàn)分布式部署,方法靈活,應(yīng)用簡(jiǎn)單,不僅提升了話單采集的穩(wěn)定性,還保證了話單采集的實(shí)時(shí)性。
優(yōu)選的,所述公共配置文件包含所述公共令牌的注冊(cè)信息,且所述公共配置文件存放在共享存儲(chǔ)中,用于供給所述計(jì)費(fèi)系統(tǒng)中任一所述話單采集進(jìn)程讀取。在本實(shí)施例中,所述公共配置文件可以被任一所述話單采集進(jìn)程讀取,保證了采集交接的及時(shí)性,共享存儲(chǔ)機(jī)制保證了采集系統(tǒng)中的各個(gè)主機(jī)之間可以對(duì)話單源的話單文件進(jìn)行相互的備份,大大的緩解了話單積壓?jiǎn)栴}。
優(yōu)選的,所述配置文件信息包括存儲(chǔ)話單源對(duì)應(yīng)的主機(jī)ip地址、話單源采集入口目錄、采集備份目錄、用戶名和密碼。在本實(shí)施例中,將這些配置文件信息寫入公共令牌中,使得公共令牌與采集源唯一匹配,進(jìn)一步提升了采集的準(zhǔn)確性與實(shí)時(shí)性,公共令牌可以動(dòng)態(tài)的被話單采集進(jìn)程所獲取,進(jìn)而保證采集過程的正常運(yùn)行。
在另一優(yōu)選實(shí)施例中,分布式話單采集系統(tǒng)還包括異常處理模塊,所述異常處理模塊包括第一處理單元和第二處理單元,所述第一處理單元用于在占有所述公共令牌運(yùn)行權(quán)的所述話單采集進(jìn)程出現(xiàn)異常時(shí),控制其釋放其占用的公共令牌和加載的配置文件信息,記錄斷點(diǎn)信息并存放于所述共享存儲(chǔ)中;所述第二處理單元用于控制其余未搶占成功的所述話單采集進(jìn)程下次定時(shí)啟動(dòng)時(shí)重新?lián)屨妓龉擦钆?,如果搶占成功,則所述話單采集進(jìn)程取得所述公共令牌的運(yùn)行權(quán),且訪問所述共享存儲(chǔ),讀取所述斷點(diǎn)信息,并從斷點(diǎn)處開始加載所述配置文件信息,繼續(xù)對(duì)話單源進(jìn)行采集;否則,控制所述話單采集進(jìn)程退出運(yùn)行,并等待再次定時(shí)啟動(dòng)。
在該優(yōu)選實(shí)施例中,當(dāng)某一個(gè)話單采集進(jìn)程在采集過程中異常退出后,將釋放其占用的公共令牌和加載的配置文件信息,另一話單采集進(jìn)程將搶占所述公共令牌,取得運(yùn)行權(quán),繼續(xù)對(duì)話單源進(jìn)行采集,實(shí)現(xiàn)了采集的交接工作,規(guī)避了異常情況下采集進(jìn)程大量延遲甚至中斷的問題,提升了計(jì)費(fèi)系統(tǒng)的及時(shí)性和實(shí)時(shí)性,大大緩解了異常情況下話單源的話單積壓?jiǎn)栴}。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。