数据交互方法和系统的制作方法
【专利摘要】本发明提供了一种数据交互方法和系统。所述方法包括:一种数据交互方法,包括如下步骤:接收由客户端发起的链接请求;根据所述链接请求中包含的客户端所在网络地址就近定位得到对应的节点服务器;建立所述客户端与所述节点服务器之间的长连接,以使得所述客户端通过所述长连接将数据发布至所述节点服务器。采用本发明能提高数据交互的实时性。
【专利说明】数据交互方法和系统
【技术领域】
[0001] 本发明涉及计算机应用技术,特别是涉及一种数据交互方法和系统。
【背景技术】
[0002] 随着计算机应用技术的发展,越来越多的用户常常随时随地进行各种数据的发布 和获取。具体的,发布者可通过网络将一定的数据发布至后台的服务器中,进而使得其它用 户得以进行该数据的获取。
[0003] 发布的数据通常采用http的形式进行传输,然而,在通过http的形式进行数据传 输的过程中,数据交互链接的建立将需要耗费过长的时间,严重影响了数据的实时性,并且 后台的服务器将是根据客户端的请求响应并返回的,只能进行数据拉取操作,存在着缺乏 实时性的缺陷。
【发明内容】
[0004] 基于此,有必要提供一种能提高实时性的数据交互方法。
[0005] 此外,还有必要提供一种能提高实时性的数据交互系统。
[0006] 一种数据交互方法,包括如下步骤:
[0007] 接收由客户端发起的链接请求;
[0008] 根据所述链接请求中包含的客户端所在网络地址就近定位得到对应的节点服务 器;
[0009] 建立所述客户端与所述节点服务器之间的长连接,以使得所述客户端通过所述长 连接将数据发布至所述节点服务器。
[0010] 在其中一个实施例中,所述根据所述链接请求中包含的客户端所在网络地址就近 定位得到对应的节点服务器的步骤包括:
[0011] 由所述客户端发起的链接请求提取所述客户端所在网络地址;
[0012] 根据所述客户端所在网络地址进行域名解析,以将所述客户端所发起的数据发布 指向就近对应的节点服务器。
[0013] 在其中一个实施例中,所述建立所述客户端与所述节点服务器之间的长连接,以 使得所述客户端通过所述长连接将数据发布至所述节点服务器的步骤之后,所述方法还包 括:
[0014] 根据所述链接请求中目标客户端所在网络地址分配所述目标客户端对应的节点 服务器;
[0015] 分别建立中央数据交互服务器与两个节点服务器之间的长连接以及所述目标客 户端对应的节点服务器与所述目标客户端之间的长连接;
[0016] 通过所述中央数据交互服务器、目标客户端对应的节点服务器以及建立的长连接 将所述发布的数据传输至所述目标客户端。
[0017] 在其中一个实施例中,所述通过所述中央数据交互服务器、目标客户端对应的节 点服务器以及建立的长连接将所述发布的数据传输至所述目标客户端的步骤包括:
[0018] 通过所述中央数据交互服务器与目标客户端对应的节点服务器之间的长连接将 发布至所述节点服务器的数据由所述中央数据交互服务器传输至所述目标客户端对应的 节点服务器;
[0019] 通过所述目标客户端对应的节点服务器与目标客户端之间的长连接将传输至所 述目标客户端对应的节点服务器的数据发送至目标客户端。
[0020] 在其中一个实施例中,所述根据所述链接请求中目标客户端所在网络地址分配所 述目标客户端对应的节点服务器的步骤包括:
[0021] 从所述链接请求提取目标客户端所在网络地址;
[0022] 根据所述目标客户端所在网络地址进行域名解析以为所述目标客户端分配对应 的节点服务器。
[0023] -种数据交互系统,包括:
[0024] 请求接收模块,用于接收由客户端发起的链接请求;
[0025] 就近定位模块,用于根据所述链接请求中包含的客户端所在网络地址就近定位得 到对应的节点服务器;
[0026] 发布模块,用于建立所述客户端与所述节点服务器之间的长连接,以使得所述客 户端通过所述长连接将数据发布至所述节点服务器。
[0027] 在其中一个实施例中,所述就近定位模块包括:
[0028] 地址提取单元,用于由所述客户端发起的链接请求提取所述客户端所在网络地 址;
[0029] 域名解析单元,用于根据所述客户端所在网络地址进行域名解析,以将所述客户 端所发起的数据发布指向到就近对应的节点服务器。
[0030] 在其中一个实施例中,所述系统还包括:
[0031] 分配模块,用于根据所述链接请求中目标客户端所在网络地址分配所述目标客户 端对应的节点服务器;
[0032] 连接建立模块,用于分别建立中央数据交互服务器与两个节点服务器之间的长连 接以及所述目标客户端对应的节点服务器与目标客户端之间的长连接;
[0033] 数据传输模块,用于通过所述中央数据交互服务器、目标客户端对应的节点服务 器以及建立的长连接将所述发布的数据传输至所述目标客户端。
[0034] 在其中一个实施例中,所述数据传输模块包括:
[0035] 转发单元,运行于所述中央数据交互服务器中,用于通过所述中央数据交互服务 器与目标客户端对应的节点服务器之间的长连接将发布至所述节点服务器的数据由所述 中央数据交互服务器传输至所述目标客户端对应的节点服务器;
[0036] 数据发送单元,运行于所述目标客户端对应的节点服务器中,用于通过所述目标 客户端对应的节点服务器与目标客户端之间的长连接将传输至所述目标客户端对应的节 点服务器的数据发送至目标客户端。
[0037] 在其中一个实施例中,所述分配模块包括:
[0038] 目标地址提取单元,用于从所述链接请求提取目标客户端所在网络地址;
[0039] 服务器分配单元,用于根据所述目标客户端所在网络地址进行域名解析以为目标 客户端分配对应的节点服务器。
[0040] 上述数据交互方法和系统,在触发进行数据的发布时,将接收得到由客户端发起 的链接请求,根据链接请求中包含的客户端所在网络地址就近定位得到对应的节点服务 器,以建立客户端与节点服务器之间的长连接,以使得客户端得以通过建立的长连接将数 据发布到节点服务器中,以在长连接的作用下提高数据交互的实时性。
【专利附图】
【附图说明】
[0041] 图1为一个实施例中数据交互方法的流程图;
[0042] 图2为图1中根据链接请求中包含的客户端所在网络地址就近定位得到对应的节 点服务器的方法流程图;
[0043] 图3为另一个实施例中数据交互方法的流程图;
[0044] 图4为图3中通过中央数据交互服务器、目标客户端对应的节点服务器以及建立 的长连接将发布的数据传输至目标客户端的方法流程图;
[0045] 图5为图3中根据链接请求中目标客户端所在网络地址分配目标客户端对应的节 点服务器的方法流程图;
[0046] 图6为本发明所运行的计算机系统架构图;
[0047] 图7为一个实施例中数据交互系统的结构示意图;
[0048] 图8为图7中就近定位模块的结构示意图;
[0049] 图9为另一个实施例中数据交互系统的结构示意图;
[0050] 图10为图9中数据传输模块的结构示意图;
[0051] 图11为图9中分配模块的结构示意图。
【具体实施方式】
[0052] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0053] 如图1所示,在一个实施例中,一种数据交互方法,包括如下步骤:
[0054] 步骤110,接收由客户端发起的链接请求。
[0055] 本实施例中,需要进行数据发布的客户端将发起链接请求,其中,该链接请求中包 括了客户端所在网络地址,此时,后台的服务器将接收得到运行于电脑或者智能手机等终 端设备的客户端所发起的链接请求。
[0056] 步骤130,根据链接请求中包含的客户端所在网络地址就近定位得到对应的节点 服务器。
[0057] 本实施例中,节点服务器为多个,并且被分别部署于各种地区各运营商机房中,以 保证不会出现单点故障。将根据接收得到的链接请求中包含的客户端所在网络地址进行就 近定位,以将发布数据的客户端对节点服务器的访问指向就近对应的节点服务器。该节点 服务器将与发起链接请求的客户端处于同一地区,并且所采用的网络也是由同一运营商提 供的,以有效地避免了因为网络互联互通而引起的问题,很好的保证了连接的稳定性和可 控性。
[0058] 步骤150,建立客户端与节点服务器之间的长连接,以使得客户端通过长连接将数 据发布至节点服务器。
[0059] 本实施例中,就近定位得到发起链接请求的客户端所对应的节点服务器之后,将 建立该客户端与其所对应的节点服务器之间的长链接,通过建立的长连接使得客户端得以 将数据发布至对应的节点服务器中。
[0060] 由于客户端和节点服务器之间是通过建立的长连接进行数据传输的,将最大程度 上保证了传数据传输的稳定性和实时性。
[0061] 如上所述的过程将运行于架构的源服务器中,以便于实现基础的数据和业务处 理。
[0062] 如图2所示,在一个实施例中,上述步骤130包括:
[0063] 步骤131,由客户端发起的链接请求提取客户端所在网络地址。
[0064] 步骤133,根据客户端所在网络地址进行域名解析,以将客户端所发起的数据发布 指向就近对应的节点服务器。
[0065] 本实施例中,进行域名解析并获知为客户端提供网络的运营商,进而将客户端所 发起的数据发布指向就近对应的,为客户端提供网络的运营商所属的节点服务器中,以得 到最佳数据传输效率。
[0066] 如图3所示,在另一个实施例中,上述步骤150之后,如上所述的方法还包括: [0067] 步骤310,根据链接请求中目标客户端所在网络地址分配目标客户端对应的节点 服务器。
[0068] 本实施例中,相应的,链接请求还包括了目标客户端所在网络地址,该目标客户端 即为分享客户端所发布的数据的任一客户端。
[0069] 根据目标客户端所在网络地址进行就近定位,以为目标客户端分配就近对应的节 点服务器,该节点服务器将与目标客户端处于同一地区,并且所采用的网络也是由同一运 营商提供的。
[0070] 步骤330,分别建立中央数据交互服务器与两个节点服务器之间的长连接以及目 标客户端对应的节点服务器与目标客户端之间的长连接。
[0071] 本实施例中,预先架构了中央数据交互服务器,将用于实现数据交互过程中的数 据分发。其中,该中央数据交互服务器将是搭建在多线机房中的核心服务器,以保证各个运 营商的访问是有效、稳定和实时的。
[0072] 中央数据交互服务器将分别与后端的两个节点服务器建立长连接,目标客户端对 应的节点服务器也将与目标客户端建立长连接,以便于将客户端发布的数据传输至目标客 户端中。
[0073] 步骤350,通过中央数据交互服务器、目标客户端对应的节点服务器以及建立的长 连接将发布的数据传输至目标客户端。
[0074] 本实施例中,在中央数据交互服务器的作用下,将对发布至客户端就近对应的节 点服务器的数据进行转发,以通过目标客户端对应的节点服务器和建立的长连接将客户端 发布的数据传输到目标客户端,实现客户端和目标客户端之间的数据分享。
[0075] 如图4所示,在一个实施例中,上述步骤350的具体过程为:
[0076] 步骤351,通过中央数据交互服务器与目标客户端对应的节点服务器之间的长连 接将发布至节点服务器的数据由中央数据交互服务器传输至目标客户端对应的节点服务 器。
[0077] 本实施例中,中央数据交互服务器通过其与客户端对应的节点服务器之间的长连 接,以及与目标客户端对应的节点服务器之间的长连接将客户端发布至对应节点服务器的 数据转发至目标客户端所对应的节点服务器中。
[0078] 步骤353,通过目标客户端对应的节点服务器与目标客户端之间的长连接将传输 至目标客户端对应的节点服务器的数据发送至目标客户端。
[0079] 如图5所示,在一个实施例中,上述步骤310的具体过程为:
[0080] 步骤311,从链接请求提取目标客户端所在网络地址。
[0081] 步骤313,根据目标客户端所在网络地址进行域名解析以为目标客户端分配对应 的节点服务器。
[0082] 本实施例中,根据目标客户端所在网络地址进行域名解析,并获知为目标客户端 提供网络的运营商,进而为目标客户端分配就近对应的节点服务器,以优化数据传输效果。
[0083] 通过如上所述的数据交互过程,通过建立长连接的方式,即稳定的TCP链接避免 了 http协议中延时影响严重以及数据丢包严重的问题,实现了数据的实时推送。
[0084] 并且由于只需要采用少量的服务器部署中央数据交互服务器即可,降低了大量多 线机房的部署支持,降低了部署成本。
[0085] 在一个实施例中,如上所述的数据交互方法,该方法所运行的计算机系统如图6 所示,该计算机系统包括了进行数据发布的电脑客户端610、分享发布的数据的目标客户端 620,即运行于智能手机中的客户端、源服务器630、中央数据交互服务器640以及若干个节 点服务器,该节点服务器包括了节点服务器1、节点服务器2和节点服务器3。
[0086] 如图7所示,在一个实施例中,一种数据交互系统,包括请求接收模块710、就近定 位模块730和发布模块750。
[0087] 请求接收模块710,用于接收由客户端发起的链接请求。
[0088] 本实施例中,需要进行数据发布的客户端将发起链接请求,其中,该链接请求中包 括了客户端所在网络地址,此时,后台的服务器中请求接收模块710将接收得到运行于电 脑或者智能手机等终端设备的客户端所发起的链接请求。
[0089] 就近定位模块730,用于根据链接请求中包含的客户端所在网络地址就近定位得 到对应的节点服务器。
[0090] 本实施例中,节点服务器为多个,并且被分别部署于各种地区各运营商机房中,以 保证不会出现单点故障。就近定位模块730将根据接收得到的链接请求中包含的客户端所 在网络地址进行就近定位,以将发布数据的客户端对节点服务器的访问指向就近对应的节 点服务器。该节点服务器将与发起链接请求的客户端处于同一地区,并且所采用的网络也 是由同一运营商提供的,以有效地避免了因为网络互联互通而引起的问题,很好的保证了 连接的稳定性和可控性。
[0091] 发布模块750,用于建立客户端与节点服务器之间的长连接,以使得客户端通过长 连接将数据发布至节点服务器。
[0092] 本实施例中,发布模块750就近定位得到发起链接请求的客户端所对应的节点服 务器之后,将建立该客户端与其所对应的节点服务器之间的长链接,通过建立的长连接使 得客户端得以将数据发布至对应的节点服务器中。
[0093] 由于客户端和节点服务器之间是通过建立的长连接进行数据传输的,将最大程度 上保证了传数据传输的稳定性和实时性。
[0094] 如上所述的过程将运行于架构的源服务器中,以便于实现基础的数据和业务处 理。
[0095] 如图8所示,在一个实施例中,如上所述的就近定位模块730包括地址提取单元 731和域名解析单元733。
[0096] 地址提取单元731,用于由客户端发起的链接请求提取客户端所在网络地址。
[0097] 域名解析单元733,用于根据客户端所在网络地址进行域名解析,以将客户端所发 起的数据发布指向到就近对应的节点服务器。
[0098] 本实施例中,域名解析单元733进行域名解析并获知为客户端提供网络的运营 商,进而将客户端所发起的数据发布指向就近对应的,为客户端提供网络的运营商所属的 节点服务器中,以得到最佳数据传输效率。
[0099] 如图9所示,在一个实施例中,如上所述的系统还包括分配模块910、连接建立模 块930和数据传输模块950。
[0100] 分配模块910,用于根据链接请求中目标客户端所在网络地址分配目标客户端对 应的节点服务器。
[0101] 本实施例中,相应的,链接请求还包括了目标客户端所在网络地址,该目标客户端 即为分享客户端所发布的数据的任一客户端。
[0102] 分配模块910根据目标客户端所在网络地址进行就近定位,以为目标客户端分配 就近对应的节点服务器,该节点服务器将与目标客户端处于同一地区,并且所采用的网络 也是由同一运营商提供的。
[0103] 连接建立模块930,用于分别建立中央数据交互服务器与两个节点服务器之间的 长连接以及目标客户端对应的节点服务器与目标客户端之间的长连接。
[0104] 本实施例中,预先架构了中央数据交互服务器,将用于实现数据交互过程中的数 据分发。其中,该中央数据交互服务器将是搭建在多线机房中的核心服务器,以保证各个运 营商的访问是有效、稳定和实时的。
[0105] 中央数据交互服务器将分别与后端的两个节点服务器建立长连接,目标客户端对 应的节点服务器也将与目标客户端建立长连接,以便于将客户端发布的数据传输至目标客 户端中。
[0106] 数据传输模块950,用于通过中央数据交互服务器、目标客户端对应的节点服务器 以及建立的长连接将发布的数据传输至目标客户端。
[0107] 本实施例中,在中央数据交互服务器的作用下,数据传输模块950将对发布至客 户端就近对应的节点服务器的数据进行转发,以通过目标客户端对应的节点服务器和建立 的长连接将客户端发布的数据传输到目标客户端,实现客户端和目标客户端之间的数据分 享。
[0108] 如图10所示,在一个实施例中,数据传输模块950包括转发单元951和数据发送 单元955。
[0109] 转发单元951,运行于中央数据交互服务器中,用于通过中央数据交互服务器与目 标客户端对应的节点服务器之间的长连接将发布至节点服务器的数据由中央交互服务器 传输至目标客户端对应的节点服务器。
[0110] 本实施例中,中央数据交互服务器中的转发单元951通过其与客户端对应的节点 服务器之间的长连接,以及与目标客户端对应的节点服务器之间的长连接将客户端发布至 对应节点服务器的数据转发至目标客户端所对应的节点服务器中。
[0111] 数据发送单元955,运行于目标客户端对应的节点服务器中,用于通过目标客户端 对应的节点服务器与目标客户端之间的长连接将传输至目标客户端对应的节点服务器的 数据发送至目标客户端。
[0112] 如图11所示,在一个实施例中,上述分配模块910包括目标地址提取单元911和 服务器分配单元913。
[0113] 目标地址提取单元911,用于从链接请求提取目标客户端所在网络地址。
[0114] 服务器分配单元913,用于根据目标客户端所在网络地址进行域名解析以为目标 客户端分配对应的节点服务器。
[0115] 本实施例中,服务器分配单元913根据目标客户端所在网络地址进行域名解析, 并获知为目标客户端提供网络的运营商,进而为目标客户端分配就近对应的节点服务器, 以优化数据传输效果。
[0116] 通过如上所述的数据交互过程,通过建立长连接的方式,即稳定的TCP链接避免 了 http协议中延时影响严重以及数据丢包严重的问题,实现了数据的实时推送。
[0117] 并且由于只需要采用少量的服务器部署中央数据交互服务器即可,降低了大量多 线机房的部署支持,降低了部署成本。
[0118] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质 中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的 至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为 磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0119] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并 不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保 护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1. 一种数据交互方法,包括如下步骤: 接收由客户端发起的链接请求; 根据所述链接请求中包含的客户端所在网络地址就近定位得到对应的节点服务器; 建立所述客户端与所述节点服务器之间的长连接,以使得所述客户端通过所述长连接 将数据发布至所述节点服务器。
2. 根据权利要求1所述的方法,其特征在于,所述根据所述链接请求中包含的客户端 所在网络地址就近定位得到对应的节点服务器的步骤包括: 由所述客户端发起的链接请求提取所述客户端所在网络地址; 根据所述客户端所在网络地址进行域名解析,以将所述客户端所发起的数据发布指向 就近对应的节点服务器。
3. 根据权利要求1所述的方法,其特征在于,所述建立所述客户端与所述节点服务器 之间的长连接,以使得所述客户端通过所述长连接将数据发布至所述节点服务器的步骤之 后,所述方法还包括: 根据所述链接请求中目标客户端所在网络地址分配所述目标客户端对应的节点服务 器; 分别建立中央数据交互服务器与两个节点服务器之间的长连接以及所述目标客户端 对应的节点服务器与所述目标客户端之间的长连接; 通过所述中央数据交互服务器、目标客户端对应的节点服务器以及建立的长连接将所 述发布的数据传输至所述目标客户端。
4. 根据权利要求3所述的方法,其特征在于,所述通过所述中央数据交互服务器、目标 客户端对应的节点服务器以及建立的长连接将所述发布的数据传输至所述目标客户端的 步骤包括: 通过所述中央数据交互服务器与目标客户端对应的节点服务器之间的长连接将发布 至所述节点服务器的数据由所述中央数据交互服务器传输至所述目标客户端对应的节点 服务器; 通过所述目标客户端对应的节点服务器与目标客户端之间的长连接将传输至所述目 标客户端对应的节点服务器的数据发送至目标客户端。
5. 根据权利要求3所述的方法,其特征在于,所述根据所述链接请求中目标客户端所 在网络地址分配所述目标客户端对应的节点服务器的步骤包括: 从所述链接请求提取目标客户端所在网络地址; 根据所述目标客户端所在网络地址进行域名解析以为所述目标客户端分配对应的节 点服务器。
6. -种数据交互系统,其特征在于,包括: 请求接收模块,用于接收由客户端发起的链接请求; 就近定位模块,用于根据所述链接请求中包含的客户端所在网络地址就近定位得到对 应的节点服务器; 发布模块,用于建立所述客户端与所述节点服务器之间的长连接,以使得所述客户端 通过所述长连接将数据发布至所述节点服务器。
7. 根据权利要求6所述的系统,其特征在于,所述就近定位模块包括: 地址提取单元,用于由所述客户端发起的链接请求提取所述客户端所在网络地址; 域名解析单元,用于根据所述客户端所在网络地址进行域名解析,以将所述客户端所 发起的数据发布指向到就近对应的节点服务器。
8. 根据权利要求6所述的系统,其特征在于,所述系统还包括: 分配模块,用于根据所述链接请求中目标客户端所在网络地址分配所述目标客户端对 应的节点服务器; 连接建立模块,用于分别建立中央数据交互服务器与两个节点服务器之间的长连接以 及所述目标客户端对应的节点服务器与目标客户端之间的长连接; 数据传输模块,用于通过所述中央数据交互服务器、目标客户端对应的节点服务器以 及建立的长连接将所述发布的数据传输至所述目标客户端。
9. 根据权利要求8所述的系统,其特征在于,所述数据传输模块包括: 转发单元,运行于所述中央数据交互服务器中,用于通过所述中央数据交互服务器与 目标客户端对应的节点服务器之间的长连接将发布至所述节点服务器的数据由所述中央 数据交互服务器传输至所述目标客户端对应的节点服务器; 数据发送单元,运行于所述目标客户端对应的节点服务器中,用于通过所述目标客户 端对应的节点服务器与目标客户端之间的长连接将传输至所述目标客户端对应的节点服 务器的数据发送至目标客户端。
10. 根据权利要求8所述的系统,其特征在于,所述分配模块包括: 目标地址提取单元,用于从所述链接请求提取目标客户端所在网络地址; 服务器分配单元,用于根据所述目标客户端所在网络地址进行域名解析以为目标客户 端分配对应的节点服务器。
【文档编号】H04L29/06GK104092682SQ201410317639
【公开日】2014年10月8日 申请日期:2014年7月4日 优先权日:2014年7月4日
【发明者】张朝裕, 龙付成, 段雪峰 申请人:深圳深讯和科技有限公司