数据共享方法及装置与流程

文档序号:11691107阅读:253来源:国知局
数据共享方法及装置与流程

本发明涉及数据共享技术领域,特别涉及一种数据共享方法及装置。



背景技术:

随着移动通信技术的发展,移动终端已成为人们日常生活的必备品。在移动终端上可以安装应用程序,一般来说,一个应用程序只能启动一个实例并运行,然后针对某些应用程序,例如聊天工具、微博、游戏,用户可能具有多个账户,却无法同时登录使用,更无法在不同账户之间进行切换、交易等操作。这就带来了诸多的不便。

针对上述问题,应用程序开发人员研究了一种使用多个账号同时登录应用程序的方法,也叫做多开。但是,基于账户空间的隔间特性,应用程序产生的资源数据,如图片和视频等,无法在不同账户之间实现共享。



技术实现要素:

有鉴于此,本发明的目的是提供一种应用多开场景下实现不同账户之间的资源数据共享的数据共享方法及装置。

为了实现上述目的,本发明提供了一种数据共享方法,包括:

当一支持在一台电子设备上同时运行多个账户的应用程序生成资源文件时,根据所述资源文件的类型将所述资源文件存储于所述应用程序的其中一个账户的存储目录中;

当所述应用程序的其他账户需要调用所述资源文件时,引导所述其他账户从所述其中一个账户的所述存储目录中访问所述资源文件。

作为优选,所述方法还包括:

当所述应用程序对应的其他账户发送访问所述资源文件的请求时,对所述其他账户进行权限验证,以确定所述其他账户具有读写权限。

作为优选,根据所述资源文件的属性将所述资源文件存储于所述应用程序对应的其中一个账户路径下的存储目录中,包括:

判断所述资源文件的属性是否为共享;

若是,则将所述资源文件存储于所述应用程序对应的其中一个账户路径下的存储目录中;

否则,将所述资源文件存储于生成所述资源文件的账户下的存储目录中。

作为优选,所述其中一个账户为主账户,所述其他账户为分身账户。

作为优选,所述资源文件包括以下至少一种:媒体文件、文档文件。

本发明实施例还提供一种数据共享装置,包括:

存储模块,配置为当一支持在一台电子设备上同时运行多个账户的应用程序生成资源文件时,根据所述资源文件的类型将所述资源文件存储于所述应用程序的其中一个账户的存储目录中;

引导模块,配置为当所述应用程序的其他账户需要调用所述资源文件时,引导所述其他账户从所述其中一个账户的所述存储目录中访问所述资源文件。

作为优选,所述装置还包括:

权限验证模块,配置为当所述应用程序对应的其他账户发送访问所述资源文件的请求时,对所述其他账户进行权限验证,以确定所述其他账户具有读写权限。

作为优选,所述存储模块还配置为:

判断所述资源文件的属性是否为共享;

若是,则将所述资源文件存储于所述应用程序对应的其中一个账户路径下的存储目录中;

否则,将所述资源文件存储于生成所述资源文件的账户下的存储目录中。

作为优选,所述其中一个账户为主账户,所述其他账户为分身账户。

作为优选,所述资源文件包括以下至少一种:媒体文件、文档文件。

通过本发明实施例,可以实现在一台电子设备上同时运行多个账户的应用程序生成资源文件时,将该资源文件存储于应用程序的其中一个账户的存储目录中,使得该应用程序的其他账户可以从其中一个账户的存储目录中调用该资源文件时,从而使应用程序的不同账户间实现数据共享。

附图说明

图1为本发明的数据共享方法的实施例一的流程图;

图2为本发明的数据共享方法的一个应用场景示意图;

图3为本发明的数据共享装置的另一个应用场景示意图;

图4为本发明的数据共享装置的实施例一的示意图;

图5为本发明的数据共享装置的一个具体的实施例的示意图。

具体实施方式

此处参考附图描述本公开的各种方案以及特征。

应理解的是,可以对此处公开的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。

包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。

通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本发明进行了描述,但本领域技术人员能够确定地实现本发明的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。

当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。

此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。

本说明书可使用词组“在一种实施例中”、“在另一种实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。

移动终端在启动应用程序时,处理器会检查正在运行的进程中是否存在应用程序的进程,如果存在,就会认为应用程序已经运行,然后退出应用程序,因此应用程序只能运行一次。目前,应用程序开发人员研究了一种使用多个账号同时登录使应用程序的方法,也叫做多开。但是,基于账户空间的隔间特性,应用程序产生的资源数据,如图片和视频等,无法在不同账户之间实现共享。因此,为解决上述问题本发明实施例提供了一种数据共享方法及装置;进一步地,为了能够更加详尽地了解本发明的特点与技术内容,下面结合附图对本发明的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。

实施例一

本实施例提供了一种数据共享,具体地,所述方法应用于移动终端。所述移动终端上安装有应用程序,且可以使用多个账号同时登录该应用程序。所述电子设备为手机、平板电脑等。当用户使用多个账号登录应用程序时,其中一个账号对应的应用程序在与其他终端设备交互时会生成资源文件,并且将生成的资源文件存储于对应的安装目录下,移动终端可以根据所述资源文件的类型将所述资源文件存储于所述应用程序的其中一个账户的存储目录中。然后,当所述应用程序的其他账户需要调用所述资源文件时,引导所述其他账户从所述其中一个账户的所述存储目录中访问所述资源文件。图1为本发明的数据共享方法的实施例一的流程图,如图1所示,本实施例的数据共享方法,具体可以包括如下步骤:

s101,当一支持在一台电子设备上同时运行多个账户的应用程序生成资源文件时,根据所述资源文件的类型将所述资源文件存储于所述应用程序的其中一个账户的存储目录中。

具体地,电子设备例如可以为手机、平板电脑等终端设备。该电子设备可以同时运行多个账户的应用程序,该应用程序与其他电子设备的相同类型的应用程序进行交互时,可以生成资源文件,并且该资源文件存储于与其对应的账号目录之下。如果该资源文件的类型支持由其他账号共享,则可以将资源文件存储于其中一个账号的存储目录中。

其中,资源文件可以包括视频文件、图片文件、音乐文件等媒体文件,还可以包括文档文件,主要是应用程序通过网络传送的完整的文件。

其中,存储目录是指指向存储资源文件的存放路径的存储索引。其作用是,当需要调用资源文件时,先到存储目录中获取文件路径,再调用路径指向的资源文件。

s102,当所述应用程序的其他账户需要调用所述资源文件时,引导所述其他账户从所述其中一个账户的所述存储目录中访问所述资源文件。

具体地,应用程序的一个账号需要调用资源文件时,例如,想调用账户传送的视频文件时,可以使用系统模块引导该账户从所述其中一个账户的所述存储目录中访问所述资源文件。

在一应用场景中,如图2所示,例如,电子设备为安卓系统的手机,应用程序例如为微信程序(或者是qq、短消息),在手机上可以以多个账户登录微信程序,由于用户空间的独立,因此只允许同一账户空间下的应用程序允许相互调用和数据访问,如应用程序的相机模块(camera)和媒体模块(mediaprovider)等系统模块,为解决系统应用程序在使用多个账户登录后导致系统冗余并满足资源共享的问题,本实施例增加了重定向模块(providerrouter模块)。通过该providerrouter模块识别出支持多个账户同时登录的应用程序,在其他账户调用系统模块时,通过providerrouter模块将其重定向到其中一个账户,例如主账户下对应的系统模块。在应用程序启动例如camera或mediaprovider模块读写资源文件时,通过providerrouter模块来实现将不同账户存储空间下的应用程序产生的资源文件,实时写入到唯一指定的主用户对应的存储目录中,这样,应用程序不用修改代码,便可以实现每个账户实时显示其他账户空间下的资源文件。由于文件系统权限的限制,跨账户空间是不允许其他账户访问的,因此在不同空间访问文件时,统一由providerrouter模块实现读写操作,即实现重定向到主用户的读写权限,并对账户数据空间(/dev/fuse)存储分区进行权限认证,只允许指定范围的账户(uid)对应的mediaprovider模块拥有读写权限,保证数据空间的安全性。其中,主账户可以是应用程序第一次登录的账户,或者是与手机绑定的账户,或者具有管理员权限的账户,或者是用户指定的账户作为主账户等。

通过本发明实施例,可以实现在一台电子设备上同时运行多个账户的应用程序生成资源文件时,将该资源文件存储于应用程序的其中一个账户的存储目录中,使得该应用程序的其他账户可以从其中一个账户的存储目录中调用该资源文件时,从而使应用程序的不同账户间实现数据共享。

实施例二

基于实施例一所述的方法,本实施例给出了引导所述其他账户从所述其中一个账户的所述存储目录中访问所述资源文件的几种具体方式,具体地,

方式一,为提高电子设备的安全性,应用程序只允许指定范围的账户拥有数据共享的权限,因此,在其中一个账户发送数据共享请求时,需要对其进行身份验证。具体步骤如下:a,当所述应用程序对应的其他账户发送访问所述资源文件的请求时,对所述其他账户进行权限验证,以确定所述其他账户具有读写权限。

对于分身账户,解释的不够,没能看出多开的精髓,为什么有分身账户,分身账户怎么就能实现多开。起码要说,原来一个账户对应一个标志,在调用时,对应一个进程。现在调用时复制该账户到另一个存储区,记录账户的内容。分身的账户对应不同的包名

具体地,其中一个账户可以是主账户,其他账户为分身账户。主账户拥有管理员的权限,则主账号对分身账户进行管理时,需要对分身账号分配权限,如果分身账号具有将资源文件共享的权限,才可以将资源文件存储于主账户对应的存储目录中。同时,当其他分身账户想要访问该资源库时,仍需要验证其他分身账号的权限,确定其具有获得资源文件的读写权限。

方式二,本实施例在存储资源文件时,需要将资源文件存储于其中一个账户对应的存储目录下。确定资源文件是否需要存储在其中一个账户对应的存储的目录下包括以下步骤:b,判断所述资源文件的属性是否为共享;c,若是,则将所述资源文件存储于所述应用程序对应的其中一个账户路径下的存储目录中;d,否则,将所述资源文件存储于生成所述资源文件的账户下的存储目录中。

值得注意的是,并非所有的资源文件都是可以共享的。也就是说,对于资源文件的类型允许共享的资源文件,才将其存储于主账户对应的存储目录下,对于文件属于不为共享的资源文件,将其存储于其账户对应的存储目录下。

其中,所述其中一个账户为主账户,所述其他账户为分身账户。

移动终端在启动应用程序时,处理器会检查正在运行的进程中是否存在应用程序的进程,如果存在,就会认为应用程序已经运行,然后退出应用程序,因此应用程序只能运行一次。但是一些开发者开发出了一些方法可以使多个账户同时登录应用程序,例如,可以在应用程序代码中加外壳(shell),并添加标识,以对同一应用程序的安装包做以区分,系统会将其认作是不同的安装包,使其可以同时安装,同时运行,并以不同的账号登录。但实质运行的是同一应用程序,只是将其做了分身,标识为主应用程序的,其登录的账户为主账户,标识为分身账户应用程序的,其登录的账户为分身账户。主账户具有对分身账户管理的权限,例如,为分身账户分配权限、分存储空间等。以上只是介绍其中一种方法,在其他实施例中,还可以以不同的方法,在电子设备上安装可以支持多个账户登录的应用程序,如使用第三方软件控制的方法。

其中,主账户具有管理员的权限,可以为分身账户分配权限、分配存储空间等。

所述资源文件包括以下至少一种:媒体文件和文档文件。

通过本发明实施例,在一台电子设备上同时运行多个账户的应用程序时,不同账户对应的应用程序的资源文件具有不同的文件类型,在其属性不为共享的情况下,可以不进行共享,以增强数据的安全性。

实施例三

基于实施例一所述的方法,本实施例给出了终端设备上安装应用程序的具体方式,具体地,

在电子设备上运行多个账户同时登录的应用程序。是在系统层面限定可同时登录账户(uid)的范围,还指定了可以同时运行并可以调用的应用程序,还可以指定账户下对应用程序的运行情况和应用程序的数据存储与管理,从而实现对应用程序的多个账户进行管理。在应用程序中的方案中引入了账户(uid)与应用包名的映射关系,通过账户(uid)和应用包名的组合,实现进程的唯一标识。为确保应用程序安装环境和应用数据的隔离,在每使用一次账户登录时,会检测当前是否存在空闲账户uid没有映射该应用包名,如果不存在,则使新登录的账户(uid)对应的应用程序安装到新登录的账户(uid)下,同时为该账户(uid)划分应用程序安装空间,例如对安卓系统的电子设备,是安装到目录/data/user/{0,10}/之下,数据存储划分指定的空间为/storage/emulated/{0,10},从而实现不同账户之间的数据隔离,最后标识当前应用程序与该账户的映射关系;如果存在,则直接绑定在空闲的账户(uid)上。新增应用程序的账户,只需通过启动时指定不同的账户(uid)便可以实现使用多个账户登录同一应用程序。

在其中一个应用场景中,以电子设备是安卓系统的手机为例,在手机上可以安装多个账户对应的微信程序,可以安装到/data/user/{0,10}/目录下,在运行多个账户的微信时,在每一账户对应生成的聊天记录信息会保存在各自账户对应的目录下为/storage/emulated/{0,10}。其中,{0,10}是指账户为0至10的10个账户。也就是说这10个账户存储在0至10这10个目录下,而且各账户不具有互相访问各自对应的目录的权限,从而实现了账户间的隔离。但是对于应用程序生成的资源文件,有时需要在不同的账户间共享。其中资源文件是指基于网络所传送的文件,如可以包括文档、视频文件、图片文件和音频文件等。其中,存储目录是指指向存储资源文件的存放路径的存储索引。其作用是,当需要调用资源文件时,先到存储目录中获取文件路径,再调用路径指向的资源文件。

如图3所示,以电子设备是安桌手机为例,应用程序可以是微信和/或qq,可以手机上运行多个账户的微信,则其中一个账户可以是系统默认的主账户,其他账户为分身账户;例如系统默认设备主用户(owner)的主账户标识(uid)为0,则可以通过主用户创建新的分身账户(uid),并限定用于应用可同时登录的分身账户(uid)区间,例如,主账户可以指定分身账户为1、2、3的分身账户同时登录,同时指定分身账户为4、5、6、7的分身账户与1、2、3的分身账户不能同时登录。那么当每一分身账户生成资源文件时,可以将该资源文件存储于主账户对应的存储目录下,则对于其中一个账户(包括主账户或分身账户),想要调用其他账户(包括主账户或分身账户)生成的资源文件时,则可以调用主账户对应的存储目录,以由该存储目录中获得该资源文件的存储路径,来调用该资源文件。

通过本发明实施例,可以实现在一台电子设备上同时运行多个账户的应用程序生成资源文件时,将该资源文件存储于应用程序的其中一个账户的存储目录中,使得该应用程序的其他账户可以从其中一个账户的存储目录中调用该资源文件时,从而使应用程序的不同账户间实现数据共享。

实施例四

图4为本发明的数据共享装置的实施例一的示意图,如图4所示,本实施例的数据共享装置,具体可以包括:

存储模块41,配置为当一支持在一台电子设备上同时运行多个账户的应用程序生成资源文件时,根据所述资源文件的类型将所述资源文件存储于所述应用程序的其中一个账户的存储目录中;

引导模块42,配置为当所述应用程序的其他账户需要调用所述资源文件时,引导所述其他账户从所述其中一个账户的所述存储目录中访问所述资源文件。

通过本发明实施例,可以实现在一台电子设备上同时运行多个账户的应用程序生成资源文件时,将该资源文件存储于应用程序的其中一个账户的存储目录中,使得该应用程序的其他账户可以从其中一个账户的存储目录中调用该资源文件时,从而使应用程序的不同账户间实现数据共享。

在一具体的实施例中,如图5所示,权限验证模块43,配置为当所述应用程序对应的其他账户发送访问所述资源文件的请求时,对所述其他账户进行权限验证,以确定所述其他账户具有读写权限。

在另一具体的实施例中,所述存储模块41还配置为:

判断所述资源文件的属性是否为共享;

若是,则将所述资源文件存储于所述应用程序对应的其中一个账户路径下的存储目录中;

否则,将所述资源文件存储于生成所述资源文件的账户下的存储目录中。

所述其中一个账户为主账户,所述其他账户为分身账户。

所述资源文件包括以下至少一种:媒体文件、文档文件。

这里需要指出的是:以上数据共享装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明数据共享装置实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1