物联网业务仿真方法、系统和相关设备与流程

文档序号:28262760发布日期:2021-12-31 16:51阅读:109来源:国知局
物联网业务仿真方法、系统和相关设备与流程

1.本发明涉及物联网技术领域,特别涉及一种物联网业务仿真方法、系统和相关设备。


背景技术:

2.随着物联网技术的迅速发展,智能燃气、智能路灯、智能水表、共享单车、共享空调、共享洗衣机等各类智能终端在很多省份进行了规模建设。在物联网项目实施初期,由于没有较好的手段对电信卡及物联网业务平台的对接进行有效检测,往往在设备大规模入网后,出现了很多驻网或业务上下行的问题,导致用户产生较多的投诉。而物联网的维护工作往往需要调用无线、核心网、数据网等各环节的人员进行检测分析,工作量繁杂且时间周期长,造成客户感知下降。
3.并且,现网的物联网终端采用的业务模型比较复杂,各厂家的设计也往往不同。各地维护人员除了检查电信卡是否有效开通外,对于物联网终端业务逻辑、以及是否能与物联网业务平台进行上下行业务等现网端到端业务可行性,都没有较好的检测手段。一旦终端上下行业务模型较复杂,往往就会出现终端规模部署后、大量问题集中出现的现象,导致问题的查找和解决也比较困难。


技术实现要素:

4.本发明实施例所要解决的一个技术问题是:如何提高物联网终端业务的可靠性。
5.根据本发明一些实施例的第一个方面,提供一种物联网业务仿真方法,包括:预制系统根据接收的行业类别,确定行业类别对应的行业应用配置模板;预制系统根据行业应用配置模板,生成仿真终端对应的终端业务模型、以及平台业务模型;预制系统将终端业务模型写入到仿真终端中;预制系统将平台业务模型发送给仿真业务平台。
6.在一些实施例中,物联网业务仿真方法还包括:在生成仿真终端对应的终端业务模型、以及平台业务模型之前,预制系统接收对行业应用配置模板的业务逻辑的修改。
7.在一些实施例中,物联网业务仿真方法还包括:预制系统获取仿真终端的终端配置信息,以便预制系统根据行业应用配置模板,生成终端配置信息对应的终端业务模型,其中,终端配置信息包括仿真终端使用的模组型号、终端使用的协议、终端对应的at指令组、或者终端所属的行业类型中的一种或多种。
8.在一些实施例中,预制系统通过仿真终端的mcu读写接口,将终端业务模型写入到仿真终端中。
9.在一些实施例中,终端业务模型包括终端仿真控制部分和业务仿真应用部分;预制系统将终端业务模型中的终端仿真控制部分写入到仿真终端的底层模块,将终端业务模型中的业务仿真应用部分写入到仿真终端的网络模块。
10.在一些实施例中,终端仿真控制部分和业务仿真应用部分包括跟踪分析模块,用于采集终端的运行数据并进行记录。
11.在一些实施例中,行业应用配置模板包括签约注册配置、终端应用数据配置、终端唤醒配置、应用数据上行配置、或者应用数据下行配置中的至少一种。
12.在一些实施例中,物联网业务仿真方法还包括:预制系统将终端业务模拟数据写入到仿真终端中,以便仿真终端与仿真业务平台交互业务模拟数据。
13.根据本发明一些实施例的第二个方面,提供一种物联网业务仿真方法,包括:仿真业务平台接收预制系统发送的平台业务模型,其中,平台业务模型是预制系统根据行业应用配置模板生成的,行业应用配置模板是预制系统根据接收的行业类别确定的;仿真业务平台根据平台业务模型进行配置。
14.在一些实施例中,物联网业务仿真方法还包括:仿真业务平台执行预设的脚本,其中,脚本在执行过程中调用已配置的信息。
15.在一些实施例中,物联网业务仿真方法还包括:响应于获取仿真终端发送的终端消息,仿真业务平台根据脚本对终端消息进行解析,获得解析结果;仿真业务平台的脚本执行解析结果对应的处理过程。
16.在一些实施例中,终端消息为注册消息,注册消息是仿真终端附着网络后发送、并且由核心网的网元转发到物联网网关的。
17.根据本发明一些实施例的第三个方面,提供一种用于物联网业务仿真的预制系统,包括:配置模板确定模块,被配置为根据接收的行业类别,确定行业类别对应的行业应用配置模板;模型生成模块,被配置为根据行业应用配置模板,生成仿真终端对应的终端业务模型、以及平台业务模型;写入模块,被配置为将终端业务模型写入到仿真终端中;发送模块,被配置为将平台业务模型发送给仿真业务平台。
18.根据本发明一些实施例的第四个方面,提供一种用于物联网业务仿真的预制系统,包括:存储器;以及,耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种物联网业务仿真方法。
19.根据本发明一些实施例的第五个方面,提供一种仿真业务平台,包括:接收模块,被配置为接收预制系统发送的平台业务模型,其中,平台业务模型是预制系统根据行业应用配置模板生成的,行业应用配置模板是预制系统根据接收的行业类别确定的;模型配置模块,被配置为根据平台业务模型进行配置。
20.根据本发明一些实施例的第六个方面,提供一种仿真业务平台,包括:存储器;以及,耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种物联网业务仿真方法。
21.根据本发明一些实施例的第七个方面,提供一种物联网业务仿真系统,包括:前述任意一种物联网业务仿真的预制系统;以及,前述任意一种仿真业务平台。
22.在一些实施例中,物联网业务仿真系统还包括仿真终端,仿真终端包括:写入接口,被配置为接收仿真终端写入的终端业务模型;处理器,被配置为根据终端业务模型进行处理。
23.根据本发明一些实施例的第八个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任意一种物联网业务仿真方法。
24.上述发明中的一些实施例具有如下优点或有益效果:本发明的实施例根据不同行业终端业务模型进行终端业务模型的预制,并与仿真业务平台对接。通过预制业务模型,可
以触发终端执行驻网、上报数据、接收下行命令、检测网络、休眠等系列流程,仿真业务应用平台侧在收到终端上报的数据后可以根据业务模型进行相应的处理。从而有效地实现了物联网终端业务端到端有效性的检测,提高了物联网终端业务的可靠性,进而能够大幅提高物联网终端大规模上现后的成功驻网率。
25.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1示出了根据本发明一些实施例的物联网业务仿真系统的结构示意图。
28.图2示出了根据本发明一些实施例的物联网业务仿真方法的流程示意图。
29.图3示出了根据本发明一些实施例的仿真终端注册的流程示意图。
30.图4示出了根据本发明一些实施例的仿真终端与仿真业务平台交互的流程示意图。
31.图5示出了根据本发明一些实施例的用于物联网业务仿真的预制系统的结构示意图。
32.图6示出了根据本发明一些实施例的仿真业务平台的结构示意图。
33.图7示出了根据本发明一些实施例的物联网业务仿真装置的结构示意图。
34.图8示出了根据本发明另一些实施例的物联网业务仿真装置的结构示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
37.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
38.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
39.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
40.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
41.图1示出了根据本发明一些实施例的物联网业务仿真系统的结构示意图。如图1所示,该实施例的物联网业务仿真系统10包括预制系统11和仿真业务平台12。
42.预制系统11用于根据待部署的行业类别确定行业应用配置模板,并根据行业应用配置模板生成仿真终端对应的终端业务模型、以及平台业务模型,然后将终端业务模型写入到仿真终端中、将平台业务模型发送给仿真业务平台。
43.仿真业务平台12用于根据平台业务模型进行配置,以便对仿真终端发送的终端消息进行响应。
44.在一些实施例中,物联网业务仿真系统10还可以包括仿真终端13,包括:写入接口,被配置为接收仿真终端写入的终端业务模型;处理器,被配置为根据终端业务模型进行处理。
45.图2示出了根据本发明一些实施例的物联网业务仿真方法的流程示意图。如图2所示,该实施例的物联网业务仿真方法包括步骤s202~s208。
46.在步骤s202中,预制系统根据接收的行业类别,确定行业类别对应的行业应用配置模板。
47.行业应用配置模板包括某个行业的物联网业务使用的通用配置,例如包括签约注册配置、终端应用数据配置、终端唤醒配置、应用数据上行配置、或者应用数据下行配置中的至少一种。
48.例如,对于燃气、水、电等的智能表具,行业应用配置模板可以包括定时采集数据进行上报的周期、包数据类型、包数据内容、包数据大小、终端休眠周期、终端下行控制数据包内容、下行控制周期等。表具类的终端对数据的实时性要求不高,因此在应用中,数据的采集周期、上报周期的间隔都比较大,休眠时间有时较长。例如,采集周期可以设置为12小时或24小时,数据上报周期可以设置为24小时;在数据上报完成后设备进入休眠状态,休眠时长可定义为12小时或24小时;休眠结束后,终端启动并执行数据采集、上报的过程;此外,这类终端还可以设置为每12小时或24小时接收下行控制数据包。
49.又例如,对于智能冰箱、智能空调、智能洗衣机等白色家电,行业应用配置模板可以包括定时采集数据进行上报的周期、包数据类型、包数据内容、包数据大小、终端休眠周期、终端下行控制周期内容、事件触发逻辑与数据上报逻辑等。由于白色家电有一定的数据采集、控制指令响应实时性的要求,并有触发事件的逻辑处理,属于常在线模式。因此,这类终端的数据采集周期可以按应用进行配置,数据上报周期为24小时上报一次,在数据上报完成后设备进入休眠状态,休眠时长可定义为12小时或24小时;休眠结束后,终端启动并执行数据采集、上报的过程;此外,这类终端还可以设置为每12小时或24小时接收下行控制数据包。
50.在一些实施例中,为了进一步提高仿真的灵活性,预制系统还可以在步骤s204之前,接收对行业应用配置模板的业务逻辑的修改。在一些实施例中,可以在预制系统中部署业务模型逻辑模块,该模块相当于一个修改接口,可以接收对行业应用配置模板的进一步修改。例如,对收发信息的时间间隔、设备休眠时间间隔、上行或下行业务数据包大小和类型等进行修改。从而,可以针对各类待仿真的应用确定适当的行业应用配置模板,提高仿真的可靠性。
51.在步骤s204中,预制系统根据行业应用配置模板,生成仿真终端对应的终端业务
模型、以及平台业务模型。从而,终端业务模型、以及平台业务模型是针对相同行业应用的、相互对应的业务模型。例如,仿真终端根据行业应用配置模板,每预设时长上报一次数据,那么仿真应用平台也应当在相应的时间确保能够接收上报的数据。
52.在步骤s206中,预制系统将终端业务模型写入到仿真终端中。仿真终端在根据终端业务模型完成配置后,在上电后可以触发业务流程,例如包括驻网流程、向仿真业务平台注册流程、进入休眠态流程、终端唤醒流程等等。
53.由于仿真终端业务模型比较复杂,因此预制系统通过写入的方式将终端业务模型传输给终端。在一些实施例中,预制系统通过仿真终端的微控制单元(microcontroller unit,简称:mcu)读写接口,将终端业务模型写入到仿真终端中。
54.在一些实施例中,还可以针对终端的具体配置,确定终端业务模型的协议、格式、写入方式等等,以使得终端业务模型能够适用于仿真终端。例如,预制系统获取仿真终端的终端配置信息,以便预制系统根据行业应用配置模板,生成终端配置信息对应的终端业务模型,其中,终端配置信息包括仿真终端使用的模组型号、终端使用的协议、终端对应的at指令组、或者终端所属的行业类型中的一种或多种。at指令是以at作首、字符结束的字符串,用于终端设备与pc应用之间的连接与通信。
55.在一些实施例中,终端业务模型包括终端仿真控制部分和业务仿真应用部分。预制系统将终端业务模型中的终端仿真控制部分写入到仿真终端的底层模块,将终端业务模型中的业务仿真应用部分写入到仿真终端的网络模块。终端仿真控制部分例如用于获取仿真终端采集的数据(该数据可以是真实采集的数据、也可以是模拟数据)、将采集的数据形成预设的格式或进行预设的处理的相关配置;业务仿真应用部分用于数据与仿真应用平台交互的相关配置。从而,仿真终端从底层到网络层,均能够实现数据的生成以及与仿真应用平台的交互,模拟了真实的使用场景,使得仿真结果更具有可信度。
56.在一些实施例中,终端仿真控制部分和业务仿真应用部分包括跟踪分析模块,用于采集终端的运行数据并进行记录。从而,实现了物联网终端业务端到端有效性的检测。
57.在步骤s208中,预制系统将平台业务模型发送给仿真业务平台。仿真业务平台根据平台业务模型进行配置。在收到相应的仿真终端发送的消息后(如注册、数据上报、告警等),即可触发仿真业务平台相应的业务响应流程。
58.在一些实施例中,预制系统将平台业务模型以“能力表单”的方式发送给仿真业务平台。仿真业务平台根据“能力表单”中的卡号、业务地址、协议、模组at指令集等内容,进行相应协议的交互信息、业务控制消息的匹配和各类业务定时器的配置。“能力表单”例如可以集成调用协议基本流程、签约/注册流程,并包括终端的休眠周期、下发控制包内容和周期等数据,从而仿真业务平台中的脚本在执行时可以调用这些信息以便执行相应的逻辑。
59.上述实施例的方法根据不同行业终端业务模型进行终端业务模型的预制,并与仿真业务平台对接。通过预制业务模型,可以触发终端执行驻网、上报数据、接收下行命令、检测网络、休眠等系列流程,仿真业务应用平台侧在收到终端上报的数据后可以根据业务模型进行相应的处理。从而有效地实现了物联网终端业务端到端有效性的检测,提高了物联网终端业务的可靠性,进而能够大幅提高物联网终端大规模上现后的成功驻网率。
60.下面参考图3描述配置后的仿真终端注册的流程。
61.图3示出了根据本发明一些实施例的仿真终端注册的流程示意图。如图3所示,该
实施例的流程包括步骤s302~s312。
62.在步骤s302中,仿真终端使用通信卡附着在无线网络上。
63.在步骤s304中,仿真终端根据终端业务模型中注册相关的配置,向仿真业务平台发送业务请求消息,该业务请求消息为注册消息。
64.在步骤s306中,现网的核心网的网元根据终端的卡号信息、签约信息等终端信息,将业务请求消息指向iot(物联网)网关。iot网关可以与仿真业务平台之间签订控制消息下发代理、消息储存、跟踪日志等功能的协议。
65.在步骤s308中,iot网关根据仿真业务平台的地址,将业务请求消息转发给仿真业务平台。
66.在步骤s310中,仿真业务平台在接收到终端消息后,根据预设的脚本对终端消息进行解析,获得解析结果。脚本根据平台业务模型执行解析过程,例如根据预设的协议。
67.在步骤s312中,仿真业务平台的脚本执行注册过程。脚本根据平台业务模型运行,例如,根据平台业务模型中与注册相关的配置运行。
68.通过上述实施例的方法,仿真终端可以根据终端业务模型中注册相关的配置发起注册,而仿真业务平台也可以根据相应的平台业务模型处理注册请求。并且,核心网中的网元以及物联网网关可以协助请求的转发,使得仿真系统能够最大限度地模拟真实的物联网终端注册功能。从而,有效地实现了物联网终端注册业务有效性的检测,提高了物联网终端业务的可靠性。
69.下面参考图4描述配置后的仿真终端与仿真业务平台交互的流程。
70.图4示出了根据本发明一些实施例的仿真终端与仿真业务平台交互的流程示意图。如图4所示,该实施例的流程包括步骤s402~s406。
71.在步骤s402中,仿真终端根据终端业务模型,在预设条件下向仿真业务平台发送终端消息。例如,在预设的周期到达时唤醒并发送数据、或者在预设的时间发送数据、或者响应于预设事件的触发而发送数据。
72.在一些实施例中,预制系统将所述终端业务模拟数据写入到所述仿真终端中,以便所述仿真终端与所述仿真业务平台交互所述业务模拟数据。从而,仿真终端可以基于业务模拟数据发送终端消息,而无需真实采集数据。
73.终端消息的转发过程可以参考图3的实施例,例如,终端消息经过核心网的网元以及iot网关后,到达仿真业务平台。
74.在步骤s404中,仿真业务平台在接收到终端消息后,根据预设的脚本对终端消息进行解析,获得解析结果。脚本根据平台业务模型执行解析过程,例如根据预设的协议。
75.在步骤s406中,仿真业务平台的脚本执行解析结果对应的处理过程。脚本根据平台业务模型运行。
76.通过上述实施例,仿真终端与仿真业务平台能够实现在规模部署不同业务模型的物联网终端前,有效地检测端到端业务功能及流程的可行性。从而提高了物联网终端业务的可靠性。
77.下面参考图5描述本发明用于物联网业务仿真的预制系统的实施例。
78.图5示出了根据本发明一些实施例的用于物联网业务仿真的预制系统的结构示意图。如图5所示,该实施例的预制系统500包括:配置模板确定模块5100,被配置为根据接收
的行业类别,确定行业类别对应的行业应用配置模板;模型生成模块5200,被配置为根据行业应用配置模板,生成仿真终端对应的终端业务模型、以及平台业务模型;写入模块5300,被配置为将终端业务模型写入到仿真终端中;发送模块5400,被配置为将平台业务模型发送给仿真业务平台。
79.在一些实施例中,预制系统500还包括:修改模块5500,被配置为在生成仿真终端对应的终端业务模型、以及平台业务模型之前,接收对行业应用配置模板的业务逻辑的修改。
80.在一些实施例中,预制系统500还包括:终端配置获取模块5600,被配置为获取仿真终端的终端配置信息,以便模型生成模块5200根据行业应用配置模板,生成终端配置信息对应的终端业务模型,其中,终端配置信息包括仿真终端使用的模组型号、终端使用的协议、终端对应的at指令组、或者终端所属的行业类型中的一种或多种。
81.在一些实施例中,写入模块5300进一步被配置为通过仿真终端的mcu读写接口,将终端业务模型写入到仿真终端中。
82.在一些实施例中,终端业务模型包括终端仿真控制部分和业务仿真应用部分;写入模块5300进一步被配置为将终端业务模型中的终端仿真控制部分写入到仿真终端的底层模块,将终端业务模型中的业务仿真应用部分写入到仿真终端的网络模块。
83.在一些实施例中,终端仿真控制部分和业务仿真应用部分包括跟踪分析模块,用于采集终端的运行数据并进行记录。
84.在一些实施例中,行业应用配置模板包括签约注册配置、终端应用数据配置、终端唤醒配置、应用数据上行配置、或者应用数据下行配置中的至少一种。
85.在一些实施例中,写入模块5300进一步被配置为预制系统将终端业务模拟数据写入到仿真终端中,以便仿真终端与仿真业务平台交互业务模拟数据。
86.下面参考图6描述本发明仿真业务平台的实施例。
87.图6示出了根据本发明一些实施例的仿真业务平台的结构示意图。如图6所示,该实施例的仿真业务平台600包括:接收模块6100,被配置为接收预制系统发送的平台业务模型,其中,平台业务模型是预制系统根据行业应用配置模板生成的,行业应用配置模板是预制系统根据接收的行业类别确定的;模型配置模块6200,被配置为根据平台业务模型进行配置。
88.在一些实施例中,仿真业务平台600还包括:执行模块6300,被配置为仿真业务平台执行预设的脚本,其中,脚本在执行过程中调用已配置的信息。
89.在一些实施例中,仿真业务平台600还包括:处理模块6400,被配置为响应于获取仿真终端发送的终端消息,仿真业务平台根据脚本对终端消息进行解析,获得解析结果;仿真业务平台的脚本执行解析结果对应的处理过程。
90.在一些实施例中,终端消息为注册消息,注册消息是仿真终端附着网络后发送、并且由核心网的网元转发到物联网网关的。
91.图7示出了根据本发明一些实施例的物联网业务仿真装置的结构示意图,物联网业务仿真装置可以是预制系统或者仿真业务平台。如图7所示,该实施例的物联网业务仿真装置70包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一个实施例中的物联网业务仿真方法。
92.其中,存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
93.图8示出了根据本发明另一些实施例的物联网业务仿真装置的结构示意图,物联网业务仿真装置可以是预制系统或者仿真业务平台。如图8所示,该实施例的物联网业务仿真装置80包括:存储器810以及处理器820,还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830,840,850以及存储器810和处理器820之间例如可以通过总线860连接。其中,输入输出接口830为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口。存储接口850为sd卡、u盘等外置存储设备提供连接接口。
94.本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种物联网业务仿真方法。
95.本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
96.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
97.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
98.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
99.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1