CN108667721A - 订阅报表生成方法、装置、计算机设备和存储介质 - Google Patents
订阅报表生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108667721A CN108667721A CN201810466728.1A CN201810466728A CN108667721A CN 108667721 A CN108667721 A CN 108667721A CN 201810466728 A CN201810466728 A CN 201810466728A CN 108667721 A CN108667721 A CN 108667721A
- Authority
- CN
- China
- Prior art keywords
- report
- subscription
- module
- thread
- mark
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种订阅报表生成方法、装置、计算机设备和存储介质。所述方法包括:获取订阅报表列表,从订阅报表列表中读取报表标识;当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板;查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量;根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块,将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。采用本方法能够提高订阅报表处理效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种订阅报表生成方法、装置、计算机设备和存储介质。
背景技术
现有的报表数据管理平台能够对多个用户的海量报表数据进行集中管理和维护。现在越来越多的用户都有订阅报表的需求,数据管理平台可以根据用户的订阅需求对用户需要订阅查看的数据进行筛选整合后发送给用户,方便用户进行数据查看。
但是,随着报表订阅的需求量越来越大,数据管理平台需要处理的订阅报表的数量也急剧增加,并且,在对订阅报表进行处理时经常需要生成各种格式的附件,当同一时段的数据量过大时经常会遇到数据拥堵的情况,并导致报表处理效率很低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高订阅报表处理效率的订阅报表生成方法、装置、计算机设备和存储介质。
一种订阅报表生成方法,所述方法包括:
获取订阅报表列表,从订阅报表列表中读取报表标识;
当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;
查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;
根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;
将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。
在其中一个实施例中,方法还包括:
查找所述报表标识对应的机构标识;
当存在与所述机构标识对应的定制报表格式时,根据所述定制报表格式和所述订阅报表生成报表转换任务;
将所述报表转换任务发送至格式转换线程进行处理得到定制附件报表;
在所述订阅报表中添加所述定制附件报表。
在其中一个实施例中,所述在所述订阅报表中添加所述定制附件报表之后,包括:
当根据所述报表标识判断出所述订阅报表为共享报表时,对所述订阅报表进行加密处理;
将加密后的订阅报表发送至共享服务器;
接收所述共享服务器生成的与所述加密后的订阅报表对应的第一报表访问链接,将所述第一报表访问链接发送至所述报表标识对应的终端。
在其中一个实施例中,所述在所述订阅报表中添加所述定制附件报表之后,包括:
当根据所述报表标识判断出所述订阅报表为非共享报表时,根据所述订阅报表生成订阅邮件;
获取当前订阅邮件的数据传输量;
当所述数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据所述邮件数据量计算出预估发送等待时长;
获取所述报表标识对应的订阅时间,根据所述订阅时间计算预留发送时长;
当所述预留发送时长大于所述预估发送等待时长时,将所述订阅邮件添加至所述邮件发送等待队列中。
在其中一个实施例中,方法还包括:
当所述预留发送时长小于所述预估发送等待时长时,根据所述订阅报表生成第二报表访问链接,将所述第二报表访问链接发送至所述报表标识对应的终端;
根据所述预留发送时长将所述订阅邮件插入所述邮件发送等待队列中。
一种订阅报表生成装置,所述装置包括:
列表获取模块,用于获取订阅报表列表,从订阅报表列表中读取报表标识;
报表信息查找模块,用于当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;
线程数量获取模块,用于查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;
任务分配模块,用于根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;
报表组装模块,用于将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。
在其中一个实施例中,所述装置还包括:
机构标识查找模块,用于查找所述报表标识对应的机构标识;
转换任务生成模块,用于当存在与所述机构标识对应的定制报表格式时,根据所述定制报表格式和所述订阅报表生成报表转换任务;
定制报表生成模块,用于将所述报表转换任务发送至格式转换线程进行处理得到定制附件报表;
定制报表添加模块,用于在所述订阅报表中添加所述定制附件报表。
在其中一个实施例中,所述装置还包括:
加密模块,用于当根据所述报表标识判断出所述订阅报表为共享报表时,对所述订阅报表进行加密处理;
加密报表发送模块,用于将加密后的订阅报表发送至共享服务器;
报表链接发送模块,用于接收所述共享服务器生成的与所述加密后的订阅报表对应的第一报表访问链接,将所述第一报表访问链接发送至所述报表标识对应的终端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述订阅报表生成方法、装置、计算机设备和存储介质,在对附件格式的订阅报表进行处理时,根据报表标识对应机构的机构处理线程数量和报表模板,将报表数据拆分成多个报表模块,并根据拆分后的报表模块生成附件模块生成任务,分配至多个机构处理线程进行同步处理,并将生成的附件模块发送至机构对应的机构组装线程进行组装生成附件报表,将任务模块化进行多线程协同处理,从而能够提高订阅报表的处理效率和订阅报表生成速度,减少数据阻塞情况。
附图说明
图1为一个实施例中订阅报表生成方法的应用场景图;
图2为一个实施例中订阅报表生成方法的流程示意图;
图3为另一个实施例中订阅报表生成方法的流程示意图;
图4为一个实施例中订阅报表生成装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的订阅报表生成方法,可以应用于如图1所示的应用环境中。其中,终端通过网络与服务器进行通信。服务器接收终端发送的订阅报表列表,从订阅报表列表中读取出报表标识,当判断出报表标识对应的订阅报表为附件列表时,服务器查找报表标识对应的报表数据和报表模板,并查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量,服务器根据查找到的报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,服务器在机构处理线程中对附件模块生成任务进行处理得到附件模块,并将附件模块发送至机构组装线程,在机构组装线程中将附件模块组装成订阅报表,服务器将组装生成的订阅报表返回给终端。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种订阅报表生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤210,获取订阅报表列表,从订阅报表列表中读取报表标识。
服务器对多个机构的报表数据进行集中管理,当用户对报表数据具有订阅需求时,通过机构终端向服务器发送报表订阅报表请求,订阅报表请求中携带需要订阅的报表所对应的报表标识、订阅时间及机构标识等信息。
服务器接收到各个用户终端的订阅报表请求后,根据订阅报表请求中的报表标识和订阅时间生成订阅报表列表。具体地,服务器可以根据订阅时间对订阅报表列表中的订阅报表进行排序,也可以根据报表标识对应的机构标识对订阅报表列表中的订阅报表进行排序,也可以采用其他排序方式。服务器根据订阅报表的订阅时间和预设报表处理时长计算出各订阅报表的处理触发时间,并将计算出的处理触发时间与报表标识进行关联记录。
服务器检测订阅列表中是否存在到达处理触发时间的订阅报表,当检测到到达处理触发时间的订阅报表时,读取订阅报表的报表标识。
步骤220,当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板。
服务器获取附件报表列表,附件报表列表中记录了附件报表的报表标识。附件报表为需要生成报表附件的订阅报表。报表数据为基础数据,而报表附件一般情况下为对报表数据进行分析整理的文件,如可以为根据报表数据绘制的饼状图、柱状图或其他形式的图表,以及上述各种图表的整合数据文件等。报表附件的可以但不限于是报表图片、word文档、PDF文档等格式。
当服务器从附件报表列表中查找到一致的报表标识时,则判定订阅报表为附件报表,并查找与报表标识对应的报表数据和报表模板。报表数据为生成订阅报表所需要的数据,每个附件报表均存在与其对应的报表模板,报表模板中可以包括多个图表模块,并设定了附件报表中各图表的预设位置及各图表对应的原始报表数据。
步骤230,查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量。
服务器中设置有多条订阅报表的处理线程和组装线程。处理线程根据不同的机构进行划分,划分为多条机构处理线程和机构组装线程。机构处理线程是对用于附件报表中的附件模块,如图表模块等,机构组装线程是对在机构处理线程中处理生成的附件模块进行组装生成最终的附件报表。同一机构处理线程或机构组装线程可以处理一个机构的订阅报表,也可以对多个机构的订阅报表进行处理。根据报表标识可以查找到对应的机构标识,并可以查找到与机构标识对应的机构处理线程和机构组装线程,服务器获取查找到的机构处理线程的线程数量。
步骤240,根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块。
服务器根据报表模板中的需要生成的图表数量及获取到的线程数量,将报表数据进行拆分,拆分为数量与线程数量一致的报表模块。当图表数量大于线程数量时,可以将报表模板中的多个图表模块划分为一个报表模块。服务器根据划分后的报表模块查找对应的原始报表数据,根据报表模块和报表模块对应的原始模块数据生成附件模块生成任务,将附件模块生成任务分配至各机构处理线程中进行处理。
在生成附件模块生成任务时,可以根据报表标识生成模块任务标识,同一订阅报表对应的附件模块生成任务的任务标识相互之间进行关联记录。
在另一个实施例中,当服务器获取到线程数量后,获取各机构处理线程的待处理任务数,根据待处理任务数将各机构处理线程进行忙闲等级划分,如可以划分为忙、中、闲三个等级,并可以设定预设处理等级,筛选出忙闲等级与预设处理等级匹配的机构处理线程作为附件报表的处理线程,统计筛选出的机构处理线程的数量,根据筛选出的机构处理线程的数量将报表数据进行拆分。
服务器将附件模块生成任务分配至各机构处理线程中后,在机构处理线程中对附件模块对应的原始报表数据进行转换并生成附件模块
步骤250,将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。
服务器将生成的附件模块发送至机构组装线程,机构处理线程在向机构组装线程发送附件模块时携带任务标识。机构组装标识接收到附件模块后,根据任务标识判断附件模块对应的订阅报表的其他附件模块是否已到达,若所有附件模块均到达时,将到达的所有附件模块进行组装生成订阅报表,并将订阅报表发送给相应的用户终端。当附件模块并未全都到达时,先将到达的附件模块进行缓存,等待所有附件模块均到达完毕后再进行订阅报表的组装。
在一个实施例中,当从附件报表列表中查找不到一致的报表标识时,判定出订阅报表为非附件报表,查找报表标识对应的报表数据,直接将报表数据导出为订阅报表。
在本实施例中,服务器在对附件格式的订阅报表进行处理时,根据报表标识对应机构的机构处理线程数量和报表模板,将报表数据拆分成多个报表模块,并根据拆分后的报表模块生成附件模块生成任务,分配至多个机构处理线程进行同步处理,并将生成的附件模块发送至机构对应的机构组装线程进行组装生成附件报表,将任务模块化进行多线程协同处理,从而能够提高订阅报表的处理效率和订阅报表生成速度,减少数据阻塞情况。
在一个实施例中,如图3所示,订阅报表生成方法还可以包括以下步骤:
步骤260,查找报表标识对应的机构标识。
服务器查找报表标识对应的机构标识,机构标识用于对订阅报表的机构进行唯一标识。
步骤270,当存在与机构标识对应的定制报表格式时,根据定制报表格式和订阅报表生成报表转换任务。
不同的机构可能会存在不同的报表订阅需求。上述实施例中生成的订阅报表为通用数据格式的报表,如word格式等。但是不同的机构可能会存在不同订阅需求,有的机构可能需要订阅图片格式的报表,有的需要订阅PDF文件格式的报表。用户终端在向服务器发送报表订阅请求时,会将机构所需定制的数据格式信息添加至报表订阅请求中,服务器从报表订阅请求中读取机构的定制报表格式后,将机构标识与定制报表格式进行关联记录。
服务器查找是否存在与机构标识对应记录的定制报表格式,当查找到对应的定制报表格式时,根据已经组装的订阅报表和查找到的定制报表格式生成报表转换任务。
步骤280,将报表转换任务发送至格式转换线程进行处理得到定制附件报表。
服务器中设置有格式转换线程,格式转换线程专门用于进行报表格式的转换工作。服务器将生成的报表转换任务发送至格式转换线程进行处理,在格式转换线程中根据定制报表格式将订阅报表转换成定制附件报表。格式转换线程的数量可以根据服务的机构数量进行设置,也可以将所有的报表转换任务均在同一格式转换线程中进行处理,避免造成线程冗余。
步骤290,在订阅报表中添加定制附件报表。
服务器将在格式转换线程中生成的附件报表添加至上述实施例中生成的订阅报表中,将添加有定制附件报表的订阅报表在订阅时间发送给相应的机构终端。
在一个实施例中,当服务器没有查找到对应的定制报表格式时,表明对应的机构没有定制格式需求,服务器直接将组装生成的订阅报表在订阅时间发送给相应的机构终端即可。
在本实施例中,服务器中单独开辟报表格式转换线程,因报表的格式转换过程可能需涉及到图片格式的转换过程,需要花费一定的时间,且报表格式的转换工作与原始的报表数据无关,因此,单独设立报表格式转换线程进行集中处理,能够提高报表的生成效率。
在一个实施例中,在订阅报表中添加定制附件报表之后,还可以包括以下步骤:当根据报表标识判断出订阅报表为共享报表时,对订阅报表进行加密处理;将加密后的订阅报表发送至共享服务器;接收共享服务器生成的与加密后的订阅报表对应的第一报表访问链接,将第一报表访问链接发送至报表标识对应的终端。
共享报表为订阅机构可以与其他机构进行数据共享的报表,服务器将能够进行数据共享的报表的报表标识进行添加至共享列表中。服务器判断报表标识是否存在于共享列表中,当报表标识存在于共享列表中时,判断出订阅报表为共享报表。
服务器获取预设的共享加密规则,根据预设的共享加密规则对订阅报表进行加密处理,并将加密后的订阅报表发送至共享服务器,共享服务器可以但不限于是共享云盘的云服务器等。
共享服务器接收到订阅报表后,将加密的订阅报表进行存储,并根据存储位置生成订阅报表的第一报表访问链接,用户访问第一报表访问链接时可以查看并下载加密的订阅报表,共享服务器将生成的第一访问链接返回给服务器,服务器接收到第一报表访问链接后,将第一报表访问链接发送至报表标识对应的机构终端。
机构终端的用户在打开第一报表访问链接时,可以根据事先约定的解密规则对加密的订阅报表解密并进行报表查看和报表下载操作。对于其他机构的用户在访问第一报表访问链接时,可以对用户的查看、下载操作的权限进行设置,具有操作权限的用户可以获取订阅报表的解密规则。
在本实施例中,当服务器判断出订阅报表为共享报表时,服务器可以直接将订阅报表进行加密处理并分享至共享服务器,只将共享服务器返回的报表访问链接发送至相应的机构终端,由用户自行进行报表下载。从而可以减少订阅报表的数据传输量,避免在同一时间段内订阅报表的传输数量过大时造成传输线路阻塞。
在一个实施例中,在订阅报表中添加定制附件报表之后,还可以包括:当根据报表标识判断出订阅报表为非共享报表时,根据订阅报表生成订阅邮件;获取当前订阅邮件的数据传输量;当数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据邮件数据量计算出预估发送等待时长;获取报表标识对应的订阅时间,根据订阅时间计算预留发送时长;当预留发送时长大于预估发送等待时长时,将订阅邮件添加至邮件发送等待队列中。
当服务器判断出订阅报表为非共享报表时,服务器查找与机构标识对应的订阅邮箱地址,邮件模板等邮件信息,根据订阅邮箱地址、邮件模板等信息生成将订阅报表作为邮件附件的订阅邮件。
服务器获取当前正在进行邮件传输的订阅邮件的数据传输量,并获取预设传输阈值。预设传输阈值为需要进行数据调控时的数据传输量的分界值。当数据传输量低于预设传输阈值时,数据传输量尚未饱和,可以继续进行订阅邮件的发送。
当数据传输量超过预设传输阈值时,服务器进行邮件发送的数据传输调控。服务器获取当前邮件发送等待队列中的订阅邮件的邮件数据量,根据预设的单位数据量的发送时长和邮件数据量计算出邮件发送等待队列中的订阅邮件的发送等待时长。服务器查找与报表标识对应的订阅时间,根据当前时间和订阅时间计算出生成的订阅邮件的预留发送时长,预留发送时长为订阅时间与当前时间的时间差值。
服务器将订阅报表的预留发送时长与邮件发送等待队列的预估发送等待时长进行比较,当预留发送时长大于预估发送等待时长时,服务器将订阅邮件添加至邮件发送等待队列中等待进行发送。在邮件发送等待队列中添加订阅邮件后,可以将订阅邮件的订阅时间与邮件发送等待队列中各个订阅邮件的订阅时间进行比较,按照订阅时间由前至后的顺序将订阅邮件进行排序,排列在先的订阅邮件优先发送。
在本实施例中,服务器中设置有邮件发送等待队列,可以在集中发送的订阅邮件的传输数据量过大时,将新生成的订阅邮件发送到邮件发送等待队列中进行等待发送,从而能够舒缓当前数据传输通道的数据量,避免造成传输阻塞。
在一个实施例中,订阅报表生成方法还可以包括:当预留发送时长小于预估发送等待时长时,根据订阅报表生成第二报表访问链接,将第二报表访问链接发送至报表标识对应的终端;根据预留发送时长将订阅邮件插入邮件发送等待队列中。
当服务器判断出预留发送时长小于预估发送等待时长时,服务器将订阅报表进行存储,如可以存储在本地指定位置,也可以将订阅报表发送至共享云盘中进行存储,服务器根据订阅报表的存储地址生成第二报表访问链接,将第二报表访问链接发送至报表标识对应的机构终端。从而保证机构终端的用户能够在订阅时间通过第二报表访问链接定时获取订阅报表。
服务器将订阅邮件插入邮件发送等待队列中与预留发送等待时长对应的位置处,等待邮件发送等待队列进行发送,从而使得机构终端的用户仍然可以收到邮件形式的订阅报表,提高用户体验。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种订阅报表生成装置,包括:列表获取模块410、报表信息查找模块420、线程数量获取模块430、任务分配模块440和报表组装模块450,其中:
列表获取模块410,用于获取订阅报表列表,从订阅报表列表中读取报表标识。
报表信息查找模块420,用于当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板。
线程数量获取模块430,用于查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量。
任务分配模块440,用于根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块。
报表组装模块450,用于将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。
在一个实施例中,订阅报表生成装置还可以包括:
机构标识查找模块,用于查找报表标识对应的机构标识。
转换任务生成模块,用于当存在与机构标识对应的定制报表格式时,根据定制报表格式和订阅报表生成报表转换任务。
定制报表生成模块,用于将报表转换任务发送至格式转换线程进行处理得到定制附件报表。
定制报表添加模块,用于在订阅报表中添加定制附件报表。
在一个实施例中,订阅报表生成装置还可以包括:
加密模块,用于当根据报表标识判断出订阅报表为共享报表时,对订阅报表进行加密处理。
加密报表发送模块,用于将加密后的订阅报表发送至共享服务器。
报表链接发送模块,用于接收共享服务器生成的与加密后的订阅报表对应的第一报表访问链接,将第一报表访问链接发送至报表标识对应的终端。
在一个实施例中,订阅报表生成装置还可以包括:
邮件生成模块,用于当根据报表标识判断出订阅报表为非共享报表时,根据订阅报表生成订阅邮件。
传输量获取模块,用于获取当前订阅邮件的数据传输量。
等待时长预估模块,用于当数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据邮件数据量计算出预估发送等待时长。
预留时长计算模块,用于获取报表标识对应的订阅时间,根据订阅时间计算预留发送时长。
邮件添加模块,用于当预留发送时长大于预估发送等待时长时,将订阅邮件添加至邮件发送等待队列中。
在一个实施例中,订阅报表生成装置还可以包括:
第二链接发送模块,用于当预留发送时长小于预估发送等待时长时,根据订阅报表生成第二报表访问链接,将第二报表访问链接发送至报表标识对应的终端。
邮件插入模块,用于根据预留发送时长将订阅邮件插入邮件发送等待队列中。
关于订阅报表生成装置的具体限定可以参见上文中对于订阅报表生成方法的限定,在此不再赘述。上述订阅报表生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储订阅报表生成的相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种订阅报表生成方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取订阅报表列表,从订阅报表列表中读取报表标识;当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板;查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量;根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块,将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:查找报表标识对应的机构标识;当存在与机构标识对应的定制报表格式时,根据定制报表格式和订阅报表生成报表转换任务;将报表转换任务发送至格式转换线程进行处理得到定制附件报表;在订阅报表中添加定制附件报表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当根据报表标识判断出订阅报表为共享报表时,对订阅报表进行加密处理;将加密后的订阅报表发送至共享服务器;接收共享服务器生成的与加密后的订阅报表对应的第一报表访问链接,将第一报表访问链接发送至报表标识对应的终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当根据报表标识判断出订阅报表为非共享报表时,根据订阅报表生成订阅邮件;获取当前订阅邮件的数据传输量;当数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据邮件数据量计算出预估发送等待时长;获取报表标识对应的订阅时间,根据订阅时间计算预留发送时长;当预留发送时长大于预估发送等待时长时,将订阅邮件添加至邮件发送等待队列中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当预留发送时长小于预估发送等待时长时,根据订阅报表生成第二报表访问链接,将第二报表访问链接发送至报表标识对应的终端;根据预留发送时长将订阅邮件插入邮件发送等待队列中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取订阅报表列表,从订阅报表列表中读取报表标识;当报表标识对应的订阅报表为附件报表时,查找报表标识对应的报表数据和报表模板;查找报表标识对应的机构处理线程和机构组装线程,获取机构处理线程的线程数量;根据报表模板和线程数量将报表数据拆分成报表模块,根据报表模块生成附件模块生成任务,将附件模块生成任务分配至机构处理线程中,机构处理线程用于对附件模块生成任务进行处理,得到附件模块,将附件模块发送至机构组装线程,机构组装线程用于将接收到附件模块进行组装生成订阅报表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:查找报表标识对应的机构标识;当存在与机构标识对应的定制报表格式时,根据定制报表格式和订阅报表生成报表转换任务;将报表转换任务发送至格式转换线程进行处理得到定制附件报表;在订阅报表中添加定制附件报表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当根据报表标识判断出订阅报表为共享报表时,对订阅报表进行加密处理;将加密后的订阅报表发送至共享服务器;接收共享服务器生成的与加密后的订阅报表对应的第一报表访问链接,将第一报表访问链接发送至报表标识对应的终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当根据报表标识判断出订阅报表为非共享报表时,根据订阅报表生成订阅邮件;获取当前订阅邮件的数据传输量;当数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据邮件数据量计算出预估发送等待时长;获取报表标识对应的订阅时间,根据订阅时间计算预留发送时长;当预留发送时长大于预估发送等待时长时,将订阅邮件添加至邮件发送等待队列中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当预留发送时长小于预估发送等待时长时,根据订阅报表生成第二报表访问链接,将第二报表访问链接发送至报表标识对应的终端;根据预留发送时长将订阅邮件插入邮件发送等待队列中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种订阅报表生成方法,所述方法包括:
获取订阅报表列表,从订阅报表列表中读取报表标识;
当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;
查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;
根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;
将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
查找所述报表标识对应的机构标识;
当存在与所述机构标识对应的定制报表格式时,根据所述定制报表格式和所述订阅报表生成报表转换任务;
将所述报表转换任务发送至格式转换线程进行处理得到定制附件报表;
在所述订阅报表中添加所述定制附件报表。
3.根据权利要求2所述的方法,其特征在于,所述在所述订阅报表中添加所述定制附件报表之后,包括:
当根据所述报表标识判断出所述订阅报表为共享报表时,对所述订阅报表进行加密处理;
将加密后的订阅报表发送至共享服务器;
接收所述共享服务器生成的与所述加密后的订阅报表对应的第一报表访问链接,将所述第一报表访问链接发送至所述报表标识对应的终端。
4.根据权利要求2所述的方法,其特征在于,所述在所述订阅报表中添加所述定制附件报表之后,包括:
当根据所述报表标识判断出所述订阅报表为非共享报表时,根据所述订阅报表生成订阅邮件;
获取当前订阅邮件的数据传输量;
当所述数据传输量超过预设传输阈值时,获取当前邮件发送等待队列中的邮件数据量,根据所述邮件数据量计算出预估发送等待时长;
获取所述报表标识对应的订阅时间,根据所述订阅时间计算预留发送时长;
当所述预留发送时长大于所述预估发送等待时长时,将所述订阅邮件添加至所述邮件发送等待队列中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述预留发送时长小于所述预估发送等待时长时,根据所述订阅报表生成第二报表访问链接,将所述第二报表访问链接发送至所述报表标识对应的终端;
根据所述预留发送时长将所述订阅邮件插入所述邮件发送等待队列中。
6.一种订阅报表生成装置,其特征在于,所述装置包括:
列表获取模块,用于获取订阅报表列表,从订阅报表列表中读取报表标识;
报表信息查找模块,用于当所述报表标识对应的订阅报表为附件报表时,查找所述报表标识对应的报表数据和报表模板;
线程数量获取模块,用于查找所述报表标识对应的机构处理线程和机构组装线程,获取所述机构处理线程的线程数量;
任务分配模块,用于根据所述报表模板和所述线程数量将所述报表数据拆分成报表模块,根据所述报表模块生成附件模块生成任务,将所述附件模块生成任务分配至所述机构处理线程中,所述机构处理线程用于对所述附件模块生成任务进行处理,得到附件模块;
报表组装模块,用于将所述附件模块发送至所述机构组装线程,所述机构组装线程用于将接收到所述附件模块进行组装生成订阅报表。
7.根据权利要求6所述的方法,其特征在于,所述装置还包括:
机构标识查找模块,用于查找所述报表标识对应的机构标识;
转换任务生成模块,用于当存在与所述机构标识对应的定制报表格式时,根据所述定制报表格式和所述订阅报表生成报表转换任务;
定制报表生成模块,用于将所述报表转换任务发送至格式转换线程进行处理得到定制附件报表;
定制报表添加模块,用于在所述订阅报表中添加所述定制附件报表。
8.根据权利要求7所述的方法,其特征在于,所述装置还包括:
加密模块,用于当根据所述报表标识判断出所述订阅报表为共享报表时,对所述订阅报表进行加密处理;
加密报表发送模块,用于将加密后的订阅报表发送至共享服务器;
报表链接发送模块,用于接收所述共享服务器生成的与所述加密后的订阅报表对应的第一报表访问链接,将所述第一报表访问链接发送至所述报表标识对应的终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810466728.1A CN108667721B (zh) | 2018-05-16 | 2018-05-16 | 订阅报表生成方法、装置、计算机设备和存储介质 |
PCT/CN2018/096910 WO2019218454A1 (zh) | 2018-05-16 | 2018-07-24 | 订阅报表生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810466728.1A CN108667721B (zh) | 2018-05-16 | 2018-05-16 | 订阅报表生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108667721A true CN108667721A (zh) | 2018-10-16 |
CN108667721B CN108667721B (zh) | 2021-11-09 |
Family
ID=63779776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810466728.1A Active CN108667721B (zh) | 2018-05-16 | 2018-05-16 | 订阅报表生成方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108667721B (zh) |
WO (1) | WO2019218454A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995617A (zh) * | 2019-10-31 | 2020-04-10 | 南京戎光软件科技有限公司 | 基于mqtt的数据报送方法装置计算机设备和存储介质 |
CN111385321A (zh) * | 2018-12-28 | 2020-07-07 | 深圳市优必选科技有限公司 | 一种节点响应方法、系统及机器人 |
CN111401018A (zh) * | 2020-03-17 | 2020-07-10 | 中国邮政储蓄银行股份有限公司 | 邮件报表生成方法、装置及系统 |
CN112685423A (zh) * | 2020-12-31 | 2021-04-20 | 天津浪淘科技股份有限公司 | 一种多源数据报表的生成方法、系统以及执行方法 |
CN113343103A (zh) * | 2021-06-28 | 2021-09-03 | 平安信托有限责任公司 | 报表推送方法、装置、电子设备及存储介质 |
CN113626194A (zh) * | 2021-08-10 | 2021-11-09 | 上海微盟企业发展有限公司 | 一种报表文件生成方法、装置、设备及可读存储介质 |
CN113837636A (zh) * | 2021-09-29 | 2021-12-24 | 平安养老保险股份有限公司 | 业务数据获取方法、装置、设备及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111190703B (zh) * | 2019-12-11 | 2023-02-07 | 深圳平安医疗健康科技服务有限公司 | 实时数据处理方法、装置、计算机设备和存储介质 |
CN111144083B (zh) * | 2019-12-20 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种报表的生成方法、装置、设备及计算机可读存储介质 |
CN111600942B (zh) * | 2020-05-09 | 2022-03-25 | 海信集团有限公司 | 报表处理方法、装置及设备 |
CN111723562A (zh) * | 2020-06-05 | 2020-09-29 | 完美世界控股集团有限公司 | 邮件阅读时长的显示方法、系统、存储介质以及计算设备 |
CN112801136B (zh) * | 2020-12-31 | 2024-04-26 | 广州技象科技有限公司 | 带有特征标识的物联网网关数据处理方法及装置 |
CN113779949A (zh) * | 2021-09-17 | 2021-12-10 | 北京天融信网络安全技术有限公司 | 一种报告生成方法、装置、电子设备、存储介质及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101815261A (zh) * | 2010-02-23 | 2010-08-25 | 深圳市五巨科技有限公司 | 一种移动终端报表生成的方法和装置 |
CN103401764A (zh) * | 2013-08-05 | 2013-11-20 | 浪潮(北京)电子信息产业有限公司 | 一种邮件发送方法和装置 |
CN105447174A (zh) * | 2015-12-09 | 2016-03-30 | 中国农业银行股份有限公司 | 一种报表生成方法及装置 |
CN106445889A (zh) * | 2015-08-07 | 2017-02-22 | 北京国双科技有限公司 | 生成报表邮件的方法和装置 |
CN107295018A (zh) * | 2017-08-14 | 2017-10-24 | 北京连云决科技有限公司 | 一种云盘文件的安全存储及分享方法 |
Family Cites Families (2)
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 |
US20050262208A1 (en) * | 2004-05-21 | 2005-11-24 | Eyal Haviv | System and method for managing emails in an enterprise |
-
2018
- 2018-05-16 CN CN201810466728.1A patent/CN108667721B/zh active Active
- 2018-07-24 WO PCT/CN2018/096910 patent/WO2019218454A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101815261A (zh) * | 2010-02-23 | 2010-08-25 | 深圳市五巨科技有限公司 | 一种移动终端报表生成的方法和装置 |
CN103401764A (zh) * | 2013-08-05 | 2013-11-20 | 浪潮(北京)电子信息产业有限公司 | 一种邮件发送方法和装置 |
CN106445889A (zh) * | 2015-08-07 | 2017-02-22 | 北京国双科技有限公司 | 生成报表邮件的方法和装置 |
CN105447174A (zh) * | 2015-12-09 | 2016-03-30 | 中国农业银行股份有限公司 | 一种报表生成方法及装置 |
CN107295018A (zh) * | 2017-08-14 | 2017-10-24 | 北京连云决科技有限公司 | 一种云盘文件的安全存储及分享方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385321A (zh) * | 2018-12-28 | 2020-07-07 | 深圳市优必选科技有限公司 | 一种节点响应方法、系统及机器人 |
CN110995617A (zh) * | 2019-10-31 | 2020-04-10 | 南京戎光软件科技有限公司 | 基于mqtt的数据报送方法装置计算机设备和存储介质 |
CN110995617B (zh) * | 2019-10-31 | 2022-06-03 | 南京戎光软件科技有限公司 | 基于mqtt的数据报送方法、装置、计算机设备和存储介质 |
CN111401018A (zh) * | 2020-03-17 | 2020-07-10 | 中国邮政储蓄银行股份有限公司 | 邮件报表生成方法、装置及系统 |
CN112685423A (zh) * | 2020-12-31 | 2021-04-20 | 天津浪淘科技股份有限公司 | 一种多源数据报表的生成方法、系统以及执行方法 |
CN113343103A (zh) * | 2021-06-28 | 2021-09-03 | 平安信托有限责任公司 | 报表推送方法、装置、电子设备及存储介质 |
CN113626194A (zh) * | 2021-08-10 | 2021-11-09 | 上海微盟企业发展有限公司 | 一种报表文件生成方法、装置、设备及可读存储介质 |
CN113837636A (zh) * | 2021-09-29 | 2021-12-24 | 平安养老保险股份有限公司 | 业务数据获取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019218454A1 (zh) | 2019-11-21 |
CN108667721B (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667721A (zh) | 订阅报表生成方法、装置、计算机设备和存储介质 | |
US8601598B2 (en) | Off-premise encryption of data storage | |
US8819080B2 (en) | System and method for collection, retrieval, and distribution of data | |
JP5661104B2 (ja) | 検索エンジンインデクシング及びインデックスを使用する検索のための方法とシステム | |
US10887268B2 (en) | Systems and methods for prioritizing messages for conversion from text to speech based on predictive user behavior | |
EP2051183A1 (en) | Query processing system and method for database with encrypted column by query encryption transformation | |
US11546348B2 (en) | Data service system | |
CN103425756B (zh) | 一种hdfs中数据块的副本管理策略 | |
US7321930B2 (en) | Apparatus and methods for managing data used by a mobile device | |
CN109816331A (zh) | 审核任务处理方法、装置、计算机设备和存储介质 | |
US20240020305A1 (en) | Systems and methods for automatic archiving, sorting, and/or indexing of secondary message content | |
CN103259819A (zh) | 文件共享的方法及系统 | |
EP3451627A1 (en) | Gateway computer system with intermediate data processing according to rules that are specified by templates | |
US20150304227A1 (en) | Queue Management Method and Apparatus | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
CN113660538B (zh) | 直播推流回源方法及系统 | |
CN105512329A (zh) | 基于go语言的动态切图系统 | |
CN107276912B (zh) | 存储器、报文处理方法及分布式存储系统 | |
CN109286573B (zh) | 基于分布式令牌桶的削峰系统 | |
CN108255853B (zh) | 一种插件式的请求异步处理方法以及系统 | |
CN115904246A (zh) | 一种基于多路ddr内存的数据读取方法及装置 | |
CN103197950A (zh) | 插件虚拟机实现方法 | |
CN115242872B (zh) | 数据处理方法、装置、计算机设备及可读存储介质 | |
CN112948501B (zh) | 数据解析方法、装置及系统 | |
US20110107199A1 (en) | Method of generating a web feed and an associated system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |