本發(fā)明涉及云計(jì)算,特別是涉及一種面向無服務(wù)器架構(gòu)的應(yīng)用開發(fā)、調(diào)試與部署的系統(tǒng)及方法。
背景技術(shù):
1、無服務(wù)器計(jì)算是云計(jì)算領(lǐng)域的重要發(fā)展方向,其以函數(shù)為計(jì)算單元,免除了開發(fā)者對(duì)服務(wù)器資源的管理和配置,使得應(yīng)用開發(fā)和部署更加高效和靈活。無服務(wù)器架構(gòu)在web應(yīng)用后端、數(shù)據(jù)處理、物聯(lián)網(wǎng)等領(lǐng)域具有廣闊的應(yīng)用前景,正受到越來越多開發(fā)者和企業(yè)的青睞。
2、目前,無服務(wù)器應(yīng)用的開發(fā)通常采用在本地環(huán)境編寫代碼,然后將代碼打包上傳到云端進(jìn)行部署的方式。開發(fā)者在本地ide中編寫函數(shù)代碼,并通過本地的模擬器或測(cè)試框架進(jìn)行初步測(cè)試。當(dāng)代碼開發(fā)完成后,需要將代碼打包成部署包,上傳到云端的無服務(wù)器執(zhí)行環(huán)境,如aws?lambda或azure?functions等,并在云端進(jìn)行進(jìn)一步的測(cè)試和調(diào)試。然而,這種開發(fā)模式存在環(huán)境割裂、調(diào)試?yán)щy、部署低效等問題,影響了開發(fā)效率和應(yīng)用質(zhì)量。
3、具體而言,由于本地開發(fā)環(huán)境與云端真實(shí)環(huán)境的差異,導(dǎo)致本地測(cè)試通過的代碼在部署到云端后可能出現(xiàn)運(yùn)行錯(cuò)誤或性能問題,需要在云端重新進(jìn)行調(diào)試和修復(fù)。但是,在云端進(jìn)行調(diào)試往往受到限制,難以像在本地環(huán)境中那樣方便地設(shè)置斷點(diǎn)、檢查變量、單步執(zhí)行等。此外,代碼在部署過程中需要經(jīng)過打包、上傳、配置等多個(gè)步驟,操作繁瑣且耗時(shí)較長(zhǎng)。對(duì)于頻繁迭代更新的無服務(wù)器應(yīng)用,現(xiàn)有的部署方式效率低下,無法滿足敏捷開發(fā)的需求。
4、為了解決現(xiàn)有無服務(wù)器開發(fā)模式中的問題,一些改進(jìn)措施相繼被提出。例如,aws推出了sam(serverless?application?model)框架,簡(jiǎn)化了無服務(wù)器應(yīng)用的本地測(cè)試和部署流程。開發(fā)者可以使用sam在本地模擬lambda運(yùn)行環(huán)境,并通過sam?cli工具實(shí)現(xiàn)代碼打包和部署。類似地,serverless?framework提供了一套工具和插件,用于簡(jiǎn)化無服務(wù)器應(yīng)用的開發(fā)、測(cè)試和部署。這些框架在一定程度上改善了無服務(wù)器開發(fā)體驗(yàn),但仍然無法從根本上解決本地環(huán)境與云端環(huán)境割裂的問題,調(diào)試能力和部署效率也有待進(jìn)一步提升。
5、隨著無服務(wù)器應(yīng)用的不斷發(fā)展,對(duì)開發(fā)效率和應(yīng)用質(zhì)量的要求日益提高。如何實(shí)現(xiàn)本地開發(fā)環(huán)境與云端無服務(wù)器環(huán)境的無縫集成,提供強(qiáng)大的遠(yuǎn)程調(diào)試能力,以及高效可靠的自動(dòng)化部署,已經(jīng)成為無服務(wù)器領(lǐng)域函待解決的關(guān)鍵問題。開發(fā)一個(gè)革新的無服務(wù)器開發(fā)平臺(tái),徹底改變傳統(tǒng)的開發(fā)模式,實(shí)現(xiàn)真正的云端實(shí)時(shí)開發(fā)和調(diào)試,是當(dāng)前無服務(wù)器技術(shù)發(fā)展的必然趨勢(shì)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是解決現(xiàn)有無服務(wù)器應(yīng)用開發(fā)中存在的本地環(huán)境與云端環(huán)境割裂、調(diào)試?yán)щy、部署復(fù)雜等問題,提高無服務(wù)器應(yīng)用的開發(fā)效率和質(zhì)量。
2、此外,本發(fā)明還旨在實(shí)現(xiàn)本地開發(fā)環(huán)境與云端運(yùn)行環(huán)境的無縫集成,簡(jiǎn)化無服務(wù)器應(yīng)用的部署流程。
3、為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種無服務(wù)器應(yīng)用實(shí)時(shí)開發(fā)調(diào)試部署系統(tǒng),其特征在于:包括本地集成開發(fā)環(huán)境、云端無服務(wù)器執(zhí)行環(huán)境、實(shí)時(shí)同步模塊、遠(yuǎn)程調(diào)試模塊、連接代理模塊和部署模塊,協(xié)同工作實(shí)現(xiàn)無服務(wù)器應(yīng)用的實(shí)時(shí)開發(fā)、調(diào)試和部署。
4、在一些實(shí)施例中,本發(fā)明還提供了一種基于該系統(tǒng)的無服務(wù)器應(yīng)用實(shí)時(shí)開發(fā)調(diào)試部署方法。
5、具體地,實(shí)時(shí)同步模塊通過增量同步算法、哈希索引算法和加密傳輸協(xié)議,實(shí)現(xiàn)本地代碼變更與云端代碼的實(shí)時(shí)增量同步,保證開發(fā)環(huán)境的一致性。
6、進(jìn)一步地,遠(yuǎn)程調(diào)試模塊基于調(diào)試代理架構(gòu),支持在本地ide對(duì)云端運(yùn)行的應(yīng)用進(jìn)行斷點(diǎn)調(diào)試、變量檢查和單步執(zhí)行等調(diào)試操作。
7、優(yōu)選地,連接代理模塊用于建立本地ide與云端實(shí)例之間的雙向通信,傳遞調(diào)試命令和信息。
8、可選地,部署模塊能夠在云端執(zhí)行應(yīng)用的構(gòu)建和部署,簡(jiǎn)化部署流程。
9、在一個(gè)實(shí)施例中,本地集成開發(fā)環(huán)境支持插件擴(kuò)展,可集成各種開發(fā)工具和功能。
10、在某些實(shí)施例中,調(diào)試代理架構(gòu)通過連接代理模塊建立與云端實(shí)例的調(diào)試通道,具有低資源消耗特性,不影響云端應(yīng)用的正常運(yùn)行。
11、另外,本發(fā)明還可以通過智能算法優(yōu)化實(shí)時(shí)同步和遠(yuǎn)程調(diào)試的性能和效率。
12、在其他實(shí)施例中,本發(fā)明的系統(tǒng)和方法可以擴(kuò)展應(yīng)用于各種無服務(wù)器計(jì)算平臺(tái)和應(yīng)用場(chǎng)景。
13、在一個(gè)優(yōu)選實(shí)施方式中,本發(fā)明的無服務(wù)器應(yīng)用實(shí)時(shí)開發(fā)調(diào)試部署系統(tǒng)包括一個(gè)插件化的本地ide、一個(gè)分布式的云端serverless執(zhí)行環(huán)境、一個(gè)基于websocket和增量同步算法的實(shí)時(shí)同步模塊、一個(gè)跨平臺(tái)的調(diào)試代理模塊、一個(gè)安全高效的連接代理模塊,以及一個(gè)自動(dòng)化的部署模塊,協(xié)同工作以支持無服務(wù)器應(yīng)用從開發(fā)、調(diào)試到部署的全流程。
14、在另一個(gè)優(yōu)選實(shí)施方式中,無服務(wù)器應(yīng)用實(shí)時(shí)開發(fā)調(diào)試部署方法包括:在本地ide編寫代碼并實(shí)時(shí)同步到云端、在本地遠(yuǎn)程調(diào)試云端應(yīng)用、在云端自動(dòng)化構(gòu)建和部署應(yīng)用等關(guān)鍵步驟,實(shí)現(xiàn)無服務(wù)器應(yīng)用的端到端開發(fā)。
15、通過采用上述技術(shù)方案,本發(fā)明具有以下有益效果:
16、(1)實(shí)現(xiàn)了無服務(wù)器應(yīng)用開發(fā)環(huán)境的云端集成和自動(dòng)化,顯著提高開發(fā)效率;
17、(2)突破了無服務(wù)器架構(gòu)固有的調(diào)試限制,支持便捷的云端應(yīng)用遠(yuǎn)程調(diào)試;
18、(3)簡(jiǎn)化了無服務(wù)器應(yīng)用的部署流程,降低應(yīng)用交付門檻和風(fēng)險(xiǎn);
19、(4)增強(qiáng)了無服務(wù)器應(yīng)用開發(fā)的容錯(cuò)性、安全性和可擴(kuò)展性;
20、(5)為企業(yè)和開發(fā)者采用無服務(wù)器架構(gòu)提供了全棧式技術(shù)支撐。
21、綜上所述,本發(fā)明提供的系統(tǒng)和方法很好地解決了現(xiàn)有無服務(wù)器應(yīng)用開發(fā)面臨的普遍性難題,大大提升了無服務(wù)器應(yīng)用的開發(fā)體驗(yàn)和效率,對(duì)推動(dòng)serverless技術(shù)在企業(yè)中的應(yīng)用具有重要意義。
1.一種無服務(wù)器應(yīng)用實(shí)時(shí)開發(fā)調(diào)試部署系統(tǒng),其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述實(shí)時(shí)同步模塊包括:
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述遠(yuǎn)程調(diào)試模塊包括:
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述連接代理模塊用于建立本地ide與云端實(shí)例之間的雙向通信,將調(diào)試命令從本地ide傳遞到云端實(shí)例,并將調(diào)試信息從云端實(shí)例返回到本地ide。
5.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述調(diào)試代理架構(gòu)通過連接代理模塊建立與云端實(shí)例的調(diào)試通道,具有低資源消耗特性,不影響云端應(yīng)用的正常運(yùn)行。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述部署模塊能夠在云端執(zhí)行應(yīng)用的構(gòu)建和部署,簡(jiǎn)化部署流程。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述本地集成開發(fā)環(huán)境支持插件擴(kuò)展,可集成各種開發(fā)工具和功能。
8.根據(jù)權(quán)利要求1-7任一項(xiàng)所述的系統(tǒng),其特征在于,該系統(tǒng)能夠?qū)崿F(xiàn)本地開發(fā)環(huán)境與云端運(yùn)行環(huán)境的無縫集成,克服無服務(wù)器架構(gòu)調(diào)試限制,提高開發(fā)效率和應(yīng)用質(zhì)量。
9.一種基于權(quán)利要求1-8任一項(xiàng)所述系統(tǒng)的無服務(wù)器應(yīng)用實(shí)時(shí)開發(fā)調(diào)試部署方法,其特征在于,包括以下步驟:
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,步驟(2)中的實(shí)時(shí)同步通過增量同步算法、哈希索引算法和加密傳輸協(xié)議實(shí)現(xiàn),保證同步效率和數(shù)據(jù)安全。