当前位置: 首页 > article >正文

【BBF系列协议】TR-106 CWMP端点和USP代理的数据模型模板

目录TR-106 CWMP端点和USP代理的数据模型模板执行摘要1 介绍CWMPUSP规范结构2 架构2.1 数据层次结构2.2 对象版本控制2.3 配置文件2.4 DEPRECATED 和 OBSOLETED 条目3 对象定义3.1 通用符号3.2 数据类型和表示3.3 供应商特定要素A参数单个实例对象:单个命令:单个事件:4.修订记录TR-106 CWMP端点和USP代理的数据模型模板执行摘要TR-106规定了所有CWMP[7]端点和USP代理[11]应遵循的数据模型指南。这些指南包括数据层次结构要求、数据模型的版本控制以及定义概要文件的要求。此外TR-106定义了尽可能体现这些准则的XML模式以及其用于定义所有CWMP和USP数据模型。这使得数据模型定义严格并有助于减少不同实现将解释数据模型的危险以不同的方式定义。TR-106还定义了一个XML模式允许设备描述其支持的CWMP数据模型。该描述既具体又详细使控制器能够准确了解设备支持包括任何特定于供应商的对象和参数。此架构的使用增强了互操作性并大大简化了新设备与控制器的集成。USP使用不同的机制GetSupportedDM消息。该机制是TR-369[11]中规定。1 介绍TR-069[7]定义了可应用于任何CWMP端点的CPE WAN管理协议CWMP方法的通用要求。它旨在支持各种不同的功能来管理CPE集合包括以下主要功能自动配置和动态服务调配软件/固件映像管理状态和性能监控诊断CWMP远程管理家庭网络的能力有许多好处包括降低与宽带服务的激活和支持相关的成本缩短新产品和服务的上市时间以及改善用户体验。图1将TR-069置于端到端管理架构中ACS是驻留在网络中的服务器并管理用户房屋中的设备。它使用TR-069中定义的方法或RPC来获取和设置设备的状态、启动诊断测试、下载和上载文件以及管理事件。这种状态的某些部分在受管设备中是常见的有些仅与某些设备类型或服务相关。USP用户服务平台支持USP控制器和USP代理网络允许应用程序操作服务元素即对象。它代表了CWMP在以下用例中的演变基于部署经验的TR-069改进给定端点的多租户管理即多个控制器的操作应用于其他市场空间包括消费电子产品和物联网代理直接或通过代理向一个或多个控制器公开服务元素。应用程序可以使用控制器来管理提供商控制的系统如CWMP ACS或者充当云、网关或通过智能手机访问的用户门户。代理和控制器还可以协同使用以创建智能应用程序的对等网络例如自动智能家居。图2:USP体系结构概述USP是以模块化方式设计的可以利用CWMP数据模型和数据模型模式以代表CWMP向消费电子、虚拟服务和物联网世界的演变。因此本文描述了如何在CWMP和USP的上下文中使用数据模型模式。规范结构图3显示了CWMP[7]和USP[11]系列标准如当前定义的总体规范结构。请注意随着新文件的发布这将逐渐过时。TR-069[7]定义了可应用于任何CWMP端点的CWMP方法的一般要求。TR-369[11]对USP药物也同样如此。TR-106本文档规定了任何CWMP端点或USP代理统称为代理支持的基线对象结构。它指定了如何构造和定义数据模型数据模型是对象和参数的集合通用方法根据这些对象和参数来配置、诊断和监视特定设备和服务的状态。实际数据模型在其自己的规范中定义。对于特定类型的设备预计TR-181i2[10]等文件中定义的基线将增加特定于设备类型的其他对象和参数。任何代理中使用的数据模型必须遵循本文件中描述的指南。这些指南包括以下方面数据层次结构的结构要求数据模型版本控制要求定义配置文件的要求此外本文档还定义了两个XML模式XML模式尽可能体现了这些准则并用于定义所有CWMP和USP数据模型。这使得数据模型定义严格并有助于减少不同实现将以不同方式解释数据模型定义的危险。XML模式允许设备描述其支持的CWMP数据模型。这是一个XML模式允许设备描述其支持的CWMP数据模型。描述既具体又详细允许ACS准确了解CPE支持的内容包括任何供应商特定的对象和参数。使用此模式可增强互操作性并显着简化新设备与ACS的集成.请注意USP出于相同目的使用不同的机制GetSupportedDM消息。它在TR-369中指定2 架构除非另有说明否则下文所述的所有要素均适用于CWMP和USP。2.1 数据层次结构代理的数据模型将遵循一组通用的结构要求。详细的结构取决于代理的性质。代理的数据模型将始终具有单个根对象称为“设备”。Root对象包含三种类型的子元素TR-181i2[10]中定义的对象TR-181i2中定义的组件或TR-143[9]等其他规范以及包含所有与特定服务相关的服务对象的单个“服务”对象。单个代理可能包含多个服务对象。例如同时用作VOP端点和游戏设备的设备可能包括VOP特定和游戏特定的服务对象。单个代理也可能包含多个相同类型服务对象的实例。何时合适的一个例子是为每个设备的附加磁盘提供TR-140[8]存储服务实例的代理。数据层次结构要求CWMP或USP数据模型必须符合以下结构要求根数据模型定义必须恰好包含一个称为“设备”的根对象。根对象定义必须仅包含一个“服务”对象。根对象定义必须仅包含一个“服务”。对象。服务数据模型定义必须定义一个从“Device.Services”对象正下方开始的对象层次结构。对于定义的每个多实例对象数据模型还必须定义相应的参数指示多实例对象的实例数。此参数的名称必须是与“NumberOfEntries”连接的对象的名称。此参数必须出现在与其相关的多实例对象的同一对象中。形式上数据层次结构的顶层定义如下Element “Device”| “Device.” TR-181DeviceObject| “Device.Services.” ServiceObject “NumberOfEntries”| “Device.Services.” ServiceObject “.{i}”TR-181DeviceObject // As defined in TR-181i2, e.g. “UserInterface” or“ManagementServer”ServiceObject // As defined in other specs, e.g. TR-140支持的数据模型和实例化的数据模型:代理的支持数据模型与其实例化数据模型之间存在区别支持的数据模型是代理中具有代码支持的那些对象和/或参数。实例化的数据模型是当前存在的那些对象实例和/或参数。TR-181i2[10]定义了一个支持的数据模型对象该对象允许代理向控制器指示其支持的数据模型这有助于控制器管理该设备。SupportedDataModel对象具有以下属性它包含URL列表每个URL都允许控制器确定部分支持数据模型的详细信息。当支持的数据模型更改时例如由于软件被加载或卸载条目被添加到或从该URL列表中删除。此对象不与USP一起使用。TR-369[11]定义了GetSupportedDM消息以提供此信息。2.2 对象版本控制为了允许服务对象或根对象的定义随时间变化服务对象或根对象的定义必须具有明确指定的版本。服务对象和根对象的版本编号被定义为使用主/次版本编号约定。对象版本定义为一对整数其中一个整数表示主要版本第二个整数表示次要版本。版本必须用一个点Major.Minor分隔的两个整数书写给定对象的第一个版本应定义为版本“1.0”。对于对象的每个后续版本如果后续版本与先前版本兼容则主要版本应保持不变次要版本应增加一个。例如“2.17”之后的下一个兼容版本将是“2.18”.第2.2.1节介绍了被认为与早期版本兼容的版本。对于该对象的每个后续版本如果后续版本与先前版本不兼容则主要版本必须递增一个次要版本可以重置回零。例如“2.17”之后的下一个不兼容版本可能是“3.0”。兼容版本的要求对于要视为与另一个版本兼容的对象的一个版本后续版本必须是早期版本的严格超集。使用主/次版本控制此要求仅适用于共享相同主版本的次要版本之间.更具体地说对于所有与之兼容的早期版本这需要以下版本后面的版本可能会添加以前在任何早期版本中都没有的对象和参数但不能删除早期版本中已经定义的对象或参数。后一版本不得修改早期版本中已经定义的任何参数或对象的定义除非原始定义明显错误并且必须修改为勘误表或通过更正过程澄清后来的版本不得要求控制器明确操作自最早的兼容版本以来添加的任何对象或参数以确保设备的正确操作除了那些与以后版本中添加的功能特别相关的功能。也就是说后面的版本将容纳一个对后续版本中添加的元素一无所知的控制器。上述兼容性定义的目标是确保控制器和代理之间的双向兼容性。具体来说如果控制器仅支持对象的早期版本与代理支持的版本相比则控制器可以成功地在代理中管理该对象就好像它是早期版本一样。如果代理只支持对象的早期版本而不是控制器支持的版本则控制器可以成功地在代理中管理该对象就好像它是后期版本一样不支持仅在后期版本中定义的新组件。Version Notation(版本符号)对于对象定义以下符号以标识特定版本符号描述例子ObjectName:Major.Minor指的是对象的特定版本Device:2.0ObjectName:Major指的是具有指定主要版本的对象的任何次要版本Device:2ObjectName指的是对象的任何版本Device请注意此处定义的版本符号仅用于文档目的。数据模型中对象和参数的实际名称不得包含版本号。2.3 配置文件注意最初配置文件被视为限制控制器需要在其可能管理的各种设备中适应的可变性的手段。现在提供此功能对于CWMP由TR-181i2[10]支持的数据模型对象参见第2.1.2节和关联的设备类型XML文档DT实例。对于USP通过TR-369[11]获得支持的DM消息。配置文件是与给定对象关联的需求的命名集合。代理可以坚持零或更多的配置文件。遵守配置文件意味着代理支持该配置文件定义的所有要求。配置文件的使用为服务提供商提供了指定数据模型支持要求的速记方法。以下部分定义了定义与数据模型关联的配置文件时要使用的约定。配置文件的范围给定的配置文件仅在具有特定主版本的特定服务对象或根对象的上下文中定义。对于每个配置文件定义必须明确标识要应用配置文件的特定对象名称和主要版本在为相同对象和主要版本定义的配置文件中配置文件的名称必须是唯一的但是可以重用名称来为对象名称和主要版本的不同组合定义不同的配置文件。例如如果我们定义与对象“X:2”对象X的主要版本2相关联的配置文件“A”则可以使用相同的名称“A”来定义对象“Y:1”或对象“X:3”。给定的配置文件与给定对象的最小次要版本相关联。对象的最低要求版本是包含配置文件定义的所有必需元素的最低版本。对于每个配置文件定义必须明确标识特定的最小版本。多个配置文件支持对于给定类型的服务对象或根对象可以定义多个配置文件。可以定义具有独立或重叠要求的配置文件。配置文件版本配置文件的版本编号被定义为使用次要版本编号约定。也就是说对于给定的配置文件名称每个连续版本必须与所有早期版本兼容。对配置文件的任何不兼容更改都必须使用不同的配置文件名称。为了允许配置文件的定义随时间变化每个配置文件的定义必须具有相关的版本号。对于要视为与另一版本兼容的配置文件的一个版本后续版本必须是早期版本的严格超集。对于所有与之兼容的早期版本这需要以下版本后期版本可能会添加不在早期版本的配置文件中的要求但不得删除要求。后面的版本可以删除以前要求的一个或多个条件。例如如果以前的配置文件仅在条件a为真的情况下才需要X那么后面的配置文件可能需要X无条件.对于配置文件定义以下符号以标识特定版本符号描述例子配置文件名称版本指配置文件的特定版本.Baseline:1配置文件名称引用配置文件的任何版本BaselineProfileName必须以字母或下划线开头后续字符必须是字母、数字、下划线或连字符。术语“字母”和“数字”的定义见XML规范[附录B/1]。连字符很容易与有时由连字符算法插入的任意连字符混淆。因此ProfileName不应包含任何连字符。在BBF标准中ProfileName将始终以大写字母开头或内部配置文件并且不会包含任何连字符有关相应的规范要求请参见C.3.1Baseline Profiles(基线配置文件)对于每个服务对象和根对象应至少定义一个配置文件。在许多情况下需要定义一个基线配置文件该配置文件指示支持该对象的任何设备所需的最低要求。概要文件中的需求类型因为概要文件是在单个对象和主要版本的上下文中定义的所以与概要文件相关的所有需求必须特定于与该对象相关的数据模型。概要文件需求可以包括与对象的数据模型相关的以下任何类型的需求对参数读取支持的要求。参数写入支持的要求。对命令支持的要求。支持包含在整个对象中的子对象的要求。添加或删除子对象实例的能力要求。支持参数的活动通知的要求。支持给定参数访问控制的要求。对于上面列出的每个需求类别概要文件可以无条件地定义需求也可以在需求上放置一个或多个条件。例如配置文件可能要求仅当设备支持某个其他参数时才支持读取某个参数或对象配置文件本身不需要的对象。这些条件将直接与与配置文件相关联的整个对象的数据模型相关。因为设备必须能够支持多个配置文件所以必须定义所有配置文件使它们不矛盾。因此概要文件只能定义要满足的最低要求而不能指定负面要求。也就是说配置文件将不包括指定设备不支持的内容的要求或排除一系列值的要求。2.4 DEPRECATED 和 OBSOLETED 条目数据模型定义中的关键词“已弃用”应解释如下该术语指的是在当前版本的标准中定义的对象、参数或参数值但没有意义、不适当或不必要。这样的对象、参数或参数值将从数据模型的下一个主要版本中删除。下面给出了如何解释或实现不推荐的对象、参数或参数值的要求。有关如何解释或实现特定的已弃用对象、参数或参数值的详细信息请参阅对象或参数的定义。数据模型定义中的关键词“已废弃”应解释如下该术语指的是满足不推荐使用要求的对象、参数或参数值并且已过时。这些对象、参数或参数值可以从数据模型的较新次要版本或概要文件的较新版本中删除而不会被视为违反向后兼容性规则。下面给出了如何解释或实现废弃对象、参数或参数值的要求。有关如何解释或实现特定废弃对象、参数或参数值的更多信息请参阅对象或参数的定义。如果配置文件中的任何项目已弃用或作废则该配置文件必须相应地弃用或作废。因此需要定义一个新的配置文件版本以省略任何弃用或作废的项目。弃用项目的要求本节定义了适用于所有DEPRECATED对象、参数和参数值的要求除非被对象或参数定义明确覆盖。数据模型要求DEPRECATED参数、对象或参数值的定义必须包括该项被弃用的原因说明。DEPRECATED参数、对象或参数值的定义可规定与项目相关的进一步要求此类要求可能会凌驾于TR-069[7]或TR-369[11]中规定的关于弃用元素的一般代理或控制器要求。代理要求DEPRECATED参数的值必须对其数据类型有效并且满足任何范围对于数字参数、长度对于字符串、base64或hexBinary参数和枚举值对于字符串参数要求。代理可以忽略DEPRECATED参数的详细行为要求例如其值是唯一密钥。如果数据模型定义允许这样的操作则代理必须允许创建DEPRECATED对象、修改DEPRECATED参数和设置DEPRECATE参数值。但是它可以选择不将这些更改应用于其操作状态无论DEPRECATED更改是否应用于代理的操作状态读取DEPRECATED可写参数都应返回上次写入的值即即使代理选择不将其应用于其操作状态也应存储该值。代理可以拒绝控制器将任何参数设置为DEPRECATED值的尝试。控制器要求控制器不应创建DEPRECATED对象、修改DEPRECATED参数或设置DEPRECATE参数值。控制器应忽略DEPRECATED对象、参数和参数值。控制器不应将DEPRECATED参数设置为对其数据类型无效的值或无法满足任何范围数字参数、长度字符串、base64或hexBinary参数或枚举值字符串参数要求。控制器不应将任何参数设置为弃用值。废弃条件要求本节定义了适用于所有已废弃对象、参数或参数值的要求除非被对象或参数定义明确覆盖。已废弃的对象、参数或参数值必须满足上一节的所有要求。此外以下要求适用。、废弃的对象、参数或参数值可以从数据模型的后续次要版本中删除而不会被视为违反向后兼容性规则不能从当前版本的配置文件中删除已过时的对象、参数或参数值但可以从更高版本的配置中删除而不认为这违反了向后兼容性规则。数据模型定义必须包括已从数据模型或其配置文件中删除的那些已废弃对象、参数或参数值的列表。这是为了防止将来的命名空间冲突。3 对象定义3.1 通用符号参数名称使用类似于目录树的分层形式。特定参数的名称由层次结构中以“.”点分隔的每个连续节点的串联表示从层次结构的主干开始一直到叶子。指定部分路径时表示层次结构中的中间节点结尾的“.”点始终用作最后一个字符参数名称必须区分大小写。层次结构中每个节点的名称必须以字母或下划线开头后续字符必须是字母、数字、下划线或连字符。术语“字母”和“数字”的定义见XML规范[附录B/1]。连字符很容易与有时由连字符算法插入的任意连字符混淆。因此层次结构中节点的名称不应包含任何连字符。此外层次结构中节点的名称不应以下划线开头。在BBF标准中层次结构中节点的名称始终以大写字母开头且不包含任何连字符或下划线有关相应的规范要求请参见C.3.1如果一个对象可能出现多个实例则会显示占位符节点名称i。在实际使用中此占位符将被实例标识符替换。3.2 数据类型和表示参数使用默认SOAP数据类型的有限子集。支持的数据类型由DM模式定义并在A.2.3中列出。指定IP地址、MAC地址等表示的命名数据类型在DM实例文档中定义见附录a。具有这些定义的XML文件和相应的HTML文件可以在数据模型资源页中找到。请注意此DM实例定义了预期在多个数据模型定义中使用的命名数据类型可以在任何DM实例文档中定义本地命名数据类型。以下小节指定了控制XML文档中参数值表示的其他规则。日期和时间规则除非在该类型参数的定义中另有明确规定否则所有时间都必须用UTC世界协调时间表示。如果代理无法获得绝对时间则应指示自启动以来的相对时间其中启动时间假定为第1年1月的第一天开始或0001 0101T00:00:00。例如启动后的2天、3小时、4分钟和5秒将表示为0001 01 03T03:04:05。启动后的相对时间必须使用非分区表示法表示。任何年份值小于1000的未分区值必须解释为自启动以来的相对时间。如果时间未知或不适用则表示“未知时间”的以下值必须为使用0001-01-01T00:00:00Z。对于无限时间线以下值表示“无限时间”必须使用9999-12-31T23:59:59Z。除表示自启动以来的相对时间如上所述之外的任何dateTime值都必须使用UTC时区表示法即必须包含时区后缀“Z”、“-00:00”或“0:00”。3.3 供应商特定要素对于定义为包含逗号分隔列表的字符串格式定义如下逗号分隔列表中的每对连续项目之间必须有分隔符。分隔符必须正好包含一个逗号字符也可以在逗号之前或之后包含一个或多个空格字符。整个分隔符包括任何空格字符不得被视为其分隔的列表项的一部分。逗号分隔列表中的最后一项不得后跟分隔符。逗号分隔列表中的单个项目不得包含空格或逗号字符。项目值中的任何空格或逗号字符必须使用RFC 3986中指定的百分比编码进行转义可以创建一个列表列表但如果可能应首选其他解决方案。如果字符串包含列表列表上一段的规则意味着内部列表的逗号分隔符将按百分比编码。例如包含元素“a”、“bc”两元素列表和“d”的三元素列表可以表示为“ab%2Ccd”。为了避免对内部分隔符进行百分比编码可以通过将内部列表放在方括号内来“保护”内部列表例如上面的列表可以表示为“a[bc]d”。为了避免歧义不理解新语法的控制器将“a[bc]d”解释为四元素列表“a”“[b”“c]”“d”数据类型和/或参数定义必须明确说明支持新语法a.2.3.1a.2.7.1。引用参数或对象的参数对于定义为包含对象层次路径名的字符串参数或定义为包含逗号分隔的对象路径名列表的参数中的每个项对象名称的表示形式不得包含尾随的“点”TR-181i2[10]Device:2数据模型中的这种类型是Device.InterfaceStack.{i}.LlowerLayer。对于此参数以下是格式正确的值的示例Device.Ethernet.Interface.1参数值中的路径名必须始终为完整的路径名。对于CWMP有一个例外即以点开头的路径相对于根或服务对象。例如在设备根对象中参数值“.DeviceInfo”始终表示“Device.DeviceInfo”。注意此异常不适用于USP为了能够将参考参数用作唯一键A.2.10.1必须在比较之前将其路径名称从概念上转换为完整的路径名称。例如在设备根对象中“.DeviceInfo.”和“Device.DeviceInfo”将比较为相等。如果引用参数是列表值的即是路径名称或实例编号的列表则在比较时参数值在概念上必须视为集合即比较必须忽略项目顺序和任何重复项目。例如“1,2,1”和“2,1”将比较为相等因为引用实例1和2都相同。在数据模型中引用被定义为强或弱。强引用总是引用现有的参数或对象或者是空引用。另一方面弱引用不一定引用现有参数或对象。单位惯例对于以单位定义值的数字参数与位和字节相关的单位将始终指2的幂。例如千字节总是1024字节兆字节总是1024*1024字节等等。默认最大字符串长度对于字符串值参数最大长度由组成字符串的元素的大小显式指示或暗示。对于内容为枚举的字符串最长的枚举值决定最大长度。类似地对于内容为模式的字符串可能的最长匹配值决定了最大长度。对于内容为列表的字符串最大项目数和单个项目长度有助于确定最大字符串长度。供应商特定要素供应商可以使用供应商特定的元素参数、对象、命令、事件扩展标准化数据模型。供应商特定元素可以在单独的命名层次结构中定义也可以在标准化命名层次结构内定义。未包含在其他供应商特定对象中的供应商特定参数、对象、命令或事件的名称必须具有以下格式X__VendorSpecificName在本定义中供应商是唯一的供应商标识符可以是OUI或域名。用于给定供应商特定参数的OUI或域名必须是分配给定义此参数的组织的名称不一定与代理的供应商相同。OUI是[2]中定义的组织上唯一的标识符必须使用所有大写字母并包括任何前导零将其格式化为六个十六进制数字字符串。域名必须为大写每个点“.”必须用连字符或下划线替换。VendorSpecificName不能包含“.”句点或空格字符。注意:使用字符串“X_”表示特定于供应商的参数意味着任何标准化参数都不能以“X_包含在另一个特定于供应商的对象中的特定于供应商元素的名称该对象本身以上述前缀开头不需要包含前缀。供应商特定元素的完整路径名长度不得超过256个字符。以下是一些特定于供应商的元素名称示例A参数Device.UserInterface.X_012345_AdBanner单个实例对象:Device.X_EXAMPLE-COM_MyConfig.Status单个命令:Device.X_EXAMPLE-COM_MyCommand()单个事件:Device.X_EXAMPLE-COM_MyEvent!适当时供应商还可以扩展枚举的值集。如果这样做供应商指定的值必须采用“X__VendorSpecificValue”格式。此类字符串的总长度不得超过31个字符。4.修订记录修订时间修改版本号修订内容January 2022cwmp-datamodel-1-9.xsdAllowed the version attribute in component referencesAllowed minEntries and maxEntries in command and event argument objectsAllowed status attribute in profile command/event argumentsAdded secured attributeNovember 2020cwmp-datamodel-1-8.xsdAllowed command attributes, e.g. mandatory, in component definitionsSeptember 2019cwmp-datamodel-1-7.xsdSupported implementation defaults, version attribute, description templates,writeOnceReadOnly access type and the decimal datatypeMarch 2018cwmp-datamodel-1-6.xsdSupported USP commands, events and mount pointsSeptember 2013cwmp-datamodel-1-5.xsdAdded profile/minVersion attributeAllowed uniqueKey parameters to be in sub-objectsAdded UUID data typeAdded nestedBrackets attribute, and allowed use of the list facet in named data type definitionsSeveral other minor updates and clarificationsJuly 2011cwmp-datamodel-1-4.xsdAdded top-level file attributeNovember 2010cwmp-datamodel-1-3.xsdRelaxed some referential constraints (in the light of experience)Added description/action prefix optionAdded syntax/commandMarch 2010cwmp-datamodel-1-2.xsdDistinguished functional and non-functional keys; supported #.A relative path syntaxSeptember 2009cwmp-datamodel-1-1.xsdMade import/file optional; supported range/stepNovember 2008cwmp-datamodel-1-0.xsdOriginaltr369服务端开源项目: AgenticAIoT‍♂️ 个人主页帐篷Li的个人主页✍作者简介专注智能物联网设备云管解决方案 希望大家多多支持我们一起进步项目合作开发定制技术交流可私聊右侧扫码。欢迎评论 点赞 收藏 加关注技术交流需求定制可以扫码添加相互学习交流

