Q∕GDW 12107-2021 物联终端统一建模规范_第1页
Q∕GDW 12107-2021 物联终端统一建模规范_第2页
Q∕GDW 12107-2021 物联终端统一建模规范_第3页
Q∕GDW 12107-2021 物联终端统一建模规范_第4页
Q∕GDW 12107-2021 物联终端统一建模规范_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ICS 29. 240Q/GDW国家电网有限公司企业标准Q/GDW121072021物联终端统一建模规范Unified modeling specification for terminal of internet of things2021-05-26 发布2021-05-26 实施国家电网有限公司 发布Q/GDW 121072021目 次tti Wii1 翻l2 规范性引用文件13术i吾轍5C14鵬i吾25嬷25. 1物联模型定义25.2物联模型功能36物联终端统一建模方法36. 1模型说明36. 2模型结构36. 3模型标识符构建方法46. 4模型描述构建方法46. 5属性构建方法56.

2、6消息构建方法76.7服务构建方法7附录A (资料性附录)统一建模示例9綱側25Q/GDW 121072021为规范电力物联网终端设备数据信息统一建模方法,支撑公司终端设备数据信息在电力物联网中的 应用交互,指导电力物联网中输变配用等专业物联终端数据信息模型的构建,制定本标准。本标准由国家电网有限公司互联网部提出并解释。本标准由国家电网有限公司科技部归口。本标准起草单位:国网江苏省电力有限公司、国网上海市电力公司、国网浙江省电力有限公司、国 网福建省电力有限公司、国网辽宁省电力有限公司、国网内蒙古东部电力有限公司、国网青海省电力公 司、南瑞集团有限公司、国网信息通信产业集团有限公司、许继集团有

3、限公司、平高集团有限公司、中 国电力科学研究院有限公司、国网大数据中心、国网经济技术研究院有限公司。本标准主要起草人:韦磊、范金锋、缪巍巍、蒋承伶、王传君、曾锃、周鹏、张震、李世豪、张厦 千、张明轩、余益团、张华锋、高雪、胡游君、王帅、李炜、吴涵、王诗清、梁峰、韩良煜、韩扬、张 俊杰、胡杨、翁章君、刘世民、肖海龙、冯百龙、毛建容、候葵、周银丰、蔡常雨、朱广新、陈翔、耿 新洲。本标准首次发布。本标准在执行过程中的意见或建议反馈至国家电网有限公司科技部。#Q/GDW 121072021物联终端统一建模规范1范围本标准规定了电力物联网物联终端统一建模方法。本标准适用于指导公司电力物联网中输变配用等专

4、业物联终端设备数据信息模型的构建。 2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。Q/GDW 12098 电力物联网术语3术语和定义Q/GDW 12098界定的以及下列术语和定义适用于本文件。3. 1属性 property用于电力物联网设备终端身份详情的静态信息描述和设备运行时可持续存在状态的动态信息描述。 3. 2静态属性 static property在电力物联终端全生命周期中用于描述自身身份详情的基本信息,包含设备身份的标识,设备的描 述信息等。3. 3动态属性

5、 dynamic property描述物联终端运行时的状态值,如电能表的示值,温度监测设备所读取的当前温度等信息。3. 4消息event由电力物联终端主动上报并需要被外部感知和处理的通知信息,这类信息是无法通过查询电力物联 终端的属性而获知的,如发生故障或异常时候主动上报的告警信息及附带的参数等信息。该类信息是可 以被订阅和推送。3. 5月艮# serv i ce电力物联终端能够被远程调用而去执行的动作、指令,通常需要花费一定时间执行,可设置输入参 数和输出参数,“输入参数”是指物联终端在执行某一个动作时需要的指令信息,“输出参数”是指物 联终端在完成某一动作后需要反馈的状态信息。4缩略语下列

6、缩略语适用于本文件。ID: 标识 (Identification)JSON: JavaScript对象标记(JavaScript Object Notation)SG-CIM:国家电网有限公司公共信息模型(STATE GRID Common Information Model)5概述5.1物联模型定义物联终端模型是对物理空间中输变配用等环节使用的终端传感设备(信号)的数字化描述。如图1 所示,通过规范物联终端统一建模方法,构建物联终端设备数据信息描述模型,实现物联终端设备数据 统一描述模型,支撑电力物联网中输变配用等各类业务终端数据信息在业务应用、物联管理平台、边缘 物联代理之间的交互应用。业

7、务!应用IL业务系统业务系统必-致性校验* SG-CIM1定义标识管理物联管理平台设备管理 数据处理应用管理据析模化数解及型物联终端模型连接管理I下发数据模型化联理物代物联终端模型数据解析数据解析数据解析数据解析数据解析I I 电_ I 电_ I 销_ "J I1_- J 1_- J 1_ j|_图1物联型定位示意115.2物联模型功能使用物联终端统一建模方法生成的物联终端描述模型,参考了统一数据模型(SG-CIM)的建模方法, 是电力物联网领域对SG-CIM模型的补充,主要应用于业务应用、物联管理平台、边缘物联代理三层架构 中:a)边缘物联代理:边缘物联代理对采集的终端数据进行解析

8、,基于物联终端模型对采集数据进行 过滤、校验和标准化处置,支撑边缘融合应用。b)物联管理平台:物联管理平台提供物联模型的定义和管理,在总部部署的物联管理平台提供全 网物联模型标准管理和版本监控功能。c)业务应用:根据业务需求进行终端数据信息的审核、校验及应用分析。6物联终端统一建模方法6. 1模型说明物联终端统一建模规范通过模型标识符、模型描述、属性、消息和服务的描述,形成对电力物联终 端设备数据信息的完整描述,支撑终端设备数据信息在电力物联网中的应用交互需求。6. 2模型结构物联终端模型整体组成结构如图2所示,一个物联终端模型包含模型标识符、模型描述、静态属性、 动态属性、消息和服务的主题域

9、。其中模型标识符、模型描述、静态属性和动态属性的主题域是必须的, 消息和服务的主题域是可选的。图例:必选对象(object) ;I (object , / 对象数组!' (object array) /模型对象(model object)(servi._:静态属性_1/ (s ta ticProperties_ 1)静态属性_N(s ta ticProper ti es_n)-/动态属性_1/ (dynamicProperties_l) /动态属性_N;(dynamicProperties_n) /消息_1(event s_l)消息_N(events_n)服务_1(services_l

10、)服务_N(services_n)静态属性标识符(id) 静态属性名称(name) 读写类型(accessMode) 必选(required)数据类型(dataType)静态属性标识符 静态属性名称(name)读写类型(accessMode) 必选(required)数据类型(dataType)动态属性标识符(id)动态属性名称(name)读写类型(accessMode) 必选(required)数据类型(dataType)动态属性标识符(id)动态属性名称(name)读写类型(accessMode) 必选(required)数据类型(dataType)消息标识符6必消息名称(name)消息描

11、述(desc)消息类型(type)调用方法(callType)输出参数标识符(outputData) 消息标识符(id)消息名称(name)消息描述(desc)消息类型(type)调用方法(callType)输出参数标识符(outputData) 服务标识符(id)服务名称(name)服务描述(desc)服务方法名称(method)调用方式(callType)等待时间(waitTime)输入参数(params)输出参数标识符(resul ts) 服务标识符(id)服务名称(name)服务描述(desc)服务方法名称(method)调用方式(callType)等待时间(wai tTime)输入参

12、数(params)输出参数标识符(results)图2物联模型结构示意图6.3模型标识符构建方法模型标识符作为物联模型唯一标识符,用来标识物联模型的唯一性。支持大小写字母、数字、短划 线和下划线,不超过30个字符。6.4模型描述构建方法模型描述是对物联模型进行描述的信息,支持中文、大小写字母、数字、短划线和下划线,且必须 以中文、英文或数字开头,不超过30个字符。6. 5属性构建方法 6. 5. 1属性分类在电力物联网中的物联终端属性分为静态属性和动态属性。6.5.2静态属性构建方法物联终端的属性通过自定义多个属性值对一个设备终端静态属性进行描述,以JS0N格式作为描述代 码,每一个静态属性值

13、定义说明见表1。根据物联终端“静态属性标识符”、“静态属性名称”、“读 写类型”、“必选”、“数据类型”的静态描述信息,进行组合形成一个结构化的JS0N静态对象描述。 其中“数据类型”是一种结构化JS0N对象,包含“类型” (type)和“限定”(specs) 2项属性,分别 用来指定具体的数据类型和对该数据类型进行具体描述、限定。物联终端的静态属性定义应包含各专业 公共属性。样例参见附录A。表1静态属性值定义说明属性名称描述id静态属性标识符静态属性唯一标识符(静态属性下唯一),为了便于程序处理,只支持大小写字 母、数字、短划线和下划线,不超过30个字符。name静态属性名称静态属性名称,支

14、持中文、大小写字母、数字、短划线和下划线,且必须以中文、 英文或数字开头,不超过30个字符。accessMode读写类型该属性值是否可以改变,属性读写类型, 只读,读写(RW)required必选是否是静态属性的必选属性必选(Y),可选(N)dataType数据类型应根据需要由如下支持的基本数据类型进行组合,形成所需要数据类型,可以对 该数据类型进行具体描述和限定:string,int,float,double,date (String 类型 UTC 毫秒),dataType数据类型bool (0或1的int类型),enum (int 类型),struct (结构体类型,可包含前面6种类型),

15、array(数组类型,支持 int/double/float/string)6.5.3动态属性构建方法物联终端的属性通过自定义多个属性值对一个设备终端动态属性进行描述,以JS0N格式作为描述代 码,每一个动态属性值定义说明见表2。根据业务需求和物联终端传感数据能力,针对“动态属性标识 符”、“动态属性名称”、“读写类型”、“必选”、“数据类型”的动态描述信息,进行组合形成一 个结构化的JS0N对象动态属性描述。其中“数据类型”是一种结构化JS0N对象,包含“类型” (type) 和“限定”(specs) 2项属性,分别用来指定具体的数据类型和对该数据类型进行具体描述、限定。样 例参见附录A。表

16、2动态属性值定义说明属性名称描述id动态属性标识符动态属性唯一标识符(动态属性下唯一),为了便于程序处理,只支持大小写 字母、数字、短划线和下划线,不超过30个字符。name动态属性名称动态属性名称,支持中文、大小写字母、数字、短划线和下划线,且必须以中 文、英文或数字开头,不超过30个字符。accessMode读写类型该属性值是否可以改变,属性读写类型, 只读,读写(RW)required必选是否是动态属性的必选属性必选(Y),可选(N)dataType数据类型应根据需要由如下支持的基本数据类型进行组合,形成所需要数据类型,可以 对该数据类型进行具体描述和限定:string,int,floa

17、t,double,date (String 类型 UTC 毫秒),bool (0或1的int类型),enum(int 类型),struct (结构体类型,可包含前面6种类型),array (数组类型,支持 int/double/float/string)6.5.4各专业公共属性营销、配电和输电专业的物联终端建模时,静态属性应包含以下公共属性信息。各专业公共属性信 息见表3。以下公共属性信息,应参照静态属性的构建方法进行构建。样例参见附录A。表3各专业公共属性信息属性标识属性名称eOID电力物联标识manufacturer设备厂家表3(续)属性标识属性名称model设备型号business终端所

18、属业务域名称6. 6消息构建方法物联终端的消息通过自定义多个消息值对一个设备消息进行描述,以JS0N格式作为描述代码,每一 个消息值定义说明见表4。根据物联终端可以被外部感知和处理信息,针对“消息标识符”、“消息名 称”、“消息描述”、“消息类型”、“调用方式”、“输出参数标识符”的消息描述信息,进行组合 形成一个结构化的消息描述JS0N对象。其中“数据类型”是一种结构化JS0N对象,包含“类型” (type) 和“限定”(specs) 2项属性,分别用来指定具体的数据类型和对该数据类型进行具体描述、限定。样 例参见附录A。表4消息值定义说明属性名称描述id消息标识符消息唯一标识符(消息属性下

19、唯一),为了便于程序处理,只支持大小写字 母、数字、短划线和下划线,不超过30个字符。name消息名称消息名称,可支持中文、大小写字母、数字、短划线和下划线,且必须以 中文、英文或数字开头,不超过30个字符。desc消息描述消息描述信息,支持中文、大小写字母、数字、短划线和下划线,且必须 以中文、英文或数字开头,不超过30个字符。type消息类型消息的等级类型,包含常规信息(info)、告警(alert)、故障(error) 三种callType调用方式异步(async):为异步调用时,消息上报后,不会等待系统回复。同步(sync):为同步调用时,消息上报后,终端会等待系统回复;若系统 没有回

20、复,则再次上报。outputData输出参数标识符参数唯一标识符,与属性定义中的属性标识符一致6.7服务构建方法物联终端的服务通过自定义多个服务值对一个设备消息进行描述,以JS0N格式作为描述代码,每一 个服务值定义说明见表5。根据物联终端可以提供外部服务的业务需求,针对“服务标识符”、“服务 方法名称”、“调用方式”、“调用方式”、“等待时间”、“输入参数”、“输出参数标识符”的消 息描述信息,进行组合形成一个结构化的服务描述JS0N对象。其中“数据类型”是一种结构化JS0N对象, 包含“类型”(type)和“限定”(specs) 2项属性,分别用来指定具体的数据类型和对该数据类型进 行具体

21、描述、限定。样例参见附录A。表5服务值定义说明属性名称描述id服务标识符服务唯一标识符(设备下唯一)name服务名称服务名称,支持中文、大小写字母、数字、短划线和下划线,且必须以中 文、英文或数字开头,不超过30个字符。desc服务描述服务描述信息method服务方法名称服务对应方法名称,支持大小写字母、数字、短划线和下划线,且必须以 英文字母开头,不超过30个字符。callType调用方式异步(async):服务为异步调用时,执行调用后直接返回结果,不会等待设 备的回复消息。同步(sync):服务为同步调用时,会等待设备回复;若设备在等待时间内 没有回复,则调用超时。waitTime等待时间

22、只有在调用方式设置为同步时,可以进行设置,等待设备回复的时间,单 位为毫秒。params输入参数包含参数唯一标识符(id)、参数名称(name)和参数数据类型(dataType) 字段。参数数据类型应根据需要由如下支持的基本数据类型进行组合,形成所需要数据类型,可以对该数据类型进行具体描述和限定:string,int,float,double,date (String 类型 UTC 毫秒),bool (0或1的int类型),enum (int 类型),struct (结构体类型,可包含前面6种类型),array(数组类型,支持 int/double/float/string)results输出

23、参数标识符参数唯一标识符,与属性定义中的属性标识符一致27附录A(资料性附录) 统一建模示例A. 1营销专业物联终端示例根据本文描述的物联终端设备物模型构建方法,以营销专业的电能表部分内容为例,构建过程描述 如下:a)首先通过模型构建,分别梳理电能表的静态属性中“电力物联标识”、“设备厂家”、“电能 表类型”、“电能表型号”、“资产编号”和“终端所属业务域名称”六项;动态属性“电流” 和“正向有功电能示值”两项;消息域“过流” 一项,服务域“电表广播校时” 一项。b)对照第6章节表格中的标识符作为JS0N格式中的KEY,填入相应的值,并将其转换成静态属性、 动态属性、消息、服务的JS0N描述对

24、象。c)对该JS0N对象添加描述id、description标识符及对应的值,形成如下所示的营销专业电能表 JS0N格式描述样例。营销专业电能表信息统一建模模型样例如下:"identifier": "100001,''description77: /z电會泛表"staticProperties":id: eOID","name": 电能表物联标识", "accessMode": R",required : Y ,dataType": type : s

25、tring ,/ rspecs :/ . / >/-</ mm :1 ,max: 255,/ . . / / / unit :,"unitName: ,"size": ,/ . / / / step :,"item: , type : ,id : manufacturer , "name":"电能表设备厂家", "accessMode": R,required : Y ,dataType: /, / / , / type : string ,rspecs :(/ . / >/-

26、</ mm :1 ,max: 255,/ . . / / / unit :,"unitName: ,size": /z, step :,item: , type :1J "id": "TYPE", "name":"电能表类型", "accessMode": "R", required : Y ,dataType": /, / / , / type : string ,rspecs :(/ . / >/-</ mm :1 ,max

27、: 255,/ . . / / / unit :,"unitName: ,size": /z, step :,item: /. / / / type :1,J"id": "MODEL","name":"电能表型号","accessMode": "R", « /required"Y",dataType”. /typeString,specs:"max: 255,unit :unitName: size77: ” . /

28、step.丄item” . / type :"id": ASSET_N0","name":"资产编号","accessMode": "R",required”:Y,dataType:type :丄.string ,fspecs :i min:1,zzmax "255、” . / ” unit :,unitName: "size:二step :,.丄fitem : >/, ” type :"id": "BUSINESS",

29、"name":"电能表所属业务域名称", "accessMode": R",required : Y ,dataType": /, / / , / type : string ,/ rspecs : t/ . / >/-</mm :1 ,max: 255,/ . . / / /unit :,"unitName: ,"size": /z,/ . / / / step :,"item: , type :,dynamicProperties:id : galvanicC

30、urrent ,"name":"电流,"accessMode": "RW",required : Y ,dataType": type : tloat , rspecs : tmin": 0.0001",max: 99999",unit : A ,unitName: 安培,"size": /z, step :,"item: /. / / /type :,id”: positiveElectricIndication”,"name": 正

31、向有功电能示值, "accessMode”: ”RW”, "required”: N,dataType: type : tloat ,specs :min: 0.0001,"max: 99999, .,/ unit :,unitName: ,"size":step :,.丄fitem : type :,”丄 " revents : L"id":overCurrent,name”:过流,” i/aesc:"电能表过流" type: alert",cadllype : async ,&qu

32、ot;outputData": "galvanicCurrent","services":id : checklime ,"name":"电能表广播校时","desc":"电能表广播进行校时","method": "checkTime",cadllype : async ,waitlime :,params”:id: timeRequst,name: 校时请求, dataType": type : date ,spe

33、cs: "min":/zmaxzz:/ . . / / / unit :,unitName: , size": /z, step :,item: /. / / / type :” 1 , / / resuIts :A. 2配电专业物联终端模型示例根据本文描述的物联终端设备物模型构建方法,以配电专业的低压故指部分内容为例,构建过程描 述如下:a)首先通过模型构建,分别梳理低压故指的静态属性中“低压故指物联标识”、“设备厂家”、“低压故指型号”和“低压故指终端所属业务域名称”四项;动态属性“A相电压”、“A相故 障时刻电压”和“故障位置”三项;消息域“上报故障位置上报

34、” 一项。b)对照第6章节表格中的标识符作为JS0N格式中的KEY,填入相应的值,并将其转换成静态属性、 动态属性、消息、服务的JS0N描述对象。c)对该JS0N对象添加描述id、description标识符及对应的值,形成如下所示的配电专业的低压故 指JS0N格式描述样例。配电专业低压故指信息统一建模模型样例如下:"identifier": "100002",''description7': 低压故指, "staticProperties":"id: "eOID","n

35、ame":"低压估指物联标识accessMode”:R", « / required :"Y",dataType:type :/ . / string ,” ”specs :izz zz zzmin:1,zzmax"255",unit :,unitName: "size":step :,.丄citem : I>/, ” type :h"id": MANUFACTURE","name":"低压故指设备厂家accessMode77:&

36、quot;R,required :Y,dataType:type :丄.string ,fspecs :i min:1,zzmax "255",” . / ” unit :,unitName: "size:二step :,.丄citem : I>/, ” type :h"id": "NAME","name": 设备名称","accessMode": R,丫,” 1 /required :dataType:/. / type :specs”:min :1 ,"m

37、ax: "255",/ . . / / / unit :,/ , / string ,unitName: size: / . /step/ , /item, type :,"id: "MODEL","name: 设备型号,"accessMode": R, required : Y ,/zdataTypez/: type : String , rspecs : / . / >/-</ min :1 ,"max: "255",/ . . / / / unit :,"u

38、nitName: size": /z, step :,item: , type :"id: ASSET_NO,"name: 设备厂家,"accessMode": "R",> /vrequired : Y ,dataType: type : string ,specs :min":"1",max:"255",丄unit :unitName: size/z:". / step :item :/ , ” type :h"id": "BU

39、SINESS","name":"低压故指所属业务域名称","accessMode": "R",« /vrequired : Y ,dataType: >/,/j/type : string ,specs :min":"1",max:"255",丄unit :unitName: size”:". / step :.丄item :type :,dynamicProperties:id : Ua ,"name": A

40、 相电压",accessMode: RW,required : Y ,dataType": type : tloat ,/ rspecs :min": 0.0001",max: 99999,/ , / Z/tt/Zunit : V ,"unitName: 伏",size": /z,/ . / / / step :,item: , type :,"id": "FaultUa","name": "A相故障时刻电压", accessMode: RW,&

41、quot;required": N,/zdataTypez/: type : tloat , rspecs : tmin": 0.0001",max: 99999,unit : A ,unitName: 安培, size": /z, step :,item: , type :,id: FaultLocal,"name: 故障位置, "accessMode": "RW","required”: N,dataType: 丄r< 丄type : String ,specs :mm :1 ,&qu

42、ot;max: 255, .,/ unit :,unitName: "size:二step :,item: >/, ” type :,”丄 " revents : L"id": "FaultYX","name":"上报故障位置","desc": 故障位置上报",/ ./ -I ./type : alter ,cadllype : async ,outputData: FaultLocalA. 3输电专业设备模型示例根据本文描述的物联终端设备物模型构建方法,以输

43、电专业的微气象感应器为例,构建过程描述如 下:a)首先通过模型构建,分别梳理微气象感应器的静态属性中“微气象物联标识”、“微气象设备 厂家”、“微气象型号”和“微气象终端所属业务域名称”四项;动态属性“气温”和“风速” 两项;服务域“风速采集” 一项。b)对照第6章节表格中的标识符作为JS0N格式中的KEY,填入相应的值,并将其转换成静态属性、 动态属性、消息、服务的JS0N描述对象。c)对该JSON对象添加描述id、description标识符及对应的值,形成如下所示的输电专业微气象感 应器JS0N格式描述样例。输电专业微气象感应器信息统一建模模型样例如下:"identifier&

44、quot;: "100003,"description": 微气象感应器, staticProperties:dataTypestring”,type"unitName":sizestepitem'type":MANUFACTURE","accessMode": "R",required : Y ,dataType": /, / / , / type : string , / rspecs :unitName:size": step":.丄fite

45、m : >/, ” type :h"id": "NAME","name":"设备名称","accessMode": "R",”l/Z ”required : Y ,dataType: type : string , specs :. i min :1 ,"max: 255, unit :,unitName: "size:二. / step :,.丄fitem : >/, ” type :,"id": "MODEL&

46、quot;,"name,设备型号","accessMode": "R",-i /required :"Y",dataType:type :丄.string ,fspecs :imin:1,zzmax "255、unit :,unitName: "size:二step :,item: , type :,"id": "BUSINESS","name":"微气象感应器所属业务域名称","accessMode&qu

47、ot;: R",required : Y ,/zdataTypez/: /, / / , / type : string , rspecs : t/ . / >/-</mm :1 ,max: 255,/ . . / / / unit :,"unitName: ,"size": /z, step :,"item: , type :,dynamicProperties:/. i /./id :temperature ,"name":"气温", "accessMode": "RW",required : Y ,dataType": type : float , / rspecs :min :-50 , |-八max :50 ,unit : C ,/z unit Name/z: 摄氏度,size": /z,/ . / / /step :,.丄fitem : >/, ” type :hid : wmaSpeea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论