The embodiment of the invention relates to a method and a device for updating data in a distributed database system is provided, the method comprises: acquiring the saved data table for each server, and read each data in each row in the data table; for each row of data read by the judge, the presence of the key data the corresponding hash table stored in itself; if it is, read the first version of the data in the data table, determine the second version first version number is greater than the corresponding data stored in a hash table; if yes, will update the row data into a hash table, version information and update the row data the corresponding; if not, the data is written in the hash table, and writes the data corresponding to the key code and version information; the hash table is sent to the master server, so that each server root Data recovery based on the hash table received by the master server. The embodiment of the invention can recover the latest data in the distributed database system.
【技术实现步骤摘要】
一种用于分布式数据库系统的更新数据的方法及装置
本专利技术涉及数据处理
,特别是涉及一种用于分布式数据库系统的更新数据的方法及装置。
技术介绍
随着计算机技术的普及,很多重要数据都是保存在电子设备中的。人们对电子设备的使用越多,对性能的要求也越高。分布式数据库系统的出现,可以有效分散数据库服务对于单台计算机设备的压力,提高了数据库服务的整体性能,也带来了更好的数据安全性保证。分布式数据库系统,通过组建多台数据库服务器,实现数据库系统的整体读写性能的提升,为高并发读写数据库应用提供了技术支撑,在大型交互式网站、银行等后台都得到了广泛的应用。既然分布式数据库系统的每台数据库服务器都保存了数据,就需要保证各数据库服务器中保存的数据的一致性。然而,在出现系统异常、异常掉电等故障的时候,可能导致各分布式服务器中数据不一致的情况。因此,需要从分布式数据库系统中恢复出最新的完整的数据。
技术实现思路
本专利技术实施例的目的在于提供一种用于分布式数据库系统的更新数据的方法及装置,以恢复分布式数据库系统中最新的数据。具体技术方案如下:第一方面,本专利技术实施例提供了一种用于分布式数据库系统的更新数据的方法,应用于分布式数据库系统中的维护有哈希表的服务器,其中所述哈希表中针对数据表中每一行数据保存有该行数据对应的关键码以及该行数据的版本信息,所述方法包括:获取所述分布式数据库系统中的每台服务器中保存的数据表,并针对获取的每个数据表,读取该数据表中的每一行数据;针对所读取的每一行数据,判断自身保存的哈希表中是否存在该行数据对应的关键码;如果是,读取所述数据表中该行数据的第一版 ...
【技术保护点】
一种用于分布式数据库系统的更新数据的方法,其特征在于,应用于分布式数据库系统中的维护有哈希表的服务器,其中所述哈希表中针对数据表中每一行数据保存有该行数据对应的关键码以及该行数据的版本信息,所述方法包括:获取所述分布式数据库系统中的每台服务器中保存的数据表,并针对获取的每个数据表,读取该数据表中的每一行数据;针对所读取的每一行数据,判断自身保存的哈希表中是否存在该行数据对应的关键码;如果是,读取所述数据表中该行数据的第一版本号,判断所述第一版本号是否大于所述哈希表中保存的该行数据对应的第二版本号;如果是,将该行数据更新到所述哈希表中,并更新该行数据对应的版本信息;如果否,将该行数据写入所述哈希表中,并写入该行数据对应的关键码以及版本信息;将所述哈希表发送到主服务器,以使所述分布式数据库系统中的每台服务器根据所述主服务器接收的哈希表进行数据恢复。
【技术特征摘要】
1.一种用于分布式数据库系统的更新数据的方法,其特征在于,应用于分布式数据库系统中的维护有哈希表的服务器,其中所述哈希表中针对数据表中每一行数据保存有该行数据对应的关键码以及该行数据的版本信息,所述方法包括:获取所述分布式数据库系统中的每台服务器中保存的数据表,并针对获取的每个数据表,读取该数据表中的每一行数据;针对所读取的每一行数据,判断自身保存的哈希表中是否存在该行数据对应的关键码;如果是,读取所述数据表中该行数据的第一版本号,判断所述第一版本号是否大于所述哈希表中保存的该行数据对应的第二版本号;如果是,将该行数据更新到所述哈希表中,并更新该行数据对应的版本信息;如果否,将该行数据写入所述哈希表中,并写入该行数据对应的关键码以及版本信息;将所述哈希表发送到主服务器,以使所述分布式数据库系统中的每台服务器根据所述主服务器接收的哈希表进行数据恢复。2.根据权利要求1所述的方法,其特征在于,所述针对获取的每个数据表,读取该数据表中的每一行数据,包括:针对每个数据表,采用数据分片的方式,读取该数据表中的每一行数据。3.根据权利要求1所述的方法,其特征在于,所述写入该行数据对应的关键码,包括:将数据表中该行数据的主键作为哈希表中该行数据对应的关键码,写入到所述哈希表中。4.根据权利要求1-3任一所述的方法,其特征在于,所述将该行数据写入所述哈希表之后,所述方法还包括:在所述哈希表中记录该行数据的出现频次。5.根据权利要求4所述的方法,其特征在于,当判断所述第一版本号等于所述第二版本号时,所述方法还包括:将所述哈希表中该行数据的出现频次加1。6.根据权利要求5所述的方法,其特征在于,所述将所述哈希表发送到主服务器之前,所述方法还包括:针对所述哈希表中每行数据的出现频次,判断该行数据的出现频次是否小于预定阈值,如果是,删除该行数据。7.一种用于分布式数据库系统的更新数据的装置,其特征在于,应用于分布式数据库系统中的存...
【专利技术属性】
技术研发人员:黄华东,王伟,林起芊,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。