[發明專利]一種構造數據對象的方法和裝置在審
| 申請號: | 201710227914.5 | 申請日: | 2017-04-10 |
| 公開(公告)號: | CN108694194A | 公開(公告)日: | 2018-10-23 |
| 發明(設計)人: | 廖耀華 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 張一軍;姜勁 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據對象 數據條目 預定義 構造數據 數據解析 結構化 數據集 數據項 源數據 注解 方法和裝置 多個屬性 數據集中 解析 應用 | ||
本發明提供一種構造數據對象的方法,其特征在于,該方法包括:獲得結構化源數據;根據預定義的數據解析策略,對該結構化源數據中的每一個有效的數據條目執行解析,以得到與該數據條目相對應的符合所述數據解析策略的數據集;針對該數據集應用預定義的對數據對象的注解以從該數據集中提取數據項,所述預定義的對數據對象的注解定義所述數據對象的一個或多個屬性;根據所提取的數據項來構造與該數據條目相對應的數據對象。
技術領域
本發明涉及計算機領域,尤其涉及一種構造數據對象的方法、裝置、電子設備和可讀存儲介質。
背景技術
在實現本發明過程中,發明人發現現有技術中至少存在如下問題:
現有的結構化源數據解析技術方案通過IO流讀取源數據,每解析一行數據就要構造一個實體的對象,然后把數據保存到數據庫中。這種技術方案代碼的可重用性非常差,每一種內容格式的文件都需要寫完整的解析流程。例如“學生”源數據包括“姓名”、“學號”、“年齡”三個屬性;“學校”源數據則包括“名稱”、“地址”兩個屬性。那么在解析“學生”和“學校”兩種源數據的時候,需要針對不同的屬性構建兩種不同的解析流程。如果有成百上千的不同格式的源數據要解析處理,對每個文件單獨編寫解析程序,工作量非常繁重且容易出錯。
此外,除了對每個源數據單獨編寫解析程序外,還必須考慮源數據處理的方式。例如,“學生”源數據解析后需要存儲到數據庫中,而“學校”源數據解析后需要存儲到磁盤中。在編寫解析程序之外,還需要對不同的經解析的源數據編寫特定的操作程序。
除此之外,隨著云存儲技術的發展和普及,越來越多的企業和個人將數據存儲在諸如云存儲的遠程數據存儲上。在這種情況下,目前讀取云存儲上的源數據的方法主要采用Java IO流的方式來讀取。在有成百上千的不同格式的源數據要解析處理的情況下,每次讀取一行數據、構建該行數據的對象,顯然是非常低效的。
發明內容
有鑒于此,本發明實施例提供構造數據對象的方法、裝置、電子設備和可讀存儲介質,能夠批量處理諸如云存儲等上保存的源數據、其他遠程數據存儲上的源數據、以及本地文件中的源數據,并通過基于反射的注解來動態解析源數據生成最終的解析對象,最后通過回調函數來對解析生成的對象執行后續操作。上面描述的整個文件解析邏輯可以集成公用的代碼庫,供用戶使用,用戶只需要預定義源數據內容的格式、源數據解析后返回的對象以及保存到數據庫的回調函數。
為實現上述目的,根據本發明實施例的一個方面,提供了一種構造數據對象的方法。
根據本發明實施例的一個方面的構造數據對象的方法,包括:獲得結構化源數據;根據預定義的數據解析策略,對該結構化源數據中的每一個有效的數據條目執行解析,以得到與該數據條目相對應的符合所述數據解析策略的數據集;針對該數據集應用預定義的對數據對象的注解以從該數據集中提取數據項,所述預定義的對數據對象的注解定義所述數據對象的一個或多個屬性;根據所提取的數據項來構造與該數據條目相對應的數據對象。
可選地,利用回調函數來對所構造的數據對象執行操作。
可選地,其中所述數據解析策略包括指示有效的數據條目在所述一個或多個源數據中的位置的位置信息和指示所述有效的數據條目中的數據項之間的分隔符的分隔符信息。
可選地,根據所述數據解析策略對結構化源數據中的每一個有效的數據條目執行解析的步驟還包括根據所述位置信息,在所述一個或多個結構化源數據中確定一個或多個有效的數據條目;針對每一個有效的數據條目:根據所述分隔符信息,從該有效的數據條目中確定至少一個數據項,從而得到包含所確定的至少一個數據項的經解析的數據集。
可選地,其中所述對數據對象的注解包括要構造的數據對象的屬性和與所述要構造的數據對象的屬性對應的數據項在所述經解析的數據集中的位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710227914.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:網頁類型的判斷方法及裝置
- 下一篇:一種分布式數據倉庫的管理方法及系統





