CN110457628B - 网页版本校验方法、装置、设备及存储介质 - Google Patents
网页版本校验方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110457628B CN110457628B CN201910601447.7A CN201910601447A CN110457628B CN 110457628 B CN110457628 B CN 110457628B CN 201910601447 A CN201910601447 A CN 201910601447A CN 110457628 B CN110457628 B CN 110457628B
- Authority
- CN
- China
- Prior art keywords
- abstract
- character string
- target
- digest
- file
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种网页版本校验方法、装置、设备及存储介质,包括:访问已上传网页文件所在的目标文件夹,对其中存放的文件进行遍历;对遍历到的文件采用消息摘要算法计算摘要字符串,将摘要字符串写入目标文件夹对应的摘要字符串集中;按预设规则对摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算获得摘要结果;从服务器侧获取已上传网页文件对应的摘要文件,根据摘要结果对摘要文件进行版本校验,获取版本校验结果,由于是通过消息摘要算法来计算网页文件的摘要字符串从而能够保证最终计算出的摘要结果的唯一性与准确性,同时根据摘要结果来进行文件版本的校验相比于现有的将文件逐一对比的校验方式,效率更高。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种网页版本校验方法、装置、设备及存储介质。
背景技术
在某些场景下,需要对Web服务中的网页版本进行校验。原因在于,用户在将网页文件上传至Web服务器时可能会因为一些状况(如上传地址错误,网络错误等)导致网页文件或资源文件未正确发布,且出现由于上传错误,经过复杂测试后才发现版本不对的情况。
为了避免这种情况,现有的一种做法是将网页文件、资源文件下载下来后进行逐个比对,这种方式耗时较长且容易出错,如果网页改动较小很难正确判断是否更新成功。因此,如何能够快速准确地对网页文件进行版本一致性检测,就成为一个亟待解决的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种网页版本校验方法、装置、设备及存储介质,旨在解决现有技术无法快速准确地对网页文件进行版本一致性检测的技术问题。
为实现上述目的,本发明提供了一种网页版本校验方法,所述方法包括以下步骤:
访问已上传网页文件所在的目标文件夹,对所述目标文件夹中存放的文件进行遍历;
对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中;
按预设规则对所述摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算,以获得摘要结果;
从服务器侧获取所述已上传网页文件对应的摘要文件,根据所述摘要结果对所述摘要文件进行版本校验,获取版本校验结果。
优选地,所述对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中的步骤,包括:
对遍历到的文件进行文件标识提取,获得目标文件标识;
获取所述目标文件标识的当前位长值,根据所述当前位长值判断是否需要对所述当前位长值进行补位;
若是,则对所述当前位长值进行补位,并对补位后的当前位长值进行散列值计算以获取文件散列值;
将所述文件散列值作为所述目标文件标识对应的摘要字符串,并将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中。
优选地,所述对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中的步骤,包括:
对遍历到的文件进行文件标识提取,获得目标文件标识;
通过预设哈希函数计算所述目标文件标识对应的校验值;
将所述校验值作为所述目标文件标识对应的摘要字符串,并将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中。
优选地,所述按预设规则对所述摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算,以获得摘要结果的步骤,包括:
对所述摘要字符串集中的摘要字符串进行字典序排序,并根据排序结果对各摘要字符串进行拼接,获得目标字符串;
采用所述消息摘要算法对所述目标字符串进行摘要计算,以获得摘要结果。
优选地,所述采用所述消息摘要算法对所述目标字符串进行摘要计算,以获得摘要结果的步骤之前,所述方法还包括:
获取所述目标字符串对应的目标位长值,检测所述目标位长值是否为预设位长值的整数倍;
若否,则对所述目标位长值进行补位,以获得所述目标字符串对应的有效位长值;
所述采用所述消息摘要算法对所述目标字符串进行摘要计算,以获得摘要结果的步骤,包括:
根据所述消息摘要算法对所述有效位长值进行摘要计算,以获得摘要结果。
优选地,所述对所述摘要字符串集中的摘要字符串进行字典序排序,并根据排序结果对各摘要字符串进行拼接,获得目标字符串的步骤,包括:
对所述摘要字符串集中的摘要字符串进行字典序排序,获得排序结果;
获取各摘要字符串对应的属性值,根据所述属性值判断所述摘要字符串集中包含的所有摘要字符串是否满足预设拼接条件;
若满足,则按所述预设规则对各摘要字符串进行拼接,获得目标字符串。
优选地,所述获取各摘要字符串对应的属性值,根据所述属性值判断所述摘要字符串集中包含的所有摘要字符串是否满足预设拼接条件的步骤之后,所述方法还包括:
若不满足,则提取不满足所述预设拼接条件的目标摘要字符串;
对所述目标摘要字符串对应的目标属性值进行修改,以使所述摘要字符串集中各摘要字符串对应的属性值均满足所述预设拼接条件;
按所述预设规则对各摘要字符串进行拼接,获得目标字符串。
此外,为实现上述目的,本发明还提出一种网页版本校验装置,所述装置包括:
文件遍历模块,用于访问已上传网页文件所在的目标文件夹,对所述目标文件夹中存放的文件进行遍历;
摘要计算模块,用于对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中;
字符拼接模块,用于按预设规则对所述摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算,以获得摘要结果;
文件比对模块,用于从服务器侧获取所述已上传网页文件对应的摘要文件,根据所述摘要结果对所述摘要文件进行版本校验,获取版本校验结果。
此外,为实现上述目的,本发明还提出一种网页版本校验设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网页版本校验程序,所述网页版本校验程序配置为实现如上文所述的网页版本校验方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有网页版本校验程序,所述网页版本校验程序被处理器执行时实现如上文所述的网页版本校验方法的步骤。
本发明通过访问已上传网页文件所在的目标文件夹中所有的文件采用消息摘要算法计算对应的摘要字符串,能够保证计算出的摘要字符串与目标文件夹中的每一个文件一一对应,同时本发明通过将摘要字符串写入目标文件夹对应的摘要字符串集中,按预设规则对摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算获得摘要结果;从而使得每一个网页文件只对应一个摘要结果,且只需要根据该摘要结果对服务器侧已上传网页文件对应的摘要文件进行版本校验,就可以检测出版本是否一致,相比于现有的耗费大量时间将网页文件逐一对比的校验方式,本发明版本校验的效率以及准确性更高。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的网页版本校验设备的结构示意图;
图2为本发明网页版本校验方法第一实施例的流程示意图;
图3为本发明网页版本校验方法第二实施例的流程示意图;
图4为本发明网页版本校验方法第三实施例的流程示意图;
图5为本发明网页版本校验装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的网页版本校验设备结构示意图。
如图1所示,该网页版本校验设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对网页版本校验设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及网页版本校验程序。
在图1所示的网页版本校验设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明网页版本校验设备中的处理器1001、存储器1005可以设置在网页版本校验设备中,所述网页版本校验设备通过处理器1001调用存储器1005中存储的网页版本校验程序,并执行本发明实施例提供的网页版本校验方法。
本发明实施例提供了一种网页版本校验方法,参照图2,图2为本发明网页版本校验方法第一实施例的流程示意图。
本实施例中,所述网页版本校验方法包括以下步骤:
步骤S10:访问已上传网页文件所在的目标文件夹,对所述目标文件夹中存放的文件进行遍历;
需要说明的是,本实施例方法的执行主体可以是具有数据处理、网络通信以及程序运行功能的计算服务设备,如智能手机、平板电脑、个人电脑等。当然该执行主体也可以是装载在上述计算服务设备上的客户端应用程序(以下简称客户端)。所述目标文件夹中存放有已上传网页文件包含的所有文件。
应理解的是,所述已上传网页文件可以是预先上传到服务器侧的网页文件。实际情况中用户在将网页文件上传至Web服务器时可能会因为一些状况(如上传地址错误,网络错误等)导致网页文件或资源文件未正确发布,因此本实施例网页版本校验方法将对已经上传的网页文件进行版本一致性检测,以确保网页文件能够以正确的版本发布。具体的,在进行版本一致性检测时,客户端可将从服务器侧下载的网页文件(即所述已上传网页文件)与本地存储的已上传网页文件对应的网页文件进行比对,然后根据比对结果确定版本是否一致。
可理解的是,网页是构成网站的基本元素,是承载各种网站应用的平台,也是一个包含超级文本标记语言(HyperText Markup Language,HTML)标签的纯文本文件。文字与图片是构成一个网页的两个最基本的元素。通常情况下,页面中的元素包括:文本、图像、flash动画、声音、视频、表格、导航栏以及交互式表单等,本实施例中的网页文件至少包括HTML、Javascript(一种直译式脚本语言)、层叠样式表(Cascading Style Sheets,CSS)以及图片文件等。
在具体实现中,客户端在接收到版本校验指令时,访问已上传网页文件所在的目标文件夹,然后对所述目标文件夹中存放的所有文件进行遍历,并对当前遍历到的文件进行摘要计算。
步骤S20:对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中;
需要说明的是,消息摘要(算法)是把任意长度的输入揉和而产生长度固定的伪随机输入的算法,不同的文件或消息经过消息摘要算法计算出的结果是不同且唯一的。因此,本实施例通过消息摘要算法来进行文件版本校验,能够保证校验结果的准确性。
应理解的是,消息摘要算法主要应用在“数字签名”领域,作为对明文的摘要算法。其中,MD5消息摘要算法(MD5Message-Digest Algorithm)是一种被广泛使用的密码散列函数,其可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。而安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(DigitalSignature Standard,DSS),对于长度小于2^64位的消息,SHA1算法会产生一个160位的消息摘要。
进一步地,考虑到上述MD5消息摘要算法以及SHA1算法均能验证信息传输的完整性,本实施例中所述消息摘要算法优选为MD5算法或SHA1算法。
具体的,在所述消息摘要算法优选为MD5算法时,客户端可对所述目标文件夹中遍历到的文件进行文件标识提取,获得目标文件标识;然后获取所述目标文件标识的当前位长值,根据所述当前位长值判断是否需要对所述当前位长值进行补位;若是,则对所述当前位长值进行补位,并对补位后的当前位长值进行散列值计算以获取文件散列值;最后将所述文件散列值作为所述目标文件标识对应的摘要字符串,并将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中。
需要说明的是,所述文件标识可以是将不同文件进行区分的特征信息,如文件名、又或是文件名+存储路径的组合等。所述位长值,即位长(Bits Length)。二进制的每一个0或1是组成二进制的最小单位,称为位(bit),本实施例将二进制表示的信息或消息对应位的长度作为所述位长值。
例如,若客户端当前遍历到的文件a对应的文件名为“xxx.tar.gz”,则客户端通过MD5算法获取到该文件名对应的当前位长值为900,此时即可根据补位原则“位长值对512求余的结果等于448”判断是否需要对当前位长值进行补位,若需要,则在该文件名对应的当前位长值后填充一个1和无数个0,直至补位后的当前位长值满足上述补位原则时才停止用0对位长值的补位,然后在进行后续的散列值计算获取文件散列值。
当然,为提高所述摘要字符串的获取速度,本实施例中所述消息摘要算法也可以优选为SHA1算法。应理解的是,SHA1始终把消息当成一个位(bit)字符串来处理。一个字(Word)是32位,而一个字节(Byte)是8位。比如,字符串“abc”可以被转换成一个位字符串:01100001 01100010 01100011,它也可以被表示成16进制字符串:0x616263。同样地,本实施例中客户端也可对遍历到的文件进行文件标识提取,获得目标文件标识;然后通过预设哈希函数计算所述目标文件标识对应的校验值;将所述校验值作为所述目标文件标识对应的摘要字符串,并将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中。其中,所述预设哈希函数也称为散列函数。
步骤S30:按预设规则对所述摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算,以获得摘要结果;
需要说明的是,本步骤中对字符串进行拼接可以是将字符串进行组合,该组合可以是有序组合也可以是无序组合,本实施例对此不作具体限定。
应理解的是,在实际应用中,java中字符串拼接有多种方式,例如:plus方式、concat方式以及append方式。考虑到理论上所述concat方式的拼接效率较高,本实施例中所述预设规则可以是通过concat方式对摘要字符串进行拼接。
通常情况下当两个量都为String(编程语言中的字符串)类型且值不为null时,采用concat方式效率较高,例如:
String a="a";
String b="b";
String c=a.concat(b);
其中,a、b为字符串,c为采用concat方式拼接后的字符串。
在具体实现中,客户端可按预设规则对摘要字符串集中包含的摘要字符串进行拼接,然后对拼接的摘要字符串进行摘要计算获得摘要结果。其中,所述摘要计算即通过上述消息摘要算法计算对应的散列值或校验值,相应地所述摘要结果即拼接后的摘要字符串对应的散列值或校验值。
步骤S40:从服务器侧获取所述已上传网页文件对应的摘要文件,根据所述摘要结果对所述摘要文件进行版本校验,获取版本校验结果。
需要说明的是,服务器侧保存的已上传网页文件中包含有对应的摘要文件,该文件中也存放有客户端通过上述步骤事先计算出的摘要结果(即字符串)。
因此,本步骤中客户端在根据本地目标文件夹中存放的文件计算出摘要结果后,即可将从服务器侧获取的摘要结果与当前计算出的摘要结果进行比对,若相同,则表明已上传的网页文件和本地的网页文件版本是一致的,反之则不一致,此时就需要重新上传网页文件以确保文件版本发布时的准确性。
本实施例通过访问已上传网页文件所在的目标文件夹中所有的文件采用消息摘要算法计算对应的摘要字符串,能够保证计算出的摘要字符串与目标文件夹中的每一个文件一一对应,同时本实施例通过将摘要字符串写入目标文件夹对应的摘要字符串集中,按预设规则对摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算获得摘要结果;从而使得每一个网页文件只对应一个摘要结果,且只需要根据该摘要结果对服务器侧已上传网页文件对应的摘要文件进行版本校验,就可以检测出版本是否一致,相比于现有的耗费大量时间将网页文件逐一对比的校验方式,本实施例版本校验的效率以及准确性更高。
参考图3,图3为本发明网页版本校验方法第二实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S30可包括:
步骤S301:对所述摘要字符串集中的摘要字符串进行字典序排序,并根据排序结果对各摘要字符串进行拼接,获得目标字符串;
需要说明的是,在数学领域,字典序或词典顺序(也称为词汇顺序,字典顺序,字母顺序或词典顺序)是基于字母顺序排列的单词按字母顺序排列的方法。对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的,例如对于5个数字的排列12354和12345,排列12345在前,排列12354在后,按照这样的规定,5个数字的所有的排列中最前面的是12345,最后面的是54321。
为尽可能的保证最终参与版本校验的摘要结果具有较高的准确度,本实施例中客户端在进行摘要字符串的拼接前,可先对参与拼接的字符串进行排序,然后根据排序结果对各摘要字符串进行拼接获得目标字符串。考虑到字典序排序的数据较为符合计算机设备的读写顺序,本实施例中排序方式优选为上述字典序排序。
在具体实现中,客户端在对摘要字符串进行拼接前,先对摘要字符串集中的摘要字符串进行字典序排序,然后再根据排序结果对各摘要字符串进行拼接,获得目标字符串。
步骤S302:采用所述消息摘要算法对所述目标字符串进行摘要计算,以获得摘要结果。
在具体实现中,客户端在获取到目标字符串后,即可采用消息摘要算法对目标字符串进行摘要计算,以获得摘要结果。
考虑到MD5通常以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组。本实施例中若客户端通过MD5算法来进行摘要计算,就需要确保目标字符串对应的位长值为预设位长值(即512位)的整数倍,以保证摘要计算的顺利进行。当然,若采用SHA1算法进行摘要计算时,则不需要保证目标字符串对应的位长值为所述预设位长值(即512位)的整数倍。
在具体实现中,若客户端通过MD5算法来进行摘要计算,则需获取所述目标字符串对应的目标位长值,然后检测所述目标位长值是否为预设位长值的整数倍,若否,则对所述目标位长值进行补位,以获得所述目标字符串对应的有效位长值;最后再采用所述消息摘要算法对所述有效位长值进行摘要计算,获得摘要结果。
本实施例通过对摘要字符串集中的摘要字符串进行字典序排序,并根据排序结果对各摘要字符串进行拼接获得目标字符串,然后采用消息摘要算法对目标字符串进行摘要计算,以获得摘要结果,能够保证客户端较快的读取需要拼接的字符串并完成拼接,进一步提高了摘要计算效率。
参考图4,图4为本发明网页版本校验方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S301可包括:
步骤S3011:对所述摘要字符串集中的摘要字符串进行字典序排序,获得排序结果;
在具体实现中,客户端可读取摘要字符串集中的摘要字符串,按照字典序对这些字符串进行排序,并获取相应的排序结果。
步骤S3012:获取各摘要字符串对应的属性值,根据所述属性值判断所述摘要字符串集中包含的所有摘要字符串是否满足预设拼接条件;
应理解的是,属性值是定义属性的特定的特征或参数,例如对于一篇word文档而言,其属性值可能包括“大小=4567字节”、“创建时间=2019年1月1日”,“字符数=1234”等。实际的字符串拼接过程中,并非所有的字符串都能够用来拼接,因此本实施例客户端在进行摘要字符串拼接前需要检测摘要字符串是否满足预设拼接条件。
具体的,客户端可获取各摘要字符串对应的属性值,然后根据所述属性值判断所述摘要字符串集中包含的所有摘要字符串是否满足预设拼接条件。本实施例中,所述预设拼接条件为摘要字符串对应的属性值不为空(null),即字符串对应的属性值不为空时,该字符串可以被拼接。
步骤S3013:若满足,则按所述预设规则对各摘要字符串进行拼接,获得目标字符串。
在具体实现中,若客户端检测到摘要字符串集中包含的所有摘要字符串均满足预设拼接条件,则采用concat方式对所有的摘要字符串进行拼接获得目标字符串。
进一步地,若客户端检测到摘要字符串集中存在不满足所述预设拼接条件的字符串时,则需要对这些字符串进行进一步的处理,使得这些字符串满足上述预设拼接条件。
具体的,客户端可提取不满足所述预设拼接条件的目标摘要字符串;然后对所述目标摘要字符串对应的目标属性值进行修改,以使所述摘要字符串集中各摘要字符串对应的属性值均满足所述预设拼接条件(即将所述目标属性值修改为不为null的其它数值);最后在按所述预设规则对各摘要字符串进行拼接,获得目标字符串。
本实施例通过对摘要字符串集中的摘要字符串进行字典序排序,获得排序结果;获取各摘要字符串对应的属性值,根据属性值判断摘要字符串集中包含的所有摘要字符串是否满足预设拼接条件;若满足,则按预设规则对各摘要字符串进行拼接,获得目标字符串;若不满足则提取不满足所述预设拼接条件的目标摘要字符串;对目标摘要字符串对应的目标属性值进行修改,以使摘要字符串集中各摘要字符串对应的属性值均满足预设拼接条件;按预设规则对各摘要字符串进行拼接,获得目标字符串,从而保证了摘要字符串集中的所有摘要字符串均能够被拼接,避免了字符串拼接过程中某些字符串被遗漏的情况,提高了校验结果的准确度与可信度。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有网页版本校验程序,所述网页版本校验程序被处理器执行时实现如上文所述的网页版本校验方法的步骤。
参照图5,图5为本发明网页版本校验装置第一实施例的结构框图。
如图5所示,本发明实施例提出的网页版本校验装置包括:
文件遍历模块501,用于访问已上传网页文件所在的目标文件夹,对所述目标文件夹中存放的文件进行遍历;
摘要计算模块502,用于对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中;
字符拼接模块503,用于按预设规则对所述摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算,以获得摘要结果;
文件比对模块504,用于从服务器侧获取所述已上传网页文件对应的摘要文件,根据所述摘要结果对所述摘要文件进行版本校验,获取版本校验结果。
本实施例通过访问已上传网页文件所在的目标文件夹中所有的文件采用消息摘要算法计算对应的摘要字符串,能够保证计算出的摘要字符串与目标文件夹中的每一个文件一一对应,同时本实施例通过将摘要字符串写入目标文件夹对应的摘要字符串集中,按预设规则对摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算获得摘要结果;从而使得每一个网页文件只对应一个摘要结果,且只需要根据该摘要结果对服务器侧已上传网页文件对应的摘要文件进行版本校验,就可以检测出版本是否一致,相比于现有的耗费大量时间将网页文件逐一对比的校验方式,本实施例版本校验的效率以及准确性更高。
基于本发明上述网页版本校验装置第一实施例,提出本发明网页版本校验装置的第二实施例。
在本实施例中,所述摘要计算模块502,还用于对遍历到的文件进行文件标识提取,获得目标文件标识;获取所述目标文件标识的当前位长值,根据所述当前位长值判断是否需要对所述当前位长值进行补位;若是,则对所述当前位长值进行补位,并对补位后的当前位长值进行散列值计算以获取文件散列值;将所述文件散列值作为所述目标文件标识对应的摘要字符串,并将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中。
进一步地,所述摘要计算模块502,还用于对遍历到的文件进行文件标识提取,获得目标文件标识;通过预设哈希函数计算所述目标文件标识对应的校验值;将所述校验值作为所述目标文件标识对应的摘要字符串,并将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中。
进一步地,所述字符拼接模块503,还用于对所述摘要字符串集中的摘要字符串进行字典序排序,并根据排序结果对各摘要字符串进行拼接,获得目标字符串;采用所述消息摘要算法对所述目标字符串进行摘要计算,以获得摘要结果。
进一步地,所述字符拼接模块503,还用于获取所述目标字符串对应的目标位长值,检测所述目标位长值是否为预设位长值的整数倍;若否,则对所述目标位长值进行补位,以获得所述目标字符串对应的有效位长值;根据所述消息摘要算法对所述有效位长值进行摘要计算,以获得摘要结果。
进一步地,所述字符拼接模块503,还用于对所述摘要字符串集中的摘要字符串进行字典序排序,获得排序结果;获取各摘要字符串对应的属性值,根据所述属性值判断所述摘要字符串集中包含的所有摘要字符串是否满足预设拼接条件;若满足,则按所述预设规则对各摘要字符串进行拼接,获得目标字符串。
进一步地,所述字符拼接模块503,还用于在所述摘要字符串集中包含的所有摘要字符串不满足预设拼接条件时,提取不满足所述预设拼接条件的目标摘要字符串;对所述目标摘要字符串对应的目标属性值进行修改,以使所述摘要字符串集中各摘要字符串对应的属性值均满足所述预设拼接条件;按所述预设规则对各摘要字符串进行拼接,获得目标字符串。
本发明网页版本校验装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种网页版本校验方法,其特征在于,所述方法包括:
访问已上传网页文件所在的目标文件夹,对所述目标文件夹中存放的文件进行遍历;
对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中;
按预设规则对所述摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算,以获得摘要结果;
从服务器侧获取所述已上传网页文件对应的摘要文件,根据所述摘要结果对所述摘要文件进行版本校验,获取版本校验结果。
2.如权利要求1所述的方法,其特征在于,所述对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中的步骤,包括:
对遍历到的文件进行文件标识提取,获得目标文件标识;
获取所述目标文件标识的当前位长值,根据所述当前位长值判断是否需要对所述当前位长值进行补位;
若是,则对所述当前位长值进行补位,并对补位后的当前位长值进行散列值计算以获取文件散列值;
将所述文件散列值作为所述目标文件标识对应的摘要字符串,并将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中。
3.如权利要求1所述的方法,其特征在于,所述对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中的步骤,包括:
对遍历到的文件进行文件标识提取,获得目标文件标识;
通过预设哈希函数计算所述目标文件标识对应的校验值;
将所述校验值作为所述目标文件标识对应的摘要字符串,并将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中。
4.如权利要求1所述的方法,其特征在于,所述按预设规则对所述摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算,以获得摘要结果的步骤,包括:
对所述摘要字符串集中的摘要字符串进行字典序排序,并根据排序结果对各摘要字符串进行拼接,获得目标字符串;
采用所述消息摘要算法对所述目标字符串进行摘要计算,以获得摘要结果。
5.如权利要求4所述的方法,其特征在于,所述采用所述消息摘要算法对所述目标字符串进行摘要计算,以获得摘要结果的步骤之前,所述方法还包括:
获取所述目标字符串对应的目标位长值,检测所述目标位长值是否为预设位长值的整数倍;
若否,则对所述目标位长值进行补位,以获得所述目标字符串对应的有效位长值;
所述采用所述消息摘要算法对所述目标字符串进行摘要计算,以获得摘要结果的步骤,包括:
根据所述消息摘要算法对所述有效位长值进行摘要计算,以获得摘要结果。
6.如权利要求4所述的方法,其特征在于,所述对所述摘要字符串集中的摘要字符串进行字典序排序,并根据排序结果对各摘要字符串进行拼接,获得目标字符串的步骤,包括:
对所述摘要字符串集中的摘要字符串进行字典序排序,获得排序结果;
获取各摘要字符串对应的属性值,根据所述属性值判断所述摘要字符串集中包含的所有摘要字符串是否满足预设拼接条件;
若满足,则按所述预设规则对各摘要字符串进行拼接,获得目标字符串。
7.如权利要求6所述的方法,其特征在于,所述获取各摘要字符串对应的属性值,根据所述属性值判断所述摘要字符串集中包含的所有摘要字符串是否满足预设拼接条件的步骤之后,所述方法还包括:
若不满足,则提取不满足所述预设拼接条件的目标摘要字符串;
对所述目标摘要字符串对应的目标属性值进行修改,以使所述摘要字符串集中各摘要字符串对应的属性值均满足所述预设拼接条件;
按所述预设规则对各摘要字符串进行拼接,获得目标字符串。
8.一种网页版本校验装置,其特征在于,所述装置包括:
文件遍历模块,用于访问已上传网页文件所在的目标文件夹,对所述目标文件夹中存放的文件进行遍历;
摘要计算模块,用于对遍历到的文件采用消息摘要算法计算对应的摘要字符串,将所述摘要字符串写入所述目标文件夹对应的摘要字符串集中;
字符拼接模块,用于按预设规则对所述摘要字符串集中包含的摘要字符串进行拼接,并对拼接的摘要字符串进行摘要计算,以获得摘要结果;
文件比对模块,用于从服务器侧获取所述已上传网页文件对应的摘要文件,根据所述摘要结果对所述摘要文件进行版本校验,获取版本校验结果。
9.一种网页版本校验设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网页版本校验程序,所述网页版本校验程序配置为实现如权利要求1至7中任一项所述的网页版本校验方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有网页版本校验程序,所述网页版本校验程序被处理器执行时实现如权利要求1至7任一项所述的网页版本校验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910601447.7A CN110457628B (zh) | 2019-07-05 | 2019-07-05 | 网页版本校验方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910601447.7A CN110457628B (zh) | 2019-07-05 | 2019-07-05 | 网页版本校验方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110457628A CN110457628A (zh) | 2019-11-15 |
CN110457628B true CN110457628B (zh) | 2020-09-22 |
Family
ID=68482261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910601447.7A Active CN110457628B (zh) | 2019-07-05 | 2019-07-05 | 网页版本校验方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457628B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111126965B (zh) * | 2019-12-25 | 2023-08-29 | 深圳前海环融联易信息科技服务有限公司 | 审核规则优化方法、装置、计算机设备以及存储介质 |
CN111290998A (zh) * | 2020-02-12 | 2020-06-16 | 平安科技(深圳)有限公司 | 迁移数据的校对方法、装置、设备及存储介质 |
CN112650534A (zh) * | 2020-12-24 | 2021-04-13 | 深圳Tcl新技术有限公司 | 应用字符资源同步方法、系统及计算机可读存储介质 |
CN113505578B (zh) * | 2021-05-26 | 2024-07-30 | 中国再保险(集团)股份有限公司 | 用于台风巨灾模型的海量文件快速校验方法 |
CN113407213B (zh) * | 2021-06-21 | 2022-12-23 | 平安银行股份有限公司 | 资源包更新方法、装置、设备及存储介质 |
CN114564934B (zh) * | 2022-02-08 | 2024-03-22 | 北京时代正邦科技股份有限公司 | 一种软件程序版本差异分析方法、装置、设备及存储介质 |
CN115774990A (zh) * | 2023-02-10 | 2023-03-10 | 成都萌想科技有限责任公司 | 基于配置文件的RESTfulAPI对比方法、系统、设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003140969A (ja) * | 2001-10-31 | 2003-05-16 | Hitachi Ltd | コンテンツチェックシステムならびに同システムにおけるコンテンツの改竄検知方法、およびコンテンツチェックプログラム、記録媒体 |
JP2007257348A (ja) * | 2006-03-23 | 2007-10-04 | Ftl International:Kk | Webページ改竄検知システムと同システムを構成するWebサーバ |
CN103873493B (zh) * | 2012-12-10 | 2019-01-04 | 腾讯科技(深圳)有限公司 | 一种页面信息校验的方法、装置及系统 |
CN104539739B (zh) * | 2015-01-26 | 2019-03-29 | 浙江大学 | 一种文件上传的系统、方法及装置 |
CN106330817A (zh) * | 2015-06-17 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 一种网页访问方法、装置及终端 |
CN106874173B (zh) * | 2015-12-10 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 页面模板的测试方法和装置 |
CN107786529B (zh) * | 2016-08-31 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 网站的检测方法、装置及系统 |
CN106708927B (zh) * | 2016-11-18 | 2021-01-05 | 北京二六三企业通信有限公司 | 文件的去重处理方法和装置 |
CN106650504B (zh) * | 2016-12-28 | 2019-04-02 | 中国科学院计算技术研究所 | 一种针对Web页面数据的摘要提取方法及检测方法 |
CN107315791A (zh) * | 2017-06-14 | 2017-11-03 | 广州酷狗计算机科技有限公司 | 静态资源缓存方法、装置及计算机可读存储介质 |
-
2019
- 2019-07-05 CN CN201910601447.7A patent/CN110457628B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110457628A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457628B (zh) | 网页版本校验方法、装置、设备及存储介质 | |
CN108763928B (zh) | 一种开源软件漏洞分析方法、装置和存储介质 | |
CN110888838B (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
CN111314306A (zh) | 接口访问方法及装置、电子设备、存储介质 | |
CN104954353B (zh) | Apk文件包的校验方法和装置 | |
WO2016201819A1 (zh) | 检测恶意文件的方法和装置 | |
CN111901337B (zh) | 文件上传方法、系统及存储介质 | |
US20140033314A1 (en) | Validation of function call parameters | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN109582907A (zh) | 网页资源完整性的校验方法、装置、设备及可读存储介质 | |
CN109815112B (zh) | 基于功能测试的数据调试方法、装置及终端设备 | |
CN111897846A (zh) | 缓存数据校验方法、装置、设备及存储介质 | |
CN109255232B (zh) | 一种软件加载方法以及软件加载装置 | |
CN112052364B (zh) | 敏感信息检测方法、装置、设备与计算机可读存储介质 | |
CN111290998A (zh) | 迁移数据的校对方法、装置、设备及存储介质 | |
CN105760761A (zh) | 软件行为分析方法和装置 | |
CN107819748B (zh) | 一种抗破解的验证码实现方法及装置 | |
CN114185808A (zh) | 自动化测试方法、装置、电子设备及计算机可读存储介质 | |
CN111209029A (zh) | 一种代码修改确定方法、装置、电子设备及存储介质 | |
CN111783119B (zh) | 表单数据安全控制方法、装置、电子设备及存储介质 | |
CN112600864A (zh) | 一种验证码校验方法、装置、服务器及介质 | |
CN114978646B (zh) | 一种访问权限确定方法、装置、设备和存储介质 | |
CN109165512A (zh) | 一种应用程序的意图协议url漏洞检测方法及装置 | |
CN109740386A (zh) | 一种静态资源文件的检测方法及装置 | |
JP2019194832A (ja) | ウェブリソースの変更を検出するシステムおよび方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210202 Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Patentee after: Shenzhen saiante Technology Service Co.,Ltd. Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Patentee before: Ping An International Smart City Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |