[發明專利]批量操作有效
| 申請號: | 201110440114.4 | 申請日: | 2011-12-16 |
| 公開(公告)號: | CN102591933A | 公開(公告)日: | 2012-07-18 |
| 發明(設計)人: | H·J·M·梅杰 | 申請(專利權)人: | 微軟公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 高見 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 批量 操作 | ||
技術領域
本發明涉及批量操作。
背景技術
數據處理是計算機編程的基本部分。可從各種編程語言中選擇創建程序的編程語言。用于特定的應用程序的所選語言可取決于應用程序上下文、開發者的偏好、或公司策略,以及其他因素。無論所選語言如何,開發者最終將必須處理數據,即查詢以及創建、更新和刪除數據。
已開發稱為語言集成查詢(LINQ)的技術以便于從編程語言內查詢或者換言之讀取數據。LINQ提供方便且聲明性簡寫查詢句法以在編程語言(例如,...)內部允許對查詢的指定。更具體而言,提供映射到較低層語言構造或原語的查詢運算符,諸如方法和拉姆達表達式(lambda?expression)。提供用于各種運算(例如,過濾、投影、連接、分組、排序……)族的查詢運算符,并且查詢運算符可包括但不限于映射到實現這些名稱所表示的運算符的方法的“where”和“select”運算符。作為示例,用戶可以以諸如“from?n?in?numbers?where?n<10select?n”的形式指定查詢,其中“numbers”是數據源并且查詢從數據源返回小于10的整數。此外,可以以各種方式組合查詢運算符以生成任意復雜度的查詢。
為了在編程語言內部執行創建、更新和刪除操作,可利用LINQ的查詢功能。更具體地,使用LINQ將在其上可執行創建、更新或刪除操作的數據集合從持久數據存儲(例如,數據的非易失性儲存庫)讀取至存儲器中。后續地,在存儲器內表示上執行一個或多個操作并將變更推送回至持久數據存儲。換言之,可跟蹤對檢索自數據庫的實體的變更,并且當在數據庫上調用“SubmitChanges()”或類似過程時,在底層數據結構(例如,表)上執行累積的變更。
發明內容
下面呈現了簡化的發明內容,以便提供對所公開主題的某些方面的基本概念。本發明內容不是廣泛性的概觀。它并不旨在標識關鍵/重要元素,也不旨在劃定所要求保護主題的范圍。其唯一目的是以簡化形式呈現一些概念,作為稍后呈現的更具體實施例的序言。
簡言之,本發明一般涉及批量操作??衫谜Z言集成查詢指定創建、讀取、更新和刪除操作。然而,例如,每一批量操作可與其他批量操作不同地來實現——與根據諸如讀取操作之類的特定操作相反。此外,可將批量操作相關的功能可根據特定批量操作來約束,以防止或至少減少運行時錯誤。根據本發明的一個方面,批量操作可關于為操作(例如,IQuerable,IInsertable,IUpdatable,IDeletable)所特有的類型的專用集合來操作。此外,對集合的其他操作可基于集合類型來進行限制,包括但不限于用于定義集合的查詢運算符。
為實現上述及相關目的,在此結合以下描述和附圖描述了所要求保護主題的某些說明性方面。這些方面指示可實踐本主題的各種方式,它們均落在所要求保護主題的范圍之內。當結合附圖閱讀以下詳細描述時,本發明的其他優點和新穎特征將變得顯而易見。
附圖說明
圖1是便于與持久數據存儲處交互的系統的框圖。
圖2是代表性LINQ批量操作的框圖。
圖3A-C圖形化地示出創建、更新和刪除操作。
圖4是與持久數據存儲交互的方法的流程圖。
圖5是編碼批量操作的方法的流程圖。
圖6是驗證批量操作的方法的流程圖。
圖7是示出用于本公開各方面的合適操作環境的示意性框圖。
具體實施方式
以下細節大體針對包括在語言集成查詢上下文中創建、更新和刪除的批量操作。常規上,支持單個批量操作,即讀取操作??勺⑷氪a以利用讀取操作來執行其他批量操作,例如,通過將數據從持久數據存儲(例如,數據庫)讀取至存儲器,允許對存儲器內數據進行變更并將變更推送回持久數據存儲。
然而,關于上述方法至少有兩個問題。首先,盡管對于讀取操作將數據加載至存儲器是合乎需要的,但是對于其他批量操作,至少由于效率原因優選直接在持久數據存儲上執行操作而不創建存儲器內表示(例如,對象)。例如,考慮涉及一百萬個記錄的情形。此處,從持久數據存儲加載一百萬個記錄、跟蹤變更并將數據推送回持久數據存儲將是非常低效的。其次,由讀取查詢標識的集合對于其他操作可能是不兼容的,由此導致運行時錯誤。例如,如果對多個表執行“Join(聯合)”查詢運算符,則刪除操作將難以(如果不是不可能的話)執行,因為接收特定數據所針對的表是未知的。本發明解決了這些和其他問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟公司,未經微軟公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201110440114.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于分離生物流體的配套元件
- 下一篇:使用結構化數據管理網頁鏈接





