本發(fā)明實(shí)施例涉及單片機(jī)領(lǐng)域,尤其涉及一種數(shù)據(jù)存儲(chǔ)方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著信息技術(shù)的發(fā)展,特別是各種數(shù)字處理器件處理速度的提高,在單片機(jī)應(yīng)用系統(tǒng)中,有一些特殊的應(yīng)用場(chǎng)合需要大容量的數(shù)據(jù)存儲(chǔ),而一般單片機(jī)的存儲(chǔ)容量一般幾十k~幾百k字節(jié),無(wú)法滿足單片機(jī)存儲(chǔ)海量數(shù)據(jù),
2、相關(guān)技術(shù)中基于fatfs為文件系統(tǒng),用sd卡作為存儲(chǔ)器來(lái)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。
3、上述方式只將數(shù)據(jù)直接存儲(chǔ)到sd卡中,而當(dāng)單片機(jī)長(zhǎng)時(shí)間運(yùn)行,存儲(chǔ)海量數(shù)據(jù)時(shí),現(xiàn)有技術(shù)的方式難以滿足單片機(jī)中數(shù)據(jù)的存儲(chǔ)與讀取。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問(wèn)題,提出了本發(fā)明實(shí)施例以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種數(shù)據(jù)存儲(chǔ)方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)。
2、第一方面,本技術(shù)實(shí)施例公開(kāi)了一種數(shù)據(jù)存儲(chǔ)方法,應(yīng)用于單片機(jī),所述方法包括:
3、在所述單片機(jī)上電的情況下,獲取當(dāng)前日期對(duì)應(yīng)的第一星期數(shù);
4、判斷當(dāng)前日期與存儲(chǔ)設(shè)備中記錄的上電日期是否一致;
5、若一致,且所述存儲(chǔ)設(shè)備中存在文件夾名稱(chēng)與所述第一星期數(shù)對(duì)應(yīng)的第一目標(biāo)文件夾,則將當(dāng)前日期的待存儲(chǔ)數(shù)據(jù)存儲(chǔ)至所述第一目標(biāo)文件夾中寫(xiě)入順序?yàn)樽詈蟮囊粋€(gè)文件中;
6、若不一致,且所述存儲(chǔ)設(shè)備中存在文件夾名稱(chēng)與所述第一星期數(shù)對(duì)應(yīng)的第一目標(biāo)文件夾,則按照所述第一目標(biāo)文件夾中的文件的寫(xiě)入順序,通過(guò)所述待存儲(chǔ)數(shù)據(jù)覆蓋所述第一目標(biāo)文件夾中的文件中的內(nèi)容的方式存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)。
7、可選地,所述方法還包括:
8、若所述存儲(chǔ)設(shè)備中不存在文件夾名稱(chēng)與所述第一星期數(shù)對(duì)應(yīng)的第一目標(biāo)文件夾,則創(chuàng)建文件夾名稱(chēng)為所述第一星期數(shù)的第二目標(biāo)文件夾;
9、在所述第二目標(biāo)文件夾的目錄下創(chuàng)建子文件,并將當(dāng)前日期的待存儲(chǔ)數(shù)據(jù)存儲(chǔ)至所述子文件中。
10、可選地,所述判斷當(dāng)前日期與存儲(chǔ)設(shè)備中記錄的上電日期是否一致,包括:
11、若不一致,則在所述存儲(chǔ)設(shè)備中記錄所述當(dāng)前日期;
12、若一致,則保持所述存儲(chǔ)設(shè)備中所記錄的上電日期不變。
13、可選地,所述按照所述第一目標(biāo)文件夾中的文件的寫(xiě)入順序,通過(guò)所述待存儲(chǔ)數(shù)據(jù)覆蓋所述第一目標(biāo)文件夾中的文件中的內(nèi)容的方式存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù),包括:
14、獲取所述第一目標(biāo)文件夾中的文件的文件名稱(chēng);所述文件名稱(chēng)按照文件的寫(xiě)入順序命名;
15、通過(guò)所述文件名稱(chēng),確定第一個(gè)寫(xiě)入的目標(biāo)文件,并通過(guò)覆蓋所述目標(biāo)文件中原始數(shù)據(jù)的方式,將所述待存儲(chǔ)數(shù)據(jù)寫(xiě)入所述第一個(gè)寫(xiě)入的目標(biāo)文件;
16、若所述第一個(gè)寫(xiě)入的目標(biāo)文件的存儲(chǔ)空間已滿,則將未寫(xiě)入的所述待存儲(chǔ)數(shù)據(jù)寫(xiě)入第二個(gè)目標(biāo)文件中,直至所述待存儲(chǔ)數(shù)據(jù)全部寫(xiě)入所述第一目標(biāo)文件夾。
17、可選地,所述將當(dāng)前日期的待存儲(chǔ)數(shù)據(jù)存儲(chǔ)至所述第一目標(biāo)文件夾中寫(xiě)入順序?yàn)樽詈蟮囊粋€(gè)文件中,包括:
18、獲取所述第一目標(biāo)文件夾中的文件的文件名稱(chēng);所述文件名稱(chēng)按照文件的寫(xiě)入順序命名;
19、根據(jù)所述文件名稱(chēng),確定所述第一目標(biāo)文件夾中寫(xiě)入順序最后的目標(biāo)文件,并在所述目標(biāo)文件中寫(xiě)入所述待存儲(chǔ)數(shù)據(jù);
20、若所述目標(biāo)文件的存儲(chǔ)空間已滿,則按照寫(xiě)入順序命名的方式創(chuàng)建新的目標(biāo)文件,并將未寫(xiě)入的待存儲(chǔ)數(shù)據(jù)寫(xiě)入所述新的目標(biāo)文件。
21、可選地,所述方法還包括:
22、在所述單片機(jī)運(yùn)行的過(guò)程中,實(shí)時(shí)的獲取當(dāng)前日期;
23、若所述當(dāng)前日期相對(duì)于所述單片機(jī)剛上電時(shí)的日期已改變,則根據(jù)改變后的日期重新確定第二星期數(shù);
24、將待存儲(chǔ)數(shù)據(jù)存儲(chǔ)至所述存儲(chǔ)設(shè)備中文件夾名稱(chēng)與所述第二星期數(shù)對(duì)應(yīng)的第三目標(biāo)文件夾。
25、可選地,若所述待存儲(chǔ)數(shù)據(jù)存在不同的數(shù)據(jù)類(lèi)型,所述方法還包括:
26、獲取所述第一目標(biāo)文件夾中的文件的文件名稱(chēng);所述文件名稱(chēng)按照數(shù)據(jù)類(lèi)型和寫(xiě)入順序命名;
27、根據(jù)所述待存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)類(lèi)型和所述文件名稱(chēng),確定與所述數(shù)據(jù)類(lèi)型匹配的候選文件中,寫(xiě)入順序?yàn)榈谝粋€(gè)的候選文件作為第一個(gè)寫(xiě)入的目標(biāo)文件。
28、可選地,所述通過(guò)所述文件名稱(chēng),確定第一個(gè)寫(xiě)入的目標(biāo)文件,包括:
29、提取所述第一目標(biāo)文件夾中的所有文件的文件名稱(chēng);
30、根據(jù)所述文件名稱(chēng)中表征寫(xiě)入順序的字段,確定第一個(gè)寫(xiě)入的目標(biāo)文件。
31、可選地,所述將當(dāng)前日期的待存儲(chǔ)數(shù)據(jù)存儲(chǔ)至所述第一目標(biāo)文件夾中寫(xiě)入順序?yàn)樽詈蟮囊粋€(gè)文件中之前,所述方法還包括:
32、判斷所述第一目標(biāo)文件夾中是否存在文件;
33、若不存在,則創(chuàng)建待寫(xiě)入文件;所述待寫(xiě)入文件的文件名稱(chēng)與寫(xiě)入順序?qū)?yīng)。
34、第二方面,本技術(shù)實(shí)施例公開(kāi)了一種數(shù)據(jù)存儲(chǔ)裝置,應(yīng)用于單片機(jī),所述裝置包括:
35、獲取模塊,用于在所述單片機(jī)上電的情況下,獲取當(dāng)前日期對(duì)應(yīng)的第一星期數(shù);
36、判斷模塊,用于判斷當(dāng)前日期與存儲(chǔ)設(shè)備中記錄的上電日期是否一致;
37、第一寫(xiě)入模塊,用于若一致,且所述存儲(chǔ)設(shè)備中存在文件夾名稱(chēng)與所述第一星期數(shù)對(duì)應(yīng)的第一目標(biāo)文件夾,則將當(dāng)前日期的待存儲(chǔ)數(shù)據(jù)存儲(chǔ)至所述第一目標(biāo)文件夾中寫(xiě)入順序?yàn)樽詈蟮囊粋€(gè)文件中;
38、第二寫(xiě)入模塊,用于若不一致,且所述存儲(chǔ)設(shè)備中存在文件夾名稱(chēng)與所述第一星期數(shù)對(duì)應(yīng)的第一目標(biāo)文件夾,則按照所述第一目標(biāo)文件夾中的文件的寫(xiě)入順序,通過(guò)所述待存儲(chǔ)數(shù)據(jù)覆蓋所述第一目標(biāo)文件夾中的文件中的內(nèi)容的方式存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)。
39、第三方面,本技術(shù)實(shí)施例還公開(kāi)了一種電子設(shè)備,包括處理器和存儲(chǔ)器、所述存儲(chǔ)器存儲(chǔ)可在所述處理器上運(yùn)行的程序或指令,所述程序或指令被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的數(shù)據(jù)存儲(chǔ)方法的步驟。
40、第四方面,本技術(shù)實(shí)施例還公開(kāi)了一種可讀存儲(chǔ)介質(zhì),所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有程序或指令,所述程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的數(shù)據(jù)存儲(chǔ)方法的步驟。
41、本技術(shù)實(shí)施例中,在所述單片機(jī)上電的情況下,獲取當(dāng)前日期對(duì)應(yīng)的第一星期數(shù);判斷當(dāng)前日期與存儲(chǔ)設(shè)備中記錄的上電日期是否一致;若一致,且所述存儲(chǔ)設(shè)備中存在文件夾名稱(chēng)與所述第一星期數(shù)對(duì)應(yīng)的第一目標(biāo)文件夾,則將當(dāng)前日期的待存儲(chǔ)數(shù)據(jù)存儲(chǔ)至所述第一目標(biāo)文件夾中寫(xiě)入順序?yàn)樽詈蟮囊粋€(gè)文件中;若不一致,且所述存儲(chǔ)設(shè)備中存在文件夾名稱(chēng)與所述第一星期數(shù)對(duì)應(yīng)的第一目標(biāo)文件夾,則按照所述第一目標(biāo)文件夾中的文件的寫(xiě)入順序,通過(guò)所述待存儲(chǔ)數(shù)據(jù)覆蓋所述第一目標(biāo)文件夾中的文件中的內(nèi)容的方式存儲(chǔ)所述待存儲(chǔ)數(shù)據(jù)。本技術(shù)的方法在單片機(jī)上電后,首先判斷當(dāng)前上電日期與存儲(chǔ)設(shè)備中記錄的上電日期是否是同一天,若為同一天,則進(jìn)一步判斷存儲(chǔ)設(shè)備中是否存在與當(dāng)前日期對(duì)應(yīng)的星期數(shù)對(duì)應(yīng)的文件夾,若有則存儲(chǔ)在對(duì)應(yīng)星期數(shù)的文件夾中,若不是同一天,則確定與當(dāng)前星期數(shù)對(duì)應(yīng)的文件夾后,覆蓋原始數(shù)據(jù)進(jìn)行存儲(chǔ),即本技術(shù)中將文件夾的名稱(chēng)與星期數(shù)對(duì)應(yīng),使得當(dāng)前為星期幾就存儲(chǔ)在星期幾的文件夾,通過(guò)當(dāng)前星期數(shù)的數(shù)據(jù)覆蓋上周同一星期數(shù)的數(shù)據(jù),實(shí)現(xiàn)以星期為單位的數(shù)據(jù)的循環(huán)存儲(chǔ),即以星期為單位,通過(guò)輪詢(xún)存儲(chǔ)的方式實(shí)現(xiàn)海量數(shù)據(jù)的存儲(chǔ),同時(shí),通過(guò)文件夾的名稱(chēng)即可確定數(shù)據(jù)的存儲(chǔ)日期,提升了數(shù)據(jù)查找的效率。