Method and device for enabling application program to operate multiple instances and terminal equipment

An application and process technology, applied in the computer field, can solve the problem of occupying the storage space of mobile terminals, and achieve the effect of saving storage space

Active Publication Date: 2015-02-25
TENCENT TECH (SHENZHEN) CO LTD
3 Cites 13 Cited by

AI-Extracted Technical Summary

Problems solved by technology

The disadvantage of the above method is that a customized APP needs to be installed e...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Abstract

The embodiment of the invention discloses a method for enabling an application program to operate multiple instances. The method comprises the steps that a starting instruction of the application program is received; if a source process of the application program is in a started state, a mirror image process of the application program is generated according to the starting instruction and the mirror image process is redirected to a preset first starting path; a first starting configuration file preset under the first starting path is read; the mirror image process is started according to the first starting configuration file. The embodiment of the invention further discloses a device and a terminal. By the adoption of the method and device for enabling the application program to operate the instances and the terminal, the requirements for storage space can be reduced.

Application Domain

Technology Topic

Image

  • Method and device for enabling application program to operate multiple instances and terminal equipment
  • Method and device for enabling application program to operate multiple instances and terminal equipment
  • Method and device for enabling application program to operate multiple instances and terminal equipment

Examples

  • Experimental program(1)

Example Embodiment

