CN108614978A - 压缩包的校验方法、装置、存储介质以及终端 - Google Patents
压缩包的校验方法、装置、存储介质以及终端 Download PDFInfo
- Publication number
- CN108614978A CN108614978A CN201810364521.3A CN201810364521A CN108614978A CN 108614978 A CN108614978 A CN 108614978A CN 201810364521 A CN201810364521 A CN 201810364521A CN 108614978 A CN108614978 A CN 108614978A
- Authority
- CN
- China
- Prior art keywords
- compressed package
- compressed
- file
- keyword
- decompression
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种压缩包的校验方法、装置、存储介质以及终端,涉及互联网技术领域,解决了相关技术中在进行压缩包校验过程中,需要将压缩包解压到本地内存中进行保存,然后对每个文件进行人工校验是否包含有必要的公共脚本文件的问题。所述方法包括:当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压;将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息;若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。本申请适用于压缩包的校验。
Description
技术领域
本发明涉及互联网技术领域,尤其是涉及到一种压缩包的校验方法、装置、存储介质以及终端。
背景技术
在互联网前端开发过程中,***发布需要经过对代码的打包、压缩、加密,其中,针对不同的***平台,需要对代码打包成不同的上线压缩包,上传至不同的***平台。然而,由于不同的***平台对上线压缩包的需求不同,需要对上线压缩包进行校验,例如,可以通过确定压缩包中是否含有一些落地埋点信息的公共脚本文件进行校验。
目前,现有在利用用户上传的H5压缩包进行***发布时,由于H5压缩包是由外部供应商进行提供,在进行压缩包校验过程中,需要将压缩包解压到本地内存中进行保存,然后对每个文件进行人工校验是否包含有必要的公共脚本文件,严重影响了***发布的工作效率,降低了压缩包校验的稳定性。
发明内容
本发明实施例提供了一种压缩包的校验方法、装置、存储介质以及终端,解决了相关技术中在进行压缩包校验过程中,需要将压缩包解压到本地内存中进行保存,然后对每个文件进行人工校验是否包含有必要的公共脚本文件的问题。
根据本发明实施例的一个方面,提供一种压缩包的校验方法,包括:
当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压;
将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息;
若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。
进一步,所述当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压之前,所述方法还包括:
判断获取到***平台发布的代码文件的文件类型是否为压缩包;
当所述代码文件的文件类型不为压缩包时,则向所述***平台反馈文件类型,以便***平台确定是否进行压缩操作。
进一步,所述当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压包括:
当所述代码文件的文件类型为压缩包时,则检测所述压缩包中文件个数;
若所述压缩包中的文件个数为多个,则分别提取每个已压缩的代码文件中的数据流进行解压;
若所述压缩包中的文件个数为一个,则按照预设行数同时提取已压缩的代码文件中的压缩数据流进行解压。
进一步,所述若所述压缩包中的文件个数为多个,则分别提取每个已压缩的代码文件中的数据流进行解压包括:
所述若所述压缩包中的压缩的文件为单独的多个代码文件,则同时提取每个已压缩的代码文件的首个压缩数据,并对所述压缩数据进行同时解压;
所述将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字包括:
将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取所述每个已压缩的代码文件中的下一个压缩数据,并进行同时解压、检测所述关键字的步骤。
进一步,所述若所述压缩包中的文件个数为一个,则按照预设行数同时提取已压缩的代码文件中的压缩数据流进行解压包括:
若所述压缩包中的压缩的文件为单独的一个代码文件,则按照提取每隔五行的首个压缩数据进行同时解压;
所述将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字包括:
将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取解压行中对应的下一个压缩数据进行同时解压,并进行同时解压、检测所述关键字的步骤。
进一步,所述方法还包括:
若检测到所述压缩包中已经解压后的压缩数据中的全部字符串均不存在所述关键字,则发送缺少所述关键字的提示信息。
根据本发明实施例的另一方面,提供一种压缩包的校验装置,包括:
解压单元,用于当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压;
转换单元,用于将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息;
上传单元,用于若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。
进一步,所述装置还包括:
判断单元,用于判断获取到***平台发布的代码文件的文件类型是否为压缩包;
反馈单元,用于当所述代码文件的文件类型不为压缩包时,则向所述***平台反馈文件类型,以便***平台确定是否进行压缩操作。
进一步,所述解压单元包括:
检测模块,用于当所述代码文件的文件类型为压缩包时,则检测所述压缩包中文件个数;
第一解压模块,用于若所述压缩包中的文件个数为多个,则分别提取每个已压缩的代码文件中的数据流进行解压;
第二解压模块,用于若所述压缩包中的文件个数为一个,则按照预设行数同时提取已压缩的代码文件中的压缩数据流进行解压。
进一步,所述第一解压模块,具体用于所述若所述压缩包中的压缩的文件为单独的多个代码文件,则同时提取每个已压缩的代码文件的首个压缩数据,并对所述压缩数据进行同时解压;
所述转换单元,具体用于将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取所述每个已压缩的代码文件中的下一个压缩数据,并进行同时解压、检测所述关键字的步骤。
进一步,所述第二解压模块,若所述压缩包中的压缩的文件为单独的一个代码文件,则按照提取每隔五行的首个压缩数据进行同时解压;
所述转换单元,具体用于将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取解压行中对应的下一个压缩数据进行同时解压,并进行同时解压、检测所述关键字的步骤。
进一步,所述装置还包括:
发送单元,用于若检测到所述压缩包中已经解压后的压缩数据中的全部字符串均不存在所述关键字,则发送缺少所述关键字的提示信息。
根据本申请的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述压缩包的校验方法对应的操作。
根据本申请的再一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述压缩包的校验方法对应的操作。
借由上述技术方案,本申请实施例提供的技术方案至少具有下列优点:
本申请提供了一种压缩包的校验方法、装置、存储介质以及终端,首先当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压,然后将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息,若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。与现有的在进行压缩包校验过程中,需要将压缩包解压到本地内存中进行保存,然后对每个文件进行人工校验是否包含有必要的公共脚本文件相比,本申请实施例通过自动获取压缩包形式的代码文件,进行数据流解压,在解压的同时,对解压出的字节数据转换为字符串,并检测字符串中是否存在关键字,从而确定是否需要进行上传,实现压缩包的自动校验,减少人工资源浪费,从而提高压缩包的校验效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本申请实施例提供的一种压缩包的校验方法流程图;
图2示出了本申请实施例提供的另一种压缩包的校验方法流程图;
图3示出了本申请实施例提供的一种压缩包的校验装置框图;
图4示出了本申请实施例提供的另一种压缩包的校验装置框图;
图5示出了本申请实施例提供的一种终端结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供了一种压缩包的校验方法,如图1所示,所述方法包括:
101、当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压。
其中,所述流解压为按照所述压缩包中的数据流进行解压,所述文件类型为压缩包即是指用于***平台进行上线的代码文件是压缩包,本发明实施例中,压缩包中压缩的代码文件可以为一个,也可以为多个,本发明实施例不做具体限定。所述按照压缩包中的数据流进行解压是指通过对压缩后的代码文件中一组有序、有起点和终点的字节数据进行解压的过程,一般的,一个代码文件中压缩后的字节数据包括输入流和输出流,即将代码文件的首个字节数据作为输入流,最后一个字节数据作为输出流,在进行流解压时,先对第一个字节数据进行解压,然后依次进行解压,直至最后一个字节数据。
例如,代码文件中被压缩的字节数据分别为1个1、4个0、1个1,3个1、3个0,1个1、5个0,在进行数据流解压时,即是先对字节数据1个1、4个0、1个1进行解压,然后再对1个1,3个1、3个0进行解压,最后对3个0,1个1、5个0。
需要说明的是,在本发明实施例中的***平台中可以利用Java语言中的ZipInputStream进行解压,本发明实施例不做具体限定。
102、将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字。
其中,所述关键字为压缩包中公共脚本信息,公共脚本信息即可以为公共脚本所在路径,本发明实施例中,将字节数据转换为字符串是指在进行流解压的同时,解压出一个字节数据,即对这个字节数据转换为字符串,然后检测这个字符串中是否存在关键字,然后再对下一个解压出的字节数据进行转换,例如,在对数据流1个1、4个0、1个1,3个1、3个0,1个1、5个0,进行数据流解压时,先对1个1、4个0、1个1解压为对应的100001,然后将100001转换为字符串,进行检测关键字,然后再对3个1、3个0进行解压,依次类推。
需要说明的是,步骤102中检测关键字的步骤与将刚解压出的字节数据转换为字符串的步骤同时进行,只有在完成检测结果后才对解压出的下一个字节数据进行转换字符串的步骤,以此类推。
103、若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。
其中,所述压缩包中若存在关键字,即公共脚本的路径,则说明代码文件的压缩包通过校验,可以上传至部署平台,以便进行代码发布。
例如,对数据流1个1、4个0、1个1,3个1、3个0,1个1、5个0,进行数据流解压时,对1个1、4个0、1个1解压为对应的100001,将100001转换为字符串a,a中不存在公共脚本的路径,则解压3个1、3个0为111000,转换为字符串b,b中存在公共脚本的路径,则不再对1个1、5个0进行解压,将这个代码文件的压缩包上传至部署平台,以便进行代码发布。
本申请提供了一种压缩包的校验方法,与现有的在进行压缩包校验过程中,需要将压缩包解压到本地内存中进行保存,然后对每个文件进行人工校验是否包含有必要的公共脚本文件相比,本申请实施例通过自动获取压缩包形式的代码文件,进行数据流解压,在解压的同时,对解压出的字节数据转换为字符串,并检测字符串中是否存在关键字,从而确定是否需要进行上传,实现压缩包的自动校验,减少人工资源浪费,从而提高压缩包的校验效率。
本发明实施例提供了另一种压缩包的校验方法,如图2所示,所述方法包括:
201、判断获取到***平台发布的代码文件的文件类型是否为压缩包。
对于本发明实施例,由于***平台发布的代码文件中,可能存在文件类型不为压缩包的代码文件,这些代码文件可以直接进行发布,而不需要进行校验,为了简化校验过程,需要获取***平台发布的代码文件,并对代码文件的文件类型判断是否为压缩包,以确定是否执行步骤202b以及之后的步骤。另外,判断文件类型是否为压缩包的具体方法可以通过确定文件类型是否为.rar等压缩包类型,本发明实施例不做具体限定。
202a、当所述代码文件的文件类型不为压缩包时,则向所述***平台反馈文件类型。
对于本发明实施例,以便***平台确定是否进行压缩操作。而针对大部分***平台来说,若代码文件的文件类型不为压缩包时,***文件可以根据方的文件类型直接进行代码发布。
对于本发明实施例,与步骤202a并列的步骤202b、当所述代码文件的文件类型为压缩包时,则检测所述压缩包中文件个数。
对于本发明实施例,为了准确确定压缩包是多个代码文件进行压缩,或是一个代码文件进行的压缩,便于对压缩包选择不同的流解压方式进行加压,需要检测压缩包中文件的个数。具体的检测方法可以通过查看压缩包中已经压缩的代码文件的文件名称进行确定,还可以通过传统的解压方式启动解压操作,然后从带解压的代码文件个数中确定,本发明实施例不做具体限定。
对于本发明实施例,步骤202b之后的步骤203a、若所述压缩包中的文件个数为多个,则分别提取每个已压缩的代码文件中的数据流进行解压。
对于本发明实施例,为了加快解压的速度,提高解压效率,当压缩包中压缩的代码文件为多个时,本发明实施例中的数据流解压即是指多个已压缩的代码文件同时进行解压,从而加快代码文件中公共脚本路径的校验。
对于本发明实施例,步骤203a具体可以为:所述若所述压缩包中的压缩的文件为单独的多个代码文件,则同时提取每个已压缩的代码文件的首个压缩数据,并对所述压缩数据进行同时解压。
需要说明的是,针对多个已压缩的代码文件同时的数据流解压,即提取每个已压缩的代码文件的首个压缩数据,同时进行解压,其中,每个文件中的都是以数据流形式进行解压,以便实现多维的同时解压,加快解压效率。
例如,已压缩的代码文件1中的首个压缩数据为2个1、3个0、1个1,已压缩的代码文件2中的首个压缩数据为4个1、2个0,已压缩的代码文件3中的首个压缩数据为1个1、3个0、2个1,同时提取文件1、文件2、文件3中的首个压缩数据2个1、3个0、1个1,4个1、2个0,1个1、3个0、2个1进行同时解压。
本发明实施例中,针对***平台的解压实施代码,可以选用JavaIO流ZipInputStream进行流解压,本发明实施例不做具体限定。
对于本发明实施例,步骤203a之后的步骤204a、将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取所述每个已压缩的代码文件中的下一个压缩数据,并进行同时解压、检测所述关键字的步骤。
对于本发明实施例,为了针对解压后的每个字节数据进行判断是否存在关键字,需要解压出一个字节数据的同时对字节数据进行字符串转换,并判断字符串中是否存在关键字,即公共脚本路径,若不存在,则需要对相对于已解压文件中的压缩数据对应的下一个压缩数据进行解压,字符串转换,关键字的检测步骤,直至检测到关键字,或者将所有的压缩数据都执行完上述步骤。
需要说明的是,字节数据转换为字符串的具体方法可以为采用ZipInputStream.getNextEntry迭代获取zipEntry,再调用read方法获取对应字节数据,然后具体采用正则表达式对压缩包中是否含有公共脚本的关键字段进行匹配查询,本发明实施例不做具体限定。
对于本发明实施例,与步骤203a并列的步骤203b、若所述压缩包中的文件个数为一个,则按照预设行数同时提取已压缩的代码文件中的压缩数据流进行解压。
需要说明的是,为了加快对一个代码文件的解压速度,本发明实施例中的数据流解压过程可以根据已压缩的代码文件中的各个行数据进行同时解压,若数据存储为一个行时,可以将数据进行多行的拆分,每行的数据个数本发明实施例不做具体限定。
对于本发明实施例,步骤203b具体可以为:若所述压缩包中的压缩的文件为单独的一个代码文件,则按照提取每隔五行的首个压缩数据进行同时解压。
例如,同一个代码文件中,第一行的首个压缩数据为6个0,第五行的首个压缩数据为3个1、3个0,第十行的首个压缩数据为2个0、4个1,进行解压时,是对6个0,3个1、3个0,2个0、4个1进行同时解压。
对于本发明实施例,步骤203b之后的步骤204b、将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取解压行中对应的下一个压缩数据进行同时解压,并进行同时解压、检测所述关键字的步骤。
对于本发明实施例,为了针对解压后的每个字节数据进行判断是否存在关键字,需要解压出一个字节数据的同时对字节数据进行字符串转换,并判断字符串中是否存在关键字,即公共脚本路径,若不存在,则需要对相对于已解压行中的压缩数据对应的下一个压缩数据进行解压,字符串转换,关键字的检测步骤,直至检测到关键字,或者将所有的压缩数据都执行完上述步骤。
205a、若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。
本步骤与图1所示的步骤103方法相同,在此不再赘述。
对于本发明实施例,与步骤205a并列的步骤205b、若检测到所述压缩包中已经解压后的压缩数据中的全部字符串均不存在所述关键字,则发送缺少所述关键字的提示信息。
对于本发明实施例,为了准确向***平台发送校验结果,需要检测压缩数据中所有转换后的字符串中均不存在关键字,然后发送缺少关键字的提示信息,以便***平台对代码文件的压缩包做出具体调整措施。所述提示信息的具体形式本发明实施例不做具体限定。
本申请提供了另一种压缩包的校验方法,本申请实施例通过自动获取压缩包形式的代码文件,进行数据流解压,在解压的同时,对解压出的字节数据转换为字符串,并检测字符串中是否存在关键字,从而确定是否需要进行上传,实现压缩包的自动校验,减少人工资源浪费,从而提高压缩包的校验效率。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种压缩包的校验装置,如图3所示,该装置包括:解压单元31、转换单元32、上传单元33。
解压单元31,用于当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压;所述解压单元31为压缩包的校验装置执行当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压的程序模块。
转换单元32,用于将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息;所述转换单元32为压缩包的校验装置执行将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字的程序模块。
上传单元33,用于若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。所述上传单元33为压缩包的校验装置执行若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传的程序模块。
本申请提供了一种压缩包的校验装置,与现有的在进行压缩包校验过程中,需要将压缩包解压到本地内存中进行保存,然后对每个文件进行人工校验是否包含有必要的公共脚本文件相比,本申请实施例通过自动获取压缩包形式的代码文件,进行数据流解压,在解压的同时,对解压出的字节数据转换为字符串,并检测字符串中是否存在关键字,从而确定是否需要进行上传,实现压缩包的自动校验,减少人工资源浪费,从而提高压缩包的校验效率。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种压缩包的校验装置,如图4所示,该装置包括:解压单元41、转换单元42、上传单元43、判断单元44、反馈单元45、发送单元46。
解压单元41,用于当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压;
转换单元42,用于将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息;
上传单元43,用于若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。
进一步,所述装置还包括:
判断单元44,用于判断获取到***平台发布的代码文件的文件类型是否为压缩包;
反馈单元45,用于当所述代码文件的文件类型不为压缩包时,则向所述***平台反馈文件类型,以便***平台确定是否进行压缩操作。
进一步,所述解压单元41包括:
检测模块4101,用于当所述代码文件的文件类型为压缩包时,则检测所述压缩包中文件个数;
第一解压模块4102,用于若所述压缩包中的文件个数为多个,则分别提取每个已压缩的代码文件中的数据流进行解压;
第二解压模块4103,用于若所述压缩包中的文件个数为一个,则按照预设行数同时提取已压缩的代码文件中的压缩数据流进行解压。
进一步,所述第一解压模块4102,具体用于所述若所述压缩包中的压缩的文件为单独的多个代码文件,则同时提取每个已压缩的代码文件的首个压缩数据,并对所述压缩数据进行同时解压;
所述转换单元42,具体用于将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取所述每个已压缩的代码文件中的下一个压缩数据,并进行同时解压、检测所述关键字的步骤。
进一步,所述第二解压模块4103,若所述压缩包中的压缩的文件为单独的一个代码文件,则按照提取每隔五行的首个压缩数据进行同时解压;
所述转换单元42,具体用于将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取解压行中对应的下一个压缩数据进行同时解压,并进行同时解压、检测所述关键字的步骤。
进一步,所述装置还包括:
发送单元46,用于若检测到所述压缩包中已经解压后的压缩数据中的全部字符串均不存在所述关键字,则发送缺少所述关键字的提示信息。
本申请提供了另一种压缩包的校验装置,本申请实施例通过自动获取压缩包形式的代码文件,进行数据流解压,在解压的同时,对解压出的字节数据转换为字符串,并检测字符串中是否存在关键字,从而确定是否需要进行上传,实现压缩包的自动校验,减少人工资源浪费,从而提高压缩包的校验效率。
根据本发明一个实施例提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的压缩包的校验方法。
图5示出了根据本发明一个实施例提供的一种终端的结构示意图,本发明具体实施例并不对终端的具体实现做限定。
如图5所示,该终端可以包括:处理器(processor)502、通信接口(CommunicationsInterface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述压缩包的校验方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压;
将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息;
若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种压缩包的校验方法,其特征在于,包括:
当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压;
将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息;
若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。
2.根据权利要求1所述的方法,其特征在于,所述当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压之前,所述方法还包括:
判断获取到***平台发布的代码文件的文件类型是否为压缩包;
当所述代码文件的文件类型不为压缩包时,则向所述***平台反馈文件类型,以便***平台确定是否进行压缩操作。
3.根据权利要求2所述的方法,其特征在于,所述当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压包括:
当所述代码文件的文件类型为压缩包时,则检测所述压缩包中文件个数;
若所述压缩包中的文件个数为多个,则分别提取每个已压缩的代码文件中的数据流进行解压;
若所述压缩包中的文件个数为一个,则按照预设行数同时提取已压缩的代码文件中的压缩数据流进行解压。
4.根据权利要求3所述的方法,其特征在于,所述若所述压缩包中的文件个数为多个,则分别提取每个已压缩的代码文件中的数据流进行解压包括:
所述若所述压缩包中的压缩的文件为单独的多个代码文件,则同时提取每个已压缩的代码文件的首个压缩数据,并对所述压缩数据进行同时解压;
所述将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字包括:
将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取所述每个已压缩的代码文件中的下一个压缩数据,并进行同时解压、检测所述关键字的步骤。
5.根据权利要求3所述的方法,其特征在于,所述若所述压缩包中的文件个数为一个,则按照预设行数同时提取已压缩的代码文件中的压缩数据流进行解压包括:
若所述压缩包中的压缩的文件为单独的一个代码文件,则按照提取每隔五行的首个压缩数据进行同时解压;
所述将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字包括:
将每个解压后的字节数据转换为字符串,并检测所述字符串中是否存在关键字,若不存在所述关键字,则提取解压行中对应的下一个压缩数据进行同时解压,并进行同时解压、检测所述关键字的步骤。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
若检测到所述压缩包中已经解压后的压缩数据中的全部字符串均不存在所述关键字,则发送缺少所述关键字的提示信息。
7.一种压缩包的校验装置,其特征在于,包括:
解压单元,用于当获取的代码文件的文件类型为压缩包时,对所述压缩包进行流解压,所述流解压为按照所述压缩包中的数据流进行解压;
转换单元,用于将在进行流解压时得到的每个数据流中的字节数据转换为字符串,并检测所述字符串中是否存在关键字,所述关键字为压缩包中公共脚本信息;
上传单元,用于若检测到所述字符串中存在所述关键字,则停止对所述压缩包的流解压,并将所述压缩包进行上传。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
判断单元,用于判断获取到***平台发布的代码文件的文件类型是否为压缩包;
反馈单元,用于当所述代码文件的文件类型不为压缩包时,则向所述***平台反馈文件类型,以便***平台确定是否进行压缩操作。
9.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的压缩包的校验方法对应的操作。
10.一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的压缩包的校验方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810364521.3A CN108614978B (zh) | 2018-04-19 | 2018-04-19 | 压缩包的校验方法、装置、存储介质以及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810364521.3A CN108614978B (zh) | 2018-04-19 | 2018-04-19 | 压缩包的校验方法、装置、存储介质以及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108614978A true CN108614978A (zh) | 2018-10-02 |
CN108614978B CN108614978B (zh) | 2022-04-15 |
Family
ID=63660678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810364521.3A Active CN108614978B (zh) | 2018-04-19 | 2018-04-19 | 压缩包的校验方法、装置、存储介质以及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108614978B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768962A (zh) * | 2019-09-26 | 2020-02-07 | 深圳华臻信息技术有限公司 | 文件自校验方法、***、发送端设备及接收端设备 |
CN112612830A (zh) * | 2020-12-03 | 2021-04-06 | 海光信息技术股份有限公司 | 一种压缩数据批量导出方法、***及电子设备 |
CN113794676A (zh) * | 2021-07-26 | 2021-12-14 | 奇安信科技集团股份有限公司 | 文件过滤方法、装置、电子设备、程序产品及存储介质 |
CN114466082A (zh) * | 2022-01-29 | 2022-05-10 | 上海阵量智能科技有限公司 | 数据压缩、数据解压方法、***及人工智能ai芯片 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694637A (zh) * | 2009-11-06 | 2010-04-14 | 金蝶软件(中国)有限公司 | 一种数据库恢复的方法和*** |
US7827237B2 (en) * | 2007-03-12 | 2010-11-02 | Citrix Systems, Inc. | Systems and methods for identifying long matches of data in a compression history |
CN102591667A (zh) * | 2012-01-16 | 2012-07-18 | 深圳市同洲视讯传媒有限公司 | 一种远程发布应用的方法及装置 |
US20130039487A1 (en) * | 2011-08-12 | 2013-02-14 | Cisco Technology, Inc. | Coordinating compression information for unreliable encrypted streams through key establishment protocols |
CN103823856A (zh) * | 2014-02-19 | 2014-05-28 | 曙光云计算技术有限公司 | 一种在PaaS平台服务环境中的SaaS迁移方法 |
CN103942051A (zh) * | 2014-04-15 | 2014-07-23 | 新浪网技术(中国)有限公司 | 基于paas平台的应用部署方法和装置 |
CN104871552A (zh) * | 2012-11-28 | 2015-08-26 | Lg电子株式会社 | 处理交互服务的设备和方法 |
CN105868194A (zh) * | 2015-01-19 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 文本数据压缩、解压方法及装置 |
CN106202497A (zh) * | 2016-07-20 | 2016-12-07 | 惠州Tcl移动通信有限公司 | 一种检查并优化应用的压缩文件字节对齐的方法及*** |
CN106776730A (zh) * | 2016-11-17 | 2017-05-31 | 中国银行股份有限公司 | 一种基于java语言的中文压缩解压缩方法及装置 |
CN107426588A (zh) * | 2017-07-12 | 2017-12-01 | 深圳创维-Rgb电子有限公司 | 一种获取电视机配置信息方法、***及存储装置 |
-
2018
- 2018-04-19 CN CN201810364521.3A patent/CN108614978B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827237B2 (en) * | 2007-03-12 | 2010-11-02 | Citrix Systems, Inc. | Systems and methods for identifying long matches of data in a compression history |
CN101694637A (zh) * | 2009-11-06 | 2010-04-14 | 金蝶软件(中国)有限公司 | 一种数据库恢复的方法和*** |
US20130039487A1 (en) * | 2011-08-12 | 2013-02-14 | Cisco Technology, Inc. | Coordinating compression information for unreliable encrypted streams through key establishment protocols |
CN102591667A (zh) * | 2012-01-16 | 2012-07-18 | 深圳市同洲视讯传媒有限公司 | 一种远程发布应用的方法及装置 |
CN104871552A (zh) * | 2012-11-28 | 2015-08-26 | Lg电子株式会社 | 处理交互服务的设备和方法 |
CN103823856A (zh) * | 2014-02-19 | 2014-05-28 | 曙光云计算技术有限公司 | 一种在PaaS平台服务环境中的SaaS迁移方法 |
CN103942051A (zh) * | 2014-04-15 | 2014-07-23 | 新浪网技术(中国)有限公司 | 基于paas平台的应用部署方法和装置 |
CN105868194A (zh) * | 2015-01-19 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 文本数据压缩、解压方法及装置 |
CN106202497A (zh) * | 2016-07-20 | 2016-12-07 | 惠州Tcl移动通信有限公司 | 一种检查并优化应用的压缩文件字节对齐的方法及*** |
CN106776730A (zh) * | 2016-11-17 | 2017-05-31 | 中国银行股份有限公司 | 一种基于java语言的中文压缩解压缩方法及装置 |
CN107426588A (zh) * | 2017-07-12 | 2017-12-01 | 深圳创维-Rgb电子有限公司 | 一种获取电视机配置信息方法、***及存储装置 |
Non-Patent Citations (3)
Title |
---|
KUNBO LI 等: "String-wise information flow tracking against script injection attacks", 《2009 15TH IEEE PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING》 * |
朱宇翔: "基于HTML5的移动中间件的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
陈思: "基于STAF的自动化测试***研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768962A (zh) * | 2019-09-26 | 2020-02-07 | 深圳华臻信息技术有限公司 | 文件自校验方法、***、发送端设备及接收端设备 |
CN112612830A (zh) * | 2020-12-03 | 2021-04-06 | 海光信息技术股份有限公司 | 一种压缩数据批量导出方法、***及电子设备 |
CN113794676A (zh) * | 2021-07-26 | 2021-12-14 | 奇安信科技集团股份有限公司 | 文件过滤方法、装置、电子设备、程序产品及存储介质 |
CN114466082A (zh) * | 2022-01-29 | 2022-05-10 | 上海阵量智能科技有限公司 | 数据压缩、数据解压方法、***及人工智能ai芯片 |
CN114466082B (zh) * | 2022-01-29 | 2024-01-09 | 上海阵量智能科技有限公司 | 数据压缩、数据解压方法、***及人工智能ai芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN108614978B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614978A (zh) | 压缩包的校验方法、装置、存储介质以及终端 | |
CN107665233B (zh) | 数据库数据处理方法、装置、计算机设备和存储介质 | |
WO2020258655A1 (zh) | 数据校验方法、装置、计算机设备和存储介质 | |
CN104753540B (zh) | 数据压缩方法、数据解压方法和装置 | |
CN108337236A (zh) | 一种基于Protobuf和HTTP/1.1的gRPC调用方法及装置 | |
CN111209004A (zh) | 代码转换方法及装置 | |
CN112187558B (zh) | 数据校验方法、装置、电子设备 | |
CN111813701B (zh) | 基于http的接口测试方法、装置、计算机设备及存储介质 | |
CN107220096A (zh) | 一种json数据解析方法及装置 | |
CN111683066A (zh) | 异构***集成方法、装置、计算机设备和存储介质 | |
CN110428820A (zh) | 一种中英文混合语音识别方法及装置 | |
CN104199951B (zh) | 网页处理方法及装置 | |
CN103346800B (zh) | 一种数据压缩方法及装置 | |
CN106547527A (zh) | 一种JavaScript文件构建方法及装置 | |
CN111144402A (zh) | Ocr识别准确率的计算方法、装置、设备以及存储介质 | |
CN109698798B (zh) | 一种应用的识别方法、装置、服务器和存储介质 | |
CN107463706A (zh) | 一种基于Hadoop的海量录波数据存储和解析方法及*** | |
CN114844814B (zh) | 一种压力测试方法及装置 | |
CN110516125B (zh) | 识别异常字符串的方法、装置、设备及可读存储介质 | |
CN115242896A (zh) | 动态报文解析方法、装置、电子设备及计算机可读存储介质 | |
CN101794283A (zh) | 字符串处理方法及***和匹配器 | |
CN111355821A (zh) | 一种连接码生成方法、设备、电子设备及存储介质 | |
CN105991289B (zh) | Sm3密码算法的侧信道能量分析方法及装置 | |
CN111506305B (zh) | 工具包生成方法、装置、计算机设备及可读存储介质 | |
KR102365658B1 (ko) | 트래픽 분류 방법 및 장치 |
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 |