Page 63 - 智慧地铁建设实践与创新研究
P. 63

第二章 智慧地铁建设技术架构及关键技术




                 (2)数组:数组是值的有序集合。一个数组以左中括号作为开始标志,以
             右中括号作为结束标志。值之间使用逗号分隔。
                 对图 2-12 的输出结果进行具体说明,输出结果的 JSON 形式都是嵌套结构。

             其中“event”表示消息类型,“ASR”代表语音消息,“NLU”代表查询结果
             消息;“status”表示查询状态,0 代表解析到正常的查询结果,1 代表没有查询

             到结果,-1 代表需要暂停语音服务,除此之外的数值表示错误,需要重新输入语
             音等待查询结果;“param”的值是一个对象,这个对象中的“count”表示车票
             数量,“price”表示起始站到目的站的票价,“text”显示乘客输入的语音内容,
            “station”是一个数组,包括多个对象,表示的是所有可能目的站的信息。“station”

             中“code”表示目的站的约定编号,“distance”表示从目的站到最终目的地的距离,
            “exit”表示地铁站出口,“path”表示的是起始站、中转站、目的站的阿里编号,

             “poi”表示目的地,“poih”表示目的地的经纬度,“time”表示整个行程估计
             消耗的时间,“total”表示整条路径途径的总站数。
                 2. 语音售票模块的接口设计
                 语音售票模块分布于整个软件架构的业务层和应用层,涵盖了所有的语音售

             票业务流程。本部分通过分析这两层的功能接口,来介绍语音售票模块的实现逻辑。
             注意此节中的应用层只是涉及界面对象的成员方法,因为和业务层关系联系紧密,

             所以在此一同介绍。业务层将涉及语音模组功能的底层逻辑进行封装集成,简化
             语音售票的流程逻辑。业务层的接口主要是模块实例的创建与销毁、语音模组的
             打开与关闭以及语音模组数据传输时的响应处理。各个接口函数的功能见表 2-2。
                 应用层满足乘客语音购票时的一切操作,从某种程度上讲,乘客与售票软件

             的交互实际就是与接口函数的交互。应用层的接口函数是逻辑集成度最大的接口,
             几乎不掺杂多余的业务逻辑,仅是通过调用的方式实现最基本加载、更新等操作。

             在设计应用层的接口前需要确定进入每一售票界面的触发条件,才能保证每个界
             面应该具备的功能,从而获得所需接口。比如,进入线网选择界面的条件有开机
             启动、交易结束、取消操作、摄像头捕获人像失败。其中的取消操作是属于其他
             部分界面应该具有的功能。例如,从语音输入界面退至线网选择界面,需要有一

             个取消或者关闭按钮。此部分针对语音售票涉及的语音消息输入界面和路径查询
             结果信息界面进行接口设计。



                                                                                  ·51·
   58   59   60   61   62   63   64   65   66   67   68