CN101123535B - 一种asn.1报文比较的方法及系统 - Google Patents
一种asn.1报文比较的方法及系统 Download PDFInfo
- Publication number
- CN101123535B CN101123535B CN2007101218371A CN200710121837A CN101123535B CN 101123535 B CN101123535 B CN 101123535B CN 2007101218371 A CN2007101218371 A CN 2007101218371A CN 200710121837 A CN200710121837 A CN 200710121837A CN 101123535 B CN101123535 B CN 101123535B
- Authority
- CN
- China
- Prior art keywords
- asn
- message
- messages
- compared
- keyword
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种ASN.1报文比较的方法,包括:步骤1,使用者通过接口给出待比较ASN.1报文需要的排序信息;步骤2,依据所述排序信息对两个待比较ASN.1报文进行排序;步骤3,将排序后的两个待比较ASN.1报文依据ASN.1报文结构转化为特定的数据结构;步骤4,比较具有特定的数据结构的两个待比较ASN.1报文,并给出比较结果。本发明解决了ASN.1报文比较中,链表类型报文的比较问题;可以满足所有类型的ASN.1报文比较,包括链表类型的嵌套等各种复杂的报文比较;满足了使用者对于报文比较的个性化需求,关键字比较方法和非关键字比较方法都可以使用者定制,使用起来更加灵活,适用性更广,使得网管中一致性比较更加完善、灵活、可靠。
Description
技术领域
本发明涉及电信管理网(TMN,Telecommunications ManagementNetwork),尤其涉及一种ASN.1报文比较的方法及系统。
背景技术
ITU-T M.3010将电信管理层模型划分为网元层(NEL,Network ElementLayer)、网元管理层(EML,Element Management Layer)、网络管理层(NML,Network Management Layer)、业务管理层(SML,Service Management Layer)、事务管理层(BML,Business Management Layer)。针对不同层次相应存在不同的网络管理系统。在这些系统中,常常同时存在关于同一实体的各种信息,保持它们之间紧密的一致性是一项重要任务。
目前在电信管理网分层管理模型中,各层次之间数据通讯的格式主要是Abstract Syntax Notation One(ASN.1),它是一种描述结构化对象的语法标准。ASN.1具有很好的延伸性和自定义能力,其类似于树的结构层次清晰、表达能力强,特别适合表示现代通信应用中那些复杂的、变化的及可扩展的数据结构。所以它在电信领域获得了广泛应用,以ASN.1报文格式提取信息进行比较也就成为电信网管系统最常见的一致性比较方式。
因为ASN.1报文具有较多层次嵌套、类型复杂等特点,使得一致性比较过程必须能够对报文体进行详细的解析,获取每个细节的属性。在该领域,为了进行ASN.1报文的比较,很多厂商提出了自己的方案。其中有代表性的如专利申请(CN200510037086)中提到一种电信管理网上下层网管数据比较方法,该方法能够将代码与报文之间的耦合性减至最小,并可以得到清晰的比较结果。但是该方法没有解决两个问题,一是ASN.1中链表类型的报文比较问题,二是报文比较的个性化需求。例如待比较的两个链表类型,其中的节点相同,只是顺序不同,则上面提到的方法给出的比较结果是不相等,即没有解决链表类型的排序问题、关键字比较问题(用于排序)。再比如,如果一个报文有4个字段,其中一个作为关键字,其他3个字段为非关键字,但是使用者只关心其中2个非关键字的比较,即非关键字比较问题,用上面提到的方法没有办法解决。
发明内容
本发明要解决的技术问题提供一种ASN.1报文比较的方法及系统,解决ASN.1中链表类型的报文比较问题,同时满足报文比较中使用者个性化的需求。
本发明提供了一种ASN.1报文比较的方法,包括:
步骤1,使用者通过接口给出待比较ASN.1报文需要的排序信息;
步骤2,依据所述排序信息对两个待比较ASN.1报文进行排序;
步骤3,将排序后的两个待比较ASN.1报文依据ASN.1报文结构转化为特定的数据结构;
步骤4,比较具有特定的数据结构的两个待比较ASN.1报文,并给出比较结果。
所述特定的数据结构为树结构。
所述排序信息包括ASN.1报文中列表的位置信息、关键字信息和/或非关键字信息。
所述排序信息还包括关键字比较方法和/或非关键字比较方法。
步骤2包括:
步骤51,依据列表的位置信息,找到对应的列表;
步骤52,利用所述关键字比较方法以及排序算法进行排序。
步骤51和步骤52之间还包括:步骤61,判断排序信息中是否包括关键字比较方法,如果是执行步骤52,否则根据关键字信息生成默认的关键字比较方法,并依据排序算法进行排序。
所述树结构的根节点为待比较的ASN.1报文,枝叶节点依据ASN.1报文结构得到;节点包含ASN.1报文中全部字段的信息,包括ASN.1报文中字段名称、字段所在层次、报文类型、对应该类型的字符串值、字段数量、以及列表的位置信息。
步骤4包括:步骤81,依次取两个树结构中相同位置的节点,通过所述关键字比较方法或者所述默认的关键字比较方法进行比较,并给出树结构相等或者不等的结果,直至所有节点比较完成。
步骤82还包括步骤91,依据所述相等或者不等的结果,生成树结构。
本发明提供了一种用于ASN.1报文比较的方法的系统,包括:
排序信息提供模块,用于使用者通过接口给出待比较ASN.1报文需要的排序信息;
ASN.1报文排序模块,用于依据所述排序信息对两个待比较ASN.1报文进行排序;
数据结构转化模块,用于将排序后的两个待比较ASN.1报文依据ASN.1报文结构转化为特定的数据结构;
ASN.1报文比较模块,用于比较具有特定的数据结构的两个待比较ASN.1报文,并给出比较结果。
本发明解决了ASN.1报文比较中,链表类型报文的比较问题;可以满足所有类型的ASN.1报文比较,包括链表类型的嵌套等各种复杂的报文比较;满足了使用者对于报文比较的个性化需求,关键字比较方法和非关键字比较方法都可以使用者定制,使用起来更加灵活,适用性更广,使得网管中一致性比较更加完善、灵活、可靠。
附图说明
图1是本发明提供的报文比较处理流程示意图;
图2是本发明提供的报文排序处理流程示意图;
图3是本发明提供的树形结构比较处理流程示意图;
图4是本发明提供的报文比较处理系统框图。
具体实施方式
本发明提供了一种ASN.1报文比较的方法。为了说明问题方便,“ASN.1报文”以下简称“报文”,ASN.1报文中有两种链表类型,set of和sequenceof,由于其处理上的共性下面将这两种类型简称为“列表”(list)。
本实施例中以Snacc为ASN.1的编译平台,传输网管系统中的报文比较为一实施例对本发明作进一步介绍,但不作为对本发明的限定。在本实施例中采用树结构保存报文。
图1报文比较处理流程示意图,包括:
步骤101,提供接口,由使用者给出待比较报文需要的排序信息,包括报文中list的位置信息、关键字信息、关键字比较方法、非关键字信息、非关键字比较方法等排序处理过程中需要的信息,当待比较报文中包含多个待排序list时,可以输入多组排序信息。
步骤102,判断使用者输入的排序信息,如果排序信息为空,则不进行排序,执行步骤104;否则执行步骤103。排序是指对每一个待比较的ASN.1报文内的链表进行排序,如果有多个链表需要排序,则都进行排序。例如:对A、B两个报文进行比较,这两个报文都是链表类型报文,其中A{a2,a3,a1},B{b1,b3,b2},依据排序信息分别对A、B进行排序后的结果是A{a1,a2,a3},B{b1,b2,b3}。
步骤103,根据使用者输入的排序信息对两个待比较报文进行排序,并执行步骤104。
步骤104,将待比较的报文根据报文结构转化成树结构,并执行步骤105。其中,根节点为待比较报文,树中枝叶节点是根据报文结构分析得到,节点包含节点名称(报文中字段名称)、高度(报文中字段所在的层次)、报文类型、类型的字符串值、子节点个数等信息。特别的对于list所在节点(使用者已经给出排序信息的),在其节点中增加排序信息。
步骤105,比较上面步骤中生成的两个树结构。从两颗树的根节点开始,依次取两颗树中相同位置的节点进行比较,直至所有节点比较完成。
步骤106,根据上面的比较结果,生成树结构,其中树结点包含高度信息(对应报文层次)、是否相等、待比较的两个报文的类型名、值等信息。
上述步骤103中,具体包括如图2所示的步骤:
步骤201,开始。
步骤202,根据需要排序的list的位置信息,找到对应的list。
步骤203,判断使用者是否给出了“关键字比较方法”,如果给出,则执行步骤205,否则执行步骤204。
步骤204,根据关键字信息生成默认的“关键字比较方法”,利用该方法,用“排序算法”进行排序;执行步骤206。
步骤205,利用使用者给出的“关键字比较方法”,用“排序算法”进行排序;执行步骤206。
步骤206,如果完成所有list排序,执行步骤207,结束,否则执行步骤202。
上述步骤105中,具体包含如图3所示步骤:
步骤301,开始。
步骤302,比较关键字;
步骤303,如果关键字相等,执行步骤305,否则进行步骤304;
步骤304,进行缺项处理,执行步骤306;
步骤305,比较非关键字,执行步骤306;
步骤306,给出比较结果。
图3所示的流程中,进一步详细的步骤包括:
步骤51,比较节点名称(报文名称)、高度(报文层次)、报文类型、类型的字符串值、子节点个数等信息。
步骤52,如果包含子节点,则执行步骤53,否则比较结束。
步骤53,如果子节点为排序后的list节点,则执行步骤54,否则依次取两棵树上相同位置的子节点,执行步骤51
步骤54,根据使用者提供的“关键字比较方法”和“非关键字比较方法”对两棵树中排序后的list中的节点比较。为了说明问题方便,将待比较的两棵树称为左树和右树。
步骤54进一步包括:
步骤541,从待比较的两个list中依次取两个节点进行比较,如果使用者给出了“关键字比较方法”,则用这个方法比较,否则用默认的“关键字比较方法”进行比较。
步骤542,如果比较结果相等,则判断使用者是否给出了“非关键字比较方法”,如果给出了则用此方法进行比较,否则用默认的“非关键字比较方法”进行比较。
步骤543,如果比较结果不等,则说明待比较的两个list中,按照关键字排序后并不是一一对应。如果左树中的节点“小于”右树中的节点(右树中的子节点“大于”左树中的子节点情况与此类似),这时用左树中的节点与一个空节点的比较结果作为比较结果。然后取左树中下一个子节点与右树中子节点继续进行比较,直至两棵树中相同节点的所有节点比较完成。如果遍历之后仍然找不到关键字相等的节点,说明这个关键字的节点只在一个list存在,将比较结果添为缺项(只在一个list中存在)。
图4为本发明提供的一种用于实现ASN.1报文比较的方法的系统,该系统400包括:排序信息提供模块401,用于使用者通过接口给出待比较ASN.1报文需要的排序信息;ASN.1报文排序模块402,用于依据所述排序信息对两个待比较ASN.1报文进行排序;数据结构转化模块403,用于将排序后的两个待比较ASN.1报文依据ASN.1报文结构转化为特定的数据结构;ASN.1报文比较模块404,用于比较具有特定的数据结构的两个待比较ASN.1报文,并给出比较结果。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
Claims (8)
1.一种ASN.1报文比较的方法,其特征在于,包括:
步骤1,使用者通过接口给出待比较ASN.1报文需要的排序信息;
步骤2,依据所述排序信息分别对两个待比较ASN.1报文进行排序;
步骤3,将排序后的两个待比较ASN.1报文依据ASN.1报文结构转化为特定的数据结构;
步骤4,比较具有特定的数据结构的两个待比较ASN.1报文,并给出比较结果;
其中,所述特定的数据结构为树结构,所述树结构的根节点为待比较的ASN.1报文,枝叶节点依据ASN.1报文结构得到;节点包含ASN.1报文中全部字段的信息,包括ASN.1报文中字段名称、字段所在层次、报文类型、对应该类型的字符串值、字段数量、以及列表的位置信息。
2.如权利要求1所述的ASN.1报文比较的方法,其特征在于,所述排序信息包括ASN.1报文中列表的位置信息、关键字信息和/或非关键字信息。
3.如权利要求2所述的ASN.1报文比较的方法,其特征在于,所述排序信息还包括关键字比较方法和/或非关键字比较方法。
4.如权利要求2或3所述的ASN.1报文比较的方法,其特征在于,步骤2包括:
步骤51,依据列表的位置信息,找到对应的列表;
步骤52,利用关键字比较方法以及排序算法进行排序。
5.如权利要求4所述的ASN.1报文比较的方法,其特征在于,步骤51和步骤52之间还包括:步骤61,判断排序信息中是否包括关键字比较方法,如果是执行步骤52,否则根据关键字信息生成默认的关键字比较方法,并依据排序算法进行排序。
6.如权利要求5所述的ASN.1报文比较的方法,其特征在于,步骤4包括:步骤81,依次取两个树结构中相同位置的节点,通过所述排序信息中包括的关键字比较方法或者默认的关键字比较方法进行比较,并给出树结构相等或者不等的结果,直至所有节点比较完成。
7.如权利要求6所述的ASN.1报文比较的方法,其特征在于,步骤81还包括步骤91,依据所述相等或者不等的结果,生成树结构。
8.一种用于如权利要求1-3或5-7任一项所述的ASN.1报文比较的方法的系统,其特征在于,包括:
排序信息提供模块,用于使用者通过接口给出待比较ASN.1报文需要的排序信息;
ASN.1报文排序模块,用于依据所述排序信息分别对两个待比较ASN.1报文进行排序;
数据结构转化模块,用于将排序后的两个待比较ASN.1报文依据ASN.1报文结构转化为特定的数据结构;
ASN.1报文比较模块,用于比较具有特定的数据结构的两个待比较ASN.1报文,并给出比较结果;
其中,所述特定的数据结构为树结构,所述树结构的根节点为待比较的ASN.1报文,枝叶节点依据ASN.1报文结构得到;节点包含ASN.1报文中全部字段的信息,包括ASN.1报文中字段名称、字段所在层次、报文类型、对应该类型的字符串值、字段数量、以及列表的位置信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101218371A CN101123535B (zh) | 2007-09-14 | 2007-09-14 | 一种asn.1报文比较的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101218371A CN101123535B (zh) | 2007-09-14 | 2007-09-14 | 一种asn.1报文比较的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101123535A CN101123535A (zh) | 2008-02-13 |
CN101123535B true CN101123535B (zh) | 2012-07-11 |
Family
ID=39085721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101218371A Expired - Fee Related CN101123535B (zh) | 2007-09-14 | 2007-09-14 | 一种asn.1报文比较的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101123535B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2710405C (en) | 2009-08-06 | 2018-02-13 | Accenture Global Services Gmbh | Data comparison system |
CN105323103B (zh) * | 2014-08-01 | 2019-11-05 | 中兴通讯股份有限公司 | 网络运维系统及其兼容网管系统报文变化的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482764A (zh) * | 2002-09-12 | 2004-03-17 | 深圳市中兴通讯股份有限公司 | 一种主备后台网管数据同步的方法 |
US6848078B1 (en) * | 1998-11-30 | 2005-01-25 | International Business Machines Corporation | Comparison of hierarchical structures and merging of differences |
CN1929388A (zh) * | 2005-09-09 | 2007-03-14 | 中兴通讯股份有限公司 | 一种电信管理网上下层网管数据比较方法 |
-
2007
- 2007-09-14 CN CN2007101218371A patent/CN101123535B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6848078B1 (en) * | 1998-11-30 | 2005-01-25 | International Business Machines Corporation | Comparison of hierarchical structures and merging of differences |
CN1482764A (zh) * | 2002-09-12 | 2004-03-17 | 深圳市中兴通讯股份有限公司 | 一种主备后台网管数据同步的方法 |
CN1929388A (zh) * | 2005-09-09 | 2007-03-14 | 中兴通讯股份有限公司 | 一种电信管理网上下层网管数据比较方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101123535A (zh) | 2008-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101009516B (zh) | 一种进行数据同步的方法、系统及装置 | |
CN101141284B (zh) | 业务带宽配置方法和网管系统 | |
EP1175753B1 (en) | Telecommunications network resource handling arrangement and method | |
CN113992769B (zh) | 一种工业互联网信息交换方法 | |
CN108512890A (zh) | 一种基于机架感知的容器云平台资源调度方法及系统 | |
CN1167554A (zh) | 通信网络中的路由选择 | |
CN104852813B (zh) | 家庭网关设备中tr069参数节点的按需加载方法及系统 | |
EP2395438A1 (en) | Character string processing method and system and matcher | |
US8201144B2 (en) | Method and system for distributing software components | |
CN101123535B (zh) | 一种asn.1报文比较的方法及系统 | |
CN103929499B (zh) | 一种物联网异构标识识别方法和系统 | |
CN103209126B (zh) | 一种具有模糊识别功能的号码分析方法和系统 | |
CN110263282A (zh) | 一种基于Kafka的内容发布订阅通信模式的设计方法 | |
CN105812178B (zh) | 一种终端升级方法及终端 | |
CN101516086B (zh) | 移动通讯的业务匹配方法 | |
CN101425918A (zh) | 一种基于树形网络拓扑的路由方法 | |
CN110856133A (zh) | 一种基于轻量化规则引擎的物联网网关 | |
CN115686497A (zh) | 业务开发数据管理方法、开发引擎、电子设备和存储介质 | |
CN109039717A (zh) | 一种业务资源的管理方法及系统 | |
US20070286348A1 (en) | Method for provisioning subscribers, products, and services in a broadband network | |
CN112865999B (zh) | 信息处理方法及相关设备 | |
CN100375442C (zh) | 一种通讯网络管理处理系统及方法 | |
CN100539620C (zh) | 一种实现补充业务属性设置的方法 | |
CN100433640C (zh) | 一种电信管理网上下层网管数据比较方法 | |
CN101227316A (zh) | 一种网元管理的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120711 Termination date: 20170914 |
|
CF01 | Termination of patent right due to non-payment of annual fee |