-
分布式系统数据时序更新方法
摘要:随着科学技术的发展,计算
机分布式系统在维持
数据库的一致性的问题上广泛应用。在商用系统中,通常在
数据中大量的数据需要经常更新,并且现在流行不间断服务,
有必要为用
户提供在线交易并行一次性更新服务。针对当前
对大量数据更新效率不高的问题,提出了
一种分布式系统中
大批量数据时序更新方法,通过时序更新的方法避免一次性
更新和在线事务之间的冲突,先在本地交易执行,然后一次
提交联合数据库
,减少了交易时间的占用,有着更高的处理
效率。实验证明这种在分布式系统中更新数据
方法与分批处
理方法相比,数据更新执行时间,在每
1000<
/p>
次更新执行时
间会减少为原来的
1/80
,有很高的应用价值。
关键词:数据库;分布式系统;批量处理;分布式事务
中图分类号:
TP399
文献标识码:
A
Abstract
:
With the
development of science and
technology
,
distributed
systems are extensively applied in maintaining
database business
systems
,
mass data need to be
updated non-stop service is growing in
popularity
,
it is
quite necessary to provide online transaction
service with once-and-for-all update to
deal with the
low update efficiency of
mass data
,
the paper proposes
a
time-sequence update method of mass
data in distributed
systems
,
which can
effectively avoid the conflict between the
once-and-for-all update and the online
transactions will be firstly conducted
locally before submitting
the joint
database
,
which reduces the
occupation time of
transactions and
brings higher processing
ments show
that
,
through the method of
updating data in distributed
systems
(
compared with the
batch
processing
method
)
,
the
execution time can be reduced by
1/80
in every 1000 updates.
Keywords
:
database
;
distributed
systems
;
batch
processing
;
distributed
transaction
1
引言(
Introduction
)
p>
随着计算机网络的日益发展和商业系统的跨地域分布
使得数据存储和
应用变得愈加分布化,分布式数据库技术对
比传统的集中式数据库技术在可靠性、可用性
和时间响应方
面有着更多的优越性,因此在实际中得到了广泛应用
[1]
。国
内外专家和学者一直致力于基于分布式数据库的数
据更新
问题的研究,如增量式更新算法
[2]
< br>,其原理是在原有规则的
基础上,去除那些不满足条件的旧规则,发现满足条件的
新
规则,目的是尽量减少计算量
[3]
;基于并行分层式链路分布
式数据更新方法
[4]
,其原理是通过建立了并行分层式链路,
具有链路分层的同时又有补偿的并行
链路,采用投票法“一
票多次性否决”规则,解决在访问分布式数据库情况下网络
开销过大、数据库互联复杂、数据更新时保证一致性困难等
问题
[5]
。但是由于上述算法的复杂性,因此本文提出了时序
更新大批量数据的方法。此方法使用扩展的交易时间数据库
来避免一次性更
新数据的进程和用户在线事务之间的冲突。
2
分布式系统更新方法及其相关研究(
Distributed
system update method and its related
research
)
2.1
在分布式系统中传统的更新方法
通过分布式事务更新处理分支机构的多个数据库的数
据,这种交易系统一般具有两阶段提交的功能
[6]
,即准备阶
段和提交阶段
[7]
,
对比一阶段提交,即从应用程序向数据库
发出提交请求到数据库完成提交后直接将结果返
回给应用
程序,两阶段提交虽然在执行同样的事务时会消耗更多时间
[8]
,但是这种操作在一个分布式系统中的稳定性比较高,这
对于分布式系统是十分重要的。
典型的分布式交易系统如图
1
所示,数据库的每一个分
支机构储存当前分支机构的数据,用户通过分
布式网络更新
当前机构和其他机构的数据,将独立数据库更新交易定义为
本地交易
[9]
。分布式系统下的数据库管理系统中,
当有一个
进程从一个机构移动一个数据块到另外的机构,这个数据块
的分布式事务的操作同时执行,当一个数据库中数据减少时,
另外一些机构数据库中
会相应的增加了相应的数据,整个系
统保持数据量的完整性
[1
0]
。
2.2
数据更新研究
本文提出的通过分时更新的方法实
现大量分布式数据
的更新,
其更新列表和交易处理时间数据库表
关系
Rt
如式
(
1
)
所示。
式(
1<
/p>
)中
Ta
表示数据库中的数据添加时间;
Td
表示数
据库中的数据删除时间;<
/p>
K
表示主键;
A
显示的其他属性。
当数据删除时,通过设置数据逻辑删除,删除时从左开
始记录。
在事务处理时,
在时间
t
设
置的数据用
Q
(
t
)
表示,
如式(
2
)所示。
式(
2
)中,属性
q[Ta]
表示
q
数据库数
据增加的时间,
属性
q[Td]
表示
q
数据库数据删除的时间,
随
着时间的
改变而改变,
Q
(
t
< br>)如式(
2
)所示,为两条件的
交集。
分时更新大量数据方法原理图如图
2
所示,按时间序列
数据库更新后的数据的变化如下:首先,批量数据更新查询
过去更新时间
tq
的数据,
并且存储它更新后的结果
到未来时
间
tu
。其次,在线登记与批
量数据更新同时执行,更新当前
时间的数据。由于时间不同,批量数据更新和在线事务处
理
之间没有冲突,本文方法进行一次性更新,既使用了批处理
更
新又使用了
OB
更新。本文的目标表的关系
Rt
扩展为
Re