技术领域technical field
本发明实施例涉及消息处理技术领域,特别涉及响应消息的缓冲方法及服务器。The embodiment of the present invention relates to the technical field of message processing, in particular to a buffering method and server for response messages.
背景技术Background technique
为了提高socket响应消息发送吞吐量,需要由服务器中的处理消息请求线程把响应消息写入缓冲区,并由消息处理线程来将缓冲区中的消息发送出去,因此,既要保证消息写入到缓冲区的响应速度,又要保证缓冲区发送消息的响应速度。In order to improve the socket response message sending throughput, it is necessary to write the response message into the buffer by the message processing request thread in the server, and send the message in the buffer by the message processing thread. Therefore, it is necessary to ensure that the message is written to The response speed of the buffer, but also to ensure the response speed of the message sent by the buffer.
目前中小企业服务器,一般的缓冲区都只是在内存中。服务器的带宽普遍在1~100M之间,网络传输速度0.12~12.5MB/s之间。而内存读写速度在1G/s以上,如果出现大量内存随机访问,导致频繁出现缺页或者页面调入调出的情况,内存随机读写速度会大大降低;若响应消息的流量较大,很容易造成服务器网络发送消息的响应速度跟不上消息增加速度,造成请求堆积、服务器无响应。At present, for SME servers, the general buffers are only in memory. The bandwidth of the server is generally between 1 and 100M, and the network transmission speed is between 0.12 and 12.5MB/s. However, if the memory read/write speed is above 1G/s, if there is a large amount of random memory access, resulting in frequent page faults or page transfers, the memory random read/write speed will be greatly reduced; if the traffic of response messages is large, it will It is easy to cause the response speed of the server network to send messages to not keep up with the speed of message increase, resulting in the accumulation of requests and no response from the server.
发明人发现现有技术中至少存在如下问题:目前的中小企业服务器,当出现内存缓冲区满了(网络发送速度跟不上消息增加速度)的情况时,只能停掉服务器或动态增加内存缓冲区大小,这样既影响系统的响应时间又导致系统的不稳定性,而且内存是相对昂贵资源,特别是达到一定大小后再扩容,费用相当高。The inventor finds that there are at least the following problems in the prior art: the current SME server, when the memory buffer is full (the network sending speed cannot keep up with the message increase speed), the server can only be stopped or the memory buffer can be dynamically increased This will not only affect the response time of the system but also lead to system instability, and memory is a relatively expensive resource, especially when it reaches a certain size and then expanded, the cost is quite high.
发明内容Contents of the invention
本发明实施方式的目的在于提供一种响应消息的缓冲方法及服务器,不仅提升了系统响应时间和系统稳定性,而且节约了内存成本。The purpose of the embodiments of the present invention is to provide a response message buffering method and server, which not only improve system response time and system stability, but also save memory costs.
为解决上述技术问题,本发明的实施方式提供了一种响应消息的缓冲方法,包括:当存在需要缓冲的响应消息时,判断预设的内存缓冲区的剩余空间是否能够存放所述响应消息;若所述内存缓冲区的剩余空间不能够存放所述响应消息,则将所述响应消息存放至预设的磁盘缓冲区。In order to solve the above-mentioned technical problem, the embodiment of the present invention provides a buffering method of a response message, including: when there is a response message that needs to be buffered, judging whether the remaining space of the preset memory buffer can store the response message; If the remaining space of the memory buffer cannot store the response message, store the response message in a preset disk buffer.
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够上述响应消息的缓冲方法。An embodiment of the present invention also provides a server, including: at least one processor; and a memory connected in communication with the at least one processor; wherein, the memory stores a program executable by the at least one processor Instructions executed by the at least one processor to enable the at least one processor to perform the buffering method of the above-mentioned response message.
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述响应消息的缓冲方法。Embodiments of the present invention also provide a computer-readable storage medium storing a computer program, and when the computer program is executed by a processor, the above method for buffering the response message is implemented.
本发明实施方式相对于现有技术而言,当内存缓冲区的剩余空间不能够存放所述响应消息,则将所述响应消息存放至预设的磁盘缓冲区;即能够在内存缓冲区已满情况下,利用磁盘缓冲区对响应消息进行缓冲,而无需停掉服务器或动态增加内存缓冲区大小,从而能够在最大限度地利用设置的内存空间前提下,充分利用磁盘空间,不仅提升了系统响应时间和系统稳定性,而且节约了内存成本。Compared with the prior art, the embodiments of the present invention store the response message in the preset disk buffer when the remaining space of the memory buffer cannot store the response message; Under certain circumstances, the response message is buffered by using the disk buffer without stopping the server or dynamically increasing the size of the memory buffer, so that the disk space can be fully utilized under the premise of maximizing the use of the set memory space, which not only improves the system response time and system stability, and save memory costs.
另外,所述将所述响应消息存放至预设的磁盘缓冲区,具体包括:获取所述磁盘缓冲区中的当前缓冲文件;根据预设的单文件大小阈值与所述当前缓冲文件的文件大小,计算出所述当前缓冲文件的剩余可用大小;判断所述当前缓冲文件的剩余可用大小是否能够存放所述响应消息;若所述当前缓冲文件的剩余可用大小能够存放所述响应消息,将所述响应消息存放至所述当前缓冲文件;若所述当前缓冲文件的剩余可用大小不能够存放所述响应消息,新建另一缓冲文件,并将所述另一缓冲文件设定为所述当前缓冲文件,并将所述响应消息存放至重新设定的所述当前缓冲文件。本实施例的技术方案,可以确保单个缓冲文件的大小不超过预设的单文件大小阈值,从而可以避免由于单个文件过大而可能导致的读写错误的问题。In addition, the storing the response message in the preset disk buffer specifically includes: obtaining the current buffer file in the disk buffer; , calculate the remaining available size of the current buffer file; judge whether the remaining available size of the current buffer file can store the response message; if the remaining available size of the current buffer file can store the response message, store the response message The response message is stored in the current buffer file; if the remaining available size of the current buffer file cannot store the response message, create another buffer file and set the other buffer file as the current buffer file file, and store the response message in the reset current buffer file. The technical solution of this embodiment can ensure that the size of a single buffer file does not exceed the preset single file size threshold, thereby avoiding the problem of reading and writing errors that may be caused by a single file being too large.
另外,所述判断预设的内存缓冲区的剩余空间是否能够存放所述响应消息,具体包括:获取所述内存缓冲区中的当前缓冲块;判断所述当前缓冲块的剩余空间是否能够存放所述响应消息;若所述当前缓冲块的剩余空间不能够存放所述响应消息,判断所述内存缓冲区中是否存在另一缓冲块,其中所述另一缓冲块的剩余空间能够存放所述响应消息;若不存在所述另一缓冲块,则判定所述内存缓冲区的剩余空间不能够存放所述响应消息。本实施例提供了判断内存缓冲区的剩余空间是否能够存放所述响应消息的一种具体方式。In addition, the judging whether the remaining space of the preset memory buffer can store the response message specifically includes: obtaining the current buffer block in the memory buffer; judging whether the remaining space of the current buffer block can store the the response message; if the remaining space of the current buffer block cannot store the response message, determine whether there is another buffer block in the memory buffer, wherein the remaining space of the other buffer block can store the response message; if the other buffer block does not exist, it is determined that the remaining space of the memory buffer cannot store the response message. This embodiment provides a specific way of judging whether the remaining space of the memory buffer can store the response message.
另外,所述将所述响应消息存放至所述磁盘缓冲区之后,还包括:获取所述响应消息的指针,并将所述响应消息的指针加入预设的消息队列;所述消息队列中包括多个所述响应消息的指针;在消息发送过程中,从所述消息队列中依次获取各所述响应消息的指针;根据各所述响应消息的指针获取各所述响应消息,并将获取的各所述响应消息发送出去;其中,若所述响应消息的指针指向所述磁盘缓冲区,则从所述磁盘缓冲区获取所述响应消息;若所述响应消息的指针指向所述内存缓冲区,则从所述内存缓冲区获取所述响应消息。本实施例提供了响应消息发送过程的一种具体方式。In addition, after storing the response message in the disk buffer, it also includes: obtaining the pointer of the response message, and adding the pointer of the response message to a preset message queue; the message queue includes A plurality of pointers to the response messages; during the message sending process, sequentially obtain pointers to each of the response messages from the message queue; obtain each of the response messages according to the pointers of each of the response messages, and use the obtained Each of the response messages is sent out; wherein, if the pointer of the response message points to the disk buffer, the response message is obtained from the disk buffer; if the pointer of the response message points to the memory buffer , then obtain the response message from the memory buffer. This embodiment provides a specific manner of responding to the message sending process.
另外,在所述将获取的各所述响应消息发送出去之后,还包括:若所述响应消息是从所述磁盘缓冲区获取的,判断所述响应消息所在的缓冲文件中的所有响应消息是否均已发送完毕;若均已发送完毕,则回收所述响应消息所在的缓冲文件。本实施例提供的技术方案,当响应消息发送完毕时,能够对磁盘缓冲区的缓冲文件进行及时回收,从而便于快速循环利用。In addition, after sending out each of the obtained response messages, it also includes: if the response messages are obtained from the disk buffer, judging whether all the response messages in the buffer file where the response messages are located are All have been sent; if all have been sent, the buffer file where the response message is located is recycled. The technical solution provided by this embodiment can recover the buffered files in the disk buffer in time when the response message is sent, so as to facilitate rapid recycling.
另外,所述回收所述响应消息所在的缓冲文件,具体包括:将所述响应消息所在的缓冲文件标记为待回收状态;定时回收被标记为待回收状态的所述缓冲文件。本实施例提供了回收磁盘缓存文件的一种具体实现方法。In addition, the recovering the buffer file where the response message is located specifically includes: marking the buffer file where the response message is located as a state to be recovered; and periodically recovering the buffer file marked as the state to be recovered. This embodiment provides a specific implementation method for reclaiming disk cache files.
附图说明Description of drawings
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。One or more embodiments are exemplified by the pictures in the corresponding drawings, and these exemplifications do not constitute a limitation to the embodiments. Elements with the same reference numerals in the drawings represent similar elements. Unless otherwise stated, the drawings in the drawings are not limited to scale.
图1是根据本发明第一实施例的响应消息的缓冲方法的流程图;Fig. 1 is a flow chart of a method for buffering a response message according to a first embodiment of the present invention;
图2是根据本发明第一实施例的响应消息的缓冲方法的具体流程图;FIG. 2 is a specific flowchart of a method for buffering a response message according to the first embodiment of the present invention;
图3是根据本发明第二实施例的响应消息的缓冲方法的流程图;3 is a flowchart of a method for buffering a response message according to a second embodiment of the present invention;
图4是根据本发明第三实施例的响应消息的缓冲方法的流程图;。Fig. 4 is a flowchart of a method for buffering a response message according to a third embodiment of the present invention;
图5是根据本发明第四实施例的服务器的具体流程图。Fig. 5 is a specific flowchart of the server according to the fourth embodiment of the present invention.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention more clear, various implementation modes of the present invention will be described in detail below in conjunction with the accompanying drawings. However, those of ordinary skill in the art can understand that, in each implementation manner of the present invention, many technical details are provided for readers to better understand the present application. However, even without these technical details and various changes and modifications based on the following implementation modes, the technical solution claimed in this application can also be realized.
本发明的第一实施方式涉及一种响应消息的缓冲方法,包括:当存在需要缓冲的响应消息时,判断预设的内存缓冲区的剩余空间是否能够存放响应消息;若内存缓冲区的剩余空间不能够存放响应消息,则将响应消息存放至预设的磁盘缓冲区。The first embodiment of the present invention relates to a method for buffering response messages, including: when there is a response message that needs to be buffered, judging whether the remaining space of the preset memory buffer can store the response message; if the remaining space of the memory buffer If the response message cannot be stored, the response message will be stored in the preset disk buffer.
本实施方式与现有技术相比,当内存缓冲区的剩余空间不能够存放所述响应消息,则将所述响应消息存放至预设的磁盘缓冲区;即能够在内存缓冲区已满情况下,利用磁盘缓冲区对响应消息进行缓冲,而无需停掉服务器或动态增加内存缓冲区大小,从而能够在最大限度地利用设置的内存空间前提下,充分利用磁盘空间,不仅提升了系统响应时间和系统稳定性,而且节约了内存成本。Compared with the prior art, this implementation mode stores the response message in the preset disk buffer when the remaining space of the memory buffer cannot store the response message; , use the disk buffer to buffer the response message without stopping the server or dynamically increasing the size of the memory buffer, so that the disk space can be fully utilized under the premise of maximizing the use of the set memory space, which not only improves the system response time and System stability, and save memory costs.
下面对本实施方式的响应消息的缓冲方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。The implementation details of the buffering method of the response message in this embodiment will be described in detail below. The following content is only the implementation details provided for the convenience of understanding, and is not necessary for implementing the solution.
本实施方式中的响应消息的缓冲方法应用于服务器,请参考图1,具体包括:The buffering method of the response message in this embodiment is applied to the server, please refer to Figure 1, specifically including:
步骤101,判断是否存在需要缓存的响应消息。若是,则进入步骤102,若否,则返回步骤101。Step 101, judging whether there is a response message that needs to be cached. If yes, go to step 102, if not, go back to step 101.
具体而言,当服务器接收到客户端的请求信息时,会根据请求信息生成响应消息,此时服务器判定存在需要缓存的响应消息,然后进入步骤102;否则,重复执行步骤101;即可以理解为,服务器会实时检测是否存在需要缓存的响应消息,每当检测到新生成了一个响应消息时,就会判定存在需要缓存的响应消息。Specifically, when the server receives the request information from the client, it will generate a response message according to the request information. At this time, the server determines that there is a response message that needs to be cached, and then enters step 102; otherwise, repeat step 101; that is, it can be understood that, The server will detect in real time whether there is a response message that needs to be cached, and whenever it detects that a new response message is generated, it will determine that there is a response message that needs to be cached.
步骤102,判断预设的内存缓冲区的剩余空间是否能够存放响应消息。若是,则进入步骤104;若否,则进入步骤103。Step 102, judging whether the remaining space of the preset memory buffer can store the response message. If yes, go to step 104; if not, go to step 103.
具体而言,服务器内部预设了内存缓冲区,以供缓存响应消息。服务器会判断内存缓冲区的剩余空间与响应消息所需的存放空间的大小关系,从而判断出内存缓冲区的剩余空间是否能够存放响应消息。如图2所示,本实施例中的步骤102包括多个子步骤,其中图2是本实施例较为细化的具体流程图,请同时参考图1和图2。Specifically, a memory buffer is preset inside the server for caching response messages. The server will judge the size relationship between the remaining space of the memory buffer and the storage space required for the response message, thereby judging whether the remaining space of the memory buffer can store the response message. As shown in FIG. 2 , step 102 in this embodiment includes multiple sub-steps, wherein FIG. 2 is a more detailed specific flowchart of this embodiment. Please refer to FIG. 1 and FIG. 2 at the same time.
子步骤1021,获取内存缓冲区中的当前缓冲块。Sub-step 1021, obtain the current buffer block in the memory buffer.
本实施例中,内存缓冲区被预先划分成多个缓冲块,并预先设定了每个缓冲块的预设空间。服务器在对内存缓冲区进行写入操作时,会将多个缓冲块依次写满;即,服务器先获取一个缓冲块并允许对该缓冲块执行写入操作,然后将若干个响应消息存放在该缓冲块中,只有当该缓冲块存满后,服务器才获取另一个缓冲块并允许对该另一个缓冲块执行写入操作,然后向该另一个缓冲块内存放若干个响应消息,以此类推。In this embodiment, the memory buffer is pre-divided into multiple buffer blocks, and the preset space of each buffer block is preset. When the server writes to the memory buffer, it will fill up multiple buffer blocks in turn; that is, the server first obtains a buffer block and allows writing to the buffer block, and then stores several response messages in the buffer block. In the buffer block, only when the buffer block is full, the server obtains another buffer block and allows writing to the other buffer block, and then stores several response messages in the other buffer block, and so on .
其中,当前缓冲块即是指当前被允许执行写入操作的缓冲块;因此,获取内存缓冲区中的当前缓冲块,即为获取内存缓冲区中的当前被允许执行写入操作的缓冲块。Wherein, the current buffer block refers to the buffer block that is currently allowed to perform a write operation; therefore, obtaining the current buffer block in the memory buffer means obtaining the buffer block that is currently allowed to perform a write operation in the memory buffer.
需要说明的是,本实施例中,每个缓冲块的预设空间是相等的,然在其他例子中,每个缓冲块的预设空间也可以不相等;另外,本实施例是以内存缓冲区被划分成多个缓冲块的形式存放响应消息,然不限于此,凡是能够实现响应消息存放的方式均可以。It should be noted that, in this embodiment, the preset space of each buffer block is equal, but in other examples, the preset space of each buffer block may also be unequal; in addition, this embodiment uses memory buffer The area is divided into multiple buffer blocks to store the response message, but it is not limited to this, and any method that can realize the storage of the response message is acceptable.
子步骤1022,判断当前缓冲块的剩余空间是否能够存放响应消息。若是,则进入步骤104;若否,则进入子步骤1023。Sub-step 1022, judging whether the remaining space of the current buffer block can store the response message. If yes, go to step 104; if not, go to sub-step 1023.
其中,当前缓冲块的剩余空间即为当前缓冲块的预设空间与当前缓冲块的已使用空间的差值。服务器内部对自动记录各缓冲块的已使用空间和剩余空间,当需要使用时,即可获取各缓冲块的已使用空间和剩余空间。Wherein, the remaining space of the current buffer block is the difference between the preset space of the current buffer block and the used space of the current buffer block. The used space and remaining space of each buffer block are automatically recorded inside the server, and the used space and remaining space of each buffer block can be obtained when it needs to be used.
具体而言,服务器会判断当前缓冲块的剩余空间是否小于响应消息所需的存储空间;若当前缓冲块的剩余空间小于响应消息所需的存储空间,表示当前缓冲块不能够存放该响应消息,则需要判断是否存在另一缓冲块,其中该另一缓冲块的剩余空间能够存放响应消息(即进入子步骤1023);若当前缓冲块的剩余空间大于或等于响应消息所需的存储空间,则判定当前缓冲块的剩余空间能够存放响应消息,并将响应消息存放至当前缓冲块(即进入步骤104)。Specifically, the server will determine whether the remaining space of the current buffer block is less than the storage space required for the response message; if the remaining space of the current buffer block is less than the storage space required for the response message, it means that the current buffer block cannot store the response message. Then need to judge whether there is another buffer block, wherein the remaining space of this another buffer block can deposit response message (promptly enter substep 1023); If the remaining space of current buffer block is greater than or equal to the required storage space of response message, then Determine that the remaining space of the current buffer block can store the response message, and store the response message in the current buffer block (that is, enter step 104).
子步骤1023,判断内存缓冲区中是否存在另一缓冲块,其中该另一缓冲块的剩余空间能够存放响应消息。若是,则进入步骤104;若否,则进入子步骤103。Sub-step 1023, judging whether there is another buffer block in the memory buffer, wherein the remaining space of the other buffer block can store the response message. If yes, go to step 104; if not, go to sub-step 103.
即,从内存缓冲区查找是否存在另一缓冲块,其中该另一缓冲块的剩余空间能够存放响应消息。若存在该另一缓冲块,则判定内存缓冲区的剩余空间能够存放响应消息;并将该另一缓冲块设定为当前缓冲块(即对当前缓冲块进行重新设定),即进入子步骤1024,然后将响应消息存放至重新设定的该当前缓冲块中,即进入步骤104。That is, it is searched from the memory buffer whether there is another buffer block, wherein the remaining space of the other buffer block can store the response message. If there is another buffer block, then determine that the remaining space of the memory buffer can store the response message; and this other buffer block is set as the current buffer block (i.e., the current buffer block is reset), that is, enter the substep 1024, and then store the response message in the reset current buffer block, that is, enter step 104.
若不存在该另一缓冲块,即内存缓冲区中没有一个缓冲块的剩余空间能够存放响应消息,则判定内存缓冲区的剩余空间不能够存放响应消息,此时,将所述响应消息存放至预设的磁盘缓冲区,即进入步骤103。If there is no other buffer block, that is, the remaining space of no buffer block in the memory buffer can store the response message, then it is determined that the remaining space of the memory buffer cannot store the response message, and at this time, the response message is stored in The preset disk buffer, that is, go to step 103.
子步骤1024,将该另一缓冲块设定为当前缓冲块。Sub-step 1024, setting the other buffer block as the current buffer block.
以上是所述的步骤102的具体实现方式,只是作为一个例子进行说明,本实施例并不以此为限。The above is the specific implementation manner of step 102, which is only described as an example, and this embodiment is not limited thereto.
步骤103,将响应消息存放至预设的磁盘缓冲区。Step 103, storing the response message to a preset disk buffer.
具体而言,服务器内部预先配置了磁盘缓冲区。现有技术中,磁盘缓冲区通常是在将外部获取的数据写入硬盘时,起到缓冲作用;而本发明的实施例中,可以将响应消息存放至磁盘缓冲区,即磁盘缓冲区还可以对响应消息起到缓冲作用。Specifically, disk buffers are pre-configured inside the server. In the prior art, the disk buffer usually plays a buffer role when writing externally obtained data into the hard disk; however, in the embodiment of the present invention, the response message can be stored in the disk buffer, that is, the disk buffer can also Play a buffer role in the response message.
步骤104,将响应消息存放至内存缓冲区。Step 104, store the response message in the memory buffer.
即,服务器将响应消息存放至内存缓冲区的当前缓冲块。That is, the server stores the response message in the current buffer block of the memory buffer.
需要说明的是,本实施例中并没有预先对磁盘缓冲区的总的空间设定;即可以认为,只要有存放需求,就可以将响应消息存放至磁盘缓冲区。需要说明的是,在实际应用中,只有在内存缓冲区溢出(即内存缓冲区的剩余空间不足)时,才会将响应消息存放至磁盘缓冲区;并且,由于内存缓冲区中的响应消息在发送完毕时,其所占的内存空间会被及时回收,因此,内存缓冲区溢出的量可能并不会特别大,故不会占用磁盘缓冲区太大的空间。It should be noted that, in this embodiment, the total space of the disk buffer is not set in advance; that is, it can be considered that as long as there is a storage requirement, the response message can be stored in the disk buffer. It should be noted that, in practical applications, only when the memory buffer overflows (that is, the remaining space of the memory buffer is insufficient), the response message will be stored in the disk buffer; and, since the response message in the memory buffer is in the When the sending is completed, the memory space occupied by it will be recovered in time. Therefore, the amount of memory buffer overflow may not be particularly large, so it will not occupy too much space in the disk buffer.
较佳的,本实施例的响应消息的缓冲方法的实现细节中,还包括以下步骤,如图2中所示。Preferably, the implementation details of the response message buffering method in this embodiment further include the following steps, as shown in FIG. 2 .
步骤105,获取响应消息的指针,并将响应消息的指针加入预设的消息队列;消息队列中包括多个所述响应消息的指针。Step 105, obtaining the pointer of the response message, and adding the pointer of the response message to a preset message queue; the message queue includes multiple pointers of the response message.
具体而言,服务器会预先设置消息队列,消息队列的数量可以根据需要设定。服务器在将响应消息存放至内存缓冲区或者磁盘缓冲区后,还要获取响应消息的指针,并把响应消息的指针(响应消息目前存放的具体地址)放入预先设定的消息队列中,以排队等到发送;其中,每个消息队列中包括多个响应消息的指针,且依次排列。Specifically, the server will preset message queues, and the number of message queues can be set as required. After the server stores the response message in the memory buffer or the disk buffer, it also needs to obtain the pointer of the response message, and put the pointer of the response message (the specific address currently stored in the response message) into the preset message queue to Waiting in queue until sending; wherein, each message queue includes pointers to multiple response messages, which are arranged in sequence.
其中,当消息队列的数量为多个时,服务器可以按照预设规则将该响应消息放入某一个消息队列;该预设规则可以根据需要设定,例如,将该响应消息放入包含较少响应消息的消息队列。Wherein, when there are multiple message queues, the server can put the response message into a certain message queue according to preset rules; the preset rules can be set according to needs, for example, put the response message into The message queue that responds to messages.
步骤106,在消息发送过程中,从消息队列中依次获取各响应消息的指针。In step 106, during the message sending process, the pointers of each response message are sequentially obtained from the message queue.
步骤107,根据各响应消息的指针获取各响应消息,并将获取的各响应消息发送出去。Step 107, obtain each response message according to the pointer of each response message, and send each obtained response message.
具体而言,服务器会预先创建消息处理线程,以用于将响应消息发送出去;其中,消息处理线程的数量与消息队列的数量相等,即一个消息处理线程负责一个消息队列中的响应消息的发送。Specifically, the server will pre-create message processing threads for sending out response messages; wherein, the number of message processing threads is equal to the number of message queues, that is, one message processing thread is responsible for sending response messages in one message queue .
在消息发送过程中,消息处理线程按照响应消息的指针在消息队列中的排列顺序,依次获取各响应消息的指针,并根据各响应消息的指针获取各响应消息,然后将其发送出去(发送至客户端)。其中,若响应消息的指针指向磁盘缓冲区,则从磁盘缓冲区获取所述响应消息;若响应消息的指针指向内存缓冲区,则从内存缓冲区获取响应消息。In the message sending process, the message processing thread obtains the pointers of each response message in turn according to the order in which the pointers of the response messages are arranged in the message queue, and obtains each response message according to the pointers of each response message, and then sends it out (sent to client). Wherein, if the pointer of the response message points to the disk buffer, the response message is obtained from the disk buffer; if the pointer of the response message points to the memory buffer, the response message is obtained from the memory buffer.
例如,消息处理线程从消息队列获取了一个响应消息的指针,如果该响应消息的指针指向磁盘缓冲区(表示该响应消息被存放在磁盘缓冲区),则消息处理线程访问磁盘缓冲区,并根据该响应消息的指针获取该响应消息;如果该响应消息的指针指向内存缓冲区(表示该响应消息被存放在内存缓冲区),则消息处理线程访问内存缓冲区,并根据该响应消息的指针获取该响应消息;然后将获取的响应消息发送出去;接着,消息处理线程从消息队列在获取下一个响应消息的指针,以此类推。For example, the message processing thread obtains a pointer of a response message from the message queue, if the pointer of the response message points to the disk buffer (indicating that the response message is stored in the disk buffer), the message processing thread accesses the disk buffer, and according to The pointer of the response message obtains the response message; if the pointer of the response message points to the memory buffer (indicating that the response message is stored in the memory buffer), the message processing thread accesses the memory buffer, and obtains the response message according to the pointer of the response message The response message; then the obtained response message is sent out; then, the message processing thread obtains the pointer of the next response message from the message queue, and so on.
本发明的第二实施方式涉及一种响应消息的缓冲方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:在第二实施方式中,提供了步骤“将响应消息存放至磁盘缓冲区”的另一种实现方式。The second embodiment of the present invention relates to a method for buffering response messages. The second embodiment is substantially the same as the first embodiment, and the main difference is that: in the second embodiment, another implementation manner of the step "store the response message into the disk buffer" is provided.
如图3所示,是本实施例的响应消息的缓冲方法的流程图,本实施例中的图3是在图1的基础上做出的调整,然不限于此,也可以在图2的基础上做出调整。As shown in Figure 3, it is a flow chart of the buffering method of the response message in this embodiment, and Figure 3 in this embodiment is an adjustment made on the basis of Figure 1, but it is not limited thereto, it can also be used in Figure 2 Make adjustments based on
其中,步骤201~202、204分别与第一实施例中的步骤101~102、104大致相同,此处不再赘述。不同之处在于,第二实施例中的步骤203,还包括如下子步骤:Wherein, steps 201-202, 204 are substantially the same as steps 101-102, 104 in the first embodiment respectively, and will not be repeated here. The difference is that step 203 in the second embodiment also includes the following sub-steps:
子步骤2031,获取磁盘缓冲区中的当前缓冲文件。Sub-step 2031, obtain the current buffer file in the disk buffer.
其中,服务器在磁盘缓冲区存储数据时,会创建缓冲文件,并将数据写入缓冲文件中。具体而言,本实施例中,服务器会在系统内存中预先创建磁盘缓冲区目录;当要向磁盘缓冲区存放响应消息时,服务器查询该磁盘缓冲区目录中是否存在缓存文件;若存在,则获取最新创建的缓冲文件,将其作为当前缓冲文件;若不存在,则新创建一个缓冲文件,并将其作为当前缓冲文件。Wherein, when the server stores data in the disk buffer, it creates a buffer file and writes the data into the buffer file. Specifically, in this embodiment, the server will pre-create a disk buffer directory in the system memory; when the response message is to be stored in the disk buffer, the server queries whether there is a cache file in the disk buffer directory; if it exists, then Get the newly created buffer file and use it as the current buffer file; if it does not exist, create a new buffer file and use it as the current buffer file.
其中,当前缓冲文件即是指当前被允许执行写入操作的缓冲文件;因此,获取磁盘缓冲区中的当前缓冲文件,即为获取磁盘缓冲区中的当前被允许执行写入操作的缓冲文件。Wherein, the current buffer file refers to the buffer file that is currently allowed to perform a write operation; therefore, obtaining the current buffer file in the disk buffer is to obtain the current buffer file that is allowed to perform a write operation in the disk buffer.
子步骤2032,根据预设的单文件大小阈值与当前缓冲文件的文件大小,计算出当前缓冲文件的剩余可用大小。Sub-step 2032, calculate the remaining available size of the current buffer file according to the preset single file size threshold and the file size of the current buffer file.
本实施例中,服务器系统中预先设定了单文件大小阈值,即磁盘缓冲区中每个缓冲文件的最大容量;其中,该单文件大小阈值是服务器根据其系统配置自动设定的;其目的在于,防止单个缓冲文件过大而可能导致的服务器在读写时出错的问题。In this embodiment, the single file size threshold is preset in the server system, that is, the maximum capacity of each buffered file in the disk buffer; wherein, the single file size threshold is automatically set by the server according to its system configuration; its purpose It is to prevent the problem that the server may make errors when reading and writing due to the large size of a single buffer file.
服务器计算单文件大小阈值与当前缓冲文件的文件大小的差值,并将该差值作为当前缓冲文件的剩余可用大小。The server calculates the difference between the single file size threshold and the file size of the current buffered file, and uses the difference as the remaining available size of the current buffered file.
子步骤2033,判断当前缓冲文件的剩余可用大小是否能够存放响应消息。若是,则直接进入子步骤2035;若否,则先进入子步骤2034,再进入子步骤2035。Sub-step 2033, judging whether the remaining available size of the current buffer file can store the response message. If yes, go directly to sub-step 2035; if not, go to sub-step 2034 first, and then go to sub-step 2035.
具体而言,服务器会判断当前缓冲文件的剩余可用大小是否小于响应消息所需的存储空间;若当前缓冲文件的剩余可用大小小于响应消息所需的存储空间,表示假如把该响应消息存放至该当前缓冲文件,会使得该当前缓冲文件的文件大小超过预先设定的该单文件大小阈值,此时,需要新建另一缓冲文件,并将该另一缓冲文件设定为当前缓冲文件(即进入子步骤2034);若当前缓冲文件的剩余可用大小大于或等于响应消息所需的存储空间,则将响应消息存放至该当前缓冲文件(即进入子步骤2035)。Specifically, the server will judge whether the remaining available size of the current buffer file is smaller than the storage space required for the response message; if the remaining available size of the current buffer file is smaller than the storage space required for the response message, it means that if the response message is stored in the The current buffer file will cause the file size of the current buffer file to exceed the preset single file size threshold. At this time, it is necessary to create another buffer file and set the other buffer file as the current buffer file (that is, enter Sub-step 2034); if the remaining available size of the current buffer file is greater than or equal to the storage space required by the response message, then store the response message in the current buffer file (ie enter sub-step 2035).
子步骤2034,新建另一缓冲文件,并将该另一缓冲文件设定为当前缓冲文件。Sub-step 2034, create another buffer file, and set the other buffer file as the current buffer file.
具体而言,服务器在磁盘缓冲区目录中重新创建另一缓冲文件,并将该另一缓冲文件设定为当前缓冲文件;然后,将响应消息存放至重新设定的该当前缓冲文件(即进入子步骤2035)。Specifically, the server recreates another buffer file in the disk buffer directory, and sets the other buffer file as the current buffer file; then, stores the response message in the reset current buffer file (ie enters Sub-step 2035).
子步骤2035,将响应消息存放至当前缓冲文件。Sub-step 2035, save the response message to the current buffer file.
相较于第一实施例而言,本实施例提供了将响应消息存放至磁盘缓冲区的一种较佳的实现方式,其中限定了每个缓冲文件的最大存储容量,以避免可能由于得不到系统硬件支持而发生读写错误的问题。Compared with the first embodiment, this embodiment provides a better implementation of storing the response message in the disk buffer, where the maximum storage capacity of each buffer file is limited to avoid possible Read and write errors occur due to system hardware support.
本发明的第三实施方式涉及一种响应消息的缓冲方法。第三实施方式是在第二实施方式的基础上的改进,主要改进之处在于:及时检测缓冲文件中的响应消息的发送状况,以能够及时回收该缓冲文件。The third embodiment of the present invention relates to a method for buffering response messages. The third embodiment is an improvement on the basis of the second embodiment, and the main improvement is: detecting the sending status of the response message in the buffer file in time, so that the buffer file can be recovered in time.
如图4所示,为本实施例的响应消息的缓冲方法的流程图,本实施例中的图3是在图2的基础上做出的调整。其中,步骤301~307分别与第二实施例中的步骤201~207大致相同,此处不再赘述;不同之处在于,本实施例还包括步骤308~309:As shown in FIG. 4 , it is a flow chart of the response message buffering method in this embodiment. FIG. 3 in this embodiment is an adjustment made on the basis of FIG. 2 . Wherein, steps 301-307 are approximately the same as steps 201-207 in the second embodiment respectively, and will not be repeated here; the difference is that this embodiment also includes steps 308-309:
步骤308,识别响应消息是否从磁盘缓冲区获取的;若是,则进入步骤309,若否,则进入步骤311。Step 308, identify whether the response message is obtained from the disk buffer; if yes, go to step 309, if not, go to step 311.
具体而言,消息处理线程可以根据响应消息的指针识别该响应消息是否为从磁盘缓冲区获取的。如果不是从磁盘缓冲区获取,那么表示响应消息是从内存缓冲区获取的,则进入步骤311,然后再进入步骤312。Specifically, the message processing thread can identify whether the response message is obtained from the disk buffer according to the pointer of the response message. If it is not obtained from the disk buffer, it means that the response message is obtained from the memory buffer, then enter step 311, and then enter step 312.
步骤309,判断响应消息所在的缓冲文件中的所有响应消息是否均已发送完毕。若是,则进入步骤310;若否,则进入步骤311。Step 309, judging whether all the response messages in the buffer file where the response messages are located have been sent. If yes, go to step 310; if not, go to step 311.
如果响应消息是从磁盘缓冲区获取的,那么响应消息所在的缓冲文件的所有响应消息是否均已发送完毕。其中,响应消息被发送完毕后,消息处理线程会将其标志为已发送状态;因此,消息处理线程可以查询该响应消息所在的缓冲文件中的所有响应消息是否均已被标注为已发送状态,若是,则表示该响应消息所在的缓冲文件中的所有响应消息均已发送完毕。If the response message is obtained from the disk buffer, whether all the response messages in the buffer file where the response message is located have been sent. Among them, after the response message is sent, the message processing thread will mark it as sent; therefore, the message processing thread can query whether all the response messages in the buffer file where the response message is located have been marked as sent, If yes, it means that all the response messages in the buffer file where the response message is located have been sent.
步骤310,回收响应消息所在的缓冲文件。Step 310, reclaim the buffer file where the response message is located.
本实施例中,步骤310包括以下子步骤:In this embodiment, step 310 includes the following sub-steps:
子步骤3101:将响应消息所在的缓冲文件标记为待回收状态。Sub-step 3101: mark the buffer file where the response message is located as a state to be recycled.
具体而言,由于本实施例中预先创建了磁盘缓冲区目录消息(请参考第一实施例中的相关描述),消息处理线程可以在磁盘缓冲区目录中,将该响应消息所在的缓冲文件对应的文件名称标注为待回收状态。Specifically, since the disk buffer directory message is pre-created in this embodiment (please refer to the relevant description in the first embodiment), the message processing thread can correspond to the buffer file where the response message is located in the disk buffer directory The file names of are marked as pending recycling.
子步骤3102:定时回收被标记为待回收状态的缓冲文件。Sub-step 3102: Periodically recover the buffered files marked as pending recovery.
具体而言,服务器内部还创建了磁盘回收定时器和磁盘回收模块,该磁盘回收定时器会定时扫描磁盘缓冲区目录中是否有待回收的磁盘缓冲文件;若有的话,则通知通知磁盘回收模块回收该缓冲文件。Specifically, a disk recycling timer and a disk recycling module are also created inside the server. The disk recycling timer will regularly scan whether there are disk buffer files to be recycled in the disk buffer directory; if so, notify the disk recycling module Recycle the buffer file.
本实施例对于回收响应消息所在的缓冲文件的具体方式不作任何限制,上述的子步骤3101和子步骤3102只是一个较佳的例子。在其他例子中,当消息处理线程检测到某一缓冲文件中的所有响应消息均已发送完毕时,也可以直接通知磁盘回收模块回收该缓冲文件。This embodiment does not impose any limitation on the specific manner of reclaiming the buffer file where the response message is located, and the above sub-step 3101 and sub-step 3102 are just a better example. In other examples, when the message processing thread detects that all response messages in a certain buffer file have been sent, it may also directly notify the disk recycling module to recycle the buffer file.
步骤311,判断响应消息所在的缓冲块中的所有响应消息是否均已发送完毕。Step 311, judging whether all the response messages in the buffer block where the response message is located have been sent.
步骤312,回收响应消息所在的缓冲块。Step 312, reclaim the buffer block where the response message is located.
其中,响应消息所在的缓冲块的回收方式与现有技术中类似,此处不再赘述。Wherein, the recycling method of the buffer block where the response message is located is similar to that in the prior art, and will not be repeated here.
相对于第二实施例而言,本实施例中,当磁盘缓冲区中某个缓冲文件中的所有响应消息都发送完毕后,服务器可以及时回收该缓冲文件,以便于磁盘空间的循环利用。需要说明的是,本实施方式也可以是在第一实施例基础上的改进,且起到的技术效果相同。Compared with the second embodiment, in this embodiment, after all the response messages in a buffer file in the disk buffer are sent, the server can reclaim the buffer file in time, so as to facilitate the recycling of disk space. It should be noted that this implementation manner may also be an improvement on the basis of the first embodiment, and the technical effects achieved are the same.
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。The step division of the above various methods is only for the sake of clarity of description. During implementation, it can be combined into one step or some steps can be split and decomposed into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this patent. ; Adding insignificant modifications or introducing insignificant designs to the algorithm or process, but not changing the core design of the algorithm and process are all within the scope of protection of this patent.
本发明的第四实施方式涉及一种服务器,如图5所示,包括:至少一个处理器11;以及,与至少一个处理器11通信连接的存储器12;其中,存储器12存储有可被至少一个处理器11执行的指令,指令被所述至少一个处理器11执行,以使至少一个处理器11能够执行上述第一至第三实施例中任一实施例所述的响应消息的缓冲方法。The fourth embodiment of the present invention relates to a server, as shown in FIG. 5 , including: at least one processor 11; and a memory 12 communicatively connected to at least one processor 11; Instructions executed by the processor 11, the instructions are executed by the at least one processor 11, so that the at least one processor 11 can execute the response message buffering method described in any one of the first to third embodiments above.
其中,存储器12和处理器11采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器11和存储器12的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器11处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器11。Wherein, the memory 12 and the processor 11 are connected by a bus, and the bus may include any number of interconnected buses and bridges, and the bus connects one or more processors 11 and various circuits of the memory 12 together. The bus may also connect together various other circuits such as peripherals, voltage regulators, and power management circuits, all of which are well known in the art and therefore will not be further described herein. The bus interface provides an interface between the bus and the transceivers. A transceiver may be a single element or multiple elements, such as multiple receivers and transmitters, providing means for communicating with various other devices over a transmission medium. The data processed by the processor 11 is transmitted on the wireless medium through the antenna, and further, the antenna also receives the data and transmits the data to the processor 11 .
处理器11负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器12可以被用于存储处理器11在执行操作时所使用的数据。Processor 11 is responsible for managing the bus and general processing, and may also provide various functions including timing, peripheral interfacing, voltage regulation, power management, and other control functions. The memory 12 can be used to store data used by the processor 11 when performing operations.
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。A fifth embodiment of the present invention relates to a computer-readable storage medium storing a computer program. The above method embodiments are implemented when the computer program is executed by the processor.
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。That is, those skilled in the art can understand that all or part of the steps in the method of the above-mentioned embodiments can be completed by instructing related hardware through a program, the program is stored in a storage medium, and includes several instructions to make a device ( It may be a single-chip microcomputer, a chip, etc.) or a processor (processor) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-OnlyMemory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes.
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。Those of ordinary skill in the art can understand that the above-mentioned embodiments are specific examples for realizing the present invention, and in practical applications, various changes can be made to it in form and details without departing from the spirit and spirit of the present invention. scope.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810019157.7ACN108287793B (en) | 2018-01-09 | 2018-01-09 | Response message buffering method and server |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810019157.7ACN108287793B (en) | 2018-01-09 | 2018-01-09 | Response message buffering method and server |
| Publication Number | Publication Date |
|---|---|
| CN108287793Atrue CN108287793A (en) | 2018-07-17 |
| CN108287793B CN108287793B (en) | 2020-12-25 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810019157.7AExpired - Fee RelatedCN108287793B (en) | 2018-01-09 | 2018-01-09 | Response message buffering method and server |
| Country | Link |
|---|---|
| CN (1) | CN108287793B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109542662A (en)* | 2018-11-23 | 2019-03-29 | 北京锐安科技有限公司 | A kind of EMS memory management process, device, server and storage medium |
| CN109597725A (en)* | 2018-10-26 | 2019-04-09 | 深圳壹账通智能科技有限公司 | Test method, device, medium and the equipment of user message center unloading function |
| CN117295118A (en)* | 2023-10-08 | 2023-12-26 | 广州市玄武无线科技股份有限公司 | Method for buffering short message data and controlling flow with strong stability |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101276296A (en)* | 2007-03-29 | 2008-10-01 | 上海新跃仪表厂 | A Method of Realizing Message Response Mechanism on Embedded Computer System |
| CN101504617A (en)* | 2009-03-23 | 2009-08-12 | 华为技术有限公司 | Data transmitting and receiving method and device based on processor sharing internal memory |
| US20120110247A1 (en)* | 2010-10-27 | 2012-05-03 | International Business Machines Corporation | Management of cache memory in a flash cache architecture |
| CN102521347A (en)* | 2011-12-11 | 2012-06-27 | 西北工业大学 | Pattern matching intermediate result management method based on priority |
| CN103858112A (en)* | 2013-12-31 | 2014-06-11 | 华为技术有限公司 | Data-caching method, device and system |
| CN103914399A (en)* | 2012-12-31 | 2014-07-09 | 中国移动通信集团公司 | Disk cache method and device in parallel computer system |
| CN104092670A (en)* | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | Method for utilizing network cache server to process files and device for processing cache files |
| CN104965793A (en)* | 2014-09-26 | 2015-10-07 | 浙江大华技术股份有限公司 | Cloud storage data node apparatus |
| CN105677746A (en)* | 2015-12-29 | 2016-06-15 | 上海爱数信息技术股份有限公司 | Database transaction operation based duplicate files merging system and method |
| CN106776368A (en)* | 2016-11-29 | 2017-05-31 | 郑州云海信息技术有限公司 | Buffer memory management method, apparatus and system during a kind of digital independent |
| CN106815338A (en)* | 2016-12-25 | 2017-06-09 | 北京中海投资管理有限公司 | A kind of real-time storage of big data, treatment and inquiry system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101276296A (en)* | 2007-03-29 | 2008-10-01 | 上海新跃仪表厂 | A Method of Realizing Message Response Mechanism on Embedded Computer System |
| CN101504617A (en)* | 2009-03-23 | 2009-08-12 | 华为技术有限公司 | Data transmitting and receiving method and device based on processor sharing internal memory |
| US20120110247A1 (en)* | 2010-10-27 | 2012-05-03 | International Business Machines Corporation | Management of cache memory in a flash cache architecture |
| CN102521347A (en)* | 2011-12-11 | 2012-06-27 | 西北工业大学 | Pattern matching intermediate result management method based on priority |
| CN103914399A (en)* | 2012-12-31 | 2014-07-09 | 中国移动通信集团公司 | Disk cache method and device in parallel computer system |
| CN103858112A (en)* | 2013-12-31 | 2014-06-11 | 华为技术有限公司 | Data-caching method, device and system |
| CN104092670A (en)* | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | Method for utilizing network cache server to process files and device for processing cache files |
| CN104965793A (en)* | 2014-09-26 | 2015-10-07 | 浙江大华技术股份有限公司 | Cloud storage data node apparatus |
| CN105677746A (en)* | 2015-12-29 | 2016-06-15 | 上海爱数信息技术股份有限公司 | Database transaction operation based duplicate files merging system and method |
| CN106776368A (en)* | 2016-11-29 | 2017-05-31 | 郑州云海信息技术有限公司 | Buffer memory management method, apparatus and system during a kind of digital independent |
| CN106815338A (en)* | 2016-12-25 | 2017-06-09 | 北京中海投资管理有限公司 | A kind of real-time storage of big data, treatment and inquiry system |
| Title |
|---|
| (美)MICROSOFT公司著;前导工作室译: "《WINDOWS 2000 SERVER资源大全 第6卷 深入开发IIS 5》", 31 January 2001* |
| 王晓勤: "基于云存储的网盘客户端的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》* |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109597725A (en)* | 2018-10-26 | 2019-04-09 | 深圳壹账通智能科技有限公司 | Test method, device, medium and the equipment of user message center unloading function |
| CN109542662A (en)* | 2018-11-23 | 2019-03-29 | 北京锐安科技有限公司 | A kind of EMS memory management process, device, server and storage medium |
| CN109542662B (en)* | 2018-11-23 | 2022-04-05 | 北京锐安科技有限公司 | A memory management method, device, server and storage medium |
| CN117295118A (en)* | 2023-10-08 | 2023-12-26 | 广州市玄武无线科技股份有限公司 | Method for buffering short message data and controlling flow with strong stability |
| CN117295118B (en)* | 2023-10-08 | 2024-08-23 | 广州市玄武无线科技股份有限公司 | Method for buffering short message data and controlling flow |
| Publication number | Publication date |
|---|---|
| CN108287793B (en) | 2020-12-25 |
| Publication | Publication Date | Title |
|---|---|---|
| US10275163B2 (en) | Methods for controlling data transfer speed of a data storage device and a host device utilizing the same | |
| US20220206686A1 (en) | Memory Access Technology and Computer System | |
| CN103180852B (en) | Distributed data processing method and apparatus | |
| US10452122B2 (en) | Methods for controlling data transfer speed of a data storage device and a host device utilizing the same | |
| US10042576B2 (en) | Method and apparatus for compressing addresses | |
| CN110109868B (en) | Method, apparatus and computer program product for indexing files | |
| US10884926B2 (en) | Method and system for distributed storage using client-side global persistent cache | |
| CN110636122A (en) | Distributed storage method, server, system, electronic device and storage medium | |
| US20190196989A1 (en) | Method, Apparatus, and System for Accessing Memory Device | |
| CN105224255A (en) | A kind of storage file management method and device | |
| US20230137668A1 (en) | storage device and storage system | |
| EP4428703A1 (en) | Remote data access method and apparatus | |
| WO2020015670A1 (en) | File sending method, file receiving method and file transceiving apparatus | |
| CN108287793B (en) | Response message buffering method and server | |
| CN105376269B (en) | Virtual machine storage system and its implementation and device | |
| CN107180118A (en) | A kind of file system cache data managing method and device | |
| CN112463073A (en) | Object storage distributed quota method, system, equipment and storage medium | |
| CN113806295B (en) | File migration method, system, equipment and computer readable storage medium | |
| EP4040279A1 (en) | Method and apparatus for accessing solid state disk | |
| US10733118B2 (en) | Computer system, communication device, and storage control method with DMA transfer of data | |
| JPH07239808A (en) | Distributed data management method | |
| CN111858418B (en) | Memory communication method and device based on remote direct memory access RDMA | |
| CN113099490A (en) | Data packet transmission method and system based on 5G communication | |
| CN110209343B (en) | Data storage method, device, server and storage medium | |
| CN112486574B (en) | Reply management method, device, equipment and storage medium for completion queue |
| 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 | ||
| CF01 | Termination of patent right due to non-payment of annual fee | Granted publication date:20201225 Termination date:20220109 | |
| CF01 | Termination of patent right due to non-payment of annual fee |