一种数据调用方法、装置、电子设备及存储介质制造方法及图纸

技术编号:29673240 阅读:13 留言:0更新日期:2021-08-13 21:54
本申请提供一种数据调用方法、装置、电子设备及存储介质,该方法将业务关联度较高的一组业务数据存储至同一微服务关联的数据库中,业务关联度较低的单个业务数据分别存储至各微服务关联的数据库中,当同一查询请求中携带多个查询任务,各查询任务所需的各业务数据的业务关联度通常较高,则此种设置可以使得查询请求所需的业务数据都在同一个数据库中,避免了从多个数据库中调用数据导致操作繁琐和效率低下的问题,当同一查询请求中仅携带一个查询任务,则可以直接从各微服务关联的数据库中取出所需的业务数据,两种场景下均不需要将所有微服务的业务数据都同步到其他数据库后再调用,因此成本较低,即本申请实现了成本和效率的兼顾。

【技术实现步骤摘要】
一种数据调用方法、装置、电子设备及存储介质
本申请涉及数据调用
,尤其涉及一种数据调用方法、装置、电子设备及存储介质。
技术介绍
一个大型或复杂的应用通常会由多个微服务组成,每个微服务仅关注和完成自身的任务,各微服务在工作时不会相互影响,使得整个应用的灵活性、可扩展性和稳定性均较高。当前在微服务架构下进行联合查询时主要有两种方案,一种是每个微服务关联一个单独的数据库,数据库中存储该微服务所需的一个业务数据,当进行联合查询时,分别调用各微服务的接口从各自的数据库中获取业务数据,再对数据处理后展示出来,另一种是先将数据库按照微服务的要求来切分成多个,每个对应一个微服务,然后实时将各微服务对应的数据库部分中的数据同步到另一个数据库中,在进行联合统计查询时从该数据库中获取所需数据并处理后进行展示。然而,第一种方案由于各数据库较为分散,而联合查询同又需要用到多个微服务,使得涉及到的操作非常繁琐,造成效率低下,第二种方案效率较高,但相应地开发成本也较高,仅适合大型高并发的企业,对中小型企业不够友好。因此,现有微服务架构下的数据调用存在无法兼顾成本和效率的技术问题,需要改进。
技术实现思路
本申请提供一种数据调用方法、装置、电子设备及存储介质,用以缓解现有微服务架构下的数据调用无法兼顾成本和效率的技术问题。为解决上述技术问题,本申请提供以下技术方案:本申请提供一种数据调用方法,包括:获取各业务数据的业务关联度;根据所述业务关联度和预设阈值,得到至少一个业务数据组和至少一个第二业务数据,所述业务数据组包括多个第一业务数据,同一业务数据组中各第一业务数据均与至少一个其他第一业务数据的业务关联度大于预设阈值,不同业务数据组的任意两个第一业务数据的业务关联度均不大于预设阈值,各第二业务数据与其他业务数据的业务关联度均不大于预设阈值;生成各业务数据组对应的第一微服务,并将各业务数据组分别存储至各第一微服务关联的数据库中,生成各第二业务数据对应的第二微服务,并将各第二业务数据分别存储至各第二微服务关联的数据库中;接收查询请求,所述查询请求携带至少一个查询任务;根据所述查询任务从所有微服务中确定目标微服务,并从所述目标微服务关联的目标数据库中调用各查询任务对应的目标业务数据。本申请还提供一种数据调用装置,包括:获取模块,用于获取各业务数据的业务关联度;得到模块,用于根据所述业务关联度和预设阈值,得到至少一个业务数据组和至少一个第二业务数据,所述业务数据组包括多个第一业务数据,同一业务数据组中各第一业务数据均与至少一个其他第一业务数据的业务关联度大于预设阈值,不同业务数据组的任意两个第一业务数据的业务关联度均不大于预设阈值,各第二业务数据与其他业务数据的业务关联度均不大于预设阈值;生成模块,用于生成各业务数据组对应的第一微服务,并将各业务数据组分别存储至各第一微服务关联的数据库中,生成各第二业务数据对应的第二微服务,并将各第二业务数据分别存储至各第二微服务关联的数据库中;接收模块,用于接收查询请求,所述查询请求携带至少一个查询任务;调用模块,用于根据所述查询任务从所有微服务中确定目标微服务,并从所述目标微服务关联的目标数据库中调用各查询任务对应的目标业务数据。本申请还提供一种电子设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行上述任一项所述的数据调用方法中的操作。本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现上述任一项所述的数据调用方法。有益效果:本申请提供一种数据调用方法、装置、电子设备及存储介质,该方法先获取各业务数据的业务关联度,并根据业务关联度和预设阈值,将各业务数据分成单独的第二业务数据和多个业务数据组,每个业务数据组中的各第一业务数据业务关联度较高,不同业务数据组中的第一业务数据的业务关联度较低,第二业务数据与其他所有业务数据的业务关联度均较低,然后生成各业务数据组对应的第一微服务,并将各业务数据组分别存储至各第一微服务关联的数据库中,且生成各第二业务数据对应的第二微服务,并将各第二业务数据分别存储至各第二微服务关联的数据库中,再接收查询请求,根据查询请求携带的查询任务从所有微服务中确定目标微服务,并从目标微服务关联的目标数据库中调用各查询任务对应的目标业务数据。本申请将业务关联度较高的一组业务数据存储至单个微服务关联的数据库中,业务关联度较低的单个业务数据分别存储至各微服务关联的数据库中,在进行查询时,当同一查询请求中携带多个查询任务,各查询任务所需的各业务数据的业务关联度通常较高,则此种设置可以尽可能使得查询请求所需的业务数据都在同一个数据库中,避免了从多个数据库中调用数据导致操作繁琐和效率低下的问题,当同一查询请求中仅携带一个查询任务,则可以直接从各微服务关联的数据库中取出所需的业务数据,两种场景下均不需要将所有微服务的业务数据都同步到其他数据库后再调用,因此成本较低,即本申请实现了成本和效率的兼顾。附图说明下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。图1为本申请的数据调用方法适用的场景示意图。图2为本申请的数据调用方法的流程示意图。图3为本申请的数据调用方法中查询请求与业务数据的调用关系示意图。图4为本申请的数据调用方法中业务数据的分类示意图。图5为合同微服务关联的数据库中业务数据的存储示意图。图6为监控微服务关联的数据库中业务数据的存储示意图。图7为本申请的数据调用装置的结构示意图。图8为本申请的电子设备的结构示意图。具体实施方式下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请提供一种数据调用方法、装置、电子设备及存储介质,用以缓解现有的数据调用方法中无法兼顾成本和准确性的技术问题。请参阅图1,图1为本申请的数据调用方法适用的场景示意图,该系统可以包括终端以及服务器,终端之间、服务器之间、以及终端与服务器之间通过各种网关组成的互联网等方式连接通信,其中,该应用场景中包括客户端11和服务器12;其中:客户端11包括但不限于具有显示功能的电脑、手机等移动终端和固定终端,客户端11用于展示查询界面;服务器12包括本地服务器和/或远程服务器等。客户端11和服务器12位于无线网络或有线网络中,以实现两者之间的数据交互,其中:服务器12先获取各业务数据的业务关联度,并根据业务关联度和预设阈值,得到至少一个业务数据组和至少一个第二业务数据,业务数据组包括多个第一业务数据,同一业务数据组中各第一本文档来自技高网...

【技术保护点】
1.一种数据调用方法,其特征在于,包括:/n获取各业务数据的业务关联度;/n根据所述业务关联度和预设阈值,得到至少一个业务数据组和至少一个第二业务数据,所述业务数据组包括多个第一业务数据,同一业务数据组中各第一业务数据均与至少一个其他第一业务数据的业务关联度大于预设阈值,不同业务数据组的任意两个第一业务数据的业务关联度均不大于预设阈值,各第二业务数据与其他业务数据的业务关联度均不大于预设阈值;/n生成各业务数据组对应的第一微服务,并将各业务数据组分别存储至各第一微服务关联的数据库中,生成各第二业务数据对应的第二微服务,并将各第二业务数据分别存储至各第二微服务关联的数据库中;/n接收查询请求,所述查询请求携带至少一个查询任务;/n根据所述查询任务从所有微服务中确定目标微服务,并从所述目标微服务关联的目标数据库中调用各查询任务对应的目标业务数据。/n

【技术特征摘要】
1.一种数据调用方法,其特征在于,包括:
获取各业务数据的业务关联度;
根据所述业务关联度和预设阈值,得到至少一个业务数据组和至少一个第二业务数据,所述业务数据组包括多个第一业务数据,同一业务数据组中各第一业务数据均与至少一个其他第一业务数据的业务关联度大于预设阈值,不同业务数据组的任意两个第一业务数据的业务关联度均不大于预设阈值,各第二业务数据与其他业务数据的业务关联度均不大于预设阈值;
生成各业务数据组对应的第一微服务,并将各业务数据组分别存储至各第一微服务关联的数据库中,生成各第二业务数据对应的第二微服务,并将各第二业务数据分别存储至各第二微服务关联的数据库中;
接收查询请求,所述查询请求携带至少一个查询任务;
根据所述查询任务从所有微服务中确定目标微服务,并从所述目标微服务关联的目标数据库中调用各查询任务对应的目标业务数据。


2.如权利要求1所述的数据调用方法,其特征在于,获取各业务数据的业务关联度的步骤,包括:
获取第一历史调用信息,所述第一历史调用信息包括第一预设历史时间段内历史查询请求的总数量、以及各历史查询请求与业务数据的调用关系;
根据所述调用关系,确定任意两个业务数据同时被调用的次数;
根据所述总数量和任意两个业务数据同时被调用的次数,确定各业务数据的业务关联度。


3.如权利要求1所述的数据调用方法,其特征在于,获取各业务数据的业务关联度的步骤,包括:
获取多个关键业务数据,各关键业务数据的业务类型不同;
获取第二历史调用信息,所述第二历史调用信息包括第二预设历史时间段内各关键业务数据的第一历史调用次数、以及其他业务数据与各关键业务数据同时被调用的第二历史调用次数;
根据所述第一历史调用次数和所述第二历史调用次数,确定各业务数据的业务关联度。


4.如权利要求1所述的数据调用方法,其特征在于,根据所述查询任务从所有微服务中确定目标微服务,并从所述目标微服务关联的目标数据库中调用各查询任务对应的目标业务数据的步骤,包括:
根据所述查询任务从所有微服务中确定处理所述查询请求的第一目标微服务;
判断各查询任务对应的目标业务数据是否都在第一目标微服务关联的第一目标数据库中;
若是,从所述第一目标数据库中调用各查询任务对应的目标业务数据,若否,从所有微服务中确定需要调用的第二目标微服务,从所述第一目标数据库中调用第一目标业务数据,通过所述第一目标微服务调用所述第二目标微服务,以从所述第二目标微服务关联的第二目标数据库中调用第二目标业务数据。


5.如权利要求1所述的数据调用方法,其特征在于,在从所述目标微服务关联的目标数据库中调用各查询任务对应的目标业务数据的步骤之后,还包括:
获取第一预设时间段内的第一调用信息,所述第一调用信息包括第一...

【专利技术属性】
技术研发人员:胡卫军卢奕
申请(专利权)人:武汉华信数据系统有限公司
类型:发明
国别省市:湖北;42

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

1