[發明專利]一種基于文件的索引數據失敗補償的方法有效
| 申請號: | 201911097508.7 | 申請日: | 2019-11-12 |
| 公開(公告)號: | CN110764946B | 公開(公告)日: | 2021-04-02 |
| 發明(設計)人: | 儲明;姜平 | 申請(專利權)人: | 焦點科技股份有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07;G06F11/30;G06F11/32 |
| 代理公司: | 南京瑞弘專利商標事務所(普通合伙) 32249 | 代理人: | 陳建和 |
| 地址: | 210032 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 文件 索引 數據 失敗 補償 方法 | ||
本發明公開了一種基于文件的索引數據失敗補償的方法,其特征在于:嵌入在日終調度的數據提交應用中使用,支持更新和刪除兩種數據提交類型,包括失敗數據實時收集、失敗數據文件存儲、失敗數據文件讀取、失敗數據過濾清洗、失敗數據提交索引和失敗數據預警的步驟。本發明旨在解決一般搜索平臺索引更新失敗導致數據丟失的問題,能夠做到無需人為干預,自動將失敗數據重新補償進索引,保證索引數據完整性。
技術領域
本發明涉及電子商務搜索技術領域,特別是涉及一種基于文件的索引數據失敗補償的方法。
背景技術
隨著電商平臺的發展,平臺上的產品數量也會越來越多,直至百萬級、千萬級、甚至億級。為了提供高效、高質量的查詢功能,一般都會采用建立一份獨立索引的方式來實現數據整合和快速檢索,業界最常用的底層技術就是Lucene。
那么如何保證數據在任何情況都能完整的提交到索引中,就是不得不考慮的一個問題。一般電商平臺會獨立開發一個日終數據提交應用,其中大致會涉及到如下幾個功能:
1.定期的全量數據提交索引(周期較長,一般以天、周、月為單位);
2.定期的增量更新數據提交索引(周期較短,一般以秒、分、時為單位);
3.定期的增量刪除數據提交索引(周期較短,一般以秒、分、時為單位);
4.能夠從多種數據來源拉取數據提交索引(數據庫、文件、HBase等);
5.定制業務對應的數據處理邏輯;
當任務提交過程中出現數據處理出錯且短期重試無法解決的問題時,我們一般都是通知到對應運維人員,明確錯誤日志,然后會按如下幾種方式進行處理:
1.指定報錯時間點,重新執行一遍任務,但會包含很多成功的數據,造成額外開銷;
2.指定數據ID,手動觸發對應數據的更新或刪除操作,對應用有一定功能要求;
3.通知DBA手動更新下對應數據的觸發時間,等日終任務下次增量時提交索引;
可以看到,雖然有解決方法,但是不可避免的需要人力支持和再次拉取數據的額外開銷,極端情況下,比如人為不方便時,可能會導致數據長時間無法提交入索引。
發明內容
本發明所要解決的技術問題是克服現有技術的不足,提供一種基于文件的索引數據失敗補償的方法。
為解決上述技術問題,本發明提供一種基于文件的索引數據失敗補償的方法,其特征在于,嵌入在日終調度的數據提交應用中使用,支持更新和刪除兩種數據提交類型,包括失敗數據實時收集、失敗數據文件存儲、失敗數據文件讀取、失敗數據過濾清洗、失敗數據提交索引和失敗數據預警的步驟,具體為:
S1,失敗數據實時收集:實時監控數據從讀取到業務邏輯處理再到數據提交索引的全部流程,若發現數據處理異常,則將失敗數據和其對應的主鍵ID提交到失敗數據中心(failed-data-center)中,根據數據提交類型(更新或刪除)分別進行處理;
S2,失敗數據文件存儲:失敗數據中心(failed-data-center)在收集失敗數據的過程中,調用失敗數據序列化器(failed-data-serializer)將失敗數據以鍵值對的形式,逐條輸出到磁盤指定文件中進行存儲;當失敗數據收集完畢后,會將失敗數據的ID信息單獨輸出到磁盤指定文件中進行存儲;
S3,失敗數據文件讀取:在數據提交應用日終執行正常數據提交任務之前,失敗數據中心(failed-data-center)會通過失敗數據序列化器(failed-data-serializer)讀取上次數據提交任務中更新失敗和刪除失敗的ID集合,加載進應用內存中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于焦點科技股份有限公司,未經焦點科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911097508.7/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





