[發明專利]基于Web Worker實現消息通信的方法以及裝置有效
| 申請號: | 201611036464.3 | 申請日: | 2016-11-23 |
| 公開(公告)號: | CN108089927B | 公開(公告)日: | 2022-01-14 |
| 發明(設計)人: | 朱佳墩 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京清源匯知識產權代理事務所(特殊普通合伙) 11644 | 代理人: | 馮德魁 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 web worker 實現 消息 通信 方法 以及 裝置 | ||
本申請公開一種基于Web Worker實現消息通信的方法,包括:接收調用方發送的調用指令;確定預先初始化的Web Worker中用于處理所述調用指令對應數據處理類型的Web Worker;基于所述調用指令生成其對應的攜帶標識信息的數據請求,并向所述確定的Web Worker發送所述攜帶標識信息的數據請求;接收所述確定的Web Worker發送的攜帶標識信息的數據響應;根據所述數據響應攜帶的標識信息確定其對應的調用方,并向所述確定的調用方發送所述數據響應中包含的數據處理結果。所述基于Web Worker實現消息通信的方法,在JavaScript主線程和Web Worker之間建立了消息通信的映射機制,為使用者維護二者之間的消息通信提供了方便,同時降低了技術實現的復雜度。
技術領域
本申請涉及JavaScript技術領域,具體涉及一種基于Web Worker實現消息通信的方法。本申請同時涉及一種基于Web Worker實現消息通信的裝置,另一種基于Web Worker實現消息通信的方法以及裝置,以及兩種電子設備。
背景技術
JavaScript是一種在Web應用開發中廣泛使用的直譯式腳本語言,可以實現在HTML頁面嵌入動態文本、對瀏覽器事件做出響應、對即將提交到服務器的數據進行驗證以及對訪客信息進行檢測等功能。眾所周知,傳統頁面中(HTML5之前)的JavaScript的運行都是以單線程的方式工作的,雖然有多種方式實現了對多線程的模擬(例如,JavaScript中的setinterval方法、setTimeout方法),但是其在本質上仍然是由JavaScript以單線程調度的方式進行的。為了解決JavaScript運行的單線程問題,Web Worker作為HTML5標準的一部分應運而生,Web Worker的本質是可以在同一時間建立多個JavaScript線程,其基本原理就是在當前JavaScript主線程中使用Worker類加載一個JavaScript文件創建一個新的線程,起到互不阻塞執行的效果,并且提供主線程和新線程之間數據交換的接口。隨著HTML5標準的確立和普及,Web Worker的使用也越來越廣,越來越多的瀏覽器開始支持WebWorker。但由于Web Worker采用的是比較基礎的消息通訊機制,這就給使用者的編碼工作增加了難度。
目前JavaScript線程與Web Worker之間的通訊采用消息機制,JavaScript的線程可以向任意一個Web Worker發送消息,各Web Worker也可以向JavaScript線程發送相應消息。如附圖1所示,其中包括JavaScript主線程和三個Web Worker:Web Worker1、WebWorker2和Web Worker3,JavaScript主線程可以向Web Worker1、Web Worker2和WebWorker3中的任意一個發送消息,還可以接收Web Worker1、Web Worker2和Web Worker3中的任意一個發送的消息。
但是現有技術JavaScript主線程與Web Worker在進行消息通信時,二者相互之間傳遞的消息沒有映射關系,比如通過JavaScript主線程向某個Web Worker發送消息,之后JavaScript線程會等待Web Worker反饋的消息響應,但由于二者相互之間傳遞的消息沒有映射關系,加之二者之間發送和接收的消息較多且是任意而無序的,很難確定JavaScript線程向Web Worker發送的消息對應的Web Worker反饋的消息響應,因此需要使用者在使用時找到JavaScript線程與Web Worker相互之間傳遞的消息的映射關系,技術實現較為復雜。
發明內容
本申請提供一種基于Web Worker實現消息通信的方法,以解決現有技術存在的技術實現復雜的問題。
本申請同時涉及一種基于Web Worker實現消息通信的裝置,另一種基于WebWorker實現消息通信的方法以及裝置,以及兩種電子設備。
本申請提供一種基于Web Worker實現消息通信的方法,包括:
接收調用方發送的調用指令;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611036464.3/2.html,轉載請聲明來源鉆瓜專利網。





