数据处理方法、装置和可读存储介质

文档序号:152997 发布日期:2021-10-26 浏览:54次 >En<

阅读说明:本技术 数据处理方法、装置和可读存储介质 (Data processing method, device and readable storage medium ) 是由 邱明杰 尹洪伟 高海龙 于 2021-07-21 设计创作,主要内容包括:本发明提供了一种数据处理方法、装置和可读存储介质。其中,数据处理方法包括:接收数据处理请求;根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息;根据待处理数据源的信息在数据库中获取待处理数据源;根据多个数据库脚本的信息和待处理数据源的信息,生成多个相互独立的线程池;利用线程池,根据数据库脚本的信息,对待处理数据源进行处理,生成处理报告。本发明提供的技术方案通过对每个数据库脚本创建独立的线程池,使得每个数据库脚本的执行任务享有专用的线程池,进而使得多个数据库脚本能够同时执行过程,且执行过程中线程池相互独立互不影响,有效提高了数据库脚本的执行效率。(The invention provides a data processing method, a data processing device and a readable storage medium. The data processing method comprises the following steps: receiving a data processing request; acquiring information of a data source to be processed and information of a plurality of database scripts according to the data processing request; acquiring a data source to be processed in a database according to the information of the data source to be processed; generating a plurality of mutually independent thread pools according to the information of the database scripts and the information of the data source to be processed; and processing the data source to be processed by utilizing the thread pool according to the information of the database script to generate a processing report. According to the technical scheme provided by the invention, the independent thread pool is established for each database script, so that the execution task of each database script shares the special thread pool, and further, a plurality of database scripts can be executed simultaneously, the thread pools are independent from each other and do not influence each other in the execution process, and the execution efficiency of the database scripts is effectively improved.)

数据处理方法、装置和可读存储介质

技术领域

本发明涉及数据处理技术领域,具体而言,涉及一种数据处理方法、一种数据处理装置和一种可读存储介质。

背景技术

相关技术中,在数据库脚本多数据源执行时,采用同一线程池来执行不同的数据库脚本,然而,同一线程池对多数据库脚本同时执行时会发生资源争抢的情况,执行效率较低。

发明内容

本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。

为此,本发明的第一方面提供了一种数据处理方法。

本发明的第二方面还提供了一种数据处理装置。

本发明的第三方面还提供了一种可读存储介质。

有鉴于此,本发明的第一方面提出了一种数据处理方法,包括:接收数据处理请求;根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息;根据待处理数据源的信息在数据库中获取待处理数据源;根据多个数据库脚本的信息和待处理数据源的信息,生成多个相互独立的线程池;利用线程池,根据数据库脚本的信息,对待处理数据源进行处理,生成处理报告。

在该技术方案中,接收到数据处理请求后,确定数据处理请求中包含的待处理数据源的信息和多个数据库脚本信息。其中,待处理数据源的信息包括待处理数据源的名称和待处理数据源的数量,根据确定的待处理数据源的名称和待处理数据源数量,在数据库中选取出对应的多数据源来执行数据库脚本。进一步地,根据多个数据库脚本的信息和确定出的多数据源,创建多个线程池,具体地,每个线程池应对应各自的数据库脚本,多个线程池相互独立,互不影响。进而利用创建的多个相互独立的线程池,对多数据源执行多个数据库脚本,并生成处理报告。

通过上述方式,对每个数据库脚本创建独立的线程池,使得每个数据库脚本的执行任务享有专用的线程池,进而使得不同的数据库脚本执行过程中,执行的线程池相互独立、互不影响,避免了现有技术中不同的数据库脚本采用同一个线程池,多数据库脚本同时执行发生资源争抢的问题,有效提高了数据库脚本的执行效率。

根据本发明提供的上述的数据处理方法,还可以具有以下附加技术特征:

在上述技术方案中,进一步地,待处理数据源的信息包括待处理数据源的数量,根据多个数据库脚本的信息和待处理数据源的信息,生成多个相互独立的线程池的步骤,具体包括:对多个数据库脚本的信息进行解析,获取每个数据库脚本中的脚本语句和脚本语句的执行顺序;根据每个数据库脚本的脚本语句、执行顺序和待处理数据源的数量,生成多个线程池。

