一种数据排序方法和装置与流程

文档序号:18196518发布日期:2019-07-17 05:53阅读:156来源:国知局
一种数据排序方法和装置与流程
本发明涉及大数据分析
技术领域
,尤其涉及一种数据排序方法和装置及系统。
背景技术
:随着大数据时代的到来,各行各业都需要进行数据分析。数据分析时需要进行数据展示。但是,数据展示之前需要对数据进行排序。当数据量较大时,一般会采用分页的形式进行展示,分页展示数据之前需要对数据进行排序。一般情况下,不同页的数据肯定是不同的,而且两次看到同一页的数据应该是相同的,不能出现某一页数据在前后两次观看的数据是不同的。尤其对于大数据分析系统,数据分析人员在观看数据时,需要保证相同场景下观看相同页的数据是相同的,不同页的数据是不同的,不能重复。因此,如何对于数据进行排序是本领域技术人员需要解决的技术问题。技术实现要素:为了解决现有技术中存在的以上技术问题,本发明提供一种数据排序方法、装置及系统,能够对无序数据进行排序,保证数据排序的唯一性。为此,本发明解决技术问题的技术方案是:一种数据排序方法,包括:查找待排序数据中能够唯一确定排序结果的列或列的组合,其中,所述列或列的组合满足以下条件:所述待排序数据中各条数据所对应的该列或列的组合中所包含的内容彼此不同;根据查找到的列或列的组合对所述待排序数据进行排序。可选的,查找待排序数据中能够唯一确定排序结果的列或列的组合包括:对于所述待排序数据中的每个列进行逐个查询,直至查找到满足所述条件的单个列;如果无法查找到满足所述条件的单个列,则对所述待排序数据中的列进行多次组合,每次组合后,都判断当前组合的多个列是否满足所述条件,直至查找到满足所述条件的列的组合。可选的,在对所述待排序数据中的列进行多次组合之前,所述方法还包括:对于所述待排序数据中的每个列,根据该列中包含相同内容的行的数量,确定该列的内容差异度;并且,在对所述待排序数据中的列进行多次组合时,优先将内容差异度最大的列进行组合。可选的,当用户指定排序规则时,则根据查找到的列或列的组合对所述待排序数据进行排序,具体为:根据用户指定排序规则确定用户排序规则列;将所述查找到的列或列的组合放置在所述用户排序规则列之后;由所述用户排序规则列联合所述查找到的列或列的组合对所述待排序数据进行排序。可选的,在无法查找到能够唯一确定排序结果的列或列的组合的情况下,所述方法还包括:创建一列能够唯一确定排序结果的标号列,根据所述标号列对所述待排序数据进行排序。可选的,当用户指定排序规则时,则根据所述标号列对所述待排序数据进行排序,具体为:根据用户指定排序规则确定用户排序规则列;将所述标号列放置在所述用户排序规则列之后;由所述用户排序规则列联合所述标号列对所述待排序数据进行排序。可选的,所述创建一列能够唯一确定排序结果的标号列,具体为:为所述待排序数据中的每条数据添加一列标号,所述标号能够唯一标识该条数据;所述标号为自然数形成的序列号;或,所述标号为利用随机数生成算法得到的字符串序列号。本发明还提供了一种数据排序装置,包括:查找单元,用于查找待排序数据中能够唯一确定排序结果的列或列的组合;第一排序单元,用于所述查找单元能够查找到唯一确定排序结果的列或列的组合,根据查找到的列或列的组合对所述待排序数据进行排序;第二排序单元,用于所述查找单元查找不到唯一确定排序结果的列或列的组合,则创建一列能够唯一确定排序结果的标号列,根据所述标号列对所述待排序数据进行排序。本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述数据排序方法。本申请还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述数据排序方法。与现有技术相比,本发明至少具有以下优点:查找待排序数据中是否存在能够唯一确定排序结果的列或列的组合,如果查找到唯一确定排序结果的列或列的组合,则根据该列或列的组合对排序数据进行排序,其中,待排序的每条数据中能够唯一确定排序结果的列或列的组合,所包含的内容彼此不同。该方法能够使得待排序的数据,根据能够唯一确定排序结果的列或列的组合进行排序,保证数据排序的唯一性。在相同的场景和条件下,查询上述待排序数据时,每次查询时所展示的数据结果的展示顺序均相同,不会发生每次查询时不同分页显示相同数据,同一分页显示不同数据的情况。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本申请实施例提供的一种数据排序方法的流程图;图2为本申请实施例提供的另一种数据排序方法的流程图;图3为本申请实施例提供的又一种数据排序方法的流程图;图4为本申请实施例提供的一种数据排序装置的结构图;图5为本申请实施例提供的另一种数据排序装置的结构图;图6为本申请实施例提供的又一种数据排序装置的结构图;图7为本申请实施例提供的再一种数据排序装置的结构图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。由于数据的排列顺序不固定,可能导致在相同的场景和条件下对数据进行查询,每次查询得到的数据显示结果均不同。例如,有a、b、c三条数据,第一次查询时数据的排序为a、b、c,如果每一页显示一条数据,则第一页显示数据a,第二页显示数据b、第三页显示数据c。由于数据的排列顺序不固定,用户第二次查询时,数据排列顺序发生改变,第一页上显示的数据可能不再为数据a。即由于数据的排列顺序不固定,可能出现多次查询同一分页,该分页上显示不同数据的情况。再例如,有d、e、f三条数据分三页显示,查询第一页时数据排序是d、e、f,那么第一页展示数据d;由于数据的排列顺序不固定,用户查询第二页时,数据的排列顺序可能更改为e、d、f,那么第二页仍展示数据d。即由于数据的排列顺序不固定,可能在某次查询过程中,出现不同的分页上显示相同数据的情况。综上所述,在进行数据分析时当数据较多需要分页展示时,由于数据的排列顺序不固定,可能出现某一次查询过程中,不同分页上显示相同数据的情况,也可能出现多次查询相同分页,该分页显示不同数据的情况。为了解决上述技术问题,本申请提供了一种数据排序方法,查找待排序数据中是否存在能够唯一确定排序结果的列或列的组合,如果查找到唯一确定排序结果的列或列的组合,则根据该列或列的组合对排序数据进行排序,其中,待排序的每条数据中能够唯一确定排序结果的列或列的组合,所包含的内容彼此不同。该方法能够使得待排序的数据,根据能够唯一确定排序结果的列或列的组合进行排序,保证数据排序的唯一性。在相同的场景和条件下,查询上述待排序数据时,每次查询时所展示的数据结果的展示顺序均相同,不会发生每次查询时不同分页显示相同数据,同一分页显示不同数据的情况。实施例一参见图1,为本实施例提供的一种数据排序方法的流程图。该方法包括:步骤101:查找待排序数据中能够唯一确定排序结果的列或列的组合,其中,所述列或列的组合满足以下条件:所述待排序数据中各条数据所对应的该列或列的组合中所包含的内容彼此不同。步骤102:根据查找到的列或列的组合对所述待排序数据进行排序。需要说明的是,待排序数据至少包括一列,但是由于数据中一般需要包括该数据的属性、指标等参数,因此数据一般包括至少两列,其中不同的列可以分别表示数据的属性、指标等参数,其中,属性可以表示数据的维度,数据的维度可以为一个也可以为多个。如表1所示,一条数据包括三列,第一列表示该数据属性的第一维度,第二列表示该数据属性的第二维度,第三列表示该数据的指标。即在表1所示的数据中,省份为该数据属性的第一维度,城市为该数据属性的第二维度,人口为数据的指标。表1省份城市人口河北石家庄1100万河北保定1000万河南郑州900万查找待排序数据中是否存在能够唯一确定排序结果的列或列的组合,若在待排序数据中查找到能够唯一确定排序结果的列或列的组合,即可根据该列或列的组合对待排序数据进行排序。需要说明的是,待排序数据中各条数据所对应的该列或列的组合所包含的内容彼此不同。即能够唯一确定排序结果的列或列的组合,指的是该列或列的组合,可以作为数据的唯一标识,根据该列或列的组合的信息在所有待排序数据中,能够确定出唯一一个与该列或列的组合的信息对应的数据。相应地,根据该列或列的组合对待排序数据进行排序,可以得到一个唯一确定的排列顺序。若待排序数据中存在能够唯一确定排序结果的列或列的组合,根据该列或列的组合对待排序数据进行排序,主要分为下面两种情况:第一种是根据能够唯一确定排序结果的列,对待排序数据进行排序;第二种是根据唯一能够确定排序结果的列的组合,对待排序数据进行排序。需要说明的是,列的组合可以由任意一列以上的列组合得到,在此对列的组合中所包括的列的个数不做任何限定。在查找待排序数据中能够唯一确定排序结果的列或列的组合时,可以对待排序数据中的每个列进行逐个查询,直至查找到满足条件的单个列,即直至查找到能够唯一确定排序结果的单个列。如果无法查找到满足条件的单个列,则对待排序数据中的列进行多次组合,每次组合后,判断当前组合的多个列是否满足条件,直至查找到满足条件的列的组合。即如果无法查找能够唯一确定排序结果的单个列,则将待排序数据中的列进行组合,并对组合得到的列的组合进行判断,判断该列的组合是否能够唯一确定排序结果,若该列的组合能够唯一确定排序结果,则根据该列的组合对待排序数据进行排序。若组合得到的列的组合不能够唯一确定排序结果,则重新对各列进行组合,直至列的组合能够唯一确定待排序数据的排序结果。为了便于理解方案,现结合上述查找待排序数据中能够唯一确定排序结果的列或列的组合的方法,分别对上述两种对待排序数据进行排序的情况进行举例说明。首先,对第一种情况进行举例说明:如表2所示,为某超市的待排序数据,该待排序数据中包括价格列、商品类别列、厂家列及月销量列。表2价格商品类别厂家月销量3元矿泉水a5005元饼干b3508元巧克力c3003元薯片b350如表2所示,由于矿泉水与薯片的价格相同,饼干和薯片的厂家相同,饼干和薯片的月销量也相同,因此,价格列、厂家列和月销量列均不能作为待排序数据的唯一标识,即价格列、厂家列和月销量列均不能唯一确定出待排序数据的排序结果。而各待排序数据的商品类别列均不同,即商品类别列可以作为待排序数据的唯一标识,若已知商品类别信息,即能够在待排序数据中确定唯一一个数据。因此,该商品类别列可作为唯一确定排序结果的列,根据商品类别列对上述待排序数据进行排序。具体排列时,如表3所示,用户可以根据实际需要,自定义商品类别列中商品类别信息的排列顺序,进而,根据该商品类别信息的排列顺序排列各待排序数据。表3商品类别价格厂家月销量矿泉水3元a500饼干5元b350巧克力8元c300薯片3元b350接下来,对第二种情况进行举例说明:如表4所示,为某公司员工在某一天的工作计划数据,该工作计划数据为待排序数据。表4时间员工工作8:00员工a项目a8:00员工b项目a9:00员工c项目a10:00员工a项目a11:00员工b项目c11:00员工c项目b如表4所示,上述待排序数据中的时间列中存在相同的时间,员工列中存在相同的员工,工作列中存在相同的项目,可见,上述待排序数据中不存在能够唯一确定排序结果的列。现将待排序数据中的各列两两进行组合,可分为以下三种组合:时间列与员工列组合、时间列与工作列组合、员工列与工作列进行组合。若将时间列与员工列进行组合,可发现,该员工列与时间列的组合可作为待排序数据唯一的标识,根据某一数据中的员工信息和时间信息,即可唯一确定出该数据中的工作信息。例如,若已知工作时间为8:00,员工为员工a,则可以相应地确定员工a在8:00的工作信息为处理项目a。若将时间列与工作列进行组合,可发现,该时间列与工作列的组合无法作为待排序数据的唯一标识,根据某一数据中的时间信息和工作信息,无法唯一确定数据中的员工信息,也就无法唯一确定该数据。例如,若已知工作时间为8:00,工作为项目a,由于上述数据中记录的在8:00处理项目a的员工有员工a和员工b,因此,无法根据时间信息和工作信息唯一确定员工信息,也就无法具体确定该数据。若将员工列与工作列进行组合,可发现,该员工列和工作列的组合也无法作为待排序数据唯一的标识,根据某一数据中的员工信息和工作信息,无法唯一数据中的时间信息,也就无法唯一确定该数据。例如,若已知工作员工为员工a,工作项目为项目a,由于上述数据中记录的员工a处理项目a的时间为8:00和10:00,即无法根据员工信息和工作信息唯一确定时间信息,也就无法具体确定该数据。通过上述分析可知,时间列与员工列的组合可唯一确定排序结果,进而,可根据该列的组合对待排序数据进行排序。当无法查找到能够唯一确定排序结果的列,需要对待排序数据中的列进行组合时,还可以在对各列进行组合之前,根据各列中包含相同内容的行的数量,确定各列的内容差异度。在对待排序数据中的列进行多次组合时,优先将内容差异度最大的列进行组合。通过根据各列所包含相同内容的数量,确定各列的内容差异度,进而根据内容差异度,选择优先将内容差异度大的列进行组合。可以较快找到能够唯一确定排序结果的列的组合,进而,提高对待排序数据进行排序的效率。本实施例提供的数据排序方法,查找待排序数据中是否存在能够唯一确定排序结果的列或列的组合,如果查找到唯一确定排序结果的列或列的组合,则根据该列或列的组合对排序数据进行排序,其中,待排序的每条数据中能够唯一确定排序结果的列或列的组合,所包含的内容彼此不同。该方法能够使得待排序的数据,根据能够唯一确定排序结果的列或列的组合进行排序,保证数据排序的唯一性。在相同的场景和条件下,查询上述待排序数据时,每次查询时所展示的数据结果的展示顺序均相同,不会发生每次查询时不同分页显示相同数据,同一分页显示不同数据的情况。若在待排序数据中查找不到能够唯一确定排序结果的列或列的组合,本申请实施例提供的方法还可以创建一列能够唯一确定排序结果的标号列,根据标号列对待排序数据进行排序。在一些情况下,数据中的列以及列的组合均不能唯一确定数据的排序结果,此时,为了对待排序数据排序,需要创建一列新的标号列,该标号列能够唯一确定待排序数据的排序结果,进而,根据该标号列对待排序数据进行排序。需要说明的是,标号列中的标号可以为自然数形成的序列号,例如,可将1,2,3等自然数序列号作为标号列中的标号;也可以为利用随机数生成算法得到的字符串序列号,例如,采用随机数生成算法可得到全局唯一标识符(guid,globallyuniqueidentifier),该随机数生成算法基于时间因子推进原理,不同时刻生成的字符串不同,由于生成的字符串均不相同,因此,可将该字符串作为标号列中的标号,用于作为数据的唯一标识,进而,根据该标号列可唯一确定排序结果。为了便于理解,现针对上述情况进行举例说明:如表5所示,为某高校的学生信息数据,表5中的学生信息数据为待排序数据。表5姓名性别年龄专业张三男21软件工程李四男20土木工程王强男20网络工程王强男20网络工程如表5所示,上述待排序数据的姓名列、性别列、年龄列以及专业列中,均存在信息相同的情况,因此,上述待排序数据中的各列均不能够唯一确定待排序数据的排序结果。观察表5中显示的数据可以发现,表5中第4行和第5行的数据信息完全相同,即第4行和第5行的数据中,姓名列、性别列、年龄列和专业列中的信息均完全相同。由于待排序数据中存在完全相同的数据,即使将各列进行组合,所得到的各种列的组合,也均无法作为数据的唯一标识,进而,各种列的组合均不能够为待排序数据确定一个唯一的排序结果。因此,需要创建一列能够唯一确定排序结果的标号列,根据该标号列对待排序数据进行排序。如表6所示,可以创建一列自然数列,为各个待排序数据分配不同的自然数标号,该自然数标号可以作为数据的唯一标识,标识各个待排序数据。相应地,该自然数列作为标号列,能够唯一确定上述待排序数据的排序结果,可根据该标号列对待排序学生信息数据进行排序。表6标号姓名性别年龄专业1张三男21软件工程2李四男20土木工程3王强男20网络工程4王强男20网络工程本实施例提供了一种数据排序方法,如果无法查找到唯一确定排序结果的列或列的组合,则创建一列能够唯一确定排序结果的标号列,进而,根据该标号列对待排序的数据进行排序。该方法能够使得待排序的数据,根据能够唯一确定排序结果的标号列进行排序,保证数据排序的唯一性。在相同的场景和条件下,查询上述待排序数据时,每次查询时所展示的数据结果的展示顺序均相同,不会发生每次查询时不同分页显示相同数据,同一分页显示不同数据的情况。在一些情况下,用户需要指定根据待排序数据中某一列的排序规则,对待排序数据进行排序。但是很多时候,用户所指定的待排序数据中某一列的排序规则,并不能够唯一确定待排序数据的排序。此时,需要将用户指定的待排序数据中某一列的排序规则,与能够唯一确定排序结果的列或列的组合结合起来,对待排序数据进行排序,或者,将用户指定的待排序数据中的某一列,与唯一能够确定排序结果的标号列结合起来,对待排序数据进行排序。首先,具体介绍将用户指定的待排序数据中某一列的排序规则,与能够唯一确定排序结果的列或列的组合结合起来,对待排序数据进行排序的方法。实施例二参照图2,为本实施例提供了另一种数据排序方法的流程图。该方法包括:步骤201:根据用户指定排序规则确定用户排序规则列。步骤202:将查找到的列或列的组合放置在所述用户排序规则列之后。步骤203:由用户排序规则列联合查找到的列或列的组合对待排序数据进行排序。用户指定排序规则,根据该排序规则,在待排序数据中查找与该排序规则对应的列,将该列确定为用户排序规则列。根据实施例一步骤102介绍的方法,查找待排序数据中是否存在能够唯一确定排序结果的列或列的组合,若查找到能够唯一确定待排序数据排序结果的列或列的组合,将该列或列的组合放置在用户排序规则列之后。需要说明的是,用户排序规则列可能为能够唯一确定待排序数据排序结果的列,若该用户排序规则列为该能够唯一确定排序结果的列,则直接根据该用户指定的排序规则,对待排序数据进行唯一确定地排序。当然,用户排序规则列也可能不能够唯一确定待排序数据的排序结果,此时,需要将能够唯一确定待排序数据排序结果的列或列的组合,放置于用户排序规则列之后,将用户排序规则列,与能够唯一确定排序结果的列或列的组合联合起来,对待排序数据进行排序。为了便于理解,现对本实施例提供的数据排序方法进行举例说明:如实施例一中的表2所示,为某超市提供的待排序数据,该待排序数据中包括价格列、商品类别列、厂家列及月销量列。现用户需要按照月销量从高到低的顺序对上述待排序数据进行排序。因此,将月销量列作为用户排序规则列,对待排序数据进行排序。通过观察表2可发现,饼干和薯片的月销量均为350,若根据月销量列对待排序数据进行排序,当月销量为350时,无法具体确定该月销量为饼干的月销量还是薯片的月销量,即该月销量列不能够唯一确定待排序数据的排序结果。按照实施例一中步骤102的方法,可确定出商品类别列能够唯一确定待排序数据的排序结果,将该能够唯一确定待排序数据的排序结果的列,放置于用户规则列之后,即将商品类别列放置于月销量列之后。如表7所示。表7月销量商品类别价格厂家500矿泉水3元a350饼干5元b350薯片3元b300巧克力8元c如表7所示,数据的第一列为根据用户指定的排序规则确定的用户排序规则列,即月销量列,月销量按照用户指定的排序规则,按照从高到低的顺序进行排序。数据的第二列为能够唯一确定排序结果的列,即商品类别列,当出现月销量相同的情况时,可根据商品类别对数据进行排序。本实施例提供的数据排序方法,对待排序数据进行排序时,可以根据用户指定的排序规则对待排序数据进行排序,若用户指定的排序规则不能够唯一确定待排序数据的排序,则将查找到的能够唯一确定排序结果的列或列的组合,与根据用户指定的排序规则确定出的用户排序规则列联合起来,对待排序数据进行排序。该方法能够在满足用户指定的排序规则的条件下,结合唯一确定排序结果的列或列的组合,实现对待排序数据进行唯一确定的排序。接下来,具体介绍将用户指定的待排序数据中的某一列,与唯一能够确定排序结果的标号列结合起来,对待排序数据进行排序的方法。实施例三参见图3,为本实施例提供的又一种数据排序方法的流程图。该方法包括:步骤301:根据用户指定排序规则确定用户排序规则列。步骤302:将标号列放置在用户排序规则列之后。步骤303:由用户排序规则列联合标号列对待排序数据进行排序。用户指定排序规则,根据该排序规则,在待排序数据中查找与该排序规则对应的列,将该列确定为用户排序规则列。根据实施例一步骤103介绍的方法,查找待排序数据中是否存在能够唯一确定排序结果的列或列的组合,若待排序数据中不存在能够唯一确定排序结果的列或列的组合,则创建一列能够唯一确定排序结果的标号列。将该标号列放置于用户排序规则列之后。用户规则列联合能够唯一确定排序结果的标号列,对待排序数据进行排序。具体地,先按照用户指定的规则,对待排序数据进行排序,由于用户规则列不能够唯一确定排序结果,则将用户规则列与能够唯一确定排序结果的标号列联合起来,对待排序数据进行排序。为了便于理解,现对本实施例提供的数据排序方法进行举例说明:如实施例一中的表6所示,创建了一列能够唯一确定排序结果的标号列,并根据标号列对待排序的学生信息数据进行了排序。现用户指定按照学生信息数据中姓名的首字母,对上述学生信息数据进行排序,则将姓名列确定为用户排序规则列,并将标号列放置在用户排序结果列之后。由于姓名“王强”在姓名列中出现了两次,因此,仅根据姓名“王强”不能唯一确定出一个数据。表8姓名标号性别年龄专业李四2男20土木工程王强3男20网络工程王强4男20网络工程张三1男21软件工程如表8所示,数据的第一列为根据用户指定的排序规则确定的用户排序规则列,即姓名列,姓名按照用户指定的排序规则,按照首字母的顺序进行排序。数据的第二列为能够唯一确定排序结果的标号列,当出现姓名相同的情况时,可根据标号列中的标号对数据进行排序。本实施例提供的数据排序方法,对待排序数据进行排序时,可以根据用户指定的排序规则对待排序数据进行排序,若用户指定的排序规则不能够唯一确定待排序数据的排序,则将能够唯一确定排序结果的标号列,与根据用户指定的排序规则确定出的用户排序规则列联合起来,对待排序数据进行排序。该方法能够在满足用户指定的排序规则的条件下,结合唯一确定排序结果的标号列,实现对待排序数据进行唯一确定的排序。实施例四参见图4,为本实施例提供的一种数据排序装置。该装置包括:查找单元401,用于查找待排序数据中能够唯一确定排序结果的列或列的组合。第一排序单元402,用于所述查找单元能够查找到唯一确定排序结果的列或列的组合,根据查找到的列或列的组合对所述待排序数据进行排序。第二排序单元403,用于所述查找单元查找不到唯一确定排序结果的列或列的组合,则创建一列能够唯一确定排序结果的标号列,根据所述标号列对所述待排序数据进行排序。参见图5,第二排序单元403包括列添加子单元。列添加子单元501,用于为所述待排序数据中的每条数据添加一列标号,所述标号能够唯一标识该条数据;所述标号为自然数形成的序列号;或,所述标号为利用随机数生成算法得到的字符串序列号。本实施例提供了一种数据排序装置,查找待排序数据中是否存在能够唯一确定排序结果的列或列的组合,如果查找到唯一确定排序结果的列或列的组合,则根据该列或列的组合对排序数据进行排序,如果未查找到唯一确定排序结果的列或列的组合,则创建一列能够唯一确定排序结果的标号列,进而,根据该标号列对待排序的数据进行排序。该方法能够使得待排序的数据,根据能够唯一确定排序结果的列或列的组合进行排序,保证数据排序的唯一性。在相同的场景和条件下,查询上述待排序数据时,每次查询时所展示的数据结果的展示顺序均相同,不会发生每次查询时不同分页显示相同数据,同一分页显示不同数据的情况。实施例五参见图6,为本实施例提供的另一种数据排序装置,该装置中的查找单元与第二排序单元均与实施例四中的查找单元与第二排序单元相同。该装置中的第一排序单元具体包括:第一确定子单元601,用于根据用户指定排序规则确定用户排序规则列。第一排列子单元602,用于将所述查找到的列或列的组合放置在所述用户排序规则列之后。第一排序子单元603,用于由所述用户排序规则列联合所述查找到的列或列的组合对所述待排序数据进行排序。本实施例提供的数据排序装置,对待排序数据进行排序时,可以根据用户指定的排序规则对待排序数据进行排序,若用户指定的排序规则不能够唯一确定待排序数据的排序,则将查找到的能够唯一确定排序结果的列或列的组合,与根据用户指定的排序规则确定出的用户排序规则列联合起来,对待排序数据进行排序。该方法能够在满足用户指定的排序规则的条件下,结合唯一确定排序结果的列或列的组合,实现对待排序数据进行唯一确定的排序。实施例六参见图7,为本实施例提供的又一种数据排序装置,该装置中的查找单元与第一排序单元均与实施例四中的查找单元与第一排序单元相同。该装置中的第二排序单元具体包括:第二确定子单元701,用于根据用户指定排序规则确定用户排序规则列。第二排列子单元702,用于将所述标号列放置在所述用户排序规则列之后。第二排序子单元703,用于由所述用户排序规则列联合所述标号列对所述待排序数据进行排序。本实施例提供的数据排序装置,对待排序数据进行排序时,可以根据用户指定的排序规则对待排序数据进行排序,若用户指定的排序规则不能够唯一确定待排序数据的排序,则将能够唯一确定排序结果的标号列,与根据用户指定的排序规则确定出的用户排序规则列联合起来,对待排序数据进行排序。该方法能够在满足用户指定的排序规则的条件下,结合唯一确定排序结果的标号列,实现对待排序数据进行唯一确定的排序。所述数据排序装置包括处理器和存储器,上述查找单元、第一排序单元和第二排序单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对无序数据进行排序,保证数据排序的唯一性。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据排序方法。本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据排序方法。本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:查找待排序数据中能够唯一确定排序结果的列或列的组合;如果能够查找到唯一确定排序结果的列或列的组合,则根据查找到的列或列的组合对所述待排序数据进行排序;如果查找不到唯一确定排序结果的列或列的组合,则创建一列能够唯一确定排序结果的标号列,根据所述标号列对所述待排序数据进行排序。根据用户指定排序规则确定用户排序规则列;将所述查找到的列或列的组合放置在所述用户排序规则列之后;由所述用户排序规则列联合所述查找到的列或列的组合对所述待排序数据进行排序。根据用户指定排序规则确定用户排序规则列;将所述标号列放置在所述用户排序规则列之后;由所述用户排序规则列联合所述标号列对所述待排序数据进行排序。为所述待排序数据中的每条数据添加一列标号,所述标号能够唯一标识该条数据;所述标号为自然数形成的序列号;或,所述标号为利用随机数生成算法得到的字符串序列号。所述用户排序规则列为一列或至少两列的组合。本文中的设备可以是服务器、pc、pad、手机等。本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:查找待排序数据中能够唯一确定排序结果的列或列的组合;如果能够查找到唯一确定排序结果的列或列的组合,则根据查找到的列或列的组合对所述待排序数据进行排序;如果查找不到唯一确定排序结果的列或列的组合,则创建一列能够唯一确定排序结果的标号列,根据所述标号列对所述待排序数据进行排序。根据用户指定排序结果确定用户排序结果列;将所述查找到的列或列的组合放置在所述用户排序结果列之后;由所述用户排序结果列联合所述查找到的列或列的组合对所述待排序数据进行排序。根据用户指定排序结果确定用户排序结果列;将所述标号列放置在所述用户排序结果列之后;由所述用户排序结果列联合所述标号列对所述待排序数据进行排序。为所述待排序数据中的每条数据添加一列标号,所述标号能够唯一标识该条数据;所述标号为自然数形成的序列号;或,所述标号为利用随机数生成算法得到的字符串序列号。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1