一种分布式系统执行业务的方法、装置及系统制造方法及图纸

技术编号:9671482 阅读:127 留言:0更新日期:2014-02-14 18:45
本申请实施例提供了一种分布式系统执行业务的方法、装置及系统,该方法应用于包括多个服务器的分布式系统中,其中每个服务器执行下述步骤:当前服务器接收由终端传送的业务请求;当前服务器利用预定义的服务器选取规则,确定出用于执行业务请求的对应服务器;对应服务器执行所述业务请求。本申请在无需专门设置锁服务器的基础上,实现业务的同步运行,避免了现有使用锁服务器所带来的资源消耗较大,业务请求处理效率较低的问题。

【技术实现步骤摘要】
一种分布式系统执行业务的方法、装置及系统
本申请涉及通信
,尤其涉及一种分布式系统执行业务的方法、装置及系统。
技术介绍
在现有的通信网络技术中,分布式应用程序是通过网络来共同完成一项任务。通常为服务器/客户端模式。在分布式应用下(例如常见的J2EE),由于多台服务器在并行接收用户请求,而有时候需要控制某个业务并发且保持同步运行,如图1所示的现有的分布式系统的结构示意图,该系统包括若干服务器,例如服务器101、服务器102以及服务器103,另外,在此系统之外还专门设置有一台锁服务器104,分别与服务器101、服务器102以及服务器103进行通信。系统在工作时,终端105向锁服务器104发送业务请求,由锁服务器104进行解锁及分析确定出此业务请求由哪一台服务器来执行。例如,假设锁服务器104确定出由服务器101执行,会将上述业务请求发送给服务器101,由服务器101执行该业务请求,并在执行完成后将业务结果发送给锁服务器104,由锁服务器104返回给终端105,此系统只能通过系统之外设置的锁服务器才能在分布式系统中实现业务的同步。虽然上述分布式系统可以实现业务的同步运行,但由于所有的业务请求都要首先送往锁服务器进行处理,由该锁服务器确定出由哪一台服务器执行业务,一方面,锁服务器的资源消耗较大,对锁服务器软硬件资源的要求较高,另一个方面,随着分布式系统业务复杂度和业务请求的频繁度的不断增加,对于这样的架构,显然也存在业务请求处理效率较低的问题。
技术实现思路
本申请实施例提供了一种分布式系统执行业务的方法、装置及系统,在无需专门设置锁服务器的基础上,实现业务的同步运行,避免了现有使用锁服务器所带来的资源消耗较大,业务请求处理效率较低的问题。基于上述问题,本申请实施例提供的一种分布式系统执行业务的方法,包括:当前服务器接收由终端传送的业务请求;所述当前服务器利用预定义的服务器选取规则,确定出用于执行所述业务请求的对应服务器;所述对应服务器执行所述业务请求。本申请实施例提供的一种分布式系统执行业务的装置,包括:接收模块,用于接收由终端传送的业务请求;确定模块,用于利用预定义的服务器选取规则确定出用于执行所述业务请求的执行服务器;执行模块,用于在所述执行服务器为自身所属装置时执行所述业务请求。本申请实施例提供的一种分布式系统,包括多个上述的装置,所述装置彼此之间相互通信。本申请实施例提供了一种分布式系统执行业务的方法、装置及系统,当业务请求访问到分布式系统中的服务器时,利用预定义的服务器选取规则确定执行此业务请求的服务器,然后由执行服务器执行业务请求,这样一来,终端发起的业务请求会被分布式系统中的各个服务器分散处理,每一个服务器都有可能自己去执行或调用其它服务器来执行,而不会集中于某个或某些服务器来执行,从而大大提高了分布式业务请求的处理效率;另外,这种分布式系统无需再专门设置锁服务器去处理这些业务请求,节省了系统的成本。附图说明图1为现有的分布式锁服务系统的结构图;图2为本申请实施例提供的分布式系统执行业务的方法流程图;图3为对应服务器执行业务请求步骤的流程图;图4为本申请实施例提供的分布式系统执行业务的装置的内部结构图。具体实施方式下面结合说明书附图,对本申请实施例提供的一种分布式系统执行业务的方法、装置及系统具体实施方式进行说明。为了方便说明本申请实施例提供的分布式系统执行业务的方法,应用于包括多个服务器的分布式系统中,以下将分布式系统中初始接收终端发送业务请求的服务器称为当前服务器;而分布式系统中实际执行该业务请求的服务器称为对应服务器。如图2所示,本申请实施例提供的分布式系统执行业务的方法,具体执行以下步骤:S201:当前服务器接收由终端传送的业务请求;较佳地,在步骤S201中,终端传送的业务请求可以是不同业务场景下的不同请求。例如,在分布式同步业务场景下,业务请求可以是“对浏览当前页面的次数进行加1操作,并统计当前浏览页面的总次数”;在分布式时间程序场景下,业务请求又可以是与HTML5的资源文件时间管理程序有关的。业务请求还以是对应各种不同的应用的访问请求等,在此不再一一枚举具体的业务请求。S202:当前服务器利用预定义的服务器选取规则,确定出用于执行业务请求的对应服务器;S203:对应服务器执行业务请求。进一步地,在本申请实施例具体执行时,在执行完上述步骤S201之后,执行步骤S202之前,还可以包括下述步骤:S204:当前服务器判断业务请求是否包含有能够同步执行的业务参数值,若是,则执行步骤S202,若否,则执行步骤S205;S205:当前服务器执行业务请求,并将执行业务请求的结果返回给终端。具体地,在业务请求的业务参数信息中,有些业务参数的表现形式可以为唯一的数值信息,例如,网站页面的ID,这些业务参数称之为业务参数值,在当前服务器接收到这种业务参数值时,根据预定义的服务器选取规则,由指定的对应服务器去执行,即当前服务器在接收到这种业务参数值时,都会指定与该业务参数值对应服务器去执行,这样就可以实现业务参数值在同一台服务器上运行目的。例如,终端正在浏览某一网站上的页面,终端要让分布式系统中的服务器来统计一个时间段内浏览特定页面的次数,此时业务请求可以是“对浏览该特定页面的次数进行加1操作,并统计当前浏览该特定页面的总次数”,一般每个浏览页面对应一个服务ID,这个服务ID即作为该业务请求能够同步执行的业务参数值,还有其它类似包含能够同步执行的业务参数值的业务请求在此不再一一举例;另外,还有一些业务请求的业务参数信息中不包含业务参数值或包含不能够同步执行的业务参数值,例如,“存储所发送的商品信息”,这种请求就不包含有业务参数值。在本申请实施例中,上述步骤S202中的预定义的服务器选取规则可以根据实际业务需求设定,并不仅限于下述实施例。例如,在业务请求包含有能够同步执行的业务参数值的情况下,当前服务器利用预定义的服务器选取规则,确定出用于执行业务请求的对应服务器,可以通过下述方式实现:当前服务器利用公式f(x)=y确定出对应服务器,其中,x是业务请求所包含的能够同步执行的业务参数值,y是对应服务器的索引;y不大于当前在线服务器的总数。具体地,f(x)=y可以是多种函数,只要能够根据x的值,唯一确定出y的值的函数都可。例如,利用业务参数值对当前在线服务器的总数进行取模运算或取商运算等,本申请实施例对于具体采用何种函数不做限定。下面结合实施例1、实施例2和实施例3对当前服务器利用公式f(x)=y确定对应服务器的具体实现方式进行说明。实施例一:当前服务器利用业务参数值对当前在线服务器的总数进行取模运算,得到对应服务器的索引,并根据得到的对应服务器的索引,在当前在线服务器列表中查询对应的对应服务器。在本申请实施例中,由于分布式系统中当前在线的服务器可以是变化的,那么为了保证每个业务请求都能够及时得到处理,较佳地,分布式系统中的每个服务器还可以实时地根据分布式系统中各个服务器是否在线的状态变化,更新当前在线服务器列表;在本申请实施例中,具体地可以由设置于每个服务器中的组件(例如congServer组件或其它类似组件)获取各个服务器是否在线的状态变化信息。这样,当某个服务器收到业务请求时,所确定出本文档来自技高网...
一种分布式系统执行业务的方法、装置及系统

【技术保护点】
一种分布式系统执行业务的方法,应用于包括多个服务器的分布式系统中,其特征在于,包括:当前服务器接收由终端传送的业务请求;所述当前服务器利用预定义的服务器选取规则,确定出用于执行所述业务请求的对应服务器;所述对应服务器执行所述业务请求。

【技术特征摘要】
1.一种分布式系统执行业务的方法,应用于包括多个服务器的分布式系统中,其特征在于,包括:当前服务器接收由终端传送的业务请求;所述当前服务器判断所述业务请求包含有能够同步执行的业务参数值时,所述当前服务器利用预定义的服务器选取规则,确定出用于执行所述业务请求的对应服务器;包括:所述当前服务器根据所述业务参数值,从当前服务器中保存的当前在线服务器列表中确定出所述对应服务器;所述对应服务器执行所述业务请求。2.如权利要求1所述的方法,其特征在于,所述对应服务器执行所述业务请求,具体包括:若所述对应服务器为所述当前服务器,则所述当前服务器执行所述业务请求,并将执行业务请求的结果返回给终端。3.如权利要求1所述的方法,其特征在于,所述对应服务器执行所述业务请求,具体包括:若所述对应服务器不为所述当前服务器,则所述当前服务器将终端发送的业务请求发送给所述对应服务器,所述对应服务器执行所述业务请求,并将执行的业务请求的结果直接返给终端;或者所述对应服务器将执行的业务请求的结果发送给所述当前服务器,由所述当前服务器将所述结果发送给所述终端。4.如权利要求1所述的方法,其特征在于,还包括:当所述当前服务器判断所述业务请求不包含有能够同步执行的业务参数值时,所述当前服务器执行所述业务请求,并将执行业务请求的结果返回给终端。5.如权利要求1所述的方法,其特征在于,所述当前服务器利用预定义的服务器选取规则,确定出用于执行所述业务请求的对应服务器,包括:所述当前服务器利用公式f(x)...

【专利技术属性】
技术研发人员:舒宏旺鲁嘉武杨军海
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1