[發(fā)明專利]一種動(dòng)態(tài)生成中間件的方法、裝置、介質(zhì)和電子設(shè)備有效
| 申請(qǐng)?zhí)枺?/td> | 202010085254.3 | 申請(qǐng)日: | 2020-02-10 |
| 公開(公告)號(hào): | CN111338813B | 公開(公告)日: | 2023-05-12 |
| 發(fā)明(設(shè)計(jì))人: | 鄔亮;趙汝軍 | 申請(qǐng)(專利權(quán))人: | 北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54 |
| 代理公司: | 北京國(guó)昊天誠(chéng)知識(shí)產(chǎn)權(quán)代理有限公司 11315 | 代理人: | 馬瑞 |
| 地址: | 100041 北京市石景山區(qū)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 動(dòng)態(tài) 生成 中間件 方法 裝置 介質(zhì) 電子設(shè)備 | ||
本公開提供了一種動(dòng)態(tài)生成中間件的方法、裝置、介質(zhì)和電子設(shè)備。所述方法包括:在node.js框架中,動(dòng)態(tài)加載和獲取采用接口描述語(yǔ)言撰寫的第一文件;分析所述第一文件,生成對(duì)應(yīng)的第一抽象邏輯語(yǔ)法樹;遍歷所述第一抽象邏輯語(yǔ)法樹分別獲取每種請(qǐng)求消息對(duì)應(yīng)的接口元信息;基于每個(gè)接口元信息分別獲取對(duì)應(yīng)的多框架處理函數(shù)集;基于每個(gè)接口元信息和對(duì)應(yīng)的所述多框架處理函數(shù)集分別生成中間件。本公開有效地減少開發(fā)工作量,使操作更簡(jiǎn)單。
技術(shù)領(lǐng)域
本公開涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種動(dòng)態(tài)生成中間件的方法、裝置、介質(zhì)和電子設(shè)備。
背景技術(shù)
Node.js是一個(gè)基于Chrome?V8引擎的JavaScript運(yùn)行環(huán)境,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務(wù)端語(yǔ)言平起平坐的腳本語(yǔ)言。目前,Node.js在服務(wù)端得到了廣泛的應(yīng)用。Express和Koa是目前最主流的基于node的web開發(fā)框架。其他框架基本是對(duì)這兩個(gè)框架的擴(kuò)展。
中間件在Node.js中被廣泛使用,它泛指一種特定的設(shè)計(jì)模式、一系列的處理單元、過濾器和處理程序。中間件以函數(shù)的形式存在。多個(gè)中間件以一定的方式連接在一起,形成一個(gè)異步隊(duì)列,來完成對(duì)任何數(shù)據(jù)的預(yù)處理和后處理。中間件技術(shù)使得完成某個(gè)功能的邏輯可以封裝在一個(gè)具備通用形式的單元中。單個(gè)中間件可以很容易地進(jìn)行移動(dòng)和復(fù)用,多個(gè)中間件可以很方便地進(jìn)行組合以完成更復(fù)雜的功能。
在服務(wù)端的接口開發(fā)中,一般把一些通用功能放在中間件中,比如路由,日志。對(duì)請(qǐng)求的處理邏輯一般放在對(duì)應(yīng)的業(yè)務(wù)處理函數(shù)中,不能復(fù)用。實(shí)際上,通過IDL可以確定每個(gè)接口的具體處理邏輯。通常,中間件由開發(fā)者根據(jù)HTTP請(qǐng)求的具體邏輯完成開發(fā)工作,需要開發(fā)者付出大量的開發(fā)工作,且容易在開發(fā)中產(chǎn)生錯(cuò)誤代碼。
發(fā)明內(nèi)容
提供該發(fā)明內(nèi)容部分以便以簡(jiǎn)要的形式介紹構(gòu)思,這些構(gòu)思將在后面的具體實(shí)施方式部分被詳細(xì)描述。該發(fā)明內(nèi)容部分并不旨在標(biāo)識(shí)要求保護(hù)的技術(shù)方案的關(guān)鍵特征或必要特征,也不旨在用于限制所要求的保護(hù)的技術(shù)方案的范圍。
本公開的目的在于提供一種動(dòng)態(tài)生成中間件的方法、裝置、介質(zhì)和電子設(shè)備,能夠解決上述提到的至少一個(gè)技術(shù)問題。具體方案如下:
根據(jù)本公開的具體實(shí)施方式,第一方面,本公開提供一種動(dòng)態(tài)生成中間件的方法,包括:
在node.js框架中,動(dòng)態(tài)加載和獲取采用接口描述語(yǔ)言撰寫的第一文件;
分析所述第一文件,生成對(duì)應(yīng)的第一抽象邏輯語(yǔ)法樹;
遍歷所述第一抽象邏輯語(yǔ)法樹分別獲取每種請(qǐng)求消息對(duì)應(yīng)的接口元信息;其中,所述請(qǐng)求消息是滿足超文本傳輸協(xié)議的消息;
基于每個(gè)接口元信息分別獲取對(duì)應(yīng)的多框架處理函數(shù)集;
基于每個(gè)接口元信息和對(duì)應(yīng)的所述多框架處理函數(shù)集分別生成中間件。
根據(jù)本公開的具體實(shí)施方式,第二方面,本公開提供一種動(dòng)態(tài)生成中間件的裝置,包括:
動(dòng)態(tài)加載單元,用于在node.js框架中,動(dòng)態(tài)加載和獲取采用接口描述語(yǔ)言撰寫的第一文件;
分析單元,用于分析所述第一文件,生成對(duì)應(yīng)的第一抽象邏輯語(yǔ)法樹;
獲取接口元信息單元,用于遍歷所述第一抽象邏輯語(yǔ)法樹分別獲取每種請(qǐng)求消息對(duì)應(yīng)的接口元信息;其中,所述請(qǐng)求消息是滿足超文本傳輸協(xié)議的消息;
獲取多框架處理函數(shù)集單元,用于基于每個(gè)接口元信息分別獲取對(duì)應(yīng)的多框架處理函數(shù)集;
生成中間件單元,用于基于每個(gè)接口元信息和對(duì)應(yīng)的所述多框架處理函數(shù)集分別生成中間件。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010085254.3/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 動(dòng)態(tài)矢量譯碼方法和動(dòng)態(tài)矢量譯碼裝置
- 動(dòng)態(tài)口令的顯示方法及動(dòng)態(tài)令牌
- 動(dòng)態(tài)庫(kù)管理方法和裝置
- 動(dòng)態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動(dòng)態(tài)口令生成方法、動(dòng)態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動(dòng)態(tài)模糊控制系統(tǒng)
- 一種基于動(dòng)態(tài)信號(hào)的POS機(jī)和安全保護(hù)方法
- 圖像動(dòng)態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動(dòng)態(tài)聚合碼的系統(tǒng)
- 基于動(dòng)態(tài)口令的身份認(rèn)證方法、裝置和動(dòng)態(tài)令牌
- 運(yùn)動(dòng)圖像再生用中間件選擇執(zhí)行裝置及方法
- 運(yùn)動(dòng)圖像再生用中間件選擇執(zhí)行裝置及方法
- 聯(lián)接組件
- 一種跨中間件平臺(tái)的組件的實(shí)現(xiàn)方法和裝置
- 一種識(shí)別鏈路異常的方法及裝置
- 中間件的測(cè)試方法、裝置和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種物聯(lián)網(wǎng)中間件高可用性的實(shí)現(xiàn)方法及系統(tǒng)
- 中間件控制運(yùn)行方法、系統(tǒng)
- 中間件管理方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 一種業(yè)務(wù)執(zhí)行的方法以及裝置
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





