技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种数据查询方法、装置、系统、服务器以及存储介质与流程  >  正文

一种数据查询方法、装置、系统、服务器以及存储介质与流程

  • 国知局
  • 2024-07-31 22:47:30

本技术涉及数据处理,特别是涉及一种数据查询方法、装置、系统、服务器以及存储介质。

背景技术:

1、在很多场景中,各个业务数据会存储在不同平台的数据源,例如,针对不同场所的监控视频,可能会存储在不同平台的数据库等数据源。那么,在用户需要进行数据查询时,就需要从多个不同的数据源获取数据,进而在客户端对查询到的数据进行展示。

2、目前针对多个数据源的数据查询效率低,效果较差。

技术实现思路

1、本技术实施例的目的在于提供一种数据查询方法、装置、系统、服务器以及存储介质,以提高针对多个数据源的数据查询效率和效果。具体技术方案如下:

2、第一方面,本技术实施例提供了一种数据查询方法,应用于数据查询系统中的聚合服务,所述数据查询系统还包括多个业务服务和客户端,每个业务服务连接有数据源,所述数据源用于存储业务数据,所述数据源存储的业务数据具有相同的数据特征,且互不重复,所述聚合服务通过所述每个业务服务的查询接口与该业务服务进行通信,所述查询接口基于所述相同的数据特征预先构建得到,所述方法包括:

3、响应于所述客户端发送的数据查询请求,通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务,以使所述每个业务服务从连接的数据源中获取所述数据查询指令所指示的目标业务数据,并发送所述目标业务数据至所述聚合服务;

4、对所述目标业务数据进行聚合,并将聚合结果发送至所述客户端,以使所述客户端展示所述聚合结果。

5、可选的,所述聚合服务具有请求聚合接口;

6、所述响应于所述客户端发送的数据查询请求,通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务的步骤,包括:

7、响应于所述客户端发送的数据查询请求,通过所述请求聚合接口调用所述每个业务服务的查询接口,以发送数据查询指令至所述每个业务服务。

8、可选的,所述通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务的步骤,包括:

9、多次通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务,其中,每次发送的数据查询指令所指示的业务数据为所述数据查询请求所指示的目标业务数据中不重复的一部分;

10、所述对所述目标业务数据进行聚合的步骤,包括:

11、对所述多个业务服务每次发送的业务数据进行聚合,得到每次发送的业务数据对应的聚合结果。

12、可选的,所述相同的数据特征包括相同字段;

13、所述对所述目标业务数据进行聚合的步骤,包括:

14、基于所述多个业务服务发送的业务数据包括的相同字段,确定每个业务数据所满足的排序条件,其中,所述排序条件为预设的具有先后顺序的条件;

15、根据每个业务数据所满足的排序条件的顺序,确定该业务数据对应的顺序,得到每个业务数据对应的排序结果;

16、基于每个业务数据对应的排序结果,对每个业务数据进行聚合,得到聚合结果。

17、可选的,所述每个业务服务具有预设的优先级;

18、在所述根据每个业务数据所满足的排序条件的顺序,确定该业务数据对应的顺序的步骤之前,所述方法还包括:

19、针对所满足的排序条件不同的业务数据,执行所述根据每个业务数据所满足的排序条件的顺序,确定该业务数据对应的顺序的步骤;

20、针对所满足的排序条件相同且数据来源不同的业务数据,根据对应的业务服务的优先级,确定业务数据对应的顺序;

21、针对所满足的排序条件相同且数据来源相同的业务数据,根据对应的相同字段所标识的顺序,确定业务数据对应的顺序。

22、可选的,所述通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务的步骤,包括:

23、响应于所述客户端发送的数据查询请求,通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务,以使所述每个业务服务从连接的数据源中,根据预先确定的每个业务数据的排序结果,获取对应的排序结果靠前的预设数量个业务数据,并发送所述预设数量个业务数据至所述聚合服务,其中,所述预设数量为所述客户端每页展示的业务数据的数量或所述数据查询请求携带的用户需要查询到的数据数量;

24、所述对所述目标业务数据进行聚合的步骤,包括:

25、对每个业务服务发送的预设数量个业务数据进行排序,得到排序结果;

26、将对应的排序结果靠前的所述预设数量个业务数据进行聚合,得到聚合结果。

27、可选的,所述客户端用于分页显示所述目标业务数据;

28、所述多次通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务的步骤,包括:

29、响应于所述客户端发送的针对每页所显示的业务数据的数据查询请求,通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务,以使所述每个业务服务从连接的数据源中,根据所述数据查询指令携带的数据信息,获取当前页对应的业务数据,并发送所述当前页对应的业务数据至所述聚合服务;

