CN110191165A - 一种处理代码执行请求的方法及装置 - Google Patents
一种处理代码执行请求的方法及装置 Download PDFInfo
- Publication number
- CN110191165A CN110191165A CN201910419110.4A CN201910419110A CN110191165A CN 110191165 A CN110191165 A CN 110191165A CN 201910419110 A CN201910419110 A CN 201910419110A CN 110191165 A CN110191165 A CN 110191165A
- Authority
- CN
- China
- Prior art keywords
- session
- code
- rule
- request
- executing
- 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.)
- Granted
Links
Classifications
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及金融科技领域,并提供一种处理代码执行请求的方法及装置,用于简化处理代码执行请求中用户的操作。该方法包括:接收所述客户端发送的代码执行请求,所述代码执行请求包括用户请求执行的代码;根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话;其中,所述总会话列表包括所述用户在所述引擎服务中对应的所有会话,N为正整数;将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话。
Description
技术领域
本申请涉及金融科技(Fintech)技术领域,尤其涉及一种处理代码执行请求的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融行业正在逐步向Fintech转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。金融行业(比如银行、保险、证券)一般都会涉及到大数据平台脚本作业。大数据脚本作业一般是用户通过客户端将代码片段发送给引擎服务器,由引擎服务器上的会话来执行代码。
现有的处理代码执行请求的方式大致为:用户在客户端上提交代码执行请求,转发服务将代码执行请求提交到代码执行请求中指定的会话中,指定的会话执行用户提交的代码。
但是这种处理代码执行请求的方式中,用户先需要登录各种引擎服务器账号,获得自己在各种引擎服务中对应的会话,再根据需要代码执行请求确定选择哪种引擎服务,确定将该代码执行请求提交给该引擎服务中的哪一个会话,通过客户端将该代码执行请求提交给引擎服务,引擎服务在接收代码执行请求之后,将该代码执行请求发送给用户代码执行请求中所指定的会话。可见,现有的处理代码执行请求的方式中,用户操作极为繁琐。
发明内容
本申请实施例提供一种处理代码执行请求的方法及装置,用于简化处理代码执行请求中用户的操作。
第一方面,提供一种处理代码执行请求的方法,应用于中间代理服务器中,所述中间代理服务器与客户端和引擎服务器中的引擎服务均通信连接,所述方法包括:
接收所述客户端发送的代码执行请求,所述代码执行请求包括用户请求执行的代码;
根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话;其中,所述总会话列表包括所述用户在所述引擎服务中对应的所有会话,N为正整数;
将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话。
在本申请实施例中,中间代理服务器在接收到代码执行请求之后,可以通过预设的N个规则为该代码执行请求筛选一个合适的会话,并将该代码执行请求提交给该会话,相较于现有技术中由用户选择指定会话的方式,在本申请实施例中用户无需关注引擎服务中的会话个数等,也无需用户去指定会话,简化用户的操作,提升用户体验。且,本申请实施例中,中间代理服务器根据N个规则,从多个会话中筛选出相应会话,中间代理服务器选择会话的灵活性更高。
在一种可能的设计中,根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话,包括:
将所述用户对应的总会话列表依次通过K个规则,筛选出用于执行所述代码执行请求的会话;其中,所述K个规则为N个规则中按照预设优先级从高到低排列后的前K个规则,K为小于或等于N的正整数。
在本申请实施例中,将N个规则按照预设优先级进行排序,在中间代理服务器在根据N个规则筛选会话时,当通过优先级较高的前K个规则,筛选出满足该前K个规则的唯一会话作为用于执行代码执行请求的会话,一方面确保每一次能够筛选出对应的会话,另一方面确定能够保证筛选出的会话是能够满足优先级较高的规则,一定程度上保证了会话的可靠性。
在一种可能的设计中,所述N个规则包括:健康状态规则、并发规则、负载规则、指定会话规则、黑名单会话规则和优先级会话规则中的一种或几种;
其中,所述健康状态规则是指选取健康状态为正常的会话,所述并发规则是指选取当前并发数小于最大并发数的会话,所述负载规则是指选取在预设第一时长内负载量高于预设负载量的最大持续时长低于预设第二时长的会话,所述第一时长大于所述第二时长,所述指定会话规则是指选取所述代码执行请求中所指定的会话,所述黑名单会话规则是指选取除了预设的黑名单中会话之外的会话,所述优先级会话规则是指将多个会话按照预设优先级从高到低顺序排列,选取优先级最高的会话。
在本申请实施例中,N个规则的具体有多种方式,N个规则不同,筛选出的会话也就相应不同,进一步提高中间代理服务器选择会话的灵活性。
在一种可能的设计中,在接收所述客户端的代码执行请求之后,将所述代码执行请求封装为任务,并为所述任务分配任务身份识别码ID,将所述任务ID存储至关系型数据库中;
在将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话之后,将所述用于执行代码执行请求的会话对应的会话信息与所述任务ID的对应关系更新至所述关系型数据库中;
根据所述用于执行代码执行请求的会话对应的会话信息,从所述引擎服务中获取所述用于执行代码执行请求的会话执行所述任务的状态信息;
将所述状态信息反馈给所述客户端。
在本申请实施例中,中间代理服务器在为每个代码执行请求分配会话之后,可以将该会话以及该会话需要执行的任务ID的对应关系存储在关系型数据库中,便于中间代理服务器及时确定各个会话的任务量,且,便于中间代理服务器及时跟进各个任务的执行进度,在中间代理服务器跟进各个任务的执行进度之后,可以向客户端及时反馈,使得用户可以及时获得代码运行进度,进一步提升用户体验。
在一种可能的设计中,在根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话之前,包括:
接收至少一个引擎服务中每个引擎服务发送的注册信息;其中,所述注册信息包括所述每个引擎服务的资源定位符URL、服务类型以及服务元数据信息;
根据所述注册信息,向所述每个引擎服务发送第一心跳;
根据所述每个引擎服务针对所述第一心跳反馈的信息,获取所述每个引擎服务对应的会话列表。
在本申请实施例中,中间代理服务器会提前接收各个引擎服务发送的注册信息,在获取各个引擎服务的注册信息之后,从各个引擎服务中获取各个引擎服务对应的会话列表,以便于中间代理服务器管理各个引擎服务下的会话。
在一种可能的设计中,在根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话之前,包括:
根据所述每个引擎服务对应的会话列表,向所述每个引擎服务对应的会话列表中的每个会话发送第二心跳;
根据所述每个引擎服务对应的会话列表中的每个会话针对所述第二心跳反馈的信息,确定所述每个引擎服务对应的会话列表中的每个会话的健康状态。
在本申请实施例中,根据各个引擎服务对应的会话列表,向会话列表中的各个会话发送心跳,以及时确定各个会话的健康状态,便于后续为代码执行请求筛选健康状态为正常的会话。且,中间代理服务器管理各个会话,可以相对减少引擎服务器的负担。
第二方面,提供一种处理代码执行请求的装置,客户端通过所述装置与引擎服务器中的引擎服务通信,所述装置包括:
接收模块,用于接收客户端发送的代码执行请求,所述代码执行请求包括用户请求执行的代码;
会话筛选模块,用于根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话;其中,所述总会话列表包括所述用户在引擎服务中对应的所有会话,N为正整数;
发送模块,用于将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话。
在一种可能的设计中,会话筛选模块具体用于:
将所述用户对应的总会话列表依次通过K个规则,筛选出用于执行所述代码执行请求的会话;其中,所述K个规则为N个规则中按照预设优先级从高到低排列后的前K个规则,K为小于或等于N的正整数。
在一种可能的设计中,所述N个规则包括:健康状态规则、并发规则、负载规则、指定会话规则、黑名单会话规则和优先级会话规则中的一种或几种;
其中,所述健康状态规则是指选取健康状态为正常的会话,所述并发规则是指选取当前并发数小于最大并发数的会话,所述负载规则是指选取在预设第一时长内负载量高于预设负载量的最大持续时长低于预设第二时长的会话,所述第一时长大于所述第二时长,所述指定会话规则是指选取与所述代码执行请求中所指定的会话,所述黑名单会话规则是指选取除了预设的黑名单中会话之外的会话,所述优先级会话规则是指将多个会话按照预设优先级从高到低顺序排列,选取优先级最高的会话。
在一种可能的设计中,所述装置还包括会话管理模块;
所述接收模块,还用于在接收所述客户端的代码执行请求之后,将所述代码执行请求封装为任务,并为所述任务分配任务身份识别码ID,将所述任务ID存储至关系型数据库中;
所述会话管理模块,用于在所述发送模块将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话之后,将所述用于执行代码执行请求的会话对应的会话信息与所述任务ID的对应关系更新至所述关系型数据库中,以及根据所述用于执行代码执行请求的会话对应的会话信息,从所述引擎服务中获取所述用于执行代码执行请求的会话执行所述任务的状态信息;
所述发送模块,还用于将所述状态信息反馈给所述客户端。
在一种可能的设计中,所述装置还包括会话注册模块;
所述接收模块,在根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话之前,还用于接收至少一个引擎服务中每个引擎服务发送的注册信息;其中,所述注册信息包括所述每个引擎服务的资源定位符URL、服务类型以及服务元数据信息;
所述发送模块,还用于根据所述注册信息,向所述每个引擎服务发送第一心跳;
所述会话注册模块,用于根据所述每个引擎服务针对所述第一心跳反馈的信息,获取所述每个引擎服务对应的会话列表。
在一种可能的设计中,所述装置还包括会话健康状态确定模块;
所述发送模块,还用于在根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话之前,据所述每个引擎服务对应的会话列表,向所述每个引擎服务对应的会话列表中的每个会话发送第二心跳;
所述会话健康状态确定模块,用于根据所述每个引擎服务对应的会话列表中的每个会话针对所述第二心跳反馈的信息,确定所述每个引擎服务对应的会话列表中的每个会话的健康状态。
第三方面,提供一种处理代码执行请求的装置,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面及任意一种可能的设计中任一项所述的方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面及任意一种可能的设计中任一项所述的方法。
附图说明
图1为本申请实施例提供的一种处理代码执行请求的方法的应用场景图;
图2为本申请实施例提供的处理代码执行请求的简要过程示意图;
图3为本申请实施例提供的一种处理代码执行请求的方法的流程图;
图4为本申请实施例提供的一种处理代码执行请求的装置的结构示意图一;
图5为本申请实施例提供的一种处理代码执行请求的装置的结构示意图二。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
金融行业(比如银行、保险、证券)一般都会涉及到大数据平台脚本作业。大数据脚本作业一般是用户通过客户端将代码片段发送给引擎服务器,由引擎服务器上的会话来执行代码。由于现有的处理代码执行请求的方式中,用户操作极为繁琐,而这种方式很难满足银行等金融行业的实际业务需求。
鉴于此,本申请实施例提出一种处理代码执行请求的方法。下面对该方法涉及的应用场景进行说明。
请参照图1,该场景中包括客户端11、中间代理服务器12和引擎服务器13。客户端11通过中间代理服务器12与引擎服务器13进行通信。应当说明的是中间代理服务器12可以是单个服务器,也可以是服务器集群。引擎服务器13可以是单个服务器,也可以是服务器集群。
为了简要说明图1的应用场景下的各个设备之间的交互过程,请参照图2,图2表示处理代码执行请求的简要过程示意图。引擎服务器13中设置有多个引擎服务,每个引擎服务对应有多个会话,一个会话可以理解为一个轻量级应用,一个会话可以单独运行代码。图2中是以引擎服务器13包括Spark引擎服务器131和Python引擎服务器132两种为例,但是实际上不限制引擎服务器13的种类,同样也不限制引擎服务的类型。本申请中的引擎服务的类型可以等同于为引擎服务器的种类,一种引擎服务器对应的引擎服务均属于同一类型。
下面请继续参照图1和图2,对该应用场景下各个设备之间的交互过程进行简要说明。
具体的,用户通过客户端11发送代码执行请求,客户端11接收代码执行请求之后,将该代码执行请求发送给中间代理服务器12,中间代理服务器12为代码执行请求筛选出相应的会话,并将该代码执行请求发送给引擎服务器中对应的会话,会话执行该用户相应的代码。
下面基于图1的应用场景,结合图3,对本申请实施例涉及的一种处理代码执行请求的方法进行介绍。
步骤301,中间代理服务器12从客户端11接收代码执行请求,代码执行请求包括用户请求执行的代码。
具体的,用户想要利用引擎服务器13执行代码时,用户可以通过客户端11提交代码执行请求,客户端11将代码执行请求发送给中间代理服务器12,中间代理服务器12接收到该客户端11发送的代码执行请求。
在一种可能的实施方式中,中间代理服务器12中包括多个中间代理服务,为了避免某个代理服务的负载过高,中间代理服务器12以轮询的方式将不同用户的代码执行请求分配给各个中间代理服务处理,以尽量保证各个中间代理服务负载均衡。
其中,代码执行请求包括用户请求执行的代码。代码执行请求中还可以包括引擎服务类型,引擎服务类型是指用户指定用于执行代码执行请求的引擎服务类型,例如用户指定将该代码执行请求发送给Python引擎服务来执行。代码执行请求中还可以包括用户指定的会话身份识别码(identification,ID)。
例如,客户端可以利用表述性状态传递(Representational State Transfer,REST)方式将代码执行请求发送给中间代理服务器12。
步骤302,将代码执行请求封装为任务,并为该任务分配任务ID,将该任务的ID存储至关系型数据库中。
具体的,为了便于后期识别各个用户的代码执行请求,以及每个用户不同的代码执行请求,中间代理服务器12在接收各个代码执行请求之后,对每个代码执行请求进行封装处理,然后为每一个代码执行请求分配相应的任务ID。为了便于中间代理服务器12获取各个任务的任务ID,可以将各个任务的任务ID和该任务对应的状态信息存储在关系型数据库中。任务的状态信息包括任务的执行进度、代码的运行中间参数和任务处理的最终结果中的一种或几种,例如当前任务还未执行,那么该任务的执行进度可以标识为待处理。
其中,关系型数据库可以是中间代理服务器12中的数据库,也可以是单独存在与其他服务器中的数据库。当关系型数据库单独存在与其他服务器中的数据库时,关系型数据库与中间代理服务器12之间可以相互通信。
例如,中间代理服务器12接收3个用户发送的3个代码执行请求,中间代理服务器12可以将3个代码执行请求封装为对应任务,并分配相应ID,存储在关系型数据库中的内容如下表1。
表1
任务ID | 任务进度 |
1 | 待处理 |
2 | 待处理 |
3 | 待处理 |
步骤303,中间代理服务器12从引擎服务器13中的引擎服务接收注册信息。
具体的,引擎服务的类型有多种,每当有新的引擎服务需要接入中间代理服务器12时,可以向中间代理服务器12发送注册信息,中间代理服务器12在接收注册信息之后,就表示该新的引擎服务已经注册成功。
其中,注册信息包括引擎服务的资源定位符(Uniform Resource Locator,URL)、服务类型和服务元数据信息。服务元数据信息可以理解为该引擎服务对的一些固定参数,例如该引擎服务中的会话能够运行哪些种类的代码、哪些用户拥有使用该引擎服务的权限。
步骤304,中间代理服务器12接收注册信息之后,向该引擎服务发送第一心跳。
具体的,在新的引擎服务接入中间代理服务器12之后,中间代理服务12可以根据注册信息,向引擎服务发送第一心跳,第一心跳用于确认该引擎服务是否正常运行。
步骤305,中间代理服务器12接收引擎服务发送的针对第一心跳反馈的信息。
具体的,引擎服务在收到第一心跳之后,向中间代理服务器12发送针对第一心跳反馈的信息,中间代理服务器12接收到针对第一心跳反馈的信息,该针对第一心跳反馈的信息包括该引擎服务至少包括的所有会话对应的会话信息。会话信息包括各个会话的会话ID,会话信息还可以包括各个会话的最大并发数。
步骤306,中间代理服务器12根据该信息获得该引擎服务对应的会话列表。
中间代理服务器12在接收到针对第一心跳反馈的信息之后,就可以获得引擎服务的会话列表。会话列表包括该引擎服务包括的所有会话的会话ID。会话列表中还可以包括各个会话的最大并发数。
应当说明的是,步骤303-步骤306的实施例中,提供一种获取每个引擎服务的会话列表的方式。步骤303-步骤306在3中是以在步骤302之后执行为例,但是实际上步骤303-步骤306可以在步骤301之前执行,也可以在步骤302之前执行。
中间代理服务器12在获得每个引擎服务的会话列表之后,就可以获得用户对应的总会话列表。用户的总会话列表可以理解为该用户拥有使用权限的所有引擎服务中的会话。用户的总会话列表中一般包括多个会话。
其中,如前文步骤303论述的内容,每个引擎服务在创建时,服务元数据信息中包括有哪些用户具有使用该引擎服务的权限,中间代理服务器12在获得每个引擎服务的会话列表之后,就可以根据引擎服务的服务元数据信息确定该用户是否拥有使用该引擎服务中对应的会话的权限,进而确定出用户对应的总会话列表。
在一种可能的实施方式中,为了方便中间代理服务器12获取各个引擎服务的会话列表,中间代理服务器12可以将该会话列表存储在关系型数据库中。
例如,中间代理服务器12获得Spark引擎服务的会话列表和Python引擎服务的会话列表各自发送的会话列表,存储至关系型数据库中,关系型数据库的内容如下表2所示。
表2
步骤307,中间代理服务器12向每个引擎服务的会话列表中的会话发送第二心跳。
具体的,中间代理服务器12在获得每个引擎服务的会话列表之后,向会话列表中的每个会话发送第二心跳。中间代理服务器12可以向所有引擎服务对应的会话列表中会话周期性地发送第二心跳。为了减少中间代理服务器12的负担,中间代理服务器12也可以在接收到有代码执行请求之后,再向所有引擎服务对应的会话列表中会话发送第二心跳。
其中,第二心跳用于确认会话的健康状态,健康状态可以理解为该会话是否能够正常运行。每个会话的有一定的生存周期,可能某些会话因生存周期到期而停止、被人为停止、或者因为内存溢出异常退出等情况,可能出现某些会话的健康状态为异常。
步骤308,中间代理服务器12接收引擎服务针对第二心跳反馈的信息,并根据该信息,确定每个会话的健康状态。
具体的,各个会话在接收到第二心跳之后,如果会话处于正常工作状态,各个会话就可以及时地向中间代理服务器12反馈信息,中间代理服务器12在预设时长内接收到会话的针对第二心跳反馈的信息,则确定该会话的健康状态为正常。如果会话异常,则可能无法及时反馈给中间代理服务器12,中间代理服务器12在预设时长内没有接收该会话的针对第二心跳反馈的信息,则确定该会话的健康状态为异常,从而中间代理服务器12可以获得各个会话的健康状态。
在一种可能的实施方式中,为了方便中间代理服务器12后期及时获取各个会话的健康状态,可以将各个会话的健康状态更新至关系型数据库中。
例如,继续以表2所示的会话为例,中间代理服务器12确定会话1异常,会话2、会话3和会话4正常,中间代理服务器12可以将当前获得的各个会话的健康状态及时更新到关系型数据库中。
在步骤307-步骤308论述的实施例中,中间代理服务器12及时地确定各个会话的健康状态,方便为后续的代码执行请求筛选相应的会话。
步骤309,中间代理服务器12根据N个规则,从总会话列表中筛选出用于执行代码执行请求的会话。
具体的,用户的总会话列表中可能不止一个会话,因此,中间代理服务器12在接收客户端11发送的代码执行请求之后,根据N个规则,从总会话列表中筛选出一个会话用来执行代码执行请求。
下面对中间代理服务器12根据N个规则,从总会话列表中筛选出用于执行代码执行请求的会话的方式进行示例说明。
方式一:
中间代理服务器12将用户对应的总会话列表依次通过K个规则,筛选出用于执行代码执行请求的会话,K个规则为N个规则中按照预设优先级从高到低排列后的前K个规则,K为小于或等于N的正整数。
具体的,中间代理服务器12可以根据预设优先级从高到低依次排列N个规则,如果总会话列表在通过前第K个规则时,只剩唯一一个满足前K个规则的会话,那么该会话即为用于执行代码执行请求的会话,即该会话不再经过后面的(N-K)个规则的筛选。
其中,N个规则的预设优先级顺序可以是用户设定的,在这种情况下,不同的用户所对应的N个规则的优先级顺序可以不同。用户可以将N个规则的预设优先级顺序携带在代码执行请求中。N个规则的预设优先级顺序也可以是中间代理服务器12默认设置的。
本申请实施例中,将N个规则进行排序,只要能够满足优先级较高的前K个规则的一个会话作为用于执行代码执行请求的会话,一方面确保每一次能够筛选出对应的会话,另一方面确定能够保证筛选出的会话是满足优先级较高的规则。
方式二:
中间代理服务器12从总会话列表中筛选出满足N个规则的会话作为执行代码执行请求的会话。
具体的,中间代理服务器12要从会话列表中筛选出同时满足N个规则的会话,该会话用于执行当前代码执行请求的会话。在这种情况下,可能出现会话列表中的所有会话可能均不满足N个规则,那么中间代理服务器12可以通知引擎服务为该代码执行请求创建一个新的会话,以该新创建的会话作为执行当前代码执行请求的会话。
本申请实施例中,筛选出的会话是严格满足N个规则的,以保证该会话的质量,以提高会话后期执行代码执行请求的可靠性。
在一种可能的实施方式中,在方式二或方式一中均可能会筛选出满足N个规则的多个会话,中间代理服务器12可以从满足N个规则的多个会话中任意选择一个会话用于执行代码执行请求,中间代理服务器12也可以从满足N个规则的多个会话中选择会话的优先级高低顺序中优先级最高的会话用于执行代码执行请求。
其中,会话的优先级高低顺序可以是中间代理服务器12默认设置的,或者中间代理服务器12按照各个会话执行代码的平均时长决定的,会话执行代码的平均时长越短,该会话对应的优先级越高。中间代理服务器12可以根据在过去设定时长内的各个会话执行每个任务的平均时长决定的。
其中,N个规则可以理解为预先设定的用于从总会话列表中筛选出会话的规则的集合,N个规则包括以下(1)至(8)中的一种或几种。下面对该8种规则进行简要说明。
(1)健康状态规则,是指选取健康状态为正常的会话。
具体的,当中间代理服务器12从总会话列表中筛选出满足健康状态规则的会话时,涉及到中间代理服务器12确定总会话列表中各个会话的健康状态。如前文步骤307-步骤308论述的内容,中间代理服务器12可以通过关系型数据库获取各个会话最新的健康状态,确定各个会话的健康状态。
本申请实施例中,选取健康状态为正常的会话,相较于现有技术中由用户指定会话的方式,不仅可以简化用户的操作,还可以保证用于执行代码执行请求的会话是正常的,保证后续该会话的可靠性。
(2)并发规则,是指选取当前并发数小于最大并发数的会话。
当中间代理服务器12从总会话列表中筛选出满足并发规则的会话时,涉及到中间代理服务器12确定各个会话当前的并发数。
中间代理服务器12实时向各个会话发送确认信息,该确认信息用于确认各个会话的当前并发数,根据各个会话反馈的信息确定各个会话的当前并发数。
或者,如前文步骤302论述的内容,中间代理服务器12在为各个代码执行请求分配会话之后,将会话以及会话对应的任务数量存储在关系型数据库中,当中间代理服务器12根据关系型数据库获取各个会话对应的任务数量。在获得会话对应的任务数量之后,就可以获得会话的当前并发数。一般来说,会话处理一个任务,该会话的并发数为一。
中间代理服务器12在获取各个会话的当前并发数之后,中间代理服务器12根据会话列表中各个会话的最大并发数,从而确定出各个会话的当前并发数是否小于最大并发数。
本申请实施例中,选取当前并发数小于最大并发数的会话,可以保证将代码执行请求发送给该会话之后,该会话能够及时执行该代码执行请求,提高处理代码执行请求的及时性,提升用户的体验。
(3)负载规则,是指选取在预设第一时长内负载量高于预设负载量的最大持续时长低于预设第二时长的会话,第一时长大于第二时长。
当中间代理服务器12从总会话列表中筛选出满足负载规则的会话时,涉及到中间代理服务器12确定各个会话的在第一时长内的负载量,负载量可以用任务数量来表征。如前文步骤302论述的内容,中间代理服务器12在为各个代码执行请求分配会话之后,将会话以及会话对应的任务数量存储在关系型数据库中,各个会话在完成相应的任务之后,可以反馈完成信息给中间代理服务器12,中间代理服务器12可以根据该反馈完成信息,及时更新各个会话的任务数量。中间代理服务器12根据关系型数据库就可以实时获知各个会话的负载量,进而确定中间代理服务器12在第一预设时长内负载量高于预设负载量的最大持续时长。如果该最大持续时长小于第二时长,则表示该会话的负载能够及时处理相应任务,可以将代码执行请求分配给该会话。如果该最大持续时长大于第二时长,则表示该会话的负载持续居高不下,从而避免将代码执行请求分配给该任务,造成用户的代码执行请求时延长的情况。
本申请实施例中,筛选出满足负载规则的会话,不仅能够让用户的代码执行请求能够及时被处理,还能尽量保证各个会话的负载均衡。
(4)指定会话规则,是指选取代码执行请求中所指定的会话。代码执行请求中所指定的会话可以是一个,也可以是多个。
(5)黑名单会话规则,是指选取除了预设的黑名单中会话之外的会话。黑名单会话规则中预设的黑名单中的会话可以是用户携带在代码执行请求执行中的。其中,每个用户对应的黑名单中对应的会话可以是不相同,也可以是相同的。
(6)优先级会话规则,是指将多个会话按照预设优先级从高到低顺序排列,选取优先级最高的会话。其中,会话预设优先级高低设置方式可以参照前文论述的内容,此处不再赘述。
本申请实施例中,当有多个会话并列满足某些规则时,可以利用优先级会话规则从多个会话中选择优先级最高的会话,确保为用户选择可靠性较高的会话。
(7)引擎服务类型规则,是指选取与用户请求执行的代码类型相匹配的会话。
作为一种实施例,如果代码执行请求中携带有引擎服务类型,中间代理层12可以根据代码执行请求为该代码执行请求分配相匹配的引擎服务,中间代理层无需设置引擎类型规则。如果代码执行请求中没有携带有引擎服务类型,则中间代理层可以增设引擎服务类型规则,用于为该代码执行请求筛选出匹配的引擎服务中的会话。
(8)自定义规则,是指根据用户输入的规则来选取相应的会话。
具体的,用户可以通过代码执行请求中携带自己定义的一些筛选规则,中间代理服务器12接收之后,会将代码执行请求中的筛选规则确定为该用户筛选会话的规则。
下面对上述(8)种规则的组合的情况进行示例说明。
N个规则包括健康状态规则、并发规则、指定会话规则、黑名单会话规则和优先级会话规则,按照方式二的方式从总会话列表中筛选会话。N个规则按照预设优先级从高到低排列依次例如为健康状态规则>并发规则>负载规则>指定会话规则>黑名单会话规则>优先级会话规则。
具体的,中间代理服务器12根据健康状态规则筛选出健康状态为正常的第一会话列表,中间代理服务器12再根据并发规则,从第一会话列表中筛选出当前并发数小于最大并发数的第二会话列表,再根据负载规则进行筛选,依次类推,直到筛选出一个用于执行代码执行请求的会话为止。
应当说明的是,上述(8)种规则可以有很多种组合,本文不进行一一列举。
步骤310,中间代理服务器12将用户请求执行的代码发送给筛选出的会话。
具体的,中间代理服务器12根据N个规则筛选出对应的会话之后,可以将用户请求执行的代码发送给筛选出的会话,该会话执行该用户发送的代码。
步骤311,中间代理服务器12可以将筛选出的会话的会话信息与任务ID的对应关系存储在关系型数据库中。
具体的,当确定某个任务对应的会话之后,中间代理服务器12可以将该会话的会话信息与任务ID的对应关系存储在关系型数据库中,及时更新关系型数据库中的数据,方便中间代理服务器12能够确定各个会话的任务数量。
步骤312,中间代理服务器12从会话中获取任务的状态信息。
具体的,中间代理服务器12在将任务提交给会话之后,会话可以间隔预设时长向中间代理服务器12发送该会话执行各个任务的状态信息,相当于中间代理服务器12获取得到任务的状态信息。中间代理服务器12也可以是周期性地问询各个会话,以获得各个会话执行任务的状态信息。任务的状态信息可以参照前文步骤302论述的内容,此处不再赘述。
步骤313,中间代理服务器12将该任务的状态信息反馈给客户端11。
在中间代理服务器12获取该任务的状态信息之后,及时向客户端11反馈任务的状态信息。或者,为了节省开销,以及及时更新任务的进度,中间代理服务器12将该任务的状态信息存储至关系型数据库中,周期性地向客户端11反馈各个任务的状态信息。
作为一种实施例,图3中的步骤302属于可选的部分,步骤303-步骤306属于可选的部分,步骤307-步骤308属于可选的部分,步骤311-步骤313属于可选的部分。
本实施例通过上述处理代码执行请求的方法,实现了银行等金融行业中的代码执行请求的处理过程,用户无需关注引擎服务中的会话个数等,也无需用户去指定会话,简化用户的操作,提升用户体验。且,中间代理服务器根据N个规则,从多个会话中筛选出相应会话,中间代理服务器选择会话的灵活性更高。
在前文论述的一种处理代码执行请求的方法的基础上,本申请实施例还提供一种处理代码执行请求的装置,该装置相当于前文图3中的中间代理服务器12,请参照图4,该装置包括:
接收模块401,用于接收客户端11发送的代码执行请求,代码执行请求包括用户请求执行的代码;代码执行请求的内容可以参照前文步骤301论述的内容,此处不再赘述。
会话筛选模块402,用于根据预设的N个规则,从用户对应的总会话列表中,筛选出用于执行代码执行请求的会话;其中,总会话列表包括用户在引擎服务中对应的所有会话,N为正整数;总会话列表、N个规则的内容可以参照前文步骤309论述的内容,此处不再赘述。
发送模块403,用于将用户请求执行的代码发送给用于执行代码执行请求的会话。
在一种可能的实施例中,会话筛选模块402具体用于:
将用户对应的总会话列表依次通过K个规则,筛选出用于执行代码执行请求的会话;其中,K个规则为N个规则中按照预设优先级从高到低排列后的前K个规则,K为小于或等于N的正整数。
在一种可能的实施例中,N个规则包括:健康状态规则、并发规则、负载规则、指定会话规则、黑名单会话规则和优先级会话规则中的一种或几种;
其中,健康状态规则是指选取健康状态为正常的会话,并发规则是指选取当前并发数小于最大并发数的会话,负载规则是指选取在预设第一时长内负载量高于预设负载量的最大持续时长低于预设第二时长的会话,第一时长大于第二时长,指定会话规则是指选取代码执行请求中所指定的会话,黑名单会话规则是指选取除了预设的黑名单中会话之外的会话,优先级会话规则是指将多个会话按照预设优先级从高到低顺序排列,选取优先级最高的会话。
在一种可能的实施例中,装置还包括会话管理模块404;
接收模块401,还用于在接收客户端的代码执行请求之后,将代码执行请求封装为任务,并为任务分配任务身份识别码ID,将任务ID存储至关系型数据库中;
会话管理模块404,用于在发送模块403将用户请求执行的代码发送给用于执行代码执行请求的会话之后,将用于执行代码执行请求的会话对应的会话信息与任务ID的对应关系更新至关系型数据库中,以及根据用于执行代码执行请求的会话对应的会话信息,从引擎服务中获取用于执行代码执行请求的会话执行任务的状态信息;
发送模块403,还用于将状态信息反馈给客户端11。
在一种可能的实施例中,装置还包括会话注册模块405;
接收模块401,在根据预设的N个规则,从用户对应的总会话列表中,筛选出用于执行代码执行请求的会话之前,还用于接收至少一个引擎服务中每个引擎服务发送的注册信息;其中,注册信息包括每个引擎服务的资源定位符URL、服务类型以及服务元数据信息;
发送模块403,还用于根据注册信息,向每个引擎服务发送第一心跳;
会话注册模块405,用于根据每个引擎服务针对第一心跳反馈的信息,获取每个引擎服务对应的会话列表。
在一种可能的实施例中,该装置还包括会话健康状态确定模块406;
发送模块403,还用于在根据预设的N个规则,从用户对应的总会话列表中,筛选出用于执行代码执行请求的会话之前,据每个引擎服务对应的会话列表,向每个引擎服务对应的会话列表中的每个会话发送第二心跳;
会话健康状态确定模块406,用于根据每个引擎服务对应的会话列表中的每个会话针对第二心跳反馈的信息,确定每个引擎服务对应的会话列表中的每个会话的健康状态。
在前文论述的一种处理代码执行请求的方法的基础上,本申请实施例还提供一种处理代码执行请求的装置,该装置相当于前文论述的中间代理服务器12,请参照图5,该装置包括:
至少一个处理器501,以及
与至少一个处理器501通信连接的存储器502;
其中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令实现如图3所述的方法。
作为一种实施例,图4中的会话管理模块404、会话注册模块405、会话健康状态确定模块406以及会话筛选模块402可以通过图5中的处理器501实现。
其中,处理器501是中间代理服务器12的控制中心,可以利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,实现为代码执行请求筛选会话,以及管理会话的功能。
可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机存取存储器(random accessmemory,RAM)、静态随机存取器(static random access memory,SRAM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(read only memory,ROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
在前文论述的一种处理代码执行请求的方法的基础上,本申请实施例一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如图3所述的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种处理代码执行请求的方法,其特征在于,应用于中间代理服务器中,所述中间代理服务器与客户端和引擎服务器中的引擎服务均通信连接,所述方法包括:
接收所述客户端发送的代码执行请求,所述代码执行请求包括用户请求执行的代码;
根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话;其中,所述总会话列表包括所述用户在所述引擎服务中对应的所有会话,N为正整数;
将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话。
2.如权利要求1所述的方法,其特征在于,根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话,包括:
将所述用户对应的总会话列表依次通过K个规则,筛选出用于执行所述代码执行请求的会话;其中,所述K个规则为N个规则中按照预设优先级从高到低排列后的前K个规则,K为小于或等于N的正整数。
3.如权利要求1或2所述的方法,其特征在于,所述N个规则包括:健康状态规则、并发规则、负载规则、指定会话规则、黑名单会话规则和优先级会话规则中的一种或几种;
其中,所述健康状态规则是指选取健康状态为正常的会话,所述并发规则是指选取当前并发数小于最大并发数的会话,所述负载规则是指选取在预设第一时长内负载量高于预设负载量的最大持续时长低于预设第二时长的会话,所述第一时长大于所述第二时长,所述指定会话规则是指选取所述代码执行请求中所指定的会话,所述黑名单会话规则是指选取除了预设的黑名单中会话之外的会话,所述优先级会话规则是指将多个会话按照预设优先级从高到低顺序排列,选取优先级最高的会话。
4.如权利要求1所述的方法,其特征在于,
在接收所述客户端的代码执行请求之后,将所述代码执行请求封装为任务,并为所述任务分配任务身份识别码ID,将所述任务ID存储至关系型数据库中;
在将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话之后,将所述用于执行代码执行请求的会话对应的会话信息与所述任务ID的对应关系更新至所述关系型数据库中;
根据所述用于执行代码执行请求的会话对应的会话信息,从所述引擎服务中获取所述用于执行代码执行请求的会话执行所述任务的状态信息;
将所述状态信息反馈给所述客户端。
5.如权利要求1、2或4所述的方法,其特征在于,在根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话之前,包括:
接收至少一个引擎服务中每个引擎服务发送的注册信息;其中,所述注册信息包括所述每个引擎服务的资源定位符URL、服务类型以及服务元数据信息;
根据所述注册信息,向所述每个引擎服务发送第一心跳;
根据所述每个引擎服务针对所述第一心跳反馈的信息,获取所述每个引擎服务对应的会话列表。
6.如权利要求5所述的方法,其特征在于,在根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话之前,包括:
根据所述每个引擎服务对应的会话列表,向所述每个引擎服务对应的会话列表中的每个会话发送第二心跳;
根据所述每个引擎服务对应的会话列表中的每个会话针对所述第二心跳反馈的信息,确定所述每个引擎服务对应的会话列表中的每个会话的健康状态。
7.一种处理代码执行请求的装置,其特征在于,客户端通过所述装置与引擎服务器中的引擎服务通信,所述装置包括:
接收模块,用于接收客户端发送的代码执行请求,所述代码执行请求包括用户请求执行的代码;
会话筛选模块,用于根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话;其中,所述总会话列表包括所述用户在引擎服务中对应的所有会话,N为正整数;
发送模块,用于将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话。
8.如权利要求7所述的装置,其特征在于,会话筛选模块具体用于:
将所述用户对应的总会话列表依次通过K个规则,筛选出用于执行所述代码执行请求的会话;其中,所述K个规则为N个规则中按照预设优先级从高到低排列后的前K个规则,K为小于或等于N的正整数。
9.如权利要求7或8所述的装置,其特征在于,所述N个规则包括:健康状态规则、并发规则、负载规则、指定会话规则、黑名单会话规则和优先级会话规则中的一种或几种;
其中,所述健康状态规则是指选取健康状态为正常的会话,所述并发规则是指选取当前并发数小于最大并发数的会话,所述负载规则是指选取在预设第一时长内负载量高于预设负载量的最大持续时长低于预设第二时长的会话,所述第一时长大于所述第二时长,所述指定会话规则是指选取所述代码执行请求中所指定的会话,所述黑名单会话规则是指选取除了预设的黑名单中会话之外的会话,所述优先级会话规则是指将多个会话按照预设优先级从高到低顺序排列,选取优先级最高的会话。
10.如权利要求7所述的装置,其特征在于,所述装置还包括会话管理模块;
所述接收模块,还用于在接收所述客户端的代码执行请求之后,将所述代码执行请求封装为任务,并为所述任务分配任务身份识别码ID,将所述任务ID存储至关系型数据库中;
所述会话管理模块,用于在所述发送模块将所述用户请求执行的代码发送给所述用于执行代码执行请求的会话之后,将所述用于执行代码执行请求的会话对应的会话信息与所述任务ID的对应关系更新至所述关系型数据库中,以及根据所述用于执行代码执行请求的会话对应的会话信息,从所述引擎服务中获取所述用于执行代码执行请求的会话执行所述任务的状态信息;
所述发送模块,还用于将所述状态信息反馈给所述客户端。
11.如权利要求7、8或10所述的装置,其特征在于,所述装置还包括会话注册模块;
所述接收模块,在根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话之前,还用于接收至少一个引擎服务中每个引擎服务发送的注册信息;其中,所述注册信息包括所述每个引擎服务的资源定位符URL、服务类型以及服务元数据信息;
所述发送模块,还用于根据所述注册信息,向所述每个引擎服务发送第一心跳;
所述会话注册模块,用于根据所述每个引擎服务针对所述第一心跳反馈的信息,获取所述每个引擎服务对应的会话列表。
12.如权利要求11所述的装置,其特征在于,所述装置还包括会话健康状态确定模块;
所述发送模块,还用于在根据预设的N个规则,从所述用户对应的总会话列表中,筛选出用于执行所述代码执行请求的会话之前,据所述每个引擎服务对应的会话列表,向所述每个引擎服务对应的会话列表中的每个会话发送第二心跳;
所述会话健康状态确定模块,用于根据所述每个引擎服务对应的会话列表中的每个会话针对所述第二心跳反馈的信息,确定所述每个引擎服务对应的会话列表中的每个会话的健康状态。
13.一种处理代码执行请求的装置,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要1-6中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910419110.4A CN110191165B (zh) | 2019-05-20 | 2019-05-20 | 一种处理代码执行请求的方法及装置 |
PCT/CN2020/079558 WO2020233206A1 (zh) | 2019-05-20 | 2020-03-17 | 一种处理代码执行请求的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910419110.4A CN110191165B (zh) | 2019-05-20 | 2019-05-20 | 一种处理代码执行请求的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110191165A true CN110191165A (zh) | 2019-08-30 |
CN110191165B CN110191165B (zh) | 2023-05-12 |
Family
ID=67716929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910419110.4A Active CN110191165B (zh) | 2019-05-20 | 2019-05-20 | 一种处理代码执行请求的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110191165B (zh) |
WO (1) | WO2020233206A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111341163A (zh) * | 2020-04-16 | 2020-06-26 | 湖南翰坤实业有限公司 | 一种基于vr技术的建筑安全教育多人在线培训系统及方法 |
WO2020233206A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳前海微众银行股份有限公司 | 一种处理代码执行请求的方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328302B (zh) * | 2020-11-30 | 2023-05-23 | 中国航空工业集团公司西安航空计算技术研究所 | 一种可适配多种存储系统的配置服务组件 |
CN112732456A (zh) * | 2020-12-15 | 2021-04-30 | 京东数字科技控股股份有限公司 | 微服务调用方法、装置、电子设备和存储介质 |
CN113590358B (zh) * | 2021-08-02 | 2024-08-06 | 中国工商银行股份有限公司 | 基于rpa的服务并发治理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549978A (zh) * | 2001-07-16 | 2004-11-24 | BEAϵͳ��˾ | 用于会话复制和故障切换的方法和装置 |
WO2013036099A1 (en) * | 2011-09-06 | 2013-03-14 | Mimos Berhad | System and method for rich internet application session transfer |
CN103782574A (zh) * | 2011-09-09 | 2014-05-07 | 甲骨文国际公司 | 用于数据库事务的幂等性 |
CN107819593A (zh) * | 2016-09-14 | 2018-03-20 | 北京京东尚科信息技术有限公司 | 智能设备群组通信的方法、系统以及终端设备 |
CN109413037A (zh) * | 2018-09-12 | 2019-03-01 | 北京奇安信科技有限公司 | 一种Modbus业务处理方法及装置 |
CN109729139A (zh) * | 2018-06-15 | 2019-05-07 | 平安普惠企业管理有限公司 | 访问请求转发方法、装置、设备及可读存储介质 |
CN109739663A (zh) * | 2018-12-29 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 作业处理方法、装置、设备及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067638A1 (en) * | 2005-09-22 | 2007-03-22 | Roland Haibl | Method of Session Consolidation |
US9479480B2 (en) * | 2010-01-29 | 2016-10-25 | Citrix Systems, Inc. | Systems and methods of using SSL pools for WAN acceleration |
US10069928B1 (en) * | 2015-01-21 | 2018-09-04 | Amazon Technologies, Inc. | Translating requests/responses between communication channels having different protocols |
CN105306442B (zh) * | 2015-09-17 | 2018-12-25 | 物联智慧科技(深圳)有限公司 | 代理服务器及其指令传输方法 |
CN110191165B (zh) * | 2019-05-20 | 2023-05-12 | 深圳前海微众银行股份有限公司 | 一种处理代码执行请求的方法及装置 |
-
2019
- 2019-05-20 CN CN201910419110.4A patent/CN110191165B/zh active Active
-
2020
- 2020-03-17 WO PCT/CN2020/079558 patent/WO2020233206A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549978A (zh) * | 2001-07-16 | 2004-11-24 | BEAϵͳ��˾ | 用于会话复制和故障切换的方法和装置 |
WO2013036099A1 (en) * | 2011-09-06 | 2013-03-14 | Mimos Berhad | System and method for rich internet application session transfer |
CN103782574A (zh) * | 2011-09-09 | 2014-05-07 | 甲骨文国际公司 | 用于数据库事务的幂等性 |
CN107819593A (zh) * | 2016-09-14 | 2018-03-20 | 北京京东尚科信息技术有限公司 | 智能设备群组通信的方法、系统以及终端设备 |
CN109729139A (zh) * | 2018-06-15 | 2019-05-07 | 平安普惠企业管理有限公司 | 访问请求转发方法、装置、设备及可读存储介质 |
CN109413037A (zh) * | 2018-09-12 | 2019-03-01 | 北京奇安信科技有限公司 | 一种Modbus业务处理方法及装置 |
CN109739663A (zh) * | 2018-12-29 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 作业处理方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
曹海涛等: "基于集群节点间即时拷贝的会话同步技术研究", 《计算机系统应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233206A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳前海微众银行股份有限公司 | 一种处理代码执行请求的方法及装置 |
CN111341163A (zh) * | 2020-04-16 | 2020-06-26 | 湖南翰坤实业有限公司 | 一种基于vr技术的建筑安全教育多人在线培训系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020233206A1 (zh) | 2020-11-26 |
CN110191165B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110191165A (zh) | 一种处理代码执行请求的方法及装置 | |
CN104756444B (zh) | 云中的cdn负载平衡 | |
CN107682397B (zh) | 客户资源获取方法、装置、终端设备及存储介质 | |
Upadhyaya et al. | How to price shared optimizations in the cloud | |
US8301502B2 (en) | Methods and systems for account management of group accounts | |
CN108830686A (zh) | 一种基于区块链的资产信息处理方法及服务器 | |
WO2020022957A1 (en) | Method and apparatus for transaction verification in a blockchain-based network | |
JP6522718B1 (ja) | Api課金システム、api課金管理方法、及び、api課金プログラム | |
CN110830604B (zh) | Dns调度方法、装置 | |
CN108513020A (zh) | 一种呼入分配方法、电子装置及计算机可读存储介质 | |
US20220295133A1 (en) | Technologies for managing collaborative and multiplatform media content playlists | |
CN103297405A (zh) | 一种用户识别和信息投放的方法和装置 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
US10521800B2 (en) | Method for automatic creation and configuration of license models and policies | |
CN107766378A (zh) | 请求信息的发送方法及装置、分布式数据库系统 | |
US20080319771A1 (en) | Selective data feed distribution architecture | |
CN105005501B (zh) | 一种面向云数据中心的二阶任务优化调度方法 | |
CN106874080A (zh) | 基于分布式服务器集群的数据计算方法及系统 | |
CN113992666B (zh) | 云资源分配方法、系统、设备及存储介质 | |
CN108243348B (zh) | 一种流处理请求分配服务器 | |
WO2016169327A1 (zh) | 一种用于移动终端上网流量分享的方法和系统 | |
CN111523898A (zh) | 一种数字资产管理系统验证方法 | |
CN113422796A (zh) | 一种信息处理方法及装置、存储介质 | |
CN103685488B (zh) | 网盘中资源的控制方法及网盘 | |
CN106101118B (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 |