服务提供方法、装置、设备及计算机可读存储介质与流程

文档序号:26050241发布日期:2021-07-27 15:24阅读:95来源:国知局
服务提供方法、装置、设备及计算机可读存储介质与流程

本申请涉及通信技术领域,特别涉及一种服务提供方法、装置、设备及计算机可读存储介质。



背景技术:

近年来,随着企业产品线的不断壮大和产能的提高,传统的单服务器架构无法满足生产环境对服务器可靠性的要求。在单服务器架构的情况下,一旦服务器出现故障,则可能会出现数个小时的服务中断,严重影响生产加工效率,给企业带来严重的财产损失。

在单服务器架构下,当服务器出现故障时,需要人工排查故障,并在排除故障后手动启动服务。但是,如果由人工来排查故障,需要专人进行维护,成本较高,且在故障排除前,服务器无法提供服务,存在可靠性低的问题;另外,人工排查故障对人员技能要求比较高,且人工维护可能带来数据安全隐患,存在可操作性差的问题;而且,随着企业规模以及产能的扩大,单服务器无法满足服务器可扩展性的需求,存在一定的局限性。



技术实现要素:

有鉴于此,本申请提供了一种服务提供方法、装置、设备及计算机可读存储介质,能够提升服务器的可靠性、可操作性以及可扩展性。

具体地,本申请是通过如下技术方案实现的:

一种服务提供方法,所述方法应用于一种客户端,所述方法包括:

所述客户端发送数据访问请求给双机热备系统中的主服务器,其中,若所述双机热备系统中的主服务器为第一服务器、且所述双机热备系统中的备服务器为第二服务器,则所述第一服务器用于响应所述数据访问请求并将响应结果返回给所述客户端;

若所述客户端在预设响应时间内未接收到所述第一服务器返回的响应结果,则所述客户端与所述第二服务器建立连接,并将所述数据访问请求发送给所述第二服务器,其中,所述第二服务器在由备服务器切换为主服务器后,用于响应所述数据访问请求并将响应结果返回给所述客户端。

一种服务提供方法,所述方法应用于一种双机热备系统中的主服务器,所述方法包括:

当所述双机热备系统中的主服务器为第一服务器、且所述双机热备系统中的备服务器为第二服务器时,若主服务器接收到客户端发送的数据访问请求,则响应所述数据访问请求并将响应结果返回给所述客户端;

当所述第二服务器由备服务器切换为主服务器、且与所述客户端建立连接后,若主服务器接收到客户端发送的数据访问请求,则响应所述数据访问请求并将响应结果返回给所述客户端,其中,所述客户端用于在预设响应时间内未接收到所述第一服务器返回的响应结果后,与所述第二服务器建立连接。

一种服务提供装置,所述装置应用于一种客户端,所述装置包括:

第一发送单元,用于发送数据访问请求给双机热备系统中的主服务器,其中,若所述双机热备系统中的主服务器为第一服务器、且所述双机热备系统中的备服务器为第二服务器,则所述第一服务器用于响应所述数据访问请求并将响应结果返回给所述客户端;

第二发送单元,用于若所述客户端在预设响应时间内未接收到所述第一服务器返回的响应结果,则所述客户端与所述第二服务器建立连接,并将所述数据访问请求发送给所述第二服务器,其中,所述第二服务器在由备服务器切换为主服务器后,用于响应所述数据访问请求并将响应结果返回给所述客户端。

一种服务提供装置,所述装置应用于一种双机热备系统中的主服务器,所述装置包括:

第一响应单元,用于当所述双机热备系统中的主服务器为第一服务器、且所述双机热备系统中的备服务器为第二服务器时,若主服务器接收到客户端发送的数据访问请求,则响应所述数据访问请求并将响应结果返回给所述客户端;

第二响应单元,用于当所述第二服务器由备服务器切换为主服务器、且与所述客户端建立连接后,若主服务器接收到客户端发送的数据访问请求,则响应所述数据访问请求并将响应结果返回给所述客户端,其中,所述客户端用于在预设响应时间内未接收到所述第一服务器返回的响应结果后,与所述第二服务器建立连接。

一种电子设备,包括:处理器、存储器;

所述存储器,用于存储计算机程序;

所述处理器,用于通过调用所述计算机程序,执行上述服务提供方法。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述服务提供方法。

在以上本申请提供的技术方案中,若双机热备系统中的主服务器为第一服务器、且双机热备系统中的备服务器为第二服务器,则当客户端发送数据访问请求给第一服务器后、且客户端在预设响应时间内未接收到第一服务器返回的响应结果,说明第一服务器可能发生故障,因此,客户端会与第二服务器建立连接,并将数据访问请求发送给第二服务器,以便第二服务器通过主备切换作为主服务器后,响应数据访问请求并将响应结果返回给客户端。可见,本申请在使用双机热备系统后,可以在其中一台服务器发生故障时,自动切换另一台服务器为客户端提供服务,而无需人工排查故障后再启动服务,并且不受单一服务器的局限,即,提升了服务器的可靠性、可操作性以及可扩展性。

附图说明

图1为本申请示出的网络架构示意图;

图2为本申请示出的一种服务提供方法的组成示意图;

图3为本申请示出的另一种服务提供方法的组成示意图;

图4为本申请示出的一种服务提供装置的组成示意图;

图5为本申请示出的另一种服务提供装置的组成示意图;

图6为本申请示出的一种电子设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

在介绍本申请实施例之前,首先对本申请实施例涉及的技术术语进行介绍。

hotstandby(双机热备):双机热备是应用于服务器的一种解决方案,其构造思想是主设备和备设备通过网络连接,正常情况下主设备处于工作状态,备设备处于监视状态,一旦备设备发现主设备异常,备设备将会在很短的时间之内代替主设备,完全实现主机的功能。

client-server(客户机-服务器):客户机-服务器结构通常采取两层结构,服务器负责数据的管理,客户机负责与用户的交互任务;客户机通过网络与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作;服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。

本申请实施例将提供一种服务提供方法,该方法应用的网络架构包括双机热备系统、以及至少一台客户端,在实际应用中,双机热备系统中的一台服务器作为主服务器、另一台服务器作为备服务器,由主服务器为客户端提供服务。如图1所示的网络架构示意图,在图1中,双机热备系统包括第一服务器和第二服务器,当第一服务器作为主服务器、第二服务器作为备服务器时,由第一服务器为客户端提供服务;当第一服务器出现故障时,第一服务器则由主服务器降为备服务器,不再为客户端提供服务,而第二服务器则由备服务器提升为主服务器,由第二服务器为客户端提供服务。

参见图2,为本申请实施例提供的一种服务提供方法的组成示意图,该方法应用于一种客户端,即该方法的执行主体是客户端,该方法可以包括以下步骤s201-s202:

s201:客户端发送数据访问请求给双机热备系统中的主服务器,其中,若双机热备系统中的主服务器为第一服务器、且双机热备系统中的备服务器为第二服务器,则第一服务器用于响应数据访问请求并将响应结果返回给客户端。

在本申请实施例中,这里的客户端可以是与双机热备系统中的主服务器连接的任一台客户端,比如图1所示的某一客户端。其中,关于客户端所发送的数据访问请求,其可以是数据获取请求、也可以是数据修改请求。

当双机热备系统中的主服务器为第一服务器、且双机热备系统中的备服务器为第二服务器时,由于第一服务器是主服务器,所以,由第一服务器为客户端提供服务,因此,如果第一服务器没有故障,第一服务器会在接收到客户端发送的数据访问请求后,对该数据访问请求进行响应,从而得到响应结果,并将响应结果发送给客户端。

在本申请实施例的一种实现方式中,s201中的“客户端发送数据访问请求给双机热备系统中的主服务器”,具体可以包括:客户端将数据访问请求投放至第一消息队列中,以便从第一消息队列中取出数据访问请求,并发送给双机热备系统中的主服务器。

在本实现方式中,客户端在发起数据访问请求时,先把该数据访问请求投放至对应的第一消息队列中,实际中,除了该数据访问请求以外,第一消息队列中可能还有其它未被处理的请求正在等待处理,因此,当按照对第一消息队列的请求处理顺序,从第一消息队列中取出该数据访问请求后,将其发送给作为主服务器的第一服务器。

s202:若客户端在预设响应时间内未接收到第一服务器返回的响应结果,则客户端与第二服务器建立连接,并将数据访问请求发送给第二服务器,其中,第二服务器在由备服务器切换为主服务器后,用于响应数据访问请求并将响应结果返回给客户端。

在本申请实施例中,如果第一服务器没有故障,第一服务器会在接收到客户端发送的数据访问请求后,对该数据访问请求进行响应并将响应结果发送给客户端,但是,如果第一服务器发生故障,双机热备系统会发生主备切换,在这种情况下,第一服务器会由主服务器切换为备服务器、且第二服务器会由备服务器切换为主服务器。

对于客户端来讲,如果第一服务器已经发生了故障,则不会对客户端发送的数据访问请求进行响应,为了保证对客户端的正常服务,可以预设一个响应时间,如果客户端在该预设响应时间内,没有收到第一服务器针对该数据访问请求的响应结果,则说明双机热备系统可能已经发生了主备切换,即,第一服务器由主服务器切换为备服务器、且第二服务器由备服务器切换为主服务器,因此,在超过该预设响应时间后,客户端需要与第二服务器建立连接,之后将数据访问请求发送给第二服务器,这样,第二服务器便可以响应该数据访问请求并将响应结果返回给客户端。其中,客户端在向第二服务器发送数据访问请求时,可以从第一消息队列中取出该数据访问请,并发送给第二服务器。

可见,通过上述方式实现了服务的切换工作,保证了只要有一台服务器能正常工作时,不影响客户端的正常运行。

参见图3,为本申请实施例提供的另一种服务提供方法的组成示意图,该方法应用于一种双机热备系统中的主服务器,即该方法的执行主体是主服务器,该方法可以包括以下步骤s301-s302:

s301:当双机热备系统中的主服务器为第一服务器、且双机热备系统中的备服务器为第二服务器时,若主服务器接收到客户端发送的数据访问请求,则响应该数据访问请求并将响应结果返回给客户端。

在本申请实施例中,这里的客户端可以是与双机热备系统中的主服务器连接的任一台客户端,比如图1所示的某一客户端。

当双机热备系统中的主服务器为第一服务器、且双机热备系统中的备服务器为第二服务器时,由于第一服务器是主服务器,所以,由第一服务器为客户端提供服务,因此,如果第一服务器没有故障,第一服务器会在接收到客户端发送的数据访问请求后,对该数据访问请求进行响应,从而得到响应结果,并将响应结果发送给客户端。

s302:当第二服务器由备服务器切换为主服务器、且与客户端建立连接后,若主服务器接收到客户端发送的数据访问请求,则响应该数据访问请求并将响应结果返回给客户端,其中,客户端用于在预设响应时间内未接收到第一服务器返回的响应结果后,与第二服务器建立连接。

在本申请实施例中,如果第一服务器已经发生了故障,则不会对客户端发送的数据访问请求进行响应,为了保证对客户端的正常服务,可以预设一个响应时间,如果客户端在该预设响应时间内,没有收到第一服务器针对该数据访问请求的响应结果,则说明双机热备系统可能已经发生了主备切换,即,第一服务器由主服务器切换为备服务器、且第二服务器由备服务器切换为主服务器,因此,在超过该预设响应时间后,客户端需要与第二服务器建立连接,之后将数据访问请求发送给第二服务器,这样,第二服务器便可以响应该数据访问请求并将响应结果返回给客户端。

其中,关于客户端所发送的数据访问请求,其可以是数据获取请求、也可以是数据修改请求,下面对该数据访问请求分别是数据获取请求或数据修改请求时进行介绍。

在本申请实施例的一种实现方式中,s301和s302中的若主服务器接收到客户端发送的数据访问请求,则响应数据访问请求并将响应结果返回给客户端”,具体可以包括:若主服务器接收到客户端发送的数据获取请求,则根据该数据获取请求查询自身的数据库,并将数据查询结果返回给客户端。

在本实现方式中,当客户端向主服务器(s301中主服务器是第一服务器,s302中主服务器是第二服务器)发送数据获取请求时,此请求不涉及对服务器侧的数据库的修改,而是请求获取数据库中的目标数据。因此,当主服务器接收到客户端发送的数据获取请求后,主服务器会基于该数据获取请求查询自身的数据库,然后把数据查询结果返回给客户端。

在本申请实施例的另一种实现方式中,s301和s302中的“若主服务器接收到客户端发送的数据访问请求,则响应该数据访问请求并将响应结果返回给客户端”,具体可以包括:若主服务器接收到客户端发送的数据修改请求,则根据该数据修改请求修改自身的数据库,将修改结果返回给客户端,并且,将数据修改内容发送给备服务器,以便备服务器基于该数据修改内容修改自身的数据库。

在本实现方式中,当客户端向主服务器(s301中主服务器是第一服务器,s302中主服务器是第二服务器)发送数据修改请求时,此请求涉及对服务器侧的数据库的修改。因此,当主服务器接收到客户端发送的数据修改请求后,主服务器可以将数据修改内容发送给备服务器(s301中备服务器是第二服务器,s302中备服务器是第一服务器),以便备服务器进行相同的修改,这样,可以使第一服务器和第二服务器的数据库实现同步修改。此外,主服务器还可以将数据修改结果发送给客户端,使得客户端用户获知是否修改成功。

其中,当主服务器将数据修改内容发送给备服务器时,具体可以将数据修改内容投放至第二消息队列中,以便从第二消息队列中取出数据修改内容,并发送给备服务器。具体来讲,主服务器在接收到数据修改请求后,首先修改本地的数据库,然后把该数据修改内容投放至对应的第二消息队列中,实际中,除了该数据修改内容以外,第二消息队列中可能还有其它未被处理的修改内容正在等待处理,因此,当按照对第二消息队列的请求处理顺序,从第二消息队列中取出该数据修改内容后,将其发送给作为备服务器。这样,保证了即使是在网络异常的情况下,修改内容也不会丢失,网络恢复的时候,主备服务器中的数据能够保持一致。

在以上本申请实施例提供的服务提供方法中,该方法在生产环境中可以使用双机热备系统,有别于使用单服务器架构中可能出现的动辄数个小时的服务器停止服务时间,当采用双机热备的方案时,备服务器在检测到主服务器异常的数分钟内,即可接管服务,可以在很短时间内恢复服务运行,避免了长时间的服务中断,保证了系统长期、可靠的服务;此外,双机热备系统中的服务器切换完全由软件控制,不需要人工值守,还可以很便捷的修改至多机热备中,具有很高的可操作性;另外,双机热备系统可以很容易地切换至分布式服务器系统,使服务器不成为企业产能扩大的瓶颈,有利于企业降低生产环境的测试成本,保障企业产品的高效率产出,提高企业产品的竞争力。

参见图4,为本申请实施例提供的一种服务提供装置的组成示意图,所述装置应用于一种客户端,所述装置包括:

第一发送单元410,用于发送数据访问请求给双机热备系统中的主服务器,其中,若所述双机热备系统中的主服务器为第一服务器、且所述双机热备系统中的备服务器为第二服务器,则所述第一服务器用于响应所述数据访问请求并将响应结果返回给所述客户端;

第二发送单元420,用于若所述客户端在预设响应时间内未接收到所述第一服务器返回的响应结果,则所述客户端与所述第二服务器建立连接,并将所述数据访问请求发送给所述第二服务器,其中,所述第二服务器在由备服务器切换为主服务器后,用于响应所述数据访问请求并将响应结果返回给所述客户端。

在本申请实施例的一种实现方式中,第一发送单元410,具体用于将数据访问请求投放至第一消息队列中,以便从所述第一消息队列中取出所述数据访问请求,并发送给所述双机热备系统中的主服务器。

在本申请实施例的一种实现方式中,所述数据访问请求为数据获取请求或数据修改请求。

参见图5,为本申请实施例提供的另一种服务提供装置的组成示意图,所述装置应用于一种双机热备系统中的主服务器,所述装置包括:

第一响应单元510,用于当所述双机热备系统中的主服务器为第一服务器、且所述双机热备系统中的备服务器为第二服务器时,若主服务器接收到客户端发送的数据访问请求,则响应所述数据访问请求并将响应结果返回给所述客户端;

第二响应单元520,用于当所述第二服务器由备服务器切换为主服务器、且与所述客户端建立连接后,若主服务器接收到客户端发送的数据访问请求,则响应所述数据访问请求并将响应结果返回给所述客户端,其中,所述客户端用于在预设响应时间内未接收到所述第一服务器返回的响应结果后,与所述第二服务器建立连接。

在本申请实施例的一种实现方式中,第一响应单元510,具体用于:

当所述双机热备系统中的主服务器为第一服务器、且所述双机热备系统中的备服务器为第二服务器时,若主服务器接收到客户端发送的数据获取请求,则根据所述数据获取请求查询自身的数据库,并将数据查询结果返回给所述客户端。

在本申请实施例的一种实现方式中,第二响应单元520,具体用于:

当所述第二服务器由备服务器切换为主服务器、且与所述客户端建立连接后,若主服务器接收到客户端发送的数据获取请求,则根据所述数据获取请求查询自身的数据库,并将数据查询结果返回给所述客户端,其中,所述客户端用于在预设响应时间内未接收到所述第一服务器返回的响应结果后,与所述第二服务器建立连接。

在本申请实施例的一种实现方式中,第一响应单元510,具体用于:

当所述双机热备系统中的主服务器为第一服务器、且所述双机热备系统中的备服务器为第二服务器时,若主服务器接收到客户端发送的数据修改请求,则根据所述数据修改请求修改自身的数据库,将修改结果返回给所述客户端,并且,将数据修改内容发送给备服务器,以便备服务器基于所述数据修改内容修改自身的数据库。

在本申请实施例的一种实现方式中,第二响应单元520,具体用于:

当所述第二服务器由备服务器切换为主服务器、且与所述客户端建立连接后,若主服务器接收到客户端发送的数据修改请求,则根据所述数据修改请求修改自身的数据库,将修改结果返回给所述客户端,并且,将数据修改内容发送给备服务器,以便备服务器基于所述数据修改内容修改自身的数据库,其中,所述客户端用于在预设响应时间内未接收到所述第一服务器返回的响应结果后,与所述第二服务器建立连接。

在本申请实施例的一种实现方式中,第一响应单元510或第二响应单元520在将数据修改内容发送给备服务器时,具体用于:

将数据修改内容投放至第二消息队列中,以便从所述第二消息队列中取出所述数据修改内容,并发送给备服务器。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图6所示,该电子设备6000包括至少一个处理器6001、存储器6002和总线6003,至少一个处理器6001均与存储器6002电连接;存储器6002被配置用于存储有至少一个计算机可执行指令,处理器6001被配置用于执行该至少一个计算机可执行指令,从而执行如本申请中任意一个实施例或任意一种可选实施方式提供的任意一种服务提供方法的步骤。

进一步,处理器6001可以是fpga(field-programmablegatearray,现场可编程门阵列)或者其它具有逻辑处理能力的器件,如mcu(microcontrollerunit,微控制单元)、cpu(centralprocessunit,中央处理器)。

应用本申请实施例,可以在其中一台服务器发生故障时,自动切换另一台服务器为客户端提供服务,而无需人工排查故障后再启动服务,并且不受单一服务器的局限,即,提升了服务器的可靠性、可操作性以及可扩展性。

本申请实施例还提供了另一种计算机可读存储介质,存储有计算机程序,该计算机程序用于被处理器执行时实现本申请中任意一个实施例或任意一种可选实施方式提供的任意一种服务提供方法的步骤。

本申请实施例提供的计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

应用本申请实施例,可以在其中一台服务器发生故障时,自动切换另一台服务器为客户端提供服务,而无需人工排查故障后再启动服务,并且不受单一服务器的局限,即,提升了服务器的可靠性、可操作性以及可扩展性。。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1