Golang學習篇—kafka壓縮使用生產和消費

1.kafka使用依賴包

"github.com/Shopify/sarama"

"github.com/bsm/sarama-cluster"

2.kafka生產和消費端二次封裝

Common.go

package XLKafka

import "github.com/Shopify/sarama"

type KafkaCfg struct {
	Producer struct {
		Topic   string
		Brokers string
	}
	Consumer struct {
		Topics     string `xml:"Topics"`
		Brokers    string `xml:"Brokers"`
		GroupID    string `xml:"GroupID"`
		InitOffset string `xml:"InitOffset"` //初始化offset起始位置 Newest Oldest
	}
}

type SASLCfg struct {
	UserName string
	PassWord string
}

type FuncDataCallback func(msg *sarama.ConsumerMessage)    //消費數據回調
type FuncSuccessCallback func(msg *sarama.ProducerMessage) //生產成功數據回調
type FuncErrorCallback func(msg *sarama.ProducerError)     //生產失敗數據回調
type FuncEventCallback func(info string, eventType string) //事件回調

生產端:XLProducer.go

package XLKafka

import (
	"fmt"
	"github.com/Shopify/sarama"
	"github.com/kataras/iris/core/errors"
	"strings"
	"sync"
	"time"
)

type KafkaProducer struct {
	producerObj sarama.AsyncProducer
	conf        *KafkaCfg
	successcb   FuncSuccessCallback
	errorcb     FuncErrorCallback
	bExit       bool
	wg          *sync.WaitGroup
}

func (this *KafkaProducer) Init(conf *KafkaCfg, successCB FuncSuccessCallback, errorCB FuncErrorCallback, compressionType sarama.CompressionCodec) (err error) {
	this.conf = conf
	this.successcb = successCB
	this.errorcb = errorCB

	this.bExit = false

	config := sarama.NewConfig()
	config.Producer.Flush.Messages = 10000
	config.Producer.Flush.Frequency = time.Second * 1
	config.Producer.Flush.MaxMessages = 50000
	config.Producer.RequiredAcks = sarama.WaitForLocal
	config.Producer.Partitioner = sarama.NewRandomPartitioner
	config.Version = sarama.V0_10_0_0
	config.Producer.Compression = compressionType //算法類型

	if successCB != nil && errorCB != nil {
		config.Producer.Return.Successes = true
		config.Producer.Return.Errors = true
		this.wg = &sync.WaitGroup{}
		this.wg.Add(1)
		go this.dataSuccessCB()
	}

	this.producerObj, err = sarama.NewAsyncProducer(strings.Split(conf.Producer.Brokers, ","), config)
	if err != nil {
		errString := fmt.Sprintf("生產者創建失敗!err=%s", err.Error())
		return errors.New(errString)
	}
	return nil
}

func (this *KafkaProducer) Fini() {
	this.bExit = true
	this.producerObj.AsyncClose()
	this.wg.Wait()
}

func (this *KafkaProducer) dataSuccessCB() {
	defer this.wg.Done()
	last := time.Now()
	for {
		if this.bExit == true && time.Since(last) > time.Second*1 {
			//fmt.Println("數據生產回調線程退出!")
			return
		}

		if this.producerObj == nil {
			time.Sleep(time.Millisecond * 1)
			continue
		}

		select {
		case msg := <-this.producerObj.Successes():
			if msg != nil {
				if this.successcb != nil {
					this.successcb(msg)
				}
				last = time.Now()
			}
		case msg := <-this.producerObj.Errors():
			if msg != nil {
				//fmt.Println("數據生產失敗!err=", msg.Err)
				if this.errorcb != nil {
					this.errorcb(msg)
				}
				last = time.Now()
			}
		case <-time.After(1 * time.Second):
			time.Sleep(time.Millisecond * 1)
		}
	}
}

func (this *KafkaProducer) ProducerAsync_Byte(data []byte, pUser interface{}) (err error) {
	return this.producerAsync(&sarama.ProducerMessage{Topic: this.conf.Producer.Topic, Key: nil, Value: sarama.ByteEncoder(data), Metadata: pUser})
}

func (this *KafkaProducer) ProducerAsync_String(data string, pUser interface{}) (err error) {
	return this.producerAsync(&sarama.ProducerMessage{Topic: this.conf.Producer.Topic, Key: nil, Value: sarama.StringEncoder(data), Metadata: pUser})
}

