发布材料质量控制方法、装置、设备和计算机存储介质与流程

文档序号:22626378发布日期:2020-10-23 19:34阅读:122来源:国知局
本发明涉及计算机
技术领域
:,尤其涉及发布材料质量控制方法、装置、设备和计算机存储介质。
背景技术
::在自动构建发布部署实现的过程中,开发人员通过工具打相应环境的war包(javaweb工程包),war包在不同的环境下差异在于其内部所包含的配置文件,如在生产环境,war包内的配置文件为生产配置文件,又如在测试环境,war包内的配置文件为测试配置文件。上述war包和配置文件由开发人员手工维护,在所述war包发布时,即在环境转换如测试环境转换至生产环境,一旦忘记替换配置文件则会造成应用验证失败,导致项目异常和开发效率降低。技术实现要素:本发明的主要目的在于提供一种发布材料质量控制方法、装置、设备和计算机存储介质,旨在解决手工维护war包和配置文件导致环境转换时项目出现异常和开发效率降低的技术问题。为实现上述目的,本发明提供发布材料质量控制方法,所述发布材料质量控制方法包括以下步骤:在接收到材料发布指令时,基于所述材料发布指令获取项目文件;提取所述项目文件中的配置文件,并将所述项目文件中的源代码打包生成通用包;将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件。在一实施例中,所述在接收到材料发布指令时,基于所述材料发布指令获取项目文件和与所述项目文件关联的预设数据库文件的步骤之前,包括:在检测到预设数据库文件上传时,对所述预设数据库文件进行校验;若所述预设数据库文件校验通过,则将所述预设数据库文件上传至预设归档目录中。在一实施例中,所述在检测到预设数据库文件上传时,对所述预设数据库文件进行校验的步骤,包括:当预设钩子函数检测到预设数据库文件上传时,对所述预设数据库文件进行文件名和/或文件头和/或文件内容和/或文件编码格式中的至少一个进行校验。在一实施例中,所述将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件的步骤,包括:确定所述配置文件的文件类型;若所述配置文件为测试型,则将所述配置文件上传至预设归档目录的第一子目录中;若所述配置文件为生产型,则将所述配置文件上传至预设归档目录的第二子目录中。在一实施例中,所述将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件的步骤之后,包括:在接收到材料发布任务时,确定所述发布任务类型;根据所述发布任务类型在对应的预设归档目录中选取目标配置文件;发布所述目标配置文件、预设数据库文件和所述通用包。在一实施例中,所述根据所述发布任务类型在对应的预设归档目录中选取目标配置文件的步骤,包括:若所述任务类型为测试类,则从所述归档目录中的第一子目录下选取配置文件作为目标配置文件;若所述任务类型为生产类,则从所述归档目录中的第二子目录下选取配置文件作为目标配置文件。在一实施例中,所述发布所述预设数据库文件、目标配置文件和通用包的步骤,包括:获取所述版本状态;判断所述版本状态是否已封版;若所述版本状态为未封版,则终止发布并输出提示信息。若所述版本状态为已封版,则继续执行发布操作。此外,为实现上述目的,本发明还提供一种发布材料质量控制装置,所述发布材料质量控制装置包括:接收模块,用于在接收到材料发布指令时,基于所述材料发布指令获取项目文件;打包模块,用于提取所述项目文件中的配置文件,并将所述项目文件中的源代码打包生成通用包;上传模块,用于将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件。此外,为实现上述目的,本发明还提供一种发布材料质量控制设备;所述发布材料质量控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:所述计算机程序被所述处理器执行时实现如上所述的发布材料质量控制方法的步骤。此外,为实现上述目的,本发明还提供计算机存储介质;所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的发布材料质量控制方法的步骤。本发明实施例提出一种发布材料质量控制方法、装置、设备和计算机存储介质,在接收到材料发布指令时,基于所述材料发布指令获取项目文件;提取所述项目文件中的配置文件,并将所述项目文件中的源代码打包生成通用包,将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件,项目文件中源代码生成通用包,所述通用包适用于各种环境无需再进行分类选取,通过将现有方法中把项目文件一并打包后发布的方式,转换为将项目文件的配置文件分离并分类存储,并将项目文件的源代码打包发布的方式,实现了配置文件与通用包即源代码的分离,进而避免了由于人为操作的失误导致发布的文件出现错误造成的异常和开发效率的降低。附图说明图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;图2为本发明发布材料质量控制方法第一实施例的流程示意图;图3为本发明发布材料质量控制方法第二实施例的流程示意图;图4为本发明发布材料质量控制方法第三实施例的流程示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。由于现有技术中war包和配置文件由开发人员手工维护,在所述war包发布时,即在环境转换如测试环境转换至生产环境,一旦忘记替换配置文件则会造成应用验证失败,导致项目异常和开发效率降低。本发明实施例提出一种发布材料质量控制方法、装置、设备和计算机存储介质,在接收到材料发布指令时,基于所述材料发布指令获取项目文件;提取所述项目文件中的配置文件,并将所述项目文件中的源代码打包生成通用包,将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件,项目文件中源代码生成通用包,所述通用包适用于各种环境无需再进行分类选取,通过将现有方法中把项目文件一并打包后发布的方式,转换为将项目文件的配置文件分离并分类存储,并将项目文件的源代码打包发布的方式,实现了配置文件与通用包即源代码的分离,进而避免了由于人为操作的失误导致发布的文件出现错误造成的异常和开发效率的降低。如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端(又叫发布材料质量控制设备,其中,发布材料质量控制设备可以是由单独的发布材料质量控制装置构成,也可以是由其他装置与发布材料质量控制装置组合形成)结构示意图。本发明实施例终端可以固定终端,也可以是移动终端,如,带联网功能的智能空调、智能电灯、智能电源、智能音箱、自动驾驶汽车、pc(personalcomputer)个人计算机、智能手机、平板电脑、电子书阅读器、便携计算机等。如图1所示,该终端可以包括:处理器1001,例如,中央处理器centralprocessingunit,cpu),网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真wireless-fidelity,wifi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如,磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。可选地,终端还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块;输入单元,比显示屏,触摸屏;网络接口可选除无线接口中除wifi外,蓝牙、探针等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如图1所示,该计算机软件产品存储在一个计算机存储介质(计算机存储介质:又叫计算机存储介质、计算机介质、可读介质、可读计算机存储介质、计算机可读计算机存储介质或者直接叫介质等,计算机存储介质可以是非易失性可读计算机存储介质,如ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的计算机程序,并执行本发明以下实施例提供的发布材料质量控制方法中的步骤。参照图2,本发明一种发布材料质量控制方法的第一实施例中,所述发布材料质量控制方法包括:步骤s10,在接收到材料发布指令时,基于所述材料发布指令获取项目文件。发布材料质量控制设备在接收到材料发布指令时,基于所述材料发布指令获取项目文件,所述发布材料质量控制设备可为pc、服务器等设备,所述材料发布指令为将既有项目文件打包并发布的指令,区别于本领域的一般操作用将既有war包直接发布的指令,所述材料发布指令指定有关联的项目文件,即本次需要进行打包和发布的项目文件,而当项目文件涉及数据库操作时,所述项目文件又关联有预设数据库文件,即项目文件未必均会关联有预设数据库文件,不存在所述预设数据库文件时,去除本实施例中关于所述预设数据库文件的操作同样可以达成本实施例的效果,所述预设数据库文件执行时实现文件中所包含的如创建、修改等数据库操作指令,为确保项目的完整性,当项目文件包含数据库调用时,必须将关联的预设数据库文件一同发布。进一步的,所述预设所述步骤s10之前包括:步骤a1,在检测到预设数据库文件上传时,对所述预设数据库文件进行校验。步骤a2,若所述预设数据库文件校验通过,则将所述预设数据库文件上传至预设归档目录中。发布材料质量控制设备在检测到预设数据库文件上传时,对所述预设数据库文件进行校验,现有方法中缺失对所述数据文件的在前校验,通常预设数据库文件的问题在最终发布时才可确定,本实施例中在检测到预设数据库文件上传时即对所述预设数据库文件进行校验,以确定所述预设数据库文件的正确性。若所述预设数据库文件校验通过,发布材料质量控制设备则将所述预设数据库文件作为预设数据库文件与项目文件关联,即所述项目文件涉及数据库操作,而所述预设数据库文件时所述项目文件正常工作的条件之一。进一步的,所述步骤s40可包括:步骤b1,当预设钩子函数检测到预设数据库文件上传时,对所述预设数据库文件进行文件名和/或文件头和/或文件内容和/或文件编码格式中的至少一个进行校验。当发布材料质量控制设备的预设钩子函数检测到预设数据库文件上传时,发布材料质量控制设备对所述预设数据库文件进行文件名和/或文件头和/或文件内容和/或文件编码格式中的至少一个进行校验,所述预设钩子函数可以在系统级对所有消息、事件进行过滤,可访问在正常情况下无法访问的事件内容,因此采用钩子函数作为预设数据库文件的上传事件的探测工具。所述文件名校验具体的包含获取预设数据库文件的提交例子,从日志文件中分割出每个预设数据库文件名,判断所述预设数据库文件名中是否存在空格,若所述预设数据库文件名中存在空格,则不允许上传。所述文件头校验具体的包含读取预设数据库文件头的二进制编码,如果所述预设数据库文件头的二进制编码不是以\xef\xbb\xbf开头的,则说明其编码格式不是utf-8无bom格式,则不允许上传。因为带bom格式会导致文件解析错误,执行报错,提示sp2-0734:unknowncommandbeginning。所述文件内容校验具体的包含读取命名为dml类型的预设数据库文件内容,通过正则匹配,检测是否包含ddl语句的关键特征,所述ddl语句的关键特征如:create|dropdatabase|table|index|sequence|synonym|view或者alter|truncatetable或者createorreplacesynonym|view或者createpublicsynonym,若出现ddl语句,则不允许所述预设数据库文件上传,所述dml为数据库操作语言,实现了数据库的基本增删查改操作,而所述ddl为数据定义语言,对所述数据库中的某些对象进行管理,dml类文件内容出现ddl语句的特征即认为存在错误。使用正则匹配判断最后一个可见字符(空格不算)以/结尾的方法:预设数据库文件内容中可能出现多个/字符有些是注释行//,或者注释行中出现的/字符,以及由于回车换行是不可见字符,/字符后面可能存在多个回车、换行和空格符的组合。本方案采用截取文件最后100个字符(如果sql文件总字符数少于100,则全部截取),再去除这最后100个字符中的回车符、换行符和空格符,最后再用正则匹配grep-eoi'/$'判断是否以/字符结尾。所述文件内容校验还可为判断预设数据库文件内容中是否出现delimiter关键字,若出现delimiter关键字则说明该预设数据库文件为mysql脚本文件,不进行pl/sql代码块的判断,若没有出现delimiter关键字且同时存在declare、begin和end三个关键词,则说明预设数据库文件为oracle的pl/sql的代码块,必须以/结尾,若不符合条件则不允许该预设数据库文件上传。此外还可在不允许上传时反馈相应的提示信息,以提示上传者对预设数据库文件进行修改后再重新提交上传形成预设数据库文件。步骤s20,提取所述项目文件中的配置文件,并将所述项目文件中的源代码打包生成通用包。发布材料质量控制设备将所述项目文件中的配置文件提取后在本地以分类目录的形式存储,如将测试类型的配置文件存放于本地的config/uat/目录下,将生产类型的配置文件存放于本地的config/prd/目录下以进行区分,所述配置文件为项目文件中用于配置运行环境的文件,不同的配置文件记录有不同的接口、参数等配置信息,通常项目文件在测试或生产场景的区别仅在于配置文件的不同,因此常常将项目文件中的配置文件做替换操作后打包以直接用于不同的场景之中,但若操作人员疏忽而没有进行配置文件替换,或者是替换后选择了错误的包,均会造成后续部署等操作的失败,因此本实施例提出将项目文件中的配置文件提取之后单独存放至不同目录中管理,避免后续上传配置文件时出现混淆错误。步骤s30,将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件。发布材料质量控制设备将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件,发布材料质量控制设备将项目文件中提取配置文件后的源代码打包生成通用包,所述通用包直接通用于测试场景和生产场景,在不同场景下仅需在对应的目录下抓取对应的配置文件进行环境配置即可。本发明实施例提出一种发布材料质量控制方法、装置、设备和计算机存储介质,在接收到材料发布指令时,基于所述材料发布指令获取项目文件;提取所述项目文件中的配置文件,并将所述项目文件中的源代码打包生成通用包,将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件,项目文件中源代码生成通用包,所述通用包适用于各种环境无需再进行分类选取,通过将现有方法中把项目文件一并打包后发布的方式,转换为将项目文件的配置文件分离并分类存储,并将项目文件的源代码打包发布的方式,实现了配置文件与通用包即源代码的分离,进而避免了由于人为操作的失误导致发布的文件出现错误造成的异常和开发效率的降低。进一步的,参照图3,在本发明以上施例的基础上,进一步提出了本发明发布材料质量控制方法的第二实施例,本实施例为第一实施例中步骤s20的细化步骤,所述发布材料质量控制方法包括:步骤s21,确定所述配置文件的文件类型。步骤s22,若所述配置文件为测试型,则将所述配置文件上传至预设归档目录的第一子目录中。步骤s23,若所述配置文件为生产型,则将所述配置文件上传至预设归档目录的第二子目录中。发布材料质量控制设备确定所述配置文件的文件类型,所述配置文件通常位于配置文件的特定目录下,根据既定目录查找即可寻确定,而所述配置文件类型则可根据名称、内容等进行匹配确定,为现有技术内容,再次不做赘述,所述配置文件一般包含测试型和生产型。若所述配置文件为测试型,则将所述配置文件上传至预设归档目录的第一子目录中,若所述配置文件为生产型,则将所述配置文件上传至预设归档目录的第二子目录中,即主要将生产型与测试型的的配置文件在预设归档目录下也分类存放,便于后续部署平台从所述预设归档目录抽取配置文件时不会出错,可以理解是,所述第一子目录与第二子目录不作具体限定,即可做变更。进一步的,配置文件的分离为进一步搭建配置管理中心,对配置文件进行集中管理打下基础;方便持续集成系统实现自动打包上传war包或通用包和配置文件;方便部署平台通过解析json文件实现自动部署war包或通用包和配置文件,可以明显提高自动化水平和发布效率。在本实施例汇总,通过将配置文件分类上传至预设归档目录的不同子目录分类管理,为后续部署平台准确的抽取所述配置文件打下基础,避免了发布时配置文件出现错误的问题。进一步的,参照图4,在本发明以上施例的基础上,进一步提出了本发明发布材料质量控制方法的第三实施例,本实施例为第一实施例中步骤s30的后置步骤,所述发布材料质量控制方法包括:步骤s40,在接收到材料发布任务时,确定所述发布任务类型。发布材料质量控制设备在接收到材料发布任务时,确定所述发布任务类型,所述材料发布任务指的是所述材料发布用于生产或用于测试,实际上取决于部署平台抽取的json(javascriptobjectnotation,js对象简谱)文件的文件内容指定,所述json文件内容则为开发者自行写入。步骤s50,根据所述发布任务类型在对应的预设归档目录中选取目标配置文件。发布材料质量控制设备根据所述发布任务类型在对应的预设归档目录中选取目标配置文件。进一步的,步骤s70可包括:步骤c1,若所述任务类型为测试类,则从所述第一子目录下抽取配置文件作为目标配置文件。若所述任务类型为测试类,发布材料质量控制设备则从所述第一子目录下选取配置文件作为目标配置文件,所述第一子目录为前述实施例中确定的用于存放测试类配置文件的目录,在第一子目录下选取配置文件作为目标配置文件。步骤c2,若所述任务类型为生产类,则从所述第二子目录下选取配置文件作为目标配置文件。若所述任务类型为测试类,发布材料质量控制设备则从所述第二子目录下选取配置文件作为目标配置文件,所述第二子目录为前述实施例中确定的用于存放生产类配置文件的目录,在第一子目录下选取配置文件作为目标配置文件。步骤s60,发布所述预设数据库文件、目标配置文件和通用包。发布材料质量控制设备发布所述预设数据库文件、目标配置文件和通用包,发布预设数据库文件为构建响应的数据库,发布目标配置文件即为将所述目标配置文件发布到json文件指定的服务器路径,发布通用包则为将所述通用包发布到json文件指定的服务器路径。在本实施例中,通过根据任务执行指令在预设目录中选取目标配置文件,并发布所述预设数据库文件、目标配置文件和通用包,给出了在配置文件从war包中分离后,确定目标配置文件并与其他文件一同执行的方法,配置文件分离使得无须人为再进行配置文件替换等操作进而避免了人为操作带来的失误。进一步的,在本发明以上施例的基础上,进一步提出了本发明发布材料质量控制方法的第四实施例,本实施例为第一实施例中步骤s60的细化步骤。在步骤s60中的所述发布材料质量控制方法包括:步骤d1,判断所述版本状态是否已封版。步骤d2,若所述版本状态为未封版,则终止发布操作,提示操作者发布失败的原因。步骤d3,若所述版本状态为已封版,则发布操作可以继续进行。发布材料质量控制设备在接收到材料发布指令时,基于所述项目指令获取项目文件,本步骤方法在前述实施例已作说明,在此不做赘述,发布材料质量控制涉及判断所述版本状态是否已封版,版本状态为已封版即当前版本测试通过且安全和运营服务部验收通过,满足发布条件,允许发布生产,版本封版之后,开发人员不允许再提交代码和打包,以确保测试包和生产包的一致性。若所述版本状态为未封版,即不满足发布条件,则终止发布并输出提示信息,提示操作者发布失败的原因。若所述版本状态为已封版,即满足发布条件,则发布操作可以继续进行;此外,对封版状态的修改操作权限并非完全禁止,可采用操作者身份信息与权限绑定的方式决定谁可以进行此类敏感的操作,如项目负责人级别可进行该敏感操作,而其他人员则不允许,其他人员可向负责人申请并由负责人授权后进行该敏感操作,即在进行修改操作前,操作人员需预先验证个人身份信息,可采用账号验证的方式,特别是,负责人持有的高权级账号可向低权级账号授予权限,并规定所述权限的有效时间。本实施例中,通过判断版本状态是否已封版进而对发布操作进行禁止或允许,规避了开发人员私自修改代码,通过持续集成系统打包并上传未经测试验证的文件的风险。此外,本发明实施例还提出一种发布材料质量控制装置,所述发布材料质量控制装置包括:接收模块,用于在接收到材料发布指令时,基于所述材料发布指令获取项目文件;打包模块,用于提取所述项目文件中的配置文件,并将所述项目文件中的源代码打包生成通用包;上传模块,用于将所述配置文件和通用包上传至预设归档目录,以便部署平台发布材料时从所述预设归档目录抽取文件。其中,发布材料质量控制装置的各个功能模块实现的步骤可参照本发明发布材料质量控制方法的各个实施例,此处不再赘述。所述发布材料质量控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:所述计算机程序被所述处理器执行时实现如上所述的发布材料质量控制方法的步骤。此外,本发明实施例还提出一种计算机存储介质。所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的发布材料质量控制方法中的操作需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1