一种数据更新方法和装置制造方法及图纸

技术编号:5466364 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据更新方法和装置,其中,所述数据更新方法具体包括:获取数据表中需要修改的字段信息;将所述字段包含的所有配置数据进行分段;同时开启至少两个线程执行数据更新操作,利用所述线程对相应分段范围中的配置数据进行更新。通过本发明专利技术,能够大大提高数据库中配置数据修改更新的效率,尤其适应于大数据量的修改更新操作,且不需耗费额外的存储空间。

【技术实现步骤摘要】

本专利技术涉及数据库应用
,更具体地说,涉及一种数据更新方法和装置。技术背景随着计算机技术的发展,数据库在各种生产环境中的应用越来越为广泛,用于存 储各种应用数据。在实际应用中,数据库中数据表的配置数据需要进行修改更新。现有技术中,对于 数据库中的配置数据的修改更新方式有如下几种形式1、将原数据表中不需要进行更新的字段所对应的数据拷贝至一临时数据表,同时 在临时数据表中填充需要进行更新的字段,对应该字段,配置更新后的数据信息。当更新完 毕后,利用该临时数据表覆盖原数据表实现数据的修改更新。该种实现方式中,由于需要创 建临时表,因此需要额外的存储空间。当临时表需要占用很大的存储空间时,将导致存储资 源的浪费。2、将原数据表中需要更新的字段对应的数据信息进行分段更新,实际操作过程 中,每次更新的处理步骤需要扫描数据表,获得数据表中未实现更新的分段数据,然后针对 一部分数据执行修改操作。该种实现方式中,当原数据表中的数据量庞大时,由于需要多次 对数据表进行扫描,因此,容易造成数据更新效率低下的缺陷。3、为原数据表设置索引字段,利用索引字段作为分段依据,选择出各分段对应的 索引信息,按照索引位置执行每次更新的处理步骤。该种实现方式中,分段方式依赖于数据 表索引信息,需要分析数据表结构,当数据表存在不是唯一的索引字段信息时,容易造成按 照索引字段分段更新操作发生错误;而且,建立索引字段信息也需要额外的存储空间,当涉 及海量数据的更新时,将造成数据更新效率低下且浪费存储资源的缺陷。此外,当需要更新 的字段包含索引字段时,利用索引字段作为分段依据则将不适用。可见,针对数据库中拥有海量数据的数据表,现有技术缺少一种能够实现该数据 表中特定配置数据快速、高效修改更新的解决方案。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据更新方法和装置,以提高数据库中数据表 的配置数据修改更新的效率。本专利技术实施例提供一种数据更新方法,所述方法包括获取数据表中需要修改的字段信息;将所述字段包含的所有配置数据进行分段;同时开启至少两个线程执行数据更新操作,利用所述线程对相应分段范围中的配 置数据进行更新。优选的,将所述字段包含的所有配置数据进行分段,具体为获取对应各行配置数据的行序列号ROWID ;将所述ROWID信息按照预置顺序进行排列,按照排序后的ROWID信息对所有数据 按照预置间隔进行分段划分。优选的,所述方法还包括对排序后的所有数据依次分配表示排列顺序的标识信息;则对所有数据按照预置间隔进行分段划分具体为根据所述标识信息将所有数据 按照预置间隔进行分段。优选的,所述利用所述线程对相应分段范围中的配置数据进行更新,具体为采用轮转的方式利用所述至少两个线程顺序执行数据更新操作。优选的,所述线程数目的确定方式为根据服务器硬盘的读写速度以及各分段所涉及的数据量进行确定。一种数据更新装置,所述装置包括数据获取模块,用于获取数据表中需要修改的字段信息;数据分段模块,用于将所述字段包含的所有配置数据进行分段;数据更新模块,用于同时开启至少两个线程执行数据更新操作,利用所述线程对 相应分段范围中的配置数据进行更新。优选的,所述数据分段模块具体包括ROffID获取子模块,用于获取对应各行配置数据的行序列号ROWID ;第一分段子模块,用于将所述ROWID信息按照预置顺序进行排列,按照排序后的 ROWID信息对所有数据按照预置间隔进行分段划分。优选的,所述数据分段模块还包括信息分配子模块,用于对排序后的所有数据依次分配表示排列顺序的标识信息;第二分段子模块,用于根据所述标识信息将所有数据按照预置间隔进行分段。优选的,所述数据更新模块采用轮转的方式利用所述至少两个线程顺序执行数据 更新操作。优选的,所述线程数目根据服务器硬盘的读写速度以及各分段所涉及的数据量进 行确定。同现有技术相比,本专利技术实施例提供的技术方案通过将需要更新的数据进行分段 划分,在客户端同时开启的多个线程,利用每个线程分别对相应分段范围中的配置数据进 行更新,能够大大提高数据库中配置数据修改更新的效率,尤其适应于大数据量的修改更 新操作,且不需耗费额外的存储空间。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中 所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图 获得其他的附图。图1为本专利技术实施例提供的一种数据更新方法流程示意图2为本专利技术实施例提供的一种将某字段包含的所有配置数据进行分段的步骤 示意图3为本专利技术实施例提供的另一种将某字段包含的所有配置数据进行分段的步 骤示意图4为本专利技术实施例提供的一种数据更新装置示意图5是本专利技术实施例提供的另一种数据更新装置示意图6是本专利技术实施例提供的又一种数据更新装置结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。本专利技术实施例提供一种数据更新方法及装置,以提高数据库中配置数据修改更新 的效率。为了便于对本专利技术实施例技术方案的充分理解,使得本专利技术的目的、技术方案及优 点更加清楚明白,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行 清楚、完整的描述。本专利技术实施例提供了一种数据更新方法,如图1所示,为该方法的步骤流程,该方 法可以包括以下步骤步骤101、获取数据表中需要修改的字段信息;步骤102、将所述字段包含的所有配置数据进行分段;步骤103、同时开启至少两个线程执行数据更新操作,利用所述线程对相应分段范 围中的配置数据进行更新。本专利技术实施例提供的技术方案通过将需要更新的数据进行分段划分,利用同时开 启的多个线程,每个线程分别对相应分段范围中的配置数据进行更新,能够大大提高数据 库中配置数据修改更新的效率,尤其适应于大数据量的修改更新操作,且不需耗费额外的 存储空间。本专利技术实施例中,在需要对数据表中某字段对应的配置数据进行更新时,只需获 取该字段信息,为了提高对这些数据进行修改更新的效率,对所有涉及数据进行分段划分, 不同分段之间无相同记录。所谓分段可以理解为根据涉及数据的总数量,按照预置的每个 分段中能够包含的数据量,将所有数据划分为若干个数据段。例如当涉及到更新的配置数 据数目达到100亿条时,可以将这100亿条配置数据划分为各包含10万条的若干数据段。通常情况下,各个数据段中包含的数据量相同。在单线程处理的情形下,多个分段 范围内的数据由该线程顺序进行更新操作。而本专利技术同时开启至少两个线程执行数据更新 操作,这样,可以同时有多个线程连接数据库,对数据库中的不同分段内的数据执行操作, 同单线程顺序操作相比,数据更新的效率能够大大提高。需要说明的是,如图2所示,为该实施例中将某字段包含的所有配置数据进行分 段的具体实施方式,包括以下步骤步骤201、获取对应各行配置数据的行序列号ROWID ;步骤202、将所述ROWID信息按照预置顺序进行本文档来自技高网
...

【技术保护点】
一种数据更新方法,其特征在于,所述方法包括:获取数据表中需要修改的字段信息;将所述字段包含的所有配置数据进行分段;同时开启至少两个线程执行数据更新操作,利用所述线程对相应分段范围中的配置数据进行更新。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭会许国平孙志伟
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:11

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

1