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

用于允许用户电子地发布评论的系统、方法和数据结构与流程

2021-10-23 04:12:00 来源:中国专利 TAG:

用于允许用户电子地发布评论的系统、方法和数据结构
发明领域
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.在一实施例中,每个所述条目的所述内容数据包括计数数据,该计数数据指示由所述用户对该条目做出的评论的计数。
39.在整个说明书中对“一个实施例”、“一些实施例”或“一实施例”的引用意味着结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书的各个地方出现的短语“在一个实施例中”、“在一些实施例中”或“在一实施例中”不一定都指代相同的实施例,而是可以。此外,在一个或多个实施例中,特定特征、结构或特性可以以任何合适的方式组合,如本领域普通技术人员从本公开中显而易见的。
40.如本文所用,除非另有说明,否则使用序数形容词“第一”、“第二”、“第三”等来描述共同对象,仅表示所指的是相似对象的不同实例,并且无意暗示如此描述的对象必须在
时间、空间、排名、重要性或任何其他方式上处于给定的顺序中。
41.除非上下文另有明确要求,否则在下面的权利要求和本文的描述中,术语“包括”、“由
……
组成”或“其包括”中的任何一个是开放式术语,其意味着“至少包括下面的元素/特征,但不排除其他元素/特征”。因此,当在权利要求中使用时,术语“包括”不应被解释为对其后列出的装置或元件或步骤的限制。例如,表述“包含a和b的器件”的范围不应限于仅由元件a和b组成的器件。如本文中所使用的术语“包含”、“由
……
构成”或“其包含”中的任一者也是开放式术语,其也意指“至少包含遵循所述术语但不排除其它的元件/特征”。因此,术语“包括”与“包含”同义,并且可以互换使用。
42.如本文所用,术语“示例性”是在提供示例的意义上,而不是指示质量。即,“示例性实施例”是作为示例提供的实施例,而不是必然是示例性质量的实施例。
附图说明
43.现在将参考附图仅通过实例的方式描述本发明的优选实施例。图1是根据本发明的实施例的系统的示意性图示;图2是在图1的系统中使用的数据结构的示意性图示;图3是说明图1的系统的示例性操作的流程图;以及图4是来自访问系统1的用户设备的屏幕截图的说明性序列。
具体实施方式
44.本文描述一种用于允许用户电子地发布评论的系统、方法和数据结构。
45.社交媒体平台包括社交网络平台、博客、微博、视频共享平台、互联网论坛等。这些启用互联网或计算机网络的平台允许共享数字内容,即“发布的内容”,并且通常还允许用户对内容提供评论。在本文中,将理解的是,评论本身能够是被发布内容,在该内容上能够做出进一步的评论。数字内容能够包括多种元素和/或文件类型以及它们的组合,包括以下中的一者以上:文本;一个或多个图像文件;一个或多个视频文件;其他链接的超文本;等等。也能够从多种多样的选项中选择用户提供的评论,包括诸如以下之中的一种以上的策略:图标;计数;或在发布的内容中使用的任意种类的策略。
46.在本发明的优选实施例中,评论被示例性地设置为对内容的“反应”。这些反应是更广义的术语“评论”的子集,并且在下面描述的实施例中用于说明那些实施例的操作和能够通过使用这种反应实现的有利功能。然而,在其他实施例中,使用不同于或除了下面描述的反应之外的评论。
47.参考图1和图2,示出了根据本发明的实施例的系统1。系统1包括用于以社交网络平台的形式托管社交媒体平台的设施2。系统1允许用户3以反应4的形式通过用户设备5电子地发布相应的评论。每个反应4与社交网络平台上的发布内容的多个条目6(参见图2)之一相关。系统1包括通信接口8和网络接口9的形式的接口,用于从设备5接收对平台上的所选择的发布的数据11的反应4和单独的请求10。数据11能够指示发布内容的条目6中的一个以上、反应4或其他发布的材料,或从这些中的任一者导出的数据,并且能够包括诸如广告等的其他数据。接口8响应于来自那些设备的相应请求10将所选择的发布数据11引导到设备5。如图2中最佳所示的,数据库15存储针对发布内容的各个条目6的内容数据16。给定条
目6的内容数据16包括内容字段17和计数字段18,内容字段17包含指示条目6的发布内容的数据。数据库21针对各个反应4存储评论数据22,评论数据具有包含指示相应反应的数据和指示提供反应的相应用户3的数据的字段23和字段24。反应服务器31形式的评论引擎响应于接口8接收来自相应用户3的反应4以用于选择性地更新数据22。发布服务器32形式的发布引擎响应于用于访问数据16和22的请求10以生成所选择的发布数据11。
48.尽管仅明确地示出了三个用户3,但是应当理解,平台支持数百数千或数百万用户。
49.设施2由维护所需的硬件和软件以允许平台运行的运营商(未示出)控制。在该实施例中,运营商也是主要由用户3创作的数据16的所有者。也就是说,系统1允许用户响应于由其他用户或由运营商更早生成的内容来发布反应4。系统1还能够将给定反应处理为内容,使得随后能够对于给定反应发布附加的反应。
50.在其他实施例中,替代地或附加地,运营商雇佣或以其他方式聘用一个或多个作者以生成内容数据16。在另外的实施例中,一些内容数据16中从诸如新闻推送等的推送导出。即,尽管在详细描述的实施例中系统1应用于社交网络平台,但是本领域技术人员将理解,其也适用于其他平台,诸如博客、协作管理工具、在线发布和其他接纳用户评论(即反应)的在线平台。
51.设备5是允许用户与系统1进行交互的互联网支持的设备。这些设备包括诸如智能电话、平板电脑、台式计算机、笔记本电脑等设备。给定用户通常在任何给定时间经由一个这样的设备发起与系统1的会话。然而,该用户能够使用任何其他这样的设备来发起稍后的会话并且从系统1获得相同的功能。
52.系统1内包括的服务器31和32是用于提供系统1的功能的服务器系统33的一部分。作为用于系统1的管理服务器的系统33中的示例性服务器35包括处理器36和存储器模块37,存储器模块用于存储由服务器35执行的软件指令38等,以有助于系统1的总体功能。如本领域技术人员将理解的,包括其他服务器以在系统1内提供进一步的功能。
53.服务器系统33还利用通信主干41来允许系统33访问和/或更新保存在数据库15、21和42以及包括在设施2内的任何其他数据库中的记录。在系统1需要来自远程定位或受控数据库的数据的范围内,经由接口8访问该数据。
54.在其他实施例中,数据16和数据22中的一些或全部被存储在相对于设施2远程定位的一个或多个数据库(未示出)中。
55.尽管在图2中,仅分别针对数据16和数据22明确地示出了三个记录,但是系统1容纳了数百万这样的记录,并且被配置为随着新内容的发布以及通过系统1的操作对该内容产生新的反应,该数量会不断增长。现在将参考图4的十四个顺序屏幕截图来更详细地描述该操作,其中包含的附图标记1到21呈现在覆盖屏幕截图的相应圆圈内。这些附图标记按如下方式扩展:其中屏幕截图1、附图标记1——每个用户3在成功完成注册过程(未示出)后登录到系统1。一旦登录到系统1中,每个用户3就能够使用设备5来提交请求10并且查看可供他们选择的发布数据11。在一些实施例中,所有数据16是公开可用的,而在另一些实施例中,用户按组自行排布以限制对给定发布内容的访问。在图1中,发布内容由附图标记1指定,并且包括由其他用户上传并且可供用户与之交互的多个数字图像。图像按照发布到系统1的时间
按时间顺序排列。然而,在另一些实施例中,使用不同的排序系统,诸如感知到的用户的兴趣、图像的创建日期、图像与用户指定的话题的相关性等。在这种情况下,用户通过点击或轻击所提供的缩略图来选择一个图像。这导致进一步的请求10由设备5生成并被传送到系统1。屏幕截图2、附图标记2——在选择缩略图时,在发布数据11的另一实例中提供图像的更详细的格式。一旦由设备5接收,该更高分辨率的图像经由设备5的gui显示给用户3。此时,gui还向用户3显示互动按钮或图标。如果用户3轻击该按钮一次,则用户的预设默认反应将在相应的反应4中传达给系统1。如果用户轻击并长按该按钮,则将出现附加的反应选项。屏幕截图3、附图标记3——在与互动按钮的保持交互之后,设备5的gui向用户3呈现反应类型和选项的列表。在该实例实施例中,向用户列出了十种类型的反应,并且每种反应类型呈现正常状态和匿名状态。传送到系统1的反应4将指示反应类型和反应状态。如果用户对于任何给定反应类型均选择正常状态,则传送到系统1的反应4将不仅包括指示反应类型的数据,而且还包括针对发布的数据16记录和显示反应并且将反应与生成反应4的特定用户3相关联。可替代地,用户3能够通过按下切换开关来选择匿名状态。屏幕截图4、附图标记4——源于屏幕截图3,用户3已经切换到匿名状态,并且每个反应图标当前呈现有标签以区分于正常状态反应。如果用户3选择匿名状态下的反应,则针对发布内容记录和显示该反应,并且不与作出反应的用户3相关联。另一用户,无论其为发布内容的所有者还是查看帖子的另一用户,将不能识别做出匿名反应的用户。屏幕截图5、附图标记5——在屏幕截图4中,用户3选择匿名“kiss”类型的反应,其作为反应4被传送到系统1。在屏幕截图5中,发送反应4的用户3能够再次访问关于其进行反应的发布内容并且查看反应4的结果。也就是说,进行反应4的用户3能够获得关于所发布的内容做出的选择的反应类型的确认。当用户3轻击由附图标记5指示的反应图标时,使得用户3能够使用与所选择的反应类型交互所用的其他选项。屏幕截图6、附图标记6至9——在屏幕截图5处,用户3轻击现有的可见反应图标。在屏幕截图6中,显示用户3已经施加于相关的发布内容的当前反应。由附图标记7呈现的图标列表对应于反应类型的原始列表,并且允许用户3从该列表中选择改变或确认反应类型和选项。此外,用户3能够删除或移除对发布内容的当前反应,在该实施例中,这通过选择由附图标记8指示的删除图标来提供。此外,还向用户3提供了隐藏他或她早先对发布的内容提交反应4的事实的选项。该功能通过用户3按下由附图标记9指示的图标来实现。这导致上面的屏幕截图5和6中提供的视觉确认恢复到非反应状态,另外消除用户3已经提交了对相关的发布内容的反应4的任何视觉证据。这允许该实例中的用户3(以及更一般的意义上的系统1的所有用户)对发布的内容做出反应,而没有(可以访问系统1上的用户的账户的)其他人能够发现反应4的存在。该特定反应4将仍然在反应的总列表中保持可见(见下文)。屏幕截图7、附图标记10——在屏幕截图6处,用户3选择由附图标记9表示的图标,并且因此,设备5向用户3通知该选择的结果。特别地,设备5被配置为提供弹出信息10,以通知用户3相关反应在系统1中仍然是活跃的,但是对于用户3是不可见的,即使合法登录使用系统1。在一些实施例中,系统1允许用户3具有使部分或所有隐藏记录再次可见的选项。屏幕截图8、附图标记11——一旦由数字9和10表示的图标已经被顺次选择,则用
户3将被呈现发布的内容和改变的反应。即,先前可见的反应(屏幕截图5)在屏幕截图7处不再可见(因为由附图标记11指示的区域与屏幕截图2中提供的区域相同)。如果用户3轻击并长按在附图标记11附近的图标上,则设备5执行本地保存的代码以向用户3呈现屏幕截图8。屏幕截图9、附图标记12和13——屏幕截图9在视觉上与屏幕截图3实际相同。然而,在系统1处,所发布的内容的反应的总计数(和每种类型的反应的总计数)包括用户3的反应的计数,因为它仍然是活跃的,尽管是隐藏的。此外,如果用户3轻击由附图标记13表示的图标,则呈现总反应的细节(在该实施例中,每种类型的反应的计数)。在一些实施例中,响应于用户3对反应的改变而将计数信息的更新提供到装置5,而在另一些实施例中,一旦用户3选择图标13,那么仅由装置5从系统1寻找经刷新计数数据。屏幕截图10,附图标记14——如在该屏幕截图中示例性示出的,对于给定的发布内容,当前存在两个反应,一个反应由用户3在屏幕截图4处提供。虽然该评论对于发布了该评论的用户3是隐藏的,但是它仍然被计数。屏幕截图11、附图标记15——在从屏幕截图14继续之后,用户3已经返回到屏幕截图15的视图。在该实例中,用户3将反应状态切换回正常状态并将反应类型切换为“绿色拇指向上”反应类型。屏幕截图12、附图标记16——在屏幕截图11处选择的反应状态和类型显示在屏幕截图16中。如前所述,用户3能够轻击并保持在图标16上,以查看用于反应的状态和类型的附加选项。屏幕截图13、附图标记17至20——在确认反应状态和类型的变化或其中任何一个的变化之后,设备5向用户3呈现如屏幕截图17所示的图像。这显示了相关的发布内容的用户的当前反应(状态和类型)。在这种情况下,反应状态是正常的而不是匿名的。如前所述,用户3能够通过使用由附图标记18表示的图标来删除和/或移除正常反应状态。图标9的功能也可用于应用正常反应,并且在屏幕截图13中显示为由附图标记19表示的图标。如果用户3轻击图标19,则将遵循屏幕截图6和7的过程。此外,用户3能够轻击由附图标记20指示的图标,以查看给定发布内容的反应的计数数据。屏幕截图14,附图标记21。应当注意,在屏幕截图4处应用、通过屏幕截图6和7隐藏并且在屏幕截图14处查看的先前匿名反应已由于屏幕截图11处的施加的新的正常反应而被移除。即,正常状态反应(由相关用户对反应类型和/或状态做出的最新改变)被包括在计数数据中并且显示有是什么提供了反应的用户3的身份的指示。
56.在以上实施例中,给定用户能够在任何给定时间为发布内容的给定条目提供最多一个反应。然而,该反应能够以一种或多种方式随时间改变,包括通过改变以下特征中的一个或多个:存在(即,可以删除反应);状态;类型;以及可见性。因此,由系统1启用的评论,即反应,响应于新的输入而呈现动态环境以使用户了解和调整其各自的反应。即,反应不是静态的,而是随着用户之间的关系改变而开放。为了允许有效且高效地交付上述功能性,包括系统1的优选实施例利用特定的数据结构和数据操作。下面提供了这些的实例。记录的反应
57.系统1要求的反应类型的列表,并且这在系统1内被定义为,例如:
帖子内的反应状态
58.系统1利用以下用于反应的状态类型:“reacted”定义了由用户选择的反应的类型。“reactionhide”定义了反应的显示状态,无论反应的证据是否在登录用户的用户接口上直观显示。“ownerreacted”定义了帖子创建者是否对自己的帖子做出了反应以及所有者选择的反应类型。“ownerreactionhide”定义了帖子创建者的反应的显示状态,无论反应的证据是否可见地显示在在帖子创建者的用户接口的登录实例上。“reactedanonymous”定义了反应是否已被标记为匿名的。如果被标记为匿名,则用户的标识将不被显示且不与对其他用户的反应相关联。更新反应
59.为了允许由相关用户更新反应,需要存储关于用户和反应的足够信息。在系统1中,如果用户更新反应类型,则自动重置某些参数,并且使用以下api参数:

action”定义了用户选择的更新反应类型。“hide”定义了是否应在登录用户的帐户中隐藏更新的反应类型。“isanonymous”定义了更新的反应是否已作为匿名反应进行。
60.为了更好地说明系统1的操作,参考图3中的流程图。在下面详细说明用于指示流程图中的步骤的附图标记1至18。
61.步骤1——活动者(即,用户3)被展示向发布内容提供反应4的选项。
62.步骤2——用户3从预定的反应类型列表中选择反应。在选择时,设备5经由api将反应类型传递到系统1。应当理解,在将反应类型传递到系统1之前,api将确定用户3先前是否已经发布对发布内容的反应。
63.在系统1处,响应于接收到反应4,更新数据22以包括基于以下表格结构的反应的表格:表1
64.在判定用户3先前是否提交了针对所发布的内容的反应时,api执行以下操作:$cur_react_sql="select*from post_reactions where user_id=?and post_id=?";$ret=self::fetchrow($cur_react_sql,[$userid,$postid]);
[0065]
步骤3——如果用户3先前没有提交关于发布内容的反应4,则系统1为发布内容创
建新的反应记录(数据22),然后前进到步骤6。步骤3更详细地包括:
[0066]
步骤4——如果用户3先前已经对发布内容提供了反应4,则系统1之后通过执行以下步骤来确定现有的反应类型:
[0067]
步骤5——此处系统1确定用户3最近选择的反应是否与先前记录的反应相同。如果最近选择的反应与先前记录的反应相同,则确定没有任何改变,并且系统1进行到步骤10。然而,为了完全完成该步骤,系统1向设备5返回数据以通知用户3反应发布成功。这对于允许用户覆盖现有的隐藏反应特别有用。例如,如果用户“喜欢”发布的内容条目,然后隐藏“喜欢”状态,然后又返回并“喜欢”相同的发布内容,则针对该发布内容的最新选择的反应被更新而不被跳过。如果最新选择的反应与先前记录的反应不同,则系统1前进到步骤6。这通过以下方式示出:if(!empty($ret['current_reaction'])){$lastreact=$ret['current_reaction'];}
[0068]
步骤6——如果用户已经激活了新的反应或来自先前反应的变化的反应,则需要记录该后反应。在步骤6,使用db2数据库结构和下面的语句进行后反应的记录。
[0069]
在已记录后反应之后,存在两个由系统1实施的并发或几乎同时的任务。这包括进行步骤7以确定反应是否是使用匿名状态属性进行的,以及步骤14以同步并缓存用户的反应响应。
[0070]
步骤7——用户3唯一具有将反应选择为匿名显示或者使其对系统1的其他用户可识别的能力。在步骤7,检查并处理反应的匿名或识别状态。应当注意,用户3能够在步骤6之前选择用于反应的匿名状态,并且还在步骤6处记录匿名状态。在步骤7,存在对该状态的检查以完成该处理并将数据返回给用户3。这包括执行以下内容:$isanonymous=(int)@$react

>isanonymous;$this

>updatereactactivity($postid,$userid,$newreaction,$
isanonymous);
[0071]
步骤8——如果反应被识别,则通知被发送到发布内容的所有者的设备5。这将通报所有者(通常也是系统1的用户)已经有对发布的内容的新的反应。当做出反应的用户选择被识别时,用户的身份的指示(例如,句柄、用户名、头像或其他图标)可用于所有者查看。这包括系统1执行以下操作:
[0072]
步骤9——如果反应具有匿名状态,则向发布内容的所有者通知该新反应的所有者。对提供反应的用户的身份不进行提供,而是提供了一个通用的“匿名用户”标签或图标。这是由系统1操作完成的,如下所示:
[0073]
步骤10——系统1在将最终计数数据传递给做出反应4的用户之前确定相关发布内容的反应总数(总计数和每个反应类型的计数)。这为用户提供了对相关的发布内容的反应的计数数据的准确和更新的反映。为了实现这一点,系统1向缓存系统15发送请求,并且检索反应的最近计数数据。这是通过执行以下步骤来实现的:
[0074]
步骤11——一旦用户3已经发布了反应4,该用户就可以选择隐藏反应4,使其不显示在系统1上的用户帐户中。也就是说,用户3能够有效地从设备5移除用户已经提交反应4的任何可见确认。默认情况下,$ishide的值等于整数的默认值0,从而导致$react对象没有隐藏属性。这是由系统1实现的,如下所示:$ishide=(int)@$react

>hide;
[0075]
步骤12——用户3能够将隐藏状态改变为1,这导致反应4的视觉记录在系统1的用户账户上被隐藏。虽然反应保留在系统1上并且被包括在针对相关条目的发布内容的计数数据的计算中,但是当从系统1上的用户的账户查看时,好像用户尚未对发布内容的条目做出任何反应。在该实施例中,隐藏状态不能被撤销,从而有效地使人们无法在视觉上查看该登录帐户是否已对发布内容的条目提供反应4。
[0076]
在步骤11,如果任意整数不为0,则该值将被转换为1。这导致$react

>hide被执行并且$ishide被置为1。
[0077]
步骤13——如果用户已对步骤12进行了确认,则系统1如下记录该更新的记录:
[0078]
上述代码用于将该反应的

隐藏’属性保存到数据库中,使得每当用户从服务器检索数据时,服务器将返回该值以确定登录的用户是否已选择隐藏该反应。
[0079]
步骤14——一旦步骤6已经完成,结果就被转发到异步进程。包括此过程,使得用户能够避免等待记录反应的时间。当多个用户同时在同一帖子上发布/改变反应时,其也更好地避免数据库的锁定。当系统1的操作前进到步骤14时,唯一反应(用户id/postid)记录已经被保存到数据库。该异步过程用于计算高速缓存状态的帖子的新的总反应。在下面的步骤18中更详细地描述任务asyncupdatingreactions。广义上,系统1如下进行:$asyncmanager=new asyncmanager();$asyncmanager

>runasynctask('asyncupdatingreactions',$postid);
[0080]
步骤15——在该实施例中,缓存的数据有意具有非常简单的数据库结构,并且在图3中示例性地示出了表结构db3。在步骤15,相关数据被缓存,其中该数据仅包括最低限度的细节,诸如post_id、反应类型和每个反应类型的计数,以确保系统1能够快速地向用户传输这些结果。
[0081]
步骤16——一旦由用户3做出的反应或反应的改变被异步过程接受,其就被添加到这种反应/改变的队列中。这允许系统1有序地容纳在同一时间或接近同一时间创建的多个userid/postid。
[0082]
在步骤17,系统1在fifo的基础上处理在步骤16形成的队列中的每个条目。每次成功处理并重新计数队列中的反应时(在步骤18),系统1就会检索队列中的下一个待处理反应以进行处理。。关于每个帖子的后反应的数据库被临时锁定,直到成功地更新,并如下进行:
[0083]
对于步骤17,使用在图4中示出的数据结构db1。
[0084]
步骤18——在步骤17之后,然后系统1在步骤18重新计算所发布内容的相关的反应条目的总计数,使用新数据更新缓存系统并解锁数据库,使得能够在步骤17处理队列中的下一个条目。然后,系统1将缓存的数据存储在db3数据库结构中。这包括系统1在以下情况下运行:
[0085]
由优选实施例提供的优点包括:
·
允许用户对在线社交媒体平台上发布的内容发表反应,用户可选择将反应设为匿名。
·
允许用户对在线社交媒体平台上发布的内容发表反应,从平台上的用户帐户中查看用户历史的第三方或作为使用自在平台上的自有账户的独立用户无法检测到反应的选项。
·
允许多个状态与单个反应相关联。
·
根据发布反应的用户的判断,允许使反应可识别或匿名。
·
根据发布反应的用户的判断,允许使反应状态隐藏/不可检测。
·
一种数据结构,可在提供评论功能的平台上消除与竞争条件相关的问题。
·
减少加载评论和满足用户对发布数据的请求的延迟。
·
提供允许在社交媒体平台上附加评论功能的数据结构
·
一种动态的反应环境,用户可以根据新的输入并响应关系和理解的变化来更新反应。
·
向用户提供对已发布内容的评论(反应)的更接近实时的数据。即,数据结构和操作允许更积极的用户参与而没有现有技术的典型延迟。
·
一种数据结构,允许以更接近实时交付的方式实现新操作。
[0086]
除非另有具体说明,否则如从以下讨论中显而易见的,应当理解,在整个说明书中,在使用诸如“处理”、“运算”、“计算”、“确定”、“分析”等术语的整个规范讨论中,指的是计算机或计算系统或类似电子计算设备的动作和/或过程,其操作和/或转换表示为物理量(例如电子)的数据为类似地表示为物理量的其他数据。。
[0087]
以类似方式,术语“处理器”可以指处理电子数据的任何设备或设备的一部分,例如来自寄存器和/或存储器以将该电子数据转换成例如可以存储在寄存器和/或存储器中的其他电子数据。“计算机”或“计算机器”或“计算平台”可以包括一个或多个处理器。
[0088]
在本说明书中提及“数据元素”。该术语用于描述单个数据元素,例如文本字符或文件,或文本字符串(包括特殊字符)以及文件的组合或分组。多个这些元素以及不同类型元素的组合能够被包括在单个消息中。然而,这并不意味着包含在给定消息中的所有数据元素都需要一起存储或一起传输,只是意味着该消息无论如何存储或传输,在组合或访问时都提供了一个功能整体。
[0089]
在一个实施例中,本文描述的方法可由一个或多个处理器执行,这些处理器接受包含一组指令的计算机可读(也称为机器可读)代码,当由一个或多个处理器执行时,执行此处描述的方法中的至少一个。包括能够执行指定要采取的动作的一组指令(顺序或其他)的任何处理器。因此,一个实例是包括一个或多个处理器的典型处理系统。每个处理器可以包括cpu、图形处理单元和可编程dsp单元中的一个或多个。处理系统还可以包括存储器子系统,该存储器子系统包括主ram和/或静态ram和/或rom。可以包括总线子系统用于组件之间的通信。处理系统还可以是具有通过网络耦合的处理器的分布式处理系统。如果处理系统需要显示器,则可以包括这样的显示器,例如液晶显示器(lcd)或阴极射线管(crt)显示器。如果需要手动输入数据,处理系统还包括输入设备,例如一个或多个字母数字输入单元(例如键盘)、定点控制设备(例如鼠标、触摸屏)、一个或多个手动按钮等等。本文中所使用的术语存储器单元,如从上下文清楚且除非另有明确说明,还包含存储系统,例如,磁盘驱动器单元。在一些配置中,处理系统可以包括声音输出设备和网络接口设备。因此,存储器子系统包括承载计算机可读代码(例如,软件)的计算机可读载体介质,所述计算机可读代码包括一组指令以在由一个或多个处理器执行时导致执行本文所述的方法中的一个或多个。注意,当方法包括若干元素(例如,若干步骤)时,不暗示这些元素的排序,除非特别说明。软件可以保留在硬盘中,或者也可以在由计算机系统执行期间完全或至少部分地保留在ram内和/或处理器内。因此,存储器和处理器也构成承载计算机可读代码的计算机可读载体介质。
[0090]
此外,计算机可读载体介质可以形成或被包括在计算机程序产品中。
[0091]
在替代实施例中,一个或多个处理器作为独立设备运行或者可以连接到、例如联网到其他处理器,在联网部署中,一个或多个处理器可以作为服务器

用户网络环境中的服务器或用户机器运行,或者作为对等或分布式网络环境中的对等机器运行。一个或多个处理器可以形成个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、网络路由器、智能电话、交换机或桥接器、或者能够执行指定要由该机器采取的动作的一组指令(顺序地或以其他方式)的任何机器。
[0092]
本文所描述的各个方法的实施例是以计算机可读载体媒体的形式,所述计算机可读载体媒体携载指令集,例如,用于在一或多个处理器(例如,作为网络服务器设备的部分的一或多个处理器)上执行的计算机程序。因此,所属领域的技术人员将了解,本发明的实施例可体现为方法、例如专用设备这样的设备、例如数据处理系统这样的设备,或计算机可读载体媒体,例如计算机程序产品。所述计算机可读载体介质携带包括一组指令的计算机可读代码,所述一组指令在一个或多个处理器上执行时使所述一个或多个处理器实现一种方法。因此,本发明的各方面可以采取方法、完全硬件实施例、完全软件实施例或组合软件和硬件方面的实施例的形式。此外,本发明可以采用承载介质中包含的计算机可读程序代码的载体介质(例如,计算机可读存储介质上的计算机程序产品)的形式。
[0093]
应当理解,所讨论的方法的步骤在一个实施例中由执行存储在存储器中的指令(计算机可读代码)的处理(即,计算机)系统的适当处理器(或多个处理器)来执行。还应当理解,本发明不限于任何特定的实现方式或编程技术,并且可以使用用于实现本文描述的功能的任何适当的技术来实现本发明。本发明不限于任何特定的编程语言或操作系统。
[0094]
应当理解,在本发明的示例性实施例的以上描述中,为了简化本公开并且帮助理
解各种发明方面中的一个或多个,本发明的各种特征有时在单个实施例、附图或其描述中被组合在一起。然而,本公开的方法不应被解释为反映所要求保护的发明需要比每个权利要求中明确记载的特征更多的特征的意图。相反,如以下权利要求所反映的,发明方面在于少于单个前述公开实施例的所有特征。因此,在具体实施方式之后的权利要求书特此明确地并入到此具体实施方式中,其中每一权利要求自身作为本发明的单独实施例。
[0095]
此外,虽然本文中所描述的一些实施例包含一些但非包含于其它实施例中的其它特征,但不同实施例的特征的组合在本发明的范围内,且形成不同实施例,如所属领域的技术人员将理解的那样。例如,在所附权利要求中,所要求保护的实施例中的任一个可以以任何组合使用。
[0096]
此外,本文中的一些实施例在本文中描述为可由计算机系统的处理器或通过执行所述功能的其它装置实施的方法的元件的方法或组合。因此,具有用于执行这样的方法或方法的元件的必要指令的处理器形成用于执行方法或方法的元件的装置。此外,本文描述的装置实施例的元件是为了实施本发明的目的而执行由该元件执行的功能的装置的示例。
[0097]
在本文提供的描述中,阐述了许多具体细节。然而,应当理解,可以在没有这些具体细节的情况下实践本发明的实施例。在其它情况下,没有详细示出公知的方法、结构和技术,以免混淆对此描述的理解。
[0098]
类似地,应当注意的是,当在权利要求中使用时,术语“耦合”或“连接”不应被解释为仅限于直接连接。可以使用术语“耦合”和“连接”及其派生词。应当理解,这些术语并不旨在作为彼此的同义词。因此,表述“装置a耦合到装置b”的范围不应限于其中装置a的输出直接连接到装置b的输入的装置或系统。这意味着a的输出与b的输入之间存在路径,该路径可以是包括其他设备或装置的路径。“耦合”或“连接”可以意味着两个或更多个元件直接物理或电接触,或者两个或更多个元件彼此不直接接触,但仍然彼此协作或交互。
[0099]
因此,虽然已经描述了被认为是本发明的优选实施例的内容,但是本领域技术人员将认识到,在不脱离本发明的精神的情况下,可以对其进行其他和进一步的修改,并且旨在将所有这样的改变和修改声明为落入本发明的范围内。例如,上面给出的任何公式仅仅表示可以使用的过程。功能可以从框图中添加或删除,并且操作可以在功能块之间互换。可以向在本发明的范围内描述的方法添加或删除步骤。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