一种消息实时同步方法以及集装箱码头作业系统技术方案

技术编号:10491643 阅读:168 留言:0更新日期:2014-10-03 19:03
本发明专利技术适用于集装箱码头管理领域,提供一种消息实时同步方法以及集装箱码头作业系统,从客户端侧所述方法包括:发起业务请求并接收输入的待更新的业务数据,所述业务数据包含有唯一标识该业务数据类型的实时消息ID;发送所述业务数据;接收来自于服务器推送的业务数据,并刷新显示。本发明专利技术用实时消息ID来标记各个不同类型的业务数据,在客户端发起业务请求后,将实时消息ID的业务数据发送至服务器,服务器向客户端推送数据时,按照实时消息ID可以将业务数据准确地推送到预定该业务数据所属消息类型的客户端中,无需向所有的客户端推送数据,减小了网络传输的数据量,保证了数据的一致性和协同性。

【技术实现步骤摘要】
一种消息实时同步方法以及集装箱码头作业系统
本专利技术属于集装箱码头管理领域,尤其涉及一种消息实时同步方法以及集装箱码头作业系统。
技术介绍
随着集装箱运输量持续攀升,集装箱航线不断增加的机遇后面,集装箱码头面临着挑战。运输船舶大型化(超过10000TEU)、专业化以及航运公司联盟化的发展趋势日益明显,从而提高了航运公司的市场谈判地位,也迫使港口进一步向深水化、大型化和专门化方向发展;运输船舶大型化使得港口为争夺干线港的竞争日趋激烈;门到门运输的需求带来以供应链管理为基础的无缝运输要求,海铁等多式联运的发展,使得集装箱码头和港口的服务质量、集疏运设施等成为竞争的焦点。 为了提高码头的服务水平,提升码头的核心竞争力,码头纷纷加快对先进信息通讯技术的应用,提升码头信息化水平。集装箱码头作业系统(CTOS)是支持码头作业的核心系统,包括船舶计划、泊位计划、堆场计划、无线车载系统、闸口管理、EDI系统、单证管理等业务模块,是建设智慧型码头的基础。CTOS的计划和控制模块中,对数据实时性要求特别高,如闸口进出的集装箱在堆场和船舶计划中都必须实时的反应出来;做船舶装船或卸船计划时,集装箱在堆场或船上的位置都应该做相应的改变;中控发送指令或激活作业线等都需要满足数据的实时性;此外,某操作人员对某一数据的操作要实时一致地更新到其他操作人员的操作界面。 而现有的CTOS系统中在数据更新时,包括输入数据或修改删除数据等等,客户端连接到系统后,由于业务数据不分类,使得客户端在更新数据时需要从服务器中下载全部数据,网络中数据传输量过大使得客户端数据更新显示较慢,而且当多个客户端同时发起业务数据更新请求时,容易造成消息堵塞,使得客户端数据的一致性和协同性得不到保证,其中所述一致性是指不同客户端访问同一属性数据时数据要相同,所述协同性是指客户端进行数据更新时要及时更新到其他客户端。
技术实现思路
鉴于上述问题,本专利技术的目的在于提供一种消息实时同步方法、客户端、服务器以及一种集装箱码头作业系统,旨在解决现有集装箱码头作业系统中数据更新缓慢,业务数据的一致性和协同性得不到保证的技术问题。 一方面,从客户端侧,所述消息实时同步方法包括下述步骤: 发起业务请求并接收输入的待更新的业务数据,所述业务数据包含有唯一标识该业务数据类型的实时消息ID ; 发送所述业务数据; 接收来自于服务器推送的业务数据,并刷新显示。 另一方面,从服务器侧,所述消息实时同步方法包括下述步骤: 启动套接字监听以及消息队列扫描线程,在检测到有客户端连接到服务器时将连接信息添加到客户端的套接字列表; 接收来自于客户端的业务数据; 调用业务中间层接口解析并处理所述业务数据,处理成功后将业务数据更新到数据库中,并组成实时包后写入消息队列; 读取消息队列中的业务数据,并根据所述业务数据中的实时消息ID将所述业务数据推送至客户端。 第三方面,所述客户端包括: 业务发起单元,用于发起业务请求并接收输入的待更新的业务数据,所述业务数据包含有唯一标识该业务数据类型的实时消息ID ; 数据发送单元,用于发送所述业务数据; 数据刷新显示单元,用于接收来自于服务器推送的业务数据,并刷新显示。 第四方面,所述服务器包括: 消息监听单元,用于启动套接字监听以及消息队列扫描线程,在检测到有客户端连接到服务器时将连接信息添加到客户端的套接字列表; 数据接收单元,用于接收来自于客户端的业务数据; 消息处理写入单元,用于调用业务中间层接口解析并处理所述业务数据,处理成功后将业务数据更新到数据库中,并组成实时包后写入消息队列; 数据读取推送单元,用于读取消息队列中的业务数据,并根据所述业务数据中的实时消息ID将所述业务数据推送至客户端。 第五方面,所述集装箱码头作业系统包括至少一个所述的客户端、一个服务器以及与所述服务器连接的数据库,所述客户端与所述服务器有线或无线连接。 本专利技术的有益效果是:本专利技术技术方案用实时消息ID来标记各个不同类型的业务数据,在客户端发起业务请求后,将实时消息ID的业务数据发送至服务器,所述服务器将业务数据存于消息队列中这样将服务器向客户端推送数据时,按照实时消息ID可以将业务数据准确地推送到预定该业务数据所属消息类型的客户端中,无需向所有的客户端推送数据,减小了网络传输的数据量,保证了数据的一致性和协同性。 【附图说明】 图1是本专利技术第一实施例提供的消息实时同步方法的流程图; 图2是本专利技术第二实施例提供的消息实时同步方法的流程图; 图3是本专利技术第三实施例提供的消息实时同步方法的流程图; 图4是本专利技术第四实施例提供的消息实时同步方法的流程图; 图5是本专利技术第五实施例提供的客户端的结构方框图; 图6是本专利技术第六实施例提供的客户端的结构方框图; 图7是本专利技术第七实施例提供的服务器的结构方框图; 图8是本专利技术第八实施例提供的服务器的结构方框图; 图9是本专利技术第九实施例提供的集装箱码头作业系统的结构图; 图10是本专利技术第十实施例提供的集装箱码头作业系统的结构图; 图11是本专利技术第十一实施例提供的集装箱码头作业系统的结构图。 【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。 实施例一: 图1示出了本专利技术第一实施例提供的消息实时同步方法的流程,为了便于说明仅不出了与本专利技术实施例相关的部分。 本实施例从客户端侧描述了消息实时同步方法的步骤,包括: 步骤S101、发起业务请求并接收输入的待更新的业务数据,所述业务数据包含有唯一标识该业务数据类型的实时消息ID ; 步骤S102、发送所述业务数据; 步骤S103、接收来自于服务器推送的业务数据,并刷新显示。 所述待更新的业务数据为集装箱码头作业系统中当前需要变更的数据,包括增力口、修改、删除数据等等,具体而言可以为船舶位置数据、堆场集装箱数据、闸口数据等等一系列数据,这些数据需要及时的反应在各个客户端中,本实施例中的待更新的业务数据中包含有用于唯一标识该业务数据类型的实时消息ID,在获取到待更新的业务数据后,发送所述业务数据,服务器再将所述业务数据存储消息队列中,由于可能会存在多个客户端同时进行数据操作,因此在服务器中通过以消息队列方式存储接收到的业务数据,再根据所述业务数据中的实时消息ID将消息(即业务数据)推送到预定该业务数据类型的客户端中,无需推送到所有客户端,降低了网络传输数据量,有利于加快数据更新速度。 实施例二: 图2示出了本专利技术第二实施例提供的消息实时同步方法的流程,为了便于说明仅不出了与本专利技术实施例相关的部分。 本实施例同样从客户端侧描述了消息实时同步方法的步骤,具体包括: 步骤S201、注册当前窗口所需关注的消息类型; 步骤S202、判断所述消息类型是否存在,若存在则将当前窗口句柄添加到相应的实时消息列表中。否则先创建所述消息类型对应的实时消息ID再添加窗口句柄。 上述两个步骤主要描述了创本文档来自技高网
...

【技术保护点】
一种消息实时同步方法,其特征在于,所述方法包括:发起业务请求并接收输入的待更新的业务数据,所述业务数据包含有唯一标识该业务数据类型的实时消息ID;发送所述业务数据;接收来自于服务器推送的业务数据,并刷新显示。

【技术特征摘要】
1.一种消息实时同步方法,其特征在于,所述方法包括: 发起业务请求并接收输入的待更新的业务数据,所述业务数据包含有唯一标识该业务数据类型的实时消息ID ; 发送所述业务数据; 接收来自于服务器推送的业务数据,并刷新显示。2.如权利要求1所述方法,其特征在于,所述发起业务请求并接收用户输入的待更新的业务数据,所述业务数据包含有唯一标识该业务数据类型的实时消息ID步骤之前,还包括: 根据当前窗口所需预定的消息类型,创建实时消息ID。3.如权利要求2所述方法,其特征在于,所述根据当前窗口所需关注的消息类型,创建实时消息ID步骤,具体包括: 注册当前窗口所需关注的消息类型; 判断所述消息类型是否存在,若存在则将当前窗口句柄添加到相应的实时消息列表中。否则先创建所述消息类型对应的实时消息ID再添加窗口句柄。4.如权利要求3所述方法,其特征在于,所述判断所述消息类型是否存在,若存在则将当前窗口句柄添加到相 应的实时消息列表中。否则先创建所述消息类型对应的实时消息ID再添加窗口句柄步骤之后,包括: 当窗口无需关注其中的消息类型时,从相应的实时消息列表中删除所窗口对应的窗口句柄。5.如权利要求4所述方法,其特征在于,所述发送所述业务数据步骤之前还包括: 检测输入的待更新的业务数据的合法性。6.如权利要求1-5任一项所述方法,其特征在于,所述接收来自于服务器推送的业务数据,并刷新显示步骤具体包括: 启动实时监听线程并初始化,连接到服务器; 接收到服务器推送的业务数据后,分析所述业务数据并组织成Table格式的数据包; 调用所有的业务层的实时处理方法对所述数据包进行数据更新; 更新数据完毕后,根据所述数据包中的实时消息ID通知预定该消息的窗口界面,并更新显示。7.一种消息实时同步方法,其特征在于,所述方法包括: 启动套接字监听以及消息队列扫描线程,在检测到有客户端连接到服务器时将连接信息添加到客户端的套接字列表; 接收来自于客户端的业务数据; 调用业务中间层接口解析并处理所述业务数据,处理成功后将业务数据更新到数据库中,并组成实时包后写入消息队列; 读取消息队列中的业务数据,并根据所述业务数据中的实时消息ID将所述业务数据推送至客户端。8.如权利要求7所述方法,其特征在于,所述读取消息队列中的业务数据,并根据所述业务数据中的实时消息ID将所述业务数据推送至客户端步骤具体包括: 读取消息队列中的业务数据;根据所述业务数据中的实时消息ID,采用多播方法将所述业务数据推送至预定该业务数据所属消息类型的客户端。9.一种客户端,其特征在于,所述客户端包括: 业务发起单元,用于发起业务请...

【专利技术属性】
技术研发人员:吴少聪杨玉林高磊龚卫龙张毅杜俊文沈卓明卢赞新钟欢颜银慧刘晖
申请(专利权)人:招商局国际信息技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1