本申請涉及通信技術(shù)領(lǐng)域,尤其涉及一種業(yè)務(wù)處理方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,越來越多的業(yè)務(wù)可以通過網(wǎng)絡(luò)來實(shí)現(xiàn),比如:基金買賣、股票申購等。相關(guān)技術(shù)中,一些業(yè)務(wù)通常會在固定的時(shí)間點(diǎn)集中進(jìn)行,這就會給導(dǎo)致服務(wù)器瞬時(shí)TPS(Transaction Per Second,每秒事務(wù)處理量)高,影響業(yè)務(wù)的可靠性。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N業(yè)務(wù)處理方法和裝置。
具體地,本申請是通過如下技術(shù)方案實(shí)現(xiàn)的:
一種業(yè)務(wù)處理方法,應(yīng)用在業(yè)務(wù)平臺的任一服務(wù)器中,所述方法包括:
在接收到業(yè)務(wù)請求后,生成與所述業(yè)務(wù)請求對應(yīng)的任務(wù);
在將所述任務(wù)保存至數(shù)據(jù)庫后,向所述業(yè)務(wù)請求的發(fā)起方返回業(yè)務(wù)處理成功的消息;
執(zhí)行所述數(shù)據(jù)庫中保存的任務(wù)。
可選的,所述方法還包括:
接收分配設(shè)備發(fā)送的任務(wù)分配通知,所述任務(wù)分配通知中指定有分配給本設(shè)備的待執(zhí)行任務(wù),所述待執(zhí)行任務(wù)的數(shù)量少于數(shù)據(jù)庫中保存的任務(wù)總數(shù)量;
所述執(zhí)行所述數(shù)據(jù)庫中保存的任務(wù),還包括:
執(zhí)行數(shù)據(jù)庫中分配給本設(shè)備的待執(zhí)行任務(wù)。
可選的,所述方法還包括:
當(dāng)所述任務(wù)執(zhí)行成功時(shí),將所述任務(wù)的狀態(tài)標(biāo)記為執(zhí)行成功;
當(dāng)所述任務(wù)執(zhí)行失敗時(shí),將所述任務(wù)的狀態(tài)標(biāo)記為執(zhí)行失敗;
所述執(zhí)行數(shù)據(jù)庫中分配給本設(shè)備的待執(zhí)行任務(wù),包括:
根據(jù)預(yù)設(shè)的第一周期,執(zhí)行所述待執(zhí)行任務(wù)中狀態(tài)為空或執(zhí)行失敗的任務(wù)。
可選的,所述方法還包括:
當(dāng)所述任務(wù)執(zhí)行失敗的次數(shù)到達(dá)預(yù)設(shè)的次數(shù)時(shí),為所述任務(wù)標(biāo)記推遲時(shí)長;
所述執(zhí)行所述待執(zhí)行任務(wù)中狀態(tài)為執(zhí)行失敗的任務(wù),包括:
針對標(biāo)記有推遲時(shí)長的失敗任務(wù),當(dāng)?shù)竭_(dá)所述推遲時(shí)長時(shí),重新執(zhí)行所述失敗任務(wù)。
可選的,所述任務(wù)分配通知由所述分配設(shè)備基于預(yù)設(shè)的第二周期發(fā)送,所述第二周期大于所述第一周期;
所述任務(wù)分配通知中攜帶分配給對應(yīng)服務(wù)器的待執(zhí)行任務(wù)所屬的數(shù)據(jù)庫分表的標(biāo)識。
一種業(yè)務(wù)處理裝置,應(yīng)用在業(yè)務(wù)平臺的任一服務(wù)器中,所述裝置包括:
任務(wù)生成單元,在接收到業(yè)務(wù)請求后,生成與所述業(yè)務(wù)請求對應(yīng)的任務(wù);
任務(wù)保存單元,在將所述任務(wù)保存至數(shù)據(jù)庫后,向所述業(yè)務(wù)請求的發(fā)起方返回業(yè)務(wù)處理成功的消息;
任務(wù)執(zhí)行單元,執(zhí)行所述數(shù)據(jù)庫中保存的任務(wù)。
可選的,所述裝置還包括:
通知接收單元,接收分配設(shè)備發(fā)送的任務(wù)分配通知,所述任務(wù)分配通知中指定有分配給本設(shè)備的待執(zhí)行任務(wù),所述待執(zhí)行任務(wù)的數(shù)量少于數(shù)據(jù)庫中保存的任務(wù)總數(shù)量;
所述任務(wù)執(zhí)行單元,具體執(zhí)行數(shù)據(jù)庫中分配給本設(shè)備的待執(zhí)行任務(wù)。
可選的,所述裝置還包括:
狀態(tài)標(biāo)記單元,當(dāng)所述任務(wù)執(zhí)行成功時(shí),將所述任務(wù)的狀態(tài)標(biāo)記為執(zhí)行成功,當(dāng)所述任務(wù)執(zhí)行失敗時(shí),將所述任務(wù)的狀態(tài)標(biāo)記為執(zhí)行失??;
所述任務(wù)執(zhí)行單元,根據(jù)預(yù)設(shè)的第一周期,執(zhí)行所述待執(zhí)行任務(wù)中狀態(tài)為空或執(zhí)行失敗的任務(wù)。
可選的,所述裝置還包括:
推遲標(biāo)記單元,當(dāng)所述任務(wù)執(zhí)行失敗的次數(shù)到達(dá)預(yù)設(shè)的次數(shù)時(shí),為所述任務(wù)標(biāo)記推遲時(shí)長;
所述任務(wù)執(zhí)行單元,針對標(biāo)記有推遲時(shí)長的失敗任務(wù),當(dāng)?shù)竭_(dá)所述推遲時(shí)長時(shí),重新執(zhí)行所述失敗任務(wù)。
可選的,所述任務(wù)分配通知由所述分配設(shè)備基于預(yù)設(shè)的第二周期發(fā)送,所述第二周期大于所述第一周期;
所述任務(wù)分配通知中攜帶分配給對應(yīng)服務(wù)器的待執(zhí)行任務(wù)所屬的數(shù)據(jù)庫分表的標(biāo)識。
由以上描述可以看出,本申請服務(wù)器在將業(yè)務(wù)請求對應(yīng)的任務(wù)保存至數(shù)據(jù)庫后,就可以向業(yè)務(wù)請求的發(fā)起方返回業(yè)務(wù)處理成功的消息,大大減輕了服務(wù)器的處理壓力。對于業(yè)務(wù)請求方而言,可以實(shí)現(xiàn)業(yè)務(wù)處理的快速響應(yīng),提升用戶的使用體驗(yàn)。同時(shí),服務(wù)器通過執(zhí)行數(shù)據(jù)庫中保存的任務(wù),可以確保業(yè)務(wù)能夠成功處理,可靠性高。
附圖說明
圖1是本申請一示例性實(shí)施例示出的一種業(yè)務(wù)處理方法的流程圖。
圖2是本申請一示例性實(shí)施例示出的一種執(zhí)行數(shù)據(jù)庫中保存的任務(wù)的流程圖。
圖3是本申請一示例性實(shí)施例示出的一種業(yè)務(wù)處理場景的示意圖。
圖4是本申請一示例性實(shí)施例示出的一種用于業(yè)務(wù)處理裝置的一結(jié)構(gòu)示意圖。
圖5是本申請一示例性實(shí)施例示出的一種業(yè)務(wù)處理裝置的框圖。
具體實(shí)施方式
這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。
圖1是本申請一示例性實(shí)施例示出的一種業(yè)務(wù)處理方法的流程圖。
請參考圖1,所述業(yè)務(wù)處理方法可以應(yīng)用在業(yè)務(wù)平臺的任一服務(wù)器中,包括有以下步驟:
步驟101,在接收到業(yè)務(wù)請求后,生成與所述業(yè)務(wù)請求對應(yīng)的任務(wù)。
在本實(shí)施例中,所述業(yè)務(wù)平臺通常為業(yè)務(wù)提供方部署的服務(wù)器或服務(wù)器集群。所述業(yè)務(wù)平臺可以處理來自客戶端的業(yè)務(wù)請求,即業(yè)務(wù)請求的發(fā)起方為客戶端。所述業(yè)務(wù)平臺也可以處理來自其他業(yè)務(wù)平臺的業(yè)務(wù)請求,即業(yè)務(wù)請求的發(fā)起方為其他業(yè)務(wù)平臺,本申請對此不作特殊限制。
以業(yè)務(wù)平臺處理來自其他業(yè)務(wù)平臺的業(yè)務(wù)請求為例,依據(jù)負(fù)載均衡策略業(yè)務(wù)平臺的某一服務(wù)器可以在接收到所述業(yè)務(wù)請求后可以生成與所述業(yè)務(wù)請求對應(yīng)的任務(wù)。其中,業(yè)務(wù)請求的分配可以參考相關(guān)技術(shù),本申請?jiān)诖瞬辉僖灰毁樖觥?/p>
在本實(shí)施例中,服務(wù)器在接收到業(yè)務(wù)請求后,可以生成與所述業(yè)務(wù)請求對應(yīng)的任務(wù)。舉例來說,假設(shè)所述業(yè)務(wù)請求為投保請求,則服務(wù)器可以生成對應(yīng)的投保任務(wù),所述投保任務(wù)中包括有處理所述投保請求的業(yè)務(wù)信息,比如:投保人信息、險(xiǎn)種、投保金額、投保途徑等。
步驟102,在將所述任務(wù)保存至數(shù)據(jù)庫后,向所述業(yè)務(wù)請求的發(fā)起方返回業(yè)務(wù)處理成功的消息。
基于前述步驟101,服務(wù)器在生成所述任務(wù)后,可以將所述任務(wù)保存至數(shù)據(jù)庫,并在保存成功后向業(yè)務(wù)請求的發(fā)起方返回業(yè)務(wù)處理成功的消息。業(yè)務(wù)請求的發(fā)起方在接收到所述業(yè)務(wù)處理成功的消息后,可以向用戶展示業(yè)務(wù)處理成功的提示。
舉例來說,當(dāng)業(yè)務(wù)請求的發(fā)起方為客戶端時(shí),客戶端可以展示業(yè)務(wù)處理成功的頁面給用戶。當(dāng)業(yè)務(wù)請求的發(fā)起方為其他業(yè)務(wù)平臺時(shí),該其他業(yè)務(wù)平臺可以在接收到業(yè)務(wù)處理成功的消息后,將該業(yè)務(wù)處理成功的消息返回給其客戶端,并由該客戶端展示業(yè)務(wù)處理成功的頁面給用戶。當(dāng)然,在實(shí)際實(shí)現(xiàn)中,所述其他業(yè)務(wù)平臺依據(jù)其處理機(jī)制,在接收到所述業(yè)務(wù)處理成功的消息后,還可能會執(zhí)行記錄等其他相關(guān)操作,本申請對此不作特殊限制。
步驟103,執(zhí)行所述數(shù)據(jù)庫中保存的任務(wù)。
在本實(shí)施例中,用于分配任務(wù)的分配設(shè)備可以將數(shù)據(jù)庫中保存的任務(wù)分配給業(yè)務(wù)平臺中的各臺服務(wù)器,各服務(wù)器可以依據(jù)預(yù)設(shè)的第一周期,執(zhí)行數(shù)據(jù)庫中分配給本設(shè)備的任務(wù),以實(shí)現(xiàn)“真正的”業(yè)務(wù)處理成功。
由以上描述可以看出,本申請服務(wù)器在將業(yè)務(wù)請求對應(yīng)的任務(wù)保存至數(shù)據(jù)庫后,就可以向業(yè)務(wù)請求的發(fā)起方返回業(yè)務(wù)處理成功的消息,大大減輕了服務(wù)器的處理壓力。對于業(yè)務(wù)請求方而言,可以實(shí)現(xiàn)業(yè)務(wù)處理的快速響應(yīng),提升用戶的使用體驗(yàn)。同時(shí),服務(wù)器通過執(zhí)行數(shù)據(jù)庫中保存的任務(wù),可以確保業(yè)務(wù)能夠成功處理,可靠性高。
圖2是本申請一示例性實(shí)施例示出的一種執(zhí)行數(shù)據(jù)庫中保存的任務(wù)的流程圖。
請參考圖2,服務(wù)器執(zhí)行數(shù)據(jù)庫中保存的任務(wù)可以包括以下步驟:
步驟201,接收分配設(shè)備發(fā)送的任務(wù)分配通知,所述任務(wù)分配通知中指定有分配給本設(shè)備的待執(zhí)行任務(wù)。
在本實(shí)施例中,所述分配設(shè)備可以為業(yè)務(wù)平臺中的任一服務(wù)器,所述分配設(shè)備還可以為獨(dú)立于所述業(yè)務(wù)平臺的服務(wù)器,本申請對此不作特殊限制。可選的,為提高分配設(shè)備的可靠性,可以將獨(dú)立于業(yè)務(wù)平臺的某臺服務(wù)器設(shè)置為分配設(shè)備。
在本實(shí)施例中,所述分配設(shè)備可以根據(jù)預(yù)設(shè)的第二周期將數(shù)據(jù)庫中保存的任務(wù)分配給業(yè)務(wù)平臺的各服務(wù)器。其中,所述第二周期可以由管理人員進(jìn)行設(shè)置,比如:5分鐘、10分鐘等。在到達(dá)所述第二周期時(shí),分配設(shè)備可以訪問數(shù)據(jù)庫,確定當(dāng)前保存在數(shù)據(jù)庫中的任務(wù)的數(shù)量,然后基于負(fù)載均衡策略將保存的任務(wù)分配給業(yè)務(wù)平臺的各臺服務(wù)器,分配給每臺服務(wù)器的待執(zhí)行任務(wù)的數(shù)量少于數(shù)據(jù)庫中保存的任務(wù)總數(shù)量。舉例來說,假設(shè)業(yè)務(wù)平臺設(shè)置有10臺服務(wù)器,而數(shù)據(jù)庫中保存有十萬個(gè)任務(wù),則分配設(shè)備可以為每臺服務(wù)器分配一萬個(gè)任務(wù)。
較為簡單的,在到達(dá)所述第二周期時(shí),分配設(shè)備可以確定數(shù)據(jù)庫中用于保存任務(wù)的數(shù)據(jù)庫分表的數(shù)量,然后以數(shù)據(jù)庫分表為單位將數(shù)據(jù)庫中保存的任務(wù)分配給各個(gè)服務(wù)器。舉例來說,仍假設(shè)業(yè)務(wù)平臺設(shè)置有10臺服務(wù)器,而數(shù)據(jù)庫中用于保存任務(wù)的數(shù)據(jù)庫分別一共有100張,則分配設(shè)備可以為每臺服務(wù)器分配10張數(shù)據(jù)庫分表。比如:針對服務(wù)器1,分配設(shè)備可以發(fā)送攜帶數(shù)據(jù)庫分表1至數(shù)據(jù)庫分表10這10張數(shù)據(jù)庫分表標(biāo)識的任務(wù)分配通知給所述服務(wù)器1,這10張數(shù)據(jù)庫分表中保存的任務(wù)就是分配給服務(wù)器1的待執(zhí)行任務(wù)。
步驟202,執(zhí)行數(shù)據(jù)庫中分配給本設(shè)備的待執(zhí)行任務(wù)。
基于前述步驟201,服務(wù)器在接收到分配設(shè)備發(fā)送的任務(wù)分配通知后,可以根據(jù)預(yù)設(shè)的第一周期執(zhí)行分配給本設(shè)備的待執(zhí)行任務(wù)。其中,所述第一周期可以由管理人員進(jìn)行設(shè)置,所述第一周期小于所述第二周期,比如:管理人員可以將所述第一周期設(shè)置為60秒、120秒等,本申請對此不作特殊限制。
在本實(shí)施例中,以分配設(shè)備以數(shù)據(jù)庫分表為單位將數(shù)據(jù)庫中保存的任務(wù)分配給各個(gè)服務(wù)器為例,服務(wù)器在接收到所述任務(wù)分配通知后,可以根據(jù)所述第一周期遍歷數(shù)據(jù)庫中分配給本設(shè)備的數(shù)據(jù)庫分表,執(zhí)行數(shù)據(jù)庫分表中保存的任務(wù)。
在本實(shí)施例中,數(shù)據(jù)庫分表中保存的各任務(wù)分別對應(yīng)有狀態(tài)標(biāo)志位,當(dāng)服務(wù)器將新生成的任務(wù)保存在數(shù)據(jù)庫中后,該新生成的任務(wù)的狀態(tài)標(biāo)志位為空。服務(wù)器在某個(gè)任務(wù)執(zhí)行成功時(shí),可以將所述任務(wù)的狀態(tài)標(biāo)記為執(zhí)行成功,比如:可以將狀態(tài)標(biāo)志位置為1。當(dāng)所述任務(wù)執(zhí)行失敗時(shí),可以將所述任務(wù)的狀態(tài)標(biāo)記為執(zhí)行失敗,比如:可以將其狀態(tài)標(biāo)志位置為0。在本步驟中,在到達(dá)所述第一周期時(shí),針對分配給本設(shè)備的數(shù)據(jù)庫分表,服務(wù)器可以執(zhí)行該數(shù)據(jù)庫分表中狀態(tài)為空或執(zhí)行失敗的任務(wù),并在執(zhí)行后,根據(jù)執(zhí)行結(jié)果更新所述任務(wù)的狀態(tài)。
在本實(shí)施例中,服務(wù)器可以在數(shù)據(jù)庫中記錄各任務(wù)的執(zhí)行日志,當(dāng)確定某個(gè)任務(wù)執(zhí)行失敗的次數(shù)到達(dá)預(yù)設(shè)的次數(shù)時(shí),可以為該任務(wù)標(biāo)記推遲時(shí)長。其中,所述推遲時(shí)長可以由管理人員進(jìn)行設(shè)置,用于表示暫停執(zhí)行對應(yīng)任務(wù)的時(shí)長。具體地,當(dāng)某任務(wù)執(zhí)行失敗的次數(shù)到達(dá)預(yù)設(shè)的次數(shù)時(shí),為避免執(zhí)行該任務(wù)耗費(fèi)較長的時(shí)間,可以為該任務(wù)設(shè)置推遲時(shí)長,在到達(dá)所述推遲時(shí)長之前,暫時(shí)無需重新執(zhí)行該任務(wù)。
舉例來說,假設(shè)預(yù)設(shè)的次數(shù)為3次,針對數(shù)據(jù)庫中保存的任務(wù)1,假設(shè)該任務(wù)被分配給服務(wù)器1,服務(wù)器1連續(xù)3個(gè)第一周期執(zhí)行該任務(wù)均執(zhí)行失敗,則服務(wù)器1可以為任務(wù)1標(biāo)記推遲時(shí)長10分鐘,從確定第三次執(zhí)行失敗的時(shí)刻開始,10分鐘內(nèi)不再執(zhí)行該任務(wù)1。值得注意的是,在上述推遲時(shí)長內(nèi),任務(wù)1可能會在下一個(gè)第二周期時(shí),被分配設(shè)備分配給其他服務(wù)器,比如:分配給服務(wù)器2,則服務(wù)器2在輪詢分配給其的數(shù)據(jù)庫分表時(shí),針對標(biāo)記有推遲時(shí)長的任務(wù)1,先確認(rèn)當(dāng)前時(shí)間距離任務(wù)1第三次執(zhí)行失敗的時(shí)長是否到達(dá)10分鐘,如果尚未到達(dá)10分鐘,則仍無需重新執(zhí)行該任務(wù),如果已到達(dá)10分鐘,則可以重新執(zhí)行該任務(wù)。
由以上描述可以看出,分配設(shè)備可以根據(jù)預(yù)設(shè)的時(shí)間周期將數(shù)據(jù)庫中保存的任務(wù)分配給業(yè)務(wù)平臺的各服務(wù)器,由各服務(wù)器執(zhí)行尚未執(zhí)行或執(zhí)行失敗的任務(wù),以確保數(shù)據(jù)庫中保存的任務(wù)最終能夠執(zhí)行成功,以此確保業(yè)務(wù)平臺業(yè)務(wù)處理的可靠性。
下面結(jié)合具體的應(yīng)用場景來描述本申請的實(shí)現(xiàn)過程。
以理財(cái)產(chǎn)品“招財(cái)寶”的變現(xiàn)為例,當(dāng)“招財(cái)寶”的用戶變現(xiàn)后,“招財(cái)寶”平臺會立即為用戶投一份保險(xiǎn),而用戶變現(xiàn)通常在固定的時(shí)間點(diǎn)集中進(jìn)行,從而導(dǎo)致保險(xiǎn)平臺的瞬時(shí)TPS高,影響投保業(yè)務(wù)的可靠性。
請參考圖3所示的業(yè)務(wù)場景組網(wǎng)圖,“招財(cái)寶”平臺通常為“招財(cái)寶”服務(wù)提供商部署的服務(wù)器集群,在圖3中以一臺服務(wù)器作為示例。保險(xiǎn)平臺是與“招財(cái)寶”平臺對接的,用于處理投保業(yè)務(wù)的服務(wù)器集群,保險(xiǎn)平臺中通常部署有多臺服務(wù)器。分配設(shè)備是與保險(xiǎn)平臺獨(dú)立的一臺或多臺服務(wù)器,圖3也以一臺服務(wù)器作為示例。
在本實(shí)施例中,當(dāng)“招財(cái)寶”平臺接收到用戶發(fā)送的變現(xiàn)請求后,會向保險(xiǎn)平臺發(fā)送面向該用戶的投保請求,保險(xiǎn)平臺的某臺服務(wù)器在接收到投保請求后,可以根據(jù)該投保請求生成對應(yīng)的投保任務(wù),并在將所述投保任務(wù)保存在數(shù)據(jù)庫后,即可向“招財(cái)寶”平臺返回投保成功的消息,“招財(cái)寶”客戶端就可以展示投保成功的頁面給用戶。當(dāng)大量用戶在固定的時(shí)間點(diǎn)集中變現(xiàn)時(shí),保險(xiǎn)平臺的服務(wù)器接收到大量的投保請求,由于無需對投保請求對應(yīng)的投保任務(wù)進(jìn)行處理,大大減輕了服務(wù)器的處理壓力,此外服務(wù)器在保存投保任務(wù)后就可以向“招財(cái)寶”平臺返回投保成功的消息,對于“招財(cái)寶”平臺而言,實(shí)現(xiàn)了快速響應(yīng),提升了用戶的使用體驗(yàn)。
在本實(shí)施例中,分配設(shè)備可以根據(jù)5分鐘的時(shí)間周期將數(shù)據(jù)庫中保存的投保任務(wù)分配給保險(xiǎn)平臺的各臺服務(wù)器,確保各臺服務(wù)器的處理壓力相對均衡。各臺服務(wù)器在接收到任務(wù)分配通知后,可以根據(jù)60秒的時(shí)間周期輪詢分配給本設(shè)備的任務(wù),執(zhí)行尚未執(zhí)行的投保任務(wù),以及重新執(zhí)行曾執(zhí)行失敗的投保任務(wù),以確保各投保任務(wù)能夠最終執(zhí)行成功,從而實(shí)現(xiàn)保險(xiǎn)平臺的高性能、高可靠性。
與前述業(yè)務(wù)處理方法的實(shí)施例相對應(yīng),本申請還提供了業(yè)務(wù)處理裝置的實(shí)施例。
本申請業(yè)務(wù)處理裝置的實(shí)施例可以應(yīng)用在業(yè)務(wù)平臺的服務(wù)器上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過其所在服務(wù)器的處理器將非易失性存儲器中對應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖4所示,為本申請業(yè)務(wù)處理裝置所在服務(wù)器的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲器之外,實(shí)施例中裝置所在的服務(wù)器通常根據(jù)該服務(wù)器的實(shí)際功能,還可以包括其他硬件,對此不再贅述。
圖5是本申請一示例性實(shí)施例示出的一種業(yè)務(wù)處理裝置的框圖。
請參考圖5,所述業(yè)務(wù)處理裝置400可以應(yīng)用在前述圖4所示的服務(wù)器中,包括有:任務(wù)生成單元401、任務(wù)保存單元402、任務(wù)執(zhí)行單元403、通知接收單元404、狀態(tài)標(biāo)記單元405以及推遲標(biāo)記單元406。
其中,任務(wù)生成單元401,在接收到業(yè)務(wù)請求后,生成與所述業(yè)務(wù)請求對應(yīng)的任務(wù);
任務(wù)保存單元402,在將所述任務(wù)保存至數(shù)據(jù)庫后,向所述業(yè)務(wù)請求的發(fā)起方返回業(yè)務(wù)處理成功的消息;
任務(wù)執(zhí)行單元403,執(zhí)行所述數(shù)據(jù)庫中保存的任務(wù)。
通知接收單元404,接收分配設(shè)備發(fā)送的任務(wù)分配通知,所述任務(wù)分配通知中指定有分配給本設(shè)備的待執(zhí)行任務(wù),所述待執(zhí)行任務(wù)的數(shù)量少于數(shù)據(jù)庫中保存的任務(wù)總數(shù)量;
所述任務(wù)執(zhí)行單元403,具體執(zhí)行數(shù)據(jù)庫中分配給本設(shè)備的待執(zhí)行任務(wù)。
狀態(tài)標(biāo)記單元405,當(dāng)所述任務(wù)執(zhí)行成功時(shí),將所述任務(wù)的狀態(tài)標(biāo)記為執(zhí)行成功,當(dāng)所述任務(wù)執(zhí)行失敗時(shí),將所述任務(wù)的狀態(tài)標(biāo)記為執(zhí)行失??;
所述任務(wù)執(zhí)行單元403,根據(jù)預(yù)設(shè)的第一周期,執(zhí)行所述待執(zhí)行任務(wù)中狀態(tài)為空或執(zhí)行失敗的任務(wù)。
推遲標(biāo)記單元406,當(dāng)所述任務(wù)執(zhí)行失敗的次數(shù)到達(dá)預(yù)設(shè)的次數(shù)時(shí),為所述任務(wù)標(biāo)記推遲時(shí)長;
所述任務(wù)執(zhí)行單元403,針對標(biāo)記有推遲時(shí)長的失敗任務(wù),當(dāng)?shù)竭_(dá)所述推遲時(shí)長時(shí),重新執(zhí)行所述失敗任務(wù)。
可選的,所述任務(wù)分配通知由所述分配設(shè)備基于預(yù)設(shè)的第二周期發(fā)送,所述第二周期大于所述第一周期;
所述任務(wù)分配通知中攜帶分配給對應(yīng)服務(wù)器的待執(zhí)行任務(wù)所屬的數(shù)據(jù)庫分表的標(biāo)識。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
以上所述僅為本申請的較佳實(shí)施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。