本申請涉及計算機技術領域,尤其涉及一種投保流程生成方法及其裝置、以及投保請求處理方法及其裝置。
背景技術:
隨著互聯網技術的發展,與傳統保險公司對接而建成的網上保險平臺(又可稱為第三方網絡保險平臺)也應運而生。網上保險平臺因其高效便捷等諸多優勢,得到了廣泛應用。
為了滿足用戶的多種個性化需求,網上保險平臺需要支持多種不同的保險產品所對應的業務類型,例如,個人險、企業險、車險、保險卡、續期續保等等。并且,新型保險產品的推出也要求網上保險平臺能夠支持更多的業務類型,例如,贈險、半贈險等等。
在現有技術中,為滿足不同類型保險產品的投保流程的需要,通常通過產品編號或者類型標識來區分不同的業務類型,各個業務類型由其各自的投保流程分支來處理,且各業務類型的投保流程往往采用垂直的體系結構進行編碼,可形象的稱之為煙囪式架構。這種架構的主要缺陷在于:
在煙囪式架構中,當需要在業務類型的原投保流程的基礎上進行更新或添加不同分支時,只能通過硬編碼的方式將新增的業務邏輯往“煙囪”里疊加,因此,這種架構的可擴展性較差。并且,由于整個投保流程中可能涉及到散落在流程中的多個不同業務邏輯的判斷,因此,在新增業務邏輯時也容易引起程序漏洞并可能導致整體測試回歸的工作量增加一倍以上,可維護性較差。
技術實現要素:
本申請實施例提供投保流程生成方法及裝置,旨在優化投保流程的生成過程,提高投保流程的可擴展性和可維護性。
本申請實施例還提供投保請求處理方法及裝置,旨在優化投保請求的處理過程,提高投保請求處理過程的可擴展性和可維護性。
本申請實施例采用下述技術方案:
第一方面,本申請實施例提供一種投保流程生成方法,包括:
獲取投保業務的業務信息;
依據所述業務信息和投保組件庫,確定所述投保組件庫中與所述投保業務相對應的投保組件及所述投保組件的執行順序;所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
依據所述投保組件及其執行順序,生成用于處理所述投保業務的投保流程;其中,所述投保流程按照所述執行順序執行所述投保組件。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,所述投保組件中包括請求參數信息和/或處理結果信息,則依據所述投保組件及其執行順序,生成用于處理所述投保業務的投保流程時,包括:
在所述投保流程中預設上下文類;
將所述投保組件中的請求參數信息和/或處理結果信息與所述上下文類建立關聯關系,用于在執行所述投保流程時在各投保組件間傳遞所述請求參數信息和/或處理結果信息;
依據所述投保組件及其執行順序,生成按照所述執行順序執行所述投保組件的投保流程。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,所述投保組件中包括依賴屬性,所述依賴屬性包括強依賴,
則依據所述投保組件及其執行順序生成的投保流程中,包括:
當依賴屬性為強依賴的投保組件執行失敗或異常時,所述投保流程中止,且返回投保流程執行失敗或執行異常的處理結果。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,所述依賴屬性還包括弱依賴,則依據所述投保組件及其執行順序生成的投保流程中,還包括:
當依賴屬性為弱依賴的投保組件執行失敗或異常時,所述投保流程按照所述執行順序繼續執行下一個投保組件。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,依據所述業務信息和投保組件庫,確定所述投保組件庫中與所述投保業務相對應的投保組件及所述投保組件的執行順序,包括:
依據所述業務信息和投保組件庫,確定所述投保組件庫中實現所述投保業務的業務邏輯所需的投保組件;
依據所述投保組件之間的依賴關系,確定所述投保組件的執行順序。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,所述投保組件庫中包括以下一個或多個投保組件:
前置檢查組件、用戶獲取組件、產品獲取組件、白名單組件、詢價組件、保期處理組件、險種處理組件、價格處理組件、優惠券處理組件、擴展處理組件、營銷組件、收益人組件、被保人組件、付款人組件、標的組件、投保調用組件。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,在依據所述投保組件及其執行順序,生成用于處理所述投保業務的投保流程之后,所述方法還包括:
獲取投保請求,所述投保請求中包括請求投保的投保業務的業務信息;
依據所述業務信息,確定用于處理所述投保業務的投保流程;
采用所述投保流程處理所述投保請求中請求投保的投保業務。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,所述投保組件中包括請求參數信息和/或處理結果信息,所述投保流程中預設有上下文類,
則采用所述投保流程處理所述投保請求中請求投保的投保業務,包括:
依據所述投保請求,初始化所述投保流程中的上下文信息;
按照所述投保流程中的執行順序執行所述投保組件,并將所述投保組件的請求參數信息和/或處理結果信息寫入所述上下文信息,以便在各所述投保組件間傳遞。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,在依據所述業務信息和投保組件庫,確定所述投保組件庫中與所述投保業務相對應的投保組件及所述投保組件的執行順序之前,所述方法還包括:
構建所述投保組件庫;其中,所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯。
優選地,本申請實施例提供的第一方面的投保流程生產方法中,構建所述投保組件庫,包括:
按照預設粒度拆分所述投保業務的業務邏輯,確定多個子業務邏輯;
生成用于實現所述子業務邏輯的投保組件;
存儲所述投保組件,構成所述投保組件庫。
第二方面,本申請實施例提供一種投保請求處理方法,包括:
獲取投保請求,所述投保請求中包括請求投保的投保業務的業務信息;
依據所述業務信息,確定用于處理所述投保業務的投保流程;其中,所述投保流程中包括按照執行順序執行的投保組件,所述投保組件及其執行順序依據投保業務的業務信息和投保組件庫確定,所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
采用所述投保流程處理所述投保請求中請求投保的投保業務。
優選地,本申請實施例提供的第二方面的投保請求處理方法中,所述投保組件中包括請求參數信息和/或處理結果信息,所述投保流程中預設有上下文類,
則采用所述投保流程處理所述投保請求中請求投保的投保業務,包括:
依據所述投保請求,初始化所述投保流程中的上下文信息;
按照所述投保流程中的執行順序執行所述投保組件,并將所述投保組件的請求參數信息和/或處理結果信息寫入所述上下文信息,以便在各所述投保組件間傳遞。
優選地,本申請實施例提供的第二方面的投保請求處理方法中,所述投保請求中還包括請求投保的投保數據,則依據所述投保請求,初始化所述投保流程中的上下文信息,包括:
將所述投保請求中的所述投保數據寫入所述上下文信息,用于在所述投保流程中的各投保組件之間傳遞。
優選地,本申請實施例提供的第二方面的投保請求處理方法中,所述投保組件中包括依賴屬性,所述依賴屬性包括強依賴,則采用所述投保流程處理所述投保請求中請求投保的投保業務,包括:
當所述投保流程中依賴屬性為強依賴的投保組件執行失敗或異常時,所述投保流程中止,且返回投保流程執行失敗或執行異常的處理結果。
優選地,本申請實施例提供的第二方面的投保請求處理方法中,所述依賴屬性還包括弱依賴,則采用所述投保流程處理所述投保請求中請求投保的投保業務,還包括:
當所述投保流程中依賴屬性為弱依賴的投保組件執行失敗或異常時,所述投保流程按照所述執行順序繼續執行下一個投保組件。
第三方面,本申請實施例提供一種投保流程生成裝置,包括:
業務信息獲取模塊,獲取投保業務的業務信息;
投保組件確定模塊,依據所述業務信息和投保組件庫,確定所述投保組件庫中與所述投保業務相對應的投保組件及所述投保組件的執行順序;所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
投保流程生成模塊,依據所述投保組件及其執行順序,生成用于處理所述投保業務的投保流程;其中,所述投保流程按照所述執行順序執行所述投保組件。
第四方面,本申請實施例提供一種電子設備,包括:
處理器;以及
被安排成存儲計算機可執行指令的存儲器,所述可執行指令在被執行時使所述處理器執行以下操作:
獲取投保業務的業務信息;
依據所述業務信息和投保組件庫,確定所述投保組件庫中與所述投保業務相對應的投保組件及所述投保組件的執行順序;所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
依據所述投保組件及其執行順序,生成用于處理所述投保業務的投保流程;其中,所述投保流程按照所述執行順序執行所述投保組件。
第五方面,本申請實施例提供一種投保請求處理裝置,包括:
投保請求獲取模塊,獲取投保請求,所述投保請求中包括請求投保的投保業務的業務信息;
投保流程確定模塊,依據所述業務信息,確定用于處理所述投保業務的投保流程;其中,所述投保流程中包括按照執行順序執行的投保組件,所述投保組件及其執行順序依據投保業務的業務信息和投保組件庫確定,所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
投保請求處理模塊,采用所述投保流程處理所述投保請求中請求投保的投保業務。
第六方面,本申請實施例提供一種電子設備,包括:
處理器;以及
被安排成存儲計算機可執行指令的存儲器,所述可執行指令在被執行時使所述處理器執行以下操作:
獲取投保請求,所述投保請求中包括請求投保的投保業務的業務信息;
依據所述業務信息,確定用于處理所述投保業務的投保流程;其中,所述投保流程中包括按照執行順序執行的投保組件,所述投保組件及其執行順序依據投保業務的業務信息和投保組件庫確定,所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
采用所述投保流程處理所述投保請求中請求投保的投保業務。
第七方面,本申請實施例提供一種投保請求處理方法,包括:
獲取投保請求,所述投保請求中包括請求投保的投保業務的業務信息;
依據所述業務信息和投保組件庫,確定所述投保組件庫中與所述投保業務相對應的投保組件及所述投保組件的執行順序;所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
依據所述投保組件及其執行順序,生成用于處理所述投保業務的投保流程;其中,所述投保流程按照所述執行順序執行所述投保組件;
采用所述投保流程處理所述投保請求中請求投保的投保業務。
本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:
本申請給出的實施例在生成投保流程時,根據投保業務的業務信息,從預先設計的投保組件庫中確定出與投保業務相對應的投保組件以及這些投保組件的執行順序,進而可以在此基礎上生成按照這一執行順序執行投保組件的投保流程。采用本申請實施例的技術方案,當需要增加新的投保業務時,由于投保組件能夠實現投保業務中的業務邏輯,因此,可以依據新的投保業務所需要的業務邏輯在投保組件庫中選取適當的投保組件,并可以按照新的投保業務的業務邏輯關系確定投保組件之間的執行順序,即可生成新的投保業務所對應的投保流程。采用本申請實施例的技術方案,當需要在原有投保業務的基礎上進行更新或添加不同分支時,只需根據新的投保業務的需要,既可以在投保組件庫中修改原有的投保組件,也可以添加新的投保組件,既可以從投保組件庫中選取新的投保組件,也可以調整投保組件間的執行順序,從而構成與新的投保業務相適應的新的投保流程。因此,本申請實施例提供的投保流程具有更好的可擴展性和可維護性,從而可以快速的支持和滿足新的業務需求。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
圖1為本申請實施例中一種投保流程生成方法的流程示意圖;
圖2為本申請實施例中第二種投保流程生成方法的流程示意圖;
圖3為本申請一個實施例中的類圖示意圖;
圖4為本申請實施例中一種投保請求處理方法的流程示意圖;
圖5為本申請實施例中一種投保流程生成裝置的結構示意圖;
圖6為本申請實施例中一種電子設備的結構示意圖;
圖7為本申請實施例中一種投保請求處理裝置的結構示意圖;
圖8為本申請實施例中另一種電子設備的結構示意圖。
具體實施方式
為使本申請的目的、技術方案和優點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
以下結合附圖,詳細說明本申請各實施例提供的技術方案。
參見圖1所示,本申請實施例提供了一種投保流程生成方法,包括:
s101:獲取投保業務的業務信息;
s102:依據業務信息和投保組件庫,確定投保組件庫中與投保業務相對應的投保組件及投保組件的執行順序;投保組件庫中存儲有預設的至少一個投保組件,投保組件用于實現投保業務中的業務邏輯;
s103:依據投保組件及其執行順序,生成用于處理投保業務的投保流程;其中,投保流程按照執行順序執行投保組件。
采用圖1示例的方法生成投保流程時,可以根據投保業務的業務信息,從預先設計的投保組件庫中確定出與投保業務相對應的投保組件以及這些投保組件的執行順序,進而可以在此基礎上生成按照這一執行順序執行投保組件的投保流程。
采用上述實施例生成投保流程,當需要增加新的投保業務時,由于投保組件能夠實現投保業務中的業務邏輯,因此,可以依據新的投保業務所需要的業務邏輯在投保組件庫中選取適當的投保組件,并可以按照新的投保業務的業務邏輯關系確定投保組件之間的執行順序,即可生成新的投保業務所對應的投保流程。除此之外,當需要在原有投保業務的基礎上進行更新或添加不同分支時,只需根據新的投保業務的需要,既可以在投保組件庫中修改原有的投保組件,也可以添加新的投保組件,既可以從投保組件庫中選取新的投保組件,也可以調整投保組件間的執行順序,從而構成與新的投保業務相適應的新的投保流程。因此,上述實施例提供的投保流程具有更好的可擴展性和可維護性,從而可以快速的支持和滿足新的業務需求。
由于本申請實施例的實施依賴于投保組件庫中預設的投保組件,因此,在執行步驟s102時,既可以調用或加載已經構建好的投保組件庫,也可以在執行步驟s102之前,執行步驟s100構建投保組件庫,參見圖2所示。顯然,在執行步驟s101之前執行步驟s100進行投保組件庫的構建也是可行的。
執行步驟s100構建的投保組件庫中,存儲有預設的至少一個投保組件,這些投保組件用于實現投保業務中的業務邏輯,并且通常是投保業務中的部分業務邏輯。更具體地,步驟s100構建投保組件庫,可以包括以下過程:
按照預設粒度拆分投保業務的業務邏輯,確定多個子業務邏輯;
生成用于實現子業務邏輯的投保組件;
存儲投保組件,構成投保組件庫。
換言之,在構建投保組件庫時,可以先預設對業務邏輯的拆分粒度。本申請中所稱的拆分粒度,可以理解為對投保業務的業務邏輯進行拆分所希望達到的拆分程度。
例如,用戶的類型分為個人用戶和企業用戶,則可以按照用戶類型進行拆分,將投保業務的業務邏輯拆分為針對個人用戶的第一子業務邏輯和針對企業用戶的第二子業務邏輯,進而分別生成用于實現第一子業務邏輯的個人投保組件和用于實現第二子業務邏輯的企業投保組件。可以理解到,以上舉例的這種程度的拆分,拆分粒度較大,且個人投保組件中的第一子業務邏輯與企業投保組件中的第二子業務邏輯的具體實現過程可能存在相同的環節。例如,都需要先獲取投保用戶選擇/輸入的信息(可能包括用戶自身的信息,所選保險產品的信息、所選保險機構的信息等),再為用戶展示險種、價格、詢價等供用戶選擇,然后提示用戶填寫投保人和被保險人的信息等等。此時,第一子業務邏輯與第二子業務邏輯的區別可能僅僅在于針對個人用戶和針對企業用戶的信息格式、價格體系、價格的處理方式、優惠等營銷策略等方面的不同。
又例如,在網上保險平臺進行的一般投保業務的業務邏輯往往包括以下環節:閱讀險種條款及有關說明、選擇并進行保費試算、填寫投保人及被保險人信息、在線支付、網上投保成功反饋等步驟。因此,也可以按照各環節的執行順序進行業務邏輯的拆分,將能夠實現某一具體子功能的邏輯單元確定為一個子業務邏輯。可以理解到,以上舉例的這種程度的拆分,拆分粒度較小,每一投保組件所能實現的子業務邏輯是投保業務整體業務邏輯中的一部分。
在實施本申請實施例時,優選將整個投保業務的實施過程進行組件化拆分和抽象,將確定出的投保組件分為通用組件和專用組件。通用組件只處理在各類投保業務中相對穩定通用的業務邏輯,例如,被保人組件等;專用組件用來處理某類投保業務專用的邏輯,例如,企業保險詢價組件等。
以圖3所示的類圖為例,在投保組件庫中存儲有多個投保組件,包括前置檢查組件、用戶獲取組件、產品獲取組件、白名單組件、詢價組件、保期處理組件、險種處理組件、價格處理組件、優惠券處理組件、擴展處理組件、營銷組件、收益人組件、被保人組件、付款人組件、標的組件和投保調用組件等。其中,類似前置檢查組件、用戶獲取組件等在各類投保業務中均需要用到的投保組件,可以理解為通用組件;類似優惠券處理組件等僅在涉及到優惠券的投保業務中才會用到的投保組件,可以理解為專用組件。
更具體地說,本申請實施例定義了通用的組件接口(如圖3中所示的“component”接口)和投保流程的處理器接口(如圖3中所示的“handler”接口)。投保組件僅執行投保組件的子業務邏輯所實現的功能,投保流程的處理器(此處可將投保流程抽象為執行這一流程的處理器)僅執行該投保流程所包含的投保組件按照執行順序運行所實現的功能。
本申請實施例中除定義抽象的投保組件外,還定義了投保組件的接口,并擴展出了參數檢查和業務檢查的方法,從而可以在每一個投保組件內部進行邏輯檢查,且根據投保組件內部業務邏輯的不同而不同。
在實施圖1所示的實施例時,從已經預設好的投保組件(這些投保組件存儲在投保組件庫中)中選取與投保業務的業務信息相對應的投保組件,用以實現投保業務的業務邏輯。可以理解到,投保組件庫中存儲的投保組件能夠實現投保業務中的部分或者全部業務邏輯,因此,執行步驟s102將確定出至少一個投保組件以實現投保業務的業務邏輯。
基于以上抽象出的投保組件庫及存儲在投保組件庫中的獨立的投保組件,執行步驟s102依據業務信息和投保組件庫,確定投保組件庫中與投保業務相對應的投保組件及投保組件的執行順序時,可具體包括:
依據業務信息和投保組件庫,確定投保組件庫中實現投保業務的業務邏輯所需的投保組件;
依據投保組件之間的依賴關系,確定投保組件的執行順序。
需要說明的是,投保業務的業務信息,可以是投保業務的類型標識信息、保險產品的編號信息等,這種業務信息能夠反映投保業務所需的業務邏輯,從而能夠依據業務信息從投保組件庫中確定出實現投保業務的業務邏輯所需的投保組件。在此基礎上,為實現投保組件之間的銜接和投保流程的連貫執行,還需要根據各類投保業務的整體業務邏輯的需求對選取出的投保組件進行編排,也就是確定這些投保組件的執行順序。在本申請實施例中,可以依據投保組件之間的依賴關系,將投保組件進行鏈式編排。更進一步地,投保組件間的通訊可以通過上下文來實現,從而可以快速的生成新的投保流程,支持和滿足新的業務需求。
在具體實現時,投保組件中可能包括請求參數信息和/或處理結果信息,則在執行步驟s103依據投保組件及其執行順序,生成用于處理投保業務的投保流程時,可包括:
在投保流程中預設上下文類,本申請預設的上下文類用于在構成投保流程的各個投保組件之間傳遞請求參數信息和/或處理結果信息;
將投保組件中的請求參數信息和/或處理結果信息與上下文類建立關聯關系,從而在執行投保流程時,可以將每個投保組件的請求參數信息和/或處理結果信息寫入上下文中,以便在各投保組件間進行傳遞;
依據投保組件及其執行順序,生成按照執行順序執行投保組件的投保流程。
更具體地,可以在確定投保流程中所包含的投保組件及各投保組件間的執行順序之后,生成一組件列表(例如圖3示例類圖中insurehandler里面的components,即為組件列表list),將投保流程所包含的投保組件按照其執行順序列入該組件列表中,則在執行這一投保流程時按照組件列表中的順序執行投保組件即可。在圖3示例的類圖中,通過對投保組件庫中投保組件的選取及其執行順序的確定,抽象出了三類處理器用于分別處理三類不同類型的投保業務,如圖3中所示的保險卡投保處理器、贈險投保處理器和個險投保處理器。
在本申請實施例中所稱的投保組件中,還可以包括依賴屬性,依賴屬性包括強依賴,則依據投保組件及其執行順序生成的投保流程中,包括:
當依賴屬性為強依賴的投保組件執行失敗或異常時,投保流程中止,且返回投保流程執行失敗或執行異常的處理結果。
進一步地,依賴屬性還可包括弱依賴,則依據投保組件及其執行順序生成的投保流程中,還包括:
當依賴屬性為弱依賴的投保組件執行失敗或異常時,投保流程按照執行順序繼續執行下一個投保組件。
采用本申請實施例提供的方法,假設個人保險投保業務的投保流程處理器中包含用戶獲取組件、產品獲取組件、機構獲取組件、白名單組件、詢價組件、保期處理組件、險種處理組件、價格處理組件、營銷組件、投保人組件、被保人組件、標的組件等投保組件。在用戶請求投保時根據用戶選擇的產品類型,可使用該投保流程處理器處理用戶提出的個人保險投保業務。而對于企業保險投保業務而言,其投保流程與個人保險投保業務大體一樣,則只需將個人保險投保業務的投保流程處理器中的部分投保組件,例如詢價組件、價格處理組件等,替換為適用于企業保險投保業務的投保組件,即可生成新的適用于企業保險投保業務的投保流程。
因此,在采用本申請實施例的方法生成投保流程時,利用本申請中所稱的投保組件和投保組件庫,能夠通過對投保組件和投保組件庫的更新、調整、修改、增刪實現新的子業務邏輯,還可以通過選取不同的投保組件和/或調整投保組件的執行順序快速的形成新的投保流程,克服了現有技術中煙囪式架構可擴展性差、可維護性差的缺陷,從而能夠快速的支持和滿足新的業務需求。
在采用本申請實施例給出的投保流程生成方法生成投保流程之后,可以直接調用已生成的投保流程(或者由投保流程抽象出的投保流程的處理器)對用戶提出的投保請求進行處理。
參見圖4所示,本申請實施例還提供了一種投保請求處理方法,該方法可以在生成投保流程的基礎上獨立進行,也可以在圖1所示投保流程生成方法之后延續進行。投保請求的處理過程具體可包括:
s201:獲取投保請求,投保請求中包括請求投保的投保業務的業務信息;
s202:依據業務信息,確定用于處理投保業務的投保流程;其中,投保流程中包括按照執行順序執行的投保組件,投保組件及其執行順序依據投保業務的業務信息和投保組件庫確定,投保組件庫中存儲有預設的至少一個投保組件,投保組件用于實現投保業務中的業務邏輯;
s203:采用投保流程處理投保請求中請求投保的投保業務。
在上述實施例中,步驟s201獲取的投保請求,通常由用戶提出,用于向網上保險平臺請求投保。因此,投保請求中包括請求投保的投保業務的業務信息。這里的業務信息,可以是保險產品的編號,也可以是投保業務的類型等方面的信息。
在本實施例中,在處理投保請求之前,網上保險平臺已經生成并保存了與投保業務相對應的投保流程,因此,可以執行步驟s202,依據業務信息確定出相對應的投保流程,進而采用投保流程處理投保請求中請求投保的投保業務即可。
在某些應用場景下,也可以在獲取到用戶的投保請求之后,根據用戶請求投保的投保業務進行投保組件的選取和編排,進而生成與用戶的請求相對應的投保流程。具體地可包括以下步驟:
獲取投保請求,所述投保請求中包括請求投保的投保業務的業務信息;
依據所述業務信息和投保組件庫,確定所述投保組件庫中與所述投保業務相對應的投保組件及所述投保組件的執行順序;所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
依據所述投保組件及其執行順序,生成用于處理所述投保業務的投保流程;其中,所述投保流程按照所述執行順序執行所述投保組件;
采用所述投保流程處理所述投保請求中請求投保的投保業務。
采用這種方式,網上保險平臺所提供的保險產品將更加靈活多變,更好地滿足投保用戶的個性化需求。
在圖4所示的投保請求處理方法中,投保組件中可包括請求參數信息和/或處理結果信息,相對應地,投保流程中將預設有上下文類,則執行步驟s203采用投保流程處理投保請求中請求投保的投保業務時,可具體包括:
依據投保請求,初始化投保流程中的上下文信息;
按照投保流程中的執行順序執行投保組件,并將投保組件的請求參數信息和/或處理結果信息寫入上下文信息,以便在各投保組件間傳遞。
在投保組件的執行過程中,部分組件的執行會有返回結果(即處理結果信息),則該組件執行完畢后,其處理結果信息可直接設置到上下文信息中,以便向其他投保組件傳遞。
在具體實現時,投保請求中還可包括請求投保的投保數據,則依據投保請求,初始化投保流程中的上下文信息,包括:
將投保請求中的投保數據寫入上下文信息,用于在投保流程中的各投保組件之間傳遞。
上述實施例中所進行的初始化,主要是將用戶請求的數據轉換成投保流程處理器能識別的上下文信息,以便投保組件在執行時使用。除此之外,初始化時寫入上下文信息的數據還可能包括服務器端的部分其他信息,例如,登錄的用戶id等信息。
更進一步地,投保組件中可包括依賴屬性,依賴屬性包括強依賴,則執行步驟s203采用投保流程處理投保請求中請求投保的投保業務時,可具體包括:
當投保流程中依賴屬性為強依賴的投保組件執行失敗或異常時,投保流程中止,且返回投保流程執行失敗或執行異常的處理結果。
除此之外,依賴屬性還可包括弱依賴,則采用投保流程處理投保請求中請求投保的投保業務,還包括:
當投保流程中依賴屬性為弱依賴的投保組件執行失敗或異常時,投保流程按照執行順序繼續執行下一個投保組件。
在本申請中,依賴屬性為強依賴的投保組件,可以理解為該投保組件所處理的子業務邏輯是投保業務中必不可少的,而依賴屬性為弱依賴的投保組件可以理解為該投保組件所處理的子業務邏輯在投保業務的處理中是可有可無的。例如,在投保業務中,投保人、被保人信息等是投保業務中的必要信息,因此,涉及到獲取投保人、被投保人信息的投保組件的依賴屬性就可設定為強依賴,必須執行成功才能繼續執行后續的投保組件。若依賴屬性為強依賴的投保組件執行失敗或異常,則整個投保流程處理器中止,并返回投保流程執行失敗或執行異常的處理結果。而若是埋點組件這類對投保業務的正常進行不會構成實質影響的投保組件,可將其依賴屬性設定為弱依賴,則當這類投保組件執行失敗或異常時,投保流程按照執行順序繼續執行下一個投保組件即可,不影響整體投保流程的執行。
基于以上描述,本申請實施例還可提供一種投保流程生成裝置,參見圖5所示,包括:
業務信息獲取模塊101,獲取投保業務的業務信息;
投保組件確定模塊102,依據業務信息和投保組件庫,確定投保組件庫中與投保業務相對應的投保組件及投保組件的執行順序;投保組件庫中存儲有預設的至少一個投保組件,投保組件用于實現投保業務中的業務邏輯;
投保流程生成模塊103,依據投保組件及其執行順序,生成用于處理投保業務的投保流程;其中,投保流程按照執行順序執行投保組件。
基于以上描述,本申請實施例還可提供一種電子設備,參見圖6所示,包括:
處理器;以及
被安排成存儲計算機可執行指令的存儲器,可執行指令在被執行時使處理器執行以下操作:
獲取投保業務的業務信息;
依據業務信息和投保組件庫,確定投保組件庫中與投保業務相對應的投保組件及投保組件的執行順序;投保組件庫中存儲有預設的至少一個投保組件,投保組件用于實現投保業務中的業務邏輯;
依據投保組件及其執行順序,生成用于處理投保業務的投保流程;其中,投保流程按照執行順序執行投保組件。
圖6是本申請的一個實施例電子設備的結構示意圖。請參考圖6,在硬件層面,該電子設備包括處理器,可選地還包括內部總線、網絡接口、存儲器。其中,存儲器可能包含內存,例如高速隨機存取存儲器(random-accessmemory,ram),也可能還包括非易失性存儲器(non-volatilememory),例如至少1個磁盤存儲器等。當然,該電子設備還可能包括其他業務所需要的硬件。
處理器、網絡接口和存儲器可以通過內部總線相互連接,該內部總線可以是isa(industrystandardarchitecture,工業標準體系結構)總線、pci(peripheralcomponentinterconnect,外設部件互連標準)總線或eisa(extendedindustrystandardarchitecture,擴展工業標準結構)總線等。所述總線可以分為地址總線、數據總線、控制總線等。為便于表示,圖6中僅用一個雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
存儲器,用于存放程序。具體地,程序可以包括程序代碼,所述程序代碼包括計算機操作指令。存儲器可以包括內存和非易失性存儲器,并向處理器提供指令和數據。
處理器從非易失性存儲器中讀取對應的計算機程序到內存中然后運行,在邏輯層面上形成投保流程生成裝置。處理器,執行存儲器所存放的程序,并具體用于執行以下操作:
獲取投保業務的業務信息;
依據業務信息和投保組件庫,確定投保組件庫中與投保業務相對應的投保組件及投保組件的執行順序;投保組件庫中存儲有預設的至少一個投保組件,投保組件用于實現投保業務中的業務邏輯;
依據投保組件及其執行順序,生成用于處理投保業務的投保流程;其中,投保流程按照執行順序執行投保組件。
上述如本申請圖1所示實施例揭示的投保流程生成裝置執行的方法可以應用于處理器中,或者由處理器實現。處理器可能是一種集成電路芯片,具有信號的處理能力。在實現過程中,上述方法的各步驟可以通過處理器中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器可以是通用處理器,包括中央處理器(centralprocessingunit,cpu)、網絡處理器(networkprocessor,np)等;還可以是數字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現場可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本申請實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本申請實施例所公開的方法的步驟可以直接體現為硬件譯碼處理器執行完成,或者用譯碼處理器中的硬件及軟件模塊組合執行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器,處理器讀取存儲器中的信息,結合其硬件完成上述方法的步驟。
該電子設備還可執行圖1中投保流程生成裝置執行的方法,并實現投保流程生成裝置在圖1所示實施例的功能,本申請實施例在此不再贅述。
本申請實施例還提出了一種計算機可讀存儲介質,該計算機可讀存儲介質存儲一個或多個程序,該一個或多個程序包括指令,該指令當被包括多個應用程序的電子設備執行時,能夠使該電子設備執行圖1所示實施例中應用頁面截圖上報裝置執行的方法,并具體用于執行:
獲取投保業務的業務信息;
依據所述業務信息和投保組件庫,確定所述投保組件庫中與所述投保業務相對應的投保組件及所述投保組件的執行順序;所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
依據所述投保組件及其執行順序,生成用于處理所述投保業務的投保流程;其中,所述投保流程按照所述執行順序執行所述投保組件。
基于以上描述,本申請實施例還可提供一種投保請求處理裝置,參見圖7所示,包括:
投保請求獲取模塊201,獲取投保請求,投保請求中包括請求投保的投保業務的業務信息;
投保流程確定模塊202,依據業務信息,確定用于處理投保業務的投保流程;其中,投保流程中包括按照執行順序執行的投保組件,投保組件及其執行順序依據投保業務的業務信息和投保組件庫確定,投保組件庫中存儲有預設的至少一個投保組件,投保組件用于實現投保業務中的業務邏輯;
投保請求處理模塊203,采用投保流程處理投保請求中請求投保的投保業務。
基于以上描述,本申請實施例還可提供一種電子設備,參見圖8所示,包括:
處理器;以及
被安排成存儲計算機可執行指令的存儲器,可執行指令在被執行時使處理器執行以下操作:
獲取投保請求,投保請求中包括請求投保的投保業務的業務信息;
依據業務信息,確定用于處理投保業務的投保流程;其中,投保流程中包括按照執行順序執行的投保組件,投保組件及其執行順序依據投保業務的業務信息和投保組件庫確定,投保組件庫中存儲有預設的至少一個投保組件,投保組件用于實現投保業務中的業務邏輯;
采用投保流程處理投保請求中請求投保的投保業務。
圖8是本申請的一個實施例電子設備的結構示意圖。請參考圖8,在硬件層面,該電子設備包括處理器,可選地還包括內部總線、網絡接口、存儲器。其中,存儲器可能包含內存,例如高速隨機存取存儲器(random-accessmemory,ram),也可能還包括非易失性存儲器(non-volatilememory),例如至少1個磁盤存儲器等。當然,該電子設備還可能包括其他業務所需要的硬件。
處理器、網絡接口和存儲器可以通過內部總線相互連接,該內部總線可以是isa(industrystandardarchitecture,工業標準體系結構)總線、pci(peripheralcomponentinterconnect,外設部件互連標準)總線或eisa(extendedindustrystandardarchitecture,擴展工業標準結構)總線等。所述總線可以分為地址總線、數據總線、控制總線等。為便于表示,圖8中僅用一個雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
存儲器,用于存放程序。具體地,程序可以包括程序代碼,所述程序代碼包括計算機操作指令。存儲器可以包括內存和非易失性存儲器,并向處理器提供指令和數據。
處理器從非易失性存儲器中讀取對應的計算機程序到內存中然后運行,在邏輯層面上形成投保請求處理裝置。處理器,執行存儲器所存放的程序,并具體用于執行以下操作:
獲取投保請求,投保請求中包括請求投保的投保業務的業務信息;
依據業務信息,確定用于處理投保業務的投保流程;其中,投保流程中包括按照執行順序執行的投保組件,投保組件及其執行順序依據投保業務的業務信息和投保組件庫確定,投保組件庫中存儲有預設的至少一個投保組件,投保組件用于實現投保業務中的業務邏輯;
采用投保流程處理投保請求中請求投保的投保業務。
上述如本申請圖4所示實施例揭示的投保請求處理裝置執行的方法可以應用于處理器中,或者由處理器實現。處理器可能是一種集成電路芯片,具有信號的處理能力。在實現過程中,上述方法的各步驟可以通過處理器中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器可以是通用處理器,包括中央處理器(centralprocessingunit,cpu)、網絡處理器(networkprocessor,np)等;還可以是數字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現場可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本申請實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本申請實施例所公開的方法的步驟可以直接體現為硬件譯碼處理器執行完成,或者用譯碼處理器中的硬件及軟件模塊組合執行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器,處理器讀取存儲器中的信息,結合其硬件完成上述方法的步驟。
該電子設備還可執行圖4中投保請求處理裝置執行的方法,并實現投保請求處理裝置在圖4所示實施例的功能,本申請實施例在此不再贅述。
本申請實施例還提出了一種計算機可讀存儲介質,該計算機可讀存儲介質存儲一個或多個程序,該一個或多個程序包括指令,該指令當被包括多個應用程序的電子設備執行時,能夠使該電子設備執行圖1所示實施例中應用頁面截圖上報裝置執行的方法,并具體用于執行:
獲取投保請求,所述投保請求中包括請求投保的投保業務的業務信息;
依據所述業務信息,確定用于處理所述投保業務的投保流程;其中,所述投保流程中包括按照執行順序執行的投保組件,所述投保組件及其執行順序依據投保業務的業務信息和投保組件庫確定,所述投保組件庫中存儲有預設的至少一個投保組件,所述投保組件用于實現投保業務中的業務邏輯;
采用所述投保流程處理所述投保請求中請求投保的投保業務。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/輸出接口、網絡接口和內存。
內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或閃存(flashram)。內存是計算機可讀介質的示例。
計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限于相變內存(pram)、靜態隨機存取存儲器(sram)、動態隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(cd-rom)、數字多功能光盤(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitorymedia),如調制的數據信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本申請的實施例可提供為方法、系統或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內。