乙個完全平均分布的固定長度隨機數發生器

2022-01-11 11:34:13 字數 504 閱讀 6989

訂單需要乙個不重複且加密的的訂單號,而且訂單號不能太長!加密說白了就是不想讓任何人從訂單號中看出來今天產生了多少個訂單。訂單號要不重複且不太長,那就只能是日期+流水號。但是,流水號顯然不能符合加密的需求。所以,流水號就需要加密了。

初始化乙個順序序列的map,然後隨機取出乙個數放到乙個棧裡面並刪除map裡面的元素,直到把map取空為止。這樣,就得到了乙個包含完全正態分佈的隨機數序列的棧。生成乙個訂單就從棧裡面彈出乙個作為流水號。這個方案在持久化上比較難處理,所以最終被放棄了。至於為什麼要持久化,其實很簡單,你總不能指望這個系統永遠正常工作吧?一旦重啟,就可能產生重複的流水號。

初始化乙個順序序列的map,然後隨機取出乙個數放到乙個迴圈鍊錶裡面並刪除map裡面的元素,直到把map取空為止。這個方案的好處是可以用較低的成本進行初始化和持久化。因為這個序列可以迴圈使用,所以只需要儲存一次序列就可以了。使用的時候,只要取出下乙個節點的值作為流水號,然後每過1000個節點儲存一次當前節點,服務重啟後取儲存的當前節點後1000個節點作為當前節點,就不虞流水重複了。

乙個快取實現平均分配佇列的方案

在工單系統中,角色有處理員和報告人,乙個工單建立後會被分配給多個待選處理員中的乙個。現要求平均的分配給這些處理員,使得每個處理員的工作量大體相當。為了實現平均分配,首先想到的是隨機數。從資料庫中獲取到處理員組後,根據組的大小生成隨機數作為下標,返回該下標對應的處理員即可。實現簡單,但如果一天的單數不...

C 將乙個資料格式化為固定長度的字串

經常會遇到將資料解析為文字檔案的現象,通常因為資料長度的不同導致,視覺化效果不好。寫乙個輸入資料獲取固定長度字串的函式,來得到乙個固定長度的資料,讓格式化看起來好看一些。include include include templatestd string gen fixed len str t va...

記錄乙個shell指令碼的題目 8公升水平均分

有乙個 8 公升的瓶子裝滿水,還有乙個 5 公升的空瓶子和乙個 3 公升的空瓶子。要求將水分成兩個 4 公升。執行指令碼之後要生產類似這樣的解決方案 your containers 8 5 3 solution1 step0 8 0 0 solution1 step1 3 5 0 solution1...