CN109558401A - 数据排序方法及装置 - Google Patents

数据排序方法及装置 Download PDF

Info

Publication number
CN109558401A
CN109558401A CN201710888296.9A CN201710888296A CN109558401A CN 109558401 A CN109558401 A CN 109558401A CN 201710888296 A CN201710888296 A CN 201710888296A CN 109558401 A CN109558401 A CN 109558401A
Authority
CN
China
Prior art keywords
data object
data
back end
ranked
level
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.)
Granted
Application number
CN201710888296.9A
Other languages
English (en)
Other versions
CN109558401B (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 Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum 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 Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201710888296.9A priority Critical patent/CN109558401B/zh
Publication of CN109558401A publication Critical patent/CN109558401A/zh
Application granted granted Critical
Publication of CN109558401B publication Critical patent/CN109558401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供的数据排序方法及装置,获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点;获取用户设定的排序参数;根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。本发明直接从页面获取树形结构的数据对象进行排序,即直接对前端数据进行排序处理,而不是通过服务端对后台数据进行排序处理,也无需在排序后对整个页面进行重载,从而避免了页面中未保存数据可能会在排序过程中发生丢失的问题,而且本发明在前端页面对数据对象进行排序处理,克服了服务端排序处理过程的局限性,从而可以适应用户定制的各种排序需求,提高数据对象最终的排序展示效果。

Description

数据排序方法及装置
技术领域
本发明涉及信息处理领域,更具体的说,涉及数据排序方法及装置。
背景技术
随着信息技术的发展,出现了各式各样的数据结构,树形结构则是其中常用的一种。在显示页面中,树形结构的数据对象,通常包括多个不同层级的数据节点,在需要对这些数据节点进行排序时,现有的常用方式是采用miniUI插件的排序API(ApplicationProgramming Interface,应用程序编程接口),先通过服务端对后台数据进行排序,然后通过页面重载的方式将排序后的数据对象展示在显示页面中。
但是,页面的重载不仅会丢失当前页面中未保存的数据,而且也无法保留数据节点当前的数据状态,从而无法兼容目前页面的数据状态。而且,通过服务端对后台数据进行排序的方式,排序方式单一且缺少灵活性,通常只是根据字母序列、数字序列或时间序列对数据进行排序,无法兼容用户对当前页面数据定制的各种排序需求,进而无法得到满足用户需求的排序结果。所以,针对树形结构的数据对象,现有的数据排序方案,对页面数据与用户排序需求的兼容性较差,导致最终的排序展示效果较差。
因此,目前迫切需要一种针对树形结构的数据对象,能够提高数据对象的排序展示效果的技术方案。
发明内容
有鉴于此,本发明提供了一种数据排序方法及装置,以解决针对树形结构的数据对象,目前的数据排序方案最终的排序展示效果较差的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种数据排序方法,所述方法包括:
获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点;
获取用户设定的排序参数;
根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
优选的,所述第一数据对象还包括所述至少一个数据节点中各数据节点的状态信息;所述方法还包括:
根据所述第一数据对象中各数据节点的状态信息,设置所述第二数据对象中各数据节点的状态。
优选的,所述方法还包括:
在进行排序之前,获取所述页面内的第三数据对象;
在排序结束之后,将所述第三数据对象恢复至所述页面;
其中,所述第三数据对象与所述第一数据对象不同。
优选的,所述第一数据对象包括至少一个层级;所述排序参数包括目标层级信息;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述目标层级信息,对所述至少一个层级中的目标层级的数据节点进行排序。
优选的,所述第一数据对象包括至少一个层级;所述排序参数包括固定层级信息;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述固定层级信息,对所述至少一个层级中的目标层级的数据节点进行排序;
其中,所述目标层级为所述至少一个层级中除了固定层级以外的层级。
优选的,所述排序参数包括排序依据;所述排序依据包括:用户自定义序列。
优选的,所述用户自定义序列包括项目流程;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述项目流程中各执行项目之间的顺序关系,对第一数据对象中的项目节点进行排序;
其中,项目节点是与执行项目相对应的数据节点。
一种数据排序装置,所述装置包括:
对象获取单元,用于获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点;
参数获取单元,用于获取用户设定的排序参数;
数据排序单元,用于根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行前述任一项数据排序方法。
一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行前述任一项数据排序方法。
从上述的技术方案可以看出,本发明提供的数据排序方法及装置,获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点;获取用户设定的排序参数;根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。本发明直接从页面获取树形结构的数据对象进行排序,即直接对前端数据进行排序处理,而不是通过服务端对后台数据进行排序处理,也无需在排序后对整个页面进行重载,从而避免了页面中未保存数据在排序操作后可能会发生丢失的问题,而且本发明在前端对数据对象进行排序处理,克服了服务端排序处理过程的局限性,可以适应用户定制的各种排序需求,从而提高了数据对象最终的排序展示效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的数据排序方法的一种流程图;
图2为本申请实施例提供的数据排序方法的另一种流程图;
图3为本申请实施例提供的数据排序方法的又一种流程图;
图4为本申请实施例提供的数据排序方法的再一种流程图;
图5为本申请实施例提供的数据排序装置的一种结构示意图;
图6为本申请实施例提供的数据排序装置的另一种结构示意图;
图7a为本申请实施例提供的第一数据对象的一种示意图;
图7b为本申请实施例提供的第二数据对象的一种示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本申请实施例提供的数据排序方法的一种流程图。
如图1所示,所述方法包括:
S101:获取页面内树形结构的第一数据对象;其中,第一数据对象包括至少一个数据节点。
相对于服务端,页面属于前端。获取页面内树形结构的第一数据对象,就是直接对前端的数据对象进行整体获取,而不同于服务端对后台中数据内容的提取。由于本发明是获取前端数据并进行排序处理,无需服务端在对后台数据进行排序处理后进行页面重载的过程,从而避免了在排序后页面中未保存数据可能发生丢失的问题,保证了页面原有数据及结构的安全性。
S102:获取用户设定的排序参数。
用户根据不同的排序需求,可以设定不同的排序参数。比如,设定不同的排序条件,和/或,设定不同的排序依据。
S103:根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
由于排序参数是用户根据相应的排序需求设定的,所以根据用户设定的不同排序参数对数据节点进行排序所得到的第二数据对象,能够满足用户相应的排序需求,得到用户想要的排序结果。
在一示例中,具有树形结构的第一数据对象通常会包括至少一个层级,所述至少一个层级中各层级均包括所述至少一个数据节点中的一个或多个。因此,步骤S103还可以具体包括:根据所述排序参数,分别对所述各层级的一个或多个数据节点进行排序,得到第二数据对象。
在该示例中,数据节点分为叶子节点与非叶子节点,在排序过程中,当任一非叶子节点的位置发生改变时,其下级所有的叶子节点和非叶子节点的位置也随之改变,使得其下级所有的叶子节点和非叶子节点继续属于该任一非叶子节点。
并且,在该示例中,所述分别对所述各层级的一个或多个数据节点进行排序,还可以包括:按照各层级的高低顺序,依次对各层级的一个或多个数据节点进行排序。
本实施例提供的数据排序方法,直接从页面获取数据对象进行排序,即直接对前端数据进行排序处理,而不再通过服务端对后台数据进行排序处理,也无需在排序后进行整个页面的重载过程,从而避免了在排序后页面中未保存数据可能发生丢失的问题,而且本发明在前端对数据对象进行排序处理,克服了服务端排序处理过程的局限性,可以适应用户定制的各种排序需求,从而提高了数据对象最终的排序展示效果。
而且,本实施例直接对前端页面的数据进行处理的方式,相较于通过服务端在后台进行数据处理,节省了与服务端后台进行交互的过程,使得排序处理速度更快,效率更高。
请参阅图2,图2为本申请实施例提供的数据排序方法的另一种流程图。
如图2所示,所述方法包括:
S201:获取页面内树形结构的第一数据对象;所述第一数据对象包括至少一个数据节点,以及,所述至少一个数据节点中各数据节点的状态信息。
树形结构的数据对象,在与用户的数据交互过程中,其中的数据节点通常包括各种状态,如折叠状态、选中状态、隐藏状态等状态中的至少一种,而状态信息则是表征数据节点所处于状态的信息。由于第一数据对象包括各数据节点的状态信息,所以,在获取第一数据对象的过程中,也包括对第一数据对象中各数据节点的状态信息的获取。
S202:获取用户设定的排序参数。
S203:根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
其中,步骤S202-S203与前述实施例中的步骤S102-S103相类似,在此不再赘述。
S204:根据所述第一数据对象中各数据节点的状态信息,设置所述第二数据对象中各数据节点的状态。
第二数据对象是对第一数据对象中至少一个数据节点进行排序后得到的排序结果,第二数据对象中的各数据节点与第一数据对象中的各数据节点一一对应。
在排序过程中,各数据节点的位置会发生改变,而在数据节点的位置发生改变时,可能会导致各数据节点的状态信息发生丢失,所以,本实施例在获取第一数据对象的过程中,还包括对第一数据对象中各数据节点的状态信息的获取,这样,在排序得到第二数据对象时,根据获取的第一数据对象中各数据节点的状态信息,对应设置第二数据对象中各数据节点的状态,能够保证相对应的各数据节点在排序后的状态与排序前的状态相一致,避免数据节点的状态丢失,提高排序展示效果。
具体示例中,在获取如图7a所示的第一数据对象时,同时也会获取到第一数据对象中“林测试”与“蒋测试”下的数据节点“2”与数据节点“2-2”的折叠状态,如图7a所示,其折叠状态均为“展开状态”;在排序后得到如图7b所示的第二数据对象时,将“林测试”与“蒋测试”下的数据节点“2”与数据节点“2-2”的折叠状态均设置为“展开状态”,使得“林测试”与“蒋测试”下的数据节点“2”与数据节点“2-2”的折叠状态在排序前后相一致。
在一示例中,所述方法还包括:
在进行排序之前,获取所述页面内的第三数据对象;在排序结束之后,将所述第三数据对象恢复至所述页面;其中,所述第三数据对象与所述第一数据对象不同。
在该示例中,第三数据对象是指页面中第一数据对象之外的其他数据对象。在实际应用中,当第一数据对象发生改变时,可能会对页面中其他数据对象造成影响,导致其他数据对象的数据丢失或数据紊乱。因此,在对第一数据对象进行排序之前,先获取页面内的第三数据对象,再在排序后将所述第三数据对象恢复至所述页面,从而避免排序过程对页面内其他数据对象的影响。
本实施例提供的数据排序方法,在获取第一数据对象的过程中,也包括对第一数据对象中各数据节点的状态信息的获取;在排序得到第二数据对象时,根据获取的第一数据对象中各数据节点的状态信息,对应设置第二数据对象中各数据节点的状态,能够保证各数据节点在排序后的状态与排序前的状态相一致,避免数据节点的状态丢失,提高排序展示效果。
而且,在对第一数据对象的数据节点进行排序之前,先获取页面内的第三数据对象,再在排序后将所述第三数据对象恢复至所述页面,从而能够避免排序过程对页面内其他数据对象的影响,进一步提高排序展示效果。
请参阅图3,图3为本申请实施例提供的数据排序方法的又一种流程图。
如图3所示,所述方法包括:
S301:获取页面内树形结构的第一数据对象;其中,所述第一数据对象包括至少一个数据节点,以及,至少一个层级。
在实际应用中,树形结构的第一数据对象通常会包括至少一个层级,而所述至少一个层级中各层级均包括所述至少一个数据节点中的一个或多个。
S302:获取用户设定的排序参数;其中,所述排序参数包括目标层级信息或固定层级信息。
其中,目标层级信息是用于表征目标层级的信息,固定层级信息是用于表征固定层级的信息。目标层级是需要执行数据排序的层级;固定层级是禁止执行数据排序的层级。
S303:根据所述排序参数,对所述至少一个层级中的目标层级的数据节点进行排序。
在一示例中,根据所述目标层级信息,对所述至少一个层级中的目标层级的数据节点进行排序。
在另一示例中,根据所述固定层级信息,对所述至少一个层级中的目标层级的数据节点进行排序;其中,所述目标层级为所述至少一个层级中除了固定层级以外的层级。
当排序参数为目标层级信息时,根据目标层级信息,能够从所述至少一个层级中直接确定出需要执行数据排序的目标层级,进而对目标层级的数据节点进行排序。
当排序参数为固定层级信息时,根据固定层级信息,能够从所述至少一个层级中确定出禁止执行数据排序的固定层级,而至少一个层级中除了固定层级外的层级均为需要执行数据排序的层级,即进而确定出目标层级,并对目标层级的数据节点进行排序。
相应的,当排序参数为目标层级信息时,所述至少一个层级中除了目标层级之外的层级均为固定层级。
在又一示例中,固定层级默认为第一层级,或者,前两个层级。第一层级,或者,前两个层级通常是树形结构中核心数据节点所在的层级,其反映了树形结构的主体结构,所以,在该示例中,将固定层级信息默认设置为表征第一层级,或者,前两个层级的信息,以保证排序后的第二数据对象相对于排序前的第一数据对象,主体结构保持一致。
具体示例中,固定层级包括第一层级与第二层级,如图7a所示的第一数据对象,第一层级包括数据节点“林测试”与“蒋测试”,第二层级包括“林测试”与“蒋测试”下的数据节点“test-1”与“test-2”。
在排序前,数据节点“林测试”在“蒋测试”之前,“林测试”下的数据节点“test-1”在“test-2”之前,“蒋测试”下的数据节点“test-1”在“test-2”之后;在排序时,仅对固定层级之外的其他层级的数据节点进行排序,保持固定层级的数据节点的位置不变,即保证数据节点“林测试”与“蒋测试”以及“林测试”与“蒋测试”下的数据节点“test-1”与“test-2”的位置不变,对其他层级的数据节点进行排序;在排序后,得到如图7b所示的第二数据对象,显然,在第二数据对象中,固定层级的数据节点“林测试”与“蒋测试”以及“林测试”与“蒋测试”下的数据节点“test-1”与“test-2”的位置并未发生改变,而其他层级数据节点的位置已发生改变。
本实施例提供的数据排序方法,通过固定层级信息或目标层级信息的排序参数的设置,能够保持一部分层级的数据节点的原有顺序,对另一部分层级的数据节点进行排序,从而实现对第一数据对象中各层级的选择性排序,提高了数据排序的可定制性与灵活性,以满足用户的不同排序需求,进而提高最终的排序展示效果。
并且,根据数据对象的主体结构,设定反映主体机构的层级为固定层级,能够保证数据对象的主体结构在排序前后保持一致。
请参阅图4,图4为本申请实施例提供的数据排序方法的再一种流程图。
如图4所示,所述方法包括:
S401:获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点。
其中,步骤S401与前述实施例中的步骤S101、S201或S301相类似,在此不再赘述。
S402:获取用户设定的排序参数,所述排序参数包括排序依据,所述排序依据包括:用户自定义序列。
在实际应用中,排序依据通常包括时间序列、数字序列、字母序列等,但是这些常规排序依据无法满足用户自定义的排序需求。因此,本实施例提供了用户自定义序列作为排序依据。
用户自定义序列,可以是用户自定义的任何具有先后顺序的序列,第一数据对象中的各数据节点与自定义排序序列中的各元素相对应,进而依据用户自定义序列对第一数据对象中的数据节点进行排序。
S403:根据所述用户自定义序列对所述至少一个数据节点进行排序。
在一示例中,所述用户自定义序列包括项目流程,项目流程中包括至少一个执行项目以及各执行项目之间的顺序关系。
在该示例中,所述步骤S403包括:
根据所述项目流程中各执行项目之间的顺序关系,对第一数据对象中的项目节点进行排序;其中,项目节点是与执行项目相对应的数据节点。
在本实施例的其他示例中,排序参数还包括前述实施例中的目标层级信息或固定层级信息,相应的,步骤S403包括:根据所述目标层级信息与所述用户自定义序列,或者,所述固定层级信息与所述用户自定义序列,对所述至少一个层级中的目标层级的数据节点进行排序。
本实施例提供的数据排序方法,根据用户自定义序列对所述至少一个数据节点进行排序,而并不仅仅局限于根据时间序列、数字序列或字母序列等对数据节点进行排序,从而提供了排序依据的可定制性与灵活性,以满足用户的不同排序需求,进而提高最终的排序展示效果。
本申请图1~图4所示的上述四个实施例,是本发明一部分实施例,而不是全部的实施例。基于上述实施例,本领域普通技术人员在没有做出创造性劳动前提下,可以对上述实施例中的各个步骤进行灵活组合,从而可以得到多个其他实施例,并且,由此得到的所有其他实施例,均属于本发明保护的范围。
此外,在实际应用中,前端页面通常还包括数据过滤功能和/或自动更新功能,由于本发明是在前端页面进行数据排序处理,所以,即使在对第一数据对象进行数据过滤和/或自动更新的情况下,本发明仍可实现对过滤后或自动更新后第一数据对象的排序操作,并展示过滤后的第二数据对象;并且,在展示第二数据对象后,即使取消过滤条件,依然能对完整的第二数据对象进行展示,从而能够很好的兼容页面中的数据过滤功能与自动更新功能,保证了数据排序方法对页面功能的兼容性。
对应于前述的数据排序方法,本发明实施例还提供了相应的数据排序装置。
请参阅图5,图5为本申请实施例提供的数据排序装置的一种结构示意图。
本实施例的数据排序装置,用于实施前述实施例的数据排序方法,如图5所示,所述装置包括:
对象获取单元U101,用于获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点。
相对于服务端,页面属于前端。获取页面内树形结构的第一数据对象,就是直接对前端的数据对象进行整体获取,而不同于服务端对后台中数据内容的提取。由于本发明是获取前端数据并进行排序处理,无需服务端在对后台数据进行排序处理后进行页面重载的过程,从而避免了在排序后页面中未保存数据可能发生丢失的问题,保证了页面原有数据及结构的安全性。
参数获取单元U102,用于获取用户设定的排序参数。
用户根据不同的排序需求,可以设定不同的排序参数。比如,设定不同的排序条件,和/或,设定不同的排序依据。
数据排序单元U103,用于根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
由于排序参数是用户根据相应的排序需求设定的,所以根据用户设定的不同排序参数对数据节点进行排序所得到的第二数据对象,能够满足用户相应的排序需求,得到用户想要的排序结果。
在一示例中,具有树形结构的第一数据对象通常包括至少一个层级,所述至少一个层级中的各层级均包括所述至少一个数据节点中的一个或多个。所以,所述数据排序单元U103具体用于根据所述排序参数,分别对所述各层级的一个或多个数据节点进行排序,得到第二数据对象。
在该示例中,数据节点分为叶子节点与非叶子节点,在排序过程中,当任一非叶子节点的位置发生改变时,其下级所有的叶子节点和非叶子节点的位置也随之改变,使得其下级所有的叶子节点和非叶子节点继续属于该任一非叶子节点。
并且,在该示例中,所述分别对所述各层级的一个或多个数据节点进行排序,还可以包括:按照各层级的高低顺序,依次对各层级的一个或多个数据节点进行排序。
在另一示例中,所述对象获取单元U101,具体用于获取页面内树形结构的第一数据对象;其中,所述第一数据对象包括至少一个数据节点,以及,至少一个层级。
所述参数获取单元U102,具体用于获取用户设定的排序参数;其中,用户设定的排序参数包括目标层级信息或固定层级信息。
其中,目标层级信息是用于表征目标层级的信息,固定层级信息是用于表征固定层级的信息。目标层级是需要执行数据排序的层级;固定层级是禁止执行数据排序的层级。
所述数据排序单元U103,具体用于根据所述排序参数,对所述至少一个层级中的目标层级的数据节点进行排序。其中,包括:
根据所述目标层级信息,对所述至少一个层级中的目标层级的数据节点进行排序;
或者,
根据所述固定层级信息,对所述至少一个层级中的目标层级的数据节点进行排序;其中,所述目标层级为所述至少一个层级中除了固定层级以外的层级。
当排序参数为目标层级信息时,根据目标层级信息,能够从所述至少一个层级中直接确定出需要执行数据排序的目标层级,进而对目标层级的数据节点进行排序。
当排序参数为固定层级信息时,根据固定层级信息,能够从所述至少一个层级中确定出禁止执行数据排序的固定层级,而至少一个层级中除了固定层级外的层级均为需要执行数据排序的层级,即进而确定出目标层级,并对目标层级的数据节点进行排序。
相应的,当排序参数为目标层级信息时,所述至少一个层级中除了目标层级之外的层级均为固定层级。
在又一示例中,所述参数获取单元U102,具体用于获取用户设定的排序参数,所述排序参数包括排序依据,所述排序依据包括:用户自定义序列。
在实际应用中,排序依据通常包括时间序列、数字序列、字母序列等,但是这些常规排序依据无法满足用户自定义的排序需求。因此,本实施例提供了用户自定义序列作为排序依据。
用户自定义序列,可以是用户自定义的任何具有先后顺序的序列,第一数据对象中的各数据节点与自定义排序序列中的各元素相对应,进而依据用户自定义序列对第一数据对象中的数据节点进行排序。
所述数据排序单元U103,具体用于根据所述用户自定义序列对所述至少一个数据节点进行排序。
在再一示例中,排序参数除了包括用户自定义序列外,还包括目标层级信息或固定层级信息,相应的,所述数据排序单元U103,还具体用于根据所述目标层级信息与所述用户自定义序列,或者,所述固定层级信息与所述用户自定义序列,对所述至少一个层级中的目标层级的数据节点进行排序。
本实施例提供的数据排序装置,直接从页面获取数据对象进行排序,即直接对前端数据进行排序处理,而不再通过服务端对后台数据进行排序处理,也无需在排序后进行整个页面的重载过程,从而避免了在排序后页面中未保存数据可能发生丢失的问题,而且本发明在前端对数据对象进行排序处理,克服了服务端排序处理过程的局限性,可以适应用户定制的各种排序需求,从而提高了数据对象最终的排序展示效果。
而且,本实施例直接对前端页面的数据进行处理的方式,相较于通过服务端在后台进行数据处理,节省了与服务端后台进行交互的过程,使得排序处理速度更快,效率更高。
请参阅图6,图6为本申请实施例提供的数据排序装置的另一种结构示意图。
本实施例的数据排序装置,除了包括前述实施例中的对象获取单元U101、参数获取单元U102和数据排序单元U103,还包括:状态恢复单元U104。
所述对象获取单元U101,具体用于获取页面内树形结构的第一数据对象;所述第一数据对象包括至少一个数据节点,以及,所述至少一个数据节点中各数据节点的状态信息。
树形结构的数据对象,在与用户的数据交互过程中,其中的数据节点通常包括各种状态,如折叠状态、选中状态、隐藏状态等状态中的至少一种,而状态信息则是表征数据节点所处于状态的信息。由于第一数据对象包括各数据节点的状态信息,所以,在获取第一数据对象的过程中,也包括对第一数据对象中各数据节点的状态信息的获取。
所述状态恢复单元U104,用于根据所述第一数据对象中各数据节点的状态信息,设置所述第二数据对象中各数据节点的状态。
第二数据对象是对第一数据对象中至少一个数据节点进行排序后得到的排序结果,第二数据对象中的各数据节点与第一数据对象中的各数据节点一一对应。
在排序过程中,各数据节点的位置会发生改变,而在数据节点的位置发生改变时,可能会导致各数据节点的状态信息发生丢失,所以,本实施例在获取第一数据对象的过程中,还包括对第一数据对象中各数据节点的状态信息的获取,这样,在排序得到第二数据对象时,根据获取的第一数据对象中各数据节点的状态信息,对应设置第二数据对象中各数据节点的状态,能够保证相对应的各数据节点在排序后的状态与排序前的状态相一致,避免数据节点的状态丢失,提高排序展示效果。
在一示例中,所述状态恢复单元U104,还用于在进行排序之前,获取所述页面内的第三数据对象;在排序结束之后,将所述第三数据对象恢复至所述页面;其中,所述第三数据对象与所述第一数据对象不同。
在该示例中,第三数据对象是指页面中第一数据对象之外的其他数据对象。在实际应用中,当第一数据对象发生改变时,可能会对页面中其他数据对象造成影响,导致其他数据对象的数据丢失或数据紊乱。因此,在对第一数据对象进行排序之前,先获取页面内的第三数据对象,再在排序后将所述第三数据对象恢复至所述页面,从而避免排序过程对页面内其他数据对象的影响。
本实施例提供的数据排序装置,在获取第一数据对象的过程中,也包括对第一数据对象中各数据节点的状态信息的获取;在排序得到第二数据对象中,根据获取的第一数据对象中各数据节点的状态信息,对应设置第二数据对象中各数据节点的状态,能够保证各数据节点在排序后的状态与排序前的状态相一致,避免数据节点的状态丢失,提高排序展示效果。
而且,在对第一数据对象进行排序之前,先获取页面内的第三数据对象,再在排序后将所述第三数据对象恢复至所述页面,从而能够避免排序过程对页面内其他数据对象的影响,进一步提高排序展示效果。
本发明实施例提供的数据排序装置,包括处理器和存储器,上述对象获取单元U101、参数获取单元U102和数据排序单元U103、状态恢复单元U104等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决针对树形结构的数据对象,目前的数据排序方案最终的排序展示效果较差的技术问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任一项前述的数据排序方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项前述的数据排序方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点;
获取用户设定的排序参数;
根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
优选的,所述第一数据对象还包括所述至少一个数据节点中各数据节点的状态信息;所述方法还包括:
根据所述第一数据对象中各数据节点的状态信息,设置所述第二数据对象中各数据节点的状态。
优选的,所述方法还包括:
在进行排序之前,获取所述页面内的第三数据对象;
在排序结束之后,将所述第三数据对象恢复至所述页面;
其中,所述第三数据对象与所述第一数据对象不同。
优选的,所述第一数据对象包括至少一个层级;所述排序参数包括目标层级信息;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述目标层级信息,对所述至少一个层级中的目标层级的数据节点进行排序。
优选的,所述第一数据对象包括至少一个层级;所述排序参数包括固定层级信息;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述固定层级信息,对所述至少一个层级中的目标层级的数据节点进行排序;
其中,所述目标层级为所述至少一个层级中除了固定层级以外的层级。
优选的,所述排序参数包括排序依据;所述排序依据包括:用户自定义序列。
优选的,所述用户自定义序列包括项目流程;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述项目流程中各执行项目之间的顺序关系,对第一数据对象中的项目节点进行排序;
其中,项目节点是与执行项目相对应的数据节点。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点;
获取用户设定的排序参数;
根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
优选的,所述第一数据对象还包括所述至少一个数据节点中各数据节点的状态信息;所述方法还包括:
根据所述第一数据对象中各数据节点的状态信息,设置所述第二数据对象中各数据节点的状态。
优选的,所述方法还包括:
在进行排序之前,获取所述页面内的第三数据对象;
在排序结束之后,将所述第三数据对象恢复至所述页面;
其中,所述第三数据对象与所述第一数据对象不同。
优选的,所述第一数据对象包括至少一个层级;所述排序参数包括目标层级信息;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述目标层级信息,对所述至少一个层级中的目标层级的数据节点进行排序。
优选的,所述第一数据对象包括至少一个层级;所述排序参数包括固定层级信息;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述固定层级信息,对所述至少一个层级中的目标层级的数据节点进行排序;
其中,所述目标层级为所述至少一个层级中除了固定层级以外的层级。
优选的,所述排序参数包括排序依据;所述排序依据包括:用户自定义序列。
优选的,所述用户自定义序列包括项目流程;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述项目流程中各执行项目之间的顺序关系,对第一数据对象中的项目节点进行排序;
其中,项目节点是与执行项目相对应的数据节点。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据排序方法,其特征在于,所述方法包括:
获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点;
获取用户设定的排序参数;
根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
2.如权利要求1所述的方法,其特征在于,所述第一数据对象还包括所述至少一个数据节点中各数据节点的状态信息;所述方法还包括:
根据所述第一数据对象中各数据节点的状态信息,设置所述第二数据对象中各数据节点的状态。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
在进行排序之前,获取所述页面内的第三数据对象;
在排序结束之后,将所述第三数据对象恢复至所述页面;
其中,所述第三数据对象与所述第一数据对象不同。
4.如权利要求1所述的方法,其特征在于,所述第一数据对象包括至少一个层级;所述排序参数包括目标层级信息;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述目标层级信息,对所述至少一个层级中的目标层级的数据节点进行排序。
5.如权利要求1所述的方法,其特征在于,所述第一数据对象包括至少一个层级;所述排序参数包括固定层级信息;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述固定层级信息,对所述至少一个层级中的目标层级的数据节点进行排序;
其中,所述目标层级为所述至少一个层级中除了固定层级以外的层级。
6.如权利要求1所述的方法,其特征在于,所述排序参数包括排序依据;所述排序依据包括:用户自定义序列。
7.如权利要求6所述的方法,其特征在于,所述用户自定义序列包括项目流程;所述根据所述排序参数对所述至少一个数据节点进行排序包括:
根据所述项目流程中各执行项目之间的顺序关系,对第一数据对象中的项目节点进行排序;
其中,项目节点是与执行项目相对应的数据节点。
8.一种数据排序装置,其特征在于,所述装置包括:
对象获取单元,用于获取页面内树形结构的第一数据对象,所述第一数据对象包括至少一个数据节点;
参数获取单元,用于获取用户设定的排序参数;
数据排序单元,用于根据所述排序参数对所述至少一个数据节点进行排序,得到第二数据对象。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-6中任一项所述的数据排序方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求1-6中任一项所述的数据排序方法。
CN201710888296.9A 2017-09-27 2017-09-27 数据排序方法及装置 Active CN109558401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710888296.9A CN109558401B (zh) 2017-09-27 2017-09-27 数据排序方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710888296.9A CN109558401B (zh) 2017-09-27 2017-09-27 数据排序方法及装置

Publications (2)

Publication Number Publication Date
CN109558401A true CN109558401A (zh) 2019-04-02
CN109558401B CN109558401B (zh) 2021-09-17

Family

ID=65863704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710888296.9A Active CN109558401B (zh) 2017-09-27 2017-09-27 数据排序方法及装置

Country Status (1)

Country Link
CN (1) CN109558401B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1776678A (zh) * 2004-11-18 2006-05-24 国际商业机器公司 用于表的客户端操作的方法和系统
CN101782851A (zh) * 2009-12-25 2010-07-21 北京惠信博思技术有限公司 一种更新展示页面的方法
CN104615446A (zh) * 2015-03-06 2015-05-13 庞迪 一种基于地理位置的个人桌面切换方法及系统
CN104765868A (zh) * 2015-04-23 2015-07-08 南通理工学院 一种用于数据查询的页面显示方法
CN105159946A (zh) * 2015-08-11 2015-12-16 北京思特奇信息技术股份有限公司 一种基于jQuery的表格排序方法及系统
CN105740478A (zh) * 2016-03-25 2016-07-06 浪潮通用软件有限公司 一种无刷新实现分页排序表格的方法及装置
CN106446295A (zh) * 2016-11-23 2017-02-22 努比亚技术有限公司 数据排序方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1776678A (zh) * 2004-11-18 2006-05-24 国际商业机器公司 用于表的客户端操作的方法和系统
CN101782851A (zh) * 2009-12-25 2010-07-21 北京惠信博思技术有限公司 一种更新展示页面的方法
CN104615446A (zh) * 2015-03-06 2015-05-13 庞迪 一种基于地理位置的个人桌面切换方法及系统
CN104765868A (zh) * 2015-04-23 2015-07-08 南通理工学院 一种用于数据查询的页面显示方法
CN105159946A (zh) * 2015-08-11 2015-12-16 北京思特奇信息技术股份有限公司 一种基于jQuery的表格排序方法及系统
CN105740478A (zh) * 2016-03-25 2016-07-06 浪潮通用软件有限公司 一种无刷新实现分页排序表格的方法及装置
CN106446295A (zh) * 2016-11-23 2017-02-22 努比亚技术有限公司 数据排序方法及装置

Also Published As

Publication number Publication date
CN109558401B (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
JP5950285B2 (ja) 予め決められた複数のビット幅のデータに対して操作を行う命令を使用してツリーの検索を行うための方法、並びに、当該命令を使用してツリーの検索を行うためのコンピュータ及びそのコンピュータ・プログラム
CN104869140B (zh) 多集群系统和控制多集群系统的数据存储的方法
CN107562483A (zh) 一种挂载引导文件系统的方法及装置
EP3640813A1 (en) Random walk method, apparatus and device, and cluster-based random walk method, apparatus and device
CN103856548A (zh) 动态资源调度方法和动态资源调度器
CN104951342A (zh) 一种调整启动顺序的方法及装置
CN110069312A (zh) 一种ui组件配置和生成ui组件库的方法及装置
CN109634682A (zh) 应用程序的配置文件更新方法及装置
CN109857516A (zh) 基于容器的集群迁移方法及装置
CN108415912A (zh) 基于MapReduce模型的数据处理方法和设备
CN109388614A (zh) 一种目录文件个数配额的方法、系统及设备
CN109189327A (zh) 区块链数据的压缩处理方法和装置
CN103838720B (zh) 页面文件载入执行方法和装置
CN113835823A (zh) 资源调度方法和装置、电子设备、计算机可读存储介质
CN110134646A (zh) 知识平台服务数据存储与集成方法及系统
CN110134701A (zh) 一种缓冲补账方法及装置
CN106294530B (zh) 规则匹配的方法和系统
CN108829790A (zh) 一种数据批处理方法、装置及系统
CN108984790A (zh) 一种数据分箱方法及装置
CN108446301A (zh) 业务文件拆分汇总方法、装置及设备
CN109558401A (zh) 数据排序方法及装置
CN106204125A (zh) 一种定价方法及装置
CN115292169A (zh) 一种ui自动化测试方法及系统
US8776253B2 (en) Authority changing device, generating device, and computer program product
CN109582834A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant