文件的比较方法和装置、存储介质、电子装置
技术领域
本申请涉及互联网领域,具体而言,涉及一种文件的比较方法和装置、存储介质、电子装置。
背景技术
随着互联网行业的蓬勃发展,业务数据的准确性对于用户显得尤为重要,所以重要数据与相关数据比对,也成为很多应用系统的必备功能。但是,由于传统业务数据对比方法效率较低,且对数据库性能影响较大,所以需要一种快速对比方法查找出数据的差集异。
相关技术中的比较两个数据库表数据的方法包括以下步骤:从本系统或其他系统抽取需比对的两份数据;将查询到的数据保存到两个数据库表中,将作为比对基准数据库表称为主数据表,另一张表成为从数据表;从主从数据表中分别读取数据;逐条比对数据,获得比对结果;根据比对结果标记主从表的差集异记录。
发明人经过对相关技术的分析认识到,上述的比对方法效率需要逐行逐列比对两个数据库表的数据,执行效率较低,尤其是在主从表的数据量比较大的情况下,需要花费大量的时间。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种文件的比较方法和装置、存储介质、电子装置,以至少解决相关技术中数据比较的效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种文件的比较方法,包括:获取比较请求,其中,比较请求用于请求对第一文件和第二文件进行比较;将第一文件中的业务数据与第二文件中的业务数据进行比较,其中,第二文件中的第一业务数据不参与与第一文件中第二业务数据的比较,第一业务数据为与第一文件中第三业务数据比较过的业务数据,第三业务数据为在第二业务数据之前比较过的数据;响应于比较请求,返回第一文件与第二文件之间的比较结果。
根据本申请实施例的另一方面,还提供了一种文件的比较装置,包括:获取单元,用于获取比较请求,其中,比较请求用于请求对第一文件和第二文件进行比较;比较单元,用于将第一文件中的业务数据与第二文件中的业务数据进行比较,其中,第二文件中的第一业务数据不参与与第一文件中第二业务数据的比较,第一业务数据为与第一文件中第三业务数据比较过的业务数据,第三业务数据为在第二业务数据之前比较过的数据;反馈单元,用于响应于比较请求,返回第一文件与第二文件之间的比较结果。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,将所述第一文件中的业务数据与所述第二文件中的业务数据进行比较时,第二文件中已经参与过比较的业务数据不会继续参与后续的比较,也即比对过程中,两组数据只需要各遍历一次,可以尽可能减少每一轮比较时的比较次数,可以解决了相关技术中数据比较的效率较低的技术问题,进而达到减少资源开销、提高比较效率的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的文件的比较方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的文件的比较方法的流程图;
图3是根据本申请实施例的一种可选的文件的解密方法的流程图;
图4是根据本申请实施例的一种可选的文件的比较方法的流程图;
图5是根据本申请实施例的一种可选的待比较文件的示意图;
图6是根据本申请实施例的一种可选的待比较文件的示意图;
图7是根据本申请实施例的一种文件比较结果的示意图;
图8是根据本申请实施例的一种可选的文件的比较装置的示意图;以及
图9是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种文件的比较方法的方法实施例。
可选地,在本实施例中,上述文件的比较方法可以应用于如图1所示的由业务终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如数据比对服务等),可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑、业务服务器等。
本申请实施例的文件的比较方法可以由服务器103来执行,也可以由服务器103和终端101共同执行。图2是根据本申请实施例的一种可选的文件的比较方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,服务器获取比较请求,比较请求用于请求对第一文件和第二文件进行比较。
上述比较请求为第一业务终端发送的请求,第二业务终端为与第一业务终端存在关联的业务终端,如处理相同业务的终端,存储第一业务终端的备份数据的终端等。第一文件和第二文件为指定的待比较的文件,一般而言,是存在关联关系的文件,如保存相同数据源发送的业务数据的文件。
步骤S204,将第一文件中的业务数据与第二文件中的业务数据进行比较,第二文件中的第一业务数据不参与与第一文件中第二业务数据的比较,第一业务数据为与第一文件中第三业务数据比较过的业务数据,换言之,第一业务数据为在第一文件中已经找到了所匹配的第三业务数据的业务数据,第三业务数据为在第二业务数据之前比较过的数据。
上述第一文件和第二文件中业务数据的个数可以相同或者不同,后续以相同为例进行描述,在比较过程中,假设第一文件有a1、a2、a3、a4四个业务数据,第二文件有b1、b2、b3、b4四个业务数据,第一轮比较时,先可以从第一文件中任意取出一个数据,如a1(也可以是a2等),然后将a1与第二文件中的b1、b2、b3、b4四个业务数据逐个比较,假设b2是与a1相同的数据;第二轮比较时,再从第一文件中取出一个业务数据,如a2,此时第二文件中的b2就属于比较过的数据,不再参与第一轮之后的比较,此时,a2只需要与第二文件中的b1、b3、b4三个业务数据逐个比较,得到与a2匹配的业务数据;对于第一文件中的其他业务数据,比较方式与上述方式相同,不再赘述。
可选地,为了实现第二文件中的第一业务数据不参与与第一文件中第二业务数据的比较,可以将此处已经对比过的业务数据直接删除,也可以采用约定的标记将其注释掉,下次见到这个标记时不再对比,或者记录数据编号,只要记录过的数据编号均不再参与之后的对比。
上述第一文件为在第一业务终端上生成的目标业务的业务数据的文件,可以为主文件,可称为主文件,上述第二文件为在第二业务终端上生成的目标业务的业务数据的文件,可以为从文件,可称为从文件。
例如第一文件中业务数据的个数均为M,第二文件中业务数据的个数均为N,第一轮比较时,取第一文件中的第一个业务数据与第二文件中的业务数据逐个对比,直至对比到匹配的数据,对比的次数最多为N次,在本申请的技术方案中,第二轮比较时,会忽略掉第二文件中前一次比较时所匹配的数据,第二轮对比的次数最多为(N-1)次,依次类推,第P轮对比时对比的次数最多为(N+1-P)次,而相关技术中的技术方案,每轮比较的次数都是N次。
步骤S206,响应于比较请求,返回第一文件与第二文件之间的比较结果。
很多的业务产品需要做一些文件内容的比对,比方说,两个系统(即第一业务终端所在的系统和第二业务终端所在的系统)分别生成了同一个文件,或者生成的不同日期的不同文件,需要比较里面的内容的差异,这些文件的文本格式可以是多种多样的,譬如TXT、DOC、EXCEL、XML等格式,文件包括有文件头、文件体、文件尾,而且不同类型的文件的组成部分存在区别。
采用本申请的技术方案,可以比较出两个文件是存在差异的,或者确定两个文件是没有差异的,对于不同格式的文件,可以通过其文件头识别出来,然后读取位于文件头之后的文件体中的数据,通过上述步骤,将第一文件中的业务数据与第二文件中的业务数据进行比较时,第二文件中已经参与过比较的业务数据不会继续参与后续的比较,也即比对过程中,两组数据只需要各遍历一次,可以尽可能减少每一轮比较时的比较次数,可以解决了相关技术中数据比较的效率较低的技术问题,进而达到减少资源开销、提高比较效率的技术效果。
本方案可用于比较两个文件内容是否一致,可以通过配置规则灵活地比较内容中差异部分以及过滤掉不需要比较的内容(或者说是允许有差异的部分),并且可以自定义文件内容中顺序是否要求一致。比对过程中,两组数据只需要各遍历一次,可尽可能减少资源开销。大概的思路是:分别解析两个文件并加载内部存储器中;通过配置的比较规则,调用比对组件进行比较;比对完成后,将差异部分生成报表,并且报警。下面结合图2所示的步骤进一步详述本申请的技术方案。
在步骤S202提供的技术方案中,在将第一文件中的业务数据与第二文件中的业务数据进行比较之前,用户可以在本地的终端或者服务器提供的界面上,通过配置指令对比较方案等进行配置,如配置文件的位置,是否忽略业务数据的比较顺序、业务数据中待比较的目标字段等,此时会触发比较请求,服务器获取用户的比较请求。
在步骤S204提供的技术方案中,将第一文件中的业务数据与第二文件中的业务数据进行比较。
可选地,将第一文件中的业务数据与第二文件中的业务数据进行比较包括:获取线程配置信息中所配置的并行运行的线程的数量,配置信息中记录有用户配置的并行线程数量;按照线程配置信息所配置的数量开启多个线程,在多个线程上并行执行将第一文件中的业务数据与第二文件中的业务数据进行比较的操作。考虑到每个线程的处理流程类似,后续以一个线程的处理流程为例进行详述。
可选地,在将第一文件中的业务数据与第二文件中的业务数据进行比较之前,在第一文件为加密文件的情况下,获取对加密的第一文件进行解密的第一解密方案,此处获取的解密方案可以是用户从本地上传的、也可以是从提供的解密方案中选择的,使用第一解密方案对加密的第一文件进行解密,得到明文的第一文件;在第二文件为加密文件的情况下,获取对加密的第二文件进行解密的第二解密方案,使用第二解密方案对加密的第二文件进行解密,得到明文的第二文件。
可选地,将第一文件中的业务数据与第二文件中的业务数据进行比较包括如下步骤1至步骤3:
步骤1,不同类型的文件的组成部分存在区别,主要是指文件的文件头和文件尾不同,对于不同格式的文件,可按照第一文件的文件格式从第一文件中解析出第一内容,并按照第二文件的文件格式从第二文件中解析出第二内容,第一内容包括一个或多个待比较的业务数据,第二内容包括一个或多个待比较的业务数据;
步骤2,根据操作系统提供的加载调用函数,将第一内容和第二内容加载到内部存储器中,即执行上述步骤的主体(如服务器)的内部存储器,如其主存、内部缓存(如二级缓存L2、三级缓存L3)等,相较于外部存储而言,内部存储器读取、写入速度更快,从而可以提高比较效率。
步骤3,将从第一内容中读取的业务数据逐个地与从第二内容中读取的业务数据进行比较。
可选地,将从第一内容中读取的业务数据逐个地与从第二内容中读取的业务数据进行比较包括按照如下方式比较第一内容中的每个数据:从内部存储器上保存的第一内容中读取第四业务数据,其中,第四业务数据为待比较的业务数据;从内部存储器上保存的第二内容中查找与第四业务数据匹配的第五业务数据,数据一般有自己的数据编号,此处的匹配可以是指数据编号相同的业务数据,也可以是指排列顺序相同的业务数据;将第四业务数据与第五业务数据进行比较;将第五业务数据从第二内容中删除。
在上述方案中,将第四业务数据与第五业务数据进行比较包括:获取为第一文件和第二文件配置的比较方案,如所需忽略的字段、所需比较的字段等;按照比较方案对第四业务数据和第五业务数据进行比较。
在步骤S206提供的技术方案中,响应于比较请求,返回第一文件与第二文件之间的比较结果。
在本申请的比对方案中,只需要遍历一次,可将复杂度降低;在内存上比对时同时支持多线程计算,效率较高;支持人性化的自定义配置功能。
作为一种可选的实施例,下面结合具体的实施方式详述本申请的技术方案。具体的流程参见图3和图4。
可以在页面中进行比对的配置,页面的功能支持自定义,就是支持灵活的配置,可以配置很多功能的开闭。
对于用户而言,配置页面的操作是比较友好的,而且不需要针对不同的比较方案做定制化开发,针对不同的比较方案,仅需要在页面上相应的配置项指定待比较文件的路径和待比较文件的格式,以及需要比较的内容等等,然后就可以进行比较。
比如,比较两个文件时,是否要忽略这两个文件里面数据的顺序;再如,同样是两个文件,这两个文件都有100条数据,有些情场景是需要保证数据完全一致,有些场景则不需要保证数据完全一致;另外,针对同样的一条数据,解析出来以后是100个字段,但是可以允许有部分字段存在差异,这部分字段是对业务产品是没有用的,不需要比对的,这种功能的开关也可以在配置页面里面进行配置,就是指定哪些字段不需要比对,哪些字段需要比对。
在配置界面,还可以配置比较过程所开启的线程数量。在配置完成之后就可以开始比对,若数据为加密的,可以按照图3所示的步骤进行解密:
步骤S302,用户从所支持的多种加密方式中选择所使用的加密方式;
步骤S304,判断是否需要密钥,若是则执行步骤S308,否则执行步骤S306;
步骤S306,判断是否采用了特殊的加密算法,若是则执行步骤S310,否则执行步骤S312;
步骤S308,用户上传密钥;
步骤S310,用户上传加密算法代码;
步骤S312,进行解密。
在完成解密后,将两个文件传到内存中进行解析,根据配置界面定义的文件格式,确定哪部分是文件头、文件体等,分别解析出来进行比较,由于是在内存当中进行比较,效率极高。具体可以参考图4所示的步骤:
步骤S402,对文件A进行解析;
步骤S404,将对文件A进行解析得到的数据放入内存;
步骤S406,对文件B进行解析;
步骤S408,将对文件B进行解析得到的数据放入内存;
步骤S410,检查规则配置,允许差异配置,调用组件,在内存检查每一条数据;
步骤S412,判断数据是否一致,若是则执行步骤S416,否则执行步骤S414;
步骤S414,生成差异报表;
步骤S416,输出对比结果。
本方案的亮点是可以根据配置界面上指定的线程数量,开多个线程来进行文件比较处理,因为每个机器的性能不一样,需要开多少个线程来处理,可以在配置界面根据机器性能自主配置,从而达到最大化利用机器性能的目的。
例如,在一台设备上进行文件比较处理时,开了十个线程来比较100个文件,这100个文件里面总共的业务数据超过了1000万条,在一分多钟的时间内能够全部比对完成;若是采用单线程的方式耗时则会超过10分钟。
另外就是本方案比较过程效率较高,两个文件(如图5和图6所示)只需要解析、比较一次即可,A文件(比对文件一)每次会去和B(比对文件二)文件比较,如果能比对成功,那么就把B文件当中与A文件中目标业务数据相同的这条业务数据删掉,一直到A文件中的业务数据全部遍历完成以后,如果B文件的业务数据也全都被删完了,那就说明A文件和B文件的条数是一致的,内容也都能比对得上,如果说B文件还存在剩余的业务数据,那这就说明两个文件是不一致的,比对完成以后会生成一个比对结果的报表,报表中会把比对结果中存在差异的部分全部都友好的展示出来,如图7所示,示出了对比文件的名称、是否加密、是否有忽略的字段部分等信息。
在比较的过程中,如果说发现某一条业务数据是比较出有差异了,那么就可以按照配置界面预先配置的功能来确定是要继续比对剩余业务数据,还是只要遇到比对不成功的就停止比对。
有很多文件是有加密的,只要设置的加密的规则和算法,程序就会自动的进行加解密。完成一个文件的比对后,在进入一个新的文件时不需要做定制化开发,只需要在后台界面简单配置即可。
采用本申请的技术方案,效率高,就体现在是在内存中计算,且算法导致每轮只需要遍历一次就行了;配置功能特别强大且对用户特别友好;这个方案属于创新型方案,发明人调研过,目前市场上没有这类工具。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述文件的比较方法的文件的比较装置。图8是根据本申请实施例的一种可选的文件的比较装置的示意图,如图8所示,该装置可以包括:
获取单元801,用于获取比较请求,其中,所述比较请求用于请求对第一文件和第二文件进行比较;
比较单元803,用于将所述第一文件中的业务数据与所述第二文件中的业务数据进行比较,其中,所述第二文件中的第一业务数据不参与与所述第一文件中第二业务数据的比较,所述第一业务数据为与所述第一文件中第三业务数据比较过的业务数据,所述第三业务数据为在所述第二业务数据之前比较过的数据;
反馈单元805,用于响应于所述比较请求,返回所述第一文件与所述第二文件之间的比较结果。
需要说明的是,该实施例中的获取单元801可以用于执行本申请实施例中的步骤S202,该实施例中的比较单元803可以用于执行本申请实施例中的步骤S204,该实施例中的反馈单元805可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,将所述第一文件中的业务数据与所述第二文件中的业务数据进行比较时,第二文件中已经参与过比较的业务数据不会继续参与后续的比较,也即比对过程中,两组数据只需要各遍历一次,可以尽可能减少每一轮比较时的比较次数,可以解决了相关技术中数据比较的效率较低的技术问题,进而达到减少资源开销、提高比较效率的技术效果。
可选地,比较单元还可用于:按照所述第一文件的文件格式从所述第一文件中解析出第一内容,并按照所述第二文件的文件格式从所述第二文件中解析出第二内容,其中,所述第一内容包括一个或多个待比较的业务数据,所述第二内容包括一个或多个待比较的业务数据;将所述第一内容和所述第二内容加载到内部存储器中;将从所述第一内容中读取的业务数据逐个地与从所述第二内容中读取的业务数据进行比较。
可选地,比较单元还可用于:按照如下方式比较所述第一内容中的每个数据:从所述内存上保存的所述第一内容中读取第四业务数据,其中,所述第四业务数据为待比较的业务数据;从所述内存上保存的所述第二内容中查找与所述第四业务数据匹配的第五业务数据;将所述第四业务数据与所述第五业务数据进行比较;将所述第五业务数据从所述第二内容中删除。
可选地,比较单元还可用于:获取为所述第一文件和所述第二文件配置的比较方案;按照所述比较方案对所述第四业务数据和所述第五业务数据进行比较。
可选地,本申请的装置还可包括:配置单元,用于在将所述第一文件中的业务数据与所述第二文件中的业务数据进行比较之前,接收配置指令,其中,所述配置指令用于配置所述比较方案,所述比较方案包括业务数据的比较顺序和业务数据中待比较的目标字段中的至少之一。
可选地,比较单元还可用于:获取线程配置信息中所配置的并行运行的线程的数量;按照所述线程配置信息所配置的数量开启多个线程,在所述多个线程上并行执行将所述第一文件中的业务数据与所述第二文件中的业务数据进行比较的操作。
可选地,本申请的装置还可包括:解密单元,在将所述第一文件中的业务数据与所述第二文件中的业务数据进行比较之前,在所述第一文件为加密文件的情况下,获取对加密的所述第一文件进行解密的第一解密方案,使用所述第一解密方案对加密的所述第一文件进行解密,得到明文的所述第一文件;在所述第二文件为加密文件的情况下,获取对加密的所述第二文件进行解密的第二解密方案,使用所述第二解密方案对加密的所述第二文件进行解密,得到明文的所述第二文件。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述文件的比较方法的服务器或终端。
图9是根据本申请实施例的一种终端的结构框图,如图9所示,该终端可以包括:一个或多个(图9中仅示出一个)处理器901、存储器903、以及传输装置905,如图9所示,该终端还可以包括输入输出设备907。
其中,存储器903可用于存储软件程序以及模块,如本申请实施例中的文件的比较方法和装置对应的程序指令/模块,处理器901通过运行存储在存储器903内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的文件的比较方法。存储器903可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器903可进一步包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置905用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置905包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置905为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器903用于存储应用程序。
处理器901可以通过传输装置905调用存储器903存储的应用程序,以执行下述步骤:
获取比较请求,其中,比较请求用于请求对第一文件和第二文件进行比较;
将第一文件中的业务数据与第二文件中的业务数据进行比较,其中,第二文件中的第一业务数据不参与与第一文件中第二业务数据的比较,第一业务数据为与第一文件中第三业务数据比较过的业务数据,第三业务数据为在第二业务数据之前比较过的数据;
响应于比较请求,返回第一文件与第二文件之间的比较结果。
处理器901还用于执行下述步骤:
按照第一文件的文件格式从第一文件中解析出第一内容,并按照第二文件的文件格式从第二文件中解析出第二内容,其中,第一内容包括一个或多个待比较的业务数据,第二内容包括一个或多个待比较的业务数据;
将第一内容和第二内容加载到内部存储器中;
将从第一内容中读取的业务数据逐个地与从第二内容中读取的业务数据进行比较。
采用本申请实施例,提供了一种“获取比较请求,比较请求用于请求对第一文件和第二文件进行比较;将第一文件中的业务数据与第二文件中的业务数据进行比较,第二文件中的第一业务数据不参与与第一文件中第二业务数据的比较,第一业务数据为与第一文件中第三业务数据比较过的业务数据,第三业务数据为在第二业务数据之前比较过的数据;响应于比较请求,返回第一文件与第二文件之间的比较结果”的方案。将所述第一文件中的业务数据与所述第二文件中的业务数据进行比较时,第二文件中已经参与过比较的业务数据不会继续参与后续的比较,也即比对过程中,两组数据只需要各遍历一次,可以尽可能减少每一轮比较时的比较次数,可以解决了相关技术中数据比较的效率较低的技术问题,进而达到减少资源开销、提高比较效率的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图9所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,终端还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行文件的比较方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取比较请求,其中,比较请求用于请求对第一文件和第二文件进行比较;
将第一文件中的业务数据与第二文件中的业务数据进行比较,其中,第二文件中的第一业务数据不参与与第一文件中第二业务数据的比较,第一业务数据为与第一文件中第三业务数据比较过的业务数据,第三业务数据为在第二业务数据之前比较过的数据;
响应于比较请求,返回第一文件与第二文件之间的比较结果。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
按照第一文件的文件格式从第一文件中解析出第一内容,并按照第二文件的文件格式从第二文件中解析出第二内容,其中,第一内容包括一个或多个待比较的业务数据,第二内容包括一个或多个待比较的业务数据;
将第一内容和第二内容加载到内部存储器中;
将从第一内容中读取的业务数据逐个地与从第二内容中读取的业务数据进行比较。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。