一种端云协同任务处理中云端服务器集群分布式协作方法与流程
未命名
09-29
阅读:90
评论:0
1.本发明涉及云计算领域,具体地说,涉及一种端云协同任务处理中云端服务器集群分布式协作方法。
背景技术:
2.经典的分布式系统例如hadoop、spark、ray都是面向云端的分布式大数据处理系统,而对云边端多级复杂结构下的分布式环境缺乏支持。最近在无线通信和嵌入式系统方面的发展已经导致了消费设备的高度普及,使得人们对物联网(iot)作为智慧城市解决方案的一部分产生了浓厚的兴趣。由于各种接入网络和连接能力,现实世界的城市物联网应用预计将是异构的,从而导致在地理范围内存在多种无线通信解决方案(如wifi、蓝牙、蜂窝)共存的多网络。鉴于物联网多网络的异构性,在移动和多接入边缘计算环境中协调和优化异构资源的使用具有挑战性。
3.城市场景下的大规模移动物联网产生高度动态的交通流。任何自适应地管理网络中的流的解决方案,存储和更新关于流的设备、访问点的大量信息,并允许在执行管理时对策略进行动态修改,将需要大量的处理能力,而这在商用网络设备上是不可用的。最新的面向云-边-端系统面临的典型特点是端设备数量庞大,从数万到数百万不等。如此多的端设备在进行端-云协同任务处理时,面临通信网络连接维持的困难和云端对巨量任务处理时单云主机调度任务性能受限的问题。现有的大数据系统通常在服务器和服务器之间执行任务调度,不适应当前云-边-端一体化中把移动终端算力纳入调度节点的需求,没有较好的机制来灵活机动的维持和巨量端设备网络连接的功能。
技术实现要素:
4.本发明的目的在于提供一种端云协同任务处理中云端服务器集群分布式协作方法。
5.为实现上述目的,本发明目的之一在于,提供了一种端云协同任务处理中云端服务器集群分布式协作方法,包括如下步骤:
6.web服务器向云端后台传入要处理的任务;
7.任务处理服务器将所述任务拆分成多个子任务;
8.所述任务处理服务器获取可执行任务的空闲端设备列表,并与所述子任务形成一一映射关系,其中空闲端设备列表的列表长度等于子任务个数;
9.依次从所述空闲端设备列表取出一个执行设备,对应的从子任务列表里面取出一个子任务;
10.通过socket通信方式将所述子任务依次发送到对应的执行设备上去,当所述执行设备执行完某一子任务后,将子任务结果下发并回传给客户。
11.进一步,在上述端云协同任务处理中云端服务器集群分布式协作方法中,所述通过socket通信方式将所述子任务依次发送到对应的执行设备上去,包括:
12.当前主机如发现本机没有维持socket连接的设备,则把消息广播到云端内部所有执行任务的主机;
13.所有主机在自己维持socket连接的表格中查询是否有该socket连接,如有,则协助原主机执行任务发送操作,如没有则直接过滤掉该消息。
14.进一步,在上述端云协同任务处理中云端服务器集群分布式协作方法中,所述当所述执行设备执行完某一子任务后,将子任务结果下发并回传给客户,包括:
15.当设备端执行完某一子任务后,通过socket将结果通过下发盖子任务的主机回传到云端公共缓存区域;
16.当最后一个子任务到达云端后,当前接收最后一个子任务的主机从缓存获取当前任务的全部子任务的结果进行后处理聚合操作,并将聚合操作后的结果最终回传给客户。
17.进一步,在上述端云协同任务处理中云端服务器集群分布式协作方法中,所述通过socket通信方式将所述子任务依次发送到对应的执行设备上去,之前还包括:判断当前设备是否与任务处理服务器维持socket长连接,若是,则执行以下步骤:
18.任务处理服务器向该当前设备发送该子任务;
19.设备端收到子任务信息后,执行任务,执行完毕后向云端返回该子任务结果信息;
20.执行任务服务器通过消息队列共享轮询方式接收所有返回的子任务结果信息,并存入公共缓存;
21.最后一台接收到子任务结果的服务器执行后处理聚合操作,并将最终结果反馈给用户。
22.进一步,在上述端云协同任务处理中云端服务器集群分布式协作方法中,所述判断当前设备是否与任务处理服务器维持socket长连接,包括:若设备未与任务处理服务器维持socket长连接,则执行以下步骤:
23.任务处理服务器把该设备信息和子任务信息发送到消息队列;
24.消息队列向所有执行任务服务器共享广播该子任务和设备信息;
25.所有任务处理服务器接收到上述消息后判断任务处理服务器是否维持了与该设备的socket连接。
26.进一步,在上述端云协同任务处理中云端服务器集群分布式协作方法中,所述判断任务处理服务器是否维持了与该设备的socket连接,包括:
27.判断任务处理服务器是否维持了与该设备的socket连接;
28.若否,则丢弃该消息;
29.若是,则返回到所述任务处理服务器向该当前设备发送该子任务。
30.进一步,在上述端云协同任务处理中云端服务器集群分布式协作方法中,所述任务处理服务器将所述任务拆分成多个子任务,之前还包括:
31.通过云端后台将所述任务传入消息队列;
32.消息队列通过共享轮询的方式从任务处理服务器中选出一台服务器做处理所述任务;
33.所述任务处理服务器将所述任务拆分成多个子任务。
34.进一步,在上述端云协同任务处理中云端服务器集群分布式协作方法中,所述消息队列,采用非持久化机制,可以让单任务处理云端累计时降为毫秒级;所述任务处理服务
器均摊与设备端的socket网络长连接,可以端设备数量过于庞大时集中式管理所导致的消息拥塞。
35.在本发明提供的技术方案中,web服务器向云端后台传入要处理的任务;任务处理服务器将任务拆分成多个子任务;任务处理服务器获取可执行任务的空闲端设备列表,并与子任务形成一一映射关系,其中空闲端设备列表的列表长度等于子任务个数;依次从空闲端设备列表取出一个执行设备,对应的从子任务列表里面取出一个子任务;通过socket通信方式将子任务依次发送到对应的执行设备上去,当执行设备执行完某一子任务后,将子任务结果下发并回传给客户。本技术方案具有较好的延展性,可以利用多台服务器实现大规模任务的调度,可以充分利用算力过剩而又廉价的端设备算力资源来进行大规模的科学运算。
附图说明
36.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
37.图1为本发明实施例中端云协同任务处理中云端服务器集群分布式协作方法的实施例流程图;
38.图2为本发明实施例中端云协同任务处理中云端服务器集群分布式协作方法的分布式socket连接示意图;
39.图3为本发明实施例中端云协同任务处理中云端服务器集群分布式协作方法的主任务处理轮询示意图;
40.图4为本发明实施例中端云协同任务处理中云端服务器集群分布式协作方法的子任务分发分布式协作示意图;
41.图5为本发明实施例中端云协同任务处理中云端服务器集群分布式协作方法的结果回收及后处理分布式协作示意图;
具体实施方式
42.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
43.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
44.请参阅图1,本发明实施例中,一种端云协同任务处理中云端服务器集群分布式协作方法,包括如下步骤:web服务器向云端后台传入要处理的任务;任务处理服务器将任务拆分成多个子任务;任务处理服务器获取可执行任务的空闲端设备列表,并与子任务形成一一映射关系,其中空闲端设备列表的列表长度等于子任务个数;依次从空闲端设备列表取出一个执行设备,对应的从子任务列表里面取出一个子任务;通过socket通信方式将子
任务依次发送到对应的执行设备上去,当执行设备执行完某一子任务后,将子任务结果下发并回传给客户,可以通过不断的增加任务执行服务器来不断增加端设备网络的接入量,支持大规模多租户巨量级任务实时处理能力。
45.本实施例中,通过socket通信方式将子任务依次发送到对应的执行设备上去,包括:当前主机如发现本机没有维持socket连接的设备,则把消息广播到云端内部所有执行任务的主机;所有主机在自己维持socket连接的表格中查询是否有该socket连接,如有,则协助原主机执行任务发送操作,如没有则直接过滤掉该消息,socket网络长连接任务执行服务器均摊网络负载机制。
46.本实施例中,当执行设备执行完某一子任务后,将子任务结果下发并回传给客户,包括:当设备端执行完某一子任务后,通过socket将结果通过下发盖子任务的主机回传到云端公共缓存区域;当最后一个子任务到达云端后,当前接收最后一个子任务的主机从缓存获取当前任务的全部子任务的结果进行后处理聚合操作,并将聚合操作后的结果最终回传给客户。
47.本实施例中,通过socket通信方式将子任务依次发送到对应的执行设备上去,之前还包括:判断当前设备是否与任务处理服务器维持socket长连接,若是,则执行以下步骤:任务处理服务器向该当前设备发送该子任务;设备端收到子任务信息后,执行任务,执行完毕后向云端返回该子任务结果信息;执行任务服务器通过消息队列共享轮询方式接收所有返回的子任务结果信息,并存入公共缓存;最后一台接收到子任务结果的服务器执行后处理聚合操作,并将最终结果反馈给用户。
48.本实施例中,判断当前设备是否与任务处理服务器维持socket长连接,包括:若设备未与任务处理服务器维持socket长连接,则执行以下步骤:任务处理服务器把该设备信息和子任务信息发送到消息队列;消息队列向所有执行任务服务器共享广播该子任务和设备信息;所有任务处理服务器接收到上述消息后判断任务处理服务器是否维持了与该设备的socket连接。
49.本实施例中,判断任务处理服务器是否维持了与该设备的socket连接,包括:判断任务处理服务器是否维持了与该设备的socket连接;若否,则丢弃该消息;若是,则返回到任务处理服务器向该当前设备发送该子任务。
50.本实施例中,任务处理服务器将任务拆分成多个子任务,之前还包括:通过云端后台将任务传入消息队列;消息队列通过共享轮询的方式从任务处理服务器中选出一台服务器做处理任务;任务处理服务器将任务拆分成多个子任务。消息队列的两种机制:共享广播和共享轮询机制,间接实现了云端分布式系统的负载均衡。轮询机制是用来解决服务器压力过大的问题的。如果保持多个长连接,服务器压力会过大,因此。专门建立一个轮询请求的接口,里面只保留一个任务id,只需要发送任务id,就可以获取当前任务的情况。如果返回了结果,轮询结束,没有返回则等待一会儿,继续发送请求。
51.本实施例中,消息队列,采用非持久化机制,可以让单任务处理云端累计时降为毫秒级,非持久化比持久化的优势就是,由于非持久化不需要保存在磁盘中,所以使用速度就比持久化队列快,即是非持久化的性能要高于持久化。任务处理服务器均摊与设备端的socket网络长连接,整个通讯过程,客户端和服务端只用一个socket对象,长期保持socket的连接,可以端设备数量过于庞大时集中式管理所导致的消息拥塞。
52.如图2所示,分布式socket连接:当算力共享分布式调度系统和安卓终端启动后,安卓终端和算力共享分布式调度系统内的服务器通过轮转轮询随机建立socket连接。然后将所有与算力共享分布式调度系统内部服务器建立socket连接的计算设备信息写入缓存中供后期计算调用。
53.如图3所示,主任务处理轮询:当用户通过web业务处理服务器下发任务后,通过轮转轮询一台算力共享分布式调度系统内部服务器作为主任务处理服务器,将任务发送到任务处理消息队列中(此处的任务处理消息队列在web业务处理服务器发送过来的任务量过大或存在任务高并发,而任务处理服务器暂时处理不了时,可以起到缓冲存储并消除峰值任务的作用)。然后消息队列通过轮询发送方式把主任务随机发送给服务器a或服务器b,收到主任务的服务器负责当前主任务的分解和下发。
54.如图4所示,子任务分发分布式协作:当子任务下发时,需要从缓存中调取与拆分好的子任务数量相等的空闲设备数量信息,这些设备有的是与当前服务器建立socket连接的设备,有的是与其他服务器建立连接的设备,如果是本机socket连接,则直接向设备发送子任务,否则需要把子任务发送到子任务吹消息队列中,然后子任务处理消息队列通过广播的方式向算力共享分布式调度系统内部所有服务器广播该子任务消息,无此socket连接的服务器收到该消息直接丢弃,有此socket连接的那一台服务器收到该消息后会协助将该子任务转发到对应的设备上进行计算。
55.如图5所示,结果回收及后处理分布式协作:当安卓终端上子任务计算完成后,向算力共享分布式调度系统内部与之建立socket连接的服务器发送结果信息,收到该结果的服务器将结果推送到结果回收消息队列缓冲(此处可以避免同一时间过多的子任务传回算力共享分布式调度系统导致系统无法处理)。子任务处理消息队列通过轮询的方式将结果发送给系统内的各个结果回收服务器。收到最后一个子任务的服务器负责进行结果合并后处理操作并将最终结果写入缓存供用户查询调阅。
56.以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
技术特征:
1.一种端云协同任务处理中云端服务器集群分布式协作方法,其特征在于,所述端云协同任务处理中云端服务器集群分布式协作方法,包括如下步骤:web服务器向云端后台传入要处理的任务;任务处理服务器将所述任务拆分成多个子任务;所述任务处理服务器获取可执行任务的空闲端设备列表,并与所述子任务形成一一映射关系,其中空闲端设备列表的列表长度等于子任务个数;依次从所述空闲端设备列表取出一个执行设备,对应的从子任务列表里面取出一个子任务;通过socket通信方式将所述子任务依次发送到对应的执行设备上去,当所述执行设备执行完某一子任务后,将子任务结果下发并回传给客户。2.根据权利要求1所述的端云协同任务处理中云端服务器集群分布式协作方法,其特征在于,所述通过socket通信方式将所述子任务依次发送到对应的执行设备上去,包括:当前主机如发现本机没有维持socket连接的设备,则把消息广播到云端内部所有执行任务的主机;所有主机在自己维持socket连接的表格中查询是否有该socket连接,如有,则协助原主机执行任务发送操作,如没有则直接过滤掉该消息。3.根据权利要求1所述的端云协同任务处理中云端服务器集群分布式协作方法,其特征在于,所述当所述执行设备执行完某一子任务后,将子任务结果下发并回传给客户,包括:当设备端执行完某一子任务后,通过socket将结果通过下发盖子任务的主机回传到云端公共缓存区域;当最后一个子任务到达云端后,当前接收最后一个子任务的主机从缓存获取当前任务的全部子任务的结果进行后处理聚合操作,并将聚合操作后的结果最终回传给客户。4.根据权利要求1所述的端云协同任务处理中云端服务器集群分布式协作方法,其特征在于,所述通过socket通信方式将所述子任务依次发送到对应的执行设备上去,之前还包括:判断当前设备是否与任务处理服务器维持socket长连接,若是,则执行以下步骤:任务处理服务器向该当前设备发送该子任务;设备端收到子任务信息后,执行任务,执行完毕后向云端返回该子任务结果信息;执行任务服务器通过消息队列共享轮询方式接收所有返回的子任务结果信息,并存入公共缓存;最后一台接收到子任务结果的服务器执行后处理聚合操作,并将最终结果反馈给用户。5.根据权利要求4所述的端云协同任务处理中云端服务器集群分布式协作方法,其特征在于,所述判断当前设备是否与任务处理服务器维持socket长连接,包括:若设备未与任务处理服务器维持socket长连接,则执行以下步骤:任务处理服务器把该设备信息和子任务信息发送到消息队列;消息队列向所有执行任务服务器共享广播该子任务和设备信息;所有任务处理服务器接收到上述消息后判断任务处理服务器是否维持了与该设备的socket连接。
6.根据权利要求1所述的端云协同任务处理中云端服务器集群分布式协作方法,其特征在于,所述判断任务处理服务器是否维持了与该设备的socket连接,包括:判断任务处理服务器是否维持了与该设备的socket连接;若否,则丢弃该消息;若是,则返回到所述任务处理服务器向该当前设备发送该子任务。7.根据权利要求1所述的端云协同任务处理中云端服务器集群分布式协作方法,其特征在于,所述任务处理服务器将所述任务拆分成多个子任务,之前还包括:通过云端后台将所述任务传入消息队列;消息队列通过共享轮询的方式从任务处理服务器中选出一台服务器做处理所述任务;所述任务处理服务器将所述任务拆分成多个子任务。8.根据权利要求7所述的端云协同任务处理中云端服务器集群分布式协作方法,其特征在于,所述消息队列,采用非持久化机制,可以让单任务处理云端累计时降为毫秒级;所述任务处理服务器均摊与设备端的socket网络长连接,可以端设备数量过于庞大时集中式管理所导致的消息拥塞。
技术总结
本发明涉及云计算领域,具体为一种端云协同任务处理中云端服务器集群分布式协作方法,其包括如下步骤:web服务器向云端后台传入要处理的任务;任务处理服务器将任务拆分成多个子任务;任务处理服务器获取可执行任务的空闲端设备列表,并与子任务形成一一映射关系,其中空闲端设备列表的列表长度等于子任务个数;依次从空闲端设备列表取出一个执行设备,对应的从子任务列表里面取出一个子任务;通过socket通信方式将子任务依次发送到对应的执行设备上去,当执行设备执行完某一子任务后,将子任务结果下发并回传给客户。本技术方案具有较好的延展性,利用多台服务器实现大规模任务的调度,可以充分利用算力过剩而又廉价算力资源来进行大规模的运算。资源来进行大规模的运算。资源来进行大规模的运算。
技术研发人员:蒋林华 琚波波 宋梁 王颖 刘涛 甘桂祥 赵森波 林捷郁
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.03.13
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种心理调控舱设备的制作方法 下一篇:衬底处理方法与流程