CN111444208B - 一种数据更新方法及相关设备 - Google Patents
一种数据更新方法及相关设备 Download PDFInfo
- Publication number
- CN111444208B CN111444208B CN202010217476.6A CN202010217476A CN111444208B CN 111444208 B CN111444208 B CN 111444208B CN 202010217476 A CN202010217476 A CN 202010217476A CN 111444208 B CN111444208 B CN 111444208B
- Authority
- CN
- China
- Prior art keywords
- file
- statement
- updating
- target
- updated
- 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
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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据更新方法及相关设备,所述方法应用于数据处理技术领域,包括:运行数据库脚本文件,通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置;根据运行错误的位置对数据库脚本文件进行文件切割,得到第一文件和第二文件,检测数据库脚本文件对应的应用程序版本的数量,并根据应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,基于目标更新策略对第二文件中的数据定义语句进行更新,得到更新后的第二文件。实施本申请实施例,有利于提高数据定义语句的更新效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据更新方法及相关设备。
背景技术
目前,针对数据定义语言(Data definition language,DDL)的修正,通常是将每一个DDL语句独立写入每一个数据库脚本文件,每个数据库脚本文件自带信息摘要值,这样由于执行过的数据库脚本文件存在相同的信息摘要值,那么可以对执行过的数据库脚本文件进行忽视,而每次仅执行未执行的数据库脚本文件。这种方式需要将每个数据库脚本文件独立文件化,会产生大量的数据库脚本文件创建及管理,处理效率慢,且不能整体化处理包括多个DDL语句的大数据库脚本文件。
发明内容
本申请实施例提供了一种数据更新方法及相关设备,可以实现整体化处理包括多个数据定义语句的数据库脚本文件,提高数据定义语句的更新效率。
第一方面本申请实施例提供一种数据更新方法,该方法包括:
运行数据库脚本文件,并通过日志文件记录所述数据库脚本文件的运行信息;
若基于所述运行信息检测到所述数据库脚本文件运行错误,则在所述数据库脚本文件中定位运行错误的位置;
根据所述运行错误的位置对所述数据库脚本文件进行文件切割,得到第一文件和第二文件,所述第一文件为所述数据库脚本文件中所述位置之前的文件,所述第二文件为所述数据库脚本文件中所述位置以及所述位置之后的文件;
检测所述数据库脚本文件对应的应用程序版本的数量,并根据所述应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略;
基于所述目标更新策略对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述应用程序版本的数量为一个,所述目标更新策略为统一版本更新策略,所述基于所述目标更新策略对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件的具体实施方式为:从所述数据库脚本文件的运行信息中提取所述第二文件运行错误的目标信息;基于所述目标信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述基于所述目标信息对所述第二文件中的数据定义语句进行更新的具体实施方式为:向终端设备发送所述目标信息和所述第二文件,以便于所述终端设备基于所述目标信息确定并返回针对所述第二文件中数据定义语句的更新指示信息;接收所述终端设备返回的所述更新指示信息,并基于所述更新指示信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述应用程序版本的数量为多个,所述目标更新策略为多版本更新策略,所述基于所述目标更新策略对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件的具体实施方式为:从所述第二文件中包括的至少一个数据定义语句中确定预设类型的目标语句;在所述第二文件中的各个所述目标语句之前添加预设脚本;运行添加所述预设脚本后的第二文件,以更新所述第二文件中的数据定义语句,得到更新后的第二文件。
在一个实施例中,所述预设脚本包括至少一个条件语句以及所述至少一个条件语句中各个条件语句各自对应的动作语句,所述运行添加所述预设脚本后的第二文件,以更新所述第二文件中的数据定义语句,得到更新后的第二文件的具体实施方式为:运行添加所述预设脚本后的第二文件,检测所述第二文件中的各个数据定义语句是否满足所述各个条件语句对应的条件;若检测到所述第二文件中的第一数据定义语句满足所述第一条件语句对应的条件,则对所述第一数据定义语句执行所述第一动作语句对应的数据定义语句更新动作,以更新所述第一数据定义语句,其中,所述第一数据定义语句为所述第二文件包括的至少一个数据定义语句中的任一个,所述第一条件语句为所述至少一个条件语句中的任一个条件语句,所述第一动作语句为所述第一条件语句对应的动作语句。
在一个实施例中,还可以对所述第一文件添加运行成功标识,对所述第二文件添加运行失败标识;基于所述运行失败标识继续运行所述更新后的第二文件,并通过所述日志文件记录所述更新后的第二文件的运行信息;若检测到所述更新后的第二文件运行错误,则在所述更新后的第二文件中定位运行错误的目标位置;根据所述错误的目标位置对所述更新后的第二文件进行文件切割,得到第三文件和第四文件,所述第三文件为所述更新后的第二文件中所述目标位置之前的文件,所述第四文件为所述更新后的第二文件中所述目标位置以及所述目标位置之后的文件;基于所述目标更新策略对所述第四文件中的数据定义语句进行更新,得到更新后的第四文件。
在一个实施例中,所述基于所述目标信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件的具体实施方式为:对所述目标信息进行关键字提取,以得到参考关键字集合;若所述参考关键字集合中包括第一关键字,则获取所述第一关键字对应的第一数据更新集合;根据所述参考关键字集合中的第二关键字,确定出第二数据更新集合,所述第二关键字为所述参考关键字集合中处所述第一关键字以外的关键字;若所述第一数据更新集合与所述第二数据更新集合中存在相同的数据更新语句,将所述相同的数据更新语句确定为目标数据更新语句;基于所述目标数据更新语句对所述第二文件中的数据定义语句进行更新,以得到更新后的第二文件。
第二方面本申请实施例提供了一种数据更新装置,所述装置包括:
运行模块,用于运行数据库脚本文件;
记录模块,用于通过日志文件记录所述数据库脚本文件的运行信息;
处理模块,用于若基于所述运行信息检测到所述数据库脚本文件运行错误,则在所述数据库脚本文件中定位运行错误的位置,并根据所述运行错误的位置对所述数据库脚本文件进行文件切割,得到第一文件和第二文件,所述第一文件为所述数据库脚本文件中所述位置之前的文件,所述第二文件为所述数据库脚本文件中所述位置以及所述位置之后的文件;
所述处理模块,还用于检测所述数据库脚本文件对应的应用程序版本的数量,并根据所述应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略;
所述处理模块,还用于基于所述目标更新策略对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
第三方面,本申请实施例提供了一种服务器,该服务器包括处理器、通信接口和存储器,所述处理器、通信接口和存储器相互连接,其中,所述通信接口受所述处理器的控制用于收发消息,所述存储器用于存储支持服务器执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本申请实施例中,服务器可以运行数据库脚本文件,并通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置。进一步地,可以根据运行错误的位置对数据库脚本文件进行文件切割,得到第一文件和第二文件,检测数据库脚本文件对应的应用程序版本的数量,并根据应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,进而基于目标更新策略对第二文件中的数据定义语句进行更新,得到更新后的第二文件。实施本申请实施例,可以通过对数据库脚本文件进行文件切割的方式实现对数据定义语句的更新,无需大量的数据库脚本文件的创建及管理,实现整体化处理包括多个数据定义语句的数据库脚本文件,提高数据定义语句的更新效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据更新方法的流程示意图;
图2是本申请实施例提供的一种数据库脚本文件对应的表结构的示意图;
图3是本申请实施例提供的另一种数据更新方法的流程示意图;
图4是本申请实施例提供的又一种数据更新方法的流程示意图;
图5是本申请实施例提供的一种数据更新装置的示意框图;
图6是本申请实施例提供的一种服务器的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本申请实施例提供的一种数据更新方法的流程示意图,该方法应用于服务器,如图所示,该数据更新方法可包括:
S101:运行数据库脚本文件,并通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置。
其中,上述数据库脚本文件可以为结构化查询语言(Structured QueryLanguage,SQL)文件,SQL语言共分为四大类:数据查询语言(data query language,DQL),数据操纵语言(data manipulation language,DML),数据定义语言(data definationlanguage,DDL),数据控制语言(data control language,DCL)。其中,DDL语句是数据定义语句,包括各种数据对象的创建、修改和删除,以及授权等操作。
在一个实施例中,当需要修正数据库脚本文件中的数据定义语句时,可以运行数据库脚本文件,并在运行过程中,通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置。
S102:根据运行错误的位置对数据库脚本文件进行文件切割,得到第一文件和第二文件,该第一文件为数据库脚本文件中该位置之前的文件,第二文件为数据库脚本文件中该位置以及位置之后的文件。
示例性地,假设数据库脚本文件对应的表结构如图2所示,数据库脚本文件包括语句1、语句2、语句3、语句4、语句5和语句6,运行错误的位置为语句3所在的位置。这种情况下,服务器可以基于该位置对数据库脚本文件进行文件切割,将语句3所在位置之前的文件切割为第一文件,如图2中的20所示;将包括语句3所在位置以及语句3所在位置之后的文件切割为第二文件,如图2中的21所示。
S103:检测数据库脚本文件对应的应用程序版本的数量,并根据应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略。
S104:基于该目标更新策略对第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,由于服务器对应应用程序的版本更迭,服务器的数据库可以存储多个版本的应用程序的数据,相应地,数据库脚本文件也可以对应多种版本的应用程序。在对DDL进行更新时,对于一个应用程序版本的数据库而言,可以采用统一更新的方式进行更新。但对于多个应用程序版本的数据库而言,统一更新比较困难,原因在于各个版本表结构不一致,无法通过一套DDL脚本进行统一有效的矫正。比如版本1缺少字段A,版本2缺少字段B,版本3缺少字段C,如果采用统一更新的方式,统一增加字段A、字段B和字段C,将使得所有版本都包含字段A、字段B和字段C,导致对DDL的更新有误。
为了解决上述问题,可以预先建立应用程序版本的数量与预设的各个更新策略的对应关系。这种情况下,当服务器检测出数据库脚本文件对应的应用程序版本的数量后,可以从上述预先建立应用程序版本的数量与预设的各个更新策略的对应关系中,确定出该数据库脚本文件对应的应用程序版本的数量对应的目标更新策略,进一步地,基于该目标更新策略对第二文件中的数据定义语句进行更新,得到更新后的第二文件。
示例性地,上述预设的至少一个更新策略可以包括统一版本更新策略和多版本更新策略,该统一版本更新策略对应的应用程序版本的数量为一个,该多版本更新策略对应的应用程序版本的数量为多个。
在一个实施例中,可以对第一文件添加运行成功标识,对第二文件添加运行失败标识。其中,由于对第一文件添加运行成功标识,对第二文件添加运行失败标识所以下次服务器再去执行数据库脚本文件就可以自动跳过第一文件,从而每次只从出错的位置开始继续尝试。
进一步地,在基于该目标更新策略对第二文件中的数据定义语句进行更新,得到更新后的第二文件之后,可以基于该运行失败标识继续运行更新后的第二文件,并通过日志文件记录更新后的第二文件的运行信息,若检测到更新后的第二文件运行错误,则在更新后的第二文件中定位运行错误的目标位置,并根据错误的目标位置对更新后的第二文件进行文件切割,得到第三文件和第四文件,其中,该第三文件为更新后的第二文件中目标位置之前的文件,第四文件为更新后的第二文件中目标位置以及目标位置之后的文件。进一步地,可以基于步骤S103中确定出的目标更新策略对第四文件中的数据定义语句进行更新,得到更新后的第四文件。
以此类推,服务器检测到第四文件更新完成后,可以继续执行该更新后的第四文件,若检测到执行出错,则基于出错位置继续切割,不断去迭代追加,从而只需要更新出错的数据定义语句。
本申请实施例中,服务器可以运行数据库脚本文件,并通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置。进一步地,可以根据运行错误的位置对数据库脚本文件进行文件切割,得到第一文件和第二文件,检测数据库脚本文件对应的应用程序版本的数量,并根据应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,进而基于目标更新策略对第二文件中的数据定义语句进行更新,得到更新后的第二文件。实施本申请实施例,可以通过对数据库脚本文件进行文件切割的方式实现对数据定义语句的更新,无需大量的数据库脚本文件的创建及管理,实现整体化处理包括多个数据定义语句的数据库脚本文件,提高数据定义语句的更新效率。
参见图3,图3是本申请实施例提供的另一种数据更新方法的流程示意图,该方法应用于服务器,如图所示,该数据更新方法可包括:
S301:运行数据库脚本文件,并通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置。
S302:根据运行错误的位置对数据库脚本文件进行文件切割,得到第一文件和第二文件,该第一文件为数据库脚本文件中该位置之前的文件,第二文件为数据库脚本文件中该位置以及位置之后的文件。
S303:检测数据库脚本文件对应的应用程序版本的数量,并根据应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,该应用程序版本的数量为一个,目标更新策略为统一版本更新策略。其中,步骤S301~步骤S303的具体实施方式,可以参见上述实施例中步骤S101~步骤S103的相关描述,此处不再赘述。
S304:从数据库脚本文件的运行信息中提取第二文件运行错误的目标信息,并基于该目标信息对第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,基于该目标信息对第二文件中的数据定义语句进行更新,得到更新后的第二文件的具体实施方式可以包括:向终端设备发送目标信息和第二文件,以便于终端设备基于目标信息确定并返回针对第二文件中数据定义语句的更新指示信息。进一步地,接收终端设备返回的更新指示信息,并基于更新指示信息对第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,终端设备接收到服务器发送的目标信息和第二文件后,可以展示目标信息和第二文件,用户可以查看目标信息和第二文件,并基于该目标信息确定第二文件本次运行错误的原因,进而输入对第二文件中数据定义语句的更新指示信息,该更新指示信息用于指示对第二文件中的哪一个数据定义语句进行修改,以及如何修改。进一步地,终端设备可以将该更新指示信息发送至服务器。服务器可以从第二文件中至少一个的数据定义语句中确定出更新指示信息指示的目标数据定义语句,并基于更新指示信息的指示对目标数据定义语句进行更新,从而实现对第二文件中数据定义语句的更新,得到更新后的第二文件。
在一个实施例中,基于目标信息对第二文件中的数据定义语句进行更新,得到更新后的第二文件的具体实施方式还可以包括:对目标信息进行关键字提取,以得到参考关键字集合;若参考关键字集合中包括第一关键字,则获取第一关键字对应的第一数据更新集合;根据参考关键字集合中的第二关键字,确定出第二数据更新集合,第二关键字为参考关键字集合中处第一关键字以外的关键字。若第一数据更新集合与第二数据更新集合中存在相同的数据更新语句,则将相同的数据更新语句确定为目标数据更新语句,并基于目标数据更新语句对第二文件中的数据定义语句进行更新,以得到更新后的第二文件。
示例性地,假设若第一数据更新集合与第二数据更新集合中存在相同的数据更新语句为“alter table tab add column A xxx,B xxx,C xxx”其中,alter table tab add为用于添加字段的语句。这种情况下,服务器可以将“alter table tab add column Axxx,B xxx,C xxx”确定为目标数据更新语句,并基于该目标数据更新语句,在第二文件中的数据定义语句中增加字段A、字段B和字段C,以得到更新后的第二文件。
或者,在另一个实施例中,若第一数据更新集合与第二数据更新集合中不存在相同的数据更新语句,则获取第一数据更新集合与第二数据更新集合中的数据更新语句之间的相似度,以得到多个相似度,将多个相似度中相似度最高的两个数据更新语句进行融合,得到第一参考数据更新语句,将该第一参考数据更新语句确定为目标数据更新语句。
本申请实施例中,可以服务器可以运行数据库脚本文件,并通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置。进一步地,可以根据运行错误的位置对数据库脚本文件进行文件切割,得到第一文件和第二文件,检测数据库脚本文件对应的应用程序版本的数量,并根据应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,该应用程序版本的数量为一个,目标更新策略为统一版本更新策略。进一步地,可以从数据库脚本文件的运行信息中提取第二文件运行错误的目标信息,并基于该目标信息对第二文件中的数据定义语句进行更新,得到更新后的第二文件。实施本申请实施例,可以通过对数据库脚本文件进行文件切割的方式实现对数据定义语句的更新,无需大量的数据库脚本文件的创建及管理,实现整体化处理包括多个数据定义语句的数据库脚本文件,提高数据定义语句的更新效率。
参见图4,图4是本申请实施例提供的又一种数据更新方法的流程示意图,该方法应用于服务器,如图所示,该数据更新方法可包括:
S401:运行数据库脚本文件,并通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置。
S402:根据运行错误的位置对数据库脚本文件进行文件切割,得到第一文件和第二文件,该第一文件为数据库脚本文件中该位置之前的文件,第二文件为数据库脚本文件中该位置以及位置之后的文件。
S403:检测数据库脚本文件对应的应用程序版本的数量,并根据应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,该应用程序版本的数量为多个,目标更新策略为多版本更新策略。其中,步骤S401~步骤S403的具体实施方式,可以参见上述实施例中步骤S101~步骤S103的相关描述,此处不再赘述。
S404:从第二文件中包括的至少一个数据定义语句中确定预设类型的目标语句,在第二文件中的各个目标语句之前添加预设脚本。
其中,该目标语句是预先选取的容易出错的DDL,该预设脚本为开发人员根据实验测算数据预先设置的,后续可以根据实际需求进行调整。
S405:运行添加预设脚本后的第二文件,以更新第二文件中的数据定义语句,得到更新后的第二文件。
在一个实施例中,预设脚本包括至少一个条件语句以及至少一个条件语句中各个条件语句各自对应的动作语句,运行添加预设脚本后的第二文件,以更新第二文件中的数据定义语句,得到更新后的第二文件的具体实施方式包括:运行添加预设脚本后的第二文件,检测第二文件中的各个数据定义语句是否满足各个条件语句对应的条件,若检测到第二文件中的第一数据定义语句满足第一条件语句对应的条件,则对第一数据定义语句执行第一动作语句对应的数据定义语句更新动作,以更新第一数据定义语句,
其中,第一数据定义语句为第二文件包括的至少一个数据定义语句中的任一个,第一条件语句为至少一个条件语句中的任一个条件语句,第一动作语句为第一条件语句对应的动作语句。
对于一个应用程序版本的数据库而言,可以进行统一修正。对于多个应用程序版本的数据库进行统一修正比较困难,原因在于各个版本表结构不一致,无法通过一套DDL脚本进行统一有效的矫正。比如版本1缺少字段A,版本2缺少字段B,版本3缺少字段C,这样要统一修正所有版本都包含字段A、B、C,就不能笼统的使用更新语句“alter table tab addcolumn A xxx,B xxx,C xxx”对数据定义语句进行更新。
为了解决多版本无法统一修正的问题,本申请实施例中在第二文件中的各个目标语句之前添加预设脚本,该预设脚本为表征多版本数据库的表结构差异的判断条件,以及该判断条件满足时需要执行的执行动作(即上述数据定义语句更新动作)。示例性地,假设第一条件语句对应的条件为数据定义语句不存在字段A,该第一条件语句对应的数据定义语句更新动作为添加字段A。这种情况下,若服务器检测到任一个数据定义语句不存在字段A,则可以对该任一数据定义语句执行添加字段A的数据定义语句更新动作。
本申请实施例中,可以服务器可以运行数据库脚本文件,并通过日志文件记录数据库脚本文件的运行信息,若基于运行信息检测到数据库脚本文件运行错误,则在数据库脚本文件中定位运行错误的位置。进一步地,可以根据运行错误的位置对数据库脚本文件进行文件切割,得到第一文件和第二文件,检测数据库脚本文件对应的应用程序版本的数量,并根据应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,该应用程序版本的数量为多个,目标更新策略为多版本更新策略。进一步地,可以从第二文件中包括的至少一个数据定义语句中确定预设类型的目标语句,在第二文件中的各个目标语句之前添加预设脚本,并运行添加预设脚本后的第二文件,以更新第二文件中的数据定义语句,得到更新后的第二文件。实施本申请实施例,可以对多版本的数据定义语句进行统一更新。
本申请实施例还提供了一种数据更新装置。该装置包括用于执行前述图1、图3或者图4所述的方法的模块。具体地,参见图5,是本申请实施例提供的数据更新装置的示意框图。本实施例的数据更新装置包括:
运行模块50,用于运行数据库脚本文件;
记录模块51,用于通过日志文件记录所述数据库脚本文件的运行信息;
处理模块51,用于若基于所述运行信息检测到所述数据库脚本文件运行错误,则在所述数据库脚本文件中定位运行错误的位置,并根据所述运行错误的位置对所述数据库脚本文件进行文件切割,得到第一文件和第二文件,所述第一文件为所述数据库脚本文件中所述位置之前的文件,所述第二文件为所述数据库脚本文件中所述位置以及所述位置之后的文件;
所述处理模块51,还用于检测所述数据库脚本文件对应的应用程序版本的数量,并根据所述应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略;
所述处理模块51,还用于基于所述目标更新策略对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述应用程序版本的数量为一个,所述目标更新策略为统一版本更新策略,所述处理模块51,具体用于从所述数据库脚本文件的运行信息中提取所述第二文件运行错误的目标信息;基于所述目标信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述装置还包括通信模块52,所述处理模块51,还具体用于通过所述通信模块52向终端设备发送所述目标信息和所述第二文件,以便于所述终端设备基于所述目标信息确定并返回针对所述第二文件中数据定义语句的更新指示信息;通过所述通信模块52接收所述终端设备返回的所述更新指示信息,并基于所述更新指示信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述应用程序版本的数量为多个,所述目标更新策略为多版本更新策略,所述处理模块51,还具体用于从所述第二文件中包括的至少一个数据定义语句中确定预设类型的目标语句;在所述第二文件中的各个所述目标语句之前添加预设脚本;运行添加所述预设脚本后的第二文件,以更新所述第二文件中的数据定义语句,得到更新后的第二文件。
在一个实施例中,所述预设脚本包括至少一个条件语句以及所述至少一个条件语句中各个条件语句各自对应的动作语句,所述处理模块51,还具体用于运行添加所述预设脚本后的第二文件,检测所述第二文件中的各个数据定义语句是否满足所述各个条件语句对应的条件;若检测到所述第二文件中的第一数据定义语句满足所述第一条件语句对应的条件,则对所述第一数据定义语句执行所述第一动作语句对应的数据定义语句更新动作,以更新所述第一数据定义语句,其中,所述第一数据定义语句为所述第二文件包括的至少一个数据定义语句中的任一个,所述第一条件语句为所述至少一个条件语句中的任一个条件语句,所述第一动作语句为所述第一条件语句对应的动作语句。
在一个实施例中,所述处理模块51,还用于对所述第一文件添加运行成功标识,对所述第二文件添加运行失败标识;基于所述运行失败标识继续运行所述更新后的第二文件,并通过所述日志文件记录所述更新后的第二文件的运行信息;若检测到所述更新后的第二文件运行错误,则在所述更新后的第二文件中定位运行错误的目标位置;根据所述错误的目标位置对所述更新后的第二文件进行文件切割,得到第三文件和第四文件,所述第三文件为所述更新后的第二文件中所述目标位置之前的文件,所述第四文件为所述更新后的第二文件中所述目标位置以及所述目标位置之后的文件;基于所述目标更新策略对所述第四文件中的数据定义语句进行更新,得到更新后的第四文件。
在一个实施例中,所述处理模块51,还具体用于对所述目标信息进行关键字提取,以得到参考关键字集合;若所述参考关键字集合中包括第一关键字,则获取所述第一关键字对应的第一数据更新集合;根据所述参考关键字集合中的第二关键字,确定出第二数据更新集合,所述第二关键字为所述参考关键字集合中处所述第一关键字以外的关键字;若所述第一数据更新集合与所述第二数据更新集合中存在相同的数据更新语句,将所述相同的数据更新语句确定为目标数据更新语句;基于所述目标数据更新语句对所述第二文件中的数据定义语句进行更新,以得到更新后的第二文件。
需要说明的是,本申请实施例所描述的数据更新装置的各功能模块的功能可根据图1、图3或者图4所述的方法实施例中的方法具体实现,其具体实现过程可以参照图1、图3或者图4的方法实施例的相关描述,此处不再赘述。
请参见图6,图6是本申请实施例提供的一种服务器的示意性框图,如图6所示,该服务器包括,处理器601、存储器602和通信接口603。上述处理器601、存储器602和通信接口603可通过总线或其他方式连接,在本申请实施例所示图6中以通过总线连接为例。其中,存储器602用于存储计算机程序,所述计算机程序包括程序指令,处理器601用于执行存储器602存储的程序指令。其中,处理器601被配置用于调用所述程序指令执行:运行数据库脚本文件,并通过日志文件记录所述数据库脚本文件的运行信息;若基于所述运行信息检测到所述数据库脚本文件运行错误,则在所述数据库脚本文件中定位运行错误的位置;根据所述运行错误的位置对所述数据库脚本文件进行文件切割,得到第一文件和第二文件,所述第一文件为所述数据库脚本文件中所述位置之前的文件,所述第二文件为所述数据库脚本文件中所述位置以及所述位置之后的文件;检测所述数据库脚本文件对应的应用程序版本的数量,并根据所述应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略;基于所述目标更新策略对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述应用程序版本的数量为一个,所述目标更新策略为统一版本更新策略,所述处理器601,具体用于从所述数据库脚本文件的运行信息中提取所述第二文件运行错误的目标信息;基于所述目标信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述处理器601,还具体用于通过所述通信接口603向终端设备发送所述目标信息和所述第二文件,以便于所述终端设备基于所述目标信息确定并返回针对所述第二文件中数据定义语句的更新指示信息;通过所述通信接口603接收所述终端设备返回的所述更新指示信息,并基于所述更新指示信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
在一个实施例中,所述应用程序版本的数量为多个,所述目标更新策略为多版本更新策略,所述处理器601,还具体用于从所述第二文件中包括的至少一个数据定义语句中确定预设类型的目标语句;在所述第二文件中的各个所述目标语句之前添加预设脚本;运行添加所述预设脚本后的第二文件,以更新所述第二文件中的数据定义语句,得到更新后的第二文件。
在一个实施例中,所述预设脚本包括至少一个条件语句以及所述至少一个条件语句中各个条件语句各自对应的动作语句,所述处理器601,还具体用于运行添加所述预设脚本后的第二文件,检测所述第二文件中的各个数据定义语句是否满足所述各个条件语句对应的条件;若检测到所述第二文件中的第一数据定义语句满足所述第一条件语句对应的条件,则对所述第一数据定义语句执行所述第一动作语句对应的数据定义语句更新动作,以更新所述第一数据定义语句,其中,所述第一数据定义语句为所述第二文件包括的至少一个数据定义语句中的任一个,所述第一条件语句为所述至少一个条件语句中的任一个条件语句,所述第一动作语句为所述第一条件语句对应的动作语句。
在一个实施例中,所述处理器601,还用于对所述第一文件添加运行成功标识,对所述第二文件添加运行失败标识;基于所述运行失败标识继续运行所述更新后的第二文件,并通过所述日志文件记录所述更新后的第二文件的运行信息;若检测到所述更新后的第二文件运行错误,则在所述更新后的第二文件中定位运行错误的目标位置;根据所述错误的目标位置对所述更新后的第二文件进行文件切割,得到第三文件和第四文件,所述第三文件为所述更新后的第二文件中所述目标位置之前的文件,所述第四文件为所述更新后的第二文件中所述目标位置以及所述目标位置之后的文件;基于所述目标更新策略对所述第四文件中的数据定义语句进行更新,得到更新后的第四文件。
在一个实施例中,所述处理器601,还具体用于对所述目标信息进行关键字提取,以得到参考关键字集合;若所述参考关键字集合中包括第一关键字,则获取所述第一关键字对应的第一数据更新集合;根据所述参考关键字集合中的第二关键字,确定出第二数据更新集合,所述第二关键字为所述参考关键字集合中处所述第一关键字以外的关键字;若所述第一数据更新集合与所述第二数据更新集合中存在相同的数据更新语句,将所述相同的数据更新语句确定为目标数据更新语句;基于所述目标数据更新语句对所述第二文件中的数据定义语句进行更新,以得到更新后的第二文件。
应当理解,在本申请实施例中,所称处理器601可以是中央处理单元(CentralProcessing Unit,CPU),该处理器601还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器602可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。例如,存储器602还可以存储日志文件等等。
具体实现中,本申请实施例中所描述的处理器601、存储器602和通信接口603可执行本申请实施例提供的图1、图3或者图4所述的方法实施例所描述的实现方式,也可执行本申请实施例所描述的基于数据处理的分单装置的实现方式,在此不再赘述。
在本申请的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:运行数据库脚本文件,并通过日志文件记录所述数据库脚本文件的运行信息;若基于所述运行信息检测到所述数据库脚本文件运行错误,则在所述数据库脚本文件中定位运行错误的位置;根据所述运行错误的位置对所述数据库脚本文件进行文件切割,得到第一文件和第二文件,所述第一文件为所述数据库脚本文件中所述位置之前的文件,所述第二文件为所述数据库脚本文件中所述位置以及所述位置之后的文件;检测所述数据库脚本文件对应的应用程序版本的数量,并根据所述应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略;基于所述目标更新策略对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
所述计算机可读存储介质可以是前述任一实施例所述的服务器的内部存储单元,例如服务器的硬盘或内存。所述计算机可读存储介质也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (9)
1.一种数据更新方法,其特征在于,所述方法包括:
运行数据库脚本文件,并通过日志文件记录所述数据库脚本文件的运行信息;
若基于所述运行信息检测到所述数据库脚本文件运行错误,则在所述数据库脚本文件中定位运行错误的位置;
根据所述运行错误的位置对所述数据库脚本文件进行文件切割,得到第一文件和第二文件,所述第一文件为所述数据库脚本文件中所述位置之前的文件,所述第二文件为所述数据库脚本文件中所述位置以及所述位置之后的文件;
检测所述数据库脚本文件对应的应用程序版本的数量,并根据所述应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,在所述应用程序版本的数量为多个的情况下,所述目标更新策略为多版本更新策略;
在所述目标更新策略为多版本更新策略的情况下,从所述第二文件中包括的至少一个数据定义语句中确定预设类型的目标语句;
在所述第二文件中的各个所述目标语句之前添加预设脚本;
运行添加所述预设脚本后的第二文件,以更新所述第二文件中的数据定义语句,得到更新后的第二文件。
2.根据权利要求1所述的方法,其特征在于,在所述应用程序版本的数量为一个的情况下,所述目标更新策略为统一版本更新策略;所述方法还包括:
在所述目标更新策略为统一版本更新策略的情况下,从所述数据库脚本文件的运行信息中提取所述第二文件运行错误的目标信息;
基于所述目标信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标信息对所述第二文件中的数据定义语句进行更新,包括:
向终端设备发送所述目标信息和所述第二文件,以便于所述终端设备基于所述目标信息确定并返回针对所述第二文件中数据定义语句的更新指示信息;
接收所述终端设备返回的所述更新指示信息,并基于所述更新指示信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件。
4.根据权利要求1所述的方法,其特征在于,所述预设脚本包括至少一个条件语句以及所述至少一个条件语句中各个条件语句各自对应的动作语句,所述运行添加所述预设脚本后的第二文件,以更新所述第二文件中的数据定义语句,得到更新后的第二文件,包括:
运行添加所述预设脚本后的第二文件,检测所述第二文件中的各个数据定义语句是否满足所述各个条件语句对应的条件;
若检测到所述第二文件中的第一数据定义语句满足第一条件语句对应的条件,则对所述第一数据定义语句执行第一动作语句对应的数据定义语句更新动作,以更新所述第一数据定义语句;
其中,所述第一数据定义语句为所述第二文件包括的至少一个数据定义语句中的任一个,所述第一条件语句为所述至少一个条件语句中的任一个条件语句,所述第一动作语句为所述第一条件语句对应的动作语句。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
对所述第一文件添加运行成功标识,对所述第二文件添加运行失败标识;
基于所述运行失败标识继续运行所述更新后的第二文件,并通过所述日志文件记录所述更新后的第二文件的运行信息;
若检测到所述更新后的第二文件运行错误,则在所述更新后的第二文件中定位运行错误的目标位置;
根据所述错误的目标位置对所述更新后的第二文件进行文件切割,得到第三文件和第四文件,所述第三文件为所述更新后的第二文件中所述目标位置之前的文件,所述第四文件为所述更新后的第二文件中所述目标位置以及所述目标位置之后的文件;
基于所述目标更新策略对所述第四文件中的数据定义语句进行更新,得到更新后的第四文件。
6.根据权利要求2所述的方法,其特征在于,所述基于所述目标信息对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件,包括:
对所述目标信息进行关键字提取,以得到参考关键字集合;
若所述参考关键字集合中包括第一关键字,则获取所述第一关键字对应的第一数据更新集合;
根据所述参考关键字集合中的第二关键字,确定出第二数据更新集合,所述第二关键字为所述参考关键字集合中处所述第一关键字以外的关键字;
若所述第一数据更新集合与所述第二数据更新集合中存在相同的数据更新语句,则将所述相同的数据更新语句确定为目标数据更新语句;
基于所述目标数据更新语句对所述第二文件中的数据定义语句进行更新,以得到更新后的第二文件。
7.一种数据更新装置,其特征在于,所述装置包括:
运行模块,用于运行数据库脚本文件;
记录模块,用于通过日志文件记录所述数据库脚本文件的运行信息;
处理模块,用于若基于所述运行信息检测到所述数据库脚本文件运行错误,则在所述数据库脚本文件中定位运行错误的位置,并根据所述运行错误的位置对所述数据库脚本文件进行文件切割,得到第一文件和第二文件,所述第一文件为所述数据库脚本文件中所述位置之前的文件,所述第二文件为所述数据库脚本文件中所述位置以及所述位置之后的文件;
所述处理模块,还用于检测所述数据库脚本文件对应的应用程序版本的数量,并根据所述应用程序版本的数量从预设的至少一个更新策略中确定目标更新策略,在所述应用程序版本的数量为多个的情况下,所述目标更新策略为多版本更新策略;
所述处理模块,还用于基于所述目标更新策略对所述第二文件中的数据定义语句进行更新,得到更新后的第二文件,其中在所述目标更新策略为多版本更新策略的情况下,所述处理模块用于从所述第二文件中包括的至少一个数据定义语句中确定预设类型的目标语句,在所述第二文件中的各个所述目标语句之前添加预设脚本,运行添加所述预设脚本后的第二文件,以更新所述第二文件中的数据定义语句,得到更新后的第二文件。
8.一种服务器,其特征在于,包括处理器和存储器,所述处理器和所述存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被处理器执行以实现权利要求1-6任意一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010217476.6A CN111444208B (zh) | 2020-03-25 | 2020-03-25 | 一种数据更新方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010217476.6A CN111444208B (zh) | 2020-03-25 | 2020-03-25 | 一种数据更新方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444208A CN111444208A (zh) | 2020-07-24 |
CN111444208B true CN111444208B (zh) | 2022-08-30 |
Family
ID=71652426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010217476.6A Active CN111444208B (zh) | 2020-03-25 | 2020-03-25 | 一种数据更新方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444208B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204558B (zh) * | 2021-05-25 | 2023-05-26 | 城云科技(中国)有限公司 | 数据表结构自动更新方法和装置 |
CN113992754B (zh) * | 2021-10-25 | 2023-12-22 | 北京恒安嘉新安全技术有限公司 | 深度报文检测设备的策略更新方法、装置、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919612A (zh) * | 2015-12-25 | 2017-07-04 | ***通信集团浙江有限公司 | 一种上线结构化查询语言脚本的处理方法及装置 |
CN109960690A (zh) * | 2019-03-18 | 2019-07-02 | 新华三大数据技术有限公司 | 一种大数据集群的运行维护方法及装置 |
CN110109897A (zh) * | 2019-04-15 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 数据库脚本生成方法、装置、计算机设备和存储介质 |
CN110377583A (zh) * | 2019-06-17 | 2019-10-25 | 平安普惠企业管理有限公司 | 数据库脚本执行方法、装置、计算机设备和存储介质 |
CN110741616A (zh) * | 2017-06-14 | 2020-01-31 | 北京嘀嘀无限科技发展有限公司 | 用于数据上线的***和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7283993B2 (en) * | 2004-04-29 | 2007-10-16 | International Business Machines Corporation | Methods, systems, and media for handling errors in script files |
-
2020
- 2020-03-25 CN CN202010217476.6A patent/CN111444208B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919612A (zh) * | 2015-12-25 | 2017-07-04 | ***通信集团浙江有限公司 | 一种上线结构化查询语言脚本的处理方法及装置 |
CN110741616A (zh) * | 2017-06-14 | 2020-01-31 | 北京嘀嘀无限科技发展有限公司 | 用于数据上线的***和方法 |
CN109960690A (zh) * | 2019-03-18 | 2019-07-02 | 新华三大数据技术有限公司 | 一种大数据集群的运行维护方法及装置 |
CN110109897A (zh) * | 2019-04-15 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 数据库脚本生成方法、装置、计算机设备和存储介质 |
CN110377583A (zh) * | 2019-06-17 | 2019-10-25 | 平安普惠企业管理有限公司 | 数据库脚本执行方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111444208A (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112148509A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN110222028B (zh) | 一种数据管理方法、装置、设备及存储介质 | |
WO2020155740A1 (zh) | 信息查询方法、装置、计算机设备及存储介质 | |
CN111444208B (zh) | 一种数据更新方法及相关设备 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN110765195A (zh) | 一种数据解析方法、装置、存储介质及电子设备 | |
CN113722277A (zh) | 一种数据导入方法、装置、服务平台及存储介质 | |
CN111367890A (zh) | 一种数据迁移的方法、装置、计算机设备及可读存储介质 | |
CN110647463B (zh) | 一种恢复测试断点的方法、装置、电子设备 | |
CN110147354B (zh) | 批量数据编辑方法、装置、计算机设备及存储介质 | |
CN115238655A (zh) | 一种json数据编辑方法和装置 | |
CN112395307A (zh) | 执行语句的方法、装置、服务器及存储介质 | |
CN117171030A (zh) | 软件运行环境检测方法、装置、设备及存储介质 | |
CN116089394A (zh) | 数据库的数据回滚方法、存储介质与设备 | |
CN111857721B (zh) | Sql语句的验证方法、数据获取方法、设备及存储装置 | |
CN112817931B (zh) | 一种增量版本文件的生成方法及装置 | |
WO2021042532A1 (zh) | 数据库信息分析方法、装置、计算机装置及存储介质 | |
CN114153461A (zh) | 一种脚本处理方法、装置、电子设备及存储介质 | |
CN113687920A (zh) | 一种分布式***的对象策略操作方法、装置及设备 | |
CN111274148A (zh) | Sql代码缺陷的检测方法及装置 | |
CN110263055B (zh) | 一种参数提示方法、装置、设备和存储介质 | |
CN115545006B (zh) | 规则脚本生成方法、装置、计算机设备及介质 | |
WO2024109376A1 (zh) | 一种数据处理的方法、电子设备及存储介质 | |
CN107634957B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220523 Address after: 518000 China Aviation Center 2901, No. 1018, Huafu Road, Huahang community, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province Applicant after: Shenzhen Ping An medical and Health Technology Service Co.,Ltd. Address before: Room 12G, Area H, 666 Beijing East Road, Huangpu District, Shanghai 200001 Applicant before: PING AN MEDICAL AND HEALTHCARE MANAGEMENT Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |