一种基于节点服务的异地数据联查系统和方法与流程

文档序号:33045044发布日期:2023-01-24 22:18阅读:40来源:国知局
一种基于节点服务的异地数据联查系统和方法与流程

1.本技术涉及计算机应用的技术领域,尤其是涉及一种基于节点服务的异地数据联查系统和方法。


背景技术:

2.传统的web项目主要针对单一数据源、结构化数据和千万级数据量的业务需求,后台服务对底层存储数据库的查询能很快的返回,不影响用户的体验。随着大数据技术的发展,数据结构、数据源和数据量级都发生了很大的变化,传统的web项目已经无法满足业务需求,会导致查询响应超时,用户体验差。特别的,对于一些省、地市分别独立建设的项目,省级平台想联查地市数据,地市想联查省级数据,对于传统的方式直接查库或者开放接口不安全也不利于管理,还需要重新开发,费时费力。


技术实现要素:

3.针对上述技术问题,本技术提出了一种基于节点服务的异地数据联查系统和方法。
4.第一方面,本技术提出了一种基于节点服务的异地数据联查系统,其包括:
5.应用服务层,所述应用服务层设置有注册中心用于注册异步调用节点服务的服务地址,设置有工具类异步调用节点服务层各种类型数据库查询接口;
6.节点服务层,所述节点服务层集成了对多种类型数据库数据的查询接口,所述节点服务层用于对应用服务层的查询条件进行解析,利用多线程和分页进行并发查询,并将查询结果封装成应用服务层需要的格式返回;
7.异地数据库,用于存储需要联查的地市数据或者省级数据。
8.通过采用上述技术方案,本技术利用节点服务层来转移应用服务层的查询,降低应用服务层的压力,应用服务层能快速的响应,节点服务层将查询到的异地数据库的数据封装返回,应用服务层异步对返回结果进行显示,从而避免了亿级的数据量应用服务查询响应过长,用户体验差,也有可能会导致应用服务查询宕机。
9.优选的,所述节点服务层将节点服务的名称、节点类型、节点url以及地市编码注册到应用服务层的注册中心。
10.优选的,所述多种类型数据库数据包括索引数据库、基础数据库以及图数据库。
11.优选的,所述节点服务设置有周期表、分区表或者分片。
12.优选的,所述应用服务层还用于在注册中心禁用不需要查询的异地数据库对应的节点服务。
13.优选的,所述注册中心还设置有异地数据黑名单。
14.第二方面,本技术还提出了一种基于节点服务的异地数据联查系统,
15.所述方法包括:
16.s1:在应用服务层和异地数据库之间设置节点服务层,所述节点服务层集成了对
多种类型数据库数据的查询接口;
17.s2:在应用服务层设置有注册中心,并将节点服务的名称、节点类型、节点url以及地市编码注册到应用服务层的注册中心;
18.s3:应用服务层异步调用节点服务层的查询接口进行异地数据查询,具体包括:节点服务层对应用服务层的查询条件进行解析,利用多线程和分页进行并发查询,并将查询结果封装成应用服务层需要的格式返回。
19.第三方面,本技术还提出了一种电子设备,包括:
20.一个或多个处理器;
21.存储装置,用于存储一个或多个程序;
22.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面所述的方法。
23.第四方面,本技术还提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第二方面所述的方法。
24.综上所述,本技术至少包括以下有益技术效果:
25.1.本发明提供一种利用节点服务层来降低应用服务负载的方法,可以分担应用服务的查询请求,利用节点服务层来对底层数据库进行数据查询后封装返回,避免了大数据量单一应用服务查询引起服务宕机,同时也能快速的返回结果,避免响应超时用户体验差的问题;
26.2.本发明利用节点服务来转移应用服务的查询,降低应用服务的压力,应用服务能快速的响应,节点服务层将查询到的数据封装返回,应用服务异步对返回结果进行显示,从而避免了亿级的数据量应用服务查询响应过长,用户体验差,也有可能会导致应用服务查询宕机;
27.3.节点服务层可以很好的解决异地数据联查的情况,便于管理,也安全。
附图说明
28.包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本技术的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。附图的元件不一定是相互按照比例的。同样的附图标记指代对应的类似部件。
29.图1是本技术一种基于节点服务的异地数据联查系统的示意图。
30.图2是本技术一个实施例中的节点服务与注册中心的关系示意图。
31.图3是本技术一个实施例中的异地节点与注册中心的关系示意图。
32.图4是本技术一个实施例中的基于节点服务的异地数据联查方法的流程示意图。
33.图5是适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
34.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
35.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
36.图1示出了本技术一种基于节点服务的异地数据联查系统的示意图,参考图1,该系统包括应用服务层101、节点服务层102以及异地数据库103。
37.应用服务层101设置有注册中心用于注册异步调用节点服务的服务地址,还设置有工具类异步调用节点服务层各种类型数据库查询接口。常规的应用服务既主服务会直接对底层数据库数据进行查询,但是当数据量达到亿级查询返回时会给主服务带来压力,负载会增大,甚至可能会导致主服务响应超时或服务宕机。本技术通过对主服务查询进行改造,进行查询转移,用户查询数据时,对查询条件进行封装,异步调取节点服务相应的查询接口,主服务不发起直接查询数据库的操作,快速返回,异步等待节点服务的查询返回,从而达到快速响应,降低查询负载的目的。
38.节点服务层集成了对多种类型数据库数据的查询接口。主服务发起查询时,会对主服务的查询条件进行解析,利用多线程、分页进行并发查询,并将查询结果封装成主服务需要的格式返回,避免一次返回主服务等待时间较长,用户感知不好。
39.另外,节点服务考虑了查询的通用性、代码的复用性,一个节点服务适配了多种数据库的查询接口,只有查询操作代码比较轻量级,产生的负载较小,可以快速、按照类型来进行部署,从而转移查询负载。
40.节点服务为了适应多种类型数据库的查询,定义了相应的查询类型,如索引服务(solr/es库)、基础服务(mongodb库)、图服务(neo4j库)等不同类型来对应不同的数据库查询,从而调取不同的库数据,可以很简便的来区分节点服务的作用,也可以对不同类型的数据建立不同类型的节点服务来均衡负载。另外对于一些有周期性、需要分区、分片的大数据量的数据,也可以通过节点服务来建立周期表、分区表或者分片,并对周期表、分片来进行维护,可以很好的减少其它服务对数据库的相关操作。
41.针对开源的大数据组件、阿里云组件、华为云组件以及腾讯云组件等比较常用的大数据组件,节点服务底层都做了相应的适配,可以很方便的对相关组件进行相应的操作,该节点服务应用场景还是挺广泛的。
42.在一个具体的实施例中,节点服务将节点名称、节点类型、节点url注册到注册中心,应用服务调节点的时候可以通过节点名称来唯一调哪个节点,也可以通过节点类型来调同一类型的相关节点查询的数据,如图2所示。
43.对于不需要查询的库数据,通过在注册中心禁用该节点来停用该节点,从而不再查询该节点相关的库数据。一些新加入的库数据,如果主服务想查询,部署一个节点服务,将该库类型相对应的查询类型、节点名称、节点url注册到注册中心,主服务就可以查到该库的相关数据。
44.对于一些省、地市分别独立建设的项目,省级平台想联查地市数据,地市想联查省级数据,对于传统的方式直接查库或者开放接口不安全也不利于管理,还需要重新开发,费时费力,节点服务层可以很好的解决异地数据联查的情况,便于管理,也安全。
45.在一个具体的实施例中,对于需要联查的异地数据库,可以将对应的节点服务的名称、节点类型即库类型、url以及地市编码注册到主服务的注册中心,主服务就可以联查到相应地市的数据,并不需要多余的开发和适配,同时节点服务有很健全的安全管理方法
对查询进行相应的管理,如图3所示。
46.主服务不再需要联查其它地市数据可以在注册中心禁掉该节点,地市数据不想让其它地市联查,可以将其ip加入黑名单来进行相应的控制。
47.本发明通过节点服务层来集成各种底层存储数据库的数据查询,从而来分担主服务大数据量查询的负载,使得主服务能快速的响应,避免响应超时或者服务宕机,导致用户体验差。同时,对于同类型数据存储地方不同也能通过该节点服务层来达到异地联查,避免重复开发。本发明的通过节点服务层来降低负载的方法,主要是利用节点服务层来转移主服务的查询,降低主服务的压力,主服务能快速的响应,节点服务层将查询到的数据封装返回,主服务异步对返回结果进行显示,从而避免了亿级的数据量主服务查询响应过长,用户体验差,也有可能会导致主服务查询宕机。
48.进一步参考图4,本技术提供了一种基于节点服务的异地数据联查方法的一个实施例,该方法具体包括:
49.s1:在应用服务层和异地数据库之间设置节点服务层,所述节点服务层集成了对多种类型数据库数据的查询接口;
50.s2:在应用服务层设置有注册中心,并将节点服务的名称、节点类型、节点url以及地市编码注册到应用服务层的注册中心;
51.s3:应用服务层异步调用节点服务层的查询接口进行异地数据查询,具体包括:节点服务层对应用服务层的查询条件进行解析,利用多线程和分页进行并发查询,并将查询结果封装成应用服务层需要的格式返回。
52.下面参考图5,其示出了适于用来实现本技术实施例的电子设备的计算机系统200的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
53.如图5所示,计算机系统200包括中央处理单元(cpu)201,其可以根据存储在只读存储器(rom)202中的程序或者从存储部分208加载到随机访问存储器(ram)203中的程序而执行各种适当的动作和处理。在ram 203中,还存储有系统200操作所需的各种程序和数据。cpu 201、rom 202以及ram 203通过总线204彼此相连。输入/输出(i/o)接口205也连接至总线204。
54.以下部件连接至i/o接口205:包括键盘、鼠标等的输入部分206;包括诸如液晶显示器(lcd)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器220也根据需要连接至i/o接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器220上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
55.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(cpu)201执行时,执行本技术的方法中限定的上述功能。
56.作为另一方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行时实现如图1中所示的方法。
57.需要说明的是,本技术所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
58.可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
59.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
60.以上描述了本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
61.在本技术的描述中,需要理解的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。措词

包括’并不排除在权利要求未列出的元件或步骤的存在。元件前面的措词

一’或

一个’并不排除多个这样的元件的存在。在相互不同从属权利要求中记载某些措施的简单事实不表明这些措施的组合不能被用于改进。在权利要求中的任何参考符号不应当被解释为限制范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1