CN114584543A - 一种基于web的资源快速访问方法、***、介质及设备 - Google Patents

一种基于web的资源快速访问方法、***、介质及设备 Download PDF

Info

Publication number
CN114584543A
CN114584543A CN202210143477.XA CN202210143477A CN114584543A CN 114584543 A CN114584543 A CN 114584543A CN 202210143477 A CN202210143477 A CN 202210143477A CN 114584543 A CN114584543 A CN 114584543A
Authority
CN
China
Prior art keywords
communication data
worker
task
main thread
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210143477.XA
Other languages
English (en)
Inventor
卢月
江昆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baianju Information Technology Shanghai Co ltd
Original Assignee
Baianju Information Technology Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baianju Information Technology Shanghai Co ltd filed Critical Baianju Information Technology Shanghai Co ltd
Priority to CN202210143477.XA priority Critical patent/CN114584543A/zh
Publication of CN114584543A publication Critical patent/CN114584543A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种基于web的资源快速访问方法,所述方法包括:创建单独的JavaScript文件并将所述文件添加到一个Worker中;在Worker执行初始任务后启动Worker;接收主线程调用Worker.postMessage()发送的执行任务;接收到执行任务消息后运行线程任务并将获取的通信数据存储到介质中;在主线程通过onmessage监听到所述通信数据存储成功后向主线程返回所述通信数据。本发明采用浏览器线程机制提高网络获取内容的速度和减少开销流量,同时解决了页面UI白屏、服务器宕机数据无法保存等问题,优化了页面数据访问性能。

Description

