欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于模m同余類環(huán)的賬號(hào)生成方法與流程

文檔序號(hào):11138685閱讀:263來源:國(guó)知局
本發(fā)明屬于計(jì)算機(jī)和信息處理領(lǐng)域,涉及一種賬號(hào)生成方法。
背景技術(shù)
::現(xiàn)有的賬號(hào)生成方法,多采用基于用戶ID自增長(zhǎng)技術(shù)的方法,其中用戶ID指的是標(biāo)明用戶身份序號(hào)的數(shù)字序列,用戶ID自增長(zhǎng)指的是按用戶注冊(cè)的順序,用自然數(shù)來表示用戶ID。例如,第n+1個(gè)注冊(cè)用戶的ID,為第n個(gè)注冊(cè)用戶的ID加1。這種基于用戶ID自增長(zhǎng)技術(shù)的賬號(hào)生成方法,雖簡(jiǎn)便易行,但注冊(cè)用戶的ID與用戶群規(guī)模直接相關(guān),因此很容易暴露出用戶群規(guī)模,并且能夠根據(jù)兩個(gè)用戶ID和各自注冊(cè)時(shí)間,推算出這個(gè)時(shí)間段內(nèi)的注冊(cè)用戶總數(shù),無法對(duì)相關(guān)信息進(jìn)行保密。技術(shù)實(shí)現(xiàn)要素:技術(shù)問題:本發(fā)明提供一種能夠有效隱藏用戶注冊(cè)序號(hào),從而對(duì)用戶群規(guī)模和增長(zhǎng)信息進(jìn)行保密的基于模m同余類環(huán)的賬號(hào)生成方法。技術(shù)方案:本發(fā)明的基于模m同余類環(huán)的賬號(hào)生成方法,包括以下步驟:1)根據(jù)當(dāng)前用戶群賬號(hào)系統(tǒng)總?cè)萘縏,設(shè)定賬號(hào)數(shù)量基數(shù)a,其中T為正整數(shù),a為正整數(shù)且0<=a<T;并計(jì)算出當(dāng)前用戶群賬號(hào)系統(tǒng)實(shí)際容量m=T-a;2)用戶向系統(tǒng)提交注冊(cè)請(qǐng)求,系統(tǒng)基于ID自增長(zhǎng)技術(shù)生成用戶注冊(cè)序號(hào)n;3)選取一個(gè)不能整除m的正整數(shù)p,p≥2,且p與m只有一個(gè)公約數(shù)1;4)求取所述p與用戶注冊(cè)序號(hào)n的乘積p*n,并根據(jù)下式生成用戶賬號(hào)userID:userID=(p*n)modm+a其中,n為基于ID自增長(zhǎng)技術(shù)生成的用戶注冊(cè)序號(hào),即表示是第n個(gè)注冊(cè)用戶;mod為取模運(yùn)算。進(jìn)一步的,用戶注冊(cè)序號(hào)n超過用戶群賬號(hào)系統(tǒng)實(shí)際容量累計(jì)值時(shí),即時(shí),則所述步驟1)中,對(duì)當(dāng)前用戶群賬號(hào)系統(tǒng)總?cè)萘縏進(jìn)行擴(kuò)容更新,并對(duì)賬號(hào)數(shù)量基數(shù)a進(jìn)行更新為滿足Tj-1<=aj<Tj的正整數(shù),然后用更新后的系統(tǒng)總?cè)萘縏j和賬號(hào)數(shù)量基數(shù)aj,根據(jù)mj=Tj-aj重新計(jì)算新的當(dāng)前用戶群賬號(hào)系統(tǒng)實(shí)際容量mj,其中j為更新次數(shù)序號(hào),mi表示m0、m1、……、mj-1中的任一個(gè),aj為第j次更新后的賬號(hào)數(shù)量基數(shù),Tj為第j次擴(kuò)容更新后的用戶群賬號(hào)系統(tǒng)總?cè)萘浚琓j-1為第j次擴(kuò)容更新前的用戶群賬號(hào)系統(tǒng)總?cè)萘?,mj為第j次擴(kuò)容更新后的用戶群賬號(hào)系統(tǒng)實(shí)際容量;所述步驟4)中求取pj與用戶注冊(cè)序號(hào)n的乘積pj*n,并根據(jù)下式生成用戶賬號(hào)userID:其中,pj為第j次擴(kuò)容更新后選取的一個(gè)不能整除mj的正整數(shù),mi表示m0、m1、……、mj-1中的任一個(gè),m0為首次擴(kuò)容更新之前的初始用戶群賬號(hào)系統(tǒng)實(shí)際容量。進(jìn)一步的,本發(fā)明方法中,步驟2)中基于ID自增長(zhǎng)技術(shù)生成用戶注冊(cè)序號(hào)n的具體方式為:將用戶注冊(cè)的自然排序作為用戶注冊(cè)序號(hào)n。進(jìn)一步的,本發(fā)明方法中,步驟2)中基于ID自增長(zhǎng)技術(shù)生成用戶注冊(cè)序號(hào)n的具體方式為:將備選序號(hào)分為S個(gè)容量相同的子庫(kù),即D1={1,S+1,2S+1……},D2={2,S+2,2S+2……},……,DS={S,2S,3S……},當(dāng)用戶向系統(tǒng)提交注冊(cè)請(qǐng)求,將各用戶按順序分配到不同的子庫(kù)中,并從該子庫(kù)中按由小到大的順序抽取還未使用過的備選序號(hào)作為該用戶的用戶注冊(cè)序號(hào)n。本方案的優(yōu)點(diǎn)是:當(dāng)有大量用戶同時(shí)注冊(cè)時(shí),服務(wù)器可以并行處理,從而有效應(yīng)對(duì)用戶爆發(fā)性注冊(cè)的情況,同時(shí)不消耗額外內(nèi)存,節(jié)約計(jì)算資源,提高響應(yīng)速度。進(jìn)一步的,本發(fā)明方法中,所述步驟4)中,a=0,即m=T,并根據(jù)下式生成用戶賬號(hào)userID:userID=(p*n)modm。進(jìn)一步的,本發(fā)明方法中,所述p為素?cái)?shù)。本發(fā)明方法中,“模m同余類環(huán)”中的某個(gè)元素為一個(gè)0到m-1上的一一映射,該映射依賴于某個(gè)不能整除m的正整數(shù)p,p≥2,且p與m只有一個(gè)公約數(shù)1,因此將該映射簡(jiǎn)稱為映射p,因此所述映射p為“模m同余類環(huán)”中的某個(gè)元素,即一個(gè)0到m-1上的一一映射。進(jìn)一步的,本發(fā)明方法中,所述0到m-1上的一一映射是非線性函數(shù)。本發(fā)明的基于用戶賬號(hào)userID反推用戶注冊(cè)順序的方法,針對(duì)上述基于模m同余類環(huán)的賬號(hào)生成方法得到的用戶賬號(hào)userID,反推出用戶注冊(cè)順序,具體為根據(jù)下式確定用戶注冊(cè)序號(hào)n:n={q*(userID-a)}modm計(jì)算得到的n如果不為0,則n為用戶注冊(cè)序號(hào);計(jì)算得到的n如果為0,則用戶是第m個(gè)注冊(cè)者;其中q為正整數(shù)且滿足(p*q)modm=1,即q=(i*m+1)/p,其中i為正整數(shù)。進(jìn)一步的,本發(fā)明的基于用戶賬號(hào)userID反推用戶注冊(cè)順序的方法中,如果在賬號(hào)生成時(shí),由于n>m,對(duì)當(dāng)前用戶群賬號(hào)系統(tǒng)總?cè)萘縏進(jìn)行過擴(kuò)容更新,則針對(duì)得到的用戶賬號(hào)userID,首先根據(jù)所述用戶賬號(hào)userID所處的賬號(hào)區(qū)段,確定該用戶賬號(hào)userID生成時(shí)所對(duì)應(yīng)的賬號(hào)數(shù)量基數(shù)aj、用戶群賬號(hào)系統(tǒng)實(shí)際容量mj和正整數(shù)pj,然后根據(jù)下式確定用戶注冊(cè)序號(hào)n:計(jì)算得到的n如果不為則表示n為用戶注冊(cè)序號(hào);計(jì)算得到的n如果為則用戶是第個(gè)注冊(cè)者;其中qj為第j次擴(kuò)容更新后選取的滿足(pj*qj)modmj=1的正整數(shù),即qj=(i*mj+1)/pj,其中i為正整數(shù)。此處賬號(hào)區(qū)段是指初始用戶群賬號(hào)系統(tǒng)實(shí)際容量m所在的自增長(zhǎng)注冊(cè)序號(hào)區(qū)間,以及每次擴(kuò)容更新后新增加的用戶群賬號(hào)系統(tǒng)實(shí)際容量所在的自增長(zhǎng)注冊(cè)序號(hào)區(qū)間。由于本發(fā)明方法只是對(duì)用戶群賬號(hào)系統(tǒng)實(shí)際容量m之內(nèi)的自增長(zhǎng)注冊(cè)序號(hào)進(jìn)行亂序,亂序運(yùn)算的結(jié)果userID也位于區(qū)間(a,T]中,而非生成新的位于區(qū)間(a,T]之外的序號(hào),因此可以根據(jù)用戶賬號(hào)userID所處的賬號(hào)區(qū)段,確定該用戶賬號(hào)userID生成時(shí)是否已經(jīng)對(duì)T進(jìn)行擴(kuò)容,以及是在對(duì)T的哪次擴(kuò)容更新后生成的用戶賬號(hào)userID,從而確定其所對(duì)應(yīng)的賬號(hào)數(shù)量基數(shù)a和用戶群賬號(hào)系統(tǒng)實(shí)際容量m。本發(fā)明方法的原理是通過選取“模m同余類環(huán)”中的某個(gè)元素,(該元素為一個(gè)0到m-1上的一一映射,該映射依賴于某個(gè)不能整除m的的正整數(shù)p,p≥2,且p與m只有一個(gè)公約數(shù)1,因此將該映射簡(jiǎn)稱為映射p),將0到m-1上的某個(gè)順序序列打亂順序,映射到0到m-1自身。在打亂順序后的序列上,再增加一個(gè)基數(shù)a,生成用戶賬號(hào)。對(duì)于本發(fā)明方法生成的用戶賬號(hào),通過用戶群規(guī)模m和映射p,可以求解出p的逆映射q,進(jìn)而從用戶賬號(hào)反推出用戶注冊(cè)順序。有益效果:本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):本發(fā)明通過選取一個(gè)不能整除用戶群容量m的正整數(shù)p,p≥2,且p與m只有一個(gè)公約數(shù)1,求取所述正整數(shù)p與用戶ID的乘積p*n,進(jìn)而通過userID=(p*n)modm+a生成最終的用戶賬號(hào),其原理是通過選取“模m同余類環(huán)”中某個(gè)元素(即正整數(shù)p,p≥2,且p與m只有一個(gè)公約數(shù)1),該元素相對(duì)于交換環(huán)上的乘法運(yùn)算,構(gòu)成交換環(huán)到自身的一一映射,零元素是該映射的不動(dòng)點(diǎn),通過該映射可以對(duì)0到m-1的整數(shù)重排,最終打亂順序。因此,本發(fā)明方法通過選取適當(dāng)?shù)膒,可以保證第一組數(shù)和最后一組數(shù)為同一個(gè)集合,而最后一組數(shù)是通過映射p將第一組數(shù)完全打亂了順序后得到的。這樣就通過交換環(huán)到自身的一一映射p將原來的用戶注冊(cè)順序打亂,無法再根據(jù)生成的用戶賬號(hào)來獲知用戶群規(guī)模。上述映射p是非線性函數(shù),即userID2-userID1=p(n2)-p(n1)≠n2-n1,其中n1、n2為用戶注冊(cè)順序,均為小于m的正整數(shù),相對(duì)應(yīng)的生成賬號(hào)分別為userID1和userID2,因此也就無法通過兩個(gè)先后注冊(cè)的用戶ID來判斷這個(gè)時(shí)段內(nèi)共有多少用戶注冊(cè),這樣就避免了通過注冊(cè)多個(gè)用戶,并根據(jù)其這些用戶的注冊(cè)時(shí)間和用戶ID,推斷出這段時(shí)間內(nèi)的用戶規(guī)模增長(zhǎng)情況,也無從推斷各個(gè)時(shí)間點(diǎn)的用戶整體規(guī)模。對(duì)于本發(fā)明方法生成的用戶賬號(hào),通過賬號(hào)生成過程中選取的映射p,可以找到映射p的逆映射,從而保證從打亂的用戶賬號(hào)userID找回用戶的注冊(cè)順序。即使知道本發(fā)明方法的原理,還必須要同時(shí)知道用戶群容量m、映射p和基數(shù)a,才能通過用戶賬號(hào)userID破解得到用戶的注冊(cè)順序。退一步講,即使知道了用戶群容量m,當(dāng)m比較大的時(shí)候,由于映射p可以有很多的選擇,所有很難通過窮舉法找到對(duì)應(yīng)的映射p,也就無法破解本發(fā)明方法。同樣,即使知道了映射p,但由于不知道用戶群容量m,也就無法求解出p的逆映射q,無法破解本方法。在知道了用戶群容量m和映射p,進(jìn)而可以求解出p的逆映射q的情況下,由于不知道基數(shù)a,仍然無法計(jì)算出用戶注冊(cè)順序和其userID之間的關(guān)系,同樣無法破解本發(fā)明方法。綜上,本發(fā)明方法能夠有效隱藏用戶注冊(cè)序號(hào),從而對(duì)用戶群規(guī)模和增長(zhǎng)信息進(jìn)行保密。本發(fā)明方法具有快速、簡(jiǎn)潔的特點(diǎn),無論是從注冊(cè)順序n求解用戶userID,還是從userID反求注冊(cè)順序n,都只有O(1)的時(shí)間復(fù)雜度,并且該時(shí)間復(fù)雜度不會(huì)隨用戶規(guī)模m的增大而增長(zhǎng)。本發(fā)明方法根據(jù)交換環(huán)到自身的一一映射,獲得用戶注冊(cè)順序n和其userID之間的關(guān)系,且映射計(jì)算是可逆的,因此不需要將n和userID之間的對(duì)應(yīng)關(guān)系全部存儲(chǔ)下來進(jìn)行查詢,無需消耗額外的內(nèi)存,方法流程和執(zhí)行簡(jiǎn)潔高效。而且本發(fā)明還進(jìn)一步地提出了用戶注冊(cè)序號(hào)n超過用戶群賬號(hào)系統(tǒng)實(shí)際容量m時(shí)的映射方法,在對(duì)賬號(hào)系統(tǒng)實(shí)際容量進(jìn)行多次更新擴(kuò)容的情況下依然能夠保持用戶注冊(cè)序號(hào)n的連續(xù)性及userID的唯一性,并獲得兩者之間可逆的映射關(guān)系,使得本發(fā)明的技術(shù)方案具有高度可擴(kuò)展性,適用范圍更廣,能夠更好地滿足網(wǎng)絡(luò)用戶賬號(hào)數(shù)量日益增長(zhǎng)的需求。附圖說明圖1為本發(fā)明方法賬號(hào)生成的原理示意圖。圖2為根據(jù)生成賬號(hào)反推注冊(cè)序號(hào)的原理示意圖。具體實(shí)施方式下面結(jié)合實(shí)施例和說明書附圖對(duì)本發(fā)明作進(jìn)一步的說明。本發(fā)明的基于模m同余類環(huán)的賬號(hào)生成方法,如圖1所示原理,具體過程為:1)用戶向系統(tǒng)提交注冊(cè)請(qǐng)求,系統(tǒng)分配的基于ID自增長(zhǎng)技術(shù)生成的用戶ID,即用戶注冊(cè)順序n;2)系統(tǒng)根據(jù)用戶群容量m,選取一個(gè)不能整除m的正整數(shù)p,p≥2,且p與m只有一個(gè)公約數(shù)1;3)將用戶注冊(cè)順序n乘以正整數(shù)p,將(p*n)modm加上基數(shù)a,得到用戶賬號(hào)userID,即userID=(p*n)modm+a。圖1中k為用戶群中任一個(gè)用戶,即1≤k≤m。圖2為根據(jù)用戶賬號(hào)userID反求注冊(cè)順序n的原理示意,分為3個(gè)步驟:1)將用戶賬號(hào)userID,減去基數(shù)a;2)將第1)步的結(jié)果,乘以q,q根據(jù)m和p確定,q不唯一,但最后求得的注冊(cè)順序n唯一;3)將第2)步的結(jié)果,用m取模,即n=q*(userID-a)modm。得到n如果不為0,即為用戶注冊(cè)順序;n為0時(shí),表明用戶是第m個(gè)注冊(cè)者。下面通過一組具體實(shí)施例來對(duì)本發(fā)明賬號(hào)生成方法進(jìn)行說明。T:用戶群賬號(hào)系統(tǒng)總?cè)萘?,本?shí)施例假定為100;a:賬號(hào)數(shù)量基數(shù),本實(shí)施例假定為10;m:為用戶群規(guī)模,即用戶群賬號(hào)系統(tǒng)實(shí)際容量,本實(shí)施例為T-a=90;p:某個(gè)正整數(shù),p不能整除m,p≥2,且p與m只有一個(gè)公約數(shù)1,本實(shí)施例假定為p=7;q:整數(shù),是p的逆映射,滿足(p*q)modm=1。從(p*q)modm=1,可以確定q=(i*m+1)/p,其中i為整數(shù)。在本實(shí)施例中,取p=7,i=1,可以得到q=13。n:為用戶注冊(cè)順序,n>=1,n<=90。userID:第n個(gè)注冊(cè)用戶的生成賬號(hào)。mod為取模運(yùn)算。根據(jù)注冊(cè)順序n生成用戶賬號(hào)userID,即userID=(p*n)modm+a,例如:n=46時(shí),userID=(7*46)mod90+10=(322mod90)+10=52+10=62。根據(jù)用戶賬號(hào)userID反求注冊(cè)順序n,具體為n=q*(userID-a)modm,當(dāng)n=0時(shí),對(duì)應(yīng)的是第m個(gè)注冊(cè)用戶。例如:userID=62時(shí),n=13*(62-10)mod90=(13*52)mod90=676mod90=46。為了減小賬號(hào)生成過程的計(jì)算量,可以對(duì)本發(fā)明方法的計(jì)算方式進(jìn)行簡(jiǎn)化,即a取0,此時(shí)m=T,并根據(jù)下式生成用戶賬號(hào)userID:userID=(p*n)modm,具體不再贅述。下面對(duì)本發(fā)明方法的原理和有效性做進(jìn)一步分析說明。(1)注冊(cè)順序n和userID的一一對(duì)應(yīng)關(guān)系是確定且唯一的,論述說明如下:如果n1≠n2(0<n1、n2<m),假設(shè)(p*n1)modm=(p*n2)modm,即userID1=userID2。設(shè)(p*n1)modm=(p*n2)modm=x,則根據(jù)取模運(yùn)算的定義,可得:p*n1=i1*m+x(1)p*n2=i2*m+x(2)其中,i1和i2均為整數(shù)。(2)-(1)可得:(n2-n1)*p=i*m(3)因?yàn)閜為正整數(shù),p不能整除m,,p≥2,且p與m只有一個(gè)公約數(shù)1,由(3)式可得:p整除i,即i=p*n(n>=1)。代入(3)式,可得:(n2-n1)*p=p*n*m(4)由(4)式可得,n2-n1=n*m>=m。這與0<n1、n2<m矛盾。因此,假設(shè)不成立??梢姡?dāng)n1≠n2(0<n1、n2<m)時(shí),必有(p*n1)modm≠(p*n2)modm,即userID1≠useID2。(2)如果(p*q)modm=1,那么q是p的逆映射,論述說明如下:根據(jù)n生成userID的規(guī)則為:userID=(p*n)modm+a(1)根據(jù)userID反求n的規(guī)則為:n=q*(userID-a)modm(2)假設(shè)用戶注冊(cè)順序?yàn)閚1,生成賬號(hào)為userID1,只需將userID1代入(2)式反求得到的注冊(cè)順序?yàn)閚1即可。q*(userID1-a)modm=q*[((p*n1)modm+a)-a]modm=q*[(p*n1)modm]modm根據(jù)取模運(yùn)算定義,(p*n1)modm=p*n1–i*m,i為某個(gè)整數(shù),因此有:q*(userID1-a)modm=q*(p*n1–i*m)modm=(q*p*n1)modm–(q*i*m)modm由于(q*i*m)modm為0,因此有:q*(userID1-a)modm=(q*p*n1)modm根據(jù)取模運(yùn)算的性質(zhì),得到下式:q*(userID1-a)modm={[(q*p)modm]*[n1modm]}modm由于已知條件((q*p)modm=1,因此有:q*(userID1-a)modm=(n1modm)modm而n1<m,所以n1modm=n1q*(userID1-a)modm=n1modm=n1因此,該過程可逆。即,當(dāng)(q*p)modm=1時(shí),q為p的逆映射。本發(fā)明的一種實(shí)施例中,為了應(yīng)對(duì)用戶注冊(cè)數(shù)量超過用戶群賬號(hào)系統(tǒng)實(shí)際容量的情況,即n>m的情況,在n>m時(shí),則還需對(duì)當(dāng)前用戶群賬號(hào)系統(tǒng)總?cè)萘縏進(jìn)行擴(kuò)容更新,并對(duì)賬號(hào)數(shù)量基數(shù)a進(jìn)行更新,即令a取滿足Tj-1<=aj<Tj的正整數(shù),然后用更新后的系統(tǒng)總?cè)萘縏j和賬號(hào)數(shù)量基數(shù)aj,根據(jù)mj=Tj-aj重新計(jì)算新的當(dāng)前用戶群賬號(hào)系統(tǒng)實(shí)際容量mj,其中j為更新次數(shù)序號(hào),aj為第j次更新后的賬號(hào)數(shù)量基數(shù),Tj為第j次擴(kuò)容更新后的用戶群賬號(hào)系統(tǒng)總?cè)萘?,Tj-1為第j次擴(kuò)容更新前的用戶群賬號(hào)系統(tǒng)總?cè)萘?,mj為第j次擴(kuò)容更新后的用戶群賬號(hào)系統(tǒng)實(shí)際容量;所述步驟4)中求取pj與用戶注冊(cè)序號(hào)n的乘積pj*n,并根據(jù)下式生成用戶賬號(hào)userID:其中,pj為第j次擴(kuò)容更新后選取的一個(gè)不能整除mj的正整數(shù),mi表示m0、m1、……、mj-1中的任一個(gè),m0為首次擴(kuò)容更新之前的初始用戶群賬號(hào)系統(tǒng)實(shí)際容量。相應(yīng)的,在針對(duì)這種對(duì)T進(jìn)行擴(kuò)容更新得到的userID進(jìn)行反推用戶注冊(cè)順序時(shí),先根據(jù)所述用戶賬號(hào)userID所處的賬號(hào)區(qū)段,確定該用戶賬號(hào)userID生成時(shí)所對(duì)應(yīng)的賬號(hào)數(shù)量基數(shù)aj、用戶群賬號(hào)系統(tǒng)實(shí)際容量mj和正整數(shù)pj,然后根據(jù)下式確定用戶注冊(cè)序號(hào)n:其中qj為第j次擴(kuò)容更新后選取的滿足(pj*qj)modmj=1的正整數(shù),即qj=(i*mj+1)/pj,其中i為正整數(shù)。具體的,本實(shí)施例中,初始參數(shù)同上一實(shí)施例,即用戶群賬號(hào)系統(tǒng)總?cè)萘縏為100,賬號(hào)數(shù)量基數(shù)a為10,用戶群賬號(hào)系統(tǒng)實(shí)際容量m為T-a=90;p為7。此時(shí)n達(dá)到了91,即n>m,則對(duì)當(dāng)前用戶群賬號(hào)系統(tǒng)總?cè)萘縏進(jìn)行擴(kuò)容更新,使T1=150,令a1取105,然后計(jì)算新的當(dāng)前用戶群賬號(hào)系統(tǒng)實(shí)際容量m1=T-a=45。重新選取不能整除m1的正整數(shù)p1,同樣的,p1≥2,且p1與m1只有一個(gè)公約數(shù)1,此處選取p1=8。然后根據(jù)userID={p1*(n-m0)}modm1+a1={8*(91-90)}mod45+105=(8mod45)+105=8+105=113。本實(shí)施例中,根據(jù)用戶賬號(hào)userID反求注冊(cè)順序n時(shí),根據(jù)userID=113位于區(qū)間(100,150]中,可以知道該用戶賬號(hào)userID對(duì)應(yīng)的是本次擴(kuò)容后的賬號(hào)數(shù)量基數(shù)105和用戶群賬號(hào)系統(tǒng)實(shí)際容量45,即a1=105,m1=45,p1=8。確定p1的逆映射q1,即q1=(i*m1+1)/p1,其中i取3,則可以得到q1=17。然后根據(jù)n={q1*(userID-a1)}modm1+m0=[17*(113-105)]mod45+90=(17*8)mod45+90=136mod45+90=91。上述實(shí)施例中,當(dāng)n=136時(shí),n>m0+m1=90+45=135,需作第二次擴(kuò)容,使T2=200,令a2取163,然后計(jì)算新的當(dāng)前用戶群賬號(hào)系統(tǒng)實(shí)際容量m2=T-a2=37。重新選取不能整除m2的正整數(shù)p2,同樣的,p2≥2,且p2與m2只有一個(gè)公約數(shù)1,此處選取p2=2。然后根據(jù)userID={p2*(n-m1-m2)}modm2+a2={2*(136-90-45)}mod37+163=(2mod37)+163=2+163=165。根據(jù)用戶賬號(hào)userID反求注冊(cè)順序n時(shí),根據(jù)userID=165位于區(qū)間(150,200]中,可以知道該用戶賬號(hào)userID對(duì)應(yīng)的是本次擴(kuò)容后的賬號(hào)數(shù)量基數(shù)163和用戶群賬號(hào)系統(tǒng)實(shí)際容量37,即a2=163,m2=37,p2=2。確定p2的逆映射q2,即q2=(i*m2+1)/p2,其中i取1,則可以得到q1=19。然后根據(jù)n={q2*(userID-a2)}modm2+m0+m1={19*(165-163)}mod37+90+45=(19*2)mod37+135=38mod37+135=136。本發(fā)明的方法中,基于ID自增長(zhǎng)技術(shù)生成用戶注冊(cè)序號(hào)n可以是用戶注冊(cè)的自然排序作為用戶注冊(cè)序號(hào)n,也可以是基于以下方式生成:將備選序號(hào)分為S個(gè)容量相同的子庫(kù),即D1={1,S+1,2S+1……},D2={2,S+2,2S+2……},……,DS={S,2S,3S……},當(dāng)用戶向系統(tǒng)提交注冊(cè)請(qǐng)求,將各用戶按順序分配到不同的子庫(kù)中,并從該子庫(kù)中按由小到大的順序抽取還未使用過的備選序號(hào)作為該用戶的用戶注冊(cè)序號(hào)n。上述S個(gè)容量相同的子庫(kù),例如在S取5時(shí)為:{1,6,11,16,……}{2,7,12,17,……}{3,8,13,18,……}{4,9,14,19,……}{5,10,15,20,……}將備選序號(hào)分隔成多個(gè)子庫(kù)的目的是為了減少整個(gè)大數(shù)據(jù)庫(kù)的檢索、插入等操作對(duì)系統(tǒng)資源的消耗;同時(shí)在并發(fā)多個(gè)用戶注冊(cè)請(qǐng)求時(shí),可以通過多個(gè)數(shù)據(jù)庫(kù)同時(shí)操作更快地響應(yīng)和處理。采用本發(fā)明方法后,根據(jù)生成的用戶userID無法推算出用戶群規(guī)模,具體說明如下:假設(shè)第m個(gè)用戶在t1時(shí)刻注冊(cè),得到userID1;第n個(gè)用戶在t2時(shí)刻注冊(cè),得到userID2。在t1到t2這段時(shí)間共注冊(cè)了n-m+1個(gè)用戶。但因?yàn)镻為非線性一一映射,userID2-userID1≠n-m。因此,用戶無法根據(jù)各自的userID來推算這段時(shí)間內(nèi)的用戶注冊(cè)數(shù)量。賬號(hào)生成涉及到3個(gè)參數(shù),p,a,m,實(shí)際應(yīng)用時(shí)這3個(gè)數(shù)都很大,破解者很難同時(shí)猜測(cè)到這3個(gè)數(shù),所以很難破解該賬號(hào)系統(tǒng)。本發(fā)明技術(shù)方案中的映射p,也可以采用生成不重復(fù)隨機(jī)數(shù)的方式。但該替代方案當(dāng)生成的隨機(jī)數(shù)與已有用戶ID重復(fù)時(shí),還需要重新生成,并且該方案需要將該映射關(guān)系存儲(chǔ)為哈希表,當(dāng)用戶規(guī)模很大時(shí)這需要較大的存儲(chǔ)空間,并且哈希表不可逆,需要存儲(chǔ)逆映射,導(dǎo)致占用更多存儲(chǔ)空間。本發(fā)明方法中涉及到的概念和術(shù)語(yǔ)解釋如下:環(huán):環(huán)(Ring)是一類包含兩種運(yùn)算(加法和乘法)的代數(shù)系統(tǒng),是現(xiàn)代代數(shù)學(xué)十分重要的一類研究對(duì)象,由一個(gè)集合以及兩個(gè)作用在該集合上的二元運(yùn)算所組成,兩個(gè)二元運(yùn)算分別稱為加法和乘法,加法滿足交換律和結(jié)合律,乘法對(duì)加法滿足分配率,加法有零元素(任何元素加上零元素是本身)。交換環(huán):如果乘法滿足交換率,這樣的環(huán)就是交換環(huán)。模m同余類環(huán):如果a-b=im(a,b,i都是正整數(shù)),記為將所有這樣的元素組成的集合,在模的加法和乘法下成為一個(gè)交換環(huán),該環(huán)叫做模m同余類環(huán)。一一映射:假設(shè)f是從集合A到集合B的一個(gè)映射,如果f既是單射又是滿射,那么f就稱為是一一映射。哈希表(Hashtable):是根據(jù)鍵(Key)而直接訪問在內(nèi)存存儲(chǔ)位置的數(shù)據(jù)結(jié)構(gòu)。也就是說,它通過計(jì)算一個(gè)關(guān)于鍵值的函數(shù),將所需查詢的數(shù)據(jù)映射到表中一個(gè)位置來訪問記錄,這加快了查找速度。這個(gè)映射函數(shù)稱做散列函數(shù),存放記錄的數(shù)組稱做散列表。上述實(shí)施例僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出:對(duì)于本
技術(shù)領(lǐng)域
:的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和等同替換,這些對(duì)本發(fā)明權(quán)利要求進(jìn)行改進(jìn)和等同替換后的技術(shù)方案,均落入本發(fā)明的保護(hù)范圍。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
屯昌县| 肇庆市| 伊通| 晋城| 旌德县| 磐石市| 克拉玛依市| 宁武县| 元江| 辽宁省| 双柏县| 苏州市| 阳江市| 水城县| 台中市| 临猗县| 武宣县| 清流县| 喀喇沁旗| 乌兰浩特市| 石柱| 灵川县| 光山县| 泗阳县| 两当县| 永春县| 武穴市| 米泉市| 轮台县| 南城县| 兰坪| 上饶县| 温州市| 祁东县| 若羌县| 遂昌县| 平安县| 海城市| 鄢陵县| 博湖县| 西青区|