相关文章:

【BBF系列协议】TR-106 CWMP端点和USP代理的数据模型模板

目录TR-106 CWMP端点和USP代理的数据模型模板执行摘要1 介绍CWMPUSP规范结构2 架构2.1 数据层次结构2.2 对象版本控制2.3 配置文件2.4 DEPRECATED 和 OBSOLETED 条目3 对象定义3.1 通用符号3.2 数据类型和表示3.3 供应商特定要素A参数:单个实例对象:单个命令:单个事…...

【亲测免费】【推荐】基于Vue3的全能H5模板:vue3-h5-template

标题:【推荐】基于Vue3的全能H5模板:vue3-h5-template 【免费下载链接】vue3-h5-template My starter template for Vue3, with vite, quark design, sass(含viewport 适配方案, axios 封装) 项目地址: https://gitcode.com/gh_mirrors/vue3/vue3-h5-t…...

Scalding执行模型揭秘:从Job到Execution的演进之路

Scalding执行模型揭秘:从Job到Execution的演进之路 【免费下载链接】scalding A Scala API for Cascading 项目地址: https://gitcode.com/gh_mirrors/sc/scalding Scalding是一个基于Scala的Cascading API,专为大规模数据处理而设计。这个强大的…...

探索DockerGS:一键启动动漫游戏服务器的利器

探索DockerGS:一键启动动漫游戏服务器的利器 【免费下载链接】DockerGS DockerGC is a container that run Grasscutter (anime game) with just a single command. 项目地址: https://gitcode.com/gh_mirrors/do/DockerGS 在数字娱乐的世界中,各…...

推荐项目:IdentityServer4.AccessTokenValidation - 混合型JWT和参考令牌验证利器

推荐项目:IdentityServer4.AccessTokenValidation - 混合型JWT和参考令牌验证利器 【免费下载链接】IdentityServer4.AccessTokenValidation IdentityServer Access Token Validation for ASP.NET Core 项目地址: https://gitcode.com/gh_mirrors/id/IdentityServ…...

推荐:用Flowershow打造你的优雅知识分享网站

推荐:用Flowershow打造你的优雅知识分享网站 【免费下载链接】flowershow 💐 Publish your obsidian digital garden or any markdown site easily and elegantly. 项目地址: https://gitcode.com/gh_mirrors/fl/flowershow 1、项目介绍 &#x…...

RITM 交互式分割项目使用教程

RITM 交互式分割项目使用教程 【免费下载链接】ritm_interactive_segmentation 项目地址: https://gitcode.com/gh_mirrors/rit/ritm_interactive_segmentation 1. 项目的目录结构及介绍 RITM 交互式分割项目的目录结构如下: ritm_interactive_segmentati…...

RITM交互式分割算法实战指南

RITM交互式分割算法实战指南 【免费下载链接】ritm_interactive_segmentation 项目地址: https://gitcode.com/gh_mirrors/rit/ritm_interactive_segmentation 项目介绍 RITM(Real-Time Interactive Image Segmentation with Memory-Augmented U-Net&#…...

从论文到代码:Performer核心公式的PyTorch逐行实现

从论文到代码:Performer核心公式的PyTorch逐行实现 【免费下载链接】performer-pytorch An implementation of Performer, a linear attention-based transformer, in Pytorch 项目地址: https://gitcode.com/gh_mirrors/pe/performer-pytorch Performer是一…...

Jupyter Notify 使用教程

Jupyter Notify 使用教程 【免费下载链接】jupyter-notify A Jupyter Notebook magic for browser notifications of cell completion 项目地址: https://gitcode.com/gh_mirrors/ju/jupyter-notify 项目介绍 Jupyter Notify 是一个为 Jupyter Notebook 设计的扩展&…...

react-shimmer自定义加载效果:打造属于你的独特加载动画

react-shimmer自定义加载效果:打造属于你的独特加载动画 【免费下载链接】react-shimmer 🌠 Async loading, performant Image component for React.js 项目地址: https://gitcode.com/gh_mirrors/re/react-shimmer react-shimmer是一个为React.j…...

diffvg底层原理揭秘:可微光栅化技术如何让矢量图形支持梯度下降优化

diffvg底层原理揭秘:可微光栅化技术如何让矢量图形支持梯度下降优化 【免费下载链接】diffvg Differentiable Vector Graphics Rasterization 项目地址: https://gitcode.com/gh_mirrors/di/diffvg diffvg是一个创新的开源项目,它实现了可微矢量图…...

系统颜色选择器:macOS 的色彩控制强化版

系统颜色选择器:macOS 的色彩控制强化版 【免费下载链接】System-Color-Picker 🎨 The macOS color picker as an app with more features 项目地址: https://gitcode.com/gh_mirrors/sy/System-Color-Picker 项目介绍 🎨 系统颜色选…...

微型Lisp开源项目指南

微型Lisp开源项目指南 【免费下载链接】micro-lisp 🎄A very small Lisp programming language 😀that used to be under 200 lines of C🎄 项目地址: https://gitcode.com/gh_mirrors/mi/micro-lisp 项目介绍 🌟 微型Lis…...

RLS历史回顾:Rust IDE工具链的演进之路

RLS历史回顾:Rust IDE工具链的演进之路 【免费下载链接】rls Repository for the Rust Language Server (aka RLS) 项目地址: https://gitcode.com/gh_mirrors/rl/rls 作为Rust语言的官方IDE工具链,RLS(Rust Language Server&#xff…...

开源项目《Aviator》安装与使用指南

开源项目《Aviator》安装与使用指南 【免费下载链接】aviator Level up your Aviator game! This app employs its prediction prowess to help you maximize your profit - and its completely free! 项目地址: https://gitcode.com/gh_mirrors/avia/aviator 本指南旨在…...

陆彦廷《势均力敌的我们2》收官,细节见人品,尽显绅士与真诚

近日,《势均力敌的我们2》正式收官,天平岛上为期十天的相处旅程,不知不觉就落下了帷幕。陆彦廷在一众嘉宾中,凭着骨子里的真诚和分寸感,成为了节目里让人印象深刻的存在。陆彦廷的聪明,教养和真诚&#xff…...

SAP GR(Group Reporting)合并报表内容及功能简介(一)-主数据结构

目录 主数据&结构 合并单元 合并组: 全局层次结构 主数据&结构 合并单元 合并单元(法定子公司): SAP S/4HANA 公司一对一地链接到合并单元。 SAP S/4HANA 公司标识与合并单元标识相同。 通用日记账的合并单元对应SAP中的公司,不在通用日记账中的合并单元代表…...

MobileChromeApps开发痛点全解析:从环境配置到API适配的完美解决方案

MobileChromeApps开发痛点全解析:从环境配置到API适配的完美解决方案 【免费下载链接】mobile-chrome-apps Chrome apps on Android and iOS 项目地址: https://gitcode.com/gh_mirrors/mo/mobile-chrome-apps 引言:你还在为MobileChromeApps开发…...

