本公开涉及计算机,尤其涉及一种数据处理方法、装置、终端及存储介质。
背景技术:
1、随着科学技术的发展,不同系统之间例如可以进行数据交互。其中,例如可以通过接口交互和json格式进行数据交互,或者通过接口交互和xml格式进行数据交互。但是,json格式或xml格式文本占用空间大,传输效率低,使得数据处理效率较低。
技术实现思路
1、本公开提供一种数据处理方法、装置、终端及存储介质,以提高数据的处理效率和处理能力。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种数据处理方法,包括:
3、获取与数据处理指令对应的第一数据集合,对所述第一数据集合进行拆分,获取到至少一个数据子集;
4、根据所述至少一个数据子集的任一数据子集中第一数据的数据标识和哈希值集合,采用工作线程池组按照第一顺序对所述任一数据子集中的所述第一数据进行数据处理;
5、采用查询线程池组按照第二顺序对所述任一数据子集中第二数据进行查询处理,将所述第二数据对应的数据标识存储至所述哈希值集合,其中,所述第一顺序与所述第二顺序为不同方向的顺序。
6、根据一些实施例,所述方法还包括:
7、接收发送终端发送的第二数据集合,其中,所述第二数据集合为所述发送终端采用protobuf协议对第一数据集合进行处理后的数据集合;
8、采用所述protobuf协议对所述第二数据集合进行解析,得到所述第一数据集合。
9、根据一些实施例,所述根据所述至少一个数据子集的任一数据子集中第一数据的数据标识和哈希值集合,采用工作线程池组按照第一顺序对所述任一数据子集中的所述第一数据进行数据处理,包括:
10、采用工作线程池组,按照第一顺序,根据所述至少一个数据子集的任一数据子集中第一数据的数据标识在哈希值集合中进行查询,获取所述第一数据对应的第二查询结果;
11、在所述第二查询结果指示第一数据的数据标识在所述哈希值集合中存在的情况下,对所述第一数据进行逻辑计算和校验处理,得到所述第一数据的业务处理结果;
12、在所述第二查询结果指示所述第一数据的数据标识在所述哈希值集合中不存在的情况下,在查询数据库中查询所述第一数据的数据标识,获取第三查询结果;
13、在所述第三查询结果指示所述第一数据的数据标识在所述查询数据库存在的情况下,对所述第一数据进行组装、逻辑计算和校验处理,得到所述第一数据的业务处理结果。
14、根据一些实施例,所述在所述第二查询结果指示第一数据的数据标识在所述哈希值集合中存在的情况下,对所述第一数据进行逻辑计算和校验处理,得到所述第一数据的业务处理结果,包括:
15、在所述第二查询结果指示第一数据的数据标识在所述哈希值集合中存在的情况下,将所述第一数据查询标识符设置为第一查询符,其中,所述目标查询符用于指示不对所述第一数据进行查询;
16、在目标队列中采用take方式获取第三数据;
17、在所述第三数据的数据标识与所述第一数据的数据标识一致的情况下,对所述第一数据进行逻辑计算和校验处理,得到所述第一数据的业务处理结果;
18、在所述第三数据的数据标识与所述第一数据的数据标识不一致的情况下,继续采用所述take方式重新获取第二数据。
19、根据一些实施例,所述采用查询线程池组按照第二顺序对所述任一数据子集中第二数据进行查询处理,将所述第二数据对应的数据标识存储至所述哈希值集合,包括:
20、采用查询线程池组,按照第二顺序,根据所述任一数据子集中第二数据对应的数据标识进行查询数据库,获取第一查询结果;
21、在所述第一查询结果指示所述查询数据库中不存在所述第二数据的数据标识的情况下,对所述第二数据进行组装,将组装后的第二数据存储至所述目标队列;
22、将所述第二数据对应的数据标识存储至所述哈希值集合。
23、根据一些实施例,所述方法还包括:
24、利用java线程池,创建与所述至少一个数据子集中任一数据子集对应的工作线程池组和查询线程池组。
25、根据一些实施例,所述创建与所述至少一个数据子集中任一数据子集对应的工作线程池组和查询线程池组,包括:
26、获取所述任一数据子集对应的子集类型;
27、根据所述子集类型,创建与所述至少一个数据子集中任一数据子集对应的工作线程池组和查询线程池组。
28、根据本公开实施例的第二方面,提供一种数据处理装置,包括:
29、集合获取单元,用于获取与数据处理指令对应的第一数据集合,对所述第一数据集合进行拆分,获取到至少一个数据子集;
30、数据处理单元,用于根据所述至少一个数据子集的任一数据子集中第一数据的数据标识和哈希值集合,采用工作线程池组按照第一顺序对所述至少一个数据子集中任一数据子集进行数据处理;
31、查询处理单元,用于采用查询线程池组按照第二顺序对所述任一数据子集中第二数据进行查询处理,将所述第二数据对应的数据标识存储至所述哈希值集合,其中,所述第一顺序与所述第二顺序为不同方向的顺序。
32、根据本公开实施例的第三方面,提供一种终端,包括:
33、处理器;
34、用于存储所述处理器可执行指令的存储器;
35、其中,所述处理器被配置为执行所述指令,以实现前述一方面中任一项所述的数据处理方法。
36、根据本公开实施例的第四方面,提供了一种存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行前述一方面中任一项所述的数据处理方法。
37、根据本公开实施例的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述一方面中任一项所述的方法。
38、本公开的实施例提供的技术方案至少带来以下有益效果:
39、在一些或者相关实施例中,通过获取与数据处理指令对应的第一数据集合,对所述第一数据集合进行拆分,获取到至少一个数据子集;根据所述至少一个数据子集的任一数据子集中第一数据的数据标识和哈希值集合,采用工作线程池组按照第一顺序对所述任一数据子集中的所述第一数据进行数据处理;采用查询线程池组按照第二顺序对所述任一数据子集中第二数据进行查询处理,将所述第二数据对应的数据标识存储至所述哈希值集合,其中,所述第一顺序与所述第二顺序为不同方向的顺序。因此通过使用两个线程池组,可以同时处理不同顺序的两种不同的数据,工作线程池组可以进行数据处理操作,查询线程池组可以负责数据查询操作,可以采用分布式计算方式,可以提高终端资源的利用效率,提高数据的处理效率和处理能力。
40、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种数据处理方法,其特征在于,应用于接收终端,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个数据子集的任一数据子集中第一数据的数据标识和哈希值集合,采用工作线程池组按照第一顺序对所述至少一个数据子集中任一数据子集进行数据处理,包括:
4.根据权利要求3所述的方法,其特征在于,所述在所述第二查询结果指示第一数据的数据标识在所述哈希值集合中存在的情况下,对所述第一数据进行逻辑计算和校验处理,得到所述第一数据的数据处理结果,包括:
5.根据权利要求4所述的方法,其特征在于,所述采用查询线程池组按照第二顺序对所述任一数据子集中第二数据进行查询处理,将所述第二数据对应的数据标识存储至所述哈希值集合,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述创建与所述至少一个数据子集中任一数据子集对应的工作线程池组和查询线程池组,包括:
8.一种数据处理装置,其特征在于,包括:
9.一种终端,其特征在于,包括:
10.一种存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行如权利要求1至7中任一项所述的数据处理方法。