WO2022252637A1 - Browser-based rpa implementation method and apparatus, device, and medium - Google Patents

Browser-based rpa implementation method and apparatus, device, and medium Download PDF

Info

Publication number
WO2022252637A1
WO2022252637A1 PCT/CN2022/072188 CN2022072188W WO2022252637A1 WO 2022252637 A1 WO2022252637 A1 WO 2022252637A1 CN 2022072188 W CN2022072188 W CN 2022072188W WO 2022252637 A1 WO2022252637 A1 WO 2022252637A1
Authority
WO
WIPO (PCT)
Prior art keywords
library
xbap
page
control
program
Prior art date
Application number
PCT/CN2022/072188
Other languages
French (fr)
Chinese (zh)
Inventor
李淮兵
杨延威
杨开济
赵莫
李攀
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2022252637A1 publication Critical patent/WO2022252637A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present application relates to the field of information technology, and in particular to a browser-based RPA implementation method, a browser-based RPA implementation device, computer equipment and storage media.
  • RPA Robotic Process Automation
  • Traditional RPA design robots are all desktop applications, but they have disadvantages such as cumbersome installation, inability to automatically update, poor system compatibility, and poor security.
  • This application provides a browser-based RPA implementation method, a browser-based RPA implementation device, computer equipment, and storage media, aiming to solve the problems of cumbersome installation and update of existing RPA design robots, poor system compatibility, and poor security question.
  • the application provides a browser-based RPA implementation method, the method comprising:
  • Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
  • an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
  • the script execution software is controlled to execute the process script.
  • the application also provides a browser-based RPA implementation device, the browser-based RPA implementation device includes:
  • the file packaging module obtains the client file of the RPA design robot, and the client file is packaged, and the client file after the package process includes an XBAP program library, an interface library and a control library;
  • Signature acquisition module used to obtain the certificate signature of the XBAP library, the interface library and the control library, and the packaged XBAP library, the interface library and the control library and the corresponding certificates
  • the signature is sent to the web server;
  • the program loading module is used to respond to the user's page access request in the browser, generate an XBAP page based on the page access request, download the XBAP program library from the Web server, and load the XBAP page on the XBAP page. Describe the XBAP library;
  • a page generation module configured to download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
  • the process design module is used to control the script execution software to execute the process script according to the process script generated on the process design page.
  • the present application also provides a computer device, the computer device includes a memory and a processor; the memory is used to store a computer program; the processor is used to execute the computer program and Realize following steps when executing described computer program:
  • Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
  • an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
  • the script execution software is controlled to execute the process script.
  • the present application also provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor implements the following steps:
  • Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
  • an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
  • the script execution software is controlled to execute the process script.
  • the browser-based RPA implementation method, browser-based RPA implementation device, equipment, and storage medium disclosed in the embodiments of the present application realize online RPA process design through browsers and Web servers, which can enable RPA design robots to avoid authority troubles and realize Automatic updates and online debugging improve security and enhance user experience.
  • Fig. 1 is a schematic flow chart of a browser-based RPA implementation method provided in the embodiment of the present application
  • Fig. 2 is a schematic interface diagram of a process design page provided by the embodiment of the present application.
  • Fig. 3 is a schematic block diagram of a browser-based RPA implementation device provided in an embodiment of the present application
  • Fig. 4 is a schematic block diagram of a computer device provided by an embodiment of the present application.
  • RPA Robotic Process Automation, which realizes process automation by imitating the manual operation of users on computers, thereby replacing or assisting humans to complete repetitive work and tasks in digital devices such as computers and RPA mobile phones.
  • the traditional RPA design robot is a desktop application, which exists in the form of a client, and the client often has problems such as security permissions, cumbersome installation, failure to automatically update, and software security.
  • the existing browser-based The RPA design robot cannot solve the above problems well, and there are still problems such as inability to debug online and limited authority.
  • this application proposes a browser-based RPA implementation method, which aims to solve the problems of cumbersome installation and update of existing RPA design robots, poor system compatibility, and poor security, and can make RPA design robots exempt from authority troubles , Realize automatic update, online debugging, and improve security.
  • the above-mentioned browser-based RPA implementation method can be applied to a server or to a terminal device, wherein the terminal device can include a mobile phone, a tablet computer, a personal digital assistant (Personal Digital Assistant, PDA), etc., which have a telephone function fixed terminal.
  • the terminal device can include a mobile phone, a tablet computer, a personal digital assistant (Personal Digital Assistant, PDA), etc., which have a telephone function fixed terminal.
  • PDA Personal Digital Assistant
  • a server can be, for example, a single server or a cluster of servers.
  • the following embodiments will introduce in detail a browser-based RPA implementation method applied to a server.
  • FIG. 1 is a schematic flowchart of a browser-based RPA implementation method provided by an embodiment of the present application.
  • the browser-based RPA implementation method can be applied to the server, and specifically applied to the browser, which can enable the RPA design robot to avoid authority troubles, realize automatic updates, and online debugging, thereby improving security.
  • the browser-based RPA implementation method includes steps S101 to S105.
  • the packaged client file includes an XBAP program library, an interface library, and a control library.
  • performing packaging processing on the RPA design robot may be performing packaging processing on files of the RPA design robot at the client.
  • the XBAP library adopts XAML (Extensible Application Markup Language) architecture design
  • XAML is a standard technology of Microsoft, wherein, some browsers (such as IE browser) can automatically recognize this architecture and load it automatically, so When the user opens the RPA design robot with the IE browser, the browser can automatically load the XBAP program library without unnecessary operations.
  • the control library can be a process control library, or any building block control, mainly including controls related to user business processes, which can be loaded by the XBAP program library.
  • the interface library is the main interface library, and the main interface library includes interface program libraries other than non-process controls. Specifically, it may also include the design interface of the RPA design robot, which can be loaded by the XBAP program library.
  • the client files of the RPA design robot are obtained, and the client files are classified into files to generate XBAP program library, interface library and control library, and the XBAP program library, the described The interface library and the control library are packaged. This can enhance fault tolerance. When IE browser loads or automatically updates related modules, if it fails due to network reasons or human factors, other modules will not be affected, and the browser can be reloaded or updated after refreshing the browser.
  • the XBAP program library, the interface library and the control library are packaged separately. For example, when an error occurs in the interface library or cannot be loaded, the loading of the control library is not affected, and the browser can be continuously refreshed at the same time. Reload or update the interface library.
  • the MD5 value calculation is performed on the XBAP program library, the interface library and the control library respectively to obtain the corresponding MD5 value of each library; the XBAP program library, the The interface library and the control library are packaged with corresponding MD5 values respectively. Therefore, in subsequent updates, incremental updates can be performed according to whether the MD5 values of the library files are consistent, and it can be determined whether the downloaded program files have been tampered with to preserve program security.
  • the MD5 value can be considered as the "digital fingerprint" of the file.
  • the MD5 value of each file is different. If anyone makes any changes to the file, its MD5 value, which is the corresponding "digital fingerprint", will change.
  • the download server provides an MD5 value for a file in advance. After the user downloads the file, recalculate the MD5 value of the downloaded file. whether it has been tampered with.
  • the types of files in the RPA design robot are uniformly modified, and the modified files are packaged. Therefore, when the browser downloads the corresponding file, it is not necessary to add the corresponding Multipurpose Internet Mail Extensions (MIME) on the Web server for various file types.
  • MIME Multipurpose Internet Mail Extensions
  • the suffixes of all files in the RPA design robot are uniformly modified so that the suffixes of all files are the same.
  • the certificate is a digital encryption certificate provided by Microsoft
  • the certificate signature is created using a public key signature algorithm such as RSA public key cryptography.
  • the public key algorithm actually uses two different keys, specifically a public key and a private key.
  • a private key is known only to its owner, while a public key can be used by anyone.
  • public key algorithms if one key is used for encryption, the other is used for decryption. Furthermore, the decryption key cannot reasonably be computed from the encryption key.
  • digital signatures the private key generates the signature, and the corresponding public key verifies it.
  • the source of the RPA design robot can be confirmed to the recipient by using the digital signature.
  • the digital signature only generates a digital signature string, and the user can bundle it with the RPA design robot.
  • said certificate is a set of data that fully identifies an entity and is issued by a certificate authority only after the entity's identity has been verified by the certificate authority.
  • the data set includes an entity's public encryption key.
  • the digital encryption certificate is sent to the user, and the user can use the SignTool signature tool to sign the digital encryption certificate, sign the certificate and upload it to the IE browser.
  • the SignTool signature tool Based on the certificate signatures of the XBAP program library, the interface library and the control library, the packaged XBAP program library, the interface library and the control library are sent to the Web server.
  • the web service can be any server, such as IIS, Tomcat, Apache and other servers, and can be expanded horizontally, it can be a cheap server, and the operating system of the application can also be any system, such as Window, Linux and so on.
  • the page access request can be the user's access request to the XBAP page using HTTPS
  • the XBAP page is a page generated by the browser using XBAP technology
  • XBAP combines Web applications and client (WPF) applications Function. Similar to web applications, XBAPs can be deployed to a web server and launched from Internet Explorer or Firefox. Like client (WPF) applications, XBAPs can take advantage of WPF features, including Workflow.
  • the page identifier of the page access request is acquired, and it is determined whether the page identifier is a preset page identifier, and if the page identifier is a preset page identifier, an XBAP page is generated according to the page identifier.
  • said preset page mark is XBAP mark
  • described XBAP page is the page that browser utilizes XBAP technology to generate, is WPF browser application program in essence, utilizes the webpage of this technology development to be similar to html page.
  • obtain the domain name suffix of the page access request determine whether the domain name suffix is a preset domain name suffix, and if the page identifier is a preset domain name suffix, generate an XBAP page according to the page identifier.
  • the domain name suffix of the page access request is acquired, and it is determined whether the domain name suffix is .xbap, and if the page identifier is .xbap, an XBAP page is generated according to the page identifier.
  • an XBAP page is generated based on the page access request and the ClickOnce deployment technology, and the XBAP page is deployed, wherein the XBAP page includes a WPF browser application.
  • the automatic update function can be provided for the RPA design robot, and the security is improved, and the user can let the IE browser automatically trust and load it without additional operations.
  • a WPF browser application (Xbap) is a client application that can be deployed to a web server and launched in a browser.
  • the WPF host (PresentationHost.exe) is registered as a shell and MIME handler for XBAP and XAML files. Therefore, when starting the domain name corresponding to the XBAP, the IE browser knows to start the WPF host. In other browsers or stand-alone applications, you can use the native browser host API provided by WPF to host the XBAP.
  • PresentationHost as a host process, can load many other applications, such as some tools with relatively low coupling degree in RPA design robots, such as script recorder, configuration manager, etc. Associated with IE browser. Therefore, the RPA design robot can access the web server through the IE browser to load automatically, without worrying about the leakage of program files, and save the execution performance and security by hosting the PresentationHost host process, without worrying about the program being tampered with and executed.
  • the IE browser when the user visits the WPF browser application program, the IE browser only embeds the lightweight display interface generated by this process, and actually calls the system resources of the computer itself, and the use of system resources such as its CPU and memory is related to Scheduling has nothing to do with IE browsers, and the operation of the entire PRA design robot is not affected by browser performance at all.
  • the XBAP page can be deployed on the Web server. Specifically, generate a WPF browser application based on the ClickOnce deployment technology, and obtain the executable file, application list and deployment list output by the WPF browser application; and copy the executable file and the application list to the Web server for Generate XBAP pages.
  • the executable file contains compiled code and has an exe extension
  • the application manifest contains metadata associated with the application and has manifest extension information
  • the deployment manifest contains ClickOnce for deploying the application And has the information of the xbap extension.
  • XBAP XBAP
  • the executable file and the application manifest are copied to the web server, and an HTML page containing a hyperlink is generated to open the deployment manifest, that is, a file with an extension of .xbap.
  • ClickOnce automatically handles the mechanics of downloading and launching the application, resulting in an XBAP page.
  • the following code sample displays an HTML page containing a hyperlink to an XBAP:
  • the XBAP page can be deployed into a webpage frame.
  • generate a WPF browser application based on the ClickOnce deployment technology, and obtain the executable file, application list, and deployment list output by the WPF browser application; generate at least one framed web page, and set the source attribute of the frame to Set to deploy the manifest file to generate XBAP pages.
  • the user needs to customize the trust method, the user will receive a warning when trying to install it, and the user can choose to continue or cancel the installation. Therefore, before downloading and loading the XBAP program library from the Web server, load the certificate signature and determine the current loading environment, if the loading environment is a local computer, it is set to full trust without any operation; If the loading environment is an Intranet and a trusted site, a prompt message of full trust is displayed on the browser; if the loading environment is an Intranet and a trusted site, a prompt message of not granting trust is displayed on the browser . In this way, it can be used in different security environments by setting a custom trust method.
  • the loading environment may be determined by means of an IP address or the like, wherein the intranet is an intranet of an enterprise.
  • the browser displays a prompt message of full trust, and the user can choose to continue or cancel the installation at this time. If the user chooses to continue the installation at this time, the user is required to Sign the XBAP page with said certificate.
  • the browser displays a prompt message of not granting trust, and the user can choose to continue or cancel the installation at this time. If the user chooses to continue the installation at this time, the user is required to use the certificate Sign the XBAP page.
  • the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page.
  • the MD5 value of the XBAP program library determines whether the MD5 value of the XBAP program library is the same as the corresponding historical MD5 value; if the MD5 value of the XBAP program library is different from the corresponding historical MD5 value, Download the XBAP library from the Web server. In this way, the incremental download of the RPA design robot can be achieved, and the minimum download amount and download speed can be guaranteed. At the same time, the high availability and fault tolerance of the design robot in the browser can be ensured, and the failure caused by network reasons, human factors, and misoperations can be avoided. If the update fails, you can restart the update process after refreshing the webpage without reinstalling. Wherein, the historical MD5 value is the latest MD5 value of the XBAP program library.
  • the XBAP program library is automatically downloaded in full, and in subsequent updates, the XBAP program library will automatically compare the MD5 values, and only download when the MD5 values are inconsistent. If the XBAP program library of the RPA design robot is updated, it only needs to be published to the web server, and the user only needs to refresh the page to automatically obtain and run the latest program control.
  • the MD5 value corresponding to the first packaged XBAP program library is used as the initial MD5 value, and before the XBAP program library is loaded, the MD5 value of the XBAP program library is obtained, and the encrypted information of the MD5 value is determined to be corresponding to the corresponding Whether the encrypted information of the initial MD5 value is the same, if the encrypted information of the MD5 value is different from the encrypted information of the initial MD5 value, output a warning message. In this way, the downloaded program file can be prevented from being tampered with, and it will be downloaded again when loading, so as to preserve the security of the program.
  • the encrypted information may be through a secret key, a password, etc. Thereafter, each updated file has the same encrypted information. If it is tampered with in the middle, the secret key or password will be changed. Whether the encrypted information of the MD5 value is the same as the corresponding encrypted information of the initial MD5 value determines whether the downloaded program file has been tampered with.
  • the MD5 value calculation is performed on the XBAP program library, the interface library and the control library respectively to obtain the corresponding MD5 value of each library; the XBAP program library, the interface library and the control library are respectively compared with the corresponding The MD5 value is packaged, and the MD5 value is used as the initial MD5 value; before loading the interface library and the control library, obtain the MD5 values of the interface library and the control library, and determine the Whether the encrypted information of the MD5 value is the same as the corresponding encrypted information of the initial MD5 value, if the encrypted information of the MD5 value is not the same as the corresponding encrypted information of the initial MD5 value, output a warning message. In this way, the downloaded program file can be prevented from being tampered with, and it will be downloaded again when loading, so as to preserve the security of the program.
  • the encrypted information may be through secret keys, passwords, etc., and each updated file thereafter has the same encrypted information. Whether the encrypted information of the MD5 value in the middle is the same as the encrypted information of the corresponding initial MD5 value determines whether the downloaded program file has been tampered with.
  • the password of the MD5 value of the control library is different from the password of the corresponding initial MD5 value, output a warning message that the program file has been tampered with and stop loading the control library, or re-download another version of the control library.
  • the output starts to load the downloaded control library.
  • the MD5 value of the interface library and the control library is obtained, and it is determined whether the MD5 value of the interface library and the control library is the same as the corresponding historical MD5 value; if the MD5 value of the interface library If it is different from the corresponding historical MD5 value, download the interface library from the Web server; if the MD5 value of the control library is different from the corresponding historical MD5 value, download the control library from the Web server. In this way, the incremental download of the RPA design robot can be achieved, the minimum amount of download and the download speed can be guaranteed, and at the same time, the high availability and fault tolerance of the design robot in the browser can be guaranteed, and the failure caused by network reasons, human factors, misoperation, etc. can be avoided. If the update fails, you can restart the update process after refreshing the web page without reinstalling.
  • the historical MD5 value is the most recent MD5 value of the interface library and the MD5 value of the control library.
  • the XBAP program library, the interface library and the control library are fully automatically downloaded, and in subsequent updates, the XBAP program library will download the interface library and the control library.
  • the above-mentioned control library automatically performs MD5 value comparison, and downloads only when the MD5 values are inconsistent. If the RPA design robot interface or controls are updated, it only needs to be published to the web server, and users only need to refresh the page to automatically obtain and run the latest program controls.
  • a process design page is generated.
  • the process design page includes a control area, a script management area and a script design area, specifically as shown in FIG. 2 , the left side is the control area, the right side is the script management area, and the middle is the script design area and the process script area.
  • control area is loaded through the control library, including multiple different types of controls such as controls for jumping URLs
  • script management area and script design area are loaded through the interface library
  • the script management area includes many different types of processes such as single Circular process or multi-circular process
  • the script design area provides a design area for the user, the user can select different controls and processes according to the control area and the script management area, and then design the process in the script design area, the process script The area is used to display the process script generated on the process design page, and the user can modify the generated process script in the process script area.
  • control area script management area
  • script design area are all displayed graphically in the IE browser, providing 15 categories with a total of more than 180 types of controls to automate various processes, no need for users to install and download software, and everything is already online The form is realized.
  • the process design result is a user's design operation in the script design area according to the control area and the script management area, and the process design result is used to generate a corresponding process script.
  • the process design result is the result of the user selecting the corresponding controls and corresponding scripts in the control area and script management area of the process design page on the browser to perform design operations in the script design area.
  • the recording function of the design robot can be enabled in the IE browser, which can record user operations in real time and automatically generate corresponding processes to obtain process design results.
  • the recording function needs to capture keyboard and mouse input, and has extremely high requirements for code execution authority. For this, we use the characteristics of XBAP to embed a separate recording client in the browser. Start the recording function in the application, record user operations in real time and automatically generate corresponding processes to obtain process design results.
  • a process script is generated according to the process design result, and the process script is debugged.
  • the process script is generated according to the user's operation in the script design area, the process script can be displayed in the form of a graph, and can be debugged after the script is saved, and a debug button is displayed on the process design page.
  • the authority to execute the Windows underlying API can be obtained in the form of user authorization, thereby ensuring that the RPA can call the local Windows API in an online mode, which solves the problem of finding elements, mouse input, keyboard input, etc. in the debugging state. Call problems, so as to achieve the same debugging effect on the browser as on the client.
  • the debugging content can include breakpoints, log records, log output, etc.
  • the IE browser when the IE browser loads the WPF browser application program, it detects that the program wants to access local resources, so an authorization window will pop up, and the IE browser will run the program only after the user agrees to the authorization.
  • the corresponding script execution software is controlled to execute the debugged process script.
  • the script execution software is corresponding software for executing process scripts, for example, browser, excel, word, etc. can be used.
  • the user wants to open a browser to visit Baidu, he can drag a browser-opening control in the control area to the script design area, and then input Baidu URL in the control, and generate the corresponding design result, and generate process script and debug the process script, when the debugging is completed and the process script runs, the browser will be automatically opened and then jump to the Baidu page.
  • FIG. 3 is a schematic block diagram of a browser-based RPA implementation device provided by an embodiment of the present application.
  • the browser-based RPA implementation device can be configured in a server to execute the aforementioned browser-based The RPA implementation method of the server.
  • the browser-based RPA implementation device 200 includes: a file packaging module 201 , a signature acquisition module 202 , a program loading module 203 , a page generation module 204 and a process design module 205 .
  • File packing module 201 obtains the client file of RPA design robot, described client file is carried out packing process, the client file after described packing process comprises XBAP program storehouse, interface storehouse and control storehouse;
  • the signature acquisition module 202 is used to obtain the certificate signature of the XBAP program library, the interface library and the control library, and package the packaged XBAP program library, the interface library and the control library and the corresponding The certificate signature is sent to the web server;
  • the program loading module 203 is configured to respond to the user's page access request in the browser, generate an XBAP page based on the page access request, download the XBAP program library from the Web server, and load the XBAP program library on the XBAP page The XBAP library;
  • a page generating module 204 configured to download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
  • the process design module 205 is configured to control the script execution software to execute the process script according to the process script generated on the process design page.
  • the methods and devices of the present application can be used in many general-purpose or special-purpose computing system environments or configurations. Examples: personal computers, server computers, handheld or portable devices, tablet-type devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer terminal equipment, network PCs, minicomputers, mainframe computers, including the above A distributed computing environment for any system or device, and more.
  • the above method and apparatus can be implemented in the form of a computer program, and the computer program can be run on the computer device as shown in FIG. 4 .
  • FIG. 4 is a schematic diagram of a computer device provided by an embodiment of the present application.
  • the computer device may be a server.
  • the computer device includes a processor, a memory, and a network interface connected through a system bus, where the memory may include a non-volatile storage medium and an internal memory.
  • Non-volatile storage media can store operating systems and computer programs.
  • the computer program includes program instructions.
  • the processor can execute any browser-based RPA implementation method.
  • the processor is used to provide computing and control capabilities and support the operation of the entire computer equipment.
  • the internal memory provides an environment for running the computer program in the non-volatile storage medium.
  • the processor can execute any browser-based RPA implementation method.
  • This network interface is used for network communication, such as sending assigned tasks, etc.
  • Those skilled in the art can understand that the structure of the computer equipment is only a block diagram of the partial structure related to the solution of the present application, and does not constitute a limitation to the computer equipment on which the solution of the application is applied.
  • the specific computer equipment may include More or fewer components are shown in the figures, or certain components are combined, or have different component arrangements.
  • the processor may be a central processing unit (Central Processing Unit, CPU), and the processor may also be other general processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the processor is used to run the computer program stored in the memory, to achieve the following steps: obtain the client file of the RPA design robot, and package the client file, and the package process After the client file comprises XBAP program storehouse, interface storehouse and control storehouse; Obtain the certificate signature of described XBAP program storehouse, described interface storehouse and described control storehouse, and described XBAP program storehouse after packing, described interface Storehouse and described control storehouse and corresponding certificate signature are sent to Web server; In response to user's page visit request in described browser, generate XBAP page based on described page visit request, download described XBAP program from described Web server library, and load the XBAP program library on the XBAP page; download the interface library and the control library from the Web server, and load the interface library and the control library on the XBAP page, Generate a process design page; according to the process script generated on the process design page, control the script execution software to execute the process script.
  • the processor is further configured to: obtain the client file of the RPA design robot, and perform file classification processing on the client file to obtain a file classification result; generate a file classification result based on the file classification result.
  • XBAP program library, interface library and control library respectively package the XBAP program library, the interface library and the control library.
  • the processor is further configured to: respectively perform MD5 value calculation on the XBAP program library, the interface library and the control library to obtain the corresponding MD5 value of each library; and the control library are packaged with corresponding MD5 values respectively.
  • the processor is further configured to: obtain the MD5 value corresponding to the interface library and the control library, and determine the MD5 value corresponding to the interface library and the control library and the corresponding historical MD5 value Whether it is the same; if the MD5 value of the interface library is different from the corresponding historical MD5 value, download the interface library from the Web server; if the MD5 value of the control library is different from the corresponding historical MD5 value, Download the control library from the Web server.
  • the processor is further configured to: uniformly modify the type of the client file, obtain a modified client file, and package the modified file.
  • the processor is further configured to: generate an XBAP page based on the page access request and the ClickOnce deployment technology and deploy the XBAP page, wherein the XBAP page includes a WPF browser application.
  • the processor is further configured to: obtain the process design result of the user on the process design page; generate a process script according to the process design result, and debug the process script; when the process After the script debugging is completed, the script execution software is controlled to execute the debugged process script.
  • the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium may be non-volatile or volatile.
  • a computer program is stored on the computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed, any browser-based RPA implementation method provided in the embodiments of the present application is implemented.
  • the computer-readable storage medium may be an internal storage unit of the computer device described in the foregoing embodiments, such as a hard disk or a memory of the computer device.
  • the computer-readable storage medium can also be an external storage device of the computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD ) card, flash memory card (Flash Card), etc.
  • the computer-readable storage medium may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required by at least one function, etc.; The data created using the node, etc.
  • Blockchain essentially a decentralized database, is a series of data blocks associated with each other using cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify its Validity of information (anti-counterfeiting) and generation of the next block.
  • the blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A browser-based RPA implementation method and apparatus, a device, and a medium, which relate to the technical field of information. The method comprises: obtaining a client file of a design robot, and packaging the client file, wherein the packaged client file comprises a program library, an interface library, and a control library; obtaining certificate signatures of the program library, the interface library and the control library, and sending the packaged program library, interface library, and control library, as well as the corresponding certificate signatures to a Web server; in response to a page access request of a user in a browser, generating a page on the basis of the page access request, downloading the program library, the interface library and the control library from the Web server, loading the program library, the interface library, and the control library on the page, and generating a process design page; obtaining a process script generated by the process design page, and controlling script execution software to execute the process script, so that an RPA design robot is automatically updated, permission troubles are avoided, and the security is improved.

Description

基于浏览器的RPA实现方法、装置、设备及介质Browser-based RPA implementation method, device, equipment and medium
本申请要求于2021年06月01日提交中国专利局、申请号为202110609423.3、发明名称为“基于浏览器的RPA实现方法、装置、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 202110609423.3 and the title of the invention "Browser-based RPA Implementation Method, Device, Equipment and Medium" submitted to the China Patent Office on June 1, 2021, the entire content of which is passed References are incorporated in this application.
技术领域technical field
本申请涉及信息技术领域,尤其涉及基于浏览器的RPA实现方法、基于浏览器的RPA实现装置、计算机设备及存储介质。The present application relates to the field of information technology, and in particular to a browser-based RPA implementation method, a browser-based RPA implementation device, computer equipment and storage media.
背景技术Background technique
RPA即机器人流程自动化(Robotic Process Automation),它通过模仿用户在电脑的手动操作方式来实现流程自动化。传统RPA设计机器人都是一种桌面应用程序,但是存在安装繁琐、无法自动更新、系统兼容性差、安全性较差等不足。RPA is Robotic Process Automation (RPA), which realizes process automation by imitating the manual operation of the user on the computer. Traditional RPA design robots are all desktop applications, but they have disadvantages such as cumbersome installation, inability to automatically update, poor system compatibility, and poor security.
尽管基于浏览器的RPA设计机器人的想法已被提出,但是发明人意识到基于浏览器的RPA设计机器人发展并不成熟,现有的都是基于ActiveX,SliverLight等类似的技术实现的,因此并不能实现自动安装、且仍然存在权限繁琐、工作性能差等问题。Although the idea of designing robots based on browser-based RPA has been proposed, the inventor realized that the development of designing robots based on browser-based RPA is not yet mature. Automatic installation is realized, and there are still problems such as cumbersome permissions and poor work performance.
发明内容Contents of the invention
本申请提供了一种基于浏览器的RPA实现方法、基于浏览器的RPA实现装置、计算机设备及存储介质,旨在解决现有RPA设计机器人安装、更新繁琐、系统兼容性差、安全性较差的问题。This application provides a browser-based RPA implementation method, a browser-based RPA implementation device, computer equipment, and storage media, aiming to solve the problems of cumbersome installation and update of existing RPA design robots, poor system compatibility, and poor security question.
为实现上述目的,本申请提供一种基于浏览器的RPA实现方法,所述方法包括:In order to achieve the above object, the application provides a browser-based RPA implementation method, the method comprising:
获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;Obtain the certificate signature of the XBAP program library, the interface library and the control library, and send the packaged XBAP program library, the interface library and the control library and the corresponding certificate signature to the Web server;
响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;In response to the user's page access request in the browser, an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;Download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。According to the process script generated by the process design page, the script execution software is controlled to execute the process script.
为实现上述目的,本申请还提供一种基于浏览器的RPA实现装置,所述基于浏览器的RPA实现装置包括:In order to achieve the above object, the application also provides a browser-based RPA implementation device, the browser-based RPA implementation device includes:
文件打包模块,获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;The file packaging module obtains the client file of the RPA design robot, and the client file is packaged, and the client file after the package process includes an XBAP program library, an interface library and a control library;
签名获取模块,用于获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;Signature acquisition module, used to obtain the certificate signature of the XBAP library, the interface library and the control library, and the packaged XBAP library, the interface library and the control library and the corresponding certificates The signature is sent to the web server;
程序加载模块,用于响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;The program loading module is used to respond to the user's page access request in the browser, generate an XBAP page based on the page access request, download the XBAP program library from the Web server, and load the XBAP page on the XBAP page. Describe the XBAP library;
页面生成模块,用于从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;A page generation module, configured to download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
流程设计模块,用于根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。The process design module is used to control the script execution software to execute the process script according to the process script generated on the process design page.
此外,为实现上述目的,本申请还提供一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现如下步骤:In addition, in order to achieve the above object, the present application also provides a computer device, the computer device includes a memory and a processor; the memory is used to store a computer program; the processor is used to execute the computer program and Realize following steps when executing described computer program:
获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;Obtain the certificate signature of the XBAP program library, the interface library and the control library, and send the packaged XBAP program library, the interface library and the control library and the corresponding certificate signature to the Web server;
响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;In response to the user's page access request in the browser, an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;Download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。According to the process script generated by the process design page, the script execution software is controlled to execute the process script.
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如下步骤:In addition, in order to achieve the above purpose, the present application also provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor implements the following steps:
获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;Obtain the certificate signature of the XBAP program library, the interface library and the control library, and send the packaged XBAP program library, the interface library and the control library and the corresponding certificate signature to the Web server;
响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;In response to the user's page access request in the browser, an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;Download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。According to the process script generated by the process design page, the script execution software is controlled to execute the process script.
本申请实施例公开的基于浏览器的RPA实现方法、基于浏览器的RPA实现装置、设备及存储介质,通过浏览器和Web服务器实现了在线RPA流程设计,能够使RPA设计机器人免除权限困扰、实现自动更新、在线调试,提高了安全性,从而提升了用户体验。The browser-based RPA implementation method, browser-based RPA implementation device, equipment, and storage medium disclosed in the embodiments of the present application realize online RPA process design through browsers and Web servers, which can enable RPA design robots to avoid authority troubles and realize Automatic updates and online debugging improve security and enhance user experience.
附图说明Description of drawings
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions of the embodiments of the present application more clearly, the drawings that need to be used in the description of the embodiments will be briefly introduced below. Obviously, the drawings in the following description are some embodiments of the present application. Ordinary technicians can also obtain other drawings based on these drawings on the premise of not paying creative work.
图1是本申请实施例提供的一种基于浏览器的RPA实现方法的流程示意图;Fig. 1 is a schematic flow chart of a browser-based RPA implementation method provided in the embodiment of the present application;
图2是本申请实施例提供的一种流程设计页面的界面示意图;Fig. 2 is a schematic interface diagram of a process design page provided by the embodiment of the present application;
图3是本申请实施例提供的一种基于浏览器的RPA实现装置的示意性框图;Fig. 3 is a schematic block diagram of a browser-based RPA implementation device provided in an embodiment of the present application;
图4是本申请一实施例提供的一种计算机设备的示意性框图。Fig. 4 is a schematic block diagram of a computer device provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of them. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the scope of protection of this application.
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的 顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。The flow charts shown in the drawings are just illustrations, and do not necessarily include all contents and operations/steps, nor must they be performed in the order described. For example, some operations/steps can be decomposed, combined or partially combined, so the actual order of execution may be changed according to the actual situation. In addition, although the functional modules are divided in the schematic diagram of the device, in some cases, they may be divided into modules different from those in the schematic diagram of the device.
在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。The term "and/or" used in the description of the present application and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
RPA即机器人流程自动化(Robotic Process Automation),它通过模仿用户在电脑的手动操作方式来实现流程自动化,从而代替或者协助人类在计算机、RPA手机等数字化设备中完成重复性工作与任务。传统的RPA设计机器人是一种桌面应用程序,均以客户端的形式存在,而客户端的形式往往存在着安全权限、安装繁琐、无法自动更新以及软件安全等问题,同时,现有的基于浏览器的RPA设计机器人也并不能很好地解决上述问题,还存在无法在线调试、权限受限等问题。RPA is Robotic Process Automation, which realizes process automation by imitating the manual operation of users on computers, thereby replacing or assisting humans to complete repetitive work and tasks in digital devices such as computers and RPA mobile phones. The traditional RPA design robot is a desktop application, which exists in the form of a client, and the client often has problems such as security permissions, cumbersome installation, failure to automatically update, and software security. At the same time, the existing browser-based The RPA design robot cannot solve the above problems well, and there are still problems such as inability to debug online and limited authority.
尽管基于浏览器的RPA设计机器人的想法已被提出,但是基于浏览器的RPA设计机器人发展并不成熟,现有的都是基于ActiveX,SliverLight等类似的技术实现的,因此并不能实现自动安装、且仍然存在权限繁琐、工作性能差等问题。Although the idea of browser-based RPA design robots has been proposed, the development of browser-based RPA design robots is not yet mature. The existing ones are based on ActiveX, SilverLight and other similar technologies, so automatic installation, And there are still problems such as cumbersome permissions and poor work performance.
基于上述问题,本申请提出了一种基于浏览器的RPA实现方法,旨在解决现有RPA设计机器人安装、更新繁琐、系统兼容性差、安全性较差的问题,能够使RPA设计机器人免除权限困扰、实现自动更新、在线调试,提高了安全性。Based on the above problems, this application proposes a browser-based RPA implementation method, which aims to solve the problems of cumbersome installation and update of existing RPA design robots, poor system compatibility, and poor security, and can make RPA design robots exempt from authority troubles , Realize automatic update, online debugging, and improve security.
其中,上述基于浏览器的RPA实现方法可以应用在服务器中,也可以应用于终端设备上,其中,终端设备可以包括诸如手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等具有电话功能的固定终端。服务器例如可以为单独的服务器或服务器集群。但为了便于理解,以下实施例将以应用于服务器的基于浏览器的RPA实现方法进行详细介绍。Wherein, the above-mentioned browser-based RPA implementation method can be applied to a server or to a terminal device, wherein the terminal device can include a mobile phone, a tablet computer, a personal digital assistant (Personal Digital Assistant, PDA), etc., which have a telephone function fixed terminal. A server can be, for example, a single server or a cluster of servers. However, for ease of understanding, the following embodiments will introduce in detail a browser-based RPA implementation method applied to a server.
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。Some implementations of the present application will be described in detail below in conjunction with the accompanying drawings. In the case of no conflict, the following embodiments and features in the embodiments can be combined with each other.
请参阅图1,图1是本申请实施例提供的一种基于浏览器的RPA实现方法的示意流程图。该基于浏览器的RPA实现方法可以应用于服务器中,具体应用在浏览器上,能够使RPA设计机器人免除权限困扰、实现自动更新、在线调试,提高了安全性。Please refer to FIG. 1 . FIG. 1 is a schematic flowchart of a browser-based RPA implementation method provided by an embodiment of the present application. The browser-based RPA implementation method can be applied to the server, and specifically applied to the browser, which can enable the RPA design robot to avoid authority troubles, realize automatic updates, and online debugging, thereby improving security.
如图1所示,该基于浏览器的RPA实现方法包括步骤S101至步骤S105。As shown in FIG. 1 , the browser-based RPA implementation method includes steps S101 to S105.
S101、获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库。S101. Obtain the client file of the RPA design robot, and package the client file. The packaged client file includes an XBAP program library, an interface library, and a control library.
其中,对RPA设计机器人进行打包处理可以是对客户端的RPA设计机器人的文件进行打包处理。Wherein, performing packaging processing on the RPA design robot may be performing packaging processing on files of the RPA design robot at the client.
具体地,所述XBAP程序库采用XAML(可扩展应用程序标记语言)架构设计,XAML是微软的标准技术,其中,部分浏览器(比如IE浏览器)能够自动识别此种架构并自动加载,因此用户在用IE浏览器打开RPA设计机器人时无需多余的操作,浏览器便可以自动加载XBAP程序库。所述控件库可以为流程控件库,也可以为任何积木控件,主要包括关于用户业务流程的控件,能够被XBAP程序库加载。所述界面库为主界面库,所述主界面库为包括非流程控件以外的界面程序库,具体还可以包括RPA设计机器人的设计界面,能够被XBAP程序库加载。Specifically, the XBAP library adopts XAML (Extensible Application Markup Language) architecture design, and XAML is a standard technology of Microsoft, wherein, some browsers (such as IE browser) can automatically recognize this architecture and load it automatically, so When the user opens the RPA design robot with the IE browser, the browser can automatically load the XBAP program library without unnecessary operations. The control library can be a process control library, or any building block control, mainly including controls related to user business processes, which can be loaded by the XBAP program library. The interface library is the main interface library, and the main interface library includes interface program libraries other than non-process controls. Specifically, it may also include the design interface of the RPA design robot, which can be loaded by the XBAP program library.
在一些实施例中,获取RPA设计机器人的客户端文件,并将所述客户端文件进行文件归类处理,生成XBAP程序库、界面库和控件库,并分别对所述XBAP程序库、所述界面库和所述控件库进行打包。由此可以增强容错能力,当IE浏览器在加载或自动更新相关模块时,如因网络原因或人为因素导致失败时,不影响其它模块,重新刷新浏览器后即可重新加载或更新。In some embodiments, the client files of the RPA design robot are obtained, and the client files are classified into files to generate XBAP program library, interface library and control library, and the XBAP program library, the described The interface library and the control library are packaged. This can enhance fault tolerance. When IE browser loads or automatically updates related modules, if it fails due to network reasons or human factors, other modules will not be affected, and the browser can be reloaded or updated after refreshing the browser.
具体地,对所述XBAP程序库、所述界面库和所述控件库分别进行打包,比如当界面库发生错误或无法加载时,不影响控件库的加载,同时可以不断地重新刷新浏览器,对界面库进行重新加载或更新。Specifically, the XBAP program library, the interface library and the control library are packaged separately. For example, when an error occurs in the interface library or cannot be loaded, the loading of the control library is not affected, and the browser can be continuously refreshed at the same time. Reload or update the interface library.
在一些实施例中,在所述客户端文件进行打包处理时,分别对XBAP程序库、界面库和 控件库进行MD5值计算,得到每个库对应的MD5值;将所述XBAP程序库、所述界面库和所述控件库分别与对应的MD5值进行打包处理。由此可以在后续的更新时会根据库文件的MD5值是否一致来做增量更新以及确定已下载的程序文件是否被篡改保存程序安全性。In some embodiments, when the client file is packaged, the MD5 value calculation is performed on the XBAP program library, the interface library and the control library respectively to obtain the corresponding MD5 value of each library; the XBAP program library, the The interface library and the control library are packaged with corresponding MD5 values respectively. Therefore, in subsequent updates, incremental updates can be performed according to whether the MD5 values of the library files are consistent, and it can be determined whether the downloaded program files have been tampered with to preserve program security.
具体地,MD5值可以被认为是文件的“数字指纹”。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个MD5值,用户下载完该文件后,重新计算下载文件的MD5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。Specifically, the MD5 value can be considered as the "digital fingerprint" of the file. The MD5 value of each file is different. If anyone makes any changes to the file, its MD5 value, which is the corresponding "digital fingerprint", will change. For example, the download server provides an MD5 value for a file in advance. After the user downloads the file, recalculate the MD5 value of the downloaded file. whether it has been tampered with.
在一些实施例中,对所述RPA设计机器人中文件的类型进行统一修改,对修改后的文件进行打包处理。由此可以在浏览器下载对应的文件时,针对千奇百怪的文件类型不需要在Web服务器上添加对应的多用途互联网邮件扩展类型(MIME)。In some embodiments, the types of files in the RPA design robot are uniformly modified, and the modified files are packaged. Therefore, when the browser downloads the corresponding file, it is not necessary to add the corresponding Multipurpose Internet Mail Extensions (MIME) on the Web server for various file types.
具体地,对所述RPA设计机器人中的所有文件的后缀名进行统一修改,以使所有文件的后缀名都为相同的后缀名。Specifically, the suffixes of all files in the RPA design robot are uniformly modified so that the suffixes of all files are the same.
示例性地,若所述RPA设计机器人中的存在文件类型为“*.exe”、“*.dll”、“*.abcd”等的文件,将上述文件的后缀名改为“*.deploy”的后缀名,由于每个文件的后缀名一样,即文件类型相同,因此无需在Web服务器上添加对应的多用途互联网邮件扩展类型(MIME)。For example, if there are files of the file type "*.exe", "*.dll", "*.abcd" etc. in the RPA design robot, change the suffix of the above file to "*.deploy" suffix, because the suffix of each file is the same, that is, the file type is the same, so there is no need to add the corresponding Multipurpose Internet Mail Extensions (MIME) on the Web server.
S102、获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器。S102. Obtain the certificate signatures of the XBAP program library, the interface library, and the control library, and send the packaged XBAP program library, the interface library, and the control library and the corresponding certificate signatures to the Web server.
为了使Internet成为可靠的软件来源,向用户保证他们知道代码的来源,需要获取所述XBAP程序库、所述界面库和所述控件库的证书签名。In order to make the Internet a reliable software source and assure users that they know the source of the code, it is necessary to obtain the certificate signatures of the XBAP program library, the interface library and the control library.
其中,所述证书为微软提供的数字加密证书,而证书签名是使用比如RSA公钥密码之类的公钥签名算法创建的。所述公钥算法实际上使用两个不同的密钥,具体为公钥和私钥。私钥只有其所有者才知道,而公钥则可以对任何人使用。对于公钥算法,如果将一个密钥用于加密,则将另一个密钥用于解密。此外,不能从加密密钥合理地计算出解密密钥。在数字签名中,私钥会生成签名,相应的公钥会对其进行验证。Wherein, the certificate is a digital encryption certificate provided by Microsoft, and the certificate signature is created using a public key signature algorithm such as RSA public key cryptography. The public key algorithm actually uses two different keys, specifically a public key and a private key. A private key is known only to its owner, while a public key can be used by anyone. With public key algorithms, if one key is used for encryption, the other is used for decryption. Furthermore, the decryption key cannot reasonably be computed from the encryption key. In digital signatures, the private key generates the signature, and the corresponding public key verifies it.
示例性地,当打包完成后,可以使用数字签名向接收者确定RPA设计机器人的来源,数字签名只是生成一个数字签名字符串,用户可以将其与RPA设计机器人捆绑在一起。Exemplarily, after the packaging is completed, the source of the RPA design robot can be confirmed to the recipient by using the digital signature. The digital signature only generates a digital signature string, and the user can bundle it with the RPA design robot.
其中,所述证书是一组完全标识实体的数据集,并且仅在证书颁发机构验证了该实体的身份之后才由证书颁发机构颁发。所述数据集包括实体的公共加密密钥。当邮件的发件人使用其私钥对邮件进行签名时,邮件的收件人可以使用发件人的公钥以验证发件人的身份。Wherein, said certificate is a set of data that fully identifies an entity and is issued by a certificate authority only after the entity's identity has been verified by the certificate authority. The data set includes an entity's public encryption key. When the sender of a message signs the message with his private key, the recipient of the message can use the sender's public key to verify the sender's identity.
具体地,将数字加密证书发送给用户,用户可以利用SignTool签名工具对数字加密证书进行签名,并将证书签名并上传至IE浏览器。基于所述XBAP程序库、所述界面库和所述控件库的证书签名将打包后的所述XBAP程序库、所述界面库和所述控件库发送到Web服务器。所述Web服务可以是任何服务器,如IIS,Tomcat,Apache等服务器,并且可以横向扩展,可以是一台廉价的服务器,且应用的操作系统也可以是任何系统,如Window,Linux等。Specifically, the digital encryption certificate is sent to the user, and the user can use the SignTool signature tool to sign the digital encryption certificate, sign the certificate and upload it to the IE browser. Based on the certificate signatures of the XBAP program library, the interface library and the control library, the packaged XBAP program library, the interface library and the control library are sent to the Web server. The web service can be any server, such as IIS, Tomcat, Apache and other servers, and can be expanded horizontally, it can be a cheap server, and the operating system of the application can also be any system, such as Window, Linux and so on.
S103、响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库。S103. In response to the user's page access request in the browser, generate an XBAP page based on the page access request, download the XBAP program library from the Web server, and load the XBAP program library on the XBAP page .
其中,所述页面访问请求可以为用户使用HTTPS对XBAP页面的访问请求,而所述XBAP页面是浏览器利用XBAP技术所生成的页面,XBAP结合了Web应用程序和客户端(WPF)应用程序的功能。与Web应用程序类似,可以将XBAP部署到Web服务器并从IE浏览器或火狐浏览器启动。与客户端(WPF)应用程序一样,XBAP可以利用WPF的功能,包括Workflow(工作流)。Wherein, the page access request can be the user's access request to the XBAP page using HTTPS, and the XBAP page is a page generated by the browser using XBAP technology, and XBAP combines Web applications and client (WPF) applications Function. Similar to web applications, XBAPs can be deployed to a web server and launched from Internet Explorer or Firefox. Like client (WPF) applications, XBAPs can take advantage of WPF features, including Workflow.
在一些实施例中,获取所述页面访问请求的页面标识,确定所述页面标识是否为预设页面标识,若所述页面标识为预设页面标识,则根据所述页面标识生成XBAP页面。其中所述预设页面标识为XBAP标识,所述XBAP页面是浏览器利用XBAP技术所生成的页面,实质 上为WPF浏览器应用程序,利用此技术开发的网页类似于html页面。传统的利用html、css和javascript开发的页面只能运行在浏览器沙箱中,而利用XBAP技术开发的页面,可以利用微软系软件比如IE浏览器对于.net framework框架天生的兼容性和自动识别优化,使IE浏览器访问XBAP页面文件时,能够自动将应用程序加载成桌面应用程序的方式。In some embodiments, the page identifier of the page access request is acquired, and it is determined whether the page identifier is a preset page identifier, and if the page identifier is a preset page identifier, an XBAP page is generated according to the page identifier. Wherein said preset page mark is XBAP mark, and described XBAP page is the page that browser utilizes XBAP technology to generate, is WPF browser application program in essence, utilizes the webpage of this technology development to be similar to html page. Traditional pages developed using html, css and javascript can only run in the browser sandbox, while pages developed using XBAP technology can take advantage of the natural compatibility and automatic identification of Microsoft software such as IE browser for .net framework Optimization, so that when the IE browser accesses the XBAP page file, it can automatically load the application program into a desktop application program.
具体地,获取所述页面访问请求的域名后缀,确定所述域名后缀是否为预设域名后缀,若所述页面标识为预设域名后缀,则根据所述页面标识生成XBAP页面。Specifically, obtain the domain name suffix of the page access request, determine whether the domain name suffix is a preset domain name suffix, and if the page identifier is a preset domain name suffix, generate an XBAP page according to the page identifier.
示例性地,获取所述页面访问请求的域名后缀,确定所述域名后缀是否为.xbap,若所述页面标识为.xbap,则根据所述页面标识生成XBAP页面。Exemplarily, the domain name suffix of the page access request is acquired, and it is determined whether the domain name suffix is .xbap, and if the page identifier is .xbap, an XBAP page is generated according to the page identifier.
在一些实施例中,基于所述页面访问请求和ClickOnce部署技术生成XBAP页面并对所述XBAP页面进行部署,其中,所述XBAP页面包括WPF浏览器应用程序。由此可以给RPA设计机器人提供自动更新的功能,并提高了安全性,而且用户不需要额外操作就可让IE浏览器自动信任并加载。In some embodiments, an XBAP page is generated based on the page access request and the ClickOnce deployment technology, and the XBAP page is deployed, wherein the XBAP page includes a WPF browser application. In this way, the automatic update function can be provided for the RPA design robot, and the security is improved, and the user can let the IE browser automatically trust and load it without additional operations.
WPF浏览器应用程序(Xbap)是可部署到Web服务器并在浏览器中启动的客户端应用程序。WPF主机(PresentationHost.exe)注册为XBAP和XAML文件的shell和MIME处理程序。因此,在启动与XBAP对应的域名时,IE浏览器知道要启动WPF主机。在其他浏览器或独立应用程序中,可以使用WPF提供的本机浏览器宿主Api承载XBAP。A WPF browser application (Xbap) is a client application that can be deployed to a web server and launched in a browser. The WPF host (PresentationHost.exe) is registered as a shell and MIME handler for XBAP and XAML files. Therefore, when starting the domain name corresponding to the XBAP, the IE browser knows to start the WPF host. In other browsers or stand-alone applications, you can use the native browser host API provided by WPF to host the XBAP.
其中,PresentationHost作为一种宿主进程,可以加载很多其它应用,比如RPA设计机器人中耦合度相当低的一些工具类如脚本录制器,配置管理器等,也可单独用此宿主进程来承载运行,并与IE浏览器关联。由此RPA设计机器人能通过IE浏览器访问Web服务器自动加载,无需担心程序文件泄漏,以PresentationHost宿主进程承载的方式,保存执行性能与安全性,无需担心程序被篡改执行。Among them, PresentationHost, as a host process, can load many other applications, such as some tools with relatively low coupling degree in RPA design robots, such as script recorder, configuration manager, etc. Associated with IE browser. Therefore, the RPA design robot can access the web server through the IE browser to load automatically, without worrying about the leakage of program files, and save the execution performance and security by hosting the PresentationHost host process, without worrying about the program being tampered with and executed.
示例性地,当用户访问WPF浏览器应用程序时,IE浏览器只嵌入此进程产生的轻量级的展示界面,实际上还是调用计算机本身的系统资源,其CPU、内存等系统资源的使用与调度和IE浏览器完全无关,整个PRA设计机器人的运行完全不受浏览器性能的影响。Exemplarily, when the user visits the WPF browser application program, the IE browser only embeds the lightweight display interface generated by this process, and actually calls the system resources of the computer itself, and the use of system resources such as its CPU and memory is related to Scheduling has nothing to do with IE browsers, and the operation of the entire PRA design robot is not affected by browser performance at all.
具体地,可以将XBAP页面部署到Web服务器上。具体地,基于ClickOnce部署技术生成WPF浏览器应用程序,并获取所述WPF浏览器应用程序输出的可执行文件、应用程序清单和部署清单;并将可执行文件和应用程序清单复制到Web服务器以生成XBAP页面。所述可执行文件包含已编译的代码且具有exe扩展名的文件,所述应用程序清单包含与应用程序关联的元数据且具有manifest扩展名的信息,所述部署清单包含ClickOnce用于部署应用程序并具有xbap扩展名的信息。Specifically, the XBAP page can be deployed on the Web server. Specifically, generate a WPF browser application based on the ClickOnce deployment technology, and obtain the executable file, application list and deployment list output by the WPF browser application; and copy the executable file and the application list to the Web server for Generate XBAP pages. The executable file contains compiled code and has an exe extension, the application manifest contains metadata associated with the application and has manifest extension information, and the deployment manifest contains ClickOnce for deploying the application And has the information of the xbap extension.
示例性地,若要将XBAP部署在Web服务器,将可执行文件和应用程序清单复制到Web服务器,并生成包含超链接的HTML页面以打开部署清单,即扩展名为.xbap的文件。当用户单击到xbap文件的链接时,ClickOnce会自动处理下载和启动应用程序的机制,从而生成XBAP页面。下面的代码示例显示包含指向XBAP的超链接的HTML页面:Exemplarily, if XBAP is to be deployed on a web server, the executable file and the application manifest are copied to the web server, and an HTML page containing a hyperlink is generated to open the deployment manifest, that is, a file with an extension of .xbap. When a user clicks a link to an xbap file, ClickOnce automatically handles the mechanics of downloading and launching the application, resulting in an XBAP page. The following code sample displays an HTML page containing a hyperlink to an XBAP:
<html><html>
<head></head><head></head>
<body><body>
<a href="XbapEx.xbap">Click this link to launch the application</a><a href="XbapEx.xbap">Click this link to launch the application</a>
</body></body>
</html>。</html>.
具体地,可以将XBAP页面部署到网页框架中。具体地,基于ClickOnce部署技术生成WPF浏览器应用程序,并获取所述WPF浏览器应用程序输出的可执行文件、应用程序清单和部署清单;生成至少一个框架的网页,将所述框架的源属性设置为部署清单文件以生成XBAP页面。Specifically, the XBAP page can be deployed into a webpage frame. Specifically, generate a WPF browser application based on the ClickOnce deployment technology, and obtain the executable file, application list, and deployment list output by the WPF browser application; generate at least one framed web page, and set the source attribute of the frame to Set to deploy the manifest file to generate XBAP pages.
下面的示例代码演示了具有两个框架的HTML页面,第二个框架的源设置为XBAP:The following sample code demonstrates an HTML page with two frames, the source of the second frame is set to XBAP:
<html><html>
<head><head>
<title>A page with frames</title><title>A page with frames</title>
</head></head>
<frameset cols="50%,50%"><frameset cols="50%,50%">
<frame src="introduction.htm"><frame src="introduction.htm">
<frame src="XbapEx.xbap"><frame src="XbapEx.xbap">
</frameset></frameset>
</html>。</html>.
在一些实施例中,由于存在很多不同的安全环境,在某些安全环境下比如部署时不遵循ClickOnce规范,需要用户自定义信任方式,用户会在尝试安装它时收到警告,用户可以选择继续或取消安装。因此,从所述Web服务器下载并加载所述XBAP程序库之前,加载所述证书签名并确定当前的加载环境,若所述加载环境为本地计算机,则设置为完全信任,无需任何操作;若所述加载环境为Intranet和受信任的站点,在所述浏览器上显示完全信任的提示信息;若所述加载环境为Intranet和受信任的站点,在所述浏览器上显示未授予信任的提示信息。由此可以通过设置自定义信任方式,达到不同安全环境下的使用。In some embodiments, due to the existence of many different security environments, in some security environments such as deployment that does not follow the ClickOnce specification, the user needs to customize the trust method, the user will receive a warning when trying to install it, and the user can choose to continue or cancel the installation. Therefore, before downloading and loading the XBAP program library from the Web server, load the certificate signature and determine the current loading environment, if the loading environment is a local computer, it is set to full trust without any operation; If the loading environment is an Intranet and a trusted site, a prompt message of full trust is displayed on the browser; if the loading environment is an Intranet and a trusted site, a prompt message of not granting trust is displayed on the browser . In this way, it can be used in different security environments by setting a custom trust method.
具体地,所述加载环境可以通过IP地址等方式进行确定,其中,所述Intranet为企业内部网。Specifically, the loading environment may be determined by means of an IP address or the like, wherein the intranet is an intranet of an enterprise.
示例性地,若所述加载环境为本地计算机,并不会发送提示信息给客户端。Exemplarily, if the loading environment is a local computer, no prompt information will be sent to the client.
示例性地,若所述加载环境为Intranet和受信任的站点,在所述浏览器显示完全信任的提示信息,用户此时可以选择继续或取消安装,若用户此时选择继续安装,则需要用户使用所述证书对XBAP页面进行签名。Exemplarily, if the loading environment is an intranet and a trusted site, the browser displays a prompt message of full trust, and the user can choose to continue or cancel the installation at this time. If the user chooses to continue the installation at this time, the user is required to Sign the XBAP page with said certificate.
示例性地,若所述加载环境为Intranet,在所述浏览器显示未授予信任的提示信息,用户此时可以选择继续或取消安装,若用户此时选择继续安装,则需要用户使用所述证书对XBAP页面进行签名。Exemplarily, if the loading environment is Intranet, the browser displays a prompt message of not granting trust, and the user can choose to continue or cancel the installation at this time. If the user chooses to continue the installation at this time, the user is required to use the certificate Sign the XBAP page.
在一些实施例中,生成XBAP页面后,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库。In some embodiments, after the XBAP page is generated, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page.
具体地,获取所述XBAP程序库的MD5值,确定所述XBAP程序库的MD5值与对应的历史MD5值是否相同;若所述XBAP程序库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述XBAP程序库。由此可以达到RPA设计机器人的增量下载,保证下载的最小量与下载速度,同时可以保证了浏览器中设计机器人的高可用性和容错性,避免了由于网络原因,人为因素,误操作等导致更新失败,刷新网页后即可重新进行更新流程,无需要重新安装。其中,所述历史MD5值为最近一次的XBAP程序库MD5值。Specifically, obtain the MD5 value of the XBAP program library, determine whether the MD5 value of the XBAP program library is the same as the corresponding historical MD5 value; if the MD5 value of the XBAP program library is different from the corresponding historical MD5 value, Download the XBAP library from the Web server. In this way, the incremental download of the RPA design robot can be achieved, and the minimum download amount and download speed can be guaranteed. At the same time, the high availability and fault tolerance of the design robot in the browser can be ensured, and the failure caused by network reasons, human factors, and misoperations can be avoided. If the update fails, you can restart the update process after refreshing the webpage without reinstalling. Wherein, the historical MD5 value is the latest MD5 value of the XBAP program library.
其中,在第一次访问时,对所述XBAP程序库进行全量自动下载,在后续的更新中,所述XBAP程序库会对自动做MD5值比对,若MD5值不一致时才进行下载。若RPA设计机器人XBAP程序库有更新时,只需要将其发布到Web服务器,用户只需刷新页面即可自动获取并运行最新程序控件。Wherein, during the first visit, the XBAP program library is automatically downloaded in full, and in subsequent updates, the XBAP program library will automatically compare the MD5 values, and only download when the MD5 values are inconsistent. If the XBAP program library of the RPA design robot is updated, it only needs to be published to the web server, and the user only needs to refresh the page to automatically obtain and run the latest program control.
具体地,将初次打包XBAP程序库对应的MD5值作为初始MD5值,在加载所述XBAP程序库之前,获取所述XBAP程序库的MD5值,确定所述MD5值的加密信息与对应的所述初始MD5值的加密信息是否相同,若所述MD5值的加密信息与所述初始MD5值的加密信息不相同,则输出警告信息。由此可以避免已下载的程序文件被篡改,加载时会重新下载,保存程序安全性。Specifically, the MD5 value corresponding to the first packaged XBAP program library is used as the initial MD5 value, and before the XBAP program library is loaded, the MD5 value of the XBAP program library is obtained, and the encrypted information of the MD5 value is determined to be corresponding to the corresponding Whether the encrypted information of the initial MD5 value is the same, if the encrypted information of the MD5 value is different from the encrypted information of the initial MD5 value, output a warning message. In this way, the downloaded program file can be prevented from being tampered with, and it will be downloaded again when loading, so as to preserve the security of the program.
其中,所述加密信息可以是通过秘钥、密码等方式,此后的每一次更新的文件都存在相同的加密信息,若中途被篡改,秘钥或密码将会改变,由此可以通过检测文件中MD5值的加密信息与对应的所述初始MD5值的加密信息是否相同来确定已下载的程序文件是否被篡改。Wherein, the encrypted information may be through a secret key, a password, etc. Thereafter, each updated file has the same encrypted information. If it is tampered with in the middle, the secret key or password will be changed. Whether the encrypted information of the MD5 value is the same as the corresponding encrypted information of the initial MD5 value determines whether the downloaded program file has been tampered with.
S104、从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面。S104. Download the interface library and the control library from the Web server, and load the interface library and the control library on the XBAP page to generate a process design page.
在所述XBAP页面上通过所述XBAP程序库从Web服务器上下载并加载所述界面库和所述控件库,以形成流程设计页面。On the XBAP page, download and load the interface library and the control library from the Web server through the XBAP program library to form a process design page.
在一些实施例中,分别对XBAP程序库、界面库和控件库进行MD5值计算,得到每个库对应的MD5值;将所述XBAP程序库、所述界面库和所述控件库分别与对应的MD5值进行打包处理,并将所述MD5值作为初始MD5值;在加载所述所述界面库和所述控件库之前,获取所述界面库和所述控件库的MD5值,确定所述MD5值的加密信息与对应的所述初始MD5值的加密信息是否相同,若所述MD5值的加密信息与对应的所述初始MD5值的加密信息不相同,则输出警告信息。由此可以避免已下载的程序文件被篡改,加载时会重新下载,保存程序安全性。In some embodiments, the MD5 value calculation is performed on the XBAP program library, the interface library and the control library respectively to obtain the corresponding MD5 value of each library; the XBAP program library, the interface library and the control library are respectively compared with the corresponding The MD5 value is packaged, and the MD5 value is used as the initial MD5 value; before loading the interface library and the control library, obtain the MD5 values of the interface library and the control library, and determine the Whether the encrypted information of the MD5 value is the same as the corresponding encrypted information of the initial MD5 value, if the encrypted information of the MD5 value is not the same as the corresponding encrypted information of the initial MD5 value, output a warning message. In this way, the downloaded program file can be prevented from being tampered with, and it will be downloaded again when loading, so as to preserve the security of the program.
具体地,所述加密信息可以是通过秘钥、密码等方式,此后的每一次更新的文件都存在相同的加密信息,若中途被篡改,秘钥或密码将会改变,由此可以通过检测文件中MD5值的加密信息与对应的所述初始MD5值的加密信息是否相同来确定已下载的程序文件是否被篡改。Specifically, the encrypted information may be through secret keys, passwords, etc., and each updated file thereafter has the same encrypted information. Whether the encrypted information of the MD5 value in the middle is the same as the encrypted information of the corresponding initial MD5 value determines whether the downloaded program file has been tampered with.
示例性地,若控件库的MD5值的密码与对应的所述初始MD5值的密码不相同时,则输出程序文件被篡改警告信息并停止加载控件库,或者重新下载另外版本的控件库。Exemplarily, if the password of the MD5 value of the control library is different from the password of the corresponding initial MD5 value, output a warning message that the program file has been tampered with and stop loading the control library, or re-download another version of the control library.
示例性地,若控件库的MD5值的密码与对应的所述初始MD5值的密码相同时,则输出开始加载已下载的控件库。Exemplarily, if the password of the MD5 value of the control library is the same as the password of the corresponding initial MD5 value, the output starts to load the downloaded control library.
在一些实施例中,获取所述界面库和所述控件库的MD5值,确定所述界面库和所述控件库的MD5值与对应的历史MD5值是否相同;若所述界面库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述界面库;若所述控件库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述控件库。由此可以达到RPA设计机器人的增量下载,保证下载的最小量与下载速度,同时可以保证了浏览器中设计机器人的高可用性和容错性,避免了由于网络原因,人为因素,误操作等导致更新失败,刷新网页后即可重新进行更新流程,无需要重新安装。其中,所述历史MD5值为最近一次的界面库MD5值和控件库MD5值。In some embodiments, the MD5 value of the interface library and the control library is obtained, and it is determined whether the MD5 value of the interface library and the control library is the same as the corresponding historical MD5 value; if the MD5 value of the interface library If it is different from the corresponding historical MD5 value, download the interface library from the Web server; if the MD5 value of the control library is different from the corresponding historical MD5 value, download the control library from the Web server. In this way, the incremental download of the RPA design robot can be achieved, the minimum amount of download and the download speed can be guaranteed, and at the same time, the high availability and fault tolerance of the design robot in the browser can be guaranteed, and the failure caused by network reasons, human factors, misoperation, etc. can be avoided. If the update fails, you can restart the update process after refreshing the web page without reinstalling. Wherein, the historical MD5 value is the most recent MD5 value of the interface library and the MD5 value of the control library.
具体地,在第一次访问时,对所述XBAP程序库、所述界面库和所述控件库进行全量自动下载,在后续的更新中,所述XBAP程序库会对所述界面库和所述控件库自动做MD5值比对,若MD5值不一致时才进行下载。若RPA设计机器人界面或控件有更新时,只需要将其发布到Web服务器,用户只需刷新页面即可自动获取并运行最新程序控件。Specifically, when accessing for the first time, the XBAP program library, the interface library and the control library are fully automatically downloaded, and in subsequent updates, the XBAP program library will download the interface library and the control library. The above-mentioned control library automatically performs MD5 value comparison, and downloads only when the MD5 values are inconsistent. If the RPA design robot interface or controls are updated, it only needs to be published to the web server, and users only need to refresh the page to automatically obtain and run the latest program controls.
在一些实施例中,在所述XBAP页面加载所述界面库和所述控件库后,生成流程设计页面。其中,所述流程设计页面包括控件区域、脚本管理区域和脚本设计区域,具体如图2所示,左侧为控件区域,右侧为脚本管理区域,中间为脚本设计区域以及流程脚本区域。In some embodiments, after the XBAP page loads the interface library and the control library, a process design page is generated. Wherein, the process design page includes a control area, a script management area and a script design area, specifically as shown in FIG. 2 , the left side is the control area, the right side is the script management area, and the middle is the script design area and the process script area.
其中,控件区域通过控件库加载而成,包括多个不同类型控件比如跳转网址的控件,脚本管理区域和脚本设计区域通过界面库加载而成,脚本管理区域包括多个不同种类的流程比如单循环流程或多循环流程,脚本设计区域为用户提供一个设计的区域,用户可以根据所述控件区域和所述脚本管理区域选择不同控件和流程,进而在脚本设计区域中设计流程,所述流程脚本区域用于显示在流程设计页面生成的流程脚本,用户可以在流程脚本区域对生成的流程脚本进行修改。Among them, the control area is loaded through the control library, including multiple different types of controls such as controls for jumping URLs, the script management area and script design area are loaded through the interface library, and the script management area includes many different types of processes such as single Circular process or multi-circular process, the script design area provides a design area for the user, the user can select different controls and processes according to the control area and the script management area, and then design the process in the script design area, the process script The area is used to display the process script generated on the process design page, and the user can modify the generated process script in the process script area.
具体地,控件区域、脚本管理区域和脚本设计区域均在IE浏览器中以图形化的方式显示,提供15类总计超过180种控件自动化各种流程,无需用户安装下载软件,一切皆已在线的形式实现。Specifically, the control area, script management area, and script design area are all displayed graphically in the IE browser, providing 15 categories with a total of more than 180 types of controls to automate various processes, no need for users to install and download software, and everything is already online The form is realized.
S105、根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。S105. According to the process script generated on the process design page, control the script execution software to execute the process script.
具体地,获取用户在所述流程设计页面的流程设计结果;根据所述流程设计结果生成流程脚本,并对所述流程脚本进行调试;当所述流程脚本调试完成后,控制脚本执行软件执行所述调试完成后的流程脚本。Specifically, obtain the process design result of the user on the process design page; generate a process script according to the process design result, and debug the process script; after the process script debugging is completed, the control script execution software executes the The process script after the above debugging is completed.
其中,所述流程设计结果为用户根据所述控件区域和所述脚本管理区域在所述脚本设计区域中的设计操作,所述流程设计结果用于生成对应的流程脚本。具体地,所述流程设计结果是用户在浏览器上的流程设计页面的控件区域和脚本管理区域选择对应的控件和对应的脚 本在脚本设计区域进行的设计操作而形成的结果。Wherein, the process design result is a user's design operation in the script design area according to the control area and the script management area, and the process design result is used to generate a corresponding process script. Specifically, the process design result is the result of the user selecting the corresponding controls and corresponding scripts in the control area and script management area of the process design page on the browser to perform design operations in the script design area.
示例性地,比如用户要打开浏览器访问百度,就可以在控件区域拖一个打开浏览器的控件到脚本设计区域中,然后在控件中输入百度网址,并记录下对应的操作结果。Exemplarily, for example, if the user wants to open a browser to visit Baidu, he can drag a browser-opening control in the control area to the script design area, then input Baidu URL in the control, and record the corresponding operation result.
在一些实施例中,在IE浏览器中可以开启设计机器人的录制功能,能够实时记录用户操作并自动生成相应流程,得到流程设计结果。In some embodiments, the recording function of the design robot can be enabled in the IE browser, which can record user operations in real time and automatically generate corresponding processes to obtain process design results.
具体地,录制功能需要捕获键盘和鼠标的输入,对代码执行权限的要求极高,对此我们利用XBAP的特性,在浏览器中嵌入单独的录制客户端,在用户点击录制后从WPF浏览器应用程序中启动该录制功能,并实时记录用户操作并自动生成相应流程,得到流程设计结果。Specifically, the recording function needs to capture keyboard and mouse input, and has extremely high requirements for code execution authority. For this, we use the characteristics of XBAP to embed a separate recording client in the browser. Start the recording function in the application, record user operations in real time and automatically generate corresponding processes to obtain process design results.
在一些实施例中,根据所述流程设计结果生成流程脚本,并对所述流程脚本进行调试。其中,所述流程脚本根据用户在所述脚本设计区域中的操作生成的,流程脚本可以以图形的形式展示,脚本保存以后就可以调试,所述流程设计页面里显示有调试按钮。In some embodiments, a process script is generated according to the process design result, and the process script is debugged. Wherein, the process script is generated according to the user's operation in the script design area, the process script can be displayed in the form of a graph, and can be debugged after the script is saved, and a debug button is displayed on the process design page.
具体地,可以对流程脚本中的流程顺序或配置参数等进行调试,并查看对应的调试结果。Specifically, you can debug the process sequence or configuration parameters in the process script, and view the corresponding debugging results.
在一些实施例中,可以通过用户授权的形式获取执行windows底层API的权限,由此可以保证RPA可以在线的模式调用本地windows API,解决了调试状态下查找元素,鼠标输入,键盘输入等功能的调用问题,从而达到了在浏览器上与在客户端上一样的调试效果,调试内容可以包括断点、日志记录、日志输出等。In some embodiments, the authority to execute the Windows underlying API can be obtained in the form of user authorization, thereby ensuring that the RPA can call the local Windows API in an online mode, which solves the problem of finding elements, mouse input, keyboard input, etc. in the debugging state. Call problems, so as to achieve the same debugging effect on the browser as on the client. The debugging content can include breakpoints, log records, log output, etc.
具体地,IE浏览器在加载WPF浏览器应用程序的时候,检测到程序要访问本地资源,所以会弹出一个授权窗口,用户同意授权以后IE浏览器才会运行这个程序。Specifically, when the IE browser loads the WPF browser application program, it detects that the program wants to access local resources, so an authorization window will pop up, and the IE browser will run the program only after the user agrees to the authorization.
在一些实施例中,当所述流程脚本调试完成后,控制对应的脚本执行软件执行所述调试完成后的流程脚本。所述脚本执行软件为执行流程脚本的对应的软件,例如可以使浏览器、excel、word等。In some embodiments, after the debugging of the process script is completed, the corresponding script execution software is controlled to execute the debugged process script. The script execution software is corresponding software for executing process scripts, for example, browser, excel, word, etc. can be used.
示例性地,比如用户要打开浏览器访问百度,就可以在控件区域拖一个打开浏览器的控件到脚本设计区域中,然后在控件中输入百度网址,并生成对应的设计结果,根据设计结果生成流程脚本并对所述流程脚本进行调试,当调试完成后且所述流程脚本运行起来的时候,就会自动打开浏览器然后跳转到百度页面。Exemplarily, for example, if the user wants to open a browser to visit Baidu, he can drag a browser-opening control in the control area to the script design area, and then input Baidu URL in the control, and generate the corresponding design result, and generate process script and debug the process script, when the debugging is completed and the process script runs, the browser will be automatically opened and then jump to the Baidu page.
请参阅图3,图3是本申请一实施例提供的一种基于浏览器的RPA实现装置的示意性框图,该基于浏览器的RPA实现装置可以配置于服务器中,用于执行前述的基于浏览器的RPA实现方法。Please refer to FIG. 3. FIG. 3 is a schematic block diagram of a browser-based RPA implementation device provided by an embodiment of the present application. The browser-based RPA implementation device can be configured in a server to execute the aforementioned browser-based The RPA implementation method of the server.
如图3所示,该基于浏览器的RPA实现装置200包括:文件打包模块201、签名获取模块202、程序加载模块203、页面生成模块204和流程设计模块205。As shown in FIG. 3 , the browser-based RPA implementation device 200 includes: a file packaging module 201 , a signature acquisition module 202 , a program loading module 203 , a page generation module 204 and a process design module 205 .
文件打包模块201,获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库; File packing module 201, obtains the client file of RPA design robot, described client file is carried out packing process, the client file after described packing process comprises XBAP program storehouse, interface storehouse and control storehouse;
签名获取模块202,用于获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;The signature acquisition module 202 is used to obtain the certificate signature of the XBAP program library, the interface library and the control library, and package the packaged XBAP program library, the interface library and the control library and the corresponding The certificate signature is sent to the web server;
程序加载模块203,用于响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;The program loading module 203 is configured to respond to the user's page access request in the browser, generate an XBAP page based on the page access request, download the XBAP program library from the Web server, and load the XBAP program library on the XBAP page The XBAP library;
页面生成模块204,用于从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;A page generating module 204, configured to download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
流程设计模块205,用于根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。The process design module 205 is configured to control the script execution software to execute the process script according to the process script generated on the process design page.
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。It should be noted that those skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the above-described devices, modules, and units can refer to the corresponding processes in the foregoing method embodiments. No longer.
本申请的方法、装置可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费终端设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。The methods and devices of the present application can be used in many general-purpose or special-purpose computing system environments or configurations. Examples: personal computers, server computers, handheld or portable devices, tablet-type devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer terminal equipment, network PCs, minicomputers, mainframe computers, including the above A distributed computing environment for any system or device, and more.
示例性地,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。Exemplarily, the above method and apparatus can be implemented in the form of a computer program, and the computer program can be run on the computer device as shown in FIG. 4 .
请参阅图4,图4是本申请实施例提供的一种计算机设备的示意图。该计算机设备可以是服务器。Please refer to FIG. 4 . FIG. 4 is a schematic diagram of a computer device provided by an embodiment of the present application. The computer device may be a server.
如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。As shown in FIG. 4, the computer device includes a processor, a memory, and a network interface connected through a system bus, where the memory may include a non-volatile storage medium and an internal memory.
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于浏览器的RPA实现方法。Non-volatile storage media can store operating systems and computer programs. The computer program includes program instructions. When the program instructions are executed, the processor can execute any browser-based RPA implementation method.
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。The processor is used to provide computing and control capabilities and support the operation of the entire computer equipment.
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于浏览器的RPA实现方法。The internal memory provides an environment for running the computer program in the non-volatile storage medium. When the computer program is executed by the processor, the processor can execute any browser-based RPA implementation method.
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。This network interface is used for network communication, such as sending assigned tasks, etc. Those skilled in the art can understand that the structure of the computer equipment is only a block diagram of the partial structure related to the solution of the present application, and does not constitute a limitation to the computer equipment on which the solution of the application is applied. The specific computer equipment may include More or fewer components are shown in the figures, or certain components are combined, or have different component arrangements.
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。It should be understood that the processor may be a central processing unit (Central Processing Unit, CPU), and the processor may also be other general processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Wherein, the general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
其中,在一些实施方式中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。Wherein, in some embodiments, the processor is used to run the computer program stored in the memory, to achieve the following steps: obtain the client file of the RPA design robot, and package the client file, and the package process After the client file comprises XBAP program storehouse, interface storehouse and control storehouse; Obtain the certificate signature of described XBAP program storehouse, described interface storehouse and described control storehouse, and described XBAP program storehouse after packing, described interface Storehouse and described control storehouse and corresponding certificate signature are sent to Web server; In response to user's page visit request in described browser, generate XBAP page based on described page visit request, download described XBAP program from described Web server library, and load the XBAP program library on the XBAP page; download the interface library and the control library from the Web server, and load the interface library and the control library on the XBAP page, Generate a process design page; according to the process script generated on the process design page, control the script execution software to execute the process script.
在一些实施例中,所述处理器还用于:获取RPA设计机器人的客户端文件,并将所述客户端文件进行文件归类处理,得到文件归类结果;基于所述文件归类结果生成XBAP程序库、界面库和控件库;分别对所述XBAP程序库、所述界面库和所述控件库进行打包处理。In some embodiments, the processor is further configured to: obtain the client file of the RPA design robot, and perform file classification processing on the client file to obtain a file classification result; generate a file classification result based on the file classification result. XBAP program library, interface library and control library; respectively package the XBAP program library, the interface library and the control library.
在一些实施例中,所述处理器还用于:分别对XBAP程序库、界面库和控件库进行MD5值计算,得到每个库对应的MD5值;将所述XBAP程序库、所述界面库和所述控件库分别与对应的MD5值进行打包处理。In some embodiments, the processor is further configured to: respectively perform MD5 value calculation on the XBAP program library, the interface library and the control library to obtain the corresponding MD5 value of each library; and the control library are packaged with corresponding MD5 values respectively.
在一些实施例中,所述处理器还用于:获取所述界面库和所述控件库对应的MD5值,并确定所述界面库和所述控件库对应的MD5值与对应的历史MD5值是否相同;若所述界面库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述界面库;若所述控件库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述控件库。In some embodiments, the processor is further configured to: obtain the MD5 value corresponding to the interface library and the control library, and determine the MD5 value corresponding to the interface library and the control library and the corresponding historical MD5 value Whether it is the same; if the MD5 value of the interface library is different from the corresponding historical MD5 value, download the interface library from the Web server; if the MD5 value of the control library is different from the corresponding historical MD5 value, Download the control library from the Web server.
在一些实施例中,所述处理器还用于:对所述客户端文件的类型进行统一修改,得到修改后的客户端文件,并对所述修改后的文件进行打包处理。In some embodiments, the processor is further configured to: uniformly modify the type of the client file, obtain a modified client file, and package the modified file.
在一些实施例中,所述处理器还用于:基于所述页面访问请求和ClickOnce部署技术生 成XBAP页面并对所述XBAP页面进行部署,其中,所述XBAP页面包括WPF浏览器应用程序。In some embodiments, the processor is further configured to: generate an XBAP page based on the page access request and the ClickOnce deployment technology and deploy the XBAP page, wherein the XBAP page includes a WPF browser application.
在一些实施例中,所述处理器还用于:获取用户在所述流程设计页面的流程设计结果;根据所述流程设计结果生成流程脚本,并对所述流程脚本进行调试;当所述流程脚本调试完成后,控制脚本执行软件执行所述调试完成后的流程脚本。In some embodiments, the processor is further configured to: obtain the process design result of the user on the process design page; generate a process script according to the process design result, and debug the process script; when the process After the script debugging is completed, the script execution software is controlled to execute the debugged process script.
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性。所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时实现本申请实施例提供的任一种基于浏览器的RPA实现方法。The embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium may be non-volatile or volatile. A computer program is stored on the computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed, any browser-based RPA implementation method provided in the embodiments of the present application is implemented.
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。Wherein, the computer-readable storage medium may be an internal storage unit of the computer device described in the foregoing embodiments, such as a hard disk or a memory of the computer device. The computer-readable storage medium can also be an external storage device of the computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD ) card, flash memory card (Flash Card), etc.
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。Further, the computer-readable storage medium may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required by at least one function, etc.; The data created using the node, etc.
本申请所指区块链语言模型的存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。This application refers to the new application mode of computer technology such as the storage of the blockchain language model, point-to-point transmission, consensus mechanism, and encryption algorithm. Blockchain (Blockchain), essentially a decentralized database, is a series of data blocks associated with each other using cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify its Validity of information (anti-counterfeiting) and generation of the next block. The blockchain can include the underlying platform of the blockchain, the platform product service layer, and the application service layer.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above is only a specific embodiment of the application, but the scope of protection of the application is not limited thereto. Any person familiar with the technical field can easily think of various equivalents within the scope of the technology disclosed in the application. Modifications or replacements, these modifications or replacements shall be covered within the scope of protection of this application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (20)

  1. 一种基于浏览器的RPA实现方法,其中,所述方法包括:A browser-based RPA implementation method, wherein the method includes:
    获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
    获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;Obtain the certificate signature of the XBAP program library, the interface library and the control library, and send the packaged XBAP program library, the interface library and the control library and the corresponding certificate signature to the Web server;
    响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;In response to the user's page access request in the browser, an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
    从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;Download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
    根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。According to the process script generated by the process design page, the script execution software is controlled to execute the process script.
  2. 根据权利要求1所述的方法,其中,所述获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,包括:The method according to claim 1, wherein said obtaining the client file of the RPA design robot, said client file is packaged, comprising:
    获取RPA设计机器人的客户端文件,并将所述客户端文件进行文件归类处理,得到文件归类结果;Obtain the client file of the RPA design robot, and process the file classification of the client file to obtain the file classification result;
    基于所述文件归类结果生成XBAP程序库、界面库和控件库;Generate XBAP program library, interface library and control library based on the file classification result;
    分别对所述XBAP程序库、所述界面库和所述控件库进行打包处理。The XBAP program library, the interface library and the control library are packaged respectively.
  3. 根据权利要求2所述的方法,其中,所述分别对所述XBAP程序库、所述界面库和所述控件库进行打包处理,包括:The method according to claim 2, wherein said packaging said XBAP program library, said interface library and said control library respectively includes:
    分别对XBAP程序库、界面库和控件库进行MD5值计算,得到每个库对应的MD5值;Calculate the MD5 value of the XBAP program library, interface library and control library respectively, and obtain the MD5 value corresponding to each library;
    将所述XBAP程序库、所述界面库和所述控件库分别与对应的MD5值进行打包处理。The XBAP program library, the interface library and the control library are respectively packaged with corresponding MD5 values.
  4. 根据权利要求3所述的方法,其中,在从所述Web服务器中下载所述界面库或所述控件库之前,所述方法还包括:The method according to claim 3, wherein, before downloading the interface library or the control library from the Web server, the method further comprises:
    获取所述界面库和所述控件库对应的MD5值,并确定所述界面库和所述控件库对应的MD5值与对应的历史MD5值是否相同;Obtaining the MD5 values corresponding to the interface library and the control library, and determining whether the MD5 values corresponding to the interface library and the control library are the same as the corresponding historical MD5 values;
    若所述界面库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述界面库;If the MD5 value of the interface library is different from the corresponding historical MD5 value, download the interface library from the Web server;
    若所述控件库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述控件库。If the MD5 value of the control library is different from the corresponding historical MD5 value, download the control library from the Web server.
  5. 根据权利要求1所述的方法,其中,所述获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,包括:The method according to claim 1, wherein said obtaining the client file of the RPA design robot, said client file is packaged, comprising:
    对所述客户端文件的类型进行统一修改,得到修改后的客户端文件,并对所述修改后的文件进行打包处理。The type of the client file is uniformly modified to obtain a modified client file, and the modified file is packaged.
  6. 根据权利要求1所述的方法,其中,所述基于所述页面访问请求生成XBAP页面,所述方法还包括:The method according to claim 1, wherein said generating an XBAP page based on said page access request, said method further comprising:
    基于所述页面访问请求和ClickOnce部署技术生成XBAP页面并对所述XBAP页面进行部署,其中,所述XBAP页面包括WPF浏览器应用程序。An XBAP page is generated based on the page access request and the ClickOnce deployment technology, and the XBAP page is deployed, wherein the XBAP page includes a WPF browser application program.
  7. 根据权利要求1所述的方法,其中,所述根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本,所述方法还包括:The method according to claim 1, wherein the process script generated on the process design page is used to control script execution software to execute the process script, the method further comprising:
    获取用户在所述流程设计页面的流程设计结果;Obtain the process design result of the user on the process design page;
    根据所述流程设计结果生成流程脚本,并对所述流程脚本进行调试;Generate a process script according to the process design result, and debug the process script;
    当所述流程脚本调试完成后,控制脚本执行软件执行所述调试完成后的流程脚本。After the debugging of the process script is completed, the control script execution software executes the debugged process script.
  8. 一种基于浏览器的RPA实现装置,其中,包括:A browser-based RPA implementation device, including:
    文件打包模块,获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理, 所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;The file packing module obtains the client file of the RPA design robot, and packs the client file, and the client file after the packing process includes an XBAP program library, an interface library and a control library;
    签名获取模块,用于获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;Signature acquisition module, used to obtain the certificate signature of the XBAP library, the interface library and the control library, and the packaged XBAP library, the interface library and the control library and the corresponding certificates The signature is sent to the web server;
    程序加载模块,用于响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;The program loading module is used to respond to the user's page access request in the browser, generate an XBAP page based on the page access request, download the XBAP program library from the Web server, and load the XBAP page on the XBAP page. Describe the XBAP library;
    页面生成模块,用于从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;A page generation module, configured to download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
    流程设计模块,用于根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。The process design module is used to control the script execution software to execute the process script according to the process script generated on the process design page.
  9. 一种计算机设备,其中,所述计算机设备包括存储器和处理器;A computer device, wherein the computer device includes a memory and a processor;
    所述存储器,用于存储计算机程序;The memory is used to store computer programs;
    所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现如下步骤:The processor is configured to execute the computer program and implement the following steps when executing the computer program:
    获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
    获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;Obtain the certificate signature of the XBAP program library, the interface library and the control library, and send the packaged XBAP program library, the interface library and the control library and the corresponding certificate signature to the Web server;
    响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;In response to the user's page access request in the browser, an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
    从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;Download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
    根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。According to the process script generated by the process design page, the script execution software is controlled to execute the process script.
  10. 根据权利要求9所述的计算机设备,其中,所述处理器在实现所述获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理时,用于实现:The computer device according to claim 9, wherein, when the processor implements the acquisition of the client file of the RPA design robot, when the client file is packaged, it is used to realize:
    获取RPA设计机器人的客户端文件,并将所述客户端文件进行文件归类处理,得到文件归类结果;Obtain the client file of the RPA design robot, and process the file classification of the client file to obtain the file classification result;
    基于所述文件归类结果生成XBAP程序库、界面库和控件库;Generate XBAP program library, interface library and control library based on the file classification result;
    分别对所述XBAP程序库、所述界面库和所述控件库进行打包处理。The XBAP program library, the interface library and the control library are packaged respectively.
  11. 根据权利要求10所述的计算机设备,其中,所述处理器在实现所述分别对所述XBAP程序库、所述界面库和所述控件库进行打包处理时,用于实现:The computer device according to claim 10, wherein, when said processor implements packaging processing of said XBAP program library, said interface library and said control library respectively, it is used to implement:
    分别对XBAP程序库、界面库和控件库进行MD5值计算,得到每个库对应的MD5值;Calculate the MD5 value of the XBAP program library, interface library and control library respectively, and obtain the MD5 value corresponding to each library;
    将所述XBAP程序库、所述界面库和所述控件库分别与对应的MD5值进行打包处理。The XBAP program library, the interface library and the control library are respectively packaged with corresponding MD5 values.
  12. 根据权利要求11所述的计算机设备,其中,所述处理器在实现所述从所述Web服务器中下载所述界面库或所述控件库之前,还用于实现:The computer device according to claim 11, wherein, before realizing the downloading of the interface library or the control library from the Web server, the processor is further configured to:
    获取所述界面库和所述控件库对应的MD5值,并确定所述界面库和所述控件库对应的MD5值与对应的历史MD5值是否相同;Obtaining the MD5 values corresponding to the interface library and the control library, and determining whether the MD5 values corresponding to the interface library and the control library are the same as the corresponding historical MD5 values;
    若所述界面库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述界面库;If the MD5 value of the interface library is different from the corresponding historical MD5 value, download the interface library from the Web server;
    若所述控件库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述控件库。If the MD5 value of the control library is different from the corresponding historical MD5 value, download the control library from the Web server.
  13. 根据权利要求9所述的计算机设备,其中,所述处理器在实现获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理时,用于实现:The computer device according to claim 9, wherein, when the processor realizes obtaining the client file of the RPA design robot, and when the client file is packaged, it is used to realize:
    对所述客户端文件的类型进行统一修改,得到修改后的客户端文件,并对所述修改后的文件进行打包处理。The type of the client file is uniformly modified to obtain a modified client file, and the modified file is packaged.
  14. 根据权利要求9所述的计算机设备,其中,所述处理器在实现所述根据所述流程设 计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本时,用于实现:The computer device according to claim 9, wherein, when the processor implements the process script generated according to the process design page, and controls the script execution software to execute the process script, it is used to realize:
    获取用户在所述流程设计页面的流程设计结果;Obtain the process design result of the user on the process design page;
    根据所述流程设计结果生成流程脚本,并对所述流程脚本进行调试;Generate a process script according to the process design result, and debug the process script;
    当所述流程脚本调试完成后,控制脚本执行软件执行所述调试完成后的流程脚本。After the debugging of the process script is completed, the control script execution software executes the debugged process script.
  15. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如下步骤:A computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor implements the following steps:
    获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理,所述打包处理后的客户端文件包括XBAP程序库、界面库和控件库;Obtain the client file of the RPA design robot, and package the client file, and the client file after the package process includes an XBAP program library, an interface library and a control library;
    获取所述XBAP程序库、所述界面库和所述控件库的证书签名,并将打包后的所述XBAP程序库、所述界面库和所述控件库以及对应的证书签名发送到Web服务器;Obtain the certificate signature of the XBAP program library, the interface library and the control library, and send the packaged XBAP program library, the interface library and the control library and the corresponding certificate signature to the Web server;
    响应于用户在所述浏览器的页面访问请求,基于所述页面访问请求生成XBAP页面,从所述Web服务器中下载所述XBAP程序库,并在所述XBAP页面加载所述XBAP程序库;In response to the user's page access request in the browser, an XBAP page is generated based on the page access request, the XBAP program library is downloaded from the Web server, and the XBAP program library is loaded on the XBAP page;
    从所述Web服务器中下载所述界面库和所述控件库,并在所述XBAP页面中加载所述界面库和所述控件库,生成流程设计页面;Download the interface library and the control library from the Web server, and load the interface library and the control library in the XBAP page to generate a process design page;
    根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本。According to the process script generated by the process design page, the script execution software is controlled to execute the process script.
  16. 根据权利要求15所述的计算机可读存储介质,其中,所述处理器在实现所述获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理时,用于实现:The computer-readable storage medium according to claim 15, wherein, when the processor implements the acquisition of the client file of the RPA design robot, and when the client file is packaged, it is used to realize:
    获取RPA设计机器人的客户端文件,并将所述客户端文件进行文件归类处理,得到文件归类结果;Obtain the client file of the RPA design robot, and process the file classification of the client file to obtain the file classification result;
    基于所述文件归类结果生成XBAP程序库、界面库和控件库;Generate XBAP program library, interface library and control library based on the file classification result;
    分别对所述XBAP程序库、所述界面库和所述控件库进行打包处理。The XBAP program library, the interface library and the control library are packaged respectively.
  17. 根据权利要求16所述的计算机可读存储介质,其中,所述处理器在实现所述分别对所述XBAP程序库、所述界面库和所述控件库进行打包处理时,用于实现:The computer-readable storage medium according to claim 16, wherein the processor is configured to realize:
    分别对XBAP程序库、界面库和控件库进行MD5值计算,得到每个库对应的MD5值;Calculate the MD5 value of the XBAP program library, interface library and control library respectively, and obtain the MD5 value corresponding to each library;
    将所述XBAP程序库、所述界面库和所述控件库分别与对应的MD5值进行打包处理。The XBAP program library, the interface library and the control library are respectively packaged with corresponding MD5 values.
  18. 根据权利要求17所述的计算机可读存储介质,其中,所述处理器在实现所述从所述Web服务器中下载所述界面库或所述控件库之前,还用于实现:The computer-readable storage medium according to claim 17, wherein, before realizing the downloading of the interface library or the control library from the Web server, the processor is further configured to:
    获取所述界面库和所述控件库对应的MD5值,并确定所述界面库和所述控件库对应的MD5值与对应的历史MD5值是否相同;Obtaining the MD5 values corresponding to the interface library and the control library, and determining whether the MD5 values corresponding to the interface library and the control library are the same as the corresponding historical MD5 values;
    若所述界面库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述界面库;If the MD5 value of the interface library is different from the corresponding historical MD5 value, download the interface library from the Web server;
    若所述控件库的MD5值与对应的历史MD5值不相同时,从所述Web服务器下载所述控件库。If the MD5 value of the control library is different from the corresponding historical MD5 value, download the control library from the Web server.
  19. 根据权利要求15所述的计算机可读存储介质,其中,所述处理器在实现获取RPA设计机器人的客户端文件,对所述客户端文件进行打包处理时,用于实现:The computer-readable storage medium according to claim 15, wherein the processor realizes obtaining the client file of the RPA design robot, and when the client file is packaged, it is used to realize:
    对所述客户端文件的类型进行统一修改,得到修改后的客户端文件,并对所述修改后的文件进行打包处理。The type of the client file is uniformly modified to obtain a modified client file, and the modified file is packaged.
  20. 根据权利要求15所述的计算机可读存储介质,其中,所述处理器在实现所述根据所述流程设计页面生成的流程脚本,并控制脚本执行软件执行所述流程脚本时,用于实现:The computer-readable storage medium according to claim 15, wherein, when the processor implements the process script generated according to the process design page and controls the script execution software to execute the process script, it is configured to:
    获取用户在所述流程设计页面的流程设计结果;Obtain the process design result of the user on the process design page;
    根据所述流程设计结果生成流程脚本,并对所述流程脚本进行调试;Generate a process script according to the process design result, and debug the process script;
    当所述流程脚本调试完成后,控制脚本执行软件执行所述调试完成后的流程脚本。After the debugging of the process script is completed, the control script execution software executes the debugged process script.