在该技术方案中,接收到数据处理请求后,确定数据处理请求中包含的多个数据库脚本,对多个数据库脚本进行解析,确定每个数据库脚本的脚本语句和脚本语句的执行顺序。根据脚本语句和执行顺序,生成每个数据库脚本的专用线程池,进而利用每个数据库脚本的专用线程池,根据数据库脚本的脚本语句和执行顺序,同时对多数据源执行多个数据库脚本。

进一步地,每个数据库脚本需要同时对大量数据源进行处理,获取待处理数据源的数量,根据待处理数据源的数量,确定生成的数据库脚本对应的专属的线程池个数,其中,每个数据库脚本对应的多个线程池是相同的,进而同时利用多个相同的线程池,分批次对大量数据源执行数据库脚本。

通过上述方式,一方面,利用多个互相独立的线程池,实现了多数据源能够同时多个执行数据库脚本,不会发生资源争抢的情况,有效提高了数据库脚本的执行效率;另一方面,通过分批次对多数据源执行数据库脚本,避免待执行的数据源数量过多时,同时执行数据库脚本数据过于庞大,造成的服务器拥堵。

具体地,每个数据库脚本对应的专用线程池的设定数量根据实际待处理数据源的数量而定,在此不作具体限定。

在上述任一技术方案中,进一步地,利用线程池,根据数据库脚本的信息,对待处理数据源进行处理的步骤,具体包括:根据脚本语句和执行顺序,在线程池中获取待处理数据源对应的线程;利用线程,根据脚本语句和执行顺序,对待处理数据源进行处理。

在该技术方案中,在对多个数据库脚本执行过程中,根据每个数据库脚本中的脚本语句和语句间的执行顺序,在线程池中确定对多数据源执行数据库脚本的线程,利用确定的线程,根据数据库脚本的语句和语句间的执行顺序,对多数据源执行数据库脚本。

通过上述方式,利用每个数据库脚本对应的专属线程,对多数据源进行处理,使得用户可以根据需要,在选定的多个数据源中统一执行不同的数据库脚本,以适配多数据源或者多租户模式等业务场景。

在上述任一技术方案中,进一步地,利用线程,根据脚本语句和执行顺序,对待处理的数据源进行处理的步骤,具体包括:将执行顺序与数据库的预设操作顺序进行比较;若执行顺序与预设操作顺序相同,利用线程,根据脚本语句,对待处理的数据源进行处理;若执行顺序与预设操作顺序不同,停止对待处理数据源进行处理。

在该技术方案中,在对多数据源执行数据库脚本的过程中,将数据库脚本中的每条脚本语句的执行顺序和数据库自身的语句执行顺序(即预设操作顺序)进行比较,如果该脚本语句的执行顺序与数据库自身的语句执行顺序一致,则利用线程池中的线程,对多数据源执行该条脚本语句;如果在执行过程中,发现任一一条脚本语句的执行顺序与数据库自身的执行顺序不一致,则停止对多数据源执行数据库脚本。

通过上述方式,将数据库脚本的语句执行顺序与数据库的语句顺序进行比较,以确保每个数据库脚本对多数据源执行过程中的语句执行顺序与数据库正确的执行顺序的一致性,保证多数据源执行数据库脚本的协调性和准确性。

在上述任一技术方案中,进一步地,利用线程池,根据数据库脚本的信息,对待处理数据源进行处理,生成处理报告的步骤,具体包括:获取待处理数据源的处理过程信息和待处理数据源的处理结果;根据处理过程信息和处理结果,生成处理报告。

在该技术方案中,在多数据源执行数据库脚本的执行过程中,记录并存储每个数据源的执行过程信息,以及每个数据源执行成功或失败的执行结果,将多数据源执行数据库脚本的执行过程和执行结果进行汇总,生成执行报告(即处理报告)。

通过上述方式,通过对多数据源执行数据库脚本中的每个语句的过程及结果进行记录和存储,进而在执行完成后,将所有数据库脚本执行过程和结果汇总生成报告。相较于现有技术中针对单一数据源的执行结果进行查看,使得用户可以实时查看多数据源执行的数据库脚本,进一步地,通过执行过程与执行结果相结合生成执行报告,提高了用户查看和对比分析的便捷性。

在上述任一技术方案中,进一步地,处理过程信息包括以下至少一种:待处理数据源的信息、待处理数据源的处理时长信息和待处理数据源的处理内容信息。

在该技术方案中,在多数据源执行数据库脚本的过程中,记录并存储每个数据源的每个语句的执行过程,得到处理过程信息,其中,处理过程信息包括多数据源的名称、每个数据源的执行消耗时长、每个数据源的执行起止时间以及每个数据源的执行内容。

通过上述方式,按照数据源为单位,在执行过程中,实时地分别记录并存储每个数据源的每条语句的执行过程,以确保数据库脚本执行记录的完整性,便于用户全面地了解执行情况。

在上述任一技术方案中,进一步地,根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息,具体包括:获取数据处理请求的第一数据库类型和数据库的第二数据库类型;将第一数据库类型与第二数据库类型进行比较;若第一数据库类型与第二数据库类型相同,根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息。

在该技术方案中,接收到的数据处理请求可以同时对多个不同类型数据库中的数据源进行处理,获取数据处理请求中的数据库类型(即第一数据库类型)和待执行数据库脚本的数据库类型(即第二数据库类型),将两个数据库类型进行比较,如果数据处理请求中的数据库类型和待执行数据库的类型相同,也即数据处理请求中数据库脚本能够成功执行,此时根据数据处理请求,确定待处理数据源信息和多个数据库脚本进行,进而对多数据源执行数据库脚本信息。进一步地,如果数据处理请求中的数据库类型和待执行数据库的类型不相同,也即数据处理请求中数据库脚本无法成功执行,则停止数据处理请求的下一步动作,即停止执行数据处理请求中的数据库脚本。

通过上述方式,通过对数据处理请求中的数据库类型和待执行数据库类型进行比较,根据比较结果,确定下一步执行动作。一方面,确保数据处理请求与待执行数据库的一致性,进而保证了多数据源执行数据库脚本的正确性;另一方面,如果数据处理请求和数据库的类型比较结果不一致,则无需对不一致类型中的多数据源执行数据库脚本,有效降低了资源占用,提高了数据库脚本的执行效率。

在上述任一技术方案中,进一步地,利用线程池,根据数据库脚本的信息,对待处理数据源进行处理,生成处理报告之后,还包括:显示处理报告。

在该技术方案中,将多数据源执行数据库脚本的执行过程和执行结果写入日志中,生成执行报告后,将所有数据源数据库脚本执行报告提供给与数据处理装置关联的浏览器,浏览器会生成表格形式进行展示。

通过上述方式,将每次多数据源执行的数据库脚本生成的处理报告发送至浏览器,进而使浏览器能够以表格的形式展现给用户。相较于现有技术中通常需要用户登录各个数据库服务器继续巡检,本通过汇总的多数据源执行数据库脚本的执行信息发送至前端,并用表格化方式直观展示,无需用户频繁登录服务器进行巡检,避免人工重复性劳动,解决了分别查看数据库中数据源执行结果耗时的问题。

根据本发明的第二方面,提出了一种数据处理装置,包括:接收模块,用于接收数据处理请求;第一获取模块,用于根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息;第二获取模块,用于根据待处理数据源的信息在数据库中获取待处理数据源;第一生成模块,用于根据多个数据库脚本的信息和待处理数据源的信息,生成多个相互独立的线程池;处理模块,利用线程池,根据数据库脚本的信息,对待处理数据源进行处理;第二生成模块,用于生成处理报告。

在该技术方案中,数据处理装置包括接收模块、第一获取模块、第二获取模块、第一生成模块、处理模块和第二生成模块。

具体地,接收模块用于接收数据处理请求。第一获取模块用于接收到数据处理请求后,确定数据处理请求中包含的待处理数据源的信息和多个数据库脚本信息。其中,待处理数据源的信息包括待处理数据源的名称和待处理数据源的数量,第二获取模块用于根据确定的待处理数据源的名称和待处理数据源数量,在数据库中选取出对应的多数据源来执行数据库脚本。进一步地,第一生成模块用于根据多个数据库脚本的信息和确定出的待处理数据源,创建多个线程池,具体地,每个线程池应对应各自的数据库脚本,多个线程池相互独立,互不影响。处理模块用于利用创建的多个相互独立的线程池,对多数据源执行多个数据库脚本,第二生成模块用于生成处理报告。

