亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

利用位圖進(jìn)行海量文件運(yùn)算處理的方法

文檔序號:8258682閱讀:290來源:國知局
利用位圖進(jìn)行海量文件運(yùn)算處理的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及利用位圖進(jìn)行海量文件運(yùn)算處理的方法。
【背景技術(shù)】
[0002] 在很多軟件系統(tǒng)中,都存在類似以下應(yīng)用場景:
[0003] 從兩批號碼中,取兩者交集。例如QQ有3000萬會員,黃鉆有2000萬,需要提取既 是會員也是黃鉆用戶的名單。
[0004] 對一批號碼進(jìn)行去重處理,例如某電商網(wǎng)站進(jìn)行了 10. 1大促活動(dòng),有7000萬人次 通過QQ號碼登錄進(jìn)行了瀏覽和購買。導(dǎo)出這些購買記錄后,提取出QQ號碼列表,每個(gè)QQ 只提取一次。
[0005] 對兩批數(shù)據(jù)取并集,例如玩A游戲的用戶有300萬,玩B游戲的用戶有450萬,有一 款同類型的新游戲上市,準(zhǔn)備對A、B兩款游戲的玩家投放廣告,但每個(gè)用戶只能投放一次, 需要提取A、B兩個(gè)游戲的玩家名單取并集,并去重。
[0006] 提取在一個(gè)數(shù)據(jù)集,但是不在另一個(gè)數(shù)據(jù)集的部分。例如有3000萬QQ會員用戶, 2000萬QQ黃鉆用戶,需要提取是QQ會員,但不是黃鉆的用戶名單。
[0007] 此類應(yīng)用可以抽象為,數(shù)據(jù)集A有M個(gè)元素,數(shù)據(jù)集B有N個(gè)元素,需要提供一種 方法,對A和B取交集、取并集、對某個(gè)數(shù)據(jù)集去重、取差集;
[0008] 在一般的軟件系統(tǒng)應(yīng)用中,針對數(shù)據(jù)集取交集去重等功能,一般使用數(shù)據(jù)庫,或者 操作系統(tǒng)提供的sort排序,uniq去重,comm提取交集或并集。
[0009] 當(dāng)數(shù)據(jù)量較小的時(shí)候,比如A、B數(shù)據(jù)集的規(guī)模在10W以內(nèi)時(shí),上述方法能很好的解 決問題。但當(dāng)數(shù)據(jù)集規(guī)模增加時(shí),上述方法運(yùn)算耗時(shí)急劇增加。

【發(fā)明內(nèi)容】

[0010] 本發(fā)明的目的是提供一種利用位圖進(jìn)行海量文件運(yùn)算處理的方法。
[0011] 為了實(shí)現(xiàn)上述目的,本發(fā)明提供的技術(shù)方案為:提供一種利用位圖進(jìn)行海量文件 運(yùn)算處理的方法,包括如下步驟:插入一個(gè)數(shù)據(jù)到位圖;判斷某個(gè)數(shù)是否在位圖中;打印位 圖中的所有數(shù)據(jù)集;去重處理;取并集或交集或差集。
[0012] 需要512M空間存儲位圖數(shù)據(jù),所有數(shù)據(jù)需要初始化清零。
[0013] 插入一個(gè)數(shù)據(jù)到位圖,需要將對應(yīng)的位置為1。
[0014] 判斷數(shù)據(jù)集中是否已經(jīng)存在一個(gè)數(shù),需要判斷對應(yīng)的bit位是否為1。
[0015] 與現(xiàn)有技術(shù)相比,本發(fā)明利用位圖進(jìn)行海量文件運(yùn)算處理的方法中,插入一個(gè)數(shù) 據(jù)到位圖;判斷某個(gè)數(shù)是否在位圖中;打印位圖中的所有數(shù)據(jù)集;去重處理;取并集或交集 或差集。本發(fā)明基于C/C++語言的位運(yùn)算,提供對海量數(shù)據(jù)集進(jìn)行取交集、并集、去重、差集 等運(yùn)算功能。極大提高數(shù)據(jù)運(yùn)算處理速度。
[0016] 通過以下的描述并結(jié)合附圖,本發(fā)明將變得更加清晰,這些附圖用于解釋本發(fā)明 的實(shí)施例。
【附圖說明】
[0017] 圖1為本發(fā)明利用位圖進(jìn)行海量文件運(yùn)算處理的方法的第一個(gè)實(shí)施例的示意圖。
[0018] 圖2為本發(fā)明利用位圖進(jìn)行海量文件運(yùn)算處理的方法的第二個(gè)實(shí)施例的示意圖。
[0019] 圖3為本發(fā)明利用位圖進(jìn)行海量文件運(yùn)算處理的方法的第三個(gè)實(shí)施例的示意圖。
[0020] 圖4為本發(fā)明利用位圖進(jìn)行海量文件運(yùn)算處理的方法的第四個(gè)實(shí)施例的示意圖。 圖5為計(jì)算機(jī)系統(tǒng)中一個(gè)字節(jié)由8個(gè)bit位組成的示意圖。
【具體實(shí)施方式】
[0021] 現(xiàn)在參考附圖描述本發(fā)明的實(shí)施例,附圖中類似的元件標(biāo)號代表類似的元件。
[0022] 本發(fā)明核心是利用位圖來記錄某個(gè)數(shù)據(jù),是否有在數(shù)據(jù)集中出現(xiàn)過。位圖查找的 時(shí)間復(fù)雜度為常量,極大提高處理效率。
[0023] 如圖5所示,在計(jì)算機(jī)系統(tǒng)中,一個(gè)字節(jié)由8個(gè)bit位組成,每個(gè)位可以為0或1 兩種狀態(tài)。一個(gè)字節(jié)最多可以表示8個(gè)數(shù)是否存在,例如從0-7bit,分別表示0-7這8個(gè)數(shù) 字是否有在數(shù)據(jù)集中。如果有存在,把對應(yīng)的bit位置1。
[0024]
[0025] 目前常用的32位無符號整數(shù),取值范圍為0到4294967295。如果用一個(gè)字節(jié)來表 示,需要4G內(nèi)存。在32位操作系統(tǒng)中,應(yīng)用程序可用內(nèi)存一般在2G以內(nèi)。用bit位來表 示,則只需要4G/8 = 512M空間,提高空間效率。
[0026] 請參考圖1,該圖所示的實(shí)施例中,求兩個(gè)數(shù)集的交集,首先是讀取數(shù)集A;將A中 的每個(gè)數(shù)據(jù)調(diào)用insert插入位圖;讀取數(shù)集B ;判斷數(shù)集B中的數(shù)據(jù)是否在位圖中;若是, 則屬于交集;若否,則不屬于交集。
[0027] 請參考圖2,該圖所示的實(shí)施例中,求兩個(gè)數(shù)集的差集,首先是讀取數(shù)集A;將A中 的每個(gè)數(shù)據(jù)調(diào)用insert插入位圖;讀取數(shù)集B ;判斷數(shù)集B中的數(shù)據(jù)是否在位圖中;若是, 則不屬于差集;若否,則屬于差集。因此可見,求兩個(gè)數(shù)據(jù)集的差集與求兩個(gè)數(shù)據(jù)集的交集, 其流程基本相同。
[0028] 請參考圖3,該圖所示的實(shí)施例中,求兩個(gè)數(shù)據(jù)的并集,首先是讀取數(shù)集A;將A中 的每個(gè)數(shù)據(jù)調(diào)用insert插入位圖;讀取數(shù)集B ;將B中的每個(gè)數(shù)據(jù)調(diào)用insert插入位圖; 打印整個(gè)位圖中包含的數(shù)據(jù)。
[0029] 請參考圖4,該圖所示的實(shí)施例中,為對一個(gè)數(shù)集進(jìn)行去重處理,首先是讀取數(shù)集 A ;將A中的每個(gè)數(shù)據(jù)調(diào)用insert插入位圖;打印整個(gè)位圖中包含的數(shù)據(jù)。
[0030] 測試對比結(jié)果如下:
[0031]
【主權(quán)項(xiàng)】
1. 一種利用位圖進(jìn)行海量文件運(yùn)算處理的方法,其特征在于,包括如下步驟;插入一 個(gè)數(shù)據(jù)到位圖;判斷某個(gè)數(shù)是否在位圖中;打印位圖中的所有數(shù)據(jù)集;去重處理;取并集或 交集或差集。
2. 如權(quán)利要求1所述的利用位圖進(jìn)行海量文件運(yùn)算處理的方法,其特征在于,需要 512M空間存儲位圖數(shù)據(jù),所有數(shù)據(jù)需要初始化清零。
3. 如權(quán)利要求1所述的利用位圖進(jìn)行海量文件運(yùn)算處理的方法,其特征在于,插入一 個(gè)數(shù)據(jù)到位圖,需要將對應(yīng)的位置為1。
4. 如權(quán)利要求1所述的利用位圖進(jìn)行海量文件運(yùn)算處理的方法,其特征在于,判斷數(shù) 據(jù)集中是否已經(jīng)存在一個(gè)數(shù),需要判斷對應(yīng)的bit位是否為1。
【專利摘要】本發(fā)明公開了一種利用位圖進(jìn)行海量文件運(yùn)算處理的方法,包括如下步驟:插入一個(gè)數(shù)據(jù)到位圖;判斷某個(gè)數(shù)是否在位圖中;打印位圖中的所有數(shù)據(jù)集;去重處理;取并集或交集或差集。本發(fā)明能夠?qū)A繑?shù)據(jù)集進(jìn)行取交集、并集、去重、差集等運(yùn)算功能,極大提高數(shù)據(jù)運(yùn)算處理速度。
【IPC分類】G06F17-30
【公開號】CN104572810
【申請?zhí)枴緾N201410652811
【發(fā)明人】國睿
【申請人】深圳市光息谷科技發(fā)展有限公司
【公開日】2015年4月29日
【申請日】2014年11月17日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1