[go: up one dir, main page]

CN1284094C - Distributed parallel scheduling wide band network server system - Google Patents

Distributed parallel scheduling wide band network server system Download PDF

Info

Publication number
CN1284094C
CN1284094C CN 02113686 CN02113686A CN1284094C CN 1284094 C CN1284094 C CN 1284094C CN 02113686 CN02113686 CN 02113686 CN 02113686 A CN02113686 A CN 02113686A CN 1284094 C CN1284094 C CN 1284094C
Authority
CN
China
Prior art keywords
server
scheduling
client
service
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 02113686
Other languages
Chinese (zh)
Other versions
CN1455347A (en
Inventor
刘心松
刘丹
唐续
刘流
罗朝劲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN 02113686 priority Critical patent/CN1284094C/en
Publication of CN1455347A publication Critical patent/CN1455347A/en
Application granted granted Critical
Publication of CN1284094C publication Critical patent/CN1284094C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

The present invention discloses a distributed parallel scheduling network server system. A client terminal and a server terminal are matched. Scheduling message pick-up and scheduling request processing are asynchronously carried out. Each node in a server group can accept and process a scheduling request. A scheduling process embodies distributed parallel. An input output scheduling interface in the mode of distributed parallel is realized, and the scheduling bottleneck problem existing in the prior art is thoroughly eliminated. When the present invention is used, more request users can be supported on the basis of the scale of the existing hardware system. The expandability of the system and the load capacity for a user can be greatly enhanced, and therefore, the integral price performance ratio of the server system is raised.

Description

A kind of method that makes up the distributed parallel scheduling network server system
Technical field:
The present invention relates to the webserver, particularly wide band network server, as: wideband video server, broadband data services device etc.
Background technology:
The mode that existing wide band network server adopts has two kinds, with the traditional server of single large scale computer formation and the group system server of forming with a plurality of power PC machines.Traditional server not only costs an arm and a leg, and under the continuous condition of enlarged of client access amount, the reliability deficiency, calculating, processing, storage capacity and system bandwidth are difficult to expansion, cause congested situation easily.Computer cluster allows the accurate personal computer control of thousands of station symbols lot of data intensive task, the computing cost is lower than the computing cost of present large computer system, and has characteristics such as high availability, high system throughput, high expandability, low cost, low user's operating lag.
Group system CLUSTER: multiple servers (high-performance PC) connects to form with the High Speed General network interconnection device, and the operation relative program, uniform dispatching, and Coordination Treatment realizes the system that efficient parallel is handled.Have and to bear a plurality of users that try one's best/processing (request) task, high availability, characteristics such as high expandability simultaneously.
Existing wide band network server situation:
1.TurboCluSter
TurboCluster is the cluster scheme of an enterprise-level, and it allows to make up high available, extendible network on a plurality of computing machines.Use the TurboCluster system can improve the service quality of serving based on the multiple network of ICP/IP protocol significantly, these services comprise Web, Mail, News and Ftp etc.TurboCluster has good usability, extensibility and manageability, and the quantity of the real server of cluster inside can expand, and its structure as shown in Figure 1.
When client computer when server cluster system sends a request, this request at first arrives the Advanced Traffic Management device, the Advanced Traffic Management device is forwarded to this request on a certain the real server in the cluster by certain scheduling strategy and handles, and final response request will directly send to client computer.Because final response request not by senior browsing management device but directly send to the client, has alleviated the load on the Advanced Traffic Management device so greatly, thereby has reduced the possibility of bottleneck generation.The scheduling strategy that adopts among the TurboCluster has: samsara (Round Robin), weighting samsara (Weighted Round Robin), minimum connection (Least Connection).Produce the possibility that lost efficacy in order to reduce the Advanced Traffic Management device, TurboCluster has prepared a backup machine for the Advanced Traffic Management device.This backup machine inquires that constantly manager confirms it just in operate as normal, in case find that main manager lost efficacy, backup machine will be taken over it and work on.
2.LinuxVirtualServer
(Linux Virtual Server LVS) builds on the server cluster of reality the Linux virtual server, and the user can't see many real server that service is provided, and can only see a server as load balancer.Actual server connects by high-speed local area network.The front end of real server is a load balancer, and he finishes user's request scheduling on real server, seems all services so all to finish by virtual server.The Linux virtual server can provide good extensibility, reliabilty and availability.The user can increase or reduce a node pellucidly, can monitor real server, has node failure just to reconfigure system if find.The structure of Linux Virtual Server as shown in Figure 2.The client uses VIP (virtual IP address) address access server.The scheme of its load balance is:
1) network address translation (nat) technology: load balancer is after receiving services request (IP bag), press load balancing algorithm, determine real server, this link information is write IP request connection table, the destination address of this IP bag and port numbers are changed into this server by the VIP address IP address and port numbers simultaneously, transmit this IP bag, real server is after finishing the request task, send load balancer back to replying the IP bag, load balancer changes the source address of replying the IP bag VIP address into and is forwarded to external network again.
2) IP tunnel (IP-TUNNEL) technology: load balancer is behind the services request IP that receives from external network, the encapsulation source IP address, then with data packet form, be forwarded to a certain real server, real server is after finishing the request task, directly by source IP address the result is returned the client computer of sending services request, the load balancer of this method is no longer born and is transmitted the task of returning the IP bag, and load has just been lacked than the NAT method.
3) direct route (DIRECT ROUTING) technology: the LVS of this method is different, load balancer and real server all are in same section LAN (Local Area Network), load balancer receives the services request IP bag of client computer, load balancer is distributed to a certain real server, directly revise the MAC Address of the MAC Address of link layer then for this real server, to this real server, after finishing request, real server also is directly the result to be delivered to client computer the IP packet transfer.This strategy has further reduced the load of load balancer self.
From above system as can be seen, in order to maximally utilise all resources in the cluster, group system need have the balancing dynamic load function, and it monitors the loading condition of the actual node in the cluster and the change of dynamically dispatching.We can say that the quality of scheduling feature directly influences the integrity service ability of system.No matter be the scheduling mode that adopts the Advanced Traffic Management device among the TurboCluster, or the scheduling scheme of realizing in the LVS virtual server based on NAT, IP-TUNNEL or DIRECT ROUTING technology, all can abstractly be the centralized scheduling model of Fig. 3.
Client requests is received and queuing by single dispatch interface, is transmitted to actual server one by one according to dispatching algorithm.Obviously along with the expansion of system scale (for the advanced direct routing mode of technology, maximum service device node number is above 100) and the increase of user capture amount, dispatch interface will become system bottleneck.This makes when having a large amount of client requests to arrive, just can be because of the serious overload of dispatch interface main frame, and make response time may become very long to client requests, surpass client's degrees of tolerance, even the system that can think by mistake is unavailable.More seriously, if this special main frame collapse, total system is promptly unavailable, even select another again automatically or start guest machine as new dispatch interface main frame, does not solve but bottleneck problem is still basic.
Summary of the invention
The technology of the present invention purpose is to realize a kind of wide band network server system of distributed parallel scheduling interface, solves the bottleneck problem of existing group of planes formula broadband server to the client requests scheduling, shortens the response time of client requests, the availability of enhanced system; Greatly improve the extensibility and the load capacity of system, thereby improve the cost performance of server system integral body.In order to reach this purpose, the technical solution used in the present invention is:
Client computer is cooperated with server zone, and schedule information is picked up with dispatch request and handled asynchronous carrying out; In the server zone each node can both accept, processing and response scheduling request, scheduling process is presented as distributed parallel.The system flow block diagram of client requests scheduling as shown in Figure 4, its scheduling model is as shown in Figure 5.
By realizing the input/output scheduling interface of distributed parallel of the present invention, can thoroughly eliminate the scheduling bottleneck problem that exists in the prior art.
Job step of the present invention is:
Enforcement of the present invention is divided into asynchronous two processes (as Fig. 4): server info picks up and maintenance process B and client requests scheduling process A.
In the period of not initiating client requests as yet, operate in each the server node information B1 of dispatch service end program interaction in each server, the dispatching client program that operates in the client computer is communicated by letter with the dispatch service end program timing in the server, each active server node and information B2 such as COS that provides and service ability thereof in the nearest period server zone are provided, and in this machine, safeguard the relevant information table.
When the client access server, the access interface that the client requests that client applications in the client computer sends provides by the dispatching client program obtains an effectively address A1 of (movable and have related service) server at random from the information table of this machine, and initiates request A2 to this server.Owing to be the server address of obtaining at random, the request of different client computers can be distributed to different server nodes randomly, and this has just solved all requests enter server system from same dispatch interface bottleneck problem;
Then, the node server that receives client requests returns to real server address of client according to current system status and dispatching algorithm, because current server is also at optional row, usually preferentially chosen, this moment, client computer will directly establish a communications link with it, begin to provide the application service of customer requirement, finishing scheduling;
If this server load overweight (by the dispatching algorithm decision), can not provide service to this request, the meeting that then returns to the client is the address of the lighter server of load, client requests need not postpone to wait for, continuation sends request to new server, thereby can be accepted and provide service by this server.
The worst situation is, the entire system load is all very high, client requests will attempt connecting (connect time delay at every turn and be about more than ten millisecond) one by one according to the server address that dispatch service end program is returned this moment, have only and when Servers-all all can not be served, just understand discard request, though can not occur that the sort of server still has service ability in the aforementioned group system, but because of request message blocks at dispatch interface, and make the unaccepted situation of request, improved the availability of system.
Description of drawings:
Fig. 1 is turbocluster server architecture figure
Fig. 2 is Linux virtual server architecture figure
Fig. 3 is the centralized scheduling illustraton of model
Fig. 4 is the system flow block diagram
Fig. 5 is the distributed parallel scheduling illustraton of model
Fig. 6 is a VOD service system structural drawing
Wherein, c1, c2, c3...: the client computer of visit book server, be general purpose personal computer PC, be connected into Internet by 100Mbps Ethernet adapter; Installation and operation windows2000 operating system, VOD client's application software and client software module of the present invention.
LAN (Local Area Network): the physical network path of inner each node of Connection Service device group; Adopt 100Mbps Ethernet high speed InterWorking Equipment; Internet: the network path that connects client computer and server;
S1, s2, s3, s4...: general high-performance PC (band 100Mbps Ethernet adapter) provides VOD service as server; Installation and operation linux operating system; Installation and operation service end software module of the present invention and VOD service application software.
Fig. 7 is the dispatcher software structural drawing that is applied to the VOD server
Wherein, dispatch service end program and dispatching client program all adopt C Plus Plus to write.
Fig. 8 is a node administration modular program process flow diagram
Fig. 9 is application server interface modular structure figure
Figure 10 dispatches the primary module structural drawing
Figure 11 is scheduling sublayer modular structure figure
Embodiment:
For the embodiment that reaches technique effect uses for VOD (video on demand) video on-demand system.Below in conjunction with accompanying drawing it is elaborated.
Video on-demand system: pass through in the high speed Internet access technical battery various wideband multimedias website and carry out various interacting activities such as on-line film, TV, online music, long-distance education, meeting, medical treatment.
Implement to divide two stages:
Phase one: client computer obtains server zone up-to-date information, the A process of corresponding diagram 4.
Step 1: start dispatch service end program
Require in the server system every main frame (s1, s2, s3, s4) traffic control serve end programs all.Dispatch service end program is the finger daemon of multithreading form, and as Fig. 7, this program comprises node administration, task scheduling, and application service interface and load pick up and safeguard etc. submodule.The program maintenance of dispatch service end has four tables:
Service name-port numbers mapping table---in the table each is the mapping of a service name-port numbers, is used to describe the access entrance of application service.
Main frame upgrades concordance list---determine to send infomational message to any platform node main frame when being used for more the new node host information.
The load on host computers table---write down the loading condition of all mobile host computers in the system.
Service-main frame mapping table---write down the information of the respective services that each service host provides.
Start dispatch service end program and will at first cause the operation of node administration submodule.Its flow process such as Fig. 8 are described below:
1, carries out netinit work: create TCP communication socket, UDP communication socket and be tied to the port of appointment, create the UNIX communication socket.
2, with program initialization be demons, the realization in 1,2 steps is medium programmer to be familiar with, and does not describe in detail at this.
3, this nodal information of broadcasting in server zone states that to other mobile host computers nodes this machine adds system with this.
4, produce a thread, regularly check and processing host is upgraded each host information in the concordance list: it is that ascending order with the markers RecvTime that receives this record sorts that main frame upgrades concordance list, handles and carries out from the beginning to the end.If the difference of the RecvTime of first element and current time is less than a update cycle UPD_HOST_TIME (defining with grand mode according to system scale), then do not do any operation, wait for next time and upgrading, because the All hosts that main frame upgrades in the concordance list has all sent message to this machine in a update cycle.The deletion main frame upgrades the dead main frame in the concordance list, and the difference of RecvTime and current time is all thought dead main frame greater than the element of three update cycles.Behind the dead main frame of deletion, need the respective host record in deletion load on host computers table, the service-main frame mapping table.In addition, be that these dead main frames are exclusive if some service is arranged, also in service name-port numbers mapping table, delete corresponding information on services.At this moment, it is that these main frames just need upgrade between a update cycle and three update cycles that will there be the RecvTime of some elements and the difference of current time in the foremost that main frame upgrades concordance list---send this host information message by the UDP communication socket to them.But to these main frames is not update all, but therefrom selects a part to upgrade, and the maximum number of renewal is 1/3 of all mobile host computers numbers, and the design of this number is to consider to upgrade in three update cycles to finish all mobile host computers.
5, produce a thread, whether the service in quantitative check local service name-port numbers mapping table is dead.Because each element in local service name-port numbers mapping table all has a server processes attribute that service is provided, just whether activity checks whether service is dead to the state of a process by checking this process number correspondence.This thread starts a timer simultaneously, extracts this machine load information by system call interfaces, upgrades the item of this machine load in main frame-loading liquifier.
6, adopt the multiplexed select of I/O () to monitor a TCP communication port (with client communication), a UDP communication port (intercommunication of server node machine) and a UNIX territory socket port (communicating by letter) simultaneously with application service process.
7, main thread enters and monitors circulation, waits for receiving each port message and producing each Message Processing thread respectively.
Message Processing is described:
TCP message: being initiated by the dispatching client program, mainly is the mapping of client's update service host information and name Service.
Then generate a thread process when dispatch service end program listens to a TCP message, treatment scheme is as follows:
1. read message from the TCP socket;
2. the version number in the judgement message if version number is consistent with the system information current version, then sends an empty data message, otherwise, send the service host information of redaction and serve map information (from each table, obtaining);
3. close socket, finish thread.
UDP message is the communication between the service node machine, is used for mutual node host information (load, service).
Then generate a thread when arriving a message, treatment scheme is as follows:
1. sense data is reported in the socket, and verifies its legitimacy;
2. according to the type of message, do different processing;
2.1 node machine update request kind of message
1. according to the address of information source main frame, the lastest imformation of in upgrading concordance list, searching this main frame.If current time and this main frame lastest imformation, interval<timer time T of transmission markers send_time, then explanation has sent message to information source main frame (being equivalent to reply), upgrade the reception markers recv_time of information source main frame, and sort according to the direction that the recv_time of main frame successively decreases.Change 2..If the time interval>T, then the information of replying by each table organization that safeguards in this node machine sends to the information source main frame, upgrades send_time and recv_time simultaneously, and sorts according to the direction that the recv_time of main frame successively decreases.Change 2..If do not find this host information, illustrate to receive the broadcast that a new server node that starts sends, also should organize the message of local host, send to the information source main frame, reply.In the renewal concordance list of this machine, increase the send_time and the recv_time of this information source main frame then, and sort according to the direction that the recv_time of main frame successively decreases.
2. according to message, update service-main frame mapping table, service name-port numbers mapping table;
3. from message, obtain load information, upgrade main frame-loading liquifier;
4. close socket, finish thread.
2.2 the node machine upgrades acknowledgement type message
1. according to the address of information source main frame, the lastest imformation of in upgrading concordance list, searching this main frame.Upgrade the recv_time of information source main frame, and sort according to the direction that the recv_time of main frame successively decreases.
2. basis, update service name-port numbers mapping table, service-main frame mapping table;
3. the load terms from message obtains load information, upgrades main frame-loading liquifier;
4. close socket, finish thread.
The UNIX domain message: communicate with the VOD application server, mainly be application server to this scheduler program registration/cancellation related service, obtaining the scheduling support in whole bundle of services, and initiate dispatch request by this message.
Then generate a thread when arriving a message, treatment scheme is as follows:
1. from socket, read message, and verify its legitimacy;
2. according to the type of message, do different processing;
1. request registration kind of message: in service name-port numbers mapping table, increase service entry, revise service-server mapping table.
2. kind of message is nullified in request: delete service entry in service name-port numbers mapping table, revise service-server mapping table.
3. request scheduling kind of message: call the scheduling sublayer module, and will return server ip address and return to application server by UNIX territory socket.
3. close socket, finish thread.
Step 2: start VOD server module program
In order to use the function of software of the present invention, the VOD server program is a kind of as broadband service, when starting, need call the interface function (providing) that this software provides with the header file form, by aforesaid UNIX domain message to its application service of this software dispatch service end program registration---Service name and access port.
Step 3: client computer (c1, c2, c3) traffic control client-side program
The dispatching client program is divided into backstage executive routine UPD.EXE and dynamic link library SchedClientPro.DLL., UPD.EXE requirement operation before client applications such as the operation of VOD CLIENT PROGRAM generally is arranged in and calls the interface function startup that dynamic link library provides by the os starting operation or by VOD CLIENT PROGRAM authorized personnel before the client opens CLIENT PROGRAM.When this program is installed, can generate the listing file of an available server IP addresses of nodes in this machine system directory, address wherein is easy to guarantee to be available by installation process.
Program UPD.EXE safeguards effective server address table, the tabulation of service name-port mapping, the tabulation of service-server mappings, its execution flow process such as Figure 10 with document form in this machine system directory.At first obtain a server address at random from effective list of server addresses, then check server info version number, this version number is kept in another file in the system directory, and the up-to-date information that is used for guarantee information and server zone is synchronous.If do not look for this file (when initial the installation), then generate it, and to put initial version number be 0; Initiate TCP to the system call port of the server that obtains and connect, if other address is then attempted in connection failure, all unavailable just failure is returned until all addresses; As described above, connect by this, every up-to-date information of dispatch service end program organization server zone returns to this machine, and revises each table in this locality, successfully returns.After this, the dispatching client program can regularly repeat above operation, and when guaranteeing that client applications is initiated request, total energy obtains up-to-date effective service device address.
Step 4: start the VOD client-side program
The mode common according to the application software of windows operating system starts, and present embodiment does not have specific (special) requirements.
Subordinate phase: server scheduling client requests, the B process of corresponding diagram 4.
Step 5:VOD CLIENT PROGRAM is called the interface function of the dynamic link library mode that this software provides, and obtains one or more effective server addresss at random from the scheduling CLIENT PROGRAM.
Step 6:VOD CLIENT PROGRAM is initiated the TCP connection request according to the application schedules port of the VOD service routine of related application agreement on this server node machine of VOD service oneself, successful connection then sends the application schedules request message, when few situation connection is unsuccessful, think that then this server address is invalid, choose another server address and initiate connection request.After the VOD service routine accepts request and connects, send the request scheduling kind of message by UNIX cover joint word to aforesaid node administration submodule again.
Step 7: as Fig. 8, the node administration submodule is received a UNIX message, will produce a sub-thread, by its calling task scheduling sublayer module interface function, and requires to return a scheduling result---the server node IP address of application service is provided.Return with giving the VOD service routine by former UNIX socket then.As Figure 11, the task scheduling submodule is embodied as a plurality of extendible dispatching algorithms, as take turns commentaries on classics service method, weighted round robin service method, minimum connection elder generation service method, local first method, dispatching algorithm such as copy Priority Service method is arranged, non-the present invention of specific implementation of algorithms of different limits, and does not give unnecessary details at this.Can import different parameters according to the different call functions of application type, make the different application server can choose only dispatching algorithm, can adopt the first service method of minimum connection as http server, ftp server can adopt minimum bandwidth use amount precedence method.Present embodiment takes minimum linking number to add this machine Priority Service algorithm.
Step 8:VOD service routine communicates to connect by TCP and returns this scheduling result to the VOD CLIENT PROGRAM; The VOD CLIENT PROGRAM begins therewith the data in server transmit port immediately to be set up the application data transmission and connects, and successful connection then can finish scheduling (it happens frequently for actual conditions).Connection failure under few situation thinks that then the service failure of this address gets back to step 5 and repeat.
From above step as can be seen: client requests mails to the arbitrarily effective server the server zone at random, can receive total identical that requested service device number will be with active server simultaneously, the bandwidth of solicited message is N times (N is the server node number) of existing system, and receive the requested service device can be according to dispatching algorithm reorientation client requests, further prevented from processing of request is blocked in the request queue of a station server, realized the function of balancing dynamic load.Thus; we may safely draw the conclusion: the present invention has thoroughly solved the problem of scheduling bottleneck between VOD client and the VOD server system; implement the present invention and can on existing hardware system scale basis, support more to put broadcasting user; greatly improve the extensibility of system and to user's load capacity, thereby improve the cost performance of server system integral body.
Embodiment of the invention technique effect compares:
An existing broadband services VOD system satisfies 6000 users' VOD program request at present, supports 300 users' normal concurrent program request simultaneously, and the time that stream connects is no more than 20 seconds.Its media server adopts Sun 6000E system, can store the above video frequency program of 300G, but system cost is more than 2,000,000 Renminbi.
And embodiment of the invention system: the number of users that can use simultaneously: the 100--10000 family, server response time adopts the present invention program's the system that reaches or better performance index identical with last plane system only to need less than 500,000 Renminbi less than 2 seconds.

Claims (2)

1.一种构建分布式并行调度网络服务器系统的方法,通过服务器和客户计算机实现下列步骤:1. A method for building a distributed parallel scheduling network server system, realizes the following steps by server and client computer: 它采用异步的两个过程:服务器拾取、维护信息及接受、处理和响应客户机请求过程(B)和客户机获取服务器群状态信息及请求调度过程(A);It adopts two asynchronous processes: the server picks up, maintains information and accepts, processes and responds to the client request process (B) and the client obtains server group status information and request scheduling process (A); 从尚未发起客户请求的时段起,运行在各服务器中的调度服务机就交互各服务器信息(B1),运行在客户计算机中的调度客户机和服务器中的调度服务机定时通信,获得最近时段服务器群中各活动服务器节点及其提供的服务类型和服务能力的信息(B2),并在客户计算机中维护包含上述所获得的信息(B2)的信息表;From the time period when the client request has not yet been initiated, the scheduling server running in each server will exchange the information of each server (B1), and the scheduling client running in the client computer and the scheduling server in the server will communicate regularly to obtain the server in the latest time period. Information (B2) on each active server node in the group and the service type and service capability it provides, and maintain an information table containing the above-mentioned obtained information (B2) in the client computer; 当客户计算机访问服务器的服务时,客户计算机中的应用客户请求通过调度客户机提供的访问接口,查询客户计算机中维护的包含所获得的信息(B2)的信息表。随机获取一个或一组有效服务器的地址(A1),并取一个有效服务器向其发起请求(A2),这里有效的服务器是指活动且有相关服务的服务器;When the client computer accesses the service of the server, the application client in the client computer requests to query the information table maintained in the client computer containing the obtained information (B2) through the access interface provided by the scheduling client computer. Randomly obtain the address of one or a group of valid servers (A1), and take a valid server to initiate a request to it (A2), where a valid server refers to an active server with related services; 然后,接收客户计算机请求的服务器根据当前各服务器系统状况经调度算法返回给所请求的客户计算机一个真实服务器地址,此时客户计算机将直接与其建立应用通信连接,服务器开始提供客户计算机要求的应用服务,调度结束;Then, the server that receives the request from the client computer returns a real server address to the requested client computer through a scheduling algorithm according to the current system status of each server. At this time, the client computer will directly establish an application communication connection with it, and the server begins to provide the application service required by the client computer. , the scheduling ends; 如果被选中的服务器负载已过重,不能对此客户机提供服务,客户机请求不用延迟等待,继续在其它有效的服务器中选择一个并向其发送请求,从而能被新选中的服务器接受并提供服务。If the selected server is too heavily loaded to provide services to the client, the client's request does not need to be delayed, and continues to select one of other effective servers and send a request to it, so that it can be accepted and provided by the newly selected server. Serve. 2.根据权利要求1所述的一种构建分布式并行调度网络服务器系统的方法,其特征是基于分布式并行调度网络服务器的VOD视频点播系统实现下列步骤:2. a kind of method of building distributed parallel scheduling network server system according to claim 1 is characterized in that the VOD video-on-demand system based on distributed parallel scheduling network server realizes the following steps: 第一阶段:客户机获得服务器群最新信息Phase 1: The client obtains the latest information about the server farm 步骤1:启动调度服务机Step 1: Start the scheduling server 服务器系统中每台服务器主机都运行调度服务机,调度服务机为多线程形式的守护进程,包括节点管理、任务调度和负荷拾取及维护子模块,启动调度服务机将首先引发节点管理子模块运行,其流程是:Each server host in the server system runs a scheduling server, which is a multi-threaded daemon process, including node management, task scheduling, load picking and maintenance sub-modules, starting the scheduling server will first trigger the node management sub-module to run , and its flow is: 1、进行网络初始化工作:创建TCP套接字、UDP套接字和UNIX套接字,并绑定到指定的端口;1. Perform network initialization: create TCP sockets, UDP sockets and UNIX sockets, and bind them to specified ports; 2、将进程初始化为一个守护进程;2. Initialize the process as a daemon process; 3、在服务器内广播本节点信息,向其他活动主机节点声明本机加入系统;3. Broadcast the information of this node in the server, and declare to other active host nodes that this machine will join the system; 4、产生一个线程,定时查看并处理主机更新主机信息;4. Generate a thread to regularly view and process the host to update the host information; 5、产生一个线程,定时检查本地服务名字-端口号映射表中的服务是否死亡;该线程启动定时器,通过接口提取本地服务器负载信息;5. Generate a thread to regularly check whether the service in the local service name-port number mapping table is dead; the thread starts a timer and extracts the load information of the local server through the interface; 6、采用I/O多路复用select()来同时监听一个TCP通信端口来与客户计算机通信、一个UDP通信端口来实现节点机之间相互通信和一个UNIX域套接字端口来完成与应用服务进程通信;6. Use I/O multiplexing select() to simultaneously monitor a TCP communication port to communicate with the client computer, a UDP communication port to realize mutual communication between node machines, and a UNIX domain socket port to complete and apply Service process communication; 7、主线程进入循环,接收各端口消息并处理消息;7. The main thread enters the loop, receives messages from each port and processes them; 步骤2:启动VOD服务器机Step 2: Start the VOD server machine 步骤3:客户机运行调度客户机Step 3: The client runs the dispatch client 调度客户机执行流程是:首先从地址列表文件中随机获取一服务器地址,接着检查服务器信息版本号,此版本号保存在系统目录中的另一文件serverVer中,用于保证信息的最新性,如果在初始安装时没有找到此文件,则生成它,并置版本号为0;向获得的服务器的系统调度端口发起TCP连接,如果连接失败,则尝试另外的地址,直至所有地址都不可用才失败返回;通过连接,获取服务器群的各项信息,并在该客户机生成最新的服务器IP地址列表、服务—服务器映射表和服务名字—服务端口映射表,成功返回;此后,调度客户机会定时重复以上操作,保证客户应用程序发起请求时,总能获得有效的服务器地址;The execution process of the dispatching client is: firstly obtain a server address randomly from the address list file, and then check the version number of the server information, which is stored in another file serverVer in the system directory to ensure the latest information, if If this file is not found during the initial installation, it will be generated and the version number will be set to 0; a TCP connection will be initiated to the system scheduling port of the obtained server. If the connection fails, another address will be tried until all addresses are unavailable. Return; through the connection, obtain the information of the server group, and generate the latest server IP address list, service-server mapping table and service name-service port mapping table on the client, and return successfully; after that, the scheduling client will repeat regularly The above operations ensure that when the client application initiates a request, it can always obtain a valid server address; 步骤4:启动VOD客户机Step 4: Start the VOD client 第二阶段:服务器调度客户请求Phase 2: Server dispatches client requests 步骤5:VOD客户机调用动态链接库方式的接口,从调度客户机随机获得一有效服务器地址;Step 5: the VOD client calls the interface of the dynamic link library mode, and obtains an effective server address randomly from the scheduling client; 步骤6:VOD客户机按照VOD服务自己的相关协议向该服务器上的VOD服务器机的应用调度端口发起TCP连接请求,连接成功则发送应用调度请求信息,在极少情况连接不成功时,则认为此服务器地址无效,回到步骤5,选取另一服务器地址发起连接请求;VOD服务器机接受请求连接后,再向前述的节点管理子模块UNIX套接字发送请求调度类型消息;Step 6: The VOD client initiates a TCP connection request to the application scheduling port of the VOD server on the server according to the relevant protocol of the VOD service itself. If the connection is successful, the application scheduling request information is sent. This server address is invalid, return to step 5, select another server address to initiate a connection request; after the VOD server machine accepts the request connection, it sends a request scheduling type message to the aforementioned node management submodule UNIX socket; 步骤7:节点管理子模块收到一个UNIX消息,将产生一个子线程,由它调用任务调度子模块接口函数,并要求返回一个调度结果——服务器地址;然后通过原UNIX套接字返回给VOD服务器机;任务调度子模块实现为多个可扩展的调度算法,包括轮转服务法、加权轮转服务法、最少连接先服务法、本地优先法、有副本优先服务法的调度算法;Step 7: The node management sub-module will generate a sub-thread upon receiving a UNIX message, which will call the interface function of the task scheduling sub-module, and request to return a scheduling result—server address; then return to VOD through the original UNIX socket The server machine; the task scheduling sub-module is implemented as multiple scalable scheduling algorithms, including the scheduling algorithm of the round-robin service method, the weighted round-robin service method, the least connection first service method, the local priority method, and the copy priority service method; 步骤8:VOD服务器机通过TCP通信连接返回此调度结果给VOD客户机;VOD客户机立即开始与此服务器建立应用数据传输连接,连接成功则结束调度。Step 8: The VOD server returns the scheduling result to the VOD client through the TCP communication connection; the VOD client immediately starts to establish an application data transmission connection with the server, and ends the scheduling if the connection is successful.
CN 02113686 2002-04-30 2002-04-30 Distributed parallel scheduling wide band network server system Expired - Fee Related CN1284094C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02113686 CN1284094C (en) 2002-04-30 2002-04-30 Distributed parallel scheduling wide band network server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02113686 CN1284094C (en) 2002-04-30 2002-04-30 Distributed parallel scheduling wide band network server system

Publications (2)

Publication Number Publication Date
CN1455347A CN1455347A (en) 2003-11-12
CN1284094C true CN1284094C (en) 2006-11-08

Family

ID=29256876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02113686 Expired - Fee Related CN1284094C (en) 2002-04-30 2002-04-30 Distributed parallel scheduling wide band network server system

Country Status (1)

Country Link
CN (1) CN1284094C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462370A (en) * 2014-12-09 2015-03-25 北京百度网讯科技有限公司 Distributed task scheduling system and method

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568365B2 (en) * 2004-11-08 2023-01-31 Open Text Corporation Systems and methods for management of networked collaboration
US8607235B2 (en) * 2004-12-30 2013-12-10 Intel Corporation Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention
JP4859072B2 (en) * 2005-06-02 2012-01-18 トムソン ライセンシング Content timing method and system
CN101193124B (en) * 2006-11-27 2010-09-08 英业达股份有限公司 Method for automatically adjusting storage resources of a servo system
CN101202761B (en) * 2007-12-04 2010-11-03 赵晓宇 System of distributed resource scheduling and method thereof
CN101207518B (en) * 2007-12-07 2010-04-14 华中科技大学 An Asynchronous Maintenance System Oriented to Distributed Resource Nodes
CN101674320B (en) * 2008-09-12 2013-06-05 阿里巴巴集团控股有限公司 Service addressing method and device in cluster environment
US7970830B2 (en) * 2009-04-01 2011-06-28 Honeywell International Inc. Cloud computing for an industrial automation and manufacturing system
CN102033889B (en) * 2009-09-29 2012-08-22 熊凡凡 Distributed database parallel processing system
CN102316138A (en) * 2010-07-02 2012-01-11 深圳市财付通科技有限公司 Client end and load balance method
CN102591886B (en) * 2011-01-06 2016-01-20 阿尔卡特朗讯 The fault-tolerance approach of approach for maintaining conversation-host relation in distributed database architecture
CN102685173B (en) * 2011-04-14 2016-04-13 天脉聚源(北京)传媒科技有限公司 A kind of asynchronous task dissemination system and scheduling distribution computing unit
CN102201010A (en) * 2011-06-23 2011-09-28 清华大学 Distributed database system without sharing structure and realizing method thereof
CN103077189B (en) * 2012-12-20 2016-01-20 中国电力科学研究院 A kind of parallel real-time database node positioning system towards bulk power grid
CN104243610B (en) * 2014-09-30 2017-07-07 浪潮软件股份有限公司 A kind of distributed document transmits method of servicing
CN109474661B (en) * 2018-09-25 2021-05-14 视联动力信息技术股份有限公司 Method and system for processing network request event
CN112527701B (en) * 2020-12-11 2024-10-15 深圳航天智慧城市系统技术研究院有限公司 Multisystem linkage control method, device, equipment and computer readable storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462370A (en) * 2014-12-09 2015-03-25 北京百度网讯科技有限公司 Distributed task scheduling system and method

Also Published As

Publication number Publication date
CN1455347A (en) 2003-11-12

Similar Documents

Publication Publication Date Title
CN1284094C (en) Distributed parallel scheduling wide band network server system
Hunt et al. Network dispatcher: A connection router for scalable internet services
CN1158615C (en) Method and device for implementing load balancing on streaming media server
CN1206600C (en) Full distribution type aggregation network servicer system
CN1135800C (en) Internet protocol processor for a telecommunications platform having a cluster of processors
CN101847106B (en) Packet processing device and method based on multiple processor
US7644159B2 (en) Load balancing for a server farm
US7548945B2 (en) System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers
CN101296238B (en) Method and equipment for remaining persistency of security socket layer conversation
CN103997526B (en) A kind of expansible SiteServer LBS and method
CN101207568B (en) Multi-protocol adapter and method for implementing adaptation processing for various services
EP3748934B1 (en) Mirror pull method and system therefor
CN1495634A (en) Server clustering load balancing method and system
EP2316206A2 (en) Distributed load balancer
CN1592303A (en) Methods and systems for application instance level workload distribution affinities
CN1798105A (en) Virtual multicast routing for clusters with state synchronization
US6760304B2 (en) Apparatus and method for receive transport protocol termination
WO2021120633A1 (en) Load balancing method and related device
USRE44104E1 (en) Cross-layer architecture for a network device
CN101060534B (en) A p2p network application system and network side system
CN102761608B (en) The method of UDP session multiplexing and load balancing equipment
CN110308986A (en) The method of distributed training data communication on container cloud based on Optimized Operation
JP2003016031A (en) Preferred connection control method for client / server systems
CN101867521A (en) Multilink accessing and flow load dispatching managing method
WO2012159537A1 (en) Instant messaging system and method for sharing user information

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Zhongshan Space Entertainment Equipment Co., Ltd.

Assignor: University of Electronic Science and Technology of China

Contract fulfillment period: 2007.1.30 to 2012.1.29 contract change

Contract record no.: 2008440000521

Denomination of invention: Distributed parallel scheduling wide band network server system

Granted publication date: 20061108

License type: Exclusive license

Record date: 20081211

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2007.1.30 TO 2012.1.29; CHANGE OF CONTRACT

Name of requester: ZHONGSHAN CITY TAIKONG ENTERTAINMENT EQUIPMENT CO.

Effective date: 20081211

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061108