亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

HTML文件的分布式發(fā)布方法和HTML文件的分布式發(fā)布裝置與流程

文檔序號(hào):11134069閱讀:1076來(lái)源:國(guó)知局
HTML文件的分布式發(fā)布方法和HTML文件的分布式發(fā)布裝置與制造工藝

本發(fā)明涉及Web應(yīng)用技術(shù)領(lǐng)域,具體而言,涉及一種HTML文件的分布式發(fā)布方法和一種HTML文件的分布式發(fā)布裝置。



背景技術(shù):

目前,現(xiàn)有的B/S架構(gòu)的項(xiàng)目,都是將靜態(tài)HTML(Hyper Text Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)文件放在Web服務(wù)器上,或者通過(guò)后臺(tái)的模版引擎動(dòng)態(tài)渲染后,提供給客戶端使用。采用這種方式,所有的對(duì)HTML文件的請(qǐng)求,都會(huì)集中由Web服務(wù)器提供,增加了Web服務(wù)器的負(fù)擔(dān),耗費(fèi)了Web服務(wù)器性能。特別是在并發(fā)量大或項(xiàng)目頁(yè)面量大時(shí),以上的這些缺點(diǎn)會(huì)放大,最終成為產(chǎn)品的瓶頸和短板。

因此,如何降低Web服務(wù)器的負(fù)擔(dān),優(yōu)化Web服務(wù)器性能成為亟待解決的技術(shù)問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明正是基于上述問(wèn)題,提出了一種新的技術(shù)方案,可以降低Web服務(wù)器的負(fù)擔(dān),優(yōu)化Web服務(wù)器性能。

有鑒于此,本發(fā)明的第一方面提出了一種HTML文件的分布式發(fā)布方法,包括:根據(jù)業(yè)務(wù)需要,將HTML文件劃分為多個(gè)模塊;生成所述多個(gè)模塊中的每個(gè)模塊的HTML模板文件,并將所述HTML模板文件轉(zhuǎn)換成JavaScript文件;將所述JavaScript文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)上。

在該技術(shù)方案中,通過(guò)將HTML文件轉(zhuǎn)換成JavaScript文件,并發(fā)布到CDN,以將HTML文件存放到CND服務(wù)器上,避免了將HTML文件存放在Web服務(wù)器上,也就避免了由Web服務(wù)器提供對(duì)HTML文件的請(qǐng)求,從而降低了Web服務(wù)器的負(fù)擔(dān),優(yōu)化Web服務(wù)器性能。另外,可以就近訪問(wèn)CND服務(wù)器,大幅度地提升了站點(diǎn)的響應(yīng)速度,減少了Web服務(wù)器資源和CND資源的浪費(fèi),提升了用戶的使用體驗(yàn)。

在上述技術(shù)方案中,優(yōu)選地,所述生成所述多個(gè)模塊中的每個(gè)模塊的HTML模板文件,并將所述HTML模板文件轉(zhuǎn)換成JavaScript文件的步驟,具體包括:在所述每個(gè)模塊中添加標(biāo)記,以生成所述HTML模板文件;解析出所述HTML模板文件中的標(biāo)記,并根據(jù)所述HTML模板文件中的標(biāo)記,將所述HTML模板文件轉(zhuǎn)換成所述JavaScript文件。

在該技術(shù)方案中,由于CDN上不允許存放HTML文件,因此,通過(guò)在每個(gè)模塊中添加標(biāo)記來(lái)生成HTML模板文件,然后將其轉(zhuǎn)換成JavaScript文件,從而為HTML文件發(fā)布到CDN上提供了基礎(chǔ)。

在上述任一技術(shù)方案中,優(yōu)選地,所述解析出所述HTML模板文件中的標(biāo)記的步驟,具體包括:將所述HTML模板文件中的內(nèi)容讀取為字符串,使用正則表達(dá)式對(duì)所述字符串進(jìn)行分析,以獲取到所述HTML模板文件中的標(biāo)記。

在上述任一技術(shù)方案中,優(yōu)選地,所述HTML模板文件中的標(biāo)記包括:占位標(biāo)記、條件控制標(biāo)記、分支控制標(biāo)識(shí)和循環(huán)標(biāo)記。

在該技術(shù)方案中,使用正則表達(dá)式對(duì)字符串進(jìn)行分析,找出預(yù)置的占位標(biāo)記,將占位替換為業(yè)務(wù)數(shù)據(jù),或JS(JavaScript)變量,并在變量被賦值后,替換變量占位標(biāo)記。將條件控制標(biāo)識(shí)及分支控制標(biāo)識(shí),轉(zhuǎn)換為JavaScript中的條件控制語(yǔ)句及分支控制語(yǔ)句,從而實(shí)現(xiàn)HTML模板文件到JavaScript文件的轉(zhuǎn)換。

在上述任一技術(shù)方案中,優(yōu)選地,所述多個(gè)模塊之間相互獨(dú)立,且所述多個(gè)模塊中的任兩個(gè)模塊之間通過(guò)接口進(jìn)行交互。

在該技術(shù)方案中,多個(gè)模塊之間相互獨(dú)立,各自負(fù)責(zé)各自的展現(xiàn)和邏輯,彼此之間通過(guò)接口進(jìn)行交互,從而為HTML文件的分布式發(fā)布提供了保障。

本發(fā)明的第二方面提出了一種HTML文件的分布式發(fā)布裝置,包括:劃分單元,用于根據(jù)業(yè)務(wù)需要,將HTML文件劃分為多個(gè)模塊;轉(zhuǎn)換單元,用于生成所述多個(gè)模塊中的每個(gè)模塊的HTML模板文件,并將所述HTML模板文件轉(zhuǎn)換成JavaScript文件;發(fā)布單元,用于將所述JavaScript文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡(luò)上。

在該技術(shù)方案中,通過(guò)將HTML文件轉(zhuǎn)換成JavaScript文件,并發(fā)布到CDN,以將HTML文件存放到CND服務(wù)器上,避免了將HTML文件存放在Web服務(wù)器上,也就避免了由Web服務(wù)器提供對(duì)HTML文件的請(qǐng)求,從而降低了Web服務(wù)器的負(fù)擔(dān),優(yōu)化Web服務(wù)器性能。另外,可以就近訪問(wèn)CND服務(wù)器,大幅度地提升了站點(diǎn)的響應(yīng)速度,減少了Web服務(wù)器資源和CND資源的浪費(fèi),提升了用戶的使用體驗(yàn)。

在上述技術(shù)方案中,優(yōu)選地,所述轉(zhuǎn)換單元包括:生成子單元,用于在所述每個(gè)模塊中添加標(biāo)記,以生成所述HTML模板文件;轉(zhuǎn)換子單元,用于解析出所述HTML模板文件中的標(biāo)記,并根據(jù)所述HTML模板文件中的標(biāo)記,將所述HTML模板文件轉(zhuǎn)換成所述JavaScript文件。

在該技術(shù)方案中,由于CDN上不允許存放HTML文件,因此,通過(guò)在每個(gè)模塊中添加標(biāo)記來(lái)生成HTML模板文件,然后將其轉(zhuǎn)換成JavaScript文件,從而為HTML文件發(fā)布到CDN上提供了基礎(chǔ)。

在上述任一技術(shù)方案中,優(yōu)選地,所述轉(zhuǎn)換子單元具體用于,將所述HTML模板文件中的內(nèi)容讀取為字符串,使用正則表達(dá)式對(duì)所述字符串進(jìn)行分析,以獲取到所述HTML模板文件中的標(biāo)記。

在上述任一技術(shù)方案中,優(yōu)選地,所述HTML模板文件中的標(biāo)記包括:占位標(biāo)記、條件控制標(biāo)記、分支控制標(biāo)識(shí)和循環(huán)標(biāo)記。

在該技術(shù)方案中,使用正則表達(dá)式對(duì)字符串進(jìn)行分析,找出預(yù)置的占位標(biāo)記,將占位替換為業(yè)務(wù)數(shù)據(jù),或JS(JavaScript)變量,并在變量被賦值后,替換變量占位標(biāo)記。將條件控制標(biāo)識(shí)及分支控制標(biāo)識(shí),轉(zhuǎn)換為JavaScript中的條件控制語(yǔ)句及分支控制語(yǔ)句,從而實(shí)現(xiàn)HTML模板文件到JavaScript文件的轉(zhuǎn)換。

在上述任一技術(shù)方案中,優(yōu)選地,所述多個(gè)模塊之間相互獨(dú)立,且所述多個(gè)模塊中的任兩個(gè)模塊之間通過(guò)接口進(jìn)行交互。

在該技術(shù)方案中,多個(gè)模塊之間相互獨(dú)立,各自負(fù)責(zé)各自的展現(xiàn)和邏輯,彼此之間通過(guò)接口進(jìn)行交互,從而為HTML文件的分布式發(fā)布提供了保障。

通過(guò)本發(fā)明的技術(shù)方案,可以降低Web服務(wù)器的負(fù)擔(dān),優(yōu)化Web服務(wù)器性能。

附圖說(shuō)明

圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的HTML文件的分布式發(fā)布方法的流程示意圖;

圖2示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的HTML文件的分布式發(fā)布方法的流程示意圖;

圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的HTML文件的分布式發(fā)布裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了可以更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。

在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。

圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的HTML文件的分布式發(fā)布方法的流程示意圖。

如圖1所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的HTML文件的分布式發(fā)布方法,包括:

步驟102,根據(jù)業(yè)務(wù)需要,將HTML文件劃分為多個(gè)模塊。

步驟104,生成所述多個(gè)模塊中的每個(gè)模塊的HTML模板文件,并將所述HTML模板文件轉(zhuǎn)換成JavaScript文件。

步驟106,將所述JavaScript文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡(luò)上。

在該技術(shù)方案中,通過(guò)將HTML文件轉(zhuǎn)換成JavaScript文件,并發(fā)布到CDN,以將HTML文件存放到CND服務(wù)器上,避免了將HTML文件存放在Web服務(wù)器上,也就避免了由Web服務(wù)器提供對(duì)HTML文件的請(qǐng)求,從而降低了Web服務(wù)器的負(fù)擔(dān),優(yōu)化Web服務(wù)器性能。另外,可以就近訪問(wèn)CND服務(wù)器,大幅度地提升了站點(diǎn)的響應(yīng)速度,減少了Web服務(wù)器資源和CND資源的浪費(fèi),提升了用戶的使用體驗(yàn)。

在上述技術(shù)方案中,優(yōu)選地,步驟104具體包括:在所述每個(gè)模塊中添加標(biāo)記,以生成所述HTML模板文件;解析出所述HTML模板文件中的標(biāo)記,并根據(jù)所述HTML模板文件中的標(biāo)記,將所述HTML模板文件轉(zhuǎn)換成所述JavaScript文件。

在該技術(shù)方案中,由于CDN上不允許存放HTML文件,因此,通過(guò)在每個(gè)模塊中添加標(biāo)記來(lái)生成HTML模板文件,然后將其轉(zhuǎn)換成JavaScript文件,從而為HTML文件發(fā)布到CDN上提供了基礎(chǔ)。

具體地,通過(guò)在每個(gè)模塊中加入標(biāo)記(語(yǔ)法糖),用來(lái)標(biāo)識(shí)HTML中的占位、條件控制、循環(huán)等。

如下代碼,以下代碼中的雙花括號(hào)即語(yǔ)法糖。

<div>{{entity.name}}!您好</div>

<div>年齡:{{entity.age}}</div>

{{each list}}

<div>{{index+1}}{{value}}!</div>

{{/each}}

在上述任一技術(shù)方案中,優(yōu)選地,所述解析出所述HTML模板文件中的標(biāo)記的步驟,具體包括:將所述HTML模板文件中的內(nèi)容讀取為字符串,使用正則表達(dá)式對(duì)所述字符串進(jìn)行分析,以獲取到所述HTML模板文件中的標(biāo)記。

在上述任一技術(shù)方案中,優(yōu)選地,所述HTML模板文件中的標(biāo)記包括:占位標(biāo)記、條件控制標(biāo)記、分支控制標(biāo)識(shí)和循環(huán)標(biāo)記。

在該技術(shù)方案中,使用正則表達(dá)式對(duì)字符串進(jìn)行分析,找出預(yù)置的占位標(biāo)記,將占位替換為業(yè)務(wù)數(shù)據(jù),或JS(JavaScript)變量,并在變量被賦值后,替換變量占位標(biāo)記。將條件控制標(biāo)識(shí)及分支控制標(biāo)識(shí),轉(zhuǎn)換為JavaScript中的條件控制語(yǔ)句及分支控制語(yǔ)句,從而實(shí)現(xiàn)HTML模板文件到JavaScript文件的轉(zhuǎn)換。

在上述任一技術(shù)方案中,優(yōu)選地,所述多個(gè)模塊之間相互獨(dú)立,且所述多個(gè)模塊中的任兩個(gè)模塊之間通過(guò)接口進(jìn)行交互。

在該技術(shù)方案中,多個(gè)模塊之間相互獨(dú)立,各自負(fù)責(zé)各自的展現(xiàn)和邏輯,彼此之間通過(guò)接口進(jìn)行交互,從而為HTML文件的分布式發(fā)布提供了保障。

圖2示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的HTML文件的分布式發(fā)布方法的流程示意圖。

如圖2所示,根據(jù)本發(fā)明的另一個(gè)實(shí)施例的HTML文件的分布式發(fā)布方法,包括:

步驟202,將HTML文件劃分為多個(gè)模塊。每個(gè)模塊擁有自身獨(dú)有的CSS(Cascading Style Sheets,層疊樣式表)和JS(JavaScript)等資源。多個(gè)模塊相互之間具有獨(dú)立性,各自負(fù)責(zé)各自的展現(xiàn)和邏輯,彼此之間通過(guò)接口進(jìn)行交互。

步驟204,對(duì)多個(gè)模塊分別模板化。

步驟206,轉(zhuǎn)換成JavaScript文件。

步驟208,將JavaScript文件發(fā)布到CDN s1、CDN s2、CDN s3等CDN上,以通過(guò)CDN為客戶端提供HTML頁(yè)面的請(qǐng)求。

圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的HTML文件的分布式發(fā)布裝置的結(jié)構(gòu)示意圖。

如圖3所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的HTML文件的分布式發(fā)布裝置300,包括:劃分單元302、轉(zhuǎn)換單元304和發(fā)布單元306。

劃分單元302,用于根據(jù)業(yè)務(wù)需要,將HTML文件劃分為多個(gè)模塊;轉(zhuǎn)換單元304,用于生成所述多個(gè)模塊中的每個(gè)模塊的HTML模板文件,并將所述HTML模板文件轉(zhuǎn)換成JavaScript文件;發(fā)布單元306,用于將所述JavaScript文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡(luò)上。

在該技術(shù)方案中,通過(guò)將HTML文件轉(zhuǎn)換成JavaScript文件,并發(fā)布到CDN,以將HTML文件存放到CND服務(wù)器上,避免了將HTML文件存放在Web服務(wù)器上,也就避免了由Web服務(wù)器提供對(duì)HTML文件的請(qǐng)求,從而降低了Web服務(wù)器的負(fù)擔(dān),優(yōu)化Web服務(wù)器性能。另外,可以就近訪問(wèn)CND服務(wù)器,大幅度地提升了站點(diǎn)的響應(yīng)速度,減少了Web服務(wù)器資源和CND資源的浪費(fèi),提升了用戶的使用體驗(yàn)。

在上述技術(shù)方案中,優(yōu)選地,所述轉(zhuǎn)換單元304包括:生成子單元3042,用于在所述每個(gè)模塊中添加標(biāo)記,以生成所述HTML模板文件;轉(zhuǎn)換子單元3044,用于解析出所述HTML模板文件中的標(biāo)記,并根據(jù)所述HTML模板文件中的標(biāo)記,將所述HTML模板文件轉(zhuǎn)換成所述JavaScript文件。

在該技術(shù)方案中,由于CDN上不允許存放HTML文件,因此,通過(guò)在每個(gè)模塊中添加標(biāo)記來(lái)生成HTML模板文件,然后將其轉(zhuǎn)換成JavaScript文件,從而為HTML文件發(fā)布到CDN上提供了基礎(chǔ)。

在上述任一技術(shù)方案中,優(yōu)選地,所述轉(zhuǎn)換子單元3044具體用于,將所述HTML模板文件中的內(nèi)容讀取為字符串,使用正則表達(dá)式對(duì)所述字符串進(jìn)行分析,以獲取到所述HTML模板文件中的標(biāo)記。

在上述任一技術(shù)方案中,優(yōu)選地,所述HTML模板文件中的標(biāo)記包括:占位標(biāo)記、條件控制標(biāo)記、分支控制標(biāo)識(shí)和循環(huán)標(biāo)記。

在該技術(shù)方案中,使用正則表達(dá)式對(duì)字符串進(jìn)行分析,找出預(yù)置的占位標(biāo)記,將占位替換為業(yè)務(wù)數(shù)據(jù),或JS(JavaScript)變量,并在變量被賦值后,替換變量占位標(biāo)記。將條件控制標(biāo)識(shí)及分支控制標(biāo)識(shí),轉(zhuǎn)換為JavaScript中的條件控制語(yǔ)句及分支控制語(yǔ)句,從而實(shí)現(xiàn)HTML模板文件到JavaScript文件的轉(zhuǎn)換。

在上述任一技術(shù)方案中,優(yōu)選地,所述多個(gè)模塊之間相互獨(dú)立,且所述多個(gè)模塊中的任兩個(gè)模塊之間通過(guò)接口進(jìn)行交互。

在該技術(shù)方案中,多個(gè)模塊之間相互獨(dú)立,各自負(fù)責(zé)各自的展現(xiàn)和邏輯,彼此之間通過(guò)接口進(jìn)行交互,從而為HTML文件的分布式發(fā)布提供了保障。

以上結(jié)合附圖詳細(xì)說(shuō)明了本發(fā)明的技術(shù)方案,通過(guò)本發(fā)明的技術(shù)方案,將Web前端資源中,除首頁(yè)中少量的占位符及Dom文檔結(jié)構(gòu)代碼外,都存放到CDN服務(wù)器上(包括圖片、CSS和JS等靜態(tài)資源),并通過(guò)CDN的同步機(jī)制,將資源分發(fā)到整個(gè)互聯(lián)網(wǎng)中,從而降低Web服務(wù)器的負(fù)擔(dān),優(yōu)化Web服務(wù)器性能。另外,用戶可以就近訪問(wèn),大幅度提升站點(diǎn)的響應(yīng)速度,減少Web服務(wù)器資源的浪費(fèi),提升了用戶的體驗(yàn)。

以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1