掌桥专利:专业的专利平台
掌桥专利
首页

数据传输方法、数据包生成方法及电子设备

文献发布时间:2024-04-18 19:58:30


数据传输方法、数据包生成方法及电子设备

技术领域

本说明书一个或多个实施例涉及传输技术领域,尤其涉及一种数据传输方法、数据包生成方法及电子设备。

背景技术

通过将多个服务器或数据处理平台进行集成,使它们能够无缝地协同工作和交流数据,不同的服务器或数据处理平台之间可以共享数据、资源和功能,实现更高效的业务流程和系统集成。

相关技术存在一些服务端会对外开放其数据处理能力比如语音处理能力、图像处理能力或者文本处理能力等,以供其他设备调用。但是相关技术中存在一种数据协同处理过程,需要针对于客户端的数量与开放数据处理能力的服务端建立对应数量的通信通道来进行数据传输,即实现一对一连接过程,这种数据传输方式会造成网络开销较大且连接数量限制的问题。

发明内容

有鉴于此,本说明书一个或多个实施例提供一种数据传输方法、数据包生成方法、电子设备及计算机可读存储介质。

为实现上述目的,本说明书一个或多个实施例提供技术方案如下:

根据本说明书一个或多个实施例的第一方面,提出了一种数据传输方法,应用于第一服务端,至少一个所述第一服务端用于与多个数据采集端分别通信连接,以及与第二服务端建立至少一条通信通道;所述方法包括:

接收数据采集端发送的第一数据包;

在所述第一数据包中增加所述数据采集端的采集端标识,生成第二数据包;

将至少两个数据采集端的第二数据包,通过同一条通信通道发送给第二服务端,以使所述第二服务端对所述第二数据包进行处理并返回数据处理结果,所述数据处理结果携带有所述第二数据包中的采集端标识;

将所述第二服务端返回的数据处理结果,发送给所述数据处理结果携带的采集端标识指示的数据采集端。

根据本说明书一个或多个实施例的第二方面,提出了一种数据传输方法,应用于第二服务端,所述第二服务端用于与至少一个第一服务端建立至少一条通信通道,以及所述第一服务端还用于与多个数据采集端分别通信连接;所述方法包括:

接收第一服务端通过同一条通信通道发送的至少两个数据采集端的第二数据包;所述第二数据包是所述第一服务端在数据采集端发送的第一数据包中增加了数据采集端的采集端标识得到的;

对所述第二数据包进行处理,获取携带有所述第二数据包中的采集端标识的数据处理结果;

向所述第一服务端返回所述数据处理结果,以使得所述第一服务端将数据处理结果返回给所述采集端标识指示的数据采集端。

根据本说明书一个或多个实施例的第三方面,提出了一种数据传输方法,应用于数据采集端,多个所述数据采集端用于与第一服务端通信连接,所述第一服务端还用于与第二服务端建立至少一条通信通道;所述方法包括:

对采集到的数据流进行处理,生成至少一个第一数据包;

将所述第一数据包发送给所述第一服务端;所述第一数据包用于触发所述第一服务端在所述第一数据包中增加所述数据采集端的采集端标识,生成第二数据包,并将至少两个数据采集端的第二数据包,通过同一条通信通道发送给第二服务端,以使所述第二服务端对所述第二数据包进行处理并返回数据处理结果,所述数据处理结果携带有所述第二数据包中的采集端标识;

接收所述第一服务端返回的数据处理结果。

根据本说明书一个或多个实施例的第四方面,提出了一种数据包生成方法,包括:

接收数据采集端发送的第一数据包;

在所述第一数据包中增加所述数据采集端的采集端标识,生成第二数据包,以使得至少两个数据采集端的第二数据包能够通过同一条通信通道发送给数据处理端。

根据本公开实施例的第五方面,提供一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器执行所述可执行指令时,用于实现第一方面所述的方法。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开实施例中,通过在第一数据包中增加所述数据采集端的采集端标识得到第二数据包,实现了数据采集端之间的隔离,使得第一服务端可以将不同数据采集端的第二数据包通过同一条通信通道传输给第二服务端,实现通道复用,减少了网络开销,进而第二服务端可以对所述第二数据包进行处理并返回携带有所述第二数据包中的采集端标识的数据处理结果,使得第一服务端可以按照所述数据处理结果携带的采集端标识,准确将数据处理结果返回给对应的数据采集端,在降低网络开销的同时保证数据传输准确性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

图1是相关技术中的数据传输过程的示意图。

图2A是一示例性实施例提供的一种数据传输系统的示意图。

图2B是一示例性实施例提供的另一种数据传输系统的示意图。

图3是一示例性实施例提供的第一种第二数据包的示意图。

图4是一示例性实施例提供的第二种第二数据包的示意图。

图5是一示例性实施例提供的一种数据传输过程的示意图。

图6是一示例性实施例提供的第三种第二数据包的示意图。

图7A是一示例性实施例提供的第四种第二数据包的示意图。

图7B是一示例性实施例提供的第五种第二数据包的示意图。

图8是一示例性实施例提供的一种数据传输方法的流程示意图。

图9是一示例性实施例提供的另一种数据传输方法的流程示意图。

图10是一示例性实施例提供的又一种数据传输方法的流程示意图。

图11是一示例性实施例提供的一种数据包生成方法的流程示意图。

图12是一示例性实施例提供的一种电子设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

通过将多个服务器或数据处理平台进行集成,使它们能够无缝地协同工作和交流数据,不同的服务器或数据处理平台之间可以共享数据、资源和功能,实现更高效的业务流程和系统集成。

以云云对接举例,云云对接(Cloud-to-Cloud Integration)是指将多个云服务或云平台进行集成,使它们能够无缝地协同工作和交流数据。在云云对接中,可以将不同云服务或云平台中的数据进行连接和交换,或者可以将不同云服务或云平台中的业务流程进行整合和优化,以实现业务流程的协同和自动化,还可以对不同云服务或云平台进行监控和管理,但不限于此。

相关技术存在一些服务端会对外开放其数据处理能力比如语音处理能力、图像处理能力或者文本处理能力等,以供其他设备调用。其中,

语音处理能力包括但不限于(1)语音识别(ASR,Automatic SpeechRecognition):将语音信号转换为文本表示,实现语音到文本的转换。(2)语音合成(TTS,Text-To-Speech):将文本转换成语音信号,实现文本到语音的转换。(3)语音分类:将语音信号根据特定的属性或类别进行分类,例如说话人的性别、语种或情感等。(4)语音质量评测:对语音信号进行质量评估和分析,判断其音频质量的好坏,例如降噪、去混响等。(5)语音增强:改善语音信号的质量,以提高语音的清晰度和可理解性。(6)音频指纹识别、语音检索与唤醒等

图像处理能力包括但不限于:(1)图像识别:对图像中的对象、人物、文字等进行识别和分类,例如人脸识别、物体识别、场景识别等。(2)图像分类:将图像按照预定义的类别进行分类,例如将图像分为动物、自然风景、建筑物等类别。(3)图像压缩:通过去除冗余信息,减少图像数据的存储空间,例如使用JPEG、PNG等压缩算法。(4)图像匹配:在图像库或图像中快速找到与给定图像相似的图像,例如用于图像搜索或指纹识别。(5)图像描述:根据图像内容生成对图像的文字描述,例如自动生成图像标签或图像标题。(6)图像增强和复原:改善图像的质量、增强细节和对比度,例如去噪、去模糊、超分辨率重建等。(7)图像分割:将图像分成若干个区域或对象,例如用于目标检测、图像编辑或图像分析任务。(8)图像风格转换:将图像从一个风格转换到另一个风格,例如将油画风格转换为卡通风格。

文本处理能力包括但不限于:(1)文本分类:将文本按照预定义的类别进行分类,例如将文章分为新闻、体育、娱乐等类别。(2)文本识别:识别文本中包含的实体、关键词或语义信息,例如从新闻文章中提取出人物姓名、地点、组织机构等。(3)文本聚类:将文本数据根据相似度或内容特征进行聚类,可以帮助发现文本间的关系和模式。(4)情感分析:判断文本中所表达的情感倾向,例如判断一篇评论是正面的还是负面的。(5)关键词提取:从文本中提取出最具代表性或重要性的关键词,用于快速了解文本主题或生成摘要。(6)文本摘要:自动提取文本的核心内容或摘要,减少阅读量,节省时间。(7)语言翻译:将文本从一种语言翻译成另一种语言,实现跨语言沟通。(8)文本生成:基于给定的文本数据,生成新的文本段落、文章或故事。

