CN112256448A - Remote control method, device, electronic equipment, system and storage medium - Google Patents

Remote control method, device, electronic equipment, system and storage medium Download PDF

Info

Publication number
CN112256448A
CN112256448A CN202011069558.7A CN202011069558A CN112256448A CN 112256448 A CN112256448 A CN 112256448A CN 202011069558 A CN202011069558 A CN 202011069558A CN 112256448 A CN112256448 A CN 112256448A
Authority
CN
China
Prior art keywords
remote control
target
controlled
control instruction
class
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.)
Pending
Application number
CN202011069558.7A
Other languages
Chinese (zh)
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011069558.7A priority Critical patent/CN112256448A/en
Publication of CN112256448A publication Critical patent/CN112256448A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Abstract

The disclosure relates to a remote control method, a remote control device, electronic equipment, a remote control system and a storage medium, and belongs to the technical field of computers. Wherein, the method comprises the following steps: receiving a remote control request sent by a remote control system, wherein the remote control request comprises: the information of the second equipment and the identification of the process to be controlled, wherein the process to be controlled runs in the second equipment; generating a remote control instruction according to the process identifier to be controlled; creating a target agent program corresponding to the process identifier to be controlled; and sending the remote control instruction to the second equipment to which the second equipment information belongs, and remotely controlling the process to be controlled based on the target agent program. By the method, the coverage limited by the SDK version can be effectively avoided, the derivative problem existing in the aspect of SDK version recall is effectively avoided, and the dynamic remote control function is realized by dynamically creating the agent program, so that the complexity of the remote control program code is effectively reduced, and the maintenance cost of the remote control program code is reduced.

Description

Remote control method, device, electronic equipment, system and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a remote control method, apparatus, electronic device, system, and storage medium.
Background
The chaos engineering is an emerging discipline of computer science, namely, through a series of controllable experiments and principles of executing the experiments, it is revealed how various events occurring at any time in a distributed system gradually cause the whole system to be unavailable.
In the related art, remote control over a distributed system is usually achieved based on a Development framework SDK (Software Development Kit) embedding mechanism, and the embedding mechanism based on the Development framework SDK generally has less Development workload and higher customizability.
However, the remote control in this manner depends on the coverage of the version of the software development kit SDK, and if the software development kit SDK has bugs, there are many derivative problems in the aspect of recalling the version of the software development kit SDK, and the framework code maintenance of the software development kit SDK is complicated, which affects the effect of the remote control.
Disclosure of Invention
The present disclosure provides a remote control method, apparatus, electronic device, system, storage medium, and computer program product, to at least solve the technical problems that the related art is relatively dependent on the coverage of the version of a software development kit SDK, and the maintenance of the framework code of the software development kit SDK is relatively complex, which affects the effect of remote control.
The technical scheme of the disclosure is as follows:
according to a first aspect of the embodiments of the present disclosure, there is provided a remote control method applied to a first device, including: receiving a remote control request sent by a remote control system, wherein the remote control request comprises: the information of the second equipment and the identification of the process to be controlled, wherein the process to be controlled runs in the second equipment; generating a remote control instruction according to the process identifier to be controlled; creating a target agent program corresponding to the process identifier to be controlled, wherein the target agent program comprises: a target class and/or a target method; and sending the remote control instruction to second equipment to which the second equipment information belongs so as to trigger the second equipment to perform byte code enhancement processing on a corresponding class and/or a corresponding method in a program code corresponding to the process to be controlled based on the target class and/or the target method.
In some embodiments of the present disclosure, before the sending the remote control instruction to the second device to which the second device information belongs, the method further includes:
connecting a content distribution network accessed by the second equipment;
the sending the remote control instruction to the second device to which the second device information belongs includes:
and sending the remote control instruction to second equipment to which the second equipment information belongs, and uploading the target agent program to the content distribution network, so that the second equipment acquires the target agent program from the content distribution network according to the remote control instruction.
In some embodiments of the present disclosure, after the creating the target agent corresponding to the identifier of the process to be controlled, the method further includes:
and establishing a corresponding relation between the second device information and the process identifier to be controlled, and updating a preset relation table according to the corresponding relation, wherein the preset relation table is configured with the process identifiers corresponding to the plurality of created agent programs and the corresponding relation of the device information corresponding to each process identifier.
In some embodiments of the present disclosure, the method further comprises:
receiving an agent program deleting request sent by the remote control system;
if the agent program deleting request carries a target process identifier, acquiring second equipment information corresponding to the target process identifier according to the preset relation table;
and generating an agent program deleting instruction according to the target process identification, and sending the agent program deleting instruction to the second equipment to which the corresponding second equipment information belongs.
According to a second aspect of the embodiments of the present disclosure, there is provided a remote control method applied to a second device, including: receiving a remote control instruction sent by the first device, wherein the remote control instruction comprises: identifying a process to be controlled; responding to the remote control instruction, and acquiring a target agent program corresponding to the process identifier to be controlled; associating the target agent program with the process to which the process identifier to be controlled belongs; and analyzing the target agent program to obtain a target class and/or a target method, and performing byte code enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process according to the target class and/or the target method.
In some embodiments of the present disclosure, the step of the second device connecting to a content distribution network, and acquiring, in response to the remote control instruction, a target agent corresponding to the process identifier to be controlled includes:
and responding to the remote control instruction, and acquiring the target agent program corresponding to the process identification to be controlled from the content distribution network.
In some embodiments of the present disclosure, if the target agent is used to perform fault injection processing on the process, after the target agent corresponding to the process identifier to be controlled is obtained from the content distribution network in response to the remote control instruction, the method further includes:
loading an injection plug-in by using a sandbox module of a virtual machine, wherein the virtual machine runs in the second equipment;
inputting a target class and/or a target method of the target agent into an injection scheduler of the virtual machine based on the injection plug-in;
the step of performing bytecode-intensive processing on the corresponding class and/or the corresponding method in the program code corresponding to the process according to the target class and/or the target method includes:
in the injection scheduler, performing byte code enhancement processing on a corresponding class and/or a corresponding method in a program code corresponding to a process;
and injecting the program code after the enhancement processing into an executor of the virtual machine so as to perform the fault injection processing.
In some embodiments of the present disclosure, further comprising:
acquiring the duration of byte code enhancement processing currently carried out;
and if the duration reaches the time threshold, stopping the byte code enhancement processing.
In some embodiments of the present disclosure, further comprising:
receiving an agent program deleting instruction sent by the first device, wherein the agent program deleting instruction carries: identifying a target process;
and deleting the target agent program corresponding to the process to which the target process identifier belongs.
In some embodiments of the present disclosure, before the receiving a remote control instruction sent by the first device, the method further includes: and adopting an agent program monitoring service to monitor whether the remote control instruction sent by the first equipment is received.
According to a third aspect of the embodiments of the present disclosure, there is provided a remote control apparatus applied to a first device, including: a first receiving module configured to receive a remote control request sent by a remote control system, the remote control request including: the information of the second equipment and the identification of the process to be controlled, wherein the process to be controlled runs in the second equipment; the generating module is configured to generate a remote control instruction according to the process identifier to be controlled; a creating module configured to create a target agent program corresponding to the process identifier to be controlled, the target agent program including: a target class and/or a target method; and the sending module is configured to send the remote control instruction to the second device to which the second device information belongs so as to trigger the second device to perform bytecode enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process to be controlled based on the target class and/or the target method.
In some embodiments of the present disclosure, further comprising:
a connection module configured to connect a content distribution network accessed by the second device;
the sending module is configured to send the remote control instruction to a second device to which the second device information belongs, and upload the target agent program to the content distribution network, so that the second device acquires the target agent program from the content distribution network according to the remote control instruction.
In some embodiments of the present disclosure, further comprising:
and the establishing module is configured to establish a corresponding relationship between the second device information and the process identifier to be controlled, and update a preset relationship table according to the corresponding relationship, wherein the preset relationship table is configured with the process identifiers corresponding to the plurality of created agent programs and the corresponding relationship between the process identifiers and the device information corresponding to the process identifiers.
In some embodiments of the present disclosure, wherein,
the first receiving module is configured to receive an agent program deleting request sent by the remote control system;
the first obtaining module is configured to obtain second device information corresponding to a target process identifier according to the preset relation table when the agent program deleting request carries the target process identifier;
and the processing module is configured to generate an agent program deleting instruction according to the target process identifier, and send the agent program deleting instruction to the second device to which the corresponding second device information belongs.
According to a fourth aspect of the embodiments of the present disclosure, there is provided a remote control apparatus applied to a second device, including: a second receiving module configured to receive a remote control instruction sent by the first device, the remote control instruction including: identifying a process to be controlled; the second acquisition module is configured to respond to the remote control instruction and acquire a target agent program corresponding to the process identifier to be controlled; and the association processing module is configured to associate the target agent program with the process to which the process identifier to be controlled belongs, analyze the target agent program to obtain a target class and/or a target method, and perform bytecode enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process according to the target class and/or the target method.
In some embodiments of the present disclosure, the second device is connected to a content distribution network, and the second obtaining module is configured to obtain, from the content distribution network, a target agent corresponding to the process identifier to be controlled in response to the remote control instruction.
In some embodiments of the present disclosure, wherein,
the association processing module is configured to load an injection plug-in module by using a sandbox module of a virtual machine when the target agent program is used for performing fault injection processing on the process, the virtual machine runs in the second device, and inputs a target class and/or a target method of the target agent program into an injection scheduler of the virtual machine based on the injection plug-in, and performs bytecode enhancement processing on a corresponding class and/or a corresponding method in program codes corresponding to the process among the injection schedulers, and injects the program codes after the enhancement processing into an actuator of the virtual machine to perform the fault injection processing.
In some embodiments of the present disclosure, further comprising:
the third acquisition module is configured to acquire the duration of the byte code enhancement processing currently performed;
the association processing module is configured to stop performing the bytecode enhancement processing when the duration reaches the time threshold.
In some embodiments of the present disclosure, further comprising:
a third receiving module, configured to receive an agent program deleting instruction sent by the first device, where the agent program deleting instruction carries: identifying a target process;
and the deleting module is configured to delete the target agent program corresponding to the process to which the target process identifier belongs.
In some embodiments of the present disclosure, wherein,
the second receiving module is configured to monitor whether the remote control instruction sent by the first device is received by adopting an agent monitoring service.
According to a fifth aspect of embodiments of the present disclosure, there is provided an electronic apparatus including: a processor; a memory for storing the processor-executable instructions; wherein the processor is configured to execute the instructions to implement the remote control method as previously described.
According to a sixth aspect of embodiments of the present disclosure, there is provided a remote control system including: the third aspect of the embodiments of the present disclosure provides a remote control apparatus, and the fourth aspect of the embodiments of the present disclosure provides a remote control apparatus.
According to a seventh aspect of embodiments of the present disclosure, there is provided a storage medium in which instructions, when executed by a processor of an electronic device, enable the electronic device to perform the remote control method as described above.
According to an eighth aspect of embodiments of the present disclosure, there is provided a computer program product, which, when executed by a processor of an electronic device, enables the electronic device to perform the remote control method as described above.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects: the coverage limited by the SDK version can be effectively avoided, the derivative problem existing in the aspect of SDK version recall is effectively avoided, and the dynamic remote control function is realized by dynamically creating the agent program, so that the complexity of the remote control program code is effectively reduced, and the maintenance cost of the remote control program code is reduced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure and are not to be construed as limiting the disclosure.
Fig. 1 is an architectural diagram of a distributed system according to an embodiment of the present disclosure.
FIG. 2 is a flow chart illustrating a method of remote control according to an exemplary embodiment.
Fig. 3 is a schematic view of an application scenario according to an embodiment of the present disclosure.
Fig. 4 is a flow chart illustrating a remote control method according to another exemplary embodiment.
Fig. 5 is a flowchart illustrating a remote control method according to still another exemplary embodiment.
Fig. 6 is a schematic view of another application scenario of the embodiment of the present disclosure.
Fig. 7 is a flowchart illustrating a remote control method according to still another exemplary embodiment.
FIG. 8 is a block diagram illustrating a remote control device according to an exemplary embodiment.
FIG. 9 is a block diagram illustrating a remote control device according to an exemplary embodiment.
FIG. 10 is a block diagram illustrating a remote control device according to an exemplary embodiment.
FIG. 11 is a block diagram illustrating a remote control device according to an exemplary embodiment.
FIG. 12 is a block diagram of a remote control system, shown in accordance with an exemplary embodiment.
FIG. 13 is a block diagram illustrating an electronic device in accordance with an example embodiment.
Detailed Description
In order to make the technical solutions of the present disclosure better understood by those of ordinary skill in the art, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
First, an application scenario of the embodiment of the present disclosure is introduced, where the application scenario of the present disclosure is a remote control scenario, and the scenario includes a first device, a second device, and a remote control system, where the device is, for example, an electronic device, the electronic device may be a hardware device having various operating systems and imaging apparatuses, such as a mobile phone, a tablet computer, a personal digital assistant, and a wearable device, the electronic device may also be, for example, a server in a distributed system, the second device in the embodiment of the present disclosure is an electronic device that is remotely controlled, and the first device may be an electronic device that implements remote control, and the aforementioned first device, second device, and devices where the remote control system is located may jointly form a distributed system, which is not limited in this respect.
In the embodiment of the present disclosure, an Agent management platform may be built in the first device, so that the Agent management platform performs corresponding functions of management, storage, invocation, and the like on the Agent for assisting in performing remote control, as described in the following embodiments.
That is to say, in the embodiment of the present disclosure, the remote control system and an Agent management platform in the first device are linked to jointly implement remote control of a process providing a service in the second device, and the remote control mode is specifically remote control based on bytecode enhancement, and the remote control system may be configured in the second device, or may be configured in other electronic devices besides the first device and the second device, which is not limited to this.
The remote control system in the embodiments of the present disclosure is, for example, a fault injection system, and the fault injection system can execute some processing logics of fault injection, for example, fault injection refers to a reliability verification technology, which intentionally introduces a fault into the system through a controlled experiment and observes behaviors of the system when the fault exists, and the fault injection technology is generally divided into: hardware-based fault injection, software-based fault injection, and simulation-based fault injection.
Of course, the remote control function that can be realized by the remote control system in the embodiment of the present disclosure is not limited to the above fault injection, and may be any possible remote control function.
Therefore, in an application scenario of the present disclosure, reference may be made to fig. 1 for an architecture layout of each device, where fig. 1 is an architecture schematic diagram of a distributed system according to an embodiment of the present disclosure, and includes a first device 10, an Agent management platform 111 configured in the first device 11, a second device 12, and a remote control system 13, where the remote control system 13 may be configured in the first device 10, or may also be configured in another electronic device 14, and the remote control system 13 in fig. 1 is configured in another electronic device 14 for example, or may be flexibly adjusted according to a requirement of actual use, which is not limited thereto.
The computing programming language relied on by the remote control method in the embodiment of the present disclosure may be any possible computing programming language, for example, the computing programming language relied on by the remote control method in the embodiment of the present disclosure is exemplified as a Java programming language, and the present disclosure is not limited thereto.
Fig. 2 is a flowchart illustrating a remote control method, as shown in fig. 2, for use in a first device, according to an exemplary embodiment, including the following steps.
In step S201, a remote control request sent by a remote control system is received, where the remote control request includes: and the information of the second equipment and the identifier of the process to be controlled run in the second equipment.
In some embodiments, an Agent management platform may be configured in the first device, and a listener may be configured in the first device, and the Agent management platform is controlled to be electrically connected to the listener, so that the listener monitors whether a remote control request sent by a remote control system (taking the remote control system as an example of a fault injection system) is received, where when the remote control system responds to a monitoring instruction of a developer, the remote control request corresponding to the monitoring instruction may be generated, and the remote control request carries second device information and a process identifier to be controlled, and then the remote control system sends the remote control request to the first device, and at this time, the listener in the first device may listen to the remote control request received by the first device.
The second device information may be used to identify identity information of a second device in the distributed system, where the second device is a device that is required by a developer to perform remote monitoring, and the second device information may specifically be, for example, an IP Address (Internet Protocol Address) and a port number of the second device, or may also be any other possible parameter that can uniquely identify the identity information of the second device, which is not limited herein.
The Process identifier to be controlled may be, for example, a business Process that runs on the second device and provides a business service to the outside, or may also be any other Process that runs in the second device, where a Process (Process) is a running activity of a program in a computer on a data set, is a basic unit for resource allocation and scheduling of a system, and is a basis of an operating system structure, and the Process identifier to be controlled may be, for example, a serial number or a serial number of the Process to be controlled, which is not limited herein.
In step S202, a remote control instruction is generated according to the process identifier to be controlled.
That is to say, in the embodiment of the present disclosure, a remote control instruction is generated based on an Agent (Agent) management platform of a third party, a target Agent corresponding to a process identifier to be controlled is established based on the remote control instruction, and the established target Agent is managed, forwarded, and invoked, so as to assist a remote control system in remotely controlling a corresponding process in a second device.
In step S203, a target agent corresponding to the process identifier to be controlled is created, where the target agent includes: target class and/or target method.
That is, if the first device receives a remote control request sent by the remote control system, the first device may create a target Agent corresponding to a process identifier to be controlled based on an Agent management platform, and the Agent management platform provides an Agent creation for outside and deletes a related interface for the Agent, so that an external remote control system may send the remote control request to the first device and call the related interface provided by the Agent management platform based on the remote control request to implement remote control of the process to be controlled.
In step S204, the remote control instruction is sent to the second device to which the second device information belongs, so as to trigger the second device to perform bytecode enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process to be controlled based on the target class and/or the target method.
The above-mentioned remote control instruction is generated according to the identifier of the process to be controlled, and the remote control instruction is sent to the second device to which the information of the second device belongs, so as to trigger the second device to perform bytecode-enhanced processing on the corresponding class and/or the corresponding method in the program code corresponding to the process to be controlled based on the target class and/or the target method, where the target agent program is processing logic in the program code for remote control, and the target agent program may be composed of some classes and/or methods, for example.
That is to say, the Agent management platform in the first device generates a corresponding remote control instruction according to the remote control request sent by the remote control system, and generates a corresponding target Agent program according to the process identifier to be controlled carried in the remote control request, so that the remote control system can remotely control the process to be controlled in the second device based on the target Agent program.
When the target Agent program corresponding to the process identifier to be controlled is created, the method and/or the class of the remote control logic described in the remote control request may be specifically analyzed, and then, the target Agent program java Agent corresponding to the method and/or the class of the remote control logic is generated, or alternatively, the service function corresponding to the process to be controlled is determined based on an Agent program generation rule built in an Agent management platform, and then, the target Agent program corresponding to the service function is generated, which is not limited thereto.
The second device performs bytecode-enhanced processing on a corresponding class and/or a corresponding method in the program code corresponding to the process to be controlled based on the target class and/or the target method, which may be specifically referred to in the following embodiments.
Optionally, in some embodiments, before sending the remote control instruction to the second device to which the second device information belongs, a Content Delivery Network (CND) to which the second device is connected is further connected, so that sending the remote control instruction to the second device to which the second device information belongs may be sending the remote control instruction to the second device to which the second device information belongs, and uploading the target agent program to the Content Delivery Network, so that the second device acquires the target agent program from the Content Delivery Network according to the remote control instruction, and therefore, the performance of the Content Delivery Network can be benefited, a Jar package for quickly acquiring the target agent program is realized, the timeliness of remote control is improved, and the remote control effect is improved.
For example, referring to fig. 3, fig. 3 is a schematic view of an application scenario of the embodiment of the disclosure, a program module executed by a first device may specifically refer to 31 in fig. 3, where the program module includes an Agent management platform, and also includes a fault injection system in the application scenario, where the Agent management platform may be configured in the first device, and the fault injection system may be configured in the first device, or in other electronic devices except the first device and the second device, which is not limited thereto.
The Agent management platform receives a remote control request sent by a fault injection system, creates a target Agent program based on the remote control request, generates a corresponding remote control instruction according to a process identifier to be controlled carried by the remote control request, sends the remote control instruction to the second device 32 side, uploads the generated target Agent program to a content distribution network CDN (CDN), so that the second device 32 can respond to the remote control instruction and download a Jar package (Agent. Jar) of the target Agent program from a content distribution network accessed by the second device, and then associates and binds the Jar package (Agent. Jar) of the target Agent program and the process to which the process identifier to be controlled belongs.
For example, the fault injection system specifies a process to be controlled, which needs to be byte code enhanced, determines an IP address and a port number of a second device, on which the process to be controlled runs (the IP address and the port number may be referred to as information of the second device), generates a corresponding remote control request, then, the remote control request is sent to the Agent management platform, after the Agent management platform receives the remote control request, generating a corresponding remote control command according to the remote control request, generating a target agent program, and then, the remote control instruction is sent to an Agent listening service (Agent listening service) on the second device side, then, the Agent listening service of the second device executes the local script based on the received remote control instruction, and downloading the Jar package (agent. Jar) of the target agent program from the CDN side of the content delivery network, and finishing the association with the business process to be controlled.
In the embodiment, the remote control is performed without depending on a development framework SDK point burying mechanism, so that the coverage limited to the SDK version can be effectively avoided, the derivative problem in the aspect of SDK version recall is effectively avoided, and the dynamic remote control function is realized by dynamically creating the agent program, thereby effectively reducing the complexity of the remote control program code and reducing the maintenance cost of the remote control program code.
Fig. 4 is a flowchart illustrating a remote control method according to another exemplary embodiment, where, as shown in fig. 4, the remote control method is used in the first device, and after the target agent program corresponding to the process identifier to be controlled is created, the method may further include the following steps.
In step S401, a corresponding relationship between the second device information and the process identifier to be controlled is established, and a preset relationship table is updated according to the corresponding relationship, where the preset relationship table configures the process identifiers corresponding to the multiple created agent programs and the corresponding relationship between the device information corresponding to each process identifier.
That is, after the target agent corresponding to the process identifier to be controlled is created, the target agent may be uniquely identified by the process identifier to be controlled, and then, a corresponding relationship between the second device information and the process identifier to be controlled may be established, and the preset relationship table may be updated according to the corresponding relationship, for example, the second device information (IP address and port number) and the corresponding process identifier to be controlled may be supplemented into the preset relationship table, and the preset relationship table is configured with the process identifiers corresponding to the created agents and the corresponding relationships between the device information corresponding to the process identifiers.
Specifically, after the target agent program is created each time, the process identifier corresponding to the created agent program and the device information corresponding to each process identifier may be recorded in the relationship table, so as to form the preset relationship table.
In the embodiment of the present disclosure, a preset relationship table is maintained to assist in dynamically creating an agent and assist in managing an established agent, and an application scenario based on the preset relationship table is provided below.
In step S402, an agent deletion request transmitted from the remote control system is received.
The duration time injected by the remote control processing logic can be monitored by the remote control system, if the duration time exceeds a preset time threshold value, an Agent program deleting request can be sent to the Agent management platform, and then the Agent management platform triggers and executes subsequent steps.
In step S403, if the agent deletion request carries the target process identifier, second device information corresponding to the target process identifier is obtained according to the preset relationship table.
The process corresponding to the Agent program to be deleted may be referred to as a target process, the identifier of the target process may be referred to as a target process identifier, the Agent program to be deleted is established by the Agent management platform in advance based on the target process identifier, and second device information operated by the target process and the target process identifier are stored correspondingly when the Agent program to be deleted is created, so that if the Agent program deletion request carries the target process identifier, the second device information corresponding to the target process identifier may be directly acquired according to a preset relationship table.
In step S404, an agent deletion instruction is generated according to the target process identifier, and the agent deletion instruction is sent to the second device to which the corresponding second device information belongs.
After the second device information corresponding to the target process identifier is directly obtained according to the preset relationship table, an agent program deleting instruction can be generated according to the target process identifier, and the agent program deleting instruction is sent to the second device to which the corresponding second device information belongs, so that the second device deletes the downloaded Jar package (agent.
In the embodiment, not only the establishment of the Agent program but also the deletion of the established Agent program can be supported, so that the unnecessary Agent program is cleared in time, the program code amount required to be managed by the Agent management platform is simplified, the management efficiency of the Agent management platform is effectively improved, and the timeliness of the overall remote control is improved.
Fig. 5 is a flowchart illustrating a remote control method, which is used in a second device, as shown in fig. 5, according to still another exemplary embodiment, including the following steps.
In step S501, a remote control instruction sent by a first device is received, where the remote control instruction includes: and identifying the process to be controlled.
In fig. 5 and the following embodiments, specific reference may be made to the above embodiments for descriptions of the same self-defined term, which is not described herein again.
In some embodiments, before receiving the remote control instruction sent by the first device, an Agent monitoring service (Agent monitoring service) may be further used to monitor whether the remote control instruction sent by the first device is received, so that when the remote control instruction sent by the first device is received, a process identifier to be controlled carried in the remote control instruction is triggered and analyzed, and the remote control instruction is dynamically monitored, so that the timeliness of instruction monitoring is ensured, and the timeliness of remote control can be effectively improved.
In step S502, in response to the remote control instruction, a target agent program corresponding to the process identifier to be controlled is acquired.
The embodiment shown in fig. 3 may also be referred to, specifically, the program module executed by the second device may be referred to as 32 in fig. 3, that is, an Agent monitoring service may be configured in the second device, and when a remote control instruction sent by the first device is received based on Agent monitoring service monitoring, the process identifier to be controlled carried in the remote control instruction may be analyzed, and then, in response to the remote control instruction, the target Agent program corresponding to the process identifier to be controlled is obtained, so as to execute a corresponding script, and start the target Agent program, so as to perform association processing on the target Agent program and the process to be controlled.
Optionally, in some embodiments, the step of the second device connecting to the content delivery network and acquiring the target Agent program corresponding to the identifier of the process to be controlled in response to the remote control instruction may be acquiring the target Agent program corresponding to the identifier of the process to be controlled from the content delivery network in response to the remote control instruction, for example, by an Agent monitoring service of the second device executing a local script based on the received remote control instruction, so as to download a Jar package (Agent. Jar) of the target Agent program from the CDN side of the content delivery network and complete association with the business process to be controlled.
By responding to the remote control instruction, the target agent program corresponding to the process identification to be controlled is obtained from the content distribution network, so that the target agent program can be obtained from the content distribution network according to the remote control instruction, the performance of the content distribution network can be benefited, the Jar package of the target agent program can be quickly obtained, the timeliness of remote control is improved, and the remote control effect is improved.
In step S503, the target agent program is associated with the process to which the process identifier to be controlled belongs.
In step S504, the target agent program is analyzed to obtain a target class and/or a target method, and the bytecode enhancement processing is performed on the corresponding class and/or the corresponding method in the program code corresponding to the process according to the target class and/or the target method.
For example, the target agent is processing logic in the aspect of program code for remote control, and the target agent may be composed of some classes and/or methods, for example, in this embodiment of the present disclosure, the target agent may be analyzed to obtain a target class and/or a target method, and according to the target class and/or the target method, byte code enhancement processing is performed on a corresponding class and/or a corresponding method in the program code corresponding to the process, and the target class and/or the target method may be used for performing control, such as delay control on the process to be controlled, or performing control, such as exception monitoring, on the process to be controlled, without limitation.
In the embodiment of the present disclosure, the second device is further supported to dynamically manage and control a Jar package (agent. Jar) of a downloaded target agent, and may also receive an agent deleting instruction sent by the first device, where the agent deleting instruction carries: identifying a target process; and deleting the target agent program corresponding to the process to which the target process identifier belongs.
In the embodiment of the present disclosure, in order to effectively implement pluggable remote control processing logic and implement provision of a plug-in remote control function, a specific type of remote control may be performed according to a requirement of an actual remote control, and a target agent program may be deleted in time after the remote control is completed, and a duration time of a current bytecode enhancement processing may also be acquired, and if the duration time reaches a time threshold, the bytecode enhancement processing is stopped.
That is to say, the remote control in the embodiment of the present disclosure injects an overtime control logic as a whole, configures a time threshold in advance (the time threshold may be adaptively configured according to actual requirements of the remote control, or may be configured in advance by a factory program of a distributed system, which is not limited to this), parses the target agent program to obtain a target class and/or a target method, performs bytecode enhancement processing on a corresponding class and/or a corresponding method in a program code corresponding to a process according to the target class and/or the target method, times duration of the bytecode enhancement processing, and stops performing the bytecode enhancement processing when the duration reaches the time threshold, thereby implementing a pluggable remote control processing logic.
In some embodiments, in order to effectively ensure the applicability of remote control, a remote fault injection process is implemented in a virtual machine, and the impact on other running processes in a second device is reduced, this embodiment further provides a method for fault injection process, if a target agent program is used to perform fault injection process on a process, after the second device obtains the target agent program corresponding to a process identifier to be controlled from a content distribution network in response to a remote control instruction, a sandbox module of the virtual machine may be used to load an injection plug-in, the virtual machine runs in the second device, and inputs a target class and/or a target method of the target agent program into an injection scheduler of the virtual machine based on the injection plug-in, and then a bytecode enhancement process may be performed on the corresponding class and/or the corresponding method in a program code corresponding to the process in the injection scheduler, and then, injecting the program code after the enhancement processing into an executor of the virtual machine so as to perform fault injection processing.
Referring to fig. 6, fig. 6 is a schematic diagram of another application scenario of the embodiment of the disclosure, a computing programming language relied on by a remote control method is a Java programming language shown in fig. 6, fig. 6 presents an architecture schematic diagram of a second device, the second device can receive a remote control instruction sent by a first device, then receives a create-inject task instruction issued by a fault injection system in response to the remote control instruction, then the second device downloads a Jar package (agent. Jar) of a target agent program from a content distribution network in response to the create-inject task instruction, loads an inject plug-in based on a sandbox module of a JVM (Java Virtual Machine), inputs the Jar package (agent. Jar) of the target agent program into an inject scheduler of the JVM based on the plug-in, and then performs bytecode enhancement on corresponding classes and/or corresponding methods in a program code corresponding to a process in the inject scheduler of the JVM, after the enhancement processing, corresponding program codes are injected into the executor, and accordingly, the flow of deleting the injection task is similar to that described above, and is not described again here.
In the embodiment, the Agent program created based on the Agent management platform realizes byte enhancement processing on the program code corresponding to the process to be controlled so as to realize remote control on the process to be controlled, and the remote control is carried out without depending on a development framework SDK (software development kit) point burying mechanism, so that the coverage limited to an SDK version can be effectively avoided, the derivative problem in the aspect of SDK version recall is effectively avoided, and the Agent program is dynamically created so as to realize a dynamic remote control function, effectively reduce the complexity of the remote control program code and reduce the maintenance cost of the remote control program code.
Fig. 7 is a flowchart illustrating a remote control method according to still another exemplary embodiment, which is exemplified by interaction between a first device and a second device and a remote control system as illustrated in fig. 7, and includes the following steps.
In step S701, the first device receives a remote control request sent by a remote control system, where the remote control request includes: and the information of the second equipment and the identifier of the process to be controlled run in the second equipment.
In step S702, the first device generates a remote control instruction according to the process identifier to be controlled.
In step S703, the first device creates a target agent corresponding to the process identifier to be controlled, where the target agent includes: target class and/or target method.
In step S704, the first device sends the remote control instruction to the second device to which the second device information belongs, and remotely controls the process to be controlled based on the target agent.
In step S705, the second device receives a remote control instruction sent by the first device, where the remote control instruction includes: and identifying the process to be controlled.
In step S706, the second device acquires the target agent corresponding to the process identifier to be controlled in response to the remote control instruction.
In step S707, the second device associates the target agent with the process to which the process identifier to be controlled belongs, analyzes the target agent to obtain a target class and/or a target method, and performs bytecode enhancement on a corresponding class and/or a corresponding method in the program code corresponding to the process according to the target class and/or the target method.
For the step description shown in fig. 7, reference may be made to the above embodiments specifically, and details are not repeated here.
FIG. 8 is a block diagram illustrating a remote control device according to an exemplary embodiment.
As shown in fig. 8, the remote control apparatus 80 is applied to a first device, and the remote control apparatus 80 includes:
a first receiving module 801 configured to receive a remote control request sent by a remote control system, where the remote control request includes: the information of the second equipment and the identification of the process to be controlled, wherein the process to be controlled runs in the second equipment;
a generating module 802 configured to generate a remote control instruction according to the process identifier to be controlled;
a creating module 803 configured to create a target agent program corresponding to the process identifier to be controlled, where the target agent program includes: a target class and/or a target method;
the sending module 804 is configured to send the remote control instruction to the second device to which the second device information belongs, so as to trigger the second device to perform bytecode enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process to be controlled based on the target class and/or the target method.
In some embodiments of the present disclosure, referring to fig. 9, further comprising:
a connection module 805 configured to connect to a content distribution network accessed by the second device;
a sending module 804, configured to send the remote control instruction to the second device to which the second device information belongs, and upload the target agent program to the content distribution network, so that the second device acquires the target agent program from the content distribution network according to the remote control instruction.
In some embodiments of the present disclosure, referring to fig. 9, further comprising:
the establishing module 806 is configured to establish a corresponding relationship between the second device information and the process identifier to be controlled, and update a preset relationship table according to the corresponding relationship, where the preset relationship table configures the process identifiers corresponding to the multiple created agent programs and the corresponding relationship between the device information corresponding to each process identifier.
In some embodiments of the present disclosure, wherein,
a first receiving module 801 configured to receive an agent deletion request sent by a remote control system;
a first obtaining module 807 configured to obtain, when the agent deletion request carries the target process identifier, second device information corresponding to the target process identifier according to a preset relationship table;
and the processing module 808 is configured to generate an agent program deleting instruction according to the target process identifier, and send the agent program deleting instruction to the second device to which the corresponding second device information belongs.
With regard to the remote control apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the remote control method, and will not be elaborated here.
In the embodiment, the remote control is performed without depending on a development framework SDK point burying mechanism, so that the coverage limited to the SDK version can be effectively avoided, the derivative problem in the aspect of SDK version recall is effectively avoided, and the dynamic remote control function is realized by dynamically creating the agent program, thereby effectively reducing the complexity of the remote control program code and reducing the maintenance cost of the remote control program code.
FIG. 10 is a block diagram illustrating a remote control device according to an exemplary embodiment.
As shown in fig. 10, the remote control apparatus 100 is applied to a second device, and the remote control apparatus 100 includes:
a second receiving module 101, configured to receive a remote control instruction sent by the first device, where the remote control instruction includes: identifying a process to be controlled;
the second obtaining module 102 is configured to respond to the remote control instruction, and obtain a target agent program corresponding to the process identifier to be controlled;
and the association processing module 103 is configured to associate the target agent program with the process to which the process identifier to be controlled belongs, analyze the target agent program to obtain a target class and/or a target method, and perform bytecode enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process according to the target class and/or the target method.
In some embodiments of the present disclosure, the second device is connected to a content distribution network, and the second obtaining module 102 is configured to obtain, in response to the remote control instruction, a target agent corresponding to the process identifier to be controlled from the content distribution network.
In some embodiments of the present disclosure, the association processing module 103 is configured to, when the target agent is used to perform fault injection processing on the process, load an injection plug-in with a sandbox module of the virtual machine, where the virtual machine runs in the second device, and input a target class and/or a target method of the target agent into an injection scheduler of the virtual machine based on the injection plug-in, and perform, among the injection schedulers, bytecode enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process, and inject the enhanced program code into an executor of the virtual machine to perform fault injection processing.
In some embodiments of the present disclosure, referring to fig. 11, further comprising:
a third obtaining module 104 configured to obtain a duration of the bytecode enhancement processing currently performed;
and the association processing module 103 is configured to stop performing the bytecode enhancement processing when the duration reaches the time threshold.
In some embodiments of the present disclosure, referring to fig. 11, further comprising:
a third receiving module 105, configured to receive an agent program deleting instruction sent by the first device, where the agent program deleting instruction carries: identifying a target process;
and the deleting module 106 is configured to delete the target agent program corresponding to the process to which the target process identifier belongs.
In some embodiments of the present disclosure, the second receiving module 101 is configured to employ an agent listening service to listen whether a remote control instruction sent by the first device is received.
With regard to the remote control apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the remote control method, and will not be elaborated here.
In the embodiment, the Agent program created based on the Agent management platform realizes byte enhancement processing on the program code corresponding to the process to be controlled so as to realize remote control on the process to be controlled, and the remote control is carried out without depending on a development framework SDK (software development kit) point burying mechanism, so that the coverage limited to an SDK version can be effectively avoided, the derivative problem in the aspect of SDK version recall is effectively avoided, and the Agent program is dynamically created so as to realize a dynamic remote control function, effectively reduce the complexity of the remote control program code and reduce the maintenance cost of the remote control program code.
FIG. 12 is a block diagram of a remote control system, shown in accordance with an exemplary embodiment.
Referring to fig. 12, the remote control system 120 includes:
the remote control device 80 and the remote control device 100 in the above embodiments.
With regard to the remote control system in the present embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the remote control method, and will not be explained in detail here.
In the embodiment, the remote control is performed without depending on a development framework SDK point burying mechanism, so that the coverage limited to the SDK version can be effectively avoided, the derivative problem in the aspect of SDK version recall is effectively avoided, and the dynamic remote control function is realized by dynamically creating the agent program, thereby effectively reducing the complexity of the remote control program code and reducing the maintenance cost of the remote control program code.
An electronic device is also provided in an embodiment of the present disclosure, and fig. 13 is a block diagram of an electronic device shown in accordance with an exemplary embodiment. For example, the electronic device 1300 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, an exercise device, a personal digital assistant, and so forth.
Referring to fig. 13, electronic device 1300 may include one or more of the following components: a processing component 1302, a memory 1304, a power component 1306, a multimedia component 1308, an audio component 1310, an input/output (I/O) interface 1312, a sensor component 1314, and a communication component 1316.
The processing component 1302 generally controls overall operation of the electronic device 1300, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing component 1302 may include one or more processors 1320 to execute instructions to perform all or part of the steps of the methods described above. Further, the processing component 1302 can include one or more modules that facilitate interaction between the processing component 1302 and other components. For example, the processing component 1302 may include a multimedia module to facilitate interaction between the multimedia component 1308 and the processing component 1302.
The memory 1304 is configured to store various types of data to support operation at the electronic device 1300. Examples of such data include instructions for any application or method operating on the electronic device 1300, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 1304 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The power supply component 1306 provides power to the various components of the electronic device 1300. Power components 1306 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for electronic device 1300.
The multimedia component 1308 includes a touch-sensitive display screen that provides an output interface between the electronic device 1300 and a user. In some embodiments, the touch display screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 1308 includes a front facing camera and/or a rear facing camera. The front-facing camera and/or the rear-facing camera may receive external multimedia data when the electronic device 1300 is in an operating mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 1310 is configured to output and/or input audio signals. For example, the audio component 1310 includes a Microphone (MIC) configured to receive external audio signals when the electronic device 1300 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 1304 or transmitted via the communication component 1316.
In some embodiments, the audio component 1310 also includes a speaker for outputting audio signals.
The I/O interface 1312 provides an interface between the processing component 1302 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 1314 includes one or more sensors for providing various aspects of state assessment for the electronic device 1300. For example, the sensor assembly 1314 may detect an open/closed state of the electronic device 1300, the relative positioning of components, such as a display and keypad of the electronic device 1300, the sensor assembly 1314 may also detect a change in the position of the electronic device 1300 or a component of the electronic device 1300, the presence or absence of user contact with the electronic device 1300, orientation or acceleration/deceleration of the electronic device 1300, and a change in the temperature of the electronic device 1300. The sensor assembly 1314 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 1314 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 1314 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 1316 is configured to facilitate communications between the electronic device 1300 and other devices in a wired or wireless manner. The electronic device 1300 may access a wireless network based on a communication standard, such as WiFi, 2G, or 3G, or a combination thereof. In an exemplary embodiment, the communication component 1316 receives broadcast signals or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communications component 1316 also includes a Near Field Communications (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the electronic device 1300 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described remote control method.
In an exemplary embodiment, a non-transitory computer-readable storage medium comprising instructions, such as the memory 1304 comprising instructions, executable by the processor 1320 of the electronic device 1300 to perform the above-described method is also provided. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
A non-transitory computer readable storage medium, wherein instructions in the storage medium, when executed by a processor of an electronic device 1300, enable the electronic device 1300 to perform a remote control method.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A remote control method is applied to a first device and comprises the following steps:
receiving a remote control request sent by a remote control system, wherein the remote control request comprises: the information of the second equipment and the identification of the process to be controlled, wherein the process to be controlled runs in the second equipment;
generating a remote control instruction according to the process identifier to be controlled;
creating a target agent program corresponding to the process identifier to be controlled, wherein the target agent program comprises: a target class and/or a target method;
and sending the remote control instruction to second equipment to which the second equipment information belongs so as to trigger the second equipment to perform byte code enhancement processing on a corresponding class and/or a corresponding method in a program code corresponding to the process to be controlled based on the target class and/or the target method.
2. The method according to claim 1, wherein before the sending the remote control instruction to the second device to which the second device information belongs, further comprising:
connecting a content distribution network accessed by the second equipment;
the sending the remote control instruction to the second device to which the second device information belongs includes:
and sending the remote control instruction to second equipment to which the second equipment information belongs, and uploading the target agent program to the content distribution network, so that the second equipment acquires the target agent program from the content distribution network according to the remote control instruction.
3. A remote control method is applied to a second device and comprises the following steps:
receiving a remote control instruction sent by the first device, wherein the remote control instruction comprises: identifying a process to be controlled;
responding to the remote control instruction, and acquiring a target agent program corresponding to the process identifier to be controlled;
associating the target agent program with the process to which the process identifier to be controlled belongs;
and analyzing the target agent program to obtain a target class and/or a target method, and performing byte code enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process according to the target class and/or the target method.
4. The method according to claim 3, wherein the second device is connected to a content distribution network, and the step of obtaining the target agent corresponding to the process identifier to be controlled in response to the remote control instruction comprises:
and responding to the remote control instruction, and acquiring the target agent program corresponding to the process identification to be controlled from the content distribution network.
5. The method according to claim 3, wherein if the target agent is used for fault injection processing of the process, after the target agent corresponding to the process identifier to be controlled is obtained from the content distribution network in response to the remote control instruction, the method further comprises:
loading an injection plug-in by using a sandbox module of a virtual machine, wherein the virtual machine runs in the second equipment;
inputting a target class and/or a target method of the target agent into an injection scheduler of the virtual machine based on the injection plug-in;
the step of performing bytecode-intensive processing on the corresponding class and/or the corresponding method in the program code corresponding to the process according to the target class and/or the target method includes:
in the injection scheduler, performing byte code enhancement processing on a corresponding class and/or a corresponding method in a program code corresponding to a process;
and injecting the program code after the enhancement processing into an executor of the virtual machine so as to perform the fault injection processing.
6. A remote control device, applied to a first device, comprising:
a first receiving module configured to receive a remote control request sent by a remote control system, the remote control request including: the information of the second equipment and the identification of the process to be controlled, wherein the process to be controlled runs in the second equipment;
the generating module is configured to generate a remote control instruction according to the process identifier to be controlled;
a creating module configured to create a target agent program corresponding to the process identifier to be controlled, the target agent program including: a target class and/or a target method;
and the sending module is configured to send the remote control instruction to the second device to which the second device information belongs so as to trigger the second device to perform bytecode enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process to be controlled based on the target class and/or the target method.
7. A remote control device, applied to a second device, comprising:
a second receiving module configured to receive a remote control instruction sent by the first device, the remote control instruction including: identifying a process to be controlled;
the second acquisition module is configured to respond to the remote control instruction and acquire a target agent program corresponding to the process identifier to be controlled;
and the association processing module is configured to associate the target agent program with the process to which the process identifier to be controlled belongs, analyze the target agent program to obtain a target class and/or a target method, and perform bytecode enhancement processing on a corresponding class and/or a corresponding method in the program code corresponding to the process according to the target class and/or the target method.
8. An electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the remote control method of any of claims 1 to 2 or to implement the remote control method of any of claims 3 to 5.
9. A remote control system, comprising:
the remote control device of claim 6;
the remote control device of claim 7.
10. A storage medium in which instructions, when executed by a processor of an electronic device, enable the electronic device to perform a remote control method as claimed in any one of claims 1 to 2, or to implement a remote control method as claimed in any one of claims 3 to 5.
CN202011069558.7A 2020-09-30 2020-09-30 Remote control method, device, electronic equipment, system and storage medium Pending CN112256448A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011069558.7A CN112256448A (en) 2020-09-30 2020-09-30 Remote control method, device, electronic equipment, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011069558.7A CN112256448A (en) 2020-09-30 2020-09-30 Remote control method, device, electronic equipment, system and storage medium

Publications (1)

Publication Number Publication Date
CN112256448A true CN112256448A (en) 2021-01-22

Family

ID=74234763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011069558.7A Pending CN112256448A (en) 2020-09-30 2020-09-30 Remote control method, device, electronic equipment, system and storage medium

Country Status (1)

Country Link
CN (1) CN112256448A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709243A (en) * 2021-08-27 2021-11-26 广州博冠信息科技有限公司 Equipment remote control method and device, electronic equipment and storage medium
CN113905080A (en) * 2021-09-27 2022-01-07 深信服科技股份有限公司 Management method, device, system and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010935A (en) * 1998-06-25 2000-01-14 Digital Vision Laboratories:Kk Distributed processing system and its method
US6654793B1 (en) * 1996-04-23 2003-11-25 Sun Microsystems, Inc. System and method for facilitating dynamic loading of stub information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US20150324244A1 (en) * 2014-05-09 2015-11-12 Wipro Limited System and method for a smart operating system for integrating dynamic case management into a process management platform
CN109213611A (en) * 2018-08-01 2019-01-15 天津字节跳动科技有限公司 The striding course means of communication, device, terminal and storage medium
US20190294798A1 (en) * 2018-03-22 2019-09-26 Huazhong University Of Science And Technology Trustzone-based security isolation method for shared library and system thereof
CN111010438A (en) * 2019-12-13 2020-04-14 北京达佳互联信息技术有限公司 Remote procedure calling method, device, server and storage medium
CN111625225A (en) * 2020-05-28 2020-09-04 北京达佳互联信息技术有限公司 Program specified data output method and device
CN111625378A (en) * 2020-05-28 2020-09-04 北京达佳互联信息技术有限公司 Remote source code viewing method and device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654793B1 (en) * 1996-04-23 2003-11-25 Sun Microsystems, Inc. System and method for facilitating dynamic loading of stub information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
JP2000010935A (en) * 1998-06-25 2000-01-14 Digital Vision Laboratories:Kk Distributed processing system and its method
US20150324244A1 (en) * 2014-05-09 2015-11-12 Wipro Limited System and method for a smart operating system for integrating dynamic case management into a process management platform
US20190294798A1 (en) * 2018-03-22 2019-09-26 Huazhong University Of Science And Technology Trustzone-based security isolation method for shared library and system thereof
CN109213611A (en) * 2018-08-01 2019-01-15 天津字节跳动科技有限公司 The striding course means of communication, device, terminal and storage medium
CN111010438A (en) * 2019-12-13 2020-04-14 北京达佳互联信息技术有限公司 Remote procedure calling method, device, server and storage medium
CN111625225A (en) * 2020-05-28 2020-09-04 北京达佳互联信息技术有限公司 Program specified data output method and device
CN111625378A (en) * 2020-05-28 2020-09-04 北京达佳互联信息技术有限公司 Remote source code viewing method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113709243A (en) * 2021-08-27 2021-11-26 广州博冠信息科技有限公司 Equipment remote control method and device, electronic equipment and storage medium
CN113905080A (en) * 2021-09-27 2022-01-07 深信服科技股份有限公司 Management method, device, system and storage medium

Similar Documents

Publication Publication Date Title
CN105955765B (en) Application preloading method and device
CN104267977B (en) application program operation method and device
US9870239B2 (en) Method and device for running application program
CN112256448A (en) Remote control method, device, electronic equipment, system and storage medium
CN115185717A (en) Interface calling method and device, electronic equipment and storage medium
CN109976872B (en) Data processing method and device, electronic equipment and storage medium
CN112256563A (en) Android application stability testing method and device, electronic equipment and storage medium
CN111857763B (en) Data processing method, device, electronic equipment and storage medium
CN110865823A (en) Pre-installed application control method, pre-installed application control device and storage medium
CN105159181A (en) Control method and device for intelligent equipment
CN113901496A (en) Business processing method, device and equipment based on multi-business system
CN112506628B (en) Agent program management method, device, computer equipment and storage medium
CN111597106A (en) Point burying management method and device
CN107257384B (en) Service state monitoring method and device
CN109933357B (en) Application program upgrading method and device
CN112651012A (en) Information processing method and device
CN107391128B (en) Method and device for monitoring virtual file object model vdom
CN112306566A (en) Data processing method and device
CN110995767B (en) Request processing method and device
CN113360341B (en) Front-end application maintenance and loading method and device
CN104866349A (en) Application updating method and device
CN115373763B (en) Plug-in loading method and device, electronic equipment and storage medium
CN115203618B (en) Page processing method and device, electronic equipment and storage medium
CN108173846B (en) Login method and device
CN116450245A (en) Method, device and equipment for determining system call information of application

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