一种数据库信息查询方法、装置、设备及可读存储介质与流程

文档序号:29085591发布日期:2022-03-02 01:19阅读:71来源:国知局
1.本技术涉及信息查询领域,特别是是一种数据库信息查询方法、装置、设备及可读存储介质。
背景技术
::2.随着互联网快速发展,用户信息呈现指数型增长,互联网公司数据到达一定规模的时候,多数都会对数据进行分库分表存储,或者也有人叫主机,英文翻译为sharding。3.以mysql数据库为例,即单个业务的某些表到达一定规模后,即使建立索引也无法从根本上带来很大的性能提升,这时就会考虑把单表拆分。而随着分表分库的规模越来越大之后,对于一些统计类的需求,就需要跨主机查询,现有的设置方法主要是交由数据库中间件mycat来实现,处理效率不高,如何提高数据库的数据查询效率是人们关系的问题。技术实现要素:4.有鉴于此,本技术提供了一种数据库信息查询方法、装置、设备及可读存储介质,用于提高数据库的数据查询效率。5.一种数据库信息查询方法,包括:6.执行将各主机数据库业务数据备份进从机数据库的初始化操作,并将主机数据库、从机数据库的file存储形式改为table存储形式;7.基于所述table存储形式,利用数据库的主从复制操作,将多个主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中,所述订单表用于记录对应数据库的业务数据的编辑操作;8.将所述从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新;9.获取用户输入的查询信息;10.查询从机数据库的业务数据,得到与所述用户输入的查询信息对应的查询结果;11.输出所述查询结果。12.可选的,所述利用数据库的主从复制操作,将多个主机数据库的订单表实时同步到从机数据库的汇聚订单表中,包括:13.针对每一主机数据库,将主机数据库的订单表转化为binlog日志内容,所述binlog日志内容由二进制的sql事件组成;14.通过与主机数据库对应的通信渠道,利用i/o线程将所述binlog日志内容写入中继日志;15.将所述中继日志的sql事件转化到从机数据库的汇聚订单表的内容中。16.可选的,所述将所述中继日志的sql事件转化到从机数据库的汇聚订单表的内容中,包括:17.利用sql线程读取所述中继日志的sql事件;18.利用库名转换参数,将sql事件中的主机数据库的库名转换成从机数据库的库名;19.按读取顺序将库名转换后的sql事件转化到从机数据库的汇聚订单表的内容中。20.可选的,在将主机数据库、从机数据库的file存储形式改为table存储形式之后,还包括:21.将各主机数据库与从机数据库的主从关系记录至slave_master_info表中,所述slave_master_info表用于保存数据库的主从关系。22.可选的,所述将各主机数据库与从机数据库的主从关系记录至slave_master_info表中,包括:23.记录各主机数据库与从机数据库的通信渠道。24.可选的,还包括:25.当所述查询结果与所述用户输入的查询信息不匹配时,响应用户发送的添加目标主机数据库请求,将与所述添加目标主机数据库请求对应的待添加的目标主机数据库的业务数据备份进从机数据库,并将所述目标主机数据库的file存储形式改为table存储形式;26.利用数据库的主从复制操作,将所述目标主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中;27.将从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新,完成所述添加目标主机数据库请求。28.一种数据库信息查询装置,包括:29.初始化单元,用于将各主机数据库业务数据备份进从机数据库,并将主机数据库、从机数据库的file存储形式改为table存储形式;30.主从复制单元,用于利用数据库的主从复制操作,将多个主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中;31.数据库更新单元,用于将所述从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新;32.查询信息获取单元,用于获取用户输入的查询信息;33.数据库查询单元,用于查询从机数据库的业务数据,得到与所述用户输入的查询信息对应的查询结果;34.输出单元,用于输出所述查询结果。35.可选的,所述主从复制单元,包括:36.日志转换单元,用于将主机数据库的订单表转化为binlog日志内容,所述binlog日志内容由二进制的sql事件组成;37.中继日志写入单元,用于通过与主机数据库对应的通信渠道,利用i/o线程将所述binlog日志内容写入中继日志;38.订单表转化单元,用于将所述中继日志的sql事件转化到从机数据库的汇聚订单表的内容中。39.一种数据库信息查询设备,包括存储器和处理器;40.所述存储器,用于存储程序;41.所述处理器,用于执行所述程序,实现如权利要求1-7任一项的数据库信息查询方法的各个步骤。42.一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项的数据库信息查询方法的各个步骤。43.从上述的技术方案可以看出,本技术实施例提供的一种数据库信息查询方法,将多个主机数据库的订单表汇总到从机数据库中,通过从机数据库的汇聚订单表中的编辑操作对从机数据库的业务数据进行编辑,实现从机数据库的业务数据与多个主机数据库的业务数据同步更新的目的,在查询用户输入的查询信息时,相比于现有技术,不用把查询信息分发到多个主机数据库中进行并发查询,再进行对应的合计、分组、排序等操作以完成跨主机查询的业务需求,只需要在从机数据库中进行查询操作,提高了数据的查询效率。附图说明44.图1为本技术实施例提供的一种数据库信息查询方法流程图;45.图2为本技术实施例提供的一种数据库主从复制场景示例图;46.图3为本技术实施例提供的一种数据库主从复制方法流程图;47.图4为本技术实施例提供的一种数据库信息查询装置结构示意图;48.图5为本技术实施例提供的一种数据库信息查询设备的硬件结构框图。具体实施方式49.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。50.图1为本技术实施例提供的一种数据库信息查询方法流程图,该方法可以包括以下步骤:51.步骤s100、将各主机数据库业务数据备份进从机数据库,并将主机数据库、从机数据库的file存储形式改为table存储形式。52.具体的,file存储形式改为table存储形式是在mysql关系型数据库管理系统中,将master_info_repository和relay_log_info_repository的默认值file改为table,file值只允许mysql从实例连接一个主实例,table值可以允许mysql从实例连接多个主实例,可以将file改为table,实现一个从机数据库连接多个主机数据库的目的,可以执行将各主机数据库业务数据备份进从机数据库的初始化操作,并将主机数据库、从机数据库的file存储形式改为table存储形式。53.步骤s110、利用数据库的主从复制操作,将多个主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中。54.具体的,可以基于所述table存储形式,利用数据库的主从复制操作,将多个主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中,所述订单表用于记录对应数据库的业务数据的编辑操作,主从复制操作可以是将一个主机数据库的内容复制到一个从机数据库中,订单表可以是记录各种信息数据的表,汇聚订单表可以是多个不同的主机数据库中的订单表的信息集合,编辑操作可以是对业务数据的增加、删除、更改,在table存储形式下,如图2所示,可以利用数据库的主从复制操作,将多个主机数据库的订单表复制到从机数据库中组成汇聚订单表。55.步骤s120、将所述从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新。56.具体的,当从机数据库的汇聚订单表中的编辑操作更新时,根据更新后的编辑操作对从机数据库的业务数据进行编辑,得到编辑后的业务数据。57.步骤s130、获取用户输入的查询信息。58.具体的,获取用户输入的查询信息的场景可以是通过手机、电脑等支持查询信息输入的设备,查询信息可以是用户需要查询的相关信息。59.步骤s140、查询从机数据库的业务数据,得到与所述用户输入的查询信息对应的查询结果。60.具体的,可以利用从机数据库的记录有多个不同主机数据库订单表信息的汇聚订单表,查询与用户输入的查询信息对应的信息,得到查询结果。61.步骤s150、输出所述查询结果。62.具体的,可以通过显示屏或信息的形式,对查询结果进行输出。63.在本技术实施例中,将多个主机数据库的订单表汇总到从机数据库中,通过从机数据库的汇聚订单表中的编辑操作对从机数据库的业务数据进行编辑,实现从机数据库的业务数据与多个主机数据库的业务数据同步更新的目的,在查询用户输入的查询信息时,相比于现有技术,不用把查询信息分发到多个主机数据库中进行并发查询,再进行对应的合计、分组、排序等操作以完成跨主机查询的业务需求,只需要在从机数据库中进行查询操作,提高了数据的查询效率。64.在本技术的一些实施例中,对步骤s110、基于所述table存储形式,利用数据库的主从复制操作,将多个主机数据库的订单表复制到从机数据库中组成汇聚订单表中的过程进行介绍,如图3所示,具体包括以下步骤;65.步骤s111、将主机数据库的订单表转化为binlog日志内容,所述binlog日志内容由二进制的sql事件组成。66.具体的,binlog(二进制日志)内容由二进制的sql(结构化查询语言)事件组成,针对每一主机数据库,可以将主机数据库的订单表转化为binlog日志内容。67.步骤s112、通过与主机数据库对应的通信渠道,利用i/o线程将所述binlog日志内容写入中继日志。68.具体的,i/o(input/output)线程主要用于与外部系统交互信息,中继日志是连接主服务器和从服务器的信息,是主从复制的核心,中继日志可以充当缓冲,这样主服务器不必等待从服务器执行完成,就可以发送下一个事件,可以利用i/o线程,通过与主机数据库对应的通信渠道,将所述binlog内容写入中继日志。69.步骤s113、将所述中继日志的sql事件转化到从机数据库的汇聚订单表的内容中。70.具体的,中继日志包含多条sql事件,可以将中继日志的sql事件转化到从机数据库的汇聚订单表的内容中。71.进一步的,下面对步骤s113、将所述中继日志的sql事件转化到从机数据库的汇聚订单表的内容中的过程进行介绍,具体过程可以包括:72.s1、利用sql线程读取所述中继日志的sql事件。73.s2、利用库名转换参数,将sql事件中的主机数据库的库名转换成从机数据库的库名。74.具体的,库名转换参数可以是replicate-rewrite-db,可以利用库名转换参数,将sql事件中的主机数据库的库名转换成从机数据库的库名,示例如75.replicate-rewrite-db=edrive1-》edrive_mkt76.replicate-rewrite-db=edrive2-》edrive_mkt77.s3、按读取顺序将库名转换后的sql事件转化到从机数据库的汇聚订单表的内容中。78.具体的,按sql线程读取所述中继日志的sql事件的顺序,将库名转换后的sql事件转化到从机数据库的汇聚订单表的内容中。79.在本技术的一些实施例中,为了记录各主机数据库与从机数据库的连接关系以供后续需要的时候查阅,在步骤s100、将各主机数据库业务数据备份进从机数据库,并将主机数据库、从机数据库的file存储形式改为table存储形式之后,还可以包括以下步骤:80.将各主机数据库与从机数据库的主从关系记录至slave_master_info表中,所述slave_master_info表用于保存数据库的主从关系。81.具体的,当改为table存储形式之后,将自动生成一个slave_master_info表,slave_master_info表可以用于记录包括主服务器的ip地址、端口、用户、密码、uuid(universallyuniqueidentifier通用唯一识别码)信息、binarylog日志位置、通信通道名称等信息,slave_master_info表可以用于记录和保存各主机数据库与从机数据库的主从关系。82.进一步的,将各主机数据库与从机数据库的主从关系记录至slave_master_info表中的过程可以包括如下步骤:83.记录各主机数据库与从机数据库的通信渠道。84.具体的,可以利用changemaster命令,加上forchannel参数来记录各主机数据库与从机数据库的通信渠道,示例如:85.通道1:changemastertomaster_host='10.10.3.239',master_port=3308,master_user='repluser',master_password='123456',master_auto_position=1forchannel'2393308';86.通道2:changemastertomaster_host='10.10.3.234',master_port=3309,master_user='repluser',master_password='123456',master_auto_position=1forchannel'2343309'。87.在本技术的一些实施例中,考虑到已有的从机数据库的业务数据可能无法满足用户的查询请求或者查询结果不匹配的情况,本方案还可以包括以下步骤:88.s1、当所述查询结果与所述用户输入的查询信息不匹配时,响应用户发送的添加目标主机数据库请求,将与所述添加目标主机数据库请求对应的待添加的目标主机数据库的业务数据备份进从机数据库,并将所述目标主机数据库的file存储形式改为table存储形式;89.s2、利用数据库的主从复制操作,将所述目标主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中;90.s3、将从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新,完成所述添加目标主机数据库请求。91.具体的,上述步骤s1-s3可以参照上文步骤s100-步骤s120的描述。92.下面对本技术实施例提供的数据加解密装置进行描述,下文描述的数据库信息查询装置与上文描述的数据库信息查询方法可相互对应参照。93.如图4所示,其公开了一种数据库信息查询装置的结构示意图,该数据库信息查询装置可以包括:94.初始化单元10,用于将各主机数据库业务数据备份进从机数据库,并将主机数据库、从机数据库的file存储形式改为table存储形式;95.主从复制单元11,用于利用数据库的主从复制操作,将多个主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中;96.数据库更新单元12,用于将所述从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新;97.查询信息获取单元13,用于获取用户输入的查询信息;98.数据库查询单元14,用于查询从机数据库的业务数据,得到与所述用户输入的查询信息对应的查询结果;99.输出单元15,用于输出所述查询结果。100.可选的,所述主从复制单元11,包括:101.日志转换单元,用于将主机数据库的订单表转化为binlog日志内容,所述binlog日志内容由二进制的sql事件组成;102.中继日志写入单元,用于通过与主机数据库对应的通信渠道,利用i/o线程将所述binlog日志内容写入中继日志;103.订单表转化单元,用于将所述中继日志的sql事件转化到从机数据库的汇聚订单表的内容中。104.可选的,所述订单表转化单元,包括:105.第一订单表转化子单元,用于利用sql线程读取所述中继日志的sql事件;106.第二订单表转化子单元,用于利用库名转换参数,将sql事件中的主机数据库的库名转换成从机数据库的库名;107.第三订单表转化子单元,用于按读取顺序将库名转换后的sql事件转化到从机数据库的汇聚订单表的内容中。108.可选的,本技术的数据库信息查询装置,还包括:109.关系记录单元,用于在执行初始化单元10之后,将各主机数据库与从机数据库的主从关系记录至slave_master_info表中,所述slave_master_info表用于保存数据库的主从关系。110.可选的,所述关系记录单元,包括:111.渠道记录单元,用于记录各主机数据库与从机数据库的通信渠道。112.可选的,本技术的数据库信息查询装置,还包括:113.第一添加单元,用于当所述查询结果与所述用户输入的查询信息不匹配时,响应用户发送的添加目标主机数据库请求,将与所述添加目标主机数据库请求对应的待添加的目标主机数据库的业务数据备份进从机数据库,并将所述目标主机数据库的file存储形式改为table存储形式;114.第二添加单元,用于利用数据库的主从复制操作,将所述目标主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中;115.第三添加单元,用于将从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新,完成所述添加目标主机数据库请求。116.本技术实施例提供的数据库信息查询装置可应用于数据库信息查询设备。数据库信息查询设备可以是终端。图5示出了数据库信息查询设备的硬件结构框图,参照图5,数据库信息查询设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;117.在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;118.处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;119.存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;120.其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:121.执行将各主机数据库业务数据备份进从机数据库的初始化操作,并将主机数据库、从机数据库的file存储形式改为table存储形式;122.基于所述table存储形式,利用数据库的主从复制操作,将多个主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中,所述订单表用于记录对应数据库的业务数据的编辑操作;123.将所述从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新;124.获取用户输入的查询信息;125.查询从机数据库的业务数据,得到与所述用户输入的查询信息对应的查询结果;126.输出所述查询结果。127.可选的,所述程序的细化功能和扩展功能可参照上文描述。128.本技术实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:129.执行将各主机数据库业务数据备份进从机数据库的初始化操作,并将主机数据库、从机数据库的file存储形式改为table存储形式;130.基于所述table存储形式,利用数据库的主从复制操作,将多个主机数据库的订单表数据实时同步到从机数据库的汇聚订单表中,所述订单表用于记录对应数据库的业务数据的编辑操作;131.将所述从机数据库的业务数据基于所述汇聚订单表中更新的编辑操作同步更新;132.获取用户输入的查询信息;133.查询从机数据库的业务数据,得到与所述用户输入的查询信息对应的查询结果;134.输出所述查询结果。135.可选的,所述程序的细化功能和扩展功能可参照上文描述。136.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。137.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以相互组合,且相同相似部分互相参见即可。138.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1