WO2019218454A1 - Subscription report generation method and apparatus, computer device and storage medium - Google Patents

Subscription report generation method and apparatus, computer device and storage medium Download PDF

Info

Publication number
WO2019218454A1
WO2019218454A1 PCT/CN2018/096910 CN2018096910W WO2019218454A1 WO 2019218454 A1 WO2019218454 A1 WO 2019218454A1 CN 2018096910 W CN2018096910 W CN 2018096910W WO 2019218454 A1 WO2019218454 A1 WO 2019218454A1
Authority
WO
WIPO (PCT)
Prior art keywords
report
subscription
identifier
module
thread
Prior art date
Application number
PCT/CN2018/096910
Other languages
French (fr)
Chinese (zh)
Inventor
李泳章
张川
方小伟
吴壮伟
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2019218454A1 publication Critical patent/WO2019218454A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Definitions

  • the present application relates to a subscription report generation method, apparatus, computer device and storage medium.
  • the existing report data management platform can centrally manage and maintain massive report data of multiple users.
  • the data management platform can filter and integrate the data that the user needs to subscribe to and view according to the user's subscription requirements, and then send it to the user to facilitate the user to view the data.
  • a subscription report generation method is provided.
  • a method for generating a subscription report includes:
  • the subscription report corresponding to the report identifier is an attached report
  • the report data and the report template corresponding to the report identifier are searched;
  • the mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module
  • the accessory module is sent to the mechanism assembly thread, and the mechanism assembly thread is configured to receive the accessory module for assembly to generate a subscription report.
  • a subscription report generating device includes:
  • a list obtaining module configured to obtain a list of subscription reports, and read a report identifier from a list of subscription reports
  • the report information searching module is configured to: when the subscription report corresponding to the report identifier is an attached report, search for report data and a report template corresponding to the report identifier;
  • a thread quantity obtaining module configured to search for an organization processing thread and an organization assembly thread corresponding to the report identifier, and obtain a thread number of the processing thread of the mechanism
  • a task allocation module configured to split the report data into a report module according to the report template and the number of threads, generate an accessory module generating task according to the report module, and allocate the accessory module generating task to the mechanism
  • the mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module
  • the report assembly module is configured to send the accessory module to the mechanism assembly thread, and the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  • a computer device comprising a memory and one or more processors having stored therein computer readable instructions, the computer readable instructions being executable by the processor to cause the one or more processors to execute The following steps:
  • the subscription report corresponding to the report identifier is an attached report
  • the report data and the report template corresponding to the report identifier are searched;
  • the mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module
  • the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  • One or more non-transitory computer readable storage mediums storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the steps of:
  • the subscription report corresponding to the report identifier is an attached report
  • the report data and the report template corresponding to the report identifier are searched;
  • the mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module
  • the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  • FIG. 1 is an application scenario diagram of a subscription report generation method in accordance with one or more embodiments.
  • FIG. 2 is a flow diagram of a method for generating a subscription report in accordance with one or more embodiments.
  • FIG. 3 is a schematic flowchart of a method for generating a subscription report in another embodiment.
  • FIG. 4 is a block diagram of a subscription report generation device in accordance with one or more embodiments.
  • FIG. 5 is a block diagram of a computer device in accordance with one or more embodiments.
  • the subscription report generation method provided by the present application can be applied to the application environment as shown in FIG. 1.
  • the terminal communicates with the server through the network.
  • the server receives the list of the subscription report sent by the terminal, and reads the report identifier from the subscription report list.
  • the server searches for the report data and the report template corresponding to the report identifier, and searches for the report identifier.
  • the corresponding organization processes the thread and the mechanism assembly thread, obtains the number of threads that the mechanism processes the thread, and the server splits the report data into a report module according to the found report template and the number of threads, generates an accessory module generation task according to the report module, and generates the accessory module.
  • the task is assigned to the organization processing thread
  • the server processes the accessory module generation task in the mechanism processing thread to obtain the accessory module, and sends the accessory module to the organization assembly thread, and assembles the accessory module into the subscription report in the organization assembly thread, and the server will The assembly generated report is returned to the terminal.
  • the terminal can be, but is not limited to, various personal computers, notebook computers, smart phones, tablets, and portable wearable devices.
  • the server can be implemented by a separate server or a server cluster composed of multiple servers.
  • a subscription report generation method is provided, which is applied to the server in FIG. 1 as an example, and includes the following steps:
  • Step 210 Obtain a list of subscription reports, and read the report identifier from the list of subscription reports.
  • the server centrally manages the report data of multiple organizations.
  • the system sends a report subscription report request to the server through the organization terminal, and the subscription report request carries the report identifier and subscription time corresponding to the report that needs to be subscribed. And information such as the organization logo.
  • the server After receiving the subscription report request of each user terminal, the server generates a list of the subscription report according to the report identifier and the subscription time in the subscription report request. Specifically, the server may sort the subscription reports in the subscription report list according to the subscription time, or sort the subscription reports in the subscription report list according to the organization identifier corresponding to the report identifier, or may use other sorting manners.
  • the server calculates the processing trigger time of each subscription report according to the subscription time of the subscription report and the preset report processing time, and associates the calculated processing trigger time with the report identifier.
  • the server detects whether there is a subscription report that arrives at the processing trigger time in the subscription list, and reads the report identifier of the subscription report when the subscription report that reaches the processing trigger time is detected.
  • step 220 when the subscription report corresponding to the report identifier is an attached report, the report data and the report template corresponding to the report identifier are searched.
  • the server obtains a list of attachment reports, and the report identifier of the attached report is recorded in the attachment report list.
  • Attachment reports are subscription reports that require report attachments to be generated.
  • the report data is the basic data, and the report attachment is generally a file for analyzing and arranging the report data, such as a pie chart, a histogram or other forms of charts drawn according to the report data, and integrated data of the above various charts.
  • Documents, etc. Report attachments can be, but are not limited to, report images, word documents, PDF documents, and the like.
  • the server finds a consistent report identifier from the list of attachment reports, it determines that the subscription report is an attachment report, and finds the report data and report template corresponding to the report identifier.
  • the report data is the data required to generate the subscription report.
  • Each attachment report has a corresponding report template.
  • the report template can include multiple chart modules, and set the preset position of each chart in the attached report and the corresponding chart. Raw report data.
  • Step 230 Search for the organization processing thread and the organization assembly thread corresponding to the report identifier, and obtain the number of threads that the organization processes the thread.
  • the processing thread is divided according to different organizations, and is divided into multiple processing threads and organization assembly threads.
  • the organization processing thread is an accessory module used in the attachment report, such as a chart module, and the mechanism assembly thread is to assemble the accessory module generated in the processing thread of the organization to generate a final attachment report.
  • the same organization processing thread or organization assembly thread can process an organization's subscription report, and can also process subscription reports from multiple organizations. According to the report identifier, the corresponding organization identifier can be found, and the organization processing thread and the organization assembly thread corresponding to the organization identifier can be found, and the server obtains the number of threads of the found organization processing thread.
  • Step 240 Split the report data into a report module according to the report template and the number of threads, generate an attachment module generation task according to the report module, and allocate the attachment module generation task to the organization processing thread, and the mechanism processing thread is used to perform the accessory module generation task. Process to get the accessory module.
  • the server splits the report data according to the number of charts generated in the report template and the number of threads obtained, and splits the report module with the same number of threads.
  • the server searches for the corresponding original report data according to the divided report module, generates an attachment module generation task according to the original module data corresponding to the report module and the report module, and distributes the attachment module generation task to each organization processing thread for processing.
  • the module task identifier may be generated according to the report identifier, and the task identifiers of the accessory modules generated by the same subscription report are associated with each other.
  • the server obtains the number of threads
  • the number of the to-be-processed tasks of the processing threads of each organization is obtained, and the processing threads of each organization are classified according to the number of tasks to be processed, for example, can be divided into busy, medium, and Three levels of leisure, and can set the default processing level, filter out the processing thread that matches the busy processing level and the preset processing level as the processing thread of the attached report, and count the number of processing threads processed by the mechanism, according to the selected The number of threads processed by the organization splits the report data.
  • the server allocates the accessory module generation task to each organization processing thread, the original report data corresponding to the accessory module is converted and the accessory module is generated in the organization processing thread.
  • Step 250 Send the accessory module to the mechanism assembly thread, and the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  • the server sends the generated accessory module to the organization assembly thread, and the mechanism processing thread carries the task identifier when sending the accessory module to the organization assembly thread.
  • the organization assembly identifier determines whether other accessory modules of the subscription report corresponding to the accessory module have arrived according to the task identifier. If all accessory modules arrive, all the accessory modules that arrive are assembled to generate a subscription report, and the subscription is subscribed. The report is sent to the corresponding user terminal. When the accessory modules are not all arrived, the arriving accessory modules are cached first, and all the accessory modules are completed before the subscription report is assembled.
  • the subscription report is determined to be a non-attachment report, and the report data corresponding to the report identifier is searched, and the report data is directly exported as a subscription report.
  • the report data is split into multiple report modules according to the number of the processing thread and the report template of the corresponding organization of the report identifier, and according to the split report.
  • the module generates an accessory module generation task, allocates it to multiple organization processing threads for synchronization processing, and sends the generated accessory module to the organization assembly thread corresponding to the organization to assemble and generate an attachment report, and modularizes the task for multi-thread collaborative processing, thereby improving
  • the processing efficiency of subscription reports and the speed of subscription report generation reduce data blocking.
  • the subscription report generation method may further include the following steps:
  • Step 260 Find an organization identifier corresponding to the report identifier.
  • the server searches for the organization identifier corresponding to the report identifier, and the organization identifier is used to uniquely identify the organization that subscribes to the report.
  • Step 270 When there is a customized report format corresponding to the organization identifier, generate a report conversion task according to the customized report format and the subscription report.
  • the subscription report generated in the above embodiment is a report in a common data format, such as a word format.
  • different organizations may have different subscription requirements. Some organizations may need to subscribe to reports in image format, and some need to subscribe to reports in PDF format.
  • the server reads the organization's customized report format from the report subscription request, and then sets the organization identifier and the customized report format. Make an associated record.
  • the server searches for a customized report format corresponding to the organization identifier.
  • the report conversion task is generated according to the already assembled subscription report and the customized report format that is found.
  • step 280 the report conversion task is sent to the format conversion thread for processing to obtain a customized attachment report.
  • the format conversion thread is set in the server, and the format conversion thread is specially used for the conversion of the report format.
  • the server sends the generated report conversion task to the format conversion thread for processing, and converts the subscription report into a customized attachment report according to the customized report format in the format conversion thread.
  • the number of format conversion threads can be set according to the number of organizations in the service, or all report conversion tasks can be processed in the same format conversion thread to avoid thread redundancy.
  • step 290 a custom attachment report is added to the subscription report.
  • the server adds the attachment report generated in the format conversion thread to the subscription report generated in the above embodiment, and sends the subscription report with the customized attachment report to the corresponding organization terminal at the subscription time.
  • the server when the server does not find the corresponding customized report format, it indicates that the corresponding organization does not have a custom format requirement, and the server directly sends the assembled report generated by the assembly to the corresponding organization terminal at the subscription time.
  • the report format conversion thread is separately opened in the server. Because the format conversion process of the report may involve the conversion process of the image format, it takes a certain time, and the conversion of the report format has nothing to do with the original report data. Therefore, setting up a report format conversion thread separately for centralized processing can improve the efficiency of report generation.
  • the following steps may be further included: when the subscription report is determined to be a shared report according to the report identifier, the subscription report is encrypted; and the encrypted subscription report is sent.
  • the shared server receiving the first report access link generated by the shared server and corresponding to the encrypted subscription report, and sending the first report access link to the terminal corresponding to the report identifier.
  • the shared report is a report that the subscribing organization can share data with other organizations, and the server adds the report identifier of the report capable of data sharing to the shared list.
  • the server determines whether the report identifier exists in the share list. When the report identifier exists in the share list, it determines that the subscription report is a shared report.
  • the server obtains the preset shared encryption rule, encrypts the subscription report according to the preset shared encryption rule, and sends the encrypted subscription report to the shared server, which may be, but is not limited to, a cloud server sharing the cloud disk.
  • the shared server After receiving the subscription report, the shared server stores the encrypted subscription report, and generates a first report access link of the subscription report according to the storage location.
  • the encrypted subscription report can be viewed and downloaded, and the shared server will The generated first access link is returned to the server, and after receiving the first report access link, the server sends the first report access link to the organization terminal corresponding to the report identifier.
  • the encrypted subscription report can be decrypted according to the pre-agreed decryption rule, and the report view and report download operation can be performed.
  • the user of another organization accesses the first report access link, the user's permission to view and download the operation may be set, and the user with the operation authority may obtain the decryption rule of the subscription report.
  • the server when the server determines that the subscription report is a shared report, the server may directly encrypt and share the subscription report to the shared server, and only send the report access link returned by the shared server to the corresponding organization terminal, and the user Report the report yourself. Therefore, the data transmission amount of the subscription report can be reduced, and the transmission line is blocked when the number of transmissions of the subscription report is too large in the same time period.
  • the method further includes: when the subscription report is determined to be a non-shared report according to the report identifier, generating a subscription email according to the subscription report; and obtaining the data transmission volume of the current subscription email.
  • the data transmission amount exceeds the preset transmission threshold, the amount of the mail data in the current mail sending waiting queue is obtained, and the estimated sending waiting time is calculated according to the mail data amount; the subscription time corresponding to the report identifier is obtained, and the reservation is calculated according to the subscription time.
  • the sending time is long; when the reserved sending time is longer than the estimated sending waiting time, the subscription mail is added to the mail sending waiting queue.
  • the server determines that the subscription report is a non-shared report
  • the server searches for a mail address such as a subscription email address and a mail template corresponding to the organization identifier, and generates a subscription email with the subscription report as an email attachment according to the subscription email address, the mail template, and the like.
  • the server obtains the data transmission amount of the subscription mail currently undergoing the mail transmission, and acquires the preset transmission threshold.
  • the preset transmission threshold is a boundary value of the amount of data transmission when data regulation is required. When the data transmission amount is lower than the preset transmission threshold, the data transmission amount is not saturated, and the delivery of the subscription mail can be continued.
  • the server When the data transmission amount exceeds the preset transmission threshold, the server performs data transmission regulation of the mail transmission.
  • the server obtains the amount of mail data of the subscription mail in the current mail sending waiting queue, and calculates the waiting time for sending the mail in the mail sending waiting queue according to the preset sending time of the unit data amount and the mail data amount.
  • the server searches for the subscription time corresponding to the report identifier, and calculates the reserved transmission duration of the generated subscription email according to the current time and the subscription time, and the reserved transmission duration is the time difference between the subscription time and the current time.
  • the server compares the reserved sending duration of the subscription report with the estimated sending waiting duration of the mail sending waiting queue. When the reserved sending duration is greater than the estimated sending waiting duration, the server adds the subscribed mail to the mail sending waiting queue for transmission. . After adding a subscription message in the mail waiting queue, the subscription time of the subscription mail can be compared with the subscription time of each subscription mail in the mail waiting queue, and the subscription mails are sorted according to the subscription time from front to back, arranged in the order. The first subscription email is sent first.
  • the server is provided with a mail sending waiting queue, and when the amount of the transmitted mail of the centralized sending mail is too large, the newly generated subscription mail is sent to the mail sending waiting queue for waiting to be sent, thereby being able to soothe The amount of data in the current data transmission channel to avoid blocking traffic.
  • the method for generating a subscription report may further include: when the reserved transmission duration is less than the estimated transmission waiting duration, generating a second report access link according to the subscription report, and sending the second report access link to the report identifier corresponding to The terminal inserts the subscription mail into the mail sending waiting queue according to the reserved sending duration.
  • the server determines that the reserved sending duration is less than the estimated sending waiting duration, the server stores the subscription report for storage, for example, it can be stored in a local designated location, or the subscription report can be sent to the shared cloud disk for storage, and the server according to the subscription report.
  • the storage address generates a second report access link, and sends the second report access link to the organization terminal corresponding to the report identifier. Therefore, the user of the organization terminal can obtain the subscription report periodically through the second report access link at the subscription time.
  • the server inserts the subscription mail into the mail sending waiting queue at the position corresponding to the reserved sending waiting time, and waits for the mail sending waiting queue to be sent, so that the user of the organization terminal can still receive the subscription report in the form of mail, thereby improving the user experience.
  • a subscription report generating apparatus including: a list obtaining module 410, a report information searching module 420, a thread number obtaining module 430, a task assigning module 440, and a report assembling module 450. ,among them:
  • the list obtaining module 410 is configured to obtain a list of subscription reports, and read the report identifier from the list of subscription reports.
  • the report information searching module 420 is configured to search for report data and a report template corresponding to the report identifier when the subscription report corresponding to the report identifier is an attached report.
  • the thread quantity obtaining module 430 is configured to search for an organization processing thread and an organization assembly thread corresponding to the report identifier, and obtain the number of threads that the organization processes the thread.
  • the task assignment module 440 is configured to split the report data into a report module according to the report template and the number of threads, generate an attachment module generation task according to the report module, and allocate the attachment module generation task to the organization processing thread, and the mechanism processing thread is used for the attachment.
  • the module generates tasks for processing and gets the accessory module.
  • the report assembly module 450 is configured to send the accessory module to the mechanism assembly thread, and the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  • the subscription report generating apparatus may further include:
  • the organization identifier search module is configured to find the organization identifier corresponding to the report identifier.
  • the conversion task generation module is configured to generate a report conversion task according to the customized report format and the subscription report when there is a customized report format corresponding to the organization identifier.
  • a custom report generation module for sending a report conversion task to a format conversion thread for processing to obtain a customized attachment report.
  • a custom report add module that adds a custom attachment report to a subscription report.
  • the subscription report generating apparatus may further include:
  • the encryption module is configured to encrypt the subscription report when the subscription report is determined to be a shared report according to the report identifier.
  • An encrypted report sending module for sending an encrypted subscription report to a shared server.
  • the report link sending module is configured to receive a first report access link corresponding to the encrypted subscription report generated by the shared server, and send the first report access link to the terminal corresponding to the report identifier.
  • the subscription report generating apparatus may further include:
  • the mail generation module is configured to generate a subscription email according to the subscription report when the subscription report is determined to be a non-shared report according to the report identifier.
  • the transmission quantity acquisition module is configured to acquire the data transmission amount of the current subscription mail.
  • the waiting time estimation module is configured to acquire the amount of mail data in the current mail sending waiting queue when the data transmission amount exceeds the preset transmission threshold, and calculate the estimated sending waiting time according to the mail data amount.
  • the reserved duration calculation module is configured to obtain a subscription time corresponding to the report identifier, and calculate a reserved transmission duration according to the subscription time.
  • the mail adding module is configured to add the subscription mail to the mail sending waiting queue when the reserved sending duration is greater than the estimated sending waiting duration.
  • the subscription report generating apparatus may further include:
  • the second link sending module is configured to: when the reserved sending duration is less than the estimated sending waiting duration, generate a second report access link according to the subscription report, and send the second report access link to the terminal corresponding to the report identifier.
  • the mail insertion module is configured to insert the subscription mail into the mail sending waiting queue according to the reserved sending time.
  • Each of the modules in the above-mentioned subscription report generating apparatus may be implemented in whole or in part by software, hardware, and a combination thereof.
  • Each of the above modules may be embedded in or independent of the processor in the computer device, or may be stored in a memory in the computer device in a software form, so that the processor invokes the operations corresponding to the above modules.
  • a computer device which may be a server, and its internal structure diagram may be as shown in FIG. 5.
  • the computer device includes a processor, memory, network interface, and database connected by a system bus.
  • the processor of the computer device is used to provide computing and control capabilities.
  • the memory of the computer device includes a non-volatile storage medium, an internal memory.
  • the non-volatile storage medium stores an operating system, computer readable instructions, and a database.
  • the internal memory provides an environment for operation of an operating system and computer readable instructions in a non-volatile storage medium.
  • the database of the computer device is used to store related data generated by the subscription report.
  • the network interface of the computer device is used to communicate with an external terminal via a network connection.
  • the computer readable instructions are executed by the processor to implement a subscription report generation method.
  • FIG. 5 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation of the computer device to which the solution of the present application is applied.
  • the specific computer device may It includes more or fewer components than those shown in the figures, or some components are combined, or have different component arrangements.
  • a computer apparatus comprising a memory and a processor, the memory storing computer readable instructions, the processor executing the computer readable instructions to: obtain a list of subscription reports, from a subscription report The report identifier is read in the list; when the subscription report corresponding to the report identifier is an attachment report, the report data and the report template corresponding to the report identifier are searched; the organization processing thread and the organization assembly thread corresponding to the report identifier are searched, and the number of threads that the organization processes the thread is obtained.
  • the report data is split into report modules, and the accessory module generation task is generated according to the report module, and the accessory module generation task is assigned to the mechanism processing thread, and the mechanism processing thread is used to process the accessory module generation task.
  • the accessory module is obtained, and the accessory module is sent to the mechanism assembly thread, and the mechanism assembly thread is used to assemble the accessory module to generate a subscription report.
  • a computer readable storage medium having stored thereon computer readable instructions that, when executed by a processor, implements the steps of: obtaining a list of subscription reports, reading from a list of subscription reports The report identifier is obtained; when the subscription report corresponding to the report identifier is an attachment report, the report data and the report template corresponding to the report identifier are searched; the organization processing thread corresponding to the report identifier and the organization assembly thread are obtained, and the number of threads that the organization processes the thread is obtained; The report template and the number of threads split the report data into a report module, generate an attachment module generation task according to the report module, and assign the attachment module generation task to the organization processing thread, and the mechanism processing thread is used to process the attachment module generation task to obtain an attachment.
  • the module sends the accessory module to the mechanism assembly thread, and the mechanism assembly thread is used to assemble the accessory module to generate a subscription report.
  • Non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM is available in a variety of formats, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronization chain.
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • Synchlink DRAM SLDRAM
  • Memory Bus Radbus
  • RDRAM Direct RAM
  • DRAM Direct Memory Bus Dynamic RAM
  • RDRAM Memory Bus Dynamic RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A subscription report generation method, comprising: acquiring a subscription report list, and reading a report identifier from the subscription report list; when a subscription report corresponding to the report identifier is an attachment report, searching for report data and a report template corresponding to the report identifier; searching for mechanism processing threads and a mechanism assembling thread corresponding to the report identifier to acquire a thread number of the mechanism processing threads; splitting the report data into report modules according to the report template and the thread number, generating an attachment module generation task according to the report modules, and allocating the attachment module generation task to the mechanism processing threads, wherein the mechanism processing threads are used to process the attachment module generation task to obtain an attachment module; and sending the attachment module to the mechanism assembling thread, wherein the mechanism assembling thread is used to assemble the received attachment module so as to generate the subscription report.

Description

订阅报表生成方法、装置、计算机设备和存储介质Subscription report generation method, device, computer device and storage medium
相关申请的交叉引用Cross-reference to related applications
本申请要求于2018年05月16日提交中国专利局,申请号为2018104667281,申请名称为“订阅报表生成方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims to be filed on May 16, 2018, the Chinese Patent Office, the application number is 2018104667281, the priority of the Chinese patent application entitled "Subscription Report Generation Method, Apparatus, Computer Equipment and Storage Media", the entire contents of which are incorporated by reference. Combined in this application.
技术领域Technical field
本申请涉及一种订阅报表生成方法、装置、计算机设备和存储介质。The present application relates to a subscription report generation method, apparatus, computer device and storage medium.
背景技术Background technique
现有的报表数据管理平台能够对多个用户的海量报表数据进行集中管理和维护。现在越来越多的用户都有订阅报表的需求,数据管理平台可以根据用户的订阅需求对用户需要订阅查看的数据进行筛选整合后发送给用户,方便用户进行数据查看。The existing report data management platform can centrally manage and maintain massive report data of multiple users. Nowadays, more and more users have the requirement of subscribing to the report. The data management platform can filter and integrate the data that the user needs to subscribe to and view according to the user's subscription requirements, and then send it to the user to facilitate the user to view the data.
但是,随着报表订阅的需求量越来越大,数据管理平台需要处理的订阅报表的数量也急剧增加,并且,在对订阅报表进行处理时经常需要生成各种格式的附件,当同一时段的数据量过大时经常会遇到数据拥堵的情况,并导致报表处理效率很低。However, as the demand for report subscriptions increases, so does the number of subscription reports that the data management platform needs to process, and it is often necessary to generate attachments in various formats when processing subscription reports. When the amount of data is too large, data congestion is often encountered, and the report processing efficiency is very low.
发明内容Summary of the invention
根据本申请公开的各种实施例,提供一种订阅报表生成方法、装置、计算机设备和存储介质。According to various embodiments disclosed herein, a subscription report generation method, apparatus, computer device, and storage medium are provided.
一种订阅报表生成方法包括:A method for generating a subscription report includes:
获取订阅报表列表,从订阅报表列表中读取报表标识;Obtain a list of subscription reports, and read the report identifier from the list of subscription reports;
当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;When the subscription report corresponding to the report identifier is an attached report, the report data and the report template corresponding to the report identifier are searched;
查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;Finding an organization processing thread and an organization assembly thread corresponding to the report identifier, and acquiring a thread number of the processing thread of the organization;
根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;及Decoding the report data into a report module according to the report template and the number of threads, generating an attachment module generation task according to the report module, and assigning the accessory module generation task to the mechanism processing thread, The mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module; and
将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接 收到所述附件模块进行组装生成订阅报表。The accessory module is sent to the mechanism assembly thread, and the mechanism assembly thread is configured to receive the accessory module for assembly to generate a subscription report.
一种订阅报表生成装置包括:A subscription report generating device includes:
列表获取模块,用于获取订阅报表列表,从订阅报表列表中读取报表标识;a list obtaining module, configured to obtain a list of subscription reports, and read a report identifier from a list of subscription reports;
报表信息查找模块,用于当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;The report information searching module is configured to: when the subscription report corresponding to the report identifier is an attached report, search for report data and a report template corresponding to the report identifier;
线程数量获取模块,用于查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;a thread quantity obtaining module, configured to search for an organization processing thread and an organization assembly thread corresponding to the report identifier, and obtain a thread number of the processing thread of the mechanism;
任务分配模块,用于根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;及a task allocation module, configured to split the report data into a report module according to the report template and the number of threads, generate an accessory module generating task according to the report module, and allocate the accessory module generating task to the mechanism In the processing thread, the mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module; and
报表组装模块,用于将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。The report assembly module is configured to send the accessory module to the mechanism assembly thread, and the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
一种计算机设备,包括存储器和一个或多个处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述一个或多个处理器执行以下步骤:A computer device comprising a memory and one or more processors having stored therein computer readable instructions, the computer readable instructions being executable by the processor to cause the one or more processors to execute The following steps:
获取订阅报表列表,从订阅报表列表中读取报表标识;Obtain a list of subscription reports, and read the report identifier from the list of subscription reports;
当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;When the subscription report corresponding to the report identifier is an attached report, the report data and the report template corresponding to the report identifier are searched;
查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;Finding an organization processing thread and an organization assembly thread corresponding to the report identifier, and acquiring a thread number of the processing thread of the organization;
根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;及Decoding the report data into a report module according to the report template and the number of threads, generating an attachment module generation task according to the report module, and assigning the accessory module generation task to the mechanism processing thread, The mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module; and
将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。Sending the accessory module to the mechanism assembly thread, the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:One or more non-transitory computer readable storage mediums storing computer readable instructions, when executed by one or more processors, cause one or more processors to perform the steps of:
获取订阅报表列表,从订阅报表列表中读取报表标识;Obtain a list of subscription reports, and read the report identifier from the list of subscription reports;
当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;When the subscription report corresponding to the report identifier is an attached report, the report data and the report template corresponding to the report identifier are searched;
查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构 处理线程的线程数量;Finding an organization processing thread and an organization assembly thread corresponding to the report identifier, and acquiring a thread number of the processing thread of the organization;
根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;及Decoding the report data into a report module according to the report template and the number of threads, generating an attachment module generation task according to the report module, and assigning the accessory module generation task to the mechanism processing thread, The mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module; and
将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。Sending the accessory module to the mechanism assembly thread, the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。Details of one or more embodiments of the present application are set forth in the accompanying drawings and description below. Other features and advantages of the present invention will be apparent from the description, drawings and claims.
附图说明DRAWINGS
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings to be used in the embodiments will be briefly described below. Obviously, the drawings in the following description are only some embodiments of the present application, Those skilled in the art can also obtain other drawings based on these drawings without any creative work.
图1为根据一个或多个实施例中订阅报表生成方法的应用场景图。FIG. 1 is an application scenario diagram of a subscription report generation method in accordance with one or more embodiments.
图2为根据一个或多个实施例中订阅报表生成方法的流程示意图。2 is a flow diagram of a method for generating a subscription report in accordance with one or more embodiments.
图3为另一个实施例中订阅报表生成方法的流程示意图。FIG. 3 is a schematic flowchart of a method for generating a subscription report in another embodiment.
图4为根据一个或多个实施例中订阅报表生成装置的框图。4 is a block diagram of a subscription report generation device in accordance with one or more embodiments.
图5为根据一个或多个实施例中计算机设备的框图。FIG. 5 is a block diagram of a computer device in accordance with one or more embodiments.
具体实施方式Detailed ways
为了使本申请的技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。In order to make the technical solutions and advantages of the present application more clear, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the application and are not intended to be limiting.
本申请提供的订阅报表生成方法,可以应用于如图1所示的应用环境中。终端通过网络与服务器进行通信。服务器接收终端发送的订阅报表列表,从订阅报表列表中读取出报表标识,当判断出报表标识对应的订阅报表为附件列表时,服务器查找报表标识对应的报表数据和报表模板,并查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量,服务器根据查找到的报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,服务器在机构处理线程中对附件模块生成任务进行处理得到附件模块,并将附件模块发送至机构组装线程,在机构组装线程中将附件模块组装成订阅报表,服务器将组装生成的订阅报表返回给终端。其中,终端可以但不限于是 各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。The subscription report generation method provided by the present application can be applied to the application environment as shown in FIG. 1. The terminal communicates with the server through the network. The server receives the list of the subscription report sent by the terminal, and reads the report identifier from the subscription report list. When the subscription report corresponding to the report identifier is determined as the attachment list, the server searches for the report data and the report template corresponding to the report identifier, and searches for the report identifier. The corresponding organization processes the thread and the mechanism assembly thread, obtains the number of threads that the mechanism processes the thread, and the server splits the report data into a report module according to the found report template and the number of threads, generates an accessory module generation task according to the report module, and generates the accessory module. The task is assigned to the organization processing thread, the server processes the accessory module generation task in the mechanism processing thread to obtain the accessory module, and sends the accessory module to the organization assembly thread, and assembles the accessory module into the subscription report in the organization assembly thread, and the server will The assembly generated report is returned to the terminal. The terminal can be, but is not limited to, various personal computers, notebook computers, smart phones, tablets, and portable wearable devices. The server can be implemented by a separate server or a server cluster composed of multiple servers.
在其中一个实施例中,如图2所示,提供了一种订阅报表生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:In one embodiment, as shown in FIG. 2, a subscription report generation method is provided, which is applied to the server in FIG. 1 as an example, and includes the following steps:
步骤210,获取订阅报表列表,从订阅报表列表中读取报表标识。Step 210: Obtain a list of subscription reports, and read the report identifier from the list of subscription reports.
服务器对多个机构的报表数据进行集中管理,当用户对报表数据具有订阅需求时,通过机构终端向服务器发送报表订阅报表请求,订阅报表请求中携带需要订阅的报表所对应的报表标识、订阅时间及机构标识等信息。The server centrally manages the report data of multiple organizations. When the user has a subscription requirement for the report data, the system sends a report subscription report request to the server through the organization terminal, and the subscription report request carries the report identifier and subscription time corresponding to the report that needs to be subscribed. And information such as the organization logo.
服务器接收到各个用户终端的订阅报表请求后,根据订阅报表请求中的报表标识和订阅时间生成订阅报表列表。具体地,服务器可以根据订阅时间对订阅报表列表中的订阅报表进行排序,也可以根据报表标识对应的机构标识对订阅报表列表中的订阅报表进行排序,也可以采用其他排序方式。服务器根据订阅报表的订阅时间和预设报表处理时长计算出各订阅报表的处理触发时间,并将计算出的处理触发时间与报表标识进行关联记录。After receiving the subscription report request of each user terminal, the server generates a list of the subscription report according to the report identifier and the subscription time in the subscription report request. Specifically, the server may sort the subscription reports in the subscription report list according to the subscription time, or sort the subscription reports in the subscription report list according to the organization identifier corresponding to the report identifier, or may use other sorting manners. The server calculates the processing trigger time of each subscription report according to the subscription time of the subscription report and the preset report processing time, and associates the calculated processing trigger time with the report identifier.
服务器检测订阅列表中是否存在到达处理触发时间的订阅报表,当检测到到达处理触发时间的订阅报表时,读取订阅报表的报表标识。The server detects whether there is a subscription report that arrives at the processing trigger time in the subscription list, and reads the report identifier of the subscription report when the subscription report that reaches the processing trigger time is detected.
步骤220,当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板。In step 220, when the subscription report corresponding to the report identifier is an attached report, the report data and the report template corresponding to the report identifier are searched.
服务器获取附件报表列表,附件报表列表中记录了附件报表的报表标识。附件报表为需要生成报表附件的订阅报表。报表数据为基础数据,而报表附件一般情况下为对报表数据进行分析整理的文件,如可以为根据报表数据绘制的饼状图、柱状图或其他形式的图表,以及上述各种图表的整合数据文件等。报表附件的可以但不限于是报表图片、word文档、PDF文档等格式。The server obtains a list of attachment reports, and the report identifier of the attached report is recorded in the attachment report list. Attachment reports are subscription reports that require report attachments to be generated. The report data is the basic data, and the report attachment is generally a file for analyzing and arranging the report data, such as a pie chart, a histogram or other forms of charts drawn according to the report data, and integrated data of the above various charts. Documents, etc. Report attachments can be, but are not limited to, report images, word documents, PDF documents, and the like.
当服务器从附件报表列表中查找到一致的报表标识时,则判定订阅报表为附件报表,并查找与报表标识对应的报表数据和报表模板。报表数据为生成订阅报表所需要的数据,每个附件报表均存在与其对应的报表模板,报表模板中可以包括多个图表模块,并设定了附件报表中各图表的预设位置及各图表对应的原始报表数据。When the server finds a consistent report identifier from the list of attachment reports, it determines that the subscription report is an attachment report, and finds the report data and report template corresponding to the report identifier. The report data is the data required to generate the subscription report. Each attachment report has a corresponding report template. The report template can include multiple chart modules, and set the preset position of each chart in the attached report and the corresponding chart. Raw report data.
步骤230,查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量。Step 230: Search for the organization processing thread and the organization assembly thread corresponding to the report identifier, and obtain the number of threads that the organization processes the thread.
服务器中设置有多条订阅报表的处理线程和组装线程。处理线程根据不同的机构进行划分,划分为多条机构处理线程和机构组装线程。机构处理线程是对用于附件报表中的附件模块,如图表模块等,机构组装线程是对在机构处理线程中处理生成的附件模块进行组装生成最终的附件报表。同一机构处理线程或机构组装线程可以处理一个机构的订阅报表,也可以对多个机构 的订阅报表进行处理。根据报表标识可以查找到对应的机构标识,并可以查找到与机构标识对应的机构处理线程和机构组装线程,服务器获取查找到的机构处理线程的线程数量。There are multiple processing threads and assembly threads for the subscription report in the server. The processing thread is divided according to different organizations, and is divided into multiple processing threads and organization assembly threads. The organization processing thread is an accessory module used in the attachment report, such as a chart module, and the mechanism assembly thread is to assemble the accessory module generated in the processing thread of the organization to generate a final attachment report. The same organization processing thread or organization assembly thread can process an organization's subscription report, and can also process subscription reports from multiple organizations. According to the report identifier, the corresponding organization identifier can be found, and the organization processing thread and the organization assembly thread corresponding to the organization identifier can be found, and the server obtains the number of threads of the found organization processing thread.
步骤240,根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块。Step 240: Split the report data into a report module according to the report template and the number of threads, generate an attachment module generation task according to the report module, and allocate the attachment module generation task to the organization processing thread, and the mechanism processing thread is used to perform the accessory module generation task. Process to get the accessory module.
服务器根据报表模板中的需要生成的图表数量及获取到的线程数量,将报表数据进行拆分,拆分为数量与线程数量一致的报表模块。当图表数量大于线程数量时,可以将报表模板中的多个图表模块划分为一个报表模块。服务器根据划分后的报表模块查找对应的原始报表数据,根据报表模块和报表模块对应的原始模块数据生成附件模块生成任务,将附件模块生成任务分配至各机构处理线程中进行处理。The server splits the report data according to the number of charts generated in the report template and the number of threads obtained, and splits the report module with the same number of threads. When the number of charts is greater than the number of threads, you can divide multiple chart modules in a report template into one report module. The server searches for the corresponding original report data according to the divided report module, generates an attachment module generation task according to the original module data corresponding to the report module and the report module, and distributes the attachment module generation task to each organization processing thread for processing.
在生成附件模块生成任务时,可以根据报表标识生成模块任务标识,同一订阅报表对应的附件模块生成任务的任务标识相互之间进行关联记录。When generating an accessory module to generate a task, the module task identifier may be generated according to the report identifier, and the task identifiers of the accessory modules generated by the same subscription report are associated with each other.
在另一个实施例中,当服务器获取到线程数量后,获取各机构处理线程的待处理任务数,根据待处理任务数将各机构处理线程进行忙闲等级划分,如可以划分为忙、中、闲三个等级,并可以设定预设处理等级,筛选出忙闲等级与预设处理等级匹配的机构处理线程作为附件报表的处理线程,统计筛选出的机构处理线程的数量,根据筛选出的机构处理线程的数量将报表数据进行拆分。In another embodiment, after the server obtains the number of threads, the number of the to-be-processed tasks of the processing threads of each organization is obtained, and the processing threads of each organization are classified according to the number of tasks to be processed, for example, can be divided into busy, medium, and Three levels of leisure, and can set the default processing level, filter out the processing thread that matches the busy processing level and the preset processing level as the processing thread of the attached report, and count the number of processing threads processed by the mechanism, according to the selected The number of threads processed by the organization splits the report data.
服务器将附件模块生成任务分配至各机构处理线程中后,在机构处理线程中对附件模块对应的原始报表数据进行转换并生成附件模块After the server allocates the accessory module generation task to each organization processing thread, the original report data corresponding to the accessory module is converted and the accessory module is generated in the organization processing thread.
步骤250,将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。Step 250: Send the accessory module to the mechanism assembly thread, and the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
服务器将生成的附件模块发送至机构组装线程,机构处理线程在向机构组装线程发送附件模块时携带任务标识。机构组装标识接收到附件模块后,根据任务标识判断附件模块对应的订阅报表的其他附件模块是否已到达,若所有附件模块均到达时,将到达的所有附件模块进行组装生成订阅报表,并将订阅报表发送给相应的用户终端。当附件模块并未全都到达时,先将到达的附件模块进行缓存,等待所有附件模块均到达完毕后再进行订阅报表的组装。The server sends the generated accessory module to the organization assembly thread, and the mechanism processing thread carries the task identifier when sending the accessory module to the organization assembly thread. After receiving the accessory module, the organization assembly identifier determines whether other accessory modules of the subscription report corresponding to the accessory module have arrived according to the task identifier. If all accessory modules arrive, all the accessory modules that arrive are assembled to generate a subscription report, and the subscription is subscribed. The report is sent to the corresponding user terminal. When the accessory modules are not all arrived, the arriving accessory modules are cached first, and all the accessory modules are completed before the subscription report is assembled.
在其中一个实施例中,当从附件报表列表中查找不到一致的报表标识时,判定出订阅报表为非附件报表,查找报表标识对应的报表数据,直接将报表数据导出为订阅报表。In one of the embodiments, when the consistent report identifier is not found in the attachment report list, the subscription report is determined to be a non-attachment report, and the report data corresponding to the report identifier is searched, and the report data is directly exported as a subscription report.
在本实施例中,服务器在对附件格式的订阅报表进行处理时,根据报表 标识对应机构的机构处理线程数量和报表模板,将报表数据拆分成多个报表模块,并根据拆分后的报表模块生成附件模块生成任务,分配至多个机构处理线程进行同步处理,并将生成的附件模块发送至机构对应的机构组装线程进行组装生成附件报表,将任务模块化进行多线程协同处理,从而能够提高订阅报表的处理效率和订阅报表生成速度,减少数据阻塞情况。In this embodiment, when the server processes the subscription report in the attachment format, the report data is split into multiple report modules according to the number of the processing thread and the report template of the corresponding organization of the report identifier, and according to the split report. The module generates an accessory module generation task, allocates it to multiple organization processing threads for synchronization processing, and sends the generated accessory module to the organization assembly thread corresponding to the organization to assemble and generate an attachment report, and modularizes the task for multi-thread collaborative processing, thereby improving The processing efficiency of subscription reports and the speed of subscription report generation reduce data blocking.
在其中一个实施例中,如图3所示,订阅报表生成方法还可以包括以下步骤:In one embodiment, as shown in FIG. 3, the subscription report generation method may further include the following steps:
步骤260,查找报表标识对应的机构标识。Step 260: Find an organization identifier corresponding to the report identifier.
服务器查找报表标识对应的机构标识,机构标识用于对订阅报表的机构进行唯一标识。The server searches for the organization identifier corresponding to the report identifier, and the organization identifier is used to uniquely identify the organization that subscribes to the report.
步骤270,当存在与机构标识对应的定制报表格式时,根据定制报表格式和订阅报表生成报表转换任务。Step 270: When there is a customized report format corresponding to the organization identifier, generate a report conversion task according to the customized report format and the subscription report.
不同的机构可能会存在不同的报表订阅需求。上述实施例中生成的订阅报表为通用数据格式的报表,如word格式等。但是不同的机构可能会存在不同订阅需求,有的机构可能需要订阅图片格式的报表,有的需要订阅PDF文件格式的报表。用户终端在向服务器发送报表订阅请求时,会将机构所需定制的数据格式信息添加至报表订阅请求中,服务器从报表订阅请求中读取机构的定制报表格式后,将机构标识与定制报表格式进行关联记录。Different organizations may have different reporting subscription requirements. The subscription report generated in the above embodiment is a report in a common data format, such as a word format. However, different organizations may have different subscription requirements. Some organizations may need to subscribe to reports in image format, and some need to subscribe to reports in PDF format. When the user terminal sends a report subscription request to the server, the customized data format information required by the organization is added to the report subscription request, and the server reads the organization's customized report format from the report subscription request, and then sets the organization identifier and the customized report format. Make an associated record.
服务器查找是否存在与机构标识对应记录的定制报表格式,当查找到对应的定制报表格式时,根据已经组装的订阅报表和查找到的定制报表格式生成报表转换任务。The server searches for a customized report format corresponding to the organization identifier. When the corresponding customized report format is found, the report conversion task is generated according to the already assembled subscription report and the customized report format that is found.
步骤280,将报表转换任务发送至格式转换线程进行处理得到定制附件报表。In step 280, the report conversion task is sent to the format conversion thread for processing to obtain a customized attachment report.
服务器中设置有格式转换线程,格式转换线程专门用于进行报表格式的转换工作。服务器将生成的报表转换任务发送至格式转换线程进行处理,在格式转换线程中根据定制报表格式将订阅报表转换成定制附件报表。格式转换线程的数量可以根据服务的机构数量进行设置,也可以将所有的报表转换任务均在同一格式转换线程中进行处理,避免造成线程冗余。The format conversion thread is set in the server, and the format conversion thread is specially used for the conversion of the report format. The server sends the generated report conversion task to the format conversion thread for processing, and converts the subscription report into a customized attachment report according to the customized report format in the format conversion thread. The number of format conversion threads can be set according to the number of organizations in the service, or all report conversion tasks can be processed in the same format conversion thread to avoid thread redundancy.
步骤290,在订阅报表中添加定制附件报表。In step 290, a custom attachment report is added to the subscription report.
服务器将在格式转换线程中生成的附件报表添加至上述实施例中生成的订阅报表中,将添加有定制附件报表的订阅报表在订阅时间发送给相应的机构终端。The server adds the attachment report generated in the format conversion thread to the subscription report generated in the above embodiment, and sends the subscription report with the customized attachment report to the corresponding organization terminal at the subscription time.
在其中一个实施例中,当服务器没有查找到对应的定制报表格式时,表明对应的机构没有定制格式需求,服务器直接将组装生成的订阅报表在订阅时间发送给相应的机构终端即可。In one of the embodiments, when the server does not find the corresponding customized report format, it indicates that the corresponding organization does not have a custom format requirement, and the server directly sends the assembled report generated by the assembly to the corresponding organization terminal at the subscription time.
在本实施例中,服务器中单独开辟报表格式转换线程,因报表的格式转换过程可能需涉及到图片格式的转换过程,需要花费一定的时间,且报表格式的转换工作与原始的报表数据无关,因此,单独设立报表格式转换线程进行集中处理,能够提高报表的生成效率。In this embodiment, the report format conversion thread is separately opened in the server. Because the format conversion process of the report may involve the conversion process of the image format, it takes a certain time, and the conversion of the report format has nothing to do with the original report data. Therefore, setting up a report format conversion thread separately for centralized processing can improve the efficiency of report generation.
在其中一个实施例中,在订阅报表中添加定制附件报表之后,还可以包括以下步骤:当根据报表标识判断出订阅报表为共享报表时,对订阅报表进行加密处理;将加密后的订阅报表发送至共享服务器;接收共享服务器生成的与加密后的订阅报表对应的第一报表访问链接,将第一报表访问链接发送至报表标识对应的终端。In one embodiment, after adding a customized attachment report in the subscription report, the following steps may be further included: when the subscription report is determined to be a shared report according to the report identifier, the subscription report is encrypted; and the encrypted subscription report is sent. To the shared server; receiving the first report access link generated by the shared server and corresponding to the encrypted subscription report, and sending the first report access link to the terminal corresponding to the report identifier.
共享报表为订阅机构可以与其他机构进行数据共享的报表,服务器将能够进行数据共享的报表的报表标识进行添加至共享列表中。服务器判断报表标识是否存在于共享列表中,当报表标识存在于共享列表中时,判断出订阅报表为共享报表。The shared report is a report that the subscribing organization can share data with other organizations, and the server adds the report identifier of the report capable of data sharing to the shared list. The server determines whether the report identifier exists in the share list. When the report identifier exists in the share list, it determines that the subscription report is a shared report.
服务器获取预设的共享加密规则,根据预设的共享加密规则对订阅报表进行加密处理,并将加密后的订阅报表发送至共享服务器,共享服务器可以但不限于是共享云盘的云服务器等。The server obtains the preset shared encryption rule, encrypts the subscription report according to the preset shared encryption rule, and sends the encrypted subscription report to the shared server, which may be, but is not limited to, a cloud server sharing the cloud disk.
共享服务器接收到订阅报表后,将加密的订阅报表进行存储,并根据存储位置生成订阅报表的第一报表访问链接,用户访问第一报表访问链接时可以查看并下载加密的订阅报表,共享服务器将生成的第一访问链接返回给服务器,服务器接收到第一报表访问链接后,将第一报表访问链接发送至报表标识对应的机构终端。After receiving the subscription report, the shared server stores the encrypted subscription report, and generates a first report access link of the subscription report according to the storage location. When the user accesses the first report access link, the encrypted subscription report can be viewed and downloaded, and the shared server will The generated first access link is returned to the server, and after receiving the first report access link, the server sends the first report access link to the organization terminal corresponding to the report identifier.
机构终端的用户在打开第一报表访问链接时,可以根据事先约定的解密规则对加密的订阅报表解密并进行报表查看和报表下载操作。对于其他机构的用户在访问第一报表访问链接时,可以对用户的查看、下载操作的权限进行设置,具有操作权限的用户可以获取订阅报表的解密规则。When the user of the organization terminal opens the first report access link, the encrypted subscription report can be decrypted according to the pre-agreed decryption rule, and the report view and report download operation can be performed. When the user of another organization accesses the first report access link, the user's permission to view and download the operation may be set, and the user with the operation authority may obtain the decryption rule of the subscription report.
在本实施例中,当服务器判断出订阅报表为共享报表时,服务器可以直接将订阅报表进行加密处理并分享至共享服务器,只将共享服务器返回的报表访问链接发送至相应的机构终端,由用户自行进行报表下载。从而可以减少订阅报表的数据传输量,避免在同一时间段内订阅报表的传输数量过大时造成传输线路阻塞。In this embodiment, when the server determines that the subscription report is a shared report, the server may directly encrypt and share the subscription report to the shared server, and only send the report access link returned by the shared server to the corresponding organization terminal, and the user Report the report yourself. Therefore, the data transmission amount of the subscription report can be reduced, and the transmission line is blocked when the number of transmissions of the subscription report is too large in the same time period.
在其中一个实施例中,在订阅报表中添加定制附件报表之后,还可以包括:当根据报表标识判断出订阅报表为非共享报表时,根据订阅报表生成订阅邮件;获取当前订阅邮件的数据传输量;当数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据邮件数据量计算出预估发送等待时长;获取报表标识对应的订阅时间,根据订阅时间计算预留发 送时长;当预留发送时长大于预估发送等待时长时,将订阅邮件添加至邮件发送等待队列中。In one embodiment, after adding the customized attachment report in the subscription report, the method further includes: when the subscription report is determined to be a non-shared report according to the report identifier, generating a subscription email according to the subscription report; and obtaining the data transmission volume of the current subscription email. When the data transmission amount exceeds the preset transmission threshold, the amount of the mail data in the current mail sending waiting queue is obtained, and the estimated sending waiting time is calculated according to the mail data amount; the subscription time corresponding to the report identifier is obtained, and the reservation is calculated according to the subscription time. The sending time is long; when the reserved sending time is longer than the estimated sending waiting time, the subscription mail is added to the mail sending waiting queue.
当服务器判断出订阅报表为非共享报表时,服务器查找与机构标识对应的订阅邮箱地址,邮件模板等邮件信息,根据订阅邮箱地址、邮件模板等信息生成将订阅报表作为邮件附件的订阅邮件。When the server determines that the subscription report is a non-shared report, the server searches for a mail address such as a subscription email address and a mail template corresponding to the organization identifier, and generates a subscription email with the subscription report as an email attachment according to the subscription email address, the mail template, and the like.
服务器获取当前正在进行邮件传输的订阅邮件的数据传输量,并获取预设传输阈值。预设传输阈值为需要进行数据调控时的数据传输量的分界值。当数据传输量低于预设传输阈值时,数据传输量尚未饱和,可以继续进行订阅邮件的发送。The server obtains the data transmission amount of the subscription mail currently undergoing the mail transmission, and acquires the preset transmission threshold. The preset transmission threshold is a boundary value of the amount of data transmission when data regulation is required. When the data transmission amount is lower than the preset transmission threshold, the data transmission amount is not saturated, and the delivery of the subscription mail can be continued.
当数据传输量超过预设传输阈值时,服务器进行邮件发送的数据传输调控。服务器获取当前邮件发送等待队列中的订阅邮件的邮件数据量,根据预设的单位数据量的发送时长和邮件数据量计算出邮件发送等待队列中的订阅邮件的发送等待时长。服务器查找与报表标识对应的订阅时间,根据当前时间和订阅时间计算出生成的订阅邮件的预留发送时长,预留发送时长为订阅时间与当前时间的时间差值。When the data transmission amount exceeds the preset transmission threshold, the server performs data transmission regulation of the mail transmission. The server obtains the amount of mail data of the subscription mail in the current mail sending waiting queue, and calculates the waiting time for sending the mail in the mail sending waiting queue according to the preset sending time of the unit data amount and the mail data amount. The server searches for the subscription time corresponding to the report identifier, and calculates the reserved transmission duration of the generated subscription email according to the current time and the subscription time, and the reserved transmission duration is the time difference between the subscription time and the current time.
服务器将订阅报表的预留发送时长与邮件发送等待队列的预估发送等待时长进行比较,当预留发送时长大于预估发送等待时长时,服务器将订阅邮件添加至邮件发送等待队列中等待进行发送。在邮件发送等待队列中添加订阅邮件后,可以将订阅邮件的订阅时间与邮件发送等待队列中各个订阅邮件的订阅时间进行比较,按照订阅时间由前至后的顺序将订阅邮件进行排序,排列在先的订阅邮件优先发送。The server compares the reserved sending duration of the subscription report with the estimated sending waiting duration of the mail sending waiting queue. When the reserved sending duration is greater than the estimated sending waiting duration, the server adds the subscribed mail to the mail sending waiting queue for transmission. . After adding a subscription message in the mail waiting queue, the subscription time of the subscription mail can be compared with the subscription time of each subscription mail in the mail waiting queue, and the subscription mails are sorted according to the subscription time from front to back, arranged in the order. The first subscription email is sent first.
在本实施例中,服务器中设置有邮件发送等待队列,可以在集中发送的订阅邮件的传输数据量过大时,将新生成的订阅邮件发送到邮件发送等待队列中进行等待发送,从而能够舒缓当前数据传输通道的数据量,避免造成传输阻塞。In this embodiment, the server is provided with a mail sending waiting queue, and when the amount of the transmitted mail of the centralized sending mail is too large, the newly generated subscription mail is sent to the mail sending waiting queue for waiting to be sent, thereby being able to soothe The amount of data in the current data transmission channel to avoid blocking traffic.
在其中一个实施例中,订阅报表生成方法还可以包括:当预留发送时长小于预估发送等待时长时,根据订阅报表生成第二报表访问链接,将第二报表访问链接发送至报表标识对应的终端;根据预留发送时长将订阅邮件插入邮件发送等待队列中。In one embodiment, the method for generating a subscription report may further include: when the reserved transmission duration is less than the estimated transmission waiting duration, generating a second report access link according to the subscription report, and sending the second report access link to the report identifier corresponding to The terminal inserts the subscription mail into the mail sending waiting queue according to the reserved sending duration.
当服务器判断出预留发送时长小于预估发送等待时长时,服务器将订阅报表进行存储,如可以存储在本地指定位置,也可以将订阅报表发送至共享云盘中进行存储,服务器根据订阅报表的存储地址生成第二报表访问链接,将第二报表访问链接发送至报表标识对应的机构终端。从而保证机构终端的用户能够在订阅时间通过第二报表访问链接定时获取订阅报表。When the server determines that the reserved sending duration is less than the estimated sending waiting duration, the server stores the subscription report for storage, for example, it can be stored in a local designated location, or the subscription report can be sent to the shared cloud disk for storage, and the server according to the subscription report. The storage address generates a second report access link, and sends the second report access link to the organization terminal corresponding to the report identifier. Therefore, the user of the organization terminal can obtain the subscription report periodically through the second report access link at the subscription time.
服务器将订阅邮件插入邮件发送等待队列中与预留发送等待时长对应的 位置处,等待邮件发送等待队列进行发送,从而使得机构终端的用户仍然可以收到邮件形式的订阅报表,提高用户体验。The server inserts the subscription mail into the mail sending waiting queue at the position corresponding to the reserved sending waiting time, and waits for the mail sending waiting queue to be sent, so that the user of the organization terminal can still receive the subscription report in the form of mail, thereby improving the user experience.
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。It should be understood that although the various steps in the flowcharts of FIGS. 2-3 are sequentially displayed as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Except as explicitly stated herein, the execution of these steps is not strictly limited, and the steps may be performed in other orders. Moreover, at least some of the steps in Figures 2-3 may include a plurality of sub-steps or stages, which are not necessarily performed at the same time, but may be performed at different times, these sub-steps or stages The order of execution is not necessarily performed sequentially, but may be performed alternately or alternately with at least a portion of other steps or sub-steps or stages of other steps.
在其中一个实施例中,如图4所示,提供了一种订阅报表生成装置,包括:列表获取模块410、报表信息查找模块420、线程数量获取模块430、任务分配模块440和报表组装模块450,其中:In one embodiment, as shown in FIG. 4, a subscription report generating apparatus is provided, including: a list obtaining module 410, a report information searching module 420, a thread number obtaining module 430, a task assigning module 440, and a report assembling module 450. ,among them:
列表获取模块410,用于获取订阅报表列表,从订阅报表列表中读取报表标识。The list obtaining module 410 is configured to obtain a list of subscription reports, and read the report identifier from the list of subscription reports.
报表信息查找模块420,用于当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板。The report information searching module 420 is configured to search for report data and a report template corresponding to the report identifier when the subscription report corresponding to the report identifier is an attached report.
线程数量获取模块430,用于查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量。The thread quantity obtaining module 430 is configured to search for an organization processing thread and an organization assembly thread corresponding to the report identifier, and obtain the number of threads that the organization processes the thread.
任务分配模块440,用于根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块。The task assignment module 440 is configured to split the report data into a report module according to the report template and the number of threads, generate an attachment module generation task according to the report module, and allocate the attachment module generation task to the organization processing thread, and the mechanism processing thread is used for the attachment. The module generates tasks for processing and gets the accessory module.
报表组装模块450,用于将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。The report assembly module 450 is configured to send the accessory module to the mechanism assembly thread, and the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
在其中一个实施例中,订阅报表生成装置还可以包括:In one embodiment, the subscription report generating apparatus may further include:
机构标识查找模块,用于查找报表标识对应的机构标识。The organization identifier search module is configured to find the organization identifier corresponding to the report identifier.
转换任务生成模块,用于当存在与机构标识对应的定制报表格式时,根据定制报表格式和订阅报表生成报表转换任务。The conversion task generation module is configured to generate a report conversion task according to the customized report format and the subscription report when there is a customized report format corresponding to the organization identifier.
定制报表生成模块,用于将报表转换任务发送至格式转换线程进行处理得到定制附件报表。A custom report generation module for sending a report conversion task to a format conversion thread for processing to obtain a customized attachment report.
定制报表添加模块,用于在订阅报表中添加定制附件报表。A custom report add module that adds a custom attachment report to a subscription report.
在其中一个实施例中,订阅报表生成装置还可以包括:In one embodiment, the subscription report generating apparatus may further include:
加密模块,用于当根据报表标识判断出订阅报表为共享报表时,对订阅 报表进行加密处理。The encryption module is configured to encrypt the subscription report when the subscription report is determined to be a shared report according to the report identifier.
加密报表发送模块,用于将加密后的订阅报表发送至共享服务器。An encrypted report sending module for sending an encrypted subscription report to a shared server.
报表链接发送模块,用于接收共享服务器生成的与加密后的订阅报表对应的第一报表访问链接,将第一报表访问链接发送至报表标识对应的终端。The report link sending module is configured to receive a first report access link corresponding to the encrypted subscription report generated by the shared server, and send the first report access link to the terminal corresponding to the report identifier.
在其中一个实施例中,订阅报表生成装置还可以包括:In one embodiment, the subscription report generating apparatus may further include:
邮件生成模块,用于当根据报表标识判断出订阅报表为非共享报表时,根据订阅报表生成订阅邮件。The mail generation module is configured to generate a subscription email according to the subscription report when the subscription report is determined to be a non-shared report according to the report identifier.
传输量获取模块,用于获取当前订阅邮件的数据传输量。The transmission quantity acquisition module is configured to acquire the data transmission amount of the current subscription mail.
等待时长预估模块,用于当数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据邮件数据量计算出预估发送等待时长。The waiting time estimation module is configured to acquire the amount of mail data in the current mail sending waiting queue when the data transmission amount exceeds the preset transmission threshold, and calculate the estimated sending waiting time according to the mail data amount.
预留时长计算模块,用于获取报表标识对应的订阅时间,根据订阅时间计算预留发送时长。The reserved duration calculation module is configured to obtain a subscription time corresponding to the report identifier, and calculate a reserved transmission duration according to the subscription time.
邮件添加模块,用于当预留发送时长大于预估发送等待时长时,将订阅邮件添加至邮件发送等待队列中。The mail adding module is configured to add the subscription mail to the mail sending waiting queue when the reserved sending duration is greater than the estimated sending waiting duration.
在其中一个实施例中,订阅报表生成装置还可以包括:In one embodiment, the subscription report generating apparatus may further include:
第二链接发送模块,用于当预留发送时长小于预估发送等待时长时,根据订阅报表生成第二报表访问链接,将第二报表访问链接发送至报表标识对应的终端。The second link sending module is configured to: when the reserved sending duration is less than the estimated sending waiting duration, generate a second report access link according to the subscription report, and send the second report access link to the terminal corresponding to the report identifier.
邮件插入模块,用于根据预留发送时长将订阅邮件插入邮件发送等待队列中。The mail insertion module is configured to insert the subscription mail into the mail sending waiting queue according to the reserved sending time.
关于订阅报表生成装置的具体限定可以参见上文中对于订阅报表生成方法的限定,在此不再赘述。上述订阅报表生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。For the specific definition of the subscription report generation device, refer to the above definition of the subscription report generation method, and details are not described herein again. Each of the modules in the above-mentioned subscription report generating apparatus may be implemented in whole or in part by software, hardware, and a combination thereof. Each of the above modules may be embedded in or independent of the processor in the computer device, or may be stored in a memory in the computer device in a software form, so that the processor invokes the operations corresponding to the above modules.
在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储订阅报表生成的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种订阅报表生成方法。In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as shown in FIG. 5. The computer device includes a processor, memory, network interface, and database connected by a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium, an internal memory. The non-volatile storage medium stores an operating system, computer readable instructions, and a database. The internal memory provides an environment for operation of an operating system and computer readable instructions in a non-volatile storage medium. The database of the computer device is used to store related data generated by the subscription report. The network interface of the computer device is used to communicate with an external terminal via a network connection. The computer readable instructions are executed by the processor to implement a subscription report generation method.
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。It will be understood by those skilled in the art that the structure shown in FIG. 5 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation of the computer device to which the solution of the present application is applied. The specific computer device may It includes more or fewer components than those shown in the figures, or some components are combined, or have different component arrangements.
在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机可读指令,该处理器执行计算机可读指令时实现以下步骤:获取订阅报表列表,从订阅报表列表中读取报表标识;当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板;查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量;及根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块,将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。In one of the embodiments, a computer apparatus is provided, comprising a memory and a processor, the memory storing computer readable instructions, the processor executing the computer readable instructions to: obtain a list of subscription reports, from a subscription report The report identifier is read in the list; when the subscription report corresponding to the report identifier is an attachment report, the report data and the report template corresponding to the report identifier are searched; the organization processing thread and the organization assembly thread corresponding to the report identifier are searched, and the number of threads that the organization processes the thread is obtained. And according to the report template and the number of threads, the report data is split into report modules, and the accessory module generation task is generated according to the report module, and the accessory module generation task is assigned to the mechanism processing thread, and the mechanism processing thread is used to process the accessory module generation task. The accessory module is obtained, and the accessory module is sent to the mechanism assembly thread, and the mechanism assembly thread is used to assemble the accessory module to generate a subscription report.
在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令被处理器执行时实现以下步骤:获取订阅报表列表,从订阅报表列表中读取报表标识;当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板;查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量;及根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块,将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。In one embodiment, a computer readable storage medium having stored thereon computer readable instructions that, when executed by a processor, implements the steps of: obtaining a list of subscription reports, reading from a list of subscription reports The report identifier is obtained; when the subscription report corresponding to the report identifier is an attachment report, the report data and the report template corresponding to the report identifier are searched; the organization processing thread corresponding to the report identifier and the organization assembly thread are obtained, and the number of threads that the organization processes the thread is obtained; The report template and the number of threads split the report data into a report module, generate an attachment module generation task according to the report module, and assign the attachment module generation task to the organization processing thread, and the mechanism processing thread is used to process the attachment module generation task to obtain an attachment. The module sends the accessory module to the mechanism assembly thread, and the mechanism assembly thread is used to assemble the accessory module to generate a subscription report.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路 (Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。One of ordinary skill in the art can understand that all or part of the process of implementing the above embodiments can be completed by computer readable instructions, which can be stored in a non-volatile computer. The readable storage medium, which when executed, may include the flow of an embodiment of the methods as described above. Any reference to a memory, storage, database or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. Non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of formats, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronization chain. Synchlink DRAM (SLDRAM), Memory Bus (Rambus) Direct RAM (RDRAM), Direct Memory Bus Dynamic RAM (DRDRAM), and Memory Bus Dynamic RAM (RDRAM).
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above embodiments may be arbitrarily combined. For the sake of brevity of description, all possible combinations of the technical features in the above embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, It is considered to be the range described in this specification.
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。The above-mentioned embodiments are merely illustrative of several embodiments of the present application, and the description thereof is more specific and detailed, but is not to be construed as limiting the scope of the invention. It should be noted that a number of variations and modifications may be made by those skilled in the art without departing from the spirit and scope of the present application. Therefore, the scope of the invention should be determined by the appended claims.

Claims (20)

  1. 一种订阅报表生成方法,包括:A method for generating a subscription report, including:
    获取订阅报表列表,从订阅报表列表中读取报表标识;Obtain a list of subscription reports, and read the report identifier from the list of subscription reports;
    当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;When the subscription report corresponding to the report identifier is an attached report, the report data and the report template corresponding to the report identifier are searched;
    查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;Finding an organization processing thread and an organization assembly thread corresponding to the report identifier, and acquiring a thread number of the processing thread of the organization;
    根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;及Decoding the report data into a report module according to the report template and the number of threads, generating an attachment module generation task according to the report module, and assigning the accessory module generation task to the mechanism processing thread, The mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module; and
    将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。Sending the accessory module to the mechanism assembly thread, the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1 further comprising:
    查找所述报表标识对应的机构标识;Find an organization identifier corresponding to the report identifier;
    当存在与所述机构标识对应的定制报表格式时,根据所述定制报表格式和所述订阅报表生成报表转换任务;When there is a customized report format corresponding to the organization identifier, generating a report conversion task according to the customized report format and the subscription report;
    将所述报表转换任务发送至格式转换线程进行处理得到定制附件报表;及Sending the report conversion task to a format conversion thread for processing to obtain a customized attachment report; and
    在所述订阅报表中添加所述定制附件报表。Adding the customized attachment report to the subscription report.
  3. 根据权利要求2所述的方法,其特征在于,所述在所述订阅报表中添加所述定制附件报表之后,包括:The method according to claim 2, wherein after the adding the customized attachment report in the subscription report, the method comprises:
    当根据所述报表标识判断出所述订阅报表为共享报表时,对所述订阅报表进行加密处理;When the subscription report is determined to be a shared report according to the report identifier, the subscription report is encrypted;
    将加密后的订阅报表发送至共享服务器;及Send the encrypted subscription report to the shared server; and
    接收所述共享服务器生成的与所述加密后的订阅报表对应的第一报表访问链接,将所述第一报表访问链接发送至所述报表标识对应的终端。And receiving the first report access link that is generated by the shared server and corresponding to the encrypted subscription report, and sending the first report access link to the terminal corresponding to the report identifier.
  4. 根据权利要求2所述的方法,其特征在于,所述在所述订阅报表中添加所述定制附件报表之后,包括:The method according to claim 2, wherein after the adding the customized attachment report in the subscription report, the method comprises:
    当根据所述报表标识判断出所述订阅报表为非共享报表时,根据所述订阅报表生成订阅邮件;When it is determined that the subscription report is a non-shared report according to the report identifier, generating a subscription email according to the subscription report;
    获取当前订阅邮件的数据传输量;Get the data transfer volume of the current subscription email;
    当所述数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据所述邮件数据量计算出预估发送等待时长;When the data transmission amount exceeds the preset transmission threshold, acquiring the amount of mail data in the current mail sending waiting queue, and calculating the estimated sending waiting time according to the mail data amount;
    获取所述报表标识对应的订阅时间,根据所述订阅时间计算预留发送时 长;及Obtaining a subscription time corresponding to the report identifier, and calculating a reserved transmission duration according to the subscription time; and
    当所述预留发送时长大于所述预估发送等待时长时,将所述订阅邮件添加至所述邮件发送等待队列中。When the reserved transmission duration is greater than the estimated transmission waiting duration, the subscription mail is added to the mail transmission waiting queue.
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:The method of claim 4, wherein the method further comprises:
    当所述预留发送时长小于所述预估发送等待时长时,根据所述订阅报表生成第二报表访问链接,将所述第二报表访问链接发送至所述报表标识对应的终端;及When the reserved transmission duration is less than the estimated transmission waiting duration, the second report access link is generated according to the subscription report, and the second report access link is sent to the terminal corresponding to the report identifier;
    根据所述预留发送时长将所述订阅邮件插入所述邮件发送等待队列中。The subscription mail is inserted into the mail transmission waiting queue according to the reserved transmission time length.
  6. 一种订阅报表生成装置,其特征在于,所述装置包括:A subscription report generating device, the device comprising:
    列表获取模块,用于获取订阅报表列表,从订阅报表列表中读取报表标识;a list obtaining module, configured to obtain a list of subscription reports, and read a report identifier from a list of subscription reports;
    报表信息查找模块,用于当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;The report information searching module is configured to: when the subscription report corresponding to the report identifier is an attached report, search for report data and a report template corresponding to the report identifier;
    线程数量获取模块,用于查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;a thread quantity obtaining module, configured to search for an organization processing thread and an organization assembly thread corresponding to the report identifier, and obtain a thread number of the processing thread of the mechanism;
    任务分配模块,用于根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;及a task allocation module, configured to split the report data into a report module according to the report template and the number of threads, generate an accessory module generating task according to the report module, and allocate the accessory module generating task to the mechanism In the processing thread, the mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module; and
    报表组装模块,用于将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。The report assembly module is configured to send the accessory module to the mechanism assembly thread, and the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  7. 根据权利要求6所述的装置,其特征在于,所述装置还包括:The device according to claim 6, wherein the device further comprises:
    机构标识查找模块,用于查找所述报表标识对应的机构标识;An organization identifier searching module, configured to search for an organization identifier corresponding to the report identifier;
    转换任务生成模块,用于当存在与所述机构标识对应的定制报表格式时,根据所述定制报表格式和所述订阅报表生成报表转换任务;a conversion task generating module, configured to generate a report conversion task according to the customized report format and the subscription report when there is a customized report format corresponding to the organization identifier;
    定制报表生成模块,用于将所述报表转换任务发送至格式转换线程进行处理得到定制附件报表;及a customized report generation module, configured to send the report conversion task to a format conversion thread for processing to obtain a customized attachment report; and
    定制报表添加模块,用于在所述订阅报表中添加所述定制附件报表。A custom report adding module for adding the customized attachment report to the subscription report.
  8. 根据权利要求7所述的装置,其特征在于,所述装置还包括:The device according to claim 7, wherein the device further comprises:
    加密模块,用于当根据所述报表标识判断出所述订阅报表为共享报表时,对所述订阅报表进行加密处理;An encryption module, configured to encrypt the subscription report when the subscription report is determined to be a shared report according to the report identifier;
    加密报表发送模块,用于将加密后的订阅报表发送至共享服务器;及An encrypted report sending module for sending the encrypted subscription report to the shared server; and
    报表链接发送模块,用于接收所述共享服务器生成的与所述加密后的订阅报表对应的第一报表访问链接,将所述第一报表访问链接发送至所述报表 标识对应的终端。The report link sending module is configured to receive a first report access link that is generated by the shared server and corresponding to the encrypted subscription report, and send the first report access link to the terminal corresponding to the report identifier.
  9. 根据权利要求7所述的装置,其特征在于,所述装置还包括:The device according to claim 7, wherein the device further comprises:
    邮件生成模块,用于当根据所述报表标识判断出所述订阅报表为非共享报表时,根据所述订阅报表生成订阅邮件;a mail generating module, configured to generate a subscription email according to the subscription report when determining that the subscription report is a non-shared report according to the report identifier;
    传输量获取模块,用于获取当前订阅邮件的数据传输量;a transmission quantity obtaining module, configured to acquire a data transmission amount of the current subscription mail;
    等待时长预估模块,用于当所述数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据所述邮件数据量计算出预估发送等待时长;The waiting time estimation module is configured to acquire the amount of mail data in the current mail sending waiting queue when the data transmission amount exceeds the preset transmission threshold, and calculate an estimated sending waiting time according to the mail data amount;
    预留时长计算模块,用于获取所述报表标识对应的订阅时间,根据所述订阅时间计算预留发送时长;a reserved duration calculation module, configured to acquire a subscription time corresponding to the report identifier, and calculate a reserved transmission duration according to the subscription time;
    邮件添加模块,用于当所述预留发送时长大于所述预估发送等待时长时,将所述订阅邮件添加至所述邮件发送等待队列中。The mail adding module is configured to add the subscription mail to the mail sending waiting queue when the reserved sending duration is greater than the estimated sending waiting duration.
  10. 根据权利要求9所述的装置,其特征在于,所述装置还包括:The device according to claim 9, wherein the device further comprises:
    第二链接发送模块,用于当所述预留发送时长小于所述预估发送等待时长时,根据所述订阅报表生成第二报表访问链接,将所述第二报表访问链接发送至所述报表标识对应的终端。a second link sending module, configured to: when the reserved sending duration is less than the estimated sending waiting duration, generate a second report access link according to the subscription report, and send the second report access link to the report Identify the corresponding terminal.
    邮件插入模块,用于根据所述预留发送时长将所述订阅邮件插入所述邮件发送等待队列中。a mail insertion module, configured to insert the subscription mail into the mail sending waiting queue according to the reserved sending duration.
  11. 一种计算机设备,包括存储器及一个或多个处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:A computer device comprising a memory and one or more processors having stored therein computer readable instructions, the computer readable instructions being executed by the one or more processors to cause the one or more The processors perform the following steps:
    获取订阅报表列表,从订阅报表列表中读取报表标识;Obtain a list of subscription reports, and read the report identifier from the list of subscription reports;
    当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;When the subscription report corresponding to the report identifier is an attached report, the report data and the report template corresponding to the report identifier are searched;
    查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;Finding an organization processing thread and an organization assembly thread corresponding to the report identifier, and acquiring a thread number of the processing thread of the organization;
    根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;及Decoding the report data into a report module according to the report template and the number of threads, generating an attachment module generation task according to the report module, and assigning the accessory module generation task to the mechanism processing thread, The mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module; and
    将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。Sending the accessory module to the mechanism assembly thread, the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  12. 根据权利要求11所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:The computer apparatus according to claim 11, wherein said processor further performs the following steps when said computer readable instructions are executed:
    查找所述报表标识对应的机构标识;Find an organization identifier corresponding to the report identifier;
    当存在与所述机构标识对应的定制报表格式时,根据所述定制报表格式和所述订阅报表生成报表转换任务;When there is a customized report format corresponding to the organization identifier, generating a report conversion task according to the customized report format and the subscription report;
    将所述报表转换任务发送至格式转换线程进行处理得到定制附件报表;及Sending the report conversion task to a format conversion thread for processing to obtain a customized attachment report; and
    在所述订阅报表中添加所述定制附件报表。Adding the customized attachment report to the subscription report.
  13. 根据权利要求12所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:The computer apparatus according to claim 12, wherein said processor further performs the following steps when said computer readable instructions are executed:
    当根据所述报表标识判断出所述订阅报表为共享报表时,对所述订阅报表进行加密处理;When the subscription report is determined to be a shared report according to the report identifier, the subscription report is encrypted;
    将加密后的订阅报表发送至共享服务器;及Send the encrypted subscription report to the shared server; and
    接收所述共享服务器生成的与所述加密后的订阅报表对应的第一报表访问链接,将所述第一报表访问链接发送至所述报表标识对应的终端。And receiving the first report access link that is generated by the shared server and corresponding to the encrypted subscription report, and sending the first report access link to the terminal corresponding to the report identifier.
  14. 根据权利要求12所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:The computer apparatus according to claim 12, wherein said processor further performs the following steps when said computer readable instructions are executed:
    当根据所述报表标识判断出所述订阅报表为非共享报表时,根据所述订阅报表生成订阅邮件;When it is determined that the subscription report is a non-shared report according to the report identifier, generating a subscription email according to the subscription report;
    获取当前订阅邮件的数据传输量;Get the data transfer volume of the current subscription email;
    当所述数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据所述邮件数据量计算出预估发送等待时长;When the data transmission amount exceeds the preset transmission threshold, acquiring the amount of mail data in the current mail sending waiting queue, and calculating the estimated sending waiting time according to the mail data amount;
    获取所述报表标识对应的订阅时间,根据所述订阅时间计算预留发送时长;及Obtaining a subscription time corresponding to the report identifier, and calculating a reserved transmission duration according to the subscription time; and
    当所述预留发送时长大于所述预估发送等待时长时,将所述订阅邮件添加至所述邮件发送等待队列中。When the reserved transmission duration is greater than the estimated transmission waiting duration, the subscription mail is added to the mail transmission waiting queue.
  15. 根据权利要求14所述的计算机设备,其特征在于,所述处理器执行所述计算机可读指令时还执行以下步骤:The computer apparatus according to claim 14, wherein said processor further performs the following steps when said computer readable instructions are executed:
    当所述预留发送时长小于所述预估发送等待时长时,根据所述订阅报表生成第二报表访问链接,将所述第二报表访问链接发送至所述报表标识对应的终端;及When the reserved transmission duration is less than the estimated transmission waiting duration, the second report access link is generated according to the subscription report, and the second report access link is sent to the terminal corresponding to the report identifier;
    根据所述预留发送时长将所述订阅邮件插入所述邮件发送等待队列中。The subscription mail is inserted into the mail transmission waiting queue according to the reserved transmission time length.
  16. 一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:One or more non-transitory computer readable storage mediums storing computer readable instructions, when executed by one or more processors, cause the one or more processors to perform the following steps:
    获取订阅报表列表,从订阅报表列表中读取报表标识;Obtain a list of subscription reports, and read the report identifier from the list of subscription reports;
    当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应 的报表数据和报表模板;When the subscription report corresponding to the report identifier is an attachment report, the report data and the report template corresponding to the report identifier are searched;
    查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;Finding an organization processing thread and an organization assembly thread corresponding to the report identifier, and acquiring a thread number of the processing thread of the organization;
    根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;及Decoding the report data into a report module according to the report template and the number of threads, generating an attachment module generation task according to the report module, and assigning the accessory module generation task to the mechanism processing thread, The mechanism processing thread is configured to process the accessory module generating task to obtain an accessory module; and
    将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。Sending the accessory module to the mechanism assembly thread, the mechanism assembly thread is configured to assemble the accessory module to generate a subscription report.
  17. 根据权利要求16所述的存储介质,其特征在于,所述计算机可读指令被所述处理器执行时还执行以下步骤:The storage medium of claim 16 wherein said computer readable instructions are further executed by said processor to perform the following steps:
    查找所述报表标识对应的机构标识;Find an organization identifier corresponding to the report identifier;
    当存在与所述机构标识对应的定制报表格式时,根据所述定制报表格式和所述订阅报表生成报表转换任务;When there is a customized report format corresponding to the organization identifier, generating a report conversion task according to the customized report format and the subscription report;
    将所述报表转换任务发送至格式转换线程进行处理得到定制附件报表;及Sending the report conversion task to a format conversion thread for processing to obtain a customized attachment report; and
    在所述订阅报表中添加所述定制附件报表。Adding the customized attachment report to the subscription report.
  18. 根据权利要求17所述的存储介质,其特征在于,所述计算机可读指令被所述处理器执行时还执行以下步骤:A storage medium according to claim 17, wherein said computer readable instructions are further executed by said processor to perform the following steps:
    当根据所述报表标识判断出所述订阅报表为共享报表时,对所述订阅报表进行加密处理;When the subscription report is determined to be a shared report according to the report identifier, the subscription report is encrypted;
    将加密后的订阅报表发送至共享服务器;及Send the encrypted subscription report to the shared server; and
    接收所述共享服务器生成的与所述加密后的订阅报表对应的第一报表访问链接,将所述第一报表访问链接发送至所述报表标识对应的终端。And receiving the first report access link that is generated by the shared server and corresponding to the encrypted subscription report, and sending the first report access link to the terminal corresponding to the report identifier.
  19. 根据权利要求17所述的存储介质,其特征在于,所述计算机可读指令被所述处理器执行时还执行以下步骤:A storage medium according to claim 17, wherein said computer readable instructions are further executed by said processor to perform the following steps:
    当根据所述报表标识判断出所述订阅报表为非共享报表时,根据所述订阅报表生成订阅邮件;When it is determined that the subscription report is a non-shared report according to the report identifier, generating a subscription email according to the subscription report;
    获取当前订阅邮件的数据传输量;Get the data transfer volume of the current subscription email;
    当所述数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据所述邮件数据量计算出预估发送等待时长;When the data transmission amount exceeds the preset transmission threshold, acquiring the amount of mail data in the current mail sending waiting queue, and calculating the estimated sending waiting time according to the mail data amount;
    获取所述报表标识对应的订阅时间,根据所述订阅时间计算预留发送时长;及Obtaining a subscription time corresponding to the report identifier, and calculating a reserved transmission duration according to the subscription time; and
    当所述预留发送时长大于所述预估发送等待时长时,将所述订阅邮件添加至所述邮件发送等待队列中。When the reserved transmission duration is greater than the estimated transmission waiting duration, the subscription mail is added to the mail transmission waiting queue.
  20. 根据权利要求19所述的存储介质,其特征在于,所述计算机可读指令被所述处理器执行时还执行以下步骤:A storage medium according to claim 19, wherein said computer readable instructions, when executed by said processor, further perform the following steps:
    当所述预留发送时长小于所述预估发送等待时长时,根据所述订阅报表生成第二报表访问链接,将所述第二报表访问链接发送至所述报表标识对应的终端;及When the reserved transmission duration is less than the estimated transmission waiting duration, the second report access link is generated according to the subscription report, and the second report access link is sent to the terminal corresponding to the report identifier;
    根据所述预留发送时长将所述订阅邮件插入所述邮件发送等待队列中。The subscription mail is inserted into the mail transmission waiting queue according to the reserved transmission time length.
PCT/CN2018/096910 2018-05-16 2018-07-24 Subscription report generation method and apparatus, computer device and storage medium WO2019218454A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810466728.1A CN108667721B (en) 2018-05-16 2018-05-16 Subscription report generation method and device, computer equipment and storage medium
CN201810466728.1 2018-05-16

Publications (1)

Publication Number Publication Date
WO2019218454A1 true WO2019218454A1 (en) 2019-11-21

Family

ID=63779776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/096910 WO2019218454A1 (en) 2018-05-16 2018-07-24 Subscription report generation method and apparatus, computer device and storage medium

Country Status (2)

Country Link
CN (1) CN108667721B (en)
WO (1) WO2019218454A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111144083A (en) * 2019-12-20 2020-05-12 腾讯科技(深圳)有限公司 Report generation method, device, equipment and computer readable storage medium
CN111190703A (en) * 2019-12-11 2020-05-22 平安医疗健康管理股份有限公司 Real-time data processing method and device, computer equipment and storage medium
CN111600942A (en) * 2020-05-09 2020-08-28 海信集团有限公司 Report processing method, device and equipment
CN111723562A (en) * 2020-06-05 2020-09-29 完美世界控股集团有限公司 Method and system for displaying mail reading time, storage medium and computing device
CN112446697A (en) * 2020-11-12 2021-03-05 深圳海付移通科技有限公司 Account checking method and device, computer equipment and storage medium
CN112801136A (en) * 2020-12-31 2021-05-14 广州技象科技有限公司 Internet of things gateway data processing method and device with feature identification
CN113779949A (en) * 2021-09-17 2021-12-10 北京天融信网络安全技术有限公司 Report generation method, report generation device, electronic equipment, storage medium and report generation system
CN113837636A (en) * 2021-09-29 2021-12-24 平安养老保险股份有限公司 Service data acquisition method, device, equipment and storage medium
CN112446697B (en) * 2020-11-12 2024-05-28 深圳海付移通科技有限公司 Account checking method, account checking device, computer equipment and storage medium

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385321B (en) * 2018-12-28 2023-03-24 深圳市优必选科技有限公司 Node response method and system and robot
CN110995617B (en) * 2019-10-31 2022-06-03 南京戎光软件科技有限公司 MQTT-based data transmission method and device, computer equipment and storage medium
CN111401018A (en) * 2020-03-17 2020-07-10 中国邮政储蓄银行股份有限公司 Method, device and system for generating email report
CN112685423A (en) * 2020-12-31 2021-04-20 天津浪淘科技股份有限公司 Multi-source data report generation method, system and execution method
CN113343103A (en) * 2021-06-28 2021-09-03 平安信托有限责任公司 Report form pushing method and device, electronic equipment and storage medium
CN113626194A (en) * 2021-08-10 2021-11-09 上海微盟企业发展有限公司 Report file generation method, device, equipment and readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215610A1 (en) * 2003-04-22 2004-10-28 Lawson Software, Inc. System and method for extracting and applying business organization information
WO2005116895A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. System and method for managing emails in an enterprise
CN103401764A (en) * 2013-08-05 2013-11-20 浪潮(北京)电子信息产业有限公司 Method and device for sending mails
CN105447174A (en) * 2015-12-09 2016-03-30 中国农业银行股份有限公司 Report generation method and apparatus
CN107295018A (en) * 2017-08-14 2017-10-24 北京连云决科技有限公司 A kind of safety storage of cloud disc file and sharing method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815261A (en) * 2010-02-23 2010-08-25 深圳市五巨科技有限公司 Method and device for generating mobile terminal report forms
CN106445889A (en) * 2015-08-07 2017-02-22 北京国双科技有限公司 Report mail generation method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040215610A1 (en) * 2003-04-22 2004-10-28 Lawson Software, Inc. System and method for extracting and applying business organization information
WO2005116895A1 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. System and method for managing emails in an enterprise
CN103401764A (en) * 2013-08-05 2013-11-20 浪潮(北京)电子信息产业有限公司 Method and device for sending mails
CN105447174A (en) * 2015-12-09 2016-03-30 中国农业银行股份有限公司 Report generation method and apparatus
CN107295018A (en) * 2017-08-14 2017-10-24 北京连云决科技有限公司 A kind of safety storage of cloud disc file and sharing method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190703A (en) * 2019-12-11 2020-05-22 平安医疗健康管理股份有限公司 Real-time data processing method and device, computer equipment and storage medium
CN111190703B (en) * 2019-12-11 2023-02-07 深圳平安医疗健康科技服务有限公司 Real-time data processing method and device, computer equipment and storage medium
CN111144083A (en) * 2019-12-20 2020-05-12 腾讯科技(深圳)有限公司 Report generation method, device, equipment and computer readable storage medium
CN111144083B (en) * 2019-12-20 2023-11-03 腾讯科技(深圳)有限公司 Report generation method, device, equipment and computer readable storage medium
CN111600942B (en) * 2020-05-09 2022-03-25 海信集团有限公司 Report processing method, device and equipment
CN111600942A (en) * 2020-05-09 2020-08-28 海信集团有限公司 Report processing method, device and equipment
CN111723562A (en) * 2020-06-05 2020-09-29 完美世界控股集团有限公司 Method and system for displaying mail reading time, storage medium and computing device
CN112446697A (en) * 2020-11-12 2021-03-05 深圳海付移通科技有限公司 Account checking method and device, computer equipment and storage medium
CN112446697B (en) * 2020-11-12 2024-05-28 深圳海付移通科技有限公司 Account checking method, account checking device, computer equipment and storage medium
CN112801136A (en) * 2020-12-31 2021-05-14 广州技象科技有限公司 Internet of things gateway data processing method and device with feature identification
CN112801136B (en) * 2020-12-31 2024-04-26 广州技象科技有限公司 Internet of things gateway data processing method and device with characteristic identification
CN113779949A (en) * 2021-09-17 2021-12-10 北京天融信网络安全技术有限公司 Report generation method, report generation device, electronic equipment, storage medium and report generation system
CN113837636A (en) * 2021-09-29 2021-12-24 平安养老保险股份有限公司 Service data acquisition method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN108667721A (en) 2018-10-16
CN108667721B (en) 2021-11-09

Similar Documents

Publication Publication Date Title
WO2019218454A1 (en) Subscription report generation method and apparatus, computer device and storage medium
US10162672B2 (en) Generating data streams from pre-existing data sets
US8601598B2 (en) Off-premise encryption of data storage
US10891145B2 (en) Processing pre-existing data sets at an on demand code execution environment
US10747717B2 (en) Method and system for applying data retention policies in a computing platform
US8705746B2 (en) Data security in an off-premise environment
US8706822B2 (en) Delivering messages from message sources to subscribing recipients
US8819080B2 (en) System and method for collection, retrieval, and distribution of data
US20170220500A1 (en) Method, controller, and system for service flow control in object-based storage system
WO2020233352A1 (en) Block chain data chaining method, device, computer apparatus and storage medium
US20160180113A1 (en) User-generated content permissions status analysis system and method
JP6104184B2 (en) Data encryption processing apparatus and method for cloud storage system
WO2019052225A1 (en) Open platform control method and system, computer device, and storage medium
US9940020B2 (en) Memory management method, apparatus, and system
US10505863B1 (en) Multi-framework distributed computation
US9692817B2 (en) System and method for flexible holding storage during messaging
WO2019223092A1 (en) Crosstab export method and apparatus, computer device, and storage medium
WO2019096046A1 (en) Data processing system and method, and token management method
WO2019047568A1 (en) User call processing method, apparatus, computer device, and storage medium
US20160183229A1 (en) Ip phone network system, server apparatus, ip exchange and resource capacity expansion method
US10587526B2 (en) Federated scheme for coordinating throttled network data transfer in a multi-host scenario
CN113687958A (en) Data processing method, system, computer device and storage medium
US10154116B1 (en) Efficient synchronization of locally-available content
CN109862069B (en) Message processing method and device
CN114077483A (en) Data resource scheduling method, server, system and storage medium

Legal Events

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

Ref document number: 18918617

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18918617

Country of ref document: EP

Kind code of ref document: A1