网络通信方法和系统技术方案

技术编号:14746603 阅读:159 留言:0更新日期:2017-03-01 23:05
本发明专利技术涉及一种网络通信方法和系统,该方法包括以下步骤:通过预先创建的管理容器分别给每个与服务器连接的客户端建立任务,并将建立的任务加入到所述管理容器的任务队列中;通过所述管理容器根据每个客户端的通信数据量动态给各个客户端分配任务运行时间片;每隔第一设置时间向每个客户端发送一次心跳包。上述网络通信方法和系统,提高了服务器与客户端之间网络通信的效率,确保了通信的实时性。

【技术实现步骤摘要】

本专利技术涉及数据传输领域,特别是涉及一种网络通信方法和系统
技术介绍
当主控服务器需要跟多个信号发生器进行通信时,传统的做法是主控服务器给每个信号发生器都分配固定的时间片,在这种做法下,当某些信号发生器与主控服务器间几乎没有数据传输或者二者传输的数据量很少时,依然分配了固定的时间片给信号发生器,这样就会导致其它拥有大量数据传输的信号发生器只能进行等待,严重影响了主控服务器和信号发生器之间的传输效率。若是采用当信号发生器与主控服务器之间没有数据传输时不分配运行时间片的做法,则会导致信号发生器因长时间与主控服务器之间没有数据交互而掉线,两者的通信的实时性又无法得到保障。
技术实现思路
基于此,有必要提供一种网络通信方法,其能提高服务器与多客户端的传输效率,并确保通信的实时性。此外,还有必要提供一种网络通信系统,其能提高服务器与多客户端的传输效率,并确保通信的实时性。一种网络通信方法,包括以下步骤:通过预先创建的管理容器分别给每个与服务器连接的客户端建立任务,并将建立的任务加入到所述管理容器的任务队列中;通过所述管理容器根据每个客户端的通信数据量动态给各个客户端分配任务运行时间片;每隔第一设置时间向每个客户端发送一次心跳包。在其中一个实施例中,所述方法还包括步骤:设置所述客户端的最小运行时间片;设置所述客户端的最大运行时间片,其中,所述任务运行时间片大于或等于最小运行时间片,且小于或等于最大运行时间片。在其中一个实施例中,所述通过所述管理容器根据每个客户端的通信数据量动态给各个客户端分配任务运行时间片的步骤包括:通过所述管理容器给每个任务分配固定运行时间片;轮询运行所述任务队列中的任务;判断各个任务是否在当前任务运行时间片内将数据处理完,若否,则所述管理容器剥夺该任务的运行权,然后将运行权交给下一个任务,并将该任务的当前任务运行时间片加上第二设置时间作为下次的任务运行时间片分配给该任务;若是,则所述管理容器剥夺该任务的运行权,然后将运行权交给下一个任务,并将该任务的本次耗时作为下次的任务运行时间片分配给该任务。在其中一个实施例中,所述方法还包括步骤:设置N个机会运行时间片,其中,当所述客户端的数量小于或等于2时,N为0,当所述客户端的数量大于2且小于或等于10时,N为1,当所述客户端的数量大于10且小于或等于100时,N为2,当所述客户端的数量大于100时,N为3;通过所述管理容器将所述机会运行时间片分配给拥有最大运行时间片且连接最早的客户端,分配数量为所述机会运行时间片的数量N。在其中一个实施例中,所述设置所述客户端的最大运行时间片的步骤包括:确定总轮询数量,当所述机会运行时间片的数量N为0时,所述总轮询数量为所述客户端的数量,当所述机会运行时间片的数量N不为0时,所述总轮询数量为所述客户端的数量与所述机会运行时间片的数量N之和;根据所述总轮询数量动态设置最大运行时间片,所述最大运行时间片与所述总轮询数量成线性相关。一种网络通信系统,包括:任务建立模块,用于通过预先创建的管理容器分别给每个与服务器连接的客户端建立任务,并将建立的任务加入到所述管理容器的任务队列中;分配模块,用于通过所述管理容器根据每个客户端的通信数据量动态给各个客户端分配任务运行时间片;心跳包模块,用于每隔第一设置时间每个客户端发送一次心跳包。在其中一个实施例中,所述系统还包括:最小时间片设置模块,用于设置所述客户端的最小运行时间片;最大时间片设置模块,用于设置所述客户端的最大运行时间片,其中,所述任务运行时间片大于或等于最小运行时间片,且小于或等于最大运行时间片。在其中一个实施例中,所述分配模块还包括:固定时间片分配子模块,用于通过所述管理容器给每个任务分配固定运行时间片;轮询子模块,用于轮询运行所述任务队列中的任务;运行时间片调整子模块,用于通过所述管理容器给各个任务调整下次的任务运行时间片,所述运行时间片调整子模块的调整形式为判断各个任务是否在当前任务运行时间片内将数据处理完,若否,则所述管理容器剥夺该任务的运行权,然后将运行权交给下一个任务,并将该任务的当前任务运行时间片加上第二设置时间作为下次任务运行时间片分配给该任务,若是,则所述管理容器剥夺该任务的运行权,然后将运行权交给下一个任务,并将该任务的本次耗时作为下次的任务运行时间片分配给该任务。在其中一个实施例中,所述系统还包括:机会时间片设置模块,用于设置N个机会运行时间片,所述机会时间片设置模块设置数量N的形式为当所述客户端的数量小于或等于2时,N为0,当所述客户端的数量大于2且小于或等于10时,N为1,当所述客户端的数量大于10且小于或等于100时,N为2,当所述客户端的数量大于100时,N为3;机会时间片分配模块,用于通过所述管理容器将所述机会运行时间片分配给拥有最大运行时间片且连接最早的客户端,分配数量为所述机会运行时间片的数量N。在其中一个实施例中,所述最大时间片设置模块包括:总轮询数量确定子模块,用于确定所述总轮询数量,当所述机会运行时间片的数量N为0时,所述总轮询数量为所述客户端的数量,当所述机会运行时间片的数量N不为0时,所述总轮询数量为所述客户端的数量与所述机会运行时间片的数量N之和;动态设置子模块,用于根据所述总轮询数量动态设置最大运行时间片,所述最大运行时间片与所述总轮询数量成线性相关。上述网络通信方法和系统,服务器通过预先建立的管理容器为与服务器连接的客户端建立任务并将任务加入到管理容器的任务队列中后,轮询进行任务运行,使管理容器根据客户端的数据量动态为客户端分配运行时间片,提高了服务器与客户端之间网络通信的效率,避免客户端进行不必要的等待,让资源得到最合理的利用。同时,服务器定时向客户端发送心跳包,防止客户端与服务器因长时间没有数据传输而掉线,保证了通信的实时性。服务器还通过设置最小运行时间片、最大运行时间片和N个机会运行时间片来实现服务器与多客户端数据传输的均衡。【附图说明】图1为一个实施例中网络通信方法的流程示意图;图2为另一个实施例中网络通信方法的流程示意图;图3为一个实施例中管理容器动态分配任务运行时间片的流程示意图;图4为一个实施例中网络通信系统的结构示意图;图5为另一个实施例中网络通信系统的结构示意图;图6为一个实施例中分配模块的结构示意图。【具体实施方式】下面结合附图及具体的实施例对本专利技术的技术方案进行详细的描述。如图1所示,在一个实施例中,一种网络通信方法,包括以下步骤:步骤S110,通过预先创建的管理容器分别给每个与服务器连接的客户端建立任务,并将建立的任务加入到管理容器的任务队列中。具体的,服务器为主控服务器,客户端为信号发生装置客户端,服务器创建管理容器专门用于管理客户端,管理容器为每个客户端建立任务,任务包含客户端的运行状态、运行时间片等属性。任务被加入到任务队列中,管理容器负责对任务队列中的所有任务进行调度和管理。步骤S120,通过管理容器根据每个客户端的通信数据量动态给各个客户端分配任务运行时间片。步骤S130,每隔第一设置时间向每个客户端发送一次心跳包。具体的,心跳包所携带的数据很小,并不会占用太多的资源,第一设置时间不过能长,也不能过短,发送心跳包时间间隔过长会导致客户端因长时间与本文档来自技高网...
网络通信方法和系统

