本公开涉及跨平台数据分享,特别涉及网约车领域的跨平台司乘同显。
背景技术:
目前的网约车平台中,各家自有app都已经具备司乘同显的能力,但是越来越多的网约车平台开始接入第三方服务聚合平台以提高订单量,扩大影响力与收益,接入后,由于原有技术限制,服务聚合平台无法实现实时的司乘同显。这对于司乘体验来说是一个极大的损害。
技术实现要素:
本公开要解决的一个技术问题是提供一种跨平台司乘同显方法和系统,使得在网约车平台接入服务聚合平台后,网约车平台与服务聚合平台均具备实时的司乘同显能力,提升了用户体验。
根据本公开的第一个方面,提供了一种跨平台司乘同显方法,包括:对来自网约车平台的基于网约车平台私有协议的第一司乘同显数据进行解析,以得到与网约车平台对接的服务聚合平台能够识别的第二司乘同显数据;以及将第二司乘同显数据推送到服务聚合平台服务器,以便由服务聚合平台服务器下发到服务聚合平台客户端。
由此,即可使得在网约车平台接入服务聚合平台后,网约车平台与服务聚合平台均具备司乘同显能力。
可选地,该跨平台司乘同显方法还可以包括:从服务聚合平台服务器拉取来自服务聚合平台客户端的第三数据;以及对第三数据进行处理,以得到基于网约车平台私有协议的第四数据。
由此,即可基于特定的网约车平台的私有协议保障第三数据的安全性和正确性。
可选地,第一司乘同显数据可以是对应于所述服务聚合平台客户端和所述网约车平台的司机端的司乘同显数据。
可选地,第一司乘同显数据可以是基于公共协议的数据。
可选地,网约车平台可以与多个服务聚合平台对接。
可选地,网约车平台服务器可以采用blink实时流方式进行司乘同显数据处理,对司机位置信息进行实时处理,实时存储到hbase中。
由此,基于blink实时流方式,能够对司乘同显数据进行快速处理,以期对司机位置信息进行实时更新。
可选地,网约车平台服务器可以通过长链接与网约车平台司机端通信,以获取司机侧数据;网约车平台服务器也可以通过长链接与网约车平台乘客端或服务聚合平台服务器通信,以下发司乘同显数据。
由此,网约车平台服务器与网约车平台司机端、网约车平台乘客端和/或服务聚合平台服务器通过长链接的通信方式,以减少通信时,建立连接和关闭连接的次数,节省时间,以期对数据进行实时传输。
可选地,网约车平台服务器可以通过分布式网关与网约车平台司机端建立短链接;网约车平台服务器也可以通过分布式网关与网约车平台乘客端或服务聚合平台服务器建立短链接,其中,当长链接不可用时,自动降级到短链接。
根据本公开的第二个方面,提供了一种跨平台司乘同显系统,包括:协议处理模块,对来自网约车平台的基于网约车平台私有协议的第一司乘同显数据进行解析,以得到与网约车平台对接的服务聚合平台能够识别的第二司乘同显数据;以及数据推送模块,将第二司乘同显数据推送到服务聚合平台服务器,以便由服务聚合平台服务器下发到服务聚合平台客户端。
可选地,该系统还可以包括:数据拉取模块,从服务聚合平台服务器拉取来自服务聚合平台客户端的第三数据,其中,所述协议处理模块对第三数据进行处理,以得到基于网约车平台私有协议的第四数据。
可选地,该系统还可以包括:网约车平台服务器,采用blink实时流方式进行司乘同显数据处理,对司机位置信息进行实时处理,实时存储到hbase中。其中,网约车平台服务器可以通过长链接与网约车平台司机端通信,以获取司机侧数据;也可以通过长链接与网约车平台乘客端或服务聚合平台服务器通信,以下发司乘同显数据。
其中,网约车平台服务器可以通过分布式网关与网约车平台司机端建立短链接;网约车平台服务器还可以通过分布式网关与网约车平台乘客端或服务聚合平台服务器建立短链接,其中,当长链接不可用时,自动降级到短链接。
其中,网约车平台服务器还可以通过分布式网关以短链接方式从网约车平台乘客端或服务聚合平台服务器拉取乘客侧数据。
根据本公开的第三个方面,提供了一种跨平台数据交换方法,包括:对来自第一平台的基于第一平台私有协议的第一数据进行解析,以得到第二平台能够识别的第二数据;以及将第二数据推送到第二平台服务器,以便由第二平台服务器下发到第二平台客户端。
可选地,该跨平台数据交换方法还可以包括:从第二平台服务器拉取来自第二平台客户端的第三数据;对第三数据进行处理,以得到基于第一平台私有协议的第四数据。
根据本公开的第四个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面所述的方法。
根据本公开的第五个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面所述的方法。
由此,提供一种跨平台司乘同显方法和系统,使得在网约车平台接入服务聚合平台后,网约车平台与服务聚合平台均具备实时的司乘同显能力,提升了用户体验。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,使本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示意性地示出了根据本公开的一个实施例的司乘同显系统的结构示意图。
图2示意性地示出了网约车平台服务器与司机端、乘客端以及服务聚合平台服务器之间的通信连接方式。
图3示出了根据本发明一实施例的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示意性地示出了根据本公开的一个实施例的司乘同显系统的结构示意图。
如图1所示,根据本公开一实施例的司乘同显系统100可以包括协议处理模块110和数据推送模块120。
“司乘同显”是指在网约车订单的全生命周期实现司机端-乘客端同步展示未来行驶路径信息、剩余里程等信息,乘客可以时刻知晓所处司机所处位置、车辆的行驶路径等行程信息。
协议处理模块110可以对来自网约车平台的基于网约车平台私有协议的第一司乘同显数据进行解析,以得到与网约车平台对接的服务聚合平台能够识别的第二司乘同显数据。
第一司乘同显数据可以是对应于所述服务聚合平台客户端和所述网约车平台的司机端的司乘同显数据。
第二司乘同显数据可以是基于公共协议的数据。
本领域技术人员应该可以理解,协议处理模块可以将基于私有协议传输的数据解析为基于公共协议传输的数据;也可以将基于公共协议传输的数据解析为基于私有协议传输的数据。
“网约车平台”指拥有网约车资质与网约车牌照的服务提供商。
“服务聚合平台”指其自身未开通网约车业务,但是借助于外部接口,通过对接网约车服务提供商来给用户提供网约车功能的平台。
网络聚合平台和网约车平台传输数据所使用协议一般不同,没有统一的数据传输协议,这使得在双方在传输数据时延时较长,因而,在服务聚合平台上,无法实现司乘同显。
现有网约服务提供商并不能使得服务聚合平台具备司乘同显的能力,这给服务聚合平台用户带来了用户体验较差的问题。因此,本公开设置协议处理模块用以建立网约车平台与服务聚合平台对接实现司乘同显的通道。
数据推送模块120可以将第二司乘同显数据推送到服务聚合平台服务器,以便由服务聚合平台服务器下发到服务聚合平台客户端。这里,数据推送模块120可以通过将基于公共协议传输的数据实时转换为以服务聚合平台服务器兼容的数据传输协议传输的数据,进而实现将数据实时推送到服务聚合平台服务器。
根据本公开的一个实施例的司乘同显系统100还可以包括数据拉取模块130,数据拉取模块130可以从服务聚合平台服务器拉取来自服务聚合平台客户端的第三数据。数据拉取模块130可以提供通用开放平台格式的数据,并且该数据可以包含特定的传输协议以保证数据的正确性。
协议处理模块110还可以对第三数据进行处理,以得到基于网约车平台私有协议的第四数据。
如图1所示,根据本公开的一个实施例的司乘同显系统还可以包括网约车平台服务器140,该服务器可以用于执行实现司乘同显服务所需的通信和对数据的处理。
根据本公开的一个实施例中,上述网约车平台可以与多个服务聚合平台对接,使得网约车平台所对接的多个服务聚合平台均能实现司乘同显,在一定程度上避免资源的浪费。
图2示意性地示出了网约车平台服务器与司机端、乘客端以及服务聚合平台服务器之间的通信连接方式。
如图2所示,网约车平台服务器可以采用blink实时流方式进行司乘同显数据处理,例如,可以对司机位置信息进行实时处理,并实时存储到hbase中。
在网约车场景中,在平台实时使用用户数量众多的情况下,必然存在大量需要处理的司乘同显数据。此外,网约车平台的数据在时间上的要求非常严格,数据的价值会随着时间流逝而逐渐降低。
“blink”是一种实时流式的计算引擎,blink可以实时、在线处理海量数据。它作为一种较为完善的实时流式计算引擎,不仅有强大的实时计算能力,还能够通过异步方式,使得该方法在i/o密集型计算节点的性能大幅提升,具有低延迟、高可靠、高性能的特点。例如,在网约车平台中,司机、乘客的位置数据及状态数据等都需要实时更新,并且网约车平台在特定场景下,例如,考虑到路况等因素重新规划路线等因素,可以通过blink实时流方式对数据进行处理,可以使得延时时间大为缩短。
“hbase”是一种可提供高可靠性、高性能、实时读写的数据库系统。本公开采用blink实时流方式进行数据处理,将处理后数据存储至可实时读写hbase数据库,这样,网约车平台服务器的计算能力和存储能力都会得到大幅度提升。
根据本公开的一个实施例中,网约车平台服务器可以通过长链接与网约车平台司机端通信,以获取司机侧数据;并且/或者网约车平台服务器也可以通过长链接与网约车平台乘客端或服务聚合平台服务器通信,以下发司乘同显数据。
这里,可以采用基于netty的长链接+自由协议进行跨平台数据传输,在使用长链接时,当一个网页打开完成后,客户端和服务器之间用于传输http数据的tcp连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。
在网约车场景下,要实现司乘同显,司机端、乘客端需要频繁向服务器请求资源,使用长链接可以减少建立连接和断开连接的次数,减少延时,提高数据的传输速度和处理速度,以期实现跨平台的实时司乘同显。
根据本公开的一个实施例中,网约车平台服务器可以通过分布式网关与网约车平台司机端建立短链接。或者,网约车平台服务器也可以通过分布式网关与网约车平台乘客端或服务聚合平台服务器建立短链接。当长链接不可用时,自动降级到短链接。
当网约车平台的司机端、网约车平台乘客端或服务聚合平台服务器与网约车平台服务器的连接越来越多时,或者四者中任一方或多方处于弱网环境下,过多的长链接会造成网约车平台服务器端服务受损,进而使得长链接不可用,通信连接质量不佳或者断开,这无疑会影响司乘同显的能力。
这时,网约车平台服务器可以自动通过分布式网关与网约车平台司机端、网约车平台乘客端或服务聚合平台服务器建立短链接,恢复通信,减少等待时间。
这里,可以采用去中心化的分布式网关,分布式网关自动化配置速度快、扩展性能好,可达到微服务配置自动化,使得长链接不可用时自动建立短链接,在弱网环境下也不影响数据传输能力,能够实现司乘同显。
根据本公开的一个实施例中,网约车平台服务器可以通过分布式网关以短链接方式从网约车平台乘客端或服务聚合平台服务器拉取乘客侧数据。
网约车平台服务器在通过分布式网关与网约车平台乘客端或服务聚合平台服务器建立短链接后,可以通过分布式网关以短链接方式从网约车平台乘客端或服务聚合平台服务器拉取乘客侧数据。进而,在长链接不可用时,网约车平台乘客端或服务聚合平台服务器的乘客侧数据均可以被网约车平台服务器获取,为司乘同显提供稳定的数据流。
上面描述了本公开的发明构思在网约车领域司乘同显方面的应用。应当明白,本公开的发明构思还可以应用于其它领域的跨平台数据分享。
与上文所描述的跨平台司乘同显方法类似,在根据本公开的一个实施例的跨平台数据交换方法中,可以对来自第一平台的基于第一平台私有协议的第一数据进行解析。这里,可以对数据传输协议进行转换,例如,可以转换为基于公共协议。由此,可以得到第二平台能够识别的第二数据。
将第二数据推送到第二平台服务器。例如,可以将第二数据的数据传输协议转换为第二服务器兼容的数据传输协议,以便由第二平台服务器下发到第二平台客户端。
例如,这里的第一平台可以是用于实现某种特定业务(例如上文描述的网约车业务)的平台,而第一平台可以是服务聚合平台等具有大量用户的平台。第二平台可以为第一平台提供用户流量,第一平台可以为第二平台的用户提供特定业务服务。
由此,可以提供一种接口使得第一平台与第二平台不用自行转换数据传输协议。因而,无论是数据接收还是收据发送都更加方便,减轻了平台方的负担。
另外,还可以从第二平台服务器拉取来自第二平台客户端的第三数据。
对第三数据进行处理,例如,可以对第三数据的传输协议进行转换,转换为第一平台私有协议,从而可以得到基于第一平台私有协议的第四数据。
由此,保证拉取数据在传输过程中的安全性。
图3示出了根据本发明一实施例可用于实现上述跨平台司乘同显方法的计算设备的结构示意图。
参见图3,计算设备300包括存储器310和处理器320。
处理器320可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器320可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(gpu)、数字信号处理器(dsp)等等。在一些实施例中,处理器920可以使用定制的电路实现,例如特定用途集成电路(asic,applicationspecificintegratedcircuit)或者现场可编程逻辑门阵列(fpga,fieldprogrammablegatearrays)。
存储器310可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器320或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器310可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器310可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、minsd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器310上存储有可执行代码,当可执行代码被处理器320处理时,可以使处理器320执行上文述及的跨平台司乘同显方法。
上文中已经参考附图详细描述了根据本发明的跨平台司乘同显方法和系统。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。