[發明專利]一種網上發布信息系統及方法有效
| 申請號: | 201710094319.9 | 申請日: | 2017-02-22 |
| 公開(公告)號: | CN106933989B | 公開(公告)日: | 2021-01-05 |
| 發明(設計)人: | 黎逵 | 申請(專利權)人: | 深圳云視融通科技有限公司 |
| 主分類號: | G06F16/9535 | 分類號: | G06F16/9535;H04L29/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 518060 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 網上 發布 信息系統 方法 | ||
1.一種網上發布信息系統的方法,其特征在于,包含:
所述網上發布信息系統包含多個發布客戶、代理網絡、發布/訂閱模塊、多個訂閱客戶以及管理集群;所述發布/訂閱模塊包含消息存儲器、消息分段器、用戶訂閱管理器、消息分發器;所述網上發布信息系統的方法包含網上發布信息系統相關的關鍵過程;
所述代理網絡由多個子網絡組成,所述子網絡是一個主節點與節點構成的網絡,每個所述節點被分為二層,第一層存儲所述節點的優先級,第二層為臨時存儲區,在所述臨時存儲區中存儲訂閱的分類關鍵詞、子分類號以及一個計數器,按所述節點的優先級的先后將所述節點進行連接,優先級高的所述節點先連接,使用虛擬鏈路進行連接,所述虛擬鏈路能夠隨時斷開并且隨時在所述節點之間建立連接關系;每個所述子網絡為表示的是訂閱的一個類別,在所述主節點中存儲訂閱的一個類別的關鍵詞以及分類號,而把每一個類別的訂閱的關鍵詞分配到每個所述節點中,所述節點的優先級為分配訂閱的關鍵詞時分配的順序的依據;
所述關鍵過程包含所述發布客戶發送發布消息給所述發布/訂閱模塊的過程,具體如下:
在多個所述發布客戶將發布消息傳輸給所述發布/訂閱模塊之前,對所述發布消息進行二次搜索,一次搜索為搜索所述發布消息中是否存在某一類所述訂閱的關鍵詞,在搜索的過程中對所述主節點進行調用,當發現多個關鍵詞符合的所述主節點,關鍵詞符合越多的所述主節點作為滿足條件的主節點,并將所述分類號分配給所述發布消息,所述滿足條件的主節點所在的子網絡勝出,將所述發布消息廣播給其下的所有節點,所有節點按優先級進行匹配,與所述訂閱的分類關鍵詞進行匹配,匹配上的節點中存儲的所述計數器加一,并在所述分類號的基礎上再分配所述子分類號,所述計數器用于記錄所述節點被匹配的次數,將所述發布消息連同所述分類號以及所述子分類號傳送給所述發布/訂閱模塊;對所述滿足條件的主節點所在的子網絡中的節點進行實時地調整優先級,調整的依據為所述計數器中的數字大小,數字越大,所述節點的優先級越高,將所述匹配上的節點的優先級進行調整,如果為第一次調整,直接插入到所述滿足條件的主節點所在的子網絡的第一個節點之前,其余情況下,與前后相鄰的節點的計數器的數字進行比較,采取二分法逐漸縮小插入位置的范圍,將所述匹配上的節點插入,使計數器中數字大的節點排列在所述子網絡中前面的位置;
所述關鍵過程還包含如何建立系統的數據模型;
所述系統的數據模型包含消息的表示邏輯與存儲格式,首先,將消息的類型分為發布消息與訂閱消息兩種,所述發布消息包含需要發布的標題以及發布的內容,所述訂閱消息包含所述訂閱客戶需要訂閱的內容;
所述發布消息與所述訂閱消息本身都用同一種所述表示邏輯表示,所述表示邏輯由元事件的邏輯與復雜事件的邏輯組成,所述復雜事件的邏輯由所述元事件的邏輯組成,所述元事件W的邏輯如下:
W=(e,n,b,j,P,T,l)
其中,e為所述元事件的表示變量,n為所述元事件的聲明,用于表示所述元事件發生的前提條件,所述前提條件用一階邏輯表示,b為所述元事件的二進制編碼,用于區別于其他元事件,j在所述元事件描述的為所述發布消息時,為所述節點的分類號以及子分類號,在所述元事件為所述訂閱消息時,為所述訂閱客戶指定的過濾條件,P為時間著色Petri網的層次模型,由一個由多個時間著色Petri網組成,用于從邏輯上具體描述所述元事件,T為所述元事件的時間戳,用于表示所述元事件的起始時間與結束時間,l為所述元事件的持續時間區間;
所述復雜事件為在所述元事件的基礎上進行操作組合而成,表示如下:
其中,W1,…,Wn為元事件,為操作符,T1為所述復雜事件的時間戳,用于表示所述復雜事件的起始時間與結束時間,所述復雜事件的起始時間為元事件W1,…,Wn的起始時間的最大值,所述復雜事件的結束時間為元事件W1,…,Wn的結束時間的最小值,l1為所述復雜事件的持續時間區間,為元事件W1,…,Wn的持續時間區間的最小值;所述操作符的邏輯為||t、~、=,W1||tW2表示元事件W1與元事件W2有且有一個發生,并且發生的時間限定在時間周期t內,如果不限定發生的時間,t=∞;表示元事件W1與元事件W2兩者都發生,并且發生的時間限定在時間周期t1,如果不限定發生的時間,t1=∞,如果兩個元事件同時發生,t1=0;~W1表示元事件W1不會發生;表示元事件W1發生后,經過時間t2后元事件W2再發生,如果元事件W1與元事件W2緊鄰發生,t2=0;表示元事件W1發生的期間元事件W2發生,兩者發生的時間差為t3;W1=W2表示元事件W1與元事件W2相等,此種情況下兩者的二進制編碼相等;
在消息存儲器中,所述發布消息以所述存儲格式的形式存儲;
所述存儲格式以索引結構的形式存儲,所述索引結構包含一個哈希映射以及連接表,所述哈希映射包含指針以及一個指針格,所述指針格中為所述分類號以及所述子分類號,所述指針指向一個所述連接表,所述連接表中包含在所述分類號以及所述子分類號下的所述元事件與所述復雜事件,所述指針為函數映射,使用哈希函數計算所述分類號以及所述子分類號與所述元事件與所述復雜事件之間函數映射關系;所述存儲格式的存儲順序為以所述時間戳的長短的順序排序;
所述消息分段器對所述消息存儲器中的所述索引結構進行處理,將所述索引結構中的所述元事件以及所述復雜事件提取,為每一個所述分類號以及所述子分類號下的所述元事件以及所述復雜事件按所述起始時間排列,以圓點表示,并且首尾以實心線連接,構成連續曲線圖,如果所述圓點表示的為元事件,實心線上標注以所述元事件的二進制編碼,如果所述圓點表示的為所述復雜事件,實心線上標注以構成所述復雜事件的所述元事件以及所述操作符,在所述連續曲線圖上全部劃分以一厘米的邊長的正方形,作為曲線格,對于每個所述曲線格內,都存在一個非封閉不規則多邊形,計算每個所述非封閉不規則多邊形凸出的形狀的中心點的坐標值,坐標值的計算規則為在所述曲線格內建立坐標,以所述正方形的左下角的邊角點為坐標原點,連接所述坐標原點的所述曲線格的下邊長以及左邊長為豎坐標軸以及橫坐標軸,以所述非封閉不規則多邊形凸出的形狀的中心點的坐標值作為計算對象,所述坐標值將橫坐標與豎坐標分開計算,建立所述消息分段器的分組器,以作為分組的容器,第i個分組的容器的初始變量Ai=0,其中,i=1,…,n,以作為分組的容器的編號,n為任意制定的偶數,計算所有所述非封閉不規則多邊形凸出的形狀的中心點的坐標值的平均值E以及其與所述中心點的坐標值的平均值的絕對值差W,從i=1開始,依次將Ai加上所在所述曲線格上的非封閉不規則多邊形凸出的形狀的中心點的坐標值的平均值與所述中心點的坐標值的平均值的絕對值差,Ai的值一直增加,即Ai+1=Ai+Ai+1,計算所述連續曲線圖的中位比較值,所述中位比較值取將所有中心點的坐標值的和減去所有所述中心點的坐標值的絕對值差的和的平均值,將Ai的值依次與所述中位比較值進行比較,找到與所述中位比較值最接近的Ai的值,以此為界限,將Ai分為兩組,對兩組的數據分別求二級中位比較值,二級中位比較值取分組內的所有中心點的坐標值的和減去所有所述中心點的坐標值的絕對值差的和的平均值,繼續找到與所述二級中位比較值最接近的Ai的值,將兩組的數據分為4組,循環執行上述過程,直到最終分為n組,n組按每組數據的數量大小排序,分別投入所述分組的容器,將每組所述分組的容器的數據分解,即將其分解為代表的所述曲線格中的所述元事件以及所述復雜事件,得到分為n組的所述元事件以及所述復雜事件;
所述訂閱客戶將所述訂閱消息發送到所述發布/訂閱模塊,在發送的過程中,當出現沖突,即多個所述訂閱消息同時發送,造成傳輸的堵塞,所述管理集群選舉所述訂閱客戶的管理者,所述訂閱客戶的管理者的指定具有隨意性,即每次所述訂閱消息的發送時,制定的所述訂閱客戶的管理者不一定相同,所述訂閱客戶的管理者從發送所述訂閱消息的所述訂閱客戶中選取,在所述管理集群中存放一個問題庫,所述問題庫中的問題以及答案從外部數據庫提前導入,并根據所述分類號進行分類,根據所述訂閱消息的所述分類號選定分類的所述問題庫,隨機選取一個問題發送給所述發送所述訂閱消息的所述訂閱客戶,優先答中問題答案的所述訂閱客戶選取為所述訂閱客戶的管理者,選取的所述訂閱客戶的管理者作為此次所述訂閱消息的發送的管理員,具有發送的最高優先級,當同時發送所述訂閱消息的所述訂閱客戶少于3名時,所述訂閱客戶的管理者直接指定所述同時發送所述訂閱消息的所述訂閱客戶的接收的順序,當同時發送所述訂閱消息的所述訂閱客戶多于3名時,具有指定優先被接收訂閱消息的三名訂閱客戶的權利,在同時發送所述訂閱消息的所述訂閱客戶中除去所述優先被接收訂閱消息的三名訂閱客戶以及所述訂閱客戶的管理者后,繼續所述訂閱客戶的管理者的指定,循環此過程,直到所有同時發送所述訂閱消息的所述訂閱客戶都被指定優先級,從而根據其接收訂閱消息;
所述用戶訂閱管理器將所述n組的所述元事件以及所述復雜事件進行提取,所述訂閱消息經由網絡傳輸層傳輸給所述用戶訂閱管理器,所述用戶訂閱管理器負責匹配所述訂閱消息與所述發布消息,所述用戶訂閱管理器中包含調用單元、多個消息匹配單元,所述調用單元負責調用所述消息匹配單元進行具體匹配的過程,多個所述消息匹配單元中都裝有封裝好的匹配類,通過實例化所述匹配類進行具體匹配的過程的執行,在所述消息匹配單元與所述調用單元之間設置抽象匹配服務接口,不同的所述抽象匹配服務接口用于注入不同的實例化所述匹配類,注入的過程調用了可運行的腳本代碼,所述可運行的腳本代碼依賴于動態數據的輸入,所述動態數據為所述分類號以及子分類號的參數化,在運行過程中,由所述發布客戶和所述訂閱客戶所述訂閱消息與所述發布消息所述分類號以及主題決定執行哪個所述抽象匹配服務接口,從而實現了所述發布客戶和所述訂閱客戶之間的雙向控制;
所述消息分發器負責將匹配好的所述訂閱消息與所述發布消息,建立匹配對,將匹配對映射到一個圓形結點空間,所述圓形結點空間為一個圓環,圓環上均勻分布多個結點,按起始時間的順序將所述訂閱消息與所述發布消息分配給各個結點,結點包含黑色結點與白色結點,所述黑色結點代表所述訂閱消息,所述白色結點代表所述發布消息,按所述匹配對將所述黑色結點與所述白色結點連接起來,即如果兩者存在匹配關系,將兩者連接,建立邏輯表達合取范式,所述黑色結點與所述白色結點有可能出現一對多的情況,對應的多個結點為合取的子式,所述合取的子式等于對應的單個結點,為了避免多個所述白色結點被多次分派同一個所述黑色結點,當所述訂閱消息在所述用戶訂閱管理器中進行匹配后,作為所述黑色結點加入所述圓形結點空間,每個新加入的所述黑色結點被廣播至其他個匹配的所述白色結點,匹配的所述白色結點的數量代表匹配的規模,所述黑色結點優先選擇在同一分類號下的在所述時間戳范圍內所述白色結點,選擇的所述白色結點的所述時間戳與所述黑色結點的時間戳必然存在最大范圍的重疊,所述選擇的所述白色結點代表分配給所述黑色結點的發布消息,當一個所述黑色結點已經被分配過,則不需要再次分配,將所述黑色結點從所述合取范式以及所述圓形結點空間中剔除,定時檢查范式,如果有結點的時間戳的范圍已過,將該結點從所述圓形結點空間以及所述合取范式中剔除,如果此結點屬于等號邊的唯一子式,將整個所述合取范式都刪除,被分配的所述白色結點代表的所述發布消息被通過所述網絡傳輸層發送給所述用戶訂閱者;
所述網絡傳輸層是由消息中轉站組成的消息樹,在所述消息中轉站都保存著一個動態表,當所述消息中轉站接收到一個發布消息或者訂閱消息后,到所述動態表中查找是否有與該發布消息或者訂閱消息匹配的消息訂閱者,所述消息訂閱者包含需要發送所述訂閱消息的所述訂閱客戶以及接收所述發布消息的所述訂閱客戶,如果所述動態表中存在所述消息訂閱者,所述消息中轉站就把相應的所述發布消息或者所述訂閱消息轉發到對應的所述消息訂閱者,在所述網上發布信息系統的運行過程中,將所述消息中轉站分為主消息中轉站以及次消息中轉站,所述主消息中轉站為所述消息樹的根,所有次消息中轉站的中的發布消息或訂閱消息都經過所述主消息中轉站,所述主消息中轉站不存放所述動態表,在所述系統運行中自動建立起所述動態表,除了所述主消息中轉站之外的其他消息中轉站只能向所述消息樹中連接的上層的次消息中轉站發送消息,當所述消息樹的葉子上的消息中轉站接收到需要中轉一個發布消息或者訂閱消息時,將發送所述訂閱消息的訂閱客戶或接收發布消息的訂閱客戶記錄到所述動態表中,并且生成中轉申請,以記錄發布消息或者訂閱消息的發送方以及接收方、組成該消息的元消息或復雜消息,將所述中轉申請層層遞交給上一層的次消息中轉站,直到遞交到主消息中轉站截止,由所述主消息中轉站負責消息的傳送。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳云視融通科技有限公司,未經深圳云視融通科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710094319.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種多項置頂的內容推廣方法及其裝置
- 下一篇:一種傳感器數據清洗方法