【技术保护点】
一种网络通信方法,其特征在于,包括以下步骤:通过预先创建的管理容器分别给每个与服务器连接的客户端建立任务,并将建立的任务加入到所述管理容器的任务队列中;通过所述管理容器根据每个客户端的通信数据量动态给各个客户端分配任务运行时间片;每隔第一设置时间向每个客户端发送一次心跳包。

【技术特征摘要】
1.一种网络通信方法,其特征在于,包括以下步骤:通过预先创建的管理容器分别给每个与服务器连接的客户端建立任务,并将建立的任务加入到所述管理容器的任务队列中;通过所述管理容器根据每个客户端的通信数据量动态给各个客户端分配任务运行时间片;每隔第一设置时间向每个客户端发送一次心跳包。2.根据权利要求1所述的网络通信方法,其特征在于,所述方法还包括步骤:设置所述客户端的最小运行时间片;设置所述客户端的最大运行时间片,其中,所述任务运行时间片大于或等于最小运行时间片,且小于或等于最大运行时间片。3.根据权利要求1所述的网络通信方法,其特征在于,所述通过所述管理容器根据每个客户端的通信数据量动态给各个客户端分配任务运行时间片的步骤包括:通过所述管理容器给每个任务分配固定运行时间片;轮询运行所述任务队列中的任务;判断各个任务是否在当前任务运行时间片内将数据处理完,若否,则所述管理容器剥夺该任务的运行权,然后将运行权交给下一个任务,并将该任务的当前任务运行时间片加上第二设置时间作为下次的任务运行时间片分配给该任务;若是,则所述管理容器剥夺该任务的运行权,然后将运行权交给下一个任务,并将该任务的本次耗时作为下次的任务运行时间片分配给该任务。4.根据权利要求3所述的网络通信方法,其特征在于,所述方法还包括步骤:设置N个机会运行时间片,其中,当所述客户端的数量小于或等于2时,N为0,当所述客户端的数量大于2且小于或等于10时,N为1,当所述客户端的数量大于10且小于或等于100时,N为2,当所述客户端的数量大于100时,N为3;通过所述管理容器将所述机会运行时间片分配给拥有最大运行时间片且连接最早的客户端,分配数量为所述机会运行时间片的数量N。5.根据权利要求2或4所述的网络通信方法,其特征在于,所述设置所述客户端的最大运行时间片的步骤包括:确定总轮询数量,当所述机会运行时间片的数量N为0时,所述总轮询数量为所述客户端的数量,当所述机会运行时间片的数量N不为0时,所述总轮询数量为所述客户端的数量与所述机会运行时间片的数量N之和;根据所述总轮询数量动态设置最大运行时间片,所述最大运行时间片与所述总轮询数量成线性相关。6.一种网络通信系统,其特征在于,包括:任务建立模块,用于通过预先创建的管理容器分别给每个与服务器连接的客户端建立任务,并将建立的任务加入到所述...

【专利技术属性】
技术研发人员:林淼刘恩锋万建华陈志列
申请(专利权)人:研祥智能科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1