[發明專利]一種操作數據的方法和系統有效
| 申請號: | 201310567862.8 | 申請日: | 2013-11-13 |
| 公開(公告)號: | CN103617199A | 公開(公告)日: | 2014-03-05 |
| 發明(設計)人: | 肖羊;李新榮;柳劉;梁熹 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 劉光明;陸錦華 |
| 地址: | 100080 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 操作 數據 方法 系統 | ||
技術領域
本發明涉及計算機網絡技術領域,特別地涉及一種操作數據的方法和系統。
背景技術
在計算機網絡中常常有基于樹狀結構的數據資源,例如文件服務中的各類文件夾及其中的文件。現有的一種定位文件的方案是將文件節點信息保存在關系數據庫中,關系數據庫中除了文件本身的數據,還保存文件或文件夾與該文件或文件夾的父目錄之間的關系信息,用戶可以通過文件或文件夾標識找到文件或文件夾所在的父目錄,還可由此上溯到根目錄。
在數據量非常大的情況下,關系數據庫的讀寫速度緩慢,影響用戶對數據進行操作的效率。
發明內容
有鑒于此,本發明提供一種操作數據的方法和系統,能夠提高用戶操作樹狀結構的數據的效率。
為實現上述目的,根據本發明的一個方面,提供了一種操作數據的方法。
本發明的操作數據的方法包括:在收到用戶的數據操作請求后,在分布式緩存系統中定位第一緩存服務器;所述第一緩存服務器根據關系數據庫中的文件或文件夾與其父目錄之間的關系信息,在自身的內存中構建緩存樹,該緩存樹以樹狀結構保存所述數據訪問請求指定的數據所對應的根節點下的數據;定位所述緩存樹中保存所述數據操作請求所指定的數據所在的節點,然后對該節點中的數據進行操作并將操作結果返回給用戶。
可選地,所述在自身的內存中構建緩存樹的流程包括:步驟A:確定所述數據操作請求指定的數據對應的根節點,將該根節點保存到棧中;步驟B:判斷所述棧是否為空,若是,則停止所述流程,否則進入步驟C;步驟C:將棧頂節點出棧;步驟D:判斷出棧的節點是否為葉節點,若是,則返回所述步驟B,否則進入步驟E;步驟E:根據所述關系信息在所述關系數據庫中獲取步驟C中出棧的節點的所有子節點,將這些子節點保存到緩存樹中的所述步驟C中出棧的節點下,并且將這些子節點保存到所述棧中,然后返回所述步驟B。
可選地,所述對該節點中的數據進行操作的步驟包括:對該節點中的數據進行讀/寫,或者刪除該節點中的數據,或者對該節點新增一個子節點,或者對該節點進行重命名,或者移動該節點。
可選地,還包括保存對所述緩存樹中的節點進行操作的時間戳。
可選地,在自身的內存中構建緩存樹的步驟之后,還包括:在所述緩存樹的根節點中保存所述用戶的用戶標識。
根據本發明的另一方面,提供了一種提供數據的系統。
本發明的提供數據的系統包括:定位模塊,用于在收到用戶的數據操作請求后,在分布式緩存系統中定位第一緩存服務器;緩存樹構建模塊,用于根據關系數據庫中的文件或文件夾與其父目錄之間的關系信息,在自身的內存中構建緩存樹,該緩存樹以樹狀結構保存所述數據訪問請求指定的數據所對應的根節點下的數據;提供模塊,用于定位所述緩存樹中保存所述數據操作請求所指定的數據所在的節點,然后對該節點中的數據進行操作并將操作結果返回給用戶。
可選地,所述緩存樹構建模塊還用于根據如下流程構建緩存樹:步驟A:確定所述數據操作請求指定的數據對應的根節點,將該根節點保存到棧中;步驟B:判斷所述棧是否為空,若是,則停止所述流程,否則進入步驟C;步驟C:將棧頂節點出棧;步驟D:判斷出棧的節點是否為葉節點,若是,則返回所述步驟B,否則進入步驟E;步驟E:根據所述關系信息在所述關系數據庫中獲取步驟C中出棧的節點的所有子節點,將這些子節點保存到緩存樹中的所述步驟C中出棧的節點下,并且將這些子節點保存到所述棧中,然后返回所述步驟B。
可選地,所述緩存樹構建模塊還用于:對所述緩存樹中的節點中的數據進行讀/寫,或者刪除該節點中的數據,或者對該節點新增一個子節點,或者對該節點進行重命名,或者移動該節點。
可選地,還包括時間戳模塊,用于保存對所述緩存樹中的節點進行操作的時間戳。
可選地,所述緩存樹構建模塊還用于在所述緩存樹的根節點中保存所述用戶的用戶標識。
根據本發明的技術方案,根據關系數據庫中的文件在緩存服務器中構建緩存樹,對緩存樹中的節點的數據進行操作,由于緩存的讀寫具有速度較快的特點,因此提高了操作樹狀結構的數據的效率。另外,因為用戶在登錄后的操作通常會涉及一個根節點下的多個節點,而構建的緩存樹包含了這些節點,所以在緩存樹已被構建的情況下能大幅提高用戶操作多個節點中的數據的效率。
附圖說明
附圖用于更好地理解本發明,不構成對本發明的不當限定。其中:
圖1是根據本發明實施例的各類服務器連接的拓撲示意圖;
圖2是根據本發明實施例的構建緩存樹的流程的示意圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310567862.8/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





