A method for non-interference human-computer interaction of digital employees based on multi-user concurrent login
By collecting user information in a multi-user concurrent login scenario and selecting idle users to log in using the user's optimal selection algorithm, the user's desktop occlusion and resource preemption caused by digital employee operations is solved, and the work isolation between digital employees and business personnel is achieved. Improve work efficiency.
Patent Information
- Application Number
- CN202411586370.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-08
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-11-08
AI Technical Summary
In the scenario of concurrent login for multiple users, the operations of digital employees will block the user's desktop and seize the mouse and keyboard of business personnel, resulting in a greatly reduced work efficiency of business personnel.
By collecting user information on the machine where the digital employee is located, using the user's optimal selection algorithm to evaluate and schedule user resources, selecting the optimal idle user to log in, and achieving the operational isolation between digital employees and business personnel.
It effectively solves the problems of user desktop occlusion and resource seizing caused by digital employee operations, and improves the work efficiency of business personnel and digital employees.
Smart Images

Figure CN119128864B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a field, and in particular to a method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users. Background Art
[0002] Digital employees are a type of virtual workforce based on artificial intelligence and robotic process automation (RPA) technology, also known as digital virtual workforce. They can automatically perform repetitive, regular, and predictable tasks. They are suitable for business scenarios with large data processing volumes, high work repetition, clear process rules, and cross-business system operations. By automating existing business processes and rapidly responding to future new businesses, they can effectively improve the operational efficiency of business departments and reduce operating costs.
[0003] With the continuous promotion and application of digital employees, enterprise organizations of different sizes have applied digital employees to business systems in various industries. In the past, enterprise organizations deployed business systems on dedicated machines, and the operation of business systems was isolated and independent. However, many enterprise organizations have now deployed business systems on machines used by business personnel. When digital employees operate business systems, once front-end operations are performed, they will block the user's desktop and occupy the business personnel's mouse and keyboard, thereby affecting the normal work of business personnel and greatly reducing their work efficiency. Summary of the invention
[0004] The purpose of the present invention is to overcome the shortcomings and deficiencies of the prior art and provide a method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users.
[0005] Another object of the present invention is to provide a system for non-interference human-computer interaction of digital employees based on concurrent login of multiple users.
[0006] The purpose of the present invention is achieved through the following technical solutions:
[0007] The method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users includes the following steps:
[0008] S1. Collect user information of the machine where the digital employee is located. The user enters the user information in the machine into the system database so that the digital employee can select the user identity to log in to the machine;
[0009] S2, monitoring the status of digital employees, load balancing execution of digital employees and scheduling of optimal user resources; after collecting user information, when the digital employee's heartbeat is detected to be normal during task execution and the load balancing method is used for execution, the digital employee will be triggered to use the user optimal selection algorithm to evaluate and schedule user resources, so that the digital employee can select the optimal user to log in to the machine;
[0010] S3. Perform user authentication and remote configuration management, and set up remote configuration accordingly. After selecting a user through the optimal user selection algorithm at the resource scheduling layer, the digital employee will use the user to send a login request to the machine. During the login connection process, the user will be authenticated, and the current user's remote permissions and machine remote configuration will be monitored. Only when the user has remote permissions and authentication is successful, and the machine supports remote concurrent login, can the digital employee use the user to log in to the machine normally to perform tasks.
[0011] S4. The task execution status can be viewed in the execution history interface. At the same time, the digital employee main interface can be used to view the visual operations performed by the digital employee in the login user interface in real time.
[0012] In step S1, the user information is entered into the k agent mstsc data table of the system database.
[0013] In step S2, the user optimal selection algorithm is as follows:
[0014] The digital employee will first read the user information in the order in which the users are stored in the k agent mstsc data table of the database. Since the digital employee is started under the administrator session, when the first user information associated with it is read, the digital employee will immediately check whether the remote session ID of the user exists on the machine where it is located:
[0015] (1) If the user's session ID exists, the digital employee will consider that the user is not idle, and will skip the user and continue to read the next user information associated with it. When the digital employee finishes reading the k agent mstsc data table, it finds that all the users associated with it have session IDs, and will poll and read the associated user information in the k agent mstsc data table until an idle user is found.
[0016] (2) If the user's session ID does not exist, the digital employee will assume that the user is idle, end the user selection, and use the user to log in.
[0017] In step (2), when a user in an idle state is used to log in, if the authentication fails in the user authentication stage, the user will be marked as an invalid user, and the data table will be re-polled to find a new idle user to log in; if the user authentication fails twice in a row, the user selection will be terminated directly and an alarm will be given to the business personnel; if the selected user successfully logs in to the system, the digital employee will always monitor whether the user can perform the current task normally. Once the task execution is detected to be abnormal, the task will be automatically terminated and the corresponding task environment will be restored according to the task execution status. At the same time, the user will be filtered and a better idle user will be re-polled to log in to the system to perform the task. If two consecutive users fail to perform the task, the user selection will be terminated directly and an alarm will be given to the business personnel.
[0018] In step (2), when a user in idle state logs into the system to execute a task, the system will always monitor whether the task is executed normally. The specific monitoring algorithm is as follows:
[0019] Digital workers examine tasks from two perspectives:
[0020] A. Monitor the execution status of the task in real time, that is, read the execution status of the task in the k_flow_detail table; if it is -1, it means that the task is in the execution state. Since the digital employee will record the time taken to execute the task each time it executes a task, if it is detected that the duration of the task in the execution state is longer than the preset time, it will be considered that the task may be abnormal. Otherwise, the task process and machine status will be checked; if it is 2 or 3, that is, the process has timed out or the task node has an abnormality, the task will be considered abnormal directly;
[0021] B. Check the task progress and machine status. When it is detected that the task is in the execution state, it will check whether the process corresponding to the task exists. If not, it is directly considered that the task is abnormal. If it exists, the CPU, memory and disk usage of the process are monitored, and whether it is in a suspended or deadlocked state. At the same time, the digital employee will monitor the CPU, memory and disk usage of the machine in real time to determine whether the system resources are sufficient. When the process resource usage increases significantly and is close to the current user system available resources, it will be considered that it may cause task execution abnormality.
[0022] If an abnormality occurs in the digital employee monitoring task, the task execution environment will be restored, and the user will be filtered, and a better idle user will be re-polled to log in to the system to execute the task. When two consecutive users fail to execute the task, the user selection will be terminated directly and an alarm will be given to the business personnel.
[0023] In step S3, after the digital employee obtains the user information from the k agent mstsc data table, it will be verified and authenticated; first, it will verify whether the user account is a valid user. If it is invalid, the user information will be read again from the data table (the invalid user will be marked and will not be read again). If the user information read twice in a row is invalid, it will prompt that no valid user has been found twice in a row and exit the entire operation. If it is valid, it will continue to check the user account and password:
[0024] ① When it is read that the dynamic password is not enabled (that is, the otp field is 0), the password field information will be read, and the read user and password information will be compared with the user name and password stored in the machine. If the verification fails, the user information will be read again from the data table (the user with the wrong password will be marked and will no longer be read). If the user password is wrong for two consecutive comparisons, it will prompt that the two consecutive user information do not match, and the entire operation will be exited; if the verification is successful, the remote configuration information will be checked;
[0025] ② When reading that the dynamic password has been enabled (that is, the otp field is 1), the digital employee will back up the password information corresponding to the user stored in the machine to the temporary cache table, and at the same time update the user's password to a temporarily generated password. At this time, the digital employee will use the temporary password to continue subsequent operations; before the entire operation is completed, or before an abnormal exit during the login connection process, the digital employee will set the password backed up to the temporary cache table back to the user's password, that is, the currently generated temporary password is only valid for this operation and does not affect the user's original password;
[0026] ③Once the user authentication is correct, the digital employee will detect and manage the remote configuration information of the machine and the user.
[0027] In step S3, after the user authentication succeeds, the digital employee detects whether the user has remote authority, whether the machine supports remote concurrent login, and whether the current remote session is less than the maximum number of RD connections allowed; only when the user has remote authority, the machine supports remote concurrent login, and the current remote session is less than the maximum number of RD connections allowed, can the digital employee use an authenticated idle user with remote authority to log in to the machine to perform tasks:
[0028] A. Check whether the machine supports remote desktop connection and whether the user allows remote desktop connection to the machine;
[0029] If the machine system version does not support remote desktop connection or the remote desktop function is not enabled, it will prompt that the machine does not support or does not enable remote desktop connection operation, and ask the system user whether to enable remote desktop connection operation. If you select yes, Digital Employee will automatically enable the remote desktop connection function of the current machine; if you select no or the timeout is not processed, it will prompt the system user to enable the remote desktop connection function in the machine's control panel settings and exit the entire operation at the same time;
[0030] If it is detected that the user has enabled the remote desktop connection function, or the system user allows the remote desktop connection function to be enabled during the detection process, it will continue to detect whether the current user has been added to the "Remote Desktop Users" group. If it is detected that the current user has not been added, Digital Employee can automatically add him to the "Remote Desktop Users" group.
[0031] B. Check the remote concurrent connections of the machine;
[0032] When the machine is ensured to support remote desktop connection and the user allows remote desktop connection to the machine, the machine's remote concurrent connection status will continue to be detected; if the current machine has disabled the remote concurrent connection function, the user will be prompted to enable the remote concurrent connection function and exit the entire operation; if it has been enabled, the maximum number of RD connections allowed and the number of current remote sessions will continue to be detected;
[0033] If the current number of remote sessions is not less than the maximum number of RD connections allowed, the user will be prompted that the current number of remote connections is full, and the system user will be asked whether to kick out one of the connected users. If yes is selected, the current connected user list will be displayed in the pop-up window for the system user to select the user to kick out; if no is selected, the system will wait for the remote session to be closed. Once a remote session is closed, the next step of detection will be continued, otherwise the entire operation will be exited due to timeout;
[0034] During interactive operations, if the system user does not interact with the digital employee within the specified time (30 seconds by default, customizable), the digital employee can be set to randomly kick out a user for login connection operations after the specified time, or wait for the remote session to be closed until the timeout. By default, if there is no interaction, the remote session will be closed.
[0035] If the current number of remote sessions is less than the maximum number of RD connections allowed, the login connection operation is performed directly;
[0036] C. When the machine supports remote desktop connection and the user allows remote desktop connection to the machine, and the current number of remote sessions is less than the maximum number of RD connections allowed, the digital employee successfully logs in to the machine using the user and performs tasks related to operating the business system.
[0037] Another object of the present invention is achieved by the following technical solutions:
[0038] The system of non-interference human-computer interaction of digital employees based on multi-user concurrent login includes data collection layer, resource scheduling layer, login processing module and data display layer; among them,
[0039] The data collection layer is used to collect user information of the machine where the digital employee is located. The user enters the user information in the machine into the system database so that the digital employee can choose the user identity to log in to the machine;
[0040] The resource scheduling layer is used to monitor the status of digital employees, load balance the execution of digital employees, and schedule the optimal user resources. After collecting user information, when the digital employee's heartbeat is detected to be normal during task execution and the load balancing method is used for execution, the digital employee will be triggered to use the user optimal selection algorithm to evaluate and schedule user resources, so that the digital employee can select the optimal user to log in to the machine.
[0041] The login processing module is used to perform user authentication and remote configuration management, and to set up the remote configuration accordingly. After the user is selected through the user optimal selection algorithm at the resource scheduling layer, the digital employee will use the user to send a login request to the machine. During the login connection process, the user will be authenticated, and the current user's remote permissions and the machine's remote configuration will be monitored. Only when the user has remote permissions and the authentication is successful, and the machine supports remote concurrent logins, can the digital employee use the user to log in to the machine normally to perform tasks.
[0042] The data display layer is used to view the task execution status on the execution history interface, and also supports real-time viewing of the visual operations performed by digital employees on the login user interface on the digital employee main interface.
[0043] At the same time, the present invention provides:
[0044] A server includes a processor and a memory, wherein the memory stores at least one program, and the program is loaded and executed by the processor to implement the above-mentioned method of non-interference human-computer interaction of digital employees based on multi-user concurrent login.
[0045] A computer-readable storage medium stores at least one program, which is loaded and executed by a processor to implement the above-mentioned method of non-interference human-computer interaction of digital employees based on multi-user concurrent login.
[0046] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0047] The present invention is aimed at digital employees using different users to log in to the business personnel's machine at the same time, and is used to isolate the current business personnel's desktop, thereby ensuring the independence of operating the business system. The present invention first manually collects and enters user information into the database, and then the digital employees need to evaluate and schedule the user information that has been entered into the database until the selected idle users can log in to the business personnel's machine normally and complete the relevant operations on the business system. By using different users to log in to the machine to perform relevant operations, the digital employees isolate the interaction between the digital employees and the business personnel, which can effectively solve the problem of digital employees blocking the user's desktop and occupying the business personnel's mouse and keyboard due to front-end operations, and also greatly improve the work efficiency of the business personnel and digital employees. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] Figure 1 It is a structural schematic diagram of the system for non-interference human-computer interaction of digital employees based on concurrent login of multiple users according to the present invention.
[0049] Figure 2 The present invention provides a flow chart of the method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users.
[0050] Figure 3 Schematic diagram of data collection.
[0051] Figure 4 Schematic diagram of the handshake process.
[0052] Figure 5 Schematic diagram of digital employee offline alarm.
[0053] Figure 6 Schematic diagram of the digital employee's workflow when the user's session ID exists.
[0054] Figure 7 Flowchart for user resource scheduling.
[0055] Figure 8 Flowchart for monitoring abnormalities in user task execution for digital employees.
[0056] Fig. 9 Flowchart for user authentication.
[0057] Fig.10 Flowchart for detecting and processing user remote permissions and machine remote desktop connection functions.
[0058] Fig.11 Flowchart for checking and processing the remote concurrent connection status of the machine.
[0059] Fig.12 A flowchart for the entire remote configuration management. DETAILED DESCRIPTION
[0060] The present invention is further described in detail below in conjunction with embodiments and drawings, but the embodiments of the present invention are not limited thereto.
[0061] like Figure 1 ,The system of non-intrusive human-computer interaction of digital employees based on ,multiple users concurrent login is mainly divided into four modules: data ,acquisition layer, resource scheduling layer, login processing module and ,data display layer.
[0062] (1) Data collection layer: collects user information of the machine where the digital employee is located. System users can enter the user information in the machine into the system database so that the digital employee can choose the user identity to log in to the machine.
[0063] (2) Resource scheduling layer: monitor the status of digital employees, load balancing execution of digital employees, and schedule the optimal user resources. After collecting user information, when the digital employee's heartbeat is detected to be normal during task execution and the load balancing method is used for execution, the digital employee will be triggered to use the user optimal selection algorithm to evaluate and schedule user resources, so that the digital employee can select the optimal user to log in to the machine.
[0064] (3) Login processing: perform user authentication and remote configuration management. Since the present invention is based on multiple users concurrently logging into the machine to perform related operations, after user authentication, it is also necessary to set up the remote configuration accordingly. After the user is selected through the user optimal selection algorithm at the resource scheduling layer, the digital employee will use the user to send a login request to the machine. During the login connection process, the user will be authenticated, and the current user's remote authority and machine remote configuration will be monitored. When the user has remote authority and authentication is successful, and the machine supports remote concurrent login, the digital employee can use the user to log in to the machine normally to perform tasks.
[0065] (4) Data display layer: The task execution status can be viewed on the execution history interface. At the same time, the digital employee main interface can be used to view the visual operations performed by the digital employee on the login user interface in real time.
[0066] like Figure 2 ,The method of non-intrusive human-computer interaction of digital employees based on ,multiple users concurrently logged in mainly includes the following parts:
[0067] 1. Data collection.
[0068] The data collection layer is used to collect user information of the machine where the digital employee is located (i.e., the business system machine). This operation requires manual entry by the system user. After entry, the user information will be stored in the k agent mstsc data table of the system database. When the user information of a digital employee's machine is entered in the k agent mstsc data table, the digital employee can select one or more users to log in to the machine by reading the data in the k agent mstsc data table. Figure 3 .
[0069] Data collection instructions:
[0070] ① Collect user account and password information: System users enter the user account and password of the business system machine. When digital employees select this user, they will use this user's account and password to log in.
[0071] ② Collect user account information: In some scenarios where password information is very sensitive, such as some banking system scenarios, system users do not want to record the password information of the business system machine into a third-party system. In this case, we provide a dynamic password function. When the system user enables the dynamic password (the otp field in the data table is used to record whether the dynamic password is enabled, 1 is enabled, 0 is not enabled, and it is not enabled by default), the system user only needs to enter the user account of the business system machine. At this time, when the digital employee selects the user, a new password will be automatically generated for the user to log in to the machine, and the generated new password is only valid for the current operation, without affecting the user's original password.
[0072] 2. Resource scheduling and login processing.
[0073] When the system user completes the collection and entry of user information, once the digital employee is triggered to execute the task using the load balancing method (i.e., select the intensive digital employee method to execute), the digital employee is required to evaluate and schedule the users entered into the database. Before performing user evaluation and scheduling operations, it is necessary to ensure that the heartbeat status of the digital employee is normal, that is, the digital employee is online. It should be noted that once the digital employee is connected to the system, the system will monitor the heartbeat status of the digital employee in real time.
[0074] The steps for monitoring the heart rate of digital employees are as follows:
[0075] (1) The digital employee and the server establish a TCP connection through a three-way handshake. The handshake process is as follows: Figure 4 shown.
[0076] (2) After the connection is successfully established, the digital employee will send a specified information format (i.e., heartbeat packet) to the server at a certain interval (the default is every 5 seconds, which can be customized). If the server does not receive the heartbeat packet from the digital employee within the preset time period, it will be considered that the heartbeat status of the digital employee is abnormal, that is, the server will mark the digital employee as offline, and will call the backup digital employee at this time, and will also send an alarm to the system user (such as Figure 5 as shown).
[0077] (3) When the server continues to receive the heartbeat packets of the digital employee within the preset time period, it is considered that the heartbeat status of the digital employee is normal, that is, the server marks the digital employee as online. At this time, the digital employee will evaluate and schedule the user.
[0078] The specific process of digital employees evaluating and scheduling users is as follows:
[0079] Digital employees will use the "user optimal choice" algorithm to evaluate and schedule user resources. The specific algorithm is as follows:
[0080] The digital employee will first read the user information in the order in which they are stored in the k agent mstsc data table of the database. Since the digital employee is started under the administrator session (that is, it has administrator privileges), when the digital employee reads the first user information associated with it, it will immediately check whether the remote session ID of the user exists on its machine:
[0081] ① If the user's session ID exists, the digital employee will think that the user is not idle, and will skip the user and continue to read the next user information associated with it; when the digital employee finishes reading the k agent mstsc data table, it finds that all the users associated with it have session IDs (that is, all the users associated with it are not idle), then it will poll and read the associated user information in the k agent mstsc data table until an idle user is found.
[0082] For example, after the system user (business personnel) enters the information of User 1, User 2, and User 3 in sequence, the Digital Employee will first read the information of User 1. Once the account of User 1 is read, it will immediately detect whether there is a session ID of User 1 in the machine. When it is detected, it will skip User 1 and re-read User 2, and then repeat the above operation. If none of the currently entered users are idle, the Digital Employee will re-read and detect from User 1 until an idle user is found (such as Figure 6 as shown).
[0083] ②If the user's session ID does not exist, the digital employee will consider the user to be idle, and will then end the user selection and use the user to log in. It should be noted that when using an idle user to log in, if the authentication fails during the user authentication phase, the user will be marked as an invalid user, and the data table will be re-polled to find a new idle user to log in. If the user authentication fails twice in a row, the user selection will be ended directly and an alert will be sent to the business personnel. If the selected user successfully logs into the system, the digital employee will always monitor whether the user can perform the current task normally. Once an abnormality is detected in the task execution, the task will be automatically ended, and the corresponding task environment will be restored based on the task execution status. At the same time, the user will be filtered, and a better idle user will be re-polled to log in to the system to perform the task. If two consecutive users fail to perform the task, the user selection will be ended directly and an alert will be sent to the business personnel. Figure 7 .
[0084] like Figure 8 When a digital employee uses an idle user to log in to the system to perform a task, it will always monitor whether the task is executed normally. The specific monitoring algorithm is as follows:
[0085] Digital workers examine tasks from two perspectives:
[0086] ① Monitor the execution status of the task in real time, that is, read the execution status of the task in the k_flow_detail table. If it is -1, it means that the task is in the execution state. Since the digital employee will record the time taken to execute the task each time it executes a task, if it is detected that the duration of the task in the execution state is much longer than the average time taken by the task (the default is more than twice the average time taken, which can be customized), it will be considered that the task may be abnormal. Otherwise, the task process and machine status will be checked. If it is 2 or 3, that is, the process has timed out or the task node has an abnormality, the task will be considered abnormal directly.
[0087] ② Check the task process and machine status. When it is detected that the task is in the execution state, it will check whether the process corresponding to the task exists: if it does not exist, it is directly considered that the task is abnormal; if it exists, the CPU, memory and disk usage of the process are monitored, and whether it is in a suspended or deadlocked state. At the same time, the digital employee will monitor the CPU, memory and disk usage of the machine in real time to determine whether the system resources are sufficient. When the process resource usage increases significantly and is close to the current user system available resources, it will be considered that it may cause task execution abnormality.
[0088] It should be noted that once the digital employee detects an abnormality in a monitoring task, it will restore the task execution environment, filter the user, and re-pollating to select a better idle user to log in to the system to execute the task. If two consecutive users fail to execute the task, the user selection will be terminated directly and an alert will be given to the business personnel.
[0089] The specific process of login processing is as follows:
[0090] When a digital employee uses an idle user to make a login request, it will trigger the digital employee to authenticate the user and detect the remote configuration of the machine where the user is located. When the selected idle user has remote permissions and authentication is successful, and the machine supports remote concurrent login, the digital employee can use the user to log in to the machine normally to perform tasks.
[0091] (1) If Fig. 9 , user authentication.
[0092] After the digital employee obtains the user information from the k agent mstsc data table, it will verify and authenticate it. First, it will verify whether the user account is a valid user. If it is invalid, it will read the user information from the data table again (the invalid user will be marked and will not be read again). If the user information read twice in a row is invalid, it will prompt that no valid user has been found twice in a row and exit the entire operation. If it is valid, it will continue to check the user account and password:
[0093] ① When it is read that the dynamic password is not enabled (that is, the otp field is 0), the password field information will be read, and the read user and password information will be compared with the user name and password stored in the machine. If the verification fails, the user information will be read again from the data table (the user with the wrong password will be marked and no longer read). When the user password is wrong for two consecutive comparisons, it will prompt that the user information does not match twice in a row, and the entire operation will be exited; if the verification is successful, the remote configuration information will be checked.
[0094] ② When the dynamic password is enabled (that is, the otp field is 1), the digital employee will back up the password information corresponding to the user stored in the machine to the temporary cache table, and update the user's password to a temporarily generated password. At this time, the digital employee will use the temporary password to continue subsequent operations. Before the entire operation is completed, or before an abnormal exit during the login connection process, the digital employee will set the password back to the temporary cache table back to the user's password, that is, the currently generated temporary password is only valid for this operation and does not affect the user's original password.
[0095] ③Once the user authentication is correct, the digital employee will detect and manage the remote configuration information of the machine and the user.
[0096] (2) If Fig.12 , remote configuration management.
[0097] After the user is authenticated successfully, it is also necessary to check whether the user has remote permissions, whether the machine supports concurrent remote logins, and whether the current remote session is less than the maximum number of RD connections allowed. Only when the user has remote permissions, the machine supports concurrent remote logins, and the current remote session is less than the maximum number of RD connections allowed, can the digital employee use an authenticated idle user with remote permissions to log in to the machine to perform tasks.
[0098] ① Such as Fig.10 , detects whether the machine supports remote desktop connections and whether the user allows remote desktop connections to the machine.
[0099] If the machine system version does not support remote desktop connection or the remote desktop function is not enabled, it will prompt that the machine does not support or does not enable remote desktop connection operations, and ask the system user whether to enable remote desktop connection operations. If you select Yes, Digital Employee will automatically enable the remote desktop connection function of the current machine; if you select No or the timeout is not processed, the system user will be prompted to enable the remote desktop connection function in the machine's control panel settings and exit the entire operation.
[0100] If it is detected that the user has turned on the remote desktop connection function, or the system user allows the remote desktop connection function to be turned on during the detection process, it will continue to detect whether the current user has been added to the "Remote Desktop Users" group. If it is detected that the current user has not been added, Digital Employee can automatically add him to the "Remote Desktop Users" group.
[0101] ② If Fig.11 , the machine's remote concurrent connection status.
[0102] When the machine is guaranteed to support remote desktop connection and the user allows remote desktop connection to the machine, the machine's remote concurrent connection status will continue to be detected. If the current machine has disabled the remote concurrent connection function, the user will be prompted to enable the remote concurrent connection function and exit the entire operation; if it has been enabled, the maximum number of RD connections allowed and the current number of remote sessions will continue to be detected.
[0103] If the current number of remote sessions is not less than the maximum number of RD connections allowed, the user will be prompted that the current number of remote connections is full, and the system user will be asked whether to kick out one of the connected users. If you select Yes, the current connected user list will be displayed in the pop-up window for the system user to select the user to kick out; if you select No, the system will wait for the remote session to be closed. Once a remote session is closed, the system will continue to the next step of detection. Otherwise, the entire operation will time out and exit.
[0104] It should be noted that when performing interactive operations, if the system user does not interact with the digital employee within the specified time (30s by default, customizable), the digital employee can be set to randomly kick out a user for login connection operations after the specified time, or wait for the remote session to be closed until it times out. By default, if there is no interaction, wait for the remote session to be closed.
[0105] If the current number of remote sessions is less than the maximum number of RD connections allowed, the login connection operation is performed directly.
[0106] 3. Data presentation
[0107] When a digital employee successfully logs in to the user interface using an idle user, all visual operations performed by the digital employee in the user interface can be viewed in real time on the digital employee main interface. At the same time, the task execution status can also be viewed on the execution history interface, and the execution results can be sent to business personnel in the form of email, text message or WeChat.
[0108] The digital employees of the present invention can use other users to perform tasks, effectively realizing the isolation of the operations of digital employees and business personnel; digital employees can perform tasks concurrently on the same machine, improving resource utilization; digital employees can perform operations simultaneously with business personnel on the same machine, reducing information sharing and improving system operation efficiency.
[0109] At the same time, the present invention provides:
[0110] A server includes a processor and a memory, wherein the memory stores at least one program, and the program is loaded and executed by the processor to implement the above-mentioned method of non-interference human-computer interaction of digital employees based on multi-user concurrent login.
[0111] A computer-readable storage medium stores at least one program, which is loaded and executed by a processor to implement the above-mentioned method of non-interference human-computer interaction of digital employees based on multi-user concurrent login.
[0112] The above embodiments are preferred implementation modes of the present invention, but the implementation modes of the present invention are not limited to the above embodiments. Any other changes, modifications, substitutions, combinations, and simplifications that do not deviate from the spirit and principles of the present invention should be equivalent replacement methods and are included in the protection scope of the present invention.
Claims
1. A method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users, characterized in that: The following steps are involved: S1. Collect user information of the machine where the digital employee is located. The user enters the user information in the machine into the system database so that the digital employee can select the user identity to log in to the machine; S2, monitoring the status of digital employees, load balancing execution of digital employees and scheduling of optimal user resources; after collecting user information, when the digital employee's heartbeat is detected to be normal during task execution and the load balancing method is used for execution, the digital employee will be triggered to use the user optimal selection algorithm to evaluate and schedule user resources, so that the digital employee can select the optimal user to log in to the machine; The user optimal selection algorithm is as follows: The digital employee will first read the user information in the order in which the users are stored in the k agent mstsc data table of the database. Since the digital employee is started under the administrator session, when the first user information associated with it is read, the digital employee will immediately check whether the remote session ID of the user exists on the machine where it is located: (1) If the user's session ID exists, the digital employee will consider that the user is not idle, and will skip the user and continue to read the next user information associated with it. When the digital employee finishes reading the k agent mstsc data table, it finds that all the users associated with it have session IDs, and will poll and read the associated user information in the k agent mstsc data table until an idle user is found. (2) If the user's session ID does not exist, the digital employee will assume that the user is idle, end the user selection, and use the user to log in; S3. Perform user authentication and remote configuration management, and set up remote configuration accordingly. After selecting a user through the optimal user selection algorithm at the resource scheduling layer, the digital employee will use the user to send a login request to the machine. During the login connection process, the user will be authenticated, and the current user's remote permissions and machine remote configuration will be monitored. Only when the user has remote permissions and authentication is successful, and the machine supports remote concurrent login, can the digital employee use the user to log in to the machine normally to perform tasks. S4. The task execution status can be viewed in the execution history interface. At the same time, the digital employee main interface can be used to view the visual operations performed by the digital employee in the login user interface in real time.
2. According to claim 1, the method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users is characterized in that: In step S1, the user information is entered into the k agent mstsc data table of the system database.
3. The method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users according to claim 1 is characterized in that: In step (2), when a user in an idle state is used to log in, if the authentication fails in the user authentication stage, the user will be marked as an invalid user, and the data table will be re-polled to find a new idle user to log in; if the user authentication fails twice in a row, the user selection will be terminated directly and an alarm will be given to the business personnel; if the selected user successfully logs in to the system, the digital employee will always monitor whether the user can perform the current task normally. Once the task execution is detected to be abnormal, the task will be automatically terminated and the corresponding task environment will be restored according to the task execution status. At the same time, the user will be filtered and a better idle user will be re-polled to log in to the system to perform the task. If two consecutive users fail to perform the task, the user selection will be terminated directly and an alarm will be given to the business personnel.
4. The method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users according to claim 1 is characterized in that: In step (2), when a user in idle state logs into the system to execute a task, the system will always monitor whether the task is executed normally. The specific monitoring algorithm is as follows: Digital workers examine tasks from two perspectives: A. Monitor the execution status of the task in real time, that is, read the execution status of the task in the k_flow_detail table; if it is -1, it means that the task is in the execution state. Since the digital employee will record the time taken to execute the task each time it executes a task, if it is detected that the duration of the task in the execution state is longer than the preset time, it will be considered that the task may be abnormal. Otherwise, the task process and machine status will be checked; if it is 2 or 3, that is, the process has timed out or the task node has an abnormality, the task will be considered abnormal directly; B. Check the task progress and machine status. When it is detected that the task is in the execution state, it will check whether the process corresponding to the task exists. If not, it is directly considered that the task is abnormal. If it exists, the CPU, memory and disk usage of the process are monitored, and whether it is in a suspended or deadlocked state. At the same time, the digital employee will monitor the CPU, memory and disk usage of the machine in real time to determine whether the system resources are sufficient. When the process resource usage increases significantly and is close to the current user system available resources, it will be considered that it may cause task execution abnormality.
5. The method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users according to claim 4 is characterized in that: If an abnormality occurs in the digital employee monitoring task, the task execution environment will be restored, and the user will be filtered, and a better idle user will be re-polled to log in to the system to execute the task. When two consecutive users fail to execute the task, the user selection will be terminated directly and an alarm will be given to the business personnel.
6. The method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users according to claim 1 is characterized in that: In step S3, after the digital employee obtains the user information from the k agent mstsc data table, it will be verified and authenticated; first, it will verify whether the user account is a valid user. If it is invalid, the user information will be read again from the data table. If the user information read twice in a row is invalid, it will prompt that no valid user has been found twice in a row, and the whole operation will be exited. If it is valid, it will continue to check the user account and password: ① When it is found that the dynamic password is not enabled, the password field information will be read, and the read user and password information will be compared with the user name and password stored in the machine. If the verification fails, the user information will be read again from the data table. When the user password is wrong for two consecutive comparisons, it will prompt that the two consecutive user information do not match, and the entire operation will be exited; if the verification is successful, the remote configuration information will be checked; ② When reading that the dynamic password has been enabled, the digital employee will back up the password information corresponding to the user stored in the machine to the temporary cache table, and update the password of the user to a temporarily generated password. At this time, the digital employee will use the temporary password to continue subsequent operations; before the entire operation is completed, or before an abnormal exit during the login connection process, the digital employee will set the password back to the temporary cache table back to the password of the user, that is, the currently generated temporary password is only valid for this operation and does not affect the original password of the user; ③Once the user authentication is correct, the digital employee will detect and manage the remote configuration information of the machine and the user.
7. The method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users according to claim 1 is characterized in that: In step S3, after the user authentication is successful, the digital employee detects whether the user has remote permissions, whether the machine supports remote concurrent logins, and whether the current remote session is less than the maximum number of RD connections allowed; Only when the user has remote permissions, the machine supports concurrent remote logins, and the current remote session is less than the maximum number of RD connections allowed, can the digital employee use an authenticated idle user with remote permissions to log in to the machine to perform tasks: A. Check whether the machine supports remote desktop connection and whether the user allows remote desktop connection to the machine; If the machine system version does not support remote desktop connection or the remote desktop function is not enabled, it will prompt that the machine does not support or does not enable remote desktop connection operation, and ask the system user whether to enable remote desktop connection operation. If you choose yes, Digital Employee will automatically enable the remote desktop connection function of the current machine; if you choose no or time out without processing, the system user will be prompted to enable the remote desktop connection function in the machine's control panel settings and exit the entire operation; If it is detected that the user has enabled the remote desktop connection function, or the system user allows the remote desktop connection function to be enabled during the detection process, it will continue to detect whether the current user has been added to the "Remote Desktop Users" group. If it is detected that the current user has not been added, Digital Employee will automatically add him to the "Remote Desktop Users" group. B. Check the remote concurrent connections of the machine; When the machine is ensured to support remote desktop connection and the user allows remote desktop connection to the machine, the machine's remote concurrent connection status will continue to be detected; if the current machine has disabled the remote concurrent connection function, the user will be prompted to enable the remote concurrent connection function and exit the entire operation; If it is enabled, continue to detect the maximum number of RD connections allowed and the number of current remote sessions; If the current number of remote sessions is not less than the maximum number of RD connections allowed, the user will be prompted that the current number of remote connections is full, and the system user will be asked whether to kick out one of the connected users. If yes is selected, the current connected user list will be displayed in the pop-up window for the system user to select the user to kick out; if no is selected, the system will wait for the remote session to be closed. Once a remote session is closed, the next step of detection will be continued, otherwise the entire operation will be exited due to timeout; During interactive operations, if the system user does not interact with the digital employee within the specified time, the digital employee will randomly kick out a user to log in after the specified time, or wait for the remote session to be closed until the timeout. By default, if there is no interaction, the digital employee will wait for the remote session to be closed. If the current number of remote sessions is less than the maximum number of RD connections allowed, the login connection operation is performed directly; C. When the machine supports remote desktop connection and the user allows remote desktop connection to the machine, and the current number of remote sessions is less than the maximum number of RD connections allowed, the digital employee successfully logs in to the machine using the user and performs tasks related to operating the business system.
8. A system for non-interference human-computer interaction of digital employees based on multi-user concurrent login, characterized in that: A method for realizing non-interference human-computer interaction of a digital employee based on concurrent login of multiple users as described in any one of claims 1 to 7; It includes data collection layer, resource scheduling layer, login processing module and data display layer; among them, The data collection layer is used to collect user information of the machine where the digital employee is located. The user enters the user information in the machine into the system database so that the digital employee can choose the user identity to log in to the machine; The resource scheduling layer is used to monitor the status of digital employees, load balance the execution of digital employees, and schedule the optimal user resources. After collecting user information, when the digital employee's heartbeat is detected to be normal during task execution and the load balancing method is used for execution, the digital employee will be triggered to use the user optimal selection algorithm to evaluate and schedule user resources, so that the digital employee can select the optimal user to log in to the machine. The login processing module is used to perform user authentication and remote configuration management, and to set up the remote configuration accordingly. After the user is selected through the user optimal selection algorithm at the resource scheduling layer, the digital employee will use the user to send a login request to the machine. During the login connection process, the user will be authenticated, and the current user's remote permissions and the machine's remote configuration will be monitored. Only when the user has remote permissions and the authentication is successful, and the machine supports remote concurrent logins, can the digital employee use the user to log in to the machine normally to perform tasks. The data display layer is used to view the task execution status on the execution history interface, and also supports real-time viewing of the visual operations performed by digital employees on the login user interface on the digital employee main interface.
9. A server, comprising a processor and a memory, wherein the memory stores at least one program, and the program is loaded and executed by the processor to implement the method for non-interference human-computer interaction of digital employees based on concurrent login of multiple users as claimed in any one of claims 1 to 7.
Citation Information
Patent Citations
Session-based multi-user concurrent login control method, device and system
CN110445814A
Multi-user remote system based on multi-sandbox mapping and file bifurcation
CN111460438A