一种大字段数据的处理方法及装置与流程

文档序号:11830452阅读:来源:国知局

技术特征:

1.一种大字段数据的处理方法,其特征在于,包括:

接收对指定数据库表的大字段数据进行处理的处理指令;

如果所述大字段数据的数据长度小于或等于设定阈值,则根据所述处理指令确定所述大字段数据所属的数据页,并对所述大字段数据进行相应的处理,其中,所述数据页记为大字段记录页,所述大字段记录页用于存储至少两条大字段数据的数据信息。

2.根据权利要求1所述的方法,其特征在于,还包括:

在创建所述指定数据库表时,如果检测到所述指定数据库表中存在数据类型为大字段的列,则为所述列创建专属的大字段数据段,所述大字段数据段为处理大字段数据所需的数据环境;

在所述大字段数据段中创建至少一个控制组,并为所述控制组对应分配一个数据页,记所述数据页为大字段控制页。

3.根据权利要求2所述的方法,其特征在于,

所述控制组基于对应的大字段控制页中存储的目录项信息管理大字段记录页,其中,所述目录项信息中的一条目录项对应记录一个大字段记录页的页地址以及页剩余空间大小;

所述大字段记录页包括页头、数据以及数据索引三部分,其中,所述页头中记录有所述大字段记录页所属控制组的控制组地址;

所述控制组地址为与所述控制组对应的大字段控制页的页地址。

4.根据权利要求3所述的方法,其特征在于,所述根据所述处理指令确定所述大字段数据所属的数据页,并对所述大字段数据进行相应的处理,具体包括:

当所述处理指令为存储指令时,确定存储所述大字段数据所需的大字段记录页,并对所述大字段数据进行存储操作;

当所述处理指令为修改指令时,确定所述大字段数据所属的大字段记录页,并对所述大字段数据进行修改操作;

当所述处理指令为删除指令时,确定所述大字段数据所属的大字段记录页,并对所述大字段数据进行删除操作。

5.根据权利要求4所述的方法,其特征在于,所述确定存储所述大字段数据所需的大字段记录页,并对所述大字段数据进行存储操作,包括:

将所述大字段数据分配到所述大字段数据段的任一个未封锁的控制组中,并封锁所述控制组;

基于所述控制组对应的目录项信息确定存储所述大字段数据所需的大字段记录页;

将所述大字段数据的数据信息写入所述大字段记录页;

更新所述大字段记录页在所述控制组中的目录项信息,并释放对所述控制组的封锁。

6.根据权利要求5所述的方法,其特征在于,所述基于所述控制组对应的目录项信息确定存储所述大字段数据所需的大字段记录页,包括:

如果所述控制组对应的目录项信息为空,则为所述大字段数据分配一个新的大字段记录页;

否则,确定所述控制组对应的目录项信息中是否存在满足设定条件的目录项,如果存在满足所述设定条件的目录项,则确定所述目录项中页地址对应的大字段记录页为存储所述大字段数据所需的大字段记录页;否则,为所述大字段数据分配一个新的大字段记录页;

其中,所述设定条件为:目录项的页剩余空间大小大于或等于所述大字段数据的数据长度。

7.根据权利要求4所述的方法,其特征在于,所述确定所述大字段数据所属的大字段记录页,并对所述大字段数据进行修改操作,包括:

基于所述大字段数据在所述指定数据库表中对应的行记录信息,确定所述大字段数据所属数据页的页地址;

基于所述页地址在所述大字段数据段中确定对应的大字段记录页;

检查所述大字段记录页的页头中记录的控制组地址是否为空;

如果所述控制组地址不为空,则封锁所述控制组地址对应的控制组;

确定所述大字段数据修改后的数据长度是否小于或等于所述大字段记录页的页剩余空间大小,若是,则直接在所述大字段记录页内修改所述大字段数据;若否,则将记录于所述大字段记录页中的大字段数据复制到缓存区进行修改,并从所述大字段记录页中删除与所述大字段数据相关的记录,对修改后的大字段数据重新进行存储操作;

如果对所述控制组进行了封锁,更新所述大字段记录页在所述控制组中的目录项信息,并释放对所述控制组的封锁。

8.根据权利要求4所述的方法,其特征在于,所述确定所述大字段数据所属的大字段记录页,并对所述大字段数据进行删除操作,包括:

基于所述大字段数据在所述指定数据库表中对应的行记录信息,确定所述大字段数据所属数据页的页地址;

基于所述页地址在所述大字段数据段中确定对应的大字段记录页;

检查所述大字段记录页的页头中包含的控制组地址是否为空;

如果所述控制组地址不为空,则封锁所述控制组地址对应的控制组;

确定所述大字段数据在所述大字段记录页中的记录位置,并从所述大字段记录页中删除与所述大字段数据相关的记录;

如果对所述控制组进行了封锁,更新所述大字段记录页在所述控制组中的目录项信息,并释放对所述控制组的封锁。

9.根据权利要求5-8任一所述的方法,其特征在于,所述更新所述大字段记录页在所述控制组中的目录项信息,包括:

a、确定所述大字段记录页的页地址;

b、检测所述控制组对应的各目录项中是否存在包含所述页地址的目录项,若存在,则执行步骤c;若不存在,则执行步骤f;

c、确定所述目录项中的页剩余空间大小是否小于预设的页空间下限值,若是,则执行步骤d;若否,则执行步骤e;

d、从所述控制组的目录项信息中删除所述目录项,并将所述大字段记录页的页头中的控制组地址设置为空,结束当前更新操作;

e、更新所述目录项中的页剩余空间大小,并结束当前更新操作;

f、检测所述大字段记录页的数据部分是否为空或者所述大字段记录页的页剩余空间是否小于预设的页空间下限值,若是,则执行步骤g;若否,则执行步骤h;

g、直接结束当前更新操作;

h、如果所述控制组对应的目录项条数没有达到预设的上限制,则执行步骤i;否则,执行步骤j;

i、添加所述大字段记录页的目录项到所述控制组对应的目录项信息中,并在所述大字段记录页的页头中记录所述控制组的控制组地址,结束当前更新操作。

j、查找所述控制组对应的目录项信息中页剩余空间最小的目录项,如果所述目录项的页剩余空间大小大于所述大字段记录页的页剩余空间大小,则结束当前操作;否则,则执行步骤k;

k、删除所述目录项信息中页剩余空间最小的目录项,将所述目录项对应的数据页页头中的控制页地址置为空;将所述大字段记录页的目录项添加到所述控制组对应的目录项信息中,并在所述大字段记录页的页头中记录所述控制组的控制组地址,结束当前更新操作。

10.一种大字段数据的处理装置,其特征在于,包括:

指令接收模块,用于接收对指定数据库表的大字段数据进行处理的处理指令;

数据处理模块,用于当所述大字段数据的数据长度小于或等于设定阈值时,根据所述处理指令确定所述大字段数据所属的数据页,并对所述大字段数据进行相应的处理,其中,所述数据页记为大字段记录页,所述大字段记录页用于存储至少两条大字段数据的数据信息。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1