System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及研發設計,應用于文本類文檔生成場景中,尤其涉及一種文檔生成方法、裝置、設備及其存儲介質。
技術介紹
1、對于互聯網保險產品承保平臺,平臺的高可用和高性能是至關重要的,在承保流程中保單號生成是一個必要步驟,如果在承保流程中保單號生成出現異常導致保單號沒有生成,那么整個承保流程就失敗了。
2、傳統的文檔生成,例如保單生成時,在保單號,即文檔編號生成環節是強依賴數據庫的,依賴數據庫去生成文檔編號,每次接收到文檔生成請求都實時去調用數據庫生成一個文檔編號,當數據庫出現異常會導致文檔編號生成失敗,從而導致文檔生成失敗,嚴重影響業務開展,沒法做到高可用。同時互聯網文檔生成平臺日均單量較大,每個文檔生成請求都實時的去調用數據庫,對數據庫的性能要求也是一種挑戰,容易造成數據庫崩潰。
技術實現思路
1、本申請實施例的目的在于提出一種文檔生成方法、裝置、設備及其存儲介質,以解決現有進行文檔生成時強依賴數據庫,容易造成數據庫崩潰的問題。
2、為了解決上述技術問題,本申請實施例提供文檔生成方法,采用了如下所述的技術方案:
3、一種文檔生成方法,包括下述步驟:
4、啟動預設的定時生成任務;
5、根據所述定時生成任務和預設的生成策略,定時進行文檔區別編號預生成;
6、按照生成時間對預生成的文檔區別編號進行序列化整理,獲得序列化整理的文檔區別編號;
7、將所述序列化整理的文檔區別編號加入到預設的文檔編號緩沖池中;
>8、獲取文檔生成請求,其中,所述文檔生成請求中包括需要往生成文檔中寫入的非模板化信息;
9、按照序列位置從所述文檔編號緩沖池中獲取最早生成的文檔區別編號以及從預設的文檔生成模板庫中獲取目標文檔模板;
10、對所述文檔生成請求進行解析,得到所述非模板化信息;
11、將所述非模板化信息寫入到所述目標文檔模板中對應的預留位置處,生成目標期望文檔,并將所述最早生成的文檔區別編號設置為所述目標期望文檔的編號信息。
12、進一步的,所述生成策略中規定了文檔區別編號中的可變字段所對應的生成格式,所述根據所述定時生成任務和預設的生成策略,定時進行文檔區別編號預生成的步驟,具體包括:
13、步驟301,實時獲取所述定時生成任務本次執行生成任務時的執行時間點;
14、步驟302,將所述執行時間點作為目標可變字段的生成參數輸入到所述生成格式中;
15、步驟303,獲得所述生成格式所生成的目標可變字段;
16、步驟304,根據預設的拼接方式,拼接預設的固定字段和所述目標可變字段,得到拼接字段作為所述文檔區別編號。
17、進一步的,所述生成格式包括對時間信息進行十進制轉換的函數公式,在執行所述將所述執行時間點作為目標可變字段的生成參數輸入到所述生成格式中的步驟之后,所述方法還包括:
18、執行所述對時間信息進行十進制轉換的函數公式;
19、獲得所述執行時間點所對應的十進制數值;
20、將所述十進制數值作為所述目標可變字段。
21、進一步的,所述生成策略中還規定了文檔區別編號中的可變字段所無法使用的所有停用字符串,在執行所述獲得所述生成格式所生成的目標可變字段的步驟之后,所述方法還包括:
22、通過對比識別,判斷所述目標可變字段是否為停用字符串;
23、若所述目標可變字段是停用字符串,則重新執行步驟301至步驟303,獲得所述生成格式所生成的最新可變字段,將所述最新可變字段更新為所述目標可變字段;
24、若所述目標可變字段不是停用字符串,則執行步驟304。
25、進一步的,在執行所述按照序列位置從所述文檔編號緩沖池中獲取最早生成的文檔區別編號以及從預設的文檔生成模板庫中獲取目標文檔模板的步驟之前,所述方法包括:
26、對所述文檔生成請求進行解析格式校驗,判斷所述文檔生成請求是否符合預設的解析格式;
27、若所述文檔生成請求不符合預設的解析格式,則向目標請求端發送請求出錯的提示消息;
28、若所述文檔生成請求符合預設的解析格式,則將所述文檔生成請求轉發給目標解析端。
29、進一步的,在執行所述按照序列位置從所述文檔編號緩沖池中獲取最早生成的文檔區別編號以及從預設的文檔生成模板庫中獲取目標文檔模板的步驟之前,所述方法還包括:
30、通過預設的監測統計組件,統計所述文檔編號緩沖池中緩存的文檔區別編號數量是否未超過預設的數量要求;
31、若所述文檔編號緩沖池中緩存的文檔區別編號數量未超過預設的最少數量要求,則觸發啟動所述定時生成任務;
32、若所述文檔編號緩沖池中緩存的文檔區別編號數量超過了預設的最大數量要求,則觸發停止所述定時生成任務。
33、進一步的,所述方法還包括:
34、識別系統當前時間點;
35、根據歷史請求數據,確定系統當前時間點是否為文檔生成高峰期;
36、若所述系統當前時間點是文檔生成高峰期,則采用任務克隆方式,生成n個定時生成任務,并基于多線程同步執行方式啟動所有定時生成任務,其中,n為大于1的正整數。
37、為了解決上述技術問題,本申請實施例還提供文檔生成裝置,采用了如下所述的技術方案:
38、一種文檔生成裝置,包括:
39、定時生成任務啟動模塊,用于啟動預設的定時生成任務;
40、文檔區別編號預生成模塊,用于根據所述定時生成任務和預設的生成策略,定時進行文檔區別編號預生成;
41、序列化整理模塊,用于按照生成時間對預生成的文檔區別編號進行序列化整理,獲得序列化整理的文檔區別編號;
42、加入緩沖池模塊,用于將所述序列化整理的文檔區別編號加入到預設的文檔編號緩沖池中;
43、文檔生成請求獲取模塊,用于獲取文檔生成請求,其中,所述文檔生成請求中包括需要往生成文檔中寫入的非模板化信息;
44、文檔生成構件獲取模塊,用于按照序列位置從所述文檔編號緩沖池中獲取最早生成的文檔區別編號以及從預設的文檔生成模板庫中獲取目標文檔模板;
45、文檔生成請求解析模塊,用于對所述文檔生成請求進行解析,得到所述非模板化信息;
46、目標期望文檔生成模塊,用于將所述非模板化信息寫入到所述目標文檔模板中對應的預留位置處,生成目標期望文檔,并將所述最早生成的文檔區別編號設置為所述目標期望文檔的編號信息。
47、為了解決上述技術問題,本申請實施例還提供一種計算機設備,采用了如下所述的技術方案:
48、一種計算機設備,包括存儲器和處理器,所述存儲器中存儲有計算機可讀指令,所述處理器執行所述計算機可讀指令時實現上述所述的文檔生成方法的步驟。
49、為了解決上述技術問題,本申請實施例還提供一種計本文檔來自技高網...
【技術保護點】
1.一種文檔生成方法,其特征在于,包括下述步驟:
2.根據權利要求1所述的文檔生成方法,其特征在于,所述生成策略中規定了文檔區別編號中的可變字段所對應的生成格式,所述根據所述定時生成任務和預設的生成策略,定時進行文檔區別編號預生成的步驟,具體包括:
3.根據權利要求2所述的文檔生成方法,其特征在于,所述生成格式包括對時間信息進行十進制轉換的函數公式,在執行所述將所述執行時間點作為目標可變字段的生成參數輸入到所述生成格式中的步驟之后,所述方法還包括:
4.根據權利要求2所述的文檔生成方法,其特征在于,所述生成策略中還規定了文檔區別編號中的可變字段所無法使用的所有停用字符串,在執行所述獲得所述生成格式所生成的目標可變字段的步驟之后,所述方法還包括:
5.根據權利要求1所述的文檔生成方法,其特征在于,在執行所述按照序列位置從所述文檔編號緩沖池中獲取最早生成的文檔區別編號以及從預設的文檔生成模板庫中獲取目標文檔模板的步驟之前,所述方法包括:
6.根據權利要求1或5所述的文檔生成方法,其特征在于,在執行所述按照序列位置從所述文檔編
7.根據權利要求1所述的文檔生成方法,其特征在于,所述方法還包括:
8.一種文檔生成裝置,其特征在于,包括:
9.一種計算機設備,其特征在于,包括存儲器和處理器,所述存儲器中存儲有計算機可讀指令,所述處理器執行所述計算機可讀指令時實現如權利要求1至7中任一項所述的文檔生成方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機可讀指令,所述計算機可讀指令被處理器執行時實現如權利要求1至7中任一項所述的文檔生成方法的步驟。
...【技術特征摘要】
1.一種文檔生成方法,其特征在于,包括下述步驟:
2.根據權利要求1所述的文檔生成方法,其特征在于,所述生成策略中規定了文檔區別編號中的可變字段所對應的生成格式,所述根據所述定時生成任務和預設的生成策略,定時進行文檔區別編號預生成的步驟,具體包括:
3.根據權利要求2所述的文檔生成方法,其特征在于,所述生成格式包括對時間信息進行十進制轉換的函數公式,在執行所述將所述執行時間點作為目標可變字段的生成參數輸入到所述生成格式中的步驟之后,所述方法還包括:
4.根據權利要求2所述的文檔生成方法,其特征在于,所述生成策略中還規定了文檔區別編號中的可變字段所無法使用的所有停用字符串,在執行所述獲得所述生成格式所生成的目標可變字段的步驟之后,所述方法還包括:
5.根據權利要求1所述的文檔生成方法,其特征在于,在執行所述按照序列位置從所述文檔編號緩沖池中獲取最早生...
【專利技術屬性】
技術研發人員:王少成,
申請(專利權)人:中國平安財產保險股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。