[0024] The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.
[0025] In the embodiment of the present invention, the terminal may be a PC (Personal Computer, personal computer), a notebook computer, a mobile phone, a PAD (tablet computer), a smart wearable device, a vehicle-mounted terminal, etc.
[0026] Combine below figure 1 with figure 2 , The method for running multiple instances of the application provided by the embodiment of the present invention is introduced in detail.
[0027] See figure 1 , Is a method for running multiple instances of an application program provided by an embodiment of the present invention. In the embodiment of the present invention, the method includes:
[0028] S101. Receive an application start instruction.
[0029] Among them, the device with multiple instances of the application (hereinafter referred to as the device) can receive a startup instruction issued by the user through an input device such as a keyboard, a mouse, or a touch screen, and the user can generate a startup command by triggering an icon displayed on the desktop or secondary menu of the display device Command, the icon is a shortcut to the start entry of the application. For example, when the user clicks an icon pointing to an application program displayed on the touch screen, the device detects a click event on the icon and generates a startup instruction, and the device receives a startup instruction to start the application program.
[0030] S102: If the source process of the application is in the started state, generate a mirroring process of the application according to the starting instruction, and redirect the mirroring process to a preset first starting path.
[0031] Specifically, the source process of the application program refers to the process generated after the application program is started for the first time, and the mirror program refers to the process that is started again after the source process is started. It can be the process started for the second time or the third time or the first time. Processes started N times, N≥2. After receiving the start instruction to start the application, the device queries whether the source process of the application is in the started state. The query method can be: obtain the process name or process number PID (Process Identity) of the application, and query whether the process name or PID of the started process in the operating system is the same as the application. If they are the same, it indicates The source process of the application is in the started state. If there is no the same, the source process of the application is in the unstarted state. During specific implementation, other methods can be used to determine whether the source process of the application is in the started state. If the source process of the application program is in the started state, the device generates a mirror process of the source process according to the start instruction, and redirects the mirror process to the preset first start path. Since the mirroring process is a copy of the source process, in the initial state, the default startup path and default startup configuration file of the mirroring process are the same as the source process. If the mirroring process is started using the default startup configuration file under the default startup path, it will be operated The system's mutual exclusion mechanism recognizes that the mirroring process cannot be started normally. In the embodiment of the present invention, the device redirects the mirroring process to a preset first startup path, which is different from the default startup path of the source process.
[0032] S103. Read a first startup configuration file preset under the first startup path.
[0033] Wherein, a plurality of different startup paths are preset, and each startup path is preset with a startup configuration file, and the startup parameters in each startup configuration file are different. The first startup path in the embodiment of the present invention It can be any one of the preset startup paths. When the mirroring process needs to redirect the startup path, the preset startup path can be assigned to the mirroring process in turn according to the startup sequence of the mirroring process, or a startup path can be randomly assigned to the mirroring process from multiple startup paths. It should be noted that the startup path assigned to the mirroring process is not occupied by other processes.
[0034] The device reads the first startup file under the allocated first startup path, and the first startup file includes startup parameters of the application program. For example, the startup parameters include but are not limited to application program name, process name, and package name.
[0035] S104. Start the mirroring process according to the first startup configuration file.
[0036] Specifically, the device starts the mirroring process according to the startup parameters in the first startup configuration file. In this way, the device can run the source process and the mirroring process of the application program at the same time, and the subsequent device can start multiple mirroring processes using the same method described above to realize the application The need to run multiple instances of the program.
[0037] To implement the embodiment of the present invention, by receiving the startup instruction of the application program, if the source process of the application program is in the started state, the mirroring process is generated according to the startup instruction, and the mirroring process is redirected to the preset first startup path, and read The first startup configuration file under the first startup path and starts the mirroring process. The startup path and startup configuration file of the mirroring process are different from the source process. The mutual exclusion mechanism of the operating system may fail to meet the requirements of multi-instance operation. At the same time, The embodiment of the present invention does not need to install application programs multiple times, and can effectively save storage space.
[0038] See figure 2 , Is a flowchart of a method for running multiple instances of an application program according to the second embodiment of the present invention. In the embodiment of the present invention, the method includes:
[0039] S201. Receive an application start instruction.
[0040] Among them, the device can receive a startup instruction issued by a user through a keyboard, a mouse, or other input devices, and the user can generate a startup instruction by triggering an icon displayed on the desktop or secondary menu of the display device, and the icon is a shortcut for application startup. For example, the application is instant messaging software. After the instant messaging software is installed, a shortcut icon to start the application is displayed on the desktop of the display device. The user clicks on the icon on the touch screen to generate a start instruction, and the device receives the start of the application. instruction.
[0041] S202: Whether the source process of the application program is in a started state.
[0042] Specifically, the source process of the application program refers to the process generated after the first startup of the application program is completed, and the startup process of the source process is in accordance with the startup parameter process pre-configured by the application program. After receiving the start instruction of the application program, the device queries whether the source process of the application program is in the started state. The query method can be: obtain the process name or process number PID of the application program, and query whether the same process name or PID exists in the operating system If the process exists, it indicates that the source process of the application program is in the started state, and S203 is executed; if it does not exist, it indicates that the source process of the application program is in the inactive state, and S204 is executed.
[0043] Exemplarily, the application is instant messaging software, the operating system is the Android operating system, the process name of the instant messaging software is com.tencent.mm, and the PID is 65512. After the device receives the startup instruction to start the instant messaging software, it traverses Android operations The process names or PIDs of all processes in the system that are in the started state. If there is a process named com.tencent.mm or a process with a PID of 65512, it indicates that the source process of the instant messaging software in the Android operating system is in the running state. Otherwise, the source process of the instant messaging software is not running.
[0044] S203: Generate a mirroring process of the application program according to the startup instruction, and redirect the mirroring process to a preset first startup path.
[0045] Among them, the device determines that the source process of the application is in the started state, and generates the mirroring process of the application according to the start instruction. The mirroring process is a copy of the source process. In the initial state, the mirroring process and the default starting path and default starting configuration of the source process The file and source process are the same. If you install the default startup path and default startup configuration file in the initial state to start the mirroring process, it will be recognized by the mutual exclusion mechanism of the operating system, which will result in the failure to start the mirroring process of the application normally. In the embodiment of the present invention, multiple startup paths are preset, each startup path has a startup configuration file, and the first startup path is one of the multiple startup paths. When redirecting the startup path for the mirroring process, the startup paths can be assigned sequentially according to the startup path of the mirroring process, or a startup path can be randomly assigned to the mirroring process from multiple startup paths. It should be noted that the startup path assigned to the mirroring process is not occupied by other processes. The device redirects the mirroring process to the preset first startup path. The first startup path is different from the default startup path of the source process.
[0046] Exemplarily, the application is an instant messaging application, the default startup path of the source process of the instant messaging software is /storage/instant message/system, and the mirror process is the same as the default startup path of the source process in the initial state. After the device determines that the source process of the instant messaging software is in the started state, it redirects the mirroring process to the assigned first boot path /storage/instant message1/system. The mutual exclusion mechanism of the operating system will determine that the source process and the mirroring process are different Application, so the mirroring process will not be killed.
[0047] S204: Generate a source process of the application program according to the startup instruction.
[0048] Among them, the application program does not start any process, and the process started at this time is the first process started, so it is the source process of the application program.
[0049] S205. Read the default startup configuration file in the default startup path associated with the source process.
[0050] The device reads the default startup configuration file under the default startup path of the application program, and the above-mentioned configuration information is preset in the application program.
[0051] S206. Start the source process according to the default startup configuration file.
[0052] Wherein, the device starts the source process according to the default startup parameters in the default startup configuration file, and the source process is the first started process.
[0053] S207. Read a first startup configuration file preset under the first startup path.
[0054] Wherein, multiple startup paths different from the default startup path of the source process of the application are preset, and each startup path stores a startup configuration file that is different from the default startup configuration file of the source process. In the embodiment of the present invention, The first startup path is any one of the multiple startup paths. Each startup configuration file under the startup path is associated with an identifier indicating its occupied state or idle state. The idle state indicates that the startup configuration file is occupied by a thread. At this time, the startup configuration file can no longer be allocated to other processes. ; Idle state means that the startup configuration file is not occupied by the process, and the startup configuration file can be allocated to other processes. The device reads the first startup configuration file under the allocated first startup path.
[0055] Exemplarily, the default startup path of the source process of the application is /storage/instant message/system, and the default startup configuration file under the default startup path is config; there are three startup paths preset in the device, namely /storage/instant message1/system, /storage/instant message2/system, /storage/instant message3/system, the startup configuration files under the corresponding startup path are config1, config2, and config3 respectively. The above three startup configuration files are in idle state, and the device reads Take one of the startup configuration files in the startup path, for example, read config1.
[0056] S208. Start the mirroring process according to the first startup configuration file.
[0057] Specifically, after the Android system is started, the Zygote service process is started by the Init process. After the Zygote service process is started, the device parses the startup parameters in the first configuration file. The startup parameters include parameters required to start the mirroring process of the application, for example, The startup parameters include: process number, storage space address, and startup path. The device sends a notification message to notify the Zygote service process to create the mirroring process according to the startup parameter, where the notification message carries the startup parameter, the Zygote service process Create a mirroring process of the application according to the startup parameters. When the Zygote service process is started, a Dalvik virtual machine instance will be created. When the Zygote service process successfully creates the mirroring process of the application, the Dalvik virtual machine entity will be copied to the mirroring process of the created application, so that the mirroring process has one Independent Dalvik virtual machine instance, Davlik virtual machine instance further initializes the mirroring process of the application, and finally starts the mirroring process.
[0058] S209. When receiving the write operation sent by the mirroring process, write the data corresponding to the write operation into a preset write storage area, where the preset write storage area is the same as the default write storage of the source process The location of the zone is not the same.
[0059] Among them, due to the independence of the mirroring process, the data corresponding to the write operation issued by the mirroring process cannot be shared with other processes. It is necessary to open an independent write storage area for each mirroring process in advance, and the location of the write storage area for each mirroring process is different. The location of the write storage area of ​​the mirror process and the write storage area of ​​the source process are different. When the device receives the write operation sent by the mirroring process, it writes the data corresponding to the write operation into the preset write storage area.
[0060] S210: When receiving a read request to read the public file of the mirroring process, redirect the read request to the source process, and the source process returns the public file.
[0061] Among them, public files refer to files that can be shared by the source process and mirroring process of the application. For example, public files include, but are not limited to, the prompt sounds, icons, and theme styles of the application. When the device receives a read request from the mirror process to read the public file, it redirects the read request to the source process, and the source process reads the public file of the application program and returns it to the mirror process.
[0062] S211. When receiving a Remote Procedure Call Protocol (RPC) call request sent by the mirroring process for invoking system services, map the first parameter in the RPC call request to the second parameter , And send the mapped RPC call request to the kernel of the operating system.
[0063] Specifically, the mirroring process calls system services by issuing RPC requests. For example, system services include address books, short messages, sensors, or cameras. Since the mirroring process is a copy of the source process, the RPC call request issued by the mirroring process includes parameters and information in the source process. The parameters are the same. The parameters include program number, program version number, and process number. If the mirroring process requests to call system services through RPC calls, the operating system will return the response results to the source process, so the mirroring process cannot call system services normally. In the embodiment of the present invention, the device maps the first parameter included in the RPC call request sent by the mirroring process to the second parameter, and sends the mapped RPC call request to the operating system, so that the operating system determines that the RPC call request is not Issued by the source process, but by other processes, so that each different mirror process and the source process can be distinguished, so as to avoid conflicts between processes.
[0064] Exemplarily, the format of the first parameter included in the RPC call request sent by the mirroring process is as follows:
[0065] Program number: 110
[0066] Program version number: V4.3.5
[0067] Process ID: 65123
[0068] The format for the device to mirror the first parameter of the mirroring process to the second parameter is as follows:
[0069] Program number: 111
[0070] Program version number: V4.3.0
[0071] Process ID: 65123
[0072] The device sends the mapped RPC call request to the operating system, and the operating system returns the RPC call response according to the RPC call request.
[0073] It should be noted that the execution order of S209, S210 and S211 is not limited, and the three steps can be installed and executed in any order.
[0074] To implement the embodiment of the present invention, by receiving the startup instruction of the application program, if the source process of the application program is in the started state, the mirroring process is generated according to the startup instruction, and the mirroring process is redirected to the preset first startup path, and read The first startup configuration file under the first startup path and starts the mirroring process. The startup path and startup configuration file of the mirroring process are different from the source process. The mutual exclusion mechanism of the operating system may fail to meet the requirements of multi-instance operation. At the same time, The embodiment of the present invention does not need to install application programs multiple times, and can effectively save storage space.
[0075] See image 3 , Is a device for running multiple instances of an application program provided by an embodiment of the present invention. In the embodiment of the present invention, the device includes a receiving module 10, a redirecting module 11, a reading module 12, and a starting module 13.
[0076] The receiving module 10 is used to receive the start instruction of the application program.
[0077] Among them, the receiving module 10 can receive a startup instruction sent by a user through an input device such as a keyboard, a mouse, or a touch screen. The user can generate a startup instruction by triggering an icon displayed on the desktop or secondary menu of the display device, and the icon points to the startup of the application. Shortcut to the entrance. For example, the user clicks an icon pointing to the application program displayed on the touch screen, the receiving module 10 detects a click event on the icon and generates a startup instruction, and the receiving module 10 receives the startup instruction to start the application program.
[0078] The redirection module 11 is configured to generate a mirroring process of the application according to the starting instruction if the source process of the application is in the started state, and redirect the mirroring process to the preset first starting path .
[0079] Specifically, the source process of the application program refers to the process generated after the application program is started for the first time, and the mirror program refers to the process that is started again after the source process is started. It can be the process started for the second time or the third time or the first time. Processes started N times, N≥2. After the receiving module 10 receives the start instruction for starting the application, the redirecting module 11 queries whether the source process of the application is in the started state. The query method can be: obtain the process name or process number PID of the application program, query whether the process name or PID of the process in the operating system is the same as the application program, if there are the same, it indicates the source of the application program The process is in the started state. If there is no the same, it indicates that the source process of the application is in the unstarted state. During specific implementation, other methods can be used to determine whether the source process of the application is in the started state. If the source process of the application program is in the started state, the redirection module 11 generates a mirror process of the source process according to the start instruction, and redirects the mirror process to a preset first start path. Since the mirroring process is a copy of the source process, in the initial state, the default startup path and default startup configuration file of the mirroring process are the same as the source process. If the mirroring process is started using the default startup configuration file under the default startup path, it will be operated The system's mutual exclusion mechanism recognizes that the mirroring process cannot be started normally. In the embodiment of the present invention, the redirection module 11 redirects the mirroring process to a preset first startup path, which is different from the default startup path of the source process.
[0080] The reading module 12 is configured to read the first startup configuration file preset under the first startup path.
[0081] Wherein, a plurality of different startup paths are preset, and each startup path is preset with a startup configuration file, and the startup parameters in each startup configuration file are different. The first startup path in the embodiment of the present invention It can be any one of the preset startup paths. When the mirroring process needs to redirect the startup path, the preset startup path can be assigned to the mirroring process in turn according to the startup sequence of the mirroring process, or a startup path can be randomly assigned to the mirroring process from multiple startup paths. It should be noted that the startup path assigned to the mirroring process is not occupied by other processes.
[0082] The reading module 12 reads the first startup file under the allocated first startup path, and the first startup file includes startup parameters of the application program. For example, the startup parameters include but are not limited to application program name, process name, and package name.
[0083] The startup module 13 is configured to start the mirroring process according to the first startup configuration file.
[0084] Specifically, the startup module 13 starts the mirroring process according to the startup parameters in the first startup configuration file. In this way, the source process and the mirroring process of the application program can be run at the same time. The subsequent device can start multiple mirroring processes using the same method as described above. The need to run multiple instances of the application.
[0085] To implement the embodiment of the present invention, by receiving the startup instruction of the application program, if the source process of the application program is in the started state, the mirroring process is generated according to the startup instruction, and the mirroring process is redirected to the preset first startup path, and read The first startup configuration file under the first startup path and starts the mirroring process. The startup path and startup configuration file of the mirroring process are different from the source process. The mutual exclusion mechanism of the operating system may fail to meet the requirements of multi-instance operation. At the same time, The embodiment of the present invention does not need to install application programs multiple times, and can effectively save storage space.
[0086] See Figure 4 with Figure 5 , Is a schematic structural diagram of a device for running multiple instances of an application program provided by the second embodiment of the present invention. In the embodiment of the present invention, the device includes a receiving module 10, a redirecting module 11, and a reading module 12 In addition to the activation module 13, optionally, the device further includes a write operation module 14; optionally, the device further includes a read operation module 15; optionally, the device further includes a mapping module 16.
[0087] The write operation module 14 is configured to write data corresponding to the write operation into a preset write storage area when the write operation issued by the mirroring process is received, wherein the preset write storage area and the source The location of the process's default write storage area is different.
[0088] The read operation module 15 is configured to redirect the read request to the source process when receiving a public file read request from the mirror process, so that the source process returns to the public file according to the read request file.
[0089] The mapping module 16 is used to map the first parameter in the RPC call request to the second parameter when receiving the remote procedure call protocol RPC call request sent by the mirroring process for invoking the system service, and the mapped The RPC call request is sent to the kernel of the operating system.
[0090] Optionally, the activation module 13 includes: a parsing unit 131, a sending unit 132, and a notification unit 133.
[0091] The parsing unit 131 is configured to parse the startup parameters in the first startup configuration file.
[0092] The sending unit 132 is configured to send a notification message to notify the Zygote service process to create the mirroring process according to the startup parameter, wherein the notification message carries the startup parameter.
[0093] The notification unit 133 is configured to notify the Dalvik virtual machine to start the mirroring process after initializing the mirroring process.
[0094] The embodiment of the present invention and the method embodiment 2 belong to the same concept, and the technical effects brought by them are also the same. For details, please refer to the description of the method embodiment 2, which will not be repeated here.
[0095] See Image 6 , Is a schematic structural diagram of multiple instances of an application program provided by the third embodiment of the present invention, such as Image 6 As shown, the apparatus 1000 may include: at least one processor 1001, such as a CPU, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002. Among them, the communication bus 1002 is used to implement connection and communication between these components. The user interface 1003 may include a display screen (Display) and a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk memory. Optionally, the memory 1005 may also be at least one storage device located far away from the foregoing processor 1001. Such as Image 6 As shown, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and application programs.
[0096] in Image 6 In the device 1000 shown, the processor 1001 may be used to call a software test application stored in the memory 1005, and specifically execute the following steps:
[0097] Receive the start instruction of the application;
[0098] If the source process of the application program is in a started state, generating a mirroring process of the application program according to the starting instruction, and redirecting the mirroring process to a preset first starting path;
[0099] Read the first startup configuration file preset under the first startup path;
[0100] Start the mirroring process according to the first startup configuration file.
[0101] In some embodiments of the present invention, the processor 1001 is further configured to execute:
[0102] If the source process of the application program is not started, generating the source process of the application program according to the start instruction;
[0103] Read the default startup configuration file under the default startup path associated with the source process;
[0104] Start the source process according to the default startup configuration file.
[0105] In some embodiments of the present invention, the processor 1001 is further configured to execute:
[0106] When a write request sent by the mirroring process is received, the data corresponding to the write request is written into a preset write storage area, where the preset write storage area and the default write storage area of ​​the source process The location is not the same.
[0107] In some embodiments of the present invention, the execution by the processor 1001 to start the mirroring process according to the first startup configuration file includes:
[0108] Parse out the startup parameters in the first startup configuration file;
[0109] Sending a notification message to notify the Zygote service process to create the mirroring process according to the startup parameter, wherein the notification message carries the startup parameter;
[0110] Notifying the Dalvik virtual machine to initiate the mirroring process and then starting the mirroring process.
[0111] In some embodiments of the present invention, the processor 1001 is further configured to execute:
[0112] When receiving a read request to read the public file of the mirroring process, redirect the read request to the source process so that the source process returns the public file according to the read request.
[0113] In some embodiments of the present invention, the processor 1001 is further configured to execute:
[0114] When receiving a remote procedure call protocol RPC call request sent by the mirroring process for invoking system services, map the first parameter in the RPC call request to the second parameter, and send the mapped RPC call request to The kernel of the operating system.
[0115] To implement the embodiment of the present invention, by receiving the startup instruction of the application program, if the source process of the application program is in the started state, the mirroring process is generated according to the startup instruction, and the mirroring process is redirected to the preset first startup path, and read The first startup configuration file under the first startup path and starts the mirroring process. The startup path and startup configuration file of the mirroring process are different from the source process. The mutual exclusion mechanism of the operating system may fail to meet the requirements of multi-instance operation. At the same time, The embodiment of the present invention does not need to install application programs multiple times, and can effectively save storage space.
[0116] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing relevant hardware through a computer program. The program can be stored in a computer readable storage medium. During execution, it may include the procedures of the above-mentioned method embodiments. Wherein, the storage medium may be a magnetic disk, an optical disc, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random Access Memory, RAM), etc.
[0117] What is disclosed above is only a preferred embodiment of the present invention. Of course, it cannot be used to limit the scope of rights of the present invention. A person of ordinary skill in the art can understand all or part of the process of implementing the above-mentioned embodiments and follow the rights of the present invention. The equivalent changes required are still within the scope of the invention.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Message transmission method and device

ActiveCN104168222ASave storage spaceReduce overheadData switching networksReal-time computingTernary content addressable memory
Owner:NEW H3C TECH CO LTD

Classification and recommendation of technical efficacy words

Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products