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

数据查询方法、装置、电子设备及存储介质与流程

2022-05-08 08:52:30 来源:中国专利 TAG:


1.本公开涉及数据处理领域,尤其涉及一种数据查询方法、装置、电子设备及存储介质。


背景技术:

2.相关技术中,随着互联网业务的不断增多,应用涉及到的业务也在不断增多,不同业务数据通常也存储在不同的业务数据源中。当需要查询某类型的业务数据时,往往需要从不同的业务数据源中获取所有的业务数据,新建一个数据表,将所有的业务数据都存储在这个数据表中,再对数据表中的业务数据进行排序,将排序后的业务数据返回给请求方。这样,数据表的创建、所有业务数据在数据表的存储等操作会导致数据查询出现延迟,从而会导致数据查询效率较低、响应速度较慢,进而会影响到用户体验。


技术实现要素:

3.本公开提供一种数据查询方法、装置、电子设备及存储介质,以至少解决相关技术中数据查询效率较低、响应速度较慢、用户体验较差的问题。本公开的技术方案如下:
4.根据本公开实施例的第一方面,提供一种数据查询方法,包括:
5.接收用户的数据查询请求;其中,所述数据查询请求携带有目标数据类别、数据排序方式;
6.响应于所述数据查询请求,确定至少一个业务数据源对应的进度信息;其中,所述进度信息包括业务数据源中已确定为历史响应数据的业务数据数量n,n为大于等于零的整数;
7.根据至少一个所述业务数据数量n从至少一个所述业务数据源,获取与所述目标数据类别对应的目标数据;
8.按照所述数据排序方式对所述目标数据进行处理,得到目标响应数据;
9.将所述目标响应数据发送至所述用户。
10.在一种可能的实施方式中,所述根据至少一个所述业务数据数量n从至少一个所述业务数据源,获取与所述目标数据类别对应的目标数据,包括:
11.对于至少一个所述业务数据源中的每个所述业务数据源,获取每个所述业务数据源中的第n 1至n m条业务数据;其中,m为正整数,所述业务数据与所述目标数据类别对应;
12.将每个所述业务数据源的所述第n 1至n m条业务数据确定为所述目标数据。
13.在一种可能的实施方式中,所述按照所述数据排序方式对所述目标数据进行处理,得到目标响应数据,包括:
14.按照所述数据排序方式对所述目标数据进行排序处理,得到业务数据序列;
15.按照预设数据数量对所述业务数据序列进行分页处理,得到至少一页业务数据;其中,所述预设数据数量为每页显示的业务数据条数的最大值;
16.将所述至少一页业务数据中的首页业务数据确定为目标响应数据。
17.在一种可能的实施方式中,所述进度信息还包括每个所述业务数据源对应的历史异常情况、剩余业务数据数量中的至少一项;所述根据至少一个所述业务数据数量n从至少一个所述业务数据源,获取与所述目标数据类别对应的目标数据之前,还包括:
18.根据每个所述业务数据源对应的历史异常情况和/或剩余业务数据数量,确定符合预设条件的至少一个目标业务数据源;其中,所述预设条件包括在预设历史时段内无异常情况和/或剩余业务数据数量大于等于预设数量阈值;
19.所述根据至少一个所述业务数据数量n从至少一个所述业务数据源,获取与所述目标数据类别对应的目标数据,包括:
20.根据至少一个所述目标业务数据源对应的至少一个所述业务数据数量n,从至少一个所述目标业务数据源获取与所述目标数据类别对应的目标数据。
21.在一种可能的实施方式中,所述按照所述数据排序方式对所述目标数据进行处理,得到目标响应数据之后,还包括:
22.对于每个所述业务数据源,确定所述目标响应数据中包含的每个所述业务数据源的业务数据数量l;其中,l为大于等于零且小于等于m的整数;
23.基于所述业务数据数量l更新每个所述业务数据源对应的进度信息。
24.根据本公开实施例的第二方面,提供一种数据查询装置,包括:
25.接收模块,被配置为接收用户的数据查询请求;其中,所述数据查询请求携带有目标数据类别、数据排序方式;
26.第一确定模块,被配置为响应于所述数据查询请求,确定至少一个业务数据源对应的进度信息;其中,所述进度信息包括业务数据源中已确定为历史响应数据的业务数据数量n,n为大于等于零的整数;
27.获取模块,被配置为根据至少一个所述业务数据数量n从至少一个所述业务数据源,获取与所述目标数据类别对应的目标数据;
28.处理模块,被配置为按照所述数据排序方式对所述目标数据进行处理,得到目标响应数据;
29.发送模块,被配置为将所述目标响应数据发送至所述用户。
30.在一种可能的实施方式中,所述获取模块,包括:
31.获取单元,被配置为对于至少一个所述业务数据源中的每个所述业务数据源,获取每个所述业务数据源中的第n 1至n m条业务数据;其中,m为正整数,所述业务数据与所述目标数据类别对应;
32.第一确定单元,被配置为将每个所述业务数据源的所述第n 1至n m条业务数据确定为所述目标数据。
33.在一种可能的实施方式中,所述处理模块,包括:
34.排序单元,被配置为按照所述数据排序方式对所述目标数据进行排序处理,得到业务数据序列;
35.分页单元,被配置为按照预设数据数量对所述业务数据序列进行分页处理,得到至少一页业务数据;其中,所述预设数据数量为每页显示的业务数据条数的最大值;
36.第二确定单元,被配置为将所述至少一页业务数据中的首页业务数据确定为目标响应数据。
37.在一种可能的实施方式中,所述进度信息还包括每个所述业务数据源对应的历史异常情况、剩余业务数据数量中的至少一项;所述数据查询装置,还包括:
38.第二确定模块,被配置为根据每个所述业务数据源对应的历史异常情况和/或剩余业务数据数量,确定符合预设条件的至少一个目标业务数据源;其中,所述预设条件包括在预设历史时段内无异常情况和/或剩余业务数据数量大于等于预设数量阈值;
39.所述获取模块,具体被配置为:
40.根据至少一个所述目标业务数据源对应的至少一个所述业务数据数量n,从至少一个所述目标业务数据源获取与所述目标数据类别对应的目标数据。
41.在一种可能的实施方式中,所述数据查询装置,还包括:
42.第三确定模块,被配置为对于每个所述业务数据源,确定所述目标响应数据中包含的每个所述业务数据源的业务数据数量l;其中,l为大于等于零且小于等于m的整数;
43.更新模块,被配置为基于所述业务数据数量l更新每个所述业务数据源对应的进度信息。
44.根据本公开实施例的第三方面,提供一种电子设备,包括:
45.处理器;
46.用于存储所述处理器可执行指令的存储器;
47.其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项所述的数据查询方法。
48.根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面中任一项所述的数据查询方法。
49.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的数据查询方法。
50.本公开的实施例提供的技术方案至少带来以下有益效果:
51.在本公开的实施例中,通过确定至少一个业务数据源对应的进度信息,根据进度信息中包括的业务数据源中已确定为历史响应数据的业务数据数量n,从至少一个业务数据源中获取与目标数据类别对应的目标数据,再按照目标排序方式对目标数据进行处理,将处理后得到的目标响应数据发送至发送查询请求的用户。这样,可以根据业务数据源的进度信息获取目标数据,按照数据排序方式对目标数据进行处理后返回至用户。也就是说,本公开实施例中无需执行数据表创建、所有业务数据在数据表中的存储等操作,如此,可以有效减少数据查询耗时,从而可以有效提高数据查询效率,提高响应速度,进而可以有效提高用户体验。
52.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
53.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
54.图1是根据一示例性实施例示出的一种数据查询方法的网络架构图。
55.图2是根据一示例性实施例示出的一种数据查询方法的流程图。
56.图3是根据一示例性实施例示出的一种目标数据的获取方法的流程图。
57.图4是根据一示例性实施例示出的一种进度信息的更新方法的流程图。
58.图5是根据一示例性实施例示出的另一种数据查询方法的流程图。
59.图6是根据一示例性实施例示出的再一种数据查询方法的流程图。
60.图7是根据一示例性实施例示出的一种数据查询装置的框图。
61.图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
62.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
63.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
64.由背景技术可知,相关技术中,需要新建数据表,将所有的业务数据都存储在这个数据表中,再对数据表中的业务数据进行排序,将排序后的业务数据返回给请求方,这会导致导致数据查询出现延迟,导致查询效率较低、响应速度较慢、用户体验较差。基于此,本公开的实施例提供了一种数据查询方法、装置、电子设备及存储介质,能够根据业务数据源的进度信息获取目标数据,按照数据排序方式对目标数据进行处理后返回至用户,无需执行数据表创建、所有业务数据在数据表中的存储等操作,从而可以有效减少数据查询耗时、提高数据查询效率、提高响应速度,进而有效提高用户体验。
65.为使本公开实施例提供的数据查询方法更清楚,下面结合图1示出的网络架构图对本公开实施例提供的数据查询方法进行说明。
66.如图1所示,本公开实施例的数据查询方法的网络架构可以包括用户、服务器、业务数据源等,其中,用户层面可以是电子设备或者服务器的客户端,服务器中可以部署有中控模块、查询进度记录模块、优化模块等。其中,查询进度记录模块可以用于记录每个业务数据源的进度信息,其可以是任意可靠的存储中间件,例如可以是mysql(关系型数据库),redis(缓存数据库)等;中控模块可以用于执行接收用户的数据查询请求,从查询进度记录模块查询每个业务数据源的进度信息,根据每个业务数据源的进度信息从目标业务数据源获取目标数据,对目标数据进行处理,将处理后得到的目标响应数据发送至用户等操作;优化模块可以用于根据每个业务数据源的进度信息剔除不符合预设条件的业务数据源,将符合预设条件的业务数据源确定为目标数据源,如可以将在预设历史时段内无异常情况、剩余业务数据数量大于等于预设数量阈值的业务数据源确定为目标业务数据源。
67.在本公开实施例中,服务器可以通过中控模块接收用户的数据查询请求,中控模块可以从查询进度记录模块查询每个业务数据源的进度信息,优化模块可以根据每个业务数据源的进度信息确定符合预设条件的目标数据源,并反馈至中控模块。然后,中控模块可
以根据每个目标业务数据源的进度信息从目标业务数据源获取目标数据,对目标数据进行处理,将处理后得到的目标响应数据发送至用户。可以理解的,图1中仅示意性的示出了3个业务数据源,在实施中业务数据源可以更多也可以更少,且业务数据源可以是部署在其他单独的服务器上,也可以是在图1中的服务器中。
68.下面结合附图对本公开实施例提供的数据查询方法、装置、电子设备及存储介质进行详细说明。
69.图2是根据一示例性实施例示出的一种数据查询方法的流程图,该数据查询方法可以应用于服务器或者服务器集群。如图2所示,数据查询方法可以包括以下步骤。
70.在步骤s201中,接收用户的数据查询请求。
71.其中,数据查询请求可以携带有目标数据类别、数据排序方式。
72.在本公开实施例中,用户想查询某数据类别的业务数据时,可以通过服务器的客户端操作界面登录某应用的查询页面,在查询页面输入想要查询的数据类别(如可以是母婴类、服饰类、护肤类等)和排序方式(如可以是按照销量排序、按照评分排序、按照距离排序等)。然后,服务器的客户端可以将数据查询请求发送至服务端,使得服务器服务端可以接收到用户的数据查询请求。
73.可以理解的,上述数据排序方式可以是任意的排序方式,只需要业务数据源实现对应数据排序方式的接口即可,无需修改服务器客户端和服务端之间的传输协议。
74.在步骤s202中,响应于数据查询请求,确定至少一个业务数据源对应的进度信息。
75.其中,进度信息可以包括业务数据源中已确定为历史响应数据的业务数据数量n,n为大于等于零的整数,可以理解的,历史响应数据可以是目标数据类别的业务数据。
76.在本公开实施例中,服务器在接收到数据查询请求之后,响应于该数据查询请求,可以确定至少一个业务数据源,例如,可以是应用关联的业务数据源。然后,可以查询前述至少一个业务数据源中每个业务数据源对应的进度信息,得到至少一个进度信息。其中,在数据查询请求为首次请求时,可以认为业务数据源中还没有业务数据被确定为历史响应数据,此时,业务数据源中已确定为历史响应数据的业务数据数量n为0;在数据查询请求不是首次请求时,可以认为业务数据源中可能有业务数据被确定为历史响应数据,此时,业务数据源中已确定为历史响应数据的业务数据数量n为通常是大于0的,其具体数值可以为被确定为历史响应数据的业务数据的具体条数。例如,以业务数据源的为业务数据源1为例,假设业务数据源1在过去时段内已经被有3条业务数据已被确定为历史响应数据,则业务数据源1对应的进度信息中的业务数据数量n为3。
77.在步骤s203中,根据至少一个业务数据数量n从至少一个业务数据源,获取与目标数据类别对应的目标数据。
78.在本公开实施例中,服务器在确定至少一个业务数据源对应的进度信息之后,可以根据至少一个业务数据源对应的进度信息中的业务数据数量n,从至少一个业务数据源的业务数据中获取与数据查询请求中携带的目标数据类别对应的业务数据,即目标数据。示例性的,服务器可以向前述至少一个业务数据源中的每个业务数据源并行发送查询请求,每个业务数据源在接收到查询请求之后,可以读取与目标数据类别对应的目标数据,将读取的与目标数据类别对应的目标数据发送至服务器,使得服务器可以获取到与目标数据类别对应的目标数据。
79.可以理解的,每个业务数据源在读取与目标数据类别对应的目标数据时,可以读取预设数据数量的业务数据作为目标数据,例如预设数据数量可以是每页设定的能够显示的业务数据的条数,如可以设置为10条、15条、20条等。
80.在步骤s204中,按照数据排序方式对目标数据进行处理,得到目标响应数据。
81.在本公开实施例中,服务器在根据至少一个业务数据数量n从至少一个业务数据源,获取与目标数据类别对应的目标数据之后,可以获取数据查询请求中携带的数据排序方式。然后,可以按照数据排序方式对目标数据进行数据处理,得到处理后的目标数据,将该处理后的目标数据确定为目标响应数据。
82.在进一步的实施例中,上述按照数据排序方式对目标数据进行处理,得到目标响应数据的具体实现方式可以如下:
83.按照数据排序方式对目标数据进行排序处理,得到业务数据序列;
84.按照预设数据数量对业务数据序列进行分页处理,得到至少一页业务数据;其中,预设数据数量可以为每页显示的业务数据条数的最大值;
85.将至少一页业务数据中的首页业务数据确定为目标响应数据。
86.在本公开实施例中,服务器在按照数据排序方式对目标数据进行处理得到目标响应数据时,可以先按照数据查询请求中携带的数据排序方式对目标数据进行排序处理,得到业务数据序列,示例性的,在数据排序方式为按照销量排序时,可以对目标数据按照销量进行排序,得到按照销量排序后的业务数据序列。然后,可以按照预设数据数量对前述业务数据序列进行分页处理,得到至少一页的业务数据,以预设数据数量为10条,业务数据序列包括46条目标数据为例,则可以将业务数据序列划分为5页,其中前4页中每页包括10条目标数据,第5页中包括6条业务数据。之后,可以在前述至少一页的业务数据中选择首页业务数据,将首页业务数据确定为响应数据,即目标响应数据。
87.在步骤s205中,将目标响应数据发送至用户。
88.在本公开实施例中,服务器在按照数据排序方式对目标数据进行处理,得到目标响应数据之后,可以将目标响应数据发送至用户。可以理解的,服务器可以通过服务端将目标响应数据发送至客户端,由客户端输出目标响应数据,以使用户可以查看到目标响应数据。
89.可以理解的,目标响应数据外其他页的目标数据并不会就此删除,而是可以暂时保存,以供用户在翻页时直接反馈给用户。同时,考虑到在实际中,用户翻页时通常不会持续很长时长,故而可以对进度信息的记录设定一定的过期时限,例如可以设置为24小时、12小时等。
90.在本公开的实施例中,通过确定至少一个业务数据源对应的进度信息,根据进度信息中包括的业务数据源中已确定为历史响应数据的业务数据数量n,从至少一个业务数据源中获取与目标数据类别对应的目标数据,再按照目标排序方式对目标数据进行处理,将处理后得到的目标响应数据发送至发送查询请求的用户。这样,可以根据业务数据源的进度信息获取目标数据,按照数据排序方式对目标数据进行处理后返回至用户。也就是说,本公开实施例中无需执行数据表创建、所有业务数据在数据表中的存储等操作,如此,可以有效减少数据查询耗时,从而可以有效提高数据查询效率,提高响应速度,进而可以有效提高用户体验。
91.在一种可能的实施方式中,如图3所示,上述步骤s203中根据至少一个业务数据数量n从至少一个业务数据源,获取与目标数据类别对应的目标数据的具体实现方式可以包括如下步骤:
92.在步骤s301中,对于至少一个业务数据源中的每个业务数据源,获取每个业务数据源中的第n 1至n m条业务数据;
93.在步骤s302中,将每个业务数据源的第n 1至n m条业务数据确定为目标数据。
94.其中,业务数据可以与目标数据类别对应。m为正整数,其具体数值可以根据需要进行设置,如可以设置为与预设数据数量相同的数值,或者也可以设置为其他数值。
95.在本公开的实施例中,考虑到在相关技术中还存在一些技术方案,客户端会将记录的上次从业务数据源中获取的业务数据的历史时刻发送至服务端,去获取该时刻之后的业务数据以及业务数据的相关信息,在获取到业务数据之后再记录前述历史时刻,并将获取的业务数据、业务数据的相关信息、新记录的历史时刻发送至客户端。这样,一方面,会增加网络传输数据量,导致网络开销增加、网络传输耗时增加,从而导致查询效率较低;另一方面,每次都向客户端发送业务数据的相关信息和获取业务数据的历史时刻,还会向客户端暴露不必要的信息,容易造成数据泄露等情况,导致数据的安全性较低。
96.基于此,在本公开的实施例中,对于至少一个业务数据源中的每个业务数据源,服务器在根据至少一个业务数据数量n从至少一个业务数据源,获取与目标数据类别对应的目标数据时,可以在每个业务数据源中与目标数据类别对应的业务数据中查找第n 1至n m条业务数据,即可以获取每个业务数据源中与目标数据类别对应的业务数据中的第n条业务数据之后的m条数据。然后,可以将获取到的每个业务数据源的第n 1至n m条业务数据确定为目标数据。也就是说,只需传输每个业务数据源的第n 1至n m条目标数据即可,无需传输额外的数据。
97.这样,一方面,可以有效降低网络传输数据量,降低网络开销、减少网络传输耗时,从而可以有效提高查询效率;另一方面,不会向用户层面传输其他不必要的信息,如此,可以避免出现数据泄露的情况,从而可以有效提高数据安全性。
98.在一种可能的实施方式中,业务数据源的进度信息还可以包括每个业务数据源对应的历史异常情况、剩余业务数据数量中的至少一项。例如,进度信息可以只包括历史异常情况或只包括剩余业务数据数量,或者也可以既包括历史异常情况也包括剩余业务数据数量,历史异常情况例如可以是响应超时。
99.基于此,上述步骤s203中根据至少一个业务数据数量n从至少一个业务数据源,获取与目标数据类别对应的目标数据之前,还可以选择符合预设条件的业务数据源获取目标数据,其具体处理可以如下:
100.根据每个业务数据源对应的历史异常情况和/或剩余业务数据数量,确定符合预设条件的至少一个目标业务数据源。
101.其中,预设条件可以包括在预设历史时段内无异常情况和/或剩余业务数据数量大于等于预设数量阈值,也就是说,预设条件可以包括在预设历史时段内无异常情况、剩余业务数据数量大于等于预设数量阈值中的至少一项。预设数量阈值可以设置为0、1、3等,或者也可以根据实际需要设置为其他数值,预设历史时段可以设置为当前时刻前的预设时长内,如预设时长可以设置为1分钟,则预设历史时段可以是当前时刻前的1分钟内;剩余业务
数据数量可以是未被确定为历史响应数据的业务数据的数量。
102.相应的,上述步骤s203中根据至少一个业务数据数量n从至少一个业务数据源,获取与目标数据类别对应的目标数据的具体实现方式可以如下:
103.根据至少一个目标业务数据源对应的至少一个业务数据数量n,从至少一个目标业务数据源获取与目标数据类别对应的目标数据。
104.在本公开的实施例中,服务器在根据至少一个业务数据数量n从至少一个业务数据源,获取与目标数据类别对应的目标数据之前,可以获取包括每个业务数据源对应的历史异常情况和/或剩余业务数据数量,以及包括在预设历史时段内无异常情况和/或剩余业务数据数量大于等于预设数量阈值的预设条件。示例性的,当获取的是每个业务数据源对应的历史异常情况时,相应的,预设条件可以仅包括在预设历史时段内无异常情况的条件;当获取的是每个业务数据源对应的剩余业务数据数量时,相应的,预设条件可以仅包括剩余业务数据数量大于等于预设数量阈值的条件;当获取的是每个业务数据源对应的历史异常情况和剩余业务数据数量时,相应的,预设条件可以仅包括在预设历史时段内无异常情况和剩余业务数据数量大于等于预设数量阈值。
105.然后,服务器可以根据每个业务数据源对应的历史异常情况和/或剩余业务数据数量,选择符合预设条件的至少一个业务数据源作为目标业务数据源。例如,获取的是每个业务数据源对应的历史异常情况,预设条件是在预设历史时段内无异常情况,则可以将在预设历史时段存在异常情况的业务数据源剔除,将在预设历史时段不存在异常情况的业务数据源确定为目标业务数据源。然后,可以根据至少一个目标业务数据源对应的至少一个业务数据数量n,从至少一个目标业务数据源获取与目标数据类别对应的目标数据。
106.这样,可以将在预设历史时段内出现过异常情况和/或剩余业务数据数量不足的业务数据源剔除,从在预设历史时段内未出现过异常情况和/或剩余业务数据数量充足的业务数据源中获取目标数据。如此,可以避免由于业务数据源的异常情况和/或剩余业务数据数量不足导致的某个或某几个业务数据源的目标数据获取失败的情况,减少无效的数据获取过程,如此,可以进一步减少数据查询耗时,提高数据查询效率,从而进一步提高用户体验。
107.在一种可能的实施方式中,还可以更新业务数据源对应的进度信息,如图4所示,在上述步骤s204中按照数据排序方式对目标数据进行处理,得到目标响应数据之后,还可以执行如下步骤:
108.在步骤s401中,对于每个业务数据源,确定目标响应数据中包含的每个业务数据源的业务数据数量l;
109.在步骤s402中,基于业务数据数量l更新每个业务数据源对应的进度信息。
110.其中,l可以为大于等于零且小于等于m的整数。
111.在本公开的实施例中,服务器在按照数据排序方式对目标数据进行处理,得到目标响应数据之后,对于每个业务数据源,服务器可以确定目标响应数据中包含的每个业务数据源的业务数据数量l。然后,可以根据该业务数据数量l更新每个业务数据源对应的进度信息,示例性的,可以基于每个业务数据源对应的进度信息中已有的业务数据数量n与该业务数据数量l之和更新每个业务数据源对应的进度信息,例如,基于已有的业务数据数量n与该业务数据数量l之和更新每个业务数据源对应的进度信息中的业务数据数量n。以业
务数据源包括业务数据源1、业务数据源2、业务数据源3、业务数据源4,业务数据源1、业务数据源2、业务数据源3、业务数据源4当前的业务数据数量n分别为2、3、3、4,本次数据查询方式中从业务数据源1、业务数据源2、业务数据源3、业务数据源4分别获取了10条目标数据为例,假设本次数据查询方式中业务数据源1的10条目标数据中有3条被确定为目标响应数据,业务数据源2的10条目标数据中有2条被确定为目标响应数据,业务数据源3的10条目标数据中有4条被确定为目标响应数据,业务数据源4的10条目标数据中有1被确定为目标响应数据,则可以将业务数据源1、业务数据源2、业务数据源3、业务数据源4业务数据数量n分别更新为5(即2 3=5)、5(即2 3=5)、7(即3 4=7)、5(即4 1=5)。
112.可以理解的,每个进度信息还可以设置有各自对应的进度标识,以使查询业务数据源对应的进度信息时,可以通过业务数据源对应的进度标识快速查找到对应的进度信息。其中,该进度呀标识可以设置为自增的整数,或者也可以设置为字符串标识,只要能实现唯一标识的作用即可。在每个进度信息设置有各自对应的进度标识的情况下,服务器的服务端在向客户端发送目标响应数据的时候,也可以将至少一个业务数据源对应的进度标识反馈至用户端。而且,相对于相关技术中将业务数据的相关数据、创建时刻等信息发送至客户端而言,由于进度标识只是一个简单的整数或者字符串,即使将进度标识一起反馈至客户端,也不会造成数据安全问题,可以提高数据安全性;同时,由于进度标识相对于业务数据的相关数据、创建时刻等信息而言,占用内存较少,故而,即使将进度标识与目标响应数据一起发送至客户端,这相对于相关技术而言,也可以有效的减少网络传输开销,提高传输效率,进而有效提高数据查询效率和用户体验。
113.这样,可以实现每个业务数据源对应的进度信息的实时更新,如此,可以为后续的数据查询方法的执行提供准确性更高、实时性更强的数据基础,从而可以提高从至少一个业务数据源获取的目标数据的准确性,提高目标响应数据的准确性,进而可以进一步提高数据查询效率。
114.为使本公开实施例提供的数据查询方法更清楚,下面结合图5、图6对本公开实施例提供的数据查询方法进行说明。
115.图5以用户通过服务器客户端发起首次数据查询请求为例,示出了本公开实施例提供的一种数据查询方法的流程图,如图5所示,该数据查询方法可以包括如下步骤:
116.在步骤s501中,接收用户通过服务器客户端向服务端发送的首次数据查询请求。
117.其中,该数据查询请求可以包括有用户指定的目标数据类别和数据排序方式。
118.在步骤s502中,服务器查询至少一个业务数据源对应的进度信息。
119.在本公开实施例中,服务器可以通过中控模块从查询进度记录模块查询至少一个业务数据源各自对应的进度信息。由于这是首次数据查询请求,故而,此时至少一个业务数据源各自对应的进度信息中已确定为历史响应数据的业务数据数量n是不存在的或者也可以是0。
120.在步骤s503中,服务器从至少一个业务数据源,获取与目标数据类别对应的目标数据。
121.在本公开实施例中,在至少一个业务数据源各自对应的进度信息中已确定为历史响应数据的业务数据数量n是不存在的或者也可以是0的情况下,即数据查询请求为首次数据查询请求的情况下,服务器可以直接向至少一个业务数据源并行发送数据获取请求(该
请求的参数可以包括:请求的业务数据的预设数据数量、数据排序方式)。每个业务数据源可以根据指定的数据排序方式,读取指定数量(即请求参数中的请求的业务数据的预设数据数量)的业务数据作为目标数据,例如每页显示的业务数据设定为10条时,则预设数据数量可以设置为10条,每个业务数据源可以读取10条业务数据作为目标数据。然后,至少一个业务数据源可以将读取到的目标数据发送至中控模块;
122.在步骤s504中,服务器按照数据排序方式对目标数据进行处理,得到目标响应数据。
123.在本公开实施例中,服务器在通过中控模块接收到至少一个业务数据源返回的目标数据之后,可以通过中控模块根据用户指定的数据排序方式对所有目标数据进行排序聚合,只取排序聚合后的第一页目标数据作为目标响应数据。
124.可以理解的,对于每个业务数据源,服务器还确定目标响应数据中包含的每个业务数据源的业务数据数量l;其中,l为大于等于零且小于等于m的整数;基于业务数据数量l更新每个业务数据源对应的进度信息。示例性的,服务器可以记录每个业务数据源查询的进度信息(每个数据源返回的目标数据里有多少条被确定为目标响应数据,下次查询应该指定多少条业务数据的偏移量)。例如,假设某个业务数据源返回的目标数据中有3条被确定为目标响应数据,则可以将该业务数据源对应的进度信息中的业务数据数量n更新为3,下次查询该业务数据源时需要指定偏移量为3。然后,通过中控模块将进度保存到查询进度记录。
125.在步骤s505中,服务器将目标响应数据发送至用户。
126.在本公开实施例中,服务器可以通过中控模块将目标响应数据返回给客户端,使用户可以看到目标响应数据。
127.本实施例中各步骤的具体实现方式和技术效果与上述各方法实施例类似,为简洁起见,在此不再赘述。
128.图6以用户通过服务器客户端发起非首次数据查询请求为例,示出了本公开实施例提供的一种数据查询方法的流程图,如图6所示,该数据查询方法可以包括如下步骤:
129.在步骤s601中,接收用户通过服务器客户端向服务端发送首次数据查询请求。
130.在步骤s602中,服务器查询至少一个业务数据源对应的进度信息。
131.在本公开实施例中,服务器可以通过中控模块向查询进度记录模块查询至少一个业务数据源对应的进度信息,该进度信息可以包括至少一个业务数据源各自已确定为历史响应数据的业务数据数量n、历史异常情况、剩余业务数据数量。
132.在步骤s603中,服务器根据每个业务数据源对应的历史异常情况和/或剩余业务数据数量,确定符合预设条件的至少一个目标业务数据源。
133.在本公开实施例中,服务器可以通过中控模块向优化模块发送查询请求,优化模块可以根据每个业务数据源对应的历史异常情况和/或剩余业务数据数量,剔除在预设历史时段内出现过异常情况和/或剩余业务数据数量小于预设数量阈值的业务数据源,将在预设历史时段内无异常情况和/或剩余业务数据数量大于等于预设数量阈值的业务数据源确定为目标业务数据源。然后,将目标业务数据源反馈至中控模块。
134.在步骤s604中,服务器根据至少一个目标业务数据源对应的至少一个业务数据数量n,从至少一个目标业务数据源获取与目标数据类别对应的目标数据。
135.在步骤s605中,服务器按照数据排序方式对目标数据进行处理,得到目标响应数据。
136.可以理解的,对于每个业务数据源,服务器还确定目标响应数据中包含的每个业务数据源的业务数据数量l;其中,l为大于等于零且小于等于m的整数;基于业务数据数量l更新每个业务数据源对应的进度信息。
137.在步骤s606中,服务器将目标响应数据发送至用户。
138.本实施例中各步骤的具体实现方式和技术效果与上述各方法实施例类似,为简洁起见,在此不再赘述。
139.图7是根据一示例性实施例示出的一种数据查询装置的框图。参照图7,该数据查询装置700可以包括:
140.接收模块710,可以被配置为接收用户的数据查询请求;其中,所述数据查询请求携带有目标数据类别、数据排序方式;
141.第一确定模块720,可以被配置为响应于所述数据查询请求,确定至少一个业务数据源对应的进度信息;其中,所述进度信息包括业务数据源中已确定为历史响应数据的业务数据数量n,n为大于等于零的整数;
142.获取模块730,可以被配置为根据至少一个所述业务数据数量n从至少一个所述业务数据源,获取与所述目标数据类别对应的目标数据;
143.处理模块740,可以被配置为按照所述数据排序方式对所述目标数据进行处理,得到目标响应数据;
144.发送模块750,可以被配置为将所述目标响应数据发送至所述用户。
145.在一种可能的实施方式中,所述获取模块730,可以包括:
146.获取单元,可以被配置为对于至少一个所述业务数据源中的每个所述业务数据源,获取每个所述业务数据源中的第n 1至n m条业务数据;其中,m为正整数,所述业务数据与所述目标数据类别对应;
147.第一确定单元,可以被配置为将每个所述业务数据源的所述第n 1至n m条业务数据确定为所述目标数据。
148.在一种可能的实施方式中,所述处理模块740,可以包括:
149.排序单元,可以被配置为按照所述数据排序方式对所述目标数据进行排序处理,得到业务数据序列;
150.分页单元,可以被配置为按照预设数据数量对所述业务数据序列进行分页处理,得到至少一页业务数据;其中,所述预设数据数量可以为每页显示的业务数据条数的最大值;
151.第二确定单元,可以被配置为将所述至少一页业务数据中的首页业务数据确定为目标响应数据。
152.在一种可能的实施方式中,所述进度信息还可以包括每个所述业务数据源对应的历史异常情况、剩余业务数据数量中的至少一项;所述数据查询装置700,还可以包括:
153.第二确定模块,可以被配置为根据每个所述业务数据源对应的历史异常情况和/或剩余业务数据数量,确定符合预设条件的至少一个目标业务数据源;其中,所述预设条件包括在预设历史时段内无异常情况和/或剩余业务数据数量大于等于预设数量阈值;
154.所述获取模块730,具体可以被配置为:
155.根据至少一个所述目标业务数据源对应的至少一个所述业务数据数量n,从至少一个所述目标业务数据源获取与所述目标数据类别对应的目标数据。
156.在一种可能的实施方式中,所述数据查询装置700,还可以包括:
157.第三确定模块,可以被配置为对于每个所述业务数据源,确定所述目标响应数据中包含的每个所述业务数据源的业务数据数量l;其中,l为大于等于零且小于等于m的整数;
158.更新模块,可以被配置为基于所述业务数据数量l更新每个所述业务数据源对应的进度信息。
159.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
160.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
161.图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备800旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
162.如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
163.电子设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
164.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如数据查询方法。例如,在一些实施例中,数据查询方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的数据查询方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据查询方法。
165.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电
路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
166.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
167.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
168.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
169.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
170.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
171.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
172.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献