• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 11
    • 下载费用:30 金币  

    重庆时时彩龙虎路珠图: 一种通用的客户端与服务端数据绑定的方法.pdf

    关 键 词:
    一种 通用 客户端 服务端 数据 绑定 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201210419623.3

    申请日:

    2012.10.26

    公开号:

    CN103793384A

    公开日:

    2014.05.14

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20121026|||公开
    IPC分类号: G06F17/30; H04L29/06 主分类号: G06F17/30
    申请人: 上海宝信软件股份有限公司
    发明人: 李海刚; 应海金; 沈杰; 蔡姗姗
    地址: 201203 上海市浦东新区张江高科技园区郭守敬路515号
    优先权:
    专利代理机构: 上海汉声知识产权代理有限公司 31236 代理人: 郭国中
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201210419623.3

    授权公告号:

    ||||||

    法律状态公告日:

    2017.09.19|||2014.06.11|||2014.05.14

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明提供一种通用的客户端与服务端数据绑定的方法,它通过设计通用的数据交换格式及绑定接口,将客户端画面数据直接与服务端数据对象绑定,实现客户端画面与服务端进程数据双向交换。本发明设计的数据格式具有很高的通用性,适合各种控件数据结构,特别是Grid、Chart等数据长度可变的结构;同时具有较高的效率,格式简单、清晰,易于人的阅读与书写。本方法对画面中常用控件如TextBox、Lable、Grid、Chart等控件在服务端和客户端分别进行封装,降低了应用开发难度,提高了前后开发效率。本发明解决了服务端C++进程与客户端.net进程的数据交换问题,使得应用可将大量的业务逻辑放在服务端实现,方便与服务端其它进程间的信息交换,同时减轻客户端画面进程负荷,提高画面反应速度。

    权利要求书

    权利要求书
    1.  一种通用的客户端与服务端数据绑定的方法,其特征在于,以画面逻辑区域为数据处理基本单元,通过客户端和服务端数据绑定接口、以及客户端和服务端数据交换格式,将客户端.NET控件直接与服务端C++控件绑定,使客户端与服务端之间双向交换进程数据,
    所述客户端和服务端数据绑定接口包括客户端向服务端注册数据结构接口、客户端画面激活及未激活接口、客户端向服务端发送数据接口、服务端向客户端发送数据接口,
    所述客户端和服务端数据交换格式用于客户端.NET数据对象和服务端C++数据对象之间的数据转换,客户端和服务端数据交换格式包括描述数据结构的数据头和存放实际数据的数据体,数据头包含了控件属性、类型、结构信息,服务端及客户端根据数据头信息,实现对数据体的编码及解码。

    2.  根据权利要求1所述的通用的客户端与服务端数据绑定的方法,其特征在于:客户端通过所述客户端向服务端注册数据结构接口,将画面逻辑区域包含的控件对象数据结构组织为客户端和服务端数据交换格式向服务端注册,服务端根据数据结构解析及编码控件实际数据。

    3.  根据权利要求1所述的通用的客户端与服务端数据绑定的方法,其特征在于:服务端通过所述客户端画面激活及未激活接口,根据当前客服端的状态决定是否发送数据,即仅在客户端激活状态时才交换数据。

    4.  根据权利要求1所述的通用的客户端与服务端数据绑定的方法,其特征在于:客户端通过所述客户端向服务端发送数据接口,主动将画面逻辑区域包括的控件数据组织为客户端和服务端数据交换格式送给服务端,服务端根据数据结构解析数据并进一步作业务处理。

    5.  根据权利要求1所述的通用的客户端与服务端数据绑定的方法,其特征在于:服务端通过所述服务端向客户端发送数据接口,根据业务逻辑组织数据并发送给客户端,客户端将客户端和服务端数据交换格式数据解析为控件对象数据并刷新数据。

    6.  根据权利要求1所述的通用的客户端与服务端数据绑定的方法,其特征在于:所述客户端和服务端数据交换格式支持基本数据、以及多层次结构的复杂数据。

    7.  根据权利要求1所述的通用的客户端与服务端数据绑定的方法,其特征在于:客户端对.NET控件进一步封装,增加控件serverKey属性及数据类型信息,其中:控件serverKey属性用于建立控件与画面逻辑区域的所属关系;数据类型信息指定了实际数据类型;服务端相应地根据.NET控件数据特性封装C++数据类型,使得.NET控件与C++数据对象一一对应。

    说明书

    说明书一种通用的客户端与服务端数据绑定的方法
    技术领域
    本发明涉及计算机信息技术领域,具体涉及一种通用的客户端与服务端数据绑定的方法。
    背景技术
    在冶金过程控制计算机系统中,主要业务逻辑在服务端实现,采用具有较高性能的C++语言开发,一般部署在LINUX系统服务器中;而客户端画面使用.NET语言开发,部署在多台WINDOWS客户端机器中。因此需要解决服务端C++程序与客户端.NET画面的数据交换问题。一般的解决方法通过数据库进行交换数据,即服务端将数据放入ORACLE或DB2数据库中,客户端画面直接从数据库获取数据。这种方法的特点是架构简单,但存在的问题是客户端的数量存在限制,因为数据库的连接数存在限制。所以需要服务端与客户端直接进行数据交换,即通过建立socket连接交换数据。服务端与客户端采用了不同语言开发,因此客户端画面与服务端进程之间的数据交换需要转换成一种编码格式。在大多数的客户端/服务器架构的系统中,使用可扩展标记语言(eXtensible Markup Language,简称XML)来携带交换数据信息。例如申请号为“201010571730.9”、名称为“异步跨域传输XML数据的方法、客户端和服务端”的中国发明专利申请。又例如申请号为“200810123845.4”、名称为“基于XML的异源数据交换中间件的数据展示方法”的中国发明专利申请。这两个专利申请公开的技术方案均使用XML语言具有很高的可读性,具有规范的标签形式。但是在有需要高速和高效率的要求的情况下,XML语法需要添加过多的语法标记,而使得传输的数据过于庞大。目前市场上缺乏有效的针对C++服务端与C#客户端的数据交换方法。本发明设计的数据格式具有很高的通用性,适合各种控件数据结构,特别是Grid、Chart等控件对应的数据长度可变的结构;具有较高的效率,格式简单、清晰,易于人的阅读与书写。
    发明内容
    针对现有技术中的缺陷,本发明提供了一种通用的客户端与服务端数据绑定的方法,本发明提供的方法通过设计客户端和服务端数据交换格式和数据绑定接口,将客户端画面.NET控件直接与服务端C++控件对象绑定,解决服务端C++进程与画面C#进程的数据交换问题,使得应用可将大量的业务逻辑放在服务端实现,方便与服务端其它进程间的信息交换,同时减轻客户端画面进程负荷,提高画面反应速度。
    本发明提供一种通用的客户端与服务端数据绑定的方法,其特征在于,以画面逻辑区域为数据处理基本单元,通过客户端和服务端数据绑定接口、以及客户端和服务端数据交换格式,将客户端.NET控件直接与服务端C++控件绑定,使客户端与服务端之间双向交换进程数据,
    所述客户端和服务端数据绑定接口包括客户端向服务端注册数据结构接口、客户端画面激活及未激活接口、客户端向服务端发送数据接口、服务端向客户端发送数据接口,
    所述客户端和服务端数据交换格式用于客户端.NET数据对象和服务端C++数据对象之间的数据转换,客户端和服务端数据交换格式包括描述数据结构的数据头和存放实际数据的数据体,数据头包含了控件属性、类型、结构信息,服务端及客户端根据数据头信息,实现对数据体的编码及解码。
    所述客户端和服务端控件封装实现了客户端.NET控件和服务端C++控件对象的数据映射。本方法对画面中常用控件如TextBox、Lable、Grid、Chart等控件在服务端和客户端分别进行封装。
    优选地,客户端通过所述客户端向服务端注册数据结构接口,将画面逻辑区域包含的控件对象数据结构组织为客户端和服务端数据交换格式向服务端注册,服务端根据数据结构解析及编码控件实际数据。
    优选地,服务端通过所述客户端画面激活及未激活接口,根据当前客服端的状态决定是否发送数据,即仅在客户端激活状态时才交换数据,从而降低数据流量,提高应用效率。
    优选地,客户端通过所述客户端向服务端发送数据接口,主动将画面逻辑区域包括的控件数据组织为客户端和服务端数据交换格式发送给服务端,服务端根据数据结构解析数据并进一步作业务处理。
    优选地,服务端通过所述服务端向客户端发送数据接口,根据业务逻辑组织数据并发送给客户端,客户端将客户端和服务端数据交换格式数据解析为控件对象数据并刷新数据。
    优选地,所述客户端和服务端数据交换格式具有良好的通用性,不仅支持基本数据、以及多层次结构的复杂数据,如表格、趋势图等控件数据。
    优选地,客户端对.NET控件进一步封装,增加控件serverKey属性及数据类型信息,其中:控件serverKey属性用于建立控件与画面逻辑区域的所属关系;数据类型信息指定了实际数据类型;服务端相应地根据.NET控件数据特性封装C++数据类型,使得.NET控件与C++数据对象一一对应,简化了客户端的配置,方便服务端数据的操作。
    为了实现上述的目的,本发明采用更为具体的如下技术方案:
    服务端与客户端采用不同的语言开发,因此需要将服务端与客户端数据转换为一种通用的数据格式。这种编码格式需要满足以下需求:1.独立于特定编程语言,因为服务端与客户 端采用了不同的开发语言。2.采用文本格式,易于阅读和书写,且便于两种开发语言的解析与编码。3.具有良好的通用性,不仅支持简单的数据结构,如Text、Label等具有固定格式的控件,而且要支持复杂的多层次数据结构,如Grid控件,不同Grid控件对象的列名、类型、列数是不固定,即使相同Grid控件对象,它的数据行数是变化的。4.轻量级且高效率的数据格式,XML语言具有很高的可读性,具有规范的标签形式,但存在过多的语法标记所导致的冗余数据过大问题,不利于提高数据交换性能。本发明的数据格式采用了数据结构的描述信息与实际数据相分离的手段,将数据格式分为数据头区域与数据体区域。在数据头区域中存放的信息包括标记关键字、属性名称、属性类型。在数据体区域中存放的信息包括标记关键字、实际数据。数据头与体之间以标记关键字互相对应,实现了带有自描述信息的一个交换数据格式。
    服务端与客户端要实现数据交换需要定义一系列绑定接口。一般系统客户端需要部署到多台终端,客户端由多幅画面组成,一幅画面根据数据来源或者数据处理方式可以逻辑划分为多个区域,每个区域包含多个控件。本发明以画面逻辑区域为基本单元,每个画面逻辑区域关联一个或多个服务端数据处理单元。为了实现客户端画面逻辑区域与服务端数据处理单元之间的数据交换定义多个绑定接口,包括客户端向服务端注册数据结构接口、客户端画面激活及未激活接口、客户端向服务端发送数据接口、服务端向客户端发送数据接口。
    所述客户端向服务端注册数据结构接口实现了客户端画面逻辑区域内所有控件向服务端注册数据结构的功能??突Ф?NET控件包括多个属性信息,属性值可以是基本数据类型,如int、float、string等类型,也可以是复杂类型,即属性分为多个子属性,如Grid控件的Row属性可以包含多列信息。当客户端画面逻辑区域初始化时,客户端将所有控件数据结构组织为通用交换格式,通过socket通讯方式发送至服务端,相应服务端处理单元保存数据结构信息,以便后续实际数据的交换。
    所述画面激活及未激活接口实现了客户端画面状态通知服务端功能??突Ф说鼻氨囟ń鲇幸桓被娲τ诩せ钭刺?,其它画面均处于非激活状态。因此对于特定服务端数据处理单元仅在相应画面逻辑区域处于激活状态时才需发送数据至客户端,即服务端数据处理单元当接收到客户端画面激活时,立即将数据发送至客户端;服务端数据处理单元当接收到客户端画面未激活时,停止将数据发送至客户端。通过这个接口,可以有效减少服务端与客户端数据交换。
    所述客户端向服务端发送数据接口实现了客户端画面逻辑区域内所有.NET控件数据组织为通用交换格式发送至服务端的功能。当客户端画面逻辑区域内的按钮控制被触发时,自动收集该区域内所有控件数据,组织为通用交换格式,通过socket方式发送至服务端数据处理 单元;服务端处理单元解析通用交换格式数据,并转换为C++控件对象,再进行相应业务逻辑处理。
    所述服务端向客户端发送数据接口实现了服务端数据处理单元将C++控件对象数据组织为通用交换格式发送至客户端功能。服务端处理单元进行相关业务处理之后,将C++控件对象数据组织为通用交换格式,通过socket方式发送至客户端画面逻辑区域;客户端画面逻辑区域解析通用交换格式数据,并刷新.NET控件。
    本发明提供了一系列常用控件的客户端及服务端封装,如TextBox、Lable、Grid、Chart等控件??突Ф嘶婵煞治桓龌蚨喔龌媛呒?,每个控件必定要关联至一个画面逻辑区域。通过对.NET控件的封装新增了逻辑区域属性,指定控件属于哪个画面逻辑区域;服务端根据.NET控件的操作特性封装了C++控件数据类型,方便对控件数据的处理。
    附图说明
    通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
    图1为本发明的架构图;
    图2为客户端和服务端数据交换格式原理图;
    图3为本发明的结构图。
    具体实施方式
    为了能够更清楚地理解本发明的技术内容,以下结合附图和实施例对本发明的技术方案作进一步的解释。
    本发明提供了一种通用的客户端与服务端数据绑定的方法。
    图1为根据本发明所提供方法的架构图,包括一个服务器和多个客户机,服务器与客户机通过局域网连接。服务端部署在服务器上,采用C++语言开发,具有较高的执行效率;客户端部署在多个客户机上,采用.NET语言开发。
    本发明的实施包括客户端和服务端数据交换格式实现、客户端和服务端绑定接口实现和客户端和服务端控件对象封装。
    1)客户端和服务端数据交换格式实现
    所述客户端和服务端数据交换格式实现了客户端.net数据对象和服务端C++数据对象数据转换。通用数据格式包括结构数据描述和实际数据描述。结构数据描述包含了控件属性、类型、结构等信息;实际数据描述包含了实际属性值信息。服务端及客户端根据数据头信息,实现对数据体的编码及解码。图2为客户端和服务端数据交换格式原理图。
    所述结构数据描述格式包括KEY值和VALUE值两部分,KEY值为控件名称,VALUE值为控 件属性描述,可同时包含多个控件数据结构信息。一个控件包含多个属性,属性之间用逗号隔开,属性包含名称、数据类型信息。数据类型目前支持INT、FLOAT、DOUBLE及STRING型。若属性是复杂结构,如Grid的Row属性下包含多列属性,则该属性用“[“和”]”包含多个属性。依次类推,因此通过这种数据格式可以描述任何类型控件数据结构信息。
    所述实际数据描述格式包括KEY值和VAULE值两部分,KEY值为控件名称或关联关系名称,VAULE值为属性值,可同时包含多个控件实际数据信息。属性值之间以”,”号分隔,根据值所在位置与结构数据描述的属性名称及数据类型信息实现一一对应。对于复杂属性,其值为格式为“ref:<伪值>“的值,其中伪值为随机值,通过该值关联至另一项数据值;复杂属性可以包含多组属性值,组与组之间通过”;”分隔,如Grid控件包含多行数据。
    例如客户端某画面逻辑区域包含一个Textbox控件及Grid控件,则其客户端和服务端数据格式如表一:
    表一 客户端和服务端数据交换格式示例

    结构数据描述定义了两个控件的数据结构:txt1控件包含四个属性,包括名称、text值、背景色及前景色;grid1控件包含两个属性,其中”Grid”属性复杂数据类型,表示该Grid控件包括4列数据,分别定义了每列的数据类型。实际数据描述包含了两个控件的数据,其中grid1控件包含了3行数据。
    2)客户端和服务端绑定接口实现
    所述客户端和服务端数据绑定接口实现包括服务端绑定接口实现和客户端绑定接口实现。服务端绑定接口实现包括服务端SOCKET组件、C++数据交换格式编码解析组件、服务端绑定接口实现组件及服务端数据处理单元??突Ф税蠖ń涌谑迪钟煽突Ф薙OCKET组件、.NET数据交换格式编码解码组件、客户端绑定接口实现组件和画面逻辑区域。图3为本发明的结构图??突Ф擞敕穸送ü钟蛲鳷CP/IP协议通讯。
    所述客户端和服务端数据绑定接口包括客户端向服务端注册数据结构接口、客户端画面 激活及未激活接口、客户端向服务端发送数据接口、服务端向客户端发送数据接口??突Ф擞敕穸送ü庑┒丝谑迪质萁换?。
    所述客户端向服务端注册数据结构接口实现了客户端画面逻辑区域内所有控件向服务端注册数据结构的功能。其接口定义如下:
      void clientStandby(string formKey,SvrDtStructMap svrDtStruct)
    其中参数formKey为逻辑区域所在画面ID,参数svrDtStruct为画面包含的所有逻辑区域的结构数据描述信息。其具体步骤如下:
    a)客户端画面初始化打开时,画面逻辑区域分别收集关联控件数据结构信息,包括属性名称、数据类型等信息。
    b).NET数据交换格式编码解析组件将逻辑区域控件数据结构信息组织为客户端服务端数据交换格式,即结构数据描述格式。
    c)客户端绑定接口实现组件获取formKey等信息调用ClientStandby接口。
    d)客户端SOCKET通讯组件将信息发送至服务端。服务端SOCKET通讯组件接收客户端数据。
    e)服务端C++数据交换格式编码解析组件将客户端结构数据描述数据转换为C++对象。
    f)服务端绑架接口实现组件根据serverKey关键字调用相应数据处理单元。
    所述画面激活及未激活接口实现了客户端画面状态通知服务端功能。其接口定义如下:

    其中第参数clientKey为客户端ID,参数formKey为逻辑区域所在画面ID。其具体步骤如下:
    a)客户端画面切换为当前画面或从当前画面切换为后台画面。
    b)客户端绑定接口实现组件获取clientKey和formKey等信息调用clientActive或clientUnactive接口。
    c)客户端SOCKET通讯组件将信息发送至服务端。服务端SOCKET通讯组件接收客户端数据。
    d)服务端绑定接口实现组件根据客户机clientKey及画面formKey记录画面状态信息,并根据serverKey调用相应服务端处理单元。
    e)服务端数据处理单元调用相应接口。
    所述客户端向服务端发送数据接口实现了客户端画面逻辑区域内所有.NET控件数据组织为通用交换格式并发送至服务端的功能。接口定义如下:
      void sendData2Server(DataMap data,string clientKey,string formKey,string serverKey)
    其中参数data为数据实体信息,参数clientKey为客户端ID,参数formKey为画面ID,参数serverKey为区域ID。其具体步骤如下:
    a)客户端画面点击按钮控件,按钮关联控件逻辑区域收集区域内所有关联控件数据。
    b)客户端.NET数据交换格式编码解析组件将逻辑区域实际数据结构信息组织为客户端服务端数据交换格式,即实际数据描述格式。
    c)客户端绑定接口实现组件获取clientKey、formKey信息调用sendData2Server接口。
    d)客户端SOCKET通讯组件将信息发送至服务端。服务端SOCKET通讯组件接收客户端数据。
    e)服务端C++数据交换格式编码解码组件将实际数据描述格式解析为C++控件对象。
    f)服务端绑定接口实现组件根据客户机clientKey及画面formKey记录画面状态信息,并根据serverKey调用相应服务端处理单元。
    g)服务端数据处理单元调用相应接口。
    所述服务端向客户端发送数据接口实现了服务端数据处理单元将C++控件对象数据组织为通用交换格式发送至服务端功能。其接口定义如下:

    其中sendData2Client接口将数据发送至特定客户端;sendData2AllClient将数据发送至所有客户端;参数clientKey为客户端ID,参数serverKey为逻辑区域ID,data为具体数据。其具体步骤如下:
    a)服务端数据处理单元根据业务逻辑组织控件数据。
    b)服务端C++数据交换格式编码解码组件将C++数据转换为实际数据描述格式。
    c)服务端绑定接口实现组件根据需要调用sendData2Client或sendData2AllClient接口。
    d)服务端SOCKET通讯组件将信息发送至客户端??突Ф薙OCKET通讯组件接收服务端数据
    e)客户端.NET数据交换格式编码解析组件将实际数据描述格式数据组织为控件数据。
    f)客户端绑定接口实现组件根据serverKey设置相应逻辑区域内控件数据。
    3)客户端和服务端控件对象封装
    所述客户端和服务端控件对象封装提供了常用控件的客户端和服务端封装??突Ф硕猿S?NET控件进一步封装,增加serverKey属性及数据类型信息??丶erverKey属性建立了控件与画面逻辑区域的所属关系;数据类型信息指定了实际数据类型;服务端相应的根据.NET 控件数据特性封装了C++数据类型。表二为客户端和服务端控件对象封装。
    表二 客户端和服务端控件对象封装
      控件  客户端(.NET)控件  服务端(C++)控件对象  表格控件  BindingFlexGrid  HMIGrid  趋势图控件  BindingChart  HMIChart  文本框控件  BindingTextBox  HMIText<T>  复选框控件  BindingCheckBox  HMICheckBox<T>  单选框控件  BindingRadioButton  HMIRadioBox<T>  下拉框控件  BindingComboBox  HMIComBox<T>  标签控件  BindingLable  HMILabel<T>  图片控件  ImmediateBindingProvider  HMIImageBox
    以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

    关于本文
    本文标题:一种通用的客户端与服务端数据绑定的方法.pdf
    链接地址://www.4mum.com.cn/p-6185549.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 新版gb直播 福利彩票站申请流程 百搭二王送彩金 沈阳四冲娱网棋牌官网 重庆时时彩彩开奖时间 澳客彩票单场北京单场 江苏快三大小准赢技巧 山西11选5赚钱方法 近30期双色球走势 pk10走势图杀码技巧 刘刘伯温六肖管五期 赌场转盘绝密技巧玩法 欢乐生肖开奖直播 百练赛输到倾家荡产 qka棋牌大厅官网 黑龙江十一选五手机板