Skip to content

Commit db7cfeb

Browse files
committed
final
1 parent 98b105d commit db7cfeb

14 files changed

Lines changed: 123 additions & 63 deletions

File tree

ClientServer/main.go

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package main
22

33
import (
4+
"bufio"
45
masterRPC "client/rpcManager/master"
56
regionRPC "client/rpcManager/region"
67
config "client/utils/ConfigSystem"
78
mylog "client/utils/LogSystem"
89
"client/utils/global"
910
"fmt"
1011
"log"
12+
"os"
1113
"strings"
1214
)
1315

@@ -17,14 +19,29 @@ func main() {
1719
global.Master.IP = config.Configs.Master_ip
1820
// 注册master端的rpc服务
1921
masterRPC.RpcM2R, _ = masterRPC.DialService("tcp", config.Configs.Master_ip+":"+config.Configs.Master_port)
20-
// ToDo:为客户端加入一张表,用来缓存用以沟通的数据表,其中相关的rpc连接要用的时候再去连
22+
// 为客户端加入一张表,用来缓存用以沟通的数据表,其中相关的rpc连接要用的时候再去连
23+
global.TableCache = make(map[string]global.TableMeta)
2124

25+
// for {
26+
// var sql string
27+
// fmt.Print("sql>>>")
28+
// fmt.Scanln(&sql)
29+
// fmt.Println(sql)
30+
// sql = sql[:len(sql)-2]
31+
// res, _ := runSQL(sql)
32+
// fmt.Println(res)
33+
// }
2234
for {
23-
var sql string
2435
fmt.Print("sql>>>")
25-
fmt.Scanln(&sql)
26-
res, _ := runSQL(sql)
27-
fmt.Println(res)
36+
fmt.Scan()
37+
// 从stdin中取内容直到遇到换行符,停止
38+
input, err := bufio.NewReader(os.Stdin).ReadString('\n')
39+
if err != nil {
40+
panic(err)
41+
}
42+
// fmt.Println("你输入的内容是:", strings.TrimSpace(input))
43+
res, _ := runSQL(strings.TrimSpace(input))
44+
fmt.Println("res>>>" + res)
2845
}
2946

3047
}

ClientServer/main_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func Test_chooseRegionAndRun(t *testing.T) {
102102
// 尚未完成测试
103103
func Test_runSQL(t *testing.T) {
104104
// sql := "select * from cyy;"
105-
sql := "insert into cyy values(6);"
105+
sql := "insert into hyh values(6);"
106106
res, err := runSQL(sql)
107107
if err != nil {
108108
log.Fatal("runSQL error:", err)

MasterServer/MasterManagers/etcdManager/watcher.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func (p *RegionRegisterWorker) OnPut(event *clientv3.Event) {
7070
}
7171

7272
func (p *RegionRegisterWorker) OnDelete(event *clientv3.Event) {
73-
fmt.Printf("Type:%s,Key:%s,Value:%s\n", event.Type, event.Kv.Key, event.Kv.Value)
73+
// fmt.Printf("Type:%s,Key:%s,Value:%s\n", event.Type, event.Kv.Key, event.Kv.Value)
7474
ip := util_getLastKey(string(event.Kv.Key))
7575

7676
log_ := mylog.NewNormalLog("服务器 " + ip + " 失去连接")
@@ -137,15 +137,15 @@ type RegionStepOutWorker struct {
137137

138138
// ToDo:这里的逻辑是不完善的
139139
func (p *RegionStepOutWorker) OnPut(event *clientv3.Event) {
140-
fmt.Printf("Type:%s,Key:%s,Value:%s\n", event.Type, event.Kv.Key, event.Kv.Value)
140+
// fmt.Printf("Type:%s,Key:%s,Value:%s\n", event.Type, event.Kv.Key, event.Kv.Value)
141141
ip := util_getLastKey(string(event.Kv.Key))
142142

143143
log := mylog.NewNormalLog("服务器 " + ip + " 进入“暂时失联”状态")
144144
log.LogGen(mylog.LogInputChan)
145145
}
146146

147147
func (p *RegionStepOutWorker) OnDelete(event *clientv3.Event) {
148-
fmt.Printf("Type:%s,Key:%s,Value:%s\n", event.Type, event.Kv.Key, event.Kv.Value)
148+
// fmt.Printf("Type:%s,Key:%s,Value:%s\n", event.Type, event.Kv.Key, event.Kv.Value)
149149
ip := util_getLastKey(string(event.Kv.Key))
150150
log := mylog.NewNormalLog("服务器 " + ip + " 离开“暂时失联”状态")
151151
log.LogGen(mylog.LogInputChan)

MasterServer/MasterManagers/rpcManager/ReportServiceImpl.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,14 @@ func (p *ReportService) AskSlave(request AskSlaveRst, reply *AskSlaveRes) error
9999
// ToDo:从除了source之外的region中选出n个合适的
100100
func selectRegion(n int, source []string) []string {
101101
// 检查一下source中的表
102-
fmt.Println("本地所有的表为:")
103-
for ip, _ := range global.RegionMap {
104-
fmt.Println(ip)
105-
}
106-
fmt.Println("source中的表为:")
107-
for _, ip := range source {
108-
fmt.Println(ip)
109-
}
102+
// fmt.Println("本地所有的表为:")
103+
// for ip, _ := range global.RegionMap {
104+
// fmt.Println(ip)
105+
// }
106+
// fmt.Println("source中的表为:")
107+
// for _, ip := range source {
108+
// fmt.Println(ip)
109+
// }
110110

111111
// 真正开始找表的地方
112112
res := make([]string, 0)
@@ -127,8 +127,8 @@ func selectRegion(n int, source []string) []string {
127127
num++
128128
}
129129
}
130-
fmt.Print("我们选定的表为:")
131-
fmt.Println(res)
130+
// fmt.Print("我们选定的表为:")
131+
// fmt.Println(res)
132132
return res
133133
}
134134

RegionServer/src/RegionManagers/etcdManager/region.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ func GetHostAddress() string {
123123
}
124124
}
125125
}
126-
fmt.Println("怎么出来了?")
126+
// fmt.Println("怎么出来了?")
127127
return "127.0.0.1"
128128
}
129129

RegionServer/src/RegionManagers/main.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package main
22

33
import (
4-
"fmt"
54
etcd "region/etcdManager"
65
miniSQL "region/miniSQL"
76
regionWorker "region/region"
@@ -27,11 +26,19 @@ func main() {
2726

2827
// buildSQL()
2928

29+
// 创建数据库
30+
global.SQLInput <- "create database aaa;"
31+
<-global.SQLOutput
3032
global.SQLInput <- "use database aaa;"
31-
fmt.Println(1)
32-
res := <-global.SQLOutput
33-
fmt.Println(2)
34-
fmt.Println(res)
33+
<-global.SQLOutput
34+
35+
// // 新建一张表
36+
// tableName := "wrd"
37+
// rpc.MasterSQLTableCreate(rpc.SQLRst{SQLtype: "create_table", SQL: "create table " + tableName + "(id int);", Table: tableName})
38+
// // 插入数据
39+
// rpc.MasterSQLChange(rpc.SQLRst{SQLtype: "insert", SQL: "insert into " + tableName + " values(1);", Table: tableName})
40+
// rpc.MasterSQLChange(rpc.SQLRst{SQLtype: "insert", SQL: "insert into " + tableName + " values(2);", Table: tableName})
41+
// rpc.MasterSQLChange(rpc.SQLRst{SQLtype: "insert", SQL: "insert into " + tableName + " values(3);", Table: tableName})
3542

3643
// 注册rpc服务
3744
rpc.RpcM2R, _ = rpc.DialReportService("tcp", global.MasterIP+":"+config.Configs.Rpc_M2R_port)

RegionServer/src/RegionManagers/miniSQL/start.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ func runShell(r chan<- error, in chan string, out chan string) {
136136
// }
137137
// trimInput := readBuffer()
138138
// t := <-in
139-
fmt.Println("before channel")
140-
fmt.Println(len(in))
139+
// fmt.Println("before channel")
140+
// fmt.Println(len(in))
141141
trimInput := <-in
142-
fmt.Println("tttt")
142+
// fmt.Println("tttt")
143143
// trimInput := strings.TrimSpace(input) //get the input without front and backend space
144144

145145
//fmt.Println(trimInput)

RegionServer/src/RegionManagers/region/replica.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package regionWorker
22

33
import (
4-
"fmt"
54
rpc "region/rpcManager"
65
mylog "region/utils/LogSystem"
76
"region/utils/global"
@@ -52,9 +51,12 @@ func StartAsyncCopy() chan global.SQLLog {
5251
// table := global.TableMap[log.Table]
5352
// 尝试获得写锁
5453
// <-table.WriteLock
55-
fmt.Println("得到了表 '" + log.Table + "' 的写锁")
54+
// fmt.Println("得到了表 '" + log.Table + "' 的写锁")
5655
rpc.MasterSQLChange(rpc.SQLRst{SQLtype: log.SQLtype, SQL: log.SQL, Table: log.Table})
57-
fmt.Println("成功执行了异步从副本的同步:'" + log.SQL + "' ")
56+
log_ := mylog.NewNormalLog("成功执行了异步从副本的同步:'" + log.SQL + "' ")
57+
log_.LogType = "INFO"
58+
log_.LogGen(mylog.LogInputChan)
59+
// fmt.Println("成功执行了异步从副本的同步:'" + log.SQL + "' ")
5860
}
5961
}()
6062
log_ := mylog.NewNormalLog("开启了全局异步SQL日志的复制")

RegionServer/src/RegionManagers/region/wakeup.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,12 @@ import (
5656

5757
func findLocalTable(tableRoot string) []string {
5858
var files []string
59-
59+
_, err := os.Stat(tableRoot)
60+
if os.IsNotExist(err) {
61+
return []string{}
62+
}
6063
root := tableRoot
61-
err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
64+
err = filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
6265
// 不处理文件夹
6366
if info.IsDir() {
6467
return nil

RegionServer/src/RegionManagers/rpcManager/ClientService.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package rpc
22

33
import (
4-
"fmt"
54
"net/rpc"
65
mylog "region/utils/LogSystem"
76
)
@@ -18,7 +17,10 @@ var _ CliServiceInterface = (*CliServiceClient)(nil)
1817
func DialService(network, address string) (*CliServiceClient, error) {
1918
c, err := rpc.Dial(network, address)
2019
if err != nil {
21-
fmt.Println("DialService没找到服务")
20+
log_ := mylog.NewNormalLog("DialService没找到服务")
21+
log_.LogType = "ERROR"
22+
log_.LogGen(mylog.LogInputChan)
23+
// fmt.Println("DialService没找到服务")
2224
return nil, err
2325
}
2426
log_ := mylog.NewNormalLog("成功注册DialService")

0 commit comments

Comments
 (0)