欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種區(qū)間數(shù)據(jù)的合并方法和裝置與流程

文檔序號(hào):40653625發(fā)布日期:2025-01-10 19:01閱讀:8來源:國知局
一種區(qū)間數(shù)據(jù)的合并方法和裝置與流程

本發(fā)明涉及計(jì)算機(jī),尤其涉及一種區(qū)間數(shù)據(jù)的合并方法和裝置。


背景技術(shù):

1、區(qū)間合并是一種常見的處理重疊區(qū)間的有效手段,通常使用在時(shí)間區(qū)間合并的場景中:例如打卡時(shí)間計(jì)算、營業(yè)時(shí)間計(jì)算、視頻觀看進(jìn)度計(jì)算等。針對(duì)這種場景,一般采用的解決辦法是將用戶所產(chǎn)生的區(qū)間數(shù)據(jù)保存到數(shù)據(jù)庫中,計(jì)算時(shí)間總長度時(shí),會(huì)將之前保存的數(shù)據(jù)全量查詢出來,然后遍歷,逐個(gè)判斷能否進(jìn)行區(qū)間合并以將能合并的區(qū)間內(nèi)的數(shù)據(jù)進(jìn)行合并。

2、在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:

3、需要保存用戶所有的時(shí)間區(qū)間數(shù)據(jù),消耗大量的數(shù)據(jù)存儲(chǔ)資源;計(jì)算時(shí)間總長度時(shí),需要查詢?nèi)繑?shù)據(jù),查詢效率低,計(jì)算次數(shù)較多、計(jì)算時(shí)間較長。


技術(shù)實(shí)現(xiàn)思路

1、有鑒于此,本發(fā)明實(shí)施例提供一種區(qū)間數(shù)據(jù)的合并方法和裝置,能夠減少數(shù)據(jù)存儲(chǔ)的壓力,節(jié)省數(shù)據(jù)存儲(chǔ)資源。由于基于有序集合對(duì)區(qū)間數(shù)據(jù)進(jìn)行了排序,故而在計(jì)算時(shí)間總長度時(shí),無需查詢?nèi)繑?shù)據(jù),可以快速判斷是否可以進(jìn)行區(qū)間數(shù)據(jù)合并,從而減少了計(jì)算次數(shù)和計(jì)算時(shí)間,提高了數(shù)據(jù)查詢效率和數(shù)據(jù)計(jì)算效率。

2、為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種區(qū)間數(shù)據(jù)的合并方法,包括:根據(jù)輸入?yún)?shù)生成區(qū)間數(shù)據(jù)對(duì)應(yīng)的鍵名和鍵值,并根據(jù)所述鍵值計(jì)算所述區(qū)間數(shù)據(jù)的權(quán)重值;根據(jù)所述鍵名和所述權(quán)重值將所述區(qū)間數(shù)據(jù)添加到有序集合中,并獲取所述區(qū)間數(shù)據(jù)在所述有序集合中的索引位置;將所述區(qū)間數(shù)據(jù)與所述有序集合中位于所述索引位置之前的區(qū)間數(shù)據(jù)進(jìn)行遞歸合并得到合并區(qū)間數(shù)據(jù);將所述合并區(qū)間數(shù)據(jù)與所述有序集合中位于所述索引位置之后的區(qū)間數(shù)據(jù)進(jìn)行遞歸合并,得到所述有序集合中區(qū)間數(shù)據(jù)的合并結(jié)果。

3、可選地,將所述區(qū)間數(shù)據(jù)與所述有序集合中位于所述索引位置之前的區(qū)間數(shù)據(jù)進(jìn)行遞歸合并得到合并區(qū)間數(shù)據(jù),包括:根據(jù)所述區(qū)間數(shù)據(jù)的索引位置,從所述有序集合中獲取所述區(qū)間數(shù)據(jù)的索引位置的前一個(gè)索引位置對(duì)應(yīng)的區(qū)間數(shù)據(jù)作為第一待合并區(qū)間數(shù)據(jù);在所述區(qū)間數(shù)據(jù)和所述第一待合并區(qū)間數(shù)據(jù)可以進(jìn)行合并的情況下,將所述區(qū)間數(shù)據(jù)和所述第一待合并區(qū)間數(shù)據(jù)進(jìn)行合并得到第一合并結(jié)果,將所述第一合并結(jié)果添加到所述有序集合中,并從所述有序集合中刪除所述區(qū)間數(shù)據(jù)和所述第一待合并區(qū)間數(shù)據(jù);將所述第一合并結(jié)果作為所述區(qū)間數(shù)據(jù),將所述第一合并結(jié)果在所述有序集合中的索引位置作為所述區(qū)間數(shù)據(jù)的索引位置,重復(fù)執(zhí)行上述操作,直至所述區(qū)間數(shù)據(jù)和所述第一待合并區(qū)間數(shù)據(jù)無法進(jìn)行合并;將所述區(qū)間數(shù)據(jù)和所述第一待合并區(qū)間數(shù)據(jù)無法進(jìn)行合并時(shí)的區(qū)間數(shù)據(jù)作為所述合并區(qū)間數(shù)據(jù)。

4、可選地,將所述合并區(qū)間數(shù)據(jù)與所述有序集合中位于所述索引位置之后的區(qū)間數(shù)據(jù)進(jìn)行遞歸合并,得到所述有序集合中區(qū)間數(shù)據(jù)的合并結(jié)果,包括:根據(jù)所述合并區(qū)間數(shù)據(jù)的索引位置,從所述有序集合中獲取所述合并區(qū)間數(shù)據(jù)的索引位置的后一個(gè)索引位置對(duì)應(yīng)的區(qū)間數(shù)據(jù)作為第二待合并區(qū)間數(shù)據(jù);在所述合并區(qū)間數(shù)據(jù)和所述第二待合并區(qū)間數(shù)據(jù)可以進(jìn)行合并的情況下,將所述合并區(qū)間數(shù)據(jù)和所述第二待合并區(qū)間數(shù)據(jù)進(jìn)行合并得到第二合并結(jié)果,將所述第二合并結(jié)果添加到所述有序集合中,并從所述有序集合中刪除所述合并區(qū)間數(shù)據(jù)和所述第二待合并區(qū)間數(shù)據(jù);將所述第二合并結(jié)果作為所述合并區(qū)間數(shù)據(jù),將所述第二合并結(jié)果在所述有序集合中的索引位置作為所述合并區(qū)間數(shù)據(jù)的索引位置,重復(fù)執(zhí)行上述操作,直至所述合并區(qū)間數(shù)據(jù)和所述第二待合并區(qū)間數(shù)據(jù)無法進(jìn)行合并;將所述合并區(qū)間數(shù)據(jù)和所述第二待合并區(qū)間數(shù)據(jù)無法進(jìn)行合并時(shí)得到的有序集合,作為所述有序集合中區(qū)間數(shù)據(jù)的合并結(jié)果。

5、可選地,通過以下算法進(jìn)行兩個(gè)區(qū)間數(shù)據(jù)的合并:創(chuàng)建合并結(jié)果數(shù)組用于保存待合并的兩個(gè)區(qū)間數(shù)據(jù)的合并結(jié)果;分別獲取所述兩個(gè)區(qū)間數(shù)據(jù)的左端點(diǎn)值和右端點(diǎn)值;將所述兩個(gè)區(qū)間數(shù)據(jù)中左端點(diǎn)值較小的區(qū)間數(shù)據(jù)作為第一區(qū)間數(shù)據(jù),左端點(diǎn)值較大的區(qū)間數(shù)據(jù)作為第二區(qū)間數(shù)據(jù);將所述第一區(qū)間數(shù)據(jù)添加到所述合并結(jié)果數(shù)組中;在所述第二區(qū)間數(shù)據(jù)的左端點(diǎn)值大于所述第一區(qū)間數(shù)據(jù)的右端點(diǎn)值的情況下,將所述第二區(qū)間數(shù)據(jù)添加到所述合并結(jié)果數(shù)組的末尾,得到所述兩個(gè)區(qū)間數(shù)據(jù)的合并結(jié)果;在所述第二區(qū)間數(shù)據(jù)的左端點(diǎn)值不大于所述第一區(qū)間數(shù)據(jù)的右端點(diǎn)值的情況下,若所述第二區(qū)間數(shù)據(jù)的右端點(diǎn)值大于所述第一區(qū)間數(shù)據(jù)的右端點(diǎn)值,則將所述合并結(jié)果數(shù)組中所述第一區(qū)間數(shù)據(jù)的右端點(diǎn)值修改為所述第二區(qū)間數(shù)據(jù)的右端點(diǎn)值,得到所述兩個(gè)區(qū)間數(shù)據(jù)的合并結(jié)果;否則,不對(duì)所述合并結(jié)果數(shù)組中所述第一區(qū)間數(shù)據(jù)的右端點(diǎn)值修改,直接得到所述兩個(gè)區(qū)間數(shù)據(jù)的合并結(jié)果。

6、可選地,在得到所述兩個(gè)區(qū)間數(shù)據(jù)的合并結(jié)果之后,還包括:在所述合并結(jié)果數(shù)組中包括所述兩個(gè)區(qū)間數(shù)據(jù),或者所述合并結(jié)果數(shù)組的長度為2的情況下,判定所述兩個(gè)區(qū)間數(shù)據(jù)無法進(jìn)行合并。

7、可選地,所述輸入?yún)?shù)包括所述區(qū)間數(shù)據(jù)對(duì)應(yīng)的資源標(biāo)識(shí)、用戶信息、開始時(shí)間和結(jié)束時(shí)間;根據(jù)輸入?yún)?shù)生成區(qū)間數(shù)據(jù)對(duì)應(yīng)的鍵名和鍵值,包括:根據(jù)所述區(qū)間數(shù)據(jù)對(duì)應(yīng)的資源標(biāo)識(shí)和用戶信息生成所述區(qū)間數(shù)據(jù)對(duì)應(yīng)的鍵名;根據(jù)所述區(qū)間數(shù)據(jù)對(duì)應(yīng)的開始時(shí)間和結(jié)束時(shí)間生成所述區(qū)間數(shù)據(jù)對(duì)應(yīng)的鍵值。

8、可選地,根據(jù)所述鍵值計(jì)算所述區(qū)間數(shù)據(jù)的權(quán)重值,包括:根據(jù)所述鍵值對(duì)應(yīng)的時(shí)間區(qū)間的左右端點(diǎn)值計(jì)算所述區(qū)間數(shù)據(jù)的權(quán)重值。

9、可選地,根據(jù)所述鍵名和所述權(quán)重值將所述區(qū)間數(shù)據(jù)添加到有序集合中,包括:根據(jù)所述鍵名獲取對(duì)應(yīng)的目標(biāo)有序集合;根據(jù)所述權(quán)重值將所述區(qū)間數(shù)據(jù)添加到所述目標(biāo)有序集合中,其中,所述目標(biāo)有序集合中的區(qū)間數(shù)據(jù)是按照權(quán)重值由小到大的順序進(jìn)行排列的。

10、根據(jù)本發(fā)明實(shí)施例的另一方面,提供了一種區(qū)間數(shù)據(jù)的合并裝置,包括:數(shù)據(jù)權(quán)重計(jì)算模塊,用于根據(jù)輸入?yún)?shù)生成區(qū)間數(shù)據(jù)對(duì)應(yīng)的鍵名和鍵值,并根據(jù)所述鍵值計(jì)算所述區(qū)間數(shù)據(jù)的權(quán)重值;索引位置獲取模塊,用于根據(jù)所述鍵名和所述權(quán)重值將所述區(qū)間數(shù)據(jù)添加到有序集合中,并獲取所述區(qū)間數(shù)據(jù)在所述有序集合中的索引位置;第一遞歸合并模塊,用于將所述區(qū)間數(shù)據(jù)與所述有序集合中位于所述索引位置之前的區(qū)間數(shù)據(jù)進(jìn)行遞歸合并得到合并區(qū)間數(shù)據(jù);第二遞歸合并模塊,用于將所述合并區(qū)間數(shù)據(jù)與所述有序集合中位于所述索引位置之后的區(qū)間數(shù)據(jù)進(jìn)行遞歸合并,得到所述有序集合中區(qū)間數(shù)據(jù)的合并結(jié)果。

11、根據(jù)本發(fā)明實(shí)施例的又一方面,提供了一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的區(qū)間數(shù)據(jù)的合并方法。

12、根據(jù)本發(fā)明實(shí)施例的再一方面,提供了一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的區(qū)間數(shù)據(jù)的合并方法。

13、上述發(fā)明中的一個(gè)實(shí)施例具有如下優(yōu)點(diǎn)或有益效果:通過根據(jù)輸入?yún)?shù)生成區(qū)間數(shù)據(jù)對(duì)應(yīng)的鍵名和鍵值,并根據(jù)鍵值計(jì)算區(qū)間數(shù)據(jù)的權(quán)重值;根據(jù)鍵名和權(quán)重值將區(qū)間數(shù)據(jù)添加到有序集合中,并獲取區(qū)間數(shù)據(jù)在有序集合中的索引位置;將區(qū)間數(shù)據(jù)與有序集合中位于索引位置之前的區(qū)間數(shù)據(jù)進(jìn)行遞歸合并得到合并區(qū)間數(shù)據(jù);將合并區(qū)間數(shù)據(jù)與有序集合中位于索引位置之后的區(qū)間數(shù)據(jù)進(jìn)行遞歸合并,得到有序集合中區(qū)間數(shù)據(jù)的合并結(jié)果的技術(shù)方案,有序集合中存儲(chǔ)的為不可合并的區(qū)間數(shù)據(jù),故而可以減少數(shù)據(jù)存儲(chǔ)的壓力,節(jié)省數(shù)據(jù)存儲(chǔ)資源。由于基于有序集合對(duì)區(qū)間數(shù)據(jù)進(jìn)行了排序,故而在計(jì)算時(shí)間總長度時(shí),無需查詢?nèi)繑?shù)據(jù),可以快速判斷是否可以進(jìn)行區(qū)間數(shù)據(jù)合并,從而減少了計(jì)算次數(shù)和計(jì)算時(shí)間,提高了數(shù)據(jù)查詢效率和數(shù)據(jù)計(jì)算效率。

14、上述的非慣用的可選方式所具有的進(jìn)一步效果將在下文中結(jié)合具體實(shí)施方式加以說明。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
邯郸县| 观塘区| 东光县| 香河县| 泗阳县| 云安县| 苏尼特右旗| 濮阳市| 托里县| 枞阳县| 岳阳市| 虹口区| 肇庆市| 南江县| 长武县| 平罗县| 德阳市| 台北市| 深水埗区| 昭通市| 沈丘县| 宁陵县| 定南县| 集贤县| 朔州市| 巴塘县| 孝义市| 谢通门县| 永丰县| 金门县| 马山县| 驻马店市| 阆中市| 丘北县| 平武县| 金乡县| 定边县| 宁国市| 汽车| 浦城县| 郓城县|