数据库和硬件之间的数据同步方法及装置制造方法及图纸

技术编号:24353437 阅读:14 留言:0更新日期:2020-06-03 02:04
本发明专利技术提供了一种数据库和硬件之间的数据同步方法及装置,该方法包括:根据硬件所需读取表数据的表名获取硬件所需读取表数据的表大小相关信息;根据表大小相关信息估算硬件所需读取表数据所需占用的空间大小;根据所需占用的空间大小和数据库所在端的可用内存空间大小判断是否允许将该硬件所需读取表数据一次性读取至数据库所在端的内存;在允许将硬件所需读取表数据一次性读取至数据库所在端的内存的情况下,根据构造的全部读取的查询语句,将全部该硬件所需读取表数据一次性从该数据库读取至该数据库所在端的内存,并将读取至该数据库所在端的内存的全部该硬件所需读取表数据传输至该硬件。通过上述方案能够解决数据库和硬件的数据同步问题。

Data synchronization method and device between database and hardware

【技术实现步骤摘要】
数据库和硬件之间的数据同步方法及装置
本专利技术涉及计算机
,尤其涉及一种数据库和硬件之间的数据同步方法及装置。
技术介绍
数据库,尤其是关系型数据库是当今各个行业存储,访问和处理大规模数据的主要技术。随着物联网、5G等新兴技术的发展,数据正以指数级速度增长,这使得传统的数据库技术越来越难以满足应用需求。目前,加速传统关系型数据库的主要方式是使用内存数据库替代关系型数据库,它将关系型数据库的数据全部转化为列式存储的方式以加速数据处理速度,这种方法的缺陷在于内存数据库使用的内存是易失性的,一旦断电,内存上的数据将全部消失,而且设备内存大小有限,难以支撑大数据系统。其次,内存数据库的处理效率同样受限于通用处理器的性能。
技术实现思路
本专利技术提供了一种数据库和硬件之间的数据同步方法及装置,以解决数据库和硬件的数据同步问题,从而解决数据库内存上数据容易丢失并会影响数据库处理效率的问题。为了达到上述目的,本专利技术采用以下方案实现:根据本专利技术实施例的一个方面,提供了一种数据库和硬件之间的数据同步方法,包括:根据硬件所需读取表数据的表名获取所述硬件所需读取表数据的表大小相关信息;根据所述表大小相关信息估算所述硬件所需读取表数据所需占用的空间大小;根据所述所需占用的空间大小和数据库所在端的可用内存空间大小判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存;在允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的全部读取的查询语句,将全部所述硬件所需读取表数据一次性从所述数据库读取至所述数据库所在端的内存,并将读取至所述数据库所在端的内存的全部所述硬件所需读取表数据传输至所述硬件。在一些实施例中,所述的数据库和硬件之间的数据同步方法,还包括:在不允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的分次读取的查询语句,将所述硬件所需读取表数据以所述数据库所在端的内存允许的方式分多次从所述数据库读取至所述数据库所在端的内存,并将各次读取至所述数据库所在端的内存的所述硬件所需读取表数据依次传输至所述硬件。在一些实施例中,根据硬件所需读取表数据的表名获取所述硬件所需读取表数据的表大小相关信息之前,所述的数据库和硬件之间的数据同步方法,还包括:建立所述数据库和所述硬件之间的连接,并基于所述连接从所述硬件获取所述硬件所需读取表数据的表名。在一些实施例中,所述表大小相关信息包括行数、列数据类型、列数据长度及列数。在一些实施例中,根据所述表大小相关信息估算所述硬件所需读取表数据所需占用的空间大小,包括:根据列数据类型和列数据长度估算一行中每列数据所占空间大小;根据列数对估算的一行中各列数据所占空间大小求和得到一行数据所占空间大小;将行数乘以求和得到的一行数据所占空间大小得到所述硬件所需读取表数据所需占用的空间大小。在一些实施例中,根据所述所需占用的空间大小和数据库所在端的可用内存空间大小判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存,包括:通过判断所述所需占用的空间大小与数据库所在端的可用内存空间大小的比值是否小于或等于设定比值阈值,判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存。在一些实施例中,根据所述所需占用的空间大小和数据库所在端的可用内存空间大小判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存,包括:通过判断所述所需占用的空间大小与数据库所在端的可用内存空间大小的比值是否小于或等于设定比值阈值,判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存。将所述硬件所需读取表数据以所述数据库所在端的内存允许的方式分多次从所述数据库读取至所述数据库所在端的内存之前,所述方法还包括:根据将所述所需占用的空间大小与数据库所在端的可用内存空间大小的比值向下取整加一得到的数值确定所分的次数。在一些实施例中,在允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的全部读取的查询语句,将全部所述硬件所需读取表数据一次性从所述数据库读取至所述数据库所在端的内存,并将读取至所述数据库所在端的内存的全部所述硬件所需读取表数据传输至所述硬件,包括:在允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,构造全部读取的查询语句;根据构造的全部读取的查询语句,将全部所述硬件所需读取表数据一次性从所述数据库读取至所述数据库所在端的内存,并将读取至所述数据库所在端的内存的全部所述硬件所需读取表数据传输至所述硬件。在不允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的分次读取的查询语句,将所述硬件所需读取表数据以所述数据库所在端的内存允许的方式分多次从所述数据库读取至所述数据库所在端的内存,并将各次读取至所述数据库所在端的内存的所述硬件所需读取表数据依次传输至所述硬件,包括:在不允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,构造分次读取的查询语句;根据构造的分次读取的查询语句,将所述硬件所需读取表数据以所述数据库所在端的内存允许的方式分多次从所述数据库读取至所述数据库所在端的内存,并将各次读取至所述数据库所在端的内存的所述硬件所需读取表数据依次传输至所述硬件。在一些实施例中,所述的数据库和硬件之间的数据同步方法,还包括:根据所述硬件基于传输至其的所需读取表数据得到的表数据的表名获取得到的表数据的表属性相关信息;根据基于所述表属性相关信息中的数据类型构造的插入语句将得到的表数据由所述硬件写入所述数据库。在一些实施例中,根据基于所述表属性相关信息中的数据类型构造的插入语句将得到的表数据由所述硬件写入所述数据库,包括:基于所述表属性相关信息中的数据类型构造插入语句;根据构造的插入语句将得到的表数据由所述硬件写入所述数据库。在一些实施例中,根据基于所述表属性相关信息中的数据类型构造的插入语句将得到的表数据由所述硬件写入所述数据库,包括:根据基于所述表属性相关信息中的数据类型构造的插入语句将得到的表数据由所述硬件按行写入所述数据库。在一些实施例中,所述数据类型包括文本类型和数值类型。在一些实施例中,根据所述硬件基于传输至其的所需读取表数据得到的表数据的表名获取得到的表数据的表属性相关信息之前,所述方法还包括:在所述数据库和所述硬件均创建用于存放所述硬件基于传输至其的所需读取表数据得到的表数据的表结构。在一些实施例中,根据硬件所需读取表数据的表名获取所述硬件所需读取表数据的表大小相关信息,包括:使用ODBCAPI函数根据硬件所需读取表数据的表名获取所述硬件所需读取表数据的表大小相关信息。在允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的全部读取的查询语句,将全部所述硬件所需读取表数据一次性从所述数据库读取至所述数据库所在端的内存,并将读取至所述数据库本文档来自技高网...

【技术保护点】
1.一种数据库和硬件之间的数据同步方法,其特征在于,包括:/n根据硬件所需读取表数据的表名获取所述硬件所需读取表数据的表大小相关信息;/n根据所述表大小相关信息估算所述硬件所需读取表数据所需占用的空间大小;/n根据所述所需占用的空间大小和数据库所在端的可用内存空间大小判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存;/n在允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的全部读取的查询语句,将全部所述硬件所需读取表数据一次性从所述数据库读取至所述数据库所在端的内存,并将读取至所述数据库所在端的内存的全部所述硬件所需读取表数据传输至所述硬件。/n

【技术特征摘要】
1.一种数据库和硬件之间的数据同步方法,其特征在于,包括:
根据硬件所需读取表数据的表名获取所述硬件所需读取表数据的表大小相关信息;
根据所述表大小相关信息估算所述硬件所需读取表数据所需占用的空间大小;
根据所述所需占用的空间大小和数据库所在端的可用内存空间大小判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存;
在允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的全部读取的查询语句,将全部所述硬件所需读取表数据一次性从所述数据库读取至所述数据库所在端的内存,并将读取至所述数据库所在端的内存的全部所述硬件所需读取表数据传输至所述硬件。


2.如权利要求1所述的数据库和硬件之间的数据同步方法,其特征在于,还包括:
在不允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的分次读取的查询语句,将所述硬件所需读取表数据以所述数据库所在端的内存允许的方式分多次从所述数据库读取至所述数据库所在端的内存,并将各次读取至所述数据库所在端的内存的所述硬件所需读取表数据依次传输至所述硬件。


3.如权利要求1所述的数据库和硬件之间的数据同步方法,其特征在于,根据硬件所需读取表数据的表名获取所述硬件所需读取表数据的表大小相关信息之前,还包括:
建立所述数据库和所述硬件之间的连接,并基于所述连接从所述硬件获取所述硬件所需读取表数据的表名。


4.如权利要求1所述的数据库和硬件之间的数据同步方法,其特征在于,所述表大小相关信息包括行数、列数据类型、列数据长度及列数。


5.如权利要求4所述的数据库和硬件之间的数据同步方法,其特征在于,根据所述表大小相关信息估算所述硬件所需读取表数据所需占用的空间大小,包括:
根据列数据类型和列数据长度估算一行中每列数据所占空间大小;
根据列数对估算的一行中各列数据所占空间大小求和得到一行数据所占空间大小;
将行数乘以求和得到的一行数据所占空间大小得到所述硬件所需读取表数据所需占用的空间大小。


6.如权利要求1所述的数据库和硬件之间的数据同步方法,其特征在于,根据所述所需占用的空间大小和数据库所在端的可用内存空间大小判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存,包括:
通过判断所述所需占用的空间大小与数据库所在端的可用内存空间大小的比值是否小于或等于设定比值阈值,判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存。


7.如权利要求2所述的数据库和硬件之间的数据同步方法,其特征在于,
根据所述所需占用的空间大小和数据库所在端的可用内存空间大小判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存,包括:
通过判断所述所需占用的空间大小与数据库所在端的可用内存空间大小的比值是否小于或等于设定比值阈值,判断是否允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存;
将所述硬件所需读取表数据以所述数据库所在端的内存允许的方式分多次从所述数据库读取至所述数据库所在端的内存之前,所述方法还包括:
根据将所述所需占用的空间大小与数据库所在端的可用内存空间大小的比值向下取整加一得到的数值确定所分的次数。


8.如权利要求2所述的数据库和硬件之间的数据同步方法,其特征在于,
在允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,根据构造的全部读取的查询语句,将全部所述硬件所需读取表数据一次性从所述数据库读取至所述数据库所在端的内存,并将读取至所述数据库所在端的内存的全部所述硬件所需读取表数据传输至所述硬件,包括:
在允许将所述硬件所需读取表数据一次性读取至所述数据库所在端的内存的情况下,构造全部读取的查询语句;
根据构造的全部读取的查询语句,将全部所述硬件所需读取表数据一次性从所述数据库读取至所述数据库所在端的内存,并将读取至所述数据库所在端的内存的全部所述硬件所需读取表数据传输至所述硬件;
在不允许将所述硬件所需读取表数据一次性读...

【专利技术属性】
技术研发人员:鄢贵海江树浩
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:北京;11

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

1