数据资源的获取方法、装置和系统的制作方法_2

文档序号:9581785阅读:来源:国知局
取该业务请求对应的当前资源,以当前流程中选择访问分布式缓存服务器来获取资源数据为例,从当前的分布式缓存服务器获取缓存的资源数据失败的情况下,才选择从远程服务器的远程访问路径来查询得到对应的资源数据。此处需要说明的是,一种可选方案中,在分布式缓存服务器提供的缓存数据不可用的情况下,可以预先配置查询路径信息直接选择远程访问地址来访问远程服务器,从而获取资源,即上述步骤也提供了可以直接访问远程服务器的应用功能,在分布式缓存服务器提供的缓存数据可用时,可以调整配置信息,使得查询路径信息调整为分布式缓存路径。
[0034]此处还需要说明的是,本申请上述步骤中的资源可以指计算机客户端上的业务系统完成数据业务查询请求时,获取资源的数据节点,即当前业务请求可以从分布式缓存服务器或远程服务器的设备中获取到的数据内容。
[0035]由此可知,本申请上述实施例一提供的方案,主要针对资源的访问路径的选择方式提供一种可配置化的建模思路,基于预先配置的查询路径信息和缓存配置信息,实现计算机客户端的动态访问控制,比较现有技术提供的数据集中式管控方法,这种可配置化的选择资源的方案基于可复制类数据的本质,将用于获取数据资源的客户端部署到业务请求的应用端,基于配置信息的描述,使得获取资源的路径可以根据需求进行切换,从而解决了现有技术无法根据客户端的需求来灵活控制资源的请求方式的技术问题,达到成本、性能或风险的最优平衡。
[0036]比较现有的数据集中式架构部署,在用户对应用客户端的访问量和查询量剧增的情况下(例如在电子商务进行促销活动期间,应用端的访问量和查询量会在单位时间内剧增),如果每个用户发出业务请求之后,客户端都从远程访问远程服务器来获取资源,则会造成的当业务请求增加时服务器大规模的部署的成本优化问题,本申请上述实施例提供的一种配置查询路径信息和缓存配置信息的功能,使得将一部分业务请求查询的处理过程分流至缓存服务器,以减缓远程服务器的负担,同时加快了客户端获取资源的效率。同时该思路同样可以适用于其他客户端动态运行时控制设计。
[0037]例如,针对客户端的登录用户需要获取的资源属于更新率很低的数据时(例如,注册用户的基本信息:手机号、地址、账号等),就可以将这些更新率低的资源部署在分布式缓存服务器中,并预先配置查询路径信息为选择分布缓存路径,这样客户端在接收到业务请求获取用户的基本信息时,就可以从分布式缓存中获取。如果分布式缓存服务器发生故障或其他故障,导致无法成功获取资源,则切换至选择远程访问路径来从远程访问服务器中获取资源,从而实现了获取资源的路径可以根据需求进行切换,从而达到成本、性能或风险的最优平衡。
[0038]由此可知,为了更好的实现对部署在客户端的管控,实现最优资源的切换,最优资源并不是一成不变的,而是随着业务场景的变化而变化的,例如,用户的个性化信息是随时变化的,此时最优资源即数据本身,因为对数据采用复制的到缓存的方式,会增加数据一致性的维护成本,缓存命中率低下,适合直接从远程服务器获取,但是某个活动的时,由于同一份数据请求过多,会造成数据单点,通过对查询模式进行切换,能够做到负载转移和成本优化的目的,动态的切换查询路径,无需发布,即可达到最有资源选择的目的。目前该产品已在支付宝公司的数据查询技术中广泛使用,通过配置化的资源选择方案,可以动态的切换查询路径,达到在不同的容量要求、风险控制的情况下,动态的切换资源依赖的目的。
[0039]基于上述描述,进一步分析可知,本申请上述实施例中,步骤S22执行的通过查询路径信息访问分布式缓存服务器或远程服务器,并根据所述缓存配置信息查询得到获取业务请求对应的资源的步骤可以包括如下任意一种运行方式:
[0040]第一种运行方式:在远程访问路径的优先级高于分布缓存路径的情况下,直接选择通过远程访问路径访问远程服务器,获取业务请求对应的资源。
[0041]优选地,上述第一种运行方式提供的直接选择通过远程访问路径访问远程服务器,获取业务请求对应的资源的步骤,可以包括如下实施方案:
[0042]步骤S221,依据远程访问路径发送业务请求至远程服务器。
[0043]步骤S223,远程服务器根据业务请求从配置服务器中获取对应的模型配置信息和查询语句,其中,模型配置信息包括:用于表征业务请求对应的资源类型的领域模型,以及用于表征资源类型对应的资源信息表的数据模型。
[0044]步骤S225,远程服务器根据查询语句和模型配置信息访问数据库,获取业务请求对应的资源。
[0045]本申请上述步骤中的模型配置信息是一种用于描述模型描述配置的内容,其中,可以通过一种公共的语言或方式(如xml)来描述一个包含了“领域模型”以及和底层“数据模型”的内容及他们之间的映射关系,从而使得数据转换、底层不同数据库的适配来说能够使用一致的流程来处理。其中,数据模型是指从持久化或缓存设备中存储和获取数据,物理模型的针对存储和查询需求而设计,领域模型是针对业务需求而设计的内容。
[0046]例如,某一个客户信息对应的领域模型可以包含子模型:客户基本信息、手机信息、地址信息等,此时,该领域模型对应的数据模型可以为:平铺的客户信息表、手机信息表、地址信息表等。根据应用场景的不同,上述数据模型还可以是客户模型、银行卡模型等等,此时客户模型是否支持缓存获取模型,这些是在数据服务对外提供时,根据数据存储的路径预先设置到配置服务器中的,也可以随着存储路径的变化,修改配置,从而支持最优资源的选择。
[0047]第二种运行方式:在分布缓存路径的优先级高于远程访问路径的情况下,优先选择通过分布缓存路径访问分布式缓存服务器,来获取业务请求对应的资源,在提取分布缓存路径失败的情况下,切换至选择远程访问路径访问分布式缓存服务器,来获取业务请求对应的资源。
[0048]上述第二种运行方式提供了基于动态配置的方式实现客户端获取资源路径的切换,对数据获取的资源切换配置进行了统一抽象和建模,对配置的设计方式进行描述和保护。
[0049]结合图3可知,上述方案可以通过在配置服务器上预先配置查询路径信息的方式,来实现维护资源选取路径,对资源做统一维护。
[0050]可以采用xml语言对配置信息进行描述,并将配置文件集成在配置服务器的系统中,通过客户端读取和拉取配置服务器上文件的方式来获取配置信息,并通过开关设计来切换不同的配置。
[0051]远程服务器(QuerLServer,相对业务数据的服务器来说,会通过一次网络调用,称之为远程服务器)获取数据,会选择数据库来获取数据,为了使得查询过程归一化,而减少领域模型、数据模型以及数据存储设备适配的转换过程(配置服务器与搜索服务器交互目的,获取一次后,会缓存在远程服务器内存中,避免多次获取),通过从配置服务器获取“模型描述配置”,完成数据的获取。
[0052]此处需要说明的是,本申请提供的一种可选实施例中,在执行步骤S22实现的通过查询路径信息选择访问分布式缓存服务器或远程服务器之前,还可以执行如下方案:
[0053]结合图3可知,在配置服务器中配置查询路径信息和缓存配置信息,其中,在查询路径信息为分布式缓存路径的情况下,通过缓存配置信息对业务请求中的查询标识进行缓存对象关键词包装,生成业务请求对应的查询关键词,其中,缓存服务器根据查询关键词查询得到业务请求对应的资源。
[0054]上述方案中的缓存配置信息的作用是:在查询路径信息中,如果配置的是选择分布式缓存路径时,即当前是“缓存查询”模式,则资源是通过选择访问分布式缓存服务器而获取到的,该缓存配置信息主要用来包装业务请求中携带的参数,使得客户端可以灵活的从“分布式资源”中获取数据,无需客户端理解分布式缓存中数据获取数据逻辑。其中,缓存配置信息可以包括:缓存前缀和缓存名称。
[0055]例如,当前业务请求,输入的查询标识为用户ID标识:00001,在选择分布式缓存服务器根据该用户ID获取用户数据时,需要对该用户ID标识进行缓存对象key包装,包装过程为:从缓存配置信息中获取缓存前缀和缓存名称,组装得到的查询关键词key可以为USERID-0001。
[0056]另外,当前业务请求,输入的查询标识为银行卡ID标识:00001,在选择分布式缓存服务器根据该银行卡ID获取银行卡数据时,需要对该银行卡ID标识进行缓存对象key包装,包装过程为:从缓存配置信息中获取缓存前缀和缓存名称,组装得到的查询关键词key 可以为 BANKCARDID-0001。
[0057]此处需要说明的是,结合图3可知,本申请上述方案提供的查询过程中,客户端需要获取数据模型以及获取该数据模型的资源类型的查询语句MQL (Model Query Language,模型查询语言),这种描述类似SQL的描述,例如,该配置的模型查询语句为:SeleCtUserid, Name From Customer ID Userid =’ 111’Mode Cache,该配置描述了获取数据、数据模型及获取数据模型的模式,其中,“Select”、“Fr0m”、“ID”和“Mode”为配置关键字。
[0058]优选地,本申请上述实施例中,在执行步骤S22通过查询路径信息选择访问分布式缓存服务器或远程服务器,并根据缓存配置信息查询得到该业务请求对应的资源之前,还可以执行如下步骤:
[0059]步骤S211,从配置服务器获取缓存配置信息。
[0060]步骤S213,通过访问数据库获取到缓存配置信息对应的资源。
[0061]步骤S215,并将缓存配置信息及其对应的资源组装成客户模型
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1