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

一種網(wǎng)絡(luò)靶場前端數(shù)據(jù)持久化存儲方法、系統(tǒng)及程序與流程

文檔序號:40526996發(fā)布日期:2024-12-31 13:36閱讀:8來源:國知局
一種網(wǎng)絡(luò)靶場前端數(shù)據(jù)持久化存儲方法、系統(tǒng)及程序與流程

本發(fā)明涉及一種前端數(shù)據(jù)持久化存儲方法、系統(tǒng)及程序,尤其涉及一種網(wǎng)絡(luò)靶場前端數(shù)據(jù)持久化存儲方法、系統(tǒng)及程序。


背景技術(shù):

1、網(wǎng)絡(luò)靶場(cyber?range)是一種將真實網(wǎng)絡(luò)空間中的網(wǎng)絡(luò)架構(gòu)、系統(tǒng)設(shè)備、業(yè)務(wù)流程的運行狀態(tài)及運行環(huán)境等進行模擬和復(fù)現(xiàn)的技術(shù)。

2、網(wǎng)絡(luò)靶場的應(yīng)用場景是針對不同行業(yè)、不同業(yè)務(wù)場景的定制化訓(xùn)練和檢驗平臺。在實訓(xùn)演練過程中,訓(xùn)練人員需要建立多種演練模板場景進行實戰(zhàn)演練,為了避免在創(chuàng)建演練模板數(shù)據(jù)過程中數(shù)據(jù)的丟失,需要將輸入的演練數(shù)據(jù)進行持久化存儲,便于后續(xù)的數(shù)據(jù)找回。

3、目前前端常見的存儲方式有sessionstorage和localstorage等,sessionstorage是html5新增的一個臨時會話存儲對象,用于臨時保存同一窗口,可以將數(shù)據(jù)進行短暫的存儲,當(dāng)瀏覽器關(guān)閉時數(shù)據(jù)就會丟失;localstorage是一種web存儲技術(shù),允許用戶在瀏覽器中以鍵值對的形式存儲數(shù)據(jù),數(shù)據(jù)可以長期存儲,不會因為瀏覽器關(guān)閉導(dǎo)致數(shù)據(jù)丟失,但是sessionstorage和localstorage的存儲空間是有限的,sessionstorage和localstorage對于目前的主流瀏覽器只能存儲5mb的數(shù)據(jù),對于存儲大容量的訓(xùn)練數(shù)據(jù)的需求無法滿足。


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

1、發(fā)明目的:針對上述現(xiàn)有技術(shù)存在的問題,本發(fā)明目的在于提供一種可以存儲大量結(jié)構(gòu)化數(shù)據(jù)的網(wǎng)絡(luò)靶場前端數(shù)據(jù)持久化存儲方法、系統(tǒng)及程序,滿足了大容量訓(xùn)練數(shù)據(jù)的存儲需求。

2、技術(shù)方案:為實現(xiàn)上述發(fā)明目的,本發(fā)明采用如下技術(shù)方案:

3、本發(fā)明所述的網(wǎng)絡(luò)靶場前端數(shù)據(jù)持久化存儲方法,包括以下步驟:

4、步驟1:初始化indexeddb數(shù)據(jù)庫;

5、步驟2:基于初始化好的indexeddb數(shù)據(jù)庫,用戶創(chuàng)建網(wǎng)絡(luò)靶場的訓(xùn)練模板,根據(jù)訓(xùn)練模板對應(yīng)的不同的持久化操作類型傳遞不同的標識類型給indexeddb,indexeddb通過接收到的持久化操作類型和網(wǎng)絡(luò)靶場訓(xùn)練模版的類型,為不同的訓(xùn)練模版創(chuàng)建對應(yīng)的數(shù)據(jù)庫,對數(shù)據(jù)庫中的數(shù)據(jù)進行各類型持久化操作;具體為,

6、開啟定時器,使用indexeddb.dboperation()方法進行各類型操作,實時更新數(shù)據(jù)庫的數(shù)據(jù);

