返回顶部
首页 > 资讯 > 数据库 >运维开发里的数据动态获取和自动补录
  • 511
分享到

运维开发里的数据动态获取和自动补录

2024-04-02 19:04:59 511人浏览 八月长安
摘要

vm_info_dict = virtual_Machine_info.objects.get(ip=vm_ip_addr) print(vm_info_dict) if vm_info_dict != N

vm_info_dict = virtual_Machine_info.objects.get(ip=vm_ip_addr) print(vm_info_dict) if vm_info_dict != None: physical_server_ip = vm_info_dict.hostip device_info_dict = physical_server_info.objects.get(ip=physical_server_ip) phy_contain_vms = virtual_machine_info.objects.filter(hostip=physical_server_ip) else: token = gettoken('xxxxx', 'xxxxx') vm_info_dict=getresponse('https://xxxxx/api/v1/GetServerInfo/'+vm_ip_addr, token) physical_server_ip = vm_info_dict.get("hostip") print(physical_server_ip) device_info_dict=getresponse('Https://xxxxxx/API/v1/GetDeviceInfo/'+physical_server_ip, token)

整体的思路就是通过Django API获取虚拟机信息,如果不存在就通过API去访问获取。

这个问题看起来比较奇怪,按照错误的思路,应该是在exception的异常捕获部门来处理,这么做确实是可以的,但是如果要扩展逻辑,异常处理的逻辑就会越来越重,感觉怪怪的。

所以反复测试,也算是明白了,使用get的方式去获取数据,如果获取不到就会抛错,个人感觉这个接口还是不太友好,可以换一种方式,比如filter来实现,因为从表结构能够定位到这是一个主键或者唯一性索引

所以代码的部分根据count的方式来做了调整,然后在这个基础上又做了改进,即如果在本地的数据库中不存在,则访问接口得到数据库,把数据库下沉到本地,整个过程对于我们使用是透明的,也算是一种比较友好的交互方式。


vm_info_dict_exists = virtual_machine_info.objects.filter(ip=vm_ip_addr).count() if vm_info_dict_exists >= 1:
vm_info_dict = virtual_machine_info.objects.get(ip=vm_ip_addr) print(vm_info_dict) physical_server_ip = vm_info_dict.hostip device_info_dict = physical_server_info.objects.get(ip=physical_server_ip)
phy_contain_vms = virtual_machine_info.objects.filter(hostip=physical_server_ip)
return_dict["device_info_dict"] = device_info_dict
return_dict["vm_info_dict"] = vm_info_dict
return_dict["phy_contain_vms"] = phy_contain_vms else:
token = gettoken('xxxx', 'xxxxxx')
vm_info_dict = getresponse('https://xxxxxx/API/v1/GetServerInfo/' + vm_ip_addr, token)
physical_server_ip = vm_info_dict.get("hostip") print(physical_server_ip) device_info_dict = getresponse('https://xxxxxxxAPI/v1/GetDeviceInfo/' + physical_server_ip, token)
return_dict["device_info_dict"] = device_info_dict
return_dict["vm_info_dict"] = vm_info_dict
vm_info = virtual_machine_info()
......
vm_info.memo = vm_info_dict.get("memo")
vm_info.save()
phy_exists = physical_server_info.objects.filter(ip=vm_info.hostip).count() if phy_exists == 0:
phy_info = physical_server_info()
phy_exists = physical_server_info.objects.filter(ip=vm_info.hostip).count() if phy_exists == 0:
phy_info = physical_server_info()
phy_info.update_date = device_info_dict.get("update_date")
......
phy_info.memo = device_info_dict.get("memo")
phy_info.save()
phy_contain_vms = virtual_machine_info.objects.filter(hostip=vm_info.hostip)
return_dict["phy_contain_vms"] = phy_contain_vms

后续准备对这些信息做更进一步的改进,能够实现元数据的增量刷新,即数据发生变化的时候我会调用接口刷新数据到本地,否则还是保持不变。

您可能感兴趣的文档:

--结束END--

本文标题: 运维开发里的数据动态获取和自动补录

