CN117291172A - 基于事件来解析信息的方法、装置和计算机可读介质 - Google Patents
基于事件来解析信息的方法、装置和计算机可读介质 Download PDFInfo
- Publication number
- CN117291172A CN117291172A CN202311311838.8A CN202311311838A CN117291172A CN 117291172 A CN117291172 A CN 117291172A CN 202311311838 A CN202311311838 A CN 202311311838A CN 117291172 A CN117291172 A CN 117291172A
- Authority
- CN
- China
- Prior art keywords
- event
- value
- path
- information
- location
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000006243 chemical reaction Methods 0.000 claims abstract description 86
- 230000008859 change Effects 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000013507 mapping Methods 0.000 claims description 23
- 230000009466 transformation Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 4
- 210000001072 colon Anatomy 0.000 description 19
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 230000008713 feedback mechanism Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
提供了基于事件来解析信息的方法、装置和计算机介质。所述方法包括:从所述信息中标识信息的路径变化事件;响应于标识出所述路径变化事件,记录所述信息的当前路径位置;从所述信息中标识信息的值事件;响应于标识出所述值事件,根据所记录的当前路径位置检索转换规则;以及利用检索到的转换规则对值事件进行处理,以解析与所述值事件对应的值。
Description
技术领域
本发明涉及基于事件来解析信息的方法、装置和计算机可读介质。具体地,本发明涉及信息系统中的信息传输、格式化字符报文信息的提取以及解析。
背景技术
随着各行业的蓬勃发展,云化架构的普及正在推动企业级信息应用的快速增长,在这个背景下,各应用系统以及不同企业应用系统之间的通信量也呈现爆炸性增长的趋势,系统间多以格式化字符报文为载体,完成数据交互和处理,格式化字符报文包括例如xml格式和json格式等等。
由于计算机系统内部不能直接处理此类格式化字符报文,应用程序在处理此类信息时,需要将格式化字符流形式的报文,转换成为计算机内部可以处理的目标数据结构,这个过程称为格式化字符报文信息的提取、解析过程。
目前,通常采用文档对象模型(Document ObjectModel,简称DOM)技术来进行格式化字符报文信息的提取、解析过程。在文档对象模型技术中,需要在计算机内部构建出与格式化字符报文结构完全相同的文档数据模型和空的目标数据结构。在填充目标数据结构的过程中,需要在文档对象模型中找到对应的一个或一组值,对所找到的值进行计算以得到结果,并将结果存储到目标数据结构的指定位置上。
使用文档对象模型技术需要占用大量内存空间并且需要构建文档对象模型。此外,文档对象模型技术需要以下两步处理:将格式化字符报文转换成文档对象模型;以及将文档对象模型转换成计算机可处理的目标数据结构,这会消耗较长处理时间。
发明内容
根据本发明的一个方面,提供了一种基于事件来解析信息的方法,包括:从所述信息中标识信息的路径变化事件;响应于标识出所述路径变化事件,记录所述信息的当前路径位置;从所述信息中标识信息的值事件;响应于标识出所述值事件,根据所记录的当前路径位置检索转换规则;以及利用检索到的转换规则对值事件进行处理,以解析与所述值事件对应的值。通过该方法,响应于从信息中标识出值事件,根据信息的当前路径位置检索转换规则来对信息进行解析,从而无需构建与要解析的信息对应的文档对象模型。因此,节省了解析信息所需的内存空间并缩短了处理时间。
根据本发明的另一个方面,提供了一种基于事件来解析信息的装置,包括:路径标识模块,用于从所述信息中标识信息的路径变化事件;路径记录模块,用于响应于标识出所述路径变化事件,记录所述信息的当前路径位置;值事件标识模块,用于从所述信息中标识信息的值事件;检索模块,用于响应于标识出所述值事件,根据所记录的当前路径位置检索转换规则;以及解析模块,用于利用检索到的转换规则对值事件进行处理,以解析与所述值事件对应的值。
根据本发明的另一个方面,提供了一种其上存储有指令的计算机可读介质,所述指令当被执行时使得计算设备执行根据本发明所描述的方法。
本发明实现了将诸如格式化报文的信息直接转换为计算机可处理的形式,例如计算机可处理的目标数据结构。这在提高转换速率的同时,降低了对计算机系统内存的开销。因此,在同等硬件配置的服务器中,可以承载并处理更多报文转换,以达到降本增效的效果。
附图说明
现在将参照附图描述本发明的具体示例性实施例。然而,本发明可以以很多不同的形式实施,并且不应该被解读为限于本文所阐述的实施例;相反,这些实施例被提供以便使该公开全面而完整,并且将向本领域技术人员完全表达本发明的范围。在对附图所示特定示例性实施例的详细描述中所使用的术语不打算对本发明是限制性的。在附图中,类似的数字指代类似的部件。
图1是根据本发明实施例示出用于基于事件来解析信息的方法的流程图;
图2是根据本发明实施例示出用于说明格式化字符报文的示例的图;
图3是根据本发明实施例示出可由计算机处理的目标数据结构的示例的图;
图4是根据本发明实施例示出转换规则的示例的图;
图5是根据本发明实施例示出基于字符流事件的报文信息解析的方法的流程图;
图6是根据本发明实施例示出基于格式化字符流解析信息的说明性视图;
图7是根据本发明实施例示出用于基于事件来解析信息的装置的框图;以及
图8是示出根据本发明实施例的计算设备的框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明技术方案作进一步说明。
使用在这里,除非以其他方式明确指出,否则单数形式“一”和“所述”也打算包括复数形式。应该进一步理解,使用在该说明书中,术语“包括”意指存在所陈述的特征、整数、步骤、操作、部件和/或组件,但是并不排除存在或添加一个或更多个其他特征、整数、步骤、操作、部件、组件和/或其组成的组。
图1是根据本发明实施例示出用于基于事件来解析信息的方法100的流程图。如图1中所示,在步骤102处,从信息中标识信息的路径变化事件。作为示例,所述信息可以包括用于在各种应用系统之间进行数据交互和处理的各种报文。例如,这样的报文可以包括诸如xml格式和json格式的各种格式化字符报文。信息中的路径变化事件可以是用于指示信息中内容发生变化或者指示信息中的特定内容的事件。路径变化事件可以是由用户指定的事件或者是由格式化字符报文所规定的事件。作为示例,图2是根据本发明实施例示出用于说明格式化字符报文的示例的图,其示出了json格式的格式化字符报文的示例。参照图2,步骤102中所描述的信息可以例如对应于该json格式的格式化字符报文。相应地,所述信息中的路径变化事件可以对应于该格式化字符报文中的特定字符,例如冒号“:”等。具体而言,在图2所示的格式化字符报文中,诸如冒号的特定字符可以指示该字符后面的内容可能与该字符前面的内容相比发生变化,例如这二者的内容可以指示不同类型的数据。特别地,如图2中所示,第一个冒号前面的内容为“id”,其例如可以指示任何对象的标识(即,id)。该冒号后面的内容为“ax7428394723463476537”,其例如可以指示作为id的值的一个具体字符串。因此,在图2的示例中,可以将诸如冒号的特定字符指定为信息的路径变化事件。应该理解的是,除了json以外,本文公开的实施例可以应用于各种其他格式的信息,包括但不限于:xml、CSV(Comma Separated Values)、Properties等等。
返回图1,在步骤104处,响应于标识出所述路径变化事件,记录所述信息的当前路径位置。特别地,信息的当前路径位置可以指示标识出的路径变化事件在所述信息中所处的位置。在一个示例中,如上文所述,信息中的路径变化事件可以是用于指示信息中内容发生变化或者指示信息中的特定内容的事件。相应地,在该示例中,信息的当前路径位置可以指示信息中内容发生变化所处的位置或者指示信息中特定内容所处的位置。特别地,在图2所示的示例中,可以将冒号指定为信息的路径变化事件。相应地,在该示例中,可以将冒号前面的内容指定为当前路径位置。可替换地,可以基于冒号前面的内容来生成当前路径位置。例如,可以向冒号前面的内容添加特定字符来生成当前路径位置。例如,在图2所示的示例中,第一个冒号可以被标识出作为路径变化事件。响应于该标识,可以记录当前路径位置为id。可替换地,可以基于内容“id”生成当前路径位置/id,并将其记录为当前路径位置。换言之,在该可替换示例中,向内容id添加特定字符/来生成当前路径位置/id。应该理解的是,可以添加各种字符或者使用各种方法来生成当前路径位置,本发明不受此限制。
在步骤106处,从所述信息中标识信息的值事件。信息中的值事件可以是用于指示信息中存在要解析的值的事件。值事件可以是由用户指定的事件或者是由格式化字符报文所规定的事件。作为示例,在图2所示的格式化字符报文中,所述信息中的值事件可以对应于该格式化字符报文中的特定字符,例如逗号“,”、右大括号“}”等。具体而言,在图2所示的格式化字符报文中,诸如逗号的特定字符可以指示该字符前面的内容可能存在要解析的值。特别地,如图2中所示,第一个逗号前面的内容为“ax7428394723463476537”,其例如可以指示作为id的值的一个具体字符串。因此,在图2的示例中,可以将诸如逗号的特定字符指定为信息的值事件。
在步骤108处,响应于标识出所述值事件,根据所记录的当前路径位置检索转换规则。作为示例,转换规则描述了可以对数据进行的转换。在本发明的实施例中,被转换后的数据可以被计算机直接进行处理。在一个实施例中,转换规则包括上文所述的信息的当前路径位置与目标位置之间的映射。在该实施例中,目标位置例如可以是计算机的处理器可以访问的内存或其他存储器中的位置。在另一个实施例中,目标位置可以是由所述转换规则指定的位于目标数据结构中的位置,并且所述目标数据结构是计算机可直接处理的。例如,在格式化字符报文的示例中,转换规则需要明确描述作为转换结果的目标数据结构中位于某一个位置上的元数据(例如:字符串、整数、浮点数、布尔变量、日期,等),是由格式化字符报文中的对应位置单个值或者几个节点位置的组合值,计算生成的。图3是根据本发明实施例示出可由计算机处理的目标数据结构的示例的图。如图3所示,该目标数据结构描述了一个名为People的类,它具有以下属性:employerId:表示雇主的标识,类型为字符串;employerName:表示雇主的名称,类型为字符串;score:表示分数,类型为浮点数;birthDay:表示出生日期,类型为日期;Relative:表示一个内部类。内部类Relative可以包括以下属性:fatherName:表示父亲的姓名,类型为字符串;motherName:表示母亲的姓名,类型为字符串;wifeName:表示妻子的姓名,类型为字符串。作为示例,转换规则可以表示为:文档位置(路径)->对象字段位置(路径),也即在上述示例中当前路径位置与目标位置之间的映射。图4是根据本发明实施例示出转换规则的示例的图。具体地,在图4中,示出了表示图2中格式化字符报文的各个当前路径位置与目标位置之间的映射的多个转换规则:/id->employerId;/name->employerName;/score->score;/birthDay->birthDay;
/family/father->relative/fatherName;/family/mother->relative/motherName;/family/wife->relative/wifeName。应该理解的是,所使用的转换规则可以包括更多或更少的映射,本发明不受此限制。
回到图1,在步骤110处,利用检索到的转换规则对值事件进行处理,以解析与所述值事件对应的值。作为示例,可以利用转换规则将该值解析为任何期望格式的值或数据,使得其能够由计算机直接处理。照此,基于上述路径变化事件和值事件,可以检索到所需的转换规则以对诸如格式化字符报文的信息中的相应值进行解析,而无需构建任何中间模型,例如文档对象模型(DOM)。进一步的,在上文所述的转换规则包括当前路径位置与目标位置之间的映射的实施例中,方法100还可以包括根据所述映射将与所述值事件对应的值存储到目标位置以供计算机直接处理。在采用目标数据结构的另一个实施例中,方法100还可以包括根据所述映射将与所述值事件对应的值存储到目标数据结构中的目标位置,该目标数据结构可以由计算机直接处理。照此,针对诸如格式化字符报文的信息,可以实现在读取信息的同时将信息解析为计算机可直接处理的数据,而无需构建诸如文档对象模型(DOM)的任何中间模型。因此,节省了解析信息所需的内存空间并缩短了处理时间。
在另外的实施例中,诸如格式化字符报文的信息的路径位置可以是包括一个或多个层级的分层级路径位置。在该实施例中,方法100还可以包括当标识出所述值事件时,生成路径返回事件,以及在与所述值事件对应的值被存储到目标位置之后,关于路径返回事件使当前路径位置返回到前一层级路径位置。作为示例,在图2所示的格式化字符报文中,第一层级路径位置可以包括id或者基于“id”生成的/id,如上文所述的那样。类似地,第一层路径位置还可以包括name或者基于“name”生成的/name;score或者基于“score”生成的/score;birthDay或者基于“birthDay”生成的/birthday;gender或者基于“gender”生成的/gender;family或者基于“family”生成的/family。第二层级路径位置可以包括在从信息中标识出两个相继的路径变化事件而未标识出值事件时生成的路径位置,例如参照图2所示基于“family”、“father”、“mother”和“wife”生成的/family/father、/family/mother以及/family/wife。应当理解的是,可以如上所述那样生成更多层级的路径位置,在此不再赘述。在上述实施例中,例如,可以在与值事件对应的值(参照图2,例如,“ax7428394723463476537”、“Jackson Li”、“93.2”等等)被存储到目标位置之后,关于路径返回事件使当前路径位置返回到前一层级路径位置。例如,对于诸如/id、/name、/score、/birthday、/gender和/family的第一层级路径位置,相应地返回到所添加的特定字符/,并且对于诸如/family/father、/family/mother和/family/wife的第二层级路径位置,相应地返回到/family。在另一个示例中,对于诸如id、name、score、birthDay、gender、family的第一层级路径位置,同样可以相应地返回到指定的特定字符(例如/),并且对于诸如familyfather、familymother和familywife的第二层级路径位置,相应地返回到/family。在上述情况中,例如可以将诸如/的特定字符用作初始层级路径位置。在返回前一层级路径位置之后,可以通过如上所述的方法步骤继续对信息进行解析,直到标识出结束事件。类似地,结束事件可以是由用户指定的事件或者是由格式化字符报文所规定的事件。
图5是根据本发明实施例示出基于字符流事件的报文信息解析的方法500的流程图。在图5所示的实施例中,要解析的信息可以是诸如图2所示的格式化字符报文。在解析之前,可以构建一个空的目标数据结构,例如图3所示的可以由计算机直接处理的目标数据结构。然后,以字符流的方式,逐字符遍历格式化字符报文。在遍历的过程中,响应于路径变化事件被标识,记录当前遍历到的文档路径位置;在遍历到的一个或一组值(也即,值事件被标识)后,再遍历转换规则(例如,图4所示的转换规则);根据当前文档路径位置找到对应的转换规则;以及将值事件对应的值存储到目标数据结构上由转换规则指定的目标位置。
更具体地,参照图5,在开始逐字符遍历格式化字符报文后,在步骤502处,可以确定是否到达报文的字符流末尾。如果是,即已经到达字符流末尾,则方法500结束。否则,还未到达字符流末尾,则方法500前进到步骤504,其中从字符流中读取一个字符。作为另一个示例,在步骤504处,也可以从字符流中读取多个字符或者字符组。在读取字符后,在步骤506处,确定是否生成事件。如果未生成事件,则方法500回到步骤502继续读取字符。如果确定生成事件,则方法500前进到步骤508,其中确定所生成的事件是路径变化事件还是值事件。如果所生成的事件是路径变化事件,则方法500前进到步骤510,其中更新并记录报文的当前路径位置,然后回到步骤502继续读取字符。如果所生成的事件是值事件,则方法前进到步骤512,其中开始遍历转换规则。例如,转换规则可以是如图4所述的多个转换规则,其例如可以是转换规则的列表。在开始遍历转换规则后,在步骤514处,将转换规则指针指向第一条转换规则,并且方法500前进到步骤516。在步骤516处,确定当前的转换规则中包含的路径位置是否为在步骤510中更新并记录的当前路径位置。如果是,表明检索到了与当前路径位置对应的转换规则,方法500前进到步骤518。在步骤518处,根据检索到的转换规则,将当前值事件中的值赋予当前转换规则指定的目标数据结构中的字段。作为具体示例,在方法500的一个循环执行中,步骤506处生成的值事件(在图2的示例中可以是逗号)对应的值可以是“ax7428394723463476537”。在该示例中,检索到的转换规则可以是如图4中所示的/id->employerId,相应地可以将字符串“ax7428394723463476537”赋予转换规则指定的目标数据结构中的字段employerId。然后,方法500前进到步骤520,其中确定转换规则指针是否已到达末尾。如果否,表明还存在未遍历到的转换规则,则方法500前进到步骤522以将转换规则指针指向下一条转换规则,并前进到步骤516以继续处理。如果在步骤520确定转换规则指针已到达末尾,则方法500前进到步骤502以继续读取字符。此外,如果在上面的步骤516处确定当前转换规则中的路径位置不是当前路径位置,则方法500前进到步骤520以继续如上所述的转换规则的遍历。附加地或者可替换地,如果在图5所示的遍历转换规则的过程中未检索到与当前路径位置对应的任何转换规则,则表明当前值事件的值可能是不需要被赋予到目标数据结构中或者不被业务逻辑需要的值,因此可以抛出异常并前进到步骤502以继续读取字符。可替换地,在这种情况中,可以返回与当前路径位置相关的反馈,然后可以根据该反馈来更新转换规则和目标数据结构,从而实现用于动态更新和补充转换规则的反馈机制。例如,可以根据当前路径位置向转换规则添加对应的映射,该映射包括该当前路径位置和期望将其映射到的目标位置,该目标位置例如可以由用户指定。相应地,可以将该目标位置添加到目标数据结构中。通过这样的反馈机制,可以方便地对企业应用系统用于数据交互和处理的业务逻辑进行扩展。
在如图5所示的方法500的遍历过程完成之后,可以得到填充后的目标数据结构,例如图3所定义的目标数据结构,该目标数据结构可以由计算机直接处理。简而言之,在上述示例中,可以直接由图2所示的报文得到图3所示的目标数据结构,而不经过与文档对象模型(DOM)相关的中间处理过程。因此,节省了解析信息所需的内存空间并缩短了处理时间。
图6是根据本发明实施例示出基于格式化字符流解析信息的说明性视图。在该实施例中,所解析的信息为例如图2所述的格式化字符报文。具体地,如图6所示,用编号示出了解析过程中的相应位置:
1.遍历字符流,当遍历到位置1的冒号时,标识到路径变化事件,记录当前路径位置/id;
2.继续遍历字符流,当遍历到位置2的逗号时,标识到值事件(其对应的值为字符串"ax7428394723463476537"),并生成路径返回事件;
a.关于值事件,遍历转换规则(例如图4所示的转换规则),检索到路径位置为当前路径位置(/id)的转换规则,其包括映射/id->employerId,将当前值事件的值,即字符串"ax7428394723463476537"赋予转换规则指定的目标数据结构(例如图3中所示的目标数据结构)中的字段employerId;
b.关于路径返回事件,将当前路径位置返回到/;
3.继续遍历字符流,当遍历到位置3的冒号时,标识到路径变化事件,记录当前路径位置/name;
4.继续遍历字符流,当遍历到位置4的逗号时,标识到值事件(其对应的值为字符串"Jackson Li"),并生成路径返回事件;
a.关于值事件,遍历转换规则,检索到路径位置为当前路径位置(/name)的转换规则,其包括映射/name->employerName,将当前值事件的值,即字符串"Jackson Li"赋予转换规则指定的目标数据结构中的字段employerName;
b.关于路径返回事件,将当前路径位置返回到/;
5.继续遍历字符流,当遍历到位置5的冒号时,标识到路径变化事件,记录当前路径位置/score;
6.继续遍历字符流,当遍历到位置6的逗号时,标识到值事件(其对应的值为字符串"93.2"),并生成路径返回事件;
a.关于值事件,遍历转换规则,检索到路径位置为当前路径位置(/score)的转换规则,其包括映射/score->score,将当前值事件的值,即字符串"93.2"赋予转换规则指定的目标数据结构中的字段score;
b.关于路径返回事件,将当前路径位置返回到/;
7.继续遍历字符流,当遍历到位置7的冒号时,标识到路径变化事件,记录当前路径位置/birthDay;
8.继续遍历字符流,当遍历到位置8的逗号时,标识到值事件(其对应的值为字符串"1990.12.25"),并生成路径返回事件;
a.关于值事件,遍历转换规则,检索到路径位置为当前路径位置(/birthDay)的转换规则,其包括映射/birthDay->birthDay,将当前值事件的值,即字符串"1990.12.25"赋予转换规则指定的目标数据结构中的字段birthDay;
b.关于路径返回事件,将当前路径位置返回到/;
9.继续遍历字符流,当遍历到位置9的冒号时,标识到路径变化事件,记录当前路径位置/gender;
10.继续遍历字符流,当遍历到位置10的逗号时,标识到值事件(其对应的值为字符串"male"),并生成路径返回事件;
a.关于值事件,遍历转换规则,检索路径位置为当前路径位置(/gender)的转换规则,结果是不存在;在这种情况下,如上文关于图5的方法所描述的,可以通过反馈机制更新和补充转换规则,该转换规则包括映射/gender->gender,并向目标数据结构中添加属性:gender:表示性别,类型为字符串(即,String gender);
b.关于路径返回事件,将当前路径位置返回到/;
11.继续遍历字符流,当遍历到位置11的冒号时,标识到路径变化事件,记录当前路径位置/family;
12.继续遍历字符流,当遍历到位置12的冒号时,标识到路径变化事件,记录当前路径位置/family/father;
13.继续遍历字符流,当遍历到位置13的逗号时,标识到值事件(其对应的值为字符串"Martin Li"),并生成路径返回事件;
a.关于值事件,遍历转换规则,检索到路径位置为当前路径位置(/family/father)的转换规则,其包括映射/family/father->relative/fatherName,将当前值事件的值,即字符串"Martin Li"赋予转换规则指定的目标数据结构中的字段relative/fatherName;
b.关于路径返回事件,将当前路径位置返回到/family;
14.继续遍历字符流,当遍历到位置14的冒号时,标识到路径变化事件,记录当前路径位置/family/mother;
15.继续遍历字符流,当遍历到位置15的逗号时,标识到值事件(其对应的值为字符串"Lily Zhang"),并生成路径返回事件;
a.关于值事件,遍历转换规则,检索到路径位置为当前路径位置(/family/mother)的转换规则,其包括映射/family/mother->relative/motherName,将当前值事件的值,即字符串"Lily Zhang"赋予转换规则指定的目标数据结构中的字段relative/motherName;
b.关于路径返回事件,将当前路径位置返回到/family;
16.继续遍历字符流,当遍历到位置16的冒号时,标识到路径变化事件,记录当前路径位置/family/wife;
17.继续遍历字符流,当遍历到位置17的右大括号时,标识到值事件(其对应的值为字符串"Sally Wang"),并生成路径返回事件;
a.关于值事件,遍历转换规则,检索到路径位置为当前路径位置(/family/wife)的转换规则,其包括映射/family/wife->relative/wifeName,将当前值事件的值,即字符串"SallyWang"赋予转换规则指定的目标数据结构中的字段relative/wifeName;
b.关于路径返回事件,将当前路径位置返回到/family;
18.结束。
通过如上所描述的具体示例过程,可以根据如图2所示的报文获得例如图3所定义的目标数据结构,该目标数据结构可以由计算机直接处理,而无需构建文档对象模型(DOM)。因此,节省了解析信息所需的内存空间并缩短了处理时间。
现在参照图7,示出了根据本发明实施例用于基于事件来解析信息的装置700的框图。如图7中所示,装置700可以包括路径标识模块702、路径记录模块704、值事件标识模块706、检索模块708以及解析模块710。路径标识模块702可以用于从所述信息中标识信息的路径变化事件。例如,所述信息可以是如图2所示的格式化字符报文。例如,可以根据如上文所描述的各种方法来从所述信息中标识信息的路径变化事件。路径记录模块704可以用于响应于标识出所述路径变化事件,记录所述信息的当前路径位置。同样地,可以根据如上文所描述的各种方法来记录所述信息的当前路径位置。值事件标识模块706可以用于从所述信息中标识信息的值事件。例如,可以根据如上文所描述的各种方法从所述信息中标识信息的值事件。检索模块708可以用于响应于标识出所述值事件,根据所记录的当前路径位置检索转换规则。例如,所述转换规则可以是如图4所示的转换规则,并且可以根据如上文所描述的各种方法来检索转换规则。解析模块710可以用于利用检索到的转换规则对值事件进行处理,以解析与所述值事件对应的值。例如,可以根据如上文所描述的各种方法来解析对应的值。在另外的实施例中,转换规则可以包括当前路径位置与目标位置之间的映射,装置700还可以包括存储模块,用于根据所述映射将与值事件对应的值存储到目标位置以供计算机直接处理。在另外的实施例中,所述目标位置是由所述转换规则指定的位于目标数据结构中的位置,例如图3所示的目标数据结构,其是计算机可直接处理的。在另外的实施例中,信息的路径位置可以是包括一个或多个层级的分层级路径位置。在该实施例中,装置700还可以包括路径返回模块,用于当标识出所述值事件时,生成路径返回事件,以及在与所述值事件对应的值被存储到目标位置之后,关于路径返回事件使当前路径位置返回到前一层级路径位置。附加地或可替换地,装置700还可以包括反馈模块,用于执行与上文所述的反馈机制相关的各种操作。在各种实施例中,装置700中的相应模块可以用于执行如上文所描述的任何方法的步骤。
附加地或可替换地,可以使用计算机处理器、存储器单元、存储设备、计算机软件和其他组件在一台或更多台计算机或服务器或类似设备上实现本申请的上述方法、通用对接模块、服务平台或第三方平台。这种计算机或服务器的高级框图在图8中示出。在此,计算机、服务器或其它包括处理器的设备统称为计算设备。计算设备802包含处理器804,处理器804通过执行定义了整体操作的计算机程序指令来控制计算机802的操作。可以将计算机程序指令存储在存储设备812(例如磁盘)中并在需要执行计算机程序指令时将其加载到存储器810中。因此,参照图1和图2的方法的步骤可以由存储在存储器810和/或存储设备812中的计算机程序指令定义,并由执行该计算机程序指令的处理器804控制。计算设备802还包括一个或更多个网络接口806,用于经由网络与其他设备进行通信。计算设备802还包括使用户能够与计算机802进行交互的其他输入/输出设备808(例如,显示器、键盘、鼠标、扬声器、按钮等)。本领域的技术人员将认识到,实际计算机的实施方式也可以包含其他组件,并且图8是用于说明目的的这种计算机的一些组件的高级表示。
存储设备812和存储器810均包括有形的非暂时性计算机可读存储介质。存储设备812和存储器810均可包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率同步动态随机存取存储器(DDR RAM)或其他随机存取固态存储器设备,并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备(诸如内部硬盘和可移动磁盘)、磁光盘存储设备、光盘存储设备、闪存设备、半导体存储器设备(诸如可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM))、紧凑盘只读存储器(CD-ROM)、数字多功能盘只读存储器(DVD-ROM)盘或其他非易失性固态存储设备。
在另一实施例中,可以在基于网络的云计算系统中实现上述方法、通用对接模块、服务平台或第三方平台。在这样的基于网络的云计算系统中,服务器经由网络与一个或更多个客户端计算机通信。客户端计算机可以例如经由驻留在客户端计算机上并在其上运行的网络浏览器应用与服务器进行通信。客户端计算机可以将数据存储在服务器上,并经由网络访问该数据。客户端计算机可以经由网络将数据请求或在线服务请求传送到服务器。服务器可以实施所请求的服务,并将数据提供给(一个或多个)客户端计算机。服务器还可以传送被适配为使客户端计算机实施指定功能(例如,实施计算,在屏幕上显示指定数据等)的数据。上述方法的某些步骤可以由服务器或由基于网络的云计算系统中的其他计算机/处理器实施。上述方法的某些步骤可以由基于网络的云计算系统中的客户端计算机本地实施。上述方法的步骤可以由基于网络的云计算系统中的一个或更多个设备或者由本地客户端计算机以任何组合来实施。
应认识到为了清楚起见在单独实施例的上下文中描述的本申请的某些特征还可以在单个实施例中以组合的方式提供。相反,为了简便起见在单个实施例的上下文中描述的本申请的各种特征还可以单独地或以任何适当的子组合或在本申请的任何其它所述实施例中适当地提供。不应将在各种实施例的上下文中描述的某些特征视为那些实施例的必要特征,除非该实施例在没有那些元素的情况下无效。
虽然已结合本申请的具体实施例描述了本申请,但是很明显,许多替换、修改和变更对于本领域的技术人员来说将是显而易见的。因此,旨在涵盖属于随附权利要求的精神和广泛范围内的所有此类替换、修改和变更。
本说明中提及的所有公开、专利和专利申请通过引用整体地结合于本文中,引用的程度如同具体且特别地指示每个单独的公开、专利或专利申请以通过引用结合于本文一样。另外,不应将本申请中的任何参考的引用或识别理解为允许此类参考作为现有技术可用于本申请。在使用分段标题的情况下,不应将其理解为一定是限制性的。
Claims (9)
1.一种基于事件来解析信息的方法,包括:
从所述信息中标识信息的路径变化事件;
响应于标识出所述路径变化事件,记录所述信息的当前路径位置;
从所述信息中标识信息的值事件;
响应于标识出所述值事件,根据所记录的当前路径位置检索转换规则;以及
利用检索到的转换规则对值事件进行处理,以解析与所述值事件对应的值。
2.根据权利要求1所述的方法,其中,所述转换规则包括当前路径位置与目标位置之间的映射,所述方法还包括:
根据所述映射将与所述值事件对应的值存储到目标位置以供计算机直接处理。
3.根据权利要求2所述的方法,其中,所述目标位置是由所述转换规则指定的位于目标数据结构中的位置,并且所述目标数据结构是计算机可直接处理的。
4.根据权利要求3所述的方法,其中,信息的路径位置是包括一个或多个层级的分层级路径位置,并且所述方法还包括:
当标识出所述值事件时,生成路径返回事件;以及
在与所述值事件对应的值被存储到目标位置之后,关于路径返回事件使当前路径位置返回到前一层级路径位置。
5.一种基于事件来解析信息的装置,包括:
路径标识模块,用于从所述信息中标识信息的路径变化事件;
路径记录模块,用于响应于标识出所述路径变化事件,记录所述信息的当前路径位置;
值事件标识模块,用于从所述信息中标识信息的值事件;
检索模块,用于响应于标识出所述值事件,根据所记录的当前路径位置检索转换规则;以及
解析模块,用于利用检索到的转换规则对值事件进行处理,以解析与所述值事件对应的值。
6.根据权利要求5所述的装置,其中,所述转换规则包括当前路径位置与目标位置之间的映射,所述装置还包括:
存储模块,用于根据所述映射将与所述值事件对应的值存储到目标位置以供计算机直接处理。
7.根据权利要求6所述的装置,其中,所述目标位置是由所述转换规则指定的位于目标数据结构中的位置,并且所述目标数据结构是计算机可直接处理的。
8.根据权利要求7所述的装置,其中,信息的路径位置是包括一个或多个层级的分层级路径位置,并且所述装置还包括用于以下操作的路径返回模块:
当标识出所述值事件时,生成路径返回事件;以及
在与所述值事件对应的值被存储到目标位置之后,关于路径返回事件使当前路径位置返回到前一层级路径位置。
9.一种其上存储有指令的计算机可读介质,所述指令当被执行时使得计算设备执行根据权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311311838.8A CN117291172A (zh) | 2023-10-11 | 2023-10-11 | 基于事件来解析信息的方法、装置和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311311838.8A CN117291172A (zh) | 2023-10-11 | 2023-10-11 | 基于事件来解析信息的方法、装置和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117291172A true CN117291172A (zh) | 2023-12-26 |
Family
ID=89258492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311311838.8A Pending CN117291172A (zh) | 2023-10-11 | 2023-10-11 | 基于事件来解析信息的方法、装置和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117291172A (zh) |
-
2023
- 2023-10-11 CN CN202311311838.8A patent/CN117291172A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8886648B1 (en) | System and method for computation of document similarity | |
US8630972B2 (en) | Providing context for web articles | |
US8422786B2 (en) | Analyzing documents using stored templates | |
CN100454305C (zh) | 文档管理方法和装置以及文档搜索方法和装置 | |
CN109918658B (zh) | 一种从文本中获取目标词汇的方法及系统 | |
EP0720107B1 (en) | Word retrieval apparatus for a dictionnary | |
US20230205755A1 (en) | Methods and systems for improved search for data loss prevention | |
CN111339784B (zh) | 一种新话题的自动挖掘方法和系统 | |
JPWO2014174599A1 (ja) | 計算機、記録媒体及びデータ検索方法 | |
KR102087280B1 (ko) | 편집 명령을 포함하는 메시지에 기초하여 전자 문서를 편집하는 서버 및 그 동작 방법 | |
KR20210023636A (ko) | 장기간 연관성 높은 문서 클러스터링을 위한 방법 및 시스템 | |
CN113110843B (zh) | 合约生成模型训练方法、合约生成方法及电子设备 | |
CN106874329A (zh) | 数据库表索引的实现方法和装置 | |
CN112765976A (zh) | 文本相似度计算方法、装置、设备及存储介质 | |
US8756236B1 (en) | System and method for indexing documents | |
CN117291172A (zh) | 基于事件来解析信息的方法、装置和计算机可读介质 | |
CN111737461A (zh) | 文本的处理方法、装置、电子设备及计算机可读存储介质 | |
CN116303901A (zh) | 一种基于文本聚类的环境公告信息提取方法和装置 | |
CN114489770A (zh) | 灰度发布方法、装置、计算机设备和存储介质 | |
CN114564501A (zh) | 一种数据库数据存储、查询方法、装置、设备及介质 | |
US20090319505A1 (en) | Techniques for extracting authorship dates of documents | |
CN104834664A (zh) | 面向光盘库的全文检索系统 | |
US20240311415A1 (en) | Processing device, processing method, and non-transitory computer-readable storage medium | |
CN111625579A (zh) | 一种信息处理方法、装置及系统 | |
CN109412883A (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 |