新四季網

短連結地址生成方法及系統與流程

2023-05-28 03:01:31 1


本發明涉及即時通訊領域,特別地,涉及一種短連結地址生成方法及系統。



背景技術:

網際網路應用中,基於內容的分享、傳播以及獲取的應用場景普遍存在。尤其是社交網絡服務的廣泛應用,使基於用戶關係的信息傳播更為方便。但是這種信息傳播方式普遍存在字數限制的問題。為了承載更多信息量,通常分享的內容中附加短URL(Uniform Resource Locator:統一資源定位器)連結地址以減少目標URL過長導致佔用有效字數問題。

短網址服務可以把一個長網址縮短,方便用戶在社交網絡和微博甚至是手機簡訊分享連結。例如,可以把這樣一個長網址:

http://xue.neuedu.cn/ec_mbrowse/lrbrowse/coursemobile?resourceId=002903c6-8234-4a9c-a708-32a70dfafas4a8&isappinstalled=false

縮短成這樣一個短網址:

http://neuedu.cn/awD5d

相對於長網址,短網址可以更方便地通過社交網絡、微博和手機上傳播,避免折行或超出字符限制。

目前的可行技術方案多集中於把目標URL字符串通過hash離散運算,變換成固定長度的輸出,進而來表達唯一結果與目標URL進行關聯。然而,這種轉換是一種有損的壓縮映射,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,所以不可能從散列值來唯一的確定輸入值。短連結數量與發生碰撞的可能性成正相關,也即是短連結的長度通常在4~7個字符長度,hash函數的值域過小,隨著短連結數量的增加,發生碰撞的可能性會逐漸增大,從而降低系統可用性。



技術實現要素:

本發明提供了一種短連結地址生成方法及系統,以解決現有的短連結生成方式隨著數量增加容易產生碰撞,進而導致系統可用性低的技術問題。

本發明採用的技術方案如下:

根據本發明的一個方面,提供一種短連結地址生成方法,包括:

接收連結地址轉換請求,將原始URL基於散列算法生成對應的哈希值;

判斷內存緩存是否存在與哈希值匹配的短連結地址,若有則直接返回該短連結地址;否則,從短連結資源池中取用一個資源,生成短連結地址,將新生成的短連結地址返回並保存至內存緩存;

其中,短連結資源池為根據短連結地址資源需求對應的生成策略創建,生成策略包括選定的編碼字符集和短連結地址對應的唯一標識字符串長度,短連結資源池通過改變唯一標識字符串長度來進行資源擴展。

進一步地,本發明短連結地址生成方法還包括對短連結資源池的資源消耗進行監測,包括:

判斷短連結資源池的資源消耗是否達到閾值,若是則啟動資源消耗告警,並手動或者自動對短連結資源池進行資源擴展。

進一步地,短連結資源池的創建包括:

選定短連結地址對應的編碼字符集;

設定短連結地址對應的唯一標識字符串長度;

通過迭代算法生成順序的唯一標識字符串資源列表;

通過洗牌算法生成亂序的唯一標識字符串資源列表並存儲。

進一步地,唯一標識字符串長度根據短連結地址需求量設定,具體為:

Q≤B^n,其中,Q表示短連結地址需求量,B表示短連結地址對應的編碼字符集包含的字符數量,n表示短連結地址對應的唯一標識字符串長度,^表示冪運算。

進一步地,短連結資源池內的資源經環形緩衝區緩存後被提取。

根據本發明的另一方面,還提供一種短連結地址生成系統,包括:

接收模塊,用於接收連結地址轉換請求,將原始URL基於散列算法生成對應的哈希值;

轉換模塊,用於判斷內存緩存是否存在與哈希值匹配的短連結地址,若有則直接返回該短連結地址;否則,從短連結資源池中取用一個資源,生成短連結地址,將新生成的短連結地址返回並保存至內存緩存;

其中,短連結資源池為根據短連結地址資源需求對應的生成策略創建,生成策略包括選定的編碼字符集和短連結地址對應的唯一標識字符串長度,短連結資源池通過改變唯一標識字符串長度來進行資源擴展。

進一步地,本發明短連結地址生成系統還包括:

資源池管理模塊,用於對短連結資源池的資源消耗進行監測,包括:判斷短連結資源池的資源消耗是否達到閾值,若是則啟動資源消耗告警,並手動或者自動對短連結資源池進行資源擴展。

進一步地,本發明短連結地址生成系統還包括:

短連結訪問模塊,用於接收短連結訪問請求,將接收的短連結地址映射到原始URL並跳轉。

進一步地,短連結資源池內的資源經環形緩衝區緩存後被提取。

本發明具有以下有益效果:

本發明短連結地址生成方法及系統,根據選定的編碼字符集及短連結地址對應的唯一標識字符串長度創建資源可擴展的短連結資源池,對接收的連結地址轉換請求進行處理,先從內存緩存中檢索是否存在匹配的短連結地址,若否,則通過調用短連結資源池生成短連結地址,返回短連結地址並保存至內存緩存中,既提高了短連結地址檢索轉換速度,又有效避免了由於哈希函數的值域過小引起的碰撞可能性增大的問題,從而提高了系統的可用性。

除了上面所描述的目的、特徵和優點之外,本發明還有其它的目的、特徵和優點。下面將參照圖,對本發明作進一步詳細的說明。

附圖說明

構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:

圖1是本發明優選實施例一短連結地址生成方法的流程示意圖;

圖2是本發明優選實施例一短連結地址生成方法的步驟示意圖;

圖3是本發明優選實施例短連結資源池的管理的流程示意圖;

圖4是本發明優選實施例短連結訪問過程的流程示意圖;

圖5是本發明優選實施例短連結地址生成系統的方框示意圖。

具體實施方式

以下結合附圖對本發明的實施例進行詳細說明,但是本發明可以由權利要求限定和覆蓋的多種不同方式實施。

實施例一:

本發明的優選實施例一提供了一種短連結地址生成方法,其基於通過指定字符集生成短連結資源池的增量式短連結地址生成方法,有效避免由於哈希函數的值域過小引起的碰撞可能性增大的問題。參照圖1,本實施例短連結地址生成方法包括:

步驟S101,接收連結地址轉換請求,將原始URL基於散列算法生成對應的哈希值;

作為一種較佳的方式,伺服器接收到客戶端發送的連結地址轉換請求後,採用MD5散列算法基於原始URL生成一個hash值。

步驟S102,判斷內存緩存是否存在與哈希值匹配的短連結地址,若有則執行步驟S103,否則執行步驟S104;

本實施例通過增加在內存緩存檢索的方式,提高了短連結地址檢索速度。作為一種較佳的方式,伺服器採用分布式內存緩存的方式來檢索與哈希值匹配的短連結地址。

步驟S103,返回檢索到的與哈希值匹配的短連結地址;

當在分布式內存緩存中檢索到與哈希值匹配的短連結地址,則直接返回短連結地址給客戶端。

步驟S104,從短連結資源池中取用一個資源,生成短連結地址;

本實施例中,短連結資源池為根據短連結地址資源需求對應的生成策略創建,生成策略包括選定的編碼字符集和短連結地址對應的唯一標識字符串長度,短連結資源池通過改變唯一標識字符串長度來進行資源擴展。

步驟S105,將新生成的短連結地址返回並保存至內存緩存。

將新生成的短連結地址返回給客戶端,同時將該短連結地址與哈希值匹配保存至分布式內存緩存中。

本實施例先從內存緩存中檢索是否存在匹配的短連結地址,若否,則通過調用短連結資源池生成短連結地址,返回短連結地址並保存至內存緩存中,既提高了短連結地址檢索轉換速度,又有效避免了由於哈希函數的值域過小引起的碰撞可能性增大的問題,從而提高了系統的可用性。

圖2示出了本實施例短連結地址生成方法優選的步驟示意圖,與圖1所示的步驟一致,優選地,參照圖2,短連結資源池內的資源經環形緩衝區緩存後被提取。資源緩衝區採用環形緩衝區設計,用於緩衝短連結資源池中的可用短連結資源,環形緩衝區所有的push和pop操作都是在一個固定的存儲空間內進行,相對於隊列緩衝區減少了對於緩衝區元素所用存儲空間的分配、釋放過程。環形緩衝區的設計有效提升資源取用的效率,提升系統性能。

實施例二:

實施例二與實施例一的區別在於:實施例二短連結地址生成方法還包括對短連結資源池的資源消耗進行監測,包括:

判斷短連結資源池的資源消耗是否達到閾值,若是則啟動資源消耗告警,並手動或者自動對短連結資源池進行資源擴展。

參照圖3,本實施例短連結資源池的管理包括:

步驟S301,選定短連結地址對應的編碼字符集;

該編碼字符集符合URL編碼規則,並且不具特殊含義的字符,具體可參考RFC3986文件。作為一種較佳的方式,採用『A~Z』,『a~z』,『0~9』的62個字符作為短連結地址唯一標識字符串的編碼字符集,符合URL編碼規則並且在URL中不具有特殊含義且易於輸入。

步驟S302,設定短連結地址對應的唯一標識字符串長度;

唯一標識字符串長度根據短連結地址需求量設定,具體為:

Q≤B^n,其中,Q表示短連結地址需求量,B表示短連結地址對應的編碼字符集包含的字符數量,n表示短連結地址對應的唯一標識字符串長度,^表示冪運算。

例如對於一個網站或網際網路應用,初期用於資源分享的短連結需求量為1000萬,可以計算出10000000<62^4,那麼初期可以選定短連結地址唯一標識字符串為4個字符長度。

步驟S303,通過迭代算法生成順序的唯一標識字符串資源列表;

此處的迭代算法為現有技術,在此不再贅述。

步驟S304,通過洗牌算法生成亂序的唯一標識字符串資源列表;

此處的洗牌算法採用現有的隨機洗牌算法,在此不再贅述。

步驟S305,存儲至短連結資源池;

步驟S306,設定資源消耗閾值;

步驟S307,判斷資源消耗是否達到預設閾值;若是則執行步驟S308;否則執行步驟S309;

步驟S308,啟動資源消耗告警,並手動或者自動對短連結資源池進行資源擴展;

此處資源擴展包括手動方式和自動方式,其中,手動方式是指在接收到告警信息後,通過手動更改步驟S302中的唯一標識字符串長度,以擴展資源池中的資源數量;自動方式是指在生成告警信息後,伺服器自動返回至步驟S302,增加唯一標識字符串長度,以擴展資源池中的資源數量。

步驟S309,從短連結資源池中提取資源以生成短連結地址。

作為一種較佳的方式,短連結資源池內的資源經環形緩衝區緩存後被提取。資源緩衝區採用環形緩衝區設計,用於緩衝短連結資源池中的可用短連結資源,環形緩衝區所有的push和pop操作都是在一個固定的存儲空間內進行,相對於隊列緩衝區減少了對於緩衝區元素所用存儲空間的分配、釋放過程。環形緩衝區的設計有效提升資源取用的效率,提升系統性能。

圖4示出了短連結訪問過程的流程示意圖,參照圖4,包括:

步驟S401,接收短連結訪問請求;

伺服器接收客戶端發送的短連結訪問請求。

步驟S402,解析短連結地址對應的唯一標識字符串;

步驟S403,檢索短連結資源池是否存在與該短連結地址對應的原始URL,若是則執行步驟S404,否則執行步驟S405;

步驟S404,重定向到原始URL連結地址;

步驟S405,提示不存在。

根據本發明的另一方面,還提供一種短連結地址生成系統,參照圖5,包括:

接收模塊501,用於接收連結地址轉換請求,將原始URL基於散列算法生成對應的哈希值;

轉換模塊502,用於判斷內存緩存是否存在與哈希值匹配的短連結地址,若有則直接返回該短連結地址;否則,從短連結資源池503中取用一個資源,生成短連結地址,將新生成的短連結地址返回並保存至內存緩存;

其中,短連結資源池503為根據短連結地址資源需求對應的生成策略創建,生成策略包括選定的編碼字符集和短連結地址對應的唯一標識字符串長度,短連結資源池通過改變唯一標識字符串長度來進行資源擴展。

可選地,本發明短連結地址生成系統還包括:

資源池管理模塊504,用於對短連結資源池的資源消耗進行監測,包括:判斷短連結資源池的資源消耗是否達到閾值,若是則啟動資源消耗告警,並手動或者自動對短連結資源池進行資源擴展。

可選地,本發明短連結地址生成系統還包括:

短連結訪問模塊505,用於接收短連結訪問請求,將接收的短連結地址映射到原始URL並跳轉。

需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。

顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別製作成各個集成電路模塊,或者將它們中的多個模塊或步驟製作成單個集成電路模塊來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。

以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