用于数据传输的方法和装置制造方法及图纸

技术编号:25486495 阅读:21 留言:0更新日期:2020-09-01 23:05
本申请实施例公开了用于数据传输的方法和装置。具体实现方案为:接收对端设备发送的消息;对消息进行解析得到消息头;响应于确定出消息头的预设字节位的字符与预设字符匹配,与对端设备建立长连接。该实施方式提高了数据传输的效率。

【技术实现步骤摘要】
用于数据传输的方法和装置
本申请实施例涉及计算机
,尤其涉及数据传输

技术介绍
通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通信协议定义了数据单元使用的格式、信息单元应该包含的信息与含义、连接方式、信息发送和接收的时序等,从而确保网络中数据顺利地传送到确定的地方。目前最常见的通用应用层协议是HTTP(HyperTextTransferProtocol,超文本传输协议),它提供了较为丰富的功能,适合浏览器/服务器模式的场景,但是HTTP不能原生支持长连接。
技术实现思路
本申请实施例提出了用于数据传输的方法、装置、设备以及存储介质。第一方面,本申请的一些实施例提供了一种用于数据传输的方法,该方法包括:接收对端设备发送的消息;对消息进行解析得到消息头;响应于确定出消息头的预设字节位的字符与预设字符匹配,与对端设备建立长连接。第二方面,本申请的一些实施例提供了一种用于数据传输的装置,该装置包括:接收单元,被配置成接收对端设备发送的消息;解析单元,被配置成对消息进行解析得到消息头;建立单元,被配置成响应于确定出消息头的预设字节位的字符与预设字符匹配,与对端设备建立长连接。第三方面,本申请的一些实施例提供了一种设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得上述一个或多个处理器实现如第一方面上述的方法。第四方面,本申请的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面上述的方法。根据本申请的技术,提高了数据传输的效率。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是本申请的一些可以应用于其中的示例性系统架构图;图2是根据本申请第一实施例的示意图;图3是根据本申请实施例的一个应用场景的示意图;图4是根据本申请第二实施例的示意图;图5是根据本申请第三实施例的示意图;图6是适于用来实现本申请实施例的用于数据传输的方法的电子设备的结构示意图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的用于数据传输的方法或用于数据传输的装置的实施例的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如新闻资讯类应用、社交类应用、搜索类应用等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上安装的应用提供支持的后台服务器,服务器105可以接收对端设备发送的消息;对消息进行解析得到消息头;响应于确定出消息头的预设字节位的字符与预设字符匹配,与对端设备建立长连接。需要说明的是,本申请实施例所提供的用于数据传输的方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应地,用于数据传输的装置可以设置于服务器105中,也可以设置于终端设备101、102、103中。需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。继续参考图2,示出了根据本申请的用于数据传输的方法的一个实施例的流程200。该用于数据传输的方法,包括以下步骤:步骤201,接收对端设备发送的消息。在本实施例中,用于数据传输的方法执行主体(例如图1所示的服务器或终端)可以接收对端设备发送的消息。对端设备可以包括各种服务器或终端。实践中,与不同的电子设备进行通信,通常需要依赖不同的通信协议,通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。通信协议定义了数据单元使用的格式、信息单元应该包含的信息与含义、连接方式、信息发送和接收的时序等,从而确保网络中数据顺利地传送到确定的地方。步骤202,对消息进行解析得到消息头。在本实施例中,上述执行主体可以对步骤201中得到的消息进行解析得到消息头。通常,两个设备进行交互,所传输的有效字节流可以称为正文(Payload)。在传输前,数据发送端需要按照通信协议的格式对正文加上消息头(Header),形成待传输的消息。对于不同的通信协议,消息头的构成和定义通常是不同的。传输不同类别的数据,正文的构成通常是不同的。上述执行主体可以依据与对端设备的预先约定的应用层通信协议对消息进行解析得到消息头。步骤203,响应于确定出消息头的预设字节位的字符与预设字符匹配,与对端设备建立长连接。在本实施例中,上述执行主体可以响应于确定出步骤202中解析出的消息头的预设字节位的字符与预设字符匹配,与对端设备建立长连接。预设字节位可以包括消息头中的某一位或某几位,在本实施例的一些可选实现方式中,预设字节位包括首字节,相比于使用消息头中的多位字符确定是否建立长连接,仅依据首字节进行匹配从而确定是否建立长连接,进一步精简了消息头的内容,从而降低了带宽需求,提高了传输的效率。在这里,预设字符可以根据实际需要进行选择,例如,可以选择符号“$”或其他符号。与预设字符匹配可以包括与预设字符相同,或与预设字符存在其他预设的匹配关系。长连接指在一个连接上可以连续发送多个数据包,长连接的关闭方式可本文档来自技高网...

【技术保护点】
1.一种用于数据传输的方法,包括:/n接收对端设备发送的消息;/n对所述消息进行解析得到消息头;/n响应于确定出所述消息头的预设字节位的字符与预设字符匹配,与所述对端设备建立长连接。/n

【技术特征摘要】
1.一种用于数据传输的方法,包括:
接收对端设备发送的消息;
对所述消息进行解析得到消息头;
响应于确定出所述消息头的预设字节位的字符与预设字符匹配,与所述对端设备建立长连接。


2.根据权利要求1所述的方法,其中,所述方法还包括:
根据所述消息头的预设字节位的字符,以及预先设置的字符与合法的正文类型的对应关系确定合法的正文类型;
响应于确定出所述消息的正文与所述合法的正文类型匹配,对所述消息进行处理;
响应于确定出所述消息的正文与所述合法的正文类型不匹配,丢弃所述消息。


3.根据权利要求2所述的方法,其中,所述根据所述消息头的预设字节位的字符,以及预先设置的字符与合法的正文类型的对应关系确定合法的正文类型之后,所述方法还包括:
将有限状态自动机由初始态跳转到接收所述合法的正文类型的数据的状态。


4.根据权利要求3所述的方法,其中,所述将有限状态自动机由初始态跳转到接收所述合法的正文类型的数据的状态之后,所述方法还包括:
根据所述消息的正文中的各个字节,依次确定所述有限状态自动机的状态,直到确定出所述有限状态自动机跳转到不合法状态或终止态。


5.根据权利要求1-4中任一项所述的方法,其中,所述预设字节位包括首字节。


6.一种用于数据传输的装置,包括:
接收单元,被配置成接收对端设备发送的消息;
解析单元,被配置成对所述消息进行解析得到消息头;
建立单元,被配置成响应于确定出所述预设字节位的字符...

【专利技术属性】
技术研发人员:焦煦然
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1