WO2024002225A1 - 应用授权管理方法及相关设备 - Google Patents

应用授权管理方法及相关设备 Download PDF

Info

Publication number
WO2024002225A1
WO2024002225A1 PCT/CN2023/103763 CN2023103763W WO2024002225A1 WO 2024002225 A1 WO2024002225 A1 WO 2024002225A1 CN 2023103763 W CN2023103763 W CN 2023103763W WO 2024002225 A1 WO2024002225 A1 WO 2024002225A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
authorization
lock
key
app
Prior art date
Application number
PCT/CN2023/103763
Other languages
English (en)
French (fr)
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 WO2024002225A1 publication Critical patent/WO2024002225A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Definitions

  • the present application relates to the field of software technology, and in particular, to an application authorization management method and related equipment.
  • Application also called application, refers to a computer program that is used to complete one or more specific tasks. It can run in user mode and interact with users, and can have a visual user interface. Application developers can put the developed applications on the application store, and users who need to use the APP can download the application from the application store.
  • the authorization lock generally refers to the authorization encryption policy embedded within the application program.
  • users need to first purchase the application's authorization key from the application store. This authorization key can be used to authorize and unlock the authorization encryption policy embedded within the application's program.
  • the application can run normally and be used by users only after detecting the authorization key.
  • a complete application generally only has one authorization lock.
  • a complete application may contain multiple sub-applications.
  • the existing application authorization management method is not applicable, and it is impossible to authorize and lock the complete application and each sub-application in it.
  • This application provides an application authorization management method and related equipment, which can implement authorization management for applications with associated relationships.
  • the technical solution of this application is as follows:
  • this application provides an application authorization management method.
  • the method includes: receiving an authorization request.
  • the authorization request is used to request authorization rights for a second application downloaded from an application store.
  • the second application is associated with the first application. relationship, the second application can call the first application to implement the functions of the first application.
  • the first key and the second key are sent.
  • the first application has a first authorization lock, the first authorization lock is used to authorize and lock the first application, and the first key is used to release the authorization and lock of the first application.
  • the second application has a second authorization lock, the second authorization lock is used to authorize and lock the second application, and the second key is used to release the authorization and locking of the second application.
  • the first application includes a first identification, and the first identification is used to identify that the first application has performed authorized locking; the second application includes a second identification, and the second identification is used to identify that the second application has performed authorized locking.
  • Authorized lock
  • the authorization lock used for authorized locking includes: an authorization field.
  • the authorization field is used to identify that the authorization lock has the function of controlling the authorization time of the application; the key corresponding to the authorization lock includes: the effective use time of the key.
  • the authorization lock used for authorization locking includes one or more of the following: the identity of the application authorized to be locked using the authorization lock, the identity of the authorization lock, and the authorization type; the authorization type includes free and paid.
  • the key corresponding to the authorized lock includes one or more of the following: the identification of the key, the identification of the authorized lock corresponding to the key, and the identification of the application authorized to lock using the authorized lock corresponding to the key.
  • the first application is authorized and locked by the copyright owner of the first application using a first authorization lock; and the second application is authorized and locked by the copyright owner of the second application using a second authorization lock.
  • the copyright owners of the first application and the second application are the same or different.
  • the developers of the first application and the second application are the same or different.
  • the second application includes first information, and the first information is used to indicate the first application associated with the second application.
  • the first information includes the identification of the first application; the identifications of different applications in the application store are different.
  • the second application is also associated with a third application downloaded from the application store and can call the third application to implement the functions of the third application; the third application is not authorized to be locked.
  • this application provides an application authorization management device.
  • the device includes: a receiving module for receiving an authorization request.
  • the authorization request is used to request authorization rights for a second application downloaded from an application store.
  • the second application and The first application has an association relationship, and the second application can call the first application to implement the functions of the first application;
  • the sending module is configured to send the first key and the second key in response to the authorization request.
  • the first application has a first authorization lock
  • the first authorization lock is used to authorize and lock the first application downloaded from the application store
  • the first key is used to release the authorization and locking of the first application.
  • the second application has a second authorization lock, the second authorization lock is used to authorize and lock the second application, and the second key is used to release the authorization and locking of the second application.
  • the first application includes a first identification, and the first identification is used to identify that the first application is authorized to be locked; the second application includes a second identification, and the second identification is used to identify that the second application is authorized to be locked.
  • the authorization lock used for authorization locking includes: authorization field.
  • the authorization field is The identification authorization lock has the function of controlling the authorization time of the application; the key corresponding to the authorization lock includes: the effective use time of the key.
  • the authorization lock used for authorization locking includes one or more of the following: the identity of the application authorized to be locked using the authorization lock, the identity of the authorization lock, and the authorization type; the authorization type includes free and paid.
  • the key corresponding to the authorized lock includes one or more of the following: the identification of the key, the identification of the authorized lock corresponding to the key, and the identification of the application authorized to lock using the authorized lock corresponding to the key.
  • the first application is authorized and locked by the copyright owner of the first application using a first authorization lock; and the second application is authorized and locked by the copyright owner of the second application using a second authorization lock.
  • the copyright owners of the first application and the second application are the same or different.
  • the developers of the first application and the second application are the same or different.
  • the second application includes first information, and the first information is used to indicate the first application associated with the second application.
  • the first information includes the identification of the first application; the identifications of different applications in the application store are different.
  • the second application is also associated with a third application downloaded from the application store and can call the third application to implement the functions of the third application; the third application is not authorized to be locked.
  • the present application provides an electronic device.
  • the electronic device may be a hardware device corresponding to the application store described in the first aspect.
  • the electronic device includes: a processor, a memory used to store instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the first aspect and any possible implementation manner of the first aspect. method described.
  • the present application provides a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device enables the electronic device to implement any one of the first aspect and the first aspect. possible implementation methods.
  • the present application provides a computer program product, including computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code, when the computer readable code is run in an electronic device , the processor in the electronic device implements the method described in the first aspect and any possible implementation manner of the first aspect.
  • this application provides an application authorization management method.
  • the method includes: sending an authorization request.
  • the authorization request is used to request authorization rights for a second application downloaded from an application store.
  • the second application is associated with the first application. relationship, the second application can call the first application to implement the functions of the first application. Receive the first key and the second key.
  • the first application has a first authorization lock
  • the first authorization lock is used to authorize and lock the first application downloaded from the application store
  • the first key is used to release the authorization and locking of the first application.
  • the second application has a second authorization lock, the second authorization lock is used to authorize and lock the second application, and the second key is used to release the authorization and locking of the second application.
  • the first application includes a first identification, and the first identification is used to identify that the first application is authorized to be locked; the second application includes a second identification, and the second identification is used to identify that the second application is authorized to be locked.
  • the authorization lock used for authorized locking includes: an authorization field.
  • the authorization field is used to identify that the authorization lock has the function of controlling the authorization time of the application; the key corresponding to the authorization lock includes: the effective use time of the key.
  • the authorization lock used for authorization locking includes one or more of the following: the identity of the application authorized to be locked using the authorization lock, the identity of the authorization lock, and the authorization type; the authorization type includes free and paid.
  • the key corresponding to the authorized lock includes one or more of the following: the identification of the key, the identification of the authorized lock corresponding to the key, and the identification of the application authorized to lock using the authorized lock corresponding to the key.
  • the first application is authorized and locked by the copyright owner of the first application using a first authorization lock; and the second application is authorized and locked by the copyright owner of the second application using a second authorization lock.
  • the copyright owners of the first application and the second application are the same or different.
  • the developers of the first application and the second application are the same or different.
  • the second application includes first information, and the first information is used to indicate the first application associated with the second application.
  • the first information includes the identification of the first application; the identifications of different applications in the application store are different.
  • the second application is also associated with a third application downloaded from the application store and can call the third application to implement the functions of the third application; the third application is not authorized to be locked.
  • this application provides an application authorization management device.
  • the device includes: a sending module for sending an authorization request.
  • the authorization request is used to request authorization rights for a second application downloaded from an application store.
  • the second application and The first application has an association relationship, and the second application can call the first application to implement the functions of the first application.
  • the receiving module is used for receiving the first key and the second key.
  • the first application has a first authorization lock
  • the first authorization lock is used to authorize and lock the first application downloaded from the application store
  • the first key is used to release the authorization and locking of the first application.
  • the second application has a second authorization lock.
  • the second authorization lock is used to authorize and lock the second application.
  • the second key Used to unlock the authorization of the second application.
  • the first application includes a first identification, and the first identification is used to identify that the first application is authorized to be locked; the second application includes a second identification, and the second identification is used to identify that the second application is authorized to be locked.
  • the authorization lock used for authorized locking includes: an authorization field.
  • the authorization field is used to identify that the authorization lock has the function of controlling the authorization time of the application; the key corresponding to the authorization lock includes: the effective use time of the key.
  • the authorization lock used for authorization locking includes one or more of the following: the identity of the application authorized to be locked using the authorization lock, the identity of the authorization lock, and the authorization type; the authorization type includes free and paid.
  • the key corresponding to the authorized lock includes one or more of the following: the identification of the key, the identification of the authorized lock corresponding to the key, and the identification of the application authorized to lock using the authorized lock corresponding to the key.
  • the first application is authorized and locked by the copyright owner of the first application using a first authorization lock; and the second application is authorized and locked by the copyright owner of the second application using a second authorization lock.
  • the copyright owners of the first application and the second application are the same or different.
  • the developers of the first application and the second application are the same or different.
  • the second application includes first information, and the first information is used to indicate the first application associated with the second application.
  • the first information includes the identification of the first application; the identifications of different applications in the application store are different.
  • the second application is also associated with a third application downloaded from the application store and can call the third application to implement the functions of the third application; the third application is not authorized to be locked.
  • the present application provides an electronic device, including: a processor, a memory used to store instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the sixth aspect and the sixth aspect. Any possible implementation of the method described in this aspect.
  • the present application provides a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device enables the electronic device to implement any one of the sixth aspect and the sixth aspect. possible implementation methods.
  • the present application provides a computer program product, including computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code, when the computer readable code is run in an electronic device , the processor in the electronic device implements the method described in the sixth aspect and any possible implementation manner of the sixth aspect.
  • the present application at least has the following beneficial effects: the present application can be applied to a scenario in which a complete application contains multiple sub-applications (or a complete application and multiple sub-applications). Scenarios for application association). For a second application, if the second application has an associated relationship with the first application and can call the first application to implement the functions of the first application, the first application can be considered a sub-application of the second application. . This application can authorize the second application and the first application respectively. The second application and the first application respectively have authorization locks, for example, the first application has a first authorization lock, and the second application has a second authorization lock.
  • the application store can package the authorization key of the second application (such as the second key) and the authorization key of the first application (such as the first key) and send them to the user device. Implement joint authorization of the first application and the second application.
  • Figure 1 is a schematic flow chart of an application authorization management method provided by an embodiment of the present application
  • Figure 2 is a schematic diagram of the predefined composition of an application provided by the embodiment of the present application.
  • Figure 3 is another schematic flow chart of the application authorization management method provided by the embodiment of the present application.
  • Figure 4 is another schematic flow chart of the application authorization management method provided by the embodiment of the present application.
  • Figure 5 is a schematic diagram of the model and predefined relationships provided by the embodiment of this application.
  • Figure 6 is a schematic diagram of the data model provided by the embodiment of the present application.
  • Figure 7 is a schematic diagram of the composition of the APP model of the second application provided by the embodiment of the present application.
  • Figure 8 is a schematic diagram of the composition of an application management system provided by an embodiment of the present application.
  • Figure 9 is another schematic diagram of an application management system provided by an embodiment of the present application.
  • Figure 10 is a schematic diagram of the transmission process of keys and authorized locks of finished APP and part APP provided by the embodiment of this application;
  • Figure 11 is a schematic structural diagram of an application authorization management device provided by an embodiment of the present application.
  • Figure 12 is a schematic structural diagram of an application authorization management device provided by an embodiment of the present application.
  • Application also called application, refers to a computer program that is used to complete one or more specific tasks. It can run in user mode and interact with users, and can have a visual user interface.
  • Application developers can put the developed applications on the application store, and users who need to use the APP can download the application from the application store.
  • the application store can be implemented on hardware devices such as servers and computers, and can also provide users with an interactive application store interface for users to download the applications they need.
  • an industrial Internet platform can be built based on hardware devices such as servers and computers.
  • the industrial Internet platform is the aforementioned application store.
  • Application developers can put the developed applications on the Industrial Internet platform, and users who need to use the applications can download and use the applications from the Industrial Internet platform.
  • the authorization lock generally refers to the authorization encryption policy embedded within the application program.
  • users need to first purchase the application's authorization key from the application store. This authorization key can be used to authorize and unlock the authorization encryption policy embedded within the application's program.
  • the application can run normally and be used by users only after detecting the authorization key.
  • a complete application generally only has one authorization lock.
  • a complete application may contain multiple sub-applications.
  • the existing application authorization management method is not applicable, and it is impossible to authorize and lock the complete application and each sub-application in it.
  • the current authorization lock generally refers to the authorization encryption policy embedded within the application program, it is inconvenient for the application developer to adjust the authorization encryption policy after the application has been put on the app store. If you want to adjust the authorization encryption policy, it may affect the business logic of the application and the application needs to be re-listed.
  • embodiments of the present application provide an application authorization management method, which can be applied to a scenario where a complete application contains multiple sub-applications (or a scenario where a complete application is associated with multiple sub-applications). For example, for a second application, if the second application has an associated relationship with the first application and can call the first application to realize the functions of the first application, the first application can be considered as the second application. sub-application.
  • This method can be implemented separately for the second application and the first Apply for authorization.
  • the second application and the first application respectively have authorization locks, for example, the first application has a first authorization lock, and the second application has a second authorization lock.
  • the application store can package the authorization key of the second application (such as the second key) and the authorization key of the first application (such as the first key) and send them to the user device. Implement authorization and locking of the first application and the second application together.
  • the authorization lock of each application is independent of the application program and is not an authorization encryption policy embedded within the application program.
  • the authorization lock of the application can also be adjusted (such as canceled or changed, etc.). When adjusting the authorization lock, it will not affect the application's business logic and ensure the functional stability of the application.
  • the method may be implemented on a hardware device corresponding to the application store.
  • the hardware device may include a server, a computer, etc.
  • the server may be a single server, or it may be a server cluster composed of multiple servers. In some implementations, the server cluster may also be a distributed cluster.
  • This application does not limit the specific implementation of the hardware devices corresponding to the application store. It should be noted that the implementation steps on the application store side involved in the embodiments of this application can all be implemented by hardware devices corresponding to the application store.
  • FIG. 1 is a schematic flowchart of an application authorization management method provided by an embodiment of the present application. As shown in Figure 1, the application authorization management method may include:
  • S101 Receive an authorization request.
  • the authorization request is used to request the authorization permission of the second application downloaded from the application store.
  • the second application has an associated relationship with the first application, and the second application can call the first application to implement the functions of the first application.
  • the first application has a first authorization lock
  • the first authorization lock is used to authorize and lock the first application downloaded from the application store
  • the first key is used to unlock the authorization and lock of the first application
  • the second application There is a second authorization lock
  • the second authorization lock is used to authorize and lock the second application
  • the second key is used to release the authorization and locking of the second application.
  • the application store may include at least a first application and a second application.
  • the second application can call the first application to implement the functions of the first application.
  • the function that can be implemented by the first application is the first function
  • the second application does not include the code for implementing the first function
  • the first function can also be implemented by calling the first application.
  • An association relationship can be established between the first application and the second application, and the user can use the user device (such as a mobile phone, computer, etc.) to send a request to download the second application to the application store.
  • the application store can respond to the request and deliver the second application to the user device.
  • the application store can deliver the first application to the user device based on the association relationship.
  • the second application can call the downloaded first application to implement the functions of the first application.
  • the first application can be considered as a sub-application of the second application, but the code of the first application is independent of the second application.
  • the second application and the first application are stored separately and independently. This relationship of decentralized and independent storage can effectively save the storage resources of the app store occupied by the application.
  • the user device After the user device downloads the second application from the application store, when the user device needs to run (not trial run) the second application, it may send an authorization request to the application store to obtain the authorization permissions of the second application. That is, in S101, the application store may receive an authorization request from the user device, and the authorization request is used to request the authorization permission of the second application downloaded from the application store.
  • the authorization request may include an identification of the second application, and the identification of the second application is used to indicate that the authorization request is used to request authorization rights for the second application downloaded from the application store.
  • the application store can deliver the second application and the first application together.
  • the first application has a first authorization lock and the second application has a second authorization lock.
  • the information related to the first application delivered by the application store may include the program of the first application and the first authorization lock
  • the information related to the second application delivered by the application store may include the program of the second application and the second authorization lock.
  • the application store may respond to the authorization request by sending the first key and the second key to the user device, that is, issuing the authorization key of the first application and the authorization key of the second application together.
  • the second application can detect the second authorization lock and the second key and create a running instance normally.
  • the second application can call the first application to implement the functions of the first application, and the first application can detect the first authorization lock and the first key and create a running instance normally.
  • the application authorization management method can authorize the second application and the first application respectively.
  • the application store can package the authorization key of the second application (such as the second key) and the authorization key of the first application (such as the first key) and send them to the user device. Implement joint authorization of the first application and the second application.
  • the authorization lock of each application is independent of the application program, and is not an authorization encryption policy embedded within the application program.
  • the authorization lock of the application can also be adjusted (such as canceled or changed, etc.). When adjusting the authorization lock, it will not affect the application's business logic and ensure the functional stability of the application.
  • the first application includes a first identification, and the first identification is used to identify that the first application is authorized to be locked; the second application includes a second identification, and the second identification is used to identify that the second application is authorized to be locked.
  • the user device runs the second application, it can determine whether it is necessary to send an authorization request to the application store based on the second identification to obtain the authorization permission of the second application. For example, when the user device detects the second identifier, the user device may display prompt information to the user to prompt the user to perform an operation to obtain authorization rights for the second application, and the user device may send an authorization request to the application store in response to the operation.
  • the application store may determine the second authorization lock and the second key, and the first authorization lock and the first key that need to be returned to the user device based on the second identification and the first identification respectively. If the first application does not have the first identification, it means that the first application has not been authorized to lock, and the application store does not need to send the first authorized lock and the first key to the user device.
  • FIG. 2 is a schematic diagram of a predefined composition of an application provided by an embodiment of the present application.
  • the application may be a first application or a second application.
  • the predefinition of the first application may include: name, description, GUID, model GUID+version, lock status and other fields, where the field " "Locked status" is the first identifier, indicating that the first application has been authorized to lock.
  • the predefinition of the second application is similar to the predefinition of the first application and will not be described again.
  • the authorization lock (such as the first authorization lock and the second authorization lock) used for authorization locking includes: an authorization field.
  • the authorization field is used to identify that the authorization lock has the function of controlling the authorization time of the application; the authorization lock corresponds to The key includes: the effective use time of the key.
  • the first authorization lock may include a first authorization field, and the first authorization field is used to identify that the first authorization lock has the function of controlling the authorization time of the application.
  • the first key corresponding to the first authorized lock includes: the effective use time of the first key. Assuming that the effective use time of the first key is one month, it means that the first authorization lock and the first key can effectively authorize the first application for one month. After one month, the first key becomes invalid and the first application cannot be created again. Run the instance.
  • the authorization lock used for authorization locking includes one or more of the following: the identity of the application authorized to be locked using the authorization lock, the identity of the authorization lock, and the authorization type; the authorization type includes free and paid.
  • the key corresponding to the authorized lock includes one or more of the following: key identification, key pair The identification of the corresponding authorized lock and the identification of the application authorized to lock using the authorized lock corresponding to the key.
  • the first authorization lock may include the identification of the first application authorized to be locked using the first authorization lock (such as the predefined identification of the first application), the identification of the first authorization lock (such as the authorization lock). ID), authorization type (such as free or paid), etc.
  • the first key corresponding to the first authorized lock may include: the identification of the first key, the identification of the first authorized lock corresponding to the first key, the identification of the first application authorized to lock using the first authorized lock corresponding to the first key, etc. .
  • one authorized lock can generate multiple authorized keys, which is not limited here.
  • the copyright owners of the first application and the second application may be the same or different, and the developers of the first application and the second application may also be the same or different.
  • the developer of the first application is development organization 1, and the developer of the second application is development organization 2, but the copyright owners of the first application and the second application are both unit A.
  • the developer of the first application is development organization 1, and the copyright holder is unit A.
  • the developer of the second application is development organization 2, and both copyright owners are unit B.
  • the copyright owner of the first application is unit A, and the copyright owners of the second application are both unit B, but the developers of the first application and the second application are both development organization 1.
  • the first application and the second application may be put on the application store by their respective copyright owners, or may be put on the application store by their respective developers, which is not limited here.
  • the first application is authorized and locked by the copyright owner of the first application using a first authorization lock; the second application is authorized and locked by the copyright owner of the second application using a second authorization lock.
  • the first application is authorized and locked by unit A using the first authorization lock; the second application is authorized and locked by unit B using the second authorization lock.
  • the application store may include the developer information and copyright owner information corresponding to each application, such as: the developer's team name, the copyright owner's unit name, address, etc.
  • the second application is also associated with a third application downloaded from the application store and can call the third application to implement the functions of the third application; when the third application is not authorized to be locked, in response to the authorization request , sending the first key and the second key; when the third application is authorized to be locked, in response to the authorization request, the first key, the second key and the third key are sent, and the third key is used to release the authorization of the third application.
  • Lock the authorization lock of the third application may be a third authorization lock.
  • inventions of the present application introduce the application authorization management method provided by the embodiments of the present application from the perspective of the application store.
  • embodiments of the present application also provide an application authorization management method, which can be applied to user equipment.
  • FIG. 3 is another schematic flowchart of an application authorization management method provided by an embodiment of the present application.
  • the application authorization management method may include:
  • the authorization request is used to request the authorization permission of the second application downloaded from the application store.
  • the second application has an associated relationship with the first application, and the second application can call the first application to implement the functions of the first application.
  • the first application has a first authorization lock
  • the first authorization lock is used to authorize and lock the first application downloaded from the application store
  • the first key is used to release the authorization and locking of the first application.
  • the second application has a second authorization lock, the second authorization lock is used to authorize and lock the second application, and the second key is used to release the authorization and locking of the second application.
  • the application authorization management method applied to the user device completely corresponds to the application authorization management method applied to the application store provided in the foregoing embodiments.
  • the application authorization management method applied to the application store provided in the foregoing embodiments.
  • FIG. 4 is another schematic flowchart of an application authorization management method provided by an embodiment of the present application.
  • the application authorization management method may include:
  • the user device sends an authorization request to the application store.
  • the authorization request is used to request the authorization permission of the second application downloaded from the application store.
  • the app store receives the authorization request.
  • the application store sends the first key and the second key to the user device.
  • the user equipment receives the first key and the second key.
  • FIG. 4 the specific implementation of the embodiment shown in FIG. 4 may refer to the embodiment shown in FIG. 1 and will not be described again.
  • the second application may include first information, and the first information is used to indicate the first application associated with the second application.
  • the application store establishing an association relationship between the first application and the second application may include: establishing an association relationship between the first application and the second application based on the first information included in the second application; or, integrating the first application information included in the second application. One piece of information serves as the association relationship between the first application and the second application.
  • the developer of the second application can add The identification of the first application, or adding some fields that can indicate the first application.
  • the identifier of the first application or a field that can indicate the first application is the above-mentioned first information. That is, the first information may include: an identifier of the first application or some fields that can indicate the first application.
  • the developers of the first application and the second application are the same.
  • the developer can develop the first application locally, generate the second application based on the development of the first application, and then put the first application and the second application on the shelves. to the app store.
  • the developers of the first application and the second application are different.
  • the application store may include the first application.
  • the developer may obtain the first application from the application store and develop and generate the second application based on the first application. , and then put the second application on the app store.
  • the following is an exemplary description in which a developer obtains a first application from an application store and develops and generates a second application based on the first application.
  • the device on the development side may send a request to download the first application to the application store.
  • the equipment on the development side may include servers, computers, etc. used by developers.
  • the application store may send the first application to the device on the development side in response to the request to download the first application.
  • the request to download the first application may include an identifier of the first application, and the application store may find the stored first application based on the identifier of the first application and deliver it to the device on the development side.
  • the device on the development side can obtain the first application from the application store.
  • the developer can generate a second application based on the first application.
  • a developer can develop a second application and add an interface capable of calling the first application in the second application, so that the second application can call the first application to implement the functions of the first application.
  • the device on the development side can put the second application on the application store.
  • the process of generating the second application based on the first application may be as follows:
  • the data predefinition of the second application is predefined and assigned a unique identifier (such as a globally unique identifier); among them, the system warehouse of the second application is also the system warehouse used by the developer who develops the second application.
  • the system warehouse of the second application is the same as the second application.
  • the developer's development studio can be connected via the network.
  • the model is the information that describes the structure of the object when modeling abstraction
  • the predefinition is the information that determines the structure of the model and is configured with parameters.
  • Model information is recorded on the predefinition, which is used to instantiate objects.
  • Instantiating an object is to build the object's structure according to the structure of its model, and use the parameter values as the initial values of the object.
  • Predefinitions can also be referenced by other models as subpredefinitions.
  • operations can include: creating a new model, assigning names and identifiers; adding members, specifying member types; deleting members; adding or deleting sub-predefined; setting the initial value of sub-predefined; updating the model version; publishing a certain Model version generation predefined, etc.
  • operations can include: specifying a model version to publish (create) the predefinition; assigning a name and identity; setting predefined parameter values (attributes and members), etc.
  • Figure 5 is a schematic diagram of the model and predefined relationships provided by the embodiment of the present application.
  • the model can include basic attributes and member lists; basic attributes can include name, description, globally unique identifier (GUID), version and other information; the member list can include: “Member 1: Name + Type", "Member 2: Name + Type", "Member 3: Name + Type” and other information.
  • Predefinition can include basic attributes and member lists; basic attributes can include name, description, GUID, model GUID+version and other information; member lists can include: “Member 1+value”, “Member 2+value", “Member 3+value” " and other information.
  • the data model described in step 2) is a concept in the spatiotemporal database, which describes the structure of the data objects in the spatiotemporal database and is an abstract description of the objects in the objective world.
  • FIG. 6 is a schematic diagram of the data model provided by the embodiment of the present application.
  • the data model may include: basic attributes, member lists, and sub-model lists.
  • a data model with sub-models is a composite data model.
  • data model A in the figure is a composite data model
  • data model B and data model C are sub-models of data model A.
  • the submodel list records the predefined identification of the data that refers to the data model of the submodel, establishing the dependency relationship between the submodel and the data model.
  • the submodel list of data model A includes data model B and data model C.
  • the predefined identification of the data such as: "name B1+referenced model ID+parameter value”, "name B2+referenced model ID+parameter value”, "name C3+referenced model ID+parameter value”, etc.
  • the resource object that the APP model of the second application depends on (referred to as the resource object of the second application) to the resource library, and assign a unique identifier (such as a globally unique identifier) to the resource object of the second application.
  • the resource object is a concept in the spatiotemporal database.
  • the binary file data is organized and managed in an object-oriented manner, and an identifier is assigned to each resource object.
  • the APP model of the second application can access the data of the resource object through the identifier of the resource object. For example, define the icon as a resource object and a second application If a dependency relationship is formed between the APP models, the APP model of the second application can use this icon. For another example, if a video file is defined as a resource object and a dependency relationship is formed between the APP model of the second application, the APP model of the second application can read the video file for playback through the dependency relationship.
  • the predefined data in the system warehouse of the second application may be built by the developer itself, or may be purchased from an application store.
  • the resource objects in the resource library can be built by the developer or purchased from the application store.
  • Add the sub-APP list of the APP model of the second application select the pre-definition of the first application as a sub-APP from the system warehouse of the second application, and record the pre-defined identification of the first application in the APP of the second application on the model's sub-APP list.
  • the predefinition of the first application is the first application obtained from the application store in S201-S202.
  • the predefined identification of the first application is the identification of the first application described in the previous embodiment.
  • the predefinition of the first application may be uploaded to the application store by the copyright owner or developer of the first application.
  • the predefined identification of the second application is the identification of the second application.
  • predefined parameter values such as attributes and members.
  • FIG. 7 is a schematic diagram of the composition of the APP model of the second application provided by the embodiment of the present application.
  • the APP model of the second application may include: basic attributes, dependent data list, function function list, and sub-APP list.
  • Basic attributes may include: name, description, and GUID (ie, the unique identifier of the APP model of the second application).
  • the dependent data list records the data models or resource objects that the APP model of the second application needs to use, and establishes a relationship between the APP model of the second application and the dependent data models or resource objects. For example, "Data 1: Data ID”, "Data 2: Data ID”, etc. represent the predefined identification of the data of the dependent data model or the identification of the resource object.
  • the dependent data list may include the above-mentioned predefined list of dependent data and/or the above-mentioned dependent resource list.
  • the functional function list may include: Function 1, Function 2 and other functional functions of the APP model of the second application. These functional functions are the implementation of the program logic of the APP model of the second application.
  • the sub-APP list records the information of the first application and the association relationship established between the APP model of the second application and the first application.
  • the sub-APP list may include the identification and configuration parameters of the first applications such as sub-APP-B1, APP-C2, APP-D3, etc. That is, APP model B, APP model C, and APP model D, etc. may be the above-mentioned first application.
  • the second application can be generated according to the first application in S203.
  • the development process of the first application is similar to the development process of the second application.
  • the development process of the first application does not include steps similar to step 6) above. the process described.
  • the development process of the first application is consistent with the process described in steps 1) to 8) above. The development process of the first application will not be described in detail here.
  • the second application and the first application may depend on the same predefined data or resource object, because the dependency relationship is established when the second application and the first application are developed separately.
  • the second application The identifier of the same data predefinition or resource object may be recorded in the dependency data list of the first application.
  • the process of the copyright owner of the second application putting the second application on the app store is as follows:
  • the copyright owner of the second application creates an APP product for the second application in the app store.
  • the APP product for the second application includes a predefined identification of the second application.
  • APP products refer to the corresponding information established for the predefinition of APP in the application store, and mainly describe the predefined commercialization information of APP.
  • the APP product of the second application may also include the second application's pattern (logo), video, product pricing, product name, product description, etc.
  • the application store determines the predefined content of the second application corresponding to the APP product of the second application based on the registered account of the copyright owner of the second application in the application store (or the system product code of the copyright owner of the second application).
  • the system repository belonging to the secondary application That is, the application store can determine which system warehouse the predefinition of the second application corresponding to the APP product of the second application comes from based on the registered account of the copyright owner of the second application in the application store.
  • the application store requests the system warehouse of the second application to list the predefinition of the second application based on the predefined identification of the second application included in the APP product of the second application.
  • the system warehouse of the second application responds to the predefined request from the application store to list the second application, and performs the following steps (4.1) to steps (4.2):
  • the system warehouse of the second application uploads to the application store
  • the predefinition of the second application may include the APP model and configuration parameters of the second application.
  • the system warehouse of the second application is scheduled based on the dependency data of the second application. definition list and dependent resource list, and upload the data predefinition and resource objects of the second application to the app store.
  • the second application can be put on the application store.
  • the system warehouse of the second application can also upload the second application to the application store. Predefine the associated local sub-APP, and upload the local sub-APP's data predefinition and resource objects to the app store based on the local sub-APP's dependent data predefined list and dependent resource list.
  • the system warehouse of the second application since the data related to the first application already exists in the application store, the system warehouse of the second application does not need to upload the data related to the first application to the application store, such as: the predefined, An application's data predefinition and resource objects, etc. Therefore, only one copy of data related to the first application is included in the application store, achieving the effect of saving storage resources of the application store as described in the foregoing embodiments.
  • the second application may be called a finished product APP, and a sub-APP of the second application (such as the first application) may be called a part APP.
  • the finished APP can be a program that can run independently.
  • the parts APP can be an APP program that can run independently, or it can be a program that does not run independently.
  • a parts APP can serve as a sub-APP of one or more finished products APPs and be called by the finished products APP to realize the functions of the parts APP.
  • parts APP and finished product APP are relative concepts, and applications that are sub-APPs can be considered part APPs.
  • the fourth application is the finished product APP and the second application is the parts APP.
  • FIG 8 is a schematic diagram of the composition of an application management system provided by an embodiment of the present application. As shown in Figure 8, development system warehouse 1, development system warehouse 2, application store, and consumer warehouse can form an application management system.
  • the development system warehouse 1 may be a system warehouse used to develop parts APP (such as the above-mentioned first application).
  • the developer of the parts APP can develop the parts APP in the development system warehouse 1 and put the parts APP on the application store.
  • the parts APP can include a predefined list of dependent data and a list of dependent resources.
  • the dependent data predefined list establishes the dependency relationship between the parts APP and data model 4 (predefined) and data model 5 (predefined).
  • the dependent resource list establishes the dependency relationship between the parts APP and resource data 4.
  • the development system warehouse 2 may be a system warehouse used to develop a finished APP (such as the above-mentioned second application).
  • the developer of the finished APP can download the component APP from the application store to the development system warehouse 2, and Develop the finished APP in the development system warehouse 2 based on the part APP, and put the finished APP on the app store.
  • the finished APP can include a predefined list of dependent data and a list of dependent resources.
  • the dependent data predefined list establishes the dependency relationship between the finished APP and data model 1 (predefined), data model 2 (predefined), and data model 3 (predefined).
  • the dependent resource list establishes the dependency relationship between the finished APP and resource data 1, resource data 2, and resource data 3.
  • the finished product APP and the parts APP have established an association, and can call the parts APP to realize the functions of the parts APP.
  • the consumer warehouse may be a warehouse on the consumer (user) side of the second application. Consumers can use the user device to download the finished APP from the app store to the consumer warehouse. When a consumer uses a user device to download a finished APP from the app store, the app store can deliver both the finished APP and the parts APP to the consumer warehouse.
  • the process of consumers downloading the finished APP from the application store may include: 1) The consumer executes the instruction to download the finished APP through the user device in the interactive interface provided by the application store, triggering the user device to send the instruction to download the finished APP to the application store.
  • the request to download the finished APP can specify the name of the finished APP (for example, including the identification of the finished APP).
  • the App Store delivers the predefined APP to the consumer warehouse based on the name of the finished APP specified in the request to download the finished APP.
  • the application store finds the predefined data and resource data that the finished APP depends on based on the predefined dependency data predefined list and dependent resource list of the finished APP and delivers them to the consumer warehouse.
  • the application store delivers the predefined parts APP to the consumer warehouse based on the identification of the part APP included in the finished product APP (such as querying the sub-APP list of the finished product APP).
  • the application store finds the predefined data and resource data that the parts APP depends on based on the predefined dependency data predefined list and dependent resource list of the parts APP and delivers them to the consumer warehouse.
  • development system warehouse 1 and development system warehouse 2 may be part of the APP development system, and the APP development system may also include a developer studio.
  • Developer Studio refers to a system for developers to edit APP models, and can create, edit, publish and other APP model management operations.
  • the development system warehouse is a predefined system that stores APP models developed by developers and released into APPs.
  • the consumer warehouse can be part of the consumer application system, and the consumer application system can also include an APP running environment and an APP operation and maintenance system.
  • the consumer application system refers to the business application system of an independent manufacturing enterprise. The manufacturing enterprise completes business activities on the system and is responsible for maintaining the business application system.
  • the consumer warehouse is a system that stores predefined apps purchased by consumers.
  • the APP operation and maintenance system is a system for consumers to operate and maintain APPs.
  • the APP running environment is the environment system for running the APP.
  • the finished product APP predefinition can create an APP running instance, specify the running environment (computer node), and allocate computer resources (such as central processing (central processing unit, CPU), memory, network bandwidth, etc.).
  • the APP running instance has the predefined identification of the APP.
  • the APP operation and maintenance system can deploy the functional logic of the APP's predefined APP model (the predefined APP carries the APP model's identification) to the designated computer node based on the predefined identification of the APP on the APP running instance.
  • the APP operation and maintenance system, consumer warehouse, and APP operating environment complete the deployment process of APP program files through network communication. After completing the deployment, you can start the running of the APP instance and start executing the functional function logic of the APP instance.
  • the application store may include a store system consisting of a store system and a transaction system.
  • This store system can serve as a commodity trading and circulation system operated by the operator of the application store.
  • APP software development companies i.e. developers
  • production companies i.e. consumers
  • the store system can include one or more stores, which are used to store APP products on the shelves and are responsible for the listing, downloading, and authorization key distribution of APPs.
  • the trading system can realize functions such as order management and payment management.
  • Parts APP can be called by one or more finished APPs to realize the functions of the parts APP, which enables the parts APP to be reused between different development organizations.
  • Parts APP can be adopted by more development organizations, the value of Parts APP is amplified, and the value of Parts APP developers is also amplified, which can increase the enthusiasm of APP developers.
  • finished APPs and parts APPs are stored decentrally in the app store, which can ensure that there is no redundant data and save the storage resources of the app store occupied by the APP.
  • Figure 9 is another schematic diagram of an application management system provided by an embodiment of the present application.
  • the development system warehouse 1 may include the development organization warehouse 1 and the studio 1
  • the development system warehouse 2 may include the development organization warehouse 2 and the studio 2
  • the consumer warehouse may Including application system warehouse, APP running system, and APP running system (i.e. APP running environment).
  • Parts APP developers can develop parts APP in Studio 1 and submit the parts APP to development organization warehouse 1.
  • the copyright owner of the parts APP can decide whether to authorize and lock the parts APP in the development organization's warehouse 1, and put the parts APP in the development organization's warehouse 1 on the app store.
  • the authorization locking process has nothing to do with the parts APP development process.
  • Parts APP developers cannot authorize and lock the parts APP.
  • Authorization and locking of Parts APP by the copyright owner of Parts APP can refer to: reservation in Parts APP In the sense of setting the locked status, that is, modifying the predefined authorization protection status of the parts APP to the locked status, and creating a predefined authorization lock for the parts APP in the development organization warehouse 1.
  • the copyright owner of the parts APP puts the parts APP on the shelf, the predefinition of the parts APP can be uploaded from the development organization warehouse 1 to the store of the application store (for details, please refer to the previous embodiment).
  • the copyright owner of the finished APP can download the part APP to the development organization warehouse 2. If the part APP is authorized and locked (the value is true), it means that the predefined part APP has an authorization lock, and the app store will store the part APP and the authorization lock together. Download to the development organization repository 2.
  • the developer of the finished APP can assemble the component APP in the studio 2, develop the finished APP (for details, please refer to the previous embodiment), and submit the finished APP to the development organization warehouse 2 after completing the development.
  • the copyright owner of the finished APP can decide whether to authorize and lock the finished APP in the development organization's warehouse 2, and put the finished APP in the development organization's warehouse 2 on the app store.
  • the process for the copyright owner of the finished APP to authorize and lock the finished APP is the same or similar to the process for the copyright owner of the component APP to authorize and lock the component APP, and will not be described again.
  • the predefinition of the finished APP can be uploaded from the development organization warehouse 2 to the store of the application store (for details, please refer to the previous embodiment).
  • Consumers can use the user device to download the finished APP from the app store.
  • the finished APP when the finished APP is downloaded, the finished APP and the component APP are distributed together.
  • the app store can download the finished APP to the application system warehouse (also called the consumer warehouse).
  • Send finished product APP and parts APP The downloaded finished product APP and parts APP can be deployed to the APP operation and maintenance system.
  • the finished product APP and the parts APP can each have corresponding authorization locks.
  • consumers need to obtain authorization permissions for a finished APP, they can purchase the finished APP from the app store through the user device (such as sending an authorization request).
  • the app store can issue authorization keys (referred to as keys) for the finished APP and part APP to the application system warehouse.
  • the authorization key for the finished APP is used to unlock the authorization of the finished APP
  • the authorization key for the part APP is used to Unlock the authorization of Parts APP.
  • the keys and authorization locks of the finished APP and part APP can be stored in their respective development organization warehouses, and the application store can copy the keys and authorization locks from the respective development organization warehouses and issue them.
  • the application store can copy the key and authorization lock of the component APP from the development organization warehouse 1, and copy the key and authorization lock of the finished APP from the development organization warehouse 2, and distribute them to the consumer's application system warehouse.
  • the keys and authorization locks of the finished APP and the parts APP can be uploaded to the app store in advance.
  • the keys and authorization locks of the parts APP can be uploaded to the app store together with the parts APP
  • the keys and authorization locks of the finished APP can be uploaded to the app store in advance.
  • the authorization lock can be uploaded to the app store together with the finished APP.
  • FIG. 10 is a schematic diagram of the transmission process of keys and authorized locks of the finished APP and part APP provided by the embodiment of the present application.
  • the key and authorization lock of the finished APP can be put on the App Store from the developer organization warehouse 2
  • the key and authorization lock of the component APP can be put on the App Store from the developer organization warehouse 1.
  • the App Store stores all predefined, authorized locks and keys for finished APPs and component APPs.
  • the application store can respond to the authorization request and issue the authorization locks and keys of the finished APP and part APP to the consumer warehouse.
  • the process of obtaining the keys of the finished APP and the part APP may include: determining the finished APP according to the identification of the finished APP contained in the authorization request;
  • the first information determines the part APP corresponding to the first information (for example, the first information can be the identification of the part APP); determines the authorization lock of the finished APP according to the identification of the finished APP (for example, the authorization lock of the finished APP contains the identification of the finished APP), And determine the authorized lock of the part APP based on the identification of the part APP (for example, the authorized lock of the part APP contains the identification of the part APP); determine the key of the finished APP based on the identification of the finished APP (for example, the key of the finished APP contains the identification of the finished APP) , and determine the key of the part APP based on the identification of the part APP (for example, the key of the part APP contains the identification of the part APP), or determine the key
  • the operation and maintenance system first goes to the application system warehouse to check whether the predefined finished APP and parts APP are authorized and protected (judged by the authorization lock status). If there is authorization protection, it goes to the application system warehouse to check whether there are finished APPs and parts APPs. Predefined free authorization key copy. If there is a free authorization key copy, running instances of the finished product APP and parts APP are allowed to be created. If there is no authorization key copy, running instances of the finished product APP and parts APP cannot be created.
  • the APP running instance After the APP running instance is successfully created, it will occupy a key copy.
  • the APP operation and maintenance system will regularly detect the status of the authorized key copy occupied by the APP running instance. If the authorized key copy has expired, the APP instance will stop running. If the APP running instance is deleted, the authorized copy it occupied is released.
  • the authorization status of an APP running instance affects the authorization status of its sub-APP running instances. If the APP running instance authorization expires and stops running, the sub-APP will also stop running (regardless of the sub-App's authorization status).
  • the APP developer does not process authorization in the APP logic.
  • the APP submitted by the developer does not have an authorization lock. Instead, the APP copyright owner adds an authorization lock to the APP.
  • no authorization encryption policy is embedded within the program, and only business functions are processed.
  • the copyright holder at the time of listing Authorizing encryption for the APP can facilitate the development organization to adjust the encryption strategy without affecting the business logic of the APP and maintain the stability of the APP functions.
  • the authorization key of the APP authorization lock can be made by the APP copyright owner.
  • the app store does not directly produce the authorization key.
  • the authorization key is obtained through the APP copyright owner's store.
  • the number of authorized keys to be issued is determined by the APP copyright owner, which can protect the APP copyright owner. permission.
  • Both the finished product APP and its parts APP come with authorization controls. Separate authorization control for parts APP and finished product APP can protect the rights and interests of parts APP copyright owners and increase the enthusiasm of parts APP developers.
  • the store decomposes it layer by layer based on the internal structure of the APP, obtains the authorization for the finished APP and all its descendant part APPs at once, and distributes them to the consumer's warehouse, thereby reducing the risk caused by protecting the interests of developers.
  • the complexities of consumer purchasing authorization are examples of consumer purchasing authorization.
  • the application store, user equipment, etc. described in the embodiments of the present application may include one or more hardware structures and/or software modules for implementing the corresponding application authorization management methods mentioned above.
  • These execution hardware Structural and/or software modules may constitute an electronic device.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is performed by hardware or computer software driving the hardware depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each specific application, but such implementations should not be considered beyond the scope of this application.
  • FIG 11 is a schematic structural diagram of an application authorization management device provided by an embodiment of the present application.
  • the application authorization management device may include: a receiving module 1101, used to receive an authorization request.
  • the authorization request is used to request authorization rights for a second application downloaded from the application store; the second application has the same relationship with the first application.
  • the association relationship can call the first application to realize the function of the first application.
  • the sending module 1102 is configured to send the first key and the second key in response to the authorization request.
  • the first application has a first authorization lock
  • the first authorization lock is used to authorize and lock the first application downloaded from the application store
  • the first key is used to release the authorization and locking of the first application.
  • the second application has a second authorization lock, the second authorization lock is used to authorize and lock the second application, and the second key is used to release the authorization and locking of the second application.
  • FIG 12 is another schematic structural diagram of an application authorization management device provided by an embodiment of the present application.
  • the application authorization management device may include: a sending module 1201, used to send an authorization request, The authorization request is used to request the authorization permission of the second application downloaded from the application store.
  • the second application has an associated relationship with the first application and can call the first application to implement the functions of the first application.
  • the receiving module 1202 is used to receive the first key and the second key.
  • the first application has a first authorization lock
  • the first authorization lock is used to authorize and lock the first application downloaded from the application store
  • the first key is used to release the authorization and locking of the first application.
  • the second application has a second authorization lock, the second authorization lock is used to authorize and lock the second application, and the second key is used to release the authorization and locking of the second application.
  • embodiments of the present application can divide each execution subject involved in the application authorization management method into functional modules according to the above method examples.
  • the above integrated modules can be implemented in the form of hardware or software function modules.
  • the division of modules in the embodiment of the present application is schematic and is only a logical function division. In actual implementation, there may be other division methods.
  • each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module.
  • An embodiment of the present application also provides an electronic device, which may be a hardware device corresponding to an application store, or the above-mentioned user device.
  • the electronic device includes: a processor, a memory used to store instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the method as described in the previous embodiment.
  • embodiments of the present application also provide a computer-readable storage medium on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device implements the implementation as described in the foregoing embodiments. method described.
  • the computer-readable storage medium may be a non-transitory computer-readable storage medium, for example, the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device wait.
  • embodiments of the present application further provide a computer program product, including a computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code, when the computer readable code
  • the processor in the electronic device implements the method described in the foregoing embodiments.

Landscapes

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

Abstract

本申请关于一种应用授权管理方法及相关设备,涉及软件技术领域。本申请中,应用商店至少包括第一应用和第二应用,应用商店可以建立第一应用和第二应用的关联关系。第二应用能够调用第一应用以实现第一应用的功能。本申请可以对第一应用和第二应用一并进行授权管理,实现对第一应用和第二应用的授权加锁。

Description

应用授权管理方法及相关设备
本申请要求于2022年06月30日提交的、申请号为202210772217.9的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及软件技术领域,尤其涉及一种应用授权管理方法及相关设备。
背景技术
应用程序(application,APP)也称应用,是指为完成某项或多项特定工作的计算机程序,可以运行在用户模式和用户进行交互,可以具有可视的用户界面。应用的开发者可以将开发好的应用上架到应用商店中,需要使用APP的用户可以从应用商店中下载应用。
目前,应用的开发者在开发应用时,可以为应用添加授权锁,对应用进行授权加锁。该授权锁一般是指在应用的程序内部植入的授权加密策略。用户在使用应用时,需要先从应用商店购买应用的授权钥匙。该授权钥匙可以用于对应用的程序内部所植入的授权加密策略进行授权解锁。应用在检测到授权钥匙后,才可以正常运行,供用户使用。
但是,目前的应用授权加锁方式均是在整个应用的层面对应用进行授权加锁,一个完整的应用一般只有一个授权锁。部分场景中,一个完整的应用可能包含多个子应用,针对这种场景,现有的应用授权管理方式并不适用,无法实现对完整的应用及其中的每个子应用进行授权加锁。
发明内容
本申请提供一种应用授权管理方法及相关设备,可以实现对具有关联关系的应用一并进行授权管理。本申请的技术方案如下:
第一方面,本申请提供一种应用授权管理方法,所述方法包括:接收授权请求,授权请求用于请求从应用商店中下载的第二应用的授权权限,第二应用与第一应用具有关联关系,第二应用能够调用第一应用以实现第一应用的功能。响应于授权请求,发送第一钥匙以及第二钥匙。
其中,第一应用具有第一授权锁,第一授权锁用于对第一应用进行授权加锁,第一钥匙用于解除对第一应用的授权加锁。第二应用具有第二授权锁,第二授权锁用于对第二应用进行授权加锁,第二钥匙用于解除对第二应用的授权加锁。
一些实现方式中,第一应用包括第一标识,第一标识用于标识第一应用进行了授权加锁;第二应用包括第二标识,第二标识用于标识第二应用进行 了授权加锁。
一些实现方式中,用于授权加锁的授权锁包括:授权字段,授权字段用于标识授权锁具有控制应用的授权时间的功能;授权锁对应的钥匙包括:钥匙的有效使用时间。
一些实现方式中,用于授权加锁的授权锁包括以下一种或多种:使用授权锁授权加锁的应用的标识、授权锁的标识、以及授权类型;授权类型包括免费和收费。
一些实现方式中,授权锁对应的钥匙包括以下一种或多种:钥匙的标识、钥匙对应的授权锁的标识、使用钥匙对应的授权锁授权加锁的应用的标识。
可选地,第一应用是由第一应用的版权所有者采用第一授权锁进行授权加锁的;第二应用是由第二应用的版权所有者采用第二授权锁进行授权加锁的。
可选地,第一应用和第二应用的版权所有者相同或不同。
可选地,第一应用和第二应用的开发者相同或不同。
一些实现方式中,第二应用中包括第一信息,第一信息用于指示与第二应用关联的第一应用。
可选地,第一信息包括第一应用的标识;应用商店中的不同应用的标识不同。
一些实现方式中,第二应用还与从应用商店中下载的第三应用具有关联关系,能够调用第三应用以实现第三应用的功能;第三应用未被授权加锁。
第二方面,本申请提供一种应用授权管理装置,所述装置包括:接收模块,用于接收授权请求,授权请求用于请求从应用商店中下载的第二应用的授权权限,第二应用与第一应用具有关联关系,第二应用能够调用第一应用以实现第一应用的功能;发送模块,用于响应于授权请求,发送第一钥匙以及第二钥匙。
其中,第一应用具有第一授权锁,所第一授权锁用于对从应用商店中下载的第一应用进行授权加锁,第一钥匙用于解除对第一应用的授权加锁。第二应用具有第二授权锁,第二授权锁用于对第二应用进行授权加锁,第二钥匙用于解除对第二应用的授权加锁。
一些实现方式中,第一应用包括第一标识,第一标识用于标识第一应用进行了授权加锁;第二应用包括第二标识,第二标识用于标识第二应用进行了授权加锁。
一些实现方式中,用于授权加锁的授权锁包括:授权字段,授权字段用 于标识授权锁具有控制应用的授权时间的功能;授权锁对应的钥匙包括:钥匙的有效使用时间。
一些实现方式中,用于授权加锁的授权锁包括以下一种或多种:使用授权锁授权加锁的应用的标识、授权锁的标识、以及授权类型;授权类型包括免费和收费。
一些实现方式中,授权锁对应的钥匙包括以下一种或多种:钥匙的标识、钥匙对应的授权锁的标识、使用钥匙对应的授权锁授权加锁的应用的标识。
可选地,第一应用是由第一应用的版权所有者采用第一授权锁进行授权加锁的;第二应用是由第二应用的版权所有者采用第二授权锁进行授权加锁的。
可选地,第一应用和第二应用的版权所有者相同或不同。
可选地,第一应用和第二应用的开发者相同或不同。
一些实现方式中,第二应用中包括第一信息,第一信息用于指示与第二应用关联的第一应用。
可选地,第一信息包括第一应用的标识;应用商店中的不同应用的标识不同。
一些实现方式中,第二应用还与从应用商店中下载的第三应用具有关联关系,能够调用第三应用以实现第三应用的功能;第三应用未被授权加锁。
第三方面,本申请提供一种电子设备,如电子设备可以是上述第一方面中所述的应用商店对应的硬件设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第一方面及第一方面的任意一种可能的实现方式所述的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第一方面及第一方面的任意一种可能的实现方式所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如第一方面及第一方面的任意一种可能的实现方式所述的方法。
第六方面,本申请提供一种应用授权管理方法,所述方法包括:发送授权请求,授权请求用于请求从应用商店中下载的第二应用的授权权限,第二应用与第一应用具有关联关系,第二应用能够调用第一应用以实现第一应用的功能。接收第一钥匙以及第二钥匙。
其中,第一应用具有第一授权锁,第一授权锁用于对从应用商店中下载的第一应用进行授权加锁,第一钥匙用于解除对第一应用的授权加锁。第二应用具有第二授权锁,第二授权锁用于对第二应用进行授权加锁,第二钥匙用于解除对第二应用的授权加锁。
一些实现方式中,第一应用包括第一标识,第一标识用于标识第一应用进行了授权加锁;第二应用包括第二标识,第二标识用于标识第二应用进行了授权加锁。
一些实现方式中,用于授权加锁的授权锁包括:授权字段,授权字段用于标识授权锁具有控制应用的授权时间的功能;授权锁对应的钥匙包括:钥匙的有效使用时间。
一些实现方式中,用于授权加锁的授权锁包括以下一种或多种:使用授权锁授权加锁的应用的标识、授权锁的标识、以及授权类型;授权类型包括免费和收费。
一些实现方式中,授权锁对应的钥匙包括以下一种或多种:钥匙的标识、钥匙对应的授权锁的标识、使用钥匙对应的授权锁授权加锁的应用的标识。
可选地,第一应用是由第一应用的版权所有者采用第一授权锁进行授权加锁的;第二应用是由第二应用的版权所有者采用第二授权锁进行授权加锁的。
可选地,第一应用和第二应用的版权所有者相同或不同。
可选地,第一应用和第二应用的开发者相同或不同。
一些实现方式中,第二应用中包括第一信息,第一信息用于指示与第二应用关联的第一应用。
可选地,第一信息包括第一应用的标识;应用商店中的不同应用的标识不同。
一些实现方式中,第二应用还与从应用商店中下载的第三应用具有关联关系,能够调用第三应用以实现第三应用的功能;第三应用未被授权加锁。
第七方面,本申请提供一种应用授权管理装置,所述装置包括:发送模块,用于发送授权请求,授权请求用于请求从应用商店中下载的第二应用的授权权限,第二应用与第一应用具有关联关系,第二应用能够调用第一应用以实现第一应用的功能。接收模块,用于接收第一钥匙以及第二钥匙。
其中,第一应用具有第一授权锁,第一授权锁用于对从应用商店中下载的第一应用进行授权加锁,第一钥匙用于解除对第一应用的授权加锁。第二应用具有第二授权锁,第二授权锁用于对第二应用进行授权加锁,第二钥匙 用于解除对第二应用的授权加锁。
一些实现方式中,第一应用包括第一标识,第一标识用于标识第一应用进行了授权加锁;第二应用包括第二标识,第二标识用于标识第二应用进行了授权加锁。
一些实现方式中,用于授权加锁的授权锁包括:授权字段,授权字段用于标识授权锁具有控制应用的授权时间的功能;授权锁对应的钥匙包括:钥匙的有效使用时间。
一些实现方式中,用于授权加锁的授权锁包括以下一种或多种:使用授权锁授权加锁的应用的标识、授权锁的标识、以及授权类型;授权类型包括免费和收费。
一些实现方式中,授权锁对应的钥匙包括以下一种或多种:钥匙的标识、钥匙对应的授权锁的标识、使用钥匙对应的授权锁授权加锁的应用的标识。
可选地,第一应用是由第一应用的版权所有者采用第一授权锁进行授权加锁的;第二应用是由第二应用的版权所有者采用第二授权锁进行授权加锁的。
可选地,第一应用和第二应用的版权所有者相同或不同。
可选地,第一应用和第二应用的开发者相同或不同。
一些实现方式中,第二应用中包括第一信息,第一信息用于指示与第二应用关联的第一应用。
可选地,第一信息包括第一应用的标识;应用商店中的不同应用的标识不同。
一些实现方式中,第二应用还与从应用商店中下载的第三应用具有关联关系,能够调用第三应用以实现第三应用的功能;第三应用未被授权加锁。
第八方面,本申请提供一种电子设备,包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
第九方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
第十方面,本申请提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
基于上述第一方面至第十方面中的任一方面,本申请至少具备如下有益效果:本申请中可以适用于个完整的应用包含多个子应用的场景(或称为一个完整的应用与多个子应用进行关联的场景)。对于某个第二应用而言,第二应用与第一应用具有关联关系,能够调用所述第一应用以实现所述第一应用的功能,则第一应用可以认为是第二应用的子应用。本申请可以实现分别对第二应用和第一应用进行授权。第二应用和第一应用分别具有授权锁,如第一应用具有第一授权锁,第二应用具有第二授权锁。当用户请求获取第二应用的授权权限时,应用商店可以将第二应用的授权钥匙(如第二钥匙)与第一应用的授权钥匙(如第一钥匙)一并打包下发给用户设备,实现对第一应用和第二应用共同进行授权。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1为本申请实施例提供的应用授权管理方法的流程示意图;
图2为本申请实施例提供的一种应用的预定义的组成示意图;
图3为本申请实施例提供的应用授权管理方法的另一流程示意图;
图4为本申请实施例提供的应用授权管理方法的又一流程示意图;
图5为本申请实施例提供的模型和预定义的关系示意图;
图6为本申请实施例提供的数据模型的示意图;
图7为本申请实施例提供的第二应用的APP模型的组成示意图;
图8为本申请实施例提供的一种应用管理系统的组成示意图;
图9为本申请实施例提供的一种应用管理系统的另一组成示意图;
图10为本申请实施例提供的成品APP和零件APP的钥匙和授权锁的传输流程示意图;
图11为本申请实施例提供的应用授权管理装置的结构示意图;
图12为本申请实施例提供的应用授权管理装置的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第 一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
应用程序(application,APP)也称应用,是指为完成某项或多项特定工作的计算机程序,可以运行在用户模式和用户进行交互,可以具有可视的用户界面。
应用的开发者可以将开发好的应用上架到应用商店中,需要使用APP的用户可以从应用商店中下载应用。其中,应用商店可以在服务器、计算机等硬件设备上实现,也可以为用户提供一个可以交互的应用商店界面,供用户下载需要的应用。
例如,在工业相关场景中,可以基于服务器、计算机等硬件设备构建一个工业互联网平台,该工业互联网平台即前述应用商店。应用的开发者可以将开发好的应用上架到工业互联网平台中,需要使用应用的用户可以从工业互联网平台中下载使用应用。
目前,应用的开发者在开发应用时,可以为应用添加授权锁,对应用进行授权加锁。该授权锁一般是指在应用的程序内部植入的授权加密策略。用户在使用应用时,需要先从应用商店购买应用的授权钥匙。该授权钥匙可以用于对应用的程序内部所植入的授权加密策略进行授权解锁。应用在检测到授权钥匙后,才可以正常运行,供用户使用。
但是,目前的应用授权加锁方式均是在整个应用的层面对应用进行授权加锁,一个完整的应用一般只有一个授权锁。部分场景中,一个完整的应用可能包含多个子应用,针对这种场景,现有的应用授权管理方式并不适用,无法实现对完整的应用及其中的每个子应用进行授权加锁。
另外,由于目前的授权锁一般是指在应用的程序内部植入的授权加密策略,所以在应用已经上架到应用商店后,应用的开发者也不便在对授权加密策略进行调整。如果要对授权加密策略进行调整,可能会影响到应用的业务逻辑,需要重新上架应用。
基于此,本申请实施例提供了一种应用授权管理方法,该方法可以适用于个完整的应用包含多个子应用的场景(或称为一个完整的应用与多个子应用进行关联的场景)。例如,对于某个第二应用而言,第二应用与第一应用具有关联关系,能够调用所述第一应用以实现所述第一应用的功能,则第一应用可以认为是第二应用的子应用。该方法可以实现分别对第二应用和第一 应用进行授权。第二应用和第一应用分别具有授权锁,如第一应用具有第一授权锁,第二应用具有第二授权锁。当用户请求获取第二应用的授权权限时,应用商店可以将第二应用的授权钥匙(如第二钥匙)与第一应用的授权钥匙(如第一钥匙)一并打包下发给用户设备,实现对第一应用和第二应用共同进行授权加锁。
另外,本申请实施例提供的应用授权管理方法中,每个应用的授权锁是独立在应用的程序之外的,并不是在应用的程序内部植入的授权加密策略。在应用已经上架到应用商店后,应用的授权锁还可以被进行调整(如取消或改变等)。在调整授权锁时,并不会影响到应用的业务逻辑,可以保证应用的功能稳定性。
示例性地,该方法具体可以在应用商店对应的硬件设备上实现,如:硬件设备可以包括服务器、计算机等。其中,服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请对应用商店对应的硬件设备的具体实现方式不作限制。需要说明的是,本申请实施例中涉及到的应用商店侧实现步骤,均可以是由应用商店对应的硬件设备来实现。
图1为本申请实施例提供的应用授权管理方法的流程示意图。如图1所示,该应用授权管理方法可以包括:
S101、接收授权请求,授权请求用于请求从应用商店中下载的第二应用的授权权限。
第二应用与第一应用具有关联关系,第二应用能够调用第一应用以实现第一应用的功能。
S102、响应于授权请求,发送第一钥匙以及第二钥匙。
其中,第一应用具有第一授权锁,第一授权锁用于对从应用商店中下载的第一应用进行授权加锁,第一钥匙用于解除对第一应用的授权加锁;第二应用具有第二授权锁,第二授权锁用于对第二应用进行授权加锁,第二钥匙用于解除对第二应用的授权加锁。
例如,应用商店至少可以包括第一应用和第二应用。第二应用能够调用第一应用以实现第一应用的功能。如,第一应用可以实现的功能为第一功能,则第二应用中不包括用于实现第一功能的代码,也可以通过调用第一应用的方式实现第一功能。第一应用和第二应用之间可以建立关联关系,用户可以使用用户设备(如手机、电脑等)向应用商店发送下载第二应用的请求。应用商店可以响应于该请求,向用户设备下发第二应用,同时,由于第二应用 和第一应用之间建立了关联关系,所以应用商店可以基于该关联关系一并向用户设备下发第一应用。当用户设备运行下载后的第二应用时,第二应用可以调用下载的第一应用实现第一应用的功能。
在本申请中,第一应用可以认为是第二应用的子应用,但第一应用的代码又是独立在第二应用之外的。在应用商店中,第二应用和第一应用是分散独立存储的。这种分散独立存储的关系可以有效节省应用所占据的应用商店的存储资源。
用户设备从应用商店下载第二应用之后,当用户设备需要运行(非试运行)第二应用时,可以向应用商店发送授权请求以获取第二应用的授权权限。即S101中应用商店可以接收来自用户设备的授权请求,授权请求用于请求从应用商店中下载的第二应用的授权权限。
可选地,授权请求可以包含第二应用的标识,第二应用的标识用于指示授权请求用于请求从应用商店中下载的第二应用的授权权限。
如上所述,当第二应用被下载时,应用商店能够将第二应用和第一应用一并进行下发。第一应用具有第一授权锁,第二应用具有第二授权锁。例如,应用商店下发第一应用相关的信息中可以包括第一应用的程序以及第一授权锁,应用商店下发第二应用相关的信息中可以包括第二应用的程序以及第二授权锁。S102中,应用商店可以响应于授权请求,向用户设备发送第一钥匙以及第二钥匙,即将第一应用的授权钥匙与第二应用的授权钥匙一并下发。
当用户设备接收到第一钥匙以及第二钥匙后,在运行第二应用时,第二应用可以检测到第二授权锁和第二钥匙而正常创建运行实例。第二应用可以调用第一应用以实现第一应用的功能,第一应用可以检测到第一授权锁和第一钥匙而正常创建运行实例。
可以看到,本申请实施例提供的应用授权管理方法可以实现分别对第二应用和第一应用进行授权。当用户请求获取第二应用的授权权限时,应用商店可以将第二应用的授权钥匙(如第二钥匙)与第一应用的授权钥匙(如第一钥匙)一并打包下发给用户设备,实现对第一应用和第二应用共同进行授权。
可选地,对第一应用和第二应用而言,每个应用的授权锁是独立在应用的程序之外的,并不是在应用的程序内部植入的授权加密策略。在应用已经上架到应用商店后,应用的授权锁还可以被进行调整(如取消或改变等)。在调整授权锁时,并不会影响到应用的业务逻辑,可以保证应用的功能稳定性。
一些实现方式中,第一应用包括第一标识,第一标识用于标识第一应用进行了授权加锁;第二应用包括第二标识,第二标识用于标识第二应用进行了授权加锁。
示例性地,第一应用的预定义上可以有一个字段来标记第一应用是否进行了授权加锁,该字段即第一标识。第二应用的预定义上也可以有一个字段来标记第二应用是否进行了授权加锁,该字段即第二标识。用户设备在运行第二应用时,可以基于第二标识来判断是否需要向应用商店发送授权请求,以获取第二应用的授权权限。如用户设备在检测到第二标识时,可以向用户展示提示信息,提示用户进行获取第二应用的授权权限的操作,用户设备可以响应于该操作向应用商店发送授权请求。应用商店接收到授权请求后,可以分别基于第二标识和第一标识,确定需要向用户设备返回的第二授权锁和第二钥匙,以及第一授权锁和第一钥匙。如果第一应用没有第一标识,则表示第一应用没有进行授权加锁,应用商店不需要向用户设备发送第一授权锁和第一钥匙。
例如,图2为本申请实施例提供的一种应用的预定义的组成示意图。该应用可以是第一应用或第二应用。以图2所示的为第一应用的预定义为例,如图2所示,第一应用的预定义可以包括:名称、描述、GUID、模型GUID+版本、加锁状态等字段,其中字段“加锁状态”即第一标识,表示第一应用进行了授权加锁。
其中,名称、描述、GUID、模型GUID+版本等字段的含义将在下文的实施例中详细介绍。
第二应用的预定义与第一应用的预定义类似,不再赘述。
一些实现方式中,用于授权加锁的授权锁(如第一授权锁、第二授权锁)包括:授权字段,授权字段用于标识授权锁具有控制应用的授权时间的功能;授权锁对应的钥匙包括:钥匙的有效使用时间。
以第一授权锁为例,第一授权锁中可以包括第一授权字段,第一授权字段用于标识第一授权锁具有控制应用的授权时间的功能。第一授权锁对应的第一钥匙包括:第一钥匙的有效使用时间。假设第一钥匙的有效使用时间为一个月,则表示第一授权锁和第一钥匙可以对第一应用进行一个月的有效授权,在一个月后,第一钥匙失效,第一应用无法再创建运行实例。
一些实现方式中,用于授权加锁的授权锁包括以下一种或多种:使用授权锁授权加锁的应用的标识、授权锁的标识、以及授权类型;授权类型包括免费和收费。授权锁对应的钥匙包括以下一种或多种:钥匙的标识、钥匙对 应的授权锁的标识、使用钥匙对应的授权锁授权加锁的应用的标识。
以第一授权锁为例,第一授权锁可以包括使用第一授权锁授权加锁的第一应用的标识(如第一应用的预定义的标识)、第一授权锁的标识(如授权锁ID)、授权类型(如免费或收费)等。第一授权锁对应的第一钥匙可以包括:第一钥匙的标识、第一钥匙对应的第一授权锁的标识、使用第一钥匙对应的第一授权锁授权加锁的第一应用的标识等。
可选地,一个授权锁可以产生多把授权钥匙,在此不作限制。
可选地,本申请实施例中,第一应用和第二应用的版权所有者可以相同或不同,第一应用和第二应用的开发者也可以相同或不同。
例如,第一应用的开发者为开发组织1,第二应用的开发者为开发组织2,但第一应用和第二应用版权所有者均为单位A。或者,第一应用的开发者为开发组织1、版权所有者为单位A,第二应用的开发者为开发组织2、版权所有者均为单位B。又或者,第一应用的版权所有者为单位A,第二应用的版权所有者均为单位B,但第一应用和第二应用开发者均为开发组织1。
可选地,本申请实施例中,第一应用和第二应用可以是由各自的版权所有者上架到应用商店的,也可以是由各自的开发者上架到应用商店的,在此不作限制。
一些实现方式中,第一应用是由第一应用的版权所有者采用第一授权锁进行授权加锁的;第二应用是由第二应用的版权所有者采用第二授权锁进行授权加锁的。例如。第一应用是由单位A采用第一授权锁进行授权加锁的;第二应用是由单位B采用第二授权锁进行授权加锁的。
可选地,应用商店中可以包括每个应用对应的开发者的信息和版权所有者的信息,如:开发者的团队名称,版权所有者的单位名称、地址等。
一些实现方式中,第二应用还与从应用商店中下载的第三应用具有关联关系,能够调用第三应用以实现第三应用的功能;当第三应用未被授权加锁,响应于授权请求,发送第一钥匙以及第二钥匙;当第三应用被授权加锁,响应于授权请求,发送第一钥匙、第二钥匙以及第三钥匙,第三钥匙用于解除对第三应用的授权加锁。例如,第三应用的授权锁可以时第三授权锁。
以上实施例从应用商店的角度介绍了本申请实施例提供的应用授权管理方法。对应于前述实施例,本申请实施例还提供了一种应用授权管理方法,可以应用于用户设备。
示例性地,图3为本申请实施例提供的应用授权管理方法的另一流程示意图。如图3所示,该应用授权管理方法可以包括:
S301、发送授权请求,授权请求用于请求从应用商店中下载的第二应用的授权权限。
第二应用与第一应用具有关联关系,第二应用能够调用第一应用以实现第一应用的功能。
S302、接收第一钥匙以及第二钥匙。
其中,第一应用具有第一授权锁,第一授权锁用于对从应用商店中下载的第一应用进行授权加锁,第一钥匙用于解除对第一应用的授权加锁。第二应用具有第二授权锁,第二授权锁用于对第二应用进行授权加锁,第二钥匙用于解除对第二应用的授权加锁。
该应用于用户设备的应用授权管理方法与前述实施例提供的应用于应用商店的应用授权管理方法完全对应,具体可以参考前述实施例中所述,不再详细描述。
结合图1和图3所示的实施例可以看到,本申请中,应用授权管理的过程实际上会涉及到用户设备和应用商店进行交互的逻辑,基于此,本申请实施例还可以从用户设备与应用商店进行交互的角度给出该应用授权管理的实现。
例如,图4为本申请实施例提供的应用授权管理方法的又一流程示意图。如图4所示,该应用授权管理方法可以包括:
S401、用户设备向应用商店发送授权请求。
授权请求用于请求从应用商店中下载的第二应用的授权权限。
相应地,应用商店接收授权请求。
S402、应用商店向用户设备发送第一钥匙以及第二钥匙。
相应地,用户设备接收第一钥匙以及第二钥匙。
同样的,图4所示的实施例的具体实现可以参考图1所示的实施例中所述,不再赘述。
下面对上述实施例中第一应用和第二应用之间的关联关系的实现进行示例性说明。
一些实现方式中,第二应用中可以包括第一信息,第一信息用于指示与第二应用关联的第一应用。应用商店建立第一应用和第二应用的关联关系,可以包括:基于第二应用中包括的第一信息,建立第一应用和第二应用的关联关系;或者,将第二应用中包括的第一信息作为第一应用和第二应用的关联关系。
可选地,第二应用的开发者在开发第二应用时,可以在第二应用中增加 第一应用的标识,或者,增加能够指示第一应用的一些字段。第一应用的标识或者能够指示第一应用的字段即为上述第一信息。也即,第一信息可以包括:第一应用的标识或能够指示第一应用的一些字段。
本申请中,应用商店中的不同应用的标识不同。也即,应用商店中的不同应用具有唯一标识。
一种实现方式中,第一应用和第二应用的开发者相同,开发者可以在本地开发完成第一应用,并根据第一应用开发生成第二应用,然后将第一应用和第二应用上架到应用商店中。
另一种实现方式中,第一应用和第二应用的开发者不同,应用商店可以包括第一应用,开发者可以在从应用商店中获取第一应用,并根据第一应用开发生成第二应用,然后将第二应用上架到应用商店中。
下面以开发者从应用商店中获取第一应用,并根据第一应用开发生成第二应用的方式进行示例性说明。
例如,开发侧的设备可以向应用商店发送下载第一应用的请求。其中,开发侧的设备可以包括开发者所使用的服务器、计算机等。应用商店可以响应于下载第一应用的请求,向开发侧的设备发送第一应用。下载第一应用的请求中可以包括第一应用的标识,应用商店可以基于第一应用的标识找到存储的第一应用下发给开发侧的设备。此时,开发侧的设备可以从应用商店中获取到第一应用。开发人员可以根据第一应用生成第二应用。例如,开发者可以开发第二应用,并在第二应用中添加能够调用第一应用的接口,以使得第二应用能够调用第一应用以实现第一应用的功能。开发完成第二应用后,开发侧的设备可以将第二应用上架到应用商店中。
示例性地,根据第一应用生成第二应用的过程可以如下:
1)创建第二应用的APP模型,并为第二应用的APP模型分配唯一标识(如全球唯一标识)。例如,第二应用的开发者可以在开发工作室中创建第二应用的APP模型。
2)定义第二应用的APP模型依赖的数据模型,发布第二应用的APP模型依赖的数据模型的数据预定义(简称第二应用的数据预定义)到第二应用的系统仓库中,并为第二应用的数据预定义分配唯一标识(如全球唯一标识);其中,第二应用的系统仓库也即开发第二应用的开发者所使用的系统仓库,第二应用的系统仓库与第二应用的开发者的开发工作室可以通过网络连接。
模型是在建模抽象时描述对象结构的信息,预定义是确定了结构的模型并配置有参数的信息。预定义上记录了模型的信息,预定义用来实例化对象, 实例化对象是按照其模型的结构构建对象的结构,并把参数值作为对象的初始值。预定义也能被其他模型引用为子预定义。
例如,创建数据模型时,操作可以包括:新建模型,分配名字和标识;添加成员,指定成员类型;删除成员;添加或删除子预定义;设置子预定义的初值;更新模型版本;发布某模型版本生成预定义等。创建预定义时,操作可以包括:指定某模型版本发布(创建)预定义;分配名称和标识;设置预定义的参数值(属性和成员)等。
图5为本申请实施例提供的模型和预定义的关系示意图。如图5所示,模型可以包括基本属性和成员列表;基本属性可以包括名称、描述、全局唯一标识符(globally unique identifier,GUID)、版本等信息;成员列表可以包括:“成员1:名称+类型”、“成员2:名称+类型”、“成员3:名称+类型”等信息。预定义可以包括基本属性和成员列表;基本属性可以包括名称、描述、GUID、模型GUID+版本等信息;成员列表可以包括:“成员1+值”、“成员2+值”、“成员3+值”等信息。
步骤2)中所述的数据模型是时空数据库中的概念,描述了时空库中数据对象的结构,是客观世界对象的抽象描述。
示例性地,图6为本申请实施例提供的数据模型的示意图。如图6所示,数据模型可以包括:基本属性、成员列表、以及子模型列表。具有子模型的数据模型是复合的数据模型,如:图中的数据模型A为复合的数据模型,数据模型B和数据模型C是数据模型A的子模型。
数据模型中,基本属性描述了数据的固有属性,包括名称、描述、GUID、时间属性(如精度)、空间属性(如坐标系、几何形状)等;成员列表描述了自由定义的字段,每个成员描述其字段名称、数据类型,如:成员1、成员2等。子模型列表中记录了引用为子模型的数据模型的数据预定义的标识,建立了子模型和数据模型之间的依赖关系,例如,数据模型A的子模型列表包括数据模型B和数据模型C的数据预定义的标识,如:“名称B1+引用模型ID+参数值”、“名称B2+引用模型ID+参数值”、“名称C3+引用模型ID+参数值”等。
3)定义第二应用的APP模型依赖的资源对象(简称第二应用的资源对象)到资源库,并为第二应用的资源对象分配唯一标识(如全球唯一标识)。
其中,资源对象是时空数据库中的概念。把二进制文件数据进行对象化组织和管理,为每个资源对象分配标识,第二应用的APP模型能够通过资源对象的标识访问资源对象的数据。例如,把图标定义为资源对象和第二应用 的APP模型之间形成依赖关系,则第二应用的APP模型可以使用这个图标。又例如,把视频文件定义为资源对象和第二应用的APP模型之间形成依赖关系,则第二应用的APP模型可以通过依赖关系读取视频文件进行播放。
4)在第二应用的APP模型上建立第二应用的依赖数据预定义列表,从第二应用的系统仓库中选择第二应用的数据预定义,将第二应用的数据预定义的标识记录在第二应用的依赖数据预定义列表上。其中,第二应用的系统仓库中的数据预定义可以是开发者自建的,也可以是从应用商店上购买的。
5)在第二应用的APP模型上建立第二应用的依赖资源列表,从资源库中选择第二应用的资源对象,把第二应用的资源对象的标识记录在第二应用的依赖资源列表上。其中,资源库中的资源对象可以是开发者自建的,也可以是从应用商店上购买的。
6)添加第二应用的APP模型的子APP列表,从第二应用的系统仓库中选择作为子APP的第一应用的预定义,将第一应用的预定义的标识记录在第二应用的APP模型的子APP列表上。第一应用的预定义即S201-S202中从应用商店获取的第一应用。第一应用的预定义的标识即前述实施例中所述的第一应用的标识。第一应用的预定义可以由第一应用的版权所有者或者开发者上传到应用商店中。
7)编写第二应用的APP模型的功能函数的程序逻辑。
8)发布第二应用的APP模型的预定义(简称第二应用的预定义)到第二应用的系统仓库中,并为第二应用的预定义分配唯一标识(如全球唯一标识)。第二应用的预定义的标识即第二应用的标识。其中,发布第二应用的预定义时,还可以设置预定义的参数值(如:属性和成员)。
示例性地,图7为本申请实施例提供的第二应用的APP模型的组成示意图。如图7所示,第二应用的APP模型可以包括:基本属性、依赖数据列表、功能函数列表、以及子APP列表。基本属性可以包括:名称、描述、以及GUID(即第二应用的APP模型的唯一标识)。依赖数据列表记录了第二应用的APP模型需要使用的数据模型或资源对象,在第二应用的APP模型,以及依赖的数据模型或资源对象之间建立了关系。例如,“数据1:数据ID”、“数据2:数据ID”等表示依赖的数据模型的数据预定义的标识或资源对象的标识。依赖数据列表可以包括上述依赖数据预定义列表和/或上述依赖资源列表。功能函数列表可以包括:函数1、函数2等第二应用的APP模型的功能函数,这些功能函数是第二应用的APP模型的程序逻辑的实现。子APP列表中记录了第一应用的信息,在第二应用的APP模型和第一应用之间建立的关联关系。例 如,子APP列表可以包括子APP-B1、APP-C2、APP-D3等第一应用的标识和配置参数。也即,APP模型B、APP模型C、以及APP模型D等可以是上述第一应用。
通过上述步骤1)-步骤8)所述的过程,即可实现S203中根据第一应用生成第二应用。
可以理解的,第一应用的开发过程与第二应用的开发过程类似。其区别仅仅在于,当第一应用不包括更深层级的子APP(即第一应用没有调用其他应用实现其他应用的功能)时,第一应用的开发过程中不包括类似于上述步骤6)中所述的过程。当第一应用还包括更深层级的子APP(即第一应用调用其他应用实现其他应用的功能)时,第一应用的开发过程中与上述步骤1)-步骤8)所述的过程一致。在此对第一应用的开发过程不再赘述。
需要说明的是,第二应用和第一应用可能存在依赖同一数据预定义或资源对象的情况,因为依赖关系是在第二应用和第一应用各自开发时建立的,也就是说,第二应用和第一应用的依赖数据列表中可能记录同一数据预定义或资源对象的标识。
示例性地,以第二应用是由第二应用的版权所有者上架到应用商店为例,第二应用的版权所有者将第二应用上架到应用商店的过程如下:
1)第二应用的版权所有者在应用商店中创建将第二应用的APP商品,第二应用的APP商品包括第二应用的预定义的标识。
其中,APP商品是指应用商店中为APP的预定义建立的对应的信息,主要描述APP的预定义的商品化信息。例如,第二应用的APP商品中还可以包括第二应用的图案(logo)、视频、商品定价、产品名称、产品说明等。
2)应用商店根据第二应用的版权所有者在应用商店中的注册账户(或者第二应用的版权所有者的系统产品码),确定第二应用的APP商品对应的第二应用的预定义所归属的第二应用的系统仓库。也即,应用商店可以根据第二应用的版权所有者在应用商店中的注册账户,确定第二应用的APP商品对应的第二应用的预定义来自哪个系统仓库。
3)应用商店根据第二应用的APP商品中包括的第二应用的预定义的标识,向第二应用的系统仓库请求上架第二应用的预定义。
4)第二应用的系统仓库响应于来自应用商店的上架第二应用的预定义的请求,执行下述步骤(4.1)至步骤(4.2):(4.1)第二应用的系统仓库向应用商店上传第二应用的预定义,第二应用的预定义可以包括第二应用的APP模型和配置参数。(4.2)第二应用的系统仓库根据第二应用的依赖数据预定 义列表和依赖资源列表,向应用商店上传第二应用的数据预定义和资源对象。
通过上述步骤1)-步骤4)所述的过程,即可实现将第二应用上架到应用商店。
需要说明的是,上述步骤4)中,当第二应用还关联了其他本地的子APP(不是从应用商店获取的子APP)时,第二应用的系统仓库还可以向应用商店上传第二应用关联的本地的子APP的预定义,以及根据本地的子APP的依赖数据预定义列表和依赖资源列表,向应用商店上传本地的子APP的数据预定义和资源对象。对于第一应用而言,由于应用商店中已经存在第一应用相关的数据,则第二应用的系统仓库无需再向应用商店上传第一应用相关的数据,如:第一应用的预定义、第一应用的数据预定义和资源对象等。从而,应用商店中仅包括一份第一应用相关的数据,实现了前述实施例中所述的节省应用商店的存储资源的效果。
可选地,在本申请中,第二应用可以称为成品APP,第二应用的子APP(如第一应用)可以称为零件APP。成品APP可以是能够独立运行的程序。零件APP可以是能够独立运行的APP程序,也可以是不独立运行的程序。零件APP能够作为一个或多个成品APP的子APP,实现被成品APP调用以实现零件APP的功能。
可以理解的,零件APP和成品APP是个相对概念,作为子APP的应用都可以认称为零件APP。例如,存在一个第四应用可以调用第二应用实现第二应用的功能时,第四应用是成品APP,第二应用是零件APP。
下面以一个具体的示例,对本申请实施例提供的应用授权管理方法进行更进一步的说明。
图8为本申请实施例提供的一种应用管理系统的组成示意图。如图8所示,开发系统仓库1、开发系统仓库2、应用商店、以及消费者仓库可以组成应用管理系统。
开发系统仓库1可以是用于开发零件APP(如上述第一应用)的系统仓库。零件APP的开发者可以在开发系统仓库1中开发完成零件APP,并将零件APP上架到应用商店中。其中,零件APP可以包括依赖数据预定义列表和依赖资源列表。依赖数据预定义列表建立了零件APP与数据模型4(预定义)和数据模型5(预定义)的依赖关系。依赖资源列表建立了零件APP与资源数据4的依赖关系。
开发系统仓库2可以是用于开发成品APP(如上述第二应用)的系统仓库。成品APP的开发者可以从应用商店中下载零件APP到开发系统仓库2中,并 根据零件APP在开发系统仓库2中开发完成成品APP,并将成品APP上架到应用商店中。其中,成品APP可以包括依赖数据预定义列表和依赖资源列表。依赖数据预定义列表建立了成品APP与数据模型1(预定义)、数据模型2(预定义)、以及数据模型3(预定义)的依赖关系。依赖资源列表建立了成品APP与资源数据1、资源数据2、以及资源数据3的依赖关系。成品APP和零件APP建立了关联关系,能够调用零件APP实现零件APP的功能。
消费者仓库可以是消费使用第二应用的消费者(用户)侧的仓库。消费者可以使用用户设备从应用商店中下载成品APP到消费者仓库。当消费者使用用户设备从应用商店中下载成品APP时,应用商店可以将成品APP和零件APP一并下发到消费者仓库。
示例性地,消费者从应用商店中下载成品APP的过程可以包括:1)消费者通过用户设备在应用商店提供的交互界面中执行下载成品APP的指令,触发用户设备向应用商店发送下载成品APP的请求,下载成品APP的请求可以指定成品APP的名称(如包括成品APP的标识)。2)应用商店根据下载成品APP的请求指定的成品APP的名称,将成品APP的预定义下发到消费者仓库中。3)应用商店根据成品APP的预定义的依赖数据预定义列表和依赖资源列表找到成品APP依赖的数据预定义和资源数据下发到消费者仓库中。4)应用商店根据成品APP中包括的零件APP的标识(如查询成品APP的子APP列表),将零件APP的预定义下发到消费者仓库中。5)应用商店根据零件APP的预定义的依赖数据预定义列表和依赖资源列表找到零件APP依赖的数据预定义和资源数据下发到消费者仓库中。
可选地,上述开发系统仓库(开发系统仓库1和开发系统仓库2)可以是APP开发系统的一部分,APP开发系统还可以包括开发者工作室。开发者工作室是指开发者编辑APP模型的系统,能够创建、编辑、发布等APP模型管理操作。开发系统仓库是存放开发者开发完成的APP模型发布成APP预定义的系统。
可选地,消费者仓库可以是消费者应用系统的一部分,消费者应用系统还可以包括APP运行环境和APP运维系统。消费者应用系统是指一个独立的生产企业的业务应用系统,生产企业在系统上完成业务活动,并负责维护业务应用系统。消费者仓库是存放消费者购买的APP预定义的系统。APP运维系统是消费者运维APP的系统。APP运行环境是运行APP的环境系统。
成品APP和零件APP下载到消费者仓库后,成品APP预定义可以创建APP运行实例,并指定运行环境(计算机节点)、分配计算机资源(如中央处理 器(central processing unit,CPU)、内存、网络带宽等)。APP运行实例上面带有APP的预定义的标识。APP运维系统可以根据APP运行实例上的APP的预定义的标识,把APP的预定义的APP模型(APP的预定义上携带了APP模型的标识)的功能逻辑部署到指定的计算机节点。APP运维系统、消费者仓库、APP运行环境之间通过网络通信完成APP程序文件的部署过程。完成部署之后,可以启动APP实例的运行,开始执行APP实例的功能函数逻辑。
可选地,应用商店可以包括一个由店铺系统和交易系统组成的商店系统。该商店系统可以作为应用商店的运营商运营的商品交易流通系统。APP软件开发企业(即开发者)和生产企业(即消费者)可以通过商店系统完成APP的交易和共享。其中,店铺系统可以包括一个或多个店铺,用于存放上架的APP商品,负责APP的上架、下载、授权钥匙分发等。交易系统可以实现订单管理、支付管理等功能。
本申请中,成品APP的开发者和零件APP的开发者之间可以实现协同开发,能够有效提升成品APP的开发效率。零件APP能够被一个或多个成品APP调用以实现零件APP的功能,可以实现零件APP能够在不同开发组织之间的复用。通过应用商店,零件APP能够被更多的开发组织采用,零件APP的价值被放大,零件APP开发者的价值也被放大,可以提升APP开发者的积极性。
以工业APP的场景为例,通过这种合作模式,众多的工业APP开发者能够分工协作,复杂的工业APP由单个开发者开发转变为众多开发者协作开发,工业APP的产出效率会提升。
另外,成品APP和零件APP在应用商店中分散存储,可以保证不出现冗余数据,节省APP所占据的应用商店的存储资源。
图9为本申请实施例提供的一种应用管理系统的另一组成示意图。如图9所示,对于图8所示的应用管理系统,开发系统仓库1可以包括开发组织仓库1和工作室1,开发系统仓库2可以包括开发组织仓库2和工作室2,消费者仓库可以包括应用系统仓库、APP运行系统、以及APP运行系统(即APP运行环境)。
零件APP开发者可以在工作室1开发零件APP,并将零件APP提交至开发组织仓库1。零件APP版权所有者可以决定是否对开发组织仓库1中的零件APP授权加锁,以及将开发组织仓库1中的零件APP上架到应用商店中。其中,授权加锁过程和零件APP开发过程无关,零件APP开发者无法对零件APP进行授权加锁。
零件APP版权所有者对零件APP授权加锁可以是指:在零件APP的预定 义上设置加锁状态,即修改零件APP的预定义的授权保护状态为加锁状态,同时在开发组织仓库1中创建了零件APP的预定义的授权锁。零件APP版权所有者上架零件APP时,零件APP的预定义可以从开发组织仓库1上传到应用商店的店铺中(具体可以参考前述实施例所述)。
成品APP版权所有者可以下载零件APP到开发组织仓库2,如果零件APP为授权加锁状态(值为ture),表示零件APP的预定义带有授权锁,应用商店会把零件APP和授权锁一同下载到开发组织仓库2。
成品APP开发者可以在工作室2组装零件APP,开发完成成品APP(具体参见前述实施例所述),完成开发后提交成品APP到开发组织仓库2。成品APP版权所有者可以决定是否对开发组织仓库2中的成品APP授权加锁,以及将开发组织仓库2中的成品APP上架到应用商店中。成品APP版权所有者对成品APP授权加锁的过程与零件APP版权所有者对零件APP授权加锁的过程相同或相似,不再赘述。成品APP版权所有者上架成品APP时,成品APP的预定义可以从开发组织仓库2上传到应用商店的店铺中(具体可以参考前述实施例所述)。
消费者可以使用用户设备从应用商店下载成品APP,如前文所述,成品APP被下载时,成品APP和零件APP被一同下发,如应用商店可以向应用系统仓库(也称消费者仓库)下发成品APP和零件APP。下载的成品APP和零件APP可以被部署到APP运维系统。成品APP和零件APP可以各自具有对应的授权锁。当消费者需要获取成品APP的授权权限时,可以通过用户设备从应用商店购买成品APP(如发送授权请求)。响应于授权请求,应用商店可以向应用系统仓库下发成品APP和零件APP的授权钥匙(简称钥匙),成品APP的授权钥匙用于解除对成品APP的授权加锁,零件APP的授权钥匙用于解除对零件APP的授权加锁。
一种实现方式中,成品APP和零件APP的钥匙和授权锁可以分别存储在各自的开发组织仓库,应用商店可以从各自的开发组织仓库拷贝钥匙和授权锁并下发。例如,应用商店可以从开发组织仓库1拷贝零件APP的钥匙和授权锁、以及从开发组织仓库2拷贝成品APP的钥匙和授权锁,并下发到消费者的应用系统仓库。
另一种实现方式中,成品APP和零件APP的钥匙和授权锁可以预先上传到应用商店中,例如,零件APP的钥匙和授权锁可以和零件APP一起上传到应用商店中,成品APP的钥匙和授权锁可以和成品APP一起上传到应用商店中。
例如,图10为本申请实施例提供的成品APP和零件APP的钥匙和授权锁的传输流程示意图。如图10所示,成品APP的钥匙和授权锁可以从开发者组织仓库2上架到应用商店中,零件APP的钥匙和授权锁可以从开发者组织仓库1上架到应用商店中。应用商店中存放了所有的成品APP的和零件APP的的预定义、授权锁、钥匙。应用商店可以响应于授权请求,将成品APP的和零件APP的的授权锁和钥匙下发至消费者仓库。
上面任意一种实现方式中,应用商店在接收到授权请求后,获取成品APP和零件APP的钥匙的过程可以包括:根据授权请求中包含的成品APP的标识确定成品APP,根据成品APP中包含的第一信息确定第一信息对应的零件APP(如第一信息可以是零件APP的标识);根据成品APP的标识确定成品APP的授权锁(如成品APP的授权锁中包含成品APP的标识)、以及根据零件APP的标识确定零件APP的授权锁(如零件APP的授权锁中包含零件APP的标识);根据成品APP的标识确定成品APP的钥匙(如成品APP的钥匙中包含成品APP的标识)、以及根据零件APP的标识确定零件APP的钥匙(如零件APP的钥匙中包含零件APP的标识),或者,根据成品APP的授权锁的标识确定成品APP的钥匙(如成品APP的钥匙中包含成品APP的授权锁的标识)、以及根据零件APP的授权锁的标识确定零件APP的钥匙(如零件APP的钥匙中包含零件APP的授权锁的标识)。
消费者购买完成品APP后,可以创建APP运行实例,需要指定运行环境(计算机节点)、分配计算机资源(CPU、内存、网络带宽),一个运行实例对应一个APP的拷贝。运维系统首先到应用系统仓库中检测成品APP和零件APP的预定义是否进行了授权保护(通过授权加锁状态判断),如果有授权保护,到应用系统仓库中检测是否有成品APP和零件APP的预定义的空余的授权钥匙拷贝,如果有空余的授权钥匙拷贝,则允许创建成品APP和零件APP的的运行实例,如果没有授权钥匙拷贝则无法创建成品APP和零件APP的运行实例。APP运行实例创建成功后会占用一个钥匙拷贝。APP运维系统会定时检测APP运行实例占用的授权钥匙拷贝状态,如果授权钥匙拷贝过期了,则会停止APP实例运行。如果APP运行实例被删除,其占用的授权拷贝被释放。APP运行实例授权状态对其子APP运行实例的授权状态有影响,APP运行实例授权过期停止运行,子APP也会停止运行(不管子App的授权状态如何)。
可以看到,本申请实施例中,APP开发者在APP逻辑中不处理授权,开发者提交的APP不带授权锁,而是由APP版权所有者对APP加授权锁。APP开发时在程序内部不植入授权加密策略,只处理业务功能。版权所有者在上架时 为APP授权加密,可以方便开发组织调整加密策略而不影响APP的业务逻辑,保持APP功能的稳定性。
APP授权锁的授权钥匙可以由APP版权所有者制作,应用商店不直接制作授权钥匙,通过APP版权所有者的店铺获取授权钥匙,授权钥匙发放多少由APP版权所有者决定,能够保护APP版权所有者的权限。
成品APP及其零件APP都带有授权控制。零件APP和成品APP单独授权控制,能够保护零件APP版权所有者的权益,提升零件APP开发者的积极性。消费者购买成品APP时,商店根据APP内部的构成,逐层分解,一次把成品APP及其后代所有零件APP的授权一次拿到,发放到消费者的仓库,减少为了保护开发者的利益而导致消费者购买授权的复杂性。
可以理解的,在实际实施时,本申请实施例所述的应用商店、用户设备等可以包含有用于实现前述对应的应用授权管理方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所申请的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
基于这样的理解,以应用商店包含的硬件结构和/或软件模块为例,本申请实施例还对应提供一种应用授权管理装置,可以应用于上述应用商店(如应用商店对应的硬件设备)。图11为本申请实施例提供的应用授权管理装置的结构示意图。如图11所示,该应用授权管理装置可以包括:接收模块1101,用于接收授权请求,授权请求用于请求从应用商店中下载的第二应用的授权权限;第二应用与第一应用具有关联关系,能够调用第一应用以实现第一应用的功能。发送模块1102,用于响应于授权请求,发送第一钥匙以及第二钥匙。其中,第一应用具有第一授权锁,第一授权锁用于对从应用商店中下载的第一应用进行授权加锁,第一钥匙用于解除对第一应用的授权加锁。第二应用具有第二授权锁,第二授权锁用于对第二应用进行授权加锁,第二钥匙用于解除对第二应用的授权加锁。
以用户设备包含的硬件结构和/或软件模块为例,本申请实施例还对应提供一种应用授权管理装置,可以应用于上述用户设备(如手机、计算机等)。图12为本申请实施例提供的应用授权管理装置的另一结构示意图。如图12所示,该应用授权管理装置可以包括:发送模块1201,用于发送授权请求, 授权请求用于请求从应用商店中下载的第二应用的授权权限。第二应用与第一应用具有关联关系,能够调用第一应用以实现第一应用的功能。接收模块1202,用于接收第一钥匙以及第二钥匙。其中,第一应用具有第一授权锁,第一授权锁用于对从应用商店中下载的第一应用进行授权加锁,第一钥匙用于解除对第一应用的授权加锁。第二应用具有第二授权锁,第二授权锁用于对第二应用进行授权加锁,第二钥匙用于解除对第二应用的授权加锁。
如上所述,本申请实施例可以根据上述方法示例对应用授权管理方法中涉及到的各执行主体进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
关于上述实施例中的应用授权管理装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
本申请实施例还提供一种电子设备,该电子设备可以是应用商店对应的硬件设备,或者上述用户设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如前述实施例所述的方法。
在示例性实施例中,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如前述实施例所述的方法。计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本申请实施例还提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如前述实施例所述的方法。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (24)

  1. 一种应用授权管理方法,其特征在于,所述方法包括:
    接收授权请求,所述授权请求用于请求从应用商店中下载的第二应用的授权权限,所述第二应用与第一应用具有关联关系,所述第二应用能够调用所述第一应用以实现所述第一应用的功能;
    响应于所述授权请求,发送第一钥匙以及第二钥匙;
    其中,所述第一应用具有第一授权锁,所述第一授权锁用于对所述第一应用进行授权加锁,所述第一钥匙用于解除对所述第一应用的授权加锁;所述第二应用具有第二授权锁,所述第二授权锁用于对所述第二应用进行授权加锁,所述第二钥匙用于解除对所述第二应用的授权加锁。
  2. 根据权利要求1所述的方法,其特征在于,所述第一应用包括第一标识,所述第一标识用于标识所述第一应用进行了授权加锁;
    所述第二应用包括第二标识,所述第二标识用于标识所述第二应用进行了授权加锁。
  3. 根据权利要求1所述的方法,其特征在于,用于授权加锁的授权锁包括:授权字段,所述授权字段用于标识所述授权锁具有控制应用的授权时间的功能;
    所述授权锁对应的钥匙包括:所述钥匙的有效使用时间。
  4. 根据权利要求1所述的方法,其特征在于,用于授权加锁的授权锁包括以下一种或多种:使用所述授权锁授权加锁的应用的标识、所述授权锁的标识、以及授权类型;
    所述授权类型包括免费和收费。
  5. 根据权利要求1所述的方法,其特征在于,授权锁对应的钥匙包括以下一种或多种:所述钥匙的标识、所述钥匙对应的授权锁的标识、使用所述钥匙对应的授权锁授权加锁的应用的标识。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述第一应用是由所述第一应用的版权所有者采用所述第一授权锁进行授权加锁的;
    所述第二应用是由所述第二应用的版权所有者采用所述第二授权锁进行授权加锁的。
  7. 根据权利要求1-5任一项所述的方法,其特征在于,所述第一应用和所述第二应用的版权所有者相同或不同。
  8. 根据权利要求1-5任一项所述的方法,其特征在于,所述第一应用和所述第二应用的开发者相同或不同。
  9. 根据权利要求1-5任一项所述的方法,其特征在于,所述第二应用中 包括第一信息,所述第一信息用于指示与所述第二应用关联的所述第一应用。
  10. 根据权利要求9所述的方法,其特征在于,所述第一信息包括所述第一应用的标识;
    所述应用商店中的不同应用的标识不同。
  11. 根据权利要求1-5任一项所述的方法,其特征在于,所述第二应用还与从所述应用商店中下载的第三应用具有关联关系,能够调用所述第三应用以实现所述第三应用的功能;
    当所述第三应用未被授权加锁,响应于所述授权请求,发送第一钥匙以及第二钥匙;
    当所述第三应用被授权加锁,响应于所述授权请求,发送第一钥匙、第二钥匙以及第三钥匙,所述第三钥匙用于解除对所述第三应用的授权加锁。
  12. 一种应用授权管理方法,其特征在于,所述方法包括:
    发送授权请求,所述授权请求用于请求从应用商店中下载的第二应用的授权权限,所述第二应用与第一应用具有关联关系,所述第二应用能够调用所述第一应用以实现所述第一应用的功能;
    接收第一钥匙以及第二钥匙;
    其中,所述第一应用具有第一授权锁,所述第一授权锁用于对所述第一应用进行授权加锁,所述第一钥匙用于解除对所述第一应用的授权加锁;所述第二应用具有第二授权锁,所述第二授权锁用于对所述第二应用进行授权加锁,所述第二钥匙用于解除对所述第二应用的授权加锁。
  13. 根据权利要求12所述的方法,其特征在于,所述第一应用包括第一标识,所述第一标识用于标识所述第一应用进行了授权加锁;
    所述第二应用包括第二标识,所述第二标识用于标识所述第二应用进行了授权加锁。
  14. 根据权利要求12所述的方法,其特征在于,用于授权加锁的授权锁包括:授权字段,所述授权字段用于标识所述授权锁具有控制应用的授权时间的功能;
    所述授权锁对应的钥匙包括:所述钥匙的有效使用时间。
  15. 根据权利要求12所述的方法,其特征在于,用于授权加锁的授权锁包括以下一种或多种:使用所述授权锁授权加锁的应用的标识、所述授权锁的标识、以及授权类型;
    所述授权类型包括免费和收费。
  16. 根据权利要求12所述的方法,其特征在于,授权锁对应的钥匙包括 以下一种或多种:所述钥匙的标识、所述钥匙对应的授权锁的标识、使用所述钥匙对应的授权锁授权加锁的应用的标识。
  17. 根据权利要求12-16任一项所述的方法,其特征在于,所述第二应用中包括第一信息,所述第一信息用于指示与所述第二应用关联的所述第一应用。
  18. 根据权利要求17所述的方法,其特征在于,所述第一信息包括所述第一应用的标识。
  19. 根据权利要求12-16任一项所述的方法,其特征在于,所述第二应用还与从所述应用商店中下载的第三应用具有关联关系,能够调用所述第三应用以实现所述第三应用的功能;
    当所述第三应用未被授权加锁,接收第一钥匙以及第二钥匙;
    当所述第三应用被授权加锁,接收第一钥匙、第二钥匙以及第三钥匙,所述第三钥匙用于解除对所述第三应用的授权加锁。
  20. 一种应用授权管理装置,其特征在于,所述装置包括:
    接收模块,用于接收授权请求,所述授权请求用于请求从应用商店中下载的第二应用的授权权限,所述第二应用与第一应用具有关联关系,所述第二应用能够调用所述第一应用以实现所述第一应用的功能;
    发送模块,用于响应于所述授权请求,发送第一钥匙以及第二钥匙;
    其中,所述第一应用具有第一授权锁,所述第一授权锁用于对所述第一应用进行授权加锁,所述第一钥匙用于解除对所述第一应用的授权加锁;所述第二应用具有第二授权锁,所述第二授权锁用于对所述第二应用进行授权加锁,所述第二钥匙用于解除对所述第二应用的授权加锁。
  21. 一种应用授权管理装置,其特征在于,所述装置包括:
    发送模块,用于发送授权请求,所述授权请求用于请求从应用商店中下载的第二应用的授权权限,所述第二应用与第一应用具有关联关系,能够调用所述第一应用以实现所述第一应用的功能;
    接收模块,用于接收第一钥匙以及第二钥匙;
    其中,所述第一应用具有第一授权锁,所述第一授权锁用于对所述第一应用进行授权加锁,所述第一钥匙用于解除对所述第一应用的授权加锁;所述第二应用具有第二授权锁,所述第二授权锁用于对所述第二应用进行授权加锁,所述第二钥匙用于解除对所述第二应用的授权加锁。
  22. 一种电子设备,其特征在于,包括:处理器;存储器;以及计算机程序;其中,所述计算机程序存储在所述存储器上,当所述计算机程序被所 述处理器执行时,使得所述电子设备实现如权利要求1-11任一项所述的方法,或者,如权利要求12-19任一项所述的方法。
  23. 一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备实现如权利要求1-11任一项所述的方法,或者,如权利要求12-19任一项所述的方法。
  24. 一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,其特征在于,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如权利要求1-11任一项所述的方法,或者,如权利要求12-19任一项所述的方法。
PCT/CN2023/103763 2022-06-30 2023-06-29 应用授权管理方法及相关设备 WO2024002225A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210772217.9A CN115080928A (zh) 2022-06-30 2022-06-30 应用授权管理方法及相关设备
CN202210772217.9 2022-06-30

Publications (1)

Publication Number Publication Date
WO2024002225A1 true WO2024002225A1 (zh) 2024-01-04

Family

ID=83256741

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/103763 WO2024002225A1 (zh) 2022-06-30 2023-06-29 应用授权管理方法及相关设备

Country Status (2)

Country Link
CN (1) CN115080928A (zh)
WO (1) WO2024002225A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080928A (zh) * 2022-06-30 2022-09-20 北京亚控科技发展有限公司 应用授权管理方法及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306549A1 (en) * 2008-01-30 2010-12-02 Evva Sicherheitstechnologie Gmbh Method and device for managing access control
CN109657430A (zh) * 2018-10-25 2019-04-19 努比亚技术有限公司 一种应用程序解锁控制方法、终端及计算机可读存储介质
CN112699342A (zh) * 2021-03-24 2021-04-23 统信软件技术有限公司 授权控制方法、授权方法、装置及计算设备
CN113779522A (zh) * 2021-09-10 2021-12-10 阿波罗智联(北京)科技有限公司 一种授权处理方法、装置、设备及存储介质
CN114282193A (zh) * 2021-09-24 2022-04-05 腾讯科技(深圳)有限公司 一种应用授权方法、装置、设备及存储介质
CN115080928A (zh) * 2022-06-30 2022-09-20 北京亚控科技发展有限公司 应用授权管理方法及相关设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897608A (zh) * 2017-01-19 2017-06-27 北京奇虎科技有限公司 一种应用程序的权限处理方法、装置和移动终端
CN107679373B (zh) * 2017-10-09 2019-09-10 武汉斗鱼网络科技有限公司 授权信息获取方法、装置及电子设备
CN109684790B (zh) * 2018-12-26 2021-06-04 佛山市瑞德物联科技有限公司 软件启动方法、软件授权验证方法、设备和存储介质
CN110830468B (zh) * 2019-11-05 2021-04-13 腾讯科技(深圳)有限公司 基于跨应用的权限管理方法、装置及计算机可读存储介质
CN111832005B (zh) * 2020-07-15 2023-09-05 中国工商银行股份有限公司 应用授权方法、应用授权装置和电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306549A1 (en) * 2008-01-30 2010-12-02 Evva Sicherheitstechnologie Gmbh Method and device for managing access control
CN109657430A (zh) * 2018-10-25 2019-04-19 努比亚技术有限公司 一种应用程序解锁控制方法、终端及计算机可读存储介质
CN112699342A (zh) * 2021-03-24 2021-04-23 统信软件技术有限公司 授权控制方法、授权方法、装置及计算设备
CN113779522A (zh) * 2021-09-10 2021-12-10 阿波罗智联(北京)科技有限公司 一种授权处理方法、装置、设备及存储介质
CN114282193A (zh) * 2021-09-24 2022-04-05 腾讯科技(深圳)有限公司 一种应用授权方法、装置、设备及存储介质
CN115080928A (zh) * 2022-06-30 2022-09-20 北京亚控科技发展有限公司 应用授权管理方法及相关设备

Also Published As

Publication number Publication date
CN115080928A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
US10348774B2 (en) Method and system for managing security policies
CN112118224B (zh) 一种大数据区块链的可信机制权限管理方法和系统
EP2880837B1 (en) Automated multi-level federation and enforcement of information management policies in a device network
JP5139220B2 (ja) コンポジットアプリケーションフィールドのためのセキュリティ強化フレームワーク
US9990475B2 (en) Apparatus and method of in-application licensing
US7228547B2 (en) Method, system, and program for enabling access to a plurality of services
US8086538B2 (en) Meeting usage of services in a environment
US20160125190A1 (en) Managing shared inventory in a virtual universe
WO2024002222A1 (zh) 应用管理方法及相关设备
US20140130119A1 (en) Automated multi-level federation and enforcement of information management policies in a device network
WO2024002225A1 (zh) 应用授权管理方法及相关设备
CN113297550A (zh) 权限控制的方法、装置、设备、存储介质及程序产品
KR20100066550A (ko) 하나 이상의 사용자 장치들에 대한 콘텐츠 배포 방법 및 시스템
CN111062028B (zh) 权限管理方法及装置、存储介质、电子设备
WO2024002218A1 (zh) 虚拟资源的分配方法及相关设备
US7440992B1 (en) Cell-based computing platform where services and agents interface within cell structures to perform computing tasks
Xu et al. Model-driven engineering for blockchain applications
WO2024002217A1 (zh) 应用管理方法及相关设备
WO2024002302A1 (zh) 应用管理方法、应用订阅方法及相关设备
US10902019B2 (en) Extensible file synchronization
CN112506579A (zh) 多服务多环境管理方法及系统
Cacciari et al. SLA-based management of software licenses as web service resources in distributed computing infrastructures
Tsai et al. Distributed policy specification and enforcement in service-oriented business systems
CN115174177A (zh) 权限管理方法、装置、电子设备、存储介质和程序产品
CN114462388A (zh) 句柄管理或通信方法、电子设备、存储介质及程序产品

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: 23830394

Country of ref document: EP

Kind code of ref document: A1