本發明專利技術實施例公開了一種離散標識生成方法,包括:定義區間數[n,m]以及跨度因子數x;其中所述n、m和x為大于0的正整數,所述n和所述m均為質數,所述x與所述m為互質數;從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數對所述m取模生成當次迭代對應的唯一離散數;其中所述迭代數小于等于所述m;將所述唯一離散數進行預設進制的轉換,生成離散標識。本發明專利技術還公開了一種離散標識生成裝置,解決了現有技術中隨機算法在生成一定的數量之后,容易生成與之前相同的離散字符串,且隨著生成數量的增長,相同的會越來越多的技術問題。
【技術實現步驟摘要】
本專利技術涉及計算機互聯網領域,尤其涉及離散標識生成方法以及離散標識生成裝置。
技術介紹
隨著電子科技以及移動互聯網技術的發展,電子設備的功能越來越強大,只要用戶按照自身的需求在電子設備上安裝各種應用程序或者登陸互聯網的應用系統或應用平臺,便可以完成各種事務,獲取各種信息等等。當前互聯網應用中經常需要使用離散字符串作為ID,例如作為短鏈接的ID、兌換碼的ID、電影券的ID等等,以用在不同的場景。現有技術中,往往通過隨機算法生成由大小字母及數字組成的一定位數離散字符串作為ID,隨機算法在生成一定的數量之后,容易生成與之前相同的離散字符串,且隨著生成數量的增長,相同的會越來越多。
技術實現思路
本專利技術實施例所要解決的技術問題在于,提供一種離散標識生成方法以及一種離散標識生成裝置,解決現有技術中隨機算法在生成一定的數量之后,容易生成與之前相同的離散字符串,且隨著生成數量的增長,相同的會越來越多的技術問題。為了解決上述技術問題,本專利技術實施例第一方面公開了一種離散標識生成方法,包括:定義區間數[n,m]以及跨度因子數x;其中所述n、m和x為大于0的正整數,所述n和所述m均為質數,所述x與所述m為互質數;從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數對所述m取模生成當次迭代對應的唯一離散數;其中所述迭代數小于等于所述m;將所述唯一離散數進行預設進制的轉換,生成離散標識。結合第一方面,在第一種可能的實現方式中,所述預設進制為J進制,包括從數字0至9,從字母小寫a至z,以及從字母大寫A至Z中的任意J個組成的數組;所述J小于等于62。結合第一方面,在第二種可能的實現方式中,所述定義區間數[n,m],包括:根據生成離散標識的長度或數量需求,修改所述區間數[n,m]的數值。結合第一方面的第一種可能的實現方式,或者第一方面的第二種可能的實現方式,在第三種可能的實現方式中,所述將所述唯一離散數進行預設進制的轉換,生成離散標識,包括:從所述唯一離散數開始,通過除以所述J的方式進行迭代,得到每次迭代對應的商和余數;當迭代后的商小于所述J時,停止迭代,將每次迭代得到余數以及迭代后小于所述J的商作為所述數組的索引來進行所述J進制的轉換,得到對應的數字或字母;通過得到的所述對應的數字或字母組成離散標識。結合第一方面的第三種可能的實現方式,在第四種可能的實現方式中,所述通過得到的所述對應的數字或字母組成離散標識,包括:以從每次迭代得到的余數到最后迭代后小于所述J的商的反順序來排列所述對應的數字或字母,組成離散標識。本專利技術實施例第二方面公開了一種離散標識生成裝置,包括:定義模塊,用于定義區間數[n,m]以及跨度因子數x;其中所述n、m和x為大于0的正整數,所述n和所述m均為質數,所述x與所述m為互質數;迭代生成模塊,用于從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數對所述m取模生成當次迭代對應的唯一離散數;其中所述迭代數小于等于所述m;轉換生成模塊,用于將所述唯一離散數進行預設進制的轉換,生成離散標識。結合第二方面,在第一種可能的實現方式中,所述預設進制為J進制,包括從數字0至9,從字母小寫a至z,以及從字母大寫A至Z中的任意J個組成的數組;所述J小于等于62。結合第二方面,在第二種可能的實現方式中,所述定義模塊,具體用于根據生成離散標識的長度或數量需求,修改所述區間數[n,m]的數值。結合第二方面的第一種可能的實現方式,或者第二方面的第二種可能的實現方式,在第三種可能的實現方式中,所述轉換生成模塊包括:迭代單元,用于從所述唯一離散數開始,通過除以所述J的方式進行迭代,得到每次迭代對應的商和余數;索引轉換單元,用于當迭代后的商小于所述J時,停止迭代,將每次迭代得到余數以及迭代后小于所述J的商作為所述數組的索引來進行所述J進制的轉換,得到對應的數字或字母;組成單元,用于通過得到的所述對應的數字或字母組成離散標識。結合第二方面的第三種可能的實現方式,在第四種可能的實現方式中,所述組成單元,具體用于以從每次迭代得到的余數到最后迭代后小于所述J的商的反順序來排列所述對應的數字或字母,組成離散標識。實施本專利技術實施例,通過定義一個區間數[n,m],從n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數對m取模即可生成當次迭代對應的唯一離散數,解決了現有技術中隨機算法在生成一定的數量之后,容易生成與之前相同的離散字符串,且隨著生成數量的增長,相同的會越來越多的技術問題;并且用戶可以根據自身需求來任意調整n和m的大小,可以定義一個很大且足夠使用的區間數,將生成的唯一離散數進行預設進制的轉換,生成離散標識,從而可以生成唯一且不重復的一組離散字符串作為ID。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本專利技術實施例提供的離散標識生成方法的流程示意圖;圖2是本專利技術提供的離散標識生成方法的另一實施例的流程示意圖;圖3是本專利技術實施例提供的離散標識生成裝置的結構示意圖;圖4是本專利技術實施例提供的轉換生成模塊的結構示意圖;圖5是本專利技術提供的離散標識生成裝置的另一實施例的結構示意圖。具體實施方式下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。本專利技術各個實施例可以基于某電子設備或終端來實施,該電子設備包括但不限于個人計算機、個人數字助理(PersonalDigitalAssistant,PDA)、媒體播放器、智能移動設備(包括移動電話、移動電腦、平板電腦、智能電視、智能手表、智能眼鏡和智能手環等)等設備。通過該電子設備,用戶在編寫應用于互聯網的代碼時,采用本專利技術實施例提供的離散標識生成方法可以快速便利地生成任意多個不重復的離散標識。具體地,圖1示出的本專利技術實施例提供的離散標識生成方法的流程示意圖,包括如下步驟:步驟S100:定義區間數[n,m]以及跨度因子數x;具體地,本專利技術各個實施例中的n、m和x為大于0的正整數,該n和該m均為質數,該x與該m為互質數。步驟S102:從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數對所述m取模生成當次迭代對應的唯一離散數;具體地,可以通過以下公式來進行迭代:(v*x)%m其中,v為每次迭代后的迭代數,例如n為99,x為7,那么v的初始值即為n,即99,本次進行迭代v*x為99*7,本次的迭代數為99*7=693,該693作為下一次迭代的v,也就是說下一次進行迭代v*x為693*7,得到的迭代數再作為下一次迭代的v,以此通過乘以所述x的方式進行迭代,并將每次迭代得到的迭代數對該m取模生成當次迭代對應的唯一離散數,直到迭代數小于等于該m,也就是說本專利技術實施例中的迭代數小于等于該m;步驟S104:將所述唯一離散數進行預設進制的轉換,生成離散標識。本文檔來自技高網...