但是相关技术中存在一种数据协同处理过程,需要针对于客户端的数量与开放数据处理能力的服务端建立对应数量的通信通道来进行数据传输,即实现一对一连接过程,这种数据传输方式的网络开销较大且服务端也存在连接上限。

在一种可能的应用场景中,请参阅图1,数据采集端与服务端A建立通信通道进行数据传输,进而该服务端A与另一个能够进行数据处理功能的服务端B建立通信通道以传输该数据采集端采集的数据流;即有n个数据采集端与服务端A通信连接,则服务端A需要与服务端B建立n条通信通道以实现分别传输各个数据采集端采集的数据,n为大于0的整数,这带来的网络开销比较大,而且受限于服务端B的连接资源限制,服务端B也存在连接数量的限制,导致服务端B无法服务更多的设备。

针对于相关技术中的问题,请参阅图2A和2B,本说明书实施例提供了一种数据传输系统,包括第二服务端30、至少一个第一服务端20和多个数据采集端10;其中,所述第一服务端20用于与多个数据采集端10分别通信连接,以及与第二服务端30建立至少一条通信通道。

图2A示例性示出了第二服务端30与1个第一服务端20建立一条通信通道。在其他的应用场景中,请参阅图2B,第二服务端30还可以与2个或2个以上的第一服务端20分别建立2条或2条以上的通信通道,本实施例对此不做任何限制;不同的第一服务端可以是不同的软件厂商维护的,也可以是由相同的软件产商维护的,本实施例对此不做任何限制。举个例子,软件产商A开发并维护有用户交互系统A,包括第一服务端A和多个客户端;软件产商B开发并维护有用户交互系统B,包括第一服务端B和多个客户端。用户交互系统A和用户交互系统B均有数据处理需求,而第二服务端对外开放其数据处理能力,则第一服务端A和第一服务端B可以通过调用第二服务端对外提供的接口以使用第二服务端提供的数据处理能力,具体在于第一服务端A和第一服务端B分别将从客户端接收到的数据包发送给第二服务端进行处理。

数据采集端10可以部署在具备数据采集装置的电子设备中,电子设备包括但不限于智能电话/手机、平板计算机、个人数字助理(PDA)、膝上计算机、台式计算机、媒体内容播放器、视频游戏站/系统、虚拟现实系统、增强现实系统、可穿戴式设备(例如,手表、眼镜、手套、头饰(例如,帽子头盔、虚拟现实头戴耳机、增强现实头戴耳机、头装式装置(HMD)、头带))或者任何其他类型的设备。

如在语音处理场景中,数据采集端10可以部署在具备麦克风或者拾音器的电子设备中。如在图像处理场景中,数据采集端10可以部署在具备成像装置的电子设备中。如在文本处理场景中,数据采集端10可以部署在具备输入装置的电子设备中。

第一服务端20可以是部署在云端服务器上的服务端,也可以是部署在专用于构建、分发、数据传输的服务器上的服务端。

第二服务端30可以是部署在云端服务器上的服务端,也可以是部署在专用于构建、分发、数据处理的服务器上的服务端。

任意一个数据采集端10用于对采集到的数据流进行处理,生成至少一个第一数据包。

示例性的,在语音处理场景中,数据流为语音数据流,第一数据包为第一语音数据包。在图像处理场景中,数据流为图像数据流,第一数据包为第一图像数据包。在文本处理场景中,数据流为文本数据流,第一数据包为第一文本数据包。

请参阅图3,任意一个第一服务端20用于接收数据采集端10发送的第一数据包;在所述第一数据包中增加所述数据采集端10的采集端标识,生成第二数据包;将至少两个数据采集端10的第二数据包,通过同一条通信通道发送给第二服务端30。

示例性的,在语音处理场景中,第二数据包为第二语音数据包。在图像处理场景中,第二数据包为第二图像数据包。在文本处理场景中,第二数据包为第二文本数据包。