Ruby-JMeter 项目推荐

Ruby-JMeter 项目推荐 【免费下载链接】ruby-jmeter A Ruby based DSL for building JMeter test plans 项目地址: https://gitcode.com/gh_mirrors/ru/ruby-jmeter 1. 项目基础介绍和主要编程语言 Ruby-JMeter 是一个基于 Ruby 的领域特定语言(DSL&#xf…...

移动Chrome应用:跨平台的力量汇聚

移动Chrome应用:跨平台的力量汇聚 【免费下载链接】mobile-chrome-apps Chrome apps on Android and iOS 项目地址: https://gitcode.com/gh_mirrors/mo/mobile-chrome-apps 项目基础介绍及主要编程语言 移动Chrome应用(MobileChromeApps/mobile…...

TrackEval并行计算配置:提升MOT评估效率的5个实用技巧

TrackEval并行计算配置:提升MOT评估效率的5个实用技巧 【免费下载链接】TrackEval HOTA (and other) evaluation metrics for Multi-Object Tracking (MOT). 项目地址: https://gitcode.com/gh_mirrors/tr/TrackEval TrackEval是一款用于多目标跟踪&#xff…...

java基于微信小程序的电影点评影评交流平台的设计与实现_0144t2v4

目录项目概述技术选型核心功能模块数据库设计开发阶段计划关键代码示例注意事项项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作项目概述 设计一个基于微信小程序的电影点评与影评交流平台&#xff0c…...

PHP代码复杂度分析:基于sebastian/lines-of-code的实践指南

PHP代码复杂度分析:基于sebastian/lines-of-code的实践指南 【免费下载链接】lines-of-code Library for counting the lines of code in PHP source code 项目地址: https://gitcode.com/gh_mirrors/li/lines-of-code 在现代PHP开发中,准确评估代…...

fake-rs完全指南:如何在Rust中快速生成逼真测试数据

fake-rs完全指南:如何在Rust中快速生成逼真测试数据 【免费下载链接】fake-rs A library for generating fake data in Rust. 项目地址: https://gitcode.com/gh_mirrors/fa/fake-rs 在软件开发过程中,测试数据的生成往往是一项繁琐但必不可少的任…...

react-shimmer性能优化技巧:让你的图片加载速度提升50%

react-shimmer性能优化技巧:让你的图片加载速度提升50% 【免费下载链接】react-shimmer 🌠 Async loading, performant Image component for React.js 项目地址: https://gitcode.com/gh_mirrors/re/react-shimmer react-shimmer是一个为React.js…...

【即插即用完整代码】CVPR 2026新方法归一化空间与通道注意力,无额外参数,轻量且高效,超越CBAM,快速涨点,发表论文!

专栏内提供试读,感兴趣的小伙伴可以订阅一下哈!适用于所有的CV二维任务:图像分割、超分辨率、目标检测、图像识别、低光增强、遥感检测等每日分享最新的前沿技术,助力快速发论文、模型涨点!摘要本文提出了一种新型的基…...

ROS2安卓应用-ROS2-Mobile-Android

一.简介 ROS2-Mobile-Android 是一个基于 Android 的 ROS2 移动端控制与可视化应用,使用ros2-java开发,面向移动机器人场景,支持在手机端进行话题查看、发布/订阅交互与可视化控件操作,帮助机器人工程师更好地方便地调试机器人。可…...

C语言入门(顺序表)

目录 引言 代码结构概览 三、头文件(ST.h)深度解析 关键解析 四、源文件(ST.c)核心函数实现 前置定义(解决 VS 编译器警告) 1. 顺序表初始化(SeqListInit) 2. 顺序表销毁&am…...

Maven工具的下载,安装与使用

Maven的下载,安装配置与使用 文章目录Maven的下载,安装配置与使用前言一、Maven简介1.什么是 Maven?2.Maven的核心概念二、Maven 安装与配置(以Windows为例,Linux/macOS类似)1.下载Maven2. 安装 Maven3. 验…...