-
“该平台的建设解决了资产盘点慢、耗时长的难题,提高了园区的管理水平,提升了园区的服务水平。”——常德德源资产经营管理有限公司副总经理刘恒一、背景与挑战目前的德源智慧园区现有中小企业创业园、智能电子产业园,共计房屋26万平米,目前已出租21万平米,厂房出租率超过80%。已有超50家企业入驻园区当中,园区日常活跃人数达5000人以上。通过对园区智能化、信息化改造,来提升园区的服务水平、提高管理水平、降低运营成本、增强安全保障、提高工作效率、提升房屋出租率及设备使用率是目前智慧园区改造的迫切需求。二、客户痛点1.服务感知差:企业有意向进行房屋租赁时需要前往资产公司进行实地咨询,浪费时间及人力。目前园区内的费用缴纳信息管理是通过人工进行记账,需要人工定时排查逾期或未缴纳费用的相关企业。同时企业入驻后不能清晰的了解到自己该缴纳的费用及明细,在缴纳房屋、水电、物业费等费用时需要人员前往服务中心缴纳或去银行排队办理,针对逾期未缴纳费用的企业需要派人反复上门催缴,。2.事件处理效率低:目前设备的报修、养护都是通过纸质文文档进行记录和传递,企业和相关工作人员无法实时掌握维修工单的处理进度,容易影响到企业的生产经营,采用传统的纸质处理模式不仅处理效率低而且事后追溯难。3.资源利用低:对房屋、设备等资源的利用采用人工记账的方式,房屋等资源释放后无法第一时间对外发布,相关工作人员也没办法在第一时间就掌握资源的利用情况,造成资源的闲置,资源的利用效率低。4.运营成本高:在园区日常运营过程中想要知道园区目前的厂房的出租情况、园区的营收情况等信息时都需要人工进行数据的统计,统计周期长、数据精度低。三、解决方案通过对园区智能化的改造,提升园区的服务水平、提高管理水平、降低运营成本、增强安全保障、提高工作效率、提升房屋出租率及设备使用率。1.综合态势:查看多个园区的综合经营情况,各园区招商情况,房屋租售态势,事件统计,缴费态势,收入态势等。2.视频巡更:通过选择摄像头和设定巡更时间进行巡更任务配置,巡更人员可以通过系统进行远程视频巡更,巡更时可进行相应的记录最终巡更结束时生成巡更日志。3.智慧物业:园区通过平台制定缴费的科目及周期,制定不同企业的缴费金额,记录企业的缴费记录,逾期未缴费的企业实时提醒,可根据时间、企业等不同维度进行历史记录的检索;管理设备的基础档案信息,在巡检过程中发现设备损坏时通过APP上报设备维修工单,平台接收到工单后管理员分派维修人员,维修人员维修完成后通过APP登记维修结果并拍照,后台可根据时间、设备类型、维修状态、维修人等维度进行维修工单检索;制定设备的保养计划并分派保养人,保养人根据计划进行设备的保养并通过APP进行保养登记;管理入驻园区的企业装修信息,装修时登记企业的装修保证金缴纳记录、装修证发放记录及装修时间管理,装修过程中管理企业装修检查记录,装修完成后登记企业的装修证退还记录及退还保证金登记。4.园区招商:管理园区内的房屋基础信息,通过房屋销控图实时查看房屋的租售情况,管理房屋租售的合同信息及合同的续期,变更、转租、到期等记录,平台通过房屋租售的时间、营收等维度生成报表及图表。5.服务门户:园区通过门户发布中最新动态,招商信息。意向企业可通过门户进行入驻申请,查看自己房屋租赁的信息及缴费信息。6.企业服务: 第三方企业可以通过门户注册到园区中来,审核通过后可以通过门户发布可提供的服务信息,包括打印服务、税务服务等服务,企业可以通过门户或APP查看相关的服务信息,在线购买以下服务,园区与服务商进行服务进行服务结算;园区也可以将可提供的各类服务发布到门户中比如金融服务、资产服务等可以自定义服务步骤及服务内容,企业可以在线选购。四、客户价值通过对园区智能化的改造,提升园区的服务水平、提高管理水平、降低运营成本、增强安全保障、提高工作效率、提升房屋出租率及设备使用率。1、建设园区服务及业主端APP,意向企业可通过门户了解园区的最新招商政策、空闲房屋等信息,在线提交入驻意向申请,入驻园区的企业可通过门户及APP在线购买服务、查看园区最新动态、查看自己的房屋租赁、水电、物业费等账单,在线缴纳费用无需排队办理,提升园区的服务水平。2、建设工作人员APP,工作人员可通过APP实时查看企业的缴费信息,自动筛选预期未缴的企业信息。3、通过APP端进行维修上报,平台进行派工,派工消息自动推送至相关工作人员APP,可实时查看维修工单进行情况,维修完成后通过APP拍照登记方便事后追溯。4、通过平台对资源进行统一管理,资源释放后自动推送至服务门户及业主端APP,闲置资源实施共享,提升资源的利用效率。5、建设IOC智慧管控中心,通过大数据分析技术对园区运营过程中的招商、物业、安防、维保等数据进行分析展示,生成各类统计图表。协助运营人员“一屏览全园”;协助安保人员及时处理突发状况,做到“事件可控、可管”;协助维保管理员及时了解园区设备的最新维保情况,制定合理的维修保养计划,提高作业效率;协助运营人员及时掌握园区的房屋招商信息及入驻企业的类新、规模等情况,为制定科学的、高效的招商引资政策提供数据支持。案例中提到的商品:万洲嘉智智慧园区运营管理平台【华为云云市场,助您上云无忧】
-
APP用户调研,倾听您的声音!活动形式:本次活动采用问卷调研+1对1用户访谈的形式。我们将在用户问卷中(扫描下方二维码或点击链接填写问卷申请成为被访谈人员)筛选出15+位访谈用户进行电话访谈,给予京东100元礼品卡奖励。问卷提交时间:2020年11月20日 16:00前提交问卷,11月4日到20日期间我们会陆续联系用户确认访谈时间,预计访谈1小时以内。 11月21日停止访谈。2020年11月30日 16:00前,将已采访者名单(获奖信息)告知所有报名用户。活动奖励: 京东100元礼品卡更多关于华为云APP的相关内容请点击链接下载和了解:https://www.huaweicloud.com/mobile_app/hwapp.html
-
-
MSG Flow 是什么? >是一个异步消息驱动的业务流程编排工具 >是一个边云协同编排工具 & “全”环境运行引擎 >是客户既有系统能力“0成本”集成、编排工具 >是一个边、端侧APP 一键部署及管理工具实现的客户/伙伴价值•1)快速、零成本封装集成客户既有系统能力,并可通过可视化编排拉通消除系统孤岛,编排新业务流程,实现用户既有系统低成本利旧。 •2)云边端流程编排一体化,编排的业务流程同时适配云端标准服务器、边侧设备、资源受限的单片机系统,不同层级流程可相互通信,屏蔽端边云开发的差异,降低开发成本。 •3)通过统一规范及规范配套工具将客户既有能力零成本或底成本封装成标准资产,可在不同场景中通过编排工具低成本编排复用。 •4)针对边侧系统、端侧资源受限系统低效率的开发模式(如C 编码->交叉编译->串口烧录),改成云端可视化编排开发,极大提升开发效率和对开发人员能力要求。 •5)模块级组装开发,极大降低了开发难度,可由业务人员进行开发,降低开发成本。 •6)审批通过的边、端侧APP流程按需随时更新,没有手工安装部署过程,缩短新功能的TTM。案例:部分国网应用合作伙伴基于Message Flow柔性开发平台开发App跟踪5G加油站安全帽AI检测流程编排样例通过可视化快速拖拽编排AI算子完成5G加油站安全帽检测告警流程。流程以元数据的形式一键下发至边侧硬件设备上运行的引擎。边侧引擎解析元数据完成业务逻辑处理上报告警信息至云端。
-
场景一:深夜,运维同事小王睡的正酣,突然手机铃声响起,是公司领导来电:“小王啊,刚刚一线同事找到我,说是公司网站访问异常,客户下单受到影响,赶紧看一下”,小王赶紧起床,打开便携,然后一顿操作定位故障,最终将异常处理完成,由于现网问题反馈到公司领导,小王本月绩效堪忧。 场景二:周日,运维同事小李正跟女朋友小美在海边畅想未来,突然手机收到通知,内容是公司服务器出现异常。小李赶紧拿出华为云App,通过App的云监控告警看到公司一台服务器有接口异常,使用API调试工具对异常的接口进行了调试后,再使用SSH工具远程接入公司服务器对异常接口进行了紧急处理后,利用App中的控制台ECS小程序重启服务器,服务器异常消失~~~此时,公司领导电话打来:“小李啊,刚才我收到一线客服反馈,有用户访问我们网站出现异常,导致下单失败,你赶紧看一下。”小李回复“领导,异常问题已经处理完成了,是因为有个接口出现故障了,刚才通过华为云App已经紧急处理完毕,现在问题已经解决了。”由于小李处理现网问题快,客户下单最终没受影响,第二天受到公司表扬,升职加薪,从此走上迎娶小美的幸福生活。 以上两个段子均为杜撰,不管你信不信,都可以下载华为云App试试就如我们的标题一样,你不知道的宝藏工具,之所以称华为云App为宝藏工具,是因为它确实有一些宝藏功能为大家所不知,现在我就给大家介绍一下:宝藏功能一:资源监控对所有有资源的用户来讲,资源监控告警功能绝对是比实名认证更宝藏的功能,试想一下,当你名下有华为云的服务器,只要通过一款App就能随时随地查看你名下华为云服务器的运作情况,涵盖CPU使用率监控、出网、入网带宽监控、磁盘读写速率监控等等核心功能监控,还有什么功能会比这个更香?任何异常,只要打开华为云App就能快速知晓问题根因所在,绝对是运维同事的得力帮手。宝藏功能二:实名认证我们先来看一个实测视频,华为云App实名认证,从OCR(文字识别)姓名身份证、到活体识别再到三证合一校验,30秒快速完成,在活体检测环节,所有动作指令均为实时校验,确保用户一次通过完成,方便、快速的优势一览无余,从实名认证的体验以及效率可以看出,华为云App的实名认证体验绝对处于行业应有水平,期待大家下载华为云APP体验。宝藏功能三:虚拟MFA账号安全对所有华为云用户来讲都是十分重视的,相较于大家常见的短信验证码,MFA(多因子认证,Multi-factor authentication)才是二次校验中安全系数最高的验证方式。现在,华为云App的虚拟MFA功能已经上线很长时间了,除了登录安全加固,敏感操作也能通过MFA做二次校验了。本次,只是跟大家简单的介绍了一下华为云App的几个宝藏功能,当然,我们已上线的宝藏功能绝不仅仅只是这些:账户充值、资源续费、工单提交、扫码登录、多账号切换、文档查询、专题直播、微信分享~~~,华为云App上更多的宝藏功能需要大家自己去下载、把玩。我们仍在前进的道路上,离不开大家的吐槽和建议,我们会努力攻克各种问题,提升App的性能、功能以及体验!
-
场景一:深夜,运维同事小王睡的正酣,突然手机铃声响起,是公司领导来电:“小王啊,刚刚一线同事找到我,说是公司网站访问异常,客户下单受到影响,赶紧看一下”,小王赶紧起床,打开便携,然后一顿操作定位故障,最终将异常处理完成,由于现网问题反馈到公司领导,小王本月绩效堪忧。 场景二:周日,运维同事小李正跟女朋友小美在海边畅想未来,突然手机收到通知,内容是公司服务器出现异常。小李赶紧拿出华为云App,通过App的云监控告警看到公司一台服务器有接口异常,使用API调试工具对异常的接口进行了调试后,再使用SSH工具远程接入公司服务器对异常接口进行了紧急处理后,利用App中的控制台ECS小程序重启服务器,服务器异常消失~~~此时,公司领导电话打来:“小李啊,刚才我收到一线客服反馈,有用户访问我们网站出现异常,导致下单失败,你赶紧看一下。”小李回复“领导,异常问题已经处理完成了,是因为有个接口出现故障了,刚才通过华为云App已经紧急处理完毕,现在问题已经解决了。”由于小李处理现网问题快,客户下单最终没受影响,第二天受到公司表扬,升职加薪,从此走上迎娶小美的幸福生活。 以上两个段子均为杜撰,不管你信不信,都可以下载华为云App试试就如我们的标题一样,你不知道的宝藏工具,之所以称华为云App为宝藏工具,是因为它确实有一些宝藏功能为大家所不知,现在我就给大家介绍一下:宝藏功能一:资源监控对所有有资源的用户来讲,资源监控告警功能绝对是比实名认证更宝藏的功能,试想一下,当你名下有华为云的服务器,只要通过一款App就能随时随地查看你名下华为云服务器的运作情况,涵盖CPU使用率监控、出网、入网带宽监控、磁盘读写速率监控等等核心功能监控,还有什么功能会比这个更香?任何异常,只要打开华为云App就能快速知晓问题根因所在,绝对是运维同事的得力帮手。宝藏功能二:实名认证我们先来看一个实测视频,华为云App实名认证,从OCR(文字识别)姓名身份证、到活体识别再到三证合一校验,30秒快速完成,在活体检测环节,所有动作指令均为实时校验,确保用户一次通过完成,方便、快速的优势一览无余,从实名认证的体验以及效率可以看出,华为云App的实名认证体验绝对处于行业应有水平,期待大家下载华为云APP体验。宝藏功能三:虚拟MFA账号安全对所有华为云用户来讲都是十分重视的,相较于大家常见的短信验证码,MFA(多因子认证,Multi-factor authentication)才是二次校验中安全系数最高的验证方式。现在,华为云App的虚拟MFA功能已经上线很长时间了,除了登录安全加固,敏感操作也能通过MFA做二次校验了。本次,只是跟大家简单的介绍了一下华为云App的几个宝藏功能,当然,我们已上线的宝藏功能绝不仅仅只是这些:账户充值、资源续费、工单提交、扫码登录、多账号切换、文档查询、专题直播、微信分享~~~,华为云App上更多的宝藏功能需要大家自己去下载、把玩。我们仍在前进的道路上,离不开大家的吐槽和建议,我们会努力攻克各种问题,提升App的性能、功能以及体验!
-
跪求大神帮忙解决!!!以下是我从华为为下载的编程关于 “展示了分段并发上传大对象的用法” 。但是当我们跑完代码, 在模拟的手机,它显示“Create a demo busket for demo Error message: The location contraint is incompatible for the region specific endpoint this request was sent to. Error code: IllegalLocationConstraintExceprtion Request ID: 000000175.... Host ID:wQQYK..."public class MainActivity extends androidx.appcompat.app.AppCompatActivity{ private static final String endPoint = "https://obs.cn-north-4.myhuaweicloud.com"; private static final String ak = "E5DVZAAK95..."; private static final String sk = "PluwDOGzcWcFXXYdlNjsnITWrB4Hud7..."; private static String bucketName = "chenzi"; private static String objectKey = "my-obs-object-key-demo"; private static ExecutorService executorService = Executors.newFixedThreadPool(5); private static List<PartEtag> partETags = Collections.synchronizedList(new ArrayList<PartEtag>()); private static ObsClient obsClient; private static StringBuffer sb = new StringBuffer(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout2); //Toast.makeText(this, "hUAWEItYR", Toast.LENGTH_LONG).show(); ObsConfiguration config = new ObsConfiguration(); config.setSocketTimeout(30000); config.setConnectionTimeout(10000); config.setEndPoint(endPoint); /* * Constructs a obs client instance with your account for accessing OBS */ obsClient = new ObsClient(ak, sk, config); final TextView tv = (TextView)findViewById(R.id.tv); tv.setText("Click to start test"); // Toast.makeText(this, "hUAWEItYR", Toast.LENGTH_LONG).show(); tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv.setClickable(false); AsyncTask<Void, Void, String> task = new ConcurrentUploadPartTask(); task.execute(); } }); } private static class PartUploader implements Runnable { private File sampleFile; private long offset; private long partSize; private int partNumber; private String uploadId; public PartUploader(File sampleFile, long offset, long partSize, int partNumber, String uploadId) { this.sampleFile = sampleFile; this.offset = offset; this.partSize = partSize; this.partNumber = partNumber; this.uploadId = uploadId; } @Override public void run() { try { UploadPartRequest uploadPartRequest = new UploadPartRequest(); uploadPartRequest.setBucketName(bucketName); uploadPartRequest.setObjectKey(objectKey); uploadPartRequest.setUploadId(this.uploadId); uploadPartRequest.setFile(this.sampleFile); uploadPartRequest.setPartSize(this.partSize); uploadPartRequest.setOffset(this.offset); uploadPartRequest.setPartNumber(this.partNumber); UploadPartResult uploadPartResult = obsClient.uploadPart(uploadPartRequest); sb.append("Part#" + this.partNumber + " done\n\n"); partETags.add(new PartEtag(uploadPartResult.getEtag(), uploadPartResult.getPartNumber())); } catch (Exception e) { e.printStackTrace(); } } } class ConcurrentUploadPartTask extends AsyncTask<Void, Void, String> { @Override protected String doInBackground(Void... params) { try { /* * Create bucket */ sb.append("Create a new bucket for demo\n\n"); obsClient.createBucket(bucketName); /* * Claim a upload id firstly */ String uploadId = claimUploadId(); sb.append("Claiming a new upload id " + uploadId + "\n\n"); long partSize = 5 * 1024 * 1024l;// 5MB File sampleFile = createSampleFile(); long fileLength = sampleFile.length(); long partCount = fileLength % partSize == 0 ? fileLength / partSize : fileLength / partSize + 1; if (partCount > 10000) { throw new RuntimeException("Total parts count should not exceed 10000"); } else { sb.append("Total parts count " + partCount + "\n\n"); } /* * Upload multiparts to your bucket */ sb.append("Begin to upload multiparts to OBS from a file\n\n"); for (int i = 0; i < partCount; i++) { long offset = i * partSize; long currPartSize = (i + 1 == partCount) ? fileLength - offset : partSize; executorService.execute(new PartUploader(sampleFile, offset, currPartSize, i + 1, uploadId)); } /* * Waiting for all parts finished */ executorService.shutdown(); while (!executorService.isTerminated()) { try { executorService.awaitTermination(5, TimeUnit.SECONDS); } catch (InterruptedException e) { e.printStackTrace(); } } /* * Verify whether all parts are finished */ if (partETags.size() != partCount) { throw new IllegalStateException("Upload multiparts fail due to some parts are not finished yet"); } else { sb.append("Succeed to complete multiparts into an object named " + objectKey + "\n\n"); } /* * View all parts uploaded recently */ listAllParts(uploadId); /* * Complete to upload multiparts */ completeMultipartUpload(uploadId); return sb.toString(); } catch (ObsException e) { sb.append("\n\n"); sb.append("Response Code:" + e.getResponseCode()) .append("\n\n") .append("Error Message:" + e.getErrorMessage()) .append("\n\n") .append("Error Code:" + e.getErrorCode()) .append("\n\n") .append("Request ID:" + e.getErrorRequestId()) .append("\n\n") .append("Host ID:" + e.getErrorHostId()); return sb.toString(); } catch (Exception e) { sb.append("\n\n"); sb.append(e.getMessage()); return sb.toString(); } finally { if (obsClient != null) { try { /* * Close obs client */ obsClient.close(); } catch (IOException e) { } } } } @Override protected void onPostExecute(String result) { TextView tv = (TextView)findViewById(R.id.tv); tv.setText(result); tv.setOnClickListener(null); tv.setMovementMethod(ScrollingMovementMethod.getInstance()); } private String claimUploadId() throws ObsException { InitiateMultipartUploadRequest request = new InitiateMultipartUploadRequest(bucketName, objectKey); InitiateMultipartUploadResult result = obsClient.initiateMultipartUpload(request); return result.getUploadId(); } private File createSampleFile() throws IOException { File file = File.createTempFile("obs-android-sdk-", ".txt"); file.deleteOnExit(); Writer writer = new OutputStreamWriter(new FileOutputStream(file)); for (int i = 0; i < 1000000; i++) { writer.write(UUID.randomUUID() + "\n\n"); writer.write(UUID.randomUUID() + "\n\n"); } writer.flush(); writer.close(); return file; } private void completeMultipartUpload(String uploadId) throws ObsException { // Make part numbers in ascending order Collections.sort(partETags, new Comparator<PartEtag>() { @Override public int compare(PartEtag o1, PartEtag o2) { return o1.getPartNumber() - o2.getPartNumber(); } }); sb.append("Completing to upload multiparts\n\n"); CompleteMultipartUploadRequest completeMultipartUploadRequest = new CompleteMultipartUploadRequest(bucketName, objectKey, uploadId, partETags); obsClient.completeMultipartUpload(completeMultipartUploadRequest); } private void listAllParts(String uploadId) throws ObsException { sb.append("Listing all parts......"); ListPartsRequest listPartsRequest = new ListPartsRequest(bucketName, objectKey, uploadId); ListPartsResult partListing = obsClient.listParts(listPartsRequest); for (Multipart part : partListing.getMultipartList()) { sb.append("\tPart#" + part.getPartNumber() + ", ETag=" + part.getEtag()); } sb.append("\n"); } }
-
激活mcu上的app 显示失败:错误码是-1215按手册上的要求 在json文件里添加了两个service:{ "logging" : { "level" : "warning", "console" : "false", "file" : { "enable" : "false", "path" : "/var/log/vsomeip.log" }, "syslog": { "enable" : "true", "ident" : "someipd" }, "dlt" : "false" }, "unicast" : "192.168.1.6", "routing" : "someipd", "netmask" : "255.255.255.0", "applications" : [ { "name" : "someipd", "id" : "0x1343" } ], "services" : [ { "service" : "0xb0", "instance" : "1", "unreliable" : "7000", "events" : [ { "event" : "5001", "is_field" : "false", "is_reliable" : "false" }, { "event" : "5000", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "1", "events" : [ "5001", "5000" ] } ] }, { "service" : "0x3457", "instance" : "4007", "unreliable" : "7007", "events" : [ { "event" : "5001", "is_field" : "false", "is_reliable" : "true" } ], "eventgroups" : [ { "eventgroup" : "1", "events" : [ "5001" ] } ] }, { "service" : "0x3457", "instance" : "4009", "unreliable" : "7009", "events" : [ { "event" : "5001", "is_field" : "false", "is_reliable" : "true" } ], "eventgroups" : [ { "eventgroup" : "1", "events" : [ "5001" ] } ] }, { "service" : "0xb1", "instance" : "5", "unreliable" : "7101", "events" : [ { "event" : "5000", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "2", "events" : [ "5000" ] } ] }, { "service" : "0x10", "instance" : "2", "unreliable" : "6000", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32772", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32776", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32775", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32770", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "1", "events" : [ "32769", "32772", "32776", "32770" ] }, { "eventgroup" : "2", "events" : [ "32775" ] } ] }, { "service" : "0x10", "instance" : "1", "unreliable" : "6000", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32772", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32776", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32775", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32770", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "1", "events" : [ "32769", "32772", "32776", "32770" ] }, { "eventgroup" : "2", "events" : [ "32775" ] } ] }, { "service" : "0xd1", "instance" : "1", "unreliable" : "6000", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "2", "unreliable" : "6001", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "3", "unreliable" : "6002", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "4", "unreliable" : "6003", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "5", "unreliable" : "6004", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "6", "unreliable" : "6005", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "7", "unreliable" : "6006", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "8", "unreliable" : "6007", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "9", "unreliable" : "6008", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "10", "unreliable" : "6009", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "11", "unreliable" : "6010", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "12", "unreliable" : "6011", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "1", "unreliable" : "6000", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "2", "unreliable" : "6001", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "3", "unreliable" : "6002", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "4", "unreliable" : "6003", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "5", "unreliable" : "6004", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "6", "unreliable" : "6005", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "7", "unreliable" : "6006", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "8", "unreliable" : "6007", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "9", "unreliable" : "6008", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "10", "unreliable" : "6009", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "11", "unreliable" : "6010", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0xd1", "instance" : "12", "unreliable" : "6011", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "16", "events" : [ "32769" ] } ] }, { "service" : "0x120", "instance" : "192", "unreliable" : "5001", "eventgroups" : [ ] }, { "service" : "0xd004", "instance" : "1", "unreliable" : "53252", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32770", "is_field" : "false", "is_reliable" : "false" } ], "eventgroups" : [ { "eventgroup" : "1", "events" : [ "32769", "32770" ] } ] }, { "service" : "0xd005", "instance" : "1", "unreliable" : "53253", "events" : [ { "event" : "32769", "is_field" : "false", "is_reliable" : "false" }, { "event" : "32770", "is_field" : "false", "is_reliable" : "false" }], "eventgroups" : [{ "eventgroup" : "1", "events" : [ "32769", "32770" ] }] } ], "clients": [ { "service": "208", "instance": "1", "unreliable": [ "6101" ] }, { "service": "208", "instance": "2", "unreliable": [ "6102" ] }, { "service": "208", "instance": "3", "unreliable": [ "6103" ] }, { "service": "208", "instance": "4", "unreliable": [ "6104" ] }, { "service": "208", "instance": "5", "unreliable": [ "6105" ] }, { "service": "208", "instance": "6", "unreliable": [ "6106" ] }, { "service": "208", "instance": "7", "unreliable": [ "6107" ] }, { "service": "208", "instance": "8", "unreliable": [ "6108" ] }, { "service": "208", "instance": "9", "unreliable": [ "6109" ] }, { "service": "208", "instance": "10", "unreliable": [ "6110" ] }, { "service": "208", "instance": "11", "unreliable": [ "6111" ] }, { "service": "208", "instance": "12", "unreliable": [ "6112" ] }, { "service": "211", "instance": "1", "unreliable": [ "6201" ] } ], "service-discovery" : { "enable" : "true", "multicast" : "239.192.255.251", "port" : "30491", "protocol" : "udp", "repetitions_max" : "3", "cyclic_offer_delay" : "2000", "repetitions_base_delay" : "200", "request_response_delay" : "1500", "initial_delay_min" : "10", "initial_delay_max" : "100", "ttl" : "10" }}host侧mcu_customize__abstract的输出:请问是哪里配置有问题吗?
-
10.5 CVC的应用与展望CVC可以协调并加速运营商与供应商之间的交互,供应商可以通过CVC快速获取运营商的需求并测试,实现Devops。未来, CVC社区将提供一个Marketplace来管理所有的测试结果以及对应的xNF包,运营商也可以根据测试结果快速评估哪些供应商的产品满足其需求。10.5.1 供应商如何应用CVCVNFSDK提供了xNF的打包工具以及Marketplace。供应商可以通过使用打包工具生成自己的VNF或者PNF包。Marketplace可以触发VNFSDK的所有测试用例,并且提供对应的UI界面,以供用户进行上传、下载xNF包。CVC将提供两种方式供用户去使用:第一种是CVC社区认证的第三方实验室。xNF提供商只需要将自己的xNF包提供给第三方实验室,并明确自己产品的依赖,这样就可以通过第三方实验室进行测试,并输出最终xNF测试结果。另外一种方式是, xNF供应商可以自行下载CVC相关的工具以及测试用例集合,然后进行测试,获取测试报告,然后提交给认证Portal供CVC去Review并发布认证结果。通过快速的反馈测试结果以及获取运营商对于相关产品的诉求,供应商可以通过此工具快速构建自己xNF/NFVi的Devops。供应商通过提交其xNF/NFVi相关产品的测试结果,社区的Reviewer会评估其测试结果的正确性,最终社区会将该测试认证结果发布到Cvc官方页面上,以供更多的运营商获取产品信息。10.5.2运营商对CVC的应用CVC致力于加速运营商采购xNF产品的流程。运营商可以在CVC的官方认证Portal或者Marketplace上快速获取当前已经通过CVC认证的xNF产品列表以及具体的测试细节,用于评估自己的采购需求。运营商也可以通过定制自身的测试用例集来测试对应的xNF。运营商可以将此用例集集成到本地或者认证实验室中,应用到对应的测试中。在获取到相关供应商的xNF产品测试结果后,运营商也可以快速地从CVC Portal获取到相关的产品信息,以便后续安装部署到自己本地的环境进行进一步的使用。CVC未来会提供一个Portal用于CvC的一键式部署、用例设计与生成、测试用例集选择、用例集的执行和测试结果的呈现。10.5.3 CVC的未来展望1. CVC的中长期愿景社区将CVC测试分成三种,即Compliance Test, Validation Test,Petformance Test。其中, xNF Validation Test和Performance Test工作在社区尚未开始,属于长期目标。目前社区工作主要集中在xNF Compliance Test上。其中,Compliance Test:兼容性测试,此阶段为CVC的短期目标。测试xNF对于VNF Requirements, 3GPP/ETSI或者运营商特定要求的兼容性,如xNF包的结构(ETSISOL004), xNFD的节点定义是否符合标准(ETSI SOL001 )等。Validation Test:主要是xNF的生命周期测试(Lifecycle Managemnent Test),该阶段为CVC的中长期目标。如xNF的创建、删除、扩缩容、更新等,也包含xNE的功能测试,如IMS、 EPC网元是否满足3GPP定义的网元功能。针对NFVi,就是基于OpenStack、VMware, Kubernetes等不同平台的测试,如HA ( High availability) 测试。Performance Test:性能测试,即测试网元是否能满足对应运营商、标准等各方面的性能要求。同OPNFV原有的OVP 测试一样,CVC的测试流程也将与此类似,分成如下3步。CVC测试项实验室CVC委员会结果检视CVC测试结果发布2. CVC的Qualified Lab测试云服务模式随着CVC认证逐渐成为一种xNF人网的基本标准,提前取得CVC认证对于供应商变得越来越重要。基于此, CVC在考虑把认证从现在提供工具、用例的模式,逐渐发展为提供CVC认证云服务的Qualified Lab实验室模式。意义在于:对运营商来说,认证新的xNF将不需要本地搭建CVC测试认证环境。对于设备供应商而言, Qualified Lab将提供标准的验证环境和平台,不需要每次都和运营商进行多次认证用例的重新对齐,认证过程简单,用例更新及时,且认证通过的产品和版本可以在Qualified Lab中体现。作为一个平台, CVC Qualified Lab将架起运营商和设备供应商快速准入的桥梁。3. CVC的VNF在线市场(Marketplace)按照ONAP社区的构想,将会提供一个xNF Marketplace,通过CVC认证后的xNF将会以类似App的方式上传到Marketplace,运营商可以在Marketplace中试用通过认证的xNF,可以直接在线购买。这种模式使得xNF的升级更加灵活,比如整包更新、热补丁更新,更新过程更加简单,类似手机App的购买和升级体验。当然,这个过程需要一定时间,它有赖于升级方案和工具的逐步成熟,以及xNF容器化部署的成熟、License模式的成熟等。
-
注册界面验证时,手机禁止截图,图形验证码验证失败后刷新需要改善创建企业后无法添加人员企业信息无法编辑摄像头可能会出现大小屏同框app端我的点击头像进去,部门、手机、邮箱、姓名等信息无法修改app端小窗口在其他app停留点开提示没有权限app端升级套餐没有资费信息app端无法禁音,手机最后一格音量被锁住app端部分页面不支持手机全面屏,需要点击右上角返回键app端邀请他人参会需要到会议详情里面去,不能在会议里面要求app端画面小窗会变成头像而不是视频app端视频画面延迟比较严重,晃动手机,停稳后还有延迟1、2秒联系他人,提示企业未购买外呼功能,请联系企业管理员。但企业无法编辑,也没有明确人员角色,更没有购买的链接和页面跳转。pc端通话记录-最近通话里面没有记录pc端和app端的白板纪要无法添加内容pc端邀请没有二维码,需要手动复制会议信息pc端收藏的联系人点击编辑用户,再点击新增用户,还是之前编辑用户的界面,不是新增用户的界面pc端收藏的联系人信息进行编辑,未保存再点击其他任意功能会提示“联系人为保存,是否存为草稿?”,确定存为草稿后,再回到联系人编辑页面,草稿信息还在,再次未保存点击其他任意功能,不会在提示“联系人为保存,是否存为草稿?”再回到联系人编辑页面,之前编辑的草稿信息没了
-
各位开发者们: 智慧园区业务运营团队积极听取开发者声音,深入了解开发者痛点,致力于为开发者传达需求,提升开发体验。App Engine平台预计于北京时间 2020-09-27 00:00~03:00 进行补丁升级,00:00~00:30期间可能会有业务中断,建议您避开该时间段使用,以免给您的业务造成影响,请知悉!主要更新内容如下:平台首页和标准页面改版请观看视频:APP Engine平台页面改版介绍体验优化1. 优化BO权限控制,支持配置权限控制脚本;2. 优化平台消费事件逻辑;3. 优化ROMA接口同步机制,新增对接ROMA的连接器;4. 优化平台日志打印格式;5. 优化应用删除机制(可以选择删除脚本、对象等内容);6. 修复其他已知问题。兼容性说明1. 标准页面新增的提交表单和重置表单动作无法在旧版本运行态运行;2. 标准页面自定义JS代码中新增的context.$bpm无法在旧版本运行态运行;3. 事件流(eventstreaming)已下架,默认无法使用,如需使用请联系运维增加license。以上详细更新内容也可登陆App Engine查看站内升级公告智慧园区业务运营团队
-
https://support.huaweicloud.com/devg-meeting/toctopics/zh-cn_topic_0270741168.html
-
创建app无法自定义空间我根据操作文档,这个应该是可以自定义,我没找到哪里可以修改。
-
成为智能交通拥有丰富政企车队管理经验及车队管理平台开发能力,以透明化高效管理,降低了我们的用车运行成本,带来了便捷的用车体验。—— 广西南宁电信 一、业务痛点为了方便员工因公出行,政府和企业会为其配置公务用车,以保障政府和企业运营活动的正常开展,提高处理公事的效率。但实际使用中,公车私用、虚报加班等现象层出不穷,公务车运行管理成本偏高。广西南宁电信亦是如此。1. 实际使用和公车私用的情况,难以区分管理;2. 公务车利用率低,存在难以调度及车辆闲置的情况;3. 车辆使用费用报销,各种桥路费、加油费、维修保养费繁杂,传统手工记账方式工作量重,且缺少有效的审批凭据,管理费用偏高;4. 车辆使用寿命缩短,由于驾驶技术、驾驶习惯、车辆保护意识差、使用频率大等因素影响,导致车辆行驶6-8年就提前退役;5. 缺少科学可行的公务车管理系统与有效全面的管理方式,管理人员在管理中缺少数据的支撑,难以规范用车各个环节。 二、解决方案为建立长效机制,按照中央车改办《关于进一步加强地方公务用车平台建设的通知》的要求,广西南宁电信就建设“智慧”公务用车综合管理平台项目对外招标,华为云市场合作伙伴成为智能交通凭借专业的软件平台设计研发能力正式中标。成为智能交通为中国电信定制开发政企出行全新调度平台及APP,结合华为云的弹性云服务器、镜像服务、云数据库RDS等服务,对行驶数据、驾驶员、车辆资产进行三重管理。1、精准管理行驶数据。通过车载智能终端对车辆的位置、状况和驾驶数据进行统计和分析,方便车队管理者实时掌握车辆运行状况,管理者可以实时查看车辆的地理定位、形势行驶轨迹、运行区域等数据,对公务车用车进行监控,规范车辆使用。2、科学管理驾驶员。利用成为智能交通自主研发的驾驶评分模型,根据驾驶员的驾驶行为和驾驶习惯记录,生成个人驾驶得分,结合违章数据,对驾驶管理安全预警。同时通过系统反馈数据,督促驾驶员合理安全驾驶,以此建立奖励机制,调动驾驶员的积极性,增强安全意识,减少事故的发生。3、优化管理车辆资产。不良的驾驶行为加速车辆的损耗速度,导致车辆提前报废。云平台通过发送车辆维修保养提示、不良驾驶行为统计违规罚款推送等,让车辆的使用状况明了清晰,管理者据此制定相应的管理办法,减少车辆损耗和不必要的费用支出;同时掌握车辆使用情况,改变车辆的使用属性或者进行车辆资产处置,减少闲置车辆资源的浪费。 三、企业受益1、完善的车辆管理体系。根据广西南宁电信管理需求,定制以“云平台+APP+车载智能终端”为依托的解决方案,实现公司上下互联互通,帮助用户形成完整的公务用车综合管理体系;2、透明化高效管理,降低用车运行成本。通过云平台完成了实时的公务车监控管理,根据平台数据筛选各部门车辆使用率,进行合理资源分配,提高了管理效益;3、更便捷的用车体验。用车人通过APP即可完成车辆用车,包括用车申请、审批、支付、评价等;4、促进电信生态链的发展。成为智能交通所开发的车队管理云平台以及车载智能终端,通过电信物联网卡的联接,成功进入电信生态链,促进电信天翼云发展及推广。 文中提到的商品:成翼行车队管理服务(点击可查看详情)上严选商城,挑选更多云上精品!【华为云云市场,助您上云无忧】
-
https://mp.weixin.qq.com/s?__biz=MzA5MjM5OTYzNA==&mid=2247487768&idx=1&sn=93b3c6dd4a2b2e13fb7ed16f03782eea&chksm=906ce065a71b6973932f34aaf9f43051dcb802ed51eedf171b3112c3ea678cc904cd17e23994&token=2061823773&lang=zh_CN#rd
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签