CN104836715B - 在移动设备上运行的多个应用之间共享数据的方法和装置 - Google Patents
在移动设备上运行的多个应用之间共享数据的方法和装置 Download PDFInfo
- Publication number
- CN104836715B CN104836715B CN201410046016.6A CN201410046016A CN104836715B CN 104836715 B CN104836715 B CN 104836715B CN 201410046016 A CN201410046016 A CN 201410046016A CN 104836715 B CN104836715 B CN 104836715B
- Authority
- CN
- China
- Prior art keywords
- application
- access
- data
- shared region
- strategy
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6281—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/086—Access security using security domains
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
- H04W12/43—Security arrangements using identity modules using shared identity modules, e.g. SIM sharing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了在移动设备上运行的多个应用之间共享数据的方法和装置。在一个实施方式中,提供了一种用于在移动设备上运行的多个应用之间共享数据的方法,包括:接收来自多个应用中的第二应用的对多个应用中的第一应用的第一数据的访问请求;响应于访问请求,经由第一应用和第二应用之间的共享区来使得第二应用访问第一数据,其中共享区通过如下方式建立:获取对第一数据的访问权限;获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略;利用访问权限,按照访问策略建立共享区。在另一实施方式中,提供了相应的装置。采用本发明的方法和装置,可以在不改变已经开发的应用的情况下,实现在移动设备上运行的各个应用之间共享数据。
Description
技术领域
本发明的各实施方式涉及数据共享,更具体地,涉及用于在移动设备上运行的多个应用之间共享数据的方法和装置。
背景技术
随着计算机硬件技术的发展,在计算设备的计算性能逐步提高的同时,计算设备的体积越来越小。目前,诸如智能电话、个人数字助理、平板式计算机等移动设备已经能提供越来越强大的数据处理能力。另外,由于移动设备的操作系统的逐步完善,已经开发出了越来越多的用于在移动设备上运行的应用。移动设备的用户可以通过免费或者付费方式下载得到用于不同操作系统(例如,IOS(iPhone Operation System)、安卓(Android)操作系统、或者其他任何可能的操作系统)的应用。
目前,用于在移动设备上运行的各种应用可以提供越来越多样化的功能,例如,即时消息通信、电子邮件收发、文字处理、图像处理、游戏等等。因而,如何在这些提供不同功能的应用之间共享数据成为一个问题。
共享数据的一个简单的场景是,例如用户期望将由即时消息应用接收到的消息以电子邮件方式转发到一个联系人。此时,该用户通常会首先打开即时消息应用、并找到期望转发的消息,并且在选中该消息之后执行“拷贝”操作;之后,再打开电子邮件应用并在电子邮件编辑窗口中执行“粘贴”操作,继而按下“发送”按钮才能完成期望的动作。可以理解,用户需要以手工方式执行这一系列的打开、选择、拷贝、打开、粘贴、发送操作。因而,如何方便、快捷地在各个应用之间共享数据成为一项亟待解决的问题。
发明内容
因而,期望能够开发一种能够方便、快捷地在多个应用之间共享数据的技术方案。期望该技术方案能够在无需修改已有应用代码的情况下实现数据共享;期望该技术方案可以向用户提供可定制服务,以便用户可以自定义在哪些应用之间共享什么数据;此外,还期望该技术方案可以针对数据共享提供安全控制。
根据本发明的一个方面,提供了一种用于在移动设备上运行的多个应用之间共享数据的方法,包括:接收来自多个应用中的第二应用的对多个应用中的第一应用的第一数据的访问请求;以及响应于访问请求,经由第一应用和第二应用之间的共享区来使得第二应用访问第一数据,其中共享区通过如下方式建立:获取对第一数据的访问权限;获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略;利用访问权限,按照访问策略建立共享区。
在本发明的一个实施方式中,利用访问权限、按照访问策略建立共享区包括:在共享区中存储指向第一应用的第一数据的地址映射。
在本发明的一个实施方式中,响应于访问请求,经由第一应用和第二应用之间的共享区来使得第二应用访问第一数据包括:响应于访问请求符合访问策略,基于地址映射来将访问请求引导至第一数据。
在本发明的一个实施方式中,提供了一种用于在移动设备上运行的多个应用之间共享数据的装置,包括:接收模块,配置用于接收来自多个应用中的第二应用的对多个应用中的第一应用的第一数据的访问请求;共享区,配置用于在第一应用和第二应用之间共享数据,其中共享区通过如下方式建立:获取对第一数据的访问权限;获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略;利用访问权限,按照访问策略建立共享区;访问模块,配置用于响应于访问请求,经由共享区来使得第二应用访问第一数据。
在本发明的一个实施方式中,利用访问权限,按照访问策略建立共享区包括:在共享区中存储指向第一应用的第一数据的地址映射。
在本发明的一个实施方式中,访问模块包括:引导模块,配置用于响应于访问请求符合访问策略,基于地址映射来将访问请求引导至第一数据。
采用本发明所述的方法和装置,可以在不改变已经开发的应用的情况下,实现在移动设备上运行的各个应用之间共享数据。并且针对移动设备的不同操作系统,可以相应地实现本发明所述的方法和装置。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了适于用来实现本发明实施方式的示例性移动设备12的框图;
图2示意性示出了根据一个解决方案的在多个应用之间共享数据的方法的框图;
图3示意性示出了根据本发明一个实施方式的在多个应用之间共享数据的方法的框图;
图4示意性示出了根据本发明一个实施方式的用于在多个应用之间共享数据的方法的流程图;
图5A和图5B分别示意性示出了根据本发明一个实施方式的在移动设备上安装的应用的框图;
图6示意性示出了根据本发明一个实施方式的由即时消息应用访问电子邮件应用中的数据的示意图;以及
图7示意性示出了根据本发明一个实施方式的用于在多个应用之间共享数据的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路,,、“模块”或“系统”。此外,在一些实施方式中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了适于用来实现本发明实施方式的示例性移动设备12的框图。图1显示的移动设备12仅仅是一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。
如图1所示,移动设备12以通用计算设备的形式表现。移动设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
移动设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被移动设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。移动设备12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
移动设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该移动设备12交互的设备通信,和/或与使得该移动设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,移动设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与移动设备12的其他模块通信。应当明白,尽管图中未示出,可以结合移动设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,上文仅仅示意性示出了可以实现本发明的方法和装置的移动设备的示意性框图,本发明中所述的移动设备还可以包括更多或者更少的组件,或者还可以具有不同于图1所示的架构图。
应当注意,由于移动设备的操作系统的特性以及在移动设备上运行的应用的实现方式,在移动设备上的多个应用之间不能共享数据。图2示意性示出了根据一个解决方案的在多个应用之间共享数据的方法的框图200。如图2所示,移动设备上可以安装操作系统210,该操作系统210例如可以是IOS操作系统、安卓操作系统或者其他任何可能的操作系统,并且用于为移动设备的运行提供诸如处理器管理、存储器管理等功能。
在操作系统210上可以安装各种应用,例如,即时消息应用、电子邮件应用、图像处理应用、游戏应用等等。应当注意,当在移动设备上安装了第一应用220和第二应用230之后,第一应用220和第二应用230各自的数据(例如,第一数据222和第二数据232)对于外部应用而言是不可见的。例如第一应用220仅能访问自身的第一数据222,并且第二应用230仅能访问自身的第二数据232。
在此情况下,数据是应用的私有数据。当需要在各个应用之间进行共享时,可以通过例如上文所述的拷贝/粘贴方式进行。尽管在上文中所述的拷贝/粘贴方式可以在一定程度上实现数据共享,然而这种共享是借助于操作系统的“剪贴板”并由用户的手工操作完成,费时费力;另一方面,对于被拷贝/粘贴的数据对象也存在限制,例如仅能拷贝诸如文本、图像等类型的数据;另外,由于“剪贴板”容量的限制,用户每次仅能拷贝有限的数据。
除了拷贝/粘贴以外,在IOS操作系统中还提供了文档交互(DocumentInteraction)的功能,该功能允许注册文件类型关联,并且应用可以指定它们能够打开特定类型的文件。尽管该功能可以允许不同应用打开同一个文件,然而,该功能需要对将被打开的文件执行复制操作,并且在打开文件时缺少安全控制策略。
此外,在安卓操作系统中,提供了内容提供者(ContentProvider)服务,该服务允许应用的开发人员在设计/开发阶段(而不是运行阶段)设置与其他应用共享数据的策略;一旦应用已经开发完毕,则在运行时不能修改共享策略。
鉴于上述技术方案中的不足,期望能够提供一种可以在各个应用之间共享数据的解决方案,并且期望该解决方案可以在不修改现有应用的程序代码的基础上实现。另外,期望用户可以自定义在哪些应用之间共享什么数据,并且还期望用户可以自行制定安全控制策略(例如,读/写权限的控制,等)。
为此,本发明提供了一种在应用之间共享数据的方法。图3示意性示出了根据本发明一个实施方式的在多个应用之间共享数据的方法的框图300。如图3所示,根据本发明的原理,用户可以自定义针对应用中的数据进行访问的访问策略310,例如,在访问策略310中可以指定:第二应用230可以访问第一应用220的第一数据222,并且访问权限为只读访问。
采用本发明的实施方式,可以通过设置共享区320来实现由第二应用230访问第一应用220中的第一数据222。在已经设置了访问策略310和共享区320的情况下,访问过程可以如下所示:首先,第二应用230请求经由共享区320来访问第一应用220的第一数据222(如箭头A所示);将该请求引导至第一应用220的第一数据222的地址(如箭头B所示);继而,经由共享区320来向第二应用230返回所访问的数据(如箭头C和D所示)。
由于共享区比第二应用具有更高访问权限(例如,共享区可以在操作系统级别实现,或者通过扩展操作系统的功能来实现),因而,共享区320可以访问各个应用中的数据。通过将共享区作为中介,第二应用230可以访问第一应用220中的第一数据222。应当注意,面对移动设备上运行的各个应用,共享区320可以表现出中介的功能。在具体实现中共享区可以采用地址映射的方式实现,例如,共享区中可以记录原本对于各个应用而言为“私有”的数据的地址,以便其他应用可以访问这些地址。
应当注意,尽管图3中仅仅示意性示出了两个应用,即,第一应用220和第二应用230,本领域技术人员还可以基于本发明所述的原理,来实现在多个应用之间共享数据。例如,还可以定义:第三应用可以访问第一应用220中的数据。此外,还可以定义各个访问的权限,例如,只读权限或者读写权限。
在下文中,将详细描述本发明的具体实现方式。在本发明的一个实施方式中,提供了一种用于在移动设备上运行的多个应用之间共享数据的方法,包括:接收来自多个应用中的第二应用的对多个应用中的第一应用的第一数据的访问请求;以及响应于访问请求,经由第一应用和第二应用之间的共享区来使得第二应用访问第一数据,其中共享区通过如下方式建立:获取对第一数据的访问权限;获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略;利用访问权限,按照访问策略建立共享区。
现在将参见图4详细描述,图4示意性示出了根据本发明一个实施方式的用于在多个应用之间共享数据的方法的流程图400。首先,在步骤S402中,接收来自多个应用中的第二应用的对多个应用中的第一应用的第一数据的访问请求。
在步骤S404中,响应于访问请求,经由第一应用和第二应用之间的共享区来使得第二应用访问第一数据。在此实施方式中,共享区中存储了指向第一应用中的第一数据中的可访问部分的入口信息,因而可以在接收到第二应用对于第一数据的访问时,经由共享区来引导第二应用访问第一应用的第一数据。
本领域技术人员应当注意,本发明的上下文中的“第一应用”和“第二应用”仅仅是运行在移动设备上的“多个应用”中的两个具体示例,在此并不限定各个应用的具体功能。另外,本发明中的“第一”和“第二”仅仅旨在区分不同应用,两个应用之间并不存在顺序关系。具体而言,当电子邮件应用访问即时消息应用中的聊天记录时,即时消息应用和电子邮件应用分别对应于第一应用和第二应用;而当即时消息应用访问电子邮件应用中的已接收邮件时,则电子邮件应用和即时消息应用分别对应于第一应用和第二应用。
在如图4所述的实施方式中,共享区通过如下方式建立:获取对第一数据的访问权限;获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略;利用访问权限,按照访问策略建立共享区。在下文中,将相似描述建立共享区的步骤。
首先,获取对第一数据的访问权限。应当注意,本发明的方法可以在比应用程序更为底层的层级处实现,以便访问原本对于各个应用而言为“私有”的数据。在此实施方式中的“访问权限”可以是指具有“读权限”,或者既具有读操作权限又具有写操作权限。例如,当仅允许针对第一数据执行读取操作而不允许执行写入操作时,访问权限可以仅包括读权限。
继而,获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略。在此的访问策略是指第二应用可以对第一应用中的第一数据进行何种访问,例如,读访问和/或写访问。在此实施方式中,访问策略可以应用于第一应用中的全部第一数据,或者可以应用与第一应用中的部分数据。
例如,假设第一应用是即时消息应用,第二应用是电子邮件应用,则可以指定如下访问策略:允许电子邮件应用访问即时消息应用中的全部聊天记录,或者仅允许电子邮件应用访问即时消息应用中与特定用户相关联的聊天记录,或者仅允许电子邮件应用访问全部聊天记录中的文本数据、而不允许访问图像数据。在下文表1中示意性示出了根据本发明一个实施方式的访问策略的示例。
表1 访问策略示例1
序号 | 访问者 | 访问权限 |
1 | 第二应用 | 读 |
2 | 第三应用 | 读/写 |
应当注意,表1中的数据结构仅仅是示意性的,根据上文所述的原理,本领域技术人员可以自行设计用于存储访问策略的数据结构,在此不再赘述。
最后,利用访问权限,按照访问策略建立共享区。按照本发明的原理,共享区充当第一应用和第二应用之间的中介,以支持第二应用按照预定的访问策略访问原本对于第一应用为“私有”的第一数据。在此实施方式中,建立共享区的目的在于,仅向第二应用开放符合访问策略的访问权限,而对第二应用屏蔽不符合访问策略的权限。
具体地,当访问策略为第二应用可以读取全部聊天记录中的文本部分时,则可以在共享区中仅提供存储聊天记录中的文本数据的区域的地址信息,而并不提供存储聊天记录中的图像数据的区域的地址信息。
在本发明的一个实施方式中,利用访问权限、按照访问策略建立共享区包括:在共享区中存储指向第一应用的第一数据的地址映射。假设第一应用中的第一数据存储在移动设备的存储器中的地址vzone://zone1/app1/…处的文件1中,则可以在共享区中存储如下文表2所示的数据结构:
表2地址映射
共享区名称 | 应用 | 地址 | 文件名 |
区域1 | 第一应用 | vzone://zone1/app1/… | 文件1 |
本领域技术人员应当注意,尽管上文中仅示出了在移动设备上存在一个共享区的情况,本领域技术人员可以基于上文所述的原理在移动设备中建立多个共享区。例如,当电子邮件应用期望访问即时消息应用中的聊天记录时,可以建立第一共享区;当社交网络应用期望访问游戏应用中的数据时,可以建立第二共享区,等等。
在本发明的一个实施方式中,响应于访问请求,经由第一应用和第二应用之间的共享区来使得第二应用访问第一数据包括:响应于访问请求符合访问策略,基于地址映射来将访问请求引导至第一数据。
第二应用可以经由如上文表2中所示的地址映射来访问第一数据,应当注意,本发明的实施方式还提供了安全控制,即第二应用只能按照访问策略赋予的权限来访问第一数据。具体地,例如可以预定义,当电子邮件应用访问即时消息应用中的聊天记录时,仅具有读访问的权限。因而电子邮件应用可以将聊天记录读取到自己的编辑电子邮件窗口中,并且在编辑电子邮件窗口中可以修改待发送邮件,而并不能修改聊天记录中的原始数据。
在本发明的一个实施方式中,还可以提供更精细粒度的访问策略。根据一个实施方式,访问策略至少包括:数据类型、针对数据类型的访问权限。如下文表3中示出了访问策略的另一示例,具体地,例如可以针对第一数据中的不同数据类型设置相应的访问权限。假设即时消息应用中的聊天记录中分别包括文本数据和图像数据,则可以针对不同类型设置各自的访问权限。如表3所示,可以针对文本数据设置只读的访问权限,而针对图像数据设置读/写的访问权限。
表3访问策略示例2
序号 | 数据类型 | 访问者 | 访问权限 |
1 | 文本 | 第二应用 | 读 |
2 | 图像 | 第二应用 | 读/写 |
3 | 文本 | 第三应用 | 读 |
… |
图5A和图5B分别示意性示出了根据本发明一个实施方式的在移动设备上安装的应用的框图500A和500B。在如图5A和图5B示出的不同情况下,可以采用不同方式获取针对第一数据的访问权限。
具体地,在本发明的一个实施方式中,获取对第一数据的访问权限包括:在移动设备的操作系统层级获取访问权限。如图5A示出了此实施方式的应用环境。如图5A所示,第一应用220A和第二应用230A都安装在移动设备510A上,并且第一应用220A和第二应用230A是两个相对独立的应用,其中第一应用220A仅能访问自身的第一数据222A,而第二应用230A仅能访问自身的第二数据232A。
此时,由于移动设备的操作系统对于存储器提供管理和控制,并具备对全部地址空间的访问权限,因而在如图5A所示的情况下,可以在移动设备的操作系统级别实现获取对第一数据222A的访问权限。在此实施方式中,可以在操作系统级别执行数据访问操作。
另外,在本发明的一个实施方式中,第一数据驻留在移动设备的外部存储中,以及获取对第一数据的访问权限包括:基于对外部存储的访问来获取访问权限。如图5B示出了此实施方式的应用环境。
在此实施方式中,应用中的控制部分(第一应用220B)和数据部分(第一数据222B)被分别安装在移动设备510B上和外部存储520B(例如,安卓系统的移动设备的外部SD卡)上,此时,则无需在操作系统级别即可实现对外部存储520B上的第一数据222B的访问。在本发明的一个实施方式中,可以基于对外部存储的访问(即,从外部存储520B读取数据和/或向外部存储520B写入数据)来获取访问权限。
图6示意性示出了根据本发明一个实施方式的由即时消息应用访问电子邮件应用中的数据的示意图600。图6中示意性示出了即时消息应用的用户界面。如图6所示,即时消息应用安装在移动设备610上,并且此时两个用户Alan和Teresa正在聊天。在此示例中,Teresa是移动设备610的用户,假设Teresa希望向Alan转发她已经接收到的邮件。则按照现有技术和按照本发明的技术方案的操作对比如下:
按照现有技术,Teresa可以首先在电子邮件应用中打开待转发邮件,将该邮件的全部内容拷贝至剪贴板,并将所拷贝内容粘贴到即时消息应用中的消息编辑框630,继而点击“发送”按钮640才可以完成转发步骤;或者Teresa可以首先将待转发邮件另存为单独的文件,并将该文件以附件形式发送至Alan。
按照本发明的技术方案,Teresa可以点击以“+”示出的访问共享数据的按钮620,即可弹出如图6中阴影部分650所示的界面,该阴影部分示出了3个应用,即邮件应用、游戏应用和图像应用。这三个应用均为由当前的即时消息应用可访问的应用。此时,Teresa仅需要选择“电子邮件”应用,并在弹出电子邮件应用的界面中选择将要向Alan转发的电子邮件,并按下“发送”按钮640,即可直接向Alan进行转发。
通过上文的比较可以理解,本发明的技术方案大大简化了在多个应用之间共享数据的人工操作,并且可以提供更加方便友好的数据共享方式。
在本发明的一个实施方式中,获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略包括以下中的至少任一项:从移动设备的用户自定义的规则中获取访问策略;以及从第一应用和第二应用的提供者之间的协议获取访问策略。
本发明的实施方式为在多个应用之间共享数据提供了个性化定制服务,例如,用户可以使用本发明的方法来定制不同应用之间的共享策略。例如,用户可以自定义:电子邮件应用可以访问即时消息应用中的全部历史记录,即时消息应用可以访问游戏应用中的全部信息,以及游戏应用不能访问其他任何应用的私有数据。
另外,不同应用的提供者还可以签订数据共享协议,例如,社交网络应用的提供者可以与即时消息应用的提供者签订协议,以便在两个应用之间完全共享全部数据,等等。在此情况下,用户仅需要导入在应用提供者之间预先签订的协议,即可在两个应用之间完全共享数据。
在本发明的一个实施方式中,该方法独立于第一应用和第二应用而实现。应当注意,本发明的技术方案并不依赖于第一应用和第二应用的开发,而是独立于两者实现的用于管理数据的方法。该方法依赖于移动设备的操作系统,并且可以在移动设备的操作系统级别(例如,基于IOS操作系统、安卓操作系统或者其他任何可能的操作系统)实现。
图7示意,性示出了根据本发明一个实施方式的用于在多个应用之间共享数据的装置的框图700。如图7所示,提供了一种用于在移动设备上运行的多个应用之间共享数据的装置,包括:接收模块710,配置用于接收来自多个应用中的第二应用的对多个应用中的第一应用的第一数据的访问请求;访问模块730,配置用于响应于访问请求,经由所述第一应用和所述第二应用之间的共享区720来使得所述第二应用访问所述第一数据;其中共享区720通过如下方式建立:获取对第一数据的访问权限;获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略;利用访问权限,按照访问策略建立共享区。
在本发明的一个实施方式中,利用访问权限,按照访问策略建立共享区包括:在共享区中存储指向第一应用的第一数据的地址映射。
在本发明的一个实施方式中,访问模块730包括:引导模块,配置用于响应于访问请求符合访问策略,基于地址映射来将访问请求引导至第一数据。
在本发明的一个实施方式中,访问策略至少包括:数据类型、针对数据类型的访问权限。
在本发明的一个实施方式中,获取对第一数据的访问权限包括:在移动设备的操作系统层级获取访问权限。
在本发明的一个实施方式中,第一数据驻留在移动设备的外部存储中,以及获取对第一数据的访问权限包括:基于对外部存储的访问来获取访问权限。
在本发明的一个实施方式中,获取第一应用向第二应用赋予的针对第一数据进行访问的访问策略包括以下中的至少任一项:从移动设备的用户自定义的规则中获取访问策略;以及从第一应用和第二应用的提供者之间的协议获取访问策略。
在本发明的一个实施方式中,装置独立于第一应用和第二应用而实现。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (16)
1.一种用于在移动设备上运行的多个应用之间共享数据的方法,包括:
接收来自所述多个应用中的第二应用的对所述多个应用中的第一应用的第一数据的访问请求;以及
响应于所述访问请求,经由所述移动设备上的所述第一应用和所述第二应用之间的共享区来使得所述第二应用访问所述第一数据,其中所述共享区包括所述第一数据的地址并且所述地址可以由第二应用访问,其中所述共享区具有所述移动设备的操作系统层级的访问权限,
其中所述共享区通过如下方式建立:
获取对所述第一数据的访问权限;
获取所述第一应用向所述第二应用赋予的针对所述第一数据进行访问的访问策略;
利用所述访问权限,按照所述访问策略建立所述共享区。
2.根据权利要求1所述的方法,其中利用所述访问权限、按照所述访问策略建立所述共享区包括:
在所述共享区中存储指向所述第一应用的所述第一数据的地址映射。
3.根据权利要求2所述的方法,其中响应于所述访问请求,经由所述第一应用和所述第二应用之间的共享区来使得所述第二应用访问所述第一数据包括:
响应于所述访问请求符合所述访问策略,基于所述地址映射来将所述访问请求引导至所述第一数据。
4.根据权利要求1-3中的任一项所述的方法,其中所述访问策略至少包括:数据类型、针对所述数据类型的访问权限。
5.根据权利要求1-3中的任一项所述的方法,其中获取对所述第一数据的访问权限包括:
在所述移动设备的操作系统层级获取所述访问权限。
6.根据权利要求1-3中的任一项所述的方法,其中所述第一数据驻留在所述移动设备的外部存储中,以及获取对所述第一数据的访问权限包括:基于对所述外部存储的访问来获取所述访问权限。
7.根据权利要求1-3中的任一项所述的方法,其中获取所述第一应用向所述第二应用赋予的针对所述第一数据进行访问的访问策略包括以下中的至少任一项:
从所述移动设备的用户自定义的规则中获取所述访问策略;以及从所述第一应用和所述第二应用的提供者之间的协议获取所述访问策略。
8.根据权利要求1-3中的任一项所述的方法,其中所述方法独立于所述第一应用和所述第二应用而实现。
9.一种用于在移动设备上运行的多个应用之间共享数据的装置,包括:
接收模块,配置用于接收来自所述多个应用中的第二应用的对所述多个应用中的第一应用的第一数据的访问请求;以及
访问模块,配置用于响应于所述访问请求,经由所述移动设备上的所述第一应用和所述第二应用之间的共享区来使得所述第二应用访问所述第一数据,其中所述共享区包括所述第一数据的地址并且所述地址可以由第二应用访问,其中所述共享区具有所述移动设备的操作系统层级的访问权限,
其中所述共享区通过如下方式建立:
获取对所述第一数据的访问权限;
获取所述第一应用向所述第二应用赋予的针对所述第一数据进行访问的访问策略;
利用所述访问权限,按照所述访问策略建立所述共享区。
10.根据权利要求9所述的装置,其中利用所述访问权限,按照所述访问策略建立所述共享区包括:
在所述共享区中存储指向所述第一应用的所述第一数据的地址映射。
11.根据权利要求10所述的装置,其中所述访问模块包括:
引导模块,配置用于响应于所述访问请求符合所述访问策略,基于所述地址映射来将所述访问请求引导至所述第一数据。
12.根据权利要求9-11中的任一项所述的装置,其中所述访问策略至少包括:数据类型、针对所述数据类型的访问权限。
13.根据权利要求9-11中的任一项所述的装置,其中获取对所述第一数据的访问权限包括:
在所述移动设备的操作系统层级获取所述访问权限。
14.根据权利要求9-11中的任一项所述的装置,其中所述第一数据驻留在所述移动设备的外部存储中,以及获取对所述第一数据的访问权限包括:基于对所述外部存储的访问来获取所述访问权限。
15.根据权利要求9-11中的任一项所述的装置,其中获取所述第一应用向所述第二应用赋予的针对所述第一数据进行访问的访问策略包括以下中的至少任一项:
从所述移动设备的用户自定义的规则中获取所述访问策略;以及从所述第一应用和所述第二应用的提供者之间的协议获取所述访问策略。
16.根据权利要求9-11中的任一项所述的装置,其中所述装置独立于所述第一应用和所述第二应用而实现。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410046016.6A CN104836715B (zh) | 2014-02-08 | 2014-02-08 | 在移动设备上运行的多个应用之间共享数据的方法和装置 |
US14/600,073 US9910977B2 (en) | 2014-02-08 | 2015-01-20 | Data sharing between multiple applications running on a mobile device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410046016.6A CN104836715B (zh) | 2014-02-08 | 2014-02-08 | 在移动设备上运行的多个应用之间共享数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104836715A CN104836715A (zh) | 2015-08-12 |
CN104836715B true CN104836715B (zh) | 2018-08-03 |
Family
ID=53775175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410046016.6A Active CN104836715B (zh) | 2014-02-08 | 2014-02-08 | 在移动设备上运行的多个应用之间共享数据的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9910977B2 (zh) |
CN (1) | CN104836715B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160042491A (ko) * | 2014-10-10 | 2016-04-20 | 삼성전자주식회사 | 시간 표시 방법과 이를 지원하는 전자 장치 |
CN105989296B (zh) * | 2015-01-27 | 2019-03-19 | 华为技术有限公司 | 控制应用访问的方法和装置 |
CN107291560A (zh) * | 2016-03-31 | 2017-10-24 | 北京三星通信技术研究有限公司 | 一种智能设备的内容确定方法和装置 |
CN106919634B (zh) * | 2016-06-12 | 2020-09-25 | 阿里巴巴集团控股有限公司 | 跨应用共享数据的方法及网页浏览器 |
CN105873061A (zh) * | 2016-06-17 | 2016-08-17 | 深圳市创梦天地科技有限公司 | 终端设备中进行软件之间数据共享的方法和装置 |
CN107797731B (zh) * | 2016-08-29 | 2021-03-30 | 中国移动通信有限公司研究院 | 一种信息处理方法、系统及移动终端 |
CN106330958B (zh) * | 2016-09-29 | 2020-07-07 | 上海创功通讯技术有限公司 | 一种安全访问方法及装置 |
CN106411714B (zh) * | 2016-11-02 | 2019-09-20 | 天脉聚源(北京)科技有限公司 | 一种处理双方交互的方法及装置 |
KR102390798B1 (ko) * | 2017-08-22 | 2022-04-26 | 삼성전자주식회사 | 그래픽컬 콘텐트를 제공하는 전자 장치 및 제어 방법 |
CN108763963B (zh) * | 2018-06-12 | 2022-08-26 | 北京奇虎科技有限公司 | 基于数据访问权限的分布式处理方法、装置及系统 |
CN110083465B (zh) * | 2019-04-26 | 2021-08-17 | 上海连尚网络科技有限公司 | 一种寄宿应用间的数据传递方法 |
US11275631B1 (en) * | 2019-09-30 | 2022-03-15 | Amazon Technologies, Inc. | Systems, methods, and apparatuses for using shared memory for data between processes |
US11403154B1 (en) | 2019-09-30 | 2022-08-02 | Amazon Technologies, Inc. | Systems, methods and apparatuses for running multiple machine learning models on an edge device |
CN111078789B (zh) * | 2019-11-25 | 2023-06-27 | 泰康保险集团股份有限公司 | 数据共享方法及装置、存储介质、电子设备 |
CN112004147A (zh) * | 2020-08-20 | 2020-11-27 | 北京云中融信网络科技有限公司 | 一种视频渲染方法、装置、电子设备及存储介质 |
CN113010224B (zh) * | 2021-03-03 | 2024-01-30 | 南方电网数字平台科技(广东)有限公司 | 前端微服务化方法、装置、计算机设备和存储介质 |
CN114416702B (zh) * | 2022-04-01 | 2022-08-05 | 杭州筋斗腾云科技有限公司 | 资源管理方法及计算系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744488A (zh) * | 2004-05-11 | 2006-03-08 | 微软公司 | 在即时消息传送会话内共享数据 |
CN101739361A (zh) * | 2008-11-12 | 2010-06-16 | 联想(北京)有限公司 | 访问控制方法、访问控制装置及终端设备 |
CN102291717A (zh) * | 2011-08-15 | 2011-12-21 | 宇龙计算机通信科技(深圳)有限公司 | 数据保护方法和终端 |
CN102945233A (zh) * | 2011-08-15 | 2013-02-27 | 联想(北京)有限公司 | 电子设备及其数据管理方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934740B1 (en) | 2000-09-19 | 2005-08-23 | 3Com Corporation | Method and apparatus for sharing common data objects among multiple applications in a client device |
US8726294B2 (en) | 2010-10-01 | 2014-05-13 | Z124 | Cross-environment communication using application space API |
CA2578472C (en) | 2007-01-12 | 2013-01-15 | Truecontext Corporation | Methods and system for orchestrating services and data sharing on mobile devices |
US9336326B2 (en) | 2009-12-29 | 2016-05-10 | Cellco Partnership | Browser based objects for copying and sending operations |
US20140053234A1 (en) | 2011-10-11 | 2014-02-20 | Citrix Systems, Inc. | Policy-Based Application Management |
US8863297B2 (en) * | 2012-01-06 | 2014-10-14 | Mobile Iron, Inc. | Secure virtual file management system |
US20130239192A1 (en) * | 2012-03-09 | 2013-09-12 | RAPsphere, Inc. | Method and apparatus for securing mobile applications |
US9521551B2 (en) | 2012-03-22 | 2016-12-13 | The 41St Parameter, Inc. | Methods and systems for persistent cross-application mobile device identification |
US8832847B2 (en) | 2012-07-10 | 2014-09-09 | International Business Machines Corporation | Coordinating data sharing among applications in mobile devices |
-
2014
- 2014-02-08 CN CN201410046016.6A patent/CN104836715B/zh active Active
-
2015
- 2015-01-20 US US14/600,073 patent/US9910977B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744488A (zh) * | 2004-05-11 | 2006-03-08 | 微软公司 | 在即时消息传送会话内共享数据 |
CN101739361A (zh) * | 2008-11-12 | 2010-06-16 | 联想(北京)有限公司 | 访问控制方法、访问控制装置及终端设备 |
CN102291717A (zh) * | 2011-08-15 | 2011-12-21 | 宇龙计算机通信科技(深圳)有限公司 | 数据保护方法和终端 |
CN102945233A (zh) * | 2011-08-15 | 2013-02-27 | 联想(北京)有限公司 | 电子设备及其数据管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104836715A (zh) | 2015-08-12 |
US9910977B2 (en) | 2018-03-06 |
US20150227736A1 (en) | 2015-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104836715B (zh) | 在移动设备上运行的多个应用之间共享数据的方法和装置 | |
US11593055B2 (en) | Selective screen sharing | |
CN105745637A (zh) | 经由电子邮件共享文件 | |
US10466859B2 (en) | Method and system for creating a site on a user terminal | |
US20140019540A1 (en) | Method and system for providing various services based on social information of messenger platform users | |
CN104956299A (zh) | 基于用户的交互元素 | |
US11586683B2 (en) | Methods, systems and recording mediums for managing conversation contents in messenger | |
CN109213611A (zh) | 跨进程通讯方法、装置、终端及存储介质 | |
KR20160005609A (ko) | 그래픽 사용자 인터페이스를 표시하는 방법 및 이를 지원하는 전자장치 | |
US10984568B2 (en) | Methods, devices, and computer-readable media for sharing image effects | |
CN110266505A (zh) | 一种管理会话群的方法与设备 | |
US20150242076A1 (en) | Method of editing one or more objects and apparatus for same | |
US20200183996A1 (en) | Social media tag suggestion based on product recognition | |
CN112307375A (zh) | 页面展示方法、装置、电子设备和计算机可读介质 | |
CN110290557A (zh) | 一种加载应用内页面标签的方法与设备 | |
KR20140126152A (ko) | 음악 컨텐츠 이용 서비스 제공 방법 및 서버 | |
CN106022010A (zh) | 一种文件展示方法及装置 | |
CN106502760A (zh) | 一种虚拟机亲和性策略可视化的方法及装置 | |
CN104571781B (zh) | 安卓系统中多应用窗口显示方法和窗口管理装置 | |
CN110780955B (zh) | 一种用于处理表情消息的方法与设备 | |
CN112738774A (zh) | 应用共享方法、装置、终端及计算机可读存储介质 | |
US9959598B2 (en) | Method of processing image and electronic device thereof | |
US20230168786A1 (en) | Methods and Systems for Location-Based Accessing of Predesignated Data Payloads Using Extended Reality | |
CN110008186A (zh) | 针对多ftp数据源的文件管理方法、装置、终端和介质 | |
CN109992733A (zh) | 信息分享的方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |