CN117097821A - 基于tr069协议的基站报文参数更新存储方法 - Google Patents
基于tr069协议的基站报文参数更新存储方法 Download PDFInfo
- Publication number
- CN117097821A CN117097821A CN202311352917.3A CN202311352917A CN117097821A CN 117097821 A CN117097821 A CN 117097821A CN 202311352917 A CN202311352917 A CN 202311352917A CN 117097821 A CN117097821 A CN 117097821A
- Authority
- CN
- China
- Prior art keywords
- information
- database
- message
- message parameter
- key information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013499 data model Methods 0.000 claims abstract description 18
- 238000012216 screening Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 abstract description 24
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种基于TR069协议的基站报文参数更新存储方法,包括:对采用TR‑181数据模型结构的报文参数进行分类定义,按照定义的分类创建对应的数据库表单;接收基站上报的全量报文信息,并对其进行解析,获取其中报文参数信息;按照定义的分类将报文参数信息缓存;获取到报文参数信息后,通过比较算法来加入或更新数据库表单。本发明能更高效解决基站上报后的参数信息与网管存储不一致问题,节省了存储空间,提升了更新效率。
Description
技术领域
本发明涉及网管技术领域,尤其涉及一种基于TR069协议的基站报文参数更新存储方法。
背景技术
TR069是CPE(Customer Premises Equipment 客户端设备)和ACS(AutoConfiguration Server 自动配置服务器)之间沟通的通讯协议。目前5G小基站网管系统(一种ACS系统,简称:网管或ACS)普遍采用TR069协议进行小基站(CPE的一种)的管理,数据模型使用TR-181。
现有的网管的参数存储与更新存在以下问题:
1、小基站基于TR-181数据模型进行参数配置,该模型参数采用树状结构定义,名称长,参数数量达数千条,存储压力大。
2、小基站设备上报时存在参数被本地用户直接修改后再传递到网管平台,导致数据更新容易出问题,特别是多实例参数,其多实例数字容易变更而未直接通告到网管平台,导致更新数据库错误。
3、小基站参数多,普通数据库方式查询更新效率低下。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于TR069协议的基站报文参数更新存储方法,以节省存储空间,提升更新效率。
为了解决上述技术问题,本发明实施例提出了一种基于TR069协议的基站报文参数更新存储方法,包括:
步骤1:对采用TR-181数据模型结构的报文参数进行分类定义,按照定义的分类创建对应的数据库表单;
步骤2:接收基站上报的全量报文信息,并对其进行解析,获取其中报文参数信息;
步骤3:按照定义的分类将报文参数信息缓存,报文参数信息包含前缀和N个后缀组成,其中,当报文参数信息为非多实例参数时,其前缀为报文参数信息中最长的公共部分字符,当报文参数信息为多实例参数时,前缀为最长公共字符到最后一个多实例数字的字段;后缀为报文参数信息中除去前缀后剩余的字段中的最后一个点号之后的字段,N个后缀组成后缀集合;若报文参数信息为非多实例参数,则进入步骤4;若报文参数信息为多实例参数,则进入步骤5;
步骤4:将报文参数信息的前缀作为第一关键信息,计算得到第一关键信息对应的快速查找码;判断该报文参数信息所属分类,遍历该报文参数信息对应分类的数据库表单,搜索数据库表单中是否存在快速查找码与第一关键信息对应的快速查找码相同的数据库信息,如果存在,则直接用该报文参数信息替换该条数据库信息,更新数据库表单;如果不存在,则将该报文参数信息保存至数据库表单,在数据库表单中新增一条数据库信息;
步骤5:将报文参数信息的前缀作为第一关键信息,再从后缀集合中筛选出第二关键信息,第二关键信息包含字段名称与值;判断该报文参数信息所属分类,遍历该报文参数信息对应分类的数据库表单,搜索数据库表单中是否存在快速查找码与第一关键信息对应的快速查找码相同的数据库信息,如果存在,则进入步骤6;如果不存在,则进入步骤7;
步骤6:比较该条数据库信息是否包含与第二关键信息相同的后缀,如果包含,则根据该报文参数信息更新数据库表单中该条数据库信息中除前缀和第二关键信息中的字段名称的其它字段;如果不包含,则根据该报文参数信息直接更新数据库表单该条数据库信息中除前缀以外的其它字段;
步骤7:遍历该报文参数信息对应分类的数据库表单,搜索是否存在字段名称与第二关键信息中的字段名称相同的数据库信息;如果存在该数据库信息,则以该报文参数信息更新该数据库信息;如果不存在该数据库信息,则将该报文参数信息保存至数据库表单,在数据库表单中新增一条数据库信息。
进一步地,步骤5中根据以下优先级从后缀集合中选择第二关键信息:
(1)优先选取中字段中含有id为命名的参数名作为第二关键信息;
(2)其次选择包含该后缀集合特征的关键字段信息作为第二关键信息。
进一步地,根据下式计算得到第一关键信息的快速查找码CodeKey1(type):
CodeKey1(type) = + Insj/> 。
其中j为从8开始依次递增到N的整数,N为第一关键信息的字符总数,所述为第一关键信息中的英文字符,/>为英文字符的ASCII数值;Insj为多实例数字的值,j为其在第一关键信息中的位置。
进一步地,步骤4中若存在多条快速查找码与第一关键信息对应的快速查找码相同的数据库信息,则再使用第一关键信息对多条数据库信息进行精确查找,确定前缀与第一关键信息相同的数据库信息,然后再使用该报文参数信息更新这条数据库信息。
进一步地,步骤5中如果存在多条快速查找码与第一关键信息对应的快速查找码相同的数据库信息,则进一步使用第一关键信息对多条数据库信息进行精确查找确定,找出前缀与第一关键信息相同的数据库信息,然后再比较该条数据库表单信息的后缀集合中是否存在后缀对应的字段名称和值与第二关键信息的字段名称和值相等;
如果相等,则更新数据库表单中该条数据库信息中除前缀和第二关键信息的字段名称的其它字段;
如果不相等,则直接更新数据库表单该条数据库信息中除前缀以外的其它字段。
进一步地,第一关键信息为一串树形结构的字段名称。
本发明的有益效果为:本发明能有效处理基于TR069协议与TR-181数据模型结合的网管数据库存储于更新问题,通过将数据模型参数分类存储后,加快参数查找速度。
本发明切分参数按照前缀与后缀方式进行存储,节省了数据库的存储空间。
本发明通过区分多实例参数类型与非多实例参数类型的更新算法,对于非多实例参数,仅通过比较第一关键信息Key1(type)来更新数据库记录,对于多实例类型,将前缀作为第一关键信息Key1(type)与后缀筛选第二关键信息Key2(type),更加精准的控制数据库参数的更新。
4、本发明对第一关键信息Key1(type)进行快速查找码CodeKey1(type)编码,通过使用ASCII码与其多实例数字相结合的方式,计算出的CodeKey1(type)值更唯一,查找更快。
5、对于通过CodeKey1(type)查询时出现多条数据情况,再使用第一关键信息Key1(type)进行精确确认,避免出现新增或更新数据出错。
6、本发明能更高效解决基站上报后的参数信息与网管存储不一致问题。
附图说明
图1是本发明实施例的基于TR069协议的基站报文参数更新存储方法的流程示意图。
图2是本发明实施例的XML格式上报的TR-181数据模型的数据信息示意图。
图3是本发明实施例的数据库表单存储方式示意图。
图4是本发明实施例的网管与基站连接示意图。
图5是本发明实施例的基站上报的原始报文的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。
本发明实施例中若有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中若涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
请参照图1,本发明实施例的基于TR069协议的基站报文参数更新存储方法包括步骤1~步骤7。
步骤1:对采用TR-181数据模型结构的报文参数进行分类定义,按照定义的分类创建对应的数据库表单。本发明应用于网管中,网管对支持的TR-181数据模型参数进行分类定义,将相关属性类型的参数归为一类,并给每个类定义不同的类名。相关属性类型的参数为参数功能存在关联性的参数。网管按照定义的类名创建对应数据库表单。数据库表单中包含Instance字段与其它字段。所述Instance字段是用来存储同一类参数中公共信息的字段,其它字段为去除公共信息的参数中最后一个“.”之后的字段。
步骤2:接收基站上报的全量报文信息,并对其进行解析,获取其中报文参数信息(包含名称、类型与值)。所述全量报文信息是一种以XML格式上报的TR-181数据模型报文。
步骤3:按照定义的分类将报文参数信息缓存,报文参数信息包含前缀和N个后缀组成。其中,当报文参数信息为非多实例参数时,前缀为报文参数信息中最长的公共部分字符;当报文参数信息为多实例参数时,前缀为参数中最长公共字符到最后一个多实例数字的字段。所述多实例数字,为参数中存在数字{i},即以树形结构两个“.”之间的数字。多实例参数的以树形结构两个“.”之间为数字。后缀为报文参数信息中除去前缀后剩余的字段中的最后一个“.”之后的字段,N个后缀组成后缀集合;若报文参数信息为非多实例参数,则进入步骤4;若报文参数信息为多实例参数,则进入步骤5。
网管对基站上报的全量报文信息进行解析后,将相关领域的报文参数分类缓存起来,将报文参数信息命名为ParaFunc(type),type为定义的类名。ParaFunc(type)中包含前缀与后缀,ParaFunc(type)中前缀标识为Prefix(type)。ParaFunc(type)中后缀为一个集合,其中k为1~M的整数,M为ParaFunc(type)中所有后缀总数。所述前缀为ParaFunc(type)参数中最长的公共部分字符(但对于多实例参数时,前缀为最长公共字符到最后一个多实例数字的字段,所述多实例参数,为参数中存在数字{i},即以树形结构两个“.”之间是数字),所述后缀为ParaFunc(type)参数中除去前缀后剩余的字段中,最后一个“.”之后的字段。
步骤4:将报文参数信息的前缀作为第一关键信息,计算得到第一关键信息对应的快速查找码;判断该报文参数信息所属分类,遍历该报文参数信息对应分类的数据库表单,搜索数据库表单中是否存在快速查找码与第一关键信息对应的快速查找码相同的数据库信息,如果存在,则直接用该报文参数信息替换该条数据库信息,更新数据库表单;如果不存在,则将该报文参数信息保存至数据库表单,在数据库表单中新增一条数据库信息。
网管将Prefix(type)作为第一关键信息Key1(type),对于多实例参数类型,再从中筛选出第二关键信息Key2(type)。非多实例参数类型不用筛选第二关键信息Key2(type)。 然后通过比较来加入或更新数据库表单。
作为一种实施方式,第一关键信息Key1(type)为一串树形结构的字段名称。
为了便于后续查找,对Key1(type)计算其快速查找码CodeKey1(type),公式如下:CodeKey1(type) = + Insj/> 。
其算法为遍历Key1(type)的所有英文字符Cj,获取每个英文字符的ASCII数值并依次相加,然后将多实例数字与其所处位置进行相乘,最终得出快速查找码。其中j为从8开始(去除公共字符”Device.”,因为TR-181数据模型都是以”Device.”开头,为提高效率,可以略过此部分字符),依次递增到N的整数,N为Key1(type)的字符总数。
所述为Key1(type)中的英文字符,/>为字符的ASCII数值。
所述Insj为多实例数字的值,j为其在Key1(type)中的位置(非多实例则 Insj 为0)。
即网管遍历type对应类型的数据库表单,搜索数据库表单中是否存在与CodeKey1(type)值相等的数据库信息。
如果存在一条对应的数据库信息,则使用更新该数据库信息。
如果存在多条对应的数据库信息,再使用Key1(type)对多条数据库信息进行精确查找确定,然后再使用更新该数据库信息。
如果不存在,则使用Prefix(type)与新增一条该数据库信息。
步骤5:将报文参数信息的前缀作为第一关键信息,再从后缀集合中筛选出第二关键信息,第二关键信息包含字段名称与值;判断该报文参数信息所属分类,遍历该报文参数信息对应分类的数据库表单,搜索数据库表单中是否存在快速查找码与第一关键信息对应的快速查找码相同的数据库信息,如果存在,则进入步骤6;如果不存在,则进入步骤7。
作为一种实施方式,筛选第二关键信息Key2(type)的方法:从。
中选择能唯一代表该集合的参数,其规则为优先选取字段中含有“id”为命名的参数名,其次优选择为能概括该集合特征的关键字段信息。
作为一种实施方式,第二关键信息Key2(type)包含字段名称与值(分别为Key2(type).Name和Key2(type).Value)。
步骤6:比较该条数据库信息是否包含与第二关键信息相同的后缀,如果包含,则根据该报文参数信息更新数据库表单中该条数据库信息中除前缀Instance和第二关键信息中的字段名称的其它字段;如果不包含,则根据该报文参数信息直接更新数据库表单该条数据库信息中除前缀Instance以外的其它字段;
步骤7:遍历该报文参数信息对应分类的数据库表单,搜索是否存在字段名称与第二关键信息中的字段名称相同的数据库信息;如果存在该数据库信息,则以该报文参数信息更新该数据库信息;如果不存在该记录,则将该报文参数信息保存至数据库表单,在数据库表单中新增一条数据库信息。
即遍历type对应类型的数据库表单,搜索数据库表单中是否存在与CodeKey1(type)值相等的数据库信息。
如果存在一条对应的信息,则比较该条数据库表单信息的后缀集合中名为Key2(type).Name对应字段的值与报文参数信息的Key2(type).Value是否相等。
如果相等,则更新数据库表单中该条记录中除Instance和Key2(type).Name的其它字段。
如果不相等,则直接更新数据库表单该条记录中除Instance以外的其它字段。
如果存在多条对应的信息,则进一步使用Key1(type)对多条信息进行精确查找确定,找出唯一的记录信息。然后再比较该条数据库表单信息的后缀集合中名为Key2(type).Name对应字段的值与报文参数信息的Key2(type).Value是否相等。
如果相等,则更新数据库表单中该条记录中除Instance和Key2(type).Name的其它字段。
如果不相等,则直接更新数据库表单该条记录中除Instance以外的其它字段。
如果不存在,则遍历type对应的数据库表单,搜索名称与Key2(type).Name相同的记录。如果存在该记录,则以ParaFunc(type)数据更新该记录(除Key2(type).Name对应的数值)。如果不存在该记录,直接新增ParaFunc(type)记录到数据库表单中。
实施例1
图2为一种XML格式上报的TR-181数据模型的数据信息(仅展示部分重要信息),其中主要参数信息在<ParameterValueStruct> 与 </ParameterValueStruct>之间。例如:
<ParameterValueStruct> <Name>Device.Services.FAPService.1.FAPControl.NR.AMFPoolConfigParam.1.AmfPort</Name>
<Value xsi:type="xsd:unsignedInt">38412</Value>
</ParameterValueStruct>
其中参数名称为Device.Services.FAPService.1.FAPControl.NR.AMFPoolConfigParam.1.AmfPort,是一种树形结构。其类型为unsignedInt,其值为38412。
表1为一种数据模型分类方式(多实例参数类型),根据其参数配置功能特点将其归为一类(为基站小区管理功能相关参数),名称为小区参数管理,前缀名为Device.Services.FAPService.{i}.CellConfig.{i},其中{i}是数字,协议中此类含{i}的参数为多实例参数,{i}为从1开始依次增加的整数,协议中其取值由设备侧(例如本案例中的基站)分配得来。
后缀名为除去前缀后,该参数剩余部分的最后一个”.”后的字段,例如:Device.Services.FAPService.{i}.CellConfig.{i}.NR.RAN.RF.gNBDUId,除去前缀Device.Services.FAPService.{i}.CellConfig.{i}.后,剩余NR.RAN.RF.gNBDUId,然后选择最后一个”.”之后的字段,则其对应的后缀名为gNBDUId。见下表1:
表1
。
表2为一种数据模型分类方式(非多实例参数类型),根据其参数配置功能特点将其归为一类(为版本参数相关参数),名称为版本参数管理,前缀名为Device.SoftwareCtrl.,后缀名为每个参数去除前缀后剩下的部分的最后一个“.”之后的字段。见下表2:
。
实施例2
图3为一种数据库表单存储方式,其为实施例1中表1的参数在数据库中存储。其中Instance为表一中的前缀名,后缀为表一中的后缀名与对应的参数值。Code为其Instance作为Key的快速查找码。
对Device.Services.FAPService.1.CellConfig.1. 进行计算快速查找码,各字符对应的ASIIC码,如下表3:
表3
。
Code = + Insj/>
=(83+101+114+118+105+99+101+115+70+65+80+83+101+114+118+105+99+101+67+101+108+108+67+111+110+102+105+103) + (1* 28 + 1* 41)
= 2823
将树形结构的参数,切分成前缀与后缀的方式进行存储,相比于直接将原始参数与值进行存储,极大的减少了其存储压力。
实施例3
图4为网管与基站连接示意图,其中基站与网管之间通过TR069协议交互,传输的数据参数遵从TR-181的数据模型。网管内部包含缓存与数据库两部分,其中缓存用来解析接收到报文得到配置参数信息,然后缓存的数据再更新进入到网管数据库中。
网管在接收到基站上报的报文后,其处理步骤如下:
1、解析基站报文,将其从报文中提取到对应的参数信息。
例如基站上报的原始报文如图5所示。其中“......”的省略中间一些数据,仅展示部分与本发明实施例相关的数据。
解析到其中主要参数名与参数值如下表4:
表4
。
2、将参数信息缓存到网管的缓存模块中。
3、其缓存方式为,将功能相关的参数归为一类,进行命名。然后找出这些参数的前缀与后缀,按照前缀+后缀模式进行存储。
3.1、版本参数管理(VersionParaManage)
ParaFunc(VersionParaManage) = {
{“Device.SoftwareCtrl.”},
{
{“AutoActivateEnable”,1},
{“ActivateTime”,},
{“ActivateEnable”,0},
{“SystemCurrentVersion”,“Alpha 2100 V200R001B01D023SP11”},
{“SystemBackupVersion”,“-”}
}
其中,前缀Prefix(VersionParaManage) = {“Device.SoftwareCtrl.”}
CodePrefix(VersionParaManage)=(83+111+102+116+119+97+114+101+67+116+
114+108) = 1248
后缀 = {
{“AutoActivateEnable”,1},
{“ActivateTime”,},
{“ActivateEnable”,0},
{“SystemCurrentVersion”,“Alpha 2100 V200R001B01D023SP11”},
{“SystemBackupVersion”,“-”}
}
3.2、小区参数管理(AreaParaManage)
ParaFunc(AreaParaManage) = {
{“Device.Services.FAPService.1.CellConfig.1.”},
{
{“gNBDUId”, 0},
{“NRARFCNDL”, 636630},
{“PhyCellID”,34},
{“DLBandwidth”,100},
{“ULBandwidth”,},
{“PSCHPowerOffset”,},
{“NRARFCNUL”,636630},
{“FreqBandIndicator”,78},
{“SsbFrequency”,633600},
{“SsPBCHBlockPower”,-11}
}
其中,前缀Prefix(AreaParaManage) = {“Device.Services.FAPService.1.CellConfig.1.”}
CodePrefix(AreaParaManage) = 2823
后缀 = {
{“gNBDUId”, 0},
{“NRARFCNDL”, 636630},
{“PhyCellID”,34},
{“DLBandwidth”,100},
{“ULBandwidth”,},
{“PSCHPowerOffset”,},
{“NRARFCNUL”,636630},
{“FreqBandIndicator”,78},
{“SsbFrequency”,633600},
{“SsPBCHBlockPower”,-11}
}
4、确定缓存中各类表单的关键Key值信息。
4.1、版本参数管理(VersionParaManage)
该类参数为非多实例参数类型,只需要确定关键值Key1,通过分析得出“Device.SoftwareCtrl.”为其最长公共部分的字符,即Key1 = “Device.SoftwareCtrl.”。然后,计算出Code = 1248。
4.2、小区参数管理(AreaParaManage)
小区参数管理为多实例类型参数,需要确定两个关键Key。
Key1为“Device.Services.FAPService.1.CellConfig.1.”,其为最长公共部分的字符,仅到{i}(数字1)结束。计算出Code = 2823
Key2为{“gNBDUId”, 0},包含名称“gNBDUId”和值0。“gNBDUId”带“Id”字符(其含义为基站Id),为本发明后缀中最优选择项,也是最能代表后缀的特征。
5、在数据库中搜索对应的表单记录,进行数据库存储或更新。
5.1、版本参数管理(VersionParaManage)
以Key1(“Device.SoftwareCtrl.”)的Code搜索数据库表单VersionParaManage中的对应的Code值
如果存在一条记录,则使用对应缓存类的后缀更新该类名对应的数据库表单。
如果存在多条记录,则使用Key1(“Device.SoftwareCtrl.”)精确匹配其中一条记录,然后使用对应缓存类的后缀更新该类名对应的数据库表单。
如果不存在,则新增一套该类表单记录。
5.2、小区参数管理(AreaParaManage)
以Key1(“Device.Services.FAPService.1.CellConfig.1.”)的Code搜索数据库表单AreaParaManage中的对应Code值,
如果存在一条记录,则继续使用Key2.Na.me(“gNBDUId”)查询该条数据库表单(AreaParaManage)中对应名称的值,如果其值与Key2.Value(值为0)相等,更新该条数据库表单中对应的其它数据(除去Instance与Key2),如果其值与Key2.Value(值为0)不相等,则更新该条数据库表单中对应的其它数据(除去Instance)。
如果存在多条记录,则使用Key1(“Device.Services.FAPService.1.CellConfig.1.”)精确匹配其中一条记录,然后继续使用Key2.Name(“gNBDUId”)查询该条数据库表单(AreaParaManage)中对应名称的值,如果其值与Key2.Value(值为0)相等,更新该条数据库表单中对应的其它数据(除去Instance与Key2),如果其值与Key2.Value(值为0)不相等,则更新该条数据库表单中对应的其它数据(除去Instance)。
如果不存在,则使用Key2.Name(“gNBDUId”)查询该条数据库表单(AreaParaManage)中对应名称的值,如果其值与Key2.Value(值为0)相等,则将缓存中ParaFunc(AreaParaManage) 的数据更新进该条数据库表单(除去数据库中Key2.Name对应的字段)。如果其值与Key2.Value(值为0)不相等。则将缓存中ParaFunc(AreaParaManage)的数据新增到数据库表单中。
以上处理过程中,对于非多实例参数,只需要找出参数中最长公共部分作为前缀,对于多实例参数,由于可能存在多种情况,例如:
Device.Services.FAPService.1.CellConfig.1.NR.RAN.RF.NRARFCNDL与
Device.Services.FAPService.1.CellConfig.2.NR.RAN.RF.NRARFCNDL,其中只有部分实例号不一样,其它字段一样,或者
Device.Services.FAPService.1.CellConfig.1.NR.RAN.RF.NRARFCNDL与
Device.Services.FAPService.1.CellConfig.1.NR.RAN.RF.PSCHPowerOffset,相同的部分为Device.Services.FAPService.1.CellConfig.1.NR.RAN.RF.,基于以上两种情况,多实例参数公共部分统一Device.Services.FAPService.{i}.CellConfig.{i}.(最长公共字符到最后一个多实例数字的字段),用来区分多实例最准确。
另外,多实例参数在通告给网管的过程中,设备侧可能因为本地用户直接修改参数后,传递给网管后,多实例号变更,部分关键信息未变更的情况,采用上述5.2 的比较方式,通过采用双Key值比较,能精准的更新数据库表单对应的参数,减少更新步骤。
另外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。
Claims (6)
1.一种基于TR069协议的基站报文参数更新存储方法,其特征在于,包括:
步骤1:对采用TR-181数据模型结构的报文参数进行分类定义,按照定义的分类创建对应的数据库表单;
步骤2:接收基站上报的全量报文信息,并对其进行解析,获取其中报文参数信息;
步骤3:按照定义的分类将报文参数信息缓存,报文参数信息包含前缀和N个后缀组成,其中,当报文参数信息为非多实例参数时,其前缀为报文参数信息中最长的公共部分字符,当报文参数信息为多实例参数时,前缀为最长公共字符到最后一个多实例数字的字段;后缀为报文参数信息中除去前缀后剩余的字段中的最后一个点号之后的字段,N个后缀组成后缀集合;若报文参数信息为非多实例参数,则进入步骤4;若报文参数信息为多实例参数,则进入步骤5;
步骤4:将报文参数信息的前缀作为第一关键信息,计算得到第一关键信息对应的快速查找码;判断该报文参数信息所属分类,遍历该报文参数信息对应分类的数据库表单,搜索数据库表单中是否存在快速查找码与第一关键信息对应的快速查找码相同的数据库信息,如果存在,则直接用该报文参数信息替换该条数据库信息,更新数据库表单;如果不存在,则将该报文参数信息保存至数据库表单,在数据库表单中新增一条数据库信息;
步骤5:将报文参数信息的前缀作为第一关键信息,再从后缀集合中筛选出第二关键信息,第二关键信息包含字段名称与值;判断该报文参数信息所属分类,遍历该报文参数信息对应分类的数据库表单,搜索数据库表单中是否存在快速查找码与第一关键信息对应的快速查找码相同的数据库信息,如果存在,则进入步骤6;如果不存在,则进入步骤7;
步骤6:比较该条数据库信息是否包含与第二关键信息相同的后缀,如果包含,则根据该报文参数信息更新数据库表单中该条数据库信息中除前缀和第二关键信息中的字段名称的其它字段;如果不包含,则根据该报文参数信息直接更新数据库表单该条数据库信息中除前缀以外的其它字段;
步骤7:遍历该报文参数信息对应分类的数据库表单,搜索是否存在字段名称与第二关键信息中的字段名称相同的数据库信息;如果存在该数据库信息,则以该报文参数信息更新该数据库信息;如果不存在该数据库信息,则将该报文参数信息保存至数据库表单,在数据库表单中新增一条数据库信息。
2.如权利要求1所述的基于TR069协议的基站报文参数更新存储方法,其特征在于,步骤5中根据以下优先级从后缀集合中选择第二关键信息:
(1)优先选取中字段中含有id为命名的参数名作为第二关键信息;
(2)其次选择包含该后缀集合特征的关键字段信息作为第二关键信息。
3.如权利要求1所述的基于TR069协议的基站报文参数更新存储方法,其特征在于,根据下式计算得到第一关键信息的快速查找码CodeKey1(type):
CodeKey1(type) = + Insj/> ;
其中j为从8开始依次递增到N的整数,N为第一关键信息的字符总数,所述为第一关键信息中的英文字符,/>为英文字符的ASCII数值;Insj为多实例数字的值,j为其在第一关键信息中的位置。
4.如权利要求1所述的基于TR069协议的基站报文参数更新存储方法,其特征在于,步骤4中若存在多条快速查找码与第一关键信息对应的快速查找码相同的数据库信息,则再使用第一关键信息对多条数据库信息进行精确查找,确定前缀与第一关键信息相同的数据库信息,然后再使用该报文参数信息更新这条数据库信息。
5.如权利要求1所述的基于TR069协议的基站报文参数更新存储方法,其特征在于,步骤5中如果存在多条快速查找码与第一关键信息对应的快速查找码相同的数据库信息,则进一步使用第一关键信息对多条数据库信息进行精确查找确定,找出前缀与第一关键信息相同的数据库信息,然后再比较该条数据库表单信息的后缀集合中是否存在后缀对应的字段名称和值与第二关键信息的字段名称和值相等;
如果相等,则更新数据库表单中该条数据库信息中除前缀和第二关键信息的字段名称的其它字段;
如果不相等,则直接更新数据库表单该条数据库信息中除前缀以外的其它字段。
6.如权利要求1所述的基于TR069协议的基站报文参数更新存储方法,其特征在于,第一关键信息为一串树形结构的字段名称。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311352917.3A CN117097821B (zh) | 2023-10-19 | 2023-10-19 | 基于tr069协议的基站报文参数更新存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311352917.3A CN117097821B (zh) | 2023-10-19 | 2023-10-19 | 基于tr069协议的基站报文参数更新存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117097821A true CN117097821A (zh) | 2023-11-21 |
CN117097821B CN117097821B (zh) | 2023-12-19 |
Family
ID=88775477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311352917.3A Active CN117097821B (zh) | 2023-10-19 | 2023-10-19 | 基于tr069协议的基站报文参数更新存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117097821B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118075792A (zh) * | 2024-04-19 | 2024-05-24 | 深圳市佳贤通信科技股份有限公司 | 基于tr069协议的基站告警处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377664A (zh) * | 2010-08-27 | 2012-03-14 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
CN110891030A (zh) * | 2019-12-26 | 2020-03-17 | 南京烽火星空通信发展有限公司 | 一种基于机器学习的http流量特征识别与提取方法 |
US20210174913A1 (en) * | 2019-12-06 | 2021-06-10 | Ankon Technologies Co., Ltd | Method, apparatus and storage medium for labeling capsule endoscopy report |
-
2023
- 2023-10-19 CN CN202311352917.3A patent/CN117097821B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377664A (zh) * | 2010-08-27 | 2012-03-14 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
US20210174913A1 (en) * | 2019-12-06 | 2021-06-10 | Ankon Technologies Co., Ltd | Method, apparatus and storage medium for labeling capsule endoscopy report |
CN110891030A (zh) * | 2019-12-26 | 2020-03-17 | 南京烽火星空通信发展有限公司 | 一种基于机器学习的http流量特征识别与提取方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118075792A (zh) * | 2024-04-19 | 2024-05-24 | 深圳市佳贤通信科技股份有限公司 | 基于tr069协议的基站告警处理方法 |
CN118075792B (zh) * | 2024-04-19 | 2024-06-28 | 深圳市佳贤通信科技股份有限公司 | 基于tr069协议的基站告警处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117097821B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5306359B2 (ja) | 複数言語によるデータ記録を関連付ける方法およびシステム | |
US6587856B1 (en) | Method and system for representing and accessing object-oriented data in a relational database system | |
US7603339B2 (en) | Merging synopses to determine number of distinct values in large databases | |
US7636731B2 (en) | Approximating a database statistic | |
US9436702B2 (en) | Navigation system data base system | |
CN117097821B (zh) | 基于tr069协议的基站报文参数更新存储方法 | |
US9129010B2 (en) | System and method of partitioned lexicographic search | |
US20120323921A1 (en) | Dictionary for hierarchical attributes from catalog items | |
JP2004518226A (ja) | データベースシステムおよびクエリオプティマイザ | |
CN104769586A (zh) | 采用位置信息剖析数据 | |
JP2002229825A (ja) | コンピュータメモリ | |
RU2632414C2 (ru) | Способ формирования иерархической структуры данных, способ поиска данных с помощью иерархической структуры данных, сервер и постоянный машиночитаемый носитель | |
CN100565508C (zh) | 结构化文档管理设备、搜索设备、存储和搜索方法 | |
WO2022241813A1 (zh) | 一种基于图压缩的图数据库构建方法、装置及相关组件 | |
US20080270352A1 (en) | Modifying entry names in directory server | |
CN109189759B (zh) | Kv存储系统中的数据读取方法、数据查询方法、装置及设备 | |
US8756246B2 (en) | Method and system for caching lexical mappings for RDF data | |
US20080126297A1 (en) | Automatic index based query optimization | |
US7395262B1 (en) | Techniques for searching for best matches in tables of information | |
CN116595226A (zh) | 一种基于司法行业的图文数据的分布式存储方法及系统 | |
CN115794861A (zh) | 基于特征摘要的离线数据查询复用方法及其应用 | |
US7233957B1 (en) | Method and apparatus for identifying and processing changes to management information | |
US7155503B2 (en) | Data server | |
CN115599976B (zh) | 用户分群方法、装置、电子设备及存储介质 | |
WO2023092954A1 (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 |