一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

列表处理方法、装置、系统、设备、存储介质及程序产品与流程

2022-08-24 00:31:10 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种列表处理方法、一种列表处理装置、一种列表处理系统、一种列表处理设备、一种计算机可读存储介质以及一种计算机程序产品。


背景技术:

2.随着技术的发展,针对端内用户生成对应的业务列表是软件的必备功能,用户能否快速选择到需要的列表直接关系到整个业务的流畅体验,因此对用户展示的列表的维护与管理是业务列表处理过程中的关键点。
3.在相关技术中,在对列表进行维护与管理时,通常伴随着大量的推荐、过滤、排序、信息展示等处理行为,业务中常采用进程内处理及存储,即从数据源获取原始数据并在内存进行上述处理行为。这种处理方式会存在如下问题:
4.(1)随着业务的更新迭代,排序等处理逻辑越来越多,使得业务逻辑变得更加复杂,进而使得其他业务接入难度高。
5.(2)用户每次更新选择项,切换列表时,服务都需重新处理列表数据,处理任务重,进程内处理负载高。并且,因逻辑均为各自进程内部处理,对服务进行扩容处理也无济于事,服务可扩展性差,容灾性差,处理响应速度慢,影响用户体验。
6.(3)对已生成的列表无法进行二次操作。


技术实现要素:

7.本技术提供了一种列表处理方法、装置、系统、设备、存储介质及程序产品,以解决现有列表处理过程中在列表更新、服务扩容等场景中存在的效率较低、负载较高、逻辑复杂,不可二次操作等问题。
8.根据本技术的一方面,提供了一种列表处理方法,应用于列表处理系统中,所述列表处理系统包括业务进程以及列表查找服务,所述方法由列表查找服务执行,所述方法包括:
9.响应于业务进程发送的索引信息,在预先生成的数据库中进行查询,以获得与所述索引信息对应的初始有序列表,所述索引信息包括目标用户标识以及目标业务特征信息;
10.判断所述初始有序列表是否具有排序配置;
11.若所述初始有序列表具有排序配置,则根据所述排序配置对所述初始有序列表进行调整;
12.将调整后的有序列表发送至所述业务进程,所述业务进程用于根据所述调整后的有序列表确定最终有序列表,并向所述目标用户标识对应的目标用户展示所述最终有序列表。
13.根据本技术的另一方面,提供了一种列表处理方法,应用于列表处理系统中,所述
列表处理系统包括列表生成服务,所述方法由列表生成服务执行,所述方法包括:
14.确定所述列表处理系统中各用户标识对应的待排序列表元素集合;
15.从所述待排序列表元素集合中确定预设的一个或多个业务特征信息分别对应的二级索引列表,各所述二级索引列表中包括一个或多个索引值;
16.从所述待排序列表元素集合中筛选出各索引值对应的列表元素,并对筛选出的列表元素进行排序,生成初始有序列表;
17.对各所述用户标识在各所述业务特征信息下的所述二级索引列表、以及各所述二级索引列表的各索引值对应的所述初始有序列表进行关联存储。
18.根据本技术的另一方面,提供了一种列表处理系统,所述列表处理系统包括列表生成服务、列表查找服务以及业务进程,其中,
19.所述列表生成服务用于:
20.确定所述列表处理系统中各用户标识对应的待排序列表元素集合;
21.从所述待排序列表元素集合中确定预设的一个或多个业务特征信息分别对应的二级索引列表,各所述二级索引列表中包括一个或多个索引值;
22.从所述待排序列表元素集合中筛选出各索引值对应的列表元素,并对筛选出的列表元素进行排序,生成初始有序列表;
23.对各所述用户标识在各所述业务特征信息下的所述二级索引列表、以及各所述二级索引列表的各索引值对应的所述初始有序列表进行关联存储;
24.所述列表查找服务用于:
25.响应于业务进程发送的索引信息,在从所述列表生成服务中获取与所述索引信息对应的初始有序列表,所述索引信息包括目标用户标识以及目标业务特征信息;
26.判断所述初始有序列表是否具有排序配置;
27.若所述初始有序列表具有排序配置,则根据所述排序配置对所述初始有序列表进行调整;
28.将调整后的有序列表发送至所述业务进程;
29.所述业务进程用于:
30.向所述列表查找服务发送索引信息,并接收所述列表查找服务基于所述索引信息返回的有序列表,根据所述有序列表确定最终有序列表,并向所述目标用户标识对应的目标用户展示所述最终有序列表。
31.根据本技术的另一方面,提供了一种列表处理装置,应用于列表处理系统中,所述列表处理系统包括业务进程以及列表查找服务,所述列表处理装置位于列表查找服务中,包括:
32.初始有序列表获取模块,用于响应于业务进程发送的索引信息,在预先生成的数据库中进行查询,以获得与所述索引信息对应的初始有序列表,所述索引信息包括目标用户标识以及目标业务特征信息;
33.排序配置判断模块,用于判断所述初始有序列表是否具有排序配置;
34.有序列表调整模块,用于若所述初始有序列表具有排序配置,则根据所述排序配置对所述初始有序列表进行调整;
35.有序列表下发模块,用于将调整后的有序列表发送至所述业务进程,所述业务进
程用于根据所述调整后的有序列表确定最终有序列表,并向所述目标用户标识对应的目标用户展示所述最终有序列表。
36.根据本技术的另一方面,提供了一种列表处理装置,应用于列表处理系统中,所述列表处理系统包括列表生成服务,所述列表处理装置位于列表生成服务中,包括:
37.待排序列表元素确定模块,用于确定所述列表处理系统中各用户标识对应的待排序列表元素集合;
38.二级索引列表确定模块,用于从所述待排序列表元素集合中确定预设的一个或多个业务特征信息分别对应的二级索引列表,各所述二级索引列表中包括一个或多个索引值;
39.初始有序列表生成模块,用于从所述待排序列表元素集合中筛选出各索引值对应的列表元素,并对筛选出的列表元素进行排序,生成初始有序列表;
40.关联存储模块,用于对各所述用户标识在各所述业务特征信息下的所述二级索引列表、以及各所述二级索引列表的各索引值对应的所述初始有序列表进行关联存储。
41.根据本技术的另一方面,提供了一种列表处理设备,所述列表处理设备包括:
42.至少一个处理器;以及
43.与所述至少一个处理器通信连接的存储器;其中,
44.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本技术任一实施例所述的方法。
45.根据本技术的又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本技术任一实施例所述的方法。
46.根据本技术的又一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令在被执行时用于实现本技术任一实施例所述的方法。
47.在本实施例中,列表处理系统通过多个服务完成列表数据的处理,服务之间互相独立,实现服务的解耦,服务通过解耦省去大量耗时的处理操作,通过实验证明,对列表的处理耗时从1500ms降至100ms。
48.另外,解耦各层级服务,使得服务各自独立可扩容,原本依赖于api物理机数量,现在不受物理机限制,完全可以满足列表生成需求,而且各服务可独立提供数据支持给其他业务,从而提升服务对外的支持能力。
49.进一步地,从生成初始有序列表到展示最终有序列表的各个处理环节,由服务与业务进程共同完成,处理环节灵活可控,提高了列表处理的效率。
附图说明
50.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1是本技术实施例一提供的一种列表处理方法的流程图;
52.图2是本技术实施例一提供的一种列表生成服务生成初始有序列表的过程示意图;
53.图3是本技术实施例一提供的一种列表存储的结构示意图;
54.图4是本技术实施例二提供的一种列表处理方法的流程图;
55.图5是本技术实施例二提供的一种列表查找服务的一种搜索初始有序列表的过程示意图;
56.图6是本技术实施例二提供的一种初始有序列表示意图;
57.图7是本技术实施例二提供的一种调整后的有序列表示意图;
58.图8是本技术实施例二提供的一种代理商列表页示意图;
59.图9是本技术实施例三提供的一种列表处理系统的结构示意图;
60.图10是本技术实施例三提供的另一种列表处理系统的结构示意图;
61.图11是本技术实施例四提供的一种列表处理装置的结构示意图;
62.图12是本技术实施例五提供的一种列表处理装置的结构示意图;
63.图13是实现本技术实施例的一种列表处理方法的列表处理设备的结构示意图。
具体实施方式
64.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
65.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
66.实施例一
67.图1为本技术实施例一提供的一种列表处理方法的流程图,本实施例可以应用于列表处理系统中,该列表处理系统可以对需要给用户展示的列表进行处理,还可以提供对列表进行自定义的功能。该列表处理系统包括列表生成服务,列表生成服务用于对列表进行大量的预处理,生成初始有序列表。
68.如图1所示,本实施例由列表生成服务执行,可以包括如下步骤:
69.步骤110,确定所述列表处理系统中各用户标识对应的待排序列表元素集合。
70.列表元素与当前的业务相关联,不同的业务可以有不同的列表元素,例如,假设业务为充值业务,则列表元素可以为代理商信息;假设业务为电商业务,则列表元素可以为商家信息;假设业务为直播业务,则列表元素可以为短视频信息,等等。
71.用户标识可以包括在列表处理系统中注册的用户的用户id,或者,也可以包括游客用户的用户id,本实施例对此不作限制。
72.在一种实施例中,步骤110进一步可以包括如下步骤:
73.步骤110-1,获取各用户标识的用户属性信息。
74.具体的,列表生成服务可以从列表处理系统中获取由各个用户标识组成的用户列表,该用户列表还可以记录每个用户标识的用户属性信息。其中,该用户属性信息是经用户授权后获得的合规的用户数据,针对不同的业务可以获得不同的用户属性信息,比如假设业务为直播系统的充值业务,则用户属性信息可以包括用户标识、用户的钻石(此处的钻石为直播系统中支付币种的一种)数量、用户等级等。
75.步骤110-2,在列表处理系统提供的全量列表元素中筛选出与用户属性信息匹配的列表元素,组成待排序列表元素集合。
76.列表处理系统可以提供与当前业务对应的全量列表元素,获得各用户属性信息以后,则可以在列表处理系统提供的全量列表元素中,筛选出与各用户属性信息匹配的列表元素,即,针对每个用户属性信息,过滤掉明显不符合当前用户属性信息的列表元素,将剩下的符合该用户属性信息的列表元素,组成该用户属性信息对应的待排序列表元素集合。例如,假设当前用户标识的钻石数量为50,则可以将提供充值的额度小于50的代理商过滤掉,然后将剩下的代理商组成待排序列表元素集合。
77.例如,参考图2示例性地示出了列表生成服务生成初始有序列表的过程示意图。假设用户列表包含的用户标识为“a、b、c、d、
…”
,假设当前用户标识为用户c,采用用户标识c在列表处理系统提供的全量列表元素中进行匹配,得到用户标识c的待排序列表元素集合。在一种实施例中还可以对该待排序列表元素集合进行排序,生成排序后的待排序列表元素集合“1、2、3、4、5、
…”

78.待排序列表元素集合中的各待排序列表元素还可以携带元素属性信息。元素属性信息为列表元素具有的相关信息,例如,假设列表元素为代理商,则其元素属性信息可以包括但不限于:代理商名称、该代理商所属国家和区域、该代理商所提供的充值方式、该代理商的收款方式等。
79.不同的业务特征信息所使用到的元素属性信息可以是不同的,例如,假设业务特征信息为国家,则元素属性信息为代理商所属国家;又如,假设业务特征信息为充值方式,则元素属性信息为代理商所提供的充值方式。
80.步骤120,从所述待排序列表元素集合中确定预设的一个或多个业务特征信息分别对应的二级索引列表,各所述二级索引列表中包括一个或多个索引值。
81.列表处理系统还可以提供与当前业务对应的一个或多个业务特征信息,其中,业务特征信息用于描述在当前业务下存在列表的不同的业务维度,业务特征信息也是与业务相关联的,不同的业务可以有不同的业务特征信息。例如,在充值业务中,其业务特征信息可以包括但不限于:国家、区域、充值方式、家族签约与否,等等。
82.可以根据当前系统提供的不同的业务特征信息,从各用户标识的待排序列表元素集合中提取各用户标识对应于各业务特征信息的二级索引列表,该二级索引列表中可以包括一个或多个索引值,该索引值又可以称为二级索引值。该二级索引列表用户后续进行二级索引,二级索引列表中的索引值与业务特征信息是相关联的,例如,业务特征信息为“国
家”,则索引值就是“国家”特征对应的值,比如为全球、中国、马来西亚等存在于待排序列表元素集合中国家名称。
83.在一种实施例中,步骤120进一步可以包括如下步骤:
84.针对各业务特征信息,从各待排序列表元素的元素属性信息中获取与当前业务特征信息相关的属性值,作为与当前业务特征信息相关的索引值;对索引值进行去重后组织成该业务特征信息的二级索引列表。
85.例如,假设业务特征信息为“国家”,则可以从当前用户的待排序列表元素集合中确定各待排序元素中与“国家”相关联的元素属性信息,比如为“代理商所属国家”,读取各待排序元素中该相关联的元素属性信息的属性值(比如国家名称)作为索引值。然后对当前用户在当前业务特征信息下获得的索引值进行去重处理,得到当前用户在当前业务特征信息下的二级索引列表,比如在“国家”这个业务特征信息下的二级索引列表包括多个国家名称。
86.又如,参考图2,可以按照一个或多个业务特征信息,从待排序列表元素集合中提取出与各个业务特征信息对应的索引值,生成不同业务特征信息的二级索引列表,如图2中的“c11、c12、c13、
…”
、“c21、c22、c23、
…”
、“c31、c32、c33、
…”
等所示。
87.步骤130,从所述待排序列表元素集合中筛选出各索引值对应的列表元素,并对筛选出的列表元素进行排序,生成初始有序列表。
88.得到各用户标识对用于各业务特征信息的二级索引列表以后,对于各二级索引列表中的各索引值,可以从待排序列表元素集合中筛选出与各索引值匹配的列表元素。
89.在一种实施例中,从待排序列表元素集合中筛选出各索引值对应的列表元素的步骤,进一步可以包括如下步骤:
90.从各待排序列表元素的元素属性信息中获取与当前业务特征信息相关的属性值,与所述索引值进行比较,获得与所述索引值匹配的列表元素,作为筛选出的列表元素。
91.例如,若业务特征信息为“国家”,在其二级索引列表中选择的索引值为“中国cn”,则可以从待排序列表元素集合中找到与“国家”关联的元素属性信息的属性值为“中国”(例如,代理商所属国家为“中国”)的列表元素,作为针对当前索引值筛选出的列表元素。
92.其中,列表生成服务中可以预先设置排序规则或者其他过滤条件,用于对该筛选出的数据元素进行排序,得到当前索引值对应的初始有序列表。
93.在一种实施例中,列表处理系统还可以包括权重处理服务,权重处理服务用于获取各待排序列表元素在不同业务特征信息下的业务数据,并根据获得的业务数据确定各待排序列表元素在不同业务特征信息下的排序权重。则上述对筛选出的列表元素进行排序,生成初始有序列表的步骤,进一步可以包括如下步骤:
94.至少根据筛选出的各列表元素所属的业务特征信息,从权重处理服务中获取筛选出的各列表元素的排序权重;按照排序权重对筛选出的列表元素进行排序,生成初始有序列表。
95.由于权重处理服务提前计算好各待排序列表元素在各业务特征信息下的排序权重并进行存储。这样,列表生成服务则可以直接从权重处理服务中查询各列表元素对应的排序权重,然后按照排序权重对筛选出的列表元素进行排序,例如,在图2中,对于二级索引列表“c31、c32、c33、
…”
中的其中一个索引值c31,搜索出与该索引值c31对应的列表元素以
后,按照排序权重由高到低的次序对筛选出的列表元素进行排序,得到当前索引值对应的初始有序列表“7、9、11、19、20、23、27、
…”
。这样可以降低列表生成服务的计算量,提高列表生成的效率。
96.步骤140,对各所述用户标识在各所述业务特征信息下的所述二级索引列表、以及各所述二级索引列表的各索引值对应的所述初始有序列表进行关联存储。
97.在一种实现中,可以采用codis集群对各用户标识在各业务特征信息下的二级索引列表、以及各二级索引列表的各索引值对应的初始有序列表进行关联存储。
98.在一种实施例中,步骤140进一步可以包括如下步骤:
99.将用户标识以及各业务特征信息下的二级索引列表采用核心哈希表存储,在核心哈希表中,以用户标识以及业务特征信息作为键,业务特征信息下的二级索引列表作为值;将二级索引列表中的各索引值及其对应的初始有序列表采用辅助哈希表存储,在辅助哈希表中,以索引值为键,以初始有序列表为值。
100.该实施例通过采用核心哈希表与辅助哈希表这种二级存储结构进行列表存储,便于后续对二级索引列表以及初始有序列表的快速获取。例如,参考图3示出了一种列表存储的结构示意图,用户标识及其对应的多个二级索引列表(如c11、c12、c13、
…”
、“c21、c22、c23、
…”
、“c31、c32、c33、
…”
)采用核心哈希表存储,然后对于二级索引列表中的各个索引值及对应的初始有序列表采用辅助哈希表存储。
101.在其他实现中,也可以用同一个哈希表来存储上述列表数据,只要能够根据键值对的形式快速查找出二级索引列表以及初始有序列表即可。
102.在一种实施例中,列表处理系统还可以包括排序配置服务,则本实例还可以包括:
103.对各用户标识在各业务特征信息下的二级索引列表的各索引值对应的初始有序列表、发送至排序配置服务。其中,排序配置服务用于在排序配置页面中展示初始有序列表,并检测用户在对初始有序列表中的列表元素设置的排序配置信息,以及将排序配置信息与对应的列表元素进行关联存储。从而为用户(例如运营用户)对列表进行自定义提供了可能,提升运营用户的运营效率和运营体验。
104.需要说明的是,列表生成服务在根据用户标识、业务特征信息、二级索引列表及索引值生成初始有序列表时,如遇性能瓶颈或需新增用户标识时,可以通过水平扩容服务来增加列表生成速度,以满足列表更新需求,在一种实现中,扩容上限数=“用户标识数”*“业务特征信息数”*“索引值数”。
105.本实施例提供专门的列表生成服务来为各用户生成各业务特征信息下的各索引值对应的初始有序列表,后续如果新增用户标识、或者新增业务特征信息或者新增索引值,则可以对列表生成服务进行水平扩容,实现列表的快速生成或快速更新,提高了对列表的维护效果和效率。
106.通过提前生成初始有序列表,后续在列表展示的场景中,可以直接读取初始有序列表,提高了列表获取的效率。
107.实施例二
108.图4为本技术实施例二提供了一种列表处理方法的流程图,本实施例可以应用于列表处理系统中,该列表处理系统可以对需要给用户展示的列表进行处理,还可以提供对列表进行自定义的功能。该列表处理系统包括列表查找服务,列表查找服务用于响应用户
的查询,从列表生成服务中查找出匹配的列表进行处理,并将处理后的有序列表发送给业务进程进行展示。
109.如图4所示,本实施例可以包括如下步骤:
110.步骤210,响应于业务进程发送的索引信息,在预先生成的数据库中进行查询,以获得与所述索引信息对应的初始有序列表,所述索引信息包括目标用户标识以及目标业务特征信息。
111.在实现时,当用户查询时,业务进程可以通过业务页面展示当前业务对应的业务特征信息列表以供用户选择,并检测用户选定的业务特征信息,作为目标业务特征信息。然后获取当前用户的用户标识,为了便于区分,此处将该用户标识称为目标用户标识,将该用户称为目标用户。接着将该业务特征信息以及该目标用户标识组织成索引信息,在预先生成的数据库中查询,获得与该索引信息对应的初始有序列表。
112.在一种实施例中,索引信息还可以包括二级索引值,是后续在索引时进行二级索引使用的数据。步骤210进一步可以包括如下步骤:
113.步骤210-1,接收所述业务进程发送的目标用户标识,以及所述目标用户标识对应的目标用户输入的目标业务特征信息。
114.步骤210-2,将所述目标用户标识以及所述目标业务特征信息作为一级索引值,在所述数据库中进行搜索,以获得与所述一级索引值对应的二级索引列表。
115.在一种实施例中,列表处理系统还包括列表生成服务,则该数据库为列表生成服务对应的数据库。步骤210-2进一步可以包括如下步骤:
116.将目标用户标识以及目标业务特征信息发送至列表生成服务中,并获取列表生成服务返回的所述二级索引列表。其中,该列表生成服务用于将目标用户标识以及目标业务特征信息作为一级索引值,在数据库中进行搜索,以获得与该一级索引值对应的二级索引列表。
117.步骤210-3,将所述二级索引列表返回所述业务进程,所述业务进程用于向所述目标用户展示所述二级索引列表,并检测所述目标用户从所述二级索引列表中选定的二级索引值。
118.步骤210-4,接收所述业务进程发送的所述二级索引值,并根据所述一级索引值以及所述二级索引值在所述数据库中进行搜索,以获得对应的初始有序列表。
119.在一种实施例中,步骤210-4进一步可以包括如下步骤:
120.将目标用户标识、目标业务特征信息以及二级索引值发送至列表生成服务中,并获取列表生成服务返回的初始有序列表。其中,该列表生成服务用于根据目标用户标识、目标业务特征信息以及二级索引值在数据库中进行搜索,以获得对应的初始有序列表。
121.具体的,与实施例一中的列表生成服务的二级存储方式相对应,在列表查找服务进行列表查询的过程中也可以采用二级查询的方式。首先将“目标用户标识 目标业务特征信息”发送至列表生成服务,列表生成服务将该“目标用户标识 目标业务特征信息”作为一级索引值,在codis集群中进行检索,获得与该“目标用户标识 目标业务特征信息”匹配的二级索引列表,该二级索引列表中可以包括一个或多个二级索引值。接着列表生成服务可以将该匹配到的二级索引列表返回列表查找服务,列表查找服务再将该二级索引列表发送给业务进程,由业务进程将该二级索引列表展示给目标用户。目标用户则可以从该二级索
引列表中选择一个或多个二级索引值。然后业务进程将该选定的一个或多个二级索引值发送给列表查找服务,列表查找服务再将“目标用户标识 目标业务特征信息 选定的一个或多个二级索引值”发送至列表生成服务,列表生成服务将该“目标用户标识 目标业务特征信息 选定的一个或多个二级索引值”,在codis集群中进行检索,获得匹配的初始有序列表,接着列表生成服务可以将该匹配到的初始有序列表返回列表查找服务。
122.例如,参考图5示例性的示出了列表查找服务的一种搜索初始有序列表的过程示意图。假设用户c在给定的业务特征信息列表中选择了业务特征2(比如是“国家”)。则列表查找服务根据“用户c 业务特征2”在codis集群中进行查询,获得对应的二级索引列表“all、c21、c22、c23、
…”
。将该二级索引列表展示给目标用户以后,目标用户选择了筛选项c22。则列表查找服务进一步根据“用户c 业务特征2 c22”在codis集群中进行查询,获得对应的初始有序列表“1、2、3、4、
…”

123.需要说明的是,如果查找不到二级索引列表,则可以返回空列表。
124.本实施例中展示给用户的数据如二级索引列表、最终的有序列表等,均基于codis缓存数据返回,使得可以支持的性能指标大幅度提高,用户通过多层哈希索引可以找到需要的列表数据。由codis存储的数据,后续还可以进行同步,例如全球同步。
125.步骤220,判断所述初始有序列表是否具有排序配置。
126.获得初始有序列表以后,则可以进一步判断该初始有序列表中各列表元素是否具有排序配置,该排序配置可以为运营人员根据运营需求、自定义的可影响列表排序的配置信息。
127.在一种实施例中,列表处理系统还可以包括排序配置服务,排序配置服务用于提供接口给用户进行排序配置,以调整一个或多个列表元素的序位。
128.则步骤220进一步可以包括如下步骤:
129.将所述索引信息发送至所述排序配置服务,所述排序配置服务用于在预先生成的配置数据库中查找所述索引信息,并生成查找结果;接收所述排序配置服务返回的查找结果,若所述查找结果为查找成功结果则判定所述初始有序列表具有排序配置,若所述查找结果为查找失败结果则判定所述初始有序列表不具有排序配置。
130.具体的,列表查找服务在获得初始有序列表以后,则可以从排序配置服务中查询该初始有序列表是否具有排序配置。在实现时,列表查找服务可以将“目标用户标识 目标业务特征信息 二级索引值”(即索引信息)发送至排序配置服务中。排序配置服务收到该索引信息以后,在预先生成的配置数据库中查找该索引信息,若查找成功则生成查找成功结果,若查找失败则生成查找失败结果,随后将查找成功结果或查找失败结果返回列表查找服务。列表查找服务识别收到的查找结果为查找成功结果还是查找失败结果,若为查找成功结果则判定当前初始有序列表具有排序配置,若为查找失败结果则判定当前初始有序列表不具有排序配置。
131.在其他实施例中,列表查找服务向排序配置服务发送的索引信息中还可以包括初始有序列表中各列表元素的唯一id,即索引信息为“目标用户标识 目标业务特征信息 二级索引值 列表元素的唯一id”。则排序配置服务查询到任一列表元素具有排序配置时则返回查找成功结果,如果所有列表元素都没有查找到则返回查找失败结果。
132.步骤230,若所述初始有序列表具有排序配置,则根据所述排序配置对所述初始有
序列表进行调整。
133.在一种实施例中,查找成功结果中还可以包括初始有序列表中存在排序配置的列表元素的排序配置信息,该排序配置信息可以包括指定排序位置。
134.则步骤230进一步可以包括如下步骤:
135.按照初始有序列表中各列表元素的次序,逐一对排序配置信息进行判断,针对当前排序配置信息,根据该排序配置信息对应的指定排序位置,将该排序配置信息所属的列表元素移动到该排序位置对应的序位中。
136.例如,如图6所示,假设在一个初始有序列表中,列表元素按顺序定义位置(pos),如1、2、3、4
……
以此类推。假设至少有第2、5、8号列表元素具有排序配置,比如为第2号列表元素设置的指定排序位置为200、为第5号列表元素设置的指定排序位置为1、为第8号列表元素设置的指定排序位置为2,则在遍历时,按照初始有序列表中各列表元素的次序,处理的列表元素的顺序为:先将第2号列表元素移动到200位,然后将第5号列表元素移动到列表的第1位,接着将第8号列表元素移动到列表的第2位,并将后面的位置直接后移一位。需要说明的是,如无冲突配置,且指定排序位置超出列表范围,则可以将对应的列表元素置于列表最后侧,比如当前有序列表中的列表元素的数量没有200个,则可以将第2号列表元素移动到列表最后,即移动到12号列表元素的后面,调整后的有序列表如图7所示。
137.在一种实施例中,排序配置信息还可以包括有效时间区间,该有效时间区间包括开始时间以及结束时间,由该开始时间到结束时间之间的时间段组成有效时间区间,则步骤230还可以包括如下步骤::
138.判断当前的实时时间是否在该排序配置信息对应的有效时间区间内;若是,则判定当前排序配置信息有效,并执行上述根据该排序配置信息对应的指定排序位置,将该排序配置信息所属的列表元素移动到该排序位置对应的序位中的步骤;若否,则判定当前排序配置信息失效,并忽略该排序配置信息。
139.该实施例通过有效时间区间来约束排序配置的有效期,避免列表元素使用一个排序配置长期占用一个固定位置的情况发生,使得有序队列可以动态变化。
140.步骤240,将调整后的有序列表发送至所述业务进程,所述业务进程用于根据所述调整后的有序列表确定最终有序列表,并向所述目标用户标识对应的目标用户展示所述最终有序列表。
141.对初始有序列表按照各排序配置进行调整后,列表查找服务可以将调整后的有序列表返回给业务进程。由业务进程根据调整后的有序列表确定最终有序列表,并向目标用户展示该最终有序列表。
142.对于业务进程而言,当其收到有序列表以后,则可以根据该有序列表生成最终用于展示的最终有序列表,并向该目标用户展示该最终有序列表以供用户选择。在实现时,业务进程可以根据预设的过滤或者排序规则,对收到的有序列表进行调整,得到最终有序列表。例如其中一种实现方式可以为:根据目标用户输入的需求业务数值,获取有序列表中各列表元素的与该需求业务数值相关联的动态业务值;将动态业务值小于该需求业务数值的列表元素移动到有序列表的后侧,最后生成最终有序列表。
143.例如,如图8所示,在直播系统的充值业务中,当前展示的有序列表为用户选择套餐a(其实现过程可以为:用户进入主页后选择对应钻石数量的套餐进行充值,点击之后自
动跳转至图8所示的代理商列表页)以及选择业务区域为全球(其实现过程可以为:在图8的“选择代理商”字段中选择“区域”业务特征信息,并选定字段值为“全球”)以后,结合用户标识查询得到的代理商有序列表。通过各服务的处理操作后,该展示出来的有序列表可以支持切换区域并快速展示。在该示例中,假如需求业务数值为用户选择的套餐a(比如为71钻石数),则业务进程在获得有序列表后,可以判断有序列表中各代理商的能提供的可充值总额度(即动态业务值)是否超过该用户选择的钻石数,如果某个代理商的可充值总额度小于该用户选择的钻石数,则表示该代理商不符合目标用户的需求,可以将该代理商置底。这样对于业务进程而言,只需要根据实时场景进行简单的列表过滤或者排序即可,无需承担权重计算、数据初排、次排等处理工作,降低了业务进程的处理负载。
144.在一种实施例中,步骤240进一步可以包括如下步骤:
145.判断调整后的有序列表中排序在前的若干个列表元素中,是否存在具有排序配置信息的列表元素;若是,则对具有排序配置信息的列表元素添加设定标签;将携带设定标签的调整后的有序列表发送至业务进程。
146.对于业务进程而言,在展示最终有序列表时,若判定该最终有序列表中排序在前的若干个列表元素中存在设定标签,则在对应的列表元素的设定位置显示该设定标签。例如,如图8所示,设定标签可以为“推荐”标签,即,在其所属的列表元素的设定位置(如左侧)显示“推荐”二字。这样用户就更倾向于选择“推荐”标签的列表元素,从而提高对该列表元素的业务运营效果。
147.本实施例提供专门的列表查找服务来为实现列表的查询功能,列表查找服务可以直接从列表生成服务中获得初始有序列表,无需再进行权重计算、数据采集等复杂工作,提高了列表获取的效率。
148.实施例三
149.图9为本技术实施例三提供了一种列表处理系统的结构示意图,该列表处理系统可以包括列表生成服务310、列表查找服务320以及业务进程330,其中,
150.所述列表生成服务310用于:
151.确定所述列表处理系统中各用户标识对应的待排序列表元素集合;
152.从所述待排序列表元素集合中确定预设的一个或多个业务特征信息分别对应的二级索引列表,各所述二级索引列表中包括一个或多个索引值;
153.从所述待排序列表元素集合中筛选出各索引值对应的列表元素,并对筛选出的列表元素进行排序,生成初始有序列表;
154.对各所述用户标识在各所述业务特征信息下的所述二级索引列表、以及各所述二级索引列表的各索引值对应的所述初始有序列表进行关联存储。
155.所述列表查找服务320用于:
156.响应于业务进程发送的索引信息,在从所述列表生成服务中获取与所述索引信息对应的初始有序列表,所述索引信息包括目标用户标识以及目标业务特征信息;
157.判断所述初始有序列表是否具有排序配置;
158.若所述初始有序列表具有排序配置,则根据所述排序配置对所述初始有序列表进行调整;
159.将调整后的有序列表发送至所述业务进程。
160.所述业务进程330用于:
161.向所述列表查找服务发送索引信息,并接收所述列表查找服务基于所述索引信息返回的有序列表,根据所述有序列表确定最终有序列表,并向所述目标用户标识对应的目标用户展示所述最终有序列表。
162.关于列表生成服务310、列表查找服务320以及业务进程330的具体描述,可以参考实施例一和实施例二相关的说明,本实施例对此不再赘述了。
163.在一种实施例中,如图10所示,该列表处理系统还可以包括权重处理服务340,用于获取各列表元素在不同业务特征信息下的业务数据,并根据所述业务数据确定各列表元素在不同业务特征信息下的排序权重。
164.具体的,权重处理服务340可以从列表处理系统中获取当前业务对应的一个或多个业务特征信息,然后获得列表处理系统为当前业务提供的全量列表元素,然后按照业务特征信息为维度,获取各列表元素在各业务特征信息下产生的业务数据,例如,假设当前业务特征信息为“充值方式”,则业务数据可以为代理商在某充值方式上的30天销售额。然后可以根据业务数据计算该列表元素的排序权重,例如,可以直接将30天销售额作为排序权重,或者对30天销售额进行归一化后的结果作为排序权重。
165.在计算排序权重时,权重处理服务340还可以结合用户标识进行,则业务数据可以为与用户标识以及业务特征信息相关的业务数据,例如,假设当前业务特征信息为“家族签约与否”,则业务数据可以为当前用户是否在当前代理商中进行家族签约。根据判断结果可以确定排序权重,例如,若为是则排序权重为1,若为否则排序权重为0。
166.需要说明的是,不同的业务特征信息有不同的权重计算方法,本实施例对此不作限定。
167.得到各列表元素的排序权重以后,则可以将业务特征信息、列表元素、以及排序权重进行关联存储。在一种实现中,可以采用codis集群将上述信息进行关联存储,例如,一种关联存储的方式如下表所示:
[0168][0169]
在该实施例中,通过权重处理服务提前计算好各列表元素的排序权重并进行存储,使得计算权重的过程与其他服务解耦,从而提高排序计算的效率。
[0170]
在一种实施例中,如图10所示,该列表处理系统还可以包括排序配置服务350,用于在排序配置页面中展示初始有序列表,并检测用户在对初始有序列表中的列表元素设置的排序配置信息,以及将排序配置信息与对应的列表元素进行关联存储。
[0171]
在该实施例中,排序配置服务350的用户可以为运维人员。在一种实现中,排序配置服务350可以从列表生成服务310中获取所有的初始有序列表,并在用户触发时展现所有的初始有序列表的摘要信息(如索引信息),当用户选择某个初始有序列表的索引信息时,则展现该初始有序列表的各个列表元素。在另一种实现中,用户还可以在排序配置页面中指定用户标识、业务特征和二级索引值,获得需要进行排序配置的初始有序列表,保证排序
配置具有唯一的维度指定性。
[0172]
在展示各列表元素的同时,还可以为该列表元素增加排序配置按钮。用户触发某个排序配置按钮时,则表示需要对该排序配置按钮对应的列表元素进行排序配置,随后展示具体配置页面,该具体配置页面包括排序位置字段以及有效时间区间字段,该有效时间区间字段可以包括开始时间以及结束时间。当用户填写了排序位置、开始时间和结束时间等信息后,点击该具体配置页面中的“完成”按钮即可完成对该列表元素的配置。排序配置服务350接收到用户输入的排序配置信息以后,则将该排序配置信息与对应的列表元素进行关联存储在codis集群中。
[0173]
通过排序配置服务350运营用户可实现对有序列表的实时自由配置,运营可随意调整已生成列表中各元素的位置,提高运营体验。另外,排序配置服务350也可以作为表元素的奖励机制使用,为后续定制化营收活动提供了基础。
[0174]
在本实施例中,列表处理系统通过多个服务完成列表数据的处理,服务之间互相独立,实现服务的解耦,服务通过解耦省去大量耗时的处理操作,通过实验证明,对列表的处理耗时从1500ms降至100ms。
[0175]
另外,解耦各层级服务,使得服务各自独立可扩容,原本依赖于api物理机数量,现在不受物理机限制,完全可以满足列表生成需求,而且各服务可独立提供数据支持给其他业务,从而提升服务对外的支持能力。
[0176]
进一步地,从生成初始有序列表到展示最终有序列表的各个处理环节,由服务与业务进程共同完成,处理环节灵活可控,提高了列表处理的效率。
[0177]
实施例四
[0178]
图11为本技术实施例四提供的一种列表处理装置的结构示意图,应用于列表处理系统中,该列表处理系统包括业务进程以及列表查找服务,所述列表处理装置位于列表查找服务中,可以包括如下模块:
[0179]
初始有序列表获取模块410,用于响应于业务进程发送的索引信息,在预先生成的数据库中进行查询,以获得与所述索引信息对应的初始有序列表,所述索引信息包括目标用户标识以及目标业务特征信息;
[0180]
排序配置判断模块420,用于判断所述初始有序列表是否具有排序配置;
[0181]
有序列表调整模块430,用于若所述初始有序列表具有排序配置,则根据所述排序配置对所述初始有序列表进行调整;
[0182]
有序列表下发模块440,用于将调整后的有序列表发送至所述业务进程,所述业务进程用于根据所述调整后的有序列表确定最终有序列表,并向所述目标用户标识对应的目标用户展示所述最终有序列表。
[0183]
在一种实施例中,所述索引信息还包括二级索引值;初始有序列表获取模块410进一步可以包括如下模块:
[0184]
信息接收模块,用于接收所述业务进程发送的目标用户标识,以及所述目标用户标识对应的目标用户输入的目标业务特征信息;
[0185]
一级索引模块,用于将所述目标用户标识以及所述目标业务特征信息作为一级索引值,在所述数据库中进行搜索,以获得与所述一级索引值对应的二级索引列表;
[0186]
索引列表发送模块,用于将所述二级索引列表返回所述业务进程,所述业务进程
用于向所述目标用户展示所述二级索引列表,并检测所述目标用户从所述二级索引列表中选定的二级索引值;
[0187]
二级索引模块,用于接收所述业务进程发送的所述二级索引值,并根据所述一级索引值以及所述二级索引值在所述数据库中进行搜索,以获得对应的初始有序列表。
[0188]
在一种实施例中,所述列表处理系统还包括列表生成服务,所述数据库为所述列表生成服务对应的数据库;
[0189]
一级索引模块具体用于:
[0190]
将所述目标用户标识以及所述目标业务特征信息发送至所述列表生成服务中,所述列表生成服务用于将所述目标用户标识以及所述目标业务特征信息作为一级索引值,在所述数据库中进行搜索,以获得与所述一级索引值对应的二级索引列表;
[0191]
获取所述列表生成服务返回的所述二级索引列表;
[0192]
二级索引模块具体用于:
[0193]
将所述目标用户标识、所述目标业务特征信息以及所述二级索引值发送至所述列表生成服务中,所述列表生成服务用于根据所述目标用户标识、所述目标业务特征信息以及所述二级索引值在所述数据库中进行搜索,以获得对应的初始有序列表;
[0194]
获取所述列表生成服务返回的所述初始有序列表。
[0195]
在一种实施例中,所述列表处理系统还包括排序配置服务,排序配置判断模块420具体用于:
[0196]
将所述索引信息发送至所述排序配置服务,所述排序配置服务用于在预先生成的配置数据库中查找所述索引信息,并生成查找结果;
[0197]
接收所述排序配置服务返回的查找结果,若所述查找结果为查找成功结果则判定所述初始有序列表具有排序配置,若所述查找结果为查找失败结果则判定所述初始有序列表不具有排序配置。
[0198]
在一种实施例中,所述查找成功结果包括所述初始有序列表中存在排序配置的列表元素的排序配置信息;所述排序配置信息包括指定排序位置;
[0199]
有序列表调整模块430具体用于:
[0200]
按照所述初始有序列表中各列表元素的次序,逐一对所述排序配置信息进行判断,针对当前排序配置信息,根据该排序配置信息对应的指定排序位置,将该排序配置信息所属的列表元素移动到该排序位置对应的序位中。
[0201]
在一种实施例中,所述排序配置信息还包括有效时间区间;有序列表调整模块430还用于:
[0202]
判断当前的实时时间是否在该排序配置信息对应的有效时间区间内;
[0203]
若是,则判定当前排序配置信息有效,并执行所述根据该排序配置信息对应的指定排序位置,将该排序配置信息所属的列表元素移动到该排序位置对应的序位中的步骤;
[0204]
若否,则判定当前排序配置信息失效,并忽略该排序配置信息。
[0205]
在一种实施例中,有序列表下发模块440具体用于:
[0206]
判断调整后的有序列表中排序在前的若干个列表元素中,是否存在具有所述排序配置信息的列表元素;
[0207]
若是,则对具有所述排序配置信息的列表元素添加设定标签;
[0208]
将携带所述设定标签的调整后的有序列表发送至所述业务进程,所述业务进程用于在展示所述最终有序列表时,若判定所述最终有序列表中排序在前的若干个列表元素中存在所述设定标签,则在对应的列表元素的设定位置显示所述设定标签。
[0209]
本技术实施例所提供的一种列表处理装置可执行本技术实施例二所提供的一种列表处理方法,具备执行方法相应的功能模块和有益效果。
[0210]
实施例五
[0211]
图12为本技术实施例五提供的一种列表处理装置的结构示意图,应用于列表处理系统中,所述列表处理系统包括列表生成服务,所述列表处理装置位于列表生成服务中,可以包括如下模块:
[0212]
待排序列表元素确定模块510,用于确定所述列表处理系统中各用户标识对应的待排序列表元素集合;
[0213]
二级索引列表确定模块520,用于从所述待排序列表元素集合中确定预设的一个或多个业务特征信息分别对应的二级索引列表,各所述二级索引列表中包括一个或多个索引值;
[0214]
初始有序列表生成模块530,用于从所述待排序列表元素集合中筛选出各索引值对应的列表元素,并对筛选出的列表元素进行排序,生成初始有序列表;
[0215]
关联存储模块540,用于对各所述用户标识在各所述业务特征信息下的所述二级索引列表、以及各所述二级索引列表的各索引值对应的所述初始有序列表进行关联存储。
[0216]
在一种实施例中,所述列表处理系统还包括权重处理服务,所述权重处理服务用于获取各列表元素在不同业务特征信息下的业务数据,并根据所述业务数据确定各列表元素在不同业务特征信息下的排序权重;
[0217]
初始有序列表生成模块530具体用于:
[0218]
至少根据筛选出的各列表元素所属的业务特征信息,从所述权重处理服务中获取筛选出的各列表元素的排序权重;
[0219]
按照所述排序权重对筛选出的列表元素进行排序,生成初始有序列表。
[0220]
在一种实施例中,待排序列表元素携带元素属性信息,二级索引列表确定模块520具体用于:
[0221]
针对各业务特征信息,从各待排序列表元素的元素属性信息中获取与所述业务特征信息相关的属性值,作为与所述业务特征信息相关的索引值;
[0222]
对所述索引值进行去重后组织成该业务特征信息的二级索引列表。
[0223]
在一种实施例中,初始有序列表生成模块具体用于:
[0224]
从各待排序列表元素的元素属性信息中获取与当前业务特征信息相关的属性值,与所述索引值进行比较,获得与所述索引值匹配的列表元素,作为筛选出的列表元素。。
[0225]
在一种实施例中,待排序列表元素确定模块510具体用于:
[0226]
获取各用户标识的用户属性信息;
[0227]
在所述列表处理系统提供的全量列表元素中筛选出与所述用户属性信息匹配的列表元素,组成待排序列表元素集合。
[0228]
在一种实施例中,关联存储模块540具体用于:
[0229]
将所述用户标识以及各所述业务特征信息下的所述二级索引列表采用核心哈希
表存储,在所述核心哈希表中,以所述用户标识以及所述业务特征信息作为键,所述业务特征信息下的二级索引列表作为值;
[0230]
将所述二级索引列表中的各索引值及其对应的初始有序列表采用辅助哈希表存储,在所述辅助哈希表中,以索引值为键,以初始有序列表为值。
[0231]
在一种实施例中,所述列表处理系统还包括排序配置服务,所述装置还包括:
[0232]
数据发送模块,用于对各所述用户标识在各所述业务特征信息下的所述二级索引列表的各索引值对应的所述初始有序列表发送至所述排序配置服务,所述排序配置服务用于在排序配置页面中展示所述初始有序列表,并检测用户在对所述初始有序列表中的列表元素设置的排序配置信息,以及将所述排序配置信息与对应的列表元素进行关联存储。
[0233]
本技术实施例所提供的一种列表处理装置可执行本技术实施例一所提供的一种列表处理方法,具备执行方法相应的功能模块和有益效果。
[0234]
实施例六
[0235]
图13示出了可以用来实施本技术的方法实施例的列表处理设备10的结构示意图。如图13所示,列表处理设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储装置,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储装置存储有可被至少一个处理器执行的一个或多个计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储列表处理设备10操作所需的各种程序和数据。
[0236]
在一些实施例中,一种列表处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到列表处理设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的一种列表处理方法的一个或多个步骤。
[0237]
在一些实施例中,一种列表处理方法可被实现为计算机程序产品,该计算机程序产品包括计算机可执行指令,该计算机可执行指令在被执行时用于执行上文描述的一种列表处理方法的一个或多个步骤。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献