event_storage.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import time
  2. import json
  3. import re
  4. from memory_storage import MemoryStorage
  5. from hard_disk_storage import HardDiskStorage
  6. class EventStorage:
  7. def __init__(self):
  8. self.config = {
  9. "hardDiskdataBase": {
  10. "ip": "127.0.0.1",
  11. "username": "root",
  12. # "password": "R.!a@O&t9CjweWLSTr",
  13. "password": "zzZZ4144670..",
  14. "dataBaseName": "centralized_control_guangfu_cloud"
  15. },
  16. "memoryDatabase": {
  17. "ip": "127.0.0.1",
  18. "port": 6379
  19. }
  20. }
  21. self.memoryStorage = MemoryStorage(self.config['memoryDatabase'])
  22. self.hardDiskStorage = HardDiskStorage(self.config['hardDiskdataBase'])
  23. def get_real_data(self, keys):
  24. data = self.memoryStorage.get_value(keys)
  25. return data
  26. def get_historical_data(self, select_info):
  27. data = self.hardDiskStorage.get_table_data(select_info)
  28. return data
  29. def real_time_data_storage(self, data):
  30. self.memoryStorage.set_value(data)
  31. def historical_data_storage(self, table_name, seve_time, data):
  32. self.hardDiskStorage.insert_column_many(table_name, seve_time, data)
  33. def get_connector_config(self):
  34. config = self.hardDiskStorage.get_connectors()
  35. for station_info in config:
  36. station_info['connector_config'] = json.loads(station_info['connector_config'])
  37. return config
  38. def get_station_info(self, station_name):
  39. return self.hardDiskStorage.get_station_info(station_name)
  40. def get_point_info(self, keys):
  41. point_list = []
  42. if keys:
  43. for key in keys:
  44. point_list.append(re.sub("\D", "", key))
  45. point_tuple = tuple(point_list)
  46. else:
  47. point_tuple = None
  48. return self.hardDiskStorage.get_point_info(point_tuple)
  49. # 获取modbus命令
  50. def get_command_info(self, station_name):
  51. return self.hardDiskStorage.get_command_info(station_name)
  52. # 历史查询接口(new)
  53. def get_total_count_and_first_id(self, select_info):
  54. data = self.hardDiskStorage.get_total_count_and_first_id(select_info)
  55. return data
  56. def get_item_by_id_offset(self, select_info):
  57. data = self.hardDiskStorage.get_item_by_id_offset(select_info)
  58. return data
  59. # 数据导出接口
  60. def quary_table_data(self, select_info):
  61. data = self.hardDiskStorage.quary_table_data(select_info)
  62. return data
  63. # 获取insitu指令
  64. def get_in_situ_command(self):
  65. data = self.hardDiskStorage.get_in_situ_command()
  66. return data
  67. # 执行自定义sql
  68. def execute_sql(self, sql):
  69. data = self.hardDiskStorage.execute_sql(sql)
  70. return data
  71. class Networkerror(RuntimeError):
  72. def __init__(self, arg):
  73. self.args = arg