CN103561019B - 一种针对tr069数据访问方法 - Google Patents
一种针对tr069数据访问方法 Download PDFInfo
- Publication number
- CN103561019B CN103561019B CN201310529148.XA CN201310529148A CN103561019B CN 103561019 B CN103561019 B CN 103561019B CN 201310529148 A CN201310529148 A CN 201310529148A CN 103561019 B CN103561019 B CN 103561019B
- Authority
- CN
- China
- Prior art keywords
- data
- leaf node
- type
- node
- directed
- 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.)
- Active
Links
Abstract
本发明提供一种针对TR069数据访问方法,包括:定义叶子节点数据类型的步骤;根据所述数据类型定义叶子节点数据结构的步骤;根据所述叶子节点数据结构定义中间节点数据结构的步骤;读取所述叶子节点的数据的步骤。优选地,所述读取所述叶子节点数据的步骤包括:根据中间节点的索引读取所述中间节点数据的步骤;根据叶子节点在所述中间节点中的索引读取所述叶子节点的数据的步骤。本发明针对TR069数据访问的代码数量少,没有增加时间复杂度的同时,大大降低了空间复杂度,节约了大量终端设备的内存、FLASH空间。
Description
技术领域
本发明涉及一种数据访问方法,特别是涉及一种针对TR069数据的访问方法。
背景技术
TR069是一种终端管理协议,在现有设备中被大量使用。TR069协议主要规定了自动配置服务器(Auto-Configuration Server,简称ACS)以及用户终端设备(CustomerPremise Equipment,简称CPE)之间的交互框架。在实际场景中,使用较为频繁,并且较为占用资源的是两类远程调用方法(RPC Method):参数设置(SetParameterValues)和参数读取(GetParameterValues)。
TR069协议规定的数据组织格式为树形,如图1中所示。参数设置/读取需要访问树形结构中的叶子节点,进行读写操作。在现有实现中,一般将包含叶子节点的中间节点当作一个数据结构,此结构包含此节点下的所有叶子节点,以此数据结构保存在数据库中。例如:
当收到一个参数设置/读取请求时,调用对应的中间节点的处理函数。在中间节点的处理函数中,根据访问的叶子节点,再调用相应的叶子节点处理函数。
当数据组织如图1所示时,叶子节点的数据读取代码逻辑大致如下:
上述现有实现可以看出,每个叶子节点都需要自己的处理函数(如getDataB1(),getDataB2()等),虽然单个函数并不复杂,但是由于叶子节点的数量相当大,所以函数的总量相当庞大。以电信的家庭网关设备为例,叶子节点多达近三千个,光叶子节点的访问函数就接近三万行。虽然可以通过由数据描述文件通过脚本自动生成代码,以减少编码的工作量,但是代码库占用的FLASH空间以及内存依然较大。而终端设备的CPU处理能力、内存空间、FLASH大小都较为有限,因此在终端设备上的业务实现都必须具备较好的空间和运行效率。上述现有的TR069数据访问方式占用FLASH及内存资源过多,效率低下。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种针对TR069数据访问方法,用于解决现有技术中针对TR069数据访问的代码总量大,占用终端设备的内存、FLASH资源较多等问题。
为实现上述目的及其他相关目的,本发明提供一种针对TR069数据访问方法,包括:定义叶子节点数据类型的步骤;根据所述数据类型定义叶子节点数据结构的步骤;根据所述叶子节点数据结构定义中间节点数据结构的步骤;读取所述叶子节点的数据的步骤。
优选地,上述针对TR069数据访问方法中,所述读取所述叶子节点数据的步骤包括:根据中间节点的索引读取所述中间节点数据的步骤;根据叶子节点在所述中间节点中的索引读取所述叶子节点的数据的步骤。
更优选地,上述针对TR069数据访问方法中,所述根据叶子节点在所述中间节点中的索引读取所述叶子节点的数据的步骤包括:判断所述叶子节点的数据类型的步骤;根据所述叶子节点的数据类型和所述叶子节点的数据地址读取数据的步骤。
如上所述,本发明的针对TR069数据访问方法,具有以下有益效果:没有增加时间复杂度的同时,大大降低了空间复杂度,节约了大量的终端设备的内存、FLASH空间。
附图说明
图1显示为TR069协议的数据组织格式示意图;
图2显示为本发明针对TR069数据访问方法实施例流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅附图。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如前所述图1显示了TR069协议的数据组织形式示意图。以下将以图1中数据组织为例,结合图2说明本发明方法的优选实施例,本领域技术人员可以通过以下说明了解本发明的原理,并不需要付出创造性劳动即可以将之应用于符合TR069协议的其它任何数据组织形式。
下面参阅图2,图2为本发明的针对TR069数据访问方法优选实施例流程图。其中步骤S1表示定义叶子节点的数据类型。本例中,采用枚举类型进行表述,所以需要先确定系统中叶子节点的所有可能数据类型。为说明方便,假设叶子节点只可能有两种取值:字符串或者整型,则叶子节点枚举类型可以有类似如下的定义:
步骤S2表示定义叶子节点数据结构。本例中,根据如上的数据类型,叶子结点的数据结构可以采用结构体进行表述。本例中叶子节点的数据结构可以有类似如下的定义:
步骤S3表示定义中间节点数据结构。本例中,采用逐层定义的方式,先定义叶子节点上一层中间节点B、C,定义的方法可以分别基于它们叶子节点数据,采用数组形式组织如下:
Para_Info B_Info[]={{&(((struct B*)0)->data1),DataInt},
{&(((struct B*)0)->data2),DataString},};
Para_Info C_Info[]={{&(((struct C*)0)->data3),DataString},
{&(((struct C*)0)->data4),DataString},
{&(((struct C*)0)->data5),DataInt},};
接下来再以类似的方式,定义上一层中间节点。本例中,再上一层节点即为根节点,则根节点A的数据结构可以基于中间节点B、C的数据,也使用数组形式组织如下:
Para_Info*globalParaInfo[]={B_Info,C_Info,};
步骤S4表示读取叶子节点的数据。本例中,读取叶子节点的数据的逻辑可以描述为:先根据中间节点的索引,从数据库中读出中间节点的数据;再根据叶子节点在该中间节点中的索引读出叶子节点的数据。优选地,可以根据不同数据类型分别定义数据访问方法,在根据叶子节点在该中间节点中的索引读出叶子节点数据的过程中,可以调用相应的数据类型访问方法。其实现过程可以由类似如下的代码操作:
其中,根据叶子节点在中间节点中的索引读出叶子节点的数据的操作包括:判断叶子节点的数据类型;根据数据类型和数据地址读取数据。其实现可以由类似如下的代码操作:
本例中,读取数据的操作需要先根据数据的类型,使用对应的读取方法。例如数据类型包括整型,浮点型,字符型,字符串型,长整型,短整型,双精度浮点型等类型的数据读取方法。
由上可知,使用本发明中提出的此种实现方式,只需为叶子节点的每个数据类型实现一个函数。由于数据类型的数量要少得多,常用的只有整形、浮点、字符串、字符等几种,所以对于叶子节点非常少的情况,现有方法会比本发明的方法代码量更少。但这种可能性仅存在于理论层面,因为实际使用时,如上所述,叶子结点数以千计,远远大于常用数据类型的数量。所以在实际使用中,使用本发明的方法,代码数量下降的非常多。此种实现方式另外需要的开销是叶子节点的特征数据的存储,可以看到每个叶子节点需要的存储数据是八个字节(Para_Info的大小),即使考虑到中间节点的存储空间,平均到每个叶子节点的存储空间基本上也不会超过十个字节。也就是说三千个叶子节点,只需要大于30K字节的存储空间。 所以整体的使用空间大大下降。而调用过程并没有增加循环查找等操作,时间开销基本保持一致。实测代码库大小由原先的2M显著下降到的512K左右,大大节约FLASH及内存空间。
综上所述,本发明针对TR069数据访问的代码数量少,没有增加时间复杂度的同时,大大降低了空间复杂度,节约了大量终端设备的内存、FLASH空间。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (5)
1.一种针对TR069数据访问方法,其特征在于,包括:
定义叶子节点数据类型的步骤;
根据所述数据类型定义叶子节点数据结构的步骤;
根据所述叶子节点数据结构定义中间节点数据结构的步骤,采用逐层定义的方式定义所述中间节点的数据结构;
读取所述叶子节点数据的步骤,包括:
根据中间节点的索引读取所述中间节点数据的步骤;
根据叶子节点在所述中间节点中的索引读取所述叶子节点的数据的步骤,包括:
根据不同数据类型定义不同访问方式的步骤;
判断所述叶子节点的数据类型的步骤;
根据所述叶子节点的数据类型和所述叶子节点的数据地址读取数据的步骤,所述根据所述叶子节点的数据类型和所述叶子节点的数据地址读取数据的步骤调用所述访问方式。
2.根据权利要求1所述的针对TR069数据访问方法,其特征在于,所述定义叶子节点数据类型的步骤中,所述数据类型采用枚举类型方式定义。
3.根据权利要求1所述的针对TR069数据访问方法,其特征在于,所述叶子节点的数据结构采用结构方式定义。
4.根据权利要求1所述的针对TR069数据访问方法,其特征在于,所述中间节点数据结构采用数组的方式定义。
5.根据权利要求1所述的针对TR069数据访问方法,其特征在于,所述数据类型包括整型,浮点型,字符型,字符串型,长整型,短整型,双精度浮点型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310529148.XA CN103561019B (zh) | 2013-10-30 | 2013-10-30 | 一种针对tr069数据访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310529148.XA CN103561019B (zh) | 2013-10-30 | 2013-10-30 | 一种针对tr069数据访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103561019A CN103561019A (zh) | 2014-02-05 |
CN103561019B true CN103561019B (zh) | 2018-02-06 |
Family
ID=50015169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310529148.XA Active CN103561019B (zh) | 2013-10-30 | 2013-10-30 | 一种针对tr069数据访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103561019B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683870A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 用于枚举数据访问的方法和装置 |
CN111782658A (zh) * | 2020-07-08 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 交叉表处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501624A (zh) * | 2002-11-15 | 2004-06-02 | 深圳市中兴通讯股份有限公司 | 解释内存数据块的数据结构的方法 |
CN101324846A (zh) * | 2008-07-08 | 2008-12-17 | 国电南瑞科技股份有限公司 | 根据asn.1信息动态创建数据模型的方法 |
CN101771557A (zh) * | 2008-12-15 | 2010-07-07 | 华为终端有限公司 | 管理对象实例别名的方法和设备 |
CN102402545A (zh) * | 2010-09-14 | 2012-04-04 | 腾讯科技(深圳)有限公司 | 一种存储数据的方法及装置 |
CN103177094A (zh) * | 2013-03-14 | 2013-06-26 | 成都康赛电子科大信息技术有限责任公司 | 一种物联网数据清洗方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07146785A (ja) * | 1993-11-24 | 1995-06-06 | Hitachi Ltd | プログラム自動生成方法および装置 |
US20070239436A1 (en) * | 2006-04-06 | 2007-10-11 | Kolman Robert S | Methods and instructions for outputting data comprising a data dictionary |
CN101848110B (zh) * | 2010-06-04 | 2012-01-04 | 杭州华三通信技术有限公司 | 一种tr069网络管理方法和设备 |
-
2013
- 2013-10-30 CN CN201310529148.XA patent/CN103561019B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1501624A (zh) * | 2002-11-15 | 2004-06-02 | 深圳市中兴通讯股份有限公司 | 解释内存数据块的数据结构的方法 |
CN101324846A (zh) * | 2008-07-08 | 2008-12-17 | 国电南瑞科技股份有限公司 | 根据asn.1信息动态创建数据模型的方法 |
CN101771557A (zh) * | 2008-12-15 | 2010-07-07 | 华为终端有限公司 | 管理对象实例别名的方法和设备 |
CN102402545A (zh) * | 2010-09-14 | 2012-04-04 | 腾讯科技(深圳)有限公司 | 一种存储数据的方法及装置 |
CN103177094A (zh) * | 2013-03-14 | 2013-06-26 | 成都康赛电子科大信息技术有限责任公司 | 一种物联网数据清洗方法 |
Non-Patent Citations (1)
Title |
---|
基于接口语义契约的 Web 服务测试数据生成;侯可佳等;《软件学报》;20130915;2025-2028 * |
Also Published As
Publication number | Publication date |
---|---|
CN103561019A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102906751B (zh) | 一种数据存储、数据查询的方法及装置 | |
CN106302442B (zh) | 一种基于Java语言的网络通讯数据包解析方法 | |
CN107948578B (zh) | 视频会议系统传送带宽及分辨率的调整方法及调整装置 | |
CN102780574B (zh) | 面向业务的局数据的配置方法、装置以及核查方法、装置 | |
CN107229619A (zh) | 互联网业务链路调用情况的统计、展示方法及装置 | |
CN109344126B (zh) | 贴图的处理方法、装置、存储介质和电子装置 | |
CN104092758B (zh) | 一种分布式高速云存储服务器集群系统的读取方法 | |
CN107436738A (zh) | 一种数据存储方法及系统 | |
CN103561019B (zh) | 一种针对tr069数据访问方法 | |
CN106161074A (zh) | 一种云终端日志处理方法、装置及系统 | |
CN107491549A (zh) | 一种数据处理方法及系统 | |
CN105550246A (zh) | Android平台下加载网络图片的系统及方法 | |
CN103593485B (zh) | 实现数据库实时操作的方法和设备 | |
CN106933828B (zh) | 数据插入方法和装置 | |
CN107360031A (zh) | 一种基于优化开销收益比的虚拟网络映射方法 | |
CN106384292A (zh) | 社交网络用户关系采集系统及方法 | |
CN110019043B (zh) | 一种区块链数据存储方法 | |
CN108038171A (zh) | 数据写入方法、装置及数据服务器 | |
CN105049475B (zh) | 大规模社区的数据高效存储优化方法及系统 | |
CN106294539A (zh) | 混合云环境下的数据索引列表存储策略 | |
Li et al. | Characterizing service providers traffic of mobile internet services in cellular data network | |
CN108459969A (zh) | 一种64位多核服务器内数据存储及传输方法 | |
CN101119363B (zh) | 基于统一接口的内存数据库远程并发访问和界面管理方法 | |
CN107343051A (zh) | 乳腺筛查数据迁移系统及方法 | |
CN103236954A (zh) | 移动网络Web服务评价系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201116 Address after: 221700 4-1-110-shop, Nanyuan new town, Fengxian County, Xuzhou City, Jiangsu Province Patentee after: Song Yixiao Address before: 201616 Shanghai city Songjiang District Guangfulin road 4855 Lane 20, No. 90 Patentee before: Phicomm (Shanghai) Co.,Ltd. |