背景 我在上篇文章“.NET:可擴展的單據編號生成器 之 順序號(防止重復)”中介紹了如何使用“種子表”和“悲觀鎖”解決順序號的問題。昨天找朋友討論,說這種速度不夠高,今天就稍微改進一下,引入一個內存緩沖區,提高生成的速度。 思路 引入內存緩沖區后,順序號的生產流程變為:在內存中維護一個 ...
背景 我在上篇文章 .NET:可擴展的單據編號生成器 簡單的解釋器 中介紹了一個簡單的單據編號框架。有朋友留言問如何實現 順序號,且不能重復 ,本篇文章就針對這個問題用上篇介紹的框架進行實現。 思路 順序號 上次順序號 步長 根據上面的公式,問題可以化解為:如何獲取上次順序號 獲取上次順序號有兩種方式: 掃描單據表,找出最新的一條記錄。 引入種子表,種子表記錄了最新的順序號。 因為生成的順序號不能 ...
2013-05-13 00:03 12 3113 推薦指數:
背景 我在上篇文章“.NET:可擴展的單據編號生成器 之 順序號(防止重復)”中介紹了如何使用“種子表”和“悲觀鎖”解決順序號的問題。昨天找朋友討論,說這種速度不夠高,今天就稍微改進一下,引入一個內存緩沖區,提高生成的速度。 思路 引入內存緩沖區后,順序號的生產流程變為:在內存中維護一個 ...
背景 在企業應用中單據編號的自定義是一個很常見的需求,能不能抽象一個通用的框架呢?之前寫個一篇自定義密碼強度的博文,感覺他們兩個思路應該很相似。就讓我們試試吧。 思路 這里的難點在於實現"解釋器",比如將"前綴_<日期:yyyy_MM_dd>"解釋為“工號生成器”,而且“解釋器 ...
1.背景 在企業應用中單據編號的自定義是一個很常見的需求,如工號、業務單據編碼等,能不能抽象一個通用的框架呢? 2.思路 這里的難點在於實現"解釋器",比如將"前綴"是日期、年月、固定字符、部門代碼等。而且“解釋器”的“規則”允許動態增加。實施人員和用戶可以自由改變單號的生成規則。 還要 ...
背景 昨天發布了一個編號生成器(http://www.cnblogs.com/happyframework/p/3177128.html),有朋友留言問支不支持某些規則,因為是可以擴展的,所以很容易支持各種規則,今天我就寫了另外兩種規則,也是對留言的朋友做一個回復。 留言A 留言 ...
背景 之前寫過三篇文章介紹如何實現這種編號生成器: http://www.cnblogs.com/happyframework/archive/2013/05/12/3073688.html。 http://www.cnblogs.com/happyframework/archive ...
編號生成器 前綴: 后綴: 位數: 連續數字 隨機字符 范圍: ~ 過濾字符: 多個使用,號分割 0123456789 abcdefghijklmnopqrstuvwxyz ...
問題提出自項目中的老代碼:一個Bill表,存儲所有的表單信息,比如:員工入職單,離職單等等。(別噴,我知道要分多個表。但領導的意願你是沒辦法違背的)表單的單據號是以四個字母+年月日+數字順序號來表示。每次取新單據號時要從Bill表里(按生成規則)查詢出最大的那個單據號,再拆分出來,再給順序號加 ...
問題提出自項目中的老代碼:一個Bill表,存儲所有的表單信息,比如:員工入職單,離職單等等。(別噴,我知道要分多個表。但領導的意願你是沒辦法違背的)表單的單據號是以四個字母+年月日+數字順序號來表示。每次取新單據號時要從Bill表里(按生成規則)查詢出最大的那個單據號,再拆分出來,再給順序號加 ...