一种数据更新方法、装置及电子设备制造方法及图纸

技术编号:15840709 阅读:46 留言:0更新日期:2017-07-18 16:50
本发明专利技术提供了一种数据更新方法、装置及电子设备,该方法应用于大数据存储与检索系统,所述大数据存储与检索系统包括主数据库和从数据库,所述主数据库通过向从数据推送数据更新日志实现主数据库和从数据库之间的数据同步更新,所述大数据存储与检索系统中还部署有数据更新服务设备和提供了用户检索接口的索引服务设备;该方法包括:数据更新服务设备从主数据库获取数据更新日志,基于获取的数据更新日志获取更新数据,将更新数据同步到索引服务设备,以使索引服务设备根据从数据更新服务设备同步来的更新数据维护索引,并在用户检索接口接收到检索请求时基于维护的索引进行数据检索。本发明专利技术能够实现快速的大数据查询。

Data updating method, device and electronic equipment

The invention provides a data updating method, device and electronic equipment, the method is applied to large data storage and retrieval system, the data storage and retrieval system includes a main database and from the database, the database through to push data update log is the main database and update from databases from the data, the data storage and retrieval system in the deployment of data update service equipment and provides the index service device user retrieval interface; the method includes: data update service equipment from the main database to obtain data update log, data update log to get updates based on data synchronization will update the data to the index service equipment, update the data for the index service device according to the update service equipment from the data synchronization to maintain the index, and in the user search interface Data retrieval is maintained based on the maintained index when the retrieval request is received. The invention can realize fast large data inquiry.

【技术实现步骤摘要】
一种数据更新方法、装置及电子设备
本专利技术涉及信息处理
,特别涉及一种数据更新方法、装置及电子设备。
技术介绍
电商网站通常是使用关系数据库(例如mysql数据库)保存用户、商品数据。当需要查询数据时,需要通过关系查询语句扫描mysql数据库,从而实现数据查询。然而,电商网站的数据量随时间推移、以及用户、商品的增加会越来越大,甚至可以积累到上GB甚至上TB级别,此时,使用传统的查询方法:通过关系查询语句在大量数据中查询一条数据时,查询速度将会非常慢,无法满足用户的快速查询目的。因此,如何实现快速的大数据查询已成为一个亟待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种数据更新方法、装置及电子设备,能够实现快速的大数据查询。为了达到上述目的,本专利技术提供了如下技术方案:一种数据更新方法,应用于大数据存储与检索系统,所述大数据存储与检索系统包括主数据库和从数据库,所述主数据库通过向从数据推送数据更新日志实现主数据库和从数据库之间的数据同步更新,所述大数据存储与检索系统中还部署有数据更新服务设备和提供了用户检索接口的索引服务设备;该方法包括:数据更新服务设备从主数据库获取数据更新日志,基于获取的数据更新日志获取更新数据;数据更新服务设备将更新数据同步到索引服务设备,以使索引服务设备根据从数据更新服务设备同步来的更新数据维护索引,并在用户检索接口接收到检索请求时基于维护的索引进行数据检索。一种数据更新装置,应用于大数据存储与检索系统,所述大数据存储与检索系统包括主数据库和从数据库,所述主数据库通过向从数据推送数据更新日志实现主数据库和从数据库之间的数据同步更新,所述大数据存储与检索系统中还部署有数据更新服务设备和提供了用户检索接口的索引服务设备,该装置为所述数据更新服务设备,包括:获取单元、同步单元;所述获取单元,用于从主数据库获取数据更新日志,基于获取的数据更新日志获取更新数据;所述同步单元,用于将获取单元从数据更新日志中获取的更新数据同步到索引服务设备,以使索引服务设备根据从该装置同步来的更新数据维护索引,并在用户检索接口接收到检索请求时基于维护的索引进行数据检索。一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通过总线相连的存储器;所述存储器存储有可被所述至少一个处理器执行的计算机指令;所述至少一个处理器执行所述指令时实现上述的方法步骤。由上面的技术方案可知,本专利技术中,通过在大数据存储与检索系统中部署数据更新服务设备和索引服务设备,新部署的数据更新服务设备通过获取大数据存储系统原有的主数据库推送的日志,并从中解析出更新数据,从而把更新数据同步到索引服务设备中,使得索引服务设备根据同步来的更新数据进行索引维护,并基于维护的索引向用户提供检索服务。由于索引服务设备是基于维护的索引对用户提供检索服务,与现有技术中利用关系查询语句在数据库中进行检索相比,其查询速度得到了显著提升。附图说明图1是本专利技术实施例提供的大数据存储与检索系统的架构示意图;图2是本专利技术实施例数据更新方法的流程图;图3是本专利技术实施例数据更新装置的结构示意图;图4是本专利技术实施例电子设备的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本专利技术的技术方案进行详细说明。在电商网站中使用的传统的大数据存储与检索系统中,仅包括主数据库和从数据库(主数据库和从数据库为关系数据库,例如mysql数据库),其中的主数据库通过向从数据库推送数据更新日志,使得从数据库通过数据更新日志实现数据同步。在这种大数据存储与检索系统中,用户只能使用关系查询语句扫描数据库进行数据检索,当数据库中存储的数据量过大时,检索速度会非常慢。本专利技术中,为了提高上述传统大数据存储与检索系统的检索速度,在大数据存储与检索系统中部署新的设备,以下结合图1进行说明。参见图1,图1是本专利技术实施例提供的大数据存储与检索系统的架构示意图,如图1所示,在该系统中,包括主数据库(简称主库)、从数据库(简称从库),此外,还部署有数据更新服务设备,索引服务设备和聚合库。在图1所示系统中,数据更新服务设备用于获取主数据库的更新数据,并同步至索引服务设备和聚合库;索引服务设备用于对从数据更新服务设备同步来的更新数据进行索引维护,并提供了用户检索接口供用户进行数据检索;聚合库用于存储从数据更新服务设备同步来的更新数据,作为索引服务设备中数据的备份,目的是防止索引服务设备中的数据丢失。在现有技术中,主数据库通过向从数据库推送binlog(二进制日志)实现主数据库与从数据库之间的更新数据同步,具体过程如下:步骤A、主数据库将改变记录到二进制日志(binarylog)中(这些记录叫做二进制日志事件,binarylogevents,可以通过showbinlogevents进行查看);步骤B、从数据库将主数据库的binarylogevents拷贝到它的中继日志(relaylog);步骤C、从数据库重做中继日志中的二进制日志事件,将改变反映它自己的数据,从而实现从数据库中数据的更新。本专利技术中,为了提供大数据存储与检索系统的检索速度,用户不再直接对主、从数据库进行数据查询,而是通过索引服务设备提供的用户检索接口进行数据查询。为此,需要将主、从数据库中的数据变化同步至索引服务设备,此同步操作由数据更新服务设备完成。数据更新服务设备借鉴现有技术中从数据库从主数据库获取二进制日志实现从数据库中数据更新的思想,通过获取主数据库推送的二进制日志,并解析二进制日志获取更新数据,从而将更新数据同步至索引服务设备和聚合库,从而实现主数据库到索引服务设备和聚合库的更新数据同步。索引服务设备接收数据更新服务设备同步来的更新数据,根据更新数据进行索引维护,具体包括:索引中已存储有更新数据对应的更新前的数据,则用更新数据覆盖更新前的数据,索引中不存在更新数据对应的更新前的数据(也即更新数据是主数据库中新增的一条数据,同步至索引服务设备后,在索引服务设备中查不到该条数据对应的更新前的数据),则对该更新数据建立索引,其中建立索引的方法采用现有技术即可,例如,对该条数据的部分或全部字段建立倒排索引,现在有开源的实现方法,如elasticsearch集群作为索引服务。这样用户就可以通过索引服务设备提供的用户检索接口提交检索关键词,则索引服务设备会通过查找索引对应的数据并反馈给用户。聚合库接收数据更新服务设备同步来的更新数据,存储到数据库表中,作为索引服务设备中数据的备份。如果索引服务设备的数据丢失,则在用户检索数据时,索引服务设备会存在检索失败(包括检索不到结果或检索时间过长)的情况,此时,索引服务设备可以继续到聚合库中进行数据检索,从而实现降级检索,从而可以避免因索引服务设备中数据丢失或损坏而导致的检索失败的情况。在实际应用中,考虑到用户一般只检索的最近一段时间内的数据,因此,聚合库中可以只保存最近一段时间内的数据。可以看出,本专利技术中,用户是通过索引服务设备提供用户检索接口对进行数据查询,取代了现有技术中利用关系查询语句在主、从数据库中的数据查询。参见图2,图2是本专利技术实施例数据更新方法的流程图,该方法应用于大数据存储与检索系统,所述大数据存储与检索系统包括主数据库和从数本文档来自技高网...
一种数据更新方法、装置及电子设备

【技术保护点】
一种数据更新方法,应用于大数据存储与检索系统,所述大数据存储与检索系统包括主数据库和从数据库,所述主数据库通过向从数据推送数据更新日志实现主数据库和从数据库之间的数据同步更新,其特征在于,所述大数据存储与检索系统中还部署有数据更新服务设备和提供了用户检索接口的索引服务设备;该方法包括:数据更新服务设备从主数据库获取数据更新日志,基于获取的数据更新日志获取更新数据;数据更新服务设备将更新数据同步到索引服务设备,以使索引服务设备根据从数据更新服务设备同步来的更新数据维护索引,并在用户检索接口接收到检索请求时基于维护的索引进行数据检索。

【技术特征摘要】
1.一种数据更新方法,应用于大数据存储与检索系统,所述大数据存储与检索系统包括主数据库和从数据库,所述主数据库通过向从数据推送数据更新日志实现主数据库和从数据库之间的数据同步更新,其特征在于,所述大数据存储与检索系统中还部署有数据更新服务设备和提供了用户检索接口的索引服务设备;该方法包括:数据更新服务设备从主数据库获取数据更新日志,基于获取的数据更新日志获取更新数据;数据更新服务设备将更新数据同步到索引服务设备,以使索引服务设备根据从数据更新服务设备同步来的更新数据维护索引,并在用户检索接口接收到检索请求时基于维护的索引进行数据检索。2.根据权利要求1所述的方法,其特征在于,所述大数据存储与检索系统中还部署有聚合库,所述聚合库与数据更新服务设备和索引服务设备均相连;数据更新服务设备将更新数据同步到索引服务设备时,进一步将更新数据同步到聚合库,使得聚合库作为索引服务设备中数据的备份,在索引服务设备检索数据失败时,继续基于聚合库中存储的备份数据进行数据检索。3.根据权利要求1所述的方法,其特征在于,数据更新服务设备从主数据库获取数据更新日志的方法为:模拟从数据库向主数据库发送日志推送请求,接收主数据库推送的日志,从主数据库推送的日志中提取与读/写操作相关的日志作为数据更新日志;或者,截获主数据库向从数据库推送的日志,从主数据库推送的日志中提取与读/写操作相关的日志作为数据更新日志。4.根据权利要求3所述的方法,其特征在于,数据更新服务设备基于获取的数据更新日志获取更新数据的方法为:解析数据更新日志中的读/写操作,确定读/写操作的目标数据库表和目标主键,并提取目标数据库表中目标主键对应的更新数据。5.根据权利要求3或4所述的方法,其特征在于,所述主数据库、从数据库为mysql数据库;所述日志推送请求为dump请求;数据更新服务设备将更新数据同步到索引服务设备和聚合库的方法为:将更新数据携带在MQ消息中发送到索引服务设备和聚合库。6.一种数据更新装置,应用于大数据存储与检索系统,所述大数据存储与检索系统包括主数据库和从数据库,所述主数据库通过向从数据推送数据更新日志实现主...

【专利技术属性】
技术研发人员:朱德伟
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1