全局唯一数据标志符的生成方法和系统技术方案

技术编号:7308351 阅读:239 留言:0更新日期:2012-05-02 23:55
本发明专利技术涉及一种全局唯一数据标志符的生成方法,包括号段生成动作和号码生成动作。号段生成动作在企业总部的信息管理系统中执行,根据预定义的号段类型生成号段区间并分配给各个子公司的信息管理系统;号码生成动作在各子公司的信息管理系统中执行,根据企业总部的信息管理系统分配给子公司的号段区间生成未使用的号码。同时还涉及一种全局唯一数据标志符的生成系统。本发明专利技术生成的号码在保证企业集团内部全局唯一的同时,也拥有良好的程序易扩展和较高的数据库查询速度的特性。

【技术实现步骤摘要】

本专利技术属于企业信息管理系统领域(ERP),涉及信息管理系统领域的数据号段生成与分配技术,尤其涉及一种全局唯一数据标志符的生成方法和系统
技术介绍
企业信息管理系统分别独立部署运行在集团总部和各子公司局域网络环境中,但是作为一体化的信息管理系统,要求数据标志(如职工工号、往来客户ID)在整个企业集团信息管理系统中全集团唯一,从而保证集团总部制定的基础数据下发到各个子公司,以及各子公司的业务数据上报到集团总部后均能正确识别各个数据实体。由于地理位置、网络环境等客观原因,企业信息管理系统无法集中部署在企业集团总部中,需要分别部署在子公司的内部局域网络环境,子公司内部网路之间逻辑隔离,子公司局域网可以通过网关,使用广域网访问集团总部应用服务器,但网络通信质量较差,网络传输不稳定。综上所述,由于企业信息管理系统分别部署在不同的局域网,这些局域网络之间数据传输质量较差,需要生成特定的全集团唯一的数据标志符时,试图逐一遍历各局域网中的业务数据后生成数据唯一标志符的方法在当前运行环境中行不通。而传统的生成全局唯一数据标志符方法也不适合企业集团信息对可扩展性或者运行性能指标要求。传统的生成全局唯一数据标志符方法主要有两种一种是层次码生成法,另一种是GUID法。1、层次码生成法层次码生成法典型使用场景是手机号码分配,手机号码由以下部分组成工信部划分给电信运营商的号段,电信运营商按行政区域分配的号段,以及电信运营商区域子公司生成的自增长序列值。由于企业集团的信息管理系统涉及的数据唯一标志符种类繁多, 包括组织ID、职工ID、客户ID、会计科目ID、预算科目ID、资产ID等等,采用层次码生成法会导致号段分配不均和号段不足问题,因此不适合信息系统的需求。2、⑶ID生成法⑶ID生成法是目前最为广泛采用全球唯一标志符生成方法,一般是根据网卡信息和系统时钟生成的32个字节长度的字符串。使用GUID方法能满足集团企业系统管理系统的需求,但是GUID标志符是有一定长度的字符串格式,如果作为数据唯一标志符作为数据表关键保存到关系数据库,在数据检索和多表关联查询操作中引起效率低下,直接影响企业信息系统整体性能,进而影响用户体验效果。
技术实现思路
本专利技术的目的是克服上述现有技术中的缺点,提供一种全局唯一数据标志符的生成方法和系统,在保证企业集团内部数据标识符全局唯一的同时,也拥有良好的程序易扩展和较高的数据库查询速度的特性。为了本专利技术的目的,本专利技术的全局唯一数据标志符的生成方法包括以下步骤号段生成步骤,在企业总部的信息管理系统中执行,用于根据预定义的号段条目属性生成号段区间并分配给各个子公司的信息管理系统;号码生成步骤,在所述各个子公司的信息管理系统中执行,用于根据分配给所述各个子公司的信息管理系统的所述号段区间生成未使用的号码。所述号段生成步骤进一步包括号段配置步骤,用于定义所述号段条目属性,生成号段条目列表;号段分配步骤,用于根据所述号段条目列表,对所述各个子公司的信息管理系统进行号段分配,生成号段分配列表。进一步地,所述号段条目属性包括表名称,对应关系数据库的数据表名称;字段名称对应关系数据表的字段名称;号段最小值所述号段区间的起始值;号段最大值所述号段区间的最大值;号段步长所述号段分配的区间长度;其中,所述表名称和所述字段名称在所述号段条目列表中不能重复,所述号段最大值必须大于所述号段最小值,所述号段步长必须小于号段最大值减去号段最小值。进一步地,所述号段分配步骤还包括以下步骤步骤1 输入子公司代号,所述子公司代号为所述子公司的信息管理系统代号;步骤2 选择所述号段条目列表中的所述表名称和所述字段名称;步骤3 过滤所选择的所述号段条目列表中“表名称”=“当前选择的表名称”并且 “字段名称”=“当前选择的字段名称”,如果存在记录,则计算得到所述记录中符合已分配最大值的属性的最大值,将所述最大值加1后保存到变量maxl,所述已分配最大值为本次分配给所述子公司的号段的最大值;如果没有对应记录,则从所选择的所述号段条目列表中取出号段最小值保存到变量maxl ;步骤4 JEmaxl作为已分配最小值,所述已分配最小值为本次分配给所述子公司的号段的最小值;步骤5 把maxl加上当前选择的所述号段条目的所述号段步长的计算结果作为所述已分配最大值;将所述子公司代号、表名称、字段名称、已分配最小值和已分配最大值作为所述号段分配列表的属性。在所述号码生成步骤中,生成当前子公司所属号段分配列表,所述列表包括从所述号段分配列表中选择的当前子公司的所述表名称、字段名称、已分配最小值、已分配最大值、获取的所选择号段的当前使用状态、当前已使用号码,其中,所述当前已使用号码为当前号段中已使用的最大号码;通过查找所述号段分配列表中与生成号码对应的所述子公司代号、表名称和字段名称所在的号段,步骤A.如果存在记录,则根据所选择号段的当前使用状态和所述已分配最大值, 生成新号码,并保存到所述当前已使用号码;步骤B.如果存在记录,但此记录没有在所述当前子公司所属号段分配列表中,则在所述列表中增加记录,并重新执行A步骤;步骤C.如果不存在记录,则发出“未分配号段”的信息。其中,所述步骤A还进一步包括步骤Al.如果存在当前使用状态为正在使用的记录,则将所述当前已使用号码加 1作为新号码;步骤A2.如果不存在当前使用状态为正在使用的记录,则查找当前使用状态为未使用的记录,将已分配最小值作为新号码。所述号码生成步骤还包括定时对空闲号码进行回收。所述号码生成步骤还包括定时计算当前子公司所属号段分配列表中未使用号段与当前总号段的比例,如果小于预定阀值,则向所述企业总部的信息管理系统发出号段预警通知。本专利技术还涉及一种全局唯一数据标志符的生成系统,包括以下单元号段生成单元,位于企业总部的信息管理系统中,用于根据预定义的号段条目属性生成号段区间并分配给各个子公司的信息管理系统;号码生成单元,位于所述各个子公司的信息管理系统中, 用于根据分配给所述各个子公司的信息管理系统的所述号段区间生成未使用的号码。进一步地,所述号段生成单元还包括以下子单元号段配置单元,用于定义所述号段条目属性,生成号段条目列表;号段分配单元,用于根据所述号段条目列表,对所述各个子公司的信息管理系统进行号段分配,生成号段分配列表。本专利技术采用的全局唯一数据标志符的生成方法,与传统的“⑶ID生成法”和“层次码生成法”相比较,扩展方便,性能更高。与层次码生成方法比较,本专利技术方法更易于扩展。企业集团信息管理系统有众多的关系数据表,每一个表基本上都有唯一关键字段,因企业集团管理需要这些唯一关键字段的取值不仅仅是数据表内部唯一,也要求在企业集团间保证唯一,例如企业集团信息管理系统中有200张数据表的关键字段值需要全局唯一,共有100家子公司,则需要 20000(200X100)个层次码,随着信息系统功能不断扩展和企业经营规模不断扩大,所需要的层次码数量会以几何倍数递增,例如当信息系统中的数据表增加到400张,子公司数量增加到200家时,则需要码次码数量将达80000 (400 X 200)个,一旦达到层次码所设计容量限制,整个信息管理系统将无法再进行扩展;本专利技术所采用的方法,是按“数据表名称”和 “关键字段名称”为基本单位本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:陈利浩周浩源毕伟孙涛
申请(专利权)人:远光软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术