WO2019015491A1 - Application program cloning method and apparatus, device and medium - Google Patents

Application program cloning method and apparatus, device and medium Download PDF

Info

Publication number
WO2019015491A1
WO2019015491A1 PCT/CN2018/094829 CN2018094829W WO2019015491A1 WO 2019015491 A1 WO2019015491 A1 WO 2019015491A1 CN 2018094829 W CN2018094829 W CN 2018094829W WO 2019015491 A1 WO2019015491 A1 WO 2019015491A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
storage space
avatar
message
request
Prior art date
Application number
PCT/CN2018/094829
Other languages
French (fr)
Chinese (zh)
Inventor
闫黎明
钟伟
马向阳
董海军
李剑锋
Original Assignee
阿里巴巴集团控股有限公司
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 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2019015491A1 publication Critical patent/WO2019015491A1/en

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
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • 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/44557Code layout in executable memory
    • G06F9/44563Sharing

Definitions

  • the present application relates to the field of smart terminal technologies, and in particular, to a method for arranging an application, a avatar system for an application, a avatar device for an application, a device, and a machine readable medium.
  • APPs applications
  • the user has the need to log in to the same APP at the same time.
  • a social-like APP multiple accounts of a user need to be logged in at the same time to meet the needs of social work and social life respectively; or, for a game-like APP, multiple accounts of the user need to be logged in simultaneously to be between the multiple accounts.
  • the login of multiple accounts is implemented by tampering with the specific information of the original APP (such as package name, path name, etc.).
  • the specific information of the original APP can be modified to obtain a new APP, and a new APP is installed in the smart terminal, thereby implementing login of multiple accounts.
  • the above existing solution is usually executed by a third-party APP. If the third-party APP is unstable or insufficient in compatibility, it is easy to affect the stability of the new APP, that is, the existing solution has a problem of poor stability.
  • the above-mentioned existing scheme tampers with the specific information of the original APP, so that the new APP and the original APP are independent from each other, and thus, the user cannot implement direct upgrade for the new APP.
  • the third-party APP needs to re-modify the specific information of the original APP after the upgrade to obtain the corresponding current new APP, and re-install the current new APP in the smart terminal; visible, existing solution
  • the upgrade operation is complicated.
  • the existing solution usually has a limitation on the number of multiple accounts.
  • most third-party APPs only support simultaneous login of two accounts, which will not meet the requirement of two or more accounts simultaneously logging in, which affects the user experience.
  • the technical problem to be solved by the embodiments of the present application is to provide a method for arranging an application, which can improve the stability of the avatar application, simplify the upgrade process of the application multi-instance, and improve the number of supported avatar applications.
  • the embodiment of the present application further provides an application device, a smart terminal, and an operating system to ensure implementation and application of the foregoing method.
  • the embodiment of the present application discloses a method for arranging an application, including: receiving a avatar creation request for an application; and acquiring a storage space in which the application is not installed, in response to the avatar creation request;
  • the storage space is used to represent a space provided to an operating system user; the avatar application of the application is created in the storage space in which the application is not installed.
  • the embodiment of the present application further discloses an application device, including:
  • a storage space obtaining module configured to obtain, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
  • a avatar application creation module for creating a avatar application of the application in the storage space in which the application is not installed.
  • Embodiments of the present application also disclose an apparatus comprising: one or more processors; and one or more machine readable medium having instructions stored thereon, when executed by the one or more processors, The apparatus performs one or more of the methods described above.
  • Embodiments of the present application also disclose one or more machine-readable media having stored thereon instructions that, when executed by one or more processors, cause the device to perform one or more of the methods described above.
  • the embodiment of the present application further discloses an operating system for a device, including:
  • a storage space obtaining unit configured to acquire, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
  • a avatar application creation unit for creating a avatar application of the application in the storage space in which the application is not installed.
  • the embodiment of the present application includes the following advantages:
  • the embodiment of the present application receives a avatar creation request for an application; in response to the avatar creation request, acquires a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user; A avatar application of the application is created in the storage space.
  • the embodiment of the present application utilizes the multi-user feature of the operating system to implement the main application of the application and the at least one avatar application.
  • the embodiment of the present application has the following advantages:
  • the stability of the third-party APP in the existing solution is insufficient or the compatibility is insufficient, resulting in poor stability.
  • the multi-user feature of the operating system is a stable feature supported by the operating system
  • the embodiment of the present application utilizes the stable feature in the operating system.
  • the implementation of the application's avatar can improve the stability of the avatar application.
  • the avatar mode of the application program used in the embodiment of the present application does not involve the modification of the application information. Therefore, the upgrade operation is complicated for the original APP and the new APP in the existing solution, and the upgrade operation is complicated. All instances of an application (including the main application and all avatar applications) can share the code portion of the application, so that the main application and all avatar applications can be updated synchronously; that is, in the main application or any one In the case where the code portion of the avatar application is updated, the code portion of the main body application and all the avatar applications are also updated synchronously, thereby improving the simplification of the multi-instance upgrade process. Moreover, the upgrade of the embodiment of the present application may not involve the data part of each instance, and thus the independence of the data part of each instance can be guaranteed.
  • the embodiment of the present application can utilize the hardware resources of the smart terminal to support an unlimited number of avatar applications and the number of instances.
  • the application The number of instances supported by the instance can reach 8 or more, so the problem of limited application of the split can be solved.
  • a corresponding shortcut icon may be set on the desktop for all instances of an application to improve the operation efficiency of the user for the integrated application; or, the task corresponding to all instances of an application may be uniformly managed, so that Applying the avatar to the task management interface has the same opportunity to be displayed as the main application, improving the transparency of the avatar application.
  • 1 is a flow chart showing the steps of an embodiment of an application of the application
  • FIG. 2 is a schematic diagram of a desktop of an embodiment of the present application.
  • FIG. 3 is a schematic diagram of an area of an application icon according to an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of a storage space of a multi-user based on an operating system according to the present application
  • FIG. 5 is a flow chart showing the steps of an embodiment of a method for arranging another application of the present application
  • FIG. 6 is a flow chart showing the steps of an embodiment of a method for arranging an application of the present application
  • FIG. 7 is a flow chart showing the steps of another embodiment of the application method of the present application.
  • FIG. 8 is a flow chart showing the steps of an embodiment of a message communication method between applications of different storage spaces of the present application
  • FIG. 9 is a structural block diagram of an embodiment of a mobile device of an application of the present application.
  • FIG. 10 is a schematic structural diagram of hardware of a computing device according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of hardware of a computing device according to another embodiment of the present disclosure.
  • FIG. 12 is a schematic structural diagram of an operating system for a device according to an embodiment of the present application.
  • the avatar of the application is a pointer to multiple instances of the APP running on the smart terminal simultaneously.
  • the third-party APP runs a avatar application of the original APP by tampering with the specific information of the original APP.
  • the existing solution has problems such as poor stability, complicated upgrade operation, and only supporting one avatar application of the original APP.
  • the embodiment of the present application provides a detachment solution of an application, which can implement an application avatar at an operating system level. Specifically, the solution can implement an application application and at least one avatar through an operating system multi-user feature.
  • application Operating system multi-user is a concept developed by the operating system. Corresponding to the concept of single-user operating system, multi-users of operating system allow multiple users to use the same computer resources at the same time without sharing each other in order to share computer resources. influences.
  • the Linux system is a standard multi-user operating system
  • the Android system is an operating system based on the development of the Linux operating system, which naturally supports multiple users.
  • the operating system multi-user feature may include: the operating system user has a separate storage space; the operating system user corresponds to an independent software management system.
  • the software management system may allow a unique package name to be installed on an operating system user. Application, no second application with the same name can be installed.
  • the avatar scheme of the application program provided by the embodiment of the present application may specifically include: receiving a avatar creation request for the application; and acquiring, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storing The space is used to characterize the space provided to the operating system user; the avatar application of the application is created in the storage space.
  • the operating system multi-user may include: user ID_0, user ID_1, user ID_2, ... user ID_N, then the user ID_0 can be used to implement the application of the application, user ID_1, User ID_2, ... User ID_N can be used to implement N avatar applications of the application, where N is a positive integer.
  • the smart terminal can be used to indicate that the operating system supports the terminal device of the operating system multi-user feature.
  • the smart terminal in the embodiment of the present application may include, but is not limited to, a smart phone, a tablet computer, an e-book reader, and an MP3 (Moving Picture Experts Group Audio Layer III) player.
  • MP4 Motion Picture Experts Group Audio Layer IV
  • the operating system of the smart terminal may have multiple user features, such as IOS, Android, cloud OS, Windows, etc. It can be understood that the embodiment of the present application does not limit the specific intelligent terminal and the intelligent operating system used therein. .
  • the stability of the third-party APP in the existing solution is insufficient or the compatibility is insufficient, resulting in poor stability.
  • the multi-user feature of the operating system is a stable feature supported by the operating system
  • the embodiment of the present application utilizes the stable feature in the operating system.
  • the implementation of the application's avatar can improve the stability of the avatar application.
  • an application after an application is installed, it may be divided into two parts: a code part and a data part, wherein the code part may exist in the form of a file or a library, and is used to run an instance of the application, the above
  • the data section can be used to store data that the user generates during the process of using the application.
  • the embodiment of the present application implements the avatar of the application by using the multi-user feature of the operating system, that is, the avatar mode of the application used in the embodiment of the present application is different from the tampering of the specific information of the original APP in the existing solution, so In the existing solution, the upgrade operation of the original APP and the new APP respectively causes a problem that the upgrade operation is complicated.
  • all instances of an application can share the code part of the application. Therefore, the synchronization of the main application and all the avatar applications can be synchronized; that is, in the case where the main application or the code portion of any of the avatar applications is updated, the code portions of the main application and all the avatar applications are also updated simultaneously. , so it can improve the upgrade process of simplifying multi-instance.
  • the main body application can be used to indicate that the application is in the first instance in the smart terminal, and the avatar application can respectively represent the ith instance of the application in the smart terminal, wherein , i is a positive integer greater than one.
  • the main body application can be installed on the main operating system user ID (for example, the operating system user ID_0), and the avatar application can be installed in the secondary operating system user ID (such as the operating system user ID_1, the operating system user ID_2, ... the user) ID_N). It can be understood that the main body application and the avatar application correspond to different operating system user IDs.
  • the embodiment of the present application does not limit the specific operating system user ID corresponding to the main body application or the avatar application.
  • the embodiment of the present application can utilize the hardware resources of the smart terminal to support an unlimited number of avatar applications and the number of instances, thereby being able to solve the avatar Application limited issues.
  • the number of the instance may not exceed an instance threshold, where the instance threshold may be obtained according to hardware resources of the smart terminal and hardware resources occupied by the instance of the application. For example, if the memory of the smart terminal is M 1 and the memory occupied by the instance of the application is M 2 , the number of supported instances may be M 1 /M 2 , where both M 1 and M 2 are positive integers.
  • the embodiment of the present application can implement the application without modifying the original APP, as opposed to the problem that the third party APP tampers with the original APP's specific information in the existing solution and infringes the legitimate rights and interests of the original APP. Separation, so you can avoid infringing the legitimate rights and interests of developers.
  • FIG. 1 a flow chart of steps of an embodiment of an application method of an application of the present application is shown, which may specifically include the following steps:
  • Step 101 Receive a avatar creation request for an application
  • Step 102 Acquire a storage space in which the application is not installed, in response to the avatar creation request; wherein the storage space is used to represent a space provided to an operating system user;
  • Step 103 Create a avatar application of the application in a storage space in which the application is not installed.
  • the embodiments of the present application can be applied to an operating system environment of an intelligent terminal.
  • some operating systems have developed a multi-user framework and interface of the operating system, and the embodiment of the present application can directly use the framework of the operating system multi-user, or the user.
  • the multi-mode framework is adjusted to meet the practical application requirements of the embodiments of the present application.
  • the embodiment of the present application can provide a service interface related to the avatar so that the user of the intelligent terminal or the application of the application layer can implement the operation of the application through the service interface.
  • the service interface of the embodiment of the present application may include: at least one of a avatar creation interface, an application upgrade interface, and an application uninstallation interface, where the avatar creation interface may be used to create a avatar application of the application, and the application upgrade interface is available.
  • the application uninstallation interface can be used to uninstall at least one instance of the application, including at least one of the main application and the avatar application.
  • step 101 may correspond to the call request of the above-mentioned avatar creation interface.
  • step 101 may include: receiving a avatar creation request sent by a desktop program, where the desktop program may send the avatar creation request in response to a avatar instruction issued by the user for the application . That is, if the user issues a avatar instruction for the application, the desktop program can send a avatar creation request for the application to the operating system in response to the avatar instruction.
  • the process of the user issuing a avatar instruction for the application may include: receiving a first preset operation of the user's shortcut icon for the application, displaying a avatar creation option, if receiving the user for the avatar When a trigger action is created for an option, the user is considered to have issued a avatar instruction for the application.
  • the first preset operation may be any operation that does not conflict with the startup operation of the application, such as a long press operation, a slide operation, a double-click operation, etc., and the shortcut icon for the first preset operation may be included in the application.
  • the shortcut icon for the main app can also be a shortcut icon for the avatar app included in the app.
  • a shortcut icon of each instance corresponding to the social-like APP may be included on the desktop, and the user may issue a corresponding avatar instruction for the shortcut icon of any instance to obtain a avatar application of the social-like APP.
  • step 102 may obtain a storage space in which the application is not installed in response to the avatar creation request.
  • the operating system multi-user feature may include: the operating system user has a separate storage space; the operating system user corresponds to an independent software management system.
  • the software management system may allow a unique package name to be installed on an operating system user. Application, no second application with the same name can be installed. Therefore, step 102 can obtain a storage space in which the application is not installed, as a storage space corresponding to the avatar creation request.
  • the acquiring the method corresponding to the step 102 of the storage space in which the application is not installed in response to the avatar creation request may include:
  • Obtaining mode 1 in response to the avatar creation request, creating a new operating system user of the operating system, and storing the storage space provided to the new operating system user as a storage space in which the application is not installed; or
  • the storage space in which the application is not installed is obtained from the storage space provided to the existing operating system user.
  • the storage space provided to the new operating system user may be used as the storage space in which the application is not installed.
  • the storage space provided to the existing operating system user may include the storage space of the unapplied word creation request corresponding application, and therefore, the storage space in which the application is not installed may be obtained therefrom. It can be understood that any one of the foregoing acquisition mode 1 and acquisition mode 2 can be adopted by a person skilled in the art according to actual application requirements.
  • step 103 may create a avatar application of the application in the storage space in which the application is not installed.
  • the storage space in which the application is not installed is an independent space, so that after the avatar application of the application is created in the storage space in which the application is not installed, the corresponding program may be allocated to the application. storage.
  • the creating a method corresponding to the step 103 of creating the avatar application of the application in the storage space in which the application is not installed may include:
  • the creation mode 2 installs the application of the application in the storage space in which the application is not installed according to the installation package of the application.
  • the above creation method 2 may install the application of the application in the storage space in which the application is not installed according to the installation package of the application.
  • an application after an application is installed, it can be divided into two parts: a code part and a data part, wherein the code part can be used to run an instance of the application, and the data part can be used to store the user in using the application.
  • Copying the code of the application to the storage space where the application is not installed, and establishing a corresponding data directory for the private data of the application, and the created data directory can be used as the data part of the created integrated application, and used for Stores data generated by users as they use the application. Since the above creation method 1 can eliminate the installation of the installation package, the creation efficiency of the avatar application can be improved.
  • the private data of the application may include: an account, a private configuration, and the like.
  • the social application is used as an example.
  • the private configuration may be used to configure a background of the interface. limit.
  • the method of the embodiment of the present application may further include: when the avatar application of the application is successfully created in the storage space where the application is not installed, on the desktop Create a shortcut icon for the avatar app.
  • the avatar application of the embodiment of the present application it can have a corresponding shortcut icon on the desktop similar to the main body application, so that not only the operation interface consistent with the main body application can be provided to the user for the avatar application, but also relative to the existing In the solution, the user can go to the third-party APP to open the avatar application.
  • the embodiment of the present application can enable the user to directly open the avatar application through the shortcut icon on the desktop, thereby improving the operation efficiency of the avatar application.
  • a shortcut icon different from the main body application can be set for the avatar application.
  • the ID of the corresponding avatar application or the corresponding operating system user ID, graphic, and the like may be displayed on the shortcut icon of the avatar application, and the identifier may be located at a superscript or a subscript of the shortcut icon to improve the identification of the avatar application.
  • the shortcut icon of the first avatar application adds a subscript to the shortcut icon of the main body application, and the subscript displays the ID of the avatar application (such as 1) or the first preset graphic.
  • the shortcut icon of the second avatar application adds a subscript to the shortcut icon of the main body application, and the subscript displays the ID of the avatar application (such as 2) or the first preset graphic;
  • the graphic corresponding patterns of the preset graphic and the second preset graphic may be the same or different, wherein the colors of the two may be different when the patterns are the same. It can be understood that the specific shortcut icons of the avatar application are not limited in the embodiment of the present application.
  • FIG. 2 a schematic diagram of a desktop of an embodiment of the present application is shown, which may specifically include: an area 201 of application icons, and an area 201 of application icons may include: an icon 201-A of the main body application, or The area 201 of the application icon may include: an icon 201-A of the main body application and an icon 201-B of the avatar application, wherein, for the same application, the icon 201-A of the main body application and the icon 201-B of the avatar application Same or different.
  • the avatar option and/or the uninstall option may be popped up in response to a preset operation of the icon 201-A of the main body application or the icon 201-B of the avatar application, and if the user triggers the avatar option, the user may be considered The split command is triggered. If the user triggers the uninstall option, the user can be considered to have triggered the uninstall command.
  • an illustration of an area of an application icon of an embodiment of the present application is illustrated, which may include: an icon of a main body application and an icon of a plurality of avatar applications, wherein the icon of the main body application may not include Subscripts, the icons of the avatar application can be subscripted, and the subscript colors of the icons of different avatar applications can be different, thereby achieving the recognition between the main body application and the avatar application, and the avatar application.
  • the user can also generate a avatar instruction by triggering the "+" button in FIG.
  • the operating system of the Android system is multi-user, and its original design purpose is to isolate, for example, a usage scenario, which can create two users: one user installs the user's private application, and another user installs User's enterprise application. Private applications and enterprise applications are isolated from each other and do not affect each other. Therefore, the data areas of different operating system users are currently isolated from each other and are invisible to each other, that is, an application corresponding to one storage space does not have access rights to corresponding data areas of other storage spaces.
  • the operating system can place data in data areas of different storage spaces in a sandbox to enable isolation between data areas of different operating system users through a sandbox.
  • the storage space may include: a data area, and an application corresponding to one storage space has access rights to corresponding data areas of other storage spaces.
  • the data area may be used to store data generated by the user in the process of using the main body application or each of the avatar applications.
  • the data in the foregoing data area may include: public data and/or private data of the main body application or each of the avatar applications.
  • the embodiments of the present application can support mutual access between applications corresponding to different storage spaces, so that the data access requirements between applications corresponding to different storage spaces in a specific scenario of the application are satisfied.
  • a user installs a main body application and a avatar application of a social-like APP on a smart terminal (assumed to be a avatar application 1, a avatar application 2, etc.), if the user wants to avatar one of them
  • the image, video, or file generated or received by the application is transmitted on the main body application or other avatar application, and the mutual access between the data areas of different storage spaces in the embodiment of the present application can be implemented to realize the interaction between the avatar application and the main body application. Or data access requirements between avatar applications.
  • the mutual access of the data areas of different storage spaces may include: data access between the avatar application of the same APP and the main application, or between the avatar applications, and may also include: the avatar application and the main application of different APPs.
  • the image generated by the camera class APP on the operating system user ID_0 can be accessed by the social class APP above the operating system user ID_1, the operating system user ID_2, ... the operating system user ID_N. It can be understood that the embodiments of the present application are specific to each other. Access is not restricted.
  • FIG. 4 a schematic structural diagram of a storage space of an operating system multi-user based on an operating system is shown, wherein an operating system user ID_0, an operating system user ID_1, an operating system user ID_2, an operating system user ID_N are all installed with APP1.
  • the storage space of the operating system user IDs may include a code area 201 and a data area 202, wherein the code area 201 may be used to store a code portion of the installed APP, and the data area 202 may be used to store the installed The data portion of the APP, wherein each APP instance in the data area of each operating system user ID may have an independent storage space; and the data areas 202 between the multiple operating system user IDs are mutually accessible.
  • the storage path of the corresponding data area of different storage spaces may be saved by using the same database, so that the data corresponding to the data area is provided to the application corresponding to one storage space by the database.
  • the application can be applied to the avatar
  • the main app provides the same gallery list to allow the avatar app or the host app to access the images in the gallery list.
  • the gallery list may include: all of the main body applications and images received by the avatar application, and/or pictures taken using a camera.
  • the method of the embodiment of the present application may further include: determining whether the instance of the application exceeds an instance threshold, and if not, executing the responding to the avatar creation request to obtain the application not installed Storage space; wherein the storage space is used to characterize the step 102 of providing space to an operating system user.
  • the foregoing example threshold of the embodiment of the present application may be used to indicate an upper limit of the number of supported instances.
  • the instance threshold may be obtained according to hardware resources of the smart terminal and hardware resources occupied by the instance of the application, and That is, the above instance threshold may be determined according to hardware resources of the smart terminal and hardware resources occupied by one instance of the application. For example, if the memory of the smart terminal is M 1 and the memory occupied by one instance of the application is M 2 , the number of supported instances may be M 1 /M 2 , where both M 1 and M 2 are positive integers.
  • the foregoing determines whether the instance of the application exceeds an instance threshold, and can avoid problems such as poor performance of the smart terminal caused by the number of instances of the application exceeding the instance threshold.
  • the embodiment of the present application may send corresponding prompt information, for example, the prompt information may be the upper limit of the number of multiple instances, or the number of avatar applications. Reach the upper limit and so on.
  • the method for the application of the embodiment of the present application utilizes the multi-user feature of the operating system to implement the application of the application and the at least one avatar application through multiple user IDs of the operating system.
  • the embodiment of the present application has the following advantages:
  • the stability of the third-party APP in the existing solution is not stable or the compatibility is insufficient, resulting in a poor stability.
  • the multi-user feature is a stable feature supported by the operating system
  • the embodiment of the present application utilizes the stable feature to implement at the operating system level.
  • the application's avatar can improve the stability of the avatar application.
  • the avatar mode of the application program used in the embodiment of the present application does not involve the modification of the application information. Therefore, the upgrade operation is complicated for the original APP and the new APP in the existing solution, and the upgrade operation is complicated. All instances of an application (including the main application and all avatar applications) can share the code portion of the application, so that the main application and all avatar applications can be updated synchronously; that is, in the main application or any one In the case where the code portion of the avatar application is updated, the code portion of the main body application and all the avatar applications are also updated synchronously, thereby improving the simplification of the multi-instance upgrade process. Moreover, the upgrade of the embodiment of the present application may not involve the data part of each instance, and thus the independence of the data part of each instance can be guaranteed.
  • the embodiment of the present application can utilize the hardware resources of the smart terminal to support an unlimited number of avatar applications and the number of instances.
  • the application The number of instances supported by the instance can reach 8 or more, so the problem of limited application of the split can be solved.
  • a corresponding shortcut icon can be set on the desktop for all instances of an application, so that a unified user interface (desktop) can be provided to the user for the main body application and the avatar application, and the shortcut icon of the main application is
  • the shortcut icons of the avatar application are respectively listed on the desktop, and the user can trigger the corresponding main body application or the avatar application by triggering the corresponding shortcut icon, thereby improving the operation efficiency of the user for the avatar application; or, all instances of an application can be performed.
  • Unified management of the corresponding tasks so that the avatar application can have the same opportunity to be displayed in the task management interface as the main application, and improve the transparency of the avatar application; for example, it can respond to the user's HOME key (the key with the return function)
  • the triggering command displays all the main application and the corresponding application of the avatar application running on the multi-user ID, so as to facilitate the user to manage the corresponding task of the avatar application.
  • the avatar mode of the application program used in the embodiment of the present application does not involve modification of the application information
  • the avatar application of the embodiment of the present application is started and run, the avatar of the running state is applied to the operating system.
  • the method may include the following steps:
  • Step 501 Receive a avatar creation request for an application.
  • Step 502 it is determined whether the instance of the application exceeds the instance threshold, and if so, step 506 is performed, otherwise step 503 is performed;
  • Step 503 Create a new operating system user of the operating system, and provide a space provided by the new operating system user as a storage space in which the application is not installed.
  • Step 504 Create a avatar application of the application in the storage space where the application is not installed.
  • Step 505 After successfully creating the avatar application of the application in the storage space where the application is not installed, creating a shortcut icon of the avatar application on the desktop;
  • Step 506 Send a prompt message that the number of avatar applications reaches an upper limit.
  • the foregoing determining whether the instance of the application exceeds an instance threshold can avoid problems such as poor performance of the smart terminal caused by the number of instances of the application exceeding the instance threshold.
  • the shortcut icon of the avatar application is created on the desktop; thus, the user can be applied to the main body application and the avatar application.
  • the shortcut icon of the main application and the shortcut icon of the avatar application are respectively listed on the desktop, and the user can trigger the corresponding shortcut icon to start the corresponding main body application or the avatar application, thereby improving the user. Operational efficiency for avatar applications.
  • FIG. 6 a flow chart of steps of an embodiment of a method for splitting an application of the present application is shown. Specifically, the method may include the following steps:
  • Step 601 Receive a avatar creation request for an application.
  • Step 602 Acquire a storage space in which the application is not installed, in response to the avatar creation request.
  • Step 603 Create a avatar application of the application in a storage space in which the application is not installed.
  • the method in this embodiment may further include:
  • Step 604 Receive an uninstall request for an application.
  • Step 605 When the shortcut icon corresponding to the uninstallation request is a shortcut icon of the application, uninstall the main application, or the main application and the avatar corresponding to the application in the storage space of the uninstall application corresponding application. Application; or
  • Step 606 When the shortcut icon corresponding to the uninstallation request is a shortcut icon of the avatar application, uninstall the avatar application in a storage space corresponding to the avatar application.
  • This embodiment can implement uninstallation of all applications or one of the avatar applications for the application according to the uninstall request for the application.
  • the uninstall request of step 604 may correspond to the call request of the application uninstall interface described above.
  • step 604 may include: receiving an uninstall request sent by a desktop program, wherein the desktop program may send the uninstall request in response to an uninstall instruction issued by the user for the application. That is, if the user issues an uninstall command for the application, the desktop program can send an uninstall request for the application to the operating system in response to the uninstall command.
  • the application corresponding to the uninstall request may be the same as or different from the application corresponding to the split creation request in step 601.
  • the process of the user issuing an uninstall instruction for the application may include: receiving a second preset operation of the user for the shortcut icon of the application, presenting an uninstall option, if receiving the user for the uninstall option The triggering operation assumes that the user has issued an uninstall command for the application.
  • the shortcut icon for the second preset operation is the shortcut icon for the uninstall request, wherein the shortcut icon for the second preset operation may be a shortcut icon of the main application included in the application,
  • the user's uninstallation intention is to uninstall the entire application, so the main application and all the avatar applications included in the application can be uninstalled through 605.
  • the shortcut icon for the second preset operation may be a shortcut icon of the avatar application included in the application.
  • the user's uninstallation intention is to uninstall the avatar application corresponding to the shortcut icon, so the steps may be 606: uninstalling the avatar application in a storage space of an operating system user ID corresponding to the avatar application. That is, step 605 and step 606 are steps performed in parallel, and those skilled in the art may perform step 605 or step 606 according to actual application requirements.
  • the shortcut icon corresponding to the main application and all the avatar applications included in the application may be deleted on the desktop; after performing step 606, the uninstalled application may also be deleted on the desktop.
  • the corresponding shortcut icon for the avatar application may be deleted on the desktop.
  • the method may include the following steps:
  • Step 701 Receive a avatar creation request for an application.
  • Step 702 Acquire a storage space in which the application is not installed, in response to the avatar creation request.
  • Step 703 Create a avatar application of the application in a storage space in which the application is not installed.
  • the method in this embodiment may further include:
  • Step 704 Receive a message request sent by an application corresponding to the first storage space.
  • Step 706 Determine whether the message request meets a preset message rule; the preset message rule is used to indicate a delivery rule of a message request between the first storage space and the second storage space;
  • Step 707 When the message request meets the preset message rule, send the message request to an application corresponding to the second storage space corresponding to the message request, so that the application corresponding to the second storage space responds to the message request.
  • messages are used internally or between applications in an operating system to transfer data or access system resources, thereby enabling different interfaces of the same application and switching or accessing system resources between different applications.
  • the embodiment of the present application provides a preset message rule, where the preset message rule is used to represent the first storage space and the second storage space.
  • the delivery rule of the message request, the first storage space can be used to indicate which storage space the message request comes from, that is, the source of the message request, and the second storage space can be used to represent the storage space capable of receiving the message request.
  • the operation can be performed.
  • the system user ID is used to represent the storage space.
  • the preset message rule can clarify which source operating system user ID can be sent to which destination operating system user ID, so that different operating system users corresponding to different operating system users can be based on presets. Message rules communicate with messages, thereby improving the security of communication between different storage spaces and improving the user experience.
  • the message request may include: an operation request triggered by the user by the application corresponding to the first storage space for the data in the corresponding data area of the second storage space.
  • the first storage space is a storage space where the avatar application is located
  • the second storage space is a storage space where the application is located
  • the database may be presented to the avatar application, and the database may include: a storage path corresponding to the data area of different storage spaces.
  • the data in the corresponding data area is provided by the application corresponding to a storage space through the database; further, the user may trigger the message request by triggering data in the database.
  • the message type corresponding to the preset message rule may specifically include: a call related message, a short message operation related message, a network operation related message, a screen operation related message, a file operation related message. At least one of a picture related operation message and an application installation related message.
  • a camera-like APP for obtaining system resources is usually installed on the main operation user ID, and cannot be separated on the sub-operation user ID, so that if the sub-operation user ID is above the avatar
  • the preset preset message rules may be preset, for example, the message type is a picture related operation message, the source operation user ID is an arbitrary sub user ID, and the destination operation user ID is mainly Operation user ID, etc. It can be understood that a preset message rule can be preset according to the actual application requirement, and the embodiment of the present application does not limit the specific preset message rule.
  • the message management module of the message manager may first try to respond to the message request on the first storage space, if the application corresponding to the first storage space does not have the condition for responding to the message request (for example, some system components) (such as the camera component), can not be installed in the secondary operating system user ID, therefore, the application corresponding to the secondary operating system user does not have the condition to respond to the photo request), or if the application corresponding to the first storage space cannot respond to the message request (also That is, the attempt to respond to the failure), the second storage space corresponding to the message request may be obtained by using the preset message rule, and the second storage space may correspond to the target operating system user ID.
  • the condition for responding to the message request for example, some system components
  • the second storage space corresponding to the message request may be obtained by using the preset message rule, and the second storage space may correspond to the target operating system user ID.
  • the first operating system user ID and the message type of the message may be matched with the source operating system user ID and the preset message type of the preset message rule. If the matching succeeds, the corresponding target operating system user may be obtained. ID, and requesting the corresponding destination operating system user ID to send the message request to the message, so that the destination operating system user ID responds to the message request.
  • FIG. 8 a flow chart of steps of an embodiment of a message communication method between applications of different storage spaces of the present application is shown, which may specifically include the following steps. :
  • Step 801 Receive a message request sent by an application corresponding to the first storage space by the operating system user ID_x.
  • Step 802 it is determined whether the operating system user ID_x has the condition of responding to the message request, and if so, step 803 is performed, otherwise step 604 is performed;
  • Step 803 Try to respond to the message request on the operating system user ID_x.
  • Step 804 Perform a search in the preset message rule set according to the operating system user ID_x and the message type requested by the message, to obtain a destination user ID that matches the operating system user ID_x and the message type requested by the message;
  • the preset message rule set is a set of preset message rules, and is used to store a plurality of preset message rules.
  • Step 805 it is determined whether to find a hit, and if so, step 806 is performed, otherwise step 807 is performed;
  • Step 806 Send the message request to the searched operating system user ID_y, so that the operating system user ID_y responds to the message request.
  • Step 807 Send a message requesting no response prompt message.
  • the operating system user ID_x and the operating system user ID_y may be different operating system users.
  • the user installs the main application and the avatar application of the WeChat APP on the smart terminal (assumed to be called the avatar application 1, the avatar application 2, etc.), if the user wants to apply one of the avatar applications.
  • the generated or received images, videos or files are transmitted on the main application or other avatar applications, and can be accessed between the avatar application and the main application or between the avatar applications through mutual access of the data areas between different storage spaces. Data access needs.
  • the picture P is located in the operating system user ID_y Corresponding storage space, the operating system user ID_x corresponding to the avatar application 1 can send a message request; the message processor processes the message request, and sends the message request to the corresponding operating system user ID_y of the main body application, if the operating system user ID_y rings
  • the message P may be transmitted, such as a friend transmitted to the user, etc., if requested by a message.
  • the embodiment of the present application also provides a split device of an application.
  • FIG. 9 a structural block diagram of an embodiment of a mobile device of an application of the present application is shown, which may specifically include the following modules:
  • a request request receiving module 901 configured to receive a avatar creation request for an application
  • a storage space obtaining module 902 configured to acquire, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
  • the avatar application creation module 903 is configured to create a avatar application of the application in the storage space in which the application is not installed.
  • the storage space may include: a data area, where an application corresponding to one storage space has access rights to a corresponding data area of another storage space.
  • the storage path of the corresponding data area of the different storage space is saved by using the same database, so that the data corresponding to the data area of the other storage space is provided to the application corresponding to one storage space by the database.
  • the device may further include:
  • a message request receiving module configured to receive a message request sent by an application corresponding to the first storage space
  • a determining module configured to determine whether the message request meets a preset message rule; the preset message rule is used to indicate a delivery rule of a message request between the first storage space and the second storage space;
  • a message request sending module configured to send the message request to an application corresponding to the second storage space corresponding to the message request, so that the application corresponding to the second storage space is used when the message request meets the preset message rule Respond to the message request.
  • the message request may include: an operation request triggered by the user by the application corresponding to the first storage space for the data in the corresponding data area of the second storage space.
  • the message type corresponding to the preset message rule may include: a call related message, a short message operation related message, a network operation related message, a screen operation related message, a file operation related message, a picture related operation message, and an application installation. At least one of the related messages.
  • the determining module is configured to determine whether the message request meets the preset message rule when the application corresponding to the first storage space does not have the condition for responding to the message request or fails to respond to the message request. .
  • the device may further include:
  • An instance judging module configured to determine, before the storage space obtaining module responds to the avatar creation request, that the storage space of the application is not installed, determine whether the instance of the application exceeds an instance threshold, and if not, respond Creating a request for the avatar to obtain a storage space in which the application is not installed.
  • the instance threshold is obtained according to hardware resources of the smart terminal and hardware resources occupied by instances of the application.
  • the avatar application creation module may include:
  • a first creating submodule configured to multiplex code of a main body application of the application in a storage space in which the application is not installed, and establish a data directory for private data of the application;
  • a second creating submodule configured to install the avatar application of the application in the storage space where the application is not installed according to the installation package of the application.
  • the storage space obtaining module may include:
  • a first obtaining submodule configured to create a new operating system user of the operating system in response to the avatar creation request, and store a storage space provided to the new operating system user as a storage space in which the application is not installed;
  • a second obtaining submodule configured to obtain, from the storage space provided by the existing operating system user, the storage space in which the application is not installed, in response to the avatar creation request.
  • the creating request receiving module may include:
  • the receiving submodule is configured to receive a avatar creation request sent by the desktop program, where the desktop program sends the avatar creation request in response to a avatar instruction triggered by the user for the application.
  • the device may further include:
  • the icon creation module is configured to create a shortcut icon of the avatar application on the desktop after successfully creating the avatar application of the application in the storage space in which the application is not installed.
  • the device may further include:
  • An uninstall request receiving module configured to receive an uninstall request for an application
  • a first uninstalling module configured to uninstall the main body application corresponding to the application or the main in the storage space of the uninstall application corresponding application when the shortcut icon corresponding to the uninstall request is a shortcut icon of the application Application and avatar application;
  • the second uninstalling module is configured to uninstall the avatar application in a storage space corresponding to the avatar application when the shortcut icon corresponding to the uninstallation request is a shortcut icon of the avatar application.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • the embodiment of the present application further provides an apparatus, the apparatus may include: one or more processors; and one or more machine readable mediums on which instructions are stored, when executed by the one or more processors
  • the apparatus is caused to perform the method of one or more of Figures 1-8.
  • the device can be used as a terminal or as a server.
  • the terminal can include: a smart phone, a tablet computer, an e-book reader, and an MP3 (motion image expert compresses a standard audio layer 3, a Moving Picture Experts Group Audio Layer).
  • Player, MP4 Moving Picture Experts Group Audio Layer IV
  • laptop portable computer car computer, desktop computer, set-top box, smart TV, wearable device, etc.
  • the embodiments of the present application do not limit the specific device.
  • the embodiment of the present application further provides a non-volatile readable storage medium, where the storage medium stores one or more programs, and when the one or more modules are applied to the device, the device may be executed.
  • FIG. 10 is a schematic structural diagram of hardware of a terminal device according to an embodiment of the present disclosure.
  • the terminal device may include an input device 1100, a processor 1101, an output device 1102, a memory 1103, and at least one communication bus 1104.
  • Communication bus 1104 is used to implement a communication connection between components.
  • Memory 1103 may include high speed RAM memory, and may also include non-volatile memory NVM, such as at least one disk memory, in which various programs may be stored for performing various processing functions and implementing the method steps of the present embodiments.
  • NVM non-volatile memory
  • the processor 1101 may be, for example, a central processing unit (CPU), an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), and a programmable logic.
  • CPU central processing unit
  • ASIC application specific integrated circuit
  • DSP digital signal processor
  • DSPD digital signal processing device
  • programmable logic programmable logic
  • a device PLD
  • FPGA field programmable gate array
  • controller microcontroller, microprocessor or other electronic component is implemented, which is coupled to the input device 1100 and the output device 1102 by a wired or wireless connection.
  • the input device 1100 may include multiple input devices, for example, at least one of a user-oriented user interface, a device-oriented device interface, a software programmable interface, a camera, and a sensor.
  • the device-oriented device interface may be a wired interface for data transmission between the device and the device, or may be a hardware insertion interface (for example, a USB interface, a serial port, etc.) for data transmission between the device and the device.
  • the user-oriented user interface may be, for example, a user-oriented control button, a voice input device for receiving voice input, and a touch-sensing device for receiving a user's touch input (eg, a touch screen with touch sensing function, touch
  • the programmable interface of the software may be, for example, an input for the user to edit or modify the program, such as an input pin interface or an input interface of the chip; optionally, the transceiver may have Radio frequency transceiver chip, baseband processing chip, and transceiver antenna for communication functions.
  • An audio input device such as a microphone can receive voice data.
  • the output device 1102 can include an output device such as a display, an audio, and the like.
  • the processor of the terminal device includes functions for executing each module of the data processing device in each device.
  • the specific functions and technical effects may be referred to the foregoing embodiments, and details are not described herein again.
  • FIG. 11 is a schematic structural diagram of hardware of a terminal device according to an embodiment of the present application.
  • Figure 11 is a specific embodiment of the implementation of Figure 10.
  • the terminal device of this embodiment may include a processor 1301 and a memory 1302.
  • the processor 1301 executes the computer program code stored in the memory 1302 to implement the method illustrated in one or more of FIGS. 1 through 8 of the above-described embodiments.
  • the memory 1302 is configured to store various types of data to support operations at the terminal device. Examples of such data include instructions for any application or method operating on the terminal device, such as messages, pictures, videos, and the like.
  • the memory 1302 may include a random access memory (RAM), and may also include a non-volatile memory such as at least one disk storage.
  • the processor 1301 is disposed in the processing component 1300.
  • the terminal device may also include a communication component 1303, a power component 1304, a multimedia component 1305, an audio component 1306, an input/output interface 1307, and/or a sensor component 1308.
  • the components and the like included in the terminal device are set according to actual requirements, which is not limited in this embodiment.
  • Processing component 1300 typically controls the overall operation of the terminal device.
  • Processing component 1300 can include one or more processors 1301 to execute instructions to perform all or part of the steps of the methods illustrated in Figures 1 through 8 above.
  • processing component 1300 can include one or more modules to facilitate interaction between component 1300 and other components.
  • processing component 1300 can include a multimedia module to facilitate interaction between multimedia component 1305 and processing component 1300.
  • Power component 1304 provides power to various components of the terminal device.
  • Power component 1304 can include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for the terminal devices.
  • the multimedia component 1305 includes a display screen between the terminal device and the user that provides an output interface.
  • the display screen can include a liquid crystal display (LCD) and a touch panel (TP). If the display includes a touch panel, the display can be implemented as a touch screen to receive input signals from the user.
  • the touch panel includes one or more touch sensors to sense touches, slides, and gestures on the touch panel. The touch sensor may sense not only the boundary of the touch or sliding action, but also the duration and pressure associated with the touch or slide operation.
  • Audio component 1306 is configured to output and/or input an audio signal.
  • audio component 1306 includes a microphone (MIC) that is configured to receive an external audio signal when the terminal device is in an operational mode, such as a voice recognition mode.
  • the received audio signal may be further stored in memory 1302 or transmitted via communication component 1303.
  • audio component 1306 also includes a speaker for outputting an audio signal.
  • the input/output interface 1307 provides an interface between the processing component 1300 and the peripheral interface module, which may be a click wheel, a button, or the like. These buttons may include, but are not limited to, a volume button, a start button, and a lock button.
  • Sensor assembly 1308 includes one or more sensors for providing status assessment of various aspects to the terminal device.
  • sensor component 1308 can detect the on/off state of the terminal device, the relative positioning of the components, and the presence or absence of contact of the user with the terminal device.
  • Sensor assembly 1308 can include a proximity sensor configured to detect the presence of nearby objects without any physical contact, including detecting the distance between the user and the terminal device.
  • the sensor component 1308 can also include a camera or the like.
  • Communication component 1303 is configured to facilitate wired or wireless communication between the terminal device and other devices.
  • the terminal device can access a wireless network based on a communication standard such as WiFi, 2G or 3G, or a combination thereof.
  • the terminal device may include a SIM card slot for inserting the SIM card, so that the terminal device can log in to the GPRS network and establish communication with the server through the Internet.
  • the communication component 1303, the audio component 1306, and the input/output interface 1307 and the sensor component 1308 involved in the embodiment of FIG. 11 can be implemented as an input device in the embodiment of FIG.
  • the embodiment of the present application further provides an operating system for a device.
  • the operating system for the device may include:
  • a request request receiving unit 1201, configured to receive a avatar creation request for an application
  • a storage space obtaining unit 1202 configured to acquire, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
  • the avatar application creation unit 1203 is configured to create a avatar application of the application in the storage space in which the application is not installed.
  • the storage path of the corresponding data area of the different storage space is saved by using the same database, so that the data corresponding to the data area of the other storage space is provided to the application corresponding to one storage space by the database.
  • the operating system may further include:
  • a message request receiving unit configured to receive a message request sent by an application corresponding to the first storage space
  • a determining unit configured to determine whether the message request meets a preset message rule; the preset message rule is used to indicate a delivery rule of a message request between the first storage space and the second storage space;
  • a message request sending unit configured to send the message request to an application corresponding to the second storage space corresponding to the message request, so that the application corresponding to the second storage space is used when the message request meets the preset message rule Respond to the message request.
  • the message request may include: an operation request triggered by the user by the application corresponding to the first storage space for the data in the corresponding data area of the second storage space.
  • the message type corresponding to the preset message rule may include: a call related message, a short message operation related message, a network operation related message, a screen operation related message, a file operation related message, a picture related operation message, and an application installation. At least one of the related messages.
  • embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
  • RAM random access memory
  • ROM read only memory
  • Memory is an example of a computer readable medium.
  • Computer readable media includes both permanent and non-persistent, removable and non-removable media.
  • Information storage can be implemented by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
  • computer readable media does not include non-persistent computer readable media, such as modulated data signals and carrier waves.
  • Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
  • These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device
  • Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the instruction device implements the functions specified in one or more blocks of the flow or in a flow or block diagram of the flowchart.

