一种基于多值属性的排序方法和设备技术

技术编号:7185545 阅读:433 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供了一种基于多值属性的排序方法。该包括包括:获取实体的多值属性排序方式指示,所述实体具有多值属性;根据所述多值属性排序方式指示所指示的多值属性排序方式来确定实体的排序属性值,并根据排序属性值对所述实体进行排序得到排序结果;根据接收到的对实体进行排序的查询请求,返回携带有所述排序属性值的排序结果,所述查询请求携带多值属性排序方式指示和返回排序属性值指示。本发明专利技术实施例可以在结果集中直观的显示实体的排序属性值,从而可以获知实体出现在某个位置的原因,满足应用的需求,方便应用对排序结果进行进一步的处理。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及通信
,尤其涉及一种基于多值属性的排序方法和设备
技术介绍
随着互联网技术和数据库技术的发展,传统的关系数据库的一个列只能具有一个值的限制对应用的数据建模和数据过滤带来了不便。例如,视频的描述信息中一个视频可能具有多个类别信息;一个用户的通信录中可以具有多个Email地址等。现在,业界出现了目录服务器等支持多值属性的数据库。支持多值属性的数据库中的实体可以具有多值属性,这里的多值属性就是指可以有多个属性值的属性。支持多值属性的数据库中的实体相当于关系数据库中的行,实体的属性相当于关系数据库中的列。现有的支持多值属性的数据库,由于实体具有多值属性,因此有的数据库支持按照多值属性排序,在排序的过程中每个实体所有满足条件的多值属性的值(即多值属性值)都可以决定该实体在排序结果集中的位置。由于多值属性有多个属性值,一个实体对应的数据可能在结果集中多个位置出现,导致应用无法从返回的结果集中获知实体出现在某个位置的原因。
技术实现思路
本专利技术实施例提供一种基于多值属性的排序方法和设备,可以在结果集中直观的显示实体的排序属性值,从而可以获知实体出现在某个位置的原因,满足应用的需求。本专利技术实施例一方面提供了一种基于多值属性的排序方法,包括获取实体的多值属性排序方式指示,所述实体具有多值属性;根据所述多值属性排序方式指示所指示的多值属性排序方式来确定实体的排序属性值,并根据排序属性值对所述实体进行排序得到排序结果;根据接收到的对实体进行排序的查询请求,返回携带有所述排序属性值的排序结果,所述查询请求携带多值属性排序方式指示和返回排序属性值指示。本专利技术实施例另一方面提供了一种基于多值属性的排序设备,包括获取单元,用于获取实体的多值属性排序方式指示,所述实体具有多值属性;排序单元,根据所述多值属性排序方式指示所指示的多值属性排序方式来确定实体的排序属性值,并根据排序属性值对所述实体进行排序得到排序结果;接收单元,用于接收对实体进行排序的查询请求,所述查询请求携带多值属性排序方式指示和返回排序属性值指示;发送单元,用于根据接收到的对实体进行排序的查询请求,返回携带有所述排序属性值的排序结果。本专利技术实施例提供的基于多值属性的排序方法和设备,获取实体的多值属性排序方式指示;根据所述多值属性排序方式指示所指示的多值属性排序方式来确定实体的排序属性值,并根据排序属性值对所述实体进行排序得到排序结果,所述实体具有多值属性;根据接收到的对实体进行排序的查询请求,返回携带有所述排序属性值的排序结果,所述查询请求携带多值属性排序方式指示和返回排序属性值指示。因此,可以在结果集中直观的显示实体的排序属性值,从而可以获知实体出现在某个位置的原因,满足了应用的需求,方便应用对排序结果进行进一步的处理。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种基于多值属性的排序方法流程图;图2为本专利技术实施例提供的另一种基于多值属性的排序方法的流程图;图3为本专利技术实施例提供的另一种基于多值属性的排序方法的流程图;图4为本专利技术实施例提供的另一种基于多值属性的排序方法的流程图;图5为本专利技术实施例提供的一种基于多值属性的排序设备的结构图;图6为本专利技术实施例提供的另一种基于多值属性的排序设备的结构图;图7为本专利技术实施例提供的另一种基于多值属性的排序设备的结构图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。支持多值属性的数据库的数据按域的方式进行组织,域和关系数据库中的表类似,域内包含的数据项称为实体(不同的支持多值属性的数据库中可能有不同的名称,例如条目、项等,这里统称为实体)。一个域内的实体具有相同的类型,每个实体在域内具有一个唯一的标识,该标识和关系数据库中行的标识类似;而且一个实体具有一个或者多个属性,属性名称和关系数据库列名类似,一个多值属性可以具有一个或者多个属性值,属性值和关系数据库中的列的值类似。支持多值属性的数据库中的属性允许存在多个值,而且可以根据这多个值进行数据过滤。可以具有多个属性值的属性称为多值属性,相应的,多值属性的值可以称为多值属性值。如表1所示为支持多值属性的数据库一个域的数据。其中,序号1和2为实体的标识;Name,Sex, Email为实体的属性。实体的属性Email允许一个实体有多个Email,那么属性Email就是多值属性。具体的,实体1的Name属性的属性值为张三,实体2的Name 属性的属性值为李四;实体1 属性的属性值为男,实体2的Sex属性的属性值为男; 实体1的Email属性的多值属性值为^iangsanOyahoo. com,实体2的Email属性的多值属性值为 lisiiyahoo. com 禾Π lisiil63. com。5NameSexEmail1张三男zhangsan@yahoo. com2李四男lisi@yahoo.com lisi@163.com表一如图1所示,本专利技术实施例提供了一种基于多值属性的排序方法,包括S101,获取实体的多值属性排序方式指示,所述实体具有多值属性;其中,多值属性排序方式指示可以是预先配置的,也可以是从外部获取的,例如从查询请求中获取的。S103,根据所述多值属性排序方式指示所指示的多值属性排序方式来确定实体的排序属性值,并根据排序属性值对所述实体进行排序得到排序结果;其中,多值属性排序方式包括下面任意一种实体的所有多值属性值都作为排序属性值参与排序;实体的多值属性值的平均值作为排序属性值参与排序;实体的多值属性值的总和作为排序属性值参与排序;实体的多值属性值的最大值作为排序属性值参与排序;实体的多值属性值的最小值作为排序属性值参与排序;脚本方式。可选的,可以按照多值属性排序方式,对实体的多值属性值进行计算,确定实体的排序属性值。S105,根据接收到的对实体进行排序的查询请求,返回携带有所述排序属性值的排序结果,所述查询请求携带多值属性排序方式指示和返回排序属性值指示。通过该实施例提供的基于多值属性的排序方法,根据多值属性排序方式指示所指示的多值属性排序方式确定排序属性值,可以在结果集中直观的显示实体的排序属性值, 从而可以获知实体出现在某个位置的原因,满足了应用的需求,方便应用对排序结果进行进一步的处理,比如需将导致实体出现在此位置的排序属性值加亮加粗在网页上显示等。 而且,通过在查询请求中携带多值属性排序方式指示,还可以满足应用灵活的排序需求。如图2所示,本专利技术实施例提供了另一种基于多值属性的排序方法。这里以结构化查询语言(SQL,Structured Query Language)扩展为例来说明本实施例中的排序方法。S201,服务器接收应用发送的对实体进行排序的查询请求,查询请求中携带多值属性排序方本文档来自技高网...

【技术保护点】
1.一种基于多值属性的排序方法,其特征在于,包括:获取实体的多值属性排序方式指示,所述实体具有多值属性;根据所述多值属性排序方式指示所指示的多值属性排序方式来确定实体的排序属性值,并根据排序属性值对所述实体进行排序得到排序结果;根据接收到的对实体进行排序的查询请求,返回携带有所述排序属性值的排序结果,所述查询请求携带多值属性排序方式指示和返回排序属性值指示。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:曹俊亮刘晓
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1