基于批量数据请求的服务器动态调度系统及方法与流程

文档序号:37101958发布日期:2024-02-22 20:59阅读:19来源:国知局
基于批量数据请求的服务器动态调度系统及方法与流程

本发明涉及数据处理,特别涉及基于批量数据请求的服务器动态调度系统及方法。


背景技术:

1、目前,由于服务器的数据处理量级的持续提升,允许与同一服务器进行通信互联的客户端数量也随之增加,对于已经验证身份的客户端,其向服务器发送的请求指令数量是海量的,同时,服务器还可能会接受非法指令,这样,会使服务器在同一时段面临海量的数据请求,且服务器对于大批量的数据请求,大多数是实时响应的,因此,服务器需要在面对批量数据请求是采取合理的指令处理方式,来避免因请求指令过多而导致的向客户端反馈数据时反馈时间变长,丢包率明显过大,甚至“死机”的情况。

2、现有技术中大多采用“负载均衡”理念来解决上述问题,然而,现有负载均衡方案在面对批量数据请求时,大多是在服务器中设置一个固定的处理芯片,通过该芯片对于请求指令的筛选和分类合理规避数据拥挤现象,然而,此种方案仅仅能够实现一种请求指令(如存储数据指令)的处理,且在请求指令数量较多时,向客户端反馈数据时反馈时间变长,丢包率明显过大,甚至“死机”的情况依然存在,如果这个固定的处理芯片出现故障,那么很可能会导致更长请求反馈时间,且请求指令也会丢失。

3、因此,在服务器接收到大批量的请求指令时,亟需一种对于请求指令的合理处理方案。


技术实现思路

1、本发明的目的在于提供基于批量数据请求的服务器动态调度系统及方法,可以根据服务器接收的指令类型以及指令的请求类型,通过不同的调度单元实现不同请求指令的处理,并且,调度单元是复用服务器内部的具有控制芯片的控制单元,无需单独设置调度单元,且服务器中的调度单元可以是动态变化的,可以保证请求指令以最低丢包率到达服务器中对应的指令接收单元。

2、本发明解决其技术问题,采用的技术方案是:

3、一方面,本发明提供了基于批量数据请求的服务器动态调度系统,包括:

4、指令类型设置单元,用于将待接收的指令类型设置为有线请求指令和无线请求指令,并分别为每种指令类型设置对应的指令标识;

5、预设第一调度单元,用于在服务器接收到有线请求指令后,缓存服务器发送来的有线请求指令,并根据指令的请求类型分别为每种请求类型的有线请求指令设置对应的第一请求队列,并根据已缓存的第一请求队列中每种请求类型对应的有线请求指令的数量,判断是否符合有线请求指令的转发条件,当符合时,将有线请求指令按请求类型分别转发至对应的指令接收单元;

6、预设第二调度单元,用于在服务器接收到无线请求指令后,缓存服务器发送来的无线请求指令,并根据指令的请求类型分别为每种请求类型的无线请求指令设置对应的第二请求队列,并根据已缓存的第二请求队列中每种请求类型对应的无线请求指令的数量,判断是否符合无线请求指令的转发条件,当符合时,将无线请求指令按请求类型分别转发至对应的指令接收单元;

7、bmc控制单元,用于根据预设第一调度单元和预设第二调度单元分别所在控制单元的负载状态,以及预设第一调度单元和预设第二调度单元转发请求指令的丢包率动态计算实时第一调度单元和实时第二调度单元,并通过实时第一调度单元和实时第二调度单元进行请求指令的转发。

8、另一方面,本发明还提供了基于批量数据请求的服务器动态调度方法,应用于所述的基于批量数据请求的服务器动态调度系统,包括如下步骤:

9、服务器实时接收请求指令,将有线请求指令发送至预设第一调度单元进行缓存,预设第一调度单元根据指令的请求类型分别为每种请求类型的有线请求指令设置对应的第一请求队列,并将无线请求指令发送至预设第二调度单元进行缓存,预设第二调度单元根据指令的请求类型分别为每种请求类型的无线请求指令设置对应的第二请求队列;

10、预设第一调度单元根据已缓存的第一请求队列中每种请求类型对应的有线请求指令的数量,判断是否符合有线请求指令的转发条件,当符合时,将有线请求指令按请求类型分别转发至对应的指令接收单元;

11、预设第二调度单元根据已缓存的第二请求队列中每种请求类型对应的无线请求指令的数量,判断是否符合无线请求指令的转发条件,当符合时,将无线请求指令按请求类型分别转发至对应的指令接收单元;

12、bmc控制单元根据预设第一调度单元和预设第二调度单元分别所在控制单元的负载状态,以及预设第一调度单元和预设第二调度单元转发请求指令的丢包率动态计算实时第一调度单元和实时第二调度单元;

13、通过实时第一调度单元和实时第二调度单元进行请求指令的转发。

14、作为进一步优化,在服务器接收请求指令之前,包括:

15、将待接收的指令类型设置为有线请求指令和无线请求指令,并分别为每种指令类型设置对应的指令标识;

16、并将预设第一调度单元和预设第二调度单元分别设置在服务器内具有控制芯片的控制单元中。

17、作为进一步优化,所述将预设第一调度单元和预设第二调度单元分别设置在服务器内具有控制芯片的控制单元中,具体是指:

18、bmc控制单元获取服务器内每个具有控制芯片的控制单元的用于接收有线请求指令的端口数量,并选择出端口数量最多的具有控制芯片的控制单元,并将预设第一调度单元设置在选择出的具有控制芯片的控制单元中;

19、排除选择出的具有控制芯片的控制单元,随机选取服务器内任一其它具有控制芯片的控制单元,并将预设第二调度单元设置在随机选取的具有控制芯片的控制单元中。

20、作为进一步优化,所述指令的请求类型包括询问数据指令、请求数据指令、上传备份数据指令和存储数据指令。

21、作为进一步优化,所述预设第一调度单元根据已缓存的第一请求队列中每种请求类型对应的有线请求指令的数量,判断是否符合有线请求指令的转发条件,具体是指:

22、当第一请求队列中每种请求类型对应的有线请求指令的数量为1时,直接判断当前类请求类型对应的有线请求指令符合转发条件,当第一请求队列中每种请求类型对应的有线请求指令的数量大于1时,若在第一规定时间内有线请求指令的数量低于第一预设数量值,则判断当前类请求指令类型对应的有线请求指令符合转发条件,否则不符合转发条件。

23、作为进一步优化,当预设第一调度单元判断有线请求指令符合转发条件时:

24、对于询问数据指令,预设第一调度单元设置第一请求队列中第一预设时间后转发询问数据指令;

25、对于请求数据指令,预设第一调度单元设置第一请求队列中第二预设时间后转发询问数据指令;

26、对于上传备份数据指令,预设第一调度单元设置第一请求队列中第三预设时间后转发询问数据指令;

27、对于和存储数据指令,预设第一调度单元设置第一请求队列中第四预设时间后转发询问数据指令。

28、作为进一步优化,所述预设第二调度单元根据已缓存的第二请求队列中每种请求类型对应的无线请求指令的数量,判断是否符合无线请求指令的转发条件,具体是指:

29、当第二请求队列中每种请求类型对应的无线请求指令的数量为1时,直接判断当前类请求类型对应的无线请求指令符合转发条件,当第二请求队列中每种请求类型对应的无线请求指令的数量大于1时,若在第二规定时间内无线请求指令的数量低于第二预设数量值,则判断当前类请求指令类型对应的无线请求指令符合转发条件,否则不符合转发条件。

30、作为进一步优化,对于询问数据指令,预设第二调度单元设置第二请求队列中第五预设时间后转发询问数据指令;

31、对于请求数据指令,预设第二调度单元设置第二请求队列中第六预设时间后转发询问数据指令;

32、对于上传备份数据指令,预设第二调度单元设置第二请求队列中第七预设时间后转发询问数据指令;

33、对于和存储数据指令,预设第二调度单元设置第二请求队列中第八预设时间后转发询问数据指令。

34、作为进一步优化,所述bmc控制单元根据预设第一调度单元和预设第二调度单元分别所在控制单元的负载状态,以及预设第一调度单元和预设第二调度单元转发请求指令的丢包率动态计算实时第一调度单元和实时第二调度单元,具体是指:

35、bmc控制单元每隔第三规定时间获取预设第一调度单元所在控制单元的负载状态,若预设第一调度单元所在控制单元的负载状态处于负载均衡状态,且预设第一调度单元转发请求指令的丢包率低于第一预设丢包率,则当前预设第一调度单元即为计算出的实时第一调度单元,否则根据接收有线请求指令的端口数量重新选择出具有控制芯片的控制单元,并将实时第一调度单元设置在具有控制芯片的控制单元中;

36、bmc控制单元每隔第四规定时间获取预设第二调度单元所在控制单元的负载状态,若预设第二调度单元所在控制单元的负载状态处于负载均衡状态,且预设第二调度单元转发请求指令的丢包率低于第二预设丢包率,则当前预设第二调度单元即为计算出的实时第二调度单元,否则选择任一处于负载均衡状态的具有控制芯片的控制单元,且具有控制芯片的控制单元当前不是第一调度单元设置的具有控制芯片的控制单元。

37、本发明的有益效果是:通过上述基于批量数据请求的服务器动态调度系统及方法,首先,服务器实时接收请求指令,将有线请求指令发送至预设第一调度单元进行缓存,预设第一调度单元根据指令的请求类型分别为每种请求类型的有线请求指令设置对应的第一请求队列,并将无线请求指令发送至预设第二调度单元进行缓存,预设第二调度单元根据指令的请求类型分别为每种请求类型的无线请求指令设置对应的第二请求队列,这里,对于服务器的请求类型作出明确限定,一种是有线请求指令,另一种是无线请求指令,由于有线请求指令相对于无线请求指令来说信号更稳定,且在短距离内基本很少存在丢包现象,而无线请求指令则可能存在非法指令,且容易丢包,对于不同请求指令,本发明中,会有不同的指令处理方式。

38、其次,预设第一调度单元根据已缓存的第一请求队列中每种请求类型对应的有线请求指令的数量,判断是否符合有线请求指令的转发条件,当符合时,将有线请求指令按请求类型分别转发至对应的指令接收单元;预设第二调度单元根据已缓存的第二请求队列中每种请求类型对应的无线请求指令的数量,判断是否符合无线请求指令的转发条件,当符合时,将无线请求指令按请求类型分别转发至对应的指令接收单元,这里,是通过调度单元来实现请求指令的转发,而不是直接将指令发送至服务器中的目标指令接收单元,防止大批量请求指令造成的服务器延迟和崩溃;

39、最后,bmc控制单元根据预设第一调度单元和预设第二调度单元分别所在控制单元的负载状态,以及预设第一调度单元和预设第二调度单元转发请求指令的丢包率动态计算实时第一调度单元和实时第二调度单元,通过实时第一调度单元和实时第二调度单元进行请求指令的转发,其中,调度单元并不是固定不变的,如果固定不变,则会将服务器的数据处理负担转移到固定芯片中,当固定芯片出现故障时,不仅影响服务器中目标指令接收单元对于请求指令的接收,还可能导致请求指令直接丢失,从而使终端无法得到反馈指令。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1