本技术实施例涉及计算机,尤其涉及一种分布式任务处理方法和装置。
背景技术:
1、随着分布式应用越来越广泛,一个计算机任务可以在多个计算机设备上执行,例如分布式剪切板、分布式键鼠穿越等。不过,这种将传统单机设备上才能实现的计算机任务一旦通过多个计算机设备之间配合完成,由于计算机设备之间存在传输时延,在计算机设备执行时就有可能导致延迟或卡顿。比如用户在一台显示器(客户端)中执行复制操作,在另一台显示器(服务端)中执行粘贴操作,则用户自按下粘贴键后,客户端需先与服务端建立连接,然后将粘贴的内容传输至服务端,此操作可能会存在几秒钟的时延,从而对用户体验造成较差的影响。
技术实现思路
1、本技术实施例提供一种分布式任务处理方法和装置。服务端接收客户端发送的任务广播后,提前与客户端建立第一连接,在检测到用户对分布式任务的执行操作时,可直接执行分布式任务,降低了响应时延,提高了用户体验。
2、第一方面,本技术实施例提供了一种分布式任务处理方法,所述方法应用于服务端,包括:
3、接收客户端发送的任务广播,所述任务广播用于指示所述客户端执行的分布式任务;
4、若确定所述分布式任务与所述服务端相关联,则与所述客户端建立第一连接,并为所述第一连接设置连接持续时间;
5、在所述连接持续时间内,若检测到用户对所述分布式任务的执行操作,则基于所述第一连接从所述客户端获取所述分布式任务的任务信息;
6、基于所述任务信息执行所述分布式任务并延长所述连接持续时间。
7、一种实施例中,所述接收客户端发送的任务广播之前,所述方法还包括:
8、建立任务关联表,所述任务关联表中包含所述服务端能够执行的所有分布式任务。
9、一种实施例中,所述确定所述分布式任务与所述服务端相关联,包括:
10、根据所述任务广播确定所述客户端执行的分布式任务;
11、若所述任务关联表中包含所述分布式任务,则确定所述分布式任务与所述服务端相关联。
12、本技术实施例中,服务端通过提前注册分布式任务,可在接收任务广播时准确判断是否与自身相关联。
13、一种实施例中,所述检测到用户对所述分布式任务的执行操作之前,所述方法还包括:
14、若确定所述任务信息所占空间小于第一阈值,则在与所述客户端建立第一连接后,直接触发所述客户端发送所述任务信息;
15、接收所述任务信息并存储。
16、一种实施例中,所述方法还包括:若检测到用户对所述分布式任务的执行操作,则获取预先存储的任务信息并基于所述任务信息执行所述分布式任务。
17、本技术实施例中,如果任务信息较小,则可提前获取并缓存,执行分布式任务时直接从本地空间获取任务信息,进一步提高降低响应时延。
18、一种实施例中,所述延长所述连接持续时间,包括:
19、在所述连接持续时间内,若所述执行操作的次数小于第二阈值,则每检测到所述执行操作,将所述连接持续时间延长第一数值;
20、在所述连接持续时间内,若所述执行操作的次数大于或等于所述第二阈值,则每检测到所述执行操作,将所述连接持续时间延长第二数值,所述第二数值大于所述第一数值。
21、本技术实施例中,当服务端短时间内需多次执行分布式任务时,可大幅度延长连接持续时间,降低反复连接所带来的功耗增长。
22、一种实施例中,所述方法还包括:
23、所述连接持续时间持续减小,当所述连接持续时间为0时,断开与所述客户端的第一连接。
24、一种实施例中,所述方法还包括:
25、在所述连接持续时间内,若未检测到用户对所述分布式任务的执行操作,则将本次连接确定为无效连接;
26、若所述无效链接的次数连续超过第三阈值,则删除所述分布式任务与所述服务端的关联关系。
27、本技术实施例中,当服务端的无效连接超过第三阈值,则下次接收任务广播后,不再建立第一连接,避免无效连接所带来的功耗增长。
28、一种实施例中,所述方法还包括:
29、与所述客户端建立所述第一连接后,若检测到所述分布式任务相关的任务信息所占空间大于第四阈值,则将与所述客户端的连接方式切换为第二连接,所述第二连接对于所述任务信息的传输速率大于所述第一连接。
30、一种实施例中,所述方法还包括:
31、若检测到所述服务端与所述客户端之间不支持所述第二连接,则确定中继设备,所述中继设备与所述服务端之间支持所述第二连接且所述中继设备与所述客户端之间支持所述第二连接;
32、与所述中继设备建立所述第二连接并触发所述中继设备与所述客户端建立所述第二连接。
33、本技术实施例中,通过设置中继设备,可优先选择高速链路传输任务信息,进一步降低响应时延。
34、第二方面,本技术实施例提供了一种分布式任务处理方法,所述方法应用于客户端,包括:
35、响应于用户对分布式任务的执行操作,执行所述分布式任务并向当前环境中的服务端发送任务广播,所述任务广播用于指示所述客户端执行的所述分布式任务;
36、接收到任一服务端的连接请求后,与所述服务端建立第一连接,其中,所述客户端与每个服务端的第一连接各有对应的连接持续时间;
37、在所述连接持续时间内,响应于任一服务端的请求,向所述服务端发送所述分布式任务的任务信息,以使所述服务端基于所述任务信息执行所述分布式任务并延长所述连接持续时间。
38、一种实施例中,所述延长所述持续时间,包括:
39、在所述连接持续时间内,若所述服务端执行所述分布式任务的次数小于第二阈值,则每次执行所述分布式任务后,所述服务端将所述连接持续时间延长第一数值;
40、在所述连接持续时间内,若所述服务端执行所述分布式任务的次数大于或等于所述第二阈值,则每次执行所述分布式任务后,所述服务端将所述连接持续时间延长第二数值,所述第二数值大于所述第一数值。
41、一种实施例中,所述方法还包括:
42、所述连接持续时间持续减小,当所述连接持续时间为0时,断开与所述服务端的第一连接。
43、一种实施例中,所述方法还包括:
44、响应于所述服务端对于第二连接的请求操作,与所述服务端建立所述第二连接,所述第二连接对于所述分布式任务的任务信息的传输速率大于所述第一连接。
45、一种实施例中,所述方法还包括:
46、若所述客户端与所述服务端之间不支持所述第二连接,则与中继设备建立所述第二连接,所述中继设备还与所述服务端建立所述第二连接。
47、第三方面,本技术实施例提供了一种分布式任务处理装置,所述装置部署于服务端,包括:
48、接收模块,用于接收客户端发送的任务广播,所述任务广播用于指示所述客户端执行的分布式任务;
49、连接模块,用于若确定所述分布式任务与所述服务端相关联,则与所述客户端建立第一连接,并为所述第一连接设置连接持续时间;
50、获取模块,用于在所述连接持续时间内,若检测到用户对所述分布式任务的执行操作,则基于所述第一连接从所述客户端获取所述分布式任务的任务信息;
51、执行模块,用于基于所述任务信息执行所述分布式任务并延长所述连接持续时间。
52、第四方面,本技术实施例提供了一种分布式任务处理装置,所述装置部署于客户端,包括:
53、执行模块,用于响应于用户对分布式任务的执行操作,执行所述分布式任务并向当前环境中的服务端发送任务广播,所述任务广播用于指示所述客户端执行的所述分布式任务;
54、连接模块,用于接收到任一服务端的连接请求后,与所述服务端建立第一连接,其中,所述客户端与每个服务端的第一连接各有对应的连接持续时间;
55、发送模块,用于在所述连接持续时间内,响应于任一服务端的请求,向所述服务端发送所述分布式任务的任务信息,以使所述服务端基于所述任务信息执行所述分布式任务并延长所述连接持续时间。
56、第五方面,本技术实施例提供了一种电子设备,包括:
57、至少一个处理器;以及
58、与所述处理器通信连接的至少一个存储器,其中:
59、所述存储器存储程序指令,所述处理器调用所述程序指令能够执行第一方面或第二方面提供的方法。
60、第六方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序被处理器执行时实现第一方面或第二方面提供的方法。
61、本技术实施例中,接收客户端发送的任务广播,任务广播用于指示客户端执行的分布式任务,若确定分布式任务与服务端相关联,则与客户端建立第一连接,并为第一连接设置连接持续时间,在连接持续时间内,若检测到用户对分布式任务的执行操作,则基于第一连接从客户端获取分布式任务的任务信息,基于任务信息执行分布式任务并延长连接持续时间。接收客户端发送的任务广播后,提前与客户端建立第一连接,在检测到用户对分布式任务的执行操作时,可直接执行分布式任务,降低了响应时延,提高了用户体验。