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

数据处理方法、装置以及计算机可读存储介质与流程

2022-11-23 09:54:23 来源:中国专利 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.图1是本技术实施例提供的数据处理方法的场景示意图;
58.图2是本技术实施例提供的数据处理方法的步骤流程示意图;
59.图3是本技术实施例提供的数据处理方法的另一步骤流程示意图;
60.图4是本技术实施例提供的数据处理方法的又一步骤流程示意图;
61.图5是本技术实施例提供的数据处理方法的应用场景示意图;
62.图6是本技术实施例提供的分片寻址映射框架的结构示意图;
63.图7是本技术实施例提供的数据处理装置的结构示意图;
64.图8是本技术实施例提供的数据处理装置的另一结构示意图;
65.图9是本技术实施例提供的电子设备的结构示意图。
具体实施方式
66.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
67.本技术实施例提供一种数据处理方法、装置以及计算机可读存储介质。本技术实施例将从数据处理装置的角度进行描述,该数据处理装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
68.例如,参见图1,为本技术实施例提供的数据处理方法的场景示意图。该场景包括服务器10、终端20,该服务器10与终端20之间通过无线通信连接,实现数据交互。
69.终端20上的客户端在发送业务数据请求至服务器10后,该服务器10可以接收客户端发送的业务数据请求,业务数据请求携带有业务处理任务;将业务处理任务进行分片,得到分片后的多个业务处理子任务;获取每个业务处理子任务对应的计算单元子区;通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。
70.该终端20可以通过客户端发送业务数据请求至服务器,使得服务器将业务数据请求携带的业务处理任务分片得到多个业务处理子任务,获取每个业务处理子任务对应的计算单元子区,并按照加载顺序依次返回每个业务处理子任务对应的业务子数据;接收服务器返回的每个业务处理子任务对应的业务子数据;根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染。
71.其中,数据处理可以包括接收业务数据请求、对业务处理任务进行分片、获取每个业务处理子任务的计算单元子区、加载业务数据、业务页面渲染等处理方式。
72.以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
73.在本技术实施例中,将从数据处理装置的角度进行描述,以该数据处理装置具体
可以集成在电子设备如服务器中。参见图2,图2为本技术实施例提供的一种数据处理方法的步骤流程示意图,终端或服务器上的处理器执行数据处理方法对应的程序时,该数据处理方法的具体流程如下:
74.101、接收客户端发送的业务数据请求。
75.其中,该客户端可以是终端上的客户端,例如,该客户端可以是即时通信客户端、影视客户端、金融客户端、图像客户端、地图客户端等,用于响应用户的输入或设置的数据,渲染、绘制及显示请求服务端(或服务器)下发的业务数据对应的业务页面,以满足用户的业务数据需求。
76.该业务数据请求可以是获取相关的业务数据发出的请求,例如获取基金业务对应的基金收益数据查看请求,用于向服务端(服务器)请求用户所需的目标业务数据。
77.其中,该业务数据请求携带有业务处理任务,该业务处理任务可以是客户端向服务器请求业务数据时的生成请求信息,用于请求服务端处理并返回该业务处理任务对应的业务数据,通过该业务处理任务可以反映用户对业务数据的需求。其中,该业务处理任务具体可以包含所请求的业务数据对应的业务对象信息(如业务的名称)、业务特性参数,其中,该业务特性参数可以是请求的业务数据对应的特性参数,如业务数据的时间特性或业务数据的地理特性等。示例性的,业务处理任务可以不具有务特性参数,仅以业务对象信息为例,该业务处理任务可以是“xx股票数据”、“xx地图数据”;若业务处理任务具有务特性参数,以地理特性为例,业务处理任务可以是“a地点的地图数据”、“b市/县的地图数据”或“c省的地图数据”;以时间特性为例,业务处理任务可以是“xx时xx分至xx时xx分的气象数据”等。以上仅仅为对业务处理任务的示例,本实施例对业务处理任务的实际内容不做限定。
78.在本实施例中,为了使得客户端在请求服务端下发准确的业务数据,满足用户的需求,根据业务处理任务生成对应的业务数据请求,使得在发送业务数据请求至服务端时,该业务数据请求携带有业务处理任务,使得业务数据请求具有目的性,提高向服务端请求业务数据的准确性。
79.在本技术实施例中,该业务数据请求还可以包括开始事件名称和业务处理任务,其中,该开始事件名称可以是包含业务数据类型的意图名称,该业务处理任务可以是开始事件名称对应的请求参数对象。例如,以“请求股票数据”作为开始事件数据为例,则业务处理任务可以是“a股票数据”、“a股票的一年内的数据”或“a股票的xxxx年xx月xx日至xxxx年xx月xx日的数据”等,此外,该业务处理任务还可以是其他相近或更详细的参数对象,此处不做限定。
80.在本技术实施例中,该业务数据请求还可以包括客户端标识,该客户端标识可以是发送该业务数据请求的客户端的身份信息,用于区别于终端上其他客户端或其他终端客户端,向服务器指示该业务数据请求的发送源,以及为服务器在后续返回业务数据时提供方向。例如,该客户端标识可以是clientid、客户端地址(如客户端的ip地址等)、客户端名称等。在一些实施方式中,识别或提取该业务数据请求对应的客户端标识,将该客户端标识注册到客户端信息列表,以clientid为例,将识别到的clientid注册到客户端信息列表(如clientaddres),以使得服务器将处理得到的业务数据返回该客户端标识对应的客户端,避免由于网络错误或数据紊乱引起返回业务数据错乱,提高返回业务数据的准确性和效率。
81.为了从大数据中准确获悉用户对业务数据的需求,在本实施例中,服务器提供业
务数据供应服务,且接收终端或终端上的客户端发送的业务数据请求,以根据接收的业务数据请求确定用户对业务数据需求;如根据业务数据请求携带的业务处理任务确定用户请求的业务数据,满足用户的信息需求。
82.102、将业务处理任务进行分片,得到分片后的多个业务处理子任务。
83.其中,该业务处理任务可以是客户端向服务器请求业务数据时的生成请求信息,用于请求服务端处理并返回该业务处理任务对应的业务数据,通过该业务处理任务可以反映用户对业务数据的需求。其中,该业务处理任务具体可以包含所请求的业务数据对应的业务对象信息(如业务的名称)、业务特性参数,其中,该业务特性参数可以是请求的业务数据对应的特性参数,如业务数据的时间特性或业务数据的地理特性等。示例性的,业务处理任务可以不具有务特性参数,仅以业务对象信息为例,该业务处理任务可以是“加载xx股票数据”、“加载xx地图数据”;若业务处理任务具有务特性参数,以地理特性为例,业务处理任务可以是“加载a地点的地图数据”、“加载b市/县的地图数据”或“加载c省的地图数据”;以时间特性为例,业务处理任务可以是“加载xx时xx分至xx时xx分的气象数据”等。以上仅仅为对业务处理任务的示例,本实施例对业务处理任务的实际内容不做限定。
84.其中,分片可以是指将到数据进行分片,以得到分片后的多个数据碎片,即得到多个小片数据,未分片的数据可以由多个小片数据组成。在对数据进行分片后,可以实现将数据分布到对应的节点或数据处理单元,该节点或数据处理单元可以服务器的处理器中计算子区域或数据处理子区域;以此,通过将数据分布到多个节点机以实现负载接近均衡的分布式数据处理,提高数据处理效率。需要说明的是,分片可以应用于对各种数据形式的对象,如分片的对象可以是数据任务、数据请求等具有数据属性的对象。
85.示例性的,将业务处理任务进行分片,得到分片后的多个业务处理子任务。以“加载a新闻消息文本”作为业务处理任务为例,新闻消息文本可以包括一下部分:标题、摘要、内容篇幅、结论或建议等,可以根据新闻消息文本各部分分片为对应的业务处理子任务,如“加载a新闻消息文本的标题和摘要”、“加载a新闻消息文本的内容篇幅”、“加载a新闻消息文本的结论或建议”,以上仅为加载a新闻消息文本”的分片示例,还可以根据“加载a新闻消息文本”的数据量进行等均分片,此处不做限定。
86.在本技术实施例中,为了使得业务处理任务可以分布在多个节点或数据处理单元进行数据处理,可以对业务处理任务进行分片,经过分片,可以得到多个业务处理子任务,以便于后续将该多个业务处理子任务分布或分发至对应的节点或数据处理单元,实现后续同步对多个业务处理子任务进行数据处理,提高数据处理效率。
87.在一些实施方式中,业务数据请求包括开始事件名称和业务处理任务,在对业务处理任务进行分片前,需要监听对应的开始事件名称,具体的,其实现过程可以为:监听或识别业务数据请求中的开始事件名称,在监听到或识别到业务数据请求中的开始事件名称时,将业务处理任务进行分片,得到分片后的多个业务处理子任务。例如,以“请求股票数据”作为开始事件名称,以“a股票的xxxx年xx月xx日至xxxx年xx月xx日的数据”作为业务处理任务,在监听到开始事件名称为“请求股票数据”时,将“a股票的xxxx年xx月xx日至xxxx年xx月xx日的数据”进行分片,可以得到以年为单位的多个“a股票的数据”、以月为单位的多个“a股票的数据”或以日为单位的多个“a股票的数据”,具体可根据实际需求而定,此处不做限定。
88.在一些实施方式中,步骤“将业务处理任务进行分片,得到分片后的多个业务处理子任务”,包括以下:
89.(1)获取业务处理任务的业务信息。
90.其中,该业务信息可以是业务处理任务的业务对象信息、业务特性参数等,在本实施例中,该的业务对象信息可以是业务数据的具体名称,如业务数据的类型属于“股票类型的数据”,则业务对象信息可以是股票的具体名称、代码、编号等,如“a(名称)股票”、“001(编号)股票”。该业务特性参数可以是业务数据的特性范围,以时间特性范围为例,可以是“001股票的xxxx年xx月xx日至xxxx年xx月xx日的数据”。
91.为了得到业务处理任务的业务信息,该业务信息的获取方式可以为:根据业务处理任务的词性信息,确定业务处理任务的业务信息。具体的,获取业务处理任务中的字符信息;根据该字符信息中的字符组合查找预设的词性信息表,或将字符信息中的字符组合与预设的词性信息表中的信息进行匹配,得到词组数据或词特征;根据查找或匹配到的词组数据及形容词-名词结构式确定业务处理任务的业务信息。
92.其中,根据查找或匹配到的词组数据及形容词-名词结构式确定业务处理任务的业务信息,其实现方式可以为:获取每个匹配到的词组数据(或词特征)的词属性;根据每个匹配到的词组数据(或词特征)的词属性填充至形容词-名词结构式,得到业务处理任务对应的目标结构式,提取目标结构式中的形容词属性对应的词组数据(或词特征)确定为业务特性参数,提取名词属性对应的词组数据(或词特征)确定为业务对象信息;根据业务特性参数和业务对象信息确定业务信息。需要说明的是,业务处理任务的业务信息可以仅包含业务特性参数或业务对象信息,此处不做限定。
93.通过以上步骤,可以获悉业务处理任务的业务信息,从而获悉用户对业务数据的实际需求量,以便于后续对业务处理任务的分片处理,提高分片时的处理效率。
94.(2)根据业务信息匹配对应的数据分片规则。
95.其中,该数据分片规则可以是分片维度、分片精度,表示在对业务数据进行分片时的密度,用于确定分片后的每个业务处理子任务的任务量,或确定子任务在业务处理任务中的比重。通过该数据分片规则,可以在后续对处理业务处理子任务进行分布式数据处理时,提高各个节点或数据处理单元之间均衡,进而提高数据处理效率。
96.需要说明的是,该数据分片规则可以是业务数据供应平台的相关人员设定的分片规则,并储存于服务器侧的数据库中。在设定相关的数据分片规则时,可以根据一个节点或数据处理单元在预设单位时间内的数据处理量,评估一个节点或数据处理单元在预设单位时间内所能接受的数据任务量,从而根据数据任务量确定各类型的业务处理任务对应的数据分片规则。例如,在确定分配规则之前,预先获取各类型的业务在不同维度时的数据量,并评估或测试一个节点或数据处理单元在预设单位时间内的数据处理量为a,根据该数据处理量a评估目标类型的业务在产生或拥有数据量a时的维度(如时间维度或地理维度等),从而根据确定的维度生成该类型业务数据对应的数据分片规则。进一步的,建立数据分片规则与业务信息的映射关系,以便于后续快速获取各类型业务的数据分片规则,提高数据处理效率。
97.示例性,预设单位时间是5秒,一个节点或数据处理单元在5秒内的数据处理量为100mb(mbyte,兆字节),以股票业务作为目标类型的业务,由于股票类型的业务数据量是根
据时间维度的推移而增加的,假设一个月的股票类型业务数据量为50mb,那么,根据100mb的数据处理量评估股票类型业务在产生或拥有100mb的数据量时的维度为2个月,则以2个月作为分片维度,以该分片维度确定股票类型业务数据对应的数据分片规则。
98.示例性的,预设单位时间是2秒,一个节点或数据处理单元在2秒内的数据处理量为60mb,以地图数据业务作为目标类型的业务,由于地图类型的业务数据量是根据地理面积的推移而增加的,假设世界各地县城的平均地理数据量为30mb,,那么,根据60mb的数据处理量评估地图类型业务在产生或拥有60mb的数据量时的维度为2个县城单位,则以2个县城单位作为分片维度,以该分片维度确定地图类型业务数据对应的数据分片规则。
99.为了获取数据分片规则,以为后续的分片过程提供依据,在本实施例中,可以根据业务信息去匹配对应的数据分片规则。其中,该数据分片规则的匹配过程可以为:提取业务信息中的业务对象信息,及提取业务信息中的业务特性参数,根据业务对象信息及业务特性参数匹配对应的数据分片规则,以用于后续的业务处理任务的分片处理,提高后续的业务数据的处理效率。
100.(3)根据匹配到的数据分片规则对业务处理任务进行分片,得到分片后的多个业务处理子任务。
101.为了提高服务器对业务数据的处理效率,本实施例通过任务分片的方式,将业务处理任务进行分片,得到多个业务处理子任务,以使得后续通过多个节点或数据处理单元分别处理对应的业务处理子任务,提高数据处理效率。
102.在一些实施方式中,步骤“根据匹配到的数据分片规则对业务处理任务进行分片,得到分片后的多个业务处理子任务”,可以包括(3.1)、(3.2)以及(3.3):
103.(3.1)提取数据分片规则中的分片密度。
104.其中,该数据分片规则包含分片密度,该分片密度可以是分片维度、分片精度等。例如,以时间维度为例,分片密度可以是1分钟、1小时、1天、一周、1个月、3个月等;又如,以地理维度为例,分片密度可以是100平方米、1平方千米、一个县级市、一个省份、两个省份等;以上仅为分片密度的相关示例,该分片密度还可以包括其他用于切割或分片数据的分片单位,此处不做一一举例。
105.为了提高后续对业务处理任务进行分片时的精确性,本实施例通过提取数据分片规则的分片密度,以在后续根据该分片密度对业务处理任务进行分片。
106.(3.2)获取业务处理任务的数据请求范围。
107.该数据请求范围可以是业务特性参数,用于确定业务处理任务对应的业务数据维度,即用户请求的业务数据的维度。例如,业务处理任务为“6月份至12月份的气象数据”,则数据请求范围可以是“6月份至12月份”。
108.其中,在获取业务处理任务的数据请求范围时,可以根据业务处理任务的词性信息进行识别,以得到业务处理任务对应的数据请求范围。此外,还可以根据训练好的文字识别模型对业务处理任务进行特征提取,以获取业务处理任务对应的数据请求范围。
109.(3.3)根据分片密度对业务处理任务的数据请求范围进行分片,得到分片后的多个业务处理子任务。
110.本实施例为了获取得到多个业务处理子任务,在获取业务处理任务的数据请求范围以及数据分片规则中的分片密度后,基于分片密度,将业务处理任务的数据请求范围进
行分片,以得到多个业务处理子任务,每个业务处理子任务对应一个数据请求子范围。
111.本技术实施例通过任务分片的方式,将业务处理任务进行分片,得到多个业务处理子任务,以使得后续通过多个节点或数据处理单元分别处理对应的业务处理子任务,以便于后续提高服务器对业务数据的处理效率。
112.103、获取每个业务处理子任务对应的计算单元子区。
113.其中,该计算单元子区可以是数据处理单元,其具有特定的业务逻辑,用于对接收到的数据请求、数据任务等消息进行计算、加载、统计等数据处理。在本实施例中,该计算单元子区为上述步骤描述中的节点或数据处理单元,该节点或数据处理单元可以服务器的处理器中计算子区域或数据处理子区域。
114.其中,每个计算单元子区具有相应的单元标识,该单元标识可以是计算单元子区的地址、编号、名称等,该单元标识用于指示该计算单元子区可处理的业务子信息对应的业务处理子任务。在创建各个业务处理子任务对应的计算单元子区时,将创建的计算单元子区的单元标识与业务子信息进行绑定,以得到单元标识与业务子信息的映射关系。因此,在本实施例中,为了获取每个业务处理子任务对应的计算单元子区,可以基于单元标识与业务子信息的映射关系,查找业务子信息对应的单元标识,根据查找到的单元标识确定业务处理子任务对应的计算单元子区。以便于后续通过确定的计算单元子区处理对应的业务处理子任务。
115.在一些实施方式中,步骤“获取每个业务处理子任务对应的计算单元子区”,包括以下:
116.(1)获取每个业务处理子任务的业务子信息。
117.由于业务处理任务具有对应的业务信息,该业务信息可以是业务对象信息、业务特性参数等;在对业务处理任务进行分片后,其对应的业务特性参数也会被划分为多个子参数,即业务特性子参数。示例性的,业务处理任务为“00时00分至24时00分的气象数据”,则业务对象信息可以是“气象数据”,业务特性参数可以是“00时00分至24时00分”,在根据相关的数据分片规则(如每12小时的分片密度)对业务处理任务进行分片后,得到2个业务处理子任务,例如可以为“00时00分至12时00分的气象数据”和“12时00分至24时00分的气象数据”,两者对应的业务特性子参数分别为“00时00分至12时00分”和“12时00分至24时00分”,两者的业务对象信息都是“气象数据”。
118.在本实施例中,在获取业务处理子任务的业务特性子参数时,可以根据业务处理任务的词性信息进行识别,以得到业务处理子任务的业务特性子参数。此外,还可以根据训练好的文字识别模型对业务处理任务进行特征提取,以获取业务处理子任务的业务特性子参数,此处不做限定。
119.(2)根据业务子信息查找计算单元子区列表中与业务处理子任务对应的计算单元子区。
120.其中,该计算单元子区列表包含预设的业务子信息与单元标识之间的映射关系。由于每个计算处理子区具有对应的单元标识,根据业务处理子任务的业务子信息查找该计算单元子区列表,以确定该业务子信息对应的目标单元标识,根据该目标单元标识确定对应的计算单元子区。
121.在一些实施方式中,步骤“根据业务子信息查找计算单元子区列表中与业务处理
子任务对应的计算单元子区”,可以包括以下:
122.(2.1)检测计算单元子区列表是否包含每个业务子信息对应的计算单元子区。
123.为了提高对业务处理任务的处理效率,可以检测分片得到的每个业务处理子任务是否具有对应的计算单元子区。该检测过程可以为:获取每个业务处理子任务的业务子信息,根据该业务子信息查找计算单元子区列表,以确定该计算单元子区列表是否包含该业务子信息对应的单元标识,以此,确定是否包含该业务处理子任务对应的计算单元子区。
124.需要说明的是,每个业务处理子任务需要通过特定业务逻辑的计算单元子区进行数据处理,即每个计算单元子区仅能处理相关业务逻辑(如业务子信息、或与业务子信息对应的逻辑关系)的业务处理子任务。因此,在首次对某个业务处理子任务进行处理时,由于服务端不存在该业务处理子任务对应的计算单元子区,则需要创建该业务处理子任务对应的计算单元子区,并建立两者之间的关联关系,如业务子信息与单元标识之间的映射关系,将该映射关系信息添加至计算单元子区列表,以为后续具有相应业务子信息的业务处理子任务提供数据处理;进一步的,若待处理的业务处理子任务具有对应的历史处理记录,表示该待处理的业务处理子任务具有对应的计算单元子区,此时,可通过查找该计算单元子区列表,获取该待处理的业务处理子任务对应的计算单元子区。
125.(2.2)将不包含计算单元子区的业务处理子任务确定为目标业务处理子任务,并创建每个目标业务处理子任务对应的计算单元子区。
126.在本技术实施例中,为了确保每个业务处理子任务能够被计算单元子区执行,在检测到计算单元子区列表不包含某个业务处理子任务对应的计算单元子区时,表示服务端首次对该业务处理子任务进行数据处理,将该首次处理的业务处理子任务确定为目标业务处理子任务,并创建具有目标业务处理子任务对应业务逻辑的计算单元子区。
127.(2.3)将创建的计算单元子区更新至计算单元子区列表,得到更新后的计算单元子区列表,并基于更新后的计算单元子区列表,获取每个业务处理子任务对应的计算单元子区。
128.为了让新创建的计算单元子区能够处理后续其他等同的业务处理子任务,可以将服务端内创建的计算单元子区进行反复利用。在本实施例中,将创建的计算单元子区增加至计算单元子区列表,以对计算单元子区列表进行更新;其中,更新计算单元子区列表的方式可以为:获取新创建的计算单元子区对应的单元标识,获取目标业务处理子任务对应的业务子信息;建立单元标识与业务子信息之间的映射关系,以使得计算单元子区与对应的业务处理子任务之间具有映射关系;将两者之间的映射关系添加至计算单元子区列表,以对计算单元子区列表进行更新。
129.进一步的,基于更新后的计算单元子区列表,获取每个业务处理子任务对应的计算单元子区。可以理解的是,在获取每个业务处理子任务对应的计算单元子区时,可以根据计算单元子区列表中计算单元子区与对应的业务处理子任务之间的映射关系,可以确定每个业务处理子任务对应的计算单元子区。
130.通过以上方式,可以在识别到相关的业务处理子任务不具有对应的计算单元子区时,创建该业务处理子任务对应的计算单元子区,并将创建的计算单元子区更新至计算单元子区列表,以便于后续快捷调用相关的计算单元子区处理等同的业务处理子任务,达到“一次初始化,反复复用”的效果,提高对业务处理子任务的处理效率。
131.其中,在一些实施方式中,步骤“创建每个目标业务处理子任务对应的计算单元子区”,可以包括(2.21)、(2.22)以及(2.23):
132.(2.21)根据所有的目标业务处理子任务确定对应的目标业务数据量。
133.其中,该目标业务数据量是服务端处理所有的目标业务处理子任务时的数据量。
134.由于目标业务处理子任务为首次在服务端进行数据处理,则服务端不具有对应的计算单元子区,因此,需要建立具有该目标业务数据子任务的业务逻辑的计算单元子区。
135.在本技术实施例中,为了获悉后续需要建立的计算单元区的容量或大小,可以预先评估所有(待处理的)目标业务处理子任务对应的目标业务数据量,以在后续通过目标业务数据量预估计算单元区的需求量,准确预估待创建的计算单元区的容量或大小需求,提高创建计算单元子区效率。
136.(2.22)根据目标业务数据量预估目标计算单元区。
137.在本技术实施例中,为了明确建立计算单元区时的容量或大小需求,根据评估的目标业务数据量预估即将创建的计算单元区的容量或大小,准确预估待创建的计算单元区的容量或大小需求,提高创建计算单元子区效率。
138.(2.23)将预估的目标计算单元区进行分区,得到每个目标业务处理子任务对应的计算单元子区。
139.为了对每个待处理的目标业务处理子任务进行数据处理,需要针对每个目标业务处理子任务创建对应的计算单元子区。其中,计算单元子区的创建过程可以为:根据所有的目标业务处理子任务的数量,对该目标计算单元区进行分区,得到多个计算子单元,并根据每一目标业务处理子任务的业务子信息设置每一计算子单元,得到每一目标业务处理子任务对应的计算单元子区,该计算单元子区具有相应的业务逻辑,可以针对处理某一类型的目标业务处理子任务,具有可靠性。
140.104、通过每一计算单元子区加载每一业务处理子任务对应的业务子数据。
141.为了提高服务器端在读取或加载业务处理任务对应的业务数据的效率,本实施例在分片得到每个业务处理子任务以及确定对应的计算单元子区后,可以通过每一计算单元子区对相关的业务处理子任务进行计算、加载等数据处理。需要说明的是,每一计算单元子区是根据对应的业务处理子任务来选取的,即选取的每一计算单元子区通过仅处理相关的业务处理子任务,以此,得到每一业务处理子任务对应的业务子数据。
142.其中,步骤“通过每一计算单元子区加载每一业务处理子任务对应的业务子数据”,可以包括以下:
143.(1)将每个业务处理子任务发送至对应的计算单元子区。
144.在获取到每个业务处理子任务对应的计算单元子区后,可以将该业务处理子任务发送至对应的计算单元子区,以使得该计算单元子区对该业务处理子任务进行处理。
145.(2)通过计算单元子区识别对应的业务处理子任务的业务子信息,并根据业务子信息加载对应的数据,得到业务处理子任务对应的业务子数据。
146.由于每个计算单元子区具有对应的业务逻辑,其通常仅能处理对应的业务处理子任务。在本实施例中,每个计算单元子区在对业务处理子任务进行处理时,首先,可以通过计算单元子区识别业务处理子任务的业务子信息,由于该业务子信息可以包括业务对象信息和业务特征子参数,因此,在执行业务处理子任务时,可以加载该业务子信息对应的业务
子数据,从而得到业务处理子任务对应的业务子数据。
147.通过以上方式中,每个计算单元子区在加载业务处理子任务对应的业务子数据时,根据该业务处理子任务的业务子信息加载对应的业务子数据,可以具有针对性地加载业务子数据,提高加载业务子数据时的准确性。
148.在一些实施方式中,步骤“通过每一计算单元子区加载每一业务处理子任务对应的业务子数据”之前,还可包括以下:
149.统计当前的可用运算资源量;
150.评估所有的计算单元子区所需的运算资源量;
151.在该可用运算资源量小于所需的运算资源量时,根据业务处理任务的业务信息确定多个业务处理子任务之间串行处理顺序,并根据串行处理顺序生成任务处理路径;
152.在该可用运算资源量大于或等于所需的运算资源量时,确定多个业务处理子任务之间的并行处理路径,并根据并行处理路径生成任务处理路径;
153.则步骤“通过每一计算单元子区加载每一业务处理子任务对应的业务子数据”,包括:基于任务处理路径,通过每一计算单元子区加载每一业务处理子任务对应的业务子数据。
154.通过以上方式中,可以充分利用数据处理端(如服务端)的可用运算资源量,利用该可用运算资源运行各个计算单元子区,有效节省服务器加载业务子数据的时间,以提高对业务数据任务进行处理时的效率。
155.需要说明的是,步骤104中的各个实施方式之间是可以通过组合实施,具体可根据实际情况而定。
156.105、将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。
157.为了避免用户在发送目标业务的业务数据请求后,需要等待该目标业务的全量数据下载,并在下载全量数据完毕后才对业务页面进行渲染,造成业务页面的长时间空白。在本技术实施例中,在任意一个计算单元子区加载完对应业务处理子任务的业务子数据时,可以及时将该加载完的业务子数据返回至客户端;以使得客户端通过分段获取各个业务子数据,避免通过缓存加载全量数据的问题,以此,节省客户端获取全量业务数据的时间,且客户端在接收到每一业务子数据时,及时根据该业务子数据对目标业务页面进行分段渲染,如,渲染该业务子数据对应的图像,以此,提高业务页面的渲染效率,提高用户体验。
158.在本技术实施例中,为了确保将业务子数据返回至客户端的及时性,可以对各个计算单元子区进行检测,以确定是否加载完成相应的业务子数据。在一些实施方式中,该检测过程可以包括:获取每个业务处理子任务对应的计算单元子区的单元标识;间隔预设单位时间,检测每个单元标识对应的计算单元子区的数据处理状态;在检测到计算单元子区的数据处理状态为数据加载完成时,将该计算单元子区加载的业务子数据返回至客户端,即在检测到每一计算单元子区加载完成每一业务处理子任务对应的业务子数据时,将每一业务处理子任务对应的业务子数据返回至客户端。通过该方式,可确保相应的业务子数据能够及时返回至客户端,提高数据处理后的返回效率。
159.可以理解的是,在本技术实施例中,服务器在处理业务数据请求对应的业务处理任务时,将业务处理任务分片得到多个业务处理子任务,由于每个业务处理子任务对应的
数据量少于业务处理任务的业务数据量,在通过每个计算单元子区分别加载处理对应的业务子数据后,通过分段发送的方式,及时将该加载完的业务子数据返回至客户端,无需等待全部业务子数据加载完成;使得客户端仅在接收到的一个业务子数据时,即刻对业务页面的进行分段渲染,无需接收全部业务子业务。因此,可节省客户端获取每个业务子数据的时间,且通过对业务页面的分段渲染方式,将提前接收到的业务子数据进行分段渲染,加快了业务页面的渲染速度,提高客户端对业务数据的处理效率。
160.由以上可知,本技术实施例可以接收客户端发送的业务数据请求,业务数据请求携带有业务处理任务;将业务处理任务进行分片,得到分片后的多个业务处理子任务;获取每个业务处理子任务对应的计算单元子区;通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。以此,服务器通过将业务处理任务分片得到多个业务处理子任务,并根据每个业务处理子任务分区得到对应的计算单元子区,通过每个计算单元子区分流加载每个业务处理子任务对应的业务子数据,有效节省服务器加载业务子数据的时间,从而节省终端获取业务子数据的时间;此外,通过将每个业务处理子任务对应的业务子数据分别发送至终端,使得终端应用根据每个业务处理子任务对应的业务子数据进行分段渲染业务页面,提高终端处理业务子数据时的效率。
161.根据上面实施例所描述的方法,以下将举例作进一步详细说明。
162.在本技术实施例中,将从数据处理装置的角度进行描述,以该数据处理装置具体可以集成在电子设备如终端设备中,需要说明的是,该终端设备为操控终端,即用户终端,用户可通过该用户终端请发送业务数据请求,并根据接收的业务子数据对业务页面进行分段渲染。
163.参见图3,图3为本技术实施例提供的一种数据处理方法的另一步骤流程示意图,终端上的处理器执行数据处理方法对应的程序时,该数据处理方法的具体流程如下:
164.201、通过客户端发送业务数据请求至服务器,使得服务器将业务数据请求携带的业务处理任务分片得到多个业务处理子任务,获取每个业务处理子任务对应的计算单元子区,并按照加载顺序依次返回每个业务处理子任务对应的业务子数据。
165.在检测到用户在终端上的客户端输入、选择或设置相关的业务信息时,终端或终端上的客户端根据检测到的业务信息生成业务数据请求。在生成业务数据请求后,终端通过客户端将该业务数据请求发送至服务器(服务端)。使得服务器在接收到业务数据请求后,首先,将业务数据请求所携带的业务处理任务进行分片,得到分片后的多个业务处理子任务;然后,获取每个业务处理子任务对应的计算单元子区;接着,通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;最后,将每一业务处理子任务对应的业务子数据返回至客户端。
166.在本技术实施例中,服务器在处理业务数据请求对应的业务处理任务时,将业务处理任务分片得到多个业务处理子任务,并通过分片处理的方式,利用每一计算单元子区加载每一业务处理子任务对应的业务子数据;可以理解的是,由于每个业务处理子任务对应的数据量少于业务处理任务的业务数据量,通过分片处理数据的方式,可提高服务器在加载处理相应的业务数据时的处理速度和效率。进一步的,在通过每个计算单元子区分别加载处理对应的业务子数据后,通过分段发送的方式,及时将该加载完的业务子数据返回
至客户端,无需等待全部业务子数据加载完成。以此,终端上的客户端能够及时接收到服务器分别发送业务子数据,并在后续进行数据处理。
167.202、接收服务器返回的每个业务处理子任务对应的业务子数据。
168.在本技术实施例中,服务器在返回各个业务子数据时,可以具体包括总分片数、中间结果事件名称、业务子数据、业务子数据对应的计算单元子区的编号等。
169.例如,业务处理任务为“加载2019年01月01日至2019年12月30日的a股票数据”,服务器在对业务处理任务进行分片时,将业务处理任务分为3个业务处理子任务,则总分片数可以为3。中间结果事件名称可以是“返回a股票数据”。而业务处理子任务对应的业务子数据可以为“a股票的2019年01月01日至2019年04月30日的数据”、“a股票的2019年05月01日至2019年08月31日的数据”及“a股票的2019年09月01日至2019年12月30日的数据”。
170.由于每个业务子数据由对应的计算单元子区加载处理得到,在本次对业务数请求携带的业务处理任务进行处理时,分片数量为3,可视为创建3个计算单元子区或调用3个计算单元子区,以此,可根据业务处理任务的业务逻辑对这3个计算单元子区进行编号,如根据业务处理任务中的时间特性对各计算单元子区进行编号,加载“a股票的2019年01月01日至2019年04月30日的数据”的计算单元子区的编号为1,加载“a股票的2019年05月01日至2019年08月31日的数据”的计算单元子区的编号为2,加载“a股票的2019年09月01日至2019年12月30日的数据”的计算单元子区的编号为3。
171.203、根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染。
172.在本技术实施例中,终端上的客户端在收到一个业务处理子任务对应的业务子数据时,即可根据该业务子数据对业务页面进行渲染,即将各个业务子数据独立渲染,无需等待所有的业务子数据接收完成,以此,实现各个业务子数据之间的分段渲染,提高终端在处理业务数据时的效率。
173.在一些实施方式中,步骤“根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染”可以包括以下:
174.(1)获取每个业务子数据对应的计算单元子区的编号。
175.其中,每个计算单元子区的编号是由服务器返回的。
176.(2)获取多个业务处理子任务对应的分片总量。
177.其中,该分片总量是由服务器返回的。
178.(3)根据分片总量及计算单元子区的编码生成业务页面的渲染进度系数。
179.为了使得后续在业务页面的渲染过程中显示渲染进度,便于用户实时了解客户端在处理业务数据时的进度,本实施例可在接收到服务器返回的业务子数据后,即时生成对应的渲染进度系数。其中,该渲染进度系数的生成方式可以为:根据计算单元子区的编码与分片总量的比值,确定对应的渲染进度系数。
180.例如,分片总量为5,当前接收到的业务子数据对应的计算单元子区编码为2,则该渲染进度系数为2/5,即40%。
181.通过该渲染进度系数可以反映客户端在根据当前的业务子数据独业务页面进行渲染时的进度,便于用户实时了解客户端在处理业务数据时的进度,提高用户的体验。
182.(4)根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染,并显示当前业务页面的渲染进度系数。
183.其中,在根据当前的业务子数据对业务页面进行分段渲染时,可以将上述生成的渲染进度系数在持续渲染中的业务页面进行显示,通过该渲染进度系数反应业务页面渲染进度,例如,该渲染进度系数在业务页面的显示形式可以为:进度条、百分比、进度条与百分比结合等,还可以为其他显示形式,此处不做限定。
184.通过本实施方式,在根据当前的业务子数据独业务页面进行渲染时的进度,便于用户实时了解客户端在处理业务数据时的进度,提高用户的体验。
185.由以上可知,本技术实施例可以通过客户端发送业务数据请求至服务器,使得服务器将业务数据请求携带的业务处理任务分片得到多个业务处理子任务,获取每个业务处理子任务对应的计算单元子区,并按照加载顺序依次返回每个业务处理子任务对应的业务子数据;接收服务器返回的每个业务处理子任务对应的业务子数据;根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染。以此,服务器通过将业务处理任务分片得到多个业务处理子任务,并根据每个业务处理子任务分区得到对应的计算单元子区,通过每个计算单元子区分流加载每个业务处理子任务对应的业务子数据,有效节省服务器加载业务子数据的时间,从而节省终端获取业务子数据的时间;此外,通过将每个业务处理子任务对应的业务子数据分别发送至终端,使得终端应用根据每个业务处理子任务对应的业务子数据进行分段渲染业务页面,提高终端处理业务子数据时的效率。
186.以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
187.参见图4,图4是本技术实施例提供的数据处理方法的又一步骤流程示意图,图5是本技术实施例提供的数据处理方法的应用场景示意图,图6是本技术实施例提供的分片寻址映射框架的结构示意图;为了便于理解,请一并结合图4、图5、以及图6,对本技术实施例进行描述。
188.在本技术实施例中,将从数据处理装置的角度进行描述,该数据处理装置具体可以集成在电子设备如终端、服务器等设备中。终端和服务器上的处理器共同执行数据处理方法对应的程序时,该数据处理方法对应的具体时序流程如下:
189.301、终端通过客户端发送业务数据请求至服务器。
190.在检测到用户在终端上的客户端a输入、选择或设置相关的业务信息时,终端或终端上的客户端a根据检测到的业务信息生成业务数据请求;在生成业务数据请求后,终端通过客户端a将该业务数据请求发送至服务器b(服务端)。
191.在本技术实施例中,终端上的客户端a与服务器b之间的通信方式可通过任意一种通信方式实现。例如,终端上的客户端a与服务器b之间的通信方式可通过套接字(socket)的方式实现,套接字使用传输控制协议(tcp)提供了两台计算机之间的通信机制;客户端a程序创建一个套接字,并尝试连接服务器b的套接字,当连接建立时,服务器b会创建一个socket对象,客户端a和服务器b现在可以通过对socket对象的写入和读取来进行通信。
192.例如,在检测到用户在终端上的客户端a输入、选择或设置相关的业务信息时,根据检测到的业务信息生成业务数据请求,如客户端a创建一个开始套接字(startsocket),其中包含开始事件名称(event)、客户端a标识(clientid)和业务处理任务(request),将开始套接字(startsocket)发送至服务器b。其中,假设业务请求场景为:用户请求获取“2019年01月01日至2019年12月30日的a股票数据”,那么,开始事件名称可以是“请求股票数据”,业务处理任务可以是“加载2019年01月01日至2019年12月30日的a股票数据”。
193.302、服务器接收客户端发送的业务数据请求,将业务数据请求携带的业务处理任务进行分片,得到分片后的多个业务处理子任务。
194.为了使得业务处理任务可以分布在多个节点或数据处理单元进行数据处理,可以对业务处理任务进行分片,经过分片,可以得到多个业务处理子任务,以便于后续将该多个业务处理子任务分布或分发至对应的节点或数据处理单元,实现后续同步对多个业务处理子任务进行数据处理,提高数据处理效率。
195.示例性的,服务器b接收客户端a发送的业务数据请求,如服务器b接收客户端a发送的开始套接字(startsocket),首先,将其中的客户端a标识(clientid)注册到服务器b的客户端a信息列表(clientaddres)中,以使得服务器b将处理得到的业务数据返回该客户端a标识对应的客户端a,避免由于网络错误或数据紊乱引起返回业务数据错乱,提高返回业务数据的准确性和效率。
196.然后,服务器b端在监听到或识别到业务数据请求中的开始事件名称时,将业务处理任务(request)转发给对应的分片寻址映射框架(akka cluster sharding,简称sharding模块或actor sharding模块),使得sharding模块c对业务处理任务进行分片,得到分片后的多个业务处理子任务。
197.最后,sharding模块c统计这多个业务处理子任务的总分片数,及分片总量,并生成中间结果事件名称,以“请求股票数据”作为开始事件名称为例,中间结果事件名称可以是“返回股票数据”。并将总分片数(total)和中间结果事件名称返回服务器b中的开始套接字(startsocket),以使得服务器b发送开始套接字(startsocket)至客户端a。需要说明的是,服务器b发送的开始套接字(startsocket)中还可包括数据结果(data),该数据结果(data)可以为空数据,也可以为预处理数据,如在将“加载2019年01月01日至2019年12月30日的a股票数据”的业务处理任务分为3个业务处理子任务时,分片数量为3,由于分片过程是根据业务特性参数(时间特性)进行分片的,则可将这3个业务处理子任务的业务特性子参数作为预处理数据,如“2019年01月01日至2019年04月30日”、2019年05月01日至2019年08月31日及“2019年09月01日至2019年12月30日”,并填充至数据结果(data),以使得客户端a根据数据结果(data)中的预处理数据对业务页面进行预处理,如提前渲染业务页面中的股票的时间坐标轴等。
198.303、服务器获取每个业务处理子任务对应的计算单元子区。
199.其中,“获取每个业务处理子任务对应的计算单元子区d”可以包括:获取每个业务处理子任务的业务子信息;检测计算单元子区d列表是否包含每个业务子信息对应的计算单元子区d,将不包含计算单元子区d的业务处理子任务确定为目标业务处理子任务,并创建每个目标业务处理子任务对应的计算单元子区d;将创建的计算单元子区d更新至计算单元子区d列表,得到更新后的计算单元子区d列表,并基于更新后的计算单元子区d列表,获取每个业务处理子任务对应的计算单元子区d。
200.示例性的,sharding模块c包含一个计算单元(actor)和一个计算单元子区d地址注册表,该计算单元子区d地址注册表可以是本技术中的计算单元子区d列表。sharding模块c在对业务处理任务(request)进行分片,根据分片结果查找计算单元子区d地址注册表,以确定计算单元子区d地址注册表中是否包含各业务处理子任务对应的计算单元子区d,在查找到对应的计算单元子区d时,直接调用即可,在无法查找到该计算单元子区d时,需要创
建对应的计算单元子区d。
201.在无法查找到该计算单元子区d时,创建无法查找到的计算单元子区d。例如,根据分片结果落在actor中进行分区大小设置,并且同时主动的获取对应的计算单元子区d,如actor1、actor2、actor3等,并将各计算单元子区d的地址加入计算单元子区d地址注册表。
202.需要说明的是,每个业务处理子任务需要通过特定业务逻辑的计算单元子区d进行数据处理,即每个计算单元子区d仅能处理相关业务逻辑(如业务子信息、或与业务子信息对应的逻辑关系)的业务处理子任务。因此,在首次对某个业务处理子任务进行处理时,由于服务端不存在该业务处理子任务对应的计算单元子区d,则需要创建该业务处理子任务对应的计算单元子区d,并建立两者之间的关联关系,如业务子信息与单元子区地址之间的映射关系,将具有该映射关系的单元子区地址添加至计算单元子区d地址注册表,以为后续具有相应业务子信息的业务处理子任务提供数据处理;进一步的,若待处理的业务处理子任务具有对应的历史处理记录,表示该待处理的业务处理子任务具有对应的计算单元子区d,此时,可通过查找该计算单元子区d地址注册表,获取该待处理的业务处理子任务对应的计算单元子区d。
203.304、服务器通过每一计算单元子区加载每一业务处理子任务对应的业务子数据。
204.为了得到每个业务处理子任务对应的业务子数据,可以通过每一计算单元子区d对相关的业务处理子任务进行计算、加载等数据处理。需要说明的是,每一计算单元子区d是根据对应的业务处理子任务来选取的,即选取的每一计算单元子区d通过仅处理相关的业务处理子任务,以此,得到每一业务处理子任务对应的业务子数据。
205.例如,sharding模块c将request分片后,将消息通知给相应的子actor,如将业务处理子任务发送给对应的子actor,使得不同的actor负责分片后的需要加载处理的数据工作,得到各个子actor加载处理的业务子数据。
206.305、服务器将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端。
207.为了节省客户端a获取每个业务子数据的时间,在任意一个计算单元子区d加载完对应业务处理子任务的业务子数据时,可以及时将该加载完的业务子数据返回至客户端a。
208.为了确保将业务子数据返回至客户端a的及时性,可以对各个计算单元子区d进行检测,以确定是否加载完成相应的业务子数据。在一些实施方式中,该检测过程可以包括:获取每个业务处理子任务对应的计算单元子区d的单元标识;间隔预设单位时间,检测每个单元标识对应的计算单元子区d的数据处理状态;在检测到计算单元子区d的数据处理状态为数据加载完成时,将该计算单元子区d加载的业务子数据返回至客户端a,即在检测到每一计算单元子区d加载完成每一业务处理子任务对应的业务子数据时,将每一业务处理子任务对应的业务子数据返回至客户端a。通过该方式,可确保相应的业务子数据能够及时返回至客户端a,提高数据处理后的返回效率。
209.例如,在子actor加载处理对应的业务子数据后,sharding模块c将子actor加载处理完相关数据后返回服务器b预创建的中间套接字(middlesocket),该中间套接字可以包括业务子数据(data)、总分片数(total)、子actor的编号(current)、中间结果事件名称(event)。
210.需要说明的是,服务器b中的sharding模块c不断得从分发的子actor获取数据结
果(业务子数据)转发给客户端a,会主动通过套接字(socket)连接推送给对应的客户端a。当所有的子actor分片都处理完数据并且返回过后,sharding模块c会发出一个结束事件名称(finishsocket),其中包含结束事件名称,如“结束返回股票数据”、“停止返回股票数据”等。
211.306、终端通过客户端接收服务器返回的每个业务处理子任务对应的业务子数据。
212.在本技术实施例中,服务器b在返回各个业务子数据时,可以具体包括业务子数据(data)、总分片数(total)、子actor的编号(current)、中间结果事件名称(event)等。
213.例如,业务处理任务为“加载2019年01月01日至2019年12月30日的a股票数据”,服务器b在对业务处理任务进行分片时,将业务处理任务分为3个业务处理子任务,则总分片数可以为3。中间结果事件名称可以是“返回a股票数据”。而业务处理子任务对应的业务子数据可以为“a股票的2019年01月01日至2019年04月30日的数据”、“a股票的2019年05月01日至2019年08月31日的数据”及“a股票的2019年09月01日至2019年12月30日的数据”。进一步的,加载“a股票的2019年01月01日至2019年04月30日的数据”的子actor的编号为1,加载“a股票的2019年05月01日至2019年08月31日的数据”的子actor的编号为2,依次类推。
214.307、终端通过客户端根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染。
215.其中,客户端a在对业务页面进行渲染时,其实现方式可以为:根据分片总量及计算单元子区d的编码生成业务页面的渲染进度系数;根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染,并显示当前业务页面的渲染进度系数。
216.例如,总分片数为3,当前接收到的业务子数据对应的计算单元子区d编码为2,则该渲染进度系数为2/3,即66.7%;当前接收到的业务子数据对应的计算单元子区d编码为3,则该渲染进度系数为3/3,即100%。
217.需要说明的是,在根据当前的业务子数据对业务页面进行分段渲染时,可以将上述生成的渲染进度系数在持续渲染中的业务页面进行显示,通过该渲染进度系数反应业务页面渲染进度,例如,该渲染进度系数在业务页面的显示形式可以为:进度条、百分比、进度条与百分比结合等,还可以为其他显示形式,此处不做限定。
218.由以上可知,本技术实施例可以接收客户端发送的业务数据请求,业务数据请求携带有业务处理任务;将业务处理任务进行分片,得到分片后的多个业务处理子任务;获取每个业务处理子任务对应的计算单元子区;通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。以此,服务器通过将业务处理任务分片得到多个业务处理子任务,并根据每个业务处理子任务分区得到对应的计算单元子区,通过每个计算单元子区分流加载每个业务处理子任务对应的业务子数据,有效节省服务器加载业务子数据的时间,从而节省终端获取业务子数据的时间;此外,通过将每个业务处理子任务对应的业务子数据分别发送至终端,使得终端应用根据每个业务处理子任务对应的业务子数据进行分段渲染业务页面,提高终端处理业务子数据时的效率。
219.以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
220.为了更好地实施以上方法,本技术实施例还提供一种数据处理装置,该数据处理装置可以集成在电子设备,比如服务器或终端等电子设备中。
221.例如,如图7所示,该数据处理装置可以包括接收单元501、分片单元502、获取单元503、加载单元504和返回单元505。
222.接收单元501,用于接收客户端发送的业务数据请求,业务数据请求携带有业务处理任务;
223.分片单元502,用于将业务处理任务进行分片,得到分片后的多个业务处理子任务;
224.获取单元503,用于获取每个业务处理子任务对应的计算单元子区;
225.加载单元504,用于通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;
226.返回单元505,用于将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。
227.在一些实施例中,分片单元502,还用于:
228.获取业务处理任务的业务信息;
229.根据业务信息匹配对应的数据分片规则;
230.根据匹配到的数据分片规则对业务处理任务进行分片,得到分片后的多个业务处理子任务。
231.在一些实施例中,分片单元502,还用于:
232.提取数据分片规则中的分片密度;
233.获取业务处理任务的数据请求范围;
234.根据分片密度对业务处理任务的数据请求范围进行分片,得到分片后的多个业务处理子任务。
235.在一些实施例中,获取单元503,还用于:
236.获取每个业务处理子任务的业务特性子参数;
237.根据业务子信息查找计算单元子区列表中与业务处理子任务对应的计算单元子区,其中,计算单元子区列表包含业务子信息与计算单元子区的映射关系。
238.在一些实施例中,获取单元503,还用于:
239.检测计算单元子区列表是否包含每个业务子信息对应的计算单元子区;
240.将不包含计算单元子区的业务处理子任务确定为目标业务处理子任务,并创建每个目标业务处理子任务对应的计算单元子区;
241.将创建的计算单元子区更新至计算单元子区列表,得到更新后的计算单元子区列表,并基于更新后的计算单元子区列表,获取每个业务处理子任务对应的计算单元子区。
242.在一些实施例中,获取单元503,还用于:
243.根据所有的目标业务处理子任务确定对应的目标业务数据量;
244.根据目标业务数据量预估目标计算单元区;
245.将预估的目标计算单元区进行分区,得到每个目标业务处理子任务对应的计算单元子区。
246.在一些实施例中,获取单元503,还用于:
247.将每个业务处理子任务发送至对应的计算单元子区;
248.通过计算单元子区识别对应的业务处理子任务的业务子信息,并根据业务子信息
加载对应的数据,得到业务处理子任务对应的业务子数据。
249.由上可知,本技术实施例可以通过接收单元501接收客户端发送的业务数据请求,业务数据请求携带有业务处理任务;通过分片单元502将业务处理任务进行分片,得到分片后的多个业务处理子任务;通过获取单元503获取每个业务处理子任务对应的计算单元子区;加载单元504用于通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;通过返回单元505将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。以此,服务器通过将业务处理任务分片得到多个业务处理子任务,并根据每个业务处理子任务分区得到对应的计算单元子区,通过每个计算单元子区分流加载每个业务处理子任务对应的业务子数据,有效节省服务器加载业务子数据的时间,从而节省终端获取业务子数据的时间;此外,通过将每个业务处理子任务对应的业务子数据分别发送至终端,使得终端应用根据每个业务处理子任务对应的业务子数据进行分段渲染业务页面,提高终端处理业务子数据时的效率。
250.为了更好地实施以上方法,本技术实施例还提供一种数据处理装置,该数据处理装置可以集成在电子设备,比如终端等电子设备中,该终端可以是手机、电脑等终端设备。
251.例如,如图8所示,该数据处理装置可以包括发送单元601、业务数据接收单元602和渲染单元603。
252.发送单元601,用于通过客户端发送业务数据请求至服务器,使得服务器将业务数据请求携带的业务处理任务分片得到多个业务处理子任务,获取每个业务处理子任务对应的计算单元子区,并按照加载顺序依次返回每个业务处理子任务对应的业务子数据;
253.业务数据接收单元602,用于接收服务器返回的每个业务处理子任务对应的业务子数据;
254.渲染单元603,用于根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染。
255.在一些实施例中,渲染单元603,还用于:
256.获取每个业务子数据对应的计算单元子区的编号;
257.获取多个业务处理子任务对应的分片总量;
258.根据分片总量及计算单元子区的编码生成业务页面的渲染进度系数;
259.根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染,并显示当前业务页面的渲染进度系数。
260.由以上可知,本技术实施例可以利用发送单元601通过客户端发送业务数据请求至服务器,使得服务器将业务数据请求携带的业务处理任务分片得到多个业务处理子任务,获取每个业务处理子任务对应的计算单元子区,并按照加载顺序依次返回每个业务处理子任务对应的业务子数据;通过业务数据接收单元602接收服务器返回的每个业务处理子任务对应的业务子数据;通过渲染单元603根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染。以此,服务器通过将业务处理任务分片得到多个业务处理子任务,并根据每个业务处理子任务分区得到对应的计算单元子区,通过每个计算单元子区分流加载每个业务处理子任务对应的业务子数据,有效节省服务器加载业务子数据的时间,从而节省终端获取业务子数据的时间;此外,通过将每个业务处理子任务对应的业务子数据分别发送至终端,使得终端应用根据每个业务处理子任务对应的业务子数据进行分段渲
染业务页面,提高终端处理业务子数据时的效率。
261.本技术实施例还提供一种电子设备,如图9所示,其示出了本技术实施例所涉及的电子设备的结构示意图,具体来讲:
262.该电子设备可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、电源703和输入单元704等部件。本领域技术人员可以理解,图9中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
263.处理器701是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器701可包括一个或多个处理核心;优选的,处理器701可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器701中。
264.存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器701对存储器702的访问。
265.电子设备还包括给各个部件供电的电源703,优选的,电源703可以通过电源管理系统与处理器701逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源703还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
266.该电子设备还可包括输入单元704,该输入单元704可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
267.尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能,如下:
268.接收客户端发送的业务数据请求,业务数据请求携带有业务处理任务;将业务处理任务进行分片,得到分片后的多个业务处理子任务;获取每个业务处理子任务对应的计算单元子区;通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。
269.或者,通过客户端发送业务数据请求至服务器,使得服务器将业务数据请求携带的业务处理任务分片得到多个业务处理子任务,获取每个业务处理子任务对应的计算单元
子区,并按照加载顺序依次返回每个业务处理子任务对应的业务子数据;接收服务器返回的每个业务处理子任务对应的业务子数据;根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染。
270.以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
271.由以上可知,本技术实施例可以接收客户端发送的业务数据请求,业务数据请求携带有业务处理任务;将业务处理任务进行分片,得到分片后的多个业务处理子任务;获取每个业务处理子任务对应的计算单元子区;通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。以此,服务器通过将业务处理任务分片得到多个业务处理子任务,并根据每个业务处理子任务分区得到对应的计算单元子区,通过每个计算单元子区分流加载每个业务处理子任务对应的业务子数据,有效节省服务器加载业务子数据的时间,从而节省终端获取业务子数据的时间;此外,通过将每个业务处理子任务对应的业务子数据分别发送至终端,使得终端应用根据每个业务处理子任务对应的业务子数据进行分段渲染业务页面,提高终端处理业务子数据时的效率。
272.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
273.为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术实施例所提供的任一种数据处理方法中的步骤。例如,该指令可以执行如下步骤:
274.接收客户端发送的业务数据请求,业务数据请求携带有业务处理任务;将业务处理任务进行分片,得到分片后的多个业务处理子任务;获取每个业务处理子任务对应的计算单元子区;通过每一计算单元子区加载每一业务处理子任务对应的业务子数据;将每一业务处理子任务对应的业务子数据按照加载顺序依次返回至客户端,以使得客户端根据每一业务子数据对业务页面进行分段渲染。
275.或者,通过客户端发送业务数据请求至服务器,使得服务器将业务数据请求携带的业务处理任务分片得到多个业务处理子任务,获取每个业务处理子任务对应的计算单元子区,并按照加载顺序依次返回每个业务处理子任务对应的业务子数据;接收服务器返回的每个业务处理子任务对应的业务子数据;根据每个业务处理子任务对应的业务子数据对业务页面进行分段渲染。
276.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
277.其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
278.本技术还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中各种可选实现方式中提供的数据处理方法。
279.由于该计算机可读存储介质中所存储的指令,可以执行本技术实施例所提供的任一种数据处理方法中的步骤,因此,可以实现本技术实施例所提供的任一种数据处理方法
所能实现的有益效果,详见前面的实施例,在此不再赘述。
280.以上对本技术实施例所提供的一种数据处理方法、装置以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献