The application discloses a database synchronization method, a device and a readable medium, and relates to the database field. The method includes: obtaining database transactions, generating binary log data according to database transactions, writing binary log data into the temporary memory file system, and the temporary memory file system is a file system written in the way of writing memory; the binary log data stored in the temporary memory file system are the same. The machine is used to synchronize the database according to binary log data. By writing the binary log data in memory to write the temporary memory file system, it avoids the low efficiency of the binary log data writing to binary log files because of the slow writing speed of the binary log file, and improves the writing efficiency of the binary log data. One
【技术实现步骤摘要】
数据库同步方法、装置及可读介质
本申请实施例涉及数据库领域,特别涉及一种数据库同步方法、装置及可读介质。
技术介绍
在数据库领域中,将数据库中的数据由主机同步至备机是一种灾备的主要方式。备机和主机的数据库数据保持一致,在主机数据被破坏或者主机崩溃时,可以直接通过备机上的数据库继续进行工作。通常,客户端通过数据库事务对主机上的数据库进行数据修改。在主机接收到客户端提交的若干个数据库事务后,在根据该数据库事务对该数据库中的数据进行修改之前,首先将该数据库事务写入二进制日志(英文:binlog)文件中,并将该二进制日志文件发送至备机,备机会通过对该二进制日志文件进行解析,得到对应的数据库事务,并在备机上执行该数据库事务,以保证主机的数据库与备机的数据库保持一致。然而,受限于二进制日志文件的文件写入速度较慢,主机将数据库事务写入二进制日志文件的效率比较低,从而会导致主机与备机在数据库的同步之间延时较大。当数据库较为庞大且对时效性要求较高时,无法满足实际处理需求。
技术实现思路
本申请实施例提供了一种数据库同步方法、装置及可读介质,可以解决主机将数据库事务写入二进制日志文件的效率比较低,从而会导致主机与备机在数据库的同步之间延时较大的问题。所述技术方案如下:根据本申请实施例的一方面,提供了一种数据库同步方法,所述方法包括:获取数据库事务;根据所述数据库事务生成二进制日志数据;将所述二进制日志数据写入临时内存文件系统,所述临时内存文件系统是通过写内存的方式进行写入的文件系统;将存储在所述临时内存文件系统中的所述二进制日志数据同步至备机,所述备机用于根据所述二进制日志数据对 ...
【技术保护点】
1.一种数据库同步方法,其特征在于,所述方法包括:
【技术特征摘要】
1.一种数据库同步方法,其特征在于,所述方法包括:获取数据库事务;根据所述数据库事务生成二进制日志数据;将所述二进制日志数据写入临时内存文件系统,所述临时内存文件系统是通过写内存的方式进行写入的文件系统;将存储在所述临时内存文件系统中的所述二进制日志数据同步至备机,所述备机用于根据所述二进制日志数据对所述数据库进行同步。2.根据权利要求1所述的方法,其特征在于,所述获取数据库事务,包括:接收数据库引擎发送的数据库事务,所述数据库事务是所述数据库引擎按照预先配置的本地二进制服务器地址发送的。3.根据权利要求1所述的方法,其特征在于,所述将所述二进制日志数据写入临时内存文件系统,还包括:读取数据库配置参数,所述数据库配置参数包括:文件命名方式、文件切割方式、文件循环写入方式以及二进制日志数据的格式中的至少一种;根据所述数据库配置参数,将所述二进制日志数据写入临时内存文件系统。4.根据权利要求1至3任一所述的方法,其特征在于,所述将所述二进制日志数据写入临时内存文件系统之后,还包括:将所述临时内存文件系统中的所述二进制日志数据通过异步消息发送至冷备系统,所述冷备系统用于每隔预设时长对数据库和所述二进制日志数据进行冷备份。5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:接收所述备机发送的异常信号,所述异常信号是所述备机在同步到的所述二进制日志数据的事务标识不连续时产生的,所述异常信号包括所述备机缺失的二进制日志数据的事务标识;根据所述异常信号中的事务标识,从所述冷备系统获取所述备机缺失的二进制日志数据;将所述备机缺失的二进制日志数据发送至所述备机。6.根据权利要求4所述的方法,其特征在于,所述方法,还包括:接收所述备机发送的异常信号,所述异常信号是所述备机在同步到的所述二进制日志数据的事务标识不连续时产生的,所述异常信号包括所述备机缺失的二进制日志数据的事务标识;当所述冷备系统中没有所述备机缺失的二进制日志数据时,获取重做日志文件中与所述异常信号中的事务标识对应的重做日志数据;将所述重做日志数据发送至所述备机。7.一种数据库同步装置,其特征在于,所述装置包括:获取模块,用于获取数据库事务;生成模块,用于根据所述数据库事务生成二进制日志数据;写入模块,用于将所述二进制日志数据写入临时内存文件系统,所述临时内存文件系统是通过写内存的方式进行写入的文件系统;同步模块,用于将存储在所述临时内存文件系统中的所述二进制日志数据同步...
【专利技术属性】
技术研发人员:祝百万,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。