一种嵌入式系统数据库同步方法、装置及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种嵌入式系统数据库同步方法、装置及存储介质。
背景技术
局域网内共存多个嵌入式设备,设备自身需要对数据库进行读写操作,以对设备的数据库进行同步。现有的数据库同步方法为通过给数据库设置特定的字段,或者数据库修改时间,作为数据库版本的标识,记录数据库的最后修改时间,作为数据库版本的标识,并定时将数据库发送到后台服务器中,通过后台服务器对数据库进行同步以及备份。
使用现有的嵌入式系统数据库同步方法,存在以下问题:
需要花费较多的时间和成本部署后台服务器,造成嵌入式数据库同步的效率低。
发明内容
本发明实施例提供一种嵌入式系统数据库同步方法、装置及存储介质,能够有效提高数据库同步的效率。
为达到上述目的,一方面,本发明的一个实施例提供了一种嵌入式系统数据库同步方法,包括:
通过触发器获取待同步设备的数据库版本信息;其中每一所述待同步设备均包括业务程序、网站服务器以及数据库控制程序;
所述业务程序通过预设的时间周期将所述数据库版本信息备份到所述网站服务器目录中;
所述数据库控制程序获取所述网站服务器目录中的数据库版本信息,并将所述数据库版本信息对应的数据库打包成数据包;
所述数据库控制程序将所述数据包发送至局域网内其他待同步设备中,并接收所述其他待同步设备发送的数据包;
通过所述数据库控制程序对所述局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并将所述版本最高的数据库同步至其他待同步设备中。
进一步地,所述通过触发器获取待同步设备的数据库版本信息,具体为:
通过所述触发器设定所述待同步设备的数据表,并识别所述数据表是否有操作;
当识别到所述数据表有新增、删除和修改操作时,所述待同步设备的数据库自动生成数据库版本信息。
进一步地,所述数据库控制程序将所述数据包发送至局域网内其他待同步设备中,并接收所述其他待同步设备发送的数据包,具体为:
所述数据库控制程序通过UDP广播将所述数据包发送至局域网内其他待同步设备上,并通过UDP广播接收所述其他待同步设备发送的数据包。
进一步地,所述将所述版本最高的数据库同步至其他待同步设备中,具体为:
所述其他待同步设备通过所述网站服务器中的文件传输工具下载所述版本最高的数据库,将所述版本最高的数据库同步至所述其他同步设备中。
另一方面,本发明的另一实施例提供了一种嵌入式系统数据库同步装置,包括获取模块、备份模块、打包模块、接收模块和同步模块;
所述获取模块,用于通过触发器获取待同步设备的数据库版本信息;其中每一所述待同步设备均包括业务程序、网站服务器以及数据库控制程序;
所述备份模块,用于所述业务程序通过预设的时间周期将所述数据库版本信息备份到所述网站服务器目录中;
所述打包模块,用于所述数据库控制程序获取所述网站服务器目录中的数据库版本信息,并将所述数据库版本信息对应的数据库打包成数据包;
所述接收模块,用于所述数据库控制程序将所述数据包发送至局域网内其他待同步设备中,并接收所述其他待同步设备发送的数据包;
所述同步模块,用于通过所述数据库控制程序对所述局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并将所述版本最高的数据库同步至其他待同步设备中。
进一步地,所述获取模块,具体用于:
通过所述触发器设定所述待同步设备的数据表,并识别所述数据表是否有操作;当识别到所述数据表有新增、删除和修改操作时,所述待同步设备的数据库自动生成数据库版本信息。
进一步地,所述接收模块,具体用于:
所述数据库控制程序通过UDP广播将所述数据包发送至局域网内其他待同步设备上,并通过UDP广播接收所述其他待同步设备发送的数据包。
进一步地,所述同步模块,还包括:
所述其他待同步设备通过所述网站服务器中的文件传输工具下载所述版本最高的数据库,将所述版本最高的数据库同步至所述其他同步设备中。
又一方面,本发明的又一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的嵌入式系统数据库同步方法。
本发明实施例提供一种嵌入式系统数据库同步方法、装置及存储介质,通过触发器自动获取待同步设备的数据库版本信息,不需要从软件上对数据库标识进行更新维护,能够使得软件代码更加简洁,有利于提高代码的维护效率;且通过所述数据库控制程序对所述局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并将所述版本最高的数据库同步至其他待同步设备中,实现了嵌入式系统设备之间的通讯以及数据库同步,省去了服务器部署的时间以及成本,能够有效提高数据库同步的效率。
附图说明
图1是本发明提供的嵌入式系统数据库同步方法的流程示意图;
图2是本发明提供的嵌入式系统数据库同步方法步骤S1的流程示意图;
图3是本发明提供的嵌入式系统设备数据库同步方法的另一流程示意图;
图4是本发明提供的嵌入式系统数据库同步装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3:
本发明的第一实施例。
本发明实施提供的一种嵌入式系统数据库同步方法,包括:
S1、通过触发器获取待同步设备的数据库版本信息;其中每一待同步设备均包括业务程序、网站服务器以及数据库控制程序;
在本发明实施例中,通过触发器获取待同步设备的数据库版本信息,能够有效避免丢失数据的数据库被当作最新版本数据库。
S2、业务程序通过预设的时间周期将数据库版本信息备份到网站服务器目录中;
S3、数据库控制程序获取网站服务器目录中的数据库版本信息,并将数据库版本信息对应的数据库打包成数据包;
S4、数据库控制程序将数据包发送至局域网内其他待同步设备中,并接收其他待同步设备发送的数据包;
S5、通过数据库控制程序对局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并将版本最高的数据库同步至其他待同步设备中。
在本发明实施例中,通过触发器自动获取待同步设备的数据库版本信息,不需要从软件上对数据库标识进行更新维护,能够使得软件代码更加简洁,有利于提高代码的维护效率;且通过数据库控制程序对局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并将版本最高的数据库同步至其他待同步设备中,实现了嵌入式系统设备之间的通讯以及数据库同步,省去了服务器部署的时间以及成本,能够有效提高数据库同步的效率。
作为本发明实施例的一种具体实施方式,通过触发器获取待同步设备的数据库版本信息,具体为:
通过触发器设定待同步设备的数据表,并识别数据表是否有操作;
当识别到数据表有新增、删除和修改操作时,待同步设备的数据库自动生成数据库版本信息。
请参阅图2,在本发明实施例中,通过创建一个触发器(triger)识别数据表(table_version)中的操作,若识别到table_version中任意数据被删掉后,触发器自动给table_version表中的数据库版本信息(database_version)字段加1的操作。同理可针对table_version继续创建“新增“或者”修改”操作的触发器,以获取待同步设备的数据库版本信息。若在在传输过程中有数据丢失的现象,没有丢失数据的嵌入式设备中数据库版本的数据库版本将会大于丢失数据的嵌入式设备中的数据库版本。本发明实施例通过通过触发器获取待同步设备的数据库版本信息,并将嵌入式系统中设备的数据库版本信息进行比对,能够快速识别到嵌入式系统中设备的数据库版本高低情况,从而能够使丢失数据的嵌入式设备向数据库版本高的嵌入式设备中下载数据库进行同步,来恢复丢失的数据,能够有效提高数据库同步的效率。
作为本发明实施例的一种具体实施方式,数据库控制程序将数据包发送至局域网内其他待同步设备中,并接收其他待同步设备发送的数据包,具体为:
数据库控制程序通过UDP广播将数据包发送至局域网内其他待同步设备上,并通过UDP广播接收其他待同步设备发送的数据包。
在本发明实施例中,通过数据库控制程序发送每一待同步设备自身的数据库至其他待同步设备中,同时接收其他待同步设备的数据库信息,且通过UDP广播的方式进行收发数据,能够使得嵌入式系统中每一待同步设备快速获取到其余所有待同步设备的数据库信息,以便进行数据库的同步,能够有效提高数据库同步的效率。
作为本发明实施例的一种具体实施方式,将版本最高的数据库同步至其他待同步设备中,具体为:
其他待同步设备通过网站服务器中的文件传输工具下载版本最高的数据库,将版本最高的数据库同步至其他同步设备中。
请参阅图3,在本发明实施例中,在同一个局域网内,有A、B、C三个同类型的嵌入式设备,通过其中一个嵌入式设备进行数据配置,更新数据库,将更新的数据库自动同步到其他的嵌入式设备中。
实施本发明实施例,具有以下有益效果:
本发明实施例通过触发器自动获取待同步设备的数据库版本信息,不需要从软件上对数据库标识进行更新维护,能够使得软件代码更加简洁,有利于提高代码的维护效率;且通过数据库控制程序对局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并将版本最高的数据库同步至其他待同步设备中,实现了嵌入式系统设备之间的通讯以及数据库同步,省去了服务器部署的时间以及成本,能够有效提高数据库同步的效率。
请参阅图2-4:
本发明的第二实施例。
本发明实施例提供的一种嵌入式系统数据库同步装置,包括获取模块10、备份模块20、打包模块30、接收模块40和同步模块50;
获取模块10,用于通过触发器获取待同步设备的数据库版本信息;其中每一待同步设备均包括业务程序、网站服务器以及数据库控制程序;
在本发明实施例中,获取模块10通过触发器获取待同步设备的数据库版本信息,能够有效避免丢失数据的数据库被当作最新版本数据库。
备份模块20,用于业务程序通过预设的时间周期将数据库版本信息备份到网站服务器目录中;
打包模块30,用于数据库控制程序获取网站服务器目录中的数据库版本信息,并将数据库版本信息对应的数据库打包成数据包;
接收模块40,用于数据库控制程序将数据包发送至局域网内其他待同步设备中,并接收其他待同步设备发送的数据包;
同步模块50,用于通过数据库控制程序对局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并将版本最高的数据库同步至其他待同步设备中。
在本发明实施例中,获取模块10通过触发器自动获取待同步设备的数据库版本信息,不需要从软件上对数据库标识进行更新维护,能够使得软件代码更加简洁,有利于提高代码的维护效率;且通过数据库控制程序对局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并通过同步模块40将版本最高的数据库同步至其他待同步设备中,实现了嵌入式系统设备之间的通讯以及数据库同步,省去了服务器部署的时间以及服务器成本,能够有效提高数据库同步的效率。
作为本发明实施例的一种具体实施方式,获取模块10具体用于:
通过触发器设定待同步设备的数据表,并识别数据表是否有操作;当识别到数据表有新增、删除和修改操作时,待同步设备的数据库自动生成数据库版本信息。
请参阅图2,在本发明实施例中,通过创建一个触发器(triger)识别数据表(table_version)中的操作,若识别到table_version中任意数据被删掉后,触发器自动给table_version表中的数据库版本信息(database_version)字段加1的操作。同理可针对table_version继续创建“新增“或者”修改”操作的触发器,以获取待同步设备的数据库版本信息。若在在传输过程中有数据丢失的现象,没有丢失数据的嵌入式设备中数据库版本的数据库版本将会大于丢失数据的嵌入式设备中的数据库版本。本发明实施例通过通过触发器获取待同步设备的数据库版本信息,并将嵌入式系统中设备的数据库版本信息进行比对,能够快速识别到嵌入式系统中设备的数据库版本高低情况,从而能够使丢失数据的嵌入式设备向数据库版本高的嵌入式设备中下载数据库进行同步,来恢复丢失的数据,能够有效提高数据库同步的效率。
作为本发明实施例的一种具体实施方式,接收模块40具体用于:
数据库控制程序通过UDP广播将数据包发送至局域网内其他待同步设备上,并通过UDP广播接收其他待同步设备发送的数据包。
在本发明实施例中,通过数据库控制程序发送每一待同步设备自身的数据库至其他待同步设备中,同时接收其他待同步设备的数据库信息,且通过UDP广播的方式进行收发数据,能够使得嵌入式系统中每一待同步设备快速获取到其余所有待同步设备的数据库信息,以便进行数据库的同步,能够有效提高数据库同步的效率。
作为本发明实施例的一种具体实施方式,同步模块50还包括:
其他待同步设备通过网站服务器中的文件传输工具下载版本最高的数据库,将版本最高的数据库同步至其他同步设备中。
请参阅图3,在本发明实施例中,在同一个局域网内,有A、B、C三个同类型的嵌入式设备,通过其中一个嵌入式设备进行数据配置,更新数据库,将更新的数据库自动同步到其他的嵌入式设备中。
实施本发明实施例,具有以下有益效果:
在本发明实施例中,获取模块10通过触发器自动获取待同步设备的数据库版本信息,不需要从软件上对数据库标识进行更新维护,能够使得软件代码更加简洁,有利于提高代码的维护效率;且通过数据库控制程序对局域网内所有设备对应的数据库版本信息进行比对,获得版本最高的数据库,并通过同步模块40将版本最高的数据库同步至其他待同步设备中,实现了嵌入式系统设备之间的通讯以及数据库同步,省去了服务器部署的时间以及服务器成本,能够有效提高数据库同步的效率。
本发明的第三实施例提供的一种计算机可读存储介质,其特征在于,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行如上述的嵌入式系统数据库同步方法。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。