CN112732681A - 数据平台迁移方法及系统 - Google Patents
数据平台迁移方法及系统 Download PDFInfo
- Publication number
- CN112732681A CN112732681A CN202110353102.1A CN202110353102A CN112732681A CN 112732681 A CN112732681 A CN 112732681A CN 202110353102 A CN202110353102 A CN 202110353102A CN 112732681 A CN112732681 A CN 112732681A
- Authority
- CN
- China
- Prior art keywords
- old
- new
- function
- functions
- scripts
- 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
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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H70/00—ICT specially adapted for the handling or processing of medical references
- G16H70/40—ICT specially adapted for the handling or processing of medical references relating to drugs, e.g. their side effects or intended usage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Medicinal Chemistry (AREA)
- Pharmacology & Pharmacy (AREA)
- Toxicology (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及计算机领域,公开了一种数据平台迁移方法及系统,该方法包含:复制老数据平台的实际运营数据;根据老函数表确定在老脚本中出现过的所有老函数,作为实用老函数集合;在新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数;分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本;基于训练数据分别执行每一个老脚本和对应的训练用新脚本,并比较老脚本和对应的训练用新脚本的执行结果,并建立映射关系;将老脚本中的老函数转化为对应的新函数,以作为新数据平台的正式新脚本。本申请能够显著提高从老数据平台到新数据平台的数据平台迁移的效率,降低开发人员的人力消耗。
Description
技术领域
本申请涉及计算机领域,特别涉及医药数据平台领域的数据平台迁移技术。
背景技术
在医药数据平台领域,随着业务量的增长,数据需要在老的数据平台与新的数据平台之间进行迁移,包括对大量开发作业,脚本,调度内容,数据差异,逻辑验证,不同数据平台环境比较,修改,参数差异,函数设置等等。
在将业务系统从老数据平台向新数据平台迁移的过程中,一个工作量很大且很容易出现问题的任务是脚本的改写。老数据平台向新数据平台使用的函数往往不同,虽然大部分常用的功能在两种数据平台一般都有函数可以实现,但具有相同功能的函数的名称往往不一样,而具有相同名称的函数的功能不一定一样。即使看上去实现类似功能的函数也有可能在功能上有一定的差异,这些差异有可能会导致原来的脚本运行出现Bug。
目前的脚本改写是靠开发人员手工完成的。当老数据平台的脚本数量很多时,需要消耗大量的时间,而且因为是人工修改的,有可能会引入人为的Bug。特别是有些新数据平台的新函数在名称和功能上看上去与老数据平台的老函数差不多,但实际上存在细微的差异,而这些差异可能在实际运行时导致潜在的错误,这种错误很难以阅读代码的方式被识别出来。
发明内容
本申请的目的在于提供一种数据平台迁移方法及系统,能够显著提高从老数据平台到新数据平台的数据迁移的效率,降低开发人员的人力消耗,并能够提高迁移后脚本的准确性。
本申请公开了一种数据平台迁移方法,包含:
分别根据从老数据平台的文档获取的老函数和从新数据平台的文档获取的新函数,建立相应的老函数表和新函数表;
复制所述老数据平台的实际运营数据,作为训练数据;
获取所述老数据平台的所有老脚本,并根据所述老函数表确定在这些老脚本中出现过的所有老函数,作为实用老函数集合;
对于所述实用老函数集合中的每一个老函数,在所述新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数;
对于每一个老脚本,分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本;
基于所述训练数据分别执行每一个老脚本和对应的训练用新脚本,并比较所述老脚本和对应的训练用新脚本的执行结果,如果执行结果一致,则为该老脚本使用的所有老函数和该训练用新脚本使用的所有新函数分别建立映射关系;
根据所述老新函数映射关系,将老脚本中的老函数转化为对应的新函数,以作为所述新数据平台的正式新脚本。
在一个优选例中,所述对于所述实用老函数集合中的每一个老函数,在所述新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数的步骤中,进一步包括:
如果在所述新函数表中不存在与该老函数的名称相似度大于预定门限的新函数,则输出该老函数的名称,并从外部的输入装置获取该老函数的候选替代的新函数。
在一个优选例中,所述对于所述实用老函数集合中的每一个老函数,在所述新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数的步骤中,还进一步包括:
如果在所述新函数表中与该老函数的名称相似度大于预定门限的新函数有多个,则将多个名称相似度大于预定门限的新函数均作为该老函数的候选替代的新函数;并且,
在所述对于每一个老脚本,分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本的步骤中,为一个老函数的多个候选替代的新函数分别生成训练用新脚本。
在一个优选例中,所述执行结果包括:数据行数,文件大小,关键字段数据大小。
本申请还公开了一种数据平台迁移系统包含:
老新函数表模块,用于分别根据从老数据平台的文档获取的老函数和从新数据平台的文档获取的新函数,建立相应的老函数表和新函数表;
训练数据模块,用于复制所述老数据平台的实际运营数据,作为训练数据;
老函数集合模块,用于获取所述老数据平台的所有老脚本,并根据所述老函数表确定在这些老脚本中出现过的所有老函数,作为实用老函数集合;
名称相似度模块,用于对于所述实用老函数集合中的每一个老函数,在所述新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数;
新脚本模块,用于对于每一个老脚本,分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本;
比较模块,用于基于所述训练数据分别执行每一个老脚本和对应的训练用新脚本,并比较所述老脚本和对应的训练用新脚本的执行结果,如果执行结果一致,则为该老脚本使用的所有老函数和该训练用新脚本使用的所有新函数分别建立映射关系;
转化模块,用于根据所述老新函数映射关系,将老脚本中的老函数转化为对应的新函数,以作为所述新数据平台的正式新脚本。
在一个优选例中,还包括:输出装置和输入装置;
所述名称相似度模块还用于,如果在所述新函数表中不存在与该老函数的名称相似度大于预定门限的新函数,则输出该老函数的名称,并从外部的输入装置获取该老函数的候选替代的新函数。
在一个优选例中,所述名称相似度模块还用于,如果在所述新函数表中与该老函数的名称相似度大于预定门限的新函数有多个,则将多个名称相似度大于预定门限的新函数均作为该老函数的候选替代的新函数;并且,
新脚本模块还用于,为一个老函数的多个候选替代的新函数分别生成训练用新脚本。
在一个优选例中,所述执行结果选自下组:数据行数,文件大小,关键字段数据大小。
本申请还公开了一种数据平台迁移设备包括:
存储器,用于存储计算机可执行指令;以及,
处理器,用于在执行所述计算机可执行指令时实现如前文描述的方法中的步骤。
本申请还公开了一种计算机可读存储介质所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
本申请实施方式中,能够显著提高从老数据平台到新数据平台的数据迁移的效率,降低开发人员的人力消耗。在提高效率,加快速度的同时,本申请实施方式还可以大大提升新脚本的准确程度,能够发现潜在的Bug。尤其对于名称和功能上看上去差不多的老函数和新函数,如果两者之间确实存在细微的差异,本申请实施方式可以自动发现,使得开发人员可以及时修改。
本申请的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本申请上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均因视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。
附图说明
图1是根据本申请第一实施方式的数据平台迁移方法的流程示意图;
图2是根据本申请第二实施方式的数据平台迁移系统的结构示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
首先介绍一下本申请的涉及的有关概念和应用场景。
数据平台,是指后端数据运算平台,例如 ORACLE、mysql、SQL SERVER 关系型后端数据库等等。
优选的,数据平台迁移可适用于,例如:关系型数据迁移到开源数仓平台(CDH 组件 hive) ,或者,关系型数据或者开源数仓平台(CHD 组件hive) 迁移到 MaxCompute(阿里云大数据平台)。
优选的,数据平台迁移可适用于准对业务数据,例如,定期更新的离线数据库,业务类型可以是离线平台订单交易数据,如用户点击APP流量数据,财务分析数据等。进一步的,涉及案例可以是,例如:订单交易数据,财务分析数据,仓库数据,用户行为数据,等等。
本申请的第一实施方式涉及一种数据平台迁移方法,其流程如图1所示,该方法包括以下步骤:
步骤310:分别根据从老数据平台的文档获取的老函数和从新数据平台的文档获取的新函数,建立相应的老函数表和新函数表。
具体的,本步骤通过例如从使用的老数据平台和新数据平台的官网说明中进行爬取等方式,实现对数据引擎涉及的函数的初步收集,并据此建立函数表。一般来说,数据平台的官网都有说明书性质的网页,对该数据平台中所有函数的格式、功能等给出详细的说明。也可以直接对数据平台的说明书文档进行文本分析(例如使用正则表达式写一些分析脚本),得到该数据平台中所有函数的信息。
优选的,函数类型可根据函数的使用对象划分,可分为,例如:
日期函数,即针对各种日期处理函数;
数据函数,即进制转化函数,绝对值,和数学相关数据处理;
窗口函数,即在指定的范围内进行统计排序等处理;
聚合函数,即进行聚合,平均值等处理;
字符串函数,即对一串字串进行大小写,部分关键字替换,等特殊处理,等等。
在一个实施例中,可使用PYTHON进行新数据平台和老数据平台的官网爬虫获取数据引擎涉及的函数。由此,建立老数据平台对应的老函数表T_OLD_FUN_TABLE,和新数据平台对应的新函数表T_NEW_FUN_TABLE。
步骤320:复制老数据平台的实际运营数据,作为训练数据。
在一个实施例中,老数据平台中当前在线运营的所有的数据复制出来作为训练数据。例如,对于电商的应用,训练数据可以包括所有的商品的数据,客户的数据,交易的数据等等。在另一个实施例中,可以将老数据平台最近备份的数据复制为训练数据。使用实际的生产数据作为训练数据,可以使得之后的训练更贴近实际应用场景,得到的结果给为准确。
步骤330:获取老数据平台的所有老脚本,并根据老函数表确定在这些老脚本中出现过的所有老函数,作为实用老函数集合。老数据平台中可能有很多的函数,但可能大部分的函数并没有在老脚本中被用到,所以将真正被老脚本用到过的老函数挑选出来,只对这些函数进行后续的匹配映射,从而可以大大简化自动匹配的任务。
步骤340:对于实用老函数集合中的每一个老函数,在新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数。
例如,如果确定老数据平台MaxCompute中的老函数的名称TOLOWER与新数据平台Hive中的新函数的名称LOWER的相似度超过预定门限,则可认为新函数LOWER是老函数TOLOWER对应的名称相似的新函数。
优选的,第一集合中的老函数对应的名称相似度大于预定门限的新函数可能有0个、1个或多个。
可选的,在一个实施例中,如果在新函数表中不存在与该老函数的名称相似度大于预定门限的新函数,则向输出装置输出该老函数的名称(例如在显示器上显示该老函数没有名称相似的新函数),并从外部的输入装置(例如鼠标、键盘、触摸屏等)获取该老函数的候选替代的新函数。
可选的,在一个实施例中,如果在新函数表中与该老函数的名称相似度大于预定门限的新函数有多个,则将多个名称相似度大于预定门限的新函数均作为该老函数的候选替代的新函数;并且,在生成训练用新脚本时,为一个老函数的多个候选替代的新函数分别生成训练用新脚本。
步骤350:对于每一个老脚本,分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本。
步骤360:基于训练数据分别执行每一个老脚本和对应的训练用新脚本,并比较老脚本和对应的训练用新脚本的执行结果,如果执行结果一致,则为该老脚本使用的所有老函数和该训练用新脚本使用的所有新函数分别建立映射关系。
优选的,执行结果包括:数据行数,文件大小,关键字段数据大小,数据内容等等。例如,如果某老脚本和对应的一个训练用新脚本分别在训练数据上执行后,如果两个执行结果在数据行数、文件大小、关键字段数据大小、数据内容上都一致,则可以为该老脚本和该训练用新脚本中所有的函数建立映射关系。
优选的,如果一个老函数有多个名称相似的新函数,则需要为每一个名称相似的新函数分别形成新脚本,一一进行执行结果的比对。
下面,以老数据平台为MaxCompute,新数据平台为Hive为例,进一步解释说明:
老脚本为select TOLOWER('dfdFFF')。
老脚本中出现的老函数为TOLOWER。
老函数根据名称相似度找到的名称相似的新函数为LOWER。
将老函数替换为名称相似的新函数后,新脚本为select LOWER(' dfdFFF ')。
分别执行老脚本和新脚本,如果所得到的结果一致,则为TOLOWER和LOWER建立映射关系。
需指出,如果老函数TOLOWER对应的名称相似度大于预定门限的新函数还包括LOWERX,则再生成第二个新脚本:select LOWERX(' dfdFFF ')。
分别执行老脚本和第二个新脚本,如果所得到的结果不一致,则TOLOWER和LOWERX映射不成功。
例如:同样是MONTH 函数,但只在MAXCOMPUTE 中是有效的,而在Hive中是不支持的,则映射不成功。
例如,同样是data_add 函数,在 maxcompute与Hive 是同时支持,且函数产生的结果也是一样的,则建立映射关系。
例如,某个老脚本中有函数A和B,新函数表中与老函数A名称相似度超过预定门限的新函数有2个,分别为a1和a2,新函数表中与老函数B名称相似度超过预定门限的新函数有2个,分别为b1和b2。该老脚本生成的训练用新脚本有4个,其中,脚本1包括新函数a1和b1,脚本2包括新函数a1和b2,脚本3包括新函数a2和b1,脚本4包括新函数a2和b2。然后,基于训练数据分别执行该老脚本和4个训练用新脚本,如果老脚本的执行结果和脚本3的执行结果一致,则确定的映射关系为:老函数A映射到新函数a2,老函数B映射到新函数b1。
优选的,可使用python 进行解析模拟训练数据,循环解析和记录现有案例中的老函数表和新函数表,通过对执行后的数据结果进行比较,确定老函数和新函数是否匹配,即,是否映射成功。
优选的,根据上述映射关系,可进一步建立映射关系图谱。映射关系图谱是指两个数据平台下的函数对比关系记录信息;例如获取每个月份最后一天在老数据平台的老函数为LAST_DAY,但在新数据平台的新函数为LASTDAY,在使用中就可以通过关系图谱互相切换。
优选的,可使用PYTHON ,根据上述老新函数映射关系对训练数据在新数据平台下进行解析。
优选的,可进一步判断新数据平台的执行结果是否与老数据平台的执行结果一致,并且,可对上述环节不断地循环测试和人为干预调整。
步骤370:根据老新函数映射关系,将老脚本中的老函数转化为对应的新函数,以作为新数据平台的正式新脚本。
进一步的,可根据老新函数映射关系建立新老函数关系图谱,并建立自动补全机制和迁移提醒机制。
具体的,在经过对训练数据的测试,根据老新函数映射关系建立完整的新老函数关系图谱后,当进行从老数据平台迁移到新数据平台时,可基于新老函数关系图谱,直接使用PYTHON 脚本进行批量转化,可以批量生成新数据平台的可执行数据脚本。
需指出,在上述实施例中,计算两个字符串(函数名称就是字符串)的相似度是一个现有技术,例如可以使用Jaccard 相似度、Sorensen Dice 相似度系数、Levenshtein 距离、汉明距离、余弦相似性等方式计算2个函数名称的相似度。
步骤380:基于新老函数关系图谱,设置和调整老数据平台和新数据平台的数据迁移的自动化系数,直至符合预设的要求。
具体的,本步骤基于新老函数关系图谱,根据老数据平台和新数据平台之间的差异,设置自动化测试,包括,例如:数据平台关键参数设置,对CPU、内存、磁盘、网络等相关参数进行设置,对自动化系数进行调整等;通过对迁移后数据平台性能,数据时效性,准确性,数据质量标准,校验评估结果进行对比,以判断是否符合预设的标准。
上述实施例的技术效果包括:首先,实现了数据平台迁移自动化,例如,整体自动转化,采集异常差异,迁移提醒机制,存在差异预测数据机制,在新数据平台中实现标准化、流程化,规格化,以快速进行数据平台迁移任务,由此,有效地降低了数据平台迁移的人力成本,并显著降低数据平台迁移的错误率,并且,数据平台快速迁移后的,快速校验,提高整体校验效率,快速排除异常问题,快速实现迁移后准确率。
本申请的第二实施方式涉及一种数据平台迁移系统,其结构如图2所示,该数据平台迁移系统包括:
老新函数表模块,用于分别根据从老数据平台的文档获取的老函数和从新数据平台的文档获取的新函数,建立相应的老函数表和新函数表;
训练数据模块,用于复制老数据平台的实际运营数据,作为训练数据;
老函数集合模块,用于获取老数据平台的所有老脚本,并根据老函数表确定在这些老脚本中出现过的所有老函数,作为实用老函数集合;
名称相似度模块,用于对于实用老函数集合中的每一个老函数,在新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数;
新脚本模块,用于对于每一个老脚本,分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本;
比较模块,用于基于训练数据分别执行每一个老脚本和对应的训练用新脚本,并比较老脚本和对应的训练用新脚本的执行结果,如果执行结果一致,则为该老脚本使用的所有老函数和该训练用新脚本使用的所有新函数分别建立映射关系;
转化模块,用于根据老新函数映射关系,将老脚本中的老函数转化为对应的新函数,以作为新数据平台的正式新脚本。
在一个优选例中,还包括:输出装置和输入装置;
所述名称相似度模块还用于,如果在所述新函数表中不存在与该老函数的名称相似度大于预定门限的新函数,则输出该老函数的名称,并从外部的输入装置获取该老函数的候选替代的新函数。
在一个优选例中,所述名称相似度模块还用于,如果在所述新函数表中与该老函数的名称相似度大于预定门限的新函数有多个,则将多个名称相似度大于预定门限的新函数均作为该老函数的候选替代的新函数;并且,
新脚本模块还用于,为一个老函数的多个候选替代的新函数分别生成训练用新脚本。
优选的,执行结果可以包括数据行数,文件大小,关键字段数据大小等等。
第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。
需要说明的是,本领域技术人员应当理解,上述数据平台迁移系统的实施方式中所示的各模块的实现功能可参照前述数据平台迁移方法的相关描述而理解。上述数据平台迁移系统的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本申请实施例上述数据平台迁移系统如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施方式还提供一种计算机存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本申请的各方法实施方式。
此外,本申请实施方式还提供一种数据平台迁移设备,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。其中,该处理器可以是中央处理单元(CentralProcessing Unit,简称“CPU”),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,简称“DSP”)、专用集成电路(Application Specific IntegratedCircuit,简称“ASIC”)等。前述的存储器可以是只读存储器(read-only memory,简称“ROM”)、随机存取存储器(random access memory,简称“RAM”)、快闪存储器(Flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
在本申请提及的所有文献都被认为是整体性地包括在本申请的公开内容中,以便在必要时可以作为修改的依据。此外应理解,在阅读了本申请的上述公开内容之后,本领域技术人员可以对本申请作各种改动或修改,这些等价形式同样落于本申请所要求保护的范围。
Claims (10)
1.一种数据平台迁移方法,其特征在于,包含:
分别根据从老数据平台的文档获取的老函数和从新数据平台的文档获取的新函数,建立相应的老函数表和新函数表;
复制所述老数据平台的实际运营数据,作为训练数据;
获取所述老数据平台的所有老脚本,并根据所述老函数表确定在这些老脚本中出现过的所有老函数,作为实用老函数集合;
对于所述实用老函数集合中的每一个老函数,在所述新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数;
对于每一个老脚本,分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本;
基于所述训练数据分别执行每一个老脚本和对应的训练用新脚本,并比较所述老脚本和对应的训练用新脚本的执行结果,如果执行结果一致,则为该老脚本使用的所有老函数和该训练用新脚本使用的所有新函数分别建立映射关系;
根据所述老新函数映射关系,将老脚本中的老函数转化为对应的新函数,以作为所述新数据平台的正式新脚本。
2.如权利要求1所述的数据平台迁移方法,其特征在于,所述对于所述实用老函数集合中的每一个老函数,在所述新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数的步骤中,进一步包括:
如果在所述新函数表中不存在与该老函数的名称相似度大于预定门限的新函数,则输出该老函数的名称,并从外部的输入装置获取该老函数的候选替代的新函数。
3.如权利要求2所述的数据平台迁移方法,其特征在于,所述对于所述实用老函数集合中的每一个老函数,在所述新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数的步骤中,还进一步包括:
如果在所述新函数表中与该老函数的名称相似度大于预定门限的新函数有多个,则将多个名称相似度大于预定门限的新函数均作为该老函数的候选替代的新函数;并且,
在所述对于每一个老脚本,分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本的步骤中,为一个老函数的多个候选替代的新函数分别生成训练用新脚本。
4.如权利要求1所述的数据平台迁移方法,其特征在于,所述执行结果包括:数据行数,文件大小,关键字段数据大小。
5.一种数据平台迁移系统,其特征在于,包含:
老新函数表模块,用于分别根据从老数据平台的文档获取的老函数和从新数据平台的文档获取的新函数,建立相应的老函数表和新函数表;
训练数据模块,用于复制所述老数据平台的实际运营数据,作为训练数据;
老函数集合模块,用于获取所述老数据平台的所有老脚本,并根据所述老函数表确定在这些老脚本中出现过的所有老函数,作为实用老函数集合;
名称相似度模块,用于对于所述实用老函数集合中的每一个老函数,在所述新函数表分别找到与该老函数的名称相似度大于预定门限的新函数,作为与该老函数的候选替代的新函数;
新脚本模块,用于对于每一个老脚本,分别将其中的老函数替换为候选替代的新函数,作为对应的训练用新脚本;
比较模块,用于基于所述训练数据分别执行每一个老脚本和对应的训练用新脚本,并比较所述老脚本和对应的训练用新脚本的执行结果,如果执行结果一致,则为该老脚本使用的所有老函数和该训练用新脚本使用的所有新函数分别建立映射关系;
转化模块,用于根据所述老新函数映射关系,将老脚本中的老函数转化为对应的新函数,以作为所述新数据平台的正式新脚本。
6.如权利要求5所述的数据平台迁移系统,其特征在于,还包括:输出装置和输入装置;
所述名称相似度模块还用于,如果在所述新函数表中不存在与该老函数的名称相似度大于预定门限的新函数,则输出该老函数的名称,并从外部的输入装置获取该老函数的候选替代的新函数。
7.如权利要求5所述的数据平台迁移系统,其特征在于,
所述名称相似度模块还用于,如果在所述新函数表中与该老函数的名称相似度大于预定门限的新函数有多个,则将多个名称相似度大于预定门限的新函数均作为该老函数的候选替代的新函数;并且,
新脚本模块还用于,为一个老函数的多个候选替代的新函数分别生成训练用新脚本。
8.如权利要求5所述的数据平台迁移系统,其特征在于,所述执行结果选自下组:数据行数,文件大小,关键字段数据大小。
9.一种数据平台迁移设备,其特征在于,包括:
存储器,用于存储计算机可执行指令;以及,
处理器,用于在执行所述计算机可执行指令时实现如权利要求1至4中任意一项所述的方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如权利要求1至4中任意一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110353102.1A CN112732681B (zh) | 2021-04-01 | 2021-04-01 | 数据平台迁移方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110353102.1A CN112732681B (zh) | 2021-04-01 | 2021-04-01 | 数据平台迁移方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732681A true CN112732681A (zh) | 2021-04-30 |
CN112732681B CN112732681B (zh) | 2021-06-08 |
Family
ID=75596363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110353102.1A Active CN112732681B (zh) | 2021-04-01 | 2021-04-01 | 数据平台迁移方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732681B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120005202A1 (en) * | 2010-06-30 | 2012-01-05 | International Business Machines Corporation | Method for Acceleration of Legacy to Service Oriented (L2SOA) Architecture Renovations |
CN105516098A (zh) * | 2015-11-30 | 2016-04-20 | 睿峰网云(北京)科技股份有限公司 | 一种网页脚本的识别方法及装置 |
CN108573016A (zh) * | 2017-12-25 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种数据一致性检查方法、装置、设备和存储介质 |
CN108874661A (zh) * | 2018-05-07 | 2018-11-23 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 测试映射关系库生成方法、装置、计算机设备和存储介质 |
CN109446753A (zh) * | 2018-09-10 | 2019-03-08 | 平安科技(深圳)有限公司 | 检测盗版应用程序的方法、装置、计算机设备及存储介质 |
CN109542508A (zh) * | 2018-10-18 | 2019-03-29 | 华中科技大学 | 一种基于函数调用关系图的代码同源性分析方法 |
CN110910029A (zh) * | 2019-11-29 | 2020-03-24 | 中国电力科学研究院有限公司 | 一种电力负荷聚类方法及系统 |
CN111428477A (zh) * | 2020-03-06 | 2020-07-17 | 安徽科大讯飞医疗信息技术有限公司 | 诊断名标准化方法、装置、电子设备和存储介质 |
CN111708760A (zh) * | 2020-06-17 | 2020-09-25 | 珠海宏桥高科技有限公司 | 模型迁移部署方法、装置、电子设备及存储介质 |
-
2021
- 2021-04-01 CN CN202110353102.1A patent/CN112732681B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120005202A1 (en) * | 2010-06-30 | 2012-01-05 | International Business Machines Corporation | Method for Acceleration of Legacy to Service Oriented (L2SOA) Architecture Renovations |
CN105516098A (zh) * | 2015-11-30 | 2016-04-20 | 睿峰网云(北京)科技股份有限公司 | 一种网页脚本的识别方法及装置 |
CN108573016A (zh) * | 2017-12-25 | 2018-09-25 | 北京金山云网络技术有限公司 | 一种数据一致性检查方法、装置、设备和存储介质 |
CN108874661A (zh) * | 2018-05-07 | 2018-11-23 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 测试映射关系库生成方法、装置、计算机设备和存储介质 |
CN109446753A (zh) * | 2018-09-10 | 2019-03-08 | 平安科技(深圳)有限公司 | 检测盗版应用程序的方法、装置、计算机设备及存储介质 |
CN109542508A (zh) * | 2018-10-18 | 2019-03-29 | 华中科技大学 | 一种基于函数调用关系图的代码同源性分析方法 |
CN110910029A (zh) * | 2019-11-29 | 2020-03-24 | 中国电力科学研究院有限公司 | 一种电力负荷聚类方法及系统 |
CN111428477A (zh) * | 2020-03-06 | 2020-07-17 | 安徽科大讯飞医疗信息技术有限公司 | 诊断名标准化方法、装置、电子设备和存储介质 |
CN111708760A (zh) * | 2020-06-17 | 2020-09-25 | 珠海宏桥高科技有限公司 | 模型迁移部署方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李婷等: "一种跨平台的并行编程框架设计与实现", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112732681B (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9646077B2 (en) | Time-series analysis based on world event derived from unstructured content | |
AU2013329525B2 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
US20190251072A1 (en) | Techniques for automated data analysis | |
CN109783346B (zh) | 基于关键字驱动的自动化测试方法、装置及终端设备 | |
JP2019502979A (ja) | 構造化されたマルチフィールドファイルのレイアウトの自動解釈 | |
US11836331B2 (en) | Mathematical models of graphical user interfaces | |
US20230045330A1 (en) | Multi-term query subsumption for document classification | |
CN115827895A (zh) | 一种漏洞知识图谱处理方法、装置、设备及介质 | |
CN110618926A (zh) | 源代码分析方法和源代码分析装置 | |
Gresta et al. | Naming practices in object-oriented programming: An empirical study | |
US11461414B2 (en) | Automatically building a searchable database of software features for software projects | |
CN111737472A (zh) | 文本分类模型的更新方法及系统、电子设备及存储介质 | |
CN112732681B (zh) | 数据平台迁移方法及系统 | |
CN113010550B (zh) | 结构化数据的批处理对象生成、批处理方法和装置 | |
CN115033592A (zh) | 基于数据库的sql语句处理方法、装置、设备及存储介质 | |
US9471569B1 (en) | Integrating information sources to create context-specific documents | |
JP6870454B2 (ja) | 分析装置、分析プログラム及び分析方法 | |
US11409810B1 (en) | Integration scoring for automated data import | |
Hsiao et al. | Automating the generation of hardware component knowledge bases | |
US20230153226A1 (en) | System and Method for Identifying Performance Bottlenecks | |
US11880657B1 (en) | Systems and methods for information extraction accuracy analysis | |
CN116483735B (zh) | 一种代码变更的影响分析方法、装置、存储介质及设备 | |
US11868726B2 (en) | Named-entity extraction apparatus, method, and non-transitory computer readable storage medium | |
US20240202551A1 (en) | Visual Question Answering for Discrete Document Field Extraction | |
Campesato | Python 3 and Data Analytics Pocket Primer |
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 |