【技術實現(xiàn)步驟摘要】
注入組合查詢的單子評估的制作方法注入組合查詢的單子評估
技術介紹
計算機之間的數(shù)據(jù)交換可以采用客戶機-服務器通信、點到點通信、進程到進程通信等形式。一些已有的系統(tǒng)嘗試通過預先編程一個設備從另一個設備接收的數(shù)據(jù)查詢來預期這些數(shù)據(jù)查詢。然而,此類系統(tǒng)需要相當多的資源,并且無法預期每一個可能的數(shù)據(jù)查詢。其他已有的系統(tǒng)允許設備創(chuàng)建命令式查詢,例如在JAVASCRIPT腳本語言中。然而,對此類系統(tǒng)來說,這些查詢會因為所述查詢所具有的長度及其句法復雜度而難以構成、序列化和解析。更進一步,至少由于命令式查詢考慮了執(zhí)行來自不可信的來源的代碼(例如執(zhí)行不受限制的分配和拷貝),所述命令式查詢會暴露出安全漏洞。就此而論,這些現(xiàn)有系統(tǒng)無法防止或包含那些已被注入到經由超文本傳輸協(xié)議(HTTP)之類的傳輸協(xié)議發(fā)送的通信之中的惡意查詢的執(zhí)行
技術實現(xiàn)思路
本公開的實施例允許將操作雙向、動態(tài)可編程地注入到第一進程與第二進程之間的通信中。第二進程從第一進程接收一個或多個具有閉包的運算符的序列。所述閉包代表的是第二進程在單子(monad)內部應用的一個或多個函數(shù)。第二進程對所接收的具有閉包的運算符進行評估,以便執(zhí)行函數(shù)。在評估過程中,所述閉包被轉換成簡單類型的閉包。更進一步,對具有經過轉換的閉包的運算符所進行的評估將被綁定在單子內部,以便限制函數(shù)的運行。本概述是為了以簡化形式引入精選概念而被提供的,并且在以下的詳細描述中將會進一步描述這些概念。本概述的目的既不是唯一確定所保護主題的關鍵或決定性要素,也不是幫助確定描述所保護的主題的范圍。附圖說明圖I是示出了第一進程與第二進程進行通信來獲取具有查詢注入 ...
【技術保護點】
一種用于以雙向、可動態(tài)編程的方式來將操作注入到第一進程(104)與第二進程(106)之間的通信中的系統(tǒng),所述系統(tǒng)包括:與第二進程(106)相關聯(lián)的存儲區(qū)域(506),所述存儲區(qū)域(506)存儲統(tǒng)一資源定位符(URL)(510),所述統(tǒng)一資源定位符中嵌入了帶有閉包的一個或多個運算符,所述帶有閉包的運算符對應于至少一個關于數(shù)據(jù)的請求;以及處理器(502),其被編程成:經由網絡從第一進程(104)接收該URL(510),以及將接收到的URL(510)保存在存儲區(qū)域(506)中;從存儲區(qū)域(506)中保存的URL(510)中提取帶有閉包的運算符;由第二進程(106)評估所提取的帶有閉包的運算符,以便產生所請求的數(shù)據(jù),所述評估包括:將閉包轉換成簡單類型的閉包,以及將帶有經過轉換的閉包的運算符綁定在單子內部,以便封裝從帶有經過轉換的閉包的運算符中產生的數(shù)據(jù);以及將所產生的數(shù)據(jù)發(fā)送到第一進程(104)。
【技術特征摘要】
2011.10.21 US 13/2792451.一種用于以雙向、可動態(tài)編程的方式來將操作注入到第一進程(104)與第二進程(106)之間的通信中的系 統(tǒng),所述系統(tǒng)包括 與第二進程(106)相關聯(lián)的存儲區(qū)域(506),所述存儲區(qū)域(506)存儲統(tǒng)一資源定位符(URL) (510),所述統(tǒng)一資源定位符中嵌入了帶有閉包的一個或多個運算符,所述帶有閉包的運算符對應于至少一個關于數(shù)據(jù)的請求;以及 處理器(502),其被編程成 經由網絡從第一進程(104)接收該URL (510),以及將接收到的URL (510)保存在存儲區(qū)域(506)中; 從存儲區(qū)域(506)中保存的URL (510)中提取帶有閉包的運算符; 由第二進程(106)評估所提取的帶有閉包的運算符,以便產生所請求的數(shù)據(jù),所述評估包括 將閉包轉換成簡單類型的閉包,以及 將帶有經過轉換的閉包的運算符綁定在單子內部,以便封裝從帶有經過轉換的閉包的運算符中產生的數(shù)據(jù);以及 將所產生的數(shù)據(jù)發(fā)送到第一進程(104)。2.權利要求I的系統(tǒng),其中第一進程是由客戶機設備運行的,并且第二進程是由云服務運行的。3.權利要求I的系統(tǒng),其中第一進程是由云服務運行的,并且第二進程是由客戶機設備運行的。4.權利要求I的系統(tǒng),其中處理器被編程成通過將至少一個操作應用于通過評估每一個帶有經過轉換的閉包的運算符所產生的數(shù)據(jù)而將帶有經過轉換的閉包的運算符綁定在單子內部,其中相同的操作被應用于從管道中帶有經過轉換的閉包的在先運算符中產生的數(shù)據(jù)上。5.權利要求I的系統(tǒng),還包括 用于利用單子處理以腳本語言嵌入在URL中的查詢運算符的裝置;以及 用于由web服務來對帶有閉包的運算符進行單子評估的裝置。6.一種方法,包括 從第一進程(104)接收一個或多個帶有閉包的運算符,所述帶有閉包的運算符代表的是由第二進程(106)執(zhí)行的一個或多個函數(shù);以及 第二進程(...
【專利技術屬性】
技術研發(fā)人員:B貝克曼,E格森,G金基,A巴齊夫,S欽奈,HJM梅杰,
申請(專利權)人:微軟公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。