30、其中,所述多个业务服务每次发送的业务数据的总数量大于所述客户端每页显示的业务数据的数量,所述数据信息包括当前排序条件、当前重复数以及当前数据标识,所述当前排序条件为上一页所显示的最后一个业务数据所满足的排序条件,首页对应的当前重复数为预设值,非首页对应的当前重复数表示当前已显示的业务数据中与所述上一页所显示的最后一个业务数据的下一个业务数据所满足的排序条件相同的业务数据的数量,所述当前数据标识为当前已显示的业务数据中来自每个业务服务的最后一个业务数据的标识;

31、所述基于该次发送的业务数据对应的排序结果,对该次发送的业务数据进行聚合,得到聚合结果的步骤,包括:

32、基于该次发送的业务数据对应的排序结果,从该次发送的业务数据中选择所述客户端每页显示的业务数据的数量的业务数据,作为待聚合业务数据;

33、对所述待聚合业务数据进行聚合,得到聚合结果。

34、可选的,所述方法还包括:

35、在获取到所述每个业务服务发送的所述当前页对应的业务数据的情况下,确定所述当前页对应的业务数据包括的业务数据的总数量与目标数量的大小关系;其中,所述目标数量为所述客户端每页展示的业务数据的数量;

36、如果所述总数量大于所述目标数量,发送表征具有下一页业务数据的消息至所述客户端,以使下一页按钮被触发时所述客户端发送下一页对应的数据查询请求至所述聚合服务。

37、可选的,所述每个业务服务与所连接的数据源之间的连接关系预先基于访问该数据源所需的账号和密码建立。

38、第二方面,本技术实施例提供了一种数据查询方法,应用于数据查询系统中的每个业务服务,所述数据查询系统包括多个业务服务、聚合服务以及客户端,所述每个业务服务连接有数据源,所述数据源用于存储业务数据,所述数据源存储的业务数据具有相同的数据特征,且互不重复,所述聚合服务通过所述每个业务服务的查询接口与该业务服务进行通信,所述查询接口基于所述相同的数据特征预先构建得到,所述方法包括:

39、响应于所述聚合服务发送的数据查询指令,从连接的数据源中获取所述数据查询指令所指示的目标业务数据,并发送所述目标业务数据至所述聚合服务,以使所述聚合服务对所述目标业务数据进行聚合,并将聚合结果发送至所述客户端,以使所述客户端展示所述聚合结果;

40、其中,所述数据查询指令为所述聚合服务响应于所述客户端发送的数据查询请求时通过所述业务服务的查询接口发送。

41、可选的,所述客户端用于分页显示所述目标业务数据;

42、所述响应于所述聚合服务发送的数据查询指令,从连接的数据源中获取所述数据查询指令所指示的目标业务数据,并发送所述目标业务数据至所述聚合服务的步骤,包括:

43、响应于所述聚合服务发送的数据查询指令,从连接的数据源中,根据数据查询指令携带的数据信息,获取当前页对应的业务数据,并发送所述当前页对应的业务数据至所述聚合服务;

44、其中,所述数据查询指令为所述聚合服务响应于所述客户端发送的针对每页所显示的业务数据的数据查询请求时通过所述业务服务的查询接口发送,所述多个业务服务每次发送的业务数据的总数量大于所述客户端每页显示的业务数据的数量,所述数据信息包括当前排序条件、当前重复数以及当前数据标识,所述当前排序条件为上一页所显示的最后一个业务数据所满足的排序条件,首页对应的当前重复数为预设值,非首页对应的当前重复数表示当前已显示的业务数据中与所述上一页所显示的最后一个业务数据的下一个业务数据所满足的排序条件相同的业务数据的数量,所述当前数据标识为当前已显示的业务数据中来自每个业务服务的最后一个业务数据的标识。

45、第三方面,本技术实施例提供了一种数据查询装置,应用于数据查询系统中的聚合服务,所述数据查询系统还包括多个业务服务和客户端,每个业务服务连接有数据源,所述数据源用于存储业务数据,所述数据源存储的业务数据具有相同的数据特征,且互不重复,所述聚合服务通过所述每个业务服务的查询接口与该业务服务进行通信,所述查询接口基于所述相同的数据特征预先构建得到,所述装置包括:

46、指令发送模块,用于响应于所述客户端发送的数据查询请求,通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务,以使所述每个业务服务从连接的数据源中获取所述数据查询指令所指示的目标业务数据,并发送所述目标业务数据至所述聚合服务;

47、数据聚合模块,用于对所述目标业务数据进行聚合,并将聚合结果发送至所述客户端,以使所述客户端展示所述聚合结果。

48、可选的,所述聚合服务具有请求聚合接口;

49、所述指令发送模块,包括:

50、第一指令发送子模块响,用于响应于所述客户端发送的数据查询请求,通过所述请求聚合接口调用所述每个业务服务的查询接口,以发送数据查询指令至所述每个业务服务。

51、可选的,所述指令发送模块,包括:

52、第二指令发送子模块,用于多次通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务,其中,每次发送的数据查询指令所指示的业务数据为所述数据查询请求所指示的目标业务数据中不重复的一部分;

53、所述数据聚合模块,包括:

54、数据聚合子模块,用于对所述多个业务服务每次发送的业务数据进行聚合,得到每次发送的业务数据对应的聚合结果。

55、可选的,所述相同的数据特征包括相同字段;

56、所述数据聚合模块,包括:

57、条件确定子模块,用于基于所述多个业务服务发送的业务数据包括的相同字段,确定每个业务数据所满足的排序条件,其中,所述排序条件为预设的具有先后顺序的条件;

58、数据排序子模块,用于根据每个业务数据所满足的排序条件的顺序,确定该业务数据对应的顺序,得到每个业务数据对应的排序结果;

59、第一数据聚合子模块,用于基于每个业务数据对应的排序结果,对每个业务数据进行聚合,得到聚合结果。

60、可选的,所述每个业务服务具有预设的优先级,所述装置还包括:

61、第一排序模块,用于针对所满足的排序条件不同的业务数据,执行所述根据每个业务数据所满足的排序条件的顺序,确定该业务数据对应的顺序的步骤;

62、第二排序模块,用于针对所满足的排序条件相同且数据来源不同的业务数据,根据对应的业务服务的优先级,确定业务数据对应的顺序;

63、第三排序模块,用于针对所满足的排序条件相同且数据来源相同的业务数据,根据对应的相同字段所标识的顺序,确定业务数据对应的顺序。

64、可选的,所述指令发送模块,包括:

65、数据获取子模块,用于响应于所述客户端发送的数据查询请求,通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务,以使所述每个业务服务从连接的数据源中,根据预先确定的每个业务数据的排序结果,获取对应的排序结果靠前的预设数量个业务数据,并发送所述预设数量个业务数据至所述聚合服务,其中,所述预设数量为所述客户端每页展示的业务数据的数量或所述数据查询请求携带的用户需要查询到的数据数量;

66、所述数据聚合模块,包括:

67、结果确定子模块,用于对每个业务服务发送的预设数量个业务数据进行排序,得到排序结果;

68、第二数据聚合子模块,用于将对应的排序结果靠前的所述预设数量个业务数据进行聚合,得到聚合结果。

69、可选的,所述客户端用于分页显示所述目标业务数据;

70、所述第二指令发送子模块,包括:

71、指令发送单元,用于响应于所述客户端发送的针对每页所显示的业务数据的数据查询请求,通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务,以使所述每个业务服务从连接的数据源中,根据所述数据查询指令携带的数据信息,获取当前页对应的业务数据,并发送所述当前页对应的业务数据至所述聚合服务;

72、其中,所述多个业务服务每次发送的业务数据的总数量大于所述客户端每页显示的业务数据的数量,所述数据信息包括当前排序条件、当前重复数以及当前数据标识,所述当前排序条件为上一页所显示的最后一个业务数据所满足的排序条件,首页对应的当前重复数为预设值,非首页对应的当前重复数表示当前已显示的业务数据中与所述上一页所显示的最后一个业务数据的下一个业务数据所满足的排序条件相同的业务数据的数量,所述当前数据标识为当前已显示的业务数据中来自每个业务服务的最后一个业务数据的标识;

73、所述数据聚合单元,包括:

74、数据选择子单元,用于基于该次发送的业务数据对应的排序结果,从该次发送的业务数据中选择所述客户端每页显示的业务数据的数量的业务数据,作为待聚合业务数据;

75、数据聚合子单元,用于对所述待聚合业务数据进行聚合,得到聚合结果。

76、可选的,所述装置还包括:

77、大小关系确定模块,用于在获取到所述每个业务服务发送的所述当前页对应的业务数据的情况下,确定所述当前页对应的业务数据包括的业务数据的总数量与目标数量的大小关系;其中,所述目标数量为所述客户端每页展示的业务数据的数量;

78、消息发送模块,用于如果所述总数量大于所述目标数量,发送表征具有下一页业务数据的消息至所述客户端,以使下一页按钮被触发时所述客户端发送下一页对应的数据查询请求至所述聚合服务。

79、可选的,所述每个业务服务与所连接的数据源之间的连接关系预先基于访问该数据源所需的账号和密码建立。

80、第四方面,本技术实施例提供了一种数据查询装置,应用于数据查询系统中的每个业务服务,所述数据查询系统包括多个业务服务、聚合服务以及客户端,所述每个业务服务连接有数据源,所述数据源用于存储业务数据,所述数据源存储的业务数据具有相同的数据特征,且互不重复,所述聚合服务通过所述每个业务服务的查询接口与该业务服务进行通信,所述查询接口基于所述相同的数据特征预先构建得到,所述装置包括:

81、数据查询模块,用于响应于所述聚合服务发送的数据查询指令,从连接的数据源中获取所述数据查询指令所指示的目标业务数据,并发送所述目标业务数据至所述聚合服务,以使所述聚合服务对所述目标业务数据进行聚合,并将聚合结果发送至所述客户端,以使所述客户端展示所述聚合结果;

82、其中,所述数据查询指令为所述聚合服务响应于所述客户端发送的数据查询请求时通过所述业务服务的查询接口发送。

83、可选的,所述客户端用于分页显示所述目标业务数据;

84、所述数据查询模块,包括:

85、数据查询子模块,用于响应于所述聚合服务发送的数据查询指令,从连接的数据源中,根据数据查询指令携带的数据信息,获取当前页对应的业务数据,并发送所述当前页对应的业务数据至所述聚合服务;

86、其中,所述数据查询指令为所述聚合服务响应于所述客户端发送的针对每页所显示的业务数据的数据查询请求时通过所述业务服务的查询接口发送,所述多个业务服务每次发送的业务数据的总数量大于所述客户端每页显示的业务数据的数量,所述数据信息包括当前排序条件、当前重复数以及当前数据标识,所述当前排序条件为上一页所显示的最后一个业务数据所满足的排序条件,首页对应的当前重复数为预设值,非首页对应的当前重复数表示当前已显示的业务数据中与所述上一页所显示的最后一个业务数据的下一个业务数据所满足的排序条件相同的业务数据的数量,所述当前数据标识为当前已显示的业务数据中来自每个业务服务的最后一个业务数据的标识。

87、第五方面,本技术实施例提供了一种数据查询系统,所述数据查询系统包括聚合服务、多个业务服务和客户端,每个业务服务连接有数据源,所述数据源用于存储业务数据,所述数据源存储的业务数据具有相同的数据特征,且互不重复,所述聚合服务通过所述每个业务服务的查询接口与该业务服务进行通信,所述查询接口基于所述相同的数据特征预先构建得到;

88、所述客户端,用于发送数据查询请求至所述聚合服务;

89、所述聚合服务,用于响应于所述数据查询请求,通过所述每个业务服务的查询接口发送数据查询指令至所述每个业务服务;

90、所述业务服务,用于响应于所述数据查询指令,从连接的数据源中获取所述数据查询指令所指示的目标业务数据,并发送所述目标业务数据至所述聚合服务;

91、所述聚合服务,还用于对所述目标业务数据进行聚合,并将聚合结果发送至所述客户端;

92、所述客户端,还用于展示所述聚合结果。

93、第六方面,本技术实施例提供了一种服务器,包括:

94、存储器,用于存放计算机程序;

95、处理器,用于执行存储器上所存放的程序时,实现上述第一方面或第二方面任一所述的方法。

96、第七方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面任一所述的方法。

97、本技术实施例有益效果:

98、本技术实施例提供的方案中,聚合服务可以响应于客户端发送的数据查询请求,通过每个业务服务的查询接口发送数据查询指令至每个业务服务,以使每个业务服务从连接的数据源中获取数据查询指令所指示的目标业务数据,并发送目标业务数据至聚合服务;对目标业务数据进行聚合,并将聚合结果发送至客户端,以使客户端展示聚合结果。由于每个业务服务的查询接口基于相同的数据特征预先构建得到,所以每个业务服务的查询接口可以支持相同的输入参数。这样,每个业务服务在接收到相同的数据查询指令时,可以同时从连接的数据源中获取目标业务数据,可以实现同时访问多个数据源,从而提高数据查询效率。由于多个数据源存储的业务数据具有相同的数据特征,所以可以基于相同的数据特征,对不同数据源存储的业务数据进行聚合。由于多个数据源存储的业务数据互不重复,因此聚合结果中的业务数据也互不相同,可以避免客户端展示多个相同的业务数据。由于每个业务服务可以从连接的数据源中获取目标业务数据并发送目标业务数据至聚合服务,而不需要将多个数据源中的业务数据合并到一个数据源中,所以可以降低数据查询的工作量以及减少占用的硬件资源,从而提高数据查询效率。当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。

本文地址:https://www.jishuxx.com/zhuanli/20240730/194630.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。