数据排序方法及装置与流程

文档序号:12363866阅读:200来源:国知局
数据排序方法及装置与流程

本发明涉及到计算机技术领域,特别涉及到数据排序方法及装置。



背景技术:

随着互联网技术的不断发展,越来越多的互联网应用被人们所喜爱,例如,人们利用网页或者微博发帖子,在用户浏览网页或微博上的帖子的时候,帖子会按一定的方式进行排序。目前帖子的排序方式包括:

方案1:

1)将所有帖子优先按远近排序,距离相等的按时间排序;

方案2:

1)讲所有帖子优先按时间排序,时间相等的按远近排序;

方案3:

1)框定一个范围(如10km),把这个范围内的所有帖子按时间从新到旧排序;

2)用户看完第一步搜索到的所有帖子后,扩大范围(如20KM),把新包含进来的帖子再按从新到旧排序,以此类推;

上述三个方案都存在缺陷,具体缺陷如下:

方案1:本质是距离优先,如果用户到一个帖子密集的地方(如旅游景点),则看到的都是其他用户在一个小范围内发表的各种贴。用户除了不断往下刷之外,无法看到时间稍远一些的数据。该方案无法满足对时间敏感的用户,即无法及时按照时间更新帖子。

方案2:本质是时间优先,同一时间发表的帖子概率是较小的,所有用户总是看到全世界用户最新发表的帖子。该方案无法满足对地理位置敏感的用户,即无法及时按照位置更细帖子。

方案3:这个方案综合考虑了地理位置和时间。但人为设置的阶梯式范围导致排序非常不合理:一个刚好在11km外发的新帖子,用户只有在浏览完所 有10km内的帖子后才能看到。

综上,现有的数据排序的方案中无法兼顾地理位置及时间得到合理的数据排序。



技术实现要素:

本发明实施例提供一种数据排序方法及装置,旨在解决现有的数据排序的方案中无法兼顾地理位置及时间得到合理的数据排序的问题。

为实现上述目的,本发明实施例提出一种数据排序方法,包括:

获取用户当前位置和当前时间以及待处理数据的上传位置和上传时间;

根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数;

根据所述排序参数生成待处理数据的排序。

为了实现上述目的,本发明实施例还进一步提出一种数据排序装置,包括:

获取模块,用于获取用户当前位置和当前时间以及待处理数据的上传位置和上传时间;

计算模块,用于根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数;

生成模块,用于根据所述排序参数生成待处理数据的排序。

本发明通过将时间和位置结合起来计算得到一个综合的排序参数,再根据综合的排序参数得到待处理数据的排序。合理的将时间和位置考虑到待处理数据的排序中。有效避免现有的数据排序的方案中无法兼顾地理位置及时间得到合理的数据排序的问题。实现结合时间和地理位置得到数据的排序,同时保证更加合理的将数据进行排序。

附图说明

图1为本发明实施例数据排序装置所涉及的硬件架构示意图;

图2为本发明数据排序方法的第一实施例的流程示意图;

图3为本发明所述根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数一实施例的流程示意图;

图4为本发明计算所述当前时间和所述上传时间的时间差,并计算得到所述时间差的平方作为第二参数一实施例的流程示意图;

图5为本发明数据排序方法的第二实施例的流程示意图;

图6为本发明所述根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数另一实施例的流程示意图

图7为本发明数据排序装置的第一实施例的功能模块示意图;

图8为图7中计算模块一实施例的细化功能模块示意图;

图9为本发明数据排序装置的第二实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:获取用户当前位置和当前时间以及待处理数据的上传位置和上传时间;根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数;根据所述排序参数生成待处理数据的排序。通过将时间和位置结合起来计算得到一个综合的排序参数,再根据综合的排序参数得到待处理数据的排序。合理的将时间和位置考虑到待处理数据的排序中。有效避免现有的数据排序的方案中无法兼顾地理位置及时间得到合理的数据排序的问题。实现结合时间和地理位置得到数据的排序,同时保证更加合理的将数据进行排序。

现有的数据排序的方案中存在无法兼顾地理位置及时间得到合理的数据排序的问题。

本发明实施例架构一数据排序装置,该数据排序装置通过将时间和位置结合起来计算得到一个综合的排序参数,再根据综合的排序参数得到待处理数据的排序,有效避免现有的数据排序的方案中无法兼顾地理位置及时间得到合理的数据排序的问题。实现结合时间和地理位置得到数据的排序,同时保证更加合理的将数据进行排序。

其中,本实施例数据排序装置可以承载于PC端,也可以承载于手机、平板电脑等可以使用微博、微信等网络应用的电子终端。该数据排序装置所涉及的硬件架构可以如图1所示。

图1示出了本发明实施例数据排序装置所涉及的硬件架构。如图1所示,所述数据排序装置所涉及的硬件包括:处理器301,例如CPU,网络接口304,用户接口303,存储器305,通信总线302。其中,通信总线302用于实现该信息推送平台中各组成部件之间的连接通信。用户接口303可以包括显示屏(Display)、键盘(Keyboard)、鼠标等组件,用于接收用户输入的信息,并将接收的信息发送至处理器305进行处理。显示屏可以为LCD显示屏、LED显示屏,也可以为触摸屏,用于显示数据排序装置需要显示的数据,例如显示数据处理过程、数据排序等操作界面。可选用户接口303还可以包括标准的有线接口、无线接口。网络接口304可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器305可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器305可选的还可以是独立于前述处理器301的存储装置。如图1所示,作为一种计算机存储介质的存储器305中可以包括操作系统、网络通信模块、用户接口模块以及数据排序程序。

在图1所示的数据排序装置所涉及的硬件中,网络接口304主要用于连接应用平台,与应用平台进行数据通信;用户接口303主要用于连接客户端,与客户端进行数据通信,接收客户端输入的信息和指令;而处理器301可以用于调用存储器305中存储的数据排序程序,并执行以下操作:

获取用户当前位置和当前时间以及待处理数据的上传位置和上传时间;

根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时 间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数;

根据所述排序参数生成待处理数据的排序。

进一步地,在一个实施例中,处理器301调用存储器305中存储的数据排序程序可以执行以下操作:

确定所述当前位置的坐标为第一坐标及所述上传位置的坐标为第二坐标;

计算得到所述第一坐标的横坐标和纵坐标的平方差为第一平方差及所述第二坐标的横坐标和纵坐标的平方差第二平方差,将所述第一平方差和所述第二平方差之和作为第一参数;

计算所述当前时间和所述上传时间的时间差,并计算得到所述时间差的平方作为第二参数;

对所述第一参数和所述第二参数求和得到求和值,并对所述求和值开平方得到排序参数。

进一步地,在一个实施例中,处理器301调用存储器305中存储的数据排序程序可以执行以下操作:

计算所述当前时间和所述上传时间的时间差,并获取时间强度系数;

根据所述时间差和所述时间强度系数计算得到时间综合参数,并计算得到所述时间综合参数的平方作为第二参数。

进一步地,在一个实施例中,处理器301调用存储器305中存储的数据排序程序可以执行以下操作:

根据所述当前位置的坐标及所述上传位置的坐标计算得到当前位置与上传位置的距离值,并将所述距离值的平方作为第一参数;

计算所述当前时间和所述上传时间的时间差,并获取时间强度系数;

根据所述时间差和所述时间强度系数计算得到时间综合参数,并计算得到所述时间综合参数的平方作为第二参数;

对所述第一参数和所述第二参数求和得到求和值,并对所述求和值开平方得到排序参数。

进一步地,在一个实施例中,处理器301调用存储器305中存储的数据排序程序可以执行以下操作:

按照生成的排序依次在终端界面显示各个待处理数据。

进一步地,在一个实施例中,处理器301调用存储器305中存储的数据排序程序可以执行以下操作:

接收时间强度系数的设置指令;

根据所述设置指令更新所述强度系数的值,其中,0≤n≤19840000。

本实施例根据上述方案,通过将时间和位置结合起来计算得到一个综合的排序参数,再根据综合的排序参数得到待处理数据的排序。合理的将时间和位置考虑到待处理数据的排序中。有效避免现有的数据排序的方案中无法兼顾地理位置及时间得到合理的数据排序的问题。实现结合时间和地理位置得到数据的排序,同时保证更加合理的将数据进行排序。

基于上述硬件架构,提出本发明数据排序方法实施例。

如图2所示,提出本发明一种数据排序方法的第一实施例,所述数据排序方法包括:

步骤S10,获取用户当前位置和当前时间以及待处理数据的上传位置和上传时间;

在本实施例中,用户在通过网页或者应用浏览微博、微信朋友圈等时,需要按照一定的规则将微博上或朋友圈的数据进行显示,即需要对所述数据进行排序,按照排序依次显示所述数据。获取当前位置和当前时间,以及待处理数据上传的位置和上传时间。所述待处理数据的上传位置和上传时间为数据上传的位置及上传的时间,例如,为A用户在微信朋友圈发布的一条说说或者A用户在QQ空间动态发布一条说说时的位置及时间。用户在发布待处理数据可以通过GPS进行定位得到用户上传待处理数据的位置,并通过计时器得到上传时间,在将所述待处理数据发送至QQ空间或微信朋友圈时,标注用户上传待处理数据的位置及上传时间。用户在通过微信朋友圈或QQ空间浏览到动态消息时,通过GPS定位得到用户当前位置及当前时间。

步骤S20,根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数;

在获取到用户当前位置和当前时间以及待处理数据的上传位置和上传时 间后,根据所述当前位置及所述上传位置计算得到第一参数,所述第一参数为位置参数,并根据所述当前时间及所述上传时间计算得到第二参数,所述第二参数为时间参数,并根据所述第一参数和所述第二参数计算得到排序参数,即根据所述当前位置、所述上传位置、所述当前时间及所述上传时间计算得到排序参数。

具体的,参考图3,所述根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数的过程包括:

步骤S21,确定所述当前位置的坐标为第一坐标及所述上传位置的坐标为第二坐标;

步骤S22,计算得到所述第一坐标的横坐标和纵坐标的平方差为第一平方差及所述第二坐标的横坐标和纵坐标的平方差第二平方差,将所述第一平方差和所述第二平方差之和作为第一参数;

步骤S23,计算所述当前时间和所述上传时间的时间差,并计算得到所述时间差的平方作为第二参数;

步骤S24,对所述第一参数和所述第二参数求和得到求和值,并对所述求和值开平方得到排序参数。

在本实施例中,所述根据当前位置及所述上传位置计算得到第一参数的公式为(X1-X2)2+(Y1-Y2)2,所述根据所述当前时间及所述上传时间计算得到第二参数的公式为:(T1-T2)2,根据所述第一参数和所述第二参数计算得到排序参数的公式为:

<mrow> <msup> <mi>L</mi> <mo>&prime;</mo> </msup> <mo>=</mo> <msqrt> <msup> <mrow> <mo>(</mo> <mi>X</mi> <mn>1</mn> <mo>-</mo> <mi>X</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>Y</mi> <mn>1</mn> <mo>-</mo> <mi>Y</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>T</mi> <mn>1</mn> <mo>-</mo> <mi>T</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> <mo>,</mo> </mrow>其中:

(X1,Y1)为当前位置的坐标,(X2,Y2)为待处理数据的位置的坐标,T1为当前时间,T2为待处理数据的上传时间,L’为排序参数。

首先考虑平面上两点的距离计算方式:

<mrow> <mi>L</mi> <mo>=</mo> <msqrt> <msup> <mrow> <mo>(</mo> <mi>X</mi> <mn>1</mn> <mo>-</mo> <mi>X</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>Y</mi> <mn>1</mn> <mo>-</mo> <mi>Y</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> <mo>,</mo> </mrow>其中:

(X1,Y1)为当前位置的坐标,(X2,Y2)为待处理数据的位置的坐标,(X1,Y1)和(X2,Y2)为平面上的两点,L即为两点之间的距离就,将时间纬度考虑进公式,则为:

其中L’为考虑了时间的距离,T1、T2,则是与(X1, Y1)和(X2,Y2)对应的时间戳,暂时把长度单位定义成米,时间单位定义为秒。可以知道上述计算公式其实是把一秒等效于一米,物理含义即是:10秒前在用户所在位置发的帖子,和10m外此刻发的帖子,在排序上是一样的。在本发明其他实施例中,为了更好的结合时间和位置来得到更加合理的数据排序,在上述得到排序方式的过程中增加一个时间强度系数。

具体的,参考图4,所述计算所述当前时间和所述上传时间的时间差,并计算得到所述时间差的平方作为第二参数的过程可以替换为:

步骤S231,计算所述当前时间和所述上传时间的时间差,并获取时间强度系数;

步骤S232,根据所述时间差和所述时间强度系数计算得到时间综合参数,并计算得到所述时间综合参数的平方作为第二参数。

人为地将一秒等效于一米是不合理的,在上述公式中增加一个时间强度系数,则公式变为:

<mrow> <msup> <mi>L</mi> <mo>&prime;</mo> </msup> <mo>=</mo> <msqrt> <msup> <mrow> <mo>(</mo> <mi>X</mi> <mn>1</mn> <mo>-</mo> <mi>X</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>Y</mi> <mn>1</mn> <mo>-</mo> <mi>Y</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>n</mi> <mrow> <mo>(</mo> <mi>T</mi> <mn>1</mn> <mo>-</mo> <mi>T</mi> <mn>2</mn> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> <mo>,</mo> </mrow>其中:

(X1,Y1)为当前位置的坐标,(X2,Y2)为待处理数据的位置的坐标,T1为当前时间,T2为待处理数据的上传时间,n为时间强度系数,L’为排序参数。这个n的含义即是一秒和一米的转换比例,也可称为用户对时间的敏感程度,n越大,用户对时间越敏感,在增加时间强度系数n的公式得到最终排序的方式下,使得数据排序更加合理,满足所有用户的需求。其中n的用途包括:

1、n为0时,即完全不考虑时间,排序方法只考虑距离,为了得到比较精确、合理的数据排序,n的设置一半不为0;

2、当n为无穷大时,即完全不考虑地理位置,排序方法只考虑时间,为了得到比较精确、合理的数据排序,n的设置一半不为无穷大;

考虑到人类活动范围为地球内,两件事情发生的最远距离不会超过地球的半圆(约19840公里),所以这个n并不需要无穷大,而是配置成19840000即可实现完全根据时间排序;

3、当n平滑地从0过渡到19840000,则用户可以看到按不同时间敏感度排序的帖子列表。n的设置可以服务侧控制设置,根据产品情况进行调整;也可以提供一个控制条由用户控制,用户在不同的位置/场景下,可以根据不同 需要设置不同的n来控制设置不同的排序。具体的过程为:接收时间强度系数的设置指令;根据所述设置指令更新所述强度系数的值,其中,0≤n≤19840000;服务侧控制设置的过程为自动设置,例如,根据用户的历史设置习惯设置等。

步骤S30,根据所述排序参数生成待处理数据的排序。

在按照上述方式生成数据的排序参数后,根据所述排序参数生成待处理数据的排序。

具体的,参考图5,在步骤S30之后,还包括:

步骤S40,按照生成的排序依次在终端界面显示各个待处理数据。

即,在用户浏览所述待处理数据时,按照上述排序依次显示所述待处理数据,而不仅仅是简单的按照时间远近或地理位置远近依次显示各个待处理数据,将时间和地理位置结合起来显示各个待处理数据,且根据用户需求设置时间强度系数,使得数据排序更加合理,更贴近用户需求,提高排序方式的体验效果。

在本发明其他实施例中,因很多后台组件是可以根据两个经纬度坐标直接得出距离L的,参考图6,所述根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数的过程还可以包括:

步骤S25,根据所述当前位置的坐标及所述上传位置的坐标计算得到当前位置与上传位置的距离值,并将所述距离值的平方作为第一参数;

步骤S26,计算所述当前时间和所述上传时间的时间差,并获取时间强度系数;

步骤S27,根据所述时间差和所述时间强度系数计算得到时间综合参数,并计算得到所述时间综合参数的平方作为第二参数;

步骤S28,对所述第一参数和所述第二参数求和得到求和值,并对所述求和值开平方得到排序参数。

具体的,排序参数生成公式还可以是:

<mrow> <msup> <mi>L</mi> <mo>&prime;</mo> </msup> <mo>=</mo> <msqrt> <msup> <mi>L</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>{</mo> <mi>n</mi> <mrow> <mo>(</mo> <mi>T</mi> <mn>1</mn> <mo>-</mo> <mi>T</mi> <mn>2</mn> <mo>)</mo> </mrow> <mo>}</mo> </mrow> <mn>2</mn> </msup> </msqrt> <mo>,</mo> </mrow>其中:

L为当前位置与待处理数据的位置的距离值,T1为当前时间,T2为待处理数据的上传时间,n为时间强度系数,L’为排序参数。地理位置可能使用三 维坐标,此时只要增加Z轴的计算即可,为本领域技术人员悉知的距离计算方式,在此不再赘述。可以根据用户选择或者系统默认设置,在此不做限制,可以选择两种方式的一种完成排序参数的计算,例如,通过步骤S21至步骤S24的过程完成排序参数的计算,或者通过步骤S25至步骤S28的过程完成排序参数的计算。

本实施例通过将时间和位置结合起来计算得到一个综合的排序参数,再根据综合的排序参数得到待处理数据的排序。合理的将时间和位置考虑到待处理数据的排序中。有效避免现有的数据排序的方案中无法兼顾地理位置及时间得到合理的数据排序的问题。实现结合时间和地理位置得到数据的排序,同时保证更加合理的将数据进行排序。

对应地,提出本发明数据排序装置的第一实施例。参考图7,所述数据排序装置包括获取模块10、计算模块20、接收模块30、设置模块40及生成模块50。

所述获取模块10,用于获取用户当前位置和当前时间以及待处理数据的上传位置和上传时间;

在本实施例中,用户在通过网页或者应用浏览微博、微信朋友圈等时,需要按照一定的规则将微博上或朋友圈的数据进行显示,即需要对所述数据进行排序,按照排序依次显示所述数据。获取当前位置和当前时间,以及待处理数据上传的位置和上传时间。所述待处理数据的上传位置和上传时间为数据上传的位置及上传的时间,例如,为A用户在微信朋友圈发布的一条说说或者A用户在QQ空间动态发布一条说说时的位置及时间。用户在发布待处理数据可以通过GPS进行定位得到用户上传待处理数据的位置,并通过计时器得到上传时间,在将所述待处理数据发送至QQ空间或微信朋友圈时,标注用户上传待处理数据的位置及上传时间。用户在通过微信朋友圈或QQ空间浏览到动态消息时,通过GPS定位得到用户当前位置及当前时间。

所述计算模块20,用于根据所述当前位置及所述上传位置计算得到第一参数,根据所述当前时间及所述上传时间计算得到第二参数,并根据所述第一参数和所述第二参数计算得到排序参数;

在获取到用户当前位置和当前时间以及待处理数据的上传位置和上传时 间后,根据所述当前位置及所述上传位置计算得到第一参数,所述第一参数为位置参数,并根据所述当前时间及所述上传时间计算得到第二参数,所述第二参数为时间参数,并根据所述第一参数和所述第二参数计算得到排序参数,即根据所述当前位置、所述上传位置、所述当前时间及所述上传时间计算得到排序参数。

具体的,参考图8,所述计算模块20包括:确定单元21和计算单元22,

所述确定单元21,用于确定所述当前位置的坐标为第一坐标及所述上传位置的坐标为第二坐标;

所述计算单元22,用于计算得到所述第一坐标的横坐标和纵坐标的平方差为第一平方差及所述第二坐标的横坐标和纵坐标的平方差第二平方差,将所述第一平方差和所述第二平方差之和作为第一参数;还用于计算所述当前时间和所述上传时间的时间差,并计算得到所述时间差的平方作为第二参数;还用于对所述第一参数和所述第二参数求和得到求和值,并对所述求和值开平方得到排序参数。

在本实施例中,所述根据当前位置及所述上传位置计算得到第一参数的公式为(X1-X2)2+(Y1-Y2)2,所述根据所述当前时间及所述上传时间计算得到第二参数的公式为:(T1-T2)2,根据所述第一参数和所述第二参数计算得到排序参数的公式为:

<mrow> <msup> <mi>L</mi> <mo>&prime;</mo> </msup> <mo>=</mo> <msqrt> <msup> <mrow> <mo>(</mo> <mi>X</mi> <mn>1</mn> <mo>-</mo> <mi>X</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>Y</mi> <mn>1</mn> <mo>-</mo> <mi>Y</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>T</mi> <mn>1</mn> <mo>-</mo> <mi>T</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> <mo>,</mo> </mrow>其中:

(X1,Y1)为当前位置的坐标,(X2,Y2)为待处理数据的位置的坐标,T1为当前时间,T2为待处理数据的上传时间,L’为排序参数。

首先考虑平面上两点的距离计算方式:

<mrow> <mi>L</mi> <mo>=</mo> <msqrt> <msup> <mrow> <mo>(</mo> <mi>X</mi> <mn>1</mn> <mo>-</mo> <mi>X</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>Y</mi> <mn>1</mn> <mo>-</mo> <mi>Y</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> <mo>,</mo> </mrow>其中:

(X1,Y1)为当前位置的坐标,(X2,Y2)为待处理数据的位置的坐标,(X1,Y1)和(X2,Y2)为平面上的两点,L即为两点之间的距离就,将时间纬度考虑进公式,则为:

其中L’为考虑了时间的距离,T1、T2,则是与(X1,Y1)和(X2,Y2)对应的时间戳,暂时把长度单位定义成米,时间单位定义为秒。可以知道上述计算公式其实是把一秒等效于一米,物理含义即是:10秒前在用户所在位置发的帖子,和10m外此刻发的帖子,在排序上 是一样的。在本发明其他实施例中,为了更好的结合时间和位置来得到更加合理的数据排序,在上述得到排序方式的过程中增加一个时间强度系数。

进一步地,所述计算单元22,还用于计算所述当前时间和所述上传时间的时间差,并获取时间强度系数;还用于根据所述时间差和所述时间强度系数计算得到时间综合参数,并计算得到所述时间综合参数的平方作为第二参数。

人为地将一秒等效于一米是不合理的,在上述公式中增加一个时间强度系数,则公式变为:

<mrow> <msup> <mi>L</mi> <mo>&prime;</mo> </msup> <mo>=</mo> <msqrt> <msup> <mrow> <mo>(</mo> <mi>X</mi> <mn>1</mn> <mo>-</mo> <mi>X</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>Y</mi> <mn>1</mn> <mo>-</mo> <mi>Y</mi> <mn>2</mn> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mi>n</mi> <mrow> <mo>(</mo> <mi>T</mi> <mn>1</mn> <mo>-</mo> <mi>T</mi> <mn>2</mn> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> </msqrt> <mo>,</mo> </mrow>其中:

(X1,Y1)为当前位置的坐标,(X2,Y2)为待处理数据的位置的坐标,T1为当前时间,T2为待处理数据的上传时间,n为时间强度系数,L’为排序参数。这个n的含义即是一秒和一米的转换比例,也可称为用户对时间的敏感程度,n越大,用户对时间越敏感,在增加时间强度系数n的公式得到最终排序的方式下,使得数据排序更加合理,满足所有用户的需求。其中n的用途包括:

1、n为0时,即完全不考虑时间,排序方法只考虑距离,为了得到比较精确、合理的数据排序,n的设置一半不为0;

2、当n为无穷大时,即完全不考虑地理位置,排序方法只考虑时间,为了得到比较精确、合理的数据排序,n的设置一半不为无穷大;

考虑到人类活动范围为地球内,两件事情发生的最远距离不会超过地球的半圆(约19840公里),所以这个n并不需要无穷大,而是配置成19840000即可实现完全根据时间排序;

3、当n平滑地从0过渡到19840000,则用户可以看到按不同时间敏感度排序的帖子列表。n的设置可以服务侧控制设置,根据产品情况进行调整;也可以提供一个控制条由用户控制,用户在不同的位置/场景下,可以根据不同需要设置不同的n来控制设置不同的排序。具体的过程为:接收模块30,用于接收时间强度系数的设置指令;设置模块40,用于根据所述设置指令更新所述强度系数的值,其中,0≤n≤19840000;服务侧控制设置的过程为自动设置,例如,根据用户的历史设置习惯设置等。

所述生成模块50,用于根据所述排序参数生成待处理数据的排序。

在按照上述方式生成数据的排序参数后,根据所述排序参数生成待处理数据的排序。

具体的,参考图9,所述数据排序装置还包括:显示模块60,

所述显示模块60,用于按照生成的排序依次在终端界面显示各个待处理数据。

即,在用户浏览所述待处理数据时,按照上述排序依次显示所述待处理数据,而不仅仅是简单的按照时间远近或地理位置远近依次显示各个待处理数据,将时间和地理位置结合起来显示各个待处理数据,且根据用户需求设置时间强度系数,使得数据排序更加合理,更贴近用户需求,提高排序方式的体验效果。

在本发明其他实施例中,因很多后台组件是可以根据两个经纬度坐标直接得出距离L的,所述计算单元22,还用于根据所述当前位置的坐标及所述上传位置的坐标计算得到当前位置与上传位置的距离值,并将所述距离值的平方作为第一参数;还用于计算所述当前时间和所述上传时间的时间差,并获取时间强度系数;还用于根据所述时间差和所述时间强度系数计算得到时间综合参数,并计算得到所述时间综合参数的平方作为第二参数;还用于对所述第一参数和所述第二参数求和得到求和值,并对所述求和值开平方得到排序参数。

具体的,排序参数生成公式还可以是:

<mrow> <msup> <mi>L</mi> <mo>&prime;</mo> </msup> <mo>=</mo> <msqrt> <msup> <mi>L</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>{</mo> <mi>n</mi> <mrow> <mo>(</mo> <mi>T</mi> <mn>1</mn> <mo>-</mo> <mi>T</mi> <mn>2</mn> <mo>)</mo> </mrow> <mo>}</mo> </mrow> <mn>2</mn> </msup> </msqrt> <mo>,</mo> </mrow>其中:

L为当前位置与待处理数据的位置的距离值,T1为当前时间,T2为待处理数据的上传时间,n为时间强度系数,L’为排序参数。地理位置可能使用三维坐标,此时只要增加Z轴的计算即可,为本领域技术人员悉知的距离计算方式,在此不再赘述。

本实施例通过将时间和位置结合起来计算得到一个综合的排序参数,再根据综合的排序参数得到待处理数据的排序。合理的将时间和位置考虑到待处理数据的排序中。有效避免现有的数据排序的方案中无法兼顾地理位置及时间得到合理的数据排序的问题。实现结合时间和地理位置得到数据的排序,同时保证更加合理的将数据进行排序。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1