-
数据仓库命名规范建议 2-1-2-2:数据库命名定义为:项目名称+_db+_场景,例如:data_service_db_bpa,data_service_db_sa。schema规范规则 2-1-2-5:定制人员在开发时,若要新增表,必须先新增schema进行区分,不允许在基线schema下新增表、修改表等操作,为了方便查找和定位,schema命名格式为:数据分层+业务主题名+${custom},例如,能效的定制为:dm_energy_dingzhi。规则 2-1-2-6:不允许修改基线schema,若违背该规则并升级,可能会造成兼容性问题。规则 2-1-2-7:不允许删除基线schema,若违背该规则并升级,可能会造成兼容性问题。表名规范规则 2-1-2-8:数据库表名需要根据不同的分层来进行拼接:“[Prefix]_[domain]_XXX_[Suffix]”对应“前缀、领域、表义名、后缀”。定制人员在开发新表时,由于在schema处已经有了区分,因此不会再增加后缀(但是开发规范中要求以schema开头,因此表名示例为:dm_energy_dingzhi_coldsite_cost_f)。规则 2-1-2-9:定制资产会有自己的版本号表,按照新增ddl进行,当定制版本升级更新的时候要用liquibase来进行ddl编写升级。规则 2-1-2-10:不允许修改基线表,若违背该规则并升级,可能会造成兼容性问题。规则 2-1-2-11:不允许删除基线表,删除基线表意味着删除基线的某个功能,若违背该规则并升级,可能会造成兼容性问题。各层表命名举例:DM层表名格式:domain = {access、asset、energy、env、facility、office、security、sec_board、oper_anls、person_access、version}表类型SchemaPrefixSuffix表名规则报告事实表dm_[domain]dmf[Schema].[Prefix]_[domain]_表义名_[Suffix]如:dm_office.dm_office_conference_usage_count_fDWR层DWD表名格式:domain = {person、org、facility、vehicle、space、asset、event、res、order}表类型SchemaPrefixSuffix表名规则明细事实表dwr_[domain]dwdf[Schema].[Prefix]_[domain]_表义名_[Suffix]如:dwr_asset.dwd_asset_location_history_fDWR层DWS表名格式:domain = {person、org、facility、vehicle、space、asset、event、res、order}表类型SchemaPrefixSuffix表名规则周期快照事实表(天)dwr_[domain]dwsd_f[Schema].[Prefix]_[domain]_表义名_[Suffix]周期快照事实表(周)dwr_[domain]dwsw_f[Schema].[Prefix]_[domain]_表义名_[Suffix]周期快照事实表(月)dwr_[domain]dwsm_f[Schema].[Prefix]_[domain]_表义名_[Suffix]累积快照事实表dwr_[domain]dwsh_f[Schema].[Prefix]_[domain]_表义名_[Suffix]如:dwr_res.dws_res_park_d_fDWR层DIM表名格式:domain = {person、org、facility、vehicle、space、asset、event、res、order}表类型SchemaPrefixSuffix表名规则主题维度表dwr_dimdimd[Schema].[Prefix]_[domain]_表义名_[Suffix]如:dwr_dim.dim_res_park_lines_dDWI层表名规范。domain = {facility、alarm、org、space、person、order、vehicle、asset、env、log、res}。Suffix:来源是业务平台时,Suffix不需要;来源为其他子系统时,Suffix为子系统名称。表类型SchemaPrefixSuffix表名规则贴源层表dwi_[domain]dwi源系统命名[Schema].[Prefix]_[domain]_表义名_[Suffix]如:dwi_env.dwi_env_monitoring_indicator_sensor
-
【功能模块】 电梯运营维修管理实操【操作步骤&问题现象】1、复制代码进入在线开发工具,无法正常运行。2、根据课程手册提供的关键代码,无法正常完成课程学习【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
规则1 相同功能的接口资产需使用同一套标准接口。例如,华为云EI人员匹配服务IO的“添加人脸图片”与VCM人员匹配服务IO的“添加人脸图片”,都使用“添加人脸图片”标准接口定义的输入输出参数,且对于不同IO接口应只有URL的区别。IO接口IO接口URL华为云EI人员匹配服务IO的添加人脸图片/io/io.huawei.ei.faceRecognition/south/face-recognition/0.1.0/face-picture/add华为VCM人员匹配服务IO的添加人脸图片/io/io.huawei.vcm.faceRecognition/south/face-recognition/0.1.0/face-picture/add规则2:IO接口URL以south、north表示接口路由方向。IO接口IO接口URL华为云EI人员匹配服务IO的添加人脸图片/io/io.huawei.ei.faceRecognition/south/face-recognition/0.1.0/face-picture/add依图闸机通行PAD的校验人脸通行权限/io/io.yitu.pad/north/service/SmartCampus_PersonPass/1.0.0/verifyAccessPermission图1 接口路由方向规则3 标准接口、路由和IO接口URL须包含固定的标识符接口接口URL添加人脸图片标准接口/io-adapter/south/face-recognition/0.1.0/face-picture/add?channel=EI添加人脸图片路由/ioAdapter/south/face-recognition/0.1.0/face-picture/add?channel=EI添加人脸图片IO接口/io/io.huawei.ei.faceRecognitionTest/south/face-recognition/0.1.0/face-picture/add
-
标准接口应用ID命名规范:租户名__io.业务名称应用ID应用名称test__io.deviceManagementtest__设备管理标准接口IO接口应用ID命名规范:租户名__io.厂家名称.业务分类.业务名称应用ID应用名称test__io.yitu.padtest__依图闸机通行PAD接口IO其中业务名称采用小驼峰命名,示例:业务名称(英文)业务名称(中文)faceRecognition人员匹配服务
-
【功能模块】资产安全租户信息:Hi-yqyyzrkf【操作步骤&问题现象】1、进入资产管理-》资产安全 菜单2、创建资产成功后,进入资产信息的修改页面,给资产关联摄像头和RFID设备,无法获取到【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
哪位大佬可以分享一下智慧园区的整体解决方案?
-
【所属项目】:春风动力 问题描述:cube是部署到客户环境的,客户需要更改ioc登录页面的图标,查看操作文档,发现需要上传图标,线下部署的cube用的是自带的minio作为图片服务器,想要知道是否可以使用这个自带的minio保存图标,以及 在哪里可以操作上传图标,需要保存到什么目前这些
-
在创建FUNCTION类型的权限资源时,只能选择已有的业务权限凭证。AppCube平台的业务权限凭证,由开发者在应用开发的“配置> 业务权限凭证”页面创建,删除同样如此,权限BO仅关联已有业务权限凭证。在应用开发的“配置> 业务权限凭证”页面创建凭证,APP/BO编译打包时,可以将凭证以及API关联的凭证数据一起打包出来。配置规范业务权限凭证配置的粒度应符合实际业务使用场景,使实际业务中既能灵活配置权限,又不产生越权的问题。如果一个权限中需要调用多个接口,其权限资源应配置上多个接口对应的业务权限凭证(即创建多个FUNCTION类型的权限资源),然后分别给这些接口配置业务权限凭证。通常一个接口对应一个业务权限凭证。命名规范凭证名称的命名规范如下:模块名称(APP/BO名称)[必选]_特性[必选]_操作[非必选],大驼峰格式。例如:SystemManagement_CommonSystemManagement_Operator_Create凭证分类(目录)原则:以APP/BO为模块进行分类,命名与APP/BO一致。目录必选。定义业务权限凭证时目录名称可直接输入。区分使用者权限如:SystemManagement_Common配给匿名用户;SystemManagement_Operator_Update配给系统管理员区分读写权限如:SystemManagement_Operator_QueryAll只读;SystemManagement_Operator_Create可写区分单个/批量权限如:SystemManagement_Operator_Delete单个删除;SystemManagement_Operator_BatchDelete批量删除区分同一操作结果不同权限如:SystemManagement_Operator_QueryAll查询全部信息;SystemManagement_Operator_QueryBasic查询基本信息区分可操作对象不同权限如:SystemManagement_Operator_QueryBasic查询返回多个结果;SystemManagement_Operator_QueryCurrent查询仅返回当前对象结果
-
当前在AppCube平台上,BO、APP及管理界面上都可以创建系统参数。BO系统参数BO中的系统参数,统一命名规则为 :BO名称 + 下划线 + 系统参数名称<BOName>_<SystemParameterName>系统参数名采用首字母大写的驼峰样式。例如:SampleBO_DefaultValue 、AlarmBO_SecurityLevel 、GISBO_MapServerHost创建系统参数的时候,勾选“使用命名空间”这个选项,确保跨租户全局唯一。另外,系统参数名需要能尽可能地表明参数的业务含义,避免与其它参数混淆或者完全看不出业务含义。图1 创建BO系统参数APP系统参数APP中的系统参数,统一命名规则为 :APP名称 + 下划线 + 系统参数名称<APPName>_<SystemParameterName>系统参数名采用首字母大写的驼峰样式。例如:SampleMgmt_MaxValue 、SecurityMgmt_DefaultSecurityLevel 、IOCMgmt_DataSourceType创建系统参数的时候,勾选“使用命名空间”这个选项,确保跨租户全局唯一。另外,系统参数名需要能尽可能地表明参数的业务含义,避免与其它参数混淆或者完全看不出业务含义。管理界面中的系统参数原则上,所有的系统参数都应该放到各BO及APP中。但是如果确实有些系统参数是共性的,也可以在管理界面中创建。管理界面中创建的系统参数,统一命名规则为 :Common + 下划线 + 系统参数名称Common_<SystemParameterName>系统参数名采用首字母大写的驼峰样式。例如:Common_CurrentEnvDomain 、Common_ClientTimezone创建系统参数的时候,勾选“使用命名空间”这个选项,确保跨租户全局唯一。另外,系统参数名需要能尽可能地表明参数的业务含义,避免与其它参数混淆或者完全看不出业务含义。
-
【所属项目】中宙项目【操作步骤&问题现象】1、视频调阅模块,点击摄像头列表,调用后台接口,获取实况播放地址时,返回{"resCode":"VideoProxy.InternalError","resMsg":"内部错误:连接失败。"},roma日志检索到请求,报401.【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【操作步骤&问题现象】1.导航栏溢出问题2.新表格组件中,配置的新增跳转可否跳出弹窗而不是打开新窗口页面3.希望实现顶部导航为一级导航栏,同时包含左侧导航(展示除一级导航目录之外的导航)例:4.增删改查需要有默认条件(无需用户选择的条件)时,可否仅通过服务编排实现5.层级懒加载表格现有组件能否实现6.表单中绑定数据对象以后,怎样获取表单数据7.能否自定义权限判断表单中数据的显隐以及是否禁用8.有进度条的表格展现形式现在能否实现,例:9.能否自定义合并表格行,例:10.表格内数据样式自定义,例根据当前行数据判断是否在表格数据中展示相应图标,例:11.动态生成表头数据能否实现
-
当前在AppCube平台上,BO、APP及管理界面上都可以创建系统参数。BO系统参数BO中的系统参数,统一命名规则为 :BO名称 + 下划线 + 系统参数名称<BOName>_<SystemParameterName>系统参数名采用首字母大写的驼峰样式。例如:SampleBO_DefaultValue 、AlarmBO_SecurityLevel 、GISBO_MapServerHost创建系统参数的时候,勾选“使用命名空间”这个选项,确保跨租户全局唯一。另外,系统参数名需要能尽可能地表明参数的业务含义,避免与其它参数混淆或者完全看不出业务含义。图1 创建BO系统参数APP系统参数APP中的系统参数,统一命名规则为 :APP名称 + 下划线 + 系统参数名称<APPName>_<SystemParameterName>系统参数名采用首字母大写的驼峰样式。例如:SampleMgmt_MaxValue 、SecurityMgmt_DefaultSecurityLevel 、IOCMgmt_DataSourceType创建系统参数的时候,勾选“使用命名空间”这个选项,确保跨租户全局唯一。另外,系统参数名需要能尽可能地表明参数的业务含义,避免与其它参数混淆或者完全看不出业务含义。管理界面中的系统参数原则上,所有的系统参数都应该放到各BO及APP中。但是如果确实有些系统参数是共性的,也可以在管理界面中创建。管理界面中创建的系统参数,统一命名规则为 :Common + 下划线 + 系统参数名称Common_<SystemParameterName>系统参数名采用首字母大写的驼峰样式。例如:Common_CurrentEnvDomain 、Common_ClientTimezone创建系统参数的时候,勾选“使用命名空间”这个选项,确保跨租户全局唯一。另外,系统参数名需要能尽可能地表明参数的业务含义,避免与其它参数混淆或者完全看不出业务含义。
-
错误码使用原则原则上,系统里面所有的报错或者提示信息,都禁止直接在代码里面硬编码,必须使用错误码的形式。错误码的命名,必须遵循错误码命名规范。错误码要配置在APP或者BO内。错误码命名规范BO名称/APP名称+“.”+错误码名称。错误码名称采用大驼峰的方式,通常采用简练的英文单词,不要使用汉语拼音。状态码不能返回4xx,否则页面会跳转到登录页。错误码的中英文错误信息都要写。错误参数信息不能使用 \ ,应该使用{0}。错误码定义范例全部错误码需要在业务平台上查看。APP错误码名称英文错误信息状态码中文错误信息AlarmBOAlarm.ServiceUnAvailableThe request has failed due to a temporary failure of the server.500服务不可用。Alarm.InvalidOperatorThe input operator is invalid.500非法操作符类型。Alarm.illegalParameterThe input parameter is illegal.500非法参数类型。
-
ElasticSearch作为专业的搜索引擎,具有搜索速度快的好处。但是业务中是否需要使用,则需要视具体情况而定。在AppCube平台的相关参数与限制章节中已经介绍了平台对接ES的一些限制:如果业务需要进行条件查询,条件查询的入参携带参数大于1024个时,不应该考虑使用ES进行加速,参考AppCube平台的相关参数与限制章节中的第1条限制。如果业务需要支持分页查询的起始条数大于10000的情况,则不应该考虑使用ES进行加速,参考AppCube平台的相关参数与限制章节中的第3条限制。如果对当前多表关联的搜索性能要求比较高,可以考虑使用ES进行加速查询。因为使用SQL进行多表关联查询,会受到表记录数量大小,查询SQL写法,SQL条件的复杂程度的影响。以基线人员BO为例,关联表数量较多,大于6表关联,并且表记录较多,有超过3张表的表记录数量达到数十万甚至数百万级别的。未使用ES的情况:如果进行5~6表关联查询,就算使用索引查询,也需要800ms以上。由于count查询性能较低,也会导致一条SQL需要1.5s以上的耗时。单个完整业务的接口处理时长大于2s甚至到达5s以上。这是由于一个业务场景中,这样的SQL不止一两条,会导致整个业务场景下前端调用接口时候高延时。这时候,则可以使用ES进行加速。使用ES后,相同单线程无并发的情况下,整个查询过程仅需要200ms~500ms,对比原来的几秒已经有了极大的提升,这时候推荐使用ES进行加速。
-
平台SQL的where条件中的参数如果类型不匹配,会导致索引不生效。在完整的SQL语句前加上explain for可以查看SQL语句的执行计划,从而判断该SQL是否使用索引查询。例如,想要查看select id from PE_Person where name='abc'这条SQL语句的执行计划,那么可以在这条语句前面加上explain for,即执行 explain for select id from PE_Person where name='abc' 可以看到其执行计划。在索引字段上使用like进行模糊查询匹配,like操作符后的值的左边带有%时:例如,假设PE_Person对象模型中的name字段为索引字段。模糊查询PE_Person对象模型中的name字段中包含'bbb'的记录,其执行的SQL为select id from PE_Person where name like '%bbb%',是不使用索引而进行全表扫描匹配记录的。建议方案:如果知道了待搜索的name的精确值,则使用精确的=号查询,如select id from PE_Person where name='abbbc'。如果不知道的name的精确值,但是可以知道待搜索的name字段的前缀,则可以只使用右边的%左边精确填写,如select id from PE_Person where name like 'abbb%'。数据类型出现隐式转化如SQL语句中的where条件后的值,该字段上的数据类型为文本,但是查询的过程中传入的是数字,使得查询过程中出现了隐式转换,导致索引无效,从而全表扫描。查询应该保证查询条件的值应该与对象模型中的值的类型一致。例如,select id from PE_Person where name=123,但是name在模型对象中是字符串类型。应该改为select id from PE_Person where name='123'在索引列上使用 IS NULL 或 IS NOT NULL操作索引是不索引空值的,所以这样的操作不能使用索引,可以用其他的办法处理,例如:数字类型,判断大于0,字符串类型设置一个默认值,判断是否等于默认值即可。例如:explain for select name from de_devices where name is not null。使用or语句做SQL拼接例如:select id from PE_Person where id='0I05000000OFyd0pgSKO' or PersonName='张三'。对索引字段进行计算操作、字段上使用函数例如,PE_Person模型对象中的字段PersonName为索引字段,其中希望搜索条件满足PersonName为'abc'的记录。如果写为如下的两条SQL语句,会导致无法使用索引。select id from PE_Person where PersonName=lower('ABC') 或者 select id from PE_Person where lower(PersonName)='ABC'改进方案:可以将函数处理放置在执行SQL前执行,执行SQL时候则不用包含相关函数。例如以上的场景可以先将‘ABC’通过函数转换为'abc'再进行SQL语句查询:select id from PE_Person where PersonName='ABC'对索引字段使用<>符号进行SQL查询select name from PE_Person where id <> 'abc123'
上滑加载中
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签