Sns平台数据回推方法及系统的制作方法

文档序号:7663639阅读:128来源:国知局
专利名称:Sns平台数据回推方法及系统的制作方法
技术领域
本发明属于互联网通信技术,具体是一种微博平台的数据回推方法及系统。
背景技术
社会性网络服务(SNS,全称Social Networking Services)平台是指旨在帮助人们建立社会性网络的互联网应用服务,也指社会现有已成熟普及的信息载体,微博、twitter> facebook等就属于SNS平台。其中,微博作为基于用户关系的信息分享、传播以及获取平台,近年来已经迅速发展成为人们交流和传播信息的重要工具。为此,很多网站为了提高自己的网站流量、曝光量,同时也为了将自己站点上的内容更快的传播出去,经常会通过分享、转帖等功能,将其网站上的内容转发到SNS平台上。这个步骤一般通过REST API接口、或社会化分享组件完成。这些网站我们称之为第三方网站。在本文中,第三方网站泛 指除了 SNS平台外的所有其他站点。由于SNS平台的使用用户更多、更活跃,因此一般情况下,在SNS上转发的该文章内容下所产生的评论内容会多于、甚至大大超过原文所在第三方网站上的评论内容。所以,第三方网站就产生了将SNS平台上产生的评论内容补充到其原文所在站点上的需求。目前满足这个需求所采用的方式是通过REST API的方式。REST API即获取评论接口,第三方网站通过SNS提供的基本数据接口,向SNS请求一些自己需求的信息,实现双方之间的数据通f目。由SNS平台提供获取评论信息的接口,第三方网站在需要获取某篇文章下的评论内容时,要先取得该文章的ID,这个ID —般在第三方网站将文章转发或分享到SNS平台的同时就获取到了。然后用这个文章ID从SNS的接口读取到该文章下的评论内容。调用接口一般采用HTTP的GET连接进行数据通信。最后,第三方网站再将这些评论补充到自己的原文下面。整个过程如图I所示。上述这种通信的交互方式是一个“拉”的过程,即第三方网站想要某方面的数据,就必须向SNS平台发起取得该类数据的请求,当第三方网站在一段时间后需要获取新的同类信息时,需要再次向SNS平台发起相同的请求。现有技术这种以“拉”的方式实现的双方数据通信有三个方面的缺点I.第三方网站无法得知SNS平台上什么时候会有新的评论在SNS平台上,当有了第三方网站关心的新内容产生时,不会主动告诉第三方网站。第三方除了主动询问,无法知道SNS平台上有没有新的内容产生。第三方网站没有再次向SNS请求前,无法获知是否有新的消息,这对信息的实时性和有效性都有较大的影响。SNS对自己站内的优秀内容,也无法通知给对这些内容感兴趣的第三方网站。2.只有频繁请求才能获取数据由于不知道是否有新内容,第三方就必须频繁询问(请求)SNS的接口,这样频繁建立HTTP连接,双方的通信流量、服务器压力都会变大。而且并不是每次返回都有数据,大多数情况下,返回的都是空数据,这样对于带宽和流量都是一种浪费。尤其是移动领域的第三方网站对流量很敏感,这种方式的弊端就更加的暴露出来了。3.不适于大数据量的情况当第三方分享到SNS平台的文章、内容越来越多时,第三方需要获取的数据就会随之变多。这样第三方就需要大量记录自己转发到SNS平台上的内容标识(ID),并在每次调用接口请求数据时,都要把需要获取的内容轮流问讯一便,每次接口请求参数里都需要带上这些ID。当这些数据多到一定程度时,目前的技术方案根本无法支撑。

发明内容
本发明的目的在于提供一种SNS平台的数据回推方法,包括以下步骤10)第三方网站发表内容后,向SNS平台发送注册回推服务的请求,所述请求中包 括与所述内容相对应的回推地址和订阅规则;20)第三方网站开放与所述回推地址相对应的数据回推接口,所述接口用于接收与所述内容相关的数据。上述方法还可以包括下列步骤50)第三方网站通过所述数据回推接口接收SNS平台发送的信息,并将该信息补充到所述内容下,或者将该信息与所述内容关联。其中,在所述步骤10)中,所述第三方网站可以通过HTTP方式向SNS平台发送注册回推服务的请求。其中,所述订阅规则包括但不限于URL地址、用户ID、文章ID和/或应用KEY。本发明的另一个目的是提供一种SNS平台的数据回推方法,包括以下步骤11)SNS平台接收并保存第三方网站注册回推服务的请求,所述请求中包括第三方网站用于接收与某条内容相关信息的回推地址和订阅规则,所述回推地址对应第三方网站的一个数据回推接口,所述订阅规则与所述回推地址保存在一个配置文件中;21) SNS平台根据所述回推地址验证该地址所对应的数据回推接口是否可用。上述方法还可以包括下列步骤31)SNS平台验证所述数据回推接口可用后,开启数据回推服务,具体包括当SNS平台上产生新内容时,将所述新内容和与所保存的配置文件数据进行数据匹配;41)当所述新内容与某条配置文件数据匹配成功时,SNS平台将匹配的新内容对应到相应的回推地址上,并根据该回推地址将所述新内容发送至所述第三方平台的回推接□。其中,SNS平台通过Ping的方式,也就是HTTP POST的方式向第三方网站发送内容。其中所述新内容包括但不限于用户状态的变化、用户发表的新内容和/或用户的消息。其中,所述订阅规则包括但不限于URL地址、用户ID、文章ID和/或应用KEY。本发明的又一个目的,是提供一种具有数据回推功能的SNS平台,包括数据中心模块,用于以队列的方式保存所述SNS平台上产生的内容,并将队列中的新内容与配置文件模块中的数据进行匹配,当匹配成功时,将匹配成功的新内容和对应的数据转给分发模块;配置文件模块,用于保存第三方网站发送的注册数据回推服务的请求,所述请求中包括订阅规则和回推地址;分发模块,用于将匹配成功的新内容按照其所对应的回推地址,将数据分发到推送模块;推送模块,用于按照分发模块发过来的新内容和其所对应的回推地址,建立并发起HTTP请求,并将该新内容提交到该回推地址。本发明提供的回推技术,将改变目前第三方网站同SNS之间数据通讯只能通过“拉”的方式的现状,实现SNS能够主动“推送”数据给遵循回推协议的第三方网站,真正保证内容的实时性、有效性。具体有如下三点第三方无须知道是否有新内容,有新内容后主动将数据送到第三方面前; 第三方只需要建立很少次数,甚至只需要建立一次HTTP连接请求;可以支撑大数据量的数据通信。


图I示出了现有技术的SNS平台与第三方站点之间的数据传输方法;
图2示出了本发明实施例的SNS平台的数据回推方法;
图3示出了本发明实施例的SNS平台系统。
具体实施例方式以下结合附图,通过具体实施例详细描述本发明。如图2所示,根据本发明的一方面,一种SNS平台的数据回推方法包括步骤S10、S20和S50。其中,在步骤S10,第三方网站发表内容后,向SNS平台发送注册回推服务请求,该请求中至少包含有数据回推地址和订阅规则。其中,订阅规则包括但不限于URL地址、用户ID、文章ID和/或应用KEY。在步骤S20,第三方网站开放与所述数据回推地址相对应的回推接口,用于接收SNS发送的与所述已发表内容相关的数据信息。在步骤S60,第三方网站通过该回推接口接收并保存SNS发送的与所述已发表内容相关的数据信息,并将这些信息添加到原内容下,或者将这些信息与原内容关联。仍然参考图2,根据本发明的另一方面,一种SNS平台的数据回推方法包括步骤Sll、S21、S31和S41。在步骤Sll,SNS平台接收第三方网站发送的注册回推服务请求,并保存在配置文件中,所述请求中包括第三方网站用于数据信息的回推地址和订阅规则,所述回推地址对应第三方网站的一个数据回推接口。所述订阅规则包括但不限于第三方网站某个文章页面的URL地址;第三方网站在SNS平台申请的应用APPKEY。第三方网站将自己的内容分享到SNS平台,或与SNS连接起来,需要通过授权,建立一个双方可识别的认证方式。标识该关系的一个数字码,即为SNS平台的应用APPKEY。该APPKEY在数据回推这个系统里,主要是用来标识一个第三方网站的身份(详细可参见http://open. t. sina. com. cn/apps)第三方网站指定的SNS平台上的某些用户ID ;第三方网站指定的SNS平台上的某些文章ID。在步骤S21,SNS平台通过HTTP请求返回的状态码,验证所述数据回推接口可用。在步骤S31,验证所述回推接口可用后,SNS平台开启数据回推服务,具体是当有新内容产生的时候,将该新内容与配置文件中的数据逐条进行匹配。如果匹配成功,在步骤S41,新内容就会以队列的方式进入数据分发模块,由数据分发模块根据匹配结果找出该新内容所对应的数据回推地址并交给推送模块。在步骤S51,推送模块通过HTTP POST的方式将该新内容推送至所述回推地址所对应的回推接口。上述方法中,第三方网站向SNS平台发送注册数据回推服务的请求,以及SNS平台接收并保存该请求,并验证其中包含的回推地址后开启服务是一次性的过程。而此后在SNS平台上进行的内容匹配、分发和推送是随时可以发生的重复的过程。即一次订阅后不限次数的推送。在本发明的另一个最佳实施例中,此后在SNS平台上,所有新产生的内容,将实时通过数据中心模块,进行数据的匹配,当发现某条数据符合此前第三方网站所订阅的信息时,则认为该第三方订阅的信息有所更新。数据中心模块存放的内容包含但不限于微博、评论、私信、用户信息。其中,匹配的类型可以是精确匹配,也可以是模糊匹配。精确匹配是指通过直接比对用户ID、文章ID等固定的ID信息是否相等(该类信息一般为一个数字串),进行匹配。例如订阅的是某用户(123456)的新发文章,则订阅规则为该用户的 WD (123456),匹配则是当数据通过数据中心时,逐个对所有信息里的作者UID字段进行比对,当发现某个信息内作者的UID等于123456时,则匹配成功,该条信息被筛选出来,进入分发模块。模糊匹配是通过正则表达式,在一段文章内,查找一个关键词、一个链接等信息,如果包含这些内容,则匹配,不包含则认为不匹配。例如订阅的是针对某个站点页面的评论信息,则订阅规则为该页面的URL地址(http: //abc. com/xyz),则匹配时,逐个对所有信息里的文章正文进行搜索。搜索关键词为http: //abc. com/xyz,当正文内包含该关键词,则匹配成功。这时,SNS平台将这些数据从数据中心模块抽取出来,放到数据分发模块里去。数据分发模块获取到之前第三方订阅的信息,将数据对应到不同的第三方身上,并与第三方之前提供的回推地址关联。分发模块从数据中心获取数据,数据中心按照订阅规则匹配完成后,符合规则的数据将通过一个队列系统cron_moniter,进入到分发模块;cron是一个Iinux下的定时执行工具,可以在无需人工干预的情况下运行作业。最后,这些数据进入到推送模块,SNS平台将通过Ping的方式(HTTP POST请求)发送相关的数据至各个第三方网站所定义的回推地址。第三方网站接收到此数据,将根据数据的内容对数据做出相应的操作。如图2所示。在本发明中,SNS平台可以是各种社会性网络服务平台,包括facebook, twitter等,也包括各种微博平台。所述SNS平台的特点在于包括数据中心模块、配置文件模块、分发模块和推送模块,如图3所示。其中,数据中心模块用于以队列的方式保存所述SNS平台上产生的内容,并将队列中的新内容与配置文件模块中的数据进行匹配,当匹配成功时,将匹配成功的新内容和对应的数据转给分发模块。所有在SNS平台上产生的数据,都将通过队列进入到这里,在这里这些数据将逐个按配置文件里的订阅规则进行匹配。配置文件模块用于保存第三方网站发送的注册数据回推服务的请求,所述请求中包括订阅规则和回推地址。分发模块,用于将匹配成功的新内容按照其所对应的回推地址,将数据分发到推送模块。推送模块用于按照分发模块发过来的新内容和其所对应的回推地址,建立并发起HTTP请求,并将该新内容提交到该回推地址。以下以微博平台作为应用实施例来进一步解释本发明。如一个第三方网站希望获得用户在新浪微博平台上的状态与博文更新,并希望采取数据回推的方式实时得到用户的最新更新。首先,第三方网站向新浪微博平台发送数据回推服务注册请求 ,表示愿意接收新浪微博平台的数据回推,回推信息为用户的状态更新。该请求中包括回推地址(例如http://www. myapps. com/pushback)和订阅规则,例如,订阅规则可以是用户UID,具体表达为uids = 135791343,1354941,234872464。该请求可以通过HTTP方式提交,提交对象为新浪微博平台的回推服务接口,该接口收到注册请求后将其信息保存到一个配置文件中,配置文件为一个Php数组,该数组为一个服务ID、订阅参数项、订阅规则、与回推地址,四者之间相对应的数据结构,即在一个推送服务里,有那些订阅规则。然后微博平台校验该请求中的回推接口是否可用。在校验的过程中,微博平台也可以同时校验其中的订阅规则是否符合要求。如,本例中订阅的是用户ID,则校验规则为其是否为新浪微博用户的WD (比如是否是一个不超过10位,不少于5位的整数)。另一方面,第三方网站在发送该请求后,将会开放一个与该请求中的数据回推接口相对应的数据回推接口。在微博平台校验该回推地址的过程中,微博平台通过ping、或者curl等方式,模拟操作请求对方的接收接口,如果返回状态为200,则验证成功,返回400、403、500则验证失败。成功应答的格式如下
< xml version="I. 0〃 encoding=〃utf_8〃 >
〈response〉
<error>0</error〉
〈/response〉
失败应答的格式为
< xml version="I. 0〃 encoding=〃utf_8〃 >
〈response〉
〈error〉I〈/error〉
<message>The error message</message)
〈/response〉验证通过后,微博平台启动该条回推服务。此时,当这个用户在新浪微博平台上更新了自己的状态,或发表了一篇新的博文评论时,新浪微博平台按照约定,通过数据中心、分发模块、推送模块,向此第三方网站发送回推信息,具体格式如下则由cronjnoniteH队列系统)读取上面所提到的配置文件,该配置内记录的都是订阅规则。然后根据配置启动一个相应的应用服务。该服务根据配置里的规则,开始获取经过匹配的数据,进行推送。在本例里,配置内的订阅参数项为nD,订阅规则为一个数字串123456。既表示需要UID为123456的用户数据。详细的匹配过程则为通过数据中心的每条数据的作者,其UID是否等于123456。当某条数据的作者UID等于123456时,则匹配成功,该条数据就会进入到另外一个队列里,即分发模块。在分发模块里,将符合规则的数据,按照配置里的服务ID,找到该服务ID所对应的回推地址,将数据分发到推送模块。在推送模块里,服务器按照分发过来的数据和其对应的回推地址,建立并发起http请求,并提交到该回推地址,具体格式如下POST http://www.myapps.com/pushback
Content-Type application/x-www-form-urlencoded ;charset = utf-8user_name = openapi&user_pic = http://t. sina. com. cn/userimg/123.jpg&pub_ date = 2010-07-10 11:32&update =一个不错的网站 abc其中,user_name为更新状态的用户用户名,user_pic为更新状态用户的用户图片,pub_date为用户更新此条状态的日期及时间,update为用户更新的状态内容或评论内容。那么,第三方网站通过回推地址得到这条数据后,就可以得到此名为openapi的用户更新的状态内容,并显示在己方站点上(例如在己方站点上显示用户的更新状态)。用户更新的状态内容,例如“一个不错的网站abc”。并在己方站点上,将该用户的状态更新为“一个不错的网站abc”此过程,第三方无须知道用户什么时候更新了内容,也不用频繁发送询问请求,只在订阅服务时填一次订阅规则,之后每次获取数据不用再发送请求参数。所有数据将自动推到他所需要的第三方网站手里。本发明解决了目前第三方网站通过“拉”数据的方式无法及时有效的从SNS平台上获取想要的信息的现状,SNS平台能够及时的将用户的动态、产生的内容提供给第三方使用。同时适合大数据量的使用。具体可概括为第三方无须知道是否有新内容;第三方只需要在注册服务时提交一次订阅请求即可;有新内容后会主动将数据送到第三方面前;可以支撑大数据量的数据通信。
权利要求
1.一种SNS平台的数据回推方法,其特征在于,包括以下步骤 10)第三方网站发表内容后,向SNS平台发送注册回推服务的请求,所述请求中包括与所述内容相对应的回推地址和订阅规则; 20)第三方网站开放与所述回推地址相对应的数据回推接口,所述接口用于接收与所述内容相关的数据。
2.如权利要求I所述的方法,其特征在于,还包括步骤 50)第三方网站通过所述数据回推接口接收SNS平台发送的信息,并将该信息补充到所述内容下,或者将该信息与所述内容关联。
3.如权利要求I所述的方法,其特征在于,在所述步骤10)中,所述第三方网站通过HTTP方式向SNS平台发送注册回推服务的请求。
4.如权利要求I 3任一项所述的方法,其特征在于,所述订阅规则包括URL地址、用户ID、文章ID和/或应用KEY。
5.一种SNS平台的数据回推方法,其特征在于,包括以下步骤 11)SNS平台接收并保存第三方网站注册回推服务的请求,所述请求中包括第三方网站用于接收与某条内容相关信息的回推地址和订阅规则,所述回推地址对应第三方网站的一个数据回推接口,所述订阅规则与所述回推地址保存在一个配置文件中; 21)SNS平台根据所述回推地址验证该地址所对应的数据回推接口是否可用。
6.如权利要求5所述的方法,其特征在于,还包括步骤 31)SNS平台验证所述数据回推接口可用后,开启数据回推服务,具体包括当SNS平台上产生新内容时,将所述新内容和与所保存的配置文件中的订阅规则数据进行数据匹配; 41)当所述新内容与某条配置文件中的订阅规则数据匹配成功时,SNS平台将匹配的新内容对应到相应的回推地址上,并根据该回推地址将所述新内容发送至所述第三方平台的回推接口。
7.如权利要求6所述的方法,其特征在于,所述步骤61)中,SNS平台通过HTTPPOST的方式向第三方网站发送内容。
8.如权利要求6所述的方法,其特征在于,所述新内容包括用户状态的变化、用户发表的新内容和/或用户的消息。
9.如权利要求5 8任一项所述的方法,其特征在于,所述订阅规则包括URL地址、用户ID、文章ID和/或应用KEY。
10.一种具有数据回推功能的SNS平台系统,其特征在于,包括 数据中心模块,用于以队列的方式保存所述SNS平台上产生的内容,并将队列中的新内容与配置文件模块中的订阅规则数据进行匹配,当匹配成功时,将匹配成功的新内容和对应的数据转给分发模块; 配置文件模块,用于保存第三方网站发送的注册数据回推服务的请求,所述请求中包括订阅规则和回推地址; 分发模块,用于将匹配成功的新内容按照其所对应的回推地址,将数据分发到推送模块; 推送模块,用于按照分发模块发过来的新内容和其所对应的回推地址,建立并发起HTTP请求,并将该新内容提交到该回推地址。
全文摘要
一种SNS平台数据回推的方法,第三方网站发表内容后,分享到SNS平台,同时,向SNS平台请求数据回推服务,并提供回推地址和订阅规则,然后开放自己的数据接口,该接口对应数据回推地址。SNS平台验证该接口可用后,当产生新的内容时,将实时通过数据中心模块进行数据的匹配,当发现某条数据符合此前第三方网站所订阅的信息时,将这些数据从数据中心模块抽取出来,放到数据分发模块里去。数据分发模块获取到之前第三方订阅的信息,将数据对应到回推地址。最后,这些数据进入到推送模块发送至第三方网站所定义的回推地址。该方法仅需第三方网站发起一次注册请求就可以实时且不限次数地从SNS平台获得所需的内容。
文档编号H04L29/08GK102780680SQ20111012125
公开日2012年11月14日 申请日期2011年5月10日 优先权日2011年5月10日
发明者杨卫华, 芦义 申请人:新浪网技术(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1