CN111858088B - 通信数据处理方法、装置、计算机设备和存储介质 - Google Patents
通信数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111858088B CN111858088B CN202010588618.XA CN202010588618A CN111858088B CN 111858088 B CN111858088 B CN 111858088B CN 202010588618 A CN202010588618 A CN 202010588618A CN 111858088 B CN111858088 B CN 111858088B
- Authority
- CN
- China
- Prior art keywords
- channel
- server
- data
- memory
- instruction
- 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
Links
- 230000006854 communication Effects 0.000 title claims abstract description 66
- 238000004891 communication Methods 0.000 title claims abstract description 65
- 238000003672 processing method Methods 0.000 title abstract description 14
- 230000015654 memory Effects 0.000 claims abstract description 143
- 230000004913 activation Effects 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000003213 activating effect Effects 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 24
- 238000004064 recycling Methods 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 15
- 230000000903 blocking effect Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种通信数据处理方法、装置、计算机设备和存储介质。方法包括:检测第一服务器的内存占有率,得到第一内存占有率,第一服务器包括第一信道和第二信道;当第一信道处于通信状态,第二信道处于未激活状态,且第一内存占有率大于或等于预设阈值时,生成用于激活第二信道的激活指令,执行激活指令,以使第二信道传输第一服务器中的未投入第一信道的数据,第二信道传输的数据缓存至消息队列。在数据量较大时,通过激活的第二信道将未传输的指令数据缓存至消息队列中,避免由于指令数据量大带来的内存不足,从而导致数据的丢失的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种通信数据处理方法、装置、计算机设备和存储介质。
背景技术
随着通信数据的增加,增大了服务器对数据的处理压力,现有技术中常将第一服务器接收到的通信数据通过TCP(Transmission Control Protocol,传输控制协议)下发给第二服务器,TCP通信需要在数据下方完成后接受到第二服务器返回的下发完成的反馈信息后,才会释放内存。当数据量较大时,第一服务器的内存的占用率过高时,导致第一服务器无法及时接收指令,从而导致数据丢失。
发明内容
为了解决通信时由于服务器内存不足导致数据丢失的技术问题,本申请提供了一种通信数据处理方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种通信数据处理方法,包括:
检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道;
当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
可选地,激活所述第二信道之后,所述方法还包括:
采用所述第一信道传输已投入所述第一信道的数据。
可选地,所述激活所述第二信道之后,所述方法还包括:
检测所述第一服务器的内存占有率,得到第二内存占有率;
当所述第二内存占有率小于所述预设阈值时,生成第二指令,执行所述第二指令,所述第二指令用于阻塞所述第二信道,以使所述第二信道处于未激活状态。
可选地,所述内存占有率包括第一占有率和第二占有率,所述检测第一服务器的内存占有率,包括:
检测预设时间段内,所述第一服务器开辟的内存空间,得到所述第一占有率;
检测所述第一服务器中全部内存占有率,得到所述第二占有率。
可选地,所述方法还包括:
接收通过所述第一信道传输的数据的数据处理状态;
当当前数据的数据处理状态为传输完成时,生成回收指令,所述回收指令用于回收所述当前数据对应的内存。
可选地,通过主线程执行所述第一信道的数据传输,通过所述主线程的子线程执行所述第二信道的数据传输。
可选地,激活所述第二信道之后,所述方法还包括:
生成标志信息,将所述标志信息放入所述第二信道;
通过所述主线程检测所述子线程中是否存在所述标志信息;
当存在所述标志信息时,执行所述生成用于激活所述第二信道的激活指令的步骤。
第二方面,本实施例提供了一种通信数据处理装置,所述装置包括:
第一检测模块,用于检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道;
激活模块,用于当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道;
当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道;
当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
上述通信数据处理方法、装置、计算机设备和存储介质,所述方法包括:检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道;当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。当数据量较大时,服务器的内存占有率过高时,服务器无法继续接收新的数据,通过激活第二信道将未传输的数据缓存至消息队列中,避免由于指令数据量大带来的内存不足,从而导致数据的丢失的问题,采用双线程传输提高了通信效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中通信数据处理方法的流程示意图;
图2为一个实施例中通信数据处理装置的结构框图;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
该通信数据处理方法应用于通信数据处理***。该通信数据处理***包括第一服务器和第二服务器。第一服务器和第二服务器通过网络连接。第一服务器和第二服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。该通信数据处理***可应用于任何需要进行指令数据通信的场景,例如空调租赁***、家居设备控制***等。
在一个实施例中,图1为一个实施例中一种通信数据处理方法的流程示意图,参照图1,提供了一种通信数据处理方法。本实施例主要以该方法应用于上述图1中的第一服务器来举例说明,该通信数据处理方法具体包括如下步骤:
步骤S210,检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道。
在本实施例中,利用监听模块监听第一服务器中的CPU(central processingunit,中央处理器)占用情况和内存占用情况,根据监听情况计算得出第一服务器的内存占有率,监听模块可以为任何能够实现监听线程功能的代码封装模块,例如现有的内存监听脚本、JVisualVM工具、gopprof模块等。
步骤S220,当第一信道处于通信状态,第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述数据接收服务中的未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
在本实施例中,预设阈值表示第一服务器的内存占用率,当第一内存占有率超过预设阈值时,表示第一服务器的内存即将占满,无法继续接收指令数据,监听模块下发激活信号至第二信道中,以激活第二信道,第一服务器在激活第二信道后接收的、未投入第一信道的数据通过第二信道缓存至消息队列中,通过第二信道将数据传输至第二服务器的消息队列中,第二服务器从消息队列中提取数据进行消费,不占用第一服务器的内存,理论上保证第一服务器可连续接收指令数据,避免数据量大时第一服务器内存不足无法继续接收数据,导致通信过程中指令数据丢失的问题。
在一个实施例中,接收通过所述第一信道传输的数据的数据处理状态;当当前数据的数据处理状态为传输完成时,生成回收指令,所述回收指令用于回收所述当前数据对应的内存。
具体地,在第一服务器下发数据完成后,生成回收指令,利用GC机制(垃圾回收机制)回收第一信道已下发至第二服务器的数据,释放该类数据所占用的内存,便于后续继续接收指令数据。数据通过第二信道缓存至消息队列后,第一服务器自动回收数据对应的内存。
在一个实施例中,激活所述第二信道之后,采用所述第一信道传输已投入所述第一信道的数据。
具体地,已投入第一信道的数据通过第一信道传输至第二服务器,第一服务器和第二服务器之间通过第一信道实现TCP通信,同时与第二信道并行处理,即双线程处理,使原本不能处理的指令数据及时下发,提高了单一排队等待指令响应的传输速度,提高了通信效率。
当第一信道内的数据下发完后,检测第一服务器的内存占有率,若该内存占有率仍大于预设阈值,阻塞第一信道,第一信道不再进行数据传输,服务器接收的数据均通过第二信道缓存至消息队列。由于第一服务器发送指令数据至第二服务器后,第一服务器需等待第二服务器回复响应后才可发送下一个数据,当第二服务器没有及时响应第一服务器时,无法继续进行数据传输,无法释放数据所占用的内存,影响数据传输效率,因此阻塞第一信道,令第一信道不再传输数据,通过第二信道将数据缓存至消息队列中,第二服务器从消息队列中拿取数据,第一服务器向第二服务器发送数据无需等待第二服务器的响应,提高了数据传输效率,减轻了第一服务器与第二服务器之间的通信压力。第一信道包括至少一个TCP通信信道。
TCP通信数据传输速度快,适合数据量比较少的情况下使用,但等待TCP释放内存时间长,数据会占用第一服务器内存一段时间,消息队列通信释放第一服务器中数据内存较快。
在一个实施例中,所述激活所述第二信道之后,检测所述第一服务器的内存占有率,得到第二内存占有率;当所述第二内存占有率小于所述预设阈值时,生成第二指令,执行所述第二指令,所述第二指令用于阻塞所述第二信道,以使所述第二信道处于未激活状态。
具体地,在预设时长内,检测第一服务器的内存占有率,在预设时长内检测的内存占有率小于预设阈值,或多次检测中的每次检测得到的第二内存占有率均小于预设阈值,生成阻塞第二信道的指令。进行多次检测,并且每次都小于预设阈值时,表示第一服务器接收的数据量减少,且减少后相对稳定,第一服务器可以继续接收指令数据,且采用第一信道与第二服务器进行TCP通信,可以满足数据的传输需求。预设时长和检测次数可根据实际情况自定义。
在一个实施例中,所述内存占有率包括第一占有率和第二占有率,检测预设时间段内,所述第一服务器开辟的内存空间,得到所述第一占有率;检测所述第一服务器中全部内存占有率,得到所述第二占有率。
具体地,第一占有率为预设时间段内第一服务器新开辟的内存量与第一服务器最大内存量的比值,第二占有率对应预设时间段内第一服务器已开辟的内存总量与第一服务器最大内存量的比值,预设阈值包括预设开辟量和预设总量,当第一占有率大于预设开辟量时,且第二占有率大于预设总量时,即第一服务器的内存占有率大于预设阈值,表示第一服务器的内存不足,无法通过继续接收指令数据,需要激活第二信道缓解通信压力,避免丢失指令数据。
在一个具体实施例中,第一服务器接收数据,并通过gopprof监听模块监听第一服务器的内存情况,判断子线程是否激活,若子线程没有处于激活状态,第一服务器调用第二服务器的TCP通信接口,第一服务器通过主线程与第二服务器进行TCP通信,即第一服务器通过第一信道与第二服务器进行TCP通信,阻塞主线程的子线程,即没有数据投入第二信道中。第一服务器等待第二服务器的TCP响应,当接收到第二服务器的响应之后,通过GC机制将第一信道已传输完成的数据进行回收,释放数据所占的内存。
当根据gopprof监听模块的监听结果发现,在预设时间段内,第一占有率大于预设开辟量时,且第二占有率大于预设总量时,即第一服务器的内存占有率大于预设阈值,第一服务器接收的数据量过大,监听模块生成标志信息,并持续投入第二信道中,主线程循环检测第二信道中是否存在标志信息,当主线程检测到第二信道中的标志信息时,激活子线程,将未投入第一信道中的数据投入第二信道中,通过第二信道将数据缓存至消息队列中,此时第一信道继续保持TCP通信,直至将第一信道中已有的数据传输完成,若此时第一服务器检测得到内存占有率仍大于预设阈值时,则第一信道不再进行数据传输,第一服务器接收的数据均通过第二信道缓存至消息队列中,直至检测发现第一服务器的内存占有率持续小于预设阈值。第一服务器将通过消息队列通信后的数据内存自动释放。通过此方法完成第一服务器的动态扩展,扩大第一服务器最大处理容量,防止第一服务器因为通信峰值导致的数据缺失和服务器响应问题。
第二服务器通过TCP通信接口接收第一服务器通过第一信道发送的指令数据,且通过消费者从消息队列中提取指令数据,当消息队列中没有数据时,阻塞消费者,当消息队列中存在指令数据时,启动消费者从消息队列中提取数据。
当根据gopprof监听模块的监听结果发现,在预设时长内,第一占有率持续小于预设开辟量时,且第二占有率持续小于预设总量时,即第一服务器的内存占有率小于预设阈值,禁止监听模块将标志信息投入第二信道中,主线程未检测到第二信道中存在标志信息,则阻塞第二信道,令子线程处于未激活状态,第一服务器重新调用第二服务器的TCP通信接口,将数据投入第一信道中,通过TCP通信与第二服务器进行数据传输。
图1为一个实施例中通信数据处理方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种通信数据处理装置,包括:
第一检测模块310,用于检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道;
激活模块320,用于当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
在一个实施例中,所述装置还包括:
第一信道传输模块,用于当第一信道处于通信状态,第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,采用所述第一信道传输已经投入所述第一信道的数据。
在一个实施例中,所述装置还包括:
第二检测模块,用于激活所述第二信道之后,检测所述第一服务器的内存占有率,得到第二内存占有率;
第二阻塞模块,用于当所述第二内存占有率小于所述预设阈值时,生成第二指令,执行所述第二指令,所述第二指令用于阻塞所述第二信道,以使所述第二信道处于未激活状态。
在一个实施例中,所述内存占有率包括第一占有率和第二占有率,所述装置还包括:
第一占有率检测模块,用于检测预设时间段内,所述第一服务器开辟的内存空间,得到所述第一占有率;
第二占有率检测模块,用于检测所述第一服务器中全部内存占有率,得到所述第二占有率。
在一个实施例中,所述装置还包括:
状态接收模块,用于接收通过所述第一服务器传输的数据的数据处理状态;
回收模块,用于当当前数据的数据处理状态为传输完成时,生成回收指令,所述回收指令用于回收所述当前数据对应的内存。
在一个实施例中,所述装置还包括:
标准信息生成模块,用于生成标志信息,将所述标志信息放入所述第二信道;
标志检测模块,用于通过所述主线程检测所述子线程中是否存在所述标志信息;
执行模块,用于当存在所述标志信息时,执行所述生成用于激活所述第二信道的激活指令的步骤。
图3示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第一服务器(或第二服务器120)。如图3所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现通信数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行通信数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的通信数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图3所示的计算机设备上运行。计算机设备的存储器中可存储组成该通信数据处理装置的各个程序模块,比如,图2所示的第一检测模块310和激活模块320。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的通信数据处理方法中的步骤。
图3所示的计算机设备可以通过如图2所示的通信数据处理装置中的第一检测模块310执行检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道。计算机设备可通过激活模块320执行当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道;当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:激活所述第二信道之后,采用所述第一信道传输已经投入所述第一信道的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:激活所述第二信道之后,检测所述第一服务器的内存占有率,得到第二内存占有率;当所述第二内存占有率小于所述预设阈值时,生成第二指令,执行所述第二指令,所述第二指令用于阻塞所述第二信道,以使所述第二信道处于未激活状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:所述内存占有率包括第一占有率和第二占有率,检测预设时间段内,所述第一服务器开辟的内存空间,得到所述第一占有率;检测所述第一服务器中全部内存占有率,得到所述第二占有率。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收通过所述第一服务器传输的数据的数据处理状态;当当前数据的数据处理状态为传输完成时,生成回收指令,所述回收指令用于回收所述当前数据对应的内存。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:激活所述第二信道之后,生成标志信息,将所述标志信息放入所述第二信道;通过所述主线程检测所述子线程中是否存在所述标志信息;当存在所述标志信息时,执行所述生成用于激活所述第二信道的激活指令的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括所述第一信道和所述第二信道;当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:激活所述第二信道之后,采用所述第一信道传输已经投入所述第一信道的数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:所述内存占有率包括第一占有率和第二占有率,检测预设时间段内,所述第一服务器开辟的内存空间,得到所述第一占有率;检测所述第一服务器中全部内存占有率,得到所述第二占有率。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:激活所述第二信道之后,检测所述第一服务器的内存占有率,得到第二内存占有率;当所述第二内存占有率小于所述预设阈值时,生成第二指令,执行所述第二指令,所述第二指令用于阻塞所述第二信道,以使所述第二信道处于未激活状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:激活所述第二信道之后,生成标志信息,将所述标志信息放入所述第二信道;通过所述主线程检测所述子线程中是否存在所述标志信息;当存在所述标志信息时,执行所述生成用于激活所述第二信道的激活指令的步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收通过所述第一服务器传输的数据的数据处理状态;当当前数据的数据处理状态为传输完成时,生成回收指令,所述回收指令用于回收所述当前数据对应的内存。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种通信数据处理方法,其特征在于,所述方法包括:
检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括第一信道和第二信道;
当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列;
执行所述激活指令之前,所述方法包括:
生成标志信息,将所述标志信息放入所述第二信道;
通过主线程检测所述第二信道中是否存在所述标志信息;
当所述主线程检测到所述第二信道中存在所述标志信息时,激活子线程,并执行所述激活指令。
2.根据权利要求1所述的方法,其特征在于,所述激活所述第二信道之后,所述方法还包括:
采用所述第一信道传输已投入所述第一信道的数据。
3.根据权利要求1所述的方法,其特征在于,所述激活所述第二信道之后,所述方法还包括:
检测所述第一服务器的内存占有率,得到第二内存占有率;
当所述第二内存占有率小于所述预设阈值时,生成第二指令,执行所述第二指令,所述第二指令用于阻塞所述第二信道,以使所述第二信道处于未激活状态。
4.根据权利要求1所述的方法,其特征在于,所述内存占有率包括第一占有率和第二占有率,所述检测第一服务器的内存占有率,包括:
检测预设时间段内,所述第一服务器开辟的内存空间,得到所述第一占有率;
检测所述第一服务器中全部内存占有率,得到所述第二占有率。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收通过所述第一信道传输的数据的数据处理状态;
当当前数据的数据处理状态为传输完成时,生成回收指令,所述回收指令用于回收所述当前数据对应的内存。
6.根据权利要求1所述的方法,其特征在于,通过主线程执行所述第一信道的数据传输,通过所述主线程的子线程执行所述第二信道的数据传输。
7.一种通信数据处理装置,其特征在于,所述装置包括:
第一检测模块,用于检测第一服务器的内存占有率,得到第一内存占有率,所述第一服务器包括第一信道和第二信道;
激活模块,用于当所述第一信道处于通信状态,所述第二信道处于未激活状态,且所述第一内存占有率大于或等于预设阈值时,生成用于激活所述第二信道的激活指令,执行所述激活指令,以使所述第二信道传输所述第一服务器中未投入所述第一信道的数据,所述第二信道传输的数据缓存至消息队列;
所述装置还包括:
标准信息生成模块,用于生成标志信息,将所述标志信息放入所述第二信道;
标志检测模块,用于通过主线程检测所述第二信道中是否存在所述标志信息;
执行模块,用于当所述主线程检测到所述第二信道中存在所述标志信息时,激活子线程,并执行所述激活指令。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010588618.XA CN111858088B (zh) | 2020-06-24 | 2020-06-24 | 通信数据处理方法、装置、计算机设备和存储介质 |
PCT/CN2020/140014 WO2021258696A1 (zh) | 2020-06-24 | 2020-12-28 | 通信数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010588618.XA CN111858088B (zh) | 2020-06-24 | 2020-06-24 | 通信数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858088A CN111858088A (zh) | 2020-10-30 |
CN111858088B true CN111858088B (zh) | 2024-06-14 |
Family
ID=72989263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010588618.XA Active CN111858088B (zh) | 2020-06-24 | 2020-06-24 | 通信数据处理方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111858088B (zh) |
WO (1) | WO2021258696A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858088B (zh) * | 2020-06-24 | 2024-06-14 | 珠海格力电器股份有限公司 | 通信数据处理方法、装置、计算机设备和存储介质 |
CN115550080A (zh) * | 2022-09-19 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种网卡、数据传输***、方法、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625117B1 (en) * | 1999-09-30 | 2003-09-23 | International Business Machines Corporation | Method and apparatus for switching messages from a primary message channel to a secondary message channel in a message queuing system |
CN104579770A (zh) * | 2014-12-30 | 2015-04-29 | 华为技术有限公司 | 一种管理数据传输通道的方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4644175B2 (ja) * | 2006-10-10 | 2011-03-02 | 日本放送協会 | アクセス負荷制御装置およびそのプログラム、ならびに、投稿受付システム |
CN101373990B (zh) * | 2008-09-23 | 2012-09-05 | 北京星网锐捷网络技术有限公司 | 一种链路备份方法及装置 |
CN103390049A (zh) * | 2013-07-23 | 2013-11-13 | 南京联创科技集团股份有限公司 | 一种基于内存数据库缓存的高速消息队列溢出的处理方法 |
CN104038439B (zh) * | 2014-06-18 | 2017-05-24 | 中国工商银行股份有限公司 | 报文流量控制方法及*** |
CN108243047B (zh) * | 2016-12-27 | 2023-01-10 | 中兴通讯股份有限公司 | 一种业务切换方法、装置及业务切换*** |
CN107105015B (zh) * | 2017-03-31 | 2020-11-27 | 北京奇艺世纪科技有限公司 | 一种数据流的分流方法及装置 |
CN109189577B (zh) * | 2018-08-31 | 2020-05-19 | 武汉达梦数据库有限公司 | 一种数据同步时防止内存溢出的方法和装置 |
CN109344137A (zh) * | 2018-10-09 | 2019-02-15 | 广东网安科技有限公司 | 一种日志存储方法及*** |
CN110943998B (zh) * | 2019-12-04 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种信号传输方法、装置、设备及介质 |
CN111858088B (zh) * | 2020-06-24 | 2024-06-14 | 珠海格力电器股份有限公司 | 通信数据处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-06-24 CN CN202010588618.XA patent/CN111858088B/zh active Active
- 2020-12-28 WO PCT/CN2020/140014 patent/WO2021258696A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6625117B1 (en) * | 1999-09-30 | 2003-09-23 | International Business Machines Corporation | Method and apparatus for switching messages from a primary message channel to a secondary message channel in a message queuing system |
CN104579770A (zh) * | 2014-12-30 | 2015-04-29 | 华为技术有限公司 | 一种管理数据传输通道的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2021258696A1 (zh) | 2021-12-30 |
CN111858088A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858088B (zh) | 通信数据处理方法、装置、计算机设备和存储介质 | |
CN105426271B (zh) | 对分布式存储***的锁管理的方法和装置 | |
CN104503887A (zh) | 计算设备状态展示方法及装置 | |
CN103218307B (zh) | 内存管理***和内存管理方法 | |
CN110532205B (zh) | 数据传输方法、装置、计算机设备和计算机可读存储介质 | |
CN110719318A (zh) | 消息处理方法和*** | |
CN108446172B (zh) | 数据调取方法、装置、计算机设备和存储介质 | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与*** | |
CN109669877B (zh) | 内存管理方法、装置、终端及存储介质 | |
CN112650575B (zh) | 资源调度方法、装置和云端服务*** | |
CN102594860A (zh) | 混合同步和异步数据流 | |
EP3993346A1 (en) | Method and device for distributed data storage | |
CN110795166B (zh) | 一种数据处理方法及装置 | |
CN114629883B (zh) | 服务请求的处理方法、装置、电子设备及存储介质 | |
CN103024058A (zh) | Web服务调用方法及*** | |
CN109327506A (zh) | 一种资源分配方法、装置和可读存储介质 | |
CN109756429A (zh) | 带宽分配方法及设备 | |
CN110333916A (zh) | 请求消息处理方法、装置、计算机***及可读存储介质 | |
CN112260962A (zh) | 一种带宽控制方法及装置 | |
CN109933435B (zh) | 控制方法、装置及计算机设备 | |
CN109522113B (zh) | 一种内存管理方法及装置 | |
CN107193488B (zh) | 一种分布式***数据重分配方法及其装置 | |
CN116931814A (zh) | 一种云硬盘扩容的方法、装置、电子设备及存储介质 | |
CN107707396A (zh) | 一种乱码监控方法、存储介质和服务器 | |
CN111880945A (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 |