本發(fā)明涉及計算機互聯(lián)網(wǎng)領(lǐng)域,尤其涉及離散標(biāo)識生成方法以及離散標(biāo)識生成裝置。
背景技術(shù):
隨著電子科技以及移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,電子設(shè)備的功能越來越強大,只要用戶按照自身的需求在電子設(shè)備上安裝各種應(yīng)用程序或者登陸互聯(lián)網(wǎng)的應(yīng)用系統(tǒng)或應(yīng)用平臺,便可以完成各種事務(wù),獲取各種信息等等。
當(dāng)前互聯(lián)網(wǎng)應(yīng)用中經(jīng)常需要使用離散字符串作為ID,例如作為短鏈接的ID、兌換碼的ID、電影券的ID等等,以用在不同的場景?,F(xiàn)有技術(shù)中,往往通過隨機算法生成由大小字母及數(shù)字組成的一定位數(shù)離散字符串作為ID,隨機算法在生成一定的數(shù)量之后,容易生成與之前相同的離散字符串,且隨著生成數(shù)量的增長,相同的會越來越多。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種離散標(biāo)識生成方法以及一種離散標(biāo)識生成裝置,解決現(xiàn)有技術(shù)中隨機算法在生成一定的數(shù)量之后,容易生成與之前相同的離散字符串,且隨著生成數(shù)量的增長,相同的會越來越多的技術(shù)問題。
為了解決上述技術(shù)問題,本發(fā)明實施例第一方面公開了一種離散標(biāo)識生成方法,包括:
定義區(qū)間數(shù)[n,m]以及跨度因子數(shù)x;其中所述n、m和x為大于0的正整數(shù),所述n和所述m均為質(zhì)數(shù),所述x與所述m為互質(zhì)數(shù);
從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對所述m取模生成當(dāng)次迭代對應(yīng)的唯一離散數(shù);其中所述迭代數(shù)小于等于所述m;
將所述唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識。
結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述預(yù)設(shè)進制為J進制,包括從數(shù)字0至9,從字母小寫a至z,以及從字母大寫A至Z中的任意J個組成的數(shù)組;所述J小于等于62。
結(jié)合第一方面,在第二種可能的實現(xiàn)方式中,所述定義區(qū)間數(shù)[n,m],包括:
根據(jù)生成離散標(biāo)識的長度或數(shù)量需求,修改所述區(qū)間數(shù)[n,m]的數(shù)值。
結(jié)合第一方面的第一種可能的實現(xiàn)方式,或者第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述將所述唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識,包括:
從所述唯一離散數(shù)開始,通過除以所述J的方式進行迭代,得到每次迭代對應(yīng)的商和余數(shù);
當(dāng)?shù)蟮纳绦∮谒鯦時,停止迭代,將每次迭代得到余數(shù)以及迭代后小于所述J的商作為所述數(shù)組的索引來進行所述J進制的轉(zhuǎn)換,得到對應(yīng)的數(shù)字或字母;
通過得到的所述對應(yīng)的數(shù)字或字母組成離散標(biāo)識。
結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述通過得到的所述對應(yīng)的數(shù)字或字母組成離散標(biāo)識,包括:
以從每次迭代得到的余數(shù)到最后迭代后小于所述J的商的反順序來排列所述對應(yīng)的數(shù)字或字母,組成離散標(biāo)識。
本發(fā)明實施例第二方面公開了一種離散標(biāo)識生成裝置,包括:
定義模塊,用于定義區(qū)間數(shù)[n,m]以及跨度因子數(shù)x;其中所述n、m和x為大于0的正整數(shù),所述n和所述m均為質(zhì)數(shù),所述x與所述m為互質(zhì)數(shù);
迭代生成模塊,用于從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對所述m取模生成當(dāng)次迭代對應(yīng)的唯一離散數(shù);其中所述迭代數(shù)小于等于所述m;
轉(zhuǎn)換生成模塊,用于將所述唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識。
結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述預(yù)設(shè)進制為J進制,包括從數(shù)字0至9,從字母小寫a至z,以及從字母大寫A至Z中的任意J個組成的數(shù)組;所述J小于等于62。
結(jié)合第二方面,在第二種可能的實現(xiàn)方式中,所述定義模塊,具體用于根據(jù)生成離散標(biāo)識的長度或數(shù)量需求,修改所述區(qū)間數(shù)[n,m]的數(shù)值。
結(jié)合第二方面的第一種可能的實現(xiàn)方式,或者第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述轉(zhuǎn)換生成模塊包括:
迭代單元,用于從所述唯一離散數(shù)開始,通過除以所述J的方式進行迭代,得到每次迭代對應(yīng)的商和余數(shù);
索引轉(zhuǎn)換單元,用于當(dāng)?shù)蟮纳绦∮谒鯦時,停止迭代,將每次迭代得到余數(shù)以及迭代后小于所述J的商作為所述數(shù)組的索引來進行所述J進制的轉(zhuǎn)換,得到對應(yīng)的數(shù)字或字母;
組成單元,用于通過得到的所述對應(yīng)的數(shù)字或字母組成離散標(biāo)識。
結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述組成單元,具體用于以從每次迭代得到的余數(shù)到最后迭代后小于所述J的商的反順序來排列所述對應(yīng)的數(shù)字或字母,組成離散標(biāo)識。
實施本發(fā)明實施例,通過定義一個區(qū)間數(shù)[n,m],從n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對m取模即可生成當(dāng)次迭代對應(yīng)的唯一離散數(shù),解決了現(xiàn)有技術(shù)中隨機算法在生成一定的數(shù)量之后,容易生成與之前相同的離散字符串,且隨著生成數(shù)量的增長,相同的會越來越多的技術(shù)問題;并且用戶可以根據(jù)自身需求來任意調(diào)整n和m的大小,可以定義一個很大且足夠使用的區(qū)間數(shù),將生成的唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識,從而可以生成唯一且不重復(fù)的一組離散字符串作為ID。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的離散標(biāo)識生成方法的流程示意圖;
圖2是本發(fā)明提供的離散標(biāo)識生成方法的另一實施例的流程示意圖;
圖3是本發(fā)明實施例提供的離散標(biāo)識生成裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例提供的轉(zhuǎn)換生成模塊的結(jié)構(gòu)示意圖;
圖5是本發(fā)明提供的離散標(biāo)識生成裝置的另一實施例的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明各個實施例可以基于某電子設(shè)備或終端來實施,該電子設(shè)備包括但不限于個人計算機、個人數(shù)字助理(Personal Digital Assis tant,PDA)、媒體播放器、智能移動設(shè)備(包括移動電話、移動電腦、平板電腦、智能電視、智能手表、智能眼鏡和智能手環(huán)等)等設(shè)備。通過該電子設(shè)備,用戶在編寫應(yīng)用于互聯(lián)網(wǎng)的代碼時,采用本發(fā)明實施例提供的離散標(biāo)識生成方法可以快速便利地生成任意多個不重復(fù)的離散標(biāo)識。
具體地,圖1示出的本發(fā)明實施例提供的離散標(biāo)識生成方法的流程示意圖,包括如下步驟:
步驟S100:定義區(qū)間數(shù)[n,m]以及跨度因子數(shù)x;
具體地,本發(fā)明各個實施例中的n、m和x為大于0的正整數(shù),該n和該m均為質(zhì)數(shù),該x與該m為互質(zhì)數(shù)。
步驟S102:從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對所述m取模生成當(dāng)次迭代對應(yīng)的唯一離散數(shù);
具體地,可以通過以下公式來進行迭代:
(v*x)%m
其中,v為每次迭代后的迭代數(shù),例如n為99,x為7,那么v的初始值即為n,即99,本次進行迭代v*x為99*7,本次的迭代數(shù)為99*7=693,該693作為下一次迭代的v,也就是說下一次進行迭代v*x為693*7,得到的迭代數(shù)再作為下一次迭代的v,以此通過乘以所述x的方式進行迭代,并將每次迭代得到的迭代數(shù)對該m取模生成當(dāng)次迭代對應(yīng)的唯一離散數(shù),直到迭代數(shù)小于等于該m,也就是說本發(fā)明實施例中的迭代數(shù)小于等于該m;
步驟S104:將所述唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識。
具體地,本發(fā)明實施例中預(yù)設(shè)進制可以為16進制、30進制、56進制、60進制、62進制等等,可以為從數(shù)字0至9,從字母小寫a至z,以及從字母大寫A至Z中的任意J個組成的數(shù)組,該J小于等于62,本發(fā)明不作限制,且數(shù)組的排列順序也不作限制,只要用戶按照自身需求或某一順序規(guī)則進行預(yù)先設(shè)定即可。在步驟S102得到各個唯一離散數(shù)后,可以分別對每個唯一離散數(shù)進行該預(yù)設(shè)進制的轉(zhuǎn)換,從而生成離散標(biāo)識,該離散標(biāo)識可以為由數(shù)字0至9、大小寫字母組成的字符串。
實施本發(fā)明實施例,通過定義一個區(qū)間數(shù)[n,m],從n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對m取模即可生成當(dāng)次迭代對應(yīng)的唯一離散數(shù),解決了現(xiàn)有技術(shù)中隨機算法在生成一定的數(shù)量之后,容易生成與之前相同的離散字符串,且隨著生成數(shù)量的增長,相同的會越來越多的技術(shù)問題;并且用戶可以根據(jù)自身需求來任意調(diào)整n和m的大小,可以定義一個很大且足夠使用的區(qū)間數(shù),將生成的唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識,從而可以生成唯一且不重復(fù)的一組離散字符串作為ID。
進一步地,圖2示出的本發(fā)明提供的離散標(biāo)識生成方法的另一實施例的流程示意圖,包括如下步驟:
步驟S200:定義區(qū)間數(shù)[n,m]以及跨度因子數(shù)x;
步驟S202:從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對所述m取模生成當(dāng)次迭代對應(yīng)的唯一離散數(shù);
具體地,步驟S200和S202可以對應(yīng)參考上述圖1實施例中的步驟S100和S102,這里不再贅述。
步驟S204:從所述唯一離散數(shù)開始,通過除以所述J的方式進行迭代,得到每次迭代對應(yīng)的商和余數(shù);
具體地,假如某唯一離散數(shù)為L,那么將L÷J,得到商S1,余數(shù)Y1;判斷商S1是否小于J,若否,則繼續(xù)將S1L÷J,得到商S2,余數(shù)Y2;以此迭代下去,得到每次迭代對應(yīng)的商和余數(shù)。若商小于J,則停止迭代。
步驟S206:當(dāng)?shù)蟮纳绦∮谒鯦時,停止迭代,將每次迭代得到余數(shù)以及迭代后小于所述J的商作為所述數(shù)組的索引來進行所述J進制的轉(zhuǎn)換,得到對應(yīng)的數(shù)字或字母;
具體地,假如某唯一離散數(shù)為6666,J為62,那么6666÷62,得到商107,余數(shù)32;判斷商107是否小于62,若否,則繼續(xù)將107÷62,得到商1,余數(shù)45;此時判斷出商1小于62,則停止迭代。每次迭代得到的余數(shù)分別為32和45,迭代后小于62的商為1,也就是說,將32、45和1作為數(shù)組的索引來進行J進制的轉(zhuǎn)換,得到對應(yīng)的數(shù)字或字母。
步驟S208:通過得到的所述對應(yīng)的數(shù)字或字母組成離散標(biāo)識。
具體地,例如將32作為數(shù)組的索引來進行J進制的轉(zhuǎn)換得到A,將45作為數(shù)組的索引來進行J進制的轉(zhuǎn)換得到h,將1作為數(shù)組的索引來進行J進制的轉(zhuǎn)換得到8,那么A、h和8可以按照任一順序組成離散標(biāo)識,比如組成Ah8、hA8或8Ah等等離散標(biāo)識。
進一步地,可以以從每次迭代得到的余數(shù)到最后迭代后小于所述J的商的反順序來排列所述對應(yīng)的數(shù)字或字母,組成離散標(biāo)識。具體地,同樣以上述的某唯一離散數(shù)6666為例,從每次迭代得到的余數(shù)到最后迭代后小于J的商的順序排列依次為32、45和1,那么反順序即為1、45和32,因此對應(yīng)的數(shù)字或字母組成的離散標(biāo)識為8hA。
需要說明的是,優(yōu)選地本發(fā)明實施例的J為62,即該J包括從數(shù)字0至9,從字母小寫a至z,以及從字母大寫A至Z的所有數(shù)字和字符。但數(shù)組的排列順序可以不作限制,例如,本發(fā)明實施例可以定義一個62進制數(shù)組(abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ),那么在LINUX C++描述可以如下:
std::string g_strChars[]={"a","b","c","d","e","f","g","h",
"i","j","k","l","m","n","o","p",
"q","r","s","t","u","v","w","x",
"y","z","0","1","2","3","4","5",
"6","7","8","9","A","B","C","D",
"E","F","G","H","I","J","K","L",
"M","N","O","P","Q","R","S","T",
"U","V","W","X","Y","Z"};
該"a"即為代表余數(shù)0的字符,從該"b"到該"Z"即為代表余數(shù)或商從1-31的字符;那么,同樣以上述的某唯一離散數(shù)6666為例,從每次迭代得到的余數(shù)到最后迭代后小于J的商的順序排列依次為32、45和1,那么反順序即為1、45和32,那么對應(yīng)上述數(shù)組可以得到bJ6,從而組成最終的字符串bJ6作為離散標(biāo)識。
還需要說明的是,本發(fā)明實施例中定義區(qū)間數(shù)[n,m]的步驟可以包括根據(jù)生成離散標(biāo)識的長度或數(shù)量需求,修改所述區(qū)間數(shù)[n,m]的數(shù)值。也就是說,例如用戶當(dāng)前想生成位數(shù)較多的離散標(biāo)識,那么可以修改n為位數(shù)較多的數(shù)字,例如修改n為99999999等。因此,通過根據(jù)生成離散標(biāo)識的長度或數(shù)量需求,修改區(qū)間數(shù)[n,m]的數(shù)值,可以使用戶更加快速地調(diào)整離散標(biāo)識的生成策略,更加便捷地得到所需的離散標(biāo)識。
實施本發(fā)明實施例,通過定義一個區(qū)間數(shù)[n,m],從n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對m取模即可生成當(dāng)次迭代對應(yīng)的唯一離散數(shù),解決了現(xiàn)有技術(shù)中隨機算法在生成一定的數(shù)量之后,容易生成與之前相同的離散字符串,且隨著生成數(shù)量的增長,相同的會越來越多的技術(shù)問題;并且用戶可以根據(jù)自身需求來任意調(diào)整n和m的大小,可以定義一個很大且足夠使用的區(qū)間數(shù),將生成的唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識,從而可以生成唯一且不重復(fù)的一組離散字符串作為ID。
為了便于更好地實施本發(fā)明實施例的上述方案,本發(fā)明還對應(yīng)提供了一種離散標(biāo)識生成裝置,下面結(jié)合附圖來進行詳細(xì)說明:
如圖3示出的本發(fā)明實施例提供的離散標(biāo)識生成裝置的結(jié)構(gòu)示意圖,離散標(biāo)識生成裝置30可以包括:定義模塊300、迭代生成模塊302和轉(zhuǎn)換生成模塊304,其中,
定義模塊300用于定義區(qū)間數(shù)[n,m]以及跨度因子數(shù)x;其中所述n、m和x為大于0的正整數(shù),所述n和所述m均為質(zhì)數(shù),所述x與所述m為互質(zhì)數(shù);
迭代生成模塊302用于從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對所述m取模生成當(dāng)次迭代對應(yīng)的唯一離散數(shù);其中所述迭代數(shù)小于等于所述m;
轉(zhuǎn)換生成模塊304用于將所述唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識。
具體地,本發(fā)明實施例的預(yù)設(shè)進制為J進制,包括從數(shù)字0至9,從字母小寫a至z,以及從字母大寫A至Z中的任意J個組成的數(shù)組;所述J小于等于62。
進一步地,定義模塊300,具體可以用于根據(jù)生成離散標(biāo)識的長度或數(shù)量需求,修改所述區(qū)間數(shù)[n,m]的數(shù)值。
再進一步地,如圖4示出的本發(fā)明實施例提供的轉(zhuǎn)換生成模塊的結(jié)構(gòu)示意圖,轉(zhuǎn)換生成模塊304可以包括迭代單元3040、索引轉(zhuǎn)換單元3042和組成單元3044,其中,
迭代單元3040用于從所述唯一離散數(shù)開始,通過除以所述J的方式進行迭代,得到每次迭代對應(yīng)的商和余數(shù);
索引轉(zhuǎn)換單元3042用于當(dāng)?shù)蟮纳绦∮谒鯦時,停止迭代,將每次迭代得到余數(shù)以及迭代后小于所述J的商作為所述數(shù)組的索引來進行所述J進制的轉(zhuǎn)換,得到對應(yīng)的數(shù)字或字母;
組成單元3044用于通過得到的所述對應(yīng)的數(shù)字或字母組成離散標(biāo)識。
具體地,組成單元3044具體可以用于以從每次迭代得到的余數(shù)到最后迭代后小于所述J的商的反順序來排列所述對應(yīng)的數(shù)字或字母,組成離散標(biāo)識。
需要說明的是,本發(fā)明實施例中的離散標(biāo)識生成裝置30中各模塊的功能可對應(yīng)參考上述各方法實施例中圖1至圖2任意實施例的具體實現(xiàn)方式,這里不再贅述。
請參閱圖5,圖5是本發(fā)明提供的離散標(biāo)識生成裝置的另一實施例的結(jié)構(gòu)示意圖。其中,如圖5所示,視頻編碼裝置50可以包括:至少一個處理器501,例如CPU,至少一個網(wǎng)絡(luò)接口504,用戶接口503,存儲器505,至少一個通信總線502,可選地,還可以包括顯示屏506。其中,通信總線502用于實現(xiàn)這些組件之間的連接通信。其中,用戶接口503可以包括觸摸屏、鍵盤或鼠標(biāo)等等。網(wǎng)絡(luò)接口504可選的可以包括標(biāo)準(zhǔn)的有線接口、無線接口(如WI-FI接口),通過網(wǎng)絡(luò)接口504可以與服務(wù)器建立通信連接。存儲器505可以是高速RAM存儲器,也可以是非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器,存儲器505包括本發(fā)明實施例中的flash。存儲器505可選的還可以是至少一個位于遠離前述處理器501的存儲系統(tǒng)。如圖5所示,作為一種計算機存儲介質(zhì)的存儲器505中可以包括操作系統(tǒng)、網(wǎng)絡(luò)通信模塊、用戶接口模塊以及離散標(biāo)識生成程序。
處理器501可以用于調(diào)用存儲器505中存儲的離散標(biāo)識生成程序,并執(zhí)行以下操作:
定義區(qū)間數(shù)[n,m]以及跨度因子數(shù)x;其中所述n、m和x為大于0的正整數(shù),所述n和所述m均為質(zhì)數(shù),所述x與所述m為互質(zhì)數(shù);
從所述n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對所述m取模生成當(dāng)次迭代對應(yīng)的唯一離散數(shù);其中所述迭代數(shù)小于等于所述m;
將所述唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識。
具體地,預(yù)設(shè)進制為J進制,包括從數(shù)字0至9,從字母小寫a至z,以及從字母大寫A至Z中的任意J個組成的數(shù)組;所述J小于等于62。
具體地,處理器501定義區(qū)間數(shù)[n,m],可以包括:
根據(jù)生成離散標(biāo)識的長度或數(shù)量需求,修改所述區(qū)間數(shù)[n,m]的數(shù)值。
具體地,處理器501將所述唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識,可以包括:
從所述唯一離散數(shù)開始,通過除以所述J的方式進行迭代,得到每次迭代對應(yīng)的商和余數(shù);
當(dāng)?shù)蟮纳绦∮谒鯦時,停止迭代,將每次迭代得到余數(shù)以及迭代后小于所述J的商作為所述數(shù)組的索引來進行所述J進制的轉(zhuǎn)換,得到對應(yīng)的數(shù)字或字母;
通過得到的所述對應(yīng)的數(shù)字或字母組成離散標(biāo)識。
具體地,處理器501通過得到的所述對應(yīng)的數(shù)字或字母組成離散標(biāo)識,可以包括:
以從每次迭代得到的余數(shù)到最后迭代后小于所述J的商的反順序來排列所述對應(yīng)的數(shù)字或字母,組成離散標(biāo)識。
需要說明的是,本發(fā)明實施例中的離散標(biāo)識生成裝置50包括但不限于個人計算機、移動電腦、平板電腦、移動電話、個人數(shù)字助理(Personal Digital Assistant,PDA)、智能電視、智能手表、智能眼鏡、智能手環(huán)等可編寫應(yīng)用于互聯(lián)網(wǎng)的代碼的電子設(shè)備。
綜上所述,實施本發(fā)明實施例,通過定義一個區(qū)間數(shù)[n,m],從n開始,通過乘以所述x的方式進行迭代,將每次迭代得到的迭代數(shù)對m取模即可生成當(dāng)次迭代對應(yīng)的唯一離散數(shù),解決了現(xiàn)有技術(shù)中隨機算法在生成一定的數(shù)量之后,容易生成與之前相同的離散字符串,且隨著生成數(shù)量的增長,相同的會越來越多的技術(shù)問題;并且用戶可以根據(jù)自身需求來任意調(diào)整n和m的大小,可以定義一個很大且足夠使用的區(qū)間數(shù),將生成的唯一離散數(shù)進行預(yù)設(shè)進制的轉(zhuǎn)換,生成離散標(biāo)識,從而可以生成唯一且不重復(fù)的一組離散字符串作為ID。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所揭露的僅為本發(fā)明較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。