可变数据结构的位移存储方法技术

技术编号:8271452 阅读:192 留言:0更新日期:2013-01-31 03:40
一种可变数据结构的位移存储方法,涉及数据存储技术领域,所解决的是提高数据结构可扩展性的同时,保证数据库访问效率的技术问题。该方法的具体步骤如下:1)建立一个数据库表,并在数据库表中建立6个字段;2)为具体应用建立数据结构;3)将所有数据结构的结构记录均存储在数据库表中,数据库表为每条结构记录的每个表字段建立一条库表记录,并为每条库表记录生成一个唯一的索引值。本发明专利技术提供的方法,数据结构可扩展性及数据库访问效率高。

【技术实现步骤摘要】
本专利技术涉及数据存储技术,特别是涉及一种可变数据结构的位移存储方法的技术。
技术介绍
大型数据库系统应用对数据库容量要求及对数据库的访问效率要求都较高,随着系统应用的发展,系统中所使用的数据结构也会不断的扩展,因此大型数据库系统应用对数据结构可扩展性要求也高,但是数据库系统中所采用的数据结构有很多,如何实现大容量数据库的高效访问和结构可扩展性是一个复杂的问题。现有的数据结构扩展时,都为每一个数据结构建立一个数据存储表,再将数据存储表与对应表关联,这种数据结构扩展方式会增加数据库设计的复杂性,而且随着数据存·储表数量的增多及数据存储量的增加,会导致数据库的访问效率明显降低。
技术实现思路
针对上述现有技术中存在的缺陷,本专利技术所要解决的技术问题是提供一种数据结构可扩展性及数据库访问效率高的可变数据结构的位移存储方法。为了解决上述技术问题,本专利技术所提供的一种可变数据结构的位移存储方法,其特征在于,具体步骤如下 1)建立一个数据库表TabVar,并在数据库表TabVar中建立6个字段分别为ID,index, table,fragment,tablerec,varvalue ; 2)为具体应用建立n个数据结构,每个数据结构均包含有至少一个表字段,这里n>0; 为每个数据结构分配一个唯一的表号,为每个表字段分配一个在该表字段所属数据结构中唯一的表字段号; 3)设数据库表TabVar的记录为库表记录,数据结构的记录为结构记录,则 所有结构记录均存储在数据库表TabVar中,每条结构记录均分配有一个在该记录所属数据结构中唯一的记录号;数据库表TabVar中,为每条结构记录的每个表字段建立一条库表记录,每条库表记录中 为ID字段分配一个在数据库表TabVar中唯一的ID编号; 为index字段生成一个在数据库表TabVar中唯一的索引值; table字段的值为结构记录所属数据结构的表号; fragment字段的值为结构记录所属表字段的表字段号; tablerec字段的值为结构记录的记录号; varvalue字段的值为结构记录所属表字段的值。进一步的,所述步骤3中,每条库表记录的index字段值生成步骤如下3. I)将该条库表记录中的字段table, fragment, tablerec,按照数值组合成一字符串newStr,字符串newStr中每个字段占据8个字符位,不够8个字符的补入字符“O”,以保证所生成的字符串newStr的唯一'丨生; 3. 2)令index字段的值为24,i=0 ; 3. 3)采用位移方式生成index字段值,其生成公式为 index = ((index << kO) ' (index >> kl)) ' newStr[i]式中,index为index字段值,newStr [i]为字符串newStr中的第i个字符,index kO是指将index字段的二进制值左移kO位,index kl是指将index字段的二进制值右移kl位,符号“ ~ ”为异或操作符,kO为左操作常数,kl为右操作常数,这里k0=5, kl=27 ;3. 4)如果i值小于24,则令i递增I后返回4. 3步骤,反之则将index字段值存入库表记录的index字段。 本专利技术提供的可变数据结构的位移存储方法,先建立6字段的数据库表,再建立数据结构,所有的数据结构都不需要另行建立数据存储表,任意一种数据结构的数据都能保存在数据库表中,因此对不同的数据结构具有可扩展性,仅仅需要建立一个数据库表即可处理不同的数据结构,可以降低数据库设计的复杂性,适应不同可变化的应用需求,同时采用位移算法来计算索引值,可以快速的进行索引,保证大容量数据的高效访问。附图说明图I是本专利技术实施例的可变数据结构的位移存储方法的流程图。具体实施例方式以下结合附图说明对本专利技术的实施例作进一步详细描述,但本实施例并不用于限制本专利技术,凡是采用本专利技术的相似结构及其相似变化,均应列入本专利技术的保护范围。如图I所示,本专利技术实施例所提供的一种可变数据结构的位移存储方法,其特征在于,具体步骤如下 1)建立一个数据库表TabVar,并在数据库表TabVar中建立6个字段分别为ID,index, table,fragment,tablerec,varvalue ; 2)为具体应用建立n个数据结构,每个数据结构均包含有至少一个表字段,这里n>0; 为每个数据结构分配一个唯一的表号,为每个表字段分配一个在该表字段所属数据结构中唯一的表字段号; 3)设数据库表TabVar的记录为库表记录,数据结构的记录为结构记录,则 所有结构记录均存储在数据库表TabVar中,每条结构记录均分配有一个在该记录所属数据结构中唯一的记录号; 数据库表TabVar中,为每条结构记录的每个表字段建立一条库表记录,每条库表记录中 为ID字段分配一个在数据库表TabVar中唯一的ID编号; 为index字段生成一个在数据库表TabVar中唯一的索引值; table字段的值为结构记录所属数据结构的表号; fragment字段的值为结构记录所属表字段的表字段号; tablerec字段的值为结构记录的记录号;varvalue字段的值为结构记录所属表字段的值;如,表号为Ttl的数据结构有4个表字段,分别为ID,fragl,frag2,frag3 ;如果Ttl有A条结构记录,则将Ttl中的结构记录全部存入数据库表TabVar中后,在数据库表TabVar中会产生4A条数据结构Tci的库表记录。本专利技术实施例的所述步骤3中,每条库表记录的index字段值生成步骤如下 3. I)将该条库表记录中的字段table, fragment, tablerec,按照数值组合成一字符串newStr,字符串newStr中每个字段占据8个字符位,不够8个字符的补入字符“0”,以保证所生成的字符串newStr的唯一'丨生; 3. 2)令index字段的值为24,i=0 ; 3.3)采用位移方式生成index字段值,其生成公式为 index = ((index << k0) ' (index >> kl)) ' newStr[i] 式中,index为index字段值,newStr [i]为字符串newStr中的第i个字符,index k0是指将index字段的二进制值左移k0位,index kl是指将index字段的二进制值右移kl位,符号“ ~ ”为异或操作符,k0为左操作常数,kl为右操作常数,这里k0=5, kl=27 ; 3.4)如果i值小于24,则令i递增I后返回4. 3步骤,反之则将index字段值存入库表记录的index字段。本专利技术实施例可根据数据库表TabVar中各库表记录的table字段、fragment字段、tablerec字段访问各个数据结构,读取各个数据结构的结构记录; 本专利技术实施例可根据步骤4计算出数据库表TabVar中各库表记录的index字段值,再根据计算出的index字段值,从出数据库表TabVar中快速找到对应的库表记录,实现对数据结构的高效访问。本文档来自技高网...

【技术保护点】
一种可变数据结构的位移存储方法,其特征在于,具体步骤如下:1)建立一个数据库表TabVar,并在数据库表TabVar中建立6个字段分别为:ID,index,table,fragment,tablerec,varvalue;2)为具体应用建立n个数据结构,每个数据结构均包含有至少一个表字段,这里n>0;为每个数据结构分配一个唯一的表号,为每个表字段分配一个在该表字段所属数据结构中唯一的表字段号;3)设数据库表TabVar的记录为库表记录,数据结构的记录为结构记录,则:所有结构记录均存储在数据库表TabVar中,每条结构记录均分配有一个在该记录所属数据结构中唯一的记录号;数据库表TabVar中,为每条结构记录的每个表字段建立一条库表记录,每条库表记录中:为ID字段分配一个在数据库表TabVar中唯一的ID编号;为index字段生成一个在数据库表TabVar中唯一的索引值;table字段的值为结构记录所属数据结构的表号;fragment字段的值为结构记录所属表字段的表字段号;tablerec字段的值为结构记录的记录号;varvalue字段的值为结构记录所属表字段的值。

【技术特征摘要】
1.一种可变数据结构的位移存储方法,其特征在于,具体步骤如下 1)建立一个数据库表TabVar,并在数据库表TabVar中建立6个字段分别为ID,index, table,fragment,tablerec,varvalue ; 2)为具体应用建立n个数据结构,每个数据结构均包含有至少一个表字段,这里η>0; 为每个数据结构分配一个唯一的表号,为每个表字段分配一个在该表字段所属数据结构中唯一的表字段号; 3)设数据库表TabVar的记录为库表记录,数据结构的记录为结构记录,则 所有结构记录均存储在数据库表TabVar中,每条结构记录均分配有一个在该记录所属数据结构中唯一的记录号; 数据库表TabVar中,为每条结构记录的每个表字段建立一条库表记录,每条库表记录中 为ID字段分配一个在数据库表TabVar中唯一的ID编号; 为index字段生成一个在数据库表TabVar中唯一的索引值; table字段的值为结构记录所属数据结构的表号; fragment字段的值为结构记录所属表字段的表字段号; tablerec字段的值为结构记录的记录号; varvalue字段的值为结构记录所属表字段的值。2....

【专利技术属性】
技术研发人员:王曼罗昌智李昌张如明高飞
申请(专利权)人:上海申瑞继保电气有限公司四川省纳溪供电有限责任公司
类型:发明
国别省市:

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

1