CN113779949A - 一种报告生成方法、装置、电子设备、存储介质及系统 - Google Patents
一种报告生成方法、装置、电子设备、存储介质及系统 Download PDFInfo
- Publication number
- CN113779949A CN113779949A CN202111092926.4A CN202111092926A CN113779949A CN 113779949 A CN113779949 A CN 113779949A CN 202111092926 A CN202111092926 A CN 202111092926A CN 113779949 A CN113779949 A CN 113779949A
- Authority
- CN
- China
- Prior art keywords
- report
- data
- target
- template
- task
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种报告生成方法、装置、电子设备、存储介质及系统。方法包括:从目标行业对应的任务队列中获取报告生成任务;根据报告生成任务获取目标行业对应的报告模板;报告模板包括目标动态占位符;根据目标动态占位符从数据模板中提取目标数据;数据模板包括多个动态占位符和每一动态占位符对应的数据,且数据模板中的数据为预先从数据库中提取获得;将目标数据填充到报告模板中目标动态占位符对应的位置上获得目标报告。本申请由于数据模板中存储有从数据库中提取的数据,因此,在生成报告时根据目标动态占位符从数据模板中提取目标数据,而不需要每次生成报告都访问数据库,降低了对数据库访问的频次,进而降低了系统的压力。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种报告生成方法、装置、电子设备、存储介质及系统。
背景技术
报告在云服务中比较重要的一项内容,是给客户交付的一种重要方式。报告的生成具有大批量、不同行业的报告内容不同等特点。
现有技术中,基于java的数据分析系统自动生成报告的方法原理是:利用自动生成报告组件在生成word报告的过程中,通过实现确定每个图表在报告中的位置,也就是事先设置好每个图表在文档中出现的顺序,然后按照顺序将数据填在空白的word报告中。在将数据填在空白的word报告之前,自动生成报告组件需要通过查询数据库来获取数据。面对大批量的报告生成任务,频繁的访问数据库会给系统带来较大的压力。
发明内容
本申请实施例的目的在于提供一种报告生成方法、装置、电子设备、存储介质及系统,用以解决现有技术中由于频繁访问数据库给系统带来较大压力的问题。
第一方面,本申请实施例提供一种报告生成方法,包括:从目标行业对应的任务队列中获取报告生成任务;根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符;根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得;将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
本申请实施例中,由于数据模板中存储有从数据库中提取的数据,因此,在生成报告时,根据目标动态占位符从目标行业对应的数据模板中提取对应的目标数据,而不需要每次生成报告都访问数据库,降低了对数据库访问的频次,进而降低了系统的压力。
在任一实施例中,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法还包括:确定可用线程数;根据所述可用线程数,按照任务优先级从分布式任务中心获取对应数量所述目标行业的任务,并将所述任务存入所述任务队列中。
本申请实施例根据可用线程数领取对应数量的任务,从而能够充分合理的利用系统中的资源。
在任一实施例中,所述确定可用线程数,包括:判断当前时间是否为非工作时间;若所述当前时间为非工作时间,则所述可用线程数为第一线程数;若所述当前时间为工作时间,则所述可用线程数为第二线程数;其中,所述第一线程数大于所述第二线程数。
本申请实施例根据当前时间是否处于工作时间来确定线程数,从而能够充分、合理的利用系统中的资源。
在任一实施例中,所述确定可用线程数,包括:获取内存使用率;若所述内存使用率大于预设阈值,则所述可用线程数为第三线程数;否则,所述可用线程数为第四线程数;其中,所述第三线程数小于所述第四线程数。
本申请实施例通过监测系统的内存使用情况,并根据内存使用情况确定用于生成报告的线程数,从而能够充分、合理的利用系统资源。
在任一实施例中,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法还包括:根据预设周期从数据库中提取数据和对应的动态占位符;将所述数据和所述动态占位符以json格式存入数据模板中。
本申请实施例通过在数据模板中的数据配备对应的动态占位符,保证在生成报告时,能够快速准确的获取到目标数据,并将目标数据填入到报告模板对应的位置上。
在任一实施例中,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法还包括:获取报告样本;将所述报告样本进行格式转换,获得报告模板;所述报告模板包括标题、概述、图形、表格和文本中的至少一项待填充元素,所述待填充元素使用动态占位符标注。
本申请实施例通过将报告样本生成报告模板,以便于后续自动生成报告。
第二方面,本申请实施例提供一种报告生成装置,包括:任务获取模块,用于从目标行业对应的任务队列中获取报告生成任务;模板获取模块,用于根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符;数据提取模块,用于根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得;报告生成模块,用于将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法。
第四方面,本申请实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种报告生成方法流程示意图;
图2为本申请实施例提供的一种报告模板示意图;
图3为本申请实施例提供的另一种报告生成方法流程示意图;
图4为本申请实施例提供的又一报告生成方法流程示意图;
图5为本申请实施例提供的报告生成装置结构示意图;
图6为本申请实施例提供的电子设备实体结构示意图;
图7为本申请实施例提供的一种报告生成系统架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
图1为本申请实施例提供的一种报告生成方法流程示意图,如图1所示,该方法可以应用于终端设备(也可以称为电子设备)以及服务器;其中终端设备具体可以为智能手机、平板电脑、计算机、个人数字助理(Personal Digital Assitant,PDA)等;服务器具体可以为应用服务器,也可以为Web服务器。
为了便于理解,本申请实施例提供的技术方案,下面以终端设备作为执行主体为例,对本申请实施例提供的报告生成方法的应用场景进行介绍。
该方法包括如下步骤:
步骤101:从目标行业对应的任务队列中获取报告生成任务。
其中,在终端设备中运行有至少一种行业的服务引擎,不同行业的服务引擎用于执行对应行业的报告生成任务。并且,在终端设备中还创建有每个服务引擎对应的任务队列。可以理解的是,行业可以包括网信行业、金融行业、餐饮行业、汽车行业等等。目标行业是指运行在终端设备上的任一服务引擎对应的行业。任务队列用于存储报告生成任务。终端设备可以实时从任务队列中获取报告生成任务,也可以按照预设周期从任务队列中获取报告生成任务。报告生成任务由用户终端向终端设备发送,也可以由终端设备定时发起。
步骤102:根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符。
其中,报告模板为预先生成的,在报告模板中可以包括标题、概述、图形、表格、文本中的一种或多种,当然,还可以包括其他元素,例如:备注等。图2为本申请实施例提供的一种报告模板示意图,应当说明的是,图2中所包含的元素以及元素的排版均为示例,具体的报告模板根据用户的需求生成,本申请实施例对此不作具体限定。目标动态占位符是指预先占用一个位置,等着后期往这个位置上添加对应的内容。这个位置的大小可以是动态变化的,即根据要添加的内容确定。目标动态占位符用于标识待添加的内容是什么,其用于从数据模板中获取动态占位符一致数据,并将该数据填入对应的位置上。如图2所示,标题、概述、表格和图形均对应一个目标动态占位符。
步骤103:根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得。
其中,在终端设备中维护有各个行业的数据模板,即每个行业有其对应的一个数据模板。数据模板中包括多个数据,每个数据对应一个动态占位符。可以理解的是,数据模板中的数据是从数据库中提取获得的,例如,终端设备可以定期将各个行业的数据从数据库中提取或复制出来,存入对应行业的数据模板中。可以理解的是,数据库中存储有每个数据所属行业的标识。终端设备在将数据从数据库中提取到数据模板时,根据行业的标识进行提取,从而保证了每个行业对应的数据模板中只存储对应行业的数据。便于后期生成报告时,获取目标数据。
其中,目标动态占位符可以用“$(level)”表示,在数据模板中,也有一个对应的level节点。数据模板中的表示方式如下:
步骤104:将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
其中,终端设备在从数据模板中提取出目标数据后,由于每个目标数据也有对应的动态占位符,且数据的动态占位符与报告模板中的目标动态占位符相同,因此,将各个目标数据填充在与其相同的目标动态占位符所在的位置上,以获得目标报告。
本申请实施例中,由于数据模板中存储有从数据库中提取的数据,因此,在生成报告时,根据目标动态占位符从目标行业对应的数据模板中提取对应的目标数据,而不需要每次生成报告都访问数据库,降低了对数据库访问的频次,进而降低了系统的压力。
在上述实施例的基础上,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法还包括:
确定可用线程数;
根据所述可用线程数,按照任务优先级从分布式任务中心获取对应数量所述目标行业的任务,并将所述任务存入所述任务队列中。
在具体的实施过程中,终端设备可以根据自身的实际情况确定可用线程数。可用线程数的多少决定领取任务的多少,例如:线程池中有两个可用线程,那么终端设备可以从分布式任务中心领取两个任务。可以理解的是,分布式任务中心可以设置在终端设备中,也可以是在终端设备之外的服务器上,且该服务器与终端设备通信连接。
应当说明的是,对于终端设备中包含多个服务引擎的情况,多个服务引擎共用线程池中的线程。
终端设备在确定了可用线程数后,根据可用线程数,从分布式任务中心获取目标行业的任务时,可以按照任务优先级进行获取,即先获取高优先级的。应当说明的是,可以预先为各个任务设定对应的优先级,可以按照任务的紧急、重要程度为任务设定对应的优先级。如果可用线程数大于高优先级的任务的数量,则除了获取高优先级的任务外,剩余的可用线程可以用于获取优先级次之的任务。例如:共有两个可用线程,分布式任务中心有三个任务,优先级分别为高、中、低,那么可以获取高优先级的任务和中优先级的任务,并将获取的高优先级的任务和中优先级的任务存入任务队列中。
本申请实施例根据可用线程数领取对应数量的任务,从而能够充分合理的利用系统中的资源。
在上述实施例的基础上,所述确定可用线程数,包括:
判断当前时间是否为非工作时间;
若所述当前时间为非工作时间,则所述可用线程数为第一线程数;
若所述当前时间为工作时间,则所述可用线程数为第二线程数;其中,所述第一线程数大于所述第二线程数。
在具体的实施过程中,终端设备在确定可用线程时,可以判断当前时间是否为非工作时间,其中,当前时间是指终端设备的系统时间,非工作时间可以预先设定,例如:设定8:00-18:00为工作时间,其他时间为非工作时间。如果当前时间为非工作时间,则可以确定可用线程数为第一线程数,其中,第一线程数可以为使得线程池满负荷工作的线程数;如果当前时间为工作时间,则可以确定可用线程数为第二线程数,例如可以控制将线程池中的2/3的线程作为可用线程。应当说明的是,第一线程数和第二线程数可以根据实际情况确定,上述只是一种示例,不作为本申请的具体限定。
在另一实施例中,所述确定可用线程数,包括:
获取内存使用率;
若所述内存使用率大于预设阈值,则所述可用线程数为第三线程数;否则,所述可用线程数为第四线程数;其中,所述第三线程数小于所述第四线程数。
在具体的实施过程中,终端设备在确定可用线程时,还可以根据终端设备的内存使用率,若内存使用率大于预设阈值,例如:内存使用率大于70%,则说明终端设备当前负荷较大,为了不给终端设备带来额外的压力,可以将针对任务的处理变成单线程,也就是说第三线程数为1,当然,也可以设定第三线程数为2或其他值。如果终端设备的内存使用率不大于预设阈值,例如,内存使用率不大于70%,则可以按照默认的可用线程数作为第四线程数,例如:在内存使用率不大于70%的情况下,可以将线程池中50%的线程作为可用线程。
本申请实施例通过监测系统的内存使用情况,并根据内存使用情况确定用于生成报告的线程数,从而能够充分、合理的利用系统资源。
在另一实施例中,还可以将非工作时间的判断和内存使用率的判断相结合来确定可用线程。图3为本申请实施例提供的另一种报告生成方法流程示意图,如图3所示,包括:
步骤301:判断是否为非工作时间;终端设备判断当前时间是否为非工作时间,如果当前时间处于非工作时间,则执行步骤304;如果当前时间处于工作时间,则执行步骤303。
步骤302:判断内存使用率;终端设备获取内存使用率,如果内存使用率大于预设阈值,则执行步骤303,否则执行步骤304。
步骤303:控制可用线程数;由于当前时间处于工作时间,且终端设备的内存使用率较高,因此,控制可用线程数,例如:可以允许其单线程生成报告。
步骤304:最大化可用线程数;针对当前时间为非工作时间的情况,可以使线程池满负荷生成报告。针对当前时间为工作时间,且内存使用率不大于预设阈值,那么可以确定可用线程数为线程池的2/3。
应当说明的是,步骤303和步骤304中根据不同情况确定的可用线程数可以根据实际情况设定,本申请实施例对此不作具体限定。
步骤305:获取任务;终端设备根据步骤303或步骤304确定的可用线程从分布式任务中心获取任务。
步骤306:存入任务队列;终端设备将获取的任务存入任务队列中。
步骤307:获取报告生成任务;终端设备从任务队列中获取报告生成任务。
步骤308:解析报告模板;解析报告模板,获取报告模板中的目标动态占位符。
步骤309:从数据模板中提取数据;根据目标动态占位符从数据模板中获取对应的数据。
步骤310:生成报告;在获取到数据后,将数据填充到报告模板对应的位置上。
在上述实施例的基础上,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法还包括:
根据预设周期从数据库中提取数据和对应的动态占位符;
将所述数据和所述动态占位符以json格式存入数据模板中。
在具体的实施过程中,终端设备可以根据预设周期从数据库中提取数据和动态占位符,其中,预设周期可以是每天、每周等,在从数据库中提取数据和动态占位符时,可以按照行业分类进行提取,例如:可以提取网信行业的数据和动态占位符,将网信行业的数据和动态占位符存入网信行业对应的数据模板中。当然,也可以提取所有行业的数据,然后根据各个行业的行业标识,将对应行业的数据和动态占位符存入对应行业的数据模板中。
可以理解的是,在存入数据模板中时,可以采用json的格式进行存储也可以采用其他格式进行存储。另外,当数据是图片时,存入到数据模板中的是该图片对应的路径。在生成报告时,可以通过数据模板查找到图片的路径,根据路径获取到图片。例如:XX时间对应的时间数量趋势,XX事件范围内事件的类列表、报告的标题、LOGO等。
本申请实施例通过在数据模板中的数据配备对应的动态占位符,保证在生成报告时,能够快速准确的获取到目标数据,并将目标数据填入到报告模板对应的位置上。
在上述实施例的基础上,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法还包括:
获取报告样本;
将所述报告样本进行格式转换,获得报告模板;所述报告模板包括标题、概述、图形、表格和文本中的至少一项待填充元素,所述待填充元素使用动态占位符标注。
在具体的实施过程中,终端设备接收用户提供的报告样本,并可以通过OCR技术将报告样本转换成终端设备可识别的报告模板,生成的报告模板参见图2所示,报告模板中可以包括标题、概述、图形、表格和文本中的至少一项待填充元素,并且,待填充元素使用动态占位符标注。
本申请实施例通过将报告样本生成报告模板,以便于后续自动生成报告。
在另一实施例中,图4为本申请实施例提供的又一报告生成方法流程示意图,如图4所示,包括制作模板、报告引擎、任务执行、数据提取、报告生成部分。
其中,制作模板部分包括接收客户需求和报告样本,根据客户需求和报告样本制作客户报告模板,其中,不同客户其对应的报告模板不同。从数据库中提取数据,制作数据模板。
在报告引擎部分,可以包括政企行业报告引擎、网信行业报告引擎、普通客户报告引擎等。可以理解的是,各个报告引擎可以独自布置在一个终端设备上,也可以多个引擎共同布置在一个终端设备上,还可以一种报告引擎布置在多个终端设备上。
在任务执行部分,布置有报告引擎的终端设备进行时间判断和/或资源判断,从分布式任务中心选择按照优先级获取任务,并将任务放入队列中。
在数据提取部分,在生成报告时,从数据模板中提取对应的数据。
在生成报告部分,在提取到数据后,将数据填入报告模板中。
图5为本申请实施例提供的报告生成装置结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。所述装置包括:任务获取模块501、模板获取模块502、数据提取模块503和报告生成模块504,其中:
任务获取模块501用于从目标行业对应的任务队列中获取报告生成任务;模板获取模块502用于根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符;数据提取模块503用于根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得;报告生成模块504用于将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
在上述实施例的基础上,装置还包括任务入队模块,用于:
确定可用线程数;
根据所述可用线程数,按照任务优先级从目标行业对应的任务队列中获取报告生成任务。
在上述实施例的基础上,任务入队模块具体用于:
判断当前时间是否为非工作时间;
若所述当前时间为非工作时间,则所述可用线程数为第一线程数;
若所述当前时间为工作时间,则所述可用线程数为第二线程数;其中,所述第一线程数大于所述第二线程数。
在上述实施例的基础上,任务入队模块具体用于:
获取内存使用率;
若所述内存使用率大于预设阈值,则所述可用线程数为第三线程数;否则,所述可用线程数为第四线程数;其中,所述第三线程数小于所述第四线程数。
在上述实施例的基础上,该装置还包括数据模板生成模块,用于:
根据预设周期从数据库中提取数据和对应的动态占位符;
将所述数据和所述动态占位符以json格式存入数据模板中。
在上述实施例的基础上,报告模板生成模块,用于:
获取报告样本;
将所述报告样本进行格式转换,获得报告模板;所述报告模板包括标题、概述、图形、表格和文本中的至少一项待填充元素,所述待填充元素使用动态占位符标注。
图6为本申请实施例提供的电子设备实体结构示意图,如图6所示,所述电子设备,包括:处理器(processor)601、存储器(memory)602和总线603;其中,
所述处理器601和存储器602通过所述总线603完成相互间的通信;
所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:从目标行业对应的任务队列中获取报告生成任务;根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符;根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得;将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
处理器601可以是一种集成电路芯片,具有信号处理能力。上述处理器601可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器602可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)等。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:从目标行业对应的任务队列中获取报告生成任务;根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符;根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得;将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:从目标行业对应的任务队列中获取报告生成任务;根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符;根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得;将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
在另一实施例中,图7为本申请实施例提供的一种报告生成系统架构图,如图7所示,该系统包括分布式任务中心701和至少一个处理节点702。可以理解的是,处理节点702与上述实施例中的终端设备一致,能够处理上述各方法实施例中所提供的方法。再有各个处理节点702与分布式任务中心701进行通信连接。在分布式任务中心701中存储有各个行业的任务。处理节点702从分布式任务中心701中获取任务,并将任务放入任务队列中。应当说明的是,图7中的处理节点702有两个,在实际应用中,可以有更多或更少个,本申请实施例对处理节点702的数量不作具体限定。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种报告生成方法,其特征在于,包括:
从目标行业对应的任务队列中获取报告生成任务;
根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符;
根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得;
将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
2.根据权利要求1所述的方法,其特征在于,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法还包括:
确定可用线程数;
根据所述可用线程数,按照任务优先级从分布式任务中心获取对应数量所述目标行业的任务,并将所述任务存入所述任务队列中。
3.根据权利要求2所述的方法,其特征在于,所述确定可用线程数,包括:
判断当前时间是否为非工作时间;
若所述当前时间为非工作时间,则所述可用线程数为第一线程数;
若所述当前时间为工作时间,则所述可用线程数为第二线程数;其中,所述第一线程数大于所述第二线程数。
4.根据权利要求2所述的方法,其特征在于,所述确定可用线程数,包括:
获取内存使用率;
若所述内存使用率大于预设阈值,则所述可用线程数为第三线程数;否则,所述可用线程数为第四线程数;其中,所述第三线程数小于所述第四线程数。
5.根据权利要求1所述的方法,其特征在于,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法包括:
根据预设周期从数据库中提取数据和对应的动态占位符;
将所述数据和所述动态占位符以json格式存入数据模板中。
6.根据权利要求1所述的方法,其特征在于,在从目标行业对应的任务队列中获取报告生成任务之前,所述方法还包括:
获取报告样本;
将所述报告样本进行格式转换,获得报告模板;所述报告模板包括标题、概述、图形、表格和文本中的至少一项待填充元素,所述待填充元素使用动态占位符标注。
7.一种报告生成装置,其特征在于,包括:
任务获取模块,用于从目标行业对应的任务队列中获取报告生成任务;
模板获取模块,用于根据所述报告生成任务获取所述目标行业对应的报告模板;所述报告模板包括目标动态占位符;
数据提取模块,用于根据所述目标动态占位符从所述目标行业对应的数据模板中提取对应的目标数据;其中,所述数据模板包括多个动态占位符和每一动态占位符对应的数据,且所述数据模板中的数据为预先从数据库中提取获得;
报告生成模块,用于将所述目标数据填充到所述报告模板中所述目标动态占位符对应的位置上,获得目标报告。
8.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-6任一项所述的方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-6任一项所述的方法。
10.一种报告生成系统,其特征在于,包括分布式任务中心和至少一个处理节点;其中,所述处理节点与所述分布式任务中心通信连接;
所述处理节点用于执行如权利要求1-6任一项所述的方法,且每一处理节点用于处于一种行业的报告生成任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111092926.4A CN113779949A (zh) | 2021-09-17 | 2021-09-17 | 一种报告生成方法、装置、电子设备、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111092926.4A CN113779949A (zh) | 2021-09-17 | 2021-09-17 | 一种报告生成方法、装置、电子设备、存储介质及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113779949A true CN113779949A (zh) | 2021-12-10 |
Family
ID=78851955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111092926.4A Pending CN113779949A (zh) | 2021-09-17 | 2021-09-17 | 一种报告生成方法、装置、电子设备、存储介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779949A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115270748A (zh) * | 2022-07-25 | 2022-11-01 | 中化现代农业有限公司 | 文件生成方法、装置、电子设备和存储介质 |
CN116402038A (zh) * | 2023-06-09 | 2023-07-07 | 中国中金财富证券有限公司 | 报告生成方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428272A (zh) * | 2013-07-16 | 2013-12-04 | 无限极(中国)有限公司 | 一种中间件线程的监控调度系统及方法 |
CN105446948A (zh) * | 2015-11-13 | 2016-03-30 | 武汉鸿图节能技术有限公司 | 一种报表自动生成方法及系统 |
CN107220033A (zh) * | 2017-07-05 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 用于控制线程池中线程数量的方法和装置 |
CN109299446A (zh) * | 2018-08-03 | 2019-02-01 | 新华三大数据技术有限公司 | 报告生成方法及装置 |
CN109359284A (zh) * | 2018-09-25 | 2019-02-19 | 深圳市稳大网络技术有限公司 | 一种报告处理方法、装置及终端设备 |
WO2019218454A1 (zh) * | 2018-05-16 | 2019-11-21 | 平安科技(深圳)有限公司 | 订阅报表生成方法、装置、计算机设备和存储介质 |
CN111913804A (zh) * | 2020-07-30 | 2020-11-10 | 平安证券股份有限公司 | 访前报告的生成方法、装置、电子设备及存储介质 |
-
2021
- 2021-09-17 CN CN202111092926.4A patent/CN113779949A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428272A (zh) * | 2013-07-16 | 2013-12-04 | 无限极(中国)有限公司 | 一种中间件线程的监控调度系统及方法 |
CN105446948A (zh) * | 2015-11-13 | 2016-03-30 | 武汉鸿图节能技术有限公司 | 一种报表自动生成方法及系统 |
CN107220033A (zh) * | 2017-07-05 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 用于控制线程池中线程数量的方法和装置 |
WO2019218454A1 (zh) * | 2018-05-16 | 2019-11-21 | 平安科技(深圳)有限公司 | 订阅报表生成方法、装置、计算机设备和存储介质 |
CN109299446A (zh) * | 2018-08-03 | 2019-02-01 | 新华三大数据技术有限公司 | 报告生成方法及装置 |
CN109359284A (zh) * | 2018-09-25 | 2019-02-19 | 深圳市稳大网络技术有限公司 | 一种报告处理方法、装置及终端设备 |
CN111913804A (zh) * | 2020-07-30 | 2020-11-10 | 平安证券股份有限公司 | 访前报告的生成方法、装置、电子设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115270748A (zh) * | 2022-07-25 | 2022-11-01 | 中化现代农业有限公司 | 文件生成方法、装置、电子设备和存储介质 |
CN115270748B (zh) * | 2022-07-25 | 2023-05-23 | 中化现代农业有限公司 | 文件生成方法、装置、电子设备和存储介质 |
CN116402038A (zh) * | 2023-06-09 | 2023-07-07 | 中国中金财富证券有限公司 | 报告生成方法、装置、电子设备及存储介质 |
CN116402038B (zh) * | 2023-06-09 | 2023-08-18 | 中国中金财富证券有限公司 | 报告生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110086666B (zh) | 一种告警方法、装置及系统 | |
CN109344183B (zh) | 数据交互方法、装置、计算机设备和存储介质 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN108196961B (zh) | 一种异步消息处理方法、终端、系统及存储介质 | |
CN113779949A (zh) | 一种报告生成方法、装置、电子设备、存储介质及系统 | |
CN110765157A (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
CN110018845B (zh) | 元数据版本对比方法及装置 | |
CN112463254A (zh) | 网页加载时长的获取方法、装置、设备及存储介质 | |
CN115374094A (zh) | 多源数据融合方法、智能终端以及存储介质 | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN116776030A (zh) | 灰度发布方法、装置、计算机设备、存储介质 | |
CN112491943A (zh) | 数据请求方法、装置、存储介质和电子设备 | |
CN110781232A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112633855B (zh) | 一种任务提醒方法及计算机设备 | |
CN113010852B (zh) | 数据的计量统计方法、装置、电子设备及存储介质 | |
CN112860235B (zh) | 处理文本的方法、装置、设备和存储介质 | |
CN112437126B (zh) | 基于原子接口的任务流程处理方法和设备 | |
CN111913821B (zh) | 一种实现跨数据源实时数据流生产消费的方法 | |
CN114371884A (zh) | Flink计算任务的处理方法、装置、设备和存储介质 | |
CN109542609B (zh) | 一种代扣还款的方法、装置、计算机设备和存储介质 | |
CN114257635A (zh) | 服务调用方法、系统、计算机设备、存储介质和程序产品 | |
CN112579571A (zh) | 监控数据配置、数据监控方法、装置、设备及存储介质 | |
CN116861455B (zh) | 事件数据处理方法、系统、电子设备及存储介质 | |
CN115187153B (zh) | 应用于业务风险溯源的数据处理方法及系统 | |
CN116760782A (zh) | 一种数据交互方法及装置 |
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 |