IBM云计算策略:直入云端,创新服务模式

需积分: 9 4 下载量 66 浏览量 更新于2024-07-31 收藏 1.24MB PDF 举报
“直入云端”——IBM_云计算策略概览 云计算是一种革命性的信息技术模式,它结合了标准化产品、快速部署、灵活定价和便捷访问的特点,彻底改变了用户体验和业务运营方式。这一概念的核心在于通过虚拟化技术将资源视为单一的大规模资源进行管理,能够根据需求以弹性方式提供服务。就像银行的自动取款机(ATM)和零售点一样,云计算依赖于自助服务、规模经济和技术进步来驱动其发展。 云计算提供了三种主要的服务层次: 1. 基础设施即服务(IaaS):提供虚拟化的服务器、存储和网络资源,允许企业按需租用这些基础设施,减少对硬件的投资。 2. 平台即服务(PaaS):提供优化的中间件,如应用服务器和数据库服务器,帮助开发者构建、运行和管理应用程序,无需关注底层基础设施。 3. 应用程序即服务(SaaS):提供各种行业应用,如客户关系管理(CRM)、企业资源规划(ERP)和办公自动化(OA)等,用户可通过互联网订阅并使用这些服务。 IBM的云计算策略着眼于解决日益庞大的IT系统所带来的挑战,如资源利用率低下、安全性问题以及高昂的管理运维成本。随着数据年复合增长率的上升,85%的计算资源在分布式环境中可能被闲置,而33%的用户表示,一旦发生安全问题,他们可能会终止与服务商的合作。此外,传统的数据中心面临着高能耗和人力成本的问题。 在这样的背景下,IBM提出了“智慧地球”的概念,旨在通过物联网和互联网的融合,提升资源利用效率,优化生产力,改善人类与自然的关系。物联网被认为是推动产业升级、迈进信息社会的重要引擎。为了适应这一变革,基础架构需要变得更加动态,通过虚拟化、标准化和自动化实现成本控制,同时增强灵活性。 云计算的引入使得企业能够将更多资金用于新投资,加速部署新的IT能力。它为企业提供了强大的工具,以应对不断变化的市场需求和业务挑战,从而赢得未来竞争的先机。随着新技术的快速发展,如互联网容量和速度的提升,云计算将继续演变,为各行各业带来创新和效率。

@allure.title("验证周期MA批量同步") def test_schedule_ma_multiple(self): ma_count = 2 ma_list = [] vin_list = ["L6T79T2E1NP004452"] ecu_cmd_list = generate_ecu_cmd_list( [{"model": 0, "ecu": "VGM", "service": "22", "interval": 1, "did": "F1AE"}, {"model": 1, "ecu": "VGM", "service": "1902", "interval": 1, "input_parameter": "FF"}]) for i in range(ma_count): ma_list.append(create_schedule_or_event_ma("schedule", "2.0多任务周期同步" + str(randint(0, 100)), vin_list, ecu_cmd_list)) # 验证创建结果 assert len(ma_list) == ma_count # 车端请求云端:同步请求 res1 = vehicle_req_synchronization({"rvdc.eventId": rvdc_get_datetime(0, "TIMESTAMP"), "rvdc.requestId": 0, "rvdc.appId": 1, "rvdc.vin": self.vin, "rvdc.dataType": "maSynchronizationReq", "rvdc.payload.storageQuota": 25, "rvdc.payload.maFormatVersion": 0 }) assert res1.get("code") == 100000 # 车端请求云端:移除异常ma任务 res1 = vehicle_req_remove({"rvdc.eventId": rvdc_get_datetime(0, "TIMESTAMP"), "rvdc.requestId": 0, "rvdc.appId": 1, "rvdc.vin": self.vin, "rvdc.dataType": "rvdcRemoveMasResp", "rvdc.payload.masremoved": "true", }) assert res1.get("code") == 100000 # 因为是异步推送,验证推送结果 res = query_vehicle_cloud_log(**{"vin": self.vin, "type": "maSynchronization", "createTimeStart": "", "createTimeEnd": "", "maId": ma_list[0]}) res_log = res.get("data")["records"][0]["content"] res_content_json = json.loads(res_log) res2 = res_content_json["request"]["jsonObject"]["rvdc"]["payload"]["newMas"] assert ma_list[0] in res2 assert ma_list[1] in res2优化一下这段代码

2023-06-09 上传

帮我修改代码,实现用wss发送serialized_data到wss://autopilot-test.t3go.cn:443/api/v1/vehicle/push/message/LFB1FV696M2L43840。 main.cpp: #include "ros/ros.h" #include "std_msgs/String.h" #include <boost/thread/locks.hpp> #include <boost/thread/shared_mutex.hpp> #include "third_party/apollo/proto/perception/perception_obstacle.pb.h" #include "t3_perception.pb.h" apollo::perception::PerceptionObstacles perception_obstacles_; void perceptionCallback(const std_msgs::String& msg) { ROS_WARN("t3 perceptionCallback parse"); if (perception_obstacles_.ParseFromString(msg.data)) { double timestamp = perception_obstacles_.header().timestamp_sec(); ROS_INFO("t3 perceptionCallback timestamp %f count:%d", timestamp, perception_obstacles_.perception_obstacle().size()); std::string data; perception_obstacles_.SerializeToString(&data); VehData veh_data; veh_data.set_messagetype(5); veh_data.set_messagedes("PerceptionObstacles"); veh_data.set_contents(data); std::string serialized_data; veh_data.SerializeToString(&serialized_data); } else { ROS_ERROR("t3 perceptionCallback parse fail!"); } } int main(int argc, char **argv) { ros::init(argc, argv, "listener"); ros::NodeHandle n; ros::Subscriber sub = n.subscribe("/perception_node/perception_objects", 1000, perceptionCallback); ros::spin(); return 0; } t3_perception.proto: syntax = "proto3"; option java_package = "com.t3.ts.dt.ad.web.protobuf"; option java_outer_classname = "VehDTO"; option java_multiple_files = false; message VehData { /** messageType: 1:客户端心跳 2:云端心跳响应 3:连接成功 4:连接失败 5:客户端发送消息 6:云端发送消息 7:消息处理成功 8:消息处理失败 9:此客户端未注册 10:未知消息类型 */ int32 messageType = 1; string messageDes = 2; bytes contents = 3; // 发送内容 }

2023-06-09 上传