数据源去重方法及相关装置与流程

文档序号:31599152发布日期:2022-09-21 08:07阅读:63来源:国知局
数据源去重方法及相关装置与流程

1.本发明涉及数据传输领域,特别涉及一种数据源去重方法及相关装置。


背景技术:

2.随着移动互联网的发展,越来越多的网络用户转移到手机、平板电脑等移动设备,视频类软件尤为突出,需要把更多的视频推送给用户,用户也希望接收到自己想看的视频,但受限于移动设备的屏幕大小,每屏展示的内容有限,而且在多数据源的情况下展示的内容可能重复,浪费宝贵的曝光资源,所以尽可能提高有效曝光是各大视频内网站的当务之急。


技术实现要素:

3.鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种数据源去重方法及相关装置。
4.第一方面,一种数据源去重方法,包括:
5.根据频道标识,请求获取对应的频道数据;
6.若成功获取所述频道数据,则遍历所述频道数据中的各模块的模块信息;
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.图1示出了本发明提供的第一种数据源去重方法的流程图;
39.图2示出了本发明提供的一种运营后台页面的示意图;
40.图3示出了本发明提供的第二种数据源去重方法的流程图;
41.图4示出了本发明提供的第三种数据源去重方法的流程图;
42.图5示出了本发明提供的第四种数据源去重方法的流程图;
43.图6示出了本发明提供的另一种运营后台页面的示意图;
44.图7示出了本发明提供的第五种数据源去重方法的流程图;
45.图8示出了本发明提供的第六种数据源去重方法的流程图;
46.图9示出了本发明提供的一种数据源去重装置的结构示意图;
47.图10示出了本发明提供的一种电子设备的结构示意图。
具体实施方式
48.随着移动互联网的发展,越来越多的网络用户转移到手机和平板电脑等移动设备。视频类软件尤为突出,需要把更多的视频推送给用户,用户也希望接收到自己想看的视频,但受限于移动设备的屏幕大小,每屏展示的内容有限,而且在多数据源的情况下展示的内容可能重复,浪费宝贵的曝光资源。所以,尽可能提高有效曝光是各大视频内网站的当务之急。本发明的改进的目的是在多数据源情况下去掉重复内容,尽可能提高资源的有效曝光,带来更多的收益。
49.本专利发明人研究发现,当前视频类app通常由三个部分组成:运营后台编排内容、服务端稳定提供数据和客户端展示视频内容,客户端不同位置的内容可能来源不同的服务端。比如,个性化内容来源于推荐服务,这就需要用不同的模块承载,因此服务端可以有多个。每个服务端有自己单独的内容池,提供不同的数据。但不同服务端内容池的数据来源于一个总的池子,这就会产生一个问题:不同服务端提供的数据可能存在重复,内容重复就会减少其他视频内容的曝光。目前,一般的做法是针对重复内容做去重逻辑,但是这种方式不灵活,比如这次是模块a和模块b有内容重复,针对a相对b做去重逻辑;下次如果是a和c重复,则需要针对c相对a做去重逻辑,又要重新更改业务逻辑,比较麻烦。
50.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明
的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
51.如图1所示,本发明提供了一种数据源去重方法,包括:s100、s200、s300和s400;
52.s100、根据频道标识,请求获取对应的频道数据;
53.可选的,本发明可以在运营后台编排数据,运营后台具体的页面可以如图2所示,即运营后台包括频道、模块和数据源组成。一个页面展示一个频道的数据,频道下面包含很多模块,模块下包含数据源,模块可以添加多个数据源,添加的数据源可以下线,频道可以添加不同模块,添加后的模块可以下线等,本发明对此不做限制。
54.可选的,本发明的执行主体可以是服务端,服务端可以在获得频道标识后请求获取频道数据。
55.可选的,本发明所说的频道标识指的是如图2所示中的各频道的名称或者频道id,例如图2中的“频道1”即可理解为频道标识,本发明对此不做限制。
56.可选的,本发明所说的频道数据指的是当前频道下的所有模块下的数据聚合得到的数据,在聚合得到频道数据之后,可以将频道数据存储至缓存,后续可以通过该频道的接口获取频道数据,本发明对此不做限制。其中,频道数据中可以包括基础数据和关联关系。
57.可选的,本发明对于根据频道标识,请求获取对应的频道数据的具体过程不做限制。例如,如图3所示,结合图1所示的实施方式,在某些可选的实施方式中,在所述s100之前,所述方法还包括:s90;
58.s90、获得客户端针对第一频道的数据访问请求,其中,所述数据访问请求中携带有所述第一频道的频道标识;
59.所述s100,包括:s110;
60.s110、根据所述第一频道的频道标识,请求获取所述第一频道的频道数据。
61.可选的,用户可以在打开视频app后,为了访问第一频道的频道数据,向服务器发起请求,请求中携带着第一频道的频道标识,本发明对此不做限制。
62.可选的,在前述步骤中,聚合得到频道数据后,可以在缓存中存储该频道数据和对应的频道标识,以便于后续请求获取相应的频道标识,本发明对此不做限制。
63.例如,如图4所示,结合图3所示的实施方式,在某些可选的实施方式中,所述s110,包括:s111;
64.s111、根据所述第一频道的频道标识,从缓存中请求获取所述第一频道的频道数据。
65.可选的,本发明所说的缓存可以是redis缓存,本发明对此不做限制。
66.可选的,若未获取所述频道数据,则说明本发明未预先聚合得到该频道的频道信息,则可以先聚合得到该频道的频道信息。例如,如图5所示,结合图4所示的实施方式,在某些可选的实施方式中,在所述s111之后,所述方法还包括:s210、s220和s230;
67.s210、若从所述缓存中未获取到所述第一频道的频道数据,则根据所述频道标识,获取所述第一频道的频道信息和所述第一频道对应的各模块的模块信息和对应的数据源列表;
68.其中,所述第一频道对应多个所述模块,一个所述模块对应一份所述模块信息且
对应一个所述数据源列表;
69.可选的,频道信息、模块信息和数据源列表均可以提前构建,本发明对此不做限制。需要说明的是:频道信息可以包括频道id、频道名称、频道类型、图标和跳转链接等信息;模块信息可以包括模块id、模块名称、模块类型和背景色等信息;数据源列表可以包括多个数据源,每个数据源包括数据源id、数据源名称、跳转id、跳转类型和背景图等信息,本发明对此不做限制。
70.s220、根据所述第一频道的频道信息和对应的各所述模块的模块信息和对应的所述数据源列表,聚合得到所述第一频道的频道数据;
71.可选的,本发明可以将频道信息、模块信息和数据源列表里记录的信息,组合得到频道数据,本发明对此不做限制。
72.s230、将聚合得到所述频道数据存储至所述缓存。
73.可选的,由于直接读取数据库获取频道数据的速度慢、性能低,所以本发明可以提前把这些频道数据存入缓存,本发明对此不做限制。
74.s200、若成功获取所述频道数据,则遍历所述频道数据中的各模块的模块信息;
75.可选的,若成功获取所述频道数据,则说明预先已经聚合得到该频道的频道数据并存储至缓存。因此,可以遍历各模块的模块信息,以便于分别确定各模块是否关联有相应的关联去重模块,本发明对此不做限制。
76.s300、针对任一所述模块的模块信息,若所述模块的模块信息中记录有对应的关联去重模块,则遍历所述模块的第一数据源列表和所述关联去重模块的第二数据源列表;
77.可选的,若所述模块的模块信息中记录有对应的关联去重模块,则说明该模块需要进行去重处理。即,需要对该模块的数据源相对于关联去重模块的数据源进行去重,本发明对此不做限制。
78.可选的,如前所述,本发明可以在运营后台编排各个频道的数据,包括编排各个模块的关联去重模块。例如,若需要针对模块1相对模块2要做去重处理,则可以在图6所示的界面中,选择模块2作为关联去重模块,从而在模块1的模块信息中关联模块2,本发明对此不做限制。
79.具体的,本发明可以通过这数据库的表设计来实现关联。即,在模块的表增加一个字段:关联去重模块,这个字段用于保存需要去重的模块标识,表示当前模块需要和关联的关联去重模块做内容上的去重处理,本发明对此不做限制。
80.s400、若所述第一数据源列表和所述第二数据源列表中均记录有第一数据源,则将所述第一数据源从所述第一数据源列表中去除,并断开所述第一数据源与所述模块之间的通信。
81.可选的,数据源列表中记录对应模块连接的各数据源,通过遍历第一数据源列表和第二数据源列表,判断第一数据源列表中记录的数据源是否也记录在第二数据源列表中。若第一数据源列表中记录的数据源也记录在第二数据源列表中,则说明两个模块连接同一个数据源,则可以进行相应的去重处理。
82.可选的,若第一数据源列表中记录的全部数据源,在第二数据源列表中均为记录有,则说明两个模块未连接相同的数据源,不必进行去重处理。
83.可选的,如图7所示,结合图1所示的实施方式,在某些可选的实施方式中,在所述
s400之后,所述方法还包括:s500和s600;
84.s500、从所述模块的备用数据源池子中选择一个备用数据源,并建立所述备用数据源与所述模块之间的通信;
85.可选的,如前所述,本发明可以设置各个模块连接的数据源的数量,若断开该模块与某个数据源的连接后,则可以建立该模块与其他数据源的连接,以保持该模块连接的数据源的数量不变,本发明对此不做限制。
86.s600、在所述第一数据源列表中增加所述备用数据源。
87.可选的,在建立备用数据源与该模块之间的通信后,可以在该模块的数据源列表中增加该备用数据源的记录,以记录该备用数据源已连接至该模块,本发明对此不做限制。
88.可选的,如图8所示,结合图7所示的实施方式,在某些可选的实施方式中,在所述s500之后,所述方法还包括:s700;
89.s700、控制客户端重新渲染所述第一频道的页面。
90.可选的,如前所述,该模块所连接的数据源已发生变更,所以相应的页面也可以重新渲染,已更新页面,本发明对此不做限制。
91.如图9所示,本发明提供了一种数据源去重装置,包括:数据请求单元100、数据遍历单元200、列表遍历单元300和数据源去重单元400;
92.所述数据请求单元100,用于根据频道标识,请求获取对应的频道数据;
93.所述数据遍历单元200,用于若成功获取所述频道数据,则遍历所述频道数据中的各模块的模块信息;
94.所述列表遍历单元300,用于针对任一所述模块的模块信息,若所述模块的模块信息中记录有对应的关联去重模块,则遍历所述模块的第一数据源列表和所述关联去重模块的第二数据源列表;
95.所述数据源去重单元400,用于若所述第一数据源列表和所述第二数据源列表中均记录有第一数据源,则将所述第一数据源从所述第一数据源列表中去除,并断开所述第一数据源与所述模块之间的通信。
96.结合图9所示的实施方式,在某些可选的实施方式中,所述装置还包括:访问请求获得单元;
97.所述访问请求获得单元,用于在所述根据频道标识,请求获取对应的频道数据之前,获得客户端针对第一频道的数据访问请求,其中,所述数据访问请求中携带有所述第一频道的频道标识;
98.所述数据请求单元,包括:数据请求子单元;
99.所述数据请求子单元,用于根据所述第一频道的频道标识,请求获取所述第一频道的频道数据。
100.结合上一个实施方式,在某些可选的实施方式中,所述数据请求子单元,包括:第一数据请求子单元;
101.所述第一数据请求子单元,用于根据所述第一频道的频道标识,从缓存中请求获取所述第一频道的频道数据。
102.结合上一个实施方式,在某些可选的实施方式中,所述装置还包括:信息获得单元、信息聚合单元和数据存储单元;
103.所述信息获得单元,用于在所述根据所述第一频道的频道标识,从缓存中请求获取所述第一频道的频道数据之后,若从所述缓存中未获取到所述第一频道的频道数据,则根据所述频道标识,获取所述第一频道的频道信息和所述第一频道对应的各模块的模块信息和对应的数据源列表,其中,所述第一频道对应多个所述模块,一个所述模块对应一份所述模块信息且对应一个所述数据源列表;
104.所述信息聚合单元,用于根据所述第一频道的频道信息和对应的各所述模块的模块信息和对应的所述数据源列表,聚合得到所述第一频道的频道数据;
105.所述数据存储单元,用于将聚合得到所述频道数据存储至所述缓存。
106.结合图9所示的实施方式,在某些可选的实施方式中,所述装置还包括:数据源选择单元和数据源增加单元;
107.所述数据源选择单元,用于在所述将所述第一数据源从所述第一数据源列表中去除,并断开所述第一数据源与所述模块之间的通信之后,从所述模块的备用数据源池子中选择一个备用数据源,并建立所述备用数据源与所述模块之间的通信;
108.所述数据源增加单元,用于在所述第一数据源列表中增加所述备用数据源。
109.结合图9所示的实施方式,在某些可选的实施方式中,所述装置还包括:页面渲染单元;
110.所述页面渲染单元,用于在所述从所述模块的备用数据源池子中选择一个备用数据源,并建立所述备用数据源与所述模块之间的通信之后,控制客户端重新渲染所述第一频道的页面。
111.本发明提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的数据源去重方法。
112.如图10所示,本发明提供了一种电子设备70,所述电子设备70包括至少一个处理器701、以及与所述处理器701连接的至少一个存储器702、总线703;其中,所述处理器701、所述存储器702通过所述总线703完成相互间的通信;所述处理器701用于调用所述存储器702中的程序指令,以执行上述任一项所述的数据源去重方法。
113.在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
114.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
115.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本发明中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发
明将不会被限制于本发明所示的这些实施例,而是要符合与本发明所公开的原理和新颖特点相一致的最宽的范围。
116.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1