Software product delivery method, device, equipment, and storage medium based on RPA and AI
By combining RPA and AI, the software product delivery method automates the software product delivery process, solving the problems of high manpower consumption and low efficiency caused by manual operations, and achieving efficient and accurate software product delivery.
Patent Information
- Application Number
- CN202210108940.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-28
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2042-01-28
AI Technical Summary
In the existing technology, the delivery method of software products mainly relies on manual operation, resulting in high manpower consumption and low efficiency.
Adopting a software product delivery method based on RPA and AI, the software product delivery platform automatically obtains order information, reviews customer machine information, generates and sends deployment packages, and combines RPA robots to automatically obtain deployment configuration information to achieve automated delivery of software products.
It has achieved automation in software product delivery, saving manpower, improving delivery efficiency, reducing manual errors, expanding customer selection, and timely monitoring of deployment progress.
Smart Images

Figure CN114445185B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotic process automation technology, and in particular to a method, apparatus, device, and storage medium for delivering software products based on RPA and AI. Background Art
[0002] Robotic Process Automation (RPA) uses specific "robot software" to simulate human operations on computers and automatically execute process tasks according to rules.
[0003] Artificial Intelligence (AI) is a technical science that studies and develops theories, methods, technologies and application systems for simulating, extending and expanding human intelligence.
[0004] With the development of e-commerce technology, online shopping has become increasingly popular. People can place orders directly on shopping websites, and the merchants will ship the items offline according to the order, sending them to the buyers via express mail. Buyers can also check the logistics progress online. However, this delivery method is limited to hardware products (i.e., physical goods). Software products (i.e., program products) cannot be shipped directly via express mail.
[0005] In the prior art, when a consumer wants to purchase a company's software product, they provide the company's salesperson with the order information for the desired software product. The salesperson then contacts the company's technical staff based on the order information. The technical staff then manually prepares the relevant files for each of the software products listed in the order information, packages the files into a deployment package, and manually sends the deployment package to the consumer for deployment. This indicates that the current delivery method for software products is primarily manual, which is labor-intensive and inefficient. Summary of the Invention
[0006] The embodiments of the present application provide a method, apparatus, device, and storage medium for software product delivery based on RPA and AI, which can solve the problem in related technologies that manual delivery of software products requires manpower and has low delivery efficiency.
[0007] The technical solution is as follows:
[0008] In a first aspect, an embodiment of the present application provides a software product delivery method based on RPA and AI, which is applied to a software product delivery platform and includes:
[0009] Obtain basic information of pending orders and corresponding sales contracts from the customer relationship management (CRM) system;
[0010] Output basic information and obtain the deployment environment corresponding to the pending order entered by the shipping applicant based on the basic information;
[0011] Obtain the target image and pre-check result screenshot uploaded by the shipment applicant. The target image contains information about the customer machine that meets the deployment environment. The pre-check result screenshot includes the result of a validity check on the customer machine corresponding to the shipment order based on the pre-check script. The validity check is used to verify whether the customer machine meets the product deployment requirements.
[0012] Send the customer machine information identified from the target image and a screenshot of the pre-check results to the first reviewer for review, and receive the software deployment authorization file uploaded by the first reviewer after approval;
[0013] The information to be shipped is packaged to generate a deployment package, and the deployment package is sent to the customer corresponding to the order to be shipped for software product deployment. The information to be shipped includes basic information, deployment environment, target image, screenshot of pre-check results and software deployment authorization file.
[0014] In one embodiment, obtaining basic information of an order to be shipped and a sales contract corresponding to the order to be shipped from a customer relationship management (CRM) system includes:
[0015] The first RPA robot obtains the basic information of the orders to be shipped and the sales contracts corresponding to the orders to be shipped from the CRM system.
[0016] In one embodiment, sending the client machine information identified from the target image and the screenshot of the pre-check result to the first reviewer for review includes:
[0017] When the target image is a QR code, the customer machine information identified by the QR code and a screenshot of the pre-check results will be sent to the first reviewer for review;
[0018] When the target image is not a QR code, the customer machine information identified by optical character recognition (OCR) and a screenshot of the pre-inspection result will be sent to the first reviewer for review.
[0019] In one embodiment, receiving the software deployment authorization file uploaded by the first reviewer after approval includes:
[0020] Determine whether there are third-party suppliers under the sales contract;
[0021] If there is no third-party supplier, the self-developed software deployment authorization file uploaded by the first reviewer after approval will be accepted;
[0022] If there is a third-party supplier, the third-party software deployment authorization file uploaded by the first reviewer will be received after approval.
[0023] In one embodiment, the basic information includes at least one of the following:
[0024] Shipment application ID, customer name, deployment type, order number, shipment applicant, shipment applicant's delivery address, and product information of at least one software product;
[0025] The product information includes product identification, product activation time, and product expiration time.
[0026] In one embodiment, when the information to be shipped further includes software deployment configuration information corresponding to each product identifier, before packaging the information to be shipped to generate a deployment package, the method further includes:
[0027] Based on the second RPA robot, the software deployment configuration information corresponding to each product identifier in the basic information is obtained from the software service platform, where the software deployment configuration information includes process image files, configuration image files, service image information and model image files.
[0028] In one embodiment, sending the deployment package to the customer corresponding to the order to be shipped for software product deployment includes:
[0029] The deployment package is sent to the delivery address of the shipping applicant so that the shipping applicant can send the deployment package to the customer corresponding to the order to be shipped for software product deployment.
[0030] In one embodiment, before packaging the information to be shipped to generate a deployment package, the method further includes:
[0031] The information to be shipped is sent to the second reviewer for review, and after the review is passed, the information to be shipped is packaged to generate a deployment package.
[0032] In one embodiment, after packaging the information to be shipped to generate a deployment package, the method further includes:
[0033] Obtain the customer's software product deployment progress and synchronize the software product deployment progress to CRM.
[0034] In a second aspect, an embodiment of the present application provides a software product delivery device based on RPA and AI, which is applied to a software product delivery platform and includes:
[0035] The first acquisition unit is used to obtain basic information of the to-be-shipped order and the sales contract corresponding to the to-be-shipped order from the customer relationship management (CRM) system;
[0036] Output unit, used to output basic information;
[0037] The second acquisition unit is used to obtain the deployment environment corresponding to the to-be-shipped order input by the shipment applicant based on basic information;
[0038] A third acquisition unit is configured to acquire a target image and a pre-check result screenshot uploaded by the shipment applicant, wherein the target image carries information about a client machine that meets the deployment environment, and the pre-check result screenshot includes a result of a validity check performed on the client machine corresponding to the pending shipment order according to the pre-check script, wherein the validity check is used to verify whether the client machine meets the product deployment requirements;
[0039] The first sending unit is used to send the client machine information identified from the target image and the screenshot of the pre-check result to the first reviewer for review;
[0040] A receiving unit, configured to receive the software deployment authorization file uploaded by the first reviewer after approval;
[0041] The packaging unit is used to package the delivery information and generate a deployment package;
[0042] The second sending unit is used to send the deployment package to the customer corresponding to the order to be shipped for software product deployment, wherein the information to be shipped includes basic information, deployment environment, target image, screenshot of pre-check result and software deployment authorization file.
[0043] In one embodiment, the first acquisition unit is configured to acquire basic information of an order to be shipped and a sales contract corresponding to the order to be shipped from a CRM system based on a first RPA robot.
[0044] In one embodiment, the first sending unit includes:
[0045] A first sending module is used to send the customer machine information and the screenshot of the pre-check result identified by the QR code to the first reviewer for review when the target image is a QR code;
[0046] The second sending module is used to send the customer machine information and the screenshot of the pre-inspection result recognized by the optical character recognition (OCR) of the target image to the first reviewer for review when the target image is not a QR code.
[0047] In one embodiment, the receiving unit includes:
[0048] a determination module, used to determine whether a third-party supplier exists according to a sales contract;
[0049] The receiving module is used to receive the self-developed software deployment authorization file uploaded after the first reviewer has passed the review when there is no third-party supplier; and to receive the third-party software deployment authorization file uploaded after the first reviewer has passed the review when there is a third-party supplier.
[0050] In one embodiment, the basic information includes at least one of the following:
[0051] Shipment application ID, customer name, deployment type, order number, shipment applicant, shipment applicant's delivery address, and product information of at least one software product;
[0052] The product information includes product identification, product activation time, and product expiration time.
[0053] In one embodiment, the apparatus further comprises:
[0054] The fourth acquisition unit is used to obtain the software deployment configuration information corresponding to each product identifier in the basic information from the software service platform based on the second RPA robot before packaging the information to be shipped to generate a deployment package, when the information to be shipped also includes software deployment configuration information corresponding to each product identifier, wherein the software deployment configuration information includes process image files, configuration image files, service image information and model image files.
[0055] In one embodiment, the second sending unit is used to send the deployment package to the delivery address of the shipping applicant, so that the shipping applicant can send the deployment package to the customer corresponding to the order to be shipped for software product deployment.
[0056] In one embodiment, the apparatus further comprises:
[0057] The third sending unit is configured to send the information to be shipped to a second reviewer for review before the information to be shipped is packaged to generate a deployment package, and to package the information to be shipped to generate a deployment package after the review is passed.
[0058] In one embodiment, the apparatus further comprises:
[0059] The fifth obtaining unit is configured to obtain the software product deployment progress of the customer after packaging the information to be shipped to generate a deployment package, and synchronize the software product deployment progress to the CRM.
[0060] In a third aspect, an embodiment of the present application provides an electronic device, which includes a processor and a memory, wherein the memory stores instructions, and the instructions are loaded and executed by the processor to implement the method in any one of the implementations of the first aspect above.
[0061] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the method in any one of the embodiments of the first aspect above.
[0062] The advantages or beneficial effects of the above technical solution include at least:
[0063] 1. The embodiment of the present application provides a software product delivery platform, and based on the software product delivery platform, obtains the basic information of the to-be-delivered order and the sales contract corresponding to the to-be-delivered order from the customer relationship management (CRM) system, outputs the basic information, and obtains the deployment environment corresponding to the to-be-delivered order input by the delivery applicant based on the basic information, obtains the target image and the screenshot of the pre-inspection result uploaded by the delivery applicant, sends the customer machine information identified from the target image and the screenshot of the pre-inspection result to the first reviewer for review, receives the software deployment authorization file uploaded by the first reviewer after the review is passed, packages the to-be-delivered information to generate a deployment package, and sends the deployment package to the customer corresponding to the to-be-delivered order for software product deployment. It can be seen from this that, compared with the related art that requires manual delivery processing for each software product one by one, the embodiment of the present application can realize the delivery processing operation through the software product delivery platform, thereby realizing the automation of software product delivery, thereby saving manpower and improving delivery efficiency.
[0064] 2. Before generating the deployment package, the embodiment of the present application obtains the software deployment configuration information corresponding to each product identifier in the basic information from the software service platform through the first RPA robot, and packages the software deployment configuration information as part of the information to be shipped, so that the customer no longer needs to manually obtain the software deployment configuration information through the software service platform, thereby saving manpower and improving deployment efficiency.
[0065] 3. By using the second RPA robot to obtain the basic information of pending orders and the corresponding sales contracts from the CRM system, there is no need to manually obtain this information from the CRM system, thereby saving manpower and improving the efficiency of obtaining basic information and sales contracts.
[0066] 4. When uploading customer machine information, the system automatically recognizes the target image by directly uploading it, eliminating the need for manual input of long character strings. This not only saves manpower and improves the efficiency of obtaining customer machine information, but also avoids manual input errors and improves the accuracy of obtaining customer machine information. If the target image is a QR code, the QR code can be directly recognized using a QR code recognition algorithm. If the target image is not a QR code, optical character recognition (OCR) can be used to recognize the target image.
[0067] 5. The embodiments of the present application can provide customers with not only self-developed software products but also third-party software products, thereby increasing the customer's choice. Specifically, the existence of a third-party supplier can be automatically determined by analyzing the content of the sales contract, without the need for manual judgment.
[0068] 6. By having the second reviewer review the shipping information before packaging, shipping errors can be prevented and the shipping accuracy rate can be improved.
[0069] 7. In order to facilitate software product merchants to promptly know the software product deployment progress and thus promptly discover whether there are problems with the software product deployment (such as low deployment efficiency), after sending the deployment package to the customer corresponding to the order to be shipped for software product deployment, the software product delivery platform can obtain the customer's software product deployment progress and synchronize the software product deployment progress to the CRM.
[0070] The above summary is for illustrative purposes only and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments and features described above, further aspects, embodiments and features of the present application will be readily apparent by reference to the accompanying drawings and the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar components or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments disclosed in this application and should not be construed as limiting the scope of this application.
[0072] Figure 1 A flowchart of a software product delivery method based on RPA and AI provided in an embodiment of the present application;
[0073] Figure 2 This is an example diagram of an RPA and AI-based software product delivery process interface provided in an embodiment of the present application;
[0074] Figure 3 This is another example diagram of the software product delivery process interface based on RPA and AI provided in an embodiment of the present application;
[0075] Figure 4 This is another example diagram of the software product delivery process interface based on RPA and AI provided in an embodiment of the present application;
[0076] Figure 5 This is another example diagram of the software product delivery process interface based on RPA and AI provided in an embodiment of the present application;
[0077] Figure 6This is another example diagram of the software product delivery process interface based on RPA and AI provided in an embodiment of the present application;
[0078] Figure 7 A block diagram of a software product delivery device based on RPA and AI provided in an embodiment of the present application;
[0079] Figure 8 An architecture diagram of an electronic device provided in an embodiment of the present application;
[0080] Figure 9 This is an architectural diagram of another electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0081] The following describes in detail embodiments of the present application. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present application and are not to be construed as limiting the present application.
[0082] In order to clearly illustrate the various embodiments of the present application, the technical terms involved in the embodiments of the present application are first explained.
[0083] In the description of the embodiments of this application, the term "RPA", namely Robotic Process Automation, is a process that uses specific "robot software" to simulate human operations on computers and automatically execute process tasks according to rules.
[0084] In the description of the embodiments of the present application, the term "AI" refers to artificial intelligence (AI), which is a technical science that studies and develops theories, methods, technologies and application systems for simulating, extending and expanding human intelligence.
[0085] In the description of the embodiments of the present application, the term "software product delivery platform" refers to a platform that specifically provides software product delivery functions. The platform can be composed of a client and a server. The client is used to provide a human-computer interaction interface to users (mainly staff of software product merchants), and the server is used to perform background processing operations such as packaging.
[0086] In the description of the embodiments of this application, the term "CRM", or Customer Relationship Management, refers to the process by which an enterprise, in order to improve its core competitiveness, uses corresponding information technology and Internet technology to coordinate the interaction between the enterprise and its customers in sales, marketing, and services, thereby improving its management methods and providing customers with innovative, personalized customer interactions and services.
[0087] In the description of the embodiments of the present application, the term "software product" refers to a program product.
[0088] In the description of the embodiments of the present application, the term "shipment application identifier" is used to uniquely identify a shipment application.
[0089] In the description of the embodiments of the present application, the term "deployment type" includes POC (Proof of Concept) deployment and / or formal deployment, that is, the deployment type can be used to determine whether the current deployment is a formal deployment or a POC deployment.
[0090] In the description of the embodiments of the present application, the term "product activation time" refers to the time when the sales contract corresponding to the software product takes effect, and the term "product expiration time" refers to the time when the sales contract corresponding to the software product expires.
[0091] In the description of the embodiments of the present application, the term "deployment environment" refers to the type of processor used to run a software product.
[0092] In the description of the embodiments of the present application, the term "CPU", namely the Central Processing Unit (Central Processing Unit), serves as the computing and control core of the computer system and is the final execution unit for information processing and program running.
[0093] In the description of the embodiments of the present application, the term "GPU" refers to a graphics processing unit (GPU), also known as a display core, visual processor, or display chip. It is a microprocessor specifically used to perform image and graphics-related calculations on computer devices.
[0094] In the description of the embodiments of the present application, the term "OCR" refers to optical character recognition, which specifically refers to the process of an electronic device examining characters printed on paper, determining their shapes by detecting dark and light patterns, and then translating the shapes into computer text using character recognition methods; that is, for printed characters, an optical method is used to convert the text in a paper document into a black and white dot matrix image file, and recognition software is used to convert the text in the image into a text format for further editing and processing by word processing software.
[0095] In the description of the embodiments of this application, the term "NLP" refers to Natural Language Processing, which is a discipline that uses computer technology to analyze, understand and process natural language with language as the object. That is, it uses computers as a powerful tool for language research, conducts quantitative research on language information with the support of computers, and provides language descriptions that can be used by both humans and computers.
[0096] In the description of the embodiments of the present application, the term "pre-check" refers to a pre-deployment check operation to check whether the client machine meets the deployment requirements.
[0097] In the description of the embodiments of the present application, the term "two-dimensional code" refers to Quick Response Code (QR Code for short), which is a black and white graphic that records data symbol information and is distributed in a plane (two-dimensional direction) according to a certain pattern using certain geometric shapes. It can store more information than traditional barcodes and can also represent more data types.
[0098] In the description of the embodiments of this application, the term "software deployment authorization file" is an authorization file that a merchant grants to a customer software deployment rights, including self-developed software deployment authorization files and / or third-party software deployment authorization files.
[0099] In the description of the embodiments of the present application, the term "process image file" refers to an image file obtained by mirroring the process code.
[0100] In the description of the embodiments of this application, the term "image processing" refers to a method for obtaining image files, such as Docker (application container engine) image processing for the container cluster management system Kubernetes. Kubernetes plug-ins (such as Helm plug-ins, Istio plug-ins, StorageClass plug-ins, etc.) can be set up in the environment of the software service platform to implement Kubernetes deployment.
[0101] In the description of the embodiments of the present application, the term "configuration image file" refers to an image file obtained by mirroring the configuration file of the process code.
[0102] In the description of the embodiments of the present application, the term "service mirror information" refers to mirror information obtained by mirroring service information of a process code.
[0103] In the description of the embodiments of the present application, the term "model image file" refers to an image file obtained by mirroring the model file of the process code.
[0104] In the description of the embodiments of the present application, the term "software service platform" refers to a platform including a variety of software services provided by software product merchants to customers, through which they can download required services and place orders to purchase required software products.
[0105] These and other aspects of the embodiments of the present application will become clear with reference to the following description and accompanying drawings. In these descriptions and accompanying drawings, some specific implementations of the embodiments of the present application are specifically disclosed to illustrate some ways of implementing the principles of the embodiments of the present application, but it should be understood that the scope of the embodiments of the present application is not limited thereto. On the contrary, the embodiments of the present application include all changes, modifications and equivalents that fall within the spirit and connotation of the appended claims.
[0106] RPA technology, through a user interface, intelligently understands existing applications on electronic devices and automates repetitive, rule-based, high-volume routine operations, such as repetitively reading emails, accessing Office components, operating databases, web pages, and client software. It collects data, performs complex calculations, and generates required documents and reports in batches. This significantly reduces labor costs and effectively improves office efficiency. AI technology can break through fixed rules and simulate human thinking and consciousness to automate more complex application scenarios. RPA offers unique advantages: low-code and non-invasive. Low-code means RPA doesn't require advanced IT expertise; business personnel without programming skills can develop processes. Non-invasive means RPA can simulate human operations without requiring open interfaces in software systems. However, traditional RPA has certain limitations: it relies solely on fixed rules and is limited in application scenarios. With the continuous development of AI technology, the deep integration of RPA and AI has overcome these limitations. RPA + AI = handwork + headwork, significantly changing the value of labor. Based on this, the embodiment of the present application provides a software product delivery method based on RPA and AI, which can realize the automation of software product delivery, thereby saving manpower and improving delivery efficiency.
[0107] Figure 1 A flowchart of a software product delivery method based on RPA and AI, provided in one embodiment of the present application, is shown. This method is applied to a software product delivery platform. The software product delivery platform can be deployed in a private cloud or a public cloud, depending on the actual situation. The method may include the following steps:
[0108] Step S101: the software product delivery platform obtains basic information of the order to be delivered and the sales contract corresponding to the order to be delivered from the CRM system.
[0109] After a customer places an order on a software service platform, or places an order offline with a software vendor's salesperson, the order information (including basic order information and sales contract) from the software service platform can be automatically synchronized to the CRM system. Alternatively, the salesperson can manually enter the order information into the CRM system. The CRM system can synchronize the order information to the software product shipping platform in order, starting the shipping process.
[0110] Among them, the basic information includes at least one of the following: shipment application identification, customer name, deployment type, order number, shipment applicant, shipment applicant's delivery address and product information of at least one software product; among them, the product information includes product identification, product activation time and product expiration time.
[0111] The shipment application identifier refers to the application ID (Identity document) generated when an order to be shipped is applied for shipment, which is used to uniquely identify a shipment application. Deployment types include POC deployment and / or formal deployment. The shipment applicant refers to the person who operates the shipment application in the software product shipping platform, for example, it can be a salesperson of the software product merchant. The delivery address of the shipment applicant is generally a network virtual address, such as an email address, chat software address, etc. The product identifier is used to uniquely identify a software product and may include the product name. The product activation time refers to the time when the sales contract corresponding to the software product takes effect, and the product expiration time refers to the time when the sales contract corresponding to the software product expires. Software products include but are not limited to RPA products (such as process robots, process creators, process managers), AI products (such as OCR products, NLP products), IDP (Intelligent Document Processing) products, and Chatbot (dialogue robot) products.
[0112] In RPA products, the process robot UiBot Worker is deployed within the process robot after the RPA process is written. It can be manually started as needed or automatically started when specific trigger conditions are met. Tasks can be orchestrated and processes can be traced back. The process creator UiBot Creator is a programming tool for process development, performing specific steps in the process such as interface automation, AI recognition, and data reading and writing. The process creator allows people to easily assemble automated processes that meet business needs using flowcharts and low-code methods by dragging and dropping individual steps with a mouse. The process manager UiBot Commander is a platform for unified management of multiple process robots within the enterprise. It can quickly issue tasks in batches and provide process robots with the data, credentials, and files required for operation. It can also monitor the operating status of process robots in real time or review their historical records.
[0113] The specific implementation method of the software product delivery platform obtaining the basic information of the orders to be shipped and the sales contracts corresponding to the orders to be shipped from the CRM system can be: based on the first RPA robot, obtaining the basic information of the orders to be shipped and the sales contracts corresponding to the orders to be shipped from the CRM system.
[0114] In one embodiment, an RPA program can be configured within a software product delivery platform so that, according to the rules set within the RPA program, the platform can simulate a manual login to the CRM system, obtain basic information about pending orders and the corresponding sales contracts through the CRM system, and then enter these information and contracts into the software product delivery platform. When logging into the CRM system, if the login interface displayed by the CRM system contains a verification code image, the first RPA robot can perform OCR on the verification code image, obtain the verification code content within the verification code image, and enter the verification code content into the corresponding edit box, thereby successfully logging into the CRM system.
[0115] It's important to note that the basic information in the CRM system and the basic information to be used on the software product delivery platform may have different field descriptions, but they still represent the same meaning. For example, the "Software Delivery Application Order" field in the CRM system and the "Order Number" field in the software product delivery platform both represent order identifiers. In this case, a basic information field mapping table can be pre-configured. After obtaining basic information from the CRM system, the basic information required by the software product delivery platform can be retrieved based on the basic information field mapping table.
[0116] Step S102: The software product delivery platform outputs basic information and obtains the deployment environment corresponding to the order to be delivered input by the delivery applicant based on the basic information.
[0117] The deployment environment is a processor used to run software products, which may include a CPU and / or a GPU. After inputting the basic information, the shipping applicant can view the basic information of the order to be shipped, and click Next to select the deployment environment corresponding to the order to be shipped, such as a CPU. Figure 2 As shown in the figure, the software product delivery platform mainly includes seven nodes: basic information, filling in the deployment environment, filling in the pre-check results, uploading the authorization file (i.e. the software deployment authorization file), review, packaging, and deployment. The ongoing node can be displayed in bold, and the specific content involved in the node will be displayed below. Figure 2 Taking "Basic Information" as an example, the following are the detailed contents of the basic information.
[0118] When the shipment applicant is based on click Figure 2 After the next step in Figure 3 Fill in the deployment environment interface shown, Figure 3There are two deployment environments: CPU and GPU. The shipping applicant can choose a suitable deployment environment interface.
[0119] Step S103: The software product delivery platform obtains the target image and the screenshot of the pre-inspection result uploaded by the delivery applicant.
[0120] The target image contains information about the customer's machine that meets the deployment environment. The pre-check result screenshot includes the results of a legitimacy check on the customer's machine corresponding to the pending order based on the pre-check script. The legitimacy check is used to verify whether the customer's machine meets the product deployment requirements. Customers can download the pre-check script from the software product delivery platform, or the software product delivery platform can proactively send the pre-check script to customers. The pre-check script is then run to verify whether the customer's machine meets the product deployment requirements. A screenshot of the pre-check result is taken, and a target image is generated based on the customer's machine information that meets the deployment environment. The target image and pre-check result screenshot are then fed back to the delivery applicant, who then uploads the target image and pre-check result screenshot.
[0121] When uploading customer machine information, the target image is directly uploaded and automatically recognized to obtain the customer machine information, eliminating the need to manually enter the long character string of customer machine information. This not only saves manpower and improves the efficiency of obtaining customer machine information, but also avoids manual input errors and improves the accuracy of obtaining customer machine information. The target image can be a QR code or a regular image that clearly displays the customer machine information. When the target image is a QR code, the customer machine information identified from the QR code and a screenshot of the pre-inspection results are sent to the first reviewer for review. When the target image is not a QR code, the customer machine information identified from the target image using OCR and a screenshot of the pre-inspection results are sent to the first reviewer for review. The first reviewer can be someone with higher authority than the shipment applicant, such as a product marketing manager.
[0122] For example, Figure 4 As shown, the shipping applicant can upload a QR code, and the software product shipping platform can automatically identify the customer machine information (such as the machine code) in the QR code, and automatically fill the machine code into the corresponding input box for display, and then upload a screenshot of the pre-inspection result.
[0123] Step S104: The software product delivery platform sends the customer machine information identified from the target image and a screenshot of the pre-check result to the first reviewer for review, and receives the software deployment authorization file uploaded by the first reviewer after the review is passed.
[0124] The shipping applicant and the first reviewer have different accounts on the software product shipping platform. After the shipping applicant uploads the target image and the screenshot of the pre-inspection result, he can click the "Initiate Review" button. After the software product shipping platform receives the instruction to initiate the review, it will send the customer machine information identified from the target image and the screenshot of the pre-inspection result to the account of the first reviewer, so that the first reviewer can review the customer machine information and the screenshot of the pre-inspection result after logging into the account. After confirming that there is no problem, upload the software deployment authorization file.
[0125] In actual applications, software product merchants can sell self-developed software products or software products from third-party suppliers, so the required software deployment authorization files may be different. The software product delivery platform can determine whether there is a third-party supplier based on the sales contract; if there is no third-party supplier, it will receive the self-developed software deployment authorization file uploaded after the first reviewer has approved it; if there is a third-party supplier, it will receive the third-party software deployment authorization file uploaded after the first reviewer has approved it. Among them, the software product delivery platform can parse the sales contract based on NLP technology and determine whether there is a third-party supplier. And when the sales contract is in a non-editable image format, the software product delivery platform can first identify the text content in the sales contract based on OCR technology, and then parse and judge based on NLP technology.
[0126] It should be noted that there may be only one software product or multiple software products in the order to be shipped. When there are multiple software products, the multiple software products may correspond to one sales contract or different sales contracts. When corresponding to different sales contracts, the software product shipping platform needs to determine whether there is a third-party supplier in the content of each sales contract. Figure 5 As shown, the first reviewer can directly upload all software deployment authorization files involved in the order to be shipped in the software deployment authorization file upload interface.
[0127] Step S105: The software product delivery platform packages the delivery information to be delivered to generate a deployment package, and sends the deployment package to the customer corresponding to the delivery order to deploy the software product.
[0128] Among them, the information to be shipped includes basic information, deployment environment, target images, screenshots of pre-check results and software deployment authorization files. The software product shipping platform can automatically package this information to generate a deployment package, and send the deployment package to the delivery applicant's delivery address, so that the delivery applicant can send the deployment package to the customer corresponding to the order to be shipped for software product deployment. Of course, when the basic information also includes the delivery address of the customer corresponding to the order to be shipped, the deployment package can also be sent directly to the customer's delivery address. After the packaging is completed, the detailed contents of the deployment package can also be shown to the delivery applicant, such as Figure 6 As shown, in addition to the information to be shipped, the deployment package can also include information related to the packaged module generated by the package, such as module number, module name, module version, etc.
[0129] In one embodiment, to further ensure the accuracy of the pending shipment information and prevent software product deployment failures, the pending shipment information can be sent to a second reviewer for review before being packaged and generated into a deployment package. Once the review is passed, the pending shipment information can be packaged and generated into a deployment package. The second reviewer can be the same as or different from the first reviewer, depending on actual needs. For example, the second reviewer can be an operations and maintenance personnel.
[0130] In one embodiment, when a customer deploys a software product based on a deployment package, it is often necessary to obtain software deployment configuration information such as the process image file, configuration image file, service image information, and model image file of each software product to be deployed from the software service platform, and then implement the software product deployment based on the software deployment configuration information. It can be seen that the deployment process requires a lot of manual operation, and the efficiency of manual operation is also relatively low. In order to further save manpower and improve deployment efficiency, before packaging the information to be shipped to generate a deployment package, the software product shipping platform can automatically obtain the software deployment configuration information corresponding to each product identifier in the basic information from the software service platform based on the second RPA robot, and package the information to be shipped that also includes the software deployment configuration information corresponding to each product identifier. Among them, the software deployment configuration information includes process image files, configuration image files, service image information, and model image files.
[0131] The process image file refers to the image file obtained by mirroring the process code. The configuration image file refers to the image file obtained by mirroring the process code's configuration file. The service image information refers to the image information obtained by mirroring the process code's service information. The model image file refers to the image file obtained by mirroring the process code's model file. The configuration file refers to the definition of the values of each variable in the process code, etc., which, combined with the definition of each variable's value and the process code, enables the process code to run. Service information refers to process routing information, data structures required for initialization during deployment, initialization data, data structure change information, etc. The model file refers to the model-related files required during the execution of the process code. For example, taking the text recognition business function as an example, if the process in this model requires an image recognition model, the model file of this process is the file related to the image recognition model, which facilitates the process to call the image recognition model and obtain image recognition results.
[0132] In one embodiment, an RPA program can be configured within the software product delivery platform so that, according to the rules set within the RPA program, the software product delivery platform can simulate a manual automatic login to the software service platform, obtain basic information about pending orders and the corresponding sales contracts through the software service platform, and enter the basic information and sales contracts into the software product delivery platform. When logging into the software service platform, if the login interface displayed by the software service platform contains a verification code image, a second RPA robot can perform OCR on the verification code image, obtain the verification code content within the verification code image, and enter the verification code content into the corresponding edit box, thereby successfully logging into the software service platform.
[0133] The first RPA robot and the second RPA robot can be the same RPA robot or different RPA robots. That is, the functions of the first RPA robot and the second RPA robot can be deployed on the same RPA robot or on different RPA robots.
[0134] In one embodiment, in order to facilitate software product merchants to promptly learn about the software product deployment progress and thus promptly discover whether there are problems with the software product deployment (such as low deployment efficiency), after sending the deployment package to the customer corresponding to the order to be shipped for software product deployment, the software product shipping platform can obtain the customer's software product deployment progress and synchronize the software product deployment progress to the CRM.
[0135] The software product delivery method based on RPA and AI provided in the embodiment of the present application can obtain the basic information of the order to be shipped and the sales contract corresponding to the order to be shipped from the customer relationship management CRM system based on the software product delivery platform, output the basic information, and obtain the deployment environment corresponding to the order to be shipped input by the delivery applicant based on the basic information, obtain the target image and the screenshot of the pre-inspection result uploaded by the delivery applicant, send the customer machine information identified from the target image and the screenshot of the pre-inspection result to the first reviewer for review, receive the software deployment authorization file uploaded by the first reviewer after the review is passed, package the delivery information to generate a deployment package, and send the deployment package to the customer corresponding to the order to be shipped for software product deployment. It can be seen from this that compared with the related art that requires manual delivery processing for each software product one by one, the embodiment of the present application can realize the delivery processing operation through the software product delivery platform, thereby realizing the automation of software product delivery, thereby saving manpower and improving delivery efficiency.
[0136] Figure 7 A block diagram of a software product delivery device based on RPA and AI, provided in another embodiment of the present application, is shown. The device is applied to a software product delivery platform and includes:
[0137] The first acquisition unit 210 is configured to acquire basic information of an order to be shipped and a sales contract corresponding to the order to be shipped from a customer relationship management (CRM) system;
[0138] Output unit 220, used to output basic information;
[0139] The second acquisition unit 230 is used to obtain the deployment environment corresponding to the to-be-shipped order input by the shipment applicant based on basic information;
[0140] The third acquisition unit 240 is configured to acquire a target image and a pre-check result screenshot uploaded by the shipment applicant, wherein the target image carries information about a client machine that meets the deployment environment, and the pre-check result screenshot includes a result of a validity check performed on the client machine corresponding to the pending shipment order according to the pre-check script, wherein the validity check is used to verify whether the client machine meets the product deployment requirements;
[0141] The first sending unit 250 is used to send the client machine information identified from the target image and the screenshot of the pre-check result to the first reviewer for review;
[0142] The receiving unit 260 is configured to receive the software deployment authorization file uploaded by the first reviewer after approval;
[0143] The packaging unit 270 is used to package the shipment information to generate a deployment package;
[0144] The second sending unit 280 is used to send the deployment package to the customer corresponding to the order to be shipped for software product deployment, wherein the information to be shipped includes basic information, deployment environment, target image, screenshot of pre-check result and software deployment authorization file.
[0145] In one embodiment, the first acquisition unit 210 is configured to acquire basic information of an order to be shipped and a sales contract corresponding to the order to be shipped from a CRM system based on the first RPA robot.
[0146] In one embodiment, the first sending unit 250 includes:
[0147] A first sending module is used to send the customer machine information and the screenshot of the pre-check result identified by the QR code to the first reviewer for review when the target image is a QR code;
[0148] The second sending module is used to send the customer machine information and the screenshot of the pre-inspection result recognized by the optical character recognition (OCR) of the target image to the first reviewer for review when the target image is not a QR code.
[0149] In one embodiment, the receiving unit 260 includes:
[0150] a determination module, used to determine whether a third-party supplier exists according to a sales contract;
[0151] The receiving module is used to receive the self-developed software deployment authorization file uploaded after the first reviewer has passed the review when there is no third-party supplier; and to receive the third-party software deployment authorization file uploaded after the first reviewer has passed the review when there is a third-party supplier.
[0152] In one embodiment, the basic information includes at least one of the following:
[0153] Shipment application ID, customer name, deployment type, order number, shipment applicant, shipment applicant's delivery address, and product information of at least one software product;
[0154] The product information includes product identification, product activation time, and product expiration time.
[0155] In one embodiment, the apparatus further comprises:
[0156] The fourth acquisition unit is used to obtain the software deployment configuration information corresponding to each product identifier in the basic information from the software service platform based on the second RPA robot before packaging the information to be shipped to generate a deployment package, when the information to be shipped also includes software deployment configuration information corresponding to each product identifier, wherein the software deployment configuration information includes process image files, configuration image files, service image information and model image files.
[0157] In one embodiment, the second sending unit 280 is configured to send the deployment package to the delivery address of the shipping applicant so that the shipping applicant can send the deployment package to the customer corresponding to the order to be shipped for software product deployment.
[0158] In one embodiment, the apparatus further comprises:
[0159] The third sending unit is configured to send the information to be shipped to a second reviewer for review before the information to be shipped is packaged to generate a deployment package, and to package the information to be shipped to generate a deployment package after the review is passed.
[0160] In one embodiment, the apparatus further comprises:
[0161] The fifth obtaining unit is configured to obtain the software product deployment progress of the customer after packaging the information to be shipped to generate a deployment package, and synchronize the software product deployment progress to the CRM.
[0162] The functions of each module in each device in the embodiments of the present application can be found in the corresponding description in the above method and will not be repeated here.
[0163] Figure 8The following is a block diagram of an electronic device according to another embodiment of the present application. The electronic device includes a processor 310 and a memory 320. The memory 320 stores instructions that are loaded and executed by the processor 310 to implement a method as described in any of the above method embodiments. The number of the memory 320 and the processor 310 can be one or more.
[0164] like Figure 9 As shown, the electronic device also includes:
[0165] The communication interface 330 is used to communicate with external devices and perform data exchange transmission.
[0166] If the memory 320, processor 310, and communication interface 330 are implemented independently, they can be interconnected via a bus and communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. This bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, the figure uses only one thick line, but this does not mean that there is only one bus or only one type of bus.
[0167] In a specific implementation, if the memory 320 , the processor 310 , and the communication interface 330 are integrated on a chip, the memory 320 , the processor 310 , and the communication interface 330 can communicate with each other through an internal interface.
[0168] An embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, a method as provided in any of the above method embodiments is implemented.
[0169] An embodiment of the present application also provides a chip, which includes a processor for calling and executing instructions stored in the memory from the memory, so that a communication device equipped with the chip executes the method provided in the embodiment of the present application.
[0170] An embodiment of the present application also provides a chip, including: an input interface, an output interface, a processor and a memory. The input interface, the output interface, the processor and the memory are connected through an internal connection path. The processor is used to execute the code in the memory. When the code is executed, the processor is used to execute the method provided in the embodiment of the application.
[0171] It should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (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 any conventional processor, etc. It is worth noting that the processor may be a processor that supports the advanced reduced instruction set machine (ARM) architecture.
[0172] Furthermore, optionally, the above-mentioned memory may include read-only memory and random access memory, and may also include non-volatile random access memory. The memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Among them, the non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory may include random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available. For example, static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct rambus RAM (DR RAM).
[0173] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.
[0174] In the description of this specification, the reference terms "one embodiment," "some embodiments," "example," "specific example," or "some examples" mean that the specific features, structures, materials, or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials, or characteristics described may be combined in any appropriate manner in any one or more embodiments or examples. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification, as well as features of different embodiments or examples, unless they are mutually inconsistent.
[0175] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout the description of this application, "plurality" means two or more, unless otherwise specifically defined.
[0176] Any process or method description in a flow chart or otherwise described herein can be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a specific logical function or process. The scope of the preferred embodiments of the present application includes additional implementations in which the functions may be performed in a different order than shown or discussed, including in a substantially simultaneous manner or in a reverse order depending on the functions involved.
[0177] The logic and / or steps represented in the flowchart or otherwise described herein may be considered, for example, as an ordered list of executable instructions for implementing logical functions, and may be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device).
[0178] It should be understood that various parts of the present application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the above embodiment method can be completed by instructing the relevant hardware through a program, which can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.
[0179] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing module, or each unit may exist physically separately, or two or more units may be integrated into a single module. The aforementioned integrated modules may be implemented in the form of hardware or in the form of software functional modules. If the aforementioned integrated modules are implemented in the form of software functional modules and sold or used as independent products, they may also be stored in a computer-readable storage medium. The storage medium may be a read-only memory, a magnetic disk, or an optical disk, etc.
[0180] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily conceive of various modifications or substitutions within the technical scope disclosed in this application, and such modifications or substitutions should be included within the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A software product delivery method based on robotic process automation (RPA) and artificial intelligence (AI), the method being applied to a software product delivery platform, characterized in that: The method comprises: Obtaining basic information of pending orders and sales contracts corresponding to the pending orders from a customer relationship management (CRM) system using a first RPA robot; Output the basic information and obtain the deployment environment corresponding to the order to be shipped input by the shipping applicant based on the basic information; Obtaining a target image and a screenshot of a pre-check result uploaded by the shipment applicant, wherein the target image carries information about a client machine that meets the deployment environment, and the screenshot of the pre-check result includes a result of a legitimacy check performed on the client machine corresponding to the to-be-shipped order according to a pre-check script, wherein the legitimacy check is used to verify whether the client machine meets product deployment requirements; Sending the client machine information identified from the target image and the screenshot of the pre-check result to a first reviewer for review, and receiving the software deployment authorization file uploaded by the first reviewer after the review is passed; sending the client machine information identified from the target image and the screenshot of the pre-check result to the first reviewer for review includes: when the target image is a QR code, sending the client machine information identified from the QR code and the screenshot of the pre-check result to the first reviewer for review; when the target image is not a QR code, sending the client machine information identified from the target image based on optical character recognition (OCR) and the screenshot of the pre-check result to the first reviewer for review; The information to be shipped is packaged to generate a deployment package, and the deployment package is sent to the customer corresponding to the order to be shipped for software product deployment, wherein the information to be shipped includes the basic information, the deployment environment, the target image, the screenshot of the pre-check result and the software deployment authorization file.
2. The method according to claim 1, characterized in that The receiving of the software deployment authorization file uploaded by the first reviewer after review and approval includes: Determine whether there is a third-party supplier under the sales contract; If the third-party supplier does not exist, the self-developed software deployment authorization file uploaded by the first reviewer after review and approval is received; If the third-party supplier exists, the third-party software deployment authorization file uploaded by the first reviewer after approval is received.
3. The method according to claim 1, characterized in that The basic information includes at least one of the following: Shipping application identifier, customer name, deployment type, order number, shipping applicant, shipping applicant's delivery address, and product information of at least one software product; The product information includes product identification, product activation time and product expiration time.
4. The method according to claim 3, characterized in that When the information to be shipped further includes software deployment configuration information corresponding to each product identifier, before packaging the information to be shipped to generate a deployment package, the method further includes: Based on the second RPA robot, software deployment configuration information corresponding to each product identifier in the basic information is obtained from the software service platform, wherein the software deployment configuration information includes a process image file, a configuration image file, service image information, and a model image file.
5. The method according to claim 3, characterized in that The sending of the deployment package to the customer corresponding to the order to be shipped to deploy the software product includes: The deployment package is sent to the delivery address of the shipping applicant so that the shipping applicant can send the deployment package to the customer corresponding to the order to be shipped for software product deployment.
6. The method according to claim 1, wherein Before packaging the information to be shipped to generate a deployment package, the method further includes: The information to be shipped is sent to a second reviewer for review, and after the review is passed, the information to be shipped is packaged to generate a deployment package.
7. The method according to any one of claims 1 to 6, characterized in that After packaging the information to be shipped to generate a deployment package, the method further includes: Acquire the software product deployment progress of the customer and synchronize the software product deployment progress to the CRM.
8. A software product delivery device based on robotic process automation (RPA) and artificial intelligence (AI), which is applied to a software product delivery platform and is characterized by: The device comprises: A first acquiring unit is configured to acquire basic information of an order to be shipped and a sales contract corresponding to the order to be shipped from a customer relationship management (CRM) system based on a first RPA robot; an output unit, configured to output the basic information; A second acquiring unit is configured to acquire a deployment environment corresponding to the order to be shipped input by the shipping applicant based on the basic information; a third acquisition unit, configured to acquire a target image and a screenshot of a pre-check result uploaded by the shipment applicant, wherein the target image carries information about a client machine that meets the deployment environment, and the screenshot of the pre-check result includes a result of a legitimacy check performed on the client machine corresponding to the to-be-shipped order according to a pre-check script, wherein the legitimacy check is used to check whether the client machine meets product deployment requirements; A first sending unit is configured to send the client machine information identified from the target image and the screenshot of the pre-check result to a first reviewer for review; A receiving unit, configured to receive the software deployment authorization file uploaded by the first reviewer after approval; The packaging unit is used to package the delivery information and generate a deployment package; A second sending unit is configured to send the deployment package to the customer corresponding to the to-be-shipped order for software product deployment, wherein the to-be-shipped information includes the basic information, the deployment environment, the target image, the screenshot of the pre-check result, and the software deployment authorization file; The first sending unit includes: A first sending module is configured to, when the target image is a QR code, send the client machine information identified by the QR code and the screenshot of the pre-check result to the first reviewer for review; The second sending module is used to send the customer machine information recognized by the target image based on optical character recognition (OCR) and the screenshot of the pre-inspection result to the first reviewer for review when the target image is not a QR code.
9. The device according to claim 8, characterized in that The receiving unit includes: a determination module, configured to determine whether a third-party supplier exists according to the sales contract; The receiving module is used to receive the self-developed software deployment authorization file uploaded by the first reviewer after the review is passed when the third-party supplier does not exist, and to receive the third-party software deployment authorization file uploaded by the first reviewer after the review is passed when the third-party supplier exists.
10. An electronic device, characterized in that: The electronic device includes a processor and a memory, wherein the memory stores instructions, and the instructions are loaded and executed by the processor to implement the method according to any one of claims 1 to 7.
11. A computer-readable storage medium storing a computer program, wherein: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Application sales management server system, application sales management system, management controller, and distribution controller
CN112308651A
Software automatic deployment method and computing device
CN117149253A
APP distribution method and device, electronic equipment, storage medium and product
CN119254759A
Artificial intelligence-driven method and system for simplified software deployments
US20210224644A1