CN110609844B - 一种数据更新方法,装置及*** - Google Patents

一种数据更新方法,装置及*** Download PDF

Info

Publication number
CN110609844B
CN110609844B CN201810530269.9A CN201810530269A CN110609844B CN 110609844 B CN110609844 B CN 110609844B CN 201810530269 A CN201810530269 A CN 201810530269A CN 110609844 B CN110609844 B CN 110609844B
Authority
CN
China
Prior art keywords
data
updated
document
updating
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810530269.9A
Other languages
English (en)
Other versions
CN110609844A (zh
Inventor
李军浩
赵帅
王亮
巩仔明
邱慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Youquan Information Technology Co ltd
Original Assignee
Youxinpai Beijing Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Youxinpai Beijing Information Technology Co ltd filed Critical Youxinpai Beijing Information Technology Co ltd
Priority to CN201810530269.9A priority Critical patent/CN110609844B/zh
Publication of CN110609844A publication Critical patent/CN110609844A/zh
Application granted granted Critical
Publication of CN110609844B publication Critical patent/CN110609844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例示出一种数据更新方法,装置及***,本申请实施例示出的方法,该方案通过监听binlog日志,所述binlog日志包括历史数据,以及实时数据,当实时数据与历史数据存在差异时,生成更新项,确定更新项对应的目标索引,通过目标索引,确定全部更新文档的更新文档ID,将更新文档ID封装成消息发送到消息队列,发送至Java端,Java端收到消息,解析消息,根据更新文档ID,从查询数据库中搜索出最新的数据,将最新数据更新elasticsearch对应的索引和文档本申请实施例示出的技术方案该方案通过监听binlog日志,当数据库进行更新操作时会主动通知程序监听机制,根据变化的列判断哪些索引受到影响,进而判断是否需要更新索引中的文档。

Description

一种数据更新方法,装置及***
技术领域
本发明涉及计算机技术领域,特别涉及一种数据更新方法,装置及***。
背景技术
如今,汽车已经走进了千家万户,与汽车相关的行业也得到了蓬勃的发展。对于一些汽车行业,需要管理、处理庞大且复杂的车辆信息。例如,车辆信息管理平台,实时的向用户展示,车辆的最新数据,以保证用户获取到准确的车辆信息,但是一些车辆数据,处于实时更新的状态,例如:车辆的维保记录数据随着用户对车辆的使用,维保记录处于实时更新状态,这就使得车辆信息管理平台实时的对数据进行更新处理,才能保证,平台示出的出具的数据是准确的数据。
现有技术示出的车辆信息管理平台,在车辆信息管理平台内置Elasticsearch搜索引擎,通过Elasticsearch搜索引擎,完成车辆数据的更新;具体的,预先将车辆数据存储在查询数据库中,然后通过预定的时间间隔,轮询查询数据库来更新elasticsearch搜索引擎。
现有技术示出的车辆信息管理平台,虽然能实现增量更新,但是定时的时间间隔不好把控,太长的话elasticsearch搜索引擎的实时性很差。间隔太短的时候,如果数据库内没有数据变化,则导致无用的轮询,占用应用平台服务器的资源,影响***的带宽及资源的利用率。
发明内容
本发明的发明目的在于提供一种数据更新方法,装置及***,以解现有技术示出的车辆信息管理平台存在的技术问题。
本申请实施例第一方面示出一种数据更新方法,所述方法包括:
确定更新项,所述更新项包括:更新列名,以及,更新数据,更新列名为更新数据对应的列名;
根据所述更新列名,以及,更新数据,确定目标索引;
基于所述目标索引,遍历查询数据库,搜索更新文档ID;
发送所述更新文档ID,至Java端,Java端基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据。
可选择的,所述确定更新项的步骤包括:
获取监测数据,所述监测数据包括:历史数据,以及,实时数据;
将所述历史数据与所述实时数据输入gorouine进行比对,确定更新项。
可选择的,所述将所述历史数据与所述实时数据输入gorouine进行比对,确定更新项的步骤包括:
将所述历史数据与所述实时数据输入gorouine进行比对,根据比对结果,确定待更新项;
判断所述待更新项是否触发Elasticsearch的更新操作;
如果触发,确定所述待更新项为更新项;
如果不触发,删除待更新项。
可选择的,所述基于目标索引,遍历查询数据库,搜索更新文档ID的步骤包括:
根据所述查询数据库中数据业务逻辑,确定所述目标索引的子目标索引;
根据目标索引,确定目标索引,根据子目标索引确定子目标节点文档;
根据所述目标节点文档,以及,所述子目标节点文档,生成更新文档ID。
可选择的,所述基于目标索引,遍历查询数据库,搜索更新文档ID的步骤包括:
根据所述目标索引,确定局部文档ID;
确定包含局部文档ID的文档ID为更新文档ID。
本申请实施例第二方面示出一种数据更新装置,所述装置包括:
更新项确定单元,没用于确定更新项,所述更新项包括:更新列名,以及,更新数据,更新列名为更新数据对应的列名;
索引确定单元,用于根据所述更新列名,以及,更新数据,确定目标索引;
搜索单元,用于基于所述目标索引,遍历查询数据库,搜索更新文档ID;
更新单元,用于发送所述更新文档ID,至Java端,Java端基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据。
可选择的,所述更新项确定单元包括:
获取单元,用于获取监测数据,所述监测数据包括:历史数据,以及,实时数据;
第一更新项确定单元,用于将所述历史数据与所述实时数据输入gorouine进行比对,确定更新项。
可选择的,所述第一更新项确定单元包括:
比对单元,用于将所述历史数据与所述实时数据输入gorouine进行比对,根据比对结果,确定待更新项;
判断单元,用于判断所述待更新项是否触发Elasticsearch的更新操作;
第二更新项确定单元,用于如果触发,确定所述待更新项为更新项;
删除单元,用于如果不触发,删除待更新项。
可选择的,所述搜索单元包括:
子目标索引确定单元,用于根据所述查询数据库中数据业务逻辑,确定所述目标索引的子目标索引;
目标文档确定单元,用于根据目标索引,确定目标索引,根据子目标索引确定子目标节点文档;
更新文档ID生成单元,用于根据所述目标节点文档,以及,所述子目标节点文档,生成更新文档ID。
可选择的,所述搜索单元包括:
局部文档ID确定单元,用于根据所述目标索引,确定局部文档ID;
更新文档ID确定单元,用于确定包含局部文档ID的文档ID为更新文档ID。
本申请实施例第三方面示出一种数据更新***,所述***包括:应用平台服务器,与所述应用平台服务器相连接的查询数据库,所述查询数据库设置在所述应用平台服务器的内部或独立设置,所述应用平台服务器通过互联网与Java端相连接;
所述Java端,用于基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据。
所述应用平台服务器,用于实现本申请实施例示出的方法;
所述查询数据库,用于相关数据的存储。
本申请实施例第四方面示出一种服务器,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例实处的方法。
由以上技术方案可知,本申请实施例示出一种数据更新方法,装置及***,本申请实施例示出的方法,该方案通过监听binlog日志,所述binlog日志包括历史数据,以及实时数据,当实时数据与历史数据存在差异时,生成更新项,确定更新项对应的目标索引,通过目标索引,确定全部更新文档的更新文档ID,将更新文档ID封装成消息发送到消息队列,发送至Java端,Java端收到消息,解析消息,根据更新文档ID,从查询数据库中搜索出最新的数据,将最新数据更新elasticsearch对应的索引和文档本申请实施例示出的技术方案该方案通过监听binlog日志,当数据库进行更新操作时会主动通知程序监听机制,根据变化的列判断哪些索引受到影响,进而判断是否需要更新索引中的文档,需要则更新对应的文档,有效地避免了现有技术示出的定时预定的时间间隔,轮询查询数据库来更新elasticsearch搜索引擎过程中,时间间隔不好把控,无法保证数据实时性的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据一优选实施例示出的一种数据更新***的结构框图;
图2为根据一优选实施例示出的一种数据更新方法的流程图;
图3为根据一优选实施例示出的步骤S101的详细流程图;
图4为根据一优选实施例示出的步骤S1012的详细流程图;
图5为根据一优选实施例示出的步骤S103的详细流程图;
图6为根据又一优选实施例示出的步骤S103的详细流程图;
图7为根据一优选实施例示出的一种数据更新装置的结构框图;
图8为根据一优选实施例示出的更新项确定单元的结构框图;
图9为根据一优选实施例示出的第一更新项确定单元的结构框图;
图10为根据一优选实施例示出的搜索单元的结构框图;
图11为根据又一优选施例示出的搜索单元的结构框图;
图12为根据一优选实施例示出的一种服务器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例中:
MQ:全称MessageQueue,中文名称消息队列,是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。
ElasticSearch:是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
MySqlBinlog:MYSQL数据库二进制日志,也称为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中。
实施例1:
本申请实施例第一方面示出一种数据更新***,请参阅图1,所述***包括:应用平台服务器31,与所述应用平台服务器31相连接的查询数据库32,所述查询数据库32设置在所述应用平台服务器31的内部或独立设置,所述应用平台服务器31通过互联网与Java端33相连接;
所述Java端33,用于基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据。
值得注意的是,应用平台服务器31将更新文档ID,封装成消息发送到消息队列;
所述Java端33,用将监听消息队列;解析消息队列,根据更新文档ID,从查询数据中查询出最新的数据,将最新数据更新elasticsearch对应的索引和文档。
所述应用平台服务器31,用于实现本申请实施例示出的方法;
用于,接收到row模式的binlog,row模式的binlog日志包括历史数据,以及,实时数据,当实时数据与历史数据存在差异时,根据这两份数据很方便的就能找到生成更新项,所述更新项包括:更新列名,以及,更新数据,更新列名为更新数据对应的列名;
如果更新列名不影响索引,直接放弃该条日志;
历史数据,以及,实时数据比对的过程中,将数据比对放到gorouine里面进行比对,增加比对效率。
通过更新列名搜寻出变更的目标索引(映射关系通过预先配置)。
根据目标索引遍历查询数据库(sql预先配置,sql根据业务逻辑配置)找出要更新/删除的更新文档ID,将更新/删除的更新文档ID封装成消息发送到消息队列。
所述查询数据库32,用于相关数据的存储。
本申请实施例示出的***,应用平台服务器通过监听binlog日志,所述binlog日志包括历史数据,以及实时数据,当实时数据与历史数据存在差异时,生成更新项,确定更新项对应的目标索引,通过目标索引,确定全部更新文档的更新文档ID,将更新文档ID封装成消息发送到消息队列,发送至Java端,Java端收到消息,解析消息,根据更新文档ID,从查询数据库中搜索出最新的数据,将最新数据更新elasticsearch对应的索引和文档本申请实施例示出的技术方案该方案通过监听binlog日志,当数据库进行更新操作时会主动通知程序监听机制,根据变化的列判断哪些索引受到影响,进而判断是否需要更新索引中的文档,需要则更新对应的文档,有效地避免了现有技术示出的定时预定的时间间隔,轮询查询数据库来更新elasticsearch搜索引擎过程中,时间间隔不好把控,无法保证数据实时性的技术问题。有效地避免了频繁的遍历查询数据库,占用应用平台服务器的资源,影响***的带宽及资源的利用率。同时保证,每次java端访问查询数据库都是有效的遍历,提高了资源的利用率,保证elasticsearch对应的索引和文档本的实时性。
实施例2:
本申请实施例第二方面示出一种数据更新方法,请参阅图2,所述方法包括:
S101确定更新项,所述更新项包括:更新列名,以及,更新数据,更新列名为更新数据对应的列名;
所述更新项为历史数据,与实时数据不一致的数据;
举例说明:
历史数据:
VIN码 颜色 车龄
123 红色 1年
124 红色 2年
125 红色 3年
实时数据:
Figure BDA0001677022650000091
Figure BDA0001677022650000101
可见,对于VIN码123的车辆,实时数据与历史数据发生差异,此时定义更新项为:更新列名:车龄,更新数据:4年。
S102根据所述更新列名,以及,更新数据,确定目标索引;
值得注意的是,本申请实施例示出的方案,对每一个文档均设置一个索引,以及,起到唯一标识作用的文档ID。
例如:VIN码123,颜色红色,车龄为4年对应的文档的索引为索引1;
VIN码124,颜色红色,车龄为2年对应的文档的索引为索引2;
VIN码125,颜色红色,车龄为3年对应的文档的索引为索引3;
其中,索引1为目标索引。
S103基于所述目标索引,遍历查询数据库,搜索更新文档ID;值得注意的是,本身申请实施例示出的方法,查询数据库中的数据以json结构存储;数据之间存在“父子”之间的联系,若一个数据发生改变,与之相关联的数据,以及数据的子数据均可能发生变化,因此本申请实施例示出的方法,通过目标索引,确定与所述目标索引相关联的所有数据的更新文档ID。
举例说明:
Figure BDA0001677022650000102
Figure BDA0001677022650000111
当车龄改变,对应更新文档ID,包括文档1的ID,文档2的ID,文档3的ID。
在实际应用中,可以根据目标索引对应文档与其余文档的关联,搜索出更新文档ID,或根据文档之间的“父子”关系,搜索出更新文档ID,在实际应用中,凡是可以根据一个索引,确定所有与该索引相关联的文档的方式均在本申请实施例示出的方法的保护范围内,再次由于篇幅有限,便不一一记载。
申请实施例示出的方法,该方案通过监听binlog日志,所述binlog日志包括历史数据,以及实时数据,当实时数据与历史数据存在差异时,生成更新项,确定更新项对应的目标索引,通过目标索引,确定全部更新文档的更新文档ID,将更新文档ID封装成消息发送到消息队列,发送至Java端,Java端收到消息,解析消息,根据更新文档ID,从查询数据库中搜索出最新的数据,将最新数据更新elasticsearch对应的索引和文档本申请实施例示出的技术方案该方案通过监听binlog日志,当数据库进行更新操作时会主动通知程序监听机制,根据变化的列判断哪些索引受到影响,进而判断是否需要更新索引中的文档,需要则更新对应的文档,有效地避免了现有技术示出的定时预定的时间间隔,轮询查询数据库来更新elasticsearch搜索引擎过程中,时间间隔不好把控,无法保证数据实时性的技术问题。
S104发送所述更新文档ID,至Java端,Java端基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据。
实施例3:
请参阅图3;
为了进一步,缩短更新项获取的速率,保证本申请实施例示出的方法的实时性,本申请实施例示出一种历史数据与实时数据的比对方法,具体的,请参阅图3;
实施例3与实施例2示出的技术方案具有相似的步骤,唯一的区别在于,实施例2示出的技术方案中步骤S101包括以下步骤:
可选择的,所述确定更新项的步骤包括:
S1011获取监测数据,所述监测数据包括:历史数据,以及,实时数据;
获取监测数据包括,应用平台数据库主动获取,和查询数据库主动推送;
当更新时候,包含偶数行:如2行,那么0行为更新前数据,1行为更新后的最新数据,当***的时候只有最新数据,无老数据,更新时需比对,***时无需比对。
本申请实施例示出的检测数据为row模式的binlog日志。
所述row模式的binlog日志通常是每个列对应一个值,有的值对应一篇或多篇文档。
S1012将所述历史数据与所述实时数据输入gorouine进行比对,确定更新项。
gorouine可以把它看做一个局部的调度器,多个gorouine同时等待着对历史数据与所述实时数据进行比较,历史数据1与所述实时数据1进行通过gorouine-1比较;当历史数据2与所述实时数据2,需要比较时,可直接利用gorouine-2比较,以此类推,在比对的过程中,无需等待前一个数据比对完成,提高了数据处理的效率,缩短更新项获取的速率,保证本申请实施例示出的Elasticsearch搜索引擎数据的实时性。
实施例4:
为了降低应用平台服务的数据处理量,本申请实施例示出一种更新项的过滤方法,具体的,请参阅图4;
实施例4与实施例3示出的方案具有相似的步骤,唯一的区别在于,实施例3示出的技术方案步骤S1012包括以下步骤:
S10121将所述历史数据与所述实时数据输入gorouine进行比对,根据比对结果,确定待更新项;
并不是所有的待更新项均会对Elasticsearch搜索引擎对应的索引,以及,数据产生影响,
但是这些更新项对应的实时数据,以及,历史数据,在数据获取的过程中,同时被获取。
在对待更新项继续向下处理的过程前,本申请实施例示出方法,预先对待更新项进行判断,判断所述待更新项,否触发Elasticsearch的更新操作;
S10122判断所述待更新项是否触发Elasticsearch的更新操作;
具体的,判断方法如下:
Elasticsearch搜索引擎,包括Elasticsearch索引,以及,文档;这些索引和/文档为否触发Elasticsearch的更新操作的更新项。
本申请实施例示出的方法,首先确定待更新项对应的待更新索引,然后,确定待更新索引的相关联的索引,以及,子索引,判断所述待更新索引的相关联的索引,以及,子索引是否为Elasticsearch索引,如果是Elasticsearch索引,则认为待更新项触发Elasticsearch的更新操作。
S10123如果触发,确定所述待更新项为更新项;
如果待更新索引的相关联的索引,以及,子索引不是Elasticsearch索引,则认为待更新项不触发Elasticsearch的更新操作。
S10124如果不触发,删除待更新项。
所述删除包括:忽略,执行逻辑直接结束,不进行后续步骤。
可见本申请实施例示出的技术方,预先过滤掉一些无用的待更新项,直接将这些无用的待更新项删除,降低了应用平台的数据的处理量,提高了***的带宽以及资源的利用率,保证本申请实施例示出的Elasticsearch搜索引擎数据的实时性。
实施例5:
为了保证本申请实施例示出的方法Elasticsearch搜索引擎数据的实时性,本申请实施例示出一种更新文档ID的生成方法,具体的,请参阅图5;
实施例2-实施例4任一实施例示出的方案中步骤S103包括以下的步骤:
S10311根据所述查询数据库中数据业务逻辑,确定所述目标索引的子目标索引;
所述查询数据库中的数据以语句的形式存在。
本身申请实施例示出的方法,查询数据库中的数据以json结构存储;数据之间存在“父子”之间的联系,若一个数据发生改变,与之相关联的数据,以及数据的子数据均可能发生变化,因此本申请实施例示出的方法,通过目标索引,确定与所述目标索引相关联的所有数据的更新文档ID。
例如:目标索引奥迪对应的文档为:文档1,文档2,文档3,以及,文档4;
红色,奥迪对应的文档为文档1-1以及文档2-1;文档1-1可以为与文档1相同的文档,也可以为在文档1的基础上增加一些内容的文档;文档2-1可以为与文档2相同的文档,也可以为在文档2的基础上增加一些内容的文档;
此时,根据查询数据库中数据业务逻辑,发现索引“红色奥迪”是目标索引“奥迪”的子目标索引。
S10312根据目标索引,确定目标索引,根据子目标索引确定子目标节点文档;
那么,文档1,文档2,文档3,以及,文档4即为目标文档;
相应的文档1-1,文档2-1,为子目标文档。
S10313根据所述目标节点文档,以及,所述子目标节点文档,生成更新文档ID。
可见本申请实施例示出的技术方案,通过查询数据库中数据业务逻辑,确定发生更新的文档,以及,发生更新文档对应的子文档,进而确定全部发生变更文档,然后确定全部发生变更文档的ID,本申请实施例示出的方法,保证一次遍历查询数据库,将搜索出全部发生变更文档的ID,避免多次遍历查询数据库,缩短了遍历时间,进一步,保证本申请实施例示出的Elasticsearch搜索引擎数据的实时性。
实施例6:
为了保证本申请实施例示出的方法Elasticsearch搜索引擎数据的实时性,本申请实施例示出一种更新文档ID的生成方法,具体的,请参阅图6;
实施例2-实施例4任一实施例示出的方案中步骤S103包括以下的步骤:
S10321根据所述目标索引,确定局部文档ID;
在索引的构建过程中,索引与文档的ID存在一些对应的关系:
例如对应一个索引:红色,奥迪。其中,红色对应的ID为235,奥迪对应的ID为456;
红色,奥迪对应的局部ID为:......235……456…;或.....456……235…;
S10322确定包含局部文档ID的文档ID为更新文档ID。
本申请实施例示出的方法,根据局部文档ID确定出全部更新文档ID,将搜索出全部发生变更文档的ID,避免多次遍历查询数据库,缩短了遍历时间,进一步,保证本申请实施例示出的Elasticsearch搜索引擎数据的实时性。
实施例7:
请参阅图7,本申请实施例第三方面示出一种数据更新装置,所述装置包括:
更新项确定单元21,没用于确定更新项,所述更新项包括:更新列名,以及,更新数据,更新列名为更新数据对应的列名;
索引确定单元22,用于根据所述更新列名,以及,更新数据,确定目标索引;
搜索单元23,用于基于所述目标索引,遍历查询数据库,搜索更新文档ID;
更新单元24,用于发送所述更新文档ID,至Java端,Java端基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据。
实施例8:
请参阅图8,实施例7示出的技术方案中所述更新项确定单元21包括:
获取单元211,用于获取监测数据,所述监测数据包括:历史数据,以及,实时数据;
第一更新项确定单元212,用于将所述历史数据与所述实时数据输入gorouine进行比对,确定更新项。
实施例9:
请参阅图9,实施例8示出的技术方案中,所述第一更新项确定单元212包括:
比对单元2121,用于将所述历史数据与所述实时数据输入gorouine进行比对,根据比对结果,确定待更新项;
判断单元2122,用于判断所述待更新项是否触发Elasticsearch的更新操作;
第二更新项确定单元2123,用于如果触发,确定所述待更新项为更新项;
删除单元2124,用于如果不触发,删除待更新项。
实施例10:
请参阅图10,
实施例7-9示出的技术方案中,所述搜索单元23包括:
子目标索引确定单元2311,用于根据所述查询数据库中数据业务逻辑,确定所述目标索引的子目标索引;
目标文档确定单元2312,用于根据目标索引,确定目标索引,根据子目标索引确定子目标节点文档;
更新文档ID生成单元2313,用于根据所述目标节点文档,以及,所述子目标节点文档,生成更新文档ID。
实施例11:
请参阅图11,实施例7-9示出的技术方案中,所述搜索单元23包括:
局部文档ID确定单元2321,用于根据所述目标索引,确定局部文档ID;
更新文档ID确定单元2322,用于确定包含局部文档ID的文档ID为更新文档ID。
实施例12:
本申请实施例第四方面示出一种服务器,请参阅图12包括:
一个或多个处理器41;
存储器42,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器41执行,使得所述一个或多个处理器41实现本申请实施例实处的方法。
由以上技术方案可知,本申请实施例示出一种数据更新方法,装置及***,本申请实施例示出的方法,该方案通过监听binlog日志,所述binlog日志包括历史数据,以及实时数据,当实时数据与历史数据存在差异时,生成更新项,确定更新项对应的目标索引,通过目标索引,确定全部更新文档的更新文档ID,将更新文档ID封装成消息发送到消息队列,发送至Java端,Java端收到消息,解析消息,根据更新文档ID,从查询数据库中搜索出最新的数据,将最新数据更新elasticsearch对应的索引和文档本申请实施例示出的技术方案该方案通过监听binlog日志,当数据库进行更新操作时会主动通知程序监听机制,根据变化的列判断哪些索引受到影响,进而判断是否需要更新索引中的文档,需要则更新对应的文档,有效地避免了现有技术示出的定时预定的时间间隔,轮询查询数据库来更新elasticsearch搜索引擎过程中,时间间隔不好把控,无法保证数据实时性的技术问题。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
以上所述仅为本发明的优选实施例而已。上述本发明的各步骤可以用不同的编程语言来实现,它们可以是编译型的C#,JAVA等,也可以是脚本语言PHP,python等。这样,本发明不限制于任何特定的编程语言或者编程语言的组合。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
值得注意的是,具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的用户身份的服务提供方法或用户注册方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random accessmemory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于用户身份的服务提供装置或用户注册装置的实施例而言,由于其基本相似于方法实施例,所以描述的比对简单,相关之处参见方法实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (7)

1.一种数据更新方法,其特征在于,所述方法包括:
确定更新项,所述更新项包括:更新列名,以及,更新数据,更新列名为更新数据对应的列名;所述确定更新项的步骤包括:获取row模式的binlog日志的监测数据,所述监测数据包括:历史数据,以及,实时数据;将所述历史数据与所述实时数据输入gorouine进行比对,确定更新项;根据所述更新列名,以及,更新数据,确定目标索引;
基于所述目标索引,遍历查询数据库,搜索更新文档ID;其步骤包括:根据所述查询数据库中数据业务逻辑,确定所述目标索引的子目标索引;根据目标索引,确定目标节点文档,根据子目标索引确定子目标节点文档;根据所述目标节点文档,以及,所述子目标节点文档,生成更新文档ID;
发送所述更新文档ID,至Java端,Java端基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述历史数据与所述实时数据输入gorouine进行比对,确定更新项的步骤包括:
将所述历史数据与所述实时数据输入gorouine进行比对,根据比对结果,确定待更新项;
判断所述待更新项是否触发Elasticsearch的更新操作;
如果触发,确定所述待更新项为更新项;
如果不触发,删除待更新项。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述基于所述目标索引,遍历查询数据库,搜索更新文档ID的步骤还包括:
根据所述目标索引,确定局部文档ID;
确定包含局部文档ID的文档ID为更新文档ID。
4.一种数据更新装置,其特征在于,所述装置包括:
更新项确定单元,用于确定更新项,所述更新项包括:更新列名,以及,更新数据,更新列名为更新数据对应的列名;所述更新项确定单元还包括:获取单元,用于获取监测数据,所述监测数据包括:历史数据,以及,实时数据;第一更新项确定单元,用于将所述历史数据与所述实时数据输入gorouine进行比对,确定更新项;
索引确定单元,用于根据所述更新列名,以及,更新数据,确定目标索引;
搜索单元,用于基于所述目标索引,遍历查询数据库,搜索更新文档ID;所述搜索单元包括:子目标索引确定单元,用于根据所述查询数据库中数据业务逻辑,确定所述目标索引的子目标索引;目标文档确定单元,用于根据目标索引,确定目标节点文档,根据子目标索引确定子目标节点文档;更新文档ID生成单元,用于根据所述目标节点文档,以及,所述子目标节点文档,生成更新文档ID;
更新单元,用于发送所述更新文档ID,至Java端,Java端基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据。
5.根据权利要求4所述的装置,其特征在于,所述第一更新项确定单元包括:
比对单元,用于将所述历史数据与所述实时数据输入gorouine进行比对,根据比对结果,确定待更新项;
判断单元,用于判断所述待更新项是否触发Elasticsearch的更新操作;
第二更新项确定单元,用于如果触发,确定所述待更新项为更新项;
删除单元,用于如果不触发,删除待更新项。
6.根据权利要求4-5任一项所述的装置,其特征在于,所述搜索单元还包括:
局部文档ID确定单元,用于根据所述目标索引,确定局部文档ID;
更新文档ID确定单元,用于确定包含局部文档ID的文档ID为更新文档ID。
7.一种数据更新***,其特征在于,所述***包括:应用平台服务器,与所述应用平台服务器相连接的查询数据库,所述查询数据库设置在所述应用平台服务器的内部或独立设置,所述应用平台服务器通过互联网与Java端相连接;
所述Java端,用于基于更新文档ID,搜索出更新数据,用更新数据更新Elasticsearch搜索引擎对应的索引,以及,数据;
所述应用平台服务器,用于实现如权利要求1-3任一项所述的方法;
所述查询数据库,用于相关数据的存储。
CN201810530269.9A 2018-05-29 2018-05-29 一种数据更新方法,装置及*** Active CN110609844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810530269.9A CN110609844B (zh) 2018-05-29 2018-05-29 一种数据更新方法,装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810530269.9A CN110609844B (zh) 2018-05-29 2018-05-29 一种数据更新方法,装置及***

Publications (2)

Publication Number Publication Date
CN110609844A CN110609844A (zh) 2019-12-24
CN110609844B true CN110609844B (zh) 2022-05-13

Family

ID=68887469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810530269.9A Active CN110609844B (zh) 2018-05-29 2018-05-29 一种数据更新方法,装置及***

Country Status (1)

Country Link
CN (1) CN110609844B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241121A (zh) * 2019-12-30 2020-06-05 航天信息(山东)科技有限公司 一种基于elasticsearch父子关系的海量***数据查询方法及***
CN111143583A (zh) * 2019-12-31 2020-05-12 五八有限公司 一种媒体数据库数据变化监听方法以及监听装置
CN111367692B (zh) * 2020-03-09 2023-08-22 政采云有限公司 一种搜索引擎数据处理方法、装置、电子设备及介质
CN111522918A (zh) * 2020-04-24 2020-08-11 天津易维数科信息科技有限公司 数据汇聚方法、装置、电子设备及计算机可读存储介质
CN112052247B (zh) * 2020-09-29 2024-05-07 微医云(杭州)控股有限公司 搜索引擎的索引更新***、方法、装置、电子设备、存储介质
CN112380416A (zh) * 2020-11-25 2021-02-19 北京慕华信息科技有限公司 一种更新课程索引的方法、课程搜索方法和装置
CN112818059B (zh) * 2021-01-27 2024-05-17 百果园技术(新加坡)有限公司 一种基于容器发布平台的信息实时同步方法及装置
CN112905707A (zh) * 2021-03-31 2021-06-04 浙江太美医疗科技股份有限公司 关系数据库与搜索引擎的同步方法、装置和计算机存储介质
CN113434509B (zh) * 2021-07-02 2023-07-18 挂号网(杭州)科技有限公司 一种增量索引的更新方法、装置、存储介质及电子设备
CN113553488A (zh) * 2021-07-15 2021-10-26 挂号网(杭州)科技有限公司 搜索引擎中索引数据的更新方法、装置、电子设备及介质
CN114372064B (zh) * 2022-03-22 2022-07-12 飞狐信息技术(天津)有限公司 数据处理装置、方法、计算机可读介质及处理器
CN115495634B (zh) * 2022-11-17 2023-04-07 北京滴普科技有限公司 一种基于Elasticsearch插件的变化数据捕获方法及***
CN116303628B (zh) * 2023-05-25 2023-09-22 南京中孚信息技术有限公司 基于Elasticsearch的告警数据查询方法、***及设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136027A (zh) * 2006-09-01 2008-03-05 横河电机株式会社 用于数据库索引、搜索和数据检索的***和方法
CN101853288A (zh) * 2010-05-19 2010-10-06 马晓普 基于文档实时监控可配置的全文检索服务***
CN102169507A (zh) * 2011-05-26 2011-08-31 厦门雅迅网络股份有限公司 一种分布式实时搜索引擎
CN102262640A (zh) * 2010-05-31 2011-11-30 ***通信集团贵州有限公司 一种全文检索文档数据库的方法及装置
CN102495866A (zh) * 2011-11-28 2012-06-13 上海量明科技发展有限公司 共享文档同步更新的方法和***
CN103914486A (zh) * 2013-01-08 2014-07-09 邓寅生 文档的搜索及展现的***
CN104750739A (zh) * 2013-12-27 2015-07-01 珠海金山办公软件有限公司 一种用于实现用户组之间共享文档的方法及装置
CN105843867A (zh) * 2016-03-17 2016-08-10 畅捷通信息技术股份有限公司 基于元数据模型的检索方法和基于元数据模型的检索装置
CN106055622A (zh) * 2016-05-26 2016-10-26 浪潮软件集团有限公司 一种数据搜索方法及***
CN106445973A (zh) * 2015-08-12 2017-02-22 阿里巴巴集团控股有限公司 搜索引擎的监控方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136027A (zh) * 2006-09-01 2008-03-05 横河电机株式会社 用于数据库索引、搜索和数据检索的***和方法
CN101853288A (zh) * 2010-05-19 2010-10-06 马晓普 基于文档实时监控可配置的全文检索服务***
CN102262640A (zh) * 2010-05-31 2011-11-30 ***通信集团贵州有限公司 一种全文检索文档数据库的方法及装置
CN102169507A (zh) * 2011-05-26 2011-08-31 厦门雅迅网络股份有限公司 一种分布式实时搜索引擎
CN102495866A (zh) * 2011-11-28 2012-06-13 上海量明科技发展有限公司 共享文档同步更新的方法和***
CN103914486A (zh) * 2013-01-08 2014-07-09 邓寅生 文档的搜索及展现的***
CN104750739A (zh) * 2013-12-27 2015-07-01 珠海金山办公软件有限公司 一种用于实现用户组之间共享文档的方法及装置
CN106445973A (zh) * 2015-08-12 2017-02-22 阿里巴巴集团控股有限公司 搜索引擎的监控方法和装置
CN105843867A (zh) * 2016-03-17 2016-08-10 畅捷通信息技术股份有限公司 基于元数据模型的检索方法和基于元数据模型的检索装置
CN106055622A (zh) * 2016-05-26 2016-10-26 浪潮软件集团有限公司 一种数据搜索方法及***

Also Published As

Publication number Publication date
CN110609844A (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN110609844B (zh) 一种数据更新方法,装置及***
CN110427368B (zh) 数据处理方法、装置、电子设备及存储介质
US9165036B2 (en) Streaming transaction notifications
CN110609865B (zh) 一种信息同步方法,装置及***
CN110543512B (zh) 一种信息同步方法,装置及***
CN110502546A (zh) 一种数据处理方法及装置
WO2016070622A1 (zh) Oid配置、解析方法、客户端、节点及数据库和存储介质
US20140289268A1 (en) Systems and methods of rationing data assembly resources
CN112579898A (zh) 企业信息的管理方法、装置及服务器
CN108154024B (zh) 一种数据检索方法、装置及电子设备
CN107357557B (zh) 一种信息更新方法及装置
CN113377817A (zh) 数据处理方法、***、设备及存储介质
CN110955460B (zh) 一种服务进程启动方法、装置、电子设备和存储介质
US20180018385A1 (en) System, data combining method, integration server, data combining program, database system ,database system cooperation method, and database system cooperation program
CN106503198A (zh) 一种基于hadoop元数据的冷数据识别方法及***
US20190197108A1 (en) Method for managing semantic information on m2m/iot platform
CN115033592A (zh) 基于数据库的sql语句处理方法、装置、设备及存储介质
KR20190129474A (ko) 데이터 검색 장치 및 방법
CN111090672B (zh) 一种数据优化方法及装置
CN109725982B (zh) 数据对象构建方法及装置
US20160253423A1 (en) Data processing system including a search engine
KR102214185B1 (ko) 자원 획득 방법
CN110287406A (zh) 渠道用户推荐方法、服务器及计算机可读存储介质
CN110609945A (zh) 一种二手车业务数据的查询方法,装置及***
CN110418020B (zh) 名单状态信息处理方法、装置、电子终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231130

Address after: 230012 In the factory building of Anhui Guogou Energy Co., Ltd., 100 meters east of the intersection of Guanjing Road and Luban Road in Xinzhan District, Hefei City, Anhui Province

Patentee after: Hefei Youquan Information Technology Co.,Ltd.

Address before: 100102 room 323701, building 5, yard 1, Futong East Street, Chaoyang District, Beijing

Patentee before: YOUXINPAI (BEIJING) INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right