一种调度进程的方法及装置的制造方法

文档序号:8430583阅读:327来源:国知局
一种调度进程的方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种调度进程的方法及装置。
【背景技术】
[0002]随着多媒体技术的飞速发展,可以采用多种方式进行流媒体的传输以及播放,其中,P2P (Peer to Peer ;点对点)流媒体系统即为一种常用的流媒体传输以及播放系统。
[0003]在现有点对点流媒体系统中,流媒体内容被切割成多个数据块(chunk),以每一个数据块作为流媒体数据传输的基本单位,从而完成连续的数据流在节点(Peer)间传输,其中,每一个数据块由唯一的chunk id标识。节目内容的共享和交换都依赖于节点间交换的描述节点缓存状态的缓存消息(简称BM),即通过缓存消息完成节目内容的共享和交换。
[0004]目前,当点对点流媒体系统中的节点需要访问服务器中保存的节点列表,以进行节点连接以及从已建立连接关系的节点获取数据时,节点即向服务器发送连接请求消息,以获取服务器本地保存的节点列表,并将与该节点列表中的节点标识对应的节点建立连接关系。现有技术中,服务器每一个子进程同时监听是否存在节点发送的连接请求消息,当存在任意一节点向服务器发送连接请求消息时,每一个子进程即将该监听结果通知服务器系统,服务器系统即将上述任意一节点发送的连接请求消息调度至上述任意一子进程,由该任意一子进程对上述连接请求消息进行处理,即将节点列表发送至该任意一节点,使该任意一节点可以通过连接请求消息与节点列表中的节点标识对应的节点建立连接关系。由此可见,采用上述技术方案,服务器中所有子进程均处于监听状态,增加了系统的资源消耗。
[0005]综上所述,现有技术在进程调度过程中,存在系统资源消耗大的问题。

【发明内容】

[0006]本发明实施例提供一种调度进程的方法及装置,用以解决现有技术在进程调度过程中,存在系统资源消耗大的问题。
[0007]本发明实施例提供的具体技术方案如下:
[0008]一种调度进程的方法,包括:
[0009]服务器通过主进程监听是否存在由节点发送至所述服务器且未被所述服务器调度至进程的连接请求消息;
[0010]当所述服务器通过主进程监听到存在所述连接请求消息后,将所述连接请求消息调度至本地的子进程。
[0011]一种调度进程的装置,包括:
[0012]监听单元,用于通过主进程监听是否存在由节点发送至本地且未被调度至进程的连接请求消息;
[0013]调度单元,用于通过所述主进程监听到存在所述连接请求消息后,将所述连接请求消息调度至本地的子进程。
[0014]本发明实施例中,当服务器的主进程监听到节点发送的且未被服务器调度至进程的连接请求消息后,将该连接请求消息调度至本地的子进程。采用上述技术方案,通过服务器的主进程监听节点发送的连接请求消息,并将该连接请求消息调度至相应的子进程,避免了所有子进程均进行监听时造成的资源浪费问题,有效节约了系统资源消耗。
【附图说明】
[0015]图1为本发明实施例中点对点流媒体系统架构示意图;
[0016]图2为本发明实施例中调度进程的流程图;
[0017]图3为本发明实施例中服务器通过主进程调度子进程的逻辑图;
[0018]图4为本发明实施例中具体应用场景下调度进程的流程图;
[0019]图5为本发明实施例中调度进程的装置结构示意图。
【具体实施方式】
[0020]为了解决现有技术在进程调度过程中,存在系统资源消耗大的问题。本发明实施例中,本发明实施例中,当服务器的主进程监听到节点发送的且未被服务器调度至进程的连接请求消息后,将该连接请求消息调度至本地的子进程。采用上述技术方案,通过服务器的主进程监听节点发送的连接请求消息,并将该连接请求消息调度至相应的子进程,避免了所有子进程均进行监听时造成的资源浪费问题,有效节约了系统资源消耗。
[0021]本发明实施例应用在点对点流媒体系统中,参阅图1所示为本发明实施例中点对点流媒体系统结构示意图,其中,该点对点流媒体系统中包含服务器,以及该服务器管辖下的多个节点,下面以结合附图对本发明优选的实施方式进行详细说明。
[0022]参阅图2所示,本发明实施例中,调度进程的详细流程为:
[0023]步骤200:服务器通过主进程监听是否存在由节点发送至服务器且未被服务器调度至进程的连接请求消息。
[0024]本发明实施例中,当点对点流媒体系统中的任意一节点需要与其对应的服务器建立连接关系时,该任意一节点即向服务器发送连接请求消息,服务器基于RTMFP(Real TimeMedia Flow Protocol ;实时流媒体协议)接收上述任意一节点发送的连接请求消息,并对该连接请求消息进行处理。
[0025]步骤210:当服务器通过主进程监听存在上述连接请求消息后,将该连接请求消息调度至本地的子进程。
[0026]本发明实施例中,当服务器通过主进程监听到本地管辖范围内的任意一节点发送的连接请求消息,且该连接请求消息未被服务器调度至进程后,将该任意一节点发送的连接请求消息调度至本地的子进程。
[0027]可选的,服务器通过主进程将上述连接请求消息随机调度至本地的任意一子进程;或者服务器通过主进程分别获取每一个子进程的负载参数,将上述连接请求消息调度至负载参数最小的子进程;或者服务器通过主进程采用轮询方式将上述连接请求消息调度至本地的子进程;或者服务器通过主进程采用加权轮询方式将上述连接请求消息调度至本地的子进程。参阅图3所示为本发明实施例中服务器通过主进程进行进程调度的逻辑示意图。例如,服务器包含三个子进程与一个主进程,当任意一节点向服务器发送连接请求消息后,若该连接请求消息未被服务器调度至任意一进程,则服务器通过主进程即监听到该连接请求消息,分别获取获取三个子进程的负载参数,设子进程I的负载参数为tl,子进程2的负载参数为t2,子进程3的负载参数为t3,且tl < t2 < t3,则服务器通过主进程将上述任意一节点发送的连接请求消息调度至子进程3。再如,参阅图3所示,子进程I的加权系数为zl,子进程2的加权系数为z2,子进程3的加权系数为z3,且zl > z2 > z3,则服务器通过主进程按照加权轮询方式将任意一节点发送的连接请求消息优先调度至本地加权系数最大的子进程1,当之前已经存在连接请求消息被调度子进程I时,优先将连接请求消息调度至子进程2,以此类推,此处不再赘述。
[0028]采用上述技术方案,将任意一节点发送的连接请求消息优先调度至负载参数最小的子进程,避免了现有技术中当存在大量节点向服务器发送连接请求消息时,服务器会将该大量连接请求消息优先发送至子进程队列最前端的子进程,造成子进程队列前端的子进程负载量大的问题,均衡了各个子进程的负载,降低了系统负担。
[0029]可选的,服务器通过主进程分别获取每一个子进程的负载参数的过程为:服务器通过主进程分别获取每一个子进程按照预设周期动态上报的负载参数。该负载参数可以为上述子进程正在执行的任务数量,当子进程正在执行的任务数量较大时,负载参数较大。
[0030]特殊的,若存在至少两个子进程的负载参数相等,且均为负载参数最小的子进程,服务器通过主进程从至少两个子进程中随机选定一个子进程,将上述任意一节点发送的连接请求消息调度至选定的子进程;或者,服务器通过主进程获取本地保存的调度记录,从至少两个子进程中选定调度频率最高的一个子进程,将上述任意一节点发送的连接请求消息调度至选定的子进程;或者,服务器通过主进程获取该至少两个子进程的执行效率,从该至少两个子进程中选定执行效率较最高的一个子进程,将上述任意一节点发送的连接请求消息调度至选定的子进程,其中,该执行效率可以通过子进程执行任意一任务的任务量与该任意一任务的执行时长的比值获取。
[0031]例如,参阅图3所示,服务器包含三个子进程与一个主进程,当任意一节点向服务器发送连接请求消息后,服务器通过主进程分别获取获取三个子进程的负载参数,设子进程I的负载参数为tl,子进程2的负载参数为t2,子进程3的负载参数为t3,且tl < t2=t3,则服务器通过主进程将上述任意一节点发送的连接请求消息随机调度至子进程3或者子进程2 ;或者,服务器通过主进程获取上述子进程2和子进程3的执行效率,设子进程2的执行效率为Pl,子进程3的执行效率为p2,且pi < p2,则服务器通过主进程将上述任意一节点发送的连接请求消息调度至子进程2。
[0032]此外,若存在至少两个子进程的负载参数相等,且均为负载参数最小的子进程,则服务器通过主进程采用轮询方式将任意一节点发送的连接请求消息调度至至少两
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1