本發明涉及智慧醫療,尤其涉及一種文件解析方法和裝置。
背景技術:
1、在目前服務端自動解析體檢報告等文件的場景中,服務端從體檢報告中解析出全量數據之后通過直連方式直接返回到客戶端,在面對海量解析請求時以上處理方式容易導致系統癱瘓。另外,目前體檢報告的文件類型有圖像、可移植文檔(如pdf)、結構化文檔(如json、xml)等,實際中一般針對不同的文件類型獨立開發自動解析算法,導致解析邏輯混亂,不利于后期維護。此外,體檢報告解析之后的下游節點難以準確獲取解析結果,下游節點對體檢報告的應用較為不便。
技術實現思路
1、有鑒于此,本發明實施例提供一種文件解析方法和裝置,能夠基于服務端與上游節點之間的消息隊列實現根據當前負載狀態調整的消息消費策略,從而避免面對海量請求時可能發生的系統癱瘓。此外,基于策略模式開發了對應于文件類型枚舉值的相應解析方法,實現了解析方法的動態切換和靈活擴展,減少了代碼開發量和后期維護工作量。
2、為實現上述目的,根據本發明的一個方面,提供了一種文件解析方法。
3、本發明實施例的文件解析方法包括:根據當前負載狀態從預置的上游消息隊列中讀取待解析文件標識,并利用所述待解析文件標識獲取所述待解析文件;檢測所述待解析文件的文件類型,按照預先配置的第一對應關系確定所述待解析文件的文件類型對應的全量解析目標方法;所述第一對應關系為文件類型與預先編寫的文件解析接口中全量解析方法之間的對應關系;調用所述文件解析接口中的所述全量解析目標方法解析所述待解析文件,以得到所述待解析文件的全量解析結果。
4、可選地,所述利用所述待解析文件標識獲取所述待解析文件,包括:利用所述待解析文件標識確定所述待解析文件的名稱,利用所述待解析文件的名稱獲取所述待解析文件的下載鏈接,使用所述下載鏈接從云端存儲中獲取所述待解析文件。
5、可選地,所述調用所述文件解析接口中的所述全量解析目標方法解析所述待解析文件,以得到所述待解析文件的全量解析結果,包括:調用所述全量解析目標方法解析所述待解析文件,得到包括基礎數據、指標數據和結論數據的初步解析結果;其中,所述指標數據包括:多個指標名稱以及所述多個指標名稱下的指標值;提取所述多個指標名稱中的非標準名稱,利用預先建立的第二對應關系將提取到的非標準名稱修改為相應的標準名稱,以得到所述全量解析結果;第二對應關系為非標準名稱與標準名稱之間的對應關系。
6、可選地,所述方法進一步包括:將得到的所述全量解析結果存儲在預置的數據庫;利用所述待解析文件標識查詢用于記錄所述待解析文件的解析狀態的緩存,得到所述待解析文件的解析記錄,將所述解析記錄中的解析狀態更新為解析成功。
7、可選地,所述方法進一步包括:將含有文件標識和業務來源標記的解析成功消息發布在預置的下游消息隊列,以使下游節點基于所述業務來源標記從所述下游消息隊列中讀取所述解析成功消息,進而基于所述解析成功消息中的文件標識從所述數據庫中讀取相應的全量解析結果。
8、可選地,所述方法進一步包括:響應于接收到客戶端發出的解析指令,確定所述解析指令針對的待解析文件;檢測所述待解析文件的文件類型,按照預先配置的文件類型與所述文件解析接口中局部解析方法之間的對應關系確定所述待解析文件的文件類型對應的局部解析目標方法;調用所述文件解析接口中的所述局部解析目標方法解析所述待解析文件,得到所述待解析文件中的基礎數據;將得到的基礎數據展示在客戶端,基于客戶端發出的基礎數據確認指令獲得確認后的基礎數據;在得到所述全量解析結果之后,關聯所述全量解析結果與所述確認后的基礎數據。
9、可選地,所述方法進一步包括:在所述獲得確認后的基礎數據之后,生成所述待解析文件標識,建立所述待解析文件標識與所述待解析文件的名稱之間的對應關系;以及,所述文件類型包括:圖像、可移植文檔和結構化文檔。
10、為實現上述目的,根據本發明的另一方面,提供了一種文件解析裝置。
11、本發明實施例的文件解析裝置可以包括:文件獲取單元,用于根據當前負載狀態從預置的上游消息隊列中讀取待解析文件標識,并利用所述待解析文件標識獲取所述待解析文件;策略模式處理單元,用于檢測所述待解析文件的文件類型,按照預先配置的第一對應關系確定所述待解析文件的文件類型對應的全量解析目標方法;所述第一對應關系為文件類型與預先編寫的文件解析接口中全量解析方法之間的對應關系;解析單元,用于調用所述文件解析接口中的所述全量解析目標方法解析所述待解析文件,以得到所述待解析文件的全量解析結果。
12、為實現上述目的,根據本發明的又一方面,提供了一種電子設備。
13、本發明的一種電子設備包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現本發明所提供的文件解析方法。
14、為實現上述目的,根據本發明的再一方面,提供了一種計算機可讀存儲介質。
15、本發明的一種計算機可讀存儲介質,其上存儲有計算機程序,所述程序被處理器執行時實現本發明所提供的文件解析方法。
16、根據本發明的技術方案,上述發明中的實施例具有如下優點或有益效果:
17、服務端根據當前負載狀態從上游消息隊列中讀取待解析文件標識,利用待解析文件標識獲取待解析文件,接著,服務端檢測待解析文件的文件類型,并按照預先配置的文件類型與預先編寫的文件解析接口中全量解析方法之間的對應關系確定待解析文件的文件類型對應的全量解析目標方法。最后,服務端調用文件解析接口中的全量解析目標方法解析待解析文件,從而得到待解析文件的全量解析結果。這樣,基于服務端與上游節點之間的消息隊列實現根據當前負載狀態調整的消息消費策略,從而避免面對海量請求時可能發生的系統癱瘓,并且基于策略模式開發了對應于文件類型枚舉值的相應解析方法,實現了解析方法的動態切換和靈活擴展,減少了代碼開發量和后期維護工作量。針對解析之后的下游節點難以準確獲取解析結果的問題,本發明實施例將含有文件標識和業務來源標記的解析成功消息發布在下游消息隊列,下游節點能夠基于業務來源標記從下游消息隊列中針對性地讀取解析成功消息,進而基于解析成功消息中的文件標識從數據庫中讀取相應的全量解析結果,由此實現全鏈路工作目的的達成。
18、上述的非慣用的可選方式所具有的進一步效果將在下文中結合具體實施方式加以說明。
1.一種文件解析方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述利用所述待解析文件標識獲取所述待解析文件,包括:
3.根據權利要求1所述的方法,其特征在于,所述調用所述文件解析接口中的所述全量解析目標方法解析所述待解析文件,以得到所述待解析文件的全量解析結果,包括:
4.根據權利要求1所述的方法,其特征在于,所述方法進一步包括:
5.根據權利要求4所述的方法,其特征在于,所述方法進一步包括:
6.根據權利要求2所述的方法,其特征在于,所述方法進一步包括:
7.根據權利要求6所述的方法,其特征在于,所述方法進一步包括:
8.一種文件解析裝置,其特征在于,包括:
9.一種電子設備,其特征在于,包括:
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述程序被處理器執行時實現如權利要求1-7中任一所述的方法。