CN113722322A - 信息流数据生成方法、装置及电子设备 - Google Patents
信息流数据生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113722322A CN113722322A CN202111004332.3A CN202111004332A CN113722322A CN 113722322 A CN113722322 A CN 113722322A CN 202111004332 A CN202111004332 A CN 202111004332A CN 113722322 A CN113722322 A CN 113722322A
- Authority
- CN
- China
- Prior art keywords
- user
- information stream
- stream data
- characteristic
- index table
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 claims description 15
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
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/2282—Tablespace storage structures; Management thereof
-
- 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
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例涉及互联网技术领域,公开了一种信息流数据生成方法、装置及电子设备。该方法包括:获取第一目标用户的信息流数据生成请求;查询用户身份标识表,确定所述第一目标用户的关注用户中的第一特征用户和第二特征用户;在第一索引表中查询所述第一特征用户对应的第一信息流数据,在第二索引表中查询所述第二特征用户对应的第二信息流数据;根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据。通过上述方式,本发明实施例提高了信息流数据的生成效率。
Description
技术领域
本发明实施例涉及互联网技术领域,具体涉及一种信息流数据生成方法、装置及电子设备。
背景技术
随着互联网技术的不断发展,信息流数据应用越来越广泛。当用户通过客户端向服务器发送信息流数据生成请求之后,服务器生成信息流数据并将信息流数据返回给客户端。
服务器端采用的信息流生成模式(Feed架构)直接影响到信息流数据的生成效率。相关技术中,服务器端采用的信息流生成模式包括读模式和写模式。然而,发明人在实现本发明实施例的过程中发现:读模式下,信息流生成效率会随着用户规模的扩大而线性下降,即存在读扩散问题;写模式下,若大V用户数量较多,服务器需要执行大量copy操作,同样使得信息流生成效率降低。
发明内容
鉴于上述问题,本发明实施例提供了一种信息流数据生成方法、装置及电子设备,用于解决现有技术中存在的信息流数据生成效率较低的问题。
根据本发明实施例的一个方面,提供了一种信息流数据生成方法,所述方法包括:
获取第一目标用户的信息流数据生成请求;
查询用户身份标识表,确定所述第一目标用户的关注用户中的第一特征用户和第二特征用户;
在第一索引表中查询所述第一特征用户对应的第一信息流数据,在第二索引表中查询所述第二特征用户对应的第二信息流数据;
根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据。
在一种可选的方式中,所述根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据包括:
组合所述第一信息流数据和所述第二信息流数据,生成组合信息流数据;
在删除所述组合信息流数据中的非法信息流数据以及重复信息流数据之后,对所述组合信息流数据进行排序;
根据排序结果靠前的预设数量的信息流数据确定所述目标用户的目标信息流。
在一种可选的方式中,所述方法还包括:
接收第二目标用户发布的信息流数据;
查询所述用户身份标识表,确定所述第二目标用户的身份标识;
若根据所述第二目标用户的身份标识确定所述第二目标用户为第一特征用户,则将所述第二目标用户发布的信息流数据保存至所述第一索引表中;
若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据保存至所述第二索引表中。
在一种可选的方式中,所述方法还包括:
根据所述用户身份标识表确定第一特征用户总量和第二特征用户总量;
若所述第一特征用户总量与所述第二特征用户总量的比值大于第一预设阈值,则将部分第一特征用户的身份标识切换为第二特征用户;
若所述第一特征用户总量与所述第二特征用户总量的比值小于第二预设阈值,则将部分第二特征用户的身份标识切换为第一特征用户。
在一种可选的方式中,所述若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据保存至所述第二索引表中包括:
若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据暂存至第一索引表中;
将暂存至所述第一索引表中的信息流数据分发至所述第二索引表中;
若分发成功,则将暂存至所述第一索引表中的信息流数据从所述第一索引表中删除;
若分发失败,则通过定时任务继续将暂存至所述第一索引表中的信息流数据分发至所述第二索引表中。
在一种可选的方式中,所述方法还包括:
根据所述第一索引表确定当前待分发信息流数据量;
若所述待分发数据流数据量不大于实时分发数据量阈值,则将所述第一索引表中的待分发信息流数据实时分发至所述第二索引表中;
若所述待分发信息流数据量大于所述实时分发数据量阈值,则分别确定用于实时分发的信息流数据和用于定时任务分发的信息流数据;
将所述用于实时分发的信息流数据实时分发至所述第二索引表中,将所述用于定时任务分发的信息流数据通过定时任务分发至所述第二索引表中。
在一种可选的方式中,所述方法还包括:
确定预设时间内分发信息流数据的平均时延;
若所述平均时延大于第三预设阈值,则调低所述实时分发数据量阈值;
若所述平均时延小于第四预设阈值,则调高所述实时分发数据量阈值。
根据本发明实施例的另一方面,提供了一种信息流生成装置,所述装置包括:
获取模块,用于获取第一目标用户的信息流数据生成请求;
确定模块,用于查询用户身份标识表,确定所述第一目标用户的关注用户中的第一特征用户和第二特征用户;
查询模块,用于在第一索引表中查询所述第一特征用户对应的第一信息流数据,在第二索引表中查询所述第二特征用户对应的第二信息流数据;
生成模块,用于根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据。
根据本发明实施例的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的信息流数据生成方法的操作。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行上述的信息流数据生成方法的操作。
本发明实施例中,当获取到目标终端发送的对第一目标用户的信息流数据生成请求之后,可以通过用户身份标识表确定第一目标用户的关注用户中的第一特征用户和第二特征用户,并且分别根据第一索引表和第二索引表查询第一特征用户对应的第一信息流数据以及第二特征用户对应的第二信息流数据;根据第一信息流数据和第二信息流数据生成第一目标用户的目标信息流数据。可以看出,本发明实施例根据不同的用户身份标识,分别采用不同的索引表来查询信息流数据,可以克服单一索引表查询的瓶颈,提高信息流数据的生成效率。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的信息流数据生成方法的流程示意图。
图2示出了本发明实施例提供的信息流数据生成装置的结构示意图;
图3示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
图1示出了本发明实施例一种信息流数据生成方法的流程图,该方法由服务器执行。服务器的存储器用于存放至少一可执行指令,该可执行指令使电子设备的处理器执行上述的信息流数据生成方法的操作。如图1所示,该方法包括以下步骤:
步骤110:获取第一目标用户的信息流数据生成请求。
其中,可以获取目标终端发送的对第一目标用户的信息流数据生成请求。目标终端可以是手机、平板电脑、台式计算机、可穿戴智能设备等智能终端。目标终端上安装有应用程序,第一目标用户可以登录目标终端上的应用程序,并执行触发操作。目标终端可以根据第一目标用户的触发操作来向服务器发送对第一目标用户的信息流数据生成请求。
步骤120:查询用户身份标识表,确定所述第一目标用户的关注用户中的第一特征用户和第二特征用户。
其中,关注用户为第一目标用户当前添加关注的用户。服务器获取目标终端发送的对第一目标用户的信息流数据生成请求之后,可以查询关注者表(followee表)来确定第一目标用户的关注用户,并且查询用户身份标识表(follower_followee_idx表)来确定关注用户中的第一特征用户和第二特征用户。关注者表例如可以包括用户ID属性和关注用户属性,即关注者表可以保存每一用户对应的所有关注用户。第一特征用户例如可以是大V用户,第二特征用户例如可以是普通用户,第一特征用户和第二特征用户可以根据实际情况进行设定。用户身份标识表例如可以包括用户ID属性、身份标识属性、关注用户数量属性以及粉丝数量属性,即用户身份标识表可以保存每一用户对应的用户ID、身份标识、关注用户数量以及粉丝数量。需要说明的是,大V用户一般是粉丝数量大于预设阈值的用户,普通用户一般为大V用户以外的用户。根据用户身份标识表所保存的任意用户的粉丝数量,可以对该用户的身份标识进行调整。
步骤130:在第一索引表中查询所述第一特征用户对应的第一信息流数据,在第二索引表中查询所述第二特征用户对应的第二信息流数据。
其中,第一索引表(feed_temp表)例如可以采用读模式保存数据,保存有第一特征用户对应的第一信息流数据;第二索引表(feed表)例如可以采用写模式保存数据,保存有第二特征用户对应的第二信息流数据。第一索引表例如可以包括信息流ID属性、关注用户ID属性和粉丝用户ID属性,即第一索引表可以保存有任一信息流数据对应的信息流ID、该信息流数据的发布者ID和该信息流数据的接收者ID。因此,可以将第一特征用户的用户ID确定为第一索引表中的目标粉丝用户ID,查询目标粉丝用户ID对应的信息流数据,并对查询到的信息流数据进行实时组装处理,以生成第一信息流数据。第二索引表例如可以包括用户ID属性和信息流属性,即第二索引表可以保存任一第二特征用户的用户ID和该第二特征用户的信息流数据。因此,根据第二特征用户的用户ID,可以在第二索引表中直接查询到第二特征用户对应的第二信息流数据。
步骤140:根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据。
其中,在根据第一信息流数据和第二信息流数据生成第一目标用户的目标信息流数据时,可以组合第一信息流数据和第二信息流数据,生成组合信息流数据,在删除组合信息流数据中的非法信息流数据以及重复信息流数据之后,对组合信息流数据进行排序,根据排序结果靠前的预设数量的信息流数据确定目标用户的目标信息流。进一步的,还可以根据目标客户端的显示屏幕的分页数量来对目标信息流数据进行分页处理,将分页处理后的目标信息流数据返回给目标客户端。
进一步的,服务器还可以将第一特征用户发布的信息流数据保存至第一索引表中,将第二特征用户发布的信息流数据保存至第二索引表中。进一步的,服务器在保存信息流数据时,首先接收第二目标用户发布的信息流数据,再查询用户身份标识表,确定第二目标用户的身份标识,若根据第二目标用户的身份标识确定第二目标用户为第一特征用户,则将第二目标用户发布的信息流数据保存至第一索引表中;若根据第二目标用户的身份标识确定第二目标用户为第二特征用户,则将第二目标用户发布的信息流数据保存至第二索引表中。
需要说明的是,第一特征用户总量和第二特征用户总量处于最优范围内时,通过查询第一索引表和第二索引表可以较快的生成目标信息流数据,而当第一特征用户总量和第二特征用户总量未处于最优范围内时,通过查询第一索引表和第二索引表生成目标信息流数据的效率较低。因此,可以对用户身份标识表中的用户身份标识进行动态调整,以使得第一特征用户总量和第二特征用户总量始终处于最优范围内。在对用户身份标识表中的用户身份标识进行动态调整时,可以首先根据用户身份标识表确定第一特征用户总量和第二特征用户总量;若第一特征用户总量与第二特征用户总量的比值大于第一预设阈值,则将部分第一特征用户的身份标识切换为第二特征用户,若第一特征用户总量与第二特征用户总量的比值小于第二预设阈值,则将部分第二特征用户的身份标识切换为第一特征用户。
进一步的,若服务器根据第二目标用户的身份标识确定第二目标用户为第二特征用户,则服务器可以先将第二目标用户发布的信息流数据暂存至第一索引表中,再将暂存至第一索引表中的信息流数据分发至第二索引表中,以防止若服务器直接将第二目标用户发布的信息流数据保存至第二索引表中时可能导致的数据丢失问题。若服务器分发成功,则将暂存至第一索引表中的信息流数据从所述第一索引表中删除,以优化第一索引表的存储空间;若服务器分发失败,则通过定时任务继续将暂存至第一索引表中的信息流数据分发至第二索引表中。
进一步的,可以在第一索引表中设置分发状态属性(push_status)和分发失败次数属性(failed_time),分发状态属性用于记录信息流数据的分发状态,分发失败次数属性用于记录信息流数据的分发失败次数。在第一索引表中,将第一特征用户的信息流数据的分发状态属性标记为5,表示该信息流数据不需要分发;将第二特征用户的信息流数据的分发状态属性标记为0,表示该信息流数据需要分发;若分发失败,则进一步将该信息流数据的分发状态属性标记为3,同时将分发失败次数属性对应的值加1,由定时任务继续对分发失败的信息流数据进行分发。例如,通过定时任务每隔1分钟补分发一次,若连续分发失败5次,则进行告警,由人工介入处理。第一索引表和第二索引表可以分别设置不同的数据保存时间阈值,对超过数据保存时间阈值的数据进行清理,以节省第一索引表和第二索引表的存储空间。
需要说明的是,在服务器将暂存至第一索引表中的信息流数据分发至第二索引表中时,可以选择实时分发或定时分发,实时分发适用于***资源比较丰富的情况下,定时分发适用于***资源比较匮乏的情况下。进一步的,服务器可以首先根据第一索引表确定当前待分发信息流数据量,若待分发数据流数据量不大于实时分发数据量阈值,则将第一索引表中的待分发信息流数据实时分发至所述第二索引表中,若待分发信息流数据量大于实时分发数据量阈值,则先分别确定用于实时分发的信息流数据和用于定时任务分发的信息流数据,再将用于实时分发的信息流数据实时分发至第二索引表中,将用于定时任务分发的信息流数据通过定时任务分发至第二索引表中。进一步的,实时分发数据量阈值可以根据实际情况进行调整。在调整实时分发数据量阈值时,可以首先确定预设时间内分发信息流数据的平均时延,若平均时延大于第三预设阈值,则调低实时分发数据量阈值,若平均时延小于第四预设阈值,则调高实时分发数据量阈值。
本发明实施例中,当获取到目标终端发送的对第一目标用户的信息流数据生成请求之后,可以通过用户身份标识表确定第一目标用户的关注用户中的第一特征用户和第二特征用户,并且分别根据第一索引表和第二索引表查询第一特征用户对应的第一信息流数据以及第二特征用户对应的第二信息流数据;根据第一信息流数据和第二信息流数据生成第一目标用户的目标信息流数据。可以看出,本发明实施例根据不同的用户身份标识,分别采用不同的索引表来查询信息流数据,可以克服单一索引表查询的瓶颈,提高信息流数据的生成效率。
图2示出了本发明实施例信息流数据生成装置的结构示意图。如图2所示,该装置300包括:获取模块310、确定模块320、查询模块330和生成模块340。
其中,获取模块310用于获取第一目标用户的信息流数据生成请求;确定模块320用于查询用户身份标识表,确定所述第一目标用户的关注用户中的第一特征用户和第二特征用户;查询模块330用于在第一索引表中查询所述第一特征用户对应的第一信息流数据,在第二索引表中查询所述第二特征用户对应的第二信息流数据;生成模块340用于根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据。
在一种可选的方式中,生成模块340用于:
组合所述第一信息流数据和所述第二信息流数据,生成组合信息流数据;
在删除所述组合信息流数据中的非法信息流数据以及重复信息流数据之后,对所述组合信息流数据进行排序;
根据排序结果靠前的预设数量的信息流数据确定所述目标用户的目标信息流。
在一种可选的方式中,装置300还包括保存模块,用于:
接收第二目标用户发布的信息流数据;
查询所述用户身份标识表,确定所述第二目标用户的身份标识;
若根据所述第二目标用户的身份标识确定所述第二目标用户为第一特征用户,则将所述第二目标用户发布的信息流数据保存至所述第一索引表中;
若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据保存至所述第二索引表中。
在一种可选的方式中,保存模块用于:
根据所述用户身份标识表确定第一特征用户总量和第二特征用户总量;
若所述第一特征用户总量与所述第二特征用户总量的比值大于第一预设阈值,则将部分第一特征用户的身份标识切换为第二特征用户;
若所述第一特征用户总量与所述第二特征用户总量的比值小于第二预设阈值,则将部分第二特征用户的身份标识切换为第一特征用户。
在一种可选的方式中,保存模块用于:
若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据暂存至第一索引表中;
将暂存至所述第一索引表中的信息流数据分发至所述第二索引表中;
若分发成功,则将暂存至所述第一索引表中的信息流数据从所述第一索引表中删除;
若分发失败,则通过定时任务继续将暂存至所述第一索引表中的信息流数据分发至所述第二索引表中。
在一种可选的方式中,保存模块用于:
根据所述第一索引表确定当前待分发信息流数据量;
若所述待分发数据流数据量不大于实时分发数据量阈值,则将所述第一索引表中的待分发信息流数据实时分发至所述第二索引表中;
若所述待分发信息流数据量大于所述实时分发数据量阈值,则分别确定用于实时分发的信息流数据和用于定时任务分发的信息流数据;
将所述用于实时分发的信息流数据实时分发至所述第二索引表中,将所述用于定时任务分发的信息流数据通过定时任务分发至所述第二索引表中。
在一种可选的方式中,保存模块用于:
确定预设时间内分发信息流数据的平均时延;
若所述平均时延大于第三预设阈值,则调低所述实时分发数据量阈值;
若所述平均时延小于第四预设阈值,则调高所述实时分发数据量阈值。
本发明实施例中,当获取到目标终端发送的对第一目标用户的信息流数据生成请求之后,可以通过用户身份标识表确定第一目标用户的关注用户中的第一特征用户和第二特征用户,并且分别根据第一索引表和第二索引表查询第一特征用户对应的第一信息流数据以及第二特征用户对应的第二信息流数据;根据第一信息流数据和第二信息流数据生成第一目标用户的目标信息流数据。可以看出,本发明实施例根据不同的用户身份标识,分别采用不同的索引表来查询信息流数据,可以克服单一索引表查询的瓶颈,提高信息流数据的生成效率。
图3示出了本发明实施例电子设备结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图3所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于信息流数据生成方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以被处理器402调用使电子设备执行以下操作:
获取第一目标用户的信息流数据生成请求;
查询用户身份标识表,确定所述第一目标用户的关注用户中的第一特征用户和第二特征用户;
在第一索引表中查询所述第一特征用户对应的第一信息流数据,在第二索引表中查询所述第二特征用户对应的第二信息流数据;
根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据。
在一种可选的方式中,程序410具体可以被处理器402调用使电子设备执行以下操作:
组合所述第一信息流数据和所述第二信息流数据,生成组合信息流数据;
在删除所述组合信息流数据中的非法信息流数据以及重复信息流数据之后,对所述组合信息流数据进行排序;
根据排序结果靠前的预设数量的信息流数据确定所述目标用户的目标信息流。
在一种可选的方式中,程序410具体可以被处理器402调用使电子设备执行以下操作:
接收第二目标用户发布的信息流数据;
查询所述用户身份标识表,确定所述第二目标用户的身份标识;
若根据所述第二目标用户的身份标识确定所述第二目标用户为第一特征用户,则将所述第二目标用户发布的信息流数据保存至所述第一索引表中;
若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据保存至所述第二索引表中。
在一种可选的方式中,程序410具体可以被处理器402调用使电子设备执行以下操作:
根据所述用户身份标识表确定第一特征用户总量和第二特征用户总量;
若所述第一特征用户总量与所述第二特征用户总量的比值大于第一预设阈值,则将部分第一特征用户的身份标识切换为第二特征用户;
若所述第一特征用户总量与所述第二特征用户总量的比值小于第二预设阈值,则将部分第二特征用户的身份标识切换为第一特征用户。
在一种可选的方式中,程序410具体可以被处理器402调用使电子设备执行以下操作:
若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据暂存至第一索引表中;
将暂存至所述第一索引表中的信息流数据分发至所述第二索引表中;
若分发成功,则将暂存至所述第一索引表中的信息流数据从所述第一索引表中删除;
若分发失败,则通过定时任务继续将暂存至所述第一索引表中的信息流数据分发至所述第二索引表中。
在一种可选的方式中,程序410具体可以被处理器402调用使电子设备执行以下操作:
根据所述第一索引表确定当前待分发信息流数据量;
若所述待分发数据流数据量不大于实时分发数据量阈值,则将所述第一索引表中的待分发信息流数据实时分发至所述第二索引表中;
若所述待分发信息流数据量大于所述实时分发数据量阈值,则分别确定用于实时分发的信息流数据和用于定时任务分发的信息流数据;
将所述用于实时分发的信息流数据实时分发至所述第二索引表中,将所述用于定时任务分发的信息流数据通过定时任务分发至所述第二索引表中。
在一种可选的方式中,程序410具体可以被处理器402调用使电子设备执行以下操作:
确定预设时间内分发信息流数据的平均时延;
若所述平均时延大于第三预设阈值,则调低所述实时分发数据量阈值;
若所述平均时延小于第四预设阈值,则调高所述实时分发数据量阈值。
本发明实施例中,当获取到目标终端发送的对第一目标用户的信息流数据生成请求之后,可以通过用户身份标识表确定第一目标用户的关注用户中的第一特征用户和第二特征用户,并且分别根据第一索引表和第二索引表查询第一特征用户对应的第一信息流数据以及第二特征用户对应的第二信息流数据;根据第一信息流数据和第二信息流数据生成第一目标用户的目标信息流数据。可以看出,本发明实施例根据不同的用户身份标识,分别采用不同的索引表来查询信息流数据,可以克服单一索引表查询的瓶颈,提高信息流数据的生成效率。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在电子设备上运行时,使得所述电子设备执行上述任意方法实施例中的信息流数据生成方法。
本发明实施例提供一种信息流数据生成装置,用于执行上述信息流数据生成方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使电子设备执行上述任意方法实施例中的信息流数据生成方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的信息流数据生成方法。
在此提供的算法或显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种信息流数据生成方法,其特征在于,所述方法包括:
获取第一目标用户的信息流数据生成请求;
查询用户身份标识表,确定所述第一目标用户的关注用户中的第一特征用户和第二特征用户;
在第一索引表中查询所述第一特征用户对应的第一信息流数据,在第二索引表中查询所述第二特征用户对应的第二信息流数据;
根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据包括:
组合所述第一信息流数据和所述第二信息流数据,生成组合信息流数据;
在删除所述组合信息流数据中的非法信息流数据以及重复信息流数据之后,对所述组合信息流数据进行排序;
根据排序结果靠前的预设数量的信息流数据确定所述目标用户的目标信息流数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收第二目标用户发布的信息流数据;
查询所述用户身份标识表,确定所述第二目标用户的身份标识;
若根据所述第二目标用户的身份标识确定所述第二目标用户为第一特征用户,则将所述第二目标用户发布的信息流数据保存至所述第一索引表中;
若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据保存至所述第二索引表中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述用户身份标识表确定第一特征用户总量和第二特征用户总量;
若所述第一特征用户总量与所述第二特征用户总量的比值大于第一预设阈值,则将部分第一特征用户的身份标识切换为第二特征用户;
若所述第一特征用户总量与所述第二特征用户总量的比值小于第二预设阈值,则将部分第二特征用户的身份标识切换为第一特征用户。
5.根据权利要求3或4所述的方法,其特征在于,所述若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据保存至所述第二索引表中包括:
若根据所述第二目标用户的身份标识确定所述第二目标用户为第二特征用户,则将所述第二目标用户发布的信息流数据暂存至第一索引表中;
将暂存至所述第一索引表中的信息流数据分发至所述第二索引表中;
若分发成功,则将暂存至所述第一索引表中的信息流数据从所述第一索引表中删除;
若分发失败,则通过定时任务继续将暂存至所述第一索引表中的信息流数据分发至所述第二索引表中。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述第一索引表确定当前待分发信息流数据量;
若所述待分发数据流数据量不大于实时分发数据量阈值,则将所述第一索引表中的待分发信息流数据实时分发至所述第二索引表中;
若所述待分发信息流数据量大于所述实时分发数据量阈值,则分别确定用于实时分发的信息流数据和用于定时任务分发的信息流数据;
将所述用于实时分发的信息流数据实时分发至所述第二索引表中,将所述用于定时任务分发的信息流数据通过定时任务分发至所述第二索引表中。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
确定预设时间内分发信息流数据的平均时延;
若所述平均时延大于第三预设阈值,则调低所述实时分发数据量阈值;
若所述平均时延小于第四预设阈值,则调高所述实时分发数据量阈值。
8.一种信息流生成装置,其特征在于,所述装置包括:
获取模块,用于获取第一目标用户的信息流数据生成请求;
确定模块,用于查询用户身份标识表,确定所述第一目标用户的关注用户中的第一特征用户和第二特征用户;
查询模块,用于在第一索引表中查询所述第一特征用户对应的第一信息流数据,在第二索引表中查询所述第二特征用户对应的第二信息流数据;
生成模块,用于根据所述第一信息流数据和所述第二信息流数据生成所述第一目标用户的目标信息流数据。
9.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的信息流数据生成方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如权利要求1-7任意一项所述的信息流数据生成方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111004332.3A CN113722322A (zh) | 2021-08-30 | 2021-08-30 | 信息流数据生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111004332.3A CN113722322A (zh) | 2021-08-30 | 2021-08-30 | 信息流数据生成方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722322A true CN113722322A (zh) | 2021-11-30 |
Family
ID=78679071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111004332.3A Pending CN113722322A (zh) | 2021-08-30 | 2021-08-30 | 信息流数据生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722322A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830391B1 (en) * | 2014-06-24 | 2017-11-28 | Google Inc. | Query modification based on non-textual resource context |
US10129575B1 (en) * | 2017-10-25 | 2018-11-13 | Shazam Entertainment Limited | Methods and systems for determining a latency between a source and an alternative feed of the source |
CN111597359A (zh) * | 2020-04-24 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 信息流的分享方法、装置、设备及存储介质 |
US20210209109A1 (en) * | 2020-06-29 | 2021-07-08 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method, apparatus, device, and storage medium for intention recommendation |
-
2021
- 2021-08-30 CN CN202111004332.3A patent/CN113722322A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9830391B1 (en) * | 2014-06-24 | 2017-11-28 | Google Inc. | Query modification based on non-textual resource context |
US10129575B1 (en) * | 2017-10-25 | 2018-11-13 | Shazam Entertainment Limited | Methods and systems for determining a latency between a source and an alternative feed of the source |
CN111597359A (zh) * | 2020-04-24 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 信息流的分享方法、装置、设备及存储介质 |
US20210209109A1 (en) * | 2020-06-29 | 2021-07-08 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method, apparatus, device, and storage medium for intention recommendation |
Non-Patent Citations (1)
Title |
---|
周小燕;: "基于二维码的智能图书信息快速查询***设计", 现代电子技术, no. 05 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110109953B (zh) | 一种数据查询方法、装置及设备 | |
CN108572970B (zh) | 一种结构化数据的处理方法和分布式处理*** | |
CN107920094B (zh) | 数据获取方法、装置、服务器及网络设备 | |
CN111722918A (zh) | 业务标识码生成方法、装置、存储介质及电子设备 | |
WO2021258512A1 (zh) | 数据的聚合处理装置、方法和存储介质 | |
CN113468226A (zh) | 一种业务处理方法、装置、电子设备和存储介质 | |
CN109495553A (zh) | 一种网页显示控制方法、***及反向代理服务器 | |
CN110245684B (zh) | 数据处理方法、电子设备和介质 | |
CN114006946B (zh) | 同质资源请求的处理方法、装置、设备及存储介质 | |
US20200004785A1 (en) | Automatic grouping based on user behavior | |
US20220035666A1 (en) | Method and apparatus for data processing, server and storage medium | |
CN116783588A (zh) | 用于大元数据管理的列技术 | |
CN111400301A (zh) | 一种数据查询方法、装置及设备 | |
CN110990701B (zh) | 书籍搜索方法、计算设备及计算机存储介质 | |
CN106487653B (zh) | 一种消息处理方法及服务器 | |
US20180343213A1 (en) | Preventing reader starvation during order preserving data stream consumption | |
CN110515979B (zh) | 数据查询方法、装置、设备和存储介质 | |
CN111898747B (zh) | 一种特征比对方法及电子设备 | |
CN113722322A (zh) | 信息流数据生成方法、装置及电子设备 | |
CN110674086A (zh) | 数据合并方法、装置、电子设备及存储介质 | |
CN111767481A (zh) | 访问处理方法、装置、设备和存储介质 | |
CN111104528B (zh) | 图片获取方法、装置及客户端 | |
CN110390208B (zh) | 一种复合数据项标签的优选数据源访问方法及装置 | |
CN109388500B (zh) | 一种基于无线测量报告mr的处理方法及*** | |
CN113590322A (zh) | 一种数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |