Method and apparatus for automatically generating a presentation, system for managing a presentation
Patent Information
- Application Number
- CN202310559351.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-17
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2043-05-17
AI Technical Summary
然而,在许多实际应用中,需要在短时间内完成较高质量的演示文稿的制作,上述制作演示文稿的过程对用户的专业性要求较高,并且往往需要耗费用户较多的时间和精力
[0018]根据本公开提供的方法,可以通过RPA技术和Restful接口调用中的至少一种方式,从外部数据源定时获取外部数据,进而通过预设计算逻辑(例如,数据过滤、数据分类、数据求和等计算逻辑中的一种或多种)对所获取的外部数据进行处理以得到目标数据,从而以自动化的方式得到所需的数据;然后,利用基于Aspose组件开发的转换引擎,基于所述目标数据生成目标演示文稿,所述目标数据被所述转换引擎转换为所述目标演示文稿中的各种元素(例如,图表、表格、文本等元素中的一种或多种)。通过上述步骤可以实现高效、自动化、准确的演示文稿制作。
Smart Images

Figure CN116610827B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and more specifically, to a method, apparatus, computing device, computer-readable storage medium, and computer program product for automatically generating presentations. Furthermore, this disclosure also relates to a system for managing presentations. Background Technology
[0002] As society becomes increasingly information-based, presentations have become an important part of people's work and life in many fields, such as work reports, financial services, product promotion, project bidding, and management consulting.
[0003] In related technologies, when creating presentations, users need to manually acquire data from external data sources (e.g., databases, websites) or rely on their own experience to provide the necessary data. Furthermore, the data acquisition process often requires manual verification, analysis, and calculation to ultimately create suitable presentation elements (e.g., charts, tables, text). However, in many practical applications, high-quality presentations need to be created within a short timeframe. The aforementioned presentation creation process demands a high level of expertise from users and often consumes significant time and effort. Moreover, manual data processing can easily lead to errors in the resulting presentations. Summary of the Invention
[0004] In view of this, the present disclosure provides a method, apparatus, computing device, computer-readable storage medium, and computer program product for automatically generating presentations to alleviate, mitigate, or even eliminate the aforementioned problems.
[0005] According to one aspect of this disclosure, a method for automatically generating presentations is provided, comprising: periodically acquiring external data from an external data source using at least one of RPA technology and RESTful API calls; processing the acquired external data using preset calculation logic to obtain target data, the preset calculation logic including at least one of the following: data filtering, data classification, and data summation; and generating a target presentation based on the target data using a conversion engine developed based on Aspose components, the conversion engine being configured to convert the target data into at least one of the following elements in the target presentation: charts, tables, and text.
[0006] According to some embodiments of this disclosure, the external data source includes a first data source, and the step of periodically obtaining external data from the external data source through at least one of RPA technology and RESTful interface calls includes: simulating the user's operation steps of obtaining corresponding data from the first data source through RPA technology, and obtaining first data from the first data source as the external data at a first frequency.
[0007] According to some embodiments of this disclosure, the external data source includes a second data source, and the step of periodically obtaining external data from the external data source through at least one of RPA technology and RESTful interface calls includes: using a RESTful interface to obtain second data from the second data source as the external data at a second frequency through interface calls.
[0008] According to some embodiments of this disclosure, the external data source includes a first data source and a second data source, and the step of periodically obtaining external data from the external data source through at least one of RPA technology and RESTful interface calls includes: simulating the user's operation steps of obtaining corresponding data from the first data source through RPA technology, obtaining first data from the first data source at a first frequency; and obtaining second data from the second data source at a second frequency through interface calls using a RESTful interface; wherein the first data and the second data are referred to as the external data.
[0009] According to some embodiments of this disclosure, generating a target presentation based on the target data using a conversion engine developed based on the Aspose component includes: using the conversion engine to refresh the target data into a preset presentation to generate the target presentation.
[0010] According to another aspect of this disclosure, an apparatus for automatically generating presentations is provided, the apparatus comprising: a data acquisition module configured to periodically acquire external data from an external data source via at least one of RPA technology and RESTful interface calls; a data processing module configured to process the acquired external data through preset calculation logic to obtain target data, the preset calculation logic including at least one of the following: data filtering, data classification, and data summation; and a presentation generation module configured to generate a target presentation based on the target data using a conversion engine developed based on Aspose components, the conversion engine being configured to convert the target data into at least one of the following elements in the target presentation: charts, tables, and text.
[0011] According to another aspect of this disclosure, a system for managing presentations is provided, the system comprising: an interaction module configured to interact with a user to receive or provide presentations to the user; a data acquisition module configured to acquire external data from an external data source and process the acquired external data through preset calculation logic to obtain target data, the preset calculation logic including at least one of the following: data filtering, data classification, and data summation; a presentation rendering module configured to generate a target presentation based on the target data using a conversion engine developed based on Aspose components, the conversion engine being configured to convert the target data into at least one of the following elements in the target presentation: charts, tables, and text; and a presentation management module configured to store user-uploaded presentations and generated presentations, and to extract corresponding thumbnails from each presentation for display to the user.
[0012] According to some embodiments of this disclosure, the system further includes: a version management module, which is configured to set different version numbers for presentations with different names, and to perform version verification when a user uploads a presentation through the interaction module. When there is a file with the same name as the presentation to be uploaded by the user in the presentation management module, the system asks the user whether they need to merge the two or rename the presentation to be uploaded by the user.
[0013] According to some embodiments of this disclosure, the system integrates Elasticsearch, and the presentation management module is further configured to: extract the content of the stored presentations to create corresponding documents in Elasticsearch, so that users can search for the required presentations in real time.
[0014] According to some embodiments of this disclosure, the system further includes a task management module, which is configured to: utilize different thread pools to execute upload and download tasks respectively; utilize a caching component to manage task progress and cache task information; and encapsulate tasks for creating and deleting documents in Elasticsearch in real time into messages and submit them to a message queue for user processing; wherein the caching component includes any one of the following: Redis, MemCache; and the message queue includes any one of the following: Kafka, RocketMQ, and RabbitMQ.
[0015] According to another aspect of this disclosure, a computing device is provided, comprising: a memory configured to store computer-executable instructions; and a processor configured to perform any of the methods provided according to the foregoing aspects of this disclosure when the computer-executable instructions are executed by the processor.
[0016] According to another aspect of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions that, when executed, perform any of the methods provided according to the foregoing aspects of this disclosure.
[0017] According to yet another aspect of this disclosure, a computer program product is provided, including computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, perform any of the methods provided according to the foregoing aspects of this disclosure.
[0018] According to the method provided in this disclosure, external data can be periodically acquired from an external data source using at least one of RPA technology and RESTful API calls. The acquired external data is then processed using preset computational logic (e.g., one or more of data filtering, data classification, data summation, etc.) to obtain target data, thereby automatically obtaining the required data. Then, a conversion engine developed based on Aspose components is used to generate a target presentation based on the target data. The target data is converted by the conversion engine into various elements (e.g., one or more of charts, tables, text, etc.) in the target presentation. These steps enable efficient, automated, and accurate presentation creation.
[0019] These and other aspects of this disclosure will be clear from the embodiments described below, and will be elucidated with reference to the embodiments described below. Attached Figure Description
[0020] In the following description of exemplary embodiments in conjunction with the accompanying drawings, further details, features, and advantages of the present disclosure are disclosed, in which:
[0021] Figure 1 The illustrations illustrate example scenarios in which the technical solutions provided according to some embodiments of this disclosure can be applied;
[0022] Figure 2 An example flowchart illustrating a method for automatically generating presentations according to some embodiments of the present disclosure is shown schematically;
[0023] Figure 3 Schematic illustration Figure 2 A schematic diagram illustrating the principle of the method for automatically generating presentations;
[0024] Figure 4 An example block diagram illustrating an apparatus for automatically generating presentations according to some embodiments of the present disclosure is shown schematically;
[0025] Figure 5An example block diagram of a system for managing presentations according to some embodiments of the present disclosure is illustrated schematically;
[0026] Figure 6 An example block diagram of a system for managing presentations according to other embodiments of the present disclosure is shown schematically;
[0027] Figure 7 An example block diagram of a system for managing presentations according to yet another embodiment of the present disclosure is illustrated schematically;
[0028] Figure 8 This schematically illustrates the overall architecture of an investment bank pitchbook management system according to some embodiments of the present disclosure;
[0029] Figure 9 Schematic illustration Figure 8 Example block diagram of the various services provided by the investment bank's Pitchbook management system;
[0030] Figure 10 An example system is illustrated, which includes an example computing device representing one or more systems and / or devices that can implement the various technologies described herein. Detailed Implementation
[0031] Several embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings to enable those skilled in the art to implement the technical solutions of this disclosure. The technical solutions of this disclosure can be embodied in many different forms and for many different purposes, and should not be limited to the embodiments set forth herein. These embodiments are provided to make the technical solutions of this disclosure clear and complete, but the described embodiments do not limit the scope of protection of this disclosure.
[0032] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted as having meanings consistent with their meanings in the relevant field and / or the context of this specification, and will not be interpreted in an idealized or overly formal sense unless expressly defined herein.
[0033] Before detailing the embodiments of this disclosure, some related concepts will first be explained.
[0034] 1. RPA: Robotic Process Automation is a business process automation technology based on software robots and artificial intelligence (AI). By combining intelligent robots with actual business scenarios, it can simulate the operation of users on computers, thereby assisting users to complete repetitive and procedural tasks.
[0035] 2. Aspose component: namely Aspose.Slides for Java, is a Microsoft... The management API enables Java applications to operate without Microsoft's support. Reading and writing in the case of Documentation. Aspose.Slides for Java is the first and only one to provide management... Aspose.Slides for Java is a component for document functionality. It provides many key features such as managing text, shapes, tables, and animations; adding audio and video to presentations; previewing presentations; and exporting presentations to SVG, PDF, and other formats.
[0036] 3. Investment Banks: Investment banks are a type of financial institution that contrasts with commercial banks. They are non-bank financial institutions that primarily engage in securities issuance, underwriting, trading, corporate restructuring, mergers and acquisitions, investment analysis, venture capital, and project financing. They are major financial intermediaries in the capital market.
[0037] 4. Pitchbook: This is a project proposal issued by an investment bank for a client's proposed capital operation project.
[0038] Figure 1 The illustration depicts an example scenario 100 where the technical solutions provided according to some embodiments of this disclosure can be applied. For example... Figure 1 As shown, scenario 100 may include user 110 (e.g., a person manually collecting data from an external data source), terminal device 120 (e.g., a computer), terminal device 130 (e.g., a tablet), network 140, and remote facility 150. As an example, remote facility 150 includes server 151 and optionally a database device 152 for storing presentation-related data; these servers or devices can communicate via network 140. Remote facility 150 can be considered an external data source.
[0039] For example, user 110 uses terminal device 120 to obtain various data (including but not limited to text, images, etc.) required for creating a presentation from remote facility 150 via network 140. RPA technology trains an intelligent robot (e.g., it can be deployed on terminal device 120) through this operation by user 110 on terminal device 120, and then uses the trained intelligent robot to simulate the process of the user obtaining the various data required for creating the presentation. It should be noted that in example scenario 100, user 110 can also use terminal device 130 to obtain various data required for creating a presentation from remote facility 150 via network 140. Accordingly, RPA technology trains an intelligent robot (e.g., it can be deployed on terminal device 130) through this operation by user 110 on terminal device 130, and then uses the trained intelligent robot to simulate the process of user 110 obtaining the various data required for creating the presentation.
[0040] In addition to utilizing RPA technology, alternatively or additionally, RESTful interfaces deployed on terminal devices 120 or 130 can be used to retrieve various data required for creating presentations from remote facility 150 via interface calls. RESTful is a design style and development approach for web applications, based on HTTP, and can be defined using XML or JSON formats. RESTful is suitable for scenarios where mobile internet companies use it as a business interface to enable third-party OTT (Over The Top) services to access mobile network resources, bypassing traditional operators to provide various video and data services based on the open internet.
[0041] It should be noted that, considering the updates and modifications of data by external data sources in real-world scenarios, and / or the need to obtain more data, the process of obtaining external data from external data sources can be performed periodically (e.g., daily, weekly, monthly, quarterly, or even annually).
[0042] Next, terminal device 120 or terminal device 130 can process the acquired external data through preset calculation logic to obtain target data. The preset calculation logic includes at least one of the following: data filtering, data classification, and data summation. The preset calculation logic can be implemented by a corresponding program (e.g., a Java program or a program written in another applicable language) deployed on terminal device 120 or terminal device 130.
[0043] Then, terminal device 120 or terminal device 130 can utilize a conversion engine developed based on Aspose components to generate a target presentation based on the target data. The conversion engine is configured to convert the target data into at least one of the following elements in the target presentation: charts, tables, and text. For example, terminal device 120 or terminal device 130 can utilize the conversion engine to generate various elements in the target presentation from the target data, including but not limited to charts, tables, and text. Charts may include, for example, bar charts, line charts, pie charts, etc. Depending on actual needs, these elements may include features specified by user 110, such as the logo or name of user 110's company.
[0044] In this disclosure, server 151 in remote facility 150 can be a single server or a server cluster, and database device 152 in remote facility 150 can store various data required for creating presentations. Exemplarily, user 110 can access remote facility 150 via a web page through terminal device 120 or terminal device 130. Alternatively, user can communicate with remote facility 150 through a client installed on terminal device 120 or terminal device 130 to obtain various data required for creating presentations. Optionally, server 151 can also run other applications and store other data. For example, server 151 may include multiple virtual hosts for running different applications and providing different services.
[0045] In this disclosure, terminal devices 120 and 130 can be various types of devices, such as mobile phones, tablets, laptops, in-vehicle devices, etc. Clients can be deployed on terminal devices 120 and 130. These clients can be used to perform task-related operations (e.g., initiating or assigning tasks) and optionally provide other services, and can take any of the following forms: locally installed applications, applets accessed via other applications, web applications accessed via a browser, etc. User 110 can view the information presented by the client and perform corresponding interactive operations through the input / output interfaces of terminal devices 120 and 130. Optionally, terminal devices 120 and 130 can be integrated with server 151.
[0046] In this disclosure, the database device 152 can be considered as an electronic filing cabinet, i.e., a place to store electronic files, where users can perform operations such as adding, querying, updating, and deleting data in the files. A "database" is a collection of data stored together in a certain way, which can be shared by multiple objects, has the lowest possible redundancy, and is independent of application programs.
[0047] Furthermore, in this disclosure, network 140 can be a wired network connected via a cable, fiber optic cable, or a wireless network such as 2G, 3G, 4G, 5G, Wi-Fi, Bluetooth, ZigBee, Li-Fi, etc.
[0048] Figure 2 An example flowchart illustrating a method for automatically generating presentations according to some embodiments of the present disclosure (hereinafter referred to as presentation generation method 200 for brevity) is shown. Exemplarily, presentation generation method 200 can be... Figure 1 The terminal device 120 shown is used for implementation, but this is not a limitation.
[0049] Specifically, in step 210, external data can be periodically retrieved from an external data source using at least one of RPA technology and RESTful API calls. Depending on the application scenario, the external data source can be different. For example, in the financial field, the external data source can be the data source required for creating an investment banking pitchbook, including but not limited to Wind data terminals, Dealogic websites, and the China Securities Regulatory Commission website. Taking Wind data terminals as an example, RPA technology can be used to retrieve the required financial data (e.g., bond data, including but not limited to bond prices, bond types, issuer ratings, issuance size, and maturity) from the Wind data terminal deployed on terminal device 120. Alternatively, the above method of retrieving external data can be accomplished through RESTful API calls. Alternatively, data obtained through RPA technology and data obtained through RESTful API calls can be combined as the external data.
[0050] In step 220, the acquired external data can be processed by preset calculation logic to obtain target data. The preset calculation logic includes at least one of the following: data filtering, data classification, and data summation. For example, data filtering may include operations such as removing or filling missing values, and filtering data (e.g., obtaining data that meets preset conditions); data classification may include classification operations based on different criteria such as numerical value or data type. Depending on the specific application, the preset calculation logic may also include other logics besides the above, such as more complex mathematical operation logic (e.g., calculating the median, mode, etc.), which is not limited in this disclosure.
[0051] In step 230, a conversion engine developed based on Aspose components can be used to generate a target presentation based on the target data. The conversion engine is configured to convert the target data into at least one of the following elements in the target presentation: charts, tables, and text. Those skilled in the art should understand that, depending on the specific application area and user needs, the types, numbers, and distribution positions of elements contained in different pages of the target presentation may vary, and this disclosure does not impose any limitations on this.
[0052] It should be noted that, in addition to the above functions, the conversion engine can also be used to read and write presentations, extract thumbnails of different resolutions, convert Excel spreadsheet data and RESTful API data into presentation elements such as charts, tables, pie charts, line charts, and text, as well as merge presentations (i.e., merge multiple presentations into one) and merge preview (online merge preview of multiple presentations). Furthermore, as needed, the conversion engine can also be used to implement linked conversion of characteristic elements of the user's institution. For example, when drawing a chart ranking securities company underwriting, the conversion engine can, through parameter control, uniformly draw the institution's logo below each bar chart in the presentation, and / or set the bar representing the institution to a color consistent with the institution's characteristics.
[0053] For example, the transformation engine can be developed based on the Aspose.Slides and Aspose.Cells components. The transformation engine can include a data reading module and a data transformation module. For example, the data reading module can include one or more of the following functions: 1) Encapsulate a general cell model and cell reading methods for multiple scenarios to meet the needs of different scenarios, such as reading different data columns and / or identifying the role of special columns (because the source data table may have many columns, and in some scenarios it is necessary to read some columns, and in the same scenario or other scenarios some columns have special uses that need to be identified); 2) Encapsulate a general presentation shape index structure (Shape indicates the shape of the index) to obtain the shape index structure of each page in the corresponding presentation. In addition, for example, the data conversion module may include one or more of the following functions: 1) Encapsulate data graph conversion logic such as bar charts, pie charts, and line charts, generate graphs based on source data, and adaptively switch the graph color of the corresponding data according to specified color switching rules and / or associate logo graphics with the data of the bar chart; 2) Encapsulate table-type data graph conversion logic, for example, adaptively add or delete tables according to the amount of data and / or switch the cell color of the corresponding data according to specified colors; 3) Encapsulate text-type automatic refresh logic to realize automatic text refresh and / or switch the text color according to specified colors.
[0054] pass Figure 2 The presentation generation method 200 shown can obtain external data from an external data source periodically through at least one of RPA technology and RESTful interface calls. Then, it processes the obtained external data through preset calculation logic to obtain target data, thereby obtaining the required data in an automated manner. Then, it uses a conversion engine developed based on Aspose components to generate a target presentation based on the target data. The target data is converted by the conversion engine into various elements (e.g., one or more of charts, tables, text, etc.) in the target presentation, thereby completing the presentation production efficiently, automatically, and accurately.
[0055] The following is through Figure 3 To further explain Figure 2 The principle behind presentation generation method 200 shown. For example... Figure 3As shown, external data can be periodically retrieved from external data source 310 (e.g., data source Source 1, data source Source 2, ..., and data source Source N) using at least one of RPA technology and RESTful API calls. Then, the retrieved external data can be processed using preset calculation logic (including at least one of data filtering, data classification, and data summation) to obtain target data. Subsequently, a transformation engine developed based on Aspose components is used to generate a target presentation based on the target data. The transformation engine is configured to convert the target data into various elements (e.g., ...) within the target presentation. Figure 3 (The charts and text shown).
[0056] In some embodiments, the external data source includes a first data source, and the step of periodically obtaining external data from the external data source through at least one of RPA technology and RESTful interface calls includes: simulating the user's operation steps of obtaining corresponding data from the first data source through RPA technology, and obtaining first data from the first data source as the external data at a first frequency.
[0057] In some embodiments, the external data source includes a second data source, and the method of periodically obtaining external data from the external data source through at least one of RPA technology and RESTful interface calls includes: using a RESTful interface to obtain second data from the second data source as the external data at a second frequency through interface calls.
[0058] In some embodiments, the external data source includes a first data source and a second data source, and the step of periodically obtaining external data from the external data source through at least one of RPA technology and RESTful interface calls includes: simulating the user's operation steps of obtaining corresponding data from the first data source through RPA technology, obtaining first data from the first data source at a first frequency; and obtaining second data from the second data source at a second frequency through interface calls using a RESTful interface; wherein the first data and the second data are referred to as the external data.
[0059] It should be noted that, similar to the description of external data sources above, the first and second data sources can be various types of data sources depending on the application scenario. For example, in the financial field, the first and second data sources can be data sources required for creating investment banking pitchbooks, including but not limited to Wind data terminals, Dealogic websites, and the China Securities Regulatory Commission website. In this application, the first and second data sources can be the same data source or different data sources. Furthermore, depending on the specific application, the first and second frequencies can be the same or different, and they can be measured in daily, weekly, monthly, quarterly, or even yearly units. Additionally, it should be noted that the three methods described above for periodically acquiring external data from external data sources can all be executed automatically in a pipeline manner.
[0060] In some embodiments, generating a target presentation based on the target data using a conversion engine developed based on Aspose components includes: using the conversion engine to refresh the target data onto a preset presentation to generate the target presentation. The preset presentation can be various user-designed, created, or uploaded templates, effectively reducing the workload of the conversion engine. For example, the preset presentation may contain pre-set elements such as tables, and the conversion engine can refresh the corresponding text data onto the corresponding table elements.
[0061] Figure 4 An example block diagram of an apparatus for automatically generating presentations (hereinafter referred to as presentation generation apparatus 400 for brevity) according to some embodiments of the present disclosure is illustrated schematically. Exemplarily, presentation generation apparatus 400 may be deployed in... Figure 1 On the terminal device 120 shown. (As shown) Figure 4 As shown, the presentation generation device 400 includes a data acquisition module 410, a data processing module 420, and a presentation generation module 430.
[0062] Specifically, the data acquisition module 410 can be configured to periodically acquire external data from an external data source using at least one of RPA technology and RESTful interface calls; the data processing module 420 can be configured to process the acquired external data using preset calculation logic to obtain target data, wherein the preset calculation logic includes at least one of the following: data filtering, data classification, and data summation; and the presentation generation module 430 can be configured to generate a target presentation based on the target data using a conversion engine developed based on Aspose components, wherein the conversion engine is configured to convert the target data into at least one of the following elements in the target presentation: charts, tables, and text.
[0063] It should be understood that the presentation generation device 400 can be implemented in software, hardware, or a combination of both. Multiple different modules in the device can be implemented in the same software or hardware structure, or a module can be implemented by multiple different software or hardware structures.
[0064] Furthermore, the presentation generation device 400 can be used to implement the presentation generation method 200 described above, the details of which have been described in detail above and will not be repeated here for the sake of brevity. Additionally, this device can have the same features and advantages as the corresponding method described.
[0065] Figure 5 An example block diagram of a system for managing presentations (hereinafter referred to as management system 500 for brevity) according to some embodiments of the present disclosure is illustrated schematically. Exemplarily, management system 500 may be deployed on... Figure 1 On the terminal device 120 shown. (As shown) Figure 5 As shown, the management system 500 includes an interaction module 510, a data acquisition module 520, a presentation drawing module 530, and a presentation management module 540.
[0066] Specifically, the interaction module 510 can be configured to interact with the user to receive or provide a presentation; the data acquisition module 520 can be configured to acquire external data from an external data source and process the acquired external data through preset calculation logic to obtain target data, wherein the preset calculation logic includes at least one of the following: data filtering, data classification, and data summation; the presentation drawing module 530 can be configured to generate a target presentation based on the target data using a conversion engine developed based on Aspose components, wherein the conversion engine is configured to convert the target data into at least one of the following elements in the target presentation: charts, tables, and text; and the presentation management module 540 can be configured to store user-uploaded presentations and generated presentations, and extract corresponding thumbnails from each presentation to display to the user.
[0067] It should be understood that the management system 500 can be implemented in software, hardware, or a combination of both. Multiple different modules in the device can be implemented in the same software or hardware structure, or a module can be implemented by multiple different software or hardware structures.
[0068] The management system 500 can interact with users to receive or provide presentations, and to improve information display efficiency, extract relevant thumbnails from various presentations to display to users during the interaction process.
[0069] Figure 6 An example block diagram of a system for managing presentations (hereinafter referred to as management system 600 for brevity) according to other embodiments of this disclosure is illustrated schematically. Exemplarily, management system 600 may be deployed on... Figure 1 On the terminal device 120 shown. (As shown) Figure 6 As shown, the management system 600 includes an interaction module 610, a data acquisition module 620, a presentation creation module 630, a presentation management module 640, and a version management module 650. Among them, the interaction module 610, data acquisition module 620, presentation creation module 630, and presentation management module 640 can respectively interact with the modules described above. Figure 5 The interactive module 510, data acquisition module 520, presentation drawing module 530, and presentation management module 540 described are the same, and will not be repeated here.
[0070] Specifically, the version management module 650 can be configured to set different version numbers for presentations with different names, and to perform version verification when a user uploads a presentation through the interaction module. If a file with the same name as the presentation to be uploaded by the user exists in the presentation management module, the user is asked whether they need to merge the two or rename the presentation to be uploaded.
[0071] It should be understood that the management system 600 can be implemented in software, hardware, or a combination of both. Multiple different modules in the device can be implemented in the same software or hardware structure, or a module can be implemented by multiple different software or hardware structures.
[0072] The 600 management system can perform version verification on user-uploaded presentations to effectively identify version errors (e.g., the same file is uploaded repeatedly by the user, or the user incorrectly names different presentations with the same name) and take appropriate countermeasures.
[0073] In some embodiments, the management system 500 integrates Elasticsearch, and the presentation management module 540 is further configured to extract the content of stored presentations to create corresponding documents in Elasticsearch, allowing users to search for the required presentations in real time. Elasticsearch is a distributed, highly scalable, and real-time search and data analysis engine that easily enables the searching, analysis, and exploration of large amounts of data. The implementation principle of Elasticsearch mainly involves the following steps: First, the user submits data to the Elasticsearch database. Then, the corresponding sentences are segmented by a word segmentation controller, and their weights and segmentation results are stored in the Elasticsearch database. When the user searches for data, the results are ranked and scored according to their weights, and then the results are presented to the user. Integrating Elasticsearch into the management system 500 allows users to quickly find the required presentations from massive amounts of files.
[0074] Figure 7 An example block diagram of a system for managing presentations (hereinafter referred to as management system 700 for brevity) according to further embodiments of the present disclosure is illustrated. Exemplarily, management system 700 may be deployed on... Figure 1 On the terminal device 120 shown. (As shown) Figure 7 As shown, the management system 700 includes an interaction module 710, a data acquisition module 720, a presentation rendering module 730, a presentation management module 740, and a task management module 750. Among them, the interaction module 710, data acquisition module 720, presentation rendering module 730, and presentation management module 740 can respectively interact with the modules described above. Figure 5 The interactive module 510, data acquisition module 520, presentation drawing module 530, and presentation management module 540 described are the same, and will not be repeated here.
[0075] Specifically, the task management module 750 can be configured to use different thread pools to execute upload and download tasks separately; utilize a caching component for task progress management and caching task information; and encapsulate tasks for real-time creation and deletion of documents in Elasticsearch into messages and submit them to a message queue for user processing. The caching component includes any one of the following: Redis, MemCache; and the message queue includes any one of the following: Kafka, RocketMQ, and RabbitMQ. Using different thread pools to execute upload and download tasks separately effectively isolates different types of tasks and improves the utilization efficiency of corresponding processing resources.
[0076] MemCache is a distributed high-speed caching system that significantly improves the access speed of large websites that frequently access the database. It is particularly suitable for managing the progress of presentation generation tasks and caching related task information (e.g., thumbnails of generated presentations). Redis (RemoteDictionary Server) is a key-value store with extremely high read and write performance. Redis periodically writes updated data to disk or appends modification operations to an append-only log file, and implements master-slave synchronization. Kafka is a high-throughput distributed publish-subscribe messaging system that can handle all action stream data from consumers on a website. RocketMQ is a pure Java, distributed, queue-based open-source message middleware that supports transactional messages, ordered messages, batch messages, timed messages, and message backtracking. RabbitMQ is an open-source message broker software (also known as message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP).
[0077] It should be understood that the management system 700 can be implemented in software, hardware, or a combination of both. Multiple different modules in the device can be implemented in the same software or hardware structure, or a module can be implemented by multiple different software or hardware structures.
[0078] The 700 management system enables efficient management of presentations, allowing users to easily and quickly upload, download, and preview them.
[0079] Figure 8 This illustration schematically depicts the overall architecture of an investment banking Pitchbook management system (hereinafter referred to as Pitchbook system 800 for simplicity) according to some embodiments of this disclosure. Exemplarily, Pitchbook system 800 can be deployed on... Figure 1 On the terminal device 120 shown.
[0080] like Figure 8 As shown, users can access the Pitchbook system via terminal devices 811 or 812 using the corresponding domain name. First, the Nginx cluster performs load balancing on the web service side (i.e.,...). Figure 8 The Pitchbook-web side (as shown) completes SSO login authentication, and then the gateway distributes traffic to the backend core service (i.e., Figure 8The Pitchbook-service shown is integrated into the backend core service, which uses Nacos as the registry and configuration center. It also integrates a company-level permission authentication system for permission management and inter-service authentication. A conversion engine developed based on Aspose components can be used to manage presentations. An RPA data collector acquires the external data needed to create the Pitchbook and stores it on a public disk (820). The conversion engine reads the acquired external data, performs analysis and calculations, and refreshes it onto the presentation template to automatically generate user-usable materials. Additionally, in... Figure 8 In the example shown, Redis is integrated as a distributed cache 830, and Kafka (i.e.) is integrated. Figure 8 The message queue (860) shown is used to decouple the various modules. Elasticsearch is integrated to build a full-text search center (850). The data persistence layer (840) uses a MySQL relational database, file storage uses object storage (870), and logs are integrated with LogEasy (880). Additionally... Figure 8 Two pipelines are shown: an RPA pipeline and a data platform pipeline (e.g., a pipeline that retrieves data via a RESTful interface to generate a presentation), which respectively retrieve data from an external data source (in... Figure 8 The examples shown demonstrate obtaining the required data from Wind Data Terminal, Dealogic website, and the China Securities Regulatory Commission website.
[0081] Figure 9 Schematic illustration Figure 8 Example block diagram of the various services provided by the investment bank's Pitchbook management system. For example... Figure 9 As shown, the Pitchbook system 800 offers many core Pitchbook capabilities. The following sections will detail these capabilities.
[0082] Access control can be divided into user access control, role access control, and directory access control to manage the permissions of users, functions, page elements, and data.
[0083] Configuration management: This includes, for example, configuring download quotas and security levels. For instance, a daily download quota for presentations can be configured, and different presentations can be categorized into corresponding security levels. Additionally, the security level in the download limit can be configured to determine whether a particular presentation will consume a download quota.
[0084] RPA data collector: It is configured with a data retrieval process that simulates the behavior of users browsing external data sources (e.g., Wind terminal). The data retrieval process is automated through scheduled tasks, thereby replacing manual data retrieval with an automated process and reducing repetitive work.
[0085] Material management: This includes uploading, browsing, downloading, and deleting materials (i.e., presentations). Specifically:
[0086] (1) Material Upload: Users select the material file to be uploaded and can specify the contributor, confidentiality level, and version description. When submitting the upload, the backend encapsulates the uploaded content into an asynchronous task and assigns it to a thread pool for execution (this process can call the task management module mentioned above). The thread pool will call the file upload processing flow, extract thumbnails and original images for each page in the uploaded presentation according to different resolutions (this process can call the conversion engine mentioned above), and can store the material file and extracted images in object storage. Basic material information can be stored in a MySQL relational database. At the same time, the content of the presentation can be extracted (this process can call the conversion engine mentioned above) and a corresponding Document can be created in ElasticSearch (this process can call the full-text search center 850 mentioned above) to enable real-time searching after the material is uploaded.
[0087] (2) Material Browsing: Materials can be browsed by directory based on recommended sorting, update time, page views, downloads, and whether automatic updates are enabled. The list page can be displayed in various formats, such as one row with two columns, one row with three columns, and one row with four columns. Each format can display thumbnails at different resolutions. For example, the one row with two columns and the details page can have the highest resolution. The details page can simulate the browsing experience of a real presentation, and the original images can use the highest resolution pictures.
[0088] (3) Material Download: This function can be combined with the above description of configuration management capabilities to read the corresponding configuration to calculate the user's download quota usage and whether the current download is restricted. The download methods can be varied, including single file download and multi-file merge download;
[0089] (4) Material deletion: For example, it can include single deletion and batch deletion. This function can be associated with shopping cart deletion (if the material to be deleted is added to the shopping cart by the user, then the material in the shopping cart must be deleted), document deletion in Elasticsearch, source file deletion in object storage, and deletion of basic material information in relational database.
[0090] Version Management: For example, materials can be managed by name according to directory, meaning materials with the same name in the same directory will have different version numbers. Version verification can be performed when uploading materials (see the description of the version management module above). If a file with the same name exists in this directory, the user can be prompted whether to merge versions or rename the material. For material browsing, the latest version of materials can be viewed from various perspectives. Users can update, delete, etc., at the material level and version level through the corresponding material version management interface. Additionally or alternatively, a version calendar function can be provided on the material details page, allowing users to view the daily material version status.
[0091] The PPT conversion engine, developed based on the Aspose component, is used to read and write PPT files, extract thumbnails at different resolutions, convert Excel spreadsheet data and RESTful API data into commonly used PPT graphics such as charts, tables, pie charts, line charts, and text, as well as PPT merging and downloading (merging multiple PPTs into one PPT file) and merged preview (online merged preview of multiple PPT files). Depending on actual needs, as mentioned above, it can also support the linked conversion of characteristic elements of the user's organization. For example, when creating a chart ranking securities company underwriting, the conversion engine can control parameters to uniformly display the organization's logo below each bar chart in the presentation, and / or set the bar representing the organization to a color consistent with the organization's characteristics.
[0092] Task Management: For example, thread pools, Redis caching, and Kafka message queues can be used to perform task management functions, including task encapsulation, submission, progress management, failure retries, and cancellation rollback. The thread pool can be divided into upload and download thread pools to execute upload and merge download tasks respectively. Redis is responsible for task progress management and caching task information. During upload and deletion, the tasks of creating and deleting Documents in Elasticsearch are encapsulated into messages and submitted to Kafka, where consumers process these tasks. Taking batch upload as an example, during the upload process, a unique ticket for the upload task can be obtained by calling the task ticket interface. The task ticket is generated using a corresponding algorithm (e.g., the snowflake algorithm) to ensure the uniqueness of the distributed ID. When batch upload is triggered, the backend encapsulates the upload task based on the task ticket and material information, submits the task to the thread pool for execution, and manages the task progress and writes detailed information (including source files) of the upload task in Redis. During the upload process, progress updates and queries can be performed in real time. When a task fails abnormally, users can choose to cancel and roll back the task (and roll back the task information in Redis), or choose to retry (e.g., only retry uploading failed files; materials that have already been successfully uploaded in this task will not be uploaded again). On the corresponding interactive page (e.g., a web page), a floating layer can be provided to display the corresponding tasks. The floating layer displays the real-time status and progress of each task. After a task is successful, this information can be displayed to the user, and the corresponding task can be deleted from the floating layer.
[0093] Directory management: For example, this may include directory content editing and directory recommendation sorting. Directory content editing may include adding, deleting, modifying, and querying directories, as well as sorting directories; directory recommendation sorting can sort the materials under a specified directory, and the list of materials displayed on the Pitchbook homepage can be displayed according to dimensions such as recommended sort (i.e., the order specified for directory recommendation sorting), update time, number of views, number of downloads, and whether it is automatically updated.
[0094] Automated Asset Factory: This refers to a process where external data is collected via RPA, analyzed and calculated, and then automatically generated into assets (not manually drawn) using a conversion engine based on templates. An automated asset factory can include three pipelines: RPA, a data platform, and a hybrid pipeline. The RPA pipeline is the process of generating automated assets from externally collected data using RPA analysis and calculations; the data platform pipeline is the process of automatically generating assets from data obtained through API calls (e.g., RESTful API calls) using the data platform; and the hybrid pipeline is the process of simultaneously using RPA and the data platform to obtain data from external data sources, and then analyzing and calculating the obtained data to automatically generate assets. For example, different pipelines can be invoked based on different templates to automatically generate assets.
[0095] Log management: For example, user operation logs can be managed, such as providing functions for recording, viewing, and querying user operation logs. Operation logs can be implemented using AOP technology, encapsulating the cross-cutting logic of different operations into aspects, thereby decoupling business code from logging code.
[0096] Shopping Cart: Essentially an upgraded version of a favorites folder. Users can add materials to the cart as needed. The cart offers features such as batch deletion, batch download, all download, online preview, adding chapter pages, dragging and dropping materials for sorting, and basic information display. Batch download merges multiple selected files into one file in the order they were selected; all download merges all files in the cart into one file in the default order; online preview allows users to preview multiple merged files online as a single file; adding chapter pages brings up a pop-up with chapter page templates after the user clicks the "Add Chapter Page" button. This pop-up provides users with commonly used presentation cover, table of contents, chapter pages, and back cover templates from their organization, allowing users to select the appropriate template and add it to the cart.
[0097] In addition to the above features, the Pitchbook system 800 may also provide other features, including but not limited to full-text search and user points management.
[0098] Figure 10 An example system is illustrated, including an example computing device 1000 representing one or more systems and / or devices that can implement the various technologies described herein. The computing device 1000 may be, for example, a server, a device associated with a server, a system-on-a-chip, and / or any other suitable computing device or computing system. (Refer to above) Figure 4 The presentation generation apparatus 400 described may take the form of a computing device 1000. Alternatively, the presentation generation apparatus 400 may be implemented as a computer program in the form of an application 1016.
[0099] like Figure 10 The example computing device 1000 shown includes a processing system 1011, one or more computer-readable media 1010, and one or more I / O interfaces 1013 that are communicatively coupled to each other. Although not shown, the computing device 1000 may also include a system bus or other data and command transfer system that couples the various components to each other. The system bus may include any or a combination of different bus architectures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any of the various bus architectures. Various other examples, such as control and data lines, are also conceived.
[0100] Processing system 1011 represents the functionality of performing one or more operations using hardware. Therefore, processing system 1011 is illustrated as including hardware elements 1014 that can be configured as processors, function blocks, etc. This may include application-specific integrated circuits (ASICs) or other logic devices formed using one or more semiconductors in the hardware. Hardware element 1014 is not limited by the materials in which it is formed or the processing mechanism employed therein. For example, a processor may consist of semiconductors and / or transistors (e.g., integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically executable instructions.
[0101] Computer-readable medium 1010 is illustrated as including memory / storage device 1015. Memory / storage device 1015 represents a memory / storage capacity associated with one or more computer-readable media. Memory / storage device 1015 may include volatile media (such as random access memory (RAM)) and / or non-volatile media (such as read-only memory (ROM), flash memory, optical disk, magnetic disk, etc.). Memory / storage device 1015 may include fixed media (e.g., RAM, ROM, fixed hard disk drive, etc.) and removable media (e.g., flash memory, removable hard disk drive, optical disk, etc.). Computer-readable medium 1010 may be configured in various other ways as further described below.
[0102] One or more I / O interfaces 1013 represent functions that allow users to input commands and information to the computing device 1000 using various input devices and optionally also allow information to be presented to the user and / or other components or devices using various output devices. Examples of input devices include keyboards, cursor control devices (e.g., mice), microphones (e.g., for voice input), scanners, touch functionality (e.g., capacitive or other sensors configured to detect physical touch), cameras (e.g., capable of detecting non-touch-related movements as gestures using visible or invisible wavelengths (such as infrared frequencies), etc. Examples of output devices include display devices (e.g., projectors), speakers, printers, network interface cards, haptic-responsive devices, etc. Therefore, the computing device 1000 can be configured to support user interaction in various ways as further described below.
[0103] The computing device 1000 also includes an application 1016. The application 1016 may be, for example, a software instance of the presentation generation device 400, and may implement the techniques described herein in combination with other elements in the computing device 1000.
[0104] This document describes various technologies within the general context of software and hardware components or program modules. Generally, these modules include routines, programs, elements, components, data structures, etc., that perform specific tasks or implement specific abstract data types. As used herein, the terms "module," "function," and "component" generally refer to software, firmware, hardware, or a combination thereof. The technologies described herein are characterized as platform-independent, meaning that these technologies can be implemented on a variety of computing platforms with various processors.
[0105] Implementations of the described modules and technologies may be stored on or transmitted across some form of computer-readable medium. The computer-readable medium may include a variety of media accessible by the computing device 1000. By way of example and not limitation, the computer-readable medium may include "computer-readable storage media" and "computer-readable signal media".
[0106] In contrast to simple signal transmission, carrier waves, or signals themselves, a "computer-readable storage medium" refers to a medium and / or device capable of persistently storing information, and / or a tangible storage device. Therefore, a computer-readable storage medium refers to a non-signal-bearing medium. Computer-readable storage media include hardware such as volatile and non-volatile, removable and non-removable media and / or storage devices implemented using methods or techniques suitable for storing information (such as computer-readable instructions, data structures, program modules, logic elements / circuits, or other data). Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, Digital Universal Disc (DVD) or other optical storage devices, hard disks, cassette tapes, magnetic tapes, disk storage devices or other magnetic storage devices, or other storage devices, tangible media, or articles of art suitable for storing desired information and accessible by a computer.
[0107] "Computer-readable signal medium" refers to a signal-bearing medium configured to transmit instructions, such as via a network, to computing device 1000. A signal medium typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, data signal, or other transmission mechanism. Signal media also include any information transmission medium. The term "modulated data signal" refers to a signal in which one or more of its characteristics are set or altered to encode information. By way of example and not limitation, communication media include wired media such as wired networks or direct connections, and wireless media such as acoustic, RF, infrared, and other wireless media.
[0108] As previously described, hardware element 1014 and computer-readable medium 1010 represent instructions, modules, programmable device logic, and / or fixed device logic implemented in hardware, which in some embodiments can be used to implement at least some aspects of the techniques described herein. Hardware elements may include components of integrated circuits or systems-on-a-chip, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and other implementations or other hardware devices in silicon. In this context, hardware elements can serve as processing devices for executing program tasks defined by instructions, modules, and / or logic embodied by the hardware element, and as hardware devices for storing instructions for execution, such as the previously described computer-readable storage medium.
[0109] The foregoing combinations can also be used to implement the various techniques and modules described herein. Therefore, software, hardware, or program modules and other program modules can be implemented as one or more instructions and / or logic embodied on some form of computer-readable storage medium and / or by one or more hardware elements 1014. The computing device 1000 can be configured to implement specific instructions and / or functions corresponding to the software and / or hardware modules. Thus, for example, by using the computer-readable storage medium and / or hardware elements 1014 of the processing system, modules can be implemented at least partially in hardware as modules executable as software by the computing device 1000. Instructions and / or functions can be executable / operable by one or more articles of art (e.g., one or more computing devices 1000 and / or processing systems 1011) to implement the techniques, modules, and examples described herein.
[0110] In various embodiments, the computing device 1000 can be configured in various ways. For example, the computing device 1000 can be implemented as a computer-type device, including personal computers, desktop computers, multi-screen computers, laptop computers, netbooks, etc. The computing device 1000 can also be implemented as a mobile device, including mobile devices such as mobile phones, portable music players, portable gaming devices, tablet computers, multi-screen computers, etc. The computing device 1000 can also be implemented as a television-type device, including devices with or connected to a generally large screen in a leisure viewing environment. These devices include televisions, set-top boxes, game consoles, etc.
[0111] The techniques described herein can be supported by these various configurations of computing device 1000, and are not limited to specific examples of the techniques described herein. Functionality can also be implemented, wholly or partially, on cloud 1020 using distributed systems, such as platform 1022 as described below.
[0112] Cloud 1020 includes and / or represents platform 1022 for resource 1024. Platform 1022 abstracts the underlying functionality of the hardware (e.g., server) and software resources of cloud 1020. Resource 1024 may include applications and / or data that can be used when performing computer processing on a server located remotely from computing device 1000. Resource 1024 may also include services provided via the Internet and / or via subscriber networks such as cellular or Wi-Fi networks.
[0113] Platform 1022 can abstract resources and functions to connect computing device 1000 to other computing devices. Platform 1022 can also be used to abstract resource hierarchy to provide a corresponding level of hierarchy for any encountered needs for resource 1024 implemented via platform 1022. Therefore, in interconnect device embodiments, the implementation of the functions described herein can be distributed throughout system 1000. For example, functions can be implemented partly on computing device 1000 and partly through platform 1022, which abstracts the functions of cloud 1020.
[0114] It should be understood that, for clarity, embodiments of this disclosure have been described with reference to different functional units. However, it will be apparent that, without departing from this disclosure, the functionality of each functional unit may be implemented in a single unit, in multiple units, or as part of other functional units. For example, functionality described as being performed by a single unit may be performed by multiple different units. Therefore, references to a particular functional unit are considered merely as references to the appropriate unit used to provide the described functionality, and not as indicating a strict logical or physical structure or organization. Thus, this disclosure may be implemented in a single unit, or may be physically and functionally distributed among different units and circuits.
[0115] It will be understood that although the terms first, second, third, etc., may be used herein to describe various devices, elements, components, or parts, these devices, elements, components, or parts should not be limited by these terms. These terms are used only to distinguish one device, element, component, or part from another device, element, component, or part.
[0116] Although this disclosure has been described in conjunction with some embodiments, it is not intended to be limited to the specific forms set forth herein. Rather, the scope of this disclosure is limited only by the appended claims. Additionally, although individual features may be included in different claims, these may be advantageously combined, and inclusion in different claims does not imply that such a combination of features is not feasible and / or advantageous. The order of features in the claims does not imply that the features must be in any particular order of their operation. Furthermore, in the claims, the word "comprising" does not exclude other elements, and the terms "a" or "an" do not exclude a plurality. Reference numerals in the claims are provided only by way of explicit example and should not be construed as limiting the scope of the claims in any way.
[0117] It should be understood that, for clarity, embodiments of this disclosure have been described with reference to different functional units. However, it will be apparent that, without departing from this disclosure, the functionality of each functional unit may be implemented in a single unit, in multiple units, or as part of other functional units. For example, functionality described as being performed by a single unit may be performed by multiple different units. Therefore, references to a particular functional unit are considered merely as references to the appropriate unit used to provide the described functionality, and not as indicating a strict logical or physical structure or organization. Thus, this disclosure may be implemented in a single unit, or may be physically and functionally distributed among different units and circuits.
[0118] This disclosure provides a computer-readable storage medium having computer-readable instructions stored thereon, which, when executed, implement the above-described method for automatically generating presentations.
[0119] This disclosure provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computing device to perform the method for automatically generating presentations provided in the various alternative implementations described above.
[0120] By studying the accompanying drawings, the disclosure, and the appended claims, those skilled in the art can understand and implement variations of the disclosed embodiments in practicing the claimed subject matter. In the claims, the word "comprising" does not exclude other elements or steps, and "a" or "an" does not exclude a plurality. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used advantageously.
Claims
1. A method for automatically generating presentations, characterized in that, The method includes: By combining RPA technology and RESTful interface calls, external data is periodically retrieved from at least two different types of external data sources. The RPA technology is used to simulate a user retrieving first external data from a first external data source without an open interface at a first frequency, and the RESTful interface calls are used to retrieve second external data from a second external data source that supports interface access at a second frequency. The acquired external data is processed using a combination of data filtering, data classification, and data summation logic to obtain the target data. Data filtering removes missing values and data that do not meet preset conditions; data classification divides the filtered data according to preset dimensions; and data summation performs a cumulative operation on the classified data along a specified dimension. Using a conversion engine developed based on Aspose components, the target data is refreshed into a preset presentation to generate a target presentation. The conversion engine is configured to convert the target data into a combination of charts, tables, and text elements in the target presentation. The preset presentation contains user-specified format features, and the conversion engine supports the association of organizational characteristic elements through parameter control.
2. A device for automatically generating presentations, characterized in that, The device includes: The data acquisition module is configured to periodically acquire external data from at least two different types of external data sources through a combination of RPA technology and Restful interface calls. The RPA technology is used to simulate a user acquiring first external data from a first external data source without an open interface at a first frequency, and the Restful interface calls are used to acquire second external data from a second external data source that supports interface access at a second frequency. The data processing module is configured to process acquired external data using a combination of data filtering, data classification, and data summation logic to obtain target data. Data filtering removes missing values and data that do not meet preset conditions; data classification divides the filtered data according to preset dimensions; and data summation performs a cumulative operation on the classified data along a specified dimension. The presentation generation module is configured to use a conversion engine developed based on the Aspose component to refresh the target data into a preset presentation to generate a target presentation. The conversion engine is configured to convert the target data into a combination of charts, tables, and text elements in the target presentation. The preset presentation contains user-specified format features, and the conversion engine supports the association of organizational characteristic elements through parameter control.
3. A system for managing presentations, characterized in that, The system includes: The interaction module is configured to interact with the user to receive or provide presentations to the user; The data acquisition module is configured to acquire external data from external data sources and process the acquired external data through a combination of data filtering, data classification, and data summation logic to obtain target data. Among them, data filtering is used to remove missing values and data that do not meet preset conditions, data classification is used to divide the filtered data according to preset dimensions, and data summation is used to perform cumulative operations on the classified data according to specified dimensions. The presentation rendering module is configured to use a conversion engine developed based on Aspose components to refresh the target data onto a preset presentation to generate a target presentation. The conversion engine is configured to convert the target data into a combination of charts, tables, and text elements in the target presentation. The preset presentation contains user-specified formatting features, and the conversion engine supports parameter control to associate and display organizational-specific elements. The presentation management module is configured to store user-uploaded presentations and generated presentations, and to extract corresponding thumbnails from each presentation for display to the user.
4. The system according to claim 3, characterized in that, The system also includes: The version management module is configured to set different version numbers for presentations with different names, and to perform version verification when a user uploads a presentation through the interactive module. If a file with the same name as the presentation to be uploaded by the user exists in the presentation management module, the user is asked whether they need to merge the two or rename the presentation to be uploaded.
5. The system according to claim 3, characterized in that, The system integrates Elasticsearch, and the presentation management module is further configured as follows: Extract the content of the stored presentations to create corresponding documents in Elasticsearch, allowing users to search for the presentations they need in real time.
6. The system according to claim 5, characterized in that, The system also includes: The task management module is configured as follows: Use different thread pools to execute upload and download tasks separately; Utilize caching components for task progress management and caching task information; and Encapsulate the tasks of creating and deleting documents in Elasticsearch in real time into messages and submit them to a message queue for user processing; The caching component includes any one of the following: Redis, MemCache; and The message queue includes any of the following: Kafka, RocketMQ, and RabbitMQ.
7. A computing device, characterized in that, The computing device includes: Memory, which is configured to store computer-executable instructions; A processor configured to execute the method of claim 1 when the computer-executable instructions are executed by the processor.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions that, when executed, perform the method according to claim 1.
9. A computer program product, characterized in that, The computer program product includes computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, perform the method according to claim 1.
Citation Information
Patent Citations
File online preview method, device and system, equipment and storage medium
CN111680005A
One-key generation method based on power grid statistical report
CN113642299A
