一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于动态切换数据源实现的数据查询方法及装置与流程

2022-11-16 17:15:54 来源:中国专利 TAG:


1.本发明涉及数据更新技术领域,具体涉及一种基于动态切换数据源实现的数据查询方法及装置。


背景技术:

2.随着企业的高速蓬勃发展,数据量指数级增长。数据更新时,耗时长;结构更新时,需要调整代码和映射,增加调整风险。从而导致服务终端和用户体验下降。在数据更新或结构更新过程中,用户使用过程存在空数据、异常数据,不完整数据等缺陷,需等待完成才能恢复正常。
3.当用户提出新的需求,需要更新准备数据,更新会涉及几十万上百万甚至更多的数据量,不可能在一瞬间更新完,此时会存在部分数据已更新和部分数据未更新的情况,这种数据状态称为中间状态(未完成更新),若此时圈选会对圈选结果造成错误影响。
4.因此研究一套能不影响用户体验,仍可无感知更新的数据更新方案。基于以上需求,参考路由思想,通过切换别名映射数据,以达到无感知切换的效果。


技术实现要素:

5.本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于动态切换数据源实现的数据查询方法及装置。通过抽象别名来屏蔽数据位置,从而映射更换达到访问数据更新的目的,使查询方无感知继续使用新数据。
6.为了达到上述目的,本发明采用以下技术方案予以实现:
7.一种基于动态切换数据源实现的数据查询方法,包括以下步骤:
8.获取目标数据并将目标数据映射至第一数据库;
9.对第一数据库中的准备数据进行计算聚合并写入第二数据库中;
10.当第二数据库写入完成后,进行切换映射;
11.将目标数据映射到第二数据库进行目标数据的圈选查询。
12.进一步地,所述当第二数据库写入完成后,进行切换映射;具体包括:第二数据库写入完成后,使用消息队列通知切换映射,将映射第一数据库切换为映射至第二数据库。
13.进一步地,所述获取目标数据并将目标数据映射至第一数据库;具体包括:通过数据别名圈选目标用户并将目标用户的准备数据映射到第一数据库中。
14.进一步地,所述通过数据别名圈选目标用户并将目标用户的准备数据映射到第一数据库中;还包括:若有新的数据需要加入圈选的准备数据中,则直接更新第一数据库。
15.进一步地,所述准备数据为通过计算和聚合得出的行为数据和业务数据。
16.进一步地,所述数据别名为别名、路由、标识、标记、代理。
17.本发明公开的一种基于动态切换数据源实现的数据查询装置,包括:
18.第一数据库,用于获取目标数据映射后的第一数据;
19.第二数据库,用于存储第一数据库中的准备数据进行计算聚合形成的第二数据;
20.切换模块,用于将目标数据映射的第一数据库转换为第二数据库;
21.查询模块,将数据别名映射到第二数据库进行目标用户的圈选查询。
22.本发明有益效果是:
23.本发明首先将圈选的目标数据映射至第一数据库中进行存储,然后对第一数据库的第一数据进行计算和聚合,并存储于第二数据库中,第二数据库中的第二数据写入完成后,通过控制切换映射转换为映射至第二数据库,此时对于目标数据实现从第二数据库的查询,由于第一数据库和第二数据库的切换为无感更新切换,因此实现了访问数据更新,实现查询方无感知并继续使用新数据。
附图说明
24.图1为本发明提出的一种基于动态切换数据源实现的数据查询方法流程图;
25.图2为本发明提出的一具体实施例结构图;
26.图3为本发明提出的一种基于动态切换数据源实现的数据查询装置结构图。
具体实施方式
27.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
28.下面结合附图及实施例描述本发明具体实施方式:
29.如图1所示,本发明公开的一种基于动态切换数据源实现的数据查询方法,包括以下步骤:
30.步骤101,获取目标数据并将目标数据映射至第一数据库;
31.步骤102,对第一数据库中的准备数据进行计算聚合并写入第二数据库中;
32.步骤103,当第二数据库写入完成后,进行切换映射;
33.步骤104,将目标数据映射到第二数据库进行目标数据的圈选查询。
34.本发明实施例中,首先将圈选的目标数据映射至第一数据库中进行存储,然后对第一数据库的第一数据进行计算和聚合,并存储于第二数据库中,第二数据库中的第二数据写入完成后,通过控制切换映射转换为映射至第二数据库,此时对于目标数据实现从第二数据库的查询,由于第一数据库和第二数据库的切换为无感更新切换,因此实现了访问数据更新,实现查询方无感知并继续使用新数据。
35.在步骤101中,获取目标数据并将目标数据映射至第一数据库;具体包括:通过数据别名圈选目标用户并将目标用户的准备数据映射到第一数据库中。
36.对于目标数据通过抽象别名来屏蔽数据位置,从而映射更换达到访问数据更新的目的。
37.其中,通过数据别名圈选目标用户并将目标用户的准备数据映射到第一数据库中;还包括:若有新的数据需要加入圈选的准备数据中,则直接更新第一数据库。当有新数
据加入圈选时,对第一数据进行直接更新,由于第一数据更新时间较长,可能需要1小时甚至更久,因此在这段时间内会出现中间状态,影响圈选结果。本发明不需要从海量数据中重新圈选目标数据,节省更新数据的时间。
38.在步骤103中,当第二数据库写入完成后,进行切换映射;具体包括:第二数据库写入完成后,使用消息队列通知切换映射,将映射第一数据库切换为映射至第二数据库。
39.其中,准备数据为通过计算和聚合得出的行为数据和业务数据。数据别名为别名、路由、标识、标记、代理。
40.参见图2,本发明实施例中,当前圈选通过查询数据别名a圈选出目标用户,此时a映射的准备数据为数据1。若有新的数据需要加入圈选的准备数据中,直接更新数据1,可能需要1小时甚至更久,这段时间内会出现中间状态,影响圈选结果。重新计算聚合全量准备数据(包括新数据在内)写入数据2。此时数据1还在正常使用,数据2未被使用。数据2准备完成后,使用消息队列通知切换映射。别名a会从映射数据1改为映射数据2,从映射数据1到映射数据2时间很短,仅为一瞬间,此时数据1变为无映射的弃用数据,别名a已经映射了数据2。(a=1改为a=2),数据1已变成弃用,查询的数据已变为新更新的数据2,最后圈选查询的是数据2,别名还是a,但是查询的数据已经更新,用户会感觉不到中间数据的存在。
41.参见图3,本发明公开的一种基于动态切换数据源实现的数据查询装置,包括:
42.第一数据库201,用于获取目标数据映射后的第一数据;
43.第二数据库202,用于存储第一数据库中的准备数据进行计算聚合形成的第二数据;
44.切换模块203,用于将目标数据映射的第一数据库转换为第二数据库;
45.查询模块204,将数据别名映射到第二数据库进行目标用户的圈选查询。
46.本发明以用户分群为例,获取用户分群的准备数据,其中准备数据为通过计算和聚合得出的行为数据和业务数据,通过自定义分群规则,在准备数据的基础上,快速圈选出满足规则的用户,并对目标用户进行决策。用户提交规则后会执行圈选计算,此时需要查询准备数据。
47.具体实施方式:对数据1进行别名标记,查询读取通过别名访问到数据1,对数据1进行计算并写入数据2,通知切换映射,此时数据别名从映射数据1改为映射数据2,查询方查询的数据别名没有变,但是数据访问已更换为数据2。
48.本发明通过抽象别名(包含但不限于别名、路由、标识、标记、代理)来屏蔽数据位置,从而映射更换达到访问数据更新的目的,使查询方无感知继续使用新数据。以此解决数据在更新、切换、重新计算等过程中出现中间状态(如:空数据、异常数据,不完整数据等),使得用户无感更新数据。
49.上面结合附图对本发明优选实施方式作了详细说明,但是本发明不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化,这些变化涉及本领域技术人员所熟知的相关技术,这些都落入本发明专利的保护范围。
50.不脱离本发明的构思和范围可以做出许多其他改变和改型。应当理解,本发明不限于特定的实施方式,本发明的范围由所附权利要求限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献