func (this *KafkaProducer) producerAsync(msg *sarama.ProducerMessage) (err error) {
	defer func() {
		errPanic := recover()
		if errPanic != nil {
			errString := fmt.Sprintf("生產錯誤:err=%s", errPanic)
			err = errors.New(errString)
		}
	}()

	msg.Timestamp = time.Now()
	this.producerObj.Input() <- msg

	return nil
}

消費端:XLConsumer.go

package XLKafka

import (
	"fmt"
	"github.com/Shopify/sarama"
	"github.com/bsm/sarama-cluster"
	"strings"
	"sync"
	"time"
)

type XLConsumer struct {
	offsetCatch *cluster.OffsetStash
	consumerObj *cluster.Consumer
	dataCB      FuncDataCallback
	eventCB     FuncEventCallback
	bExit       bool
	wg          *sync.WaitGroup
	bPause      bool
}

func (this *XLConsumer) Init(conf *KafkaCfg, dataCB FuncDataCallback) (err error) {
	this.dataCB = dataCB
	this.eventCB = nil
	this.offsetCatch = cluster.NewOffsetStash()
	config := cluster.NewConfig()
	config.Group.Return.Notifications = true
	config.Consumer.Offsets.CommitInterval = 1 * time.Second
	config.Version = sarama.V0_10_2_1

	// 初始從最新的offset開始,正式上線後改爲OffsetNewest
	//config.Consumer.Offsets.Initial = sarama.OffsetNewest
	switch conf.Consumer.InitOffset {
	case "Newest":
		config.Consumer.Offsets.Initial = sarama.OffsetNewest
	case "Oldest":
		config.Consumer.Offsets.Initial = sarama.OffsetOldest
	default:
		config.Consumer.Offsets.Initial = sarama.OffsetNewest
	}

	fmt.Println("---------- 主題:", conf.Consumer.Topics, "kafkaBroker:", conf.Consumer.Brokers)

	//	連接kafka
	this.consumerObj, err = cluster.NewConsumer(
		strings.Split(conf.Consumer.Brokers, ","),
		conf.Consumer.GroupID,
		strings.Split(conf.Consumer.Topics, ","),
		config)

	if err != nil {
		return err
	}

	this.bExit = false
	this.bPause = false

	this.wg = &sync.WaitGroup{}
	this.wg.Add(3)
	go this.dealDataThread()
	go this.dealEventThread()
	go this.commitOffsetThread()

	return nil
}

func (this *XLConsumer) InitWithSASL(conf *KafkaCfg, sasl *SASLCfg, dataCB FuncDataCallback, eventCB FuncEventCallback) (err error) {

	this.dataCB = dataCB
	this.eventCB = eventCB
	this.offsetCatch = cluster.NewOffsetStash()

	config := cluster.NewConfig()
	config.Group.Return.Notifications = true
	config.Consumer.Offsets.CommitInterval = 1 * time.Second
	switch conf.Consumer.InitOffset {
	case "Newest":
		config.Consumer.Offsets.Initial = sarama.OffsetNewest
	case "Oldest":
		config.Consumer.Offsets.Initial = sarama.OffsetOldest
	default:
		config.Consumer.Offsets.Initial = sarama.OffsetNewest
	}

	// sasl相關配置
	if sasl != nil {
		config.Net.SASL.Enable = true
		config.Net.SASL.Handshake = true
		config.Net.SASL.User = sasl.UserName
		config.Net.SASL.Password = sasl.PassWord
	}

	fmt.Println("---------- 主題:", conf.Consumer.Topics, "kafkaBroker:", conf.Consumer.Brokers)

	//	連接kafka
	this.consumerObj, err = cluster.NewConsumer(
		strings.Split(conf.Consumer.Brokers, ","),
		conf.Consumer.GroupID,
		strings.Split(conf.Consumer.Topics, ","),
		config)

	if err != nil {
		return err
	}

	this.bExit = false
	this.bPause = false

	this.wg = &sync.WaitGroup{}
	this.wg.Add(3)
	go this.dealDataThread()
	go this.dealEventThread()
	go this.commitOffsetThread()

	return nil
}

func (this *XLConsumer) Fini() error {
	this.bExit = true
	this.wg.Wait()
	return this.consumerObj.Close()
}

func (this *XLConsumer) SetEventCB(pFunc FuncEventCallback) {
	this.eventCB = pFunc
}

