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

一種緩存下刷方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與流程

文檔序號(hào):40580859發(fā)布日期:2025-01-07 20:20閱讀:4來源:國(guó)知局
一種緩存下刷方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與流程

本技術(shù)涉及存儲(chǔ),更具體地說,涉及一種緩存下刷方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。


背景技術(shù):

1、當(dāng)前,需要根據(jù)需求來將服務(wù)器等設(shè)備中緩存的臟數(shù)據(jù)進(jìn)行下刷,比如在啟動(dòng)快照、關(guān)閉緩存、刪除節(jié)點(diǎn)等命令行操作時(shí),需要把緩存的臟數(shù)據(jù)都刷寫完后才能繼續(xù)進(jìn)行,所以刷寫臟數(shù)據(jù)的快慢會(huì)影響命令行執(zhí)行的快慢,進(jìn)而會(huì)影響用戶體驗(yàn)性。而緩存中臟數(shù)據(jù)是以哈希表這種數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的,刷寫臟數(shù)據(jù)需要先把哈希表遍歷一遍,尋找其中的臟數(shù)據(jù)然后下刷,只能單個(gè)線程對(duì)單個(gè)哈希表進(jìn)行處理,耗時(shí)時(shí)間長(zhǎng),緩存下刷效率低下。

2、綜上所述,如何快速進(jìn)行緩存下刷是目前本領(lǐng)域技術(shù)人員亟待解決的問題。


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

1、本技術(shù)的目的是提供一種緩存下刷方法,其能在一定程度上解決如何快速進(jìn)行緩存下刷的技術(shù)問題。本技術(shù)還提供了一種緩存下刷系統(tǒng)、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。

2、為了實(shí)現(xiàn)上述目的,本技術(shù)提供如下技術(shù)方案:

3、一種緩存下刷方法,包括:

4、確定用于執(zhí)行緩存下刷的候選線程,所述候選線程的數(shù)量大于等于2;

5、在所述候選線程中,篩選出目標(biāo)線程;

6、確定所述目標(biāo)線程對(duì)應(yīng)的目標(biāo)子哈希表;

7、控制所述目標(biāo)線程對(duì)所述目標(biāo)子哈希表進(jìn)行遍歷,并對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷;

8、其中,子哈希表用于存儲(chǔ)臟數(shù)據(jù);且所述候選線程與子哈希表一一對(duì)應(yīng)。

9、在一示例性實(shí)施例中,所述在所述候選線程中,篩選出目標(biāo)線程,包括:

10、在所述候選線程中,篩選出用于執(zhí)行緩存下刷操作的初始線程;

11、獲取所述初始線程的繁忙度;

12、檢測(cè)所述初始線程的繁忙度是否大于設(shè)定繁忙度值;

13、若所述初始線程的繁忙度小于等于所述設(shè)定繁忙度值,則將所述初始線程確定為所述目標(biāo)線程;

14、若所述初始線程的繁忙度大于所述設(shè)定繁忙度值,則選取一個(gè)繁忙度小于等于所述設(shè)定繁忙度值的所述候選線程作為備用線程,將所述初始線程和所述備用線程作為所述目標(biāo)線程。

15、在一示例性實(shí)施例中,所述確定所述目標(biāo)線程對(duì)應(yīng)的目標(biāo)子哈希表,包括:

16、將所述初始線程對(duì)應(yīng)的子哈希表作為所述目標(biāo)子哈希表;

17、所述控制所述目標(biāo)線程對(duì)所述目標(biāo)子哈希表進(jìn)行遍歷,并對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷,包括:

18、響應(yīng)于所述目標(biāo)線程僅包括所述初始線程,則控制所述初始線程對(duì)所述目標(biāo)子哈希表進(jìn)行遍歷,并對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷;

19、響應(yīng)于所述目標(biāo)線程包括所述初始線程和所述備用線程,則控制所述備用線程對(duì)所述目標(biāo)子哈希表進(jìn)行遍歷,并控制所述初始線程對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷。

20、在一示例性實(shí)施例中,所述在所述候選線程中,篩選出用于執(zhí)行緩存下刷操作的初始線程,包括:

21、獲取緩存下刷指令;

22、確定所述緩存下刷指令所需處理的目標(biāo)io;

23、確定所述目標(biāo)io在緩存卷中的偏移地址;

24、在所述候選線程中,根據(jù)所述偏移地址選取出所述初始線程。

25、在一示例性實(shí)施例中,所述在所述候選線程中,根據(jù)所述偏移地址選取出所述初始線程,包括:

26、確定所述候選線程的總數(shù)量;

27、對(duì)所述緩存卷進(jìn)行均分,得到所述總數(shù)量個(gè)子緩存卷;

28、確定各個(gè)所述候選線程一一對(duì)應(yīng)的所述子緩存卷;

29、將所述偏移地址所處的所述子緩存卷作為目標(biāo)子緩存卷;

30、將所述目標(biāo)子緩存卷對(duì)應(yīng)的所述候選線程作為所述初始線程。

31、在一示例性實(shí)施例中,所述控制所述目標(biāo)線程對(duì)所述目標(biāo)子哈希表進(jìn)行遍歷,并對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷,包括:

32、對(duì)所述目標(biāo)線程在所述目標(biāo)子哈希表中遍歷的node進(jìn)行計(jì)數(shù),得到實(shí)時(shí)計(jì)數(shù)值;

33、檢測(cè)實(shí)時(shí)計(jì)數(shù)值是否達(dá)到第一設(shè)定數(shù)值;

34、若實(shí)時(shí)計(jì)數(shù)值達(dá)到所述第一設(shè)定數(shù)值,則確定出包含臟數(shù)據(jù)node的第一數(shù)量值,計(jì)算所述第一數(shù)量值與所述第一設(shè)定數(shù)值的第一比值;

35、檢測(cè)所述第一比值是否小于第一比例值;

36、若所述第一比值大于等于所述第一比例值,則控制所述目標(biāo)線程對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷;

37、若所述第一比值小于所述第一比例值,則控制所述目標(biāo)線程對(duì)所述目標(biāo)子哈希表繼續(xù)進(jìn)行遍歷,并更新實(shí)時(shí)計(jì)數(shù)值;

38、檢測(cè)實(shí)時(shí)計(jì)數(shù)值是否達(dá)到第二設(shè)定數(shù)值;

39、若實(shí)時(shí)計(jì)數(shù)值達(dá)到所述第二設(shè)定數(shù)值,則確定出包含臟數(shù)據(jù)node的第二數(shù)量值,計(jì)算所述第二數(shù)量值與所述第二設(shè)定數(shù)值的第二比值;

40、檢測(cè)所述第二比值是否小于第二比例值;

41、若所述第二比值大于等于所述第二比例值,則控制所述目標(biāo)線程對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷;

42、若所述第二比值小于所述第二比例值,則控制所述目標(biāo)線程對(duì)所述目標(biāo)子哈希表繼續(xù)進(jìn)行遍歷,并更新實(shí)時(shí)計(jì)數(shù)值;待實(shí)時(shí)計(jì)數(shù)值達(dá)到第三設(shè)定數(shù)值,則控制所述目標(biāo)線程對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷。

43、在一示例性實(shí)施例中,所述確定用于執(zhí)行緩存下刷的候選線程之前,還包括:

44、檢測(cè)用于執(zhí)行緩存下刷的線程數(shù)是否為一;

45、若用于執(zhí)行緩存下刷的線程數(shù)為一,則在各個(gè)處理器核中選取一個(gè)線程作為所述候選線程;

46、確定用于存儲(chǔ)臟數(shù)據(jù)的哈希表,對(duì)所述哈希表進(jìn)行拆分,得到與所述候選線程一一對(duì)應(yīng)的子哈希表。

47、一種緩存下刷系統(tǒng),包括:

48、第一確定模塊,用于確定用于執(zhí)行緩存下刷的候選線程,所述候選線程的數(shù)量大于等于2;

49、第一篩選模塊,用于在所述候選線程中,篩選出目標(biāo)線程;

50、第二確定模塊,用于確定所述目標(biāo)線程對(duì)應(yīng)的目標(biāo)子哈希表;

51、第一控制模塊,用于控制所述目標(biāo)線程對(duì)所述目標(biāo)子哈希表進(jìn)行遍歷,并對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷;

52、其中,子哈希表用于存儲(chǔ)臟數(shù)據(jù);且所述候選線程與子哈希表一一對(duì)應(yīng)。

53、一種電子設(shè)備,包括:

54、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;

55、處理器,用于執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上任一所述緩存下刷方法的步驟。

56、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上任一所述緩存下刷方法的步驟。

57、本技術(shù)提供的一種緩存下刷方法,確定用于執(zhí)行緩存下刷的候選線程,候選線程的數(shù)量大于等于2;在候選線程中,篩選出目標(biāo)線程;確定目標(biāo)線程對(duì)應(yīng)的目標(biāo)子哈希表;控制目標(biāo)線程對(duì)目標(biāo)子哈希表進(jìn)行遍歷,并對(duì)遍歷得到的臟數(shù)據(jù)進(jìn)行下刷;其中,子哈希表用于存儲(chǔ)臟數(shù)據(jù);且候選線程與子哈希表一一對(duì)應(yīng)。本技術(shù)中,設(shè)置子哈希表存儲(chǔ)臟數(shù)據(jù),且候選線程與子哈希表一一對(duì)應(yīng),候選線程的數(shù)量大于等于2,這樣一來,每個(gè)候選線程均可以按照自身對(duì)應(yīng)的子哈希表進(jìn)行臟數(shù)據(jù)的下刷,與現(xiàn)有通過單線程和單哈希表對(duì)臟數(shù)據(jù)進(jìn)行下刷的方案相比,本技術(shù)可以通過多線程并行對(duì)臟數(shù)據(jù)進(jìn)行下刷,避免了下刷任務(wù)在單線程中堆積的情況,提高了臟數(shù)據(jù)的下刷效率,實(shí)現(xiàn)了快速進(jìn)行緩存下刷功能,從而提高了用戶體驗(yàn)性。本技術(shù)提供的一種緩存下刷系統(tǒng)、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)也解決了相應(yīng)技術(shù)問題。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
贡山| 汽车| 和政县| 左云县| 塔城市| 台湾省| 高碑店市| 阜阳市| 东平县| 尉氏县| 远安县| 博罗县| 聊城市| 襄汾县| 新竹县| 乌海市| 平昌县| 东乌珠穆沁旗| 宜兴市| 玉溪市| 孟连| 八宿县| 务川| 泰兴市| 织金县| 霍城县| 津市市| 电白县| 彭阳县| 承德县| 银川市| 阳西县| 历史| 佛山市| 体育| 保山市| 阿城市| 乾安县| 定兴县| 都兰县| 泗阳县|