CN109241511A - 一种电子报告的生成方法及设备 - Google Patents
一种电子报告的生成方法及设备 Download PDFInfo
- Publication number
- CN109241511A CN109241511A CN201810962388.1A CN201810962388A CN109241511A CN 109241511 A CN109241511 A CN 109241511A CN 201810962388 A CN201810962388 A CN 201810962388A CN 109241511 A CN109241511 A CN 109241511A
- Authority
- CN
- China
- Prior art keywords
- project
- chain
- electronic report
- level
- concurrent
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于信息处理技术领域,提供了一种电子报告的生成方法及设备,包括:接收电子报告生成请求;获取电子报告标识对应的电子报告模板,并确定电子报告模板中包含的运算项目;根据各个运算项目的输入信号以及输出信号,确定各个运算项目的运算层级,并基于运算层级,将电子报告模板中的所有运算项目划分为N个运算链;获取用户标识对应的用户信息,并将用户信息导入至各个运算链内;创建N条并发运算线程分别处理各个导入用户信息后的运算链包含的运算项目,输出运算链的运算结果;根据各个运算链的运算结果以及电子报告模板,生成电子报告。本发明能够减少生成报告所需花费的时间,从而提高了用户的工作效率。
Description
技术领域
本发明属于信息处理技术领域,尤其涉及一种电子报告的生成方法及设备。
背景技术
电子报告,作为统计数据以及分析汇总的主要电子载体之一,应用于各个行业以及领域中,如何快速生成用户所需的报告将直接影响用户的工作效率。现有的报告生成方法,一般是通过主线程依次计算所需生成的报告中的项目,若当所需运算的项目或运算的数据较多的情况下,例如对于统计年度报告或全国范围的数据汇总报告等时间跨度大、统计区域广的报告时,往往需要较长的运算时间,从而导致用户需要花费较长的时间才能获取到所需的目标报告。由此可见,现有的报告生成技术,生成时间长,影响了用户的工作效率。
发明内容
有鉴于此,本发明实施例提供了一种报告的生成方法及设备,以解决现有的电子报告生成技术,生成时间长,影响了用户的工作效率的问题。
本发明实施例的第一方面提供了一种电子报告的生成方法,包括:
接收电子报告生成请求;所述电子报告生成请求携带有电子报告标识以及用户标识;
获取所述电子报告标识对应的电子报告模板,并确定所述电子报告模板中包含的运算项目;
根据各个运算项目的输入信号以及输出信号,确定各个运算项目的运算层级,并基于所述运算层级,将所述电子报告模板中的所有所述运算项目划分为N个运算链;所述运算链包含至少两个不同运算层级的运算项目,且所述运算项目之间输入信号以及输出信号具有关联关系;所述N为正整数;
获取所述用户标识对应的用户信息,并将所述用户信息导入至各个所述运算链内;
创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果;
根据各个所述运算链的运算结果以及所述电子报告模板,生成电子报告。
本发明实施例的第二方面提供了一种电子报告的生成设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本发明实施例提供的一种电子报告的生成方法及设备具有以下有益效果:
本发明实施例通过在接收到用户发起的报告生成请求时,提取该报告生成请求的报告标识,并获取该报告标识对应的报告模板,确定生成该目标报告所需执行的运算项目;根据运算项目的输入信号以及输出信号,确定各个运算项目所对应的运算层级,得到多条可以并行运算的运算链,继而将用户信息作为各个运算链的激励信号,并为每条运算链配置一个并发运算线程进行处理,从而得到各个运算链的运算结果,并根据运算结果以及报告模板,生成目标报告。与现有的报告生成技术相比,可以通过创建多条并发运算线程来并行处理相互独立的运算项目,减少生成报告所需花费的时间,从而提高了用户的工作效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种电子报告的生成方法的实现流程图;
图2是本发明第二实施例提供的一种电子报告的生成方法S103具体实现流程图;
图3是本发明第三实施例提供的一种电子报告的生成方法S105具体实现流程图;
图4是本发明第四实施例提供的一种电子报告的生成方法S105具体实现流程图;
图5是本发明第五实施例提供的一种电子报告的生成方法S104的具体实现流程图;
图6是本发明一实施例提供的一种电子报告的生成设备的结构框图;
图7是本发明另一实施例提供的一种电子报告的生成设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过在接收到用户发起的报告生成请求时,提取该报告生成请求的报告标识,并获取该报告标识对应的报告模板,确定生成该目标报告所需执行的运算项目;根据运算项目的输入信号以及输出信号,确定各个运算项目所对应的运算层级,得到多条可以并行运算的运算链,继而将用户信息作为各个运算链的激励信号,并为每条运算链配置一个并发运算线程进行处理,从而得到各个运算链的运算结果,并根据运算结果以及报告模板,生成目标报告,解决了现有的电子报告生成技术,生成时间长,影响了用户的工作效率的问题。
在本发明实施例中,流程的执行主体为电子报告的生成设备。该电子报告的生成设备包括但不限于:服务器、计算机、智能手机以及平板电脑等具有电子报告的生成功能的设备。图1示出了本发明第一实施例提供的电子报告的生成方法的实现流程图,详述如下:
在S101中,接收电子报告生成请求;所述电子报告生成请求携带有电子报告标识以及用户标识。
在本实施例中,用户可以在本地终端安装的客户端上选取所需生成的电子报告对应的标识,例如是需要生成年度电子报告,抑或是生成季度电子报告等,不同类型的电子报告对应一个电子报告标识。用户可以从电子报告模板列表中选取任意一个作为所需生的电子报告的标识,并在用户选取后客户端封装到该电子报告生成请求内。可选地,用户还可以自定义一个电子报告模板,用户可以在本地编辑电子报告模板并将电子报告模板发送给电子报告的生成设备,若生成设备检测到该用户发送的电子报告模板合法,例如文件类型以及运算项目符合预设的检测条件,则为该电子报告模板配置对应的电子报告标识,用户可以基于该电子报告标识选取自身定义的电子报告模板,并封装到电子报告生成请求内。
在本实施例中,若用户是通过客户端发送电子报告生成请求,在该情况下,在用户选取了电子报告标识后,客户端会自动拉取用户登录客户端的用户标识添加到该电子报告生成请求内,并发送给生成设备;若用户是在生成设备上直接进行电子报告的生成操作,则生成设备可以通过获取用户指纹或用户图像等方式,获取用户的生物特征信息,并基于生物特征信息确定用户的用户标识。
可选地,该电子报告的生成设备可以为一服务器,各个用户可以同自身用户终端安装的客户端向电子报告的生成设备发送电子报告生成请求,在该情况下,生成设备可以同时响应多个用户发送的电子报告生成请求。生成设备可以通过主进程基于各个请求的上传次序,确定其对应的处理持续,通过后续的方式依次处理多个电子报告生成请求;另一方面,生成设备还可以将主进程划分为多个并发子进程,从而通过多个子进程同时响应多个电子报告生成请求,并在生成完毕后基于该电子报告生成请求中携带的用户标识,返回给对应的客户端,以实现将电子报告展示给用户。
在S102中,获取所述电子报告标识对应的电子报告模板,并确定所述电子报告模板中包含的运算项目。
在本实施例中,生成设备在接收到该电子报告生成请求后,会提取该请求中包含的电子报告标识,并从电子报告模板库中查询与该电子报告标识对应的电子报告模板作为用户所需生成的电子报告模板。
可选地,该电子报告标识由主编码以及子编码构成,主编码用于表示电子报告模板的类型,而子编码用于表示该类电子模板的版本号。因此,当生成设备接收到该电子报告标识后,会从电子报告模板库中查询是否包含主编码的电子报告模板,若不存在,则返回电子报告标识异常给用户;反之,若存在,则识别包含主编码的电子报告模板为候选报告模板,并从候选报告模板中判断是否包含子编码的电子报告模板,若存在,则识别该电子报告模板为目标报告模板,并通过该目标报告模板生成用户所需的电子报告;反之,若不存在,则从服务器处下载该子编码对应的电子报告模板,并导入到电子报告模板库内。
在本实施例中,生成一个电子报告内包含多个参数值,而计算每个参数值则需要至少通过一个运算项目对用户信息进行计算后才可以得到,因此生成设备需要对电子报告中包含的所有运行项目均计算完毕后,才能够得到用户所需的电子报告,而相同类型的电子报告,其所计算的运算项目也是个数以及内容均是相同的,因此可以根据电子报告模板确定生成电子报告所需执行的运算项目。
在本实施例中,计算一个参数值可能只需一个运算项目即可计算得到,即只需执行一次运算,例如计算用户的年龄信息,只需获取用户的出生时间,并将当前时间与出生时间进行差值运算,则可以得到一个用户的年龄信息。而部分参数值可能需要多个运算项目协同运作才可能计算得到,例如,计算用户的历史交易金额的标准差,则首先需要计算用户历史交易金额的平均值,并才能计算该用户的历史交易金额的标准差,即需要两个运算项目。生成设备会检测电子报告模板中所需计算的所有参数值,并基于各个参数值的类型确定其对应的运算项目,从而统计得到该电子报告模板中包含的运算项目。
在S103中,根据各个运算项目的输入信号以及输出信号,确定各个运算项目的运算层级,并基于所述运算层级,将所述电子报告模板中的所有所述运算项目划分为N个运算链;所述运算链包含至少两个不同运算层级的运算项目,且所述运算项目之间输入信号以及输出信号具有关联关系;所述N为正整数。
在本实施例中,生成设备在确定了电子报告模板中包含的运算项目后,会确定各个运算项目的输入信号以及输出信号,输入信号即计算该运算项目所需的参数,即自变量;而输出信号是将输入信号通过运算项目进行转换后,得到的参数值,即因变量。一个运算项目可以对应多个输入信号,还可以对应多个输出信号,具体根据运算项目的类型而确定。
在本实施例中,一部分运算项目可以直接利用用户信息则可以计算得到,即无需经过其他运算项目对用户信息进行参数转换,对于该类运算项目,且运算层级为第一运算层级;而部分运算项目需要经过其他运算项目进行预处理后,基于其他预算项目的输出信号作为其输入,才能够进行计算,例如上述计算用户历史交易金额的标准差,则需要通过计算历史交易金额的平均值这一运算项目的计算结果作为输入,才能够进行计算,因此,某一运算项目中输入信号需要经过N个其他运算项目处理,则该运算项目所处的运算层级即为第N+1运算层级。
在本实施例中,生成设备在确定了各个运算项目所属的运算层级后,可以基于不同运算项目之间输入信号以及输出信号之间的关联关系,将不同运算层级的运算项目组成一条运算链,生成设备可以基于该运算链从第一运算层级对应的运算项目依次计算至最高已运算层级对应的运算项目。例如上述计算用户历史交易金额的标准差以及计算用户的历史交易金额的平均值这两个运算项目可以构成一运算链,在生成设备计算完成历史交易金额的平均值后,可以将该运算项目的输出信号作为历史交易金额的标准差这一运算项目的输入信号,即两者之间的输出信号与输入信号之间存在关联关系,从而构成一运算链。
在S104中,获取所述用户标识对应的用户信息,并将所述用户信息导入至各个所述运算链内。
在本实施例中,生成设备将所有项目划分为多条运算链后,可以基于电子报告生成请求中包含的用户标识,获取该用户的用户信息,并将该用户信息导入到各个运算链内,并通过运算链中各个运算项目进行计算后,得到该用户对应的参数值。
在本实施例中,生成设备可以基于用户标识从用户数据库中查询与该用户标识匹配的用户信息,该用户数据库可以存储与电子报告的生成设备内,也可以存储于一外部数据库服务器内。在该情况下,生成设备向该外部数据库服务器发送一个用户信息查询请求,以便外部数据库服务器基于该请求中包含的用户标识返回对应用户的用户信息给生成设备。
在S105中,创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果。
在本实施例中,为了提高对电子报告的生成效率,生成设备会为每条运算链配置对应的并发运算线程,以通过该并发运算线程计算该运算链中包含的运算项目。因此,在确定了运算链的个数后,则生成设备可以从主线程中划分N条子线程,并将上述子线程的工作模式设置为并发运行模型,即上述的并发运算线程。
在本实施例中,一条运算链中包含至少两个运算项目,因此,并发运算线程会基于各个运算项目在该运算链中的层级确定各个运算项目的运算次序,并将上一运算层级的输出信号作为下一运算层级的输入信号,从而计算得到该运算链对应的运算结果。当然,该运算结果除了包括最后一运算层级的运算项目的输出结果外,还可以包含各个中间层级的运输出结果,
可选地,在本实施例中,若不同的运算链之间包含相同的运算项目,在该情况下,生成设备可以运算项目在不同运算链中的运算层级,计算运算层级较低的运算链中的该运算项目,并将该运算项目的运算结果反馈给另一运算链,即相同运算项目但运算层级较高的运算链,从而避免对于相同的运算项目重复计算。
在S106中,根据各个所述运算链的运算结果以及所述电子报告模板,生成电子报告。
在本实施例中,生成设备通过多个并发运算线程计算各个运算链的运算项目,并得到各个运算链的运算结果,基于所述运算结果的参数值,填入到电子报告模板中对应的区域,从而得到所述用户所需生成的电子报告,并输出给用户。
以上可以看出,本发明实施例提供的一种电子报告的生成方法通过在接收到用户发起的报告生成请求时,提取该报告生成请求的报告标识,并获取该报告标识对应的报告模板,确定生成该目标报告所需执行的运算项目;根据运算项目的输入信号以及输出信号,确定各个运算项目所对应的运算层级,得到多条可以并行运算的运算链,继而将用户信息作为各个运算链的激励信号,并为每条运算链配置一个并发运算线程进行处理,从而得到各个运算链的运算结果,并根据运算结果以及报告模板,生成目标报告。与现有的报告生成技术相比,可以通过创建多条并发运算线程来并行处理相互独立的运算项目,减少生成报告所需花费的时间,从而提高了用户的工作效率。
图2示出了本发明第二实施例提供的一种电子报告的生成方法S103的具体实现流程图。参见图2所示,相对于图1述实施例,本实施例提供的一种电子报告的生成方法中S103包括:S1031~S1033,具体详述如下:
在S1031中,依次对各个运算项目执行运算层级识别操作,确定各个所述运算项目的运算层级。
在本实施例中,电子报告的生成设备会通过运算层级识别操作,确定各个运算项目所属的运算层级。对各个运算项目均进行S1022以及S1023的识别判断,确定该运算项目的上一运算层级以及下一运算层级,从而在确定了各个运算项目之间的相互位置关系后,则可以得到该运算项目所对应的运算层级。
可选地,生成设备可以首先确定处于第一运算层级的运算项目,该第一运算层级的运算项目具体为:该运算项目的输入信号均可以从用户信息中直接提取,即不需要依赖其他运算项目的运算结果则可以直接运算。在确定了该第一运算层级的运算项目后,可以确定需要该第一运算层级的输出信号的运算项目,从而确定第二运算层级的运算项目,以此类推,从而确定了各个运算项目所属的运算层级。
在S1032中,若任一运算项目的输入信号包含另一运算项目的输出信号,则识别该运算项目处于所述另一运算项目的下一运算层级。
在本实施例中,若某一运算项目的输入信号包含另一运算项目的输出信号,则表示该运算项目需要等待另一运算项目运算完毕后,才能够进行计算,因此在该情况下,生成设备可以判断该运算项目处于另一运算项目的下一运算层级。
在S1033中,若任一运算项目的输出信号包含另一运算项目的输入信号,则识别该运算项目处于所述另一运算项目的上一运算层级。
在本实施例中,若某一运算项目的输出信号包含另一运算项目的输入信号,则表示该运算项目运算完后,其输出信号可以传递给另一运算项目,另一运算项目可以执行其运算操作,在该情况下,生成设备可以判断该运算项目处于另一运算项目的上一运算层级。
在本发明实施例中,通过预设的运算层级识别操作,确定各个运算项目的关联运算层级,从而能够基于运算项目的关联运算层级依次排列,从而确定各个运算项目所述的运算层级,提高了运算层级的识别效率。
图3示出了本发明第三实施例提供的一种电子报告的生成方法S105的具体实现流程图。参见图3所示,相对于图1所述实施例,本实施例提供的一种电子报告的生成方法中S105包括S1051~S1053,具体详述如下:
进一步地,所述运算链包括链编号;所述创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果,包括:
在S1051中,创建N条所述并发运算线程,并为每条所述并发运算线程关联一个链编号。
在本实施例中,电子报告的生成设备在确定了该电子报告模板中包含的所有运算链后,会为每个运算链配置与之对应的链编号。对于相同的电子报告模板,其包含的运算链的个数也是相同的,从而其对应的链编号也相同。
在本实施例中,生成设备除了为运算链配置链编号外,还会为创建的并发运算线程关联一个链编号,基于该链编号构建并发运算线程与运算链之间的对应关系,各个运算链用于处理其关联的链编号对应的运算链内的运算项目。由于电子报告的生成设备可以接受多个用户发起的电子报告生成请求,即同一时刻需要对多个请求进行响应,通过链编号,可以实现并发运算线程与某一类型的运算链进行关联,即各个并发运算线程可以处理固定类型的运算链的运算项目,从而能够提高运算效率。
在S1052中,将导入用户信息后的所述运算链添加到该运算链的链编号对应的运算任务池内,并设置该导入用户信息后的所述运算链的添加次序。
在本实施例中,生成设备将导入了用户信息的运算链添加到该运算链的链编号对应的运算任务池内,每个运算任务池用于存储相同链编号的不同用户的运算链。由于生成设备可以响应多个用户的电子报告生成请求,而不同用户可能会生成同一类型的电子报告,从而会创建链编号相同的运算链。生成设备为了固定每条并发运算线程处理同样类型的运算链,会为各个运算类型的运算链创建一个运算任务池,并在识别到存在该类型运算链时,将其添加到该运算任务池内,并根据添加时间的先后顺序,确定所添加的运算链的添加次序。
在S1053中,根据所述链编号确定各个并发运算线程关联的运算任务池,并基于所述添加次序,调用所述并发运算线程依次处理该并发运算线程关联的运算任务池内的运算项目。
在本实施例中,生成设备会会根据运算任务池内运算链的链编号,确定其对应的并发运算线程,并根据运算任务池内各个运算链所对应的添加次序,通过其关联的并发运算线程依次处理各个运算链的运算项目,从而能够实现同时响应多个用户发起的电子报告生成请求的目的,提高了电子报告的生成效率。
在本发明实施例中,通过将相同类型的。
图4示出了本发明第四实施例提供的一种电子报告的生成方法S104的具体实现流程图。参见图4所示,相对于图1-图3所述实施例,本实施例提供的一种电子报告的生成方法中S105包括:S1051’~S1052’,具体详述如下:
在S1051’中,基于所述运算层级,调用所述并发运算线程依次处理导入用户信息后的所述运算链中的各个运算项目,并将当前运算层级的运算项目的运算结果作为下一运算层级的运算项目的输入信号。
在本实施例中,一条运算链内包含多个运算项目,而不同运算项目所属的运算层级不同,电子报告的生成设备在挑用并发运算线程计算某一运算链内的各个运算项目时,会根据各个运算项目的运算层级的顺序,从运算层级最低的运算项目开始计算,并将当前运算层级的运算项目的运算结果作为下一运算层级的运算项目的输入信号,以实现运算结果依次在各个运算层级的运算项目中传递。
在S1052’中,识别第M运算层级的运算结果为所述运算链的运算结果;所述M为该运算链包含的运算层级的级数。
在本实施例中,生成设备会将最后一层级的运算项目输出的运算结果,作为运算链对应的运算结果。
在本发明实施例中,将不同处理层级的运算项目依次执行,从而实现了各个相互独立的运算链之间能够并发进行运算,从而提高了电子报告的生成效率。
图5示出了本发明第五实施例提供的一种电子报告的生成方法S104的具体实现流程图。参见图5所示,相对于图1所述实施例,本实施例提供的一种电子报告的生成方法中S104包括:S1041~S1042,具体详述如下:
进一步地,所述电子报告生成请求还包括汇总时间区间;所述获取所述用户标识对应的用户信息,包括:
在S1041中,查询所述用户标识的用户日志;所述用户日志包括日志生成时间。
在本实施例中,电子报告生成请求中携带有汇总时间区间,即用于限定该电子报告所表示需要分析哪一个时间段内用户的信息。例如,该电子报告为年度汇总报告,则用户可以在该汇总时间区间内选取所需汇总的年份,从而电子报告的生成设备能够基于该汇总时间区间,生成与之对应的电子报告。当然,用户还可以通过对该汇总时间区间进行设置,实现对部分用户日志进行屏蔽,以提高电子报告的准确率。
在本实施例中,生成设备会获取各个与该用户标识对应的用户日志,该用户日志用于表示用户所产生的相关操作,例如登录操作、交易操作、信息变更操作等。用户每执行一项操作,均会生成与之对应的用户日志。
在S1042中,选取所述日志生成时间在所述汇总时间区间内的用户日志作为所述用户信息。
在本实施例中,生成设备会根据电子报告生成请求中包含的汇总时间区间,从用户标识所有的用户日志中,选取日志生成时间在该汇总时间区间内的用户日志生成用户信息,并通过该用户信息生成电子报告。
在本发明实施例中,通过设置汇总时间区间,从而能够生成关于对应时间段内用户行为的电子报告,实现进准定位的目的,提高了电子报告对于用户行为分析的准确率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种电子报告的生成设备的结构框图,该电子报告的生成设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述电子报告的生成设备包括:
生成请求接收单元61,用于接收电子报告生成请求;所述电子报告生成请求携带有电子报告标识以及用户标识;
运算项目确定单元62,用于获取所述电子报告标识对应的电子报告模板,并确定所述电子报告模板中包含的运算项目;
运算链生成单元63,用于根据各个运算项目的输入信号以及输出信号,确定各个运算项目的运算层级,并基于所述运算层级,将所述电子报告模板中的所有所述运算项目划分为N个运算链;所述运算链包含至少两个不同运算层级的运算项目,且所述运算项目之间输入信号以及输出信号具有关联关系;所述N为正整数;
用户信息获取单元64,用于获取所述用户标识对应的用户信息,并将所述用户信息导入至各个所述运算链内;
并发运算执行单元65,用于创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果;
电子报告生成单元66,用于根据各个所述运算链的运算结果以及所述电子报告模板,生成电子报告。
可选地,运算链生成单元63包括:
运算层级确定单元,用于依次对各个运算项目执行运算层级识别操作,确定各个所述运算项目的运算层级;所述运算层级识别操作具体为:
第一关联层级识别单元,用于若任一运算项目的输入信号包含另一运算项目的输出信号,则识别该运算项目处于所述另一运算项目的下一运算层级;
第二关联层级识别单元,用于若任一运算项目的输出信号包含另一运算项目的输入信号,则识别该运算项目处于所述另一运算项目的上一运算层级。
可选地,所述并发运算执行单元65包括:
并发运算线程关联单元,用于创建N条所述并发运算线程,并为每条所述并发运算线程关联一个链编号;
运算链添加单元,用于将导入用户信息后的所述运算链添加到该运算链的链编号对应的运算任务池内,并设置该导入用户信息后的所述运算链的添加次序;
运算任务池执行单元,用于根据所述链编号确定各个并发运算线程关联的运算任务池,并基于所述添加次序,调用所述并发运算线程依次处理该并发运算线程关联的运算任务池内的运算项目。
可选地,所述异常等级确定单元64包括:
运算结果传递单元,用于基于所述运算层级,调用所述并发运算线程依次处理导入用户信息后的所述运算链中的各个运算项目,并将当前运算层级的运算项目的运算结果作为下一运算层级的运算项目的输入信号;
运算结果输出单元,用于识别第M运算层级的运算结果为所述运算链的运算结果;所述M为该运算链包含的运算层级的级数。
可选地,所述电子报告的生成设备还包括:
用户日志获取单元,用于查询所述用户标识的用户日志;所述用户日志包括日志生成时间;
用户日志选取单元,用于选取所述日志生成时间在所述汇总时间区间内的用户日志作为所述用户信息。
因此,本发明实施例提供的电子报告的生成设备同样可以通过在接收到用户发起的报告生成请求时,提取该报告生成请求的报告标识,并获取该报告标识对应的报告模板,确定生成该目标报告所需执行的运算项目;根据运算项目的输入信号以及输出信号,确定各个运算项目所对应的运算层级,得到多条可以并行运算的运算链,继而将用户信息作为各个运算链的激励信号,并为每条运算链配置一个并发运算线程进行处理,从而得到各个运算链的运算结果,并根据运算结果以及报告模板,生成目标报告。与现有的报告生成技术相比,可以通过创建多条并发运算线程来并行处理相互独立的运算项目,减少生成报告所需花费的时间,从而提高了用户的工作效率。
图7是本发明另一实施例提供的一种电子报告的生成设备的示意图。如图7所示,该实施例的电子报告的生成设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如电子报告的生成程序。所述处理器70执行所述计算机程序72时实现上述各个电子报告的生成方法实施例中的步骤,例如图1所示的S101至S106。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至66功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述电子报告的生成设备7中的执行过程。例如,所述计算机程序72可以被分割成生成请求接收单元、运算项目确定单元、运算链生成单元、用户信息获取单元、并发运算执行单元以及电子报告生成单元,各单元具体功能如上所述。
所述电子报告的生成设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子报告的生成设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是电子报告的生成设备7的示例,并不构成对电子报告的生成设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子报告的生成设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述电子报告的生成设备7的内部存储单元,例如电子报告的生成设备7的硬盘或内存。所述存储器71也可以是所述电子报告的生成设备7的外部存储设备,例如所述电子报告的生成设备7上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述电子报告的生成设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述电子报告的生成设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种电子报告的生成方法,其特征在于,包括:
接收电子报告生成请求;所述电子报告生成请求携带有电子报告标识以及用户标识;
获取所述电子报告标识对应的电子报告模板,并确定所述电子报告模板中包含的运算项目;
根据各个运算项目的输入信号以及输出信号,确定各个运算项目的运算层级,并基于所述运算层级,将所述电子报告模板中的所有所述运算项目划分为N个运算链;所述运算链包含至少两个不同运算层级的运算项目,且所述运算项目之间输入信号以及输出信号具有关联关系;所述N为正整数;
获取所述用户标识对应的用户信息,并将所述用户信息导入至各个所述运算链内;
创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果;
根据各个所述运算链的运算结果以及所述电子报告模板,生成电子报告。
2.根据权利要求1所述的生成方法,其特征在于,所述根据各个运算项目的输入信号以及输出信号,确定各个运算项目的运算层级,包括:
依次对各个运算项目执行运算层级识别操作,确定各个所述运算项目的运算层级;所述运算层级识别操作具体为:
若任一运算项目的输入信号包含另一运算项目的输出信号,则识别该运算项目处于所述另一运算项目的下一运算层级;
若任一运算项目的输出信号包含另一运算项目的输入信号,则识别该运算项目处于所述另一运算项目的上一运算层级。
3.根据权利要求1所述的生成方法,其特征在于,所述运算链包括链编号;所述创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果,包括:
创建N条所述并发运算线程,并为每条所述并发运算线程关联一个链编号;
将导入用户信息后的所述运算链添加到该运算链的链编号对应的运算任务池内,并设置该导入用户信息后的所述运算链的添加次序;
根据所述链编号确定各个并发运算线程关联的运算任务池,并基于所述添加次序,调用所述并发运算线程依次处理该并发运算线程关联的运算任务池内的运算项目。
4.根据权利要求1-3任一项所述的生成方法,其特征在于,所述创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果,包括:
基于所述运算层级,调用所述并发运算线程依次处理导入用户信息后的所述运算链中的各个运算项目,并将当前运算层级的运算项目的运算结果作为下一运算层级的运算项目的输入信号;
识别第M运算层级的运算结果为所述运算链的运算结果;所述M为该运算链包含的运算层级的级数。
5.根据权利要求1-3任一项所述的生成方法,其特征在于,所述电子报告生成请求还包括汇总时间区间;所述获取所述用户标识对应的用户信息,包括:
查询所述用户标识的用户日志;所述用户日志包括日志生成时间;
选取所述日志生成时间在所述汇总时间区间内的用户日志作为所述用户信息。
6.一种电子报告的生成设备,其特征在于,所述电子报告的生成设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
接收电子报告生成请求;所述电子报告生成请求携带有电子报告标识以及用户标识;
获取所述电子报告标识对应的电子报告模板,并确定所述电子报告模板中包含的运算项目;
根据各个运算项目的输入信号以及输出信号,确定各个运算项目的运算层级,并基于所述运算层级,将所述电子报告模板中的所有所述运算项目划分为N个运算链;所述运算链包含至少两个不同运算层级的运算项目,且所述运算项目之间输入信号以及输出信号具有关联关系;所述N为正整数;
获取所述用户标识对应的用户信息,并将所述用户信息导入至各个所述运算链内;
创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果;
根据各个所述运算链的运算结果以及所述电子报告模板,生成电子报告。
7.根据权利要求6所述的生成设备,其特征在于,所述根据各个运算项目的输入信号以及输出信号,确定各个运算项目的运算层级,包括:
依次对各个运算项目执行运算层级识别操作,确定各个所述运算项目的运算层级;所述运算层级识别操作具体为:
若任一运算项目的输入信号包含另一运算项目的输出信号,则识别该运算项目处于所述另一运算项目的下一运算层级;
若任一运算项目的输出信号包含另一运算项目的输入信号,则识别该运算项目处于所述另一运算项目的上一运算层级。
8.根据权利要求6所述的生成设备,其特征在于,所述运算链包括链编号;所述创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果,包括:
创建N条所述并发运算线程,并为每条所述并发运算线程关联一个链编号;
将导入用户信息后的所述运算链添加到该运算链的链编号对应的运算任务池内,并设置该导入用户信息后的所述运算链的添加次序;
根据所述链编号确定各个并发运算线程关联的运算任务池,并基于所述添加次序,调用所述并发运算线程依次处理该并发运算线程关联的运算任务池内的运算项目。
9.根据权利要求6-8任一项所述的生成设备,其特征在于,所述创建N条并发运算线程分别处理各个导入用户信息后的所述运算链包含的运算项目,输出所述运算链的运算结果,包括:
基于所述运算层级,调用所述并发运算线程依次处理导入用户信息后的所述运算链中的各个运算项目,并将当前运算层级的运算项目的运算结果作为下一运算层级的运算项目的输入信号;
识别第M运算层级的运算结果为所述运算链的运算结果;所述M为该运算链包含的运算层级的级数。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810962388.1A CN109241511B (zh) | 2018-08-22 | 2018-08-22 | 一种电子报告的生成方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810962388.1A CN109241511B (zh) | 2018-08-22 | 2018-08-22 | 一种电子报告的生成方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109241511A true CN109241511A (zh) | 2019-01-18 |
CN109241511B CN109241511B (zh) | 2023-04-07 |
Family
ID=65068568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810962388.1A Active CN109241511B (zh) | 2018-08-22 | 2018-08-22 | 一种电子报告的生成方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241511B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460007A (zh) * | 2020-04-26 | 2020-07-28 | 广东电网有限责任公司东莞供电局 | 继电保护专业数据的处理方法、装置、设备及存储介质 |
CN113436699A (zh) * | 2021-06-29 | 2021-09-24 | 深圳市核子基因科技有限公司 | 新冠核酸检测报告生成方法、系统、电子设备和存储介质 |
CN115577690A (zh) * | 2022-09-23 | 2023-01-06 | 海南乾唐视联信息技术有限公司 | 一种项目报告生成方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2902903A1 (en) * | 2014-01-31 | 2015-08-05 | Sybase, Inc. | Safe synchronization of parallel data operator trees |
CN106156147A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种基于大数据分析的报告发送方法、装置及系统 |
CN107861755A (zh) * | 2017-03-14 | 2018-03-30 | 平安科技(深圳)有限公司 | 线程连接的控制方法及装置 |
CN108228441A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种应用程序评测报告的生成方法、装置以及评测报告 |
-
2018
- 2018-08-22 CN CN201810962388.1A patent/CN109241511B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2902903A1 (en) * | 2014-01-31 | 2015-08-05 | Sybase, Inc. | Safe synchronization of parallel data operator trees |
CN106156147A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种基于大数据分析的报告发送方法、装置及系统 |
CN108228441A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种应用程序评测报告的生成方法、装置以及评测报告 |
CN107861755A (zh) * | 2017-03-14 | 2018-03-30 | 平安科技(深圳)有限公司 | 线程连接的控制方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460007A (zh) * | 2020-04-26 | 2020-07-28 | 广东电网有限责任公司东莞供电局 | 继电保护专业数据的处理方法、装置、设备及存储介质 |
CN113436699A (zh) * | 2021-06-29 | 2021-09-24 | 深圳市核子基因科技有限公司 | 新冠核酸检测报告生成方法、系统、电子设备和存储介质 |
CN115577690A (zh) * | 2022-09-23 | 2023-01-06 | 海南乾唐视联信息技术有限公司 | 一种项目报告生成方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109241511B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163474A (zh) | 一种任务分配的方法及设备 | |
US9247022B2 (en) | Method and apparatus for optimizing performance and network traffic in distributed workflow processing | |
CN108415832A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
US11507858B2 (en) | Rapid predictive analysis of very large data sets using the distributed computational graph using configurable arrangement of processing components | |
CN108683562A (zh) | 异常检测定位方法、装置、计算机设备及存储介质 | |
CN109241511A (zh) | 一种电子报告的生成方法及设备 | |
CN108984388A (zh) | 一种生成自动化测试用例的方法及终端设备 | |
CN109656963A (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
CN109344154A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107862425B (zh) | 风控数据采集方法、设备、系统及可读存储介质 | |
CN109376069A (zh) | 一种测试报告的生成方法及设备 | |
CN109614327B (zh) | 用于输出信息的方法和装置 | |
CN115237802A (zh) | 基于人工智能的模拟测试方法及相关设备 | |
CN110262951A (zh) | 一种业务秒级监控方法及系统、存储介质及客户端 | |
CN110019214A (zh) | 对数据拆分结果进行校验的方法和装置 | |
CN109033165A (zh) | 一种数据展示方法、计算机可读存储介质及终端设备 | |
CN110413419A (zh) | 一种规则执行的方法和装置 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN108509259A (zh) | 获取多方数据源的方法以及风控系统 | |
CN109446054B (zh) | 基于大数据的越权操作请求的处理方法及终端设备 | |
CN108255704A (zh) | 一种脚本调用事件的异常响应方法及其终端 | |
US20230014435A1 (en) | Filter class for querying operations | |
CN110472190A (zh) | 填充有序序列的方法和装置 | |
CN109902698A (zh) | 信息生成方法和装置 | |
CN107797924A (zh) | 一种sql脚本的异常检测方法及其终端 |
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 |