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

文件读取方法、装置、计算机设备、存储介质和程序产品与流程

2022-06-22 18:31:38 来源:中国专利 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.将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
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.图1为一个实施例中文件读取方法的应用环境图;
59.图2为一个实施例中文件读取方法的流程示意图;
60.图3为一个实施例中得到初步读取文件集合的流程示意图;
61.图4为一个实施例中得到目标数据集合的流程示意图;
62.图5为另一个实施例中得到目标数据集合的流程示意图;
63.图6为另一个实施例中得到目标数据集合的流程示意图;
64.图7为另一个实施例中得到目标数据集合的流程示意图;
65.图8为另一个实施例中文件读取方法的流程示意图;
66.图9为一个实施例中文件读取装置的结构框图;
67.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
68.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
69.本技术实施例提供的文件读取方法,可以应用于如图1所示的应用环境中。其中,服务调用方102通过网络与服务提供方104进行通信。服务提供方104为由多个服务器组成的服务器集群。服务调用方102向服务提供方104发起包括读取需求信息的文件读取请求,相应地,服务提供方102的多个服务器同时接收该文件读取请求,并根据文件读取请求中的读取需求信息确定初步读取文件集合,进而根据预设的划分策略,将初步读取文件集合汇总的所有读取文件划分为多个目标数据集合,各服务器再对应读取与自身匹配的目标数据集合中的单元数据。其中,初步读取文件集合中包括至少一个初步读取文件,且每个初步读取文件中包括多个单元数据,每个目标数据集合中包括至少一个单元数据。
70.在一个实施例中,如图2所示,提供了一种文件读取方法,以该方法应用于图1中的服务提供方为例进行说明,包括以下步骤:
71.s210、服务提供方的多个服务器同时接收服务调用方发起的文件读取请求。
72.其中,文件读取请求包括读取需求信息。读取需求信息用于指示服务调用方所要读取的数据文件。可选地,读取需求信息可以包括文件存储路径、文件名称、文件类型等相关信息。
73.可选地,服务调用方和服务提供方通过网络进行通信,用户可登陆服务调用方,在服务调用方进行确定读取需求信息的选择和/或输入操作,由服务调用方生成包括读取需求信息的文件读取请求,并将该文件读取请求发送至服务提供方的各个服务器,服务提供方的多个服务器相应同时接收服务调用方发起的文件读取请求。
74.s220、各服务器根据读取需求信息,确定初步读取文件集合。
75.其中,初步读取文件集合中包括至少一个初步读取文件,且每个初步读取文件中包括多个单元数据。可选地,单元数据可以是行数据。
76.可选地,服务提供方的各个服务器在接收到文件读取请求后,即从中解析得到读取需求信息,进而根据读取需求信息确定服务调用方所需读取的数据文件即上述初步读取文件,并由所确定的初步读取文件构成上述初步读取文件集合。例如,上述读取需求信息为文件存储路径,各个服务器则确定该文件存储路径下的数据文件为初步读取文件,并由该文件存储路径下的数据文件构成初步读取文件集合。
77.s230、各服务器根据预设的划分策略,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合。
78.其中,每个目标数据集合中包括至少一个单元数据。可选地,目标数据集合中可以包括完整的数据文件,也可以包括数据文件中的部分单元数据。
79.在初步读取文件集合中仅包括一个初步读取文件时,各服务器可根据预设的划分策略对该初步读取文件进行划分,以得到多个目标数据集合。例如,以文件中单元数据作为划分单元,将初步读取单元划分为多个目标数据集合,每一目标数据集合中包括若干单元数据;在初步读取文件集合中包括多个初步读取文件时,各服务器可根据预设的划分策略对这多个初步读取文件进行划分,以得到多个目标数据集合。例如,以文件作为划分单元,将多个初步读取单元划分为多个目标数据集合,每一目标数据集合中包括若干初步读取文件,也可以单元好数据作为划分单元,将多个初步读取单元划分为多个目标数据集合,每一目标数据集合中包括若干单元数据。
80.可选地,上述预设的划分策略可以是根据服务提方中服务器的数量对初步读取文件集合中的所有初步读取文件进行均匀划分,以得到多个目标数据集合,还可以根据初步读取文件集合中初步读取文件的属性特征所确定的划分策略。其中,属性特征是用于表征文件本身特征的信息或参数。可选地,属性特征可以是数据大小、文件所包括的单元数据量、文件名称等等。
81.可选地,在属性特征为数据大小时,上述预设的划分策略即为将初步读取文件集合中的所有初步读取文件划分为数据大小相当的多个目标数据集合。对于服务提供方的每一服务器而言均执行相同的划分步骤:获取初步读取文件集合中的所有初步读取文件的数据大小之和,并根据数据大小之和以及服务提供方中服务器的数量确定参考数据大小,进而根据参考数据大小对初步读取文件集合中的所有初步读取文件进行划分,以得到与服务器的数量相同个数的目标数据集合。其中,划分得到的所有目标数据集合的数据大小与参考数据大小之差的和最小。
82.例如,初步读取文件集合中包括5个初步读取文件a~e,数据大小分别为:初步读取文件a(60),初步读取文件b(20),初步读取文件c(30),初步读取文件d(70),初步读取文件e(80),服务提供方包括2个服务器,各服务器计算得到这5个初步读取文件的数据大小之和为260,并根据数据大小之和(260)和服务器的数量(2)确定参考数据大小为260/2=130,服务器则进一步根据参考数据大小(130)对这个5个初步读取文件进行划分,以得到数据大小相当且最接近参考数据大小的2个目标数据集合,即可得到目标数据集合{初步读取文件a,初步读取文件d},和目标数据集合{初步读取文件b,初步读取文件c,初步读取文件e}。
83.s240、各服务器对应读取与自身匹配的目标数据集合中的单元数据。
84.可选地,各服务器可采用相同的编号规则对得到的目标数据集合进行编号,令每一目标数据集合对应一集合编号,各服务器根据自身的服务器编号确定集合编号与自身的服务器编号匹配的目标数据集合,相应读取该目标数据集合中的单元数据,以将读取到的数据文件存放至服务调用方的数据库。
85.可选地,上述相同的标识规则可以是根据目标数据集合内的文件数量对多个目标数据集合进行编号标识。例如,文件数据最多的目标数据集合的集合编号为1,次多的集合编号为2

以此类推。服务提供方中各服务器采用阿拉伯数据1,2,3

进行编号时,若服务器编号与集合编号相同,即确定对应服务器和目标数据集合匹配;反之,若服务器编号与集合编号不相同,即确定对应服务器和目标数据集合不匹配。
86.本实施例中,服务提供方的多个服务器同时接收服务调用方发起的文件读取请求,各服务器根据文件读取请求中所携带的读取需求信息,确定初步读取文件集合,并根据
预设的划分策略,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合,各服务器对应读取与自身匹配的目标数据集合中的单元数据。以此实现文件的读取入库,采用多服务器分布式读取的方式,将所要读取的数据文件分散化处理,减少了读取耗时,提高了读取效率。
87.在其中一个实施例中,读取需求信息包括日期参数和文件所属目录,日期参数用于确定文件名称,文件所属目录用于确定文件的存储位置,如图3所示,上述s220、各服务器根据读取需求信息,确定初步读取文件集合,则包括:
88.s310、根据日期参数确定文件标识信息。
89.通常情况下,系统生成数据文件时,会基于数据文件的生成日期按照一定的文件命名规则对数据文件进行自动命名,上述日期参数即可用于确定所要读取的数据文件的生成日期。
90.可选地,各服务器根据读取需求信息中的日期参数确定所需读取的数据文件的生成日期,并基于该生成日期和预设的文件名称格式得到文件标识信息。其中,该文件标识信息可以直接是文件名称,也可以是文件名称中的一部分。
91.可选地,各服务器获取读取需求信息中的日期参数,如入参deviation,若deviation为0,则获取当前日期,并确定当前日期为所需读取的数据文件的生成日期;若deviation不为0,则获取当前日期,并根据日期参数deviation和当前日期确定上述生成日期。例如,入参deviation=-1,当前日期为3月16号,所确定的生成日期即为3月15日。
92.可选地,在上述文件读取请求为补匹读取请求时,上述日期参数即为由apollo参数所确定的补匹日期,各服务器则基于该补匹日期和预设的文件名称格式得到文件标识信息。
93.s320、确定文件所属目录下的候选数据文件。
94.具体地,各服务器读取上述文件所属目录下的所有数据文件的文件名称,确定这些数据文件为候选数据文件,并形成包括所有候选数据文件的文件名称的文件名称列表。
95.s330、根据候选数据文件的文件名称和文件标识信息,确定与文件标识信息匹配的候选数据文件为初步读取文件。
96.s340、基于初步读取文件得到初步读取文件集合。
97.具体地,各服务器循环上述文件名称列表,比较得到的文件标识信息与文件名称列表内的每一个文件名称,确定文件名称包括上述文件标识信息或者与上述文件标识信息相同的候选数据文件为初步读取文件,并由确定出的初步读取文件构成上述初步读取文件集合。
98.本实施例中,读取需求信息包括日期参数和文件所属目录,各服务器即可根据日期参数确定文件标识信息,并确定文件所属目录下的候选数据文件,以根据候选数据文件的文件名称和文件标识信息,确定与文件标识信息匹配的候选数据文件为初步读取文件,进而基于初步读取文件得到初步读取文件集合。日期参数用于确定文件名称,文件所属目录用于确定文件的存储位置,基于文件名称以及文件的存储位置即可准确确定服务调用方所需读取的初步读取文件,提高了文件读取的准确性。
99.在其中一个实施例中,以根据初步读取文件集合中初步读取文件的属性特征所确定的划分策略为例,如图4所示,上述s230、各服务器根据预设的划分策略,对初步读取文件
集合中的所有初步读取文件进行划分,得到多个目标数据集合,则包括:
100.s410、获取初步读取文件集合中所有初步读取文件的属性特征。
101.如前所述,属性特征是用于表征文件本身特征的信息或参数。可选地,属性特征可以是数据大小、文件所包括的单元数据量、文件名称等等。
102.可选地,在属性特征为文件名称时,各服务器即读取初步读取文件集合中每一初步读取文件的文件名称。
103.s420、根据各初步读取文件的属性特征以及服务提供方中服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合。
104.其中,目标数据集合的数量与服务器的数量相同。
105.可选地,在属性特征为文件名称时,如图5所示,上述得到多个目标数据集合的过程包括:
106.s510、提取各初步读取文件的文件名称中的数字字符。
107.其中,文件名称中包括多种类型的字符,如数字字符、字母字符、语言字符等等。并且,文件名称中的数字字符不仅包括日期信息,还可以包括其他数字信息,如流水号。需要说明的是,同一文件所属目录下数据文件的文件名称具有一定规律性,如文件名称中的数字字符连续。
108.具体地,各服务器可对初步读取文件集合中每一初步读取文件的文件名称进行识别,并提取文件名称中的数字字符。
109.s520、获取数字字符与服务器的数量之间的余数。
110.s530、将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
111.可选地,各服务器可根据提取到每一文件名称中的数字字符与服务器的数量确定各自所要读取的目标数据集合。具体地,各服务器计算每一数字字符除服务器数量后得到的余数,并将得到相同余数的初步读取文件划分至同一目标数据集合中,即可得到数量与服务器的数量相同的目标数据集合。
112.例如,初步读取文件中包括5个初步读取文件a~e,提取到的数字字符分别为:初步读取文件a(2022031501),初步读取文件b(2022031502),初步读取文件c(2022031503),初步读取文件d(2022031504),初步读取文件e(2022031505),服务提供方包括2个服务器,各服务器计算数字字符与服务器的数量之间的余数为:初步读取文件a对应余数为1,初步读取文件b对应余数为0,初步读取文件c对应余数为1,初步读取文件d对应余数为0,初步读取文件e对应余数为1,即可得到目标数据集合{初步读取文件a,初步读取文件c,初步读取文件e},和目标数据集合{初步读取文件b,初步读取文件d}。
113.在上述情况下,每一服务器按照1,2,3

顺序编号,前述s410、各服务器对应读取与自身匹配的目标数据集合中的单元数据,则包括:
114.对于每一服务器而言,确定得到的余数是否等于自身的服务器编号减1,若是,则确定得到该余数的目标数据集合与自身匹配;反之,若否,则确定得到该余数的目标数据集合与自身不匹配。
115.本实施例中,在属性特征包括文件名称的情况下,各服务器则获取初步读取文件集合中所有初步读取文件的文件名称,并从中提取数字字符,以获取数字字符与服务器的
数量之间的余数,将得到相同余数的初步读取文件划分至同一目标数据集合中,以得到多个目标数据集合。以此实现对于初步读取文件集合的划分,通过上述划分方式即可将初步读取文件集合中的每一初步读取文件划分至对应的服务器,进而实现了对于包括多个初步读取文件的分布式读取,节省了读取耗时,提高了读取效率。
116.在其中一个实施例中,在属性特征包括数据单元的情况下,得到多个目标数据集合的过程即为:根据各初步读取文件中的单元数据量以及服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合。
117.可选地,为提高各服务器对每一目标数据集合中单元数护的读取效率,上述s140、各服务器对应读取与自身匹配的目标数据集合中的单元数据,则包括:
118.分别调用多个线程并行读取与自身匹配的目标数据集合中单元数据。
119.具体地,针对每一服务器而言,在确定了与自身匹配的目标数据集合后,可建立多个线程,每一线程对应读取目标数据集合中的一个数据文件,或者一个单元数据,多线程即可同时读取多个数据文件,或者多个单元数据。各个服务器通过多线程并行读取的方式可大大减少读取耗时,提高文件读取效率。
120.可选地,读取目标数据集合中的行数据时,可采用seek方法读取。
121.可选地,为使得目标数据集合中的文件数量相对均衡,如图6所示,上述得到多个目标数据集合的过程,则包括:
122.s610、确定各初步读取文件中的单元数据量与服务器的数量之间的余数。
123.可选地,单元数据可以是数据文件中的行数据,单元数据量即为行数据的数量,简称“行数”。
124.具体地,各服务器统计初步读取文件集合中每一初步读取文件中的行数,并令行数除服务器的数量,得到行数与服务器的数量之间的余数,进而根据余数将初步读取文件中的多个初步读取文件划分为多个目标数据集合。
125.s620、将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
126.具体地,各服务器将得到相同余数的初步读取文件划分至同一目标数据集合中,即可得到数量与服务器的数量相同的目标数据集合。例如,初步读取文件中包括5个初步读取文件a~e,行数分别为:初步读取文件a(312),初步读取文件b(533),初步读取文件c(467),初步读取文件d(770),初步读取文件e(608),服务提供方包括2个服务器,各服务器计算行数与服务器的数量之间的余数为:初步读取文件a对应余数为0,初步读取文件b对应余数为1,初步读取文件c对应余数为1,初步读取文件d对应余数为0,初步读取文件e对应余数为0,即可得到目标数据集合{初步读取文件a,初步读取文件d,初步读取文件e},和目标数据集合{初步读取文件b,初步读取文件c}。
127.可选地,为使得目标数据集合中的数据量相对均衡,如图7所示,上述得到多个目标数据集合的过程,则包括:
128.s710、获取各初步读取文件中的单元数据量之和,得到单元数据总数。
129.具体地,继续以单位数据量为行数为例,各服务器统计初步读取文件集合中每一初步读取文件中的行数,并计算所有初步读取文件中的行数之和,得到上述单元数据总数,进而根据单元数据总数将初步读取文件中的多个初步读取文件阿划分为多个目标数据集
合。
130.s720、根据单元数据总数与服务器的数量之间的比值,确定每个目标数据集合中的单元数据量。
131.具体地,各服务器计算单元数据总数与服务器的数量之间的比值,可进一步根据得到的比值确定每个目标数据集合中的单元数据量。其中,若该比值未为整数,则确定该比值为每个目标数据集合中的单元数据量;若该比值不为整数,则对该比值进行去零取整,并将去零取整后得到的数值作为每个目标数据集合中的单元数据量。
132.s730、根据每个目标数据集合中的单元数据量,将各初步读取文件中的单元数据划分到对应目标数据集合中,得到多个目标数据集合。
133.具体地,在确定了上述单元数据量后,各服务器可按相同的划分规则将初步读取文件所对应的所有单元数据划分为多个数据集合,每个数据集合中包括前述所确定的单元数据量的单元数据。其中,若按照上述单元数据量划分后,没有剩余的单元数据,每一数据集合即为上述目标数据集合;若按照上述单元数据量划分后,还有剩余的单元数据,可将剩余的单元数据划分至指定服务器对应的数据集合中,也可以将上述剩余的单元数据按照一定顺序依次划分至部分数据集合中,进而得到目标数据集合。
134.本实施例中,各服务器可根据初步读取文件中的单元数据量以及服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合。使得目标数据集合中的文件数量相对均衡的方式,在每一数据文件大小相当的情况下,确保各个服务器对应读取目标数据集合的数据量相当,耗时基本相同,进一步提高了文件读取效率。同理,使得目标数据集合中的数据量相对均衡的方式,在每一数据文件大小不相当的情况下,也能确保各个服务器对应读取目标数据集合的数据量相当,耗时基本相同,提高了文件读取效率。
135.为了便于本领域技术人员的理解,以下对本技术提供的闪电数据的分析方法进行详细介绍,如图8所示,该方法可以包括:
136.s810、服务提供方的多个服务器同时接收服务调用方发起的文件读取请求;其中,文件读取请求包括读取需求信息,读取需求信息包括日期参数和文件所属目录;
137.s820、各服务器根据日期参数确定文件标识信息;确定文件所属目录下的候选数据文件;并根据候选数据文件的文件名称和文件标识信息,确定与文件标识信息匹配的候选数据文件为初步读取文件;基于初步读取文件得到初步读取文件集合;
138.s830、获取初步读取文件集合中所有初步读取文件的属性特征;
139.s840、在属性特征包括文件名称的情况下,各提取各初步读取文件的文件名称中的数字字符;获取数字字符与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合;其中,目标数据集合的数量与服务器的数量相同;
140.s850、在属性特征包括单元数据量的情况下,各服务器确定各初步读取文件中的单元数据量与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合;或者,获取各初步读取文件中的单元数据量之和,得到单元数据总数;根据单元数据总数与服务器的数量之间的比值,确定每个目标数据集合中的单元数据量;根据每个目标数据集合中的单元数据量,将各初步读取文件中的单元数
据划分到对应目标数据集合中,得到多个目标数据集合;
141.s860、各服务器分别调用多个线程并行读取与自身匹配的目标数据集合中单元数据。
142.需要说明的是,针对上述s810-s860中的描述可以参见上述实施例中相关的描述,且其效果类似,本实施例在此不再赘述。
143.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
144.在一个实施例中,如图9所示,提供了一种文件读取装置,应用于服务提供方中的多个服务器,包括:请求接收模块901、初步确定模块902,数据划分模块903以及分布读取模块904,其中:
145.请求接收模块901用于同时接收服务调用方发起的文件读取请求;其中,文件读取请求包括读取需求信息;
146.初步确定模块902用于根据读取需求信息,确定初步读取文件集合;其中,初步读取文件集合中包括至少一个初步读取文件,且每个初步读取文件中包括多个单元数据;
147.数据划分模块903用于根据预设的划分策略,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合;其中,每个目标数据集合中包括至少一个单元数据;
148.分布读取模块904用于对应读取与自身匹配的目标数据集合中的单元数据。
149.在其中一个实施例中,读取需求信息包括日期参数和文件所属目录,初步确定模块902具体用于:
150.根据日期参数确定文件标识信息;确定文件所属目录下的候选数据文件;根据候选数据文件的文件名称和文件标识信息,确定与文件标识信息匹配的候选数据文件为初步读取文件;基于初步读取文件得到初步读取文件集合。
151.在其中一个实施例中,数据划分模块903具体用于:
152.获取初步读取文件集合中所有初步读取文件的属性特征;根据各初步读取文件的属性特征以及服务提供方中服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合;其中目标数据集合的数量与服务器的数量相同。
153.在其中一个实施例中,属性特征包括文件名称,数据划分模块903具体用于:
154.提取各初步读取文件的文件名称中的数字字符;获取数字字符与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
155.在其中一个实施例中,属性特征包括单元数据量,数据划分模块903具体用于:
156.根据各初步读取文件中的单元数据量以及服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合。
157.在其中一个实施例中,数据划分模块903具体用于:
158.确定各初步读取文件中的单元数据量与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
159.在其中一个实施例中,数据划分模块903具体用于:
160.获取各初步读取文件中的单元数据量之和,得到单元数据总数;根据单元数据总数与服务器的数量之间的比值,确定每个目标数据集合中的单元数据量;根据每个目标数据集合中的单元数据量,将各初步读取文件中的单元数据划分到对应目标数据集合中,得到多个目标数据集合。
161.在其中一个实施例中,每个服务器包括多个线程,分布读取模块904具体用于:
162.多个线程并行读取与自身匹配的目标数据集合中单元数据。
163.上述文件读取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
164.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据文件。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文件读取方法。
165.本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
166.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
167.服务提供方的多个服务器同时接收服务调用方发起的文件读取请求;其中,文件读取请求包括读取需求信息;各服务器根据读取需求信息,确定初步读取文件集合;其中,初步读取文件集合中包括至少一个初步读取文件,且每个初步读取文件中包括多个单元数据;各服务器根据预设的划分策略,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合;其中,每个目标数据集合中包括至少一个单元数据;各服务器对应读取与自身匹配的目标数据集合中的单元数据。
168.在其中一个实施例中,读取需求信息包括日期参数和文件所属目录;处理器执行计算机程序时还实现以下步骤:
169.根据日期参数确定文件标识信息;确定文件所属目录下的候选数据文件;根据候选数据文件的文件名称和文件标识信息,确定与文件标识信息匹配的候选数据文件为初步读取文件;基于初步读取文件得到初步读取文件集合。
170.在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
171.获取初步读取文件集合中所有初步读取文件的属性特征;根据各初步读取文件的属性特征以及服务提供方中服务器的数量,对初步读取文件集合中的所有初步读取文件进
行划分,得到多个目标数据集合;其中目标数据集合的数量与服务器的数量相同。
172.在其中一个实施例中,属性特征包括文件名称;处理器执行计算机程序时还实现以下步骤:
173.提取各初步读取文件的文件名称中的数字字符;获取数字字符与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
174.在其中一个实施例中,属性特征包括单元数据量;处理器执行计算机程序时还实现以下步骤:
175.根据各初步读取文件中的单元数据量以及服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合。
176.在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
177.确定各初步读取文件中的单元数据量与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
178.在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
179.获取各初步读取文件中的单元数据量之和,得到单元数据总数;根据单元数据总数与服务器的数量之间的比值,确定每个目标数据集合中的单元数据量;根据每个目标数据集合中的单元数据量,将各初步读取文件中的单元数据划分到对应目标数据集合中,得到多个目标数据集合。
180.在其中一个实施例中,每个服务器包括多个线程;处理器执行计算机程序时还实现以下步骤:
181.分别调用多个线程并行读取与自身匹配的目标数据集合中单元数据。
182.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
183.服务提供方的多个服务器同时接收服务调用方发起的文件读取请求;其中,文件读取请求包括读取需求信息;各服务器根据读取需求信息,确定初步读取文件集合;其中,初步读取文件集合中包括至少一个初步读取文件,且每个初步读取文件中包括多个单元数据;各服务器根据预设的划分策略,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合;其中,每个目标数据集合中包括至少一个单元数据;各服务器对应读取与自身匹配的目标数据集合中的单元数据。
184.在其中一个实施例中,读取需求信息包括日期参数和文件所属目录;计算机程序被处理器执行时还实现以下步骤:
185.根据日期参数确定文件标识信息;确定文件所属目录下的候选数据文件;根据候选数据文件的文件名称和文件标识信息,确定与文件标识信息匹配的候选数据文件为初步读取文件;基于初步读取文件得到初步读取文件集合。
186.在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
187.获取初步读取文件集合中所有初步读取文件的属性特征;根据各初步读取文件的属性特征以及服务提供方中服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合;其中目标数据集合的数量与服务器的数量相同。
188.在其中一个实施例中,属性特征包括文件名称;计算机程序被处理器执行时还实
现以下步骤:
189.提取各初步读取文件的文件名称中的数字字符;获取数字字符与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
190.在其中一个实施例中,属性特征包括单元数据量;计算机程序被处理器执行时还实现以下步骤:
191.根据各初步读取文件中的单元数据量以及服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合。
192.在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
193.确定各初步读取文件中的单元数据量与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
194.在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
195.获取各初步读取文件中的单元数据量之和,得到单元数据总数;根据单元数据总数与服务器的数量之间的比值,确定每个目标数据集合中的单元数据量;根据每个目标数据集合中的单元数据量,将各初步读取文件中的单元数据划分到对应目标数据集合中,得到多个目标数据集合。
196.在其中一个实施例中,每个服务器包括多个线程;计算机程序被处理器执行时还实现以下步骤:
197.分别调用多个线程并行读取与自身匹配的目标数据集合中单元数据。
198.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
199.服务提供方的多个服务器同时接收服务调用方发起的文件读取请求;其中,文件读取请求包括读取需求信息;各服务器根据读取需求信息,确定初步读取文件集合;其中,初步读取文件集合中包括至少一个初步读取文件,且每个初步读取文件中包括多个单元数据;各服务器根据预设的划分策略,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合;其中,每个目标数据集合中包括至少一个单元数据;各服务器对应读取与自身匹配的目标数据集合中的单元数据。
200.在其中一个实施例中,读取需求信息包括日期参数和文件所属目录;计算机程序被处理器执行时还实现以下步骤:
201.根据日期参数确定文件标识信息;确定文件所属目录下的候选数据文件;根据候选数据文件的文件名称和文件标识信息,确定与文件标识信息匹配的候选数据文件为初步读取文件;基于初步读取文件得到初步读取文件集合。
202.在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
203.获取初步读取文件集合中所有初步读取文件的属性特征;根据各初步读取文件的属性特征以及服务提供方中服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合;其中目标数据集合的数量与服务器的数量相同。
204.在其中一个实施例中,属性特征包括文件名称;计算机程序被处理器执行时还实现以下步骤:
205.提取各初步读取文件的文件名称中的数字字符;获取数字字符与服务器的数量之
间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
206.在其中一个实施例中,属性特征包括单元数据量;计算机程序被处理器执行时还实现以下步骤:
207.根据各初步读取文件中的单元数据量以及服务器的数量,对初步读取文件集合中的所有初步读取文件进行划分,得到多个目标数据集合。
208.在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
209.确定各初步读取文件中的单元数据量与服务器的数量之间的余数;将得到相同余数的初步读取文件划分至同一目标数据集合中,得到多个目标数据集合。
210.在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
211.获取各初步读取文件中的单元数据量之和,得到单元数据总数;根据单元数据总数与服务器的数量之间的比值,确定每个目标数据集合中的单元数据量;根据每个目标数据集合中的单元数据量,将各初步读取文件中的单元数据划分到对应目标数据集合中,得到多个目标数据集合。
212.在其中一个实施例中,每个服务器包括多个线程;计算机程序被处理器执行时还实现以下步骤:
213.分别调用多个线程并行读取与自身匹配的目标数据集合中单元数据。
214.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
215.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
216.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献