WO2022135410A1 - 加载源文件的方法及装置 - Google Patents
加载源文件的方法及装置 Download PDFInfo
- Publication number
- WO2022135410A1 WO2022135410A1 PCT/CN2021/140150 CN2021140150W WO2022135410A1 WO 2022135410 A1 WO2022135410 A1 WO 2022135410A1 CN 2021140150 W CN2021140150 W CN 2021140150W WO 2022135410 A1 WO2022135410 A1 WO 2022135410A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- source file
- target application
- identifier
- file
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000013507 mapping Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 15
- 239000003795 chemical substances by application Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种加载源文件的方法及装置,属于计算机领域。其中,该方法包括:获取与目标应用程序对应的标识;获取与所述标识对应的第一源文件;其中,所述第一源文件为所述目标应用程序所缺失的源文件;向所述目标应用程序发送所述第一源文件,以使所述目标应用程序加载所述第一源文件。
Description
相关申请的交叉引用
本申请主张在2020年12月25日在中国提交的中国专利申请No.202011558971.X的优先权,其全部内容通过引用包含于此。
本申请属于计算机领域,具体涉及一种加载源文件的方法及装置。
前端技术更新迭代非常快,开发过程中使用的一些新特性在低版本或者不同的浏览器中可能不被支持:比如答应(promise)方法;在检测到网络探路者(Internet Explorer,IE)浏览器不支持promise方法,但又必须在IE浏览器中运行该方法;这时候就必须让浏览器支持promise方法,一般通过引入一段代码,这段代码可以让浏览器支持promise方法,这种行为也就是对浏览器“打补丁”,那这段代码就可以成为源文件。目前业界常用如下:
通过插件自动加载源文件:借助一个前端项目打包工具,这个工具可以提供一系列的插件,我们可以在项目的配置文件中手动配置需要的插件,实现打包时引入源文件。但是,这种方案存在源文件内容冗余,即在支持某个特性的浏览器来说,是不需要引入该源文件,但是对于同一个项目,同一份配置,生成的源文件是一样的,这就会导致源文件冗余。
发明内容
本申请实施例提供了一种加载源文件的方法及装置,能够解决现有技术中通过插件自动加载源文件方式会导致源文件冗余的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种加载源文件的方法,包括:获取与目标应用程序对应的标识;获取与所述标识对应的第一源文件;其中,所述第一源文件为所述目标应用程序所缺失的源文件;向所述目标应用程序发送 所述第一源文件,以使所述目标应用程序加载所述第一源文件。
第二方面,本申请实施例提供了一种加载源文件的装置,包括:第一获取模块,用于获取与目标应用程序对应的标识;第二获取模块,用于获取与所述标识对应的第一源文件;其中,所述第一源文件为所述目标应用程序所缺失的源文件;第一发送模块,用于向所述目标应用程序发送所述第一源文件,以使所述目标应用程序加载所述第一源文件。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
第六方面,提供了一种计算机程序产品,所述计算机程序产品被存储在非瞬态的存储介质中,所述计算机程序产品被至少一个处理器执行以实现如第一方面所述的方法。
在本申请实施例中,在获取到目标应用程序的标识后,获取与该标识对应的第一源文件,进而将该第一源文件发送给目标应用程序,以使目标应用程序加载所述第一源文件;如果该目标应用程序为浏览器,则通过本申请实施例的上述方式,可以根据浏览器的标识获取其缺失的源文件,即该浏览器所缺失的代码,进而发送给浏览器,即浏览器缺失什么源文件,则会根据标识获取其缺失的源文件,避免了源文件的冗余,从而解决了现有技术中通过插件自动加载源文件方式会导致源文件冗余的问题。
图1是本申请实施例的加载源文件的方法的流程图;
图2是本申请实施例的加载源文件的方法的可选流程图一;
图3是本申请实施例的加载源文件的方法的可选流程图二;
图4是本申请实施例的加载源文件的装置的结果示意图;
图5是本申请实施例的电子设备的结构示意图;
图6是本申请实施例的电子设备的可选结构示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
首先,对本申请实施例中的相关术语进行解释;
Polyfill:是一段代码,提供给开发者希望浏览器支持的原生功能;当浏览器不支持某个功能,可以通过引入polyfill,使得浏览器支持该功能,从而解决了浏览器对前端语法的兼容性问题。
内容分发网络(Content Delivery Network,CDN):构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
用户代理(User-Agent,UA):是超文本传输协议(Hyper Text Transfer Protocol,HTTP)协议中的一部分,属于头域的组成部分,它是一个特殊字符串头,能够识别客户使用的操作系统及版本、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。在网络请求当中,User-Agent是标明身 份的一种标识。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的加载源文件的进行详细地说明。
本申请实施例提供了一种加载源文件的方法,图1是本申请实施例的加载源文件的方法的流程图,如图1所示,该方法的步骤包括:
步骤S102,第一设备获取与目标应用程序对应的标识;
步骤S104,第一设备获取与标识对应的第一源文件;其中,第一源文件为目标应用程序所缺失的源文件;
步骤S106,第一设备向目标应用程序发送第一源文件,以使所述目标应用程序加载所述第一源文件。
通过上述步骤S102至步骤S106,第一设备可以通过在获取到目标应用程序的标识后,获取与该标识对应的第一源文件,进而将该第一源文件发送给目标应用程序,以使目标应用程序加载所述第一源文件;如果该目标应用程序为浏览器,则通过本申请实施例的上述方式,可以根据浏览器的标识获取其缺失的源文件,即该浏览器所缺失的代码,进而发送给浏览器,即浏览器缺失什么源文件,则会根据标识获取其缺失的源文件,避免了源文件的冗余,从而解决了现有技术中通过插件自动加载源文件方式会导致源文件冗余的问题。
本申请实施例中的加载源文件的方法的执行主体可以服务器,具体可以是后台服务器,如具有CDN功能的边缘服务器等。
需要说明的是,本申请实施例中的目标应用程序除了可以为浏览器之外,还可以是其他应用程序,如办公软件、开发工具等等。
在本申请实施例的可选实施方式中,本申请实施例步骤S102中涉及到的获取与目标应用程序对应的标识的方式进一步可以包括:
步骤S102-11,接收目标应用程序发送的携带有目标应用程序的用户代理UA的请求信息;其中,请求信息用于请求第一源文件;
步骤S102-12,响应于请求信息,对UA进行解析得到目标应用程序的属性信息;
步骤S102-13,根据属性信息生成标识。
对于上述步骤S102-11至步骤S102-13,如果以具有CDN功能的边缘服务器为执行主体为例,则该过程为边缘服务器在接收到请求信息后,对UA进行解析得到目标应用程序的属性,进而生成标识信息。由于该边缘服务器具有CDN功能,可以就近部署在与目标应用程序较近的位置,这样能够就近根据目标应用程序的标识,获取其缺失的源文件,以保证目标应用程序的正常使用。
需要说明的是,本申请实施例中的属性信息包括以下至少一项:目标应用程序的类型信息、目标应用程序的版本信息。
另外,在本申请实施例的另一个可选实施方式中,本申请实施例的方法还可以包括:
步骤S108,在对UA解析失败的情况下,向目标应用程序发送第二源文件,其中,第二源文件为应用程序通用的源文件。
可见,在解析失败的情况下,可以通过通用的源文件兜底,以避免获取一个空文件而导致项目执行失败。
在本申请实施例的另一个可选实施方式中,对于步骤S104中涉及到的获取与标识对应的第一源文件的方式,进一步可以包括:
步骤S104-11,根据预设映射关系和标识查找第一源文件;其中,预设映射关系用于指示目标应用程序的标识与源文件之间的映射关系。
对于上述步骤S104-11,根据预设映射关系和标识查找第一源文件的方式,如果以执行主体为具有CDN功能的边缘服务器为例,则在本申请实施中有两种实现方式,一种是该边缘服务器预先缓存有该第一源文件,则可以直接根据预设映射关系和标识在本地查找该第一源文件,另一种是该边缘服务器没有缓存该第一源文件,则需要去其他服务器获取该第一源文件,该其他服务器可以是资源服务器,即边缘服务器需要先从资源服务器获取该第一源文件之后,再向目标应用程序发送该第一源文件。
下面结合上述两种情况,对本申请实施例的源文件的加载方法进行举例说明;在下述具体实施方式中,站在具有CDN功能的边缘服务器侧对本申请进行解释说明,其他服务器则是资源服务器。
可选实施方式1
对于本申请实施例的步骤S102中涉及到的获取与目标应用程序对应的标识的方式,进一步可以包括:
步骤S102-21,边缘服务器接收目标应用程序发送携带有UA的第一请求信息;其中,第一请求信息用于请求第一源文件;
步骤S102-22,边缘服务器响应于第一请求信息,向资源服务器发送UA;
步骤S102-23,边缘服务器接收资源服务器发送的第一标识;其中,第一标识由资源服务器根据目标应用程序的属性信息生成,属性信息由资源服务器对UA进行解析得到。
也就是说,具有CDN功能的边缘服务器在获取浏览器的请求后,向资源服务器发送浏览器的UA,进而资源服务器对UA进行解析得到浏览器的属性信息,进而生成对应的标识,再发送给具有CDN功能的边缘服务器。也就是说,上述边缘服务器没有解析UA的能力,需要借助于资源服务器对其进行解析。
基于上述步骤S102-21至步骤S102-23,本申请实施例中的步骤S104中涉及到的获取与标识对应的第一源文件的方式,进一步可以包括:
步骤S104-11,边缘服务器根据第一预设映射关系确定是否能从本地查找到与第一标识对应的第一源文件;其中,第一预设映射关系用于指示目标应用程序的标识与源文件之间的映射关系;
步骤S104-22,在本地查找到与第一标识对应的第一源文件的情况下,边缘服务器获取第一源文件;
步骤S104-23,在本地未查找到与第一标识对应的第一源文件的情况下,边缘服务器向资源服务器发送第一标识;
步骤S104-24,边缘服务器接收资源服务器发送的第一源文件,其中,第一源文件由资源服务器根据第一标识获取。
通过上述步骤S104-21至步骤S104-24,如果边缘服务器本地没有与第一标识对应第一源文件的情况下,需要从资源服务器获取该第一源文件,如果边缘服务器本地有该第一源文件,则可以直接向目标应用程序发送该第一源文件,从而实现了根据目标应用程序的标识获取其缺失的源文件,不会造成源文件的冗余;而且整个过程也无需用户通过手动进行维护,只需要目标应 用程序发送请求后,由边缘服务器将第一源文件发送给目标应用程序。
需要说明的是,本申请实施例中涉及到的属性信息可以包括目标应用程序的类型和/或目标应用程序的版本信息。
下面结合本申请实施例的具体实施方式,对上述可选实施方式1进行举例说明;
该具体实施方式提供了一种根据浏览器差异化加载polyfill的方法,其中,浏览器为上述目标应用程序,polyfill为上述第一源文件;如图2所示,该方法的步骤包括:
步骤S201,浏览器向具有CDN边缘服务器发送一个请求,其中,该请求用于获取当前浏览器需要的polyfill内容;
步骤S202,具有CDN边缘服务器接收到浏览器的请求,将浏览器的UA内容发送给部署在具有CDN的资源服务器,资源服务器对User-Agent进行解析,得到浏览器类型、版本信息;
步骤S203,资源服务器根据解析得到的浏览器的类型和/或版本信息生成一个唯一文件标识(比如,扩展用户代理(Extend User Agent,X-UA)),然后资源服务器将该标识X-UA发送给CDN;
步骤S204,具有CDN的边缘服务器接收到资源服务器传回的标识X-UA,然后在本地缓存中查找标识X-UA对应的polyfill文件,此时会有两种情况:
1)如果没有查找到polyfill文件,说明具有CDN的边缘服务器没有缓存polyfill文件,然后继续执行步骤S205;
2)具有CDN的边缘服务器在本地缓存中查找到了polyfill文件,则直接执行步骤S210;
步骤S205,资源服务器接收到具有CDN的边缘服务器发送的标识X-UA,然后资源服务器根据X-UA标识进行分析处理,确定当前浏览器缺失哪些能力,需要请求哪些polyfill内容来支持这些能力,然后向polyfill数据库捞取这些对应的polyfill内容;
步骤S206,资源服务器接收polyfill数据库动态返回的polyfill内容,然后将这些polyfill内容合并打包成一个最终的文件(定义为X-polyfill-UA),这个文件就是浏览器最终需要的,并且可以在浏览器执行的polyfill文件;
步骤S207,资源服务器在生成X-polyfill-UA文件的同时会在本地进行备份;
步骤S208,资源服务器将X-polyfill-UA文件返回给具有CDN的边缘服务器,具有CDN的边缘服务器将标识X-UA与该文件X-polyfill-UA之间的映射关系进行存储,作用是可以根据X-UA快速查找到对应的polyfill文件名称;
步骤S209,根据映射关系拿到的文件名称,从缓存中快速获取文件内容;
步骤S210,具有CDN的边缘服务器将得到的可执行文件X-polyfill-UA发送给浏览器,浏览器可以直接执行X-polyfill-UA文件。
通过上述步骤S201至步骤S210,该X-polyfill-UA文件是根据浏览器User-Agent特性,根据浏览器类型、版本信息分析目前需要哪些polyfill内容,然后将需要的polyfill内容合并打包起来的,不会有内容冗余。此外,在本申请实施例中只需要在项目文件中引入一个固定的polyfill文件链接,无需手动维护。另外,充分利用CDN内容缓存以及内容分发能力,在CDN做polyfill文件缓存,减少了请求以及提升了加载性能。
可选实施方式2
对于上述步骤S102中涉及到的获取与目标应用程序对应的标识的方式,进一步还可以包括:
步骤S102-31,具有CDN的边缘服务器接收目标应用程序发送的携带UA第二请求信息;其中,第二请求信息用于请求第一源文件;
步骤S102-32,具有CDN的边缘服务器响应于第二请求信息,对UA进行解析得到目标应用程序的属性信息;
步骤S102-33,具有CDN的边缘服务器根据目标应用程序的属性信息生成与目标应用程序对应的第二标识。
通过上述步骤S102-31至步骤S102-33,具有CDN的边缘服务器可以自行对目标应用程序的UA进行解析得到对应的第二标识,无需借助于第二设备。
基于此,本申请实施例中步骤S104中涉及到的获取与标识对应的第一源文件的方式,进一步可以包括:
步骤S104-31,具有CDN的边缘服务器根据第二预设映射关系与第二标识从本地获取第一源文件;其中,第二预设映射关系用于指示目标应用程序的标识与源文件之间的映射关系。
需要说明的是,在具有CDN的边缘服务器根据第二预设映射关系与第二标识从本地获取第一源文件之前,本申请实施例的方法步骤还可以包括:
步骤S11,具有CDN的边缘服务器向资源服务器发送第二标识;
步骤S12,具有CDN的边缘服务器接收资源服务器发送的第一源文件,其中,第一源文件由资源服务器根据第二标识获取;
步骤S13,具有CDN的边缘服务器在本地缓存第一源文件。
通过上述步骤S11至步骤S13,由于具有CDN的边缘服务器可以自行对目标应用程序的UA进行解析,因此,可以在具有CDN的边缘服务器的本地缓存该具有CDN的边缘服务器所缺失的第一源文件;这样,在具有CDN的边缘服务器解析UA得到得让标识后,可以根据预设映射关系在本地查找到该第一源文件,即查找到的源文件为目标应用程序所缺失的源文件,而不会造成源文件的冗余。
下面结合本申请实施例的具体实施方式,对上述可选实施方式2进行举例说明。该具体实施方式提供了一种根据浏览器差异化加载polyfill的方法,其中,浏览器为上述目标应用程序,polyfill为上述第一源文件;如图3所示,该方法的步骤包括:
其中,浏览器第一次请求步骤包括:
步骤S301,浏览器向具有CDN的边缘服务器发送一个请求,请求获取当前浏览器需要的polyfill内容;
步骤S302,在具有CDN的边缘服务器本地配置一套解析规则,可以直接解析浏览器User-Agent特性,然后根据解析出来的浏览器类型、版本信息生成一个标识X-UA;
步骤S303,具有CDN的边缘服务器将生成的标识X-UA发送给资源服务器,请求获取标识X-UA对应的浏览器需要的polyfill文件;
步骤S304,资源服务器接收到具有CDN的边缘服务器发送的标识X-UA,然后服务器根据X-UA标识进行分析处理,确定当前浏览器缺失哪些能力, 需要请求哪些polyfill内容来支持这些能力,然后向polyfill数据库捞取这些对应的polyfill内容;
步骤S305,资源服务器接收polyfill数据库动态返回的polyfill内容,然后将这些polyfill内容合并打包成一个最终的文件(定义为X-polyfill-UA),这个文件就是浏览器最终需要的,并且可以在浏览器执行的polyfill文件;
步骤S306,资源服务器在生成X-polyfill-UA文件,同时在本地对文件进行备份;
步骤S307,资源服务器将X-polyfill-UA文件返回给具有CDN的边缘服务器,具有CDN的边缘服务器将标识X-UA与该文件X-polyfill-UA之间的映射关系进行存储,作用是可以根据X-UA快速查找到对应的polyfill文件名称;
步骤S308,具有CDN的边缘服务器将X-polyfill-UA内容进行存储,作用是可以根据207映射关系拿到的文件名称,从缓存中快速获取文件内容;
步骤S309,具有CDN的边缘服务器将得到的可执行文件X-polyfill-UA发送给浏览器,浏览器可以直接执行X-polyfill-UA文件,至此,浏览器第一次请求流程响应结束;
其中,浏览器第二次请求步骤:
步骤S310,浏览器向具有CDN的边缘服务器发送一个请求,请求获取当前浏览器需要的polyfill内容;
步骤S311,在具有CDN的边缘服务器本地通过正则表达式解析得到标识X-UA;
步骤S312,具有CDN的边缘服务器根据标识X-UA在S307步骤缓存的映射关系表中查找对应的polyfill文件名称,然后根据文件名称去S308步骤文件缓存中去查找该文件内容;
步骤S313,具有CDN的边缘服务器将S312查找到的该浏览器需要的polyfill文件返回给浏览器.
可见,在第二次请求中不涉及资源服务器的请求和处理,大大的提升响应时间以及系统性能。
此外,在本具体实施方式中,在CDN本地配置一套解析规则式,通过该 规则解析浏览器User-Agent特性,然后存储解析后生成的标识和相应polyfill文件的映射关系,在可选实施方式1中每个CDN上部署有资源服务器,这种方式需要CDN同意才可以部署;而在可选实施方式2中,利用了CDN本地已经支持了解析规则配置,可以只在本地部署一套资源服务器用来处理polyfill文件合并,不用直接在每一个CDN上部署资源服务器。
需要说明的是,本申请实施例提供的加载源文件的方法,执行主体可以为加载源文件的装置,或者该加载源文件的装置中的用于执行加载源文件的方法的控制模块。本申请实施例中以加载源文件的装置执行加载源文件的方法为例,说明本申请实施例提供加载源文件的装置。
本申请实施例提供了一种加载源文件的装置,图4是本申请实施例的加载源文件的装置的结构示意图,如图4所示,该装置包括:
第一获取模块42,用于获取与目标应用程序对应的标识;
第二获取模块44,用于获取与标识对应的第一源文件;其中,第一源文件为目标应用程序所缺失的源文件;
第一发送模块46,用于向目标应用程序发送第一源文件,以使目标应用程序加载第一源文件。
通过本申请实施例的装置,在获取到目标应用程序的标识后,获取与该标识对应的第一源文件,进而将该第一源文件发送给目标应用程序,以使目标应用程序加载所述第一源文件;如果该目标应用程序为浏览器,则通过本申请实施例的上述方式,可以根据浏览器的标识获取其缺失的源文件,即该浏览器所缺失的代码,进而发送给浏览器,即浏览器缺失什么源文件,则会根据标识获取其缺失的源文件,避免了源文件的冗余,从而解决了现有技术中通过插件自动加载源文件方式会导致源文件冗余的问题。
在本申请实施例的可选实施方式中,本申请实施例中的第一获取模块42进一步可以包括:接收子模块,用于接收目标应用程序发送的携带有目标应用程序的用户代理UA的请求信息;其中,请求信息用于请求第一源文件;解析子模块,用于响应于请求信息,对UA进行解析得到目标应用程序的属性信息;生成子模块,用于根据属性信息生成标识。
在本申请实施例的可选实施方式中,本申请实施例中的第二获取模块进 一步可以包括:查找子模块,用于根据预设映射关系和标识查找第一源文件;其中,预设映射关系用于指示目标应用程序的标识与源文件之间的映射关系。
在本申请实施例的可选实施方式中,本申请实施例中的属性信息包括以下至少一项:目标应用程序的类型信息、目标应用程序的版本信息。
在本申请实施例的可选实施方式中,本申请实施例中的装置还可以包括:第二发送模块,用于在对UA解析失败的情况下,向目标应用程序发送第二源文件,其中,第二源文件为所有应用程序通用的源文件。
本申请实施例中的加载源文件的装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的加载源文件的装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的加载源文件的装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
可选的,如图5所示,本申请实施例还提供一种电子设备500,包括处理器501,存储器502,存储在存储器502上并可在所述处理器501上运行的程序或指令,该程序或指令被处理器501执行时实现上述加载源文件的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图6为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备600包括但不限于:射频单元601、网络模块602、音频输出单元603、输入单元604、传感器605、显示单元606、用户输入单元607、 接口单元608、存储器609、以及处理器610等部件。
本领域技术人员可以理解,电子设备600还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器610逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图6中更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器610,用于获取与目标应用程序对应的标识;以及获取与标识对应的第一源文件;其中,第一源文件为目标应用程序所缺失的源文件;
射频单元601,用于向目标应用程序发送第一源文件,以使目标应用程序加载第一源文件。
通过本申请实施例的电子设备,在获取到目标应用程序的标识后,获取与该标识对应的第一源文件,进而将该第一源文件发送给目标应用程序,以使目标应用程序加载第一源文件;如果该目标应用程序为浏览器,则通过本申请实施例的上述方式,可以根据浏览器的标识获取其缺失的源文件,即该浏览器所缺失的代码,进而发送给浏览器,即浏览器缺失什么源文件,则会根据标识获取其缺失的源文件,避免了源文件的冗余,从而解决了现有技术中通过插件自动加载源文件方式会导致源文件冗余的问题。
其中,射频单元601,还用于接收目标应用程序发送的携带有目标应用程序的用户代理UA的请求信息;其中,请求信息用于请求第一源文件;
处理器610,还用于响应于请求信息,对UA进行解析得到目标应用程序的属性信息,以及根据属性信息生成标识。
其中,处理器610,还用于根据预设映射关系和标识查找第一源文件;其中,预设映射关系用于指示目标应用程序的标识与源文件之间的映射关系。
其中,射频单元601,还用于在对UA解析失败的情况下,向目标应用程序发送第二源文件,其中,第二源文件为应用程序通用的源文件。
应理解的是,本申请实施例中,输入单元604可以包括图形处理器(Graphics Processing Unit,GPU)6041和麦克风6042,图形处理器6041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元606可包括显示面板6061,可以 采用液晶显示器、有机发光二极管等形式来配置显示面板6061。用户输入单元607包括触控面板6071以及其他输入设备6072。触控面板6071,也称为触摸屏。触控面板6071可包括触摸检测装置和触摸控制器两个部分。其他输入设备6072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器609可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器610可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器610中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述加载源文件的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述加载源文件的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例另提供了一种计算机程序产品,其中,所述计算机程序产品被存储在非瞬态的可读存储介质中,所述计算机程序产品被至少一个处理执行以实现上述图1方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还 包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (15)
- 一种加载源文件的方法,包括:获取与目标应用程序对应的标识;获取与所述标识对应的第一源文件;其中,所述第一源文件为所述目标应用程序所缺失的源文件;向所述目标应用程序发送所述第一源文件,以使所述目标应用程序加载所述第一源文件。
- 根据权利要求1所述的方法,其中,所述获取与目标应用程序对应的标识包括:接收所述目标应用程序发送的携带有所述目标应用程序的用户代理UA的请求信息;其中,所述请求信息用于请求所述第一源文件;响应于所述请求信息,对所述UA进行解析得到所述目标应用程序的属性信息;根据所述属性信息生成所述标识。
- 根据权利要求2所述的方法,其中,所述获取与所述标识对应的第一源文件包括:根据预设映射关系和所述标识查找所述第一源文件;其中,所述预设映射关系用于指示目标应用程序的标识与源文件之间的映射关系。
- 根据权利要求2所述的方法,其中,所述属性信息包括以下至少一项:所述目标应用程序的类型信息、所述目标应用程序的版本信息。
- 根据权利要求2所述的方法,其中,所述方法还包括:在对所述UA解析失败的情况下,向所述目标应用程序发送第二源文件,其中,所述第二源文件为应用程序通用的源文件。
- 一种加载源文件的装置,包括:第一获取模块,用于获取与目标应用程序对应的标识;第二获取模块,用于获取与所述标识对应的第一源文件;其中,所述第一源文件为所述目标应用程序所缺失的源文件;第一发送模块,用于向所述目标应用程序发送所述第一源文件,以使所 述目标应用程序加载所述第一源文件。
- 根据权利要求6所述的装置,其中,所述第一获取模块包括:接收子模块,用于接收所述目标应用程序发送的携带有所述目标应用程序的用户代理UA的请求信息;其中,所述请求信息用于请求所述第一源文件;解析子模块,用于响应于所述请求信息,对所述UA进行解析得到所述目标应用程序的属性信息;生成子模块,用于根据所述属性信息生成所述标识。
- 根据权利要求6所述的装置,其中,所述第二获取模块包括:查找子模块,用于根据预设映射关系和所述标识查找所述第一源文件;其中,所述预设映射关系用于指示目标应用程序的标识与源文件之间的映射关系。
- 根据权利要求7所述的装置,其中,所述属性信息包括以下至少一项:所述目标应用程序的类型信息、所述目标应用程序的版本信息。
- 根据权利要求7所述的装置,其中,所述装置还包括:第二发送模块,用于在对所述UA解析失败的情况下,向所述目标应用程序发送第二源文件,其中,所述第二源文件为所有应用程序通用的源文件。
- 一种电子设备,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,其中,所述程序或指令被所述处理器执行时实现如权利要求1至5中任一项所述的加载源文件的方法的步骤。
- 一种可读存储介质,所述可读存储介质上存储程序或指令,其中,所述程序或指令被处理器执行时实现如权利要求1至5中任一项所述的加载源文件的方法的步骤。
- 一种芯片,包括处理器和通信接口,其中,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如权利要求1-5中任一项所述的加载源文件的方法的步骤。
- 一种计算机程序产品,其中,所述计算机程序产品被存储在非瞬态的存储介质中,所述计算机程序产品被至少一个处理器执行以实现如权利要求1-5中任一项所述的加载源文件的方法的步骤。
- 一种电子设备,其中,所述电子设备被配置为执行如权利要求1-5中任一项所述加载源文件的方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011558971.X | 2020-12-25 | ||
CN202011558971.XA CN112698879A (zh) | 2020-12-25 | 2020-12-25 | 加载源文件的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022135410A1 true WO2022135410A1 (zh) | 2022-06-30 |
Family
ID=75510295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/140150 WO2022135410A1 (zh) | 2020-12-25 | 2021-12-21 | 加载源文件的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112698879A (zh) |
WO (1) | WO2022135410A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698879A (zh) * | 2020-12-25 | 2021-04-23 | 维沃移动通信有限公司 | 加载源文件的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084345A1 (en) * | 2010-10-05 | 2012-04-05 | Microsoft Corporation | Website compatibility shims |
CN109325195A (zh) * | 2018-07-23 | 2019-02-12 | 招银云创(深圳)信息技术有限公司 | 浏览器的渲染方法和系统、计算机设备、计算机存储介质 |
CN110851194A (zh) * | 2018-08-01 | 2020-02-28 | 北京京东尚科信息技术有限公司 | 一种用于获取实现新接口的代码的方法和装置 |
CN111800461A (zh) * | 2020-05-27 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 浏览器的脚本下载方法、装置、设备及存储介质 |
CN111984892A (zh) * | 2020-08-27 | 2020-11-24 | 网易(杭州)网络有限公司 | 页面访问方法、装置、设备及存储介质 |
CN112214703A (zh) * | 2019-07-10 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 网页加载方法、装置、计算机可读存储介质和计算机设备 |
CN112698879A (zh) * | 2020-12-25 | 2021-04-23 | 维沃移动通信有限公司 | 加载源文件的方法及装置 |
-
2020
- 2020-12-25 CN CN202011558971.XA patent/CN112698879A/zh active Pending
-
2021
- 2021-12-21 WO PCT/CN2021/140150 patent/WO2022135410A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084345A1 (en) * | 2010-10-05 | 2012-04-05 | Microsoft Corporation | Website compatibility shims |
CN109325195A (zh) * | 2018-07-23 | 2019-02-12 | 招银云创(深圳)信息技术有限公司 | 浏览器的渲染方法和系统、计算机设备、计算机存储介质 |
CN110851194A (zh) * | 2018-08-01 | 2020-02-28 | 北京京东尚科信息技术有限公司 | 一种用于获取实现新接口的代码的方法和装置 |
CN112214703A (zh) * | 2019-07-10 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 网页加载方法、装置、计算机可读存储介质和计算机设备 |
CN111800461A (zh) * | 2020-05-27 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 浏览器的脚本下载方法、装置、设备及存储介质 |
CN111984892A (zh) * | 2020-08-27 | 2020-11-24 | 网易(杭州)网络有限公司 | 页面访问方法、装置、设备及存储介质 |
CN112698879A (zh) * | 2020-12-25 | 2021-04-23 | 维沃移动通信有限公司 | 加载源文件的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112698879A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10412176B2 (en) | Website access method, apparatus, and website system | |
CN109976667B (zh) | 一种镜像管理方法、装置及系统 | |
CN106936793B (zh) | 一种信息拦截处理方法及终端 | |
US8527862B2 (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
US9646041B2 (en) | Testing of inactive design-time artifacts | |
WO2019228059A1 (zh) | 一种数据处理的方法、多云管理系统以及相关设备 | |
WO2018233140A1 (zh) | 域名解析装置、方法及计算机可读存储介质 | |
CN105930528A (zh) | 一种网页缓存的方法及服务器 | |
US11882154B2 (en) | Template representation of security resources | |
WO2022135410A1 (zh) | 加载源文件的方法及装置 | |
CN111159616B (zh) | 基于多语言的交换机管理方法、装置及存储介质 | |
US20140067903A1 (en) | Media query engine system and method | |
US20140052772A1 (en) | Http performance enhancement based on delta transfer | |
US20220382599A1 (en) | Method and apparatus for processing resource, electronic device and storage medium | |
CN109710604A (zh) | 数据处理方法、装置、系统、计算机可读存储介质 | |
WO2016150017A1 (zh) | 页面展现方法、装置、系统、设备及非易失性计算机存储介质 | |
US20210224470A1 (en) | Method and device for processing static page data | |
CN114020309B (zh) | 通过webpack构建多页面应用的方法、装置及存储介质 | |
CN112860268B (zh) | 模板热部署的方法和装置 | |
US20230244740A1 (en) | System and method for delivering application metadata | |
CN116932023A (zh) | 一种代码处理的方法以及相关装置 | |
CN116560777A (zh) | 一种页面展示方法及装置 | |
CN115658997A (zh) | 网页数据采集方法、装置、终端及存储介质 | |
CN115827138A (zh) | 一种多语言配置方法、装置、计算机设备及存储介质 | |
CN113343139A (zh) | 信息显示方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21909406 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21909406 Country of ref document: EP Kind code of ref document: A1 |