发明内容
本发明实施例提供一种时空大数据服务系统,能够对不同来源的时空数据进行数据提取并对外提供各种应用服务。
本发明实施例提供了一种时空大数据服务系统,包括数据处理系统和应用服务系统;所述数据处理系统包括:数据接入模块以及数据提取模块;所述应用服务系统包括:API网关模块、服务审批模块以及若干微服务模块;其中,不同的微服务模块,用于向用户提供不同的微服务功能;
所述数据接入模块,用于在判断所述待接入数据为存储在数据库内的数据时,根据所述待接入数据所在的数据库的名称接入所述待接入数据;在判断所述待接入数据为以文件方式存储的数据时,通过FTP服务器进行文件摆渡接入所述待接入数据;在判断所述待接入数据为实时数据流时,通过Kafka主题推送接入所述待接入数据;
所述数据提取模块,用于对包含时空属性的已接入数据进行提取,生成已提取数据,以使开发者根据所述已提取数据构建各所述微服务模块;
所述服务审批模块,用于在接收用户的微服务调用请求时生成审批信息,以使管理人员根据所述审批信息进行调用请求审批,并在接收审批通过指令时生成与访问许可密钥;
所述API网关模块,用于接收访问许可密钥并对所述访问许可密钥进行解析,继而在解析成功后调用与所述访问许可密钥对应的第一微服务模块,向所述用户提供对应的微服务功能。
进一步的,所述数据处理系统,还包括数据接入监测模块;
所述数据接入监测模块,用于获取各所述待接入数据所在数据源的地址信息并实时计算各所述数据源的数据接入总量以及数据接入速率,继而根据各所述数据源的地址信息、各所述数据源的数据接入总量以及各所述数据源的数据接入速率,生成可视化数据地图;其中,所述可视化数据地图用于展示各所述数据源所在的行政区划、各数据源的数据接入总量以及数据接入速率。
进一步的,所述数据处理系统还包括:数据对账模块;所述数据对账模块,用于根据待对账数据的数据条数、数据容量以及数据生成时间生成数据账单。
进一步的,所述数据处理系统还包括:数据清洗模块;所述数据清洗模块,用于对所述已提取数据进行数据过滤、数据去重、格式转换以及坐标转换,生成已清洗数据。
进一步的,所述数据过滤具体包括:
获取预设的数据过滤规则列表;其中,所述数据过滤规则列表中设置有需要进行过滤的数据的字段状态;
获取待过滤数据,继而判断所述待过滤数据的字段状态是否与所述数据过滤规则列表中的字段状态是否一致,若是则将所述待过滤数据进行过滤。
进一步的,所述格式转换具体包括:
获取预设的格式转换字典,继而根据所述格式转换字典对待转换数据进行格式转换。
进一步的,所述坐标转换具体包括:通过七参法对数据进行坐标转换。
通过实施本发明实施例具有如下有益效果:
本发明实施例提供了一种时空大数据服务系统,该系统包括数据处理系统和应用服务系统;数据处理系统包括:数据接入模块以及数据提取模块;应用服务系统包括:API网关模块、服务审批模块以及若干微服务模块;其中,不同的微服务模块,用于向用户提供不同的微服务功能;数据接入模块在接入数据时对待接入数据的类型进行判断,如果是外部数据库存储的数据则以数据库抽取的方式直接接入数据,如果是以文件方式存储的数据,则通过FTP服务器进行文件摆渡,来接入数据,如果是实时的数据流,则通过Kafka主题推送的方式接入数据,,紧接着通过数据提取模型从已接入数据中提取包含时空属性的数据进行提取,最终实现了从对多种不同来源的数据进行提取的目的,此外上述时空大数据服务系统,还设置若干在上述提取的数据的基础上所构建的微服务模块,由各个微服务模块向用户提供微服务,解决了基于所采集的时空大数据对外提供各类应用服务的问题,此外还设定了设置服务审批模块进行服务调用的审批,并通过API网关模块屏蔽各微服务模块直接对外的路径,用户发起服务调用请求并通过服务审批模块审批通过后,获得需要调用的微服务模块的访问许可密钥,然后通过访问许可密钥经由API网关模块调用所需要的微服务模块,从而获得所需的微服务,保障了微服务调用的安全性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一实施例提供了一种时空大数据服务系统,包括:数据处理系统和应用服务系统;数据处理系统包括:数据接入模块以及数据提取模块;应用服务系统包括:API网关模块、服务审批模块以及若干微服务模块;其中,不同的微服务模块,用于向用户提供不同的微服务功能;
数据接入模块,用于在判断待接入数据为存储在数据库内的数据时,根据待接入数据所在的数据库的名称接入待接入数据;在判断待接入数据为以文件方式存储的数据时,通过FTP服务器进行文件摆渡接入待接入数据;在判断待接入数据为实时数据流时,通过Kafka主题推送接入待接入数据;
数据提取模块,用于对包含时空属性的已接入数据进行提取,生成已提取数据,以使开发者根据已提取数据构建各微服务模块;
服务审批模块,用于在接收用户的微服务调用请求时生成审批信息,以使管理人员根据审批信息进行调用请求审批,并在接收审批通过指令时生成与访问许可密钥;
API网关模块,用于接收访问许可密钥并对访问许可密钥进行解析,继而在解析成功后调用与访问许可密钥对应的第一微服务模块,向用户提供对应的微服务功能。
在上述方案中通过数据接入模块和数据提取模块实现对多种不同来源的时空数据的提取,并在系统中涉及过中不同的微服务模块,用于向用户提供应用服务功能。此外通过设置服务审批模块和API网关模块保证了微服务调用的安全性。
需要说明的是上述“微服务”在本领域指在微服务架构下将应用程序构造为一组松散耦合的服务,例如地址匹配服务等;上述微服务模块可以理解为能够实现某一功能的API接口模块。上述“包含时空属性的已接入数据”指的是通过上述数据接入模块接入的同时具备时间属性和空间的数据。
在一个优选的实施例中,数据处理系统,还包括数据接入监测模块;数据接入监测模块,用于获取各待接入数据所在数据源的地址信息并实时计算各数据源的数据接入总量以及数据接入速率,继而根据各数据源的地址信息、各数据源的数据接入总量以及各数据源的数据接入速率,生成可视化数据地图;其中,可视化数据地图用于展示各数据源所在的行政区划、各数据源的数据接入总量以及数据接入速率。在这一实施例中,对各个不同数据源数据的数据接入情况进行监测,实施统计各个数据源的数据接入总量和数据接入速率,然后根据各数据源的地址信息,将各数据源的数据接入总量和数据接入速率以可视化图标的方式,叠加在现有的形成区划地图的对应位置,生成上述可视化数据地图,通过所生成的可视化数据地图能够清楚的获悉各个数据源的分布情况以及各数据源数据的接入状态。
在一个优选的实施例中,数据处理系统还包括:数据对账模块;数据对账模块,用于根据待对账数据的数据条数、数据容量以及数据生成时间生成数据账单。具体的,根据数据的数据条数、数据容量以及数据生成时间设定对应的价格计算标准,生成数据进行账单定义设置账单模板,可直接通过Excel表格的方式将需要对账的数据导入到对账模块中,从而达到快速集成新的账单的能力。
在一个优选的实施例中,数据处理系统还包括:数据清洗模块;数据清洗模块,用于对已提取数据进行数据过滤、数据去重、格式转换以及坐标转换,生成已清洗数据。
优选的数据过滤具体包括:获取预设的数据过滤规则列表;其中,数据过滤规则列表中设置有需要进行过滤的数据的字段状态;获取待过滤数据,继而判断待过滤数据的字段状态是否与数据过滤规则列表中的字段状态是否一致,若是则将待过滤数据进行过滤。例如数据过滤规则列表中定义了地址数据的字段状态为空时需要被过滤,那么待过滤的数据为地址类数据且字段为空时则将其过滤。
在一个优选的实施例中,格式转换具体包括:获取预设的格式转换字典,继而根据格式转换字典对待转换数据进行格式转换。优选的坐标转换具体包括:通过七参法对数据进行坐标转换。
为更好的说明本发明所公开的时空大数据服务系统,以下进行详细的说明:
对于本发明所提供的数据处理系统,除了上述的数据接入模块、数据提取模块、数据接入监测模块、数据对账模块、数据清洗模块之前,还包括数据探查模块、数据关联模块、数据比对模块、数据标签模块以及数据组织模块;
数据接入模块针对数据类型或格式的不同采用不同的数据接入方法。数据库存储方式的时空数据可通过数据库抽取的方式进行。接入模块支持MySQL、Oracle、Postgresql、Mongodb、Microsoft SQLServer、DB2七种主流关系型数据库。接入模块配置好数据源和目标库后,并配置好数据更新策略,如一天一更或一分钟一更等方式进行数据同步。文件方式存储的时空数据,如影像、三维模型、矢量格式数据等则通过接入系统的文件摆渡模块完成。文件摆渡模块是采用FTP协议,支持根据FTP账号主动向目标FTP服务器目录推送数据,同时也支持目标FTP服务器直接从源数据目录下摆渡。实时数据流类时空数据通过大数据组件Kafka主题推送方式接入,数据延迟低,Kafka数据可将接入的实时流数据及时提供给出去。
数据探查模块,用于对接入的数据的内容、背景、结构、成分、业务规则、数据关系、数据依赖进行探查分析,从源头了解数据源提供是否稳定,以及数据的整体质量和可用性评价,形成数据清单。可用的数据可进入数据获取工序,不可用的则结束流程或回到数据接入步骤,检查数据源配置信息等是否存在问题,若存在问题则进行纠正后重新探查数据。
接入监测模块,用于对接入的数据探查后认为的数据,采用任务调度的方式常态化进行数据迁移工作,并通过可视化界面直观展示数据资源获取的情况,监控各个任务调度执行情况,失败的任务自动重新执行或人为干预,保障数据准确快速迁移到目标库。可视化的数据地图是在叠加行政区划界线的地图上直观展示各个行政辖区内数据资源已获取的总量、数据密度分布特征等,方便实施运维人员精细化管理数据获取工作。
数据提取模块,主要提取的是地图、地址、位置、资源等富含时空意义的数据。比如物联感知设备一般有北斗等定位模块,可以记录感知设备的经纬度信息;再比如物流信息,一般包括具有地理位置意义的寄递地址。提取工作全部通过可配置数据提取模块进行自动化操作,即预先配置好后,直接提取出经纬度坐标、标准地址、户籍地址、设备位置等时空数据。
数据清洗模块主要是对海量源数据进行自动地、快速地扫描和分析,自动对提取的数据字段、表关联进行分析,快速定位异常、无效数据并剔除掉。数据清洗包括无效数据过滤、数据去重、格式转换、坐标转换几部分工作。
无效数据过滤是预先定义清洗规则根据清洗规则列表进行过滤操作。
数据去重是因为提取的数据经常存在重复的情况,如果全部组织管理起来价值比较低,且经常会占用极大的存储空间。比如标准地址类数据,一模一样的地址入库对后续的地址匹配等作业不仅没有价值,反而对地址匹配工作产生不利影响。再比如北斗定位数据、车载定位数据、互联网移动应用产生的位置数据等,这些设备经常是持续采集数据,这就导致一个设备长时间在某个地点时会采集到除了时间不同、经纬度几乎无偏差的多条数据,对于这一类数据去重方法是根据数据类型不同设置去重时间间隔,并兼顾轨迹的完整性采用开始、结束、状态描述的方法进行去重。比如一个车载设备停在一个地方3个小时,则保留开始停在这个地方的第一条数据和离开这个地方的最后一条数据,并增添一条这个时间间隔的滞留等状态信息。这类数据经过去重,数据规模往往缩小到原来的10%左右。
格式转换主要是根据时空大数据服务平台相关标准规范对数据进行格式转换和翻译的过程。转换根据标准规范建立格式转换字典,然后将需要转化的数据根据字典进行格式转换并入库到数据库中。坐标转换主要用于源数据采用的坐标系统和本系统所采用的坐标系统不一致的数据进行处理。本时空大数据服务系统根据国家有关要求全部采用2000国家大地坐标系,而GPS采集等来源数据可能是WGS84坐标系;互联网来源的可能是百度、腾讯、高德自定义的坐标系或进行过坐标加密处理,因此需要进行坐标转换。优选的采用七参法坐标转换。
数据关联模块,主要是从大体量的时空数据中挖掘出各个数据项关系较为密切的数据,方便对数据进行分类、表合并等。为了维护地址数据,定义了地址元素,如金鹏大厦就是一个地址元素,而金鹏大厦作为地址元素和金鹏大厦这个建筑所在标准地址进行关联意义重大。例如检索一个地址的时候,输入的往往不是门楼牌号,而是简称,实现快速检索对应地址信息地址元素关联的意义就凸显出来了。具体采用实时计算组件Spark进行关联分析,主要包括采样、聚合运算、关联三个环节。
数据比对模块,是将所提取的数据与预设的数据集进行扫描核对,命中则记录下来形成新的数据集,起到针对性过滤和数据监控作用。数据扫描采用离线分析方式,可以从每天凌晨一点到凌晨六点对前一天的数据进行全量扫描,并与预设的目标数据集核对,比对命中则将对应数据入库到新数据集中存储下载,以备后续使用。针对做了数据订阅的用户做数据推送。
数据标签主要是基于标签规则,利用标签计算引擎对数据进行分析、计算,并对其打上标签,为上层业务提供支撑能力。标签工作一般在数据处理过程中实时处理,而针对对象标签,一般是在数据入库后通过离线计算处理。标签主要分为数据标签、轨迹标签、行为标签、质量标签。数据标签是对数据本身属性的一种打标签处理工作,平台支持根据指定字段进行打标签工作,如“广东人”,即对人员表标识省级行政辖区的字段进行打标签。轨迹标签主要是记录时空要素的轨迹信息,形成轨迹主题库。行为标签主要是针对人、车等时空要素的行为进行分析,设定一定的规则,给负责规则的要素打上多个行为标签,如“爱逛街”、“经常高消费”、“常闯红灯车”等。打标签前需要设定主题,即针对性的构建分析模型进行数据标签分析。质量标签主要是对数据本身的质量进行打标签工作。质量分为不合格、合格、良、优四个等级,根据问题数据所占分析数据的比例输出各个等级,问题比例小于等于0.01%的数据定义为优;问题比例小于等于0.05%的质量为良;问题比例小于等于0.1%的定义为合格;其它数据质量情况则定义为不合格。
数据组织模块主要是对所提取的数据进行分离存储,本发明从分布式空间库加索引数据库的典型方案扩展成大对莫并行处理库、列数据库、图数据库、空间数据库、分布式文件系统、索引数据库、分布式缓存库、关系型数据库等多数据库融合的时空数据组织方案。融合各类数据库的优点,对业务的扩展和行业应用应对更加从容。比如构建时空大数据的知识库,适用空间数据库和索引数据库就难以胜任;此时适用图数据库,将点和边存储在里面,则可以更有效的提供时空关系知识服务。通过构建数据汇聚库、时空主题库、数据标准库、业务专题库、时空知识库、基础空间库等,各类型的数据库对采集到的数据进行分类存储。数据汇聚库主要存储采集到的原始数据,数据标准库是存储经过标准化处理后的数据(例如经历过数据清洗后的数据),时空主题库是面向部分通用的时空类数据做的一个主题,如人口主题库等,业务专题库是面向粗粒度的业务方面建立的专题库,智慧教育专题库,时空知识库存储挖掘分析出的时空关系数据,基础空间库则对三维地图、倾斜摄影、矢量图层等基础空间数据进行存储管理。
紧接着是本发明所提供的时空大数据服务系统中的应用服务系统:应用服务系统包括用于向用户提供不同的微服务功能的若干微服务模块、API网关模块以及服务审批模块。
本发明基于组织好的时空数据进行服务开发,比如典型的地图、地址、位置服务,通用的数据资源服务等。时空服务开发采用微服务技术,面向不同业务切面进行基于SpinrgCloud微服务开发,可以根据需要在服务平台中添加新的微服务,也方便对单个微服务进行热部署或维护,提高了业务扩展能力。
服务开发原则如下:
1、原子化。服务粒度尽可能小,结构简单、功能单一,提高组合多个服务形成丰富的聚合服务的可能性和灵活性。
2、标准化。地理相关服务遵循OGC标准(开放地理空间信息联盟(Open GeospatialConsortium)),其他类服务采用统一的基于http/https协议的restful风格服务。
3、自主和自治性。一个服务或一类服务,如地址匹配服务、地址空间查询服务、地址批量匹配服务、地址智能提示服务等,它们涉及的数据源我们放在了同一个业务专题库中,数据做到相对集中;服务包采用内置tomcat的微服务jar包,和其他服务做到解耦。
首先创建微服务。面向数据源创建一系列微服务生成微服务模块,微服务的粒度要和时空大数据服务平台使用范围和业务本身相适应。
其次将各微服务注册到服务注册中心。为了便于服务消费方快速发现服务,服务提供者采用面向服务架构,开发的所有微服务均需注册到注册中心,服务消费方从注册中心发现所需服务。
再次基于文件服务器构建配置中心,对各个微服务的yml、xml、propertity等配置文件进行管理,方便运维保障人员快速实施。
紧接着开发API网关模块屏蔽微服务直接对外的路径,如基于springcloud技术的springcloud gateway对原生服务进行代理,提高时空大数据服务平台的安全性。将API网关应用包集成Feign组件,对客户端应用请求进行负载均衡和服务路由,根据原生服务的健康状况,采用最短响应时间策略返回响应速度最快的对应服务。与其同时使用Sleuth和Kipkin技术进行服务链路追踪,便于定位因为原生服务之间的相互调用或依赖导致出现的故障原因。并使用ELK(Elastic、Logstash、Kibana)开源技术方案进行大体量日志存储,包括接口服务调用日志、用户操作行为日志、应用包运行系统日志等。
此外还设置了服务审批模块对服务进行分级分类授权式管理。服务清单通过统一资源服务目录面向潜在使用用户公开,用户使用时空服务前需要进行申请。管理员用户审批通过后计算出服务调用访问许可密钥,用户通过访问许可密钥方可调用所申请的服务。
最后还设置有运维监控模块,通过运维监控模块对服务调用进行实时监控与运维,方便统计服务调用情况,并对服务异常实时短信、邮件、APP推送预警。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。