[發明專利]基于容錯FPGA的事務系統的正好一次事務語義的系統和方法有效
| 申請號: | 201910175657.4 | 申請日: | 2019-03-08 |
| 公開(公告)號: | CN110297801B | 公開(公告)日: | 2023-02-24 |
| 發明(設計)人: | 馬諾·卡魯納卡蘭·南比亞爾;斯瓦普尼·羅迪;蘇尼爾·阿南特·普拉尼克;馬赫什·達莫達爾·巴威 | 申請(專利權)人: | 塔塔咨詢服務有限公司 |
| 主分類號: | G06F15/173 | 分類號: | G06F15/173;G06F15/78 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 王小衡;王天鵬 |
| 地址: | 印度馬哈拉*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 容錯 fpga 事務 系統 正好 一次 語義 方法 | ||
1.一種基于現場可編程門陣列(FPGA)的事務系統(100),包括:多個FPGA,所述多個FPGA包括主動FPGA和剩余的被動FPGA,所述多個FPGA中的每個被配置為與多個主機和至少一個客戶端協作,所述多個FPGA經由傳輸控制協議(TCP)連接而與所述至少一個客戶端連接,所述多個FPGA中的每個都具有易失性存儲器,所述多個FPGA包括:
改進式傳輸控制協議單元(MTCPU),其被配置為:
由所述主動FPGA的MTCPU接收來自所述至少一個客戶端的對應于傳入請求的TCP數據包;
將所述TCP數據包附加至少一個時間戳作為非確定性參數;
由所述主動FPGA的MTCPU將所述TCP數據包發布到所述被動FPGA,并且然后在由所述被動FPGA接收到所述TCP數據包的內部確認之后,將所述傳入請求的TCP確認發送到所述至少一個客戶端;
由所述主動FPGA的MTCPU控制所述傳入請求以及在可配置延遲之后由應用程序的并發執行引起的重新提交的請求的調度,其中所述重新提交的請求優先于所述傳入請求;并且
通過準備對應于(a)響應或(b)所述響應和一個或多個通知的TCP數據包、并在接收到來自所述多個主機的內部確認時將準備好的TCP數據包發送到所述至少一個客戶端來優化性能;
消息解析單元(MPU),其被配置為:
由所述主動FPGA的MPU檢測基于相關聯的請求標識符接收到的重復請求;
由所述主動FPGA的MPU基于相關聯的客戶端標識符和相關聯的請求標識符檢索所述重新提交的請求;并且
將從所述MTCPU按序列接收到的TCP數據包解析并轉換成消息格式,其與所述至少一個客戶端與所述多個FPGA和所述多個主機之間的網絡相關聯;并且按所述序列以所述消息格式發送所述傳入請求;
事務處理單元(TPU),其被配置為:
托管處理來自所述MPU的傳入請求或重新提交的請求的應用程序,并生成(a)所述響應或(b)所述響應以及與其相關聯的一個或多個通知;并且
接收由來自所述應用程序的并發執行引起的重新提交的請求,并經由所述MPU發送給所述MTCPU進行調度;
事務提交單元(TCU),其被配置為:
接收(a)所述響應或(b)所述響應以及來自所述TPU的一個或多個通知;
生成消息,所述消息包括所述傳入請求或所述重新提交的請求以及(a)所述響應或(b)所述響應和所述一個或多個通知;并且
將所述消息發送到:(i)所述多個主機,以執行去往所述至少一個客戶端的提交和發送中的至少一個,以及(ii)MTCPU以用于優化性能,其中準備好的TCP數據包構成(a)消息中的至少一部分或(b)所述消息中的一個或多個;以及
監視單元(MU),其被配置為:
如果檢測到主動FPGA故障,則監視并發起FPGA故障轉移過程。
2.根據權利要求1所述的基于現場可編程門陣列(FPGA)的事務系統(100),其中包括主動主機和剩余的被動主機的多個主機被包括在所述基于FPGA的事務系統中,其中所述多個主機中的每個都具有被實施為鍵值存儲器的易失性存儲器和非易失性存儲器,并經由TCP連接而與所述至少一個客戶端連接,所述多個主機被配置為:
取決于所述多個主機中的可用主機的數量,基于預先配置的模式切換閾值而在操作的高性能模式和操作的保守模式之間切換所述基于FPGA的事務系統的操作模式,其中(i)所述高性能模式涉及將所述消息保存在與所述多個主機中的每個相關聯的易失性存儲器中,并且然后將其內部確認發送到所述多個FPGA中的對應FPGA,并且(ii)所述保守模式涉及將所述消息保存在與所述多個主機中的每個相關聯的非易失性存儲器中,并且然后將其內部確認發送到所述多個FPGA中的對應FPGA;
當操作的高性能模式切換到操作的保守模式時,在切換時段期間將來自所述易失性存儲器的消息保存到所述非易失性存儲器中;
延遲將(a)所述響應或(b)所述響應和所述一個或多個通知發送到所述至少一個客戶端,直到在所述切換時段期間將所述消息保存到所述非易失性存儲器中結束為止或者基于預先配置的時間延遲,以確保作為在所述傳入請求之前到達所述多個主機的相關聯的重復請求的替代而由所述多個主機接收傳入請求;并且
延遲向所述多個FPGA發送所述內部確認,直到將所述消息保存到所述非易失性存儲器中結束為止。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于塔塔咨詢服務有限公司,未經塔塔咨詢服務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910175657.4/1.html,轉載請聲明來源鉆瓜專利網。





