主权项 |
1.一种适用于集群网络服务的基于内容的通用调度系统,包括前端机和子网,其特征在于:所述前端机配置有策略定制模块、伪服务器和负载调度器,所述子网由配置有TCP协议栈改造模块和服务例程的多个节点机构成,由多个子网形成服务器池;所述策略定制模块用于用户定制其策略,并将该策略传送到所述负载调度器;该模块包括策略定义用户界面(20)、策略校验模块(21)、策略库(22)和发送内核模块(23);策略定义用户界面(20)用于用户定制集群系统所允许的策略,并把用户定制的策略交由策略校验模块(21)统一校验;策略库(22)用于存放策略规则,供策略校验模块(21)调用;策略校验模块(21)将策略定义用户界面(20)传来的策略与策略库(22)进行匹配,判断是否符合;若不符合,则进行出错处理,将出错信息报告给用户,否则,交由发送内核模块(23)处理;发送内核模块(23)将通过策略校验模块(21)校验的策略通过系统调用传到负载调度器处理;所述伪服务器用于同发起请求的客户机进行三次握手通信,并将信息传送给所述负载调度器;所述伪服务器包括初始化模块(11)、监听端口服务模块(12)、服务类型库(13)、保存握手信息模块(14)和握手信息表(10);初始化模块(11)用于初始化网络服务链表并从服务类型库(13)中取出要监听的服务类型和端口号交由监听端口服务模块(12)进行监听往这些端口发来的网络包;监听端口服务模块(12)接收从初始化模块(11)传来的服务类型和端口号,并在这些端口监听网络包;当三次握手信号完成后,进入保存握手信号模块(14)来保存握手信息;服务类型库(13)用于存放集群系统所支持的服务类型和相应服务的端口号,提供给初始化模块(11)使用;保存握手信息模块(14)用于在三次握手完成后保存握手信息到握手信息表(10)中;握手信息表(10)用于存放三次握手信息,提供给负载调度器中的报文捎带模块(6);所述负载调度器用于将客户发来的请求包按其内容的不同,分别调度到不同子网的不同节点机上;以及将伪服务器中已截获的握手信息转发给节点机;所述负载调度器包括报文接收模块(1)、通用调度器(3)、事件接收模块(4)、策略库(5)、报文捎带模块(6)、调度表(7)和转发模块(9);报文接收模块(1)用于接收网络包,并判断该网络包的IP是否为虚拟IP,如果不是,则交由原TCP/IP协议栈自行处理,否则,进入通用调度器(3);事件接收模块(4)用于接收来自发送内核模块(23)的策略信息,并把其保存在策略库(5)中;策略库(5)用于保存策略信息,供通用调度器(3)调用;调度表(7)用于保存报文请求内容和被调度的目的节点机信息,供通用调度器(3)调用;通用调度器(3)根据报文接收模块(1)提供的报文分析数据、策略库(5)和调度表(7)中的信息决定调度到某节点机上,并将该决定传给报文捎带模块(6);报文捎带模块(6)从通用调度器(3)传来的调度信息中取出报文请求内容,和捎带握手信息表(10)中的握手信息一同传给转发模块(9);转发模块(9)用于将报文捎带模块(6)传来的包经过内部高速网络转发给指定节点机的所述TCP协议栈改造模块;所述TCP协议栈改造模块用于截获负载调度器发来的网络包,截取其握手信息,恢复原报文,实现与客户端之间的伪连接,并将响应报文通过伪连接发送给客户端。 |