一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法及多源数据引擎与流程

2021-11-24 21:15:00 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,具体涉及一种数据处理方法及多源数据引擎。


背景技术:

2.随着智能化城市进程的不断推进,产生了大量不同数据来源、不同数据结构、不同数据形态的多源数据。例如,在cim(city information modeling,城市信息模型)平台中,会产生gis(geographic information system,地理信息系统)数据、bim(building information modeling,建筑信息模型)数据以及iot(internet of things,物联网)数据等。
3.请参阅图1,这些多源数据可以根据数据类型进行划分,每种类型的数据均可以具备自身的服务网关。当客户端需要访问其中的某个类型的数据时,需要向对应的服务网关发起服务请求,从而通过该服务网关向客户端提供数据。
4.然而,随着数据类型的不断增多,系统中的服务网关数量会逐步增加。这样不仅会给数据管理带来不便,同时对于用户而言,当需要访问不同类型的数据时,就需要切换不同的服务网关,这无疑会降低服务请求的处理效率。
5.鉴于此,为了提高多源数据的查询效率,可以尝试采用统一的数据网关对多源数据进行访问。但是,不同的多源数据通常具备不同的数据格式,在实际应用中很难采用统一的数据网关对不同数据格式的多源数据进行访问,进而导致数据访问的效率较低。


技术实现要素:

6.有鉴于此,本发明实施方式提供了一种数据处理方法及多源数据引擎,能够提高数据的访问效率。
7.本发明一方面提供了一种数据处理方法,所述方法包括:针对待处理的服务对象,在预设数据编目下识别所述服务对象的目录;在所述目录下生成所述服务对象的对象信息,所述对象信息至少用于限定所述服务对象的类型和属性集合;所述属性集合中包括与所述服务对象相关的服务数据;基于所述对象信息创建所述服务对象的对象实例,并更新所述预设数据编目的索引信息。
8.在本技术中,可以通过预设数据编目统一地对服务对象进行管理。针对待处理的服务对象,可以先在预设数据编目下识别对应的目录。在该目录下,可以按照统一格式生成服务对象的对象信息。这样,基于对象信息创建的对象实例,就可以具备相同的数据格式。通过将多源数据转换为统一的数据格式,可以为后续的统一数据网关提供数据基础,进而提高了数据的访问效率。
9.在一个实施方式中,所述预设数据编目中包括按层级划分的多个类目;在预设数据编目下识别所述服务对象的目录包括:按照类目范围从大到小的顺序,在各个类目中分别确定所述服务对象归属的类目实例,并将确定的各个所述类目实例的组合作为所述服务对象的目录。
10.通过在预设数据编目的各个类目中逐一确定类目实例,可以准确地确定出服务对象的目录。
11.在一个实施方式中,在所述目录下生成所述服务对象的对象信息包括:加载指定数据模型,所述指定数据模型中的自定义字段至少包括类型定义字段和属性集合定义字段,并按照所述指定数据模型中的各个所述自定义字段生成所述服务对象的对象信息。
12.按照统一的数据模型生成对象信息,可以确保对象信息具备相同的数据格式。
13.在一个实施方式中,所述方法还包括:为用户设置角色信息,所述角色信息用于表征访问所述对象实例的访问权限。
14.基于访问权限来对数据进行访问,可以提高数据访问的安全性。
15.在一个实施方式中,所述对象实例具备标准路由;所述方法还包括:在接收到客户端发来的服务请求后,若所述服务请求中的路由信息与所述对象实例的标准路由在路径上相匹配,判定所述对象实例为所述服务请求指向的对象实例。
16.针对客户端发来的服务请求中携带的路由信息,可以将该路由信息分别与各个服务实例的标准路由进行路径匹配,从而确定出服务请求对应的服务实例。通过路径匹配的方式来确定服务实例,可以提高服务实例的查询效率。
17.在一个实施方式中,所述服务请求中的路由信息与所述对象实例的标准路由在路径上相匹配包括:将所述服务请求中的路由信息与所述对象实例的标准路由进行路径匹配,以生成所述对象实例相对于所述路由信息的路径长度;若所述路径长度比其它对象实例相对于所述路由信息的路径长度均长,判定所述路由信息与所述对象实例的标准路由在路径上相匹配。
18.在路由信息和标准路由中均可以包含按序排列的一个或者多个路由标识,通过将路由信息和标准路由中的路由标识进行匹配,从而可以确定出各个对象实例相对于路由信息的路径长度。其中,路径长度可以表明路由信息与标准路由之间的适配程度,路径长度最长的对象实例则可以是服务请求实际指向的对象实例。通过对路径长度进行识别,可以准确地得到服务请求对应的对象实例。
19.在一个实施方式中,所述标准路由和所述路由信息中均包括按序排列的一个或者多个路由标识;将所述服务请求中的路由信息与所述对象实例的标准路由进行路径匹配包括:从所述路由信息中的第一个路由标识开始,判断所述路由信息中当前的路由标识与所述标准路由中对应位置处的路由标识是否一致;若一致,更新所述对象实例相对于所述路由信息的路径长度,并继续判断所述路由信息中的下一个路由标识;若不一致,结束所述对象实例的路由标识的匹配过程,并输出所述对象实例相对于所述路由信息的路径长度。
20.在进行路径匹配时,可以将路由信息与候选服务的标准路由中对应位置处的路由标识逐一对比,一旦出现不一致的路由标识,就可以停止匹配过程,并输出对应的路径长度。在与各个对象实例的标准路由均进行对比后,就可以产生各个对象实例的路径长度,从而确保后续查询得到的对象实例的准确度。
21.在一个实施方式中,在基于所述对象信息创建所述服务对象的对象实例之后,所述方法还包括:建立所述对象实例与其它一个或者多个对象实例之间的关联关系;其中,当相关联的多个对象实例中的一个对象实例被访问时,向访问者提供相关联的其它对象实例的实例标识;若所述实例标识被触发,提供被触发的实例标识对应的对象实例的数据。
22.用户只需要对一个对象实例发起访问,那么就可以便捷地获取相关联的其它对象实例的数据,这样无疑会极大地提高用户的访问体验,也提高了服务请求的处理效率。
23.本发明另一方面提供了一种多源数据引擎,所述多源数据引擎包括:目录创建接口,用于针对待处理的服务对象,在预设数据编目下创建所述服务对象的目录;对象类型定义接口,用于在所述目录下生成所述服务对象的对象信息,所述对象信息至少用于限定所述服务对象的类型和属性集合;所述属性集合中包括与所述服务对象相关的服务数据;对象实例创建接口,用于基于所述对象信息创建所述服务对象的对象实例,并更新所述预设数据编目的索引信息。
24.在一个实施方式中,所述多源数据引擎还包括:实例关联接口,用于建立所述对象实例与其它一个或者多个对象实例之间的关联关系;其中,当相关联的多个对象实例中的一个对象实例被访问时,向访问者提供相关联的其它对象实例的实例标识;若所述实例标识被触发,提供被触发的实例标识对应的对象实例的数据。
25.本发明另一方面提供了一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的数据处理方法。
附图说明
26.通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
27.图1示出了现有技术中多源数据的访问过程;
28.图2示出了本发明一个实施方式中统一数据网关所在系统的结构示意图;
29.图3示出了本发明一个实施方式中数据处理方法的步骤示意图;
30.图4示出了本发明一个实施方式中数据处理方法的流程示意图;
31.图5示出了本发明一个实施方式中服务对象的属性集合示意图;
32.图6示出了本发明一个实施方式中服务请求的处理方法步骤示意图;
33.图7示出了本发明一个实施方式中服务请求的处理方法流程示意图;
34.图8示出了本发明一个实施方式中路径匹配的示意图;
35.图9示出了本发明一个实施方式中数据网关的结构示意图。
具体实施方式
36.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
37.本技术提供的服务请求的处理方法,可以应用于图2所示的系统中。如图2所示,该系统内可以包括数据网关、多源数据访问引擎以及数据存储集群。其中,数据网关可以包括路由控制单元、配置中心、认证中心以及服务注册中心。当然,在实际应用中,可以根据需要将其中的一个或者多个组成部分通过集成的方式合并至同一个功能模块中,也可以将其中的一个功能模块拆分为多个组成部分,或者可以根据实际应用场景增加或者删除一个或者
多个功能模块。
38.请参阅图2,路由控制单元可以与认证中心和配置中心协同运作,对客户端发来的服务请求进行路由分析,从而确定出服务请求对应的服务标识,同时还可以对客户端的身份和权限进行认证。
39.多源数据访问引擎可以作为各种服务实例的访问接口。其中,各种服务实例都可以基于指定数据模型进行创建,从而具备相同的数据结构,通过多源数据访问引擎,可以对这些具备相同数据结构的服务实例进行访问,并可以向客户端反馈具备统一数据结构的数据。如图2所示,服务实例可以包括空间数据服务、视频数据服务、文件服务等。
40.服务注册中心可以为服务提供注册过程,从而存储服务标识的注册信息,同时可以记录服务标识与对应的服务实例的映射关系,以便多源数据访问引擎对服务标识和服务实例进行查询。
41.数据存储集群中可以包含多种类型的数据库(例如mysql、redis、mongodb等),通过这些数据库可以存储服务实例的具体数据,这些数据可以由多源数据访问引擎获取,并由多源数据访问引擎提供给客户端。
42.当然,除了以上描述的功能,在实际应用中数据网关还可以对客户端发来的服务请求进行服务监控,通过加载负载配置,可以动态地进行流量控制。
43.在本技术的一个实施方式中,为了便于通过统一的数据网关进行多源数据访问,可以对服务对象的多源数据进行统一编码,从而将服务对象的多源数据转换为具备相同数据结构的数据。
44.具体地,请参阅图3和图4,本技术一个实施方式提供一种数据处理方法,该方法可以包括以下多个步骤。
45.s11:针对待处理的服务对象,在预设数据编目下识别所述服务对象的目录。
46.在本实施方式中,针对不同类型的服务对象,可以采用统一的预设数据编目对服务对象的类型进行归类,同时可以采用统一的数据模型来表示服务对象的数据结构。其中,服务对象可以是现实世界中的物体或者项目。例如,服务对象可以是城市部件、公共事件、楼宇空间、物联网设备等,还可以是摄像头、建设项目、河流、公路等。该预设数据编目中可以包括按层级划分的多个类目。其中,每个类目具备自身的层级范围,通常而言,越上层的类目可以具备越大的层级范围,下层类目的层级范围可以包含于上层类目的层级范围内。举例来说,预设数据编目中可以包括数据门类、数据大类、数据中类、数据小类、数据分组、对象类型等多个类目。其中,每个类目下都可以包含多个类目实例。例如数据门类的类目下,可以包括时空基础数据、资源调查数据、规划管控数据、建筑信息模型、工程建设项目数据、公共专题数据、物联感知数据等类目实例。以时空基础数据为例,请参阅表1,数据大类的类目下,可以包括行政区、电子地图、测绘遥感、三维模型等类目实例;数据中类的类目下,可以包括国家行政区、省级行政区、政务地图、倾斜影像、场地三维模型等众多的类目实例。
47.表1预设数据编目的部分层级结构示意表
[0048][0049]
在本实施方式中,针对待进行数据统一处理的服务对象而言,可以在该预设数据编目下识别该服务对象的目录。具体地,可以按照预设数据编目中各个类目范围从大到小的顺序,在各个类目中确定该服务对象归属的类目实例。例如,对于一个建筑物模型而言,其可以对应时空基础数据、三维模型、建筑三维模型这些类目实例。在确定出服务对象在各个类目中归属的类目实例后,可以将确定的各个类目实例的组合,作为该服务对象在预设数据编目下的目录。当然,各个类目实例可以按照目录的构成规则进行排列,同时还可以在类目实例之间加入所需的区分符号。例如,在目录中,相邻的类目实例之间可以通过“\”来进行区分。
[0050]
在实际应用中,预设数据编目可以通过树结构来表征。例如,预设数据编目可以表示为b 树或者二叉树等数据结构。在对服务对象的目录进行识别时,可以通过树结构中的数据查询规则,以服务对象的对象标识为索引进行查询,从而识别出服务对象在树结构中对应的节点。该节点在树结构中的目录就可以作为服务对象在预设数据编目下的目录。
[0051]
s13:在所述目录下生成所述服务对象的对象信息,所述对象信息至少用于限定所述服务对象的类型和属性集合;所述属性集合中包括与所述服务对象相关的服务数据。
[0052]
在本实施方式中,在确定出服务对象的目录后,可以在该目录下,生成服务对象的对象信息。为了统一对多源数据进行管理,可以基于指定数据模型来生成服务对象的对象信息。
[0053]
在一个具体应用示例中,指定数据模型内可以包括预先设置的多个自定义字段,这些自定义字段可以从不同的角度对服务对象进行描述。例如,这些自定义字段可以包括
对象类型定义字段、属性集合定义字段、对象属性类型定义字段以及对象关系定义字段。其中,对象类型定义字段中可以注明服务对象的类型标识,该类型标识可以由预设数据编目中的对象类型的类目决定。此外,在对象类型定义字段中,还可以根据需要,注明对象的对象标识、描述信息,同时还可以注明服务对象在预设数据编目中的目录等信息。
[0054]
属性集合定义字段中可以包括各个对象属性的子定义字段。其中,对象属性可以从业务维度来描述服务对象。例如,对于建设项目的服务对象而言,它的用地红线是gis(geographic information system,地理信息系统)面状类型的空间数据,那么该空间数据就可以作为建设项目的一个对象属性。同时,建设项目还有不同阶段的三维模型,那么这些三维模型也可以作为建设项目的一个对象属性。此外,建设项目还有对应的建设监管数据,该建设监管数据同样可以作为建设项目的一个对象属性。通常而言,一个对象属性中可能还会包含不同的子属性。例如,建设监管数据的对象属性中,可以包括字符型的项目名称、项目编号、建设单位等子属性,还可以包含数值型的建设规模、用地面积等子属性。
[0055]
在本实施方式中,对于不同的对象属性的子定义字段,可以包含不同的内容。请参阅图5,对于物联网监测设备而言,其对象属性可以包括设备信息(对象属性1)、空间位置信息(对象属性2)以及实时监测指标数据(对象属性3),其中,设备信息的子定义字段中,可以包含设备标识、设备名称、设备描述等内容;空间位置信息的子定义字段中,可以包括项目名称、起始时间戳、终止时间戳、数据量等内容;实时监测指标数据的子定义字段中,可以包括监测时间、设备代码、数据索引等内容。
[0056]
在本实施方式中,对象属性类型定义字段可以用于描述属性集合定义字段。例如,对象属性类型定义字段中,可以描述对象属性的数据类型,还可以描述对象属性的分类等。
[0057]
在本实施方式中,对象关系定义字段可以表征当前的服务对象与其它服务对象之间的关联关系。在该对象关系定义字段中,可以描述相关联的源服务对象和目标服务对象,还可以描述这种关联关系的类型。例如,对于井盖的服务对象而言,对象关系定义字段中可以描述井盖与公路的关联关系,还可以描述当前的井盖与其它井盖之间的关联关系。
[0058]
需要说明的是,以上例举的指定数据模型中的各个自定义字段,只是针对特定应用场景下的一种实现形式而已。在实际应用中,可以根据需要对其中的自定义字段进行增加或者删改。本领域技术人员应当理解,只要是基于指定数据模型对服务对象的数据进行统一管理,都应当属于本技术的技术范围内。
[0059]
在本实施方式中,可以加载指定数据模型,然后按照指定数据模型中包含的各个自定义字段,生成服务对象的对象信息。在该对象信息中,各个自定义字段的内容可以根据服务对象的实际数据进行赋值。这样,不同的服务对象都可以采用相同的数据结构来表示,只是数据结构中各个自定义字段的实际内容有所区别而已。
[0060]
s15:基于所述对象信息创建所述服务对象的对象实例,并更新所述预设数据编目的索引信息。
[0061]
在本实施方式中,在生成了服务对象的对象信息后,便可以根据该对象信息创建服务对象的对象实例。该对象实例的数据结构可以与对象信息保持一致,只不过在对象实例的数据结构中,会包含实际的应用数据。例如,在摄像头的对象实例中,会包含摄像头采集的监控数据,还可以包含对监控数据进行处理后生成的优化数据。例如,可以对摄像头中的监控数据进行人物识别,从而得到标注了人物信息的优化数据。
[0062]
在本实施方式中,生成服务对象的对象实例后,可以将该对象实例的索引信息加入预设数据编目的索引信息中,从而对预设数据编目的索引信息进行更新。后续,便可以基于更新后的预设数据编目的索引信息,查询到对应的对象实例的数据。
[0063]
在实际应用中,预设数据编目的索引信息可以通过b 树、r树等树结构来表示,在创建服务对象的对象实例后,可以将该对象实例的索引信息加入对应的树结构中,从而对预设数据编目的索引信息进行更新。
[0064]
在本技术中,可以通过预设数据编目统一地对服务对象进行管理。针对待处理的服务对象,可以先在预设数据编目下识别对应的目录。在该目录下,可以按照统一格式生成服务对象的对象信息。这样,基于对象信息创建的对象实例,就可以具备相同的数据格式。通过将多源数据转换为统一的数据格式,可以为后续的统一数据网关提供数据基础,进而提高了数据的访问效率。
[0065]
在一个实施方式中,在数据网关的配置中心内,可以存储资源权限的配置信息。该资源权限的配置信息可以针对不同的角色信息,设置不同的数据访问权限。例如,角色信息可以划分为普通用户、重要用户、管理员等,其中,普通用户的数据访问权限可以是“只读”权限,重要用户的数据访问权限可以是“读写”权限,管理员的数据访问权限可以是“读写”和“删除”权限。这样,在为用户设置了角色信息后,便确定了用户访问对象实例的访问权限。后续,当用户发起指向对象实例的服务请求时,可以先判断该用户的访问权限是否能够发起该服务请求,只有当用户的访问权限能够发起该服务请求时,数据网关才会根据服务请求进行后续的数据处理过程。
[0066]
在一个实施方式中,在创建了对象实例后,可以建立该对象实例与其它一个或者多个对象实例之间的关联关系。这种关联关系在创建服务对象的对象信息时,就已经在对象关系定义字段中注明了。基于对象关系定义字段中的内容,可以建立起多个对象实例之间的关联关系。这样处理的目的在于,当相关联的多个对象实例中的一个对象实例被访问时,可以向访问者一并提供相关联的其它对象实例的实例标识。例如,访问者目前针对一条公路上的一个井盖发起了数据访问,那么数据网关可以将这条公路上与该井盖相邻的其它井盖的井盖标识一并提供给访问者。这样,若实例标识被触发,数据网关便可以提供被触发的实例标识对应的对象实例的数据。也就是说,用户只需要对一个对象实例发起访问,那么就可以便捷地获取相关联的其它对象实例的数据,这样无疑会极大地提高用户的访问体验,也提高了服务请求的处理效率。
[0067]
本技术还提供一种多源数据引擎,所述多源数据引擎包括:
[0068]
目录创建接口,用于针对待处理的服务对象,在预设数据编目下创建所述服务对象的目录;
[0069]
对象类型定义接口,用于在所述目录下生成所述服务对象的对象信息,所述对象信息至少用于限定所述服务对象的类型和属性集合;所述属性集合中包括与所述服务对象相关的服务数据;
[0070]
对象实例创建接口,用于基于所述对象信息创建所述服务对象的对象实例,并更新所述预设数据编目的索引信息。
[0071]
在一个实施方式中,所述多源数据引擎还包括:
[0072]
实例关联接口,用于建立所述对象实例与其它一个或者多个对象实例之间的关联
关系;其中,当相关联的多个对象实例中的一个对象实例被访问时,向访问者提供相关联的其它对象实例的实例标识;若所述实例标识被触发,提供被触发的实例标识对应的对象实例的数据。
[0073]
在实际应用中,为了配合统一数据网关的功能,多源数据引擎中可以提供多个不同类型的数据接口,这些数据接口可以包括对象类型定义接口、对象类型实例接口、目录创建接口、关联关系定义接口、实例关联接口等。需要说明的是,随着统一数据网关功能的不断更新,多源数据引擎也可以同步增设更多的数据接口,以上例举的多个数据接口,只是在特定应用场景下所需的数据接口。本领域技术人员在理解了本技术技术精髓的情况下,可以对其中的数据接口进行删减、合并或者增设,但这些方式都应当属于本技术的技术保护范围内。
[0074]
在本实施方式中,每种类型的数据接口下,还可以根据实现的功能,细分出不同的子数据接口,各个子数据接口可以实现多种不同的功能。举例来说,对象类型定义接口中可以包括以下四个不同的子数据接口:
[0075]
创建服务对象的对象类型:post/api/v1/dtgw/objecttypedefs/
[0076]
修改服务对象的对象类型:put/api/v1/dtgw/objecttypedefs/
[0077]
删除服务对象的对象类型:delete/api/v1/dtgw/objecttypedefs/
[0078]
查询服务对象的对象类型:get/api/v1/dtgw/objecttypedefs/
[0079]
同理,其余不同类型的数据接口,也可以实现对应的创建、修改、删除、查询的功能,这里就不再赘述。
[0080]
在实际应用中,上述的各个数据接口,都可以采用restful的接口规范进行设计。经过上述各个数据接口的处理,可以得到具备统一数据模型的服务对象,从而为统一数据网关提供了数据支持。
[0081]
本技术还提供一种多源数据引擎,所述多源数据引擎包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的数据处理方法。
[0082]
本技术还提供一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的数据处理方法。
[0083]
在本技术中,服务对象的多源数据经过上述的处理后,都可以通过统一的数据结构来表示,并且各个服务对象的对象实例可以通过统一的数据编目进行管理和查询。基于此,本技术一个实施方式还提供一种服务请求的处理方法。请参阅图6和图7,该方法可以包括以下多个步骤。
[0084]
s21:接收服务请求,所述服务请求中包含待请求服务的路由信息,对所述路由信息进行路径匹配,以确定所述服务请求对应的服务标识。
[0085]
在本实施方式中,服务请求可以由客户端发送,客户端可以是用户使用的终端设备,或者是终端设备上运行的应用程序。例如,客户端可以是智能手机,也可以是智能手机上运行的浏览器。客户端发来的服务请求中,可以包含待请求服务的路由信息。通常而言,每个服务都可以具备标准路由,该标准路由中可以包括按序排列的一个或者多个路由标识。举例来说,某个服务的标准路由可以表示为/r1/r2/r3/r4,其中,r1至r4分别表示四个不同的路由标识。同理,在服务请求的路由信息中,可以包括按序排列的一个或者多个路由
标识。例如,某个服务请求的路由信息可以表示为/r1/r6。通过将路由信息与标准路由进行路径匹配,可以从众多的服务中确定出服务请求所指向的目标服务。
[0086]
具体地,已经在服务注册中心内注册过的服务都可以作为候选服务,各个候选服务的标准路由可以作为路由配置项存储于配置中心内。路由控制单元在接收到客户端发来的服务请求后,可以从配置中心内读取路由配置项,从而解析出候选服务的标准路由与候选服务的服务标识之间的映射关系。然后,可以将服务请求中的路由信息与各个候选服务的标准路由进行路径匹配,从而将匹配得到的候选服务的服务标识作为服务请求对应的服务标识。
[0087]
在实际应用中,路由控制单元可以识别各个候选服务各自的标准路由,并将路由信息中的各个路由标识按序与标准路由中的路由标识进行匹配,从而生成各个候选服务相对于所述路由信息的路径长度。请参阅图8,以候选服务中的任一目标候选服务而言,可以从路由信息中的第一个路由标识r1开始,判断路由信息中当前的路由标识与目标候选服务的标准路由中对应位置处的路由标识是否一致。例如对于目标候选服务1和目标候选服务2而言,第一个路由标识都与路由信息中的第一个路由标识一致;而对于目标候选服务3和目标候选服务4而言,第一个路由标识与路由信息中的第一个路由标识不一致。
[0088]
针对路由标识一致的情况,可以更新目标候选服务相对于所述路由信息的路径长度,并继续判断路由信息中的下一个路由标识。例如,对于目标候选服务1和目标候选服务2而言,可以将各自相对于路由信息的路径长度都更新为1。然后可以针对路由信息中的下一个路由标识r2进行判断。
[0089]
针对路由标识不一致的情况,可以直接结束目标候选服务的路由标识的匹配过程,并输出该目标候选服务相对于所述路由信息的路径长度。例如对于目标候选服务3和目标候选服务4而言,可以直接结束路由标识的匹配过程,同时输出这两个目标候选服务相对于路由信息的路径长度:0。
[0090]
针对目标候选服务1和目标候选服务2而言,在对下一个路由标识r2进行判断时,由于目标候选服务1的标准路由中已经不具备下一个路由标识,因此也直接结束匹配过程,并输出目标候选服务1对应的路径长度为1;而目标候选服务2的标准路由中下一个路由标识与路由信息中的下一个路由标识r2依然一致,因此可以将目标候选服务2的路径长度更新为2,并继续进行下一个路由标识r21的匹配。可见,目标候选服务2已经不具备下一个路由标识,从而可以结束路由标识的匹配过程,并输出目标候选服务2的路径长度为2。
[0091]
按照上述的方式,针对每个候选服务而言,都可以生成相对于服务请求中的路由信息的路径长度。最终,可以按照最长路径的匹配原则,将路径长度最长的候选服务的服务标识作为服务请求对应的服务标识。也就是说,在图8中,最终可以将目标候选服务2的服务标识作为服务请求对应的服务标识。
[0092]
同理,图8中其它服务请求对应的服务标识也可以如图所示。
[0093]
上述的路径匹配策略,可以预先配置在规则引擎中。动态路由模块可以从规则引擎中加载该路径匹配策略,并按照路径匹配策略对路由信息中的路由标识进行路径匹配。
[0094]
不难发现,就算多个路由信息具备相同的前序路由标识,基于最长路径的原则,最终也可能会路由到不同的服务上。这样就给相同数据资源目录下不同类型的服务提供了更加灵活的路由机制。
[0095]
由上可见,针对客户端发来的服务请求中携带的路由信息,可以将该路由信息分别与各个候选服务的标准路由进行路径匹配,从而确定出服务请求对应的服务标识。通过路径匹配的方式来确定服务标识,可以提高服务标识的查询效率。
[0096]
在路由信息和标准路由中均可以包含按序排列的一个或者多个路由标识,通过将路由信息和标准路由中的路由标识进行匹配,从而可以确定出各个候选服务相对于路由信息的路径长度。其中,路径长度可以表明路由信息与标准路由之间的适配程度,路径长度最长的候选服务则可以是服务请求实际指向的服务。通过对路径长度进行识别,可以准确地得到服务请求对应的服务标识。
[0097]
在进行路径匹配时,可以将路由信息与候选服务的标准路由中对应位置处的路由标识逐一对比,一旦出现不一致的路由标识,就可以停止该候选服务的匹配过程,并输出该候选服务的路径长度。在与各个候选服务的标准路由均进行对比后,就可以产生各个候选服务的路径长度,从而确保后续查询得到的服务标识的准确度。
[0098]
也就是说,在接收到客户端发来的服务请求后,若所述服务请求中的路由信息与所述对象实例的标准路由在路径上相匹配,则可以判定所述对象实例为所述服务请求指向的对象实例。
[0099]
s23:调用多源数据访问引擎,以通过所述多源数据访问引擎查询所述服务标识对应的服务实例;其中,所述服务实例按照指定数据模型进行创建。
[0100]
在本实施方式中,路由控制单元在确定出服务请求对应的服务标识后,可以通过调用多源数据访问引擎,从而将该服务标识传递给多源数据访问引擎。多源数据访问引擎可以从服务注册中心内查询是否具备已注册的该服务标识。如果不具备已注册的该服务标识,可以向客户端反馈访问出错的提示信息。在具备已注册的所述服务标识的情况下,通过服务注册中心,可以在已创建的服务实例中查询所述服务标识对应的服务实例。
[0101]
查询到的服务实例可以是基于前述的指定数据模型进行创建的,该服务实例的具体数据可以按照指定数据模型的数据结构来表示。这样可以保证最终提供给客户端的数据都具备相同的数据格式,从而简化了数据传输的过程,不需要经过额外的格式转换过程。
[0102]
由上可见,在数据网关中可以包含服务注册中心,该服务注册中心可以为服务提供注册过程,并且可以存储服务标识与服务实例的映射关系。这样,多源数据访问引擎可以根据路由分析后的服务标识,从服务注册中心处查询到对应的服务实例。通过服务注册中心对服务进行统一管理,能够提高管理效率和查询效率。
[0103]
s25:从所述服务实例中获取所述服务请求对应的服务数据。
[0104]
在本实施方式中,在查询到服务标识对应的服务实例后,便可以从服务实例中获取服务请求对应的服务数据。例如,该服务请求是为了访问带有人物信息的监控数据,那么可以从与服务实例相关的各项数据中,查询到带有人物信息的监控数据,并将该监控数据反馈给客户端。
[0105]
具体地,服务实例中可以包括多个对象属性集合,这些对象属性集合中可以包括与服务实例相关的多种服务数据。例如对于物联网监测设备而言,其对象属性集合可以包括设备信息集合、空间位置信息集合以及实时监测指标数据集合等。在从服务实例中获取对应的服务数据时,可以解析该服务实例中的各个对象属性集合,并将各个对象属性集合中与服务请求相匹配的服务数据,作为获取的所述服务数据。
[0106]
在一个实施方式中,路由控制单元还可以实现身份认证和权限认证的过程。具体地,认证中心内可以部署认证服务,该认证服务例如可以是oauth2认证服务。路由控制单元在接收到客户端发来的服务请求后,可以与认证中心协同运作,识别该服务请求中二代的认证信息。该认证信息例如可以是账号名和密码,或者可以是表征用户身份的生物特征(例如指纹特征、面容特征、声纹特征等)。在该认证信息认证通过之后,路由控制单元可以向客户端下发访问令牌。后续,客户端可以基于该访问令牌获取后台的服务数据。通过对服务请求中的认证信息进行验证,可以提高数据访问的安全性。
[0107]
在一个实施方式中,路由控制单元还可以对客户端进行鉴权操作。具体地,路由控制单元可以从服务请求中识别客户端的角色信息,并获取与该角色信息相匹配的访问权限。如果服务请求所需的权限在所述访问权限内,则可以对服务请求中的路由信息进行路径匹配。举例来说,如果服务请求所需的权限是对数据进行删除,但是该客户端的角色信息对应的访问权限只是“只读”,那么就可以直接拒绝此次的服务请求,不对其进行路径匹配。只有当服务请求所需的权限符合角色信息的访问权限时,才会对该服务请求中的路由信息进行路径匹配。通过对发起服务请求的用户的角色信息进行识别,从而确定出该用户的访问权限。基于访问权限来对数据进行访问,可以提高数据访问的安全性。
[0108]
请参阅图2,本技术还提供一种服务请求的处理系统,所述系统包括:
[0109]
路由控制单元,用于接收客户端发来的服务请求,所述服务请求中包含待请求服务的路由信息,对所述路由信息进行路径匹配,以确定所述服务请求对应的服务标识;
[0110]
多源数据访问引擎,用于查询所述服务标识对应的服务实例;其中,所述服务实例按照指定数据模型进行创建,以及从所述服务实例中获取所述服务请求对应的服务数据,并向所述客户端提供所述服务数据。
[0111]
请参阅图9,本技术还提供一种数据网关,所述数据网关包括:
[0112]
配置中心,用于存储路由配置项;
[0113]
服务注册中心,用于存储服务标识的注册信息,并记录服务标识与对应的服务实例的映射关系;
[0114]
路由控制单元,用于接收客户端发来的服务请求,所述服务请求中包含待请求服务的路由信息;从所述配置中心内读取所述路由配置项,并根据所述路由配置项对所述路由信息进行路径匹配,以确定所述服务请求对应的服务标识。
[0115]
本技术还提供一种数据网关,所述数据网关包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的服务请求的处理方法。
[0116]
本技术还提供一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的服务请求的处理方法。
[0117]
在本技术中,处理器可以为中央处理器(central processing unit,cpu)。处理器还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0118]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂
态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
[0119]
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0120]
本领域技术人员可以理解,实现上述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施方式的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid

state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
[0121]
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献