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

一种空间数据分布式质检方法及系统与流程

2022-10-13 06:04:06 来源:中国专利 TAG:


1.本发明涉及地理信息数据处理领域,尤其涉及一种空间数据分布式质检方法及系统。


背景技术:

2.在地理信息系统中,无论是调查还是规划的数据成果,都必须经过质检之后才能应用于实际业务中,比如卫片巡查、项目审批等。
3.然而,在省级或市级接收的汇交数据量大,进而导致质检时间紧,质检规则多。目前传统的技术方案通常采用客户端桌面质检软件进行质检,对质检数据集中汇交的情况缺少先进的技术处理手段,经常采用加人、堆硬件的方式应对。
4.下面介绍两种传统的空间数据质检步骤。
5.传统方式一:(1)接收县级汇交的质检成果包,存放到服务器磁盘;(2)质检负责单位组织分派多人参与质检工作;(3)每人按区县领取对应的质检成果包;(4)质检员使用桌面质检软件进行质检方案配置;(5)质检员使用桌面质检软件加载质检包进行检查,应用程序在单个工作进程利用主线程进行质检,质检任务按顺序执行,最后输出质检报告。
6.传统方式二:(1)接收县级汇交的质检成果包;(2)质检员使用桌面质检软件进行质检方案配置;(3)质检员使用桌面质检软件批量勾选需要进行检查的质检成果包;(4)质检软件按顺序对质检成果包进行质检,应用程序多开线程,对质检任务进行并行质检;总的来说,传统的质检步骤基本一致,区别仅在于单线程或多线程。
7.传统方案的缺陷是:(1)人工成本大问题:需要组织多名具有相关专业知识的人员参与质检工作,人工成本大,对于组织协同方面耗费的精力多;(2)质检过程耗时长问题:质检任务执行时,没有考虑质检任务的编排,对硬件资源利用率比较低,多线程之间的调度开销比较大,对于具备互斥性的质检任务,无法并行执行,这些缺点将导致完成所有质检成果包耗时比较长。
8.(3)资源利用率低问题:单进程无法有效利用现在电脑的多核特性,cpu、内存等资源的利用率较低;(4)容错率低问题:由于所有质检任务都是在单个进程内进行执行,如果某些执行质检任务的线程异常会导致应用程序异常,进而导致整个工作进程崩溃,需要重新启动软件进行再次质检;
(5)架构升级难问题:桌面软件的技术架构无法有效与分布式存储技术、分布式调度技术结合,难以快速处理大量数据的计算分析场景,技术架构升级难,扩展性差;(6)数据安全问题:数据统一存放到服务器磁盘,安全性差,存储方式缺少备份机制,容错机制。


技术实现要素:

9.有鉴于此,针对目前传统质检方法存在的各种技术问题,本发明提供一种空间数据分布式质检方法,具体包括以下步骤:s1:质检规则耗时评估;加载样例数据,对于质检方案中的每条质检规则进行规则耗时等级评估,得到质检规则耗时评估信息;s2:数据收集;接收成果包,对每个质检成果包中的数据进行统计信息收集,得到质检成果包数据统计信息;s3:生成质检任务;根据质检方案、质检规则耗时评估信息、质检成果包数据统计信息生成质检任务池;s4:任务调度;启动质检调度引擎,对质检任务池中的质检任务根据调度算法调度到质检节点上进行检查,得到质检成果包;s5、按质检成果包输出质检报告。
10.进一步地,步骤s1中所述质检规则耗时评估信息包括:每条质检规则的耗时等级和质检规则的互斥性。
11.进一步地,步骤s2中质检成果包数据统计信息包括:数据项名称、类型、数据量等级和字段信息。
12.进一步地,步骤s3所述质检任务池中,按质检任务的总质检规则耗时等级对所有质检任务进行降序排序。
13.进一步地,步骤s4具体如下:s41、从质检任务池获取质检任务;s42、通过监控引擎获取质检节点信息,获取一个可用质检节点;s43、判断该节点是否存在与该任务互斥的质检任务;如果存在,则执行步骤s44,否则执行步骤s45;s44、获取下一个可用质检节点;如果所有节点都存在该与质检任务的互斥质检任务,则将该质检任务与其后面的质检任务互换;s45、将该质检任务调度到获取的可用质检节点上;s45、判断该可用质检节点上是否存在质检任务对应的质检成果包数据统计信息;s46、如果不存在,则从分布式数据存储下载对应的质检成果包数据,并缓存到本地临时目录;s47、如果存在,启动质检进程直接加载质检任务关联的数据项到内存;s48、执行该质检任务;s49、将质检结果返回给调度节点保存到质检业务库。
14.进一步地,所述质检规则耗时等级计算公式如下:r=math.ceil(t/p)
t=σti/n其中,n表示对该项质检规则的检查次数,ti表示第i次抽查时该项质检规则的耗时时间;t表示该项质检规则平均耗时;p为预设的一个区间值;math.ceil()表示向上取整。
15.进一步地,所述质检任务的总质检规则耗时等级计算公式如下:c=r*d其中,d表示所述数据量等级。
16.进一步地,所述数据量等级的计算公式如下:d=math.ceil(s/a)s为数据量总量;a为预设的另一个区间值。
17.一种空间数据分布式质检系统,包括:质检规则耗时评估单元:加载样例数据,对于质检方案中的每条质检规则进行规则耗时等级评估,得到质检规则耗时评估信息;数据收集单元:接收成果包,对每个质检成果包中的数据进行统计信息收集,得到质检成果包数据统计信息;质检任务生成单元:根据质检方案、质检规则耗时评估信息、质检成果包数据统计信息生成质检任务池;任务调度单元:启动质检调度引擎,对质检任务池中的质检任务根据调度算法采用分布式调度到质检节点上进行检查,得到质检成果包;成果输出单元:按质检成果包输出质检报告。
18.本发明提供的有益效果是:适用于大量质检汇交成果包的检查工作,能够减少人工介入的工作量,减少质检的时间,提高质检效率,自动输出质检报告。
附图说明
19.图1是本发明方法流程示意图;图2是质检调度流程示意图;图3是多线程方式与本技术分布式方式对比示意图;图4是质检系统架构示意图。
具体实施方式
20.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
21.请参考图1,图1是本发明方法的流程图;本发明提供的一种空间数据分布式质检方法及系统,方法具体包括以下步骤:s1:质检规则耗时评估;加载样例数据,对于质检方案中的每条质检规则进行规则耗时等级评估,得到质检规则耗时评估信息;需要说明的是,步骤s1中所述质检规则耗时评估信息包括:每条质检规则的耗时等级和质检规则的互斥性。
22.需要说明的是,步骤s1具体如下:
步骤s11、制作样例数据。
23.需要说明的是,质检规则耗时等级评估需要使用样本数据,为了保障评估的可靠性,需要保证样本数据具有代表性、通用性。
24.首先,样本/例数据中的数据类型应该涵盖质检方案涉及的所有数据类型,这样才能保证所有的质检规则都能使用对应的样本数据进行重复试验。
25.其次,样本数据的数据量应该合适,以保证质检逻辑执行过程能忽略数据加载到内存的时间,另外数据不能太大,避免内存溢出等程序异常发生。
26.在本技术中,样本数据主要考虑包括图层、表格两类数据;在一些其它实施例中,也可包含其它类型的数据,这里仅作示意性说明,不用以限定。
27.步骤s12、使用质检评估工具加载质检方案、样例数据;需要说明的时,本技术中,采用的质检评估工具为质检系统中的一个功能插件。
28.步骤s13、设置试验次数。
29.需要说明的是,试验次数越多,得到的评估值会越精确;但评估时间相对会变长,在实际使用时,根据实际情况进行设置。
30.步骤s14、按试验次数,对样例数据重复进行质检,记录每次试验每条质检规则的耗时。试验机器要求性能稳定,环境干净,试验时要求试验机器没有运行其他高负载的应用程序;步骤s15、汇总质检规则的耗时时间,计算每条质检规则的耗时等级;需要说明的是,数据量等级评估需要一定的样本数据,通过重复试验取平均值所得,是质检任务项耗时的主要影响因子之一。
31.所述质检规则耗时等级计算公式如下:r=math.ceil(t/p)t=σti/n对一定数据量的样例数据按照某项质检规则进行n次检查,得到耗时t1,t2,

,tn,质检规则平均耗时为t=(t1 t2

tn)/n。n取值越大,计算出来的耗时越精确。
32.然后以区间值p(可以根据实际情况自行定义)为一个区间计算耗时等级r,r= math.ceil (t/p),即平均耗时除以p得到商,取大于或等于商的最小整数,得到耗时等级。
33.步骤s16、标记质检规则的互斥性;需要说明的是,质检规则可按性质分为:完整性检查、属性数据检查、图形数据检查、拓扑检查、图属一致性检查,其中拓扑检查比较特殊,由于空间质检引擎技术原因,某些数据正在进行拓扑检查时,该数据项无法参与其他类型的拓扑检查。
34.譬如:面图层a正在检查是否存在缝隙质检规则检查,那么面图层a无法同时参与是否与图层b图形相交的质检规则检查。
35.为了让所有质检任务都能够并行执行,本发明对质检规则进行互斥性标记,标记为1表示该质检规则无法在同一质检节点同一数据无法参与两项互斥性质检规则检查,需要将质检任务协调到其他节点进行检查。
36.步骤s17、记录质检规则的耗时等级、互斥性信息。
37.s2:数据收集;接收成果包,对每个质检成果包中的数据进行统计信息收集,得到质检成果包数据统计信息;
需要说明的是,步骤s2中质检成果包数据统计信息包括:数据项名称、类型、数据量等级和字段信息。
38.需要说明的是,步骤s2具体包括以下步骤:s21、接收质检成果包;s22、对质检成果包进行预检。检查质检成果包命名格式、文件命名格式、文件是否损坏等基本要求,防止对之后的质检工作造成影响。
39.s23、收集成果包内数据项的基础信息,包括数据项名称、数据项类型、数据量、字段信息等;s24、计算数据项数据量等级,并保存到数据项信息表。
40.需要说明的是,数据量等级是对数据项的数据量指标的一个定性评估,是质检任务项耗时的主要影响因子之一。
41.数据量等级计算公式:d=math.ceil(s/a)假设某一个图层或者表格数据量总量为s,以区间值a为一个区间计算数据量等级d,d= math.ceil(s/a),即数据总量除以a得到商,取大于或等于商的最小整数。
42.s3:生成质检任务;根据质检方案、质检规则耗时评估信息、质检成果包数据统计信息生成质检任务池;需要说明的是,步骤s3所述质检任务池中,按质检任务的总质检规则耗时等级对所有质检任务进行降序排序。
43.需要说明的是,步骤s3具体如下:s31、加载质检方案;s32、加载一个质检成果包及其相关数据项基础信息、数据项数据等级信息;s33、根据质检方案中的质检规则与数据项生成质检任务;s34、将质检任务放入质检任务池;s35、重复s32-s34步骤,直到所有的质检成果包的质检任务生成完成。
44.s36、按照质检包id进行质检任务分组,按照质检任务耗时等级进行降序排列,即让耗时高的任务排最前面。
45.需要说明的是,质检任务项耗时等级公式如下:c=r*d某一个质检规则项耗时等级=质检规则耗时等级r*数据量等级d。
46.s4:任务调度;启动质检调度引擎,对质检任务池中的质检任务根据调度算法调度到质检节点上进行检查,得到质检成果包;步骤s4具体如下:s41、从质检任务池获取质检任务;s42、通过监控引擎获取质检节点信息,获取一个可用质检节点;步骤s42中用到了任务监控装置;任务监控装置由调度节点的监控引擎与每个质检节点的任务监控进程组成。任务监控进程在会收集该质检节点上任务执行的状态,状态包括正在执行、执行失败、执行成功,其他信息包括质检任务相关的质检数据项、质检规则项等信息。并且具备任务执行失败重试机制。任务监控装置是分布式质检框架的重要组件
之一。
47.s43、判断该节点是否存在与该任务互斥的质检任务;如果存在,则执行步骤s44,否则执行步骤s45;s44、获取下一个可用质检节点;如果所有节点都存在该与质检任务的互斥质检任务,则将该质检任务与其后面的质检任务互换;s45、将该质检任务调度到获取的可用质检节点上;s45、判断该可用质检节点上是否存在质检任务对应的质检成果包数据统计信息;s46、如果不存在,则从分布式数据存储下载对应的质检成果包数据,并缓存到本地临时目录;s47、如果存在,启动质检进程直接加载质检任务关联的数据项到内存;s48、执行该质检任务;s49、将质检结果返回给调度节点保存到质检业务库。
48.总体来说,本发明采用的是质检任务分布式调度方法,通过收集评估每个质检任务耗时时间,按质检成果包分组,质检任务耗时时间倒序排序。结合任务监控装置收集的质检节点的任务执行状态,保证质检任务并行执行;通过缓存机制保证同一数据项对应的相关质检任务在同一节点执行,减少数据下载次数,质检调度流程见图2;通过倒序排序任务,保证所有任务执行总耗时相对较少,避免数据倾斜带来的影响。示意图见图3,图3中柱形条中数字为5、7的质检任务表示是互斥性任务,在多线程模式下不能并行执行,需要等待上一个互斥性任务结束后才能开始执行,在分布式模式下由于是进程隔离,可以并行执行。由图3可以看出,本技术的分布式模式的总质检任务耗时时间小于多线程模式。
49.s5、按质检成果包输出质检报告。
50.一种空间数据分布式质检系统,包括:质检规则耗时评估单元:加载样例数据,对于质检方案中的每条质检规则进行规则耗时等级评估,得到质检规则耗时评估信息;数据收集单元:接收成果包,对每个质检成果包中的数据进行统计信息收集,得到质检成果包数据统计信息;质检任务生成单元:根据质检方案、质检规则耗时评估信息、质检成果包数据统计信息生成质检任务池;任务调度单元:启动质检调度引擎,对质检任务池中的质检任务根据调度算法采用分布式调度到质检节点上进行检查,得到质检成果包;成果输出单元:按质检成果包输出质检报告。
51.最后,本发明采用分布式的思想,基于自研的分布式质检调度算法与质检任务耗时评估算法,利用分布式架构设计出一套分布式质检方法及装置。有效解决了传统单进程多线程模式易崩溃的问题,优先利用分布式思想解决了多任务并行执行的问题。该方法具备一定的技术先进性,如果质检执行组件需要进行升级,可以对质检节点的质检程序进行单独替换,不影响整体的质检装置。并且具备很强的可扩展性,能根据硬件情况,横向增加质检节点以提高质检效率。
52.质检系统在本质上所采用的架构见图4。质检系统由分布式质检集群与分布式文
件存储集群组成。其中分布式质检集群主节点包括调度引擎与监控引擎。调度引擎根据监控引擎收集到的各个质检节点任务执行信息和质检任务调度算法对质检任务池中的质检任务调度和分配到各个质检节点。质检节点包括质检执行进程,任务监控辅助进程和本地缓存数据。质检节点接收到质检任务后从分布式质检存储集群获取质检成果包,缓存到质检节点本地,然后执行质检任务。质检节点任务监控辅助进程实时收集该节点任务执行信息、cpu内存等资源使用信息,并定时反馈给质检调度节点。该分布式架构有效解决了传统架构易崩溃的问题,并且具备比较先进的调度算法与质检任务并行执行机制,具备可扩展性、容错性。
53.综合来看,本发明的有益效果是:高效性:对于省级、市级质检数据量特别大的情况,采用该方法和装置,可以有效利用多台硬件资源共同合作完成质检任务。采用分布式架构与分布式调度算法能高效利用cpu、内存等硬件资源,并行执行质检任务,相对于单机单进程内多线程的方法,效率显著提升。
54.创新性:创新地使用分布式架构与分布式调度算法,解决了互斥性质检任务并行执行的难点,采用质检任务耗时评估算法,对质检任务耗时进行定性分析,能够有效辅助质检的调度装置对质检任务进行任务分派,尽量避免串行执行情况,达到执行时间相对较短的效果。
55.实用性:地理信息系统行业调查业务、规划业务、不动产业务等多个业务都需要对空间数据进行质检,保证数据正确性、精确性的情况下,才能将数据应用于实际业务应用。数据若存在错误,对社会经济效益会带来巨大的损失。质检工作是行业内不可缺少的一项工作,各个单位都非常重视,每年都对花费不少人力、物力、财力进行成果数据的质检。该方法和装置,对于大规模数据质检能减少人力投入,实现自动化质检,分布式质检、并行质检,能够减少质检时间,带来实际的效益。
56.易用性:该质检装置除了质检方案、质检数据接收、质检规则耗时评估需要专业的质检人员进行操作外,质检数据入库后会自动触发质检流程,如果质检过程中存在异常,会触发自动重试机制,避免网络波动等偶发性错误的影响。整个质检过程是自动化的,无需人工干预,质检完成后质检人员按成果包导出质检结果报告即可知道质检情况。
57.可拓展性:质检节点可以横向扩展来增强整体的质检性能,能够有效利用质检单位的硬件资源提高质检的效率。
58.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献