CN112445519A - 文件变更控制方法、装置、设备及存储介质 - Google Patents

文件变更控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112445519A
CN112445519A CN202011393996.9A CN202011393996A CN112445519A CN 112445519 A CN112445519 A CN 112445519A CN 202011393996 A CN202011393996 A CN 202011393996A CN 112445519 A CN112445519 A CN 112445519A
Authority
CN
China
Prior art keywords
file
changed
preset
index data
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.)
Granted
Application number
CN202011393996.9A
Other languages
English (en)
Other versions
CN112445519B (zh
Inventor
陈煜佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202011393996.9A priority Critical patent/CN112445519B/zh
Publication of CN112445519A publication Critical patent/CN112445519A/zh
Application granted granted Critical
Publication of CN112445519B publication Critical patent/CN112445519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及大数据技术领域,公开了一种文件变更控制方法、装置、设备及存储介质,用于提高文件变更准确率。文件变更控制方法包括:通过预设队列对文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据;按照每个待变更文件的版本号查询预设从数据库,得到已更新文件的源指标数据;若每个待变更文件的指标数据与已更新文件的源指标数据一致,则确定每个待变更文件与已更新文件为相同文件;若每个待变更文件的指标数据与已更新文件的源指标数据不一致,则执行预设文件变更逻辑,将每个待变更文件的指标数据添加或更新至预设主数据库。此外,本发明还涉及区块链技术,已更新文件的源指标数据可存储于区块链节点中。

Description

文件变更控制方法、装置、设备及存储介质
技术领域
本发明涉及大数据技术的增量更新领域,尤其涉及一种文件变更控制方法、装置、设备及存储介质。
背景技术
在如今的应用系统部署,应用系统更新等工作中,现有变更工具,大多对应用变更类操作皆为直接对指定任务进行变更操作,无重复执行检测。
在现今互联网,尤其是大型互联网公司中,有多数应用系统是多人、跨部门合作进行开发、变更维护的,在同个应用版本变更中,会存在有不同部门不同开发维护人员的发起变更动作,如果每个人都以版本粒度发起变更,则可能出现同个应用文件多次替换覆盖,同个数据库脚本多次执行的情况。重复替换覆盖同个应用文件会造成服务器资源消耗浪费,拖慢变更进度,而且同个数据库脚本的重复执行可能会导致数据库产生脏数据等问题。
发明内容
本发明提供了一种文件变更控制方法、装置、设备及存储介质,用于提高文件变更准确率,降低数据库资源损耗。
为实现上述目的,本发明第一方面提供了一种文件变更控制方法,包括:接收文件变更请求,通过预设队列对所述文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件;按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断所述查询结果是否为空值;若所述查询结果不为空值,则从所述查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与所述已更新文件的源指标数据是否一致,所述已更新文件的源指标数据包括已更新文件的源文件名称;若每个待变更文件的指标数据与所述已更新文件的源指标数据一致,则确定每个待变更文件与已更新文件为相同文件,并向终端发送包含变更异常的提示信息;若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中;若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则确定每个待变更文件与所述已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据。
可选的,在本发明第一方面的第一种实现方式中,所述接收文件变更请求,通过预设队列对所述文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件,包括:接收文件变更请求,获取待处理的超文本传送协议请求数量;判断所述待处理的超文本传送协议请求数量是否小于预设并发阈值;若所述待处理的超文本传送协议请求数量小于预设并发阈值,则解析所述文件变更请求,得到第一待变更数据;若所述待处理的超文本传送协议请求数量大于或者等于预设并发阈值,则将所述文件变更请求添加到预设队列,通过所述预设队列对所述文件变更请求进行数据处理,得到第二待变更数据;从所述第一待变更数据或者所述第二待变更数据中确定至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件。
可选的,在本发明第一方面的第二种实现方式中,所述按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断所述查询结果是否为空值,包括:按照每个待变更文件的版本号和结构化查询语言语法规则生成对应的查询语句;连接预设从数据库,得到连接结果,当所述连接结果为连接成功时,执行所述对应的查询语句,得到查询结果,并判断所述查询结果是否为空值,所述查询结果包括所述应用文件对应的第一查询结果和/或所述数据库脚本文件对应的第二查询结果;若所述第一查询结果和所述第二查询结果全部为空值,则确定所述查询结果为空值;若所述第一查询结果和所述第二查询结果中至少一个不为空值,则确定所述查询结果不为空值。
可选的,在本发明第一方面的第三种实现方式中,所述若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中,包括:若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则确定每个待变更文件不存在于预设文件目录中,按照预设复制指令将每个待变更文件复制到所述预设文件目录中;调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;当所述重启服务结果和/或所述执行结果成功时,按照结构化查询语言语法规则将每个待变更文件的指标数据封装为插入语句,执行所述插入语句,将每个待变更文件的指标数据添加至预设主数据库中。
可选的,在本发明第一方面的第四种实现方式中,所述若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则确定每个待变更文件与所述已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据,包括:若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则确定每个待变更文件与所述已更新文件为相同文件,基于每个待变更文件覆盖对应的已更新文件;调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;当所述重启服务结果和/或所述执行结果均成功时,按照结构化查询语言语法规则、所述已更新文件的源文件名称和每个待变更文件的版本号将每个待变更文件的指标数据转换为更新语句,并执行所述更新语句,将每个待变更文件的指标数据更新至预设主数据库中。
可选的,在本发明第一方面的第五种实现方式中,所述调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果,包括:获取每个待变更文件对应的预设文件变更逻辑,所述预设文件变更逻辑包括应用文件变更逻辑和/或数据库脚本变更逻辑;当每个待变更文件中存在所述应用文件时,基于所述应用文件变更逻辑开启所述应用文件对应的应用服务,得到重启服务结果;当每个待变更文件中存在所述数据库脚本文件时,基于所述数据库脚本变更逻辑执行所述数据库脚本文件,得到执行结果。
可选的,在本发明第一方面的第六种实现方式中,在所述按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断所述查询结果是否为空值之后,在所述若所述查询结果不为空值,则从所述查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与所述已更新文件的源指标数据是否一致,所述已更新文件的源指标数据包括已更新文件的源文件名称之前,所述文件变更控制方法还包括:若所述查询结果为空值,则确认每个待变更文件不存在预设从数据库中,将每个待变更文件复制到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中。
本发明第二方面提供了一种文件变更控制装置,包括:接收模块,用于接收文件变更请求,通过预设队列对所述文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件;第一判断模块,用于按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断所述查询结果是否为空值;第二判断模块,若所述查询结果不为空值,则用于从所述查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与所述已更新文件的源指标数据是否一致,所述已更新文件的源指标数据包括已更新文件的源文件名称;确定模块,若每个待变更文件的指标数据与所述已更新文件的源指标数据一致,则用于确定每个待变更文件与已更新文件为相同文件,并向终端发送包含变更异常的提示信息;添加模块,若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则用于确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中;更新模块,若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则用于确定每个待变更文件与所述已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据。
可选的,在本发明第二方面的第一种实现方式中,所述接收模块具体用于:接收文件变更请求,获取待处理的超文本传送协议请求数量;判断所述待处理的超文本传送协议请求数量是否小于预设并发阈值;若所述待处理的超文本传送协议请求数量小于预设并发阈值,则解析所述文件变更请求,得到第一待变更数据;若所述待处理的超文本传送协议请求数量大于或者等于预设并发阈值,则将所述文件变更请求添加到预设队列,通过所述预设队列对所述文件变更请求进行数据处理,得到第二待变更数据;从所述第一待变更数据或者所述第二待变更数据中确定至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件。
可选的,在本发明第二方面的第二种实现方式中,所述第一判断模块具体用于:按照每个待变更文件的版本号和结构化查询语言语法规则生成对应的查询语句;连接预设从数据库,得到连接结果,当所述连接结果为连接成功时,执行所述对应的查询语句,得到查询结果,并判断所述查询结果是否为空值,所述查询结果包括所述应用文件对应的第一查询结果和/或所述数据库脚本文件对应的第二查询结果;若所述第一查询结果和所述第二查询结果全部为空值,则确定所述查询结果为空值;若所述第一查询结果和所述第二查询结果中至少一个不为空值,则确定所述查询结果不为空值。
可选的,在本发明第二方面的第三种实现方式中,所述添加模块包括:复制单元,若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则用于确定每个待变更文件不存在于预设文件目录中,按照预设复制指令将每个待变更文件复制到所述预设文件目录中;调用单元,用于调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;添加单元,当所述重启服务结果和/或所述执行结果成功时,用于按照结构化查询语言语法规则将每个待变更文件的指标数据封装为插入语句,执行所述插入语句,将每个待变更文件的指标数据添加至预设主数据库中。
可选的,在本发明第二方面的第四种实现方式中,所述更新模块包括:覆盖单元,若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则用于确定每个待变更文件与所述已更新文件为相同文件,基于每个待变更文件覆盖对应的已更新文件;执行单元,用于调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;更新单元,当所述重启服务结果和/或所述执行结果均成功时,用于按照结构化查询语言语法规则、所述已更新文件的源文件名称和每个待变更文件的版本号将每个待变更文件的指标数据转换为更新语句,并执行所述更新语句,将每个待变更文件的指标数据更新至预设主数据库中。
可选的,在本发明第二方面的第五种实现方式中,所述调用单元或者执行单元具体用于:获取每个待变更文件对应的预设文件变更逻辑,所述预设文件变更逻辑包括应用文件变更逻辑和/或数据库脚本变更逻辑;当每个待变更文件中存在所述应用文件时,基于所述应用文件变更逻辑开启所述应用文件对应的应用服务,得到重启服务结果;当每个待变更文件中存在所述数据库脚本文件时,基于所述数据库脚本变更逻辑执行所述数据库脚本文件,得到执行结果。
可选的,在本发明第二方面的第六种实现方式中,所述文件变更控制装置还包括:处理模块,若所述查询结果为空值,则用于确认每个待变更文件不存在预设从数据库中,将每个待变更文件复制到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中。
本发明第三方面提供了一种文件变更控制设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述文件变更控制设备执行上述的文件变更控制方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的文件变更控制方法。
本发明提供的技术方案中,通过预设队列对文件变更请求进行数据处理,得到每个待变更文件的指标数据;按照每个待变更文件的版本号查询预设从数据库,得到已更新文件的源指标数据;若每个待变更文件的指标数据与已更新文件的源指标数据不一致,则将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据存储至预设主数据库中。防止相同应用文件在同一版本变更周期内重复部署,相同数据库脚本在同个版本周期内重复执行,提高了文件变更准确率,降低了数据库资源损耗。
附图说明
图1为本发明实施例中文件变更控制方法的一个实施例示意图;
图2为本发明实施例中文件变更控制方法的另一个实施例示意图;
图3为本发明实施例中文件变更控制装置的一个实施例示意图;
图4为本发明实施例中文件变更控制装置的另一个实施例示意图;
图5为本发明实施例中文件变更控制设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种文件变更控制方法、装置、设备及存储介质,用于防止相同应用文件在同一版本变更周期内重复部署,相同数据库脚本在同个版本周期内重复执行,提高文件变更准确率,降低数据库资源损耗。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中文件变更控制方法的一个实施例包括:
101、接收文件变更请求,通过预设队列对文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件。
其中,当每个待变更文件可以为应用文件,也可以为数据库脚本文件,还可以为应用文件和数据库脚本文件。应用文件的指标数据包括应用文件的文件名称、应用文件的信息摘要算法(message-digest algorithm,MD5)值、应用文件的版本号、应用文件的部署环境类型和应用文件的部署环境名称;数据库脚本文件的指标数据包括数据库脚本文件的脚本文件名称、数据库脚本文件的MD5值、数据库脚本文件的变更版本号、数据库脚本文件的数据库名称和数据库脚本文件的部署环境类型。进一步地,服务器通过预设队列对文件变更请求进行数据处理,得到至少一个待变更文件(也就是应用文件和/或数据库脚本文件)和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称。
可以理解的是,本发明的执行主体可以为文件变更控制装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
102、按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断查询结果是否为空值。
其中,每个待变更文件的版本号可以包括应用的变更版本号和数据库脚本文件的变更版本号中的至少一个。具体的,服务器按照每个待变更文件的版本号构建查询语句,查询语句为符合结构化查询语言SQL语法规则的语句;服务器执行查询语句,得到查询结果,查询结果用于指示是否查询成功;当查询结果为空值时,服务器确定每个待变更文件为新的文件,例如,查询结果为0;当查询结果不为空值时,服务器确定每个待变更文件为已经存储的文件,例如,查询结果为1。
103、若查询结果不为空值,则从查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与已更新文件的源指标数据是否一致,已更新文件的源指标数据包括已更新文件的源文件名称。
其中,已更新文件的源指标数据包括已更新文件的源文件名称、已更新文件的文件版本号、已更新文件的MD5值、已更新文件的部署环境类型和已更新文件的部署环境名称。具体的,若查询结果不为空值,则服务器从查询结果中按照预设参数名称获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与已更新文件的源指标数据是否一致,也就是,服务器按对待变更文件与已更新文件之间的相同参数名称的指标数据进行一一比对,当任意一个指标数据存在差异时,服务器确定每个待变更文件的指标数据与已更新文件的源指标数据不一致,进一步地,服务器执行步骤105或者步骤106;当全部指标数据均相同时,服务器确定每个待变更文件的指标数据与已更新文件的源指标数据一致,进一步地,服务器执行步骤104。
进一步地,服务器将已更新文件的源指标数据存储于区块链数据库中,具体此处不做限定。
104、若每个待变更文件的指标数据与已更新文件的源指标数据一致,则确定每个待变更文件与已更新文件为相同文件,并向终端发送包含变更异常的提示信息。
也就是,若变更涉及的每个待变更文件的文件名称存在于预设从数据库中(说明存在相同版本号的数据中已有记录),并且每个待变更文件的其他指标值均与预设从数据库中的已有记录一致,则服务器确定每个待变更文件没有内容更新,无需重新实施变更动作,服务器跳过该变更操作,并向终端发送包含变更异常的提示信息。
105、若每个待变更文件的文件名称和已更新文件的源文件名称不一致,则确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中。
具体的,服务器检测预设数据库中相同变更版本号的数据,若每个待变更文件的文件名称和已更新文件的源文件名称不一致(也就是,不存在相同文件名称的记录),则服务器确定每个待变更文件是新的变更文件;服务器将应用文件和/或数据库脚本文件(也就是,每个待变更文件)复制到预设业务文件目录中,服务器既可以重启应用文件对应的应用服务,服务器也可以执行数据库脚本文件(也就是,服务器执行每个待变更文件对应的预设文件变更逻辑),当变更动作执行成功时,服务器将文件的指标数据插入至预设主数据库中。进一步的,服务器将预设主数据库中的数据同步至预设从数据库中,确保数据的一致性和准确性。
106、若每个待变更文件的文件名称和已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则确定每个待变更文件与已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据。
也就是,若变更涉及的每个待变更文件的文件名称在预设数据库中相同版本号的指标数据中已有记录,则服务器检查每个待变更文件的所有指标值,同时跟预设数据库中记录的指标值进行比对,如果有某项指标值不一致,则服务器判断每个待变更文件有变动,需要重新执行变更动作(重新替换覆盖应用文件和/或重新执行数据库脚本),如果变更动作成功完成,则服务器调用每个待变更文件对应的预设文件变更逻辑(例如,触发写数据库动作),并将每个待变更文件新的各项指标值,覆盖到数据库中的原有记录中。
本发明实施例中,通过预设队列对文件变更请求进行数据处理,得到每个待变更文件的指标数据;按照每个待变更文件的版本号查询预设从数据库,得到已更新文件的源指标数据;若每个待变更文件的指标数据与已更新文件的源指标数据不一致,则将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据存储至预设主数据库中。防止相同应用文件在同一版本变更周期内重复部署,相同数据库脚本在同个版本周期内重复执行,提高了文件变更准确率,降低了数据库资源损耗。
请参阅图2,本发明实施例中文件变更控制方法的另一个实施例包括:
201、接收文件变更请求,通过预设队列对文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件。
例如,预设并发阈值为50,若待处理的超文本传送协议请求数量为89,则服务器确定待处理的超文本传送协议请求数量大于预设并发阈值,服务器通过预设队列对文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据。
可选的,服务器接收文件变更请求,服务器获取待处理的超文本传送协议请求数量;服务器判断待处理的超文本传送协议请求数量是否小于预设并发阈值;若待处理的超文本传送协议请求数量小于预设并发阈值,则服务器解析文件变更请求,得到第一待变更数据;若待处理的超文本传送协议请求数量大于或者等于预设并发阈值,则服务器将文件变更请求添加到预设队列,服务器通过预设队列对文件变更请求进行数据处理,得到第二待变更数据;服务器从第一待变更数据或者第二待变更数据中确定至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件。
202、按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断查询结果是否为空值。
需要说明的是,服务器通过预设主数据库处理事务性增加、修改、删除操作,而服务器通过预设从数据库处理数据查询操作,实现了数据的读写分离,可以减少数据库压力,提高数据处理性能。
可选的,服务器按照每个待变更文件的版本号和结构化查询语言语法规则生成对应的查询语句;服务器连接预设从数据库,得到连接结果,当连接结果为连接成功时,执行对应的查询语句,得到查询结果,并判断查询结果是否为空值,查询结果包括应用文件对应的第一查询结果和/或数据库脚本文件对应的第二查询结果;若第一查询结果和第二查询结果全部为空值,则服务器确定查询结果为空值;若第一查询结果和第二查询结果中至少一个不为空值,则服务器确定查询结果不为空值。
203、若查询结果为空值,则确认每个待变更文件不存在预设从数据库中,将每个待变更文件复制到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中。
可以理解的是,若查询结果为空值,则确认每个待变更文件不存在预设从数据库中,服务器执行文件变更动作,若涉及的变更文件成功实施了每个待变更文件对应的预设文件变更逻辑(例如,文件成功替换、应用重启完成和/或数据库脚本成功执行),则服务器在预设主数据库中记录变更动作涉及的文件的各项指标数据。
204、若查询结果不为空值,则从查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与已更新文件的源指标数据是否一致,已更新文件的源指标数据包括已更新文件的源文件名称。
该步骤204与步骤103的执行过程相似,具体此处不再赘述。
205、若每个待变更文件的指标数据与已更新文件的源指标数据一致,则确定每个待变更文件与已更新文件为相同文件,并向终端发送包含变更异常的提示信息。
具体的,若每个待变更文件的指标数据与已更新文件的源指标数据一致,则服务器确定每个待变更文件与已更新文件为相同文件,停止变更操作;服务器获取预设模板,按照预设模板生成包含变更失败的提示信息;服务器调用预设接口将提示信息发送至终端,以使得终端显示提示信息。
206、若每个待变更文件的文件名称和已更新文件的源文件名称不一致,则确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中。
可以理解的是,每个待变更文件的指标数据与已更新文件的源指标数据不一致,可以划分为每个待变更文件的文件名称和已更新文件的源文件名称不一致以及每个待变更文件的其他数据指标和已更新文件的其他数据指标不一致。
可选的,若每个待变更文件的文件名称和已更新文件的源文件名称不一致,则服务器确定每个待变更文件不存在于预设文件目录中,服务器按照预设复制指令将每个待变更文件复制到预设文件目录中;服务器调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;当重启服务结果和/或执行结果成功时,服务器按照结构化查询语言语法规则将每个待变更文件的指标数据封装为插入语句,服务器执行插入语句,服务器将每个待变更文件的指标数据添加至预设主数据库中。
进一步地,预设主数据库中数据会同步至预设从数据库中,保持数据的一致性和完整性。预设主数据库用于存储数据,预设从数据库用于读取数据,预设主数据库与预设从数据库可以为一对多的关系,同时,还可以采用两个预设主数据库,以备其中任意一个存在异常时,确保数据操作正常。
207、若每个待变更文件的文件名称和已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则确定每个待变更文件与已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据。
可以理解的是,服务器对变更文件重复执行检测,可以避免因为应用文件的重复替换覆盖而占用服务器的磁盘IO和网络IO等资源,同时可以缩短文件变更时长,相同时长下大幅提升文件变更数量与变更效率;也避免因为相同数据库脚本的重复执行导致的应用脏数据或者数据库资源损耗等故障。
可选的,若每个待变更文件的文件名称和已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则服务器确定每个待变更文件与已更新文件为相同文件,基于每个待变更文件覆盖对应的已更新文件;服务器调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果,进一步地,服务器获取每个待变更文件对应的预设文件变更逻辑,预设文件变更逻辑包括应用文件变更逻辑和/或数据库脚本变更逻辑;当每个待变更文件中存在应用文件时,基于应用文件变更逻辑开启应用文件对应的应用服务,得到重启服务结果;当每个待变更文件中存在数据库脚本文件时,基于数据库脚本变更逻辑执行数据库脚本文件,得到执行结果。当重启服务结果和/或执行结果均成功时,服务器按照结构化查询语言语法规则、已更新文件的源文件名称和每个待变更文件的版本号将每个待变更文件的指标数据转换为更新语句,并执行更新语句,服务器将每个待变更文件的指标数据更新至预设主数据库中。
本发明实施例中,通过预设队列对文件变更请求进行数据处理,得到每个待变更文件的指标数据;按照每个待变更文件的版本号查询预设从数据库,得到已更新文件的源指标数据;若每个待变更文件的指标数据与已更新文件的源指标数据不一致,则将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据存储至预设主数据库中。防止相同应用文件在同一版本变更周期内重复部署,相同数据库脚本在同个版本周期内重复执行,提高了文件变更准确率,降低了数据库资源损耗。
上面对本发明实施例中文件变更控制方法进行了描述,下面对本发明实施例中文件变更控制装置进行描述,请参阅图3,本发明实施例中文件变更控制装置的一个实施例包括:
接收模块301,用于接收文件变更请求,通过预设队列对文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件;
第一判断模块302,用于按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断查询结果是否为空值;
第二判断模块303,若查询结果不为空值,则用于从查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与已更新文件的源指标数据是否一致,已更新文件的源指标数据包括已更新文件的源文件名称;
确定模块304,若每个待变更文件的指标数据与已更新文件的源指标数据一致,则用于确定每个待变更文件与已更新文件为相同文件,并向终端发送包含变更异常的提示信息;
添加模块305,若每个待变更文件的文件名称和已更新文件的源文件名称不一致,则用于确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中;
更新模块306,若每个待变更文件的文件名称和已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则用于确定每个待变更文件与已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据。
进一步地,将已更新文件的源指标数据存储于区块链数据库中,具体此处不做限定。
本发明实施例中,通过预设队列对文件变更请求进行数据处理,得到每个待变更文件的指标数据;按照每个待变更文件的版本号查询预设从数据库,得到已更新文件的源指标数据;若每个待变更文件的指标数据与已更新文件的源指标数据不一致,则将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据存储至预设主数据库中。防止相同应用文件在同一版本变更周期内重复部署,相同数据库脚本在同个版本周期内重复执行,提高了文件变更准确率,降低了数据库资源损耗。
请参阅图4,本发明实施例中文件变更控制装置的另一个实施例包括:
接收模块301,用于接收文件变更请求,通过预设队列对文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件;
第一判断模块302,用于按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断查询结果是否为空值;
第二判断模块303,若查询结果不为空值,则用于从查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与已更新文件的源指标数据是否一致,已更新文件的源指标数据包括已更新文件的源文件名称;
确定模块304,若每个待变更文件的指标数据与已更新文件的源指标数据一致,则用于确定每个待变更文件与已更新文件为相同文件,并向终端发送包含变更异常的提示信息;
添加模块305,若每个待变更文件的文件名称和已更新文件的源文件名称不一致,则用于确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中;
更新模块306,若每个待变更文件的文件名称和已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则用于确定每个待变更文件与已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据。
可选的,接收模块301还可以具体用于:
接收文件变更请求,获取待处理的超文本传送协议请求数量;
判断待处理的超文本传送协议请求数量是否小于预设并发阈值;
若待处理的超文本传送协议请求数量小于预设并发阈值,则解析文件变更请求,得到第一待变更数据;
若待处理的超文本传送协议请求数量大于或者等于预设并发阈值,则将文件变更请求添加到预设队列,通过预设队列对文件变更请求进行数据处理,得到第二待变更数据;
从第一待变更数据或者第二待变更数据中确定至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件。
可选的,第一判断模块302还可以具体用于:
按照每个待变更文件的版本号和结构化查询语言语法规则生成对应的查询语句;
连接预设从数据库,得到连接结果,当连接结果为连接成功时,执行对应的查询语句,得到查询结果,并判断查询结果是否为空值,查询结果包括应用文件对应的第一查询结果和/或数据库脚本文件对应的第二查询结果;
若第一查询结果和第二查询结果全部为空值,则确定查询结果为空值;
若第一查询结果和第二查询结果中至少一个不为空值,则确定查询结果不为空值。
可选的,添加模块305还包括:
复制单元3051,若每个待变更文件的文件名称和已更新文件的源文件名称不一致,则用于确定每个待变更文件不存在于预设文件目录中,按照预设复制指令将每个待变更文件复制到预设文件目录中;
调用单元3052,用于调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;
添加单元3053,当重启服务结果和/或执行结果成功时,用于按照结构化查询语言语法规则将每个待变更文件的指标数据封装为插入语句,执行插入语句,将每个待变更文件的指标数据添加至预设主数据库中。
可选的,更新模块306还包括:
覆盖单元3061,若每个待变更文件的文件名称和已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则用于确定每个待变更文件与已更新文件为相同文件,基于每个待变更文件覆盖对应的已更新文件;
执行单元3062,用于调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;
更新单元3063,当重启服务结果和/或执行结果均成功时,用于按照结构化查询语言语法规则、已更新文件的源文件名称和每个待变更文件的版本号将每个待变更文件的指标数据转换为更新语句,并执行更新语句,将每个待变更文件的指标数据更新至预设主数据库中。
可选的,调用单元或者执行单元还可以具体用于:
获取每个待变更文件对应的预设文件变更逻辑,预设文件变更逻辑包括应用文件变更逻辑和/或数据库脚本变更逻辑;
当每个待变更文件中存在应用文件时,基于应用文件变更逻辑开启应用文件对应的应用服务,得到重启服务结果;
当每个待变更文件中存在数据库脚本文件时,基于数据库脚本变更逻辑执行数据库脚本文件,得到执行结果。
可选的,文件变更控制装置还包括:
处理模块307,若查询结果为空值,则用于确认每个待变更文件不存在预设从数据库中,将每个待变更文件复制到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中。
本发明实施例中,通过预设队列对文件变更请求进行数据处理,得到每个待变更文件的指标数据;按照每个待变更文件的版本号查询预设从数据库,得到已更新文件的源指标数据;若每个待变更文件的指标数据与已更新文件的源指标数据不一致,则将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据存储至预设主数据库中。防止相同应用文件在同一版本变更周期内重复部署,相同数据库脚本在同个版本周期内重复执行,提高了文件变更准确率,降低了数据库资源损耗。
上面图3和图4从模块化的角度对本发明实施例中的文件变更控制装置进行详细描述,下面从硬件处理的角度对本发明实施例中文件变更控制设备进行详细描述。
图5是本发明实施例提供的一种文件变更控制设备的结构示意图,该文件变更控制设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对文件变更控制设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在文件变更控制设备500上执行存储介质530中的一系列指令操作。
文件变更控制设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的文件变更控制设备结构并不构成对文件变更控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述文件变更控制方法的步骤。
本发明还提供一种文件变更控制设备,所述文件变更控制设备包括存储器和处理器,存储器中存储有指令,所述指令被处理器执行时,使得处理器执行上述各实施例中的所述文件变更控制方法的步骤。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种文件变更控制方法,其特征在于,所述文件变更控制方法包括:
接收文件变更请求,通过预设队列对所述文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件;
按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断所述查询结果是否为空值;
若所述查询结果不为空值,则从所述查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与所述已更新文件的源指标数据是否一致,所述已更新文件的源指标数据包括已更新文件的源文件名称;
若每个待变更文件的指标数据与所述已更新文件的源指标数据一致,则确定每个待变更文件与已更新文件为相同文件,并向终端发送包含变更异常的提示信息;
若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中;
若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则确定每个待变更文件与所述已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据。
2.根据权利要求1所述的文件变更控制方法,其特征在于,所述接收文件变更请求,通过预设队列对所述文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件,包括:
接收文件变更请求,获取待处理的超文本传送协议请求数量;
判断所述待处理的超文本传送协议请求数量是否小于预设并发阈值;
若所述待处理的超文本传送协议请求数量小于预设并发阈值,则解析所述文件变更请求,得到第一待变更数据;
若所述待处理的超文本传送协议请求数量大于或者等于预设并发阈值,则将所述文件变更请求添加到预设队列,通过所述预设队列对所述文件变更请求进行数据处理,得到第二待变更数据;
从所述第一待变更数据或者所述第二待变更数据中确定至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件。
3.根据权利要求1所述的文件变更控制方法,其特征在于,所述按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断所述查询结果是否为空值,包括:
按照每个待变更文件的版本号和结构化查询语言语法规则生成对应的查询语句;
连接预设从数据库,得到连接结果,当所述连接结果为连接成功时,执行所述对应的查询语句,得到查询结果,并判断所述查询结果是否为空值,所述查询结果包括所述应用文件对应的第一查询结果和/或所述数据库脚本文件对应的第二查询结果;
若所述第一查询结果和所述第二查询结果全部为空值,则确定所述查询结果为空值;
若所述第一查询结果和所述第二查询结果中至少一个不为空值,则确定所述查询结果不为空值。
4.根据权利要求1所述的文件变更控制方法,其特征在于,所述若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中,包括:
若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则确定每个待变更文件不存在于预设文件目录中,按照预设复制指令将每个待变更文件复制到所述预设文件目录中;
调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;
当所述重启服务结果和/或所述执行结果成功时,按照结构化查询语言语法规则将每个待变更文件的指标数据封装为插入语句,执行所述插入语句,将每个待变更文件的指标数据添加至预设主数据库中。
5.根据权利要求1所述的文件变更控制方法,其特征在于,所述若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则确定每个待变更文件与所述已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据,包括:
若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则确定每个待变更文件与所述已更新文件为相同文件,基于每个待变更文件覆盖对应的已更新文件;
调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果;
当所述重启服务结果和/或所述执行结果均成功时,按照结构化查询语言语法规则、所述已更新文件的源文件名称和每个待变更文件的版本号将每个待变更文件的指标数据转换为更新语句,并执行所述更新语句,将每个待变更文件的指标数据更新至预设主数据库中。
6.根据权利要求4或5所述的文件变更控制方法,其特征在于,所述调用并执行每个待变更文件对应的预设文件变更逻辑,得到重启服务结果和/或执行结果,包括:
获取每个待变更文件对应的预设文件变更逻辑,所述预设文件变更逻辑包括应用文件变更逻辑和/或数据库脚本变更逻辑;
当每个待变更文件中存在所述应用文件时,基于所述应用文件变更逻辑开启所述应用文件对应的应用服务,得到重启服务结果;
当每个待变更文件中存在所述数据库脚本文件时,基于所述数据库脚本变更逻辑执行所述数据库脚本文件,得到执行结果。
7.根据权利要求1-5中任意一项所述的文件变更控制方法,其特征在于,在所述按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断所述查询结果是否为空值之后,在所述若所述查询结果不为空值,则从所述查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与所述已更新文件的源指标数据是否一致,所述已更新文件的源指标数据包括已更新文件的源文件名称之前,所述文件变更控制方法还包括:
若所述查询结果为空值,则确认每个待变更文件不存在预设从数据库中,将每个待变更文件复制到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中。
8.一种文件变更控制装置,其特征在于,所述文件变更控制装置包括:
接收模块,用于接收文件变更请求,通过预设队列对所述文件变更请求进行数据处理,得到至少一个待变更文件和每个待变更文件的指标数据,每个待变更文件的指标数据包括每个待变更文件的版本号和每个待变更文件的文件名称,每个待变更文件用于指示应用文件和数据库脚本文件中的至少一个文件;
第一判断模块,用于按照每个待变更文件的版本号查询预设从数据库,得到查询结果,并判断所述查询结果是否为空值;
第二判断模块,若所述查询结果不为空值,则用于从所述查询结果中获取每个待变更文件对应的已更新文件的源指标数据,并判断每个待变更文件的指标数据与所述已更新文件的源指标数据是否一致,所述已更新文件的源指标数据包括已更新文件的源文件名称;
确定模块,若每个待变更文件的指标数据与所述已更新文件的源指标数据一致,则用于确定每个待变更文件与已更新文件为相同文件,并向终端发送包含变更异常的提示信息;
添加模块,若每个待变更文件的文件名称和所述已更新文件的源文件名称不一致,则用于确定每个待变更文件不存在于预设文件目录中,将每个待变更文件导入到预设业务文件目录中,执行每个待变更文件对应的预设文件变更逻辑,并将每个待变更文件的指标数据添加至预设主数据库中;
更新模块,若每个待变更文件的文件名称和所述已更新文件的源文件名称一致,并且每个待变更文件的其他指标数据与已更新文件的其他指标数据不一致,则用于确定每个待变更文件与所述已更新文件为相同文件,执行每个待变更文件对应的预设文件变更逻辑,并基于每个待变更文件的指标数据更新预设主数据库中的已更新文件的源指标数据。
9.一种文件变更控制设备,其特征在于,所述文件变更控制设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述文件变更控制设备执行如权利要求1-7中任意一项所述的文件变更控制方法。
10.一种计算机可读存储介质,其上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任意一项所述的文件变更控制方法。
CN202011393996.9A 2020-12-03 2020-12-03 文件变更控制方法、装置、设备及存储介质 Active CN112445519B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011393996.9A CN112445519B (zh) 2020-12-03 2020-12-03 文件变更控制方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011393996.9A CN112445519B (zh) 2020-12-03 2020-12-03 文件变更控制方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112445519A true CN112445519A (zh) 2021-03-05
CN112445519B CN112445519B (zh) 2022-02-15

Family

ID=74738993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011393996.9A Active CN112445519B (zh) 2020-12-03 2020-12-03 文件变更控制方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112445519B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239064A (zh) * 2021-06-24 2021-08-10 江苏创源电子有限公司 一种数据库更新方法、装置、电子设备及存储介质
CN114466387A (zh) * 2022-01-13 2022-05-10 三维通信股份有限公司 基站的配置文件的更新方法、装置、存储介质和电子装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133822A (zh) * 2013-07-15 2014-11-05 腾讯科技(深圳)有限公司 一种对存储器上的文件进行扫描的方法及装置
US9778996B1 (en) * 2014-06-30 2017-10-03 EMC IP Holding Company LLC File system version set infrastructure
CN107894895A (zh) * 2017-11-06 2018-04-10 网易(杭州)网络有限公司 代码更新的处理方法、装置、存储介质、处理器及服务器
CN110941586A (zh) * 2019-10-25 2020-03-31 深圳市毕美科技有限公司 一种工程设计数据管理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133822A (zh) * 2013-07-15 2014-11-05 腾讯科技(深圳)有限公司 一种对存储器上的文件进行扫描的方法及装置
US9778996B1 (en) * 2014-06-30 2017-10-03 EMC IP Holding Company LLC File system version set infrastructure
CN107894895A (zh) * 2017-11-06 2018-04-10 网易(杭州)网络有限公司 代码更新的处理方法、装置、存储介质、处理器及服务器
CN110941586A (zh) * 2019-10-25 2020-03-31 深圳市毕美科技有限公司 一种工程设计数据管理方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239064A (zh) * 2021-06-24 2021-08-10 江苏创源电子有限公司 一种数据库更新方法、装置、电子设备及存储介质
CN114466387A (zh) * 2022-01-13 2022-05-10 三维通信股份有限公司 基站的配置文件的更新方法、装置、存储介质和电子装置
CN114466387B (zh) * 2022-01-13 2024-04-09 三维通信股份有限公司 基站的配置文件的更新方法、装置、存储介质和电子装置

Also Published As

Publication number Publication date
CN112445519B (zh) 2022-02-15

Similar Documents

Publication Publication Date Title
JP4524113B2 (ja) ソフトウェア配布方法およびシステム
AU2005202442B2 (en) System and method for auditing a network
CN112445519B (zh) 文件变更控制方法、装置、设备及存储介质
JP5444178B2 (ja) バックアップ・リストア処理装置とバックアップ・リストア処理方法およびプログラム
CN110825420A (zh) 分布式集群的配置参数更新方法、装置、设备及存储介质
US20050278397A1 (en) Method and apparatus for automated redundant data storage of data files maintained in diverse file infrastructures
JP2002542540A (ja) ネットワーク上での遠隔翻訳のためのシステムおよび方法
CN111324610A (zh) 一种数据同步的方法及装置
CN110209653B (zh) HBase数据迁移方法及迁移装置
CN110837535A (zh) 数据同步的方法、装置、设备和介质
JP2010117898A (ja) ジョブログ処理装置およびプログラム
CN114490677A (zh) 数据分析系统中的数据同步
CN114090179A (zh) 有状态服务的迁移方法、装置及服务器
JPH07104844B2 (ja) 割込み方法
JP7346332B2 (ja) データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム
CN113448493B (zh) 用于备份数据的方法、电子设备和计算机可读介质
CN111460021A (zh) 数据导出方法及装置
CN113032385B (zh) 一种易扩展可配置化的数据备份系统及方法
CN115617768A (zh) 日志管理方法、系统、电子设备及存储介质
WO2022121387A1 (zh) 数据存储方法、装置、服务器及介质
CN114020368A (zh) 基于状态机的信息处理方法、装置和存储介质
CN113448775A (zh) 多源异构数据备份方法及装置
CN113127359A (zh) 一种测试数据的获得方法及装置
CN114020446A (zh) 一种跨多引擎的路由处理方法、装置、设备及存储介质
CN112612938A (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