1. A method for scheduling a job in a cluster including multiple computing nodes, comprising: defining rules for constructing virtual sub-clusters of the multiple computing nodes; constructing the multiple nodes in the cluster into multiple virtual sub-clusters based on the rules, wherein one computing node can only be included in one virtual sub-cluster; dispatching a received job to a selected virtual sub-cluster; and scheduling at least one computing node for the dispatched job in the selected virtual sub-cluster.