一种全透明的分布式数据库的数据处理方法技术

技术编号:13248236 阅读:56 留言:0更新日期:2016-05-15 11:58
本发明专利技术公开一种全透明的分布式数据库的数据处理方法,包括数据存储的过程,数据查询的过程和数据更新的过程;即预先将用户所需存储数据分布式存储到分布式数据库中,当用户需要访问分布式数据库时,分布式数据库对用户发送的数据库操作语句进行类型判断:当判断为查询语句时,则进行数据查询;当判断为更新语句时,则进行数据更新。本发明专利技术在oracle基础上,实现了全局透明性,只需在sql语句中指出全局表名称,不需要指出分片和站点,减轻了开发者的工作量,避免了开发者的人工错误,并提高了数据分布式操作的效率。

【技术实现步骤摘要】

本专利技术涉及数据处理
,具体涉及。
技术介绍
随着企业信息化的深入,业务数据不断积累、日益庞大,集中式数据存储进入瓶颈时期,表现在系统的响应缓慢、用户体验较差、数据空间扩展困难、多用户并发时系统性能下降等问题。目前,多采用分布式数据库系统,来实现高效的数据存储、管理和使用,提高系统性能和运行稳定性。然而,基于oracle的分布式数据库的数据处理方式,大部分只做到局部数据库透明性,该透明性是最低层次的透明性,只提供数据到局部数据库的映像,而不提供分片和位置透明性,则应用程序在对数据处理时不仅需要指出数据在哪个片段,而且还要指出存放该片段的站点。这样的操作会增加开发者对分布式数据库处理难度,开发效率不高,容易出错。
技术实现思路
本专利技术所要解决的是现有分布式数据库的数据处理方式只能做到数据的局部透明性的问题,提供。为解决上述问题,本专利技术是通过以下技术方案实现的:—种全透明的分布式数据库的数据处理方法,包括数据存储的过程,数据查询的过程和数据更新的过程;即预先将用户所需存储数据分布式存储到分布式数据库中,当用户需要访问分布式数据库时,分布式数据库对用户发送的数据库操作语句进行类型判断:当判断为查询语句时,则进行数据查询;当判断为更新语句时,则进行数据更新。上述数据存储的过程具体为:步骤1.1,获取业务系统的全局表,根据预先设定的分片规则,将全局表切割成多个分片,并且把分片记录登记到分片映像表;步骤1.2,获取站点信息,根据预先设定的分配规则,把步骤1.1所得的分片分配到站点上,并且把分配记录登记到分配映像表;步骤1.3,根据分片映像表和分配映像表的记录,将用户所需存储数据切割成各分片,再把分片进行分布式存储到各站点上;上述数据查询的过程具体为:步骤2.1,接收用户发送的查询语句,分析查询语句的查询属性、查询条件和全局表;步骤2.2,查询分片映像表,得出所需查询的数据所存储的分片;步骤2.3,查询分配映像表,得出分片所存储的站点;步骤2.4,对分片进行判断;当判断分片为单副本时,则直接进入相应站点的本地数据库去查询分片;当判断分片为多副本时,则选择负载最轻的站点,进入此站点的本地数据库去查询分片;步骤2.5,对站点进行判断;当在单个站点的本地数据库对分片进行查询,则直接将得到的查询结果返回给用户;若在多个站点的本地数据库对各分片进行查询,则把所有查询结果进行合并,然后返回给用户;上述数据更新的过程具体为:步骤3.1,接收用户发送的更新语句,分析更新语句的更新属性、更新条件和全局表;步骤3.2,查询分片映像表,得出所需更新的数据所存储的各个分片;步骤3.3,查询分配映像表,得出各个分片所存储的站点;步骤3.4,对分片进行判断;当判断分片为单副本时,则直接进入相应站点的本地数据库更新分片,得到更新结果,并将结果返回给用户;当判断分片为多副本时,则需要对各个副本进行同步更新。上述步骤2.2还进一步包括,若有多个分片都包含所要查询的数据,则选择数据量最小的分片。上述步骤3.4之后还一步包括如下步骤:步骤3.5,启动一个数据库事务,将各个站点的更新操作打包在一个数据库事务中进行处理;若有一个站点的副本更新操作失败,则数据库事务回滚,并将分布式数据库恢复到更新操作前的状态,并且生成一个错误信息返回给用户;若全部站点的副本更新成功,则提交该数据库事务,更新组件返回更新成功信息给用户。与现有技术相比,本专利技术能实现分布式数据库数据全透明处理,用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即如何分片对用户是透明的,因此,当分片改变时应用程序可以不变。数据如何分布,如何存储等细节不必关心,其应用程序的编写与集中式数据库相同。应用程序只需要在数据库语句中提供全局表名称,由专利技术所设计的方法,生成数据库所识别的语句进行执行。本专利技术在oracle基础上,实现了全局透明性,只需在sql语句中指出全局表名称,不需要指出分片和站点,减轻了开发者的工作量,避免了开发者的人工错误,并提高了数据分布式操作的效率。【附图说明】图1为的原理图。图2为的数据存储过程原理图。图3为的数据查询过程原理图。图4为的数据更新过程原理图。【具体实施方式】,如图1所示,包括分布式数据库的存储组件对数据进行存储的过程,分布式数据库的查询组件对数据进行查询的过程和分布式数据库的更新组件对数据进行更新的过程。用户需要将数据进行分布式存储,调用存储组件进行数据存储。当数据存储成功后,应用程序需要对数据访问时,访问接口接收应用程序发送的数据库操作语句,接口对语句进行类型判断;当接口判断为查询语句时,则调用查询组件进行数据查询;当接口判断为更新语句时,则调用更新组件进行数据更新。上述分布式数据库的存储组件对数据进行存储的过程,如图2所示,用户通过业务系统注册功能,将提供的应用系统名称和数据源,导入业务系统的数据表名、表属性名等信息,将业务系统及其中的数据表和字段自动注册登记到系统中。通过站点信息登记,将底层站点的信息(如站点名,服务名、username、password等)登记到系统中。接着通过分片策略配置和分配策略配置,生成分片映像和分配映像。最后,根据分片映像和分配影像,将数据分布式存储到各站点上。数据存储的具体步骤如下:1.1系统获取业务系统的全局表,根据设定的分片规则,系统将全局表切割成多个分片,并且把分片记录登记到分片映像表。1.2系统获取站点信息,根据设定的分配规则,系统把分片分配到站点上,并且把分配记录登记到分配映像表。1.3系统根据分片映像表和分配映像表的记录,将数据切割成各分片,再把分片进行分布式存储到各站点上。存储过程举例:业务系统中一个全局表,如表I,表I中有个属性为时间,分片规则是在表I中时间大于或等于2015年的数据分割成分片I,在表I中时间小于2015年的数据分害械分片2.假设有3个站点,分别是站点1、站点2,站点3,分配规则是把分片I分配给站点I,分片2分配给站点2,分片I和分片2都分配给站点3.分配分为单副本分配和多副本分配,但多采用多副本分配;上述分配是多副本分配,即一个分片分配到多个站点。分布式存储平台:完成数据的分片与分配策略配置以及分布式存储的执行操作。包括:数据的分片与分配策略配置,对数据进行分片和分配处理,执行数据分布式存储的物理部署,将数据存储于分布式环境中。支持用户选择应用系统、指定数据表、指定分片规则和分配规则,生成各分片并完成部署。分布式数据存储组件,只需了解全局关系,根据数据分片和分配策略的配置,对数据进行分片和分配处理,将数据存储于分布式环境中,生成数据的分片和分配映像,执行分布式数据的物理部署。分片映像表和分配映像表为用户自定义,分片映像表是根据分片策略生成的全局表与分片的关系,分配映像表是根据分配策略生成的站点对应分片的关系。根据全局表,查询分片映像表和分配映像表,即可找出对应的分片和站点,生成oracle所识别的数据库语句进行执行,实现全透明操作。应用程序调用查询与更新操作组件的分布式访问接口,并且传入数据库语句。然后判断数据库语句类型,如果是查询语句,则调用查询操作组件,并且传入数据库语句。如果是更新语句,则调用更新操作组件,并且传入数据库语句。对数据库语句进一步解析,查本文档来自技高网...

【技术保护点】
一种全透明的分布式数据库的数据处理方法,包括数据存储的过程,数据查询的过程和数据更新的过程;即预先将用户所需存储数据分布式存储到分布式数据库中,当用户需要访问分布式数据库时,分布式数据库对用户发送的数据库操作语句进行类型判断:当判断为查询语句时,则进行数据查询;当判断为更新语句时,则进行数据更新;其特征在于:上述数据存储的过程具体为:步骤1.1,获取业务系统的全局表,根据预先设定的分片规则,将全局表切割成多个分片,并且把分片记录登记到分片映像表;步骤1.2,获取站点信息,根据预先设定的分配规则,把步骤1.1所得的分片分配到站点上,并且把分配记录登记到分配映像表;步骤1.3,根据分片映像表和分配映像表的记录,将用户所需存储数据切割成各分片,再把分片进行分布式存储到各站点上;上述数据查询的过程具体为:步骤2.1,接收用户发送的查询语句,分析查询语句的查询属性、查询条件和全局表;步骤2.2,查询分片映像表,得出所需查询的数据所存储的分片;步骤2.3,查询分配映像表,得出分片所存储的站点;步骤2.4,对分片进行判断;当判断分片为单副本时,则直接进入相应站点的本地数据库去查询分片;当判断分片为多副本时,则选择负载最轻的站点,进入此站点的本地数据库去查询分片;步骤2.5,对站点进行判断;当在单个站点的本地数据库对分片进行查询,则直接将得到的查询结果返回给用户;若在多个站点的本地数据库对各分片进行查询,则把所有查询结果进行合并,然后返回给用户;上述数据更新的过程具体为:步骤3.1,接收用户发送的更新语句,分析更新语句的更新属性、更新条件和全局表;步骤3.2,查询分片映像表,得出所需更新的数据所存储的各个分片;步骤3.3,查询分配映像表,得出各个分片所存储的站点;步骤3.4,对分片进行判断;当判断分片为单副本时,则直接进入相应站点的本地数据库更新分片,得到更新结果,并将结果返回给用户;当判断分片为多副本时,则需要对各个副本进行同步更新。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张向利李世文张红梅陈鹤童记超
申请(专利权)人:桂林电子科技大学中国电子科技集团公司第五十四研究所
类型:发明
国别省市:广西;45

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

1