CN109635228B - 有序数组间差异度的确定方法、装置、设备及存储介质 - Google Patents

有序数组间差异度的确定方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109635228B
CN109635228B CN201811493791.0A CN201811493791A CN109635228B CN 109635228 B CN109635228 B CN 109635228B CN 201811493791 A CN201811493791 A CN 201811493791A CN 109635228 B CN109635228 B CN 109635228B
Authority
CN
China
Prior art keywords
array
source array
difference
ordered
source
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
Application number
CN201811493791.0A
Other languages
English (en)
Other versions
CN109635228A (zh
Inventor
火一莽
刘超
万月亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ruian Technology Co Ltd
Original Assignee
Beijing Ruian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Ruian Technology Co Ltd filed Critical Beijing Ruian Technology Co Ltd
Priority to CN201811493791.0A priority Critical patent/CN109635228B/zh
Publication of CN109635228A publication Critical patent/CN109635228A/zh
Application granted granted Critical
Publication of CN109635228B publication Critical patent/CN109635228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Abstract

本发明实施例中公开了一种有序数组间差异度的确定方法、装置、设备及存储介质。所述方法包括:依据有序数组的长度,将两个有序数组设置为源数组和待比较数组,针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度,依据各个源数组元素的差异度,确定两个有序数组间的差异度。利用本发明实施例的技术方案,能够支持对不等长有序数组的差异程度进行比对,并能够针对不等长有序数组提供基于位置的差异度计算,实现从不同位置的数据的差异程度对整组数据的差异程度进行分析。

Description

有序数组间差异度的确定方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种有序数组间差异度的确定方法、装置、设备及存储介质。
背景技术
在许多领域,均涉及到对同一事物在不同条件下的反馈进行比较,并以此来判断事物是否处于正常的发展规律的情况。例如,在互联网行业,监控用户在最近一段时间的经常访问的网站与用户在最近一年的经常访问的网站之间的相似性进行比较,以此来判断用户的访问规律的差异性。
目前,常见的相似度算法主要包括:余弦相似度算法、皮尔逊相关系数算法和Tanimoto分值等。通过上述各相似度计算方法可以计算同一事物在不同条件下的相似情况,进而得到同一事物在不同条件下的差异性,从而可以根据同一事物在不同条件下的差异性判断事物是否处于正常的发展规律。
但是,对于上述各相似度计算方法而言,通过皮尔逊相关系数算法计算相似度时有一定的约束条件,两个变量间必须有线性关系且变量是连续变量;通过Tanimoto分值算法计算相似度时只能从整体的角度来计算两个集合之间的相似程度,进而依据相似程度从整体的角度来确定两个集合之间的差异程度。同时,上述各相似度计算方法均无法对不等长字符串数组的相似度计算,从而无法对不等长字符串数组的差异程度进行确定。
发明内容
鉴于上述问题,在本发明实施例中提供了一种克服上述问题或者至少部分地解决上述问题的有序数组间差异度的确定方法、装置、设备及存储介质,能够支持对不等长有序数组的差异程度进行比对,并能够针对不等长有序数组提供基于位置的差异度计算。
第一方面,本发明实施例中提供了一种有序数组间差异度的确定方法,包括:
依据有序数组的长度,将两个有序数组设置为源数组和待比较数组;
针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度;
依据各个源数组元素的差异度,确定两个有序数组间的差异度。
第二方面,本发明实施例中还提供了一种有序数组间差异度的确定装置,包括:
数组设置模块,用于依据有序数组的长度,将两个有序数组设置为源数组和待比较数组;
元素差异度确定模块,用于针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度;
数组差异度确定模块,用于依据各个源数组元素的差异度,确定两个有序数组间的差异度。
第三方面,本发明实施例中还提供了一种设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中提供的有序数组间差异度的确定方法。
第四方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例中提供的有序数组间差异度的确定方法。
本发明实施例中提供了一种有序数组间差异度的确定方法,依据有序数组的长度,将两个有序数组设置为源数组和待比较数组,针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度,依据各个源数组元素的差异度,确定两个有序数组间的差异度。利用本发明实施例的技术方案,能够支持对不等长有序数组的差异程度进行比对,并能够针对不等长有序数组提供基于位置的差异度计算,实现从不同位置的数据的差异程度对整组数据的差异程度进行分析。
上述发明内容仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中提供的一种有序数组间差异度的确定方法的流程示意图;
图2是本发明实施例中提供的另一种有序数组间差异度的确定方法的流程示意图;
图3是本发明实施例中提供的一种有序数组间差异度的确定装置的结构示意图;
图4是本发明实施例中提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1是本发明实施例中提供的一种有序数组间差异度的确定方法的流程示意图,本实施例可适用于对同类型的两组数据的差异程度进行比较的情况,例如,对同一事物在不同条件下的反馈进行比较,并以此来判断事物是否处于正常发展规律的场景。具体例如,监控用户最近一段时间与之前一段时间访问网站的差异性变化程度,以此来判断用户访问网站的规律是否发生变化。该方法可以由有序数组间差异度的确定装置来执行,该装置可以采用软件和/或硬件的方式实现,并集成在任何具有网络通信功能的设备上。可选的,该设备可以为终端设备或服务器,其中,终端设备可以包括但不限于手机、平板电脑等。
如图1所示,本发明实施例的有序数组间差异度的确定方法可以包括:
S101、依据有序数组的长度,将两个有序数组设置为源数组和待比较数组。
在本实施例中,有序数组可以是一种特殊的数组,在有序数组中的元素可以按照一定的顺序排列。有序数组中的各元素在有序数组中均可以设置有相应的位置编号。有序数组中的数组元素可以用整个有序数组的名称和数组元素本身在有序数组中的顺序号来表示。其中,可以按照一定的规则对数组元素本身在有序数组中的顺序号进行设置。例如,a[0]表示名称为a的有序数组中的第一个元素,a[0]的标量“0”表示为a[0]在有序数组a的顺序号;a[1]表示有序数组a的第二个元素,a[1]的标量“1”表示为a[1]在有序数组a的顺序号;a[2]表示有序数组a的第三个元素,a[2]的标量“2”表示为a[2]在有序数组a的顺序号;a[3]表示有序数组a的第四个元素,a[3]的标量“3”表示为a[3]在有序数组a的顺序号,并以此类推。
在本实施例中,可选的,有序数组中的各个元素可以按照数组元素本身在有序数组中的顺序号进行排序,进而有序数组中各元素在有序数组中的位置可以为采用元素在有序数组中的排列次序来进行表示。例如,a[0]表示名称为a的有序数组中的第一个元素,a[0]在有效数组a中的排列次序为“1”,相应的a[0]在有效数组a中的位置为“1”;a[1]表示有序数组a的第二个元素,a[1]在有效数组a中的排列次序为“2”,相应的a[1]在有效数组a中的位置为“2”;a[2]表示有序数组a的第三个元素,a[2]在有效数组a中的排列次序为“3”,相应的a[2]在有效数组a中的位置为“3”,并以此类推。可见,有序数组中数组元素的顺序号加上1可以记为该数组元素在有效数组中的位置。其中,有序数组中各个数组元素的顺序号是连续的。
在本实施例中,有序数组可以是需要进行差异度比较的事件数据,有序数组中包括的各个数组元素可以是需要进行差异度比较的事件数据中包括的各个事件子数据。示例性的,在监控用户访问网站地址的实际应用场景中,如果按照用户访问网站地址的次数对用户访问地址进行排序得到的一组访问网站地址的数据,那么该组访问网站地址的数据可以作为本实施例的有序数组,相应的该组访问网站地址的数据中包括的各个网站地址可以作为有序数组中的各个数组元素。需要说明的是,本实施例中提供的实际应用场景仅仅是一种示例,本实施例中的有序数组间差异度的确定方法还可以应用在其他对同类型的两组数据进行差异度比较的实际场景中,而不仅限于本实施例中提供的监控用户访问网站地址的实际应用场景。
在本实施例中,从需要进行差异度比较的各个有序数组中可以任意取出两个有序数组,并采用本实施例的技术方案对任意取出的两个有序数组间的进行差异度的确定。需要进行差异度确定的两个有序数组的元素数据属于同一数据类型。例如,以监控用户访问网站地址的应用场景为例,需要进行差异度比较的两个有序数组分别为:第一有序数组和第二有序数组。其中,第一有序数组为:a[0]、a[1]、a[2]、……、a[9]、a[10],第二有序数组为:b[0]、b[1]、b[2]、b[3]、……、b[18]、b[19]。在确定两个有序数组的差异度时,需要两个有序数组的数据类型相同才可以对两个有序数组进行差异度比较,具体比如需要第一有序数组中包括的元素数据a[i]的数据类型与第二有序数组中包括的元素数据b[j]的数据类型是相同的。
在本实施例中,有序数组间差异度可以反映两个数组之间的相似程度。两个有序数组间的差异度越小,表明两个有序数组越相似,此时两个有序数组之间存在相似的发展规律;两个有序数组间的差异度越大,表明两个有序数组的相似较低,此时两个有序数组之间的发展规律发生了偏离。此外,为了更好地确定两个有序数组之间的差异度,可以依据两个有序数组的长度,分别将两个有序数组设置为源数组和待比较数组,以便通过对源数组和待比较数组之间的差异性分析,确定两个有序数组间的差异度。
在本实施例的一种可选实施方式中,依据有序数组的长度,将两个有序数组设置为源数组和待比较数组,可以包括:
确定两个有序数组中第一有序数组的长度和第二有序数组的长度;
若第一有序数组的长度小于第二有序数组的长度,则将第一有序数组设置为源数组和将第二有序数组设置为待比较数组。
在本实施方式中,需要进行有序数组间差异度确定的两个有序数组的长度可以相同,也可以不相同。本实施例的技术方案既可以对两个不等长有序数组的差异度进行确定,又可以对两个等长有序数组的差异度进行确定。有序数组的长度可以是指有序数组中数组元素的个数,比如,如果有序数组中包括8个数组元素,那么该有序数组的长度则为8。
在本实施方式中,从各个有序数组中选取任一对需要进行差异度分析的两个有序数组,分别为第一有序数组和第二有序数组,并确定两个有序数组中第一有序数组的长度和第二有序数组的长度。在确定第一有序数组和第二有序数组的长度之后,可以依据第一有序数组的长度和第二有序数组的长度,将两个有序数组设置为源数组和待比较数组。在一个可选示例中,可以判断第一有序数组和第一有序数组的长度大小关系,若第一有序数组的长度小于第二有序数组的长度,则将第一有序数组设置为源数组和将第二有序数组设置为待比较数组;若第一有序数组的长度大于第二有序数组的长度,则将第一有序数组设置为待比较数组和将第二有序数组设置为源数组。上述技术方案的目的是将两个有序数组中长度较短的设置为源数组,将长度较长的设置为待比较数组,可以方便后续在对两个有序数组差异性分析时,将源数组中的元素逐个与待比较数组中的元素进行比对分析。需要说明的是,上述的第一有序数组和第二有序数组本身是一种代指,可以指从各个有序数组中选取的任意两个有序数组,并不特指某一个有序数组。
S102、针对源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度。
在本实施例中,在将两个有序数组设置为源数组和待比较数组后,源数组中可以包含多个源数组元素,待比较数组也可以包含多个待比较数组元素,待比较数组中的待比较数组元素的类型与源数组中的源数组元素的类型相同,且待比较数组中的待比较数组元素的个数大于源数组中源数组元素的个数。通过遍历源数组中的每一个源数组元素,将源数组中的每一个源数组元素与待比较数组中位于同位置的数组元素进行比较判断。
示例性的,以监控用户访问网站地址的应用场景为例,源数组中的源数组元素为:a[0]、a[1]、a[2]、a[3]、a[4]、a[5],其中,源数组中的源数组元素已经按照一定的规则进行有序排列,每一个源数组元素可以表示用户在第一时间段的某一访问网站地址;待比较数组中的待比较数组元素为:b[0]、b[1]、b[2]、b[3]、b[4]、b[5]、b[6]、b[7]、b[8],其中,待比较数组中的待比较数组元素已经按照一定的规则进行有序排列,每一个待比较数组元素可以表示用户在第二时间段的某一访问网站地址。此外,a[0]在源数组中的位置与b[0]在待比较数组中的位置相同,可以记为“1”;a[1]在源数组中的位置与b[1]在待比较数组中的位置相同,可以记为“2”,并以此类推。具体操作过程可以为,通过遍历整个源数组中的各个源数组元素,针对源数组中的a[0],将源数组中的a[0]与待比较数组中的b[0]进行比较,确定a[0]与b[0]是否相同,并依据比较结果确定源数组中a[0]的差异度;针对源数组中的a[1],将源数组中的a[1]与待比较数组中的b[1]进行比较,确定a[1]与b[1]是否相同,并依据比较结果确定源数组中a[1]的差异度,依次类推针对源数组中其他的源数组元素执行与上述相似的操作。此时,可以针对源数组中的每一源数组元素,依据每一源数组元素与待比较数组中同位置的数组元素的比较结果,确定每一源数组元素所匹配的差异度。
S103、依据各个源数组元素的差异度,确定两个有序数组间的差异度。
在本实施例中,在得到源数组中各个源数组元素所匹配的差异度后,可以依据得到的各个源数组元素所匹配的差异度综合分析整个源数组与整个待比较数组之间的差异度,既可以确定两个有序数组间的差异度。在应用到实际场景后,同一事件在不同条件下有不同的反馈结果,而反馈结果可以采用不同的有序数组进行表示。通过本实施例的技术方案可以对有序数组间的差异度大小进行分析确定,并根据有序数组间的差异度的大小来判断事件是否处于正常的发展规律。
本发明实施例中提供了一种有序数组间差异度的确定方法,包括:依据有序数组的长度,将两个有序数组设置为源数组和待比较数组,针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度,依据各个源数组元素的差异度,确定两个有序数组间的差异度。本发明实施例的技术方案解决了传统算法中无法对不等长有序数组进行差异度确定的缺陷,能够支持对不等长有序数组的差异程度进行比对,并能够针对不等长有序数组提供基于位置的差异度计算,实现从不同位置的数据元素的差异程度对整组数据的差异程度进行分析的效果。
图2是本发明实施例中提供的另一种有序数组间差异度的确定方法的流程示意图,本发明实施例在上述实施例的基础上进行优化,本发明实施例可以与上述一个或者多个实施例中各个可选方案结合。如图2所示,本发明实施例中的有序数组间差异度的确定方法可以包括:
S201、依据有序数组的长度,将两个有序数组设置为源数组和待比较数组。
在上述实施例基础上,可选的,依据有序数组的长度,将两个有序数组设置为源数组和待比较数组,可以包括:确定两个有序数组中第一有序数组的长度和第二有序数组的长度;若第一有序数组的长度小于第二有序数组的长度,则将第一有序数组设置为源数组和将第二有序数组设置为待比较数组。
S202、针对源数组中的每一源数组元素,将该源数组元素与待比较数组中同位置的数组元素的进行比较。
在本实施例中,在将两个有序数组设置为源数组和待比较数组后,源数组中可以包含多个源数组元素,待比较数组也可以包含多个待比较数组元素,待比较数组中的待比较数组元素的类型与源数组中的源数组元素的类型相同,且待比较数组中的待比较数组元素的个数大于源数组中源数组元素的个数。通过遍历源数组中的每一个源数组元素,针对源数组中的每一源数组元素,将源数组中的每一个源数组元素与待比较数组中位于同位置的数组元素进行比较,判断源数组中的每一个源数组元素与待比较数组中位于同位置的数组元素是否为相同的元素。具体地,将该源数组元素与待比较数组中同位置的数组元素的进行比较的过程与上述实施例中依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度的过程相似,这里不再加以赘述。
S203、若该源数组元素与待比较数组中同位置的数组元素不相同,则查询该源数组元素在待比较数组中其他位置的出现情况。
在本实施例中,针对源数组中的源数组元素,若该源数组元素与待比较数组中同位置的数组元素相同,则不再进行其他处理,直接设置该源数组元素所匹配的差异度为零,并针对源数组中其他源数组元素继续进行比较。针对源数组中的源数组元素,若该源数组元素与待比较数组中同位置的数组元素不相同,则继续查询该源数组元素在待比较数组中其他位置是否出现。可选的,若该源数组元素与待比较数组中同位置的数组元素不相同,则可以依据该源数组元素遍历待比较数组中的全部待比较数组元素,查询在待比较数组中的其他位置处是否存在与该源数组元素相同的待比较数组元素。
S204、依据该源数组元素的出现情况,计算该源数组元素的差异度。
在本实施例中,在查询确定源数组元素在待比较数组中其他位置的出现情况后,可以依据该源数组元素的出现情况,计算该源数组元素的差异度。
在本实施例的一种可选实施方式中,依据该源数组元素的出现情况,计算该源数组元素的差异度,可以包括:
若该源数组元素出现在待比较数组的其他位置,则依据该源数组元素在源数组中的位置和与该源数组元素相同的元素在待比较数组中的位置,计算该源数组元素的差异度;
若该源数组元素未出现在待比较数组的其他位置,则依据该源数组元素在源数组中的位置,计算该源数组元素的差异度。
在本实施方式中,若查询到该源数组元素出现在待比较数组的其他位置,则确定该源数组元素在源数组中的位置和确定与该源数组元素相同的待比较数组元素在待比较数组中的位置。该源数组元素在源数组中的位置可以理解为源数组元素本身在源数组中的顺序位置,待比较数组元素在待比较数组中的位置可以理解为待比较数组元素本身在待比较数组中的顺序位置。具体地,关于数组元素在有序数组中的位置的含义,与上述实施例中有序数组元素“a[0]”和有序数组元素“a[1]”的解释说明相同或相似,这里不再加以赘述。
在本实施方式中,在确定该源数组元素在源数组中的位置和确定与该源数组元素相同的待比较数组元素在待比较数组中的位置后,可以依据该源数组元素在源数组中的位置和与该源数组元素相同的待比较数组元素在待比较数组中的位置,计算该源数组元素的差异度。具体可以为:依据该源数组元素在源数组中的位置和与该源数组元素相同的元素在待比较数组中的位置,对该源数组元素在源数组中的位置和该源数组元素相同的待比较数组元素在待比较数组中的位置进行绝对值差值计算,得到该源数组元素和与该源数组元素相同的待比较数组元素之间的位差值,并依据该位差值计算该源数组元素的差异度。以源数组中的各个源数组元素为a[i],以及待比较数组中的各个待比较数组元素为b[j]为例,a[i]在源数组中的位置可以为“i+1”,b[j]在待比较数组中的位置可以为“j+1”,从而可以依据该源数组元素在源数组中的位置和与该源数组元素相同的待比较数组元素在待比较数组中的位置,计算该源数组元素的差异度。
在本实施方式中,可选的,在得到该源数组元素和与该源数组元素相同的待比较数组元素之间的位差值后,可以计算该位差值与待比较数组的长度之间比值,得到相对位差分值;进而依据该相对位差分值、源数组的长度以及该源数组元素在源数组的位置,计算该源数组元素的差异度。进一步可选的,可以采用公式:该源数组元素的差异度=相对位差分值*(源数组的长度+1-该源数组元素在源数组的位置)=(位差值/待比较数组的长度)*(源数组的长度+1—该源数组元素在源数组的位置),计算该源数组元素的差异度。
在本实施方式中,若查询到该源数组元素未出现在待比较数组的其他位置,则确定该源数组元素在源数组中的位置。该源数组元素在源数组中的位置可以理解为源数组元素本身在源数组中的顺序位置。进一步,可以依据该源数组元素在所述源数组中的位置,计算该源数组元素的差异度。具体过程可以为:采用公式:该源数组元素的差异度=(源数组的长度+1-该源数组元素在源数组的位置),计算该源数组元素的差异度。
在本实施方式中,采用上述技术方案的好处在于,可以对源数组与待比较数组的每一个位置处的元素差异度进行分析,以便根据不同位置的元素差异度,对源数组与待比较数组的整体差异度进行分析。
S205、依据各个源数组元素的差异度,确定两个有序数组间的差异度。
在本实施例的一种可选实施方式中,依据各个源数组元素的差异度,确定两个有序数组间的差异度,可以包括:
对源数组中各个源数组元素的差异度进行汇总,得到源数组元素差异度的总体得分;
依据总体得分与源数组中各源数组元素的位置值的加和,确定两个有序数组间的差异度。
在本实施方式中,在针对源数组中的各个源数组元素,得到各个源数组元素所匹配的差异度时,将各个源数组元素的差异度进行相加处理,得到源数组元素差异度的总体得分。源数组中各源数组元素的位置值的加和可以理解为将源数组中各个源数组元素的位置进行相加处理得到的值。例如,源数组中的源数组元素为:a[0]、a[1]、a[2]、a[3]、a[4]、a[5],上述各源数组元素在源数组中的位置依次为“1”、“2”、“3”、“4”、“5”、“6”,各源数组元素的位置值的加和为各源数组元素在源数组中的排列次序进行加和,即各源数组元素的位置值的加和=1+2+3+4+5+6。在得到源数组元素差异度的总体得分和该源数组中各源数组元素的位置值的加和后,计算该总体得分与源数组中各源数组元素的位置值的加和之间的比值,可以得到源数组与待比较数组之间的差异度,即两个有序数组间的差异度。此外,待比较数组中各待比较数组元素在待比较数组元素中的位置与源数组元素在源数组中的位置的表示方法相同。
本发明实施例中提供了的有序数组间差异度的确定方法,能够支持对不等长有序数组的差异程度进行比对,而且在比较逻辑中添加了对位置的计算,在对两组有序数组进行差异度判断时,能够针对不等长有序数组提供基于位置的差异度计算,实现从不同位置的数据的差异程度对整组数据的差异程度的分析。
图3是本发明实施例中提供的一种有序数组间差异度的确定装置的结构示意图,本实施例可适用于对同类型的两组数据的差异程度进行比较的情况,例如,对同一事物在不同条件下的反馈进行比较,并以此来判断事物是否处于正常发展规律的场景。该装置可以采用软件和/或硬件的方式实现,并集成在任何具有网络通信功能的设备上。如图3所示,本发明实施例中的有序数组间差异度的确定装置可以包括:数组设置模块301、元素差异度确定模块302和数组差异度确定模块303。其中:
数组设置模块301,用于依据有序数组的长度,将两个有序数组设置为源数组和待比较数组;
元素差异度确定模块302,用于针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度;
数组差异度确定模块303,用于依据各个源数组元素的差异度,确定两个有序数组间的差异度。
在上述实施例基础上,可选的,所述数组设置模块301可以包括:
长度确定单元,用于确定两个有序数组中第一有序数组的长度和第二有序数组的长度;
数组设置单元,用于若所述第一有序数组的长度小于所述第二有序数组的长度,则将所述第一有序数组设置为源数组和将所述第二有序数组设置为待比较数组。
在上述实施例基础上,可选的,所述元素差异度确定模块302可以包括:
元素比较单元,用于将该源数组元素与待比较数组中同位置的数组元素的进行比较;
元素查询单元,用于若该源数组元素与待比较数组中同位置的数组元素不相同,则查询该源数组元素在所述待比较数组中其他位置的出现情况;
元素差异度计算单元,用于依据该源数组元素的出现情况,计算该源数组元素的差异度。
在上述实施例基础上,可选的,所述元素差异度计算单元可以包括:
第一计算子单元,用于若该源数组元素出现在所述待比较数组的其他位置,则依据该源数组元素在所述源数组中的位置和与该源数组元素相同的元素在所述待比较数组中的位置,计算该源数组元素的差异度;
第二计算子单元,用于若该源数组元素未出现在所述待比较数组的其他位置,则依据该源数组元素在所述源数组中的位置,计算该源数组元素的差异度。
在上述实施例基础上,可选的,所述数组差异度确定模块303可以包括:
元素差异度汇总单元,用于对所述源数组中各个源数组元素的差异度进行汇总,得到源数组元素差异度的总体得分;
数组差异度确定单元,用于依据所述总体得分与所述源数组中各源数组元素的位置值的加和,确定两个有序数组间的差异度。
本发明实施例中所提供的有序数组间差异度的确定装置可执行上述本发明任意实施例中所提供的有序数组间差异度的确定方法,具备执行该有序数组间差异度的确定方法相应的功能和有益效果。
图4是本发明实施例中提供的一种设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性设备412的框图。图4显示的设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,该设备412的组件可以包括但不限于:一个或者多个处理器416,存储装置428,连接不同系统组件(包括存储装置428和处理器416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储装置总线或者存储装置控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry SubversiveAlliance,ISA)总线,微通道体系结构(Micro Channel Architecture,MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)430和/或高速缓存存储器432。设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘,例如只读光盘(Compact Disc Read-Only Memory,CD-ROM),数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储装置428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储装置428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
该设备412也可以与一个或多个外部设备414(例如键盘、指向终端、显示器424等)通信,还可与一个或者多个使得用户能与该设备412交互的终端通信,和/或与使得该设备412能与一个或多个其它计算终端进行通信的任何终端(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide AreaNetwork,WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器420通过总线418与设备412的其它模块通信。应当明白,尽管图中未示出,可以结合设备412使用其它硬件和/或软件模块,包括但不限于:微代码、终端驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在存储装置428中的程序,从而执行各种功能应用以及数据处理,例如,实现本发明任意实施例中所提供的有序数组间差异度的确定方法,该方法可以包括:
依据有序数组的长度,将两个有序数组设置为源数组和待比较数组;
针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度;
依据各个源数组元素的差异度,确定两个有序数组间的差异度。
本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例中所提供的有序数组间差异度的确定方法,该方法可以包括:
依据有序数组的长度,将两个有序数组设置为源数组和待比较数组;
针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度;
依据各个源数组元素的差异度,确定两个有序数组间的差异度。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种有序数组间差异度的确定方法,其特征在于,包括:
依据有序数组的长度,将两个有序数组设置为源数组和待比较数组;
针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度;
依据各个源数组元素的差异度,确定两个有序数组间的差异度;
其中,所述依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度,包括:
将该源数组元素与待比较数组中同位置的数组元素的进行比较;
若该源数组元素与待比较数组中同位置的数组元素不相同,则查询该源数组元素在所述待比较数组中其他位置的出现情况;
依据该源数组元素的出现情况,计算该源数组元素的差异度。
2.根据权利要求1所述的方法,其特征在于,依据有序数组的长度,将两个有序数组设置为源数组和待比较数组,包括:
确定两个有序数组中第一有序数组的长度和第二有序数组的长度;
若所述第一有序数组的长度小于所述第二有序数组的长度,则将所述第一有序数组设置为源数组和将所述第二有序数组设置为待比较数组。
3.根据权利要求1所述的方法,其特征在于,依据该源数组元素的出现情况,计算该源数组元素的差异度,包括:
若该源数组元素出现在所述待比较数组的其他位置,则依据该源数组元素在所述源数组中的位置和与该源数组元素相同的元素在所述待比较数组中的位置,计算该源数组元素的差异度;
若该源数组元素未出现在所述待比较数组的其他位置,则依据该源数组元素在所述源数组中的位置,计算该源数组元素的差异度。
4.根据权利要求1所述的方法,其特征在于,依据各个源数组元素的差异度,确定两个有序数组间的差异度,包括:
对所述源数组中各个源数组元素的差异度进行汇总,得到源数组元素差异度的总体得分;
依据所述总体得分与所述源数组中各源数组元素的位置值的加和,确定两个有序数组间的差异度。
5.一种有序数组间差异度的确定装置,其特征在于,包括:
数组设置模块,用于依据有序数组的长度,将两个有序数组设置为源数组和待比较数组;
元素差异度确定模块,用于针对所述源数组中的每一源数组元素,依据该源数组元素与待比较数组中同位置的数组元素的比较结果,确定该源数组元素的差异度;
数组差异度确定模块,用于依据各个源数组元素的差异度,确定两个有序数组间的差异度;
所述元素差异度确定模块包括:
元素比较单元,用于将该源数组元素与待比较数组中同位置的数组元素的进行比较;
元素查询单元,用于若该源数组元素与待比较数组中同位置的数组元素不相同,则查询该源数组元素在所述待比较数组中其他位置的出现情况;
元素差异度计算单元,用于依据该源数组元素的出现情况,计算该源数组元素的差异度。
6.根据权利要求5所述的装置,其特征在于,所述数组设置模块包括:
长度确定单元,用于确定两个有序数组中第一有序数组的长度和第二有序数组的长度;
数组设置单元,用于若所述第一有序数组的长度小于所述第二有序数组的长度,则将所述第一有序数组设置为源数组和将所述第二有序数组设置为待比较数组。
7.根据权利要求5所述的装置,其特征在于,所述元素差异度计算单元包括:
第一计算子单元,用于若该源数组元素出现在所述待比较数组的其他位置,则依据该源数组元素在所述源数组中的位置和与该源数组元素相同的元素在所述待比较数组中的位置,计算该源数组元素的差异度;
第二计算子单元,用于若该源数组元素未出现在所述待比较数组的其他位置,则依据该源数组元素在所述源数组中的位置,计算该源数组元素的差异度。
8.根据权利要求5所述的装置,其特征在于,所述数组差异度确定模块包括:
元素差异度汇总单元,用于对所述源数组中各个源数组元素的差异度进行汇总,得到源数组元素差异度的总体得分;
数组差异度确定单元,用于依据所述总体得分与所述源数组中各源数组元素的位置值的加和,确定两个有序数组间的差异度。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的有序数组间差异度的确定方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的有序数组间差异度的确定方法。
CN201811493791.0A 2018-12-07 2018-12-07 有序数组间差异度的确定方法、装置、设备及存储介质 Active CN109635228B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811493791.0A CN109635228B (zh) 2018-12-07 2018-12-07 有序数组间差异度的确定方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811493791.0A CN109635228B (zh) 2018-12-07 2018-12-07 有序数组间差异度的确定方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109635228A CN109635228A (zh) 2019-04-16
CN109635228B true CN109635228B (zh) 2023-01-06

Family

ID=66071726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811493791.0A Active CN109635228B (zh) 2018-12-07 2018-12-07 有序数组间差异度的确定方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109635228B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116910631B (zh) * 2023-09-14 2024-01-05 深圳市智慧城市科技发展集团有限公司 数组对比方法、装置、电子设备及可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002343175A1 (en) * 2002-11-28 2004-06-18 Nokia Corporation Method and device for determining and outputting the similarity between two data strings
US20100146518A1 (en) * 2008-12-08 2010-06-10 International Business Machines Corporation All-To-All Comparisons on Architectures Having Limited Storage Space
CN102522086A (zh) * 2011-12-27 2012-06-27 中国科学院苏州纳米技术与纳米仿生研究所 一种有序序列相似性对比方法的声纹识别应用
HUP1500050A2 (hu) * 2015-02-05 2016-08-29 Gyoergy Vesztergombi Eljárás és berendezés referencia és rövid teszt szekvenciák közötti illeszkedések meghatározására
CN105824758B (zh) * 2016-03-21 2018-09-21 南京大学 一种基于执行索引和访问路径的堆区对象比较方法
CN106897258B (zh) * 2017-02-27 2020-05-29 郑州云海信息技术有限公司 一种文本差异性的计算方法及装置
CN108170772A (zh) * 2017-12-26 2018-06-15 泰康保险集团股份有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN109635228A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109783490B (zh) 数据融合方法、装置、计算机设备及存储介质
CN108921552B (zh) 一种验证证据的方法及装置
CN111125266B (zh) 数据处理方法、装置、设备及存储介质
CN111061740B (zh) 一种数据同步方法、设备和存储介质
US9760557B2 (en) Tagging autofill field entries
US11729268B2 (en) Computer-implemented method, system, and storage medium for prefetching in a distributed graph architecture
CN116015842A (zh) 一种基于用户访问行为的网络攻击检测方法
CN109582906B (zh) 数据可靠度的确定方法、装置、设备和存储介质
CN114925101A (zh) 数据处理方法、装置、存储介质及电子设备
CN109033456B (zh) 一种条件查询方法、装置、电子设备和存储介质
CN109635228B (zh) 有序数组间差异度的确定方法、装置、设备及存储介质
CN105447032A (zh) 用于处理消息与订阅信息方法和系统
US11762730B2 (en) Selection of outlier-detection programs specific to dataset meta-features
CN110175128B (zh) 一种相似代码案例获取方法、装置、设备和存储介质
CN111367813B (zh) 决策引擎自动化测试方法、装置、服务器及存储介质
US10664663B2 (en) Natural language processing system
US10878821B2 (en) Distributed system for conversational agent
CN110990406A (zh) 一种模糊查询方法、装置、设备和介质
US9984235B2 (en) Transmission of trustworthy data
US20150170067A1 (en) Determining analysis recommendations based on data analysis context
US20150006498A1 (en) Dynamic search system
US20160132583A1 (en) Representative sampling of relational data
CN113760988A (zh) 一种无界流数据关联处理方法、装置、设备及存储介质
CN110795470A (zh) 一种关联数据获取方法、装置、设备及存储介质
CN113407375B (zh) 数据库删除数据的恢复方法、装置、设备和存储介质

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