func (this *XLConsumer) MarkOffset(msg *sarama.ConsumerMessage) {
	this.offsetCatch.MarkOffset(msg, "")
}

func (this *XLConsumer) dealDataThread() {
	defer this.wg.Done()
	for {
		if this.bExit == true {
			fmt.Println("[dealDataThread] 數據處理線程退出!")
			break
		}

		select {
		case msg := <-this.consumerObj.Messages():
			if this.dataCB != nil {
				this.dataCB(msg)
			}
		case <-time.After(1 * time.Second):
			time.Sleep(time.Millisecond * 1)
		}
	}
}

func (this *XLConsumer) dealEventThread() {
	defer this.wg.Done()
	for {
		if this.bExit == true {
			fmt.Println("[dealDataThread] 事件處理線程退出!")
			break
		}

		if this.bPause == true {
			time.Sleep(time.Second)
			continue
		}

		select {
		case err := <-this.consumerObj.Errors():
			if err != nil {
				errStr := fmt.Sprintf("kafka消費者異常,錯誤:%v", err.Error())
				if this.eventCB != nil {
					this.eventCB(errStr, "Error")
				} else {
					fmt.Println(errStr)
				}
			}
		case msg := <-this.consumerObj.Notifications():
			infoStr := fmt.Sprintf("\nRebalance Type:%v\nClaimed:%v\nReleased:%v\nCurrent:%v", msg.Type, msg.Claimed, msg.Released, msg.Current)
			if this.eventCB != nil {
				this.eventCB(infoStr, "Info")
			} else {
				fmt.Println(infoStr)
			}
		case <-time.After(1 * time.Second):
			time.Sleep(time.Millisecond * 1)
		}
		time.Sleep(time.Millisecond * 10)
	}
}

func (this *XLConsumer) commitOffsetThread() {
	defer this.wg.Done()
	commitTime := time.Now()
	for {
		if this.bExit == true {
			//退出前提交Offset
			err := this.consumerObj.CommitOffsets()
			if err != nil {
				fmt.Println("[commitOffsetThread] 提交offset錯誤!err=", err)
			}
			fmt.Println("[commitOffsetThread] offset提交線程退出!")
			break
		}

		if time.Since(commitTime) > time.Second {
			if this.offsetCatch != nil {
				offsets := this.offsetCatch.Offsets()
				if len(offsets) != 0 {
					fmt.Println("[commitOffsetThread] 提交offset!", offsets)
					this.consumerObj.MarkOffsets(this.offsetCatch)
					err := this.consumerObj.CommitOffsets()
					if err != nil {
						fmt.Println("[commitOffsetThread] 提交offset錯誤!err=", err)
					}
				}
			}
			commitTime = time.Now()
		}

		time.Sleep(time.Millisecond * 100)
	}
}

func (this *XLConsumer) CommitOffset() error {
	offsets := this.offsetCatch.Offsets()
	if len(offsets) != 0 {
		fmt.Println("[commitOffsetThread] 提交offset!", offsets)
		this.consumerObj.MarkOffsets(this.offsetCatch)
		err := this.consumerObj.CommitOffsets()
		if err != nil {
			fmt.Println("[commitOffsetThread] 提交offset錯誤!err=", err)
			return err
		}
	}

	return nil
}

func (this *XLConsumer) Pause() {
	this.bPause = true
}

func (this *XLConsumer) Resume() {
	this.bPause = false
}

3.kafka壓縮生產和消費樣例

生產端:ProducerTest.go

package main

import (
	. "Alang/common/XLKafka"
	"flag"
	"fmt"
	"github.com/Shopify/sarama"
	"time"
)

var tNow = time.Now()
var count = 0
var topicCount = make(map[string]int)
var c = XLConsumer{}

var tagData = `{"commonInfo":{"operationId":"10012019111317041700000001","operationType":1,"operationTime":"2019-11-13 17:04:17","dataSource":null},"metaData":{"type":1,"name":"常口","libraryId":null,"libraryMark":"1","data":[{"id":"218906b5-f483-4beb-b8e7-b5b589cf4a40","credentialNumber":"7787ce86c379a6d0f604569b7e3ea1ea","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"房","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"409f80c4-d5de-4383-b904-044e966f7ceb","credentialNumber":"02e939b53f57b0136e00aee8d0faed9d","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"房","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"126c2fc3-f732-4222-99a5-0d07ce0c8601","credentialNumber":"56455dfb45cbfe6cf653df71e6953c8f","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"房","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"67545e5e-3bc0-43e0-92f5-6b1af59dbc4b","credentialNumber":"53de5d9155864ba66e2ef6f983843901","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"房","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"8c566080-3b80-42bd-8958-4f3ef7b5f23b","credentialNumber":"072cfa702a0125d6ac7577f7a0d55aea","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"房","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"e1bbc0b3-55bd-4f4c-80ed-4a84a0cc4405","credentialNumber":"b48aa3de06416c1f9eab66986403f023","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"房","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"2bc9faba-2517-48cb-bc0d-51e73af0d796","credentialNumber":"46d1504bac6f0f5fbd366b50a8357b70","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"房","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"85546f47-6419-4435-a7d0-1136aa2fafd3","credentialNumber":"8e1ed0a724e2e8ca1bcf985b3476752c","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"房","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"10c109ca-1f16-4e6d-b698-e31a424fa0ab","credentialNumber":"cddf73cdd812bffc6057b97d4ade44ce","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"金","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1},{"id":"1ee35453-dd42-43d9-a229-62fc1374ebba","credentialNumber":"468856e34133a69b8dfaffd4141cf9bc","cityCode":null,"presentPlace":"650103","communityCode":null,"createDate":"2019-11-13 17:04:17","name":"金","featureValue":"-20,126,50,62,98,-83,-91,-68,-79,-99,23,62,-46,121,34,-68,-50,-88,13,62,98,88,-44,60,-105,-2,-104,61,15,-93,125,-68,-113,-72,-66,60,-80,91,53,61,36,82,-127,-67,29,69,111,61,17,127,-49,61,-54,23,-63,61,101,72,95,-68,53,-122,32,-66,43,127,62,-67,-106,-20,22,61,59,127,-119,60,-92,-105,39,61,-124,88,-118,-67,93,-50,-14,61,-22,32,24,60,65,-65,-116,-67,-96,70,-94,60,94,-90,38,61,22,-65,-109,61,-65,119,23,-67,44,-66,41,61,26,18,-114,-68,121,-10,1,-66,35,-97,26,-68,-49,-84,-26,-68,53,67,-111,-67,93,72,56,60,-25,88,-54,-67,82,-78,23,61,41,-111,-3,60,3,-59,122,61,-75,-93,28,61,98,26,1,62,-31,-117,-119,61,0,-14,-94,61,-101,-128,19,59,71,-107,17,61,-9,78,-120,-68,104,10,-5,60,53,-39,63,62,17,-14,-101,-67,73,-109,-96,-68,-99,-31,85,-68,36,32,-58,61,101,66,-126,-71,-43,-52,-51,61,94,-90,-93,-71,-77,82,33,61,58,-1,-98,-68,34,54,-33,61,-45,-119,75,-67,-106,102,-104,-67,78,-95,-97,61,82,-100,39,61,107,-88,28,61,46,-100,74,61,-85,-46,-63,61,4,83,-125,-68,-5,-94,-84,59,100,-109,-118,-67,15,95,-89,60,-127,91,-55,61,-52,51,-70,61,84,61,-78,-69,-37,-16,-5,-68,84,-126,-66,60,119,-111,10,62,9,-95,-30,60,32,-95,-121,61,-38,112,34,61,-47,-116,-108,60,-95,49,-24,60,82,-106,-102,61,-54,124,-61,61,-69,9,-64,-67,65,113,-122,-67,13,-117,-123,-68,-19,-8,67,61,-73,59,69,61,102,61,38,-70,73,-20,52,-67,118,76,-107,-67,40,26,74,57,96,103,106,-67,-28,-36,-90,-68,23,92,63,61,5,80,-55,-67,-79,63,7,59,34,20,110,61,-95,-92,108,-67,-25,59,-60,61,-58,123,-111,-67,-76,-80,-108,-67,47,105,-5,-68,-108,-110,106,-67,-40,61,25,-66,114,-113,100,-67,-85,0,43,-67,67,65,-30,-68,104,122,2,-67,-15,-48,49,61,-31,80,66,61,-82,125,-126,-67,-6,33,-49,60,124,24,-126,-68,52,-17,28,-67,48,-15,-17,61,-92,26,43,61,28,-49,-91,-68,-29,-72,42,-68,78,98,89,-68,-80,80,-71,61,58,-117,94,61,2,6,-119,61,-82,112,-44,61,-53,-101,25,61,-25,102,-57,-68,-47,-6,-88,-67,-81,-54,81,61,5,7,-35,59,25,-100,124,-67,-116,49,-6,60,72,29,-2,61,-112,33,-124,-68,46,-105,-108,61,25,-125,14,61,71,96,-87,-67,8,72,-76,-67,-18,-85,21,-67,-64,-27,123,60,-21,120,-114,60,123,42,-3,60,109,-125,10,-68,-60,-77,38,-67,42,96,-80,-67,-67,-92,-61,60,-113,119,57,61,31,115,-54,61,-1,89,50,58,-34,-22,-3,-69,59,6,-15,-67,-57,99,-4,-67,-110,55,-85,-67,-86,-63,-36,61,-113,-2,-45,60,95,-59,-124,60,-117,6,55,-67,63,-61,-72,-67,-27,6,97,-67,-52,76,51,-67,4,8,42,-68,50,-10,59,61,-1,114,-102,61,30,0,72,59,-114,-89,26,-67,18,96,-73,61,-68,-100,-121,-68,-20,70,-79,-69,127,7,77,-67,37,-93,45,62,106,-59,64,61,-47,97,-67,-67,11,-6,-68,-67,26,-12,62,-69,125,75,-27,60,68,-82,-43,61,-11,-24,97,-67,123,-38,113,61,-14,-112,103,61,54,89,122,-67,-16,98,120,61,-51,-99,87,60,94,-128,79,-67,111,-74,45,61,-93,84,-120,-68,90,56,-50,59,-39,-81,108,-67,-18,126,63,61,17,-110,30,62,42,-79,-128,61,-91,12,123,61,93,4,-90,60,126,-90,-89,61,6,-102,-52,-68,-78,64,75,-67,-64,97,53,-67,-5,-28,-89,-69,-7,-29,-72,61,-55,98,-40,-69,78,-12,-104,-69,23,-74,-79,-68,94,82,1,61,-113,-80,-43,59,-34,61,26,61,-111,-49,-78,60,14,-2,-34,58,97,-59,-9,60,-2,-108,-57,60,42,90,-47,-68,90,-28,49,60,50,35,73,-67,-42,-81,-70,61,-111,25,-80,-67,-109,88,-52,61,-79,4,-61,-67,80,-99,-110,61,-86,58,100,-67,-47,-7,31,-67,-63,-15,22,61,-86,-64,-18,-68,-59,71,-66,-67,-117,-44,17,-69,-18,21,-90,-69,83,-80,107,-67,118,97,120,60,78,-83,123,61,-99,7,-47,60,53,-43,96,61,-9,-42,-49,59,-61,71,-104,-67,-116,84,-97,-67,-1,19,14,60,-26,-83,-93,-68,33,-97,4,-67,5,-125,-117,61,57,86,-65,60,-128,-89,-117,-68,-95,85,-78,-68,72,-90,-110,61,-37,84,21,60,-6,15,-45,60,19,36,-50,-70,20,17,-115,61,-72,-16,-34,-68,-109,-79,42,60,86,76,-127,-67,-104,22,-7,-68,37,31,-26,61,-125,89,-128,60,124,79,-34,60,-12,-86,-92,-67,-52,-99,14,-67,-61,-70,10,-67,-111,60,-70,60,28,-53,31,-67,66,-80,-62,60,-83,0,24,-67,-106,29,-106,60,","algorithmCode":"0204000100","picType":1,"picBase64":"","picUrl":"11","CRUD":1}]},"timeLists":[{"serverID":"1001","serverName":"黑名單","startTime":"2019-11-13 17:04:17 278","sendTime":"2019-11-13 17:04:17 278"}]}`

func SuccessCallback(msg *sarama.ProducerMessage) {
	//fmt.Println("生產成功!msg=", msg.Value)
}
func ErrorCallback(msg *sarama.ProducerError) {
	fmt.Println("生產失敗!err=", msg.Err, "msg=", "")
}

func main() {
	brokers := flag.String("broker", "172.20.32.239:9092", "help message for brokers")
	topic := flag.String("topic", "none", "help message for topic")
	Type := flag.String("type", "none", "help message for compressionType(none/gzip/snappy/lz4/ZStandard)")
	flag.Parse()
	fmt.Printf("brokers: %v\n", *brokers)
	fmt.Printf("topic: %v\n", *topic)
	fmt.Printf("Type: %v\n", *Type)

	//KafkaTestMotorVehicle0507
	conf := KafkaCfg{Producer: struct {
		Topic   string
		Brokers string
	}{Topic: *topic, Brokers: *brokers}}

	var err error
	producer := &KafkaProducer{}
	if *Type == "none" {
		err = producer.Init(&conf, SuccessCallback, ErrorCallback, 0)
		if err != nil {
			fmt.Println(err)
			return
		}
		fmt.Println("Init none 成功!")
	}

	if *Type == "lz4" {
		err = producer.Init(&conf, SuccessCallback, ErrorCallback, 3)
		if err != nil {
			fmt.Println(err)
			return
		}
		fmt.Println("Init lz4 成功!")
	}

	if *Type == "snappy" {
		err = producer.Init(&conf, SuccessCallback, ErrorCallback, 2)
		if err != nil {
			fmt.Println(err)
			return
		}
		fmt.Println("Init snappy 成功!")
	}

	//2.1.0以下版本會生產失敗
	if *Type == "ZStandard" {
		err = producer.Init(&conf, SuccessCallback, ErrorCallback, 4)
		if err != nil {
			fmt.Println(err)
			return
		}
		fmt.Println("Init ZStandard 成功!")
	}

	if *Type == "gzip" {
		err = producer.Init(&conf, SuccessCallback, ErrorCallback, 1)
		if err != nil {
			fmt.Println(err)
			return
		}
		fmt.Println("Init gzip 成功!")
	}

	if producer == nil {
		fmt.Println("producer is nil")
		return
	}
	now := time.Now()
	sum := 0
	//for {
	for i := 0; i < 20000; i++ {
		err = producer.ProducerAsync_String(tagData, nil)
		if err != nil {
			fmt.Println(err)
			return
		}
		count++
		sum++
		if time.Since(tNow) > time.Second {
			fmt.Printf("總共:%v,發送數據量:%v\n", sum, count)
			count = 0
			tNow = time.Now()
		}
	}
	fmt.Println("耗時:", time.Since(now).String())

	fmt.Println("總共生產數據量:", sum)
	producer.Fini()
	fmt.Println("Fini 成功!")
	for {
	}
}

消費端測試: ConsumerTest.go

package main

import (
	"Alang/common/XLKafka"
	"flag"
	"fmt"
	"github.com/Shopify/sarama"
	"time"
)

var tNow = time.Now()

var count = 0
var c = XLKafka.XLConsumer{}

var last = time.Now()
var Cnt = 0

func DataCB(msg *sarama.ConsumerMessage) {
	count++
	Cnt++
	c.MarkOffset(msg)
	fmt.Printf("Topic:%v, offest:%v\n", msg.Topic, msg.Offset)
	if time.Since(tNow) > time.Second*3 {
		fmt.Println("總消費條數:", count*1000/(int(time.Since(tNow).Nanoseconds())/1000000))
		count = 0
		tNow = time.Now()
	}
	if Cnt%100 == 0 {
		fmt.Printf("消費%v條數據,總共耗時:%v\n", Cnt, time.Now().Sub(last))
	}
	if Cnt == 20000 {
		fmt.Printf("消費%v條數據,總共耗時:%v\n", Cnt, time.Now().Sub(last))
		Cnt = 0
		last = time.Now()
	}
}

func main() {
	brokers := flag.String("broker", "172.20.32.239:9092", "help message for brokers")
	topic := flag.String("topic", "snappy", "help message for topic")
	Offset := flag.String("offset", "Oldest", "help message for Oldest/Newest")
	GroupID := flag.String("groupID", "consumer_group_1", "help message for GroupID")
	flag.Parse()
	fmt.Printf("%v\n", *brokers)
	fmt.Printf("%v\n", *topic)
	fmt.Printf("%v\n", *Offset)

	conf := XLKafka.KafkaCfg{}
	conf.Consumer.Brokers = *brokers
	conf.Consumer.Topics = *topic
	conf.Consumer.GroupID = *GroupID
	conf.Consumer.InitOffset = *Offset

	fmt.Printf("%v\n", conf)
	err := c.Init(&conf, DataCB)
	if err != nil {
		fmt.Println(err)
		return
	}

	for {
		time.Sleep(time.Second)
	}

	err = c.Fini()
	if err != nil {
		fmt.Println(err)
		return
	}
}

生產端運行結果:

消費端運行結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章