通过上述方式,对每个数据库脚本创建独立的线程池,使得每个数据库脚本的执行任务享有专用的线程池,进而使得不同的数据库脚本执行过程中,执行的线程池相互独立、互不影响,避免了现有技术中,不同的数据库脚本采用同一个线程池,多数据库脚本同时执行发生资源争抢的问题,有效提高了数据库脚本的执行效率。

根据本发明的第三方面,提出了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时执行第一方面提出的数据处理方法。因此该可读存储介质具备第一方面提出的数据处理方法的全部有益效果,为避免重复,不再过多赘述。

本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1示出了本发明实施例的数据处理方法的流程示意图之一;

图2示出了本发明实施例的数据处理方法的流程示意图之二;

图3示出了本发明实施例的数据处理装置的示意框图;

图4示出了本发明具体实施例的处理报告示意图。

其中,图3中附图标记与部件名称之间的对应关系为:

300数据处理装置,302接收模块,304第一获取模块,306第二获取模块,308第一生成模块,310处理模块,312第二生成模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

下面参照图1至图4描述本发明一些实施例的数据处理方法、数据处理装置和可读存储介质。

实施例1:

如图1所示,根据本发明的一个实施例,提出了一种数据处理方法,该方法包括:

步骤102,接收数据处理请求;

步骤104,根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息;

步骤106,根据待处理数据源的信息在数据库中获取待处理数据源;

步骤108,根据多个数据库脚本的信息和待处理数据源的信息,生成多个相互独立的线程池;

步骤110,利用线程池,根据数据库脚本的信息,对待处理数据源进行处理;

步骤112,生成处理报告。

在该实施例中,接收到数据处理请求后,确定数据处理请求中包含的待处理数据源的信息和多个数据库脚本信息。其中,待处理数据源的信息包括待处理数据源的名称和待处理数据源的数量,根据确定的待处理数据源的名称和待处理数据源数量,在数据库中选取出对应的多数据源来执行数据库脚本。进一步地,根据多个数据库脚本的信息和确定出的多数据源,创建多个线程池,具体地,每个线程池应对应各自的数据库脚本,多个线程池相互独立,互不影响。进而利用创建的多个相互独立的线程池,对多数据源执行多个数据库脚本,并生成处理报告。

通过上述方式,对每个数据库脚本创建独立的线程池,使得每个数据库脚本的执行任务享有专用的线程池,进而使得不同的数据库脚本执行过程中,执行的线程池相互独立、互不影响,避免了现有技术中,不同的数据库脚本采用同一个线程池,多数据库脚本同时执行发生资源争抢的问题,有效提高了数据库脚本的执行效率。

在具体实施例中,根据接收到的数据处理请求,确认数据处理请求中包含的三个数据库脚本和三个数据库脚本的执行时间。在根据执行时间,执行第一个数据库脚本前,通过数据库脚本的信息,创建第一个数据库脚本对应的第一线程池,利用该数据库脚本专属的第一线程池执行第一个数据库脚本。在执行第一个数据库脚本过程中,按照执行时间,需同时执行第二个数据库脚本,此时根据第二个数据库脚本的信息,创建第二个数据库脚本对应的第二线程池,进而根据该数据库脚本专属的第二线程池执行第二个数据库脚本,以此类推,在执行每一个数据库脚本前,对线程池进行初始化,创建该数据库脚本对应的线程池,使得多个数据库脚本能够利用专属的线程池同时执行任务。

实施例2:

如图2所示,根据本发明的一个实施例,提出了一种数据处理方法,该方法包括:

步骤202,接收数据处理请求;

步骤204,根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息;

步骤206,根据待处理数据源的信息在数据库中获取待处理数据源;

步骤208,对多个数据库脚本的信息进行解析,获取每个数据库脚本中的脚本语句和脚本语句的执行顺序;

步骤210,根据每个数据库脚本的脚本语句、执行顺序和待处理数据源的数量,生成多个线程池;

步骤212,利用线程池,根据数据库脚本的信息,对待处理数据源进行处理;

步骤214,生成处理报告。

在该实施例中,接收到数据处理请求后,确定数据处理请求中包含的多个数据库脚本,对多个数据库脚本进行解析,确定每个数据库脚本的脚本语句和脚本语句的执行顺序。根据脚本语句和执行顺序,生成每个数据库脚本的专用线程池,进而利用每个数据库脚本的专用线程池,根据数据库脚本的脚本语句和执行顺序,同时对多数据源执行多个数据库脚本。

进一步地,每个数据库脚本需要同时对大量数据源进行处理,获取待处理数据源的数量,根据待处理数据源的数量,确定生成的数据库脚本对应的专属的线程池个数,其中,每个数据库脚本对应的多个线程池是相同的,进而同时利用多个相同的线程池,分批次对大量数据源执行数据库脚本。

通过上述方式,一方面,利用多个互相独立的线程池,实现了多数据源能够同时多个执行数据库脚本,不会发生资源争抢的情况,有效提高了数据库脚本的执行效率;另一方面,通过分批次对多数据源执行数据库脚本,避免待执行的数据源数量过多时,同时执行数据库脚本数据过于庞大,造成的服务器拥堵。

具体地,每个数据库脚本对应的专用线程池的设定数量根据实际待处理数据源的数量而定,在此不作具体限定。

在具体实施例中,对多个数据库脚本进行解析,得到第一数据库脚本中的脚本语句,语句的执行顺序和对应的10个待处理数据源的名称。通过确定的脚本语句、语句的执行顺序以及10个待处理数据源,生成5个第一数据库脚本对应的线程池,利用5个第一数据库脚本的专属线程池,根据第一数据脚本语句和执行顺序,分两批处理10个待处理数据源。

实施例3:

在该实施例中,上述利用线程池,根据数据库脚本的信息,对待处理数据源进行处理的步骤,包括:根据脚本语句和执行顺序,在线程池中获取待处理数据源对应的线程;利用线程,根据脚本语句和执行顺序,对待处理数据源进行处理。

在该实施例中,在对多个数据库脚本执行过程中,根据每个数据库脚本中的脚本语句和语句间的执行顺序,在线程池中确定对多数据源执行数据库脚本的线程,利用确定的线程,根据数据库脚本的语句和语句间的执行顺序,对多数据源执行数据库脚本。

通过上述方式,利用每个数据库脚本对应的专属线程,对多数据源进行处理,使得用户可以根据需要,在选定的多个数据源中统一执行不同的数据库脚本,以适配多数据源或者多租户模式等业务场景。

实施例4:

在该实施例中,上述利用线程,根据脚本语句和执行顺序,对待处理的数据源进行处理的步骤,包括:将执行顺序与数据库的预设操作顺序进行比较;若执行顺序与预设操作顺序相同,利用线程,根据脚本语句,对待处理的数据源进行处理;若执行顺序与预设操作顺序不同,停止对待处理数据源进行处理。

在该实施例中,在对多数据源执行数据库脚本的过程中,将数据库脚本中的每条脚本语句的执行顺序和数据库自身的语句执行顺序(即预设操作顺序)进行比较,如果该脚本语句的执行顺序与数据库自身的语句执行顺序一致,则利用线程池中的线程,对多数据源执行该条脚本语句;如果在执行过程中,发现任一一条脚本语句的执行顺序与数据库自身的执行顺序不一致,则停止对多数据源执行数据库脚本。

通过上述方式,将数据库脚本的语句执行顺序与数据库的语句顺序进行比较,以确保每个数据库脚本对多数据源执行过程中的语句执行顺序与数据库正确的执行顺序的一致性,保证多数据源执行数据库脚本的协调性和准确性。

实施例5:

在该实施例中,上述利用线程池,根据数据库脚本的信息,对待处理数据源进行处理,生成处理报告的步骤,包括:获取待处理数据源的处理过程信息和待处理数据源的处理结果;根据处理过程信息和处理结果,生成处理报告。

在该技术方案中,在多数据源执行数据库脚本的执行过程中,记录并存储每个数据源的执行过程信息,以及每个数据源执行成功或失败的执行结果,将多数据源执行数据库脚本的执行过程和执行结果进行汇总,生成执行报告(即处理报告)。

通过上述方式,通过对多数据源执行数据库脚本中的每个语句的过程及结果进行记录和存储,进而在执行完成后,将所有数据库脚本执行过程和结果汇总生成报告。相较于现有技术中针对单一数据源的执行结果进行查看,使得用户可以实时查看多数据源执行的数据库脚本,进一步地,通过执行过程与执行结果相结合生成执行报告,提高了用户查看和对比分析的便捷性。

实施例6:

在该实施例中,上述处理过程信息包括以下至少一种:待处理数据源的信息、待处理数据源的处理时长信息和待处理数据源的处理内容信息。

在该技术方案中,在多数据源执行数据库脚本的过程中,记录并存储每个数据源的每个语句的执行过程,得到处理过程信息,其中,处理过程信息包括多数据源的名称、每个数据源的执行消耗时长、每个数据源的执行起止时间以及每个数据源的执行内容。

通过上述方式,按照数据源为单位,在执行过程中,实时地分别记录并存储每个数据源的每条语句的执行过程,以确保数据库脚本执行记录的完整性,便于用户全面地了解执行情况。

实施例7:

在该实施例中,上述根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息,包括:获取数据处理请求的第一数据库类型和数据库的第二数据库类型;将第一数据库类型与第二数据库类型进行比较;若第一数据库类型与第二数据库类型相同,根据数据处理请求,获取待处理数据源的信息和多个数据库脚本的信息。

在该技术方案中,接收到的数据处理请求可以同时对多个不同类型数据库中的数据源进行处理,获取数据处理请求中的数据库类型(即第一数据库类型)和待执行数据库脚本的数据库类型(即第二数据库类型),将两个数据库类型进行比较,如果数据处理请求中的数据库类型和待执行数据库的类型相同,也即数据处理请求中数据库脚本能够成功执行,此时根据数据处理请求,确定待处理数据源信息和多个数据库脚本进行,进而对多数据源执行数据库脚本信息。进一步地,如果数据处理请求中的数据库类型和待执行数据库的类型不相同,也即数据处理请求中数据库脚本无法成功执行,则停止数据处理请求的下一步动作,即停止执行数据处理请求中的数据库脚本。

通过上述方式,通过对数据处理请求中的数据库类型和待执行数据库类型进行比较,根据比较结果,确定下一步执行动作。一方面,确保数据处理请求与待执行数据库的一致性,进而保证了多数据源执行数据库脚本的正确性;另一方面,如果数据处理请求和数据库的类型比较结果不一致,则无需对不一致类型中的多数据源执行数据库脚本,有效降低了资源占用,提高了数据库脚本的执行效率。

实施例8:

在该实施例中,上述利用线程池,根据数据库脚本的信息,对待处理数据源进行处理,生成处理报告之后,还包括:显示处理报告。

在该技术方案中,将多数据源执行数据库脚本的执行过程和执行结果写入日志中,生成执行报告后,将所有数据源数据库脚本执行报告提供给与数据处理装置关联的浏览器,浏览器会生成表格形式进行展示。

通过上述方式,将每次多数据源执行的数据库脚本生成的处理报告发送至浏览器,进而使浏览器能够以表格的形式展现给用户。相较于现有技术中通常需要用户登录各个数据库服务器继续巡检,本申请通过汇总的多数据源执行数据库脚本的执行信息发送至前端,并用表格化方式直观展示,无需用户频繁登录服务器进行巡检,避免人工重复性劳动,解决了分别查看数据库中数据源执行结果耗时的问题。

在具体实施例中,如表1所示,为以表格形式显示的多数据源执行数据库脚本的处理报告,其中,以数据源为单位,分别存储了每个数据源的名称,该数据源的执行结果、执行的起止时间、执行消耗时长、执行者以及记录时间,具体地,执行消耗时长是针对每个数据源的数据库脚本执行从开始到执行完成所需要的时间,以毫秒为单位。进一步地,如图4所示,为对多数据源执行数据库脚本的执行内容,其中,可以去清楚地看出所有数据源对应的执行语句的内容。

表1

实施例9:

根据本发明的一个具体实施例,提出了一种数据处理方法,本申请提出的数据处理方法,在数据库脚本多数据源执行时,通过每个数据库脚本启动独立线程池执行,不同的数据库脚本执行的线程池相互独立,互不影响。通过针对每个不同类型的数据库脚本执行和控制数据库事务,保证同一数据库脚本的不同类型的语句按照顺序执行和数据库事务的一致性。

现有技术中,随着互联网技术的发展,多租户技术(multi-tenancy technology)和软件即服务(SaaS,Software-as-a-service)应用越来越广,不可避免采用数据库多租户技术隔离各个租户(用户)数据的独立性和完整性,当租户数量成千上万时,租户对应数据源数量同样成千上万,大量数据源的基本信息管理维护工作,例如,各种类型数据库脚本执行和结果汇总查看的工作量和复杂度巨增,依靠人工完成此项任务费时费力犯错概率大于工具和系统。因此,需要一种新的多数据源数据库脚本执行和结果汇总方案,能够支持数据查询语言DQL(Data Query Language)、数据操纵语言DML(Data Manipulation Language)、数据定义语言DDL(Data Definition Language)、数据控制语言DCL(Data CommandLanguage)类型数据脚本在所有或者指定数据源中执行和实时查看结果,以降低多数据源数据库脚本的执行工作量和复杂度、提高执行效率,降低工作量。

本申请相较于现有技术一般都采用不同任务同一线程池技术,该数据处理方法使得每个数据库脚本的执行任务享有专用线程池,解决了多脚本同时执行的资源争抢问题,提高了数据库脚本的执行效率。

进一步地,本申请能够自定义不同类型的数据源,在自定义的多个数据源中统一执行数据库脚本并查看汇总后的执行结果。相较于现有技术中,针对单一数据源执行数据库脚本。通过对多数据源执行数据库脚本,支持数据库脚本的在所有租户的数据库中执行,使得用户可以根据需要在选定的多个数据源中统一执行数据库脚本,因此可以适配多数据源或者多租户模式等业务场景。

进一步地,本申请能够对多数据源数据库脚本执行结果进行统一汇总查看。相较于现有技术中,针对单一数据源的执行结果进行查看。通过多数据源数据库脚本执行结果汇总,使得每次多数据源执行的数据库脚本可以实时查看汇总结果,解决了分别查看单个数据源执行结果耗时的问题。

实施例10:

如图3所示,本发明第二方面的实施例,提出了一种数据处理装置300,其中,该数据处理装置300包括:

在该技术方案中,数据处理装置300包括接收模块302、第一获取模块304、第二获取模块306、第一生成模块308、处理模块310和第二生成模块312。

具体地,接收模块302用于接收数据处理请求。第一获取模块304用于接收到数据处理请求后,确定数据处理请求中包含的待处理数据源的信息和多个数据库脚本信息。其中,待处理数据源的信息包括待处理数据源的名称和待处理数据源的数量,第二获取模块306用于根据确定的待处理数据源的名称和待处理数据源数量,在数据库中选取出对应的多数据源来执行数据库脚本。进一步地,第一生成模块308用于根据多个数据库脚本的信息和确定出的待处理数据源,创建多个线程池,具体地,每个线程池应对应各自的数据库脚本,多个线程池相互独立,互不影响。处理模块310用于利用创建的多个相互独立的线程池,对多数据源执行多个数据库脚本,第二生成模块312用于生成处理报告。

通过上述方式,对每个数据库脚本创建独立的线程池,使得每个数据库脚本的执行任务享有专用的线程池,进而使得不同的数据库脚本执行过程中,执行的线程池相互独立、互不影响,避免了现有技术中,不同的数据库脚本采用同一个线程池,多数据库脚本同时执行发生资源争抢的问题,有效提高了数据库脚本的执行效率。

实施例11:

本发明第三方面的实施例,提出了一种可读存储介质,其上存储有程序或指令,程序或指令被处理器执行时实现如上述任一技术方案的数据处理方法的步骤。

其中,可读存储介质包括只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。

本发明提供的可读存储介质,程序或指令被处理器执行时实现如上述任一技术方案的数据处理方法的步骤,因此该可读存储介质包括上述任一技术方案的数据处理方法的全部有益效果,在此不再赘述。新风出口

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据处理方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!