[發(fā)明專利]一種基于運動仿真平臺高并發(fā)請求的解決方法在審
| 申請?zhí)枺?/td> | 201711260988.5 | 申請日: | 2017-12-04 |
| 公開(公告)號: | CN108200118A | 公開(公告)日: | 2018-06-22 |
| 發(fā)明(設(shè)計)人: | 關(guān)雨晗;王若梅;周凡;周毅 | 申請(專利權(quán))人: | 中山大學(xué) |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F9/50 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 510006 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 服務(wù)器 運動仿真 并發(fā) 多線程處理 服務(wù)器處理 配置服務(wù)器 分派 并行執(zhí)行 調(diào)度算法 仿真計算 仿真結(jié)果 記錄備份 接收用戶 熱濕傳輸 用戶請求 運算效率 運算壓力 多線程 前處理 熱調(diào)節(jié) 平衡 阻塞 堆積 數(shù)據(jù)庫 反饋 響應(yīng) 服裝 配置 | ||
1.一種基于運動仿真平臺高并發(fā)請求的解決方法,其特征在于,所述方法包括:
配置服務(wù)器群,接收用戶請求;
進行仿真前處理,啟用多線程處理用戶請求;
進行服裝熱濕傳輸計算和人體熱調(diào)節(jié)計算;
反饋仿真結(jié)果,將仿真記錄備份到數(shù)據(jù)庫中。
2.如權(quán)利要求1所述的一種基于運動仿真平臺高并發(fā)請求的解決方法,其特征在于,所述配置服務(wù)器群,接收用戶請求包括:
配置服務(wù)器集群,包括一臺調(diào)度服務(wù)器、一臺數(shù)據(jù)庫服務(wù)器和多臺內(nèi)部服務(wù)器。調(diào)度服務(wù)器的ip地址對外公開,數(shù)據(jù)庫服務(wù)器和所有內(nèi)部服務(wù)器的ip地址都不公開。
調(diào)度服務(wù)器與每臺內(nèi)部服務(wù)器之間均使用TCP連接池維持通信。
調(diào)度服務(wù)器接收所有用戶的請求,但不進行實際處理。調(diào)度服務(wù)器與用戶端之間采用長連接。調(diào)度服務(wù)器使用最少連接策略把用戶請求轉(zhuǎn)發(fā)給內(nèi)部服務(wù)器處理。
3.如權(quán)利要求1所述的一種基于運動仿真平臺高并發(fā)請求的解決方法,其特征在于,所述進行仿真前處理,啟用多線程處理用戶請求包括:
內(nèi)部服務(wù)器監(jiān)聽特定端口,多路分離線程監(jiān)測來自調(diào)度服務(wù)器轉(zhuǎn)發(fā)的用戶請求,交給網(wǎng)絡(luò)IO線程讀取并解析用戶數(shù)據(jù)。解析用戶數(shù)據(jù)的過程不阻塞監(jiān)聽端口。
網(wǎng)絡(luò)IO線程從用戶請求數(shù)據(jù)包中獲取仿真計算所需的參數(shù),包括用戶ID、身體特征參數(shù)、服裝設(shè)定參數(shù)、運動計劃參數(shù)和外界環(huán)境參數(shù)。
網(wǎng)絡(luò)IO線程解析完用戶輸入?yún)?shù)后,檢測仿真計算線程池中是否有空閑線程,有的話選擇一個空閑線程,傳入獲取的仿真計算參數(shù),進行服裝熱濕傳輸計算和人體熱調(diào)節(jié)計算;否則將用戶請求加入仿真任務(wù)隊列。
4.如權(quán)利要求2所述的一種基于運動仿真平臺高并發(fā)請求的解決方法,其特征在于,所述最少連接策略具體實現(xiàn)方法包括:
調(diào)度服務(wù)器需記錄它向每臺內(nèi)部服務(wù)器轉(zhuǎn)發(fā)的活躍請求數(shù)量。初始時,調(diào)度服務(wù)器與所有內(nèi)部服務(wù)器之間的活躍請求數(shù)均為0。當(dāng)一個請求被轉(zhuǎn)發(fā)到某臺內(nèi)部服務(wù)器處理,或請求被加入到該內(nèi)部服務(wù)器的TCP連接池的等待隊列時,調(diào)度服務(wù)器與該內(nèi)部服務(wù)器之間的活躍請求數(shù)加一;當(dāng)一個內(nèi)部服務(wù)器的請求處理結(jié)束或連接因超時中止時,調(diào)度服務(wù)器與該內(nèi)部服務(wù)器之間的活躍請求數(shù)減一。每次接收到請求后,調(diào)度服務(wù)器會優(yōu)先選擇活躍請求數(shù)最少的內(nèi)部服務(wù)器轉(zhuǎn)發(fā)。當(dāng)有若干個內(nèi)部服務(wù)器的活躍請求數(shù)相同時,則需要查看調(diào)度服務(wù)器與這些內(nèi)部服務(wù)器的TCP連接池中的空閑連接個數(shù),優(yōu)先選擇空閑連接個數(shù)最多的內(nèi)部服務(wù)器轉(zhuǎn)發(fā)。如果仍有若干個內(nèi)部服務(wù)器的空閑連接個數(shù)并列最多,則在這些服務(wù)器中隨機選擇一個轉(zhuǎn)發(fā)。
5.如權(quán)利要求2所述的一種基于運動仿真平臺高并發(fā)請求的解決方法,其特征在于,所述TCP連接池具體實現(xiàn)方法包括:
調(diào)度服務(wù)器與每臺內(nèi)部服務(wù)器之間均先提前創(chuàng)建若干個TCP連接。其中每個TCP連接的源端口為調(diào)度服務(wù)器的本地端口,且互不重復(fù);目標端口為內(nèi)部服務(wù)器的指定端口,即仿真主程序監(jiān)聽的端口。設(shè)定連接池的最少連接數(shù)min,確保與每臺內(nèi)部服務(wù)器之間的TCP連接在每一時刻都至少有min個。設(shè)定連接池的最大連接數(shù)max,確保與每臺內(nèi)部服務(wù)器之間的TCP連接不超過max個。設(shè)定連接的空閑等待時間idle,當(dāng)一個TCP連接連續(xù)處于空閑狀態(tài)的時間超過idle,且當(dāng)前TCP連接數(shù)大于min時,關(guān)閉該連接。當(dāng)調(diào)度服務(wù)器需要向內(nèi)部服務(wù)器發(fā)送數(shù)據(jù)時,先檢查是否有空閑的TCP連接,如果有,選擇一個空閑的連接發(fā)送數(shù)據(jù)。如果沒有空閑的連接,則需判斷調(diào)度服務(wù)器與該內(nèi)部服務(wù)器之間的已有連接數(shù)是否達到了max,如果沒達到,則新建一個TCP連接發(fā)送數(shù)據(jù);如果已達到max,則將數(shù)據(jù)加入等待隊列,等到有空閑連接時再處理。每個TCP連接在發(fā)送完數(shù)據(jù)后都不會立即關(guān)閉。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中山大學(xué),未經(jīng)中山大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711260988.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