所述第二服务端30用于接收第一服务端20通过同一条通信通道发送的至少两个数据采集端10的第二数据包,对所述第二数据包进行处理,获取携带有所述第二数据包中的采集端标识的数据处理结果;向所述第一服务端20返回所述数据处理结果。

任意一个第一服务端20还用于将第二服务端30返回的所述数据处理结果,发送给所述数据处理结果携带的采集端标识指示的数据采集端10。

本实施例中,通过在第一数据包中增加所述数据采集端10的采集端标识得到第二数据包,实现了数据采集端10之间的隔离,使得第一服务端20可以将不同数据采集端10的第二数据包通过同一条通信通道传输给第二服务端30,实现通道复用,减少了网络开销,进而第二服务端30可以对所述第二数据包进行处理并返回携带有所述第二数据包中的采集端标识的数据处理结果,使得第一服务端20可以按照所述数据处理结果携带的采集端标识,准确将数据处理结果返回给对应的数据采集端10,在降低网络开销的同时保证数据传输准确性。

在一些实施例中,可以提前对第二服务端30进行设置,使得第二服务端30支持通道复用功能,也即在第一服务端20通过同一条通信通道发送至少两个数据采集端10的第二数据包的情况下,第二服务端30具备相关的处理措施以保证数据的准确处理以及数据处理结果的准确返回。

示例性的,所述第一服务端20和所述第二服务端30之间的通信通道包括WebSocket通道,可以通过使用WebSocket的多路复用扩展协议以实现所述第二服务端30支持所述通道复用功能。举个例子,第一服务端20在握手的时候,在握手数据包的头部中加入“Sec-WebSocket-Extensions”此扩展属性。如果第二服务端30支持这个扩展并且校验通过某些信息,第二服务端30会接受使用这个扩展,并打开握手中的“Sec-WebSocket-Extensions”标头。

为了让第二服务端30确认第一服务端20是否想要使用通道复用功能,在与所述第二服务端30建立通信通道的过程中,第一服务端20可以向所述第二服务端30发送携带有目标关键字的连接请求,所述目标关键字用于指示所述第一服务端20请求使用通道复用功能,以通过同一条通信通道发送至少两个数据采集端10的第二数据包;所述第二服务端30在接收到携带有目标关键字的连接请求,确认第一服务端20想要使用通道复用功能,则可以通过本说明书实施例提供的方式来处理第二数据包并返回相关的数据处理结果。其中,目标关键字可以是第一服务端20通过其他方式获取的,本实施例对于具体的获取方式不做任何限制。

以通信通道为WebSocket通道举例,假设目标关键字为“mux”,第一服务端20在与第二服务端30握手的时候,可以在连接请求中增加“Sec-WebSocket-Extensions:mux”,第二服务端30收到该连接请求之后,对连接请求中的目标关键字校验通过,确认第一服务端20想要使用通道复用功能,则可以按照本说明书实施例提供的方式提供通道复用能力。

在一些实施例中,为了提高传输效率,任意一个数据采集端10发起的同一数据处理请求对应的数据流能够分成至少两个第一数据包发送给第一服务端20。示例性的,同一数据处理请求对应的所有第一数据包可以按顺序发送给第一服务端20。

示例性的,在语音处理场景中,以数据采集端10采集语音流为例,数据采集端10在采集用户的语音信号的过程中,如果检测到用户停顿的时长(也即没有采集到语音信号的时长)超过预设时长,则可以根据在用户停顿之前采集的语音信号生成一个数据处理请求,进而将该数据处理请求对应的语音流分成至少两个第一数据包发送给第一服务端20。

示例性的,在图像处理场景中,数据采集端10可以根据在预设时间段内采集的至少一帧图像生成一个数据处理请求,进而将该数据处理请求对应的至少一帧图像分成至少两个第一数据包发送给第一服务端20。

示例性的,请参阅图4,第一服务端20在接收到数据采集端10发送的第一数据包之后,除了在第一数据包中增加所述数据采集端10的采集端标识之外,还为同一数据处理请求对应的所有第一数据包增加相同的请求标识,生成所述数据处理请求对应的所有第二数据包。其中,通过同一条通信通道发送的属于不同数据处理请求的任意两个第二数据包携带的请求标识不同。第一服务端20可以将同一数据处理请求对应的所有第二数据包按顺序发送给第二服务端30。所述第二服务端30还用于根据接收到的第二数据包中的请求标识识别属于同一数据处理请求的所有第二数据包,然后将同一数据处理请求对应的所有第二数据包进行组合,并对组合得到的数据流进行处理,获取携带有所述第二数据包中的采集端标识的数据处理结果;最后向所述第一服务端20返回所述数据处理结果。则第一服务端20可以将第二服务端30返回的所述数据处理结果,发送给所述数据处理结果携带的采集端标识指示的数据采集端10。本实施例实现通过请求标识实现不同数据处理请求之间的数据隔离,保证了数据处理的准确性。

示例性的,所述请求标识包括数字;在同一通信通道中发送的不同数据处理请求对应的请求标识以数字递增的方式生成;可以在确定了某个数据处理请求对应的通信通道之后,可以以数字递增的方式生成该数据处理请求在该通信通道中的请求标识。

举个例子,请参阅图5,其中一个数据采集端10向第一服务端20发送属于同一个数据处理请求的3个第一数据包,分别为A1、A2和A3,且3个第一数据包是按顺序发送的;另一个数据采集端10向第一服务端20发送属于同一个数据处理请求的2个第一数据包,分别为B1和B2,且2个第一数据包是按顺序发送的。第一服务端20为属于同一数据处理请求的第一数据包B1和B2增加数据采集端10的采集端标识以及请求标识“1119”,生成第二数据包B1’和B2’,以及第一服务端20为属于同一数据处理请求的第一数据包A1、A2和A3增加数据采集端10的采集端标识以及请求标识“1120”,生成第二数据包A1’、A2’和A3’;进而第一服务端20将两个数据采集端10的第二数据包,通过同一条通信通道发送给第二服务端30;其中,同一数据处理请求对应的所有第二数据包按顺序发送。

可以理解的是,本说明书实施例对于不同数据采集端10的第二数据包通过哪一条通信通道进行发送,不做任何限制,可以依据实际应用场景进行具体设置。

在一种可能的实现方式中,假设第一服务端20和第二服务端30之间建立有两条或两条以上的通信通道,则第一服务端20在接收到数据采集端10发送的某个数据处理请求的第一数据包之后,可以从至少两条通信通道中随机确定一条目标通信通道,以数字递增的方式生成该数据处理请求在该目标通信通道中的请求标识,然后为该数据处理请求对应的所有第一数据包增加相同的请求标识和所述数据采集端10的采集端标识,生成所述数据处理请求对应的所有第二数据包。从而实现不同数据处理请求之间的数据隔离以及不同数据采集端10之间的数据隔离。

在另一种可能的实现方式中,在从至少两条通信通道中确定目标通信通道时,也可以按照至少两条通信通道的通道信息来选择目标通信通道。示例性的,通道信息包括但不限于通信通道的剩余带宽、或者传输速率等,可以选择剩余带宽最大或者传输速率最高的通信通道作为目标通信通道。

在又一种可能的实现方式中,可以预先确定每个数据采集端10对应的通信通道,则该数据采集端10发送的第一数据包均通过预先确定好的通信通道进行传输。

示例性的,考虑到在以数字递增的方式生成请求标识时,一方面数字越大则需要传输的数据量也越大,可能会造成通信通道数据传输的不稳定,另一方面数据包的大小是有限制的,分配用来存储请求标识的字节数也有限制。因此,可以预先设置一个通信通道允许的数字上限。在生成数据处理请求对应的请求标识的过程中,若生成的请求标识中的数字超过通信通道允许的数字上限,第一服务端20确定生成的请求标识无效,关闭所述通信通道并重新与第二服务端30建立新通信通道;然后在建立新通信通道之后,以数字递增的方式生成所述数据处理请求在所述新通信通道中的请求标识,并通过所述新通信通道传输所述数据处理请求对应的所有第二数据包。本实施例实现在请求标识中的数字超过通信通道允许的数字上限时关闭连接重新建立新通信通道,从而保证数据传输的稳定性。

可以理解的是,本说明书对于关闭所述通信通道和建立新通信通道的先后顺序不做任何限制。举个例子,考虑到第二服务端需要将数据处理结果通过原通信通道返回给第一服务端,在确定生成的请求标识中的数字超过通信通道允许的数字上限的时候,如果之前通过该通信通道发送的数据包的数据处理结果还未返回,则第一服务端可以先与第二服务端30建立新通信通道,通过所述新通信通道传输所述数据处理请求对应的所有第二数据包;并在确定通过旧的通信通道发送的数据包的数据处理结果均已返回的情况下再关闭旧的通信通道,保证数据的准确性。

在一些实施例中,请参阅图6,第一服务端20在接收到数据采集端10发送的第一数据包之后,除了在第一数据包中增加所述数据采集端10的采集端标识,为同一数据处理请求对应的所有第一数据包增加相同的请求标识之外,还为同一数据处理请求对应的所有第一数据包中的最后一个第一数据包增加结束标识,以及为其他第一数据包增加非结束标识,生成所述数据处理请求对应的所有第二数据包。所述第二服务端30还用于根据第二数据包中的结束标识或非结束标识确定同一数据处理请求对应的最后一个第二数据包或其他第二数据包。本实施例实现通过结束标识和非结束标识让第二服务端30确认同一数据处理请求对应的最后一个第二数据包和其他第二数据包,保证了数据处理的准确性。

在一些实施例中,请参阅图7A,考虑到第二服务端30能够与第一服务端20建立一条或者多于一条的通信通道,在第二服务端30与同一个第一服务端20之间的通信通道有多条(多于一条)的情况下,第一服务端20在接收到数据采集端10发送的第一数据包之后,除了在第一数据包中增加上述的标识之外,还可以为所述第一数据包增加待发送的通信通道的通道标识,生成第二数据包。所述第二服务端30在获取携带有所述第二数据包中的采集端标识的数据处理结果之后,可以将所述数据处理结果通过所述第二数据包中的通道标识指示的通信通道返回给第一服务端20。本实施例通过增加通道标识实现数据处理结果的准确返回。

在一些实施例中,请参阅图2A、图2B和图7B,考虑到第二服务端30用于与一个或多于一个的第一服务端20建立至少一条通信通道,在第一服务端有多个情况下,第一服务端20在接收到数据采集端10发送的第一数据包之后,除了在第一数据包中增加上述的标识之外,还可以为所述第一数据包增加第一服务端的服务端标识,生成第二数据包。所述第二服务端30在获取携带有所述第二数据包中的采集端标识的数据处理结果之后,可以将所述数据处理结果通过所述第二数据包中的服务端标识返回给所述服务端标识指示的第一服务端20。本实施例通过增加服务端标识实现数据处理结果的准确返回。

以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。

请参阅图8,本说明书实施例还提供了一种数据传输方法,应用于第一服务端,至少一个所述第一服务端用于与多个数据采集端分别通信连接,以及与第二服务端建立至少一条通信通道;所述方法包括:

在S101中,接收数据采集端发送的第一数据包。

在S102中,在所述第一数据包中增加所述数据采集端的采集端标识,生成第二数据包。

在S103中,将至少两个数据采集端的第二数据包,通过同一条通信通道发送给第二服务端,以使所述第二服务端对所述第二数据包进行处理并返回数据处理结果,所述数据处理结果携带有所述第二数据包中的采集端标识。

在S104中,将所述第二服务端返回的数据处理结果,发送给所述数据处理结果携带的采集端标识指示的数据采集端。

在一些实施例中,所述数据采集端发起的同一数据处理请求对应的数据流能够分成至少两个第一数据包发送给所述第一服务端。所述生成第二数据包,还包括:为同一数据处理请求对应的所有第一数据包增加相同的请求标识,生成所述数据处理请求对应的所有第二数据包,以使所述第二服务端能够根据所述请求标识将同一数据处理请求对应的所有第二数据包进行组合,并对组合得到的数据流进行处理得到数据处理结果;其中,通过同一条通信通道发送的属于不同数据处理请求的任意两个第二数据包携带的请求标识不同。

在一些实施例中,所述请求标识包括数字;在同一通信通道中发送的不同数据处理请求对应的请求标识以数字递增的方式生成。所述方法还包括:在生成数据处理请求对应的请求标识的过程中,若生成的请求标识中的数字超过通信通道允许的数字上限,确定生成的请求标识无效,关闭所述通信通道并重新与所述第二服务端建立新通信通道;在建立新通信通道之后,以数字递增的方式生成所述数据处理请求在所述新通信通道中的请求标识,并通过所述新通信通道传输所述数据处理请求对应的所有第二数据包。

在一些实施例中,所述生成第二数据包,还包括:为同一数据处理请求对应的所有第一数据包中的最后一个第一数据包增加结束标识,以及为其他第一数据包增加非结束标识,生成所述数据处理请求对应的所有第二数据包,以使得所述第二服务端能够根据所述结束标识和所述非结束标识确定同一数据处理请求对应的最后一个第二数据包和其他第二数据包。

在一些实施例中,还包括:在与所述第二服务端建立通信通道的过程中,向所述第二服务端发送携带有目标关键字的连接请求;所述目标关键字用于指示所述第一服务端请求使用通道复用功能,以通过同一条通信通道发送至少两个数据采集端的第二数据包。

示例性的,所述通信通道包括WebSocket通道,通过使用WebSocket的多路复用扩展协议以实现所述第二服务端支持所述通道复用功能。

在一些实施例中,所述生成第二数据包,还包括:在所述第二服务端与所述第一服务端之间的通信通道多于一条的情况下,为所述第一数据包增加待发送的通信通道的通道标识,生成第二数据包,以使得所述第二服务端能够将所述数据处理结果通过所述通道标识指示的通信通道返回给第一服务端。

在一些实施例中,所述生成第二数据包,还包括:在第二服务端连接的第一服务端有多个的情况下,为所述第一数据包增加第一服务端的服务端标识,生成第二数据包,以使得所述第二服务端能够将所述数据处理结果返回给所述服务端标识指示的第一服务端。

请参阅图9,本说明书实施例还提供了一种数据传输方法,应用于第二服务端,所述第二服务端用于与至少一个第一服务端建立至少一条通信通道,以及所述第一服务端还用于与多个数据采集端分别通信连接;所述方法包括:

在S201中,接收第一服务端通过同一条通信通道发送的至少两个数据采集端的第二数据包;所述第二数据包是所述第一服务端在数据采集端发送的第一数据包中增加了数据采集端的采集端标识得到的。

在S202中,对所述第二数据包进行处理,获取携带有所述第二数据包中的采集端标识的数据处理结果。

在S203中,向所述第一服务端返回所述数据处理结果,以使得所述第一服务端将数据处理结果返回给所述采集端标识指示的数据采集端。

在一些实施例中,所述第一服务端还用于为同一数据处理请求对应的所有第一数据包增加相同的请求标识,得到所述数据处理请求对应的所有第二数据包。所述对所述第二数据包进行处理,包括:根据所述请求标识将同一数据处理请求对应的所有第二数据包进行组合,并对组合得到的数据流进行处理得到数据处理结果;其中,通过同一条通信通道发送的属于不同数据处理请求的任意两个第二数据包携带的请求标识不同。

在一些实施例中,所述请求标识包括数字;在同一通信通道中发送的不同数据处理请求对应的请求标识以数字递增的方式生成。

在一些实施例中,所述第一服务端还用于在生成第二数据包的过程中,为同一数据处理请求对应的所有第一数据包中的最后一个第一数据包增加结束标识,以及为其他第一数据包增加非结束标识,生成所述数据处理请求对应的所有第二数据包。所述方法还包括:根据所述结束标识和所述非结束标识确定同一数据处理请求对应的最后一个第二数据包和其他第二数据包。

在一些实施例中,所述方法还包括:在与所述第一服务端建立通信通道的过程中,接收第一服务端发送的连接请求;若连接请求中携带有目标关键字,确认所述第一服务端请求使用通道复用功能。

示例性的,所述通信通道包括WebSocket通道,通过使用WebSocket的多路复用扩展协议以实现所述第二服务端支持所述通道复用功能。

在一些实施例中,所述第一服务端还用于在生成第二数据包的过程中,在所述第二服务端与所述第一服务端之间的通信通道多于一条的情况下,为所述第一数据包增加待发送的通信通道的通道标识,生成第二数据包。所述向所述第一服务端返回所述数据处理结果包括:将所述数据处理结果通过所述通道标识指示的通信通道返回给第一服务端。

在一些实施例中,所述第一服务端还用于在生成第二数据包的过程中,在第二服务端连接的第一服务端有多个的情况下,为所述第一数据包增加第一服务端的服务端标识,生成第二数据包。所述向所述第一服务端返回所述数据处理结果包括:将所述数据处理结果返回给所述服务端标识指示的第一服务端。

请参阅图10,本说明书实施例还提供了一种数据传输方法,应用于数据采集端,多个所述数据采集端用于与第一服务端通信连接,所述第一服务端还用于与第二服务端建立至少一条通信通道;所述方法包括:

在S301中,对采集到的数据流进行处理,生成至少一个第一数据包。

在S302中,将所述第一数据包发送给所述第一服务端;所述第一数据包用于触发所述第一服务端在所述第一数据包中增加所述数据采集端的采集端标识,生成第二数据包,并将至少两个数据采集端的第二数据包,通过同一条通信通道发送给第二服务端,以使所述第二服务端对所述第二数据包进行处理并返回数据处理结果,所述数据处理结果携带有所述第二数据包中的采集端标识。

在S303中,接收所述第一服务端返回的数据处理结果。

请参阅图11,本说明书实施例还提供了一种数据包生成方法,可以应用于数据转发端,如上述的第一服务端,所述方法包括:

在S401中,接收数据采集端发送的第一数据包。

在S402中,在所述第一数据包中增加所述数据采集端的采集端标识,生成第二数据包,以使得至少两个数据采集端的第二数据包能够通过同一条通信通道发送给数据处理端。

示例性的,数据处理端可以是如上述的第二服务端。

本实施例,通过在第一数据包中增加所述数据采集端的设备标识采集端标识得到第二数据包,实现了数据采集端之间的隔离,使得数据转发端可以将不同数据采集端的第二数据包通过同一条通信通道传输给数据处理端,实现通道复用,减少了网络开销。

在一些实施例中,所述数据采集端发起的同一数据处理请求对应的数据流能够分成至少两个第一数据包进行发送;所述生成第二数据包,还包括:为同一数据处理请求对应的所有第一数据包增加相同的请求标识,生成所述数据处理请求对应的所有第二数据包,以使得数据处理端能够根据所述请求标识将同一数据处理请求对应的所有第二数据包进行组合,并对组合得到的数据流进行处理得到数据处理结果;其中,通过同一条通信通道发送的属于不同数据处理请求的任意两个第二数据包携带的请求标识不同。

在一些实施例中,所述生成第二数据包,还包括:为同一数据处理请求对应的所有第一数据包中的最后一个第一数据包增加结束标识,以及为其他第一数据包增加非结束标识,生成所述数据处理请求对应的所有第二数据包,以使得数据处理端能够根据所述结束标识和所述非结束标识确定同一数据处理请求对应的最后一个第二数据包。

在一些实施例中,所述生成第二数据包,还包括:在所述数据处理端与所述数据转发端之间的通信通道多于一条的情况下,为所述第一数据包增加待发送的通信通道的通道标识,生成第二数据包,以使得所述数据处理端能够将所述数据处理结果通过所述通道标识指示的通信通道返回给对应的第一服务端。

在一些实施例中,所述生成第二数据包,还包括:在数据处理端连接的数据转发端有多个的情况下,为所述第一数据包增加数据转发端的服务端标识,生成第二数据包,以使得所述数据处理端能够将所述数据处理结果返回给所述服务端标识指示的数据转发端。

以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。

在一些实施例中,本说明书实施例还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现上述中任一项所述的方法。

图12是一示例性实施例提供的一种设备的示意结构图。请参考图12,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

在一些实施例中,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。

需要说明的是,本说明书实施例所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

相关技术
  • 数据包解析方法、装置、电子设备和存储介质
  • 一种数据传输的方法、装置及电子设备
  • 低功耗蓝牙数据传输方法及电子设备
  • 数据传输方法、装置、电子设备及存储介质
  • 一种数据传输方法、装置、电子设备及存储介质
  • 数据包生成方法、数据包生成装置、电子设备及存储介质
  • 一种数据包、数据包生成方法及数据包生成系统
技术分类

06120116501002