【技術保護點】
一種離散標識生成方法,其特征在于,包括:定義區間數[n,m]以及跨度因子數x;其中所述n、m和x為大于0的正整數,所述n和所述m均為質數,所述x與所述m為互質數;從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數對所述m取模生成當次迭代對應的唯一離散數;其中所述迭代數小于等于所述m;將所述唯一離散數進行預設進制的轉換,生成離散標識。
【技術特征摘要】
1.一種離散標識生成方法,其特征在于,包括:定義區間數[n,m]以及跨度因子數x;其中所述n、m和x為大于0的正整數,所述n和所述m均為質數,所述x與所述m為互質數;從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數對所述m取模生成當次迭代對應的唯一離散數;其中所述迭代數小于等于所述m;將所述唯一離散數進行預設進制的轉換,生成離散標識。2.如權利要求1所述的方法,其特征在于,所述預設進制為J進制,包括從數字0至9,從字母小寫a至z,以及從字母大寫A至Z中的任意J個組成的數組;所述J小于等于62。3.如權利要求1所述的方法,其特征在于,所述定義區間數[n,m],包括:根據生成離散標識的長度或數量需求,修改所述區間數[n,m]的數值。4.如權利要求2或3所述的方法,其特征在于,所述將所述唯一離散數進行預設進制的轉換,生成離散標識,包括:從所述唯一離散數開始,通過除以所述J的方式進行迭代,得到每次迭代對應的商和余數;當迭代后的商小于所述J時,停止迭代,將每次迭代得到余數以及迭代后小于所述J的商作為所述數組的索引來進行所述J進制的轉換,得到對應的數字或字母;通過得到的所述對應的數字或字母組成離散標識。5.如權利要求4所述的方法,其特征在于,所述通過得到的所述對應的數字或字母組成離散標識,包括:以從每次迭代得到的余數到最后迭代后小于所述J的商的反順序來排列所述對應的數字或字母,組成離散標識。6.一種...
【專利技術屬性】
技術研發人員:傅鴻城,袁彪,周國金,劉強,
申請(專利權)人:騰訊音樂娛樂深圳有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。