CN109873863B - 服务的异步调用方法和装置 - Google Patents
服务的异步调用方法和装置 Download PDFInfo
- Publication number
- CN109873863B CN109873863B CN201910049835.9A CN201910049835A CN109873863B CN 109873863 B CN109873863 B CN 109873863B CN 201910049835 A CN201910049835 A CN 201910049835A CN 109873863 B CN109873863 B CN 109873863B
- Authority
- CN
- China
- Prior art keywords
- message
- processed
- calling
- preset
- result
- 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
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请实施例公开了服务的异步调用方法和装置。该方法的一具体实施方式包括:从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息。该实施方式在异步调用任务失败后,可以延时重新执行调用任务,从而确保了异步调用任务的肯定被执行。此外,还可以对被调用方起到削峰保护,从而可以提高云服务的稳定性。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及服务的异步调用方法和装置。
背景技术
在云服务平台提供的各种服务中,一种云服务为了实现自身所提供的功能,可能会调用其他的云服务。为了降低资源占用,减少网络阻塞,通常可以使用异步调用的方法实现不同云服务间的调用。
现有的异步调用的方法通常由调用方(一种云服务)发调用请求到异步调用服务方,异步调用服务方可以接收调用请求,将所接收的调用请求保存到消息队列中;异步调用服务方依次从消息队列中提取调用请求,根据调用请求所指示的被调用方(另一种云服务)的地址来向被调用方发起调用。并将上述调用返回的结果返回给调用方。
发明内容
本申请实施例提出了一种服务的异步调用方法和装置。
第一方面,本申请实施例提供了一种服务的异步调用方法,该方法包括:从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息。
在一些实施例中,在响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,该方法还包括:确定待处理的消息是否满足预设条件,预设条件包括:待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息,判断时间段的结束时刻在确定消息队列中的消息是否满足处理条件的时刻之前;当待处理的消息满足预设条件时,将待处理的消息确定为需处理的消息。
在一些实施例中,该方法还包括:生成待处理的消息对应的键值对,键值对包括:表示消息的标识的键、表示消息的属性信息的键值;以及确定待处理的消息是否满足预设条件,包括:查询预设键值对列表中是否存在待处理的消息对应的键;若不存在,则确定待处理消息满足预设条件;将待处理的消息对应的键值对添加至预设键值对列表;其中,预设键值对列表中存储预设时长的判断时间段内从消息队列中获取的多个消息各自对应的键值对。
在一些实施例中,在响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,该方法还包括:当确定待处理的消息为需处理的消息时,将待处理的消息以及待处理的消息对应的执行时间信息添加入预设有序集合中;以及响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果,包括:在执行时间信息所指示的时刻,以异步调用方式调用与待处理的消息所关联的被调用方提供的接口,得到调用结果。
在一些实施例中,在执行与调用结果相关联的操作之前,该方法还包括:确定调用结果是否为预设调用返回结果;以及执行与调用结果相关联的操作,包括:若确定调用结果为预设调用返回结果,则执行从预设有序集合中删除待处理的消息及待处理的消息对应的执行时间信息的操作。
在一些实施例中,该方法还包括:每隔预设时间间隔,对预设有序集合进行检查,以检查预设有序集合是否存在已过执行时间的需处理的消息;若存在,则以同步调用方式执行调用该需处理的消息对应的被调用方提供的接口的操作。
在一些实施例中,预设消息队列为分布式发布订阅消息系统中的预设消息队列。
第二方面,本申请实施例提供了一种服务的异步调用装置,该装置包括:获取单元,被配置成从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;调用单元,被配置成响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;执行单元,被配置成执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息。
在一些实施例中,该装置还包括确定单元,确定单元被配置成:在调用单元响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,确定待处理的消息是否满足预设条件,预设条件包括:待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息,判断时间段的结束时刻在确定消息队列中的消息是否满足处理条件的时刻之前;当待处理的消息满足处理条件时,将待处理的消息确定为需处理的消息。
在一些实施例中,该装置还包括生成单元,生成单元被配置成:生成待处理的消息对应的键值对,键值对包括:表示消息的标识的键、表示消息的属性信息的键值;以及确定单元进一步被配置成:查询预设键值对列表中是否存在待处理的消息对应的键;若不存在,则确定待处理消息满足预设条件;将待处理的消息对应的键值对添加至预设键值对列表;其中,预设键值对列表中存储预设时长的判断时间段内从消息队列中获取的多个消息对应的键值对。
在一些实施例中,该装置还包括消息添加单元,消息添加单元被配置成:在调用单元响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,当确定待处理的消息为需处理的消息时,将待处理的消息以及待处理的消息对应的执行时间信息添加入预设有序集合中;以及调用单元进一步被配置成:在执行时间信息所指示的时刻,以异步调用方式调用与待处理的消息所关联的被调用方提供的接口,得到调用结果。
在一些实施例中,执行单元进一步被配置成:在执行与调用结果相关联的操作之前,确定调用结果是否为预设调用返回结果;以及若确定调用结果为预设调用返回结果,则执行从预设有序集合中删除待处理的消息及待处理的消息对应的执行时间信息的操作。
在一些实施例中,调用单元进一步被配置成:每隔预设时间间隔,对预设有序集合进行检查,以检查预设有序集合是否存在已过执行时间的需处理的消息;若存在,则执行以同步调用方式调用该需处理的消息对应的被调用方提供的接口的操作。
在一些实施例中,预设消息队列为分布式发布订阅消息系统中的预设消息队列。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的服务的异步调用方法和装置,通过从预设消息队列中获取待处理的消息,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联,而后响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果,最后执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息。上述方案在异步调用任务失败后,可以延时重新调用,从而确保了异步调用任务的被成功执行。此外,还可以对被调用方起到削峰保护,从而可以提高云服务的稳定性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例的服务的异步调用方法可以应用于其中的示例性系统架构图;
图2是根据本申请的服务的异步调用方法的一个实施例的流程图;
图3是根据本申请的服务的异步调用方法的一个应用场景的示意图;
图4是根据本申请的服务的异步调用方法的又一个实施例的流程图;
图5是根据本申请的服务的异步调用方法的一个示意性时序图;
图6是根据本申请的服务的异步调用装置的一个实施例的结构示意图;
图7是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本申请的一个实施例的服务的异步调用方法可以应用于其中的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、第一服务器 102、第二服务器103和第三服务器104。终端设备101与第一服务器 102之间,第一服务器102与第二服务器103之间,以及第二服务器 103和第三服务器104之间分别通过网络实现通信连接。上述网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络与第一服务器102交互,以接收或发送消息等。终端设备101上可以安装有各种客户端应用,例如网页浏览器应用、购物类应用、搜索类应用等。
终端设备101可以是硬件,也可以是软件。当终端设备101为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
上述第一服务器102可以提供各种服务,例如可以接收用户通过终端设备发送的指定的云服务的需求,确定上述实现上述用户指定的云服务所需的其他云服务,并向第二服务器103发起发送调用上述其他云服务的调用请求消息,并接收第二服务器103返回的调用结果,以及根据调用结果运行用户指定的云服务;以及将运行用户指定的云服务的结果发送给上述终端设备。
上述第二服务器103可以提供各种服务,例如接收第一服务器102 发送的调用请求信息,并根据调用请求信息指定的上述其他云服务的调用接口调用部署于第三服务器104中的上述其他云服务;接收第三服务器104返回的调用结果,并将调用结果返回给第一服务器102。
上述第三服务器104可以提供各种服务,例如接收第二服务器103 的调用请求消息,并根据调用请求信息指示的数据运行部署于其上的上述其他云服务,并将运行结果返回给第二服务器103。
需要说明的是,上述第一服务器、第二服务器和第三服务器均可以是硬件,也可以是软件。当一服务器、第二服务器和第三服务器为硬件时,均可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当第一服务器、第二服务器和第三服务器为软件时,均可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的服务的异步调用方法一般由第二服务器103执行,相应地,服务的异步调用装置一般设置于第二服务器103中。
应该理解,图1中的终端设备、第一服务器、第二服务器和第三服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、第一服务器、第二服务器和第三服务器。
继续参考图2,其示出了根据本申请的服务的异步调用方法的一个实施例的流程200。该服务的异步调用方法,包括以下步骤:
步骤201,从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联。
在本实施例中,服务的异步调用方法的执行主体(例如图1所示的第二服务器)中可以通过有线连接方式或者无线连接方式从预设消息队列中获取待处理的消息。
上述预设消息队列可以存储于上述执行主体中;或者,存储于与上述执行主体实现通信连接的其他电子设备中。
上述预设消息队列可以是分布式消息队列。在一些应用场景中,上述预设消息对列可以为分布式发布订阅消息系统中的预设消息队列。
上述分布式发布订阅消息系统例如可以是Kafka系统等。在分布式发布订阅消息系统中可以包括多个队列(topic),例如可以包括至少一个主队列和至少一个副队列。主队列中可以包括按照执行时间的先后顺序排列的多个消息。副队列中可以保存确定延迟执行的消息。通常,分布式发布订阅消息系统所接收到的消息,可以保存在至少一个主队列中。
上述调用方例如可以是为用户提供服务的第一云服务。上述第一云服务可以是各种服务,例如云计算服务等。上述第一云服务的实现有赖于第二云服务(也即被调用方)。上述调用方和被调用方可以部署于不同的服务器中。例如调用方部署在图1所示的第一服务器中,而被调用方部署在第二服务器中。
在本实施例中,上述待处理的消息可以是由调用方(例如部署于图1所示的第一服务器上的第一云服务)发送的,以实现以异步调用方式调用被调用方(例如部署于第二服务器上的第二云服务)的调用请求消息。上述待处理的消息可以与调用方需要以异步调用方式调用的被调用方提供的接口相关联。在一些应用场景中,上述待处理的消息可以包括被调用方提供的接口;或者,在另外一些应用场景中,在上述执行主体中可以保存待处理的消息指示的被调用方的接口。
步骤202,响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果。
在本实施例中,在步骤201中获取到待处理的消息后,上述执行主体可以通过各种方式来确定上待处理的消息是否为需处理的消息。
在一些应用场景中,上述待处理的消息可以对应有执行时间,若当前时间与上述执行时间匹配,则将上述待处理的消息确定为需处理的消息。
响应于上述待处理的消息为需处理的消息后,上述执行主体可以基于待处理的消息,以异步调用方式调用被调用方提供的接口。从而得到调用结果。
上述调用结果可以包括执行调用被调用方提供的调用接口的调用操作的反馈信息。上述反馈信息例如包括被调用方通过其提供的调用接口返回的第二云服务运行待处理的消息所指示的数据生成的执行结果的信息;或者包括被调用方通过调用接口反馈的调用失败(例如在被调用方满负载的情况下,向调用方反馈的因忙碌而调用失败等)信息;或者调用方向被调用方提供的接口发送调用请求时,调用方发送调用请求失败等。
步骤203,执行与调用结果相关联的操作。
在本实施例中,服务的异步调用方法的执行主体(例如图1所示的第二服务器)在接收到调用结果后,可以根据调用结果来执行相关操作。
在一些应用场景中,当调用结果包括被调用方通过其提供的调用接口返回的第二云服务运行待处理的消息所指示的数据生成的执行结果,则将上述执行结果发送给调用方(例如部署于图1所示的第一服务器的第一云服务)。以使调用方根据上述执行结果对用户需求的服务做进一步的分析处理。
在另外一些应用场景中,当上述调用结果包括被调用方通过调用接口反馈的调用失败信息,上述执行主体可以将待处理的消息设置为需要延迟处理的消息。
上述将待处理的消息设置为需要延迟处理的消息,可以设置延迟处理的时间,上述延迟的时间例如可以为60秒、120秒等。并将上述需延迟处理的消息放入与所设置的延迟的时间对应的延迟消息队列中。上述延迟消息队列可以是分布式发布订阅消息系统(例如Kafka 系统)中的副消息队列。不同的延迟时间可以对应不同的副消息队列。
在上述延迟处理的消息所延迟至的时刻,可以从上述延迟消息队列中重新取出上述待处理的消息,并异步调用方式调用与待处理的消所关联的被调用方提供的接口。
对于需要延迟处理的待处理等的消息,可以设置多个延迟时间,从而保证对与上述待处理的消息所对应的被调用方的成功调用。
本申请的上述实施例提供的方法通过从预设消息队列中获取待处理的消息,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联,而后响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果,最后执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息标识为需要延迟处理的消息。上述方案在异步调用任务失败后,可以延时重新执行调用任务,从而确保了异步调用任务的被成功执行。此外,还可以对被调用方起到削峰保护,从而可以提高云服务的稳定性。
进一步参考图3,其示出了服务的异步调用方法的又一个实施例的流程300。该服务的异步调用方法的流程300,包括以下步骤:
步骤301,从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联。
在本实施例中,步骤301与图2所示实施例的步骤201相同或相似,此处不赘述。
步骤302,确定待处理的消息是否满足预设条件;预设条件包括:待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息。
在本实施例中,在步骤301中获取到待处理的消息后,服务的异步调用方法的执行主体(例如图1所示的第二服务服务器),可以确定待处理的消息是否满足预设条件。
上述预设条件可以包括待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息。上述判断时间段的结束时刻在确定消息队列中的消息是否满足处理条件的时刻之前。
在本实施例中,上述预设时长可以为任意预先设定的时长。例如 1个小时、2个小时等等,此处不做限定。
在本实施例的一些可选的实现方式中,从上述消息队列中取出的上述待处理的消息还可以包括上述待处理的消息在消息队列中的序号。在得到的上述待处例的消息后,上述执行主体可以根据预设方法生成待处理的消息对应的键值对。上述键值对包括:表示消息的标识的键、表示消息的属性信息的键值。上述预设方法例如可以是哈希算法等。
进一步可选地,上述确定待处理的消息是否满足预设条件,可以包括:
查询预设键值对列表中是否存在所述待处理的消息对应的键;若不存在,则确定待处理消息满足预设条件;以及将待处理的消息对应的键值对添加至预设键值对列表。
其中,预设键值对列表中存储预设时长的判断时间段内从消息队列中获取的多个消息各自对应的键值对。
上述预设键值对列表可以保存在与上述执行主体实现通信连接的内存数据库中。上述内存数据库例如可以是Redis数据库、Couchbase 数据库等。
相对于将从消息队列中取出的消息与之前取出的多条消息逐一匹配,来判断该消息是否与之前的消息为同一个消息,这些可选的实现方式提供的使用键值对来确定从消息队列中是否重复取出同一条待处理的消息(也即验证待处理的消息的幂等性),可以简化验证待处理的消息的幂等性的验证过程。
步骤303,当待处理的消息满足预设条件时,将待处理的消息确定为需处理的消息。
也即若在上述预设时长的判断时间段内没有从消息队列中取出过该待处理的消息,则该待处理的消息为需处理的消息。
步骤304,响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果。
在本实施例中,步骤304与图2所示实施例的步骤202相同或相似,此处不赘述。
步骤305,执行与调用结果相关联的操作。
在本实施例中,步骤305与图2所示实施例的步骤203相同或相似,此处不赘述。
从图3中可以看出,与图2对应的实施例相比,本实施例中的服务的异步调用方法的流程300突出了确定待处理的消息为需处理的消息的步骤。由此,本实施例描述的方案可以避免根据从消息队列中重复取出的待处理的消息对被调用方进行调用,从而一方面可以减少由于重复向被调用方的接口发起调用而造成的被调用方的负荷,另一方面可以加快被调用方的反馈调用结果的速度。
进一步参考图4,其示出了服务的异步调用方法的又一个实施例的流程400。该服务的异步调用方法的流程400,包括以下步骤:
步骤401,从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联。
在本实施例中,步骤401与图2所示实施例的步骤201、图3所示实施例的步骤301相同或相似,此处不赘述。
步骤402,确定待处理的消息是否满足预设条件,预设条件包括:待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息。
上述判断时间段的结束时刻在确定消息队列中的消息是否满足处理条件的时刻之前。
在本实施例中,步骤401与图3所示实施例的步骤302相同或相似,此处不赘述。
步骤403,当待处理的消息满足预设条件时,将待处理的消息确定为需处理的消息。
在本实施例中,步骤403与图3所示实施例的步骤303相同或相似,此处不赘述。
步骤404,当确定所述待处理的消息为需处理的消息时,将所述待处理的消息以及所述待处理的消息对应的执行时间信息添加入预设有序集合中。
上述预设有序集合可以是设置在内存数据库中的有序集合。上述内存数据库例如可以是Redis数据库、Couchbase数据库等。
在上述预设有序集合中可以包括多个成员。每一个成员可以包括两个属性。其中,一个属性例如可以是该成员的名称,另一个属性例如可以是该成员的值。这里的成员例如可以是各个待处理的消息,这里的成员的值例如可以是各待处理的消息对应的执行时间。上述预设有序集合中可以按照执行时间的先后来设置不同待处理的消息在有序集合中的先后顺序。
步骤405,在执行时间信息所指示的时刻,以异步调用方式调用与待处理的消息所关联的所述被调用方提供的接口,得到调用结果。
在本实施例中,在上述待处理的消息对应的执行时间信息所指示的时刻,可以以异步调用方式调用与待处理的消息所关联的所述被调用方提供的接口。从而得到对被调用方进行调用的调用结果。
步骤406,执行与调用结果相关联的操作。
在一些应用场景中,当调用结果包括被调用方通过其提供的调用接口返回的第二云服务运行待处理的消息所指示的数据生成的执行结果,则将上述执行结果发送给调用方(例如部署于图1所示的第一服务器的第一云服务)。以使调用方根据上述执行结果对用户需求的服务做进一步的分析处理。
在另外一些应用场景中,当上述调用结果包括被调用方通过调用接口反馈的调用失败信息,上述执行主体可以将待处理的消息设置为需要延迟处理的消息。
上述将待处理的消息设置为需要延迟处理的消息,可以设置延迟处理的时间,上述延迟的时间例如可以为60秒、120秒等。并将上述需延迟处理的消息放入与所设置的延迟的时间对应的延迟消息队列中。上述延迟消息队列都可以是分布式发布订阅消息系统(例如Kafka 系统)中的副消息队列。不同的延迟时间可以对应不同的副消息队列。
在上述延迟处理的消息所延迟至的时刻,可以从上述延迟消息队列中重新取出上述待处理的消息,并异步调用方式调用待处理的消息对应的被调用方提供的接口。
对于需要延迟处理的待处理等的消息,可以设置多个延迟时间,从而保证对上述待处理的消息所指示的对被调用方的成功调用。
在本实施例的一些可选的实现方式中,在执行与调用结果相关联的操作之前,服务的异步调用方法还包括:确定调用结果是否为预设调用返回结果。
这里的预设调用返回结果可以包括被调用方通过其提供的调用接口返回的第二云服务的执行结果的信息;或者包括被调用方通过调用接口反馈的调用失败(例如在被调用方满负载的情况下,向调用方反馈的因忙碌而调用失败等)的信息等。
在这些可选的实现方式中,上述步骤405的执行与调用结果相关联的操作,包括:若确定调用结果为预设调用返回结果,则执行从预设有序集合中删除待处理的消息及待处理的消息对应的执行时间信息的操作。
在这些可选的实现方式中,可以及时在有序集合中删除已经被执行的消息,从而可以减少有序集合中的信息的数量以降低资源占用。
在本实施例的一些可选的实现方式中,上述服务的异步调用方法还可以包括以下步骤:
每隔预设时间间隔,对预设有序集合进行检查,以检查预设有序集合是否存在已过执行时间的需处理的消息;
若存在,则以同步调用方式执行调用该需处理的消息对应的被调用方提供的接口的操作。
在这些可选的实现方式中,上述执行主体每隔预设间隔从预设有序集合中检查有无被漏掉的待处理的消息,从而可以进一步保证各待处理的消息对应的被调用方可以被成功调用。
从图4中可以看出,与图2对应的实施例相比,本实施例中的服务的异步调用方法的流程400突出了将待处理的消息添加到预设有序集合的步骤,以及执行与调用结果相关联的操作的步骤中包括根据调用结果对有序集合中的消息进行处理的内容。由此,本实施例描述的方案可以进一步保证异步调用任务的被成功执行。此外,还可以提高异步调用服务的稳定性。
请参考图5,图5示出了根据本申请的服务的异步调用方法的一个示意性时序图500。图5中的调用方51可以部署于图1所示的第一服务器中,被调用方55可以部属于图1所示的第三服务器中。上述调度层52可以部属于图1所示第二服务器中。上述内存数据库53、消息队列54可以部署于图1所示的第二服务器中,也可以部署于与图1 所示的第二服务器实现通信连接的电子设备中。上述调度层可以是本申请各实施例的实际执行主体。上述调度层可以为分布式系统中的调度层。调度层可以有多个实例,从而可以避免由于单个调度层实例发生崩溃,而造成的消息丢失的现象。
如图5所示,在步骤501中,调用方51向调度层52发送调用消息。调用消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联。在步骤502中,调度层52将上述调用消息写入到消息队列 54中。上述消息队列54可以是分布式消息队列中的主消息队列。在步骤503中,调度层52向调用方返回调用成功的信息。在步骤504 中,调度层52从消息队列54中拉取待处理的消息。在步骤505中,调度层52从消息队列中获取到待处理的消息。所获取到的待处理的消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联。在步骤506中,将上述待处理的消息进行幂等性验证。进行幂等性验证的方法可以参考图3所示实施例的说明。若上述待处理的消息通过幂等性验证,调度层52将上待处理的消息写入部署于内存数据库中的预设有序集合中。在步骤507中,调用层52检查是否到了待处理的消息对应的执行时间,未到待处理的消息对应的执行时间,则忽略上述待处理的消息。在步骤508中,若到了待处理的消息对应的执行时间,调用层根据与待处理的消息所关联的被调用方提供的调用接口发起对被调用方的调用,得到调用结果。在步骤509中,根据调用结果,调用层执行相应操作。在步骤510中,调用结果为被调用方反馈的调用错误,调用层52将该待处理的消息设置为延迟消息。具体地内容可以参见图2所示实施例的说明。在步骤511中,调用层52将延迟消息放入延迟队列,并设置n秒后执行的时间戳。n为大于等于1的正整数。在步骤512中,调用层52每隔k秒检查有序集合中是否存在已过执行时间的待处理的消息。k为任意正整数。在步骤513中,若有序集合中存在已过执行时间的待处理的消息,则以同步调用方式,通过与待处理的消息关联的被调用方提供的接口发起对被调用方的调用。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种服务的异步调用装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的服务的异步调用装置600包括:获取单元601、调用单元602和执行单元603。其中,获取单元601,被配置成从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;调用单元602,被配置成响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;执行单元 603,被配置成执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息。
在本实施例中,服务的异步调用装置600的获取单元601、调用单元602和执行单元603的具体处理及其所带来的技术效果可分别参考图2对应实施例中步骤201、步骤202和步骤203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,服务的异步调用装置600 还包括确定单元604。确定单元604被配置成:在调用单元602响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,确定待处理的消息是否满足预设条件,预设条件包括:待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息,判断时间段的结束时刻在确定消息队列中的消息是否满足处理条件的时刻之前;当待处理的消息满足处理条件时,将待处理的消息确定为需处理的消息。
在本实施例的一些可选的实现方式中,服务的异步调用装置600 还包括生成单元(图中未示出)。生成单元被配置成:生成待处理的消息对应的键值对,键值对包括:表示消息的标识的键、表示消息的属性信息的键值;以及确定单元604进一步被配置成:查询预设键值对列表中是否存在待处理的消息对应的键,若不存在,则确定待处理消息满足预设条件;将待处理的消息对应的键值对添加至预设键值对列表;其中,预设键值对列表中存储预设时长的判断时间段内从消息队列中获取的多个消息对应的键值对。
在本实施例的一些可选的实现方式中,服务的异步调用装置600 还包括消息添加单元605。消息添加单元605被配置成:在调用单元 602响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,当确定待处理的消息为需处理的消息时,将待处理的消息以及待处理的消息对应的执行时间信息添加入预设有序集合中;以及调用单元602进一步被配置成:在执行时间信息所指示的时刻,以异步调用方式调用与待处理的消息所关联的被调用方提供的接口,得到调用结果。
在本实施例的一些可选的实现方式中,执行单元603进一步被配置成:在执行与调用结果相关联的操作之前,确定调用结果是否为预设调用返回结果;以及若确定调用结果为预设调用返回结果,则执行从预设有序集合中删除待处理的消息及待处理的消息对应的执行时间信息的操作。
在本实施例的一些可选的实现方式中,调用单元602进一步被配置成每隔预设时间间隔,对预设有序集合进行检查,以检查预设有序集合是否存在已过执行时间的需处理的消息;若存在,则执行以同步调用方式调用该需处理的消息对应的被调用方提供的接口的操作。
在本实施例的一些可选的实现方式中,预设消息队列为分布式发布订阅消息系统中的预设消息队列。
下面参考图7,其示出了适于用来实现本申请实施例的电子设备的计算机系统700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU,Central Processing Unit)701,其可以根据存储在只读存储器(ROM,Read Only Memory)702中的程序或者从存储部分706加载到随机访问存储器 (RAM,Random Access Memory)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM702以及RAM 703通过总线704彼此相连。输入/输出(I/O,Input/Output)接口705也连接至总线704。
以下部件连接至I/O接口705:包括硬盘等的存储部分706;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分707。通信部分707经由诸如因特网的网络执行通信处理。驱动器708也根据需要连接至I/O接口705。可拆卸介质709,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器708上,以便于从其上读出的计算机程序根据需要被安装入存储部分706。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分707从网络上被下载和安装,和/或从可拆卸介质709被安装。在该计算机程序被中央处理单元(CPU)701 执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、调用单元和执行单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“从预设消息队列中获取待处理的消息的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:从预设消息队列中获取待处理的消息,其中,消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息标识为需要延迟处理的消息。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于) 具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (16)
1.一种服务的异步调用方法,包括:
从预设消息队列中获取待处理的消息,其中,所述消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;
响应于经所述待处理的消息对应的执行时间确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;
执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息;
将所述需要延迟处理的消息放入与所设置的延迟的时间对应的延迟消息队列中,不同的延迟时间对应不同的延迟消息队列。
2.根据权利要求1所述的方法,其中,在所述响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,所述方法还包括:
确定所述待处理的消息是否满足预设条件,所述预设条件包括:所述待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息,所述判断时间段的结束时刻在确定消息队列中的消息是否满足处理条件的时刻之前;
当所述待处理的消息满足预设条件时,将所述待处理的消息确定为需处理的消息。
3.根据权利要求2所述的方法,其中,所述方法还包括:
生成所述待处理的消息对应的键值对,所述键值对包括:表示消息的标识的键、表示消息的属性信息的键值;以及
所述确定所述待处理的消息是否满足预设条件,包括:
查询预设键值对列表中是否存在所述待处理的消息对应的键;若不存在,则确定所述待处理消息满足预设条件;将所述待处理的消息对应的键值对添加至所述预设键值对列表;其中,所述预设键值对列表中存储所述预设时长的判断时间段内从消息队列中获取的多个消息各自对应的键值对。
4.根据权利要求2所述的方法,其中,在所述响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,所述方法还包括:
当确定所述待处理的消息为需处理的消息时,将所述待处理的消息以及所述待处理的消息对应的执行时间信息添加入预设有序集合中;以及
所述响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果,包括:
在所述执行时间信息所指示的时刻,以异步调用方式调用与所述待处理的消息所关联的所述被调用方提供的接口,得到调用结果。
5.根据权利要求4所述的方法,其中,在所述执行与调用结果相关联的操作之前,所述方法还包括:
确定所述调用结果是否为预设调用返回结果;以及
所述执行与调用结果相关联的操作,包括:
若确定所述调用结果为预设调用返回结果,则执行从所述预设有序集合中删除所述待处理的消息及所述待处理的消息对应的执行时间信息的操作。
6.根据权利要求4所述的方法,其中,所述方法还包括:
每隔预设时间间隔,对所述预设有序集合进行检查,以检查预设有序集合是否存在已过执行时间的需处理的消息;
若存在,则以同步调用方式执行调用该需处理的消息对应的被调用方提供的接口的操作。
7.根据权利要求1所述的方法,其中,预设消息队列为分布式发布订阅消息系统中的预设消息队列。
8.一种服务的异步调用装置,包括:
获取单元,被配置成从预设消息队列中获取待处理的消息,其中,所述消息与调用方需要以异步调用方式调用的被调用方提供的接口相关联;
调用单元,被配置成响应于经所述待处理的消息对应的执行时间确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果;
执行单元,被配置成执行与调用结果相关联的操作,与调用结果相关联的操作包括将待处理的消息设置为需要延迟处理的消息;将所述需要延迟处理的消息放入与所设置的延迟的时间对应的延迟消息队列中,不同的延迟时间对应不同的延迟消息队列。
9.根据权利要求8所述的装置,其中,所述装置还包括确定单元,
所述确定单元被配置成:
在所述调用单元响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,确定所述待处理的消息是否满足预设条件,所述预设条件包括:所述待处理的消息不与预设时长的判断时间段内从消息队列中获取的任意一个消息为同一个消息,所述判断时间段的结束时刻在确定消息队列中的消息是否满足处理条件的时刻之前;当所述待处理的消息满足处理条件时,将所述待处理的消息确定为需处理的消息。
10.根据权利要求9所述的装置,其中,所述装置还包括生成单元,所述生成单元被配置成:
生成所述待处理的消息对应的键值对,键值对包括:表示消息的标识的键、表示消息的属性信息的键值;以及
所述确定单元进一步被配置成:
查询预设键值对列表中是否存在所述待处理的消息对应的键;若不存在,则确定所述待处理消息满足预设条件;将所述待处理的消息对应的键值对添加至所述预设键值对列表;其中,所述预设键值对列表中存储所述预设时长的判断时间段内从消息队列中获取的多个消息对应的键值对。
11.根据权利要求9所述的装置,其中,所述装置还包括消息添加单元,所述消息添加单元被配置成:
在所述调用单元响应于确定待处理的消息为需处理的消息,基于待处理的消息,以异步调用方式调用被调用方提供的接口,得到调用结果之前,当确定所述待处理的消息为需处理的消息时,将所述待处理的消息以及所述待处理的消息对应的执行时间信息添加入预设有序集合中;以及
所述调用单元进一步被配置成:
在所述执行时间信息所指示的时刻,以异步调用方式调用与所述待处理的消息所关联的所述被调用方提供的接口,得到调用结果。
12.根据权利要求11所述的装置,其中,所述执行单元进一步被配置成:
在执行与调用结果相关联的操作之前,确定所述调用结果是否为预设调用返回结果;以及
若确定所述调用结果为预设调用返回结果,则执行从所述预设有序集合中删除所述待处理的消息及所述待处理的消息对应的执行时间信息的操作。
13.根据权利要求12所述的装置,其中,所述调用单元进一步被配置成:
每隔预设时间间隔,对所述预设有序集合进行检查,以检查预设有序集合是否存在已过执行时间的需处理的消息;
若存在,则执行以同步调用方式调用该需处理的消息对应的被调用方提供的接口的操作。
14.根据权利要求8所述的装置,其中,预设消息队列为分布式发布订阅消息系统中的预设消息队列。
15.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910049835.9A CN109873863B (zh) | 2019-01-18 | 2019-01-18 | 服务的异步调用方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910049835.9A CN109873863B (zh) | 2019-01-18 | 2019-01-18 | 服务的异步调用方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109873863A CN109873863A (zh) | 2019-06-11 |
CN109873863B true CN109873863B (zh) | 2021-10-15 |
Family
ID=66917685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910049835.9A Active CN109873863B (zh) | 2019-01-18 | 2019-01-18 | 服务的异步调用方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109873863B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110856004B (zh) * | 2019-11-05 | 2022-02-01 | 北京字节跳动网络技术有限公司 | 消息处理方法、装置、可读存储介质及电子设备 |
CN112069438B (zh) * | 2020-09-10 | 2023-12-22 | 北京五八信息技术有限公司 | 消息合并方法、消息处理方法和装置、设备和介质 |
CN113051089A (zh) * | 2021-04-01 | 2021-06-29 | 深圳市特游网文化技术有限公司 | 一种结合workerman的计划任务消息队列php实现方法 |
CN115277828A (zh) * | 2021-10-27 | 2022-11-01 | 珠海奔图电子有限公司 | 一种智能设备的注册方法、装置和电子设备 |
CN116501533B (zh) * | 2023-06-26 | 2023-08-25 | 神州医疗科技股份有限公司 | 一种异步队列任务的报错处理方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770394A (zh) * | 2008-12-29 | 2010-07-07 | 上海科泰世纪科技有限公司 | 基于构件接口的异步调用方法 |
CN105718540A (zh) * | 2016-01-18 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 数据加载方法和装置 |
CN106095599A (zh) * | 2016-06-07 | 2016-11-09 | 深圳证券通信有限公司 | 一种异步长连接易扩展接口方法 |
CN106330769A (zh) * | 2016-11-15 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 一种业务处理方法及服务器 |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN106777026A (zh) * | 2016-12-08 | 2017-05-31 | 用友网络科技股份有限公司 | 支持微服务架构事务最终一致性的方法、装置及系统 |
CN107239276A (zh) * | 2017-05-22 | 2017-10-10 | 广州安圣信息科技有限公司 | 一种基于c语言的异步延时执行方法及执行模块 |
CN107341062A (zh) * | 2017-06-28 | 2017-11-10 | 百度在线网络技术(北京)有限公司 | 一种数据推送方法、装置、设备以及存储介质 |
CN107493312A (zh) * | 2016-06-12 | 2017-12-19 | 中国移动通信集团安徽有限公司 | 一种服务调用方法及装置 |
CN108449410A (zh) * | 2018-03-19 | 2018-08-24 | 深信服科技股份有限公司 | 一种云平台中消息管理方法、系统及相关装置 |
CN109067669A (zh) * | 2018-09-06 | 2018-12-21 | 华泰证券股份有限公司 | 基于异步接口的同步调用方法及应用 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010040716A1 (en) * | 2008-10-10 | 2010-04-15 | International Business Machines Corporation | Queue manager and method of managing queues in an asynchronous messaging system |
US9251284B2 (en) * | 2010-12-02 | 2016-02-02 | Microsoft Technology Licensing, Llc | Mixing synchronous and asynchronous data streams |
US9323556B2 (en) * | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
CN107506247B (zh) * | 2017-08-11 | 2020-07-31 | 恒丰银行股份有限公司 | 一种基于异步回调的任务处理方法与设备 |
CN108712494A (zh) * | 2018-05-18 | 2018-10-26 | 阿里巴巴集团控股有限公司 | 处理异步消息的方法、装置及设备 |
-
2019
- 2019-01-18 CN CN201910049835.9A patent/CN109873863B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770394A (zh) * | 2008-12-29 | 2010-07-07 | 上海科泰世纪科技有限公司 | 基于构件接口的异步调用方法 |
CN105718540A (zh) * | 2016-01-18 | 2016-06-29 | 北京京东尚科信息技术有限公司 | 数据加载方法和装置 |
CN106095599A (zh) * | 2016-06-07 | 2016-11-09 | 深圳证券通信有限公司 | 一种异步长连接易扩展接口方法 |
CN107493312A (zh) * | 2016-06-12 | 2017-12-19 | 中国移动通信集团安徽有限公司 | 一种服务调用方法及装置 |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN106330769A (zh) * | 2016-11-15 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 一种业务处理方法及服务器 |
CN106777026A (zh) * | 2016-12-08 | 2017-05-31 | 用友网络科技股份有限公司 | 支持微服务架构事务最终一致性的方法、装置及系统 |
CN107239276A (zh) * | 2017-05-22 | 2017-10-10 | 广州安圣信息科技有限公司 | 一种基于c语言的异步延时执行方法及执行模块 |
CN107341062A (zh) * | 2017-06-28 | 2017-11-10 | 百度在线网络技术(北京)有限公司 | 一种数据推送方法、装置、设备以及存储介质 |
CN108449410A (zh) * | 2018-03-19 | 2018-08-24 | 深信服科技股份有限公司 | 一种云平台中消息管理方法、系统及相关装置 |
CN109067669A (zh) * | 2018-09-06 | 2018-12-21 | 华泰证券股份有限公司 | 基于异步接口的同步调用方法及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN109873863A (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109873863B (zh) | 服务的异步调用方法和装置 | |
CN111277639B (zh) | 一种保持数据一致性的方法和装置 | |
US10789183B2 (en) | Aggregation handling | |
CN109933508B (zh) | 用于发送信息的方法和装置 | |
CN107645476B (zh) | 请求处理方法和装置 | |
CN114979295A (zh) | 一种网关管理的方法和装置 | |
CN112445860B (zh) | 一种处理分布式事务的方法和装置 | |
CN113127225A (zh) | 一种数据处理任务的调度方法、装置和系统 | |
CN113127335A (zh) | 一种系统测试的方法和装置 | |
CN108804442B (zh) | 序列号生成方法和装置 | |
CN115525411A (zh) | 处理业务请求的方法、装置、电子设备和计算机可读介质 | |
CN113779122A (zh) | 导出数据的方法和装置 | |
CN109087097B (zh) | 一种更新链码同一标识的方法和装置 | |
CN110309121B (zh) | 日志处理方法及装置、计算机可读介质和电子设备 | |
CN112929453A (zh) | 一种共享session数据的方法和装置 | |
CN113283891A (zh) | 信息处理方法、装置和电子设备 | |
CN113760487A (zh) | 一种业务处理方法和装置 | |
CN112837156A (zh) | 固定执行顺序的交易方法和装置 | |
CN112395194A (zh) | 一种接入测试平台的方法和装置 | |
CN112860770A (zh) | 报表生成的方法、装置、电子设备和存储介质 | |
CN111552907A (zh) | 消息处理方法、装置、设备和存储介质 | |
CN112860447A (zh) | 一种不同应用间的交互方法和系统 | |
CN113766437B (zh) | 一种短信发送方法和装置 | |
CN111831530A (zh) | 测试方法和装置 | |
CN111125676B (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 |