CN109918895B - Method, electronic device, and computer-readable medium for outputting data - Google Patents

Method, electronic device, and computer-readable medium for outputting data Download PDF

Info

Publication number
CN109918895B
CN109918895B CN201910171255.7A CN201910171255A CN109918895B CN 109918895 B CN109918895 B CN 109918895B CN 201910171255 A CN201910171255 A CN 201910171255A CN 109918895 B CN109918895 B CN 109918895B
Authority
CN
China
Prior art keywords
application
target
use application
data
identification character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910171255.7A
Other languages
Chinese (zh)
Other versions
CN109918895A (en
Inventor
赵颖俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhangmen Science and Technology Co Ltd
Original Assignee
Shanghai Zhangmen Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Zhangmen Science and Technology Co Ltd filed Critical Shanghai Zhangmen Science and Technology Co Ltd
Priority to CN201910171255.7A priority Critical patent/CN109918895B/en
Publication of CN109918895A publication Critical patent/CN109918895A/en
Application granted granted Critical
Publication of CN109918895B publication Critical patent/CN109918895B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

Embodiments of the present disclosure disclose a method, an electronic device, and a computer-readable medium for outputting data. One embodiment of the method comprises the following steps: acquiring at least one identification character, wherein the identification character corresponds to the system authority required by the application, and the identification character is used for determining the system authority required by the application; for the identification character in at least one identification character, determining data called by a use application of the system authority corresponding to the identification character as called data under the condition that the system authority corresponding to the identification character is used; outputting the determined at least one called data. The embodiment is helpful for finding whether the conflict exists among the software or not in a more timely manner, and is helpful for ensuring the normal operation of the software.

Description

Method, electronic device, and computer-readable medium for outputting data
Technical Field
Embodiments of the present disclosure relate to the field of computer technology, and in particular, to a method, an electronic device, and a computer-readable medium for outputting data.
Background
Software conflicts, which are conflicts that may occur to a program when two or more software are running at the same time, result in one or both of the software not functioning properly. For example, a hardware device (such as a computer or a mobile phone) runs slowly, a certain software cannot be used normally, the hardware device crashes, and the like.
Existing ways of resolving software conflicts are typically: the conflict between the software is avoided as much as possible by user feedback, or during a test phase, software with similar functionality is found, and then controlled, such as by using a black list or a white list, or by optimizing certain rights to obtain a higher rights priority.
Disclosure of Invention
The present disclosure proposes a method, an electronic device and a computer readable medium for outputting data.
In a first aspect, embodiments of the present disclosure provide a method for outputting data, the method comprising: acquiring at least one identification character, wherein the identification character corresponds to the system authority required by the application, and the identification character is used for determining the system authority required by the application; for the identification character in at least one identification character, determining data called by a use application of the system authority corresponding to the identification character as called data under the condition that the system authority corresponding to the identification character is used; outputting the determined at least one called data.
In a second aspect, embodiments of the present disclosure provide an apparatus for outputting data, the apparatus comprising: an acquisition unit configured to acquire at least one identification character, wherein the identification character corresponds to a system authority required to be used by an application, and the identification character is used for determining the system authority required to be used by the application; a first determining unit configured to determine, for a recognized character of at least one recognized character, data called by a use application of a system right corresponding to the recognized character as called data in a case where the system right corresponding to the recognized character is used; and an output unit configured to output the determined at least one called data.
In a third aspect, embodiments of the present disclosure provide an electronic device for outputting data, comprising: one or more processors; and a storage device having one or more programs stored thereon, which when executed by the one or more processors, cause the one or more processors to implement a method as in any of the embodiments of the method for outputting data described above.
In a fourth aspect, embodiments of the present disclosure provide a computer-readable medium for outputting data, having stored thereon a computer program which, when executed by a processor, implements a method as in any of the embodiments of the method for outputting data described above.
The method, the electronic device and the computer readable medium for outputting data provided by the embodiments of the present disclosure obtain at least one identification character, where the identification character corresponds to a system authority required to be used by an application, the identification character is used to determine the system authority required to be used by the application, then, for the identification character in the at least one identification character, determine, in the case that the system authority corresponding to the identification character is used, data called by the application using the system authority corresponding to the identification character as called data, and finally, output the determined at least one called data.
Drawings
Other features, objects and advantages of the present disclosure will become more apparent upon reading of the detailed description of non-limiting embodiments, made with reference to the following drawings:
FIG. 1 is an exemplary system architecture diagram in which an embodiment of the present disclosure may be applied;
FIG. 2 is a flow chart of one embodiment of a method for outputting data according to the present disclosure;
FIG. 3 is a schematic illustration of one application scenario of a method for outputting data according to the present disclosure;
FIG. 4 is a flow chart of yet another embodiment of a method for outputting data according to the present disclosure;
FIG. 5 is a schematic diagram of an embodiment of an apparatus for outputting data according to the present disclosure;
fig. 6 is a schematic diagram of a computer system suitable for use in implementing embodiments of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be noted that, for convenience of description, only the portions related to the present invention are shown in the drawings.
It should be noted that, without conflict, the embodiments of the present disclosure and features of the embodiments may be combined with each other. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of a method for outputting data or an apparatus for outputting data of embodiments of the present disclosure may be applied.
As shown in fig. 1, a system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 is used as a medium to provide communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 105 via the network 104 using the terminal devices 101, 102, 103 to receive or send messages or the like. Various communication client applications, such as a web browser application, a shopping class application, a search class application, an instant messaging tool, a mailbox client, social platform software, etc., may be installed on the terminal devices 101, 102, 103.
The terminal devices 101, 102, 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices available for software to run, including but not limited to smartphones, tablets, laptop and desktop computers, and the like. When the terminal devices 101, 102, 103 are software, they can be installed in the above-listed electronic devices. Which may be implemented as multiple software or software modules (e.g., software or software modules for providing distributed services) or as a single software or software module. The present invention is not particularly limited herein.
The server 105 may be a server providing various services, such as a background server providing support for software running on the terminal devices 101, 102, 103. The background server may perform analysis and other processing on the received data such as the page request, and obtain a processing result (e.g., page data for rendering a page by the terminal device).
It should be noted that, the method for outputting data provided by the embodiment of the present disclosure may be performed by the server 105 or may be performed by the terminal devices 101, 102, 103. Accordingly, the means for outputting data may be provided in the server 105 or in the terminal devices 101, 102, 103. In addition, the method for outputting data provided by the embodiment of the present disclosure may also be performed by the server 105 and the terminal devices 101, 102, 103 in cooperation with each other, and each unit included in the apparatus for outputting data may be respectively disposed in the server 105 and the terminal devices 101, 102, 103.
The server may be hardware or software. When the server is hardware, the server may be implemented as a distributed server cluster formed by a plurality of servers, or may be implemented as a single server. When the server is software, it may be implemented as a plurality of software or software modules (e.g., software or software modules for providing distributed services), or as a single software or software module. The present invention is not particularly limited herein.
It should be understood that the number of terminal devices, networks and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation. The system architecture may include only the electronic device on which the output data method is operating when the electronic device on which the output data method is operating does not require data transmission with other electronic devices.
With continued reference to fig. 2, a flow 200 of one embodiment of a method for outputting data according to the present disclosure is shown. The method for outputting data comprises the following steps:
at step 201, at least one identification character is obtained.
In this embodiment, the execution body of the method for outputting data (e.g., the server or the terminal device shown in fig. 1) may acquire at least one identification character from other electronic devices or locally through a wired connection or a wireless connection.
In this embodiment, the identification character corresponds to a system authority required for the application, and the identification character is used to determine the system authority required for the application. As an example, the identification character may be a unique identification of the system rights. It will be appreciated that for a single software it may use multiple system permissions (i.e. the system permissions that an application needs to use) during execution, for example, the system permissions may include, but are not limited to, at least one of: positioning rights, invoking rights for a camera, opening bluetooth, etc. In practice, a technician can pre-establish a corresponding relationship between the system authority and the identification character. For example, the system authority is stored in association with the recognition character by means of a key (value) pair so as to determine the system authority required to be used by the application by recognizing the character.
Here, the recognition character may be a character predetermined by a technician, for example, the recognition character "1" may be used to determine the positioning authority of the application; the recognition character "2" is used to determine the right of the application to call the camera, etc.
In some alternative implementations of the present embodiment, identifying the character may include at least one of: permission keywords of system permissions (e.g., permission keywords of android application (access_check_ PROPERTIES, ACCESS _code_location, etc.), function keywords of system permissions (e.g., notification, phone, lock screen, etc.), application programming interface names (e.g., ACTION names of android application (action_main), action_dial, etc.).
Here, when the execution subject of the step 201 is a terminal device, the server communicatively connected to the execution subject of the step 201 may issue at least one recognition character to the execution subject of the step 201, so that the execution subject of the step 201 obtains the at least one recognition character. The at least one identification character may be stored in the execution body (i.e., the terminal device) of step 201.
In addition, when the execution subject in the step 201 is a server, the execution subject may acquire at least one recognition character stored in advance locally; the at least one identification character may also be obtained from an electronic device (e.g., a terminal device) communicatively coupled to the executing body.
Step 202, for a recognized character in at least one recognized character, determining data called by a use application of a system authority corresponding to the recognized character as called data when the system authority corresponding to the recognized character is used.
In this embodiment, for the identification character in the at least one identification character acquired in step 201, the execution body may determine, as the invoked data, data invoked by the application for which the system authority corresponding to the identification character is used in a case where the system authority corresponding to the identification character is used.
Here, the system authority corresponding to the identification character may be a system authority used for determining the identification character. The application of the system right may be an application that uses the system right.
It will be appreciated that applications are typically used where system permissions are used, call data such as user data (e.g., user account numbers, user nicknames), application programming interfaces (ApplicationProgrammingInterface, API), etc. are required.
In some alternative implementations of the present embodiment, the invoked data includes at least one of: the package name included in the package program of the application and the class name included in the package program of the application.
And step 203, outputting the determined at least one called data.
In this embodiment, the execution body may output the determined at least one called data.
Here, as an example, when the execution subject is a terminal device, the execution subject may output the determined at least one called data to a service terminal communicatively connected thereto. When the execution subject is a server, the execution subject can output the determined at least one called data to a terminal device or other servers which are in communication connection with the execution subject.
In this step 203, the called data outputted by the execution body may be all the called data determined in step 202, or may be part of the called data determined in step 202.
In some alternative implementations of this embodiment, the steps 201-203 may be performed by the execution body before the target-use application is brought online. Wherein the target use application is an application to be installed by the terminal. Thus, the execution body may execute the step 201 as follows: first, at least one system right to use the target use application is determined. Then, at least one identification character corresponding to at least one system authority is acquired.
In practice, a developer may deploy program code implementing steps 201-203 described above in a pre-existing version of the target-use application described above. For example, the developer may deploy the program code implementing the above steps 201-203 in an application with version 1.0, in which case the target usage application may be the above application with version 2.0. Alternatively, the developer may deploy the program code implementing steps 201-203 described above in other applications before the target use application is brought online.
It can be understood that, before the target application is online, the execution body can output data that is called by the application installed by the terminal and that may be called by the system authority that the target application needs to use after installation, so that the optional implementation manner can output data that may be called by the application with similar functions or similar authority operations to the target application before installation of the target application, further, a developer can determine whether other applications collide with the target application in the running process through the called data, and after the fact that the collision may occur is determined, the developer can adjust the packaging program of the target application to avoid the collision, so that the called data can provide references for the developer when the developer compiles the packaging program of the target application, and normal running of the target application is ensured to a certain extent.
In some optional implementations of this embodiment, the execution body may further determine whether the target application can normally operate according to operation information input by a user and used for indicating whether the target application can normally operate.
Here, the operation information may be manually determined by the user. When the operation information indicates that the target application can normally operate, the execution body can determine that the target application can normally operate; when the operation information indicates that the target use application cannot normally operate, the execution subject may determine that the target use application cannot normally operate.
In some optional implementations of this embodiment, the executing body may further determine whether the target usage application can operate normally according to at least one called data. The target application may be an application to be determined whether it can normally run.
It will be appreciated that when two or more applications are running simultaneously, conflicts may occur between the applications, resulting in one or both applications not functioning properly. For example, a hardware device (such as a computer or a mobile phone) runs slowly, a certain software cannot be used normally, the hardware device crashes, and the like. Here, by determining whether the target-use application can normally operate, the occurrence probability of the above-described problem can be reduced to some extent.
In some alternative implementations of the present embodiment, for the steps described above: according to at least one called data, determining whether the target application can normally run, wherein the execution main body can also execute the following steps:
and determining the system authority corresponding to the called data aiming at the called data in the at least one called data, and determining whether the target application conflicts with other applications except the target application in the at least one application in the process of using the determined system authority so as to determine whether the target application can normally run.
Here, the system authority corresponding to the called data may be a system authority used by an application that calls the called data.
As an example, the execution body may determine whether the target use application collides with other applications than the target use application among the use applications in the following manner: if the device runs slowly, crashes, or any one or more of flashing back, blocking, etc. occur in the target use application and in the process that other applications except the target use application in the above use application run on the same device at the same time, the execution subject may determine that the target use application collides with other applications except the target use application in the above use application; if any one of the above phenomena does not occur, the execution subject may determine that the target use application does not collide with other applications than the target use application among the use applications.
In some alternative implementations of the present embodiment, the packaging program of the target use application includes a program for adjusting a use priority of the system application that the target use application needs to use. Thus, in the case where it is determined that the target usage application cannot normally operate, the above-described execution body may further execute the following adjustment steps: and adjusting the use priority of the system application required to be used by the target use application, and determining whether the target use application can normally run after the last adjustment.
In the case that it is determined that the target usage application adjusted last time cannot be normally operated, the execution body may continue to execute the adjusting step.
It will be appreciated that when developing the target application, a developer may write a program for adjusting the use priority of the system application required to be used by the target application into the packaging program of the target application, so that the target application automatically adjusts (for example, randomly adjusts, gradually increases the priority, or gradually decreases the priority) the use priority of the system application used by the target application when the target application cannot normally run, thereby avoiding a conflict with other applications when using the same priority.
In some optional implementations of this embodiment, the executing body may further: and controlling the authority of the system required by the application installed by the terminal according to the determined at least one called data.
As an example, when the execution subject determines that there is data called by the use application of at least two system rights (i.e., called data) for a single recognition character, and the use applications of the at least two system rights are installed in the same terminal, the execution subject may perform rights control for the at least two system rights. For example, the system authority required to be used by one of the applications is permitted, the system authority required to be used by the other application is prohibited, or when two applications use the system authority corresponding to the identification character simultaneously, the priority of using the system authority corresponding to the identification character is set for the two applications.
Here, when the execution subject is a terminal, the terminal of the installed application and the execution subject may be the same electronic device, and when the execution subject is a server, the terminal of the installed application may be communicatively connected to the execution subject.
In some optional implementations of this embodiment, for the step 203, the executing body may further execute the following manner: firstly, the determined at least one called data is counted to generate an index library. The index library is used for representing the corresponding relation between the identification characters and the called data. Then, the index library is output.
The index library may be, for example, a two-dimensional table or database storing recognized characters and called data. The index library may be used to retrieve the called data corresponding to a recognized character or whether there is called data corresponding to a particular recognized character.
In some alternative implementations of the present embodiment, for the steps described above: according to at least one called data, determining whether the target application can normally run, wherein the execution main body can also execute the following steps:
first, for the system authority of at least one system authority required to be used by the target application, searching the system authority in a pre-established index library to determine the called data corresponding to the system authority in the search library. The index library is established based on at least one called data, and is used for representing the corresponding relation between the called data and the system authority.
Here, the index library may be an index library generated by sorting, classifying, and indexing the at least one called data. I.e. the database in which at least one item (e.g. package name included in the package of the application, class name included in the package of the application, or other item) having a retrieval meaning in the called data is ordered in a certain way for retrieval. The index library may be a database in which the called data is associated with information characterizing the system authority, or a database in which an identifier of the called data (for example, an address for storing the called data) is associated with an identifier of the system authority (for example, an address for storing the system authority).
Here, an application (e.g., a usage application or a target usage application) may have, but is not limited to, at least one of the following system permissions: rights to access user data, rights to use communication functions, and the like.
Then, based on the determined invoked data in the search library, it is determined whether the target usage application can operate normally.
As an example, the execution subject may first determine a determined use application of the system authority corresponding to the called data in the search library, and if other applications than the target use application are included in the use application determined herein, the execution subject may determine that the target use application cannot operate normally; if the determined application does not include any other application than the target application, the execution subject may determine that the target application can function normally.
In some optional implementations of this embodiment, in a case where it is determined that the target usage application cannot normally run, the execution subject may further adjust a packaging program of the target usage application, and replace the target usage application before adjustment with the adjusted target usage application.
Here, the execution body may adjust the packaging program of the target use application according to a control instruction generated by a technician using an input/output device such as a mouse, a keyboard, or the like under the control of the technician. For example, if the packaging program of the target use application includes the following character "function", after which the technician adds a new character "1" through the keyboard, the packaging program included in the adjusted target use application may include the character "function1".
It will be appreciated that after adjusting the packaging program of the target use application, the technician may repackage the packaging program of the adjusted target use application, thereby publishing the packaged target use application for use by the user.
It should be noted that, because the possibility of collision between the target application before adjustment and other application is relatively high, by adjusting the packaging program of the target application and replacing the target application before adjustment with the adjusted target application for installation and use by the user, the possibility of collision between the target application and other application can be reduced, thereby improving the probability of normal operation of the target application.
In some alternative implementations of the present embodiment, for the steps described above: the execution body may execute the program for packaging the target use application in the following manner: the packaging program of the target use application is adjusted based on a predetermined set of adjustment rules.
Here, the adjustment rule may be various packing programs predetermined by a technician for adjusting the target use application to reduce the possibility of collision between the target use application and other use applications. As an example, the adjustment rule may be, but is not limited to: if the package name included in the package program of the application called by the system authority required to be used by the target application is the same as the package name included in the package program of the application of the other application except the target application in at least one using application, the package name included in the package program of the application called by the system authority required to be used by the target application is adjusted; if the class name included in the packaging program of the application called by the system authority required to be used by the target application is the same as the class name included in the packaging program of the application of the other applications except the target application in the at least one use application, one or more predetermined characters are added behind the class name included in the packaging program of the application called by the system authority required to be used by the target application. For example, if the class name included in the packaging program of the application called by the system authority required for the target application is the same as the class name included in the packaging program of the application of the other application than the target application in at least one of the applications, both of them are "functions", the execution body may add one or more characters (e.g., "1") determined in advance after the class name "function" included in the packaging program of the application called by the system authority required for the target application, thereby obtaining the class name (e.g., "function 1") included in the packaging program of the new application.
In some alternative implementations of the present embodiment, the invoked data includes: the package name included in the package program of the application and the class name included in the package program of the application. And, for the above steps: the above-mentioned execution body may further execute in the following manner to determine whether the target usage application can normally run: in the case where it is determined that the package program of the application called by the system authority required to be used by the target use application includes the same package name as the package program of the application of the other application than the target use application in the at least one use application, or the package program of the application called by the system authority required to be used by the target use application includes the same class name as the package program of the application of the other application than the target use application in the at least one use application, the execution subject may determine that the target use application cannot normally operate.
In some optional implementations of this embodiment, in a case where it is determined that the package name included in the package program of the application called by the system authority required to be used by the target use application is different from the package names included in the package programs of the applications other than the target use application in the at least one use application, and the package names included in the package programs of the applications called by the system authority required to be used by the target use application are different from the package names included in the package programs of the applications other than the target use application in the at least one use application, the execution body may determine that the target use application can operate normally.
With continued reference to fig. 3, fig. 3 is a schematic diagram of an application scenario of the method for outputting data according to the present embodiment. In the application scenario of fig. 3, the terminal device 301 first acquires at least one identification character (in the figure, "notification, phone" 3001) from the server 302, where the identification character corresponds to a system authority that the application needs to use (for example, "notification" may correspond to a system authority "reading the notified authority", "phone" may correspond to a system authority "dialing authority"), and the identification character is used to determine a system authority that the application needs to use. Then, for the identification character in the at least one identification character, the terminal device 301 determines, in the case where the system authority corresponding to the identification character is used, data called by the use application of the system authority corresponding to the identification character as called data (in the figure, the terminal device 301 determines called data "notify, phone"3002, where notify characterizes a class name included in a packaging program of an application of the system authority corresponding to "notify", and phone characterizes a class name included in a packaging program of an application of the system authority corresponding to "phone"), and finally, the terminal device 301 outputs the determined at least one called data (as shown in the figure, the terminal device 301 outputs the called data "notify, phone"3002 to the server 302).
At present, one of the existing ways to resolve conflicts between applications is: applications with similar functionality are found by user feedback, or during a test phase, and then conflicts between applications are avoided as much as possible, such as by controlling with a blacklist or whitelist, or by optimizing for certain rights to obtain higher rights priorities. In the method provided by the embodiment of the present disclosure, under the condition that the system authority corresponding to the identification character is used, the data called by the application using the system authority corresponding to the identification character is used as the called data, so that the called data in the application running process can be obtained, and the obtained called data can be used for reference by a developer, so that the developer can find out whether the conflict exists between the software more timely, and the normal running of the software is ensured.
With further reference to fig. 4, a flow 400 of yet another embodiment of a method for outputting data is shown. The process 400 of the method for outputting data comprises the steps of:
at step 401, at least one identification character is acquired.
In this embodiment, the execution body of the method for outputting data (e.g., the server or the terminal device shown in fig. 1) may acquire at least one identification character from other electronic devices or locally through a wired connection or a wireless connection. The identification characters comprise authority keywords of system authorities, function keywords of the system authorities and application programming interface names. The identification character corresponds to the system rights required by the application, and the identification character is used for determining the system rights required by the application.
In step 402, for a recognized character in at least one recognized character, it is determined that, when a system authority corresponding to the recognized character is used, data called by a use application of the system authority corresponding to the recognized character is used as called data.
In this embodiment, for a recognized character of at least one recognized character, the execution body may determine, as the invoked data, data invoked by the application that uses the system authority corresponding to the recognized character, in a case where the system authority corresponding to the recognized character is used. The system authority corresponding to the identification character can be the system authority used for determining the identification character. The application of the system right may be an application that uses the system right. The invoked data includes a package name included in the package of the application and a class name included in the package of the application.
Step 403, outputting the determined at least one called data.
In this embodiment, the execution body may output the determined at least one called data.
Step 404, searching the system rights in the pre-established index library aiming at the system rights in at least one system rights required to be used by the target application so as to determine the called data corresponding to the system rights in the search library.
In this embodiment, for a system right in at least one system right that is required to be used by the target application, the executing body may search the system right in a pre-established index library to determine invoked data corresponding to the system right in the search library. The index library is established based on at least one called data, and is used for representing the corresponding relation between the called data and the system authority.
Step 405, determining whether a package name included in a package program of an application called by a system authority required to be used by the target application is different from a package name included in a package program of an application of other applications except the target application in at least one application and a class name included in a package program of the application.
In this embodiment, the execution body may further determine whether a package name included in the package program of the application called by the system authority required to be used by the target application is different from a package name included in the package program of the application of the at least one application other than the target application, and a class name included in the package program of the application. If it is determined that the differences are respectively different, step 407 is performed, otherwise step 406 is performed.
In step 406, it is determined that the target-use application cannot function properly.
In this embodiment, in a case where it is determined that the package name included in the package program of the application called by the system authority required to be used by the target use application is the same as the package name included in the package program of the application of the other application than the target use application in the at least one use application, or the package program of the application called by the system authority required to be used by the target use application is the same as the package name included in the package program of the application of the other application than the target use application in the at least one use application, the execution subject may determine that the target use application cannot normally operate.
In step 407, it is determined that the target usage application can operate normally.
In this embodiment, in a case where it is determined that the package name included in the package program of the application called by the system authority required to be used by the target use application is different from the package names included in the package programs of the applications of the other applications than the target use application in the at least one use application, and the package names included in the package programs of the application called by the system authority required to be used by the target use application are different from the package names included in the package programs of the applications of the other applications than the target use application in the at least one use application, the execution subject may determine that the target use application can normally operate.
Step 408, adjusting the packaging program of the target use application based on the predetermined adjustment rule set, and replacing the target use application before adjustment with the adjusted target use application.
In this embodiment, in a case where it is determined that the target usage application cannot normally run, the execution subject may adjust the packaging program of the target usage application based on a predetermined adjustment rule set, and replace the target usage application before adjustment with the adjusted target usage application.
It should be noted that, in addition to the relevant descriptions set forth above for the various steps included in fig. 4, the relevant descriptions of steps 401-408 described above may also include, without conflict, the same or corresponding textual descriptions (e.g., descriptions for features, descriptions for effects, etc.) as in the embodiment of fig. 2 or alternative implementations. For example, in step 408 included in the flowchart shown in fig. 4, although the relevant description described above for each step included in fig. 4 is not described, "the adjustment rule may be various rules for adjusting the packaging program of the target use application predetermined by the technician to reduce the possibility of collision between the target use application and other use applications", and the text is described in the text description for fig. 2, and thus the adjustment rule in step 408 included in the flowchart shown in fig. 4 may be various rules for adjusting the packaging program of the target use application predetermined by the technician to reduce the possibility of collision between the target use application and other use applications. And will not be described in detail herein.
As can be seen from fig. 4, compared with the corresponding embodiment of fig. 2, the flow 400 of the method for outputting data in this embodiment highlights the step of determining whether the target use application can normally operate, and in the case of determining that the target use application cannot normally operate, the step of adjusting the packaging program of the target use application based on the predetermined adjustment rule set, and replacing the target use application before adjustment with the adjusted target use application. Thus, compared to the prior art (for example, by user feedback, or in a test stage, finding applications with similar functions, and then avoiding conflicts between applications as much as possible by controlling them such as by using a blacklist or a whitelist, or optimizing for certain authorities to obtain higher authority priorities, the scheme described in this embodiment can determine more timely whether there is a conflict between applications, when it is determined that there is a possibility of a conflict between applications (for example, the package name of the application called by the system authority required to be used by the target application is the same as the package name of the application called by the other application except the target application in at least one application, or the package name of the application called by the system authority required to be used by the target application is the same as the package name of the application called by the other application except the target application in at least one application), the package name of the application can be adjusted, and the target application used by the adjusted target application instead of the adjusted can be used again, so that the probability of the conflict between applications can be greatly reduced and the normal running between the applications.
With further reference to fig. 5, as an implementation of the method shown in the above figures, the present disclosure provides an embodiment of an apparatus for outputting data, which corresponds to the method embodiment shown in fig. 2, and which may include the same or corresponding features as the method embodiment shown in fig. 2, except for the features described below. The device can be applied to various electronic equipment.
As shown in fig. 5, the apparatus 500 for outputting data of the present embodiment includes: an acquisition unit 501, a first determination unit 502, and an output unit 503. Wherein the obtaining unit 501 is configured to obtain at least one identification character, where the identification character corresponds to a system authority required to be used by an application, and the identification character is used to determine the system authority required to be used by the application; the first determining unit 502 is configured to determine, for a recognized character of at least one recognized character, data called by a use application of a system right corresponding to the recognized character as called data in a case where the system right corresponding to the recognized character is used; the output unit 503 is configured to output the determined at least one called data.
In this embodiment, the obtaining unit 501 of the apparatus 500 for outputting data may obtain at least one identification character from other electronic devices or locally through a wired connection manner or a wireless connection manner. The identification character corresponds to the system rights required by the application, and the identification character is used for determining the system rights required by the application.
In this embodiment, for a recognized character in at least one recognized character obtained by the obtaining unit 501, the first determining unit 502 may determine, as the invoked data, data invoked by the application for which the system authority corresponding to the recognized character is used, where the system authority corresponding to the recognized character is used. The system authority corresponding to the identification character can be the system authority used for determining the identification character. The application of the system right may be an application that uses the system right.
In this embodiment, the output unit 503 may output the determined at least one called data.
In some optional implementations of this embodiment, the apparatus 500 may further include: a receiving unit (not shown in the figure) configured to: operation information indicating whether the target usage application can normally operate is received. Wherein the operational information is determined manually.
In some optional implementations of this embodiment, the apparatus 500 further includes: the second determining unit (not shown in the figure) is configured to determine whether the target-use application can normally operate based on at least one called data.
In some optional implementations of the present embodiment, the second determining unit includes: the first determining module (not shown in the figure) is configured to determine, for the called data in the at least one called data, a system authority corresponding to the called data, and determine whether the target use application collides with other applications except the target use application in the process of using the determined system authority, so as to determine whether the target use application can normally run.
In some optional implementations of the present embodiment, the second determining unit includes: a retrieval module (not shown in the figure) is configured to retrieve the system rights in at least one system right required to be used by the target application in a pre-established index library to determine corresponding called data of the system rights in the retrieval library, wherein the index library is established based on the at least one called data, and the index library is used for representing the corresponding relation between the called data and the system rights; the second determining module (not shown) is configured to determine whether the target usage application can operate normally based on the determined invoked data in the search repository and the data invoked by the at least one system authority during execution.
In some optional implementations of this embodiment, the apparatus 500 further includes: an adjustment unit (not shown in the figure) is configured to adjust the packaging program of the target use application in response to determining that the target use application cannot normally run, and to replace the target use application before adjustment with the adjusted target use application.
In some optional implementations of the present embodiment, the adjusting unit includes: an adjustment module (not shown) is configured to adjust the packaging program of the target usage application based on a predetermined set of adjustment rules.
In some alternative implementations of the present embodiment, the invoked data includes: the package name included in the package program of the application and the class name included in the package program of the application. The second determination unit includes: the third determination module (not shown in the figure) is configured to determine that the target use application cannot normally run in response to the determination that the package name included in the package program of the application called by the system authority required to be used by the target use application is the same as the package name included in the package program of the application other than the target use application in the at least one use application, or the package program of the application called by the system authority required to be used by the target use application is the same as the package name included in the package program of the application other than the target use application in the at least one use application.
In some optional implementations of this embodiment, the apparatus 500 further includes: the fourth determination module (not shown in the figure) is configured to determine that the target use application can function normally in response to a determination that the package program of the application called by the system authority required for the target use application includes a package name different from the package names included in the package programs of the applications other than the target use application in the at least one use application, and that the package program of the application called by the system authority required for the target use application includes a class name different from the class name included in the package programs of the applications other than the target use application in the at least one use application.
In some optional implementations of this embodiment, the apparatus 500 further includes a third determining unit (not shown in the figure) configured to perform authority control on the system authority required to be used by the application installed by the terminal according to the determined at least one invoked data.
In some optional implementations of this embodiment, the output unit 503 is further configured to: counting the determined at least one called data to generate an index library, wherein the index library is used for representing the corresponding relation between the identification characters and the called data; and outputting an index library.
In some optional implementations of the present embodiment, identifying the character includes at least one of: rights key for system rights, function key for system rights, application programming interface name.
In some alternative implementations of the present embodiment, the invoked data includes at least one of: the package name included in the package program of the application and the class name included in the package program of the application.
The apparatus provided in the foregoing embodiment of the present disclosure acquires, through the acquisition unit 501, at least one identification character, where the identification character corresponds to a system authority required to be used by an application, the identification character is used to determine a system authority required to be used by the application, then the first determination unit 502 determines, for the identification character in the at least one identification character, data called by the application for using the system authority corresponding to the identification character as called data in a case where the system authority corresponding to the identification character is used, and then the output unit 503 outputs the determined at least one called data, so as to help discover whether there is a conflict between software more timely, so as to help ensure normal running of the software.
Referring now to FIG. 6, a schematic diagram of a computer system 600 suitable for use in implementing an electronic device of an embodiment of the present disclosure is shown. The electronic device shown in fig. 6 is merely an example and should not impose any limitations on the functionality and scope of use of embodiments of the present disclosure.
As shown in fig. 6, the computer system 600 includes a Central Processing Unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data required for the operation of the system 600 are also stored. The CPU601, ROM602, and RAM603 are connected to each other through a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, mouse, etc.; an output portion 607 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. The drive 610 is also connected to the I/O interface 605 as needed. Removable media 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is installed as needed on drive 610 so that a computer program read therefrom is installed as needed into storage section 608.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method shown in the flowcharts. In such an embodiment, the computer program may be downloaded and installed from a network through the communication portion 609, and/or installed from the removable medium 611. The above-described functions defined in the methods of the present disclosure are performed when the computer program is executed by a Central Processing Unit (CPU) 601.
It should be noted that the computer readable medium described in the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this disclosure, a computer-readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present disclosure, however, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including an object oriented programming language such as Python, java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units involved in the embodiments described in the present disclosure may be implemented by means of software, or may be implemented by means of hardware. The described units may also be provided in a processor, for example, described as: a processor includes an acquisition unit, a first determination unit, and an output unit. The names of these units do not constitute a limitation on the unit itself in some cases, and the acquisition unit may also be described as "a unit that acquires at least one recognition character", for example.
As another aspect, the present disclosure also provides a computer-readable medium that may be contained in the electronic device described in the above embodiments; or may exist alone without being incorporated into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring at least one identification character, wherein the identification character corresponds to the system authority required by the application, and the identification character is used for determining the system authority required by the application; for the identification character in at least one identification character, determining data called by a use application of the system authority corresponding to the identification character as called data under the condition that the system authority corresponding to the identification character is used; outputting the determined at least one called data.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by those skilled in the art that the scope of the invention referred to in this disclosure is not limited to the specific combination of features described above, but encompasses other embodiments in which features described above or their equivalents may be combined in any way without departing from the spirit of the invention. Such as those described above, are mutually substituted with the technical features having similar functions disclosed in the present disclosure (but not limited thereto).

Claims (12)

1. A method for outputting data, comprising:
acquiring at least one identification character, wherein the identification character corresponds to the system authority required by the application, the identification character is used for determining the system authority required by the application, and the identification character comprises at least one of the following components: rights keywords of system rights, functional keywords of system rights and application programming interface names;
for the identification character in the at least one identification character, determining data called by a use application of the system authority corresponding to the identification character as called data under the condition that the system authority corresponding to the identification character is used;
Outputting the determined at least one called data;
the method is executed before a target use application is online, wherein the target use application is an application to be installed by a terminal; and
the obtaining at least one identification character includes:
determining at least one system right required to be used by the target use application; at least one identification character corresponding to the at least one system authority is acquired.
2. The method of claim 1, wherein the method further comprises:
and determining whether the target use application can normally run according to the at least one called data.
3. The method of claim 2, wherein the determining whether the target-use application can function properly based on the at least one invoked data comprises:
and determining the system authority corresponding to the called data aiming at the called data in the at least one called data, and determining whether the target application conflicts with other applications except the target application in the at least one application in the process of using the determined system authority so as to determine whether the target application can normally run.
4. The method of claim 2, wherein the determining whether the target-use application can function properly based on the at least one invoked data comprises:
Searching the system rights in a pre-established index library aiming at the system rights in at least one system right required to be used by a target application to determine the called data corresponding to the system rights in the search library, wherein the index library is established based on the at least one called data, and the index library is used for representing the corresponding relation between the called data and the system rights;
and determining whether the target use application can normally run or not based on the determined called data in the search library.
5. The method of one of claims 2-4, wherein the invoked data comprises: the package name of the application and the class name of the application; and
the determining whether the target usage application can normally operate includes:
in response to determining that the package name of the application called by the system authority required to be used by the target use application is the same as the package name of the package program of the application of the other application except for the target use application in at least one use application, or the package name of the application called by the system authority required to be used by the target use application is the same as the package name of the application of the other application except for the target use application in at least one use application, determining that the target use application cannot normally run.
6. The method according to one of claims 2-4, wherein the method further comprises:
in response to determining that the target use application is not operating properly, the packaging program of the target use application is adjusted, and the target use application before adjustment is replaced with the adjusted target use application.
7. The method of claim 6, wherein the adjusting the bundling program of the target-use application comprises:
and adjusting the packaging program of the target use application based on a predetermined adjustment rule set.
8. The method according to one of claims 2-4, wherein the packaging program of the target use application comprises a program for adjusting a use priority of a system application that the target use application needs to use; and
the method further comprises the steps of:
in response to determining that the target-use application is not operating properly, performing the following adjusting steps: adjusting the use priority of the system application required to be used by the target use application; determining whether the target application after the last adjustment can normally run;
and in response to determining that the target use application after the last adjustment cannot normally run, continuing to execute the adjustment step.
9. The method according to one of claims 1-4, wherein the method further comprises:
and controlling the authority of the system required by the application installed by the terminal according to the determined at least one called data.
10. The method of one of claims 1-4, wherein outputting the determined at least one invoked data comprises:
counting the determined at least one called data to generate an index library, wherein the index library is used for representing the corresponding relation between the identification characters and the called data;
and outputting the index library.
11. An electronic device, comprising:
one or more processors;
a storage device having one or more programs stored thereon,
when executed by the one or more processors, causes the one or more processors to implement the method of any of claims 1-10.
12. A computer readable medium having stored thereon a computer program, wherein the program when executed by a processor implements the method of any of claims 1-10.
CN201910171255.7A 2019-03-07 2019-03-07 Method, electronic device, and computer-readable medium for outputting data Active CN109918895B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910171255.7A CN109918895B (en) 2019-03-07 2019-03-07 Method, electronic device, and computer-readable medium for outputting data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910171255.7A CN109918895B (en) 2019-03-07 2019-03-07 Method, electronic device, and computer-readable medium for outputting data

Publications (2)

Publication Number Publication Date
CN109918895A CN109918895A (en) 2019-06-21
CN109918895B true CN109918895B (en) 2023-07-14

Family

ID=66963743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910171255.7A Active CN109918895B (en) 2019-03-07 2019-03-07 Method, electronic device, and computer-readable medium for outputting data

Country Status (1)

Country Link
CN (1) CN109918895B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987797A (en) * 2005-12-23 2007-06-27 国际商业机器公司 Method and system for avoiding software conflict
CN103310149A (en) * 2013-05-27 2013-09-18 华为终端有限公司 System function calling method and device and terminal
CN105573744A (en) * 2015-12-09 2016-05-11 小米科技有限责任公司 Application list ordering method, application list ordering device and terminal equipment
CN106056000A (en) * 2016-06-24 2016-10-26 北京奇虎科技有限公司 System authority-based mobile device storage partition configuration method and apparatus
CN106406956A (en) * 2016-09-23 2017-02-15 北京小米移动软件有限公司 An application program installing method and device
CN107203715A (en) * 2016-03-18 2017-09-26 阿里巴巴集团控股有限公司 The method and device that execution system is called
CN107463445A (en) * 2017-07-31 2017-12-12 广东欧珀移动通信有限公司 Application process priority management method, apparatus, storage medium and electronic equipment
CN108614696A (en) * 2016-12-08 2018-10-02 腾讯科技(深圳)有限公司 The method and device that a kind of method that application makes, static library generate

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987797A (en) * 2005-12-23 2007-06-27 国际商业机器公司 Method and system for avoiding software conflict
CN103310149A (en) * 2013-05-27 2013-09-18 华为终端有限公司 System function calling method and device and terminal
CN105573744A (en) * 2015-12-09 2016-05-11 小米科技有限责任公司 Application list ordering method, application list ordering device and terminal equipment
CN107203715A (en) * 2016-03-18 2017-09-26 阿里巴巴集团控股有限公司 The method and device that execution system is called
CN106056000A (en) * 2016-06-24 2016-10-26 北京奇虎科技有限公司 System authority-based mobile device storage partition configuration method and apparatus
CN106406956A (en) * 2016-09-23 2017-02-15 北京小米移动软件有限公司 An application program installing method and device
CN108614696A (en) * 2016-12-08 2018-10-02 腾讯科技(深圳)有限公司 The method and device that a kind of method that application makes, static library generate
CN107463445A (en) * 2017-07-31 2017-12-12 广东欧珀移动通信有限公司 Application process priority management method, apparatus, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN109918895A (en) 2019-06-21

Similar Documents

Publication Publication Date Title
CN110502222B (en) AAR method, apparatus, medium, and device for outbound dependency on internal base repository
CN110851139B (en) Method and device for checking codes and electronic equipment
CN108011949B (en) Method and apparatus for acquiring data
CN110888817B (en) Code coverage rate report generation method, device and readable storage medium
CN113050984A (en) Resource calling method and device, electronic equipment and storage medium
CN113076153A (en) Interface calling method and device
CN109032693B (en) Method and device for loading display information, electronic equipment and readable storage medium
CN111506904B (en) Method and device for online bug repair
CN109918895B (en) Method, electronic device, and computer-readable medium for outputting data
WO2023151397A1 (en) Application program deployment method and apparatus, device, and medium
CN109635558B (en) Access control method, device and system
CN112835762B (en) Data processing method and device, storage medium and electronic equipment
CN114021133A (en) Code processing method and device, electronic equipment and storage medium
CN113656050B (en) Method and apparatus for generating version number
CN113918525A (en) Data exchange scheduling method, system, electronic device, medium, and program product
CN112783903B (en) Method and device for generating update log
CN114510334A (en) Class instance calling method and device, electronic equipment and automatic driving vehicle
CN112395194A (en) Method and device for accessing test platform
CN110908763A (en) Acceptance method, device, equipment and storage medium
CN111209014A (en) Parameter checking method and device
CN110661792B (en) Service ordered calling method and device, electronic equipment and storage medium
CN115174224B (en) Information security monitoring method and device suitable for industrial control network
CN110262756B (en) Method and device for caching data
CN116610295A (en) Interface service providing method, device, electronic equipment, system and storage medium
CN117852043A (en) Determination method and device for abnormal device, electronic device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant