著录项信息
专利名称 | 服务器、终端、数据推送系统和数据推送方法 |
申请号 | CN201310421389.2 | 申请日期 | 2013-09-16 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-03-25 | 公开/公告号 | CN104468649A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8查看分类表>
|
申请人 | 北大方正集团有限公司;北京方正阿帕比技术有限公司;方正信息产业控股有限公司 | 申请人地址 | 北京市海淀区成府路298号方正大厦9层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北大方正集团有限公司,北京方正阿帕比技术有限公司,方正信息产业控股有限公司 | 当前权利人 | 北大方正集团有限公司,北京方正阿帕比技术有限公司,方正信息产业控股有限公司 |
发明人 | 陈翔;郑伟 |
代理机构 | 北京友联知识产权代理事务所(普通合伙) | 代理人 | 尚志峰;汪海屏 |
摘要
本发明提供了一种服务器、一种终端、一种数据推送系统和一种数据推送方法,其中,所述服务器包括请求接收单元,用于接收至少一个终端的请求信息,以及接收另一个服务器的推送指令;请求生成单元,用于解析所述推送指令以得到与所述终端相关联的数据的信息,根据与所述终端相关联的数据的信息生成推送请求;请求发送单元,用于将所述推送请求发送至所述终端,以及将所述请求信息传送至所述另一个服务器,以便所述另一个服务器根据所述请求信息确定所述数据的信息并生成所述推送指令。通过本发明的技术方案,可以使应用服务器有针对性地向终端推送数据,同时能够缓解服务器的业务处理压力,提高了服务器的响应速度。
服务器、终端、数据推送系统和数据推送方法\n技术领域\n[0001] 本发明涉及信息技术领域,具体而言,涉及一种服务器、一种终端、一种数据推送系统和一种数据推送方法。\n背景技术\n[0002] 移动互联网的快速发展使人们获取信息的方式变得更加方便,智能化移动终端的使用也更为普及,使用移动设备阅读新闻已经成为大部分人日常生活中的一部分。\n[0003] 新闻是一种大数据量、实时性高的信息载体,如何有效、实时的筛选新闻信息成为使用移动设备阅读新闻需要解决的技术问题。面对大量的、实时更新的新闻数据,传统的客户端“拉数据”的方式不能解决上述技术问题,而“服务器数据推送”技术无疑是目前最好的解决方案,相关技术中,服务器推送技术通常采用以下方案:\n[0004] 移动设备中的客户端阶段性地与服务器连接并查询是否有新的内容需要更新,使用该方案时,客户端必须实现与服务器的通信,比如使用消息队列等,同时需要考虑轮询频率,如果过快,会给服务器造成很大的压力,同时会大量消耗移动设备的网络流量和电池电量,如果轮询过慢会造成数据无法及时更新。\n[0005] 可见,相关技术中并没有切实可行的技术方案以实现服务器对终端的数据推送。\n发明内容\n[0006] 本发明正是基于上述技术问题至少之一,提出了一种新的数据推送方案,可以使应用服务器有针对性地向终端推送数据,同时能够缓解服务器的业务处理压力,提高了服务器的响应速度。\n[0007] 有鉴于此,本发明提出了一种服务器,包括:请求接收单元,用于接收至少一个终端的请求信息,以及接收另一个服务器的推送指令;请求生成单元,用于解析所述推送指令以得到与所述终端相关联的数据的信息,根据与所述终端相关联的数据的信息生成推送请求;请求发送单元,用于将所述推送请求发送至所述终端,以及将所述请求信息传送至所述另一个服务器,以便所述另一个服务器根据所述请求信息确定所述数据的信息并生成所述推送指令。\n[0008] 在该技术方案中,由于传统的应用服务器(即本申请中所述的另一个服务器)一方面要与终端建立连接,接收终端的请求信息,另一方面还要根据终端的请求信息查找与终端相关联的数据,并且将查找到的数据发送至终端,若有多个终端与应用服务器建立连接时,会增加应用服务器的业务处理压力,降低应用服务器的响应速度,而且不能确保终端与应用服务器连接的稳定性。因此,通过使应用服务器只与推送服务器(即本申请中所述的服务器)建立连接,推送服务器将终端的请求信息发送至应用服务器,使得能够将应用服务器的部分业务(比如与终端建立并保持连接的业务)交由推送服务器进行处理,减轻了应用服务器的业务处理压力,提高了应用服务器的响应速度,同时,由于推送服务器主要负责与终端建立连接,因此确保了终端与推送服务器连接的稳定性,而且能够增加与推送服务器建立连接的终端的数量。\n[0009] 此外,应用服务器在接收到推送服务器发送的终端的请求信息时,若直接将需要推送的数据通过推送服务器发送至终端,一方面,使得推送服务器与应用服务器之间产生大量的数据传输,增加了应用服务器与推送服务器的压力,另一方面也使得终端不能选择是否接收应用服务器推送的数据,不利于用户的体验,比如相关技术中通过拦截SMS消息并且解析消息内容来了解服务器的意图,来实现完全的实时操作,但是很难找到免费的短消息发送网关,而导致成本相对比较高。因此通过使应用服务器将需要推送的数据的信息发送至推送服务器,使得一个应用服务器与多个终端之间的请求处理可以完全交由一个推送服务器来进行处理,从而统一了应用服务器的请求处理,也避免了终端通过不同的网关与应用服务器进行交互,降低了交互成本。并且推送服务器向终端发送推送请求,可以减轻应用服务器与推送服务器之间的数据交互压力,同时,由于应用服务器是根据终端的请求信息发送的推送请求,因此使得应用服务器向终端推送的数据具有针对性,提升了用户的体验。\n[0010] 根据本发明的另一方面,还提出了一种终端,包括:请求发送单元,用于通过所述第一服务器向所述第二服务器发送请求信息,以便所述第二服务器根据所述请求信息确定与所述终端相关联的数据的信息并生成推送指令;数据接收单元,用于接收所述第一服务器根据所述推送指令生成的推送请求;请求解析单元,用于解析所述推送请求以得到与所述终端相关联的数据的信息。\n[0011] 在该技术方案中,终端通过推送服务器(即本申请中所述的第一服务器)向应用服务器(即本申请中所述的第二服务器)发送请求信息,使得应用服务器可以根据终端发送的请求信息确定向终端推送的数据,避免了应用服务器盲目地向终端推送用户不需要的数据而影响用户的体验。此外,通过将与终端相关联的数据的信息推送至终端,可以在终端接收到数据的信息时,由用户确认是否需要接收相应的数据,避免了应用服务器直接将与终端相关联但用户不需要的数据发送至终端而耗费终端大量的流量与电量。\n[0012] 根据本发明的另一方面,还提出了一种数据推送系统,包括上述技术方案中所述的服务器和至少一个上述技术方案中所述的终端。\n[0013] 根据本发明的另一方面,还提出了一种数据推送方法,包括:步骤402,推送服务器在接收到至少一个终端的请求信息时,将所述请求信息传送至应用服务器,以便所述应用服务器根据所述请求信息确定与所述终端相关联的数据的信息并生成推送指令;步骤404,所述推送服务器接收所述推送指令,对所述推送指令进行解析以得到所述数据的信息,并根据所述数据的信息生成推送请求,将所述推送请求发送至所述终端。\n[0014] 在该技术方案中,由于传统的应用服务器一方面要与终端建立连接,接收终端的请求信息,另一方面还要根据终端的请求信息查找与终端相关联的数据,并且将查找到的数据发送至终端,若有多个终端与应用服务器建立连接时,会增加应用服务器的业务处理压力,降低应用服务器的响应速度,而且不能确保终端与应用服务器连接的稳定性。因此,通过使应用服务器只与推送服务器建立连接,推送服务器将终端的请求信息发送至应用服务器,使得能够将应用服务器的部分业务(比如与终端建立并保持连接的业务)交由推送服务器进行处理,减轻了应用服务器的业务处理压力,提高了应用服务器的响应速度,同时,由于推送服务器主要负责与终端建立连接,因此确保了终端与推送服务器连接的稳定性,而且能够增加与推送服务器建立连接的终端的数量。\n[0015] 此外,应用服务器在接收到推送服务器发送的终端的请求信息时,若直接将需要推送的数据通过推送服务器发送至终端,一方面,使得推送服务器与应用服务器之间产生大量的数据传输,增加了应用服务器与推送服务器的压力,另一方面也使得终端不能选择是否接收应用服务器推送的数据,不利于用户的体验,比如相关技术中通过拦截SMS消息并且解析消息内容来了解服务器的意图,来实现完全的实时操作,但是很难找到免费的短消息发送网关,而导致成本相对比较高。因此通过使应用服务器将需要推送的数据的信息发送至推送服务器,使得一个应用服务器与多个终端之间的请求处理可以完全交由一个推送服务器来进行处理,从而统一了应用服务器的请求处理,也避免了终端通过不同的网关与应用服务器进行交互,降低了交互成本。并且推送服务器向终端发送推送请求,可以减轻应用服务器与推送服务器之间的数据交互压力,同时,由于应用服务器是根据终端的请求信息发送的推送请求,因此使得应用服务器向终端推送的数据具有针对性,提升了用户的体验。\n[0016] 根据本发明的另一方面,还提出了一种数据推送方法,包括:步骤502,至少一个终端通过推送服务器向应用服务器发送请求信息,以便所述应用服务器根据所述请求信息确定与所述终端相关联的数据的信息并生成推送指令;步骤504,所述终端接收所述推送服务器根据所述推送指令生成的推送请求;步骤506,所述终端解析所述推送请求以得到与所述终端相关联的数据的信息。\n[0017] 在该技术方案中,终端通过推送服务器向应用服务器发送请求信息,使得应用服务器可以根据终端发送的请求信息确定向终端推送的数据,避免了应用服务器盲目地向终端推送用户不需要的数据而影响用户的体验。此外,通过将与终端相关联的数据的信息推送至终端,可以在终端接收到数据的信息时,由用户确认是否需要接收相应的数据,避免了应用服务器直接将与终端相关联但用户不需要的数据发送至终端而耗费终端大量的流量与电量。\n[0018] 通过以上技术方案,可以使应用服务器有针对性地向终端推送数据,同时能够缓解服务器的业务处理压力,提高了服务器的响应速度。\n附图说明\n[0019] 图1示出了根据本发明的实施例的服务器的示意框图;\n[0020] 图2示出了根据本发明的实施例的终端的示意框图;\n[0021] 图3示出了根据本发明的实施例的数据推送系统的示意框图;\n[0022] 图4示出了根据本发明的一个实施例的数据推送方法的示意流程图;\n[0023] 图5示出了根据本发明的另一个实施例的数据推送方法的示意流程图;\n[0024] 图6示出了根据本发明的又一个实施例的数据推送方法的示意流程图;\n[0025] 图7示出了根据本发明的实施例的数据推送系统的结构示意图。\n具体实施方式\n[0026] 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。\n[0027] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。\n[0028] 图1示出了根据本发明的实施例的服务器的示意框图。\n[0029] 如图1所示,根据本发明的实施例的服务器100,包括:请求接收单元102,用于接收至少一个终端的请求信息,以及接收另一个服务器的推送指令;请求生成单元104,用于解析所述推送指令以得到与所述终端相关联的数据的信息,根据与所述终端相关联的数据的信息生成推送请求;请求发送单元106,用于将所述推送请求发送至所述终端,以及将所述请求信息传送至所述另一个服务器,以便所述另一个服务器根据所述请求信息确定所述数据的信息并生成所述推送指令。\n[0030] 在该技术方案中,由于传统的应用服务器(即本申请中所述的另一个服务器)一方面要与终端建立连接,接收终端的请求信息,另一方面还要根据终端的请求信息查找与终端相关联的数据,并且将查找到的数据发送至终端,若有多个终端与应用服务器建立连接时,会增加应用服务器的业务处理压力,降低应用服务器的响应速度,而且不能确保终端与应用服务器连接的稳定性。因此,通过使应用服务器只与推送服务器(即本申请中所述的服务器)建立连接,推送服务器将终端的请求信息发送至应用服务器,使得能够将应用服务器的部分业务(比如与终端建立并保持连接的业务)交由推送服务器进行处理,减轻了应用服务器的业务处理压力,提高了应用服务器的响应速度,同时,由于推送服务器主要负责与终端建立连接,因此确保了终端与推送服务器连接的稳定性,而且能够增加与推送服务器建立连接的终端的数量。\n[0031] 此外,应用服务器在接收到推送服务器发送的终端的请求信息时,若直接将需要推送的数据通过推送服务器发送至终端,一方面,使得推送服务器与应用服务器之间产生大量的数据传输,增加了应用服务器与推送服务器的压力,另一方面也使得终端不能选择是否接收应用服务器推送的数据,不利于用户的体验,比如相关技术中通过拦截SMS消息并且解析消息内容来了解服务器的意图,来实现完全的实时操作,但是很难找到免费的短消息发送网关,而导致成本相对比较高。因此通过使应用服务器将需要推送的数据的信息发送至推送服务器,使得一个应用服务器与多个终端之间的请求处理可以完全交由一个推送服务器来进行处理,从而统一了应用服务器的请求处理,也避免了终端通过不同的网关与应用服务器进行交互,降低了交互成本。并且推送服务器向终端发送推送请求,可以减轻应用服务器与推送服务器之间的数据交互压力,同时,由于应用服务器是根据终端的请求信息发送的推送请求,因此使得应用服务器向终端推送的数据具有针对性,提升了用户的体验。\n[0032] 在上述技术方案中,优选地,所述请求生成单元104用于解析所述推送指令,以得到所述数据的地址信息和/或所述数据的标识信息,并根据所述数据的地址信息和/或所述数据的标识信息生成所述推送请求。\n[0033] 在该技术方案中,推送服务器通过将数据的地址信息和/或数据的标识信息生成推送请求发送至终端,可以使终端在需要接收应用服务器推送的数据时,通过推送请求中数据的地址信息和/或数据的标识信息能够从应用服务器下载到相应的数据。此外,由于在应用服务器和推送服务器、推送服务器和终端之间都是指令和/或请求的传递,因此减少了应用服务器与推送服务器、推送服务器与终端之间的数据交互,从而可以优化应用服务器与推送服务器的性能,提升应用服务器与推送服务器的响应速度。\n[0034] 在上述技术方案中,优选地,所述请求生成单元104还用于解析所述推送指令,以得到所述终端的标识信息和/或所述终端的位置信息;所述请求发送单元还用于根据所述终端的标识信息和/或所述终端的位置信息确定所述终端,以将所述推送请求发送至所述终端。\n[0035] 在该技术方案中,推送服务器可能同时将多个终端的请求信息发送至应用服务器,应用服务器根据终端的标识信息和/或终端的位置信息查找到与终端相关联的数据,然后将终端的标识信息和/或终端的位置信息,以及与终端相关联的数据信息发送至推送服务器,推送服务器通过对推送指令的解析,得到终端的标识信息和/或终端的位置信息,可以根据终端的标识信息和/或终端的位置信息确定与该终端相关联的数据信息,避免了将与其中一个终端相关联的数据信息发送至其他终端,造成数据的混淆,确保了每个终端都能接收到属于自己的数据信息,此外,由于每个终端都可以接收到属于自己的数据信息,避免了终端数据的泄露,确保了终端数据的安全性。\n[0036] 在上述技术方案中,优选地,还包括:连接建立单元108,用于与所述终端建立长连接。\n[0037] 在该技术方案中,若推送服务器每次向终端发送推送请求时,都向终端进行询问(或者终端需要推送服务器发送推送请求时,都向推送服务器进行询问),在得到连接确认后,再进行连接并发送推送请求,则每次进行连接都需要耗费大量的等待时间,因此可以使终端与推送服务器之间建立长连接,则在推送服务器需要发送推送请求(或者终端向推送服务器发送请求信息)时,可以直接通过与终端之间的长连接进行发送,无需再对终端进行询问并建立连接,节省了推送服务器与终端之间建立连接的时间。当然,可以在推送服务器向终端发送推送请求之后,并且确认在一段时间内无需再向终端发送推送请求时,断开与终端之间的长连接,从而缓解推送服务器的压力,有利于其他终端与推送服务器建立长连接,避免由于持久而导致大量消耗移动设备的电量。\n[0038] 在上述技术方案中,优选地,还包括:优先级分配单元110,用于通过异步非阻塞和消息队列的方式,根据所述至少一个终端中每个终端的优先级,分别为所述每个终端的连接设置状态,并根据每个连接的状态为所述连接分配优先级,其中,所述连接建立单元用于根据所述每个终端的优先级分别与所述每个终端建立长连接。\n[0039] 在该技术方案中,若同时存在多个终端与推送服务器建立连接,则推送服务器可能由于负载过大而造成与终端之间连接的不稳定,因此通过为每个终端的连接状态设置优先级,可以在推送服务器负载过大时,断开与优先级低的终端之间的连接和/或拒绝优先级低的终端的连接请求,从而确保了优先级高的终端能够维持与推送服务器之间连接的稳定性,同时能够减轻推送服务器的负载压力。\n[0040] 图2示出了根据本发明的实施例的终端的示意框图。\n[0041] 如图2所示,根据本发明的实施例的终端200,包括:请求发送单元202,用于通过所述第一服务器向所述第二服务器发送请求信息,以便所述第二服务器根据所述请求信息确定与所述终端200相关联的数据的信息并生成推送指令;数据接收单元204,用于接收所述第一服务器根据所述推送指令生成的推送请求;请求解析单元206,用于解析所述推送请求以得到与所述终端200相关联的数据的信息。\n[0042] 在该技术方案中,终端200通过推送服务器(即本申请中所述的第一服务器)向应用服务器(即本申请中所述的第二服务器)发送请求信息,使得应用服务器可以根据终端\n200发送的请求信息确定向终端200推送的数据,避免了应用服务器盲目地向终端200推送用户不需要的数据而影响用户的体验。此外,通过将与终端200相关联的数据的信息推送至终端200,可以在终端200接收到数据的信息时,由用户确认是否需要接收相应的数据,避免了应用服务器直接将与终端200相关联但用户不需要的数据发送至终端200而耗费终端200大量的流量与电量。\n[0043] 在上述技术方案中,优选地,还包括:显示单元208,其中,所述请求解析单元206用于解析所述推送请求,以得到所述数据的地址信息和/或所述数据的标识信息,所述显示单元208用于显示所述数据的地址信息和/或所述数据的标识信息。\n[0044] 在该技术方案中,通过将终端200对推送请求进行解析之后的数据的地址信息和/或数据的标识信息进行显示,使得应用服务器向终端200推送的数据信息能够直观地呈现给用户,从而使用户选择是否接收应用服务器推送的数据,有利于提升用户的体验。\n[0045] 在上述技术方案中,优选地,还包括:数据请求单元210,用于根据接收到的连接指令向所述应用服务器发送连接请求,以获取所述相关联的数据。\n[0046] 在该技术方案中,若终端200对接收到的推送请求进行解析后,用户选择需要接收应用服务器推送的数据,则终端200可以向应用服务器发送连接请求,根据解析出的数据的信息从应用服务器下载与终端200相关联的数据。当然,终端200在接收到并解析推送请求之后,可以直接根据解析出的数据的信息向应用服务器发送连接请求,获取相关联的数据。\n[0047] 在上述技术方案中,优选地,还包括:连接建立单元212,用于与所述第一服务器建立长连接。\n[0048] 在该技术方案中,若推送服务器每次向终端200发送推送请求时,都向终端200进行询问(或者终端200需要推送服务器发送推送请求时,都向推送服务器进行询问),在得到连接确认后,再进行连接并发送推送请求,则每次进行连接都需要耗费大量的等待时间,因此可以使终端200与推送服务器之间建立长连接,则在推送服务器需要发送推送请求(或者终端200向推送服务器发送请求信息)时,可以直接通过推送服务器与终端200之间的长连接进行发送,无需再进行询问并建立连接,节省了推送服务器与终端200之间建立连接的时间。当然,可以在推送服务器向终端200发送推送请求之后,断开与推送服务器之间的长连接,从而节省终端200的电量。\n[0049] 在上述技术方案中,优选地,所述请求信息求包括所述终端200的标识信息和/或所述终端200的位置信息。\n[0050] 在该技术方案中,通过将终端200的标识信息和/或终端200的位置信息发送至推送服务器,使得推送服务器在将终端200的标识信息和/或终端200的位置信息转发至应用服务器时,可以使应用服务器根据终端200的标识信息和/或终端200的位置信息确定与终端200相关联的数据,从而将与终端200相关联的数据推送至终端200,避免了应用服务器盲目地向终端200推送数据而影响用户的体验。\n[0051] 图3示出了根据本发明的实施例的数据推送系统的示意框图。\n[0052] 如图3所示,根据本发明的实施例的数据推送系统300,包括:如图1中所述的服务器100和至少一个如图2中所述的终端200。\n[0053] 图4示出了根据本发明的一个实施例的数据推送方法的示意流程图。\n[0054] 如图4所示,根据本发明的一个实施例的数据推送方法,包括:步骤402,推送服务器在接收到至少一个终端的请求信息时,将所述请求信息传送至应用服务器,以便所述应用服务器根据所述请求信息确定与所述终端相关联的数据的信息并生成推送指令;步骤\n404,所述推送服务器接收所述推送指令,对所述推送指令进行解析以得到所述数据的信息,并根据所述数据的信息生成推送请求,将所述推送请求发送至所述终端。\n[0055] 在该技术方案中,由于传统的应用服务器一方面要与终端建立连接,接收终端的请求信息,另一方面还要根据终端的请求信息查找与终端相关联的数据,并且将查找到的数据发送至终端,若有多个终端与应用服务器建立连接时,会增加应用服务器的业务处理压力,降低应用服务器的响应速度,而且不能确保终端与应用服务器连接的稳定性。因此,通过使应用服务器只与推送服务器建立连接,推送服务器将终端的请求信息发送至应用服务器,使得能够将应用服务器的部分业务(比如与终端建立并保持连接的业务)交由推送服务器进行处理,减轻了应用服务器的业务处理压力,提高了应用服务器的响应速度,同时,由于推送服务器主要负责与终端建立连接,因此确保了终端与推送服务器连接的稳定性,而且能够增加与推送服务器建立连接的终端的数量。\n[0056] 此外,应用服务器在接收到推送服务器发送的终端的请求信息时,若直接将需要推送的数据通过推送服务器发送至终端,一方面,使得推送服务器与应用服务器之间产生大量的数据传输,增加了应用服务器与推送服务器的压力,另一方面也使得终端不能选择是否接收应用服务器推送的数据,不利于用户的体验,比如相关技术中通过拦截SMS消息并且解析消息内容来了解服务器的意图,来实现完全的实时操作,但是很难找到免费的短消息发送网关,而导致成本相对比较高。因此通过使应用服务器将需要推送的数据的信息发送至推送服务器,使得一个应用服务器与多个终端之间的请求处理可以完全交由一个推送服务器来进行处理,从而统一了应用服务器的请求处理,也避免了终端通过不同的网关与应用服务器进行交互,降低了交互成本。并且推送服务器向终端发送推送请求,可以减轻应用服务器与推送服务器之间的数据交互压力,同时,由于应用服务器是根据终端的请求信息发送的推送请求,因此使得应用服务器向终端推送的数据具有针对性,提升了用户的体验。\n[0057] 在上述技术方案中,优选地,所述步骤404包括:所述推送服务器解析所述推送指令,以得到所述数据的地址信息和/或所述数据的标识信息,并根据所述数据的地址信息和/或所述数据的标识信息生成所述推送请求。\n[0058] 在该技术方案中,推送服务器通过将数据的地址信息和/或数据的标识信息生成推送请求发送至终端,可以使终端在需要接收应用服务器推送的数据时,通过推送请求中数据的地址信息和/或数据的标识信息能够从应用服务器下载到相应的数据。此外,由于在应用服务器和推送服务器、推送服务器和终端之间都是指令和/或请求的传递,因此减少了应用服务器与推送服务器、推送服务器与终端之间的数据交互,从而可以优化应用服务器与推送服务器的性能,提升应用服务器与推送服务器的响应速度。\n[0059] 在上述技术方案中,优选地,所述步骤404包括:所述推送服务器解析所述推送指令,以得到所述终端的标识信息和/或所述终端的位置信息,并根据所述终端的标识信息和/或所述终端的位置信息确定所述终端,以将所述推送请求发送至所述终端。\n[0060] 在该技术方案中,推送服务器可能同时将多个终端的请求信息发送至应用服务器,应用服务器根据终端的标识信息和/或终端的位置信息查找到与终端相关联的数据,然后将终端的标识信息和/或终端的位置信息,以及与终端相关联的数据信息发送至推送服务器,推送服务器通过对推送指令的解析,得到终端的标识信息和/或终端的位置信息,可以根据终端的标识信息和/或终端的位置信息确定与该终端相关联的数据信息,避免了将与其中一个终端相关联的数据信息发送至其他终端,造成数据的混淆,确保了每个终端都能接收到属于自己的数据信息,此外,由于每个终端都可以接收到属于自己的数据信息,避免了终端数据的泄露,确保了终端数据的安全性。\n[0061] 在上述技术方案中,优选地,在所述步骤402之前还包括:所述推送服务器与所述终端建立长连接。\n[0062] 在该技术方案中,若推送服务器每次向终端发送推送请求时,都向终端进行询问(或者终端需要推送服务器发送推送请求时,都向推送服务器进行询问),在得到连接确认后,再进行连接并发送推送请求,则每次进行连接都需要耗费大量的等待时间,因此可以使终端与推送服务器之间建立长连接,则在推送服务器需要发送推送请求(或者终端向推送服务器发送请求信息)时,可以直接通过与终端之间的长连接进行发送,无需再对终端进行询问并建立连接,节省了推送服务器与终端之间建立连接的时间。当然,可以在推送服务器向终端发送推送请求之后,并且确认在一段时间内无需再向终端发送推送请求时,断开与终端之间的长连接,从而缓解推送服务器的压力,有利于其他终端与推送服务器建立长连接,避免由于持久而导致大量消耗移动设备的电量。\n[0063] 在上述技术方案中,优选地,所述推送服务器通过异步非阻塞和消息队列的方式,根据所述至少一个终端中每个终端的优先级,分别为所述每个终端的连接设置状态,并根据每个连接的状态为所述连接分配优先级,以根据所述每个终端的优先级分别与所述每个终端建立长连接。\n[0064] 在该技术方案中,若同时存在多个终端与推送服务器建立连接,则推送服务器可能由于负载过大而造成与终端之间连接的不稳定,因此通过为每个终端的连接状态设置优先级,可以在推送服务器负载过大时,断开与优先级低的终端之间的连接和/或拒绝优先级低的终端的连接请求,从而确保了优先级高的终端能够维持与推送服务器之间连接的稳定性,同时能够减轻推送服务器的负载压力。\n[0065] 图5示出了根据本发明的另一个实施例的数据推送方法的示意流程图。\n[0066] 如图5所示,根据本发明的另一个实施例的数据推送方法,包括:步骤502,至少一个终端通过推送服务器向应用服务器发送请求信息,以便所述应用服务器根据所述请求信息确定与所述终端相关联的数据的信息并生成推送指令;步骤504,所述终端接收所述推送服务器根据所述推送指令生成的推送请求;步骤506,所述终端解析所述推送请求以得到与所述终端相关联的数据的信息。\n[0067] 在该技术方案中,终端通过推送服务器向应用服务器发送请求信息,使得应用服务器可以根据终端发送的请求信息确定向终端推送的数据,避免了应用服务器盲目地向终端推送用户不需要的数据而影响用户的体验。此外,通过将与终端相关联的数据的信息推送至终端,可以在终端接收到数据的信息时,由用户确认是否需要接收相应的数据,避免了应用服务器直接将与终端相关联但用户不需要的数据发送至终端而耗费终端大量的流量与电量。\n[0068] 在上述技术方案中,优选地,所述步骤506包括:所述终端解析所述推送请求,以得到所述数据的地址信息和/或所述数据的标识信息,并显示所述数据的地址信息和/或所述数据的标识信息。\n[0069] 在该技术方案中,通过将终端对推送请求进行解析之后的数据的地址信息和/或数据的标识信息进行显示,使得应用服务器向终端推送的数据信息能够直观地呈现给用户,从而使用户选择是否接收应用服务器推送的数据,有利于提升用户的体验。\n[0070] 在上述技术方案中,优选地,还包括:根据接收到的连接指令向所述应用服务器发送连接请求,以获取所述相关联的数据。\n[0071] 在该技术方案中,若终端对接收到的推送请求进行解析后,用户选择需要接收应用服务器推送的数据,则终端可以向应用服务器发送连接请求,根据解析出的数据的信息从应用服务器下载与终端相关联的数据。当然,终端在接收到并解析推送请求之后,可以直接根据解析出的数据的信息向应用服务器发送连接请求,获取相关联的数据。\n[0072] 在上述技术方案中,优选地,所述终端与所述推送服务器建立的连接为长连接,所述终端在接收到所述推送请求后,断开与所述推送服务器之间的长连接。\n[0073] 在该技术方案中,若推送服务器每次向终端发送推送请求时,都向终端进行询问(或者终端需要推送服务器发送推送请求时,都向推送服务器进行询问),在得到连接确认后,再进行连接并发送推送请求,则每次进行连接都需要耗费大量的等待时间,因此可以使终端与推送服务器之间建立长连接,则在推送服务器需要发送推送请求(或者终端向推送服务器发送请求信息)时,可以直接通过推送服务器与终端之间的长连接进行发送,无需再进行询问并建立连接,节省了推送服务器与终端之间建立连接的时间。当然,可以在推送服务器向终端发送推送请求之后,断开与推送服务器之间的长连接,从而节省终端的电量。\n[0074] 在上述技术方案中,优选地,所述请求信息包括所述终端的标识信息和/或所述终端的位置信息。\n[0075] 在该技术方案中,通过将终端的标识信息和/或终端的位置信息发送至推送服务器,使得推送服务器在将终端的标识信息和/或终端的位置信息转发至应用服务器时,可以使应用服务器根据终端的标识信息和/或终端的位置信息确定与终端相关联的数据,从而将与终端相关联的数据推送至终端,避免了应用服务器盲目地向终端推送数据而影响用户的体验。\n[0076] 图6示出了根据本发明的又一个实施例的数据推送方法的示意流程图。\n[0077] 本实施例以服务器向终端推送与地理位置相关的新闻数据为例进行说明,本领域的技术人员应该理解,本申请中服务器推送的数据包括但不限于新闻数据,与终端相关的数据包括但不限于与地理位置相关的数据。\n[0078] 如图6所示,根据本发明的又一个实施例的数据推送方法,包括:\n[0079] 步骤602,终端进入新闻查看模块,推送服务接口与推送服务器建立长连接,其中,推送服务接口集成在终端中。终端进入新闻查看模块相当于触发了终端与推送服务器建立长连接,当然也可以通过其他的方式触发终端与推送服务器建立长连接,比如通过对终端与推送服务器的连接状态进行设置等,推送服务接口相当于终端的通信模块。\n[0080] 步骤604,终端获取当前地理位置信息以及终端标识,并发送到推送服务器。\n[0081] 步骤606,推送服务器接收到终端发送的终端标识和终端的地理位置信息。\n[0082] 步骤608,推送服务器保存终端标识,以便于在接收到应用服务器发送的推送指令时,能够将推送指令中与每个终端相关联的数据发送至每个终端。\n[0083] 步骤610,推送服务器转发终端的地理位置信息和终端标识到应用服务器,以使应用服务器根据终端的地理位置信息查找与该地理位置信息相关联的数据。\n[0084] 步骤612,应用程序服务器接收终端标识以及终端的地理位置信息,保存终端标识和地理位置信息,如果终端标识已经存在,则更新该终端标识对应的地理位置信息。应用服务器中可能保存有终端的标识信息,此时只需更新终端的地理位置信息,根据终端最新的地理位置信息查找与该地理位置信息相关联的数据。\n[0085] 步骤614,应用服务器根据终端地理位置信息查找与终端的地理位置信息相关联的数据。\n[0086] 步骤616,应用服务器向推送服务器发送推送查找到的数据的推送指令,推送指令中包含终端标识和要推送数据的信息。\n[0087] 步骤618,推送服务器接收推送指令,解析推送指令,根据解析出的终端标识与相应的查找到数据信息,向终端发送查找到数据的推送请求。推送服务器解析出终端标识和与终端标识相关联的数据信息,根据终端标识将与之相关联的数据信息发送至相应的终端,避免了数据的混淆。\n[0088] 步骤620,终端接收到推送请求,并进行解析,向应用服务器发送连接请求,并下载上述查找到的数据。在终端对推送请求解析之后,可以由用户选择是否接收应用服务器推送的数据,若用户选择接收,则可以向应用服务器发送连接请求,若用户并未选择接收,则可以忽略推送请求。\n[0089] 通过使终端与推送服务器保持长连接,而应用服务器负责向推送服务器发送推送指令的方式向终端推送数据,减轻了应用服务器与终端建立连接而可能导致的负载压力,提高了应用服务器的响应速度。\n[0090] 图7示出了根据本发明的实施例的数据推送系统的结构示意图。\n[0091] 如图7所示,根据本发明的实施例的数据推送系统,包括:\n[0092] 推送服务器702:\n[0093] 为了缓解应用服务器708的压力,提高应用服务器708的性能,用独立的服务器(即推送服务器702)来保持与终端706A和/或706B的长连接,推送服务器702只负责如何高效地、大量地维持长连接,而不会涉及到任何业务方面的功能,同时与应用服务器708连接,接收应用服务器708发送的指令,推送相应的数据到推送服务应用程序接口704A和/或704B,或者将推送服务应用程序接口704A和/或704B上传的数据转交给应用服务器708,推送服务器702采用异步非阻塞以及消息队列和优先级的方式给每一个连接一个状态,根据不同的状态分配优先级,以此保证与终端706A和/或706B连接的持续性以及稳定和高效性。\n[0094] 推送服务应用程序接口704(如图7中所示的推送服务应用程序接口704A和/或推送服务应用程序接口704B):\n[0095] 推送服务应用程序接口704被集成在终端706中(如图7中所示的推送服务应用程序接口704A被集成在终端706A中,推送服务应用程序接口704B被集成在终端706B中),负责高效率低消耗地与推送服务器702建立并保持长连接,在终端706中,推送服务应用程序接口704单独创建一个进程,通过此进程,在终端706触发与推送服务器702建立长连接时,与推送服务器702建立长连接,通过使用推送服务应用程序接口704的形式,在保持长连接的情况下降低了网络流量的消耗以及电池电量的消耗,同时推送服务应用程序接口704负责解析推送服务器702推送的数据并转交给终端706,并且收集终端706提交的数据上传给推送服务器702。\n[0096] 终端706(如图7中所示的终端706A和/或终端706B):\n[0097] 终端706集成了推送服务应用程序接口704,是面向用户的,并且是推送数据的展示者以及将数据上传到应用服务器708的数据收集者。终端706接收到推送服务应用程序接口704的数据并解析,解析完成的数据包含了应用服务器708待推送的数据的信息,在解析完成后,询问用户是否接受数据的推送,如果接受,则终端706根据解析出的数据信息向应用服务器708发出请求,然后从应用服务器708获取真实的待推送数据。通过这种方式来减少推送服务器702的压力,同时避免推送服务器702直接参与到业务逻辑里面,同时尊重用户意愿,而不是强制推送。\n[0098] 应用服务器708:\n[0099] 应用服务器708是推送数据的发起者,负责数据的采集和整理分类,然后通过推送服务器702将数据推送到推送服务应用程序接口704。应用服务器708可以将终端706的用户分享的新闻数据进行整理,然后根据地理位置信息将新闻数据推送到指定的用户,通过地理位置筛选和对数据的整理,可以从庞大的新闻数据中整理出精简的推送给该地区的用户,以此减少本地用户对数据的筛选难度,同时实现新闻分享的功能,同时应用服务器708需要响应终端706发起的请求,将与终端706相关联的新闻数据发送给终端706。\n[0100] 如图7所示的根据本发明的实施例的数据推送系统实现了以下效果:\n[0101] 1)通过分离服务器的方法减少应用服务器708的压力,提高了应用服务器708的性能,使用专门的服务器(即推送服务器702)维护与终端706的长连接,有效的提高了支持连接的终端706的个数以及连接的稳定性,推送服务器702通过给每个连接分配状态来监控每一个连接,以此达到对有效连接数的支持和对硬件的最大利用。\n[0102] 2)通过服务器推送数据的方式可以让用户及时接收到最新数据,提高数据的及时性和有效性。\n[0103] 3)通过给终端706启动独立的进程来减少维持长连接对网络流量和电池电量的消耗。\n[0104] 4)针对新闻的更新频率,比如当用户第一次打开新闻应用时(也可以是经过预设的时间间隔之后),服务器会根据终端706上传的地理位置信息和终端的标识信息检查是否有订阅新闻信息可以推送,如果有则推送,如果没有数据,则会关闭长连接,减少服务器的开销(当然也可以不关闭长连接),终端中会有一个专门的实时新闻查看模块,当用户打开该模块的时候,终端与推送服务器702建立长连接,等待数据的推送,如果用户退出该模块,则推送服务器702关闭该长连接。通过使用上述方法,可以减少一些不必要的长连接,如果用户没有打开实时新闻查看模块则长连接不会建立,也就不会对推送服务器702造成过多的性能压力。本实施例中,用户打开实时新闻查看模块相当于触发终端与推送服务器702之间建立长连接,当然也可以通过其他的方式,比如用户通过设置建立与推送服务器702之间的长连接。\n[0105] 以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有切实可行的技术方案以实现服务器对终端的数据推送。因此,本发明提出了一种新的数据推送方案,可以使应用服务器有针对性地向终端推送数据,同时能够缓解服务器的业务处理压力,提高了服务器的响应速度。\n[0106] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。\n[0107] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。\n[0108] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。\n[0109] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。\n[0110] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2022-09-23
专利权的转移
登记生效日: 2022.09.13
专利权人由北大方正集团有限公司变更为新方正控股发展有限责任公司
地址由100871 北京市海淀区成府路298号方正大厦9层变更为519031 广东省珠海市横琴新区华金街58号横琴国际金融中心大厦3007
专利权人由北京方正阿帕比技术有限公司 北大方正信息产业集团有限公司 变更为北京方正阿帕比技术有限公司
- 2022-09-23
专利权人的姓名或者名称、地址的变更
专利权人由北大方正集团有限公司变更为北大方正集团有限公司
地址由100871 北京市海淀区成府路298号方正大厦9层变更为100871 北京市海淀区成府路298号方正大厦9层
专利权人由北京方正阿帕比技术有限公司 方正信息产业控股有限公司 变更为北京方正阿帕比技术有限公司 北大方正信息产业集团有限公司
- 2018-06-05
- 2015-04-22
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201310421389.2
申请日: 2013.09.16
- 2015-03-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-04-20
|
2010-12-21
| | |
2
| |
2013-07-03
|
2011-12-27
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |