[发明专利]文件差异比较方法、存储介质、电子设备及系统在审
申请号: | 201710640044.4 | 申请日: | 2017-07-31 |
公开(公告)号: | CN107463541A | 公开(公告)日: | 2017-12-12 |
发明(设计)人: | 黄雅琴;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22;G06F9/44 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙)42225 | 代理人: | 张凯 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 差异 比较 方法 存储 介质 电子设备 系统 | ||
技术领域
本发明涉及软件技术领域,具体涉及一种文件差异比较方法、存储介质、电子设备及系统。
背景技术
目前,diff比较文件差异功能被广泛使用,在Linux系统便可以直接调用diff命令进行相关的操作,同时版本控制工具git也可以直接调用相关的diff命令来对文件版本的差异进行比较操作。
但在浏览器环境,具体的在浏览器的web端(网页端)应用程序中,由于JavaScript语言的单线程语言特性限制,当浏览器进行大数据量的计算操作时,其它线程的工作便会被阻塞掉,例如,当浏览器进行大数据量的diff文件差异比对工作时,即浏览器中的js执行脚本进行diff差异比对时,浏览器的渲染任务线程便会被阻塞,此时浏览器的显示界面便会出现卡顿的情况,影响用户对浏览器的使用体验。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种文件差异比较方法,提高文本比对速度和保证文本比对结果的正常展示,本发明还提供一种文件差异比较系统,能够有效保证文本比对结果的正常展示。
为达到以上目的,本发明采取的技术方案是,包括:
S1:按行获取新老文件的文本数据,并将获取的新老文件的文本数据按行进行对应,形成多个对比对;
S2:获取浏览器所有未被使用的线程,同时将所有对比对均分成多个等份并标序,每个等份含有预设对数的对比对;
S3:依次给获取的每一个线程分配一等份对比对;
S4:根据diff算法,单个线程依次对一等份对比对中的每一对对比对的文本数据进行比对处理,并且当一线程对一等份中所有对比对处理完毕,按序将还未分配的一等份对比对分配给该线程进行处理,依此类推,直至所有等份中的对比对处理完毕;
S5:JavaScript语言渲染比对结果并展示。
在上述技术方案的基础上,
所述新老文件的文本数据保存于文本框中;
所述文本框中每行文本数据的末尾均含有一换行符。
在上述技术方案的基础上,根据每行文本数据末尾的换行符,获取新老文件的每一行文本数据。
在上述技术方案的基础上,按照每行文本数据的获取顺序,依次对每一对对比对进行排序;
按照每一等份对比对的标序,将每相邻两等份对比对划分为一组。
在上述技术方案的基础上,以组为单位,待每组内两等份对比对均比对处理完成,按照每等份的标序顺序,对所有等份对比对的比对结果进行排序。
本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。
本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的方法。
本发明还提供一种文件差异比较方法系统,包括:
获取模块,其用于按行获取新老文件的文本数据,并将获取的新老文件的文本数据按行进行对应,形成多个对比对,所述获取模块还用于获取浏览器所有未被使用的线程;
划分模块,其用于将所有对比对均分成多个等份并标序,且每个等份含有预设对数的对比对,同时依次给获取的每一个线程分配一等份对比对;
比对执行模块,其用于根据diff算法,进行单个线程依次对一等份对比对中的每一对对比对的文本数据的比对处理,并且当一线程对一等份中所有对比对处理完毕,则按序将还未分配的一等份的对比对分配给该线程进行处理,依此类推,直至所有等份中的对比对处理完毕;
展示模块,其用于展示每对对比对的比对结果。
在上述技术方案的基础上,
所述新老文件的文本数据保存于文本框中;
所述文本框中每行文本数据的末尾均含有一换行符。
在上述技术方案的基础上,根据每行文本数据末尾的换行符,获取模块获取新老文件的每一行文本数据。
与现有技术相比,本发明的优点在于:利用浏览器的多线程处理技术,将大数据量的处理工作细分为单个小工作量的处理任务,并交由单个线程进行处理,达到对浏览器资源充分利用的目的,同时也有效地提高了新老文件文本数据的比对速度,且基于当浏览器在进行比对处理任务时会阻塞渲染线程任务的考虑,因而待所有的文本数据比对完成后,最后由JavaScript语言对比对结果进行渲染和输出,保证比对结果在浏览器中的正常输出和展示。
附图说明
图1为本发明一种文件差异比较方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710640044.4/2.html,转载请声明来源钻瓜专利网。