序号产生器设计文档

来源:互联网 发布:python爬虫怎么赚钱 编辑:程序博客网 时间:2024/04/28 16:39

目标:

1 三种类型的数值产生 [long,int,smallint], 保持唯一性

特定长度的字符串产生, 保持唯一性

   主要有三个方法:

   取得和产生int型数字方法;取得和产生long型数字方法;取得和产生short型数字方法

   实现方式:首先获取当前的数字的值,然后递增后保存到数据库,并且返回结果。

   数据表字段:id,beanname,keyed,keyvalue.

   一个放在classpath下的xml文件:id.xml.主要是用来配置产生特定字符的相关信息:类别(group,长度(len,当前产生的字符(str).(读写xml文档的相关方法由小钟提供)

   一个IdGenerate类,主要方法如下:

   获取产生的有效字符串的方法:getGenerateStr();

   产生有效长度的字符串的方法:setGenerateStr(String groupName);

   1 首先根据传替的groupName,读取classpath下的id.xml;获取当前的的字符(str),以及字符串长度(len)。例如:0000001

   2 分离当前字符串(str,用分割符分割。取得字符串数字部分,然后对数字进行递增操作,字符串总长度=数字部分长度+前面补0

   3 新产生的字符串由0000+唯一数字。

   4 假设有前缀,那么字符串由前缀+000+唯一数字组成。

3 单态模式和线程同步的使用。