一种基于物联网的公共实时数据管理云服务平台的制作方法

文档序号:7801966阅读:660来源:国知局
一种基于物联网的公共实时数据管理云服务平台的制作方法
【专利摘要】本发明涉及一种基于物联网技术的公共实时数据管理云服务平台,包括访问接口层、支撑服务层和数据层,访问接口层提供SDK,包含设备管理接口、数据采集接口和数据访问接口;支撑服务层提供平台系统内部的处理逻辑,为访问接口层提供平台系统的后台实现,包括基于Web的设备管理服务、目录服务和基于内存的实时数据管理服务;数据层采用关系数据库和历史库对数据进行持久性存储,其中关系数据库存储相对静态的信息,历史库存储设备属性的历史数据。本发明支持不同行业物联网设备的原始数据采集,实现了数据的统一采集、存储、查询和管理,能够对物联网中的各种智能物联网设备进行远程管理和控制。
【专利说明】一种基于物联网的公共实时数据管理云服务平台
【技术领域】
[0001]本发明属于物联网【技术领域】,具体涉及一种基于物联网的公共实时数据管理云服务平台,能够对物联网中的各种智能物联网设备进行远程管理和监控。
【背景技术】
[0002]一个典型意义的物联网应用,一般要完成数据的采集、存储和处理这三项工作,针对具体应用的不同,数据是各有不同的。针对不同的业务类型,需求可谓是千差万别。而数据上传的手段,根据对费用、便利程度的要求不同,有GPRS,WIFI,网线,工业总线等等多种选择,差别比较大。成功采集到传感器数据后,需要解决的另外问题就是传感器数据的存储,任何一个典型的物联网应用,都要面临着如何存储海量的数据,这对服务器的设计提出了相当高的要求。数据的访问和展示也是一个非常关键的问题,随着移动互联网的兴起,人们已经不满足仅仅从web浏览器去获取数据,更多的希望能从智能手机、平板电脑等媒介,便利地获取信息。除了传感器数据展示给人看之外,物联网的传感器数据还可以为远程的机器或者设备直接获取,并按照既定规则直接执行相应的动作。
[0003]设备厂商如果要开发和维护自己的数据服务平台,实现对远程的设备控制,都要完成以下的工作:云计算平台的开发、维护;控制终端软件的开发、维护(包括10S,Android,以及其他的软件平台);还有内部通讯、硬件、软件的实现。对于设备厂商而言,要实现所有技术,既需要前期的开发人员,还需要后期的运维人员,门槛偏高,增加了成本。随着物联网技术的发展以及智能设备的普及,亟需一个面向物联网的公共实时数据管理云服务平台。利用该统一的物联网公共服务平台,可以聚集多领域的资源和能力,整合各种信息、内容和应用,将不同主体提供的各种业务和服务有机地结合在一起提供给客户,从而满足客户物联网泛在化和一体化地需求,为客户创造额外价值的服务,既能满足物联网公共管理需要,同时也满足公众用户应用需要,即提供以运营商为核心的聚合服务。

【发明内容】

[0004]本发明主要提出了一种基于物联网技术、以移动互联网/互联网技术为通信手段的公共实时数据管理云服务平台。该平台支持不同行业物联网设备的原始数据采集,实现了数据的统一采集、存储、查询和管理;提供了实时/历史数据的查询及安全访问机制;提供了开放的数据采集与访问接口,支持设备数据采集,以及实时监控应用的开发,能够实现各种智能物联网设备的远程监控。
[0005]为实现上述目的,本发明采用如下技术方案:
[0006]一种基于物联网技术的公共实时数据管理云服务平台,包括访问接口层、支撑服务层和数据层;
[0007]所述访问接口层提供SDK,包含设备管理接口、数据采集接口和数据访问接口,供设备厂商将数据存入云服务平台,并供开发人员在此基础上开发智能终端应用;
[0008]所述支撑服务层提供平台系统内部的处理逻辑,为访问接口层提供平台系统的后台实现,主要包括基于Web的设备管理服务、目录服务和基于内存的实时数据管理服务;
[0009]所述数据层采用关系数据库和历史库对数据进行持久性存储,其中关系数据库用来保存相对静态的信息,历史库用来存储设备属性的历史数据。
[0010]进一步的:所述支撑服务层的设备管理服务提供了 web管理界面,用户可以通过注册登陆Web管理界面,对设备以及权限进行全方位的管理,主要包括设备的添加、删除、修改以及设备访问权限分配,设备访问权限包括设备的读取、写入以及控制权限。其中,设备基本信息的数据模型包括设备编码、设备名称、设备验证码以及设备属性。设备验证码被用于数据采集的安全验证,每个设备的设备编号与验证码都有唯一的出厂值,在设备生产时已经写入在智能设备系统中。设备属性支持多种数据类型,例如浮点型、长整型、字符串型、布尔型、blob类型等。每个设备属性对应了公共实时数据管理云服务平台中用于存储该属性实时数据的一个点。
[0011]进一步的:所述支撑服务层的目录服务主要提供了权限认证功能和设备属性位置信息查询功能。设备采集端的权限认证通过设备编码和设备验证码来验证,客户端的权限验证则通过用户名和密码来验证。只有通过了权限认证,设备属性的位置信息查询请求才能得到处理。每个设备属性对应某个实时数据服务器中的某个点,设备属性的位置信息包括该点所在的实时数据服务器IP地址以及其点ID,实时数据服务器中以内存数组方式存储点信息,点ID是该点在内存数组中的下标。
[0012]进一步的:所述支撑服务层的实时数据管理服务采用分布式架构,由多个实时数据管理服务器节点组成,主要提供数据采集更新、订阅和发布,实时/历史数据查询、设备远程控制等功能。
[0013]实时数据管理服务为设备采集端提供了数据采集更新服务,为客户端了提供数据更新、发布/订阅、实时/历史数据查询和设备远程控制服务。实时数据管理服务在处理采集端和客户端请求之前需要进行权限认证。对于客户端,通过用户名密码来验证;对于设备采集端,通过验证其设备编码和验证码来验证。
[0014]实时数据管理服务以内存方式存储管理设备属性,每个设备属性对应一个点,对设备属性更新的操作就是更新点值,更新点值将包含点ID、数据类型和数值。实时数据管理服务接收到设备属性更新的点值之后,根据点ID当作数组下标直接访问该点对应的内存区域进行数据更新和发布操作。实时数据管理服务通过主内存方式支持大量实时数据快速更新和发布。由于物联网环境下设备数量巨大,单台实时数据管理服务器的计算和存储资源有限,因此,实时数据管理服务是由可配置、可扩展的多台服务器组成,服务器的具体数量取决于平台实际存储管理的设备数量。
[0015]进一步的:所述数据层中,关系数据库保存用户、设备、权限等相对静态的信息,历史库用来存储设备属性的历史数据,每个设备属性都可配置是否需要存储历史数据。
[0016]本发明的有益效果如下:
[0017]I)支持不同行业的原始数据采集,平台通过构建数据原模型能够统一描述不同类型的原始数据,进行标准化的数据表示,从而实现数据的统一存储和管理。
[0018]2)支持数据的共享和访问机制,为物联网监控、监测应用提供了可靠的基础数据访问服务,包括实时数据的发布和订阅、实时/历史数据的快速查询,以及远程控制等。
[0019]3)提供了标准化的访问接口和认证授权机制,被授权的个人或者企业能够通过访问接口访问平台中的数据,标准化的接口能够支持各种智能终端的数据访问。
[0020]4)提供了公共实时数据管理服务的管理平台,支持用户、设备和权限的全方位管理。
[0021]5)接入一种基于物联网的公共实时数据管理云服务平台,用户能够通过应用对设备进行远程管理和控制。
【专利附图】

