草庐IT

《社区人员管理》实战案例设计&个人案例分享

jingdongkeji 2023-08-25 原文

作者:京东科技 刘宗恺

一、项目背景

北京市疫情防控一体化平台是以“京办”为支撑,集病例流调、排查管控、隔离管理、人员转运、监测评估于一体的疫情防控平台,秉承五位一体统筹、现有体系融通、共性能力支撑、高效部门系统、快速局部突破的理念,进行建设。

1.1 技术挑战

功能:多系统协作、多端支持、多角色支持

非功能: 数据、安全、事件高并发的支撑

1.2 架构挑战

庞大多系统流转集成方案、政务网互联网的多端开发适配

需求变更下的灵活设计、数据流设计

二、系统架构设计

防疫系统五位一体的模块拆分:

2.1 确定业务的主题边界

2.2 全景分析-领域事件流

2.3 场景驱动-分解任务

2.4 业务中台

2.5 数据治理

2.6 人员数据鲜活

三、性能、稳定性设计

3.1 应用层

3.1.1 系统稳定性

3.1.2 系统高可用

高可用:故障频率要低、故障范围要小、故障恢复要快

3.1.3 系统柔性可用

3.1.4 事务中不包含外部调用(不建议)

3.1.5 人员核酸比对

•安全保障:系统安全、网络安全、数据安全

•高可用性:数据备份、负载均衡、异地多活

•容量预测:预计最大抗原检测结果上报

3.2 网络层(流量管控)

•五位一体系统分别部署在多朵云,Keepalived、心跳、故障转移。

•专线带宽及现在使用情况,专线是否与其他业务系统共用,是否有备线。

•机房出入口网络监控,每个机房流量是否均衡,或每台机器的流量是否均衡。

•网络出、入口稳定性做好监控及应急方案。

•流量负载,限流。

•多级负载架构:(级联层次越多,请求在系统中的路径越长,系统性能相应也会受一定影响)

3.3 数据层

3.3.1 容灾备份

•容灾系统按国际标准分为七个层次,0级:无异地备份,1级:实现异地备份,2级:热备份站点备份,3级:在线数据备份,4级:定时数据备份,5级:实时数据备份,6级:零数据丢失。

•排查管控模块:风险人员研判,大数据时空筛查的相关能力和数据,需做到定时数据备份。

3.3.2 异地多活

数据同步(数据库出现异常主从节点,故障转移)

•冗余的越多,系统的故障率就越低,并且是呈指数级降低。

•任何一地故障,另一地都可提供完整服务。

•多机房同时对外提供服务,确保服务随时可用。同时尽量可以实现同机房调用。

3.4 特殊压测

•全场景压测,压测共享资源瓶颈,如用到了加解密的服务特别压测下加解密。

•混沌测试,模拟cpu使用率过高、内存过高、磁盘空间满了;应用连接的数据库超时、缓存超时、依赖服务中断等。

chaosblade支持模拟的场景:

定位分析:

四、通用性设计

面向未来考虑:不仅仅是五位一体,跨场景:通用性和普适性设计,跨区域跨城市:换一套区域是否可以复用,比如在另一个城市建立一个相同的项目。

4.1 泛化场景(自上而下/自下而上)

4.2 抽象流程编排能力

•编排利器:对于复杂的业务逻辑,需要按业务最小粒度实现一个个组件,每个组件保持单一职责。同时定义一个编排规则文件, 即可使复杂业务系统最大程度解耦,同时最大化程度实现组件复用,组件热编排等独有特性。

•优雅稳定:所有的组件互相独立且统一,利用上下文数据槽来传递信息,不同线程之间的数据槽安全隔离。

•规则轻量:串行,并行,条件选择,多层嵌套子流程等。 可以在规则中嵌入JavaScriopt,Groovy等脚本语言,可以实现热刷新的特性。

•监控治理:监控每个组件的运行耗时,统计每个组件排行。

•可视化操作:支持页面动态编排组件服务。

4.3 泛化场景(AI赋能)

项目成本:人力成本,实施成本、项目交付吃紧,通过AI赋能,减少一部分工作量,推进和实施工作。

通过AI视频化能力,降低运营侧交付成本,通过可视化平台手段的手段,低成本、高效率自动化生成视频。

•PPT+非线性编辑系统

•文案转换成视频的过程

•FAQ问题环节

洽谈、讲解、展示;收集客户反馈问题,通过数字人视频播报,减少实施交付成本。

五、收获沉淀

•设计是一个让人梦想成真过程,开始编码、测试、调试之前进行需求分析和架构设计,才能保证关键方面都做正确;

•稳定的需求只是一个神话,架构的好坏,很大部分取决于它应对变化灵活性。如何复杂去掉而得到简单,是一种抽象;

•架构设计终极目标,用最小的人力成本来满足构建和维护该系统的需求。面向未来考虑:通用和扩展性;


CASE分享 -智能视频生产平台

1 业务与技术需求简介

•智能视频生产平台,是基于语音TTS、2D真人+3D卡通数字人、多样化图表、视觉算法融合、动画渲染等智能AI方式进行视频合成的过程。可基于讲解文案生成每种元素的子视频,将每个子视频按照一定的时间顺序和空间位置组合起来,生成最终的视频。

2 技术与业务场景引入、相关人、态度、立场

•支持对内对外多个场景的视频生产需求,具备了高质量视频的规范化生产能力。可根据产品特征和数据缺失情况,自适应增减版式内容;

•视频元素生成包括文字、前景、背景等元素的展示效果:

•智能字幕:实现了文本重要信息的自动提取与强调效果,并能够根据文本内容进行合理的字幕分页分行;

•图文关联:已积累近千张金融领域的图片素材,通过文本中的关键字与图片素材标签的对应规则,实现了从文本到图片的自动映射,增强视频的动态效果;

•数据可视化:实现了数据的动态可视化引擎,可根据请求选择相应的动态图表,支持折线图、柱状图、饼图等一系列图表类型;

3 场景下的问题、挑战、冲突是什么

•在搭建这个平台过程中也遇到一些挑战,比如视频模板多,业务场景多。大家对于细节调整是非常频繁。当发现这个情况后,意识到API模式已无法满足端到端应用诉求,需要提供一套可视化平台,能够具备一些标准化、自动化的能力,以更好的支持业务。因此我们设计了一套在线可视化编辑器,既能满足算法设计运营调优和反馈,又能沉淀形象、声音模板等,大大提升了我们平台的复用性。

4 如何分析技术与业务场景,如何形成研发或应用策略

•技术选型,抽象一套公共视频组件及模板IR层,用了IR平台之后,如新加数字人需求,只需要修改部分IR数据,可以无缝接入整个平台,复用原来能力。

5 做了什么,取得了什么效果、反馈

•首先在科技内部做了视频说明书、保险、金融百科、基金种草,完成了每月3150只视频线上投放,效果优于外部引入。为C端业务提供批量化、规范化的视频生产服务。

•保险知识讲解,每周投放7条视频,在视频号、抖音、快手等平台的交互数据与真人录制视频持平。

•视频说明书,每月完成2400+视频合成,替代外部引入,转化率较图文形式有明显提升。

•零售小家电,已与7家品牌商建立合作,累计投放100个视频,商详页视频转化率高于其他页面,购买转化率较静态图片介绍方式提升。通过实效视频资讯来吸引用户,增强用户黏性。

•每日经济新闻,批量生产新闻资讯视频,客户在两会期间使用,效果获媒体一致好评。树立公司品牌形象。

•人民日报,批量生产新闻资讯视频,客户已在全国范围内的20000+大屏幕推广。

京东云、百度APP数字人联合解读618消费趋势,降本增效释放商业价值;数据显示,微博阅读总量超1.2亿,微博视频热搜榜前10位。

通过视频生产平台制作编辑,数字人形象成功登录京东云峰会城市、零售主题论坛,展示效果从声音、图像、清晰度、动作得到现场嘉宾与运营方高度认可。

有关《社区人员管理》实战案例设计&个人案例分享的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby-on-rails - rails : "missing partial" when calling 'render' in RSpec test - 2

    我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou

  3. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  4. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  5. ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的 - 2

    我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t

  6. ruby-on-rails - 如何从 format.xml 中删除 <hash></hash> - 2

    我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为

  7. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  8. ruby-on-rails - Rails 3.2.1 中 ActionMailer 中的未定义方法 'default_content_type=' - 2

    我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer

  9. ruby-on-rails - 如何优雅地重启 thin + nginx? - 2

    我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server

  10. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

随机推荐