[發(fā)明專利]數(shù)據(jù)庫并發(fā)導(dǎo)出方法、裝置、存儲介質(zhì)及電子設(shè)備在審
| 申請?zhí)枺?/td> | 202211469183.2 | 申請日: | 2022-11-22 |
| 公開(公告)號: | CN115878613A | 公開(公告)日: | 2023-03-31 |
| 發(fā)明(設(shè)計)人: | 錢毅 | 申請(專利權(quán))人: | 金篆信科有限責(zé)任公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2453;G06F16/215 |
| 代理公司: | 北京華夏泰和知識產(chǎn)權(quán)代理有限公司 11662 | 代理人: | 蔡良偉 |
| 地址: | 100176 北京市大興區(qū)北京經(jīng)濟(jì)技術(shù)開發(fā)區(qū)科谷*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫 并發(fā) 導(dǎo)出 方法 裝置 存儲 介質(zhì) 電子設(shè)備 | ||
本發(fā)明公開了一種數(shù)據(jù)庫并發(fā)導(dǎo)出方法、裝置、存儲介質(zhì)及電子設(shè)備,其中,該方法包括:確定目標(biāo)數(shù)據(jù)表的導(dǎo)出字段,其中,所述導(dǎo)出字段對應(yīng)所述目標(biāo)數(shù)據(jù)表的一列;根據(jù)所述導(dǎo)出字段將所述目標(biāo)數(shù)據(jù)表劃分為多個表段區(qū)間,其中,每個表段區(qū)間至少包括一行數(shù)據(jù);并發(fā)查詢所述多個表段區(qū)間的表數(shù)據(jù)并導(dǎo)出。通過本發(fā)明,實(shí)現(xiàn)了對表中數(shù)據(jù)的并行查詢及查詢數(shù)據(jù)的導(dǎo)出。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種數(shù)據(jù)庫并發(fā)導(dǎo)出方法、裝置、存儲介質(zhì)及電子設(shè)備。
背景技術(shù)
數(shù)據(jù)導(dǎo)出是數(shù)據(jù)庫領(lǐng)域的一種重要應(yīng)用。目前市場上主流的數(shù)據(jù)庫導(dǎo)出工具中,大多數(shù)僅能支持表級別的數(shù)據(jù)并發(fā)導(dǎo)出。而有些工具雖然號稱能夠支持行級別的數(shù)據(jù)導(dǎo)出,但功能并不完整,并非對所有場景都適用。以高性能多線程導(dǎo)出工具mydumper為例,其僅能支持導(dǎo)出字段為數(shù)值類型表的并發(fā)導(dǎo)出,而對于導(dǎo)出字段為字符串或日期等非數(shù)值類型的表格,則只能整表導(dǎo)出。
諸如mydumper此類數(shù)據(jù)庫導(dǎo)出工具之所以無法做到支持全場景下的數(shù)據(jù)行級并發(fā)導(dǎo)出,一個技術(shù)難點(diǎn)在于如何獲取表格中所有類型字段的數(shù)據(jù)分布情況,從而將表中數(shù)據(jù)合理切分,進(jìn)而通過命令行的形式并行查詢獲取不同區(qū)間的數(shù)據(jù)并導(dǎo)出。對于導(dǎo)出字段為數(shù)值類型,可以通過先獲取表中該字段的最大值與最小值,隨后根據(jù)線程要求將數(shù)據(jù)拆成合理的區(qū)間。例如字段最小值為1,最大值為10000,并發(fā)數(shù)要求為10,則可將表中數(shù)據(jù)劃分成[1,1000),...,[9000,10000]區(qū)間。隨后,便可以根據(jù)劃分的數(shù)據(jù)區(qū)間實(shí)現(xiàn)并行查詢獲取各區(qū)間數(shù)據(jù)并導(dǎo)出。然而,上述方法對字符串等非數(shù)值類型并不適用。因?yàn)閷τ诜菙?shù)值類型字段,僅從數(shù)據(jù)本身出發(fā),無法獲取到該字段列在表中的數(shù)據(jù)分布。
針對相關(guān)技術(shù)中存在的上述問題,目前尚未發(fā)現(xiàn)有效的解決方案。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫并發(fā)導(dǎo)出方法、裝置、存儲介質(zhì)及電子設(shè)備。
根據(jù)本申請實(shí)施例的一個方面,提供了一種數(shù)據(jù)庫并發(fā)導(dǎo)出方法,包括:確定目標(biāo)數(shù)據(jù)表的導(dǎo)出字段,其中,所述導(dǎo)出字段對應(yīng)所述目標(biāo)數(shù)據(jù)表的一列;根據(jù)所述導(dǎo)出字段將所述目標(biāo)數(shù)據(jù)表劃分為多個表段區(qū)間,其中,每個表段區(qū)間至少包括一行數(shù)據(jù);并發(fā)查詢所述多個表段區(qū)間的表數(shù)據(jù)并導(dǎo)出。
進(jìn)一步,根據(jù)所述導(dǎo)出字段將所述目標(biāo)數(shù)據(jù)表劃分為多個表段區(qū)間包括:提取所述目標(biāo)數(shù)據(jù)表中導(dǎo)出字段的字段值集合,并獲取最大區(qū)間數(shù)M,其中,M為大于1的整數(shù);根據(jù)所述字段值集合將所述目標(biāo)數(shù)據(jù)表劃分為M個表段區(qū)間。
進(jìn)一步,根據(jù)所述字段值集合將所述目標(biāo)數(shù)據(jù)表劃分為M個表段區(qū)間包括:對所述字段值集合進(jìn)行去重操作,得到N個非重復(fù)的字段值;判斷N是否小于所述M;若N小于或等于所述M,將所述目標(biāo)數(shù)據(jù)表劃分為N個表段區(qū)間,其中,所述N個非重復(fù)的字段值分別對應(yīng)一個表段區(qū)間。
進(jìn)一步,判斷N是否小于所述M之后,所述方法包括:若N大于所述M,則統(tǒng)計所述目標(biāo)數(shù)據(jù)表的總行數(shù);采用所述總行數(shù)除以M,得到區(qū)間平均頻次;根據(jù)所述區(qū)間平均頻次將所述目標(biāo)數(shù)據(jù)表劃分為M個表段區(qū)間。
進(jìn)一步,根據(jù)所述區(qū)間平均頻次將所述目標(biāo)數(shù)據(jù)表劃分為M個表段區(qū)間包括:按照預(yù)設(shè)順序?qū)λ鲎侄沃导线M(jìn)行排序;按照所述區(qū)間平均頻次依次對排序后的字段值集合進(jìn)行區(qū)間劃分,使得每個劃分的區(qū)間所包含的字段頻次等于所述區(qū)間平均頻次;確定分布在多個表段區(qū)間的第一字段值,獲取所述第一字段值的第一字段頻次;根據(jù)所述第一字段頻次計算所述第一字段值分別歸并在所述多個表段區(qū)間后,每個表段區(qū)間的字段頻次;針對每個表段區(qū)間,分別計算對應(yīng)的字段頻次與所述區(qū)間平均頻次的差值,并選擇差值最小的表段區(qū)間作為所述第一字段值的歸并區(qū)間。
進(jìn)一步,提取所述目標(biāo)數(shù)據(jù)表中導(dǎo)出字段的字段值集合包括:根據(jù)預(yù)設(shè)采樣率獲取所述目標(biāo)數(shù)據(jù)表的采樣數(shù)據(jù);提取所述采樣數(shù)據(jù)中導(dǎo)出字段的字段值集合。
進(jìn)一步,確定目標(biāo)數(shù)據(jù)表的導(dǎo)出字段包括:提取所述目標(biāo)數(shù)據(jù)表的索引列;將所述索引列作為所述目標(biāo)數(shù)據(jù)表的導(dǎo)出字段。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于金篆信科有限責(zé)任公司,未經(jīng)金篆信科有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211469183.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





