本發明涉及計算機數據處理領域,具體涉及一種數據庫結構化模擬數據的生成方法。
背景技術:
1、隨著信息化的發展,金融、零售、醫療等行業中的數據處理需求日益增長,測試和開發過程中需要大量的真實感數據。然而,生成符合業務邏輯且與實際業務系統數據結構匹配的模擬數據通常需要大量的人工干預和時間成本?,F有的模擬數據生成工具大多無法根據用戶提供的樣例數據和sql條件自動生成數據字典,生成的數據難以滿足復雜業務邏輯的需求,且對多行業、多場景的適配能力較差,無法有效地支持系統開發和性能測試。
技術實現思路
1、為實現上述目的及其它相關目的,本發明公開了一種數據庫結構化模擬數據的生成方法,包括:
2、s1:接收并解析用戶提供的表結構,檢測列的實際數據類型與定義類型的差異,結合大數據模型推測字段的數據分布和關聯關系,自動調整表結構以匹配實際數據;
3、s2:解析用戶提供的sql查詢條件,提取字段約束,生成數據生成規則;
4、s3:基于用戶提供的數據樣例、sql解析結果以及大數據模型推測的字段取值范圍和分布,生成包含字段可能取值的數據字典;
5、s4:根據矯正后的表結構、數據字典及sql約束條件,生成符合業務邏輯的結構化模擬數據;
6、s5:將生成的模擬數據導出為csv、json或sql格式。
7、進一步的,s1包括:
8、對比列的存儲數據與定義數據類型,識別不匹配字段并提出修正方案;
9、結合大數據模型推測技術,分析字段的數值分布、關聯性等,推測數據應該采用的最優存儲方式;
10、根據列名關鍵詞和實際數據格式,自動建議或調整字段類型。
11、進一步的,s2包括:
12、通過正則表達式提取sql語句中的字段約束,并基于所述約束推導數據分布范圍和關聯條件,生成符合where子句和join條件的數據生成規則。
13、進一步的,s3通過以下方式生成字段取值范圍:
14、結合用戶提供的數據樣例提取候選值;
15、根據大數據模型推測字段的數值分布類型及關聯概率;
16、為包含關鍵詞的列匹配行業通用字典。
17、進一步的,s4中優先從數據字典中取值,并根據推測的數值分布類型生成隨機數據。
18、進一步的,所述根據列名中的關鍵詞識別字段類型,包括:
19、包含“id”“tel”關鍵詞的列自動建議為整數類型;
20、包含“date”“time”關鍵詞的列自動建議為日期或時間類型;
21、包含“cur”“amount”關鍵詞的列自動建議為貨幣或浮點類型。
22、另一方面,本發明提供了一種數據庫結構化模擬數據的生成系統,包括:
23、表結構分析與矯正模塊,用于接收并解析用戶提供的表結構,檢測列的實際數據類型與定義類型的差異,結合大數據模型推測字段的數據分布和關聯關系,自動調整表結構以匹配實際數據;
24、sql條件解析模塊,用于解析用戶提供的sql查詢條件,提取字段約束,生成數據生成規則;
25、數據字典生成模塊,基于用戶提供的數據樣例、sql解析結果以及大數據模型推測的字段取值范圍和分布,生成包含字段可能取值的數據字典;
26、模擬數據生成模塊,根據矯正后的表結構、數據字典及sql約束條件,生成符合業務邏輯的結構化模擬數據;
27、數據導出模塊,用于將生成的模擬數據導出為csv、json或sql格式。
28、通過采用上述技術方案,有效地解決了現有技術中難以生成符合復雜業務邏輯的模擬數據的問題,通過自動解析表結構和sql條件,生成符合實際需求的大規模模擬數據,極大地提升了數據生成的效率和靈活性。該工具在金融、零售、醫療等多個行業中具有廣泛的應用前景。
1.一種數據庫結構化模擬數據的生成方法,其特征在于,包括:
2.根據權利要求1所述的一種數據庫結構化模擬數據的生成方法,其特征在于,s1包括:
3.根據權利要求1所述的一種數據庫結構化模擬數據的生成方法,其特征在于,s2包括:
4.根據權利要求1所述的一種數據庫結構化模擬數據的生成方法,其特征在于,s3通過以下方式生成字段取值范圍:
5.根據權利要求1所述的一種數據庫結構化模擬數據的生成方法,其特征在于,s4中優先從數據字典中取值,并根據推測的數值分布類型生成隨機數據。
6.根據權利要求1所述的一種數據庫結構化模擬數據的生成方法,其特征在于,所述根據列名中的關鍵詞識別字段類型,包括:
7.一種數據庫結構化模擬數據的生成系統,其特征在于,包括: