Disclosure of Invention
To solve the above technical problem or at least partially solve the above technical problem, the present application provides a system compatibility testing method, apparatus, computer device and computer-readable storage medium.
In a first aspect, the present application provides a system compatibility testing method, which is applied to a terminal device, and the method includes:
acquiring a property event set, wherein the property event set comprises property events of all controls in all user interfaces of a target application program;
determining the comprehensive priority of each attribute event in the attribute event set;
testing the attribute events in the attribute event set one by one according to the comprehensive priority of each attribute event in the attribute event set;
and acquiring a compatibility test result of the target application program according to the test result of each attribute event in the attribute event set.
As an optional implementation manner of the embodiment of the present invention, the determining the comprehensive priority of each attribute event in the attribute event set includes:
acquiring the priority of each user interface of the target application program, the priority of controls belonging to the same user interface and the priority of each attribute event of the same control;
and sequencing all the attribute events in the attribute event set according to the priority of each user interface, the priority of the control belonging to the same user interface and the priority of each attribute event of the same control in sequence, and acquiring the comprehensive priority of each attribute event in the attribute event set.
As an optional implementation manner of the embodiment of the present invention, the method further includes:
acquiring an application program list to be tested;
judging whether the list of the application programs to be tested contains untested application programs or not according to the list of the tested application programs; the tested application program list comprises application programs which are tested by the terminal equipment;
if so, selecting the target application program from the untested application programs, and sending installation package request information to a server, wherein the installation package request information is used for requesting to acquire an installation package of the target application program;
receiving an installation package of the target application program sent by a server;
and installing the target application program according to the installation package of the target application program.
As an optional implementation manner of the embodiment of the present invention, the acquiring a list of applications to be tested includes:
sending list request information to a server, wherein the list request information carries the type of terminal equipment and is used for requesting to acquire an application program list to be tested corresponding to the type of the terminal equipment;
and receiving an application program list to be tested sent by the server.
As an optional implementation manner of the embodiment of the present invention, the method further includes:
uninstalling the target application program;
deleting the installation package of the target application program;
adding the target application to the list of tested applications.
As an optional implementation manner of the embodiment of the present invention, the method further includes:
receiving a permission request sent by the target application program, wherein the permission request is used for requesting target permission;
authorizing the target permission of the target application through an auxiliary function.
In one embodiment, the present application provides a system compatibility testing method applied to a server, where the method includes:
determining application program data sources corresponding to various types of terminal equipment;
downloading a preset number of application program installation packages from the application program data source, and acquiring installation package sets corresponding to various types of terminal equipment;
acquiring an application program list to be tested corresponding to each type of terminal equipment according to the installation package set corresponding to each type of terminal equipment;
receiving list request information sent by the terminal equipment, wherein the list request information carries the type of the terminal equipment and is used for requesting to acquire an application program list to be tested corresponding to the type of the terminal equipment;
and sending an application program list to be tested corresponding to the type of the terminal equipment to the terminal equipment.
As an optional implementation manner of the embodiment of the present invention, installation package request information sent by a terminal device is received, where the installation package request information is used to request to acquire an installation package of a target application program;
and sending the installation package of the target application program to the terminal equipment.
In a second aspect, the present application provides a terminal device, including:
the system comprises an acquisition module, a processing module and a display module, wherein the acquisition module is used for acquiring a property event set, and the property event set comprises property events of all controls in all user interfaces of a target application program;
the determining module is used for determining the comprehensive priority of each attribute event in the attribute event set;
the test module is used for testing the attribute events in the attribute event set one by one according to the comprehensive priority of each attribute event in the attribute event set;
and the result obtaining module is used for obtaining the compatibility test result of the target application program according to the test result of each attribute event in the attribute event set.
As an optional implementation manner of the embodiment of the present invention, the determining module is specifically configured to:
acquiring the priority of each user interface of the target application program, the priority of controls belonging to the same user interface and the priority of each attribute event of the same control;
and sequencing all the attribute events in the attribute event set according to the priority of each user interface, the priority of the control belonging to the same user interface and the priority of each attribute event of the same control in sequence, and acquiring the comprehensive priority of each attribute event in the attribute event set.
As an optional implementation manner of the embodiment of the present invention, the method further includes:
acquiring an application program list to be tested;
judging whether the list of the application programs to be tested contains untested application programs or not according to the list of the tested application programs; the tested application program list comprises application programs which are tested by the terminal equipment;
if so, selecting the target application program from the untested application programs, and sending installation package request information to a server, wherein the installation package request information is used for requesting to acquire an installation package of the target application program;
receiving an installation package of the target application program sent by a server;
and installing the target application program according to the installation package of the target application program.
As an optional implementation manner of the embodiment of the present invention, the obtaining module is specifically configured to:
sending list request information to a server, wherein the list request information carries the type of terminal equipment and is used for requesting to acquire an application program list to be tested corresponding to the type of the terminal equipment;
and receiving an application program list to be tested sent by the server.
As an optional implementation manner of the embodiment of the present invention, the method further includes:
uninstalling the target application program;
deleting the installation package of the target application program;
adding the target application to the list of tested applications.
As an optional implementation manner of the embodiment of the present invention, the method further includes:
receiving a permission request sent by the target application program, wherein the permission request is used for requesting target permission;
authorizing the target permission of the target application through an auxiliary function.
In one embodiment, the present application provides a server comprising:
the data source module is used for determining application program data sources corresponding to various types of terminal equipment;
the acquisition module is used for downloading a preset number of application program installation packages from the application program data source and acquiring installation package sets corresponding to various types of terminal equipment;
the list module is used for acquiring an application program list to be tested corresponding to each type of terminal equipment according to the installation package set corresponding to each type of terminal equipment;
the receiving module is used for receiving list request information sent by the terminal equipment, wherein the list request information carries the type of the terminal equipment and is used for requesting to acquire an application program list to be tested corresponding to the type of the terminal equipment;
and the sending module is used for sending the list of the to-be-tested application programs corresponding to the type of the terminal equipment to the terminal equipment.
As an optional implementation manner of the embodiment of the present invention, the method further includes:
receiving installation package request information sent by terminal equipment, wherein the installation package request information is used for requesting to acquire an installation package of a target application program;
and sending the installation package of the target application program to the terminal equipment.
In a third aspect, the present application provides a computer device comprising a memory storing a computer program and a processor implementing the steps of the method as provided in the first aspect of the application when the processor executes the computer program.
In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, performs the steps of the method as provided in the first aspect of the present application.
Compared with the prior art, the technical scheme provided by the application has the following advantages:
the method for testing system compatibility is applied to terminal equipment, and comprises the steps of firstly obtaining an attribute event set of attribute events of each control in each user interface of a target application program, then determining the comprehensive priority of each attribute event in the attribute event set, then testing the attribute events one by one according to the comprehensive priority of each attribute event in the attribute event set, and finally obtaining a compatibility test result of the target application program according to the test result of each attribute event in the attribute event set. All controls of the user interface are traversed through three dimensions of the interface, the controls and the control attributes, the testing depth of a single sample is improved, and the problem that the testing depth of the existing system compatibility testing is shallow is solved.
Detailed Description
In order that the above-mentioned objects, features and advantages of the present application may be more clearly understood, the solution of the present application will be further described below. It should be noted that the embodiments and features of the embodiments of the present application may be combined with each other without conflict.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure, but the present application may be practiced in other ways than those described herein; it is to be understood that the embodiments described in this specification are only some embodiments of the present application and not all embodiments.
The system compatibility testing method provided by the application can be applied to the application environment shown in fig. 1. FIG. 1 is a diagram illustrating an exemplary implementation of a compatibility testing method; the application environment includes aterminal device 101 and aserver 102. Theterminal device 101 and theserver 102 communicate with each other through a network, and specifically, the file can be uploaded and downloaded by using an okhttp protocol of an android. Okhttp, one of the most widely used network frameworks for android today, is the way applications exchange data and media over the network today. Theserver 102 determines application data sources corresponding to various types ofterminal equipment 101; theserver 102 downloads a preset number of application program installation packages from the application program data source, and acquires installation package sets corresponding to various types ofterminal equipment 101; theserver 102 acquires an application program list to be tested corresponding to each type ofterminal equipment 101 according to the installation package set corresponding to each type ofterminal equipment 101; theserver 102 receives list request information sent by theterminal device 101, where the list request information carries a type of theterminal device 101 and is used for requesting to obtain an application program list to be tested corresponding to the type of theterminal device 101; theserver 102 sends a list of applications to be tested corresponding to the type of theterminal device 101 to theterminal device 101. Theterminal device 101 may be, but not limited to, various smart phones, tablet computers, and portable wearable devices, and theserver 102 may be implemented by an independent server or a server cluster composed of a plurality of servers.
In one embodiment, as shown in FIG. 2, a system compatibility test method is provided. The present embodiment is mainly illustrated by applying the method to theterminal device 101 in fig. 1.
S202, acquiring an attribute event set.
And the attribute event set comprises the attribute events of all the controls in all the user interfaces of the target application program. For example, the attribute event may be click, slide, edit, long press, select, or the like. The target application program can be an application program with high use frequency, such as a game program, a video program, a friend-making program, a music program, an office program and the like.
Specifically, the terminal device may obtain attribute events of each control of the user interface, such as an inbox, a to-be-sent mail, a draft box, a sent mail, and a trash box of a certain mailbox.
S204, determining the comprehensive priority of each attribute event in the attribute event set.
Specifically, the priority of each user interface of the target application program, the priority of a control belonging to the same user interface, and the priority of each attribute event of the same control are obtained first, and then each attribute event in the attribute event set is sequenced according to the priority of each user interface, the priority of a control belonging to the same user interface, and the priority of each attribute event of the same control in sequence, so as to obtain the comprehensive priority of each attribute event in the attribute event set.
S206, testing the attribute events in the attribute event set one by one according to the comprehensive priority of each attribute event in the attribute event set.
Specifically, illustratively, different attribute events of the same control have priorities, and the operation is performed according to the priorities of the attribute events of the control until all the attribute events of the same control are completely traversed, and then the next control is operated according to the priorities of the attribute events. If all the attribute events of the current control are not traversed, the comprehensive priority of the attribute events of the current control is the highest, the control is operated preferentially, and the next control is not traversed temporarily.
S208, according to the test result of each attribute event in the attribute event set, obtaining the compatibility test result of the target application program.
Illustratively, if the test result of each attribute event in the attribute event set reaches a preset value, the compatibility test result of the system of the terminal device to the current target application program is qualified; and if the test result is smaller than the preset value, the compatibility test result of the system is unqualified.
In an embodiment, as shown in fig. 3, the step S204 of determining the comprehensive priority of each attribute event in the attribute event set specifically includes the following steps:
s2041, acquiring the priority of each user interface of the target application program, the priority of the control belonging to the same user interface and the priority of each attribute event of the same control.
Specifically, the priority of each user interface of the target application program is firstly obtained, then the priority of the control belonging to the same interface is obtained, and finally the priority of each attribute event of the same control is obtained.
For example, an application program generally has multiple interfaces, the interfaces need to be marked for convenience of testing, and for fragment scenes with different activities, the interfaces can be marked according to the control identification number layout-id. For example, the main page of the mobile WeChat (android) is activity, the bottom WeChat, the address list, the discovery and the I correspond to four different fragments, the four fragments have different layout-ids, the four fragments are numbered by the layout-ids, and then the interfaces can be sequentially traversed according to the numbering sequence.
Activity, the chinese name of which is activity, is an android application component that represents a user interface through which a user can interact to perform certain operations, such as placing a call, taking a picture, sending an email, or viewing a map. Each activity has a unique class name. Applications for android devices are typically composed of multiple activities that are loosely bound to each other. Typically, one activity in an application is designated as the primary activity, which is presented to the user when the application is first launched. Fragment, part of activity, part of the name Fragment, activity, modular design of the activity, Fragment can be considered a sub-activity.
S2042, sequencing all the attribute events in the attribute event set according to the priority of each user interface, the priority of the control belonging to the same user interface and the priority of all the attribute events of the same control in sequence, and acquiring the comprehensive priority of all the attribute events in the attribute event set.
Specifically, when the priority of the controls is determined, the orders of all the controls of one interface are already arranged in the android system, so that the controls are only required to be taken out according to the control sequence numbers. A control has multiple properties, such as click, edit, slide, long press, select, etc. Generally, all the supported property events of one control are executed before the property events supported by the next control are executed.
In one embodiment, as shown in fig. 4, before obtaining the attribute event set at S202, the method further includes the following steps:
and S2011, acquiring a list of the to-be-tested application programs.
In an embodiment, the step S2011 of obtaining the list of the to-be-tested applications specifically includes the following steps:
a. the list request information is sent to the server.
Specifically, the terminal device sends list request information to the server, where the list request information carries a type of the terminal device and is used to request to obtain a list of applications to be tested corresponding to the type of the terminal device.
b. And receiving an application program list to be tested sent by the server.
Correspondingly, the terminal equipment receives the list of the application programs to be tested sent by the server
S2012, judging whether the list of the application programs to be tested contains the untested application programs according to the list of the tested application programs.
The tested application program list comprises application programs which are tested by the terminal equipment.
And S2013, if yes, selecting the target application program from the untested application programs, and sending installation package request information to the server.
And the installation package request information is used for requesting to acquire the installation package of the target application program.
And S2014, receiving the installation package of the target application program sent by the server.
Correspondingly, the terminal equipment receives the installation package of the target application program sent by the server.
S2015, installing the target application program according to the installation package of the target application program.
In an embodiment, as shown in fig. 5, after obtaining the compatibility test result of the target application according to the test result of each attribute event in the attribute event set at S208, the method further includes the following steps:
s2091, uninstalling the target application program.
S2092, deleting the installation package of the target application program.
S2093, adding the target application program to the tested application program list.
Illustratively, after the compatibility test result of the target application program is obtained, the target application program on the terminal device is automatically uninstalled, the installation package of the target application program is deleted, and the target application program is added to the tested application program list. The space of the mobile terminal is saved, and repeated testing on the same application program can be avoided.
In an embodiment, as shown in fig. 6, before S206, testing the attribute events in the attribute event set one by one according to the comprehensive priority of each attribute event in the attribute event set, the method further includes:
s2051, receiving an authority request sent by the target application program, wherein the authority request is used for requesting target authority.
For example, the android system 6.0 starts to add a run-time permission, and for a user privacy permission, such as a security digital card access permission, a geographic location access permission, a contact person reading permission, and the like, when an application program is opened, the user manually clicks an enable button to grant a corresponding permission. If the various rights required by the application are not granted, the functional testing of the application is incomplete, resulting in low test coverage.
S2052, authorizing the target permission of the target application program through an auxiliary function.
Specifically, in the embodiment, the accessibility service (chinese name: accessibility service or auxiliary function) is used to monitor the occurrence of the permission popup when the test application is opened, and then the click grant permission is automatically simulated. By applying the method, the subsequent function test and interface traversal of the application program are more thorough.
In one embodiment, a test step can be added, all the authorities of the application program are not granted, and an unauthorized scene is simulated to test the running condition of the application program and the compatibility condition of the system.
The method for testing system compatibility is applied to terminal equipment, and comprises the steps of firstly obtaining an attribute event set of attribute events of each control in each user interface of a target application program, then determining the comprehensive priority of each attribute event in the attribute event set, then testing the attribute events one by one according to the comprehensive priority of each attribute event in the attribute event set, and finally obtaining a compatibility test result of the target application program according to the test result of each attribute event in the attribute event set. All controls of the user interface are traversed through three dimensions of the interface, the controls and the control attributes, the testing depth of a single sample is improved, and the problem that the testing depth of the existing system compatibility testing is shallow is solved.
In one embodiment, as shown in FIG. 7, a system compatibility testing method is provided. The embodiment is mainly illustrated by applying the method to theserver 102 in fig. 1.
S301, determining the application program data source corresponding to each type of terminal equipment.
Illustratively, different types of terminal devices correspond to different application data sources. For example, testing a certain type of cell phone selects the corresponding application store as the application data source.
And S303, downloading a preset number of application program installation packages from the application program data source, and acquiring installation package sets corresponding to various types of terminal equipment.
For example, the high sampling rate test can be performed on popular applications in the current market and different types of applications by screening from dimensions such as historical application download amount, single-day application download amount, application type and the like. And downloading the screened application program installation package to a server. By the method, a large number of third-party application programs can be used for compatibility testing of the android system, so that the problems of few traditional compatibility testing samples and low coverage rate are solved well.
S305, acquiring a list of to-be-tested applications corresponding to each type of terminal equipment according to the installation package set corresponding to each type of terminal equipment.
For example, after the application installation package is downloaded, information such as the name, storage size, and type of the application is extracted, and a list of applications to be tested is generated according to the information of the application.
S307, receiving the list request information sent by the terminal equipment.
Correspondingly, the server receives list request information sent by the terminal equipment, wherein the list request information carries the type of the terminal equipment and is used for requesting to acquire an application program list to be tested corresponding to the type of the terminal equipment.
S309, sending the list of the application programs to be tested corresponding to the type of the terminal equipment to the terminal equipment.
Specifically, according to the type of the terminal device carried by the list request information, the server sends a corresponding list of applications to be tested to the terminal device.
In one embodiment, the following steps may also be performed:
a. and receiving the installation package request information sent by the terminal equipment.
Correspondingly, the server receives installation package request information sent by the terminal equipment, wherein the installation package request information is used for requesting to acquire an installation package of the target application program.
b. And sending the installation package of the target application program to the terminal equipment.
Correspondingly, the server sends the installation package of the target application program to the terminal equipment.
The method for testing system compatibility, which is provided by the embodiment of the application, is applied to a server and includes the steps of determining an application program data source corresponding to each type of terminal equipment, downloading a preset number of application program installation packages from the application program data source, acquiring an installation package set corresponding to each type of terminal equipment, acquiring an application program list to be tested corresponding to each type of terminal equipment according to the installation package set corresponding to each type of terminal equipment, receiving list request information which carries the type of the terminal equipment and is used for requesting to acquire the application program list to be tested corresponding to the type of the terminal equipment and sending the application program list to be tested corresponding to the type of the terminal equipment to the terminal equipment. By using a large number of application program data sources for android system compatibility testing, the problems of few samples and low coverage rate of the conventional system compatibility testing are solved.
It should be understood that although the various steps in the flowcharts of fig. 2-7 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in a strict order unless explicitly stated herein, and may be performed in other orders. Moreover, at least some of the steps in fig. 2-7 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, and the order of performing the sub-steps or stages is not necessarily sequential, but may be performed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
In one embodiment, as shown in fig. 8, there is provided a terminal device including:
the system comprises an acquisition module, a processing module and a display module, wherein the acquisition module is used for acquiring a property event set, and the property event set comprises property events of all controls in all user interfaces of a target application program;
the determining module is used for determining the comprehensive priority of each attribute event in the attribute event set;
the test module is used for testing the attribute events in the attribute event set one by one according to the comprehensive priority of each attribute event in the attribute event set;
and the result obtaining module is used for obtaining the compatibility test result of the target application program according to the test result of each attribute event in the attribute event set.
As an optional implementation manner of the embodiment of the present invention, the determining module is specifically configured to: acquiring the priority of each user interface of the target application program, the priority of controls belonging to the same user interface and the priority of each attribute event of the same control; and sequencing all the attribute events in the attribute event set according to the priority of each user interface, the priority of the control belonging to the same user interface and the priority of each attribute event of the same control in sequence, and acquiring the comprehensive priority of each attribute event in the attribute event set.
As an optional implementation manner of the embodiment of the present invention, the method further includes: acquiring an application program list to be tested; judging whether the list of the application programs to be tested contains untested application programs or not according to the list of the tested application programs; the tested application program list comprises application programs which are tested by the terminal equipment; if so, selecting the target application program from the untested application programs, and sending installation package request information to a server, wherein the installation package request information is used for requesting to acquire an installation package of the target application program; receiving an installation package of the target application program sent by a server; and installing the target application program according to the installation package of the target application program.
As an optional implementation manner of the embodiment of the present invention, the obtaining module is specifically configured to: sending list request information to a server, wherein the list request information carries the type of terminal equipment and is used for requesting to acquire an application program list to be tested corresponding to the type of the terminal equipment; and receiving an application program list to be tested sent by the server.
As an optional implementation manner of the embodiment of the present invention, the method further includes: uninstalling the target application program; deleting the installation package of the target application program; adding the target application to the list of tested applications.
As an optional implementation manner of the embodiment of the present invention, the method further includes: receiving a permission request sent by the target application program, wherein the permission request is used for requesting target permission; authorizing the target permission of the target application through an auxiliary function.
In one embodiment, as shown in fig. 9, there is provided a server comprising:
the data source module is used for determining application program data sources corresponding to various types of terminal equipment;
the acquisition module is used for downloading a preset number of application program installation packages from the application program data source and acquiring installation package sets corresponding to various types of terminal equipment;
the list module is used for acquiring an application program list to be tested corresponding to each type of terminal equipment according to the installation package set corresponding to each type of terminal equipment;
the receiving module is used for receiving list request information sent by the terminal equipment, wherein the list request information carries the type of the terminal equipment and is used for requesting to acquire an application program list to be tested corresponding to the type of the terminal equipment;
and the sending module is used for sending the list of the to-be-tested application programs corresponding to the type of the terminal equipment to the terminal equipment.
As an optional implementation manner of the embodiment of the present invention, the method further includes: receiving installation package request information sent by terminal equipment, wherein the installation package request information is used for requesting to acquire an installation package of a target application program; and sending the installation package of the target application program to the terminal equipment.
For specific limitations of the terminal device, the above limitations on the application of the system compatibility test method to the terminal device may be referred to, and for specific limitations of the server, the above limitations on the application of the system compatibility test method to the server may be referred to, which is not described herein again. The respective modules in the terminal device or the server may be wholly or partially implemented by software, hardware, and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a mobile phone, and its internal structure diagram may be as shown in fig. 10. The computer device comprises a processor, a memory, a communication interface, a display screen and an input device which are connected through a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The computer program is executed by a processor to implement a system compatibility testing method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 10 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, the mobile terminal provided in the present application may be implemented in the form of a computer program that is executable on a computer device as shown in fig. 10. The memory of the computer device may store various program modules of the mobile terminal constituting the computer device, such as the obtainingmodule 801, the determiningmodule 802, thetesting module 803, and the obtainingresult module 804 shown in fig. 8. The computer program constituted by the respective program modules causes the processor to execute the steps in the system compatibility test method of the computer device of the embodiments of the present application described in the present specification.
For example, the computer device shown in fig. 10 may execute step S202 by theacquisition module 801 in the terminal device shown in fig. 8. The computer device may perform step S204 by thedetermination module 802. The computer device may perform step S206 through thetest module 803. The computer device may perform step S208 by theget results module 804.
In one embodiment, a computer device is provided, comprising a memory storing a computer program and a processor implementing the steps of the above method embodiments when the processor executes the computer program.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the above-mentioned method embodiments.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
It will be understood by those of ordinary skill in the art that all or part of the processes described above in the example methods may be implemented by hardware associated with instructions of a computer program, which may be stored in a non-volatile computer-readable storage medium, and which, when executed, may comprise processes according to the embodiments of the methods described above. Any reference to memory, database, or other medium used in the embodiments provided herein may include at least one of non-volatile and volatile memory. The non-volatile Memory may include a ROM (Read-Only Memory), a magnetic tape, a floppy disk, a flash Memory, an optical Memory, or the like. Volatile Memory can include RAM (Random Access Memory) or external cache Memory. By way of illustration and not limitation, RAM is available in many forms, such as SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), and the like.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The foregoing are merely exemplary embodiments of the present disclosure, which enable those skilled in the art to understand or practice the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.