You have a data processing system that reads data from multiple sources concurrently, processes it, and then aggregates the results. Each data source provides a stream of integers. Your task is to design a solution using Go that concurrently processes data from these sources, sums the integers, and aggregates the results into a final total.

type DataSource struct {
	Name    string
	Channel chan int
}

func processDataSource(dataSource DataSource, resultChannel chan int) {
}

func aggregateResults(resultChannels []chan int) {
}

func main() {
}