PCT/CN2022/072188 2021-06-01 2022-01-14 Browser-based rpa implementation method and apparatus, device, and medium WO2022252637A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110609423.3 2021-06-01
CN202110609423.3A CN113238850B (en) 2021-06-01 2021-06-01 RPA realization method, device, equipment and medium based on browser

Publications (1)

Publication Number Publication Date
WO2022252637A1 true WO2022252637A1 (en) 2022-12-08

Family

ID=77136272

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/072188 WO2022252637A1 (en) 2021-06-01 2022-01-14 Browser-based rpa implementation method and apparatus, device, and medium

Country Status (2)

Country Link
CN (1) CN113238850B (en)
WO (1) WO2022252637A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185411A (en) * 2023-03-23 2023-05-30 苏州峰之鼎信息科技有限公司 RPA interface determination method, RPA interface determination device, computer equipment and storage medium
CN117573243A (en) * 2024-01-17 2024-02-20 杭州实在智能科技有限公司 RPA file operation and management method and system for information creation system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238850B (en) * 2021-06-01 2024-01-23 平安科技(深圳)有限公司 RPA realization method, device, equipment and medium based on browser
CN114518912B (en) * 2022-02-21 2023-04-25 度小满科技(北京)有限公司 Page loading method, device, equipment and readable storage medium
CN114546508B (en) * 2022-02-28 2024-04-12 广联达科技股份有限公司 Cloud access method and device for tool type application software
CN114679313B (en) * 2022-03-23 2023-06-20 杭州溪塔科技有限公司 Method and device for verifying credential transfer interaction of blockchain system
US11736556B1 (en) 2022-03-31 2023-08-22 UiPath Inc. Systems and methods for using a browser to carry out robotic process automation (RPA)
CN115022304B (en) * 2022-05-27 2024-01-26 来也科技(北京)有限公司 Method, device and system for realizing IA (IA-IA) cross-platform file processing based on RPA (remote procedure A) and AI (advanced technology attachment)
CN114741325B (en) * 2022-06-13 2022-09-30 武汉迎风聚智科技有限公司 Recording method and device of test script for application system test

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110333908A (en) * 2019-06-14 2019-10-15 广东广信通信服务有限公司 A kind of operation flow automatic processing method and device
CN110806934A (en) * 2019-11-15 2020-02-18 四川中电启明星信息技术有限公司 RPA technology-based intelligent all-in-one machine development and multi-service rapid processing method
CN111242577A (en) * 2020-01-13 2020-06-05 中国建设银行股份有限公司 RPA process automation robot deployment method and device and electronic equipment
US20200348964A1 (en) * 2019-04-30 2020-11-05 Automation Anywhere, Inc. Platform agnostic robotic process automation
CN112464623A (en) * 2020-11-24 2021-03-09 金蝶软件(中国)有限公司 RPA flow file generation method and device, computer equipment and storage medium
CN113238850A (en) * 2021-06-01 2021-08-10 平安科技(深圳)有限公司 RPA implementation method, device, equipment and medium based on browser

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664865B2 (en) * 2006-02-15 2010-02-16 Microsoft Corporation Securely hosting a webbrowser control in a managed code environment
KR101418414B1 (en) * 2012-06-08 2014-07-14 삼성중공업 주식회사 System and method for for providing based application program on windows form
US10437984B2 (en) * 2017-10-26 2019-10-08 Bank Of America Corporation Authentication protocol elevation triggering system
EP3806419A1 (en) * 2019-10-11 2021-04-14 UiPath, Inc. Robot browser embedding
CN111429083A (en) * 2020-02-21 2020-07-17 达而观信息科技(上海)有限公司 Web front end and system for realizing batch management of RPA robots

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200348964A1 (en) * 2019-04-30 2020-11-05 Automation Anywhere, Inc. Platform agnostic robotic process automation
CN110333908A (en) * 2019-06-14 2019-10-15 广东广信通信服务有限公司 A kind of operation flow automatic processing method and device
CN110806934A (en) * 2019-11-15 2020-02-18 四川中电启明星信息技术有限公司 RPA technology-based intelligent all-in-one machine development and multi-service rapid processing method
CN111242577A (en) * 2020-01-13 2020-06-05 中国建设银行股份有限公司 RPA process automation robot deployment method and device and electronic equipment
CN112464623A (en) * 2020-11-24 2021-03-09 金蝶软件(中国)有限公司 RPA flow file generation method and device, computer equipment and storage medium
CN113238850A (en) * 2021-06-01 2021-08-10 平安科技(深圳)有限公司 RPA implementation method, device, equipment and medium based on browser

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185411A (en) * 2023-03-23 2023-05-30 苏州峰之鼎信息科技有限公司 RPA interface determination method, RPA interface determination device, computer equipment and storage medium
CN116185411B (en) * 2023-03-23 2024-04-30 苏州峰之鼎信息科技有限公司 RPA interface determination method, RPA interface determination device, computer equipment and storage medium
CN117573243A (en) * 2024-01-17 2024-02-20 杭州实在智能科技有限公司 RPA file operation and management method and system for information creation system
CN117573243B (en) * 2024-01-17 2024-05-10 杭州实在智能科技有限公司 RPA file operation and management method and system for information creation system

Also Published As

Publication number Publication date
CN113238850A (en) 2021-08-10
CN113238850A8 (en) 2022-02-15
CN113238850B (en) 2024-01-23

Similar Documents

Publication Publication Date Title
WO2022252637A1 (en) Browser-based rpa implementation method and apparatus, device, and medium
US11281457B2 (en) Deployment of infrastructure in pipelines
US20210271472A1 (en) Application Wrapping for Application Management Framework
US9411904B2 (en) Guest browser
CN108845812B (en) Plug-in updating method, device, computer equipment and storage medium
KR102243793B1 (en) Method and apparatus for code virtualization and remote process call generation
CN105940654B (en) Franchise static web application in trust
JP5296106B2 (en) Secure browser-based application
KR101565230B1 (en) System and method for preserving references in sandboxes
US20100106767A1 (en) Automatically securing distributed applications
US20030233483A1 (en) Executing software in a network environment
WO2016086767A1 (en) Method, browser client, and device for achieving browser security
US8250630B2 (en) Detecting unauthorized computer access
US9325717B1 (en) Web-store restriction of external libraries
CN110333868B (en) Method and system for generating installation packages of sub-applications
CN106471466A (en) Brief application
CN112130871B (en) Method and device for remotely deploying middleware, computer equipment and storage medium
WO2016086766A1 (en) Browser injection prevention method, browser client, and device
CN112925589A (en) Calling method and device of expansion interface
US20210336974A1 (en) Computer Security and Methods of Use Thereof
CN113778506B (en) Browser management and control method, system and device and electronic equipment
CN113886892B (en) Application program data acquisition method and device, storage medium and electronic equipment
Heinl et al. Android security
US11907731B1 (en) Configurable cloud development environments
Portwood II Mastering Yii

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22814690

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22814690

Country of ref document: EP

Kind code of ref document: A1