《网络应用系统和方法.pdf》由会员分享,可在线阅读,更多相关《网络应用系统和方法.pdf(13页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102868565 A (43)申请公布日 2013.01.09 CN 102868565 A *CN102868565A* (21)申请号 201210392677.5 (22)申请日 2012.10.16 H04L 12/24(2006.01) H04L 29/08(2006.01) (71)申请人 北京奇虎科技有限公司 地址 100088 北京市西城区新街口外大街 28 号 D 座 112 室 (德胜园区) 申请人 奇智软件 (北京) 有限公司 (72)发明人 赵宏威 黄会娟 (74)专利代理机构 北京市浩天知识产权代理事 务所 11276 代理人 靳春鹰 刘云。
2、贵 (54) 发明名称 网络应用系统和方法 (57) 摘要 本发明公开了一种网络应用系统和方法。该 系统包括 : 一个或多个底层服务器, 每个底层服 务器提供一个或多个应用 ; 代理服务器, 其以第 一预定时间间隔对一个或者多个底层服务器提供 的应用进行缓存 ; 前端服务器, 适于组合来自一 个或者多个底层服务器的应用, 并且提供用于与 应用交互的外部接口 ; 以及监控服务器, 其检测 底层服务器是否正常, 以及检测代理服务器是否 正常, 其中前端服务器还包括缓存器, 其以第二预 定时间间隔对一个或者多个底层服务器提供的应 用进行缓存, 以及前端服务器根据监控服务器的 检测结果来决定如何调用所。
3、需的应用。通过该网 络应用系统和方法, 在某一底层服务器中的应用 出现故障的情况下, 网络应用系统依然可以向用 户提供完整的应用功能。 (51)Int.Cl. 权利要求书 2 页 说明书 8 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 2 页 1/2 页 2 1. 一种网络应用系统, 包括 : 一个或多个底层服务器, 每个底层服务器提供一个或多个应用 ; 代理服务器, 其以第一预定时间间隔对所述一个或者多个底层服务器提供的应用进行 缓存 ; 前端服务器, 适于组合来自所述一个或者多个底层服务器的应用, 并且提供用于与所。
4、 述应用交互的外部接口 ; 以及 监控服务器, 其检测所述底层服务器是否正常, 以及检测所述代理服务器是否正常 , 其中, 所述前端服务器还包括缓存器, 其以第二预定时间间隔对所述一个或者多个底 层服务器提供的应用进行缓存, 以及所述前端服务器根据所述监控服务器的检测结果来决 定如何调用所需的应用。 2. 如权利要求 1 所述的系统, 其中, 当所述监控服务器检测到所述底层服务器和代理服务器均正常时, 所述前端服务器经 由所述代理服务器调用所述底层服务器中的应用 ; 当所述监控服务器检测到所述底层服务器出现异常时, 所述前端服务器从所述代理服 务器中调用所述底层服务器的应用 ; 以及 当所述监。
5、控服务器检测到所述代理服务器和底层服务器出现异常时, 所述前端服务器 从所述缓存器调用所述底层服务器的应用。 3. 如权利要求 1 或 2 所述的系统, 还包括 : 冗余服务器, 所述冗余服务器与所述底层服务器相对应, 并提供对应底层服务器的冗 余备份。 4. 如权利要求 3 所述的系统, 其中, 当所述监控服务器检测到所述底层服务器出现异常时, 所述代理服务器切换为从对应 的冗余服务器缓存应用。 5. 如上述权利要求 1-4 中任一个所述的系统, 其中, 所述监控服务器每隔预设的时间间隔, 向所述底层服务器和 / 或代理服务器发送访问 请求, 根据对所述访问请求的应答来确定底层服务器和 / 。
6、或代理服务器是否正常。 6. 如上述权利要求 1-5 中任一个所述的系统, 其中, 所述第一预定时间间隔小于所述第二预定时间间隔。 7. 如权利要求 1-6 中任一个所述的系统, 所述应用包括提供数据信息的应用, 且所述 缓存器以文本文件格式缓存所述数据信息。 8. 一种网络应用方法, 该方法包括 : 设置一代理服务器, 该代理服务器以第一预定时间间隔对一个或者多个底层服务器提 供的应用进行缓存 ; 设置一缓存器, 该缓存器以第二预定时间间隔对所述一个或者多个底层服务器提供的 应用进行缓存 ; 检测所述一个或者多个底层服务器是否正常, 以及检测所述代理服务器是否正常 ; 以 及 根据检测结果来。
7、决定从所述代理服务器或所述缓存器调用所需的应用 , 并组合所述 应用以提供集成的网络应用系统。 权 利 要 求 书 CN 102868565 A 2 2/2 页 3 9. 如权利要求 8 所述的方法, 其中, 当检测到所述底层服务器和代理服务器均正常时, 经由所述代理服务器调用所需的应 用 ; 当检测到所述底层服务器出现异常时, 从所述代理服务器中调用所需的应用 ; 以及 当检测到所述代理服务器和底层服务器出现异常时, 从所述缓存器调用所需的应用。 10. 如权利要求 8 或 9 所述的方法, 还包括 : 为所述底层服务器相对应地配置冗余服务器, 以提供对应底层服务器的冗余备份, 以 及 当检。
8、测到所述底层服务器出现异常时, 所述代理服务器切换为从对应的冗余服务器缓 存应用。 11. 如权利要求 8-10 中任一个所述的方法, 其中, 所述第一预定时间间隔小于所述第二预定时间间隔。 12. 如权利要求 8-11 中任一个所述的方法, 所述应用包括提供数据信息的应用, 且将 所述数据信息以文本文件格式缓存于所述缓存器。 13. 如权利要求 8-12 中任一个所述的方法, 其中通过网络传输获取所述代理服务器缓 存的应用, 并通过本地调用获取缓存器缓存的应用。 权 利 要 求 书 CN 102868565 A 3 1/8 页 4 网络应用系统和方法 技术领域 0001 本发明涉及计算机网络。
9、领域, 具体涉及一种网络应用系统和方法。 背景技术 0002 目前, 随着网络应用的快速发展, 网络应用系统能够呈现的应用种类和数量越来 越多。 0003 在常见的网络应用系统中, 通常包括前端服务器以及一个或多个底层服务器, 其 中, 底层服务器用于提供应用, 前端服务器用于将来自一个或多个底层服务器的应用呈现 给用户。在这种网络应用系统中, 前端服务器与各个底层服务器之间存在着相互依赖的关 系, 因此, 当一个底层服务器出现故障时, 会影响网络应用系统中的前端服务器以及其他底 层服务器的正常运行。即使有报警设备进行监测, 但是报警后各底层服务器和其它设备通 过手工更新配置, 重新上线, 效。
10、率较低, 线上影响时间较长, 在此过程中, 用户无法访问该网 络应用系统中出现故障的底层服务器所提供的应用, 而且由于设备间的相互影响, 甚至会 导致用户无法访问该网络应用系统中的任一应用, 给用户造成了极大的不便。 发明内容 0004 鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的网络应用系统和方法。 0005 依据本发明的一个方面, 提供了一种网络应用系统, 包括 : 一个或多个底层服务 器, 每个底层服务器提供一个或多个应用 ; 代理服务器, 其以第一预定时间间隔对一个或者 多个底层服务器提供的应用进行缓存 ; 前端服务器, 适于组合来自一个或者多个底。
11、层服务 器的应用, 并且提供用于与应用交互的外部接口 ; 以及监控服务器, 其检测底层服务器是否 正常, 以及检测代理服务器是否正常, 其中前端服务器还包括缓存器, 其以第二预定时间间 隔对一个或者多个底层服务器提供的应用进行缓存, 以及前端服务器根据监控服务器的检 测结果来决定如何调用所需的应用。 。 0006 可选地, 当监控服务器检测到底层服务器和代理服务器均正常时, 前端服务器经 由代理服务器调用底层服务器中的应用 ; 当监控服务器检测到底层服务器出现异常时, 前 端服务器从代理服务器中调用底层服务器的应用 ; 以及当监控服务器检测到代理服务器和 底层服务器出现异常时, 前端服务器从缓。
12、存器调用底层服务器的应用。 0007 可选地, 该系统还包括 : 冗余服务器, 冗余服务器与底层服务器相对应, 并提供对 应底层服务器的冗余备份。 0008 可选地, 当监控服务器检测到底层服务器出现异常时, 代理服务器切换为从对应 的冗余服务器缓存应用。 0009 可选地, 监控服务器每隔预设的时间间隔, 向底层服务器和 / 或代理服务器发送 访问请求, 根据对访问请求的应答来确定底层服务器和 / 或代理服务器是否正常。 0010 可选地, 第一预定时间间隔小于第二预定时间间隔。 说 明 书 CN 102868565 A 4 2/8 页 5 0011 可选地, 应用包括提供数据信息的应用, 。
13、且缓存器以文本文件格式缓存数据信息。 0012 根据本发明的另一方面, 提供了一种网络应用方法, 该方法包括 : 设置一代理服务 器, 该代理服务器以第一预定时间间隔对一个或者多个底层服务器提供的应用进行缓存 ; 设置一缓存器, 该缓存器以第二预定时间间隔对一个或者多个底层服务器提供的应用进行 缓存 ; 检测一个或者多个底层服务器是否正常, 以及检测代理服务器是否正常 ; 根据检测 结果来决定从一个或者多个底层服务器、 代理服务器、 或缓存器调用所需的应用 , 并组合 应用以提供集成的网络应用系统。 0013 可选地, 当检测到底层服务器和代理服务器均正常时, 经由代理服务器调用所需 的应用 。
14、; 当检测到底层服务器出现异常时, 从代理服务器中调用所需的应用 ; 以及当检测 到代理服务器和底层服务器出现异常时, 从缓存器调用所需的应用。 0014 可选地, 该方法还包括 : 为底层服务器相对应地配置冗余服务器, 以提供对应底层 服务器的冗余备份。 0015 可选地, 当检测到底层服务器出现异常时, 代理服务器切换为从对应的冗余服务 器缓存应用。 0016 可选地, 每隔预设的时间间隔向底层服务器和 / 或代理服务器发送访问请求, 根 据对访问请求的应答来确定底层服务器和 / 或代理服务器是否正常。 0017 可选地, 第一预定时间间隔小于第二预定时间间隔。 0018 可选地, 应用包。
15、括提供数据信息的应用, 且将数据信息以文本文件格式缓存于缓 存器。 0019 根据本发明的网络应用系统和方法, 通过代理服务器和缓存器分别对底层服务器 提供的应用进行缓存, 当监控服务器检测到底层服务器出现异常时, 前端服务器可以根据 监控服务器的检测结果决定从代理服务器或缓存器中调用应用。 由此解决了只要有一个底 层服务器中的一个应用出现故障就会影响整个网络应用系统运行, 从而导致无法为用户提 供完整应用功能的问题, 取得了能够在某一底层服务器中的应用出现故障的情况下, 网络 应用系统依然可以向用户提供完整的应用功能的有益效果。 0020 上述说明仅是本发明技术方案的概述, 为了能够更清楚了。
16、解本发明的技术手段, 而可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方式。 附图说明 0021 通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的, 而并不认为是对本发明 的限制。而且在整个附图中, 用相同的附图标记表示相同的部件。在附图中 : 0022 图 1 示出了根据本发明一个实施例的网络应用系统的结构图 ; 以及 0023 图 2 示出了根据本发明一个实施例的网络应用方法的流程图。 具体实施方式 0024 下面将参照附图更详细地描述。
17、本公开的示例性实施例。 虽然附图中显示了本公开 的示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述的实施例 说 明 书 CN 102868565 A 5 3/8 页 6 所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公开, 并且能够将本公开的范围 完整的传达给本领域的技术人员。 0025 图 1 示出了根据本发明一个实施例的网络应用系统的结构示意图。如图 1 所示, 该网络应用系统包括 : 一个或多个底层服务器 110、 与每个底层服务器 110 分别相连的代理 服务器 120、 与代理服务器 120 相连的前端服务器 140、 以及与每个底层服务器 110 。
18、以及代 理服务器 120 和前端服务器 140 相连的监控服务器 130, 其中, 该前端服务器 140 中进一步 设置有缓存器 141。 0026 每个底层服务器 110 提供一个或多个应用, 在图 1 中只示意性地画出了两个底层 服务器, 实际情况中, 底层服务器的数量可以为一个或多个, 当底层服务器的数量为多个 时, 每个底层服务器可以分别用于提供不同的应用, 以满足用户访问多种应用的需求。 可选 地, 为了实现底层服务器之间的冗余配置, 也可以将多个底层服务器配置为若干组, 每组底 层服务器中的各个底层服务器都用于提供相同的应用, 不同组的底层服务器提供的应用不 同, 这样既满足了用户。
19、访问多种应用的需求, 又在每组底层服务器内部实现了冗余配置。 0027 代理服务器 120 以第一预定时间间隔 (例如, 5 分钟) 对各底层服务器 110 提供的 应用进行缓存, 并将缓存后的应用提供给前端服务器140。 前端服务器140内部设置的缓存 器 141 以第二预定时间间隔 (例如, 1 小时) 对各底层服务器 110 提供的应用进行缓存。具体 地, 代理服务器120和缓存器141对应用进行缓存是指缓存应用提供的结果, 例如如果应用 提供数据信息, 则代理服务器 120 和缓存器 141 缓存的是应用提供的数据信息所对应的数 据内容。代理服务器 120 可以采用本领域使用的各种缓存。
20、技术, 例如, 各种 web 缓存技术、 squid 等, 这些缓存技术除了保证缓存信息的正确之外, 还需要考虑缓存效率等问题。而缓 存器 141 的缓存主要考虑的是缓存数据的可靠性, 而相对而言, 缓存效率并不着重进行考 虑, 因此, 可选地, 缓存器 141 可以采用文本文件格式存储这些数据内容, 以提高缓存的可 靠性。应用提供的结果可以包括 : 每个游戏的区服信息等。而且, 在代理服务器 120 和缓存 器 141 缓存应用时, 如果发现读取应用相关的数据失败则暂时不进行缓存, 从而保证缓存 的所有数据都是有效的, 避免了缓存无效数据的情况。 0028 可选地, 上面提到的第一预定时间间。
21、隔小于第二预定时间间隔, 也就是说, 代理服 务器 120 的缓存频率较高, 缓存器 141 的缓存频率较低, 因此, 代理服务器 120 上缓存的内 容可能比缓存器141上缓存的内容更新。 所以, 前端服务器140优先调用代理服务器120上 缓存的应用。另外, 在本实施例中, 为了简化系统结构, 降低硬件成本, 是以缓存器 141 设置 在前端服务器140内部为例进行说明的, 实际情况中, 也可以将缓存器141独立于前端服务 器 140 设置, 这样, 缓存器 141 需要与每个底层服务器 110 分别相连, 以便每隔第二预定时 间间隔获取每个底层服务器 110 提供的应用。同时, 缓存器 。
22、141 还要与前端服务器 140 相 连, 以便前端服务器 140 能够访问缓存器 141 上缓存的应用。当缓存器 141 独立于前端服 务器 140 设置时, 缓存器 141 可以直接获取每个底层服务器 110 提供的应用, 而不必经由代 理服务器 120 获取底层服务器 110 提供的应用, 因此, 缓存频率更为灵活。 0029 监控服务器 130 对每个底层服务器 110 以及代理服务器 120 进行检测, 并将检测 结果发送给前端服务器 140。具体检测时, 可以每隔预设的时间间隔, 检测一次各个底层服 务器中提供的应用是否正常, 以及代理服务器的工作状态是否正常, 为了及时发现故障,。
23、 可 以将预设的时间间隔设置得尽可能小, 以达到近似实时检测的效果。 说 明 书 CN 102868565 A 6 4/8 页 7 0030 其中, 监控服务器130检测底层服务器110时, 由于底层服务器提供的每一应用都 具有一个与之相对应的 URL, 通过访问该 URL, 即可访问该应用。因此, 在检测某一底层服务 器中提供的应用是否正常时, 可以通过访问与该底层服务器所提供的应用相对应的 URL 来 进行检测。 如果当访问该底层服务器提供的该应用对应的URL时, 该底层服务器对该URL请 求没有响应或者产生错误, 则确定与该 URL 对应的应用不正常, 反之, 则确定与该 URL 对应 。
24、的应用正常。例如, 可以通过 shell 脚本 (或其它脚本) 来访问某一底层服务器所提供的一 个应用对应的 URL, 如果该底层服务器在预定时间内对该 URL 请求没有响应, 或者产生了错 误信息, 例如如果底层服务器返回 500 或 502 这样的 HTTP 错误代码等, 则确定与该 URL 对 应的应用不正常。这里, 500 表示内部服务器错误信息, 502 表示网关错误信息, 根据产生的 错误信息可以初步确定底层服务器中的应用存在故障的原因。 通过定期访问每个底层服务 器中的每个应用对应的 URL, 即可确定各个底层服务器中的各应用的状态是否正常。 0031 监控服务器130检测代理服。
25、务器120时, 也可以采用类似的方式, 通过向代理服务 器发送访问请求, 并根据代理服务器对该访问请求的应答, 即 : 是否返回响应消息或返回的 响应消息是否正确来判断代理服务器是否正常。具体地, 如果代理服务器 120 对监控服务 器130发送的访问请求没有应答或应答出现异常, 则表示代理服务器120本身出现了故障, 或者, 出现了网络问题。 另外, 即使代理服务器120本身运行正常, 监控服务器130还可以进 一步检测代理服务器 120 上缓存的数据是否已失效, 在判断缓存数据是否已失效时, 可以 采用两种方式。第一种方式为, 通过传输参数判断数据是否已失效 : 例如, 监控服务器 130。
26、 通过一个参数, 譬如 zonearr 参数, 获取代理服务器上的缓存数据, 如果 zonearr 参数为空 值, 则表示获取到的缓存数据已经失效。 第二种方式为, 直接判断缓存数据是否超过了缓存 周期, 例如, 假设代理服务器 120 的缓存周期为 5 分钟, 即每隔 5 分钟缓存一次, 如果代理服 务器当前缓存的应用的缓存时间显示为 5 分钟之前, 则说明当前缓存的应用已经超过了缓 存周期, 因此是失效数据。当监控服务器 130 判断出代理服务器 120 上的缓存数据为失效 数据时, 也可以向前端服务器140报告代理服务器120异常, 从而使得前端服务器可以从缓 存器 141 中调用应用。。
27、 0032 另外, 为了确保底层服务器和代理服务器的及时修复, 还可以在确定出底层服务 器或代理服务器的状态不正常之后, 向技术人员发送短信通知, 以便技术人员能够及时对 其进行修复。 0033 前端服务器 140 根据监控服务器 130 的检测结果来决定从代理服务器 120 或缓存 器141中调用所需的应用, 并对调用的来自各底层服务器110的应用进行组合, 并且提供用 于与这些应用交互的外部接口, 用户通过访问外部接口即可访问该外部接口对应的应用。 0034 可选地, 当监控服务器 130 检测到底层服务器 110 和代理服务器 120 均正常时, 前端服务器 140 经由代理服务器 12。
28、0 调用底层服务器 110 中的应用 ; 当监控服务器 130 检 测到底层服务器 110 出现异常时, 前端服务器 140 从代理服务器 120 中调用底层服务器的 应用 ; 当监控服务器 130 检测到代理服务器 120 和底层服务器 110 出现异常时, 前端服务 器 140 从缓存器 141 调用底层服务器 110 的应用。通过这样的调用方式, 即使底层服务器 出现异常, 也可以通过调用代理服务器中缓存的应用来达到正常服务的目的, 即使连代理 服务器也出现异常, 还可以通过调用缓存器中缓存的应用来达到正常服务的目的。无论前 端服务器 140 是从代理服务器 120 调用底层服务器提供的。
29、应用, 还是从缓存器 141 调用底 说 明 书 CN 102868565 A 7 5/8 页 8 层服务器提供的应用, 其提供的与这些应用交互的外部接口都是一样的, 因此, 对于用户来 讲, 不会产生任何区别。 由此可见, 在本实施例中, 对底层服务器中的应用进行了双重缓存, 即 : 代理服务器作为第一重缓存, 缓存器作为第二重缓存, 对网络应用系统的正常运行起到 了双重保障的作用。 其中, 代理服务器作为第一重缓存, 前端服务器优先调用代理服务器中 缓存的数据, 且通常情况下对代理服务器中的缓存数据的调用频率较高, 因此, 对于代理服 务器中的缓存数据来说, 除了要符合可靠性的要求, 以确。
30、保数据正确之外, 还对缓存效率有 着较高的要求, 以确保当底层服务器中的数据发生变化时, 代理服务器中的缓存数据能够 迅速准确地更新为最新数据, 所以, 代理服务器在缓存时的缓存周期一般设置得较小, 以便 能够在底层服务器中的数据发生变化时及时更新, 而且, 代理服务器在缓存时采用的缓存 技术 (如, 各种 web 缓存技术、 squid 等) 也需要考虑缓存效率问题, 以便能够迅速地被前端 服务器调取。相比较而言, 缓存器作为第二重缓存, 主要起到备份的作用, 前端服务器通常 只在代理服务器出现问题时才会调用缓存器中的缓存数据, 且通常情况下对缓存器中的缓 存数据的调用频率较低, 因此, 对。
31、于缓存器中的缓存数据来说, 对可靠性有着较高的要求, 以确保数据正确, 但对缓存效率的要求较低, 所以, 缓存器在缓存时的缓存周期可以设置得 较大一些, 以降低对硬件资源和网络资源的占用, 而且, 缓存器在缓存时采用的缓存技术通 常更需要考虑可靠性问题, 因此可以采用文本文件格式缓存数据, 以降低出错率, 提高缓存 数据的可靠性。 0035 另外, 根据本发明的一个实施例, 缓存器141和前端服务器140位于同一个物理设 备中, 这样, 即使因为网络通信故障等原因而导致代理服务器 120 不能访问时, 缓存器 141 也不会受网络故障的影响而可以可靠地提供缓存的内容。 由此可以避免由于网络故障。
32、而导 致缓存器 141 和代理服务器 120 同时不可用的情况, 提高了系统的可靠性。 0036 另外, 在本实施例中, 当底层服务器为冗余配置时, 如果一组底层服务器中的一个 底层服务器出现了异常, 代理服务器 120 还可以通过监控服务器 130 检测到的各个底层服 务器的检测结果得知这一异常信息, 从而自动地切换为从该组底层服务器中的其他正常的 底层服务器中获取应用并缓存, 从而确保了缓存数据的正确性。 0037 图 2 示出了根据本发明一个实施例的网络应用方法的流程图。该网络应用方法可 应用于图 1 所示的网络应用系统。 0038 如图 2 所示, 该网络应用方法始于步骤 S210, 。
33、在步骤 S210 中, 设置一代理服务器, 该代理服务器以第一预定时间间隔对一个或者多个底层服务器提供的应用进行缓存。 在步 骤 S220 中, 设置一缓存器, 该缓存器以第二预定时间间隔对一个或者多个底层服务器提供 的应用进行缓存。 0039 上述步骤 S210 以及步骤 S220 可以同时开始执行, 也可以先后开始执行。由于第 二预定时间间隔通常大于第一预定时间间隔, 因此, 通常情况下, 先执行步骤 S210, 后执行 步骤 S220, 且步骤 S210 和步骤 S220 中的缓存操作都是每隔预定时间间隔执行一次的, 因 此, 步骤 S210 和步骤 S220 中的缓存操作都属于需要持续。
34、执行的步骤。具体地, 代理服务器 和缓存器对应用进行缓存是指缓存应用提供的结果, 例如如果应用提供数据信息, 则代理 服务器和缓存器缓存的是应用提供的数据信息所对应的数据内容, 可选地, 底层服务器提 供的应用包括提供数据信息的应用, 则缓存器可以采用文本文件格式缓存这些数据信息, 达到缓存应用的目的。应用提供的结果可以包括 : 每个游戏的区服信息等。而且, 在代理服 说 明 书 CN 102868565 A 8 6/8 页 9 务器和缓存器缓存应用时, 如果发现缓存程序读取数据失败则暂时不进行缓存, 从而保证 缓存的所有数据都是有效的, 避免了缓存无效数据的情况。 0040 在步骤 S210。
35、 和步骤 S220 开始执行时或开始执行后, 执行步骤 S230。在步骤 S230 中, 检测一个或者多个底层服务器是否正常, 以及检测代理服务器是否正常。具体检测时, 可以每隔预设的时间间隔, 检测一次各个底层服务器中提供的应用是否正常, 以及代理服 务器的工作状态是否正常, 为了及时发现故障, 可以将预设的时间间隔设置得尽可能小, 以 达到近似实时检测的效果。其中, 检测底层服务器 110 时, 由于底层服务器提供的每一应用 都具有一个与之相对应的 URL, 通过访问该 URL, 即可访问该应用。因此, 在检测某一底层服 务器中提供的应用是否正常时, 可以通过访问与该底层服务器所提供的应用。
36、相对应的 URL 来进行检测。 如果当访问该底层服务器提供的该应用对应的URL时, 该底层服务器对该URL 请求没有响应或者产生错误, 则确定与该 URL 对应的应用不正常, 反之, 则确定与该 URL 对 应的应用正常。例如, 可以通过 shell 脚本 (或其它脚本) 来访问某一底层服务器所提供的 一个应用对应的 URL, 如果该底层服务器在预定时间内对该 URL 请求没有响应, 或者产生了 错误信息, 例如如果底层服务器返回 500 或 502 这样的 HTTP 错误代码等, 则确定与该 URL 对应的应用不正常。这里, 500 表示内部服务器错误信息, 502 表示网关错误信息, 根据。
37、产生 的错误信息可以初步确定底层服务器中的应用存在故障的原因。 通过定期访问每个底层服 务器中的每个应用对应的URL, 即可确定各个底层服务器中的各应用的状态是否正常。 检测 代理服务器 120 时, 也可以采用类似的方式, 通过向代理服务器发送访问请求, 并根据代理 服务器对该访问请求的应答, 即 : 是否返回响应消息或返回的响应消息是否正确来判断代 理服务器是否正常。 另外, 为了确保底层服务器和代理服务器的及时修复, 还可以在确定出 底层服务器或代理服务器的状态不正常之后, 向技术人员发送短信通知, 以便技术人员能 够及时对其进行修复。 0041 在执行完步骤 S230 之后, 在步骤 。
38、S240 中, 根据检测结果来决定从一个或者多个 底层服务器、 代理服务器、 或缓存器调用所需的应用, 并组合应用以提供集成的网络应用系 统。可选地, 当检测到底层服务器和代理服务器均正常时, 经由代理服务器调用所需的应 用 ; 当检测到底层服务器出现异常时, 从代理服务器中调用所需的应用 ; 以及当检测到代 理服务器和底层服务器出现异常时, 从缓存器调用所需的应用。 通过这样的调用方式, 即使 底层服务器出现异常, 也可以通过调用代理服务器中缓存的应用来达到正常服务的目的, 即使连代理服务器也出现异常, 还可以通过调用缓存器中缓存的应用来达到正常服务的目 的。 也就是说, 在本实施例中, 对。
39、底层服务器中的应用进行了双重缓存, 即 : 代理服务器作为 第一重缓存, 缓存器作为第二重缓存, 对网络应用系统的正常运行起到了双重保障的作用。 0042 另外, 根据本发明的一个实施例, 缓存器和前端服务器位于同一个物理设备中, 这 样, 即使因为网络通信故障等原因而导致代理服务器不能访问时, 缓存器也不会受网络故 障的影响而可以可靠地提供缓存的内容。 由此可以避免由于网络故障而导致缓存器和代理 服务器同时不可用的情况, 提高了系统的可靠性。 也就是说, 前端服务器可以通过本地调用 的方式来获取缓存器所缓存的应用数据而无需通过网络通信, 而对于代理服务器缓存的应 用, 则前端服务器需要通过网。
40、络通信方式来获取。 0043 可选地, 为了进一步提高底层服务器的可靠性, 该方法在起始阶段还包括如下步 骤 : 为底层服务器相对应地配置冗余服务器, 以提供对应底层服务器的冗余备份, 这样, 当 说 明 书 CN 102868565 A 9 7/8 页 10 步骤 S230 中检测到底层服务器出现异常时, 代理服务器切换为从对应的冗余服务器缓存 应用。 0044 根据本发明的网络应用系统和方法, 通过代理服务器和缓存器分别对底层服务器 提供的应用进行缓存, 当检测到底层服务器出现异常时, 可以根据检测结果决定从代理服 务器或缓存器中调用应用。 由此解决了只要有一个底层服务器中的一个应用出现故。
41、障就会 影响整个网络应用系统运行, 从而导致无法为用户提供完整应用功能的问题, 取得了能够 在某一底层服务器中的应用出现故障的情况下, 网络应用系统依然可以向用户提供完整的 应用功能的有益效果。因此, 在本发明的网络应用系统中, 不会因为某一设备 (如底层服务 器、 代理服务器) 的异常而影响整个系统的运行, 提高了系统的可靠性。 0045 在此提供的算法和显示不与任何特定计算机、 虚拟系统或者其它设备固有相关。 各种通用系统也可以与基于在此的示教一起使用。根据上面的描述, 构造这类系统所要求 的结构是显而易见的。此外, 本发明也不针对任何特定编程语言。应当明白, 可以利用各种 编程语言实现在。
42、此描述的本发明的内容, 并且上面对特定语言所做的描述是为了披露本发 明的最佳实施方式。 0046 在此处所提供的说明书中, 说明了大量具体细节。然而, 能够理解, 本发明的实施 例可以在没有这些具体细节的情况下实践。 在一些实例中, 并未详细示出公知的方法、 结构 和技术, 以便不模糊对本说明书的理解。 0047 类似地, 应当理解, 为了精简本公开并帮助理解各个发明方面中的一个或多个, 在 上面对本发明的示例性实施例的描述中, 本发明的各个特征有时被一起分组到单个实施 例、 图、 或者对其的描述中。 然而, 并不应将该公开的方法解释成反映如下意图 : 即所要求保 护的本发明要求比在每个权利要。
43、求中所明确记载的特征更多的特征。更确切地说, 如下面 的权利要求书所反映的那样, 发明方面在于少于前面公开的单个实施例的所有特征。 因此, 遵循具体实施方式的权利要求书由此明确地并入该具体实施方式, 其中每个权利要求本身 都作为本发明的单独实施例。 0048 本领域那些技术人员可以理解, 可以对实施例中的设备中的模块进行自适应性地 改变并且把它们设置在与该实施例不同的一个或多个设备中。 可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件, 以及此外可以把它们分成多个子模块或子单元或 子组件。除了这样的特征和 / 或过程或者单元中的至少一些是相互排斥之外, 可以采用任 何组合对本说明书。
44、 (包括伴随的权利要求、 摘要和附图) 中公开的所有特征以及如此公开的 任何方法或者设备的所有过程或单元进行组合。 除非另外明确陈述, 本说明书 (包括伴随的 权利要求、 摘要和附图) 中公开的每个特征可以由提供相同、 等同或相似目的的替代特征来 代替。 0049 此外, 本领域的技术人员能够理解, 尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征, 但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。 例如, 在下面的权利要求书中, 所要求保护的实施例的任 意之一都可以以任意的组合方式来使用。 0050 本发明的各个部件实施例可以以硬件实现, 。
45、或者以在一个或者多个处理器上运行 的软件模块实现, 或者以它们的组合实现。 本领域的技术人员应当理解, 可以在实践中使用 微处理器或者数字信号处理器 (DSP) 来实现根据本发明实施例的网络应用系统中的一些或 说 明 书 CN 102868565 A 10 8/8 页 11 者全部部件的一些或者全部功能。 本发明还可以实现为用于执行这里所描述的方法的一部 分或者全部的设备或者装置程序 (例如, 计算机程序和计算机程序产品) 。这样的实现本发 明的程序可以存储在计算机可读介质上, 或者可以具有一个或者多个信号的形式。这样的 信号可以从因特网网站上下载得到, 或者在载体信号上提供, 或者以任何其他。
46、形式提供。 0051 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制, 并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词 “包含” 不排除存在 未列在权利要求中的元件或步骤。位于元件之前的单词 “一” 或 “一个” 不排除存在多个这 样的元件。 本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来 实现。在列举了若干装置的单元权利要求中, 这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、 第二、 以及第三等的使用不表示任何顺序。可将这些单词解释为 名称。 说 明 书 CN 102868565 A 11 1/2 页 12 图 1 说 明 书 附 图 CN 102868565 A 12 2/2 页 13 图 2 说 明 书 附 图 CN 102868565 A 13 。