2017 2nd International Conference on Computer Science and Technology (CST 2017) ISBN: 978-1-60595-461-5
A Unified Data Publishing Protocol in
Health Big Data Processing
Hui-jie ZHOU
1,a,*and Yong WANG
21College of Computer Science and Technology, Beijing University of Technology, Beijing, china, 100124
*Corresponding author
Keywords: Health Big Data, Data Publishing Protocol, TCP, Socket.
Abstract. In the big data cloud platform construction of health, it is necessary to develop a data publishing standard to shield the differences of big data applications. In this paper, we studied a unified data publishing protocol in health big data processing by using the ASN.1 language to describe the data and taking the BER rules as encoding
and decoding solution. We provided two kinds of data services: health data querying and health status warning. Finally, we proved that two services are feasible in the experiments.
Introduction
Health big data[1][2][3] research, which is the current hot topic, has caused the wide attention of the society. In recent years, the study of user's health information has obtained certain achievement. In these studies, the author chose the different functions of focus, using different techniques, different development tools, have achieved good results. However, in order to promote the health big data, we still need more detailed study in many problems of big data cloud platform construction.
In health monitoring big data cloud platform[4] construction, different kinds of client, the different kinds of monitoring equipment[5], all need a unified network protocol[6] to communicate with the health monitoring cloud platform.
In this paper, we studied and made a unified data publishing protocol[7][8] in health big data processing, and provided the data publishing rules and data acquisition interface to solve the problem of data. Specifically, this study choose the urban and rural residents' health records[9] basic data collection, which put forward by the committee of health information standards from the ministry of health and approved by the ministry of health, as a health monitoring data set. This study used the ASN.1
(Abstract Syntax Notation One)[10] language to describe the data, and used the BER
(Basic Encoding Rules)[11] rules as encoding and decoding solution, and designd the
protocol message structure, the interactive instruction and the interactive process specification for the unified data publishing protocol. Finally, this study used the java
language to develop application programming interface[12], supporting for the health monitoring big data cloud platform and the development of the application software.
Architecture of the Health Monitoring Big Data Cloud Platform
managed here; Last, providing data services to client based on a unified data publishing protocol. The structure of the health monitoring big data cloud platform is shown in Fig.1.
Figure 1. The structure of the Health Monitoring Big Data Cloud Platform.
Health monitoring big data cloud platform can provide two kinds of service for third-party applications: health data querying data and health status alarming. In particular, all health data that needs to be monitored will be pre-defined in the HMIB
(Health Monitoring Information Base). For the service of querying data, the cloud
platform server handles various query requests issued by the client about the HMIB
information and generates a response message. For the service of health status alarming, when the health monitoring and evaluation center and other health data applications found that the abnormal health status, the cloud platform server will generate an alarm message, and then send the message to designated port of the device through the network. It can help people who may concern to understand the regular information or abnormal situation.
The Unified Data Publishing Protocol
Data Representation
The ASN.1 describes the way of the data representation, the way of the data encoding
and decoding and the way of the data transmission format. This paper use asn.1
language to provide a unified network data representation, the definition of health monitoring object data type and the other the relationship between the health monitoring objects. The definition of the health monitoring information format is defined as follows:
healthmonitoringobject OBJECT-TYPE
SYNTAX integer
ACCESS read-write
DESCRIPTION "the description of the health monitoring object "
::= { parentobjectidentifier number}
The healthmonitoringobject is the name of the monitored object; SYNTAX field is
used to specify the abstract syntax of the health monitoring object type. As the integer Data incoming protocol
All kinds of health service application layer
Manage data efficiently
Store and organize data
Health monitoring devices layer
Healt
h s
tat
e feedb
ack
Data publishing protocol
Industry application Data
of the example, the encoding method is designated by the BER of integer encoding
method; ACCESS field is used to specify the access permissions of the health
monitoring information. Its value is usually read-only, read and write, only write, can not be accessed; DESCRIPTION field can be used to set the description and the
significance of the monitored object; Symbol ": =" can be understood as the meaning of "defined as"; The parentobjectidentifier can be used to specify the object identifier of
the current node’s parent. The number represents the index number of the current node.
The parentobjectidentifier and number together constitute the object identifier (OID) of
the current node.
Data Encoding
The unified data publishing protocol in health big data processing uses the BER
encoding rules for health monitoring data encoding and decoding solution. BER
encoding is the basic encoding rule of the ASN.1, it describes how the specific ASN.1
object is encoded to a series of bit stream over the Internet. The format of the BER
transfer syntax is the TLV triad such as < Type, Length, Value>. Each domain of the TLV is a series of eight-bit group, for composite structures, V can also be the TLV triad.
The format of the BER transfer syntax is shown in Fig.2. Type domain represents the
type of the value. Length domain represents the length of content bytes. Value domain
gives a specific value for simple fixed-length encoding method. For structured method, it gives a series of BER encoding of the content.
Figure 2. The format of the BER transfer syntax.
The encoding of the systolic pressure for a monitored person is as follows:
Systolic_pressure integer ::= 127
Class = Universal
P/C = Primitive Type = 2 (integer)
Length = 1 byte
Content = 127
Then the BER encoding of the systolic pressure is as follows: Type:00 0 00010(0x02)
Length:01
Content:7F
BER encoding of the systolic pressure:02 01 7F
Data Organization Structure
HMIB defines the collection of monitored objects, which is a database that contains the
monitored data object definition. All monitored data will be pre-defined here. It defines a series of properties of the monitored data objects: the name of the object, the type of data and the way of visiting and the object identifier. HMIB can also be regarded as a
bridge between the client and the server. The client communicates with the server with same HMIB.
HMIB organizes all monitored information in a hierarchical structure of the tree [13].
It's so easy to expand the monitored information set. The organization format of the health monitoring data set is shown in Fig.3. Root node Health-Info is in the first level.
There are 20 nodes in the second level. Each node contains a number of monitored data objects.
Figure 3. The organization format of the Health Monitoring Data Set.
Each monitored object has an object identifier. The object identifier obtains the path of the root node to the current node. For example, the node of the hypertension patient attribute table is located in the second-level nodes. Its name is
HealthInfo.highBloodPressureData, whose OID value is “1.15”. The number of the
Systolic_pressure node is 4 in the table, and its name is HealthInfo.
highBloodPressureData.Systolic_pressure, whose OID value is “1.15.4”.
Protocol Packet Structure
The client and the server communicate with each other by the standard message of the unified data publishing protocol. The structure of the data publishing protocol is shown in Fig.4. The message contains three parts: version number, group name and protocol data unit (PDU). Protocol data unit includes: PDU type, request ID, error state, error
[image:4.612.145.470.473.583.2]index and variable bindings.
Figure 4. The structure of the Data Publishing Protocol.
(1) Version-Number: It is protocol version information.
(2) Group-Name: It is a view password between client and server.
(3) PDU-Type: The identifier of the pdu type is an integer number.
(4) Request-ID: The request identifier can be used to be identified.
(5) ERROR-STATUS: It indicates whether the operation is successful. The
explanation of the error state is shown in Table 1.When the server sends the response pdu, it may encounter the following situations: If the response pdu is beyond the length limit, ERROR-STATUS will be set “tooBig” and ERROR-INDEX will be 0, the rest is
Group Name PDU Entity
PDU Type Request ID Error State Error Index Variable bindings
OID 1 Value 1 OID 2 Value 2 ……
IP Head TCP Head Message Entity
Version Number
Health-Info
Personnel Information Physical Examination Data Referral Information
Id Card
Name
Health Record No
Family Address
Temperature
Health Record No
Referral Reason
Recommended Vaccination Name Referral Date Breath Rate
the same as request pdu; If the name of variable in the HMIB does not exist,
ERROR-STATUS will be set “noSuchName”, and ERROR-INDEX will be the index of
the current variable in the variable list, the rest is the same as requestpdu; If the server does not produce the response message correctly for other reasons, ERROR-STATUS
will be set “genErr”, and ERROR-INDEX will be the index of the current variable in the
variable list, the rest is the same as request pdu; If the above situation didn't happen, the response pdu will have a series of variables which contains name and value, and
[image:5.612.124.485.200.285.2]ERROR-STATUS will be set “noErr”, ERROR-INDEX will be 0.
Table 1. The explanation of the error state.
Error State Error Name Description
0 noError Everything is OK.
1 tooBig Server is unable to put all the query results into the response message.
2 noSuchName The current object is not in the health monitoring data set.
3 genErr Other error.
(6) ERROR-INDEX: It is an index where the wrong variable is.
(7) VARIABLE-BINGDINGS-LIST: There is health monitoring data information,
and each item is stored in the form of variable name and value.
Protocol Operation Type
With the perspective of the internet, the unified data publishing protocol is an application layer protocol, it needs to be done by the transport layer protocols of the Internet. The unified data publishing protocol is based on client/server architecture
model, it is in a simple request/response mode, and depends on the transmission interface that TCP protocol provides and the implementation of the socket
communication mechanism [14] [15].
GET
Health monitoring big data cloud platform provides the service of querying data to a third-party application, It provides the interface to get the data, so that the client can visit health monitoring information by calling the specified interface.
The server always opens port 4700 to monitor the request information from the client. When the client sends a GET request message to the server, server starts to
receive byte stream information through the network. After decoding the byte stream information into internal data format, server can parse out the name of health monitoring object that will match with the current OID value. Next, server can query
the health data from the database. Finally, server will return the health data values to the client as a response message.
TRAP
until the client next query. So, it is not desirable in this way to achieve real-time monitoring purposes.
Therefore, it is necessary to find a mechanism to ensure health monitoring cloud platform can actively send warning message to the client. The TRAP operation can
satisfy this demand. First, the client is supposed to open port 4701 to receive warning message. When there is an alarm of the health monitoring data in the cloud platform, server starts to open a new thread and sends the alarm information to the client on port 4701 actively.
Protocol Test
In order to check the effect of health monitoring service, in this paper, we took the systolic blood pressure from the hypertension patient attribute table as retrieval object to do experiment. The OID value of the systolic blood pressure is “1.15.4”. The client
sent the resident identity card information and blood pressure OID to health monitoring
[image:6.612.114.500.294.568.2]cloud platform. Server parsed out the id number and the name of the systolic blood pressure to query from database. Finally, sever sent the results back to the client in the form of the response message.
Figure 5. The result of the client.
Figure 6. The result of the server.
The result of the client is shown in Fig.5. And the result of the server is shown in Fig.6. As for GET operation, the experimental result shows that the ID of the GET
message from the client is 843587673, and the server receives this message on port 4700. After getting the value of the systolic blood pressure from the database, the server sends the response message back to the client. Finally, the client receives the response message with the systolic blood pressure value. As for TRAP operation, the server
sends a TRAP message whose id is 221828747 to the client on port 4701, and the client
receives the TRAP message.
Conclusions
In this article, we studied a unified data publishing protocol in health big data processing and provided the appropriate data publishing rules and data acquisition interface to solve the problem of data publishing. It provides the foundation for exploring for further breakthrough in the field of health big data. So, it is meaningful.
References
[1] Kuo, M., Sahama, T., Kunshniruk, A., Borycki, E., Grunwell, D. Health Big Data Analytics: Current Perspectives, Challenges and Potential Solutions. International Journal of Big Data Intelligence, 2014, 1(1/2): 114-126.
[2] Khoury, M. J., Ioannidis, J. P. A. Big data meets public health[J]. New Zealand Medical Journal, 2014, 93(676):1054-1055.
[3] Murdoch, T. B., Detsky, A. S. The Inevitable Application of Big Data to Health Care[J]. Jama the Journal of the American Medical Association, 2013, 309(13):1351-1352.
[4] Maria, A. R., Sever, P., Carlos, V. Cloud computing for big data from biomedical sensors monitoring, storage and analyze[C]. Grid, Cloud & High-Performance Computing in Science. IEEE, 2015:1-4.
[5] Chen, M., Ma, Y., Song, J., et al. Smart Clothing: Connecting Human with Clouds and Big Data for Sustainable Health Monitoring[J]. Mobile Networks & Applications, 2016:1-21.
[6] Holzmann, G. J. Standardized protocol interfaces[J]. Software Practice & Experience, 1993, 23(7):711-731.Holzmann G J.
[7] Li-Hua, L. I. PLC Remote Monitoring Application Research Based on TCP/IP protocol[J]. Microcomputer Information, 2011.
[8] Luo, H. D. Application and Development of Network Communication Based on TCP/IP Protocol[J]. Qinghai Electric Power, 2007.
[9] Peters, S. G., Buntrock, J. D. Big data and the electronic health record.[J]. Yearbook of Medical Informatics, 2014, 9(1):97-104.
[10] Itu-T. X. Information Technology--Abstract Syntax Notation One (ASN.1): Specification of Basic Notation[J]. Journal of the Chemical Society Faraday Transactions, 2002, 19(1):3553-3553.
[11] Itu-T, R. X. Information technology -- ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)[J]. Iso/iec, 2002.
[12] Gosling, J., Yellin, F. The java application programming interface[C]. Core Packages. 1996:130 - 150.
[14] Feng-Xiang, W. U., Sun, X. S., Yuan, Y. C. Socket programming based on TCP/IP in Java[J]. Journal of Agricultural University of Hebei, 2004.