CN110535751B - 一种消息响应方法、装置、计算机设备和存储介质 - Google Patents
一种消息响应方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110535751B CN110535751B CN201910763848.2A CN201910763848A CN110535751B CN 110535751 B CN110535751 B CN 110535751B CN 201910763848 A CN201910763848 A CN 201910763848A CN 110535751 B CN110535751 B CN 110535751B
- Authority
- CN
- China
- Prior art keywords
- response
- message
- instant messaging
- messaging server
- task queue
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/23—Reliability checks, e.g. acknowledgments or fault reporting
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种消息响应方法、装置、计算机设备和存储介质。应用于响应服务器,所述方法包括:在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将所述第一响应发送至所述即时通讯服务器;执行所述消息对应的业务处理,得到第二响应;将所述第二响应发送到所述即时通讯服务器。通过本发明实施例,可以使即时通讯服务器在预设时长内接收到响应,不再重复向响应服务器发送消息,避免即时通讯服务器浪费资源,同时,还可以实现异步处理消息的效果。
Description
技术领域
本申请涉及消息处理技术领域,特别是涉及一种消息响应方法、装置、计算机设备和存储介质。
背景技术
随着智能移动终端和互联网的发展,即时通讯软件成为了一种应用比较广泛的程序。在实际使用中,用户通过智能移动终端上的即时通讯软件向即时通讯服务器发送消息;即时通讯服务在接收到消息后,将该消息转发到响应服务器;响应服务器对该消息进行响应,并将响应发送给即时通信服务器;即时通讯服务器接收到响应后,再把响应转发到智能移动终端,由智能移动终端上的即时通讯软件展示响应。
目前,即时通讯服务器将消息发送到响应服务器后,会进行计时。如果在预设时长内没有接收到响应服务器的响应,即时通讯服务器就会认为超时,然后就再次向响应服务器发送该消息。
这样,就出现了即时通讯服务器重复向响应服务器发送消息的问题,浪费了即时通讯服务器的资源。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免即时通讯服务器重复发送消息的消息响应方法、装置、计算机设备和存储介质。
第一方面,本发明实施例提供了一种消息响应方法,应用于响应服务器,该方法包括:
在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;
执行消息对应的业务处理,得到第二响应;
将第二响应发送到即时通讯服务器。
在其中的一个实施例中,第一响应为空字符串的http响应。
在其中的一个实施例中,上述执行消息对应的业务处理,得到第二响应,包括:
将消息存储到预先建立的任务队列中;
采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
在其中的一个实施例中,上述将第二响应发送到即时通讯服务器,包括:
调用与即时通讯服务器对应的API接口;
通过API接口将第二响应发送至即时通讯服务器。
在其中的一个实施例中,在上述对消息进行业务处理之后,该方法还包括:
通过业务处理器向任务队列发送业务处理完毕的事件;
在任务队列接收业务处理完毕的事件后,采用业务处理器从任务队列中取出下一条消息进行业务处理。
在其中的一个实施例中,在上述将消息存储到预先建立的任务队列中之前,该方法还包括:
在Node.js的内存中建立任务队列。
在其中的一个实施例中,在上述在Node.js的内存中建立任务队列后,该方法还包括:
在Redis中对任务队列进行持久化。
第二方面,本发明实施例提供了一种消息响应装置,应用于响应服务器,装置包括:
第一响应发送模块,用于在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;
第一业务处理执行模块,用于执行消息对应的业务处理,得到第二响应;
第二响应发送模块,用于将第二响应发送到即时通讯服务器。
在其中的一个实施例中,第一响应为空字符串的http响应。
在其中的一个实施例中,业务处理执行模块,具体用于将消息存储到预先建立的任务队列中;采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
在其中的一个实施例中,第二响应发送模块,具体用于调用与即时通讯服务器对应的API接口;通过API接口将第二响应发送至即时通讯服务器。
在其中的一个实施例中,该装置还包括:
事件发送模块,用于通过业务处理器向任务队列发送业务处理完毕的事件;
第二业务处理执行模块,用于在任务队列接收业务处理完毕的事件后,采用业务处理器从任务队列中取出下一条消息进行业务处理。
在其中的一个实施例中,该装置还包括:
任务队列建立模块,用于在Node.js的内存中建立任务队列。
在其中的一个实施例中,该装置还包括:
持久化模块,用于在Redis中对任务队列进行持久化。
第三方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如下步骤:
在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;
执行消息对应的业务处理,得到第二响应;
将第二响应发送到即时通讯服务器。
在一个实施例中,第一响应为空字符串的http响应。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将消息存储到预先建立的任务队列中;
采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用与即时通讯服务器对应的API接口;
通过API接口将第二响应发送至即时通讯服务器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过业务处理器向任务队列发送业务处理完毕的事件;
在任务队列接收业务处理完毕的事件后,采用业务处理器从任务队列中取出下一条消息进行业务处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在Node.js的内存中建立任务队列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在Redis中对任务队列进行持久化。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;
执行消息对应的业务处理,得到第二响应;
将第二响应发送到即时通讯服务器。
在一个实施例中,第一响应为空字符串的http响应。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将消息存储到预先建立的任务队列中;
采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
调用与即时通讯服务器对应的API接口;
通过API接口将第二响应发送至即时通讯服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过业务处理器向任务队列发送业务处理完毕的事件;
在任务队列接收业务处理完毕的事件后,采用业务处理器从任务队列中取出下一条消息进行业务处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在Node.js的内存中建立任务队列。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在Redis中对任务队列进行持久化。
上述消息响应方法、装置、计算机设备和存储介质,在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;执行消息对应的业务处理,得到第二响应;将第二响应发送到即时通讯服务器。本发明实施例中,由于在接收到消息后的预设时长内将响应发送到即时通讯服务器,即时通讯服务器在预设时长内接收到响应,则不会重复向响应服务器发送消息,避免即时通讯服务器浪费资源,并且还可以实现异步处理消息的效果。
附图说明
图1为一个实施例中消息响应方法的应用环境图;
图2为一个实施例中消息响应方法的流程示意图;
图3为一个实施例中执行消息对应的业务处理步骤的流程示意图;
图4为一个实施例中消息响应装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的消息响应方法,可以应用于如图1所示的应用环境中。其中,智能移动终端101通过网络与即时通讯服务器102进行通信,即时通讯服务器102与响应服务器103进行通信。其中,智能移动终端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,即时通讯服务器102和响应服务器103可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种消息响应方法,以该方法应用于图1中的响应服务器为例进行说明,包括以下步骤:
步骤201,在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器。
本实施例中,智能移动终端通过即时通讯软件向即时通讯服务器发送消息,即时通讯服务器将该消息发送到响应服务器。在这个过程中,即时通讯服务器可以对该消息进行格式转换,或者是其他处理,本发明实施例对此不作详细限定,可以根据实际情况进行设置。
即时通讯服务器在向响应服务器发出该消息时,开始计时,如果超出预设时长仍未接收到响应服务器的响应,则再次向响应服务器发送该消息。而响应服务器在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器。
例如,预设时长为5秒,即时通讯服务器向响应服务器发出消息,然后开始计时,如果超过5秒仍未接收到响应服务器的响应,则再次向响应服务器发送该消息。而响应服务器在接收到消息之后的5秒内生成第一响应,并将第一响应发送到即时通讯服务器。可见,响应服务器在接收到消息后的预设时长内生成第一响应,并将第一响应发送至即时通讯服务器,可以使即时通讯服务器在预设时长内接收到响应服务器发送的响应,不再重复向响应服务器发送该消息,进而可以避免即时通讯服务器浪费资源。
可选地,第一响应为空字符串的http响应。具体地,响应服务器在接收到消息之后的预设时长内,生成空字符串的http响应,然后将空字符串的http响应发送到即时通讯服务器。
HTTP响应可以由三部分组成:响应行、响应头、响应体。其中,响应行一般由协议版本、状态码及其描述组成比如HTTP/1.1 200OK;响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据;响应体就是响应的消息体,如果是纯数据就是返回纯数据,如果请求的是HTML页面,那么返回的就是HTML代码,如果是JS就是JS代码。空字符串的http响应可以是响应体中的数据为空字符串。可见,空字符串的http响应格式简单,可以缩短响应生成时间,以及响应发送时间。
步骤202,执行消息对应的业务处理,得到第二响应。
本实施例中,响应服务器在接收到消息时,可以先生成第一响应,并将第一响应发送到即时通讯服务器,然后再执行消息对应的业务处理,得到第二响应。也可以生成第一响应,将第一响应发送到即时通讯服务器,同时执行消息对应的业务处理。本发明实施例对此不作详细限定,可以根据实际情况进行设置。
在实际操作中,根据消息的类型,执行与消息对应的业务处理,得到第二响应。本发明实施例中对消息的类型和对应的业务处理不作详细限定,可以根据实际情况进行设置。
步骤203,将第二响应发送到即时通讯服务器。
本实施例中,在生成第二响应后,将第二响应发送到即时通讯服务器。具体地,调用与即时通讯服务器对应的API(Application Programming Interface,应用程序编程接口);通过API接口将第二响应发送至即时通讯服务器。可以预先在响应服务器中设置多个API接口,其中包括与即时通讯服务器对应的API接口。在生成第二响应后,调用与即时通讯服务器对应的API接口将第二响应发送到即时通讯服务器。本发明实施例对API接口不作详细限定,可以根据实际情况进行设置。
上述消息响应方法中,在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;执行消息对应的业务处理,得到第二响应;将第二响应发送到即时通讯服务器。本发明实施例中,由于在接收到消息后的预设时长内将响应发送到即时通讯服务器,即时通讯服务器在预设时长内接收到响应,则不会重复向响应服务器发送消息,避免即时通讯服务器浪费资源,也可以避免因即时通讯服务器重复发送消息导致的信道堵塞。
在另一个实施例中,如图3所示,本实施例涉及的是执行消息对应的业务处理,得到第二响应的一种可选的过程。在上述图2所示实施例的基础上,上述步骤202具体可以包括以下步骤:
步骤301,将消息存储到预先建立的任务队列中。
本实施例中,响应服务器在接收到消息后,除了在预设时长内生成第一响应,并将第一响应发送到即时通讯服务器,还需要执行消息对应的业务处理。具体地,将接收到的消息存储到预先建立的任务队列中。其中,任务队列可以是一种先进先出(FIFO,First-In-First-Out)的线性表,在具体应用中采用链表或者数组来实现,并且任务队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作,从而保证消息的先后顺序。
可选地,在将消息存储到预先建立的任务队列中之前,在Node.js的内存中建立任务队列。具体地,可以采用Node.js来构建响应服务器。Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言,其实质是对Chrome V8引擎进行了封装。V8引擎本身使用了一些最新的编译技术,这使得用Javascript这类脚本语言编写出来的代码运行速度获得了极大提升,又节省了开发成本。Javascript是一个事件驱动语言,Node利用了这个优点,编写出可扩展性高的服务器。在进行业务处理之前,在Node.js的内存中建立任务队列,以便响应服务器在接收到消息后,可以将消息存储到任务队列中。
可选地,在Node.js的内存中建立任务队列后,在Redis中对任务队列进行持久化。Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。在建立任务队列后,在Redis中对任务队列进行持久化,这样,将消息存储到任务队列中之后,就可以对消息进行持久化,从而保证消息在发生响应服务器宕机重启后不会丢失。
步骤302,采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
本实施例中,预先生成业务处理器,在将消息存储后任务队列后,由业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
可选地,在得到第二响应后,通过业务处理器向任务队列发送业务处理完毕的事件;在任务队列接收业务处理完毕的事件后,采用业务处理器从任务队列中取出下一条消息进行业务处理。具体地,Node采用了一个称为“事件循环(event loop)”的架构,即对一条消息进行业务处理后,将处理完毕的事件发送到任务队列,任务队列接收到业务处理完毕的事件后,允许业务处理器从任务队列中读取下一条消息进行业务处理,事件循环使得编写可扩展性高的服务器变得既容易又安全。
上述执行消息对应的业务处理,得到第二响应的过程中,将消息存储到预先建立的任务队列中;采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。本实施例中,采用任务队列和业务处理器处理消息,可以在向即时通讯服务器发送第一响应避免即时通讯服务器重复发送消息时,也完成对消息的业务处理,实现了异步处理消息的效果。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种消息响应装置,包括:
第一响应发送模块401,用于在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;
第一业务处理执行模块402,用于执行消息对应的业务处理,得到第二响应;
第二响应发送模块403,用于将第二响应发送到即时通讯服务器。
在其中的一个实施例中,第一响应为空字符串的http响应。
在其中的一个实施例中,业务处理执行模块,具体用于将消息存储到预先建立的任务队列中;采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
在其中的一个实施例中,第二响应发送模块,具体用于调用与即时通讯服务器对应的API接口;通过API接口将第二响应发送至即时通讯服务器。
在其中的一个实施例中,该装置还包括:
事件发送模块,用于通过业务处理器向任务队列发送业务处理完毕的事件;
第二业务处理执行模块,用于在任务队列接收业务处理完毕的事件后,采用业务处理器从任务队列中取出下一条消息进行业务处理。
在其中的一个实施例中,该装置还包括:
任务队列建立模块,用于在Node.js的内存中建立任务队列。
在其中的一个实施例中,该装置还包括:
持久化模块,用于在Redis中对任务队列进行持久化。
关于消息响应装置的具体限定可以参见上文中对于消息响应方法的限定,在此不再赘述。上述消息响应装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储消息响应数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种消息响应方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;
执行消息对应的业务处理,得到第二响应;
将第二响应发送到即时通讯服务器。
在一个实施例中,第一响应为空字符串的http响应。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将消息存储到预先建立的任务队列中;
采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用与即时通讯服务器对应的API接口;
通过API接口将第二响应发送至即时通讯服务器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过业务处理器向任务队列发送业务处理完毕的事件;
在任务队列接收业务处理完毕的事件后,采用业务处理器从任务队列中取出下一条消息进行业务处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在Node.js的内存中建立任务队列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在Redis中对任务队列进行持久化。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将第一响应发送至即时通讯服务器;
执行消息对应的业务处理,得到第二响应;
将第二响应发送到即时通讯服务器。
在一个实施例中,第一响应为空字符串的http响应。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将消息存储到预先建立的任务队列中;
采用预先生成的业务处理器从任务队列中读取消息,并对消息进行业务处理,得到第二响应。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
调用与即时通讯服务器对应的API接口;
通过API接口将第二响应发送至即时通讯服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过业务处理器向任务队列发送业务处理完毕的事件;
在任务队列接收业务处理完毕的事件后,采用业务处理器从任务队列中取出下一条消息进行业务处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在Node.js的内存中建立任务队列。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在Redis中对任务队列进行持久化。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种消息响应方法,其特征在于,应用于响应服务器,所述方法包括:
在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将所述第一响应发送至所述即时通讯服务器,以使所述即时通讯服务器在所述预设时长内接收到响应,不重复向所述响应服务器发送消息;
执行所述消息对应的业务处理,得到第二响应;
将所述第二响应发送到所述即时通讯服务器;
其中,所述第一响应为空字符串的http响应,所述http响应由响应行、响应头、响应体三部分组成,所述第一响应的响应体中的数据为空字符串。
2.根据权利要求1所述的方法,其特征在于,所述执行所述消息对应的业务处理,得到第二响应,包括:
将所述消息存储到预先建立的任务队列中;
采用预先生成的业务处理器从所述任务队列中读取所述消息,并对所述消息进行业务处理,得到所述第二响应。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述将所述第二响应发送到所述即时通讯服务器,包括:
调用与所述即时通讯服务器对应的API接口;
通过所述API接口将所述第二响应发送至所述即时通讯服务器。
4.根据权利要求2所述的方法,其特征在于,在所述对所述消息进行业务处理之后,所述方法还包括:
通过所述业务处理器向所述任务队列发送业务处理完毕的事件;
在所述任务队列接收所述业务处理完毕的事件后,采用所述业务处理器从所述任务队列中取出下一条消息进行业务处理。
5.根据权利要求2所述的方法,其特征在于,在所述将所述消息存储到预先建立的任务队列中之前,所述方法还包括:
在Node.js的内存中建立所述任务队列。
6.根据权利要求5所述的方法,其特征在于,在所述在Node.js的内存中建立所述任务队列后,所述方法还包括:
在Redis中对所述任务队列进行持久化。
7.根据权利要求2所述的方法,其特征在于,所述任务队列是先进先出的线性表。
8.一种消息响应装置,其特征在于,应用于响应服务器,所述装置包括:
第一响应发送模块,用于在接收到即时通讯服务器发送的消息之后的预设时长内,生成预设格式的第一响应,并将所述第一响应发送至所述即时通讯服务器,以使所述即时通讯服务器在所述预设时长内接收到响应,不重复向所述响应服务器发送消息;
第一业务处理执行模块,用于执行所述消息对应的业务处理,得到第二响应;
第二响应发送模块,用于将所述第二响应发送到所述即时通讯服务器;
其中,所述第一响应为空字符串的http响应,所述http响应由响应行、响应头、响应体三部分组成,所述第一响应的响应体中的数据为空字符串。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910763848.2A CN110535751B (zh) | 2019-08-19 | 2019-08-19 | 一种消息响应方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910763848.2A CN110535751B (zh) | 2019-08-19 | 2019-08-19 | 一种消息响应方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535751A CN110535751A (zh) | 2019-12-03 |
CN110535751B true CN110535751B (zh) | 2023-01-24 |
Family
ID=68662365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910763848.2A Active CN110535751B (zh) | 2019-08-19 | 2019-08-19 | 一种消息响应方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535751B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257562B (zh) * | 2021-12-16 | 2024-02-06 | 北京天融信网络安全技术有限公司 | 即时通讯方法、装置、电子设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104662865A (zh) * | 2012-08-24 | 2015-05-27 | 阿卡麦科技公司 | 混合型http和udp内容分发 |
CN105426326A (zh) * | 2015-11-05 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种实现高并发的队列存储方法及系统 |
CN108833950A (zh) * | 2018-06-29 | 2018-11-16 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息下发方法、服务器、系统和存储介质 |
CN108989404A (zh) * | 2018-06-29 | 2018-12-11 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息下发方法、服务器、系统和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103312519B (zh) * | 2013-07-05 | 2016-08-24 | 飞天诚信科技股份有限公司 | 一种动态口令设备及其工作方法 |
CN106656920B (zh) * | 2015-10-30 | 2019-09-06 | 北京国双科技有限公司 | Http服务的处理方法、装置、存储介质及处理器 |
CN109254854A (zh) * | 2018-08-15 | 2019-01-22 | 中国平安人寿保险股份有限公司 | 异步调用方法、计算机装置及存储介质 |
-
2019
- 2019-08-19 CN CN201910763848.2A patent/CN110535751B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104662865A (zh) * | 2012-08-24 | 2015-05-27 | 阿卡麦科技公司 | 混合型http和udp内容分发 |
CN105426326A (zh) * | 2015-11-05 | 2016-03-23 | 上海斐讯数据通信技术有限公司 | 一种实现高并发的队列存储方法及系统 |
CN108833950A (zh) * | 2018-06-29 | 2018-11-16 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息下发方法、服务器、系统和存储介质 |
CN108989404A (zh) * | 2018-06-29 | 2018-12-11 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息下发方法、服务器、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110535751A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10263910B2 (en) | Resource calling for hybrid applications | |
CN111159614B (zh) | 网页资源获取方法以及装置 | |
WO2017092594A1 (zh) | 一种信息处理方法及装置 | |
CN109933439B (zh) | 消息传输方法、装置、计算机设备和存储介质 | |
CN111143462A (zh) | 数据导出的方法、装置、计算机设备和存储介质 | |
CN111182065A (zh) | 基于mqtt协议的消息处理方法、装置和计算机设备 | |
CN110851285B (zh) | 一种基于gpu虚拟化的资源复用方法、装置及设备 | |
CN110535751B (zh) | 一种消息响应方法、装置、计算机设备和存储介质 | |
CN113885780A (zh) | 数据同步方法、装置、电子设备、系统和存储介质 | |
CN110928887A (zh) | 一种数据处理方法及装置 | |
CN111949389A (zh) | 基于Slurm的信息采集方法和装置、服务器、计算机可读存储介质 | |
CN111294377B (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN111026988A (zh) | 一种页面加载的方法、装置、系统及计算机设备 | |
CN113672488A (zh) | 日志文本处理方法及装置 | |
CN111447136A (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN115297076B (zh) | 离线消息拉取方法、装置、计算机设备及存储介质 | |
CN113704027B (zh) | 文件聚合兼容方法、装置、计算机设备和存储介质 | |
CN116521338A (zh) | 消息队列的管控方法、装置、计算机设备和存储介质 | |
CN111984429A (zh) | 基于消息队列的通信方法及装置 | |
US20230281187A1 (en) | Method for keeping data consistent across different storage systems, computing device, and storage medium | |
CN113779122B (zh) | 导出数据的方法和装置 | |
CN115297105A (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
CN113032118A (zh) | 用于计算机应用程序的异步操作处理方法和相应的系统 | |
CN110288309B (zh) | 数据交互方法、装置、系统、计算机设备以及存储介质 | |
CN112597227A (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 |