IoT架构图.drawio
32.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<mxfile host="65bd71144e">
<diagram id="u5RV28YGxslQ54ZlnaUB" name="第 1 页">
<mxGraphModel dx="797" dy="394" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="显示层" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ccffe6;fontColor=#0D0C0C;strokeColor=#2D7600;" parent="1" vertex="1">
<mxGeometry x="60" y="50" width="100" height="70" as="geometry"/>
</mxCell>
<mxCell id="5" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;imageAspect=0;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAA6gAAACBCAYAAADNCpdLAAAgAElEQVR4Ae2d91dV196vz//x3nvPO95f7xhvzrFgjBUQRIMNUUFs2HuPGiOiYu8VsTfsHRURFbEioGKLHSOW5KSdk6g5iUb93DFX3u2VtrOBtTdr7/04xhxI2Wuv9f0+szx7zjXXX8Q/IkAEiAARIAJEgAgQASJABIgAESACDojAXxxwDpwCESACRIAIEAEiQASIABEgAkSACBABIahAQASIABEgAkSACBABIkAEiAARIAKOiACC6og0cBJEgAgQASJABIgAESACRIAIEAEigKDCABEgAkSACBABIkAEiAARIAJEgAg4IgIVCuoPP/ygkydPKi0tTbNmzdKUKVMoxAAGYAAGYAAGYAAGYAAGYAAGYMBjBqZPn65ly5YpIyNDT58+1bt37/5UgssJanFxsRYsWKC4uDiFhoYqJCREderUoRADGIABGIABGIABGIABGIABGIABjxmoV6+emjZtqg4dOmjy5Mm6du2a3r5961ZSSwmqmTldu3atWraKUufe3ZScNk/zd67Wor3rKcQABmAABmAABmAABmAABmAABmDAYwbm71qraesWq+fw/moRFWmtzi0pKfFcUIuKitS3b1+179pJacd26vTPd1Xw5oku6WsKMYABGIABGIABGIABGIABGIABGPCYgYK3T3XuZbG2XzmurgMT1aZtG+Xk5HguqMePH1dERIT6jh2qU/+87fEbI7AIPAzAAAzAAAzAAAzAAAzAAAzAQEUM5P/+WGPmTNYnjRtpx44dev36daWSWmqJr7l51dxzOnjSGGZO+WSEDyhgAAZgAAZgAAZgAAZgAAZgwBYGJi2frUZNm2jNmjV68eKFZ4J64MAB64bXIZM/s+UkKrJnfsanKjAAAzAAAzAAAzAAAzAAAzAQXAxMXjlPjZs31cqVK/XTTz8hqFSA4KoA5Jt8wwAMwAAMwAAMwAAMwIBzGEBQmYpnFhwGYAAGYAAGYAAGYAAGYAAGHMEAggqIjgCRT62c86kVuSAXMAADMAADMAADMAADtcUAgoqgIqgwAAMwAAMwAAMwAAMwAAMw4AgGEFRAdASItfUJDe/Lp4MwAAMwAAMwAAMwAAMw4BwGEFQEFUGFARiAARiAARiAARiAARiAAUcwgKACoiNA5FMr53xqRS7IBQzAAAzAAAzAAAzAQG0xgKAiqAhqoDDw7pmyv7mulcf2aNr6VE1OW+LIMmXNMi05uFXZ/7gOe4HCHtfhKJZz/nVXCzN3a0zqEo1Z4f0ybvVypV/LdVQMamtQxfsyoIcBGICBmjOAoDKwYlARIAwc//ampm9cqdax8arfMEx/r9vEkaVuSDO1iO6gsfNn6uyLB/AXIPzRIde8Q7YjhoXvnim9KFeNOiaoXkSMYhKHKbbPCK+Ujn1GKCymp/6zXpjix0+gLlOXYQAGYAAGbGEAQQUkW0CyY2DFMWo2wF1/5rDadu3uSCmtSJYbhbbSxguZ8EcbBAM2MpD/5qlST2Xo72HtNXnuMh3IylFG9mmvlIPZuVq3fZ9CWnbS36NiyKONeaQ/rFl/SPyIHwz4NwMIKh0Kg4oAYWDerg1q0KiFrYJap15ThXwcroaNo2w9rhHWkE/ClZS6CP4ChD8GA84YDOT//kQrcjIUGtND2afzdKe4xKvlxp1ixQ8Yo48i2lOXqcswAAMwAAO2MICgApItIAX64LTg7VMduJenFZm7NCt9jVI2pCplvb1lxqZVWrQ/XTuKcnTm+f0q52XmltW2S6QR1AYNW6hRs9a2HzukYZhGz55e5esMdNa4PmeInr/mwSWoLWITdSb/im4/eKSiL+8qN++yreVs/lXr2DfuFqvPqC8QVMYStOUwAAMwYBsDCCow2QaTvw7o/uy8jSyuzN6r/p9PUETbjjJiZcStomWrNflZ3ZDmahYRrYTBQzQrfbUySy7L3E/2Z+fn+r03BNVcj7nWuvWb2X69fwhqisfX57pOviJwMFA5A2UFtejLe0rfm6lRyQtsLRNmLNXFKzeFoFaeCzglNjAAAzBQPQYQVAQVQXDDQP6bJ1q0f4uiu3RVvQbNbZe0yoQ2NKqdJqUu0rGvr3mcH28JamXnWNOfI6jVa7Tp7IibOwbKCmrhtVual7pZEZ0H2lradB+hUxcuIahu+g93eeJ31GMYgAEYqJwBBJXOxWMBCsaKtPvmGcX06KV6Ib6TU5f4RbaN1cJ9W3T+3195lCOXoLaP6aqp02Zr3vyljiwzZy1QbKce1kz06NnMoAZjveKaK++UaxqbsoJ6484DZeac1+I1220rS9Zu14qNu6ylw8ygei+XNWWB15MbGIABf2UAQUVQPZIffwW8puc9YfFcNWru2QZBTZpFqVNcLzUNba1PGkcoNDxaYS3alCsNG7XweInwgC8m6NDDAo9y5BLU8ROS9fTp13rz5o0jy88/P1fy1FkIKm2PR1zXtA4H2+vLCqrXN0niHlQ4pi2DARiAAZsZQFBtDmiwDYYC/Xq7Dhzk8dLe1tGdNGX6XLXtEK/otp3VM3Gg+vQdUq60bBXj8T2dsYl9tCkvy6OGzyWoEz6fom+++VZO/ffy5UtNmTYbQaXt8YjrQG9j7L6+i68fa8XJg4rs3Esbd+7T/qMnvFr2HD6mhCFjFBIdSz6p0zAAAzAAA7YwgKACki0g2T3Icsrx2iX08Pi+02ahrdWt5wCFhrdRRMv2iu3UXZ3jepYrYeHRHgtqm7huWpub4VGOEFSW8jil3nAetcdi3qv/L6jLN6Rr8+4DXi0bduxV/MBRati2k0ftFGzUHhvEntjDAAz4CwMIKoLKoMINA227dvdYUF33jtr5NbpLgtacOuhRjhBUOh5/6Xg4T++xyhJf78UWboktDMAADPiGAQTVjZwAoW8gdHKcXYLatHlrhUe0VXhEO58UMxsb8nGYEFQYdHL94Nycx2dZQb11/yvrcTB7j+Ro7+GT9pQjJ7X/6CmZR9iwSZLzGKBekhMYgAF/ZwBBRVA9mp3zd9Cre/4uQTX3TK5dv0UbNm71SZkxc77atotDUKmf1E8YqBIDZQX12q372rL7iOIGTFBcf/tK9yGTdDTnPIIKn1Xis7p9Ma9DuGAguBhAUOlc6FzcMOAS1At5Bfr99999tu9QUdF1DRg4EkF1kxs6q+DqrMi3Z/kuK6iXrt/WgrQtConqZmtp3DZR2/YdRVBpoxhDwAAMwIDtDCCoQGU7VIE0kERQ7XdydvH1TDQCqR5xLb7LeXlBvaOFaem2yqmRXUtQ92chqIwhGEPAAAzAgO0MIKhAZTtUgTQYRVAR1EDimWvxnSjWVqzLCurVW/eVvu+oeo1IVq8Rk20r/cak6OipCwgqYwjGEDAAAzBgOwMIKlDZDlVtDcy88b4IKoLqDa44ZuCLYm3luKyg3n5Qois37+lYbp6yci/YVPKUffqibt57iKAyhmAMAQMwAAO2M4CgApXtUNXWwMwb74ugIqje4IpjIqjeYqCsoN4pLpE3C7v4wrK3WOa4sAUDwcsAgoqgIqhuGEBQEVQ6yODpIPc/KNSGiye0Li/bb8uac1katypVzdp3V+qmndq2/2iFZc+REyq4+mWN5RVBDZ76QVtIrmEABnzFAILqRk58lQTex7kVHkFFUKmfzq2fdudm9NIlihkwWt1HTVLi2GS/Ld2GT1SnfqPVa+Qk9R41uVzpPvRzxQ38TDsOHkNQGQPwITUMwAAMOI4BBBUoHQel3YPOmhwPQUVQa8IPr/Uvue2dnKLxKYu05/BxHc05F7Alfc9hJY5M0pr0fQgqYwDGADAAAzDgOAYQVKB0HJROGtQjqAiqk3jkXLwrvEZQdxw4ql/+/W/7wXfQEZ99862S56UiqPT/9P8wAAMw4EgGEFTAdCSYThmII6j2j6p5Dqp3JcspdccfzwNBrfqGStyDSn32x7rOOcMtDDibAQQVQUVQ3TCAoCKodGLO7sTszA+CiqDayRPHCp62g1yTaxiwlwEE1Y2cAJu9sPljPBFUBNUfueWcq9d2IagIKnWnenWHuBE3GIABOxlAUBFUZlDdMICgIqh2Nrgcy9kdOIKKoFJHnV1HyQ/5gYHgYABBdSMnVILgqATu8oygIqju+OB3gdVGIKgIKnU6sOo0+SSfMOCfDCCoCCozqG4YQFARVDo3/+zcqpM3BBVBrQ43vCZ42ghyTa5hwDcMIKhu5AQIfQOhk+OMoCKoTuaTc7O3jUJQEVTqlL11ingSTxiAgeowgKAiqMygumEAQUVQq9Ow8hr/7JARVASVuuufdZe8kTcYCCwGEFQ3cgLsgQV7dfKJoCKo1eGG1/hn24GgIqjUXf+su+SNvMFAYDGAoCKozKC6YQBBRVDp9AKr03OXTwQVQXXHB78LnraAXJNrGKhdBhBUN3ICnLULpxPij6AiqE7gkHPwTVuEoCKo1DXf1DXiTJxhAAbcMYCgIqjMoLphAEFFUN01oPwusDpYBBVBpU4HVp0mn+QTBvyTAQTVjZwAtX9CbWfeEFQE1U6eOJaz2xQEFUGljjq7jpIf8gMDwcEAgoqgMoPqhgEEFUGlMwyOztDkOZgF9faDEl25/Ujnrn6lq3ce6U6xZ7J6426x+oz6Qh9FtKcvcdOX0I4ETztCrsk1DNScAQSVDoVBhRsGEFQElY6m5h2Nv8QwmAXVyOnyjPsalHpbazMfyAirJ5KKoAZP/fCXesx5wiQM+D8DCKobOQFw/we8pjlEUBHUmjLE6/2nHQlmQc259JU+Hndd/3fENUUm39R1D2dREVT/4Zu2iFzBAAz4CwMIKoLKDKobBhBUBNVfGnPOs+YDj2AW1FOXH6rpxBv6aNQ1tZlxU0W3PVvmi6DWnDvqLjGEARiAgdIMIKhu5ARYSsMSjPFAUBHUYOQ+WK85mAXVLPFdtP+eeiy+pbTD9z1a3muWACOo9JPB2l5w3bAPA95jAEFFUJlBdcMAgoqg0gF5rwNyWmyDWVA9ud+0or9BUIOnfjitvnI+sAcDgcsAgupGTgA/cMH3NLcIKoLqKSv8nf+3FwiqZxsjfSiqCKr/c0/bRQ5hAAacxgCCiqAyg+qGAQQVQXVao835eG8ggaAiqNQv79UvYktsYQAGPGUAQXUjJ54Gkb8L3AqHoCKo1O/Ard9lc4ugIqhlmeD74Kn/5Jpcw4BzGEBQEVRmUN0wgKAiqHRYzumwvJ0LBBVB9TZjHD942hNyTa5hoPoMIKhu5ASwqg9WoMQOQUVQA4VlruPP2zMEFUGlnvx5PSFGxAgGYMDbDCCoCCozqG4YQFARVG83whzfOR09goqgUh+dUx/JBbmAgeBlAEF1IydUjOCtGK7cI6gIqosFvgZ+e4CgIqjU88Cv5+SYHMOA8xlAUBFUZlDdMICgIqh0ZM7vyOzKEYKKoNrFEscJnnaDXJNrGLCfAQTVjZwAnP3A+VtMEVQE1d+Y5Xyr324hqAgq9af69YfYETsYgAG7GEBQEVRmUN0wgKAiqHY1thzH+R13UAnq3BVK3bhL127fr1G5fOO2eo+cqL9FtqcvcdOXUP+dX//JETmCAecwgKDSoTCocMMAgoqg0mE5p8Pydi6CSVAnTF+kkUmztGLDlhqVZes2qUv/YWrcPo6+xE1f4m12OX7wtFPkmlwHAwMIKh0Kgwo3DCCoCGowdARc4x8DnmAS1KQ5y7UgbbPOFhTVqJy6UKiew8erbqsY+hI3fQl1DKmAARiAAc8ZQFDpUBhUuGEAQUVQ6VA871D8PVbBJKjJ81K1Jn2f7hRX/b7TD19z426x+oz6Qh9FsMTX3/nn/IOnrSPX5NrpDCCobuTE6cnj/LzfwCCoCCr1zPv1zCkxRlCrLqsIavDUD6fUU84D5mAg8BlAUBFUZlDdMICgIqh0hIHfEbpyjKAiqC4W+Bo89Z5ck2sYcB4DCKobOQFY5wHr65z4p6Am69mzb/T27VtHlufPn2vK1FkKaRim0bNT+ICENsgxDCCoCKqv+xjej3EGDMAADJRnAEFlcOiYwaETK6hLUM+dv6hXr177TPiuXLmq/gNHKLpLgtacOuhRjmZuWa2/122i/gOGK+vYCeUXXHJkyT1zTkOHjUVQaXs84tqX7YIR1O37M/Xi5S8+q+u18UHSk6//oclzV3APKnXQcXXQl/Wd9yovBcSEmDiFAQSVDooOyg0DLkHduHGr8i4WqKDwcpVK4aUrKig0pWqv27Z9j+IT+lRLUI2k2lnq1GsqU+w8pjkWM6h0hE7pCF3nYQTViFvO2XwVXr0ZmKXopg5l5ypxRBKC6qbtdzHBV9opGIABGPA9AwgqHRSC6oYBl6BWVc6M0DVsFKHIqA5q0qyV6tZvVi3Bq84MalXPtbK/N9fwcaMIRbTuoshP4/RJk1bVuobKjo+g+r7Bp5N1H/NBs+fq4+huqt8q3qulXlSc6kR2Vp0WncqVupFdavze1vEjOqt+VLxCKilR8QO1efchdvF10/5TX9zXF+JDfGAABrzFAIJK54SgumGgXUKPaklZz14DlJWVrfv37+vy5SsaNz5JjZpEVvlYbeK6aW1uhkc5ci3xrUwIq/rz+h+HKbxlrKJjelklMjpe9RqEVvkaKntfBJWOzVsdW3WPm/eqRKefP1DuT/e9WtJOH1HLxAH63x81K1d6TErSyR/vVvv9T/54RwsO71J4TC8dzTmvwmu3KiyXb9zRrQePEFQ37X91OeJ1tG0wAAMwUDMGEFQ6J4/kJ1grWsKQIarXoHmVpKxx05batXufHjx4oOLiYqucOnVa3Xv2r9JxjNjF9u6rzRezPMqR3YIa0jBcEZ92eS+oLaO7qkHDiCpfg3tBne7RtQUrf1x3zTo4p8Zv06WTatV3kP7jv5uUK72nTlH+70+qXS/Ma1fkZKhFbKLO5F+psYB++MzTiv7PY2YCk1Gn1h3OC95gIDgYQFAR1GoPhIKhkUhauViNw6q2tLVNuzgdOZL1Xk6NpF6/fkMDBo2sstwNSZ6kzMdXPMrRwn1b1Kh5VJXfozKBrBvSXE3D21mC+mmHnmoR1Ul161VvqXJF79GgUQulbFjp0bUFA2tcY3B0uibPCGrw5Jp6Ta5hAAZgoOoMIKgIKoLghoGcH24pNrG36oZ4LmYNG7XQ1q07de/evfeSapb7xif0rpI8RsV01srsPSp898yjHG2/fFLxAwZW6T0qEscPf1a3fnM1bBKlT8x9tCFVm0n+8DgV/b9J+KfKKC7w6Npo3KveuBMz58YMQXVubqg35AYGYAAGap8BBNWNnABo7QPqhBykFx7Xp527qk59z3eyjYlN0Lbtu3Tz5pc6efKUBgwcoQYNwz2Wx8ZhrTVj8yqdfVnsscDl//5Y604fUseevVWnmpsyVSSSdv/MxDGibUetzjmgS+9gzAmMcw6+5RBB9W284Zt4wwAMwIB/MYCgIqgeC1CwVm4zg3ns62saOWOqGod6ttzX7IBbL6S5Qj4OU/0GoR4/pqX+x6HqOmiwNp7P1MVXJVXOTeHbZ9b9axdfP5aTi5Fpc67ByhTX7V8dpSf52nuvQCMWLlK7gaP+tLROHKJP2nbTR6EdSpW/hceoacdef/p68x6xwz/T1PQN5eoQ96AGHlue8MffkHcYgIFAYgBBRVDLDXACCXC7rsVIqhn4mV0+83575MVSYokl8kZHYxe7HMc3LG29ekbxYybKPCbGk1InorMqK568vkF0goYtWFiu/UZQfZNv6hVxhgEYgAHvMYCgIqjlBjhUOO9VOGJLbGEgMBkoePtUF359pHMvi31TfnlofWBWlicENTD5KptnvifPMAADgcwAgoqgIqgwAAMwAAMBwoBLUBtHd9XOjGNef8zM9TsPFNaxlz6KaA9DAcJQIA96uTakDgb8gwEElQ6FQQUMwAAMwECAMOAS1L/Waa6PW3dW/7GTNfTzFK+UwROmKjphgP769+YIaoDww+DdPwbv5Ik8BToDCCqdCgNTGIABGICBAGHAJaj/8d9N9L8+aqq/1gnVf3qx/J+/NbPehxlUBsyBPmDm+mAcBnzHAIIaIIMSKo3vKg2xJtYwAANOZcBssLb2Qpb+K6SFjKT6ohgRDu/ehw85GE/AAAzAAAzYwgCCCki2gOTUwRrnhUjAAAwEGwMnf7yt6bs2KX78BMWNG+/10mPyZG0pyqUvYTwBAzAAAzBgCwMIKiDZAlKwDQC9db3mcTbeOnZVj/vHM1Ufy0nnVNVr4O+R02BkwNTZC7+V6MyLYp+Usy+Llf/miWParmDMOddMWwcDMBBIDCCoCCqDilpiwDyW4szP93TkUaFO/3THEsEFu9dqycHNOvviged5efe1thZkaV3u/vIy+e5r5b9+oouvHnt+vP+Jx5GSSzINRFr2ziq/NpAaSa6FTh8GYAAGYAAGYAAGfMcAglpLcgLkvoPcabHecDZDvUcPVss2rdU+vpN6Dusv87Ntl4+r26A+Co+KUNvOMWoX19EqSw9u1oVfHypl/RK1jmlXqsxOX6nCt081a8sKTVw6s5ygZj65rOS0+Zq6eqHOvrhviebqE7sV8WnU++NEtYvWiJTPS0moEec529LUNLy52nbpqLg+PcqVkdMnymzI4rT4cj7BW7fIPbmHARiAARiAAf9nAEFFUBEMHzNw/pdinfz+pgYnjbUkMOfHWzp4/4I+mzdFs9NTdfTJZZ347oY2nD2o4dMmKPXodks8jWCe+PZGqWJmWgvePNX0DUs0YWFKuVwagdx47pB6jxqsaesWKe/VIxnh7T9+xPvjLNyzXn3HDn3/2gu/fqVVx3epbZcYdR2QqOWHt+rk919a5fg/rmvd6f3q0reHklbMef8aOgP/7wzIITmEARiAARiAARhwAgMIqo/lxAlJ5xyc0fiMmjlJyzK26MJvXyl51XxrBtRI6tKMzTpw77zGzp2i5FULLDGsKGen/nlbU1YvUFT7aDUNa67GzZta/2/ZtrXGL0p5v0zYCGfm40uW+B59ckVJqXOtpbuuY646vluJowbL/N35fz9UWvYu9Rk7VGnHdmrZ4XT1GNpPa3L26tzLYktcu/bvpS+WztTpn+8iqLQfMAADMAADMAADMAADtjKAoAKUrUC5pIevlUvwisyt6jl8gJqFhyqyTSt1SOiseTtWycykbr9yXEOTx1nLaicsmm7dn2o2K6oonmbm9PRPd62/+XzJDI2eNUnHnhUpZd1ijZk9WemFWRo2Zbw6dOusqWsX6UhJocwxB0wcZQmw65g7r55Ut8F91KZLjDXTOn/XGq06sVt5vz3S6Z/vWZLasUe8Yrp1scqifRt05vm9Cs/JdUy+Vp5/YkNsYAAGYAAGYAAGYKByBhBUBBXR8DEDZlnuzmsnlTCwt6ZvWGpJ5dmXD2RmN79YNkuxPbtqyuqFynpWpIL/2Rlz7o5VahcfqzadY/Rpx3Zq06mD9b25L/XEdzc1bd3i97OiC3av09g5yZa8mqXEMzYts+TVzLjuKDqhg/fzSt07evFViXUM837Hv72hs8/vW0uQt1/J1rS1ixTfr6f1nn3GDNWnse3UvmsnjV+YosUHNmlLfqYySy7BkI8ZolOrvFMjNsQGBmAABmAABvybAQSVgSVyUQsMmPs4jeiNmZ2kQw/zNXvrSsX166nYXl2t+z7NDKbZ/MjVwJqZUnNv6oyNS60NjTaey7C+z/3XHet+VSO0MzYus/5+/s41lqDmv/5j597FBzZq1MwvZHYNNhskmQ2YYnvGW+Jp5LNzYoI6dO0sMwt7+KsC6/gdu8dZ96WaJcTmXtijT6/o5A9fWjK6Ke+ItSnTyBlfaNiUcdp4/tD783SdL1/9u2Mgf+QPBmAABmAABmCgthhAUGtBTmor2byvMxoaI4pJqXOsJb5mtnTAhBHWvaTmXtCBE0f9sYtvl47qZMQxoYu1eZKRWLNx0sSlszRz83Jtzjui9IKj1uZJZoMls2GRuXfV5Hju9jSNmZMs19Jgl6Ca35njjFswTRMWT7dmbI30LsnYbImxWWZsNnA6VJyvhXvXKzQy3JLYnsP7q/vQfurQrYv6jBmiXiMGqFOvBOt3x74u0vlfHiKotCMwAAMwAAMwAAMwAAO2MICgApItICG/nsvvni9Pa9Ly2day2VlbUrXhzEFrFtI8Jmbs3GRtuZhp3S+698vTGpky0Vq6a2ZKzW665t5Ss0x3/ZkD1g7AZlmwef6pkU5z/6rZtXdWeqrGzZ/6Pq8fCurF14+tTZCGThln3YdqZkYnLEqx7nvN+eGWJbxGoI0A9xoxUFlPi6xidvU196m6vjfvb8T14uuS9+8DA54zQKyI1YcM5P7rtrU6wizfN8U8fqrfuGHWM4jNveCuvy1898za8Mwsve82pI/axcWqY484a8l99jfX3v+d6+/5CmcwAAMwAAP+yACCiqAyqPExA2YToqWHtqjfuOFamrHFugf188UzLKk0krrs0BZr4yMzU/rZ/CnaczNXmy4csnbTNc8rXZe7T7PSV2jkjInWrKlZhms2PzLPLjU78bqeiepqkIygDpo0RmYzpK2FWdZ9pubeVbNTrxHiQV+M1v6750o9Q3XThcPWs1IHfj5KpiQM6q3wqEjr/+b77kP6qUuf7giqj9lx5ZSvgTXgMI9xGr9wmtUm7Lt9Vruu5VjPPTbPS15+ON1qo80HR9suZVt/Y5bXm6X35m/NZmjmlgHzCCi4CCwuyCf5hAEYCFYGEFQGmAxqfMzAsa+v6tSPtzRy+kTrMTMXXz3S/jvnLCk1GxiZx8t0TuxmSefum7kymxhtu5yt0bOTrHtJp29cJiO5RkTNPaxDkj+zZkXzXpVYGyuZ5cNT1yy08mqEdebmFQqNCLdmSc0s67mXDyyxjY5tbz3r1IiwebzMh42gmcU1S3mPPr5sFfPImW6D+rz/3sza9hzGDOqHMeP/DCSqy4BLUE2bYOq72aHbLMcfPSvJKmbmNONBnrXZmVlFYdoQ80xj8/P83w2dL3oAAAZGSURBVB/rwq8PS218Vt3z4HUwDAMwAAMw4AQGEFQfy4kTks451G7jY2ZCzMDy/XNQf/3KmiWdt2O1NZvZf8IILTm4WceeXZVZkmvyZQTy5Hc3dfzb6zJLcXN/uquN5zOsvzc7AR+4d8F6vqmRzsSRg95vXGSWBpt7UoenfK41OXs0b+cf72FmZuZsXanF+zdaMzK9Rw2yhNfM3Fz47ZE2nT+sFq1bvp8xNTOoYR/OoA7tywwqbUepDzVoV6rfrpQVVBNLI6Fmt+xRMyZZ7YXZ4KzHsH7WLQCX3lX86ClyUP0cEDtiBwMwAAPOYQBBZZDJILOWGFhycJO2X862HulilvWaWVGzBNdsXHTul+JSS24rajTNY2P23Tmn7H9cl2v21Nzfap536poRNY+psf7u9lnN2bbS2nV3yYGNMhsrmSXBZjbVzNqaZYTmPtY529IsKd5akGVtiGR29TXlUPFF655V1/drT+1T7zFD5NopuKLz42fOaejJhbNz8aGg5v1WYj0iytTTPmOHWLcBmPZgdnqqzAdL5nnJ5NPZ+SQ/5AcGYAAGasYAglpLcgK4NQM3EOJnBNGIpJG83H/elpntrMqmQ+YxNPlvnrzfrdfExMzMVhQbMxNrnoma9fSKzr64X+rvzHHMANjcw2YGyuYY5vtjz4oqPJY5vlk6bDZYquz9KjoHfgbzMFAxAy5BbRoWqg4Jna3VCYMnjdGKzG06/fM9nf75rqatW2Q9+snUTeJYcRyJC3GBARiAgcBgAEFFUBnswAAMwAAM1CIDLkE1j3Eym5mZzY8yH1/S2RcPrLyYZfdmeX73IX2V+fgyuarFXDH4DYzBL3kkjzDgbAYQVDo6BjswAAMwAAO1yIBLUF2bJJUdOJmVCmbXXiOo5hnFZX/P984eaJEf8gMDMAADVWMAQa3FQQmwVg1W4kW8YAAGApGBPxNUc81mib7ZnTuuXw8t2r/BWo5vbgkwS/PNbt9m87RAjA3XRJ2HARiAgeBjAEFFUBnUwAAMwAAM1CIDngiqefRM1tMiazO1/uNHqOuARMX17aEeQ/vLdOQ8BzX4BnAM2sk5DMBAoDKAoNbioCRQoeK6aDBhAAZgwHMGzCZmZtOxzJJLbjceM4+oMhsmmWei7ryWox1FJ7T7xinrvtSqbLBGbjzPDbEiVjAAAzDgewYQVASVmRMYgAEYgAEYgAEYgAEYgAEYcAQDCCogOgJEPp3y/adTxJyYwwAMwAAMwAAMwAAMOI0BBBVBRVBhAAZgAAZgAAZgAAZgAAZgwBEMIKiA6AgQnfbJDefDp4kwAAMwAAMwAAMwAAMw4HsGqiWoBw8eVL169TQ4aawK3z5FcJBcGIABGIABGIABGIABGIABGICBGjOQtGKOGjVrolWrVun58+eq7N9fPvxFdna2wsLC1H/8cJ19cb/GJ8EnE77/ZIKYE3MYgAEYgAEYgAEYgAEYgAGnMTBu/lR9/ElDbdu2Ta9fv/5QQ0v9v5Sg5ufnKyEhQbE945VecBRB5ZMSGIABGIABGIABGIABGIABGICBGjFw+FGBEkcOUmTLSGVlZZUS0rLflBLU7777TsuWLVOzsOaK79/Lekj4gt1rteTgJgoxgAEYgAEYgAEYgAEYgAEYgAEY8JiBhXvXK2X9EvUePVhNw5orKSlJDx8+LOukpb4vJahv3rzRnTt3lJKSoojISDVrEarI6FaKavcphRjAAAzAAAzAAAzAAAzAAAzAAAx4zEBkm9YKbdlCzUKba/To0SosLNSrV69KCWnZb0oJqvmlWQ9cUlJiTb2mpaVpxowZmjx5MoUYwAAMwAAMwAAMwAAMwAAMwAAMeMyAmfhcvny5Dhw4YE2E/vrrr2V9tNz35QTV9RfGbH/88Uc9ffpUjx49ohADGIABGIABGIABGIABGIABGIABjxl48uSJvv/+exkxfffunUs13X6tVFDdvopfEgEiQASIABEgAkSACBABIkAEiAARsDkCCKrNAeVwRIAIEAEiQASIABEgAkSACBABIlC9CCCo1YsbryICRIAIEAEiQASIABEgAkSACBABmyOAoNocUA5HBIgAESACRIAIEAEiQASIABEgAtWLAIJavbjxKiJABIgAESACRIAIEAEiQASIABGwOQL/D2/qpnp6LNtGAAAAAElFTkSuQmCC;" parent="1" vertex="1">
<mxGeometry x="200" y="50" width="610" height="72" as="geometry"/>
</mxCell>
<mxCell id="7" value="前端UI" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#99ff99;" parent="1" vertex="1">
<mxGeometry x="60" y="179" width="100" height="63" as="geometry"/>
</mxCell>
<mxCell id="8" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ccff99;labelPosition=left;verticalLabelPosition=top;align=right;verticalAlign=bottom;" parent="1" vertex="1">
<mxGeometry x="200" y="179" width="350" height="63" as="geometry"/>
</mxCell>
<mxCell id="11" value="WEB" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="190" y="175" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="12" value="LayUI" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="242" y="192" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="13" value="Jquery" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="326" y="192" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="14" value="vue" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="407" y="192" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="15" value="百度地图" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="483" y="192" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="16" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ccff99;labelPosition=left;verticalLabelPosition=top;align=right;verticalAlign=bottom;" parent="1" vertex="1">
<mxGeometry x="570" y="177" width="240" height="65" as="geometry"/>
</mxCell>
<mxCell id="17" value="APP" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="560" y="172" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="18" value="Android/IOS" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="604" y="194.5" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="19" value="小程序" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="709" y="195.5" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="20" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=#0D0C0C;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="340" y="126" as="sourcePoint"/>
<mxPoint x="340" y="175" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="24" value="交换层" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#99ff99;" parent="1" vertex="1">
<mxGeometry x="60" y="310" width="100" height="63" as="geometry"/>
</mxCell>
<mxCell id="26" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=#0D0C0C;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="655.41" y="172" as="sourcePoint"/>
<mxPoint x="655.41" y="122" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="27" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ffcc99;labelPosition=left;verticalLabelPosition=top;align=right;verticalAlign=bottom;" parent="1" vertex="1">
<mxGeometry x="200" y="310" width="170" height="63" as="geometry"/>
</mxCell>
<mxCell id="29" value="MVC" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="251" y="326.5" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="30" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ffcc99;labelPosition=left;verticalLabelPosition=top;align=right;verticalAlign=bottom;" parent="1" vertex="1">
<mxGeometry x="400" y="310" width="272" height="63" as="geometry"/>
</mxCell>
<mxCell id="31" value="Ajax交互" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="401" y="326.5" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="32" value="Get请求" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="463" y="326.5" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="34" value="Get请求" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="569" y="326.5" width="93" height="30" as="geometry"/>
</mxCell>
<mxCell id="36" value="后端" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#99ff99;" parent="1" vertex="1">
<mxGeometry x="60" y="434" width="100" height="190" as="geometry"/>
</mxCell>
<mxCell id="37" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ccff99;" parent="1" vertex="1">
<mxGeometry x="200" y="434" width="140" height="190" as="geometry"/>
</mxCell>
<mxCell id="38" value="API" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="191" y="434" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="39" value="看板接口" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="220" y="474" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="40" value="维护报表接口" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="220" y="524" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="41" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ccff99;" parent="1" vertex="1">
<mxGeometry x="353" y="433" width="317" height="190" as="geometry"/>
</mxCell>
<mxCell id="42" value="APP接口" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="220" y="568" width="80" height="30" as="geometry"/>
</mxCell>
<mxCell id="43" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;dashed=1;" parent="1" vertex="1">
<mxGeometry x="375" y="466" width="135" height="148" as="geometry"/>
</mxCell>
<mxCell id="44" value="管理系统" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="353" y="434" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="45" value="业务系统" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="375" y="466" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="46" value="业务处理" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="395" y="504" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="47" value="数据逻辑" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="395" y="565" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="48" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;dashed=1;" parent="1" vertex="1">
<mxGeometry x="522.5" y="463" width="135" height="150" as="geometry"/>
</mxCell>
<mxCell id="49" value="采集系统" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="522.5" y="464" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="50" value="采集端" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="542" y="504" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="51" value="接受端" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="542" y="565" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="52" value="日<br>志<br>记<br>录" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ccff99;textDirection=rtl;" parent="1" vertex="1">
<mxGeometry x="686.5" y="432" width="30" height="198" as="geometry"/>
</mxCell>
<mxCell id="53" value="管<br>理<br>消<br>息" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ffff99;textDirection=rtl;" parent="1" vertex="1">
<mxGeometry x="730" y="310" width="30" height="320" as="geometry"/>
</mxCell>
<mxCell id="54" value="权<br>限<br>管<br>理" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#ff9999;textDirection=rtl;" parent="1" vertex="1">
<mxGeometry x="770" y="311" width="30" height="319" as="geometry"/>
</mxCell>
<mxCell id="55" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=#0D0C0C;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="341" y="254" as="sourcePoint"/>
<mxPoint x="341" y="303" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="56" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=#0D0C0C;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="656.4099999999999" y="300" as="sourcePoint"/>
<mxPoint x="656.4099999999999" y="250" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="59" value="数据层" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#99ff99;" parent="1" vertex="1">
<mxGeometry x="60" y="704" width="100" height="63" as="geometry"/>
</mxCell>
<mxCell id="60" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#99ff99;labelPosition=left;verticalLabelPosition=top;align=right;verticalAlign=bottom;" parent="1" vertex="1">
<mxGeometry x="200" y="703" width="600" height="63" as="geometry"/>
</mxCell>
<mxCell id="62" value="sqlsugar" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="287" y="724" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="63" value="ORM" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#0D0C0C;" parent="1" vertex="1">
<mxGeometry x="197" y="704" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="64" value="数据缓存" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="464" y="724" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="65" value="数据库" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="663.5" y="724" width="67" height="30" as="geometry"/>
</mxCell>
<mxCell id="66" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=#0D0C0C;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="283" y="381" as="sourcePoint"/>
<mxPoint x="283" y="430" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="67" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=#0D0C0C;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="598.4099999999999" y="427" as="sourcePoint"/>
<mxPoint x="598.4099999999999" y="377" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="68" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=#0D0C0C;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="482" y="642" as="sourcePoint"/>
<mxPoint x="482" y="691" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="70" value="基础层" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#99ff99;" parent="1" vertex="1">
<mxGeometry x="60" y="840" width="100" height="63" as="geometry"/>
</mxCell>
<mxCell id="71" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=#080808;fontColor=#0D0C0C;fillColor=#99ccff;labelPosition=left;verticalLabelPosition=top;align=right;verticalAlign=bottom;" parent="1" vertex="1">
<mxGeometry x="199" y="839" width="600" height="63" as="geometry"/>
</mxCell>
<mxCell id="73" value="netcore" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="282" y="856.5" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="74" value="操作系统" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="422" y="856.5" width="88" height="30" as="geometry"/>
</mxCell>
<mxCell id="75" value="hslcommunication" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="560" y="856.5" width="110" height="30" as="geometry"/>
</mxCell>
<mxCell id="76" value="中间件" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;fontColor=#0D0C0C;fillColor=#fafafa;align=center;" parent="1" vertex="1">
<mxGeometry x="680" y="856.5" width="110" height="30" as="geometry"/>
</mxCell>
<mxCell id="77" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=#0D0C0C;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="482" y="780" as="sourcePoint"/>
<mxPoint x="482" y="829" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>