一種包含日期的定長(zhǎng)字符串圖片名稱生成方法
【專利摘要】本發(fā)明是一種包含日期的定長(zhǎng)字符串圖片名稱生成方法,它涉及圖像數(shù)據(jù)處理。該方法包括以下步驟:S1,將需要命名圖片的全局唯一標(biāo)識(shí)符guid進(jìn)行無(wú)損壓縮,得到所述圖片全局唯一的16位定長(zhǎng)16進(jìn)制字符串;S2,設(shè)定用于系統(tǒng)識(shí)別的salt字符串,所述salt字符串是n位定長(zhǎng)16進(jìn)制字符串;S3,將當(dāng)前日期時(shí)間轉(zhuǎn)換成5位定長(zhǎng)16進(jìn)制字符串,得到當(dāng)前日期時(shí)間的字符串;S4,組合文件名:按照下述方法進(jìn)行組合成所述圖片的名稱:當(dāng)前日期時(shí)間的字符串_4位字符_n位salt字符串_12位字符.擴(kuò)展名。本發(fā)明解決了現(xiàn)有生成的圖片名稱中僅存在圖片順序不包含日期、生成圖片名稱中存在名稱重復(fù)和為解決名稱重復(fù)而造成多余工作量和資源浪費(fèi)的問(wèn)題。
【專利說(shuō)明】一種包含日期的定長(zhǎng)字符串圖片名稱生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖像數(shù)據(jù)處理領(lǐng)域,尤其涉及一種包含日期的定長(zhǎng)字符串圖片名稱生成方法。
【背景技術(shù)】
[0002]在Web2.0時(shí)代,因?yàn)?,開(kāi)發(fā)出多種圖片名稱生成的方法,例如:純guid的方法、使用年月日命名的方法等,現(xiàn)有的這些方法雖然可以很快的對(duì)圖片進(jìn)行命名,但是存在以下不足:生成的圖片名稱中僅存在圖片順序并不包含日期,生成的圖片名稱中存在名稱重復(fù)的問(wèn)題。雖然現(xiàn)有圖片名稱生成的方法可以與數(shù)據(jù)庫(kù)結(jié)合避免生成圖片名稱重復(fù)的問(wèn)題,但因?yàn)槭欠椒ê蛿?shù)據(jù)庫(kù)的結(jié)合,無(wú)疑產(chǎn)生了增加生成圖片名稱的工作量和浪費(fèi)資源的問(wèn)題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種包含日期的定長(zhǎng)字符串圖片名稱生成方法,從而解決現(xiàn)有技術(shù)中存在的前述問(wèn)題。
[0004]為了實(shí)現(xiàn)上述目的,本發(fā)明一種包含日期的定長(zhǎng)字符串圖片名稱生成方法,采用的技術(shù)方案如下:
[0005]S1,將需要命名圖片的全局唯一標(biāo)識(shí)符guid進(jìn)行無(wú)損壓縮,得到所述圖片全局唯一的16位定長(zhǎng)16進(jìn)制字符串;
[0006]S2,設(shè)定用于系統(tǒng)識(shí)別的salt字符串,所述salt字符串是η位定長(zhǎng)16進(jìn)制字符串,所述η為1、2、3或4 ;
[0007]S3,將當(dāng)前日期時(shí)間轉(zhuǎn)換成5位定長(zhǎng)16進(jìn)制字符串,得到當(dāng)前日期時(shí)間的字符串;
[0008]S4,組合文件名:將所述當(dāng)前日期時(shí)間的字符串、所述16位定長(zhǎng)16進(jìn)制字符串和所述salt字符串按照下述方法進(jìn)行組合成所述圖片的名稱:
[0009]當(dāng)前日期時(shí)間的字符串_4位字符串_salt字符串_12位字符串.擴(kuò)展名。
[0010]優(yōu)選地,步驟S1 中,米用 BitConverter.ToInt64 () >BitConverter.ToInt32 ()、或BitConverter.ToIntl6 ()方法實(shí)現(xiàn)無(wú)損壓縮。
[0011]優(yōu)選地,步驟2,具體按照下述步驟實(shí)現(xiàn):
[0012]S21,選取4096?65535范圍中的整數(shù);
[0013]S22,把步驟S21中所選擇的整數(shù)轉(zhuǎn)換為η為定長(zhǎng)16進(jìn)制字符串,所述η小于等于4,得到用于系統(tǒng)識(shí)別的salt字符串。
[0014]優(yōu)選地,在步驟S22之后還存在以下步驟:在所述用于系統(tǒng)識(shí)別的salt字符串的前端和后端分別補(bǔ)一個(gè)下劃線。
[0015]優(yōu)選地,步驟S3,具體按照下述步驟實(shí)現(xiàn):
[0016]S31,將當(dāng)前日期時(shí)間生成一個(gè)數(shù)字串后,減去系統(tǒng)設(shè)定的常量字符串,得到縮減后的日期時(shí)間數(shù)字串;
[0017]S32,將所述縮減后的日期時(shí)間字符串轉(zhuǎn)化成5位定長(zhǎng)16進(jìn)制字符串,即為所述當(dāng)前日期時(shí)間的字符串。
[0018]更優(yōu)選地,步驟31中,所述縮減后的日期時(shí)間字符串是1048575?I之間的數(shù)字串O
[0019]更優(yōu)選地,在步驟32之后還存在以下步驟:在所述5位定長(zhǎng)16進(jìn)制字符串后端補(bǔ)一個(gè)下劃線。
[0020]優(yōu)選地,步驟S4所述組合文件名,具體按照下述方法實(shí)現(xiàn):將所述當(dāng)前日期時(shí)間的字符串與所述16位定長(zhǎng)16進(jìn)制字符串依次連接,將所述salt字符串插入所述16位定長(zhǎng)16進(jìn)制字符串的第4位字符和第5位字符之間,得到圖片名稱為:當(dāng)前日期時(shí)間的字符串_4位字符串_salt字符串_12位字符串.擴(kuò)展名。
[0021]本發(fā)明的有益效果是:
[0022]本發(fā)明針對(duì)互聯(lián)網(wǎng)時(shí)代圖片名生成的復(fù)雜度提出,使用本發(fā)明可以更加快速的生成包含日期、有序、且無(wú)重復(fù)的圖片文件名,從而增加用戶上傳圖片的速度,給用戶以優(yōu)越的用戶體驗(yàn),增加網(wǎng)站的訪問(wèn)量、用戶量。
[0023]使用本發(fā)明,達(dá)到了將網(wǎng)友的動(dòng)態(tài)信息及時(shí)準(zhǔn)確的展現(xiàn)給相關(guān)的人群,提高該網(wǎng)友的關(guān)注度,同時(shí)也為網(wǎng)站帶來(lái)了更大的訪問(wèn)量,更多的用戶量。
【專利附圖】
【附圖說(shuō)明】
[0024]圖1是實(shí)施例中所述包含日期的定長(zhǎng)字符串圖片名稱生成方法的流程圖。
【具體實(shí)施方式】
[0025]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的【具體實(shí)施方式】?jī)H僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0026]實(shí)施例
[0027]參照?qǐng)D1,本實(shí)施例是一種包含日期的定長(zhǎng)字符串圖片名稱生成方法,該方法包括:
[0028]該方法包括以下步驟:
[0029]SI,計(jì)算機(jī)生成需要命名圖片的全局唯一標(biāo)識(shí)符guid,將所述guid經(jīng)無(wú)損壓縮,得到所述圖片全局唯一的16位定長(zhǎng)16進(jìn)制字符串;
[0030]S2,設(shè)定用于系統(tǒng)識(shí)別的salt字符串,所述salt字符串是前后端分別存有一個(gè)下劃線的η位定長(zhǎng)16進(jìn)制字符串,所述η等于4 ;
[0031]S21,選取4096?65535范圍中的整數(shù);
[0032]S22,把步驟S21中所選擇的整數(shù)轉(zhuǎn)換為4位定長(zhǎng)16進(jìn)制字符串,同時(shí),在所述字符串的前后兩端分別補(bǔ)一個(gè)下劃線,得到用于系統(tǒng)識(shí)別的salt字符串;
[0033]S3,將當(dāng)前日期時(shí)間轉(zhuǎn)換成在后端存有一個(gè)下劃線的5位定長(zhǎng)16進(jìn)制字符串,得到當(dāng)前日期時(shí)間的字符串;
[0034]S31,將當(dāng)前日期時(shí)間生成一個(gè)字符串后,減去系統(tǒng)設(shè)定的常量字符串,得到縮減后的日期時(shí)間字符串;
[0035]S32,將所述縮減后的日期時(shí)間字符串轉(zhuǎn)化成后端補(bǔ)一個(gè)下劃線5位定長(zhǎng)16進(jìn)制字符串,即為所述當(dāng)前日期時(shí)間的字符串;
[0036]S4,組合文件名:將所述當(dāng)前日期時(shí)間的字符串、所述16位定長(zhǎng)16進(jìn)制字符串和所述salt字符串按照下述方法進(jìn)行組合成所述圖片的名稱:
[0037]當(dāng)前日期時(shí)間的字符串_4位字符串_salt字符串_12位字符串.擴(kuò)展名。
[0038]在本實(shí)施例中,步驟S1中,采用微軟C#語(yǔ)言自帶的BitConverter.ToInt64()方法實(shí)現(xiàn)無(wú)損壓縮。盡管無(wú)損壓縮的方法很多,但本實(shí)施例中采用的BitConverter.ToInt64()方法是對(duì)全局唯一標(biāo)識(shí)符guid進(jìn)行無(wú)損壓縮時(shí),壓縮率最優(yōu)的。
[0039]在本實(shí)施例中,步驟31中,將當(dāng)前日期時(shí)間生成一個(gè)數(shù)字串后,減去系統(tǒng)設(shè)定的常量數(shù)字串,得到由1048575?1之間的數(shù)字串組成的縮減后的日期時(shí)間字符串。
[0040]在本實(shí)施例中,步驟S4所述組合文件名,具體按照下述方法實(shí)現(xiàn):將所述當(dāng)前日期時(shí)間的字符串與所述16位定長(zhǎng)16進(jìn)制字符串依次連接,將所述salt字符串插入所述16位定長(zhǎng)16進(jìn)制字符串的第4位字符和第5位字符之間,得到圖片名稱為:日期變量_4位字符_最多4位隨機(jī)salt_12位字符.擴(kuò)展名。
[0041]在本實(shí)施例中,圖片的擴(kuò)展名為.jpeg,此方法支持任何后綴的圖片。
[0042]其中,所述全局唯一標(biāo)識(shí)符guid,所述guid是Globally Unique Identifier的縮寫。所述salt字符:就是加點(diǎn)“佐料”;其作用是當(dāng)用戶首次提供密碼時(shí)(通常是注冊(cè)時(shí)),由系統(tǒng)自動(dòng)往這個(gè)密碼里撒一些“佐料”,然后再散列;而當(dāng)用戶登錄時(shí),系統(tǒng)為用戶提供的代碼撒上同樣的“佐料”,然后散列,比較散列值,已確定密碼是否正確。
[0043]本實(shí)施例中所述salt的作用是用于系統(tǒng)進(jìn)行識(shí)別所讀取的圖片的名稱是否是所述系統(tǒng)生成,若是所述系統(tǒng)生成,則將所述圖片的名稱進(jìn)行反推到,得出生成所述圖片名稱的日期。
[0044]本實(shí)施例中所述包含日期的定長(zhǎng)字符串圖片名稱生成方法可應(yīng)用于任何一種格式的圖片的命名。
[0045]通過(guò)采用本發(fā)明公開(kāi)的上述技術(shù)方案,得到了如下有益的效果:
[0046]本發(fā)明針對(duì)互聯(lián)網(wǎng)時(shí)代圖片名生成的復(fù)雜度提出,使用本發(fā)明可以更加快速的生成包含日期、有序、且無(wú)重復(fù)的圖片文件名,從而增加用戶上傳圖片的速度,給用戶以優(yōu)越的用戶體驗(yàn),增加網(wǎng)站的訪問(wèn)量、用戶量。
[0047]使用本發(fā)明,達(dá)到了將網(wǎng)友的動(dòng)態(tài)信息及時(shí)準(zhǔn)確的展現(xiàn)給相關(guān)的人群,提高該網(wǎng)友的關(guān)注度,同時(shí)也為網(wǎng)站帶來(lái)了更大的訪問(wèn)量,更多的用戶量。
[0048]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種包含日期的定長(zhǎng)字符串圖片名稱生成方法,其特征在于,該方法包括以下步驟: SI,將需要命名圖片的全局唯一標(biāo)識(shí)符guid進(jìn)行無(wú)損壓縮,得到所述圖片全局唯一的16位定長(zhǎng)16進(jìn)制字符串; S2,設(shè)定用于系統(tǒng)識(shí)別的salt字符串,所述salt字符串是η位定長(zhǎng)16進(jìn)制字符串,所述η為1、2、3或4 ; S3,將當(dāng)前日期時(shí)間轉(zhuǎn)換成5位定長(zhǎng)16進(jìn)制字符串,得到當(dāng)前日期時(shí)間的字符串; S4,組合文件名:將所述當(dāng)前日期時(shí)間的字符串、所述16位定長(zhǎng)16進(jìn)制字符串和所述salt字符串按照下述方法進(jìn)行組合成所述圖片的名稱: 當(dāng)前日期時(shí)間的字符串_4位字符串_salt字符串_12位字符串.擴(kuò)展名。
2.根據(jù)權(quán)利要求1所述包含日期的定長(zhǎng)字符串圖片名稱生成方法,其特征在于,步驟 SI 中,米用 BitConverter.ToInt64 O、BitConverter.ToInt32 O、或 BitConverter.ToIntieO方法實(shí)現(xiàn)無(wú)損壓縮。
3.根據(jù)權(quán)利要求1所述包含日期的定長(zhǎng)字符串圖片名稱生成方法,其特征在于,步驟2,具體按照下述步驟實(shí)現(xiàn): S21,選取4096?65535范圍中的整數(shù); S22,把步驟S21中所選擇的整數(shù)轉(zhuǎn)換為η為定長(zhǎng)16進(jìn)制字符串,所述η小于等于4,得到用于系統(tǒng)識(shí)別的salt字符串。
4.根據(jù)權(quán)利要求3所述包含日期的定長(zhǎng)字符串圖片名稱生成方法,其特征在于,在步驟S22之后還存在以下步驟:在所述用于系統(tǒng)識(shí)別的salt字符串的前端和后端分別補(bǔ)一個(gè)下劃線。
5.根據(jù)權(quán)利要求1所述包含日期的定長(zhǎng)字符串圖片名稱生成方法,其特征在于,步驟S3,具體按照下述步驟實(shí)現(xiàn): S31,將當(dāng)前日期時(shí)間生成一個(gè)數(shù)字串后,減去系統(tǒng)設(shè)定的常量字符串,得到縮減后的日期時(shí)間數(shù)字串; S32,將所述縮減后的日期時(shí)間字符串轉(zhuǎn)化成5位定長(zhǎng)16進(jìn)制字符串,即為所述當(dāng)前日期時(shí)間的字符串。
6.根據(jù)權(quán)利要求5所述包含日期的定長(zhǎng)字符串圖片名稱生成方法,其特征在于,步驟31中,所述縮減后的日期時(shí)間字符串是1048575?I之間的數(shù)字串。
7.根據(jù)權(quán)利要求5所述包含日期的定長(zhǎng)字符串圖片名稱生成方法,其特征在于,在步驟32之后還存在以下步驟:在所述5位定長(zhǎng)16進(jìn)制字符串后端補(bǔ)一個(gè)下劃線。
8.根據(jù)權(quán)利要求1所述包含日期的定長(zhǎng)字符串圖片名稱生成方法,其特征在于,步驟S4所述組合文件名,具體按照下述方法實(shí)現(xiàn):將所述當(dāng)前日期時(shí)間的字符串與所述16位定長(zhǎng)16進(jìn)制字符串依次連接,將所述salt字符串插入所述16位定長(zhǎng)16進(jìn)制字符串的第4位字符和第5位字符之間,得到圖片名稱為:當(dāng)前日期時(shí)間的字符串_4位字符串_salt字符串_12位字符串.擴(kuò)展名。
【文檔編號(hào)】G06F17/30GK104391943SQ201410690521
【公開(kāi)日】2015年3月4日 申請(qǐng)日期:2014年11月25日 優(yōu)先權(quán)日:2014年11月25日
【發(fā)明者】路思勇 申請(qǐng)人:車智互聯(lián)(北京)科技有限公司