Landscapes

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

Abstract

Provided are an application program cloning method and apparatus, a device and a medium. The method specifically comprises: receiving a cloning establishment request regarding an application program; responding to the cloning establishment request, and acquiring a storage space in which the application program is not installed, wherein the storage space is used for representing a space provided for an operating system user; and establishing a cloned application of the application program in the storage space in which the application program is not installed. In the embodiments of the present application, the stability of a cloned application can be improved, a multi-instance upgrade process of an application program can be simplified, and the number of supported cloned applications can be increased.

Description

应用程序的分身方法、装置、设备和介质Application methods, devices, devices, and media
本申请要求2017年07月18日递交的申请号为201710587321.X、发明名称为“应用程序的分身方法、装置、设备和介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on Jul. 18, 2017, filed on Jan. 18, 2017, the entire disclosure of which is hereby incorporated by reference. In the application.
技术领域Technical field
本申请涉及智能终端技术领域,特别是涉及一种应用程序的分身方法、一种应用程序的分身系统、一种应用程序的分身装置、一种设备、以及一种机器可读介质。The present application relates to the field of smart terminal technologies, and in particular, to a method for arranging an application, a avatar system for an application, a avatar device for an application, a device, and a machine readable medium.
背景技术Background technique
随着智能终端软硬件技术的发展,用户对智能终端中APP(应用程序,Application)的需求越来越丰富。在日常使用智能终端的过程中,用户会存在多个账号同时登录同一APP的需求。例如,针对社交类APP,用户的多个账号需要同时登录使用以分别满足工作社交和生活社交的需求;或者,针对游戏类APP,用户的多个账号需要同时登录以在该多个账号之间便捷地进行道具赠送、交易等操作。With the development of software and hardware technologies for smart terminals, users are increasingly demanding APPs (applications) in smart terminals. In the process of daily use of the smart terminal, the user has the need to log in to the same APP at the same time. For example, for a social-like APP, multiple accounts of a user need to be logged in at the same time to meet the needs of social work and social life respectively; or, for a game-like APP, multiple accounts of the user need to be logged in simultaneously to be between the multiple accounts. Conveniently carry out items such as gift giving and trading.
一种现有方案中,多账号的登录通过篡改原APP的特定信息(如包名、路径名等)来实现。具体地,可以对原APP的特定信息进行修改以得到新APP,并在智能终端中安装新APP,由此实现多账号的登录。In an existing solution, the login of multiple accounts is implemented by tampering with the specific information of the original APP (such as package name, path name, etc.). Specifically, the specific information of the original APP can be modified to obtain a new APP, and a new APP is installed in the smart terminal, thereby implementing login of multiple accounts.
然而,上述现有方案通常由第三方APP来执行,若该第三方APP不稳定或者兼容性不够,则容易影响新APP的稳定性,也即,现有方案存在稳定性差的问题。However, the above existing solution is usually executed by a third-party APP. If the third-party APP is unstable or insufficient in compatibility, it is easy to affect the stability of the new APP, that is, the existing solution has a problem of poor stability.
并且,上述现有方案篡改原APP的特定信息的方式,使得新APP与原APP之间相互独立,这样,将使得用户无法实现对于新APP的直接升级。在实际应用中,在用户升级原APP后,第三方APP还需要重新修改升级后原APP的特定信息以得到对应的当前新APP,并重新在智能终端中安装当前新APP;可见,现有方案存在升级操作复杂的问题。Moreover, the above-mentioned existing scheme tampers with the specific information of the original APP, so that the new APP and the original APP are independent from each other, and thus, the user cannot implement direct upgrade for the new APP. In the actual application, after the user upgrades the original APP, the third-party APP needs to re-modify the specific information of the original APP after the upgrade to obtain the corresponding current new APP, and re-install the current new APP in the smart terminal; visible, existing solution There is a problem that the upgrade operation is complicated.
另外,现有方案通常对多账号的数目存在限制,例如,大多数第三方APP仅仅支持2个账号的同时登录,这将无法满足2个以上账号同时登录的需求,影响用户体验。In addition, the existing solution usually has a limitation on the number of multiple accounts. For example, most third-party APPs only support simultaneous login of two accounts, which will not meet the requirement of two or more accounts simultaneously logging in, which affects the user experience.
发明内容Summary of the invention
本申请实施例所要解决的技术问题是提供一种应用程序的分身方法,能够提高分身应用的稳定性,能够简化应用程序多实例的升级流程,且能够提高所支持分身应用的数目。The technical problem to be solved by the embodiments of the present application is to provide a method for arranging an application, which can improve the stability of the avatar application, simplify the upgrade process of the application multi-instance, and improve the number of supported avatar applications.
相应的,本申请实施例还提供了一种应用程序的分身装置、一种智能终端、以及一种操作系统,用以保证上述方法的实现及应用。Correspondingly, the embodiment of the present application further provides an application device, a smart terminal, and an operating system to ensure implementation and application of the foregoing method.
为了解决上述问题,本申请实施例公开了一种应用程序的分身方法,包括:接收针对应用程序的分身创建请求;响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。In order to solve the above problem, the embodiment of the present application discloses a method for arranging an application, including: receiving a avatar creation request for an application; and acquiring a storage space in which the application is not installed, in response to the avatar creation request; The storage space is used to represent a space provided to an operating system user; the avatar application of the application is created in the storage space in which the application is not installed.
本申请实施例还公开了一种应用程序的分身装置,包括:The embodiment of the present application further discloses an application device, including:
创建请求接收模块,用于接收针对应用程序的分身创建请求;Creating a request receiving module for receiving a avatar creation request for an application;
存储空间获取模块,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;a storage space obtaining module, configured to obtain, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
分身应用创建模块,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。A avatar application creation module for creating a avatar application of the application in the storage space in which the application is not installed.
本申请实施例还公开了一种设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行前述一个或多个所述的方法。Embodiments of the present application also disclose an apparatus comprising: one or more processors; and one or more machine readable medium having instructions stored thereon, when executed by the one or more processors, The apparatus performs one or more of the methods described above.
本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行前述一个或多个所述的方法。Embodiments of the present application also disclose one or more machine-readable media having stored thereon instructions that, when executed by one or more processors, cause the device to perform one or more of the methods described above.
本申请实施例还公开了一种用于设备的操作系统,包括:The embodiment of the present application further discloses an operating system for a device, including:
创建请求接收单元,用于接收针对应用程序的分身创建请求;Creating a request receiving unit for receiving a avatar creation request for an application;
存储空间获取单元,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;a storage space obtaining unit, configured to acquire, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
分身应用创建单元,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。A avatar application creation unit for creating a avatar application of the application in the storage space in which the application is not installed.
与现有方案相比,本申请实施例包括以下优点:Compared with the existing solution, the embodiment of the present application includes the following advantages:
本申请实施例接收针对应用程序的分身创建请求;响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的 空间;在所述存储空间中创建所述应用程序的分身应用。本申请实施例利用操作系统多用户特性,实现应用程序的主身应用和至少一个分身应用,本申请实施例具有如下优点:The embodiment of the present application receives a avatar creation request for an application; in response to the avatar creation request, acquires a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user; A avatar application of the application is created in the storage space. The embodiment of the present application utilizes the multi-user feature of the operating system to implement the main application of the application and the at least one avatar application. The embodiment of the present application has the following advantages:
首先,相对于现有方案中第三方APP不稳定或者兼容性不够导致稳定性差的问题,由于操作系统多用户特性为操作系统支持的一个稳定特性,故本申请实施例利用这个稳定特性在操作系统层面实现应用程序的分身,能够提高分身应用的稳定性。First, the stability of the third-party APP in the existing solution is insufficient or the compatibility is insufficient, resulting in poor stability. Since the multi-user feature of the operating system is a stable feature supported by the operating system, the embodiment of the present application utilizes the stable feature in the operating system. The implementation of the application's avatar can improve the stability of the avatar application.
其次,本申请实施例所采用应用程序的分身方式与不涉及应用程序信息的修改,故相对于现有方案中分别针对原APP和新APP进行升级操作导致升级操作复杂的问题,本申请实施例中一个应用程序的所有实例(包括主身应用和所有分身应用)可以共用该应用程序的代码部分,因此可以实现主身应用和所有分身应用的同步更新;也即,在主身应用或者任意一个分身应用的代码部分被更新的情况下,主身应用和所有分身应用的代码部分也被同步更新,因此能够提高简化多实例的升级流程。且本申请实施例的升级可以不涉及各实例的数据部分,因此能够保证各实例的数据部分的独立性。Secondly, the avatar mode of the application program used in the embodiment of the present application does not involve the modification of the application information. Therefore, the upgrade operation is complicated for the original APP and the new APP in the existing solution, and the upgrade operation is complicated. All instances of an application (including the main application and all avatar applications) can share the code portion of the application, so that the main application and all avatar applications can be updated synchronously; that is, in the main application or any one In the case where the code portion of the avatar application is updated, the code portion of the main body application and all the avatar applications are also updated synchronously, thereby improving the simplification of the multi-instance upgrade process. Moreover, the upgrade of the embodiment of the present application may not involve the data part of each instance, and thus the independence of the data part of each instance can be guaranteed.
再者,相对于现有方案中第三方APP仅仅支持原APP的1个分身应用的问题,本申请实施例可以利用智能终端的硬件资源,支持无限多的分身应用和实例数目,通常,本申请实例支持的实例数目可达到8甚至更多,因此能够解决分身应用受限的问题。Furthermore, compared with the problem that the third-party APP in the existing solution only supports one avatar application of the original APP, the embodiment of the present application can utilize the hardware resources of the smart terminal to support an unlimited number of avatar applications and the number of instances. Generally, the application The number of instances supported by the instance can reach 8 or more, so the problem of limited application of the split can be solved.
此外,由于本申请实施例在操作系统层面实现应用程序的分身,故可以实现对于一个应用程序的所有实例的统一管理。可选地,可以在桌面上针对一个应用程序的所有实例设置对应的快捷图标,以提高用户对于分身应用的操作效率;或者,可以对一个应用程序的所有实例对应任务进行统一管理,这样,可以使分身应用在任务管理界面具有与主身应用同等被展现的机会,提高分身应用的透明性。In addition, since the embodiment of the present application implements the avatar of the application at the operating system level, unified management of all instances of one application can be implemented. Optionally, a corresponding shortcut icon may be set on the desktop for all instances of an application to improve the operation efficiency of the user for the integrated application; or, the task corresponding to all instances of an application may be uniformly managed, so that Applying the avatar to the task management interface has the same opportunity to be displayed as the main application, improving the transparency of the avatar application.
附图说明DRAWINGS
图1是本申请的一种应用程序的分身方法实施例的步骤流程图;1 is a flow chart showing the steps of an embodiment of an application of the application;
图2是本申请实施例的一种桌面的示意;2 is a schematic diagram of a desktop of an embodiment of the present application;
图3是本申请实施例的一种应用图标的区域的示意;FIG. 3 is a schematic diagram of an area of an application icon according to an embodiment of the present application; FIG.
图4是本申请的一种基于操作系统多用户的存储空间的结构示意;4 is a schematic structural diagram of a storage space of a multi-user based on an operating system according to the present application;
图5是本申请的另一种应用程序的分身方法实施例的步骤流程图;5 is a flow chart showing the steps of an embodiment of a method for arranging another application of the present application;
图6是本申请的再一种应用程序的分身方法实施例的步骤流程图;6 is a flow chart showing the steps of an embodiment of a method for arranging an application of the present application;
图7是本申请的又一种应用程序的分身方法实施例的步骤流程图;7 is a flow chart showing the steps of another embodiment of the application method of the present application;
图8是本申请的一种不同存储空间的应用之间的消息通信方法实施例的步骤流程 图;8 is a flow chart showing the steps of an embodiment of a message communication method between applications of different storage spaces of the present application;
图9是本申请的一种应用程序的分身装置实施例的结构框图;9 is a structural block diagram of an embodiment of a mobile device of an application of the present application;
图10是本申请一实施例提供的计算设备的硬件结构示意图;FIG. 10 is a schematic structural diagram of hardware of a computing device according to an embodiment of the present disclosure;
图11是本申请另一实施例提供的计算设备的硬件结构示意图;FIG. 11 is a schematic structural diagram of hardware of a computing device according to another embodiment of the present disclosure;
图12是本申请实施例的一种用于设备的操作系统的结构示意图。FIG. 12 is a schematic structural diagram of an operating system for a device according to an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。The above described objects, features and advantages of the present application will become more apparent and understood.
本申请实施例中,应用程序的分身是指针对一个APP在智能终端上同时运行该APP的多个实例。现有方案中第三方APP通过篡改原APP的特定信息的方式运行原APP的一个分身应用。然而,现有方案具有稳定性差、升级操作复杂、仅仅支持原APP的1个分身应用等问题。In the embodiment of the present application, the avatar of the application is a pointer to multiple instances of the APP running on the smart terminal simultaneously. In the existing solution, the third-party APP runs a avatar application of the original APP by tampering with the specific information of the original APP. However, the existing solution has problems such as poor stability, complicated upgrade operation, and only supporting one avatar application of the original APP.
本申请实施例提供了一种应用程序的分身方案,该方案可以在操作系统层面实现应用程序的分身,具体地,该方案可以通过操作系统多用户特性实现应用程序的主身应用和至少一个分身应用。操作系统多用户是操作系统的发展得来的概念,与操作系统单用户的概念相对应,操作系统多用户是为了共享计算机资源而允许多用户同时使用同一计算机资源而彼此无感知,并且互不影响。Linux系统是标准的多用户操作系统,而Android系统是基于Linux操作系统发展而来的操作系统,自然而然的支持多用户。The embodiment of the present application provides a detachment solution of an application, which can implement an application avatar at an operating system level. Specifically, the solution can implement an application application and at least one avatar through an operating system multi-user feature. application. Operating system multi-user is a concept developed by the operating system. Corresponding to the concept of single-user operating system, multi-users of operating system allow multiple users to use the same computer resources at the same time without sharing each other in order to share computer resources. influences. The Linux system is a standard multi-user operating system, and the Android system is an operating system based on the development of the Linux operating system, which naturally supports multiple users.
操作系统多用户特性可以包括:操作系统用户对应有独立的存储空间;操作系统用户对应有独立的软件管理系统,可选地,该软件管理系统可以允许在一个操作系统用户上安装唯一包名的应用,不可再安装第二个同名的应用。The operating system multi-user feature may include: the operating system user has a separate storage space; the operating system user corresponds to an independent software management system. Optionally, the software management system may allow a unique package name to be installed on an operating system user. Application, no second application with the same name can be installed.
本申请实施例提供的一种应用程序的分身方案具体可以包括:接收针对应用程序的分身创建请求;响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;在所述存储空间中创建所述应用程序的分身应用。The avatar scheme of the application program provided by the embodiment of the present application may specifically include: receiving a avatar creation request for the application; and acquiring, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storing The space is used to characterize the space provided to the operating system user; the avatar application of the application is created in the storage space.
假设通过操作系统的用户ID表征操作系统多用户,则操作系统多用户可以包括:用户ID_0、用户ID_1、用户ID_2、…用户ID_N,则用户ID_0可用于实现应用程序的主身应用,用户ID_1、用户ID_2、…用户ID_N可分别用于实现应用程序的N个分身应用, 其中,N为正整数。Assuming that the operating system user ID is used to represent the operating system multi-user, the operating system multi-user may include: user ID_0, user ID_1, user ID_2, ... user ID_N, then the user ID_0 can be used to implement the application of the application, user ID_1, User ID_2, ... User ID_N can be used to implement N avatar applications of the application, where N is a positive integer.
本申请实施例中,智能终端可用于表示操作系统支持操作系统多用户特性的终端设备。可选地,本申请实施例的智能终端可以包括但不限于:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准音频层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等。进一步可选地,该智能终端的操作系统可以具备多用户特性,如IOS、Android、云OS、Windows等,可以理解,本申请实施例对于具体的智能终端及其采用的智能操作系统不加以限制。In the embodiment of the present application, the smart terminal can be used to indicate that the operating system supports the terminal device of the operating system multi-user feature. Optionally, the smart terminal in the embodiment of the present application may include, but is not limited to, a smart phone, a tablet computer, an e-book reader, and an MP3 (Moving Picture Experts Group Audio Layer III) player. MP4 (Moving Picture Experts Group Audio Layer IV) player, laptop portable computer, car computer, desktop computer, set-top box, smart TV, wearable device, etc. Further, the operating system of the smart terminal may have multiple user features, such as IOS, Android, cloud OS, Windows, etc. It can be understood that the embodiment of the present application does not limit the specific intelligent terminal and the intelligent operating system used therein. .
首先,相对于现有方案中第三方APP不稳定或者兼容性不够导致稳定性差的问题,由于操作系统多用户特性为操作系统支持的一个稳定特性,故本申请实施例利用这个稳定特性在操作系统层面实现应用程序的分身,能够提高分身应用的稳定性。First, the stability of the third-party APP in the existing solution is insufficient or the compatibility is insufficient, resulting in poor stability. Since the multi-user feature of the operating system is a stable feature supported by the operating system, the embodiment of the present application utilizes the stable feature in the operating system. The implementation of the application's avatar can improve the stability of the avatar application.
其次,本申请实施例中,在一个应用程序被安装后可分为两个部分:代码部分和数据部分,其中,上述代码部分可以文件或库的形式存在,用于运行应用程序的实例,上述数据部分可用于存储用户在使用应用程序过程中产生的数据。由于本申请实施例利用操作系统的多用户特性实现应用程序的分身,也即,本申请实施例所采用应用程序的分身方式与现有方案中篡改原APP的特定信息的方式不同,故相对于现有方案中分别针对原APP和新APP进行升级操作导致升级操作复杂的问题,本申请实施例中一个应用程序的所有实例(包括主身应用和所有分身应用)可以共用该应用程序的代码部分,因此可以实现主身应用和所有分身应用的同步更新;也即,在主身应用或者任意一个分身应用的代码部分被更新的情况下,主身应用和所有分身应用的代码部分也被同步更新,因此能够提高简化多实例的升级流程。Secondly, in the embodiment of the present application, after an application is installed, it may be divided into two parts: a code part and a data part, wherein the code part may exist in the form of a file or a library, and is used to run an instance of the application, the above The data section can be used to store data that the user generates during the process of using the application. The embodiment of the present application implements the avatar of the application by using the multi-user feature of the operating system, that is, the avatar mode of the application used in the embodiment of the present application is different from the tampering of the specific information of the original APP in the existing solution, so In the existing solution, the upgrade operation of the original APP and the new APP respectively causes a problem that the upgrade operation is complicated. In the embodiment of the present application, all instances of an application (including the main application and all the avatar applications) can share the code part of the application. Therefore, the synchronization of the main application and all the avatar applications can be synchronized; that is, in the case where the main application or the code portion of any of the avatar applications is updated, the code portions of the main application and all the avatar applications are also updated simultaneously. , so it can improve the upgrade process of simplifying multi-instance.
本申请实施例中,对于一个应用程序,主身应用可用于表示该应用程序在在智能终端中的第一个实例,分身应用可分别表示该应用程序在智能终端中的第i个实例,其中,i为大于1的正整数。可选地,该主身应用可以安装在主操作系统用户ID(例如操作系统用户ID_0)之上,分身应用可以安装在副操作系统用户ID(如操作系统用户ID_1、操作系统用户ID_2、…用户ID_N)。可以理解,主身应用与分身应用对应不同的操作系统用户ID,本申请实施例对于主身应用或者分身应用所对应的具体操作系统用户ID不加以限制。In the embodiment of the present application, for an application, the main body application can be used to indicate that the application is in the first instance in the smart terminal, and the avatar application can respectively represent the ith instance of the application in the smart terminal, wherein , i is a positive integer greater than one. Optionally, the main body application can be installed on the main operating system user ID (for example, the operating system user ID_0), and the avatar application can be installed in the secondary operating system user ID (such as the operating system user ID_1, the operating system user ID_2, ... the user) ID_N). It can be understood that the main body application and the avatar application correspond to different operating system user IDs. The embodiment of the present application does not limit the specific operating system user ID corresponding to the main body application or the avatar application.
再者,相对于现有方案中第三方APP仅仅支持原APP的1个分身应用的问题,本 申请实施例可以利用智能终端的硬件资源,支持无限多的分身应用和实例数目,因此能够解决分身应用受限的问题。可选地,该实例数目可以不超过实例阈值,所述实例阈值可以为依据智能终端的硬件资源和所述应用程序的实例所占用的硬件资源得到。例如,智能终端的内存为M 1,应用程序的实例占用的内存为M 2,则支持的实例数目可以为M 1/M 2,其中,M 1和M 2均为正整数。 Furthermore, compared with the problem that the third-party APP in the existing solution only supports one avatar application of the original APP, the embodiment of the present application can utilize the hardware resources of the smart terminal to support an unlimited number of avatar applications and the number of instances, thereby being able to solve the avatar Application limited issues. Optionally, the number of the instance may not exceed an instance threshold, where the instance threshold may be obtained according to hardware resources of the smart terminal and hardware resources occupied by the instance of the application. For example, if the memory of the smart terminal is M 1 and the memory occupied by the instance of the application is M 2 , the number of supported instances may be M 1 /M 2 , where both M 1 and M 2 are positive integers.
并且,相对于现有方案中第三方APP篡改原APP的特定信息带来的侵犯原APP的版权、著作权等合法权益的问题,本申请实施例可以在不修改原APP的情况下实现应用程序的分身,因此可以避免侵犯开发者的合法权益。In addition, the embodiment of the present application can implement the application without modifying the original APP, as opposed to the problem that the third party APP tampers with the original APP's specific information in the existing solution and infringes the legitimate rights and interests of the original APP. Separation, so you can avoid infringing the legitimate rights and interests of developers.
参照图1,示出了本申请的一种应用程序的分身方法实施例的步骤流程图,具体可以包括如下步骤:Referring to FIG. 1 , a flow chart of steps of an embodiment of an application method of an application of the present application is shown, which may specifically include the following steps:
步骤101、接收针对应用程序的分身创建请求;Step 101: Receive a avatar creation request for an application;
步骤102、响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间可用于表征提供给操作系统用户的空间;Step 102: Acquire a storage space in which the application is not installed, in response to the avatar creation request; wherein the storage space is used to represent a space provided to an operating system user;
步骤103、在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。Step 103: Create a avatar application of the application in a storage space in which the application is not installed.
本申请实施例可以应用于智能终端的操作系统环境中。目前,为了满足用户的个人应用与企业应用相隔离的需求,有些操作系统开发了操作系统多用户的框架及接口,则本申请实施例可以直接使用操作系统多用户的框架,也可以对该用户多模式的框架进行调整,以满足本申请实施例的实际应用需求。The embodiments of the present application can be applied to an operating system environment of an intelligent terminal. At present, in order to meet the requirements of the user's personal application and the enterprise application, some operating systems have developed a multi-user framework and interface of the operating system, and the embodiment of the present application can directly use the framework of the operating system multi-user, or the user. The multi-mode framework is adjusted to meet the practical application requirements of the embodiments of the present application.
在操作系统多用户的原有框架或者调整后框架的基础上,本申请实施例可以提供分身相关的服务接口,以使智能终端的用户或者应用层的应用程序通过该服务接口实现应用程序的操作。可选地,本申请实施例的服务接口可以包括:分身创建接口、应用升级接口、以及应用卸载接口中的至少一种,其中,分身创建接口可用于创建应用程序的分身应用,应用升级接口可用于对应用程序的所有实例(包括主身应用和分身应用)进行升级,应用卸载接口可用于对应用程序的至少一种实例(包括主身应用和分身应用中的至少一种)进行卸载。可以理解,上述分身创建接口、应用升级接口、以及应用卸载接口只是作为本申请实施例的可选实施例,实际上,任意的可用于实现应用程序的管理的服务接口均在本申请实施例的保护范围之内。On the basis of the original framework of the operating system multi-user or the adjusted framework, the embodiment of the present application can provide a service interface related to the avatar so that the user of the intelligent terminal or the application of the application layer can implement the operation of the application through the service interface. . Optionally, the service interface of the embodiment of the present application may include: at least one of a avatar creation interface, an application upgrade interface, and an application uninstallation interface, where the avatar creation interface may be used to create a avatar application of the application, and the application upgrade interface is available. To upgrade all instances of the application, including the main application and the avatar application, the application uninstallation interface can be used to uninstall at least one instance of the application, including at least one of the main application and the avatar application. It can be understood that the foregoing avatar creation interface, the application upgrade interface, and the application uninstallation interface are only optional embodiments of the embodiment of the present application. In fact, any service interface that can be used to implement application management is in the embodiment of the present application. Within the scope of protection.
在实际应用中,步骤101的分身创建请求可以与上述分身创建接口的调用请求相应。在本申请的一种可选实施例中,步骤101可以包括:接收桌面程序发送的分身创建请求, 其中,所述桌面程序可以响应于用户对于应用程序发出的分身指令,发送所述分身创建请求。也即,若用户针对应用程序发出分身指令,则桌面程序可以响应于该分身指令,向操作系统发送针对应用程序的分身创建请求。在本申请的一种应用示例中,用户针对应用程序发出分身指令的过程可以包括:接收用户针对应用程序的快捷图标的第一预置操作,展现分身创建选项,若接收到用户对于所述分身创建选项的触发操作,则认为用户针对所述应用程序发出了分身指令。其中,上述第一预置操作可以为长按操作、滑动操作、双击操作等与应用程序的启动操作不冲突的任意操作,上述第一预置操作所针对的快捷图标可以为应用程序所包括的主身应用的快捷图标,也可以为应用程序所包括的分身应用的快捷图标。例如,对于某社交类APP,桌面上可以包括该社交类APP对应的各实例的快捷图标,则用户可以针对任意实例的快捷图标发出对应的分身指令,以获得该社交类APP的分身应用。In an actual application, the avatar creation request of step 101 may correspond to the call request of the above-mentioned avatar creation interface. In an optional embodiment of the present application, step 101 may include: receiving a avatar creation request sent by a desktop program, where the desktop program may send the avatar creation request in response to a avatar instruction issued by the user for the application . That is, if the user issues a avatar instruction for the application, the desktop program can send a avatar creation request for the application to the operating system in response to the avatar instruction. In an application example of the present application, the process of the user issuing a avatar instruction for the application may include: receiving a first preset operation of the user's shortcut icon for the application, displaying a avatar creation option, if receiving the user for the avatar When a trigger action is created for an option, the user is considered to have issued a avatar instruction for the application. The first preset operation may be any operation that does not conflict with the startup operation of the application, such as a long press operation, a slide operation, a double-click operation, etc., and the shortcut icon for the first preset operation may be included in the application. The shortcut icon for the main app can also be a shortcut icon for the avatar app included in the app. For example, for a social-like APP, a shortcut icon of each instance corresponding to the social-like APP may be included on the desktop, and the user may issue a corresponding avatar instruction for the shortcut icon of any instance to obtain a avatar application of the social-like APP.
在接收该分身创建请求后,步骤102可以响应于该分身创建请求,获取未安装所述应用程序的存储空间。操作系统多用户特性可以包括:操作系统用户对应有独立的存储空间;操作系统用户对应有独立的软件管理系统,可选地,该软件管理系统可以允许在一个操作系统用户上安装唯一包名的应用,不可再安装第二个同名的应用。因此,步骤102可以获取未安装所述应用程序的存储空间,作为分身创建请求对应的存储空间。After receiving the avatar creation request, step 102 may obtain a storage space in which the application is not installed in response to the avatar creation request. The operating system multi-user feature may include: the operating system user has a separate storage space; the operating system user corresponds to an independent software management system. Optionally, the software management system may allow a unique package name to be installed on an operating system user. Application, no second application with the same name can be installed. Therefore, step 102 can obtain a storage space in which the application is not installed, as a storage space corresponding to the avatar creation request.
在本申请的一种可选实施例中,上述响应于所述分身创建请求,获取未安装所述应用程序的存储空间的步骤102对应的获取方式,具体可以包括:In an optional embodiment of the present application, the acquiring the method corresponding to the step 102 of the storage space in which the application is not installed in response to the avatar creation request may include:
获取方式1、响应于所述分身创建请求,创建操作系统的新操作系统用户,将向所述新操作系统用户提供的存储空间作为未安装所述应用程序的存储空间;或者Obtaining mode 1, in response to the avatar creation request, creating a new operating system user of the operating system, and storing the storage space provided to the new operating system user as a storage space in which the application is not installed; or
获取方式2、响应于所述分身创建请求,从向已有的操作系统用户提供的存储空间中获取未安装所述应用程序的存储空间。In the acquisition mode 2, in response to the avatar creation request, the storage space in which the application is not installed is obtained from the storage space provided to the existing operating system user.
其中,对于获取方式1,由于向新操作系统用户提供的存储空间尚未安装应用横须,因此,可以将向所述新操作系统用户提供的存储空间作为未安装所述应用程序的存储空间。对于获取方式2,向已有的操作系统用户提供的存储空间中有可能包括未安装词分身创建请求对应应用程序的存储空间,因此,可以从中获取未安装所述应用程序的存储空间。可以理解,本领域技术人员可以根据实际应用需求采用上述获取方式1和获取方式2中的任一。For the acquisition mode 1, since the application horizontal space has not been installed in the storage space provided to the new operating system user, the storage space provided to the new operating system user may be used as the storage space in which the application is not installed. For the acquisition mode 2, the storage space provided to the existing operating system user may include the storage space of the unapplied word creation request corresponding application, and therefore, the storage space in which the application is not installed may be obtained therefrom. It can be understood that any one of the foregoing acquisition mode 1 and acquisition mode 2 can be adopted by a person skilled in the art according to actual application requirements.
在步骤102获取未安装所述应用程序的存储空间后,步骤103可以在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。其中,未安装所述应用程序的 存储空间为独立空间,这样,当在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用后,可以为该应用程序分配相应的子存储空间。After obtaining the storage space in which the application is not installed in step 102, step 103 may create a avatar application of the application in the storage space in which the application is not installed. Wherein, the storage space in which the application is not installed is an independent space, so that after the avatar application of the application is created in the storage space in which the application is not installed, the corresponding program may be allocated to the application. storage.
在本申请的一种可选实施例中,所述在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用的步骤103对应的创建方式,可以包括:In an optional embodiment of the present application, the creating a method corresponding to the step 103 of creating the avatar application of the application in the storage space in which the application is not installed may include:
创建方式1、在所述未安装所述应用程序的存储空间中复用所述应用程序的主身应用的代码,并针对所述应用程序的私有数据建立数据目录;或者Creating mode 1, multiplexing the code of the application of the application in the storage space in which the application is not installed, and establishing a data directory for the private data of the application; or
创建方式2、依据所述应用程序的安装包,在所述未安装所述应用程序的存储空间中安装所述应用程序的分身应用。The creation mode 2 installs the application of the application in the storage space in which the application is not installed according to the installation package of the application.
上述创建方式2可以依据所述应用程序的安装包,在所述未安装所述应用程序的存储空间中安装所述应用程序的分身应用。The above creation method 2 may install the application of the application in the storage space in which the application is not installed according to the installation package of the application.
本申请实施例中,在一个应用程序被安装后可分为两个部分:代码部分和数据部分,其中,上述代码部分可用于运行应用程序的实例,上述数据部分可用于存储用户在使用应用程序过程中产生的数据;由于本申请实施例利用操作系统多用户特性实现应用程序的分身,也即,本申请实施例所采用应用程序的分身方式并未涉及APP的篡改,故本申请实施例中一个应用程序的所有实例(包括主身应用和所有分身应用)可以共用该应用程序的代码部分,这样,在创建应用程序的分身应用的过程中,上述创建方案1可以在不安装安装包的情况下,将应用程序的代码拷贝至未安装所述应用程序的存储空间,并针对所述应用程序的私有数据建立相应的数据目录,建立的数据目录可以作为创建的分身应用的数据部分,用于存储用户在使用应用程序过程中产生的数据。由于上述创建方式1可以不进行安装包的安装,因此能够提高分身应用的创建效率。In the embodiment of the present application, after an application is installed, it can be divided into two parts: a code part and a data part, wherein the code part can be used to run an instance of the application, and the data part can be used to store the user in using the application. The data generated in the process; the embodiment of the present application implements the avatar of the application by using the multi-user feature of the operating system, that is, the avatar of the application used in the embodiment of the present application does not involve tampering of the APP, so in the embodiment of the present application All instances of an application (including the main application and all avatar applications) can share the code portion of the application, so that in the process of creating the application's avatar application, the above creation scheme 1 can be installed without installing the installation package. Copying the code of the application to the storage space where the application is not installed, and establishing a corresponding data directory for the private data of the application, and the created data directory can be used as the data part of the created integrated application, and used for Stores data generated by users as they use the application. Since the above creation method 1 can eliminate the installation of the installation package, the creation efficiency of the avatar application can be improved.
可选地,上述应用程序的私有数据可以包括:账号、私有配置等,以社交类APP为例,上述私有配置可用于配置界面的背景,可以理解,本申请实施例对于具体的私有数据不加以限制。Optionally, the private data of the application may include: an account, a private configuration, and the like. The social application is used as an example. The private configuration may be used to configure a background of the interface. limit.
可以理解,本领域技术人员可以根据实际应用需求,采用上述创建方式1和创建方式2中的任一以创建应用程序的分身应用,本申请实施例对于创建应用程序的分身应用所对应的具体创建方式不加以限制。It can be understood that a person skilled in the art can use any one of the foregoing creation mode 1 and creation mode 2 to create a avatar application of the application according to the actual application requirement, and the specific creation corresponding to the avatar application for creating the application in the embodiment of the present application. The method is not limited.
在本申请的另一种可选实施例中,本申请实施例的方法还可以包括:当在所述未安装所述应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标。对于本申请实施例的分身应用而言,其可以类似主身应用在桌面上具有对应的快捷图标,这样,不仅可以针对分身应用向用户提供与主身应用一致的操 作接口,而且相对于现有方案中用户去第三方APP中开启分身应用的方式,本申请实施例可以使用户直接通过桌面上的快捷图标进行分身应用的开启,故能够提高分身应用的操作效率。In another optional embodiment of the present application, the method of the embodiment of the present application may further include: when the avatar application of the application is successfully created in the storage space where the application is not installed, on the desktop Create a shortcut icon for the avatar app. For the avatar application of the embodiment of the present application, it can have a corresponding shortcut icon on the desktop similar to the main body application, so that not only the operation interface consistent with the main body application can be provided to the user for the avatar application, but also relative to the existing In the solution, the user can go to the third-party APP to open the avatar application. The embodiment of the present application can enable the user to directly open the avatar application through the shortcut icon on the desktop, thereby improving the operation efficiency of the avatar application.
在实际应用中,可以针对分身应用设置与主身应用不同的快捷图标。例如,可以在分身应用的快捷图标上显示对应分身应用的ID或者对应的操作系统用户ID、图形等标识,该标识可以位于快捷图标的上标、下标等位置,以提高分身应用的辨识度。例如,对于某APP,其第一个分身应用的快捷图标在主身应用的快捷图标的基础上增加了下标,该下标展示的是分身应用的ID(如1)或者第一预置图形;其第二个分身应用的快捷图标在主身应用的快捷图标的基础上增加了下标,该下标展示的是分身应用的ID(如2)或者第一预置图形;其中,第一预置图形和第二预置图形的图形对应图案可以相同或者不同,其中,在图案相同时,二者的颜色可以不同。可以理解,本申请实施例对于分身应用的具体快捷图标不加以限制。In practical applications, a shortcut icon different from the main body application can be set for the avatar application. For example, the ID of the corresponding avatar application or the corresponding operating system user ID, graphic, and the like may be displayed on the shortcut icon of the avatar application, and the identifier may be located at a superscript or a subscript of the shortcut icon to improve the identification of the avatar application. . For example, for an APP, the shortcut icon of the first avatar application adds a subscript to the shortcut icon of the main body application, and the subscript displays the ID of the avatar application (such as 1) or the first preset graphic. The shortcut icon of the second avatar application adds a subscript to the shortcut icon of the main body application, and the subscript displays the ID of the avatar application (such as 2) or the first preset graphic; The graphic corresponding patterns of the preset graphic and the second preset graphic may be the same or different, wherein the colors of the two may be different when the patterns are the same. It can be understood that the specific shortcut icons of the avatar application are not limited in the embodiment of the present application.
参照图2,示出了本申请实施例的一种桌面的示意,其具体可以包括:若干个应用图标的区域201,应用图标的区域201可以包括:主身应用的图标201-A,或者,应用图标的区域201可以包括:主身应用的图标201-A和分身应用的图标201-B,其中,对于同一应用程序而言,主身应用的图标201-A和分身应用的图标201-B相同或者不同。可选地,可以响应于用户对于主身应用的图标201-A或者分身应用的图标201-B的预置操作,弹出分身选项和/或卸载选项,若用户触发了分身选项,则可以认为用户触发了分身指令,若用户触发了卸载选项,则可以认为用户触发了卸载指令。Referring to FIG. 2, a schematic diagram of a desktop of an embodiment of the present application is shown, which may specifically include: an area 201 of application icons, and an area 201 of application icons may include: an icon 201-A of the main body application, or The area 201 of the application icon may include: an icon 201-A of the main body application and an icon 201-B of the avatar application, wherein, for the same application, the icon 201-A of the main body application and the icon 201-B of the avatar application Same or different. Optionally, the avatar option and/or the uninstall option may be popped up in response to a preset operation of the icon 201-A of the main body application or the icon 201-B of the avatar application, and if the user triggers the avatar option, the user may be considered The split command is triggered. If the user triggers the uninstall option, the user can be considered to have triggered the uninstall command.
参照图3,示出了本申请实施例的一种应用图标的区域的示意,其中,可以包括:主身应用的图标和若干个分身应用的图标,其中,主身应用的图标可以不带有下标,分身应用的图标可以带有下标,且不同分身应用的图标对应的下标颜色可以不同,由此可以实现主身应用和分身应用、以及分身应用之间的辨识度。并且,用户还可以通过触发图3中的“+”按钮,产生分身指令。Referring to FIG. 3, an illustration of an area of an application icon of an embodiment of the present application is illustrated, which may include: an icon of a main body application and an icon of a plurality of avatar applications, wherein the icon of the main body application may not include Subscripts, the icons of the avatar application can be subscripted, and the subscript colors of the icons of different avatar applications can be different, thereby achieving the recognition between the main body application and the avatar application, and the avatar application. Moreover, the user can also generate a avatar instruction by triggering the "+" button in FIG.
目前,例如Android系统的操作系统多用户,其原本的设计目的是为了隔离,比如其给出的一种使用场景,即可创建两个用户:一个用户安装使用者的私人应用,另一个用户安装使用者的企业应用。私人应用与企业应用彼此相隔离,互不影响。因此,目前不同操作系统用户的数据区是相互隔离的,彼此间不可见,也即,一个存储空间对应的应用并不具备对于其他存储空间对应数据区的访问权限。例如,操作系统可以将不同存储空间的数据区的数据置于沙箱中,以通过沙箱实现不同操作系统用户的数据区之间的 相互隔离。At present, for example, the operating system of the Android system is multi-user, and its original design purpose is to isolate, for example, a usage scenario, which can create two users: one user installs the user's private application, and another user installs User's enterprise application. Private applications and enterprise applications are isolated from each other and do not affect each other. Therefore, the data areas of different operating system users are currently isolated from each other and are invisible to each other, that is, an application corresponding to one storage space does not have access rights to corresponding data areas of other storage spaces. For example, the operating system can place data in data areas of different storage spaces in a sandbox to enable isolation between data areas of different operating system users through a sandbox.
在本申请的再一种可选实施例中,所述存储空间可以包括:数据区,一个存储空间对应的应用具备对于其他存储空间对应数据区的访问权限。其中,上述数据区可用于存储用户在使用主身应用或者各分身应用的过程中产生的数据。可选地,上述数据区中的数据可以包括:主身应用或者各分身应用的公共数据和/或私有数据等。本申请实施例可以支持不同存储空间对应的应用之间的相互访问,故能够满足用户在应用分身的特定场景下不同存储空间对应应用之间的数据访问需求。In still another optional embodiment of the present application, the storage space may include: a data area, and an application corresponding to one storage space has access rights to corresponding data areas of other storage spaces. The data area may be used to store data generated by the user in the process of using the main body application or each of the avatar applications. Optionally, the data in the foregoing data area may include: public data and/or private data of the main body application or each of the avatar applications. The embodiments of the present application can support mutual access between applications corresponding to different storage spaces, so that the data access requirements between applications corresponding to different storage spaces in a specific scenario of the application are satisfied.
在本申请的一种应用示例中,假设用户在智能终端上安装了社交类APP的主身应用和分身应用(假设称为分身应用1、分身应用2等),若用户欲要将其中一个分身应用产生或接收的图片、视频或者文件在主身应用或者其他分身应用上传输,则可以通过本申请实施例中不同存储空间的数据区之间的相互访问,实现分身应用与主身应用之间、或者分身应用之间的数据访问需求。需要说明的是,不同存储空间的数据区的相互访问不仅可以包括:同一APP的分身应用与主身应用之间、或者分身应用之间的数据访问,也可以包括:不同APP的分身应用与主身应用之间、或者分身应用之间的数据访问。例如,操作系统用户ID_0之上相机类APP产生的图片可供操作系统用户ID_1、操作系统用户ID_2、…操作系统用户ID_N之上的社交类APP访问,可以理解,本申请实施例对于具体的相互访问方式不加以限制。In an application example of the present application, it is assumed that a user installs a main body application and a avatar application of a social-like APP on a smart terminal (assumed to be a avatar application 1, a avatar application 2, etc.), if the user wants to avatar one of them The image, video, or file generated or received by the application is transmitted on the main body application or other avatar application, and the mutual access between the data areas of different storage spaces in the embodiment of the present application can be implemented to realize the interaction between the avatar application and the main body application. Or data access requirements between avatar applications. It should be noted that the mutual access of the data areas of different storage spaces may include: data access between the avatar application of the same APP and the main application, or between the avatar applications, and may also include: the avatar application and the main application of different APPs. Data access between applications, or between applications. For example, the image generated by the camera class APP on the operating system user ID_0 can be accessed by the social class APP above the operating system user ID_1, the operating system user ID_2, ... the operating system user ID_N. It can be understood that the embodiments of the present application are specific to each other. Access is not restricted.
参照图4,示出了本申请的一种基于操作系统多用户的存储空间的结构示意,其中,操作系统用户ID_0、操作系统用户ID_1、操作系统用户ID_2、…操作系统用户ID_N均安装有APP1、APP2、APP3和APP4,其中,这些操作系统用户ID的存储空间可以包括代码区201和数据区202,其中,代码区201可用于存储所安装APP的代码部分,数据区202可用于存储所安装APP的数据部分,其中,各操作系统用户ID的数据区中的各APP实例可以具有独立的存储空间;且多操作系统用户ID之间的数据区202是可相互访问的。Referring to FIG. 4, a schematic structural diagram of a storage space of an operating system multi-user based on an operating system is shown, wherein an operating system user ID_0, an operating system user ID_1, an operating system user ID_2, an operating system user ID_N are all installed with APP1. , APP2, APP3, and APP4, wherein the storage space of the operating system user IDs may include a code area 201 and a data area 202, wherein the code area 201 may be used to store a code portion of the installed APP, and the data area 202 may be used to store the installed The data portion of the APP, wherein each APP instance in the data area of each operating system user ID may have an independent storage space; and the data areas 202 between the multiple operating system user IDs are mutually accessible.
在本申请的一种可选实施例中,可以通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。例如,所有的主身应用和分身应用接收到的图片、和/或使用相机拍摄的图片都保存在各自的存储空间,但是将这些图片的路径信息放于同一数据库中;这样,可以向分身应用或主身应用提供相同的图库列表,以使分身应用或主身应用访问该图库列表中的图片。可选地,该图库列表可以包括:所有的主身应用和分身应用接收到的图 片、和/或使用相机拍摄的图片。In an optional embodiment of the present application, the storage path of the corresponding data area of different storage spaces may be saved by using the same database, so that the data corresponding to the data area is provided to the application corresponding to one storage space by the database. . For example, all the images received by the main body application and the avatar application, and/or the pictures taken with the camera are stored in their respective storage spaces, but the path information of these pictures is placed in the same database; thus, the application can be applied to the avatar Or the main app provides the same gallery list to allow the avatar app or the host app to access the images in the gallery list. Optionally, the gallery list may include: all of the main body applications and images received by the avatar application, and/or pictures taken using a camera.
在本申请的又一种可选实施例中,在所述响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间的步骤102之前,本申请实施例的方法还可以包括:判断所述应用程序的实例是否超过实例阈值,若否,则执行所述响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间的步骤102。In still another optional embodiment of the present application, in the responding to the avatar creation request, acquiring a storage space in which the application is not installed; wherein the storage space is used to represent a user space provided to an operating system Before the step 102 of the space, the method of the embodiment of the present application may further include: determining whether the instance of the application exceeds an instance threshold, and if not, executing the responding to the avatar creation request to obtain the application not installed Storage space; wherein the storage space is used to characterize the step 102 of providing space to an operating system user.
本申请实施例的上述实例阈值可用于表示支持的实例数目的上限,在实际应用中,所述实例阈值可以为依据智能终端的硬件资源和所述应用程序的实例所占用的硬件资源得到,也即,可以依据智能终端的硬件资源和应用程序的一个实例所占用的硬件资源确定上述实例阈值。例如,智能终端的内存为M 1,应用程序的一个实例占用的内存为M 2,则支持的实例数目可以为M 1/M 2,其中,M 1和M 2均为正整数。 The foregoing example threshold of the embodiment of the present application may be used to indicate an upper limit of the number of supported instances. In an actual application, the instance threshold may be obtained according to hardware resources of the smart terminal and hardware resources occupied by the instance of the application, and That is, the above instance threshold may be determined according to hardware resources of the smart terminal and hardware resources occupied by one instance of the application. For example, if the memory of the smart terminal is M 1 and the memory occupied by one instance of the application is M 2 , the number of supported instances may be M 1 /M 2 , where both M 1 and M 2 are positive integers.
上述判断所述应用程序的实例是否超过实例阈值,能够避免应用程序的实例数目超过实例阈值导致的智能终端性能不佳等问题。The foregoing determines whether the instance of the application exceeds an instance threshold, and can avoid problems such as poor performance of the smart terminal caused by the number of instances of the application exceeding the instance threshold.
可以理解,当判断所述应用程序的实例是否超过实例阈值的判断结果为是时,本申请实施例可以发出相应的提示信息,例如,该提示信息可以为多实例数目达到上限、或者分身应用数目达到上限等。It can be understood that when the determination result of the instance of the application exceeds the instance threshold is YES, the embodiment of the present application may send corresponding prompt information, for example, the prompt information may be the upper limit of the number of multiple instances, or the number of avatar applications. Reach the upper limit and so on.
综上,本申请实施例的应用程序的分身方法,利用操作系统多用户特性,通过操作系统的多个用户ID实现应用程序的主身应用和至少一个分身应用,本申请实施例具有如下优点:In summary, the method for the application of the embodiment of the present application utilizes the multi-user feature of the operating system to implement the application of the application and the at least one avatar application through multiple user IDs of the operating system. The embodiment of the present application has the following advantages:
首先,相对于现有方案中第三方APP不稳定或者兼容性不够导致稳定性差的问题,由于多用户特性为操作系统支持的一个稳定特性,故本申请实施例利用这个稳定特性在操作系统层面实现应用程序的分身,能够提高分身应用的稳定性。First, the stability of the third-party APP in the existing solution is not stable or the compatibility is insufficient, resulting in a poor stability. Since the multi-user feature is a stable feature supported by the operating system, the embodiment of the present application utilizes the stable feature to implement at the operating system level. The application's avatar can improve the stability of the avatar application.
其次,本申请实施例所采用应用程序的分身方式与不涉及应用程序信息的修改,故相对于现有方案中分别针对原APP和新APP进行升级操作导致升级操作复杂的问题,本申请实施例中一个应用程序的所有实例(包括主身应用和所有分身应用)可以共用该应用程序的代码部分,因此可以实现主身应用和所有分身应用的同步更新;也即,在主身应用或者任意一个分身应用的代码部分被更新的情况下,主身应用和所有分身应用的代码部分也被同步更新,因此能够提高简化多实例的升级流程。且本申请实施例的升级可以不涉及各实例的数据部分,因此能够保证各实例的数据部分的独立性。Secondly, the avatar mode of the application program used in the embodiment of the present application does not involve the modification of the application information. Therefore, the upgrade operation is complicated for the original APP and the new APP in the existing solution, and the upgrade operation is complicated. All instances of an application (including the main application and all avatar applications) can share the code portion of the application, so that the main application and all avatar applications can be updated synchronously; that is, in the main application or any one In the case where the code portion of the avatar application is updated, the code portion of the main body application and all the avatar applications are also updated synchronously, thereby improving the simplification of the multi-instance upgrade process. Moreover, the upgrade of the embodiment of the present application may not involve the data part of each instance, and thus the independence of the data part of each instance can be guaranteed.
再者,相对于现有方案中第三方APP仅仅支持原APP的1个分身应用的问题,本 申请实施例可以利用智能终端的硬件资源,支持无限多的分身应用和实例数目,通常,本申请实例支持的实例数目可达到8甚至更多,因此能够解决分身应用受限的问题。Furthermore, compared with the problem that the third-party APP in the existing solution only supports one avatar application of the original APP, the embodiment of the present application can utilize the hardware resources of the smart terminal to support an unlimited number of avatar applications and the number of instances. Generally, the application The number of instances supported by the instance can reach 8 or more, so the problem of limited application of the split can be solved.
此外,由于本申请实施例在操作系统层面实现应用程序的分身,故可以实现对于一个应用程序的所有实例的统一管理。可选地,可以在桌面上针对一个应用程序的所有实例设置对应的快捷图标,这样,可以针对主身应用和分身应用向用户提供统一的用户操作界面(桌面),主身应用的快捷图标与分身应用的快捷图标分别列于桌面上,用户触发对应的快捷图标即可启动相应的主身应用或分身应用,故能够提高用户对于分身应用的操作效率;或者,可以对一个应用程序的所有实例对应任务进行统一管理,这样,可以使分身应用在任务管理界面具有与主身应用同等被展现的机会,提高分身应用的透明性;例如,可以响应于用户对于HOME键(具有返回功能的键)的触发指令,展示多用户ID上运行的所有主身应用和分身应用对应的任务,以便于用户对于分身应用对应任务的管理。In addition, since the embodiment of the present application implements the avatar of the application at the operating system level, unified management of all instances of one application can be implemented. Optionally, a corresponding shortcut icon can be set on the desktop for all instances of an application, so that a unified user interface (desktop) can be provided to the user for the main body application and the avatar application, and the shortcut icon of the main application is The shortcut icons of the avatar application are respectively listed on the desktop, and the user can trigger the corresponding main body application or the avatar application by triggering the corresponding shortcut icon, thereby improving the operation efficiency of the user for the avatar application; or, all instances of an application can be performed. Unified management of the corresponding tasks, so that the avatar application can have the same opportunity to be displayed in the task management interface as the main application, and improve the transparency of the avatar application; for example, it can respond to the user's HOME key (the key with the return function) The triggering command displays all the main application and the corresponding application of the avatar application running on the multi-user ID, so as to facilitate the user to manage the corresponding task of the avatar application.
需要说明的是,由于本申请实施例所采用应用程序的分身方式与不涉及应用程序信息的修改,故当本申请实施例的分身应用启动并运行后,运行状态的分身应用于操作系统中的其他应用没有任何区别,这样可以较好地保证分身应用对于系统资源的申请及兼容性。It should be noted that, because the avatar mode of the application program used in the embodiment of the present application does not involve modification of the application information, when the avatar application of the embodiment of the present application is started and run, the avatar of the running state is applied to the operating system. There is no difference in other applications, which can better ensure the application and compatibility of the system resources for the avatar application.
参照图5,示出了本申请的另一种应用程序的分身方法实施例的步骤流程图,具体可以包括如下步骤:Referring to FIG. 5, a flow chart of steps of an embodiment of a method for arranging another application of the present application is shown. Specifically, the method may include the following steps:
步骤501、接收针对应用程序的分身创建请求;Step 501: Receive a avatar creation request for an application.
步骤502、判断所述应用程序的实例是否超过实例阈值,若是,则执行步骤506,否则执行步骤503; Step 502, it is determined whether the instance of the application exceeds the instance threshold, and if so, step 506 is performed, otherwise step 503 is performed;
步骤503、创建操作系统的新操作系统用户,将向所述新操作系统用户提供的空间作为未安装所述应用程序的存储空间;Step 503: Create a new operating system user of the operating system, and provide a space provided by the new operating system user as a storage space in which the application is not installed.
步骤504、在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;Step 504: Create a avatar application of the application in the storage space where the application is not installed.
步骤505、当在所述未安装所述应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标;Step 505: After successfully creating the avatar application of the application in the storage space where the application is not installed, creating a shortcut icon of the avatar application on the desktop;
步骤506、发出分身应用数目达到上限的提示信息。Step 506: Send a prompt message that the number of avatar applications reaches an upper limit.
本实施例中,上述判断所述应用程序的实例是否超过实例阈值,能够避免应用程序的实例数目超过实例阈值导致的智能终端性能不佳等问题。In this embodiment, the foregoing determining whether the instance of the application exceeds an instance threshold can avoid problems such as poor performance of the smart terminal caused by the number of instances of the application exceeding the instance threshold.
并且,本实施例当在未安装应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标;这样,可以针对主身应用和分身应用向用户提供统一的用户操作界面(桌面),主身应用的快捷图标与分身应用的快捷图标分别列于桌面上,用户触发对应的快捷图标即可启动相应的主身应用或分身应用,故能够提高用户对于分身应用的操作效率。Moreover, in this embodiment, after the avatar application of the application is successfully created in the storage space where the application is not installed, the shortcut icon of the avatar application is created on the desktop; thus, the user can be applied to the main body application and the avatar application. Provide a unified user interface (desktop), the shortcut icon of the main application and the shortcut icon of the avatar application are respectively listed on the desktop, and the user can trigger the corresponding shortcut icon to start the corresponding main body application or the avatar application, thereby improving the user. Operational efficiency for avatar applications.
参照图6,示出了本申请的再一种应用程序的分身方法实施例的步骤流程图,具体可以包括如下步骤:Referring to FIG. 6, a flow chart of steps of an embodiment of a method for splitting an application of the present application is shown. Specifically, the method may include the following steps:
步骤601、接收针对应用程序的分身创建请求;Step 601: Receive a avatar creation request for an application.
步骤602、响应于所述分身创建请求,获取未安装所述应用程序的存储空间;Step 602: Acquire a storage space in which the application is not installed, in response to the avatar creation request.
步骤603、在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;Step 603: Create a avatar application of the application in a storage space in which the application is not installed.
相对于图1或者图5所示方法实施例,本实施例的方法还可以包括:With reference to the method embodiment shown in FIG. 1 or FIG. 5, the method in this embodiment may further include:
步骤604、接收针对应用程序的卸载请求;Step 604: Receive an uninstall request for an application.
步骤605、在所述卸载请求对应的快捷图标为主身应用的快捷图标时,在所述卸载请求对应应用程序的存储空间中卸载所述应用程序对应的主身应用、或者主身应用和分身应用;或者Step 605: When the shortcut icon corresponding to the uninstallation request is a shortcut icon of the application, uninstall the main application, or the main application and the avatar corresponding to the application in the storage space of the uninstall application corresponding application. Application; or
步骤606、在所述卸载请求对应的快捷图标为分身应用的快捷图标时,在所述分身应用所对应的存储空间中卸载所述分身应用。Step 606: When the shortcut icon corresponding to the uninstallation request is a shortcut icon of the avatar application, uninstall the avatar application in a storage space corresponding to the avatar application.
本实施例可以依据针对应用程序的卸载请求,实现对于该应用程序的所有应用或者其中一个分身应用的卸载。This embodiment can implement uninstallation of all applications or one of the avatar applications for the application according to the uninstall request for the application.
在实际应用中,步骤604的卸载请求可以与上述应用卸载接口的调用请求相应。在本申请的一种可选实施例中,步骤604可以包括:接收桌面程序发送的卸载请求,其中,所述桌面程序可以响应于用户对于应用程序发出的卸载指令,发送所述卸载请求。也即,若用户针对应用程序发出卸载指令,则桌面程序可以响应于该卸载指令,向操作系统发送针对应用程序的卸载请求。其中,该卸载请求对应的应用程序与步骤601中分身创建请求对应的应用程序可以相同或者不同。In an actual application, the uninstall request of step 604 may correspond to the call request of the application uninstall interface described above. In an optional embodiment of the present application, step 604 may include: receiving an uninstall request sent by a desktop program, wherein the desktop program may send the uninstall request in response to an uninstall instruction issued by the user for the application. That is, if the user issues an uninstall command for the application, the desktop program can send an uninstall request for the application to the operating system in response to the uninstall command. The application corresponding to the uninstall request may be the same as or different from the application corresponding to the split creation request in step 601.
在本申请的一种应用示例中,用户针对应用程序发出卸载指令的过程可以包括:接收用户针对应用程序的快捷图标的第二预置操作,展现卸载选项,若接收到用户对于所述卸载选项的触发操作,则认为用户针对所述应用程序发出了卸载指令。In an application example of the present application, the process of the user issuing an uninstall instruction for the application may include: receiving a second preset operation of the user for the shortcut icon of the application, presenting an uninstall option, if receiving the user for the uninstall option The triggering operation assumes that the user has issued an uninstall command for the application.
上述第二预置操作所针对的快捷图标也即上述卸载请求所针对的快捷图标,其中,上述第二预置操作所针对的快捷图标可以为应用程序所包括的主身应用的快捷图标,此 种情况下,说明用户的卸载意图为卸载整个应用程序,故可以通过605卸载应用程序所包括的主身应用和所有分身应用。The shortcut icon for the second preset operation is the shortcut icon for the uninstall request, wherein the shortcut icon for the second preset operation may be a shortcut icon of the main application included in the application, In this case, the user's uninstallation intention is to uninstall the entire application, so the main application and all the avatar applications included in the application can be uninstalled through 605.
或者,上述第二预置操作所针对的快捷图标可以为应用程序所包括的分身应用的快捷图标,此种情况下,说明用户的卸载意图为卸载该快捷图标对应的分身应用,故可以通过步骤606在所述分身应用所对应操作系统用户ID的存储空间中卸载所述分身应用。也即,步骤605和步骤606为并列执行的步骤,本领域技术人员可以根据实际应用需求择一执行步骤605或者步骤606。Alternatively, the shortcut icon for the second preset operation may be a shortcut icon of the avatar application included in the application. In this case, the user's uninstallation intention is to uninstall the avatar application corresponding to the shortcut icon, so the steps may be 606: uninstalling the avatar application in a storage space of an operating system user ID corresponding to the avatar application. That is, step 605 and step 606 are steps performed in parallel, and those skilled in the art may perform step 605 or step 606 according to actual application requirements.
可选地,在执行步骤605后,还可以在桌面上删除应用程序所包括的主身应用和所有分身应用对应的快捷图标;在执行步骤606后,还可以在桌面上删除应用程序的被卸载的分身应用对应的快捷图标。Optionally, after performing step 605, the shortcut icon corresponding to the main application and all the avatar applications included in the application may be deleted on the desktop; after performing step 606, the uninstalled application may also be deleted on the desktop. The corresponding shortcut icon for the avatar application.
参照图7,示出了本申请的又一种应用程序的分身方法实施例的步骤流程图,具体可以包括如下步骤:Referring to FIG. 7, a flow chart of steps of an embodiment of a method for a separate application of the present application is shown. Specifically, the method may include the following steps:
步骤701、接收针对应用程序的分身创建请求;Step 701: Receive a avatar creation request for an application.
步骤702、响应于所述分身创建请求,获取未安装所述应用程序的存储空间;Step 702: Acquire a storage space in which the application is not installed, in response to the avatar creation request.
步骤703、在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;Step 703: Create a avatar application of the application in a storage space in which the application is not installed.
相对于图1或者图5或者图6所示方法实施例,本实施例的方法还可以包括:With reference to the method embodiment shown in FIG. 1 or FIG. 5 or FIG. 6, the method in this embodiment may further include:
步骤704、接收第一存储空间对应的应用发送的消息请求;Step 704: Receive a message request sent by an application corresponding to the first storage space.
步骤706、判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;Step 706: Determine whether the message request meets a preset message rule; the preset message rule is used to indicate a delivery rule of a message request between the first storage space and the second storage space;
步骤707、在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。Step 707: When the message request meets the preset message rule, send the message request to an application corresponding to the second storage space corresponding to the message request, so that the application corresponding to the second storage space responds to the message request.
目前,操作系统的应用程序内部或者应用程序之间通常使用消息来传递数据或访问系统资源,进而实现同一应用程序的不同界面及不同应用程序间对于系统资源的切换或访问。Currently, messages are used internally or between applications in an operating system to transfer data or access system resources, thereby enabling different interfaces of the same application and switching or accessing system resources between different applications.
为了实现并规范操作系统用户对应不同存储空间的应用程序之间的消息传递,本申请实施例提供了预置消息规则,所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则,第一存储空间可用于表示消息请求来自哪个存储空间也即消息请求的来源,第二存储空间可用于表示能够接收消息请求的存储空间,在实际应用中,可通过操作系统用户ID来表征存储空间,预置消息规则可以明确哪些消息请求可由 哪个源操作系统用户ID发送给哪个目的操作系统用户ID,使得不同操作系统用户对应的不同操作系统用户之间可以基于预置消息规则进行消息通信,由此可以提高不同存储空间之间通信的安全性,且能够提高用户体验。In order to implement and standardize the message transmission between the operating system users corresponding to different storage spaces, the embodiment of the present application provides a preset message rule, where the preset message rule is used to represent the first storage space and the second storage space. The delivery rule of the message request, the first storage space can be used to indicate which storage space the message request comes from, that is, the source of the message request, and the second storage space can be used to represent the storage space capable of receiving the message request. In actual applications, the operation can be performed. The system user ID is used to represent the storage space. The preset message rule can clarify which source operating system user ID can be sent to which destination operating system user ID, so that different operating system users corresponding to different operating system users can be based on presets. Message rules communicate with messages, thereby improving the security of communication between different storage spaces and improving the user experience.
可选地,所述消息请求可以包括:用户通过第一存储空间对应的应用触发的、对于第二存储空间对应数据区中数据的操作请求。例如,第一存储空间为分身应用所在的存储空间,第二存储空间为主身应用所在的存储空间,则可以向分身应用呈现数据库,该数据库可以包括:不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据;进一步,用户可以通过触发数据库中的数据,触发上述消息请求。Optionally, the message request may include: an operation request triggered by the user by the application corresponding to the first storage space for the data in the corresponding data area of the second storage space. For example, the first storage space is a storage space where the avatar application is located, and the second storage space is a storage space where the application is located, and the database may be presented to the avatar application, and the database may include: a storage path corresponding to the data area of different storage spaces. The data in the corresponding data area is provided by the application corresponding to a storage space through the database; further, the user may trigger the message request by triggering data in the database.
在本申请的一种可选实施例中,所述预置消息规则对应的消息类型具体可以包括:拨打电话相关消息、短信操作相关消息、网络操作相关消息、屏幕操作相关消息、文件操作相关消息、图片相关操作消息、以及应用安装相关消息中的至少一种。以图片相关操作消息为例,用于获得系统资源的相机类APP通常安装在主操作用户ID之上,而无法在副操作用户ID之上进行分身,这样,若副操作用户ID之上的分身应用若存在访问相机类APP的系统资源的访问需求,则可以预置相应预置消息规则,如消息类型为图片相关操作消息,源操作用户ID为任意的副用户ID,目的操作用户ID为主操作用户ID等。可以理解,本领域技术人员可以根据实际应用需求预置所需的预置消息规则,本申请实施例对于具体的预置消息规则不加以限制。In an optional embodiment of the present application, the message type corresponding to the preset message rule may specifically include: a call related message, a short message operation related message, a network operation related message, a screen operation related message, a file operation related message. At least one of a picture related operation message and an application installation related message. Taking a picture-related operation message as an example, a camera-like APP for obtaining system resources is usually installed on the main operation user ID, and cannot be separated on the sub-operation user ID, so that if the sub-operation user ID is above the avatar If the application needs to access the system resources of the camera APP, the preset preset message rules may be preset, for example, the message type is a picture related operation message, the source operation user ID is an arbitrary sub user ID, and the destination operation user ID is mainly Operation user ID, etc. It can be understood that a preset message rule can be preset according to the actual application requirement, and the embodiment of the present application does not limit the specific preset message rule.
在实际应用中,例如消息管理器的消息管理模块可以首先在第一存储空间上尝试响应该消息请求,若第一存储空间对应的应用不具备响应所述消息请求的条件(例如,一些系统组件(如拍照组件),无法在副操作系统用户ID安装,因此,副操作系统用户对应的应用不具备响应拍照请求的条件),或者若第一存储空间对应的应用无法响应所述消息请求(也即尝试响应失败),则可以利用预置消息规则获得该消息请求对应的第二存储空间,该第二存储空间可以与目的操作系统用户ID相应。具体地,可以将该消息请求的第一操作系统用户ID和消息类型与预置消息规则的源操作系统用户ID和预置消息类型进行匹配,若匹配成功,则可以得到对应的目的操作系统用户ID,并向所述消息请求对应的目的操作系统用户ID发送所述消息请求,以使所述目的操作系统用户ID响应所述消息请求。In an actual application, for example, the message management module of the message manager may first try to respond to the message request on the first storage space, if the application corresponding to the first storage space does not have the condition for responding to the message request (for example, some system components) (such as the camera component), can not be installed in the secondary operating system user ID, therefore, the application corresponding to the secondary operating system user does not have the condition to respond to the photo request), or if the application corresponding to the first storage space cannot respond to the message request (also That is, the attempt to respond to the failure), the second storage space corresponding to the message request may be obtained by using the preset message rule, and the second storage space may correspond to the target operating system user ID. Specifically, the first operating system user ID and the message type of the message may be matched with the source operating system user ID and the preset message type of the preset message rule. If the matching succeeds, the corresponding target operating system user may be obtained. ID, and requesting the corresponding destination operating system user ID to send the message request to the message, so that the destination operating system user ID responds to the message request.
需要说明的是,在该消息请求的第一操作系统用户ID和消息类型与所有预置消息规则的源操作系统用户ID和预置消息类型均匹配失败时,将无法得到该消息请求对应的目 的操作系统用户ID,因此可以发出例如消息请求无响应的提示信息。It should be noted that, when the first operating system user ID and the message type requested by the message fail to match the source operating system user ID and the preset message type of all the preset message rules, the purpose of the message request cannot be obtained. The operating system user ID, so it is possible to issue a prompt message such as a message request not responding.
为使本领域技术人员更好地理解本申请实施例,参照图8,示出了本申请的一种不同存储空间的应用之间的消息通信方法实施例的步骤流程图,具体可以包括如下步骤:In order to enable a person skilled in the art to better understand the embodiments of the present application, referring to FIG. 8 , a flow chart of steps of an embodiment of a message communication method between applications of different storage spaces of the present application is shown, which may specifically include the following steps. :
步骤801、接收操作系统用户ID_x对应第一存储空间的应用发送的消息请求;Step 801: Receive a message request sent by an application corresponding to the first storage space by the operating system user ID_x.
步骤802、判断操作系统用户ID_x是否具备响应该消息请求的条件,若是,则执行步骤803,否则执行步骤604; Step 802, it is determined whether the operating system user ID_x has the condition of responding to the message request, and if so, step 803 is performed, otherwise step 604 is performed;
步骤803、在操作系统用户ID_x上尝试响应该消息请求;Step 803: Try to respond to the message request on the operating system user ID_x.
步骤804、依据操作系统用户ID_x和该消息请求的消息类型,在预置消息规则集中进行查找,以得到与操作系统用户ID_x和该消息请求的消息类型相匹配的目的用户ID;Step 804: Perform a search in the preset message rule set according to the operating system user ID_x and the message type requested by the message, to obtain a destination user ID that matches the operating system user ID_x and the message type requested by the message;
其中,该预置消息规则集为预置消息规则的集合,用于存储多条预置消息规则。The preset message rule set is a set of preset message rules, and is used to store a plurality of preset message rules.
步骤805、判断是否查找命中,若是,则执行步骤806,否则执行步骤807; Step 805, it is determined whether to find a hit, and if so, step 806 is performed, otherwise step 807 is performed;
步骤806、向查找得到的操作系统用户ID_y发送所述消息请求,以使操作系统用户ID_y响应所述消息请求;Step 806: Send the message request to the searched operating system user ID_y, so that the operating system user ID_y responds to the message request.
步骤807、发出消息请求无响应的提示信息。Step 807: Send a message requesting no response prompt message.
其中,操作系统用户ID_x与操作系统用户ID_y可以为不同的操作系统用户。The operating system user ID_x and the operating system user ID_y may be different operating system users.
在本申请的一种应用示例中,假设用户在智能终端上安装了微信APP的主身应用和分身应用(假设称为分身应用1、分身应用2等),若用户欲要将其中一个分身应用产生或接收的图片、视频或者文件在主身应用或者其他分身应用上传输,则可以通过不同存储空间之间的数据区的相互访问,实现分身应用与主身应用之间、或者分身应用之间的数据访问需求。In an application example of the present application, it is assumed that the user installs the main application and the avatar application of the WeChat APP on the smart terminal (assumed to be called the avatar application 1, the avatar application 2, etc.), if the user wants to apply one of the avatar applications. The generated or received images, videos or files are transmitted on the main application or other avatar applications, and can be accessed between the avatar application and the main application or between the avatar applications through mutual access of the data areas between different storage spaces. Data access needs.
例如,用户点击微信APP的“+”按钮,弹出“相册”,该相册可以显示所有主身应用和分身应用的图片,若用户触发了相册中的某图片P,该图片P位于操作系统用户ID_y对应的存储空间,则分身应用1对应的操作系统用户ID_x可以发送消息请求;消息处理器处理该消息请求,并向主身应用对应的操作系统用户ID_y发送该消息请求,若操作系统用户ID_y响应该消息请求,则可以对该图片P进行传输,例如传输给用户的好友等。For example, the user clicks the "+" button of the WeChat APP to pop up "Album", which can display pictures of all the main application and the avatar application. If the user triggers a picture P in the album, the picture P is located in the operating system user ID_y Corresponding storage space, the operating system user ID_x corresponding to the avatar application 1 can send a message request; the message processor processes the message request, and sends the message request to the corresponding operating system user ID_y of the main body application, if the operating system user ID_y rings The message P may be transmitted, such as a friend transmitted to the user, etc., if requested by a message.
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是 本申请实施例所必须的。It should be noted that, for the method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should understand that the embodiments of the present application are not limited by the described action sequence, because In accordance with embodiments of the present application, certain steps may be performed in other sequences or concurrently. In the following, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required in the embodiments of the present application.
本申请实施例还提供了一种应用程序的分身装置。The embodiment of the present application also provides a split device of an application.
参照图9,示出了本申请一种应用程序的分身装置实施例的结构框图,具体可以包括如下模块:Referring to FIG. 9, a structural block diagram of an embodiment of a mobile device of an application of the present application is shown, which may specifically include the following modules:
创建请求接收模块901,用于接收针对应用程序的分身创建请求;a request request receiving module 901, configured to receive a avatar creation request for an application;
存储空间获取模块902,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;a storage space obtaining module 902, configured to acquire, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
分身应用创建模块903,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。The avatar application creation module 903 is configured to create a avatar application of the application in the storage space in which the application is not installed.
可选地,所述存储空间可以包括:数据区,一个存储空间对应的应用具备对于其他存储空间对应数据区的访问权限。Optionally, the storage space may include: a data area, where an application corresponding to one storage space has access rights to a corresponding data area of another storage space.
可选地,通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。Optionally, the storage path of the corresponding data area of the different storage space is saved by using the same database, so that the data corresponding to the data area of the other storage space is provided to the application corresponding to one storage space by the database.
可选地,所述装置还可以包括:Optionally, the device may further include:
消息请求接收模块,用于接收第一存储空间对应的应用发送的消息请求;a message request receiving module, configured to receive a message request sent by an application corresponding to the first storage space;
判断模块,用于判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;a determining module, configured to determine whether the message request meets a preset message rule; the preset message rule is used to indicate a delivery rule of a message request between the first storage space and the second storage space;
消息请求发送模块,用于在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。a message request sending module, configured to send the message request to an application corresponding to the second storage space corresponding to the message request, so that the application corresponding to the second storage space is used when the message request meets the preset message rule Respond to the message request.
可选地,所述消息请求可以包括:用户通过第一存储空间对应的应用触发的、对于第二存储空间对应数据区中数据的操作请求。Optionally, the message request may include: an operation request triggered by the user by the application corresponding to the first storage space for the data in the corresponding data area of the second storage space.
可选地,所述预置消息规则对应的消息类型可以包括:拨打电话相关消息、短信操作相关消息、网络操作相关消息、屏幕操作相关消息、文件操作相关消息、图片相关操作消息、以及应用安装相关消息中的至少一种。Optionally, the message type corresponding to the preset message rule may include: a call related message, a short message operation related message, a network operation related message, a screen operation related message, a file operation related message, a picture related operation message, and an application installation. At least one of the related messages.
可选地,所述判断模块,具体用于在第一存储空间对应的应用不具备响应所述消息请求的条件、或者无法响应所述消息请求时,判断所述消息请求是否符合预置消息规则。Optionally, the determining module is configured to determine whether the message request meets the preset message rule when the application corresponding to the first storage space does not have the condition for responding to the message request or fails to respond to the message request. .
可选地,所述装置还可以包括:Optionally, the device may further include:
实例判断模块,用于在所述存储空间获取模块响应于所述分身创建请求,获取未安装所述应用程序的存储空间之前,判断所述应用程序的实例是否超过实例阈值,若否, 则响应于所述分身创建请求,获取未安装所述应用程序的存储空间。An instance judging module, configured to determine, before the storage space obtaining module responds to the avatar creation request, that the storage space of the application is not installed, determine whether the instance of the application exceeds an instance threshold, and if not, respond Creating a request for the avatar to obtain a storage space in which the application is not installed.
可选地,所述实例阈值为依据智能终端的硬件资源和所述应用程序的实例所占用的硬件资源得到。Optionally, the instance threshold is obtained according to hardware resources of the smart terminal and hardware resources occupied by instances of the application.
可选地,所述分身应用创建模块可以包括:Optionally, the avatar application creation module may include:
第一创建子模块,用于在所述未安装所述应用程序的存储空间中复用所述应用程序的主身应用的代码,并针对所述应用程序的私有数据建立数据目录;或者a first creating submodule, configured to multiplex code of a main body application of the application in a storage space in which the application is not installed, and establish a data directory for private data of the application; or
第二创建子模块,用于依据所述应用程序的安装包,在所述未安装所述应用程序的存储空间中安装所述应用程序的分身应用。And a second creating submodule, configured to install the avatar application of the application in the storage space where the application is not installed according to the installation package of the application.
可选地,所述存储空间获取模块可以包括:Optionally, the storage space obtaining module may include:
第一获取子模块,用于响应于所述分身创建请求,创建操作系统的新操作系统用户,将向所述新操作系统用户提供的存储空间作为未安装所述应用程序的存储空间;或者a first obtaining submodule, configured to create a new operating system user of the operating system in response to the avatar creation request, and store a storage space provided to the new operating system user as a storage space in which the application is not installed; or
第二获取子模块,用于响应于所述分身创建请求,从向已有的操作系统用户提供的存储空间中获取未安装所述应用程序的存储空间。And a second obtaining submodule, configured to obtain, from the storage space provided by the existing operating system user, the storage space in which the application is not installed, in response to the avatar creation request.
可选地,所述创建请求接收模块可以包括:Optionally, the creating request receiving module may include:
接收子模块,用于接收桌面程序发送的分身创建请求;其中,所述桌面程序响应于用户对于应用程序触发的分身指令,发送所述分身创建请求。The receiving submodule is configured to receive a avatar creation request sent by the desktop program, where the desktop program sends the avatar creation request in response to a avatar instruction triggered by the user for the application.
可选地,所述装置还可以包括:Optionally, the device may further include:
图标创建模块,用于当在所述未安装所述应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标。The icon creation module is configured to create a shortcut icon of the avatar application on the desktop after successfully creating the avatar application of the application in the storage space in which the application is not installed.
可选地,所述装置还可以包括:Optionally, the device may further include:
卸载请求接收模块,用于接收针对应用程序的卸载请求;An uninstall request receiving module, configured to receive an uninstall request for an application;
第一卸载模块,用于在所述卸载请求对应的快捷图标为主身应用的快捷图标时,在所述卸载请求对应应用程序的存储空间中卸载所述应用程序对应的主身应用、或者主身应用和分身应用;或者a first uninstalling module, configured to uninstall the main body application corresponding to the application or the main in the storage space of the uninstall application corresponding application when the shortcut icon corresponding to the uninstall request is a shortcut icon of the application Application and avatar application; or
第二卸载模块,用于在所述卸载请求对应的快捷图标为分身应用的快捷图标时,在所述分身应用所对应的存储空间中卸载所述分身应用。The second uninstalling module is configured to uninstall the avatar application in a storage space corresponding to the avatar application when the shortcut icon corresponding to the uninstallation request is a shortcut icon of the avatar application.
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。For the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
本申请实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设 备执行图1至图8一个或多个所述的方法。在实际应用中,该设备可以作为终端,也可以作为服务器,终端的例子可以包括:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准音频层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等,本申请实施例对于具体的设备不加以限制。The embodiment of the present application further provides an apparatus, the apparatus may include: one or more processors; and one or more machine readable mediums on which instructions are stored, when executed by the one or more processors The apparatus is caused to perform the method of one or more of Figures 1-8. In practical applications, the device can be used as a terminal or as a server. Examples of the terminal can include: a smart phone, a tablet computer, an e-book reader, and an MP3 (motion image expert compresses a standard audio layer 3, a Moving Picture Experts Group Audio Layer). III) Player, MP4 (Moving Picture Experts Group Audio Layer IV) player, laptop portable computer, car computer, desktop computer, set-top box, smart TV, wearable device, etc. The embodiments of the present application do not limit the specific device.
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例的图1至图8中一个或多个方法所包含步骤的指令(instructions)。The embodiment of the present application further provides a non-volatile readable storage medium, where the storage medium stores one or more programs, and when the one or more modules are applied to the device, the device may be executed. The instructions of the steps included in one or more of the methods of Figures 1 through 8 of the embodiments of the present application.
图10为本申请一实施例提供的终端设备的硬件结构示意图。如图10所示,该终端设备可以包括:输入设备1100、处理器1101、输出设备1102、存储器1103和至少一个通信总线1104。通信总线1104用于实现元件之间的通信连接。存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器1103中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。FIG. 10 is a schematic structural diagram of hardware of a terminal device according to an embodiment of the present disclosure. As shown in FIG. 10, the terminal device may include an input device 1100, a processor 1101, an output device 1102, a memory 1103, and at least one communication bus 1104. Communication bus 1104 is used to implement a communication connection between components. Memory 1103 may include high speed RAM memory, and may also include non-volatile memory NVM, such as at least one disk memory, in which various programs may be stored for performing various processing functions and implementing the method steps of the present embodiments.
可选的,上述处理器1101例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器1101通过有线或无线连接耦合到上述输入设备1100和输出设备1102。Optionally, the processor 1101 may be, for example, a central processing unit (CPU), an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), and a programmable logic. A device (PLD), field programmable gate array (FPGA), controller, microcontroller, microprocessor or other electronic component is implemented, which is coupled to the input device 1100 and the output device 1102 by a wired or wireless connection.
可选的,上述输入设备1100可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备1102可以包括显示器、音响等输出设备。Optionally, the input device 1100 may include multiple input devices, for example, at least one of a user-oriented user interface, a device-oriented device interface, a software programmable interface, a camera, and a sensor. Optionally, the device-oriented device interface may be a wired interface for data transmission between the device and the device, or may be a hardware insertion interface (for example, a USB interface, a serial port, etc.) for data transmission between the device and the device. Optionally, the user-oriented user interface may be, for example, a user-oriented control button, a voice input device for receiving voice input, and a touch-sensing device for receiving a user's touch input (eg, a touch screen with touch sensing function, touch Optionally, the programmable interface of the software may be, for example, an input for the user to edit or modify the program, such as an input pin interface or an input interface of the chip; optionally, the transceiver may have Radio frequency transceiver chip, baseband processing chip, and transceiver antenna for communication functions. An audio input device such as a microphone can receive voice data. The output device 1102 can include an output device such as a display, an audio, and the like.
在本实施例中,该终端设备的处理器包括用于执行各设备中数据处理装置各模块的 功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。In this embodiment, the processor of the terminal device includes functions for executing each module of the data processing device in each device. The specific functions and technical effects may be referred to the foregoing embodiments, and details are not described herein again.
图11为本申请的一个实施例提供的终端设备的硬件结构示意图。图11是对图10在实现过程中的一个具体的实施例。如图11所示,本实施例的终端设备可以包括处理器1301以及存储器1302。FIG. 11 is a schematic structural diagram of hardware of a terminal device according to an embodiment of the present application. Figure 11 is a specific embodiment of the implementation of Figure 10. As shown in FIG. 11, the terminal device of this embodiment may include a processor 1301 and a memory 1302.
处理器1301执行存储器1302所存放的计算机程序代码,实现上述实施例中图1至图8中一个或多个所示的方法。The processor 1301 executes the computer program code stored in the memory 1302 to implement the method illustrated in one or more of FIGS. 1 through 8 of the above-described embodiments.
存储器1302被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器1302可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。The memory 1302 is configured to store various types of data to support operations at the terminal device. Examples of such data include instructions for any application or method operating on the terminal device, such as messages, pictures, videos, and the like. The memory 1302 may include a random access memory (RAM), and may also include a non-volatile memory such as at least one disk storage.
可选地,处理器1301设置在处理组件1300中。该终端设备还可以包括:通信组件1303,电源组件1304,多媒体组件1305,音频组件1306,输入/输出接口1307和/或传感器组件1308。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。Optionally, the processor 1301 is disposed in the processing component 1300. The terminal device may also include a communication component 1303, a power component 1304, a multimedia component 1305, an audio component 1306, an input/output interface 1307, and/or a sensor component 1308. The components and the like included in the terminal device are set according to actual requirements, which is not limited in this embodiment.
处理组件1300通常控制终端设备的整体操作。处理组件1300可以包括一个或多个处理器1301来执行指令,以完成上述图1至图8所示方法的全部或部分步骤。此外,处理组件1300可以包括一个或多个模块,便于处理组件1300和其他组件之间的交互。例如,处理组件1300可以包括多媒体模块,以方便多媒体组件1305和处理组件1300之间的交互。 Processing component 1300 typically controls the overall operation of the terminal device. Processing component 1300 can include one or more processors 1301 to execute instructions to perform all or part of the steps of the methods illustrated in Figures 1 through 8 above. Moreover, processing component 1300 can include one or more modules to facilitate interaction between component 1300 and other components. For example, processing component 1300 can include a multimedia module to facilitate interaction between multimedia component 1305 and processing component 1300.
电源组件1304为终端设备的各种组件提供电力。电源组件1304可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。 Power component 1304 provides power to various components of the terminal device. Power component 1304 can include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for the terminal devices.
多媒体组件1305包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。The multimedia component 1305 includes a display screen between the terminal device and the user that provides an output interface. In some embodiments, the display screen can include a liquid crystal display (LCD) and a touch panel (TP). If the display includes a touch panel, the display can be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, slides, and gestures on the touch panel. The touch sensor may sense not only the boundary of the touch or sliding action, but also the duration and pressure associated with the touch or slide operation.
音频组件1306被配置为输出和/或输入音频信号。例如,音频组件1306包括一个麦克风(MIC),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1302或经由通信组件1303发送。在一些实施例中,音频组件1306还包括一个扬声器,用于输出音频信号。 Audio component 1306 is configured to output and/or input an audio signal. For example, audio component 1306 includes a microphone (MIC) that is configured to receive an external audio signal when the terminal device is in an operational mode, such as a voice recognition mode. The received audio signal may be further stored in memory 1302 or transmitted via communication component 1303. In some embodiments, audio component 1306 also includes a speaker for outputting an audio signal.
输入/输出接口1307为处理组件1300和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。The input/output interface 1307 provides an interface between the processing component 1300 and the peripheral interface module, which may be a click wheel, a button, or the like. These buttons may include, but are not limited to, a volume button, a start button, and a lock button.
传感器组件1308包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件1308可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件1308可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件1308还可以包括摄像头等。 Sensor assembly 1308 includes one or more sensors for providing status assessment of various aspects to the terminal device. For example, sensor component 1308 can detect the on/off state of the terminal device, the relative positioning of the components, and the presence or absence of contact of the user with the terminal device. Sensor assembly 1308 can include a proximity sensor configured to detect the presence of nearby objects without any physical contact, including detecting the distance between the user and the terminal device. In some embodiments, the sensor component 1308 can also include a camera or the like.
通信组件1303被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该终端设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得终端设备可以登录GPRS网络,通过互联网与服务器建立通信。 Communication component 1303 is configured to facilitate wired or wireless communication between the terminal device and other devices. The terminal device can access a wireless network based on a communication standard such as WiFi, 2G or 3G, or a combination thereof. In an embodiment, the terminal device may include a SIM card slot for inserting the SIM card, so that the terminal device can log in to the GPRS network and establish communication with the server through the Internet.
由上可知,在图11实施例中所涉及的通信组件1303、音频组件1306以及输入/输出接口1307、传感器组件1308均可以作为图10实施例中的输入设备的实现方式。As can be seen from the above, the communication component 1303, the audio component 1306, and the input/output interface 1307 and the sensor component 1308 involved in the embodiment of FIG. 11 can be implemented as an input device in the embodiment of FIG.
本申请实施例还提供了一种用于设备的操作系统,如图12所示,该用于设备的操作系统可以包括:The embodiment of the present application further provides an operating system for a device. As shown in FIG. 12, the operating system for the device may include:
创建请求接收单元1201,用于接收针对应用程序的分身创建请求;a request request receiving unit 1201, configured to receive a avatar creation request for an application;
存储空间获取单元1202,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;a storage space obtaining unit 1202, configured to acquire, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
分身应用创建单元1203,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。The avatar application creation unit 1203 is configured to create a avatar application of the application in the storage space in which the application is not installed.
可选地,通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。Optionally, the storage path of the corresponding data area of the different storage space is saved by using the same database, so that the data corresponding to the data area of the other storage space is provided to the application corresponding to one storage space by the database.
可选地,所述操作系统还可以包括:Optionally, the operating system may further include:
消息请求接收单元,用于接收第一存储空间对应的应用发送的消息请求;a message request receiving unit, configured to receive a message request sent by an application corresponding to the first storage space;
判断单元,用于判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;a determining unit, configured to determine whether the message request meets a preset message rule; the preset message rule is used to indicate a delivery rule of a message request between the first storage space and the second storage space;
消息请求发送单元,用于在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。a message request sending unit, configured to send the message request to an application corresponding to the second storage space corresponding to the message request, so that the application corresponding to the second storage space is used when the message request meets the preset message rule Respond to the message request.
可选地,所述消息请求可以包括:用户通过第一存储空间对应的应用触发的、对于第二存储空间对应数据区中数据的操作请求。Optionally, the message request may include: an operation request triggered by the user by the application corresponding to the first storage space for the data in the corresponding data area of the second storage space.
可选地,所述预置消息规则对应的消息类型可以包括:拨打电话相关消息、短信操作相关消息、网络操作相关消息、屏幕操作相关消息、文件操作相关消息、图片相关操作消息、以及应用安装相关消息中的至少一种。Optionally, the message type corresponding to the preset message rule may include: a call related message, a short message operation related message, a network operation related message, a screen operation related message, a file operation related message, a picture related operation message, and an application installation. At least one of the related messages.
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。The various embodiments in the present specification are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same similar parts between the various embodiments can be referred to each other.
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。In a typical configuration, the computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory. The memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory. Memory is an example of a computer readable medium. Computer readable media includes both permanent and non-persistent, removable and non-removable media. Information storage can be implemented by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include non-persistent computer readable media, such as modulated data signals and carrier waves.
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能的装置。Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。The computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device. The instruction device implements the functions specified in one or more blocks of the flow or in a flow or block diagram of the flowchart.
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device such that a series of operational steps are performed on the computer or other programmable terminal device to produce computer-implemented processing, such that the computer or other programmable terminal device The instructions executed above provide steps for implementing the functions specified in one or more blocks of the flowchart or in a block or blocks of the flowchart.
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。While a preferred embodiment of the embodiments of the present application has been described, those skilled in the art can make further changes and modifications to the embodiments once they are aware of the basic inventive concept. Therefore, the appended claims are intended to be interpreted as including all the modifications and the modifications
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。Finally, it should also be noted that in this context, relational terms such as first and second are used merely to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities. There is any such actual relationship or order between operations. Furthermore, the terms "comprises" or "comprising" or "comprising" or any other variations are intended to encompass a non-exclusive inclusion, such that a process, method, article, or terminal device that includes a plurality of elements includes not only those elements but also Other elements that are included, or include elements inherent to such a process, method, article, or terminal device. An element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that comprises the element, without further limitation.
以上对本申请所提供的一种应用程序的分身方法、一种应用程序的分身装置、一种设备、一种机器可读介质以及一种用于设备的操作系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。The above is a detailed description of an application split method, an application split device, a device, a machine readable medium, and an operating system for a device provided by the present application. The principles and implementations of the present application are described in the following examples. The description of the above embodiments is only for helping to understand the method of the present application and its core ideas. Meanwhile, for those skilled in the art, according to the idea of the present application, The details of the present invention and the scope of application are subject to change. In the above, the contents of the present specification should not be construed as limiting the present application.

Claims (21)

  1. 一种应用程序的分身方法,其特征在于,包括:An application method is characterized in that it comprises:
    接收针对应用程序的分身创建请求;Receive a avatar creation request for the application;
    响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;Retrieving a storage space in which the application is not installed in response to the avatar creation request; wherein the storage space is used to represent a space provided to an operating system user;
    在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。A avatar application of the application is created in the storage space in which the application is not installed.
  2. 根据权利要求1所述的方法,其特征在于,所述存储空间包括:数据区,一个存储空间对应的应用具备对于其他存储空间对应数据区的访问权限。The method according to claim 1, wherein the storage space comprises: a data area, and an application corresponding to one storage space has access rights to corresponding data areas of other storage spaces.
  3. 根据权利要求2所述的方法,其特征在于,通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。The method according to claim 2, wherein the storage paths of the corresponding data areas of different storage spaces are saved by the same database, so that the data corresponding to the data area is provided to the application corresponding to one storage space by the database. .
  4. 根据权利要求2或3所述的方法,其特征在于,所述方法还包括:The method according to claim 2 or 3, wherein the method further comprises:
    接收第一存储空间对应的应用发送的消息请求;Receiving a message request sent by an application corresponding to the first storage space;
    判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;Determining whether the message request meets a preset message rule; the preset message rule is used to indicate a delivery rule of a message request between the first storage space and the second storage space;
    在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。When the message request meets the preset message rule, the application corresponding to the second storage space corresponding to the message request is sent by the application, so that the application corresponding to the second storage space responds to the message request.
  5. 根据权利要求4所述的方法,其特征在于,所述消息请求包括:用户通过第一存储空间对应的应用触发的、对于第二存储空间对应数据区中数据的操作请求。The method according to claim 4, wherein the message request comprises: an operation request triggered by the user by the application corresponding to the first storage space for the data in the corresponding data area of the second storage space.
  6. 根据权利要求4所述的方法,其特征在于,所述预置消息规则对应的消息类型包括:拨打电话相关消息、短信操作相关消息、网络操作相关消息、屏幕操作相关消息、文件操作相关消息、图片相关操作消息、以及应用安装相关消息中的至少一种。The method according to claim 4, wherein the message type corresponding to the preset message rule comprises: a call related message, a short message operation related message, a network operation related message, a screen operation related message, a file operation related message, At least one of a picture related operation message and an application installation related message.
  7. 根据权利要求4所述的方法,其特征在于,所述判断所述消息请求是否符合预置消息规则,包括:The method according to claim 4, wherein the determining whether the message request conforms to a preset message rule comprises:
    在第一存储空间对应的应用不具备响应所述消息请求的条件、或者无法响应所述消息请求时,判断所述消息请求是否符合预置消息规则。When the application corresponding to the first storage space does not have the condition for responding to the message request or fails to respond to the message request, it is determined whether the message request conforms to the preset message rule.
  8. 根据权利要求1至3中任一所述的方法,其特征在于,在所述响应于所述分身创建请求,获取未安装所述应用程序的存储空间之前,所述方法还包括:The method according to any one of claims 1 to 3, wherein before the obtaining the storage space in which the application is not installed in response to the avatar creation request, the method further comprises:
    判断所述应用程序的实例是否超过实例阈值,若否,则响应于所述分身创建请求,获取未安装所述应用程序的存储空间。Determining whether the instance of the application exceeds an instance threshold, and if not, obtaining a storage space in which the application is not installed in response to the avatar creation request.
  9. 根据权利要求8所述的方法,其特征在于,所述实例阈值为依据智能终端的硬件资源和所述应用程序的实例所占用的硬件资源得到。The method according to claim 8, wherein the instance threshold is obtained according to hardware resources of the smart terminal and hardware resources occupied by instances of the application.
  10. 根据权利要求1至3中任一所述的方法,其特征在于,所述在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用,包括:The method according to any one of claims 1 to 3, wherein the creating the application of the application in the storage space in which the application is not installed comprises:
    在所述未安装所述应用程序的存储空间中复用所述应用程序的主身应用的代码,并针对所述应用程序的私有数据建立数据目录;或者Reusing code of the application of the application in the storage space in which the application is not installed, and establishing a data directory for private data of the application; or
    依据所述应用程序的安装包,在所述未安装所述应用程序的存储空间中安装所述应用程序的分身应用。According to the installation package of the application, the application of the application is installed in the storage space in which the application is not installed.
  11. 根据权利要求1至3中任一所述的方法,其特征在于,所述响应于所述分身创建请求,获取未安装所述应用程序的存储空间,包括:The method according to any one of claims 1 to 3, wherein the obtaining the storage space in which the application is not installed in response to the avatar creation request comprises:
    响应于所述分身创建请求,创建操作系统的新操作系统用户,将向所述新操作系统用户提供的存储空间作为未安装所述应用程序的存储空间;或者Responding to the avatar creation request, creating a new operating system user of the operating system, providing storage space provided to the new operating system user as storage space in which the application is not installed; or
    响应于所述分身创建请求,从向已有的操作系统用户提供的存储空间中获取未安装所述应用程序的存储空间。In response to the avatar creation request, a storage space in which the application is not installed is obtained from a storage space provided to an existing operating system user.
  12. 根据权利要求1至3中任一所述的方法,其特征在于,所述接收针对应用程序的分身创建请求,包括:The method according to any one of claims 1 to 3, wherein the receiving a avatar creation request for an application comprises:
    接收桌面程序发送的分身创建请求;其中,所述桌面程序响应于用户对于应用程序触发的分身指令,发送所述分身创建请求。Receiving a avatar creation request sent by the desktop program; wherein the desktop program sends the avatar creation request in response to a avatar instruction triggered by the user for the application.
  13. 根据权利要求1至3中任一所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 3, wherein the method further comprises:
    当在所述未安装所述应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标。After the avatar application of the application is successfully created in the storage space in which the application is not installed, a shortcut icon of the avatar application is created on the desktop.
  14. 根据权利要求1至3中任一所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 3, wherein the method further comprises:
    接收针对应用程序的卸载请求;Receiving an uninstall request for the application;
    在所述卸载请求对应的快捷图标为主身应用的快捷图标时,在所述卸载请求对应应用程序的存储空间中卸载所述应用程序对应的主身应用、或者主身应用和分身应用;或者When the shortcut icon corresponding to the uninstallation request is a shortcut icon of the application, the main body application corresponding to the application, or the main body application and the avatar application are uninstalled in the storage space of the uninstall application corresponding application; or
    在所述卸载请求对应的快捷图标为分身应用的快捷图标时,在所述分身应用所对应的存储空间中卸载所述分身应用。When the shortcut icon corresponding to the uninstallation application is a shortcut icon of the avatar application, the avatar application is uninstalled in a storage space corresponding to the avatar application.
  15. 一种应用程序的分身装置,其特征在于,包括:An application device is characterized in that it comprises:
    创建请求接收模块,用于接收针对应用程序的分身创建请求;Creating a request receiving module for receiving a avatar creation request for an application;
    存储空间获取模块,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;a storage space obtaining module, configured to obtain, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
    分身应用创建模块,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。A avatar application creation module for creating a avatar application of the application in the storage space in which the application is not installed.
  16. 根据权利要求15所述的装置,其特征在于,所述存储空间包括:数据区,一个存储空间对应的应用具备对于其他存储空间对应数据区的访问权限。The device according to claim 15, wherein the storage space comprises: a data area, and an application corresponding to one storage space has access rights to corresponding data areas of other storage spaces.
  17. 根据权利要求16所述的装置,其特征在于,通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。The device according to claim 16, wherein the storage path of the corresponding data area of the different storage spaces is saved by the same database, so that the data corresponding to the data area is provided to the application corresponding to one storage space by the database. .
  18. 根据权利要求16或17所述的装置,其特征在于,所述装置还包括:The device according to claim 16 or 17, wherein the device further comprises:
    消息请求接收模块,用于接收第一存储空间对应的应用发送的消息请求;a message request receiving module, configured to receive a message request sent by an application corresponding to the first storage space;
    判断模块,用于判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;a determining module, configured to determine whether the message request meets a preset message rule; the preset message rule is used to indicate a delivery rule of a message request between the first storage space and the second storage space;
    消息请求发送模块,用于在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。a message request sending module, configured to send the message request to an application corresponding to the second storage space corresponding to the message request, so that the application corresponding to the second storage space is used when the message request meets the preset message rule Respond to the message request.
  19. 一种设备,其特征在于,包括:An apparatus, comprising:
    一个或多个处理器;和One or more processors; and
    其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如权利要求1-14中一个或多个所述的方法。One or more machine-readable media having instructions stored thereon, when executed by the one or more processors, cause the device to perform the method of one or more of claims 1-14.
  20. 一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行如权利要求1-14中一个或多个所述的方法。One or more machine-readable medium having stored thereon instructions that, when executed by one or more processors, cause the apparatus to perform the method of one or more of claims 1-14.
  21. 一种用于设备的操作系统,其特征在于,包括:An operating system for a device, comprising:
    创建请求接收单元,用于接收针对应用程序的分身创建请求;Creating a request receiving unit for receiving a avatar creation request for an application;
    存储空间获取单元,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;a storage space obtaining unit, configured to acquire, in response to the avatar creation request, a storage space in which the application is not installed; wherein the storage space is used to represent a space provided to an operating system user;
    分身应用创建单元,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。A avatar application creation unit for creating a avatar application of the application in the storage space in which the application is not installed.
PCT/CN2018/094829 2017-07-18 2018-07-06 Application program cloning method and apparatus, device and medium WO2019015491A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710587321.X 2017-07-18
CN201710587321.XA CN109271211B (en) 2017-07-18 2017-07-18 Method, device, equipment and medium for separating application program

Publications (1)

Publication Number Publication Date
WO2019015491A1 true WO2019015491A1 (en) 2019-01-24

Family

ID=65016190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/094829 WO2019015491A1 (en) 2017-07-18 2018-07-06 Application program cloning method and apparatus, device and medium

Country Status (2)

Country Link
CN (1) CN109271211B (en)
WO (1) WO2019015491A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114719B (en) * 2019-06-19 2022-02-22 青岛海信移动通信技术股份有限公司 Application body-splitting method and device
CN110231975A (en) * 2019-06-20 2019-09-13 京东方科技集团股份有限公司 A kind of applied program processing method, device and electronic equipment
CN110851823B (en) * 2019-11-12 2023-03-10 腾讯科技(深圳)有限公司 Data access method, device, terminal and storage medium
CN111142939B (en) * 2019-12-11 2023-04-07 北京小米移动软件有限公司 Application program processing method and device
CN114637441A (en) * 2020-12-15 2022-06-17 华为技术有限公司 Space management method and device, electronic equipment and readable storage medium
CN114185462A (en) * 2021-11-05 2022-03-15 北京来也网络科技有限公司 Control method and device based on AI and RPA system separate window

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199734A (en) * 2014-09-12 2014-12-10 上海斐讯数据通信技术有限公司 Android smart terminal based application multi-run management method and system
CN105224322A (en) * 2015-09-25 2016-01-06 维沃移动通信有限公司 A kind of attend to anything else method and terminal of application program
US9348678B1 (en) * 2012-06-20 2016-05-24 Mobile Iron, Inc. Partitioned application environment
CN106445706A (en) * 2016-10-10 2017-02-22 广东欧珀移动通信有限公司 Data transmission method and device of multiple opened applications and mobile terminal

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357921B (en) * 2016-10-10 2019-05-14 Oppo广东移动通信有限公司 A kind of data sharing method of application, device and mobile terminal
CN106791059A (en) * 2016-12-09 2017-05-31 宇龙计算机通信科技(深圳)有限公司 Display methods, system and the terminal opened a kind of application more
CN106878153A (en) * 2017-03-06 2017-06-20 宇龙计算机通信科技(深圳)有限公司 A kind of message sharing method and device and mobile terminal, server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9348678B1 (en) * 2012-06-20 2016-05-24 Mobile Iron, Inc. Partitioned application environment
CN104199734A (en) * 2014-09-12 2014-12-10 上海斐讯数据通信技术有限公司 Android smart terminal based application multi-run management method and system
CN105224322A (en) * 2015-09-25 2016-01-06 维沃移动通信有限公司 A kind of attend to anything else method and terminal of application program
CN106445706A (en) * 2016-10-10 2017-02-22 广东欧珀移动通信有限公司 Data transmission method and device of multiple opened applications and mobile terminal

Also Published As

Publication number Publication date
CN109271211A (en) 2019-01-25
CN109271211B (en) 2021-03-26

Similar Documents

Publication Publication Date Title
WO2019015491A1 (en) Application program cloning method and apparatus, device and medium
CN108595970B (en) Configuration method and device of processing assembly, terminal and storage medium
Taivalsaari et al. Liquid software manifesto: The era of multiple device ownership and its implications for software architecture
US10595169B2 (en) Message extension app store
US10194288B2 (en) Sticker distribution system for messaging apps
RU2700188C2 (en) Representing computing environment on multiple devices
EP3700237A1 (en) Messaging application interacting with one or more extension applications
KR102320151B1 (en) Electronic devcie for installing application and method for cotrolling thereof
US20150333971A1 (en) Method and device for managing processes of application program
US20160366541A1 (en) Electronic device and method for providing function in electronic device
US9779106B2 (en) Application management method and device
US20180101574A1 (en) Searching index information for application data
CN104375857B (en) A kind of application program runs the method for Multi-instance, device and terminating unit
WO2020216204A1 (en) Information acquisition method and apparatus
CN110780930A (en) Method and device for starting Android system, electronic equipment and storage medium
KR102631745B1 (en) Method for controlling the execution of different operating systems, electronic device and storage medium therefor
US20240086231A1 (en) Task migration system and method
EP3131031A1 (en) Content security processing method and electronic device supporting the same
US11604656B2 (en) Method and apparatus for managing application
EP4095723B1 (en) Permission reuse method, permission reuse-based resource access method, and related device
CN108241515B (en) Application shortcut establishing method and terminal
US20230139886A1 (en) Device control method and device
WO2023179183A1 (en) Subprogram synchronization processing
US10303462B2 (en) Windows support of a pluggable ecosystem for universal windows application stores
CN114595203A (en) File synchronization method based on dual systems, terminal device and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18836032

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18836032

Country of ref document: EP

Kind code of ref document: A1