7、定義readtype變量判斷當(dāng)前操作模式;

8、使用res.transaction(storename,readtype).objectstore(storename)處理數(shù)據(jù)的讀寫權(quán)限;其中,storename為數(shù)據(jù)庫名稱;

9、使用objectstore[type](data)對數(shù)據(jù)庫中的數(shù)據(jù)進行更新;其中,type為持久化操作的類型,data為數(shù)據(jù)庫中的數(shù)據(jù);

10、使用onsuccess或onerror返回數(shù)據(jù)庫更新成功或失敗的結(jié)果。

11、進一步地,所述步驟1中具體為,

12、通過window.indexeddb獲取到indexeddb對象,并對不同的瀏覽器進行兼容處理;

13、使用indexeddb的open方法開啟數(shù)據(jù)庫連接connection;

14、使用connection.onupgradeneeded處理indexeddb數(shù)據(jù)庫打開鏈接或者版本發(fā)生變化的邏輯;

15、使用db.createobjectstore(),創(chuàng)建數(shù)據(jù)庫集合;

16、使用connection的onsuccess和onerror方法處理數(shù)據(jù)庫初始化成功和失敗的返回結(jié)果。

17、進一步地,所述

18、步驟2所述創(chuàng)建網(wǎng)絡(luò)靶場的訓(xùn)練模板,包括新增訓(xùn)練模板、填寫基礎(chǔ)信息、繪制網(wǎng)絡(luò)拓撲和編排訓(xùn)練任務(wù);

19、所述新增訓(xùn)練模板,具體為,用戶選擇新增訓(xùn)練模板,通過indexeddb.dboperation(tempname,’get’)判斷是否可以查詢到上一次未保存的信息,其中tempname為模版類型,取值為single、team、red、topo或range,分別表示單兵訓(xùn)練、團隊訓(xùn)練、紅藍對抗、拓撲模板和靶場測評;當(dāng)可查詢到,詢問是否恢復(fù),如選擇恢復(fù)則將上一次未保存的數(shù)據(jù)展示出來;如不恢復(fù)或未查詢到上一次未保存的信息,則跳轉(zhuǎn)到空的團隊訓(xùn)練模板,并開啟定時器調(diào)用indexeddb.dboperation(tempname,’add’,data)實時存儲輸入的信息,通過不同參數(shù)區(qū)分是新增模板或編輯模板,如是新增模板則將第二個參數(shù)確認add,如是編輯模板則將第二個參數(shù)確認edit;

20、所述填寫基礎(chǔ)信息,具體為,輸入模板名稱和模板描述信息,選擇訓(xùn)練難度和訓(xùn)練類型,選擇訓(xùn)練人員的數(shù)量;

21、所述繪制網(wǎng)絡(luò)拓撲,用戶選擇各類型網(wǎng)絡(luò)設(shè)備和終端設(shè)備并實現(xiàn)網(wǎng)絡(luò)連接,將過程中的數(shù)據(jù)通過indexeddb.dboperation(tempname,’add’,data)進行存儲;

22、所述編排訓(xùn)練任務(wù),具體為,根據(jù)訓(xùn)練需求添加對應(yīng)的任務(wù),并通過indexeddb.dboperation(tempname,’add’,data)進行存儲;

23、所述新增訓(xùn)練模板,還包括,當(dāng)用戶選擇恢復(fù)上一次未保存的數(shù)據(jù),則通過定義一個變量mycachelist記錄緩存信息,將mycachelist已經(jīng)存在的數(shù)據(jù)展示,使用變量idkey記錄該緩存的唯一標識id,令后續(xù)通過indexeddb.dboperation(tempname,’add’,data)來存儲信息都將idkey放到data中進行數(shù)據(jù)的區(qū)分;

24、所述創(chuàng)建網(wǎng)絡(luò)靶場的訓(xùn)練模板還包括,在創(chuàng)建完成后,可以進行模板數(shù)據(jù)的保存,數(shù)據(jù)保存后再通過調(diào)用indexeddb.dboperation(tempname,delete,idkey),將當(dāng)前idkey對應(yīng)的數(shù)據(jù)從緩存中進行刪除。

25、進一步地,步驟2所述持久化操作的類型,包括增加,刪除,修改和查詢。

26、基于相同的發(fā)明構(gòu)思,本發(fā)明還提供了一種網(wǎng)絡(luò)靶場前端數(shù)據(jù)持久化存儲系統(tǒng),包括:

27、初始化模塊,用于初始化indexeddb數(shù)據(jù)庫;

28、操作模塊,用于基于初始化好的indexeddb數(shù)據(jù)庫,用戶創(chuàng)建網(wǎng)絡(luò)靶場的訓(xùn)練模板,根據(jù)訓(xùn)練模板對應(yīng)的不同的持久化操作類型傳遞不同的標識類型給indexeddb,indexeddb通過接收到的持久化操作類型和網(wǎng)絡(luò)靶場訓(xùn)練模版的類型,為不同的訓(xùn)練模版創(chuàng)建對應(yīng)的數(shù)據(jù)庫,對數(shù)據(jù)庫中的數(shù)據(jù)進行各類型持久化操作;具體為,

29、開啟定時器,使用indexeddb.dboperation()方法進行各類型操作,實時更新數(shù)據(jù)庫的數(shù)據(jù);

30、定義readtype變量判斷當(dāng)前操作模式;

31、使用res.transaction(storename,readtype).objectstore(storename)處理數(shù)據(jù)的讀寫權(quán)限;其中,storename為數(shù)據(jù)庫名稱;

32、使用objectstore[type](data)對數(shù)據(jù)庫中的數(shù)據(jù)進行更新;其中,type為持久化操作的類型,data為數(shù)據(jù)庫中的數(shù)據(jù);

33、使用onsuccess或onerror返回數(shù)據(jù)庫更新成功或失敗的結(jié)果。

34、進一步地,所述初始化模塊具體實現(xiàn)方法為,

35、通過window.indexeddb獲取到indexeddb對象,并對不同的瀏覽器進行兼容處理;

36、使用indexeddb的open方法開啟數(shù)據(jù)庫連接connection;

37、使用connection.onupgradeneeded處理indexeddb數(shù)據(jù)庫打開鏈接或者版本發(fā)生變化的邏輯;

38、使用db.createobjectstore(),創(chuàng)建數(shù)據(jù)庫集合;

39、使用connection的onsuccess和onerror方法處理數(shù)據(jù)庫初始化成功和失敗的返回結(jié)果。

40、進一步地,所述操作模塊創(chuàng)建網(wǎng)絡(luò)靶場的訓(xùn)練模板包括,新增訓(xùn)練模板、填寫基礎(chǔ)信息、繪制網(wǎng)絡(luò)拓撲和編排訓(xùn)練任務(wù);

41、所述新增團隊訓(xùn)練模板,具體為,用戶選擇新增訓(xùn)練模板,通過indexeddb.dboperation(tempname,’get’)判斷是否可以查詢到上一次未保存的信息,其中tempname為模版類型,取值為single、team、red、topo或range,分別表示單兵訓(xùn)練、團隊訓(xùn)練、紅藍對抗、拓撲模板和靶場測評;當(dāng)可查詢到,詢問是否恢復(fù),如選擇恢復(fù)則將上一次未保存的數(shù)據(jù)展示出來;如不恢復(fù)或未查詢到上一次未保存的信息,則跳轉(zhuǎn)到空的團隊訓(xùn)練模板,并開啟定時器調(diào)用indexeddb.dboperation(tempname,’add’,data)實時存儲輸入的信息,通過不同參數(shù)區(qū)分是新增模板或編輯模板,如是新增模板則將第二個參數(shù)確認add,如是編輯模板則將第二個參數(shù)確認edit;

42、所述填寫基礎(chǔ)信息,具體為,輸入模板名稱和模板描述信息,選擇訓(xùn)練難度和訓(xùn)練類型,選擇訓(xùn)練人員的數(shù)量;

