鏈接生成方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種鏈接生成方法和裝置。
【背景技術(shù)】
[0002]短鏈接,通俗來說就是將長的URL網(wǎng)址,通過程序計算等方式轉(zhuǎn)換為簡短的網(wǎng)址字符串。自微博盛行以來,在微博字?jǐn)?shù)有限的特色下,短鏈接也盛行于微博網(wǎng)站,以節(jié)省字?jǐn)?shù)。
[0003]目前,短鏈接在使用方面存在的最大問題是,由于短鏈接的長度較短,容易出現(xiàn)短鏈接重復(fù)使用的情況:例如,為不同的頁面生成的兩個短鏈接相同,這就造成了短鏈接沖突的情況發(fā)生,此時用戶點擊短鏈接難以進(jìn)入正確的頁面。
【發(fā)明內(nèi)容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的鏈接生成方法和裝置。
[0005]依據(jù)本發(fā)明的一個方面,提供了一種鏈接生成方法,包括:獲取第一鏈接;所述第一鏈接用于在被點擊時跳轉(zhuǎn)到指定位置;從所述數(shù)據(jù)庫中獲取自增值;判斷所述自增值是否已被其他鏈接占用;在所述自增值未被所述其他鏈接占用時,基于預(yù)設(shè)規(guī)則對所述自增值進(jìn)行計算得到第二鏈接;所述第二鏈接用于在被點擊時跳轉(zhuǎn)到所述指定位置。
[0006]依據(jù)本發(fā)明的另一方面,還提供了一種鏈接生成裝置,包括:鏈接獲取模塊,用于獲取第一鏈接;所述第一鏈接用于在被點擊時跳轉(zhuǎn)到指定位置;自增值獲取模塊,用于從所述數(shù)據(jù)庫中獲取自增值;第一判斷模塊,用于判斷所述自增值是否已被其他鏈接占用;鏈接生成模塊,用于在所述自增值未被所述其他鏈接占用時,基于預(yù)設(shè)規(guī)則對所述自增值進(jìn)行計算得到第二鏈接;所述第二鏈接用于在被點擊時跳轉(zhuǎn)到所述指定位置。
[0007]根據(jù)以上技術(shù)方案,本發(fā)明的鏈接生成方法和裝置至少具有以下優(yōu)點:
[0008]在本發(fā)明的技術(shù)方案中,在為第一鏈接從數(shù)據(jù)庫中獲取自增值以用于生成第二鏈接時,由于可能該自增值已用于或待用于供其他鏈接使用來生成新鏈接,也就是說取出的自增值已被占用,所以在本發(fā)明的技術(shù)方案中增加了判斷自增值是否被占用,以防止取出的自增值已被占用,造成第一鏈接和其他鏈接使用相同的自增值生成相同的第二鏈接,造成第二鏈接出現(xiàn)沖突。
[0009]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0010]通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0011]圖1示出了根據(jù)本發(fā)明的一個實施例的鏈接生成方法的流程圖;
[0012]圖2示出了根據(jù)本發(fā)明的一個實施例的鏈接生成方法的流程圖;
[0013]圖3示出了根據(jù)本發(fā)明的一個實施例的鏈接生成方法的流程圖;
[0014]圖4示出了根據(jù)本發(fā)明的一個實施例的鏈接生成裝置的框圖;
[0015]圖5示出了根據(jù)本發(fā)明的一個實施例的鏈接生成裝置的框圖;
[0016]圖6示出了根據(jù)本發(fā)明的一個實施例的鏈接生成裝置的框圖。
【具體實施方式】
[0017]下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0018]如圖1所示,本發(fā)明的一個實施例中提供了一種鏈接生成方法,包括:
[0019]步驟110,獲取第一鏈接;第一鏈接用于在被點擊時跳轉(zhuǎn)到指定位置。在本實施例中,對第一鏈接不進(jìn)行限制,一般地第一鏈接的長度較長,其可以是某網(wǎng)頁、某圖片在網(wǎng)絡(luò)中的原始鏈接。
[0020]步驟120,從數(shù)據(jù)庫中獲取自增值。在本實施例中,數(shù)據(jù)庫提供自增ID(自增值),每次從數(shù)據(jù)庫中取值時取得的值都在增大,以免和之前的取值重復(fù);由于不同的取值用于生成不同的鏈接,所以利用自增ID可以有效避免出現(xiàn)鏈接沖突的情況。
[0021 ]步驟130,判斷自增值是否已被其他鏈接占用。在本實施例中,自增值被其他鏈接占用的情況包括但不限于:已規(guī)定使用某固定值來生成新的鏈接;存在其他鏈接需要獲取自增值的情況,導(dǎo)致某個值被多次獲取。
[0022]步驟140,在自增值未被其他鏈接占用時,基于預(yù)設(shè)規(guī)則對自增值進(jìn)行計算得到第二鏈接;第二鏈接用于在被點擊時跳轉(zhuǎn)到指定位置。在本實施例中,對第二鏈接不進(jìn)行限制,一般地第二鏈接長度較短,即短鏈接;在本實施例中,對于預(yù)設(shè)規(guī)則不進(jìn)行限制,例如,其可以是將自增值由10進(jìn)制轉(zhuǎn)換為36進(jìn)制的規(guī)則,也可以是將自增值由10進(jìn)制轉(zhuǎn)換為62進(jìn)制的規(guī)則等。根據(jù)本實施例的技術(shù)方案,增加了判斷自增值是否被占用,以防止取出的自增值已被占用,造成第一鏈接和其他鏈接使用相同的自增值生成相同的第二鏈接,造成第二鏈接出現(xiàn)沖突。
[0023 ]如圖2所示,本發(fā)明的一個實施例中提供了一種鏈接生成方法,包括:
[0024]步驟210,獲取第一鏈接;第一鏈接用于在被點擊時跳轉(zhuǎn)到指定位置。
[0025]步驟220,從數(shù)據(jù)庫中獲取自增值。
[0026]步驟230,判斷數(shù)據(jù)庫中是否具有自增值對應(yīng)的標(biāo)記;標(biāo)記用于表示自增值已被其他鏈接占用。在本實施例中,對標(biāo)記的類型不進(jìn)行限制,例如,可以在數(shù)據(jù)庫中存放一個數(shù)據(jù)表,存放被占用的自增值,并且設(shè)置一個標(biāo)記字段,來標(biāo)識該自增值已被占用。
[0027]步驟240,在自增值未被其他鏈接占用時,基于預(yù)設(shè)規(guī)則對自增值進(jìn)行計算得到第二鏈接;第二鏈接用于在被點擊時跳轉(zhuǎn)到指定位置。
[0028]步驟250,在自增值已被其他鏈接占用時,重新獲取新的自增值以生成第二鏈接。在本實施例中,如果自增值已被占用,則重新從數(shù)據(jù)庫中獲取自增值,以生成不會發(fā)生沖突的第二鏈接。
[0029]步驟260,判斷第二鏈接是否與已有鏈接相同,在第二鏈接與已有鏈接相同時重新獲取新的自增值以生成新的第二鏈接。在本實施例中,通過判斷第二鏈接是否與已有鏈接相同,可以進(jìn)一步避免出現(xiàn)鏈接沖突的情況。
[0030]如圖3所示,本發(fā)明的一個實施例中提供了一種鏈接生成方法,包括:
[0031]步驟310,獲取第一鏈接;第一鏈接用于在被點擊時跳轉(zhuǎn)到指定位置。
[0032]步驟320,從數(shù)據(jù)庫中獲取自增值。
[0033]步驟330,判斷自增值是否位于預(yù)設(shè)的記錄文件中;記錄中記錄自增值以及占用自增值的鏈接。在本實施例中,已被占用的自增值沒有記錄在數(shù)據(jù)庫中,而是記錄在特定的文件中,以減少數(shù)據(jù)庫的讀取壓力。
[0034]步驟340,在自增值未被其他鏈接占用時,基于預(yù)設(shè)規(guī)則對自增值進(jìn)行計算得到第二鏈接;第二鏈接用于在被點擊時跳轉(zhuǎn)到指定位置。
[0035]步驟350,在自增值已被其他鏈接占用時,判斷其他鏈接是否有效,在其他鏈接有效時重新獲取新的自增值以生成第二鏈接。在本實施例中,如果自增值被其他鏈接占用,但是由于其他鏈接失效,導(dǎo)致其他鏈接停止繼續(xù)使用,則仍然可以將自增值提供給第一鏈接使用以生成第二鏈接,可見根據(jù)本實施例的技術(shù)方案,能夠增加自增值的利用效率。
[0036]如圖4所示,本發(fā)明的一個實施例中提供了一種鏈接生成裝置,包括:
[0037]鏈