CN107862001B - 一种数据容灾的方法和系统 - Google Patents

一种数据容灾的方法和系统 Download PDF

Info

Publication number
CN107862001B
CN107862001B CN201710993260.7A CN201710993260A CN107862001B CN 107862001 B CN107862001 B CN 107862001B CN 201710993260 A CN201710993260 A CN 201710993260A CN 107862001 B CN107862001 B CN 107862001B
Authority
CN
China
Prior art keywords
data
specified
database
general
sending
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.)
Active
Application number
CN201710993260.7A
Other languages
English (en)
Other versions
CN107862001A (zh
Inventor
袁睿达
于林坤
方万冬
王文官
谷长征
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710993260.7A priority Critical patent/CN107862001B/zh
Publication of CN107862001A publication Critical patent/CN107862001A/zh
Application granted granted Critical
Publication of CN107862001B publication Critical patent/CN107862001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据容灾的方法和系统,涉及计算机技术领域。该方法的一具体实施方式包括:按照预设的时间周期从上游接口获取通用型数据;将托底数据库中的数据替换为所述通用型数据;确认无法将指定数据发送至前端后,将所述托底数据库中的通用型数据发送至前端。该实施方式不仅保证了用户页面的完整性,还大大了提高用户体验,解决了现有技术中,在前端无法获取到指定数据的情况下,不能为前端提供更新后的数据的问题。

Description

一种数据容灾的方法和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据容灾的方法和系统。
背景技术
随着大数据的发展,指定数据的需求越来越明显,因为针对每一个用户的喜好特点,返回用户有意向购买的商品已经成为必须具备的需求。指定数据是指网站针对具体用户提供的数据,例如用户登录时提供针对该用户提供的个性化数据,在用户登录客户端或浏览器后,其页面的展示则需要将针对该用户的个性化数据返回至前端。其中,前端为客户端或浏览器展示给用户的页面。相对应的,通用型数据为非指定数据,例如在用户不登录的情况下,则通过前端获取通用型数据进行页面展示。容灾是指在获取的数据或者获取数据的接口出现异常的情况下,系统至少可提供一份可用的关键业务的数据。
指定数据的优势可以提高用户的购买体验,而且可以有效的提高转化率。而提供指定数据的同时,不可以有数据中的遗漏,比如页面上面的空窗,这样会降低用户的体验,还会给网站造成不良的影响。所以在指定数据上面就必须有相应的容灾方案,避免数据的异常问题,避免造成降低用户体验的异常。
如今,指定数据容灾的方案为:当上游接口发生异常,或是获取的数据中异常数据太多以至于不能展示时,则获取系统上线时缓存在用户浏览器上的数据,或者调用用户上次登录时缓存在用户浏览器上的数据,但这些数据都不是实时的数据,不仅不能给用户提供最新的商品活动数据,而且缓存在用户浏览器上的数据,可能是时间较早的数据,或者写死的数据,不能进行更新,所以被缓存的一些商品可能已经下架,将该商品展示给用户则会影响用户体验。
发明内容
有鉴于此,本发明实施例提供一种数据容灾的方法和系统,能够在前端调用指定数据的接口发生异常的情况下,向前端发送的通用型数据为更新的实时数据。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据容灾的方法。
本发明实施例的数据容灾的方法包括:按照预设的时间周期从上游接口获取通用型数据;将托底数据库中的数据替换为所述通用型数据;确认无法将指定数据发送至前端后,将所述托底数据库中的通用型数据发送至前端。
可选地,在按照预设的时间周期从上游接口获取通用型数据之后,以及将托底数据库中的数据替换为所述通用型数据之前,还包括:对获取到的通用型数据中的异常数据进行过滤。
可选地,将托底数据库中的数据替换为所述通用型数据的步骤包括:判断过滤后的通用型数据是否符合预设的展示条件;如果符合,则将托底数据库中的数据替换为所述过滤后的通用型数据。
可选地,在将托底数据库中的数据替换为所述通用型数据之后,还包括:根据用户唯一标识,从上游接口获取指定数据;判断所述指定数据是否符合预设的展示条件,若是,将所述指定数据发送至前端;否则判断指定数据库已缓存的指定数据是否为空,如果不为空,则将所述指定数据库中已缓存的指定数据发送至前端;如果为空,则确认无法将指定数据发送至前端,并将托底数据库中的通用型数据发送至前端。
可选地,在判断所述指定数据是否符合预设的展示条件之前,还包括:对获取到的指定数据中的异常数据进行过滤。
可选地,在将托底数据库中的数据替换为所述通用型数据之后,还包括:确认所述上游接口异常,然后判断所述指定数据库中已缓存的指定数据是否为空;如果为空,确认无法将指定数据发送至前端,并则将托底数据库中的通用型数据发送至前端,否则将所述指定数据库中已缓存的指定数据发送至前端。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据容灾的系统。
本发明实施例的数据容灾的系统包括:通用型数据获取模块,用于按照预设的时间周期从上游接口获取通用型数据;通用型数据替换模块,用于将托底数据库中的数据替换为所述通用型数据;通用型数据发送模块,用于在确认无法将指定数据发送至前端后,将所述托底数据库中的通用型数据发送至前端。
可选地,还包括通用型数据过滤模块,用于对获取到的通用型数据中的异常数据进行过滤。
可选地,所述通用型数据替换模块还用于判断所述通用型数据过滤模块过滤后的通用型数据是否符合预设的展示条件;如果符合,则将托底数据库中的数据替换为所述过滤后的通用型数据。
可选地,还包括指定数据发送模块,用于根据用户唯一标识,从上游接口获取指定数据;以及,判断所述指定数据是否符合预设的展示条件,若是,将所述指定数据发送至前端;否则判断指定数据库已缓存的指定数据是否为空,如果不为空,则将所述指定数据库中已缓存的指定数据发送至前端;如果为空,则所述通用型数据发送模块确认无法将指定数据发送至前端,并将托底数据库中的通用型数据发送至前端。
可选地,所述指定数据发送模块还用于对获取到的指定数据中的异常数据进行过滤。
可选地,还包括上游接口确认模块,用于确认所述上游接口异常,然后指定数据发送模块判断所述指定数据库中已缓存的指定数据是否为空;如果为空,所述通用型数据确认无法将指定数据发送至前端,并则将托底数据库中的通用型数据发送至前端,否则指定数据发送模块将所述指定数据库中已缓存的指定数据发送至前端。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据容灾的服务器。
本发明实施例的数据容灾的服务器包括:一个或多个处理器;存储系统,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项的数据容灾的方法。
为实现上述目的,根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现上述任一项的数据容灾的方法。
上述发明中的一个实施例具有如下优点或有益效果:由于按照预设的方式对托底数据库中的通用型数据进行更新,进而在向前端发送指定数据的接口发生异常的情况下,将该托底数据库中的通用型数据发送至前端,并且可根据数据需求设置更新的预设的方式,因此前端获取的数据为更新后的数据,在前端调用指定数据的接口发生异常的情况下,不仅保证了用户页面的完整性,还大大了提高用户体验。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的向前端提供数据的系统的主要组成部分的示意图;
图2是根据本发明实施例的一种数据容灾的方法的主要流程的示意图;
图3是根据本发明实施例的一种向前端提供数据的方法的流程的示意图;
图4是根据本发明实施例的对托底数据库进行更新的流程的示意图;
图5是根据本发明实施例的数据容灾的系统的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为了更好地进行数据容灾,在本发明实施例中,按照预设的方式对托底数据库中的通用型数据进行更新,然后针对不同的异常采用相应的方式来实现数据容灾。其中,托底数据库即为存储通用型数据的数据库。
图1是根据本发明实施例的向前端提供数据的系统的主要组成部分的示意图。如图1所示,指定数据发送接口102从上游接口101获取指定数据,并且将从上游接口101获取到的指定数据发送至前端103,或者将指定数据库104中已缓存的指定数据发送至前端103。在发送数据灾难时,即前端103无法获取到指定数据时,将托底数据库105中通用型数据发送至前端103。
托底数据库为存储通用型数据的数据库,对于该托底数据库,会按照预设的方式对托底数据库中的通用型数据进行更新,该进行更新的过程包括:按照预设的时间周期从上游接口获取通用型数据,并将托底数据库中的数据替换为该获取到的通用型数据。其中,预设的方式为手动更新的方式或者自动更新的方式,手动更新的方式是指在任何时候通过人员操作控制开关都可进行托底数据库的更新,自动更新的方式是指通过程序按照设置的方式进行更新。并且,该预设的方式可以为间断性的或者连续性的,也可以是规律性的或者不规律性的。
在本步骤中,具体可以是先按照预设的时间周期从上游接口获取通用型数据;然后在通用型数据符合预设的展示条件的情况下,将托底数据库中的数据替换为通用型数据。其中,上游接口为提供数据的接口,在本发明实施例中,其提供的数据包括指定数据和通用型数据。并且,该过程中的预设的时间周期可以为预先指定的时刻,也可以是预先指定的时间间隔。例如在10:00、10:10、10:20、10:30、10:40等时刻进行更新,或者,每隔5分钟进行更新。并且,在按照预设的时间周期从上游接口获取通用型数据之后,对获取到的通用型数据中的异常数据进行过滤。将通用型数据中的异常数据过滤掉,是为了将关键字段中的为空的数据过滤,比如图片信息、商品价格等核心信息为空,以及为了对非法的字符进行过滤,比如对利用xss漏洞进行网站攻击的一些字符进行过滤。进行上述的过滤有助于保证发送至前端的通用型数据是没有不可以显示的数据。对于通过前端进行展示的数据需要符合一定的展示条件,例如包含的数据量达到展示要求的数据量或者获取到的数据的格式无异常,所以过滤完之后,对过滤之后的数据进行判断是否符合预设的展示条件,如果不符合,则不对托底数据库进行更新,符合的话,则将托底数据库中的数据替换为过滤后的数据。例如,将获取的到的通用型数据过滤之后,只剩下5条数据,但是进行页面展示时进行预设的展示条件为展示10条数据,所以过滤后的通用型数据不符合预设的展示条件,因此不对托底数据库进行更新。
通过以上对托底数据库中的通用型数据进行更新的过程,可使得在前端无法获取到指定数据的情况下,将最新并且可展示的通用型数据发送给前端,进而避免展示给用户的商品已经被下架或者用户无法看到商品的最新活动等问题。
以下结合不同的异常情况对本发明实施例中的数据容灾方法做出说明。图2是根据本发明实施例的一种数据容灾的方法的主要流程的示意图。
对于上述的指定数据发送接口102发生异常时,即指定数据发送接口102从上游接口101获取到的指定数据不符合预设展示条件且指定数据库104中的指定数据为空,本发明实施例中采用图2所示的方法实现数据容灾。如图2所示,本发明实施例的数据容灾的方法的主要步骤包括:
步骤S201:按照预设的时间周期从上游接口获取通用型数据。
步骤S202:将托底数据库中的数据替换为该通用型数据。
步骤S203:确认无法将指定数据发送至前端后,将托底数据库中的通用型数据发送至前端。
对于上游接口101发生异常,则判断指定数据库104中已缓存的指定数据是否为空。如果指定数据库104中已缓存的指定数据不为空,则将指定数据库104中的已缓存的指定数据发送至前端103。所以在上游接口发生异常的情况下,前端103可获取到指定数据,进而解决了依赖上游接口才能获取指定数据的问题。
对于上游接口101发生异常,并且指定数据库104中已缓存的指定数据为空,则确认无法将指定数据发送至前端,本发明实施例中采用图2所示的方法实现数据容灾。如图2所示,本发明实施例的数据容灾的方法的主要步骤包括:
步骤S201:按照预设的时间周期从上游接口获取通用型数据。
步骤S202:将托底数据库中的数据替换为该通用型数据。
步骤S203:确认无法将指定数据发送至前端后,将托底数据库中的通用型数据发送至前端。
图3是根据本发明实施例的一种向前端提供数据的方法的流程的示意图。
如图3所示,本发明实施例的一种向前端提供数据的方法:如果上游接口无异常,在前端需要个性化数据的情况下,根据用户的唯一标识向上游接口(jsf或者http接口)发送请求,并且从上游接口获取相应的个性化数据。其中,用户的唯一标识包括用户登录客户端的唯一标识以及登录浏览器的唯一标识。对于某些个性化数据,不能直接获取到,需要大数据部门的支持,并且将这些数据整合后进行返回。上游接口是指提供这些个性化的数据的接口,向上游接口发送获取请求后,该上游接口则将整合后的个性化数据返回。
对从上游接口获取到的个性化数据进行过滤,将个性化数据中的异常数据过滤掉。需要过滤掉的异常数据:关键字段的为空的数据、包括非法字符的数据等。比如,商品的编号信息、图片信息、价格信息等关键字段为空,利用xss漏洞进行网站攻击的一些字符,都必须要过滤掉。在对个性化数据过滤之后,判断过滤后的个性化数据是否符合预设的展示条件,例如该数据格式是否异常、数据量是否达到预设的条件等。预设展示条件可通过设置系统参数实现,而且还可根据需求对展示条件进行设置。如果数据格式异常或者数据量没有达到预设的条件,则说明过滤后的个性化数据不符合预设的展示条件,进而不能将该个性化数据发送至前端。如果符合预设的展示条件的话,则将该个性化数据发送至前端,同时将该个性化数据缓存至个性化数据库,前端可根据获取到的个性化数据向用户进行页面展示。通过上述过滤以及判断的过程,可保证前端获取到的数据是无异常并且可展示的,进而可减少前端逻辑处理,提升页面性能。
如果过滤后的个性化数据不符合预设的展示条件,为保证页面不会出现空白的情况,将个性化数据库中已缓存的个性化数据发送至前端。因为如果针对该用户没有提供过个性化数据,或者个性化数据库中缓存的个性化数据已被清空,则无法将个性化数据库中已缓存的个性化数据发送至前端。所以在发送之前,判断个性化数据库中已缓存的个性化数据是否为空,如果不为空,则将个性化数据库中已缓存的个性化数据发送至前端。如果为空,则是前端无法获取到个性化数据的情况,进而将托底数据库中的通用型数据发送至前端。
如果上游接口异常,则无法从上游接口获取到实时的个性化数据,此时,可选择将个性化数据库中已缓存的个性化数据发送至前端。如果判断出个性化数据库中已缓存的个性化数据为空,则将托底数据库中的通用型数据发送至前端。并且,可在请求上游接口的逻辑中,添加一个开关,可以随时手动切换前端获取数据的通道,即控制是否请求上游接口,可以减少对上游的依赖。如果网络延迟严重、上游接口返回数据的时间较长,则可通过该开关手动降级,返回个性化数据库中已缓存的个性化数据,或者托底数据库中的通用型数据。
图4是根据本发明实施例的对托底数据库进行更新的流程的示意图。
在前端无法获取到个性化数据的情况下,将托底数据库中的通用型数据发送至前端。相较于现有技术中将系统上线时缓存在用户浏览器或客户端的数据或者用户之前登录时缓存在用户浏览器或客户端的数据,本发明实施例通过调用托底接口将更新后的托底数据库中的通用型数据发送至前端,不仅保证了页面的完整性,而且为前端提供的最新数据。尤其是对于一些商品秒杀活动(时间较短),通过现有技术的容灾方案的话则无法为用户提供,通过本发明实施例数据容灾的方法即可为用户展示出,提高了用户体验。
如图4所示,本发明实施例的对托底数据库进行更新包括:按照预设的时间周期向上游接口获取通用型数据,并且对获取到的通用型数据进行过滤。判断过滤后的通用型数据是否符合预设的展示条件,如果符合,则将托底数据库中的数据替换为该过滤后的通用型数据,以实现托底数据库的更新,否则不进行更新托底数据库。上述过程可通过开发的任务(worker)完成,即通过worker模拟线上请求实现托底数据库的更新。并且,可将该worker设置为定时任务,例如每10分钟触发一次。另外,为了使该通用型数据更稳定且持久化,可另外开发一套worker,将通用型数据以文件的形式写入CDN集群(Content DeliveryNetwork内容分发网络),并配置好向该CDN集群请求数据的规则。该worker也是定时任务,例如每10分钟更新一次。
根据本发明实施例的技术方案,可在前端无法获取到指定数据时,则切换托底接口获取托底数据库中更新过的通用型数据,保证了前端页面不会出现空窗的异常,从而增加了用户体验,提高网站的健壮性。并且,还可添加相应的监控设置,如果有任何异常,可以及时进行异常提醒。
图5是根据本发明实施例的数据容灾的系统的主要模块的示意图。
如图5所示,本发明实施例的数据容灾的系统500主要包括通用型数据获取模块501、通用型数据替换模块502和通用型数据发送模块503。
通用型数据获取模块501,用于按照预设的时间周期从上游接口获取通用型数据。
通用型数据替换模块502,用于将托底数据库中的数据替换为该通用型数据。本发明实施例的数据容灾的系统还包括通用型数据过滤模块,该通用型数据过滤模块用于对获取到的通用型数据中的异常数据进行过滤。并且,通用型数据替换模块502还用于判断通用型数据过滤模块过滤后的通用型数据是否符合预设的展示条件;如果符合,则将托底数据库中的数据替换为所述过滤后的通用型数据。
通用型数据发送模块503,用于在确认无法将指定数据发送至前端后,将所述托底数据库中的通用型数据发送至前端。
本发明实施例的数据容灾的系统还包括:指定数据发送模块,用于根据用户唯一标识,从上游接口获取指定数据;以及,判断所述指定数据是否符合预设的展示条件,若是,将所述指定数据发送至前端;否则判断指定数据库已缓存的指定数据是否为空,如果不为空,则将所述指定数据库中已缓存的指定数据发送至前端;如果为空,则所述通用型数据发送模块确认无法将指定数据发送至前端,并将托底数据库中的通用型数据发送至前端。指定数据发送模块还用于对获取到的指定数据中的异常数据进行过滤,过滤完成后,则判断过滤后的指定数据是否符合预设的展示条件。如果符合,则将该指定数据发送至前端;否则,将指定数据库已缓存的指定数据发送至前端,或者通用型数据发送模块将托底数据库中的通用型数据发送至前端。
本发明实施例的数据容灾的系统还包括上游接口确认模块,用于确认上游接口异常,然后指定数据发送模块判断指定数据库中已缓存的指定数据是否为空;如果为空,通用型数据确认无法将指定数据发送至前端,并则将托底数据库中的通用型数据发送至前端,否则指定数据发送模块将指定数据库中已缓存的指定数据发送至前端。
本发明实施例的数据容灾的系统中的指定数据发送模块对从上游接口获取到的指定数据进行过滤,以及判断过滤后的指定数据是否符合预设的展示条件,如果符合预设的展示条件,则将该指定数据发送至前端,并且将该指定数据缓存在指定数据库中。在指定数据发送模块判断过滤后的指定数据不符合预设的展示条件时,则进行判断指定数据库中已缓存的指定数据是否为空,如果不为空,则将指定数据库中已缓存的指定数据发送至前端。如果指定数据库中已缓存的指定数据否为空,则为确认无法将指定数据发送至前端的情况。在确认无法将指定数据发送至前端的情况下,通用型数据发送模块将托底数据库中的通用型数据发送至前端。
如果上游接口出现异常,则指定数据发送模块无法从上游接口获取指定数据,该情况下,如果指定数据库中已缓存的指定数据不为空,则将指定数据库中已缓存的指定数据发送至前端。如果上游接口出现异常且指定数据库中已缓存的指定数据为空,则为确认无法将指定数据发送至前端的情况。在确认无法将指定数据发送至前端的情况下,通用型数据发送模块将托底数据库中的通用型数据发送至前端。
本发明实施例的数据容灾的系统,可通过对通用型数据的缓存和定时更新,进而在前端无法获取到指定数据的情况下,通用型数据发送模块将托底数据库中的通用型数据发送至前端。并且,还可通过指定数据发送模块对指定数据进行过滤,以及判断该指定数据是否符合预设的展示条件,进而保证前端获取到的数据无异常且可正常显示,减少前端逻辑处理,提升页面性能。
图6示出了可以应用本发明实施例的数据容灾的方法或数据容灾的系统的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的数据容灾的方法一般由服务器605执行,相应地,数据容灾的系统一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括通用型数据获取模块、通用型数据替换模块和通用型数据发送模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,通用型数据获取模块还可以被描述为“按照预设的时间周期从上游接口获取通用型数据的模块。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:按照预设的方式对托底数据库中的通用型数据进行更新;确认无法将指定数据发送至前端后,将所述托底数据库中的通用型数据发送至前端。
根据本发明实施例的技术方案,在无法将指定数据发送至前端的情况下,向前端发送的通用型数据为更新的实时数据,不仅保证了用户页面的完整性,还大大了提高用户体验。进而,解决了现有技术中,在上游接口发生异常的情况下,不能为前端提供更新的实时通用型数据的问题。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种数据容灾的方法,其特征在于,包括:
按照预设的时间周期从上游接口获取通用型数据;
将托底数据库中的数据替换为所述通用型数据;
确认无法将指定数据发送至前端后,将所述托底数据库中的通用型数据发送至前端;
在将托底数据库中的数据替换为所述通用型数据之后,还包括:
根据用户唯一标识,从上游接口获取指定数据;
判断所述指定数据是否符合预设的展示条件,若是,将所述指定数据发送至前端;否则判断指定数据库已缓存的指定数据是否为空,如果不为空,则将所述指定数据库中已缓存的指定数据发送至前端;如果为空,则确认无法将指定数据发送至前端,并将托底数据库中的通用型数据发送至前端。
2.根据权利要求1所述的方法,其特征在于,在按照预设的时间周期从上游接口获取通用型数据之后,以及将托底数据库中的数据替换为所述通用型数据之前,还包括:对获取到的通用型数据中的异常数据进行过滤。
3.根据权利要求2所述的方法,其特征在于,将托底数据库中的数据替换为所述通用型数据的步骤包括:
判断过滤后的通用型数据是否符合预设的展示条件;
如果符合,则将托底数据库中的数据替换为所述过滤后的通用型数据。
4.根据权利要求1所述的方法,其特征在于,在判断所述指定数据是否符合预设的展示条件之前,还包括:
对获取到的指定数据中的异常数据进行过滤。
5.根据权利要求1所述的方法,其特征在于,在将托底数据库中的数据替换为所述通用型数据之后,还包括:
确认所述上游接口异常,然后判断所述指定数据库中已缓存的指定数据是否为空;如果为空,确认无法将指定数据发送至前端,并则将托底数据库中的通用型数据发送至前端,否则将所述指定数据库中已缓存的指定数据发送至前端。
6.一种数据容灾的系统,其特征在于,包括:
通用型数据获取模块,用于按照预设的时间周期从上游接口获取通用型数据;
通用型数据替换模块,用于将托底数据库中的数据替换为所述通用型数据;
通用型数据发送模块,用于在确认无法将指定数据发送至前端后,将所述托底数据库中的通用型数据发送至前端;
还包括指定数据发送模块,用于根据用户唯一标识,从上游接口获取指定数据;以及,判断所述指定数据是否符合预设的展示条件,若是,将所述指定数据发送至前端;否则判断指定数据库已缓存的指定数据是否为空,如果不为空,则将所述指定数据库中已缓存的指定数据发送至前端;如果为空,则所述通用型数据发送模块确认无法将指定数据发送至前端,并将托底数据库中的通用型数据发送至前端。
7.根据权利要求6所述的系统,其特征在于,还包括通用型数据过滤模块,用于对获取到的通用型数据中的异常数据进行过滤。
8.根据权利要求7所述的系统,其特征在于,所述通用型数据替换模块还用于判断所述通用型数据过滤模块过滤后的通用型数据是否符合预设的展示条件;如果符合,则将托底数据库中的数据替换为所述过滤后的通用型数据。
9.根据权利要求6所述的系统,其特征在于,所述指定数据发送模块还用于对获取到的指定数据中的异常数据进行过滤。
10.根据权利要求6所述的系统,其特征在于,还包括上游接口确认模块,用于确认所述上游接口异常,然后指定数据发送模块判断所述指定数据库中已缓存的指定数据是否为空;如果为空,所述通用型数据确认无法将指定数据发送至前端,并则将托底数据库中的通用型数据发送至前端,否则指定数据发送模块将所述指定数据库中已缓存的指定数据发送至前端。
11.一种数据容灾的服务器,其特征在于,包括:
一个或多个处理器;
存储系统,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN201710993260.7A 2017-10-23 2017-10-23 一种数据容灾的方法和系统 Active CN107862001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710993260.7A CN107862001B (zh) 2017-10-23 2017-10-23 一种数据容灾的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710993260.7A CN107862001B (zh) 2017-10-23 2017-10-23 一种数据容灾的方法和系统

Publications (2)

Publication Number Publication Date
CN107862001A CN107862001A (zh) 2018-03-30
CN107862001B true CN107862001B (zh) 2021-01-26

Family

ID=61696765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710993260.7A Active CN107862001B (zh) 2017-10-23 2017-10-23 一种数据容灾的方法和系统

Country Status (1)

Country Link
CN (1) CN107862001B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150983B (zh) * 2018-07-27 2022-02-25 腾讯科技(深圳)有限公司 前端显示的控制方法及装置、数据推荐的控制方法及装置
CN110784498B (zh) * 2018-07-31 2022-05-27 阿里巴巴集团控股有限公司 一种个性化数据容灾方法及装置
CN111404754A (zh) * 2020-03-23 2020-07-10 北京九州云动科技有限公司 接口的容灾方法、装置和设备
CN112073492B (zh) * 2020-08-31 2022-12-13 中国平安财产保险股份有限公司 请求执行方法、装置、电子设备及存储介质
CN112437148B (zh) * 2020-11-20 2023-03-07 北京奇艺世纪科技有限公司 业务请求的处理方法、装置、业务服务器及系统
CN115134213B (zh) * 2021-03-25 2023-09-05 中国移动通信集团安徽有限公司 一种容灾方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469301A (zh) * 2015-12-24 2016-04-06 曹晶晶 一种购物方法、系统和用户终端设备
CN107103028A (zh) * 2017-03-03 2017-08-29 北京小度信息科技有限公司 一种信息处理方法及装置
CN107222567A (zh) * 2017-07-07 2017-09-29 北京京东尚科信息技术有限公司 处理数据请求的方法、装置及服务集群

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135460B2 (en) * 2011-12-22 2015-09-15 Microsoft Technology Licensing, Llc Techniques to store secret information for global data centers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469301A (zh) * 2015-12-24 2016-04-06 曹晶晶 一种购物方法、系统和用户终端设备
CN107103028A (zh) * 2017-03-03 2017-08-29 北京小度信息科技有限公司 一种信息处理方法及装置
CN107222567A (zh) * 2017-07-07 2017-09-29 北京京东尚科信息技术有限公司 处理数据请求的方法、装置及服务集群

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
淘宝首页兜底容灾方案;阎王;《http://taobaofed.org/blog/2015/10/28/disaster-recovery-at-taobao-home-page/》;20151031;1-10 *

Also Published As

Publication number Publication date
CN107862001A (zh) 2018-03-30

Similar Documents

Publication Publication Date Title
CN107862001B (zh) 一种数据容灾的方法和系统
US20190166216A1 (en) Information pushing method and device
CN109150929B (zh) 高并发场景下的数据请求处理方法和装置
CN110765208B (zh) 一种数据同步方法、装置、电子设备及存储介质
CN107819745B (zh) 异常流量的防御方法和装置
CN115470432A (zh) 一种页面渲染方法、装置、电子设备及计算机可读介质
CN113378346A (zh) 模型仿真的方法和装置
CN108933823B (zh) 用户触达方法和装置
CN107634942B (zh) 识别恶意请求的方法和装置
CN112688982B (zh) 一种用户请求处理方法和装置
CN111950232B (zh) 一种自动切换号段的方法和装置
CN113822745A (zh) 一种物品展示方法和装置
CN109087097B (zh) 一种更新链码同一标识的方法和装置
CN110909269B (zh) 一种日志上报的方法和装置
CN110659933B (zh) 一种生成余额贴尾推荐内容的方法和装置
CN113722193A (zh) 检测页面异常的方法和装置
CN113132447A (zh) 反向代理的方法和系统
CN107666497B (zh) 数据访问方法和装置
CN110825610A (zh) 一种用于提供测试数据的方法和装置
CN105827580B (zh) 页面访问方法、装置及系统
CN110262756B (zh) 用于缓存数据的方法和装置
CN115495316A (zh) 一种页面历史维护记录的管理方法和装置
CN113778728A (zh) 监控故障的方法、装置、设备和计算机可读介质
CN114896260A (zh) 信息处理方法、装置、电子设备及存储介质
CN112448931A (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