System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)屬于存儲(chǔ)配置領(lǐng)域,具體涉及一種接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法和裝置。
技術(shù)介紹
1、在傳統(tǒng)的系統(tǒng)設(shè)計(jì)中,共享內(nèi)存恢復(fù)服務(wù)往往存在著一些挑戰(zhàn)和缺陷,主要包括以下幾個(gè)方面:
2、進(jìn)程間通信困難:在多進(jìn)程環(huán)境下,由于每個(gè)進(jìn)程擁有獨(dú)立的地址空間,因此要實(shí)現(xiàn)進(jìn)程間通信就需要采用特定的機(jī)制,如共享內(nèi)存。然而,傳統(tǒng)的共享內(nèi)存方案存在著復(fù)雜的api操作接口差異性,導(dǎo)致在不同操作系統(tǒng)或不同版本之間的兼容性問(wèn)題。
3、內(nèi)存管理不一致:共享內(nèi)存的管理往往需要涉及到內(nèi)存分配、釋放、數(shù)據(jù)共享等問(wèn)題。然而,在傳統(tǒng)的系統(tǒng)設(shè)計(jì)中,由于缺乏統(tǒng)一的內(nèi)存管理機(jī)制,容易導(dǎo)致內(nèi)存泄漏、內(nèi)存碎片化等問(wèn)題,從而影響系統(tǒng)的穩(wěn)定性和性能。
4、數(shù)據(jù)一致性難以保證:在多進(jìn)程環(huán)境下,由于各個(gè)進(jìn)程擁有獨(dú)立的內(nèi)存空間,因此共享數(shù)據(jù)的一致性難以保證。特別是在進(jìn)程間通信過(guò)程中,由于數(shù)據(jù)的頻繁讀寫(xiě)操作,可能會(huì)導(dǎo)致數(shù)據(jù)的不一致性,從而影響系統(tǒng)的正確運(yùn)行。
5、恢復(fù)效率低下:在系統(tǒng)出現(xiàn)故障或意外情況時(shí),需要對(duì)共享內(nèi)存中的數(shù)據(jù)進(jìn)行恢復(fù),以保證系統(tǒng)的正常運(yùn)行。然而,傳統(tǒng)的恢復(fù)機(jī)制往往效率較低,需要大量的時(shí)間和資源,從而影響系統(tǒng)的性能和響應(yīng)速度。
6、綜上所述,傳統(tǒng)的共享內(nèi)存恢復(fù)服務(wù)存在諸多缺陷和挑戰(zhàn),包括進(jìn)程間通信困難、內(nèi)存管理不一致、數(shù)據(jù)一致性難以保證以及恢復(fù)效率低下等問(wèn)題。因此,需要一種新的技術(shù)方案來(lái)解決這些問(wèn)題,提升系統(tǒng)的穩(wěn)定性、可靠性和恢復(fù)效率。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于
2、步驟1,將系統(tǒng)分為業(yè)務(wù)層、內(nèi)存池層、共享內(nèi)存銜接層和操作系統(tǒng)層;
3、步驟2,初始化所有需要恢復(fù)的對(duì)象,并將它們構(gòu)建在共享內(nèi)存區(qū)域上;
4、步驟3,替換系統(tǒng)中所有全局的new/delete操作符為共享內(nèi)存版本,以確保內(nèi)存管理的一致性和可靠性;
5、步驟4,在系統(tǒng)中執(zhí)行fork操作,對(duì)產(chǎn)生的繼承父進(jìn)程的子進(jìn)程通過(guò)所述子進(jìn)程的指針類(lèi)型對(duì)象對(duì)所述共享內(nèi)存區(qū)域進(jìn)行管理;
6、步驟5,在彼此之間沒(méi)有共享的父進(jìn)程或者子進(jìn)程關(guān)系的多進(jìn)程模型中,計(jì)算本次調(diào)用和上次調(diào)用時(shí)映射的偏移量,根據(jù)所述偏移量對(duì)所有指針對(duì)象執(zhí)行修正。
7、特別地,所述業(yè)務(wù)層負(fù)責(zé)實(shí)現(xiàn)特定的業(yè)務(wù)邏輯,由單線程或者多線程組成,根據(jù)具體需求進(jìn)行設(shè)計(jì);
8、所述內(nèi)存池層負(fù)責(zé)內(nèi)存的分配和管理,包括大塊和小塊內(nèi)存的分配;其中所述內(nèi)存池中分配的內(nèi)存都來(lái)自共享內(nèi)存,確保多個(gè)進(jìn)程可以共享內(nèi)存資源;
9、所述共享內(nèi)存銜接層用于連接業(yè)務(wù)層和操作系統(tǒng)層;負(fù)責(zé)屏蔽操作系統(tǒng)層api操作接口差異性,管理底層共享內(nèi)存的分配和釋放,提供恢復(fù)業(yè)務(wù)功能的恢復(fù)索引;
10、所述操作系統(tǒng)層提供共享內(nèi)存操作的api,包括posix系列和systemv系列,用于提供底層的共享內(nèi)存操作支持。
11、特別地,所述共享內(nèi)存銜接層通過(guò)注意力機(jī)制賦予不同業(yè)務(wù)對(duì)象不同的恢復(fù)優(yōu)先級(jí),其中具體采用如下算法進(jìn)行業(yè)務(wù)對(duì)象的恢復(fù),
12、
13、其中,k表示業(yè)務(wù)對(duì)象的索引的編號(hào),i表示為需要恢復(fù)的業(yè)務(wù)對(duì)象的實(shí)例編號(hào);
14、fi,k表示在第k個(gè)業(yè)務(wù)對(duì)象上第i個(gè)業(yè)務(wù)對(duì)象實(shí)例的狀態(tài);fi,t表示在第t個(gè)業(yè)務(wù)對(duì)象上第i個(gè)業(yè)務(wù)對(duì)象實(shí)例的狀態(tài);
15、wl表示第l層內(nèi)存池層對(duì)每個(gè)索引的業(yè)務(wù)功能的權(quán)重系數(shù);ul表示第l層對(duì)每個(gè)索引的業(yè)務(wù)狀態(tài)的權(quán)重系數(shù);γl表示第l層對(duì)索引權(quán)重計(jì)算軟性的控制參數(shù);tanh(wlfi,k)表示在第k個(gè)業(yè)務(wù)對(duì)象上第i個(gè)業(yè)務(wù)對(duì)象實(shí)例,業(yè)務(wù)功能的權(quán)重系數(shù)為wl的業(yè)務(wù)功能狀態(tài)編碼進(jìn)行非線性變換;sigm(ulfi,k)表示在第k個(gè)業(yè)務(wù)對(duì)象上第i個(gè)業(yè)務(wù)對(duì)象實(shí)例,業(yè)務(wù)狀態(tài)的權(quán)重系數(shù)為ul的狀態(tài)編碼進(jìn)行歸一化到(0,1)區(qū)間;αi,k表示在第k個(gè)業(yè)務(wù)對(duì)象上第i個(gè)業(yè)務(wù)對(duì)象實(shí)例的綜合權(quán)重得分;算法中分子計(jì)算第k個(gè)業(yè)務(wù)對(duì)象的權(quán)重指數(shù)項(xiàng),分母計(jì)算所有索引的權(quán)重指數(shù)項(xiàng)之和;在恢復(fù)多個(gè)業(yè)務(wù)對(duì)象時(shí),根據(jù)每個(gè)對(duì)象在不同索引上的αi,k綜合權(quán)重得分,決定先恢復(fù)哪些對(duì)象,高權(quán)重的對(duì)象將被優(yōu)先恢復(fù)。
16、特別地,替換系統(tǒng)中所有全局的new/delete操作符為共享內(nèi)存版本過(guò)程中,針對(duì)單個(gè)對(duì)象、對(duì)象數(shù)組和構(gòu)造函數(shù)的不同情況分別重載,以覆蓋所有可能的內(nèi)存分配場(chǎng)景,同時(shí)需要處理跨共享內(nèi)存邊界的指針引用和繼承關(guān)系。
17、特別地,計(jì)算本次調(diào)用和上次調(diào)用時(shí)映射的偏移量,并對(duì)所有指針對(duì)象執(zhí)行修正,具體包括:通過(guò)如下線性差值公式計(jì)算指針對(duì)象的修正值:
18、
19、其中,將原始指針值mk映射到修正后的指針值pk,原始指針地址范圍為[mmin,mmax],修正后的地址范圍為[pmin,pmax],根據(jù)上述線性差值公式,計(jì)算得到修正后指針值計(jì)算出pk的值;線性差值公式中,mmax-mmin表示原始地址范圍的跨度大小,mk-mmin表示當(dāng)前原始指針值相對(duì)于最小值的偏移量;計(jì)算原始的指針值mk相對(duì)于原始指針值的最小范圍mmin的偏移量;pmax-pmin表示修正后地址范圍的跨度大小;表示縮放比例因子,用于將原始范圍縮放到目標(biāo)范圍。
20、本專利技術(shù)還公開(kāi)了一種接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的裝置,包括:
21、系統(tǒng)分層模塊,用于將系統(tǒng)分為業(yè)務(wù)層、內(nèi)存池層、共享內(nèi)存銜接層和操作系統(tǒng)層;
22、初始化模塊,用于初始化所有需要恢復(fù)的對(duì)象,并將它們構(gòu)建在共享內(nèi)存區(qū)域上;
23、操作符替換模塊,用于替換系統(tǒng)中所有全局的new/delete操作符為共享內(nèi)存版本,以確保內(nèi)存管理的一致性和可靠性;
24、fork操作模塊,用于在系統(tǒng)中執(zhí)行fork操作,對(duì)產(chǎn)生的繼承父進(jìn)程的子進(jìn)程通過(guò)所述子進(jìn)程的指針類(lèi)型對(duì)象對(duì)所述共享內(nèi)存區(qū)域進(jìn)行管理;
25、指針對(duì)象修正模塊,用于在彼此之間沒(méi)有共享的父進(jìn)程或者子進(jìn)程關(guān)系的多進(jìn)程模型中,計(jì)算本次調(diào)用和上次調(diào)用時(shí)映射的偏移量,根據(jù)所述偏移量對(duì)所有指針對(duì)象執(zhí)行修正。
26、特別地,所述業(yè)務(wù)層負(fù)責(zé)實(shí)現(xiàn)特定的業(yè)務(wù)邏輯,由單線程或者多線程組成,根據(jù)具體需求進(jìn)行設(shè)計(jì);
27、所述內(nèi)存池層負(fù)責(zé)內(nèi)存的分配和管理,包括大塊和小塊內(nèi)存的分配;其中所述內(nèi)存池中分配的內(nèi)存都來(lái)自共享內(nèi)存,確保多個(gè)進(jìn)程可以共享內(nèi)存資源;
28、所述共享內(nèi)存銜接層用于連接業(yè)務(wù)層和操作系統(tǒng)層;負(fù)責(zé)屏蔽操作系統(tǒng)層api操作接口差異性,管理底層共享內(nèi)存的分配和釋放,提供恢復(fù)業(yè)務(wù)功能的恢復(fù)索引;
29、所述操作系統(tǒng)層提供共享內(nèi)存操作的api,包括posix系列和systemv系列,用于提供底層的共享內(nèi)存操作支持。
30、特別地,所述共享內(nèi)存銜接層通過(guò)注意力機(jī)制賦予不同業(yè)務(wù)對(duì)象不同的恢復(fù)優(yōu)先級(jí),其中具體采用如下算法進(jìn)行業(yè)務(wù)對(duì)象的恢復(fù),
31、
32、其中,k表示業(yè)務(wù)對(duì)象的索引的編號(hào),i表示為需要恢復(fù)的業(yè)本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:
2.如權(quán)利要求1所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:
3.如權(quán)利要求2所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:所述共享內(nèi)存銜接層通過(guò)注意力機(jī)制賦予不同業(yè)務(wù)對(duì)象不同的恢復(fù)優(yōu)先級(jí),其中具體采用如下算法進(jìn)行業(yè)務(wù)對(duì)象的恢復(fù),
4.如權(quán)利要求3所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:替換系統(tǒng)中所有全局的new/delete操作符為共享內(nèi)存版本過(guò)程中,針對(duì)單個(gè)對(duì)象、對(duì)象數(shù)組和構(gòu)造函數(shù)的不同情況分別重載,以覆蓋所有可能的內(nèi)存分配場(chǎng)景,同時(shí)需要處理跨共享內(nèi)存邊界的指針引用和繼承關(guān)系。
5.如權(quán)利要求4所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:
6.一種接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的裝置,其特征在于,包括:
7.如權(quán)利要求6所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的裝置,其特征在于,包括:
8.如權(quán)利要求7所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的裝置,其特征在于,包括:所述共享內(nèi)存
9.如權(quán)利要求8所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的裝置,其特征在于,包括:替換系統(tǒng)中所有全局的new/delete操作符為共享內(nèi)存版本過(guò)程中,針對(duì)單個(gè)對(duì)象、對(duì)象數(shù)組和構(gòu)造函數(shù)的不同情況分別重載,以覆蓋所有可能的內(nèi)存分配場(chǎng)景,同時(shí)需要處理跨共享內(nèi)存邊界的指針引用和繼承關(guān)系。
10.如權(quán)利要求9所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的裝置,其特征在于,包括:
...【技術(shù)特征摘要】
1.一種接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:
2.如權(quán)利要求1所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:
3.如權(quán)利要求2所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:所述共享內(nèi)存銜接層通過(guò)注意力機(jī)制賦予不同業(yè)務(wù)對(duì)象不同的恢復(fù)優(yōu)先級(jí),其中具體采用如下算法進(jìn)行業(yè)務(wù)對(duì)象的恢復(fù),
4.如權(quán)利要求3所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:替換系統(tǒng)中所有全局的new/delete操作符為共享內(nèi)存版本過(guò)程中,針對(duì)單個(gè)對(duì)象、對(duì)象數(shù)組和構(gòu)造函數(shù)的不同情況分別重載,以覆蓋所有可能的內(nèi)存分配場(chǎng)景,同時(shí)需要處理跨共享內(nèi)存邊界的指針引用和繼承關(guān)系。
5.如權(quán)利要求4所述的接入共享內(nèi)存實(shí)現(xiàn)服務(wù)進(jìn)程恢復(fù)的方法,其特征在于,包括:
...【專利技術(shù)屬性】
技術(shù)研發(fā)人員:何舉剛,張丹鳳,胡明玨,孫剛,班楠,劉佳佳,宋子豪,吳震,刁若川,閆敏超,
申請(qǐng)(專利權(quán))人:中國(guó)兵器裝備集團(tuán)兵器裝備研究所,
類(lèi)型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。