一種基於列模板的智能文本數據採集方法和系統的製作方法
2023-04-29 12:47:26 1
一種基於列模板的智能文本數據採集方法和系統的製作方法
【專利摘要】本發明公開了一種基於列模板的智能文本數據採集方法和系統,包括數據文件、列模版、列模版分析引擎、數據寫入模塊和資料庫;該列模版用於建立數據文件與資料庫的列對應關係,該列模版分析引擎用於按列模版將原始數據轉換為目標數據以完成列的組合,該數據寫入模塊將轉換後的列數據導入資料庫;通過列模板方式的細化控制粒度,增強數據導入程序的靈活性和通用性。
【專利說明】一種基於列模板的智能文本數據採集方法和系統
【技術領域】
[0001] 本發明屬於資料庫【技術領域】,具體涉及一種將數據文件導入資料庫的方法和系 統,尤其適合將各種不同格式數據導入到資料庫中。
【背景技術】
[0002] 現有技術中,將數據文件導入資料庫的方法為:首先提取數據文件中的一條數據, 然後進行分析,根據分析結果,建立相應數據表以及數據表和該數據文件數據行的對應關 系,然後編寫程序將文件導入資料庫。這種方法導入數據,必須針對不同的數據文件編寫不 同的導入程序,其缺點主要表現如下: (1)必須針對每個數據文件編寫不同的導入程序,開發工作量大。而且一旦數據文件格 式變化,必須修改相應的導入程序,維護工作量大。
[0003] (2)對於文件格式預先不知道的情況,無法勝任。只適合預定義特定格式文件導入 情況。
【發明內容】
[0004] 為解決上述技術問題,本發明的目的是提供一種基於列模板的智能文本數據採集 方法和系統。
[0005] 本發明採用的技術方案是: 一種基於列模板的智能文本數據採集方法,包括以下步驟: A、 分析數據文件,確定數據文件包含數據項信息; B、 根據數據文件數據項信息制定列模板; C、 轉換數據,根據列模板將原始數據轉換目標數據; D、 導入數據,將轉換後的數據導入資料庫。
[0006] 其中,所述列模板包括對應資料庫列名、數據類型、轉換規則。
[0007] 進一步的,所述轉換規則包括直接導入轉換、字典導入轉換、關聯導入轉換。
[0008] 所述直接導入直接轉換為數據不做轉換;所述字典導入轉換為按字典對應關係轉 換;所述關聯導入轉換以現有數據做一次轉換。
[0009] 所述關聯導入轉換通過預先定義的SQL語句完成。
[0010] 本發明還包括基於上述方法的技術方案,一種基於列模板的智能文本數據米集系 統,其特徵在於:包括數據文件、列模版、列模版分析引擎、數據寫入模塊和資料庫;該列模 版用於建立數據文件與資料庫的列對應關係,該列模版分析引擎用於按列模版將原始數據 轉換為目標數據以完成列的組合,該數據寫入模塊將轉換後的列數據導入資料庫。
[0011] 所述列模版包括對應資料庫列名、數據類型、轉換規則。
[0012] 所述轉換規則包括直接導入轉換、字典導入轉換、關聯導入轉換。
[0013] 所述字典導入轉換為按字典對應關係轉換;所述關聯導入轉換以現有數據做一 次轉換。
[0014] 所述關聯導入轉換通過預先定義的SQL語句完成。
[0015] 本發明的有益效果: 本發明智能文本數據採集方法和系統通過列模板方式的細化控制粒度,將數據文件每 一個數據項和資料庫的一列建立對應關係和轉換規則,轉換程序也是基於列的,數據導入 程序動態組合不同的列導入不同的數據行;這樣,只要寫一次導入程序就可以導入不同格 式的數據問題,從而實現一個導入程序採集各種不同數據文件的數據。
【專利附圖】
【附圖說明】
[0016] 下面結合附圖對本發明的【具體實施方式】做進一步的說明。
[0017] 圖1是本發明的系統架構圖; 圖2是本發明的數據採集流程圖; 圖3是本發明具體實施例的列模板示意圖。
【具體實施方式】
[0018] 如圖1所示,為本發明的一種基於列模板的智能文本數據採集系統,包括數據文 件、列模版、列模版分析引擎、數據寫入模塊和資料庫;該列模版用於建立數據文件與數據 庫的列對應關係,該列模版分析引擎用於按列模版將原始數據轉換為目標數據以完成列的 組合,該數據寫入模塊將轉換後的列數據導入資料庫。
[0019] 其中列模板和列模板分析引擎是整個系統的核心。
[0020] 所述列模版包括對應資料庫列名、數據類型、轉換規則。所述轉換規則包括直接 導入轉換、字典導入轉換、關聯導入轉換。具體的,所述字典導入轉換為按字典對應關係轉 換;所述關聯導入轉換以現有數據做一次轉換,該關聯導入轉換通過預先定義的SQL語句 完成。
[0021] 本發明的系統通過列模板方式的細化控制粒度,增強數據導入程序的靈活性和通 用性,而無需傳統數據表導入時必須針對不同的數據文件編寫不同的導入程序。
[0022] 本發明還包括基於上述系統同一個發明構思的技術方案,一種基於列模板的智能 文本數據採集方法,包括以下步驟:(見圖2) A、 分析數據文件,確定數據文件包含數據項信息; B、 根據數據文件數據項信息制定列模板; E、 轉換數據,根據列模板將原始數據轉換目標數據; F、 導入數據,將轉換後的數據導入資料庫。
[0023] 本技術方案的具體實施例如圖3所示,以用戶資料導入為例,用戶資料主要包 括用戶名稱,性別,年齡,身份證號,地址等五項數據。假設其中一條數據為:張三,男, 24, 423322198805103266,廣東省中山市中山四路88號。本例中數據項之間採用逗號分隔, 也可以採用其他符號風格,比如空格和分號等。
[0024] 相應的,如圖所示,所述列模板包括對應資料庫列名、數據類型、轉換規則。進一步 的,所述轉換規則包括直接導入轉換、字典導入轉換、關聯導入轉換。
[0025] 具體的,所述直接導入直接轉換為數據不做轉換; 所述字典導入轉換:主要按字典對應關係轉換。比如:性別導入提供的數據是男, 女,未知而資料庫存儲的值是0 -男,1 一女,2 -未知。這樣數據導入之前需要做一 層轉換,轉換的依據就是字典(0 :男,1 :女,2 :未知); 所述關聯導入轉換以現有數據做一次轉換,(比如:導入一個物品的類別,需要先到類 別數據表找到對應類別的ID,然後將ID導入資料庫),所述關聯導入轉換通過預先定義的 SQL語句完成。
[0026] 本發明智能文本數據採集方法和系統分析數據分析文件是基於列粒度的,將數據 文件每一個數據項和資料庫的一列建立對應關係和轉換規則,轉換程序也是基於列的,數 據導入程序動態組合不同的列導入不同的數據行;這樣,只要寫一次導入程序就可以導入 不同格式的數據問題,從而實現一個導入程序採集各種不同數據文件的數據。
[0027] 以上所述僅為本發明的優先實施方式,本發明並不限定於上述實施方式,只要以 基本相同手段實現本發明目的的技術方案都屬於本發明的保護範圍之內。
【權利要求】
1. 一種基於列模板的智能文本數據採集方法,其特徵在於包括以下步驟: A、 分析數據文件,確定數據文件包含數據項信息; B、 根據數據文件數據項信息制定列模板; C、 轉換數據,根據列模板將原始數據轉換目標數據; D、 導入數據,將轉換後的數據導入資料庫。
2. 根據權利要求1所述的一種基於列模板的智能文本數據採集方法,其特徵在於:所 述列模板包括對應資料庫列名、數據類型、轉換規則。
3. 根據權利要求2所述的一種基於列模板的智能文本數據採集方法,其特徵在於:所 述轉換規則包括直接導入轉換、字典導入轉換、關聯導入轉換。
4. 根據權利要求3所述的一種基於列模板的智能文本數據採集方法,其特徵在於:所 述直接導入直接轉換為數據不做轉換;所述字典導入轉換為按字典對應關係轉換;所述 關聯導入轉換以現有數據做一次轉換。
5. 根據權利要求4所述的一種基於列模板的智能文本數據採集方法,其特徵在於:所 述關聯導入轉換通過預先定義的SQL語句完成。
6. -種基於列模板的智能文本數據採集系統,其特徵在於:包括數據文件、列模版、列 模版分析引擎、數據寫入模塊和資料庫;該列模版用於建立數據文件與資料庫的列對應關 系,該列模版分析引擎用於按列模版將原始數據轉換為目標數據以完成列的組合,該數據 寫入模塊將轉換後的列數據導入資料庫。
7. 根據權利要求6所述的一種基於列模板的智能文本數據採集系統,其特徵在於:所 述列模版包括對應資料庫列名、數據類型、轉換規則。
8. 根據權利要求7所述的一種基於列模板的智能文本數據採集系統,其特徵在於:所 述轉換規則包括直接導入轉換、字典導入轉換、關聯導入轉換。
9. 根據權利要求8所述的一種基於列模板的智能文本數據採集系統,其特徵在於:所 述字典導入轉換為按字典對應關係轉換;所述關聯導入轉換以現有數據做一次轉換。
10. 根據權利要求9所述的一種基於列模板的智能文本數據採集系統,其特徵在於:所 述關聯導入轉換通過預先定義的SQL語句完成。
【文檔編號】G06F17/30GK104123376SQ201410366176
【公開日】2014年10月29日 申請日期:2014年7月29日 優先權日:2014年7月29日
【發明者】餘敬龍 申請人:廣東能龍教育股份有限公司