CN109814926A - 一种提取数据的方法和装置 - Google Patents
一种提取数据的方法和装置 Download PDFInfo
- Publication number
- CN109814926A CN109814926A CN201811626038.4A CN201811626038A CN109814926A CN 109814926 A CN109814926 A CN 109814926A CN 201811626038 A CN201811626038 A CN 201811626038A CN 109814926 A CN109814926 A CN 109814926A
- Authority
- CN
- China
- Prior art keywords
- register
- data
- file
- destination register
- saved
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种提取数据的方法和装置,当需要提取目标寄存器中的提取目标数据时,通过从预先设置的配置文件中读取目标寄存器的标识,再在寄存器数据文件中查找第一指定位置与目标寄存器的标识相匹配的寄存器数据,作为目标寄存器的数据;再从目标寄存器的数据中查找第二指定位置上的数据,作为该目标寄存器的提取目标数据;将目标寄存器的提取目标数据保存到输出文件中该目标寄存器对应的第一位置。这样,通过读取配置文件自动的在大量的寄存器中提取特定的寄存器数据,无需人工去提取寄存器数据,解决了人工提取寄存器数据时耗费的人工成本较多且提取效率低下等问题,节省了提取寄存器数据时的人工成本,提高寄存器数据的提取效率。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种提取数据的方法和装置。
背景技术
在寄存器检证等许多方面,需要对特定的寄存器数据进行提取。而随着芯片提供的寄存器数量越来越多,在大量的寄存器中提取特定的寄存器数据,不仅会耗费较多的人工成本,而且提取效率也不高。
发明内容
本发明所要解决的技术问题是,提供一种数据提取的方法和装置,以节省提取寄存器数据时的人工成本,提高寄存器数据的提取效率。
第一方面,本发明实施例提供了一种提取数据的方法,包括:
从配置文件中读取目标寄存器的标识;
在寄存器数据文件中查找第一指定位置与所述目标寄存器的标识相匹配的寄存器数据,作为所述目标寄存器的数据;
从所述目标寄存器的数据中查找第二指定位置上的数据,作为目标寄存器的提取目标数据;
将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置。
可选地,所述将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置,具体为:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的提取目标数据保存到输出文件中各寄存器的提取目标数据之间的相应位置。
可选地,该方法还包括:
将所述目标寄存器的数据保存到所述输出文件中所述目标寄存器对应的第二位置。
可选地,所述将所述目标寄存器的数据保存到所述输出文件中所述目标寄存器对应的第二位置,具体为:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的数据保存到输出文件中各寄存器的数据之间的相应位置。
可选地,所述将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置,包括:
若标识记录在所述配置文件中的各寄存器的数据未全部保存到所述输出文件或标识记录在所述配置文件中的各寄存器的提取目标数据未全部保存到临时文件,将所述目标寄存器的提取目标数据保存到所述临时文件中所述目标寄存器对应的位置;
若标识记录在所述配置文件中的各寄存器的数据已全部保存到所述输出文件或标识记录在所述配置文件中的各寄存器的提取目标数据已全部保存到临时文件,将所述临时文件中的数据保存到所述输出文件并删除所述临时文件。
可选地,所述方法通过windows脚本的编程语言运行。
可选地,所述第一指定位置和所述第二指定位置为所述编程语言中的两个指定变量。
第二方面,本发明实施例还提供了一种提取数据的装置,包括:
读取单元,用于从配置文件中读取目标寄存器的标识;
第一查找单元,用于在寄存器数据文件中查找第一指定位置与所述目标寄存器的标识相匹配的寄存器数据,作为所述目标寄存器的数据;
第二查找单元,用于从所述目标寄存器的数据中查找第二指定位置上的数据,作为目标寄存器的提取目标数据;
第一保存单元,用于将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置。
可选地,所述第一保存单元,具体用于:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的提取目标数据保存到输出文件中各寄存器的提取目标数据之间的相应位置。
可选地,该装置还包括:
第二保存单元,用于将所述目标寄存器的数据保存到所述输出文件中所述目标寄存器对应的第二位置。
可选地,所述第二保存单元,具体用于:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的数据保存到输出文件中各寄存器的数据之间的相应位置。
可选地,所述第一保存单元,包括:
第一保存子单元,用于若标识记录在所述配置文件中的各寄存器的数据未全部保存到所述输出文件或标识记录在所述配置文件中的各寄存器的提取目标数据未全部保存到临时文件,将所述目标寄存器的提取目标数据保存到所述临时文件中所述目标寄存器对应的位置;
第二保存子单元,用于若标识记录在所述配置文件中的各寄存器的数据已全部保存到所述输出文件或标识记录在所述配置文件中的各寄存器的提取目标数据已全部保存到临时文件,将所述临时文件中的数据保存到所述输出文件并删除所述临时文件。
可选地,所述方法通过windows脚本的编程语言运行。
可选地,所述第一指定位置和所述第二指定位置为所述编程语言中的两个指定变量。
第三方面,本发明实施例还提供了一种提取数据的设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述第一方面提供的所述提取数据的方法。
第四方面,本发明实施例还提供了一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行上述第一方面提供的所述提取数据的方法。
与现有技术相比,本发明实施例具有以下优点:
在本发明实施例中,当需要提取目标寄存器中的提取目标数据时,可以通过从预先设置的配置文件中读取目标寄存器的标识,再在寄存器数据文件中查找第一指定位置与目标寄存器的标识相匹配的寄存器数据,作为目标寄存器的数据;接着,从目标寄存器的数据中查找第二指定位置上的数据,作为该目标寄存器的提取目标数据;那么,即可将目标寄存器的提取目标数据保存到输出文件中该目标寄存器对应的第一位置。这样,利用本发明实施例提供的提取数据的方法,即可通过读取配置文件自动的在大量的寄存器中提取特定的寄存器数据,无需人工去提取寄存器数据,解决了人工提取寄存器数据时耗费的人工成本较多且提取效率低下等问题,节省了提取寄存器数据时的人工成本,提高寄存器数据的提取效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种提取数据的方法的流程示意图;
图2为本发明实施例提供的另一种提取数据的方法的流程示意图;
图3为本发明实施例提供的一种提取数据的装置的结构示意图;
图4为本发明实施例提供的一种提取数据的设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于寄存器,很多情况下(例如:在对各寄存器进行检证)需要提取特定的寄存器数据,目前,特定的寄存器数据的提取往往采用人工提取的方式。但是,随着各类芯片提供的寄存器数量越来越多,例如:对于V850芯片,大致包括2600个寄存器,需要核对的寄存器大约有70个,如果人工提取特定的寄存器数据,如,通过手动“Ctrl+F”的方式逐个查找需要核对的寄存器数据,大概需要在25张表格中按下将近2000次“Ctrl+F”,不仅会消耗大量的人力成本,而且提取的效率也较为低下,难以满足各种情况对于提取众多的特定寄存器数据的需求。
基于此,为了解决上述问题,本发明实施例提供了一种提取数据的方法,当需要提取目标寄存器中的提取目标数据时,可以通过从预先设置的配置文件中读取目标寄存器的标识,再在寄存器数据文件中查找第一指定位置与目标寄存器的标识相匹配的寄存器数据,作为目标寄存器的数据;接着,从目标寄存器的数据中查找第二指定位置上的数据,作为该目标寄存器的提取目标数据;最后,可以将目标寄存器的提取目标数据保存到输出文件中该目标寄存器对应的第一位置。这样,即可通过读取配置文件自动的在大量的寄存器中提取特定的寄存器数据,无需人工去提取寄存器数据,解决了人工提取寄存器数据时耗费的人工成本较多且提取效率低下等问题,节省了提取寄存器数据时的人工成本,提高寄存器数据的提取效率。
下面结合附图,详细说明本发明实施例中的各种非限制性实施方式。
参见图1,为本发明实施例提供的一种提取数据的方法的流程示意图。需要说明的是,为了更加高效和便捷的提取寄存器数据,避免搭建额外的开发运行环境,本发明实施例提供的提取数据的方式可以是通过windows脚本的编程语言运行。而作为提取数据的准确工作,除了需要预先设置好配置文件,指定该次需要提取的目标寄存器,还可以在该windows脚本的编程语言中指定两个指定变量:第一指定位置KWCOLUMN和第二指定位置NEEDCOLUMN。其中,第一指定位置KWCOLUMN,用于指定与配置文件中的目标寄存器的标识相匹配的寄存器数据的位置;第二指定位置NEEDCOLUMN,用于指定特定需要的提取目标数据在该目标寄存器的数据中的位置。需要说明的是,该编程语言中指定两个指定变量,可以根据具体的情况(例如:寄存器型号、提取数据的应用场景等)进行灵活的设置,在本发明实施例中不作具体限定。
在本实施例中,该方法具体可以包括下述步骤101~步骤104:
步骤101,从配置文件中读取目标寄存器的标识。
可以理解的是,配置文件,可以是预先根据实际需求设置的文件。该配置文件中配置有至少一个目标寄存器的标识,例如:目标寄存器的名称、目标寄存器的地址等。
作为一个示例,假设需要提取寄存器A、寄存器B和寄存器C中的数据,那么,即可将寄存器A、寄存器B和寄存器C作为目标寄存器,将其对应的名称作为对应的目标寄存器的标识,预先设置配置文件X,该配置文件X中即可配置有:A、B和C。
具体实现时,当运行通过windows脚本的编程语言时,即视为可以开始提取数据,此时,可以调用该配置文件,并执行步骤101,即,从该配置文件中提取目标寄存器的标识。
例如:可以从预先设置的配置文件X中读取目标寄存器的标识A、B或者C。
步骤102,在寄存器数据文件中查找第一指定位置与目标寄存器的标识相匹配的寄存器数据,作为目标寄存器的数据。
可以理解的是,寄存器数据文件中,包括许多的寄存器,以及各个寄存器的数据,该寄存器数据文件是本发明实施例中提取数据的原始来源。第一指定位置,可以是windows脚本的编程语言中的指定变量,用于指定与配置文件中的目标寄存器的标识相匹配的寄存器数据在该寄存器数据文件中的位置,例如:假设寄存器数据文件中的寄存器名称位于第一列,那么,该第一指定位置为:寄存器数据文件的第一列。
作为一个示例,假设寄存器数据文件如下表1所示,该寄存器数据文件中包括4个寄存器:寄存器A、寄存器C、寄存器D和寄存器B,其中,每个寄存器包括5个寄存器数据。其中,第一指定位置为第一列,预先设置的配置文件X中配置有A、B和C。如果执行步骤101后读取到的目标寄存器的标识为B,那么,根据步骤102,可以从该寄存器数据文件中的第一列中,查找与B相匹配的寄存器,得到第一列的第四个位置处为目标寄存器B,从而,可以从对应的第四行中,获取该目标寄存器B的寄存器数据“a4b4c4d4e4”,即,执行步骤102后得到目标寄存器的数据为:a4b4c4d4e4。同理,如果执行步骤101后读取到的目标寄存器的标识为C,那么,根据步骤102,可以从该寄存器数据文件中的第一列中,查找与C相匹配的寄存器,得到第一列的第二个位置处为目标寄存器C,从而,可以从对应的第二行中,获取该目标寄存器C的寄存器数据“a2b2c2d2e2”,即,执行步骤102后得到目标寄存器的数据为:a2b2c2d2e2。
表1寄存器数据文件
寄存器A | a<sub>1</sub> | b<sub>1</sub> | c<sub>1</sub> | d<sub>1</sub> | e<sub>1</sub> |
寄存器C | a<sub>2</sub> | b<sub>2</sub> | c<sub>2</sub> | d<sub>2</sub> | e<sub>2</sub> |
寄存器D | a<sub>3</sub> | b<sub>3</sub> | c<sub>3</sub> | d<sub>3</sub> | e<sub>3</sub> |
寄存器B | a<sub>4</sub> | b<sub>4</sub> | c<sub>4</sub> | d<sub>4</sub> | e<sub>4</sub> |
在一些实现方式中,在获取到目标寄存器的数据后,为了可以为后续验证提供较为全面的数据依据,如图2所示,本发明实施例还可以包括:
步骤1021,将目标寄存器的数据保存到输出文件中目标寄存器对应的第二位置。
可以理解的是,在执行提取数据的操作后,可以自动生成对应的输出文件,该输出文件可以作为本实施例中提取到的寄存器数据的存放位置。具体实现时,在根据步骤102查找到目标寄存器的数据后,可以将该目标寄存器的数据保存在该输出文件中,具体可以保存在该输出文件中该目标寄存器对应的第二位置。其中,第二位置,可以是预先设置的在输出文件中存储目标寄存器的数据的位置,例如:输出文件中该目标存储器对应行的前5列。
作为一个示例,步骤1021具体可以为:按照目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的数据保存到输出文件中各寄存器的数据之间的相应位置。
例如:假设配置文件X中各寄存器的标识的位置关系依次为:A、B和C,目标寄存器为B,处于寄存器A和寄存器C之间,那么,得到目标寄存器B的数据“a4b4c4d4e4”,可以保存在输出文件中寄存器A的数据和寄存器C的数据之间,即,得到的输出文件可以如下表2所示
表2输出文件
寄存器A | a<sub>1</sub> | b<sub>1</sub> | c<sub>1</sub> | d<sub>1</sub> | e<sub>1</sub> | …… |
寄存器B | a<sub>4</sub> | b<sub>4</sub> | c<sub>4</sub> | d<sub>4</sub> | e<sub>4</sub> | …… |
寄存器C | a<sub>2</sub> | b<sub>2</sub> | c<sub>2</sub> | d<sub>2</sub> | e<sub>2</sub> | …… |
需要说明的是,通过步骤102得到目标寄存器的数据,为后续提取出真正需要的特定的该目标寄存器的数据,即,提取目标数据,提供了数据基础。
步骤103,从目标寄存器的数据中查找第二指定位置上的数据,作为目标寄存器的提取目标数据。
可以理解的是,提取目标数据,是指步骤102获得的目标寄存器的数据中的至少一个数据,是被特定需求提取的数据。第二指定位置,可以是windows脚本的编程语言中的另一指定变量,用于指定该提取目标数据在该目标寄存器的数据中的位置。例如:假设目标寄存器的数据中包括5个数据段:a、b、c、d和e,如果需要的提取的特定数据为b,那么,该第二指定位置为:目标寄存器的数据的第二个数据。
作为一个示例,假设目标寄存器的标识为B,根据步骤102,获取到该目标寄存器B的数据为:a4b4c4d4e4;且第二指定位置为:目标寄存器的数据的第三个数据;那么,执行步骤103,可以从该目标寄存器B的数据“a4b4c4d4e4”中,获取到该目标寄存器B对应的提取目标数据为:c4。同理,假设目标寄存器的标识为C,根据步骤102,获取到该目标寄存器C的数据为:a2b2c2d2e2;且第二指定位置为:目标寄存器的数据的第三个数据;那么,执行步骤103,可以从该目标寄存器C的数据“a2b2c2d2e2”中,获取到该目标寄存器B对应的提取目标数据为:c2。
需要说明的是,对于同一配置文件中的不同目标寄存器,编程语言中的第二指定位置一般是相同的,例如:均为目标寄存器的数据的第三个数据;但是,为了提取数据更加灵活,对于不同的目标寄存器,也可以对应于不同的第二指定位置,实现方式可以参见上述描述,这里不再赘述。
步骤104,将目标寄存器的提取目标数据保存到输出文件中该目标寄存器对应的第一位置。
可以理解的是,在根据步骤103查找到目标寄存器的提取目标数据后,可以将该目标寄存器的提取目标数据保存在该输出文件中,具体可以保存在该输出文件中该目标寄存器对应的第一位置。其中,第一位置,可以是预先设置的在输出文件中存储目标寄存器的提取目标数据的位置,例如:输出文件中该目标存储器对应行的第二位置之外的位置,如,该目标存储器对应行的第6列。
作为一个示例,步骤104具体可以为:按照目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将目标寄存器的提取目标数据保存到输出文件中各寄存器的提取目标数据之间的相应位置。
例如:假设配置文件X中各寄存器的标识的位置关系依次为:A、B和C,目标寄存器为B,处于寄存器A和寄存器C之间,那么,得到目标寄存器B的提取目标数据“c4”,可以保存在输出文件中寄存器A的提取目标数据和寄存器C的提取目标数据之间,得到的输出文件可以如下表3所示,也可以如下表4所示。
表3输出文件
寄存器A | …… | …… | …… | …… | …… | c<sub>1</sub> |
寄存器B | …… | …… | …… | …… | …… | c<sub>4</sub> |
寄存器C | …… | …… | …… | …… | …… | c<sub>2</sub> |
表4输出文件
如果配置文件中包括多个目标寄存器的标识,可以采用编程语言中的多个For循环实现。
其中,一种情况下,可以针对其中的每个目标寄存器,分别执行步骤101~步骤104,即,一旦得到了一个目标寄存器对应的提取目标数据,就将该提取目标数据保存在输出文件中该目标寄存器对应的第一位置。
另一种情况下,还可以针对其中的每个目标寄存器,执行步骤101~步骤103,获得每个目标寄存器对应的提取目标数据,再对多个提取目标数据执行步骤104,即,将多个目标寄存器对应的多个提取目标数据都保存在输出文件中,具体保存在该输出文件中各目标寄存器对应的第一位置。在该情况下,为了数据的全面和可靠,在未得到该配置文件中配置的所有寄存器对应的提取目标数据时,可以将当前针对各个目标寄存器得到的提取目标数据存放在临时文件中该目标寄存器对应的位置。
例如:假设配置文件X中各寄存器的标识的位置关系依次为:A、B和C,目标寄存器为B,处于寄存器A和寄存器C之间,那么,得到目标寄存器B的提取目标数据“c4”,可以保存在临时文件中寄存器A的提取目标数据和寄存器C的提取目标数据之间。
在一些可能的实现方式中,在提取过程中,如果配置文件中的寄存器的标识对应的各寄存器的数据未全部保存到输出文件,或者,配置文件中的寄存器的标识对应的各寄存器的提取目标数据未全部保存到临时文件,则,将该目标寄存器的提取目标数据保存到临时文件中该目标寄存器对应的位置;直到判定该配置文件中的寄存器的标识对应的各寄存器的数据已全部保存到输出文件,或者,该配置文件中的寄存器的标识对应的各寄存器的提取目标数据已全部保存到临时文件,则,认为该配置文件中的所有寄存器的标识对应的寄存器均以提取完成,可以将该临时文件中的数据保存到输出文件,并删除该临时文件。
例如:假设寄存器数据文件如上表1所示,第一指定位置为该寄存器数据文件的第一列,第二指定位置为;目标寄存器的数据的第三个数据;第一位置为单独用于存放提取目标数据的列中,该目标存储器对应的位置;第二位置为:输出文件中该目标存储器对应行的前5列。
那么,对于目标寄存器的标识A,可以根据步骤102得到目标寄存器A的数据“a1b1c1d1e1”,根据步骤103得到目标寄存器A的提取目标数据“c1”,此时,确定B和C的数据还未保存到输出文件,或者,确定B和C的提取目标数据还未保存到临时文件中,此时,可以将数据“a1b1c1d1e1”保存到输出文件中A对应的前5列,同时,将提取目标数据“c1”保存到临时文件中A对应的位置。
同理,对于目标寄存器的标识B,可以根据步骤102得到目标寄存器B的数据“a4b4c4d4e4”,根据步骤103得到目标寄存器B的提取目标数据“c4”,此时,确定C的数据还未保存到输出文件,或者,确定C的提取目标数据还未保存到临时文件中,此时,可以将数据“a4b4c4d4e4”保存到输出文件中B对应的前5列,同时,将提取目标数据“c4”保存到临时文件中B对应的位置。
同理,对于目标寄存器的标识C,可以根据步骤102得到目标寄存器C的数据“a2b2c2d2e2”,根据步骤103得到目标寄存器C的提取目标数据“c2”,此时,确定该配置文件X中的全部寄存器的数据都保存到输出文件,或者,确定该配置文件X中的全部寄存器的提取目标数据都保存到临时文件中,那么,可以将数据“a2b2c2d2e2”保存到输出文件中C对应的前5列,同时,将提取目标数据“c2”保存到临时文件中C对应的位置。此时,临时文件如下表5所示,输出文件如下表6所示。
表5临时文件
寄存器A | c<sub>1</sub> |
寄存器B | c<sub>4</sub> |
寄存器C | c<sub>2</sub> |
表6输出文件
寄存器A | a<sub>1</sub> | b<sub>1</sub> | c<sub>1</sub> | d<sub>1</sub> | e<sub>1</sub> |
寄存器B | a<sub>4</sub> | b<sub>4</sub> | c<sub>4</sub> | d<sub>4</sub> | e<sub>4</sub> |
寄存器C | a<sub>2</sub> | b<sub>2</sub> | c<sub>2</sub> | d<sub>2</sub> | e<sub>2</sub> |
此时,可以将该临时文件中的数据保存到输出文件,并删除该临时文件。具体而言,可以将临时文件中的提取目标数据对应添加到输出文件中目标寄存器对应的第一位置,即,单独用于存放提取目标数据的列中,该目标存储器对应的位置,得到的输出文件具体如下表7所示。
表7输出文件
需要说明的是,表6对应的输出文件中,每个目标寄存器的前5列中的数据可以用于对比校验该次提取数据是否正确;单独列出的“第三列数据”即为每个目标寄存器对应的提取目标数据,作为真正有效的数据被粘贴到Excel表格中,对寄存器数据的进行检证等处理。
需要说明的是,本实施例提供的方法如果采用windows脚本的编程语言实现,那么,配置文件可以是.cfg格式的文件、寄存器数据文件可以是.ior文件,而输出文件则可以是.txt文件。
可见,在本发明实施例中,当需要提取目标寄存器中的提取目标数据时,可以通过从预先设置的配置文件中读取目标寄存器的标识,再在寄存器数据文件中查找第一指定位置与目标寄存器的标识相匹配的寄存器数据,作为目标寄存器的数据;接着,从目标寄存器的数据中查找第二指定位置上的数据,作为该目标寄存器的提取目标数据;那么,即可将目标寄存器的提取目标数据保存到输出文件中该目标寄存器对应的第一位置。这样,利用本发明实施例提供的提取数据的方法,即可通过读取配置文件自动的在大量的寄存器中提取特定的寄存器数据,无需人工去提取寄存器数据,解决了人工提取寄存器数据时耗费的人工成本较多且提取效率低下等问题,节省了提取寄存器数据时的人工成本,提高寄存器数据的提取效率。
相应的,本发明实施例还提供了一种提取数据的装置,如图3所示,该装置具体可以包括:
读取单元301,用于从配置文件中读取目标寄存器的标识;
第一查找单元302,用于在寄存器数据文件中查找第一指定位置与所述目标寄存器的标识相匹配的寄存器数据,作为所述目标寄存器的数据;
第二查找单元303,用于从所述目标寄存器的数据中查找第二指定位置上的数据,作为目标寄存器的提取目标数据;
第一保存单元304,用于将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置。
可选地,所述第一保存单元304,具体用于:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的提取目标数据保存到输出文件中各寄存器的提取目标数据之间的相应位置。
可选地,该装置还包括:
第二保存单元,用于将所述目标寄存器的数据保存到所述输出文件中所述目标寄存器对应的第二位置。
可选地,所述第二保存单元,具体用于:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的数据保存到输出文件中各寄存器的数据之间的相应位置。
可选地,所述第一保存单元304,包括:
第一保存子单元,用于若标识记录在所述配置文件中的各寄存器的数据未全部保存到所述输出文件或标识记录在所述配置文件中的各寄存器的提取目标数据未全部保存到临时文件,将所述目标寄存器的提取目标数据保存到所述临时文件中所述目标寄存器对应的位置;
第二保存子单元,用于若标识记录在所述配置文件中的各寄存器的数据已全部保存到所述输出文件或标识记录在所述配置文件中的各寄存器的提取目标数据已全部保存到临时文件,将所述临时文件中的数据保存到所述输出文件并删除所述临时文件。
可选地,所述装置通过windows脚本的编程语言运行。
可选地,所述第一指定位置和所述第二指定位置为所述编程语言中的两个指定变量。
上述描述为提取数据的装置的相关描述,其中,具体实现方式以及达到的效果,可以参见图1所示的提取数据的方法实施例的描述,这里不再赘述。
此外,本发明实施例还提供了一种提取数据的设备,如图4所示,该设备包括处理器401以及存储器402:
所述存储器402用于存储程序代码,并将所述程序代码传输给所述处理器401;
所述处理器401用于根据所述程序代码中的指令执行图1所示的实施例所提供的提取数据的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于装置和设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种提取数据的方法,其特征在于,包括:
从配置文件中读取目标寄存器的标识;
在寄存器数据文件中查找第一指定位置与所述目标寄存器的标识相匹配的寄存器数据,作为所述目标寄存器的数据;
从所述目标寄存器的数据中查找第二指定位置上的数据,作为目标寄存器的提取目标数据;
将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置,具体为:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的提取目标数据保存到输出文件中各寄存器的提取目标数据之间的相应位置。
3.根据权利要求1所述的方法,其特征在于,还包括:
将所述目标寄存器的数据保存到所述输出文件中所述目标寄存器对应的第二位置。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标寄存器的数据保存到所述输出文件中所述目标寄存器对应的第二位置,具体为:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的数据保存到输出文件中各寄存器的数据之间的相应位置。
5.根据权利要求3所述的方法,其特征在于,所述将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置,包括:
若标识记录在所述配置文件中的各寄存器的数据未全部保存到所述输出文件或标识记录在所述配置文件中的各寄存器的提取目标数据未全部保存到临时文件,将所述目标寄存器的提取目标数据保存到所述临时文件中所述目标寄存器对应的位置;
若标识记录在所述配置文件中的各寄存器的数据已全部保存到所述输出文件或标识记录在所述配置文件中的各寄存器的提取目标数据已全部保存到临时文件,将所述临时文件中的数据保存到所述输出文件并删除所述临时文件。
6.一种提取数据的装置,其特征在于,包括:
读取单元,用于从配置文件中读取目标寄存器的标识;
第一查找单元,用于在寄存器数据文件中查找第一指定位置与所述目标寄存器的标识相匹配的寄存器数据,作为所述目标寄存器的数据;
第二查找单元,用于从所述目标寄存器的数据中查找第二指定位置上的数据,作为目标寄存器的提取目标数据;
第一保存单元,用于将所述目标寄存器的提取目标数据保存到输出文件中所述目标寄存器对应的第一位置。
7.根据权利要求6所述的装置,其特征在于,所述第一保存单元,具体用于:
按照所述目标寄存器的标识在所述配置文件中各寄存器的标识之间的位置,将所述目标寄存器的提取目标数据保存到输出文件中各寄存器的提取目标数据之间的相应位置。
8.根据权利要求6所述的装置,其特征在于,还包括:
第二保存单元,用于将所述目标寄存器的数据保存到所述输出文件中所述目标寄存器对应的第二位置。
9.一种提取数据的设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1至5任一项所述的提取数据的方法。
10.一种存储介质,其特征在于,所述存储介质用于存储程序代码,所述程序代码用于执行权利要求1至5任一项所述的提取数据的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626038.4A CN109814926B (zh) | 2018-12-28 | 2018-12-28 | 一种提取数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626038.4A CN109814926B (zh) | 2018-12-28 | 2018-12-28 | 一种提取数据的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109814926A true CN109814926A (zh) | 2019-05-28 |
CN109814926B CN109814926B (zh) | 2021-07-09 |
Family
ID=66602654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811626038.4A Active CN109814926B (zh) | 2018-12-28 | 2018-12-28 | 一种提取数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109814926B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119278A (zh) * | 2007-09-14 | 2008-02-06 | 广东威创日新电子有限公司 | 一种处理海量数据的方法及系统 |
JP2010003258A (ja) * | 2008-06-23 | 2010-01-07 | Canon It Solutions Inc | 情報処理装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体 |
CN102930008A (zh) * | 2012-10-29 | 2013-02-13 | 无锡江南计算技术研究所 | 向量查表方法以及处理器 |
CN104408138A (zh) * | 2014-11-28 | 2015-03-11 | 国家电网公司 | 数据查找方法及装置 |
CN104583938A (zh) * | 2012-08-23 | 2015-04-29 | 高通股份有限公司 | 向量处理器中的数据提取系统和方法 |
CN106326272A (zh) * | 2015-06-30 | 2017-01-11 | 深圳市银信网银科技有限公司 | 建立交互绑定关系的方法及交互终端 |
CN106844491A (zh) * | 2016-12-26 | 2017-06-13 | 中国石油天然气集团公司 | 一种临时数据的写入、读取方法及写入、读取装置 |
CN106998494A (zh) * | 2017-04-24 | 2017-08-01 | 腾讯科技(深圳)有限公司 | 一种视频录制方法及相关装置 |
CN107391089A (zh) * | 2017-07-28 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种流水线避免堵塞的电路实现方法 |
CN107632926A (zh) * | 2017-09-18 | 2018-01-26 | 郑州云海信息技术有限公司 | 业务数量统计方法、装置、设备及计算机可读存储介质 |
-
2018
- 2018-12-28 CN CN201811626038.4A patent/CN109814926B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119278A (zh) * | 2007-09-14 | 2008-02-06 | 广东威创日新电子有限公司 | 一种处理海量数据的方法及系统 |
JP2010003258A (ja) * | 2008-06-23 | 2010-01-07 | Canon It Solutions Inc | 情報処理装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体 |
CN104583938A (zh) * | 2012-08-23 | 2015-04-29 | 高通股份有限公司 | 向量处理器中的数据提取系统和方法 |
CN102930008A (zh) * | 2012-10-29 | 2013-02-13 | 无锡江南计算技术研究所 | 向量查表方法以及处理器 |
CN104408138A (zh) * | 2014-11-28 | 2015-03-11 | 国家电网公司 | 数据查找方法及装置 |
CN106326272A (zh) * | 2015-06-30 | 2017-01-11 | 深圳市银信网银科技有限公司 | 建立交互绑定关系的方法及交互终端 |
CN106844491A (zh) * | 2016-12-26 | 2017-06-13 | 中国石油天然气集团公司 | 一种临时数据的写入、读取方法及写入、读取装置 |
CN106998494A (zh) * | 2017-04-24 | 2017-08-01 | 腾讯科技(深圳)有限公司 | 一种视频录制方法及相关装置 |
CN107391089A (zh) * | 2017-07-28 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种流水线避免堵塞的电路实现方法 |
CN107632926A (zh) * | 2017-09-18 | 2018-01-26 | 郑州云海信息技术有限公司 | 业务数量统计方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
郭军: "基于语义的二进制代码自动化反混淆方法", 《华中科技大学学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109814926B (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9954895B2 (en) | System and method for identifying phishing website | |
CN109949797B (zh) | 一种训练语料的生成方法、装置、设备及存储介质 | |
CN111737499B (zh) | 基于自然语言处理的数据搜索方法及相关设备 | |
CN107688803B (zh) | 字符识别中识别结果的校验方法和装置 | |
EP1457898A3 (en) | Data search system and method | |
CN108053545A (zh) | 证件验真方法和装置、服务器、存储介质 | |
CN102289467A (zh) | 确定目标网点的方法和装置 | |
EP2079186A2 (en) | Competition cheat-preventing system and method | |
WO2019114673A1 (zh) | 基于最小分支路径函数胎记的软件局部抄袭证据生成方法 | |
CN109522740B (zh) | 健康数据的去隐私化处理方法及系统 | |
CN104866308A (zh) | 一种场景图像的生成方法及装置 | |
CN111104795A (zh) | 公司名称的匹配方法、装置、计算机设备及存储介质 | |
CN105791446A (zh) | 一种民间借贷处理方法、装置及系统 | |
CN107578506A (zh) | 物联网终端的控制方法及装置 | |
CN109241780A (zh) | 一种图像隐藏信息的检测方法、装置及设备 | |
CN102567534A (zh) | 互动产品用户生成内容拦截系统及其拦截方法 | |
US11609897B2 (en) | Methods and systems for improved search for data loss prevention | |
CN102346925A (zh) | 电子票存储设备、电子检票系统及方法 | |
CN109359275B (zh) | 一种数据转换方法和装置 | |
CN113704406A (zh) | 一种流行缩略语的中文释义匹配系统与方法 | |
CN109814926A (zh) | 一种提取数据的方法和装置 | |
CN114710468B (zh) | 一种域名生成和识别方法、装置、设备及介质 | |
CN110046352A (zh) | 地址标准化方法及装置 | |
CN102012897A (zh) | 一种实现高命中率的逐词比对方法 | |
CN110705258A (zh) | 文本实体识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |