CN112306566A - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN112306566A
CN112306566A CN201910635764.0A CN201910635764A CN112306566A CN 112306566 A CN112306566 A CN 112306566A CN 201910635764 A CN201910635764 A CN 201910635764A CN 112306566 A CN112306566 A CN 112306566A
Authority
CN
China
Prior art keywords
application
call request
interface
request
calling
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
CN201910635764.0A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910635764.0A priority Critical patent/CN112306566A/zh
Publication of CN112306566A publication Critical patent/CN112306566A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种数据处理方法及装置,包括:在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境;加载所述第二应用至所述运行环境中运行。根据本申请提供的数据处理方法及装置,可以实现第一应用对第二应用的监管,由第一应用实现第二应用的操作,可以保证第一应用与第二应用对应的界面风格统一,保证第一应用自身的数据安全。

Description

数据处理方法及装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法及装置。
背景技术
服务平台为了给用户提供足够丰富的服务,经常需要引入第三方服务,在引入第三方服务时,需要保证服务平台不会受到第三方服务的影响,包括:需要保证服务平台的界面风格统一,需要保证服务平台自身的数据安全等。
相关技术中通常将第三方应用嵌入到当前服务平台中,以将第三方应用引入当前服务平台中,但嵌入的方式服务平台无法对第三方应用进行监管,进而导致其不能保证服务平台的界面风格统一,也无法保证服务平台自身的数据安全。
发明内容
根据本申请的一方面,提供了一种数据处理方法,应用于第一应用,所述方法包括:
在确定具有以第一应用为宿主应用的第二应用时,为所述第二应用创建沙箱;
在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境;
加载所述第二应用至所述运行环境中运行。
在一种可能的实现方式中,所述加载第二应用至所述运行环境中运行,包括:
获取所述第一应用的配置信息,所述第一应用的配置信息中包括第二应用的应用标识信息及下载地址信息;
根据所述第一应用的配置信息加载所述第二应用至所述运行环境中运行。
在一种可能的实现方式中,所述方法还包括:
接收所述运行环境发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述运行环境发送的用于调用所述函数功能接口的请求;
对所述调用请求执行相应处理。
在一种可能的实现方式中,所述在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境,包括:
获取所述第一应用的配置信息,在所述配置信息中存在以第一应用为宿主应用的第二应用时,确定需要加载所述第二应用;
在所述第一应用中为所述第二应用创建运行环境,所述运行环境中任一API接口均被屏蔽处理。
在一种可能的实现方式中,所述对所述调用请求执行相应处理,包括:
根据第一应用的配置信息确定所述调用请求是否合法;
在所述调用请求合法时,响应所述调用请求,执行所述调用请求对应的操作。
在一种可能的实现方式中,所述配置信息中包括第二应用允许访问的至少一个域名,所述调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求包括:待访问的第一域名,
所述对所述调用请求执行相应处理,包括:
确定所述至少一个域名中是否存在所述第一调用请求中携带的所述待访问的第一域名;
在所述至少一个域名中存在所述待访问的第一域名时,执行针对所述第一函数功能接口的调用,实现所述第一调用请求对应的针对所述待访问的第一域名的网络访问操作。
在一种可能的实现方式中,所述配置信息中包括第二应用允许调用的至少一个对象,所述调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求包括:待访问的第一对象及待读写的数据,
所述对所述调用请求执行相应处理,包括:
确定所述至少一个对象中是否存在所述第二调用请求中携带的第一对象;
在所述至少一个对象中存在所述第一对象时,执行针对所述第二函数功能接口的调用,根据所述待读写的数据实现针对所述第一对象的数据读写操作。
在一种可能的实现方式中,所述调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,所述对所述调用请求执行相应处理,包括:
执行针对所述第三函数功能接口的调用,实现根据预置领域特定语言DSL标准及所述第三调用请求中携带的界面描述数据,进行对应的界面渲染操作,以对界面进行更新。
在一种可能的实现方式中,所述加载第二应用至所述运行环境中运行,包括:
在所述第二应用中添加第一命令信息,所述第一命令信息用于指示所述运行环境采用严格模式运行所述第二应用;
将添加了第一命令信息的第二应用加载至所述运行环境中运行。
在一种可能的实现方式中,所述运行环境为沙箱。
根据本申请的另一方面,提供了一种数据处理方法,应用于沙箱,包括:
监测第二应用针对函数功能接口的调用请求;
响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理;
其中,所述第一应用为所述第二应用的宿主应用,所述针对函数功能接口的调用请求为所述第二应用响应于针对函数功能接口的接口调用触发操作向沙箱发送的用于调用所述函数功能接口的请求。
在一种可能的实现方式中,所述第二应用针对所述函数功能接口的调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求中包括待访问的第一域名,
所述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,包括:
向所述第一应用转发所述第一调用请求,以使得第一应用在确定针对所述第一域名的网络访问请求合法时,执行针对所述第一函数功能接口的调用操作,以实现针对所述第一域名的网络访问操作。
在一种可能的实现方式中,所述第二应用针对所述函数功能接口的调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求中包括第一对象及待读写的数据,
所述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,包括:
向所述第二应用转发所述第二调用请求,以使得第一应用确定针对所述第一对象的数据读写请求合法时,执行针对所述第二函数功能接口的调用操作,以根据所述待读写的数据实现针对所述第一对象的数据读写操作。
在一种可能的实现方式中,所述第二应用针对所述函数功能接口的调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,
所述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,包括:
向所述第一应用转发所述第三调用请求,以使得第一应用响应所述第三调用请求,根据预置领域特定语言DSL标准及所述界面描述数据,执行针对所述第二应用的界面渲染操作,以对界面进行更新。
在一种可能的实现方式中,所述第二应用中携带第一命令信息,沙箱响应于所述第一命令信息,采用严格模式运行所述第二应用,其中,所述第一命令信息用于指示沙箱采用严格模式运行所述第二应用。
根据本申请的另一方面,提供了一种数据处理方法,应用于第一应用,所述方法包括:
在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建沙箱;
加载所述第二应用至所述沙箱中运行;
接收所述沙箱发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述沙箱发送的用于调用所述函数功能接口的请求;
对所述调用请求执行相应处理。
根据本申请的另一方面,提供了一种数据处理装置,应用于第一应用,所述装置包括:
创建模块,用于在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境;
加载模块,用于加载所述第二应用至所述运行环境中运行。
在一种可能的实现方式中,所述加载模块还用于:
获取所述第一应用的配置信息,所述第一应用的配置信息中包括第二应用的应用标识信息及下载地址信息;
根据所述第一应用的配置信息加载所述第二应用至所述运行环境中运行。
在一种可能的实现方式中,所述方法还包括:
接收模块,用于接收所述运行环境发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述运行环境发送的用于调用所述函数功能接口的请求;
处理模块,用于对所述调用请求执行相应处理。
在一种可能的实现方式中,所述创建模块还用于:
获取所述第一应用的配置信息,在所述配置信息中存在以第一应用为宿主应用的第二应用时,确定需要加载所述第二应用;
在所述第一应用中为所述第二应用创建运行环境,所述运行环境中任一API接口均被屏蔽处理。
在一种可能的实现方式中,所述处理模块还用于:
根据第一应用的配置信息确定所述调用请求是否合法;
在所述调用请求合法时,响应所述调用请求,执行所述调用请求对应的操作。
在一种可能的实现方式中,所述配置信息中包括第二应用允许访问的至少一个域名,所述调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求包括:待访问的第一域名,
所述处理模块还用于:
确定所述至少一个域名中是否存在所述第一调用请求中携带的所述待访问的第一域名;
在所述至少一个域名中存在所述待访问的第一域名时,执行针对所述第一函数功能接口的调用,实现所述第一调用请求对应的针对所述待访问的第一域名的网络访问操作。
在一种可能的实现方式中,所述配置信息中包括第二应用允许调用的至少一个对象,所述调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求包括:待访问的第一对象及待读写的数据,
所述处理模块还用于:
确定所述至少一个对象中是否存在所述第二调用请求中携带的第一对象;
在所述至少一个对象中存在所述第一对象时,执行针对所述第二函数功能接口的调用,根据所述待读写的数据实现针对所述第一对象的数据读写操作。
在一种可能的实现方式中,所述调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,所述处理模块还用于:
执行针对所述第三函数功能接口的调用,实现根据预置领域特定语言DSL标准及所述第三调用请求中携带的界面描述数据,进行对应的界面渲染操作,以对界面进行更新。
在一种可能的实现方式中,所述加载模块还用于:
在所述第二应用中添加第一命令信息,所述第一命令信息用于指示所述运行环境采用严格模式运行所述第二应用;
将添加了第一命令信息的第二应用加载至所述运行环境中运行。
在一种可能的实现方式中,所述运行环境为沙箱。
根据本申请的另一方面,提供了一种数据处理装置,应用于沙箱,包括:
监测模块,用于监测第二应用针对函数功能接口的调用请求;
发送模块,用于响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理;
其中,所述第一应用为所述第二应用的宿主应用,所述针对函数功能接口的调用请求为所述第二应用响应于针对函数功能接口的接口调用触发操作向沙箱发送的用于调用所述函数功能接口的请求。
在一种可能的实现方式中,第二应用针对所述函数功能接口的调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求中包括待访问的第一域名,所述发送模块还用于:
向所述第一应用转发所述第一调用请求,以使得第一应用在确定针对所述第一域名的网络访问请求合法时,执行针对所述第一函数功能接口的调用操作,以实现针对所述第一域名的网络访问操作。
在一种可能的实现方式中,第二应用针对所述函数功能接口的调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求中包括第一对象及待读写的数据,所述发送模块还用于:
向所述第二应用转发所述第二调用请求,以使得第一应用确定针对所述第一对象的数据读写请求合法时,执行针对所述第二函数功能接口的调用操作,以根据所述待读写的数据实现针对所述第一对象的数据读写操作。
在一种可能的实现方式中,所述第二应用针对所述函数功能接口的调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,
所述发送模块还用于:
向所述第一应用转发所述第三调用请求,以使得第一应用响应所述第三调用请求,根据预置领域特定语言DSL标准及所述界面描述数据,执行针对所述第二应用的界面渲染操作,以对界面进行更新。
在一种可能的实现方式中,所述第二应用中携带第一命令信息,沙箱响应于所述第一命令信息,采用严格模式运行所述第二应用,其中,所述第一命令信息用于指示沙箱采用严格模式运行所述第二应用。
根据本申请的另一方面,提供了一种数据处理装置,应用于第一应用,所述装置包括:
创建模块,用于在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建沙箱;
加载模块,用于加载所述第二应用至所述沙箱中运行;
接收模块,用于接收所述沙箱发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述沙箱发送的用于调用所述函数功能接口的请求;
对所述调用请求执行相应处理。
根据本申请的另一方面,提供了一种数据处理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本申请的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
这样,第一应用在需要加载以第一应用为宿主应用的第二应用时,在第一应用中为第二应用创建运行环境,并加载第二应用至所述运行环境中运行。根据本申请实施例提供的数据处理方法,第一应用可以为第二应用提供一个独立的运行环境,并将第二应用加载至该运行环境中运行,以通过运行环境来监控第二应用的操作行为,严格限制第二应用所执行的操作,能够实现第一应用对第二应用的监管,进而可以保证第一应用与第二应用所对应的界面风格统一,保证第一应用自身的数据安全等。
根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出根据本申请一实施例的一种数据处理系统的示意图;
图2示出根据本申请一实施例的一种数据处理方法的流程图;
图3示出根据本申请一示例性的界面示意图;
图4示出根据本申请一实施例的一种数据处理方法的流程图;
图5示出根据本申请一实施例的一种数据处理方法的流程图;
图6示出根据本申请一实施例的一种数据处理方法的流程图;
图7示出根据本申请一实施例的一种数据处理方法的流程图;
图8示出根据本申请一示例性的一种数据处理方法的示意图;
图9示出根据本申请一实施例的一种数据处理方法的流程图;
图10示出根据本申请一实施例的一种数据处理方法的流程图;
图11示出根据本申请一示例性的界面示意图;
图12示出根据本申请一实施例的一种数据处理装置的结构框图;
图13示出根据本申请一实施例的一种数据处理装置的结构框图;
图14是根据一示例性实施例示出的一种用于数据处理的装置1500的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请为解决上述技术问题,提供了一种数据处理系统,该数据处理系统可以参照图1,该系统可以包括第一应用、第二应用服务端,第二应用,其中第二应用以第一应用为宿主应用。第一应用在加载第二应用之前,可以为第一应用创建独立的运行环境(沙箱),该独立的运行环境中的接口均被屏蔽处理。第一应用在创建运行环境后,可以将第二应用加载至运行环境中运行,由于运行环境无法执行第二应用的相关操作,可以根据第二应用的相关操作向第一应用发送对应的接口调用请求,以使得第一应用响应于该接口调用请求,执行第二应用的相关操作,进而实现第一应用对第二应用的监管,由第一应用实现第二应用的操作,可以保证第一应用与第二应用所对应的界面风格统一,保证第一应用自身的数据安全。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例1
图2示出根据本申请一实施例的一种数据处理方法的流程图。该方法可以应用于第一应用,如图2所示,该方法可以包括:
步骤201、在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境;
举例来说,第一应用在运行过程中可以从服务器端获取第一应用的配置信息,该第一应用的配置信息中可以包括以第一应用为宿主应用的第二应用的应用标识信息及下载地址信息,第一应用可以根据下载地址信息从对应的服务器中加载该第二应用,其中第二应用的应用标识信息可以为第二应用的应用名称等能够标识第二应用的信息。第一应用通过配置信息确定具有以第一应用为宿主应用的第二应用,确定需要加载该第二应用,故可以在第一应用中为该第二应用创建运行环境。
在一种可能的实现方式中,上述运行环境可以为沙箱。
图3示出根据本申请一示例性的界面示意图。
第一应用在运行过程中可以加载以第一应用为宿主应用的第二应用。例如:参照图3所示,第一应用为浏览器应用,该第二应用可以为该浏览器应用中由第三方提供的任一功能模块所对应的应用,其中,第二应用可以以小窗口模式在第一应用的界面中展示,也可以整屏展示,本申请对于第二应用的展示方式不作具体限定。
在一种可能的实现方式中,上述步骤101、在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境,可以包括:
获取所述第一应用的配置信息,在所述配置信息中存在以第一应用为宿主应用的第二应用时,确定需要加载所述第二应用;
在所述第一应用中为所述第二应用创建运行环境,所述运行环境中任一API接口均被屏蔽处理。
举例来说,第一应用可以从服务器端获取该第一应用的配置信息,在第一应用的配置信息中包括以第一应用为宿主应用的第二应用的应用标识信息时,可以确定具有以第一应用为宿主应用的第二应用,第一应用确定需要加载该第二应用。
第一应用可以为第二应用创建运行环境,并将运行环境中的API接口(例如:XHR(XmlHttpRequest)、fetch、worker、Function构造、eval等接口)进行屏蔽处理,使得运行环境不具备接口调用能力。示例性的,可以采用闭包的形式屏蔽上述API接口,构造无效的接口模块将上述API接口覆盖掉等方式屏蔽上述API接口,以使得运行环境不具备对上述API接口的调用功能。进而第一应用将第二应用加载至运行环境中运行的过程中,该运行环境只具备简单的运算功能,无法执行第二应用中与上述API接口相关联的操作(例如:网络访问、数据读写、界面渲染等操作)。
步骤202、加载第二应用至所述运行环境中运行。
举例来说,第一应用可以为第二应用创建运行环境,将第二应用加载至该运行环境中,在该运行环境中运行该第二应用。这样,第二应用的运行环境与第一应用隔离,并且运行环境可以严格控制该第二应用运行过程中可以访问调用的资源。
在一种可能的实现方式中,上述加载第二应用至所述运行环境中运行,可以包括:
获取所述第一应用的配置信息,所述第一应用的配置信息中包括第二应用的应用标识信息及下载地址信息;
根据所述第一应用的配置信息加载所述第二应用至所述运行环境中运行。
举例来说,第一应用可以从服务器端获取该第一应用的配置信息,该第一应用的配置信息中可以包括以第一应用为宿主应用的第二应用的应用标识信息及下载地址信息,第一应用可以根据下载地址信息从对应的服务器中加载该第二应用,其中第二应用的应用标识信息可以为第二应用的应用名称等能够标识第二应用的信息。
需要说明的是,以第一应用为宿主应用的第二应用的个数可以为一个,也可以为多个,本申请在此不做限定。在存在多个以第一应用为宿主应用的第二应用时,第一应用可以根据各个第二应用的下载地址信息加载各个第二应用,为各个第二应用创建对应的运行环境,将各个第二应用加载至对应的运行环境中运行。
在一种可能的实现方式中,所述加载第二应用至所述运行环境中运行,包括:
在所述第二应用中添加第一命令信息,所述第一命令信息用于指示所述运行环境采用严格模式运行所述第二应用;
将添加了第一命令信息的第二应用加载至运行环境中运行。
举例来说,第一应用获取第二应用后,可以在第二应用的应用程序代码中添加用于指示运行环境采用严格模式运行该第二应用的第一命令信息,并将添加了第一命令信息的第二应用加载至运行环境中运行,以使得运行环境可以响应于上述第一命令信息采用严格模式运行该第二应用,可以避免第二应用中通过构造Function函数,为运行环境提供API接口调用能力,进而使得运行环境具备数据读写、网络访问、界面渲染等能力。
这样,第一应用在需要加载以第一应用为宿主应用的第二应用时,在第一应用中为第二应用创建运行环境,并加载第二应用至所述运行环境中运行。根据本申请实施例提供的数据处理方法,第一应用可以为第二应用提供一个独立的运行环境,并将第二应用加载至该运行环境中运行,以通过运行环境来监控第二应用的操作行为,严格限制第二应用所执行的操作,能够实现第一应用对第二应用的监管,进而可以保证第一应用与第二应用所对应的界面风格统一,保证第一应用自身的数据安全等。
图4示出根据本申请一实施例的一种数据处理方法的流程图。
在一种可能的实现方式中,参照图4,上述方法还可以包括:
步骤203、接收所述运行环境发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述运行环境发送的用于调用所述函数功能接口的请求;
举例来说,上述接口调用操作为触发第二应用调用函数功能接口的操作,例如:用户对第二应用的触发操作等。第二应用在运行环境中运行的过程中,可以基于所执行的操作调用运行环境所提供的对应函数功能接口(例如:API(Application ProgrammingInterface,应用程序编程接口)),而由于第一应用在创建运行环境的过程中,将运行环境的上述函数功能接口均执行了屏蔽处理,故运行环境无法响应第二应用针对上述函数功能接口的调用请求,运行环境可以将该调用请求转发至第一应用(例如:运行环境可以通过postMessage与第一应用的worker层通信),以请求第一应用执行第二应用针对上述函数功能接口的操作。例如:第二应用执行网络访问操作时,向运行环境发送针对网络访问函数功能接口的调用请求,运行环境可以将该调用请求转发至第一应用,使得第一应用执行对应的网络访问操作、第二应用执行数据读写操作时,向运行环境发送针对数据读写函数功能接口的调用请求,运行环境可以将该调用请求转发至第一应用,使得第一应用执行对应的数据读写操作、第二应用执行界面更新操作时,向运行环境发送针对界面更新函数功能接口的调用请求,运行环境可以将该调用请求转发至第一应用,使得第一应用执行对应的界面更新操作。
步骤204、对所述调用请求执行相应处理。
第一应用接收到运行环境转发的第二应用针对函数功能接口的调用请求后,可以基于该调用请求执行相应处理。
举例来说,第一应用可以确定该针对函数功能接口的调用请求是否为合法调用请求,进而确定是否执行该调用请求对应的操作,在该调用请求为合法调用请求时可以执行该调用请求对应的操作,在该调用请求为非法调用请求时,不对该调用请求做出响应,并可以记录该调用请求至违规操作记录中,所述违规操作记录可以用于记录第二应用的不合法的调用请求。例如:在接收到针对网络访问函数功能接口的调用请求时,若该调用请求所请求访问的对象是第一应用所允许访问的对象,则可以确定该调用请求是合法的,第一应用可以执行针对网络访问函数功能接口的调用,以实现对该对象的网络访问操作,否则不对该调用请求做出响应。
这样,第一应用接收运行环境转发的第二应用针对函数功能接口的调用请求,并对所述调用请求执行相应处理。根据本申请实施例提供的数据处理方法及装置,第一应用可以将以第一应用为宿主应用的第二应用加载至运行环境中运行,通过运行环境监控第二应用的操作行为,并上报操作行为对应的函数功能接口的调用请求至第一应用,以实现第一应用对第二应用的监管,由第一应用实现第二应用的操作,可以保证第一应用与第二应用所对应的界面风格统一,保证第一应用自身的数据安全。
图5示出根据本申请一实施例的一种数据处理方法的流程图。
在一种可能的实现方式中,参照图5,上述步骤204、所述对所述调用请求执行相应处理,可以包括:
步骤2041、根据所述配置信息确定所述调用请求是否合法;
步骤2042、在所述调用请求合法时,响应所述调用请求,执行所述调用请求对应的操作。
举例来说,在第一应用成为第二应用的宿主应用之前,第一应用与第二应用可以达成操作协议,该操作协议中可以包括第一应用允许第二应用执行的操作,该操作协议可以作为第一应用的配置信息中的一项,存储于第一应用的服务器端,第一应用可以运行时从服务器端加载第一应用的配置信息。第一应用在接收运行环境发送的调用请求后,可以根据第二应用的标识信息从第一应用的配置信息中获取该第二应用对应的操作协议,并根据该第二应用对应的操作协议确定该调用请求是否合法,例如:确定该调用请求所对应的操作是否记录于操作协议中,在操作协议中包括该调用请求所对应的操作时,可以确定该操作为第一应用允许该第二应用执行的操作,进而可以确定该调用请求合法,第一应用可以响应于该调用请求,执行该调用请求对应的操作。
示例性的,第一应用为浏览器,第二应用为浏览器界面中的一个功能模块,该功能模块实现的是物流信息查询功能。第一应用与第二应用的操作协议包括:允许第二应用在本地cookie中存储用户输入的快递单号,允许第二应用从本地cookie中读取用户输入的历史快递单号,允许针对第二应用对应的服务平台的访问操作。
则当用户在第二应用对应的界面上触发针对快递单号的输入操作时,第二应用可以获取历史输入快递单号并显示在界面上,以供用户选择。此时,运行环境无法响应第二应用针对数据读写函数功能接口的调用操作,无法实现第二应用从本地cookie中读取历史快递单号的操作行为,则可以向第一应用发送该针对数据读写函数功能接口的调用请求,第一应用接收该调用请求后,确定第二应用对应的操作协议中允许该调用请求对应的操作,则响应该调用请求,调用相应的数据读写函数功能接口,以从本地cookie中读取历史快递单号,发送至运行环境,以在界面上显示该历史快递单号。
或者该操作协议中可以包括允许第二应用访问的至少一个域名,允许第二应用调用的至少一个对象。该操作协议可以作为第一应用的配置信息中的一项,存储于第一应用的服务器端,第一应用运行系统可以在加载第一应用时,加载第一应用的配置信息。
第一应用运行系统在接收运行环境发送的调用请求后,可以根据第一应用的配置信息中对应第二应用的操作协议确定该调用请求是否合法,例如:确定该调用请求所要访问的域名是否为允许该第二应用可以访问的域名,在调用请求所要访问的域名为允许该第二应用可以访问的域名时,可以确定该调用请求合法,或者确定调用请求要调用的对象是否为允许该第二应用调用的对象,在调用请求要调用的对象为允许该第二应用调用的对象时,可以确定该调用请求合法。
在第一应用确定调用请求合法时,第一应用可以响应于该调用请求,执行该调用请求对应的操作,例如:执行调用请求对应的网络访问操作,或者执行调用请求对应的数据读写操作等。
这样一来,在第二应用的运行过程中,可以通过第一应用对第二应用进行监管,进而可以保证第一应用自身的数据安全。
图6示出根据本申请一实施例的一种数据处理方法的流程图。
在一种可能的实现方式中,上述配置信息中可以包括第二应用允许访问的至少一个域名,所述调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求包括:待访问的第一域名,参照图6,
上述步骤204、所述对所述调用请求执行相应处理,可以包括:
步骤2043、确定所述至少一个域名中是否存在所述第一调用请求中携带的所述待访问的第一域名;
步骤2044、在所述至少一个域名中存在所述待访问的第一域名时,执行针对所述第一函数功能接口的调用,实现所述第一调用请求对应的针对所述待访问的第一域名的网络访问操作。
举例来说,第二应用在运行过程中,可以响应于针对第一域名的网络访问的触发操作(例如:跳转到第一域名对应的服务平台、向第一域名对应的服务平台写入数据或者从第一域名对应的服务平台读取数据等),调用运行环境的第一函数功能接口(例如:http接口),该第一函数功能接口为实现网络访问功能的接口,由于运行环境中的第一函数功能接口在创建时即被第一应用屏蔽掉,其不具备执行网络访问操作的能力,故运行环境可以将第二应用针对第一函数功能接口的第一调用请求转发至第一应用,该第一调用请求中可以包括待访问的第一域名,还可以包括第二应用的标识信息。
第一应用接收到运行环境发送的第一调用请求,第一应用可以根据该第二应用的标识信息从第一应用的配置信息中获取该第二应用对应的操作协议,该操作协议中可以包括第一应用允许该第二应用访问的至少一个域名。第一应用可以确定允许第二应用访问的至少一个域名中是否存在上述第一域名,在存在该上述第一域名时,可以确定第二应用针对第一域名的网络访问操作是被允许的,故可以执行该第一调用请求对应的网络访问操作,执行对该第一域名的网络访问。
示例性的,第一应用为浏览器,第二应用为浏览器界面中的一个功能模块,该功能模块实现的是物流信息查询功能。第一应用与第二应用的操作协议包括:允许第二应用访问域名1,该域名1为第二应用所属的服务平台的域名。
则当用户在通过第二应用进行物流查询时,第二应用响应于用户输入的快递单号进行相应的网络访问操作,调用运行环境的第一函数功能接口,以向第二应用所属服务平台发送网络请求,该网络请求中可以包括域名1(该域名1为第二应用所属的服务平台的域名),用于从域名1表征的服务平台中查询上述快递单号对应的物流进度。运行环境响应于该调用操作,向第一应用发送对应的调用请求,该调用请求中可以包括上述域名1和第二应用的标识信息。第一应用根据第二应用的标识信息从配置信息中获取第二应用对应的操作协议。
若第一应用与第二应用的操作协议中第二应用允许访问的域名中包括域名1,则第一应用可以根据该操作协议确定第二应用允许访问域名1,则第一应用可以调用第一函数功能接口,以向第二应用的服务平台发送上述网络请求,以从第二应用的服务平台获取用户输入的快递单号对应的物流信息。
在一种可能的实现方式中,第一应用可以确定当前向第二应用的网络访问操作对应的操作类型,在网络访问操作对应的操作类型为数据信息分享操作时,可以获取沙箱的参数信息,发送分享数据(包括沙箱的参数信息及待分享的数据信息)至接收端,以使得接收端根据该沙箱的参数信息创建对应的沙箱,以通过沙箱查看上述待分享的数据信息。
这样一来,第一应用可以对第二应用的网络访问操作进行监管,使得第二应用中被允许的网络访问操作可以执行,进而能够使得非法来源的资源及至其他应用的非法跳转等操作被拦截,进而可以保证第一应用的数据安全。
图7示出根据本申请一实施例的一种数据处理方法的流程图。
在一种可能的实现方式中,上述配置信息中包括第二应用允许调用的至少一个对象,所述调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求包括:待访问的第一对象及待读写的数据,参照图7,上述步骤204、所述对所述调用请求执行相应处理,可以包括:
步骤2045、确定所述至少一个对象中是否存在所述第二调用请求中携带的第一对象;
步骤2046、在所述至少一个对象中存在所述第一对象时,执行针对所述第二函数功能接口的调用,根据所述待读写的数据实现针对所述第一对象的数据读写操作。
举例来说,第二应用在运行过程中,可以响应于对于第一对象的数据读写操作(本申请实施例中数据读写请求指代包括数据读取请求或者数据写入请求),调用第二函数功能接口,该第二函数功能接口为实现数据读写功能的接口(例如:getStorage:获取存储信息的接口,setStorage:存储信息的接口),由于运行环境中的第而函数功能接口在创建时即被第一应用屏蔽掉,其不具备执行调用对象进行数据读写操作的能力,故运行环境将第二应用针对第二函数功能接口的第二调用请求转发至第一应用,该第二调用请求中可以包括待访问的第一对象和待读写的数据,该数据读写请求中还可以包括第二应用的标识信息。
第一应用接收到运行环境发送的第二调用请求,第一应用可以根据该第二应用的标识信息从第一应用的配置信息中获取该第二应用对应的操作协议,该操作协议中可以包括第一应用允许该第二应用调用的至少一个对象。第一应用可以确定允许第二应用访问的至少一个对象中是否存在上述第一对象,在存在该第一对象时,可以确定第二应用针对第一对象的数据读写操作是被允许的,故可以执行该第二调用请求对应的数据读写操作,即执行对该第一对象的数据读写操作。
示例性的,第一应用为浏览器,第二应用为浏览器界面中的一个功能模块,该功能模块实现的是物流信息查询功能。
当用户在第二应用对应的界面上触发针对快递单号的输入操作时,第二应用调用运行环境的第二函数功能接口,以可以获取历史输入快递单号并显示在界面上,以供用户选择,或者第二应用获取到用户输入的快递单号时,调用运行环境的第二函数功能接口,以可以将快递单号缓存至本地,以供后续用户进行选择,则此时,运行环境将上述针对第二函数功能接口的第二调用请求发送至第一应用,该第二调用请求中包括第二应用的标识信息及调用对象:本地cookie及待读写的快递单号。第一应用根据第二应用的标识信息从配置信息中获取第二应用对应的操作协议。
若第一应用与第二应用的操作协议中包括:允许第二应用调用本地cookie,则第一应用可以确定允许第二应用对本地cookie的调用操作,第一应用可以调用第二函数功能接口,以可以根据从本地cookie中读取历史快递单号发送至运行环境,或者将用户输入的快递单号写入本地cookie中。
若第一应用与第二应用的操作协议中可调用的对象不包括本地cookie,则第一应用根据第二应用的操作协议确定不允许第二应用对本地cookie的调用操作,则可以不对该第二调用请求进行响应,也即不执行从本地cookie中读取历史快递单号的操作,或者不执行将用户输入的快递单号写入本地cookie中的操作。
这样一来,在第二应用运行的过程中,通过第一应用对第二应用的数据读写操作进行监管,使得第二应用中被允许的数据读写操作可以执行,进而实现对非法数据存储操作的拦截,可以保证第一应用的数据安全。
在一种可能的实现方式中,所述调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,上述步骤104、所述对所述调用请求执行相应处理,可以包括:
执行针对所述第三函数功能接口的调用,实现根据预置领域特定语言DSL标准及所述第三调用请求中携带的界面描述数据,进行对应的界面渲染操作,以对界面进行更新。
举例来说,第一应用的服务端可以设置有针对第一应用界面进行渲染的预置领域特定语言DSL标准及基础组件库,该预置领域特定语言DSL标准用于规定第一应用界面中的各组件规格及第一应用界面的风格等,该基础组件库中可以用于存储用于构建界面的组件。第一应用可以从服务器获取该预置领域特定语言DSL标准及第一应用的基础组件库。
运行环境在第二应用的过程中,针对第二应用对于界面的界面渲染操作,由于运行环境不具备界面渲染的能力,故运行环境可以将第二应用在界面更新操作时针对第三函数功能接口的第三调用请求转发至第一应用,其中第三函数功能接口为实现界面更新渲染功能的接口(例如:setState接口),该第三调用请求中可以包括界面描述数据。
第一应用接收到运行环境发送的第三调用请求后,可以调用第三函数功能接口,以根据预置领域特定语言DSL标准及界面描述数据,进行第二应用的界面渲染操作,以将第二应用的界面渲染成与第一应用的界面风格一致。例如:预置领域特定语言DSL标准中规定了button控件的规格为100、字体为宋体,字号为4号,界面描述数据中包括button控件,则第一应用可以从基础组件库中获取button控件,并根据预置领域特定语言DSL标准进行渲染操作,完成渲染操作后,第二界面中的该button控件的规格为100、字体为宋体,字号为4号。
这样一来,在第二应用的运行过程中,可以通过第一应用执行对第二应用的界面渲染操作,可以保证第二应用的界面与第一应用的界面风格统一,并且在加载多个第二应用时,通过基础组件库可以实现资源共享。
在一种可能的实现方式中,第一应用可以响应于用户的设置操作,确定当前用户所属的人群类型(成年人、老人、幼儿、听力或者视力障碍人群)或者,可以通过采集由于用户操作所产生的操作数据,进而对操作数据进行分析,确定当前用户所属的人群类型。根据当前用户所属的人群类型执行对页面的更新操作,例如:在当前用户所属的人群类型为特殊人群(老人、幼儿、听力或者视力障碍人群)时,根据预先配置的更新策略进行页面更新,所述更新策略用于指示屏蔽掉不适宜特殊人群的显示内容。
图8示出根据本申请一示例性的一种数据处理方法的示意图。
为使本领域技术人员更好的理解本申请实施例,以下通过示例对本申请实施例加以说明。
参照图8,第一应用为浏览器,第二应用为浏览器界面中的一个功能模块,该功能模块实现的是物流信息查询功能,第一应用运营方与第二应用运营方制定的第二应用的操作协议包括:允许第二应用调用的对象:cookie、允许第二应用访问的域名:域名1,该域名1为第二应用所属的服务平台的域名,在浏览器的服务端存储有浏览器的配置信息,包括:第二应用标识信息、与该第二应用标识信息存在对应关系的第二应用下载地址及第二应用的操作协议。
第一应用响应于用户的开启操作,运行及获取第一应用的配置信息。第一应用根据配置信息确定存在以第一应用为宿主应用的第二应用,则为该第二应用创建屏蔽了全部功能API接口的运行环境,并根据配置信息中第二应用标识信息对应的第二应用下载地址加载该第二应用标识信息所标识的第二应用至该运行环境中运行。
运行环境加载了第二应用后,第二应用需要调用运行环境中用于实现界面更新渲染功能的第三函数功能接口,以根据界面描述数据渲染第二应用的界面,但运行环境不具备界面渲染能力,故向第一应用发送第一调用请求,该第一调用请求中包括第二应用的界面描述数据,第一应用可以调用上述第三函数功能接口,以根据第一应用的预置领域特定语言DSL标准及所述界面描述数据,进行界面渲染操作,使得第二应用的界面中各组件规格与第一应用的界面中各组件的规格一致,整体风格与第一应用的界面风格一致。
完成第二应用的界面渲染后,显示界面中包括快递单号输入框,用户第一次在输入框中输入待查询的快递单号,此时运行环境监测到第二应用调用第二函数功能接口的第二调用请求(1),以将快递单号记录于本地cookie中,但运行环境不具备数据读写能力,故运行环境可以向第一应用转发该第二调用请求(1),该第二调用请求中(1)可以包括第二应用标识信息、待写入的快递单号及待操作的对象:cookie,第一应用接收到该第二调用请求(1)后,根据第二应用标识信息从浏览器的配置信息中获取第二应用对应的操作协议,并根据操作协议确定其允许调用cookie,则第一应用可以调用上述第二函数功能接口,以将上述待写入的快递单号写入cookie。
第二应用响应于用户针对待查询的快递单号的查询操作,向第二应用所属的服务平台发送网络请求,该网络请求中可以包括域名1,运行环境监测到第二应用调用第二函数功能接口的第二调用请求(2),以向第二应用所属平台发送该网络请求查询该快递单号对应的物流信息,但由于运行环境不具备网络访问能力,故运行环境可以向第一应用转发给第二调用请求(2),该第二调用请求(2)中可以包括上述域名1、快递单号和第二应用标识信息。第一应用接收到第二调用请求(2)后,根据第二应用标识信息从浏览器的配置信息中获取第二应用对应的操作协议,并根据操作协议确定其允许访问域名1,则第一应用可以向域名1对应的第二应用所属的服务平台发送网络请求,以获取上述快递单号对应的物流信息,并将该快递单号对应的物流信息发送至运行环境。
运行环境接收到快递单号对应的物流信息后,反馈给第二应用,第二应用调用第三函数功能接口,以将物流信息进行界面渲染以显示在界面中,则运行环境可以向第一应用转发第二应用针对第三函数功能接口的第三调用操作,以使得第一应用可以进行界面渲染(具体过程参照前述实施例),将物流信息显示在界面中。
这样,第二应用运行过程中的操作行为均被第一应用监管,可以保证第一应用的界面风格统一,保证第一应用自身的数据安全。
图9示出根据本申请一实施例的一种数据处理方法的流程图,该方法可以应用于沙箱,参照图9,该方法可以包括:
步骤901、监测第二应用针对函数功能接口的调用请求;
举例来说,第一应用在运行过程中可以为以第一应用为宿主应用的第二应用创建沙箱,并将第二应用加载至沙箱中运行。沙箱第二应用的运行过程中,可以通过监测第二应用针对函数功能接口的调用请求,以对第二应用的操作行为进行监控,例如:网络访问操作、数据读写操作、界面渲染操作等操作。
步骤902、响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理;
其中,所述第一应用为所述第二应用的宿主应用,所述针对函数功能接口的调用请求为所述第二应用响应于针对函数功能接口的接口调用触发操作向沙箱发送的用于调用所述函数功能接口的请求。
沙箱在监控到第二应用存在针对函数功能接口的调用请求时,可以将该调用请求转发至第一应用,以使得该第一应用可以对该调用请求执行相应处理。例如:第一应用可以确定该调用请求是否为合法操作请求,进而确定是否执行该调用请求对应的操作,仅在该调用请求为合法调用请求时可以执行该调用请求对应的操作(具体可以参照前述实施例,本申请在此不再赘述)。
这样,沙箱可以在第二应用的运行过程中,监测第二应用针对函数功能接口的调用请求,并可以响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理。这样一来,根据本申请实施例提供的数据处理方法,在沙箱中运行第二应用,也即可以通过沙箱监控第二应用的操作行为,并上报对应的调用请求至作为宿主应用的第一应用,以实现第一应用对第二应用的监管,进而可以保证第一应用的界面风格统一,保证第一应用自身的数据安全。
在一种可能的实现方式中,第二应用针对所述函数功能接口的调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求中包括待访问的第一域名,上述所述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,可以包括:
向所述第一应用转发所述第一调用请求,以使得第一应用在确定针对所述第一域名的网络访问请求合法时,执行针对所述第一函数功能接口的调用操作,以实现针对所述第一域名的网络访问操作。
举例来说,第二应用在执行网络访问操作时,需要调用沙箱的第一函数功能接口(参照前述实施例)。沙箱监控到第二应用发生针对第一函数功能接口的第一调用请求时,由于沙箱不具备网络访问能力,故沙箱可以将该第一调用操请求转发第一应用,该第一调用请求中可以包括待访问的第一域名。第一应用接收到该第一调用请求后,可以确定该针对第一域名的第一调用请求是否合法(具体过程可以参照前述实施例,本申请在此不再赘述),并在确定针对第一域名的调用请求合法时,根据第一调用请求执行针对该第一域名的网络访问操作(参照前述实施例,本申请在此不再赘述)。
这样,第一应用可以对第二应用的网络访问操作进行监管,使得第二应用中被允许的网络访问操作可以执行,进而能够使得非法来源的资源及至其他应用的非法跳转等操作被拦截,进而可以保证第一应用的数据安全。
在一种可能的实现方式中,上述第二应用针对所述函数功能接口的调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求中包括第一对象及待读写的数据,
所述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,可以包括:
向所述第二应用转发所述第二调用请求,以使得第一应用确定针对所述第一对象的数据读写请求合法时,执行针对所述第二函数功能接口的调用操作,以根据所述待读写的数据实现针对所述第一对象的数据读写操作。
举例来说,第二应用在执行数据读写操作时,需要调用沙箱的第二函数功能接口(参照前述实施例)。沙箱监控到第二应用发生针对第二函数功能接口的第二调用请求,由于沙箱不具备数据读写能力,故沙箱可以将该第二调用请求发送至第一应用,该第二调用请求中可以包括上述第一对象及待读写的数据。第一应用接收到该第二调用请求后,可以确定该针对第一对象的数据读写请求是否合法(具体过程可以参照前述实施例,本申请在此不再赘述),并在确定针对第一对象的数据读写请求合法时,根据第二调用请求执行针对该第一对象的数据读写操作(参照前述实施例,本申请在此不再赘述)。
这样一来,第一应用可以对第二应用的数据读写操作进行监管,使得第二应用中被允许的数据读写操作可以执行,进而可以保证第一应用的数据安全。
在一种可能的实现方式中,第二应用针对所述函数功能接口的调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,
述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,包括:
向所述第一应用转发所述第三调用请求,以使得第一应用响应所述第三调用请求,根据预置领域特定语言DSL标准及所述界面描述数据,执行针对所述第二应用的界面渲染操作,以对界面进行更新。
举例来说,第二应用在执行界面更新操作时,需要调用沙箱的第三函数功能接口(参照前述实施例)。沙箱监控到第二应用发生针对第三函数功能接口的第三调用操作,由于沙箱不具备界面渲染能力,故沙箱可以将该第三调用操作发送至第一应用,该第三调用请求中可以包括界面描述数据。第一应用接收到该第三调用请求后,可以确定该第三调用请求是否合法(具体过程可以参照前述实施例,本申请在此不再赘述),并在确定针对第二应用的第三调用请求合法时,根据第三调用请求执行针对该第二应用的界面渲染操作(具体过程可以参照前述实施例,本申请在此不再赘述)。
这样一来,通过第一应用执行第二应用的界面渲染操作,可以保证第二应用的界面与第一应用的界面风格统一。
在一种可能的实现方式里,所述第二应用中携带第一命令信息,沙箱响应于所述第一命令信息,采用严格模式运行所述第二应用,其中,所述第一命令信息用于指示沙箱采用严格模式运行所述第二应用。
第一应用加载第二应用后,可以在第二应用的应用程序代码中添加用于指示沙箱采用严格模式运行该第二应用的第一命令信息,并将添加了而第一命令信息的第二应用加载至沙箱中运行,以使得沙箱可以采用严格模式运行该第二应用,可以避免第二应用中通过构造Function函数,为沙箱提供API接口调用能力,进而使得沙箱具备数据读写、网络访问、界面渲染等能力。
图10示出根据本申请一实施例的一种数据处理方法的流程图,该方法可以应用于第一应用,如图10所示,该方法可以包括:
步骤1001、在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建沙箱;
步骤1002、加载所述第二应用至所述沙箱中运行;
步骤1003、接收所述沙箱发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述沙箱发送的用于调用所述函数功能接口的请求;
步骤1004、对所述调用请求执行相应处理。
具体实现过程可以参照前述实施例,本申请在此不再赘述。
这样,第一应用在需要加载以第一应用为宿主应用的第二应用时,在第一应用中为第二应用创建沙箱,并加载第二应用至所述沙箱中运行,第一应用接收沙箱转发的第二应用针对函数功能接口的调用请求,并对所述调用请求执行相应处理。根据本申请实施例提供的数据处理方法,第一应用可以为第二应用提供一个独立的运行环境沙箱,并将第二应用加载至该沙箱中运行,以通过沙箱来监控第二应用的操作行为,严格限制第二应用所执行的操作,能够实现第一应用对第二应用的监管,进而可以保证第一应用与第二应用所对应的界面风格统一,保证第一应用自身的数据安全等。
本申请实施例还提出一种数据处理方法,应用于社交应用程序,所述方法可以包括:
响应于针对第三方小程序的开启操作,在所述社交应用程序中为所述第三方小程序创建运行环境;
在所述运行环境中运行所述第三方小程序。
本申请提出的数据处理方法可以应用于社交应用程序,其中,第三方服务可以在社交应用程序中注册对应的第三方小程序,用户在社交应用程序中无需下载该第三方小程序即可以使用该第三方小程序,例如:社交应用程序界面中小程序的接口(图标等),参照图11(其中图标1、2、3、4分别指代小程序1、小程序2、小程序3和小程序4),用户通过触发该接口即可启动该第三方小程序,进入该第三方小程序的程序界面。
社交应用程序可以响应于针对上述第三方小程序的开启操作(例如对图标的触发操作),为该第三方小程序创建独立的运行环境,并在该独立运行环境中运行该第三方小程序。
图12示出根据本申请一实施例的一种数据处理装置的结构框图,该装置可以应用于第一应用,如图12所示,所述装置可以包括:
创建模块1201,可以用于在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境;
加载模块1202,可以用于加载所述第二应用至所述运行环境中运行。
这样,第一应用在需要加载以第一应用为宿主应用的第二应用时,在第一应用中为第二应用创建运行环境,并加载第二应用至所述运行环境中运行。根据本申请实施例提供的数据处理装置,第一应用可以为第二应用提供一个独立的运行环境,并将第二应用加载至该运行环境中运行,以通过运行环境来监控第二应用的操作行为,严格限制第二应用所执行的操作,能够实现第一应用对第二应用的监管,进而可以保证第一应用与第二应用所对应的界面风格统一,保证第一应用自身的数据安全等。
在一种可能的实现方式中,所述加载模块还可以用于:
获取所述第一应用的配置信息,所述第一应用的配置信息中包括第二应用的应用标识信息及下载地址信息;
根据所述第一应用的配置信息加载所述第二应用至所述运行环境中运行。
在一种可能的实现方式中,所述方法还包括:
接收模块,用于接收所述运行环境发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述运行环境发送的用于调用所述函数功能接口的请求;
处理模块,用于对所述调用请求执行相应处理。
在一种可能的实现方式中,所述创建模块还用于:
获取所述第一应用的配置信息,在所述配置信息中存在以第一应用为宿主应用的第二应用时,确定需要加载所述第二应用;
在所述第一应用中为所述第二应用创建运行环境,所述运行环境中任一API接口均被屏蔽处理。
在一种可能的实现方式中,所述处理模块还用于:
根据第一应用的配置信息确定所述调用请求是否合法;
在所述调用请求合法时,响应所述调用请求,执行所述调用请求对应的操作。
在一种可能的实现方式中,所述配置信息中包括第二应用允许访问的至少一个域名,所述调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求包括:待访问的第一域名,
所述处理模块还用于:
确定所述至少一个域名中是否存在所述第一调用请求中携带的所述待访问的第一域名;
在所述至少一个域名中存在所述待访问的第一域名时,执行针对所述第一函数功能接口的调用,实现所述第一调用请求对应的针对所述待访问的第一域名的网络访问操作。
在一种可能的实现方式中,所述配置信息中包括第二应用允许调用的至少一个对象,所述调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求包括:待访问的第一对象及待读写的数据,
所述处理模块还用于:
确定所述至少一个对象中是否存在所述第二调用请求中携带的第一对象;
在所述至少一个对象中存在所述第一对象时,执行针对所述第二函数功能接口的调用,根据所述待读写的数据实现针对所述第一对象的数据读写操作。
在一种可能的实现方式中,所述调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,所述处理模块还用于:
执行针对所述第三函数功能接口的调用,实现根据预置领域特定语言DSL标准及所述第三调用请求中携带的界面描述数据,进行对应的界面渲染操作,以对界面进行更新。
在一种可能的实现方式中,所述加载模块还用于:
在所述第二应用中添加第一命令信息,所述第一命令信息用于指示所述运行环境采用严格模式运行所述第二应用;
将添加了第一命令信息的第二应用加载至所述运行环境中运行。
在一种可能的实现方式中,所述运行环境为沙箱。
图13示出根据本申请一实施例的一种数据处理装置的结构框图,该装置可以应用于沙箱,如图13所示,该装置可以包括
监测模块1301,可以用于监测第二应用针对函数功能接口的调用请求;
发送模块1302,可以用于响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理;
其中,所述第一应用为所述第二应用的宿主应用,所述针对函数功能接口的调用请求为所述第二应用响应于针对函数功能接口的接口调用触发操作向沙箱发送的用于调用所述函数功能接口的请求。
这样,沙箱可以在第二应用的运行过程中,监测第二应用针对函数功能接口的调用请求,并可以响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理。这样一来,根据本申请实施例提供的数据处理装置,在沙箱中运行第二应用,也即可以通过沙箱监控第二应用的操作行为,并上报对应的调用请求至作为宿主应用的第一应用,以实现第一应用对第二应用的监管,进而可以保证第一应用的界面风格统一,保证第一应用自身的数据安全。
在一种可能的实现方式中,第二应用针对所述函数功能接口的调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求中包括待访问的第一域名,所述发送模块还用于:
向所述第一应用转发所述第一调用请求,以使得第一应用在确定针对所述第一域名的网络访问请求合法时,执行针对所述第一函数功能接口的调用操作,以实现针对所述第一域名的网络访问操作。
在一种可能的实现方式中,第二应用针对所述函数功能接口的调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求中包括第一对象及待读写的数据,所述发送模块还用于:
向所述第二应用转发所述第二调用请求,以使得第一应用确定针对所述第一对象的数据读写请求合法时,执行针对所述第二函数功能接口的调用操作,以根据所述待读写的数据实现针对所述第一对象的数据读写操作。
在一种可能的实现方式中,所述第二应用针对所述函数功能接口的调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,
所述发送模块还用于:
向所述第一应用转发所述第三调用请求,以使得第一应用响应所述第三调用请求,根据预置领域特定语言DSL标准及所述界面描述数据,执行针对所述第二应用的界面渲染操作,以对界面进行更新。
在一种可能的实现方式中,所述第二应用中携带第一命令信息,沙箱响应于所述第一命令信息,采用严格模式运行所述第二应用,其中,所述第一命令信息用于指示沙箱采用严格模式运行所述第二应用。
本申请一实施例提供一种数据处理装置,该装置可以应用于第一应用,该装置可以包括:
创建模块,用于在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建沙箱;
加载模块,用于加载所述第二应用至所述沙箱中运行;
接收模块,用于接收所述沙箱发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述沙箱发送的用于调用所述函数功能接口的请求;
对所述调用请求执行相应处理。
这样,第一应用在需要加载以第一应用为宿主应用的第二应用时,在第一应用中为第二应用创建沙箱,并加载第二应用至所述沙箱中运行,第一应用接收沙箱转发的第二应用针对函数功能接口的调用请求,并对所述调用请求执行相应处理。根据本申请实施例提供的数据处理装置,第一应用可以为第二应用提供一个独立的运行环境沙箱,并将第二应用加载至该沙箱中运行,以通过沙箱来监控第二应用的操作行为,严格限制第二应用所执行的操作,能够实现第一应用对第二应用的监管,进而可以保证第一应用与第二应用所对应的界面风格统一,保证第一应用自身的数据安全等。
在一种可能的实现方式中,所述与第一应用相关联的操作为针对第一域名的网络访问操作,所述发送模块还可以用于:
根据所述网络访问操作向所述第一应用发送网络访问请求,所述网络访问请求中携带有待访问的所述第一域名,以使得第一应用在确定针对所述第一域名的网络访问请求合法时,执行所述网络访问请求对应的网络访问操作。
在一种可能的实现方式中,所述与第一应用相关联的操作为针对第一对象的数据读写操作,所述发送模块还可以用于:
根据针对第一对象的数据读写操作向所述第一应用发送数据读写请求,所述数据读写请求中包括第一对象,以使得第一应用确定针对所述第一对象的数据读写请求合法时,对所述第一对象执行所述数据读写请求对应的数据读写操作。
在一种可能的实现方式中,所述与第一应用相关联的操作为针对所述第二应用的界面渲染操作,所述发送模块还可以用于:
根据所述界面渲染操作向所述第一应用发送界面渲染请求,所述界面渲染请求中包括界面描述数据,以使得第一应用根据预置领域特定语言DSL标准及所述界面描述数据,执行针对所述第二应用的界面渲染操作。
在一种可能的实现方式中,所述第二应用中携带第一命令信息,沙箱响应于所述第一命令信息,采用严格模式运行所述第二应用,其中,所述第一命令信息用于指示沙箱采用严格模式运行所述第二应用。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
图14是根据一示例性实施例示出的一种用于数据处理的装置1500的框图。例如,装置1500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图14,装置1500可以包括以下一个或多个组件:处理组件1502,存储器1504,电源组件1506,多媒体组件1508,音频组件1510,输入/输出(I/O)的接口1512,传感器组件1514,以及通信组件1516。
处理组件1502通常控制装置1500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1502可以包括一个或多个处理器1520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1502可以包括一个或多个模块,便于处理组件1502和其他组件之间的交互。例如,处理组件1502可以包括多媒体模块,以方便多媒体组件1508和处理组件1502之间的交互。
存储器1504被配置为存储各种类型的数据以支持在装置1500的操作。这些数据的示例包括用于在装置1500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1506为装置1500的各种组件提供电力。电源组件1506可以包括电源管理系统,一个或多个电源,及其他与为装置1500生成、管理和分配电力相关联的组件。
多媒体组件1508包括在所述装置1500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1508包括一个前置摄像头和/或后置摄像头。当装置1500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1510被配置为输出和/或输入音频信号。例如,音频组件1510包括一个麦克风(MIC),当装置1500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1504或经由通信组件1516发送。在一些实施例中,音频组件1510还包括一个扬声器,用于输出音频信号。
I/O接口1512为处理组件1502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1514包括一个或多个传感器,用于为装置1500提供各个方面的状态评估。例如,传感器组件1514可以检测到装置1500的打开/关闭状态,组件的相对定位,例如所述组件为装置1500的显示器和小键盘,传感器组件1514还可以检测装置1500或装置1500一个组件的位置改变,用户与装置1500接触的存在或不存在,装置1500方位或加速/减速和装置1500的温度变化。传感器组件1514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1516被配置为便于装置1500和其他设备之间有线或无线方式的通信。装置1500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1504,上述计算机程序指令可由装置1500的处理器1520执行以完成上述方法。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (21)

1.一种数据处理方法,其特征在于,应用于第一应用,所述方法包括:
在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境;
加载所述第二应用至所述运行环境中运行。
2.根据权利要求1所述的方法,其特征在于,所述加载第二应用至所述运行环境中运行,包括:
获取所述第一应用的配置信息,所述第一应用的配置信息中包括第二应用的应用标识信息及下载地址信息;
根据所述第一应用的配置信息加载所述第二应用至所述运行环境中运行。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述运行环境发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述运行环境发送的用于调用所述函数功能接口的请求;
对所述调用请求执行相应处理。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境,包括:
获取所述第一应用的配置信息,在所述配置信息中存在以第一应用为宿主应用的第二应用时,确定需要加载所述第二应用;
在所述第一应用中为所述第二应用创建运行环境,所述运行环境中任一API接口均被屏蔽处理。
5.根据权利要求3所述的方法,其特征在于,所述对所述调用请求执行相应处理,包括:
根据第一应用的配置信息确定所述调用请求是否合法;
在所述调用请求合法时,响应所述调用请求,执行所述调用请求对应的操作。
6.根据权利要求5中任一项所述的方法,其特征在于,所述配置信息中包括第二应用允许访问的至少一个域名,所述调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求包括:待访问的第一域名,
所述对所述调用请求执行相应处理,包括:
确定所述至少一个域名中是否存在所述第一调用请求中携带的所述待访问的第一域名;
在所述至少一个域名中存在所述待访问的第一域名时,执行针对所述第一函数功能接口的调用,实现所述第一调用请求对应的针对所述待访问的第一域名的网络访问操作。
7.根据权利要求5中任一项所述的方法,其特征在于,所述配置信息中包括第二应用允许调用的至少一个对象,所述调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求包括:待访问的第一对象及待读写的数据,
所述对所述调用请求执行相应处理,包括:
确定所述至少一个对象中是否存在所述第二调用请求中携带的第一对象;
在所述至少一个对象中存在所述第一对象时,执行针对所述第二函数功能接口的调用,根据所述待读写的数据实现针对所述第一对象的数据读写操作。
8.根据权利要求5中任一项所述的方法,其特征在于,所述调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,所述对所述调用请求执行相应处理,包括:
执行针对所述第三函数功能接口的调用,实现根据预置领域特定语言DSL标准及所述第三调用请求中携带的界面描述数据,进行对应的界面渲染操作,以对界面进行更新。
9.根据权利要求1所述的方法,其特征在于,所述加载第二应用至所述运行环境中运行,包括:
在所述第二应用中添加第一命令信息,所述第一命令信息用于指示所述运行环境采用严格模式运行所述第二应用;
将添加了第一命令信息的第二应用加载至所述运行环境中运行。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述运行环境为沙箱。
11.一种数据处理方法,其特征在于,应用于沙箱,包括:
监测第二应用针对函数功能接口的调用请求;
响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理;
其中,所述第一应用为所述第二应用的宿主应用,所述针对函数功能接口的调用请求为所述第二应用响应于针对函数功能接口的接口调用触发操作向沙箱发送的用于调用所述函数功能接口的请求。
12.根据权利要求11所述的方法,其特征在于,所述第二应用针对所述函数功能接口的调用请求为针对第一函数功能接口的第一调用请求,所述第一调用请求中包括待访问的第一域名,
所述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,包括:
向所述第一应用转发所述第一调用请求,以使得第一应用在确定针对所述第一域名的网络访问请求合法时,执行针对所述第一函数功能接口的调用操作,以实现针对所述第一域名的网络访问操作。
13.根据权利要求11所述的方法,其特征在于,所述第二应用针对所述函数功能接口的调用请求为针对第二函数功能接口的第二调用请求,所述第二调用请求中包括第一对象及待读写的数据,
所述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,包括:
向所述第二应用转发所述第二调用请求,以使得第一应用确定针对所述第一对象的数据读写请求合法时,执行针对所述第二函数功能接口的调用操作,以根据所述待读写的数据实现针对所述第一对象的数据读写操作。
14.根据权利要求11所述的方法,其特征在于,所述第二应用针对所述函数功能接口的调用请求为针对第三函数功能接口的第三调用请求,所述第三调用请求中包括界面描述数据,
所述响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理,包括:
向所述第一应用转发所述第三调用请求,以使得第一应用响应所述第三调用请求,根据预置领域特定语言DSL标准及所述界面描述数据,执行针对所述第二应用的界面渲染操作,以对界面进行更新。
15.根据权利要求11至14中任一项所述的方法,其特征在于,所述第二应用中携带第一命令信息,沙箱响应于所述第一命令信息,采用严格模式运行所述第二应用,其中,所述第一命令信息用于指示沙箱采用严格模式运行所述第二应用。
16.一种数据处理方法,其特征在于,应用于第一应用,所述方法包括:
在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建沙箱;
加载所述第二应用至所述沙箱中运行;
接收所述沙箱发送的第二应用针对函数功能接口的调用请求,所述调用请求为所述第二应用响应于接口调用触发操作向所述沙箱发送的用于调用所述函数功能接口的请求;
对所述调用请求执行相应处理。
17.一种数据处理装置,其特征在于,应用于第一应用,所述装置包括:
创建模块,用于在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建运行环境;
加载模块,用于加载所述第二应用至所述运行环境中运行。
18.一种数据处理装置,其特征在于,应用于沙箱,包括:
监测模块,用于监测第二应用针对函数功能接口的调用请求;
发送模块,用于响应于第二应用针对所述函数功能接口的调用请求,将所述针对函数功能接口的调用请求转发至第一应用,以使得所述第一应用对所述调用请求执行相应处理;
其中,所述第一应用为所述第二应用的宿主应用,所述针对函数功能接口的调用请求为所述第二应用响应于针对函数功能接口的调用触发操作向沙箱发送的用于调用所述函数功能接口的请求。
19.一种数据处理装置,其特征在于,应用于第一应用,所述装置包括:
创建模块,用于在需要加载以第一应用为宿主应用的第二应用时,在所述第一应用中为所述第二应用创建沙箱;
加载模块,用于加载所述第二应用至所述沙箱中运行;
接收模块,用于接收所述沙箱发送的操作请求,所述操作请求为所述沙箱向所述第一应用转发的第二应用针对沙箱的函数功能接口的调用请求,所述调用请求为所述第二应用响应于调用触发操作向所述沙箱发送的用于调用所述函数功能接口的请求;
处理模块,用于对所述操作请求执行相应处理。
20.一种数据处理装置,其特征在于,包括:
处理器;
用于存储处理器可执行计算机指令的存储器;
其中,所述处理器运行所述计算机指令时执行权利要求1至16任一项多媒体内容的处理方法的步骤。
21.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至16中任意一项所述的方法。
CN201910635764.0A 2019-07-15 2019-07-15 数据处理方法及装置 Pending CN112306566A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910635764.0A CN112306566A (zh) 2019-07-15 2019-07-15 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910635764.0A CN112306566A (zh) 2019-07-15 2019-07-15 数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN112306566A true CN112306566A (zh) 2021-02-02

Family

ID=74328706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910635764.0A Pending CN112306566A (zh) 2019-07-15 2019-07-15 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN112306566A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023087642A1 (zh) * 2021-11-19 2023-05-25 上海商汤智能科技有限公司 用户代码的运行方法及装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298648A (zh) * 2011-09-29 2011-12-28 南京国电南自轨道交通工程有限公司 开放式实时数据库跨进程访问方法
CN103067343A (zh) * 2011-10-21 2013-04-24 阿里巴巴集团控股有限公司 防止篡改ActiveX控件用途的方法和系统
CN108932427A (zh) * 2018-05-18 2018-12-04 华中科技大学 一种Android应用多开环境中限制访问的控制方法及系统
CN109491725A (zh) * 2018-11-12 2019-03-19 火烈鸟网络(广州)股份有限公司 应用程序可交互多开方法和系统、存储介质、电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298648A (zh) * 2011-09-29 2011-12-28 南京国电南自轨道交通工程有限公司 开放式实时数据库跨进程访问方法
CN103067343A (zh) * 2011-10-21 2013-04-24 阿里巴巴集团控股有限公司 防止篡改ActiveX控件用途的方法和系统
CN108932427A (zh) * 2018-05-18 2018-12-04 华中科技大学 一种Android应用多开环境中限制访问的控制方法及系统
CN109491725A (zh) * 2018-11-12 2019-03-19 火烈鸟网络(广州)股份有限公司 应用程序可交互多开方法和系统、存储介质、电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023087642A1 (zh) * 2021-11-19 2023-05-25 上海商汤智能科技有限公司 用户代码的运行方法及装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
EP3572936B1 (en) Method, terminal and computer-readable storage medium for displaying interface of application program
CN107239351B (zh) 粘贴方法及装置
CN105100074A (zh) 数据操作处理方法、装置以及终端设备
CN110704054A (zh) 通过小程序接入目标应用程序的方法、装置、电子设备及存储介质
CN105912204B (zh) 启动应用界面的方法及装置
CN107436782B (zh) 应用程序静默安装方法及装置
CN108446226B (zh) 应用异常的处理方法
US11397596B2 (en) Method and device for controlling pop-up window, electronic device, and storage medium
CN112306566A (zh) 数据处理方法及装置
CN105824513A (zh) 消息处理方法及装置
CN113778687B (zh) 内存分配信息处理方法、装置、电子设备及存储介质
CN106354595B (zh) 移动终端、硬件组件状态检测方法及装置
CN105868338B (zh) 应用处理方法及装置
CN114066370A (zh) 库存服务调用方法、装置、设备、存储介质及程序产品
CN114430410A (zh) 基于虚拟域名的系统访问方法、装置及设备
CN106155863A (zh) 终端预期行为控制方法及终端
CN107463414B (zh) 应用安装方法及装置
CN113806741A (zh) 信息处理方法及装置
CN107391128B (zh) 监控虚拟文件对象模型vdom的方法和装置
CN114531493B (zh) 一种请求处理方法、装置、电子设备及存储介质
CN105892832B (zh) 一种显示展示信息的方法和装置
CN111813426A (zh) 一种指纹数据处理方法及装置
CN114238801B (zh) 一种页面加载方法、装置、电子设备及存储介质
CN114489641B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN115203618B (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