CN105808214B - 一种数据编译方法和地图编译器 - Google Patents

一种数据编译方法和地图编译器 Download PDF

Info

Publication number
CN105808214B
CN105808214B CN201410838107.3A CN201410838107A CN105808214B CN 105808214 B CN105808214 B CN 105808214B CN 201410838107 A CN201410838107 A CN 201410838107A CN 105808214 B CN105808214 B CN 105808214B
Authority
CN
China
Prior art keywords
collector
recoverage
compiling
abnormal
self
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410838107.3A
Other languages
English (en)
Other versions
CN105808214A (zh
Inventor
贾双成
叶旻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Autonavi Software Co Ltd
Original Assignee
Autonavi Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Autonavi Software Co Ltd filed Critical Autonavi Software Co Ltd
Priority to CN201410838107.3A priority Critical patent/CN105808214B/zh
Publication of CN105808214A publication Critical patent/CN105808214A/zh
Application granted granted Critical
Publication of CN105808214B publication Critical patent/CN105808214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种数据编译方法和地图编译器,方法应用于地图编译器,地图编译器包括多个编译模块,在每个编译模块的起始处设置对应的自恢复节点;方法包括:实时检测地图编译器编译过程中的异常信息;当检测到异常信息时,依据异常信息确定发生异常的编译模块;控制发生异常的编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复;在发生异常的编译模块自恢复完成后,修复发生异常的编译模块;在发生异常的编译模块修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程。本发明对于编译模块发生异常的情况,大大缩减了编译时间,提高了数据的编译效率。

Description

一种数据编译方法和地图编译器
技术领域
本发明涉及数据编译技术领域,更具体地说,涉及一种数据编译方法和地图编译器。
背景技术
随着导航技术及位置服务相关产业的迅速发展,导航地图的数据格式多种多样,并不统一,导航地图的数据编译显得越来越重要。
导航地图的数据编译是指将一种导航数据格式转化为另一种导航数据格式的转换方法。通过数据编译,可以将不同数据格式的导航数据转化为统一格式。通常,数据编译时间一般在几十小时,如果是复杂的物理格式的数据转换,其编译时间会超过一百小时。显然,数据编译的时间成本已经成为制约编译数据发展的一个重要瓶颈。
目前,现有技术中利用地图编译器实现数据编译。地图编译器的编译过程如图1所示,是一种不可逆的流水型数据操作过程。具体地,其将欲处理的数据处理分成多个连续的处理操作,每个处理操作的输出数据即为下一处理操作的输入数据。在地图编译器的编译过程中,如果数据本身发生错误,或者地图编译器发生错误,或者由于地图编译器对数据的兼容性不强等原因会直接导致地图编译器的编译过程崩溃,此时就必须进行代码bug(错误/漏洞)的修正,并在修正代码bug后,重新启动地图编译器来从头开始重新编译。
一般情况下,在每次按照客户要求对地图编译器进行技术开发后,地图编译器的崩溃性bug(包含数据质量所引起的bug)的数量都会在3个左右,即使不考虑研发人员修正代码bug的时间,地图编译器因从头开始重新编译而导致其编译时间将会大大增加,进一步增加了数据编译的时间成本。
发明内容
有鉴于此,本发明提供一种数据编译方法和地图编译器,以解决现有技术中在地图编译器的编译时间成本高的基础上,一旦出现bug,进一步加剧时间成本的问题。技术方案如下:
基于本发明的一方面,本发明提供一种数据编译方法,应用于地图编译器,所述地图编译器包括多个编译模块,在每个所述编译模块的起始处设置对应的自恢复节点,所述自恢复节点用于接收并存储上一编译模块发送的编译数据,并存储对所述编译模块初始化所得到的初始化参数;
所述数据编译方法包括:
实时检测所述地图编译器编译过程中的异常信息;
当检测到所述异常信息时,依据所述异常信息确定发生异常的编译模块;
控制所述发生异常的编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复;
在所述发生异常的编译模块自恢复完成后,修复所述发生异常的编译模块;
在所述发生异常的编译模块修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程;所述目标编译模块为依据所述控制指令确定的所述发生异常的编译模块或者位于所述发生异常的编译模块之前的一编译模块。
优选地,当所述目标编译模块为位于所述发生异常的编译模块之前的一编译模块时,所述方法还包括:
控制位于所述发生异常的编译模块与所述目标编译模块之间的所有编译模块,以及所述目标编译模块,根据其对应的自恢复节点中存储的初始化参数进行自恢复。
优选地,所述编译模块的初始化参数包括所述编译模块的事务回滚模式和原始变量;
控制编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复,具体包括:
根据所述编译模块的事务回滚模式,删除已对所述编译模块进行编译操作所生成的数据;
根据所述编译模块的自恢复节点中存储的初始化参数中的原始变量,对所述编译模块进行自恢复。
优选地,所述控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程包括:
获取所述目标编译模块对应的自恢复节点中存储的编译数据;
依据自恢复后的所述目标编译模块中的原始变量,对所述编译数据执行编译。
优选地,当检测到所述异常信息时,还包括:
输出并显示所述异常信息。
基于本发明的另一方面,本发明还提供一种地图编译器,所述地图编译器包括多个编译模块,在每个所述编译模块的起始处设置对应的自恢复节点,所述自恢复节点用于接收并存储上一编译模块发送的编译数据,并存储所述编译模块的初始化参数;所述地图编译器还包括:
初始化模块,用于初始化每个所述编译模块,得到每个所述编译模块的初始化参数;
异常信息检测模块,用于实时检测所述地图编译器编译过程中的异常信息;
异常信息确定模块,用于当所述异常信息检测模块检测到所述异常信息时,依据所述异常信息确定发生异常的编译模块;
控制模块,用于控制所述发生异常的编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复;
修复模块,用于在所述发生异常的编译模块自恢复完成后,修复所述发生异常的编译模块;
编译控制模块,用于在所述发生异常的编译模块修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程;所述目标编译模块为依据所述控制指令确定的所述发生异常的编译模块或者位于所述发生异常的编译模块之前的一编译模块。
优选地,当所述目标编译模块为位于所述发生异常的编译模块之前的一编译模块时,所述控制模块具体用于,控制位于所述发生异常的编译模块与所述目标编译模块之间的所有编译模块,以及所述目标编译模块,根据其对应的自恢复节点中存储的初始化参数进行自恢复。
优选地,所述编译模块的初始化参数包括所述编译模块的事务回滚模式和原始变量;
所述控制模块具体用于,
根据所述编译模块的事务回滚模式,删除已对所述编译模块进行编译操作所生成的数据;
根据所述编译模块的自恢复节点中存储的初始化参数中的原始变量,对所述编译模块进行自恢复。
优选地,所述编译模块包括:
获取子模块,用于获取所述目标编译模块对应的自恢复节点中存储的编译数据;
编译子模块,用于依据自恢复后的所述目标编译模块中的原始变量,对所述编译数据执行编译。
优选地,还包括:
输出显示模块,用于输出并显示所述异常信息。
应用本发明的上述技术方案,本发明提供的数据编译方法中,在每个编译模块的起始处设置对应的自恢复节点,所述自恢复节点用于接收并存储上一编译模块发送的编译数据,并存储所述编译模块的初始化参数。方法包括:实时检测地图编译器编译过程中的异常信息;当检测到异常信息时,依据异常信息确定发生异常的编译模块;控制发生异常的编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复,在发生异常的编译模块自恢复完成后,修复发生异常的编译模块,在发生异常的编译模块修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程,其中目标编译模块为依据控制指令确定的所述发生异常的编译模块或者位于所述发生异常的编译模块之前的一编译模块。因此本发明中的地图编译器中的某个编译模块发生异常时,本发明可以控制其根据其对应的自恢复节点中存储的初始化参数进行自恢复,待自恢复完成,且修复后,可以依据用户输入的控制指令灵活控制地图编译器从发生异常的编译模块或位于发生异常的编译模块之前的一编译模块继续执行编译过程,不必重启地图编译器重新运行,相比于现有技术中地图编译器只要出现bug,必须重启地图编译器的方式,本发明大大缩减了编译时间,提高了数据的编译效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中地图编译器的编译过程示意图;
图2为本发明提供的一种数据编译方法的一种流程图;
图3为本发明提供的一种数据编译方法的另一种流程图;
图4为本发明中事务回滚的示意图;
图5为本发明提供的一种地图编译器的结构示意图;
图6为本发明提供的一种地图编译器中编译控制模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图2,其示出了本发明提供的一种数据编译方法的一种流程图,该数据编译方法应用于地图编译器,其中地图编译器包括多个编译模块,本发明在每个编译模块的起始处设置有对应的自恢复节点,其自恢复节点用于接收并存储上一编译模块发送的编译数据,且自恢复节点还存储有编译模块的初始化参数。
在实际应用过程中,当第一次启动地图编译器进行数据编译前,需要对每个编译模块进行初始化,以获得每个编译模块的初始化参数,并将初始化参数存储于编译模块的自恢复节点中。在后续再次利用地图编译器进行数据编译时,由于每个编译模块的自恢复节点中均保存有对应的初始化参数,因此无需再次对地图编译器进行初始化,而直接启动地图编译器开始编译过程,提高了地图编译器的启动效率。因此本发明中,第一次启动地图编译器时的数据编译方法包括如下步骤101-步骤106,当后续再次利用地图编译器进行数据编译时,方法只包括如下步骤102-步骤106。
本实施例中,本发明以第一次启动地图编译器为例进行详细说明,数据编译方法包括:
步骤101,初始化每个编译模块,以得到每个编译模块的初始化参数。
本发明中,初始化每个编译模块即为每个编译模块对应的自恢复节点中设置编译模块的事务回滚模式和原始变量。
编译模块的事务回滚模式用于控制编译模块删除已对所述编译模块进行编译操作所生成的数据。原始变量指的是编译模块对编译数据执行编译时使用到的全局变量和参数。该全局变量和参数用于在本编译模块接收到上一编译模块发送的编译数据后,依据该全局变量和参数,进一步对编译数据进行编译,并在完成进一步编译后,将完成进一步编译后的编译数据输出至下一编译模块。
步骤102,实时检测地图编译器编译过程中的异常信息。
具体地,本发明可以设置故障感知器来实时检测地图编译器编译过程中的异常信息。
在实际应用中,地图编译器编译过程的异常主要为编译模块的异常,编译模块依据预设的地图编译程序进行编译,因此,编译模块的异常即为地图编译程序的异常。地图编译程序的异常主要分为两种,一种为地图编译器运行过程中发生异常(RuntimeException),另一种为地图编译器非运行过程中发生异常。对于地图编译器运行过程中发生异常的情况来说,其无法确定何时发生异常且发生异常的类型众多,比如空指针异常(NullPointerException)和数组下标越界(IndexOutOfBoundsException),对于这些在地图编译器运行过程中发生的异常,本发明需要进行强制捕获。对于地图编译器非运行过程中发生异常的情况来说,该类异常需要在程序创建的过程中进行处理,比如IO(IOException)异常和数据库错误(SqlException)。本发明中保护的是针对地图编译器运行过程中发生的异常的处理。
步骤103,当检测到所述异常信息时,依据所述异常信息确定发生异常的编译模块。
本发明中,当故障感知器检测到地图编译器编译过程中的异常信息时,主动捕获所述异常信息,并依据所述异常信息确定发生异常的编译模块。具体地,故障感知器可以采用类似Java的异常捕获机制来实现,其中异常捕获机制的实现方法现有技术已经比较成熟。
步骤104,控制发生异常的编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复。
本发明中,当地图编译器的某个编译模块发生异常时,由于故障感知器已经提前强制捕获了这种异常信息,因此地图编译器的编译程序不会进入崩溃,而是控制发生异常的编译模块进入自恢复模式。
具体地,如图3所示,步骤104具体包括:
步骤1041,根据编译模块的事务回滚模式,删除已对编译模块进行编译操作所生成的数据。
本发明中,依据事务回滚模式控制发生异常的编译模块执行回滚操作,即取消先前编译模块进行数据编译的任何操作,使其恢复到最初的原始状态。
步骤1042,根据编译模块的自恢复节点中存储的初始化参数中的原始变量,对编译模块进行自恢复。
本发明中,自恢复节点中存储有来自于上一编译模块发送的编译数据和初始化参数,发生异常的编译模块依据自恢复节点中存储的编译数据可以重新获取到上一编译模块发送的编译数据。同时,发生异常的编译模块重新获取自恢复节点中的用于实现数据编译时利用到的初始化参数,完成编译模块的自恢复,等待重新编译。
步骤105,在发生异常的编译模块自恢复完成后,修复发生异常的编译模块。
在本步骤中,当发生异常的编译模块完成自恢复时,由于地图编译器产生的bug并未修正,此时可以先暂停编译过程。
具体地,本发明中,暂停编译过程即暂停地图编译器的编译程序,此时可以由开发者对发生异常的编译模块进行修复。
本发明中对于修复发生异常的编译模块的实现方式可以包括,修改编译模块中数据库的内容、用脚本或小程序对地图编译器打补丁,或用汇编等语言对写入计算机内存的变量进行处理。
步骤106,在发生异常的编译模块修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程。
其中,目标编译模块为依据控制指令确定的发生异常的编译模块或者位于发生异常的编译模块之前的一编译模块。
具体地本发明中,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程,具体包括:获取目标编译模块对应的自恢复节点中存储的编译数据;依据自恢复后的目标编译模块中的原始变量,对编译数据执行编译。
此外,因为本发明支持开发者修改编译模块的编译数据,因此当开发者手动完成编译模块的编译数据后,也可以从发生异常的编译模块的下一编译模块的起始处继续运行。当然,本发明还可以控制地图编译器的编译过程停止。
在此,对于控制编译过程从位于发生异常的编译模块之前的任一编译模块的起始处继续运行的实现方法发明人需要进一步说明。
假设本发明中发生异常的编译模块为4,控制编译过程从位于发生异常的编译模块4之前的编译模块2的起始处继续运行时,由于位于发生异常的编译模块4之前的编译模块1、2和3均已成功完成编译过程,那么由于编译过程重新从编译模块2的起始处继续运行,此时就需要控制编译模块4、编译模块3以及编译模块2依次完成自恢复,即编译模块4首先依据其对应的事务回滚模式,删除已对编译模块4进行编译操作所生成的数据,进而从其对应的自恢复节点中获取初始化参数中的原始变量,完成自恢复,此时编译模块3再依据其对应的事务回滚模式,删除已对编译模块3进行编译操作所生成的数据,进而从其对应的自恢复节点中获取初始化参数中的原始变量,完成自恢复,最后编译模块2依据其对应的事务回滚模式,删除已对编译模块2进行编译操作所生成的数据,进而从其对应的自恢复节点中获取初始化参数中的原始变量,完成自恢复。待编译模块4、编译模块3以及编译模块2依次完成自恢复后,编译模块2从其对应的自恢复节点中获取编译模块1发送的编译数据,依据初始化参数和该编译数据继续执行编译。其中,本发明实现回滚的示意图可参阅图4所示。
此外本发明较优的,在步骤103检测到异常信息后,还可以包括步骤107:输出并显示所述异常信息。
具体地,输出显示方式可以包括打印方式。
因此本发明在检测到异常信息后,可以及时将异常信息输出并显示出来,以供开发者快速得知发生异常的编译模块,以及发生异常的编译模块的代码bug,从而可以及时地针对性地对代码bug进行修正,提高了代码bug的修正准确率和效率。
应用本发明的上述技术方案,本发明提供的数据编译方法中,在每个编译模块的起始处设置对应的自恢复节点,所述自恢复节点用于接收并存储上一编译模块发送的编译数据,并存储所述编译模块的初始化参数。方法包括:实时检测地图编译器编译过程中的异常信息;当检测到异常信息时,依据异常信息确定发生异常的编译模块;控制发生异常的编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复,在发生异常的编译模块自恢复完成后,修复发生异常的编译模块,在发生异常的编译模块修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程,其中目标编译模块为依据控制指令确定的所述发生异常的编译模块或者位于所述发生异常的编译模块之前的一编译模块。因此本发明中的地图编译器中的某个编译模块发生异常时,本发明可以控制其根据其对应的自恢复节点中存储的初始化参数进行自恢复,待自恢复完成,且修复后,可以依据用户输入的控制指令灵活控制地图编译器从发生异常的编译模块或位于发生异常的编译模块之前的一编译模块继续执行编译过程,不必重启地图编译器重新运行,相比于现有技术中地图编译器只要出现bug,必须重启地图编译器的方式,本发明大大缩减了编译时间,提高了数据的编译效率。
基于前文本发明提供的一种数据编译方法,本发明还提供一种地图编译器,如图5所示,其示出了本发明提供的地图编译器的结构示意图。其中所述地图编译器包括多个编译模块100,在每个编译模块100的起始处均设置对应的自恢复节点101,自恢复节点101用于接收并存储上一编译模块100发送的编译数据,且自恢复节点101还用于存储所述编译模块100的初始化参数,地图编译器还包括:初始化模块200、异常信息检测模块300、异常信息确定模块400、控制模块500、修复模块600和编译控制模块700。其中,
初始化模块200,用于初始化每个编译模块100,得到每个编译模块100的初始化参数;
异常信息检测模块300,用于实时检测地图编译器编译过程中的异常信息;
异常信息确定模块400,用于当异常信息检测模块300检测到异常信息时,依据异常信息确定发生异常的编译模块100;
控制模块500,用于控制发生异常的编译模块100根据其对应的自恢复节点中存储的初始化参数进行自恢复;
修复模块600,用于在发生异常的编译模块100自恢复完成后,修复所述发生异常的编译模块100;
编译控制模块700,用于在所述发生异常的编译模块100修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程;其中,目标编译模块为依据控制指令确定的发生异常的编译模块或者位于发生异常的编译模块之前的一编译模块。
其中当目标编译模块为位于发生异常的编译模块之前的一编译模块时,所述控制模块500具体用于,控制位于发生异常的编译模块100与目标编译模块100之间的所有编译模块100,以及所述目标编译模块100,根据其对应的自恢复节点中存储的初始化参数进行自恢复。
具体地,本发明中,编译模块100的初始化参数包括编译模块100的事务回滚模式和原始变量;
所述控制模块500具体用于,
根据编译模块100的事务回滚模式,删除已对编译模块100进行编译操作所生成的数据;
根据编译模块100的自恢复节点101中存储的初始化参数中的原始变量,对编译模块100进行自恢复。
其中,如图6所示,编译控制模块700包括:获取子模块701和编译子模块702。其中获取子模块701,用于获取目标编译模块对应的自恢复节点中存储的编译数据;编译子模块702,用于依据自恢复后的所述目标编译模块中的原始变量,对所述编译数据执行编译。
较优的,本发明还可以包括输出显示模块800,用于输出并显示异常信息。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据编译方法和地图编译器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据编译方法,应用于地图编译器,所述地图编译器包括多个编译模块,其特征在于,在每个所述编译模块的起始处设置对应的自恢复节点,所述自恢复节点用于接收并存储上一编译模块发送的编译数据,并存储对所述多个编译模块初始化所得到的初始化参数;
所述数据编译方法包括:
实时检测所述地图编译器编译过程中的异常信息;
当检测到所述异常信息时,依据所述异常信息确定发生异常的编译模块;
控制所述发生异常的编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复;
在所述发生异常的编译模块自恢复完成后,修复所述发生异常的编译模块;
在所述发生异常的编译模块修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程;所述目标编译模块为依据所述控制指令确定的所述发生异常的编译模块或者位于所述发生异常的编译模块之前的一编译模块。
2.根据权利要求1所述的数据编译方法,其特征在于,当所述目标编译模块为位于所述发生异常的编译模块之前的一编译模块时,所述方法还包括:
控制位于所述发生异常的编译模块与所述目标编译模块之间的所有编译模块,以及所述目标编译模块,根据其对应的自恢复节点中存储的初始化参数进行自恢复。
3.根据权利要求1或2所述的数据编译方法,其特征在于,所述多个编译模块的初始化参数包括所述多个编译模块的事务回滚模式和原始变量;
控制编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复,具体包括:
根据所述多个编译模块的事务回滚模式,删除已对所述多个编译模块进行编译操作所生成的数据;
根据所述多个编译模块的自恢复节点中存储的初始化参数中的原始变量,对所述多个编译模块进行自恢复。
4.根据权利要求3所述的数据编译方法,其特征在于,所述控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程包括:
获取所述目标编译模块对应的自恢复节点中存储的编译数据;
依据自恢复后的所述目标编译模块中的原始变量,对所述编译数据执行编译。
5.根据权利要求1或2所述的数据编译方法,其特征在于,当检测到所述异常信息时,还包括:
输出并显示所述异常信息。
6.一种地图编译器,所述地图编译器包括多个编译模块,其特征在于,在每个所述编译模块的起始处设置对应的自恢复节点,所述自恢复节点用于接收并存储上一编译模块发送的编译数据,并存储所述多个编译模块的初始化参数;所述地图编译器还包括:
初始化模块,用于初始化每个所述多个编译模块,得到每个所述多个编译模块的初始化参数;
异常信息检测模块,用于实时检测所述地图编译器编译过程中的异常信息;
异常信息确定模块,用于当所述异常信息检测模块检测到所述异常信息时,依据所述异常信息确定发生异常的编译模块;
控制模块,用于控制所述发生异常的编译模块根据其对应的自恢复节点中存储的初始化参数进行自恢复;
修复模块,用于在所述发生异常的编译模块自恢复完成后,修复所述发生异常的编译模块;
编译控制模块,用于在所述发生异常的编译模块修复完成后,依据用户输入的控制指令,控制目标编译模块依据其对应的自恢复节点中存储的编译数据和初始化参数继续执行编译过程;所述目标编译模块为依据所述控制指令确定的所述发生异常的编译模块或者位于所述发生异常的编译模块之前的一编译模块。
7.根据权利要求6所述的地图编译器,其特征在于,当所述目标编译模块为位于所述发生异常的编译模块之前的一编译模块时,所述控制模块具体用于,控制位于所述发生异常的编译模块与所述目标编译模块之间的所有编译模块,以及所述目标编译模块,根据其对应的自恢复节点中存储的初始化参数进行自恢复。
8.根据权利要求6或7所述的地图编译器,其特征在于,所述多个编译模块的初始化参数包括所述多个编译模块的事务回滚模式和原始变量;
所述控制模块具体用于,
根据所述多个编译模块的事务回滚模式,删除已对所述多个编译模块进行编译操作所生成的数据;
根据所述多个编译模块的自恢复节点中存储的初始化参数中的原始变量,对所述多个编译模块进行自恢复。
9.根据权利要求8所述的地图编译器,其特征在于,所述编译控制模块包括:
获取子模块,用于获取所述目标编译模块对应的自恢复节点中存储的编译数据;
编译子模块,用于依据自恢复后的所述目标编译模块中的原始变量,对所述编译数据执行编译。
10.根据权利要求6或7所述的地图编译器,其特征在于,还包括:
输出显示模块,用于输出并显示所述异常信息。
CN201410838107.3A 2014-12-29 2014-12-29 一种数据编译方法和地图编译器 Active CN105808214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410838107.3A CN105808214B (zh) 2014-12-29 2014-12-29 一种数据编译方法和地图编译器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410838107.3A CN105808214B (zh) 2014-12-29 2014-12-29 一种数据编译方法和地图编译器

Publications (2)

Publication Number Publication Date
CN105808214A CN105808214A (zh) 2016-07-27
CN105808214B true CN105808214B (zh) 2019-03-08

Family

ID=56980992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410838107.3A Active CN105808214B (zh) 2014-12-29 2014-12-29 一种数据编译方法和地图编译器

Country Status (1)

Country Link
CN (1) CN105808214B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918082B (zh) * 2019-03-06 2022-02-22 驿涛科技股份有限公司 软件开发的编译系统及方法
CN110209591A (zh) * 2019-06-05 2019-09-06 北京字节跳动网络技术有限公司 图片查找方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247147B1 (en) * 1997-10-27 2001-06-12 Altera Corporation Enhanced embedded logic analyzer
CN101078994A (zh) * 2006-05-26 2007-11-28 松下电器产业株式会社 编译器装置、编译器方法和编译器程序
CN100456260C (zh) * 2006-12-21 2009-01-28 华为技术有限公司 一种用于对解释语言程序进行调试方法及装置

Also Published As

Publication number Publication date
CN105808214A (zh) 2016-07-27

Similar Documents

Publication Publication Date Title
CN109976306B (zh) 一种基于Lua脚本的航天器遥控快速测试验证系统及方法
US8839201B2 (en) Capturing test data associated with error conditions in software item testing
US9483284B2 (en) Version compatibility determination
US9292416B2 (en) Software development kit testing
US10067858B2 (en) Cloud-based software testing
US8839202B2 (en) Test environment managed within tests
US9684587B2 (en) Test creation with execution
US9274930B2 (en) Debugging system using static analysis
US9069902B2 (en) Software test automation
US20170235661A1 (en) Integration of Software Systems via Incremental Verification
US8949794B2 (en) Binding a software item to a plain english control name
US20110320794A1 (en) Flash System And Method For Updating The Flash System
CN103699489A (zh) 一种基于知识库的软件远程故障诊断与修复方法
US8239854B2 (en) Bookmark and configuration file for installation sequence
CN103577201B (zh) 嵌入式双系统的更新方法及系统
CN106095501B (zh) 一种应用部署方法及装置
CN115039084A (zh) 数据流图的部件的单元测试
CN108052336A (zh) 一种分布式软件升级系统及其实现方法
CN106021101A (zh) 对移动终端进行测试的方法及装置
CN106681783A (zh) 一种svn代码检测方法及其系统
CN105808214B (zh) 一种数据编译方法和地图编译器
US8738569B1 (en) Systematic verification of database metadata upgrade
US10387294B2 (en) Altering a test
US9292422B2 (en) Scheduled software item testing
US20140359579A1 (en) Combined data and instruction test content

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant