TW201734857A - 業務處理方法、裝置及系統 - Google Patents
業務處理方法、裝置及系統 Download PDFInfo
- Publication number
- TW201734857A TW201734857A TW106101912A TW106101912A TW201734857A TW 201734857 A TW201734857 A TW 201734857A TW 106101912 A TW106101912 A TW 106101912A TW 106101912 A TW106101912 A TW 106101912A TW 201734857 A TW201734857 A TW 201734857A
- Authority
- TW
- Taiwan
- Prior art keywords
- service processing
- request
- service
- reference information
- information
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本發明公開了一種業務處理方法、裝置及系統。一種業務處理方法包括:業務請求側產生攜帶業務處理參考資訊的業務處理請求,將所述業務處理請求發送至業務處理側;針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊;業務處理側接收到所述業務處理請求後,根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理。應用本發明技術方案,不會出現針對同一業務事件的多次冪等檢查在不同儲存位置進行的情況,從而有效地避免了業務重複處理的問題。
Description
本發明係關於電腦應用技術領域,尤其係關於一種業務處理方法、裝置及系統。
在電腦系統中,冪等操作的特點是其任意多次執行所產生的影響均與一次執行的所產生的影響相同,在實際應用中,冪等操作常用於避免重複操作對系統的造成的影響。以金融系統為例,針對一次帳務轉入或轉出請求,必須保證該請求只導致一次實際的轉帳處理,不允許由於網路延遲等原因導致多次轉帳處理,因此金融系統都需要保證其對外帳務介面的冪等性。
為了實現冪等性,現有技術的常用做法是在業務系統側的資料庫中針對每次業務請求建立唯一性約束,例如:在資料庫中建立冪等表,每次處理業務請求之前,均要求將該業務請求的某種唯一標識資訊(例如“業務請求單號”、“業務請求單號+業務類型”、“業務請求單號+業務請求來源”等)插入這張表,如果插入成功,說明業務系統是第一次處理該業務請求,則繼續正常的業務處理流
程;反之如果插入失敗,則說明冪等表中已經存在該業務的資訊,即業務系統之前曾經處理過該業務請求,那麼可以直接確定該請求為重複請求,進而停止處理該請求。
在一般情況下,上述方案可以較好地實現業務系統對外介面的冪等性。然而基於分散式儲存或災備等需求,對資料進行分表或分庫儲存的方案應用越來越普遍,而在分表或分庫的應用場景下,可能會出現的一種情況是:針對同一業務,請求方向業務系統發起了多次請求,而出於某種原因(例如災備切換等),多次請求被業務系統路由到了不同的資料表,由於不同資料表所使用的冪等表不同,因此很可能出現冪等失效,進而導致業務重複處理。
針對上述技術問題,本發明提供一種業務處理方法、裝置及系統,以解決在分庫或多庫應用場景下的冪等失效問題,技術方案如下:根據本發明的第一方面,提供一種業務處理方法,該方法包括:業務請求側產生攜帶業務處理參考資訊的業務處理請求,將所述業務處理請求發送至業務處理側;所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊;業務處理側接收到所述業務處理請求後,根據請求中
攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理。
根據本發明的第二方面,提供一種業務處理方法,應用於業務請求側,該方法包括:產生攜帶業務處理參考資訊的業務處理請求;將所述業務處理請求發送至業務處理側,以使得業務處理側接收到所述業務處理請求後,根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
根據本發明的第三方面,提供一種業務處理方法,應用於業務處理側,該方法包括:接收業務請求側發送的業務處理請求,所述業務處理請求中攜帶業務處理參考資訊;根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,業務請求側針
對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
根據本發明的第四方面,提供一種業務處理裝置,應用於業務請求側,該裝置包括:請求產生模組,用於產生攜帶業務處理參考資訊的業務處理請求;請求發送模組,用於將所述業務處理請求發送至業務處理側,以使得業務處理側接收到所述業務處理請求後,根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
根據本發明的第五方面,提供一種業務處理裝置,應用於業務處理側,該裝置包括:請求接收模組,用於接收業務請求側發送的業務處理請求,所述業務處理請求中攜帶業務處理參考資訊;業務處理模組,用於根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,業務請求側針
對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
根據本發明的第六方面,提供一種業務處理系統,該系統包括業務請求側裝置及業務處理側裝置:所述業務請求側裝置包括:請求產生模組,用於產生攜帶業務處理參考資訊的業務處理請求;請求發送模組,用於將所述業務處理請求發送至業務處理側;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊;所述業務處理側裝置包括:請求接收模組,用於接收業務請求側發送的業務處理請求;業務處理模組,用於根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理。
本發明所提供的技術方案,在業務請求側向業務處理側發送的業務處理請求中添加了業務處理參考資訊,由於針對同一業務事件多次發送的業務處理請求中所攜帶的業務處理參考資訊都是相同的,因此不會出現針對同一業務事件的多次冪等檢查在不同儲存位置進行的情況,從而有
效地避免了業務重複處理的問題。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本發明。
100‧‧‧業務請求側裝置
110‧‧‧請求產生模組
120‧‧‧請求發送模組
200‧‧‧業務處理側裝置
210‧‧‧請求接收模組
220‧‧‧業務處理模組
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明中記載的一些實施例,對於本領域通常知識者來講,還可以根據這些附圖獲得其他的附圖。
圖1是本發明的業務處理方法的流程示意圖;圖2是本發明的資料庫部署方案示意圖;圖3是本發明的業務請求側裝置的結構示意圖;圖4是本發明的業務處理側裝置的結構示意圖;圖5是本發明的業務處理系統的結構示意圖。
在海量資料的應用場景下,為了實現資料的分散式儲存,一般會對採用分表的方式對資料進行儲存,分表可以基於多種維度實現,其中一種常用的劃分維度是基於“時間”維度進行分表,例如按照1年12個月劃分出12個分表,分別用於儲存在不同時間發起的業務請求所對應的業務資料。
此外,為了保證系統的容災特性,對資料庫進行冗餘
備份也是一種常見的處理方案,即將主庫中的資料完全複製到FO(Failover,故障切換)庫中,主庫和FO庫一般被部署在不同的區域,正常狀態下,業務請求被路由到主庫(正常模式),災備狀態下業務請求將被切換路由至FO庫(故障切換模式)。
分庫和分表都是資料庫應用的常見方案,然而在分庫和分表的應用場景下,可能會導致現有的冪等性實現方案失效,場景舉例如下:假設使用者A希望向使用者B轉帳100元,業務處理側的轉帳平台在11月30日23時59分接收到A通過某應用平台發送的轉帳請求,將該業務路由到分表11(對11月對應分表的統稱),分表11的冪等表中可以成功插入該業務的標識資訊,因此正常處理該業務:將100元從帳戶A轉到帳戶B。但是由於網路問題,業務請求側的應用平台並沒有收到業務已成功處理的回應,於是判定為處理超時並重新向轉帳平台發送第二次轉帳請求。轉帳平台收到第二次轉帳請求的時間為12月1日00時01分,將該業務路由到分表12(對12月對應分表的統稱),而分表12的冪等表中並不存在該轉帳業務的標識資訊,因此同樣可以成功插入並且正常處理業務,導致A再一次向B轉帳100元。
假設使用者A希望向使用者B轉帳100元,業務處理側的轉帳平台第一次接收到A通過某應用平台發送的轉帳請求時,系統處於正常運行狀態,因此將該業務路由到
主庫中的資料表,主庫的冪等表中可以成功插入該業務的標識資訊,因此正常處理該業務:將100元從帳戶A轉到帳戶B;由於網路問題,業務請求側的應用平台並沒有收到業務已成功處理的回應,於是判定為處理超時並重新向轉帳平台發送第二次轉帳請求。轉帳平台收到第二次轉帳請求時,主庫出現故障,因此將該業務路由到FO庫中的資料表,而FO庫的冪等表中並不存在該轉帳業務的標識資訊,因此同樣可以成功插入並且正常處理業務,導致A再一次向B轉帳100元。
可見,在資料分庫或多庫儲存的應用場景下,由於不同的儲存位置(例如主庫/FO庫、分庫、分表等等)分別維護各自的冪等表,因此當同一業務事件的多次請求被路由到不同的儲存位置時,就會導致冪等檢查失效的問題。
針對上述問題,本發明提供一種業務處理方法,參見圖1所示,該方法可以包括以下步驟:
S101,業務請求側產生攜帶業務處理參考資訊的業務處理請求;與現有技術方案相比,本發明方案在業務處理請求中添加擴展參數:業務處理參考資訊,該資訊的一個作用是在分庫或分表的應用場景下,令業務處理側能夠根據該資訊確定出處理當前業務所使用的資料庫儲存位置,即在處理當前業務的過程中,相關的資料處理操作需要在哪個資料庫(包括主庫/FO、分庫等)和/或哪張資料表中進行,以便業務處理側在所確定的儲存位置中進行後續的資料處
理操作。
本發明方案並不要求業務請求瞭解業務處理側的實際分庫或分表邏輯,只需業務請求側所提供的業務處理參考資訊能夠被業務處理側識別、並且根據該資訊確定處理當前業務應該使用的具體資料庫或資料表即可。
例如:對於資料庫按“時間”維度進行分表的情況,業務請求側只需在發送業務處理請求前,獲取當前的時刻資訊,並且將該時刻資訊寫入業務處理請求中。進而業務處理側可以根據該時刻資訊,選擇對應的時間維度資料分表來進行後續處理。
對於資料庫冗餘備份的應用場景,業務請求側需要在發送業務處理請求前,感知業務處理側當前所使用的資料庫運行模式資訊,這裡所說的運行模式包括正常運行模式和故障切換模式,然後將該資料庫運行模式資訊寫入業務處理請求中。進而業務處理側可以根據該資料庫運行模式資訊,選擇主庫或FO庫來進行後續的處理。實際應用時,業務請求側可以以訂閱的方式獲取業務請求側或中介軟體主動推送的資料庫運行模式資訊,也可以在需要發送業務處理請求時按需獲取資料庫運行模式資訊,本發明並不需要進行限定。
需要說明的是,上述兩種“業務處理參考資訊”僅用於示意性說明,不應理解為對本發明方案的限定,例如,在業務請求側瞭解業務處理側的分庫分表邏輯的情況下,也可以直接將處理當前業務所使用的資料庫或資料表的標
識添加到業務請求中。另外可以理解的是,根據實際的應用需求,在一條業務處理請求中,允許同時攜帶多種類型的業務處理參考資訊,例如同時攜帶上述的時刻資訊及資料庫運行模式資訊,以便同時滿足按時間維度分表及故障切換的場景應用需求。
S102,業務請求側將業務處理請求發送至業務處理側;本發明方案中,業務處理參考資訊的另一個作用是在分庫分表的應用場景下,保證業務處理側介面的冪等性。具體而言,要求業務請求側針對同一業務事件多次發送的業務處理請求中所攜帶的業務處理參考資訊應該是相同的,這樣就能夠令業務處理側在處理基於同一業務事件的多次請求時,都針對相同的儲存位置進行冪等檢查,從而避免冪等檢查失效的問題發生。
實際應用時,業務請求側可以在首次發送業務處理請求時,獲取業務處理參考資訊(例如當前時刻資訊、當前資料庫運行模式資訊等),將該資訊寫入業務處理請求中,並且對首次寫入的業務處理參考資訊以業務事件為標識進行儲存。後續如果需要再次發送針對同一業務事件的處理請求,則直接讀取之前儲存的業務處理參考資訊並將其寫入新的業務處理請求中。當然,本發明方案只需保證針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊即可,因此上述方式並不應理解為對本發明方案的限定,例如,業務請求側也可以直接對首次產
生的業務處理請求消息體的全部或一部分(其中至少應包含首次使用的業務處理參考資訊)進行保存,後續有重發需求時,通過讀取預先保存的內容就可以實現重發,並且保證多次請求中攜帶的業務處理參考資訊相同。
S103,業務處理側接收到業務處理請求後,根據請求中攜帶的業務處理參考資訊確定對應的儲存位置;本發明方案中,業務處理側需要根據業務請求側提供的業務處理參考資訊來確定:處理當前業務時,相關的資料處理操作需要在哪個資料庫(包括主庫/FO、分庫等)和/或哪張資料表中進行。
例如:如果在業務處理請求中攜帶了時刻資訊,則業務處理側可以根據該時刻資訊確定對應的時間維度資料分表;如果在業務處理請求中攜帶了資料庫運行模式資訊,則業務處理側根據該資訊判斷是使用主庫還是FO庫。
應該理解的是,在實際應用中,上述業務處理參考資訊可能僅是用於確定儲存位置的一部分資訊,例如:在基於“使用者編號”和“時間”的二維分表方案中,需要結合“發起當前請求的使用者編號(該資訊屬於業務請求中預設攜帶的資訊)”以及“時刻資訊”來確定具體的資料分表;在確定主庫或FO庫後,還需要根據分表方案來進一步確定資料分表,等等。當然,“其他資訊”都屬於根據現有技術方案可以正常獲取的資訊,利用其他資訊確定儲存位置也可以採用與現有技術一致的方案,這些並不影響本發明方案的實現。
S104,針對所確定的儲存位置進行冪等檢查,並根據冪等檢查結果對當前業務進行處理;在確定業務相關資料在資料庫中儲存位置的前提下,本發明方案中的冪等檢查可以採用與現有技術相同的方案,即:每次處理業務請求之前,將該業務請求的某種唯一標識資訊(例如“業務請求單號”、“業務請求單號+業務類型”、“業務請求單號+業務請求來源”等)插入當前儲存位置對應的冪等表,如果插入成功,說明業務系統是第一次處理該業務請求,則繼續正常的業務處理流程;反之如果插入失敗,則說明冪等表中已經存在該業務的資訊,即業務系統之前曾經處理過該業務請求,那麼可以直接確定該請求為重複請求,進而停止處理該請求。當然,本發明並不需要對具體的冪等檢查方案進行限定。
下面結合將結合具體的應用場景,對本發明的方案進行說明:假設在一個金融系統中,轉帳平台側使用的業務資料庫部署情況如圖2所示,其中資料分表基於兩個維度:在“使用者編號”維度:取使用者編號的其中2位,形成00-99共100個使用者分位。
在“時間”維度:按照1年12個月形成12個分位。
結合上述兩種維度,總共形成12*100共1200張分表,每張分表的命名規則為“使用者編號分位_月份分位”,且每張分表各自對應一張冪等表。
此外,為了實現系統容災,將主庫中的資料全量備份
到FO庫中,FO庫與主庫的分表結構相同。正常狀態下,業務請求被路由到主庫(正常模式),災備狀態下業務請求將被切換路由至FO庫(故障切換模式)。
假設使用者A(使用者編號為100002)希望向使用者B轉帳100元,通過應用平台向轉帳平台發起轉帳請求。應用平台首次發起轉帳請求的時間為2015年11月30日23時59分,並且此時資料庫運行於正常模式,則應用平台將“2015-11-30 23:59”以及“正常模式”寫入轉帳請求中。
轉帳平台接收到上述轉帳請求後,首先根據請求中攜帶的資訊確定儲存位置為主庫02_11表,然後執行將該轉帳業務的流水單號插入主庫02_11表的冪等表的操作,由於插入成功,因此正常處理該業務:將100元從帳戶A轉到帳戶B。
情景1:假設由於網路問題,應用平台並沒有收到業務已成功處理的回應,於是判定為處理超時並重新向轉帳平台發送第二次轉帳請求。第二次發起轉帳請求的時間為2015年12月1日00時01分,但是在第二次轉帳請求中,攜帶的儲存位置資訊仍然為“2015-11-30 23:59”以及“正常模式”。
轉帳平台接收到第二次轉帳請求後,根據請求中攜帶的資訊確定儲存位置為主庫02_11表,並進一步執行將該轉帳業務的流水單號插入主庫02_11表的冪等表的操作,由於冪等表中已經存在相同的記錄,因此插入失敗,進而
停止處理本次轉帳請求,避免了錯誤的重複轉帳處理。
情景2:仍然假設由於網路問題,應用平台並沒有收到業務已成功處理的回應,於是判定為處理超時並重新向轉帳平台發送第二次轉帳請求。第二次發起轉帳請求的時間為2015年12月1日00時01分,並且此時轉帳系統側的資料庫已經切換至故障切換模式。但是在第二次轉帳請求中,攜帶的資訊仍然為“2015-11-30 23:59”以及“正常模式”。
轉帳平台接收到第二次轉帳請求後,根據請求中攜帶的資訊確定儲存位置為主庫02_11表,並進一步執行將該轉帳業務的流水單號插入主庫02_11表的冪等表的操作,但是此時主庫故障無法訪問,因此本次業務請求無法處理,結果是同樣避免了錯誤的重複轉帳處理。
可以理解的是,上述金融系統的應用實例僅用於示意性說明,並不構成對本發明方案應用場景的限制。事實上,對於系統資料庫涉及資料分庫或多庫儲存、且不同的儲存位置(例如主庫/FO庫、分庫、分表等等)分別維護各自冪等表的應用場景,都可以應用本發明方案保證系統介面的冪等性。根據本發明方案,由於業務請求側針對同一業務事件多次發送的業務處理請求中所攜帶的業務處理參考資訊都是相同的,因此本發明方案不會出現針對同一業務事件的多次冪等檢查在不同儲存位置進行的情況,從而有效地避免業務重複處理的問題。
相應於上述方法實施例,本發明還提供一種應用於業
務請求側的業務處理裝置,參見圖3所示,該裝置可以包括:請求產生模組110,用於產生攜帶業務處理參考資訊的業務處理請求;請求發送模組120,用於將業務處理請求發送至業務處理側,以使得業務處理側接收到業務處理請求後,根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
在本發明的一種具體實施方式中,業務處理參考資訊可以為時刻資訊;請求產生模組110可以具體用於:針對同一業務事件,如果首次發送業務處理請求,則獲取當前的時刻資訊,將該時刻資訊寫入業務處理請求中,後續針對該業務事件重發的請求中均攜帶該時刻資訊。
在本發明的另一種具體實施方式中,業務處理參考資訊可以為資料庫運行模式資訊,資料庫模式可以包括:正常模式、故障切換模式;請求產生模組110可以具體用於:針對同一業務事件,如果首次發送業務處理請求,則獲取業務處理側當前
所使用的資料庫運行模式資訊,將該資料庫運行模式資訊寫入業務處理請求中,後續針對該業務事件重發的請求中均攜帶該資料庫運行模式資訊。
參見圖4所示,本發明還提供一種應用於業務處理側的業務處理裝置,該裝置可以包括:請求接收模組210,用於接收業務請求側發送的業務處理請求,業務處理請求中攜帶業務處理參考資訊;業務處理模組220,用於根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,業務請求側針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
在本發明的一種具體實施方式中,業務處理參考資訊可以為時刻資訊;業務處理模組220可以具體用於:根據請求中攜帶的時刻資訊,確定與該時刻資訊對應的時間維度資料分表,針對所確定的資料分表進行冪等檢查,根據冪等檢查結果對當前業務進行處理。
在本發明的另一種具體實施方式中,業務處理參考資訊可以為資料庫運行模式資訊,資料庫模式可以包括:正常模式、故障切換模式;業務處理模組220可以具體用於:根據請求中攜帶的
資料庫運行模式資訊,確定與該資料庫運行模式資訊對應的資料庫,針對所確定的資料庫進行冪等檢查,根據冪等檢查結果對當前業務進行處理。
本發明還提供一種業務處理系統,如圖5所示,該系統可以包括業務請求側裝置100及業務處理側裝置200,兩側裝置的具體實施方式可參見前面的實施例,本發明中不再重複說明。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本發明可借助軟體加必需的通用硬體平台的方式來實現。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存介質中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置或系統實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置或系統實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,在實施本發明方案時可以把各模組的功能
在同一個或多個軟體和/或硬體中實現。也可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。本領域通常知識者在不付出創造性勞動的情況下,即可以理解並實施。
以上所述僅是本發明的具體實施方式,應當指出,對於本技術領域的通常知識者來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
Claims (16)
- 一種業務處理方法,包括:業務請求側產生攜帶業務處理參考資訊的業務處理請求,將所述業務處理請求發送至業務處理側;所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊;業務處理側接收到所述業務處理請求後,根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理。
- 根據申請專利範圍第1項所述的方法,其中,所述業務處理參考資訊為時刻資訊;所述產生攜帶業務處理參考資訊的業務處理請求,包括:針對同一業務事件,如果首次發送業務處理請求,則獲取當前的時刻資訊,將該時刻資訊寫入業務處理請求中,後續針對該業務事件重發的請求中均攜帶該時刻資訊;所述根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,包括:根據請求中攜帶的時刻資訊,確定與該時刻資訊對應的時間維度資料分表。
- 根據申請專利範圍第1項所述的方法,其中,所述業務處理參考資訊為資料庫運行模式資訊,所述資料庫模式包括:正常模式、故障切換模式; 所述產生攜帶業務處理參考資訊的業務處理請求,包括:針對同一業務事件,如果首次發送業務處理請求,則獲取業務處理側當前所使用的資料庫運行模式資訊,將該資料庫運行模式資訊寫入業務處理請求中,後續針對該業務事件重發的請求中均攜帶該資料庫運行模式資訊;所述根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,包括:根據請求中攜帶的資料庫運行模式資訊,確定與該資料庫運行模式資訊對應的資料庫。
- 一種業務處理方法,應用於業務請求側,包括:產生攜帶業務處理參考資訊的業務處理請求;將所述業務處理請求發送至業務處理側,以使得業務處理側接收到所述業務處理請求後,根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
- 根據申請專利範圍第4項所述的方法,其中,所述業務處理參考資訊為時刻資訊;所述產生攜帶業務處理參考資訊的業務處理請求,包括:針對同一業務事件,如果首次發送業務處理請求,則獲取當前的時刻資訊,將該時刻資訊寫入業務處理請求 中,後續針對該業務事件重發的請求中均攜帶該時刻資訊。
- 根據申請專利範圍第4項所述的方法,其中,所述業務處理參考資訊為資料庫運行模式資訊,所述資料庫模式包括:正常模式、故障切換模式;所述產生攜帶業務處理參考資訊的業務處理請求,包括:針對同一業務事件,如果首次發送業務處理請求,則獲取業務處理側當前所使用的資料庫運行模式資訊,將該資料庫運行模式資訊寫入業務處理請求中,後續針對該業務事件重發的請求中均攜帶該資料庫運行模式資訊。
- 一種業務處理方法,應用於業務處理側,包括:接收業務請求側發送的業務處理請求,所述業務處理請求中攜帶業務處理參考資訊;根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,業務請求側針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
- 根據申請專利範圍第7項所述的方法,其中,所述業務處理參考資訊為時刻資訊;所述根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,包括:根據請求中攜帶的時刻資訊,確定與該 時刻資訊對應的時間維度資料分表。
- 根據申請專利範圍第7項所述的方法,其中,所述業務處理參考資訊為資料庫運行模式資訊,所述資料庫模式包括:正常模式、故障切換模式;所述根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,包括:根據請求中攜帶的資料庫運行模式資訊,確定與該資料庫運行模式資訊對應的資料庫。
- 一種業務處理裝置,應用於業務請求側,包括:請求產生模組,用於產生攜帶業務處理參考資訊的業務處理請求;請求發送模組,用於將所述業務處理請求發送至業務處理側,以使得業務處理側接收到所述業務處理請求後,根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
- 根據申請專利範圍第10項所述的裝置,其中,所述業務處理參考資訊為時刻資訊;所述請求產生模組,具體用於:針對同一業務事件,如果首次發送業務處理請求,則獲取當前的時刻資訊,將該時刻資訊寫入業務處理請求中,後續針對該業務事件重 發的請求中均攜帶該時刻資訊。
- 根據申請專利範圍第10項所述的裝置,其中,所述業務處理參考資訊為資料庫運行模式資訊,所述資料庫模式包括:正常模式、故障切換模式;所述請求產生模組,具體用於:針對同一業務事件,如果首次發送業務處理請求,則獲取業務處理側當前所使用的資料庫運行模式資訊,將該資料庫運行模式資訊寫入業務處理請求中,後續針對該業務事件重發的請求中均攜帶該資料庫運行模式資訊。
- 一種業務處理裝置,應用於業務處理側,包括:請求接收模組,用於接收業務請求側發送的業務處理請求,所述業務處理請求中攜帶業務處理參考資訊;業務處理模組,用於根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪等檢查,根據冪等檢查結果對當前業務進行處理;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,業務請求側針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊。
- 根據申請專利範圍第13項所述的裝置,其中,所述業務處理參考資訊為時刻資訊;所述業務處理模組,具體用於:根據請求中攜帶的時刻資訊,確定與該時刻資訊對應的時間維度資料分表,針對所確定的資料分表進行冪等檢查,根據冪等檢查結果對 當前業務進行處理。
- 根據申請專利範圍第13項所述的裝置,其中,所述業務處理參考資訊為資料庫運行模式資訊,所述資料庫模式包括:正常模式、故障切換模式;所述業務處理模組,具體用於:根據請求中攜帶的資料庫運行模式資訊,確定與該資料庫運行模式資訊對應的資料庫,針對所確定的資料庫進行冪等檢查,根據冪等檢查結果對當前業務進行處理。
- 一種業務處理系統,其中,該系統包括業務請求側裝置及業務處理側裝置:所述業務請求側裝置包括:請求產生模組,用於產生攜帶業務處理參考資訊的業務處理請求;請求發送模組,用於將所述業務處理請求發送至業務處理側;其中,所述業務處理參考資訊用於業務處理側確定當前業務的相關資料在資料庫中的儲存位置,針對同一業務事件多次發送的業務處理請求中攜帶相同的業務處理參考資訊;所述業務處理側裝置包括:請求接收模組,用於接收業務請求側發送的業務處理請求;業務處理模組,用於根據請求中攜帶的業務處理參考資訊確定對應的儲存位置,針對所確定的儲存位置進行冪 等檢查,根據冪等檢查結果對當前業務進行處理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610173747.6 | 2016-03-24 | ||
CN201610173747.6A CN107229455B (zh) | 2016-03-24 | 2016-03-24 | 一种业务处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201734857A true TW201734857A (zh) | 2017-10-01 |
TWI777935B TWI777935B (zh) | 2022-09-21 |
Family
ID=59899301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106101912A TWI777935B (zh) | 2016-03-24 | 2017-01-19 | 業務處理方法、裝置及系統 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11445030B2 (zh) |
EP (1) | EP3435604B1 (zh) |
JP (1) | JP6921107B2 (zh) |
CN (1) | CN107229455B (zh) |
TW (1) | TWI777935B (zh) |
WO (1) | WO2017162056A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10693952B2 (en) | 2017-10-23 | 2020-06-23 | Salesforce.Com, Inc. | Technologies for low latency messaging |
CN108415792B (zh) * | 2018-01-15 | 2022-04-29 | 创新先进技术有限公司 | 容灾系统、方法、装置及设备 |
CN108647950B (zh) * | 2018-05-18 | 2022-01-28 | 创新先进技术有限公司 | 一种转账请求处理方法、装置及设备 |
CN108647105B (zh) * | 2018-05-22 | 2022-02-01 | 创新先进技术有限公司 | 系统切换过程中的幂等控制方法、装置及系统 |
CN108805569A (zh) * | 2018-05-29 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
US11252119B2 (en) * | 2018-06-04 | 2022-02-15 | Salesforce.Com, Inc. | Message logging using two-stage message logging mechanisms |
CN108984325A (zh) * | 2018-07-20 | 2018-12-11 | 北京北信源信息安全技术有限公司 | 消息队列消费方法和装置 |
CN110046976B (zh) * | 2018-11-30 | 2023-08-18 | 创新先进技术有限公司 | 对账方法和装置、服务器 |
CN110046877B (zh) * | 2018-11-30 | 2023-09-29 | 创新先进技术有限公司 | 对账方法和装置、服务器 |
EP3920491B1 (en) | 2019-02-01 | 2023-11-01 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Service processing method, device and computer readable storage medium |
CN110020846B (zh) * | 2019-03-18 | 2023-01-20 | 创新先进技术有限公司 | 一种转账业务处理方法及系统 |
CN110445846A (zh) * | 2019-07-18 | 2019-11-12 | 福建星网智慧软件有限公司 | 一种智能充电桩与管理平台判断重复通信的方法及系统 |
US11665110B1 (en) * | 2019-09-30 | 2023-05-30 | Amazon Technologies, Inc. | Using distributed services to continue or fail requests based on determining allotted time and processing time |
CN111737351A (zh) * | 2020-06-22 | 2020-10-02 | 中国银行股份有限公司 | 分布式管理系统事务管理方法及装置 |
CN113052565A (zh) * | 2020-10-17 | 2021-06-29 | 严怀华 | 基于云服务的智慧社区业务信息处理方法及云服务设备 |
CN112905492B (zh) * | 2021-04-06 | 2024-05-24 | 浙江网商银行股份有限公司 | 验证方法及装置 |
CN113553214B (zh) * | 2021-07-30 | 2024-04-02 | 国网数字科技控股有限公司 | 一种幂等性校验方法及装置 |
CN114676118B (zh) * | 2022-05-30 | 2022-08-12 | 深圳市科力锐科技有限公司 | 数据库切换方法、装置、设备及存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133601A1 (en) * | 2001-03-16 | 2002-09-19 | Kennamer Walter J. | Failover of servers over which data is partitioned |
US8914429B2 (en) * | 2002-02-08 | 2014-12-16 | Willaim Pitts | Method for creating global distributed namespace |
US7296008B2 (en) * | 2004-08-24 | 2007-11-13 | Symantec Operating Corporation | Generation and use of a time map for accessing a prior image of a storage device |
US7328324B2 (en) * | 2005-04-27 | 2008-02-05 | Dot Hill Systems Corp. | Multiple mode controller method and apparatus |
US7877757B2 (en) * | 2006-05-05 | 2011-01-25 | Microsoft Corporation | Work item event monitor for procession of queued events |
US8275855B2 (en) * | 2007-12-20 | 2012-09-25 | Yahoo! Inc. | Method and system for monitoring rest web services |
US9417977B2 (en) * | 2008-12-31 | 2016-08-16 | Sap Se | Distributed transactional recovery system and method |
US8655848B1 (en) * | 2009-04-30 | 2014-02-18 | Netapp, Inc. | Unordered idempotent logical replication operations |
CN102035865B (zh) * | 2009-09-30 | 2013-04-17 | 阿里巴巴集团控股有限公司 | 数据存储及数据寻址方法、系统和设备 |
US8751598B1 (en) * | 2010-11-03 | 2014-06-10 | Netapp, Inc. | Method and system for implementing an unordered delivery of data between nodes in a clustered storage system |
US8612386B2 (en) * | 2011-02-11 | 2013-12-17 | Alcatel Lucent | Method and apparatus for peer-to-peer database synchronization in dynamic networks |
US8788579B2 (en) * | 2011-09-09 | 2014-07-22 | Microsoft Corporation | Clustered client failover |
US8924346B2 (en) * | 2011-09-09 | 2014-12-30 | Oracle International Corporation | Idempotence for database transactions |
US8856583B1 (en) * | 2012-01-20 | 2014-10-07 | Google Inc. | Failover operation on a replicated distributed database system while maintaining access invariance |
US9477706B2 (en) * | 2012-04-04 | 2016-10-25 | Viavi Solutions Inc. | System and method for storing and retrieving data |
CN103853764B (zh) * | 2012-12-03 | 2017-08-08 | 金蝶软件(中国)有限公司 | 终端信息同步方法及装置 |
US9304888B2 (en) * | 2013-06-25 | 2016-04-05 | Microsoft Technology Licensing, Llc | Consistent modeling and execution of time constructs in business processes |
CN104253702B (zh) * | 2013-06-27 | 2018-03-09 | 华为软件技术有限公司 | 一种终端管理方法和系统 |
US9471585B1 (en) * | 2013-12-20 | 2016-10-18 | Amazon Technologies, Inc. | Decentralized de-duplication techniques for largescale data streams |
CN103716253A (zh) * | 2013-12-27 | 2014-04-09 | 广州华多网络科技有限公司 | 一种请求数据的方法及装置 |
US11379494B2 (en) * | 2014-08-06 | 2022-07-05 | Sap Se | Timeline index for partitioned temporal database tables |
AU2015365533A1 (en) | 2014-12-20 | 2017-07-06 | Troikaa Pharmaceuticals Limited | Injectable formulations of paracetamol |
JP6556851B2 (ja) * | 2015-09-08 | 2019-08-07 | 株式会社東芝 | データベースシステム、サーバ装置、プログラムおよび情報処理方法 |
-
2016
- 2016-03-24 CN CN201610173747.6A patent/CN107229455B/zh active Active
-
2017
- 2017-01-19 TW TW106101912A patent/TWI777935B/zh active
- 2017-03-13 JP JP2018550376A patent/JP6921107B2/ja active Active
- 2017-03-13 EP EP17769333.0A patent/EP3435604B1/en active Active
- 2017-03-13 WO PCT/CN2017/076397 patent/WO2017162056A1/zh active Application Filing
-
2018
- 2018-09-20 US US16/137,306 patent/US11445030B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11445030B2 (en) | 2022-09-13 |
CN107229455B (zh) | 2019-09-17 |
EP3435604B1 (en) | 2022-03-02 |
TWI777935B (zh) | 2022-09-21 |
EP3435604A1 (en) | 2019-01-30 |
WO2017162056A1 (zh) | 2017-09-28 |
EP3435604A4 (en) | 2019-10-30 |
CN107229455A (zh) | 2017-10-03 |
JP2019516171A (ja) | 2019-06-13 |
JP6921107B2 (ja) | 2021-08-18 |
US20190028555A1 (en) | 2019-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201734857A (zh) | 業務處理方法、裝置及系統 | |
US10255343B2 (en) | Initialization protocol for a peer-to-peer replication environment | |
CN109189751B (zh) | 基于区块链的数据同步方法及终端设备 | |
US9842033B2 (en) | Storage cluster failure detection | |
US9779153B2 (en) | Data transfer between storage systems using data fingerprints | |
US8214612B1 (en) | Ensuring consistency of replicated volumes | |
US11144405B2 (en) | Optimizing database migration in high availability and disaster recovery computing environments | |
TW201801495A (zh) | 資料處理方法和設備 | |
KR20110044858A (ko) | 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지 | |
US11953997B2 (en) | Systems and methods for cross-regional back up of distributed databases on a cloud service | |
US8676751B2 (en) | High availability database systems and methods | |
WO2021115043A1 (zh) | 分布式数据库系统和数据灾备演练方法 | |
WO2017071384A1 (zh) | 报文处理的方法及装置 | |
CN106815094B (zh) | 一种用于实现主备同步模式下事务提交的方法与设备 | |
CN115658390A (zh) | 容器容灾方法、系统、装置、设备及计算机可读存储介质 | |
WO2015196692A1 (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN111241200B (zh) | 基于SQLite数据库的主备同步处理方法及装置 | |
CN111163120A (zh) | 分布式数据库的数据存储传输方法和装置以及存储介质 | |
CN104391926B (zh) | 一种同步数据复制方法及装置 | |
CN104850471A (zh) | 一种基于安腾平台下实现db2数据库两地三中心的方法 | |
CN111125001A (zh) | 快照复制方法、电子设备和计算机程序产品 | |
TW201426326A (zh) | 資料分散儲存方法及系統 | |
US20240231674A9 (en) | Managing abort tasks in metro storage cluster | |
CN117555493A (zh) | 数据处理方法、系统、装置、存储介质及电子设备 | |
US9380081B1 (en) | Bidirectional network data replications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |