System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本申請涉及計算機領(lǐng)域,尤其涉及一種降低磁盤i/o的方法、裝置和電子設(shè)備。
技術(shù)介紹
1、當(dāng)前,生產(chǎn)環(huán)境中部署的hashdata計算集群具有分片的概念,其中由segment負責(zé)分片,當(dāng)配置的分片比較多的時候,相應(yīng)的每個segment負責(zé)的分片也會變多。這個時候,在一次insert操作的時候,分片會產(chǎn)生很多小文件,能在生產(chǎn)環(huán)境發(fā)現(xiàn)很多1k左右的文件。在配置的分片越來越多時,對應(yīng)的小文件也會越來越多,特別在高并發(fā)的時候,進行insert操作和select操作時磁盤i/o都比較高,影響性能。在實際生產(chǎn)環(huán)境中發(fā)現(xiàn),segment緩存達到四百萬個小文件,支持有兩百個讀寫請求并發(fā)時,磁盤i/o基本打滿。
技術(shù)實現(xiàn)思路
1、有鑒于此,本申請?zhí)岢隽艘环N降低磁盤i/o的方法,以解決上述
技術(shù)介紹
所體現(xiàn)的問題。
2、根據(jù)本申請的一方面,提供了一種降低磁盤i/o的方法,包括:
3、接收寫入請求;
4、對所述寫入請求對應(yīng)的待處理文件進行處理,得到待寫入文件;
5、在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù);
6、所述待寫入數(shù)據(jù)中包含所述待寫入文件對應(yīng)的元數(shù)據(jù),所述元數(shù)據(jù)中包括所述待寫入文件在所述文件塊中的存儲信息。
7、作為本申請的一種可選實施方案,可選地,對所述寫入請求對應(yīng)的待處理文件進行處理,得到待寫入文件,包括:
8、根據(jù)所述待處理文件的大小判斷是否小于預(yù)設(shè)值;
9、若所述待處理文件小于預(yù)設(shè)值,判
10、作為本申請的一種可選實施方案,可選地,在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù),包括:
11、判斷內(nèi)存中是否有預(yù)設(shè)文件塊;
12、若沒有所述預(yù)設(shè)文件塊,向內(nèi)存申請預(yù)設(shè)文件塊。
13、作為本申請的一種可選實施方案,可選地,在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù),還包括:
14、若內(nèi)存中有預(yù)設(shè)文件塊,對所述預(yù)設(shè)文件塊的剩余空間大小與所述待寫入文件的大小進行比較;
15、若所述預(yù)設(shè)文件塊的剩余空間大小小于所述待寫入文件的大小,向內(nèi)存申請新增預(yù)設(shè)文件塊。
16、作為本申請的一種可選實施方案,可選地,向內(nèi)存申請新增預(yù)設(shè)文件塊,包括:
17、檢查內(nèi)存中的文件塊的數(shù)量是否達到預(yù)設(shè)數(shù)量;
18、若所述文件塊的數(shù)量達到所述預(yù)設(shè)數(shù)量,刪除沒有在使用的所述文件塊。
19、作為本申請的一種可選實施方案,可選地,還包括:
20、所述待寫入數(shù)據(jù)還包含所述待寫入文件的索引關(guān)系,所述索引關(guān)系包括所述待寫入文件所屬的預(yù)設(shè)文件塊;
21、根據(jù)所屬索引關(guān)系生成所述預(yù)設(shè)文件塊的索引信息。
22、作為本申請的一種可選實施方案,可選地,還包括:
23、接收讀取請求;
24、對所述讀取請求對應(yīng)的待讀取文件在所述索引信息進行查找;
25、存在所述待讀取文件的索引信息時,根據(jù)所述索引信息定位所述待讀取文件所屬的預(yù)設(shè)文件塊;
26、在所述待讀取文件所屬的預(yù)設(shè)文件塊中,根據(jù)所屬待讀取文件的元數(shù)據(jù)獲得所屬待讀取文件對應(yīng)的待讀取數(shù)據(jù)。
27、作為本申請的一種可選實施方案,可選地,還包括:
28、接收刪除文件請求;
29、對所述刪除文件請求對應(yīng)的待刪除文件在所述索引信息進行查找;
30、存在所述待刪除文件的索引信息時,根據(jù)所述索引信息定位所述待刪除文件所屬的預(yù)設(shè)文件塊;
31、在所述待刪除文件所屬的預(yù)設(shè)文件塊中,對所屬待刪除文件的元數(shù)據(jù)中的指定位置進行標(biāo)記;
32、根據(jù)所述標(biāo)記,對所述待刪除文件進行刪除處理。
33、根據(jù)本申請的二方面,提供了一種降低磁盤i/o的裝置,包括以下模塊:
34、接收請求模塊,用于接收寫入請求;
35、處理模塊,用于對所述寫入請求對應(yīng)的待處理文件進行處理,得到待寫入文件;
36、寫入數(shù)據(jù)模塊,用于在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù);
37、元數(shù)據(jù)模塊,用于所述待寫入數(shù)據(jù)中包含所述待寫入文件對應(yīng)的元數(shù)據(jù),所述元數(shù)據(jù)中包括所述待寫入文件在所述文件塊中的存儲信息。
38、根據(jù)本申請的三方面,提出了一種電子設(shè)備,包括:
39、處理器;
40、用于存儲處理器可執(zhí)行指令的存儲器;
41、其中,所述處理器被配置為執(zhí)行所述可執(zhí)行指令時實現(xiàn)上述所述的一種降低磁盤i/o的方法。
42、本申請的有益效果:
43、通過本專利技術(shù),接收寫入請求,對所述寫入請求對應(yīng)的待處理文件進行處理,得到待寫入文件,在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù),所述待寫入數(shù)據(jù)中包含所述待寫入文件對應(yīng)的元數(shù)據(jù),所述元數(shù)據(jù)中包括所述待寫入文件在所述文件塊中的存儲信息。基于文件合并能減少文件系統(tǒng)中的碎片化,從而節(jié)省存儲空間,同時減少了磁盤尋址時間,從而提高文件的讀取速度。
44、根據(jù)下面參考附圖對示例性實施例的詳細說明,本申請的其它特征及方面將變得清楚。
本文檔來自技高網(wǎng)...【技術(shù)保護點】
1.一種降低磁盤I/O的方法,其特征在于,包括:
2.如權(quán)利要求1所述的一種降低磁盤I/O的方法,其特征在于,對所述寫入請求對應(yīng)的待處理文件進行處理,得到待寫入文件,包括:
3.如權(quán)利要求1所述的一種降低磁盤I/O的方法,其特征在于,在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù),包括:
4.如權(quán)利要求1所述的一種降低磁盤I/O的方法,其特征在于,在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù),還包括:
5.如權(quán)利要求3-4任一項所述的一種降低磁盤I/O的方法,其特征在于,向內(nèi)存申請新增預(yù)設(shè)文件塊,包括:
6.如權(quán)利要求1所述的一種降低磁盤I/O的方法,其特征在于,還包括:
7.如權(quán)利要求6所述的一種降低磁盤I/O的方法,其特征在于,接收讀取請求;
8.如權(quán)利要求6所述的一種降低磁盤I/O的方法,其特征在于,還包括:
9.一種降低磁盤I/O的裝置,其特征在于,包括以下模塊:
10.一種電子設(shè)備,其特征在于,包括:
【技術(shù)特征摘要】
1.一種降低磁盤i/o的方法,其特征在于,包括:
2.如權(quán)利要求1所述的一種降低磁盤i/o的方法,其特征在于,對所述寫入請求對應(yīng)的待處理文件進行處理,得到待寫入文件,包括:
3.如權(quán)利要求1所述的一種降低磁盤i/o的方法,其特征在于,在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù),包括:
4.如權(quán)利要求1所述的一種降低磁盤i/o的方法,其特征在于,在內(nèi)存中的預(yù)設(shè)文件塊中寫入所述寫入請求對應(yīng)的待寫入數(shù)據(jù),還包括:
5...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:簡麗榮,
申請(專利權(quán))人:北京酷克數(shù)據(jù)科技有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。