43、所述繪制網(wǎng)絡(luò)拓撲,用戶選擇各類型網(wǎng)絡(luò)設(shè)備和終端設(shè)備并實現(xiàn)網(wǎng)絡(luò)連接,將過程中的數(shù)據(jù)通過indexeddb.dboperation(tempname,’add’,data)進行存儲;

44、所述編排訓(xùn)練任務(wù),具體為,根據(jù)訓(xùn)練需求添加對應(yīng)的任務(wù),并通過indexeddb.dboperation(tempname,’add’,data)進行存儲;

45、所述新增團隊訓(xùn)練模板,還包括,當(dāng)用戶選擇恢復(fù)上一次未保存的數(shù)據(jù),則通過定義一個變量mycachelist記錄緩存信息,將mycachelist已經(jīng)存在的數(shù)據(jù)展示,使用變量idkey記錄該緩存的唯一標識id,令后續(xù)通過indexeddb.dboperation(tempname,’add’,data)來存儲信息都將idkey放到data中進行數(shù)據(jù)的區(qū)分;

46、所述創(chuàng)建網(wǎng)絡(luò)靶場的訓(xùn)練模板還包括,在創(chuàng)建完成后,可以進行模板數(shù)據(jù)的保存,可以進行模板數(shù)據(jù)的保存,數(shù)據(jù)保存后再通過調(diào)用indexeddb.dboperation(tempname,delete,idkey),將當(dāng)前idkey對應(yīng)的數(shù)據(jù)從緩存中進行刪除。

47、進一步地,所述操作模塊的持久化操作的類型,包括增加,刪除,修改和查詢。

48、基于相同的發(fā)明構(gòu)思,本發(fā)明還提供了一種計算機系統(tǒng),包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述計算機程序被加載至處理器時實現(xiàn)根據(jù)上述任一項所述的網(wǎng)絡(luò)靶場前端數(shù)據(jù)持久化存儲方法的步驟。

49、基于相同的發(fā)明構(gòu)思,本發(fā)明還提供了一種計算機程序產(chǎn)品,包括計算機程序/指令,該計算機程序/指令被處理器執(zhí)行時實現(xiàn)根據(jù)上述任一項所述的網(wǎng)絡(luò)靶場前端數(shù)據(jù)持久化存儲方法的步驟。

50、有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明通過基于indexeddb對訓(xùn)練模板數(shù)據(jù)進行實時持久化存儲,通過indexeddb的open方法來開啟一個數(shù)據(jù)庫連接connection,在connection.onupgradeneeded的數(shù)據(jù)庫打開鏈接或者版本發(fā)生變化的回調(diào)方法中,使用db.createobjectstore()創(chuàng)建數(shù)據(jù)庫集合;每次用戶在輸入訓(xùn)練模板信息時間,開啟一個定時器,使用indexeddb.dboperation(tempname,’add’,data)方法向數(shù)據(jù)庫發(fā)送修改的指令,數(shù)據(jù)庫通過objectstore[type](data)來處理接收到的指令,最終在onsuccess回調(diào)中得到返回的結(jié)果,這樣用戶就能夠在未保存訓(xùn)練數(shù)據(jù)的情況下或者瀏覽器閃退等不可預(yù)估的情況下,從而能夠找回歷史編輯的數(shù)據(jù)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
资溪县| 青阳县| 昆明市| 辉县市| 措美县| 枞阳县| 清水河县| 沐川县| 赣州市| 沙坪坝区| 雷山县| 共和县| 珲春市| 红河县| 龙山县| 安龙县| 武宣县| 富裕县| 大悟县| 通海县| 顺昌县| 贵阳市| 体育| 德钦县| 赣榆县| 邳州市| 徐水县| 五家渠市| 茂名市| 崇文区| 郁南县| 富川| 科技| 黄龙县| 怀安县| 福安市| 景洪市| 乡城县| 华亭县| 吕梁市| 铅山县|