CN106126670B - 运营数据排序处理方法及装置 - Google Patents
运营数据排序处理方法及装置 Download PDFInfo
- Publication number
- CN106126670B CN106126670B CN201610490756.8A CN201610490756A CN106126670B CN 106126670 B CN106126670 B CN 106126670B CN 201610490756 A CN201610490756 A CN 201610490756A CN 106126670 B CN106126670 B CN 106126670B
- Authority
- CN
- China
- Prior art keywords
- data
- list
- operation data
- hash table
- page
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种运营数据排序处理方法,所述运营数据排序处理方法包括以下步骤:获取预设的运营数据列表对应的哈希表;根据所述哈希表去除所述预置数据库的数据源列表与所述运营数据列表中相同的数据,以生成中间列表;根据运营数据列表中数据的预设的目标位置,将所述运营数据列表中数据插入至所述中间列表中,形成运营结果列表。本发明还公开了一种运营数据排序处理装置。本发明减少了遍历操作的次数,缩短了排序的时间,提升了系统的性能。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及运营数据排序处理方法及装置。
背景技术
众所周知,在个人应用中,存在着众多的运营排序需求。以应用中心为例,需要用到运营排序的有搜索、榜单、礼包等。现有的排序方案中,通常需要首先根据运营数据列表对数据库中的数据源列表进行去重操作,然后将将运营数据列表中的数据按照指定位置插入到去重操作后的列表中。但是由于在去重操作时,需要将数据源列表中的每一个数据与运营数据列表中的每一个数据进行遍历比对,以确定两者数据是否相同。随着数据源列表和运营数据列表中数据的数量增大,使得进行遍历比对的次数成倍增长,使得排序的时间较长,影响系统的性能。
发明内容
本发明的主要目的在于提出一种运营数据排序处理方法及装置,旨在减少遍历操作的次数,缩短了排序的时间,提升系统的性能。
为实现上述目的,本发明提供的一种运营数据排序处理装置,运营数据排序处理装置包括:
获取模块,用于获取预设的运营数据列表对应的哈希表;
去重模块,用于根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表;
处理模块,用于根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表。
可选地,获取模块包括:
建表单元,用于根据预设的哈希函数遍历运营数据列表,以建立运营数据列表对应的哈希表;
获取单元,用于获取哈希表。
可选地,处理模块包括:
计算单元,用于根据中间列表每一页对应的数据个数和运营数据列表中数据的预设的目标位置计算运营数据列表中数据位于中间列表的位置信息;
处理单元,用于根据位置信息将运营数据列表中数据插入至中间列表,以形成运营结果列表。
可选地,去重模块包括:
遍历单元,用于根据数据源列表的页码顺序遍历每一页的数据;
去重单元,用于根据哈希表去除数据源列表中当前遍历页的数据与运营数据列表中相同的数据,以生成中间列表。
可选地,相同的数据是指数据的ID值相同。
此外,为实现上述目的,本发明还提出一种运营数据排序处理方法,运营数据排序处理方法包括以下步骤:
获取预设的运营数据列表对应的哈希表;
根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表;
根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表。
可选地,获取预设的运营数据列表对应的哈希表包括:
根据预设的哈希函数遍历运营数据列表,以建立运营数据列表对应的哈希表;
获取哈希表。
可选地,根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表包括:
根据中间列表每一页对应的数据个数和运营数据列表中数据的预设的目标位置计算运营数据列表中数据位于中间列表的位置信息;
根据位置信息将运营数据列表中数据插入至中间列表,以形成运营结果列表。
可选地,根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表包括:
根据数据源列表的页码顺序遍历每一页的数据;
根据哈希表去除数据源列表中当前遍历页的数据与运营数据列表中相同的数据,以生成中间列表。
可选地,相同的数据是指数据的ID值相同。
本发明实施例通过获取预设的运营数据列表对应的哈希表;根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表;根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表。由于采用哈希表对数据源列表与运营数据列表中相同的数据进行了判断,因此可以减小遍历操作的次数,进而缩短了排序的时间,提升了系统的性能。
此外采用上述方案可以实现对运营数据排序的统一规范,从而达到程序组件化处理,组件化时,需要引入类的继承。在数据源输出的哈希表值的类中,需要继承对原始数据的ID值及运营数据列表中数据的位置获取;在运营排序处理的算法中,只需要送入该基类,即可实现不同功能模块及不同项目中的运营排序需求。组件化后,极大的减少了对同类需求实现的开发成本;并通过对高效算法的继承,提高了不同应用服务器的整体性能。
附图说明
图1为实现本发明各个实施例应用的服务器一个可选的系统结构示意图;
图2为本发明运营数据排序处理装置第一实施例的功能模块结构示意图;
图3为本发明运营数据排序处理装置第二实施例中去重模块的细化功能模块结构示意图;
图4为本发明运营数据排序处理装置第二实施例中处理模块的细化功能模块结构示意图;
图5为本发明运营数据排序处理装置一实施例中数据源列表的部分示例图;
图6为本发明运营数据排序处理装置一实施例中对图4进行去重操作之后的示例图;
图7为本发明运营数据排序处理装置一实施例中对图5进行插入应用G之后的示例图;
图8为本发明运营数据排序处理装置一实施例中对图5进行插入应用A之后的示例图;
图9为本发明运营数据排序处理装置一实施例的处理流程示例图;
图10为本发明运营数据排序处理方法第一实施例的流程示意图;
图11为本发明运营数据排序处理方法第二实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,为本发明一实施例的服务器的硬件结构示意图,该服务器包括:处理器101、存储器102、用户接口103、网络接口104及通信总线105。通信总线105用于服务器中各组成部件之间的通信,用户接口103用于接收用户输入的信息,该用户接口可以为有线接口及无线接口,例如键盘、鼠标等。网络接口104用于数据服务器与外部进行互相通信,该网络接口104也可以包括有线接口及无线接口。存储器102可以包括一个或一个以上计算机可读存储介质,而且其不但包括内部存储器,还包括外部存储器。该存储器中存储有操作系统及运营数据排序处理程序等等。处理器101用于调用存储器102中的运营数据排序处理程序,以执行以下操作:
获取预设的运营数据列表对应的哈希表;
根据所述哈希表去除所述预置数据库的数据源列表与所述运营数据列表中相同的数据,以生成中间列表;
根据运营数据列表中数据的预设的目标位置,将所述运营数据列表中数据插入至所述中间列表中,形成运营结果列表。
进一步地,处理器101还用于调用存储器102中的运营数据排序处理程序,以执行以下操作:
根据预设的哈希函数遍历运营数据列表,以建立运营数据列表对应的哈希表;
获取哈希表。
进一步地,处理器101还用于调用存储器102中的运营数据排序处理程序,以执行以下操作:
根据中间列表每一页对应的数据个数和运营数据列表中数据的预设的目标位置计算运营数据列表中数据位于中间列表的位置信息;
根据位置信息将运营数据列表中数据插入至中间列表,以形成运营结果列表。
进一步地,处理器101还用于调用存储器102中的运营数据排序处理程序,以执行以下操作:
根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表包括:
根据数据源列表的页码顺序遍历每一页的数据;
根据哈希表去除数据源列表中当前遍历页的数据与运营数据列表中相同的数据,以生成中间列表。
本发明实施例通过获取预设的运营数据列表对应的哈希表;根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表;根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表。由于采用哈希表对数据源列表与运营数据列表中相同的数据进行了判断,因此可以减小遍历操作的次数,进而缩短了排序的时间,提升了系统的性能。
参照图2,提出了本发明运营数据排序处理装置第一实施例,在本实施例中,该运营数据排序处理装置包括:
获取模块10,用于获取预设的运营数据列表对应的哈希表;
本发明实施例提供的运营数据排序处理装置,主要应用在个人应用中,用于根据运营排序需求对数据进行排序处理。
具体地,上述运营是指将一些指定的数据(比如,付费广告)插入在指定的位置,或将某些应用特定的放到指定位置等等。上述运营数据列表包括指定的数据和指定的位置等信息。
在不同的运营规则中运营数据列表也不同。应当说明的是,当运营数据列表已经建立相应的哈希表时,可以直接获取该哈希表即可。优选地,在本实施例中,可以根据预设的哈希函数遍历运营数据列表,以建立运营数据列表对应的哈希表;然后获取哈希表。具体地,上述获取模块10包括:建表单元,用于根据预设的哈希函数遍历运营数据列表,以建立运营数据列表对应的哈希表;获取单元,用于获取哈希表。如何建立哈希表,在此不做进一步地说明。
去重模块20,用于根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表;
本实施例中,上述数据库的数据源列表中的数据为原始数据。通常的,该数据源列表存在分页,在每一页数据的个数为固定值。该数据源的分页方式可以根据实际需要进行设置,在此不做进一步地限定。
应当说明的是,对于两者数据是否相同的判断可以根据实际需要进行设置,在本实施例中,可以根据运营数据列表和数据源列表的键值KEY进行比较判断,具体地,在该键值KEY为数据的ID值。即在本实施例中,相同的数据是指数据的ID值相同。
具体地,在本实施例中,可以采取遍历的方式,将数据源列表中每一个数据对应的参数代入到哈希表中进行计算一次,即可获知当前计算的参数对应的数据源列表中数据是否与运营数据列表中的数据重复。当两者重复时,则将数据源列表中的数据删除。在遍历完数据源列表中所有的数据后,将得到去重操作后的中间列表。
例如,在上述数据源列表中包括O、P、Q、R和S这5个元素,而在上述运营数据列表中包含O、L、M和N这4个元素。
在本发明的一实施例中,通过建立上述哈希表,在进行去重操作的过程中,首先在数据源列表遍历到元素O之后,将元素O代入到哈希表中进行计算即可得到运营数据列表存在元素O,从而将元素O删除;接着在数据源列表遍历到元素P之后,将元素P代入到哈希表中进行计算即可得到运营数据列表存在元素P,从而将元素P保留;接着在数据源列表遍历到元素Q之后,将元素Q代入到哈希表中进行计算即可得到运营数据列表存在元素Q,从而将元素Q保留;接着在数据源列表遍历到元素R之后,将元素R代入到哈希表中进行计算即可得到运营数据列表存在元素R,从而将元素R保留;最后在数据源列表遍历到元素S之后,将元素S代入到哈希表中进行计算即可得到运营数据列表存在元素S,从而将元素S保留。因此在本申请中通过建立哈希表,在去重的操作中,需要执行遍历的次数为据源列表中元素个数。相对于现有技术,可以在去重操作减少执行遍历的次数,从而缩短执行的时间,提高系统的性能。
处理模块30,用于根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表。
上述目标位置为上述指定位置。以应用排序为例,例如应用A指定的排序位置为第1位,应用B指定的位置为第12位。可以理解的是,在本实施例中,该目标位置为相应的应用在结果列表中总体排列顺序。
可以理解的是,上述中间列表数据的排列方式可以根据实际需要进行设置,通常地,上述中间列表的数据格式与上述数据源列表一致,只是在数据源列表的基础上删除了部分重复的数据。在本实施例中,通常地,上述数据源列表为分页形式结构,在每一页上对应有一定数量的数据,例如,每一页上对应有10行数据,每一行数据对应为一元素(元素O、元素P、元素Q、元素R或元素S)的信息。例如每一页的数量可以相同也可以不同,优选地,每一数据的数量为10个,也就是说每一页对应有10行数据。本实施例中,上述应用A对应的位置为第一页第一行,上述应用B对应的位置为第二页第二行。
本发明实施例通过获取预设的运营数据列表对应的哈希表;根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表;根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表。由于采用哈希表对数据源列表与运营数据列表中相同的数据进行了判断,因此可以减小遍历操作的次数,进而缩短了排序的时间,提升了系统的性能。
此外采用上述方案可以实现对运营数据排序的统一规范,从而达到程序组件化处理,组件化时,需要引入类的继承。在数据源输出的哈希表值的类中,需要继承对原始数据的ID值及运营数据列表中数据的位置获取;在运营排序处理的算法中,只需要送入该基类,即可实现不同功能模块及不同项目中的运营排序需求。组件化后,极大的减少了对同类需求实现的开发成本;并通过对高效算法的继承,提高了不同应用服务器的整体性能。
进一步地,参照图3和图4,提出了本发明运营数据排序处理装置第二实施例,本发明运营数据排序处理装置第二实施例与本发明运营数据排序处理装置第一实施例的区别在于,本实施例中,上述数据源列表中的数据为分页设置的,在进行遍历时,可以进行分页遍历,同时在计算插入位置时,需要根据每一页对应的数据个数进行确定。具体地,在本发明运营数据排序处理装置第二实施例中,上述去重模块20包括:
遍历单元21,用于根据数据源列表的页码顺序遍历每一页的数据;
去重单元22,用于根据哈希表去除数据源列表中当前遍历页的数据与运营数据列表中相同的数据,以生成中间列表。
上述处理模块30包括:
计算单元31,用于根据中间列表每一页对应的数据个数和运营数据列表中数据的预设的目标位置计算运营数据列表中数据位于中间列表的位置信息;
处理单元32,用于根据位置信息将运营数据列表中数据插入至中间列表,以形成运营结果列表。
可以理解的是,在本实施例中,对于数据源列表的遍历去重操作可以按照整张列表进行遍历去重操作,也可以分页进行遍历去重操作。
同样地,可以根据每一页数据的数量确定运营数据列表中数据的具体位置信息,该位置信息包括该数据所属的页码以及对应的排列位置。可以理解的是,可以在遍历完所有页数据后,在进行数据插入,也可以在遍历完一页数据后,对当前页是否存在需要插入的运营数据列表的数据进行分析判断,当存在,则可以直接将相应的数据插入到去重操作后的中间列表中,并继续遍历下一页数据;也可以在遍历完所有页的数据后,再插入运营数据列表中的数据。以下将以一具体实例进行详细说明:
例如,分页策略为每页的数据个数为5,我们在某个页面获取第二页的数据为应用E、应用F、应用G、应用H和应用I(如图5所示)。而运营的需求是,应用A排在第7个,应用G排在第6个。此时,则根据运营数据列表中数据的目标位置排列顺序获取到应用G排在第6个,应用A排在第7个。此时,可以根据每页的数据个数为5分析得到应用G对应的位置信息为第二页第1个,应用A对应的位置信息为第二页第二个。
在去重操作后,得到中间列表的第二页为应用E、应用F、应用H和应用I(如图6所示),其中应用G为重复部分。
此时将运营数据列表中的应用G插入到中间列表后,可以得到以下顺序应用G、应用E、应用F、应用H和应用I(如图7所示);然后再将运营数据列表中的应用A插入到中间列表后,可以得到以下顺序应用A、应用G、应用E、应用F、应用H和应用I(如图8所示)。可以理解的是,为了不改变之前页面中数据的数量,可以将应用I放置第三页进行显示。
在本发明实施例中,若上述运营数据列表中数据的数量为N,数据源列表中的数据的数量为M。若采用现有的单独比对的方式进行去重操作,则需要将数据源列表中的每一个数据与运营数据列表中的每一个数据进行比对,从而确定是否重复,因此在去重操作中遍历的次数为M*N次;然而在本申请中利用哈希表进行去重操作比对时,只需要将数据源列表中的每一个数据与哈希表比对一次即可得到数据源列表中当前比对的数据是否与运营数据列表中的数据重复,若重复,则删除该数据,若不重复,则保留该数据,因此去重操作遍历的次数为M。即在本实施例中,可以减小去重操作中数据比对的次数,因此提升了系统的性能。
如图9所示,以下将以采用分页形式的列表进行排序的过程进行详细说明,在本实施例中,首先可以按照运营数据列表中各数据指定的位置升序获取全部的运营数据;然后将根据获取的运营数据建立哈希表,并对当前页的数据中进行遍历,以去除当前页的数据与运营数据中重复的数据;接着按照获取运营数据的顺序逐一遍历运营数据列表的数据,根据当前遍历的运营数据列表的数据指定的位置和单页最大数据的个数计算运营数据列表的数据的页位置,将运营数据列表的数据插入到对应页的数据中,判断遍历操作是否完成,若是,则结束,若否,则遍历下一运营数据。
参照图10,提出了本发明运营数据排序处理方法第一实施例,在本实施例中,该运营数据排序处理方法包括:
步骤S10,获取预设的运营数据列表对应的哈希表;
本发明实施例提供的运营数据排序处理方法,主要应用在个人应用中,用于根据运营排序需求对数据进行排序处理。
具体地,上述运营是指将一些指定的数据(比如,付费广告)插入在指定的位置,或将某些应用特定的放到指定位置等等。上述运营数据列表包括指定的数据和指定的位置等信息。
在不同的运营规则中运营数据列表也不同。应当说明的是,当运营数据列表已经建立相应的哈希表时,可以直接获取该哈希表即可。优选地,在本实施例中,可以根据预设的哈希函数遍历运营数据列表,以建立运营数据列表对应的哈希表;然后获取哈希表。如何建立哈希表,在此不做进一步地说明。
步骤S20,根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表;
本实施例中,上述数据库的数据源列表中的数据为原始数据。通常的,该数据源列表存在分页,在每一页数据的个数为固定值。该数据源的分页方式可以根据实际需要进行设置,在此不做进一步地限定。
应当说明的是,对于两者数据是否相同的判断可以根据实际需要进行设置,在本实施例中,可以根据运营数据列表和数据源列表的键值KEY进行比较判断,具体地,在该键值KEY为数据的ID值。即在本实施例中,相同的数据是指数据的ID值相同。
具体地,在本实施例中,可以采取遍历的方式,将数据源列表中每一个数据对应的参数代入到哈希表中进行计算一次,即可获知当前计算的参数对应的数据源列表中数据是否与运营数据列表中的数据重复。当两者重复时,则将数据源列表中的数据删除。在遍历完数据源列表中所有的数据后,将得到去重操作后的中间列表。
例如,在上述数据源列表中包括O、P、Q、R和S这5个元素,而在上述运营数据列表中包含O、L、M和N这4个元素。
在本发明的一实施例中,通过建立上述哈希表,在进行去重操作的过程中,首先在数据源列表遍历到元素O之后,将元素O代入到哈希表中进行计算即可得到运营数据列表存在元素O,从而将元素O删除;接着在数据源列表遍历到元素P之后,将元素P代入到哈希表中进行计算即可得到运营数据列表存在元素P,从而将元素P保留;接着在数据源列表遍历到元素Q之后,将元素Q代入到哈希表中进行计算即可得到运营数据列表存在元素Q,从而将元素Q保留;接着在数据源列表遍历到元素R之后,将元素R代入到哈希表中进行计算即可得到运营数据列表存在元素R,从而将元素R保留;最后在数据源列表遍历到元素S之后,将元素S代入到哈希表中进行计算即可得到运营数据列表存在元素S,从而将元素S保留。因此在本申请中通过建立哈希表,在去重的操作中,需要执行遍历的次数为据源列表中元素个数。相对于现有技术,可以在去重操作减少执行遍历的次数,从而缩短执行的时间,提高系统的性能。
步骤S30,根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表。
上述目标位置为上述指定位置。以应用排序为例,例如应用A指定的排序位置为第1位,应用B指定的位置为第12位。可以理解的是,在本实施例中,该目标位置为相应的应用在结果列表中总体排列顺序。
可以理解的是,上述中间列表数据的排列方式可以根据实际需要进行设置,通常地,上述中间列表的数据格式与上述数据源列表一致,只是在数据源列表的基础上删除了部分重复的数据。在本实施例中,通常地,上述数据源列表为分页形式结构,在每一页上对应有一定数量的数据,例如,每一页上对应有10行数据,每一行数据对应为一元素(元素O、元素P、元素Q、元素R或元素S)的信息。例如每一页的数量可以相同也可以不同,优选地,每一数据的数量为10个,也就是说每一页对应有10行数据。本实施例中,上述应用A对应的位置为第一页第一行,上述应用B对应的位置为第二页第二行。
本发明实施例通过获取预设的运营数据列表对应的哈希表;根据哈希表去除预置数据库的数据源列表与运营数据列表中相同的数据,以生成中间列表;根据运营数据列表中数据的预设的目标位置,将运营数据列表中数据插入至中间列表中,形成运营结果列表。由于采用哈希表对数据源列表与运营数据列表中相同的数据进行了判断,因此可以减小遍历操作的次数,进而缩短了排序的时间,提升了系统的性能。
此外采用上述方案可以实现对运营数据排序的统一规范,从而达到程序组件化处理,组件化时,需要引入类的继承。在数据源输出的哈希表值的类中,需要继承对原始数据的ID值及运营数据列表中数据的位置获取;在运营排序处理的算法中,只需要送入该基类,即可实现不同功能模块及不同项目中的运营排序需求。组件化后,极大的减少了对同类需求实现的开发成本;并通过对高效算法的继承,提高了不同应用服务器的整体性能。
进一步地,参照图11,提出了本发明运营数据排序处理方法第二实施例,本发明运营数据排序处理方法第二实施例与本发明运营数据排序处理方法第一实施例的区别在于,本实施例中,上述数据源列表中的数据为分页设置的,在进行遍历时,可以进行分页遍历,同时在计算插入位置时,需要根据每一页对应的数据个数进行确定。具体地,在本发明运营数据排序处理方法第二实施例中,该运营数据排序处理方包括:
步骤S10,获取预设的运营数据列表对应的哈希表;
步骤S21,根据数据源列表的页码顺序遍历每一页的数据;
步骤S22,根据哈希表去除数据源列表中当前遍历页的数据与运营数据列表中相同的数据,以生成中间列表;
步骤S31,根据中间列表每一页对应的数据个数和运营数据列表中数据的预设的目标位置计算运营数据列表中数据位于中间列表的位置信息;
步骤S32,根据位置信息将运营数据列表中数据插入至中间列表,以形成运营结果列表。
可以理解的是,在本实施例中,对于数据源列表的遍历去重操作可以按照整张列表进行遍历去重操作,也可以分页进行遍历去重操作。
同样地,可以根据每一页数据的数量确定运营数据列表中数据的具体位置信息,该位置信息包括该数据所属的页码以及对应的排列位置。可以理解的是,可以在遍历完所有页数据后,在进行数据插入,也可以在遍历完一页数据后,对当前页是否存在需要插入的运营数据列表的数据进行分析判断,当存在,则可以直接将相应的数据插入到去重操作后的中间列表中,并继续遍历下一页数据;也可以在遍历完所有页的数据后,再插入运营数据列表中的数据。以下将以一具体实例进行详细说明:
例如,分页策略为每页的数据个数为5,我们在某个页面获取第二页的数据为应用E、应用F、应用G、应用H和应用I(如图5所示)。而运营的需求是,应用A排在第7个,应用G排在第6个。此时,则根据运营数据列表中数据的目标位置排列顺序获取到应用G排在第6个,应用A排在第7个。此时,可以根据每页的数据个数为5分析得到应用G对应的位置信息为第二页第1个,应用A对应的位置信息为第二页第二个。
在去重操作后,得到中间列表的第二页为应用E、应用F、应用H和应用I(如图6所示),其中应用G为重复部分。
此时将运营数据列表中的应用G插入到中间列表后,可以得到以下顺序应用G、应用E、应用F、应用H和应用I(如图7所示);然后再将运营数据列表中的应用A插入到中间列表后,可以得到以下顺序应用A、应用G、应用E、应用F、应用H和应用I(如图8所示)。可以理解的是,为了不改变之前页面中数据的数量,可以将应用I放置第三页进行显示。
在本发明实施例中,若上述运营数据列表中数据的数量为N,数据源列表中的数据的数量为M。若采用现有的单独比对的方式进行去重操作,则需要将数据源列表中的每一个数据与运营数据列表中的每一个数据进行比对,从而确定是否重复,因此在去重操作中遍历的次数为M*N次;然而,在本申请中利用哈希表进行去重操作比对时,只需要将数据源列表中的每一个数据与哈希表比对一次即可得到数据源列表中当前比对的数据是否与运营数据列表中的数据重复,若重复,则删除该数据,若不重复,则保留该数据,因此去重操作遍历的次数为M。即在本实施例中,可以减小去重操作中数据比对的次数,因此提升了系统的性能。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
出于解释的目的,前面的描述使用了特定的术语,以提供对本发明的透彻理解。然而,对本领域的技术人员来说显而易见的是,为了实践本发明并不需要具体的细节。本发明的具体实施例的前述描述是为了图示和说明的目的而呈现。它们并不意在详尽的或将本发明限于所公开的准确形式。鉴于上面的教义,许多修改和变化是可能的。为了最好地解释本发明的原理及其实际应用而示出并描述了这些实施例,从而使本领域的其他技术人员能够最好地利用本发明和具有适于预期的特定使用的各种修改的各种实施例。意在本发明的范围由随后的权利要求和其等同物来限定。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种运营数据排序处理装置,其特征在于,所述运营数据排序处理装置包括:
获取模块,用于获取预设的运营数据列表对应的哈希表;
去重模块,用于根据预置数据库的数据源列表中的各数据对应的参数代入至所述哈希表进行计算的结果,去除所述预置数据库的数据源列表与所述运营数据列表中相同键值的数据,以生成中间列表;
处理模块,用于根据运营数据列表中数据的预设的目标位置,将所述运营数据列表中数据插入至所述中间列表中,形成运营结果列表。
2.如权利要求1所述的运营数据排序处理装置,其特征在于,所述获取模块包括:
建表单元,用于根据预设的哈希函数遍历所述运营数据列表,以建立所述运营数据列表对应的哈希表;
获取单元,用于获取所述哈希表。
3.如权利要求1所述的运营数据排序处理装置,其特征在于,所述处理模块包括:
计算单元,用于根据中间列表每一页对应的数据个数和所述运营数据列表中数据的预设的目标位置计算所述运营数据列表中数据位于所述中间列表的位置信息;
处理单元,用于根据所述位置信息将所述运营数据列表中数据插入至所述中间列表,以形成运营结果列表。
4.如权利要求3所述的运营数据排序处理装置,其特征在于,所述去重模块包括:
遍历单元,用于根据数据源列表的页码顺序遍历每一页的数据;
去重单元,用于根据所述哈希表去除所述数据源列表中当前遍历页的数据与所述运营数据列表中相同键值的数据,以生成中间列表。
5.如权利要求1至4中任一项所述的运营数据排序处理装置,其特征在于,所述相同键值的数据是指所述数据的ID值相同。
6.一种运营数据排序处理方法,其特征在于,所述运营数据排序处理方法包括以下步骤:
获取预设的运营数据列表对应的哈希表;
根据预置数据库的数据源列表中的各数据对应的参数代入至所述哈希表进行计算的结果,去除所述预置数据库的数据源列表与所述运营数据列表中相同键值的数据,以生成中间列表;
根据运营数据列表中数据的预设的目标位置,将所述运营数据列表中数据插入至所述中间列表中,形成运营结果列表。
7.如权利要求6所述的运营数据排序处理方法,其特征在于,所述获取预设的运营数据列表对应的哈希表包括:
根据预设的哈希函数遍历所述运营数据列表,以建立所述运营数据列表对应的哈希表;
获取所述哈希表。
8.如权利要求6所述的运营数据排序处理方法,其特征在于,所述根据运营数据列表中数据的预设的目标位置,将所述运营数据列表中数据插入至所述中间列表中,形成运营结果列表包括:
根据中间列表每一页对应的数据个数和所述运营数据列表中数据的预设的目标位置计算所述运营数据列表中数据位于所述中间列表的位置信息;
根据所述位置信息将所述运营数据列表中数据插入至所述中间列表,以形成运营结果列表。
9.如权利要求8所述的运营数据排序处理方法,其特征在于,所述根据预置数据库的数据源列表中的各数据对应的参数代入至所述哈希表进行计算的结果,去除所述预置数据库的数据源列表与所述运营数据列表中相同的数据,以生成中间列表包括:
根据数据源列表的页码顺序遍历每一页的数据;
根据所述哈希表去除所述数据源列表中当前遍历页的数据与所述运营数据列表中相同键值的数据,以生成中间列表。
10.如权利要求6至9中任一项所述的运营数据排序处理方法,其特征在于,所述相同键值的数据是指所述数据的ID值相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610490756.8A CN106126670B (zh) | 2016-06-28 | 2016-06-28 | 运营数据排序处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610490756.8A CN106126670B (zh) | 2016-06-28 | 2016-06-28 | 运营数据排序处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106126670A CN106126670A (zh) | 2016-11-16 |
CN106126670B true CN106126670B (zh) | 2020-01-14 |
Family
ID=57284849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610490756.8A Active CN106126670B (zh) | 2016-06-28 | 2016-06-28 | 运营数据排序处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126670B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280085B (zh) * | 2017-01-06 | 2021-07-27 | 工业和信息化部电信研究院 | 数据去重的方法及装置 |
CN111259047B (zh) * | 2018-12-03 | 2024-06-14 | 顺丰科技有限公司 | 数据加载方法、装置、设备及其存储介质 |
CN110096637A (zh) * | 2019-04-16 | 2019-08-06 | 广州虎牙信息科技有限公司 | 多榜单生成的方法、装置、存储介质及终端设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6118039A (ja) * | 1984-07-04 | 1986-01-25 | Fujitsu Ltd | 並列ハツシユ装置 |
CN104462549A (zh) * | 2014-12-25 | 2015-03-25 | 瑞斯康达科技发展股份有限公司 | 一种数据处理方法和装置 |
CN104731882A (zh) * | 2015-03-11 | 2015-06-24 | 北京航空航天大学 | 一种基于哈希编码加权排序的自适应查询方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100576203C (zh) * | 2005-12-31 | 2009-12-30 | 中国工商银行股份有限公司 | 多表连接方法 |
CN100452041C (zh) * | 2006-01-18 | 2009-01-14 | 腾讯科技(深圳)有限公司 | 一种读取网络资源站点信息的方法及其系统 |
CN101493835B (zh) * | 2009-01-09 | 2011-09-21 | 南京联创科技集团股份有限公司 | 基于hash算法内存和文件系统混合排重方法 |
US9454574B2 (en) * | 2014-03-28 | 2016-09-27 | Sybase, Inc. | Bloom filter costing estimation |
-
2016
- 2016-06-28 CN CN201610490756.8A patent/CN106126670B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6118039A (ja) * | 1984-07-04 | 1986-01-25 | Fujitsu Ltd | 並列ハツシユ装置 |
CN104462549A (zh) * | 2014-12-25 | 2015-03-25 | 瑞斯康达科技发展股份有限公司 | 一种数据处理方法和装置 |
CN104731882A (zh) * | 2015-03-11 | 2015-06-24 | 北京航空航天大学 | 一种基于哈希编码加权排序的自适应查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106126670A (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107392842B (zh) | 图像风格化处理方法、装置、计算设备及计算机存储介质 | |
CN111950225B (zh) | 一种芯片布局方法、装置、存储介质和电子设备 | |
CN107273269B (zh) | 日志解析方法及装置 | |
CN105493095A (zh) | 用于样本提交的自适应和递归过滤 | |
CN107516290B (zh) | 图像转换网络获取方法、装置、计算设备及存储介质 | |
CN106126670B (zh) | 运营数据排序处理方法及装置 | |
CN107480260B (zh) | 大数据实时分析方法、装置、计算设备及计算机存储介质 | |
CN110059003B (zh) | 自动化测试方法、装置、电子设备及可读存储介质 | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
CN110516164B (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
CN106648839A (zh) | 数据处理的方法和装置 | |
CN107766075B (zh) | 代码合并的处理方法及装置 | |
CN114741360A (zh) | 汽车零件文件重建方法、装置、终端设备及存储介质 | |
CN104580109A (zh) | 生成点选验证码的方法及装置 | |
CN108304670B (zh) | 一种零部件参数设计方法及系统 | |
CN110532528B (zh) | 基于随机游走的书籍相似度计算方法及电子设备 | |
CN105653540B (zh) | 文件属性信息的处理方法和装置 | |
CN110825947A (zh) | Url去重方法、装置、设备与计算机可读存储介质 | |
CN111078671A (zh) | 数据表字段的修改方法、装置、设备和介质 | |
CN109918343A (zh) | 一种自动生成ralf文件的方法及系统 | |
JP5555238B2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
CN115033436A (zh) | 页面测试方法及装置、电子设备、存储介质 | |
JP2016045929A (ja) | ファイルをスキャンするための方法及び装置 | |
CN108170391A (zh) | 页面显示方法、装置及电子设备 | |
CN110188274B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191223 Address after: 225800, No. 2, Huai River Road, software information industry park, Baoying County, Jiangsu, Yangzhou Applicant after: Jiangsu guomi Culture Development Co., Ltd Address before: 518057 Guangdong Province, Shenzhen high tech Zone of Nanshan District City, No. 9018 North Central Avenue's innovation building A, 6-8 layer, 10-11 layer, B layer, C District 6-10 District 6 floor Applicant before: Nubian Technologies Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |