CN115297062B - 应用层网络数据传输方法、装置、设备及介质 - Google Patents

应用层网络数据传输方法、装置、设备及介质 Download PDF

Info

Publication number
CN115297062B
CN115297062B CN202211197907.2A CN202211197907A CN115297062B CN 115297062 B CN115297062 B CN 115297062B CN 202211197907 A CN202211197907 A CN 202211197907A CN 115297062 B CN115297062 B CN 115297062B
Authority
CN
China
Prior art keywords
data
minimum
transmitted
data structure
data packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211197907.2A
Other languages
English (en)
Other versions
CN115297062A (zh
Inventor
李秋军
张文成
陆朝铨
龙志豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Huarui Distributed Technology Co ltd
Original Assignee
Shenzhen Huarui Distributed Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Huarui Distributed Technology Co ltd filed Critical Shenzhen Huarui Distributed Technology Co ltd
Priority to CN202211197907.2A priority Critical patent/CN115297062B/zh
Publication of CN115297062A publication Critical patent/CN115297062A/zh
Application granted granted Critical
Publication of CN115297062B publication Critical patent/CN115297062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及大数据技术领域,提供一种应用层网络数据传输方法、装置、设备及介质,其方法包括:在应用层遍历待传输数据,并在遍历过程中对最小数据结构单元进行计数,当计数值达到目标数量时,利用遍历到的最小数据结构单元进行封装得到当前数据包,清空计数值以等待下一轮遍历,从剩余的最小数据结构单元中消耗一个最小数据结构单元添加至当前数据包,并对初始剩余量进行减1操作得到当前剩余量;当遍历完成时,传输当前封装得到的所有数据包。本发明能够在网络数据传输过程中,在应用层将大数据包拆分成独立的小数据包,防止在传输过程中由于单个数据包过大对网络占用产生不利影响,保证数据能够被完整传输,同时降低了接收端的数据解析压力。

Description

应用层网络数据传输方法、装置、设备及介质
技术领域
本发明涉及大数据技术领域,尤其涉及一种应用层网络数据传输方法、装置、设备及介质。
背景技术
在网络数据传输的场景中可能存在当前需要处理的数据包过大的情况,虽然在网络传输时可以通过协议保证数据完整,但对于网络占用的情况却并不能有效控制,可能导致在处理大数据包时网络占用出现“尖锋”情况,并且,网络带宽资源被瞬时过高占用也会导致其他连接出现“卡顿”情况,降低了用户体验,同时,较大的数据包还需要在接收完成后进行解析,增加了接收端解析数据的压力和等待时间。
因此,仅仅依靠网络底层对数据包进行拆分虽然可以保证数据完整传输,但在应用层的大数据包一次性处理会造成瞬时网络资源占用过高的情况,而按照数据包大小“一刀切”会导致某个数据包的数据缺失,或者使一个数据包中包含其他数据包的数据(即类似网络粘包的情况),导致接收端按照协议处理数据时出错。
发明内容
鉴于以上内容,有必要提供一种应用层网络数据传输方法、装置、设备及介质,旨在解决网络数据传输过程中由于单个数据包过大而导致的数据不完整、资源占用不合理及接收端数据解析压力大的问题。
一种应用层网络数据传输方法,所述应用层网络数据传输方法包括:
当在应用层获取到待传输数据时,确定所述待传输数据中所包含的最小数据结构单元的数量作为总数据量,及确定所述待传输数据拆分后得到的总数据包数;
根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量;
计算将所述待传输数据拆分为数据包后,所述待传输数据中剩余的最小数据结构单元的数量作为初始剩余量;
当所述初始剩余量不为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到当前数据包,并清空所述计数值以等待下一轮遍历时重新计数,从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包,并对所述初始剩余量进行减1操作得到当前剩余量;
当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为目标数据包数;
当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
根据本发明优选实施例,所述确定所述待传输数据拆分后得到的总数据包数包括:
获取当前网络带宽上限配置及业务需求数据;
根据所述当前网络带宽上限配置及所述业务需求数据确定所述总数据包数。
根据本发明优选实施例,所述根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量包括:
计算所述总数据量与所述总数据包数的商;
对计算得到的商进行取整运算,得到所述目标数量。
根据本发明优选实施例,所述方法还包括:
当所述初始剩余量为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到数据包,并清空所述计数值以等待下一轮遍历时重新计数;
当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为所述目标数据包数;
当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
根据本发明优选实施例,所述方法还包括:
当所述当前剩余量为0时,在利用遍历到的最小数据结构单元进行封装得到所述当前数据包后,不从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包。
根据本发明优选实施例,所述方法还包括:
当所述目标数据包数小于所述总数据包数时,计算所述总数据包数与所述目标数据包数的差作为预设数量;
向所述当前封装得到的所有数据包中补发所述预设数量的空数据包。
根据本发明优选实施例,所述方法还包括:
在利用遍历到的最小数据结构单元进行封装得到当前数据包后,直接传输所述当前数据包;或者
在利用遍历到的最小数据结构单元进行封装得到数据包后,直接传输封装后得到的数据包。
一种应用层网络数据传输装置,所述应用层网络数据传输装置包括:
确定单元,用于当在应用层获取到待传输数据时,确定所述待传输数据中所包含的最小数据结构单元的数量作为总数据量,及确定所述待传输数据拆分后得到的总数据包数;
计算单元,用于根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量;
所述计算单元,还用于计算将所述待传输数据拆分为数据包后,所述待传输数据中剩余的最小数据结构单元的数量作为初始剩余量;
遍历单元,用于当所述初始剩余量不为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到当前数据包,并清空所述计数值以等待下一轮遍历时重新计数,从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包,并对所述初始剩余量进行减1操作得到当前剩余量;
获取单元,用于当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为目标数据包数;
传输单元,用于当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
一种计算机设备,所述计算机设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现所述应用层网络数据传输方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被计算机设备中的处理器执行以实现所述应用层网络数据传输方法。
由以上技术方案可以看出,本发明能够在网络数据传输过程中,在应用层将大数据包拆分成独立的小数据包,防止在传输过程中由于单个数据包过大对网络占用产生不利影响,保证数据能够被完整传输,同时降低了接收端的数据解析压力。
附图说明
图1是本发明应用层网络数据传输方法的较佳实施例的流程图。
图2是本发明应用层网络数据传输装置的较佳实施例的功能模块图。
图3是本发明实现应用层网络数据传输方法的较佳实施例的计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明应用层网络数据传输方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述应用层网络数据传输方法应用于一个或者多个计算机设备中,所述计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(DigitalSignal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述计算机设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,当在应用层获取到待传输数据时,确定所述待传输数据中所包含的最小数据结构单元的数量作为总数据量,及确定所述待传输数据拆分后得到的总数据包数。
其中,所述待传输数据可以为任意结构的网络传输数据,如JSON(JavaScriptObject Notation, JS对象简谱)格式的数据、数据流形式的数据等。
其中,所述最小数据结构单元是指所述待传输数据中对应的最小的数据组成单元。例如:当所述待传输数据为JSON格式的数据时,所述最小数据结构单元为节点;当所述待传输数据为数据流形式的数据时,所述最小数据结构单元为结构体。
在本实施例中,所述总数据量可以根据所述待传输数据的大小及结构组成直接确定。
在本实施例中,所述确定所述待传输数据拆分后得到的总数据包数包括:
获取当前网络带宽上限配置及业务需求数据;
根据所述当前网络带宽上限配置及所述业务需求数据确定所述总数据包数。
在上述实施例中,可以根据实际网络带宽的限制(如期望的网络资源限制情况)及实际的业务需求配置总数据包数,以便更加符合实际的网络环境及在业务方面的需求。
本实施例能够根据期望的网络资源占用情况(如期望的带宽值)灵活调整所述待传输数据拆分后得到的总数据包数,以便合理的利用网络资源。
S11,根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量。
在本实施例中,所述根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量包括:
计算所述总数据量与所述总数据包数的商;
对计算得到的商进行取整运算,得到所述目标数量。
例如:当所述总数据量为11,所述总数据包数为4时,则计算11/4,并对计算得到的商取整,得到所述目标数量为2,即拆分后,每个数据包中所包含的最小数据结构单元的数量为2。
S12,计算将所述待传输数据拆分为数据包后,所述待传输数据中剩余的最小数据结构单元的数量作为初始剩余量。
例如:当所述总数据量为11,所述总数据包数为4时,拆分后每个数据包中所包含的最小数据结构单元的数量为2,则所述总数据量11在减掉2*4后,还剩余3,则所述初始剩余量为3。
S13,当所述初始剩余量不为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到当前数据包,并清空所述计数值以等待下一轮遍历时重新计数,从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包,并对所述初始剩余量进行减1操作得到当前剩余量。
在本实施例中,所述方法还包括:
当所述当前剩余量为0时,在利用遍历到的最小数据结构单元进行封装得到所述当前数据包后,不从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包。
例如:当所述总数据量为11,所述总数据包数为4,拆分后每个数据包中所包含的最小数据结构单元的数量为2,所述初始剩余量为3时,在遍历时,每遍历到一个最小数据结构单元,则计数值加1,直至遍历到计数值为2,则将遍历到的两个最小数据结构单元封装为当前数据包,同时将剩余的最小数据结构单元中消耗一个最小数据结构单元添加至当前数据包中,则所述初始剩余量减1,即由所述初始剩余量3变为所述当前剩余量2。
这样,经过不断的遍历,由于所述初始剩余量为3,则在前3次计数值达到2后进行封装组包时,都会从剩余的最小数据结构单元中消耗一个最小数据结构单元,并添加至当次封装得到的数据包中,即前3个封装的每个数据包中包含(2+1)个最小数据结构单元,此时,剩余的最小数据结构单元都被消耗完,即所述当前剩余量为0,由于所述总数据包数为4,则在下次遍历到计数值为2时,只需要将遍历到的两个最小数据结构单元封装为数据包即可,无需再从剩余的最小数据结构单元中消耗最小数据结构单元及添加至当前数据包,那么最终形成的4个数据包中最小数据结构单元的数量分别为3、3、3、2,至此,共包含11个最小数据结构单元的待传输数据在应用层完成拆包。
通过在应用层进行拆包,能够避免由于直接传输大数据包而导致的数据传输不完整、资源占用过高的问题,同时降低了网络资源的瞬时占用及接收端的数据解析压力。
在本实施例中,所述方法还包括:
当所述初始剩余量为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到数据包,并清空所述计数值以等待下一轮遍历时重新计数;
当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为所述目标数据包数;
当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
在上述实施例中,当所述初始剩余量为0时,说明在进行拆包时不存在剩余的最小数据结构单元。例如:当所述总数据量为12,所述总数据包数为4时,则计算12/4,并对计算得到的商取整,得到所述目标数量为3,即拆分后,每个数据包中所包含的最小数据结构单元的数量刚好都为3,不存在剩余的最小数据结构单元。
此时,只需要在遍历过程中按照计数值封装数据包,无需进行剩余的最小结构单元的消耗,并且由于同样在应用层完成了拆包,也能够避免由于直接传输大数据包而导致的数据传输不完整、资源占用过高的问题,同时降低了接收端的数据解析压力。
在本实施例的整个拆包过程中,由于是通过最小数据结构单元进行拆分,不会出现将一个最小数据结构单元中的数据拆在多个最小数据结构单元中的情况,此时每个最小数据结构单元拆分后仍然完整,可以进行独立解析,同时不会改变原有协议和特性,并且,整个拆包过程引入了可调控的限制条件(如可以根据期望的网络资源占用情况灵活调整),分割粒度可控,更加满足实际需求,便于数据进行完整、有序、平稳的传输。
在本实施例中,所述方法还包括:
在利用遍历到的最小数据结构单元进行封装得到当前数据包后,直接传输所述当前数据包;或者
在利用遍历到的最小数据结构单元进行封装得到数据包后,直接传输封装后得到的数据包。
在上述实施例中,可以无需等待所述待传输数据都拆分完成后再进行数据传输,而是在每次拆分得到一个数据包后就直接传输。
当然,在其他实施例中,也可以等待拆分一定数量的数据包后再进行传输(如等到拆分得到5个数据包再一起传输5个数据包),也可以根据设置的传输时间进行数据包的传输,具体可以根据实际传输需求进行配置,本发明不限制。
S14,当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为目标数据包数。
在本实施例中,所述方法还包括:
检测所述待传输数据中的每个最小数据结构单元是否都遍历完成。
具体地,可以根据所述待传输数据的不同数据格式检测所述待传输数据中的每个最小数据结构单元是否都遍历完成。
例如:当所述待传输数据为JSON格式的数据时,可以获取所述待传输数据的迭代器,并根据所述迭代器的数据确定所述待传输数据中的每个最小数据结构单元是否都遍历完成;当所述待传输数据为数据流类型时,获取所述待传输数据的协议头,并根据所述协议头中指定的数值确定所述待传输数据中的每个最小数据结构单元是否都遍历完成。
S15,当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
通过在应用层进行数据拆分,使数据传输过程中能够更加合理的利用网络资源,进而使数据传输更加平滑。
可以理解的是,由于总数据包数是由数据量和一系列限制条件预测出来的,但后续拆包时是以实际的最小数据结构单元进行计数,因此,当数据量过大,而最小数据结构单元的数量较少(例如:每个JSON节点占用的字节数非常大时),此时实际计算出来的总包数较多,而实际的最小数据结构单元不够分,就会导致出现空包。
基于上述情况,在本实施例中,所述方法还包括:
当所述目标数据包数小于所述总数据包数时,计算所述总数据包数与所述目标数据包数的差作为预设数量;
向所述当前封装得到的所有数据包中补发所述预设数量的空数据包。
在上述实施例中,通过补发空数据包,能够保证下游接收端正常解析接收到的数据包,避免出现解析错误。
由以上技术方案可以看出,本发明能够在网络数据传输过程中,在应用层将大数据包拆分成独立的小数据包,防止在传输过程中由于单个数据包过大对网络占用产生不利影响,保证数据能够被完整传输,同时降低了接收端的数据解析压力。
如图2所示,是本发明应用层网络数据传输装置的较佳实施例的功能模块图。所述应用层网络数据传输装置11包括确定单元110、计算单元111、遍历单元112、获取单元113、传输单元114。本发明所称的模块/单元是指一种能够被处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
所述确定单元110,用于当在应用层获取到待传输数据时,确定所述待传输数据中所包含的最小数据结构单元的数量作为总数据量,及确定所述待传输数据拆分后得到的总数据包数。
其中,所述待传输数据可以为任意结构的网络传输数据,如JSON(JavaScriptObject Notation, JS对象简谱)格式的数据、数据流形式的数据等。
其中,所述最小数据结构单元是指所述待传输数据中对应的最小的数据组成单元。例如:当所述待传输数据为JSON格式的数据时,所述最小数据结构单元为节点;当所述待传输数据为数据流形式的数据时,所述最小数据结构单元为结构体。
在本实施例中,所述总数据量可以根据所述待传输数据的大小及结构组成直接确定。
在本实施例中,所述确定单元110确定所述待传输数据拆分后得到的总数据包数包括:
获取当前网络带宽上限配置及业务需求数据;
根据所述当前网络带宽上限配置及所述业务需求数据确定所述总数据包数。
在上述实施例中,可以根据实际网络带宽的限制(如期望的网络资源限制情况)及实际的业务需求配置总数据包数,以便更加符合实际的网络环境及在业务方面的需求。
本实施例能够根据期望的网络资源占用情况(如期望的带宽值)灵活调整所述待传输数据拆分后得到的总数据包数,以便合理的利用网络资源。
所述计算单元111,用于根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量。
在本实施例中,所述计算单元111根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量包括:
计算所述总数据量与所述总数据包数的商;
对计算得到的商进行取整运算,得到所述目标数量。
例如:当所述总数据量为11,所述总数据包数为4时,则计算11/4,并对计算得到的商取整,得到所述目标数量为2,即拆分后,每个数据包中所包含的最小数据结构单元的数量为2。
所述计算单元111,还用于计算将所述待传输数据拆分为数据包后,所述待传输数据中剩余的最小数据结构单元的数量作为初始剩余量。
例如:当所述总数据量为11,所述总数据包数为4时,拆分后每个数据包中所包含的最小数据结构单元的数量为2,则所述总数据量11在减掉2*4后,还剩余3,则所述初始剩余量为3。
所述遍历单元112,用于当所述初始剩余量不为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到当前数据包,并清空所述计数值以等待下一轮遍历时重新计数,从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包,并对所述初始剩余量进行减1操作得到当前剩余量。
在本实施例中,当所述当前剩余量为0时,在利用遍历到的最小数据结构单元进行封装得到所述当前数据包后,不从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包。
例如:当所述总数据量为11,所述总数据包数为4,拆分后每个数据包中所包含的最小数据结构单元的数量为2,所述初始剩余量为3时,在遍历时,每遍历到一个最小数据结构单元,则计数值加1,直至遍历到计数值为2,则将遍历到的两个最小数据结构单元封装为当前数据包,同时将剩余的最小数据结构单元中消耗一个最小数据结构单元添加至当前数据包中,则所述初始剩余量减1,即由所述初始剩余量3变为所述当前剩余量2。
这样,经过不断的遍历,由于所述初始剩余量为3,则在前3次计数值达到2后进行封装组包时,都会从剩余的最小数据结构单元中消耗一个最小数据结构单元,并添加至当次封装得到的数据包中,即前3个封装的每个数据包中包含(2+1)个最小数据结构单元,此时,剩余的最小数据结构单元都被消耗完,即所述当前剩余量为0,由于所述总数据包数为4,则在下次遍历到计数值为2时,只需要将遍历到的两个最小数据结构单元封装为数据包即可,无需再从剩余的最小数据结构单元中消耗最小数据结构单元及添加至当前数据包,那么最终形成的4个数据包中最小数据结构单元的数量分别为3、3、3、2,至此,共包含11个最小数据结构单元的待传输数据在应用层完成拆包。
通过在应用层进行拆包,能够避免由于直接传输大数据包而导致的数据传输不完整、资源占用过高的问题,同时降低了网络资源的瞬时占用及接收端的数据解析压力。
在本实施例中,当所述初始剩余量为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到数据包,并清空所述计数值以等待下一轮遍历时重新计数;
当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为所述目标数据包数;
当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
在上述实施例中,当所述初始剩余量为0时,说明在进行拆包时不存在剩余的最小数据结构单元。例如:当所述总数据量为12,所述总数据包数为4时,则计算12/4,并对计算得到的商取整,得到所述目标数量为3,即拆分后,每个数据包中所包含的最小数据结构单元的数量刚好都为3,不存在剩余的最小数据结构单元。
此时,只需要在遍历过程中按照计数值封装数据包,无需进行剩余的最小结构单元的消耗,并且由于同样在应用层完成了拆包,也能够避免由于直接传输大数据包而导致的数据传输不完整、资源占用过高的问题,同时降低了接收端的数据解析压力。
在本实施例的整个拆包过程中,由于是通过最小数据结构单元进行拆分,不会出现将一个最小数据结构单元中的数据拆在多个最小数据结构单元中的情况,此时每个最小数据结构单元拆分后仍然完整,可以进行独立解析,同时不会改变原有协议和特性,并且,整个拆包过程引入了可调控的限制条件(如可以根据期望的网络资源占用情况灵活调整),分割粒度可控,更加满足实际需求,便于数据进行完整、有序、平稳的传输。
在本实施例中,在利用遍历到的最小数据结构单元进行封装得到当前数据包后,直接传输所述当前数据包;或者
在利用遍历到的最小数据结构单元进行封装得到数据包后,直接传输封装后得到的数据包。
在上述实施例中,可以无需等待所述待传输数据都拆分完成后再进行数据传输,而是在每次拆分得到一个数据包后就直接传输。
当然,在其他实施例中,也可以等待拆分一定数量的数据包后再进行传输(如等到拆分得到5个数据包再一起传输5个数据包),也可以根据设置的传输时间进行数据包的传输,具体可以根据实际传输需求进行配置,本发明不限制。
所述获取单元113,用于当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为目标数据包数。在本实施例中,检测所述待传输数据中的每个最小数据结构单元是否都遍历完成。
具体地,可以根据所述待传输数据的不同数据格式检测所述待传输数据中的每个最小数据结构单元是否都遍历完成。
例如:当所述待传输数据为JSON格式的数据时,可以获取所述待传输数据的迭代器,并根据所述迭代器的数据确定所述待传输数据中的每个最小数据结构单元是否都遍历完成;当所述待传输数据为数据流类型时,获取所述待传输数据的协议头,并根据所述协议头中指定的数值确定所述待传输数据中的每个最小数据结构单元是否都遍历完成。
所述传输单元114,用于当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
通过在应用层进行数据拆分,使数据传输过程中能够更加合理的利用网络资源,进而使数据传输更加平滑。
可以理解的是,由于总数据包数是由数据量和一系列限制条件预测出来的,但后续拆包时是以实际的最小数据结构单元进行计数,因此,当数据量过大,而最小数据结构单元的数量较少(例如:每个JSON节点占用的字节数非常大时),此时实际计算出来的总包数较多,而实际的最小数据结构单元不够分,就会导致出现空包。
基于上述情况,在本实施例中,当所述目标数据包数小于所述总数据包数时,计算所述总数据包数与所述目标数据包数的差作为预设数量;
向所述当前封装得到的所有数据包中补发所述预设数量的空数据包。
在上述实施例中,通过补发空数据包,能够保证下游接收端正常解析接收到的数据包,避免出现解析错误。
由以上技术方案可以看出,本发明能够在网络数据传输过程中,在应用层将大数据包拆分成独立的小数据包,防止在传输过程中由于单个数据包过大对网络占用产生不利影响,保证数据能够被完整传输,同时降低了接收端的数据解析压力。
如图3所示,是本发明实现应用层网络数据传输方法的较佳实施例的计算机设备的结构示意图。
所述计算机设备1可以包括存储器12、处理器13和总线,还可以包括存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如应用层网络数据传输程序。
本领域技术人员可以理解,所述示意图仅仅是计算机设备1的示例,并不构成对计算机设备1的限定,所述计算机设备1既可以是总线型结构,也可以是星形结构,所述计算机设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如所述计算机设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,所述计算机设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是计算机设备1的内部存储单元,例如该计算机设备1的移动硬盘。存储器12在另一些实施例中也可以是计算机设备1的外部存储设备,例如计算机设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器12还可以既包括计算机设备1的内部存储单元也包括外部存储设备。存储器12不仅可以用于存储安装于计算机设备1的应用软件及各类数据,例如应用层网络数据传输程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是所述计算机设备1的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行应用层网络数据传输程序等),以及调用存储在所述存储器12内的数据,以执行计算机设备1的各种功能和处理数据。
所述处理器13执行所述计算机设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个应用层网络数据传输方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在所述计算机设备1中的执行过程。例如,所述计算机程序可以被分割成确定单元110、计算单元111、遍历单元112、获取单元113、传输单元114。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述应用层网络数据传输方法的部分。
所述计算机设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器等。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根直线表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
尽管未示出,所述计算机设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器13逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述计算机设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机设备1与其他计算机设备之间建立通信连接。
可选地,该计算机设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
图3仅示出了具有组件12-13的计算机设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述计算机设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,所述计算机设备1中的所述存储器12存储多个指令以实现一种应用层网络数据传输方法,所述处理器13可执行所述多个指令从而实现:
当在应用层获取到待传输数据时,确定所述待传输数据中所包含的最小数据结构单元的数量作为总数据量,及确定所述待传输数据拆分后得到的总数据包数;
根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量;
计算将所述待传输数据拆分为数据包后,所述待传输数据中剩余的最小数据结构单元的数量作为初始剩余量;
当所述初始剩余量不为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到当前数据包,并清空所述计数值以等待下一轮遍历时重新计数,从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包,并对所述初始剩余量进行减1操作得到当前剩余量;
当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为目标数据包数;
当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
需要说明的是,本案中所涉及到的数据均为合法取得。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本发明可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (9)

1.一种应用层网络数据传输方法,其特征在于,所述应用层网络数据传输方法包括:
当在应用层获取到待传输数据时,确定所述待传输数据中所包含的最小数据结构单元的数量作为总数据量,及确定所述待传输数据拆分后得到的总数据包数;
根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量;
计算将所述待传输数据拆分为数据包后,所述待传输数据中剩余的最小数据结构单元的数量作为初始剩余量;
当所述初始剩余量不为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到当前数据包,并清空所述计数值以等待下一轮遍历时重新计数,从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包,并对所述初始剩余量进行减1操作得到当前剩余量;
当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为目标数据包数;
当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包;
所述确定所述待传输数据拆分后得到的总数据包数包括:
获取当前网络带宽上限配置及业务需求数据;
根据所述当前网络带宽上限配置及所述业务需求数据确定所述总数据包数;
其中,在遍历过程中按照达到所述目标数量的计数值对遍历到的最小数据结构单元进行封装得到数据包并传输。
2.如权利要求1所述的应用层网络数据传输方法,其特征在于,所述根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量包括:
计算所述总数据量与所述总数据包数的商;
对计算得到的商进行取整运算,得到所述目标数量。
3.如权利要求1所述的应用层网络数据传输方法,其特征在于,所述方法还包括:
当所述初始剩余量为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到数据包,并清空所述计数值以等待下一轮遍历时重新计数;
当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为所述目标数据包数;
当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包。
4.如权利要求1所述的应用层网络数据传输方法,其特征在于,所述方法还包括:
当所述当前剩余量为0时,在利用遍历到的最小数据结构单元进行封装得到所述当前数据包后,不从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包。
5.如权利要求1所述的应用层网络数据传输方法,其特征在于,所述方法还包括:
当所述目标数据包数小于所述总数据包数时,计算所述总数据包数与所述目标数据包数的差作为预设数量;
向所述当前封装得到的所有数据包中补发所述预设数量的空数据包。
6.如权利要求1或3所述的应用层网络数据传输方法,其特征在于,所述方法还包括:
在利用遍历到的最小数据结构单元进行封装得到当前数据包后,直接传输所述当前数据包;或者
在利用遍历到的最小数据结构单元进行封装得到数据包后,直接传输封装后得到的数据包。
7.一种应用层网络数据传输装置,其特征在于,所述应用层网络数据传输装置包括:
确定单元,用于当在应用层获取到待传输数据时,确定所述待传输数据中所包含的最小数据结构单元的数量作为总数据量,及确定所述待传输数据拆分后得到的总数据包数;
计算单元,用于根据所述总数据量及所述总数据包数计算拆分后每个数据包中所包含的最小数据结构单元的数量作为目标数量;
所述计算单元,还用于计算将所述待传输数据拆分为数据包后,所述待传输数据中剩余的最小数据结构单元的数量作为初始剩余量;
遍历单元,用于当所述初始剩余量不为0时,遍历所述待传输数据,并在遍历过程中对遍历到的所述待传输数据中的最小数据结构单元进行计数,当计数值达到所述目标数量时,利用遍历到的最小数据结构单元进行封装得到当前数据包,并清空所述计数值以等待下一轮遍历时重新计数,从所述剩余的最小数据结构单元中消耗一个最小数据结构单元添加至所述当前数据包,并对所述初始剩余量进行减1操作得到当前剩余量;
获取单元,用于当所述待传输数据中的每个最小数据结构单元都遍历完成时,获取当前封装得到的所有数据包的数量作为目标数据包数;
传输单元,用于当所述目标数据包数等于所述总数据包数时,确定拆分后的数据完整,并传输所述当前封装得到的所有数据包;
所述确定所述待传输数据拆分后得到的总数据包数包括:
获取当前网络带宽上限配置及业务需求数据;
根据所述当前网络带宽上限配置及所述业务需求数据确定所述总数据包数;
其中,在遍历过程中按照达到所述目标数量的计数值对遍历到的最小数据结构单元进行封装得到数据包并传输。
8.一种计算机设备,其特征在于,所述计算机设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至6中任意一项所述的应用层网络数据传输方法。
9.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被计算机设备中的处理器执行以实现如权利要求1至6中任意一项所述的应用层网络数据传输方法。
CN202211197907.2A 2022-09-29 2022-09-29 应用层网络数据传输方法、装置、设备及介质 Active CN115297062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211197907.2A CN115297062B (zh) 2022-09-29 2022-09-29 应用层网络数据传输方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211197907.2A CN115297062B (zh) 2022-09-29 2022-09-29 应用层网络数据传输方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115297062A CN115297062A (zh) 2022-11-04
CN115297062B true CN115297062B (zh) 2023-01-24

Family

ID=83833723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211197907.2A Active CN115297062B (zh) 2022-09-29 2022-09-29 应用层网络数据传输方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115297062B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1520111A (zh) * 2003-09-02 2004-08-11 ����ͨѶ�ɷ����޹�˾ 局域网内的数据传输方法
CN105872036A (zh) * 2016-03-28 2016-08-17 联想(北京)有限公司 一种数据上传、下载方法、电子设备及服务器
CN110244604A (zh) * 2019-05-29 2019-09-17 北京大豪科技股份有限公司 数据传输方法、装置、电子设备及存储介质
CN114095438A (zh) * 2021-11-25 2022-02-25 北京百度网讯科技有限公司 数据传输方法、装置、设备、存储介质及计算机程序产品

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106168940A (zh) * 2016-06-22 2016-11-30 中国科学院计算技术研究所 高密度片上网络的路网实现方法及装置
CN107623643B (zh) * 2017-09-22 2021-10-08 深圳市盛路物联通讯技术有限公司 一种数据包转发方法及装置
CN112511340A (zh) * 2020-11-11 2021-03-16 平安科技(深圳)有限公司 数据传输方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1520111A (zh) * 2003-09-02 2004-08-11 ����ͨѶ�ɷ����޹�˾ 局域网内的数据传输方法
CN105872036A (zh) * 2016-03-28 2016-08-17 联想(北京)有限公司 一种数据上传、下载方法、电子设备及服务器
CN110244604A (zh) * 2019-05-29 2019-09-17 北京大豪科技股份有限公司 数据传输方法、装置、电子设备及存储介质
CN114095438A (zh) * 2021-11-25 2022-02-25 北京百度网讯科技有限公司 数据传输方法、装置、设备、存储介质及计算机程序产品

Also Published As

Publication number Publication date
CN115297062A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
WO2023056943A1 (zh) 基于物联网规则引擎的终端控制方法、装置、设备及介质
CN112671921A (zh) 数据传输方法、装置、电子设备及可读存储介质
CN113806434B (zh) 大数据处理方法、装置、设备及介质
CN112653760A (zh) 跨服务器的文件传输方法、装置、电子设备及存储介质
CN113890712A (zh) 数据传输方法、装置、电子设备及可读存储介质
CN112702228A (zh) 服务限流响应方法、装置、电子设备及可读存储介质
CN113868528A (zh) 资讯推荐方法、装置、电子设备及可读存储介质
CN116755637B (zh) 交易数据存储方法、装置、设备及介质
CN115297062B (zh) 应用层网络数据传输方法、装置、设备及介质
CN114124878B (zh) 行情数据下发方法、装置、系统、设备及介质
CN115174702B (zh) 基于rdma协议的数据传输方法、装置、设备及介质
CN115345746B (zh) 证券交易方法、装置、设备及介质
CN114816371B (zh) 消息处理方法、装置、设备及介质
CN113923218B (zh) 编解码插件分布式部署方法、装置、设备及介质
CN114741422A (zh) 查询请求方法、装置、设备及介质
CN114185502A (zh) 基于产线环境的日志打印方法、装置、设备及介质
CN115987460B (zh) 基于校验码的数据传输方法、装置、设备及介质
CN116701233B (zh) 基于高并发报单模拟的交易系统测试方法、设备及介质
CN115277859B (zh) 请求调度方法、装置、设备及介质
CN115731047B (zh) 批量订单处理方法、设备及介质
CN115174698B (zh) 基于表项索引的行情数据解码方法、装置、设备及介质
CN115086400B (zh) 消息交互方法、装置、电子设备及存储介质
CN115964307B (zh) 交易数据自动化测试方法、装置、设备及介质
CN118037453A (zh) 交易系统的订单处理方法、装置、设备及介质
CN113032168A (zh) 数据传输速率动态调整方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant