买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】利用包含的分隔符对数据进行分段_微软技术许可有限责任公司_201580054012.5 

申请/专利权人:微软技术许可有限责任公司

申请日:2015-09-24

公开(公告)日:2020-11-20

公开(公告)号:CN107111504B

主分类号:G06F8/41(20180101)

分类号:G06F8/41(20180101);G06F40/211(20200101);G06F40/226(20200101)

优先权:["20141002 US 14/504,673"]

专利状态码:有效-授权

法律状态:2020.11.20#授权;2017.09.22#实质审查的生效;2017.08.29#公开

摘要:接收156传入串,并且基于传入串中的分隔符生成158初始分段。初始分段中的段值通过确定164是否在数据存储118中找到它们来验证。在未找到初始分段中的段的情况下,后续段和对应分隔符被迭代联结180,182以找到段值。在仍然没有找到段的情况下,在迭代联结之后,将联结中的初始段作为未发现段进行输出184,并且后续段被进一步处理。

主权项:1.一种计算机实现的方法,包括:接收包括至少一个分隔符字符的字符串的数据键入输入;基于所述至少一个分隔符字符,来将字符串分段为具有相对应的段值的段的初始分段;选择所述初始分段中的第一段;验证所述初始分段中的第一段值以将其标识为被找到或者未被找到;如果所述第一段值被标识为未被找到:确定所述初始分段中是否有任何更多段尚未被处理;如果所述初始分段中有更多段尚未被处理,向所述第一段附加下一分隔符字符以及所述初始分段的下一段,以及由此生成联结的段值,并且继而返回至所述验证步骤;如果所述初始分段中没有更多段尚未被处理,仅输出所述第一段作为未找到段,以及仅从所述初始分段中移除所述第一段,继而确定所述初始分段中是否有一个或多个段尚未被处理;如果所述初始分段中有更多段尚未被处理,返回所述选择步骤;如果所述初始分段中没有更多段尚未被处理,生成最终分段列表并且输出所述最终分段列表;如果所述段值或者所述联结的段值被标识为找到:输出所述第一段值或者所述联结的段值为找到段,以及继而从所述初始分段中移除所述找到段;确定所述初始分段中是否有一个或多个段尚未被处理;如果有更多段尚未被处理,返回所述选择步骤;如果没有更多段尚未被处理,生成最终分段列表并且输出所述最终分段列表。

全文数据:利用包含的分隔符对数据进行分段背景技术[0001]计算机系统目前正在广泛使用。一些这样的计算机系统使得用户能够以字符串的形式提供数据键入。键入的一些数据可以是分段的数据,这意味着数据包含根据结构化格式提供的多个不同段。一个示例格式是一组离散值,每个离散值是一个串。[0002]例如,一些计算机系统包括业务系统。业务系统可以包括顾客关系管理(CRM系统,企业资源计划ERP系统,业务线L0B系统等。这些系统通常具有与业务系统中的项目相对应的业务数据记录。例如,记录可以对应于顾客账户,供应商账户,产品,或各种各样的其他事物。[0003]每个项目可以由数字表示。例如,顾客账户可以通过账号来标识。供应商账户可以由供应商账号来标识。产品可以由产品号标识等等。[0004]这些数字通常被段以指示不同的变形。例如,顾客账号可以具有总体上标识顾客的主要账户段。它还可以具有标识顾客的特定划分的划分账户部分、标识特定业务单元的业务单元账户段、标识特定计划project的计划段等。对于可以键入的其他分段的信息也是如此。这种类型的信息被称为分段的数据。[0005]当业务系统接收到预期为分段的数据格式的传入串时,它经常解析传入串以标识个体段和段值。一种这样做的方法是基于串中包含的辨识的(recognized分隔符来分隔串,并将分隔符之间的字符组视为离散段值。分隔符的一个示例是连字符。然而,这只是一个示例,计算机系统经常将各种不同类型的字符标识为分隔符。[0006]一些计算机系统还允许段值包括分隔符字符。例如,在计算机系统将连字符辨识为分隔符的情况下,计算机系统还可以允许用户在段内包括连字符作为段值的一部分。[0007]上面的讨论仅为了一般的背景信息而提供,并且不旨在用于帮助确定所要求保护的主题的范围。发明内容[0008]接收传入串,并且基于传入串中的分隔符来生成初始分段。初始分段中的段值通过确定在数据存储中是否找到它们来验证。在未找到初始分段中的段的情况下,后续段和对应分隔符被迭代联结concatenate以找到段值。在仍然没有找到段的情况下,在迭代联结之后,联结中的初始段作为未找到的段而被输出,并且进一步处理后续段。[0009]提供本发明内容以便以简化的形式介绍概念的选择,其在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。所要求保护的主题不限于解决背景技术中指出的任何或所有缺点的实现。附图说明[0010]图1是数据分段架构的一个示例的框图。[0011]图2A和图2B这里统称为图2示出了在对输入串进行分段时说明图1所示的架构的操作的一个示例的流程图。[0012]图3示出了用户接口显示的一个示例。[0013]图4是部署在云计算架构中的图1所示的架构的一个示例的框图。[0014]图5-图7示出了移动设备的各种示例。[0015]图8是可以在图1和图4的架构中使用的计算环境的一个示例的框图。具体实施方式[0016]本讨论将继续描述作为业务系统的计算机系统。然而,应当理解,计算机系统也可以是各种各样的其他计算机系统。例如,它可以是接收与分段的数据相对应的输入串的任何计算机系统,并且对输入串执行数据分段以标识数据的段结构,并且标识在数据结构中找到的段中的个体段值。这样的系统可以是处理作为分段的数据提供的部件号或产品号的系统、处理作为分段的数据提供的银行账户的银行账户系统等。因此,将系统描述为业务系统仅仅是为了示例。[0017]图1是数据分段架构100的一个示例的框图。架构100示意性地包括生成用户接口显示104的业务系统102,其具有用户输入机制106用于由用户108的交互。用户108示意性地与用户输入机制106交互,以便控制和操纵业务系统102。在一个示例中,用户接口显示104包括允许用户108键入表示分段的数据的数据串的数据键入用户输入机制。这将在下面更详细地描述。[0018]业务系统102示意性地包括处理器或服务器110,用户接口组件112,应用组件114,分段系统116和数据存储118。它还可以包括各种各样的其他业务系统功能120。[0019]数据存储118本身示意性地包括分段的数据122诸如账号,部件号等),并且它可以包括各种各样的其他业务数据124。分段系统116示意性地包括初始分段组件126,迭代联结组件128,回溯组件130,查找组件132,并且它也可以包括其他项目134。[0020]在描述架构100在执行数据分段中的总体操作之前,将首先提供架构100中的一些项目及其对应操作的简要概述。用户接口组件112示意性地生成在其他项目的控制下,或者由它本身控制)用户接口显示104,并且处理通过用户输入机制106的输入。应用组件114示意性地运行对在数据存储118中的业务数据进行操作的应用,以执行处理或允许用户108执行任务或活动,以便相对于使用业务系统102的组织来执行他或她的工作职能。应用可以包括总分类帐应用或各种其他会计应用,库存处理或库存控制应用,机会跟踪应用,项目管理应用等。业务系统功能120示意性地提供由用户108使用以便运行应用并执行他或她的任务或活动的功能。[0021]分段系统116通过用户输入机制106接收数据串,并且解析该信息以标识该信息中的分段结构,并且标识用于所标识分段结构中的段的个体段值。可以将段值提供给在业务系统102中将被使用的应用组件114、业务系统功能120或其他项目。[0022]图2A和图2B这里统称为图2示出了分段系统116在对传入数据串进行分段中的操作的一个示例的流程图。图3示出了可以由用户108使用以便输入数据串的用户接口显示的一个示例。现在将相互结合图1-图3来描述。在本示例中,假设业务系统102将连字符字符辨识为段之间的分隔符。然而,还假设业务系统102允许用户使用连字符作为任何给定段内的离散段值的一部分。[0023]首先假设用户108提供指示用户108希望访问业务系统1〇2的输入。这由图2中的块140指示。例如,用户108可以提供认证信息142或者提供指示这一点的各种其他用户输入144〇[0024]然后,用户108提供指示用户108希望执行某种类型的数据键入的用户输入。这由块146指示。作为响应,业务系统102生成用户接口显示104,其中用户输入机制106允许用户108键入信息。显示这样的数据键入控制由图2中的块148指示。[0025]图3示出了在用户接口显示150上的这种数据键入控制的一个示例。可以看出,用户被提示将账号键入到文本块152中。图3示出了用户已经将字符串123-456-789-0键入到文本块152中。在图2的流程图中,由块156指示接收包括至少一个分隔符的字符串的数据键入输入。作为概述,该信息将被示意性地提供给期望代表分段的数据的字符串的分段系统116。分段系统116示意性地从输入串中标识包括分段结构和个体段值的分段值。分段结构将指示串中的多个个体段。个体段值将是分段结构中每个段的段值。然后,它相对于数据存储118的分段的数据122来验证分段值。[0026]可以看出,如图3所示,字符串输入有各种不同的可能分段。基于输入字符串,存在八种不同的可能分段例如,输入串可以以八种不同的方式被分段)。这八种不同的方式包括来自一到四个不同段的任何位置,如下所示下面的列表中的逗号表示段之间的分隔):[0027]123-456-789-0SP,它是全部一个段)[0028]123-456-789,0SP,它是两个段)[0029]123-456,789-0两个段)[0030]123-456,789,0三个段)[0031]123,456-789-0两个段)[0032]123,456-789,0三个段)[0033]123,456,789-0三个段)[0034]123,4祕,789,0。(四个段)[0035]在许多情况下,给定的段不包含分隔符。因此,在上面的示例中可能是这样:最可能的分段是最后的分段123,456,789,0。因此,当尝试对由用户108输入的串进行分段时,分段系统116中的初始分段组件126基于分隔符字符在这种情况下,连字符),来将串分段成段结构。因此,它获取初始分段值为上面列表中的最后一个分段(即123,456,789,0。该分段结构是四个段,段值是每个段中的值。基于分隔符对输入串进行分段以获取初始分段值,由图2的流程图中的块158表示。[0036]然后,查找组件132通过按顺序查找每个段值来开始验证初始分段。因此,如块160所指示,它选择在初始分段中的第一段,然后它在数据存储118中查找该段值,如块162所指不。[0037]如果在数据存储11S中找到段值,则将其作为找到的段进行输出。然后从初始分段中移除之。这由图2中的块164和块166指示。[0038]然后,它确定初始分段中的更多段是否尚未被处理。这由块168指示。如果是,则处理返回到块160,其中选择并查找下一段在块ie2。下一段将被找到存在,将它作为找到的段进行输出,并从初始分段中被移除。这一直继续直到初始分段中的所有段已被处理。[0039]然后,在块17〇处继续处理,其中最终分段列表被生成并输出,如块172所指示。如,在最终分段中存在错误如下所述),则可以输出最终分段以用于用户校正,如块174所指示。还可以将最终分段输出到其他业务系统功能120以用于进一步处理。这由块176指示。最终分段也可以以其他方式输出,如块178所指示。[0040]现在考虑图3所示的输入串中的分隔符之一实际上是有效段值的一部分的场景。例如,考虑适当分段为123,456-789,0的场景。可以看出,第二段中的连字符是段值的一部分,而不是段分隔符。在这种情况下,输入串将再次基于分隔符字符首先被分割成初始分段。因此,初始分段将再次为123,446,789,0。然后,第一段(123将在块160处从初始分段中被选择、在块162处被查找、在块164处被找到存在,并在块166处作为找到的段被输出,然后从初始分段中被移除。[0041]该过程将返回到块160,其中初始分段中的下一段456被选择。已经发现,当段值包含分隔符字符时,由该字符分隔的段值的两个部分本身不太可能是有效值。因此,当查找组件132查找段值456时,它在块164处没有找到该值。在这一点上,迭代联结组件128确定在初始分段中是否还有任何要处理的段。这由块180指示。使用正在讨论的示例,存在将被处理的更多段段789和段0。因此,迭代联结组件128将下一个分隔符字符和下一段附加到当前选择的段。这由块182指示。[0042]也就是说,迭代联结组件128将生成联结段值“456-789”。处理返回到块162,其中查找组件132在数据存储118中的分段的数据122中查找联结段值“456-789”以查看其是否存在。如果联结值确实存在在块164处),那么该值456-789作为第二段被输出,并且该整个串从初始分段中被移除。[0043]迭代联结组件128然后确定在初始分段中是否存在将被处理的更多段。可以看出,在初始分段中有一个附加段0。因此,处理再次返回到块160,其中该段被选择和查找在块162处)。将在块164处被找到存在,并且将其作为找到的段被输出。在块168处没有找到存在更多的段,因此最终和正确的分段被输出为123,456-789,0。[0044]然而,分段系统116包括回溯组件130。组件130允许段是未被找到的一一例如它们被错误键入或以其他方式错误地键入,但是其他段仍然被找到。[0045]例如,假定用户已经键入“1X3-456-789-0”。进一步假设段值1X3不存在于分段的数据122中,因此无效。回溯组件130示意性地允许这一点,同时仍然找到其他有效段。使用上述处理,初始分段系统116生成初始分段为1义3,456,789,0。假设实际分段为123,456-789,0。再次,使用上述处理,初始分段组件126和迭代联结组件128将按顺序搜索以下分段值:[0046]1X3[0047]1X3-456[0048]1X3-456-789[0049]1X3-456-789-0。[0050]在这一点处,由于不存在第一分段值(1X3并且由于不存在具有值1X3的段联结它们不是有效的段值),所以将不会找到对于这些中的任一一个的匹配值。因此,处理将到达块180,其中初始分段中不存在用于处理的更多段。因此,回溯组件130将示意性地仅将第一段作为未找到的段进行输出,并且将仅从初始分段中移除第一段。这由图2中的块184指不。[0051]然后,处理将在块W8处继续,其中分段系统II6将确定初始分段中是否存在更多未被移除的段。当然存在,而这些段包括沾6,789,0。然后将如上所述进行执行,其中分段系统II6将首先搜索段456,并且将不会找到它。迭代联结组件128然后将联结后续段及其分隔符以获取“456-789”,并且查找组件132将搜索并找到该值。最后,也将找到第三段“〇”。[0052]因此结果将具有1X3,456-789,0的正确分段结构,即使不是所有的段值都被找到也是如此。因此可以输出分段值,同时将分段值中的第一段标记为未找到(例如,包含错误)。用户108然后可以快速地标识包含错误的特定段、修复它并且重新提交该串以进行处理。[0053]在一个示例中,因为初始分段中的一个初始段已经改变,所以对于该段的右侧的分段结构可能改变。因此,在该示例中,当用户校正段值时,校正的段的右侧的所有段被重新处理。[0054]因此可以看出,本描述提供了显著的技术优点。例如,它改善了业务系统102本身的处理。代替搜索所有可能的分段组合,本说明书通过基于分隔符字符进行初始分段来进行。这通常是正确的分段,因此分段过程变得更快、消耗更少的计算和存储器开销。[0055]此外,在找到段值的情况下,将其作为找到的值进行输出,并且系统搜索该段右侧的段值。如果没有找到任何段,迭代联结仅在已经找到的段的右侧的段执行,因此已经找到的段不需要被重新处理。同样,这导致显著减少由分段系统使用的处理和存储器开销。[0056]本描述还允许段值包括分隔符字符,但仍然有效地确定预期的分段。它仍然允许在给定的段被错误地键入或以其他方式被错误地键入并且找不到匹配的值的情形。这改善了系统102的灵活性,允许分隔符字符作为段值的一部分,它还改善了系统102的处理速度和效率,因为它不需要迭代地搜索所有可能的分段组合。此外,它大大改善了用户体验,因为它允许用户快速并且容易地键入分段的数据,并且易于认出和纠正分段的数据中的错误。在分隔符是段值的一部分的情况下,它不强制用户进行某种形式的显式分段。这在系统中自动标识和验证。[0057]本讨论已经提到了处理器和服务器。在一个实施例中,处理器和服务器包括没有单独示出的具有相关联的存储器和定时电路的计算机处理器。它们是它们所属的系统或设备的功能部件,并且由这些系统中的其他组件或项目的功能来激活和促进。[0058]此外,已经讨论了许多用户接口显示。它们可以采用各种不同的形式,并且可以具有部署在其上的各种不同的用户可激励的输入机制。例如,用户可激励的输入机制可以是文本块,复选块,图标,链接,下拉菜单,搜索块等。它们也可以以各种不同的方式来激励。例如,可以使用点击设备如轨迹球或鼠标来激励它们。它们可以使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等来激励。它们也可以使用虚拟键盘或其他虚拟激励器来激励。另外,显示它们的屏幕是触感屏幕,它们可以使用触摸手势来激励。此外,显示它们的设备具有语音辨识组件,可以使用语音命令来激励它们。[0059]还已经讨论了许多数据存储。将会注意到它们每个可以分成多个数据存储。对访问它们的系统而言所有这些都可以是本地的,所有这些都可以是远程的,或者一些可以是本地的而另一些则是远程的。所有这些配置在本文中都被考虑。[0060]此外,附图示出了具有归因于每个块的功能的块的数量。应该注意,可以使用较少的块,因此功能由更少的组件执行。此外,可以使用更多的块来实现分布在更多组件之间的功能。[0061]图4是图^所示的架构100的框图,除了在图4所示的示例中其元件被部署在云计算架构500中之外。云计算提供不需要物理位置的最终用户知识或递送服务的系统的配置的计算、软件、数据访问和存储服务。在各种实施例中,云计算使用适当的协议在诸如因特网的广域网上递送服务。例如,云计算提供商通过广域网递送应用,并且可以通过Web浏览器或任何其他计算组件对其进行访问。架构100的软件或组件以及对应的数据可以存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处进行整合,或者它们也可以被分散。云计算基础设施可以通过共享数据中心来递送服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程位置处的服务提供商提供本文描述的组件和功能。可替代地,它们可以从常规服务器提供,或者它们可以直接地或以其他方式被安装在客户端设备上。[0062]该描述旨在包括公共云计算和私有云计算。云计算公共和私有提供了大体上无缝的资源池,并且降低了管理和配置底层硬件基础设施的需求。[0063]公共云由供应商管理,并且通常支持使用相同基础设施的多个顾客。此外,公共云,与私有云相反,可以将最终用户从管理硬件中解放出来。私有云可能由组织本身管理,基础架构通常不与其他组织共享。组织仍然在某种程度上维护硬件,比如安装和维修等。[00M]在图4所示的示例中,一些项目类似于图i所示的项目,并且它们的编号类似。图4具体示出了业务系统102可以位于云502其可以是公共的,私有的或者组合的,在组合中部分是公共的而另一些是私有的)中。因此,用户108使用用户设备504诸如包括客户端系统的用户设备通过云502访问这些系统。[0065]图4还描绘了云架构的另一个示例。图4示出了:还可以设想业务系统丨02的一些元件被部署在云502中,而其他元件未被部署在云5〇2中。作为示例,数据存储118可以被部署在云502之外,并且通过云502被访问。在另一个示例中,分段系统116也在云502之外。无论它们位于何处,它们都可以由设备504通过网络广域网或局域网)直接访问,它们可以由服务托管在远程站点处,或者它们可以通过云而被提供为服务,或者由驻留于云中的连接服务所访问。所有这些架构在本文中都被考虑。[0066]还将注意到,架构100或其一部分可以被部署在各种不同的设备上。这些设备中的一些设备包括服务器,台式计算机,膝上型计算机,平板计算机或其他移动设备比如掌上电脑,手机,智能电话,多媒体播放器,个人数字助理等。[0067]图5是可以用作用户的或客户的手持设备I6的手持或移动计算设备的一个示意性示例的简化框图,其中可以部署本系统或其部分)。图6-图7是手持设备或移动设备的示例。[0068]图5提供可以运行架构100的组件或者与架构100进行交互、或两者的客户端设备I6的组件的一般框图。在设备16中,提供通信链路I3,其允许手持设备与其他计算设备进行通信,并且在一些实施例中提供用于比如通过扫描来自动接收信息的信道。通信链路13的示例包括红外端口,串行USB端口,诸如以太网端口的有线网络端口,以及无线网络端口,所述无线网络端口允许通过一个或多个通信协议进行通信,所述通信协议包括通用分组无线业务抑^,1^,1^4,1^4+和其他30和46无线电协议,1乂代访卩短消息服务一一其是用于向网络提供蜂窝访问的无线服务,以及提供到网络的本地无线连接的Wi-Fi协议和蓝牙协议。[0069]在其他实施例下,应用或系统在连接到SD卡接口15的可移除安全数字SD卡上被接收。沿着总线19该总线19也连接到存储器21和输入输出(IO组件23以及时钟25和定位系统27,SD卡接口15和通信链路13与处理器17通信其也可以体现来自图1的处理器11〇或在来自图4的用户设备504上的那些)。[0070]在一个实施例中,提供IO组件23以促进输入和输出操作。设备16的各种实施例的IO组件23可以包括诸如按钮,触摸传感器,多触摸传感器,光学或视频传感器,语音传感器,触摸屏,接近传感器,麦克风,倾斜传感器和重力开关之类的输入组件以及诸如显示设备,扬声器和打印机端口之类的输出组件。也可以使用其他IO组件23。[0071]时钟25示意性地包括输出时间和日期的实时时钟组件。它也可以说明地为处理器17提供定时功能。[0072]位置系统27示意性地包括输出设备16的当前地理位置的组件。这可以包括例如全球定位系统GPS接收机,L0RAN系统,航位推算系统,蜂窝三角测量系统,或其他定位系统。它还可以包括例如生成所需地图、导航路线和其他地理功能的地图软件或导航软件。[0073]存储器21存储操作系统29,网络设置31,应用33,应用配置设置35,数据存储37,通信驱动器39和通信配置设置41。存储器21可以包括所有类型的有形易失性和非易失性计算机可读存储器设备。它还可以包括计算机存储介质(如下所述)。存储器21存储计算机可读指令,所述计算机可读指令当由处理器17执行时使处理器根据指令执行计算机实现的步骤或功能。类似地,设备16可以具有客户端业务系统24,所述客户端业务系统24可以运行各种业务应用或体现系统102的部分或全部。处理器17可以被其他组件激活以促进它们的功能。[0074]网络设置31的示例包括诸如代理信息、因特网连接信息和映射之类。应用配置设置35包括为特定企业或用户定制应用的设置。通信配置设置41提供用于与其他计算机通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和密码的项目。[0075]应用33可以是先前己经存储在设备16上的应用或在使用期间安装的应用,尽管它们也可以是操作系统29的一部分,或者也可以被托管在设备16外部。[0076]图6示出了其中设备16是平板计算机600的一个实施例。在图6中,计算机600被示出为具有用户接口显示屏幕602。屏幕602可以是触摸屏(因此可以使用来自用户手指的触摸手势来与应用进行交互或者支持笔的接口,其接收来自钢笔或尖笔的输入。它也可以使用屏幕上的虚拟键盘。当然,也可通过诸如无线链路或USB端口之类的合适的附接机制而将其附接到键盘或其他用户输入设备。计算机600也可以示意性地接收语音输入。[0077]设备16的附加示例也可以被使用。设备16可以是特征电话,智能电话或移动电话。该电话包括用于拨打电话号码的一组键盘,能够显示包括应用图像、图标、网页、照片和视频在内的图像的显示器,以及用于选择显示器上显示的项目的控制按钮。电话可以包括用于接收蜂窝电话信号的天线,比如通用分组无线业务GPRS和lXrtt以及短消息服务SMS信号。在一些示例中,电话还包括可接受SD卡的安全数字SD卡插槽。[0078]移动设备还可以是个人数字助理PDA或多媒体播放器或平板计算设备等(以下称为PDA。当尖笔位于屏幕上方时,PDA可以包括感应尖笔或其他指针比如用户的手指的位置的感应屏幕。这允许用户选择、突出显示和移动屏幕上的项目以及绘图和书写。PDA还可以包括许多用户输入键或按钮,其允许用户滚动显示在显示器上的菜单选项或其他显示选项,并且允许用户改变应用或选择用户输入功能,而不用联系显示器。PDA可以包括内部天线和允许与其他计算机进行无线通信的红外发射器接收器以及允许与其他计算设备进行硬件连接的连接端口。这样的硬件连接通常通过支架进行,所述支架通过串行或USB端口连接到另一台计算机。因此,这些连接是非网络连接。[0079]图7示出电话可以是智能电话71。智能电话71具有显示图标或区块(tile的触敏显示器73或其他用户输入机制75。用户可以使用机制75来运行应用,进行呼叫,执行数据传送操作等。通常,智能电话71建立在移动操作系统上,并且提供比功能电话更高级的计算能力和连接性。[0080]注意,其他形式的设备le是可能的。[0081]图8是在其中可以部署架构1〇〇或其部分例如)的计算环境的一个实施例。参考图8,用于实现一些实施例的示例系统包括计算机810形式的通用计算设备。计算机810的组件可以包括但不限于处理单元820其可以包括处理器110或用户设备504中的那些),系统存储器830和系统总线821,所述系统总线821将包括系统存储器的各种系统组件耦合到处理单元820。系统总线821可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器,外围总线以及使用各种总线架构中的任意总线架构的本地总线。作为示例而非限制,这种架构包括工业标准架构(ISA总线,微通道架构MCA总线,增强型ISAEISA总线,视频电子标准协会VESA本地总线和外围组件互连PCI总线,也称为夹层总线。关于图1描述的存储器和程序可以部署在图8的对应部分中。[0082]计算机810通常包括各种计算机可读介质。计算机可读介质可以是可由计算机810访问的任何可用介质,并且包括易失性和非易失性介质,可移除和不可移除介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质与调制数据信号或载波不同,也不包括调制数据信号或载波。它包括硬件存储介质,包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术所实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram,rom,EEPROM,闪速存储器或其他存储器技术,CD-ROM,数字通用盘DVD或其他光盘存储器,磁带盒,磁带,磁盘存储器或其他磁存储设备或可用于存储所需信息并且可由计算机810访问的任何其它介质。通信介质通常体现在传输机制中的计算机可读指令,数据结构,程序模块或其他数据,并且包括任何信息递送媒体。术语“调制数据信号”是指以对信号中的信息进行编码的方式设置或改变其特征中的一个或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质以及诸如声学、RF、红外和其他无线介质之类的无线介质。上述任何项的组合也应包括在计算机可读介质的范围内。[0083]系统存储器83〇包括诸如只读存储器ROM831和随机存取存储器RAM832的易失性和或非易失性存储器形式的计算机存储介质。包含有助于在计算机810内的元件之间比如在启动期间传送信息的基本例程的基本输入输出系统833BIOS通常存储在ROM831中。RAM832通常包含数据和或程序模块,这些数据和或程序模块可由处理单元820立即访问和或正在其上操作。作为示例而非限制,图8示出了操作系统834,应用程序835,其他程序模块836和程序数据837。[0084]计算机810,可以包括其他可移除不可移除的易失性非易失性计算机存储介质。仅作为示例,图8示出了从不可移除、非易失性磁性介质读取或向其写入的硬盘驱动器841以及从诸如CDROM或其它光学介质的可移除、非易失性光盘856读取或向其写入的光盘驱动器855。可以在示例性操作环境中使用的其他可移除不可移除、易失性非易失性计算机存储介质,包括但不限于磁带盒,闪存卡,数字多功能盘,数字视频带,固态RAM,固态ROM等。硬盘驱动器841通常通过诸如接口別0的不可移除存储器接口连接到系统总线似1,并且光盘驱动器855通常通过诸如接口850的可移除存储器接口连接到系统总线821。[0085]可替代地或另外,本文所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如而非限制,可以使用的示意性类型的硬件逻辑组件包括现场可编程门阵列FPGA,程序专用集成电路ASIC,程序特定标准产品ASSP,系统级芯片系统S0C,复杂可编程逻辑设备CPLD等。[0086]上文和图8所示的驱动器及其相关联的计算机存储介质为计算机810提供计算机可读指令、数据结构、程序模块和其他数据的存储。在图8中,例如,硬盘驱动器841被示为存储操作系统844,应用程序845,其他程序模块846和程序数据847。注意,这些组件可以与操作系统834、应用程序835、其他程序模块83G和程序数据837相同或不同。操作系统844,应用程序845,其他程序模块846和程序数据847在这里给出不同的数字,以说明至少它们是不同的副本。[0087]用户可以通过诸如键盘862,麦克风863和诸如鼠标、轨迹球或触摸板的指示设备861之类的输入设备将命令和信息输入到计算机810中。其他输入设备未示出)可以包括操纵杆,游戏板,卫星天线,扫描仪等。这些和其他输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但是可以通过其他接口和总线结构来连接,诸如并行端口、游戏端口或通用串行总线USB。视觉显示器891或其他类型的显示设备也经由诸如视频接口890的接口连接到系统总线821。除了监视器之外,计算机还可以包括诸如扬声器897和打印机896之类的其他外围输出设备,其可以通过输出外围接口8%连接。[0088]计算机810在使用与一个或多个远程计算机比如远程计算机880的逻辑连接的联网环境中操作。远程计算机880可以是个人计算机,手持设备,服务器,路由器,网络PC,对等设备或其他公共网络节点,并且通常包括相对于计算机810在上面所描述的许多或所有元件。在图8中所描绘的逻辑连接包括局域网LAN871和广域网WAN873,但也可以包括其他网络。这样的联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。[0089]当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连接到LAN871。当在WAN联网环境中使用时,计算机810通常包括调制解调器872或用于通过WAN建立通信的其他手段873,比如因特网。可以是内部或外部的调制解调器872可以经由用户输入接口860或其他适当的机制而连接到系统总线821。在已联网的环境中,相对于计算机S10描绘的程序模块或其部分可存储在远程存储器存储设备中。作为示例而非限制,图8示出了驻留在远程计算机880上的远程应用程序885。应当理解,所示出的网络连接是示例性的,并且可以使用其他手段在计算机之间建立通信链路。[0090]还应当注意,本文描述的不同实施例可以以不同的方式组合。也就是说,一个或多个示例的部分可以与一个或多个其他示例的部分组合。所有这一切都在本文中考虑。[0091]示例1是一种方法,包括:[0092]基于字符串中的一组分隔符字符,将字符串分段为具有对应段值的段的初始分段;[0093]验证初始分段中的第一剩余段值以将该第一剩余段值标识为找到或未找到;[0094]如果第一剩余段值被标识为未找到,则从第一剩余段值和后续的剩余段值重复地生成联结的段值,并验证联结的段值;以及[0095]如果第一剩余段值或联结的段值被标识为找到,则将其从初始分段中移除;以及[0096]重复验证、生成联结的段值以及移除的步骤,直到在初始分段中不再有剩余段值。[0097]示例2是任何或所有先前示例的方法,其中重复生成联结的段值包括:[0098]将来自初始分段的下一个后续剩余段值和对应分隔符字符联结到第一剩余段倌以获取联结的段值;7[00"]验证联结的段值以将联结的段值标识为找到或未找到;以及[0100]重复联结和验证的步骤,直到联结的段值被标识为找到,或者初始分段中的剩余段值全部已被联结。[0101]示例3是任何或所有先前示例的方法,并且还包括:[0102]如果初始分段中的剩余段值全部已被联结到联结的段值,并且联结的段值被标识为未找到,则仅将联结的段值中的第一剩余段值标识为未找到,并且仅从初始分段中移除联结的段值中的第一剩余段值。[0103]示例4是任何或所有先前示例的方法,并且还包括:[0104]生成指示输出段的段结构和对应段值的输出段;以及[0105]指示输出分段中的任何段值是否被标识为未找到。[0106]示例5是任何或所有先前示例的方法,并且还包括:[0107]接收经修订的分段,其中输出分段中的段己被修改;以及[0108]仅验证在输出分段中经修改的段之后的经修订的分段中的段,以获取最终分段。[0109]示例6是任何或所有先前示例的方法,并且还包括:[0110]在业务系统中生成数据键入用户输入机制;以及[0111]通过数据键入用户输入机制接收字符串输入。[0112]示例7是任何或所有先前示例的方法,其中将字符串分段成初始分段包括:[0113]在由字符串中的分隔符字符所标识的段边界处将字符串划分成多个段。[0114]示例8是任何或所有先前示例的方法,其中验证包括:[0115]查找业务系统数据存储中的段值,以标识在业务系统数据存储中是否找到或未找到段值。[0116]示例9是一种计算系统,包括:[0117]初始分段组件,初始分段组件被配置为基于串中的分隔符字符,接收字符串并生成具有对应段值的段的初始分段值;[0118]查找组件,查找组件被配置为验证段值,并且基于验证将对应的段标识为有效或无效;以及[0119]联结组件,联结组件被配置为针对无效段,将来自初始分段值的剩余段和分隔符迭代联结,以获取联结的段值,并将联结的段值提供给查找组件以进行验证,直到联结的段值被标识为有效或初始分段值中的所有剩余段已经被联结。[0120]示例10是任何或所有先前示例的计算系统,其中查找组件被配置为从初始分段值移除有效段和有效联结的段值,以将剩余段留在初始分段值中。[0121]示例11是任何或所有先前示例的计算系统,并且还包括:[0122]回溯组件,回溯组件被配置为当联结的段值被标识为无效时以及当剩余段全部已经被联结到联结的段值时获取联结的段值,并且仅将联结的段值中的第一段标识为无效,并仅从初始分段值中移除联结的段值中的第一段。[0123]示例12是任何或所有先前示例的计算系统,其中初始分段组件被配置为通过在由字符串中的分隔符字符所标识的段边界处将字符串划分成多个段来生成初始分段值。[0124]示例13是任何或所有先前示例的计算系统,其中查找组件被配置为通过查找业务系统数据存储中的段值来验证段值,以标识在业务系统数据存储中找到还是未找到段值。[0125]示例14是任何或所有先前示例的计算系统,其中查找组件被配置为生成指示输出段的段结构和对应段值的输出分段,并且指示输出分段中的任何段值是否被标识为未找到。[0126]示例I5是一种存储计算机可执行指令的计算机可读存储介质,当由计算机执行时,计算机可执行指令使计算机执行方法,方法包括:[0127]验证字符串中的字符的初始分段中的第一剩余段值,以将该第一剩余段值标识为找到或未找到;[0128]如果第一剩余段值被标识为未找到,则通过以下方式生成联结的段值:[0129]将来自初始分段的下一个后续剩余段值和对应的分隔符字符联结到第一剩余段值,以获取联结的段值;[0130]验证联结的段值以将联结的段值标识为找到或未找到;以及[0131]重复联结和验证的步骤,直到联结的段值被标识为找到或者初始分段中的剩余段值全部已被联结;[0132]如果将第一剩余段值或联结的段值标识为找到,则将其从初始分段中移除;以及[0133]登复验证、生成联结的段值以及移除的步骤,直到在初始分段中不再有剩余段值。[0134]不例I6是任何或所有先前示例的计算机可读存储介质,并且还包括:[0135]^于字符串中的一组分隔符将字符串分段为包含具有对应段働段的初始分段。[0136]不例17是任何或所有先前示例的计算机可读存储介质,并且坯包括:[0137]在业务系统中显示数据键入用户输入机制;以及[0138]5过数据键入用户输入机制接收具有分隔符组的字符串。[0139]示例I8是任何或所有先前示例的计算机系统,其中将字符串分段为初始分段包括:[0140]芒由字符串中的分隔符字符所标识的段边界处将字符串划分成多个段。_1]示例I9是任何或所有先前示例的计算机可读存储介质,其中验证包括.=2i#问业务系统数据存储以标识在业务系统数据存储中是否類或未找到第-剩余段值或联结的段值。~[0143]示例2〇是任何或所有先前示例的计算机可读存储介质,并且还包括.初始分段中不再有剩余段值时,输出具有包括和由验证、生成联结的段值以所生成隨结的雖_始分龍巾的麵任何组合隨的最终分段值,并且4寸取终分段值中的段标记为找到或未找到。[0145]虽然已经以结幡獅喊施动作贿的语言撤了主题,但是应当理解,臓权利要求中限定的主题不一定限于上述具体特征或动作。相反,上述具体特征和动作被公开为实现权利要求的示例形式。

权利要求:1.一种计算系统,包括:初始分段组件(126,所述初始分段组件(126被配置为接收字符串并基于所述串中的分隔符字符来生成具有对应段值的段的初始分段值;查找组件(132,所述查找组件(132被配置为验证所述段值并且基于所述验证将对应段标识为有效或无效;以及联结组件(128,所述联结组件(128被配置为:对于无效段,将来自所述初始分段值的剩余段和分隔符迭代地联结以获取联结的段值,并将联结的所述段值提供给所述查找组件(132以用于验证,直到联结的所述段值被标识为有效或所述初始分段值中的所有剩余段已经被联结。2.根据权利要求1所述的计算系统,其中所述查找组件被配置为从所述初始分段值移除有效段和有效的联结的段值,以将所述剩余段留在所述初始分段值中。3.根据权利要求2所述的计算系统,还包括:回溯组件,所述回溯组件被配置为当联结的所述段值被标识为无效时、以及当所述剩余段已经全部被联结到联结的所述段值时获取联结的所述段值,并且仅将联结的所述段值中的第一段标识为无效,并仅从所述初始分段值中移除联结的所述段值中的所述第一段。4.根据权利要求3所述的计算系统,其中所述初始分段组件被配置为通过在由所述字符串中的所述分隔符字符标识的段边界处将所述字符串划分成多个段,来生成所述初始分段值。5.根据权利要求4所述的计算系统,其中所述查找组件被配置为通过查找业务系统数据存储中的段值来验证所述段值,以标识在所述业务系统数据存储中找到还是未找到所述段值。6.根据权利要求5所述的计算系统,其中所述查找组件被配置为生成指示输出段的段结构和对应段值的输出分段,并且指示所述输出分段中是否有任何段值被标识为未找到。7.—种计算机实现的方法,包括:基于字符串中的一组分隔符字符,将所述字符串分段(158为具有对应段值的段的初始分段;验证(I62所述初始分段中的第一剩余段值,以将所述第一剩余段值标识为找到或未找到;如果所述第一剩余段值被标识为未找到,则从所述第一剩余段值和后续的剩余段值重复地生成182联结的段值并验证162联结的所述段值;如果所述第一剩余段值或联结的所述段值被标识为找到,则从所述初始分段移除166它们;以及重复验证(1似)、生成(18¾联结的段值以及移除(166的步骤,直到在所述初始分段中不再有剩余段值。8.根据权利要求7所述的计算机实现的方法,其中重复地生成联结的所述段值包括:将来自所述初始分段的下一个后续剩余段值和对应分隔符字符联结到所述第一剩余段值,以获取联结的段值;验证联结的所述段值以将联结的所述段值标识为找到或未找到;以及重复联结和验证的步骤,直到联结的所述段值被标识为找到,或者所述初始分段中的所述剩余段值全部己被联结。9.根据权利要求8所述的计算机实现的方法,还包括:如果所述初始分段中的所述剩余段值全部已被联结到联结的所述段值,并且联结的所述段值被标识为未找到,则仅将联结的所述段值中的所述第一剩余段值标识为未找到,并且仅从所述初始分段中移除联结的所述段值中的所述第一剩余段值。10.根据权利要求9所述的计算机实现的方法,还包括:生成指示输出段的段结构和对应段值的输出分段;以及指示所述输出分段中是否有任何段值被标识为未找到。11.根据权利要求10所述的计算机实现的方法,还包括:接收修订的分段,其中所述输出分段中的段已经被修改;以及仅验证在所述输出分段中的修改的所述段后续的、修订的所述分段中的段,以获取最终分段。12.根据权利要求7所述的计算机实现的方法,还包括:在业务系统中生成数据键入用户输入机制;以及通过所述数据键入用户输入机制接收所述字符串输入。13.根据权利要求I2所述的计算机实现的方法,其中将所述字符串分段成所述初始分段包括:在由所述字符串中的所述分隔符字符所标识的段边界处将所述字符串划分成多个段。14.根据权利要求13所述的计算机实现的方法,其中验证包括:查找业务系统数据存储中的所述段值,以标识在所述业务系统数据存储中是否找到或未找到所述段值。15.—种存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被计算机执行时使得所述计算机执行方法,所述方法包括:验证(162字符串中的字符的初始分段中的第一剩余段值,以将所述第一剩余段值标识为找到或未找到;如果所述第一剩余段值被标识为未找到,则通过以下生成(182联结的段值:将来自所述初始分段的下一个后续剩余段值(I82和对应的分隔符字符联结(182到所述第一剩余段值,以获取联结的段值;验证I62联结的所述段值以将联结的所述段值标识为找到或未找到;以及重复联结(182和验证(16¾的步骤,直到联结的所述段值被标识为找到或者所述初始分段中的剩余段值全部已被联结;如果所述第一剩余段值或联结的所述段值被标识为找到,则从所述初始分段中移除166它们;以及重复验证(162、生成(182联结的段值以及移除(166的步骤,直到在所述初始分段中不再有剩余段值。

百度查询: 微软技术许可有限责任公司 利用包含的分隔符对数据进行分段

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。