本文链接: https://lsjlt.com/news/48660.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 运维开发里的数据动态获取和自动补录
    vm_info_dict = virtual_machine_info.objects.get(ip=vm_ip_addr) print(vm_info_dict) if vm_info_dict != N...
    99+
    2024-04-02
  • 数据库自动化运维的奇观:自动化之手,运维无忧
    自动化部署 部署数据库往往是一项耗时且容易出错的任务。自动化部署工具使这一过程变得简单快捷。它们可以自动创建数据库实例、设置配置并应用必要的补丁,从而节省大量时间和精力。 自动化配置管理 数据库配置管理至关重要,但手动执行这一任务往往费时...
    99+
    2024-04-02
  • 数据库自动化运维的未来:自动化引擎,运维无忧
    自动化引擎:数据库运维的革命 自动化引擎是数据库自动化运维的关键技术。它通过预定义的规则和策略,自动执行复杂的运维任务,包括: 性能监控和优化:实时监控数据库性能,并自动调整配置以优化性能。 备份和恢复:创建和管理备份,并在发生故障时自...
    99+
    2024-04-02
  • 解锁数据库自动化运维之谜:开启运维新境界
    数据库自动化运维是通过技术手段,自动执行数据库运维任务,以提高运维效率、降低运维成本和风险。其核心思想是利用脚本、工具和平台,将手动运维流程转变为自动化流程。 自动化运维的优势 提升效率:自动化运维可以显著提高数据库运维效率,释放运维...
    99+
    2024-04-02
  • 阿里云服务器自动关闭数据库实现自动化运维
    随着云计算的发展,越来越多的企业开始将其业务部署到云端,以获得更大的灵活性和可扩展性。在云计算环境中,自动关闭数据库是非常重要的一步,可以帮助企业节省资源,提高运维效率。本文将详细说明如何在阿里云服务器上实现自动关闭数据库的功能。 自动关闭...
    99+
    2023-11-15
    阿里 自动关闭 服务器
  • python开发的自动化运维工具ansible详解
    目录ansible 简介ansible 是什么?ansible 特点ansible 架构图ansible 任务执行ansible 任务执行模式ansible 执行流程ansible 命令执行过程ansible 配置详...
    99+
    2022-06-02
    ansible自动化运维工具 python ansible
  • selenium动态数据获取的方法实现
    目录...
    99+
    2024-04-02
  • 数据库自动化运维的崛起:颠覆传统,开创运维新格局
    在当今快速发展的数字时代,数据库的自动化运维已成为颠覆传统运维模式的关键驱动力,开创了运维新格局。通过自动化技术,企业可以显著提高效率、降低成本并加强数据库的可靠性。 自动化工具和技术 数据库自动化运维依赖于一系列工具和技术,包括: 配...
    99+
    2024-04-02
  • echarts动态获取Django数据的实现示例
    目录一、后端二、前端三、页面效果四、总结在开发过程中我们需要将我们的数据通过图标的形式展现出来,接下来我为大家介绍一个有趣的框架:Echarts。这是一个使用JavaScript实现...
    99+
    2024-04-02
  • 数据库自动化运维的机遇:拥抱科技,共赢运维
    机遇与挑战 数据库自动化运维带来了以下机遇: 提高效率:自动化脚本和工具可以自动执行耗时的手动任务,从而释放 IT 人员专注于更具战略性的工作。 降低成本:通过减少对人工运维的依赖,自动化可以显著降低运营费用。 提高性能:自动化可以确保...
    99+
    2024-04-02
  • 使用ajax怎么动态获取数据库中的数据
    使用ajax怎么动态获取数据库中的数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先我这用的框架是SSM,代码就开始了:这是写在前台的方法里一个点击事件进入...
    99+
    2023-06-08
  • 数据库自动化运维的奥秘:解锁高效运维的密码
    自动化数据库管理任务: 自动化运维的主要优势之一是自动化任务,包括: 备份和恢复:自动执行定期备份以确保数据安全,并简化恢复过程。 性能监控:持续监控数据库性能,检测异常情况并触发警报。 软件更新:管理数据库软件更新,包括补丁程序和新版...
    99+
    2024-04-02
  • 数据库自动化运维的蓝图:描绘运维的未来图景
    现状及挑战 当前,数据库运维工作繁杂且耗时,主要包括: 基础设施管理和监控 数据库配置和调优 数据备份、恢复和灾难恢复 安全管理和审计 故障诊断和修复 这些任务大多依赖于手工操作,导致效率低下、错误率高,难以满足快速变化的业务需求。 ...
    99+
    2024-04-02
  • 如何分析Python自动化运维开发中的变量
    本篇文章给大家分享的是有关如何分析Python自动化运维开发中的变量,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。好程序员分享Python自动化运维开发实战四-变量导语:1.什...
    99+
    2023-06-04
  • bootstrap中select2动态从后台Ajax动态获取数据的示例分析
    这篇文章主要介绍了bootstrap中select2动态从后台Ajax动态获取数据的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Bootstrap是什么Bootst...
    99+
    2023-06-08
  • 揭开数据库自动化运维标题生成器的奥秘
    数据库自动化运维标题生成器旨在简化数据库运维任务,并为数据库团队提供以下优势: 提升标题质量: 使用人工智能和自然语言处理,生成器可创建准确且符合数据库活动性质的标题。 它考虑了数据库对象、操作、时间戳和关键信息,确保标题清晰简洁。 ...
    99+
    2024-02-18
    数据库自动化 运维标题 标题生成器 自然语言处理 人工智能
  • 数据库自动化运维兵法:征服繁琐,轻松取胜
    数据库自动化运维已成为现代IT运维的关键,有助于简化任务、提高效率,为企业创造价值。通过采用自动化策略,组织可以征服繁琐的任务,实现轻松取胜。 自动化武器库 1. 脚本和模板: 自动化基本工具,用于执行重复性任务。脚本可用于安装、配置和更...
    99+
    2024-04-02
  • 数据库自动化运维的变革:让运维从繁琐中解放
    自动化运维的变革 数据库自动化运维通过自动化技术,涵盖了数据库运维的各个方面,包括但不限于: 数据库部署和配置:自动执行数据库的安装、配置和更新,节省大量时间和精力。 性能监控和调优:持续监测数据库性能并自动调整参数,确保数据库的最佳运...
    99+
    2024-04-02
  • 数据库自动化运维的艺术:在便捷中探寻运维真谛
    数据库自动化运维是现代化数据库管理的关键,它通过自动化繁琐的任务和流程,提升运维效率、降低成本并增强可靠性。本文将探索数据库自动化运维的艺术,探讨如何利用便捷性释放运维的真正潜力。 监控自动化:实时洞察 监控自动化是数据库自动化运维的基础...
    99+
    2024-04-02
  • Python自动化运维开发中的Python变量指的是什么
    本篇文章给大家分享的是有关Python自动化运维开发中的Python变量指的是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python自动化运维开发实战Python变量....
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作