本發明專利技術公開了直連充電樁無感知的樁服務程序灰度發布方法,包括如下步驟:充電樁先通過TCP直連網關程序,網關再TCP直連后端樁服務程序,網關接收到樁連接后,解析來自充電樁的協議幀,在內存中維護樁設備標識與TCP連接的對應關系;運維人員啟動新版本的服務程序,同時保持當前連接和服務不變;管理員將新版本的服務程序地址加入到倒換目標選項列表中;運維人員將后端樁服務程序按不同空間維度做灰度發布;網關偽裝成充電樁,發注冊請求到樁服務程序,在直連樁無感知的情況下,將樁重新注入到充電平臺。該方法可逐樁、逐充電站、逐城市做樁服務程序灰度發布,將業務平滑過渡到新發布的服務程序。的服務程序。的服務程序。
【技術實現步驟摘要】
直連充電樁無感知的樁服務程序灰度發布方法
[0001]本專利技術涉及互聯網與充電樁
,具體的,涉及直連充電樁無感知的樁服務程序灰度發布方法。
技術介紹
[0002]參考中電聯T/CEC 102標準,目前電動汽車充電樁通過移動SIM卡連入充電服務平臺。樁程序通過建立TCP連接并一直連的方式,連接各平臺開發的后端樁服務程序。后端服務升級重啟,將導致樁與服務之間的連接被斷開,充電業務會出現短暫中斷。
[0003]充電平臺運營商往往挑在凌晨升級,并事先告知客戶和公司管理層。但是凌晨電價相對便宜,很多公交車、運營車輛仍在凌晨充著電,服務的突然重啟會影響到他們充電。而且運營車輛對充電服務平臺的可用性要求很高,一旦充不上電,將影響公司運營業務正常開展。
[0004]為了降低服務程序新版本發布風險,互聯網平臺大多會采用灰度發布的方式做升級:一段時間內新老版本共存,逐步將越來越多的用戶引流到新版本,一旦發現問題就可迅速將流量切回到穩定的舊版本。
[0005]對于互聯網通用的網關程序,整條鏈路上的上下游TCP連接的生命周期是一致的,即當網關到后端的TCP連接斷開,必定會觸發對應的樁到網關之間的連接斷開。充電平臺的通信協議是各運營商根據T/CEC 102標準開發的私有協議、不是通用的HTTP協議。通用網關解析不出私有協議內容時,只能根據請求端IP來確定連接來自哪里,而樁上的SIM卡的IP是網絡運營商動態分配的,所以利用通用網關,很難做到逐樁、逐站、逐城市做灰度發布。
技術實現思路
[0006]本專利技術為了提高充電平臺的可用性、提升充電用戶體驗,提出了直連充電樁無感知的樁服務程序灰度發布方法,該方法可以保持到樁的TCP連接不斷以及充電樁和充電用戶無感知的作用,具有充電服務升級、灰度發布時充電業務不中斷等優點;可逐樁、逐充電站、逐城市做樁服務程序灰度發布,將業務平滑過渡到新發布的服務程序。
[0007]為實現上述技術目的,本專利技術提供的一種技術方案是,直連充電樁無感知的樁服務程序灰度發布方法,包括如下步驟:充電樁先通過TCP直連網關程序,網關再TCP直連后端樁服務程序,網關接收到樁連接后,解析來自充電樁的協議幀,在內存中維護樁設備標識與TCP連接的對應關系;運維人員啟動新版本的服務程序,同時保持當前連接和服務不變;管理員通過網關本地的命令終端程序,設置倒換參數、HTTP倒換請求鑒權密碼,并將新版本的服務程序地址加入到倒換目標選項列表中;運維人員將后端樁服務程序按不同空間維度做灰度發布;灰度發布網關定期輪訓倒換請求,查詢之前維護在內存中的樁設備標識與TCP連接的對應關系,找到待切換的鏈路,將指定的樁連入到新版本的服務程序;
后端連接切換成功后,網關偽裝成充電樁,發注冊請求到樁服務程序,在直連樁無感知的情況下,將樁重新注入到充電平臺,便于后端服務節點經由新樁服發送充電請求到充電樁。
[0008]本方案中,灰度發布時,不像通用網關那樣簡單地基于請求路徑、權重或客戶端IP做倒換,而是基于樁設備標識列表做倒換;基于樁設備標識而不是客戶端IP是因為,充電樁SIM卡的IP是移動網絡運營商動態分配的、重連會改變,但樁設備標識是靜態配置、固定不變的。
[0009]作為優選,運維人員做后端樁服務程序灰度發布時,包括如下步驟:確定本次灰度發布涉及的空間維度;所述空間維度包括按樁做灰度、按充電站做灰度以及按按城市做灰度;確定時間跨度;所述時間跨度包括:每批樁倒換后觀察多久時間再繼續切換下一批以及預估全部升級完需多長時間;運維人員將樁設備標識列表和倒換目標地址,通過遠程HTTP請求發給網關HTTP服務;HTTP服務程序收到請求后,對目標地址和請求密鑰MD5做檢查,檢查通過后,通過共享內存的方式將請求記錄到本地。
[0010]本方案中,本網關不僅支持通過HTTP發送倒換請求、查詢倒換結果,還支持通過命令行工具做倒換。為了保護平臺免受網絡攻擊,僅允許通過本地命令行工具設置倒換目的地、控制參數,并通過本地命令行工具設置HTTP請求密碼,對遠程HTTP請求做鑒權。
[0011]作為優選,每條樁到后端服務程序之間的鏈路,有四種倒換狀態包括如下:第一倒換狀態:SWITCH_NONE:當前通道建立過程中或已連上指定后端目標,且指定的倒換目標地址與初始加載時后端地址一樣;第二倒換狀態:SWITCH_OK:當前通道建立過程中或已連上指定后端目標,且指定的倒換目標地址與初始加載時后端地址不一樣;第三倒換狀態:SWITCH_CANCELING:當前通道已建立且后端連接地址與目標地址不一致,但指定的倒換目標地址與初始加載時后端地址一樣;第四倒換狀態:SWITCH_PENDING:當前通道已建立且后端連接地址與目標地址不一致,但指定的倒換目標地址與初始加載時后端地址不一樣;如果當前狀態是SWITCH_PENDING或SWITCH_CANCELING,網關將進一步判斷順延狀態,然后擇機做連接切換。
[0012]作為優選,倒換請求會被順延的包括如下情形:第一情形:正在嘗試解析出協議幀中的樁設備標識;第二情形:通道的上行或下行鏈路上,仍有部分緩存數據沒被全部發往接收方(充電樁或后端平臺服務程序);第三情形:網關只處理了某幀數據中的一部分,此時切換會導致出現碎幀的情況;第四情形:鏈路空閑時間沒到達設置的門限要求,或關鍵數據幀的空閑時間沒達門限;第五情形:對端并未就緒,常見原因包括:地址配置錯誤、偵聽端口錯誤、服務沒啟動成功、或防火墻限制。
[0013]作為優選,為了不影響樁上各種業務并且讓樁無感知,始終保持樁與網關之間的連接不斷,連接的切換只在網關與后端服務之間進行。
[0014]本方案中,并不告知樁程序后端服務將升級、也不斷開客戶端與樁之間的連接,而是在保持網關與樁連接的同時,僅斷開網關與后端服務之間的連接,然后立即連上新的后端方向;為了避免連接切換時出現半幀,本方案中網關的轉發不是簡單基于TCP網絡包,而是根據充電樁通信私有協議,做拆包封包后,逐業務幀轉發;當后端連接切換到新服方向后,為了讓樁加入到后端的充電平臺,網關將模擬充電樁,發注冊消息幀到樁服務程序。
[0015]作為優選,為了不影響樁與服務程序之間的正常通信,網關收到請求后,網關收到倒換請求后,并不立即做連接切換,而是監控網絡鏈路上消息類別和繁忙程度,選擇鏈路空閑時做連接切換操作。
[0016]作為優選,鏈路閑時切換的方式如下:網關監聽樁與后端服務程序之間的雙向通道繁忙,選擇在鏈路空閑一段時間t1后切換,網絡流空閑間隔時間t1可配置;網關收到協議幀,解析出命令號,分析出各幀是否是關鍵幀;為了不影響正常充電業務,需等協議關鍵幀空閑一段時間t2后做連接切換,關鍵幀空閑間隔時間t2可配置。
[0017]作為優選,為做到充電業務不斷,網關先嘗試連接新的后端服務地址,新方向連接成功后,才斷開并替換掉舊的到服務端的連接;將新的倒換目標方向作為主,將之前的后端方向作為備,在出現異常連不上主方向時,仍舊可通過之前的方向讓樁連入充電平臺。
[001本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.直連充電樁無感知的樁服務程序灰度發布方法,其特征在于:包括如下步驟:充電樁先通過TCP直連網關程序,網關再TCP直連后端樁服務程序,網關接收到樁連接后,解析來自充電樁的協議幀,在內存中維護樁設備標識與TCP連接的對應關系;運維人員啟動新版本的服務程序,同時保持當前連接和服務不變;管理員通過網關本地的命令終端程序,設置倒換參數、HTTP倒換請求鑒權密碼,并將新版本的服務程序地址加入到倒換目標選項列表中;運維人員將后端樁服務程序按不同空間維度做灰度發布;灰度發布網關定期輪訓倒換請求,查詢之前維護在內存中的樁設備標識與TCP連接的對應關系,找到待切換的鏈路,將指定的樁連入到新版本的服務程序;后端連接切換成功后,網關偽裝成充電樁,發注冊請求到樁服務程序,在直連樁無感知的情況下,將樁重新注入到充電平臺,便于后端服務節點經由新樁服發送充電請求到充電樁。2.根據權利要求1所述的直連充電樁無感知的樁服務程序灰度發布方法,其特征在于:運維人員做后端樁服務程序灰度發布時,包括如下步驟:確定本次灰度發布涉及的空間維度;所述空間維度包括按樁做灰度、按充電站做灰度以及按按城市做灰度;確定時間跨度;所述時間跨度包括:每批樁倒換后觀察多久時間再繼續切換下一批以及預估全部升級完需多長時間;運維人員將樁設備標識列表和倒換目標地址,通過遠程HTTP請求發給網關HTTP服務;HTTP服務程序收到請求后,對目標地址和請求密鑰MD5做檢查,檢查通過后,通過共享內存的方式將請求記錄到本地。3.根據權利要求1所述的直連充電樁無感知的樁服務程序灰度發布方法,其特征在于:每條樁到后端服務程序之間的鏈路,有四種倒換狀態包括如下:第一倒換狀態:SWITCH_NONE:當前通道建立過程中或已連上指定后端目標,且指定的倒換目標地址與初始加載時后端地址一樣;第二倒換狀態:SWITCH_OK:當前通道建立過程中或已連上指定后端目標,且指定的倒換目標地址與初始加載時后端地址不一樣;第三倒換狀態:SWITCH_CANCELING:當前通道已建立且后端連接地址與目標地址不一致,但指定的倒換目標地址與初始加載時后端地址一樣;第四倒換狀態:SWITCH_PENDING:當前通道已建立且后端連接地址與目標地址不一致,但指定的倒換目標地址與初始加載時后端地址不一樣;如果當前狀態是SWITCH_PENDING或SWITCH_CANCELING,網關將進一步判斷順延狀態,然后擇機做連接切換。4.根據權...
【專利技術屬性】
技術研發人員:張東陽,韓旺坤,朱慧明,胡群峰,
申請(專利權)人:浙江愛充網絡科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。