CN105354005A - 更新积分排名的方法及装置 - Google Patents
更新积分排名的方法及装置 Download PDFInfo
- Publication number
- CN105354005A CN105354005A CN201510726122.3A CN201510726122A CN105354005A CN 105354005 A CN105354005 A CN 105354005A CN 201510726122 A CN201510726122 A CN 201510726122A CN 105354005 A CN105354005 A CN 105354005A
- Authority
- CN
- China
- Prior art keywords
- integration
- rank
- list
- rank value
- value
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
- G06F7/08—Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开是关于一种更新积分排名的方法及装置,属于数据处理技术领域。所述方法包括:获取至少两个对象的积分;根据至少两个对象的积分建立积分排名表,积分排名表中包含m个积分以及m个积分的排名数值;对于至少两个对象中的每一个对象,当对象的积分由s变化为t时,根据s和t确定排名变化区间;对积分排名表中,处于排名变化区间内的各个积分的排名数值进行更新。本公开通过根据至少两个对象的积分建立积分排名表,并在某一对象的积分发生时,根据变化值确定排名变化区间,最终对处于排名变化区间内的各个积分的排名数值进行更新,有效地减少了实时更新海量数据的积分时占用的内存资源和运算资源,降低了维护开销。
Description
技术领域
本公开涉及数据处理技术领域,特别涉及一种更新积分排名的方法及装置。
背景技术
在网络服务的数据处理实践中,如何利用尽可能低的开销对海量数据的排名进行实时更新,已经成为相关技术人员必须要解决的问题。
在相关技术中,通常使用平衡二叉树算法对海量数据进行实时排名。比如,对平衡二叉树的每个节点,定义其包括3个值,分别为:数据区间、个数值和指针。利用平衡二叉树查询该数据排名分为以下三个步骤:1、创建平衡二叉树,确定每个节点的数据区间,数据区间用来表明该节点包括的数据取值范围,例如数据区间[6,8]表示取值范围为6,7,8三个整数;2、统计每个节点的个数值,该个数值指节点包括的数据的个数;3、查询某个数据的排名。具体的查询算法是对于查找路径上的任意节点,如果数据在左节点区间,则累加右节点区间的计数,最终累加计数的结果加1即是数据的名次。
然而,当数据量增加到百万级、千万级或者更高数量级时,用来处理这些数据排名的平衡二叉树会占用极高的内存和运算资源,且需要较高的维护开销。
发明内容
为了克服相关技术中存在的问题,本公开实施例提供了一种更新积分排名的方法及装置,所述技术方案如下:
根据本公开实施例的第一方面,提供了一种更新积分排名的方法,该方法包括:
获取至少两个对象的积分;
根据至少两个对象的积分建立积分排名表,积分排名表中包含m个积分以及m个积分的排名数值,m≥2,且m为整数;
对于至少两个对象中的每一个对象,当对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是m个积分中的两个;
对积分排名表中,处于排名变化区间内的各个积分的排名数值进行更新。
可选地,根据至少两个对象的积分建立积分排名表,包括:
生成由m个积分组成的积分数组,m个积分在积分数组中按照指定大小顺序排列,积分数组中包括已有积分和空缺积分;已有积分是至少两个对象的积分;空缺积分是积分数组中,除已有积分之外的其它积分;
确定已有积分的排名数值为已有积分之间的排名数值;
确定空缺积分的排名数值为空缺积分的后一个已有积分的排名数值,或者,确定空缺积分的排名数值为空缺积分的前一个已有积分的排名数值+1;
其中,空缺积分的后一个已有积分的排名数值为:排名比空缺积分靠后的第一个已有积分的排名数值;空缺积分的前一个已有积分的排名数值为:排名比空缺积分靠前的第一个已有积分的排名数值。
可选地,该积分排名表的排名规则为:积分数值与积分排名数值成负相关,当对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s小于t时,确定排名变化区间为[s,t);
对积分排名表中,处于排名变化区间内的各个积分的排名数值进行更新,包括:
将积分排名表中,处于[s,t)区间内的各个积分的排名数值+1。
可选地,该积分排名表的排名规则为:积分数值与积分排名数值成负相关,当对象的积分由s变化为t时,根据s和t确定排名变化区间,还包括:
当s大于t时,确定排名变化区间为[t,s);
对积分排名表中,处于排名变化区间内的各个积分的排名数值进行更新,包括:
将积分排名表中,处于[t,s)区间内的各个积分的排名数值-1。
可选地,该积分排名表的排名规则为:积分数值与积分排名数值成负相关,方法还包括:
当至少两个对象中新增一个积分为p的对象时,将积分排名表中,小于p的各个积分的排名数值+1,p是m个积分中的一个;
当至少两个对象中删除一个积分为q的对象时,将积分排名表中,小于q的各个积分的排名数值-1,q是m个积分中的一个。
可选地,该积分排名表的排名规则为:积分数值与积分排名数值成正相关,当对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s小于t时,确定排名变化区间为(s,t];
对积分排名表中,处于排名变化区间内的各个积分的排名数值进行更新,包括:
将积分排名表中,处于(s,t]区间内的各个积分的排名数值-1。
可选地,该积分排名表的排名规则为:积分数值与积分排名数值成正相关,当对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s大于t时,确定排名变化区间为(t,s];
对积分排名表中,处于排名变化区间内的各个积分的排名数值进行更新,包括:
将积分排名表中,处于(t,s]区间内的各个积分的排名数值+1。
可选地,该积分排名表的排名规则为:积分数值与积分排名数值成正相关,方法还包括:
当至少两个对象中新增一个积分为p的对象时,将积分排名表中,大于p的各个积分的排名数值+1,p是m个积分中的一个;
当至少两个对象中删除一个积分为q的对象时,将积分排名表中,大于q的各个积分的排名数值-1,q是m个积分中的一个。
根据本公开实施例的第二方面,提供了一种更新积分排名的装置,该装置包括:
积分获取模块,被设置为用于获取至少两个对象的积分;
排名表建立模块,被设置为用于根据积分获取模块获取到的至少两个对象的积分建立积分排名表,积分排名表中包含m个积分以及m个积分的排名数值,m≥2,且m为整数;
区间确定模块,被配置为对于至少两个对象中的每一个对象,当对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是m个积分中的两个;
第一更新模块,被配置为对积分排名表中,处于区间确定模块确定的排名变化区间内的各个积分的排名数值进行更新。
可选地,排名表建立模块,包括:
数组生成子模块,被配置为生成由m个积分组成的积分数组,m个积分在积分数组中按照指定大小顺序排列,积分数组中包括已有积分和空缺积分;已有积分是至少两个对象的积分;空缺积分是积分数组中,除已有积分之外的其它积分;
第一数值确定子模块,被配置为确定已有积分的排名数值为已有积分之间的排名数值;
第二数值确定子模块,被配置为确定空缺积分的排名数值为空缺积分的后一个已有积分的排名数值,或者,确定空缺积分的排名数值为空缺积分的前一个已有积分的排名数值+1;
其中,空缺积分的后一个已有积分的排名数值为:排名比空缺积分靠后的第一个已有积分的排名数值;空缺积分的前一个已有积分的排名数值为:排名比空缺积分靠前的第一个已有积分的排名数值。
可选地,积分排名表的排名规则为:积分数值与积分排名数值成负相关,区间确定模块,包括:
第一区间确定子模块,被配置为当s小于t时,确定排名变化区间为[s,t);
第一更新模块,包括:
第一更新子模块,被配置为将积分排名表中,处于第一区间确定子模块确定的[s,t)区间内的各个积分的排名数值+1。
可选地,积分排名表的排名规则为:积分数值与积分排名数值成负相关,区间确定模块,包括:
第二区间确定子模块,被配置为当s大于t时,确定排名变化区间为[t,s);
第一更新模块,包括:
第二更新子模块,被配置为将积分排名表中,处于第二区间确定子模块确定的[t,s)区间内的各个积分的排名数值-1。
可选地,该装置还包括:
第二更新模块,被配置为当积分排名表的排名规则为:积分数值与积分排名数值成负相关,且至少两个对象中新增一个积分为p的对象时,将积分排名表中,小于p的各个积分的排名数值+1,p是m个积分中的一个;
第三更新模块,被配置为当积分排名表的排名规则为:积分数值与积分排名数值成负相关,且至少两个对象中删除一个积分为q的对象时,将积分排名表中,小于q的各个积分的排名数值-1,q是m个积分中的一个。
可选地,积分排名表的排名规则为:积分数值与积分排名数值成正相关,区间确定模块,包括:
第三区间确定子模块,被配置为当s小于t时,确定排名变化区间为(s,t];
第一更新模块,包括:
第三更新子模块,被配置为将积分排名表中,处于第三区间确定子模块确定的(s,t]区间内的各个积分的排名数值-1。
可选地,积分排名表的排名规则为:积分数值与积分排名数值成正相关,区间确定模块,包括:
第四区间确定子模块,被配置为当s大于t时,确定排名变化区间为(t,s];
第一更新模块,包括:
第四更新子模块,被配置为将积分排名表中,处于第四区间确定子模块确定的(t,s]区间内的各个积分的排名数值+1。
可选地,该装置还包括:
第四更新模块,被配置为当积分排名表的排名规则为:积分数值与积分排名数值成正相关,且至少两个对象中新增一个积分为p的对象时,将积分排名表中,大于p的各个积分的排名数值+1,p是m个积分中的一个;
第五更新模块,被配置为当积分排名表的排名规则为:积分数值与积分排名数值成正相关,且至少两个对象中删除一个积分为q的对象时,将积分排名表中,大于q的各个积分的排名数值-1,q是m个积分中的一个。
根据本公开实施例的第三方面,提供了一种更新积分排名的装置,该装置包括:
处理器;
被配置为存储处理器的可执行指令的存储器;
其中,处理器被配置为:
获取至少两个对象的积分;
根据至少两个对象的积分建立积分排名表,积分排名表中包含m个积分以及m个积分的排名数值,m≥2,且m为整数;
对于至少两个对象中的每一个对象,当对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是m个积分中的两个;
对积分排名表中,处于排名变化区间内的各个积分的排名数值进行更新。
本公开实施例提供的技术方案可以包括以下有益效果:
通过根据至少两个对象的积分建立积分排名表,并在对象的积分发生时,根据变化值确定排名变化区间,最终对处于排名变化区间内的各个积分的排名数值进行更新;解决了相关技术中需要排名的数据量非常巨大时,用来处理这些数据排名的平衡二叉树占用极高的内存和运算资源的问题;有效地减少了实时更新海量数据的积分时占用的内存资源和运算资源,降低维护开销。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1A是根据一示例性实施例示出的一种更新积分排名方法的流程图;
图1B是根据图1A所示实施例示出的一种积分排名表;
图1C是根据图1A所示实施例示出的另一种积分排名表;
图1D是根据图1A所示实施例示出的又一种积分排名表;
图1E是根据图1A所示实施例示出的还一种积分排名表;
图2A是根据另一示例性实施例示出的一种更新积分排名方法的流程图;
图2B是根据图2A所示实施例示出的一种对象积分表;
图2C是根据图2A所示实施例示出的一种对象、积分以及排名数值之间的对应关系表;
图2D是根据图2A所示实施例示出的一种更新后的对象积分表和积分排名表;
图2E是根据图2A所示实施例示出的另一种更新后的对象积分表和积分排名表;
图2F是根据图2A所示实施例示出的一种新增对象后的对象积分表和积分排名表;
图2G是根据图2A所示实施例示出的一种删除对象后的对象积分表和积分排名表;
图3A是根据再一示例性实施例示出的一种更新积分排名的方法的流程图;
图3B是根据图3A所示实施例示出的一种对象、积分以及排名数值之间的对应关系表;
图3C是根据图3A所示实施例示出的一种更新后的对象积分表和积分排名表;
图3D是根据图3A所示实施例示出的另一种更新后的对象积分表和积分排名表;
图3E是根据图3A所示实施例示出的一种新增对象后的对象积分表和积分排名表;
图3F是根据图3A所示实施例示出的一种删除对象后的对象积分表和积分排名表;
图4是根据一示例性实施例示出的一种更新积分排名的装置的框图;
图5是根据另一示例性实施例示出的一种更新积分排名的装置的框图;
图6是根据一示例性实施例示出的一种装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1A是根据一示例性实施例示出的一种更新积分排名的方法的流程图。该更新积分排名的方法可以包括如下几个步骤:
在步骤101中,获取至少两个对象的积分。
在步骤102中,根据该至少两个对象的积分建立积分排名表,该积分排名表中包含m个积分以及该m个积分的排名数值,m≥2,且m为整数。
其中,积分排名表包括两个项目,这两个项目分别是m个积分和这m个积分的排名数值。在对应关系上,每个对象的积分对应一个积分的排名数值,而一个积分的排名数值可以对应不同的对象的积分。在该积分排名表中,各个积分可以是正数、负数、整数、小数或分数;各个积分可以均匀分布,也可以非均匀分布;积分与对应的排名数值可以成正相关,也可以成负相关。比如,请参考图1B~图1E。
图1B是根据本实施例示出的一种积分排名表。在图1B中,m=10,对象的积分为1、2、3、4、5、6、7、8、9和10,积分的排名数值为7、6、5、3、3、2、2、2、1和1。
图1C是根据本实施例示出的另一种积分排名表。在图1C中,m=10,对象的积分为1、2、3、4、5、6、7、8、9和10,积分的排名数值为1、1、2、3、5、5、6、6、6和7。
图1D是根据本实施例示出的又一种积分排名表。在图1D中,m=10,对象的积分为0.5、1.0、1.5、2.0、2.5、3.0、3.5、4.0、4.5和5.0,积分的排名数值为7、6、5、3、3、2、2、2、1和1。
图1E是根据本实施例示出的还一种积分排名表。在图1E中,m=10,对象的积分为0.5、1、2、3、5、10、15、18、27和36,积分的排名数值为7、6、5、3、3、2、2、2、1和1。
在步骤103中,对于该至少两个对象中的每一个对象,当该对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是该m个积分中的两个。
在步骤104中,对该积分排名表中,处于该排名变化区间内的各个积分的排名数值进行更新。
综上所述,本实施例提供的方法,通过根据至少两个对象的积分建立积分排名表,并在某一对象的积分发生时,根据变化值确定排名变化区间,最终对处于排名变化区间内的各个积分的排名数值进行更新;解决了相关技术中需要排名的数据量非常巨大时,用来处理这些数据排名的平衡二叉树占用极高的内存和运算资源的问题;有效地减少了实时更新海量数据的积分时占用的内存资源和运算资源,降低了维护开销。
图2A是根据另一示例性实施例示出的一种更新积分排名的方法的流程图。以积分排名表的排名规则为:积分数值与积分排名数值成负相关为例,该更新积分排名的方法可以包括如下几个步骤:
在步骤201中,处理设备获取至少两个对象的积分。
其中,处理设备指能够实施本公开中更新积分排名方法的硬件设备,例如,服务器、网关设备、个人计算机、单片机、移动电话或可穿戴设备等,本处不对其进行限定。
在本步骤中,获取对象的积分的过程可由如下步骤组成。首先,处理设备获取需要进行积分变化的对象标识,该对象标识可以是一个对象名称、用户名或者用户账号等,其作用是唯一标识该对象。其次,处理设备根据对象标识查询对象的积分,该查询过程在存有对象积分的数据结构中进行,这里的数据结构可以是集合结构、线性结构、树形结构或图形结构。例如,映射表、数组或链表,这里不对上述的数据结构进行限定。
图2B示出了一种对象积分表,当积分排名表的排名规则为:积分数值与积分排名数值成负相关时,该图2B所示的对象积分表就是与图1B所示的积分排名表相对应的对象积分表。如图2B所示,左侧一列的项目为对象名称,右侧一列的项目为对象的积分。其中,图2B中对象名称为A、B、C、D、E和F;对象的积分为3、4、2、4、9和6,各个对象的排名数值分别为4、3、5、3、1和2。
在步骤202中,处理设备生成由m个积分组成的积分数组,该m个积分在积分数组按照指定大小顺序排列,积分数组中包括已有积分和空缺积分;已有积分是上述至少两个对象的积分;空缺积分是该积分数组中,除已有积分之外的其它积分。
其中,处理设备生成的由m个积分组成的积分数组为一元数组,该一元数组仅包含m个积分值,该m个积分的数值范围可以由系统或者开发人员根据实际的应用情况预先设定。在该一元数组中,m个积分按照指定大小顺序排列。例如,以按照图2B所示的对象积分表生成图1B所示的积分排名表为例,处理设备生成的积分数组为(1,2,3,4,5,6,7,8,9,10)。
在本步骤中,积分数组中包括已有积分和空缺积分两类积分。其中,已有积分是步骤201中的至少两个对象的积分。例如,在如图1B所示的对象积分表中,积分2、3、4、6和9这5个数为已有积分,除了已有积分2、3、4、6和9外的1、5、7、8和10这5个数为空缺积分。
在步骤203中,处理设备确定已有积分的排名数值为该已有积分之间的排名数值。
其中,已有积分的排名数值是通过将所有的已有积分进行排名,从而得到的排名数值。上述对已有积分进行排名的方法可以是插入排序、冒泡排序或选择排序等一些本领域技术人员所常见的排序方法,本步骤不对其进行限定。
本步骤的实现过程可参见如下示例性实施例。例如,步骤202中确定的积分数组(1,2,3,4,5,6,7,8,9,10)中的已有积分2、3、4、6和9之间的排名数值分别为5、4、3、2和1。具体地,请参见图2C,其示出了一种对象、积分以及排名数值之间的对应关系表。在图2C中,对象以及各个对象对应的已有积分与图2B所示的对象积分表完全一致,各个对象的排名数值分别为4、3、5、3、1和2。
在步骤204中,处理设备确定空缺积分的排名数值为该空缺积分的后一个已有积分的排名数值,或者,确定空缺积分的排名数值为该空缺积分的前一个已有积分的排名数值+1。
本步骤中的方法被配置为确定空缺积分的排名数值。对于一张完整的排名积分表来说,其中包括了步骤202中的已有积分和空缺积分两部分的排名数值。例如图1B所示的排名积分表,该排名积分表中包括已有积分和空缺积分两部分的排名数值。其中,已有积分的排名数值是根据图2C所示的已有积分之间的排名数值建立的。
在确定空缺积分排名数值的过程中,空缺积分根据积分大小会有不同的三种情况:
一是按照排名规则,空缺积分两侧只在比自己排名数值小的一侧存在已有积分,如图1B中,该积分排名表的排名规则是积分越大排名数值越小,因此空缺积分1按照排名规则,只存在已有积分2是排名数值比空缺积分1的排名数值小,不存在比空缺积分1排名数值大的已有积分,其中,已有积分2排名比空缺积分1排名靠前;
二是按照排名规则,空缺积分两侧均存在已有积分,一侧已有积分的排名数值比空缺积分的排名数值大,另一侧已有积分的排名数值比空缺积分的排名数值小,如图1B中,空缺积分5两侧均存在已有积分,一侧存在的已有积分4的排名数值比空缺积分5的排名数值大,另一侧存在的已有积分6的排名数值比空缺积分5的排名数值小,其中,已有积分4排名比空缺积分5排名靠后,已有积分6比空缺积分5排名靠前;另外,图1B中的空缺积分7和8也属于这种情况;
三是按照排名规则,空缺积分两侧只在比自己排名数值大的一侧存在已有积分,如图1B中空缺积分10两侧只存在已有积分9,已有积分9的排名数值按照排名规则是比空缺积分10大,不存在比空缺积分10排名数值小的已有积分,其中,已有积分9排名比空缺积分10靠后。
现通过对1、5、7、8和10这5个空缺积分确定排名数值的过程来示例性说明步骤204的方法。
首先,确定10、8、7和5这4个空缺积分的排名数值,这4个空缺积分的排名数值为这4个空缺积分的后一个已有积分的排名数值。
需要特别说明的是,这里“后一个已有积分的排名数值”指的是,按照排名规则,排名比空缺积分靠后的第一个已有积分的排名数值。参照图1B,空缺积分10、8、7和5的“后一个已有积分”分别为9、6、6和4。同时,“后一个已有积分”9、6和4的排名数值分别为1、2和3。所以,空缺积分10、8、7和5的排名数值分别为1、2、2和3。
其次,确定1这个空缺积分的排名数值,空缺积分1的排名数值为空缺积分1前一个已有积分的排名数值+1。
需要特别说明的是,这里“前一个已有积分的排名数值”指的是,按照排名规则,排名比空缺积分靠前的第一个已有积分的排名数值。参照图1B,空缺积分1的“前一个已有积分”为2,“前一个已有积分”2的排名数值为6。所以,空缺积分1的排名数值为7,即6+1后的数值结果。
在步骤205中,对于至少两个对象中的每一个对象,当该对象的积分由s变化为t时,对s和t进行大小比较。
在步骤206中,当s小于t时,处理设备确定排名变化区间为[s,t)。
在步骤207中,处理设备将积分排名表中,处于[s,t)区间内的各个积分的排名数值+1。
比如,请参考图2D,其示出了一种更新后的对象积分表和积分排名表。在图2D中,对象积分表中对象B的积分由图2B中的4变成了6,则在积分排名表中,区间[4,6)内的各个积分(积分4和积分5)的排名数值+1,由图1B中的排名数值3更新为排名数值4。
步骤207为206的后续步骤,目的在于更新排名变化区间内的各个积分的排名数值。执行完成步骤206和步骤207后,相当于完成了在积分数值与积分排名数值成负相关的排名规则下,s小于t时的一次排名数值更新。
在步骤208中,当s大于t时,处理设备确定排名变化区间为[t,s)。
在步骤209中,处理设备将积分排名表中,处于[t,s)区间内的各个积分的排名数值-1。
比如,请参考图2E,其示出了另一种更新后的对象积分表和积分排名表。在图2E中,对象积分表中对象F的积分由图2B中的6变成了4,则在积分排名表中,区间[4,6)内的各个积分(积分4和积分5)的排名数值-1,由图1B中的排名数值3更新为排名数值2。
步骤209为208的后续步骤,目的在于更新排名变化区间内的各个积分的排名数值。执行完成步骤208和步骤209后,相当于完成了在积分数值与积分排名数值成负相关的排名规则下,s大于t时的一次排名数值更新。
在步骤210中,处理设备在至少两个对象中新增一个积分为p的对象时,将积分排名表中,小于p的各个积分的排名数值+1,p是该m个连续积分中的一个。
比如,请参考图2F,其示出了一种新增对象后的对象积分表和积分排名表。其中,图2F在图2B的基础上新增了一个积分为5的对象G,则将图1B所示的积分排名表中小于5的积分对应的排名数值都+1,即得到图2F所示的积分排名表。
在步骤211中,处理设备在至少两个对象中删除一个积分为q的对象时,将积分排名表中,小于q的各个积分的排名数值-1,q是该m个连续积分中的一个。
比如,请参考图2G,其示出了一种删除对象后的对象积分表和积分排名表。其中,图2G在图2B的基础上删除了积分为4的对象B,则将图1B所示的积分排名表中小于4的积分对应的排名数值都-1,即得到图2G所示的积分排名表。
综上所述,本实施例提供的方法,通过根据至少两个对象的积分建立积分排名表,并在某一对象的积分发生时,根据变化值确定排名变化区间,最终对处于排名变化区间内的各个积分的排名数值进行更新;解决了相关技术中需要排名的数据量非常巨大时,用来处理这些数据排名的平衡二叉树占用极高的内存和运算资源的问题;有效地减少了实时更新海量数据的积分时占用的内存资源和运算资源,降低了维护开销。
图3A是根据再一示例性实施例示出的一种更新积分排名的方法的流程图。以积分排名表的排名规则为:积分数值与积分排名数值成正相关为例,该更新积分排名方法可以包括如下几个步骤:
在步骤301中,处理设备获取至少两个对象的积分。
请参考图2B所示的对象积分表,当积分排名表的排名规则为:积分数值与积分排名数值成正相关时,该图2B所示的对象积分表就是与图1C所示的积分排名表相对应的对象积分表。
在步骤302中,处理设备生成由m个积分组成的积分数组,该m个积分在积分数组按照指定大小顺序排列,积分数组中包括已有积分和空缺积分;已有积分是上述至少两个对象的积分;空缺积分是该积分数组中,除已有积分之外的其它积分。
在步骤303中,处理设备确定已有积分的排名数值为该已有积分之间的排名数值。
具体地,请参见图3B,其示出了一种对象、积分以及排名数值之间的对应关系表。在图3B中,对象以及各个对象对应的已有积分与图2B所示的对象积分表完全一致,不同的是,各个对象的排名数值为分别2、3、1、3、6和5。
在步骤304中,处理设备确定空缺积分的排名数值为该空缺积分的后一个已有积分的排名数值,或者,确定空缺积分的排名数值为该空缺积分的前一个已有积分的排名数值+1。
被配置为例如,以图1C所示的排名积分表为例,该排名积分表中包括已有积分和空缺积分两部分的排名数值。其中,已有积分的排名数值是根据图3B所示的已有积分之间的排名数值建立的。
在确定空缺积分排名数值的过程中,空缺积分的根据积分大小会有不同的三种情况:
一是按照排名规则,空缺积分两侧只在比自己排名数值小的一侧存在已有积分,如图1C中,该积分排名表的排名规则是积分越大排名数值越大,因此空缺积分10按照排名规则,只存在已有积分9是排名数值比空缺积分10的排名数值小,不存在比空缺积分1排名数值大的已有积分,其中,已有积分9排名比空缺积分1排名靠前;
二是按照排名规则,空缺积分两侧均存在已有积分,一侧已有积分的排名数值比空缺积分的排名数值大,另一侧已有积分的排名数值比空缺积分的排名数值小,如图1C中,空缺积分5两侧均存在已有积分,一侧存在的已有积分4的排名数值比空缺积分5的排名数值小,另一侧存在的已有积分6的排名数值比空缺积分5的排名数值大,其中,已有积分4排名比空缺积分5排名靠前,已有积分6比空缺积分5排名靠后;另外,图1C中的空缺积分7和8也属于这种情况;
三是按照排名规则,空缺积分两侧只在比自己排名数值小的一侧存在已有积分,如图1C中空缺积分1两侧只存在已有积分2,已有积分2的排名数值按照排名规则是比空缺积分1小,不存在比空缺积分1排名数值大的已有积分,其中,已有积分2排名比空缺积分1靠后。
现通过对1、5、7、8和10这5个空缺积分确定排名数值的过程来示例性说明步骤304的方法。
首先,确定8、7、5和1这4个空缺积分的排名数值,这4个空缺积分的排名数值为这4个空缺积分的后一个已有积分的排名数值。
需要特别说明的是,这里“后一个已有积分的排名数值”指的是,按照排名规则,排名比空缺积分靠后的第一个已有积分的排名数值。参照图1C,空缺积分8、7、5和1的“后一个已有积分”分别为9、9、6和2。同时,“后一个已有积分”9、6和2的排名数值分别为6、5和1。所以,空缺积分8、7、5和1的排名数值分别为6、6、5和1。
其次,确定10这个空缺积分的排名数值,空缺积分1的排名数值为空缺积分1前一个已有积分的排名数值+1。
需要特别说明的是,这里“前一个已有积分的排名数值”指的是,按照排名规则,排名比空缺积分靠前的第一个已有积分的排名数值。参照图1C,空缺积分10的“前一个已有积分”为9,“前一个已有积分”9的排名数值为6。所以,空缺积分10的排名数值为7,即6+1后的数值结果。
在步骤305中,对于上述至少两个对象中的每一个对象,当该对象的积分由s变化为t时,对s和t进行大小比较。
在步骤306中,当s小于t时,处理设备确定排名变化区间为(s,t]。
在步骤307中,处理设备将积分排名表中,处于(s,t]区间内的各个积分的排名数值-1。
比如,请参考图3C,其示出了一种更新后的对象积分表和积分排名表。在图3C中,对象积分表中对象B的积分由图2B中的4变成了6,则在积分排名表中,区间(4,6]内的各个积分(积分5和积分6)的排名数值-1,由图1C中的排名数值5更新为排名数值4。
步骤307为306的后续步骤,目的在于更新排名变化区间内的各个积分的排名数值。执行完成步骤306和步骤307后,相当于完成了在积分数值与积分排名数值成正相关的排名规则下,s小于t时的一次排名数值更新。
在步骤308中,当s大于t时,处理设备确定排名变化区间为(t,s]。
在步骤309中,处理设备将积分排名表中,处于(t,s]区间内的各个积分的排名数值+1。
比如,请参考图3D,其示出了另一种更新后的对象积分表和积分排名表。在图3D中,对象积分表中对象F的积分由图2B中的6变成了4,则在积分排名表中,区间(4,6]内的各个积分(积分5和积分6)的排名数值+1,由图1C中的排名数值5更新为排名数值6。
步骤309为308的后续步骤,目的在于更新排名变化区间内的各个积分的排名数值。执行完成步骤308和步骤309后,相当于完成了在积分数值与积分排名数值成正相关的排名规则下,s大于t时的一次排名数值更新。
在步骤310中,处理设备在至少两个对象中新增一个积分为p的对象时,将积分排名表中,大于p的各个积分的排名数值+1,p是该m个连续积分中的一个。
比如,请参考图3E,其示出了一种新增对象后的对象积分表和积分排名表。其中,图3E在图2B的基础上新增了一个积分为5的对象G,则将图1C所示的积分排名表中大于5的积分对应的排名数值都+1,即得到图3E所示的积分排名表。
在步骤311中,处理设备在至少两个对象中删除一个积分为q的对象时,将积分排名表中,大于q的各个积分的排名数值-1,q是该m个连续积分中的一个。
比如,请参考图3F,其示出了一种删除对象后的对象积分表和积分排名表。其中,图3F在图2B的基础上删除了积分为4的对象B,则将图1C所示的积分排名表中大于4的积分对应的排名数值都-1,即得到图3F所示的积分排名表。
综上所述,本实施例提供的方法,通过根据至少两个对象的积分建立积分排名表,并在某一对象的积分发生时,根据变化值确定排名变化区间,最终对处于排名变化区间内的各个积分的排名数值进行更新;解决了相关技术中需要排名的数据量非常巨大时,用来处理这些数据排名的平衡二叉树占用极高的内存和运算资源的问题;有效地减少了实时更新海量数据的积分时占用的内存资源和运算资源,降低了维护开销。
下述为本公开装置实施例,可以被配置为执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是根据一示例性实施例示出的一种更新积分排名的装置的框图,该更新积分排名的装置可以用于处理设备中,执行上述图1、图2A或者图3A中的部分或者全部步骤。该更新积分排名的装置可以包括:积分获取模块401、排名表建立模块402、区间确定模块403以及第一更新模块404;
所述积分获取模块401,被设置为用于获取至少两个对象的积分;
所述排名表建立模块402,被设置为用于根据所述积分获取模块401获取到的所述至少两个对象的积分建立积分排名表,所述积分排名表中包含m个积分以及所述m个积分的排名数值,m≥2,且m为整数;
所述区间确定模块403,被设置为用于对于所述至少两个对象中的每一个对象,当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是所述m个积分中的两个;
所述第一更新模块404,被设置为用于对所述积分排名表中,处于所述区间确定模块403确定的排名变化区间内的各个积分的排名数值进行更新。
综上所述,本实施例提供的装置,通过根据至少两个对象的积分建立积分排名表,并在某一对象的积分发生时,根据变化值确定排名变化区间,最终对处于排名变化区间内的各个积分的排名数值进行更新;解决了相关技术中需要排名的数据量非常巨大时,用来处理这些数据排名的平衡二叉树占用极高的内存和运算资源的问题;有效地减少了实时更新海量数据的积分时占用的内存资源和运算资源,降低了维护开销。
图5是根据另一示例性实施例示出的一种更新积分排名的装置的框图,该更新积分排名的装置可以用于处理设备中,执行上述图1、图2A或者图3A中的部分或者全部步骤。该更新积分排名的装置可以包括:积分获取模块401、排名表建立模块402、区间确定模块403以及第一更新模块404;
所述积分获取模块401,被设置为用于获取至少两个对象的积分;
所述排名表建立模块402,被设置为用于根据所述积分获取模块401获取到的所述至少两个对象的积分建立积分排名表,所述积分排名表中包含m个积分以及所述m个积分的排名数值,m≥2,且m为整数;
所述区间确定模块403,被设置为用于对于所述至少两个对象中的每一个对象,当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是所述m个积分中的两个;
所述第一更新模块404,被设置为用于对所述积分排名表中,处于所述区间确定模块403确定的排名变化区间内的各个积分的排名数值进行更新。
可选的,所述排名表建立模块402,包括:
数组生成子模块402a,被设置为用于生成由所述m个积分组成的积分数组,所述m个积分在所述积分数组中按照指定大小顺序排列,所述积分数组中包括已有积分和空缺积分;所述已有积分是所述至少两个对象的积分;所述空缺积分是所述积分数组中,除所述已有积分之外的其它积分;
第一数值确定子模块402b,被设置为用于确定所述已有积分的排名数值为所述已有积分之间的排名数值;
第二数值确定子模块402c,被设置为用于确定所述空缺积分的排名数值为所述空缺积分的后一个已有积分的排名数值,或者,确定所述空缺积分的排名数值为所述空缺积分的前一个已有积分的排名数值+1;
其中,所述空缺积分的后一个已有积分的排名数值为:排名比所述空缺积分靠后的第一个已有积分的排名数值;所述空缺积分的前一个已有积分的排名数值为:排名比所述空缺积分靠前的第一个已有积分的排名数值。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述区间确定模块403,包括:
第一区间确定子模块403a,被设置为用于当s小于t时,确定所述排名变化区间为[s,t);
所述第一更新模块404,包括:
第一更新子模块404a,被设置为用于将所述积分排名表中,处于所述第一区间确定子模块403a确定的[s,t)区间内的各个积分的排名数值+1。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述区间确定模块403,包括:
第二区间确定子模块403b,被设置为用于当s大于t时,确定所述排名变化区间为[t,s);
所述第一更新模块404,包括:
第二更新子模块404b,被设置为用于将所述积分排名表中,处于所述第二区间确定子模块403b确定的[t,s)区间内的各个积分的排名数值-1。
可选的,所述装置还包括:
第二更新模块405,被设置为用于当所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,且所述至少两个对象中新增一个积分为p的对象时,将所述积分排名表中,小于p的各个积分的排名数值+1,p是所述m个积分中的一个;
第三更新模块406,被设置为用于当所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,且所述至少两个对象中删除一个积分为q的对象时,将所述积分排名表中,小于q的各个积分的排名数值-1,q是所述m个积分中的一个。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述区间确定模块403,包括:
第三区间确定子模块403c,被设置为用于当s小于t时,确定所述排名变化区间为(s,t];
所述第一更新模块404,包括:
第三更新子模块404c,被设置为用于将所述积分排名表中,处于所述第三区间确定子模块403c确定的(s,t]区间内的各个积分的排名数值-1。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述区间确定模块403,包括:
第四区间确定子模块403d,被设置为用于当s大于t时,确定所述排名变化区间为(t,s];
所述第一更新模块404,包括:
第四更新子模块404d,被设置为用于将所述积分排名表中,处于所述第四区间确定子模块403d确定的(t,s]区间内的各个积分的排名数值+1。
可选的,所述装置还包括:
第四更新模块407,被设置为用于当所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,且所述至少两个对象中新增一个积分为p的对象时,将所述积分排名表中,大于p的各个积分的排名数值+1,p是所述m个积分中的一个;
第五更新模块408,被设置为用于当所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,且所述至少两个对象中删除一个积分为q的对象时,将所述积分排名表中,大于q的各个积分的排名数值-1,q是所述m个积分中的一个。
综上所述,本实施例提供的装置,通过根据至少两个对象的积分建立积分排名表,并在某一对象的积分发生时,根据变化值确定排名变化区间,最终对处于排名变化区间内的各个积分的排名数值进行更新;解决了相关技术中需要排名的数据量非常巨大时,用来处理这些数据排名的平衡二叉树占用极高的内存和运算资源的问题;有效地减少了实时更新海量数据的积分时占用的内存资源和运算资源,降低了维护开销。
本公开一示例性实施例还提供了一种更新积分排名的装置,能够实现本公开提供的更新积分排名的方法。该装置包括:处理器,以及用于存储处理器的可执行指令的存储器。其中,处理器被配置为:
获取至少两个对象的积分;
根据所述至少两个对象的积分建立积分排名表,所述积分排名表中包含m个积分以及所述m个积分的排名数值,m≥2,且m为整数;
对于所述至少两个对象中的每一个对象,当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是所述m个积分中的两个;
对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新。
可选的,所述根据所述至少两个对象的积分建立积分排名表,包括:
生成由所述m个积分组成的积分数组,所述m个积分在所述积分数组中按照指定大小顺序排列,所述积分数组中包括已有积分和空缺积分;所述已有积分是所述至少两个对象的积分;所述空缺积分是所述积分数组中,除所述已有积分之外的其它积分;
确定所述已有积分的排名数值为所述已有积分之间的排名数值;
确定所述空缺积分的排名数值为所述空缺积分的后一个已有积分的排名数值,或者,确定所述空缺积分的排名数值为所述空缺积分的前一个已有积分的排名数值+1;
其中,所述空缺积分的后一个已有积分的排名数值为:排名比所述空缺积分靠后的第一个已有积分的排名数值;所述空缺积分的前一个已有积分的排名数值为:排名比所述空缺积分靠前的第一个已有积分的排名数值。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s小于t时,确定所述排名变化区间为[s,t);
所述对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新,包括:
将所述积分排名表中,处于[s,t)区间内的各个积分的排名数值+1。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s大于t时,确定所述排名变化区间为[t,s);
所述对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新,包括:
将所述积分排名表中,处于[t,s)区间内的各个积分的排名数值-1。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述处理器,还被配置为:
当所述至少两个对象中新增一个积分为p的对象时,将所述积分排名表中,小于p的各个积分的排名数值+1,p是所述m个积分中的一个;
当所述至少两个对象中删除一个积分为q的对象时,将所述积分排名表中,小于q的各个积分的排名数值-1,q是所述m个积分中的一个。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s小于t时,确定所述排名变化区间为(s,t];
所述对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新,包括:
将所述积分排名表中,处于(s,t]区间内的各个积分的排名数值-1。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s大于t时,确定所述排名变化区间为(t,s];
所述对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新,包括:
将所述积分排名表中,处于(t,s]区间内的各个积分的排名数值+1。
可选的,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述处理器,还被配置为:
当所述至少两个对象中新增一个积分为p的对象时,将所述积分排名表中,大于p的各个积分的排名数值+1,p是所述m个积分中的一个;
当所述至少两个对象中删除一个积分为q的对象时,将所述积分排名表中,大于q的各个积分的排名数值-1,q是所述m个积分中的一个。
本公开一示例性实施例还提供了一种更新积分排名的装置,能够实现本公开提供的更新积分排名的方法。该装置包括:处理器,以及用于存储处理器的可执行指令的存储器。其中,处理器被配置为:获取至少两个对象的积分;
根据所述至少两个对象的积分建立积分排名表,所述积分排名表中包含m个积分以及所述m个积分的排名数值,m≥2,且m为整数;
对于所述至少两个对象中的每一个对象,当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是所述m个积分中的两个;
对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新。
图6是根据一示例性实施例示出的一种用于装置600的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器630来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括被配置为在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,被配置为输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,被配置为为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,被配置为在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,3G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,被配置为执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置600的处理器执行时,使得装置600能够执行如图1、2A或3A所示的更新积分排名的方法中的全部或者部分步骤。
需要说明的一点是,上述实施例提供的装置在更新积分排名时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。被配置为被配置为
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (17)
1.一种更新积分排名的方法,其特征在于,所述方法包括:
获取至少两个对象的积分;
根据所述至少两个对象的积分建立积分排名表,所述积分排名表中包含m个积分以及所述m个积分的排名数值,m≥2,且m为整数;
对于所述至少两个对象中的每一个对象,当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是所述m个积分中的两个;
对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述至少两个对象的积分建立积分排名表,包括:
生成由所述m个积分组成的积分数组,所述m个积分在所述积分数组中按照指定大小顺序排列,所述积分数组中包括已有积分和空缺积分;所述已有积分是所述至少两个对象的积分;所述空缺积分是所述积分数组中,除所述已有积分之外的其它积分;
确定所述已有积分的排名数值为所述已有积分之间的排名数值;
确定所述空缺积分的排名数值为所述空缺积分的后一个已有积分的排名数值,或者,确定所述空缺积分的排名数值为所述空缺积分的前一个已有积分的排名数值+1;
其中,所述空缺积分的后一个已有积分的排名数值为:排名比所述空缺积分靠后的第一个已有积分的排名数值;所述空缺积分的前一个已有积分的排名数值为:排名比所述空缺积分靠前的第一个已有积分的排名数值。
3.根据权利要求2所述的方法,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s小于t时,确定所述排名变化区间为[s,t);
所述对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新,包括:
将所述积分排名表中,处于[s,t)区间内的各个积分的排名数值+1。
4.根据权利要求2所述的方法,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s大于t时,确定所述排名变化区间为[t,s);
所述对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新,包括:
将所述积分排名表中,处于[t,s)区间内的各个积分的排名数值-1。
5.根据权利要求2所述的方法,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述方法还包括:
当所述至少两个对象中新增一个积分为p的对象时,将所述积分排名表中,小于p的各个积分的排名数值+1,p是所述m个积分中的一个;
当所述至少两个对象中删除一个积分为q的对象时,将所述积分排名表中,小于q的各个积分的排名数值-1,q是所述m个积分中的一个。
6.根据权利要求2所述的方法,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s小于t时,确定所述排名变化区间为(s,t];
所述对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新,包括:
将所述积分排名表中,处于(s,t]区间内的各个积分的排名数值-1。
7.根据权利要求2所述的方法,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,包括:
当s大于t时,确定所述排名变化区间为(t,s];
所述对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新,包括:
将所述积分排名表中,处于(t,s]区间内的各个积分的排名数值+1。
8.根据权利要求2所述的方法,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述方法还包括:
当所述至少两个对象中新增一个积分为p的对象时,将所述积分排名表中,大于p的各个积分的排名数值+1,p是所述m个积分中的一个;
当所述至少两个对象中删除一个积分为q的对象时,将所述积分排名表中,大于q的各个积分的排名数值-1,q是所述m个积分中的一个。
9.一种更新积分排名的装置,其特征在于,所述装置包括:
积分获取模块,用于获取至少两个对象的积分;
排名表建立模块,用于根据所述积分获取模块获取到的所述至少两个对象的积分建立积分排名表,所述积分排名表中包含m个积分以及所述m个积分的排名数值,m≥2,且m为整数;
区间确定模块,用于对于所述至少两个对象中的每一个对象,当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是所述m个积分中的两个;
第一更新模块,用于对所述积分排名表中,处于所述区间确定模块确定的排名变化区间内的各个积分的排名数值进行更新。
10.根据权利要求9所述的装置,其特征在于,所述排名表建立模块,包括:
数组生成子模块,用于生成由所述m个积分组成的积分数组,所述m个积分在所述积分数组中按照指定大小顺序排列,所述积分数组中包括已有积分和空缺积分;所述已有积分是所述至少两个对象的积分;所述空缺积分是所述积分数组中,除所述已有积分之外的其它积分;
第一数值确定子模块,用于确定所述已有积分的排名数值为所述已有积分之间的排名数值;
第二数值确定子模块,用于确定所述空缺积分的排名数值为所述空缺积分的后一个已有积分的排名数值,或者,确定所述空缺积分的排名数值为所述空缺积分的前一个已有积分的排名数值+1;
其中,所述空缺积分的后一个已有积分的排名数值为:排名比所述空缺积分靠后的第一个已有积分的排名数值;所述空缺积分的前一个已有积分的排名数值为:排名比所述空缺积分靠前的第一个已有积分的排名数值。
11.根据权利要求10所述的装置,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述区间确定模块,包括:
第一区间确定子模块,用于当s小于t时,确定所述排名变化区间为[s,t);
所述第一更新模块,包括:
第一更新子模块,用于将所述积分排名表中,处于所述第一区间确定子模块确定的[s,t)区间内的各个积分的排名数值+1。
12.根据权利要求10所述的装置,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,所述区间确定模块,包括:
第二区间确定子模块,用于当s大于t时,确定所述排名变化区间为[t,s);
所述第一更新模块,包括:
第二更新子模块,用于将所述积分排名表中,处于所述第二区间确定子模块确定的[t,s)区间内的各个积分的排名数值-1。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二更新模块,用于当所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,且所述至少两个对象中新增一个积分为p的对象时,将所述积分排名表中,小于p的各个积分的排名数值+1,p是所述m个积分中的一个;
第三更新模块,用于当所述积分排名表的排名规则为:积分数值与积分排名数值成负相关,且所述至少两个对象中删除一个积分为q的对象时,将所述积分排名表中,小于q的各个积分的排名数值-1,q是所述m个积分中的一个。
14.根据权利要求10所述的装置,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述区间确定模块,包括:
第三区间确定子模块,用于当s小于t时,确定所述排名变化区间为(s,t];
所述第一更新模块,包括:
第三更新子模块,用于将所述积分排名表中,处于所述第三区间确定子模块确定的(s,t]区间内的各个积分的排名数值-1。
15.根据权利要求10所述的装置,其特征在于,所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,所述区间确定模块,包括:
第四区间确定子模块,用于当s大于t时,确定所述排名变化区间为(t,s];
所述第一更新模块,包括:
第四更新子模块,用于将所述积分排名表中,处于所述第四区间确定子模块确定的(t,s]区间内的各个积分的排名数值+1。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第四更新模块,用于当所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,且所述至少两个对象中新增一个积分为p的对象时,将所述积分排名表中,大于p的各个积分的排名数值+1,p是所述m个积分中的一个;
第五更新模块,用于当所述积分排名表的排名规则为:积分数值与积分排名数值成正相关,且所述至少两个对象中删除一个积分为q的对象时,将所述积分排名表中,大于q的各个积分的排名数值-1,q是所述m个积分中的一个。
17.一种更新积分排名的装置,其特征在于,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
获取至少两个对象的积分;
根据所述至少两个对象的积分建立积分排名表,所述积分排名表中包含m个积分以及所述m个积分的排名数值,m≥2,且m为整数;
对于所述至少两个对象中的每一个对象,当所述对象的积分由s变化为t时,根据s和t确定排名变化区间,s和t是所述m个积分中的两个;
对所述积分排名表中,处于所述排名变化区间内的各个积分的排名数值进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510726122.3A CN105354005A (zh) | 2015-10-30 | 2015-10-30 | 更新积分排名的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510726122.3A CN105354005A (zh) | 2015-10-30 | 2015-10-30 | 更新积分排名的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105354005A true CN105354005A (zh) | 2016-02-24 |
Family
ID=55329982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510726122.3A Pending CN105354005A (zh) | 2015-10-30 | 2015-10-30 | 更新积分排名的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354005A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021338A (zh) * | 2016-05-06 | 2016-10-12 | 广州爱九游信息技术有限公司 | 一种榜单数据扩展处理系统、设备、装置及方法 |
CN108334613A (zh) * | 2018-02-07 | 2018-07-27 | 掌阅科技股份有限公司 | 基于海量用户数据的实时排名方法、计算设备及存储介质 |
CN109783052A (zh) * | 2018-12-27 | 2019-05-21 | 深圳市轱辘汽车维修技术有限公司 | 数据排序方法、装置、服务器及计算机可读存储介质 |
CN109857776A (zh) * | 2019-01-08 | 2019-06-07 | 珠海天燕科技有限公司 | 一种应用中业务数据排序的方法和装置 |
CN110327628A (zh) * | 2019-05-24 | 2019-10-15 | 北京金山安全软件有限公司 | 一种查询排名的方法、装置及电子设备 |
CN110377611A (zh) * | 2019-07-12 | 2019-10-25 | 北京三快在线科技有限公司 | 积分排名的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116641A (zh) * | 2013-02-21 | 2013-05-22 | 新浪网技术(中国)有限公司 | 获取排序的统计数据的方法及排序装置 |
CN104915424A (zh) * | 2015-06-12 | 2015-09-16 | 华东师范大学 | 一种非确定数据库下的Top-k查询及执行方法 |
-
2015
- 2015-10-30 CN CN201510726122.3A patent/CN105354005A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116641A (zh) * | 2013-02-21 | 2013-05-22 | 新浪网技术(中国)有限公司 | 获取排序的统计数据的方法及排序装置 |
CN104915424A (zh) * | 2015-06-12 | 2015-09-16 | 华东师范大学 | 一种非确定数据库下的Top-k查询及执行方法 |
Non-Patent Citations (2)
Title |
---|
王扬 等: "直接优化性能指标的多排序模型融合方法", 《计算机学报》 * |
陈凡: "借记卡消费积分系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021338A (zh) * | 2016-05-06 | 2016-10-12 | 广州爱九游信息技术有限公司 | 一种榜单数据扩展处理系统、设备、装置及方法 |
CN108334613A (zh) * | 2018-02-07 | 2018-07-27 | 掌阅科技股份有限公司 | 基于海量用户数据的实时排名方法、计算设备及存储介质 |
CN109783052A (zh) * | 2018-12-27 | 2019-05-21 | 深圳市轱辘汽车维修技术有限公司 | 数据排序方法、装置、服务器及计算机可读存储介质 |
CN109783052B (zh) * | 2018-12-27 | 2021-11-12 | 深圳市轱辘车联数据技术有限公司 | 数据排序方法、装置、服务器及计算机可读存储介质 |
CN109857776A (zh) * | 2019-01-08 | 2019-06-07 | 珠海天燕科技有限公司 | 一种应用中业务数据排序的方法和装置 |
CN110327628A (zh) * | 2019-05-24 | 2019-10-15 | 北京金山安全软件有限公司 | 一种查询排名的方法、装置及电子设备 |
CN110377611A (zh) * | 2019-07-12 | 2019-10-25 | 北京三快在线科技有限公司 | 积分排名的方法及装置 |
CN110377611B (zh) * | 2019-07-12 | 2022-07-15 | 北京三快在线科技有限公司 | 积分排名的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354005A (zh) | 更新积分排名的方法及装置 | |
CN108304475B (zh) | 数据查询方法、装置及电子设备 | |
CN105809704A (zh) | 识别图像清晰度的方法及装置 | |
CN105389296A (zh) | 信息分割方法及装置 | |
CN104820675A (zh) | 相册显示方法及装置 | |
CN104301528A (zh) | 显示信息的方法及装置 | |
CN104766005A (zh) | 应用软件访问权限的管理方法和装置 | |
CN104536935A (zh) | 计算显示方法、计算编辑方法及装置 | |
CN113239232B (zh) | 图神经网络推荐系统、方法、装置、电子设备及存储介质 | |
CN105426878A (zh) | 人脸聚类方法及装置 | |
CN104636164A (zh) | 启动页面生成方法及装置 | |
CN105843951A (zh) | 数据查询方法和装置 | |
CN108108671A (zh) | 产品说明信息获取方法及装置 | |
CN104598534A (zh) | 图片折叠方法及装置 | |
CN110941727B (zh) | 一种资源推荐方法、装置、电子设备及存储介质 | |
CN105183586A (zh) | Ext文件系统的误删除文件恢复方法和装置、智能设备 | |
CN112948704A (zh) | 用于信息推荐的模型训练方法、装置、电子设备以及介质 | |
CN112783779B (zh) | 测试用例的生成方法、装置、电子设备和存储介质 | |
CN105551047A (zh) | 图片内容的检测方法和装置 | |
CN104850592A (zh) | 生成模型文件的方法和装置 | |
CN105163141A (zh) | 视频推荐的方式及装置 | |
CN105094608A (zh) | 任务展示方法和装置 | |
CN105094525A (zh) | 应用程序图标调整方法及装置 | |
CN106267820A (zh) | 控制虚拟现实游戏的方法、装置及终端 | |
CN106228077A (zh) | 处理图像及显示图像的方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160224 |
|
RJ01 | Rejection of invention patent application after publication |