【附图说明】
[0022]图1是基于物联网的公共实时数据管理云服务平台的系统框架图。
[0023]图2是数据采集更新服务流程图。
[0024]图3是数据订阅服务流程图。
[0025]图4是数据发布服务流程图。
[0026]图5是实时查询服务流程图。
[0027]图6是历史查询服务流程图。
[0028]图7是远程控制服务流程图。
【具体实施方式】
[0029]下面通过具体实施例和附图,对本发明做进一步说明。
[0030]图1所示为本发明的基于物联网技术的公共实时数据管理云服务平台,由访问接口层、支撑服务层、数据层组成。
[0031]1.访问接口层
[0032]访问接口层提供了 SDK(软件开发包)。访问接口层开放了设备管理接口、数据采集接口和数据访问接口,设备厂商能够将数据存入到云服务平台,开发人员也可以通过SDK开发智能终端应用。
[0033]2.支撑服务层
[0034]支撑服务层提供了平台系统内部的处理逻辑,为访问接口层提供了平台系统的后台实现,主要包括设备管理服务、目录服务和基于内存的实时数据管理服务。
[0035]2.1)设备管理服务
[0036]设备管理服务提供了 web管理界面,用户可以通过注册,登陆Web管理界面,对设备以及权限进行全方位的管理,主要包括设备的添加、删除、修改以及设备访问权限分配,设备访问权限包括设备的读取、写入以及控制权限。
[0037]其中设备基本信息的数据模型包括设备ID、设备名称、设备验证码以及设备属性。设备验证码用于数据采集的安全验证,每个设备的设备编号与验证码都有唯一的出厂值,在设备生产时已经固化在设备中。设备属性支持多种数据类型,例如整形、字符串、布尔型、blob类型等。
[0038]用户添加设备的流程如下:用户登陆web管理平台输入设备名、设备编号、设备验证码,选择设备类型进行添加,平台将根据设备类型添加该设备类型所预设的设备属性项。创建设备属性的同时,针对设备信息的每一个属性项,在实时数据库中添加对应的点。创建点时,后台将自动择优选择存储该点的实时数据服务器,然后与该实时数据服务器进行连接,并通知其添加点,实时数据服务器接收到通知后,在内存数组中添加该点信息,添加成功后向设备服务器返回该点在内存数组中的下标,即点ID。
[0039]2.2)目录服务
[0040]目录服务主要提供了权限认证功能和设备属性位置信息查询功能。设备采集端的权限认证通过设备编码和设备验证码来验证,客户端的权限验证则通过用户名和密码来验证。只有通过了权限认证,设备属性的位置信息查询请求才能得到处理。
[0041]如果设备采集端未获取设备属性对应点所在实时数据服务器IP地址,以及点ID,则向目录服务发送请求,目录服务器从查询请求中获取设备编号以及设备验证码,验证通过之后,然后将设备编号和设备属性作为查询参数在关系数据库中查询,返回查询结果,包括设备属性对应的点所在的实时数据服务器IP地址,以及点id。
[0042]对于客户端,如果客户端未获得设备属性位置信息,则先连接目录服务器,提交用户名和密码进行登录验证,验证通过后,客户端再发送查询请求,目录服务器从查询请求中获得设备编号,再根据已登陆用户的权限来验证其访问权限,验证通过之后,查询位置信息并返回结果给客户端。
[0043]2.3)基于内存的实时数据管理服务
[0044]支撑服务层的实时数据管理服务主要提供数据采集更新、订阅和发布,实时/历史数据查询、设备远程控制等功能。
[0045]图2是实时数据管理服务的数据采集更新服务的流程图,具体步骤如下:
[0046](I)如果设备端未获取位置信息,包括设备属性对应的点所在实时数据服务器IP地址和点ID,则向目录服务发送连接请求。
[0047](2)连接建立后,设备端发送设备编号、设备属性以及设备验证码到目录服务器,目录服务器接收到后用设备编号和设备验证码进行权限验证,权限验证通过后,将设备编号和设备属性作为查询参数在关系数据库中查询位置信息,然后返回设备属性对应点所在实时数据服务器IP地址,以及点id。最后断开设备端与目录服务器的连接。
[0048](3)连接断开后,设备端通过已获取的IP地址,向实时数据服务器发送连接请求;连接建立后,设备端发送点ID和设备验证码到实时数据服务器,实时数据管理服务接收到后进行权限验证,确定该设备端是否具有更新该点的权限;验证通过后,向设备端发送验证通过的消息,并允许其发送更新点值的请求。设备端获得验证通过的消息之后,则根据数据变化情况实时地将最新点值发送到实时数据服务器端,实时数据服务器接收到更新点值请求之后,先确定该设备是否通过了更新权限验证,如果通过了,则将点ID当作内存数组下标直接访问该点对应的内存区域进行数据更新和数据发布。如果该点配置了存储历史数据,每次更新后,实时数据服务器会将数据发送到历史库,将点的当前值存储到历史库,历史库用来存储设备属性的历史数据,并将历史数据写入磁盘实现永久保存。
[0049]图3是实时数据管理服务的数据订阅服务流程图,用户可以通过客户端订阅设备数据,具体步骤如下:
[0050](I)客户端连接目录服务器,通过用户名和密码登陆进行身份验证。
[0051](2)验证通过后,查询设备属性位置信息,返回设备属性对应点所在实时数据服务器IP地址和点ID,然后断开连接。
[0052](3)连接断开后,客户端通过已获取的IP地址,连接实时数据服务器,通过用户名和密码登陆进行身份验证。[0053](4)验证通过后,客户端发送订阅请求,实时数据服务器根据订阅点ID和已登陆用户进行权限验证,如果有访问该点的权限则返回订阅成功,相反则提示无权限。
[0054]图4是实时数据管理服务的数据发布服务流程图,当实时数据服务器接收到来自物联网设备端发送的更新点值请求后,会将属性的实时值推送给已订阅该点的在线客户端,具体步骤如下:
[0055](I)设备端发送设备属性最新实时值到实时数据服务器,更新设备属性对应的点值。
[0056](2)实时数据服务器获取已经订阅该设备属性的点的客户端列表。
[0057](3)最后将设备属性实时值推送到已订阅该点的在线订阅客户端。
[0058]图5是实时数据管理服务的实时查询流程图,实时查询能够根据查询条件返回当前时间点的实时数据给客户端,具体步骤如下:
[0059](I)客户端连接目录服务器,通过用户名和密码登陆进行身份验证。
[0060](2)验证通过后,查询设备属性位置信息,返回设备属性对应点所在实时数据服务器IP地址和点ID,然后断开连接。
[0061](3)连接断开后,客户端通过已获取的IP地址,连接实时数据服务器,通过用户名和密码登陆进行身份验证。
[0062](4)验证通过后,客户端向实时数据服务器发送实时查询请求,查询当前时间点的实时数据。实时数据服务器收到请求后根据查询的点ID和已登陆用户进行权限验证,验证通过后,返回当前时间点设备属性的实时值。
[0063]图6是实时数据管理服务的历史查询流程图,历史查询能够根据查询条件返回指定时间段的历史数据给客户端,具体步骤如下:
[0064](I)客户端连接目录服务器,通过用户名和密码登陆进行身份验证。
[0065](2)验证通过后,查询设备属性位置信息,返回设备属性对应点所在实时数据服务器IP地址和点ID,然后断开连接。
[0066](3)连接断开后,客户端通过已获取的IP地址,连接实时数据服务器,通过用户名和密码登陆进行身份验证。
[0067](4)验证通过后,客户端向实时数据服务发送查询请求,查询某时间段点的历时数据。实时数据服务收到请求后进行权限验证,验证通过后,发送查询请请给历史库,历史库返回指定时间点设备属性的值到实时数据服务,再由实时数据服务将返回指定时间段的历史数据发送给客户端。
[0068]图7是实时数据管理服务的远程控制流程图,客户端可以通过网络直接实现对设备的远程控制,具体步骤如下:
[0069](I)客户端连接目录服务器,通过用户名和密码登陆进行身份验证。
[0070](2)验证通过后,查询设备属性位置信息,返回设备属性对应点所在实时数据服务器IP地址和点ID,然后断开连接。
[0071](3)连接断开后,客户端通过已获取的IP地址,连接实时数据服务器,通过用户名和密码登陆进行身份验证。
[0072](4)验证通过后,客户端向实时数据服务器发送更新指令,实时数据服务收到请求后进行权限验证,查看该客户端是否有控制权限。[0073](5)权限验证通过后,实时数据服务发送更新指令到设备端。
[0074]3.数据层
[0075]公共实时数据管理云服务平台的数据层采用关系数据库和历史库对数据进行持久性存储。其中,关系数据库用来保存用户、设备、权限等相对静态的信息;历史库用来存储设备属性的历史数据,每个设备属性都可配置是否需要存储历史数据。
[0076]以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
【权利要求】
1.一种基于物联网技术的公共实时数据管理云服务平台,其特征在于,包括访问接口层、支撑服务层和数据层; 所述访问接口层提供SDK,包含设备管理接口、数据采集接口和数据访问接口,供设备厂商将数据存入云服务平台,并供开发人员在此基础上开发智能终端应用; 所述支撑服务层提供平台系统内部的处理逻辑,为访问接口层提供平台系统的后台实现,包括基于Web的设备管理服务、目录服务和基于内存的实时数据管理服务; 所述数据层采用关系数据库和历史库对数据进行持久性存储,其中关系数据库存储相对静态的信息,历史库存储设备属性的历史数据。
2.如权利要求1所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于,所述支撑服务层中: 所述基于Web的设备管理服务提供Web管理界面,用户通过注册登陆Web管理界面,对设备以及权限进行全方位的管理; 所述目录服务提供权限认证功能和设备属性位置信息查询功能; 所述基于内存的实时数据管理服务采用分布式架构,由多个实时数据管理服务器节点组成,提供数据采集更新、订阅和发布、实时/历史数据查询和设备远程控制功能。
3.如权利要求2所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于:所述基于Web的设备管理服务中,设备基本信息的数据模型包括设备编码、设备名称、设备验证码以及设备属性,其中设备验证码用于数据采集的安全验证,设备属性支持多种数据类型;每个设备属性对应某个实时数据服务器中的某个点,设备属性的位置信息包括该点所在的实时数据服务器IP地址以及其点ID,实时数据服务器中以内存数组方式存储点信息,点ID是该点在内存数组中的下标。
4.如权利要求3所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于:所述目录服务中,设备采集端通过设备编码和设备验证码进行权限认证,客户端通过用户名和密码进行权限认证。
5.如权利要求4所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于:所述目录服务中,如果设备采集端未获取设备属性对应点所在实时数据服务器IP地址,以及点ID,则向目录服务发送请求,目录服务器从查询请求中获取设备编号以及设备验证码,验证通过之后,将设备编号和设备属性作为查询参数在关系数据库中查询,返回查询结果;如果客户端未获得设备属性位置信息,则先连接目录服务器,提交用户名和密码进行登录验证,验证通过后,客户端再发送查询请求,目录服务器从查询请求中获得设备编号,再根据已登陆用户的权限来验证其访问权限,验证通过之后,查询位置信息并返回结果给客户端。
6.如权利要求3所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于:所述基于内存的实时数据管理服务以内存方式存储管理设备属性,每个设备属性对应一个点,对设备属性更新的操作就是更新点值,更新点值将包含点ID、数据类型和数值;实时数据管理服务接收到设备属性更新的点值之后,根据点ID当作数组下标直接访问该点对应的内存区域进行数据更新和发布操作,并通过内存方式支持大量实时数据快速更新和发布。
7.如权利要求6所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于,所述基于内存的实时数据管理服务中,数据采集更新服务的步骤如下: (1)如果设备端未获取位置信息,包括设备属性对应的点所在实时数据服务器IP地址和点ID,则向目录服务发送连接请求; (2)连接建立后,设备端发送设备编号、设备属性以及设备验证码到目录服务器,目录服务器接收到后用设备编号和设备验证码进行权限验证,权限验证通过后,将设备编号和设备属性作为查询参数在关系数据库中查询位置信息,然后返回设备属性对应点所在实时数据服务器IP地址,以及点ID ;然后断开设备端与目录服务器的连接; (3)设备端与目录服务器的连接断开后,设备端通过已获取的IP地址,向实时数据服务器发送连接请求;连接建立后,设备端发送点ID和设备验证码到实时数据服务器,实时数据管理服务接收到后进行权限验证,确定该设备端是否具有更新该点的权限;验证通过后,向设备端发送验证通过的消息,并允许其发送更新点值的请求;设备端获得验证通过的消息之后,根据数据变化情况实时地将最新点值发送到实时数据服务器端,实时数据服务器接收到更新点值请求之后,先确定该设备是否通过了更新权限验证,如果通过则将点ID当作内存数组下标直接访问该点对应的内存区域进行数据更新和数据发布。
8.如权利要求7所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于:每次更新后,实时数据服务器会将数据发送到历史库,将点的当前值存储到历史库,历史库用来存储设备属性的历史数据,并将历史数据写入磁盘实现永久保存。
9.如权利要求6所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于,所述基于内存的实 时数据管理服务中,数据订阅服务的步骤如下: (1)客户端连接目录服务器,通过用户名和密码登陆进行身份验证; (2)验证通过后,查询设备属性位置信息,返回设备属性对应点所在实时数据服务器IP地址和点ID,然后断开连接; (3)连接断开后,客户端通过已获取的IP地址,连接实时数据服务器,通过用户名和密码登陆进行身份验证; (4)验证通过后,客户端发送订阅请求,实时数据服务器根据订阅点ID和已登陆用户进行权限验证,如果有访问该点的权限则返回订阅成功,相反则提示无权限。
10.如权利要求6所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于,所述基于内存的实时数据管理服务中,数据发布服务的步骤如下: (1)设备端发送设备属性最新实时值到实时数据服务器,更新设备属性对应的点值; (2)实时数据服务器获取已经订阅该设备属性的点的客户端列表; (3)最后将设备属性实时值推送到已订阅该点的在线订阅客户端。
11.如权利要求6所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于,所述基于内存的实时数据管理服务中,进行实时查询的步骤如下: (1)客户端连接目录服务器,通过用户名和密码登陆进行身份验证; (2)验证通过后,查询设备属性位置信息,返回设备属性对应点所在实时数据服务器IP地址和点ID,然后断开连接; (3)连接断开后,客户端通过已获取的IP地址,连接实时数据服务器,通过用户名和密码登陆进行身份验证; (4)验证通过后,客户端向实时数据服务器发送实时查询请求,查询当前时间点的实时数据;实时数据服务器收到请求后根据查询的点ID和已登陆用户进行权限验证,验证通过后,返回当前时间点设备属性的实时值。
12.如权利要求6所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于,所述基于内存的实时数据管理服务中,进行历史查询的步骤如下: (1)客户端连接目录服务器,通过用户名和密码登陆进行身份验证; (2)验证通过后,查询设备属性位置信息,返回设备属性对应点所在实时数据服务器IP地址和点ID,然后断开连接; (3)连接断开后,客 户端通过已获取的IP地址,连接实时数据服务器,通过用户名和密码登陆进行身份验证; (4)验证通过后,客户端向实时数据服务发送查询请求,查询某时间段点的历时数据;实时数据服务收到请求后进行权限验证,验证通过后,发送查询请请给历史库,历史库返回指定时间点设备属性的值到实时数据服务,再由实时数据服务将返回指定时间段的历史数据发送给客户端。
13.如权利要求6所述的基于物联网技术的公共实时数据管理云服务平台,其特征在于,所述基于内存的实时数据管理服务中,进行远程控制的步骤如下: (1)客户端连接目录服务器,通过用户名和密码登陆进行身份验证; (2)验证通过后,查询设备属性位置信息,返回设备属性对应点所在实时数据服务器IP地址和点ID,然后断开连接; (3)连接断开后,客户端通过已获取的IP地址,连接实时数据服务器,通过用户名和密码登陆进行身份验证; (4)验证通过后,客户端向实时数据服务器发送更新指令,实时数据服务收到请求后进行权限验证,查看该客户端是否有控制权限; (5)权限验证通过后,实时数据服务发送更新指令到设备端。
【文档编号】H04L12/24GK103957248SQ201410164453
【公开日】2014年7月30日 申请日期:2014年4月21日 优先权日:2014年4月21日
【发明者】王永炎, 李昕龙, 许童, 王盖, 罗雄飞 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1