專利名稱:一種用于熱表數(shù)據(jù)更新的異步處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于計算機數(shù)據(jù)處理技術(shù),特別是關(guān)于一種用于熱表數(shù)據(jù)更新的異步處理方法及裝置。
背景技術(shù):
聯(lián)機數(shù)據(jù)處理按照數(shù)據(jù)處理的時效性可以分為實時更新和非實時更新兩種。需要實時更新的數(shù)據(jù)是對時效性要求較高的數(shù)據(jù),用戶進行操作后要立刻在數(shù)據(jù)庫中得到體現(xiàn),后續(xù)用戶操作必需基于前一次操作得出的結(jié)果,且與數(shù)據(jù)操作先后順序有關(guān);不需要實時更新的數(shù)據(jù)是對時效性要求不高的數(shù)據(jù),用戶進行操作后不需要立刻在數(shù)據(jù)表中體現(xiàn), 只需在一定的時間間隔內(nèi)體現(xiàn)即可,后續(xù)各用戶的操作不一定基于前一次操作的結(jié)果。在大型的商業(yè)銀行系統(tǒng)中,由于業(yè)務(wù)處理量巨大,各種系統(tǒng)數(shù)據(jù)的更新時會爭奪系統(tǒng)資源,并且數(shù)據(jù)的更新具有排他性,即在數(shù)據(jù)更新時必須對數(shù)據(jù)記錄進行加鎖閱讀,造成了熱表記錄實時更新時出現(xiàn)瓶頸。例如業(yè)務(wù)量統(tǒng)計數(shù)據(jù),每天在業(yè)務(wù)高峰期8個小時內(nèi)需要被更新100萬次,即平均每秒鐘需要被更新34次。若這種數(shù)據(jù)也采用實時更新的方式進行更新,由于數(shù)據(jù)的更新熱度高,且數(shù)據(jù)更新具有排他性,會導(dǎo)致聯(lián)機數(shù)據(jù)處理等待時間較長,系統(tǒng)運行時間較長影響用戶操作和增加系統(tǒng)運行的開銷。所以對于更新熱度高且數(shù)據(jù)更新時效性要求不高的數(shù)據(jù),可以采用非實時更新的數(shù)據(jù)更新方式,把這部分數(shù)據(jù)更新從實時數(shù)據(jù)更新中抽離出來進行異步操作,提高聯(lián)機處理的整體運行速度?,F(xiàn)有技術(shù)在對非實時數(shù)據(jù)進行異步處理時,會對待處理數(shù)據(jù)進行全表掃描,以便找出處理狀態(tài)為未處理的記錄。一般需要異步處理的數(shù)據(jù)量巨大,每次處理都全量掃描待處理數(shù)據(jù)表找出未處理記錄,會導(dǎo)致處理效率異常低下。針對這種情況,另外一種處理方式是先確定一個本次處理的時間范圍,對在此時間范圍內(nèi)的未處理記錄進行處理,下次再依次確定后續(xù)的時間范圍,進行異步數(shù)據(jù)處理,以提高查找待處理數(shù)據(jù)的效率。但是這種確定時間范圍的處理方式使得處于時間范圍臨界值的某些記錄存在被漏處理的可能。產(chǎn)生漏處理的原因主要是因為數(shù)據(jù)記錄的時間戳與數(shù)據(jù)記錄真正出現(xiàn)在數(shù)據(jù)表上的時間點之間有一定的時間差。在數(shù)據(jù)記錄生成的時候,系統(tǒng)依據(jù)當前時間為其登記了一個時間戳,但是該記錄可能還會進行其它特殊操作后,記錄才真正插入到數(shù)據(jù)表中。 如圖I所示,一筆待處理的a記錄執(zhí)行新增SQL時間戳為10:00,新增后還可能還會執(zhí)行其它查詢、新增、刪除SQL,到10:01才對之前的操作統(tǒng)一做COMMIT (提交)處理真正寫入到數(shù)據(jù)表中。這個時間差也許非常的微小,但是對計算機來說,本次掃描的時間截止到10:00時該條(或若干條)記錄未出現(xiàn)在數(shù)據(jù)表中,下次掃描起始時間為“大于10:00”而該條記錄的時間戳為10:00又不符合下一次掃描的時間要求,則導(dǎo)致該條(或若干條)記錄會被漏處理。因此,需要一種解決方案,既能夠解決熱表記錄實時更新的瓶頸問題,又能夠避免在對非實時更新數(shù)據(jù)進行異步處理過程中出現(xiàn)待處理記錄遺漏的情況。
發(fā)明內(nèi)容
本發(fā)明提供一種用于熱表數(shù)據(jù)更新的異步處理方法及裝置,以解決熱表記錄實時更新的瓶頸問題,避免異步處理時出現(xiàn)待處理記錄遺漏的情況。為了實現(xiàn)上述目的,本發(fā)明提供一種用于熱表數(shù)據(jù)更新的異步處理方法,該方法包括步驟a :獲取包含數(shù)據(jù)更新信息、數(shù)據(jù)處理狀態(tài)及時間戳的待更新數(shù)據(jù),并從所述待更新數(shù)據(jù)中提取非實時更新數(shù)據(jù);步驟b :根據(jù)回滾時間ATl及上次時間范圍結(jié)束值Tl生成本次時間范圍開始時間T2,并根據(jù)系統(tǒng)當前時間T3生成本次時間范圍的結(jié)束時間;步驟 c :從所述非實時更新數(shù)據(jù)中選擇時間戳落入Tl與系統(tǒng)當前時間T3之間的非實時更新數(shù)據(jù)進行更新處理;步驟d :將所述Tl更新為T3,將上次啟動結(jié)束時間更新為當前時間T4,運行監(jiān)控時間更新為當前時間T4。進一步地,在步驟d之后,所述的方法還包括判斷自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是否大于當前工作時間T5,如果是,于當前系統(tǒng)時間等于所述自動間隔時間ΛΤ2與上次啟動結(jié)束時間T4之和時,重復(fù)步驟b。進一步地,如果自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是不大于當前工作時間T5,輸出異常提不信息。進一步地,當接收到用戶輸入的異常處理指令時,重復(fù)步驟b。進一步地,在步驟c之后,所述的方法還包括將完成更新處理的非實時更新數(shù)據(jù)的處理狀態(tài)更新為已處理。為了實現(xiàn)上述目的,本發(fā)明提供一種用于熱表數(shù)據(jù)更新的異步處理裝置,該裝置包括數(shù)據(jù)提取單元,用于獲取包含數(shù)據(jù)更新信息、數(shù)據(jù)處理狀態(tài)及時間戳的待更新數(shù)據(jù), 并從所述待更新數(shù)據(jù)中提取非實時更新數(shù)據(jù);時間范圍生成單元,用于根據(jù)回滾時間Λ Tl 及上次時間范圍結(jié)束值Tl生成本次時間范圍開始時間Τ2,并根據(jù)系統(tǒng)當前時間Τ3生成本次時間范圍的結(jié)束時間;數(shù)據(jù)選擇更新單元,用于從所述非實時更新數(shù)據(jù)中選擇時間戳落入Tl與系統(tǒng)當前時間Τ3之間的非實時更新數(shù)據(jù)進行更新處理;時間更新單元,用于將所述 Tl更新為Τ3,將上次啟動結(jié)束時間更新為當前時間Τ4,運行監(jiān)控時間更新為當前時間Τ4。進一步地,該裝置還包括時間判斷單元,用于判斷自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是否大于當前工作時間Τ5。進一步地,該裝置還包括異常提示單元,用于當自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是不大于當前工作時間Τ5時,輸出異常提示信息。進一步地,該裝置還包括指令接收單元,用于接收用戶輸入的異常處理指令。進一步地,該裝置還包括狀態(tài)更新單元,用于將完成更新處理的非實時更新數(shù)據(jù)的處理狀態(tài)更新為已處理。本發(fā)明實施例的有益效果在于,通過將非實時處理數(shù)據(jù)與實時處理數(shù)據(jù)分開進行異步處理,使得大量對時效性要求不高的數(shù)據(jù)可以非實時更新,避免系統(tǒng)出現(xiàn)熱點表更新效率低下的問題。在異步處理數(shù)據(jù)時,采用了確定每次處理的時間范圍,通過時間范圍來查找待處理的記錄,避免了全量掃描待處理記錄表,查找效率低、系統(tǒng)開銷大的問題。通過采用時間回滾計算時間范圍的方法,使得前后兩次異步處理的時間范圍互相覆蓋,處于時間范圍臨界值的某些記錄,即使需要進行各種特殊處理后才能真正登記在待處理記錄表中,也不會被前后兩次異步處理所遺漏,提高了系統(tǒng)的可靠性。
對異步處理進行監(jiān)控,在異常情況下能夠及時提醒用戶,提高了數(shù)據(jù)處理的安全性。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中
I為現(xiàn)有技術(shù)記錄漏處理示意2為本發(fā)明實施例用于熱表數(shù)據(jù)更新的異步處理裝置結(jié)構(gòu)示意3為本發(fā)明實施例數(shù)據(jù)存儲裝置的結(jié)構(gòu)框4為本發(fā)明實施例異步處理裝置的結(jié)構(gòu)框5為本發(fā)明實施例時間范圍示意6為本發(fā)明實施例異步處理啟動裝置的結(jié)構(gòu)框7為本發(fā)明實施例用于熱表數(shù)據(jù)更新的異步處理裝置的結(jié)構(gòu)框8為本發(fā)明實施例熱表數(shù)據(jù)更新的異步處理方法流程圖。圖
圖
圖
圖
圖
圖
圖
圖
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合附圖對本發(fā)明實施例做進一步詳細說明。在此,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。如圖2所示,本實施例提供一種用于熱表數(shù)據(jù)更新的異步處理裝置,該裝置包括 數(shù)據(jù)篩選裝置I、數(shù)據(jù)存儲裝置2、異步處理裝置3、參數(shù)設(shè)置裝置4及異步處理啟動裝置5。數(shù)據(jù)篩選裝置I、異步處理裝置3及參數(shù)設(shè)置裝置4分別與數(shù)據(jù)存儲裝置2連接, 異步處理啟動裝置5與異步處理裝置3連接,數(shù)據(jù)篩選裝置I對外連接于銀行系統(tǒng)6。異步處理裝置3可以為單片機或FPGA等設(shè)備。數(shù)據(jù)篩選裝置I的功能是接收銀行系統(tǒng)6需要進行更新操作的數(shù)據(jù),并進行篩選, 若需要進行更新操作的數(shù)據(jù)判斷為實時更新數(shù)據(jù)則直接進行更新操作并退出處理,數(shù)據(jù)更新處理為本領(lǐng)域的現(xiàn)有技術(shù),在此不再贅述。若需要進行更新操作的數(shù)據(jù)判斷為非實時更新數(shù)據(jù),將該非實時更新數(shù)據(jù)存儲到數(shù)據(jù)存儲裝置2,作為待處理的數(shù)據(jù)記錄。數(shù)據(jù)篩選裝置I為數(shù)據(jù)監(jiān)測通信接口,可以包括串口或USB 口等接口,以及數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊。數(shù)據(jù)存儲裝置2的功能是存儲待處理數(shù)據(jù)記錄、系統(tǒng)運行參數(shù)、以及運行過程中暫時生成的各時間值。如圖3所示,數(shù)據(jù)存儲裝置2包括參數(shù)存儲單元21、時間暫存單元 22及待處理記錄存儲單元23。參數(shù)存儲單元21可以用于存儲系統(tǒng)運行所需參數(shù),如表I所示,系統(tǒng)運行所需參數(shù)至少包括回滾時間、自啟動間隔時間參數(shù)。其中,“回滾時間”參數(shù)是異步處理裝置3計算時間范圍時所需要用到的參數(shù);“自啟動間隔時間”參數(shù)是確定下一次啟動異步處理裝置 3的時間所需要用到的參數(shù),以及異步處理啟動裝置5判斷異步處理裝置3是否正常運行所需要用到的參數(shù)。表I
常數(shù)名稱常數(shù)值回滾時間t自啟動間隔時間W時間暫存單元22用于存儲異步處理裝置3在進行數(shù)據(jù)處理過程中獲取的各項時間數(shù)值,如表2所示,各項時間數(shù)值主要包括上次時間范圍結(jié)束值、上次啟動結(jié)束時間、運行監(jiān)控時間三條記錄?!吧洗螘r間范圍結(jié)束值”保存上次事務(wù)處理的時間范圍的結(jié)束值,用于計算下一次事務(wù)處理的時間范圍的開始值;“上次啟動結(jié)束時間”保存上一次異步處理裝置3數(shù)據(jù)處理的運行結(jié)束時間,用于計算下一次啟動異步處理裝置3的時間;“運行監(jiān)控時間”保存每次處理的運行時間,用于判斷異步處理是否正在正常運行。表 2
字段字段值上次時間范圍結(jié)束值T上次啟動結(jié)束時間W運行監(jiān)控時間M待處理記錄存儲單元23用于存儲等待進行處理的非實時更新數(shù)據(jù),如表3所示, 非實時更新數(shù)據(jù)至少包括數(shù)據(jù)更新信息、處理狀態(tài)、時間戳三部分內(nèi)容。“數(shù)據(jù)更新信息” 保存需要進行更新操作的具體的數(shù)據(jù)信息;“處理狀態(tài)”用于記錄待處理記錄的處理狀態(tài), 記錄新增時默認為O-未處理,當被異步處理裝置3處理后更新為I-已處理;“時間戳”記錄該數(shù)據(jù)信息生成時的時間戳,異步處理裝置3通過計算出事務(wù)處理的時間范圍后,判斷“時間戳”是否落入該時間范圍,決定是否對該數(shù)據(jù)進行處理。表3
數(shù)據(jù)更新信息處理狀態(tài)時間戳VALUE3VALUE4(0-未處理;I-已處理)TIMESTAMP異步處理裝置3的功能是通過時間回滾確認本次事務(wù)處理的時間范圍,對落入時間范圍的待處理記錄進行更新處理,然后,計算下一次啟動時間,自動啟動異步處理裝置3 在下一次啟動時間時再次進行待處理記錄處理。如圖4所示,異步處理裝置3包括時間回滾單元31、數(shù)據(jù)處理單元32及自啟動單元33。時間回滾單元31用于計算本次事務(wù)處理的時間范圍,以便根據(jù)該時間范圍來選擇需要處理的數(shù)據(jù)信息。首先,時間回滾單元31讀取數(shù)據(jù)存儲裝置2中參數(shù)存儲單元21 中“回滾時間”參數(shù)的值ΛΤ1 ;讀取數(shù)據(jù)存儲裝置2中時間暫存單元22獲取“上次時間范圍結(jié)束值”,假設(shè)為Tl ;然后,用“上次時間范圍結(jié)束值” Tl減去“回滾時間” ΛΤ1,得到時間值T2作為本次時間范圍開始值,再獲取系統(tǒng)當前時間為T3作為本次時間范圍結(jié)束值;最后,得出時間范圍T2至T3作為篩選待處理記錄的時間范圍,時間范圍如圖5所示。數(shù)據(jù)處理單元32用于按照時間回滾單元31計算出的時間范圍,獲取相應(yīng)時間范圍內(nèi)的待處理記錄進行處理。首先,數(shù)據(jù)處理單元32訪問待處理記錄存儲單元23,選取“時間戳”的值落入時間范圍“T2至T3”的所有記錄,并判斷其“處理狀態(tài)”是否為O-未處理; 然后,對符合條件的待處理記錄進行數(shù)據(jù)處理,并更新記錄的“處理狀態(tài)”為I-已處理;每處理完一筆記錄后時間暫存單元22將“運行監(jiān)控時間”更新為當前時間;本次事務(wù)的所有記錄處理結(jié)束,訪問時間暫存單元22將“上次時間范圍結(jié)束值”更新為T3、“上次啟動結(jié)束時間”更新為當前時間,“運行監(jiān)控時間”更新為當前時間。自啟動單元33的功能是根據(jù)一定的間隔時間,自動啟動異步處理裝置3對待處理記錄進行處理。首先,自啟動單元33訪問時間暫存單元22獲取“上次啟動結(jié)束時間”(假設(shè)為W0),并訪問參數(shù)存儲單元21獲取“自啟動間隔時間”(ΛΤ2);然后,將“上次啟動結(jié)束時間”WO加上“自啟動間隔時間” Λ Τ2,得到下次啟動時間Wl ;然后,在系統(tǒng)時間等于Wl時, 再次啟動異步處理裝置3。通用參數(shù)設(shè)置裝置4的功能是接收用戶指令,對數(shù)據(jù)存儲裝置2中的系統(tǒng)運行參數(shù)進行設(shè)置和調(diào)整。異步處理啟動裝置5的功能是監(jiān)測異步處理裝置3是否正在正常運行,若正常運行,則不執(zhí)行重新啟動異步處理裝置3的指令;如果異常運行,則提示用戶,并重新運行異步處理裝置3。異步處理啟動裝置5用于監(jiān)測異步處理裝置3是否異常運行,接收用戶指令并判斷是否允許用戶重新啟動異步處理裝置3 ;如果判斷結(jié)果為異步處理裝置3正常運行, 則不允許重新啟動;否則,重新啟動異步處理裝置3。如圖6所示,異步處理啟動裝置5包括監(jiān)測單元51及啟動處理單元52。監(jiān)測單元51的功能是根據(jù)運行監(jiān)控時間與當前系統(tǒng)時間的對比,監(jiān)測異步處理裝置3是否正常工作。具體處理為首先,監(jiān)測單元51訪問時間暫存單元22獲取“運行監(jiān)控時間” Μ,并訪問參數(shù)存儲單元21獲取“自啟動間隔時間” Λ Τ2 ;然后比較M+ Λ Τ2是否小于系統(tǒng)當前時間,如果M+Λ Τ2小于系統(tǒng)當前時間,則證明“運行監(jiān)控時間”M已超過正常時間未更新,即異步處理裝置3異常運行,發(fā)送異常運行提醒到啟動處理單元52。如果M+ Δ Τ2 大于系統(tǒng)當前時間,則證明異步處理裝置3正常運行。啟動處理單元52可以根據(jù)監(jiān)測單元51判斷結(jié)果,控制是否執(zhí)行用戶啟動異步處理裝置3的指令。如果收到監(jiān)測單元51發(fā)送的異常運行提醒,則提示給用戶,并在接收到用戶指令時重新啟動異步處理裝置3 ;如果未收到監(jiān)測單元51發(fā)送的異常運行提醒,則在接收到用戶指令時不允許重新啟動異步處理,即不做任何操作。圖7為本發(fā)明實施例用于熱表數(shù)據(jù)更新的異步處理裝置的結(jié)構(gòu)框圖,該裝置包括數(shù)據(jù)提取單元701,時間范圍生成單元702,數(shù)據(jù)選擇更新單元703及時間更新單元
7704。另外,該裝置還包括一存儲單元705,用于實現(xiàn)圖2中數(shù)據(jù)存儲裝置2的功能,存儲非實時更新數(shù)據(jù),存儲包括回滾時間及自啟動間隔時間的系統(tǒng)運行所需參數(shù),還可以存儲數(shù)據(jù)處理過程中獲取的上次時間范圍結(jié)束值、上次啟動結(jié)束時間、運行監(jiān)控時間等各項時間參數(shù)。另外,下面實施例中將涉及幾個當前時間,每一當前時間是指執(zhí)行不同操作時所處于的當前時刻的時間點。數(shù)據(jù)提取單元701用于實現(xiàn)圖2中數(shù)據(jù)篩選裝置I的功能,數(shù)據(jù)提取單元701首先獲取包含數(shù)據(jù)更新信息、數(shù)據(jù)處理狀態(tài)及時間戳的待更新數(shù)據(jù),并從所述待更新數(shù)據(jù)中提取非實時更新數(shù)據(jù),然后將該非實時更新數(shù)據(jù)保存到存儲單元705中。數(shù)據(jù)提取單元701為數(shù)據(jù)監(jiān)測通信接口,可以包括串口或USB 口等接口,以及數(shù)據(jù)接收模塊和數(shù)據(jù)發(fā)送模塊。時間范圍生成單元702根據(jù)存儲單元中的回滾時間ΛΤ1及上次時間范圍結(jié)束值 Tl生成本次時間范圍開始時間T2(T2 = Tl-Λ Tl),并根據(jù)系統(tǒng)當前時間Τ3生成本次時間范圍的結(jié)束時間。數(shù)據(jù)選擇更新單元703用于從所述非實時更新數(shù)據(jù)中選擇時間戳落入Tl與系統(tǒng)當前時間Τ3之間的非實時更新數(shù)據(jù),并對選擇的非實時更新數(shù)據(jù)進行更新處理。數(shù)據(jù)更新處理完成后,時間更新單元704將上次時間范圍結(jié)束值Tl更新為Τ3 (Τ3 此時已不再是當前時間),將上次啟動結(jié)束時間更新為當前時間Τ4,運行監(jiān)控時間M更新為當前時間Τ4。進一步地,該裝置還包括狀態(tài)更新單元706,數(shù)據(jù)更新處理完成后,狀態(tài)更新單元706可以將完成更新處理的非實時更新數(shù)據(jù)的處理狀態(tài)更新為已處理。時間范圍生成單元702,數(shù)據(jù)選擇更新單元703、時間更新單元704及狀態(tài)更新單元706用于實現(xiàn)圖2中異步處理裝置3的功能。進一步地,該裝置還包括時間判斷單元707及異常提示單元708。時間判斷單元 707用于判斷自動間隔時間ΛΤ2與運行監(jiān)控時間M(更新后的當前時間Τ4)之和(△ Τ+Μ) 是否大于當前工作時間Τ5。如果自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和大于當前工作時間Τ5,于當前系統(tǒng)時間等于所述自動間隔時間ΛΤ2與上次啟動結(jié)束時間Τ4之和時,調(diào)用時間范圍生成單元702,數(shù)據(jù)選擇更新單元703、時間更新單元704及狀態(tài)更新單元706再次執(zhí)行相應(yīng)的操作。當自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是不大于當前工作時間Τ5時, 異常提示單元708可以輸出異常提示信息。異常提示單元708可以輸出異常提示信息之后,執(zhí)行異常處理操作還需在用戶指令之后進行。進一步地,該裝置還包括指令接收單元707,用于在接收用戶輸入的異常處理指令,調(diào)用時間范圍生成單元702,數(shù)據(jù)選擇更新單元703、時間更新單元704及狀態(tài)更新單元706再次執(zhí)行相應(yīng)的操作。下面結(jié)合具體的數(shù)據(jù)詳細說明本發(fā)明實施例,假設(shè)存儲單元705保存的參數(shù)及各項時間值如下述的表4、表5及表6所示,表4為回滾時間及自啟動間隔時間,表5中存儲的為上次時間范圍結(jié)束值、上次啟動結(jié)束時間、運行監(jiān)控時間,表6中存儲的為非實時更新數(shù)據(jù)的數(shù)據(jù)更新信息、處理狀態(tài)及時間戳。表 權(quán)利要求
1.一種用于熱表數(shù)據(jù)更新的異步處理方法,其特征在于,所述的方法包括步驟a :獲取包含數(shù)據(jù)更新信息、數(shù)據(jù)處理狀態(tài)及時間戳的待更新數(shù)據(jù),并從所述待更新數(shù)據(jù)中提取非實時更新數(shù)據(jù);步驟b :根據(jù)回滾時間Δ Tl及上次時間范圍結(jié)束值Tl生成本次時間范圍開始時間T2, 并根據(jù)系統(tǒng)當前時間T3生成本次時間范圍的結(jié)束時間;步驟c :從所述非實時更新數(shù)據(jù)中選擇時間戳落入Tl與系統(tǒng)當前時間T3之間的非實時更新數(shù)據(jù)進行更新處理;步驟d :將所述Tl更新為T3,將上次啟動結(jié)束時間更新為當前時間T4,運行監(jiān)控時間更新為當前時間T4。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在步驟d之后,所述的方法還包括判斷自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是否大于當前工作時間T5,如果是,于當前系統(tǒng)時間等于所述自動間隔時間ΛΤ2與上次啟動結(jié)束時間T4之和時,重復(fù)步驟 b0
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,如果自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是不大于當前工作時間T5,輸出異常提示信息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,當接收到用戶輸入的異常處理指令時,重復(fù)步驟b。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,在步驟c之后,所述的方法還包括將完成更新處理的非實時更新數(shù)據(jù)的處理狀態(tài)更新為已處理。
6.一種用于熱表數(shù)據(jù)更新的異步處理裝置,其特征在于,所述的裝置包括數(shù)據(jù)提取單元,用于獲取包含數(shù)據(jù)更新信息、數(shù)據(jù)處理狀態(tài)及時間戳的待更新數(shù)據(jù),并從所述待更新數(shù)據(jù)中提取非實時更新數(shù)據(jù);時間范圍生成單元,用于根據(jù)回滾時間△!!及上次時間范圍結(jié)束值Tl生成本次時間范圍開始時間T2,并根據(jù)系統(tǒng)當前時間T3生成本次時間范圍的結(jié)束時間;數(shù)據(jù)選擇更新單元,用于從所述非實時更新數(shù)據(jù)中選擇時間戳落入Tl與系統(tǒng)當前時間T3之間的非實時更新數(shù)據(jù)進行更新處理;時間更新單元,用于將所述Tl更新為T3,將上次啟動結(jié)束時間更新為當前時間T4,運行監(jiān)控時間更新為當前時間T4。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述的裝置還包括時間判斷單元,用于判斷自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是否大于當前工作時間T5。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述的裝置還包括異常提示單元,用于當自動間隔時間ΛΤ2與所述的運行監(jiān)控時間之和是不大于當前工作時間T5時,輸出異常提不信息。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述的裝置還包括指令接收單元,用于接收用戶輸入的異常處理指令。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述的裝置還包括狀態(tài)更新單元,用于將完成更新處理的非實時更新數(shù)據(jù)的處理狀態(tài)更新為已處理。
全文摘要
一種用于熱表數(shù)據(jù)更新的異步處理方法及裝置,該方法包括步驟a獲取包含數(shù)據(jù)更新信息、數(shù)據(jù)處理狀態(tài)及時間戳的待更新數(shù)據(jù),并從所述待更新數(shù)據(jù)中提取非實時更新數(shù)據(jù);步驟b根據(jù)回滾時間ΔT1及上次時間范圍結(jié)束值T1生成本次時間范圍開始時間T2,并根據(jù)系統(tǒng)當前時間T3生成本次時間范圍的結(jié)束時間;步驟c從所述非實時更新數(shù)據(jù)中選擇時間戳落入T1與系統(tǒng)當前時間T3之間的非實時更新數(shù)據(jù)進行更新處理;步驟d將所述T1更新為T3,將上次啟動結(jié)束時間更新為當前時間T4,運行監(jiān)控時間更新為當前時間T4。本發(fā)明可以解決熱表記錄實時更新的瓶頸問題,避免異步處理時出現(xiàn)待處理記錄遺漏的情況,提高系統(tǒng)的整體運行效率和可靠性。
文檔編號G06Q40/00GK102591993SQ20121003563
公開日2012年7月18日 申請日期2012年2月16日 優(yōu)先權(quán)日2012年2月16日
發(fā)明者何敏華, 劉圣杰, 梁柱標, 蔡凌瑋, 鄧校鋒, 韋東俊 申請人:中國工商銀行股份有限公司