一种智慧城市评估指标数据管理方法及***
技术领域
本发明涉及智慧城市领域,具体来讲涉及一种智慧城市评估指标数据管理方法及***。
背景技术
智慧城市是指以信息通信技术为支撑,通过对信息的感知、传递和利用,实现城市各***间的信息共享和业务协同,提高市民生活水平和质量,提升城市运行管理效率和公共服务水平,增强经济发展质量和产业竞争能力,实现城市的科学发展与可持续发展。
智慧城市评估体系利用一套指标对智慧城市的信息通信***及其对城市市民生活水平的提升、对城市运行管理效率和公共服务水平的提高、对经济发展和产业竞争能力的促进,以及城市的可持续发展进行合理评估。
智慧城市评估指标体系ISC是一个多指标的集合,ISC={I1,I2,...,Im},其中m为整数,Ik表示第k个指标。智慧城市的评估转化为以下步骤:
(1)确定每个指标Ik;
(2)确定每个指标Ik的计量方法;
(3)收集与每个指标Ik相关的数据Dk,1,Dk,2,...,Dk,n;
(4)得到每个指标Ik的赋值Vk;
(5)根据评价函数,得到整个指标体系的综合结果。
作为城市指标的Ik是城市综合评价的基础,ITU-T Y.9603/L.1603对每个智慧城市指标Ik都有很明确的定义。保证Ik的统一性和格式化,以及在传递过程中的不被篡改,并且能够进行检索和回溯是保证城市指标综合分析的基础。由于在形成Ik指标过程中,采集的Dk,1,Dk,2,...,Dk,n数据的形式各种各样,可能是电子文档,可能是直接来源于采集设备的原始数据,可能是人工采集的纸张表格,使得Ik的形成没有一个归一化的统一形式。如果没有一个统一的数据结构来归一化这些数据,将使得城市的评估无法电子化,也不便于采用信息化的手段来综合分析这些指标数据。同时,提供指标数据的设备通常所处的网络环境并不安全,数据在传递在此过程中会受到各种因数的影响,导致数据质量不可靠,包括网络质量问题导致的数据丢失,或者节点被侵入造成的恶意篡改等,这将直接影响对城市评估的错误判断,给国民经济带来重大损失。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种智慧城市评估指标数据管理方法及***,通过统一的数据结构封装及存储城市指标数据,便于城市评估的电子化,通过非对称加密和区块链技术保证数据的安全性和可回溯性。
为达到以上目的,一方面,采取一种智慧城市评估指标数据管理方法,包括步骤:
在各城市采样点采集城市指标数据,按照统一的数据结构归一化形成城市指标赋值数据,并与各城市采样点的身份信息绑定;
将城市指标赋值数据经过哈希运算形成数据摘要,使用非对称加密的方式,分别对数据摘要和城市指标赋值数据加密,并形成加密数据包上传到区块链;
智慧城市平台提取加密数据包并解密后,加上其所在区块链的信息和回溯校验信息,采用统一格式封装存储。
优选的,所述统一的数据结构按照城市指标分类定义,内容包括:国家和地区编号、城市编号、区块划分代码、IPv4/IPv6地址、时间、城市指标类型编号、城市指标编号、城市指标值、赋值的单位、扩展区段长度和扩展区段数据;其中城市编号遵循所属国家标准。
优选的,采集城市指标数据过程包括:通过接入城市采样点原有数据库和/或输入的方式采集城市指标数据,丢弃不符合ITU-T相关标准或者国家制定标准的城市指标数据,将符合标准的城市指标数据进行存储。
优选的,使用非对称加密方式包括:各城市采样点分别生成一对公钥和私钥,智慧城市平台生成一对公钥和私钥,城市采样点生成的公钥和智慧城市平台生成的公钥均广播到区块链上各节点,私钥各自保留;且各城市采样点和智慧城市平台采用相同的密钥生成机制生成公钥对和私钥对。
优选的,各城市采样点采用智慧城市平台生成的公钥完成城市指标赋值数据加密,采用自身生成的私钥完成数据摘要加密,并将加密后的数据打包上传到区块链。
优选的,加密后的数据打包上传到区块链的过程包括:各城市采样点对区块链发起接入请求并由区块链完成合法性验证,发送加密数据包给区块链节点,并路由至区块链对应的共识记账节点,根据区块链的共识机制将每个时间段内的数据包形成区块加入区块链,并完成区块链数据库的更新。
另一方面,提供一种智慧城市评估指标数据管理***,包括:
采样点处理模块,其设置于各城市采样点,用于采集城市指标数据,按照统一的数据结构形成城市指标赋值数据,且城市指标赋值数据与所在采样点处理模块的身份信息绑定;
所述采样点处理模块还用于将城市指标赋值数据经过哈希运算形成数据摘要,使用非对称加密的方式,分别对数据摘要和城市指标赋值数据加密,并形成加密数据包上传到区块链;
城市平台处理模块,其设置于智慧城市平台,用于从区块链中提取、解密所述加密数据包,完成可信性和一致性验证,还用于加上加密数据包所在区块链的信息和回溯校验信息,采用统一格式封装存储。
优选的,城市平台处理模块,用于生成一对公钥和私钥,将公钥均广播到区块链上各节点;所述采样点处理模块用于生成一对公钥和私钥,将公钥广播到区块链上各节点;采用城市平台处理模块生成的公钥完成城市指标赋值数据加密,采用自身生成的私钥完成数据摘要加密。
优选的,所述采样点处理模块包括:
采集单元,其用于从城市采样点的数据库中提取和/或接收输入的城市指标数据;
采样点计算单元,其用于根据ITU-T相关标准或者国家制定标准设定的范围对城市指标数据进行筛选、按照设定的归一化算法形成城市指标赋值数据、以及形成加密数据包并上传到区块链;
采样点存储单元,其用于临时存储所述采集单元和计算单元产生的各种数据;
采样点区块链单元,其用于完成数据的加密、完成本地公钥的上传和私钥的存储、以及接入区块链的身份认证和链路管理。
优选的,所述城市平台处理模块包括:
平台区块链单元,其用于完成城市平台处理模块的公钥和私钥管理,从区块链中提取和解密加密数据包,完成数据的解密,实现对数据的回溯和校验;
平台计算单元,其用于根据平台区块链单元的策略和指令完成数据的计算;
平台存储单元,其用于完成各种中间结果的临时存储。
优选的,所述统一的数据结构按照城市指标分类定义,内容包括:国家和地区编号、城市编号、区块划分代码、IPv4/IPv6地址、时间、城市指标类型编号、城市指标编号、城市指标值、赋值的单位、扩展区段长度和扩展区段数据;其中城市编号遵循所属国家标准。
上述技术方案中的一个具有如下有益效果:
1、按照统一的数据结构归一化形成城市指标赋值数据,使得目前在城市指标参数不同的采集形式下,为城市指标的处理提供了一种统一的底层数据格式,有利于后期指标采集方式的标准化,便于城市评估的电子化,便于采用信息化的手段来综合分析城市指标的各种数据。
2、按照统一的数据结构归一化形成城市指标赋值数据,还便于通过非对称加密的方式保证数据的保密性,并以一种标准化的数据记录形式在区块链中进行传递。通过非对称加密和区块链技术,保证了数据的可信、可检索和可回溯性。
附图说明
图1为本发明实施例中城市指标数据存储帧结构示意图;
图2为本发明实施例智慧城市评估指标数据管理***应用示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明第一实施例提供一种智慧城市评估指标数据管理方法,包括步骤:
在各个城市采样点,采集城市指标数据(Dk,1,Dk,2,...,Dk,n)进行计算得到Ik,再按照统一的数据结构归一化后形成城市指标赋值数据Vk,将城市指标赋值数据Vk与各城市采样点的身份信息绑定;其中,k为城市指标的序号,Ik表示第k个城市指标,Vk表示第k个城市指标赋值数据,且n为整数。
然后,将城市指标赋值数据经过哈希运算形成数据摘要,使用非对称加密的方式,分别对数据摘要和城市指标赋值数据加密,将加密后的数据打包形成加密数据包,再上传到区块链。
智慧城市平台提取加密数据包并解密后,加上其所在区块链的信息和回溯校验信息,并采用统一格式封装存储。
优选的,哈希算法可以是MD5、SHA1或者HMAC。
优选的,非对称算法可以是RSA或ECC。
在上述实施例的基础上,第二实施例中提供了采集城市指标数据的方式。优选的,可以通过接入城市采样点原有数据库的方式采集城市指标数据,还可以通过人工输入得到城市指标数据,也可以两种方式结合使用。
对于采集到的城市指标数据,根据ITU-T相关标准或者国家制定标准的相关取值范围进行比对,丢弃相关取值范围外的城市指标数据,将相关取值范围内的数据作为合格的城市指标数据进行存储,再对合格的城市指标数据按照ITU-T Y.9603/L.1603城市指标分类的定义,得到城市指标赋值数据。
如图1所示,在上述实施例的基础上,第三实施例提供一种数据结构,可以通过采用二进制编码对城市指标进行格式归一化,形成城市指标赋值数据。城市指标赋值数据的数据结构如图1最下方所示,具体内容包括:
County/region:按照国际通用的国家和地区编号,2字节;
City:按照所属国家标准的城市编号,2字节;
District:按照所属城市采用需要的区块划分代码,2字节;
Site ID:IPv4/IPv6地址,16字节;
Time:时间(采用格林威治时间),8字节;
Topic:按照ITU-T 1603规定代码的城市指标类型编号,1字节;
Indicator:按照ITU-T 1603规定代码的城市指标编号,1字节;
Value1:按照ITU-T 1603规定的城市指标值,2字节;
Unit:赋值的单位,1字节;
Length:扩展区段的长度,1字节;
Value2:扩展区段数据,可变长字节。
基于上述实施例,本发明第四实施例提供一种非对称加密方式,具体包括:
各城市采样点分别生成一对公钥和私钥,并且每个城市采样点生成的公钥和私钥都是独一无二的,各城市采样点的公钥都要广播给区块链上各节点。
本实施例中,以一个城市采样点生成一对公钥c和私钥c为例,智慧城市平台生成一对公钥p和私钥p,公钥c和公钥p都广播到区块链上各节点,私钥c和私钥p各自保留。并且,城市采样点和智慧城市平台采用相同的密钥生成机制,生成公钥对和私钥对。
各城市采样点采用智慧城市平台生成的公钥p完成城市指标赋值数据加密,采用自身生成的私钥c完成数据摘要加密,并将加密后的数据打包形成加密数据包并上传到区块链。加密数据包的数据结构如图1中部所示,其中,Encrypted indicator data:通过城市平台公钥p加密的城市指标赋值数据,可变长字节;Encrypted Digest:通过城市采样点私钥c加密的数据摘要,32字节。
基于上述实施例,本发明第五实施例中提供加密后的数据包上传到区块链以及后续过程。
各城市采样点找到区块链中任意一个可用的区块链节点后,把预先存储的认证信息上传到区块链节点中,区块链节点把上传的认证信息与区块链中预先存储的认证信息做对比,按照所选择区块链预先设定的共识机制,共同协调确认城市处理模块的合法性。认证通过后,区块链节点接收来自城市采样点的加密数据包,数据包被路由至区块链对应的共识记账节点,根据区块链的共识机制来存储数据。
优选的,上述认证信息可以硬件绑定任何不可修改的信息。
区块链根据本身的共识机制,将在一定时间内收到的加密数据包打包形成新的区块加入区块链,并完成区块链数据库的更新。每一个区块中包含有在一定时间段内被承认的信息,即,每一个区块是通过时间戳证明和信息绑定而形成的。
优选的,上述共识机制包括但不限于以下方式:PoW(Proof of Work,工作量证明)、PoS(Proof of Stake,权益证明)DPos(Delegated Proof of Stake,授权股份证明机制)、Ripple Consensus(瑞波共识算法)、PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)、DAG(Directed Acyclic Graph,有向无环图)、Hashgraph(哈希图)等。
智慧城市平台按照约定的要求(例如按时间要求)查找需要的区块,将区块中的数据摘要与区块链自己生成的哈希运算结果进行比对,只有在一致的情况下,区块内的数据视为有效。
智慧城市平台取出城市采样点上传的加密数据包,使用城市采样点的公钥c对数据摘要解密,得到原始的数据摘要,然后采用自身的私钥p对城市指标赋值数据进行解密,得到原始的城市指标赋值数据,然后对原始的城市指标赋值数据进行哈希运算,把运算的结果和原始数据摘要进行比对,如果一致则发送到智慧城市平台的相关分析***,如果不一致则丢弃,并要求城市采样点按照之前的步骤重新上传加密数据包到区块链。
智慧城市平台将加密数据包解密后,加上其所述区块链的位置信息,将区块链中数据记录的关键字作为回溯码、平台私钥签名的哈希值作为校验码,按照图1中最上方的格式存储在智慧城市平台所属的数据库中,以便于未来检索和校验。其中,具体内容包括:
Data recorder:用于指示城市指标数据块的长度和偏移值;4字节。
Block recorder:用于区块链中区块的长度和偏移值;4字节。
City Data:用于封装加密后的城市指标数据;可变长。
Chain ID:用于标识区块链URL地址,1-1024字节。
Tracing Code:回溯码,用于查找和回溯数据,采用区块链中数据记录的关键字;32字节。
Check Code:校验码,用于校验区块的一致性,采用平台私钥签名哈希值;32字节。
如图2所示,本发明第六实施例提供一种智慧城市评估指标数据管理***,包括采样点处理模块和城市平台处理模块。
其中,采样点处理模块设置在各城市采样点,用于采集城市指标数据,按照统一的数据结构形成城市指标赋值数据,且城市指标赋值数据与所在采样点处理模块的身份信息绑定。采样点处理模块还用于将城市指标赋值数据经过哈希运算形成数据摘要,使用非对称加密的方式,分别对数据摘要和城市指标数据加密,并将加密后的数据打包上传到区块链。
城市平台处理模块设置于智慧城市平台,用于从区块链中提取、解密打包的数据,完成可信性和一致性验证,还用于加上打包的数据所在区块链的信息和回溯校验信息,采用统一格式封装存储。
其中,城市平台处理模块还用于生成一对公钥p和私钥p,广播公钥p到区块链;采样点处理模块用于生成一对公钥c和私钥c,广播公钥c到区块链。采用城市平台处理模块通过生成的公钥完成城市指标数据加密,采用自身生成的私钥完成数据摘要加密。
优选的,采样点处理模块包括采集单元、采样点计算单元、采样点存储单元和采样点区块链单元。
采集单元,用于从城市采样点的数据库中提取和/或接收输入的城市指标数据。
采样点计算单元,用于根据ITU-T相关标准或者国家制定标准设定的范围,对城市指标数据进行筛选、按照设定的归一化算法形成城市指标赋值数据、以及对加密后的数据打包上传到区块链。
采样点存储单元,用于临时存储上述采集单元和计算单元产生的各种数据。
采样点区块链单元,用于完成数据的加密、完成本地公钥和私钥的存储、以及接入区块链的身份认证和链路管理。
优选的,上述城市平台处理模块包括平台区块链单元、平台计算单元和平台存储单元。
平台区块链单元,用于完成城市平台处理模块的公钥和私钥管理,从区块链中提取和解密加密数据包,完成数据的解密,实现对数据的回溯和校验。
平台计算单元,用于根据平台区块链单元的策略和指令其完成数据的合并和计算。
平台存储单元,用于完成各种中间结果的临时存储。
上述平台区块链单元具有加密的功能,采样点区块链单元还具有解密的功能,在其他实施例中,城市平台处理模块也可以发送加密的数据包给区块链,采样点处理模块也可以从区块链中获取加密的数据包并进行解密。
上述各实施例中,城市采样点需要上传城市指标,设备通过区块链平台来认证,而不需要第三方提供的认证能力;在数据传送程中,通过区块链平台保证数据传送与存储的安全和隐私保护;在后期处理数据时,通过区块链平台来保证数据信息的回溯和验证。同时,区块链平台的去中心化,可以保证设备的验证、数据的递送不存在瓶颈,数据不被伪造且可回溯。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。