System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及消息發送,特別涉及一種消息發送方法及系統。
技術介紹
1、隨著物聯網、人工智能等技術的不斷進步,智能家居行業得到了迅速發展,智能設備進入了越來越多的家庭中。而在實際應用中,如何安全可靠的控制這些種類繁多的設備,就成了一個問題。設備越多,用于承載這些設備所需要的服務器也就越多,設備量大的時候就會導致各個服務器之間連接的設備數量不均衡,進而導致服務器無法精確給指定設備發送消息,也會給服務器帶來額外的負擔和資源浪費。
技術實現思路
1、有鑒于此,本專利技術提出了一種消息發送方法及系統,具體方案如下:
2、第一部分,本專利技術提出了一種消息發送方法,包括:
3、獲取待發送的消息并確定待接收的設備;
4、確定與所述設備對應的kafka下的partition,向確定的所述partition發送所述消息;不同的kafka下的所述partition對應不同的所述設備;
5、通過與確定的所述partition對應的服務器從所述partition中獲取所述消息,并將所述消息發送至與所述服務器連接的所述設備;不同的所述partition對應不同的所述服務器;對應同一所述partition的所述服務器與所述設備之間連接。
6、在一個具體實施例中,所述“獲取待發送的消息并確定待接收的設備”之前還包括:
7、確定所有的所述設備并根據與各所述設備對應的服務器的數量劃分kafka下的partition數;
8、基于預
9、在一個具體實施例中,所述“確定與所述設備對應的kafka下的partition”包括:
10、確定與所述設備對應的服務器;
11、確定與所述服務器對應的kafka下的partition。
12、在一個具體實施例中,還包括:
13、以預設排序方式分別對各所述服務器和各所述partition進行編號排序,相對應的所述服務器和所述partition兩者的所述編號相同。
14、在一個具體實施例中,還包括:
15、以預設排序方式分別對各所述服務器和各所述partition進行編號排序,相對應的所述服務器和所述partition兩者的所述編號不同;
16、將相對應的各所述服務器和所述partition兩者的編號進行關聯后存儲并形成查詢表。
17、在一個具體實施例中,還包括:
18、針對各所述partition,確定所述partition中未經所述服務器進行發送的消息的數量;
19、若所述數量達到預設值,則控制所述服務器立即從所述partition中獲取所述未經所述服務器進行發送的消息,并執行“并將所述消息發送至與所述服務器連接的所述設備”。
20、在一個具體實施例中,還包括:
21、獲取各所述partition接收所述待發送的消息的歷史趨勢;
22、根據所述歷史趨勢分別調整各所述partition對應的所述服務器獲取所述消息的獲取頻率。
23、第二部分,本專利技術提出了一種消息發送系統,該系統包括:
24、獲取模塊,用于獲取待發送的消息并確定待接收的設備;
25、確定模塊,用于確定與所述設備對應的kafka下的partition,向確定的所述partition發送所述消息;不同的kafka下的所述partition對應不同的所述設備;
26、發送模塊,用于通過與確定的所述partition對應的服務器從所述partition中獲取所述消息,并將所述消息發送至與所述服務器連接的所述設備;不同的所述partition對應不同的所述服務器;對應同一所述partition的所述服務器與所述設備之間連接。
27、在一個具體實施例中,所述“獲取待發送的消息并確定待接收的設備”之前還包括:
28、劃分模塊,用于確定所有的所述設備并根據與各所述設備對應的服務器的數量劃分kafka下的partition數;
29、連接模塊,用于基于預設連接策略建立所述partition與所述服務器的連接。
30、在一個具體實施例中,所述“確定與所述設備對應的kafka下的partition”包括:
31、服務器確定模塊,用于確定與所述設備對應的服務器;
32、partition確定模塊,用于確定與所述服務器對應的kafka下的partition。
33、有益效果:
34、本專利技術提供了一種消息發送方法及系統,利用kafka的分布式消息隊列機制,通過kafka的每個topic都可以被分割成一個或多個partition,根據接收消息的設備數量劃分partition的數量,將待發送的消息發送至partition,并通過與設備連接的服務器從partition中獲取消息再發送至設備,能夠高效地支持大量設備的消息通信和數據處理,進一步提高了消息發送的效率。
本文檔來自技高網...【技術保護點】
1.一種消息發送方法,其特征在于,該方法包括:
2.根據權利要求1所述的消息發送方法,其特征在于,所述“獲取待發送的消息并確定待接收的設備”之前還包括:
3.根據權利要求1所述的消息發送方法,其特征在于,所述“確定與所述設備對應的Kafka下的Partition”包括:
4.根據權利要求1所述的消息發送方法,其特征在于,還包括:
5.根據權利要求1所述的消息發送方法,其特征在于,還包括:
6.根據權利要求1所述的消息發送方法,其特征在于,還包括:
7.根據權利要求1所述的消息發送方法,其特征在于,還包括:
8.一種消息發送系統,其特征在于,該系統包括:
9.根據權利要求8所述的系統,其特征在于,所述“獲取待發送的消息并確定待接收的設備”之前還包括:
10.根據權利要求8所述的系統,其特征在于,所述“確定與所述設備對應的Kafka下的Partition”包括:
【技術特征摘要】
1.一種消息發送方法,其特征在于,該方法包括:
2.根據權利要求1所述的消息發送方法,其特征在于,所述“獲取待發送的消息并確定待接收的設備”之前還包括:
3.根據權利要求1所述的消息發送方法,其特征在于,所述“確定與所述設備對應的kafka下的partition”包括:
4.根據權利要求1所述的消息發送方法,其特征在于,還包括:
5.根據權利要求1所述的消息發送方法,其特征在于,還包括:...
【專利技術屬性】
技術研發人員:彭偉男,尹繼圣,劉大照,
申請(專利權)人:深圳感臻智能股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。