Remote development method, device and system, storage medium and electronic equipment
By setting up a proxy on the device cloud management end and establishing communication connections based on access configuration information, the problem that the existing technology cannot support remote development across network, cross-region, and cross-platform is solved, and high flexibility and wide-ranging applications of remote development capabilities are achieved.
Patent Information
- Application Number
- CN202411646967.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-18
- Publication Date
- 2025-04-15
AI Technical Summary
Existing end-to-end remote communication technologies, such as VPNs, cannot support end-to-end communication across networks, regions, and platforms, resulting in limited application scope of remote development.
By setting up a user-side proxy and a device-side proxy on the device cloud management end, a communication connection between the target client and the target device is established based on the access configuration information of the target device, and remote development across networks, cross-regions, and cross-platforms are realized.
It realizes end-to-end remote communication of various communication protocols, supports remote development across networks, cross-regionals, and cross-platforms, with a wide range of applications and high flexibility.
Smart Images

Figure CN119829301A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of computer software technology, and in particular, relates to a remote development method, device, system, storage medium and electronic device. Background Art
[0002] There are currently a variety of technologies that can achieve end-to-end remote communication, among which the more typical one is VPN (Virtual Private Network). VPN is a private network established on a public network for encrypted communication, and is widely used in corporate networks. VPN gateways achieve remote access by encrypting data packets and converting the destination address of data packets.
[0003] However, existing end-to-end remote communication technologies represented by VPN cannot support end-to-end communication across networks, regions, and platforms in embedded software development, and the application scope of remote development is relatively limited. Summary of the invention
[0004] The present application aims to solve at least one of the technical problems existing in the prior art. To this end, the present application proposes a remote development method, device, system, storage medium, electronic device and computer program product, which can support cross-network, cross-region and cross-platform remote development, with a wide range of applications and high flexibility.
[0005] In a first aspect, the present application provides a remote development method, which is applied to a device cloud management end, and the remote development method includes:
[0006] Receive a device application request sent by a user-side agent, wherein the device application request carries device information of a target device and user information of an applicant;
[0007] Determine the application result of the device application request according to the user information of the applicant and the device information of the target device;
[0008] When the application result indicates that the application is approved, obtaining access configuration information of the target device;
[0009] A communication connection is established between a target client and the target device according to the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client.
[0010] In some embodiments, establishing a communication connection between a target client and a target device according to the access configuration information, the user-side agent, and the device-side agent includes:
[0011] Establishing a communication connection between the user-side agent and the device-side agent;
[0012] Establishing a communication connection between the target client and the user-side agent according to the access configuration information;
[0013] A communication connection is established between the device-side agent and the target device according to the access configuration information.
[0014] In some embodiments, establishing a communication connection between the user-side agent and the device-side agent includes:
[0015] A communication connection between the user-side agent and the device-side agent is established based on the TCP protocol.
[0016] In some embodiments, establishing a communication connection between the target client and the user-side agent according to the access configuration information includes:
[0017] Determine, from a plurality of clients using different communication protocols, a client corresponding to the access configuration information as a target client;
[0018] Determine the data transceiver port of the target client;
[0019] A communication connection is established between the target client and the user-side agent based on the data transceiver port of the target client.
[0020] In some embodiments, establishing a communication connection between the device-side agent and the target device according to the access configuration information includes:
[0021] Determine the data transceiver port of the target device according to the access configuration information;
[0022] A communication connection is established between the device-side agent and the target device based on the data transceiver port of the target device.
[0023] In some embodiments, determining the application result of the device application request according to the user information of the applicant and the device information of the target device includes:
[0024] Generate a review interface including user information of the applicant and device information of the target device;
[0025] Providing the review interface to the applied user corresponding to the target device through the device-side agent;
[0026] The application result of the device application request is determined according to the feedback information input by the user being applied for on the review interface.
[0027] In some embodiments, the remote development method further includes:
[0028] Receiving a user login request sent by the device-side agent, wherein the user login request carries user information of the applied user;
[0029] Determine the login result of the user login request according to the user information of the applied user;
[0030] When the login result indicates that the login is successful, obtaining device information of at least one device published by the applied user through the device-side agent, wherein the at least one device includes the target device;
[0031] The device information is pushed to the applying user through the user-side agent.
[0032] In a second aspect, the present application provides a remote development device, which is applied to a device cloud management end, and the remote development device includes:
[0033] A receiving unit, configured to receive a device application request sent by a user-side agent, wherein the device application request carries device information of a target device and user information of an applicant;
[0034] A determination unit, configured to determine an application result of the device application request according to the user information of the applicant and the device information of the target device;
[0035] an acquisition unit, configured to acquire access configuration information of the target device when the application result indicates that the application is approved;
[0036] An establishing unit is used to establish a communication connection between a target client and the target device according to the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client.
[0037] In some embodiments, the establishing unit is specifically configured to:
[0038] Establishing a communication connection between the user-side agent and the device-side agent;
[0039] Establishing a communication connection between the target client and the user-side agent according to the access configuration information;
[0040] A communication connection is established between the device-side agent and the target device according to the access configuration information.
[0041] In some embodiments, the establishing unit is specifically configured to:
[0042] A communication connection between the user-side agent and the device-side agent is established based on the TCP protocol.
[0043] In some embodiments, the establishing unit is specifically configured to:
[0044] Determine, from a plurality of clients using different communication protocols, a client corresponding to the access configuration information as a target client;
[0045] Determine the data transceiver port of the target client;
[0046] A communication connection is established between the target client and the user-side agent based on the data transceiver port of the target client.
[0047] In some embodiments, the establishing unit is specifically configured to:
[0048] Determine the data transceiver port of the target device according to the access configuration information;
[0049] A communication connection is established between the device-side agent and the target device based on the data transceiver port of the target device.
[0050] In some embodiments, the determining unit is specifically configured to:
[0051] Generate a review interface including user information of the applicant and device information of the target device;
[0052] Providing the review interface to the applied user corresponding to the target device through the device-side agent;
[0053] The application result of the device application request is determined according to the feedback information input by the user being applied for on the review interface.
[0054] In some embodiments, the remote development device further includes a publishing unit, configured to:
[0055] Receiving a user login request sent by the device-side agent, wherein the user login request carries user information of the applied user;
[0056] Determine the login result of the user login request according to the user information of the applied user;
[0057] When the login result indicates that the login is successful, obtaining device information of at least one device published by the applied user through the device-side agent, wherein the at least one device includes the target device;
[0058] The device information is pushed to the applying user through the user-side agent.
[0059] In a third aspect, the present application provides a software development system, including a device-side agent, a user-side agent and a device cloud management end, wherein the device cloud management end is used to execute any of the remote development methods described above.
[0060] 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, implements any of the remote development methods described above.
[0061] In a fifth aspect, the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements any of the remote development methods described above when executing the program.
[0062] In a sixth aspect, the present application provides a computer program product, including a computer program, which implements any of the remote development methods described above when executed by a processor.
[0063] The remote development method, apparatus, system, storage medium, electronic device and computer program product provided in the embodiments of the present application receive a device application request sent by a user-side agent, the device application request carries the device information of the target device and the user information of the applicant user; determine the application result of the device application request according to the user information of the applicant user and the device information of the target device; when the application result indicates that the application is passed, obtain the access configuration information of the target device; establish a communication connection between the target client and the target device according to the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client, that is, by setting the user-side agent and the device-side agent, establish a communication connection between the target client and the target device according to the access configuration information of the target device, the user-side agent and the device-side agent, thereby realizing end-to-end remote communication of various communication protocols, supporting remote development across networks, regions and platforms, and having a wide range of applications and high flexibility. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] In order to more clearly illustrate the technical solution of the present invention, the following briefly introduces the drawings required for the description of the present invention. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative labor:
[0065] Figure 1 It is a flowchart of the remote development method provided in the embodiment of the present application;
[0066] Figure 2It is a schematic diagram of the module architecture of the remote development system provided in the embodiment of the present application;
[0067] Figure 3 It is a schematic diagram of the implementation principle of the communication coupler provided in the embodiment of the present application;
[0068] Figure 4 It is a schematic diagram of a serial port-based communication agent provided in an embodiment of the present application;
[0069] Figure 5 is a schematic diagram of the structure of a remote development device provided in an embodiment of the present application;
[0070] Figure 6 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application;
[0071] Figure 7 It is a schematic diagram of the hardware structure of the electronic device provided in the embodiment of the present application. DETAILED DESCRIPTION
[0072] The embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present application, and cannot be understood as limiting the present application.
[0073] The existing end-to-end remote communication technology represented by VPN has the following problems in embedded software development:
[0074] 1) If the device uses a serial port for communication, the existing end-to-end communication technology cannot solve the serial port communication problem across networks and regions.
[0075] 2) Usually VPN can only be used within an organization. To achieve communication with external devices or for internal devices to be used by external personnel, the client of the same VPN service provider must be installed. This limits the scope of mutual discovery and matching between device demanders and device providers.
[0076] To solve at least one of the above technical problems, the embodiments of the present application provide a remote development method, device, storage medium, electronic device and computer program product.
[0077] See also Figure 1 , Figure 1 1 is a flow chart of a remote development method provided in an embodiment of the present application. The remote development method is applied to a device cloud management terminal, and can be executed by an electronic device where the device cloud management terminal is located or a functional module or functional entity in the electronic device, and the electronic device can be a server of the device cloud. The remote development method includes the following steps 101-104, wherein:
[0078] 101. Receive a device application request sent by a user-side agent, where the device application request carries device information of a target device and user information of an applicant;
[0079] 102. Determine the application result of the device application request according to the user information of the applicant and the device information of the target device;
[0080] 103. When the application result indicates that the application is approved, obtaining access configuration information of the target device;
[0081] 104. Establish a communication connection between the target client and the target device based on the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client.
[0082] The remote development method provided in the embodiment of the present application sets a user-side agent and a device-side agent. The user-side agent sends a device application request, and the device application request carries the device information of the target device and the user information of the applying user. When the application result of the device application request indicates a pass, a communication connection is established between the target client and the target device based on the access configuration information of the target device, the user-side agent and the device-side agent, thereby realizing end-to-end remote communication of various communication protocols, supporting remote development across networks, regions and platforms, and having a wide range of applications and high flexibility.
[0083] The above steps 101 - 104 will be described in detail below.
[0084] 101. Receive a device application request sent by a user-side agent, where the device application request carries device information of a target device and user information of an applicant.
[0085] Among them, device information includes device identification, services provided, etc. User information includes user account and other information representing user identity. The target device can be a device installed with Hongdao system or other operating systems, and its device information can be uploaded by the device owner to the device cloud management terminal, and published to the outside through the device cloud management terminal for other users to view. When the user needs to perform remote development for the Hongdao system, he can send a device application request to the device cloud management terminal through the user-side agent. The Hongdao system, especially the Hongdao Intewell operating system, is a new industrial operating system for the future of new industrialization and intelligence. It is based on a microkernel and virtualization architecture, and integrates new generation technologies such as software-defined control, artificial intelligence, and the Internet. It aims to solve the needs of high real-time control, Internet collaborative development, integration of artificial intelligence and control, multi-business concurrency, distributed deployment and management, multi-protocol interconnection, multi-platform heterogeneity, extensive ecological integration, and flexible industrial APP store management in intelligent industrial scenarios.
[0086] For details, see Figure 2 , Figure 2 This is a schematic diagram of the module architecture of the remote development system provided in the embodiment of the present application. The remote development system includes two agent terminals (i.e., the user-side agent terminal and the device-side agent terminal) and a device cloud management terminal. The device cloud management terminal is a server that provides management services for the device cloud. The management service is expressed as a WEB application, including four functions: ① User management. The device cloud management terminal provides interfaces for adding, deleting, and logging in device owners and users. ② Agent terminal management. The device cloud management terminal provides interfaces such as agent access authentication and agent upgrade. ③ Device information management. The device cloud management terminal provides interfaces for device information aggregation, updating, and querying. ④ Communication coupler management. The device cloud management terminal is responsible for deploying communication couplers according to the communication requests of the agent terminals. After the agent terminals complete the communication, it is responsible for deleting the deployed communication couplers.
[0087] The agent is an independent program. As a communication agent between the client and the published device, the agent is responsible for receiving and forwarding the communication data between the client and the published device. The communication coupler couples the client agent (i.e., the user-side agent) and the server agent (i.e., the device-side agent) together through the TCP protocol to form a two-way channel to achieve communication between the two agents. There are many types of clients, and different clients use different communication protocols, such as SSH clients based on the SSH protocol, serial clients based on the serial port protocol, and UDP clients based on the UDP protocol. These clients can be deployed on the same PC for subsequent user-side agent calls. These clients each have unique characteristics and application scenarios. For example, the UDP client is suitable for scenarios with high real-time requirements and tolerance for certain data loss, and the serial port client is mainly used for device communication in embedded systems, industrial automation and other fields. In actual applications, device users need to call the corresponding type of client based on the communication protocol used by the target device they applied for.
[0088] One of the two agents is the user-side agent, and the other is the device-side agent. The user-side agent can be set up on the same PC as the client, or reside on a PC close to the client. The device-side agent can reside on a PC close to the Hongdao system, or reside on the Linux operating system in the Hongdao system. There is no restriction here. The device owner submits basic information about the device, the services provided by the device, and the protocols and port numbers used to the device cloud management terminal through the device-side agent. The device user searches for the required device through the user-side agent and requests the use of the device from the device cloud management terminal.
[0089] 102. Determine an application result of the device application request according to the user information of the applicant and the device information of the target device.
[0090] There are generally two types of application results: application approval and application rejection. The device cloud management end can send the device application request to the device owner in real time, and the device owner can decide online whether to approve the application. Alternatively, the device owner can set the review rules in advance, and the device cloud management end can decide whether to approve the application based on the review rules.
[0091] In some embodiments, the above step 102 specifically includes:
[0092] Generate a review interface including user information of the applicant and device information of the target device;
[0093] Providing the review interface to the applied user corresponding to the target device through the device-side agent;
[0094] The application result of the device application request is determined according to the feedback information input by the user being applied for on the review interface.
[0095] Among them, the review interface can provide two options of "pass" and "fail". When the user selected the "pass" option, the application result indicates that the application is passed. When the user selected the "fail" option, the application result indicates that the application is failed.
[0096] In some embodiments, the device information of the applied device is published in advance by the device owner on the cloud management end, that is, the remote development method further includes:
[0097] Receive a user login request sent by the device-side agent, where the user login request carries user information of the applied user;
[0098] Determine the login result of the user login request according to the user information of the applied user;
[0099] When the login result indicates that the login is successful, obtaining device information of at least one device published by the applied user through the device-side agent, the at least one device including the target device;
[0100] The device information is pushed to the applicant through the user-side agent.
[0101] Please continue to see Figure 2, the device owner and the device user must first register their own account on the device cloud. After successful registration, the device owner and the device user enter their respective user accounts and passwords on the operation interface provided by the agent and log in to the device cloud. After that, the device owner can add the basic information of the device he owns (for example: operating system version number, processor information, peripheral information, etc.) and the information of the service for external use (for example: protocol, port number, function, etc.) and publish it to the device cloud management end. The device cloud management end can review whether the published service is legal, and after the review is passed, the device information published by the device owner will be pushed to each user-side agent for the device user to view. The device user can search for available devices in the devices provided in the device cloud management end, and send a device application request to the device cloud management end through the user-side agent. The device owner can revoke the device and service for external use at any time, and can also see the review results of the published service and the user information of the applicant who applied to use the device from the device-side agent.
[0102] 103. When the application result indicates that the application is approved, obtain access configuration information of the target device.
[0103] Among them, the device cloud management end can find the record information of the target device that the user applies to use from the database and extract the access configuration information from it. The access configuration information may include information such as communication protocol, port number, bit rate, etc. Target devices using different communication protocols usually have different access configuration information. For example, for target devices based on HTTP protocol, the port number is the IP address, and for target devices based on serial port protocol, the port number is the connection serial port number.
[0104] 104. Establish a communication connection between the target client and the target device based on the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client.
[0105] Among them, in the development ecology of the Hongdao system, the communication between the cloud development environment and the local device, and the communication between the desktop IDE and the remote device are realized. In the embodiment of the present application, the remote development method adopts serial communication technology, TCP / UDP communication technology, communication proxy technology, and Internet technology to realize end-to-end communication between devices and communication between developers and devices, and supports serial communication and communication based on protocols such as SSH, FTP, and HTTP.
[0106] In some embodiments, the above step 104 specifically includes:
[0107] (1) establishing a communication connection between the user-side agent and the device-side agent;
[0108] (2) establishing a communication connection between the target client and the user-side agent according to the access configuration information;
[0109] (3) Establishing a communication connection between the device-side agent and the target device according to the access configuration information.
[0110] Furthermore, the above step (1) specifically includes:
[0111] A communication connection is established between the user-side agent and the device-side agent based on the TCP protocol.
[0112] The device cloud management end can dynamically deploy a communication coupler to achieve communication connection between the two agent ends. Figure 2 and Figure 3 , Figure 3 This is a schematic diagram of the implementation principle of the communication coupler provided in the embodiment of the present application. The main function of the communication coupler is to act as a TCP (Transmission Control Protocol) server, acting like a switch between two agents A and B (i.e., the user-side agent and the device-side agent). TCP is a connection-oriented, reliable, byte-stream-based transport layer communication protocol. It forwards the data packets sent by agent A to agent B, and forwards the data packets sent by agent B to agent A. The communication coupler is only responsible for the communication between the two agents A and B, which can reduce the complexity of the communication coupler. At the same time, it is made into a container image, which is dynamically deployed by the device cloud management end according to the communication requirements between the agents. When the two agents end communication, they will be destroyed by the device cloud management end.
[0113] Furthermore, the above step (2) specifically includes:
[0114] Determine, from among a plurality of clients using different communication protocols, a client corresponding to the access configuration information as a target client;
[0115] Determine the data sending and receiving port of the target client;
[0116] A communication connection is established between the target client and the user-side agent based on the data transceiver port of the target client.
[0117] Furthermore, the above step (3) specifically includes:
[0118] Determine the data transceiver port of the target device according to the access configuration information;
[0119] A communication connection is established between the device-side agent and the target device based on the data transceiver port of the target device.
[0120] For communication between end-to-end devices, the data transceiver ports of both parties can be determined first, and data transmission between the two parties can be achieved through the data transceiver ports. There are three main types of communication between end-to-end devices: TCP communication, UDP communication, and serial communication. Devices based on UDP communication use the UDP protocol, and devices based on serial communication use the serial protocol. For devices based on TCP communication, a variety of application layer protocols can be used, such as ordinary request-response mode protocols (such as HTTP protocol) and protocols that require encrypted communication (such as SSH protocol). For devices based on HTTP protocol communication, the device-side agent can establish a TCP connection with the target device in advance, while for devices based on HTTP protocol communication, the device-side agent needs to receive the connection request from the user-side agent before initiating a connection request to the target device, because once the connection request is initiated, the target device will return the supported encryption protocol to the client. For devices based on serial communication, please refer to Figure 4 , Figure 4 This is a schematic diagram of a communication agent based on a serial port provided in an embodiment of the present application. On the device user side, it is necessary to solve the communication problem between the device user and the corresponding agent through a virtual serial port pair (such as COM1-COM2). The device user connects to a virtual serial port (such as COM1), and the agent needs to connect to another virtual serial port (such as COM2). The device user sends data to the virtual serial port COM2 or receives data from COM2 through the virtual serial port COM1. The agent receives data sent by the user from COM1 through the virtual serial port COM2, or the agent sends data to the virtual serial port COM1 through the virtual serial port COM2. On the device side, the agent establishes a connection with the device through the serial port according to the serial port connection configuration parameters (serial port number, baud rate, check bit, data bit, stop bit, etc.) published by the device owner on the device cloud management end.
[0121] In addition, after establishing a communication connection between the target client and the target device, the device-side agent can manage the device installed with the Hongdao system according to the device management protocol, including the management of the device's resource usage and device health status. The user-side agent will display the device status (that is, the device resource usage, device health status, etc.) to the user in a graphical manner. The device user uses the target device based on the target client and target device that communicate with each other, such as implementing software development for the Hongdao system. After using the target device, the device user returns the requested target device and service to the device cloud management end through the agent.
[0122] As can be seen from the above, the remote development method provided in the embodiment of the present application is applied to the device cloud management end, by receiving the device application request sent by the user-side agent, the device application request carries the device information of the target device and the user information of the applicant user; determining the application result of the device application request according to the user information of the applicant user and the device information of the target device; when the application result indicates that the application is passed, obtaining the access configuration information of the target device; establishing a communication connection between the target client and the target device according to the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client, that is, by setting the user-side agent and the device-side agent, establishing a communication connection between the target client and the target device according to the access configuration information of the target device, the user-side agent and the device-side agent, thereby realizing end-to-end remote communication of various communication protocols, supporting remote development across networks, regions and platforms, with a wide range of applications and high flexibility.
[0123] According to the method described in the above embodiment, the present application embodiment also provides a remote development device for executing the steps in the above remote development method. Figure 5 , Figure 5 The remote development device 200 is applied to the device cloud management end and can be implemented as an electronic device where the device cloud management end is located or a functional module or functional entity in the electronic device.
[0124] Specifically, the remote development device 200 includes a receiving unit 201, a determining unit 202, an acquiring unit 203 and an establishing unit 204, wherein:
[0125] The receiving unit 201 is used to receive a device application request sent by a user-side agent, where the device application request carries device information of a target device and user information of an applicant;
[0126] A determination unit 202, configured to determine an application result of the device application request according to the user information of the applicant and the device information of the target device;
[0127] An acquisition unit 203 is used to acquire access configuration information of the target device when the application result indicates that the application is approved;
[0128] The establishing unit 204 is used to establish a communication connection between the target client and the target device according to the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client.
[0129] In some embodiments, the establishing unit 204 is specifically configured to:
[0130] Establishing a communication connection between the user-side agent and the device-side agent;
[0131] Establishing a communication connection between the target client and the user-side agent according to the access configuration information;
[0132] A communication connection is established between the device-side agent and the target device according to the access configuration information.
[0133] In some embodiments, the establishing unit 204 is specifically configured to:
[0134] A communication connection is established between the user-side agent and the device-side agent based on the TCP protocol.
[0135] In some embodiments, the establishing unit 204 is specifically configured to:
[0136] Determine, from among a plurality of clients using different communication protocols, a client corresponding to the access configuration information as a target client;
[0137] Determine the data sending and receiving port of the target client;
[0138] A communication connection is established between the target client and the user-side agent based on the data transceiver port of the target client.
[0139] In some embodiments, the establishing unit 204 is specifically configured to:
[0140] Determine the data transceiver port of the target device according to the access configuration information;
[0141] A communication connection is established between the device-side agent and the target device based on the data transceiver port of the target device.
[0142] In some embodiments, the determining unit 202 is specifically configured to:
[0143] Generate a review interface including user information of the applicant and device information of the target device;
[0144] Providing the review interface to the applied user corresponding to the target device through the device-side agent;
[0145] The application result of the device application request is determined based on the feedback information entered by the user on the review interface.
[0146] In some embodiments, the remote development apparatus further includes a publishing unit, configured to:
[0147] Receive a user login request sent by the device-side agent, where the user login request carries user information of the user being applied for;
[0148] Determine the login result of the user's login request according to the user information of the applied user;
[0149] When the login result indicates that the login is successful, obtaining device information of at least one device published by the applied user through the device-side agent, the at least one device including the target device;
[0150] The device information is pushed to the applicant through the user-side agent.
[0151] It should be noted that the specific details of each module unit in the above-mentioned remote development device 200 have been described in detail in the embodiment of the above-mentioned remote development method, and will not be repeated here.
[0152] As can be seen from the above, the remote development device 200 provided in the embodiment of the present application receives a device application request sent by a user-side agent through a receiving unit 201, and the device application request carries the device information of the target device and the user information of the applicant user; the determination unit 202 determines the application result of the device application request according to the user information of the applicant user and the device information of the target device; when the application result indicates that the application is passed, the acquisition unit 203 acquires the access configuration information of the target device; and the establishment unit 204 establishes a communication connection between the target client and the target device according to the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client, that is, by setting the user-side agent and the device-side agent, according to the access configuration information of the target device, the user-side agent and the device-side agent, a communication connection between the target client and the target device is established, thereby realizing end-to-end remote communication of various communication protocols, supporting remote development across networks, regions and platforms, and having a wide range of applications and high flexibility.
[0153] In some embodiments, the embodiments of the present application also provide a software development system, including a device-side agent, a user-side agent and a device cloud management end, wherein the device cloud management end is used to execute any of the remote development methods described above.
[0154] In some embodiments, the remote development device in the embodiment of the present application can be an electronic device, or a component in an electronic device, such as an integrated circuit or a chip. The electronic device can be a terminal, or it can be other devices other than a terminal. Exemplarily, the electronic device can be a mobile phone, a tablet computer, a laptop computer, a PDA, a car electronic device, a mobile Internet device (Mobile Internet Device, MID), an augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) device, a robot, a wearable device, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook or a personal digital assistant (personal digital assistant, PDA), etc., and can also be a server, a network attached storage (Network Attached Storage, NAS), a personal computer (personal computer, PC), a television (television, TV), a teller machine or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.
[0155] In some embodiments, Figure 6 As shown, an embodiment of the present application further provides an electronic device 300, including a processor 301, a memory 302, and a computer program stored in the memory 302 and executable on the processor 301. When the program is executed by the processor 301, each process of the above-mentioned remote development method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0156] It should be noted that the electronic devices in the embodiments of the present application include the mobile electronic devices and non-mobile electronic devices mentioned above.
[0157] Figure 7 A schematic diagram of the hardware structure of an electronic device to implement an embodiment of the present application.
[0158] The electronic device 400 includes but is not limited to: a radio frequency unit 401, a network module 402, an audio output unit 403, an input unit 404, a sensor 405, a display unit 406, a user input unit 407, an interface unit 408, a memory 409, a processor 410 and other components.
[0159] Those skilled in the art will appreciate that the electronic device 400 may also include a power source (such as a battery) for supplying power to each component, and the power source may be logically connected to the processor 410 through a power management system, thereby implementing functions such as managing charging, discharging, and power consumption management through the power management system. Figure 7The electronic device structure shown in the figure does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be described in detail here.
[0160] It should be understood that in the embodiment of the present application, the input unit 404 may include a graphics processor (Graphics Processing Unit, GPU) 4041 and a microphone 4042, and the graphics processor 4041 processes the image data of the static picture or video obtained by the image capture device (such as a camera) in the video capture mode or the image capture mode. The display unit 406 may include a display panel 4061, and the display panel 4061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 407 includes a touch panel 4071 and at least one of other input devices 4072. The touch panel 4071 is also called a touch screen. The touch panel 4071 may include two parts: a touch detection device and a touch controller. Other input devices 4072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.
[0161] The memory 409 can be used to store software programs and various data. The memory 409 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory 409 may include a volatile memory or a non-volatile memory, or the memory 409 may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM) and a direct memory bus random access memory (DRRAM). The memory 409 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.
[0162] The processor 410 may include one or more processing units; the processor 410 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor 410.
[0163] The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the various processes of the above-mentioned remote development method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0164] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.
[0165] An embodiment of the present application also provides a computer program product, including a computer program, which implements the above-mentioned remote development method when executed by a processor.
[0166] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk.
[0167] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
[0168] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, a disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0169] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
[0170] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0171] In the description of the present application, “plurality” means two or more.
[0172] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples", or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.
[0173] Although the embodiments of the present application have been shown and described, those skilled in the art will appreciate that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present application, and that the scope of the present application is defined by the claims and their equivalents.
Claims
1. A remote development method, characterized in that: Applied to the device cloud management end, the remote development method includes: Receive a device application request sent by a user-side agent, wherein the device application request carries device information of a target device and user information of an applicant; Determine the application result of the device application request according to the user information of the applicant and the device information of the target device; When the application result indicates that the application is approved, obtaining access configuration information of the target device; A communication connection is established between a target client and the target device according to the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client.
2. The remote development method according to claim 1, characterized in that: The step of establishing a communication connection between a target client and a target device according to the access configuration information, the user-side agent and the device-side agent includes: Establishing a communication connection between the user-side agent and the device-side agent; Establishing a communication connection between the target client and the user-side agent according to the access configuration information; A communication connection is established between the device-side agent and the target device according to the access configuration information.
3. The remote development method according to claim 2, characterized in that: The establishing of a communication connection between the user-side agent and the device-side agent includes: A communication connection between the user-side agent and the device-side agent is established based on the TCP protocol.
4. The remote development method according to claim 2, characterized in that: The step of establishing a communication connection between the target client and the user-side agent according to the access configuration information includes: Determine, from a plurality of clients using different communication protocols, a client corresponding to the access configuration information as a target client; Determine the data transceiver port of the target client; A communication connection is established between the target client and the user-side agent based on the data transceiver port of the target client.
5. The remote development method according to claim 2, characterized in that: The establishing of a communication connection between the device-side agent and the target device according to the access configuration information includes: Determine the data transceiver port of the target device according to the access configuration information; A communication connection is established between the device-side agent and the target device based on the data transceiver port of the target device.
6. The remote development method according to claim 1, characterized in that: The determining the application result of the device application request according to the user information of the applicant and the device information of the target device includes: Generate a review interface including user information of the applicant and device information of the target device; Providing the review interface to the applied user corresponding to the target device through the device-side agent; The application result of the device application request is determined according to the feedback information input by the user being applied for on the review interface.
7. The remote development method according to claim 6, characterized in that: Also includes: Receiving a user login request sent by the device-side agent, wherein the user login request carries user information of the applied user; Determine the login result of the user login request according to the user information of the applied user; When the login result indicates that the login is successful, obtaining device information of at least one device published by the applied user through the device-side agent, wherein the at least one device includes the target device; The device information is pushed to the applying user through the user-side agent.
8. A remote development system, characterized in that: It comprises a device-side agent, a user-side agent and a device cloud management end, wherein the device cloud management end is used to execute the remote development method as described in any one of claims 1-7.
9. A remote development device, characterized in that: Applied to the device cloud management end, the remote development device includes: A receiving unit, configured to receive a device application request sent by a user-side agent, wherein the device application request carries device information of a target device and user information of an applying user; A determination unit, configured to determine an application result of the device application request according to the user information of the applicant and the device information of the target device; an acquisition unit, configured to acquire access configuration information of the target device when the application result indicates that the application is approved; An establishing unit is used to establish a communication connection between a target client and the target device according to the access configuration information, the user-side agent and the device-side agent, so that the applicant user can perform remote development on the target device through the target client.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the remote development method according to any one of claims 1 to 7 is implemented.
11. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the remote development method according to claims 1-7 is implemented.
12. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the remote development method according to claims 1 to 7 is implemented.