CN107770227A - 服务请求的分发处理方法和装置 - Google Patents
服务请求的分发处理方法和装置 Download PDFInfo
- Publication number
- CN107770227A CN107770227A CN201610703283.5A CN201610703283A CN107770227A CN 107770227 A CN107770227 A CN 107770227A CN 201610703283 A CN201610703283 A CN 201610703283A CN 107770227 A CN107770227 A CN 107770227A
- Authority
- CN
- China
- Prior art keywords
- service
- port
- destination
- service request
- service port
- 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.)
- Pending
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
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了服务请求的分发处理方法和装置。所述方法的一具体实施方式包括:接收用户使用终端发来的服务请求,所述服务请求包括统一资源定位符URL;获取当前服务端口信息集合,所述当前服务端口信息包括服务端口号和服务端口号所标识的服务端口的处理中服务请求数;从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理。该实施方式是实现了根据服务端口正在处理的服务请求数合理调配服务端口资源。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及服务请求的分发处理方法和装置。
背景技术
在一些大型的网络应用中,在同一台服务器或计算机上同时有多个进程的应用程序或服务在运行。当有服务请求的时候,通过随机的调度方案将服务请求随机分配到服务器的服务端口的进程中,这种随机的调度方案不能均匀合理的利用服务进程的资源,同时,不能够识别出故障的服务端口,继续将服务请求分配到出现故障的服务端口的进程进行处理,导致服务不稳定,部分服务请求不能被处理的情况。
发明内容
本申请的目的在于提出一种改进的服务请求的分发处理方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种服务请求的分发处理方法,所述方法包括:接收用户使用终端发来的服务请求,所述服务请求包括统一资源定位符URL;获取当前服务端口信息集合,所述当前服务端口信息包括服务端口号和服务端口号所标识的服务端口的处理中服务请求数;从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理。
在一些实施例中,所述组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理,包括:判断所述目标服务端口号对应的服务端口的服务是否正常;如果正常,则组合所述服务请求和所述目标服务端口
在一些实施例中,所述组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理,包括:如果不正常,则将所述目标服务端口号对应的当前服务端口信息从所述当前服务端口信息集合中删除,并执行以下选取步骤:从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;确定所述目标服务端口号对应的服务端口的服务是否正常;响应于确定所述目标服务端口号对应的服务端口的服务正常,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理;响应于确定所述目标服务端口号对应的服务端口的服务不正常,则将所述目标服务端口号对应的当前服务端口信息从所述当前服务端口信息集合中删除,继续执行所述选取步骤。
在一些实施例中,所述从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号,包括:判断与所述目标服务端口号对应的当前服务端口信息的处理中服务请求数是否大于预定最大并发数;如果是,则启动不属于所述当前服务端口信息集合中的新服务端口,并在所述当前服务端口信息集合添加一条新的当前服务端口信息,将所述新的当前服务端口信息的服务端口号和处理中服务请求数分别设置为所述新服务端口的服务端口号和零,将所述新服务端口的服务端口号作为目标服务端口号。
在一些实施例中,所述如果正常,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理,包括:在执行所述处理开始前,对所述目标服务端口号所标识的服务端口的处理中服务请求数做加一操作;在执行所述处理结束后,对所述目标服务端口号所标识的服务端口的处理中服务请求数做减一操作。
第二方面,本申请提供了一种服务请求的分发处理装置,所述装置包括:接收单元,配置用于接收用户使用终端发来的服务请求,所述服务请求包括统一资源定位符URL;端口信息获取单元,配置用于获取当前服务端口信息集合,所述当前服务端口信息包括服务端口号和服务端口号所标识的服务端口的处理中服务请求数;选取单元,配置用于从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;分发单元,配置用于组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理。
在一些实施例中,所述分发单元包括:判断模块,配置用于判断所述目标服务端口号对应的服务端口的服务是否正常;正常处理模块,配置用于当所述目标服务端口号对应的服务端口的服务正常时,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理。
在一些实施例中,所述分发单元还包括:非正常处理模块,配置用于当所述目标服务端口号对应的服务端口的服务不正常时,则将所述目标服务端口号对应的当前服务端口信息从所述当前服务端口信息集合中删除,并执行以下选取步骤:从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;判断所述目标服务端口号对应的服务端口的服务是否正常;响应于确定所述目标服务端口号对应的服务端口的服务正常,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理;响应于确定所述目标服务端口号对应的服务端口的服务不正常,则将所述目标服务端口号对应的当前服务端口信息从所述当前服务端口信息集合中删除,继续执行所述选取步骤。
在一些实施例中,所述选取单元进一步配置用于:判断与所述目标服务端口号对应的当前服务端口信息的处理中服务请求数是否大于预定最大并发数;如果是,则启动不属于所述当前服务端口信息集合中的新服务端口,并在所述当前服务端口信息集合添加一条新的当前服务端口信息,将所述新的当前服务端口信息的服务端口号和处理中服务请求数分别设置为所述新服务端口的服务端口号和零,将所述新服务端口的服务端口号作为目标服务端口号。
在一些实施例中,所述正常处理模块进一步配置用于:在执行所述处理开始前,对所述目标服务端口号所标识的服务端口的处理中服务请求数做加一操作;在执行所述处理结束后,对所述目标服务端口号所标识的服务端口的处理中服务请求数做减一操作。
本申请提供的服务请求的分发处理方法和装置,通过获取当前服务端口信息集合,根据当前服务端口信息中的服务端口号和服务端口号所标识的服务端口的处理中服务请求数选定目标服务端口,组合用户的服务请求和目标服务端口号以形成目标地址,将用户的服务请求转发至目标地址进行处理,从而实现将根据服务端口的信息选择服务端口,合理的利用端口资源。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的服务请求的分发处理方法的一个实施例的流程图;
图3a是根据本申请的服务请求的分发处理方法的一个应用场景的示意图;
图3b是根据本申请的服务请求的分发处理方法的一个应用场景的示意图;
图4是根据本申请的服务请求的分发处理方法的又一个实施例的流程图;
图5是根据本申请的服务请求的分发处理装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的服务请求的分发处理方法或服务请求的分发处理装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如事务处理应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持事务处理应用的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的事务处理应用提供支持的后台处理服务器。后台处理服务器可以对接收到的用户服务请求等处理任务进行分配,根据服务端口的任务处理情况将用户服务请求分配到不同服务端口的服务进程处理。
需要说明的是,本申请实施例所提供的服务请求的分发处理方法一般由服务器105执行,相应地,服务请求的分发处理装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的服务请求的分发处理方法的一个实施例的流程200。所述的服务请求的分发处理方法,包括以下步骤:
步骤201,接收用户使用终端发来的服务请求。
在本实施例中,服务请求的分发处理方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式,接收用户利用其进行事务处理的终端发来的服务请求,上述服务请求包括统一资源定位符URL(Uniform Resource Locator,统一资源定位符)。其中,上述用户的服务请求是利用终端上安装的应用类软件向服务器发出的各类服务请求,可以是购物类应用服务,如查询订单中商品价格、请求下单或请求支付等服务,还可以是信息查询服务请求,或从网站的网页中抽取知识的服务请求等。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,获取当前服务端口信息集合。
在本实施例中,在上述电子设备的内部缓存区预先设置当前服务端口信息集合,其中,当前服务端口信息是当前正在服务的服务端口的信息,上述当前服务端口信息包括服务端口号和该服务端口号所标识的服务端口的处理中服务请求数。上述当前服务端口信息集合中的每个当前服务端口信息分别与当前正在服务的服务端口一一对应,每个服务端口都有一条当前服务端口信息与其对应。上述服务端口号可以用来识别上述服务端口,上述处理中服务请求数是上述当前服务端口信息中服务端口号所标识的服务端口在处理中的服务请求的数目。
步骤203,从上述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号。
在本实施例中,服务请求的分发处理方法运行于其上的电子设备比较上述当前服务端口信息集合中的处理中服务请求数,由比较结果选择处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号。这里,为了均匀合理的利用端口的资源,可以根据服务端口正在处理的服务信息将上述用户的服务请求分派到各个端口处理;可以选择将上述用户的服务请求分派到正在处理中服务请求最少的端口处理。可以通过比较确定出处理中服务请求数最小的当前服务端口信息,并由该当前服务端口信息的服务端口号确定该服务端口号为目标服务端口号。
步骤204,组合上述服务请求和上述目标服务端口号以形成目标地址,将上述服务请求转发至上述目标地址进行处理。
在本实施例中,上述电子设备可以将上述用户的服务请求和目标服务端口号结合形成新的地址,将用户的服务请求分发到该地址处理。这里,可以将用户的服务请求中的URL和目标服务端口号组合形成目标地址,该目标地址直接链接到上述目标服务端口号所标识的服务端口。作为示例,用户通过地址192.168.168.1访问这台设备的8080号服务端口,根据用户的URL和服务端口的服务端口号形成直接链接到服务端口的地址192.168.168.1:8080,将用户的上述服务请求转发至地址192.168.168.1:8080的服务端口进行处理。
在本实施例的一些可选的实现方式中,上述组合用户的服务请求和上述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理,包括:判断上述目标服务端口号对应的服务端口的服务是否正常;如果正常,则组合用户的所述服务请求和上述目标服务端口号以形成目标地址,并将上述服务请求转发至上述目标地址进行处理。这里,判断上述目标服务端口号对应的服务端口的服务是否正常可以通过预先设置的网页服务的回调函数判断。可以通过上述网页服务的回调函数监听上述服务端口,根据上述回调函数的返回值确定上述服务端口是否正常。作为示例,可以判断上述回调函数的返回值是否为设定值,如果为设定值,则上述服务端口所对应的服务正常,否则,上述服务端口所对应的服务不正常。
在本实施例的一些可选的实现方式中,上述组合用户的服务请求和上述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理,还包括:判断上述目标服务端口号对应的服务端口的服务是否正常;如果不正常,则将上述目标服务端口号对应的当前服务端口信息从上述当前服务端口信息集合中删除,并执行以下选取步骤重新从上述当前服务端口信息集合中选取新的目标服务端口号,直到选取的目标服务端口号所对应的服务端口的服务正常为止。其中,上述选取步骤如下所述:从上述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;确定上述目标服务端口号对应的服务端口的服务是否正常;响应于确定所述目标服务端口号对应的服务端口的服务正常,则组合上述服务请求和上述目标服务端口号以形成目标地址,将上述服务请求转发至上述目标地址进行处理;响应于确定所述目标服务端口号对应的服务端口的服务不正常,则将上述目标服务端口号对应的当前服务端口信息从上述当前服务端口信息集合中删除,继续执行上述选取步骤。
继续参见图3a和图3b,图3a和图3b是根据本实施例的服务请求的分发处理方法的应用场景的示意图。在图3a和图3b的应用场景中,用户的服务请求通过网络或其他的方式进入上述电子设备的服务端口协调器,上述服务端口协调器根据该服务端口当前正在处理中服务器请求数确定出处理上述服务请求的服务端口。其中,上述服务端口协调器是上述电子设备中用于协调的各个服务端口的服务处理流程的器件。如图3a所示,作为示例,上述电子设备内正在处理服务请求的服务端口有4个,分别为:服务端口8000、服务端口8001、服务端口8002和服务端口8003,上述服务端口的正在处理的服务请求的数量使用圆形区域的大小表示,圆形区域越大表示正在处理的服务请求的数量越多。使用当前服务端口信息的服务端口号和处理中服务请求数分别表示上述服务端口的端口号和正在处理的服务请求的数量。初始时,根据表示服务请求的数量使用圆形区域的大小可知服务端口8000、服务端口8001、服务端口8002和服务端口8003正在处理的服务请求的数量不同,其中,服务端口8002的最少,也即与服务端口8002对应的当前服务端口信息中的处理中服务请求数最小,可以将上述服务请求分发到服务端口8002进行后续的处理。如图3b所示,当上述服务请求分发到服务端口8002后,表示上述服务端口8002的正在处理的服务请求的数量的圆形区域变大。上述服务请求发发到服务端口8002执行服务处理流程(这里使用粗箭头表示)。这里,上述服务端口协调器可以根据当前服务端口信息将服请求均匀合理的分发到服务端口中处理。
本申请的上述实施例提供的方法通过判断当前服务端口信息中的处理中服务请求数的大小,选取出处理中服务请求数最小的的服务端口作为处理用户服务请求的服务端口,将上述服务请求分发到该服务端口处理,实现了根据服务端口的信息选择服务端口,均匀合理的利用端口资源。
进一步参考图4,其示出了服务请求的分发处理方法的又一个实施例的流程400。该服务请求的分发处理方法的流程400,包括以下步骤:
步骤401,接收用户使用终端发来的服务请求。
在本实施例中,服务请求的分发处理方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式,接收用户利用其进行事务处理的终端发来的服务请求,上述服务请求包括统一资源定位符URL。
步骤402,获取当前服务端口信息集合。
在本实施例中,在上述电子设备的内部缓存区预先设置当前服务端口信息集合,其中,当前服务端口信息是当前正在服务的服务端口的信息,包括服务端口号和服务端口号所标识的服务端口的处理中服务请求数。上述服务端口号可以用来标识上述服务端口,上述处理中服务请求数是上述当前服务端口信息中服务端口号所标识的服务端口在处理中的服务请求的数目。
步骤403,从上述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号。
在本实施例中,服务请求的分发处理方法运行于其上的电子设备比较上述当前服务端口信息集合中的处理中服务请求数,由比较结果选择处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号。
步骤404,判断与上述目标服务端口号对应的当前服务端口信息的处理中服务请求数是否大于预定最大并发数。
在本实施例中,上述电子设备通过将上述目标服务端口号对应的当前服务端口信息的处理中服务请求数与预定最大并发数比较。这里,预定最大并发数是服务端口可同时并非处理的服务服务请求的数量。上述预定最大并发数是为了均衡服务端口的负载,合理调配个服务端口处理服务请求的数量而预先设定的数,可以根据服务端口的负载能力设置。
步骤405,如果是,则启动不属于上述当前服务端口信息集合中的新服务端口,并在上述当前服务端口信息集合添加一条新的当前服务端口信息,将上述新服务端口的服务端口号作为目标服务端口号。
在本实施例中,根据步骤404中的判断结果,如果上述处理中服务请求数大于预定最大并发数,上述步骤404中所选定的服务端口不能作为目标服务端口。上述电子设备可以启动不属于上述当前服务端口信息集合中的新服务端口,并在上述当前服务端口信息集合添加一条新的当前服务端口信息,将所述新服务端口的服务端口号作为目标服务端口号。这里,当在上述当前服务端口信息集合添加一条新的当前服务端口信息,需为上述新的当前服务端口信息添加服务端口号和处理中服务请求数。其中,可以将启动的新服务端口的端口号添加为新的当前服务端口信息的服务端口号,并为添加的处理中服务请求数设置初值,可以将初值设为零。
在上述启动不属于上述当前服务端口信息集合中的新服务端口时,启动网页服务监听上述新服务端口。可以采用Node-forever的方式启动网页服务监听上述新服务端口,其中,上述Node-forever是一个用来持续运行给定Node.js脚本的命令行工具,能够启动、停止、重启上述服务端口的应用。这里,Node.js是一个基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用,适合在分布式设备上运行数据密集型的实时应用。其中,JavaScript是一种动态类型、弱类型、基于原型的直译式脚本语言。根据上述以Node-forever方式监听上述服务端口的网页服务的回调函数的值判断所监听的服务端口是否正常。如,可以判断上述回调函数的返回值是否为设定值,如果为设定值,则上述服务端口所对应的服务正常,否则,上述服务端口所对应的服务不正常。
步骤406,组合上述服务请求和上述目标服务端口号以形成目标地址,将上述服务请求转发至上述目标地址进行处理。
在本实施例中,上述电子设备可以将上述用户的服务请求和目标服务端口号结合形成新的地址,将用户的服务请求分发到该地址处理。这里,可以将用户的服务请求中的URL和目标服务端口号组合形成目标地址,该目标地址直接链接到上述目标服务端口号所标识的服务端口。
在本实施例的一些可选的实现方式中,组合上述服务请求和上述目标服务端口号以形成目标地址,将上述服务请求转发至上述目标地址进行处理,包括:在执行上述处理开始前,对上述目标服务端口号所标识的服务端口的处理中服务请求数做加一操作;在执行上述处理结束后,对上述目标服务端口号所标识的服务端口的处理中服务请求数做减一操作。这里,将所述服务请求转发至上述目标地址后,处理上述服务请求的服务端口正在处理的服务请求的数量改变,在原有数量的基础上增加了一个,即上述处理中服务请求数加一;当处理结束后,处理上述服务请求的服务端口正在处理的服务请求的数量改变,在原有数量的基础上减去了一个,即上述处理中服务请求数减一。
从图4中可以看出,与图2对应的实施例相比,本实施例中的服务请求的分发处理方法的流程400突出了选定的服务端口的处理中服务请求数是否大于预定的最大并发数的判断,然后根据上述判断结果确定出目标端口号的步骤。由此,本实施例的方案可以根据服务端口的负载情况,启动新的服务端口,可以更加有效的将服务请求分发处理,使服务端口的服务更稳定。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种服务请求分发处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的服务请求分发处理装置500包括:接收单元501、端口信息获取单元502、选取单元503和分发单元504。其中,接收单元501配置用于接收用户使用终端发来的服务请求,上述服务请求包括统一资源定位符URL;端口信息获取单元502配置用于获取当前服务端口信息集合,上述当前服务端口信息包括服务端口号和服务端口号所标识的服务端口的处理中服务请求数;选取单元503配置用于从上述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;分发单元504配置用于组合上述服务请求和上述目标服务端口号以形成目标地址,将上述服务请求转发至上述目标地址进行处理。
在本实施例中,服务请求分发处理装置500的接收单元501可以通过有线连接方式或者无线连接方式,接收用户利用其进行事务处理的终端发来的服务请求,上述服务请求包括URL。
在本实施例中,服务请求分发处理装置500的内部缓存区可以预先存储由多条当前服务端口信息组成的当前服务端口信息集合,端口信息获取单元502获取上述预先设置当前服务端口信息集合。其中,当前服务端口信息是当前正在服务的服务端口的信息,包括服务端口号和处理中服务请求数。
在本实施例中,基于端口信息获取单元502获取的当前服务端口信息集合,上述选取单元503可以将上述当前服务端口信息集合中的处理中服务请求数进行足以比较,由比较结果选择处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号。
在本实施例中,上述分发单元504将上述用户的服务请求和目标服务端口号结合形成新的地址,将用户的服务请求分发到该地址处理。这里,可以将用户的服务请求中的URL和目标服务端口号组合形成目标地址,该目标地址直接链接到上述目标服务端口号所标识的服务端口。
在本实施例的一些可选的实现方式中,上述分发单元504包括判断模块和正常处理模块,其中,上述判断模块配置用于判断上述目标服务端口号对应的服务端口的服务是否正常;正常处理模块配置用于当所述目标服务端口号对应的服务端口的服务正常时,则组合上述服务请求和上述目标服务端口号以形成目标地址,将上述服务请求转发至上述目标地址进行处理。这里,判断上述目标服务端口号对应的服务端口的服务是否正常可以通过预先设置的网页服务的回调函数判断。可以通过上述网页服务的回调函数监听上述服务端口,根据上述回调函数的返回值确定上述服务端口是否正常。
在本实施例的一些可选的实现方式中,上述分发单元504还包括非正常处理模块,上述非正常处理模块配置用于当所述目标服务端口号对应的服务端口的服务不正常时,则将上述目标服务端口号对应的当前服务端口信息从上述当前服务端口信息集合中删除,执行以下选取步骤:从上述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;确定上述目标服务端口号对应的服务端口的服务是否正常;响应于确定所述目标服务端口号对应的服务端口的服务正常,则组合上述服务请求和上述目标服务端口号以形成目标地址,将上述服务请求转发至上述目标地址进行处理;响应于确定所述目标服务端口号对应的服务端口的服务不正常,则将上述目标服务端口号对应的当前服务端口信息从上述当前服务端口信息集合中删除,继续执行上述选取步骤。
在本实施例的一些可选的实现方式中,上述选取单元进一步配置用于:判断与上述目标服务端口号对应的当前服务端口信息的处理中服务请求数是否大于预定最大并发数;如果是,则启动不属于上述当前服务端口信息集合中的新服务端口,并在上述当前服务端口信息集合添加一条新的当前服务端口信息,将上述新的当前服务端口信息的服务端口号和处理中服务请求数分别设置为上述新服务端口的服务端口号和零,将上述新服务端口的服务端口号作为目标服务端口号。这里,预定最大并发数是服务端口可同时并非处理的服务服务请求的数量。上述预定最大并发数使为了均衡服务端口的负载,合理调配个服务端口处理服务请求的数量而预先设定的数,可以根据服务端口的负载能力设置。
在本实施例的一些可选的实现方式中,上述正常处理模块进一步配置用于:在执行上述处理开始前,对上述目标服务端口号所标识的服务端口的处理中服务请求数做加一操作;在执行上述处理结束后,对上述目标服务端口号所标识的服务端口的处理中服务请求数做减一操作。这里,通过对上述处理中服务请求数的操作及时的反应各个服务端口当前正在处理的服务数量。
本申请的上述实施例提供的装置通过选取单元从当前服务端口信息集合中选取出处理中服务请求数最小的服务端口作为处理用户服务请求的服务端口,分发单元将服务请求分发到该服务端口处理,实现了根据服务端口的信息选择服务端口,均匀合理的利用端口资源。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分69。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分618。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接接收单元、端口信息获取单元、选取单元和分发单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收用户使用终端发来的服务请求的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:接收用户使用终端发来的服务请求,上述服务请求包括统一资源定位符URL;获取当前服务端口信息集合,上述当前服务端口信息包括服务端口号和服务端口号所标识的服务端口的处理中服务请求数;从上述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;组合上述服务请求和上述目标服务端口号以形成目标地址,将上述服务请求转发至上述目标地址进行处理。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种服务请求的分发处理方法,其特征在于,所述方法包括:
接收用户使用终端发来的服务请求,所述服务请求包括统一资源定位符URL;
获取当前服务端口信息集合,所述当前服务端口信息包括服务端口号和服务端口号所标识的服务端口的处理中服务请求数;
从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;
组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理。
2.根据权利要求1所述的方法,其特征在于,所述组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理,包括:
判断所述目标服务端口号对应的服务端口的服务是否正常;
如果正常,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理。
3.根据权利要求2所述的方法,其特征在于,所述组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理,包括:
如果不正常,则将所述目标服务端口号对应的当前服务端口信息从所述当前服务端口信息集合中删除,并执行以下选取步骤:从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;确定所述目标服务端口号对应的服务端口的服务是否正常;响应于确定所述目标服务端口号对应的服务端口的服务正常,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理;
响应于确定所述目标服务端口号对应的服务端口的服务不正常,则将所述目标服务端口号对应的当前服务端口信息从所述当前服务端口信息集合中删除,继续执行所述选取步骤。
4.根据权利要求3所述的方法,其特征在于,所述从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号,包括:
判断与所述目标服务端口号对应的当前服务端口信息的处理中服务请求数是否大于预定最大并发数;
如果是,则启动不属于所述当前服务端口信息集合中的新服务端口,并在所述当前服务端口信息集合添加一条新的当前服务端口信息,将所述新的当前服务端口信息的服务端口号和处理中服务请求数分别设置为所述新服务端口的服务端口号和零,将所述新服务端口的服务端口号作为目标服务端口号。
5.根据权利要求2所述的方法,其特征在于,所述如果正常,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理,包括:
在执行所述处理开始前,对所述目标服务端口号所标识的服务端口的处理中服务请求数做加一操作;
在执行所述处理结束后,对所述目标服务端口号所标识的服务端口的处理中服务请求数做减一操作。
6.一种服务请求的分发处理装置,其特征在于,所述装置包括:
接收单元,配置用于接收用户使用终端发来的服务请求,所述服务请求包括统一资源定位符URL;
端口信息获取单元,配置用于获取当前服务端口信息集合,所述当前服务端口信息包括服务端口号和服务端口号所标识的服务端口的处理中服务请求数;
选取单元,配置用于从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;
分发单元,配置用于组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理。
7.根据权利要求6所述的装置,其特征在于,所述分发单元包括:
判断模块,配置用于判断所述目标服务端口号对应的服务端口的服务是否正常;
正常处理模块,配置用于当所述目标服务端口号对应的服务端口的服务正常时,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理。
8.根据权利要求7所述的装置,其特征在于,所述分发单元还包括:
非正常处理模块,配置用于当所述目标服务端口号对应的服务端口的服务不正常时,则将所述目标服务端口号对应的当前服务端口信息从所述当前服务端口信息集合中删除,执行以下选取步骤:从所述当前服务端口信息集合中选取处理中服务请求数最小的当前服务端口信息的服务端口号作为目标服务端口号;确定所述目标服务端口号对应的服务端口的服务是否正常;响应于确定所述目标服务端口号对应的服务端口的服务正常,则组合所述服务请求和所述目标服务端口号以形成目标地址,将所述服务请求转发至所述目标地址进行处理;
响应于确定所述目标服务端口号对应的服务端口的服务不正常,则将所述目标服务端口号对应的当前服务端口信息从所述当前服务端口信息集合中删除,继续执行所述选取步骤。
9.根据权利要求8所述的装置,其特征在于,所述选取单元进一步配置用于:
判断与所述目标服务端口号对应的当前服务端口信息的处理中服务请求数是否大于预定最大并发数;
如果是,则启动不属于所述当前服务端口信息集合中的新服务端口,并在所述当前服务端口信息集合添加一条新的当前服务端口信息,将所述新的当前服务端口信息的服务端口号和处理中服务请求数分别设置为所述新服务端口的服务端口号和零,将所述新服务端口的服务端口号作为目标服务端口号。
10.根据权利要求7所述的装置,其特征在于,所述正常处理模块进一步配置用于:
在执行所述处理开始前,对所述目标服务端口号所标识的服务端口的处理中服务请求数做加一操作;
在执行所述处理结束后,对所述目标服务端口号所标识的服务端口的处理中服务请求数做减一操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610703283.5A CN107770227A (zh) | 2016-08-22 | 2016-08-22 | 服务请求的分发处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610703283.5A CN107770227A (zh) | 2016-08-22 | 2016-08-22 | 服务请求的分发处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107770227A true CN107770227A (zh) | 2018-03-06 |
Family
ID=61264034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610703283.5A Pending CN107770227A (zh) | 2016-08-22 | 2016-08-22 | 服务请求的分发处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107770227A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113612846A (zh) * | 2021-08-04 | 2021-11-05 | 掌阅科技股份有限公司 | 服务上线处理方法、计算设备及计算机存储介质 |
CN114364031A (zh) * | 2021-12-08 | 2022-04-15 | 广州爱浦路网络技术有限公司 | 服务提供方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977162A (zh) * | 2010-12-03 | 2011-02-16 | 电子科技大学 | 一种高速网络的负载均衡方法 |
CN102448120A (zh) * | 2011-12-23 | 2012-05-09 | 上海顶竹通讯技术有限公司 | 多路径负荷分担方法及装置 |
CN104581219A (zh) * | 2014-12-22 | 2015-04-29 | 浙江工业大学 | 一种流媒体转发服务器的控制方法 |
CN104883321A (zh) * | 2015-05-05 | 2015-09-02 | 浙江大学 | 一种基于交换机负载的域内负载均衡方法 |
-
2016
- 2016-08-22 CN CN201610703283.5A patent/CN107770227A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977162A (zh) * | 2010-12-03 | 2011-02-16 | 电子科技大学 | 一种高速网络的负载均衡方法 |
CN102448120A (zh) * | 2011-12-23 | 2012-05-09 | 上海顶竹通讯技术有限公司 | 多路径负荷分担方法及装置 |
CN104581219A (zh) * | 2014-12-22 | 2015-04-29 | 浙江工业大学 | 一种流媒体转发服务器的控制方法 |
CN104883321A (zh) * | 2015-05-05 | 2015-09-02 | 浙江大学 | 一种基于交换机负载的域内负载均衡方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113612846A (zh) * | 2021-08-04 | 2021-11-05 | 掌阅科技股份有限公司 | 服务上线处理方法、计算设备及计算机存储介质 |
CN114364031A (zh) * | 2021-12-08 | 2022-04-15 | 广州爱浦路网络技术有限公司 | 服务提供方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201661B (zh) | 用于弹性伸缩虚拟机集群的方法和装置 | |
CN110310034A (zh) | 一种应用于SaaS的服务编排、业务流程处理方法和装置 | |
US9009599B2 (en) | Technique for handling URLs for different mobile devices that use different user interface platforms | |
CN108182111A (zh) | 任务调度系统、方法和装置 | |
CN109345190B (zh) | 一种数据处理方法及装置 | |
CN103618699B (zh) | 一种调用组件的方法及装置 | |
CN104965690B (zh) | 数据处理方法及装置 | |
CN110750222A (zh) | 打印方法、装置、计算机设备和存储介质 | |
CN105808652A (zh) | 在线客服的实现方法和装置 | |
CN105205174A (zh) | 用于分布式系统的文件处理方法和装置 | |
CN107656815A (zh) | 用于控制分布式锁的方法和装置 | |
CN107369055A (zh) | 订单消息的取货分配方法及装置 | |
CN108243219A (zh) | 信息推送的方法和装置 | |
CN107391277A (zh) | 信息处理方法和装置 | |
CN107958009A (zh) | 企业信息获取方法、装置以及设备 | |
CN110489195A (zh) | 业务处理方法、装置、电子设备和计算机可读存储介质 | |
CN107844927A (zh) | 提高仓储出库效率的方法和装置 | |
CN107341238A (zh) | 数据处理方法及系统 | |
CN112308590B (zh) | 一种参数处理方法、装置以及计算设备、存储介质 | |
CN107770227A (zh) | 服务请求的分发处理方法和装置 | |
CN106649299A (zh) | 一种网页区块懒加载的方法和装置 | |
CN110737645A (zh) | 一种不同系统间数据迁移方法、数据迁移系统及相关设备 | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
CN106815747A (zh) | 用于发送信息的方法和装置 | |
CN107657155A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180306 |