CN105653933A - 插件加载方法及装置 - Google Patents

插件加载方法及装置 Download PDF

Info

Publication number
CN105653933A
CN105653933A CN201610007291.6A CN201610007291A CN105653933A CN 105653933 A CN105653933 A CN 105653933A CN 201610007291 A CN201610007291 A CN 201610007291A CN 105653933 A CN105653933 A CN 105653933A
Authority
CN
China
Prior art keywords
unit
plug
client application
data
server
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.)
Granted
Application number
CN201610007291.6A
Other languages
English (en)
Other versions
CN105653933B (zh
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201610007291.6A priority Critical patent/CN105653933B/zh
Publication of CN105653933A publication Critical patent/CN105653933A/zh
Application granted granted Critical
Publication of CN105653933B publication Critical patent/CN105653933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了插件加载方法和装置。所述方法的一具体实施方式包括:客户端应用启动插件;所述插件加载静态资源文件;所述客户端应用向所述插件发送敏感数据;所述插件通过所述客户端应用向服务器请求动态数据;所述插件接收所述服务器通过所述客户端应用发送的所述动态数据;所述插件根据所述静态资源文件、所述敏感数据和所述动态数据生成页面。该实施方式解决了传统插件加载方法中数据传输安全性的问题。

Description

插件加载方法及装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及插件加载方法及装置。
背景技术
插件,又称为“外挂”,是一种遵循一定的规范的应用程序接口而编写出来的程序。插件是今年来十分常见的一种技术,插件的本质是在不修改程序主体的情况下对软件功能进行加强。许多客户端应用平台的程序主体建立了多个自定义的接口,使插件能够访问程序中的各种资源。这种插件的优势在于自由度极大,可以发挥插件开发者的创意。
现有的插件加载方法一般是通过不断的通过网络向服务器下载资源和数据,当终端设备处于弱网络环境中时,插件的加载就会出现问题,另外这种插件加载方法还存在数据安全性的问题。
发明内容
本申请的目的在于提出一种改进的插件加载方法和加载插件的装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种插件加载方法,所述方法包括:
客户端应用启动插件;所述插件加载静态资源文件;所述客户端应用向所述插件发送敏感数据;所述插件通过所述客户端应用向服务器请求动态数据;所述插件接收所述服务器通过所述客户端应用发送的所述动态数据;所述插件基于所述静态资源文件、所述敏感数据和所述动态数据生成页面。
在一些实施例中,所述插件通过所述客户端应用向所述服务器请求动态数据包括:所述插件向所述客户端应用发送数据请求信息,所述数据请求信息包括操作地址和验证信息,其中,所述验证信息用于服务器对所述插件的校验;
所述客户端应用向所述服务器发送基于所述数据请求信息生成的数据访问包,所述数据访问包符合所述客户端应用与所述服务器之间的通信协议。
在一些实施例中,所述数据访问包包括所述数据请求信息、协议签名,其中,所述协议签名用于所述服务器对所述客户端应用的校验,所述协议签名包括客户端应用标识、令牌、时间戳和版本信息。
在一些实施例中,所述插件接收所述服务器通过所述客户端应用发送的所述动态数据包括:所述服务器接收所述数据访问包并校验所述协议签名;所述服务器校验所述验证信息;所述服务器解析所述操作地址并获取所述操作地址所请求的动态数据;所述服务器向所述客户端应用发送所述操作地址所请求的动态数据;所述客户端应用向所述插件发送所述动态数据;所述插件接收所述动态数据。
在一些实施例中,所述插件和所述客户端应用之间通过加密封装组件传输数据。
在一些实施例中,所述方法还包括:将所述动态数据存储到客户端应用所在的本地形成本地数据集合。
在一些实施例中,所述插件加载静态资源文件包括:所述静态资源文件包括超文本标记语言文件、层叠样式表文件、脚本文件和图片文件,以及
所述服务端将所述静态资源文件发送到数据缓存层;所述客户端应用从所述数据缓存层下载所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件,并将所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件存储到所述客户端应用所在的本地;所述插件从本地加载超文本标记语言文件、层叠样式表文件、脚本文件;所述插件从所述数据缓存层加载图片文件。
在一些实施例中,所述客户端应用从所述数据缓存层下载所述插件的所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件包括:所述客户端应用获取插件版本信息并将所述插件版本信息发送给服务器;所述服务器根据所述插件版本信息判断所述静态资源文件是否需要更新;若所述静态资源文件需要更新,则所述客户端应用从所述数据缓存层下载所述插件的超文本标记语言文件、层叠样式表文件、脚本文件。
在一些实施例中,所述客户端应用向所述插件发送敏感数据包括:所述客户端应用获取敏感数据;对所述敏感数据进行加密;所述客户端应用向所述插件发送加密后的敏感数据。
在一些实施例中,所述客户端应用启动插件包括:所述客户端应用获取插件调用请求;所述客户端应用调用与所述插件调用请求对应的插件;所述客户端应用启动所述插件。
第二方面,本申请提供了一种插件加载装置,所述装置包括:
插件启动模块,用于客户端应用启动插件;静态资源文件加载模块,用于所述插件加载静态资源文件;敏感数据发送模块,用于所述客户端应用向所述插件发送敏感数据;动态数据请求模块,用于所述插件通过所述客户端应用向服务器请求动态数据;动态数据接收模块,用于所述插件接收所述服务器通过所述客户端应用发送的所述动态数据;页面生成模块,用于所述插件基于所述静态资源文件、所述敏感数据和所述动态数据生成页面。
在一些实施例中,所述动态数据请求模块包括:数据请求信息发送子模块,用于所述插件向所述客户端应用发送数据请求信息,所述数据请求信息包括操作地址和验证信息,其中,所述验证信息用于服务器对所述插件的校验;数据访问包发送子模块,用于所述客户端应用向所述服务器发送基于所述数据请求信息生成的数据访问包,所述数据访问包符合所述客户端应用与所述服务器之间的通信协议。
在一些实施例中,所述数据访问包包括所述数据请求信息、协议签名,其中,所述协议签名用于所述服务器对所述客户端应用的校验,所述协议签名包括客户端应用标识、令牌、时间戳和版本信息。
在一些实施例中,所述动态数据接收模块包括:协议签名校验子模块,用于所述服务器接收所述数据访问包并校验所述协议签名;验证信息校验子模块,用于所述服务器校验所述验证信息;获取子模块,用于所述服务器解析所述操作地址并获取所述操作地址所请求的动态数据;动态数据发送子模块,用于所述服务器向所述客户端应用发送所述操作地址所请求的动态数据;客户端应用动态数据发送子模块,用于所述客户端应用向所述插件发送所述动态数据;动态数据接收子模块,用于所述插件接收所述动态数据。
在一些实施例中,所述装置还包括:加密封装模块,用于所述插件和所述客户端应用之间通过加密封装组件传输数据。
在一些实施例中,所述装置还包括:动态数据本地存储模块,用于将所述动态数据存储到客户端应用所在的本地形成本地数据集合。
在一些实施例中,所述静态资源文件加载模块包括:所述静态资源文件包括超文本标记语言文件、层叠样式表文件、脚本文件和图片文件,以及
静态资源文件发送子模块,用于所述服务端将所述静态资源文件发送到数据缓存层;静态资源文件下载存储子模块,用于所述客户端应用从所述数据缓存层下载所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件,并将所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件存储到所述客户端应用所在的本地;本地加载子模块,用于所述插件从本地加载超文本标记语言文件、层叠样式表文件、脚本文件;图片加载子模块,用于所述插件从所述数据缓存层加载图片文件。
在一些实施例中,所述静态资源文件下载存储子模块包括:版本发送单元,用于所述客户端应用获取插件版本信息并将所述插件版本信息发送给服务器;版本判断单元,用于所述服务器根据所述插件版本信息判断所述静态资源文件是否需要更新;版本更新单元,用于若所述静态资源文件需要更新,则所述客户端应用从所述数据缓存层下载所述插件的超文本标记语言文件、层叠样式表文件、脚本文件。
在一些实施例中,所述敏感数据发送模块包括:敏感数据获取子模块,用于所述客户端应用获取敏感数据;敏感数据加密子模块,用于对所述敏感数据进行加密;敏感数据发送子模块,用于所述客户端应用向所述插件发送加密后的敏感数据。
在一些实施例中,所述插件启动模块包括:调用请求获取子模块,用于所述客户端应用获取插件调用请求;插件调用子模块,用于所述客户端应用调用与所述插件调用请求对应的插件;插件启动子模块,用于所述客户端应用启动所述插件。
本申请提供的插件加载方法和装置,首先通过客户端应用启动插件,插件加载静态资源文件,客户端应用向所述插件发送敏感数据,然后插件通过所述客户端应用向服务器请求动态数据,所述插件接收所述服务器通过所述客户端应用发送的所述动态数据,所述插件根据所述静态资源文件、所述敏感数据和所述动态数据生成页面,该方法解决了传统插件加载方法中数据传输安全性的问题。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的插件加载方法的一个实施例的流程图;
图3是根据本申请的插件加载方法的又一个实施例的流程图;
图4是根据本申请的加载插件的装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的插件加载方法或装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送数据等。终端设备101、102、103上可以安装有各种客户端应用,例如浏览器类应用、网购类应用、小说类应用、音乐类应用、邮箱客户端应用、社交装置软件等,用户可以对终端设备上的各种应用进行输入、点击、浏览等操作。
终端设备101、102、103可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上的浏览器类应用、网购类应用等提供支持的后台网站服务器。后台网站服务器可以对接收到上述浏览器类应用、网购类应用等的请求数据进行分析等处理,并将处理结果反馈给终端设备。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的插件加载方法的一个实施例的流程200。上述的插件加载方法,包括以下步骤:
步骤201,客户端应用启动插件。
在本实施例中,客户端应用是指安装在终端设备上为用户提供本地服务的应用程序。插件是指执行特定功能的程序,例如生成订单页面的插件、生成商品展示页面的插件。通常情况下,需要将插件加载到客户端应用上,通过插件发挥自身功能,从而使得客户端实现特定的功能。这里,客户端应用启动插件是指当客户端应用需要特定功能的时候,客户端应用调用相应功能的插件。
在本实施例的一些可选的实现方式中,客户端应用启动插件包括:客户端应用获取插件调用请求;客户端应用打开与上述插件调用请求对应的插件;客户端应用启动上述插件。
步骤202,插件加载静态资源文件。
在本实施例中,插件从服务器或者本地加载静态资源文件。静态资源文件通常是指在程序运行时不随情况而变化的文件,通常由服务器和插件协议约定静态资源文件的内容。
在本实施例的一些可选的实现方式中,静态资源文件包括以下至少一项:超文本标记语言文件、层叠样式表文件、脚本文件、图片文件,其中,脚本文件可以是JavaScript。
在本实施例一些可选的实现方式中,可以选择插件从服务器直接加载静态资源文件;也可以选择服务器将插件的静态资源文件打包,客户端应用将已经打包的静态资源文件从服务器下载,并存储在客户端应用所在的本地,插件从本地加载上述静态资源文件。
步骤203,客户端应用向插件发送敏感数据。
在本实施例中,敏感数据是指客户端应用获取的、插件执行功能所需要的数据,例如敏感数据可以是用户在客户端应用输入的账号信息、用户在客户端应用的操作。
在本实施例的一些可选的实现方式中,上述客户端应用向上述插件发送敏感数据包括:上述客户端应用获取敏感数据;对上述敏感数据进行加密;上述客户端应用向上述插件发送加密后的敏感数据。
步骤204,插件通过客户端应用向服务器请求动态数据。
在本实施例中,动态数据是指随时间而变化的、需要在运行时更改的数据,例如更改订单中商品时随之改变的订单金额数据,通常情况下,由服务器和插件协议约定动态数据的内容。
在本实施例的一些可选的实现方式中,上述插件通过上述客户端应用向上述服务器请求动态数据包括:上述插件向上述客户端应用发送数据请求信息,上述数据请求信息包括操作地址和验证信息,其中,上述验证信息用于服务器对上述插件的校验,验证信息包括但不限于以下至少一项:插件标识、用户的IP地址、终端设备号;上述客户端应用向上述服务器发送基于上述数据请求信息生成的数据访问包,上述数据访问包符合上述客户端应用与上述服务器之间的通信协议。
在本实施例的一些可选的实现方式中,上述数据访问包包括上述数据请求信息、协议签名,其中,上述协议签名用于上述服务器对上述客户端应用的校验,上述协议签名包括但不限于以下至少一项:客户端应用标识、令牌、时间戳和版本信息。
步骤205,插件接收服务器通过客户端应用发送的动态数据。
在本实施例中,服务器解析插件的数据请求信息,服务器获取插件请求的动态数据,服务器向客户端应用发送上述动态数据,客户端应用向插件发送上述动态数据。
在本实施例的一些可选的实现方式中,上述插件接收上述服务器通过上述客户端应用发送的上述动态数据包括:上述服务器接收上述数据访问包并校验上述协议签名;上述服务器校验上述验证信息;上述服务器解析上述操作地址并获取上述操作地址所请求的动态数据;上述服务器向上述客户端应用发送上述操作地址所请求的动态数据;上述客户端应用向上述插件发送上述动态数据;上述插件接收上述动态数据。
步骤206,插件基于静态资源文件、敏感数据和动态数据生成页面。
在本实施例中,插件利用上述静态资源文件、上述敏感数据和上述动态数据渲染页面。
本申请的上述实施例提供的方法通过客户端应用启动插件;上述插件加载静态资源文件;上述客户端应用向上述插件发送敏感数据;上述插件通过上述客户端应用向服务器请求动态数据;上述插件接收上述服务器通过上述客户端应用发送的上述动态数据;上述插件根据上述静态资源文件、上述敏感数据和上述动态数据生成页面,该方法解决了传统插件加载方法中数据传输安全性的问题。
进一步参考图3,其示出了插件加载方法的又一个实施例的流程300。该插件加载方法的流程300,包括以下步骤:
步骤301,客户端应用启动插件。
在本实施例中,客户端应用是指安装在终端设备上为用户提供本地服务的应用程序。插件是指执行特定功能的程序,例如生成订单页面的插件、生成商品展示页面的插件。通常情况下,需要将插件加载到客户端应用上,通过插件发挥自身功能,从而使得客户端实现特定的功能。这里,客户端应用启动插件是指当客户端应用需要特定功能的时候,客户端应用调用相应功能的插件。
在本实施例的一些可选的实现方式中,客户端应用启动插件包括:客户端应用获取插件调用请求;客户端应用打开与上述插件调用请求对应的插件;客户端应用启动上述插件。
在本实施例一些可选的实现方式中,插件是指利用H5技术实现的插件,其中,H5是指第5代超文本标记语言(HTML,HyperTextMarkupLanguage)。
步骤302,插件加载静态资源文件。
在本实施例中,上述静态资源文件包括超文本标记语言文件、层叠样式表文件、脚本文件和图片文件。
在本实施例一些可选的实现方式中,上述服务端将上述静态资源文件发送到数据缓存层;上述客户端应用从上述数据缓存层下载上述超文本标记语言文件、上述层叠样式表文件、上述脚本文件,并将上述超文本标记语言文件、上述层叠样式表文件、上述脚本文件存储到上述客户端应用所在的本地;上述插件从本地加载超文本标记语言文件、层叠样式表文件、脚本文件;上述插件从上述数据缓存层加载图片文件。此种静态资源文件更新策略将占用传输流量和内存较大的图片与其他静态资源文件分别传输,及时更新静态资源文件的同时可以有效提高静态资源文件总的传输速度。
在本实施例的一些可选的实现方式中,上述客户端应用从上述数据缓存层下载上述插件的上述超文本标记语言文件、上述层叠样式表文件、上述脚本文件包括:上述客户端应用获取插件版本信息并将上述插件版本信息发送给服务器;上述服务器根据上述插件版本信息判断上述静态资源文件是否需要更新;若上述静态资源文件需要更新,则上述客户端应用从上述数据缓存层下载上述插件的超文本标记语言文件、层叠样式表文件、脚本文件。
步骤303,客户端应用向插件发送敏感数据。
在本实施例中,敏感数据是指客户端应用获取的、插件执行功能所需要的数据,例如用户在客户端应用输入的账号信息。
在本实施例的一些可选的实现方式中,客户端应用向上述插件发送敏感数据包括:上述客户端应用获取敏感数据;对上述敏感数据进行加密;上述客户端应用向上述插件发送加密后的敏感数据。
步骤304,插件通过客户端应用向服务器请求动态数据。
在本实施例中,动态数据是指随时间而变化的、需要在运行时更改的数据,例如更改订单中商品时随之改变的订单金额数据,通常情况下,由服务器和插件协议约定动态数据的内容。
在本实施例的一些可选的实现方式中,上述插件通过上述客户端应用向上述服务器请求动态数据包括:上述插件向上述客户端应用发送数据请求信息,上述数据请求信息包括操作地址和验证信息,其中,上述验证信息用于服务器对上述插件的校验;上述客户端应用向上述服务器发送基于上述数据请求信息生成的数据访问包,上述数据访问包符合上述客户端应用与上述服务器之间的通信协议。
在本实施例的一些可选的实现方式中,上述数据访问包包括上述数据请求信息、协议签名,其中,上述协议签名用于上述服务器对上述客户端应用的校验,上述协议签名包括客户端应用标识、令牌、时间戳和版本信息。
步骤305,插件接收服务器通过客户端应用发送的动态数据。
在本实施例中,服务器解析插件的请求信息,服务器获取插件请求的动态数据,服务器向客户端应用发送上述动态数据,客户端应用向插件发送上述动态数据。
在本实施例的一些可选的实现方式中,上述插件接收上述服务器通过上述客户端应用发送的上述动态数据包括:上述服务器接收上述数据访问包并校验上述协议签名;上述服务器校验上述验证信息;上述服务器解析上述操作地址并获取上述操作地址所请求的动态数据;上述服务器向上述客户端应用发送上述操作地址所请求的动态数据;上述客户端应用向上述插件发送上述动态数据;上述插件接收上述动态数据。
在本实施例的一些可选的实现方式中,上述插件和上述客户端应用之间通过加密封装组件传输数据。上述加密封装组件可以是基于软件开发工具包开发的、用于为客户端应用与插件之间的数据传输加密并封装的组件。
步骤306,将动态数据存储到客户端应用所在的本地形成本地数据集合。
在本实施例中,客户端应用将上述动态数据实时存储到客户端应用所在的本地,形成本地数据集合;当终端设备处于无网环境中时,插件从本地数据集合中加载历史动态数据。
步骤307,插件基于静态资源文件、敏感数据和动态数据生成页面。
在本实施例中,插件利用上述静态资源文件、上述敏感数据和上述动态数据渲染页面。
从图3中可以看出,与图2对应的实施例相比,本实施例中的插件加载方法的流程300突出了静态资源文件加载方式的步骤302和将上述动态数据存储到客户端应用所在的本地形成本地数据集合的步骤306。
本申请的上述实施例提供的实现方式将静态资源文件从数据缓存层打包下载,减少了静态资源文件加载过程中的网络请求次数;将上述动态数据存储到客户端应用所在的本地。由此,本实现方式可以提高弱网或无网环境下插件加载的速度。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种插件加载装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例上述的插件加载装置400包括:插件启动模块401、静态资源文件加载模块402,敏感数据发送模块403、动态数据请求模块404、动态数据接收模块405、页面生成模块406。其中,插件启动模块401用于客户端应用启动插件;静态资源文件加载模块402用于上述插件加载静态资源文件;敏感数据发送模块403用于上述客户端应用向上述插件发送敏感数据;动态数据请求模块404用于上述插件通过上述客户端应用向服务器请求动态数据;动态数据接收模块405用于上述插件接收上述服务器通过上述客户端应用发送的上述动态数据;页面生成模块406用于上述插件根据上述静态资源文件、上述敏感数据和上述动态数据生成页面。
在本实施例中,插件启动模块401客户端应用启动插件后;静态资源文件加载模块402加载静态资源文件;敏感数据发送模块403向上述插件发送敏感数据;动态数据请求模块404通过上述客户端应用向服务器请求动态数据;动态数据接收模块405接收上述服务器通过上述客户端应用发送的上述动态数据;页面生成模块406根据上述静态资源文件、上述敏感数据和上述动态数据生成页面。
本领域技术人员可以理解,上述插件加载装置400还包括一些其他公知结构,例如处理器、存储器等,为了不必要地模糊本公开的实施例,这些公知的结构在图4中未示出。
下面参考图5,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统500的结构示意图。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有系统500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括插件启动单元、静态资源文件加载单元,敏感数据发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,插件启动单元还可以被描述为“启动插件的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:客户端应用启动插件;所述插件加载静态资源文件;所述客户端应用向所述插件发送敏感数据;所述插件通过所述客户端应用向服务器请求动态数据;所述插件接收所述服务器通过所述客户端应用发送的所述动态数据;所述插件根据所述静态资源文件、所述敏感数据和所述动态数据生成页面。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (20)

1.一种插件加载方法,其特征在于,所述方法包括:
客户端应用启动插件;
所述插件加载静态资源文件;
所述客户端应用向所述插件发送敏感数据;
所述插件通过所述客户端应用向服务器请求动态数据;
所述插件接收所述服务器通过所述客户端应用发送的所述动态数据;
所述插件基于所述静态资源文件、所述敏感数据和所述动态数据生成页面。
2.根据权利要求1所述的方法,其特征在于,所述插件通过所述客户端应用向所述服务器请求动态数据包括:
所述插件向所述客户端应用发送数据请求信息,所述数据请求信息包括操作地址和验证信息,其中,所述验证信息用于服务器对所述插件的校验;
所述客户端应用向所述服务器发送基于所述数据请求信息生成的数据访问包,所述数据访问包符合所述客户端应用与所述服务器之间的通信协议。
3.根据权利要求2所述的方法,其特征在于,所述数据访问包包括所述数据请求信息、协议签名,其中,所述协议签名用于所述服务器对所述客户端应用的校验,所述协议签名包括客户端应用标识、令牌、时间戳和版本信息。
4.根据权利要求3所述的方法,其特征在于,所述插件接收所述服务器通过所述客户端应用发送的所述动态数据包括:
所述服务器接收所述数据访问包并校验所述协议签名;
所述服务器校验所述验证信息;
所述服务器解析所述操作地址并获取所述操作地址所请求的动态数据;
所述服务器向所述客户端应用发送所述操作地址所请求的动态数据;
所述客户端应用向所述插件发送所述动态数据;
所述插件接收所述动态数据。
5.根据权利要求4所述的方法,其特征在于,所述插件和所述客户端应用之间通过加密封装组件传输数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述动态数据存储到客户端应用所在的本地形成本地数据集合。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述插件加载静态资源文件包括:
所述静态资源文件包括超文本标记语言文件、层叠样式表文件、脚本文件和图片文件,以及
所述服务端将所述静态资源文件发送到数据缓存层;
所述客户端应用从所述数据缓存层下载所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件,并将所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件存储到所述客户端应用所在的本地;
所述插件从本地加载超文本标记语言文件、层叠样式表文件、脚本文件;
所述插件从所述数据缓存层加载图片文件。
8.根据权利要求7所述的方法,其特征在于,所述客户端应用从所述数据缓存层下载所述插件的所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件包括:
所述客户端应用获取插件版本信息并将所述插件版本信息发送给服务器;
所述服务器根据所述插件版本信息判断所述静态资源文件是否需要更新;
若所述静态资源文件需要更新,则所述客户端应用从所述数据缓存层下载所述插件的超文本标记语言文件、层叠样式表文件、脚本文件。
9.根据权利要求8所述的方法,其特征在于,所述客户端应用向所述插件发送敏感数据包括:
所述客户端应用获取敏感数据;
对所述敏感数据进行加密;
所述客户端应用向所述插件发送加密后的敏感数据。
10.根据权利要求9所述的方法,其特征在于,所述客户端应用启动插件包括:
所述客户端应用获取插件调用请求;
所述客户端应用调用与所述插件调用请求对应的插件;
所述客户端应用启动所述插件。
11.一种加载插件的装置,其特征在于,所述装置包括:
插件启动模块,用于客户端应用启动插件;
静态资源文件加载模块,用于所述插件加载静态资源文件;
敏感数据发送模块,用于所述客户端应用向所述插件发送敏感数据;
动态数据请求模块,用于所述插件通过所述客户端应用向服务器请求动态数据;
动态数据接收模块,用于所述插件接收所述服务器通过所述客户端应用发送的所述动态数据;
页面生成模块,用于所述插件基于所述静态资源文件、所述敏感数据和所述动态数据生成页面。
12.根据权利要求11所述的装置,其特征在于,所述动态数据请求模块包括:
数据请求信息发送子模块,用于所述插件向所述客户端应用发送数据请求信息,所述数据请求信息包括操作地址和验证信息,其中,所述验证信息用于服务器对所述插件的校验;
数据访问包发送子模块,用于所述客户端应用向所述服务器发送基于所述数据请求信息生成的数据访问包,所述数据访问包符合所述客户端应用与所述服务器之间的通信协议。
13.根据权利要求12所述的装置,其特征在于,所述数据访问包包括所述数据请求信息、协议签名,其中,所述协议签名用于所述服务器对所述客户端应用的校验,所述协议签名包括客户端应用标识、令牌、时间戳和版本信息。
14.根据权利要求13所述的装置,其特征在于,所述动态数据接收模块包括:
协议签名校验子模块,用于所述服务器接收所述数据访问包并校验所述协议签名;
验证信息校验子模块,用于所述服务器校验所述验证信息;
获取子模块,用于所述服务器解析所述操作地址并获取所述操作地址所请求的动态数据;
动态数据发送子模块,用于所述服务器向所述客户端应用发送所述操作地址所请求的动态数据;
客户端应用动态数据发送子模块,用于所述客户端应用向所述插件发送所述动态数据;
动态数据接收子模块,用于所述插件接收所述动态数据。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
加密封装模块,用于所述插件和所述客户端应用之间通过加密封装组件传输数据。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
动态数据本地存储模块,用于将所述动态数据存储到客户端应用所在的本地形成本地数据集合。
17.根据权利要求11~16任一项所述的装置,其特征在于,所述静态资源文件加载模块包括:
所述静态资源文件包括超文本标记语言文件、层叠样式表文件、脚本文件和图片文件,以及
静态资源文件发送子模块,用于所述服务端将所述静态资源文件发送到数据缓存层;
静态资源文件下载存储子模块,用于所述客户端应用从所述数据缓存层下载所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件,并将所述超文本标记语言文件、所述层叠样式表文件、所述脚本文件存储到所述客户端应用所在的本地;
本地加载子模块,用于所述插件从本地加载超文本标记语言文件、层叠样式表文件、脚本文件;
图片加载子模块,用于所述插件从所述数据缓存层加载图片文件。
18.根据权利要求17所述的装置,其特征在于,所述静态资源文件下载存储子模块包括:
版本发送单元,用于所述客户端应用获取插件版本信息并将所述插件版本信息发送给服务器;
版本判断单元,用于所述服务器根据所述插件版本信息判断所述静态资源文件是否需要更新;
版本更新单元,用于若所述静态资源文件需要更新,则所述客户端应用从所述数据缓存层下载所述插件的超文本标记语言文件、层叠样式表文件、脚本文件。
19.根据权利要求18所述的装置,其特征在于,所述敏感数据发送模块包括:
敏感数据获取子模块,用于所述客户端应用获取敏感数据;
敏感数据加密子模块,用于对所述敏感数据进行加密;
敏感数据发送子模块,用于所述客户端应用向所述插件发送加密后的敏感数据。
20.根据权利要求19所述的装置,其特征在于,所述插件启动模块包括:
调用请求获取子模块,用于所述客户端应用获取插件调用请求;
插件调用子模块,用于所述客户端应用调用与所述插件调用请求对应的插件;
插件启动子模块,用于所述客户端应用启动所述插件。
CN201610007291.6A 2016-01-06 2016-01-06 插件加载方法及装置 Active CN105653933B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610007291.6A CN105653933B (zh) 2016-01-06 2016-01-06 插件加载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610007291.6A CN105653933B (zh) 2016-01-06 2016-01-06 插件加载方法及装置

Publications (2)

Publication Number Publication Date
CN105653933A true CN105653933A (zh) 2016-06-08
CN105653933B CN105653933B (zh) 2019-04-30

Family

ID=56491671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610007291.6A Active CN105653933B (zh) 2016-01-06 2016-01-06 插件加载方法及装置

Country Status (1)

Country Link
CN (1) CN105653933B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156291A (zh) * 2016-06-29 2016-11-23 深圳市彬讯科技有限公司 基于Localstroage的静态资源的缓存方法及其系统
CN106453361A (zh) * 2016-10-26 2017-02-22 上海众人网络安全技术有限公司 一种网络信息的安全保护方法及系统
CN107729352A (zh) * 2017-08-30 2018-02-23 上海壹账通金融科技有限公司 页面资源加载方法及终端设备
CN108123970A (zh) * 2016-11-28 2018-06-05 北京神州泰岳软件股份有限公司 数据展示方法及相关装置
CN108964975A (zh) * 2018-05-30 2018-12-07 北京五八信息技术有限公司 跨域访问处理方法和装置
CN109165369A (zh) * 2018-07-12 2019-01-08 北京猫眼文化传媒有限公司 网页显示方法和装置
CN109284464A (zh) * 2018-08-29 2019-01-29 网宿科技股份有限公司 页面加载方法及终端、页面响应方法及服务器
CN109933737A (zh) * 2019-03-22 2019-06-25 中国工商银行股份有限公司 网页页面处理方法、装置及系统
CN112464129A (zh) * 2020-11-09 2021-03-09 广东华兴银行股份有限公司 一种加载h5页面请求的安全通讯方法、设备及介质
CN113378095A (zh) * 2021-06-30 2021-09-10 北京字节跳动网络技术有限公司 签名算法的动态加载方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532912A (zh) * 2012-07-04 2014-01-22 中国电信股份有限公司 浏览器业务数据的处理方法和装置
CN103530764A (zh) * 2013-10-08 2014-01-22 百度在线网络技术(北京)有限公司 电子交易方法、系统及客户端
CN103577207A (zh) * 2012-08-01 2014-02-12 阿里巴巴集团控股有限公司 一种自定义界面系统中界面组件的加载方法和装置
CN104331462A (zh) * 2014-10-31 2015-02-04 北京奇虎科技有限公司 加载网站信息的方法和浏览器客户端
CN104461264A (zh) * 2014-12-11 2015-03-25 北京奇虎科技有限公司 一种移动终端浏览器中的交互界面生成方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532912A (zh) * 2012-07-04 2014-01-22 中国电信股份有限公司 浏览器业务数据的处理方法和装置
CN103577207A (zh) * 2012-08-01 2014-02-12 阿里巴巴集团控股有限公司 一种自定义界面系统中界面组件的加载方法和装置
CN103530764A (zh) * 2013-10-08 2014-01-22 百度在线网络技术(北京)有限公司 电子交易方法、系统及客户端
CN104331462A (zh) * 2014-10-31 2015-02-04 北京奇虎科技有限公司 加载网站信息的方法和浏览器客户端
CN104461264A (zh) * 2014-12-11 2015-03-25 北京奇虎科技有限公司 一种移动终端浏览器中的交互界面生成方法和装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156291A (zh) * 2016-06-29 2016-11-23 深圳市彬讯科技有限公司 基于Localstroage的静态资源的缓存方法及其系统
CN106453361B (zh) * 2016-10-26 2019-05-03 上海众人网络安全技术有限公司 一种网络信息的安全保护方法及系统
CN106453361A (zh) * 2016-10-26 2017-02-22 上海众人网络安全技术有限公司 一种网络信息的安全保护方法及系统
CN108123970A (zh) * 2016-11-28 2018-06-05 北京神州泰岳软件股份有限公司 数据展示方法及相关装置
CN107729352B (zh) * 2017-08-30 2020-07-31 深圳壹账通智能科技有限公司 页面资源加载方法及终端设备
CN107729352A (zh) * 2017-08-30 2018-02-23 上海壹账通金融科技有限公司 页面资源加载方法及终端设备
CN108964975A (zh) * 2018-05-30 2018-12-07 北京五八信息技术有限公司 跨域访问处理方法和装置
CN108964975B (zh) * 2018-05-30 2021-07-20 北京五八信息技术有限公司 跨域访问处理方法和装置
CN109165369A (zh) * 2018-07-12 2019-01-08 北京猫眼文化传媒有限公司 网页显示方法和装置
CN109284464A (zh) * 2018-08-29 2019-01-29 网宿科技股份有限公司 页面加载方法及终端、页面响应方法及服务器
CN109933737A (zh) * 2019-03-22 2019-06-25 中国工商银行股份有限公司 网页页面处理方法、装置及系统
CN112464129A (zh) * 2020-11-09 2021-03-09 广东华兴银行股份有限公司 一种加载h5页面请求的安全通讯方法、设备及介质
CN113378095A (zh) * 2021-06-30 2021-09-10 北京字节跳动网络技术有限公司 签名算法的动态加载方法、装置、设备及存储介质
CN113378095B (zh) * 2021-06-30 2023-08-04 抖音视界有限公司 签名算法的动态加载方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN105653933B (zh) 2019-04-30

Similar Documents

Publication Publication Date Title
CN105653933A (zh) 插件加载方法及装置
US6996599B1 (en) System and method providing multi-tier applications architecture
CN110825479A (zh) 页面处理方法、装置、终端设备、服务器和存储介质
CN105718313A (zh) 应用操作方法和装置
CN111159614B (zh) 网页资源获取方法以及装置
KR20140078676A (ko) 웹 페이지의 맞춤 최적화 기법
CN105893085A (zh) 内核模块加载方法和装置
CN108491236A (zh) 一种插件加载方法、装置及计算机可读存储介质
CN105378662A (zh) 捆绑包生成
CN106980501A (zh) 一种软件包管理方法、装置和系统
CN112416458A (zh) 基于ReactNative的预加载方法、装置、计算机设备及存储介质
US11875157B2 (en) Systems and methods for in-application dynamic content loading
CN110928571A (zh) 业务程序开发方法和装置
CN113761412A (zh) 应用页面的显示方法、装置、电子设备、介质及应用系统
CN112329049A (zh) 业务数据管理方法、装置、电子设备和介质
CN113127361A (zh) 应用程序的开发方法、装置、电子设备和存储介质
CN111488169A (zh) 应用程序热更新的方法及装置、存储介质及电子设备
JP5186135B2 (ja) 対面アフェリエイトシステム
CN105786476A (zh) 移动客户端与服务器之间的数据处理方法及系统
CN113495498A (zh) 用于硬件设备的模拟方法、模拟器、设备和介质
CN113315829A (zh) 客户端离线化h5页面加载方法、装置、计算机设备及介质
KR20060054295A (ko) 상이한 플랫폼 상에서 폰트 사이즈를 유지하는 방법 및시스템
CN112732547B (zh) 业务测试方法、装置、存储介质及电子设备
CN109145591A (zh) 应用程序的插件加载方法
CN105678565A (zh) 信息处理系统与信息处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant