CN109284278B - 基于数据分析技术的计算逻辑迁移方法及终端设备 - Google Patents
基于数据分析技术的计算逻辑迁移方法及终端设备 Download PDFInfo
- Publication number
- CN109284278B CN109284278B CN201810916413.2A CN201810916413A CN109284278B CN 109284278 B CN109284278 B CN 109284278B CN 201810916413 A CN201810916413 A CN 201810916413A CN 109284278 B CN109284278 B CN 109284278B
- Authority
- CN
- China
- Prior art keywords
- file
- migration
- execution result
- sub
- calling
- 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.)
- Active
Links
- 230000005012 migration Effects 0.000 title claims abstract description 166
- 238000013508 migration Methods 0.000 title claims abstract description 166
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000004364 calculation method Methods 0.000 title claims abstract description 63
- 238000007405 data analysis Methods 0.000 title claims abstract description 23
- 238000005516 engineering process Methods 0.000 title claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 141
- 238000006243 chemical reaction Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 10
- 238000000926 separation method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007670 refining Methods 0.000 description 3
- MROJXXOCABQVEF-UHFFFAOYSA-N Actarit Chemical compound CC(=O)NC1=CC=C(CC(O)=O)C=C1 MROJXXOCABQVEF-UHFFFAOYSA-N 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于数据处理技术领域,提供了基于数据分析技术的计算逻辑迁移方法、终端设备以及计算机可读存储介质,包括:获取应用工程中的调用文件,所述调用文件用于被执行以实现业务功能;连接与所述应用工程相关的数据库,并执行所述调用文件,得到第一执行结果;根据预设的转换模板对所述调用文件进行转换,得到迁移文件,并获取通过执行所述迁移文件得到的第二执行结果;若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。本发明基于数据分析技术,将应用工程中业务功能的计算逻辑从数据库层级迁移到上层***的层级,实现了数据分隔,提升了业务功能的实现效率。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及基于数据分析技术的计算逻辑迁移方法、终端设备以及计算机可读存储介质。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库,由于数据库的存储容量大,且稳定性高,故在实际的业务场景,通常将业务相关的数据预先存入数据库,并通过调用数据库中的数据来实现特定的业务功能。
但是,在保险业务或银行业务等业务领域中,在通过应用工程实现业务功能时,计算逻辑完全依赖于数据库,即调用数据并对数据进行计算的过程完全在数据库内部进行,在同时计算多个数据时,容易形成处理性能瓶颈,并且单个业务功能异常会导致数据库的上层***瘫痪。综上,现有技术中业务功能的实现对数据库的依赖程度过高,实现效率局限于数据库的处理效率,并且容错性差。
发明内容
有鉴于此,本发明实施例提供了基于数据分析技术的计算逻辑迁移方法、终端设备以及计算机可读存储介质,以解决现有技术中业务功能的实现过度依赖数据库,实现效率存在上限的问题。
本发明实施例的第一方面提供了一种基于数据分析技术的计算逻辑迁移方法,包括:
获取应用工程中的调用文件,所述调用文件用于被执行以实现业务功能;
连接与所述应用工程相关的数据库,并执行所述调用文件,得到第一执行结果;
根据预设的转换模板对所述调用文件进行转换,得到迁移文件,并获取通过执行所述迁移文件得到的第二执行结果;
若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
本发明实施例的第二方面提供了一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取应用工程中的调用文件,所述调用文件用于被执行以实现业务功能;
连接与所述应用工程相关的数据库,并执行所述调用文件,得到第一执行结果;
根据预设的转换模板对所述调用文件进行转换,得到迁移文件,并获取通过执行所述迁移文件得到的第二执行结果;
若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
获取应用工程中的调用文件,所述调用文件用于被执行以实现业务功能;
连接与所述应用工程相关的数据库,并执行所述调用文件,得到第一执行结果;
根据预设的转换模板对所述调用文件进行转换,得到迁移文件,并获取通过执行所述迁移文件得到的第二执行结果;
若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
本发明实施例与现有技术相比存在的有益效果是:
本发明实施例首先确定应用工程中与业务功能相关的调用文件,业务功能是通过对数据库中的数据进行调用并计算得到的,通过执行该调用文件可以得到第一执行结果,然后根据预设的转换模板将调用文件转换为迁移文件,在迁移文件中,对数据库中数据进行计算的过程被迁移到上层***中,通过执行该迁移文件可以得到第二执行结果,如果第一执行结果和第二执行结果相同,则证明调用文件和迁移文件能够实现相同的业务功能,则将迁移文件添加至应用工程中,本发明实施例将计算逻辑迁移到上层***,降低了业务功能对数据库的依赖程度,降低了性能瓶颈的出现概率,有效提升了业务功能的实现效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的基于数据分析技术的计算逻辑迁移方法的实现流程图;
图2是本发明实施例二提供的基于数据分析技术的计算逻辑迁移方法的实现流程图;
图3是本发明实施例三提供的基于数据分析技术的计算逻辑迁移方法的实现流程图;
图4是本发明实施例四提供的基于数据分析技术的计算逻辑迁移方法的实现流程图;
图5是本发明实施例五提供的基于数据分析技术的计算逻辑迁移方法的实现流程图;
图6是本发明实施例六提供的终端设备的结构框图;
图7是本发明实施例七提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的基于数据分析技术的计算逻辑迁移方法的实现流程,详述如下:
在S101中,获取应用工程中的调用文件,所述调用文件用于被执行以实现业务功能。
应用工程与业务相关,是实现业务的线上进程的所有底层代码的统称,为了方便管理及查看,应用工程的底层代码一般集合为代码文件进行存储,故应用工程通常包含多个代码文件。在本实施例中,调用文件是指应用工程中用于实现业务功能的代码文件,具体地,该代码文件用于从数据库中调用数据,并对调用的数据进行计算,从而实现业务功能。在传统方法中,通过执行调用文件实现业务功能的过程都在数据库层级中进行,导致业务功能对于数据库的依赖程度过高,实现效率容易受到数据库性能瓶颈的影响,并且在数据计算的某一环节出错时,易造成数据库瘫痪。故在本发明实施例中,首先确定并获取应用工程中的调用文件,再对调用文件中的计算逻辑进行迁移。通常来说,调用文件具有指定的文件格式,文件格式根据应用工程的场景不同而不同,为了便于进行阐述,本发明实施例以调用文件为结构化查询语言(Structured Query Language,SQL)语句构成的脚本文件进行说明,即调用文件含有对数据进行调用并计算的SQL语句,并且调用文件的文件后缀为“.sql”。在获取应用工程中的调用文件时,查找应用工程中所有的代码文件,并将与指定的文件格式相符(文件后缀为“.sql”)的代码文件作为调用文件。
可选地,识别应用工程中的代码文件,并将含有功能标识的代码文件作为调用文件。在本发明实施例中,可预先对用于实现业务功能的代码文件统一建立功能标识,并在获取调用文件时,将含有功能标识的代码文件作为调用文件,其中,功能标识可以建立在代码文件的文件名称或者代码文件的代码中。举例来说,用于实现业务功能的代码文件原有的文件名称为“Code.sql”,对其建立功能标识后的文件名称为“Id_Code.sql”(即功能标识为“Id_”),在查找调用文件时,只将含有“Id_”的文件名称对应的代码文件作为调用文件即可,提升了确定调用文件的准确性。此外,由于应用工程实现的业务功能可能存在多个,故可针对多个业务功能,对多个业务功能对应的多个代码文件预先设置不同的功能标识,比如对业务功能A对应的代码文件设置功能标识为“IdA_”,对业务功能B对应的代码文件设置功能标识为“IdB_”,设置完成后,若要对指定的业务功能进行计算逻辑迁移,则在本步骤中确定与该指定的业务功能的功能标识对应的代码文件,并将该代码文件作为调用文件。
在S102中,连接与所述应用工程相关的数据库,并执行所述调用文件,得到第一执行结果。
若欲调用数据库中的数据,以实现业务功能,则首先需要连接与应用工程相关的数据库。在本实施例中,通过java数据库连接(Java DataBase Connectivity,JDBC)技术连接数据库,以数据库为Oracle数据库,且使用Oralce thin模式连接Oracle数据库举例,首先获取Oracle数据库的用户名、密码、数据库连接串和注册驱动,上述Oracle数据库的用户名、密码、数据库连接串和注册驱动可预先存储在应用工程或者特定的存储地址中。假设Oracle数据库的数据库连接串为“jdbc:oracle:thin:@192.168.1.1:1521:ORCL”,其中ORCL为Oracle数据库的名称,注册驱动为“oracle.jdbc.driver.OracleDriver”,上述的数据库连接串和注册驱动仅作示例,不构成限定。获取完成后,将Oracle数据库的注册驱动加载到JDBC的驱动管理程序中,并由JDBC的驱动管理程序中的连接方法(getConnectin),通过已获取的用户名、密码和数据库连接串连接Oracle数据库。当然,上述的连接数据库的过程可以以代码形式集成为代码文件,并添加至应用工程中。在成功地连接数据库后,执行应用工程中的调用文件,从数据库中调用数据,并对调用到的数据进行计算,得到第一执行结果。举例来说,若业务功能是计算全国平均业务量,则在调用文件的执行过程中,先从数据库中调用全国每个省份的业务量,再对所有省份的业务量取均值得到全国平均业务量。
在S103中,根据预设的转换模板对所述调用文件进行转换,得到迁移文件,并获取通过执行所述迁移文件得到的第二执行结果。
通过执行调用文件实现业务功能的过程都处于数据库层级,由于数据库对数据的处理能力有限,如果待计算的数据较多,很容易形成性能瓶颈,导致计算效率低,故在本发明实施例中,将调用文件中的计算逻辑从数据库层级中迁移到上层***的层级(java层级),具体根据预设的转换模板对调用文件进行转换,得到迁移文件。转换模板预设有多个与数据计算相关的SQL语句对应的迁移语句(迁移语句为java语句)。对调用文件进行转换的过程,实则是将调用文件中的与数据计算相关的SQL语句替换为转换模板中对应的迁移语句的过程。值得一提的是,迁移文件是形式上的统称,转换出的迁移文件一般包括两个部分,第一个部分是用于在应用工程中执行数据计算操作的迁移语句,该迁移语句是经过转换模板的转换生成的,另一个部分是用于从数据库中调用数据的提取语句,该提取语句与调用文件中用于调用数据的语句相同,从生成途径上说,可对调用文件中除了被执行转换的SQL语句之外的SQL语句进行复制,生成该提取语句。
迁移文件生成后,将迁移文件暂时性地添加至应用工程中,并执行迁移文件以得到第二执行结果。以上述的业务功能为计算全国平均业务量举例说明,在根据转换模板对调用文件进行转换之后,生成的迁移文件中的提取语句在数据库层级中执行,在执行过程中,从数据库中调取全国每个省份的业务量;迁移文件中的迁移语句在上层***的层级执行,在执行过程中,对全国所有省份的业务量进行均值计算得到全国平均业务量。
在S104中,若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
在执行迁移文件后,将第一执行结果与第二执行结果进行比对,若第一执行结果与第二执行结果不相同,则证明迁移文件未能达到与原有的调用文件同样的效果,则将迁移文件从应用工程中移除,并可输出迁移文件执行过程中的日志,便于用户对执行过程进行查看;若第一执行结果与第二执行结果相同,证明迁移文件与调用文件达到的效果相同,则保持迁移文件位于应用工程中的状态,即是将迁移文件永久添加至应用工程。
可选地,在将迁移文件永久添加至应用工程后,删除调用文件。由于迁移文件和调用文件都可实现业务功能,故可在将迁移文件永久添加至应用工程中后,移除应用工程中原有的调用文件,以减小应用工程所占的容量,提升应用工程的轻便性。
通过图1所示实施例可知,在本发明实施例中,通过获取应用工程中用于实现业务功能的调用文件,并执行该调用文件,得到第一执行结果,再根据预设的转换模板对调用文件进行转换得到迁移文件,并执行该迁移文件,得到第二执行结果,最后将第一执行结果与第二执行结果进行比对,若第一执行结果与第二执行结果相同,则将迁移文件添加至应用工程,本发明实施例将应用工程中实现业务功能的计算逻辑从数据库层级迁移到上层***的层级,使得业务功能对数据库的依赖程度降低,提升了业务功能的实现效率。
图2所示,是在本发明实施例一的基础上,对根据预设的转换模板对调用文件进行转换,得到迁移文件的过程进行细化后得到的一种实现方法。本发明实施例提供了基于数据分析技术的计算逻辑迁移方法的实现流程图,如图2所示,该基于数据分析技术的计算逻辑迁移方法可以包括以下步骤:
在S201中,识别所述调用文件中的计算语句,所述计算语句包括待计算数据名和计算函数,所述待计算数据名是所述计算语句被执行时调用的数据库数据的名称。
在对调用文件进行转换时,首先识别出调用文件中的调用语句和计算语句,其中,调用语句是指调用文件中仅用于调用数据库数据或者计算过程较为简单的SQL语句,计算语句是指调用文件中计算过程较为复杂的SQL语句。在本发明实施例中,识别调用语句和计算语句的方法包括多种,其中的第一种方法是预先制定属于调用语句的函数名和属于计算语句的函数名,比如预先制定属于计算语句的函数名为AVG函数和DATEDIFF函数,然后通过函数名来识别调用语句和计算语句;第二种方法是在应用工程的运行过程中,获取输出的运行日志,并从运行日志中确定调用文件的每条SQL语句的语句执行时长,并将语句执行时长大于或等于预设阈值的SQL语句作为计算语句,将语句执行时长小于预设阈值的SQL语句作为调用语句。在确定出计算语句后,提取计算语句中的待计算数据名和计算函数,待计算数据名为计算语句中的变量名,计算函数是计算语句的函数名称。值得一提的是,上述的调用语句和计算语句的命名并不构成对其用途的限定,比如调用语句和计算语句都可以用于调用数据和计算数据,两种语句的具体划分可以根据实际应用场景确定,但应获知的是,计算语句偏向于应用工程中计算过程较为复杂的语句。
在S202中,将所述计算函数通过所述转换模板转换为迁移语句,将所述待计算数据名添加至所述迁移语句,并生成包含添加完成后的所述迁移语句的所述迁移文件。
在本发明实施例中,转换模板中包括与多个函数名称一一对应的多个迁移语句,在确定计算语句中的计算函数后,将计算函数输入至转换模板,并获取转换模板输出的与计算函数对应的迁移语句。然后,将待计算数据名作为与计算函数对应的迁移语句中的变量,将待计算数据名添加至该迁移语句,并将添加完成的迁移语句置入一个新建文件中,并将提取语句(调用文件中的调用语句的复制)同样置入该新建文件,最后形成的新建文件即为迁移文件。
通过图2所示实施例可知,在本发明实施例中,通过识别调用文件中的计算语句,该计算语句包括待计算数据名和计算函数,待计算数据名是计算语句被执行时调用的数据库数据的名称,然后将计算函数通过转换模板转换为迁移语句,并将待计算数据名添加至迁移语句,将迁移语句作为迁移文件的一部分,生成迁移文件,本发明实施例根据函数名称进行语句转换,提升了语句转换的准确性。
图3所示,是在本发明实施例一的基础上,并在业务功能包括多个子功能的基础上,对若第一执行结果与第二执行结果相同,则将迁移文件添加至应用工程的过程进行细化后得到的一种实现方法。本发明实施例提供了基于数据分析技术的计算逻辑迁移方法的实现流程图,如图3所示,该基于数据分析技术的计算逻辑迁移方法可以包括以下步骤:
在S301中,获取所述第一执行结果中与所述多个子功能一一对应的多个第一子结果,并获取所述第二执行结果中与所述多个子功能一一对应的多个第二子结果,将所述多个第一子结果与所述多个第二子结果进行一一比对。
由于现今的业务逐渐朝着复杂化的方向发展,故业务功能可能包括多个子功能,比如多个子功能依次为功能FunctionA、功能FunctionB和功能FunctionC,功能FunctionA为计算区域A的平均业务量,功能FunctionB为计算区域B的平均业务量,功能FunctionC为计算区域C的平均业务量。在执行应用工程中的调用文件后,得到第一执行结果,在本发明实施例中,获取得到的第一执行结果中与多个子功能一一对应的多个第一子结果。与之对应的,在迁移文件生成后,将迁移文件暂时性添加至应用工程,并执行应用工程中的迁移文件,得到第二执行结果,获取第二执行结果中与多个子功能一一对应的多个第二子结果。在获取到多个第一子结果与多个第二子结果,将多个第一子结果与多个第二子结果进行一一比对。
在S302中,若将所述多个第一子结果与所述多个第二子结果进行一一比对的结果都为成功,则将所述迁移文件添加至所述应用工程。
在本发明实施例中,查看将多个第一子结果与多个第二子结果进行一一比对的结果。举例来说,若多个第一子结果为第一子结果ResultA1、第一子结果ResultB1和第一子结果ResultC1,分别对应功能FunctionA、功能FunctionB和功能FunctionC,多个第二子结果为第二子结果ResultA2、第二子结果ResultB2和第二子结果ResultC2,分别对应功能FunctionA、功能FunctionB和功能FunctionC,则将第一子结果ResultA1与第二子结果ResultA2进行比对,将第一子结果ResultB1与第二子结果ResultB2进行比对,将第一子结果ResultC1与第二子结果ResultC2进行比对,并查看每一组比对的结果。如果多个第一子结果和多个第二子结果一一比对的结果都为成功,则将迁移文件永久添加至应用工程中。
可选地,若调用文件存在多个,分别对应多个子功能,则单独计算每个子功能对应的第一子结果和第二子结果,并将第一子结果和第二子结果进行比对,得到比对结果,如果多个子功能对应的比对结果都为成功,则将迁移文件永久添加至应用工程。如果调用文件存在多个,比如包括调用文件A、调用文件B和调用文件C,分别对应功能FunctionA、功能FunctionB和功能FunctionC,与调用文件对应的迁移文件也包括迁移文件A、迁移文件B和迁移文件C,则在本发明实施例中,为了查看不同子功能单独实现的情况,单独计算每个子功能对应的第一子结果和第二子结果,举例来说,单独执行功能FunctionA对应的调用文件A,获得第一子结果ResultA1,并单独执行功能FunctionA对应的迁移文件A,获得第二子结果ResultA2,最后将第一子结果ResultA1与第二子结果ResultA2进行比对,得到比对结果A;单独执行功能FunctionB对应的调用文件B,获得第一子结果ResultB1,并单独执行迁移文件B,获得第二子结果ResultB2,最后将第一子结果ResultB1与第二子结果ResultB2进行比对,得到比对结果B……。当多个子功能对应的比对结果都为成功时,才将迁移文件永久添加至应用工程。
可选地,若调用文件存在多个,分别对应多个子功能,则单独计算指定的子功能组合对应的第一子结果和第二子结果,并将第一子结果和第二子结果进行比对,得到比对结果,如果指定的子功能组合对应的比对结果为成功,则将迁移文件永久添加至应用工程。在实际应用场景,存在不同的子功能调用的数据库数据相同的情况,故在前述进行比对的方法基础上,还可对指定的子功能组合对应的第一子结果和第二子结果进行比对,如果比对成功,则将迁移文件永久添加至应用工程。举例来说,多个子功能组合包括功能FunctionA+功能FunctionB、功能FunctionA+功能FunctionC、功能FunctionB+功能FunctionC和功能FunctionA+功能FunctionB+功能FunctionC,指定的子功能组合为功能FunctionA+功能FunctionB,则在计算过程中,首先同时执行功能FunctionA对应的调用文件A和功能FunctionB对应的调用文件B,得到第一子结果,然后同时执行功能FunctionA对应的迁移文件A和功能FunctionB对应的迁移文件B,得到第二子结果,将第一子结果和第二子结果进行比对,得到比对结果。当指定的子功能组合的比对结果为成功时,将迁移文件永久添加至应用工程,其中,指定的子功能组合可以为多个子功能组合中的一个或多个,根据实际应用场景决定。
通过图3所示实施例可知,在本发明实施例中,在业务功能包括多个子功能的情况下,获取第一执行结果中与多个子功能一一对应的多个第一子结果,并获取第二执行结果中与多个子功能一一对应的多个第二子结果,将多个第一子结果与多个第二子结果进行一一比对,若比对结果都为成功,则将迁移文件永久添加至应用工程,本发明实施例针对多个子功能进行一一比对,提升了对存在多个子功能的场景的适用性。
图4所示,是在本发明实施例一的基础上,对若第一执行结果与第二执行结果相同,则将迁移文件添加至应用工程的过程进行细化后得到的一种实现方法。本发明实施例提供了基于数据分析技术的计算逻辑迁移方法的实现流程图,如图4所示,该基于数据分析技术的计算逻辑迁移方法可以包括以下步骤:
在S401中,获取得到所述第一执行结果的第一执行时长,并获取得到所述第二执行结果的第二执行时长。
由于在业务场景中,业务功能的实现效率通常是体现在实现过程所耗的时长,故在本发明实施例中,对执行应用工程中的调用文件得到第一执行结果的过程进行计时,得到第一执行时长,并在将迁移文件暂时性添加至应用工程后,对执行应用工程中的迁移文件得到第二执行结果的过程进行计时,得到第二执行时长。
在S402中,若所述第一执行时长大于或等于所述第二执行时长,且所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
在第一执行结果与第二执行结果相同的基础上,对第一执行时长与第二执行时长进行比对,若第一执行时长大于第二执行时长,则证明迁移文件的执行效率高于调用文件,则将迁移文件永久添加至应用工程中;若第一执行时长等于第二执行时长,则证明迁移文件的执行效率与调用文件相同,但由于计算逻辑位于上层***的层级时,能够支持更大数量级的数据进行处理,适用性强,故仍将迁移文件永久添加至应用工程中;若第一执行时长小于第二执行时长,则在应用工程中删除迁移文件。值得一提的是,在将迁移文件永久添加至应用工程后,可删除原有的调用文件以节省容量。
通过图4所示实施例可知,在本发明实施例中,获取执行调用文件得到第一执行结果的第一执行时长,并获取执行迁移文件得到第二执行结果的第二执行时长,并将第一执行时长与第二执行时长进行比对,如果第一执行时长大于或等于第二执行时长,且第一执行结果等于第二执行结果,则将迁移文件永久添加至应用工程,本发明实施例根据调用文件和迁移文件的执行时长来判断是否将迁移文件添加至应用工程,防止业务功能的实现效率降低。
图5所示,是在本发明实施例一的基础上,在将迁移文件添加至应用工程之后,对应用工程中原有的调用文件进行操作的过程进行细化后得到的一种实现方法。本发明实施例提供了基于数据分析技术的计算逻辑迁移方法的实现流程图,如图5所示,该基于数据分析技术的计算逻辑迁移方法可以包括以下步骤:
在S501中,禁用所述调用文件。
在本发明实施例中,将迁移文件永久添加至应用工程后,由于在后续的应用工程正常运行过程中,只需执行迁移文件实现业务功能,故对应用工程中原有的调用文件执行禁用操作。其中,禁用操作可以是将调用文件存储至云服务器,并从应用工程中移除调用文件,也可以是不移除调用文件,而是对应用工程中的调用文件设置执行权限,并在正常的运行模式下,禁止执行调用文件。
在S502中,当检测到所述应用工程的所述业务功能实现失败时,重新启用所述调用文件。
完成对调用文件的禁用后,运行包含迁移文件的应用工程,并定期检测业务功能是否实现,具体可通过检测执行应用工程中的迁移文件得到的执行结果是否在预设的取值范围内,如果在取值范围内,则业务功能实现成功;如果不在取值范围内,则业务功能实现失败。若检测到在某一个时刻,业务功能实现失败,则停止运行应用工程,并在应用工程中重新启用调用文件,重新启用的操作与禁用操作相对应,如果禁用操作是将调用文件存储至云服务器,则在本步骤中从云服务器下载调用文件,并将调用文件添加至应用工程;如果禁用操作是对调用文件设置执行权限,则在本步骤中开放调用文件的执行权限。值得一提的是,在重新启用调用文件的同时,对迁移文件执行禁用操作。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明实施例提供的终端设备的结构框图,该终端设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述终端设备包括:
获取单元61,用于获取应用工程中的调用文件,所述调用文件用于被执行以实现业务功能;
执行单元62,用于连接与所述应用工程相关的数据库,并执行所述调用文件,得到第一执行结果;
转换单元63,用于根据预设的转换模板对所述调用文件进行转换,得到迁移文件,并获取通过执行所述迁移文件得到的第二执行结果;
添加单元64,用于若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
可选地,所述转换单元63,包括:
识别单元,用于识别所述调用文件中的计算语句,所述计算语句包括待计算数据名和计算函数,所述待计算数据名是所述计算语句被执行时调用的数据库数据的名称;
转换子单元,用于将所述计算函数通过所述转换模板转换为迁移语句,将所述待计算数据名添加至所述迁移语句,并生成包含添加完成后的所述迁移语句的所述迁移文件。
可选地,所述业务功能包括多个子功能,所述添加单元64,包括:
比对单元,用于获取所述第一执行结果中与所述多个子功能一一对应的多个第一子结果,并获取所述第二执行结果中与所述多个子功能一一对应的多个第二子结果,将所述多个第一子结果与所述多个第二子结果进行一一比对;
第一添加单元,用于若将所述多个第一子结果与所述多个第二子结果进行一一比对的结果为成功,则将所述迁移文件添加至所述应用工程。
可选地,所述添加单元64,包括:
时长获取单元,用于获取得到所述第一执行结果的第一执行时长,并获取得到所述第二执行结果的第二执行时长;
第二添加单元,用于若所述第一执行时长大于或等于所述第二执行时长,且所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
可选地,所述添加单元64,还包括:
禁用单元,用于禁用所述调用文件;
启用单元,用于当检测到所述应用工程的所述业务功能实现失败时,重新启用所述调用文件。
因此,本发明实施例提供的终端设备通过将应用工程中实现业务功能的计算逻辑从数据库层级迁移到了上层***的层级,提升了业务功能的实现效率。
图7是本发明实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个基于数据分析技术的计算逻辑迁移方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,所述处理器70执行所述计算机程序72时实现上述各终端设备实施例中各单元的功能,例如图6所示单元61至64的功能。
示例性的,所述计算机程序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 Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述终端设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于数据分析技术的计算逻辑迁移方法,其特征在于,包括:
获取应用工程中的调用文件,所述调用文件用于被执行以实现业务功能;
连接与所述应用工程相关的数据库,并执行所述调用文件,得到第一执行结果;
根据预设的转换模板对所述调用文件进行转换,得到迁移文件,并获取通过执行所述迁移文件得到的第二执行结果;
若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程;
所述根据预设的转换模板对所述调用文件进行转换,得到迁移文件,包括:
识别所述调用文件中的计算语句,在应用工程的运行过程中,获取输出的运行日志,从运行日志中确定调用文件的SQL语句的语句执行时长,将语句执行时长大于或等于预设阈值的SQL语句作为计算语句,所述计算语句包括待计算数据名和计算函数,所述待计算数据名为所述计算语句被执行时调用的数据库数据的名称;
所述转换模板中包括与多个函数名称一一对应的多个迁移语句,将所述计算函数输入至所述转换模板,通过所述转换模板转换为与所述计算函数对应的迁移语句,将所述待计算数据名作为与计算函数对应的迁移语句中的变量,将所述待计算数据名添加至所述迁移语句,并将添加完成的迁移语句置入一个新建文件中,并将提取语句置入该新建文件,生成包含添加完成后的所述迁移语句的所述迁移文件。
2.如权利要求1所述的计算逻辑迁移方法,其特征在于,所述业务功能包括多个子功能,所述若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程,包括:
获取所述第一执行结果中与所述多个子功能一一对应的多个第一子结果,并获取所述第二执行结果中与所述多个子功能一一对应的多个第二子结果,将所述多个第一子结果与所述多个第二子结果进行一一比对;
若将所述多个第一子结果与所述多个第二子结果进行一一比对的结果都为成功,则将所述迁移文件添加至所述应用工程。
3.如权利要求1所述的计算逻辑迁移方法,其特征在于,所述若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程,包括:
获取得到所述第一执行结果的第一执行时长,并获取得到所述第二执行结果的第二执行时长;
若所述第一执行时长大于或等于所述第二执行时长,且所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
4.如权利要求1所述的计算逻辑迁移方法,其特征在于,所述若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程之后,还包括:
禁用所述调用文件;
当检测到所述应用工程的所述业务功能实现失败时,重新启用所述调用文件。
5.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取应用工程中的调用文件,所述调用文件用于被执行以实现业务功能;
连接与所述应用工程相关的数据库,并执行所述调用文件,得到第一执行结果;
根据预设的转换模板对所述调用文件进行转换,得到迁移文件,并获取通过执行所述迁移文件得到的第二执行结果;
若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程;
所述根据预设的转换模板对所述调用文件进行转换,得到迁移文件,包括:
识别所述调用文件中的计算语句,在应用工程的运行过程中,获取输出的运行日志,从运行日志中确定调用文件的SQL语句的语句执行时长,将语句执行时长大于或等于预设阈值的SQL语句作为计算语句,所述计算语句包括待计算数据名和计算函数,所述待计算数据名是所述计算语句被执行时调用的数据库数据的名称;
所述转换模板中包括与多个函数名称一一对应的多个迁移语句,将所述计算函数输入至所述转换模板,通过所述转换模板转换为与所述计算函数对应的迁移语句,将所述待计算数据名作为与计算函数对应的迁移语句中的变量,将所述待计算数据名添加至所述迁移语句,并将添加完成的迁移语句置入一个新建文件中,并将提取语句置入该新建文件,生成包含添加完成后的所述迁移语句的所述迁移文件。
6.如权利要求5所述的终端设备,其特征在于,所述业务功能包括多个子功能,所述若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程,包括:
获取所述第一执行结果中与所述多个子功能一一对应的多个第一子结果,并获取所述第二执行结果中与所述多个子功能一一对应的多个第二子结果,将所述多个第一子结果与所述多个第二子结果进行一一比对;
若将所述多个第一子结果与所述多个第二子结果进行一一比对的结果都为成功,则将所述迁移文件添加至所述应用工程。
7.如权利要求5所述的终端设备,其特征在于,所述若所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程,包括:
获取得到所述第一执行结果的第一执行时长,并获取得到所述第二执行结果的第二执行时长;
若所述第一执行时长大于或等于所述第二执行时长,且所述第一执行结果与所述第二执行结果相同,则将所述迁移文件添加至所述应用工程。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述计算逻辑迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810916413.2A CN109284278B (zh) | 2018-08-13 | 2018-08-13 | 基于数据分析技术的计算逻辑迁移方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810916413.2A CN109284278B (zh) | 2018-08-13 | 2018-08-13 | 基于数据分析技术的计算逻辑迁移方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284278A CN109284278A (zh) | 2019-01-29 |
CN109284278B true CN109284278B (zh) | 2023-10-31 |
Family
ID=65183224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810916413.2A Active CN109284278B (zh) | 2018-08-13 | 2018-08-13 | 基于数据分析技术的计算逻辑迁移方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284278B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032385B (zh) * | 2021-05-31 | 2021-09-07 | 北京江融信科技有限公司 | 一种易扩展可配置化的数据备份***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009116288A1 (ja) * | 2008-03-19 | 2009-09-24 | 株式会社インフォース | データベースシステム移行方法 |
CN104636257A (zh) * | 2015-03-13 | 2015-05-20 | 胡兢玉 | 基于sql覆盖的数据库应用软件自动化测试方法 |
CN106953893A (zh) * | 2017-02-15 | 2017-07-14 | 北京百度网讯科技有限公司 | 云存储***间的数据迁移 |
CN107368486A (zh) * | 2016-05-12 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种业务迁移方法及装置 |
-
2018
- 2018-08-13 CN CN201810916413.2A patent/CN109284278B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009116288A1 (ja) * | 2008-03-19 | 2009-09-24 | 株式会社インフォース | データベースシステム移行方法 |
CN104636257A (zh) * | 2015-03-13 | 2015-05-20 | 胡兢玉 | 基于sql覆盖的数据库应用软件自动化测试方法 |
CN107368486A (zh) * | 2016-05-12 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种业务迁移方法及装置 |
CN106953893A (zh) * | 2017-02-15 | 2017-07-14 | 北京百度网讯科技有限公司 | 云存储***间的数据迁移 |
Also Published As
Publication number | Publication date |
---|---|
CN109284278A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795455B (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN109344153B (zh) | 业务数据的处理方法及终端设备 | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
CN109814524B (zh) | 一种车辆诊断方法、装置及*** | |
CN109885614B (zh) | 一种数据同步的方法和装置 | |
CN108762898B (zh) | 一种线程接口的管理方法、终端设备及计算机可读存储介质 | |
CN110737594B (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN109376142B (zh) | 数据迁移方法及终端设备 | |
CN109815112B (zh) | 基于功能测试的数据调试方法、装置及终端设备 | |
CN113312338A (zh) | 数据一致性的校验方法、装置、设备、介质及程序产品 | |
CN112906054A (zh) | 多租户的数据库隔离方法、装置及电子设备 | |
CN111241177A (zh) | 数据采集方法、***及网络设备 | |
CN113434482A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN115858488A (zh) | 基于数据治理的平行迁移方法、装置及可读介质 | |
CN110737458A (zh) | 一种代码更新方法和相关装置 | |
CN117349267B (zh) | 一种数据库迁移处理方法及*** | |
CN113111669B (zh) | 基于增量的前端多语言国际化翻译方法及装置 | |
CN109284278B (zh) | 基于数据分析技术的计算逻辑迁移方法及终端设备 | |
CN109408035B (zh) | 一种业务***的流程配置方法、存储介质和服务器 | |
CN116483707A (zh) | 测试方法、装置、设备、存储介质及程序产品 | |
CN114157662B (zh) | 一种云平台参数适配方法、装置、终端设备及储存介质 | |
CN116204540A (zh) | 操作日志记录方法、装置、设备及存储介质 | |
US20200097573A1 (en) | Identification of records for post-cloning tenant identifier translation | |
CN114722927A (zh) | 一种崩溃聚类方法、装置、电子设备以及存储介质 | |
CN114356454A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |