根據(jù)用戶的需求格式化輸出及操作伺服端業(yè)務(wù)數(shù)據(jù)的方法

            文檔序號:6334225閱讀:696來源:國知局
            專利名稱:根據(jù)用戶的需求格式化輸出及操作伺服端業(yè)務(wù)數(shù)據(jù)的方法
            技術(shù)領(lǐng)域
            本發(fā)明涉及一種自助建站、互聯(lián)網(wǎng)開放平臺、云計(jì)算、互聯(lián)網(wǎng)在線應(yīng)用服務(wù)及 軟件開發(fā)、軟件及服務(wù)SAAS、數(shù)據(jù)交換的方法,更具體地說,涉及一種根據(jù)用戶的需求 格式化輸出及操作伺服端業(yè)務(wù)數(shù)據(jù)的方法。
            背景技術(shù)
            隨著Facebook通過開放平臺而一炮走紅,全球各大互聯(lián)網(wǎng)公司開始競相推出 自己的開放平臺戰(zhàn)略,國內(nèi)外對開放平臺的前景一片看好。開放平臺(OpenPlatform) 在軟件業(yè)和網(wǎng)絡(luò)中,開放平臺是指軟件系統(tǒng)通過公開其應(yīng)用程序編程接口(API)或過程 (function)來使外部的程序可以增加該軟件系統(tǒng)的功能或使用該軟件系統(tǒng)的資源,而不需 要更改該軟件系統(tǒng)的源代碼。目前開放平臺主要通過以下幾種技術(shù)手段實(shí)現(xiàn)平臺數(shù)據(jù)的 開放,與第三方的數(shù)據(jù)交換,搭建一些和該網(wǎng)站業(yè)務(wù)相關(guān)的應(yīng)用。(l)REST。REST 是英文 Representational State Transfer 的縮寫,中文翻譯為“表 述性狀態(tài)轉(zhuǎn)移”,他是由Roy Thomas Fielding博士在他的論文《Architectural Styles and the Design of Network-based Software Architectures》中提出的一個(gè)術(shù)語。REST 本身只是
            為分布式超媒體系統(tǒng)設(shè)計(jì)的一種架構(gòu)風(fēng)格,而不是標(biāo)準(zhǔn)。REST架構(gòu)是針對Web應(yīng)用而設(shè)計(jì)的,其目的是為了降低開發(fā)的復(fù)雜性,提高 系統(tǒng)的可伸縮性。REST提出了如下設(shè)計(jì)準(zhǔn)則1.網(wǎng)絡(luò)上的所有事物都被抽象為資源 (resource) ; 2.每個(gè)資源對應(yīng)一個(gè)唯一的資源標(biāo)識符(resource identifier) ; 3.通過通用的連 接器接口(generic connector interface)對資源進(jìn)行操作;4.對資源的各種操作不會(huì)改變資 源標(biāo)識符;5.所有的操作都是無狀態(tài)的(stateless)。REST中的資源所指的不是數(shù)據(jù),而是數(shù)據(jù)和表現(xiàn)形式的組合,比如“最新 訪問的10位會(huì)員”和“最活躍的10為會(huì)員”在數(shù)據(jù)上可能有重疊或者完全相同,而 由于他們的表現(xiàn)形式不同,所以被歸為不同的資源,這也就是為什么REST的全名是 Representational State Transfer 的原因。資源標(biāo)識符就是 URI (Uniform Resource Identifier), 不管是圖片,Word還是視頻文件,甚至只是一種虛擬的服務(wù),也不管你是xml格式,txt 文件格式還是其它文件格式,全部通過URI對資源進(jìn)行唯一的標(biāo)識。REST是基于Http協(xié)議的,任何對資源的操作行為都是通過Http協(xié)議來實(shí)現(xiàn)。目前,51,校內(nèi),海內(nèi),阿里軟件等都通過REST架構(gòu)來實(shí)現(xiàn)開放平臺。(2) Widget 微件,比較典型的例子有 Yahoo !的 Widgets,Google 的 Gadgets 和 Netvibes的UWA等。widget分類很多,作為Internet用戶而不是開發(fā)者,我們常用的有 用于網(wǎng)頁的Web Widget和用于操作系統(tǒng)的Desktop widget兩種Web Widget是一種HTML代碼,可以嵌入到網(wǎng)頁上,舉例Yahoo ! widget, iGoogle Gadget,豆辧 API。 Wikipedia web widget 說又稱為 badge, module, webjit, capsule, snippet, mini and flake.DHTML, JavaScript, Adobe Flash。Desktop widget 是運(yùn)行在 PC 操作系統(tǒng)上的微件,例如 Apple dashboard widget,Windows Sidebar and gadgets, Google desktop sidebar (Google 桌面搜索側(cè)欄)上的一個(gè)一 個(gè)小應(yīng)用,通常涉及到一個(gè)概念widget engine,即widget的運(yùn)行環(huán)境。(3)OpenSocial。OpenSocial為構(gòu)建跨多個(gè)網(wǎng)站的社交應(yīng)用程序提供了一組通用 API。開發(fā)人員可以使用標(biāo)準(zhǔn)JavaScript和HTML創(chuàng)建應(yīng)用程序,用以訪問社交網(wǎng)絡(luò)里的 朋友并更新對應(yīng)的Feeds。Opensocial為社交網(wǎng)站提供了一套統(tǒng)一的社交網(wǎng)絡(luò)框架與開發(fā) 模型。(4)Mashup是糅合,是當(dāng)今網(wǎng)絡(luò)上新出現(xiàn)的一種網(wǎng)絡(luò)現(xiàn)象,將兩種以上使用公 共或者私有數(shù)據(jù)庫的web應(yīng)用,加在一起,形成一個(gè)整合應(yīng)用。(5)云計(jì)算,Google 的 App Engine 和 Amazon 的 EC2 和 S3 等。

            發(fā)明內(nèi)容
            本發(fā)明的目的是提供一種能夠?qū)崿F(xiàn)在線開發(fā),服務(wù)商拓展應(yīng)用服務(wù)便捷,代碼 靈活,服務(wù)商開放數(shù)據(jù)接口(API)更容易,基于該腳本語言與云計(jì)算模式,應(yīng)用服務(wù)系 統(tǒng)之間的數(shù)據(jù)交換、服務(wù)整合、協(xié)同應(yīng)用靈活而且規(guī)范的根據(jù)用戶的需求格式化輸出及 操作伺服端業(yè)務(wù)數(shù)據(jù)的方法。本發(fā)明的技術(shù)方案是這樣的一種根據(jù)用戶的需求格式化輸出及操作伺服端業(yè)務(wù)數(shù)據(jù)的方法,方法如下(1)選定腳本語言及腳本語言執(zhí)行引擎;(2)用戶使用上述的語言根據(jù)業(yè)務(wù)需求編寫腳本代碼;(3)客戶端把腳本代碼發(fā)送或保存到伺服端;(4)由伺服端腳本語言執(zhí)行引擎執(zhí)行上述的腳本代碼;(5)執(zhí)行的結(jié)果數(shù)據(jù)輸出返回給客戶端。所述的腳本語言是格式化腳本語言(GScript)。所述的執(zhí)行引擎是格式化腳本語言執(zhí)行引擎(GScriptEngine),用于接收傳入的 腳本代碼,結(jié)合緩存會(huì)話(context)與請求(request)進(jìn)行解析、執(zhí)行代碼,在解析執(zhí)行過 程中根據(jù)代碼指令依次封裝輸出用戶所需的數(shù)據(jù)。所述的緩存會(huì)話(context)存儲(chǔ)引用操作結(jié)構(gòu)化/非結(jié)構(gòu)化數(shù)據(jù)庫的指針、引用 操作文件/緩存數(shù)據(jù)/其它數(shù)據(jù)資源的指針、弓I用操作CPU/其它硬件設(shè)備的指針,以及 存儲(chǔ)在代碼過程中根據(jù)用戶指令臨時(shí)產(chǎn)生的變量。所述的請求(request)存儲(chǔ)頁面請求的參數(shù)名與參數(shù)值。所述的格式化腳本語言執(zhí)行引擎(GScriptEngine)入口參數(shù)主要包含腳本代碼輸 入流(inputstream)、緩存會(huì)話(context)、請求(request)、輸出編碼(encoding)、結(jié)果數(shù)據(jù) 輸出流(outputstream)、啟用調(diào)試模式(debug)。所述的格式化腳本語言執(zhí)行引擎解析代碼的算法是變_分的方法,所述的變是 指文本字符串不斷的經(jīng)過匹配替換而變成新的字符串,所述的分是指被替換的字符串進(jìn) 行分隔演變成多個(gè)新的字符串,算法按變_分-變-分-變循環(huán)處理。所述的格式化腳本語言執(zhí)行引擎處理代碼的過程步驟如下(1)將腳本代碼輸入流轉(zhuǎn)換成文本字符串;(2)根據(jù)腳本指令函數(shù)語法變_分處理依次形成指令函數(shù)集合;
            5
            (3)按順序依次執(zhí)行指令函數(shù);(4)指令函數(shù)計(jì)算的結(jié)果根據(jù)指令函數(shù)的特性依次封裝輸出用戶所需的數(shù)據(jù)。所述的指令函數(shù)順序?yàn)橄葓?zhí)行其函數(shù)參數(shù)集合,而后依次執(zhí)行函數(shù)體內(nèi)部的 子指令函數(shù)。指令函數(shù)參數(shù)集合執(zhí)行時(shí),對參數(shù)字符串進(jìn)行分處理,依次分割成多個(gè)參數(shù)字 符串,然后進(jìn)行變處理。所述的執(zhí)行的結(jié)果數(shù)據(jù)的格式基于用戶編寫的腳本代碼指令。所述的業(yè)務(wù)數(shù)據(jù)的輸出內(nèi)容及格式可以是XML、JSON、XML+XSL、 XML+XSLT。腳本代碼發(fā)送或保存到伺服端的步驟是由服務(wù)商提供入口,通過網(wǎng)絡(luò)傳送或 保存至伺服端;當(dāng)客戶端請求訪問腳本代碼時(shí)伺服端會(huì)自動(dòng)調(diào)用腳本語言執(zhí)行引擎對其 解析、執(zhí)行,并返回結(jié)果數(shù)據(jù)。通過指令函數(shù)調(diào)用引用指針的屬性或方法對業(yè)務(wù)數(shù)據(jù)進(jìn)行操作,將執(zhí)行的結(jié)果 數(shù)據(jù)再通過指令函數(shù)格式化輸出?;谀_本語言擴(kuò)展開放數(shù)據(jù)接口(API),可以通過擴(kuò)展指令函數(shù),或通過在緩存 會(huì)話(context)中引入對象指針的方式很容易擴(kuò)展數(shù)據(jù)接口,或定義類名使用assign指令 函數(shù)構(gòu)造類對象。腳本代碼在伺服端的信任采用PKI安全體系及技術(shù)。伺服端解析執(zhí)行腳本代碼的安全防護(hù)方法可以如下(1)引擎本身確保解析過程的安全,指令函數(shù)執(zhí)行的安全,采用的方法為白盒測 試、黑盒測試;或(2)引用的對象指針使用安全策略文件限定可訪問的屬性與方法;或(3)在腳本語言執(zhí)行引擎的運(yùn)行時(shí)環(huán)境環(huán)境中加入安全策略;或(4)監(jiān)控腳本代碼的解析執(zhí)行情況。所述的安全策略可以是(1)使用沙盒,讓腳本代碼解析執(zhí)行在受限的沙盒中運(yùn)行;或(2)處理時(shí)長計(jì)時(shí),控制解析執(zhí)行腳本代碼的時(shí)間,達(dá)到限制時(shí)間后,處理將中 斷;或(3)限制腳本代碼的文件大小、語句數(shù)量;或(4)限制臨時(shí)變量緩存的數(shù)量及大小,或者使用硬盤緩存策略;或(5)利用線程空閑及睡眠sleep控制CPU占用率;或(6)控制存在循環(huán)因素的指令函數(shù)被循環(huán)調(diào)用的次數(shù);或(7)采用虛擬機(jī)。本發(fā)明的有益效果如下(1)沿襲開發(fā)者使用代碼編寫程序的習(xí)慣,開辟軟件開發(fā)新模式——在線開發(fā) 開發(fā)者在瀏覽器上就可以編碼、測試、完成應(yīng)用開發(fā)。(2)之所以稱之為腳本,即無需在伺服端上進(jìn)行部署,非常便捷的為服務(wù)商拓展 應(yīng)用服務(wù)。(3)代碼的靈活性更加靈活滿足用戶多變的需求。
            (4)基于該腳本語言更容易使得服務(wù)商開放數(shù)據(jù)接口(API)。(5)云計(jì)算模式用戶即可通過網(wǎng)絡(luò)以按需、易擴(kuò)展的方式——腳本獲得所需的 資源。用戶端只需要編寫需求腳本以及展現(xiàn)數(shù)據(jù),把計(jì)算交給服務(wù)器。使得用戶終端簡 化成一個(gè)單純的輸入輸出設(shè)備,且按需享受服務(wù)器端(“云”)的強(qiáng)大計(jì)算處理能力。(6)通過腳本非常靈活而且規(guī)范的實(shí)現(xiàn)多個(gè)應(yīng)用服務(wù)系統(tǒng)之間的數(shù)據(jù)交換、服務(wù) 整合、協(xié)同應(yīng)用等。


            圖1是本發(fā)明實(shí)現(xiàn)平臺數(shù)據(jù)的開放,完成與第三方的數(shù)據(jù)交換的示意圖。 圖2是本發(fā)明實(shí)施例的效果圖。
            具體實(shí)施例方式下面結(jié)合實(shí)施例對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明一種根據(jù)用戶的需求格式化輸出及操作伺服端業(yè)務(wù)數(shù)據(jù)的方法,方法如下(1)選定腳本語言及腳本語言執(zhí)行引擎;(2)用戶使用上述的語言根據(jù)業(yè)務(wù)需求編寫腳本代碼;(3)客戶端把腳本代碼發(fā)送或保存到伺服端;(4)由伺服端腳本語言執(zhí)行引擎執(zhí)行上述的腳本代碼;(5)執(zhí)行的結(jié)果數(shù)據(jù)輸出返回給客戶端。所述的腳本語言是格式化腳本語言(GScript)。所述的執(zhí)行引擎是格式化腳本語言執(zhí)行引擎(GScriptEngine),用于接收傳入的 腳本代碼,結(jié)合緩存會(huì)話(context)與請求(request)進(jìn)行解析、執(zhí)行代碼,在解析執(zhí)行過 程中根據(jù)代碼指令依次封裝輸出用戶所需的數(shù)據(jù)。所述的緩存會(huì)話(context)存儲(chǔ)引用操作結(jié)構(gòu)化/非結(jié)構(gòu)化數(shù)據(jù)庫的指針、引用 操作文件/緩存數(shù)據(jù)/其它數(shù)據(jù)資源的指針、弓I用操作CPU/其它硬件設(shè)備的指針,以及 存儲(chǔ)在代碼過程中根據(jù)用戶指令臨時(shí)產(chǎn)生的變量。所述的請求(request)存儲(chǔ)頁面請求的參數(shù)名與參數(shù)值。所述的格式化腳本語言執(zhí)行引擎(GScriptEngine)入口參數(shù)主要包含腳本代碼輸 入流(inputstream)、緩存會(huì)話(context)、請求(request)、輸出編碼(encoding)、結(jié)果數(shù)據(jù) 輸出流(outputstream)、啟用調(diào)試模式(debug)。所述的格式化腳本語言執(zhí)行引擎解析代碼的算法是變_分的方法,所述的變是 指文本字符串不斷的經(jīng)過匹配替換而變成新的字符串,所述的分是指被替換的字符串進(jìn) 行分隔演變成多個(gè)新的字符串,算法按變_分-變-分-變循環(huán)處理。所述的格式化腳本語言執(zhí)行引擎處理代碼的過程步驟如下(1)將腳本代碼輸入流轉(zhuǎn)換成文本字符串;(2)根據(jù)腳本指令函數(shù)語法變_分處理依次形成指令函數(shù)集合;(3)按順序依次執(zhí)行指令函數(shù);(4)指令函數(shù)計(jì)算的結(jié)果根據(jù)指令函數(shù)的特性依次封裝輸出用戶所需的數(shù)據(jù)。所述的指令函數(shù)順序?yàn)橄葓?zhí)行其函數(shù)參數(shù)集合,而后依次執(zhí)行函數(shù)體內(nèi)部的 子指令函數(shù)。
            指令函數(shù)參數(shù)集合執(zhí)行時(shí),對參數(shù)字符串進(jìn)行分處理,依次分割成多個(gè)參數(shù)字 符串,然后進(jìn)行變處理。所述的執(zhí)行的結(jié)果數(shù)據(jù)的格式基于用戶編寫的腳本代碼指令。所述的業(yè)務(wù)數(shù)據(jù)的輸出內(nèi)容及格式可以是XML、JSON、XML+XSL、 XML+XSLT。腳本代碼發(fā)送或保存到伺服端的步驟是由服務(wù)商提供入口,通過網(wǎng)絡(luò)傳送或 保存至伺服端;當(dāng)客戶端請求訪問腳本代碼時(shí)伺服端會(huì)自動(dòng)調(diào)用腳本語言執(zhí)行引擎對其 解析、執(zhí)行,并返回結(jié)果數(shù)據(jù)。通過指令函數(shù)調(diào)用引用指針的屬性或方法對業(yè)務(wù)數(shù)據(jù)進(jìn)行操作,將執(zhí)行的結(jié)果 數(shù)據(jù)再通過指令函數(shù)格式化輸出。基于腳本語言擴(kuò)展開放數(shù)據(jù)接口(API),可以通過擴(kuò)展指令函數(shù),或通過在緩存 會(huì)話(context)中引入對象指針的方式很容易擴(kuò)展數(shù)據(jù)接口,或定義類名使用assign指令 函數(shù)構(gòu)造類對象。腳本代碼在伺服端的信任采用PKI安全體系及技術(shù)。伺服端解析執(zhí)行腳本代碼的安全防護(hù)方法可以如下(1)引擎本身確保解析過程的安全,指令函數(shù)執(zhí)行的安全,采用的方法為白盒測 試、黑盒測試;或(2)引用的對象指針使用安全策略文件限定可訪問的屬性與方法;或(3)在腳本語言執(zhí)行引擎的運(yùn)行時(shí)環(huán)境環(huán)境中加入安全策略;或(4)監(jiān)控腳本代碼的解析執(zhí)行情況。引擎本身解析的過程,經(jīng)過(1)嚴(yán)格測試,以及(2)對變分方法每個(gè)環(huán)節(jié)進(jìn)行驗(yàn) 證確保解析過程的安全。另外其解析過程仍然受限在第15所述的安全策略中。指令函數(shù)執(zhí)行的安全,也是類似,(1)嚴(yán)格測試(2)對輸入的參數(shù)進(jìn)行嚴(yán)格驗(yàn)證 確保執(zhí)行的安全。針對測試,采用黑盒測試。通過使用整個(gè)軟件或某種軟件功能來嚴(yán)格地測試, 而并沒有通過檢查程序的源代碼或者很清楚地了解該軟件或某種軟件功能的源代碼程序 具體是怎樣設(shè)計(jì)的。測試人員通過輸入他們的數(shù)據(jù)然后看輸出的結(jié)果從而了解軟件怎樣 工作。通常測試人員在進(jìn)行測試時(shí)不僅使用肯定出正確結(jié)果的輸入數(shù)據(jù),而且還會(huì)使用 有挑戰(zhàn)性的輸入數(shù)據(jù)以及可能結(jié)果會(huì)出錯(cuò)的輸入數(shù)據(jù)以便了解軟件怎樣處理各種類型的 數(shù)據(jù)。針對驗(yàn)證,采用白盒測試。通過程序的源代碼進(jìn)行測試而不使用用戶界面。這 種類型的測試需要從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點(diǎn)或 者錯(cuò)誤,進(jìn)而加以修正。另外其執(zhí)行過程還受限在如下安全策略中。在腳本語言執(zhí)行引擎的運(yùn)行時(shí)環(huán)境環(huán)境中加入的安全策略可以是(1)使用沙盒,讓腳本代碼解析執(zhí)行在受限的沙盒中運(yùn)行;或(2)處理時(shí)長計(jì)時(shí),控制解析執(zhí)行腳本代碼的時(shí)間,達(dá)到限制時(shí)間后,處理將中 斷;或(3)限制腳本代碼的文件大小、語句數(shù)量;或
            (4)限制臨時(shí)變量緩存的數(shù)量及大小,或者使用硬盤緩存策略;或(5)利用線程空閑及睡眠sleep控制CPU占用率;或(6)控制存在循環(huán)因素的指令函數(shù)被循環(huán)調(diào)用的次數(shù);或(7)采用虛擬機(jī)。如圖1所示,實(shí)現(xiàn)平臺數(shù)據(jù)的開放,完成與第三方的數(shù)據(jù)交換,滿足搭建一些 和該網(wǎng)站業(yè)務(wù)相關(guān)的應(yīng)用需求??蛻舳耍蚍Q為用戶端(Client)。在計(jì)算機(jī)的世界里,凡是提供服務(wù)的一方我們 稱為伺服端(Server),而接受服務(wù)的另一方我們稱作客戶端(Client)。因此這里所指的客 戶端不局限于瀏覽器。如果一個(gè)伺服端相對于另外一個(gè)伺服端是請求或接受服務(wù)的話, 那么這個(gè)伺服端也被認(rèn)為是另一個(gè)伺服端的客戶端。這里所指的客戶端與伺服端所處的硬件設(shè)備不局限于計(jì)算機(jī),還應(yīng)包括嵌入式 設(shè)備等。格式化腳本語言,所謂格式化,其意目的就在于按照用戶的意圖格式化輸出數(shù) 據(jù)。因此我們?yōu)檫@種腳本語言提供了指令函數(shù),能夠以XML的格式按照用戶的需要將伺 服端的各種數(shù)據(jù)資源進(jìn)行計(jì)算并輸出。這就是與其它語言有著很大的不同?,F(xiàn)版本已升 級到2.0.5版本。GScript腳本主要以代碼為形式,類似于js腳本,腳本文件則以.gs為后綴。GScript腳本還存在XML的形式,但不推薦開發(fā)者使用,僅用于約束規(guī)范。其 腳本文件以.gsxml為后綴。GScript腳本由指令函數(shù)、操作符、運(yùn)算函數(shù)構(gòu)成,其中指令函數(shù)為主體。 GScript腳本代碼指令實(shí)際上就是一系列指令函數(shù)的集合。所以GScript代碼指令的形式 非常簡單,為<函數(shù)名 >(〈函數(shù)參數(shù)1>,<函數(shù)參數(shù)2>,……){<函數(shù)體>};指令函數(shù)使用;作為結(jié)束符。函數(shù)名后面的參數(shù)是用0包裹起來,多個(gè)參數(shù) 之間用,隔開。并非所有函數(shù)都有參數(shù)。如無參數(shù)則0可省略。函數(shù)體用 包裹起 來。函數(shù)體內(nèi)部則可書寫多個(gè)指令函數(shù)。并非所有函數(shù)都有函數(shù)體。如無函數(shù)體則 可省略。腳本語言執(zhí)行引擎(GScriptEngine)的核心作用在于接收傳入的腳本代碼,結(jié)合 緩存會(huì)話(context)與請求(request)進(jìn)行解析、執(zhí)行代碼,在解析執(zhí)行過程中根據(jù)代碼指 令依次封裝輸出用戶所需的數(shù)據(jù)。a)緩存會(huì)話(context)存儲(chǔ)引用操作結(jié)構(gòu)化/非結(jié)構(gòu)化數(shù)據(jù)庫的指針、引用操作 文件/緩存數(shù)據(jù)/其它數(shù)據(jù)資源的指針、引用操作CPU/其它硬件設(shè)備的指針等等。以 及存儲(chǔ)在代碼過程中根據(jù)用戶指令臨時(shí)產(chǎn)生的變量。b)請求(request)存儲(chǔ)頁面請求的參數(shù)名與參數(shù)值。GScriptEngine入口參數(shù)主要為腳本代碼輸入流(inputstream)、緩存會(huì)話 (context)、請求(request)、輸出編碼(encoding)、結(jié)果數(shù)據(jù)輸出流(outputstream)、啟用 調(diào)試模式(debug)。
            示例JAVA代碼
            voidwrite(
            //腳本代碼輸入流(inputstream)[Ol 24]java.io.InputStream is,[Ol 25]//緩存會(huì)話(context)[Ol 26]java.util.Map<String,Object>context,
            //請求(request)[Ol 28]com.onegrid.grid.platform.gscript.HGScriptRequest request,
            //輸出編碼(encoding)[Ol 303String encoding,[Ol 31]//結(jié)果數(shù)據(jù)輸出流(outputstream)[Ol 32]java.io.OutputStream OS,
            //啟用調(diào)試模式(debug)[Ol 343boolean debug
            35])throws HGSCriptEXCeption;
            GScriptEngine解析代碼的算法是采用變一分的方法。
            a)變是指文本字符串不斷的經(jīng)過匹配替換而變成新的字符串。
            例如文本中用()包裹起來的,或者用{}包裹起來的,或者用[]包裹起來的被替換成新的字符串例如#(0_0)。
            b)分是指被替換的字符串經(jīng)過, ; 一等進(jìn)行分隔演變成多個(gè)新的字符串。
            例如文本中用()包裹起來的字符串其被,進(jìn)行分隔成多個(gè)新的字符串。,常用于參數(shù)分隔, ;常用于語句分隔,一常用于范圍分隔。[Ol 39] 依次變一分一變一分一變?nèi)缡翘幚怼?br> GScriptEngine處理代碼的過程步驟如下
            a)將腳本代碼輸入流轉(zhuǎn)換成文本字符串。
            此過程中過濾注釋語句。
            b)根據(jù)腳本指令函數(shù)語法函數(shù)名(函數(shù)參數(shù)集合){函數(shù)體}進(jìn)行對(){}進(jìn)行變以及對;進(jìn)行分依次形成指令函數(shù)集合。
            這里僅對第一層()做變,對()的內(nèi)部()不做任何變化。
            而對{}及其內(nèi)部{}均做變。;根據(jù)語法僅存在函數(shù)體內(nèi)。
            由此函數(shù)體內(nèi)通過;分隔形成了多個(gè)子指令函數(shù)。
            assign(“a”, “/default/entity/ThingQueryHelper”){
            453setProperty(“pagesize”,20);[Ol 46]setProperty( “CUlTOW”,0);
            }[Ol 48] 處理時(shí)變化如下
            0 assign#(0_0)#{o一0}一整句,對(){}變
            l0一#{o—o},對;分[Ol 51] 20一setProperty#(O一1) 一對()變
            30一setProperty#(O一2) 一對()變
            c)按順序依次執(zhí)行指令函數(shù)。指令函數(shù)先執(zhí)行其函數(shù)參數(shù)集合,而后依次函數(shù) 體內(nèi)部的子指令函數(shù)。d)指令函數(shù)參數(shù)集合執(zhí)行時(shí),對0內(nèi)的參數(shù)字符串對,進(jìn)行分則依次被分割成 多個(gè)參數(shù)字符串,然后對內(nèi)部的0進(jìn)行變。參數(shù)字符串根據(jù)腳本操作符語法以及優(yōu)先 級、腳本運(yùn)算函數(shù)進(jìn)行計(jì)算。計(jì)算后的結(jié)果依次作為該指令函數(shù)的參數(shù)。對于[]數(shù)組范 圍也如是處理。示例assign( “a”,((1+2)+3));處理時(shí)執(zhí)行如下0 assign#(0_0) 一整句,對()變1I一#(0_0),對,分以及對內(nèi)部()變2 卜“a” 一計(jì)算結(jié)果字符串a(chǎn)3 |-#(0_1) 一對字符串(1+2)+3 內(nèi)部()再變4I 一 #{0_2}+35 卜 #(0_2)—1+26 卜3—計(jì)算結(jié)果數(shù)字37卜3—計(jì)算結(jié)果數(shù)字3e)指令函數(shù)計(jì)算的結(jié)果根據(jù)指令函數(shù)的特性依次封裝輸出用戶所需的數(shù)據(jù)。例 如out指令函數(shù)專用于輸出結(jié)果數(shù)據(jù)。并不是所有的指令函數(shù)都具備封裝輸出結(jié)果數(shù)據(jù)的 特性。輸出的結(jié)果數(shù)據(jù)根據(jù)指令函數(shù)上下關(guān)系存在一定的格式規(guī)范例如XML。這種格 式很容易在客戶端被解析處理。GScriptEngine使用@操作符引用緩存會(huì)話(context)存儲(chǔ)的各種指針與變量。指
            針或變量被引用時(shí)可使用.操作符取其屬性或執(zhí)行方法。獲取后的屬性值或執(zhí)行方法后的 結(jié)果同是可通過使用.操作符被取其屬性或執(zhí)行方法。示例以下context為緩存會(huì)話(context)存儲(chǔ)的引用事務(wù)會(huì)話的指針1 @context.actionLanguage一 actionLanguage 為 context 的屬'性2 @context.pageLink( “1234567890” ) 一 pageLink 為 context 的方法3 @context.sessionContext.logged 一 sessionContext 為 context 的屬性— logged 為屬性 sessionContext 的屬性4 @context.transfer.stringldentity ( “1234567890” ) 一 transfer 為 context 的屬 性— stringldentity 為屬性transfer 的方法5 @context.transfer.hadoopFile ( “1234567890” ) .accessLink— transfer 為 context 的屬性— hadoopFile 為屬性 transfer 的方法— accessLink為屬性transfer的方法hadoopFile執(zhí)行后的結(jié)果對象指針的屬性以上方式為服務(wù)商擴(kuò)展開放數(shù)據(jù)接口(API)提供了基礎(chǔ)。
            ·可限定屬性與方法的特性,例如在JAVA代碼中通常會(huì)使用JAVABEAN的特 性,限定屬性與方法只能取getXxx,isXxx形式的。·也可通過安全策略policy文件限定哪些屬性與方法能被獲取或執(zhí)行。該文件 可根據(jù)具體需求進(jìn)行自定義。示例< ? xml version=" 1.0〃 ? >〈policy〉〈deny class=" java.lang.Class" mode=" GET" />〈/policy〉以上策略文件限定JAVA代碼中java.lang.dass下的所有屬性與方法都不能被獲取
            或執(zhí)行。GScriptEngine使用$操作符獲取頁面請求(request)的參數(shù)值。示例1 SparamName —獲取請求參數(shù)參數(shù)名為paramName的參數(shù)值GScriptEngine當(dāng)在指針名、變量名、參數(shù)名前都不加$操作符與@操作符時(shí), 默認(rèn)先以參數(shù)名的形式從請求(request)中獲取參數(shù)值,而后在緩存會(huì)話(context)中獲取 引用的指針或變量。腳本代碼如何發(fā)送或保存到伺服端。由服務(wù)商提供入口,可通過網(wǎng)絡(luò)(例如HTTP、FTP)傳送至伺服端。當(dāng)客戶端 請求訪問該腳本代碼時(shí)伺服端會(huì)自動(dòng)調(diào)用腳本語言執(zhí)行引擎對其解析、執(zhí)行,并返回結(jié) 果數(shù)據(jù)。輸出業(yè)務(wù)數(shù)據(jù)。業(yè)務(wù)數(shù)據(jù)的輸出內(nèi)容及格式基于用戶編寫的腳本代碼指令,極大程度上提供了 數(shù)據(jù)獲取的靈活性。格式化腳本語言GScript默認(rèn)提供輸出格式為XML。XML即擴(kuò)展 標(biāo)記語言,是一種簡單的數(shù)據(jù)存儲(chǔ)語言,使用一系列簡單的標(biāo)記描述數(shù)據(jù),極其簡單易 于掌握和使用。它的簡單使其易于在任何應(yīng)用程序中讀寫數(shù)據(jù),這使XML很快成為數(shù)據(jù) 交換的唯一公共語言。示例out( “bookstore,,){out( “book,,){out( “title,,, "C++Programming Language");}}輸出的結(jié)果為< ? xml version=,,1.0” ? ><data>〈bookstore〉<book><title>C++Programming Language</title>
            </book></bookstore></data>XML格式的數(shù)據(jù)很容易跟其它任何一種應(yīng)用程序進(jìn)行交互。而且結(jié)合XSL (可 擴(kuò)展樣式表語言)很容易轉(zhuǎn)換成其它格式文檔例如HTML、XHTML或者文本。我們在 公司研發(fā)的格子平臺上就充分應(yīng)用了 XML+XSLT。(5)操作業(yè)務(wù)數(shù)據(jù)。通過指令函數(shù)例如void調(diào)用引用指針的屬性或方法從而達(dá)到添加、刪除、修改 業(yè)務(wù)數(shù)據(jù)的目的。將執(zhí)行的結(jié)果數(shù)據(jù)再通過指令函數(shù)格式化輸出。(6)基于腳本語言擴(kuò)展服務(wù)商開放數(shù)據(jù)接口(API)。服務(wù)商可以通過①擴(kuò)展指令函數(shù),或②通過在緩存會(huì)話(context)中引入對象指 針的方式很容易擴(kuò)展數(shù)據(jù)接口(API),或③定義類名使用assign指令函數(shù)構(gòu)造類對象。 我們目前已在公司研發(fā)的格子平臺上①擴(kuò)展ess (為網(wǎng)頁加載樣式文件)、js (為網(wǎng)頁加載 javascript腳本文件)、text (獲取國際化語言)等指令函數(shù),②也以插件(plugin)形式提 供email(郵件發(fā)送)、xml(XML格式文檔處理)的功能應(yīng)用,③同時(shí)也提供了很多的類 名例如查詢器” /default/entity/ThingQueryHelper” 構(gòu)造類對象。腳本代碼在伺服端的信任。采用現(xiàn)有公認(rèn)的PKI安全體系及技術(shù)就可有效解決腳本代碼在伺服端的信任問題。伺服端解析執(zhí)行腳本代碼的安全防護(hù)。伺服端解析執(zhí)行腳本代碼的安全與引用的對象指針有關(guān),與腳本語言執(zhí)行引擎
            等有關(guān)。(1)引擎本身確保解析過程的安全,指令函數(shù)執(zhí)行的安全。(2)引用的對象指針可以使用安全策略文件限定可訪問的屬性與方法。(3)腳本語言執(zhí)行引擎。其所在的運(yùn)行時(shí)環(huán)境例如JAVA語言其所需JVM虛擬 機(jī)。(4)可在運(yùn)行時(shí)環(huán)境中加入安全策略。(4.1)使用沙盒。讓腳本代碼解析執(zhí)行在受限的沙盒中運(yùn)行。(4.3)處理時(shí)長計(jì)時(shí)。控制解析執(zhí)行腳本代碼的時(shí)間。達(dá)到限制時(shí)間后,處理 將中斷。(4.4)限制腳本代碼的文件大小、語句數(shù)量。(4.5)限制臨時(shí)變量緩存的數(shù)量及大小,或者使用硬盤緩存策略。(4.6)利用線程空閑及睡眠sleep控制CPU占用率。(4.7)控制存在循環(huán)因素的指令函數(shù)被循環(huán)調(diào)用的次數(shù)。(4.8)采用虛擬機(jī)。(4.9)其它安全措施。(5)監(jiān)控腳本代碼的解析執(zhí)行情況,輔助安全防護(hù)。本發(fā)明流程中對應(yīng)的信息輸入、輸出如下1、編寫腳本代碼;
            2、XML格式輸出;3、腳本代碼運(yùn)行時(shí)GScriptEngine解析與執(zhí)行的調(diào)試信息;4、使用以下XLST轉(zhuǎn)換GScript輸出的XML格式數(shù)據(jù);5、轉(zhuǎn)換后的效果圖,如圖2所示。以上所述的僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域中的普通 技術(shù)人員來說,在不脫離本發(fā)明核心技術(shù)特征的前提下,還可以做出若干改進(jìn)和潤飾, 這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
            權(quán)利要求
            1.一種根據(jù)用戶的需求格式化輸出及操作伺服端業(yè)務(wù)數(shù)據(jù)的方法,其特征在于,方 法如下(1)選定腳本語言及腳本語言執(zhí)行引擎;(2)用戶使用上述的語言根據(jù)業(yè)務(wù)需求編寫腳本代碼;(3)客戶端把腳本代碼發(fā)送或保存到伺服端;(4)由伺服端腳本語言執(zhí)行引擎執(zhí)行上述的腳本代碼;(5)執(zhí)行的結(jié)果數(shù)據(jù)輸出返回給客戶端。
            2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的腳本語言是格式化腳本語言 (GScript)。
            3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的執(zhí)行引擎是格式化腳本語言 執(zhí)行引擎(GScriptEngine),用于接收傳入的腳本代碼,結(jié)合緩存會(huì)話(context)與請求 (request)進(jìn)行解析、執(zhí)行代碼,在解析執(zhí)行過程中根據(jù)代碼指令依次封裝輸出用戶所需 的數(shù)據(jù)。
            4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的緩存會(huì)話(context)存儲(chǔ)引用操 作結(jié)構(gòu)化/非結(jié)構(gòu)化數(shù)據(jù)庫的指針、引用操作文件/緩存數(shù)據(jù)/其它數(shù)據(jù)資源的指針、 引用操作CPU/其它硬件設(shè)備的指針,以及存儲(chǔ)在代碼過程中根據(jù)用戶指令臨時(shí)產(chǎn)生的變量。
            5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的請求(request)存儲(chǔ)頁面請求的參數(shù)名與參數(shù)值。
            6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的格式化腳本語言執(zhí)行引擎 (GScriptEngine)入口參數(shù)主要包含腳本代碼輸入流(inputstream)、緩存會(huì)話(context)、 請求(request)、輸出編碼(encoding)、結(jié)果數(shù)據(jù)輸出流(outputstream)、啟用調(diào)試模式 (debug)。
            7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的格式化腳本語言執(zhí)行引擎解 析代碼的算法是變-分的方法,所述的變是指文本字符串不斷的經(jīng)過匹配替換而變成 新的字符串,所述的分是指被替換的字符串進(jìn)行分隔演變成多個(gè)新的字符串,算法按 變-分-變-分-變循環(huán)處理。
            8.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的格式化腳本語言執(zhí)行引擎處理代 碼的過程步驟如下(1)將腳本代碼輸入流轉(zhuǎn)換成文本字符串;(2)根據(jù)腳本指令函數(shù)語法變_分處理依次形成指令函數(shù)集合;(3)按順序依次執(zhí)行指令函數(shù);(4)指令函數(shù)計(jì)算的結(jié)果根據(jù)指令函數(shù)的特性依次封裝輸出用戶所需的數(shù)據(jù)。
            9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述的指令函數(shù)順序?yàn)橄葓?zhí)行其函 數(shù)參數(shù)集合,而后依次執(zhí)行函數(shù)體內(nèi)部的子指令函數(shù)。
            10.根據(jù)權(quán)利要求9所述的方法,其特征在于,指令函數(shù)參數(shù)集合執(zhí)行時(shí),對參數(shù)字 符串進(jìn)行分處理,依次分割成多個(gè)參數(shù)字符串,然后進(jìn)行變處理。
            11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的執(zhí)行的結(jié)果數(shù)據(jù)的格式基于用 戶編寫的腳本代碼指令。
            12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述的業(yè)務(wù)數(shù)據(jù)的輸出內(nèi)容及格式可 以是 XML、JSON、XML+XSL、XML+XSLT。
            13.根據(jù)權(quán)利要求1所述的方法,其特征在于,腳本代碼發(fā)送或保存到伺服端的步驟 是由服務(wù)商提供入口,通過網(wǎng)絡(luò)傳送或保存至伺服端;當(dāng)客戶端請求訪問腳本代碼時(shí) 伺服端會(huì)自動(dòng)調(diào)用腳本語言執(zhí)行引擎對其解析、執(zhí)行,并返回結(jié)果數(shù)據(jù)。
            14.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過指令函數(shù)調(diào)用引用指針的屬性或 方法對業(yè)務(wù)數(shù)據(jù)進(jìn)行操作,將執(zhí)行的結(jié)果數(shù)據(jù)再通過指令函數(shù)格式化輸出。
            15.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于腳本語言擴(kuò)展開放數(shù)據(jù)接口 (API),可以通過擴(kuò)展指令函數(shù),或通過在緩存會(huì)話(context)中引入對象指針的方式很 容易擴(kuò)展數(shù)據(jù)接口,或定義類名使用assign指令函數(shù)構(gòu)造類對象。
            16.根據(jù)權(quán)利要求1所述的方法,其特征在于,腳本代碼在伺服端的信任采用PKI安 全體系及技術(shù)。
            17.根據(jù)權(quán)利要求1所述的方法,其特征在于,伺服端解析執(zhí)行腳本代碼的安全防護(hù) 方法可以如下(1)引擎本身確保解析過程的安全,指令函數(shù)執(zhí)行的安全,采用的方法為白盒測試、 黑盒測試;或(2)引用的對象指針使用安全策略文件限定可訪問的屬性與方法;或(3)在腳本語言執(zhí)行引擎的運(yùn)行時(shí)環(huán)境環(huán)境中加入安全策略;或(4)監(jiān)控腳本代碼的解析執(zhí)行情況。
            18.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述的安全策略可以是(1)使用沙盒,讓腳本代碼解析執(zhí)行在受限的沙盒中運(yùn)行;或(2)處理時(shí)長計(jì)時(shí),控制解析執(zhí)行腳本代碼的時(shí)間,達(dá)到限制時(shí)間后,處理將中斷;或(3)限制腳本代碼的文件大小、語句數(shù)量;或(4)限制臨時(shí)變量緩存的數(shù)量及大小,或者使用硬盤緩存策略;或(5)利用線程空閑及睡眠sleep控制CPU占用率;或(6)控制存在循環(huán)因素的指令函數(shù)被循環(huán)調(diào)用的次數(shù);或(7)采用虛擬機(jī)。
            全文摘要
            本發(fā)明涉及一種根據(jù)用戶的需求格式化輸出及操作伺服端業(yè)務(wù)數(shù)據(jù)的方法。方法如下(1)選定腳本語言及腳本語言執(zhí)行引擎;(2)用戶使用上述的語言根據(jù)業(yè)務(wù)需求編寫腳本代碼;(3)客戶端把腳本代碼發(fā)送或保存到伺服端;(4)由伺服端腳本語言執(zhí)行引擎執(zhí)行上述的腳本代碼;(5)執(zhí)行的結(jié)果數(shù)據(jù)輸出返回給客戶端。能夠?qū)崿F(xiàn)在線開發(fā),服務(wù)商拓展應(yīng)用服務(wù)便捷,代碼靈活,服務(wù)商開放數(shù)據(jù)接口(API)更容易,基于該腳本語言與云計(jì)算模式,應(yīng)用服務(wù)系統(tǒng)之間的數(shù)據(jù)交換、服務(wù)整合、協(xié)同應(yīng)用靈活而且規(guī)范的根據(jù)用戶的需求格式化輸出及操作伺服端業(yè)務(wù)數(shù)據(jù)的方法。
            文檔編號G06F9/44GK102023856SQ201010514918
            公開日2011年4月20日 申請日期2010年10月21日 優(yōu)先權(quán)日2010年10月21日
            發(fā)明者任浙東 申請人:杭州萬格網(wǎng)絡(luò)科技有限公司
            網(wǎng)友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品