CN113268501A - 一种报告生成方法及装置 - Google Patents
一种报告生成方法及装置 Download PDFInfo
- Publication number
- CN113268501A CN113268501A CN202110580369.4A CN202110580369A CN113268501A CN 113268501 A CN113268501 A CN 113268501A CN 202110580369 A CN202110580369 A CN 202110580369A CN 113268501 A CN113268501 A CN 113268501A
- Authority
- CN
- China
- Prior art keywords
- target
- report
- thread
- access
- threads
- 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 47
- 238000001514 detection method Methods 0.000 claims description 36
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 21
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- 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/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- 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)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种报告生成方法及装置,该方法包括:接收客户端发送的针对目标报告的报告生成请求,并确定存储有目标报告内容的一个或多个目标数据库;创建多个线程并为每个线程分配至少一个目标数据库;多个程用于并行地向各自被分配的目标数据库发送访问请求并接收目标数据库返回的访问结果;基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告并将所生成的目标报告返回至所述客户端。该方案将报告生成请求对应的多个目标数据库的访问请求分配给新创建的多个线程并行执行,并基于预设的报告生成模板将多个线程得到的目标数据库的访问结果转换为目标报告,提高了数据获取效率,提升了用户使用体验。
Description
技术领域
本申请涉及计算机技术领域,特别是一种报告生成方法及装置。
背景技术
各类信息管理平台能够向用户提供报告查询业务,举例来说,资产管理平台能够从资产类型、厂商、相关风险等多个角度,结合图表、文字等多种形式为用户输出查询报告,其中,所述报告是由服务端响应客户端的请求后,综合来自多个数据库的数据生成的。
按照传统方式,服务端将在收到客户端的报告生成请求后,确定生成报告所需要访问的数据库,然后依次向各个数据库发送访问请求,即,得到前一访问请求的访问结果后,再向后一数据库发送访问请求,直至得到最后一次访问请求的访问结果。但在大数据场景下,随着报告内容的不断拓展以及数据库数据量的不断增长,上述方式往往需要耗费大量时间生成报告,严重影响了用户体验。
发明内容
本申请提供一种报告生成方法及装置,以解决相关技术中所存在的问题。
根据本申请实施例的第一方面,提供一种报告生成方法,所述方法包括:
接收客户端发送的针对目标报告的报告生成请求,并确定存储有所述目标报告的报告内容的一个或多个目标数据库;
创建多个线程并为每个线程分配至少一个目标数据库;所述多个线程用于并行地向各自被分配的目标数据库发送访问请求并接收所述目标数据库返回的访问结果;
基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告,并将所生成的目标报告返回至所述客户端。
根据本申请实施例的第二方面,提供一种报告生成装置,所述装置包括接收单元、创建单元和生成单元:
其中,接收单元,用于接收客户端发送的针对目标报告的报告生成请求,并确定存储有所述目标报告的报告内容的一个或多个目标数据库;
创建单元,用于创建多个线程并为每个线程分配至少一个目标数据库;所述多个线程用于并行地向各自被分配的目标数据库发送访问请求并接收所述目标数据库返回的访问结果;
生成单元,用于基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告,并将所生成的目标报告返回至所述客户端。
本申请技术方案中,将报告生成请求对应的多个目标数据库的访问请求分配给新创建的多个线程并行执行,并基于预设的报告生成模板将多个线程得到的目标数据库的访问结果转换为目标报告,提高了数据获取效率,提升了用户使用体验。
附图说明
图1为本申请所提供的一种报告生成方法的流程图;
图2为本申请所提供的一种报告生成装置所在电子设备的硬件结构示意图;
图3为本申请所提供的一种报告生成装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
各类信息管理平台能够向用户提供报告查询业务,用户在以网页或应用程序形式运行的客户端上针对特定报告进行查询时,将向相应的服务端发送报告生成请求,服务端在接收到报告生成请求后,将向一或多个目标数据库请求生成这一特定报告所属的数据,然后将生成的报告返回给客户端;该业务广泛应用于资产管理平台、用户信息管理平台等诸多场景。
相关技术中,服务端在向目标数据库执行数据访问时,将在报告生成进程中依次向目标数据库发送访问请求,即,得到前一目标数据库返回的访问结果后,所述报告生成进程再向后一目标数据库发送访问请求。然而,随着应用场景的复杂化,在大数据场景下,报告中涉及到的内容不断拓展,数据库规模也不断扩大,为了生成目标报告,服务端需要向更多目标数据库执行更多次的数据访问,相关技术中这种传统的数据访问方式效率低下,严重影响了用户的使用体验。
有鉴于此,本申请提出一种报告生成方法,以多线程方式并行地向目标数据库进行数据访问,根据得到的数据库访问结果,基于预设模板生成目标报告,以解决相关技术中报告生成的效率问题。
图1所示,为本申请所提供的一种报告生成方法的流程图,所述报告生成方法可以应用于任一执行报告生成的服务端,例如:各类信息管理平台的后端服务器等。
所述报告生成方法可以包括如下具体步骤:
步骤102,服务端接收客户端发送的针对目标报告的报告生成请求,并确定存储有所述目标报告报告内容的一个或多个目标数据库。
当用户访问提供报告查询服务的网页或应用程序并执行生成报告的操作后,客户端将响应于用户执行的所述生成报告的操作,向相应的服务端发送针对目标报告的报告生成请求。
所述服务端接收所述客户端发送的针对目标报告的报告生成请求后,将存储有目标报告内容的一或多个目标数据库,即确定生成所述目标报告服务端需要访问的一或多个目标数据库,以得到生成目标报告需要的目标数据。
在一种可能的情况下,客户端发送的报告生成请求中携带有指定生成的目标报告的类型标识,服务端预先存储有报告的类型标识与目标数据库之间的对应关系,所述服务端将在接收到所述报告生成请求后,根据其中携带的类型标识确定需要访问的一或多个目标数据库。举例来说,服务端预先存储有资产管理报告的类型标识EAM与目标数据库A、B、C之间的对应关系,当接收到的报告生成请求中携带类型标识EAM,服务端可以确定存储有目标报告的报告内容的目标数据库为数据库A、B、C,服务端将向目标数据库A请求资产信息,向目标数据库B请求厂商信息,向目标数据库C请求风险信息。
在另一种可能的情况下,客户端发送的报告生成请求中携带有指定生成的目标报告的内容标识,服务端预先存储有报告的内容标识与目标数据库之间的对应关系,所述服务端将在接收到所述报告生成请求后,根据其中携带的内容标识确定需要访问的一或多个目标数据库。举例来说,服务端预先存储有资产信息的内容标识Asset与目标数据库A、厂商信息Vendor与目标数据库B、风险信息Risk与目标数据库C之间的对应关系,当接收到的报告生成请求中携带有内容标识Asset和Vendor,服务端可以确定存储有目标报告的报告内容的目标数据库为数据库A、B,服务端将向目标数据库A请求资产信息,向目标数据库B请求厂商信息。
可以理解的是,在不是上述客户端-服务端的场景下,生成目标报告的电子设备可以不向外发送报告生成请求,由本电子设备确定生成所述目标报告的一或多个目标数据库,并由本电子设备执行向所述目标数据库进行数据访问等后续步骤,这一场景也应当在本申请的保护范围之内。
步骤104,所述服务端创建多个线程并为每个线程分配至少一个目标数据库,所述多个线程用于并行地向各自被分配的目标数据库发送访问请求并接收所述目标数据库返回的访问结果。
在确定生成目标报告需要访问的目标数据库后,服务端将启动生成目标报告的进程,并在所述报告生成进程中创建多个线程,创建的各个线程将被分配至少一个目标数据库,即创建的各个线程将分别执行至少一个目标数据库的数据访问。目标数据库分配后,多个线程将以并行方式,互不干扰地向各自被分配的目标数据库发送访问请求并接收所述目标数据库的返回的访问结果。
在报告生成进程中创建多个线程并为每个线程分配至少一个目标数据库,存在多种可选择的实现方式,本申请对此不作具体限制。
在一个例子中,可以预先设置要创建的线程数量并确定生成目标报告需要访问的目标数据库的数量,所述服务端于报告生成进程中创建预设数量的线程,然后根据所述线程数量和所述目标数据库的数量,将所述目标数据库平均分配至各线程,即,将对平均分配后的目标数据库的数据访问封装在对应的线程内加以执行。
基于前例,若预设创建的线程数量为3,确定目标数据库的数量为3,则创建线程1,执行目标数据库A的数据访问,创建线程2,执行目标数据库B的数据访问,创建线程3,执行目标数据库C的数据访问。
步骤106,所述服务端基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成所述目标报告,并将所生成的目标报告返回至所述客户端。
步骤104创建各线程后,它们将以并行方式分别执行数据访问并分别得到对应的访问结果,基于预设的报告生成模板,服务端将创建的多个线程得到的目标数据库的多个访问结果转换为目标报告,并将生成完毕的目标报告返回给客户端,以完成本次报告生成任务。
要说明的是,于报告生成进程中创建的线程并没有表征线程执行完毕的原始返回值,所述根据各线程得到的目标数据库的访问结果生成目标报告中,如何确定能够开始生成目标报告,存在多种可选择的实现方式,本申请对此不做具体限制。
在一个例子中,可以预设检测周期,在每次检测周期到来时,检测截至当前检测周期,所有线程累计得到的目标数据库的访问结果的总数是否达到数量阈值,所述数量阈值与服务端需要访问的目标数据库的数量相一致。若截至当前检测周期,创建的所有线程累计得到的访问结果的总数已经达到生成目标报告需要对目标数据库进行数据访问的总次数,则说明无需再行数据访问,可以生成目标报告;反之,则说明还需等待各线程继续执行数据访问,下一检测周期再行检测。
举例来说,创建线程1、2、3分别执行对目标数据库A、B、C的数据访问,各线程在完成对一个目标数据库的数据访问后将根据所述目标数据库的访问结果生成对应的一个JSON文件。以报告生成进程创建各线程完毕的时间点作为检测开始的时间起点,预设检测周期为100ms,设置数量阈值为3;在第一个检测周期到达后,报告生成进程检测线程1、2、3累计生成的JSON文件的总数为1,不能达到所述数量阈值,等待各线程继续执行数据访问;在第二个检测周期到达后,报告生成进程检测线程1、2、3累计生成的JSON文件的总数为3,达到所述数量阈值,开始进行目标报告的生成。
在另一个例子中,可以为创建的各线程设置完成标识,如果各线程得到其被分配的所有目标数据库的访问结果则可以为本线程设置所述完成标识;报告生成进程中将预设检测周期,在每次检测周期到来时,检测创建的各线程是否设置有所述完成标识。若所有线程均设置有完成标识,则说明已经得到生成目标报告需要的所有访问结果,无需再行数据访问,可以生成目标报告;反之,则说明还需等待各线程继续执行数据访问,下一检测周期再行检测。
举例来说,创建线程1、2、3分别执行对目标数据库A、B、C的数据访问,为各线程设置局部变量以表征该线程任务是否执行完毕,所述局部变量的初始值为false,各线程将在结束对其被分配的所有目标数据库的数据访问后修改所述局部变量为true。以报告生成进程创建各线程完毕的时间点作为检测开始的时间起点,预设检测周期为100ms,在第一个检测周期到达后,报告生成进程检测到仅有线程1的局部变量被设置为true,等待各线程继续执行数据访问;在第二个检测周期到达后,报告生成进程检测到线程1、2、3的局部变量均被设置为true,开始进行目标报告的生成。
所述基于预设的报告生成模板,根据访问结果生成目标报告,存在多种可选择的实现方式。在一种可选择的实现方式下,预设的报告生成模板中包括多个报告生成区域,所述报告生成区域与所述目标数据库具有对应关系。
所述服务端将在得到所有目标数据库的访问结果后,针对每个报告生成区域,基于所述对应关系,确定其对应的目标数据库;从得到的多个访问结果中获取所述对应的目标数据库的访问结果,并根据所述对应的目标数据库的访问结果填充待生成的目标报告中的对应区域,以结合多个区域最终得到目标报告。
举例来说,报告生成模板由报告生成区域一、二、三构成,它们分别对应目标数据库A、B、C,得到由所述目标数据库A、B、C对应的访问结果生成的JSON文件后,报告生成进程直接根据目标数据库A对应的JSON文件填充报告区域一,根据目标数据库B对应的JSON文件填充报告区域二,根据目标数据库C对应的JSON文件填充报告区域三,从而生成了完整的目标报告。
要说明的是,相关技术中,由报告生成进程得到的所有目标数据库的访问结果是以同一个文件的形式存在的,即一个文件内包括了所有目标数据库的访问结果,因而在生成报告时需要遍历该文件得到需要的数据。而以上述实现方式生成报告,多个线程得到的目标数据库的访问结果是以多个文件的形式存在的,即不同文件内有不同目标数据库的访问结果,预设由多个报告生成区域构成的报告生成模板且配置报告生成区域与目标数据库的对应关系,在生成报告时能够根据区域与数据库的对应关系,直接获取生成报告中该区域需要的数据,因而提高了报告生成效率。
本申请技术方案中,将报告生成请求对应的多个目标数据库的访问请求分配给新创建的多个线程并行执行,并基于预设的报告生成模板将多个线程得到的目标数据库的访问结果转换为目标报告,提高了数据获取效率,提升了用户使用体验。
与前述报告生成的方法实施例相对应,本申请还提供了报告生成装置的实施例。
本申请所提供的报告生成装置的实施例,可以应用于任一电子设备中。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请所提供的报告生成装置所在电子设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据其实际功能,还可以包括其他硬件,对此不再赘述。
参见图3,为本申请所提供的一种报告生成装置的框图,所述报告生成装置包括接收单元310、创建单元320和生成单元330:
其中,所述接收单元310,用于接收客户端发送的针对目标报告的报告生成请求,并确定存储有所述目标报告的报告内容的一个或多个目标数据库;
所述创建单元320,用于创建多个线程并为每个线程分配至少一个目标数据库;所述多个线程用于并行地向各自被分配的目标数据库发送访问请求并接收所述目标数据库返回的访问结果;
所述生成单元330,用于基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告,并将所生成的目标报告返回至所述客户端。
可选择地,所述生成单元330,在根据各线程得到的目标数据库的访问结果生成目标报告时,具体用于:
当本检测周期到达时,检测截至本检测周期各线程累计得到的目标数据库的访问结果的总数是否达到预设的数量阈值;
若是,则根据各线程得到的目标数据库的访问结果生成目标报告;
若否,则等待各线程继续执行数据库访问直至下一检测周期再行检测。
可选择地,所述生成单元330,在根据各线程得到的目标数据库的访问结果生成目标报告时,具体用于:
当本检测周期到达时,检测各线程是否均设置有完成标识;所述完成标识为各线程在得到其被分配的所有目标数据库的访问结果后设置;
若所有线程均设置有所述完成标识,则根据各线程得到的目标数据库的访问结果生成目标报告;
若任一线程未设置有所述完成标识,则等待各线程继续执行数据库访问直至下一检测周期再行检测。
可选择地,所述预设的报告生成模板中包括多个报告生成区域,所述报告生成区域与所述目标数据库具有对应关系;
所述生成单元330,在基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告,具体用于:
针对每个报告生成区域,基于所述对应关系,确定所述报告生成区域对应的目标数据库,根据所述对应的目标数据库的访问结果填充所述报告生成区域,以生成所述目标报告。
可选择地,所述创建单元320,在创建多个线程并为每个线程分配至少一个目标数据库,具体用于:
创建预设数量的线程,根据线程的预设数量以及目标数据库数量,将所述目标数据库平均分配给各个线程。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种报告生成方法,其特征在于,所述方法包括:
接收客户端发送的针对目标报告的报告生成请求,并确定存储有所述目标报告的报告内容的一个或多个目标数据库;
创建多个线程并为每个线程分配至少一个目标数据库;所述多个线程用于并行地向各自被分配的目标数据库发送访问请求并接收所述目标数据库返回的访问结果;
基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告,并将所生成的目标报告返回至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据各线程得到的目标数据库的访问结果生成目标报告,包括:
当本检测周期到达时,检测截至本检测周期各线程累计得到的目标数据库的访问结果的总数是否达到预设的数量阈值;
若是,则根据各线程得到的目标数据库的访问结果生成目标报告;
若否,则等待各线程继续执行数据库访问直至下一检测周期再行检测。
3.根据权利要求1所述的方法,其特征在于,所述根据各线程得到的目标数据库的访问结果生成目标报告,包括:
当本检测周期到达时,检测各线程是否均设置有完成标识;所述完成标识为各线程在得到其被分配的所有目标数据库的访问结果后设置;
若所有线程均设置有所述完成标识,则根据各线程得到的目标数据库的访问结果生成目标报告;
若任一线程未设置有所述完成标识,则等待各线程继续执行数据库访问直至下一检测周期再行检测。
4.根据权利要求1所述的方法,其特征在于,所述预设的报告生成模板中包括多个报告生成区域,所述报告生成区域与所述目标数据库具有对应关系;
所述基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告,包括:
针对每个报告生成区域,基于所述对应关系,确定所述报告生成区域对应的目标数据库,根据所述对应的目标数据库的访问结果填充所述报告生成区域,以生成所述目标报告。
5.根据权利要求1所述的方法,其特征在于,所述创建多个线程并为每个线程分配至少一个目标数据库,包括:
创建预设数量的线程,根据线程的预设数量以及目标数据库数量,将所述目标数据库平均分配给各个线程。
6.一种报告生成装置,其特征在于,所述装置包括接收单元、创建单元和生成单元:
所述接收单元,用于接收客户端发送的针对目标报告的报告生成请求,并确定存储有所述目标报告的报告内容的一个或多个目标数据库;
所述创建单元,用于创建多个线程并为每个线程分配至少一个目标数据库;所述多个线程用于并行地向各自被分配的目标数据库发送访问请求并接收所述目标数据库返回的访问结果;
所述生成单元,用于基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告,并将所生成的目标报告返回至所述客户端。
7.根据权利要求6所述的装置,其特征在于,所述生成单元,在根据各线程得到的目标数据库的访问结果生成目标报告时,具体用于:
当本检测周期到达时,检测截至本检测周期各线程累计得到的目标数据库的访问结果的总数是否达到预设的数量阈值;
若是,则根据各线程得到的目标数据库的访问结果生成目标报告;
若否,则等待各线程继续执行数据库访问直至下一检测周期再行检测。
8.根据权利要求6所述的装置,其特征在于,所述生成单元,在根据各线程得到的目标数据库的访问结果生成目标报告时,具体用于:
当本检测周期到达时,检测各线程是否均设置有完成标识;所述完成标识为各线程在得到其被分配的所有目标数据库的访问结果后设置;
若所有线程均设置有所述完成标识,则根据各线程得到的目标数据库的访问结果生成目标报告;
若任一线程未设置有所述完成标识,则等待各线程继续执行数据库访问直至下一检测周期再行检测。
9.根据权利要求6所述的装置,其特征在于,所述预设的报告生成模板中包括多个报告生成区域,所述报告生成区域与所述目标数据库具有对应关系;
所述生成单元,在基于预设的报告生成模板,根据各线程得到的目标数据库的访问结果生成目标报告,具体用于:
针对每个报告生成区域,基于所述对应关系,确定所述报告生成区域对应的目标数据库,根据所述对应的目标数据库的访问结果填充所述报告生成区域,以生成所述目标报告。
10.根据权利要求6所述的装置,其特征在于,所述创建单元,在创建多个线程并为每个线程分配至少一个目标数据库,具体用于:
创建预设数量的线程,根据线程的预设数量以及目标数据库数量,将所述目标数据库平均分配给各个线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110580369.4A CN113268501A (zh) | 2021-05-26 | 2021-05-26 | 一种报告生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110580369.4A CN113268501A (zh) | 2021-05-26 | 2021-05-26 | 一种报告生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268501A true CN113268501A (zh) | 2021-08-17 |
Family
ID=77233138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110580369.4A Pending CN113268501A (zh) | 2021-05-26 | 2021-05-26 | 一种报告生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268501A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090382A (zh) * | 2023-03-28 | 2023-05-09 | 深圳鸿芯微纳技术有限公司 | 时序报告生成方法和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447174A (zh) * | 2015-12-09 | 2016-03-30 | 中国农业银行股份有限公司 | 一种报表生成方法及装置 |
CN110515706A (zh) * | 2019-08-16 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种请求处理方法、装置、设备及可读存储介质 |
CN111913804A (zh) * | 2020-07-30 | 2020-11-10 | 平安证券股份有限公司 | 访前报告的生成方法、装置、电子设备及存储介质 |
-
2021
- 2021-05-26 CN CN202110580369.4A patent/CN113268501A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447174A (zh) * | 2015-12-09 | 2016-03-30 | 中国农业银行股份有限公司 | 一种报表生成方法及装置 |
CN110515706A (zh) * | 2019-08-16 | 2019-11-29 | 苏州浪潮智能科技有限公司 | 一种请求处理方法、装置、设备及可读存储介质 |
CN111913804A (zh) * | 2020-07-30 | 2020-11-10 | 平安证券股份有限公司 | 访前报告的生成方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090382A (zh) * | 2023-03-28 | 2023-05-09 | 深圳鸿芯微纳技术有限公司 | 时序报告生成方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022037337A1 (zh) | 机器学习模型的分布式训练方法、装置以及计算机设备 | |
CN109408590B (zh) | 分布式数据库的扩容方法、装置、设备及存储介质 | |
CN107360117B (zh) | 数据处理的方法、装置及系统 | |
CN114416352A (zh) | 算力资源分配方法、装置、电子设备及储存介质 | |
CN110636388A (zh) | 一种业务请求分配方法、系统、电子设备及存储介质 | |
CN112036696A (zh) | 任务分配方法、任务分配装置、存储介质和电子设备 | |
CN110209714A (zh) | 报表生成方法、装置、计算机设备及计算机可读存储介质 | |
CN107451461B (zh) | 移动设备的设备指纹处理方法、装置、服务器及存储介质 | |
CN111242165A (zh) | 商户聚类方法、装置、计算机设备和存储介质 | |
CN107135192A (zh) | 部署vnf的资源授权方法、vnfm和nfvo | |
CN111369137A (zh) | 配送任务的分配方法、装置、服务器和存储介质 | |
US11533163B2 (en) | Mining method and device based on blockchain, and computer readable storage medium | |
CN110909978A (zh) | 资源处理方法、装置、服务器及计算机可读存储介质 | |
CN113268501A (zh) | 一种报告生成方法及装置 | |
CN115118784A (zh) | 算力资源的调度方法、装置及系统 | |
KR101702218B1 (ko) | 역경매 방식 자원할당 장치를 포함하는 하이브리드 클라우드 서버 및 그 자원 할당 방법 및 시스템 | |
CN114090204A (zh) | 一种资源预测方法及装置 | |
CN106570006A (zh) | 多媒体文件推荐系统和投放信息存储方法 | |
CN109992408A (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
KR102229214B1 (ko) | 데이터 공유를 위한 위성 데이터 서비스 시스템 | |
CN115550283A (zh) | 实例的资源分配方法及装置 | |
CN109032787B (zh) | 一种任务分配方法及装置 | |
CN111291009A (zh) | 文件分块存储方法及装置 | |
CN114328650A (zh) | 数据库资源管理方法、装置、计算机设备和存储介质 | |
CN109246216B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210817 |
|
RJ01 | Rejection of invention patent application after publication |