跨平台即时通讯方法、装置、计算机设备以及存储介质与流程

文档序号:20347023发布日期:2020-04-10 22:42阅读:205来源:国知局
跨平台即时通讯方法、装置、计算机设备以及存储介质与流程

本发明涉及计算机技术的技术领域,尤其是涉及一种跨平台即时通讯方法、装置、计算机设备以及存储介质。



背景技术:

目前,即时通信软件(im)是随着互联网的出现而兴起的新型通信手段,已经成为继电话、电子邮件之后的第三种现代通信方式。常规的即时通讯软件分为两类:个人即时通讯和企业即时通讯。其中,个人即时通讯,目标是以个人生活沟通为主;企业即时通讯,主要目标是以企业内部办公为主,建立员工交流平台。本文主要讨论技术通讯技术在企业角度的应用。企业即时通信软件作为一种低成本的、集成多种沟通方式(如即时消息、视音频,文件传输)为企业进行内外联系、提高工作效率、降低沟通成本、拓展商业机会等方面发挥了巨大的作用。

现有的许多企业的工作人员,利用企业qq、钉钉、企业微信等即时通信软件,进行业务沟通与交流,但是由于qq、msn、微信等即时通信软件是处于开放网络环境下一种公共服务,主流软件通常收费极其昂贵,每年的费用对企业来说是一笔沉重的开支,并且软件部署在第三方服务器上,遇到故障需要维护时不能及时修复。



技术实现要素:

本发明的目的是提供一种降低对第三方平台的依赖程度,节约开发成本,提升故障修复效率的跨平台即时通讯方法、装置、计算机设备以及存储介质。

本发明的上述发明目的一是通过以下技术方案得以实现的:

一种跨平台即时通讯方法,所述跨平台即时通讯方法包括:

s10:若获取到用户触发的通讯请求,则从所述通讯请求中获取通讯内容数据和待发送对象信息;

s20:通过预设的通信协议,将所述通讯内容数据传输至防火墙进行安全性认证;

s30:在经过所述防火墙的安全性认证后,将所述通讯内容数据发送至所述待发送对象;

s40:获取通讯记录数据,将所述通讯记录数据存储至预设的数据库中。

通过采用上述技术方案,通过自定义设置的通信协议,搭建该通讯的平台,通过该通讯的平台触发该通讯请求,能够基于该通信协议进行网络通信,同时,由于该通信协议以及防火墙均为预先设置好的,可以减少对第三方平台的依赖,由于减少了对第三方平台的依赖,便于部署与实际应用相符合的安全策略,有助于提升安全;降低依赖第三方平台的服务,能够为企业节约了大量的开支,一旦遇到故障时,无需联系第三方平台进行修复,提升了维护的成本和效率。

本发明进一步设置为:在步骤s10之前,所述跨平台即时通讯方法还包括:

s11:获取oa数据;

s12:从所述oa数据中获取办公业务信息,并将所述办公业务信息作为待匹配功能数据集。

通过采用上述技术方案,通过集成oa系统中的oa数据,以及根据该oa数据中的办公业务信息作为待匹配功能数据集,进而丰富通讯系统的功能,提升使用者的在使用时的便利性。

本发明进一步设置为:步骤s30包括:

s31:对所述通讯内容的安全认证通过后,调取打洞机制端口;

s32:通过所述打洞机制端口将所述通讯内容数据发送至所述待发送对象。

通过采用上述技术方案,通过打洞机制,能够在nat防火墙中,同时能够保证通信的安全性,也能够避免由于nat防火墙阻碍了用户之间的正常通信。

本发明进一步设置为:在步骤s30之后,所述自定义及时通讯方法还包括:

s301:按照预设的时间周期,向所述待发送对象发送心跳检测包;

s302:若超过所述时间周期未能获取到所述待发送对象反馈的心跳响应包,则根据所述待发送对象触发重连请求。

通过采用上述技术方案,通过心跳机制,按照预定的时间周期,定时向用户发送该心跳检测包,能够及时检测出用户是否在线,同时,向为及时反馈心跳响应包的用户发发送该重连请求,能够有助于用户及时上线,进而保证正常的通信。

本发明的上述发明目的二是通过以下技术方案得以实现的:

一种跨平台即时通讯装置,所述跨平台即时通讯装置包括:

请求获取模块,用于若获取到用户触发的通讯请求,则从所述通讯请求中获取通讯内容数据和待发送对象信息;

安全认证模块,用于通过预设的通信协议,将所述通讯内容数据传输至防火墙进行安全性认证;

发送模块,用于在经过所述防火墙的安全性认证后,将所述通讯内容数据发送至所述待发送对象;

存储模块,用于获取通讯记录数据,将所述通讯记录数据存储至预设的数据库中。

通过采用上述技术方案,通过自定义设置的通信协议,搭建该通讯的平台,通过该通讯的平台触发该通讯请求,能够基于该通信协议进行网络通信,同时,由于该通信协议以及防火墙均为预先设置好的,可以减少对第三方平台的依赖,由于减少了对第三方平台的依赖,便于部署与实际应用相符合的安全策略,有助于提升安全;降低依赖第三方平台的服务,能够为企业节约了大量的开支,一旦遇到故障时,无需联系第三方平台进行修复,提升了维护的成本和效率。

本发明的上述发明目的三是通过以下技术方案得以实现的:

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述跨平台即时通讯方法的步骤。

本发明的上述发明目的四是通过以下技术方案得以实现的:

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述跨平台即时通讯方法的步骤。

综上所述,本发明的有益技术效果为:

1.通过自定义设置的通信协议,搭建该通讯的平台,通过该通讯的平台触发该通讯请求,能够基于该通信协议进行网络通信,同时,由于该通信协议以及防火墙均为预先设置好的,可以减少对第三方平台的依赖,由于减少了对第三方平台的依赖,便于部署与实际应用相符合的安全策略,有助于提升安全;

2.降低依赖第三方平台的服务,能够为企业节约了大量的开支,一旦遇到故障时,无需联系第三方平台进行修复,提升了维护的成本和效率。

附图说明

图1是本发明一实施例中跨平台即时通讯方法的一流程图;

图2是本发明一实施例中跨平台即时通讯方法中的另一流程图;

图3是本发明一实施例中跨平台即时通讯方法中步骤s30的实现流程图;

图4是本发明一实施例中跨平台即时通讯方法中的另一流程图;

图5是本发明一实施例中跨平台即时通讯装置的一原理框图;

图6是本发明一实施例中计算机设备的一示意图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

实施例一:

在一实施例中,如图1所示,本发明公开了一种跨平台即时通讯方法,具体包括如下步骤:

s10:若获取到用户触发的通讯请求,则从通讯请求中获取通讯内容数据和待发送对象信息。

在本实施例中,通讯请求是指由用户在客户端触发,请求进行通讯的消息。该通讯的方式可以是文字、视频、语音聊天或者视频聊天等方式。通讯内容是指具体的通讯的内容。待发送对象是触发该通讯请求中,将通讯内容数据发送的对象。

具体地,在获取到用户在客户端上触发的该通讯请求后,从该通讯请求中获取具体的通讯内容数据以及接收该通讯内容数据的待发送对象信息。

s20:通过预设的通信协议,将通讯内容数据传输至防火墙进行安全性认证。

具体地,通过预先设置该通信协议,网络通讯协议选择基于udp的rudp(reliableuserdata-gramprotocol)通信协议,此协议可以发挥udp轻量高效的特点,同时也利用tcp的思想来保证数据传输的可靠性。要想提高udp协议的可靠性与安全性,就必须增加差错处理、拥塞控制和安全控制等机制.通过增加差错处理机制,使得数据包在传输过程中出错或者丢失后能马上检测出来并被迅速地纠正或重传。网络环境会随数据流的改变而改变,当数据流过大时很容易引起网络拥塞,则此时必须引人拥塞控制机制来提高网络的使用率和数据传输的可靠性。如果数据包在传输过程中被篡改后再转发到目的地址。就有可能会被误认为是正确的数据,所以应该有相应的安全机制来防止此类情况发生。

优选地,还可以选择xmpp作为该通信协议,xmpp(extensiblemessagingandpresenceprotocol,可扩展通讯和表示协议),是一个基于xml的协议,主要用于即时消息以及在线现场探测。其优点是协议成熟,强大,可扩展性强,基于xml语言,可读性好,在各个端(包括服务器)有各种语言的实现,开发者接入方便,目前主要应用于许多聊天系统中,且已有开源的java版的开发实例androidpn。但缺点是协议较复杂,冗余(基于xml),流量和电量消耗不容小觑,部署硬件成本高,xml解析代价高。

或者,sip(sessioninitiationprotocol,会话初始协议),是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话,多用于voip(voiceoverinternetprotocol)相关的模块。优点:sip电话基于现在的因特网系统,接入方便、覆盖面广,需要的设备也非常简单;ip电信业能够提供多样化的通信服务,如:电话到电话、电脑到电话、传真到传真等。sip是一种ip电信业务,应用方式灵活,功能丰富;voip的通话质量比较好。传统语音通话采用的是模拟信号技术,模拟信号容易受到干扰,且传统电话一般采用的是高失真压缩技术,很难避免信号失真,而voip采用的是数字传输技术,在网络上传输的是包含语音信息的数据包,可以进行低失真压缩,这些数据包只要被对方收到并按约定的规则还原为语音信号,失真度一般都比较小。

进一步地,将该通讯内容通过通信协议中的防火墙进行安全性认证。

s30:在经过防火墙的安全性认证后,将通讯内容数据发送至待发送对象。

具体地,在经过防火墙的安全性认证后,将通讯内容数据发送至待发送对象。

s40:获取通讯记录数据,将通讯记录数据存储至预设的数据库中。

在本实施例中,通讯记录数据是指用户与待发送对象之间的对话的记录。

具体地,在首次将该通讯内容数据根据待发送对象信息发送至对应的客户端后,将该用户与待发送对象信息之间的通讯记录存储至预设的数据库中。

在本实施例中,通过自定义设置的通信协议,搭建该通讯的平台,通过该通讯的平台触发该通讯请求,能够基于该通信协议进行网络通信,同时,由于该通信协议以及防火墙均为预先设置好的,可以减少对第三方平台的依赖,由于减少了对第三方平台的依赖,便于部署与实际应用相符合的安全策略,有助于提升安全;降低依赖第三方平台的服务,能够为企业节约了大量的开支,一旦遇到故障时,无需联系第三方平台进行修复,提升了维护的成本和效率。

在一实施例中,如图2所示,在步骤s10之前,跨平台即时通讯方法还包括:

s11:获取oa数据。

在本实施例中,oa数据是指企业的自动办公系统,即oa系统中的数据。

具体地,根据oa系统中的功能模块,例如考勤打卡、人事报表、绩效考评、薪资福利以及目标绩效等功能模块,将每一功能模块对应的数据组成该oa数据。

s12:从oa数据中获取办公业务信息,并将办公业务信息作为待匹配功能数据集。

在本实施例中,办公业务信息是指oa系统中,每一功能模块的信息,以及属于该oa系统中的人员的通讯信息。

具体地,根据不同的办公业务信息,将对应的数据作为该待匹配功能数据,使得能够该根据需求匹配出对应的oa数据。

在一实施例中,如图3所示,在步骤s30中,即在经过防火墙的安全性认证后,将通讯内容数据发送至待发送对象,具体包括如下步骤:

s31:对通讯内容的安全认证通过后,调取打洞机制端口。

在本实施例中,打洞机制端口是指用于在nat中进行打洞操作的端口。

具体地,使用nat机制作为防火墙在现实的网络中十分普遍,在企业和学校局域网中的计算机可以通过nat服务器共享一个ip连接国际互联网,即使在家庭用户中,设置nat防火墙也可以保护,提高个人计算机的安全性。但是对于即时通讯的服务来说,在很多的情况下,尤其是在客户端点对点的通讯时,nat防火墙将阻碍通信的正常进行,因此即时通讯服务器要在客户端点对点通讯时给客户端提供支持,使其通信能够正常进行,为此采用nat的“打洞”机制,完成对nat穿透,使得经过安全认证的通讯内容能够经过该通讯协议进行通讯。

s32:通过打洞机制端口将通讯内容数据发送至待发送对象。

具体地,在经过打洞机制完成对nat穿透后,将通讯内容数据发送至待发送对象。

在一实施例中,如图4所示,在步骤s30之后自定义及时通讯方法还包括:

s301:按照预设的时间周期,向待发送对象发送心跳检测包。

在本实施例中,心跳检测包是指用于检测通讯的对象是否在线的数据包。

具体地,按照预设的时间周期,例如一分钟、三分钟或者五分钟等,向该待发送对象发送心跳检测包,同时,也可以同时向触发该通讯请求的用户发送该心跳检测包。

s302:若超过时间周期未能获取到待发送对象反馈的心跳响应包,则根据待发送对象触发重连请求。

具体地,若超过时间周期未能获取到待发送对象反馈的心跳响应包,则认定该用户为离线状态,则向该待发送对象触发重连请求,并向该离线状态的好友列表显示该待发送对象为离线状态。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例二:

在一实施例中,提供一种跨平台即时通讯装置,该跨平台即时通讯装置与上述实施例中跨平台即时通讯方法一一对应。如图5所示,该跨平台即时通讯装置包括请求获取模块10、安全认证模块20、发送模块30和存储模块40。各功能模块详细说明如下:

请求获取模块10,用于若获取到用户触发的通讯请求,则从通讯请求中获取通讯内容数据和待发送对象信息;

安全认证模块20,用于通过预设的通信协议,将通讯内容数据传输至防火墙进行安全性认证;

发送模块30,用于在经过防火墙的安全性认证后,将通讯内容数据发送至待发送对象;

存储模块40,用于获取通讯记录数据,将通讯记录数据存储至预设的数据库中。

优选地,跨平台即时通讯装置还包括:

oa数据获取模块11,用于获取oa数据;

oa功能集成模块12,用于从oa数据中获取办公业务信息,并将办公业务信息作为待匹配功能数据集。

优选地,发送模块30包括:

打洞子模块31,用于对通讯内容的安全认证通过后,调取打洞机制端口;

发送子模块32,用于通过打洞机制端口将通讯内容数据发送至待发送对象。

优选地,跨平台即时通讯装置还包括:

心跳检测模块301,用于按照预设的时间周期,向待发送对象发送心跳检测包;

重连模块302,用于若超过时间周期未能获取到待发送对象反馈的心跳响应包,则根据待发送对象触发重连请求。

关于跨平台即时通讯装置的具体限定可以参见上文中对于跨平台即时通讯方法的限定,在此不再赘述。上述跨平台即时通讯装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

实施例三:

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储通讯记录数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种跨平台即时通讯方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

s10:若获取到用户触发的通讯请求,则从通讯请求中获取通讯内容数据和待发送对象信息;

s20:通过预设的通信协议,将通讯内容数据传输至防火墙进行安全性认证;

s30:在经过防火墙的安全性认证后,将通讯内容数据发送至待发送对象;

s40:获取通讯记录数据,将通讯记录数据存储至预设的数据库中。

实施例四:

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

s10:若获取到用户触发的通讯请求,则从通讯请求中获取通讯内容数据和待发送对象信息;

s20:通过预设的通信协议,将通讯内容数据传输至防火墙进行安全性认证;

s30:在经过防火墙的安全性认证后,将通讯内容数据发送至待发送对象;

s40:获取通讯记录数据,将通讯记录数据存储至预设的数据库中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1