一种基于web的资源快速访问方法、***、介质及设备
技术领域
本发明涉及资源访问领域,特别是涉及一种基于web的资源快速访问方法、***、介质及设备。
背景技术
随着Web2.0兴起,Web应用程序已经大规模的采用类似于C/S架构的模式在B/S应用中使用,其页面的用户界面(UI,User Interface)由网页前端JS语言渲染,使得网页前端和服务端在协作上得到了真正分离,大大提升了协作效率。
网页前端开发是创建Web页面或者Wap等前端界面呈现给用户的工程,呈现过程中,遇到页面加载慢、请求时间过长、页面404等阻塞浏览器响应,即用户在浏览家装信息流页面时,往往想要更快的看到页面的内容,但因为以上页面加载缓慢等情况,耗时较长,无法达到页面快速打开的目的,非常影响用户体验。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于web的资源快速访问方法、***、存储介质及设备,用于解决现有技术中的以上问题。
为实现上述目的及其他相关目的,本发明提供一种基于web的资源快速访问方法,所述方法包括:创建单独的JavaScript文件并将所述文件添加到一个Worker中;在Worker执行初始任务后启动Worker;接收主线程调用Worker.postMessage()发送的执行任务;接收到执行任务消息后运行线程任务并将获取的通信数据存储到介质中;在主线程通过onmessage监听到所述通信数据存储成功后向主线程返回所述通信数据。
于本发明一实施例中,所述方法还包括:通过XML的方式访问网络获取所述通信数据存储到浏览器locastorage中。
于本发明一实施例中,所述方法还包括:接收执行任务后根据所述通信数据文件名称判断所述通信数据是否存在于service容器,若是,则通过Fetch拦截所述执行任务,并将service容器中所述通信数据返回给主线程;若否,则执行任务并接收服务端发送的所述通信数据,将获取的所述通信数据缓存到service容器,其中,服务端在发送所述通信数据前,使用md5密钥方式修改资源文件名称;所述service容器中的通信数据在缓存后时间达到预设值后被自动删除。
于本发明一实施例中,所述方法还包括:对所述通信数据进行数据类型转化;将转化后的所述通信数据发送给主线程;还原所述通信数据的数据类型。
于本发明一实施例中,所述方法中还包括:所述转化后数据类型包括二进制数据、Objects。
于本发明一实施例中,所述方法还包括:在将所述通信数据返回给主线程后关闭所述Worker。
于本发明一实施例中,所述方法还包括:所述进入缓存的通信数据类型包括JavaScript文件、html文件、JSON文件。
为实现上述目的及其他相关目的,本发明提供基于web的资源访问***,所述***包括:创建模块,用于创建Worker;接收模块,用于接收主线程调用Worker.postMessage()发送的执行任务;执行模块,用于执行接收到的主线程发送的执行任务;存储模块,用于将执行任务获取的通信数据存储到介质中;发送模块,用于将所述通信数据返回给主线程。
为实现上述目的及其他相关目的,本发明提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的基于web的资源快速访问方法。
为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器、存储器及通信接口;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的基于web的资源快速访问方法;所述通信接口用于实现访问装置与其他设备之间的通信。
如上所述,本发明提供的一种基于web的资源快速访问方法、***、介质及设备,针对前端页面呈现过程中出现的页面加载慢、请求时间过长、页面404等阻塞浏览器响应的问题,采用浏览器线程机制提高网络获取内容的速度和减少开销流量,同时解决了页面UI白屏、服务器宕机数据无法保存等问题,优化了页面数据访问性能。
附图说明
图1显示为本发明一实施例中的基于web的资源快速访问方法的流程示意图。
图2显示为本发明一实施例中的基于web的资源访问***的模块示意图。
图3显示为本发明一实施例中的电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了解决现有技术中因客服主管进行人工分单和自动派单***按单量进行派单两种方法造成的无法发挥客户留资的最大价值、无法提高整体订单转化率以及无法创造激励效果的问题,本发明提供一种基于web的资源快速访问方法、***、介质及设备。
如图1所示,本实施例提供一种基于web的资源快速访问方法,该方法包括如下步骤:
S11:创建单独的JavaScript文件并将所述文件添加到一个Worker中。
具体地,在前端展示对应的JavaScript文件或者全局入口文件中,采用new命名,调用Worker()构造函数创建一个新的Worker,例如:
Const Worker=new Worker(‘xxx.js’)。
S12:在Worker执行初始任务后启动Worker。
具体地,在Worker线程中执行必要初始化任务后启动Worker。
S13:接收主线程调用Worker.postMessage()发送的执行任务。
具体地,主线程调用Worker.postMessage()方法,向Worker发送执行任务,告知Worker在不影响主线程的情况下执行任务。
S14:接收到执行任务消息后运行线程任务并将获取的通信数据存储到介质中。
具体地,Worker在接收到主线程发送的任务后通过访问网络获取所述通信数据存储到浏览器locastorage中,例如,通过XML的方式访问网络获取主线程所需的通信数据。
优选地,在获取到新的通信数据后将通信数据存储于service容器中。主线程通过onmessage进行监听需要获取的通信数据是否存在于service容器,监听方式为根据需要获取的通信数据文件名称判断该通信数据是否存在于service容器,若是,Worker通过Fetch拦截主线程发送的执行任务,并将service容器中该通信数据返回给主线程;若否,Worker则在接收到任务后执行任务并接收服务端发送的通信数据,将获取的新通信数据缓存到service容器,需要说明的是,服务端在发送通信数据前,使用md5密钥方式修改通信数据资源文件名称。其中,可以进行缓存的通信数据类型包括JavaScript文件、html文件、JSON文件。
进一步地,若长时间未接收到新的通信数据,Worker缓存工作进入睡眠模式,自动进入休眠模式,减少浏览器资源浪费。若有新的通信数据产生时,触发缓存机制对通信数据进行缓存。
优选地,在主线程中设定定时任务,通过获取service容器中所有文件,使用md5解密文件名以获取文件缓存时间戳,计算当前时间戳与缓存时间戳的时间差,在时间差达到设定定时任务的时间值时通过定时任务自动删除该文件。
S15:在主线程通过onmessage监听到所述通信数据存储成功后向主线程返回通信数据。
具体地,主线程通过onmessage在service容器中或者其他介质中监听到有所需的通信数据后,Worker首先对该通信数据进行数据类型转化,可以将通信数据类型转化为二进制数据、Transferable Objects,例如File、Blob、手机号码等。
进一步地,将转化后的通信数据通过postMessage()发送给主线程。并在数据发送后对通信数据的数据类型进行还原。
进一步的,若Worker成功将通信数据返回后,通过Worker.terminate()关闭所述Worker。否则向主线程告知失败。
实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。
参阅图2,本实施例提供一种基于web的资源访问***20,作为一款软件搭载于电子设备中,以在运行时执行前述方法实施例所述的基于web的资源快速访问方法。由于本***实施例的技术原理与前述方法实施例的技术原理相似,因而不再对同样的技术细节做重复性赘述。
本实施例的基于web的资源访问***20具体包括:创建模块21、接收模块22、执行模块23、存储模块24、发送模块25。创建模块21用于创建Worker;接收模块22用于接收主线程调用Worker.postMessage()发送的执行任务;执行模块23用于执行接收到的主线程发送的执行任务;存储模块24用于将执行任务获取的通信数据存储到介质中;发送模块25用于将所述通信数据返回给主线程。
本领域技术人员应当理解,图2实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,执行模块22可以为单独设立的处理元件,也可以集成在某一个芯片中实现,此外,也可以以程序代码的形式存储于存储器中,由某一个处理元件调用并执行执行模块22的功能。其它模块的实现与之类似。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
参阅图3,本实施例提供一种电子设备,电子设备可以是便携式电脑、智能手机、平板电脑等设备。详细的,电子设备至少包括通过总线31连接的:存储器32、处理器33,通信接口34,其中,通信接口34用于用于实现数据访问装置与其他设备之间的通信其中,存储器32用于存储计算机程序,处理器33用于执行存储器32存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
上述提到的***总线可以是外设部件互连标准(Peripheral PomponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该***总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明提供的一种基于web的资源快速访问方法、***、介质及设备,针对前端页面呈现过程中出现的页面加载慢、请求时间过长、页面404等阻塞浏览器响应的问题,采用浏览器线程机制提高网络获取内容的速度和减少开销流量,同时通过拦截并修改访问和资源请求,细粒度地缓存资源,能够加快解密算法,节约计算资源;提升数据加载速度,更快让浏览器得到数据后渲染页面;减少浏览器内存堆积;解决页面UI白屏、服务器宕机数据无法保存等问题,优化了页面数据访问性能。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (10)

1.一种基于web的资源快速访问方法,其特征在于,包括:
创建单独的JavaScript文件并将所述文件添加到一个Worker中;
在Worker执行初始任务后启动Worker;
接收主线程调用Worker.postMessage()发送的执行任务;
接收到执行任务消息后运行线程任务并将获取的通信数据存储到介质中;
在主线程通过onmessage监听到所述通信数据存储成功后向主线程返回所述通信数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
通过XML的方式访问网络获取所述通信数据存储到浏览器locastorage中。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收执行任务后根据所述通信数据文件名称判断所述通信数据是否存在于service容器,若是,则通过Fetch拦截所述执行任务,并将service容器中所述通信数据返回给主线程;若否,则在收到所述任务后执行任务并接收服务端发送的所述通信数据,将获取的所述通信数据缓存到service容器,其中,服务端在发送所述通信数据前,使用md5密钥方式修改资源文件名称;所述service容器中的通信数据在缓存后时间达到预设值后被自动删除。
4.根据权利要求1~3所述的方法,其特征在于,还包括:
对所述通信数据进行数据类型转化;
将转化后的所述通信数据发送给主线程;
还原所述通信数据的数据类型。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述转化后数据类型包括二进制数据、Objects。
6.根据权利要求1所述的方法,其特征在于,还包括:
在将所述通信数据返回给主线程后关闭所述Worker。
7.根据权利要求3所述的方法,其特征在于,还包括:
所述进入缓存的通信数据类型包括JavaScript文件、html文件、JSON文件。
8.一种基于web的资源快速访问***,其特征在于,所述***包括:
创建模块,用于创建Worker;
接收模块,用于接收主线程调用Worker.postMessage()发送的执行任务;
执行模块,用于执行接收到执行任务;
存储模块,用于执行接收到的主线程发送的执行任务;
发送模块,用于将所述通信数据返回给主线程。
9.一种计算机可读存储介质,其中存储有计算机程序,其特征在于,所述计算机程序被处理器加载执行时,实现如权利要求1至7中任一所述的基于web的资源快速访问方法。
10.一种电子设备,其特征在于,包括:处理器、存储器及通信接口;其中,
所述存储器用于存储计算机程序;
所述处理器用于加载执行所述计算机程序,以使所述电子设备执行如权利要求1至7中任一所述的基于web的资源快速访问方法;
所述通信接口用于实现访问装置与其他设备之间的通信。
CN202210143477.XA 2022-02-16 2022-02-16 一种基于web的资源快速访问方法、***、介质及设备 Pending CN114584543A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210143477.XA CN114584543A (zh) 2022-02-16 2022-02-16 一种基于web的资源快速访问方法、***、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210143477.XA CN114584543A (zh) 2022-02-16 2022-02-16 一种基于web的资源快速访问方法、***、介质及设备

Publications (1)

Publication Number Publication Date
CN114584543A true CN114584543A (zh) 2022-06-03

Family

ID=81770666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210143477.XA Pending CN114584543A (zh) 2022-02-16 2022-02-16 一种基于web的资源快速访问方法、***、介质及设备

Country Status (1)

Country Link
CN (1) CN114584543A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016169A1 (en) * 2009-07-20 2011-01-20 Matthew Cahill Rendering a web page using content communicated to a browser application from a process running on a client
US20110264759A1 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Optimized caching for large data requests
CN103870539A (zh) * 2014-02-20 2014-06-18 小米科技有限责任公司 文本预处理的方法及装置
CN110287432A (zh) * 2019-06-28 2019-09-27 北京金山安全软件有限公司 网络信息处理方法、装置和电子设备
CN110929194A (zh) * 2019-11-21 2020-03-27 山东鲁能软件技术有限公司 一种基于摘要算法的静态资源文件缓存控制方法及***
CN111475180A (zh) * 2019-01-24 2020-07-31 北京京东尚科信息技术有限公司 更新客户端缓存的方法和***
US20200310857A1 (en) * 2019-03-29 2020-10-01 Hewlett Packard Enterprise Development Lp Launch web browser applications in microservice-based containers
US20210067494A1 (en) * 2019-09-04 2021-03-04 Microsoft Technology Licensing, Llc Secure communication between web frames
CN113468448A (zh) * 2020-03-31 2021-10-01 腾讯科技(深圳)有限公司 页面渲染方法及装置
CN113961832A (zh) * 2021-10-19 2022-01-21 广州虎牙科技有限公司 页面渲染的方法、装置、设备、存储介质及程序产品

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016169A1 (en) * 2009-07-20 2011-01-20 Matthew Cahill Rendering a web page using content communicated to a browser application from a process running on a client
US20110264759A1 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Optimized caching for large data requests
CN103870539A (zh) * 2014-02-20 2014-06-18 小米科技有限责任公司 文本预处理的方法及装置
CN111475180A (zh) * 2019-01-24 2020-07-31 北京京东尚科信息技术有限公司 更新客户端缓存的方法和***
US20200310857A1 (en) * 2019-03-29 2020-10-01 Hewlett Packard Enterprise Development Lp Launch web browser applications in microservice-based containers
CN110287432A (zh) * 2019-06-28 2019-09-27 北京金山安全软件有限公司 网络信息处理方法、装置和电子设备
US20210067494A1 (en) * 2019-09-04 2021-03-04 Microsoft Technology Licensing, Llc Secure communication between web frames
CN110929194A (zh) * 2019-11-21 2020-03-27 山东鲁能软件技术有限公司 一种基于摘要算法的静态资源文件缓存控制方法及***
CN113468448A (zh) * 2020-03-31 2021-10-01 腾讯科技(深圳)有限公司 页面渲染方法及装置
CN113961832A (zh) * 2021-10-19 2022-01-21 广州虎牙科技有限公司 页面渲染的方法、装置、设备、存储介质及程序产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡晶;董航;: "HTML5核心Web技术分析", 长春工业大学学报(自然科学版), no. 5 *

Similar Documents

Publication Publication Date Title
US10325009B2 (en) Method and apparatus for using custom component parsing engine to parse tag of custom component
CN110865888B (zh) 一种资源加载方法、装置、服务器及存储介质
US9069549B2 (en) Machine processor
CN114580344B (zh) 测试激励生成方法、验证方法、验证***及相关设备
US20140365861A1 (en) Prefetching binary data for use by a browser plugin
US20130198325A1 (en) Provision and running a download script
CN109325192B (zh) 一种广告防屏蔽的方法和装置
US10594764B2 (en) Request cache to improve web applications performance
CN109800370A (zh) 网页页面的显示方法、装置、计算机设备及存储介质
CN110442819B (zh) 数据处理方法、装置、存储介质及终端
CN112930530A (zh) 用于网络应用程序执行的客户端应用程序
CN103559097A (zh) 一种浏览器中进程间通信的方法、装置和浏览器
CN103377194A (zh) 加速网页访问的方法、装置和浏览器
US20130103931A1 (en) Machine processor
CN112380468A (zh) 一种页面加载方法、计算机设备和存储介质
US9448823B2 (en) Provision of a download script
CN114584543A (zh) 一种基于web的资源快速访问方法、***、介质及设备
CN111177600A (zh) 一种基于移动应用的内置网页加载方法及装置
CN115758004A (zh) 网页表格的展示方法、装置、计算机可读介质及电子设备
US8793663B2 (en) Smart cache for a server test environment in an application development tool
CN114647411A (zh) 编程界面加载方法、装置、电子设备及存储介质
CN111427654B (zh) 一种指令处理方法及装置
CN112860235B (zh) 处理文本的方法、装置、设备和存储介质
CN114510849A (zh) 一种仿真处理方法、装置、设备及介质
CN114741165A (zh) 数据处理平台的处理方法、计算机设备及存储装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination